diff --git a/node_modules/.bin/eslint-config-prettier-check b/node_modules/.bin/eslint-config-prettier similarity index 100% rename from node_modules/.bin/eslint-config-prettier-check rename to node_modules/.bin/eslint-config-prettier diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp deleted file mode 120000 index 017896ceb..000000000 --- a/node_modules/.bin/mkdirp +++ /dev/null @@ -1 +0,0 @@ -../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 50a3aac77..2942d49d0 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -106,21 +106,35 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.5.5", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz", + "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.5.0", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, - "license": "MIT", "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@chrisgavin/safe-which": { @@ -147,18 +161,18 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "0.1.3", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.19", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -168,16 +182,18 @@ }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/@eslint/eslintrc/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", "engines": { "node": ">=8" }, @@ -185,6 +201,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.3", "dev": true, @@ -404,9 +440,10 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.6", - "dev": true, - "license": "MIT" + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", @@ -466,17 +503,18 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz", + "integrity": "sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/experimental-utils": "4.1.0", - "@typescript-eslint/scope-manager": "4.1.0", - "debug": "^4.1.1", + "@typescript-eslint/experimental-utils": "4.28.5", + "@typescript-eslint/scope-manager": "4.28.5", + "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -495,31 +533,18 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": { - "version": "3.17.1", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.5.tgz", + "integrity": "sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.1.0", - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/typescript-estree": "4.1.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.5", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/typescript-estree": "4.28.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -532,15 +557,34 @@ "eslint": "*" } }, - "node_modules/@typescript-eslint/parser": { - "version": "4.1.0", + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "4.1.0", - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/typescript-estree": "4.1.0", - "debug": "^4.1.1" + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.5.tgz", + "integrity": "sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.28.5", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/typescript-estree": "4.28.5", + "debug": "^4.3.1" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -559,12 +603,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz", + "integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/visitor-keys": "4.1.0" + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/visitor-keys": "4.28.5" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -575,9 +620,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz", + "integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==", "dev": true, - "license": "MIT", "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, @@ -587,18 +633,18 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz", + "integrity": "sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/visitor-keys": "4.1.0", - "debug": "^4.1.1", - "globby": "^11.0.1", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/visitor-keys": "4.28.5", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -613,45 +659,13 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { - "version": "11.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": { - "version": "3.17.1", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.1.0", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz", + "integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "4.1.0", + "@typescript-eslint/types": "4.28.5", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -663,9 +677,10 @@ } }, "node_modules/acorn": { - "version": "7.1.1", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -674,9 +689,10 @@ } }, "node_modules/acorn-jsx": { - "version": "5.3.1", + "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", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -694,9 +710,10 @@ } }, "node_modules/ajv": { - "version": "6.12.5", + "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", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -795,12 +812,15 @@ } }, "node_modules/array-includes": { - "version": "3.1.1", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, - "license": "MIT", "dependencies": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", "is-string": "^1.0.5" }, "engines": { @@ -818,12 +838,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.2.3", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "license": "MIT", "dependencies": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" }, "engines": { "node": ">= 0.4" @@ -849,11 +871,12 @@ } }, "node_modules/astral-regex": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/ava": { @@ -1201,6 +1224,19 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "dev": true, @@ -1474,14 +1510,6 @@ "version": "1.4.1", "license": "MIT" }, - "node_modules/contains-path": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/convert-source-map": { "version": "1.7.0", "dev": true, @@ -1536,11 +1564,20 @@ } }, "node_modules/debug": { - "version": "4.1.1", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decamelize": { @@ -1597,8 +1634,9 @@ }, "node_modules/define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -1676,6 +1714,18 @@ "node": ">=8" } }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dot-prop": { "version": "5.2.0", "dev": true, @@ -1744,21 +1794,27 @@ } }, "node_modules/es-abstract": { - "version": "1.17.6", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", "dev": true, - "license": "MIT", "dependencies": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -1769,8 +1825,9 @@ }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -1799,28 +1856,32 @@ } }, "node_modules/eslint": { - "version": "7.9.0", + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.1.3", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "eslint-scope": "^5.1.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^1.3.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -1828,7 +1889,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -1837,7 +1898,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^5.2.3", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -1852,17 +1913,15 @@ } }, "node_modules/eslint-config-prettier": { - "version": "6.11.0", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", "dev": true, - "license": "MIT", - "dependencies": { - "get-stdin": "^6.0.0" - }, "bin": { - "eslint-config-prettier-check": "bin/cli.js" + "eslint-config-prettier": "bin/cli.js" }, "peerDependencies": { - "eslint": ">=3.14.1" + "eslint": ">=7.0.0" } }, "node_modules/eslint-import-resolver-node": { @@ -1888,11 +1947,12 @@ "license": "MIT" }, "node_modules/eslint-module-utils": { - "version": "2.6.0", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", + "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^2.6.9", + "debug": "^3.2.7", "pkg-dir": "^2.0.0" }, "engines": { @@ -1900,17 +1960,19 @@ } }, "node_modules/eslint-module-utils/node_modules/debug": { - "version": "2.6.9", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/eslint-module-utils/node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -1920,8 +1982,9 @@ }, "node_modules/eslint-module-utils/node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1930,15 +1993,11 @@ "node": ">=4" } }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/eslint-module-utils/node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -1948,8 +2007,9 @@ }, "node_modules/eslint-module-utils/node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -1959,24 +2019,27 @@ }, "node_modules/eslint-module-utils/node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/eslint-module-utils/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/eslint-module-utils/node_modules/pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.1.0" }, @@ -2017,44 +2080,48 @@ } }, "node_modules/eslint-plugin-github": { - "version": "4.1.1", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.1.5.tgz", + "integrity": "sha512-fY+3C8914Efqzmb6ODvL0ZNjv8xxLkwmUasYZ189IY1gL7AxFE9CVED+MZA8B1e+OZtnfTdrQR036t5AYoun0A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": ">=2.25.0", - "@typescript-eslint/parser": ">=2.25.0", - "eslint-config-prettier": ">=6.10.1", - "eslint-plugin-eslint-comments": ">=3.0.1", - "eslint-plugin-import": ">=2.20.1", - "eslint-plugin-prettier": ">=3.1.2", + "@typescript-eslint/eslint-plugin": "^4.20.0", + "@typescript-eslint/parser": "^4.20.0", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.1", "eslint-rule-documentation": ">=1.0.0", - "prettier": ">=1.12.0", - "svg-element-attributes": ">=1.3.1" + "prettier": "^2.2.1", + "svg-element-attributes": "^1.3.1" }, "bin": { "eslint-ignore-errors": "bin/eslint-ignore-errors.js" }, "peerDependencies": { - "eslint": ">=4.19.0" + "eslint": "^7.23.0" } }, "node_modules/eslint-plugin-import": { - "version": "2.22.0", + "version": "2.23.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", + "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, - "license": "MIT", "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.4.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", "tsconfig-paths": "^3.9.0" }, "engines": { @@ -2072,36 +2139,76 @@ "ms": "2.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", + "node_modules/eslint-plugin-import/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/eslint-plugin-import/node_modules/isarray": { - "version": "1.0.0", + "node_modules/eslint-plugin-import/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT" + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.17.0", + "node_modules/eslint-plugin-import/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { - "path-parse": "^1.0.6" + "p-try": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" } }, "node_modules/eslint-plugin-no-async-foreach": { @@ -2116,9 +2223,10 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "3.1.4", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", + "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -2128,6 +2236,11 @@ "peerDependencies": { "eslint": ">=5.0.0", "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, "node_modules/eslint-rule-documentation": { @@ -2250,12 +2363,16 @@ "node": ">=6.0.0" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", + "node_modules/eslint/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==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/has-flag": { @@ -2338,41 +2455,33 @@ } }, "node_modules/espree": { - "version": "7.3.0", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", - "acorn-jsx": "^5.2.0", + "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.0", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esquery": { - "version": "1.3.1", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2382,8 +2491,9 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2450,8 +2560,9 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -2481,14 +2592,15 @@ } }, "node_modules/file-entry-cache": { - "version": "5.0.1", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=4" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/file-url": { @@ -2529,33 +2641,23 @@ } }, "node_modules/flat-cache": { - "version": "2.0.1", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "license": "MIT", "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { - "version": "2.0.2", - "dev": true, - "license": "ISC" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", + "dev": true }, "node_modules/fs": { "version": "0.0.1-security", @@ -2588,8 +2690,9 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -2604,12 +2707,18 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-stdin": { - "version": "6.0.0", + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-stream": { @@ -2683,9 +2792,10 @@ } }, "node_modules/glob-parent": { - "version": ">=5.1.2", + "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", "dependencies": { "is-glob": "^4.0.1" }, @@ -2705,11 +2815,12 @@ } }, "node_modules/globals": { - "version": "12.4.0", + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" @@ -2719,9 +2830,10 @@ } }, "node_modules/globby": { - "version": "11.0.0", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2764,8 +2876,9 @@ }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -2773,6 +2886,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "license": "MIT", @@ -2781,9 +2903,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2823,21 +2946,26 @@ "license": "ISC" }, "node_modules/import-fresh": { - "version": "3.2.1", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "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/import-fresh/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==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -2911,6 +3039,15 @@ "dev": true, "license": "MIT" }, + "node_modules/is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "dev": true, @@ -2922,14 +3059,30 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-buffer": { "version": "1.1.6", "license": "MIT" }, "node_modules/is-callable": { - "version": "1.2.1", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2948,10 +3101,23 @@ "is-ci": "bin.js" } }, - "node_modules/is-date-object": { - "version": "1.0.2", + "node_modules/is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3015,11 +3181,15 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.0", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-npm": { @@ -3038,6 +3208,18 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-obj": { "version": "2.0.0", "dev": true, @@ -3079,11 +3261,13 @@ "license": "MIT" }, "node_modules/is-regex": { - "version": "1.1.1", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3093,9 +3277,10 @@ } }, "node_modules/is-string": { - "version": "1.0.5", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3104,11 +3289,12 @@ } }, "node_modules/is-symbol": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3155,8 +3341,9 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.13.1", @@ -3192,8 +3379,9 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -3362,6 +3550,12 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "node_modules/lodash.upperfirst": { "version": "4.3.1", "dev": true, @@ -3390,6 +3584,17 @@ "node": ">=0.10.0" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-dir": { "version": "3.0.2", "dev": true, @@ -3540,17 +3745,6 @@ "dev": true, "license": "MIT" }, - "node_modules/mkdirp": { - "version": "0.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/ms": { "version": "2.1.2", "dev": true, @@ -3634,28 +3828,31 @@ } }, "node_modules/object-inspect": { - "version": "1.8.0", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", "dev": true, - "license": "MIT", "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", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.1", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, @@ -3666,40 +3863,15 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.assign/node_modules/es-abstract": { - "version": "1.18.0-next.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { - "version": "1.1.1", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, - "license": "MIT", "dependencies": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "es-abstract": "^1.18.2" }, "engines": { "node": ">= 0.4" @@ -3893,8 +4065,9 @@ }, "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==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -4036,6 +4209,85 @@ "node": ">=8" } }, + "node_modules/pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/plur": { "version": "4.0.0", "dev": true, @@ -4067,9 +4319,10 @@ } }, "node_modules/prettier": { - "version": "2.1.1", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -4079,8 +4332,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -4136,8 +4390,9 @@ }, "node_modules/punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -4198,12 +4453,13 @@ } }, "node_modules/read-pkg-up": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "read-pkg": "^3.0.0" }, "engines": { "node": ">=4" @@ -4211,8 +4467,9 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -4221,13 +4478,14 @@ } }, "node_modules/read-pkg-up/node_modules/load-json-file": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", + "parse-json": "^4.0.0", + "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { @@ -4236,8 +4494,9 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -4248,8 +4507,9 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -4259,8 +4519,9 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -4270,39 +4531,52 @@ }, "node_modules/read-pkg-up/node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/path-type": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^2.0.0" + "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "2.0.0", + "node_modules/read-pkg-up/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, - "license": "MIT", "dependencies": { - "load-json-file": "^2.0.0", + "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^3.0.0" }, "engines": { "node": ">=4" @@ -4393,6 +4667,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "dev": true, @@ -4407,10 +4690,12 @@ } }, "node_modules/resolve": { - "version": "1.13.1", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, - "license": "MIT", "dependencies": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" }, "funding": { @@ -4490,8 +4775,12 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.3.2", - "license": "ISC", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -4616,14 +4905,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/astral-regex": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/slice-ansi/node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -4708,24 +4989,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.1", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, - "license": "MIT", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.1", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, - "license": "MIT", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4836,67 +5119,92 @@ } }, "node_modules/table": { - "version": "5.4.6", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10.0.0" } }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", + "node_modules/table/node_modules/ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, - "license": "MIT" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "node_modules/table/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", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/table/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/table/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 + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/table/node_modules/slice-ansi": { - "version": "2.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "node": ">=10" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/temp-dir": { @@ -4997,9 +5305,25 @@ } }, "node_modules/tslib": { - "version": "1.11.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "license": "Apache-2.0" + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } }, "node_modules/tunnel": { "version": "0.0.6", @@ -5028,11 +5352,15 @@ } }, "node_modules/type-fest": { - "version": "0.8.1", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/typedarray-to-buffer": { @@ -5055,6 +5383,21 @@ "node": ">=4.2.0" } }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/unique-string": { "version": "2.0.0", "dev": true, @@ -5166,9 +5509,10 @@ } }, "node_modules/uri-js": { - "version": "4.4.0", + "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", "dependencies": { "punycode": "^2.1.0" } @@ -5228,6 +5572,22 @@ "node": ">=6" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "dev": true, @@ -5284,17 +5644,6 @@ "version": "1.0.2", "license": "ISC" }, - "node_modules/write": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/write-file-atomic": { "version": "3.0.3", "dev": true, @@ -5319,6 +5668,11 @@ "dev": true, "license": "ISC" }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/yargs": { "version": "15.3.1", "dev": true, diff --git a/node_modules/@babel/code-frame/README.md b/node_modules/@babel/code-frame/README.md index 185f93d24..08cacb047 100644 --- a/node_modules/@babel/code-frame/README.md +++ b/node_modules/@babel/code-frame/README.md @@ -2,7 +2,7 @@ > Generate errors that contain a code frame that point to source locations. -See our website [@babel/code-frame](https://babeljs.io/docs/en/next/babel-code-frame.html) for more information. +See our website [@babel/code-frame](https://babeljs.io/docs/en/babel-code-frame) for more information. ## Install diff --git a/node_modules/@babel/code-frame/lib/index.js b/node_modules/@babel/code-frame/lib/index.js index 35176fbc0..28d86f7bc 100644 --- a/node_modules/@babel/code-frame/lib/index.js +++ b/node_modules/@babel/code-frame/lib/index.js @@ -6,17 +6,11 @@ Object.defineProperty(exports, "__esModule", { exports.codeFrameColumns = codeFrameColumns; exports.default = _default; -function _highlight() { - const data = _interopRequireWildcard(require("@babel/highlight")); +var _highlight = _interopRequireWildcard(require("@babel/highlight")); - _highlight = function () { - return data; - }; +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - return data; -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } let deprecationWarningShown = false; @@ -94,8 +88,8 @@ function getMarkerLines(loc, source, opts) { } function codeFrameColumns(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight().shouldHighlight)(opts); - const chalk = (0, _highlight().getChalk)(opts); + const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); + const chalk = (0, _highlight.getChalk)(opts); const defs = getDefs(chalk); const maybeHighlight = (chalkFn, string) => { @@ -110,7 +104,7 @@ function codeFrameColumns(rawLines, loc, opts = {}) { } = getMarkerLines(loc, lines, opts); const hasColumns = loc.start && typeof loc.start.column === "number"; const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight().default)(rawLines, opts) : rawLines; + const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => { const number = start + 1 + index; const paddedNumber = ` ${number}`.slice(-numberMaxWidth); diff --git a/node_modules/@babel/code-frame/package.json b/node_modules/@babel/code-frame/package.json index ce0bf0f62..07a28a6bd 100644 --- a/node_modules/@babel/code-frame/package.json +++ b/node_modules/@babel/code-frame/package.json @@ -1,6 +1,6 @@ { "name": "@babel/code-frame", - "version": "7.5.5", + "version": "7.12.11", "description": "Generate errors that contain a code frame that point to source locations.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,14 +8,18 @@ "publishConfig": { "access": "public" }, - "repository": "https://github.com/babel/babel/tree/master/packages/babel-code-frame", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-code-frame" + }, "main": "lib/index.js", "dependencies": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.10.4" }, "devDependencies": { + "@types/chalk": "^2.0.0", "chalk": "^2.0.0", "strip-ansi": "^4.0.0" - }, - "gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43" + } } \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/LICENSE b/node_modules/@babel/helper-validator-identifier/LICENSE new file mode 100644 index 000000000..f31575ec7 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@babel/helper-validator-identifier/README.md b/node_modules/@babel/helper-validator-identifier/README.md new file mode 100644 index 000000000..6733576a8 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/README.md @@ -0,0 +1,19 @@ +# @babel/helper-validator-identifier + +> Validate identifier/keywords name + +See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/en/babel-helper-validator-identifier) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-validator-identifier +``` + +or using yarn: + +```sh +yarn add @babel/helper-validator-identifier --dev +``` diff --git a/node_modules/@babel/helper-validator-identifier/lib/identifier.js b/node_modules/@babel/helper-validator-identifier/lib/identifier.js new file mode 100644 index 000000000..71310db1f --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/identifier.js @@ -0,0 +1,84 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isIdentifierStart = isIdentifierStart; +exports.isIdentifierChar = isIdentifierChar; +exports.isIdentifierName = isIdentifierName; +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + +function isInAstralSet(code, set) { + let pos = 0x10000; + + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} + +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +function isIdentifierName(name) { + let isFirst = true; + + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + + if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + if (isFirst) { + isFirst = false; + + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + + return !isFirst; +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/lib/index.js b/node_modules/@babel/helper-validator-identifier/lib/index.js new file mode 100644 index 000000000..7b623c90a --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/index.js @@ -0,0 +1,57 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function () { + return _identifier.isIdentifierName; + } +}); +Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function () { + return _identifier.isIdentifierChar; + } +}); +Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function () { + return _identifier.isIdentifierStart; + } +}); +Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function () { + return _keyword.isReservedWord; + } +}); +Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictBindOnlyReservedWord; + } +}); +Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictBindReservedWord; + } +}); +Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function () { + return _keyword.isStrictReservedWord; + } +}); +Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function () { + return _keyword.isKeyword; + } +}); + +var _identifier = require("./identifier"); + +var _keyword = require("./keyword"); \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/lib/keyword.js b/node_modules/@babel/helper-validator-identifier/lib/keyword.js new file mode 100644 index 000000000..110cee400 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/lib/keyword.js @@ -0,0 +1,38 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isReservedWord = isReservedWord; +exports.isStrictReservedWord = isStrictReservedWord; +exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; +exports.isStrictBindReservedWord = isStrictBindReservedWord; +exports.isKeyword = isKeyword; +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} + +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} + +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} + +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} + +function isKeyword(word) { + return keywords.has(word); +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/package.json b/node_modules/@babel/helper-validator-identifier/package.json new file mode 100644 index 000000000..cf138d6f2 --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/package.json @@ -0,0 +1,26 @@ +{ + "name": "@babel/helper-validator-identifier", + "version": "7.14.8", + "description": "Validate identifier/keywords name", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-validator-identifier" + }, + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "exports": "./lib/index.js", + "devDependencies": { + "@babel/helper-validator-identifier-baseline": "npm:@babel/helper-validator-identifier@7.10.4", + "@unicode/unicode-13.0.0": "^1.0.6", + "benchmark": "^2.1.4", + "charcodes": "^0.2.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js b/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js new file mode 100644 index 000000000..45276d51b --- /dev/null +++ b/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js @@ -0,0 +1,75 @@ +"use strict"; + +// Always use the latest available version of Unicode! +// https://tc39.github.io/ecma262/#sec-conformance +const version = "13.0.0"; + +const start = require("@unicode/unicode-" + + version + + "/Binary_Property/ID_Start/code-points.js").filter(function (ch) { + return ch > 0x7f; +}); +let last = -1; +const cont = [0x200c, 0x200d].concat( + require("@unicode/unicode-" + + version + + "/Binary_Property/ID_Continue/code-points.js").filter(function (ch) { + return ch > 0x7f && search(start, ch, last + 1) == -1; + }) +); + +function search(arr, ch, starting) { + for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) { + if (arr[i] === ch) return i; + } + return -1; +} + +function pad(str, width) { + while (str.length < width) str = "0" + str; + return str; +} + +function esc(code) { + const hex = code.toString(16); + if (hex.length <= 2) return "\\x" + pad(hex, 2); + else return "\\u" + pad(hex, 4); +} + +function generate(chars) { + const astral = []; + let re = ""; + for (let i = 0, at = 0x10000; i < chars.length; i++) { + const from = chars[i]; + let to = from; + while (i < chars.length - 1 && chars[i + 1] == to + 1) { + i++; + to++; + } + if (to <= 0xffff) { + if (from == to) re += esc(from); + else if (from + 1 == to) re += esc(from) + esc(to); + else re += esc(from) + "-" + esc(to); + } else { + astral.push(from - at, to - from); + at = to; + } + } + return { nonASCII: re, astral: astral }; +} + +const startData = generate(start); +const contData = generate(cont); + +console.log("/* prettier-ignore */"); +console.log('let nonASCIIidentifierStartChars = "' + startData.nonASCII + '";'); +console.log("/* prettier-ignore */"); +console.log('let nonASCIIidentifierChars = "' + contData.nonASCII + '";'); +console.log("/* prettier-ignore */"); +console.log( + "const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";" +); +console.log("/* prettier-ignore */"); +console.log( + "const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";" +); diff --git a/node_modules/@babel/highlight/README.md b/node_modules/@babel/highlight/README.md index 72dae6094..f8887ad2c 100644 --- a/node_modules/@babel/highlight/README.md +++ b/node_modules/@babel/highlight/README.md @@ -2,7 +2,7 @@ > Syntax highlight JavaScript strings for output in terminals. -See our website [@babel/highlight](https://babeljs.io/docs/en/next/babel-highlight.html) for more information. +See our website [@babel/highlight](https://babeljs.io/docs/en/babel-highlight) for more information. ## Install diff --git a/node_modules/@babel/highlight/lib/index.js b/node_modules/@babel/highlight/lib/index.js index 6ac5b4a35..34e308f4e 100644 --- a/node_modules/@babel/highlight/lib/index.js +++ b/node_modules/@babel/highlight/lib/index.js @@ -7,45 +7,19 @@ exports.shouldHighlight = shouldHighlight; exports.getChalk = getChalk; exports.default = highlight; -function _jsTokens() { - const data = _interopRequireWildcard(require("js-tokens")); +var _jsTokens = require("js-tokens"); - _jsTokens = function () { - return data; - }; +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); - return data; -} +var _chalk = require("chalk"); -function _esutils() { - const data = _interopRequireDefault(require("esutils")); - - _esutils = function () { - return data; - }; - - return data; -} - -function _chalk() { - const data = _interopRequireDefault(require("chalk")); - - _chalk = function () { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); function getDefs(chalk) { return { keyword: chalk.cyan, capitalized: chalk.yellow, - jsx_tag: chalk.yellow, + jsxIdentifier: chalk.yellow, punctuator: chalk.yellow, number: chalk.magenta, string: chalk.green, @@ -56,66 +30,79 @@ function getDefs(chalk) { } const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; -const JSX_TAG = /^[a-z][\w-]*$/i; const BRACKET = /^[()[\]{}]$/; +let tokenize; +{ + const JSX_TAG = /^[a-z][\w-]*$/i; -function getTokenType(match) { - const [offset, text] = match.slice(-2); - const token = (0, _jsTokens().matchToToken)(match); + const getTokenType = function (token, offset, text) { + if (token.type === "name") { + if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } - if (token.type === "name") { - if (_esutils().default.keyword.isReservedWordES6(token.value)) { - return "keyword"; + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " colorize(str)).join("\n"); + highlighted += value.split(NEWLINE).map(str => colorize(str)).join("\n"); } else { - return args[0]; + highlighted += value; } - }); + } + + return highlighted; } function shouldHighlight(options) { - return _chalk().default.supportsColor || options.forceColor; + return !!_chalk.supportsColor || options.forceColor; } function getChalk(options) { - let chalk = _chalk().default; - - if (options.forceColor) { - chalk = new (_chalk().default.constructor)({ - enabled: true, - level: 1 - }); - } - - return chalk; + return options.forceColor ? new _chalk.constructor({ + enabled: true, + level: 1 + }) : _chalk; } function highlight(code, options = {}) { diff --git a/node_modules/@babel/highlight/package.json b/node_modules/@babel/highlight/package.json index c958a9e8d..210c22c51 100644 --- a/node_modules/@babel/highlight/package.json +++ b/node_modules/@babel/highlight/package.json @@ -1,22 +1,29 @@ { "name": "@babel/highlight", - "version": "7.5.0", + "version": "7.14.5", "description": "Syntax highlight JavaScript strings for output in terminals.", - "author": "suchipi ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-highlight", "license": "MIT", "publishConfig": { "access": "public" }, - "repository": "https://github.com/babel/babel/tree/master/packages/babel-highlight", - "main": "lib/index.js", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-highlight" + }, + "main": "./lib/index.js", "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" }, "devDependencies": { + "@types/chalk": "^2.0.0", "strip-ansi": "^4.0.0" }, - "gitHead": "49da9a07c81156e997e60146eb001ea77b7044c4" + "engines": { + "node": ">=6.9.0" + } } \ No newline at end of file diff --git a/node_modules/@eslint/eslintrc/CHANGELOG.md b/node_modules/@eslint/eslintrc/CHANGELOG.md index 1e39a092e..3250e1e84 100644 --- a/node_modules/@eslint/eslintrc/CHANGELOG.md +++ b/node_modules/@eslint/eslintrc/CHANGELOG.md @@ -1,3 +1,49 @@ +v0.4.3 - July 17, 2021 + +* [`ce78027`](https://github.com/eslint/eslintrc/commit/ce78027f6a319a29fdf0b78ac1e7071373acffc4) Fix: ensure config files are files (#42) (Tom Jenkinson) +* [`95b1c9b`](https://github.com/eslint/eslintrc/commit/95b1c9b30267479a75cd07768f8f9e9cfa63c105) Chore: pin fs-teardown@0.1.1 (#45) (Milos Djermanovic) +* [`593fbe3`](https://github.com/eslint/eslintrc/commit/593fbe3c2c1c5f723f71810963ed21a56caed4c1) Chore: fix failing test (#44) (Tom Jenkinson) + +v0.4.2 - June 4, 2021 + +* [`cc79a4d`](https://github.com/eslint/eslintrc/commit/cc79a4db45a2ca0236a846ed8eba28eea07d4db5) Upgrade: update globals to version 13.6 (#32) (Rouven Weßling) + +v0.4.1 - May 7, 2021 + +* [`aa38ef4`](https://github.com/eslint/eslintrc/commit/aa38ef40c3123f8f534c7f9b0b7c306f5f011dce) Fix: Properly export module resolver (#34) (Richie Bendall) +* [`62ea4bd`](https://github.com/eslint/eslintrc/commit/62ea4bd74b78fbeff12ffb21f1f978817601d4d1) Build: add node v16 (#33) (薛定谔的猫) +* [`7c43d77`](https://github.com/eslint/eslintrc/commit/7c43d7784e39cf0b7b102af64f703cade11252bb) Chore: add tests for built-in rules config schema validation (fixes #15) (#31) (Milos Djermanovic) +* [`d8ea601`](https://github.com/eslint/eslintrc/commit/d8ea601ecb4b9f81cdc332b012b6b1bbc984366c) Chore: Test on Node 15.x (#30) (Milos Djermanovic) +* [`0b2f80d`](https://github.com/eslint/eslintrc/commit/0b2f80d6f6b33e4c5e168b08468867653f726754) Chore: lint test files (#18) (Milos Djermanovic) + +v0.4.0 - February 27, 2021 + +* [`d9a527b`](https://github.com/eslint/eslintrc/commit/d9a527bdb16af46a28d37fa9022131149970a438) New: Implement DotCompat class (#20) (Nicholas C. Zakas) +* [`dac76c0`](https://github.com/eslint/eslintrc/commit/dac76c035a9ab9d315050f688867373966aab288) Chore: Replace usage of lodash with cache set (#29) (Tim van der Lippe) +* [`3ae2d77`](https://github.com/eslint/eslintrc/commit/3ae2d770cb810c026de817e6861e25dac111da9f) Update: add AggregateError global to es2021 environment (#28) (Milos Djermanovic) + +v0.3.0 - January 15, 2021 + +* [`5184490`](https://github.com/eslint/eslintrc/commit/51844902bc4132f264f05a0614f2cdeb89290f68) Upgrade: lodash@4.17.20 (#24) (Milos Djermanovic) +* [`f1179c5`](https://github.com/eslint/eslintrc/commit/f1179c587ae09fabb5c3402598363cfcec2494f7) Update: Implement missing functionality from ESLint port (fixes #12) (#23) (Nicholas C. Zakas) + +v0.2.2 - December 5, 2020 + +* [`1746840`](https://github.com/eslint/eslintrc/commit/17468407c1baf05747cb261c91f7f7b7c2a82422) Fix: include loadRules in internalSlotsMap cache (#19) (Henry Q. Dineen) +* [`f30bb49`](https://github.com/eslint/eslintrc/commit/f30bb4935aaf3f4c1b268490da495a59647e58d8) Chore: Test fixes for CascadingConfigArrayFactory (#17) (Nicholas C. Zakas) +* [`4440df8`](https://github.com/eslint/eslintrc/commit/4440df8237a127e15cbde5c697353e1224f12ec1) Chore: Fix config-array tests (#16) (Nicholas C. Zakas) +* [`7890e02`](https://github.com/eslint/eslintrc/commit/7890e027df530a0fb53bcf5751c8c7a008b2a494) Chore: Test fixes for config-array-factory.js (#13) (Nicholas C. Zakas) + +v0.2.1 - October 26, 2020 + +* [`8b202ff`](https://github.com/eslint/eslintrc/commit/8b202ff866a39efdaad6394fde9f88372afbfca8) Fix: validate schema for built-in rules (#14) (Milos Djermanovic) +* [`04f3cae`](https://github.com/eslint/eslintrc/commit/04f3cae17fe07b2fd0b74fd3e88482b3094e75e3) Fix: cache compiled config schema (#9) (Milos Djermanovic) + +v0.2.0 - October 16, 2020 + +* [`cb12255`](https://github.com/eslint/eslintrc/commit/cb12255b85390e932e1942e479c2c97310149390) Update: Allow eslint:all and eslint:recommended paths to be passed in (#11) (Nicholas C. Zakas) +* [`a75bacd`](https://github.com/eslint/eslintrc/commit/a75bacd9a743a7bbcdb8c59e5d4f9de3dc8b0f20) Chore: use GitHub Actions (#10) (Milos Djermanovic) + v0.1.3 - September 1, 2020 * [`8647a61`](https://github.com/eslint/eslintrc/commit/8647a61991fe121f923d33e96232475209b78210) Fix: version number and eslint-release version (refs #6) (Nicholas C. Zakas) diff --git a/node_modules/@eslint/eslintrc/README.md b/node_modules/@eslint/eslintrc/README.md index cd65564e6..11ff46ec0 100644 --- a/node_modules/@eslint/eslintrc/README.md +++ b/node_modules/@eslint/eslintrc/README.md @@ -4,7 +4,7 @@ This repository contains the legacy ESLintRC configuration file format for ESLin **Note:** This package is not intended for use outside of the ESLint ecosystem. It is ESLint-specific and not intended for use in other programs. -## Usage +## Installation You can install the package as follows: @@ -16,6 +16,46 @@ npm install @eslint/eslintrc --save-dev yarn add @eslint/eslintrc -D ``` +## Future Usage + +**Note:** This package is not intended for public use at this time. The following is an example of how it will be used in the future. + +The primary class in this package is `FlatCompat`, which is a utility to translate ESLintRC-style configs into flat configs. Here's how you use it inside of your `eslint.config.js` file: + +```js +import { FlatCompat } from "@eslint/eslintrc"; + +const compat = new FlatCompat(); + +export default [ + + // mimic ESLintRC-style extends + compat.extends("standard", "example"), + + // mimic environments + compat.env({ + es2020: true, + node: true + }), + + // mimic plugins + compat.plugins("airbnb", "react"), + + // translate an entire config + compat.config({ + plugins: ["airbnb", "react"], + extends: "standard", + env: { + es2020: true, + node: true + }, + rules: { + semi: "error" + } + }) +]; +``` + ## License MIT License diff --git a/node_modules/@eslint/eslintrc/conf/category-list.json b/node_modules/@eslint/eslintrc/conf/category-list.json deleted file mode 100644 index cd3b816b6..000000000 --- a/node_modules/@eslint/eslintrc/conf/category-list.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "categories": [ - { "name": "Possible Errors", "description": "These rules relate to possible syntax or logic errors in JavaScript code:" }, - { "name": "Best Practices", "description": "These rules relate to better ways of doing things to help you avoid problems:" }, - { "name": "Strict Mode", "description": "These rules relate to strict mode directives:" }, - { "name": "Variables", "description": "These rules relate to variable declarations:" }, - { "name": "Stylistic Issues", "description": "These rules relate to style guidelines, and are therefore quite subjective:" }, - { "name": "ECMAScript 6", "description": "These rules relate to ES6, also known as ES2015:" } - ], - "deprecated": { - "name": "Deprecated", - "description": "These rules have been deprecated in accordance with the deprecation policy, and replaced by newer rules:", - "rules": [] - }, - "removed": { - "name": "Removed", - "description": "These rules from older versions of ESLint (before the deprecation policy existed) have been replaced by newer rules:", - "rules": [ - { "removed": "generator-star", "replacedBy": ["generator-star-spacing"] }, - { "removed": "global-strict", "replacedBy": ["strict"] }, - { "removed": "no-arrow-condition", "replacedBy": ["no-confusing-arrow", "no-constant-condition"] }, - { "removed": "no-comma-dangle", "replacedBy": ["comma-dangle"] }, - { "removed": "no-empty-class", "replacedBy": ["no-empty-character-class"] }, - { "removed": "no-empty-label", "replacedBy": ["no-labels"] }, - { "removed": "no-extra-strict", "replacedBy": ["strict"] }, - { "removed": "no-reserved-keys", "replacedBy": ["quote-props"] }, - { "removed": "no-space-before-semi", "replacedBy": ["semi-spacing"] }, - { "removed": "no-wrap-func", "replacedBy": ["no-extra-parens"] }, - { "removed": "space-after-function-name", "replacedBy": ["space-before-function-paren"] }, - { "removed": "space-after-keywords", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-before-function-parentheses", "replacedBy": ["space-before-function-paren"] }, - { "removed": "space-before-keywords", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-in-brackets", "replacedBy": ["object-curly-spacing", "array-bracket-spacing"] }, - { "removed": "space-return-throw-case", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-unary-word-ops", "replacedBy": ["space-unary-ops"] }, - { "removed": "spaced-line-comment", "replacedBy": ["spaced-comment"] } - ] - } -} diff --git a/node_modules/@eslint/eslintrc/conf/default-cli-options.js b/node_modules/@eslint/eslintrc/conf/default-cli-options.js deleted file mode 100644 index e09a829d1..000000000 --- a/node_modules/@eslint/eslintrc/conf/default-cli-options.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @fileoverview Default CLIEngineOptions. - * @author Ian VanSchooten - */ - -"use strict"; - -module.exports = { - configFile: null, - baseConfig: false, - rulePaths: [], - useEslintrc: true, - envs: [], - globals: [], - extensions: null, - ignore: true, - ignorePath: void 0, - cache: false, - - /* - * in order to honor the cacheFile option if specified - * this option should not have a default value otherwise - * it will always be used - */ - cacheLocation: "", - cacheFile: ".eslintcache", - fix: false, - allowInlineConfig: true, - reportUnusedDisableDirectives: void 0, - globInputPaths: true -}; diff --git a/node_modules/@eslint/eslintrc/conf/environments.js b/node_modules/@eslint/eslintrc/conf/environments.js index d3237c725..757c9fe69 100644 --- a/node_modules/@eslint/eslintrc/conf/environments.js +++ b/node_modules/@eslint/eslintrc/conf/environments.js @@ -45,6 +45,7 @@ const newGlobals2020 = { }; const newGlobals2021 = { + AggregateError: false, FinalizationRegistry: false, WeakRef: false }; diff --git a/node_modules/@eslint/eslintrc/conf/eslint-all.js b/node_modules/@eslint/eslintrc/conf/eslint-all.js index cdd8a3e47..859811c8d 100644 --- a/node_modules/@eslint/eslintrc/conf/eslint-all.js +++ b/node_modules/@eslint/eslintrc/conf/eslint-all.js @@ -1,32 +1,12 @@ /** - * @fileoverview Config to enable all rules. - * @author Robert Fletcher + * @fileoverview Stub eslint:all config + * @author Nicholas C. Zakas */ "use strict"; -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -// FIXME: "../lib/rules" doesn't exist in this package -const builtInRules = require("../lib/rules"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const allRules = {}; - -for (const [ruleId, rule] of builtInRules) { - if (!rule.meta.deprecated) { - allRules[ruleId] = "error"; +module.exports = { + settings: { + "eslint:all": true } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** @type {import("../lib/shared/types").ConfigData} */ -module.exports = { rules: allRules }; +}; diff --git a/node_modules/@eslint/eslintrc/conf/eslint-recommended.js b/node_modules/@eslint/eslintrc/conf/eslint-recommended.js index 2137685fb..96300919a 100644 --- a/node_modules/@eslint/eslintrc/conf/eslint-recommended.js +++ b/node_modules/@eslint/eslintrc/conf/eslint-recommended.js @@ -1,72 +1,12 @@ /** - * @fileoverview Configuration applied when a user configuration extends from - * eslint:recommended. + * @fileoverview Stub eslint:recommended config * @author Nicholas C. Zakas */ "use strict"; -/* eslint sort-keys: ["error", "asc"] */ - -/** @type {import("../lib/shared/types").ConfigData} */ module.exports = { - rules: { - "constructor-super": "error", - "for-direction": "error", - "getter-return": "error", - "no-async-promise-executor": "error", - "no-case-declarations": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "error", - "no-const-assign": "error", - "no-constant-condition": "error", - "no-control-regex": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-args": "error", - "no-dupe-class-members": "error", - "no-dupe-else-if": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-ex-assign": "error", - "no-extra-boolean-cast": "error", - "no-extra-semi": "error", - "no-fallthrough": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-import-assign": "error", - "no-inner-declarations": "error", - "no-invalid-regexp": "error", - "no-irregular-whitespace": "error", - "no-misleading-character-class": "error", - "no-mixed-spaces-and-tabs": "error", - "no-new-symbol": "error", - "no-obj-calls": "error", - "no-octal": "error", - "no-prototype-builtins": "error", - "no-redeclare": "error", - "no-regex-spaces": "error", - "no-self-assign": "error", - "no-setter-return": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-this-before-super": "error", - "no-undef": "error", - "no-unexpected-multiline": "error", - "no-unreachable": "error", - "no-unsafe-finally": "error", - "no-unsafe-negation": "error", - "no-unused-labels": "error", - "no-unused-vars": "error", - "no-useless-catch": "error", - "no-useless-escape": "error", - "no-with": "error", - "require-yield": "error", - "use-isnan": "error", - "valid-typeof": "error" + settings: { + "eslint:recommended": true } }; diff --git a/node_modules/@eslint/eslintrc/conf/replacements.json b/node_modules/@eslint/eslintrc/conf/replacements.json deleted file mode 100644 index c047811e6..000000000 --- a/node_modules/@eslint/eslintrc/conf/replacements.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rules": { - "generator-star": ["generator-star-spacing"], - "global-strict": ["strict"], - "no-arrow-condition": ["no-confusing-arrow", "no-constant-condition"], - "no-comma-dangle": ["comma-dangle"], - "no-empty-class": ["no-empty-character-class"], - "no-empty-label": ["no-labels"], - "no-extra-strict": ["strict"], - "no-reserved-keys": ["quote-props"], - "no-space-before-semi": ["semi-spacing"], - "no-wrap-func": ["no-extra-parens"], - "space-after-function-name": ["space-before-function-paren"], - "space-after-keywords": ["keyword-spacing"], - "space-before-function-parentheses": ["space-before-function-paren"], - "space-before-keywords": ["keyword-spacing"], - "space-in-brackets": ["object-curly-spacing", "array-bracket-spacing", "computed-property-spacing"], - "space-return-throw-case": ["keyword-spacing"], - "space-unary-word-ops": ["space-unary-ops"], - "spaced-line-comment": ["spaced-comment"] - } -} diff --git a/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js b/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js index a6933964e..c991c24b6 100644 --- a/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +++ b/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js @@ -36,9 +36,10 @@ const debug = require("debug")("eslintrc:cascading-config-array-factory"); //------------------------------------------------------------------------------ // Define types for VSCode IntelliSense. -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").Parser} Parser */ -/** @typedef {import("../shared/types").Plugin} Plugin */ +/** @typedef {import("./shared/types").ConfigData} ConfigData */ +/** @typedef {import("./shared/types").Parser} Parser */ +/** @typedef {import("./shared/types").Plugin} Plugin */ +/** @typedef {import("./shared/types").Rule} Rule */ /** @typedef {ReturnType} ConfigArray */ /** @@ -51,6 +52,11 @@ const debug = require("debug")("eslintrc:cascading-config-array-factory"); * @property {string[]} [rulePaths] The value of `--rulesdir` option. * @property {string} [specificConfigPath] The value of `--config` option. * @property {boolean} [useEslintrc] if `false` then it doesn't load config files. + * @property {Function} loadRules The function to use to load rules. + * @property {Map} builtInRules The rules that are built in to ESLint. + * @property {Object} [resolver=ModuleResolver] The module resolver object. + * @property {string} eslintAllPath The path to the definitions for eslint:all. + * @property {string} eslintRecommendedPath The path to the definitions for eslint:recommended. */ /** @@ -67,6 +73,11 @@ const debug = require("debug")("eslintrc:cascading-config-array-factory"); * @property {string[]|null} rulePaths The value of `--rulesdir` option. This is used to reset `baseConfigArray`. * @property {string|null} specificConfigPath The value of `--config` option. This is used to reset `cliConfigArray`. * @property {boolean} useEslintrc if `false` then it doesn't load config files. + * @property {Function} loadRules The function to use to load rules. + * @property {Map} builtInRules The rules that are built in to ESLint. + * @property {Object} [resolver=ModuleResolver] The module resolver object. + * @property {string} eslintAllPath The path to the definitions for eslint:all. + * @property {string} eslintRecommendedPath The path to the definitions for eslint:recommended. */ /** @type {WeakMap} */ @@ -205,14 +216,18 @@ class CascadingConfigArrayFactory { useEslintrc = true, builtInRules = new Map(), loadRules, - resolver + resolver, + eslintRecommendedPath, + eslintAllPath } = {}) { const configArrayFactory = new ConfigArrayFactory({ additionalPluginPool, cwd, resolvePluginsRelativeTo, builtInRules, - resolver + resolver, + eslintRecommendedPath, + eslintAllPath }); internalSlotsMap.set(this, { @@ -240,7 +255,9 @@ class CascadingConfigArrayFactory { ignorePath, rulePaths, specificConfigPath, - useEslintrc + useEslintrc, + builtInRules, + loadRules }); } @@ -423,7 +440,8 @@ class CascadingConfigArrayFactory { cliConfigArray, configArrayFactory, finalizeCache, - useEslintrc + useEslintrc, + builtInRules } = internalSlotsMap.get(this); let finalConfigArray = finalizeCache.get(configArray); @@ -469,7 +487,7 @@ class CascadingConfigArrayFactory { // Validate rule settings and environments. const validator = new ConfigValidator({ - builtInRules: configArrayFactory.builtInRules + builtInRules }); validator.validateConfigArray(finalConfigArray); diff --git a/node_modules/@eslint/eslintrc/lib/config-array-factory.js b/node_modules/@eslint/eslintrc/lib/config-array-factory.js index 97f8b5cb2..406601c24 100644 --- a/node_modules/@eslint/eslintrc/lib/config-array-factory.js +++ b/node_modules/@eslint/eslintrc/lib/config-array-factory.js @@ -58,8 +58,6 @@ const debug = require("debug")("eslintrc:config-array-factory"); // Helpers //------------------------------------------------------------------------------ -const eslintRecommendedPath = path.resolve(__dirname, "../../eslint/conf/eslint-recommended.js"); -const eslintAllPath = path.resolve(__dirname, "../../eslint/conf/eslint-all.js"); const configFilenames = [ ".eslintrc.js", ".eslintrc.cjs", @@ -71,10 +69,11 @@ const configFilenames = [ ]; // Define types for VSCode IntelliSense. -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").OverrideConfigData} OverrideConfigData */ -/** @typedef {import("../shared/types").Parser} Parser */ -/** @typedef {import("../shared/types").Plugin} Plugin */ +/** @typedef {import("./shared/types").ConfigData} ConfigData */ +/** @typedef {import("./shared/types").OverrideConfigData} OverrideConfigData */ +/** @typedef {import("./shared/types").Parser} Parser */ +/** @typedef {import("./shared/types").Plugin} Plugin */ +/** @typedef {import("./shared/types").Rule} Rule */ /** @typedef {import("./config-array/config-dependency").DependentParser} DependentParser */ /** @typedef {import("./config-array/config-dependency").DependentPlugin} DependentPlugin */ /** @typedef {ConfigArray[0]} ConfigArrayElement */ @@ -84,6 +83,10 @@ const configFilenames = [ * @property {Map} [additionalPluginPool] The map for additional plugins. * @property {string} [cwd] The path to the current working directory. * @property {string} [resolvePluginsRelativeTo] A path to the directory that plugins should be resolved from. Defaults to `cwd`. + * @property {Map} builtInRules The rules that are built in to ESLint. + * @property {Object} [resolver=ModuleResolver] The module resolver object. + * @property {string} eslintAllPath The path to the definitions for eslint:all. + * @property {string} eslintRecommendedPath The path to the definitions for eslint:recommended. */ /** @@ -91,6 +94,10 @@ const configFilenames = [ * @property {Map} additionalPluginPool The map for additional plugins. * @property {string} cwd The path to the current working directory. * @property {string | undefined} resolvePluginsRelativeTo An absolute path the the directory that plugins should be resolved from. + * @property {Map} builtInRules The rules that are built in to ESLint. + * @property {Object} [resolver=ModuleResolver] The module resolver object. + * @property {string} eslintAllPath The path to the definitions for eslint:all. + * @property {string} eslintRecommendedPath The path to the definitions for eslint:recommended. */ /** @@ -274,14 +281,15 @@ function loadESLintIgnoreFile(filePath) { * Creates an error to notify about a missing config to extend from. * @param {string} configName The name of the missing config. * @param {string} importerName The name of the config that imported the missing config + * @param {string} messageTemplate The text template to source error strings from. * @returns {Error} The error object to throw * @private */ -function configMissingError(configName, importerName) { +function configInvalidError(configName, importerName, messageTemplate) { return Object.assign( new Error(`Failed to load config "${configName}" to extend from.`), { - messageTemplate: "extend-config-missing", + messageTemplate, messageData: { configName, importerName } } ); @@ -414,7 +422,9 @@ class ConfigArrayFactory { cwd = process.cwd(), resolvePluginsRelativeTo, builtInRules, - resolver = ModuleResolver + resolver = ModuleResolver, + eslintAllPath, + eslintRecommendedPath } = {}) { internalSlotsMap.set(this, { additionalPluginPool, @@ -423,7 +433,9 @@ class ConfigArrayFactory { resolvePluginsRelativeTo && path.resolve(cwd, resolvePluginsRelativeTo), builtInRules, - resolver + resolver, + eslintAllPath, + eslintRecommendedPath }); } @@ -483,7 +495,7 @@ class ConfigArrayFactory { basePath ); - if (fs.existsSync(ctx.filePath)) { + if (fs.existsSync(ctx.filePath) && fs.statSync(ctx.filePath).isFile()) { let configData; try { @@ -781,6 +793,8 @@ class ConfigArrayFactory { * @private */ _loadExtendedBuiltInConfig(extendName, ctx) { + const { eslintAllPath, eslintRecommendedPath } = internalSlotsMap.get(this); + if (extendName === "eslint:recommended") { return this._loadConfigData({ ...ctx, @@ -796,7 +810,7 @@ class ConfigArrayFactory { }); } - throw configMissingError(extendName, ctx.name); + throw configInvalidError(extendName, ctx.name, "extend-config-missing"); } /** @@ -808,6 +822,11 @@ class ConfigArrayFactory { */ _loadExtendedPluginConfig(extendName, ctx) { const slashIndex = extendName.lastIndexOf("/"); + + if (slashIndex === -1) { + throw configInvalidError(extendName, ctx.filePath, "plugin-invalid"); + } + const pluginName = extendName.slice("plugin:".length, slashIndex); const configName = extendName.slice(slashIndex + 1); @@ -828,7 +847,7 @@ class ConfigArrayFactory { }); } - throw plugin.error || configMissingError(extendName, ctx.filePath); + throw plugin.error || configInvalidError(extendName, ctx.filePath, "extend-config-missing"); } /** @@ -861,7 +880,7 @@ class ConfigArrayFactory { } catch (error) { /* istanbul ignore else */ if (error && error.code === "MODULE_NOT_FOUND") { - throw configMissingError(extendName, ctx.filePath); + throw configInvalidError(extendName, ctx.filePath, "extend-config-missing"); } throw error; } diff --git a/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js b/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js index 6eaec4258..4c16278ee 100644 --- a/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +++ b/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js @@ -36,7 +36,7 @@ const assert = require("assert"); const path = require("path"); const ignore = require("ignore"); -const debug = require("debug")("eslint:ignore-pattern"); +const debug = require("debug")("eslintrc:ignore-pattern"); /** @typedef {ReturnType} Ignore */ diff --git a/node_modules/@eslint/eslintrc/lib/flat-compat.js b/node_modules/@eslint/eslintrc/lib/flat-compat.js new file mode 100644 index 000000000..c0d0ea228 --- /dev/null +++ b/node_modules/@eslint/eslintrc/lib/flat-compat.js @@ -0,0 +1,308 @@ +/** + * @fileoverview Compatibility class for flat config. + * @author Nicholas C. Zakas + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const path = require("path"); +const environments = require("../conf/environments"); +const createDebug = require("debug"); +const { ConfigArrayFactory } = require("./config-array-factory"); + +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + +/** @typedef {import("../../shared/types").Environment} Environment */ +/** @typedef {import("../../shared/types").Processor} Processor */ + +const debug = createDebug("eslintrc:flat-compat"); +const cafactory = Symbol("cafactory"); + +/** + * Translates an ESLintRC-style config object into a flag-config-style config + * object. + * @param {Object} eslintrcConfig An ESLintRC-style config object. + * @param {Object} options Options to help translate the config. + * @param {string} options.resolveConfigRelativeTo To the directory to resolve + * configs from. + * @param {string} options.resolvePluginsRelativeTo The directory to resolve + * plugins from. + * @param {ReadOnlyMap} options.pluginEnvironments A map of plugin environment + * names to objects. + * @param {ReadOnlyMap} options.pluginProcessors A map of plugin processor + * names to objects. + * @returns {Object} A flag-config-style config object. + */ +function translateESLintRC(eslintrcConfig, { + resolveConfigRelativeTo, + resolvePluginsRelativeTo, + pluginEnvironments, + pluginProcessors +}) { + + const flatConfig = {}; + const configs = []; + const languageOptions = {}; + const linterOptions = {}; + const keysToCopy = ["settings", "rules", "processor"]; + const languageOptionsKeysToCopy = ["globals", "parser", "parserOptions"]; + const linterOptionsKeysToCopy = ["noInlineConfig", "reportUnusedDisableDirectives"]; + + // check for special settings for eslint:all and eslint:recommended: + if (eslintrcConfig.settings) { + if (eslintrcConfig.settings["eslint:all"] === true) { + return ["eslint:all"]; + } + + if (eslintrcConfig.settings["eslint:recommended"] === true) { + return ["eslint:recommended"]; + } + } + + // copy over simple translations + for (const key of keysToCopy) { + if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") { + flatConfig[key] = eslintrcConfig[key]; + } + } + + // copy over languageOptions + for (const key of languageOptionsKeysToCopy) { + if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") { + + // create the languageOptions key in the flat config + flatConfig.languageOptions = languageOptions; + + if (key === "parser") { + debug(`Resolving parser '${languageOptions[key]}' relative to ${resolveConfigRelativeTo}`); + + if (eslintrcConfig[key].error) { + throw eslintrcConfig[key].error; + } + + languageOptions[key] = eslintrcConfig[key].definition; + continue; + } + + // clone any object values that are in the eslintrc config + if (eslintrcConfig[key] && typeof eslintrcConfig[key] === "object") { + languageOptions[key] = { + ...eslintrcConfig[key] + }; + } else { + languageOptions[key] = eslintrcConfig[key]; + } + } + } + + // copy over linterOptions + for (const key of linterOptionsKeysToCopy) { + if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") { + flatConfig.linterOptions = linterOptions; + linterOptions[key] = eslintrcConfig[key]; + } + } + + // move ecmaVersion a level up + if (languageOptions.parserOptions) { + + if ("ecmaVersion" in languageOptions.parserOptions) { + languageOptions.ecmaVersion = languageOptions.parserOptions.ecmaVersion; + delete languageOptions.parserOptions.ecmaVersion; + } + + if ("sourceType" in languageOptions.parserOptions) { + languageOptions.sourceType = languageOptions.parserOptions.sourceType; + delete languageOptions.parserOptions.sourceType; + } + + // check to see if we even need parserOptions anymore and remove it if not + if (Object.keys(languageOptions.parserOptions).length === 0) { + delete languageOptions.parserOptions; + } + } + + // overrides + if (eslintrcConfig.criteria) { + flatConfig.files = [absoluteFilePath => eslintrcConfig.criteria.test(absoluteFilePath)]; + } + + // translate plugins + if (eslintrcConfig.plugins && typeof eslintrcConfig.plugins === "object") { + debug(`Translating plugins: ${eslintrcConfig.plugins}`); + + flatConfig.plugins = {}; + + for (const pluginName of Object.keys(eslintrcConfig.plugins)) { + + debug(`Translating plugin: ${pluginName}`); + debug(`Resolving plugin '${pluginName} relative to ${resolvePluginsRelativeTo}`); + + const { definition: plugin, error } = eslintrcConfig.plugins[pluginName]; + + if (error) { + throw error; + } + + flatConfig.plugins[pluginName] = plugin; + + // create a config for any processors + if (plugin.processors) { + for (const processorName of Object.keys(plugin.processors)) { + if (processorName.startsWith(".")) { + debug(`Assigning processor: ${pluginName}/${processorName}`); + + configs.unshift({ + files: [`**/*${processorName}`], + processor: pluginProcessors.get(`${pluginName}/${processorName}`) + }); + } + + } + } + } + } + + // translate env - must come after plugins + if (eslintrcConfig.env && typeof eslintrcConfig.env === "object") { + for (const envName of Object.keys(eslintrcConfig.env)) { + + // only add environments that are true + if (eslintrcConfig.env[envName]) { + debug(`Translating environment: ${envName}`); + + if (environments.has(envName)) { + + // built-in environments should be defined first + configs.unshift(...translateESLintRC(environments.get(envName), { + resolveConfigRelativeTo, + resolvePluginsRelativeTo + })); + } else if (pluginEnvironments.has(envName)) { + + // if the environment comes from a plugin, it should come after the plugin config + configs.push(...translateESLintRC(pluginEnvironments.get(envName), { + resolveConfigRelativeTo, + resolvePluginsRelativeTo + })); + } + } + } + } + + // only add if there are actually keys in the config + if (Object.keys(flatConfig).length > 0) { + configs.push(flatConfig); + } + + return configs; +} + + +//----------------------------------------------------------------------------- +// Exports +//----------------------------------------------------------------------------- + +/** + * A compatibility class for working with configs. + */ +class FlatCompat { + + constructor({ + baseDirectory = process.cwd(), + resolvePluginsRelativeTo = baseDirectory + } = {}) { + this.baseDirectory = baseDirectory; + this.resolvePluginsRelativeTo = resolvePluginsRelativeTo; + this[cafactory] = new ConfigArrayFactory({ + cwd: baseDirectory, + resolvePluginsRelativeTo, + eslintAllPath: path.resolve(__dirname, "../conf/eslint-all.js"), + eslintRecommendedPath: path.resolve(__dirname, "../conf/eslint-recommended.js") + }); + } + + /** + * Translates an ESLintRC-style config into a flag-config-style config. + * @param {Object} eslintrcConfig The ESLintRC-style config object. + * @returns {Object} A flag-config-style config object. + */ + config(eslintrcConfig) { + const eslintrcArray = this[cafactory].create(eslintrcConfig, { + basePath: this.baseDirectory + }); + + const flatArray = []; + let hasIgnorePatterns = false; + + eslintrcArray.forEach(configData => { + if (configData.type === "config") { + hasIgnorePatterns = hasIgnorePatterns || configData.ignorePattern; + flatArray.push(...translateESLintRC(configData, { + resolveConfigRelativeTo: path.join(this.baseDirectory, "__placeholder.js"), + resolvePluginsRelativeTo: path.join(this.resolvePluginsRelativeTo, "__placeholder.js"), + pluginEnvironments: eslintrcArray.pluginEnvironments, + pluginProcessors: eslintrcArray.pluginProcessors + })); + } + }); + + // combine ignorePatterns to emulate ESLintRC behavior better + if (hasIgnorePatterns) { + flatArray.unshift({ + ignores: [filePath => { + + // Compute the final config for this file. + // This filters config array elements by `files`/`excludedFiles` then merges the elements. + const finalConfig = eslintrcArray.extractConfig(filePath); + + // Test the `ignorePattern` properties of the final config. + return Boolean(finalConfig.ignores) && finalConfig.ignores(filePath); + }] + }); + } + + return flatArray; + } + + /** + * Translates the `env` section of an ESLintRC-style config. + * @param {Object} envConfig The `env` section of an ESLintRC config. + * @returns {Object} A flag-config object representing the environments. + */ + env(envConfig) { + return this.config({ + env: envConfig + }); + } + + /** + * Translates the `extends` section of an ESLintRC-style config. + * @param {...string} configsToExtend The names of the configs to load. + * @returns {Object} A flag-config object representing the config. + */ + extends(...configsToExtend) { + return this.config({ + extends: configsToExtend + }); + } + + /** + * Translates the `plugins` section of an ESLintRC-style config. + * @param {...string} plugins The names of the plugins to load. + * @returns {Object} A flag-config object representing the plugins. + */ + plugins(...plugins) { + return this.config({ + plugins + }); + } +} + +exports.FlatCompat = FlatCompat; diff --git a/node_modules/@eslint/eslintrc/lib/index.js b/node_modules/@eslint/eslintrc/lib/index.js index 90959c16e..de2a95d98 100644 --- a/node_modules/@eslint/eslintrc/lib/index.js +++ b/node_modules/@eslint/eslintrc/lib/index.js @@ -14,7 +14,7 @@ const { } = require("./config-array-factory"); const { CascadingConfigArrayFactory } = require("./cascading-config-array-factory"); -const { ModuleResolver } = require("./shared/relative-module-resolver"); +const ModuleResolver = require("./shared/relative-module-resolver"); const { ConfigArray, getUsedExtractedConfigs } = require("./config-array"); const { ConfigDependency } = require("./config-array/config-dependency"); const { ExtractedConfig } = require("./config-array/extracted-config"); @@ -23,6 +23,7 @@ const { OverrideTester } = require("./config-array/override-tester"); const ConfigOps = require("./shared/config-ops"); const ConfigValidator = require("./shared/config-validator"); const naming = require("./shared/naming"); +const { FlatCompat } = require("./flat-compat"); //----------------------------------------------------------------------------- // Exports @@ -46,6 +47,8 @@ module.exports = { ConfigValidator, ModuleResolver, naming - } + }, + + FlatCompat }; diff --git a/node_modules/@eslint/eslintrc/lib/shared/config-validator.js b/node_modules/@eslint/eslintrc/lib/shared/config-validator.js index d3c700127..90869739c 100644 --- a/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +++ b/node_modules/@eslint/eslintrc/lib/shared/config-validator.js @@ -5,6 +5,8 @@ "use strict"; +/* eslint class-methods-use-this: "off" */ + //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ @@ -265,7 +267,7 @@ module.exports = class ConfigValidator { * @returns {void} */ validateConfigSchema(config, source = null) { - validateSchema = this.validateSchema || ajv.compile(configSchema); + validateSchema = validateSchema || ajv.compile(configSchema); if (!validateSchema(config)) { throw new Error(`ESLint configuration in ${source} is invalid:\n${this.formatErrors(validateSchema.errors)}`); diff --git a/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js b/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js index e1481a2e9..136fc255f 100644 --- a/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +++ b/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js @@ -9,7 +9,6 @@ //------------------------------------------------------------------------------ const path = require("path"); -const lodash = require("lodash"); //------------------------------------------------------------------------------ // Private @@ -28,6 +27,8 @@ const deprecationWarningMessages = { "projects in order to avoid loading '~/.eslintrc.*' accidentally." }; +const sourceFileErrorCache = new Set(); + /** * Emits a deprecation warning containing a given filepath. A new deprecation warning is emitted * for each unique file path, but repeated invocations with the same file path have no effect. @@ -36,7 +37,14 @@ const deprecationWarningMessages = { * @param {string} errorCode The warning message to show. * @returns {void} */ -const emitDeprecationWarning = lodash.memoize((source, errorCode) => { +function emitDeprecationWarning(source, errorCode) { + const cacheKey = JSON.stringify({ source, errorCode }); + + if (sourceFileErrorCache.has(cacheKey)) { + return; + } + sourceFileErrorCache.add(cacheKey); + const rel = path.relative(process.cwd(), source); const message = deprecationWarningMessages[errorCode]; @@ -45,7 +53,7 @@ const emitDeprecationWarning = lodash.memoize((source, errorCode) => { "DeprecationWarning", errorCode ); -}, (...args) => JSON.stringify(args)); +} //------------------------------------------------------------------------------ // Public Interface diff --git a/node_modules/@eslint/eslintrc/lib/shared/types.js b/node_modules/@eslint/eslintrc/lib/shared/types.js new file mode 100644 index 000000000..d4ac14e26 --- /dev/null +++ b/node_modules/@eslint/eslintrc/lib/shared/types.js @@ -0,0 +1,150 @@ +/** + * @fileoverview Define common types for input completion. + * @author Toru Nagashima + */ +"use strict"; + +/** @type {any} */ +module.exports = {}; + +/** @typedef {boolean | "off" | "readable" | "readonly" | "writable" | "writeable"} GlobalConf */ +/** @typedef {0 | 1 | 2 | "off" | "warn" | "error"} SeverityConf */ +/** @typedef {SeverityConf | [SeverityConf, ...any[]]} RuleConf */ + +/** + * @typedef {Object} EcmaFeatures + * @property {boolean} [globalReturn] Enabling `return` statements at the top-level. + * @property {boolean} [jsx] Enabling JSX syntax. + * @property {boolean} [impliedStrict] Enabling strict mode always. + */ + +/** + * @typedef {Object} ParserOptions + * @property {EcmaFeatures} [ecmaFeatures] The optional features. + * @property {3|5|6|7|8|9|10|11|12|2015|2016|2017|2018|2019|2020|2021} [ecmaVersion] The ECMAScript version (or revision number). + * @property {"script"|"module"} [sourceType] The source code type. + */ + +/** + * @typedef {Object} ConfigData + * @property {Record} [env] The environment settings. + * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs. + * @property {Record} [globals] The global variable settings. + * @property {string | string[]} [ignorePatterns] The glob patterns that ignore to lint. + * @property {boolean} [noInlineConfig] The flag that disables directive comments. + * @property {OverrideConfigData[]} [overrides] The override settings per kind of files. + * @property {string} [parser] The path to a parser or the package name of a parser. + * @property {ParserOptions} [parserOptions] The parser options. + * @property {string[]} [plugins] The plugin specifiers. + * @property {string} [processor] The processor specifier. + * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments. + * @property {boolean} [root] The root flag. + * @property {Record} [rules] The rule settings. + * @property {Object} [settings] The shared settings. + */ + +/** + * @typedef {Object} OverrideConfigData + * @property {Record} [env] The environment settings. + * @property {string | string[]} [excludedFiles] The glob pattarns for excluded files. + * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs. + * @property {string | string[]} files The glob patterns for target files. + * @property {Record} [globals] The global variable settings. + * @property {boolean} [noInlineConfig] The flag that disables directive comments. + * @property {OverrideConfigData[]} [overrides] The override settings per kind of files. + * @property {string} [parser] The path to a parser or the package name of a parser. + * @property {ParserOptions} [parserOptions] The parser options. + * @property {string[]} [plugins] The plugin specifiers. + * @property {string} [processor] The processor specifier. + * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments. + * @property {Record} [rules] The rule settings. + * @property {Object} [settings] The shared settings. + */ + +/** + * @typedef {Object} ParseResult + * @property {Object} ast The AST. + * @property {ScopeManager} [scopeManager] The scope manager of the AST. + * @property {Record} [services] The services that the parser provides. + * @property {Record} [visitorKeys] The visitor keys of the AST. + */ + +/** + * @typedef {Object} Parser + * @property {(text:string, options:ParserOptions) => Object} parse The definition of global variables. + * @property {(text:string, options:ParserOptions) => ParseResult} [parseForESLint] The parser options that will be enabled under this environment. + */ + +/** + * @typedef {Object} Environment + * @property {Record} [globals] The definition of global variables. + * @property {ParserOptions} [parserOptions] The parser options that will be enabled under this environment. + */ + +/** + * @typedef {Object} LintMessage + * @property {number} column The 1-based column number. + * @property {number} [endColumn] The 1-based column number of the end location. + * @property {number} [endLine] The 1-based line number of the end location. + * @property {boolean} fatal If `true` then this is a fatal error. + * @property {{range:[number,number], text:string}} [fix] Information for autofix. + * @property {number} line The 1-based line number. + * @property {string} message The error message. + * @property {string|null} ruleId The ID of the rule which makes this message. + * @property {0|1|2} severity The severity of this message. + * @property {Array<{desc?: string, messageId?: string, fix: {range: [number, number], text: string}}>} [suggestions] Information for suggestions. + */ + +/** + * @typedef {Object} SuggestionResult + * @property {string} desc A short description. + * @property {string} [messageId] Id referencing a message for the description. + * @property {{ text: string, range: number[] }} fix fix result info + */ + +/** + * @typedef {Object} Processor + * @property {(text:string, filename:string) => Array} [preprocess] The function to extract code blocks. + * @property {(messagesList:LintMessage[][], filename:string) => LintMessage[]} [postprocess] The function to merge messages. + * @property {boolean} [supportsAutofix] If `true` then it means the processor supports autofix. + */ + +/** + * @typedef {Object} RuleMetaDocs + * @property {string} category The category of the rule. + * @property {string} description The description of the rule. + * @property {boolean} recommended If `true` then the rule is included in `eslint:recommended` preset. + * @property {string} url The URL of the rule documentation. + */ + +/** + * @typedef {Object} RuleMeta + * @property {boolean} [deprecated] If `true` then the rule has been deprecated. + * @property {RuleMetaDocs} docs The document information of the rule. + * @property {"code"|"whitespace"} [fixable] The autofix type. + * @property {Record} [messages] The messages the rule reports. + * @property {string[]} [replacedBy] The IDs of the alternative rules. + * @property {Array|Object} schema The option schema of the rule. + * @property {"problem"|"suggestion"|"layout"} type The rule type. + */ + +/** + * @typedef {Object} Rule + * @property {Function} create The factory of the rule. + * @property {RuleMeta} meta The meta data of the rule. + */ + +/** + * @typedef {Object} Plugin + * @property {Record} [configs] The definition of plugin configs. + * @property {Record} [environments] The definition of plugin environments. + * @property {Record} [processors] The definition of plugin processors. + * @property {Record} [rules] The definition of plugin rules. + */ + +/** + * Information of deprecated rules. + * @typedef {Object} DeprecatedRuleInfo + * @property {string} ruleId The rule ID. + * @property {string[]} replacedBy The rule IDs that replace this deprecated rule. + */ diff --git a/node_modules/@eslint/eslintrc/package.json b/node_modules/@eslint/eslintrc/package.json index 71830c09a..105f3c6a1 100644 --- a/node_modules/@eslint/eslintrc/package.json +++ b/node_modules/@eslint/eslintrc/package.json @@ -1,6 +1,6 @@ { "name": "@eslint/eslintrc", - "version": "0.1.3", + "version": "0.4.3", "description": "The legacy ESLintRC config file format for ESLint", "main": "lib/index.js", "files": [ @@ -12,8 +12,9 @@ "access": "public" }, "scripts": { - "lint": "eslint .", - "test": "mocha tests/lib/shared", + "lint": "eslint . --report-unused-disable-directives", + "fix": "npm run lint -- --fix", + "test": "mocha -R progress -c 'tests/lib/**/*.js'", "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", @@ -34,22 +35,25 @@ "homepage": "https://github.com/eslint/eslintrc#readme", "devDependencies": { "chai": "^4.2.0", - "eslint": "^7.7.0", - "eslint-config-eslint": "^6.0.0", - "eslint-plugin-jsdoc": "^22.1.0", + "eslint": "^7.21.0", + "eslint-config-eslint": "^7.0.0", + "eslint-plugin-jsdoc": "^32.2.0", "eslint-plugin-node": "^11.1.0", "eslint-release": "^3.1.2", - "mocha": "^8.1.1" + "fs-teardown": "0.1.1", + "mocha": "^8.1.1", + "shelljs": "^0.8.4", + "sinon": "^9.2.0", + "temp-dir": "^2.0.0" }, "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.19", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, diff --git a/node_modules/@humanwhocodes/config-array/LICENSE b/node_modules/@humanwhocodes/config-array/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/node_modules/@humanwhocodes/config-array/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/node_modules/@humanwhocodes/config-array/README.md b/node_modules/@humanwhocodes/config-array/README.md new file mode 100644 index 000000000..9cfe637bb --- /dev/null +++ b/node_modules/@humanwhocodes/config-array/README.md @@ -0,0 +1,258 @@ +# Config Array + +by [Nicholas C. Zakas](https://humanwhocodes.com) + +If you find this useful, please consider supporting my work with a [donation](https://humanwhocodes.com/donate). + +## Description + +A config array is a way of managing configurations that are based on glob pattern matching of filenames. Each config array contains the information needed to determine the correct configuration for any file based on the filename. + +## Background + +In 2019, I submitted an [ESLint RFC](https://github.com/eslint/rfcs/pull/9) proposing a new way of configuring ESLint. The goal was to streamline what had become an increasingly complicated configuration process. Over several iterations, this proposal was eventually born. + +The basic idea is that all configuration, including overrides, can be represented by a single array where each item in the array is a config object. Config objects appearing later in the array override config objects appearing earlier in the array. You can calculate a config for a given file by traversing all config objects in the array to find the ones that match the filename. Matching is done by specifying glob patterns in `files` and `ignores` properties on each config object. Here's an example: + +```js +export default [ + + // match all JSON files + { + name: "JSON Handler", + files: ["**/*.json"], + handler: jsonHandler + }, + + // match only package.json + { + name: "package.json Handler", + files: ["package.json"], + handler: packageJsonHandler + } +]; +``` + +In this example, there are two config objects: the first matches all JSON files in all directories and the second matches just `package.json` in the base path directory (all the globs are evaluated as relative to a base path that can be specified). When you retrieve a configuration for `foo.json`, only the first config object matches so `handler` is equal to `jsonHandler`; when you retrieve a configuration for `package.json`, `handler` is equal to `packageJsonHandler` (because both config objects match, the second one wins). + +## Installation + +You can install the package using npm or Yarn: + +```bash +npm install @humanwhocodes/config-array --save + +# or + +yarn add @humanwhocodes/config-array +``` + +## Usage + +First, import the `ConfigArray` constructor: + +```js +import { ConfigArray } from "@humanwhocodes/config-array"; + +// or using CommonJS + +const { ConfigArray } = require("@humanwhocodes/config-array"); +``` + +When you create a new instance of `ConfigArray`, you must pass in two arguments: an array of configs and an options object. The array of configs is most likely read in from a configuration file, so here's a typical example: + +```js +const configFilename = path.resolve(process.cwd(), "my.config.js"); +const { default: rawConfigs } = await import(configFilename); +const configs = new ConfigArray(rawConfigs, { + + // the path to match filenames from + basePath: process.cwd(), + + // additional items in each config + schema: mySchema +}); +``` + +This example reads in an object or array from `my.config.js` and passes it into the `ConfigArray` constructor as the first argument. The second argument is an object specifying the `basePath` (the directoy in which `my.config.js` is found) and a `schema` to define the additional properties of a config object beyond `files`, `ignores`, and `name`. + +### Specifying a Schema + +The `schema` option is required for you to use additional properties in config objects. The schema is object that follows the format of an [`ObjectSchema`](https://npmjs.com/package/@humanwhocodes/object-schema). The schema specifies both validation and merge rules that the `ConfigArray` instance needs to combine configs when there are multiple matches. Here's an example: + +```js +const configFilename = path.resolve(process.cwd(), "my.config.js"); +const { default: rawConfigs } = await import(configFilename); + +const mySchema = { + + // define the handler key in configs + handler: { + required: true, + merge(a, b) { + if (!b) return a; + if (!a) return b; + }, + validate(value) { + if (typeof value !== "function") { + throw new TypeError("Function expected."); + } + } + } +}; + +const configs = new ConfigArray(rawConfigs, { + + // the path to match filenames from + basePath: process.cwd(), + + // additional items in each config + schema: mySchema +}); +``` + +### Config Arrays + +Config arrays can be multidimensional, so it's possible for a config array to contain another config array, such as: + +```js +export default [ + + // JS config + { + files: ["**/*.js"], + handler: jsHandler + }, + + // JSON configs + [ + + // match all JSON files + { + name: "JSON Handler", + files: ["**/*.json"], + handler: jsonHandler + }, + + // match only package.json + { + name: "package.json Handler", + files: ["package.json"], + handler: packageJsonHandler + } + ], + + // filename must match function + { + files: [ filePath => filePath.endsWith(".md") ], + handler: markdownHandler + }, + + // filename must match all patterns in subarray + { + files: [ ["*.test.*", "*.js"] ], + handler: jsTestHandler + }, + + // filename must not match patterns beginning with ! + { + name: "Non-JS files", + files: ["!*.js"], + settings: { + js: false + } + } +]; +``` + +In this example, the array contains both config objects and a config array. When a config array is normalized (see details below), it is flattened so only config objects remain. However, the order of evaluation remains the same. + +If the `files` array contains a function, then that function is called with the absolute path of the file and is expected to return `true` if there is a match and `false` if not. (The `ignores` array can also contain functions.) + +If the `files` array contains an item that is an array of strings and functions, then all patterns must match in order for the config to match. In the preceding examples, both `*.test.*` and `*.js` must match in order for the config object to be used. + +If a pattern in the files array begins with `!` then it excludes that pattern. In the preceding example, any filename that doesn't end with `.js` will automatically getting a `settings.js` property set to `false`. + +### Config Functions + +Config arrays can also include config functions. A config function accepts a single parameter, `context` (defined by you), and must return either a config object or a config array (it cannot return another function). Config functions allow end users to execute code in the creation of appropriate config objects. Here's an example: + +```js +export default [ + + // JS config + { + files: ["**/*.js"], + handler: jsHandler + }, + + // JSON configs + function (context) { + return [ + + // match all JSON files + { + name: context.name + " JSON Handler", + files: ["**/*.json"], + handler: jsonHandler + }, + + // match only package.json + { + name: context.name + " package.json Handler", + files: ["package.json"], + handler: packageJsonHandler + } + ]; + } +]; +``` + +When a config array is normalized, each function is executed and replaced in the config array with the return value. + +**Note:** Config functions cannot be async. This will be added in a future version. + +### Normalizing Config Arrays + +Once a config array has been created and loaded with all of the raw config data, it must be normalized before it can be used. The normalization process goes through and flattens the config array as well as executing all config functions to get their final values. + +To normalize a config array, call the `normalize()` method and pass in a context object: + +```js +await configs.normalize({ + name: "MyApp" +}); +``` + +The `normalize()` method returns a promise, so be sure to use the `await` operator. The config array instance is normalized in-place, so you don't need to create a new variable. + +**Important:** Once a `ConfigArray` is normalized, it cannot be changed further. You can, however, create a new `ConfigArray` and pass in the normalized instance to create an unnormalized copy. + +### Getting Config for a File + +To get the config for a file, use the `getConfig()` method on a normalized config array and pass in the filename to get a config for: + +```js +// pass in absolute filename +const fileConfig = configs.getConfig(path.resolve(process.cwd(), "package.json")); +``` + +The config array always returns an object, even if there are no configs matching the given filename. You can then inspect the returned config object to determine how to proceed. + +A few things to keep in mind: + +* You must pass in the absolute filename to get a config for. +* The returned config object never has `files`, `ignores`, or `name` properties; the only properties on the object will be the other configuration options specified. +* The config array caches configs, so subsequent calls to `getConfig()` with the same filename will return in a fast lookup rather than another calculation. + +## Acknowledgements + +The design of this project was influenced by feedback on the ESLint RFC, and incorporates ideas from: + +* Teddy Katz (@not-an-aardvark) +* Toru Nagashima (@mysticatea) +* Kai Cataldo (@kaicataldo) + +## License + +Apache 2.0 diff --git a/node_modules/@humanwhocodes/config-array/api.js b/node_modules/@humanwhocodes/config-array/api.js new file mode 100644 index 000000000..a9aacf46b --- /dev/null +++ b/node_modules/@humanwhocodes/config-array/api.js @@ -0,0 +1,457 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var path = _interopDefault(require('path')); +var minimatch = _interopDefault(require('minimatch')); +var createDebug = _interopDefault(require('debug')); +var objectSchema = require('@humanwhocodes/object-schema'); + +/** + * @fileoverview ConfigSchema + * @author Nicholas C. Zakas + */ + +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +/** + * Assets that a given value is an array. + * @param {*} value The value to check. + * @returns {void} + * @throws {TypeError} When the value is not an array. + */ +function assertIsArray(value) { + if (!Array.isArray(value)) { + throw new TypeError('Expected value to be an array.'); + } +} + +/** + * Assets that a given value is an array containing only strings and functions. + * @param {*} value The value to check. + * @returns {void} + * @throws {TypeError} When the value is not an array of strings and functions. + */ +function assertIsArrayOfStringsAndFunctions(value, name) { + assertIsArray(value); + + if (value.some(item => typeof item !== 'string' && typeof item !== 'function')) { + throw new TypeError('Expected array to only contain strings.'); + } +} + +//------------------------------------------------------------------------------ +// Exports +//------------------------------------------------------------------------------ + +/** + * The base schema that every ConfigArray uses. + * @type Object + */ +const baseSchema = Object.freeze({ + name: { + required: false, + merge() { + return undefined; + }, + validate(value) { + if (typeof value !== 'string') { + throw new TypeError('Property must be a string.'); + } + } + }, + files: { + required: false, + merge() { + return undefined; + }, + validate(value) { + + // first check if it's an array + assertIsArray(value); + + // then check each member + value.forEach(item => { + if (Array.isArray(item)) { + assertIsArrayOfStringsAndFunctions(item); + } else if (typeof item !== 'string' && typeof item !== 'function') { + throw new TypeError('Items must be a string, a function, or an array of strings and functions.'); + } + }); + + } + }, + ignores: { + required: false, + merge() { + return undefined; + }, + validate: assertIsArrayOfStringsAndFunctions + } +}); + +/** + * @fileoverview ConfigArray + * @author Nicholas C. Zakas + */ + +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const debug = createDebug('@hwc/config-array'); + +const MINIMATCH_OPTIONS = { + matchBase: true +}; + +/** + * Shorthand for checking if a value is a string. + * @param {any} value The value to check. + * @returns {boolean} True if a string, false if not. + */ +function isString(value) { + return typeof value === 'string'; +} + +/** + * Normalizes a `ConfigArray` by flattening it and executing any functions + * that are found inside. + * @param {Array} items The items in a `ConfigArray`. + * @param {Object} context The context object to pass into any function + * found. + * @returns {Array} A flattened array containing only config objects. + * @throws {TypeError} When a config function returns a function. + */ +async function normalize(items, context) { + + // TODO: Allow async config functions + + function *flatTraverse(array) { + for (let item of array) { + if (typeof item === 'function') { + item = item(context); + } + + if (Array.isArray(item)) { + yield * flatTraverse(item); + } else if (typeof item === 'function') { + throw new TypeError('A config function can only return an object or array.'); + } else { + yield item; + } + } + } + + return [...flatTraverse(items)]; +} + +/** + * Determines if a given file path is matched by a config. If the config + * has no `files` field, then it matches; otherwise, if a `files` field + * is present then we match the globs in `files` and exclude any globs in + * `ignores`. + * @param {string} filePath The absolute file path to check. + * @param {Object} config The config object to check. + * @returns {boolean} True if the file path is matched by the config, + * false if not. + */ +function pathMatches(filePath, basePath, config) { + + // a config without a `files` field always matches + if (!config.files) { + return true; + } + + // if files isn't an array, throw an error + if (!Array.isArray(config.files) || config.files.length === 0) { + throw new TypeError('The files key must be a non-empty array.'); + } + + const relativeFilePath = path.relative(basePath, filePath); + + // match both strings and functions + const match = pattern => { + if (isString(pattern)) { + return minimatch(relativeFilePath, pattern, MINIMATCH_OPTIONS); + } + + if (typeof pattern === 'function') { + return pattern(filePath); + } + }; + + // check for all matches to config.files + let matches = config.files.some(pattern => { + if (Array.isArray(pattern)) { + return pattern.every(match); + } + + return match(pattern); + }); + + /* + * If the file path matches the config.files patterns, then check to see + * if there are any files to ignore. + */ + if (matches && config.ignores) { + matches = !config.ignores.some(pattern => { + return minimatch(filePath, pattern, MINIMATCH_OPTIONS); + }); + } + + return matches; +} + +/** + * Ensures that a ConfigArray has been normalized. + * @param {ConfigArray} configArray The ConfigArray to check. + * @returns {void} + * @throws {Error} When the `ConfigArray` is not normalized. + */ +function assertNormalized(configArray) { + // TODO: Throw more verbose error + if (!configArray.isNormalized()) { + throw new Error('ConfigArray must be normalized to perform this operation.'); + } +} + +//------------------------------------------------------------------------------ +// Public Interface +//------------------------------------------------------------------------------ + +const ConfigArraySymbol = { + isNormalized: Symbol('isNormalized'), + configCache: Symbol('configCache'), + schema: Symbol('schema'), + finalizeConfig: Symbol('finalizeConfig'), + preprocessConfig: Symbol('preprocessConfig') +}; + +/** + * Represents an array of config objects and provides method for working with + * those config objects. + */ +class ConfigArray extends Array { + + /** + * Creates a new instance of ConfigArray. + * @param {Iterable|Function|Object} configs An iterable yielding config + * objects, or a config function, or a config object. + * @param {string} [options.basePath=""] The path of the config file + * @param {boolean} [options.normalized=false] Flag indicating if the + * configs have already been normalized. + * @param {Object} [options.schema] The additional schema + * definitions to use for the ConfigArray schema. + */ + constructor(configs, { basePath = '', normalized = false, schema: customSchema } = {}) { + super(); + + /** + * Tracks if the array has been normalized. + * @property isNormalized + * @type boolean + * @private + */ + this[ConfigArraySymbol.isNormalized] = normalized; + + /** + * The schema used for validating and merging configs. + * @property schema + * @type ObjectSchema + * @private + */ + this[ConfigArraySymbol.schema] = new objectSchema.ObjectSchema({ + ...customSchema, + ...baseSchema + }); + + /** + * The path of the config file that this array was loaded from. + * This is used to calculate filename matches. + * @property basePath + * @type string + */ + this.basePath = basePath; + + /** + * A cache to store calculated configs for faster repeat lookup. + * @property configCache + * @type Map + * @private + */ + this[ConfigArraySymbol.configCache] = new Map(); + + // load the configs into this array + if (Array.isArray(configs)) { + this.push(...configs); + } else { + this.push(configs); + } + + } + + /** + * Prevent normal array methods from creating a new `ConfigArray` instance. + * This is to ensure that methods such as `slice()` won't try to create a + * new instance of `ConfigArray` behind the scenes as doing so may throw + * an error due to the different constructor signature. + * @returns {Function} The `Array` constructor. + */ + static get [Symbol.species]() { + return Array; + } + + /** + * Returns the `files` globs from every config object in the array. + * Negated patterns (those beginning with `!`) are not returned. + * This can be used to determine which files will be matched by a + * config array or to use as a glob pattern when no patterns are provided + * for a command line interface. + * @returns {string[]} An array of string patterns. + */ + get files() { + + assertNormalized(this); + + const result = []; + + for (const config of this) { + if (config.files) { + config.files.forEach(filePattern => { + if (Array.isArray(filePattern)) { + result.push(...filePattern.filter(pattern => { + return isString(pattern) && !pattern.startsWith('!'); + })); + } else if (isString(filePattern) && !filePattern.startsWith('!')) { + result.push(filePattern); + } + }); + } + } + + return result; + } + + /** + * Returns the file globs that should always be ignored regardless of + * the matching `files` fields in any configs. This is necessary to mimic + * the behavior of things like .gitignore and .eslintignore, allowing a + * globbing operation to be faster. + * @returns {string[]} An array of string patterns to be ignored. + */ + get ignores() { + + assertNormalized(this); + + const result = []; + + for (const config of this) { + if (config.ignores && !config.files) { + result.push(...config.ignores.filter(isString)); + } + } + + return result; + } + + /** + * Indicates if the config array has been normalized. + * @returns {boolean} True if the config array is normalized, false if not. + */ + isNormalized() { + return this[ConfigArraySymbol.isNormalized]; + } + + /** + * Normalizes a config array by flattening embedded arrays and executing + * config functions. + * @param {ConfigContext} context The context object for config functions. + * @returns {ConfigArray} A new ConfigArray instance that is normalized. + */ + async normalize(context = {}) { + + if (!this.isNormalized()) { + const normalizedConfigs = await normalize(this, context); + this.length = 0; + this.push(...normalizedConfigs.map(this[ConfigArraySymbol.preprocessConfig])); + this[ConfigArraySymbol.isNormalized] = true; + + // prevent further changes + Object.freeze(this); + } + + return this; + } + + /** + * Finalizes the state of a config before being cached and returned by + * `getConfig()`. Does nothing by default but is provided to be + * overridden by subclasses as necessary. + * @param {Object} config The config to finalize. + * @returns {Object} The finalized config. + */ + [ConfigArraySymbol.finalizeConfig](config) { + return config; + } + + /** + * Preprocesses a config during the normalization process. This is the + * method to override if you want to convert an array item before it is + * validated for the first time. For example, if you want to replace a + * string with an object, this is the method to override. + * @param {Object} config The config to preprocess. + * @returns {Object} The config to use in place of the argument. + */ + [ConfigArraySymbol.preprocessConfig](config) { + return config; + } + + /** + * Returns the config object for a given file path. + * @param {string} filePath The complete path of a file to get a config for. + * @returns {Object} The config object for this file. + */ + getConfig(filePath) { + + assertNormalized(this); + + // first check the cache to avoid duplicate work + let finalConfig = this[ConfigArraySymbol.configCache].get(filePath); + + if (finalConfig) { + return finalConfig; + } + + // No config found in cache, so calculate a new one + + const matchingConfigs = []; + + for (const config of this) { + if (pathMatches(filePath, this.basePath, config)) { + debug(`Matching config found for ${filePath}`); + matchingConfigs.push(config); + } else { + debug(`No matching config found for ${filePath}`); + } + } + + finalConfig = matchingConfigs.reduce((result, config) => { + return this[ConfigArraySymbol.schema].merge(result, config); + }, {}, this); + + finalConfig = this[ConfigArraySymbol.finalizeConfig](finalConfig); + + this[ConfigArraySymbol.configCache].set(filePath, finalConfig); + + return finalConfig; + } + +} + +exports.ConfigArray = ConfigArray; +exports.ConfigArraySymbol = ConfigArraySymbol; diff --git a/node_modules/@humanwhocodes/config-array/package.json b/node_modules/@humanwhocodes/config-array/package.json new file mode 100644 index 000000000..4dc3a4e5d --- /dev/null +++ b/node_modules/@humanwhocodes/config-array/package.json @@ -0,0 +1,61 @@ +{ + "name": "@humanwhocodes/config-array", + "version": "0.5.0", + "description": "Glob-based configuration matching.", + "author": "Nicholas C. Zakas", + "main": "api.js", + "files": [ + "api.js" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/humanwhocodes/config-array.git" + }, + "bugs": { + "url": "https://github.com/humanwhocodes/config-array/issues" + }, + "homepage": "https://github.com/humanwhocodes/config-array#readme", + "scripts": { + "build": "rollup -c", + "format": "nitpik", + "lint": "eslint *.config.js src/*.js tests/*.js", + "prepublish": "npm run build", + "test:coverage": "nyc --include src/*.js npm run test", + "test": "mocha -r esm tests/ --recursive" + }, + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.js": [ + "nitpik", + "eslint --fix --ignore-pattern '!.eslintrc.js'" + ] + }, + "keywords": [ + "configuration", + "configarray", + "config file" + ], + "license": "Apache-2.0", + "engines": { + "node": ">=10.10.0" + }, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "devDependencies": { + "@nitpik/javascript": "^0.3.3", + "@nitpik/node": "0.0.5", + "chai": "^4.2.0", + "eslint": "^6.7.1", + "esm": "^3.2.25", + "lint-staged": "^10.2.8", + "mocha": "^6.1.4", + "nyc": "^14.1.1", + "rollup": "^1.12.3", + "yorkie": "^2.0.0" + } +} \ No newline at end of file diff --git a/node_modules/@humanwhocodes/object-schema/.eslintrc.js b/node_modules/@humanwhocodes/object-schema/.eslintrc.js new file mode 100644 index 000000000..4934076c4 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/.eslintrc.js @@ -0,0 +1,29 @@ +module.exports = { + "env": { + "commonjs": true, + "es6": true, + "node": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 2018 + }, + "rules": { + "indent": [ + "error", + 4 + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "double" + ], + "semi": [ + "error", + "always" + ] + } +}; \ No newline at end of file diff --git a/node_modules/@humanwhocodes/object-schema/.travis.yml b/node_modules/@humanwhocodes/object-schema/.travis.yml new file mode 100644 index 000000000..1e53f24d8 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +node_js: + - "8" + - "9" + - "10" + - "11" +sudo: false +branches: + only: + - master + +# Run npm test always +script: + - "npm test" diff --git a/node_modules/@humanwhocodes/object-schema/LICENSE b/node_modules/@humanwhocodes/object-schema/LICENSE new file mode 100644 index 000000000..a5e3ae46f --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2019, Human Who Codes +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/@humanwhocodes/object-schema/README.md b/node_modules/@humanwhocodes/object-schema/README.md new file mode 100644 index 000000000..2163797f8 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/README.md @@ -0,0 +1,234 @@ +# JavaScript ObjectSchema Package + +by [Nicholas C. Zakas](https://humanwhocodes.com) + +If you find this useful, please consider supporting my work with a [donation](https://humanwhocodes.com/donate). + +## Overview + +A JavaScript object merge/validation utility where you can define a different merge and validation strategy for each key. This is helpful when you need to validate complex data structures and then merge them in a way that is more complex than `Object.assign()`. + +## Installation + +You can install using either npm: + +``` +npm install @humanwhocodes/object-schema +``` + +Or Yarn: + +``` +yarn add @humanwhocodes/object-schema +``` + +## Usage + +Use CommonJS to get access to the `ObjectSchema` constructor: + +```js +const { ObjectSchema } = require("@humanwhocodes/object-schema"); + +const schema = new ObjectSchema({ + + // define a definition for the "downloads" key + downloads: { + required: true, + merge(value1, value2) { + return value1 + value2; + }, + validate(value) { + if (typeof value !== "number") { + throw new Error("Expected downloads to be a number."); + } + } + }, + + // define a strategy for the "versions" key + version: { + required: true, + merge(value1, value2) { + return value1.concat(value2); + }, + validate(value) { + if (!Array.isArray(value)) { + throw new Error("Expected versions to be an array."); + } + } + } +}); + +const record1 = { + downloads: 25, + versions: [ + "v1.0.0", + "v1.1.0", + "v1.2.0" + ] +}; + +const record2 = { + downloads: 125, + versions: [ + "v2.0.0", + "v2.1.0", + "v3.0.0" + ] +}; + +// make sure the records are valid +schema.validate(record1); +schema.validate(record2); + +// merge together (schema.merge() accepts any number of objects) +const result = schema.merge(record1, record2); + +// result looks like this: + +const result = { + downloads: 75, + versions: [ + "v1.0.0", + "v1.1.0", + "v1.2.0", + "v2.0.0", + "v2.1.0", + "v3.0.0" + ] +}; +``` + +## Tips and Tricks + +### Named merge strategies + +Instead of specifying a `merge()` method, you can specify one of the following strings to use a default merge strategy: + +* `"assign"` - use `Object.assign()` to merge the two values into one object. +* `"overwrite"` - the second value always replaces the first. +* `"replace"` - the second value replaces the first if the second is not `undefined`. + +For example: + +```js +const schema = new ObjectSchema({ + name: { + merge: "replace", + validate() {} + } +}); +``` + +### Named validation strategies + +Instead of specifying a `validate()` method, you can specify one of the following strings to use a default validation strategy: + +* `"array"` - value must be an array. +* `"boolean"` - value must be a boolean. +* `"number"` - value must be a number. +* `"object"` - value must be an object. +* `"object?"` - value must be an object or null. +* `"string"` - value must be a string. +* `"string!"` - value must be a non-empty string. + +For example: + +```js +const schema = new ObjectSchema({ + name: { + merge: "replace", + validate: "string" + } +}); +``` + +### Subschemas + +If you are defining a key that is, itself, an object, you can simplify the process by using a subschema. Instead of defining `merge()` and `validate()`, assign a `schema` key that contains a schema definition, like this: + +```js +const schema = new ObjectSchema({ + name: { + schema: { + first: { + merge: "replace", + validate: "string" + }, + last: { + merge: "replace", + validate: "string" + } + } + } +}); + +schema.validate({ + name: { + first: "n", + last: "z" + } +}); +``` + +### Remove Keys During Merge + +If the merge strategy for a key returns `undefined`, then the key will not appear in the final object. For example: + +```js +const schema = new ObjectSchema({ + date: { + merge() { + return undefined; + }, + validate(value) { + Date.parse(value); // throws an error when invalid + } + } +}); + +const object1 = { date: "5/5/2005" }; +const object2 = { date: "6/6/2006" }; + +const result = schema.merge(object1, object2); + +console.log("date" in result); // false +``` + +### Requiring Another Key Be Present + +If you'd like the presence of one key to require the presence of another key, you can use the `requires` property to specify an array of other properties that any key requires. For example: + +```js +const schema = new ObjectSchema(); + +const schema = new ObjectSchema({ + date: { + merge() { + return undefined; + }, + validate(value) { + Date.parse(value); // throws an error when invalid + } + }, + time: { + requires: ["date"], + merge(first, second) { + return second; + }, + validate(value) { + // ... + } + } +}); + +// throws error: Key "time" requires keys "date" +schema.validate({ + time: "13:45" +}); +``` + +In this example, even though `date` is an optional key, it is required to be present whenever `time` is present. + +## License + +BSD 3-Clause diff --git a/node_modules/@humanwhocodes/object-schema/package.json b/node_modules/@humanwhocodes/object-schema/package.json new file mode 100644 index 000000000..ba829090e --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/package.json @@ -0,0 +1,33 @@ +{ + "name": "@humanwhocodes/object-schema", + "version": "1.2.0", + "description": "An object schema merger/validator", + "main": "src/index.js", + "directories": { + "test": "tests" + }, + "scripts": { + "test": "mocha tests/" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/humanwhocodes/object-schema.git" + }, + "keywords": [ + "object", + "validation", + "schema", + "merge" + ], + "author": "Nicholas C. Zakas", + "license": "BSD-3-Clause", + "bugs": { + "url": "https://github.com/humanwhocodes/object-schema/issues" + }, + "homepage": "https://github.com/humanwhocodes/object-schema#readme", + "devDependencies": { + "chai": "^4.2.0", + "eslint": "^5.13.0", + "mocha": "^5.2.0" + } +} \ No newline at end of file diff --git a/node_modules/@humanwhocodes/object-schema/src/index.js b/node_modules/@humanwhocodes/object-schema/src/index.js new file mode 100644 index 000000000..b2bc4fb96 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/src/index.js @@ -0,0 +1,7 @@ +/** + * @filedescription Object Schema Package + */ + +exports.ObjectSchema = require("./object-schema").ObjectSchema; +exports.MergeStrategy = require("./merge-strategy").MergeStrategy; +exports.ValidationStrategy = require("./validation-strategy").ValidationStrategy; diff --git a/node_modules/@humanwhocodes/object-schema/src/merge-strategy.js b/node_modules/@humanwhocodes/object-schema/src/merge-strategy.js new file mode 100644 index 000000000..821744927 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/src/merge-strategy.js @@ -0,0 +1,53 @@ +/** + * @filedescription Merge Strategy + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +/** + * Container class for several different merge strategies. + */ +class MergeStrategy { + + /** + * Merges two keys by overwriting the first with the second. + * @param {*} value1 The value from the first object key. + * @param {*} value2 The value from the second object key. + * @returns {*} The second value. + */ + static overwrite(value1, value2) { + return value2; + } + + /** + * Merges two keys by replacing the first with the second only if the + * second is defined. + * @param {*} value1 The value from the first object key. + * @param {*} value2 The value from the second object key. + * @returns {*} The second value if it is defined. + */ + static replace(value1, value2) { + if (typeof value2 !== "undefined") { + return value2; + } + + return value1; + } + + /** + * Merges two properties by assigning properties from the second to the first. + * @param {*} value1 The value from the first object key. + * @param {*} value2 The value from the second object key. + * @returns {*} A new object containing properties from both value1 and + * value2. + */ + static assign(value1, value2) { + return Object.assign({}, value1, value2); + } +} + +exports.MergeStrategy = MergeStrategy; diff --git a/node_modules/@humanwhocodes/object-schema/src/object-schema.js b/node_modules/@humanwhocodes/object-schema/src/object-schema.js new file mode 100644 index 000000000..25864f5a2 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/src/object-schema.js @@ -0,0 +1,239 @@ +/** + * @filedescription Object Schema + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const { MergeStrategy } = require("./merge-strategy"); +const { ValidationStrategy } = require("./validation-strategy"); + +//----------------------------------------------------------------------------- +// Private +//----------------------------------------------------------------------------- + +const strategies = Symbol("strategies"); +const requiredKeys = Symbol("requiredKeys"); + +/** + * Validates a schema strategy. + * @param {string} name The name of the key this strategy is for. + * @param {Object} strategy The strategy for the object key. + * @param {boolean} [strategy.required=true] Whether the key is required. + * @param {string[]} [strategy.requires] Other keys that are required when + * this key is present. + * @param {Function} strategy.merge A method to call when merging two objects + * with the same key. + * @param {Function} strategy.validate A method to call when validating an + * object with the key. + * @returns {void} + * @throws {Error} When the strategy is missing a name. + * @throws {Error} When the strategy is missing a merge() method. + * @throws {Error} When the strategy is missing a validate() method. + */ +function validateDefinition(name, strategy) { + + let hasSchema = false; + if (strategy.schema) { + if (typeof strategy.schema === "object") { + hasSchema = true; + } else { + throw new TypeError("Schema must be an object."); + } + } + + if (typeof strategy.merge === "string") { + if (!(strategy.merge in MergeStrategy)) { + throw new TypeError(`Definition for key "${name}" missing valid merge strategy.`); + } + } else if (!hasSchema && typeof strategy.merge !== "function") { + throw new TypeError(`Definition for key "${name}" must have a merge property.`); + } + + if (typeof strategy.validate === "string") { + if (!(strategy.validate in ValidationStrategy)) { + throw new TypeError(`Definition for key "${name}" missing valid validation strategy.`); + } + } else if (!hasSchema && typeof strategy.validate !== "function") { + throw new TypeError(`Definition for key "${name}" must have a validate() method.`); + } +} + + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +/** + * Represents an object validation/merging schema. + */ +class ObjectSchema { + + /** + * Creates a new instance. + */ + constructor(definitions) { + + if (!definitions) { + throw new Error("Schema definitions missing."); + } + + /** + * Track all strategies in the schema by key. + * @type {Map} + * @property strategies + */ + this[strategies] = new Map(); + + /** + * Separately track any keys that are required for faster validation. + * @type {Map} + * @property requiredKeys + */ + this[requiredKeys] = new Map(); + + // add in all strategies + for (const key of Object.keys(definitions)) { + validateDefinition(key, definitions[key]); + + // normalize merge and validate methods if subschema is present + if (typeof definitions[key].schema === "object") { + const schema = new ObjectSchema(definitions[key].schema); + definitions[key] = { + ...definitions[key], + merge(first, second) { + if (first && second) { + return schema.merge(first, second); + } + + return MergeStrategy.assign(first, second); + }, + validate(value) { + ValidationStrategy.object(value); + schema.validate(value); + } + }; + } + + // normalize the merge method in case there's a string + if (typeof definitions[key].merge === "string") { + definitions[key] = { + ...definitions[key], + merge: MergeStrategy[definitions[key].merge] + }; + }; + + // normalize the validate method in case there's a string + if (typeof definitions[key].validate === "string") { + definitions[key] = { + ...definitions[key], + validate: ValidationStrategy[definitions[key].validate] + }; + }; + + this[strategies].set(key, definitions[key]); + + if (definitions[key].required) { + this[requiredKeys].set(key, definitions[key]); + } + } + } + + /** + * Determines if a strategy has been registered for the given object key. + * @param {string} key The object key to find a strategy for. + * @returns {boolean} True if the key has a strategy registered, false if not. + */ + hasKey(key) { + return this[strategies].has(key); + } + + /** + * Merges objects together to create a new object comprised of the keys + * of the all objects. Keys are merged based on the each key's merge + * strategy. + * @param {...Object} objects The objects to merge. + * @returns {Object} A new object with a mix of all objects' keys. + * @throws {Error} If any object is invalid. + */ + merge(...objects) { + + // double check arguments + if (objects.length < 2) { + throw new Error("merge() requires at least two arguments."); + } + + if (objects.some(object => (object == null || typeof object !== "object"))) { + throw new Error("All arguments must be objects."); + } + + return objects.reduce((result, object) => { + + this.validate(object); + + for (const [key, strategy] of this[strategies]) { + try { + if (key in result || key in object) { + const value = strategy.merge.call(this, result[key], object[key]); + if (value !== undefined) { + result[key] = value; + } + } + } catch (ex) { + ex.message = `Key "${key}": ` + ex.message; + throw ex; + } + } + return result; + }, {}); + } + + /** + * Validates an object's keys based on the validate strategy for each key. + * @param {Object} object The object to validate. + * @returns {void} + * @throws {Error} When the object is invalid. + */ + validate(object) { + + // check existing keys first + for (const key of Object.keys(object)) { + + // check to see if the key is defined + if (!this.hasKey(key)) { + throw new Error(`Unexpected key "${key}" found.`); + } + + // validate existing keys + const strategy = this[strategies].get(key); + + // first check to see if any other keys are required + if (Array.isArray(strategy.requires)) { + if (!strategy.requires.every(otherKey => otherKey in object)) { + throw new Error(`Key "${key}" requires keys "${strategy.requires.join("\", \"")}".`); + } + } + + // now apply remaining validation strategy + try { + strategy.validate.call(strategy, object[key]); + } catch (ex) { + ex.message = `Key "${key}": ` + ex.message; + throw ex; + } + } + + // ensure required keys aren't missing + for (const [key] of this[requiredKeys]) { + if (!(key in object)) { + throw new Error(`Missing required key "${key}".`); + } + } + + } +} + +exports.ObjectSchema = ObjectSchema; diff --git a/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js b/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js new file mode 100644 index 000000000..ecf918bdd --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js @@ -0,0 +1,102 @@ +/** + * @filedescription Validation Strategy + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +/** + * Container class for several different validation strategies. + */ +class ValidationStrategy { + + /** + * Validates that a value is an array. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static array(value) { + if (!Array.isArray(value)) { + throw new TypeError("Expected an array."); + } + } + + /** + * Validates that a value is a boolean. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static boolean(value) { + if (typeof value !== "boolean") { + throw new TypeError("Expected a Boolean."); + } + } + + /** + * Validates that a value is a number. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static number(value) { + if (typeof value !== "number") { + throw new TypeError("Expected a number."); + } + } + + /** + * Validates that a value is a object. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static object(value) { + if (!value || typeof value !== "object") { + throw new TypeError("Expected an object."); + } + } + + /** + * Validates that a value is a object or null. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static "object?"(value) { + if (typeof value !== "object") { + throw new TypeError("Expected an object or null."); + } + } + + /** + * Validates that a value is a string. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static string(value) { + if (typeof value !== "string") { + throw new TypeError("Expected a string."); + } + } + + /** + * Validates that a value is a non-empty string. + * @param {*} value The value to validate. + * @returns {void} + * @throws {TypeError} If the value is invalid. + */ + static "string!"(value) { + if (typeof value !== "string" || value.length === 0) { + throw new TypeError("Expected a non-empty string."); + } + } + +} + +exports.ValidationStrategy = ValidationStrategy; diff --git a/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js b/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js new file mode 100644 index 000000000..84032d7e8 --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js @@ -0,0 +1,66 @@ +/** + * @filedescription Merge Strategy Tests + */ +/* global it, describe, beforeEach */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const assert = require("chai").assert; +const { MergeStrategy } = require("../src/"); + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +describe("MergeStrategy", () => { + + + describe("overwrite()", () => { + + it("should overwrite the first value with the second when the second is defined", () => { + const result = MergeStrategy.overwrite(1, 2); + assert.strictEqual(result, 2); + }); + + it("should overwrite the first value with the second when the second is undefined", () => { + const result = MergeStrategy.overwrite(1, undefined); + assert.strictEqual(result, undefined); + }); + + }); + + describe("replace()", () => { + + it("should overwrite the first value with the second when the second is defined", () => { + const result = MergeStrategy.replace(1, 2); + assert.strictEqual(result, 2); + }); + + it("should return the first value when the second is undefined", () => { + const result = MergeStrategy.replace(1, undefined); + assert.strictEqual(result, 1); + }); + + }); + + describe("assign()", () => { + + it("should merge properties from two objects when called", () => { + + const object1 = { foo: 1, bar: 3 }; + const object2 = { foo: 2 }; + + const result = MergeStrategy.assign(object1, object2); + assert.deepStrictEqual(result, { + foo: 2, + bar: 3 + }); + }); + + }); + +}); diff --git a/node_modules/@humanwhocodes/object-schema/tests/object-schema.js b/node_modules/@humanwhocodes/object-schema/tests/object-schema.js new file mode 100644 index 000000000..bff00600c --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/tests/object-schema.js @@ -0,0 +1,528 @@ +/** + * @filedescription Object Schema Tests + */ +/* global it, describe, beforeEach */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const assert = require("chai").assert; +const { ObjectSchema } = require("../src/"); + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +describe("ObjectSchema", () => { + + let schema; + + describe("new ObjectSchema()", () => { + + it("should add a new key when a strategy is passed", () => { + schema = new ObjectSchema({ + foo: { + merge() {}, + validate() {} + } + }); + + assert.isTrue(schema.hasKey("foo")); + }); + + it("should throw an error when a strategy is missing a merge() method", () => { + assert.throws(() => { + schema = new ObjectSchema({ + foo: { + validate() { } + } + }); + }, /Definition for key "foo" must have a merge property/); + }); + + it("should throw an error when a strategy is missing a merge() method", () => { + assert.throws(() => { + schema = new ObjectSchema(); + }, /Schema definitions missing/); + }); + + it("should throw an error when a strategy is missing a validate() method", () => { + assert.throws(() => { + schema = new ObjectSchema({ + foo: { + merge() { }, + } + }); + }, /Definition for key "foo" must have a validate\(\) method/); + }); + + it("should throw an error when merge is an invalid string", () => { + assert.throws(() => { + new ObjectSchema({ + foo: { + merge: "bar", + validate() { } + } + }); + }, /key "foo" missing valid merge strategy/); + }); + + it("should throw an error when validate is an invalid string", () => { + assert.throws(() => { + new ObjectSchema({ + foo: { + merge: "assign", + validate: "s" + } + }); + }, /key "foo" missing valid validation strategy/); + }); + + }); + + + describe("merge()", () => { + + it("should throw an error when an unexpected key is found", () => { + let schema = new ObjectSchema({}); + + assert.throws(() => { + schema.merge({ foo: true }, { foo: true }); + }, /Unexpected key "foo"/); + }); + + it("should throw an error when merge() throws an error", () => { + let schema = new ObjectSchema({ + foo: { + merge() { + throw new Error("Boom!"); + }, + validate() {} + } + }); + + assert.throws(() => { + schema.merge({ foo: true }, { foo: true }); + }, /Key "foo": Boom!/); + + }); + + it("should call the merge() strategy for one key when called", () => { + + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() {} + } + }); + + const result = schema.merge({ foo: true }, { foo: false }); + assert.propertyVal(result, "foo", "bar"); + }); + + it("should not call the merge() strategy when both objects don't contain the key", () => { + + let called = false; + + schema = new ObjectSchema({ + foo: { + merge() { + called = true; + }, + validate() {} + } + }); + + schema.merge({}, {}); + assert.isFalse(called, "The merge() strategy should not have been called."); + }); + + it("should omit returning the key when the merge() strategy returns undefined", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return undefined; + }, + validate() { } + } + }); + + const result = schema.merge({ foo: true }, { foo: false }); + assert.notProperty(result, "foo"); + }); + + it("should call the merge() strategy for two keys when called", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() { } + }, + bar: { + merge() { + return "baz"; + }, + validate() {} + } + }); + + const result = schema.merge({ foo: true, bar: 1 }, { foo: true, bar: 2 }); + assert.propertyVal(result, "foo", "bar"); + assert.propertyVal(result, "bar", "baz"); + }); + + it("should call the merge() strategy for two keys when called on three objects", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() { } + }, + bar: { + merge() { + return "baz"; + }, + validate() { } + } + }); + + const result = schema.merge( + { foo: true, bar: 1 }, + { foo: true, bar: 3 }, + { foo: false, bar: 2 } + ); + assert.propertyVal(result, "foo", "bar"); + assert.propertyVal(result, "bar", "baz"); + }); + + it("should call the merge() strategy when defined as 'overwrite'", () => { + schema = new ObjectSchema({ + foo: { + merge: "overwrite", + validate() { } + } + }); + + const result = schema.merge( + { foo: true }, + { foo: false } + ); + assert.propertyVal(result, "foo", false); + }); + + it("should call the merge() strategy when defined as 'assign'", () => { + schema = new ObjectSchema({ + foo: { + merge: "assign", + validate() { } + } + }); + + const result = schema.merge( + { foo: { bar: true } }, + { foo: { baz: false } } + ); + + assert.strictEqual(result.foo.bar, true); + assert.strictEqual(result.foo.baz, false); + }); + + it("should call the merge strategy when there's a subschema", () => { + + schema = new ObjectSchema({ + name: { + schema: { + first: { + merge: "replace", + validate: "string" + }, + last: { + merge: "replace", + validate: "string" + } + } + } + }); + + const result = schema.merge({ + name: { + first: "n", + last: "z" + } + }, { + name: { + first: "g" + } + }); + + assert.strictEqual(result.name.first, "g"); + assert.strictEqual(result.name.last, "z"); + }); + + it("should not error when calling the merge strategy when there's a subschema and no matching key in second object", () => { + + schema = new ObjectSchema({ + name: { + schema: { + first: { + merge: "replace", + validate: "string" + }, + last: { + merge: "replace", + validate: "string" + } + } + } + }); + + const result = schema.merge({ + name: { + first: "n", + last: "z" + } + }, { + }); + + assert.strictEqual(result.name.first, "n"); + assert.strictEqual(result.name.last, "z"); + }); + + + }); + + describe("validate()", () => { + + it("should throw an error when an unexpected key is found", () => { + let schema = new ObjectSchema({}); + assert.throws(() => { + schema.validate({ foo: true }); + }, /Unexpected key "foo"/); + }); + + it("should not throw an error when an expected key is found", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() {} + } + }); + + schema.validate({ foo: true }); + }); + + it("should pass the property value into validate() when key is found", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate(value) { + assert.isTrue(value); + } + } + }); + + schema.validate({ foo: true }); + }); + + it("should not throw an error when expected keys are found", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() {} + }, + bar: { + merge() { + return "baz"; + }, + validate() {} + } + }); + + schema.validate({ foo: true, bar: true }); + }); + + it("should not throw an error when expected keys are found with required keys", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() { } + }, + bar: { + requires: ["foo"], + merge() { + return "baz"; + }, + validate() { } + } + }); + + schema.validate({ foo: true, bar: true }); + }); + + it("should throw an error when expected keys are found without required keys", () => { + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() { } + }, + baz: { + merge() { + return "baz"; + }, + validate() { } + }, + bar: { + name: "bar", + requires: ["foo", "baz"], + merge() { }, + validate() { } + } + }); + + assert.throws(() => { + schema.validate({ bar: true }); + }, /Key "bar" requires keys "foo", "baz"./); + }); + + + it("should throw an error when an expected key is found but is invalid", () => { + + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate() { + throw new Error("Invalid key."); + } + } + }); + + assert.throws(() => { + schema.validate({ foo: true }); + }, /Key "foo": Invalid key/); + }); + + it("should throw an error when an expected key is found but is invalid with a string validator", () => { + + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate: "string" + } + }); + + assert.throws(() => { + schema.validate({ foo: true }); + }, /Key "foo": Expected a string/); + }); + + it("should throw an error when an expected key is found but is invalid with a number validator", () => { + + schema = new ObjectSchema({ + foo: { + merge() { + return "bar"; + }, + validate: "number" + } + }); + + assert.throws(() => { + schema.validate({ foo: true }); + }, /Key "foo": Expected a number/); + }); + + it("should throw an error when a required key is missing", () => { + + schema = new ObjectSchema({ + foo: { + required: true, + merge() { + return "bar"; + }, + validate() {} + } + }); + + assert.throws(() => { + schema.validate({}); + }, /Missing required key "foo"/); + }); + + it("should throw an error when a subschema is provided and the value doesn't validate", () => { + + schema = new ObjectSchema({ + name: { + schema: { + first: { + merge: "replace", + validate: "string" + }, + last: { + merge: "replace", + validate: "string" + } + } + } + }); + + assert.throws(() => { + schema.validate({ + name: { + first: 123, + last: "z" + } + }); + + }, /Key "name": Key "first": Expected a string/); + }); + + it("should not throw an error when a subschema is provided and the value validates", () => { + + schema = new ObjectSchema({ + name: { + schema: { + first: { + merge: "replace", + validate: "string" + }, + last: { + merge: "replace", + validate: "string" + } + } + } + }); + + schema.validate({ + name: { + first: "n", + last: "z" + } + }); + + }); + + }); + +}); diff --git a/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js b/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js new file mode 100644 index 000000000..5d3e4a24d --- /dev/null +++ b/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js @@ -0,0 +1,186 @@ +/** + * @filedescription Merge Strategy Tests + */ +/* global it, describe, beforeEach */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const assert = require("chai").assert; +const { ValidationStrategy } = require("../src/"); + +//----------------------------------------------------------------------------- +// Class +//----------------------------------------------------------------------------- + +describe("ValidationStrategy", () => { + + describe("boolean", () => { + it("should not throw an error when the value is a boolean", () => { + ValidationStrategy.boolean(true); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy.boolean(null); + }, /Expected a Boolean/); + }); + + it("should throw an error when the value is a string", () => { + assert.throws(() => { + ValidationStrategy.boolean("foo"); + }, /Expected a Boolean/); + }); + + it("should throw an error when the value is a number", () => { + assert.throws(() => { + ValidationStrategy.boolean(123); + }, /Expected a Boolean/); + }); + + it("should throw an error when the value is an object", () => { + assert.throws(() => { + ValidationStrategy.boolean({}); + }, /Expected a Boolean/); + }); + }); + + describe("number", () => { + it("should not throw an error when the value is a number", () => { + ValidationStrategy.number(25); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy.number(null); + }, /Expected a number/); + }); + + it("should throw an error when the value is a string", () => { + assert.throws(() => { + ValidationStrategy.number("foo"); + }, /Expected a number/); + }); + + it("should throw an error when the value is a boolean", () => { + assert.throws(() => { + ValidationStrategy.number(true); + }, /Expected a number/); + }); + + it("should throw an error when the value is an object", () => { + assert.throws(() => { + ValidationStrategy.number({}); + }, /Expected a number/); + }); + }); + + describe("object", () => { + it("should not throw an error when the value is an object", () => { + ValidationStrategy.object({}); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy.object(null); + }, /Expected an object/); + }); + + it("should throw an error when the value is a string", () => { + assert.throws(() => { + ValidationStrategy.object(""); + }, /Expected an object/); + }); + }); + + describe("array", () => { + it("should not throw an error when the value is an array", () => { + ValidationStrategy.array([]); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy.array(null); + }, /Expected an array/); + }); + + it("should throw an error when the value is a string", () => { + assert.throws(() => { + ValidationStrategy.array(""); + }, /Expected an array/); + }); + + it("should throw an error when the value is an object", () => { + assert.throws(() => { + ValidationStrategy.array({}); + }, /Expected an array/); + }); + }); + + describe("object?", () => { + it("should not throw an error when the value is an object", () => { + ValidationStrategy["object?"]({}); + }); + + it("should not throw an error when the value is null", () => { + ValidationStrategy["object?"](null); + }); + + it("should throw an error when the value is a string", () => { + assert.throws(() => { + ValidationStrategy["object?"](""); + }, /Expected an object/); + }); + }); + + describe("string", () => { + it("should not throw an error when the value is a string", () => { + ValidationStrategy.string("foo"); + }); + + it("should not throw an error when the value is an empty string", () => { + ValidationStrategy.string(""); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy.string(null); + }, /Expected a string/); + }); + + it("should throw an error when the value is an object", () => { + assert.throws(() => { + ValidationStrategy.string({}); + }, /Expected a string/); + }); + }); + + describe("string!", () => { + it("should not throw an error when the value is an string", () => { + ValidationStrategy["string!"]("foo"); + }); + + it("should throw an error when the value is an empty string", () => { + assert.throws(() => { + ValidationStrategy["string!"](""); + }, /Expected a non-empty string/); + }); + + it("should throw an error when the value is null", () => { + assert.throws(() => { + ValidationStrategy["string!"](null); + }, /Expected a non-empty string/); + }); + + it("should throw an error when the value is an object", () => { + assert.throws(() => { + ValidationStrategy["string!"]({}); + }, /Expected a non-empty string/); + }); + }); + + +}); diff --git a/node_modules/@types/json-schema/LICENSE b/node_modules/@types/json-schema/LICENSE old mode 100644 new mode 100755 diff --git a/node_modules/@types/json-schema/README.md b/node_modules/@types/json-schema/README.md old mode 100644 new mode 100755 index 75b31e039..ffae5ebe6 --- a/node_modules/@types/json-schema/README.md +++ b/node_modules/@types/json-schema/README.md @@ -8,7 +8,7 @@ This package contains type definitions for json-schema 4.0, 6.0 and (https://git Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema. ### Additional Details - * Last updated: Mon, 31 Aug 2020 21:41:49 GMT + * Last updated: Tue, 06 Jul 2021 21:33:48 GMT * Dependencies: none * Global values: none diff --git a/node_modules/@types/json-schema/index.d.ts b/node_modules/@types/json-schema/index.d.ts old mode 100644 new mode 100755 index be735fbf8..5c73eb43e --- a/node_modules/@types/json-schema/index.d.ts +++ b/node_modules/@types/json-schema/index.d.ts @@ -16,7 +16,7 @@ * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 */ export type JSONSchema4TypeName = - | 'string' + | 'string' // | 'number' | 'integer' | 'boolean' @@ -29,7 +29,7 @@ export type JSONSchema4TypeName = * @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.5 */ export type JSONSchema4Type = - | string + | string // | number | boolean | JSONSchema4Object @@ -65,9 +65,9 @@ export type JSONSchema4Version = string; * @see https://tools.ietf.org/html/draft-zyp-json-schema-04 */ export interface JSONSchema4 { - id?: string - $ref?: string - $schema?: JSONSchema4Version + id?: string | undefined; + $ref?: string | undefined; + $schema?: JSONSchema4Version | undefined; /** * This attribute is a string that provides a short description of the @@ -75,7 +75,7 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.21 */ - title?: string + title?: string | undefined; /** * This attribute is a string that provides a full description of the of @@ -83,17 +83,17 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.22 */ - description?: string + description?: string | undefined; - default?: JSONSchema4Type - multipleOf?: number - maximum?: number - exclusiveMaximum?: boolean - minimum?: number - exclusiveMinimum?: boolean - maxLength?: number - minLength?: number - pattern?: string + default?: JSONSchema4Type | undefined; + multipleOf?: number | undefined; + maximum?: number | undefined; + exclusiveMaximum?: boolean | undefined; + minimum?: number | undefined; + exclusiveMinimum?: boolean | undefined; + maxLength?: number | undefined; + minLength?: number | undefined; + pattern?: string | undefined; /** * May only be defined when "items" is defined, and is a tuple of JSONSchemas. @@ -105,7 +105,7 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.6 */ - additionalItems?: boolean | JSONSchema4 + additionalItems?: boolean | JSONSchema4 | undefined; /** * This attribute defines the allowed items in an instance array, and @@ -126,13 +126,13 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.5 */ - items?: JSONSchema4 | JSONSchema4[] + items?: JSONSchema4 | JSONSchema4[] | undefined; - maxItems?: number - minItems?: number - uniqueItems?: boolean - maxProperties?: number - minProperties?: number + maxItems?: number | undefined; + minItems?: number | undefined; + uniqueItems?: boolean | undefined; + maxProperties?: number | undefined; + minProperties?: number | undefined; /** * This attribute indicates if the instance must have a value, and not @@ -141,7 +141,7 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.7 */ - required?: false | string[] + required?: false | string[] | undefined; /** * This attribute defines a schema for all properties that are not @@ -153,11 +153,11 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.4 */ - additionalProperties?: boolean | JSONSchema4 + additionalProperties?: boolean | JSONSchema4 | undefined; definitions?: { - [k: string]: JSONSchema4 - } + [k: string]: JSONSchema4; + } | undefined; /** * This attribute is an object with property definitions that define the @@ -173,8 +173,8 @@ export interface JSONSchema4 { * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.2 */ properties?: { - [k: string]: JSONSchema4 - } + [k: string]: JSONSchema4; + } | undefined; /** * This attribute is an object that defines the schema for a set of @@ -188,11 +188,11 @@ export interface JSONSchema4 { * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.3 */ patternProperties?: { - [k: string]: JSONSchema4 - } + [k: string]: JSONSchema4; + } | undefined; dependencies?: { - [k: string]: JSONSchema4 | string[] - } + [k: string]: JSONSchema4 | string[]; + } | undefined; /** * This provides an enumeration of all possible values that are valid @@ -203,17 +203,17 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 */ - enum?: JSONSchema4Type[] + enum?: JSONSchema4Type[] | undefined; /** * A single type, or a union of simple types */ - type?: JSONSchema4TypeName | JSONSchema4TypeName[] + type?: JSONSchema4TypeName | JSONSchema4TypeName[] | undefined; - allOf?: JSONSchema4[] - anyOf?: JSONSchema4[] - oneOf?: JSONSchema4[] - not?: JSONSchema4 + allOf?: JSONSchema4[] | undefined; + anyOf?: JSONSchema4[] | undefined; + oneOf?: JSONSchema4[] | undefined; + not?: JSONSchema4 | undefined; /** * The value of this property MUST be another schema which will provide @@ -231,14 +231,14 @@ export interface JSONSchema4 { * * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.26 */ - extends?: string | string[] + extends?: string | string[] | undefined; /** * @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-5.6 */ - [k: string]: any + [k: string]: any; - format?: string + format?: string | undefined; } //================================================================================================== @@ -246,7 +246,7 @@ export interface JSONSchema4 { //================================================================================================== export type JSONSchema6TypeName = - | 'string' + | 'string' // | 'number' | 'integer' | 'boolean' @@ -256,7 +256,7 @@ export type JSONSchema6TypeName = | 'any'; export type JSONSchema6Type = - | string + | string // | number | boolean | JSONSchema6Object @@ -291,51 +291,51 @@ export type JSONSchema6Version = string; */ export type JSONSchema6Definition = JSONSchema6 | boolean; export interface JSONSchema6 { - $id?: string - $ref?: string - $schema?: JSONSchema6Version + $id?: string | undefined; + $ref?: string | undefined; + $schema?: JSONSchema6Version | undefined; /** * Must be strictly greater than 0. * A numeric instance is valid only if division by this keyword's value results in an integer. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.1 */ - multipleOf?: number + multipleOf?: number | undefined; /** * Representing an inclusive upper limit for a numeric instance. * This keyword validates only if the instance is less than or exactly equal to "maximum". * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.2 */ - maximum?: number + maximum?: number | undefined; /** * Representing an exclusive upper limit for a numeric instance. * This keyword validates only if the instance is strictly less than (not equal to) to "exclusiveMaximum". * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.3 */ - exclusiveMaximum?: number + exclusiveMaximum?: number | undefined; /** * Representing an inclusive lower limit for a numeric instance. * This keyword validates only if the instance is greater than or exactly equal to "minimum". * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.4 */ - minimum?: number + minimum?: number | undefined; /** * Representing an exclusive lower limit for a numeric instance. * This keyword validates only if the instance is strictly greater than (not equal to) to "exclusiveMinimum". * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.5 */ - exclusiveMinimum?: number + exclusiveMinimum?: number | undefined; /** * Must be a non-negative integer. * A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.6 */ - maxLength?: number + maxLength?: number | undefined; /** * Must be a non-negative integer. @@ -343,20 +343,20 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as a value of 0. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.7 */ - minLength?: number + minLength?: number | undefined; /** * Should be a valid regular expression, according to the ECMA 262 regular expression dialect. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.8 */ - pattern?: string + pattern?: string | undefined; /** * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself. * Omitting this keyword has the same behavior as an empty schema. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.9 */ - items?: JSONSchema6Definition | JSONSchema6Definition[] + items?: JSONSchema6Definition | JSONSchema6Definition[] | undefined; /** * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself. @@ -367,14 +367,14 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as an empty schema. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.10 */ - additionalItems?: JSONSchema6Definition + additionalItems?: JSONSchema6Definition | undefined; /** * Must be a non-negative integer. * An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.11 */ - maxItems?: number + maxItems?: number | undefined; /** * Must be a non-negative integer. @@ -382,7 +382,7 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as a value of 0. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.12 */ - minItems?: number + minItems?: number | undefined; /** * If this keyword has boolean value false, the instance validates successfully. @@ -390,20 +390,20 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as a value of false. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.13 */ - uniqueItems?: boolean + uniqueItems?: boolean | undefined; /** * An array instance is valid against "contains" if at least one of its elements is valid against the given schema. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.14 */ - contains?: JSONSchema6Definition + contains?: JSONSchema6Definition | undefined; /** * Must be a non-negative integer. * An object instance is valid against "maxProperties" if its number of properties is less than, or equal to, the value of this keyword. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.15 */ - maxProperties?: number + maxProperties?: number | undefined; /** * Must be a non-negative integer. @@ -412,7 +412,7 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as a value of 0. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.16 */ - minProperties?: number + minProperties?: number | undefined; /** * Elements of this array must be unique. @@ -421,7 +421,7 @@ export interface JSONSchema6 { * * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.17 */ - required?: string[] + required?: string[] | undefined; /** * This keyword determines how child instances validate for objects, and does not directly validate the immediate instance itself. @@ -431,8 +431,8 @@ export interface JSONSchema6 { * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.18 */ properties?: { - [k: string]: JSONSchema6Definition - } + [k: string]: JSONSchema6Definition; + } | undefined; /** * This attribute is an object that defines the schema for a set of property names of an object instance. @@ -443,8 +443,8 @@ export interface JSONSchema6 { * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.19 */ patternProperties?: { - [k: string]: JSONSchema6Definition - } + [k: string]: JSONSchema6Definition; + } | undefined; /** * This attribute defines a schema for all properties that are not explicitly defined in an object type definition. @@ -453,7 +453,7 @@ export interface JSONSchema6 { * The default value is an empty schema which allows any value for additional properties. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.20 */ - additionalProperties?: JSONSchema6Definition + additionalProperties?: JSONSchema6Definition | undefined; /** * This keyword specifies rules that are evaluated if the instance is an object and contains a certain property. @@ -463,8 +463,8 @@ export interface JSONSchema6 { * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.21 */ dependencies?: { - [k: string]: JSONSchema6Definition | string[] - } + [k: string]: JSONSchema6Definition | string[]; + } | undefined; /** * Takes a schema which validates the names of all properties rather than their values. @@ -472,7 +472,7 @@ export interface JSONSchema6 { * Omitting this keyword has the same behavior as an empty schema. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.22 */ - propertyNames?: JSONSchema6Definition + propertyNames?: JSONSchema6Definition | undefined; /** * This provides an enumeration of all possible values that are valid @@ -483,78 +483,78 @@ export interface JSONSchema6 { * * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.23 */ - enum?: JSONSchema6Type[] + enum?: JSONSchema6Type[] | undefined; /** * More readable form of a one-element "enum" * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.24 */ - const?: JSONSchema6Type + const?: JSONSchema6Type | undefined; /** * A single type, or a union of simple types * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.25 */ - type?: JSONSchema6TypeName | JSONSchema6TypeName[] + type?: JSONSchema6TypeName | JSONSchema6TypeName[] | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.26 */ - allOf?: JSONSchema6Definition[] + allOf?: JSONSchema6Definition[] | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.27 */ - anyOf?: JSONSchema6Definition[] + anyOf?: JSONSchema6Definition[] | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.28 */ - oneOf?: JSONSchema6Definition[] + oneOf?: JSONSchema6Definition[] | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.29 */ - not?: JSONSchema6Definition + not?: JSONSchema6Definition | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.1 */ definitions?: { - [k: string]: JSONSchema6Definition - } + [k: string]: JSONSchema6Definition; + } | undefined; /** * This attribute is a string that provides a short description of the instance property. * * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2 */ - title?: string + title?: string | undefined; /** * This attribute is a string that provides a full description of the of purpose the instance property. * * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2 */ - description?: string + description?: string | undefined; /** * This keyword can be used to supply a default JSON value associated with a particular schema. * It is RECOMMENDED that a default value be valid against the associated schema. * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.3 */ - default?: JSONSchema6Type + default?: JSONSchema6Type | undefined; /** * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4 */ - examples?: JSONSchema6Type[] + examples?: JSONSchema6Type[] | undefined; /** * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-8 */ - format?: string + format?: string | undefined; } //================================================================================================== @@ -568,7 +568,7 @@ export interface JSONSchema6 { * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1 */ export type JSONSchema7TypeName = - | 'string' + | 'string' // | 'number' | 'integer' | 'boolean' @@ -581,7 +581,7 @@ export type JSONSchema7TypeName = * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1 */ export type JSONSchema7Type = - | string + | string // | number | boolean | JSONSchema7Object @@ -616,104 +616,104 @@ export type JSONSchema7Version = string; */ export type JSONSchema7Definition = JSONSchema7 | boolean; export interface JSONSchema7 { - $id?: string; - $ref?: string; - $schema?: JSONSchema7Version; - $comment?: string; + $id?: string | undefined; + $ref?: string | undefined; + $schema?: JSONSchema7Version | undefined; + $comment?: string | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1 */ - type?: JSONSchema7TypeName | JSONSchema7TypeName[]; - enum?: JSONSchema7Type[]; - const?: JSONSchema7Type; + type?: JSONSchema7TypeName | JSONSchema7TypeName[] | undefined; + enum?: JSONSchema7Type[] | undefined; + const?: JSONSchema7Type | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.2 */ - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: number; - minimum?: number; - exclusiveMinimum?: number; + multipleOf?: number | undefined; + maximum?: number | undefined; + exclusiveMaximum?: number | undefined; + minimum?: number | undefined; + exclusiveMinimum?: number | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.3 */ - maxLength?: number; - minLength?: number; - pattern?: string; + maxLength?: number | undefined; + minLength?: number | undefined; + pattern?: string | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.4 */ - items?: JSONSchema7Definition | JSONSchema7Definition[]; - additionalItems?: JSONSchema7Definition; - maxItems?: number; - minItems?: number; - uniqueItems?: boolean; - contains?: JSONSchema7; + items?: JSONSchema7Definition | JSONSchema7Definition[] | undefined; + additionalItems?: JSONSchema7Definition | undefined; + maxItems?: number | undefined; + minItems?: number | undefined; + uniqueItems?: boolean | undefined; + contains?: JSONSchema7 | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.5 */ - maxProperties?: number; - minProperties?: number; - required?: string[]; + maxProperties?: number | undefined; + minProperties?: number | undefined; + required?: string[] | undefined; properties?: { [key: string]: JSONSchema7Definition; - }; + } | undefined; patternProperties?: { [key: string]: JSONSchema7Definition; - }; - additionalProperties?: JSONSchema7Definition; + } | undefined; + additionalProperties?: JSONSchema7Definition | undefined; dependencies?: { [key: string]: JSONSchema7Definition | string[]; - }; - propertyNames?: JSONSchema7Definition; + } | undefined; + propertyNames?: JSONSchema7Definition | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.6 */ - if?: JSONSchema7Definition; - then?: JSONSchema7Definition; - else?: JSONSchema7Definition; + if?: JSONSchema7Definition | undefined; + then?: JSONSchema7Definition | undefined; + else?: JSONSchema7Definition | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.7 */ - allOf?: JSONSchema7Definition[]; - anyOf?: JSONSchema7Definition[]; - oneOf?: JSONSchema7Definition[]; - not?: JSONSchema7Definition; + allOf?: JSONSchema7Definition[] | undefined; + anyOf?: JSONSchema7Definition[] | undefined; + oneOf?: JSONSchema7Definition[] | undefined; + not?: JSONSchema7Definition | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-7 */ - format?: string; + format?: string | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-8 */ - contentMediaType?: string; - contentEncoding?: string; + contentMediaType?: string | undefined; + contentEncoding?: string | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-9 */ definitions?: { [key: string]: JSONSchema7Definition; - }; + } | undefined; /** * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-10 */ - title?: string; - description?: string; - default?: JSONSchema7Type; - readOnly?: boolean; - writeOnly?: boolean; - examples?: JSONSchema7Type; + title?: string | undefined; + description?: string | undefined; + default?: JSONSchema7Type | undefined; + readOnly?: boolean | undefined; + writeOnly?: boolean | undefined; + examples?: JSONSchema7Type | undefined; } export interface ValidationResult { @@ -739,7 +739,11 @@ export function validate(instance: {}, schema: JSONSchema4 | JSONSchema6 | JSONS * This is slightly different than the validate method in that it will fail if the schema is readonly and it will * not check for self-validation, it is assumed that the passed in value is already internally valid. */ -export function checkPropertyChange(value: any, schema: JSONSchema4 | JSONSchema6 | JSONSchema7, property: string): ValidationResult; +export function checkPropertyChange( + value: any, + schema: JSONSchema4 | JSONSchema6 | JSONSchema7, + property: string, +): ValidationResult; /** * This checks to ensure that the result is valid and will throw an appropriate error message if it is not. diff --git a/node_modules/@types/json-schema/package.json b/node_modules/@types/json-schema/package.json old mode 100644 new mode 100755 index 7e1d206a9..61c237964 --- a/node_modules/@types/json-schema/package.json +++ b/node_modules/@types/json-schema/package.json @@ -1,7 +1,8 @@ { "name": "@types/json-schema", - "version": "7.0.6", + "version": "7.0.8", "description": "TypeScript definitions for json-schema 4.0, 6.0 and", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema", "license": "MIT", "contributors": [ { @@ -39,6 +40,6 @@ }, "scripts": {}, "dependencies": {}, - "typesPublisherContentHash": "bb4b22e70ee94bf7b787307444fcee2f57a8869f012a460ed8f15b5b6985ed70", - "typeScriptVersion": "3.1" + "typesPublisherContentHash": "a58f3eeeeaaf6f6dd512e6c35e095675ba3d36c3dbae363a90d6927e672d0906", + "typeScriptVersion": "3.6" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/CHANGELOG.md b/node_modules/@typescript-eslint/eslint-plugin/CHANGELOG.md index 7bc2c3c4d..4409fd548 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/CHANGELOG.md +++ b/node_modules/@typescript-eslint/eslint-plugin/CHANGELOG.md @@ -3,6 +3,662 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + + +### Bug Fixes + +* **eslint-plugin:** [prefer-regexp-exec] factor in union types ([#3434](https://github.com/typescript-eslint/typescript-eslint/issues/3434)) ([ac86a79](https://github.com/typescript-eslint/typescript-eslint/commit/ac86a79bd416f031beccc7bdac28a938cb354ba5)) + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + + +### Bug Fixes + +* **eslint-plugin:** allow explicit any for no-unsafe-return ([#3498](https://github.com/typescript-eslint/typescript-eslint/issues/3498)) ([b15a2b2](https://github.com/typescript-eslint/typescript-eslint/commit/b15a2b2a02dc9af2b47b77eb3aede73ffa85ac66)) + + +### Features + +* **eslint-plugin:** [prefer-literal-enum-member] add allowBitwiseExpressions option ([#3515](https://github.com/typescript-eslint/typescript-eslint/issues/3515)) ([288092a](https://github.com/typescript-eslint/typescript-eslint/commit/288092a085fdd9abaffe0aa1d0b37a8844dd86ff)) + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + + +### Bug Fixes + +* **eslint-plugin:** [prefer-includes] ignore option chaining before indexOfs ([#3432](https://github.com/typescript-eslint/typescript-eslint/issues/3432)) ([bf0cddb](https://github.com/typescript-eslint/typescript-eslint/commit/bf0cddbe5291bbc03e2d79aa680f93680222b67f)) +* **eslint-plugin:** fix doc url generation ([#3475](https://github.com/typescript-eslint/typescript-eslint/issues/3475)) ([fc5f171](https://github.com/typescript-eslint/typescript-eslint/commit/fc5f171b1ade2b45a1a4268b6d22926d420282a6)), closes [#3473](https://github.com/typescript-eslint/typescript-eslint/issues/3473) + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + + +### Bug Fixes + +* **eslint-plugin:** [no-type-alias] consider type imports as alias types ([#3433](https://github.com/typescript-eslint/typescript-eslint/issues/3433)) ([d4f0774](https://github.com/typescript-eslint/typescript-eslint/commit/d4f077473afb04f7c4d377dd87318749632b4404)) + + +### Features + +* **eslint-plugin:** [member-ordering] add callback as an ordering type of node ([#3354](https://github.com/typescript-eslint/typescript-eslint/issues/3354)) ([d134b1f](https://github.com/typescript-eslint/typescript-eslint/commit/d134b1fa2540dec7094728f3dec1bbb8c644fe58)) +* **eslint-plugin:** [space-infix-ops] Add support for Union and intersection of type declarations ([#3360](https://github.com/typescript-eslint/typescript-eslint/issues/3360)) ([3d29323](https://github.com/typescript-eslint/typescript-eslint/commit/3d2932390cc335ab2cf80ae7a7fad066fd2eb22b)) + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + + +### Bug Fixes + +* corrected no-unsupported-browser-code in roadmap as unimplemented ([#3407](https://github.com/typescript-eslint/typescript-eslint/issues/3407)) ([2319b0e](https://github.com/typescript-eslint/typescript-eslint/commit/2319b0e1847991b8b8902ff4a3b779f1a27c7a45)) + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + + +### Bug Fixes + +* **eslint-plugin:** [no-shadow] fix static class method generics shadowing class generics ([#3393](https://github.com/typescript-eslint/typescript-eslint/issues/3393)) ([b1e1c8a](https://github.com/typescript-eslint/typescript-eslint/commit/b1e1c8a44695a58d29d19cf32ce35a8267bf506f)), closes [#2592](https://github.com/typescript-eslint/typescript-eslint/issues/2592) +* **eslint-plugin:** [no-unsafe-*] special case handling for the empty map constructor with no generics ([#3394](https://github.com/typescript-eslint/typescript-eslint/issues/3394)) ([cae4f4a](https://github.com/typescript-eslint/typescript-eslint/commit/cae4f4a0f33f8c954b1670d0abcfc8edd6193a06)), closes [#2109](https://github.com/typescript-eslint/typescript-eslint/issues/2109) + + +### Features + +* **eslint-plugin:** [dot-notation] optionally allow square bracket notation where an index signature exists in conjunction with `noPropertyAccessFromIndexSignature` ([#3361](https://github.com/typescript-eslint/typescript-eslint/issues/3361)) ([37ec2c2](https://github.com/typescript-eslint/typescript-eslint/commit/37ec2c2264add3e6ce20ac4e02d48644afda3fa8)) + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Bug Fixes + +* **scope-manager:** fix visiting TSAsExpression in assignment ([#3355](https://github.com/typescript-eslint/typescript-eslint/issues/3355)) ([87521a0](https://github.com/typescript-eslint/typescript-eslint/commit/87521a024103bc5fc643861649bee9a288f55b7b)) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + + +### Bug Fixes + +* **eslint-plugin:** [no-unsafe-argument] handle tuple types on rest arguments ([#3269](https://github.com/typescript-eslint/typescript-eslint/issues/3269)) ([6f8cfe6](https://github.com/typescript-eslint/typescript-eslint/commit/6f8cfe6f83ee26b66b2146cc17b1205100a54a9c)) + + +### Features + +* **eslint-plugin:** [prefer-regexp-exec] add autofix ([#3207](https://github.com/typescript-eslint/typescript-eslint/issues/3207)) ([e2cbeef](https://github.com/typescript-eslint/typescript-eslint/commit/e2cbeefb3d9a7cce257b5675f7f19f1b159a9d26)) + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + + +### Bug Fixes + +* **eslint-plugin:** [no-type-alias] consider `keyof` as an alias ([#3242](https://github.com/typescript-eslint/typescript-eslint/issues/3242)) ([329ef02](https://github.com/typescript-eslint/typescript-eslint/commit/329ef023090c004694b5996ddb04fdde5b05ebb0)) +* **eslint-plugin:** [no-unnecessary-type-assertion] correct bad fix for angle bracket assertion ([#3244](https://github.com/typescript-eslint/typescript-eslint/issues/3244)) ([265a039](https://github.com/typescript-eslint/typescript-eslint/commit/265a039c7e728b719143e09ee61066039d721f62)) +* **eslint-plugin:** [restrict-plus-operands] consider template literal types as strings ([#3234](https://github.com/typescript-eslint/typescript-eslint/issues/3234)) ([ccfd68e](https://github.com/typescript-eslint/typescript-eslint/commit/ccfd68e365391b3f117df96792355f9c3655288c)) +* **eslint-plugin:** [strict-boolean-expressions] account for truthy literals ([#3236](https://github.com/typescript-eslint/typescript-eslint/issues/3236)) ([0913f40](https://github.com/typescript-eslint/typescript-eslint/commit/0913f40c87762de198b05a5473b4fb79aeb46967)) +* **eslint-plugin:** always ignore assignments in no-unnecessary-type-assertion ([#3235](https://github.com/typescript-eslint/typescript-eslint/issues/3235)) ([0221476](https://github.com/typescript-eslint/typescript-eslint/commit/02214768a3721d8514c70e00546e861da6581e4d)) + + +### Features + +* **eslint-plugin:** [no-unsafe-argument] add rule ([#3256](https://github.com/typescript-eslint/typescript-eslint/issues/3256)) ([b1aa7dc](https://github.com/typescript-eslint/typescript-eslint/commit/b1aa7dc6971ee8409b729dffb8b69478455734ed)), closes [#791](https://github.com/typescript-eslint/typescript-eslint/issues/791) +* **eslint-plugin:** [no-unsafe-call][no-unsafe-member-access] improve report messages for `this` for `noImplicitThis` ([#3199](https://github.com/typescript-eslint/typescript-eslint/issues/3199)) ([b1b26c4](https://github.com/typescript-eslint/typescript-eslint/commit/b1b26c4843a4cfa209a0c9c3d8bea1de37333b48)) + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + + +### Features + +* **eslint-plugin:** [space-infix-ops] support for class properties and type aliases ([#3231](https://github.com/typescript-eslint/typescript-eslint/issues/3231)) ([5414bf2](https://github.com/typescript-eslint/typescript-eslint/commit/5414bf27a81311099d001808475d9cf832ce3bfe)) +* **eslint-plugin:** [type-annotation-spacing] handle space between ? and : ([#3138](https://github.com/typescript-eslint/typescript-eslint/issues/3138)) ([40bdb0b](https://github.com/typescript-eslint/typescript-eslint/commit/40bdb0b27b21de511f0ecd151cb8282a625ca6e1)) + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + + +### Bug Fixes + +* **eslint-plugin:** [member-delimiter-style] correct invalid fix for multiline with params on the same line ([#3177](https://github.com/typescript-eslint/typescript-eslint/issues/3177)) ([7ad343b](https://github.com/typescript-eslint/typescript-eslint/commit/7ad343b067040f6ea816b129323d110d4bc2e830)) +* **eslint-plugin:** [promise-function-async] bad fixer with computed and literal methods ([#3163](https://github.com/typescript-eslint/typescript-eslint/issues/3163)) ([e3a3ea0](https://github.com/typescript-eslint/typescript-eslint/commit/e3a3ea04757464aa2dded1ef46af8ad4e05246f2)) + + +### Features + +* **eslint-plugin:** [object-curly-spacing] support MappedType ([#3176](https://github.com/typescript-eslint/typescript-eslint/issues/3176)) ([0557a43](https://github.com/typescript-eslint/typescript-eslint/commit/0557a439327557f4c0369ae2dddc8282ba45bfe6)) +* **eslint-plugin:** [unbound-method] improve error message ([#3203](https://github.com/typescript-eslint/typescript-eslint/issues/3203)) ([5cc5d2e](https://github.com/typescript-eslint/typescript-eslint/commit/5cc5d2ef6d924d301e87f7bcf599352310e74b2c)), closes [#3201](https://github.com/typescript-eslint/typescript-eslint/issues/3201) + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + + +### Bug Fixes + +* **eslint-plugin:** [explicit-module-boundary-types] fixes [#2864](https://github.com/typescript-eslint/typescript-eslint/issues/2864) related to functions in nested object properties ([#3178](https://github.com/typescript-eslint/typescript-eslint/issues/3178)) ([55e1fba](https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b)) +* **eslint-plugin:** [no-extran-class] allowWithDecorator should ignore other errors ([#3160](https://github.com/typescript-eslint/typescript-eslint/issues/3160)) ([a148673](https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5)) + + +### Features + +* **eslint-plugin:** add package type declaration ([#3164](https://github.com/typescript-eslint/typescript-eslint/issues/3164)) ([08b058a](https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f)) + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + + +### Bug Fixes + +* **eslint-plugin:** [no-unnecessary-type-assertion] handle assignment ([#3133](https://github.com/typescript-eslint/typescript-eslint/issues/3133)) ([cb22561](https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5)) + + +### Features + +* **eslint-plugin:** [strict-bool-expr] add fixes and suggestions ([#2847](https://github.com/typescript-eslint/typescript-eslint/issues/2847)) ([3f9e9a1](https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402)) + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + + +### Bug Fixes + +* **eslint-plugin:** [consistent-indexed-object-style] do not autofix if interface has extends ([#3009](https://github.com/typescript-eslint/typescript-eslint/issues/3009)) ([b0475af](https://github.com/typescript-eslint/typescript-eslint/commit/b0475aff3920d748fa74b5a6d8a7ad5dd731aec4)) +* **eslint-plugin:** [no-implied-eval] handle conditional expression ([#3125](https://github.com/typescript-eslint/typescript-eslint/issues/3125)) ([8c65d30](https://github.com/typescript-eslint/typescript-eslint/commit/8c65d30a225a3b99e80326961d0cb0c8189b039c)) +* **eslint-plugin:** [no-unused-vars] don't report nested module declaration ([#3119](https://github.com/typescript-eslint/typescript-eslint/issues/3119)) ([4ca5888](https://github.com/typescript-eslint/typescript-eslint/commit/4ca58886adf3fc0fe31c263559990c8a534205f9)) +* **eslint-plugin:** [prefer-function-type] apply existing comments to the fixed code ([#3094](https://github.com/typescript-eslint/typescript-eslint/issues/3094)) ([c32f803](https://github.com/typescript-eslint/typescript-eslint/commit/c32f803d4480acf5ffc88e308b4243e5185c4f48)) +* **eslint-plugin:** [unbound-method] allow `super` expressions in `this` assignments ([#3010](https://github.com/typescript-eslint/typescript-eslint/issues/3010)) ([c65a139](https://github.com/typescript-eslint/typescript-eslint/commit/c65a1391be15bbcf3ae293b1c53686703883d546)) + + +### Features + +* **eslint-plugin:** [member-delimiter-style] Add an option 'multilineDetection' to treat types and interfaces as single line if the last member ends on the same line as the closing bracket ([#2970](https://github.com/typescript-eslint/typescript-eslint/issues/2970)) ([cf86f42](https://github.com/typescript-eslint/typescript-eslint/commit/cf86f427186d58b0fce4bb3ff9571c4301babeb3)) +* **eslint-plugin:** [prom-func-async] report only function head ([#2872](https://github.com/typescript-eslint/typescript-eslint/issues/2872)) ([25f459c](https://github.com/typescript-eslint/typescript-eslint/commit/25f459cdc4f38d44b48554e04cfa1676538ccdfb)) + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + + +### Bug Fixes + +* **typescript-estree:** correct issues in AST definition ([#3083](https://github.com/typescript-eslint/typescript-eslint/issues/3083)) ([509a117](https://github.com/typescript-eslint/typescript-eslint/commit/509a11749f85400a01e9fecfecd12871ce562d3d)) +* add missing intrinsic keyword node to AST ([#3081](https://github.com/typescript-eslint/typescript-eslint/issues/3081)) ([409bf0b](https://github.com/typescript-eslint/typescript-eslint/commit/409bf0bb3e2ac4d8782408d436ebdefb42dba38b)) +* **eslint-plugin:** [no-var-requires] report when used in type assertion ([#3074](https://github.com/typescript-eslint/typescript-eslint/issues/3074)) ([763a252](https://github.com/typescript-eslint/typescript-eslint/commit/763a2520bfea09c3b6252ea36bc3ff10b05eca6c)) + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + + +### Bug Fixes + +* **eslint-plugin:** [explicit-module-boundary-types] check allowNames on function declarations and property methods ([#3051](https://github.com/typescript-eslint/typescript-eslint/issues/3051)) ([0ade469](https://github.com/typescript-eslint/typescript-eslint/commit/0ade469dc1cf17d79c36a9c985630d60491ed847)) + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + + +### Bug Fixes + +* **eslint-plugin:** [no-extra-parens] handle ESLint 7.19.0 ([#2993](https://github.com/typescript-eslint/typescript-eslint/issues/2993)) ([4615048](https://github.com/typescript-eslint/typescript-eslint/commit/4615048d24359e0fc57b90a96acf4d8ded1dc7bf)) +* **eslint-plugin:** [prefer-function-type] correct fixer when signature ends with a semi ([#3002](https://github.com/typescript-eslint/typescript-eslint/issues/3002)) ([898dd39](https://github.com/typescript-eslint/typescript-eslint/commit/898dd3961944a5da3a129e9eba02634286e7aee4)) +* **scope-manager:** fix visiting of TSImportType ([#3008](https://github.com/typescript-eslint/typescript-eslint/issues/3008)) ([ce4fcbf](https://github.com/typescript-eslint/typescript-eslint/commit/ce4fcbf4401098387a2cf19ae8457c89c509239a)), closes [#3006](https://github.com/typescript-eslint/typescript-eslint/issues/3006) + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + + +### Bug Fixes + +* **eslint-plugin:** [consistent-type-imports] incorrect handling of computed property type signatures ([#2990](https://github.com/typescript-eslint/typescript-eslint/issues/2990)) ([58f2655](https://github.com/typescript-eslint/typescript-eslint/commit/58f26555f62b5f59f13260306638d3148cde6079)), closes [#2989](https://github.com/typescript-eslint/typescript-eslint/issues/2989) +* **scope-manager:** correctly reference generic parameters when decorator metadata is enabled ([#2975](https://github.com/typescript-eslint/typescript-eslint/issues/2975)) ([7695ef3](https://github.com/typescript-eslint/typescript-eslint/commit/7695ef318f1cc8688acaabf4f2730769622f083f)), closes [#2972](https://github.com/typescript-eslint/typescript-eslint/issues/2972) + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + + +### Bug Fixes + +* **eslint-plugin:** [sort-type-union-intersection-members] consider `void` as a `nullish` ([#2944](https://github.com/typescript-eslint/typescript-eslint/issues/2944)) ([a241b25](https://github.com/typescript-eslint/typescript-eslint/commit/a241b25863eb063986fab76b511f478bbba91f47)), closes [#2940](https://github.com/typescript-eslint/typescript-eslint/issues/2940) +* **scope-manager:** fix incorrect handling of class decorators and class method default params ([#2943](https://github.com/typescript-eslint/typescript-eslint/issues/2943)) ([e1eac83](https://github.com/typescript-eslint/typescript-eslint/commit/e1eac8312268d1855a2ed7784b4d190ecb9c9fa4)), closes [#2941](https://github.com/typescript-eslint/typescript-eslint/issues/2941) [#2942](https://github.com/typescript-eslint/typescript-eslint/issues/2942) [#2751](https://github.com/typescript-eslint/typescript-eslint/issues/2751) + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + + +### Features + +* add support for decorator metadata in scope analysis and in consistent-type-imports ([#2751](https://github.com/typescript-eslint/typescript-eslint/issues/2751)) ([445e416](https://github.com/typescript-eslint/typescript-eslint/commit/445e416878b27a54bf07c2d3b84dabd7b06e51bc)), closes [#2559](https://github.com/typescript-eslint/typescript-eslint/issues/2559) +* **eslint-plugin:** add `object-curly-spacing` rule ([#2892](https://github.com/typescript-eslint/typescript-eslint/issues/2892)) ([32bd18d](https://github.com/typescript-eslint/typescript-eslint/commit/32bd18de80f4f8388717d0f0c16d493234362aa5)) + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + + +### Bug Fixes + +* **eslint-plugin:** support eslint@5 ([#2917](https://github.com/typescript-eslint/typescript-eslint/issues/2917)) ([f606846](https://github.com/typescript-eslint/typescript-eslint/commit/f606846af2617a0d8ee3ad5ce7c10864161ebf53)) + + +### Features + +* **eslint-plugin:** [sort-type-union-intersection-members] add nullish group ([#2919](https://github.com/typescript-eslint/typescript-eslint/issues/2919)) ([5558f41](https://github.com/typescript-eslint/typescript-eslint/commit/5558f410007da58a3f4726bbf9501c924ef166a1)) + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + + +### Bug Fixes + +* **eslint-plugin:** [comma-spacing] handle empty type params ([#2915](https://github.com/typescript-eslint/typescript-eslint/issues/2915)) ([4d69fbb](https://github.com/typescript-eslint/typescript-eslint/commit/4d69fbba91ea3161213a0ab093e398fed091168c)) + + +### Features + +* **eslint-plugin:** add rule `sort-type-union-intersection-members` ([#2913](https://github.com/typescript-eslint/typescript-eslint/issues/2913)) ([9092c04](https://github.com/typescript-eslint/typescript-eslint/commit/9092c0494ebd3486e38852198c1930f1432ef21f)) + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + + +### Bug Fixes + +* **eslint-plugin:** [naming-convention] fix precedence of method and property meta selectors ([#2877](https://github.com/typescript-eslint/typescript-eslint/issues/2877)) ([2f10e1a](https://github.com/typescript-eslint/typescript-eslint/commit/2f10e1a5c795cac28a6e0a1a3a0adb5bd6be7f1c)) + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + + +### Bug Fixes + +* **eslint-plugin:** [non-nullable-type-assertion-style] handle const assertion ([#2881](https://github.com/typescript-eslint/typescript-eslint/issues/2881)) ([53dc34d](https://github.com/typescript-eslint/typescript-eslint/commit/53dc34d3917b90c8ab0324fe8054619ddee98003)) + + +### Features + +* **eslint-plugin:** [prom-func-async] add automatic fix ([#2845](https://github.com/typescript-eslint/typescript-eslint/issues/2845)) ([717e718](https://github.com/typescript-eslint/typescript-eslint/commit/717e718e91df2165422228c02dfa248cf55f65a1)) + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + + +### Bug Fixes + +* **eslint-plugin:** [naming-convention] fix wrong member of `method` and `property` meta selectors ([#2856](https://github.com/typescript-eslint/typescript-eslint/issues/2856)) ([9a6c362](https://github.com/typescript-eslint/typescript-eslint/commit/9a6c3628a2f3a7748b7a4b9b0c55400c8d7dfeae)) + + +### Features + +* **eslint-plugin:** add rule `non-nullable-type-assertion-style` ([#2624](https://github.com/typescript-eslint/typescript-eslint/issues/2624)) ([7eee44f](https://github.com/typescript-eslint/typescript-eslint/commit/7eee44fff3041a9725d34bf2fcbfc6fd40a60c61)) + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + + +### Bug Fixes + +* **eslint-plugin:** [method-signature-style] fix crash with methods without a return type ([#2836](https://github.com/typescript-eslint/typescript-eslint/issues/2836)) ([fed89f2](https://github.com/typescript-eslint/typescript-eslint/commit/fed89f24ebe42a6412f0eb19949d5d4771656189)), closes [#2834](https://github.com/typescript-eslint/typescript-eslint/issues/2834) +* **eslint-plugin:** [no-unused-vars] false-positive with class expressions ([#2833](https://github.com/typescript-eslint/typescript-eslint/issues/2833)) ([aadb39f](https://github.com/typescript-eslint/typescript-eslint/commit/aadb39f0ff500ee99ea80e9009ab61283ca9c8cd)), closes [#2831](https://github.com/typescript-eslint/typescript-eslint/issues/2831) +* **eslint-plugin:** [no-unused-vars] fix race condition between naming-convention and no-unused-vars ([#2848](https://github.com/typescript-eslint/typescript-eslint/issues/2848)) ([ccb6b94](https://github.com/typescript-eslint/typescript-eslint/commit/ccb6b9499a4a4077f2e3d81d0844860a25244a0f)), closes [#2844](https://github.com/typescript-eslint/typescript-eslint/issues/2844) + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + + +### Bug Fixes + +* **eslint-plugin:** [consistent-indexed-object-style] convert readonly index signature to readonly record ([#2798](https://github.com/typescript-eslint/typescript-eslint/issues/2798)) ([29428a4](https://github.com/typescript-eslint/typescript-eslint/commit/29428a4dbef133563f2ee54b22908a01ab9a9472)) +* **eslint-plugin:** [consistent-type-imports] crash when using both default and namespace in one import ([#2778](https://github.com/typescript-eslint/typescript-eslint/issues/2778)) ([c816b84](https://github.com/typescript-eslint/typescript-eslint/commit/c816b84814214f7504a0d89a5cd3b08c595bfb50)) +* **eslint-plugin:** [explicit-module-boundary-types] ignore functions exported within typed object/array literals ([#2805](https://github.com/typescript-eslint/typescript-eslint/issues/2805)) ([73a63ee](https://github.com/typescript-eslint/typescript-eslint/commit/73a63ee9ea00b2db0a29f148d7863c3778e4a483)) +* **eslint-plugin:** [no-use-before-define] allow class references if they're within a class decorator ([#2827](https://github.com/typescript-eslint/typescript-eslint/issues/2827)) ([050023a](https://github.com/typescript-eslint/typescript-eslint/commit/050023aa7bd791d0be7b5788a9dcd8e61a00ce79)), closes [#2842](https://github.com/typescript-eslint/typescript-eslint/issues/2842) +* **eslint-plugin:** [triple-slash-reference] fix crash with external module reference ([#2788](https://github.com/typescript-eslint/typescript-eslint/issues/2788)) ([32b1b68](https://github.com/typescript-eslint/typescript-eslint/commit/32b1b6839fb32d93b7faa8fec74c9cb68ea587bb)) +* **scope-manager:** fix assertion assignments not being marked as write references ([#2809](https://github.com/typescript-eslint/typescript-eslint/issues/2809)) ([fa68492](https://github.com/typescript-eslint/typescript-eslint/commit/fa6849245ca55ca407dc031afbad456f2925a8e9)), closes [#2804](https://github.com/typescript-eslint/typescript-eslint/issues/2804) + + +### Features + +* **eslint-plugin:** [naming-convention] add `requireDouble`, `allowDouble`, `allowSingleOrDouble` options for underscores ([#2812](https://github.com/typescript-eslint/typescript-eslint/issues/2812)) ([dd0576a](https://github.com/typescript-eslint/typescript-eslint/commit/dd0576a66c34810bc60e0958948c9a8104a3f1a3)) +* **eslint-plugin:** [naming-convention] add `requiresQuotes` modifier ([#2813](https://github.com/typescript-eslint/typescript-eslint/issues/2813)) ([6fc8409](https://github.com/typescript-eslint/typescript-eslint/commit/6fc84094928c3645a0e04c31bd4d759fdfbdcb74)), closes [#2761](https://github.com/typescript-eslint/typescript-eslint/issues/2761) [#1483](https://github.com/typescript-eslint/typescript-eslint/issues/1483) +* **eslint-plugin:** [naming-convention] add modifier `unused` ([#2810](https://github.com/typescript-eslint/typescript-eslint/issues/2810)) ([6a06944](https://github.com/typescript-eslint/typescript-eslint/commit/6a06944e60677a402e7ab432e6ac1209737a7027)) +* **eslint-plugin:** [naming-convention] add modifiers `exported`, `global`, and `destructured` ([#2808](https://github.com/typescript-eslint/typescript-eslint/issues/2808)) ([fb254a1](https://github.com/typescript-eslint/typescript-eslint/commit/fb254a1036b89f9b78f927d607358e65e81a2250)), closes [#2239](https://github.com/typescript-eslint/typescript-eslint/issues/2239) [#2512](https://github.com/typescript-eslint/typescript-eslint/issues/2512) [#2318](https://github.com/typescript-eslint/typescript-eslint/issues/2318) [#2802](https://github.com/typescript-eslint/typescript-eslint/issues/2802) +* **eslint-plugin:** [naming-convention] allow `destructured` modifier for `parameter` selector ([#2829](https://github.com/typescript-eslint/typescript-eslint/issues/2829)) ([525d2ff](https://github.com/typescript-eslint/typescript-eslint/commit/525d2ff9292d89e1445b273b5378159bca323a1e)), closes [#2828](https://github.com/typescript-eslint/typescript-eslint/issues/2828) +* **eslint-plugin:** [naming-convention] split `property` and `method` selectors into more granular `classXXX`, `objectLiteralXXX`, `typeXXX` ([#2807](https://github.com/typescript-eslint/typescript-eslint/issues/2807)) ([665b6d4](https://github.com/typescript-eslint/typescript-eslint/commit/665b6d4023fb9d821f348c39aefff0d7571a98bf)), closes [#1477](https://github.com/typescript-eslint/typescript-eslint/issues/1477) [#2802](https://github.com/typescript-eslint/typescript-eslint/issues/2802) +* **eslint-plugin:** [no-unused-vars] fork the base rule ([#2768](https://github.com/typescript-eslint/typescript-eslint/issues/2768)) ([a8227a6](https://github.com/typescript-eslint/typescript-eslint/commit/a8227a6185dd24de4bfc7d766931643871155021)), closes [#2782](https://github.com/typescript-eslint/typescript-eslint/issues/2782) [#2714](https://github.com/typescript-eslint/typescript-eslint/issues/2714) [#2648](https://github.com/typescript-eslint/typescript-eslint/issues/2648) +* **eslint-plugin:** [unbound-method] add support for methods with a `this: void` parameter ([#2796](https://github.com/typescript-eslint/typescript-eslint/issues/2796)) ([878dd4a](https://github.com/typescript-eslint/typescript-eslint/commit/878dd4ae8c408f1eb42790a8fac37f85040b7f3c)) + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + + +### Bug Fixes + +* **eslint-plugin:** [prefer-literal-enum-member] allow pure template literal strings ([#2786](https://github.com/typescript-eslint/typescript-eslint/issues/2786)) ([f3bf6a1](https://github.com/typescript-eslint/typescript-eslint/commit/f3bf6a1791c9dc64bb18d45712f07767c9f96cbd)) + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + + +### Bug Fixes + +* **eslint-plugin:** [no-unnecessary-condition] false positive when array predicate returns unknown ([#2772](https://github.com/typescript-eslint/typescript-eslint/issues/2772)) ([111c244](https://github.com/typescript-eslint/typescript-eslint/commit/111c244c3eb157efeb5c43ff39f12633b27f091e)) + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + + +### Bug Fixes + +* **eslint-plugin:** [consistent-type-definitions] remove fixer when the interface is within a global module declaration ([#2739](https://github.com/typescript-eslint/typescript-eslint/issues/2739)) ([2326238](https://github.com/typescript-eslint/typescript-eslint/commit/2326238738c95acfc14c17f9b16798f1de6d267f)) +* **eslint-plugin:** [no-unsafe-member-access] ignore MemberExpression's whose parents are either TSClassImplements or TSInterfaceHeritage ([#2753](https://github.com/typescript-eslint/typescript-eslint/issues/2753)) ([535db3b](https://github.com/typescript-eslint/typescript-eslint/commit/535db3bf27ee1d7824ada9acd91d1b7833064628)) + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + + +### Bug Fixes + +* **eslint-plugin:** [array-type] parenthesize ReadonlyArray fix ([#2747](https://github.com/typescript-eslint/typescript-eslint/issues/2747)) ([83385ac](https://github.com/typescript-eslint/typescript-eslint/commit/83385ac351f45d3bcbd19f72711838e9a8473827)) +* **eslint-plugin:** [no-extra-non-null-assertion] false positive with non-nullable computed key ([#2737](https://github.com/typescript-eslint/typescript-eslint/issues/2737)) ([e82698c](https://github.com/typescript-eslint/typescript-eslint/commit/e82698c0ec796e460e40c3dd90a30bd100db05c2)) + + +### Features + +* **eslint-plugin:** add rule `no-confusing-void-expression` ([#2605](https://github.com/typescript-eslint/typescript-eslint/issues/2605)) ([c8a4dad](https://github.com/typescript-eslint/typescript-eslint/commit/c8a4dadeab8a64fb4768deda8f65475435dd2cad)) +* support TS4.1 features ([#2748](https://github.com/typescript-eslint/typescript-eslint/issues/2748)) ([2be354b](https://github.com/typescript-eslint/typescript-eslint/commit/2be354bb15f9013a2da1b13a0c0836e9ef057e16)), closes [#2583](https://github.com/typescript-eslint/typescript-eslint/issues/2583) + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + + +### Bug Fixes + +* **eslint-plugin:** [consistent-indexed-object-style] fix wrong autofix behaviour with generics ([#2722](https://github.com/typescript-eslint/typescript-eslint/issues/2722)) ([73d9713](https://github.com/typescript-eslint/typescript-eslint/commit/73d97130afe79b8a458c215581ce86c62009ad8b)) +* **eslint-plugin:** [no-shadow] ignore global module augmentation ([#2729](https://github.com/typescript-eslint/typescript-eslint/issues/2729)) ([d8c67a5](https://github.com/typescript-eslint/typescript-eslint/commit/d8c67a564a4cada5add8587f655aee2305cbc562)) + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + + +### Bug Fixes + +* **eslint-plugin:** [method-signature-style] correct fixer for overloads in an object literal type ([#2708](https://github.com/typescript-eslint/typescript-eslint/issues/2708)) ([0763913](https://github.com/typescript-eslint/typescript-eslint/commit/0763913c4a0d1061465ae3329704f1a7de4b9326)) +* **eslint-plugin:** [method-signature-style] don't auto-fix interfaces within namespaces ([#2678](https://github.com/typescript-eslint/typescript-eslint/issues/2678)) ([e012049](https://github.com/typescript-eslint/typescript-eslint/commit/e01204931e460f5e6731abc443c88d666ca0b07a)) +* **eslint-plugin:** [prefer-string-starts-ends-with] Check negative indices in the second position for slice ([#2696](https://github.com/typescript-eslint/typescript-eslint/issues/2696)) ([66e9c6e](https://github.com/typescript-eslint/typescript-eslint/commit/66e9c6e29f9f56bbd178ba6405f47053be591258)) + + +### Features + +* **eslint-plugin:** [ban-types] support banning `[]` ([#2704](https://github.com/typescript-eslint/typescript-eslint/issues/2704)) ([ef8b5a7](https://github.com/typescript-eslint/typescript-eslint/commit/ef8b5a7e09cca4bdacf205da28f99f2b1a419d00)), closes [#2582](https://github.com/typescript-eslint/typescript-eslint/issues/2582) +* **eslint-plugin:** add `no-unnecessary-type-constraint` rule ([#2516](https://github.com/typescript-eslint/typescript-eslint/issues/2516)) ([880ac75](https://github.com/typescript-eslint/typescript-eslint/commit/880ac753b90d63034f0a33f8f512d9fabc17c8f9)) +* **eslint-plugin:** add extension rule `space-infix-ops` ([#2593](https://github.com/typescript-eslint/typescript-eslint/issues/2593)) ([343d20d](https://github.com/typescript-eslint/typescript-eslint/commit/343d20db23a1640e3bca8cf52b7db1fa46e092e6)) + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Bug Fixes + +* **eslint-plugin:** [array-type] fix issues with readonly option ([#2667](https://github.com/typescript-eslint/typescript-eslint/issues/2667)) ([63d1d81](https://github.com/typescript-eslint/typescript-eslint/commit/63d1d8189c829c6543c7966a864b62c07fbd61a0)) +* **eslint-plugin:** [lines-between-class-members] fix typo in schema ([#2681](https://github.com/typescript-eslint/typescript-eslint/issues/2681)) ([a2a2514](https://github.com/typescript-eslint/typescript-eslint/commit/a2a2514f8a8eee478c8697c4ce42d3c586599b14)) +* **eslint-plugin:** [naming-convention] check bodyless function parameters ([#2675](https://github.com/typescript-eslint/typescript-eslint/issues/2675)) ([c505863](https://github.com/typescript-eslint/typescript-eslint/commit/c505863ac41755383e08893ba0bc4c0fd937eb1d)) +* **eslint-plugin:** [no-invalid-this] allow "this" in class property definitions ([#2685](https://github.com/typescript-eslint/typescript-eslint/issues/2685)) ([dccb6ee](https://github.com/typescript-eslint/typescript-eslint/commit/dccb6ee9f1cd9519c26808d10a5bed8291d0a8e4)) +* **eslint-plugin:** [no-misused-promises] False negative in LogicalExpression ([#2682](https://github.com/typescript-eslint/typescript-eslint/issues/2682)) ([30a6951](https://github.com/typescript-eslint/typescript-eslint/commit/30a695103e99d214fd40847aaa51c1631981c226)), closes [#2544](https://github.com/typescript-eslint/typescript-eslint/issues/2544) +* **eslint-plugin:** [no-unnecessary-type-assertion] correct fixer for vue files ([#2680](https://github.com/typescript-eslint/typescript-eslint/issues/2680)) ([55111af](https://github.com/typescript-eslint/typescript-eslint/commit/55111afd7819d29d65da4f41cc6a129f34aaeb3e)) +* **eslint-plugin:** [return-await] do not auto-fix when type is `any`/`unknown` ([#2671](https://github.com/typescript-eslint/typescript-eslint/issues/2671)) ([d690c8d](https://github.com/typescript-eslint/typescript-eslint/commit/d690c8dff3636d8c8a9a38bd422e0bedbd1d72cb)) + + +### Features + +* **eslint-plugin:** [dot-notation] add `allowProtectedClassPropertyAccess` option ([#2622](https://github.com/typescript-eslint/typescript-eslint/issues/2622)) ([bbc9e35](https://github.com/typescript-eslint/typescript-eslint/commit/bbc9e3540576891552dc2dc54b2acbc54104be9d)) +* **eslint-plugin:** [prefer-readonly-parameter-types] add `ignoreInferredTypes` option ([#2668](https://github.com/typescript-eslint/typescript-eslint/issues/2668)) ([91010e8](https://github.com/typescript-eslint/typescript-eslint/commit/91010e88258bf47a0438e842c8ddca19e0414b48)) +* **eslint-plugin:** [restrict-plus-operands] add intersection type determination logic ([#2628](https://github.com/typescript-eslint/typescript-eslint/issues/2628)) ([da71362](https://github.com/typescript-eslint/typescript-eslint/commit/da713627c88354229f245866ccf1018fb56b6e53)) +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + + +### Bug Fixes + +* **eslint-plugin:** [ban-ts-comment] support block comments ([#2644](https://github.com/typescript-eslint/typescript-eslint/issues/2644)) ([9c3c686](https://github.com/typescript-eslint/typescript-eslint/commit/9c3c686b59b4b8fd02c479a534b5ca9b33c5ff40)) +* **eslint-plugin:** [ban-types] allow banning types with specific parameters ([#2662](https://github.com/typescript-eslint/typescript-eslint/issues/2662)) ([77732a2](https://github.com/typescript-eslint/typescript-eslint/commit/77732a2f3979f638e471b6de327b2ea0e976d568)) +* **eslint-plugin:** [consistent-type-assertions] check type assertion in jsx props ([#2653](https://github.com/typescript-eslint/typescript-eslint/issues/2653)) ([393e925](https://github.com/typescript-eslint/typescript-eslint/commit/393e92573fbde849369af1d10b9f25299ec92eaf)) +* **eslint-plugin:** [no-duplicate-imports] distinguish member, default ([#2637](https://github.com/typescript-eslint/typescript-eslint/issues/2637)) ([c71f423](https://github.com/typescript-eslint/typescript-eslint/commit/c71f423b89bf034caf2a4f1bb3ed0389b72f3aa9)) +* **eslint-plugin:** [no-throw-literal] false positive with logical expressions ([#2645](https://github.com/typescript-eslint/typescript-eslint/issues/2645)) ([57aa6c7](https://github.com/typescript-eslint/typescript-eslint/commit/57aa6c7642320074ed2b6a15e7f38e66a2fb13d1)) +* **eslint-plugin:** [no-unused-vars] fix false positives for duplicated names in namespaces ([#2659](https://github.com/typescript-eslint/typescript-eslint/issues/2659)) ([0d696c7](https://github.com/typescript-eslint/typescript-eslint/commit/0d696c72c5c9c3446902a63509d499ee95483e81)) +* **eslint-plugin:** [no-use-before-define] correctly handle typeof type references ([#2623](https://github.com/typescript-eslint/typescript-eslint/issues/2623)) ([8e44c78](https://github.com/typescript-eslint/typescript-eslint/commit/8e44c78a20410457851e5b7fe9a24777876c0aaf)) +* **scope-manager:** don't create a variable for global augmentation ([#2639](https://github.com/typescript-eslint/typescript-eslint/issues/2639)) ([6bc9325](https://github.com/typescript-eslint/typescript-eslint/commit/6bc93257ec876214743a165093b6666d713379f6)) + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + + +### Features + +* **eslint-plugin:** add `consistent-indexed-object-style` rule ([#2401](https://github.com/typescript-eslint/typescript-eslint/issues/2401)) ([d7dc108](https://github.com/typescript-eslint/typescript-eslint/commit/d7dc108580cdcb9890ac0539e7223aedbff4a0ed)) +* **eslint-plugin:** add extension rule `no-duplicate-imports` ([#2609](https://github.com/typescript-eslint/typescript-eslint/issues/2609)) ([498f397](https://github.com/typescript-eslint/typescript-eslint/commit/498f397ff3898dde631f37311615b555f38a414e)) + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + + +### Bug Fixes + +* **eslint-plugin:** added safe getTypeOfPropertyOfType wrapper ([#2567](https://github.com/typescript-eslint/typescript-eslint/issues/2567)) ([7cba2de](https://github.com/typescript-eslint/typescript-eslint/commit/7cba2de138542563d678fbfc738cd1b3ebf01e07)) +* **experimental-utils:** treat RuleTester arrays as readonly ([#2601](https://github.com/typescript-eslint/typescript-eslint/issues/2601)) ([8025777](https://github.com/typescript-eslint/typescript-eslint/commit/80257776b78bd2b2b4389d6bd530b009a75fb520)) + + +### Features + +* **eslint-plugin:** [no-invalid-void-type] add option to allow `this: void` ([#2481](https://github.com/typescript-eslint/typescript-eslint/issues/2481)) ([ddf5660](https://github.com/typescript-eslint/typescript-eslint/commit/ddf5660846784003cab4b10ae7a5e510b9dd562b)) + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + + +### Bug Fixes + +* **eslint-plugin:** [naming-convention] ignore properties inside object patterns ([#2566](https://github.com/typescript-eslint/typescript-eslint/issues/2566)) ([53a3cbc](https://github.com/typescript-eslint/typescript-eslint/commit/53a3cbc6f002e55135efbdf4982a3ad308ac708b)) +* **eslint-plugin:** [prefer-ts-expect-error] support block comments ([#2541](https://github.com/typescript-eslint/typescript-eslint/issues/2541)) ([c6f72fb](https://github.com/typescript-eslint/typescript-eslint/commit/c6f72fbd3ccc19e39954cfe3d36d358ef43b7daa)) +* **scope-manager:** correct analysis of inferred types in conditional types ([#2537](https://github.com/typescript-eslint/typescript-eslint/issues/2537)) ([4f660fd](https://github.com/typescript-eslint/typescript-eslint/commit/4f660fd31acbb88b30719f925dcb2b3022cc2bab)) + + +### Features + +* **eslint-plugin:** add extension rule `comma-dangle` ([#2416](https://github.com/typescript-eslint/typescript-eslint/issues/2416)) ([f7babcf](https://github.com/typescript-eslint/typescript-eslint/commit/f7babcf4e6da3e5cba8f2c75d57abf8089432d05)) + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + + +### Bug Fixes + +* **eslint-plugin:** [naming-convention] allow an array of selectors with types and modifiers ([#2415](https://github.com/typescript-eslint/typescript-eslint/issues/2415)) ([7ca54c3](https://github.com/typescript-eslint/typescript-eslint/commit/7ca54c3e4601ad07db5b882a67965cd67a18c4b3)) +* **eslint-plugin:** [no-implied-eval] handle the `Function` type ([#2435](https://github.com/typescript-eslint/typescript-eslint/issues/2435)) ([e1401dc](https://github.com/typescript-eslint/typescript-eslint/commit/e1401dc5897d01da516802cfb2333cf4bc6d0e93)) +* **eslint-plugin:** [no-unused-vars] better handling for declared modules ([#2553](https://github.com/typescript-eslint/typescript-eslint/issues/2553)) ([02d72d4](https://github.com/typescript-eslint/typescript-eslint/commit/02d72d480be7a8f7ddc66a028338cfb996886f3c)), closes [#2523](https://github.com/typescript-eslint/typescript-eslint/issues/2523) +* **eslint-plugin:** [no-use-before-define] false positive for function type arguments ([#2554](https://github.com/typescript-eslint/typescript-eslint/issues/2554)) ([189162d](https://github.com/typescript-eslint/typescript-eslint/commit/189162d46ecb116c420232937a7f86df913f4e79)), closes [#2527](https://github.com/typescript-eslint/typescript-eslint/issues/2527) +* **eslint-plugin:** [prefer-function-type] handle `this` return ([#2437](https://github.com/typescript-eslint/typescript-eslint/issues/2437)) ([7c6fcee](https://github.com/typescript-eslint/typescript-eslint/commit/7c6fcee657dffd041e389e0aeaa4f3e278e92986)) +* **eslint-plugin:** [return-await] don't error for `in-try-catch` if the return is in a `catch` without a `finally` ([#2356](https://github.com/typescript-eslint/typescript-eslint/issues/2356)) ([efdd521](https://github.com/typescript-eslint/typescript-eslint/commit/efdd5213ceaef332cf0b2c26573176f844d22a09)) + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) diff --git a/node_modules/@typescript-eslint/eslint-plugin/README.md b/node_modules/@typescript-eslint/eslint-plugin/README.md index 63b5b6e7f..344764dcb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/README.md +++ b/node_modules/@typescript-eslint/eslint-plugin/README.md @@ -93,85 +93,89 @@ Pro Tip: For larger codebases you may want to consider splitting our linting int -**Key**: :heavy_check_mark: = recommended, :wrench: = fixable, :thought_balloon: = requires type information +**Key**: :white_check_mark: = recommended, :wrench: = fixable, :thought_balloon: = requires type information -| Name | Description | :heavy_check_mark: | :wrench: | :thought_balloon: | +| Name | Description | :white_check_mark: | :wrench: | :thought_balloon: | | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------ | -------- | ----------------- | -| [`@typescript-eslint/adjacent-overload-signatures`](./docs/rules/adjacent-overload-signatures.md) | Require that member overloads be consecutive | :heavy_check_mark: | | | +| [`@typescript-eslint/adjacent-overload-signatures`](./docs/rules/adjacent-overload-signatures.md) | Require that member overloads be consecutive | :white_check_mark: | | | | [`@typescript-eslint/array-type`](./docs/rules/array-type.md) | Requires using either `T[]` or `Array` for arrays | | :wrench: | | -| [`@typescript-eslint/await-thenable`](./docs/rules/await-thenable.md) | Disallows awaiting a value that is not a Thenable | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/ban-ts-comment`](./docs/rules/ban-ts-comment.md) | Bans `// @ts-` comments from being used or requires descriptions after directive | :heavy_check_mark: | | | +| [`@typescript-eslint/await-thenable`](./docs/rules/await-thenable.md) | Disallows awaiting a value that is not a Thenable | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/ban-ts-comment`](./docs/rules/ban-ts-comment.md) | Bans `@ts-` comments from being used or requires descriptions after directive | :white_check_mark: | | | | [`@typescript-eslint/ban-tslint-comment`](./docs/rules/ban-tslint-comment.md) | Bans `// tslint:` comments from being used | | :wrench: | | -| [`@typescript-eslint/ban-types`](./docs/rules/ban-types.md) | Bans specific types from being used | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/ban-types`](./docs/rules/ban-types.md) | Bans specific types from being used | :white_check_mark: | :wrench: | | | [`@typescript-eslint/class-literal-property-style`](./docs/rules/class-literal-property-style.md) | Ensures that literals on classes are exposed in a consistent style | | :wrench: | | +| [`@typescript-eslint/consistent-indexed-object-style`](./docs/rules/consistent-indexed-object-style.md) | Enforce or disallow the use of the record type | | :wrench: | | | [`@typescript-eslint/consistent-type-assertions`](./docs/rules/consistent-type-assertions.md) | Enforces consistent usage of type assertions | | | | | [`@typescript-eslint/consistent-type-definitions`](./docs/rules/consistent-type-definitions.md) | Consistent with type definition either `interface` or `type` | | :wrench: | | | [`@typescript-eslint/consistent-type-imports`](./docs/rules/consistent-type-imports.md) | Enforces consistent usage of type imports | | :wrench: | | | [`@typescript-eslint/explicit-function-return-type`](./docs/rules/explicit-function-return-type.md) | Require explicit return types on functions and class methods | | | | | [`@typescript-eslint/explicit-member-accessibility`](./docs/rules/explicit-member-accessibility.md) | Require explicit accessibility modifiers on class properties and methods | | :wrench: | | -| [`@typescript-eslint/explicit-module-boundary-types`](./docs/rules/explicit-module-boundary-types.md) | Require explicit return and argument types on exported functions' and classes' public class methods | :heavy_check_mark: | | | +| [`@typescript-eslint/explicit-module-boundary-types`](./docs/rules/explicit-module-boundary-types.md) | Require explicit return and argument types on exported functions' and classes' public class methods | :white_check_mark: | | | | [`@typescript-eslint/member-delimiter-style`](./docs/rules/member-delimiter-style.md) | Require a specific member delimiter style for interfaces and type literals | | :wrench: | | | [`@typescript-eslint/member-ordering`](./docs/rules/member-ordering.md) | Require a consistent member declaration order | | | | | [`@typescript-eslint/method-signature-style`](./docs/rules/method-signature-style.md) | Enforces using a particular method signature syntax. | | :wrench: | | | [`@typescript-eslint/naming-convention`](./docs/rules/naming-convention.md) | Enforces naming conventions for everything across a codebase | | | :thought_balloon: | | [`@typescript-eslint/no-base-to-string`](./docs/rules/no-base-to-string.md) | Requires that `.toString()` is only called on objects which provide useful information when stringified | | | :thought_balloon: | | [`@typescript-eslint/no-confusing-non-null-assertion`](./docs/rules/no-confusing-non-null-assertion.md) | Disallow non-null assertion in locations that may be confusing | | :wrench: | | +| [`@typescript-eslint/no-confusing-void-expression`](./docs/rules/no-confusing-void-expression.md) | Requires expressions of type void to appear in statement position | | :wrench: | :thought_balloon: | | [`@typescript-eslint/no-dynamic-delete`](./docs/rules/no-dynamic-delete.md) | Disallow the delete operator with computed key expressions | | :wrench: | | -| [`@typescript-eslint/no-empty-interface`](./docs/rules/no-empty-interface.md) | Disallow the declaration of empty interfaces | :heavy_check_mark: | :wrench: | | -| [`@typescript-eslint/no-explicit-any`](./docs/rules/no-explicit-any.md) | Disallow usage of the `any` type | :heavy_check_mark: | :wrench: | | -| [`@typescript-eslint/no-extra-non-null-assertion`](./docs/rules/no-extra-non-null-assertion.md) | Disallow extra non-null assertion | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/no-empty-interface`](./docs/rules/no-empty-interface.md) | Disallow the declaration of empty interfaces | :white_check_mark: | :wrench: | | +| [`@typescript-eslint/no-explicit-any`](./docs/rules/no-explicit-any.md) | Disallow usage of the `any` type | :white_check_mark: | :wrench: | | +| [`@typescript-eslint/no-extra-non-null-assertion`](./docs/rules/no-extra-non-null-assertion.md) | Disallow extra non-null assertion | :white_check_mark: | :wrench: | | | [`@typescript-eslint/no-extraneous-class`](./docs/rules/no-extraneous-class.md) | Forbids the use of classes as namespaces | | | | -| [`@typescript-eslint/no-floating-promises`](./docs/rules/no-floating-promises.md) | Requires Promise-like values to be handled appropriately | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-for-in-array`](./docs/rules/no-for-in-array.md) | Disallow iterating over an array with a for-in loop | :heavy_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-floating-promises`](./docs/rules/no-floating-promises.md) | Requires Promise-like values to be handled appropriately | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-for-in-array`](./docs/rules/no-for-in-array.md) | Disallow iterating over an array with a for-in loop | :white_check_mark: | | :thought_balloon: | | [`@typescript-eslint/no-implicit-any-catch`](./docs/rules/no-implicit-any-catch.md) | Disallow usage of the implicit `any` type in catch clauses | | :wrench: | | -| [`@typescript-eslint/no-implied-eval`](./docs/rules/no-implied-eval.md) | Disallow the use of `eval()`-like methods | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-inferrable-types`](./docs/rules/no-inferrable-types.md) | Disallows explicit type declarations for variables or parameters initialized to a number, string, or boolean | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/no-inferrable-types`](./docs/rules/no-inferrable-types.md) | Disallows explicit type declarations for variables or parameters initialized to a number, string, or boolean | :white_check_mark: | :wrench: | | | [`@typescript-eslint/no-invalid-void-type`](./docs/rules/no-invalid-void-type.md) | Disallows usage of `void` type outside of generic or return types | | | | -| [`@typescript-eslint/no-misused-new`](./docs/rules/no-misused-new.md) | Enforce valid definition of `new` and `constructor` | :heavy_check_mark: | | | -| [`@typescript-eslint/no-misused-promises`](./docs/rules/no-misused-promises.md) | Avoid using promises in places not designed to handle them | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-namespace`](./docs/rules/no-namespace.md) | Disallow the use of custom TypeScript modules and namespaces | :heavy_check_mark: | | | -| [`@typescript-eslint/no-non-null-asserted-optional-chain`](./docs/rules/no-non-null-asserted-optional-chain.md) | Disallows using a non-null assertion after an optional chain expression | :heavy_check_mark: | | | -| [`@typescript-eslint/no-non-null-assertion`](./docs/rules/no-non-null-assertion.md) | Disallows non-null assertions using the `!` postfix operator | :heavy_check_mark: | | | +| [`@typescript-eslint/no-misused-new`](./docs/rules/no-misused-new.md) | Enforce valid definition of `new` and `constructor` | :white_check_mark: | | | +| [`@typescript-eslint/no-misused-promises`](./docs/rules/no-misused-promises.md) | Avoid using promises in places not designed to handle them | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-namespace`](./docs/rules/no-namespace.md) | Disallow the use of custom TypeScript modules and namespaces | :white_check_mark: | | | +| [`@typescript-eslint/no-non-null-asserted-optional-chain`](./docs/rules/no-non-null-asserted-optional-chain.md) | Disallows using a non-null assertion after an optional chain expression | :white_check_mark: | | | +| [`@typescript-eslint/no-non-null-assertion`](./docs/rules/no-non-null-assertion.md) | Disallows non-null assertions using the `!` postfix operator | :white_check_mark: | | | | [`@typescript-eslint/no-parameter-properties`](./docs/rules/no-parameter-properties.md) | Disallow the use of parameter properties in class constructors | | | | | [`@typescript-eslint/no-require-imports`](./docs/rules/no-require-imports.md) | Disallows invocation of `require()` | | | | -| [`@typescript-eslint/no-this-alias`](./docs/rules/no-this-alias.md) | Disallow aliasing `this` | :heavy_check_mark: | | | -| [`@typescript-eslint/no-throw-literal`](./docs/rules/no-throw-literal.md) | Disallow throwing literals as exceptions | | | :thought_balloon: | +| [`@typescript-eslint/no-this-alias`](./docs/rules/no-this-alias.md) | Disallow aliasing `this` | :white_check_mark: | | | | [`@typescript-eslint/no-type-alias`](./docs/rules/no-type-alias.md) | Disallow the use of type aliases | | | | | [`@typescript-eslint/no-unnecessary-boolean-literal-compare`](./docs/rules/no-unnecessary-boolean-literal-compare.md) | Flags unnecessary equality comparisons against boolean literals | | :wrench: | :thought_balloon: | | [`@typescript-eslint/no-unnecessary-condition`](./docs/rules/no-unnecessary-condition.md) | Prevents conditionals where the type is always truthy or always falsy | | :wrench: | :thought_balloon: | | [`@typescript-eslint/no-unnecessary-qualifier`](./docs/rules/no-unnecessary-qualifier.md) | Warns when a namespace qualifier is unnecessary | | :wrench: | :thought_balloon: | | [`@typescript-eslint/no-unnecessary-type-arguments`](./docs/rules/no-unnecessary-type-arguments.md) | Enforces that type arguments will not be used if not required | | :wrench: | :thought_balloon: | -| [`@typescript-eslint/no-unnecessary-type-assertion`](./docs/rules/no-unnecessary-type-assertion.md) | Warns if a type assertion does not change the type of an expression | :heavy_check_mark: | :wrench: | :thought_balloon: | -| [`@typescript-eslint/no-unsafe-assignment`](./docs/rules/no-unsafe-assignment.md) | Disallows assigning any to variables and properties | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-unsafe-call`](./docs/rules/no-unsafe-call.md) | Disallows calling an any type value | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-unsafe-member-access`](./docs/rules/no-unsafe-member-access.md) | Disallows member access on any typed variables | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-unsafe-return`](./docs/rules/no-unsafe-return.md) | Disallows returning any from a function | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/no-var-requires`](./docs/rules/no-var-requires.md) | Disallows the use of require statements except in import statements | :heavy_check_mark: | | | -| [`@typescript-eslint/prefer-as-const`](./docs/rules/prefer-as-const.md) | Prefer usage of `as const` over literal type | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/no-unnecessary-type-assertion`](./docs/rules/no-unnecessary-type-assertion.md) | Warns if a type assertion does not change the type of an expression | :white_check_mark: | :wrench: | :thought_balloon: | +| [`@typescript-eslint/no-unnecessary-type-constraint`](./docs/rules/no-unnecessary-type-constraint.md) | Disallows unnecessary constraints on generic types | | :wrench: | | +| [`@typescript-eslint/no-unsafe-argument`](./docs/rules/no-unsafe-argument.md) | Disallows calling an function with an any type value | | | :thought_balloon: | +| [`@typescript-eslint/no-unsafe-assignment`](./docs/rules/no-unsafe-assignment.md) | Disallows assigning any to variables and properties | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-unsafe-call`](./docs/rules/no-unsafe-call.md) | Disallows calling an any type value | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-unsafe-member-access`](./docs/rules/no-unsafe-member-access.md) | Disallows member access on any typed variables | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-unsafe-return`](./docs/rules/no-unsafe-return.md) | Disallows returning any from a function | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-var-requires`](./docs/rules/no-var-requires.md) | Disallows the use of require statements except in import statements | :white_check_mark: | | | +| [`@typescript-eslint/non-nullable-type-assertion-style`](./docs/rules/non-nullable-type-assertion-style.md) | Prefers a non-null assertion over explicit type cast when possible | | :wrench: | :thought_balloon: | +| [`@typescript-eslint/prefer-as-const`](./docs/rules/prefer-as-const.md) | Prefer usage of `as const` over literal type | :white_check_mark: | :wrench: | | | [`@typescript-eslint/prefer-enum-initializers`](./docs/rules/prefer-enum-initializers.md) | Prefer initializing each enums member value | | | | | [`@typescript-eslint/prefer-for-of`](./docs/rules/prefer-for-of.md) | Prefer a ‘for-of’ loop over a standard ‘for’ loop if the index is only used to access the array being iterated | | | | | [`@typescript-eslint/prefer-function-type`](./docs/rules/prefer-function-type.md) | Use function types instead of interfaces with call signatures | | :wrench: | | | [`@typescript-eslint/prefer-includes`](./docs/rules/prefer-includes.md) | Enforce `includes` method over `indexOf` method | | :wrench: | :thought_balloon: | | [`@typescript-eslint/prefer-literal-enum-member`](./docs/rules/prefer-literal-enum-member.md) | Require that all enum members be literal values to prevent unintended enum member name shadow issues | | | | -| [`@typescript-eslint/prefer-namespace-keyword`](./docs/rules/prefer-namespace-keyword.md) | Require the use of the `namespace` keyword instead of the `module` keyword to declare custom TypeScript modules | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/prefer-namespace-keyword`](./docs/rules/prefer-namespace-keyword.md) | Require the use of the `namespace` keyword instead of the `module` keyword to declare custom TypeScript modules | :white_check_mark: | :wrench: | | | [`@typescript-eslint/prefer-nullish-coalescing`](./docs/rules/prefer-nullish-coalescing.md) | Enforce the usage of the nullish coalescing operator instead of logical chaining | | | :thought_balloon: | | [`@typescript-eslint/prefer-optional-chain`](./docs/rules/prefer-optional-chain.md) | Prefer using concise optional chain expressions instead of chained logical ands | | | | | [`@typescript-eslint/prefer-readonly`](./docs/rules/prefer-readonly.md) | Requires that private members are marked as `readonly` if they're never modified outside of the constructor | | :wrench: | :thought_balloon: | | [`@typescript-eslint/prefer-readonly-parameter-types`](./docs/rules/prefer-readonly-parameter-types.md) | Requires that function parameters are typed as readonly to prevent accidental mutation of inputs | | | :thought_balloon: | | [`@typescript-eslint/prefer-reduce-type-parameter`](./docs/rules/prefer-reduce-type-parameter.md) | Prefer using type parameter when calling `Array#reduce` instead of casting | | :wrench: | :thought_balloon: | -| [`@typescript-eslint/prefer-regexp-exec`](./docs/rules/prefer-regexp-exec.md) | Enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided | :heavy_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/prefer-regexp-exec`](./docs/rules/prefer-regexp-exec.md) | Enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided | :white_check_mark: | :wrench: | :thought_balloon: | | [`@typescript-eslint/prefer-string-starts-ends-with`](./docs/rules/prefer-string-starts-ends-with.md) | Enforce the use of `String#startsWith` and `String#endsWith` instead of other equivalent methods of checking substrings | | :wrench: | :thought_balloon: | -| [`@typescript-eslint/prefer-ts-expect-error`](./docs/rules/prefer-ts-expect-error.md) | Recommends using `// @ts-expect-error` over `// @ts-ignore` | | :wrench: | | -| [`@typescript-eslint/promise-function-async`](./docs/rules/promise-function-async.md) | Requires any function or method that returns a Promise to be marked async | | | :thought_balloon: | +| [`@typescript-eslint/prefer-ts-expect-error`](./docs/rules/prefer-ts-expect-error.md) | Recommends using `@ts-expect-error` over `@ts-ignore` | | :wrench: | | +| [`@typescript-eslint/promise-function-async`](./docs/rules/promise-function-async.md) | Requires any function or method that returns a Promise to be marked async | | :wrench: | :thought_balloon: | | [`@typescript-eslint/require-array-sort-compare`](./docs/rules/require-array-sort-compare.md) | Requires `Array#sort` calls to always provide a `compareFunction` | | | :thought_balloon: | -| [`@typescript-eslint/restrict-plus-operands`](./docs/rules/restrict-plus-operands.md) | When adding two variables, operands must both be of type number or of type string | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/restrict-template-expressions`](./docs/rules/restrict-template-expressions.md) | Enforce template literal expressions to be of string type | :heavy_check_mark: | | :thought_balloon: | -| [`@typescript-eslint/strict-boolean-expressions`](./docs/rules/strict-boolean-expressions.md) | Restricts the types allowed in boolean expressions | | | :thought_balloon: | +| [`@typescript-eslint/restrict-plus-operands`](./docs/rules/restrict-plus-operands.md) | When adding two variables, operands must both be of type number or of type string | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/restrict-template-expressions`](./docs/rules/restrict-template-expressions.md) | Enforce template literal expressions to be of string type | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/sort-type-union-intersection-members`](./docs/rules/sort-type-union-intersection-members.md) | Enforces that members of a type union/intersection are sorted alphabetically | | :wrench: | | +| [`@typescript-eslint/strict-boolean-expressions`](./docs/rules/strict-boolean-expressions.md) | Restricts the types allowed in boolean expressions | | :wrench: | :thought_balloon: | | [`@typescript-eslint/switch-exhaustiveness-check`](./docs/rules/switch-exhaustiveness-check.md) | Exhaustiveness checking in switch with union type | | | :thought_balloon: | -| [`@typescript-eslint/triple-slash-reference`](./docs/rules/triple-slash-reference.md) | Sets preference level for triple slash directives versus ES6-style import declarations | :heavy_check_mark: | | | +| [`@typescript-eslint/triple-slash-reference`](./docs/rules/triple-slash-reference.md) | Sets preference level for triple slash directives versus ES6-style import declarations | :white_check_mark: | | | | [`@typescript-eslint/type-annotation-spacing`](./docs/rules/type-annotation-spacing.md) | Require consistent spacing around type annotations | | :wrench: | | | [`@typescript-eslint/typedef`](./docs/rules/typedef.md) | Requires type annotations to exist | | | | -| [`@typescript-eslint/unbound-method`](./docs/rules/unbound-method.md) | Enforces unbound methods are called with their expected scope | :heavy_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/unbound-method`](./docs/rules/unbound-method.md) | Enforces unbound methods are called with their expected scope | :white_check_mark: | | :thought_balloon: | | [`@typescript-eslint/unified-signatures`](./docs/rules/unified-signatures.md) | Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter | | | | @@ -183,11 +187,12 @@ In these cases, we create what we call an extension rule; a rule within our plug -**Key**: :heavy_check_mark: = recommended, :wrench: = fixable, :thought_balloon: = requires type information +**Key**: :white_check_mark: = recommended, :wrench: = fixable, :thought_balloon: = requires type information -| Name | Description | :heavy_check_mark: | :wrench: | :thought_balloon: | +| Name | Description | :white_check_mark: | :wrench: | :thought_balloon: | | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------ | -------- | ----------------- | | [`@typescript-eslint/brace-style`](./docs/rules/brace-style.md) | Enforce consistent brace style for blocks | | :wrench: | | +| [`@typescript-eslint/comma-dangle`](./docs/rules/comma-dangle.md) | Require or disallow trailing comma | | :wrench: | | | [`@typescript-eslint/comma-spacing`](./docs/rules/comma-spacing.md) | Enforces consistent spacing before and after commas | | :wrench: | | | [`@typescript-eslint/default-param-last`](./docs/rules/default-param-last.md) | Enforce default parameters to be last | | | | | [`@typescript-eslint/dot-notation`](./docs/rules/dot-notation.md) | enforce dot notation whenever possible | | :wrench: | :thought_balloon: | @@ -196,26 +201,31 @@ In these cases, we create what we call an extension rule; a rule within our plug | [`@typescript-eslint/init-declarations`](./docs/rules/init-declarations.md) | require or disallow initialization in variable declarations | | | | | [`@typescript-eslint/keyword-spacing`](./docs/rules/keyword-spacing.md) | Enforce consistent spacing before and after keywords | | :wrench: | | | [`@typescript-eslint/lines-between-class-members`](./docs/rules/lines-between-class-members.md) | Require or disallow an empty line between class members | | :wrench: | | -| [`@typescript-eslint/no-array-constructor`](./docs/rules/no-array-constructor.md) | Disallow generic `Array` constructors | :heavy_check_mark: | :wrench: | | +| [`@typescript-eslint/no-array-constructor`](./docs/rules/no-array-constructor.md) | Disallow generic `Array` constructors | :white_check_mark: | :wrench: | | | [`@typescript-eslint/no-dupe-class-members`](./docs/rules/no-dupe-class-members.md) | Disallow duplicate class members | | | | -| [`@typescript-eslint/no-empty-function`](./docs/rules/no-empty-function.md) | Disallow empty functions | :heavy_check_mark: | | | +| [`@typescript-eslint/no-duplicate-imports`](./docs/rules/no-duplicate-imports.md) | Disallow duplicate imports | | | | +| [`@typescript-eslint/no-empty-function`](./docs/rules/no-empty-function.md) | Disallow empty functions | :white_check_mark: | | | | [`@typescript-eslint/no-extra-parens`](./docs/rules/no-extra-parens.md) | Disallow unnecessary parentheses | | :wrench: | | -| [`@typescript-eslint/no-extra-semi`](./docs/rules/no-extra-semi.md) | Disallow unnecessary semicolons | :heavy_check_mark: | :wrench: | | -| [`@typescript-eslint/no-invalid-this`](./docs/rules/no-invalid-this.md) | disallow `this` keywords outside of classes or class-like objects | | | | +| [`@typescript-eslint/no-extra-semi`](./docs/rules/no-extra-semi.md) | Disallow unnecessary semicolons | :white_check_mark: | :wrench: | | +| [`@typescript-eslint/no-implied-eval`](./docs/rules/no-implied-eval.md) | Disallow the use of `eval()`-like methods | :white_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/no-invalid-this`](./docs/rules/no-invalid-this.md) | Disallow `this` keywords outside of classes or class-like objects | | | | | [`@typescript-eslint/no-loop-func`](./docs/rules/no-loop-func.md) | Disallow function declarations that contain unsafe references inside loop statements | | | | | [`@typescript-eslint/no-loss-of-precision`](./docs/rules/no-loss-of-precision.md) | Disallow literal numbers that lose precision | | | | | [`@typescript-eslint/no-magic-numbers`](./docs/rules/no-magic-numbers.md) | Disallow magic numbers | | | | | [`@typescript-eslint/no-redeclare`](./docs/rules/no-redeclare.md) | Disallow variable redeclaration | | | | | [`@typescript-eslint/no-shadow`](./docs/rules/no-shadow.md) | Disallow variable declarations from shadowing variables declared in the outer scope | | | | +| [`@typescript-eslint/no-throw-literal`](./docs/rules/no-throw-literal.md) | Disallow throwing literals as exceptions | | | :thought_balloon: | | [`@typescript-eslint/no-unused-expressions`](./docs/rules/no-unused-expressions.md) | Disallow unused expressions | | | | -| [`@typescript-eslint/no-unused-vars`](./docs/rules/no-unused-vars.md) | Disallow unused variables | :heavy_check_mark: | | | +| [`@typescript-eslint/no-unused-vars`](./docs/rules/no-unused-vars.md) | Disallow unused variables | :white_check_mark: | | | | [`@typescript-eslint/no-use-before-define`](./docs/rules/no-use-before-define.md) | Disallow the use of variables before they are defined | | | | | [`@typescript-eslint/no-useless-constructor`](./docs/rules/no-useless-constructor.md) | Disallow unnecessary constructors | | | | +| [`@typescript-eslint/object-curly-spacing`](./docs/rules/object-curly-spacing.md) | Enforce consistent spacing inside braces | | :wrench: | | | [`@typescript-eslint/quotes`](./docs/rules/quotes.md) | Enforce the consistent use of either backticks, double, or single quotes | | :wrench: | | -| [`@typescript-eslint/require-await`](./docs/rules/require-await.md) | Disallow async functions which have no `await` expression | :heavy_check_mark: | | :thought_balloon: | +| [`@typescript-eslint/require-await`](./docs/rules/require-await.md) | Disallow async functions which have no `await` expression | :white_check_mark: | | :thought_balloon: | | [`@typescript-eslint/return-await`](./docs/rules/return-await.md) | Enforces consistent returning of awaited values | | :wrench: | :thought_balloon: | | [`@typescript-eslint/semi`](./docs/rules/semi.md) | Require or disallow semicolons instead of ASI | | :wrench: | | | [`@typescript-eslint/space-before-function-paren`](./docs/rules/space-before-function-paren.md) | Enforces consistent spacing before function parenthesis | | :wrench: | | +| [`@typescript-eslint/space-infix-ops`](./docs/rules/space-infix-ops.md) | This rule is aimed at ensuring there are spaces around infix operators. | | :wrench: | | diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js index 037b3ca81..0e6067e55 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js @@ -14,8 +14,11 @@ module.exports = { 'brace-style': 'off', '@typescript-eslint/brace-style': 'error', '@typescript-eslint/class-literal-property-style': 'error', + 'comma-dangle': 'off', + '@typescript-eslint/comma-dangle': 'error', 'comma-spacing': 'off', '@typescript-eslint/comma-spacing': 'error', + '@typescript-eslint/consistent-indexed-object-style': 'error', '@typescript-eslint/consistent-type-assertions': 'error', '@typescript-eslint/consistent-type-definitions': 'error', '@typescript-eslint/consistent-type-imports': 'error', @@ -44,8 +47,11 @@ module.exports = { '@typescript-eslint/no-array-constructor': 'error', '@typescript-eslint/no-base-to-string': 'error', '@typescript-eslint/no-confusing-non-null-assertion': 'error', + '@typescript-eslint/no-confusing-void-expression': 'error', 'no-dupe-class-members': 'off', '@typescript-eslint/no-dupe-class-members': 'error', + 'no-duplicate-imports': 'off', + '@typescript-eslint/no-duplicate-imports': 'error', '@typescript-eslint/no-dynamic-delete': 'error', 'no-empty-function': 'off', '@typescript-eslint/no-empty-function': 'error', @@ -60,6 +66,7 @@ module.exports = { '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-for-in-array': 'error', '@typescript-eslint/no-implicit-any-catch': 'error', + 'no-implied-eval': 'off', '@typescript-eslint/no-implied-eval': 'error', '@typescript-eslint/no-inferrable-types': 'error', 'no-invalid-this': 'off', @@ -83,6 +90,7 @@ module.exports = { 'no-shadow': 'off', '@typescript-eslint/no-shadow': 'error', '@typescript-eslint/no-this-alias': 'error', + 'no-throw-literal': 'off', '@typescript-eslint/no-throw-literal': 'error', '@typescript-eslint/no-type-alias': 'error', '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', @@ -90,6 +98,8 @@ module.exports = { '@typescript-eslint/no-unnecessary-qualifier': 'error', '@typescript-eslint/no-unnecessary-type-arguments': 'error', '@typescript-eslint/no-unnecessary-type-assertion': 'error', + '@typescript-eslint/no-unnecessary-type-constraint': 'error', + '@typescript-eslint/no-unsafe-argument': 'error', '@typescript-eslint/no-unsafe-assignment': 'error', '@typescript-eslint/no-unsafe-call': 'error', '@typescript-eslint/no-unsafe-member-access': 'error', @@ -103,6 +113,9 @@ module.exports = { 'no-useless-constructor': 'off', '@typescript-eslint/no-useless-constructor': 'error', '@typescript-eslint/no-var-requires': 'error', + '@typescript-eslint/non-nullable-type-assertion-style': 'error', + 'object-curly-spacing': 'off', + '@typescript-eslint/object-curly-spacing': 'error', '@typescript-eslint/prefer-as-const': 'error', '@typescript-eslint/prefer-enum-initializers': 'error', '@typescript-eslint/prefer-for-of': 'error', @@ -130,8 +143,11 @@ module.exports = { '@typescript-eslint/return-await': 'error', semi: 'off', '@typescript-eslint/semi': 'error', + '@typescript-eslint/sort-type-union-intersection-members': 'error', 'space-before-function-paren': 'off', '@typescript-eslint/space-before-function-paren': 'error', + 'space-infix-ops': 'off', + '@typescript-eslint/space-infix-ops': 'error', '@typescript-eslint/strict-boolean-expressions': 'error', '@typescript-eslint/switch-exhaustiveness-check': 'error', '@typescript-eslint/triple-slash-reference': 'error', diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map index e3533ccde..e04b11df4 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map @@ -1 +1 @@ -{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js index f1b5191e8..0e77d96d2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js @@ -24,7 +24,7 @@ module.exports = { 'prefer-const': 'error', 'prefer-rest-params': 'error', 'prefer-spread': 'error', - 'valid-typeof': 'off', + 'valid-typeof': 'off', // ts(2367) }, }, ], diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map index 8181881ac..ceaa6ab02 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map @@ -1 +1 @@ -{"version":3,"file":"eslint-recommended.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended.ts"],"names":[],"mappings":";AAKA,iBAAS;IACP,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACxB,KAAK,EAAE;gBACL,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,KAAK;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;gBACrB,uBAAuB,EAAE,KAAK;gBAC9B,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,sBAAsB,EAAE,KAAK;gBAC7B,UAAU,EAAE,KAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,OAAO;gBACvB,oBAAoB,EAAE,OAAO;gBAC7B,eAAe,EAAE,OAAO;gBACxB,cAAc,EAAE,KAAK;aACtB;SACF;KACF;CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"eslint-recommended.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended.ts"],"names":[],"mappings":";AAKA,iBAAS;IACP,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACxB,KAAK,EAAE;gBACL,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,KAAK;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;gBACrB,uBAAuB,EAAE,KAAK;gBAC9B,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,sBAAsB,EAAE,KAAK;gBAC7B,UAAU,EAAE,KAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,OAAO;gBACvB,oBAAoB,EAAE,OAAO;gBAC7B,eAAe,EAAE,OAAO;gBACxB,cAAc,EAAE,KAAK,EAAE,WAAW;aACnC;SACF;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js index cb31319f0..5aeb55338 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js @@ -8,6 +8,7 @@ module.exports = { '@typescript-eslint/await-thenable': 'error', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-for-in-array': 'error', + 'no-implied-eval': 'off', '@typescript-eslint/no-implied-eval': 'error', '@typescript-eslint/no-misused-promises': 'error', '@typescript-eslint/no-unnecessary-type-assertion': 'error', diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js.map index ef219919f..10fcfda82 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.js.map @@ -1 +1 @@ -{"version":3,"file":"recommended-requiring-type-checking.js","sourceRoot":"","sources":["../../src/configs/recommended-requiring-type-checking.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,oDAAoD;AAEpD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,oCAAoC,EAAE,OAAO;QAC7C,wCAAwC,EAAE,OAAO;QACjD,kDAAkD,EAAE,OAAO;QAC3D,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,uCAAuC,EAAE,OAAO;QAChD,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE,OAAO;QACpD,kDAAkD,EAAE,OAAO;QAC3D,mCAAmC,EAAE,OAAO;KAC7C;CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"recommended-requiring-type-checking.js","sourceRoot":"","sources":["../../src/configs/recommended-requiring-type-checking.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,oDAAoD;AAEpD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,wCAAwC,EAAE,OAAO;QACjD,kDAAkD,EAAE,OAAO;QAC3D,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,uCAAuC,EAAE,OAAO;QAChD,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE,OAAO;QACpD,kDAAkD,EAAE,OAAO;QAC3D,mCAAmC,EAAE,OAAO;KAC7C;CACF,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map index 737109074..90316cde2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map @@ -1 +1 @@ -{"version":3,"file":"adjacent-overload-signatures.js","sourceRoot":"","sources":["../../src/rules/adjacent-overload-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"adjacent-overload-signatures.js","sourceRoot":"","sources":["../../src/rules/adjacent-overload-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js index 4f4d2d195..ea84b4b4c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js @@ -123,24 +123,6 @@ exports.default = util.createRule({ const sourceCode = context.getSourceCode(); const defaultOption = options.default; const readonlyOption = (_a = options.readonly) !== null && _a !== void 0 ? _a : defaultOption; - const isArraySimpleOption = defaultOption === 'array-simple' && readonlyOption === 'array-simple'; - const isArrayOption = defaultOption === 'array' && readonlyOption === 'array'; - const isGenericOption = defaultOption === 'generic' && readonlyOption === 'generic'; - /** - * Check if whitespace is needed before this node - * @param node the node to be evaluated. - */ - function requireWhitespaceBefore(node) { - const prevToken = sourceCode.getTokenBefore(node); - if (!prevToken) { - return false; - } - const nextToken = sourceCode.getTokenAfter(prevToken); - if (nextToken && sourceCode.isSpaceBetweenTokens(prevToken, nextToken)) { - return false; - } - return prevToken.type === experimental_utils_1.AST_TOKEN_TYPES.Identifier; - } /** * @param node the node to be evaluated. */ @@ -155,84 +137,55 @@ exports.default = util.createRule({ } return 'T'; } - /** - * @param node the node to be evaluated - */ - function getTypeOpNodeRange(node) { - if (!node) { - return undefined; - } - const firstToken = sourceCode.getFirstToken(node); - const nextToken = sourceCode.getTokenAfter(firstToken); - return [firstToken.range[0], nextToken.range[0]]; - } return { TSArrayType(node) { - if (isArrayOption || - (isArraySimpleOption && isSimpleType(node.elementType))) { - return; - } const isReadonly = node.parent && node.parent.type === experimental_utils_1.AST_NODE_TYPES.TSTypeOperator && node.parent.operator === 'readonly'; - const isReadonlyGeneric = readonlyOption === 'generic' && defaultOption !== 'generic'; - const isReadonlyArray = readonlyOption !== 'generic' && defaultOption === 'generic'; - if ((isReadonlyGeneric && !isReadonly) || - (isReadonlyArray && isReadonly)) { + const currentOption = isReadonly ? readonlyOption : defaultOption; + if (currentOption === 'array' || + (currentOption === 'array-simple' && isSimpleType(node.elementType))) { return; } - const messageId = defaultOption === 'generic' + const messageId = currentOption === 'generic' ? 'errorStringGeneric' : 'errorStringGenericSimple'; - const typeOpNode = isReadonly ? node.parent : null; + const errorNode = isReadonly ? node.parent : node; context.report({ - node: isReadonly ? node.parent : node, + node: errorNode, messageId, data: { type: getMessageType(node.elementType), }, fix(fixer) { - const toFix = [ - fixer.replaceTextRange([node.range[1] - 2, node.range[1]], '>'), + const typeNode = node.elementType.type === experimental_utils_1.AST_NODE_TYPES.TSParenthesizedType + ? node.elementType.typeAnnotation + : node.elementType; + const arrayType = isReadonly ? 'ReadonlyArray' : 'Array'; + return [ + fixer.replaceTextRange([errorNode.range[0], typeNode.range[0]], `${arrayType}<`), + fixer.replaceTextRange([typeNode.range[1], errorNode.range[1]], '>'), ]; - const startText = requireWhitespaceBefore(node); - const typeOpNodeRange = getTypeOpNodeRange(typeOpNode); - if (typeOpNodeRange) { - toFix.unshift(fixer.removeRange(typeOpNodeRange)); - } - else { - toFix.push(fixer.insertTextBefore(node, `${startText ? ' ' : ''}`)); - } - toFix.push(fixer.insertTextBefore(node, `${isReadonly ? 'Readonly' : ''}Array<`)); - if (node.elementType.type === experimental_utils_1.AST_NODE_TYPES.TSParenthesizedType) { - const first = sourceCode.getFirstToken(node.elementType); - const last = sourceCode.getLastToken(node.elementType); - if (!first || !last) { - return null; - } - toFix.push(fixer.remove(first)); - toFix.push(fixer.remove(last)); - } - return toFix; }, }); }, TSTypeReference(node) { - var _a; - if (isGenericOption || - node.typeName.type !== experimental_utils_1.AST_NODE_TYPES.Identifier) { + var _a, _b; + if (node.typeName.type !== experimental_utils_1.AST_NODE_TYPES.Identifier || + !(node.typeName.name === 'Array' || + node.typeName.name === 'ReadonlyArray')) { return; } const isReadonlyArrayType = node.typeName.name === 'ReadonlyArray'; - const isArrayType = node.typeName.name === 'Array'; - if (!(isArrayType || isReadonlyArrayType) || - (readonlyOption === 'generic' && isReadonlyArrayType) || - (defaultOption === 'generic' && !isReadonlyArrayType)) { + const currentOption = isReadonlyArrayType + ? readonlyOption + : defaultOption; + if (currentOption === 'generic') { return; } const readonlyPrefix = isReadonlyArrayType ? 'readonly ' : ''; const typeParams = (_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.params; - const messageId = defaultOption === 'array' + const messageId = currentOption === 'array' ? 'errorStringArray' : 'errorStringArraySimple'; if (!typeParams || typeParams.length === 0) { @@ -250,11 +203,14 @@ exports.default = util.createRule({ return; } if (typeParams.length !== 1 || - (defaultOption === 'array-simple' && !isSimpleType(typeParams[0]))) { + (currentOption === 'array-simple' && !isSimpleType(typeParams[0]))) { return; } const type = typeParams[0]; - const parens = typeNeedsParentheses(type); + const typeParens = typeNeedsParentheses(type); + const parentParens = readonlyPrefix && ((_b = node.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.TSArrayType; + const start = `${parentParens ? '(' : ''}${readonlyPrefix}${typeParens ? '(' : ''}`; + const end = `${typeParens ? ')' : ''}[]${parentParens ? ')' : ''}`; context.report({ node, messageId, @@ -263,8 +219,8 @@ exports.default = util.createRule({ }, fix(fixer) { return [ - fixer.replaceTextRange([node.range[0], type.range[0]], `${readonlyPrefix}${parens ? '(' : ''}`), - fixer.replaceTextRange([type.range[1], node.range[1]], parens ? ')[]' : '[]'), + fixer.replaceTextRange([node.range[0], type.range[0]], start), + fixer.replaceTextRange([type.range[1], node.range[1]], end), ]; }, }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map index 2acd2d280..e5f496878 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map @@ -1 +1 @@ -{"version":3,"file":"array-type.js","sourceRoot":"","sources":["../../src/rules/array-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"array-type.js","sourceRoot":"","sources":["../../src/rules/array-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js index d2a19b45d..95e7c2830 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js @@ -28,13 +28,13 @@ exports.default = util.createRule({ meta: { type: 'problem', docs: { - description: 'Bans `// @ts-` comments from being used or requires descriptions after directive', + description: 'Bans `@ts-` comments from being used or requires descriptions after directive', category: 'Best Practices', recommended: 'error', }, messages: { - tsDirectiveComment: 'Do not use "// @ts-{{directive}}" because it alters compilation errors.', - tsDirectiveCommentRequiresDescription: 'Include a description after the "// @ts-{{directive}}" directive to explain why the @ts-{{directive}} is necessary. The description must be {{minimumDescriptionLength}} characters or longer.', + tsDirectiveComment: 'Do not use "@ts-{{directive}}" because it alters compilation errors.', + tsDirectiveCommentRequiresDescription: 'Include a description after the "@ts-{{directive}}" directive to explain why the @ts-{{directive}} is necessary. The description must be {{minimumDescriptionLength}} characters or longer.', }, schema: [ { @@ -103,17 +103,23 @@ exports.default = util.createRule({ }, ], create(context, [options]) { - const tsCommentRegExp = /^\/*\s*@ts-(expect-error|ignore|check|nocheck)(.*)/; + /* + The regex used are taken from the ones used in the official TypeScript repo - + https://github.com/microsoft/TypeScript/blob/master/src/compiler/scanner.ts#L281-L289 + */ + const commentDirectiveRegExSingleLine = /^\/*\s*@ts-(expect-error|ignore|check|nocheck)(.*)/; + const commentDirectiveRegExMultiLine = /^\s*(?:\/|\*)*\s*@ts-(expect-error|ignore|check|nocheck)(.*)/; const sourceCode = context.getSourceCode(); return { Program() { const comments = sourceCode.getAllComments(); comments.forEach(comment => { var _a; + let regExp = commentDirectiveRegExSingleLine; if (comment.type !== experimental_utils_1.AST_TOKEN_TYPES.Line) { - return; + regExp = commentDirectiveRegExMultiLine; } - const [, directive, description] = (_a = tsCommentRegExp.exec(comment.value)) !== null && _a !== void 0 ? _a : []; + const [, directive, description] = (_a = regExp.exec(comment.value)) !== null && _a !== void 0 ? _a : []; const fullDirective = `ts-${directive}`; const option = options[fullDirective]; if (option === true) { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map index 7d6e42109..1320e5b86 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map @@ -1 +1 @@ -{"version":3,"file":"ban-ts-comment.js","sourceRoot":"","sources":["../../src/rules/ban-ts-comment.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ban-ts-comment.js","sourceRoot":"","sources":["../../src/rules/ban-ts-comment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map index 301958f15..b815c852e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map @@ -1 +1 @@ -{"version":3,"file":"ban-tslint-comment.js","sourceRoot":"","sources":["../../src/rules/ban-tslint-comment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwE;AACxE,8CAAgC;AAEhC,eAAe;AACf,iHAAiH;AACjH,MAAM,oBAAoB,GAAG,2DAA2D,CAAC;AAEzF,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,IAAkD,EAC1C,EAAE,CACV,IAAI,KAAK,oCAAe,CAAC,IAAI;IAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;SACnB;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,uCAAuC;SACzD;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wBACtC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;4BACvC,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,iBAAiB;4BAC5B,GAAG,CAAC,KAAK;gCACP,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;oCAC5C,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC3D,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC;oCAC1C,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oCACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;iCACrB,CAAC,CAAC;gCACH,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;4BACvD,CAAC;yBACF,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"ban-tslint-comment.js","sourceRoot":"","sources":["../../src/rules/ban-tslint-comment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwE;AACxE,8CAAgC;AAEhC,eAAe;AACf,iHAAiH;AACjH,MAAM,oBAAoB,GACxB,2DAA2D,CAAC;AAE9D,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,IAAkD,EAC1C,EAAE,CACV,IAAI,KAAK,oCAAe,CAAC,IAAI;IAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;SACnB;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,uCAAuC;SACzD;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wBACtC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;4BACvC,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,iBAAiB;4BAC5B,GAAG,CAAC,KAAK;gCACP,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;oCAC5C,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC3D,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC;oCAC1C,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oCACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;iCACrB,CAAC,CAAC;gCACH,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;4BACvD,CAAC;yBACF,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js index eb9fc2d5f..0cbb3e6c8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js @@ -25,7 +25,7 @@ const util = __importStar(require("../util")); function removeSpaces(str) { return str.replace(/ /g, ''); } -function stringifyTypeName(node, sourceCode) { +function stringifyNode(node, sourceCode) { return removeSpaces(sourceCode.getText(node)); } function getCustomMessage(bannedType) { @@ -78,6 +78,7 @@ const defaultTypes = { '`{}` actually means "any non-nullish value".', '- If you want a type meaning "any object", you probably want `Record` instead.', '- If you want a type meaning "any value", you probably want `unknown` instead.', + '- If you want a type meaning "empty object", you probably want `Record` instead.', ].join('\n'), }, object: { @@ -150,7 +151,7 @@ exports.default = util.createRule({ const customTypes = (_b = options.types) !== null && _b !== void 0 ? _b : {}; const types = Object.assign({}, extendDefaults ? defaultTypes : {}, customTypes); const bannedTypes = new Map(Object.entries(types).map(([type, data]) => [removeSpaces(type), data])); - function checkBannedTypes(typeNode, name = stringifyTypeName(typeNode, context.getSourceCode())) { + function checkBannedTypes(typeNode, name = stringifyNode(typeNode, context.getSourceCode())) { const bannedType = bannedTypes.get(name); if (bannedType === undefined || bannedType === false) { return; @@ -181,8 +182,16 @@ exports.default = util.createRule({ } checkBannedTypes(node); }, - TSTypeReference({ typeName }) { - checkBannedTypes(typeName); + TSTupleType(node) { + if (node.elementTypes.length === 0) { + checkBannedTypes(node); + } + }, + TSTypeReference(node) { + checkBannedTypes(node.typeName); + if (node.typeParameters) { + checkBannedTypes(node); + } } }); }, }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map index 3f3eb618b..d8788fda9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map @@ -1 +1 @@ -{"version":3,"file":"ban-types.js","sourceRoot":"","sources":["../../src/rules/ban-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ban-types.js","sourceRoot":"","sources":["../../src/rules/ban-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js index 5709f0a9a..32f40b890 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js @@ -21,7 +21,7 @@ exports.default = util_1.createRule({ }, defaultOptions: ['1tbs'], create(context) { - const [style, { allowSingleLine } = { allowSingleLine: false },] = context.options; + const [style, { allowSingleLine } = { allowSingleLine: false }] = context.options; const isAllmanStyle = style === 'allman'; const sourceCode = context.getSourceCode(); const rules = brace_style_1.default.create(context); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js.map index 8bfa2a874..d7bcebbcf 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js.map @@ -1 +1 @@ -{"version":3,"file":"brace-style.js","sourceRoot":"","sources":["../../src/rules/brace-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"brace-style.js","sourceRoot":"","sources":["../../src/rules/brace-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js new file mode 100644 index 000000000..5083584c8 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js @@ -0,0 +1,177 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const util = __importStar(require("../util")); +const comma_dangle_1 = __importDefault(require("eslint/lib/rules/comma-dangle")); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const OPTION_VALUE_SCHEME = [ + 'always-multiline', + 'always', + 'never', + 'only-multiline', +]; +const DEFAULT_OPTION_VALUE = 'never'; +function normalizeOptions(options) { + var _a, _b, _c; + if (typeof options === 'string') { + return { + enums: options, + generics: options, + tuples: options, + }; + } + return { + enums: (_a = options.enums) !== null && _a !== void 0 ? _a : DEFAULT_OPTION_VALUE, + generics: (_b = options.generics) !== null && _b !== void 0 ? _b : DEFAULT_OPTION_VALUE, + tuples: (_c = options.tuples) !== null && _c !== void 0 ? _c : DEFAULT_OPTION_VALUE, + }; +} +exports.default = util.createRule({ + name: 'comma-dangle', + meta: { + type: 'layout', + docs: { + description: 'Require or disallow trailing comma', + category: 'Stylistic Issues', + recommended: false, + extendsBaseRule: true, + }, + schema: { + definitions: { + value: { + enum: OPTION_VALUE_SCHEME, + }, + valueWithIgnore: { + enum: [...OPTION_VALUE_SCHEME, 'ignore'], + }, + }, + type: 'array', + items: [ + { + oneOf: [ + { + $ref: '#/definitions/value', + }, + { + type: 'object', + properties: { + arrays: { $ref: '#/definitions/valueWithIgnore' }, + objects: { $ref: '#/definitions/valueWithIgnore' }, + imports: { $ref: '#/definitions/valueWithIgnore' }, + exports: { $ref: '#/definitions/valueWithIgnore' }, + functions: { $ref: '#/definitions/valueWithIgnore' }, + enums: { $ref: '#/definitions/valueWithIgnore' }, + generics: { $ref: '#/definitions/valueWithIgnore' }, + tuples: { $ref: '#/definitions/valueWithIgnore' }, + }, + additionalProperties: false, + }, + ], + }, + ], + }, + fixable: 'code', + messages: comma_dangle_1.default.meta.messages, + }, + defaultOptions: ['never'], + create(context, [options]) { + const rules = comma_dangle_1.default.create(context); + const sourceCode = context.getSourceCode(); + const normalizedOptions = normalizeOptions(options); + const predicate = { + always: forceComma, + 'always-multiline': forceCommaIfMultiline, + 'only-multiline': allowCommaIfMultiline, + never: forbidComma, + ignore: () => { }, + }; + function last(nodes) { + var _a; + return (_a = nodes[nodes.length - 1]) !== null && _a !== void 0 ? _a : null; + } + function getLastItem(node) { + switch (node.type) { + case experimental_utils_1.AST_NODE_TYPES.TSEnumDeclaration: + return last(node.members); + case experimental_utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration: + return last(node.params); + case experimental_utils_1.AST_NODE_TYPES.TSTupleType: + return last(node.elementTypes); + default: + return null; + } + } + function getTrailingToken(node) { + const last = getLastItem(node); + const trailing = last && sourceCode.getTokenAfter(last); + return trailing; + } + function isMultiline(node) { + const last = getLastItem(node); + const lastToken = sourceCode.getLastToken(node); + return (last === null || last === void 0 ? void 0 : last.loc.end.line) !== (lastToken === null || lastToken === void 0 ? void 0 : lastToken.loc.end.line); + } + function forbidComma(node) { + const last = getLastItem(node); + const trailing = getTrailingToken(node); + if (last && trailing && util.isCommaToken(trailing)) { + context.report({ + node, + messageId: 'unexpected', + fix(fixer) { + return fixer.remove(trailing); + }, + }); + } + } + function forceComma(node) { + const last = getLastItem(node); + const trailing = getTrailingToken(node); + if (last && trailing && !util.isCommaToken(trailing)) { + context.report({ + node, + messageId: 'missing', + fix(fixer) { + return fixer.insertTextAfter(last, ','); + }, + }); + } + } + function allowCommaIfMultiline(node) { + if (!isMultiline(node)) { + forbidComma(node); + } + } + function forceCommaIfMultiline(node) { + if (isMultiline(node)) { + forceComma(node); + } + else { + forbidComma(node); + } + } + return Object.assign(Object.assign({}, rules), { TSEnumDeclaration: predicate[normalizedOptions.enums], TSTypeParameterDeclaration: predicate[normalizedOptions.generics], TSTupleType: predicate[normalizedOptions.tuples] }); + }, +}); +//# sourceMappingURL=comma-dangle.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js.map new file mode 100644 index 000000000..10119f91d --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"comma-dangle.js","sourceRoot":"","sources":["../../src/rules/comma-dangle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js index 6e2c44066..791fbe54c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js @@ -69,10 +69,13 @@ exports.default = util_1.createRule({ * @param node node to evaluate */ function addTypeParametersTrailingCommaToIgnoreList(node) { - const param = node.params[node.params.length - 1]; - const afterToken = sourceCode.getTokenAfter(param); - if (afterToken && util_1.isCommaToken(afterToken)) { - ignoredTokens.add(afterToken); + const paramLength = node.params.length; + if (paramLength) { + const param = node.params[paramLength - 1]; + const afterToken = sourceCode.getTokenAfter(param); + if (afterToken && util_1.isCommaToken(afterToken)) { + ignoredTokens.add(afterToken); + } } } /** diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map index 9ddd17a65..a03038095 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map @@ -1 +1 @@ -{"version":3,"file":"comma-spacing.js","sourceRoot":"","sources":["../../src/rules/comma-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"comma-spacing.js","sourceRoot":"","sources":["../../src/rules/comma-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js new file mode 100644 index 000000000..e7c4c523f --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js @@ -0,0 +1,109 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const util_1 = require("../util"); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +exports.default = util_1.createRule({ + name: 'consistent-indexed-object-style', + meta: { + type: 'suggestion', + docs: { + description: 'Enforce or disallow the use of the record type', + category: 'Stylistic Issues', + // too opinionated to be recommended + recommended: false, + }, + messages: { + preferRecord: 'A record is preferred over an index signature', + preferIndexSignature: 'An index signature is preferred over a record.', + }, + fixable: 'code', + schema: [ + { + enum: ['record', 'index-signature'], + }, + ], + }, + defaultOptions: ['record'], + create(context) { + const sourceCode = context.getSourceCode(); + if (context.options[0] === 'index-signature') { + return { + TSTypeReference(node) { + var _a; + const typeName = node.typeName; + if (typeName.type !== experimental_utils_1.AST_NODE_TYPES.Identifier) { + return; + } + if (typeName.name !== 'Record') { + return; + } + const params = (_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.params; + if ((params === null || params === void 0 ? void 0 : params.length) !== 2) { + return; + } + context.report({ + node, + messageId: 'preferIndexSignature', + fix(fixer) { + const key = sourceCode.getText(params[0]); + const type = sourceCode.getText(params[1]); + return fixer.replaceText(node, `{ [key: ${key}]: ${type} }`); + }, + }); + }, + }; + } + function checkMembers(members, node, prefix, postfix, safeFix = true) { + if (members.length !== 1) { + return; + } + const [member] = members; + if (member.type !== experimental_utils_1.AST_NODE_TYPES.TSIndexSignature) { + return; + } + const [parameter] = member.parameters; + if (!parameter) { + return; + } + if (parameter.type !== experimental_utils_1.AST_NODE_TYPES.Identifier) { + return; + } + const keyType = parameter.typeAnnotation; + if (!keyType) { + return; + } + const valueType = member.typeAnnotation; + if (!valueType) { + return; + } + context.report({ + node, + messageId: 'preferRecord', + fix: safeFix + ? (fixer) => { + const key = sourceCode.getText(keyType.typeAnnotation); + const value = sourceCode.getText(valueType.typeAnnotation); + const record = member.readonly + ? `Readonly>` + : `Record<${key}, ${value}>`; + return fixer.replaceText(node, `${prefix}${record}${postfix}`); + } + : null, + }); + } + return { + TSTypeLiteral(node) { + checkMembers(node.members, node, '', ''); + }, + TSInterfaceDeclaration(node) { + var _a, _b, _c, _d; + let genericTypes = ''; + if (((_b = (_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.params) !== null && _b !== void 0 ? _b : []).length > 0) { + genericTypes = `<${(_c = node.typeParameters) === null || _c === void 0 ? void 0 : _c.params.map(p => p.name.name).join(', ')}>`; + } + checkMembers(node.body.body, node, `type ${node.id.name}${genericTypes} = `, ';', !((_d = node.extends) === null || _d === void 0 ? void 0 : _d.length)); + }, + }; + }, +}); +//# sourceMappingURL=consistent-indexed-object-style.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map new file mode 100644 index 000000000..57dacaf1a --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map @@ -0,0 +1 @@ +{"version":3,"file":"consistent-indexed-object-style.js","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js index 00e292ad4..da4eb4aa3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js @@ -121,7 +121,8 @@ exports.default = util.createRule({ (node.parent.type === experimental_utils_1.AST_NODE_TYPES.NewExpression || node.parent.type === experimental_utils_1.AST_NODE_TYPES.CallExpression || node.parent.type === experimental_utils_1.AST_NODE_TYPES.ThrowStatement || - node.parent.type === experimental_utils_1.AST_NODE_TYPES.AssignmentPattern)) { + node.parent.type === experimental_utils_1.AST_NODE_TYPES.AssignmentPattern || + node.parent.type === experimental_utils_1.AST_NODE_TYPES.JSXExpressionContainer)) { return; } if (checkType(node.typeAnnotation) && diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map index 41dd8b124..79a302dcb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map @@ -1 +1 @@ -{"version":3,"file":"consistent-type-assertions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-assertions.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"consistent-type-assertions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-assertions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js index cd0de69e5..36a08f091 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js @@ -45,6 +45,17 @@ exports.default = util.createRule({ defaultOptions: ['interface'], create(context, [option]) { const sourceCode = context.getSourceCode(); + /** + * Iterates from the highest parent to the currently traversed node + * to determine whether any node in tree is globally declared module declaration + */ + function isCurrentlyTraversedNodeWithinModuleDeclaration() { + return context + .getAncestors() + .some(node => node.type === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration && + node.declare && + node.global); + } return { "TSTypeAliasDeclaration[typeAnnotation.type='TSTypeLiteral']"(node) { if (option === 'interface') { @@ -76,23 +87,29 @@ exports.default = util.createRule({ context.report({ node: node.id, messageId: 'typeOverInterface', - fix(fixer) { - var _a; - const typeNode = (_a = node.typeParameters) !== null && _a !== void 0 ? _a : node.id; - const fixes = []; - const firstToken = sourceCode.getFirstToken(node); - if (firstToken) { - fixes.push(fixer.replaceText(firstToken, 'type')); - fixes.push(fixer.replaceTextRange([typeNode.range[1], node.body.range[0]], ' = ')); - } - if (node.extends) { - node.extends.forEach(heritage => { - const typeIdentifier = sourceCode.getText(heritage); - fixes.push(fixer.insertTextAfter(node.body, ` & ${typeIdentifier}`)); - }); - } - return fixes; - }, + /** + * remove automatically fix when the interface is within a declare global + * @see {@link https://github.com/typescript-eslint/typescript-eslint/issues/2707} + */ + fix: isCurrentlyTraversedNodeWithinModuleDeclaration() + ? null + : (fixer) => { + var _a; + const typeNode = (_a = node.typeParameters) !== null && _a !== void 0 ? _a : node.id; + const fixes = []; + const firstToken = sourceCode.getFirstToken(node); + if (firstToken) { + fixes.push(fixer.replaceText(firstToken, 'type')); + fixes.push(fixer.replaceTextRange([typeNode.range[1], node.body.range[0]], ' = ')); + } + if (node.extends) { + node.extends.forEach(heritage => { + const typeIdentifier = sourceCode.getText(heritage); + fixes.push(fixer.insertTextAfter(node.body, ` & ${typeIdentifier}`)); + }); + } + return fixes; + }, }); } }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map index a9d96cba8..1bf66d8f8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map @@ -1 +1 @@ -{"version":3,"file":"consistent-type-definitions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-definitions.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"consistent-type-definitions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-definitions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js index c61196c54..2a0246cdc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js @@ -40,6 +40,8 @@ exports.default = util.createRule({ typeOverValue: 'All imports in the declaration are only used as types. Use `import type`', someImportsAreOnlyTypes: 'Imports {{typeImports}} are only used as types', aImportIsOnlyTypes: 'Import {{typeImports}} is only used as types', + someImportsInDecoMeta: 'Type imports {{typeImports}} are used by decorator metadata', + aImportInDecoMeta: 'Type import {{typeImports}} is used by decorator metadata', valueOverType: 'Use an `import` instead of an `import type`.', noImportTypeAnnotations: '`import()` type annotations are forbidden.', }, @@ -81,15 +83,20 @@ exports.default = util.createRule({ source, reportValueImports: [], typeOnlyNamedImport: null, + valueOnlyNamedImport: null, }); if (node.importKind === 'type') { if (!sourceImports.typeOnlyNamedImport && node.specifiers.every(specifier => specifier.type === experimental_utils_1.AST_NODE_TYPES.ImportSpecifier)) { sourceImports.typeOnlyNamedImport = node; } - return; } - // if importKind === 'value' + else { + if (!sourceImports.valueOnlyNamedImport && + node.specifiers.every(specifier => specifier.type === experimental_utils_1.AST_NODE_TYPES.ImportSpecifier)) { + sourceImports.valueOnlyNamedImport = node; + } + } const typeSpecifiers = []; const valueSpecifiers = []; const unusedSpecifiers = []; @@ -100,21 +107,58 @@ exports.default = util.createRule({ } else { const onlyHasTypeReferences = variable.references.every(ref => { - if (ref.isValueReference) { - // `type T = typeof foo` will create a value reference because "foo" must be a value type - // however this value reference is safe to use with type-only imports - let parent = ref.identifier.parent; - while (parent) { - if (parent.type === experimental_utils_1.AST_NODE_TYPES.TSTypeQuery) { - return true; - } - // TSTypeQuery must have a TSESTree.EntityName as its child, so we can filter here and break early - if (parent.type !== experimental_utils_1.AST_NODE_TYPES.TSQualifiedName) { - break; - } - parent = parent.parent; + var _a, _b; + /** + * keep origin import kind when export + * export { Type } + * export default Type; + */ + if (((_a = ref.identifier.parent) === null || _a === void 0 ? void 0 : _a.type) === + experimental_utils_1.AST_NODE_TYPES.ExportSpecifier || + ((_b = ref.identifier.parent) === null || _b === void 0 ? void 0 : _b.type) === + experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration) { + if (ref.isValueReference && ref.isTypeReference) { + return node.importKind === 'type'; + } + } + if (ref.isValueReference) { + let parent = ref.identifier.parent; + let child = ref.identifier; + while (parent) { + switch (parent.type) { + // CASE 1: + // `type T = typeof foo` will create a value reference because "foo" must be a value type + // however this value reference is safe to use with type-only imports + case experimental_utils_1.AST_NODE_TYPES.TSTypeQuery: + return true; + case experimental_utils_1.AST_NODE_TYPES.TSQualifiedName: + // TSTypeQuery must have a TSESTree.EntityName as its child, so we can filter here and break early + if (parent.left !== child) { + return false; + } + child = parent; + parent = parent.parent; + continue; + // END CASE 1 + ////////////// + // CASE 2: + // `type T = { [foo]: string }` will create a value reference because "foo" must be a value type + // however this value reference is safe to use with type-only imports. + // Also this is represented as a non-type AST - hence it uses MemberExpression + case experimental_utils_1.AST_NODE_TYPES.TSPropertySignature: + return parent.key === child; + case experimental_utils_1.AST_NODE_TYPES.MemberExpression: + if (parent.object !== child) { + return false; + } + child = parent; + parent = parent.parent; + continue; + // END CASE 2 + default: + return false; + } } - return false; } return ref.isTypeReference; }); @@ -126,7 +170,8 @@ exports.default = util.createRule({ } } } - if (typeSpecifiers.length) { + if ((node.importKind === 'value' && typeSpecifiers.length) || + (node.importKind === 'type' && valueSpecifiers.length)) { sourceImports.reportValueImports.push({ node, typeSpecifiers, @@ -153,25 +198,54 @@ exports.default = util.createRule({ }); } else { + const isTypeImport = report.node.importKind === 'type'; // we have a mixed type/value import, so we need to split them out into multiple exports - const typeImportNames = report.typeSpecifiers.map(specifier => `"${specifier.local.name}"`); - context.report({ - node: report.node, - messageId: typeImportNames.length === 1 - ? 'aImportIsOnlyTypes' - : 'someImportsAreOnlyTypes', - data: { - typeImports: typeImportNames.length === 1 - ? typeImportNames[0] - : [ - typeImportNames.slice(0, -1).join(', '), - typeImportNames.slice(-1)[0], - ].join(' and '), - }, - *fix(fixer) { - yield* fixToTypeImport(fixer, report, sourceImports); - }, - }); + const importNames = (isTypeImport + ? report.valueSpecifiers + : report.typeSpecifiers).map(specifier => `"${specifier.local.name}"`); + const message = (() => { + if (importNames.length === 1) { + const typeImports = importNames[0]; + if (isTypeImport) { + return { + messageId: 'aImportInDecoMeta', + data: { typeImports }, + }; + } + else { + return { + messageId: 'aImportIsOnlyTypes', + data: { typeImports }, + }; + } + } + else { + const typeImports = [ + importNames.slice(0, -1).join(', '), + importNames.slice(-1)[0], + ].join(' and '); + if (isTypeImport) { + return { + messageId: 'someImportsInDecoMeta', + data: { typeImports }, + }; + } + else { + return { + messageId: 'someImportsAreOnlyTypes', + data: { typeImports }, + }; + } + } + })(); + context.report(Object.assign(Object.assign({ node: report.node }, message), { *fix(fixer) { + if (isTypeImport) { + yield* fixToValueImportInDecoMeta(fixer, report, sourceImports); + } + else { + yield* fixToTypeImport(fixer, report, sourceImports); + } + } })); } } } @@ -199,16 +273,117 @@ exports.default = util.createRule({ }, } : {})); - function* fixToTypeImport(fixer, report, sourceImports) { - const { node } = report; + function classifySpecifier(node) { + var _a; const defaultSpecifier = node.specifiers[0].type === experimental_utils_1.AST_NODE_TYPES.ImportDefaultSpecifier ? node.specifiers[0] : null; - const namespaceSpecifier = node.specifiers[0].type === experimental_utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier - ? node.specifiers[0] - : null; + const namespaceSpecifier = (_a = node.specifiers.find((specifier) => specifier.type === experimental_utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier)) !== null && _a !== void 0 ? _a : null; const namedSpecifiers = node.specifiers.filter((specifier) => specifier.type === experimental_utils_1.AST_NODE_TYPES.ImportSpecifier); - if (namespaceSpecifier) { + return { + defaultSpecifier, + namespaceSpecifier, + namedSpecifiers, + }; + } + /** + * Returns information for fixing named specifiers. + */ + function getFixesNamedSpecifiers(fixer, node, typeNamedSpecifiers, allNamedSpecifiers) { + if (allNamedSpecifiers.length === 0) { + return { + typeNamedSpecifiersText: '', + removeTypeNamedSpecifiers: [], + }; + } + const typeNamedSpecifiersTexts = []; + const removeTypeNamedSpecifiers = []; + if (typeNamedSpecifiers.length === allNamedSpecifiers.length) { + // e.g. + // import Foo, {Type1, Type2} from 'foo' + // import DefType, {Type1, Type2} from 'foo' + const openingBraceToken = util.nullThrows(sourceCode.getTokenBefore(typeNamedSpecifiers[0], util.isOpeningBraceToken), util.NullThrowsReasons.MissingToken('{', node.type)); + const commaToken = util.nullThrows(sourceCode.getTokenBefore(openingBraceToken, util.isCommaToken), util.NullThrowsReasons.MissingToken(',', node.type)); + const closingBraceToken = util.nullThrows(sourceCode.getFirstTokenBetween(openingBraceToken, node.source, util.isClosingBraceToken), util.NullThrowsReasons.MissingToken('}', node.type)); + // import DefType, {...} from 'foo' + // ^^^^^^^ remove + removeTypeNamedSpecifiers.push(fixer.removeRange([commaToken.range[0], closingBraceToken.range[1]])); + typeNamedSpecifiersTexts.push(sourceCode.text.slice(openingBraceToken.range[1], closingBraceToken.range[0])); + } + else { + const typeNamedSpecifierGroups = []; + let group = []; + for (const namedSpecifier of allNamedSpecifiers) { + if (typeNamedSpecifiers.includes(namedSpecifier)) { + group.push(namedSpecifier); + } + else if (group.length) { + typeNamedSpecifierGroups.push(group); + group = []; + } + } + if (group.length) { + typeNamedSpecifierGroups.push(group); + } + for (const namedSpecifiers of typeNamedSpecifierGroups) { + const { removeRange, textRange } = getNamedSpecifierRanges(namedSpecifiers, allNamedSpecifiers); + removeTypeNamedSpecifiers.push(fixer.removeRange(removeRange)); + typeNamedSpecifiersTexts.push(sourceCode.text.slice(...textRange)); + } + } + return { + typeNamedSpecifiersText: typeNamedSpecifiersTexts.join(','), + removeTypeNamedSpecifiers, + }; + } + /** + * Returns ranges for fixing named specifier. + */ + function getNamedSpecifierRanges(namedSpecifierGroup, allNamedSpecifiers) { + const first = namedSpecifierGroup[0]; + const last = namedSpecifierGroup[namedSpecifierGroup.length - 1]; + const removeRange = [first.range[0], last.range[1]]; + const textRange = [...removeRange]; + const before = sourceCode.getTokenBefore(first); + textRange[0] = before.range[1]; + if (util.isCommaToken(before)) { + removeRange[0] = before.range[0]; + } + else { + removeRange[0] = before.range[1]; + } + const isFirst = allNamedSpecifiers[0] === first; + const isLast = allNamedSpecifiers[allNamedSpecifiers.length - 1] === last; + const after = sourceCode.getTokenAfter(last); + textRange[1] = after.range[0]; + if (isFirst || isLast) { + if (util.isCommaToken(after)) { + removeRange[1] = after.range[1]; + } + } + return { + textRange, + removeRange, + }; + } + /** + * insert specifiers to named import node. + * e.g. + * import type { Already, Type1, Type2 } from 'foo' + * ^^^^^^^^^^^^^ insert + */ + function insertToNamedImport(fixer, target, insertText) { + const closingBraceToken = util.nullThrows(sourceCode.getFirstTokenBetween(sourceCode.getFirstToken(target), target.source, util.isClosingBraceToken), util.NullThrowsReasons.MissingToken('}', target.type)); + const before = sourceCode.getTokenBefore(closingBraceToken); + if (!util.isCommaToken(before) && !util.isOpeningBraceToken(before)) { + insertText = ',' + insertText; + } + return fixer.insertTextBefore(closingBraceToken, insertText); + } + function* fixToTypeImport(fixer, report, sourceImports) { + const { node } = report; + const { defaultSpecifier, namespaceSpecifier, namedSpecifiers } = classifySpecifier(node); + if (namespaceSpecifier && !defaultSpecifier) { // e.g. // import * as types from 'foo' yield* fixToTypeImportByInsertType(fixer, node, false); @@ -216,7 +391,8 @@ exports.default = util.createRule({ } else if (defaultSpecifier) { if (report.typeSpecifiers.includes(defaultSpecifier) && - namedSpecifiers.length === 0) { + namedSpecifiers.length === 0 && + !namespaceSpecifier) { // e.g. // import Type from 'foo' yield* fixToTypeImportByInsertType(fixer, node, true); @@ -224,7 +400,8 @@ exports.default = util.createRule({ } } else { - if (namedSpecifiers.every(specifier => report.typeSpecifiers.includes(specifier))) { + if (namedSpecifiers.every(specifier => report.typeSpecifiers.includes(specifier)) && + !namespaceSpecifier) { // e.g. // import {Type1, Type2} from 'foo' yield* fixToTypeImportByInsertType(fixer, node, false); @@ -232,19 +409,11 @@ exports.default = util.createRule({ } } const typeNamedSpecifiers = namedSpecifiers.filter(specifier => report.typeSpecifiers.includes(specifier)); - const fixesNamedSpecifiers = getFixesNamedSpecifiers(typeNamedSpecifiers, namedSpecifiers); + const fixesNamedSpecifiers = getFixesNamedSpecifiers(fixer, node, typeNamedSpecifiers, namedSpecifiers); const afterFixes = []; if (typeNamedSpecifiers.length) { if (sourceImports.typeOnlyNamedImport) { - const closingBraceToken = util.nullThrows(sourceCode.getFirstTokenBetween(sourceCode.getFirstToken(sourceImports.typeOnlyNamedImport), sourceImports.typeOnlyNamedImport.source, util.isClosingBraceToken), util.NullThrowsReasons.MissingToken('}', sourceImports.typeOnlyNamedImport.type)); - let insertText = fixesNamedSpecifiers.typeNamedSpecifiersText; - const before = sourceCode.getTokenBefore(closingBraceToken); - if (!util.isCommaToken(before) && !util.isOpeningBraceToken(before)) { - insertText = ',' + insertText; - } - // import type { Already, Type1, Type2 } from 'foo' - // ^^^^^^^^^^^^^ insert - const insertTypeNamedSpecifiers = fixer.insertTextBefore(closingBraceToken, insertText); + const insertTypeNamedSpecifiers = insertToNamedImport(fixer, sourceImports.typeOnlyNamedImport, fixesNamedSpecifiers.typeNamedSpecifiersText); if (sourceImports.typeOnlyNamedImport.range[1] <= node.range[0]) { yield insertTypeNamedSpecifiers; } @@ -256,101 +425,49 @@ exports.default = util.createRule({ yield fixer.insertTextBefore(node, `import type {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${sourceCode.getText(node.source)};\n`); } } + const fixesRemoveTypeNamespaceSpecifier = []; + if (namespaceSpecifier && + report.typeSpecifiers.includes(namespaceSpecifier)) { + // e.g. + // import Foo, * as Type from 'foo' + // import DefType, * as Type from 'foo' + // import DefType, * as Type from 'foo' + const commaToken = util.nullThrows(sourceCode.getTokenBefore(namespaceSpecifier, util.isCommaToken), util.NullThrowsReasons.MissingToken(',', node.type)); + // import Def, * as Ns from 'foo' + // ^^^^^^^^^ remove + fixesRemoveTypeNamespaceSpecifier.push(fixer.removeRange([commaToken.range[0], namespaceSpecifier.range[1]])); + // import type * as Ns from 'foo' + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ insert + yield fixer.insertTextBefore(node, `import type ${sourceCode.getText(namespaceSpecifier)} from ${sourceCode.getText(node.source)};\n`); + } if (defaultSpecifier && report.typeSpecifiers.includes(defaultSpecifier)) { - if (typeNamedSpecifiers.length === namedSpecifiers.length) { + if (report.typeSpecifiers.length === node.specifiers.length) { const importToken = util.nullThrows(sourceCode.getFirstToken(node, isImportToken), util.NullThrowsReasons.MissingToken('import', node.type)); // import type Type from 'foo' // ^^^^ insert yield fixer.insertTextAfter(importToken, ' type'); } else { - yield fixer.insertTextBefore(node, `import type ${sourceCode.getText(defaultSpecifier)} from ${sourceCode.getText(node.source)};\n`); + const commaToken = util.nullThrows(sourceCode.getTokenAfter(defaultSpecifier, util.isCommaToken), util.NullThrowsReasons.MissingToken(',', defaultSpecifier.type)); // import Type , {...} from 'foo' - // ^^^^^^ remove - yield fixer.remove(defaultSpecifier); - yield fixer.remove(sourceCode.getTokenAfter(defaultSpecifier)); + // ^^^^^ pick + const defaultText = sourceCode.text + .slice(defaultSpecifier.range[0], commaToken.range[0]) + .trim(); + yield fixer.insertTextBefore(node, `import type ${defaultText} from ${sourceCode.getText(node.source)};\n`); + const afterToken = util.nullThrows(sourceCode.getTokenAfter(commaToken, { includeComments: true }), util.NullThrowsReasons.MissingToken('any token', node.type)); + // import Type , {...} from 'foo' + // ^^^^^^^ remove + yield fixer.removeRange([ + defaultSpecifier.range[0], + afterToken.range[0], + ]); } } yield* fixesNamedSpecifiers.removeTypeNamedSpecifiers; + yield* fixesRemoveTypeNamespaceSpecifier; yield* afterFixes; - /** - * Returns information for fixing named specifiers. - */ - function getFixesNamedSpecifiers(typeNamedSpecifiers, allNamedSpecifiers) { - const typeNamedSpecifiersTexts = []; - const removeTypeNamedSpecifiers = []; - if (typeNamedSpecifiers.length === allNamedSpecifiers.length) { - // e.g. - // import Foo, {Type1, Type2} from 'foo' - // import DefType, {Type1, Type2} from 'foo' - const openingBraceToken = util.nullThrows(sourceCode.getTokenBefore(typeNamedSpecifiers[0], util.isOpeningBraceToken), util.NullThrowsReasons.MissingToken('{', node.type)); - const commaToken = util.nullThrows(sourceCode.getTokenBefore(openingBraceToken, util.isCommaToken), util.NullThrowsReasons.MissingToken(',', node.type)); - const closingBraceToken = util.nullThrows(sourceCode.getFirstTokenBetween(openingBraceToken, node.source, util.isClosingBraceToken), util.NullThrowsReasons.MissingToken('}', node.type)); - // import DefType, {...} from 'foo' - // ^^^^^^^ remove - removeTypeNamedSpecifiers.push(fixer.removeRange([ - commaToken.range[0], - closingBraceToken.range[1], - ])); - typeNamedSpecifiersTexts.push(sourceCode.text.slice(openingBraceToken.range[1], closingBraceToken.range[0])); - } - else { - const typeNamedSpecifierGroups = []; - let group = []; - for (const namedSpecifier of allNamedSpecifiers) { - if (typeNamedSpecifiers.includes(namedSpecifier)) { - group.push(namedSpecifier); - } - else if (group.length) { - typeNamedSpecifierGroups.push(group); - group = []; - } - } - if (group.length) { - typeNamedSpecifierGroups.push(group); - } - for (const namedSpecifiers of typeNamedSpecifierGroups) { - const { removeRange, textRange } = getNamedSpecifierRanges(namedSpecifiers, allNamedSpecifiers); - removeTypeNamedSpecifiers.push(fixer.removeRange(removeRange)); - typeNamedSpecifiersTexts.push(sourceCode.text.slice(...textRange)); - } - } - return { - typeNamedSpecifiersText: typeNamedSpecifiersTexts.join(','), - removeTypeNamedSpecifiers, - }; - } - /** - * Returns ranges for fixing named specifier. - */ - function getNamedSpecifierRanges(namedSpecifierGroup, allNamedSpecifiers) { - const first = namedSpecifierGroup[0]; - const last = namedSpecifierGroup[namedSpecifierGroup.length - 1]; - const removeRange = [first.range[0], last.range[1]]; - const textRange = [...removeRange]; - const before = sourceCode.getTokenBefore(first); - textRange[0] = before.range[1]; - if (util.isCommaToken(before)) { - removeRange[0] = before.range[0]; - } - else { - removeRange[0] = before.range[1]; - } - const isFirst = allNamedSpecifiers[0] === first; - const isLast = allNamedSpecifiers[allNamedSpecifiers.length - 1] === last; - const after = sourceCode.getTokenAfter(last); - textRange[1] = after.range[0]; - if (isFirst || isLast) { - if (util.isCommaToken(after)) { - removeRange[1] = after.range[1]; - } - } - return { - textRange, - removeRange, - }; - } } function* fixToTypeImportByInsertType(fixer, node, isDefaultImport) { // import type Foo from 'foo' @@ -379,13 +496,60 @@ exports.default = util.createRule({ } } } - function fixToValueImport(fixer, node) { + function* fixToValueImportInDecoMeta(fixer, report, sourceImports) { + const { node } = report; + const { defaultSpecifier, namespaceSpecifier, namedSpecifiers } = classifySpecifier(node); + if (namespaceSpecifier) { + // e.g. + // import type * as types from 'foo' + yield* fixToValueImport(fixer, node); + return; + } + else if (defaultSpecifier) { + if (report.valueSpecifiers.includes(defaultSpecifier) && + namedSpecifiers.length === 0) { + // e.g. + // import type Type from 'foo' + yield* fixToValueImport(fixer, node); + return; + } + } + else { + if (namedSpecifiers.every(specifier => report.valueSpecifiers.includes(specifier))) { + // e.g. + // import type {Type1, Type2} from 'foo' + yield* fixToValueImport(fixer, node); + return; + } + } + const valueNamedSpecifiers = namedSpecifiers.filter(specifier => report.valueSpecifiers.includes(specifier)); + const fixesNamedSpecifiers = getFixesNamedSpecifiers(fixer, node, valueNamedSpecifiers, namedSpecifiers); + const afterFixes = []; + if (valueNamedSpecifiers.length) { + if (sourceImports.valueOnlyNamedImport) { + const insertTypeNamedSpecifiers = insertToNamedImport(fixer, sourceImports.valueOnlyNamedImport, fixesNamedSpecifiers.typeNamedSpecifiersText); + if (sourceImports.valueOnlyNamedImport.range[1] <= node.range[0]) { + yield insertTypeNamedSpecifiers; + } + else { + afterFixes.push(insertTypeNamedSpecifiers); + } + } + else { + yield fixer.insertTextBefore(node, `import {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${sourceCode.getText(node.source)};\n`); + } + } + yield* fixesNamedSpecifiers.removeTypeNamedSpecifiers; + yield* afterFixes; + } + function* fixToValueImport(fixer, node) { var _a, _b; // import type Foo from 'foo' // ^^^^ remove const importToken = util.nullThrows(sourceCode.getFirstToken(node, isImportToken), util.NullThrowsReasons.MissingToken('import', node.type)); const typeToken = util.nullThrows(sourceCode.getFirstTokenBetween(importToken, (_b = (_a = node.specifiers[0]) === null || _a === void 0 ? void 0 : _a.local) !== null && _b !== void 0 ? _b : node.source, isTypeToken), util.NullThrowsReasons.MissingToken('type', node.type)); - return fixer.remove(typeToken); + const afterToken = util.nullThrows(sourceCode.getTokenAfter(typeToken, { includeComments: true }), util.NullThrowsReasons.MissingToken('any token', node.type)); + yield fixer.removeRange([typeToken.range[0], afterToken.range[0]]); } }, }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map index ce74bfdb2..60f1f386c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map @@ -1 +1 @@ -{"version":3,"file":"consistent-type-imports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-imports.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAK+C;AAC/C,8CAAgC;AAwBhC,SAAS,aAAa,CACpB,KAAwC;IAExC,OAAO,KAAK,CAAC,IAAI,KAAK,oCAAe,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAClB,KAAwC;IAExC,OAAO,KAAK,CAAC,IAAI,KAAK,oCAAe,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;AAC7E,CAAC;AAOD,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;SACnB;QACD,QAAQ,EAAE;YACR,aAAa,EACX,0EAA0E;YAC5E,uBAAuB,EAAE,gDAAgD;YACzE,kBAAkB,EAAE,8CAA8C;YAClE,aAAa,EAAE,8CAA8C;YAC7D,uBAAuB,EAAE,4CAA4C;SACtE;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;qBAC1C;oBACD,uBAAuB,EAAE;wBACvB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,OAAO,EAAE,MAAM;KAChB;IAED,cAAc,EAAE;QACd;YACE,MAAM,EAAE,cAAc;YACtB,uBAAuB,EAAE,IAAI;SAC9B;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;;QACtB,MAAM,MAAM,SAAG,MAAM,CAAC,MAAM,mCAAI,cAAc,CAAC;QAC/C,MAAM,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,KAAK,KAAK,CAAC;QACzE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE3C,MAAM,gBAAgB,GAAqC,EAAE,CAAC;QAE9D,uCACK,CAAC,MAAM,KAAK,cAAc;YAC3B,CAAC,CAAC;gBACE,sBAAsB;gBACtB,iBAAiB,CAAC,IAAgC;;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC;oBAC3C,MAAM,aAAa,SACjB,gBAAgB,CAAC,MAAM,CAAC,mCACxB,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG;wBAC1B,MAAM;wBACN,kBAAkB,EAAE,EAAE;wBACtB,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;oBACL,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;wBAC9B,IACE,CAAC,aAAa,CAAC,mBAAmB;4BAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CACnB,SAAS,CAAC,EAAE,CACV,SAAS,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe,CACpD,EACD;4BACA,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC;yBAC1C;wBACD,OAAO;qBACR;oBACD,4BAA4B;oBAC5B,MAAM,cAAc,GAA4B,EAAE,CAAC;oBACnD,MAAM,eAAe,GAA4B,EAAE,CAAC;oBACpD,MAAM,gBAAgB,GAA4B,EAAE,CAAC;oBACrD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;wBACvC,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;wBAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;4BACpC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBAClC;6BAAM;4BACL,MAAM,qBAAqB,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CACrD,GAAG,CAAC,EAAE;gCACJ,IAAI,GAAG,CAAC,gBAAgB,EAAE;oCACxB,yFAAyF;oCACzF,qEAAqE;oCACrE,IAAI,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;oCACnC,OAAO,MAAM,EAAE;wCACb,IAAI,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,WAAW,EAAE;4CAC9C,OAAO,IAAI,CAAC;yCACb;wCACD,kGAAkG;wCAClG,IAAI,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe,EAAE;4CAClD,MAAM;yCACP;wCACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qCACxB;oCACD,OAAO,KAAK,CAAC;iCACd;gCAED,OAAO,GAAG,CAAC,eAAe,CAAC;4BAC7B,CAAC,CACF,CAAC;4BACF,IAAI,qBAAqB,EAAE;gCACzB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;6BAChC;iCAAM;gCACL,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;6BACjC;yBACF;qBACF;oBAED,IAAI,cAAc,CAAC,MAAM,EAAE;wBACzB,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;4BACpC,IAAI;4BACJ,cAAc;4BACd,eAAe;4BACf,gBAAgB;yBACjB,CAAC,CAAC;qBACJ;gBACH,CAAC;gBACD,cAAc;oBACZ,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;wBAC3D,IAAI,aAAa,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;4BACjD,SAAS;yBACV;wBACD,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE;4BACrD,IACE,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;gCACnC,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACpC;gCACA,sEAAsE;gCACtE,OAAO,CAAC,MAAM,CAAC;oCACb,IAAI,EAAE,MAAM,CAAC,IAAI;oCACjB,SAAS,EAAE,eAAe;oCAC1B,CAAC,GAAG,CAAC,KAAK;wCACR,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oCACvD,CAAC;iCACF,CAAC,CAAC;6BACJ;iCAAM;gCACL,wFAAwF;gCACxF,MAAM,eAAe,GAAa,MAAM,CAAC,cAAc,CAAC,GAAG,CACzD,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CACzC,CAAC;gCACF,OAAO,CAAC,MAAM,CAAC;oCACb,IAAI,EAAE,MAAM,CAAC,IAAI;oCACjB,SAAS,EACP,eAAe,CAAC,MAAM,KAAK,CAAC;wCAC1B,CAAC,CAAC,oBAAoB;wCACtB,CAAC,CAAC,yBAAyB;oCAC/B,IAAI,EAAE;wCACJ,WAAW,EACT,eAAe,CAAC,MAAM,KAAK,CAAC;4CAC1B,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;4CACpB,CAAC,CAAC;gDACE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gDACvC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;6CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC;qCACtB;oCACD,CAAC,GAAG,CAAC,KAAK;wCACR,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oCACvD,CAAC;iCACF,CAAC,CAAC;6BACJ;yBACF;qBACF;gBACH,CAAC;aACF;YACH,CAAC,CAAC;gBACE,yBAAyB;gBACzB,wCAAwC,CACtC,IAAgC;oBAEhC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,eAAe;wBAC1B,GAAG,CAAC,KAAK;4BACP,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACvC,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,GACH,CAAC,uBAAuB;YACzB,CAAC,CAAC;gBACE,2BAA2B;gBAC3B,YAAY,CAAC,IAA2B;oBACtC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,yBAAyB;qBACrC,CAAC,CAAC;gBACL,CAAC;aACF;YACH,CAAC,CAAC,EAAE,CAAC,EACP;QAEF,QAAQ,CAAC,CAAC,eAAe,CACvB,KAAyB,EACzB,MAAyB,EACzB,aAA4B;YAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YAExB,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,mCAAc,CAAC,sBAAsB;gBAC/D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,kBAAkB,GACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,mCAAc,CAAC,wBAAwB;gBACjE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,eAAe,GAA+B,IAAI,CAAC,UAAU,CAAC,MAAM,CACxE,CAAC,SAAS,EAAyC,EAAE,CACnD,SAAS,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe,CACpD,CAAC;YAEF,IAAI,kBAAkB,EAAE;gBACtB,OAAO;gBACP,+BAA+B;gBAC/B,KAAK,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACvD,OAAO;aACR;iBAAM,IAAI,gBAAgB,EAAE;gBAC3B,IACE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAChD,eAAe,CAAC,MAAM,KAAK,CAAC,EAC5B;oBACA,OAAO;oBACP,yBAAyB;oBACzB,KAAK,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACtD,OAAO;iBACR;aACF;iBAAM;gBACL,IACE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAChC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC1C,EACD;oBACA,OAAO;oBACP,mCAAmC;oBACnC,KAAK,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvD,OAAO;iBACR;aACF;YAED,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAC7D,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC1C,CAAC;YAEF,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,mBAAmB,EACnB,eAAe,CAChB,CAAC;YACF,MAAM,UAAU,GAAuB,EAAE,CAAC;YAC1C,IAAI,mBAAmB,CAAC,MAAM,EAAE;gBAC9B,IAAI,aAAa,CAAC,mBAAmB,EAAE;oBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CACvC,UAAU,CAAC,oBAAoB,CAC7B,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAE,EAC5D,aAAa,CAAC,mBAAmB,CAAC,MAAM,EACxC,IAAI,CAAC,mBAAmB,CACzB,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CACjC,GAAG,EACH,aAAa,CAAC,mBAAmB,CAAC,IAAI,CACvC,CACF,CAAC;oBACF,IAAI,UAAU,GAAG,oBAAoB,CAAC,uBAAuB,CAAC;oBAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAE,CAAC;oBAC7D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE;wBACnE,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC;qBAC/B;oBACD,mDAAmD;oBACnD,6CAA6C;oBAC7C,MAAM,yBAAyB,GAAG,KAAK,CAAC,gBAAgB,CACtD,iBAAiB,EACjB,UAAU,CACX,CAAC;oBACF,IAAI,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAC/D,MAAM,yBAAyB,CAAC;qBACjC;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;qBAC5C;iBACF;qBAAM;oBACL,MAAM,KAAK,CAAC,gBAAgB,CAC1B,IAAI,EACJ,gBACE,oBAAoB,CAAC,uBACvB,UAAU,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAC/C,CAAC;iBACH;aACF;YAED,IACE,gBAAgB;gBAChB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAChD;gBACA,IAAI,mBAAmB,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE;oBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,EAC7C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;oBACF,8BAA8B;oBAC9B,qBAAqB;oBACrB,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;iBACnD;qBAAM;oBACL,MAAM,KAAK,CAAC,gBAAgB,CAC1B,IAAI,EACJ,eAAe,UAAU,CAAC,OAAO,CAC/B,gBAAgB,CACjB,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAC/C,CAAC;oBACF,iCAAiC;oBACjC,uBAAuB;oBACvB,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACrC,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAE,CAAC,CAAC;iBACjE;aACF;YAED,KAAK,CAAC,CAAC,oBAAoB,CAAC,yBAAyB,CAAC;YAEtD,KAAK,CAAC,CAAC,UAAU,CAAC;YAElB;;eAEG;YACH,SAAS,uBAAuB,CAC9B,mBAA+C,EAC/C,kBAA8C;gBAK9C,MAAM,wBAAwB,GAAa,EAAE,CAAC;gBAC9C,MAAM,yBAAyB,GAAuB,EAAE,CAAC;gBACzD,IAAI,mBAAmB,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;oBAC5D,OAAO;oBACP,wCAAwC;oBACxC,4CAA4C;oBAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CACvC,UAAU,CAAC,cAAc,CACvB,mBAAmB,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,mBAAmB,CACzB,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAChC,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,EAC/D,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;oBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CACvC,UAAU,CAAC,oBAAoB,CAC7B,iBAAiB,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,CACzB,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;oBAEF,mCAAmC;oBACnC,+BAA+B;oBAC/B,yBAAyB,CAAC,IAAI,CAC5B,KAAK,CAAC,WAAW,CAAC;wBAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC3B,CAAC,CACH,CAAC;oBAEF,wBAAwB,CAAC,IAAI,CAC3B,UAAU,CAAC,IAAI,CAAC,KAAK,CACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1B,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,CACF,CAAC;iBACH;qBAAM;oBACL,MAAM,wBAAwB,GAAiC,EAAE,CAAC;oBAClE,IAAI,KAAK,GAA+B,EAAE,CAAC;oBAC3C,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE;wBAC/C,IAAI,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4BAChD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;yBAC5B;6BAAM,IAAI,KAAK,CAAC,MAAM,EAAE;4BACvB,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACrC,KAAK,GAAG,EAAE,CAAC;yBACZ;qBACF;oBACD,IAAI,KAAK,CAAC,MAAM,EAAE;wBAChB,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACtC;oBACD,KAAK,MAAM,eAAe,IAAI,wBAAwB,EAAE;wBACtD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,uBAAuB,CACxD,eAAe,EACf,kBAAkB,CACnB,CAAC;wBACF,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;wBAE/D,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;qBACpE;iBACF;gBACD,OAAO;oBACL,uBAAuB,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC3D,yBAAyB;iBAC1B,CAAC;YACJ,CAAC;YAED;;eAEG;YACH,SAAS,uBAAuB,CAC9B,mBAA+C,EAC/C,kBAA8C;gBAK9C,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjE,MAAM,WAAW,GAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,SAAS,GAAmB,CAAC,GAAG,WAAW,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC;gBACjD,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;oBAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClC;qBAAM;oBACL,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClC;gBAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;gBAChD,MAAM,MAAM,GACV,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC;gBAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,OAAO,IAAI,MAAM,EAAE;oBACrB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;wBAC5B,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACjC;iBACF;gBAED,OAAO;oBACL,SAAS;oBACT,WAAW;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,CAAC,2BAA2B,CACnC,KAAyB,EACzB,IAAgC,EAChC,eAAwB;YAExB,6BAA6B;YAC7B,qBAAqB;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,EAC7C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;YACF,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAElD,IAAI,eAAe,EAAE;gBACnB,qBAAqB;gBACrB,MAAM,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CACvD,WAAW,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,CACzB,CAAC;gBACF,IAAI,iBAAiB,EAAE;oBACrB,8CAA8C;oBAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAChC,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,EAC/D,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;oBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CACvC,UAAU,CAAC,oBAAoB,CAC7B,iBAAiB,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,CACzB,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;oBAEF,iCAAiC;oBACjC,6BAA6B;oBAC7B,MAAM,KAAK,CAAC,WAAW,CAAC;wBACtB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC3B,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAC1C,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,CAAC;oBACF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,6BAA6B;wBAC7B,4CAA4C;wBAC5C,MAAM,KAAK,CAAC,eAAe,CACzB,IAAI,EACJ,gBAAgB,cAAc,SAAS,UAAU,CAAC,OAAO,CACvD,IAAI,CAAC,MAAM,CACZ,GAAG,CACL,CAAC;qBACH;iBACF;aACF;QACH,CAAC;QAED,SAAS,gBAAgB,CACvB,KAAyB,EACzB,IAAgC;;YAEhC,6BAA6B;YAC7B,qBAAqB;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,EAC7C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAC/B,UAAU,CAAC,oBAAoB,CAC7B,WAAW,cACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,IAAI,CAAC,MAAM,EACxC,WAAW,CACZ,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CACvD,CAAC;YACF,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"consistent-type-imports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-imports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js index a4a89d0a8..af389445d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js @@ -23,6 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const ts = __importStar(require("typescript")); +const tsutils = __importStar(require("tsutils")); const dot_notation_1 = __importDefault(require("eslint/lib/rules/dot-notation")); const util_1 = require("../util"); exports.default = util_1.createRule({ @@ -52,6 +53,14 @@ exports.default = util_1.createRule({ type: 'boolean', default: false, }, + allowProtectedClassPropertyAccess: { + type: 'boolean', + default: false, + }, + allowIndexSignaturePropertyAccess: { + type: 'boolean', + default: false, + }, }, additionalProperties: false, }, @@ -62,25 +71,47 @@ exports.default = util_1.createRule({ defaultOptions: [ { allowPrivateClassPropertyAccess: false, + allowProtectedClassPropertyAccess: false, + allowIndexSignaturePropertyAccess: false, allowKeywords: true, allowPattern: '', }, ], create(context, [options]) { + var _a; const rules = dot_notation_1.default.create(context); + const { program, esTreeNodeToTSNodeMap } = util_1.getParserServices(context); + const typeChecker = program.getTypeChecker(); const allowPrivateClassPropertyAccess = options.allowPrivateClassPropertyAccess; - const parserServices = util_1.getParserServices(context); - const typeChecker = parserServices.program.getTypeChecker(); + const allowProtectedClassPropertyAccess = options.allowProtectedClassPropertyAccess; + const allowIndexSignaturePropertyAccess = ((_a = options.allowIndexSignaturePropertyAccess) !== null && _a !== void 0 ? _a : false) || + tsutils.isCompilerOptionEnabled(program.getCompilerOptions(), + // @ts-expect-error - TS is refining the type to never for some reason + 'noPropertyAccessFromIndexSignature'); return { MemberExpression(node) { var _a, _b, _c; - if (allowPrivateClassPropertyAccess && node.computed) { - // for perf reasons - only fetch the symbol if we have to - const objectSymbol = typeChecker.getSymbolAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node.property)); - if (((_c = (_b = (_a = objectSymbol === null || objectSymbol === void 0 ? void 0 : objectSymbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.modifiers) === null || _c === void 0 ? void 0 : _c[0].kind) === - ts.SyntaxKind.PrivateKeyword) { + if ((allowPrivateClassPropertyAccess || + allowProtectedClassPropertyAccess || + allowIndexSignaturePropertyAccess) && + node.computed) { + // for perf reasons - only fetch symbols if we have to + const propertySymbol = typeChecker.getSymbolAtLocation(esTreeNodeToTSNodeMap.get(node.property)); + const modifierKind = (_c = (_b = (_a = propertySymbol === null || propertySymbol === void 0 ? void 0 : propertySymbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.modifiers) === null || _c === void 0 ? void 0 : _c[0].kind; + if ((allowPrivateClassPropertyAccess && + modifierKind == ts.SyntaxKind.PrivateKeyword) || + (allowProtectedClassPropertyAccess && + modifierKind == ts.SyntaxKind.ProtectedKeyword)) { return; } + if (propertySymbol === undefined && + allowIndexSignaturePropertyAccess) { + const objectType = typeChecker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(node.object)); + const indexType = typeChecker.getIndexTypeOfType(objectType, ts.IndexKind.String); + if (indexType != undefined) { + return; + } + } } rules.MemberExpression(node); }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map index 297244e7d..a6d3f46fd 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map @@ -1 +1 @@ -{"version":3,"file":"dot-notation.js","sourceRoot":"","sources":["../../src/rules/dot-notation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AACjC,iFAAqD;AACrD,kCAKiB;AAKjB,kBAAe,iBAAU,CAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;qBACd;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;qBACZ;oBACD,+BAA+B,EAAE;wBAC/B,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK;qBACf;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,OAAO,EAAE,sBAAQ,CAAC,IAAI,CAAC,OAAO;QAC9B,QAAQ,EAAE,sBAAQ,CAAC,IAAI,CAAC,QAAQ;KACjC;IACD,cAAc,EAAE;QACd;YACE,+BAA+B,EAAE,KAAK;YACtC,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,EAAE;SACjB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,KAAK,GAAG,sBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,+BAA+B,GACnC,OAAO,CAAC,+BAA+B,CAAC;QAE1C,MAAM,cAAc,GAAG,wBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAE5D,OAAO;YACL,gBAAgB,CAAC,IAA+B;;gBAC9C,IAAI,+BAA+B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACpD,yDAAyD;oBACzD,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,CAClD,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxD,CAAC;oBACF,IACE,mBAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,4CAAK,CAAC,2CAAG,SAAS,0CAAG,CAAC,EAAE,IAAI;wBACzD,EAAE,CAAC,UAAU,CAAC,cAAc,EAC5B;wBACA,OAAO;qBACR;iBACF;gBACD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"dot-notation.js","sourceRoot":"","sources":["../../src/rules/dot-notation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map index ba2416f7b..a5b12d5a7 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map @@ -1 +1 @@ -{"version":3,"file":"explicit-member-accessibility.js","sourceRoot":"","sources":["../../src/rules/explicit-member-accessibility.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"explicit-member-accessibility.js","sourceRoot":"","sources":["../../src/rules/explicit-member-accessibility.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js index 61858dcc2..2940b8571 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js @@ -194,15 +194,18 @@ exports.default = util.createRule({ * Checks if a function name is allowed and should not be checked. */ function isAllowedName(node) { + var _a; if (!node || !options.allowedNames || !options.allowedNames.length) { return false; } - if (node.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator) { - return (node.id.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + if (node.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator || + node.type === experimental_utils_1.AST_NODE_TYPES.FunctionDeclaration) { + return (((_a = node.id) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.Identifier && options.allowedNames.includes(node.id.name)); } else if (node.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition || - node.type === experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition) { + node.type === experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition || + (node.type === experimental_utils_1.AST_NODE_TYPES.Property && node.method)) { if (node.key.type === experimental_utils_1.AST_NODE_TYPES.Literal && typeof node.key.value === 'string') { return options.allowedNames.includes(node.key.value); @@ -327,6 +330,9 @@ exports.default = util.createRule({ */ function ancestorHasReturnType(node) { let ancestor = node.parent; + if ((ancestor === null || ancestor === void 0 ? void 0 : ancestor.type) === experimental_utils_1.AST_NODE_TYPES.Property) { + ancestor = ancestor.value; + } // if the ancestor is not a return, then this function was not returned at all, so we can exit early const isReturnStatement = (ancestor === null || ancestor === void 0 ? void 0 : ancestor.type) === experimental_utils_1.AST_NODE_TYPES.ReturnStatement; const isBodylessArrow = (ancestor === null || ancestor === void 0 ? void 0 : ancestor.type) === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression && @@ -395,7 +401,7 @@ exports.default = util.createRule({ return; } checkedFunctions.add(node); - if (isAllowedName(node.parent) || ancestorHasReturnType(node)) { + if (isAllowedName(node) || ancestorHasReturnType(node)) { return; } explicitReturnTypeUtils_1.checkFunctionReturnType(node, options, sourceCode, loc => { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map index 564b7928f..9f4628a20 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map @@ -1 +1 @@ -{"version":3,"file":"explicit-module-boundary-types.js","sourceRoot":"","sources":["../../src/rules/explicit-module-boundary-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"explicit-module-boundary-types.js","sourceRoot":"","sources":["../../src/rules/explicit-module-boundary-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/func-call-spacing.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/func-call-spacing.js.map index a677e9d2f..0df60d8eb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/func-call-spacing.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/func-call-spacing.js.map @@ -1 +1 @@ -{"version":3,"file":"func-call-spacing.js","sourceRoot":"","sources":["../../src/rules/func-call-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"func-call-spacing.js","sourceRoot":"","sources":["../../src/rules/func-call-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/BinarySearchTree.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/BinarySearchTree.js.map index 6f0c20ea0..c33092502 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/BinarySearchTree.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/BinarySearchTree.js.map @@ -1 +1 @@ -{"version":3,"file":"BinarySearchTree.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/BinarySearchTree.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,kGAAkG;;;;;;AAGlG,0FAAmD;AASnD;;;;GAIG;AACH,MAAa,gBAAgB;IAA7B;QACU,WAAM,GAAG,mCAAU,EAAa,CAAC;IAwC3C,CAAC;IAtCC;;OAEG;IACI,MAAM,CAAC,GAAW,EAAE,KAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,QAAQ,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC9C;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,GAAW;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAErC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,KAAa,EAAE,GAAW;QAC3C,+DAA+D;QAC/D,IAAI,KAAK,KAAK,GAAG,EAAE;YACjB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,EAAE,CAAC;SACjB;IACH,CAAC;CACF;AAzCD,4CAyCC"} \ No newline at end of file +{"version":3,"file":"BinarySearchTree.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/BinarySearchTree.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,kGAAkG;;;;;;AAGlG,0FAAmD;AAQnD;;;;GAIG;AACH,MAAa,gBAAgB;IAA7B;QACU,WAAM,GAAG,mCAAU,EAAa,CAAC;IAwC3C,CAAC;IAtCC;;OAEG;IACI,MAAM,CAAC,GAAW,EAAE,KAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,QAAQ,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC9C;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,GAAW;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAErC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,KAAa,EAAE,GAAW;QAC3C,+DAA+D;QAC/D,IAAI,KAAK,KAAK,GAAG,EAAE;YACjB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,EAAE,CAAC;SACjB;IACH,CAAC;CACF;AAzCD,4CAyCC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/OffsetStorage.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/OffsetStorage.js.map index dc3aa6671..99b2d99f0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/OffsetStorage.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/OffsetStorage.js.map @@ -1 +1 @@ -{"version":3,"file":"OffsetStorage.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/OffsetStorage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OffsetStorage.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/OffsetStorage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/TokenInfo.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/TokenInfo.js.map index 7bc04ad44..ec5438a3f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/TokenInfo.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/TokenInfo.js.map @@ -1 +1 @@ -{"version":3,"file":"TokenInfo.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/TokenInfo.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,kGAAkG;;;AAKlG;;GAEG;AACH,MAAa,SAAS;IAIpB,YAAY,UAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAClC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACtC;YACD,IACE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC5B,UAAU,CAAC,IAAI;qBACZ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC5D,IAAI,EAAE,EACT;gBACA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACpC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,IAAI,GAAG,EAAE,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,mBAAmB,CACxB,KAAqC;QAErC,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;IACjE,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,KAAqB;QAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,KAAqB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAC/B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EACvC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC;CACF;AAtDD,8BAsDC"} \ No newline at end of file +{"version":3,"file":"TokenInfo.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/TokenInfo.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,kGAAkG;;;AAIlG;;GAEG;AACH,MAAa,SAAS;IAIpB,YAAY,UAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAClC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACtC;YACD,IACE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC5B,UAAU,CAAC,IAAI;qBACZ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC5D,IAAI,EAAE,EACT;gBACA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACpC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,IAAI,GAAG,EAA0B,CAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,mBAAmB,CACxB,KAAqC;QAErC,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;IACjE,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,KAAqB;QAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,KAAqB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAC/B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EACvC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC;CACF;AAtDD,8BAsDC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js index c43a8a373..2819312c7 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js @@ -1091,16 +1091,15 @@ exports.default = util_1.createRule({ ignoredNodes.forEach(ignoreNode); addParensIndent(sourceCode.ast.tokens); /* - * Create a Map from (tokenOrComment) => (precedingToken). + * Create a Map from (token) => (precedingToken). * This is necessary because sourceCode.getTokenBefore does not handle a comment as an argument correctly. */ const precedingTokens = sourceCode.ast.comments.reduce((commentMap, comment) => { - const tokenOrCommentBefore = sourceCode.getTokenBefore(comment, { + var _a; + const tokenBefore = sourceCode.getTokenBefore(comment, { includeComments: true, }); - return commentMap.set(comment, commentMap.has(tokenOrCommentBefore) - ? commentMap.get(tokenOrCommentBefore) - : tokenOrCommentBefore); + return commentMap.set(comment, (_a = commentMap.get(tokenBefore)) !== null && _a !== void 0 ? _a : tokenBefore); }, new WeakMap()); sourceCode.lines.forEach((_, lineIndex) => { const lineNumber = lineIndex + 1; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js.map index 5556626d7..220cce90c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent-new-do-not-use/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/indent-new-do-not-use/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js index bdb0d7a29..061e0586a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js @@ -4,7 +4,7 @@ * This is due to some really funky type conversions between different node types. * This is done intentionally based on the internal implementation of the base indent rule. */ -/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js.map index 9ec4bd57d..b9e38a790 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/indent.js.map @@ -1 +1 @@ -{"version":3,"file":"indent.js","sourceRoot":"","sources":["../../src/rules/indent.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"indent.js","sourceRoot":"","sources":["../../src/rules/indent.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js index 3f69b8b27..26902eb4b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js @@ -11,8 +11,9 @@ const ban_tslint_comment_1 = __importDefault(require("./ban-tslint-comment")); const ban_types_1 = __importDefault(require("./ban-types")); const brace_style_1 = __importDefault(require("./brace-style")); const class_literal_property_style_1 = __importDefault(require("./class-literal-property-style")); +const comma_dangle_1 = __importDefault(require("./comma-dangle")); const comma_spacing_1 = __importDefault(require("./comma-spacing")); -const no_confusing_non_null_assertion_1 = __importDefault(require("./no-confusing-non-null-assertion")); +const consistent_indexed_object_style_1 = __importDefault(require("./consistent-indexed-object-style")); const consistent_type_assertions_1 = __importDefault(require("./consistent-type-assertions")); const consistent_type_definitions_1 = __importDefault(require("./consistent-type-definitions")); const consistent_type_imports_1 = __importDefault(require("./consistent-type-imports")); @@ -32,25 +33,27 @@ const method_signature_style_1 = __importDefault(require("./method-signature-sty const naming_convention_1 = __importDefault(require("./naming-convention")); const no_array_constructor_1 = __importDefault(require("./no-array-constructor")); const no_base_to_string_1 = __importDefault(require("./no-base-to-string")); +const no_confusing_non_null_assertion_1 = __importDefault(require("./no-confusing-non-null-assertion")); +const no_confusing_void_expression_1 = __importDefault(require("./no-confusing-void-expression")); const no_dupe_class_members_1 = __importDefault(require("./no-dupe-class-members")); +const no_duplicate_imports_1 = __importDefault(require("./no-duplicate-imports")); const no_dynamic_delete_1 = __importDefault(require("./no-dynamic-delete")); const no_empty_function_1 = __importDefault(require("./no-empty-function")); const no_empty_interface_1 = __importDefault(require("./no-empty-interface")); const no_explicit_any_1 = __importDefault(require("./no-explicit-any")); -const no_implicit_any_catch_1 = __importDefault(require("./no-implicit-any-catch")); -const no_extraneous_class_1 = __importDefault(require("./no-extraneous-class")); const no_extra_non_null_assertion_1 = __importDefault(require("./no-extra-non-null-assertion")); const no_extra_parens_1 = __importDefault(require("./no-extra-parens")); const no_extra_semi_1 = __importDefault(require("./no-extra-semi")); +const no_extraneous_class_1 = __importDefault(require("./no-extraneous-class")); const no_floating_promises_1 = __importDefault(require("./no-floating-promises")); const no_for_in_array_1 = __importDefault(require("./no-for-in-array")); -const prefer_literal_enum_member_1 = __importDefault(require("./prefer-literal-enum-member")); +const no_implicit_any_catch_1 = __importDefault(require("./no-implicit-any-catch")); const no_implied_eval_1 = __importDefault(require("./no-implied-eval")); const no_inferrable_types_1 = __importDefault(require("./no-inferrable-types")); const no_invalid_this_1 = __importDefault(require("./no-invalid-this")); const no_invalid_void_type_1 = __importDefault(require("./no-invalid-void-type")); -const no_loss_of_precision_1 = __importDefault(require("./no-loss-of-precision")); const no_loop_func_1 = __importDefault(require("./no-loop-func")); +const no_loss_of_precision_1 = __importDefault(require("./no-loss-of-precision")); const no_magic_numbers_1 = __importDefault(require("./no-magic-numbers")); const no_misused_new_1 = __importDefault(require("./no-misused-new")); const no_misused_promises_1 = __importDefault(require("./no-misused-promises")); @@ -69,6 +72,8 @@ const no_unnecessary_condition_1 = __importDefault(require("./no-unnecessary-con const no_unnecessary_qualifier_1 = __importDefault(require("./no-unnecessary-qualifier")); const no_unnecessary_type_arguments_1 = __importDefault(require("./no-unnecessary-type-arguments")); const no_unnecessary_type_assertion_1 = __importDefault(require("./no-unnecessary-type-assertion")); +const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessary-type-constraint")); +const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument")); const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment")); const no_unsafe_call_1 = __importDefault(require("./no-unsafe-call")); const no_unsafe_member_access_1 = __importDefault(require("./no-unsafe-member-access")); @@ -79,11 +84,14 @@ const no_unused_vars_experimental_1 = __importDefault(require("./no-unused-vars- const no_use_before_define_1 = __importDefault(require("./no-use-before-define")); const no_useless_constructor_1 = __importDefault(require("./no-useless-constructor")); const no_var_requires_1 = __importDefault(require("./no-var-requires")); +const non_nullable_type_assertion_style_1 = __importDefault(require("./non-nullable-type-assertion-style")); +const object_curly_spacing_1 = __importDefault(require("./object-curly-spacing")); const prefer_as_const_1 = __importDefault(require("./prefer-as-const")); const prefer_enum_initializers_1 = __importDefault(require("./prefer-enum-initializers")); const prefer_for_of_1 = __importDefault(require("./prefer-for-of")); const prefer_function_type_1 = __importDefault(require("./prefer-function-type")); const prefer_includes_1 = __importDefault(require("./prefer-includes")); +const prefer_literal_enum_member_1 = __importDefault(require("./prefer-literal-enum-member")); const prefer_namespace_keyword_1 = __importDefault(require("./prefer-namespace-keyword")); const prefer_nullish_coalescing_1 = __importDefault(require("./prefer-nullish-coalescing")); const prefer_optional_chain_1 = __importDefault(require("./prefer-optional-chain")); @@ -101,7 +109,9 @@ const restrict_plus_operands_1 = __importDefault(require("./restrict-plus-operan const restrict_template_expressions_1 = __importDefault(require("./restrict-template-expressions")); const return_await_1 = __importDefault(require("./return-await")); const semi_1 = __importDefault(require("./semi")); +const sort_type_union_intersection_members_1 = __importDefault(require("./sort-type-union-intersection-members")); const space_before_function_paren_1 = __importDefault(require("./space-before-function-paren")); +const space_infix_ops_1 = __importDefault(require("./space-infix-ops")); const strict_boolean_expressions_1 = __importDefault(require("./strict-boolean-expressions")); const switch_exhaustiveness_check_1 = __importDefault(require("./switch-exhaustiveness-check")); const triple_slash_reference_1 = __importDefault(require("./triple-slash-reference")); @@ -118,7 +128,9 @@ exports.default = { 'ban-types': ban_types_1.default, 'brace-style': brace_style_1.default, 'class-literal-property-style': class_literal_property_style_1.default, + 'comma-dangle': comma_dangle_1.default, 'comma-spacing': comma_spacing_1.default, + 'consistent-indexed-object-style': consistent_indexed_object_style_1.default, 'consistent-type-assertions': consistent_type_assertions_1.default, 'consistent-type-definitions': consistent_type_definitions_1.default, 'consistent-type-imports': consistent_type_imports_1.default, @@ -128,6 +140,7 @@ exports.default = { 'explicit-member-accessibility': explicit_member_accessibility_1.default, 'explicit-module-boundary-types': explicit_module_boundary_types_1.default, 'func-call-spacing': func_call_spacing_1.default, + indent: indent_1.default, 'init-declarations': init_declarations_1.default, 'keyword-spacing': keyword_spacing_1.default, 'lines-between-class-members': lines_between_class_members_1.default, @@ -138,7 +151,9 @@ exports.default = { 'no-array-constructor': no_array_constructor_1.default, 'no-base-to-string': no_base_to_string_1.default, 'no-confusing-non-null-assertion': no_confusing_non_null_assertion_1.default, + 'no-confusing-void-expression': no_confusing_void_expression_1.default, 'no-dupe-class-members': no_dupe_class_members_1.default, + 'no-duplicate-imports': no_duplicate_imports_1.default, 'no-dynamic-delete': no_dynamic_delete_1.default, 'no-empty-function': no_empty_function_1.default, 'no-empty-interface': no_empty_interface_1.default, @@ -174,16 +189,20 @@ exports.default = { 'no-unnecessary-qualifier': no_unnecessary_qualifier_1.default, 'no-unnecessary-type-arguments': no_unnecessary_type_arguments_1.default, 'no-unnecessary-type-assertion': no_unnecessary_type_assertion_1.default, + 'no-unnecessary-type-constraint': no_unnecessary_type_constraint_1.default, + 'no-unsafe-argument': no_unsafe_argument_1.default, 'no-unsafe-assignment': no_unsafe_assignment_1.default, 'no-unsafe-call': no_unsafe_call_1.default, 'no-unsafe-member-access': no_unsafe_member_access_1.default, 'no-unsafe-return': no_unsafe_return_1.default, 'no-unused-expressions': no_unused_expressions_1.default, - 'no-unused-vars-experimental': no_unused_vars_experimental_1.default, 'no-unused-vars': no_unused_vars_1.default, + 'no-unused-vars-experimental': no_unused_vars_experimental_1.default, 'no-use-before-define': no_use_before_define_1.default, 'no-useless-constructor': no_useless_constructor_1.default, 'no-var-requires': no_var_requires_1.default, + 'non-nullable-type-assertion-style': non_nullable_type_assertion_style_1.default, + 'object-curly-spacing': object_curly_spacing_1.default, 'prefer-as-const': prefer_as_const_1.default, 'prefer-enum-initializers': prefer_enum_initializers_1.default, 'prefer-for-of': prefer_for_of_1.default, @@ -193,28 +212,29 @@ exports.default = { 'prefer-namespace-keyword': prefer_namespace_keyword_1.default, 'prefer-nullish-coalescing': prefer_nullish_coalescing_1.default, 'prefer-optional-chain': prefer_optional_chain_1.default, - 'prefer-readonly-parameter-types': prefer_readonly_parameter_types_1.default, 'prefer-readonly': prefer_readonly_1.default, + 'prefer-readonly-parameter-types': prefer_readonly_parameter_types_1.default, 'prefer-reduce-type-parameter': prefer_reduce_type_parameter_1.default, 'prefer-regexp-exec': prefer_regexp_exec_1.default, 'prefer-string-starts-ends-with': prefer_string_starts_ends_with_1.default, 'prefer-ts-expect-error': prefer_ts_expect_error_1.default, 'promise-function-async': promise_function_async_1.default, + quotes: quotes_1.default, 'require-array-sort-compare': require_array_sort_compare_1.default, 'require-await': require_await_1.default, 'restrict-plus-operands': restrict_plus_operands_1.default, 'restrict-template-expressions': restrict_template_expressions_1.default, 'return-await': return_await_1.default, + semi: semi_1.default, + 'sort-type-union-intersection-members': sort_type_union_intersection_members_1.default, 'space-before-function-paren': space_before_function_paren_1.default, + 'space-infix-ops': space_infix_ops_1.default, 'strict-boolean-expressions': strict_boolean_expressions_1.default, 'switch-exhaustiveness-check': switch_exhaustiveness_check_1.default, 'triple-slash-reference': triple_slash_reference_1.default, 'type-annotation-spacing': type_annotation_spacing_1.default, + typedef: typedef_1.default, 'unbound-method': unbound_method_1.default, 'unified-signatures': unified_signatures_1.default, - indent: indent_1.default, - quotes: quotes_1.default, - semi: semi_1.default, - typedef: typedef_1.default, }; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map index 3d62e0eeb..ed032f31a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js index 9b4b3311f..a318ae85d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js @@ -35,7 +35,8 @@ exports.default = util_1.createRule({ return; } if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.TSModuleBlock && - ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration && ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.declare)) { + ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration && + ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.declare)) { return; } } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map index 99bf077b7..b000e3927 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map @@ -1 +1 @@ -{"version":3,"file":"init-declarations.js","sourceRoot":"","sources":["../../src/rules/init-declarations.ts"],"names":[],"mappings":";;;;;;AAAA,8EAG+C;AAC/C,2FAA0D;AAC1D,kCAIiB;AAKjB,kBAAe,iBAAU,CAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,2BAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,QAAE,2BAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EACT,6DAA6D;YAC/D,cAAc,EACZ,iEAAiE;SACpE;KACF;IACD,cAAc,EAAE,CAAC,QAAQ,CAAC;IAC1B,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,2BAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QAE5C,OAAO;YACL,0BAA0B,CAAC,IAAkC;;gBAC3D,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,OAAO;qBACR;oBACD,IACE,OAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,aAAa;wBAClD,OAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,mBAAmB,WAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,OAAO,CAAA,EAC3B;wBACA,OAAO;qBACR;iBACF;gBAED,KAAK,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"init-declarations.js","sourceRoot":"","sources":["../../src/rules/init-declarations.ts"],"names":[],"mappings":";;;;;;AAAA,8EAG+C;AAC/C,2FAA0D;AAC1D,kCAIiB;AAKjB,kBAAe,iBAAU,CAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,2BAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,MAAA,2BAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EACT,6DAA6D;YAC/D,cAAc,EACZ,iEAAiE;SACpE;KACF;IACD,cAAc,EAAE,CAAC,QAAQ,CAAC;IAC1B,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,2BAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QAE5C,OAAO;YACL,0BAA0B,CAAC,IAAkC;;gBAC3D,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,OAAO;qBACR;oBACD,IACE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,aAAa;wBAClD,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,mBAAmB;yBAC/D,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,OAAO,CAAA,EAC3B;wBACA,OAAO;qBACR;iBACF;gBAED,KAAK,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js.map index 181f8eea5..c7a487b82 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js.map @@ -1 +1 @@ -{"version":3,"file":"keyword-spacing.js","sourceRoot":"","sources":["../../src/rules/keyword-spacing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwE;AACxE,uFAAwD;AACxD,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,yBAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,QAAE,yBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,cAAc,EAAE,uCAAuC;YACvD,aAAa,EAAE,sCAAsC;YACrD,gBAAgB,EAAE,yCAAyC;YAC3D,eAAe,EAAE,wCAAwC;SAC1D;KACF;IACD,cAAc,EAAE,CAAC,EAAE,CAAC;IAEpB,MAAM,CAAC,OAAO;QACZ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,yBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,uCACK,SAAS,KACZ,cAAc,CAAC,IAAI;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,UAAU,CAAC,aAAa,CACtB,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAC9B,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;gBAClC,uEAAuE;gBACvE,mEAAmE;gBACnE,mFAAmF;gBACnF,kFAAkF;gBAClF,OAAO,CAAC,IAAI,GAAG,oCAAe,CAAC,OAAO,CAAC;gBAEvC,qFAAqF;gBACrF,SAAS,CAAC,iBAAiB,CAAC,OAAgB,CAAC,CAAC;gBAE9C,+EAA+E;gBAC/E,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;YAC9B,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"keyword-spacing.js","sourceRoot":"","sources":["../../src/rules/keyword-spacing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwE;AACxE,uFAAwD;AACxD,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,yBAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,MAAA,yBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,cAAc,EAAE,uCAAuC;YACvD,aAAa,EAAE,sCAAsC;YACrD,gBAAgB,EAAE,yCAAyC;YAC3D,eAAe,EAAE,wCAAwC;SAC1D;KACF;IACD,cAAc,EAAE,CAAC,EAAE,CAAC;IAEpB,MAAM,CAAC,OAAO;QACZ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,yBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,uCACK,SAAS,KACZ,cAAc,CAAC,IAAI;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,UAAU,CAAC,aAAa,CACtB,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAC9B,EACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;gBAClC,uEAAuE;gBACvE,mEAAmE;gBACnE,mFAAmF;gBACnF,kFAAkF;gBAClF,OAAO,CAAC,IAAI,GAAG,oCAAe,CAAC,OAAO,CAAC;gBAEvC,qFAAqF;gBACrF,SAAS,CAAC,iBAAiB,CAAC,OAAgB,CAAC,CAAC;gBAE9C,+EAA+E;gBAC/E,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;YAC9B,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js index 7d55e4333..43f3f9f09 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js @@ -29,7 +29,7 @@ const util = __importStar(require("../util")); const schema = util.deepMerge(Object.assign({}, lines_between_class_members_1.default.meta.schema), { 1: { exceptAfterOverload: { - type: 'booleean', + type: 'boolean', default: true, }, }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js.map index f8300c0e3..a13b80fb9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-between-class-members.js.map @@ -1 +1 @@ -{"version":3,"file":"lines-between-class-members.js","sourceRoot":"","sources":["../../src/rules/lines-between-class-members.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,+GAAoE;AACpE,8CAAgC;AAKhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,mBACtB,qCAAQ,CAAC,IAAI,CAAC,MAAM,GACzB;IACE,CAAC,EAAE;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CACF,CAAC;AAEF,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,YAAY;QACrB,MAAM;QACN,QAAQ,QAAE,qCAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,KAAK,EAAE,8CAA8C;YACrD,MAAM,EAAE,4CAA4C;SACrD;KACF;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,KAAK;SAC7B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,OAAO;;QACrB,MAAM,KAAK,GAAG,qCAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,mBAAmB,GACvB,OAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,mBAAmB,KAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAE7D,SAAS,UAAU,CAAC,IAAmB;YACrC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;gBAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,6BAA6B,CACjE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,CAAC,IAAI;gBACZ,MAAM,IAAI,GAAG,mBAAmB;oBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEd,KAAK,CAAC,SAAS,iCAAM,IAAI,KAAE,IAAI,IAAG,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"lines-between-class-members.js","sourceRoot":"","sources":["../../src/rules/lines-between-class-members.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,+GAAoE;AACpE,8CAAgC;AAKhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,mBACtB,qCAAQ,CAAC,IAAI,CAAC,MAAM,GACzB;IACE,CAAC,EAAE;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;KACF;CACF,CACF,CAAC;AAEF,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,YAAY;QACrB,MAAM;QACN,QAAQ,EAAE,MAAA,qCAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,KAAK,EAAE,8CAA8C;YACrD,MAAM,EAAE,4CAA4C;SACrD;KACF;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,KAAK;SAC7B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,OAAO;;QACrB,MAAM,KAAK,GAAG,qCAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,mBAAmB,GACvB,CAAA,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,mBAAmB,KAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAE7D,SAAS,UAAU,CAAC,IAAmB;YACrC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;gBAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,6BAA6B,CACjE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,CAAC,IAAI;gBACZ,MAAM,IAAI,GAAG,mBAAmB;oBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEd,KAAK,CAAC,SAAS,iCAAM,IAAI,KAAE,IAAI,IAAG,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js index 2faac1c36..68dbb2e70 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js @@ -44,6 +44,31 @@ const definition = { }, additionalProperties: false, }; +const isLastTokenEndOfLine = (token, line) => { + const positionInLine = line.indexOf(token); + return positionInLine === line.length - 1; +}; +const makeFixFunction = ({ optsNone, optsSemi, lastToken, missingDelimiter, lastTokenLine, isSingleLine, }) => { + // if removing is the action but last token is not the end of the line + if (optsNone && + !isLastTokenEndOfLine(lastToken.value, lastTokenLine) && + !isSingleLine) { + return null; + } + return (fixer) => { + if (optsNone) { + // remove the unneeded token + return fixer.remove(lastToken); + } + const token = optsSemi ? ';' : ','; + if (missingDelimiter) { + // add the missing delimiter + return fixer.insertTextAfter(lastToken, token); + } + // correct the current delimiter + return fixer.replaceText(lastToken, token); + }; +}; exports.default = util.createRule({ name: 'member-delimiter-style', meta: { @@ -72,6 +97,9 @@ exports.default = util.createRule({ }, additionalProperties: false, }, + multilineDetection: { + enum: ['brackets', 'last-member'], + }, }), additionalProperties: false, }, @@ -87,6 +115,7 @@ exports.default = util.createRule({ delimiter: 'semi', requireLast: false, }, + multilineDetection: 'brackets', }, ], create(context, [options]) { @@ -123,6 +152,8 @@ exports.default = util.createRule({ if (!lastToken) { return; } + const sourceCodeLines = sourceCode.getLines(); + const lastTokenLine = sourceCodeLines[(lastToken === null || lastToken === void 0 ? void 0 : lastToken.loc.start.line) - 1]; const optsSemi = getOption('semi'); const optsComma = getOption('comma'); const optsNone = getOption('none'); @@ -168,19 +199,14 @@ exports.default = util.createRule({ }, }, messageId, - fix(fixer) { - if (optsNone) { - // remove the unneeded token - return fixer.remove(lastToken); - } - const token = optsSemi ? ';' : ','; - if (missingDelimiter) { - // add the missing delimiter - return fixer.insertTextAfter(lastToken, token); - } - // correct the current delimiter - return fixer.replaceText(lastToken, token); - }, + fix: makeFixFunction({ + optsNone, + optsSemi, + lastToken, + missingDelimiter, + lastTokenLine, + isSingleLine: opts.type === 'single-line', + }), }); } } @@ -189,12 +215,21 @@ exports.default = util.createRule({ * @param {ASTNode} node the node to be evaluated. */ function checkMemberSeparatorStyle(node) { - const isSingleLine = node.loc.start.line === node.loc.end.line; const members = node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceBody ? node.body : node.members; + let isSingleLine = node.loc.start.line === node.loc.end.line; + if (options.multilineDetection === 'last-member' && + !isSingleLine && + members.length > 0) { + const lastMember = members[members.length - 1]; + if (lastMember.loc.end.line === node.loc.end.line) { + isSingleLine = true; + } + } const typeOpts = node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceBody ? interfaceOptions : typeLiteralOptions; - const opts = isSingleLine ? typeOpts.singleline : typeOpts.multiline; + const opts = isSingleLine + ? Object.assign(Object.assign({}, typeOpts.singleline), { type: 'single-line' }) : Object.assign(Object.assign({}, typeOpts.multiline), { type: 'multi-line' }); members.forEach((member, index) => { checkLastToken(member, opts !== null && opts !== void 0 ? opts : {}, index === members.length - 1); }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map index f48cf7b4e..6c0ce7da3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map @@ -1 +1 @@ -{"version":3,"file":"member-delimiter-style.js","sourceRoot":"","sources":["../../src/rules/member-delimiter-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"member-delimiter-style.js","sourceRoot":"","sources":["../../src/rules/member-delimiter-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js index 2dbbe7df7..b2e06a934 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js @@ -48,6 +48,7 @@ const objectConfig = (memberTypes) => ({ exports.defaultOrder = [ // Index signature 'signature', + 'call-signature', // Fields 'public-static-field', 'protected-static-field', @@ -96,7 +97,13 @@ exports.defaultOrder = [ 'decorated-method', 'method', ]; -const allMemberTypes = ['signature', 'field', 'method', 'constructor'].reduce((all, type) => { +const allMemberTypes = [ + 'signature', + 'field', + 'method', + 'call-signature', + 'constructor', +].reduce((all, type) => { all.push(type); ['public', 'protected', 'private'].forEach(accessibility => { if (type !== 'signature') { @@ -135,13 +142,14 @@ const functionExpressions = [ * @param node the node to be evaluated. */ function getNodeType(node) { - // TODO: add missing TSCallSignatureDeclaration switch (node.type) { case experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: case experimental_utils_1.AST_NODE_TYPES.MethodDefinition: return node.kind; case experimental_utils_1.AST_NODE_TYPES.TSMethodSignature: return 'method'; + case experimental_utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: + return 'call-signature'; case experimental_utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: return 'constructor'; case experimental_utils_1.AST_NODE_TYPES.TSAbstractClassProperty: @@ -177,6 +185,8 @@ function getMemberName(node, sourceCode) { : util.getNameFromMember(node, sourceCode); case experimental_utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: return 'new'; + case experimental_utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: + return 'call'; case experimental_utils_1.AST_NODE_TYPES.TSIndexSignature: return util.getNameFromIndexSignature(node); default: diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map index 912eb4b43..ff3030677 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map @@ -1 +1 @@ -{"version":3,"file":"member-ordering.js","sourceRoot":"","sources":["../../src/rules/member-ordering.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"member-ordering.js","sourceRoot":"","sources":["../../src/rules/member-ordering.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8EAK+C;AAC/C,8CAAgC;AAsBhC,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,WAAqB,EAA0B,EAAE,CAAC,CAAC;IACtE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;KAClB;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,WAAqB,EAA0B,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;SAC/C;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACvC;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG;IAC1B,kBAAkB;IAClB,WAAW;IACX,gBAAgB;IAEhB,SAAS;IACT,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IAEtB,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;IAEzB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IAExB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IAExB,cAAc;IACd,iBAAiB;IACjB,eAAe;IAEf,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAEhB,iBAAiB;IAEjB,OAAO;IAEP,eAAe;IACf,oBAAoB;IACpB,uBAAuB;IACvB,qBAAqB;IAErB,aAAa;IAEb,UAAU;IACV,sBAAsB;IACtB,yBAAyB;IACzB,uBAAuB;IAEvB,yBAAyB;IACzB,4BAA4B;IAC5B,0BAA0B;IAE1B,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;IAEzB,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;IAEzB,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAEhB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IAEjB,kBAAkB;IAElB,QAAQ;CACT,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,WAAW;IACX,OAAO;IACP,QAAQ;IACR,gBAAgB;IAChB,aAAa;CACd,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEf,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACzD,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB;SAC7D;QAED,8EAA8E;QAC9E,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE;YACzC,MAAM,mBAAmB,GAAG,GAAG,aAAa,cAAc,IAAI,EAAE,CAAC;YACjE,MAAM,kCAAkC,GAAG,aAAa,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;gBACtC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE;gBACrD,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;aAC9C;SACF;QAED,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW,EAAE;YAClD,uFAAuF;YACvF,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE;oBACrC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;iBAC9B;gBAED,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CAAC;AAEP,MAAM,mBAAmB,GAAG;IAC1B,mCAAc,CAAC,kBAAkB;IACjC,mCAAc,CAAC,uBAAuB;CACvC,CAAC;AAEF;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mCAAc,CAAC,0BAA0B,CAAC;QAC/C,KAAK,mCAAc,CAAC,gBAAgB;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,mCAAc,CAAC,iBAAiB;YACnC,OAAO,QAAQ,CAAC;QAClB,KAAK,mCAAc,CAAC,0BAA0B;YAC5C,OAAO,gBAAgB,CAAC;QAC1B,KAAK,mCAAc,CAAC,+BAA+B;YACjD,OAAO,aAAa,CAAC;QACvB,KAAK,mCAAc,CAAC,uBAAuB,CAAC;QAC5C,KAAK,mCAAc,CAAC,aAAa;YAC/B,OAAO,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChE,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,OAAO,CAAC;QACd,KAAK,mCAAc,CAAC,mBAAmB;YACrC,OAAO,OAAO,CAAC;QACjB,KAAK,mCAAc,CAAC,gBAAgB;YAClC,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,UAA+B;IAE/B,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mCAAc,CAAC,mBAAmB,CAAC;QACxC,KAAK,mCAAc,CAAC,iBAAiB,CAAC;QACtC,KAAK,mCAAc,CAAC,uBAAuB,CAAC;QAC5C,KAAK,mCAAc,CAAC,aAAa;YAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClD,KAAK,mCAAc,CAAC,0BAA0B,CAAC;QAC/C,KAAK,mCAAc,CAAC,gBAAgB;YAClC,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa;gBAChC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,KAAK,mCAAc,CAAC,+BAA+B;YACjD,OAAO,KAAK,CAAC;QACf,KAAK,mCAAc,CAAC,0BAA0B;YAC5C,OAAO,MAAM,CAAC;QAChB,KAAK,mCAAc,CAAC,gBAAgB;YAClC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC9C;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,YAAsB,EAAE,WAAqB;IACjE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,kCAAkC;IAEtE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;QACtC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,CAAC;KAC5C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CACd,IAAY,EACZ,WAAqB,EACrB,iBAA0B;IAE1B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,uDAAuD;QACvD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;KAC/B;IAED,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,uBAAuB;QACpD,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,0BAA0B,CAAC;IAE1D,MAAM,KAAK,GACT,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;QAC7B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,aAAa,GACjB,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa;QAC3C,CAAC,CAAC,IAAI,CAAC,aAAa;QACpB,CAAC,CAAC,QAAQ,CAAC;IAEf,0HAA0H;IAC1H,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,IAAI,iBAAiB,EAAE;QACrB,MAAM,SAAS,GAAG,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,IAAI,SAAS,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;YACxD,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,cAAc,IAAI,EAAE,CAAC,CAAC;YACxD,YAAY,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SACxC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE;YAC1B,6BAA6B;YAC7B,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;SACvC;QAED,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC,CAAC;KAC/C;IAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,aAAa,CACpB,KAAe,EACf,MAAc,EACd,KAAe;IAEf,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,IAAI,GAAG,MAAM,EAAE;YACjB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;SACnB;QACD,QAAQ,EAAE;YACR,cAAc,EACZ,0EAA0E;YAC5E,mBAAmB,EACjB,qEAAqE;SACxE;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,WAAW;4BACX,WAAW,CAAC,cAAc,CAAC;4BAC3B,YAAY,CAAC,cAAc,CAAC;yBAC7B;qBACF;oBACD,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,WAAW;4BACX,WAAW,CAAC,cAAc,CAAC;4BAC3B,YAAY,CAAC,cAAc,CAAC;yBAC7B;qBACF;oBACD,gBAAgB,EAAE;wBAChB,KAAK,EAAE;4BACL,WAAW;4BACX,WAAW,CAAC,cAAc,CAAC;4BAC3B,YAAY,CAAC,cAAc,CAAC;yBAC7B;qBACF;oBACD,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,WAAW;4BACX,WAAW,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;4BAC5D,YAAY,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;yBAC9D;qBACF;oBACD,YAAY,EAAE;wBACZ,KAAK,EAAE;4BACL,WAAW;4BACX,WAAW,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;4BAC5D,YAAY,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;yBAC9D;qBACF;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,OAAO,EAAE,oBAAY;SACtB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB;;;;;;;;WAQG;QACH,SAAS,cAAc,CACrB,OAAiB,EACjB,UAAoB,EACpB,iBAA0B;YAE1B,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,YAAY,GAAoB,EAAE,CAAC;YACzC,IAAI,iBAAiB,GAAG,IAAI,CAAC;YAE7B,iDAAiD;YACjD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE/D,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;oBACf,OAAO;iBACR;gBAED,+EAA+E;gBAC/E,IAAI,IAAI,GAAG,cAAc,EAAE;oBACzB,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,qBAAqB;wBAChC,IAAI,EAAE;4BACJ,IAAI;4BACJ,IAAI,EAAE,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC;yBACrD;qBACF,CAAC,CAAC;oBAEH,iBAAiB,GAAG,KAAK,CAAC;iBAC3B;qBAAM,IAAI,IAAI,KAAK,cAAc,EAAE;oBAClC,4DAA4D;oBAC5D,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpD;qBAAM;oBACL,qDAAqD;oBACrD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzB,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC7B;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAED;;;;;;WAMG;QACH,SAAS,cAAc,CAAC,OAAiB;YACvC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,iBAAiB,GAAG,IAAI,CAAC;YAE7B,iDAAiD;YACjD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAE5D,mCAAmC;gBACnC,IAAI,IAAI,EAAE;oBACR,IAAI,IAAI,GAAG,YAAY,EAAE;wBACvB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,MAAM;4BACZ,SAAS,EAAE,gBAAgB;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,IAAI;gCACZ,YAAY,EAAE,YAAY;6BAC3B;yBACF,CAAC,CAAC;wBAEH,iBAAiB,GAAG,KAAK,CAAC;qBAC3B;oBAED,YAAY,GAAG,IAAI,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED;;;;;;WAMG;QACH,SAAS,oBAAoB,CAC3B,OAAiB,EACjB,WAAwB,EACxB,iBAA0B;YAE1B,IAAI,WAAW,KAAK,OAAO,EAAE;gBAC3B,OAAO;aACR;YAED,qBAAqB;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,WAAW,CAAC;YAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,WAAW,GAAG,WAAW,CAAC;aAC3B;iBAAM;gBACL,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC1B,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;aACvC;YAED,cAAc;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAExE,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpB,OAAO;iBACR;gBAED,IAAI,KAAK,KAAK,gBAAgB,EAAE;oBAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC3D;aACF;iBAAM,IAAI,KAAK,KAAK,gBAAgB,EAAE;gBACrC,cAAc,CAAC,OAAO,CAAC,CAAC;aACzB;QACH,CAAC;QAED,OAAO;YACL,gBAAgB,CAAC,IAAI;;gBACnB,oBAAoB,CAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,MAAA,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,OAAQ,EACnC,IAAI,CACL,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,IAAI;;gBAClB,oBAAoB,CAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,MAAA,OAAO,CAAC,gBAAgB,mCAAI,OAAO,CAAC,OAAQ,EAC5C,IAAI,CACL,CAAC;YACJ,CAAC;YACD,sBAAsB,CAAC,IAAI;;gBACzB,oBAAoB,CAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,MAAA,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,OAAQ,EACtC,KAAK,CACN,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,IAAI;;gBAChB,oBAAoB,CAClB,IAAI,CAAC,OAAO,EACZ,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,OAAQ,EACxC,KAAK,CACN,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js index f73a0173d..1c5911ee3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js @@ -71,7 +71,11 @@ exports.default = util.createRule({ return params; } function getMethodReturnType(node) { - return sourceCode.getText(node.returnType.typeAnnotation); + return node.returnType == null + ? // if the method has no return type, it implicitly has an `any` return type + // we just make it explicit here so we can do the fix + 'any' + : sourceCode.getText(node.returnType.typeAnnotation); } function getDelimiter(node) { const lastToken = sourceCode.getLastToken(node); @@ -81,59 +85,93 @@ exports.default = util.createRule({ } return ''; } + function isNodeParentModuleDeclaration(node) { + if (!node.parent) { + return false; + } + if (node.parent.type === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration) { + return true; + } + if (node.parent.type === experimental_utils_1.AST_NODE_TYPES.Program) { + return false; + } + return isNodeParentModuleDeclaration(node.parent); + } return { TSMethodSignature(methodNode) { - var _a; if (mode === 'method') { return; } - const duplicatedKeyMethodNodes = ((_a = methodNode.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.TSInterfaceBody - ? methodNode.parent.body.filter((element) => element.type === experimental_utils_1.AST_NODE_TYPES.TSMethodSignature && - element !== methodNode && - getMethodKey(element) === getMethodKey(methodNode)) - : []; + const parent = methodNode.parent; + const members = (parent === null || parent === void 0 ? void 0 : parent.type) === experimental_utils_1.AST_NODE_TYPES.TSInterfaceBody + ? parent.body + : (parent === null || parent === void 0 ? void 0 : parent.type) === experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral + ? parent.members + : []; + const duplicatedKeyMethodNodes = members.filter((element) => element.type === experimental_utils_1.AST_NODE_TYPES.TSMethodSignature && + element !== methodNode && + getMethodKey(element) === getMethodKey(methodNode)); + const isParentModule = isNodeParentModuleDeclaration(methodNode); if (duplicatedKeyMethodNodes.length > 0) { + if (isParentModule) { + context.report({ + node: methodNode, + messageId: 'errorMethod', + }); + } + else { + context.report({ + node: methodNode, + messageId: 'errorMethod', + *fix(fixer) { + const methodNodes = [ + methodNode, + ...duplicatedKeyMethodNodes, + ].sort((a, b) => (a.range[0] < b.range[0] ? -1 : 1)); + const typeString = methodNodes + .map(node => { + const params = getMethodParams(node); + const returnType = getMethodReturnType(node); + return `(${params} => ${returnType})`; + }) + .join(' & '); + const key = getMethodKey(methodNode); + const delimiter = getDelimiter(methodNode); + yield fixer.replaceText(methodNode, `${key}: ${typeString}${delimiter}`); + for (const node of duplicatedKeyMethodNodes) { + const lastToken = sourceCode.getLastToken(node); + if (lastToken) { + const nextToken = sourceCode.getTokenAfter(lastToken); + if (nextToken) { + yield fixer.remove(node); + yield fixer.replaceTextRange([lastToken.range[1], nextToken.range[0]], ''); + } + } + } + }, + }); + } + return; + } + if (isParentModule) { context.report({ node: methodNode, messageId: 'errorMethod', - *fix(fixer) { - const methodNodes = [ - methodNode, - ...duplicatedKeyMethodNodes, - ].sort((a, b) => (a.range[0] < b.range[0] ? -1 : 1)); - const typeString = methodNodes.reduce((str, node, idx, nodes) => { - const params = getMethodParams(node); - const returnType = getMethodReturnType(node); - return `${str}(${params} => ${returnType})${idx !== nodes.length - 1 ? ' & ' : ''}`; - }, ''); + }); + } + else { + context.report({ + node: methodNode, + messageId: 'errorMethod', + fix: fixer => { const key = getMethodKey(methodNode); + const params = getMethodParams(methodNode); + const returnType = getMethodReturnType(methodNode); const delimiter = getDelimiter(methodNode); - yield fixer.replaceText(methodNode, `${key}: ${typeString}${delimiter}`); - for (const node of duplicatedKeyMethodNodes) { - const lastToken = sourceCode.getLastToken(node); - if (lastToken) { - const nextToken = sourceCode.getTokenAfter(lastToken); - if (nextToken) { - yield fixer.remove(node); - yield fixer.replaceTextRange([lastToken.range[1], nextToken.range[0]], ''); - } - } - } + return fixer.replaceText(methodNode, `${key}: ${params} => ${returnType}${delimiter}`); }, }); - return; } - context.report({ - node: methodNode, - messageId: 'errorMethod', - fix: fixer => { - const key = getMethodKey(methodNode); - const params = getMethodParams(methodNode); - const returnType = getMethodReturnType(methodNode); - const delimiter = getDelimiter(methodNode); - return fixer.replaceText(methodNode, `${key}: ${params} => ${returnType}${delimiter}`); - }, - }); }, TSPropertySignature(propertyNode) { var _a; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map index e7081d2cf..189f43197 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map @@ -1 +1 @@ -{"version":3,"file":"method-signature-style.js","sourceRoot":"","sources":["../../src/rules/method-signature-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"method-signature-style.js","sourceRoot":"","sources":["../../src/rules/method-signature-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js new file mode 100644 index 000000000..ea6f2eb0a --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UnderscoreOptions = exports.TypeModifiers = exports.Selectors = exports.PredefinedFormats = exports.Modifiers = exports.MetaSelectors = void 0; +var PredefinedFormats; +(function (PredefinedFormats) { + PredefinedFormats[PredefinedFormats["camelCase"] = 1] = "camelCase"; + PredefinedFormats[PredefinedFormats["strictCamelCase"] = 2] = "strictCamelCase"; + PredefinedFormats[PredefinedFormats["PascalCase"] = 3] = "PascalCase"; + PredefinedFormats[PredefinedFormats["StrictPascalCase"] = 4] = "StrictPascalCase"; + PredefinedFormats[PredefinedFormats["snake_case"] = 5] = "snake_case"; + PredefinedFormats[PredefinedFormats["UPPER_CASE"] = 6] = "UPPER_CASE"; +})(PredefinedFormats || (PredefinedFormats = {})); +exports.PredefinedFormats = PredefinedFormats; +var UnderscoreOptions; +(function (UnderscoreOptions) { + UnderscoreOptions[UnderscoreOptions["forbid"] = 1] = "forbid"; + UnderscoreOptions[UnderscoreOptions["allow"] = 2] = "allow"; + UnderscoreOptions[UnderscoreOptions["require"] = 3] = "require"; + // special cases as it's common practice to use double underscore + UnderscoreOptions[UnderscoreOptions["requireDouble"] = 4] = "requireDouble"; + UnderscoreOptions[UnderscoreOptions["allowDouble"] = 5] = "allowDouble"; + UnderscoreOptions[UnderscoreOptions["allowSingleOrDouble"] = 6] = "allowSingleOrDouble"; +})(UnderscoreOptions || (UnderscoreOptions = {})); +exports.UnderscoreOptions = UnderscoreOptions; +var Selectors; +(function (Selectors) { + // variableLike + Selectors[Selectors["variable"] = 1] = "variable"; + Selectors[Selectors["function"] = 2] = "function"; + Selectors[Selectors["parameter"] = 4] = "parameter"; + // memberLike + Selectors[Selectors["parameterProperty"] = 8] = "parameterProperty"; + Selectors[Selectors["accessor"] = 16] = "accessor"; + Selectors[Selectors["enumMember"] = 32] = "enumMember"; + Selectors[Selectors["classMethod"] = 64] = "classMethod"; + Selectors[Selectors["objectLiteralMethod"] = 128] = "objectLiteralMethod"; + Selectors[Selectors["typeMethod"] = 256] = "typeMethod"; + Selectors[Selectors["classProperty"] = 512] = "classProperty"; + Selectors[Selectors["objectLiteralProperty"] = 1024] = "objectLiteralProperty"; + Selectors[Selectors["typeProperty"] = 2048] = "typeProperty"; + // typeLike + Selectors[Selectors["class"] = 4096] = "class"; + Selectors[Selectors["interface"] = 8192] = "interface"; + Selectors[Selectors["typeAlias"] = 16384] = "typeAlias"; + Selectors[Selectors["enum"] = 32768] = "enum"; + Selectors[Selectors["typeParameter"] = 131072] = "typeParameter"; +})(Selectors || (Selectors = {})); +exports.Selectors = Selectors; +var MetaSelectors; +(function (MetaSelectors) { + MetaSelectors[MetaSelectors["default"] = -1] = "default"; + MetaSelectors[MetaSelectors["variableLike"] = 7] = "variableLike"; + MetaSelectors[MetaSelectors["memberLike"] = 4088] = "memberLike"; + MetaSelectors[MetaSelectors["typeLike"] = 192512] = "typeLike"; + MetaSelectors[MetaSelectors["method"] = 448] = "method"; + MetaSelectors[MetaSelectors["property"] = 3584] = "property"; +})(MetaSelectors || (MetaSelectors = {})); +exports.MetaSelectors = MetaSelectors; +var Modifiers; +(function (Modifiers) { + // const variable + Modifiers[Modifiers["const"] = 1] = "const"; + // readonly members + Modifiers[Modifiers["readonly"] = 2] = "readonly"; + // static members + Modifiers[Modifiers["static"] = 4] = "static"; + // member accessibility + Modifiers[Modifiers["public"] = 8] = "public"; + Modifiers[Modifiers["protected"] = 16] = "protected"; + Modifiers[Modifiers["private"] = 32] = "private"; + Modifiers[Modifiers["abstract"] = 64] = "abstract"; + // destructured variable + Modifiers[Modifiers["destructured"] = 128] = "destructured"; + // variables declared in the top-level scope + Modifiers[Modifiers["global"] = 256] = "global"; + // things that are exported + Modifiers[Modifiers["exported"] = 512] = "exported"; + // things that are unused + Modifiers[Modifiers["unused"] = 1024] = "unused"; + // properties that require quoting + Modifiers[Modifiers["requiresQuotes"] = 2048] = "requiresQuotes"; + // make sure TypeModifiers starts at Modifiers + 1 or else sorting won't work +})(Modifiers || (Modifiers = {})); +exports.Modifiers = Modifiers; +var TypeModifiers; +(function (TypeModifiers) { + TypeModifiers[TypeModifiers["boolean"] = 4096] = "boolean"; + TypeModifiers[TypeModifiers["string"] = 8192] = "string"; + TypeModifiers[TypeModifiers["number"] = 16384] = "number"; + TypeModifiers[TypeModifiers["function"] = 32768] = "function"; + TypeModifiers[TypeModifiers["array"] = 65536] = "array"; +})(TypeModifiers || (TypeModifiers = {})); +exports.TypeModifiers = TypeModifiers; +//# sourceMappingURL=enums.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map new file mode 100644 index 000000000..9a55fe7b7 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map @@ -0,0 +1 @@ +{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/enums.ts"],"names":[],"mappings":";;;AAAA,IAAK,iBAOJ;AAPD,WAAK,iBAAiB;IACpB,mEAAa,CAAA;IACb,+EAAe,CAAA;IACf,qEAAU,CAAA;IACV,iFAAgB,CAAA;IAChB,qEAAU,CAAA;IACV,qEAAU,CAAA;AACZ,CAAC,EAPI,iBAAiB,KAAjB,iBAAiB,QAOrB;AAqHC,8CAAiB;AAlHnB,IAAK,iBASJ;AATD,WAAK,iBAAiB;IACpB,6DAAU,CAAA;IACV,2DAAK,CAAA;IACL,+DAAO,CAAA;IAEP,iEAAiE;IACjE,2EAAa,CAAA;IACb,uEAAW,CAAA;IACX,uFAAmB,CAAA;AACrB,CAAC,EATI,iBAAiB,KAAjB,iBAAiB,QASrB;AA+GC,8CAAiB;AA5GnB,IAAK,SAuBJ;AAvBD,WAAK,SAAS;IACZ,eAAe;IACf,iDAAiB,CAAA;IACjB,iDAAiB,CAAA;IACjB,mDAAkB,CAAA;IAElB,aAAa;IACb,mEAA0B,CAAA;IAC1B,kDAAiB,CAAA;IACjB,sDAAmB,CAAA;IACnB,wDAAoB,CAAA;IACpB,yEAA4B,CAAA;IAC5B,uDAAmB,CAAA;IACnB,6DAAsB,CAAA;IACtB,8EAA+B,CAAA;IAC/B,4DAAsB,CAAA;IAEtB,WAAW;IACX,8CAAe,CAAA;IACf,sDAAmB,CAAA;IACnB,uDAAmB,CAAA;IACnB,6CAAc,CAAA;IACd,gEAAuB,CAAA;AACzB,CAAC,EAvBI,SAAS,KAAT,SAAS,QAuBb;AAiFC,8BAAS;AA9EX,IAAK,aA8BJ;AA9BD,WAAK,aAAa;IAChB,wDAAY,CAAA;IACZ,iEAGqB,CAAA;IACrB,gEASoB,CAAA;IACpB,8DAKyB,CAAA;IACzB,uDAGsB,CAAA;IACtB,4DAGwB,CAAA;AAC1B,CAAC,EA9BI,aAAa,KAAb,aAAa,QA8BjB;AA0CC,sCAAa;AAtCf,IAAK,SAwBJ;AAxBD,WAAK,SAAS;IACZ,iBAAiB;IACjB,2CAAc,CAAA;IACd,mBAAmB;IACnB,iDAAiB,CAAA;IACjB,iBAAiB;IACjB,6CAAe,CAAA;IACf,uBAAuB;IACvB,6CAAe,CAAA;IACf,oDAAkB,CAAA;IAClB,gDAAgB,CAAA;IAChB,kDAAiB,CAAA;IACjB,wBAAwB;IACxB,2DAAqB,CAAA;IACrB,4CAA4C;IAC5C,+CAAe,CAAA;IACf,2BAA2B;IAC3B,mDAAiB,CAAA;IACjB,yBAAyB;IACzB,gDAAgB,CAAA;IAChB,kCAAkC;IAClC,gEAAwB,CAAA;IAExB,6EAA6E;AAC/E,CAAC,EAxBI,SAAS,KAAT,SAAS,QAwBb;AAgBC,8BAAS;AAbX,IAAK,aAMJ;AAND,WAAK,aAAa;IAChB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAChB,yDAAgB,CAAA;IAChB,6DAAkB,CAAA;IAClB,uDAAe,CAAA;AACjB,CAAC,EANI,aAAa,KAAb,aAAa,QAMjB;AAaC,sCAAa"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js new file mode 100644 index 000000000..e59ab4580 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PredefinedFormatToCheckFunction = void 0; +const enums_1 = require("./enums"); +/* +These format functions are taken from `tslint-consistent-codestyle/naming-convention`: +https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/rules/namingConventionRule.ts#L603-L645 + +The licence for the code can be viewed here: +https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/LICENSE +*/ +/* +Why not regex here? Because it's actually really, really difficult to create a regex to handle +all of the unicode cases, and we have many non-english users that use non-english characters. +https://gist.github.com/mathiasbynens/6334847 +*/ +function isPascalCase(name) { + return (name.length === 0 || + (name[0] === name[0].toUpperCase() && !name.includes('_'))); +} +function isStrictPascalCase(name) { + return (name.length === 0 || + (name[0] === name[0].toUpperCase() && hasStrictCamelHumps(name, true))); +} +function isCamelCase(name) { + return (name.length === 0 || + (name[0] === name[0].toLowerCase() && !name.includes('_'))); +} +function isStrictCamelCase(name) { + return (name.length === 0 || + (name[0] === name[0].toLowerCase() && hasStrictCamelHumps(name, false))); +} +function hasStrictCamelHumps(name, isUpper) { + function isUppercaseChar(char) { + return char === char.toUpperCase() && char !== char.toLowerCase(); + } + if (name.startsWith('_')) { + return false; + } + for (let i = 1; i < name.length; ++i) { + if (name[i] === '_') { + return false; + } + if (isUpper === isUppercaseChar(name[i])) { + if (isUpper) { + return false; + } + } + else { + isUpper = !isUpper; + } + } + return true; +} +function isSnakeCase(name) { + return (name.length === 0 || + (name === name.toLowerCase() && validateUnderscores(name))); +} +function isUpperCase(name) { + return (name.length === 0 || + (name === name.toUpperCase() && validateUnderscores(name))); +} +/** Check for leading trailing and adjacent underscores */ +function validateUnderscores(name) { + if (name.startsWith('_')) { + return false; + } + let wasUnderscore = false; + for (let i = 1; i < name.length; ++i) { + if (name[i] === '_') { + if (wasUnderscore) { + return false; + } + wasUnderscore = true; + } + else { + wasUnderscore = false; + } + } + return !wasUnderscore; +} +const PredefinedFormatToCheckFunction = { + [enums_1.PredefinedFormats.PascalCase]: isPascalCase, + [enums_1.PredefinedFormats.StrictPascalCase]: isStrictPascalCase, + [enums_1.PredefinedFormats.camelCase]: isCamelCase, + [enums_1.PredefinedFormats.strictCamelCase]: isStrictCamelCase, + [enums_1.PredefinedFormats.UPPER_CASE]: isUpperCase, + [enums_1.PredefinedFormats.snake_case]: isSnakeCase, +}; +exports.PredefinedFormatToCheckFunction = PredefinedFormatToCheckFunction; +//# sourceMappingURL=format.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map new file mode 100644 index 000000000..939f505d8 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map @@ -0,0 +1 @@ +{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/format.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js new file mode 100644 index 000000000..e75eef611 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseOptions = exports.selectorTypeToMessageString = exports.SCHEMA = exports.Modifiers = void 0; +var enums_1 = require("./enums"); +Object.defineProperty(exports, "Modifiers", { enumerable: true, get: function () { return enums_1.Modifiers; } }); +var schema_1 = require("./schema"); +Object.defineProperty(exports, "SCHEMA", { enumerable: true, get: function () { return schema_1.SCHEMA; } }); +var shared_1 = require("./shared"); +Object.defineProperty(exports, "selectorTypeToMessageString", { enumerable: true, get: function () { return shared_1.selectorTypeToMessageString; } }); +var parse_options_1 = require("./parse-options"); +Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return parse_options_1.parseOptions; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map new file mode 100644 index 000000000..a307155bc --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAGlB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAuD;AAA9C,qHAAA,2BAA2B,OAAA;AACpC,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js new file mode 100644 index 000000000..564828bcd --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js @@ -0,0 +1,90 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseOptions = void 0; +const util = __importStar(require("../../util")); +const enums_1 = require("./enums"); +const shared_1 = require("./shared"); +const validator_1 = require("./validator"); +function normalizeOption(option) { + var _a, _b, _c, _d, _e, _f; + let weight = 0; + (_a = option.modifiers) === null || _a === void 0 ? void 0 : _a.forEach(mod => { + weight |= enums_1.Modifiers[mod]; + }); + (_b = option.types) === null || _b === void 0 ? void 0 : _b.forEach(mod => { + weight |= enums_1.TypeModifiers[mod]; + }); + // give selectors with a filter the _highest_ priority + if (option.filter) { + weight |= 1 << 30; + } + const normalizedOption = { + // format options + format: option.format ? option.format.map(f => enums_1.PredefinedFormats[f]) : null, + custom: option.custom + ? { + regex: new RegExp(option.custom.regex, 'u'), + match: option.custom.match, + } + : null, + leadingUnderscore: option.leadingUnderscore !== undefined + ? enums_1.UnderscoreOptions[option.leadingUnderscore] + : null, + trailingUnderscore: option.trailingUnderscore !== undefined + ? enums_1.UnderscoreOptions[option.trailingUnderscore] + : null, + prefix: option.prefix && option.prefix.length > 0 ? option.prefix : null, + suffix: option.suffix && option.suffix.length > 0 ? option.suffix : null, + modifiers: (_d = (_c = option.modifiers) === null || _c === void 0 ? void 0 : _c.map(m => enums_1.Modifiers[m])) !== null && _d !== void 0 ? _d : null, + types: (_f = (_e = option.types) === null || _e === void 0 ? void 0 : _e.map(m => enums_1.TypeModifiers[m])) !== null && _f !== void 0 ? _f : null, + filter: option.filter !== undefined + ? typeof option.filter === 'string' + ? { + regex: new RegExp(option.filter, 'u'), + match: true, + } + : { + regex: new RegExp(option.filter.regex, 'u'), + match: option.filter.match, + } + : null, + // calculated ordering weight based on modifiers + modifierWeight: weight, + }; + const selectors = Array.isArray(option.selector) + ? option.selector + : [option.selector]; + return selectors.map(selector => (Object.assign({ selector: shared_1.isMetaSelector(selector) + ? enums_1.MetaSelectors[selector] + : enums_1.Selectors[selector] }, normalizedOption))); +} +function parseOptions(context) { + const normalizedOptions = context.options + .map(opt => normalizeOption(opt)) + .reduce((acc, val) => acc.concat(val), []); + return util.getEnumNames(enums_1.Selectors).reduce((acc, k) => { + acc[k] = validator_1.createValidator(k, context, normalizedOptions); + return acc; + }, {}); +} +exports.parseOptions = parseOptions; +//# sourceMappingURL=parse-options.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map new file mode 100644 index 000000000..668a600fc --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/parse-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js new file mode 100644 index 000000000..c49f97934 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js @@ -0,0 +1,259 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SCHEMA = void 0; +const enums_1 = require("./enums"); +const util = __importStar(require("../../util")); +const UNDERSCORE_SCHEMA = { + type: 'string', + enum: util.getEnumNames(enums_1.UnderscoreOptions), +}; +const PREFIX_SUFFIX_SCHEMA = { + type: 'array', + items: { + type: 'string', + minLength: 1, + }, + additionalItems: false, +}; +const MATCH_REGEX_SCHEMA = { + type: 'object', + properties: { + match: { type: 'boolean' }, + regex: { type: 'string' }, + }, + required: ['match', 'regex'], +}; +const FORMAT_OPTIONS_PROPERTIES = { + format: { + oneOf: [ + { + type: 'array', + items: { + type: 'string', + enum: util.getEnumNames(enums_1.PredefinedFormats), + }, + additionalItems: false, + }, + { + type: 'null', + }, + ], + }, + custom: MATCH_REGEX_SCHEMA, + leadingUnderscore: UNDERSCORE_SCHEMA, + trailingUnderscore: UNDERSCORE_SCHEMA, + prefix: PREFIX_SUFFIX_SCHEMA, + suffix: PREFIX_SUFFIX_SCHEMA, + failureMessage: { + type: 'string', + }, +}; +function selectorSchema(selectorString, allowType, modifiers) { + const selector = { + filter: { + oneOf: [ + { + type: 'string', + minLength: 1, + }, + MATCH_REGEX_SCHEMA, + ], + }, + selector: { + type: 'string', + enum: [selectorString], + }, + }; + if (modifiers && modifiers.length > 0) { + selector.modifiers = { + type: 'array', + items: { + type: 'string', + enum: modifiers, + }, + additionalItems: false, + }; + } + if (allowType) { + selector.types = { + type: 'array', + items: { + type: 'string', + enum: util.getEnumNames(enums_1.TypeModifiers), + }, + additionalItems: false, + }; + } + return [ + { + type: 'object', + properties: Object.assign(Object.assign({}, FORMAT_OPTIONS_PROPERTIES), selector), + required: ['selector', 'format'], + additionalProperties: false, + }, + ]; +} +function selectorsSchema() { + return { + type: 'object', + properties: Object.assign(Object.assign({}, FORMAT_OPTIONS_PROPERTIES), { + filter: { + oneOf: [ + { + type: 'string', + minLength: 1, + }, + MATCH_REGEX_SCHEMA, + ], + }, + selector: { + type: 'array', + items: { + type: 'string', + enum: [ + ...util.getEnumNames(enums_1.MetaSelectors), + ...util.getEnumNames(enums_1.Selectors), + ], + }, + additionalItems: false, + }, + modifiers: { + type: 'array', + items: { + type: 'string', + enum: util.getEnumNames(enums_1.Modifiers), + }, + additionalItems: false, + }, + types: { + type: 'array', + items: { + type: 'string', + enum: util.getEnumNames(enums_1.TypeModifiers), + }, + additionalItems: false, + }, + }), + required: ['selector', 'format'], + additionalProperties: false, + }; +} +const SCHEMA = { + type: 'array', + items: { + oneOf: [ + selectorsSchema(), + ...selectorSchema('default', false, util.getEnumNames(enums_1.Modifiers)), + ...selectorSchema('variableLike', false, ['unused']), + ...selectorSchema('variable', true, [ + 'const', + 'destructured', + 'exported', + 'global', + 'unused', + ]), + ...selectorSchema('function', false, ['exported', 'global', 'unused']), + ...selectorSchema('parameter', true, ['destructured', 'unused']), + ...selectorSchema('memberLike', false, [ + 'abstract', + 'private', + 'protected', + 'public', + 'readonly', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('classProperty', true, [ + 'abstract', + 'private', + 'protected', + 'public', + 'readonly', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('objectLiteralProperty', true, [ + 'public', + 'requiresQuotes', + ]), + ...selectorSchema('typeProperty', true, [ + 'public', + 'readonly', + 'requiresQuotes', + ]), + ...selectorSchema('parameterProperty', true, [ + 'private', + 'protected', + 'public', + 'readonly', + ]), + ...selectorSchema('property', true, [ + 'abstract', + 'private', + 'protected', + 'public', + 'readonly', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('classMethod', false, [ + 'abstract', + 'private', + 'protected', + 'public', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('objectLiteralMethod', false, [ + 'public', + 'requiresQuotes', + ]), + ...selectorSchema('typeMethod', false, ['public', 'requiresQuotes']), + ...selectorSchema('method', false, [ + 'abstract', + 'private', + 'protected', + 'public', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('accessor', true, [ + 'abstract', + 'private', + 'protected', + 'public', + 'requiresQuotes', + 'static', + ]), + ...selectorSchema('enumMember', false, ['requiresQuotes']), + ...selectorSchema('typeLike', false, ['abstract', 'exported', 'unused']), + ...selectorSchema('class', false, ['abstract', 'exported', 'unused']), + ...selectorSchema('interface', false, ['exported', 'unused']), + ...selectorSchema('typeAlias', false, ['exported', 'unused']), + ...selectorSchema('enum', false, ['exported', 'unused']), + ...selectorSchema('typeParameter', false, ['unused']), + ], + }, + additionalItems: false, +}; +exports.SCHEMA = SCHEMA; +//# sourceMappingURL=schema.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map new file mode 100644 index 000000000..515f628d0 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/schema.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js new file mode 100644 index 000000000..0371db59f --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMethodOrPropertySelector = exports.isMetaSelector = exports.selectorTypeToMessageString = void 0; +const enums_1 = require("./enums"); +function selectorTypeToMessageString(selectorType) { + const notCamelCase = selectorType.replace(/([A-Z])/g, ' $1'); + return notCamelCase.charAt(0).toUpperCase() + notCamelCase.slice(1); +} +exports.selectorTypeToMessageString = selectorTypeToMessageString; +function isMetaSelector(selector) { + return selector in enums_1.MetaSelectors; +} +exports.isMetaSelector = isMetaSelector; +function isMethodOrPropertySelector(selector) { + return (selector === enums_1.MetaSelectors.method || selector === enums_1.MetaSelectors.property); +} +exports.isMethodOrPropertySelector = isMethodOrPropertySelector; +//# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map new file mode 100644 index 000000000..a8412be4f --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/shared.ts"],"names":[],"mappings":";;;AAAA,mCAMiB;AAEjB,SAAS,2BAA2B,CAAC,YAA6B;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAiBC,kEAA2B;AAf7B,SAAS,cAAc,CACrB,QAAsE;IAEtE,OAAO,QAAQ,IAAI,qBAAa,CAAC;AACnC,CAAC;AAYC,wCAAc;AAVhB,SAAS,0BAA0B,CACjC,QAAsE;IAEtE,OAAO,CACL,QAAQ,KAAK,qBAAa,CAAC,MAAM,IAAI,QAAQ,KAAK,qBAAa,CAAC,QAAQ,CACzE,CAAC;AACJ,CAAC;AAKC,gEAA0B"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js new file mode 100644 index 000000000..11e638d1e --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map new file mode 100644 index 000000000..60c24d818 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js new file mode 100644 index 000000000..67b5ba55d --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js @@ -0,0 +1,368 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createValidator = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const enums_1 = require("./enums"); +const format_1 = require("./format"); +const shared_1 = require("./shared"); +const util = __importStar(require("../../util")); +function createValidator(type, context, allConfigs) { + // make sure the "highest priority" configs are checked first + const selectorType = enums_1.Selectors[type]; + const configs = allConfigs + // gather all of the applicable selectors + .filter(c => (c.selector & selectorType) !== 0 || + c.selector === enums_1.MetaSelectors.default) + .sort((a, b) => { + if (a.selector === b.selector) { + // in the event of the same selector, order by modifier weight + // sort descending - the type modifiers are "more important" + return b.modifierWeight - a.modifierWeight; + } + const aIsMeta = shared_1.isMetaSelector(a.selector); + const bIsMeta = shared_1.isMetaSelector(b.selector); + // non-meta selectors should go ahead of meta selectors + if (aIsMeta && !bIsMeta) { + return 1; + } + if (!aIsMeta && bIsMeta) { + return -1; + } + const aIsMethodOrProperty = shared_1.isMethodOrPropertySelector(a.selector); + const bIsMethodOrProperty = shared_1.isMethodOrPropertySelector(b.selector); + // for backward compatibility, method and property have higher precedence than other meta selectors + if (aIsMethodOrProperty && !bIsMethodOrProperty) { + return -1; + } + if (!aIsMethodOrProperty && bIsMethodOrProperty) { + return 1; + } + // both aren't meta selectors + // sort descending - the meta selectors are "least important" + return b.selector - a.selector; + }); + return (node, modifiers = new Set()) => { + var _a, _b, _c; + const originalName = node.type === experimental_utils_1.AST_NODE_TYPES.Identifier ? node.name : `${node.value}`; + // return will break the loop and stop checking configs + // it is only used when the name is known to have failed or succeeded a config. + for (const config of configs) { + if (((_a = config.filter) === null || _a === void 0 ? void 0 : _a.regex.test(originalName)) !== ((_b = config.filter) === null || _b === void 0 ? void 0 : _b.match)) { + // name does not match the filter + continue; + } + if ((_c = config.modifiers) === null || _c === void 0 ? void 0 : _c.some(modifier => !modifiers.has(modifier))) { + // does not have the required modifiers + continue; + } + if (!isCorrectType(node, config, context, selectorType)) { + // is not the correct type + continue; + } + let name = originalName; + name = validateUnderscore('leading', config, name, node, originalName); + if (name === null) { + // fail + return; + } + name = validateUnderscore('trailing', config, name, node, originalName); + if (name === null) { + // fail + return; + } + name = validateAffix('prefix', config, name, node, originalName); + if (name === null) { + // fail + return; + } + name = validateAffix('suffix', config, name, node, originalName); + if (name === null) { + // fail + return; + } + if (!validateCustom(config, name, node, originalName)) { + // fail + return; + } + if (!validatePredefinedFormat(config, name, node, originalName)) { + // fail + return; + } + // it's valid for this config, so we don't need to check any more configs + return; + } + }; + // centralizes the logic for formatting the report data + function formatReportData({ affixes, formats, originalName, processedName, position, custom, count, }) { + var _a; + return { + type: shared_1.selectorTypeToMessageString(type), + name: originalName, + processedName, + position, + count, + affixes: affixes === null || affixes === void 0 ? void 0 : affixes.join(', '), + formats: formats === null || formats === void 0 ? void 0 : formats.map(f => enums_1.PredefinedFormats[f]).join(', '), + regex: (_a = custom === null || custom === void 0 ? void 0 : custom.regex) === null || _a === void 0 ? void 0 : _a.toString(), + regexMatch: (custom === null || custom === void 0 ? void 0 : custom.match) === true + ? 'match' + : (custom === null || custom === void 0 ? void 0 : custom.match) === false + ? 'not match' + : null, + }; + } + /** + * @returns the name with the underscore removed, if it is valid according to the specified underscore option, null otherwise + */ + function validateUnderscore(position, config, name, node, originalName) { + const option = position === 'leading' + ? config.leadingUnderscore + : config.trailingUnderscore; + if (!option) { + return name; + } + const hasSingleUnderscore = position === 'leading' + ? () => name.startsWith('_') + : () => name.endsWith('_'); + const trimSingleUnderscore = position === 'leading' + ? () => name.slice(1) + : () => name.slice(0, -1); + const hasDoubleUnderscore = position === 'leading' + ? () => name.startsWith('__') + : () => name.endsWith('__'); + const trimDoubleUnderscore = position === 'leading' + ? () => name.slice(2) + : () => name.slice(0, -2); + switch (option) { + // ALLOW - no conditions as the user doesn't care if it's there or not + case enums_1.UnderscoreOptions.allow: { + if (hasSingleUnderscore()) { + return trimSingleUnderscore(); + } + return name; + } + case enums_1.UnderscoreOptions.allowDouble: { + if (hasDoubleUnderscore()) { + return trimDoubleUnderscore(); + } + return name; + } + case enums_1.UnderscoreOptions.allowSingleOrDouble: { + if (hasDoubleUnderscore()) { + return trimDoubleUnderscore(); + } + if (hasSingleUnderscore()) { + return trimSingleUnderscore(); + } + return name; + } + // FORBID + case enums_1.UnderscoreOptions.forbid: { + if (hasSingleUnderscore()) { + context.report({ + node, + messageId: 'unexpectedUnderscore', + data: formatReportData({ + originalName, + position, + count: 'one', + }), + }); + return null; + } + return name; + } + // REQUIRE + case enums_1.UnderscoreOptions.require: { + if (!hasSingleUnderscore()) { + context.report({ + node, + messageId: 'missingUnderscore', + data: formatReportData({ + originalName, + position, + count: 'one', + }), + }); + return null; + } + return trimSingleUnderscore(); + } + case enums_1.UnderscoreOptions.requireDouble: { + if (!hasDoubleUnderscore()) { + context.report({ + node, + messageId: 'missingUnderscore', + data: formatReportData({ + originalName, + position, + count: 'two', + }), + }); + return null; + } + return trimDoubleUnderscore(); + } + } + } + /** + * @returns the name with the affix removed, if it is valid according to the specified affix option, null otherwise + */ + function validateAffix(position, config, name, node, originalName) { + const affixes = config[position]; + if (!affixes || affixes.length === 0) { + return name; + } + for (const affix of affixes) { + const hasAffix = position === 'prefix' ? name.startsWith(affix) : name.endsWith(affix); + const trimAffix = position === 'prefix' + ? () => name.slice(affix.length) + : () => name.slice(0, -affix.length); + if (hasAffix) { + // matches, so trim it and return + return trimAffix(); + } + } + context.report({ + node, + messageId: 'missingAffix', + data: formatReportData({ + originalName, + position, + affixes, + }), + }); + return null; + } + /** + * @returns true if the name is valid according to the `regex` option, false otherwise + */ + function validateCustom(config, name, node, originalName) { + const custom = config.custom; + if (!custom) { + return true; + } + const result = custom.regex.test(name); + if (custom.match && result) { + return true; + } + if (!custom.match && !result) { + return true; + } + context.report({ + node, + messageId: 'satisfyCustom', + data: formatReportData({ + originalName, + custom, + }), + }); + return false; + } + /** + * @returns true if the name is valid according to the `format` option, false otherwise + */ + function validatePredefinedFormat(config, name, node, originalName) { + const formats = config.format; + if (formats === null || formats.length === 0) { + return true; + } + for (const format of formats) { + const checker = format_1.PredefinedFormatToCheckFunction[format]; + if (checker(name)) { + return true; + } + } + context.report({ + node, + messageId: originalName === name + ? 'doesNotMatchFormat' + : 'doesNotMatchFormatTrimmed', + data: formatReportData({ + originalName, + processedName: name, + formats, + }), + }); + return false; + } +} +exports.createValidator = createValidator; +const SelectorsAllowedToHaveTypes = enums_1.Selectors.variable | + enums_1.Selectors.parameter | + enums_1.Selectors.classProperty | + enums_1.Selectors.objectLiteralProperty | + enums_1.Selectors.typeProperty | + enums_1.Selectors.parameterProperty | + enums_1.Selectors.accessor; +function isCorrectType(node, config, context, selector) { + if (config.types === null) { + return true; + } + if ((SelectorsAllowedToHaveTypes & selector) === 0) { + return true; + } + const { esTreeNodeToTSNodeMap, program } = util.getParserServices(context); + const checker = program.getTypeChecker(); + const tsNode = esTreeNodeToTSNodeMap.get(node); + const type = checker + .getTypeAtLocation(tsNode) + // remove null and undefined from the type, as we don't care about it here + .getNonNullableType(); + for (const allowedType of config.types) { + switch (allowedType) { + case enums_1.TypeModifiers.array: + if (isAllTypesMatch(type, t => checker.isArrayType(t) || checker.isTupleType(t))) { + return true; + } + break; + case enums_1.TypeModifiers.function: + if (isAllTypesMatch(type, t => t.getCallSignatures().length > 0)) { + return true; + } + break; + case enums_1.TypeModifiers.boolean: + case enums_1.TypeModifiers.number: + case enums_1.TypeModifiers.string: { + const typeString = checker.typeToString( + // this will resolve things like true => boolean, 'a' => string and 1 => number + checker.getWidenedType(checker.getBaseTypeOfLiteralType(type))); + const allowedTypeString = enums_1.TypeModifiers[allowedType]; + if (typeString === allowedTypeString) { + return true; + } + break; + } + } + } + return false; +} +/** + * @returns `true` if the type (or all union types) in the given type return true for the callback + */ +function isAllTypesMatch(type, cb) { + if (type.isUnion()) { + return type.types.every(t => cb(t)); + } + return cb(type); +} +//# sourceMappingURL=validator.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map new file mode 100644 index 000000000..6dfdc4c1b --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/validator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js index 212c77311..0ea6a82fc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js @@ -19,262 +19,10 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.selectorTypeToMessageString = void 0; const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const scope_manager_1 = require("@typescript-eslint/scope-manager"); const util = __importStar(require("../util")); -// #region Options Type Config -var PredefinedFormats; -(function (PredefinedFormats) { - PredefinedFormats[PredefinedFormats["camelCase"] = 1] = "camelCase"; - PredefinedFormats[PredefinedFormats["strictCamelCase"] = 2] = "strictCamelCase"; - PredefinedFormats[PredefinedFormats["PascalCase"] = 4] = "PascalCase"; - PredefinedFormats[PredefinedFormats["StrictPascalCase"] = 8] = "StrictPascalCase"; - PredefinedFormats[PredefinedFormats["snake_case"] = 16] = "snake_case"; - PredefinedFormats[PredefinedFormats["UPPER_CASE"] = 32] = "UPPER_CASE"; -})(PredefinedFormats || (PredefinedFormats = {})); -var UnderscoreOptions; -(function (UnderscoreOptions) { - UnderscoreOptions[UnderscoreOptions["forbid"] = 1] = "forbid"; - UnderscoreOptions[UnderscoreOptions["allow"] = 2] = "allow"; - UnderscoreOptions[UnderscoreOptions["require"] = 4] = "require"; -})(UnderscoreOptions || (UnderscoreOptions = {})); -var Selectors; -(function (Selectors) { - // variableLike - Selectors[Selectors["variable"] = 1] = "variable"; - Selectors[Selectors["function"] = 2] = "function"; - Selectors[Selectors["parameter"] = 4] = "parameter"; - // memberLike - Selectors[Selectors["property"] = 8] = "property"; - Selectors[Selectors["parameterProperty"] = 16] = "parameterProperty"; - Selectors[Selectors["method"] = 32] = "method"; - Selectors[Selectors["accessor"] = 64] = "accessor"; - Selectors[Selectors["enumMember"] = 128] = "enumMember"; - // typeLike - Selectors[Selectors["class"] = 256] = "class"; - Selectors[Selectors["interface"] = 512] = "interface"; - Selectors[Selectors["typeAlias"] = 1024] = "typeAlias"; - Selectors[Selectors["enum"] = 2048] = "enum"; - Selectors[Selectors["typeParameter"] = 4096] = "typeParameter"; -})(Selectors || (Selectors = {})); -const SELECTOR_COUNT = util.getEnumNames(Selectors).length; -var MetaSelectors; -(function (MetaSelectors) { - MetaSelectors[MetaSelectors["default"] = -1] = "default"; - MetaSelectors[MetaSelectors["variableLike"] = 7] = "variableLike"; - MetaSelectors[MetaSelectors["memberLike"] = 248] = "memberLike"; - MetaSelectors[MetaSelectors["typeLike"] = 7936] = "typeLike"; -})(MetaSelectors || (MetaSelectors = {})); -var Modifiers; -(function (Modifiers) { - Modifiers[Modifiers["const"] = 1] = "const"; - Modifiers[Modifiers["readonly"] = 2] = "readonly"; - Modifiers[Modifiers["static"] = 4] = "static"; - Modifiers[Modifiers["public"] = 8] = "public"; - Modifiers[Modifiers["protected"] = 16] = "protected"; - Modifiers[Modifiers["private"] = 32] = "private"; - Modifiers[Modifiers["abstract"] = 64] = "abstract"; -})(Modifiers || (Modifiers = {})); -var TypeModifiers; -(function (TypeModifiers) { - TypeModifiers[TypeModifiers["boolean"] = 1024] = "boolean"; - TypeModifiers[TypeModifiers["string"] = 2048] = "string"; - TypeModifiers[TypeModifiers["number"] = 4096] = "number"; - TypeModifiers[TypeModifiers["function"] = 8192] = "function"; - TypeModifiers[TypeModifiers["array"] = 16384] = "array"; -})(TypeModifiers || (TypeModifiers = {})); -// #endregion Options Type Config -// #region Schema Config -const UNDERSCORE_SCHEMA = { - type: 'string', - enum: util.getEnumNames(UnderscoreOptions), -}; -const PREFIX_SUFFIX_SCHEMA = { - type: 'array', - items: { - type: 'string', - minLength: 1, - }, - additionalItems: false, -}; -const MATCH_REGEX_SCHEMA = { - type: 'object', - properties: { - match: { type: 'boolean' }, - regex: { type: 'string' }, - }, - required: ['match', 'regex'], -}; -const FORMAT_OPTIONS_PROPERTIES = { - format: { - oneOf: [ - { - type: 'array', - items: { - type: 'string', - enum: util.getEnumNames(PredefinedFormats), - }, - additionalItems: false, - }, - { - type: 'null', - }, - ], - }, - custom: MATCH_REGEX_SCHEMA, - leadingUnderscore: UNDERSCORE_SCHEMA, - trailingUnderscore: UNDERSCORE_SCHEMA, - prefix: PREFIX_SUFFIX_SCHEMA, - suffix: PREFIX_SUFFIX_SCHEMA, -}; -function selectorSchema(selectorString, allowType, modifiers) { - const selector = { - filter: { - oneOf: [ - { - type: 'string', - minLength: 1, - }, - MATCH_REGEX_SCHEMA, - ], - }, - selector: { - type: 'string', - enum: [selectorString], - }, - }; - if (modifiers && modifiers.length > 0) { - selector.modifiers = { - type: 'array', - items: { - type: 'string', - enum: modifiers, - }, - additionalItems: false, - }; - } - if (allowType) { - selector.types = { - type: 'array', - items: { - type: 'string', - enum: util.getEnumNames(TypeModifiers), - }, - additionalItems: false, - }; - } - return [ - { - type: 'object', - properties: Object.assign(Object.assign({}, FORMAT_OPTIONS_PROPERTIES), selector), - required: ['selector', 'format'], - additionalProperties: false, - }, - ]; -} -function selectorsSchema() { - return { - type: 'object', - properties: Object.assign(Object.assign({}, FORMAT_OPTIONS_PROPERTIES), { - filter: { - oneOf: [ - { - type: 'string', - minLength: 1, - }, - MATCH_REGEX_SCHEMA, - ], - }, - selector: { - type: 'array', - items: { - type: 'string', - enum: [ - ...util.getEnumNames(MetaSelectors), - ...util.getEnumNames(Selectors), - ], - }, - additionalItems: false, - }, - }), - modifiers: { - type: 'array', - items: { - type: 'string', - enum: util.getEnumNames(Modifiers), - }, - additionalItems: false, - }, - types: { - type: 'array', - items: { - type: 'string', - enum: util.getEnumNames(TypeModifiers), - }, - additionalItems: false, - }, - required: ['selector', 'format'], - additionalProperties: false, - }; -} -const SCHEMA = { - type: 'array', - items: { - oneOf: [ - selectorsSchema(), - ...selectorSchema('default', false, util.getEnumNames(Modifiers)), - ...selectorSchema('variableLike', false), - ...selectorSchema('variable', true, ['const']), - ...selectorSchema('function', false), - ...selectorSchema('parameter', true), - ...selectorSchema('memberLike', false, [ - 'private', - 'protected', - 'public', - 'static', - 'readonly', - 'abstract', - ]), - ...selectorSchema('property', true, [ - 'private', - 'protected', - 'public', - 'static', - 'readonly', - 'abstract', - ]), - ...selectorSchema('parameterProperty', true, [ - 'private', - 'protected', - 'public', - 'readonly', - ]), - ...selectorSchema('method', false, [ - 'private', - 'protected', - 'public', - 'static', - 'abstract', - ]), - ...selectorSchema('accessor', true, [ - 'private', - 'protected', - 'public', - 'static', - 'abstract', - ]), - ...selectorSchema('enumMember', false), - ...selectorSchema('typeLike', false, ['abstract']), - ...selectorSchema('class', false, ['abstract']), - ...selectorSchema('interface', false), - ...selectorSchema('typeAlias', false), - ...selectorSchema('enum', false), - ...selectorSchema('typeParameter', false), - ], - }, - additionalItems: false, -}; -// #endregion Schema Config +const naming_convention_utils_1 = require("./naming-convention-utils"); // This essentially mirrors ESLint's `camelcase` rule // note that that rule ignores leading and trailing underscores and only checks those in the middle of a variable name const defaultCamelCaseAllTheThingsConfig = [ @@ -308,13 +56,13 @@ exports.default = util.createRule({ type: 'suggestion', messages: { unexpectedUnderscore: '{{type}} name `{{name}}` must not have a {{position}} underscore.', - missingUnderscore: '{{type}} name `{{name}}` must have a {{position}} underscore.', + missingUnderscore: '{{type}} name `{{name}}` must have {{count}} {{position}} underscore(s).', missingAffix: '{{type}} name `{{name}}` must have one of the following {{position}}es: {{affixes}}', satisfyCustom: '{{type}} name `{{name}}` must {{regexMatch}} the RegExp: {{regex}}', doesNotMatchFormat: '{{type}} name `{{name}}` must match one of the following formats: {{formats}}', doesNotMatchFormatTrimmed: '{{type}} name `{{name}}` trimmed as `{{processedName}}` must match one of the following formats: {{formats}}', }, - schema: SCHEMA, + schema: naming_convention_utils_1.SCHEMA, }, defaultOptions: defaultCamelCaseAllTheThingsConfig, create(contextWithoutDefaults) { @@ -325,34 +73,70 @@ exports.default = util.createRule({ Object.setPrototypeOf({ options: defaultCamelCaseAllTheThingsConfig, }, contextWithoutDefaults); - const validators = parseOptions(context); + const validators = naming_convention_utils_1.parseOptions(context); + // getParserServices(context, false) -- dirty hack to work around the docs checker test... + const compilerOptions = util + .getParserServices(context, true) + .program.getCompilerOptions(); function handleMember(validator, node, modifiers) { if (!validator) { return; } const key = node.key; + if (requiresQuoting(key, compilerOptions.target)) { + modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes); + } validator(key, modifiers); } function getMemberModifiers(node) { const modifiers = new Set(); if (node.accessibility) { - modifiers.add(Modifiers[node.accessibility]); + modifiers.add(naming_convention_utils_1.Modifiers[node.accessibility]); } else { - modifiers.add(Modifiers.public); + modifiers.add(naming_convention_utils_1.Modifiers.public); } if (node.static) { - modifiers.add(Modifiers.static); + modifiers.add(naming_convention_utils_1.Modifiers.static); } if ('readonly' in node && node.readonly) { - modifiers.add(Modifiers.readonly); + modifiers.add(naming_convention_utils_1.Modifiers.readonly); } if (node.type === experimental_utils_1.AST_NODE_TYPES.TSAbstractClassProperty || node.type === experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition) { - modifiers.add(Modifiers.abstract); + modifiers.add(naming_convention_utils_1.Modifiers.abstract); } return modifiers; } + const unusedVariables = util.collectUnusedVariables(context); + function isUnused(name, initialScope = context.getScope()) { + var _a; + let variable = null; + let scope = initialScope; + while (scope) { + variable = (_a = scope.set.get(name)) !== null && _a !== void 0 ? _a : null; + if (variable) { + break; + } + scope = scope.upper; + } + if (!variable) { + return false; + } + return unusedVariables.has(variable); + } + function isDestructured(id) { + var _a, _b, _c; + return ( + // `const { x }` + // does not match `const { x: y }` + (((_a = id.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.Property && id.parent.shorthand) || + // `const { x = 2 }` + // does not match const `{ x: y = 2 }` + (((_b = id.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.AssignmentPattern && + ((_c = id.parent.parent) === null || _c === void 0 ? void 0 : _c.type) === experimental_utils_1.AST_NODE_TYPES.Property && + id.parent.parent.shorthand)); + } return { // #region variable VariableDeclarator(node) { @@ -360,17 +144,29 @@ exports.default = util.createRule({ if (!validator) { return; } - const identifiers = []; - getIdentifiersFromPattern(node.id, identifiers); - const modifiers = new Set(); + const identifiers = getIdentifiersFromPattern(node.id); + const baseModifiers = new Set(); const parent = node.parent; - if (parent && - parent.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclaration && - parent.kind === 'const') { - modifiers.add(Modifiers.const); + if ((parent === null || parent === void 0 ? void 0 : parent.type) === experimental_utils_1.AST_NODE_TYPES.VariableDeclaration) { + if (parent.kind === 'const') { + baseModifiers.add(naming_convention_utils_1.Modifiers.const); + } + if (isGlobal(context.getScope())) { + baseModifiers.add(naming_convention_utils_1.Modifiers.global); + } } - identifiers.forEach(i => { - validator(i, modifiers); + identifiers.forEach(id => { + const modifiers = new Set(baseModifiers); + if (isDestructured(id)) { + modifiers.add(naming_convention_utils_1.Modifiers.destructured); + } + if (isExported(parent, id.name, context.getScope())) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(id.name)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(id, modifiers); }); }, // #endregion @@ -380,11 +176,23 @@ exports.default = util.createRule({ if (!validator || node.id === null) { return; } - validator(node.id); + const modifiers = new Set(); + // functions create their own nested scope + const scope = context.getScope().upper; + if (isGlobal(scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.global); + } + if (isExported(node, node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(node.id, modifiers); }, // #endregion function // #region parameter - 'FunctionDeclaration, TSDeclareFunction, FunctionExpression, ArrowFunctionExpression'(node) { + 'FunctionDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, FunctionExpression, ArrowFunctionExpression'(node) { const validator = validators.parameter; if (!validator) { return; @@ -393,10 +201,16 @@ exports.default = util.createRule({ if (param.type === experimental_utils_1.AST_NODE_TYPES.TSParameterProperty) { return; } - const identifiers = []; - getIdentifiersFromPattern(param, identifiers); + const identifiers = getIdentifiersFromPattern(param); identifiers.forEach(i => { - validator(i); + const modifiers = new Set(); + if (isDestructured(i)) { + modifiers.add(naming_convention_utils_1.Modifiers.destructured); + } + if (isUnused(i.name)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(i, modifiers); }); }); }, @@ -408,28 +222,27 @@ exports.default = util.createRule({ return; } const modifiers = getMemberModifiers(node); - const identifiers = []; - getIdentifiersFromPattern(node.parameter, identifiers); + const identifiers = getIdentifiersFromPattern(node.parameter); identifiers.forEach(i => { validator(i, modifiers); }); }, // #endregion parameterProperty // #region property - 'Property[computed = false][kind = "init"][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]'(node) { - const modifiers = new Set([Modifiers.public]); - handleMember(validators.property, node, modifiers); + ':not(ObjectPattern) > Property[computed = false][kind = "init"][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]'(node) { + const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); + handleMember(validators.objectLiteralProperty, node, modifiers); }, ':matches(ClassProperty, TSAbstractClassProperty)[computed = false][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]'(node) { const modifiers = getMemberModifiers(node); - handleMember(validators.property, node, modifiers); + handleMember(validators.classProperty, node, modifiers); }, 'TSPropertySignature[computed = false]'(node) { - const modifiers = new Set([Modifiers.public]); + const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); if (node.readonly) { - modifiers.add(Modifiers.readonly); + modifiers.add(naming_convention_utils_1.Modifiers.readonly); } - handleMember(validators.property, node, modifiers); + handleMember(validators.typeProperty, node, modifiers); }, // #endregion property // #region method @@ -437,10 +250,9 @@ exports.default = util.createRule({ 'Property[computed = false][kind = "init"][value.type = "ArrowFunctionExpression"]', 'Property[computed = false][kind = "init"][value.type = "FunctionExpression"]', 'Property[computed = false][kind = "init"][value.type = "TSEmptyBodyFunctionExpression"]', - 'TSMethodSignature[computed = false]', ].join(', ')](node) { - const modifiers = new Set([Modifiers.public]); - handleMember(validators.method, node, modifiers); + const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); + handleMember(validators.objectLiteralMethod, node, modifiers); }, [[ ':matches(ClassProperty, TSAbstractClassProperty)[computed = false][value.type = "ArrowFunctionExpression"]', @@ -449,12 +261,16 @@ exports.default = util.createRule({ ':matches(MethodDefinition, TSAbstractMethodDefinition)[computed = false][kind = "method"]', ].join(', ')](node) { const modifiers = getMemberModifiers(node); - handleMember(validators.method, node, modifiers); + handleMember(validators.classMethod, node, modifiers); + }, + 'TSMethodSignature[computed = false]'(node) { + const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); + handleMember(validators.typeMethod, node, modifiers); }, // #endregion method // #region accessor 'Property[computed = false]:matches([kind = "get"], [kind = "set"])'(node) { - const modifiers = new Set([Modifiers.public]); + const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); handleMember(validators.accessor, node, modifiers); }, 'MethodDefinition[computed = false]:matches([kind = "get"], [kind = "set"])'(node) { @@ -470,7 +286,11 @@ exports.default = util.createRule({ return; } const id = node.id; - validator(id); + const modifiers = new Set(); + if (requiresQuoting(id, compilerOptions.target)) { + modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes); + } + validator(id, modifiers); }, // #endregion enumMember // #region class @@ -484,8 +304,16 @@ exports.default = util.createRule({ return; } const modifiers = new Set(); + // classes create their own nested scope + const scope = context.getScope().upper; if (node.abstract) { - modifiers.add(Modifiers.abstract); + modifiers.add(naming_convention_utils_1.Modifiers.abstract); + } + if (isExported(node, id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); } validator(id, modifiers); }, @@ -496,7 +324,15 @@ exports.default = util.createRule({ if (!validator) { return; } - validator(node.id); + const modifiers = new Set(); + const scope = context.getScope(); + if (isExported(node, node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(node.id, modifiers); }, // #endregion interface // #region typeAlias @@ -505,7 +341,15 @@ exports.default = util.createRule({ if (!validator) { return; } - validator(node.id); + const modifiers = new Set(); + const scope = context.getScope(); + if (isExported(node, node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(node.id, modifiers); }, // #endregion typeAlias // #region enum @@ -514,7 +358,16 @@ exports.default = util.createRule({ if (!validator) { return; } - validator(node.id); + const modifiers = new Set(); + // enums create their own nested scope + const scope = context.getScope().upper; + if (isExported(node, node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.exported); + } + if (isUnused(node.id.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(node.id, modifiers); }, // #endregion enum // #region typeParameter @@ -523,477 +376,53 @@ exports.default = util.createRule({ if (!validator) { return; } - validator(node.name); + const modifiers = new Set(); + const scope = context.getScope(); + if (isUnused(node.name.name, scope)) { + modifiers.add(naming_convention_utils_1.Modifiers.unused); + } + validator(node.name, modifiers); }, + // #endregion typeParameter }; }, }); -function getIdentifiersFromPattern(pattern, identifiers) { - switch (pattern.type) { - case experimental_utils_1.AST_NODE_TYPES.Identifier: - identifiers.push(pattern); - break; - case experimental_utils_1.AST_NODE_TYPES.ArrayPattern: - pattern.elements.forEach(element => { - if (element !== null) { - getIdentifiersFromPattern(element, identifiers); - } - }); - break; - case experimental_utils_1.AST_NODE_TYPES.ObjectPattern: - pattern.properties.forEach(property => { - if (property.type === experimental_utils_1.AST_NODE_TYPES.RestElement) { - getIdentifiersFromPattern(property, identifiers); - } - else { - // this is a bit weird, but it's because ESTree doesn't have a new node type - // for object destructuring properties - it just reuses Property... - // https://github.com/estree/estree/blob/9ae284b71130d53226e7153b42f01bf819e6e657/es2015.md#L206-L211 - // However, the parser guarantees this is safe (and there is error handling) - getIdentifiersFromPattern(property.value, identifiers); - } - }); - break; - case experimental_utils_1.AST_NODE_TYPES.RestElement: - getIdentifiersFromPattern(pattern.argument, identifiers); - break; - case experimental_utils_1.AST_NODE_TYPES.AssignmentPattern: - getIdentifiersFromPattern(pattern.left, identifiers); - break; - case experimental_utils_1.AST_NODE_TYPES.MemberExpression: - // ignore member expressions, as the everything must already be defined - break; - default: - // https://github.com/typescript-eslint/typescript-eslint/issues/1282 - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion - throw new Error(`Unexpected pattern type ${pattern.type}`); - } +function getIdentifiersFromPattern(pattern) { + const identifiers = []; + const visitor = new scope_manager_1.PatternVisitor({}, pattern, id => identifiers.push(id)); + visitor.visit(pattern); + return identifiers; } -function parseOptions(context) { - const normalizedOptions = context.options.map(opt => normalizeOption(opt)); - return util.getEnumNames(Selectors).reduce((acc, k) => { - acc[k] = createValidator(k, context, normalizedOptions); - return acc; - }, {}); -} -function createValidator(type, context, allConfigs) { - // make sure the "highest priority" configs are checked first - const selectorType = Selectors[type]; - const configs = allConfigs - // gather all of the applicable selectors - .filter(c => (c.selector & selectorType) !== 0 || - c.selector === MetaSelectors.default) - .sort((a, b) => { - if (a.selector === b.selector) { - // in the event of the same selector, order by modifier weight - // sort descending - the type modifiers are "more important" - return b.modifierWeight - a.modifierWeight; - } - /* - meta selectors will always be larger numbers than the normal selectors they contain, as they are the sum of all - of the selectors that they contain. - to give normal selectors a higher priority, shift them all SELECTOR_COUNT bits to the left before comparison, so - they are instead always guaranteed to be larger than the meta selectors. - */ - const aSelector = isMetaSelector(a.selector) - ? a.selector - : a.selector << SELECTOR_COUNT; - const bSelector = isMetaSelector(b.selector) - ? b.selector - : b.selector << SELECTOR_COUNT; - // sort descending - the meta selectors are "least important" - return bSelector - aSelector; - }); - return (node, modifiers = new Set()) => { - var _a, _b, _c; - const originalName = node.type === experimental_utils_1.AST_NODE_TYPES.Identifier ? node.name : `${node.value}`; - // return will break the loop and stop checking configs - // it is only used when the name is known to have failed or succeeded a config. - for (const config of configs) { - if (((_a = config.filter) === null || _a === void 0 ? void 0 : _a.regex.test(originalName)) !== ((_b = config.filter) === null || _b === void 0 ? void 0 : _b.match)) { - // name does not match the filter - continue; - } - if ((_c = config.modifiers) === null || _c === void 0 ? void 0 : _c.some(modifier => !modifiers.has(modifier))) { - // does not have the required modifiers - continue; - } - if (!isCorrectType(node, config, context)) { - // is not the correct type - continue; - } - let name = originalName; - name = validateUnderscore('leading', config, name, node, originalName); - if (name === null) { - // fail - return; - } - name = validateUnderscore('trailing', config, name, node, originalName); - if (name === null) { - // fail - return; - } - name = validateAffix('prefix', config, name, node, originalName); - if (name === null) { - // fail - return; - } - name = validateAffix('suffix', config, name, node, originalName); - if (name === null) { - // fail - return; - } - if (!validateCustom(config, name, node, originalName)) { - // fail - return; - } - if (!validatePredefinedFormat(config, name, node, originalName)) { - // fail - return; - } - // it's valid for this config, so we don't need to check any more configs - return; - } - }; - // centralizes the logic for formatting the report data - function formatReportData({ affixes, formats, originalName, processedName, position, custom, }) { - var _a; - return { - type: selectorTypeToMessageString(type), - name: originalName, - processedName, - position, - affixes: affixes === null || affixes === void 0 ? void 0 : affixes.join(', '), - formats: formats === null || formats === void 0 ? void 0 : formats.map(f => PredefinedFormats[f]).join(', '), - regex: (_a = custom === null || custom === void 0 ? void 0 : custom.regex) === null || _a === void 0 ? void 0 : _a.toString(), - regexMatch: (custom === null || custom === void 0 ? void 0 : custom.match) === true - ? 'match' - : (custom === null || custom === void 0 ? void 0 : custom.match) === false - ? 'not match' - : null, - }; - } - /** - * @returns the name with the underscore removed, if it is valid according to the specified underscore option, null otherwise - */ - function validateUnderscore(position, config, name, node, originalName) { - const option = position === 'leading' - ? config.leadingUnderscore - : config.trailingUnderscore; - if (!option) { - return name; - } - const hasUnderscore = position === 'leading' ? name.startsWith('_') : name.endsWith('_'); - const trimUnderscore = position === 'leading' - ? () => name.slice(1) - : () => name.slice(0, -1); - switch (option) { - case UnderscoreOptions.allow: - // no check - the user doesn't care if it's there or not - break; - case UnderscoreOptions.forbid: - if (hasUnderscore) { - context.report({ - node, - messageId: 'unexpectedUnderscore', - data: formatReportData({ - originalName, - position, - }), - }); - return null; - } - break; - case UnderscoreOptions.require: - if (!hasUnderscore) { - context.report({ - node, - messageId: 'missingUnderscore', - data: formatReportData({ - originalName, - position, - }), - }); - return null; - } - } - return hasUnderscore ? trimUnderscore() : name; - } - /** - * @returns the name with the affix removed, if it is valid according to the specified affix option, null otherwise - */ - function validateAffix(position, config, name, node, originalName) { - const affixes = config[position]; - if (!affixes || affixes.length === 0) { - return name; - } - for (const affix of affixes) { - const hasAffix = position === 'prefix' ? name.startsWith(affix) : name.endsWith(affix); - const trimAffix = position === 'prefix' - ? () => name.slice(affix.length) - : () => name.slice(0, -affix.length); - if (hasAffix) { - // matches, so trim it and return - return trimAffix(); - } - } - context.report({ - node, - messageId: 'missingAffix', - data: formatReportData({ - originalName, - position, - affixes, - }), - }); - return null; - } - /** - * @returns true if the name is valid according to the `regex` option, false otherwise - */ - function validateCustom(config, name, node, originalName) { - const custom = config.custom; - if (!custom) { - return true; - } - const result = custom.regex.test(name); - if (custom.match && result) { - return true; - } - if (!custom.match && !result) { - return true; - } - context.report({ - node, - messageId: 'satisfyCustom', - data: formatReportData({ - originalName, - custom, - }), - }); - return false; - } - /** - * @returns true if the name is valid according to the `format` option, false otherwise - */ - function validatePredefinedFormat(config, name, node, originalName) { - const formats = config.format; - if (formats === null || formats.length === 0) { - return true; - } - for (const format of formats) { - const checker = PredefinedFormatToCheckFunction[format]; - if (checker(name)) { - return true; - } - } - context.report({ - node, - messageId: originalName === name - ? 'doesNotMatchFormat' - : 'doesNotMatchFormatTrimmed', - data: formatReportData({ - originalName, - processedName: name, - formats, - }), - }); - return false; - } -} -// #region Predefined Format Functions -/* -These format functions are taken from `tslint-consistent-codestyle/naming-convention`: -https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/rules/namingConventionRule.ts#L603-L645 - -The licence for the code can be viewed here: -https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/LICENSE -*/ -/* -Why not regex here? Because it's actually really, really difficult to create a regex to handle -all of the unicode cases, and we have many non-english users that use non-english characters. -https://gist.github.com/mathiasbynens/6334847 -*/ -function isPascalCase(name) { - return (name.length === 0 || - (name[0] === name[0].toUpperCase() && !name.includes('_'))); -} -function isStrictPascalCase(name) { - return (name.length === 0 || - (name[0] === name[0].toUpperCase() && hasStrictCamelHumps(name, true))); -} -function isCamelCase(name) { - return (name.length === 0 || - (name[0] === name[0].toLowerCase() && !name.includes('_'))); -} -function isStrictCamelCase(name) { - return (name.length === 0 || - (name[0] === name[0].toLowerCase() && hasStrictCamelHumps(name, false))); -} -function hasStrictCamelHumps(name, isUpper) { - function isUppercaseChar(char) { - return char === char.toUpperCase() && char !== char.toLowerCase(); - } - if (name.startsWith('_')) { - return false; - } - for (let i = 1; i < name.length; ++i) { - if (name[i] === '_') { - return false; - } - if (isUpper === isUppercaseChar(name[i])) { - if (isUpper) { - return false; - } - } - else { - isUpper = !isUpper; - } - } - return true; -} -function isSnakeCase(name) { - return (name.length === 0 || - (name === name.toLowerCase() && validateUnderscores(name))); -} -function isUpperCase(name) { - return (name.length === 0 || - (name === name.toUpperCase() && validateUnderscores(name))); -} -/** Check for leading trailing and adjacent underscores */ -function validateUnderscores(name) { - if (name.startsWith('_')) { - return false; - } - let wasUnderscore = false; - for (let i = 1; i < name.length; ++i) { - if (name[i] === '_') { - if (wasUnderscore) { - return false; - } - wasUnderscore = true; - } - else { - wasUnderscore = false; - } - } - return !wasUnderscore; -} -const PredefinedFormatToCheckFunction = { - [PredefinedFormats.PascalCase]: isPascalCase, - [PredefinedFormats.StrictPascalCase]: isStrictPascalCase, - [PredefinedFormats.camelCase]: isCamelCase, - [PredefinedFormats.strictCamelCase]: isStrictCamelCase, - [PredefinedFormats.UPPER_CASE]: isUpperCase, - [PredefinedFormats.snake_case]: isSnakeCase, -}; -// #endregion Predefined Format Functions -function selectorTypeToMessageString(selectorType) { - const notCamelCase = selectorType.replace(/([A-Z])/g, ' $1'); - return notCamelCase.charAt(0).toUpperCase() + notCamelCase.slice(1); -} -exports.selectorTypeToMessageString = selectorTypeToMessageString; -function isMetaSelector(selector) { - return selector in MetaSelectors; -} -function normalizeOption(option) { - var _a, _b, _c, _d, _e, _f; - let weight = 0; - (_a = option.modifiers) === null || _a === void 0 ? void 0 : _a.forEach(mod => { - weight |= Modifiers[mod]; - }); - (_b = option.types) === null || _b === void 0 ? void 0 : _b.forEach(mod => { - weight |= TypeModifiers[mod]; - }); - // give selectors with a filter the _highest_ priority - if (option.filter) { - weight |= 1 << 30; - } - const normalizedOption = { - // format options - format: option.format ? option.format.map(f => PredefinedFormats[f]) : null, - custom: option.custom - ? { - regex: new RegExp(option.custom.regex, 'u'), - match: option.custom.match, - } - : null, - leadingUnderscore: option.leadingUnderscore !== undefined - ? UnderscoreOptions[option.leadingUnderscore] - : null, - trailingUnderscore: option.trailingUnderscore !== undefined - ? UnderscoreOptions[option.trailingUnderscore] - : null, - prefix: option.prefix && option.prefix.length > 0 ? option.prefix : null, - suffix: option.suffix && option.suffix.length > 0 ? option.suffix : null, - modifiers: (_d = (_c = option.modifiers) === null || _c === void 0 ? void 0 : _c.map(m => Modifiers[m])) !== null && _d !== void 0 ? _d : null, - types: (_f = (_e = option.types) === null || _e === void 0 ? void 0 : _e.map(m => TypeModifiers[m])) !== null && _f !== void 0 ? _f : null, - filter: option.filter !== undefined - ? typeof option.filter === 'string' - ? { regex: new RegExp(option.filter, 'u'), match: true } - : { - regex: new RegExp(option.filter.regex, 'u'), - match: option.filter.match, - } - : null, - // calculated ordering weight based on modifiers - modifierWeight: weight, - }; - const selectors = Array.isArray(option.selector) - ? option.selector - : [option.selector]; - return Object.assign({ selector: selectors - .map(selector => isMetaSelector(selector) - ? MetaSelectors[selector] - : Selectors[selector]) - .reduce((accumulator, selector) => accumulator | selector) }, normalizedOption); -} -function isCorrectType(node, config, context) { - if (config.types === null) { +function isExported(node, name, scope) { + var _a, _b; + if (((_a = node === null || node === void 0 ? void 0 : node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration || + ((_b = node === null || node === void 0 ? void 0 : node.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.ExportNamedDeclaration) { return true; } - const { esTreeNodeToTSNodeMap, program } = util.getParserServices(context); - const checker = program.getTypeChecker(); - const tsNode = esTreeNodeToTSNodeMap.get(node); - const type = checker - .getTypeAtLocation(tsNode) - // remove null and undefined from the type, as we don't care about it here - .getNonNullableType(); - for (const allowedType of config.types) { - switch (allowedType) { - case TypeModifiers.array: - if (isAllTypesMatch(type, t => checker.isArrayType(t) || checker.isTupleType(t))) { - return true; - } - break; - case TypeModifiers.function: - if (isAllTypesMatch(type, t => t.getCallSignatures().length > 0)) { - return true; - } - break; - case TypeModifiers.boolean: - case TypeModifiers.number: - case TypeModifiers.string: { - const typeString = checker.typeToString( - // this will resolve things like true => boolean, 'a' => string and 1 => number - checker.getWidenedType(checker.getBaseTypeOfLiteralType(type))); - const allowedTypeString = TypeModifiers[allowedType]; - if (typeString === allowedTypeString) { - return true; - } - break; + if (scope == null) { + return false; + } + const variable = scope.set.get(name); + if (variable) { + for (const ref of variable.references) { + const refParent = ref.identifier.parent; + if ((refParent === null || refParent === void 0 ? void 0 : refParent.type) === experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration || + (refParent === null || refParent === void 0 ? void 0 : refParent.type) === experimental_utils_1.AST_NODE_TYPES.ExportSpecifier) { + return true; } } } return false; } -/** - * @returns `true` if the type (or all union types) in the given type return true for the callback - */ -function isAllTypesMatch(type, cb) { - if (type.isUnion()) { - return type.types.every(t => cb(t)); +function isGlobal(scope) { + if (scope == null) { + return false; } - return cb(type); + return (scope.type === experimental_utils_1.TSESLint.Scope.ScopeType.global || + scope.type === experimental_utils_1.TSESLint.Scope.ScopeType.module); +} +function requiresQuoting(node, target) { + const name = node.type === experimental_utils_1.AST_NODE_TYPES.Identifier ? node.name : `${node.value}`; + return util.requiresQuoting(name, target); } //# sourceMappingURL=naming-convention.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map index a146c3d33..7c478c971 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map @@ -1 +1 @@ -{"version":3,"file":"naming-convention.js","sourceRoot":"","sources":["../../src/rules/naming-convention.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"naming-convention.js","sourceRoot":"","sources":["../../src/rules/naming-convention.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map index 378fe4c7b..b1dfd37b8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map @@ -1 +1 @@ -{"version":3,"file":"no-base-to-string.js","sourceRoot":"","sources":["../../src/rules/no-base-to-string.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-base-to-string.js","sourceRoot":"","sources":["../../src/rules/no-base-to-string.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js new file mode 100644 index 000000000..9d31a5a4b --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js @@ -0,0 +1,268 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const tsutils = __importStar(require("tsutils")); +const ts = __importStar(require("typescript")); +const util = __importStar(require("../util")); +exports.default = util.createRule({ + name: 'no-confusing-void-expression', + meta: { + docs: { + description: 'Requires expressions of type void to appear in statement position', + category: 'Best Practices', + recommended: false, + requiresTypeChecking: true, + }, + messages: { + invalidVoidExpr: 'Placing a void expression inside another expression is forbidden. ' + + 'Move it to its own statement instead.', + invalidVoidExprWrapVoid: 'Void expressions used inside another expression ' + + 'must be moved to its own statement ' + + 'or marked explicitly with the `void` operator.', + invalidVoidExprArrow: 'Returning a void expression from an arrow function shorthand is forbidden. ' + + 'Please add braces to the arrow function.', + invalidVoidExprArrowWrapVoid: 'Void expressions returned from an arrow function shorthand ' + + 'must be marked explicitly with the `void` operator.', + invalidVoidExprReturn: 'Returning a void expression from a function is forbidden. ' + + 'Please move it before the `return` statement.', + invalidVoidExprReturnLast: 'Returning a void expression from a function is forbidden. ' + + 'Please remove the `return` statement.', + invalidVoidExprReturnWrapVoid: 'Void expressions returned from a function ' + + 'must be marked explicitly with the `void` operator.', + voidExprWrapVoid: 'Mark with an explicit `void` operator', + }, + schema: [ + { + type: 'object', + properties: { + ignoreArrowShorthand: { type: 'boolean' }, + ignoreVoidOperator: { type: 'boolean' }, + }, + additionalProperties: false, + }, + ], + type: 'problem', + fixable: 'code', + }, + defaultOptions: [{}], + create(context, [options]) { + return { + 'AwaitExpression, CallExpression, TaggedTemplateExpression'(node) { + const parserServices = util.getParserServices(context); + const checker = parserServices.program.getTypeChecker(); + const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); + const type = util.getConstrainedTypeAtLocation(checker, tsNode); + if (!tsutils.isTypeFlagSet(type, ts.TypeFlags.VoidLike)) { + // not a void expression + return; + } + const invalidAncestor = findInvalidAncestor(node); + if (invalidAncestor == null) { + // void expression is in valid position + return; + } + const sourceCode = context.getSourceCode(); + const wrapVoidFix = (fixer) => { + const nodeText = sourceCode.getText(node); + const newNodeText = `void ${nodeText}`; + return fixer.replaceText(node, newNodeText); + }; + if (invalidAncestor.type === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { + // handle arrow function shorthand + if (options.ignoreVoidOperator) { + // handle wrapping with `void` + return context.report({ + node, + messageId: 'invalidVoidExprArrowWrapVoid', + fix: wrapVoidFix, + }); + } + // handle wrapping with braces + const arrowFunction = invalidAncestor; + return context.report({ + node, + messageId: 'invalidVoidExprArrow', + fix(fixer) { + const arrowBody = arrowFunction.body; + const arrowBodyText = sourceCode.getText(arrowBody); + const newArrowBodyText = `{ ${arrowBodyText}; }`; + if (util.isParenthesized(arrowBody, sourceCode)) { + const bodyOpeningParen = sourceCode.getTokenBefore(arrowBody, util.isOpeningParenToken); + const bodyClosingParen = sourceCode.getTokenAfter(arrowBody, util.isClosingParenToken); + return fixer.replaceTextRange([bodyOpeningParen.range[0], bodyClosingParen.range[1]], newArrowBodyText); + } + return fixer.replaceText(arrowBody, newArrowBodyText); + }, + }); + } + if (invalidAncestor.type === experimental_utils_1.AST_NODE_TYPES.ReturnStatement) { + // handle return statement + if (options.ignoreVoidOperator) { + // handle wrapping with `void` + return context.report({ + node, + messageId: 'invalidVoidExprReturnWrapVoid', + fix: wrapVoidFix, + }); + } + const returnStmt = invalidAncestor; + if (isFinalReturn(returnStmt)) { + // remove the `return` keyword + return context.report({ + node, + messageId: 'invalidVoidExprReturnLast', + fix(fixer) { + const returnValue = returnStmt.argument; + const returnValueText = sourceCode.getText(returnValue); + let newReturnStmtText = `${returnValueText};`; + if (isPreventingASI(returnValue, sourceCode)) { + // put a semicolon at the beginning of the line + newReturnStmtText = `;${newReturnStmtText}`; + } + return fixer.replaceText(returnStmt, newReturnStmtText); + }, + }); + } + // move before the `return` keyword + return context.report({ + node, + messageId: 'invalidVoidExprReturn', + fix(fixer) { + var _a; + const returnValue = returnStmt.argument; + const returnValueText = sourceCode.getText(returnValue); + let newReturnStmtText = `${returnValueText}; return;`; + if (isPreventingASI(returnValue, sourceCode)) { + // put a semicolon at the beginning of the line + newReturnStmtText = `;${newReturnStmtText}`; + } + if (((_a = returnStmt.parent) === null || _a === void 0 ? void 0 : _a.type) !== experimental_utils_1.AST_NODE_TYPES.BlockStatement) { + // e.g. `if (cond) return console.error();` + // add braces if not inside a block + newReturnStmtText = `{ ${newReturnStmtText} }`; + } + return fixer.replaceText(returnStmt, newReturnStmtText); + }, + }); + } + // handle generic case + if (options.ignoreVoidOperator) { + // this would be reported by this rule btw. such irony + return context.report({ + node, + messageId: 'invalidVoidExprWrapVoid', + suggest: [{ messageId: 'voidExprWrapVoid', fix: wrapVoidFix }], + }); + } + context.report({ + node, + messageId: 'invalidVoidExpr', + }); + }, + }; + /** + * Inspects the void expression's ancestors and finds closest invalid one. + * By default anything other than an ExpressionStatement is invalid. + * Parent expressions which can be used for their short-circuiting behavior + * are ignored and their parents are checked instead. + * @param node The void expression node to check. + * @returns Invalid ancestor node if it was found. `null` otherwise. + */ + function findInvalidAncestor(node) { + const parent = util.nullThrows(node.parent, util.NullThrowsReasons.MissingParent); + if (parent.type === experimental_utils_1.AST_NODE_TYPES.ExpressionStatement) { + // e.g. `{ console.log("foo"); }` + // this is always valid + return null; + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.LogicalExpression) { + if (parent.right === node) { + // e.g. `x && console.log(x)` + // this is valid only if the next ancestor is valid + return findInvalidAncestor(parent); + } + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.ConditionalExpression) { + if (parent.consequent === node || parent.alternate === node) { + // e.g. `cond ? console.log(true) : console.log(false)` + // this is valid only if the next ancestor is valid + return findInvalidAncestor(parent); + } + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { + // e.g. `() => console.log("foo")` + // this is valid with an appropriate option + if (options.ignoreArrowShorthand) { + return null; + } + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.UnaryExpression) { + if (parent.operator === 'void') { + // e.g. `void console.log("foo")` + // this is valid with an appropriate option + if (options.ignoreVoidOperator) { + return null; + } + } + } + // any other parent is invalid + return parent; + } + /** Checks whether the return statement is the last statement in a function body. */ + function isFinalReturn(node) { + // the parent must be a block + const block = util.nullThrows(node.parent, util.NullThrowsReasons.MissingParent); + if (block.type !== experimental_utils_1.AST_NODE_TYPES.BlockStatement) { + // e.g. `if (cond) return;` (not in a block) + return false; + } + // the block's parent must be a function + const blockParent = util.nullThrows(block.parent, util.NullThrowsReasons.MissingParent); + if (![ + experimental_utils_1.AST_NODE_TYPES.FunctionDeclaration, + experimental_utils_1.AST_NODE_TYPES.FunctionExpression, + experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression, + ].includes(blockParent.type)) { + // e.g. `if (cond) { return; }` + // not in a top-level function block + return false; + } + // must be the last child of the block + if (block.body.indexOf(node) < block.body.length - 1) { + // not the last statement in the block + return false; + } + return true; + } + /** + * Checks whether the given node, if placed on its own line, + * would prevent automatic semicolon insertion on the line before. + * + * This happens if the line begins with `(`, `[` or `` ` `` + */ + function isPreventingASI(node, sourceCode) { + const startToken = util.nullThrows(sourceCode.getFirstToken(node), util.NullThrowsReasons.MissingToken('first token', node.type)); + return ['(', '[', '`'].includes(startToken.value); + } + }, +}); +//# sourceMappingURL=no-confusing-void-expression.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map new file mode 100644 index 000000000..f43c15c7b --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"no-confusing-void-expression.js","sourceRoot":"","sources":["../../src/rules/no-confusing-void-expression.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js new file mode 100644 index 000000000..fae271360 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js @@ -0,0 +1,126 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const no_duplicate_imports_1 = __importDefault(require("eslint/lib/rules/no-duplicate-imports")); +const util = __importStar(require("../util")); +exports.default = util.createRule({ + name: 'no-duplicate-imports', + meta: { + type: 'problem', + docs: { + description: 'Disallow duplicate imports', + category: 'Best Practices', + recommended: false, + extendsBaseRule: true, + }, + schema: no_duplicate_imports_1.default.meta.schema, + messages: Object.assign(Object.assign({}, no_duplicate_imports_1.default.meta.messages), { importType: '{{module}} type import is duplicated', importTypeAs: '{{module}} type import is duplicated as type export', exportType: '{{module}} type export is duplicated', exportTypeAs: '{{module}} type export is duplicated as type import' }), + }, + defaultOptions: [ + { + includeExports: false, + }, + ], + create(context, [option]) { + const rules = no_duplicate_imports_1.default.create(context); + const includeExports = option.includeExports; + const typeMemberImports = new Set(); + const typeDefaultImports = new Set(); + const typeExports = new Set(); + function report(messageId, node, module) { + context.report({ + messageId, + node, + data: { + module, + }, + }); + } + function isStringLiteral(node) { + return (!!node && + node.type === experimental_utils_1.AST_NODE_TYPES.Literal && + typeof node.value === 'string'); + } + function isAllMemberImport(node) { + return node.specifiers.every(specifier => specifier.type === experimental_utils_1.AST_NODE_TYPES.ImportSpecifier); + } + function checkTypeImport(node) { + if (isStringLiteral(node.source)) { + const value = node.source.value; + const isMemberImport = isAllMemberImport(node); + if (isMemberImport + ? typeMemberImports.has(value) + : typeDefaultImports.has(value)) { + report('importType', node, value); + } + if (includeExports && typeExports.has(value)) { + report('importTypeAs', node, value); + } + if (isMemberImport) { + typeMemberImports.add(value); + } + else { + typeDefaultImports.add(value); + } + } + } + function checkTypeExport(node) { + if (isStringLiteral(node.source)) { + const value = node.source.value; + if (typeExports.has(value)) { + report('exportType', node, value); + } + if (typeMemberImports.has(value) || typeDefaultImports.has(value)) { + report('exportTypeAs', node, value); + } + typeExports.add(value); + } + } + return Object.assign(Object.assign({}, rules), { ImportDeclaration(node) { + if (node.importKind === 'type') { + checkTypeImport(node); + return; + } + rules.ImportDeclaration(node); + }, + ExportNamedDeclaration(node) { + var _a; + if (includeExports && node.exportKind === 'type') { + checkTypeExport(node); + return; + } + (_a = rules.ExportNamedDeclaration) === null || _a === void 0 ? void 0 : _a.call(rules, node); + }, + ExportAllDeclaration(node) { + var _a; + if (includeExports && node.exportKind === 'type') { + checkTypeExport(node); + return; + } + (_a = rules.ExportAllDeclaration) === null || _a === void 0 ? void 0 : _a.call(rules, node); + } }); + }, +}); +//# sourceMappingURL=no-duplicate-imports.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js.map new file mode 100644 index 000000000..e34b908d8 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js.map @@ -0,0 +1 @@ +{"version":3,"file":"no-duplicate-imports.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-imports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map index e081d10c4..0fe7366e1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map @@ -1 +1 @@ -{"version":3,"file":"no-empty-function.js","sourceRoot":"","sources":["../../src/rules/no-empty-function.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,2FAA0D;AAC1D,8CAAgC;AAKhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAC3B,KAAK,CAAC,OAAO,CAAC,2BAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC,CAAC,2BAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,2BAAQ,CAAC,IAAI,CAAC,MAAM,EACxB;IACE,UAAU,EAAE;QACV,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,WAAW;oBACX,gBAAgB;oBAChB,oBAAoB;oBACpB,SAAS;oBACT,kBAAkB;oBAClB,SAAS;oBACT,SAAS;oBACT,cAAc;oBACd,sBAAsB;oBACtB,wBAAwB;oBACxB,gBAAgB;oBAChB,cAAc;oBACd,oBAAoB;iBACrB;aACF;SACF;KACF;CACF,CACF,CAAC;AAEF,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,QAAQ,EAAE,2BAAQ,CAAC,IAAI,CAAC,QAAQ;KACjC;IACD,cAAc,EAAE;QACd;YACE,KAAK,EAAE,EAAE;SACV;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,2BAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,8BAA8B,GAAG,KAAK,CAAC,QAAQ,CACnD,wBAAwB,CACzB,CAAC;QACF,MAAM,4BAA4B,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC5E,MAAM,2BAA2B,GAAG,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEzE;;;;;WAKG;QACH,SAAS,WAAW,CAClB,IAAgE;YAEhE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QACnD,CAAC;QAED;;;;;WAKG;QACH,SAAS,sBAAsB,CAC7B,IAAgE;;YAEhE,aAAO,IAAI,CAAC,MAAM,0CAAE,IAAI,CACtB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,EAC1D;QACJ,CAAC;QAED;;;;WAIG;QACH,SAAS,yBAAyB,CAChC,IAAgE;YAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IACE,WAAW,CAAC,IAAI,CAAC;gBACjB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,mCAAc,CAAC,gBAAgB;gBAChD,MAAM,CAAC,IAAI,KAAK,aAAa,EAC7B;gBACA,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;gBAEjC,OAAO;gBACL,+BAA+B;gBAC/B,CAAC,aAAa,KAAK,WAAW,IAAI,8BAA8B,CAAC;oBACjE,6BAA6B;oBAC7B,CAAC,aAAa,KAAK,SAAS,IAAI,4BAA4B,CAAC;oBAC7D,qDAAqD;oBACrD,sBAAsB,CAAC,IAAI,CAAC,CAC7B,CAAC;aACH;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED;;;;WAIG;QACH,SAAS,gCAAgC,CACvC,IAAgE;;YAEhE,IAAI,2BAA2B,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;gBACpD,MAAM,UAAU,GACd,OAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,gBAAgB;oBACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;oBACxB,CAAC,CAAC,SAAS,CAAC;gBAChB,OAAO,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;aAC5C;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uCACK,KAAK,KACR,kBAAkB,CAAC,IAAI;gBACrB,IACE,yBAAyB,CAAC,IAAI,CAAC;oBAC/B,gCAAgC,CAAC,IAAI,CAAC,EACtC;oBACA,OAAO;iBACR;gBAED,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE;oBAC1C,OAAO;iBACR;gBAED,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-empty-function.js","sourceRoot":"","sources":["../../src/rules/no-empty-function.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js index f64ee1478..e0835a12f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js @@ -76,7 +76,7 @@ exports.default = util.createRule({ experimental_utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, experimental_utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, experimental_utils_1.AST_NODE_TYPES.TSMethodSignature, - experimental_utils_1.AST_NODE_TYPES.TSDeclareFunction, + experimental_utils_1.AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown; ].includes(node.type); } /** diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map index d9f8f5466..28c9bcec1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map @@ -1 +1 @@ -{"version":3,"file":"no-explicit-any.js","sourceRoot":"","sources":["../../src/rules/no-explicit-any.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-explicit-any.js","sourceRoot":"","sources":["../../src/rules/no-explicit-any.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAWhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,IAAI;SACjB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,2CAA2C;YAC1D,cAAc,EACZ,kGAAkG;YACpG,YAAY,EACV,yHAAyH;SAC5H;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;qBAChB;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;QAChD;;;;;WAKG;QACH,SAAS,mBAAmB,CAAC,IAAmB;YAC9C,OAAO;gBACL,mCAAc,CAAC,uBAAuB;gBACtC,mCAAc,CAAC,mBAAmB;gBAClC,mCAAc,CAAC,kBAAkB;gBACjC,mCAAc,CAAC,6BAA6B;gBAC5C,mCAAc,CAAC,cAAc;gBAC7B,mCAAc,CAAC,iBAAiB;gBAChC,mCAAc,CAAC,0BAA0B;gBACzC,mCAAc,CAAC,+BAA+B;gBAC9C,mCAAc,CAAC,iBAAiB;gBAChC,mCAAc,CAAC,iBAAiB,EAAE,gDAAgD;aACnF,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED;;;;;WAKG;QACH,SAAS,2BAA2B,CAAC,IAAmB;YACtD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,WAAW;gBACxC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW;gBAClC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,4BAA4B,CAAC,IAAmB;YACvD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc;gBAC3C,IAAI,CAAC,QAAQ,KAAK,UAAU,CAC7B,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,+BAA+B,CAAC,IAAmB;YAC1D,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;gBAC5C,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW;gBACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;gBAChD,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,iBAAiB,CAAC,IAAmB;YAC5C,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC;gBAClC,+BAA+B,CAAC,IAAI,CAAC,CACtC,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,6BAA6B,CAAC,IAAmB;;YACxD,OAAO,CACL,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,MAAM,0CAAE,MAAM,KAAI,IAAI;gBACpC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CACvD,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,kCAAkC,CAAC,IAAmB;;YAC7D,OAAO,CACL,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,MAAM,0CAAE,MAAM,KAAI,IAAI;gBAC3C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,uCAAuC,CAC9C,IAAmB;YAEnB,OAAO,CACL,6BAA6B,CAAC,IAAI,CAAC;gBACnC,kCAAkC,CAAC,IAAI,CAAC,CACzC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,YAAY,CAAC,IAAI;gBACf,IAAI,cAAc,IAAI,uCAAuC,CAAC,IAAI,CAAC,EAAE;oBACnE,OAAO;iBACR;gBAED,MAAM,YAAY,GAGd;oBACF,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,gBAAgB;4BAC3B,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;4BAC5C,CAAC;yBACF;wBACD;4BACE,SAAS,EAAE,cAAc;4BACzB,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAC1C,CAAC;yBACF;qBACF;iBACF,CAAC;gBAEF,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAC1B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAA+B,CAAC;iBACrE;gBAED,OAAO,CAAC,MAAM,iBACZ,IAAI,EACJ,SAAS,EAAE,eAAe,IACvB,YAAY,EACf,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js index 9c0ac371d..0b1263755 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js @@ -48,7 +48,7 @@ exports.default = util.createRule({ } return { 'TSNonNullExpression > TSNonNullExpression': checkExtraNonNullAssertion, - 'MemberExpression[optional = true] > TSNonNullExpression': checkExtraNonNullAssertion, + 'MemberExpression[optional = true] > TSNonNullExpression.object': checkExtraNonNullAssertion, 'CallExpression[optional = true] > TSNonNullExpression.callee': checkExtraNonNullAssertion, }; }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map index ad93d3fe9..d7bd41beb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map @@ -1 +1 @@ -{"version":3,"file":"no-extra-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-extra-non-null-assertion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAEhC,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,OAAO;SACrB;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,uBAAuB,EAAE,qCAAqC;SAC/D;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,0BAA0B,CACjC,IAAkC;YAElC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,yBAAyB;gBACpC,GAAG,CAAC,KAAK;oBACP,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,2CAA2C,EAAE,0BAA0B;YACvE,yDAAyD,EAAE,0BAA0B;YACrF,8DAA8D,EAAE,0BAA0B;SAC3F,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-extra-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-extra-non-null-assertion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAEhC,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,OAAO;SACrB;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,uBAAuB,EAAE,qCAAqC;SAC/D;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,0BAA0B,CACjC,IAAkC;YAElC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,yBAAyB;gBACpC,GAAG,CAAC,KAAK;oBACP,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,2CAA2C,EAAE,0BAA0B;YACvE,gEAAgE,EAC9D,0BAA0B;YAC5B,8DAA8D,EAC5D,0BAA0B;SAC7B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js index 713be4ddd..0dbe52eb5 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js @@ -1,6 +1,6 @@ "use strict"; // any is required to work around manipulating the AST in weird ways -/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); @@ -67,8 +67,9 @@ exports.default = util.createRule({ // reduces the precedence of the node so the rule thinks it needs to be wrapped return rule(Object.assign(Object.assign({}, node), { callee: Object.assign(Object.assign({}, node.callee), { type: experimental_utils_1.AST_NODE_TYPES.SequenceExpression }) })); } - if (node.arguments.length === 1 && ((_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.TSParenthesizedType || - param.type === experimental_utils_1.AST_NODE_TYPES.TSImportType))) { + if (node.arguments.length === 1 && + ((_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.TSParenthesizedType || + param.type === experimental_utils_1.AST_NODE_TYPES.TSImportType))) { return rule(Object.assign(Object.assign({}, node), { arguments: [ Object.assign(Object.assign({}, node.arguments[0]), { type: experimental_utils_1.AST_NODE_TYPES.SequenceExpression }), ] })); @@ -111,13 +112,7 @@ exports.default = util.createRule({ return rules.ConditionalExpression(node); }, // DoWhileStatement - 'ForInStatement, ForOfStatement'(node) { - if (util.isTypeAssertion(node.right)) { - // makes the rule skip checking of the right - return rules['ForInStatement, ForOfStatement'](Object.assign(Object.assign({}, node), { type: experimental_utils_1.AST_NODE_TYPES.ForOfStatement, right: Object.assign(Object.assign({}, node.right), { type: experimental_utils_1.AST_NODE_TYPES.SequenceExpression }) })); - } - return rules['ForInStatement, ForOfStatement'](node); - }, + // ForIn and ForOf are guarded by eslint version ForStatement(node) { // make the rule skip the piece by removing it entirely if (node.init && util.isTypeAssertion(node.init)) { @@ -176,6 +171,32 @@ exports.default = util.createRule({ } }, }; + if (rules.ForInStatement && rules.ForOfStatement) { + overrides.ForInStatement = function (node) { + if (util.isTypeAssertion(node.right)) { + // as of 7.20.0 there's no way to skip checking the right of the ForIn + // so just don't validate it at all + return; + } + return rules.ForInStatement(node); + }; + overrides.ForOfStatement = function (node) { + if (util.isTypeAssertion(node.right)) { + // makes the rule skip checking of the right + return rules.ForOfStatement(Object.assign(Object.assign({}, node), { type: experimental_utils_1.AST_NODE_TYPES.ForOfStatement, right: Object.assign(Object.assign({}, node.right), { type: experimental_utils_1.AST_NODE_TYPES.SequenceExpression }) })); + } + return rules.ForOfStatement(node); + }; + } + else { + overrides['ForInStatement, ForOfStatement'] = function (node) { + if (util.isTypeAssertion(node.right)) { + // makes the rule skip checking of the right + return rules['ForInStatement, ForOfStatement'](Object.assign(Object.assign({}, node), { type: experimental_utils_1.AST_NODE_TYPES.ForOfStatement, right: Object.assign(Object.assign({}, node.right), { type: experimental_utils_1.AST_NODE_TYPES.SequenceExpression }) })); + } + return rules['ForInStatement, ForOfStatement'](node); + }; + } return Object.assign({}, rules, overrides); }, }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map index b3b7d7eac..26bb3a2a3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map @@ -1 +1 @@ -{"version":3,"file":"no-extra-parens.js","sourceRoot":"","sources":["../../src/rules/no-extra-parens.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-extra-parens.js","sourceRoot":"","sources":["../../src/rules/no-extra-parens.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js index 3e8136974..d7d9fedb0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js @@ -74,12 +74,12 @@ exports.default = util.createRule({ return { ClassBody(node) { const parent = node.parent; - if (!parent || parent.superClass) { + if (!parent || parent.superClass || isAllowWithDecorator(parent)) { return; } const reportNode = 'id' in parent && parent.id ? parent.id : parent; if (node.body.length === 0) { - if (allowEmpty || isAllowWithDecorator(parent)) { + if (allowEmpty) { return; } context.report({ diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map index 6865a15f3..423ee9c5e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map @@ -1 +1 @@ -{"version":3,"file":"no-extraneous-class.js","sourceRoot":"","sources":["../../src/rules/no-extraneous-class.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-extraneous-class.js","sourceRoot":"","sources":["../../src/rules/no-extraneous-class.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js index 38191bcb6..bb2cbde79 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js @@ -20,7 +20,6 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const tsutils = __importStar(require("tsutils")); -const ts = __importStar(require("typescript")); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const util = __importStar(require("../util")); exports.default = util.createRule({ @@ -63,11 +62,10 @@ exports.default = util.createRule({ const sourceCode = context.getSourceCode(); return { ExpressionStatement(node) { - const { expression } = parserServices.esTreeNodeToTSNodeMap.get(node); if (options.ignoreIIFE && isAsyncIife(node)) { return; } - if (isUnhandledPromise(checker, expression)) { + if (isUnhandledPromise(checker, node.expression)) { if (options.ignoreVoid) { context.report({ node, @@ -104,39 +102,39 @@ exports.default = util.createRule({ } function isUnhandledPromise(checker, node) { // First, check expressions whose resulting types may not be promise-like - if (ts.isBinaryExpression(node) && - node.operatorToken.kind === ts.SyntaxKind.CommaToken) { + if (node.type === experimental_utils_1.AST_NODE_TYPES.SequenceExpression) { // Any child in a comma expression could return a potentially unhandled // promise, so we check them all regardless of whether the final returned // value is promise-like. - return (isUnhandledPromise(checker, node.left) || - isUnhandledPromise(checker, node.right)); + return node.expressions.some(item => isUnhandledPromise(checker, item)); } - if (ts.isVoidExpression(node) && !options.ignoreVoid) { + if (!options.ignoreVoid && + node.type === experimental_utils_1.AST_NODE_TYPES.UnaryExpression && + node.operator === 'void') { // Similarly, a `void` expression always returns undefined, so we need to // see what's inside it without checking the type of the overall expression. - return isUnhandledPromise(checker, node.expression); + return isUnhandledPromise(checker, node.argument); } // Check the type. At this point it can't be unhandled if it isn't a promise - if (!isPromiseLike(checker, node)) { + if (!isPromiseLike(checker, parserServices.esTreeNodeToTSNodeMap.get(node))) { return false; } - if (ts.isCallExpression(node)) { + if (node.type === experimental_utils_1.AST_NODE_TYPES.CallExpression) { // If the outer expression is a call, it must be either a `.then()` or // `.catch()` that handles the promise. return (!isPromiseCatchCallWithHandler(node) && !isPromiseThenCallWithRejectionHandler(node) && !isPromiseFinallyCallWithHandler(node)); } - else if (ts.isConditionalExpression(node)) { + else if (node.type === experimental_utils_1.AST_NODE_TYPES.ConditionalExpression) { // We must be getting the promise-like value from one of the branches of the // ternary. Check them directly. - return (isUnhandledPromise(checker, node.whenFalse) || - isUnhandledPromise(checker, node.whenTrue)); + return (isUnhandledPromise(checker, node.alternate) || + isUnhandledPromise(checker, node.consequent)); } - else if (ts.isPropertyAccessExpression(node) || - ts.isIdentifier(node) || - ts.isNewExpression(node)) { + else if (node.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression || + node.type === experimental_utils_1.AST_NODE_TYPES.Identifier || + node.type === experimental_utils_1.AST_NODE_TYPES.NewExpression) { // If it is just a property access chain or a `new` call (e.g. `foo.bar` or // `new Promise()`), the promise is not handled because it doesn't have the // necessary then/catch call at the end of the chain. @@ -187,18 +185,21 @@ function isFunctionParam(checker, param, node) { return false; } function isPromiseCatchCallWithHandler(expression) { - return (tsutils.isPropertyAccessExpression(expression.expression) && - expression.expression.name.text === 'catch' && + return (expression.callee.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + expression.callee.property.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + expression.callee.property.name === 'catch' && expression.arguments.length >= 1); } function isPromiseThenCallWithRejectionHandler(expression) { - return (tsutils.isPropertyAccessExpression(expression.expression) && - expression.expression.name.text === 'then' && + return (expression.callee.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + expression.callee.property.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + expression.callee.property.name === 'then' && expression.arguments.length >= 2); } function isPromiseFinallyCallWithHandler(expression) { - return (tsutils.isPropertyAccessExpression(expression.expression) && - expression.expression.name.text === 'finally' && + return (expression.callee.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + expression.callee.property.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + expression.callee.property.name === 'finally' && expression.arguments.length >= 1); } //# sourceMappingURL=no-floating-promises.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map index d02528781..67462170f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map @@ -1 +1 @@ -{"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js index 8fbc30cc7..581ccdccd 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js @@ -38,6 +38,7 @@ exports.default = util.createRule({ description: 'Disallow the use of `eval()`-like methods', category: 'Best Practices', recommended: 'error', + extendsBaseRule: true, requiresTypeChecking: true, }, messages: { @@ -70,6 +71,7 @@ exports.default = util.createRule({ return null; } function isFunctionType(node) { + var _a; const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); const type = checker.getTypeAtLocation(tsNode); const symbol = type.getSymbol(); @@ -77,6 +79,15 @@ exports.default = util.createRule({ tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Function | ts.SymbolFlags.Method)) { return true; } + if (symbol && symbol.escapedName === FUNCTION_CONSTRUCTOR) { + const declarations = (_a = symbol.getDeclarations()) !== null && _a !== void 0 ? _a : []; + for (const declaration of declarations) { + const sourceFile = declaration.getSourceFile(); + if (program.isSourceFileDefaultLibrary(sourceFile)) { + return true; + } + } + } const signatures = checker.getSignaturesOfType(type, ts.SignatureKind.Call); return signatures.length > 0; } @@ -88,6 +99,7 @@ exports.default = util.createRule({ return true; case experimental_utils_1.AST_NODE_TYPES.MemberExpression: case experimental_utils_1.AST_NODE_TYPES.Identifier: + case experimental_utils_1.AST_NODE_TYPES.ConditionalExpression: return isFunctionType(node); case experimental_utils_1.AST_NODE_TYPES.CallExpression: return ((node.callee.type === experimental_utils_1.AST_NODE_TYPES.Identifier && diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map index f58a0f96b..d2f7f0235 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map @@ -1 +1 @@ -{"version":3,"file":"no-implied-eval.js","sourceRoot":"","sources":["../../src/rules/no-implied-eval.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-implied-eval.js","sourceRoot":"","sources":["../../src/rules/no-implied-eval.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,8EAG+C;AAC/C,iDAAmC;AACnC,8CAAgC;AAEhC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACtE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,cAAc;IACd,aAAa;IACb,YAAY;IACZ,YAAY;CACb,CAAC,CAAC;AAEH,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,4CAA4C;YAChE,qBAAqB,EACnB,wEAAwE;SAC3E;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAExD,SAAS,aAAa,CACpB,IAAqC;YAErC,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,EAAE;gBAC3C,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;YAED,IACE,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;gBAC9C,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACvC;gBACA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,EAAE;oBACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAC3B;gBAED,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO;oBAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EACvC;oBACA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;iBAC5B;aACF;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS,cAAc,CAAC,IAAmB;;YACzC,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,IACE,MAAM;gBACN,OAAO,CAAC,eAAe,CACrB,MAAM,EACN,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAChD,EACD;gBACA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,oBAAoB,EAAE;gBACzD,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,eAAe,EAAE,mCAAI,EAAE,CAAC;gBACpD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACtC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;oBAC/C,IAAI,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;wBAClD,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAC5C,IAAI,EACJ,EAAE,CAAC,aAAa,CAAC,IAAI,CACtB,CAAC;YAEF,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,SAAS,UAAU,CAAC,IAAmB;YACrC,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,mCAAc,CAAC,uBAAuB,CAAC;gBAC5C,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,kBAAkB;oBACpC,OAAO,IAAI,CAAC;gBAEd,KAAK,mCAAc,CAAC,gBAAgB,CAAC;gBACrC,KAAK,mCAAc,CAAC,UAAU,CAAC;gBAC/B,KAAK,mCAAc,CAAC,qBAAqB;oBACvC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;gBAE9B,KAAK,mCAAc,CAAC,cAAc;oBAChC,OAAO,CACL,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;wBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;wBAC9B,cAAc,CAAC,IAAI,CAAC,CACrB,CAAC;gBAEJ;oBACE,OAAO,KAAK,CAAC;aAChB;QACH,CAAC;QAED,SAAS,gBAAgB,CACvB,IAAsD;;YAEtD,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,UAAU,KAAK,IAAI,EAAE;gBACvB,OAAO;aACR;YAED,IAAI,UAAU,KAAK,oBAAoB,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,MAAM,EAAE;oBACV,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,eAAe,EAAE,mCAAI,EAAE,CAAC;oBACpD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;wBACtC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;wBAC/C,IAAI,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;4BAClD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;4BAC7D,OAAO;yBACR;qBACF;iBACF;qBAAM;oBACL,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;oBAC7D,OAAO;iBACR;aACF;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO;aACR;YAED,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC7D,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;aACpE;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE,gBAAgB;YAC/B,cAAc,EAAE,gBAAgB;SACjC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map index a31baf22c..ba9361106 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map @@ -1 +1 @@ -{"version":3,"file":"no-inferrable-types.js","sourceRoot":"","sources":["../../src/rules/no-inferrable-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-inferrable-types.js","sourceRoot":"","sources":["../../src/rules/no-inferrable-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js index bfa7ae2c9..499999370 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js @@ -12,7 +12,7 @@ exports.default = util_1.createRule({ meta: { type: 'suggestion', docs: { - description: 'disallow `this` keywords outside of classes or class-like objects', + description: 'Disallow `this` keywords outside of classes or class-like objects', category: 'Best Practices', recommended: false, extendsBaseRule: true, @@ -25,30 +25,50 @@ exports.default = util_1.createRule({ defaultOptions: [{ capIsConstructor: true }], create(context) { const rules = no_invalid_this_1.default.create(context); - const argList = []; - return Object.assign(Object.assign({}, rules), { FunctionDeclaration(node) { - argList.push(node.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); + /** + * Since function definitions can be nested we use a stack storing if "this" is valid in the current context. + * + * Example: + * + * function a(this: number) { // valid "this" + * function b() { + * console.log(this); // invalid "this" + * } + * } + * + * When parsing the function declaration of "a" the stack will be: [true] + * When parsing the function declaration of "b" the stack will be: [true, false] + */ + const thisIsValidStack = []; + return Object.assign(Object.assign({}, rules), { ClassProperty() { + thisIsValidStack.push(true); + }, + 'ClassProperty:exit'() { + thisIsValidStack.pop(); + }, + FunctionDeclaration(node) { + thisIsValidStack.push(node.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); // baseRule's work rules.FunctionDeclaration(node); }, 'FunctionDeclaration:exit'(node) { - argList.pop(); + thisIsValidStack.pop(); // baseRule's work rules['FunctionDeclaration:exit'](node); }, FunctionExpression(node) { - argList.push(node.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); + thisIsValidStack.push(node.params.some(param => param.type === experimental_utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); // baseRule's work rules.FunctionExpression(node); }, 'FunctionExpression:exit'(node) { - argList.pop(); + thisIsValidStack.pop(); // baseRule's work rules['FunctionExpression:exit'](node); }, ThisExpression(node) { - const lastFnArg = argList[argList.length - 1]; - if (lastFnArg) { + const thisIsValidHere = thisIsValidStack[thisIsValidStack.length - 1]; + if (thisIsValidHere) { return; } // baseRule's work diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map index 1d60a4ee4..9e34fa207 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map @@ -1 +1 @@ -{"version":3,"file":"no-invalid-this.js","sourceRoot":"","sources":["../../src/rules/no-invalid-this.ts"],"names":[],"mappings":";;;;;;AAAA,8EAG+C;AAC/C,uFAAwD;AACxD,kCAIiB;AAKjB,kBAAe,iBAAU,CAAsB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,mEAAmE;YACrE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,QAAE,yBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,cAAc,EAAE,oBAAoB;SACrC;QACD,MAAM,EAAE,yBAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,yBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,uCACK,KAAK,KACR,mBAAmB,CAAC,IAAkC;gBACpD,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;gBACF,kBAAkB;gBAClB,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,0BAA0B,CAAC,IAAkC;gBAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,kBAAkB;gBAClB,KAAK,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,kBAAkB,CAAC,IAAiC;gBAClD,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;gBACF,kBAAkB;gBAClB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,yBAAyB,CAAC,IAAiC;gBACzD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,kBAAkB;gBAClB,KAAK,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,cAAc,CAAC,IAA6B;gBAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE9C,IAAI,SAAS,EAAE;oBACb,OAAO;iBACR;gBAED,kBAAkB;gBAClB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-invalid-this.js","sourceRoot":"","sources":["../../src/rules/no-invalid-this.ts"],"names":[],"mappings":";;;;;;AAAA,8EAG+C;AAC/C,uFAAwD;AACxD,kCAIiB;AAKjB,kBAAe,iBAAU,CAAsB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,mEAAmE;YACrE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE,MAAA,yBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,cAAc,EAAE,oBAAoB;SACrC;QACD,MAAM,EAAE,yBAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,yBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC;;;;;;;;;;;;;WAaG;QACH,MAAM,gBAAgB,GAAc,EAAE,CAAC;QAEvC,uCACK,KAAK,KACR,aAAa;gBACX,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,oBAAoB;gBAClB,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,mBAAmB,CAAC,IAAkC;gBACpD,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;gBACF,kBAAkB;gBAClB,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,0BAA0B,CAAC,IAAkC;gBAC3D,gBAAgB,CAAC,GAAG,EAAE,CAAC;gBACvB,kBAAkB;gBAClB,KAAK,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,kBAAkB,CAAC,IAAiC;gBAClD,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;gBACF,kBAAkB;gBAClB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,yBAAyB,CAAC,IAAiC;gBACzD,gBAAgB,CAAC,GAAG,EAAE,CAAC;gBACvB,kBAAkB;gBAClB,KAAK,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,cAAc,CAAC,IAA6B;gBAC1C,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEtE,IAAI,eAAe,EAAE;oBACnB,OAAO;iBACR;gBAED,kBAAkB;gBAClB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js index eff4c2bfe..e0eb740a4 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js @@ -34,6 +34,8 @@ exports.default = util.createRule({ invalidVoidForGeneric: '{{ generic }} may not have void as a type variable', invalidVoidNotReturnOrGeneric: 'void is only valid as a return type or generic type variable', invalidVoidNotReturn: 'void is only valid as a return type', + invalidVoidNotReturnOrThisParam: 'void is only valid as return type or type of `this` parameter', + invalidVoidNotReturnOrThisParamOrGeneric: 'void is only valid as a return type or generic type variable or the type of a `this` parameter', }, schema: [ { @@ -49,15 +51,20 @@ exports.default = util.createRule({ }, ], }, + allowAsThisParameter: { + type: 'boolean', + }, }, additionalProperties: false, }, ], }, - defaultOptions: [{ allowInGenericTypeArguments: true }], - create(context, [{ allowInGenericTypeArguments }]) { + defaultOptions: [ + { allowInGenericTypeArguments: true, allowAsThisParameter: false }, + ], + create(context, [{ allowInGenericTypeArguments, allowAsThisParameter }]) { const validParents = [ - experimental_utils_1.AST_NODE_TYPES.TSTypeAnnotation, + experimental_utils_1.AST_NODE_TYPES.TSTypeAnnotation, // ]; const invalidGrandParents = [ experimental_utils_1.AST_NODE_TYPES.TSPropertySignature, @@ -107,7 +114,9 @@ exports.default = util.createRule({ } if (!allowInGenericTypeArguments) { context.report({ - messageId: 'invalidVoidNotReturn', + messageId: allowAsThisParameter + ? 'invalidVoidNotReturnOrThisParam' + : 'invalidVoidNotReturn', node, }); } @@ -124,7 +133,8 @@ exports.default = util.createRule({ // allows any T<..., void, ...> here, checked by checkGenericTypeArgument (member.type === experimental_utils_1.AST_NODE_TYPES.TSTypeReference && ((_a = member.typeParameters) === null || _a === void 0 ? void 0 : _a.type) === - experimental_utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation && ((_b = member.typeParameters) === null || _b === void 0 ? void 0 : _b.params.map(param => param.type).includes(experimental_utils_1.AST_NODE_TYPES.TSVoidKeyword))); + experimental_utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation && + ((_b = member.typeParameters) === null || _b === void 0 ? void 0 : _b.params.map(param => param.type).includes(experimental_utils_1.AST_NODE_TYPES.TSVoidKeyword))); }); } return { @@ -145,15 +155,26 @@ exports.default = util.createRule({ isValidUnionType(node.parent)) { return; } + // this parameter is ok to be void. + if (allowAsThisParameter && + node.parent.type === experimental_utils_1.AST_NODE_TYPES.TSTypeAnnotation && + node.parent.parent.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + node.parent.parent.name === 'this') { + return; + } // default cases if (validParents.includes(node.parent.type) && !invalidGrandParents.includes(node.parent.parent.type)) { return; } context.report({ - messageId: allowInGenericTypeArguments - ? 'invalidVoidNotReturnOrGeneric' - : 'invalidVoidNotReturn', + messageId: allowInGenericTypeArguments && allowAsThisParameter + ? 'invalidVoidNotReturnOrThisParamOrGeneric' + : allowInGenericTypeArguments + ? 'invalidVoidNotReturnOrGeneric' + : allowAsThisParameter + ? 'invalidVoidNotReturnOrThisParam' + : 'invalidVoidNotReturn', node, }); }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map index ec011fc43..b87801365 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map @@ -1 +1 @@ -{"version":3,"file":"no-invalid-void-type.js","sourceRoot":"","sources":["../../src/rules/no-invalid-void-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-invalid-void-type.js","sourceRoot":"","sources":["../../src/rules/no-invalid-void-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map index 45c6496cd..6532ada16 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map @@ -1 +1 @@ -{"version":3,"file":"no-loop-func.js","sourceRoot":"","sources":["../../src/rules/no-loop-func.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-loop-func.js","sourceRoot":"","sources":["../../src/rules/no-loop-func.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js index 154caa182..c9db54bec 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js @@ -50,12 +50,12 @@ exports.default = util.createRule({ } // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const rules = baseRule.create(context); - function isSeperatedNumeric(node) { + function isSeparatedNumeric(node) { return typeof node.value === 'number' && node.raw.includes('_'); } return { Literal(node) { - rules.Literal(Object.assign(Object.assign({}, node), { raw: isSeperatedNumeric(node) ? node.raw.replace(/_/g, '') : node.raw })); + rules.Literal(Object.assign(Object.assign({}, node), { raw: isSeparatedNumeric(node) ? node.raw.replace(/_/g, '') : node.raw })); }, }; }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map index ad268ed9e..efba133a1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map @@ -1 +1 @@ -{"version":3,"file":"no-loss-of-precision.js","sourceRoot":"","sources":["../../src/rules/no-loss-of-precision.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAgC;AAEhC,MAAM,QAAQ,GAAG,CAAC,GAA2B,EAAE;IAC7C,IAAI;QACF,OAAO,OAAO,CAAC,uCAAuC,CAAC,CAAC;KACzD;IAAC,WAAM;QACN,0BAA0B;QAC1B,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC,EAAE,CAAC;AAKL,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,QAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,QAAQ,mCAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE;KAC/D;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,wBAAwB,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;SACH;QAED,4EAA4E;QAC5E,MAAM,KAAK,GAAG,QAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,SAAS,kBAAkB,CAAC,IAAsB;YAChD,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACL,OAAO,CAAC,IAAsB;gBAC5B,KAAK,CAAC,OAAO,iCACR,IAAI,KACP,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IACrE,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-loss-of-precision.js","sourceRoot":"","sources":["../../src/rules/no-loss-of-precision.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAgC;AAEhC,MAAM,QAAQ,GAAG,CAAC,GAA2B,EAAE;IAC7C,IAAI;QACF,OAAO,OAAO,CAAC,uCAAuC,CAAC,CAAC;KACzD;IAAC,WAAM;QACN,0BAA0B;QAC1B,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC,EAAE,CAAC;AAKL,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,QAAQ,mCAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE;KAC/D;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,wBAAwB,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;SACH;QAED,4EAA4E;QAC5E,MAAM,KAAK,GAAG,QAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,SAAS,kBAAkB,CAAC,IAAsB;YAChD,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACL,OAAO,CAAC,IAAsB;gBAC5B,KAAK,CAAC,OAAO,CAAC,gCACT,IAAI,KACP,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAC7D,CAAC,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map index 98542b9b7..2e566986e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map @@ -1 +1 @@ -{"version":3,"file":"no-magic-numbers.js","sourceRoot":"","sources":["../../src/rules/no-magic-numbers.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-magic-numbers.js","sourceRoot":"","sources":["../../src/rules/no-magic-numbers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js index 5c5b72fc3..9d652a935 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js @@ -19,6 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const tsutils = __importStar(require("tsutils")); const ts = __importStar(require("typescript")); const util = __importStar(require("../util")); @@ -59,20 +60,15 @@ exports.default = util.createRule({ create(context, [{ checksConditionals, checksVoidReturn }]) { const parserServices = util.getParserServices(context); const checker = parserServices.program.getTypeChecker(); + const checkedNodes = new Set(); const conditionalChecks = { ConditionalExpression: checkTestConditional, DoWhileStatement: checkTestConditional, ForStatement: checkTestConditional, IfStatement: checkTestConditional, - LogicalExpression(node) { - // We only check the lhs of a logical expression because the rhs might - // be the return value of a short circuit expression. - checkConditional(node.left); - }, - UnaryExpression(node) { - if (node.operator === '!') { - checkConditional(node.argument); - } + LogicalExpression: checkConditional, + 'UnaryExpression[operator="!"]'(node) { + checkConditional(node.argument, true); }, WhileStatement: checkTestConditional, }; @@ -82,10 +78,32 @@ exports.default = util.createRule({ }; function checkTestConditional(node) { if (node.test) { - checkConditional(node.test); + checkConditional(node.test, true); } } - function checkConditional(node) { + /** + * This function analyzes the type of a node and checks if it is a Promise in a boolean conditional. + * It uses recursion when checking nested logical operators. + * @param node The AST node to check. + * @param isTestExpr Whether the node is a descendant of a test expression. + */ + function checkConditional(node, isTestExpr = false) { + // prevent checking the same node multiple times + if (checkedNodes.has(node)) { + return; + } + checkedNodes.add(node); + if (node.type === experimental_utils_1.AST_NODE_TYPES.LogicalExpression) { + // ignore the left operand for nullish coalescing expressions not in a context of a test expression + if (node.operator !== '??' || isTestExpr) { + checkConditional(node.left, isTestExpr); + } + // we ignore the right operand when not in a context of a test expression + if (isTestExpr) { + checkConditional(node.right, isTestExpr); + } + return; + } const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); if (isAlwaysThenable(checker, tsNode)) { context.report({ diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map index ae2463602..052135c86 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map @@ -1 +1 @@ -{"version":3,"file":"no-misused-promises.js","sourceRoot":"","sources":["../../src/rules/no-misused-promises.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,iDAAmC;AACnC,+CAAiC;AAEjC,8CAAgC;AAShC,kBAAe,IAAI,CAAC,UAAU,CAAwC;IACpE,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;YACpB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EACR,yEAAyE;YAC3E,WAAW,EAAE,sDAAsD;SACpE;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,kBAAkB,EAAE;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF;QACD,IAAI,EAAE,SAAS;KAChB;IACD,cAAc,EAAE;QACd;YACE,kBAAkB,EAAE,IAAI;YACxB,gBAAgB,EAAE,IAAI;SACvB;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAExD,MAAM,iBAAiB,GAA0B;YAC/C,qBAAqB,EAAE,oBAAoB;YAC3C,gBAAgB,EAAE,oBAAoB;YACtC,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,oBAAoB;YACjC,iBAAiB,CAAC,IAAI;gBACpB,sEAAsE;gBACtE,qDAAqD;gBACrD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;oBACzB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACjC;YACH,CAAC;YACD,cAAc,EAAE,oBAAoB;SACrC,CAAC;QAEF,MAAM,gBAAgB,GAA0B;YAC9C,cAAc,EAAE,cAAc;YAC9B,aAAa,EAAE,cAAc;SAC9B,CAAC;QAEF,SAAS,oBAAoB,CAAC,IAE7B;YACC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;QACH,CAAC;QAED,SAAS,gBAAgB,CAAC,IAAyB;YACjD,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;gBACrC,OAAO,CAAC,MAAM,CAAC;oBACb,SAAS,EAAE,aAAa;oBACxB,IAAI;iBACL,CAAC,CAAC;aACJ;QACH,CAAC;QAED,SAAS,cAAc,CACrB,IAAsD;YAEtD,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;gBACzB,OAAO;aACR;YAED,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;gBACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC1B,SAAS;iBACV;gBAED,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,eAAe,CAAC,OAAO,EAAE,MAAuB,CAAC,EAAE;oBACrD,OAAO,CAAC,MAAM,CAAC;wBACb,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;iBACJ;aACF;QACH,CAAC;QAED,uCACK,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAC7C,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,wBAAwB;AACxB,SAAS,gBAAgB,CAAC,OAAuB,EAAE,IAAa;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE;QAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE7C,2EAA2E;QAC3E,SAAS;QACT,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,wEAAwE;QACxE,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YACtD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;gBACnD,IACE,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;oBACjC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EACvD;oBACA,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM;iBACP;aACF;YAED,mEAAmE;YACnE,4CAA4C;YAC5C,IAAI,oBAAoB,EAAE;gBACxB,MAAM;aACP;SACF;QAED,yEAAyE;QACzE,8BAA8B;QAC9B,IAAI,CAAC,oBAAoB,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;KACF;IAED,4EAA4E;IAC5E,qCAAqC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,OAAuB,EACvB,KAAgB,EAChB,IAAa;IAEb,MAAM,IAAI,GAAwB,OAAO,CAAC,eAAe,CACvD,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC/C,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAClD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,yBAAyB;AACzB,SAAS,kBAAkB,CACzB,OAAuB,EACvB,IAA0C;IAE1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAClD,2EAA2E;QAC3E,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC7B,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;gBAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,yBAAyB,CAC5C,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBAClD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;wBACnD,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;wBAC7C,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BACxD,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;yBAC9B;6BAAM,IACL,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAC5D;4BACA,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;yBAClC;qBACF;iBACF;aACF;SACF;KACF;IAED,2EAA2E;IAC3E,wCAAwC;IACxC,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE;QAC5C,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACpC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,uEAAuE;AACvE,SAAS,eAAe,CACtB,OAAuB,EACvB,IAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAClD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;YACnD,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;gBACrD,OAAO,IAAI,CAAC;aACb;SACF;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file +{"version":3,"file":"no-misused-promises.js","sourceRoot":"","sources":["../../src/rules/no-misused-promises.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map index db4bd761b..ab30c4bd9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map @@ -1 +1 @@ -{"version":3,"file":"no-namespace.js","sourceRoot":"","sources":["../../src/rules/no-namespace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAUhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,8DAA8D;YAChE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;SACrB;QACD,QAAQ,EAAE;YACR,uBAAuB,EACrB,kFAAkF;SACrF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;qBAChB;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,KAAK;YACxB,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEvC,SAAS,aAAa,CAAC,IAAkC;;YACvD,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,IAAI;gBACrB,CAAC,OAAA,IAAI,CAAC,MAAO,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,mBAAmB;oBAC/D,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,yDAAyD,CACvD,IAAkC;gBAElC,IACE,CAAC,IAAI,CAAC,MAAM;oBACV,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,CAAC;oBAC1D,CAAC,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACzD,CAAC,iBAAiB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAC1C;oBACA,OAAO;iBACR;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,yBAAyB;iBACrC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-namespace.js","sourceRoot":"","sources":["../../src/rules/no-namespace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAUhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,8DAA8D;YAChE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;SACrB;QACD,QAAQ,EAAE;YACR,uBAAuB,EACrB,kFAAkF;SACrF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;qBAChB;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,KAAK;YACxB,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEvC,SAAS,aAAa,CAAC,IAAkC;;YACvD,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,IAAI;gBACrB,CAAC,CAAA,MAAA,IAAI,CAAC,MAAO,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,mBAAmB;oBAC/D,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,yDAAyD,CACvD,IAAkC;gBAElC,IACE,CAAC,IAAI,CAAC,MAAM;oBACV,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,CAAC;oBAC1D,CAAC,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACzD,CAAC,iBAAiB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAC1C;oBACA,OAAO;iBACR;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,yBAAyB;iBACrC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map index 4f1d31ddb..824449fb1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map @@ -1 +1 @@ -{"version":3,"file":"no-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-non-null-assertion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAIhC,kBAAe,IAAI,CAAC,UAAU,CAAiB;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,8DAA8D;YAChE,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,+BAA+B;YAC1C,oBAAoB,EAClB,mKAAmK;SACtK;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,mBAAmB,CAAC,IAAI;;gBACtB,MAAM,OAAO,GAA+C,EAAE,CAAC;gBAC/D,SAAS,sBAAsB,CAC7B,WAAuB;oBAEvB,OAAO,CAAC,KAAyB,EAA2B,EAAE;wBAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CACvC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,4BAA4B,CAClC,CAAC;wBACF,IAAI,QAAQ,EAAE;4BACZ,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;yBACjD;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC;gBACJ,CAAC;gBACD,SAAS,WAAW;oBAClB,OAAO,CAAC,KAAyB,EAA2B,EAAE;wBAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CACvC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,4BAA4B,CAClC,CAAC;wBACF,IAAI,QAAQ,EAAE;4BACZ,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yBAC/B;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC;gBACJ,CAAC;gBAED,IACE,OAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,gBAAgB;oBACrD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAC3B;oBACA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACzB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACxB,iBAAiB;4BACjB,OAAO,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC;6BAClC,CAAC,CAAC;yBACJ;6BAAM;4BACL,gBAAgB;4BAChB,OAAO,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,sBAAsB,CAAC,GAAG,CAAC;6BACjC,CAAC,CAAC;yBACJ;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACxB,kBAAkB;4BAClB,OAAO,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,WAAW,EAAE;6BACnB,CAAC,CAAC;yBACJ;6BAAM;4BACL,gBAAgB;4BAChB,OAAO,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,WAAW,EAAE;6BACnB,CAAC,CAAC;yBACJ;qBACF;iBACF;qBAAM,IACL,OAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,cAAc;oBACnD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAC3B;oBACA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACzB,kBAAkB;wBAClB,OAAO,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,sBAAsB;4BACjC,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC;yBAClC,CAAC,CAAC;qBACJ;yBAAM;wBACL,mBAAmB;wBACnB,OAAO,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,sBAAsB;4BACjC,GAAG,EAAE,WAAW,EAAE;yBACnB,CAAC,CAAC;qBACJ;iBACF;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,WAAW;oBACtB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-non-null-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js index ccea8a953..744ab8046 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js @@ -21,28 +21,6 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const util = __importStar(require("../util")); -// https://github.com/lodash/lodash/blob/86a852fe763935bb64c12589df5391fd7d3bb14d/escapeRegExp.js -const reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -const reHasRegExpChar = RegExp(reRegExpChar.source); -function escapeRegExp(str) { - return str && reHasRegExpChar.test(str) - ? str.replace(reRegExpChar, '\\$&') - : str || ''; -} -function getNameLocationInGlobalDirectiveComment(sourceCode, comment, name) { - const namePattern = new RegExp(`[\\s,]${escapeRegExp(name)}(?:$|[\\s,:])`, 'gu'); - // To ignore the first text "global". - namePattern.lastIndex = comment.value.indexOf('global') + 6; - // Search a given variable name. - const match = namePattern.exec(comment.value); - // Convert the index to loc. - const start = sourceCode.getLocFromIndex(comment.range[0] + '/*'.length + (match ? match.index + 1 : 0)); - const end = { - line: start.line, - column: start.column + (match ? name.length : 1), - }; - return { start, end }; -} exports.default = util.createRule({ name: 'no-redeclare', meta: { @@ -103,7 +81,7 @@ exports.default = util.createRule({ yield { type: 'comment', node: comment, - loc: getNameLocationInGlobalDirectiveComment(sourceCode, comment, variable.name), + loc: util.getNameLocationInGlobalDirectiveComment(sourceCode, comment, variable.name), }; } } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map index 38aac7aa9..30eb376a1 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map @@ -1 +1 @@ -{"version":3,"file":"no-redeclare.js","sourceRoot":"","sources":["../../src/rules/no-redeclare.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-redeclare.js","sourceRoot":"","sources":["../../src/rules/no-redeclare.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js index e70d5c17e..39a3dee92 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js @@ -20,6 +20,7 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const scope_manager_1 = require("@typescript-eslint/scope-manager"); const util = __importStar(require("../util")); exports.default = util.createRule({ name: 'no-shadow', @@ -71,6 +72,13 @@ exports.default = util.createRule({ }, ], create(context, [options]) { + /** + * Check if a scope is a TypeScript module augmenting the global namespace. + */ + function isGlobalAugmentation(scope) { + return ((scope.type === scope_manager_1.ScopeType.tsModule && !!scope.block.global) || + (!!scope.upper && isGlobalAugmentation(scope.upper))); + } /** * Check if variable is a `this` parameter. */ @@ -103,6 +111,62 @@ exports.default = util.createRule({ const id = variable.identifiers[0]; return util.isFunctionType(id.parent); } + function isGenericOfStaticMethod(variable) { + if (!('isTypeVariable' in variable)) { + // this shouldn't happen... + return false; + } + if (!variable.isTypeVariable) { + return false; + } + if (variable.identifiers.length === 0) { + return false; + } + const typeParameter = variable.identifiers[0].parent; + if ((typeParameter === null || typeParameter === void 0 ? void 0 : typeParameter.type) !== experimental_utils_1.AST_NODE_TYPES.TSTypeParameter) { + return false; + } + const typeParameterDecl = typeParameter.parent; + if ((typeParameterDecl === null || typeParameterDecl === void 0 ? void 0 : typeParameterDecl.type) !== experimental_utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration) { + return false; + } + const functionExpr = typeParameterDecl.parent; + if (!functionExpr || + (functionExpr.type !== experimental_utils_1.AST_NODE_TYPES.FunctionExpression && + functionExpr.type !== experimental_utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression)) { + return false; + } + const methodDefinition = functionExpr.parent; + if ((methodDefinition === null || methodDefinition === void 0 ? void 0 : methodDefinition.type) !== experimental_utils_1.AST_NODE_TYPES.MethodDefinition) { + return false; + } + return methodDefinition.static; + } + function isGenericOfClassDecl(variable) { + if (!('isTypeVariable' in variable)) { + // this shouldn't happen... + return false; + } + if (!variable.isTypeVariable) { + return false; + } + if (variable.identifiers.length === 0) { + return false; + } + const typeParameter = variable.identifiers[0].parent; + if ((typeParameter === null || typeParameter === void 0 ? void 0 : typeParameter.type) !== experimental_utils_1.AST_NODE_TYPES.TSTypeParameter) { + return false; + } + const typeParameterDecl = typeParameter.parent; + if ((typeParameterDecl === null || typeParameterDecl === void 0 ? void 0 : typeParameterDecl.type) !== experimental_utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration) { + return false; + } + const classDecl = typeParameterDecl.parent; + return (classDecl === null || classDecl === void 0 ? void 0 : classDecl.type) === experimental_utils_1.AST_NODE_TYPES.ClassDeclaration; + } + function isGenericOfAStaticMethodShadow(variable, shadowed) { + return (isGenericOfStaticMethod(variable) && isGenericOfClassDecl(shadowed)); + } /** * Check if variable name is allowed. * @param variable The variable to check. @@ -212,6 +276,10 @@ exports.default = util.createRule({ * @param {Scope} scope Fixme */ function checkForShadows(scope) { + // ignore global augmentation + if (isGlobalAugmentation(scope)) { + return; + } const variables = scope.variables; for (const variable of variables) { // ignore "arguments" @@ -247,6 +315,12 @@ exports.default = util.createRule({ if (isFunctionTypeParameterNameValueShadow(variable, shadowed)) { continue; } + // ignore static class method generic shadowing class generic + // this is impossible for the scope analyser to understand + // so we have to handle this manually in this rule + if (isGenericOfAStaticMethodShadow(variable, shadowed)) { + continue; + } const isESLintGlobal = 'writeable' in shadowed; if ((shadowed.identifiers.length > 0 || (options.builtinGlobals && isESLintGlobal)) && diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map index 188c17273..af2d331e8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map @@ -1 +1 @@ -{"version":3,"file":"no-shadow.js","sourceRoot":"","sources":["../../src/rules/no-shadow.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-shadow.js","sourceRoot":"","sources":["../../src/rules/no-shadow.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js index b11fa4b4d..445f067d0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js @@ -30,6 +30,7 @@ exports.default = util.createRule({ description: 'Disallow throwing literals as exceptions', category: 'Best Practices', recommended: false, + extendsBaseRule: true, requiresTypeChecking: true, }, schema: [], @@ -73,48 +74,21 @@ exports.default = util.createRule({ } return false; } - function tryGetThrowArgumentType(node) { - switch (node.type) { - case experimental_utils_1.AST_NODE_TYPES.Identifier: - case experimental_utils_1.AST_NODE_TYPES.CallExpression: - case experimental_utils_1.AST_NODE_TYPES.NewExpression: - case experimental_utils_1.AST_NODE_TYPES.MemberExpression: - case experimental_utils_1.AST_NODE_TYPES.TSAsExpression: { - const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); - return checker.getTypeAtLocation(tsNode); - } - case experimental_utils_1.AST_NODE_TYPES.AssignmentExpression: - return tryGetThrowArgumentType(node.right); - case experimental_utils_1.AST_NODE_TYPES.SequenceExpression: - return tryGetThrowArgumentType(node.expressions[node.expressions.length - 1]); - case experimental_utils_1.AST_NODE_TYPES.LogicalExpression: { - const left = tryGetThrowArgumentType(node.left); - return left !== null && left !== void 0 ? left : tryGetThrowArgumentType(node.right); - } - case experimental_utils_1.AST_NODE_TYPES.ConditionalExpression: { - const consequent = tryGetThrowArgumentType(node.consequent); - return consequent !== null && consequent !== void 0 ? consequent : tryGetThrowArgumentType(node.alternate); - } - default: - return null; - } - } function checkThrowArgument(node) { if (node.type === experimental_utils_1.AST_NODE_TYPES.AwaitExpression || node.type === experimental_utils_1.AST_NODE_TYPES.YieldExpression) { return; } - const type = tryGetThrowArgumentType(node); - if (type) { - if (type.flags & ts.TypeFlags.Undefined) { - context.report({ node, messageId: 'undef' }); - return; - } - if (util.isTypeAnyType(type) || - util.isTypeUnknownType(type) || - isErrorLike(type)) { - return; - } + const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); + const type = checker.getTypeAtLocation(tsNode); + if (type.flags & ts.TypeFlags.Undefined) { + context.report({ node, messageId: 'undef' }); + return; + } + if (util.isTypeAnyType(type) || + util.isTypeUnknownType(type) || + isErrorLike(type)) { + return; } context.report({ node, messageId: 'object' }); } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js.map index 86d94ff0a..542b5f602 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js.map @@ -1 +1 @@ -{"version":3,"file":"no-throw-literal.js","sourceRoot":"","sources":["../../src/rules/no-throw-literal.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-throw-literal.js","sourceRoot":"","sources":["../../src/rules/no-throw-literal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,8CAAgC;AAChC,8EAG+C;AAE/C,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,wCAAwC;YAChD,KAAK,EAAE,yBAAyB;SACjC;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzC,SAAS,WAAW,CAAC,IAAa;;YAChC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aACtC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,KAAK,CAAC;aACd;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,OAAO,EAAE;gBAChC,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,eAAe,EAAE,mCAAI,EAAE,CAAC;gBACpD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACtC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;oBAC/C,IAAI,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;wBAClD,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;YAED,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBACpE,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,IAAwB,CAAC,EAAE;oBACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;wBACzB,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,kBAAkB,CAAC,IAAmB;YAC7C,IACE,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;gBAC5C,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe,EAC5C;gBACA,OAAO;aACR;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;gBACvC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,OAAO;aACR;YAED,IACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC5B,WAAW,CAAC,IAAI,CAAC,EACjB;gBACA,OAAO;aACR;YAED,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAAI;gBACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACnC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js index 62b9398b4..85926abf3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js @@ -97,6 +97,7 @@ exports.default = util.createRule({ ]; const aliasTypes = new Set([ experimental_utils_1.AST_NODE_TYPES.TSArrayType, + experimental_utils_1.AST_NODE_TYPES.TSImportType, experimental_utils_1.AST_NODE_TYPES.TSTypeReference, experimental_utils_1.AST_NODE_TYPES.TSLiteralType, experimental_utils_1.AST_NODE_TYPES.TSTypeQuery, @@ -205,9 +206,10 @@ exports.default = util.createRule({ type.node.type.endsWith('Keyword') || aliasTypes.has(type.node.type) || (type.node.type === experimental_utils_1.AST_NODE_TYPES.TSTypeOperator && - type.node.operator === 'readonly' && - type.node.typeAnnotation && - aliasTypes.has(type.node.typeAnnotation.type))) { + (type.node.operator === 'keyof' || + (type.node.operator === 'readonly' && + type.node.typeAnnotation && + aliasTypes.has(type.node.typeAnnotation.type))))) { // alias / keyword checkAndReport(allowAliases, isTopLevel, type, 'Aliases'); } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map index ad5550808..4aeb7b559 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map @@ -1 +1 @@ -{"version":3,"file":"no-type-alias.js","sourceRoot":"","sources":["../../src/rules/no-type-alias.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-type-alias.js","sourceRoot":"","sources":["../../src/rules/no-type-alias.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js index 1ed42ea8c..1988f8cda 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js @@ -338,6 +338,10 @@ exports.default = util_1.createRule({ // Not a callable function return; } + // Predicate is always necessary if it involves `any` or `unknown` + if (returnTypes.some(t => util_1.isTypeAnyType(t) || util_1.isTypeUnknownType(t))) { + return; + } if (!returnTypes.some(isPossiblyFalsy)) { return context.report({ node: callback, @@ -376,7 +380,7 @@ exports.default = util_1.createRule({ return propertyType.types.some(type => isNullablePropertyType(objType, type)); } if (propertyType.isNumberLiteral() || propertyType.isStringLiteral()) { - const propType = checker.getTypeOfPropertyOfType(objType, propertyType.value.toString()); + const propType = util_1.getTypeOfPropertyOfName(checker, objType, propertyType.value.toString()); if (propType) { return util_1.isNullableType(propType, { allowUndefined: true }); } @@ -404,7 +408,7 @@ exports.default = util_1.createRule({ const propertyType = getNodeType(node.property); return isNullablePropertyType(type, propertyType); } - const propType = checker.getTypeOfPropertyOfType(type, property.name); + const propType = util_1.getTypeOfPropertyOfName(checker, type, property.name); return propType && util_1.isNullableType(propType, { allowUndefined: true }); }); return (!isOwnNullable && util_1.isNullableType(prevType, { allowUndefined: true })); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map index 0178403e3..57ab2546b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unnecessary-condition.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-condition.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unnecessary-condition.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-condition.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map index c516a4522..597f0f6ea 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unnecessary-qualifier.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-qualifier.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unnecessary-qualifier.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-qualifier.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js index d8fab6113..eba72f0f2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js @@ -95,7 +95,7 @@ function getTypeParametersFromType(type, checker) { if (!declarations) { return undefined; } - return util_1.findFirstResult(declarations, decl => tsutils.isClassLikeDeclaration(decl) || + return util_1.findFirstResult(declarations, decl => ts.isClassLike(decl) || ts.isTypeAliasDeclaration(decl) || ts.isInterfaceDeclaration(decl) ? decl.typeParameters diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map index c669509ac..fad81d59d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unnecessary-type-arguments.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-arguments.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unnecessary-type-arguments.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-arguments.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js index 249849fec..2ca6df3e4 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js @@ -125,6 +125,27 @@ exports.default = util.createRule({ } return { TSNonNullExpression(node) { + var _a; + if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.AssignmentExpression && + node.parent.operator === '=') { + if (node.parent.left === node) { + context.report({ + node, + messageId: 'contextuallyUnnecessary', + fix(fixer) { + return fixer.removeRange([ + node.expression.range[1], + node.range[1], + ]); + }, + }); + } + // for all other = assignments we ignore non-null checks + // this is because non-null assertions can change the type-flow of the code + // so whilst they might be unnecessary for the assignment - they are necessary + // for following code + return; + } const originalNode = parserServices.esTreeNodeToTSNodeMap.get(node); const type = util.getConstrainedTypeAtLocation(checker, originalNode.expression); if (!util.isNullableType(type)) { @@ -198,15 +219,19 @@ exports.default = util.createRule({ node, messageId: 'unnecessaryAssertion', fix(fixer) { - return originalNode.kind === ts.SyntaxKind.TypeAssertionExpression - ? fixer.removeRange([ - originalNode.getStart(), - originalNode.expression.getStart(), - ]) - : fixer.removeRange([ - originalNode.expression.end, - originalNode.end, - ]); + if (originalNode.kind === ts.SyntaxKind.TypeAssertionExpression) { + const closingAngleBracket = sourceCode.getTokenAfter(node.typeAnnotation); + return (closingAngleBracket === null || closingAngleBracket === void 0 ? void 0 : closingAngleBracket.value) === '>' + ? fixer.removeRange([ + node.range[0], + closingAngleBracket.range[1], + ]) + : null; + } + return fixer.removeRange([ + node.expression.range[1] + 1, + node.range[1], + ]); }, }); } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map index 31dfa14d7..99b0a2145 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unnecessary-type-assertion.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unnecessary-type-assertion.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js new file mode 100644 index 000000000..4c57743d9 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js @@ -0,0 +1,90 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const semver = __importStar(require("semver")); +const ts = __importStar(require("typescript")); +const util = __importStar(require("../util")); +const is3dot5 = semver.satisfies(ts.version, `>= 3.5.0 || >= 3.5.1-rc || >= 3.5.0-beta`, { + includePrerelease: true, +}); +const is3dot9 = is3dot5 && + semver.satisfies(ts.version, `>= 3.9.0 || >= 3.9.1-rc || >= 3.9.0-beta`, { + includePrerelease: true, + }); +exports.default = util.createRule({ + name: 'no-unnecessary-type-constraint', + meta: { + docs: { + category: 'Best Practices', + description: 'Disallows unnecessary constraints on generic types', + recommended: false, + suggestion: true, + }, + fixable: 'code', + messages: { + unnecessaryConstraint: 'Constraining the generic type `{{name}}` to `{{constraint}}` does nothing and is unnecessary.', + }, + schema: [], + type: 'suggestion', + }, + defaultOptions: [], + create(context) { + if (!is3dot5) { + return {}; + } + // In theory, we could use the type checker for more advanced constraint types... + // ...but in practice, these types are rare, and likely not worth requiring type info. + // https://github.com/typescript-eslint/typescript-eslint/pull/2516#discussion_r495731858 + const unnecessaryConstraints = is3dot9 + ? new Map([ + [experimental_utils_1.AST_NODE_TYPES.TSAnyKeyword, 'any'], + [experimental_utils_1.AST_NODE_TYPES.TSUnknownKeyword, 'unknown'], + ]) + : new Map([[experimental_utils_1.AST_NODE_TYPES.TSUnknownKeyword, 'unknown']]); + const inJsx = context.getFilename().toLowerCase().endsWith('tsx'); + const checkNode = (node, inArrowFunction) => { + const constraint = unnecessaryConstraints.get(node.constraint.type); + if (constraint) { + context.report({ + data: { + constraint, + name: node.name.name, + }, + fix(fixer) { + return fixer.replaceTextRange([node.name.range[1], node.constraint.range[1]], inArrowFunction && inJsx ? ',' : ''); + }, + messageId: 'unnecessaryConstraint', + node, + }); + } + }; + return { + ':not(ArrowFunctionExpression) > TSTypeParameterDeclaration > TSTypeParameter[constraint]'(node) { + checkNode(node, false); + }, + 'ArrowFunctionExpression > TSTypeParameterDeclaration > TSTypeParameter[constraint]'(node) { + checkNode(node, true); + }, + }; + }, +}); +//# sourceMappingURL=no-unnecessary-type-constraint.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map new file mode 100644 index 000000000..ed95f0bbf --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map @@ -0,0 +1 @@ +{"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,+CAAiC;AACjC,+CAAiC;AACjC,8CAAgC;AAUhC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAC9B,EAAE,CAAC,OAAO,EACV,0CAA0C,EAC1C;IACE,iBAAiB,EAAE,IAAI;CACxB,CACF,CAAC;AAEF,MAAM,OAAO,GACX,OAAO;IACP,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,0CAA0C,EAAE;QACvE,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;AAEL,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,oDAAoD;YACjE,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,IAAI;SACjB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,qBAAqB,EACnB,+FAA+F;SAClG;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,EAAE,CAAC;SACX;QAED,iFAAiF;QACjF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,sBAAsB,GAAG,OAAO;YACpC,CAAC,CAAC,IAAI,GAAG,CAAC;gBACN,CAAC,mCAAc,CAAC,YAAY,EAAE,KAAK,CAAC;gBACpC,CAAC,mCAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;aAC7C,CAAC;YACJ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,mCAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,CAChB,IAAiC,EACjC,eAAwB,EAClB,EAAE;YACR,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpE,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE;wBACJ,UAAU;wBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;qBACrB;oBACD,GAAG,CAAC,KAAK;wBACP,OAAO,KAAK,CAAC,gBAAgB,CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9C,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;oBACJ,CAAC;oBACD,SAAS,EAAE,uBAAuB;oBAClC,IAAI;iBACL,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,OAAO;YACL,0FAA0F,CACxF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,oFAAoF,CAClF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js new file mode 100644 index 000000000..0cb4cbf64 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js @@ -0,0 +1,227 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const ts = __importStar(require("typescript")); +const util = __importStar(require("../util")); +class FunctionSignature { + constructor(paramTypes, restType) { + this.paramTypes = paramTypes; + this.restType = restType; + this.parameterTypeIndex = 0; + this.hasConsumedArguments = false; + } + static create(checker, tsNode) { + var _a; + const signature = checker.getResolvedSignature(tsNode); + if (!signature) { + return null; + } + const paramTypes = []; + let restType = null; + const parameters = signature.getParameters(); + for (let i = 0; i < parameters.length; i += 1) { + const param = parameters[i]; + const type = checker.getTypeOfSymbolAtLocation(param, tsNode); + const decl = (_a = param.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0]; + if (decl && ts.isParameter(decl) && decl.dotDotDotToken) { + // is a rest param + if (checker.isArrayType(type)) { + restType = { + type: checker.getTypeArguments(type)[0], + kind: 0 /* Array */, + index: i, + }; + } + else if (checker.isTupleType(type)) { + restType = { + typeArguments: checker.getTypeArguments(type), + kind: 1 /* Tuple */, + index: i, + }; + } + else { + restType = { + type, + kind: 2 /* Other */, + index: i, + }; + } + break; + } + paramTypes.push(type); + } + return new this(paramTypes, restType); + } + getNextParameterType() { + const index = this.parameterTypeIndex; + this.parameterTypeIndex += 1; + if (index >= this.paramTypes.length || this.hasConsumedArguments) { + if (this.restType == null) { + return null; + } + switch (this.restType.kind) { + case 1 /* Tuple */: { + const typeArguments = this.restType.typeArguments; + if (this.hasConsumedArguments) { + // all types consumed by a rest - just assume it's the last type + // there is one edge case where this is wrong, but we ignore it because + // it's rare and really complicated to handle + // eg: function foo(...a: [number, ...string[], number]) + return typeArguments[typeArguments.length - 1]; + } + const typeIndex = index - this.restType.index; + if (typeIndex >= typeArguments.length) { + return typeArguments[typeArguments.length - 1]; + } + return typeArguments[typeIndex]; + } + case 0 /* Array */: + case 2 /* Other */: + return this.restType.type; + } + } + return this.paramTypes[index]; + } + consumeRemainingArguments() { + this.hasConsumedArguments = true; + } +} +exports.default = util.createRule({ + name: 'no-unsafe-argument', + meta: { + type: 'problem', + docs: { + description: 'Disallows calling an function with an any type value', + category: 'Possible Errors', + // TODO - enable this with next breaking + recommended: false, + requiresTypeChecking: true, + }, + messages: { + unsafeArgument: 'Unsafe argument of type `{{sender}}` assigned to a parameter of type `{{receiver}}`.', + unsafeTupleSpread: 'Unsafe spread of a tuple type. The {{index}} element is of type `{{sender}}` and is assigned to a parameter of type `{{reciever}}`.', + unsafeArraySpread: 'Unsafe spread of an `any` array type.', + unsafeSpread: 'Unsafe spread of an `any` type.', + }, + schema: [], + }, + defaultOptions: [], + create(context) { + const { program, esTreeNodeToTSNodeMap } = util.getParserServices(context); + const checker = program.getTypeChecker(); + return { + 'CallExpression, NewExpression'(node) { + if (node.arguments.length === 0) { + return; + } + // ignore any-typed calls as these are caught by no-unsafe-call + if (util.isTypeAnyType(checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(node.callee)))) { + return; + } + const tsNode = esTreeNodeToTSNodeMap.get(node); + const signature = FunctionSignature.create(checker, tsNode); + if (!signature) { + return; + } + for (let i = 0; i < node.arguments.length; i += 1) { + const argument = node.arguments[i]; + switch (argument.type) { + // spreads consume + case experimental_utils_1.AST_NODE_TYPES.SpreadElement: { + const spreadArgType = checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(argument.argument)); + if (util.isTypeAnyType(spreadArgType)) { + // foo(...any) + context.report({ + node: argument, + messageId: 'unsafeSpread', + }); + } + else if (util.isTypeAnyArrayType(spreadArgType, checker)) { + // foo(...any[]) + // TODO - we could break down the spread and compare the array type against each argument + context.report({ + node: argument, + messageId: 'unsafeArraySpread', + }); + } + else if (checker.isTupleType(spreadArgType)) { + // foo(...[tuple1, tuple2]) + const spreadTypeArguments = checker.getTypeArguments(spreadArgType); + for (let j = 0; j < spreadTypeArguments.length; j += 1) { + const tupleType = spreadTypeArguments[j]; + const parameterType = signature.getNextParameterType(); + if (parameterType == null) { + continue; + } + const result = util.isUnsafeAssignment(tupleType, parameterType, checker, + // we can't pass the individual tuple members in here as this will most likely be a spread variable + // not a spread array + null); + if (result) { + context.report({ + node: argument, + messageId: 'unsafeTupleSpread', + data: { + sender: checker.typeToString(tupleType), + receiver: checker.typeToString(parameterType), + }, + }); + } + } + if (spreadArgType.target.hasRestElement) { + // the last element was a rest - so all remaining defined arguments can be considered "consumed" + // all remaining arguments should be compared against the rest type (if one exists) + signature.consumeRemainingArguments(); + } + } + else { + // something that's iterable + // handling this will be pretty complex - so we ignore it for now + // TODO - handle generic iterable case + } + break; + } + default: { + const parameterType = signature.getNextParameterType(); + if (parameterType == null) { + continue; + } + const argumentType = checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(argument)); + const result = util.isUnsafeAssignment(argumentType, parameterType, checker, argument); + if (result) { + context.report({ + node: argument, + messageId: 'unsafeArgument', + data: { + sender: checker.typeToString(argumentType), + receiver: checker.typeToString(parameterType), + }, + }); + } + } + } + } + }, + }; + }, +}); +//# sourceMappingURL=no-unsafe-argument.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map new file mode 100644 index 000000000..9c7ae7de8 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map @@ -0,0 +1 @@ +{"version":3,"file":"no-unsafe-argument.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-argument.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js index 42b1f9c55..6a961f6eb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js @@ -20,7 +20,9 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const tsutils = __importStar(require("tsutils")); const util = __importStar(require("../util")); +const util_1 = require("../util"); exports.default = util.createRule({ name: 'no-unsafe-assignment', meta: { @@ -32,11 +34,15 @@ exports.default = util.createRule({ requiresTypeChecking: true, }, messages: { - anyAssignment: 'Unsafe assignment of an any value.', - unsafeArrayPattern: 'Unsafe array destructuring of an any array value.', - unsafeArrayPatternFromTuple: 'Unsafe array destructuring of a tuple element with an any value.', + anyAssignment: 'Unsafe assignment of an `any` value.', + anyAssignmentThis: [ + 'Unsafe assignment of an `any` value. `this` is typed as `any`.', + 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', + ].join('\n'), + unsafeArrayPattern: 'Unsafe array destructuring of an `any` array value.', + unsafeArrayPatternFromTuple: 'Unsafe array destructuring of a tuple element with an `any` value.', unsafeAssignment: 'Unsafe assignment of type {{sender}} to a variable of type {{receiver}}.', - unsafeArraySpread: 'Unsafe spread of an any value in an array.', + unsafeArraySpread: 'Unsafe spread of an `any` value in an array.', }, schema: [], }, @@ -44,6 +50,8 @@ exports.default = util.createRule({ create(context) { const { program, esTreeNodeToTSNodeMap } = util.getParserServices(context); const checker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); + const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); // returns true if the assignment reported function checkArrayDestructureHelper(receiverNode, senderNode) { if (receiverNode.type !== experimental_utils_1.AST_NODE_TYPES.ArrayPattern) { @@ -170,23 +178,33 @@ exports.default = util.createRule({ var _a; const receiverTsNode = esTreeNodeToTSNodeMap.get(receiverNode); const receiverType = comparisonType === 2 /* Contextual */ - ? (_a = util.getContextualType(checker, receiverTsNode)) !== null && _a !== void 0 ? _a : checker.getTypeAtLocation(receiverTsNode) : checker.getTypeAtLocation(receiverTsNode); + ? (_a = util.getContextualType(checker, receiverTsNode)) !== null && _a !== void 0 ? _a : checker.getTypeAtLocation(receiverTsNode) + : checker.getTypeAtLocation(receiverTsNode); const senderType = checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(senderNode)); if (util.isTypeAnyType(senderType)) { // handle cases when we assign any ==> unknown. if (util.isTypeUnknownType(receiverType)) { return false; } + let messageId = 'anyAssignment'; + if (!isNoImplicitThis) { + // `var foo = this` + const thisExpression = util_1.getThisExpression(senderNode); + if (thisExpression && + util.isTypeAnyType(util.getConstrainedTypeAtLocation(checker, esTreeNodeToTSNodeMap.get(thisExpression)))) { + messageId = 'anyAssignmentThis'; + } + } context.report({ node: reportingNode, - messageId: 'anyAssignment', + messageId, }); return true; } if (comparisonType === 0 /* None */) { return false; } - const result = util.isUnsafeAssignment(senderType, receiverType, checker); + const result = util.isUnsafeAssignment(senderType, receiverType, checker, senderNode); if (!result) { return false; } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map index 272d4ac33..1b1b1e1ed 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unsafe-assignment.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-assignment.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unsafe-assignment.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-assignment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js index b3d4b5d6c..70071d95c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js @@ -19,7 +19,9 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +const tsutils = __importStar(require("tsutils")); const util = __importStar(require("../util")); +const util_1 = require("../util"); exports.default = util.createRule({ name: 'no-unsafe-call', meta: { @@ -31,7 +33,11 @@ exports.default = util.createRule({ requiresTypeChecking: true, }, messages: { - unsafeCall: 'Unsafe call of an any typed value.', + unsafeCall: 'Unsafe call of an `any` typed value.', + unsafeCallThis: [ + 'Unsafe call of an `any` typed value. `this` is typed as `any`.', + 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', + ].join('\n'), unsafeNew: 'Unsafe construction of an any type value.', unsafeTemplateTag: 'Unsafe any typed template tag.', }, @@ -41,10 +47,20 @@ exports.default = util.createRule({ create(context) { const { program, esTreeNodeToTSNodeMap } = util.getParserServices(context); const checker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); + const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); function checkCall(node, reportingNode, messageId) { const tsNode = esTreeNodeToTSNodeMap.get(node); const type = util.getConstrainedTypeAtLocation(checker, tsNode); if (util.isTypeAnyType(type)) { + if (!isNoImplicitThis) { + // `this()` or `this.foo()` or `this.foo[bar]()` + const thisExpression = util_1.getThisExpression(node); + if (thisExpression && + util.isTypeAnyType(util.getConstrainedTypeAtLocation(checker, esTreeNodeToTSNodeMap.get(thisExpression)))) { + messageId = 'unsafeCallThis'; + } + } context.report({ node: reportingNode, messageId: messageId, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map index 2f8e7e8b3..1fea13aa2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unsafe-call.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAIhC,kBAAe,IAAI,CAAC,UAAU,CAAiB;IAC7C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,OAAO;YACpB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,oCAAoC;YAChD,SAAS,EAAE,2CAA2C;YACtD,iBAAiB,EAAE,gCAAgC;SACpD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzC,SAAS,SAAS,CAChB,IAAmB,EACnB,aAA4B,EAC5B,SAAqB;YAErB,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAC5B,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;aACJ;QACH,CAAC;QAED,OAAO;YACL,2BAA2B,CACzB,IAAuC;gBAEvC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;YACD,aAAa,CAAC,IAAI;gBAChB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;YACD,kCAAkC,CAAC,IAAmB;gBACpD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-unsafe-call.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,iDAAmC;AACnC,8CAAgC;AAChC,kCAA4C;AAQ5C,kBAAe,IAAI,CAAC,UAAU,CAAiB;IAC7C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,OAAO;YACpB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,sCAAsC;YAClD,cAAc,EAAE;gBACd,gEAAgE;gBAChE,2HAA2H;aAC5H,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,2CAA2C;YACtD,iBAAiB,EAAE,gCAAgC;SACpD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAC5D,eAAe,EACf,gBAAgB,CACjB,CAAC;QAEF,SAAS,SAAS,CAChB,IAAmB,EACnB,aAA4B,EAC5B,SAAqB;YAErB,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,gBAAgB,EAAE;oBACrB,gDAAgD;oBAChD,MAAM,cAAc,GAAG,wBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC/C,IACE,cAAc;wBACd,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,4BAA4B,CAC/B,OAAO,EACP,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAC1C,CACF,EACD;wBACA,SAAS,GAAG,gBAAgB,CAAC;qBAC9B;iBACF;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;aACJ;QACH,CAAC;QAED,OAAO;YACL,2BAA2B,CACzB,IAAuC;gBAEvC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;YACD,aAAa,CAAC,IAAI;gBAChB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;YACD,kCAAkC,CAAC,IAAmB;gBACpD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js index 21c6c3151..f169e6a04 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js @@ -20,7 +20,9 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const tsutils = __importStar(require("tsutils")); const util = __importStar(require("../util")); +const util_1 = require("../util"); exports.default = util.createRule({ name: 'no-unsafe-member-access', meta: { @@ -32,7 +34,11 @@ exports.default = util.createRule({ requiresTypeChecking: true, }, messages: { - unsafeMemberExpression: 'Unsafe member access {{property}} on an any value.', + unsafeMemberExpression: 'Unsafe member access {{property}} on an `any` value.', + unsafeThisMemberExpression: [ + 'Unsafe member access {{property}} on an `any` value. `this` is typed as `any`.', + 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', + ].join('\n'), unsafeComputedMemberAccess: 'Computed name {{property}} resolves to an any value.', }, schema: [], @@ -41,6 +47,8 @@ exports.default = util.createRule({ create(context) { const { program, esTreeNodeToTSNodeMap } = util.getParserServices(context); const checker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); + const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); const sourceCode = context.getSourceCode(); const stateCache = new Map(); function checkMemberExpression(node) { @@ -63,9 +71,18 @@ exports.default = util.createRule({ stateCache.set(node, state); if (state === 1 /* Unsafe */) { const propertyName = sourceCode.getText(node.property); + let messageId = 'unsafeMemberExpression'; + if (!isNoImplicitThis) { + // `this.foo` or `this.foo[bar]` + const thisExpression = util_1.getThisExpression(node); + if (thisExpression && + util.isTypeAnyType(util.getConstrainedTypeAtLocation(checker, esTreeNodeToTSNodeMap.get(thisExpression)))) { + messageId = 'unsafeThisMemberExpression'; + } + } context.report({ node, - messageId: 'unsafeMemberExpression', + messageId, data: { property: node.computed ? `[${propertyName}]` : `.${propertyName}`, }, @@ -74,7 +91,8 @@ exports.default = util.createRule({ return state; } return { - MemberExpression: checkMemberExpression, + // ignore MemberExpression if it's parent is TSClassImplements or TSInterfaceHeritage + ':not(TSClassImplements, TSInterfaceHeritage) > MemberExpression': checkMemberExpression, 'MemberExpression[computed = true] > *.property'(node) { if ( // x[1] diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map index 4a2df7a7e..5007b22a0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unsafe-member-access.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-member-access.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unsafe-member-access.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-member-access.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js index 50b809c8c..d47fa5962 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js @@ -20,8 +20,9 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); -const tsutils_1 = require("tsutils"); +const tsutils = __importStar(require("tsutils")); const util = __importStar(require("../util")); +const util_1 = require("../util"); exports.default = util.createRule({ name: 'no-unsafe-return', meta: { @@ -33,8 +34,12 @@ exports.default = util.createRule({ requiresTypeChecking: true, }, messages: { - unsafeReturn: 'Unsafe return of an {{type}} typed value', - unsafeReturnAssignment: 'Unsafe return of type {{sender}} from function with return type {{receiver}}.', + unsafeReturn: 'Unsafe return of an `{{type}}` typed value.', + unsafeReturnThis: [ + 'Unsafe return of an `{{type}}` typed value. `this` is typed as `any`.', + 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', + ].join('\n'), + unsafeReturnAssignment: 'Unsafe return of type `{{sender}}` from function with return type `{{receiver}}`.', }, schema: [], }, @@ -42,6 +47,8 @@ exports.default = util.createRule({ create(context) { const { program, esTreeNodeToTSNodeMap } = util.getParserServices(context); const checker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); + const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); function getParentFunctionNode(node) { let current = node.parent; while (current) { @@ -70,12 +77,21 @@ exports.default = util.createRule({ // so we have to use the contextual typing in these cases, i.e. // const foo1: () => Set = () => new Set(); // the return type of the arrow function is Set even though the variable is typed as Set - let functionType = tsutils_1.isExpression(functionTSNode) + let functionType = tsutils.isExpression(functionTSNode) ? util.getContextualType(checker, functionTSNode) : checker.getTypeAtLocation(functionTSNode); if (!functionType) { functionType = checker.getTypeAtLocation(functionTSNode); } + // If there is an explicit type annotation *and* that type matches the actual + // function return type, we shouldn't complain (it's intentional, even if unsafe) + if (functionTSNode.type) { + for (const signature of functionType.getCallSignatures()) { + if (returnNodeType === signature.getReturnType()) { + return; + } + } + } if (anyType !== 2 /* Safe */) { // Allow cases when the declared return type of the function is either unknown or unknown[] // and the function is returning any or any[]. @@ -90,10 +106,19 @@ exports.default = util.createRule({ return; } } + let messageId = 'unsafeReturn'; + if (!isNoImplicitThis) { + // `return this` + const thisExpression = util_1.getThisExpression(returnNode); + if (thisExpression && + util.isTypeAnyType(util.getConstrainedTypeAtLocation(checker, esTreeNodeToTSNodeMap.get(thisExpression)))) { + messageId = 'unsafeReturnThis'; + } + } // If the function return type was not unknown/unknown[], mark usage as unsafeReturn. return context.report({ node: reportingNode, - messageId: 'unsafeReturn', + messageId, data: { type: anyType === 0 /* Any */ ? 'any' : 'any[]', }, @@ -101,13 +126,7 @@ exports.default = util.createRule({ } for (const signature of functionType.getCallSignatures()) { const functionReturnType = signature.getReturnType(); - if (returnNodeType === functionReturnType) { - // don't bother checking if they're the same - // either the function is explicitly declared to return the same type - // or there was no declaration, so the return type is implicit - return; - } - const result = util.isUnsafeAssignment(returnNodeType, functionReturnType, checker); + const result = util.isUnsafeAssignment(returnNodeType, functionReturnType, checker, returnNode); if (!result) { return; } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map index e2f30ca0b..d22fe7d8c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unsafe-return.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-return.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unsafe-return.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-return.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map index d9fc64616..2d5fba810 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unused-expressions.js","sourceRoot":"","sources":["../../src/rules/no-unused-expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,mGAA8D;AAC9D,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,+BAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,QAAE,+BAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,gBAAgB,EACd,wEAAwE;SAC3E;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,OAAO;QACrB,MAAM,KAAK,GAAG,+BAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvE,SAAS,iBAAiB,CAAC,IAAmB;YAC5C,IAAI,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,iBAAiB,EAAE;gBACvE,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtC;YACD,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,qBAAqB,EAAE;gBACtE,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CACnC,CAAC;aACH;YACD,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc,CAAC;gBACzD,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAC9C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACxD,OAAO;iBACR;gBAED,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-unused-expressions.js","sourceRoot":"","sources":["../../src/rules/no-unused-expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,mGAA8D;AAC9D,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,+BAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,MAAA,+BAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,gBAAgB,EACd,wEAAwE;SAC3E;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,OAAO;QACrB,MAAM,KAAK,GAAG,+BAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvE,SAAS,iBAAiB,CAAC,IAAmB;YAC5C,IAAI,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,iBAAiB,EAAE;gBACvE,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtC;YACD,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,qBAAqB,EAAE;gBACtE,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CACnC,CAAC;aACH;YACD,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc,CAAC;gBACzD,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAC9C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACxD,OAAO;iBACR;gBAED,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js index fd0572215..b8dea0bfd 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js @@ -295,7 +295,7 @@ function isUnusedDiagnostic(code) { 6196, 6198, 6199, - 6205, + 6205, // All type parameters are unused. ].includes(code); } /** diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js.map index d5e15835d..18bf83b5d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars-experimental.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unused-vars-experimental.js","sourceRoot":"","sources":["../../src/rules/no-unused-vars-experimental.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unused-vars-experimental.js","sourceRoot":"","sources":["../../src/rules/no-unused-vars-experimental.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js index 6d4d3bc00..d7ee5246d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js @@ -18,14 +18,9 @@ var __importStar = (this && this.__importStar) || function (mod) { __setModuleDefault(result, mod); return result; }; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -var _a; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const no_unused_vars_1 = __importDefault(require("eslint/lib/rules/no-unused-vars")); const util = __importStar(require("../util")); exports.default = util.createRule({ name: 'no-unused-vars', @@ -37,149 +32,178 @@ exports.default = util.createRule({ recommended: 'warn', extendsBaseRule: true, }, - schema: no_unused_vars_1.default.meta.schema, - messages: (_a = no_unused_vars_1.default.meta.messages) !== null && _a !== void 0 ? _a : { + schema: [ + { + oneOf: [ + { + enum: ['all', 'local'], + }, + { + type: 'object', + properties: { + vars: { + enum: ['all', 'local'], + }, + varsIgnorePattern: { + type: 'string', + }, + args: { + enum: ['all', 'after-used', 'none'], + }, + ignoreRestSiblings: { + type: 'boolean', + }, + argsIgnorePattern: { + type: 'string', + }, + caughtErrors: { + enum: ['all', 'none'], + }, + caughtErrorsIgnorePattern: { + type: 'string', + }, + }, + additionalProperties: false, + }, + ], + }, + ], + messages: { unusedVar: "'{{varName}}' is {{action}} but never used{{additional}}.", }, }, defaultOptions: [{}], create(context) { - const rules = no_unused_vars_1.default.create(context); const filename = context.getFilename(); + const sourceCode = context.getSourceCode(); const MODULE_DECL_CACHE = new Map(); - /** - * Gets a list of TS module definitions for a specified variable. - * @param variable eslint-scope variable object. - */ - function getModuleNameDeclarations(variable) { - const moduleDeclarations = []; - variable.defs.forEach(def => { - if (def.type === 'TSModuleName') { - moduleDeclarations.push(def.node); + const options = (() => { + var _a, _b, _c, _d; + const options = { + vars: 'all', + args: 'after-used', + ignoreRestSiblings: false, + caughtErrors: 'none', + }; + const firstOption = context.options[0]; + if (firstOption) { + if (typeof firstOption === 'string') { + options.vars = firstOption; } - }); - return moduleDeclarations; - } - /** - * Determine if an identifier is referencing an enclosing name. - * This only applies to declarations that create their own scope (modules, functions, classes) - * @param ref The reference to check. - * @param nodes The candidate function nodes. - * @returns True if it's a self-reference, false if not. - */ - function isBlockSelfReference(ref, nodes) { - let scope = ref.from; - while (scope) { - if (nodes.indexOf(scope.block) >= 0) { - return true; + else { + options.vars = (_a = firstOption.vars) !== null && _a !== void 0 ? _a : options.vars; + options.args = (_b = firstOption.args) !== null && _b !== void 0 ? _b : options.args; + options.ignoreRestSiblings = + (_c = firstOption.ignoreRestSiblings) !== null && _c !== void 0 ? _c : options.ignoreRestSiblings; + options.caughtErrors = + (_d = firstOption.caughtErrors) !== null && _d !== void 0 ? _d : options.caughtErrors; + if (firstOption.varsIgnorePattern) { + options.varsIgnorePattern = new RegExp(firstOption.varsIgnorePattern, 'u'); + } + if (firstOption.argsIgnorePattern) { + options.argsIgnorePattern = new RegExp(firstOption.argsIgnorePattern, 'u'); + } + if (firstOption.caughtErrorsIgnorePattern) { + options.caughtErrorsIgnorePattern = new RegExp(firstOption.caughtErrorsIgnorePattern, 'u'); + } } - scope = scope.upper; } - return false; - } - function isExported(variable, target) { - // TS will require that all merged namespaces/interfaces are exported, so we only need to find one - return variable.defs.some(def => { - var _a, _b; - return def.node.type === target && - (((_a = def.node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.ExportNamedDeclaration || - ((_b = def.node.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration); - }); - } - return Object.assign(Object.assign({}, rules), { 'TSCallSignatureDeclaration, TSConstructorType, TSConstructSignatureDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature'(node) { - // function type signature params create variables because they can be referenced within the signature, - // but they obviously aren't unused variables for the purposes of this rule. - for (const param of node.params) { - visitPattern(param, name => { - context.markVariableAsUsed(name.name); + return options; + })(); + function collectUnusedVariables() { + var _a, _b, _c; + /** + * Determines if a variable has a sibling rest property + * @param variable eslint-scope variable object. + * @returns True if the variable is exported, false if not. + */ + function hasRestSpreadSibling(variable) { + if (options.ignoreRestSiblings) { + return variable.defs.some(def => { + const propertyNode = def.name.parent; + const patternNode = propertyNode.parent; + return (propertyNode.type === experimental_utils_1.AST_NODE_TYPES.Property && + patternNode.type === experimental_utils_1.AST_NODE_TYPES.ObjectPattern && + patternNode.properties[patternNode.properties.length - 1].type === + experimental_utils_1.AST_NODE_TYPES.RestElement); }); } - }, - TSEnumDeclaration() { - // enum members create variables because they can be referenced within the enum, - // but they obviously aren't unused variables for the purposes of this rule. - const scope = context.getScope(); - for (const variable of scope.variables) { - context.markVariableAsUsed(variable.name); + return false; + } + /** + * Checks whether the given variable is after the last used parameter. + * @param variable The variable to check. + * @returns `true` if the variable is defined after the last used parameter. + */ + function isAfterLastUsedArg(variable) { + const def = variable.defs[0]; + const params = context.getDeclaredVariables(def.node); + const posteriorParams = params.slice(params.indexOf(variable) + 1); + // If any used parameters occur after this parameter, do not report. + return !posteriorParams.some(v => v.references.length > 0 || v.eslintUsed); + } + const unusedVariablesOriginal = util.collectUnusedVariables(context); + const unusedVariablesReturn = []; + for (const variable of unusedVariablesOriginal) { + // explicit global variables don't have definitions. + if (variable.defs.length === 0) { + unusedVariablesReturn.push(variable); + continue; } - }, - TSMappedType(node) { - // mapped types create a variable for their type name, but it's not necessary to reference it, - // so we shouldn't consider it as unused for the purpose of this rule. - context.markVariableAsUsed(node.typeParameter.name.name); - }, - TSModuleDeclaration() { - const childScope = context.getScope(); - const scope = util.nullThrows(context.getScope().upper, util.NullThrowsReasons.MissingToken(childScope.type, 'upper scope')); - for (const variable of scope.variables) { - const moduleNodes = getModuleNameDeclarations(variable); - if (moduleNodes.length === 0 || - // ignore unreferenced module definitions, as the base rule will report on them - variable.references.length === 0 || - // ignore exported nodes - isExported(variable, experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration)) { + const def = variable.defs[0]; + if (variable.scope.type === experimental_utils_1.TSESLint.Scope.ScopeType.global && + options.vars === 'local') { + // skip variables in the global scope if configured to + continue; + } + // skip catch variables + if (def.type === experimental_utils_1.TSESLint.Scope.DefinitionType.CatchClause) { + if (options.caughtErrors === 'none') { continue; } - // check if the only reference to a module's name is a self-reference in its body - // this won't be caught by the base rule because it doesn't understand TS modules - const isOnlySelfReferenced = variable.references.every(ref => { - return isBlockSelfReference(ref, moduleNodes); - }); - if (isOnlySelfReferenced) { - context.report({ - node: variable.identifiers[0], - messageId: 'unusedVar', - data: { - varName: variable.name, - action: 'defined', - additional: '', - }, - }); + // skip ignored parameters + if ('name' in def.name && + ((_a = options.caughtErrorsIgnorePattern) === null || _a === void 0 ? void 0 : _a.test(def.name.name))) { + continue; } } - }, - [[ - 'TSParameterProperty > AssignmentPattern > Identifier.left', - 'TSParameterProperty > Identifier.parameter', - ].join(', ')](node) { - // just assume parameter properties are used as property usage tracking is beyond the scope of this rule - context.markVariableAsUsed(node.name); - }, - ':matches(FunctionDeclaration, FunctionExpression, ArrowFunctionExpression) > Identifier[name="this"].params'(node) { - // this parameters should always be considered used as they're pseudo-parameters - context.markVariableAsUsed(node.name); - }, - 'TSInterfaceDeclaration, TSTypeAliasDeclaration'(node) { - const variable = context.getScope().set.get(node.id.name); - if (!variable) { - return; - } - if (variable.references.length === 0 || - // ignore exported nodes - isExported(variable, node.type)) { - return; - } - // check if the type is only self-referenced - // this won't be caught by the base rule because it doesn't understand self-referencing types - const isOnlySelfReferenced = variable.references.every(ref => { - if (ref.identifier.range[0] >= node.range[0] && - ref.identifier.range[1] <= node.range[1]) { - return true; + if (def.type === experimental_utils_1.TSESLint.Scope.DefinitionType.Parameter) { + // if "args" option is "none", skip any parameter + if (options.args === 'none') { + continue; + } + // skip ignored parameters + if ('name' in def.name && + ((_b = options.argsIgnorePattern) === null || _b === void 0 ? void 0 : _b.test(def.name.name))) { + continue; + } + // if "args" option is "after-used", skip used variables + if (options.args === 'after-used' && + util.isFunction(def.name.parent) && + !isAfterLastUsedArg(variable)) { + continue; } - return false; - }); - if (isOnlySelfReferenced) { - context.report({ - node: variable.identifiers[0], - messageId: 'unusedVar', - data: { - varName: variable.name, - action: 'defined', - additional: '', - }, - }); } - }, + else { + // skip ignored variables + if ('name' in def.name && + ((_c = options.varsIgnorePattern) === null || _c === void 0 ? void 0 : _c.test(def.name.name))) { + continue; + } + } + if (hasRestSpreadSibling(variable)) { + continue; + } + // in case another rule has run and used the collectUnusedVariables, + // we want to ensure our selectors that marked variables as used are respected + if (variable.eslintUsed) { + continue; + } + unusedVariablesReturn.push(variable); + } + return unusedVariablesReturn; + } + return { // declaration file handling [ambientDeclarationSelector(experimental_utils_1.AST_NODE_TYPES.Program, true)](node) { if (!util.isDefinitionFile(filename)) { @@ -187,27 +211,130 @@ exports.default = util.createRule({ } markDeclarationChildAsUsed(node); }, + // module declaration in module declaration should not report unused vars error + // this is workaround as this change should be done in better way + 'TSModuleDeclaration > TSModuleDeclaration'(node) { + if (node.id.type === experimental_utils_1.AST_NODE_TYPES.Identifier) { + let scope = context.getScope(); + if (scope.upper) { + scope = scope.upper; + } + const superVar = scope.set.get(node.id.name); + if (superVar) { + superVar.eslintUsed = true; + } + } + }, + // children of a namespace that is a child of a declared namespace are auto-exported + [ambientDeclarationSelector('TSModuleDeclaration[declare = true] > TSModuleBlock TSModuleDeclaration > TSModuleBlock', false)](node) { + markDeclarationChildAsUsed(node); + }, // declared namespace handling [ambientDeclarationSelector('TSModuleDeclaration[declare = true] > TSModuleBlock', false)](node) { var _a; const moduleDecl = util.nullThrows((_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent, util.NullThrowsReasons.MissingParent); - // declared modules with an `export =` statement will only export that one thing + // declared ambient modules with an `export =` statement will only export that one thing // all other statements are not automatically exported in this case - if (checkModuleDeclForExportEquals(moduleDecl)) { + if (moduleDecl.id.type === experimental_utils_1.AST_NODE_TYPES.Literal && + checkModuleDeclForExportEquals(moduleDecl)) { return; } markDeclarationChildAsUsed(node); - } }); + }, + // collect + 'Program:exit'(programNode) { + /** + * Generates the message data about the variable being defined and unused, + * including the ignore pattern if configured. + * @param unusedVar eslint-scope variable object. + * @returns The message data to be used with this unused variable. + */ + function getDefinedMessageData(unusedVar) { + var _a; + const defType = (_a = unusedVar === null || unusedVar === void 0 ? void 0 : unusedVar.defs[0]) === null || _a === void 0 ? void 0 : _a.type; + let type; + let pattern; + if (defType === experimental_utils_1.TSESLint.Scope.DefinitionType.CatchClause && + options.caughtErrorsIgnorePattern) { + type = 'args'; + pattern = options.caughtErrorsIgnorePattern.toString(); + } + else if (defType === experimental_utils_1.TSESLint.Scope.DefinitionType.Parameter && + options.argsIgnorePattern) { + type = 'args'; + pattern = options.argsIgnorePattern.toString(); + } + else if (defType !== experimental_utils_1.TSESLint.Scope.DefinitionType.Parameter && + options.varsIgnorePattern) { + type = 'vars'; + pattern = options.varsIgnorePattern.toString(); + } + const additional = type + ? `. Allowed unused ${type} must match ${pattern}` + : ''; + return { + varName: unusedVar.name, + action: 'defined', + additional, + }; + } + /** + * Generate the warning message about the variable being + * assigned and unused, including the ignore pattern if configured. + * @param unusedVar eslint-scope variable object. + * @returns The message data to be used with this unused variable. + */ + function getAssignedMessageData(unusedVar) { + const additional = options.varsIgnorePattern + ? `. Allowed unused vars must match ${options.varsIgnorePattern.toString()}` + : ''; + return { + varName: unusedVar.name, + action: 'assigned a value', + additional, + }; + } + const unusedVars = collectUnusedVariables(); + for (let i = 0, l = unusedVars.length; i < l; ++i) { + const unusedVar = unusedVars[i]; + // Report the first declaration. + if (unusedVar.defs.length > 0) { + context.report({ + node: unusedVar.references.length + ? unusedVar.references[unusedVar.references.length - 1] + .identifier + : unusedVar.identifiers[0], + messageId: 'unusedVar', + data: unusedVar.references.some(ref => ref.isWrite()) + ? getAssignedMessageData(unusedVar) + : getDefinedMessageData(unusedVar), + }); + // If there are no regular declaration, report the first `/*globals*/` comment directive. + } + else if ('eslintExplicitGlobalComments' in unusedVar && + unusedVar.eslintExplicitGlobalComments) { + const directiveComment = unusedVar.eslintExplicitGlobalComments[0]; + context.report({ + node: programNode, + loc: util.getNameLocationInGlobalDirectiveComment(sourceCode, directiveComment, unusedVar.name), + messageId: 'unusedVar', + data: getDefinedMessageData(unusedVar), + }); + } + } + }, + }; function checkModuleDeclForExportEquals(node) { - var _a, _b; const cached = MODULE_DECL_CACHE.get(node); if (cached != null) { return cached; } - for (const statement of (_b = (_a = node.body) === null || _a === void 0 ? void 0 : _a.body) !== null && _b !== void 0 ? _b : []) { - if (statement.type === experimental_utils_1.AST_NODE_TYPES.TSExportAssignment) { - MODULE_DECL_CACHE.set(node, true); - return true; + if (node.body && node.body.type === experimental_utils_1.AST_NODE_TYPES.TSModuleBlock) { + for (const statement of node.body.body) { + if (statement.type === experimental_utils_1.AST_NODE_TYPES.TSExportAssignment) { + MODULE_DECL_CACHE.set(node, true); + return true; + } } } MODULE_DECL_CACHE.set(node, false); @@ -227,7 +354,7 @@ exports.default = util.createRule({ experimental_utils_1.AST_NODE_TYPES.TSEnumDeclaration, experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration, experimental_utils_1.AST_NODE_TYPES.VariableDeclaration, - ].join(', ')})${childDeclare ? '[declare=true]' : ''}`, + ].join(', ')})${childDeclare ? '[declare = true]' : ''}`, ].join(', '); } function markDeclarationChildAsUsed(node) { @@ -253,19 +380,21 @@ exports.default = util.createRule({ } break; } - const scope = context.getScope(); - const { variableScope } = scope; - if (variableScope !== scope) { - for (const id of identifiers) { - const superVar = variableScope.set.get(id.name); - if (superVar) { - superVar.eslintUsed = true; - } - } + let scope = context.getScope(); + const shouldUseUpperScope = [ + experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration, + experimental_utils_1.AST_NODE_TYPES.TSDeclareFunction, + ].includes(node.type); + if (scope.variableScope !== scope) { + scope = scope.variableScope; } - else { - for (const id of identifiers) { - context.markVariableAsUsed(id.name); + else if (shouldUseUpperScope && scope.upper) { + scope = scope.upper; + } + for (const id of identifiers) { + const superVar = scope.set.get(id.name); + if (superVar) { + superVar.eslintUsed = true; } } } @@ -309,6 +438,31 @@ function bar( // bar should be unused _arg: typeof bar ) {} + +--- if an interface is merged into a namespace --- +--- NOTE - TS gets these cases wrong + +namespace Test { + interface Foo { // Foo should be unused here + a: string; + } + export namespace Foo { + export type T = 'b'; + } +} +type T = Test.Foo; // Error: Namespace 'Test' has no exported member 'Foo'. + + +namespace Test { + export interface Foo { + a: string; + } + namespace Foo { // Foo should be unused here + export type T = 'b'; + } +} +type T = Test.Foo.T; // Error: Namespace 'Test' has no exported member 'Foo'. + */ /* diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map index 95f381532..73af5b4bf 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map @@ -1 +1 @@ -{"version":3,"file":"no-unused-vars.js","sourceRoot":"","sources":["../../src/rules/no-unused-vars.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-unused-vars.js","sourceRoot":"","sources":["../../src/rules/no-unused-vars.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAI+C;AAC/C,oEAAkE;AAClE,8CAAgC;AA2BhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN;gBACE,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;qBACvB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;6BACvB;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,QAAQ;6BACf;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC;6BACpC;4BACD,kBAAkB,EAAE;gCAClB,IAAI,EAAE,SAAS;6BAChB;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,QAAQ;6BACf;4BACD,YAAY,EAAE;gCACZ,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;6BACtB;4BACD,yBAAyB,EAAE;gCACzB,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,2DAA2D;SACvE;KACF;IACD,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,MAAM,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyC,CAAC;QAE3E,MAAM,OAAO,GAAG,CAAC,GAAsB,EAAE;;YACvC,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,YAAY;gBAClB,kBAAkB,EAAE,KAAK;gBACzB,YAAY,EAAE,MAAM;aACrB,CAAC;YAEF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,WAAW,EAAE;gBACf,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;oBACnC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;iBAC5B;qBAAM;oBACL,OAAO,CAAC,IAAI,GAAG,MAAA,WAAW,CAAC,IAAI,mCAAI,OAAO,CAAC,IAAI,CAAC;oBAChD,OAAO,CAAC,IAAI,GAAG,MAAA,WAAW,CAAC,IAAI,mCAAI,OAAO,CAAC,IAAI,CAAC;oBAChD,OAAO,CAAC,kBAAkB;wBACxB,MAAA,WAAW,CAAC,kBAAkB,mCAAI,OAAO,CAAC,kBAAkB,CAAC;oBAC/D,OAAO,CAAC,YAAY;wBAClB,MAAA,WAAW,CAAC,YAAY,mCAAI,OAAO,CAAC,YAAY,CAAC;oBAEnD,IAAI,WAAW,CAAC,iBAAiB,EAAE;wBACjC,OAAO,CAAC,iBAAiB,GAAG,IAAI,MAAM,CACpC,WAAW,CAAC,iBAAiB,EAC7B,GAAG,CACJ,CAAC;qBACH;oBAED,IAAI,WAAW,CAAC,iBAAiB,EAAE;wBACjC,OAAO,CAAC,iBAAiB,GAAG,IAAI,MAAM,CACpC,WAAW,CAAC,iBAAiB,EAC7B,GAAG,CACJ,CAAC;qBACH;oBAED,IAAI,WAAW,CAAC,yBAAyB,EAAE;wBACzC,OAAO,CAAC,yBAAyB,GAAG,IAAI,MAAM,CAC5C,WAAW,CAAC,yBAAyB,EACrC,GAAG,CACJ,CAAC;qBACH;iBACF;aACF;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;QAEL,SAAS,sBAAsB;;YAC7B;;;;eAIG;YACH,SAAS,oBAAoB,CAC3B,QAAiC;gBAEjC,IAAI,OAAO,CAAC,kBAAkB,EAAE;oBAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAC9B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,MAAO,CAAC;wBACtC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAO,CAAC;wBAEzC,OAAO,CACL,YAAY,CAAC,IAAI,KAAK,mCAAc,CAAC,QAAQ;4BAC7C,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,aAAa;4BACjD,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;gCAC5D,mCAAc,CAAC,WAAW,CAC7B,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED;;;;eAIG;YACH,SAAS,kBAAkB,CAAC,QAAiC;gBAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEnE,oEAAoE;gBACpE,OAAO,CAAC,eAAe,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAC7C,CAAC;YACJ,CAAC;YAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,qBAAqB,GAA8B,EAAE,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE;gBAC9C,oDAAoD;gBACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrC,SAAS;iBACV;gBACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE7B,IACE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,6BAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;oBACvD,OAAO,CAAC,IAAI,KAAK,OAAO,EACxB;oBACA,sDAAsD;oBACtD,SAAS;iBACV;gBAED,uBAAuB;gBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,6BAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE;oBAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;wBACnC,SAAS;qBACV;oBACD,0BAA0B;oBAC1B,IACE,MAAM,IAAI,GAAG,CAAC,IAAI;yBAClB,MAAA,OAAO,CAAC,yBAAyB,0CAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EACtD;wBACA,SAAS;qBACV;iBACF;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,6BAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;oBACxD,iDAAiD;oBACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;wBAC3B,SAAS;qBACV;oBACD,0BAA0B;oBAC1B,IACE,MAAM,IAAI,GAAG,CAAC,IAAI;yBAClB,MAAA,OAAO,CAAC,iBAAiB,0CAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAC9C;wBACA,SAAS;qBACV;oBACD,wDAAwD;oBACxD,IACE,OAAO,CAAC,IAAI,KAAK,YAAY;wBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;wBAChC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAC7B;wBACA,SAAS;qBACV;iBACF;qBAAM;oBACL,yBAAyB;oBACzB,IACE,MAAM,IAAI,GAAG,CAAC,IAAI;yBAClB,MAAA,OAAO,CAAC,iBAAiB,0CAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAC9C;wBACA,SAAS;qBACV;iBACF;gBAED,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE;oBAClC,SAAS;iBACV;gBAED,oEAAoE;gBACpE,8EAA8E;gBAC9E,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACvB,SAAS;iBACV;gBAED,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtC;YAED,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,4BAA4B;YAC5B,CAAC,0BAA0B,CAAC,mCAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACxD,IAA6B;gBAE7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;oBACpC,OAAO;iBACR;gBACD,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,+EAA+E;YAC/E,iEAAiE;YACjE,2CAA2C,CACzC,IAAkC;gBAElC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU,EAAE;oBAC9C,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,KAAK,EAAE;wBACf,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;qBACrB;oBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,QAAQ,EAAE;wBACZ,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC5B;iBACF;YACH,CAAC;YAED,oFAAoF;YACpF,CAAC,0BAA0B,CACzB,yFAAyF,EACzF,KAAK,CACN,CAAC,CAAC,IAA6B;gBAC9B,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,8BAA8B;YAC9B,CAAC,0BAA0B,CACzB,qDAAqD,EACrD,KAAK,CACN,CAAC,CAAC,IAA6B;;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAChC,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,EACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CACL,CAAC;gBAElC,wFAAwF;gBACxF,mEAAmE;gBACnE,IACE,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO;oBAC7C,8BAA8B,CAAC,UAAU,CAAC,EAC1C;oBACA,OAAO;iBACR;gBAED,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,UAAU;YACV,cAAc,CAAC,WAAW;gBACxB;;;;;mBAKG;gBACH,SAAS,qBAAqB,CAC5B,SAAkC;;oBAElC,MAAM,OAAO,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;oBACzC,IAAI,IAAI,CAAC;oBACT,IAAI,OAAO,CAAC;oBAEZ,IACE,OAAO,KAAK,6BAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW;wBACrD,OAAO,CAAC,yBAAyB,EACjC;wBACA,IAAI,GAAG,MAAM,CAAC;wBACd,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC;qBACxD;yBAAM,IACL,OAAO,KAAK,6BAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS;wBACnD,OAAO,CAAC,iBAAiB,EACzB;wBACA,IAAI,GAAG,MAAM,CAAC;wBACd,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;qBAChD;yBAAM,IACL,OAAO,KAAK,6BAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS;wBACnD,OAAO,CAAC,iBAAiB,EACzB;wBACA,IAAI,GAAG,MAAM,CAAC;wBACd,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;qBAChD;oBAED,MAAM,UAAU,GAAG,IAAI;wBACrB,CAAC,CAAC,oBAAoB,IAAI,eAAe,OAAO,EAAE;wBAClD,CAAC,CAAC,EAAE,CAAC;oBAEP,OAAO;wBACL,OAAO,EAAE,SAAS,CAAC,IAAI;wBACvB,MAAM,EAAE,SAAS;wBACjB,UAAU;qBACX,CAAC;gBACJ,CAAC;gBAED;;;;;mBAKG;gBACH,SAAS,sBAAsB,CAC7B,SAAkC;oBAElC,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB;wBAC1C,CAAC,CAAC,oCAAoC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE;wBAC5E,CAAC,CAAC,EAAE,CAAC;oBAEP,OAAO;wBACL,OAAO,EAAE,SAAS,CAAC,IAAI;wBACvB,MAAM,EAAE,kBAAkB;wBAC1B,UAAU;qBACX,CAAC;gBACJ,CAAC;gBAED,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;gBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBACjD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAEhC,gCAAgC;oBAChC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7B,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM;gCAC/B,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;qCAClD,UAAU;gCACf,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;4BAC5B,SAAS,EAAE,WAAW;4BACtB,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gCACnD,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC;gCACnC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC;yBACrC,CAAC,CAAC;wBAEH,yFAAyF;qBAC1F;yBAAM,IACL,8BAA8B,IAAI,SAAS;wBAC3C,SAAS,CAAC,4BAA4B,EACtC;wBACA,MAAM,gBAAgB,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAEnE,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,WAAW;4BACjB,GAAG,EAAE,IAAI,CAAC,uCAAuC,CAC/C,UAAU,EACV,gBAAgB,EAChB,SAAS,CAAC,IAAI,CACf;4BACD,SAAS,EAAE,WAAW;4BACtB,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;yBACvC,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;QAEF,SAAS,8BAA8B,CACrC,IAAkC;YAElC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,aAAa,EAAE;gBAChE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACtC,IAAI,SAAS,CAAC,IAAI,KAAK,mCAAc,CAAC,kBAAkB,EAAE;wBACxD,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAClC,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;YAED,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAWD,SAAS,0BAA0B,CACjC,MAAc,EACd,YAAqB;YAErB,OAAO;gBACL,+BAA+B;gBAC/B,GAAG,MAAM,eAAe;oBACtB,mCAAc,CAAC,sBAAsB;oBACrC,mCAAc,CAAC,sBAAsB;iBACtC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACf,6DAA6D;gBAC7D,GAAG,MAAM,eAAe;oBACtB,mCAAc,CAAC,gBAAgB;oBAC/B,mCAAc,CAAC,iBAAiB;oBAChC,mCAAc,CAAC,iBAAiB;oBAChC,mCAAc,CAAC,mBAAmB;oBAClC,mCAAc,CAAC,mBAAmB;iBACnC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;aACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,SAAS,0BAA0B,CAAC,IAA6B;;YAC/D,MAAM,WAAW,GAA0B,EAAE,CAAC;YAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,mCAAc,CAAC,sBAAsB,CAAC;gBAC3C,KAAK,mCAAc,CAAC,sBAAsB,CAAC;gBAC3C,KAAK,mCAAc,CAAC,gBAAgB,CAAC;gBACrC,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,mCAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,mCAAc,CAAC,mBAAmB;oBACrC,IAAI,CAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,IAAI,MAAK,mCAAc,CAAC,UAAU,EAAE;wBAC/C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBAC3B;oBACD,MAAM;gBAER,KAAK,mCAAc,CAAC,mBAAmB;oBACrC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;wBAC3C,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;4BAClC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;oBACD,MAAM;aACT;YAED,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,mBAAmB,GAAG;gBAC1B,mCAAc,CAAC,mBAAmB;gBAClC,mCAAc,CAAC,iBAAiB;aACjC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtB,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE;gBACjC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;aAC7B;iBAAM,IAAI,mBAAmB,IAAI,KAAK,CAAC,KAAK,EAAE;gBAC7C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;aACrB;YAED,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;iBAC5B;aACF;QACH,CAAC;QAED,SAAS,YAAY,CACnB,IAAmB,EACnB,EAAuC;YAEvC,MAAM,OAAO,GAAG,IAAI,8BAAc,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCE"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js index 64a01d1c2..8f2ef47c6 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js @@ -85,12 +85,57 @@ function isOuterVariable(variable, reference) { return (variable.defs[0].type === 'Variable' && variable.scope.variableScope !== reference.from.variableScope); } +/** + * Recursively checks whether or not a given reference has a type query declaration among it's parents + */ +function referenceContainsTypeQuery(node) { + switch (node.type) { + case experimental_utils_1.AST_NODE_TYPES.TSTypeQuery: + return true; + case experimental_utils_1.AST_NODE_TYPES.TSQualifiedName: + case experimental_utils_1.AST_NODE_TYPES.Identifier: + if (!node.parent) { + return false; + } + return referenceContainsTypeQuery(node.parent); + default: + // if we find a different node, there's no chance that we're in a TSTypeQuery + return false; + } +} +/** + * Checks whether or not a given reference is a type reference. + */ +function isTypeReference(reference) { + return (reference.isTypeReference || + referenceContainsTypeQuery(reference.identifier)); +} /** * Checks whether or not a given location is inside of the range of a given node. */ function isInRange(node, location) { return !!node && node.range[0] <= location && location <= node.range[1]; } +/** + * Decorators are transpiled such that the decorator is placed after the class declaration + * So it is considered safe + */ +function isClassRefInClassDecorator(variable, reference) { + if (variable.defs[0].type !== 'ClassName') { + return false; + } + if (!variable.defs[0].node.decorators || + variable.defs[0].node.decorators.length === 0) { + return false; + } + for (const deco of variable.defs[0].node.decorators) { + if (reference.identifier.range[0] >= deco.range[0] && + reference.identifier.range[1] <= deco.range[1]) { + return true; + } + } + return false; +} /** * Checks whether or not a given reference is inside of the initializers of a given variable. * @@ -186,7 +231,7 @@ exports.default = util.createRule({ * @param reference The reference to the variable */ function isForbidden(variable, reference) { - if (reference.isTypeReference && options.ignoreTypeReferences) { + if (options.ignoreTypeReferences && isTypeReference(reference)) { return false; } if (isFunction(variable)) { @@ -223,7 +268,9 @@ exports.default = util.createRule({ variable.identifiers.length === 0 || (variable.identifiers[0].range[1] <= reference.identifier.range[1] && !isInInitializer(variable, reference)) || - !isForbidden(variable, reference)) { + !isForbidden(variable, reference) || + isClassRefInClassDecorator(variable, reference) || + reference.from.type === experimental_utils_1.TSESLint.Scope.ScopeType.functionType) { return; } // Reports. diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map index 4cfeb2fe6..dba051216 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map @@ -1 +1 @@ -{"version":3,"file":"no-use-before-define.js","sourceRoot":"","sources":["../../src/rules/no-use-before-define.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"no-use-before-define.js","sourceRoot":"","sources":["../../src/rules/no-use-before-define.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map index 865009c38..e98978800 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map @@ -1 +1 @@ -{"version":3,"file":"no-useless-constructor.js","sourceRoot":"","sources":["../../src/rules/no-useless-constructor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,qGAA+D;AAC/D,8CAAgC;AAKhC;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAA+B;IACzD,QAAQ,IAAI,CAAC,aAAa,EAAE;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,IACE,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,SAAS;gBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClB,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAC7B;gBACA,OAAO,KAAK,CAAC;aACd;YACD,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAA+B;IAClD,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;QAClB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACrB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,CAC3D,CACF,CAAC;AACJ,CAAC;AAED,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,gCAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,QAAE,gCAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,oBAAoB,EAAE,sBAAsB;SAC7C;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,gCAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,kBAAkB;oBACrD,IAAI,CAAC,KAAK,CAAC,IAAI;oBACf,kBAAkB,CAAC,IAAI,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,EACjB;oBACA,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBAC9B;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-useless-constructor.js","sourceRoot":"","sources":["../../src/rules/no-useless-constructor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,qGAA+D;AAC/D,8CAAgC;AAKhC;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAA+B;IACzD,QAAQ,IAAI,CAAC,aAAa,EAAE;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,IACE,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,SAAS;gBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClB,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAC7B;gBACA,OAAO,KAAK,CAAC;aACd;YACD,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAA+B;IAClD,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;QAClB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACrB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,CAC3D,CACF,CAAC;AACJ,CAAC;AAED,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,gCAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,MAAA,gCAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,oBAAoB,EAAE,sBAAsB;SAC7C;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,gCAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,kBAAkB;oBACrD,IAAI,CAAC,KAAK,CAAC,IAAI;oBACf,kBAAkB,CAAC,IAAI,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,EACjB;oBACA,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBAC9B;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js index c042fe09a..8e066696b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js @@ -49,6 +49,7 @@ exports.default = util.createRule({ (parent.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator || parent.type === experimental_utils_1.AST_NODE_TYPES.CallExpression || parent.type === experimental_utils_1.AST_NODE_TYPES.TSAsExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.TSTypeAssertion || parent.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression)) { context.report({ node, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map index 3d9eefcbf..413653c14 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map @@ -1 +1 @@ -{"version":3,"file":"no-var-requires.js","sourceRoot":"","sources":["../../src/rules/no-var-requires.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,qEAAqE;YACvE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;SACrB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,iDAAiD;SAC7D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,cAAc,CAAC,IAA6B;;gBAC1C,MAAM,MAAM,GACV,OAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,eAAe;oBAClD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;oBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBAC9B,MAAM;oBACN,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,kBAAkB;wBAChD,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc;wBAC7C,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc;wBAC7C,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAAC,EAClD;oBACA,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,WAAW;qBACvB,CAAC,CAAC;iBACJ;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"no-var-requires.js","sourceRoot":"","sources":["../../src/rules/no-var-requires.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,qEAAqE;YACvE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;SACrB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,iDAAiD;SAC7D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,cAAc,CAAC,IAA6B;;gBAC1C,MAAM,MAAM,GACV,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,eAAe;oBAClD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;oBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBAC9B,MAAM;oBACN,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,kBAAkB;wBAChD,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc;wBAC7C,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc;wBAC7C,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;wBAC9C,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAAC,EAClD;oBACA,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,WAAW;qBACvB,CAAC,CAAC;iBACJ;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js new file mode 100644 index 000000000..03aa2dd76 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js @@ -0,0 +1,101 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const tsutils = __importStar(require("tsutils")); +const ts = __importStar(require("typescript")); +const util = __importStar(require("../util")); +exports.default = util.createRule({ + name: 'non-nullable-type-assertion-style', + meta: { + docs: { + category: 'Best Practices', + description: 'Prefers a non-null assertion over explicit type cast when possible', + recommended: false, + requiresTypeChecking: true, + suggestion: true, + }, + fixable: 'code', + messages: { + preferNonNullAssertion: 'Use a ! assertion to more succintly remove null and undefined from the type.', + }, + schema: [], + type: 'suggestion', + }, + defaultOptions: [], + create(context) { + const parserServices = util.getParserServices(context); + const checker = parserServices.program.getTypeChecker(); + const sourceCode = context.getSourceCode(); + const getTypesIfNotLoose = (node) => { + const type = checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node)); + if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { + return undefined; + } + return tsutils.unionTypeParts(type); + }; + const sameTypeWithoutNullish = (assertedTypes, originalTypes) => { + const nonNullishOriginalTypes = originalTypes.filter(type => type.flags !== ts.TypeFlags.Null && + type.flags !== ts.TypeFlags.Undefined); + for (const assertedType of assertedTypes) { + if (!nonNullishOriginalTypes.includes(assertedType)) { + return false; + } + } + for (const originalType of nonNullishOriginalTypes) { + if (!assertedTypes.includes(originalType)) { + return false; + } + } + return true; + }; + const isConstAssertion = (node) => { + return (node.typeAnnotation.type === experimental_utils_1.AST_NODE_TYPES.TSTypeReference && + node.typeAnnotation.typeName.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + node.typeAnnotation.typeName.name === 'const'); + }; + return { + 'TSAsExpression, TSTypeAssertion'(node) { + if (isConstAssertion(node)) { + return; + } + const originalTypes = getTypesIfNotLoose(node.expression); + if (!originalTypes) { + return; + } + const assertedTypes = getTypesIfNotLoose(node.typeAnnotation); + if (!assertedTypes) { + return; + } + if (sameTypeWithoutNullish(assertedTypes, originalTypes)) { + context.report({ + fix(fixer) { + return fixer.replaceText(node, `${sourceCode.getText(node.expression)}!`); + }, + messageId: 'preferNonNullAssertion', + node, + }); + } + }, + }; + }, +}); +//# sourceMappingURL=non-nullable-type-assertion-style.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map new file mode 100644 index 000000000..ffa72ba3c --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map @@ -0,0 +1 @@ +{"version":3,"file":"non-nullable-type-assertion-style.js","sourceRoot":"","sources":["../../src/rules/non-nullable-type-assertion-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js new file mode 100644 index 000000000..17ad0647e --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js @@ -0,0 +1,220 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const object_curly_spacing_1 = __importDefault(require("eslint/lib/rules/object-curly-spacing")); +const util_1 = require("../util"); +exports.default = util_1.createRule({ + name: 'object-curly-spacing', + meta: Object.assign(Object.assign({}, object_curly_spacing_1.default.meta), { docs: { + description: 'Enforce consistent spacing inside braces', + category: 'Stylistic Issues', + recommended: false, + extendsBaseRule: true, + } }), + defaultOptions: ['never'], + create(context) { + const spaced = context.options[0] === 'always'; + const sourceCode = context.getSourceCode(); + /** + * Determines whether an option is set, relative to the spacing option. + * If spaced is "always", then check whether option is set to false. + * If spaced is "never", then check whether option is set to true. + * @param option The option to exclude. + * @returns Whether or not the property is excluded. + */ + function isOptionSet(option) { + return context.options[1] + ? context.options[1][option] === !spaced + : false; + } + const options = { + spaced, + arraysInObjectsException: isOptionSet('arraysInObjects'), + objectsInObjectsException: isOptionSet('objectsInObjects'), + }; + //-------------------------------------------------------------------------- + // Helpers + //-------------------------------------------------------------------------- + /** + * Reports that there shouldn't be a space after the first token + * @param node The node to report in the event of an error. + * @param token The token to use for the report. + */ + function reportNoBeginningSpace(node, token) { + const nextToken = context + .getSourceCode() + .getTokenAfter(token, { includeComments: true }); + context.report({ + node, + loc: { start: token.loc.end, end: nextToken.loc.start }, + messageId: 'unexpectedSpaceAfter', + data: { + token: token.value, + }, + fix(fixer) { + return fixer.removeRange([token.range[1], nextToken.range[0]]); + }, + }); + } + /** + * Reports that there shouldn't be a space before the last token + * @param node The node to report in the event of an error. + * @param token The token to use for the report. + */ + function reportNoEndingSpace(node, token) { + const previousToken = context + .getSourceCode() + .getTokenBefore(token, { includeComments: true }); + context.report({ + node, + loc: { start: previousToken.loc.end, end: token.loc.start }, + messageId: 'unexpectedSpaceBefore', + data: { + token: token.value, + }, + fix(fixer) { + return fixer.removeRange([previousToken.range[1], token.range[0]]); + }, + }); + } + /** + * Reports that there should be a space after the first token + * @param node The node to report in the event of an error. + * @param token The token to use for the report. + */ + function reportRequiredBeginningSpace(node, token) { + context.report({ + node, + loc: token.loc, + messageId: 'requireSpaceAfter', + data: { + token: token.value, + }, + fix(fixer) { + return fixer.insertTextAfter(token, ' '); + }, + }); + } + /** + * Reports that there should be a space before the last token + * @param node The node to report in the event of an error. + * @param token The token to use for the report. + */ + function reportRequiredEndingSpace(node, token) { + context.report({ + node, + loc: token.loc, + messageId: 'requireSpaceBefore', + data: { + token: token.value, + }, + fix(fixer) { + return fixer.insertTextBefore(token, ' '); + }, + }); + } + /** + * Determines if spacing in curly braces is valid. + * @param node The AST node to check. + * @param first The first token to check (should be the opening brace) + * @param second The second token to check (should be first after the opening brace) + * @param penultimate The penultimate token to check (should be last before closing brace) + * @param last The last token to check (should be closing brace) + */ + function validateBraceSpacing(node, first, second, penultimate, last) { + if (util_1.isTokenOnSameLine(first, second)) { + const firstSpaced = sourceCode.isSpaceBetween(first, second); + const secondType = sourceCode.getNodeByRangeIndex(second.range[0]).type; + const openingCurlyBraceMustBeSpaced = options.arraysInObjectsException && + [ + experimental_utils_1.AST_NODE_TYPES.TSMappedType, + experimental_utils_1.AST_NODE_TYPES.TSIndexSignature, + ].includes(secondType) + ? !options.spaced + : options.spaced; + if (openingCurlyBraceMustBeSpaced && !firstSpaced) { + reportRequiredBeginningSpace(node, first); + } + if (!openingCurlyBraceMustBeSpaced && + firstSpaced && + second.type !== experimental_utils_1.AST_TOKEN_TYPES.Line) { + reportNoBeginningSpace(node, first); + } + } + if (util_1.isTokenOnSameLine(penultimate, last)) { + const shouldCheckPenultimate = (options.arraysInObjectsException && + util_1.isClosingBracketToken(penultimate)) || + (options.objectsInObjectsException && + util_1.isClosingBraceToken(penultimate)); + const penultimateType = shouldCheckPenultimate + ? sourceCode.getNodeByRangeIndex(penultimate.range[0]).type + : undefined; + const closingCurlyBraceMustBeSpaced = (options.arraysInObjectsException && + penultimateType === experimental_utils_1.AST_NODE_TYPES.TSTupleType) || + (options.objectsInObjectsException && + penultimateType !== undefined && + [ + experimental_utils_1.AST_NODE_TYPES.TSMappedType, + experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral, + ].includes(penultimateType)) + ? !options.spaced + : options.spaced; + const lastSpaced = sourceCode.isSpaceBetween(penultimate, last); + if (closingCurlyBraceMustBeSpaced && !lastSpaced) { + reportRequiredEndingSpace(node, last); + } + if (!closingCurlyBraceMustBeSpaced && lastSpaced) { + reportNoEndingSpace(node, last); + } + } + } + /** + * Gets '}' token of an object node. + * + * Because the last token of object patterns might be a type annotation, + * this traverses tokens preceded by the last property, then returns the + * first '}' token. + * @param node The node to get. This node is an + * ObjectExpression or an ObjectPattern. And this node has one or + * more properties. + * @returns '}' token. + */ + function getClosingBraceOfObject(node) { + const lastProperty = node.members[node.members.length - 1]; + return sourceCode.getTokenAfter(lastProperty, util_1.isClosingBraceToken); + } + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + const rules = object_curly_spacing_1.default.create(context); + return Object.assign(Object.assign({}, rules), { TSMappedType(node) { + const first = sourceCode.getFirstToken(node); + const last = sourceCode.getLastToken(node); + const second = sourceCode.getTokenAfter(first, { + includeComments: true, + }); + const penultimate = sourceCode.getTokenBefore(last, { + includeComments: true, + }); + validateBraceSpacing(node, first, second, penultimate, last); + }, + TSTypeLiteral(node) { + if (node.members.length === 0) { + return; + } + const first = sourceCode.getFirstToken(node); + const last = getClosingBraceOfObject(node); + const second = sourceCode.getTokenAfter(first, { + includeComments: true, + }); + const penultimate = sourceCode.getTokenBefore(last, { + includeComments: true, + }); + validateBraceSpacing(node, first, second, penultimate, last); + } }); + }, +}); +//# sourceMappingURL=object-curly-spacing.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js.map new file mode 100644 index 000000000..06ea8f23b --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js.map @@ -0,0 +1 @@ +{"version":3,"file":"object-curly-spacing.js","sourceRoot":"","sources":["../../src/rules/object-curly-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map index b7cc1d994..d63f369ac 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-for-of.js","sourceRoot":"","sources":["../../src/rules/prefer-for-of.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-for-of.js","sourceRoot":"","sources":["../../src/rules/prefer-for-of.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js index 0232f5109..cfffcc092 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js @@ -19,8 +19,13 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.phrases = void 0; const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const util = __importStar(require("../util")); +exports.phrases = { + [experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral]: 'Type literal', + [experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration]: 'Interface', +}; exports.default = util.createRule({ name: 'prefer-function-type', meta: { @@ -31,7 +36,8 @@ exports.default = util.createRule({ }, fixable: 'code', messages: { - functionTypeOverCallableType: "{{ type }} has only a call signature - use '{{ sigSuggestion }}' instead.", + functionTypeOverCallableType: '{{ literalOrInterface }} only has a call signature, you should use a function type instead.', + unexpectedThisOnFunctionOnlyInterface: "`this` refers to the function type '{{ interfaceName }}', did you intend to use a generic `this` parameter like `(this: Self, ...) => Self` instead?", }, schema: [], type: 'suggestion', @@ -69,65 +75,130 @@ exports.default = util.createRule({ return false; } } - /** - * @param call The call signature causing the diagnostic - * @param parent The parent of the call - * @returns The suggestion to report - */ - function renderSuggestion(call, parent) { - const start = call.range[0]; - const colonPos = call.returnType.range[0] - start; - const text = sourceCode.getText().slice(start, call.range[1]); - let suggestion = `${text.slice(0, colonPos)} =>${text.slice(colonPos + 1)}`; - if (shouldWrapSuggestion(parent.parent)) { - suggestion = `(${suggestion})`; - } - if (parent.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) { - if (typeof parent.typeParameters !== 'undefined') { - return `type ${sourceCode - .getText() - .slice(parent.id.range[0], parent.typeParameters.range[1])} = ${suggestion}`; - } - return `type ${parent.id.name} = ${suggestion}`; - } - return suggestion.endsWith(';') ? suggestion.slice(0, -1) : suggestion; - } /** * @param member The TypeElement being checked * @param node The parent of member being checked + * @param tsThisTypes */ - function checkMember(member, node) { + function checkMember(member, node, tsThisTypes = null) { if ((member.type === experimental_utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration || member.type === experimental_utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration) && typeof member.returnType !== 'undefined') { - const suggestion = renderSuggestion(member, node); - const fixStart = node.type === experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral - ? node.range[0] - : sourceCode - .getTokens(node) - .filter(token => token.type === experimental_utils_1.AST_TOKEN_TYPES.Keyword && - token.value === 'interface')[0].range[0]; + if (tsThisTypes !== null && + tsThisTypes.length > 0 && + node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) { + // the message can be confusing if we don't point directly to the `this` node instead of the whole member + // and in favour of generating at most one error we'll only report the first occurrence of `this` if there are multiple + context.report({ + node: tsThisTypes[0], + messageId: 'unexpectedThisOnFunctionOnlyInterface', + data: { + interfaceName: node.id.name, + }, + }); + return; + } + const fixable = node.parent && + node.parent.type === experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration; context.report({ node: member, messageId: 'functionTypeOverCallableType', data: { - type: node.type === experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral - ? 'Type literal' - : 'Interface', - sigSuggestion: suggestion, - }, - fix(fixer) { - return fixer.replaceTextRange([fixStart, node.range[1]], suggestion); + literalOrInterface: exports.phrases[node.type], }, + fix: fixable + ? null + : (fixer) => { + const fixes = []; + const start = member.range[0]; + const colonPos = member.returnType.range[0] - start; + const text = sourceCode.getText().slice(start, member.range[1]); + const comments = sourceCode + .getCommentsBefore(member) + .concat(sourceCode.getCommentsAfter(member)); + let suggestion = `${text.slice(0, colonPos)} =>${text.slice(colonPos + 1)}`; + const lastChar = suggestion.endsWith(';') ? ';' : ''; + if (lastChar) { + suggestion = suggestion.slice(0, -1); + } + if (shouldWrapSuggestion(node.parent)) { + suggestion = `(${suggestion})`; + } + if (node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) { + if (typeof node.typeParameters !== 'undefined') { + suggestion = `type ${sourceCode + .getText() + .slice(node.id.range[0], node.typeParameters.range[1])} = ${suggestion}${lastChar}`; + } + else { + suggestion = `type ${node.id.name} = ${suggestion}${lastChar}`; + } + } + const isParentExported = node.parent && + node.parent.type === experimental_utils_1.AST_NODE_TYPES.ExportNamedDeclaration; + if (node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration && + isParentExported) { + const commentsText = comments.reduce((text, comment) => { + return (text + + (comment.type === experimental_utils_1.AST_TOKEN_TYPES.Line + ? `//${comment.value}` + : `/*${comment.value}*/`) + + '\n'); + }, ''); + // comments should move before export and not between export and interface declaration + fixes.push(fixer.insertTextBefore(node.parent, commentsText)); + } + else { + comments.forEach(comment => { + let commentText = comment.type === experimental_utils_1.AST_TOKEN_TYPES.Line + ? `//${comment.value}` + : `/*${comment.value}*/`; + const isCommentOnTheSameLine = comment.loc.start.line === member.loc.start.line; + if (!isCommentOnTheSameLine) { + commentText += '\n'; + } + else { + commentText += ' '; + } + suggestion = commentText + suggestion; + }); + } + const fixStart = node.range[0]; + fixes.push(fixer.replaceTextRange([fixStart, node.range[1]], suggestion)); + return fixes; + }, }); } } + let tsThisTypes = null; + let literalNesting = 0; return { - TSInterfaceDeclaration(node) { - if (!hasOneSupertype(node) && node.body.body.length === 1) { - checkMember(node.body.body[0], node); + TSInterfaceDeclaration() { + // when entering an interface reset the count of `this`s to empty. + tsThisTypes = []; + }, + 'TSInterfaceDeclaration TSThisType'(node) { + // inside an interface keep track of all ThisType references. + // unless it's inside a nested type literal in which case it's invalid code anyway + // we don't want to incorrectly say "it refers to name" while typescript says it's completely invalid. + if (literalNesting === 0 && tsThisTypes !== null) { + tsThisTypes.push(node); } }, + 'TSInterfaceDeclaration:exit'(node) { + if (!hasOneSupertype(node) && node.body.body.length === 1) { + checkMember(node.body.body[0], node, tsThisTypes); + } + // on exit check member and reset the array to nothing. + tsThisTypes = null; + }, + // keep track of nested literals to avoid complaining about invalid `this` uses + 'TSInterfaceDeclaration TSTypeLiteral'() { + literalNesting += 1; + }, + 'TSInterfaceDeclaration TSTypeLiteral:exit'() { + literalNesting -= 1; + }, 'TSTypeLiteral[members.length = 1]'(node) { checkMember(node.members[0], node); }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map index 177925f21..d0073896b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-function-type.js","sourceRoot":"","sources":["../../src/rules/prefer-function-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-function-type.js","sourceRoot":"","sources":["../../src/rules/prefer-function-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js index e352e9645..d3b1c92e6 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js @@ -115,56 +115,56 @@ exports.default = util_1.createRule({ // To string. return String.fromCodePoint(...chars.map(c => c.value)); } - return { - [[ - // a.indexOf(b) !== 1 - "BinaryExpression > CallExpression.left > MemberExpression.callee[property.name='indexOf'][computed=false]", - // a?.indexOf(b) !== 1 - "BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name='indexOf'][computed=false]", - ].join(', ')](node) { - var _a, _b, _c; - // Check if the comparison is equivalent to `includes()`. - const callNode = node.parent; - const compareNode = (((_a = callNode.parent) === null || _a === void 0 ? void 0 : _a.type) === - experimental_utils_1.AST_NODE_TYPES.ChainExpression - ? callNode.parent.parent - : callNode.parent); - const negative = isNegativeCheck(compareNode); - if (!negative && !isPositiveCheck(compareNode)) { + function checkArrayIndexOf(node, allowFixing) { + var _a, _b, _c; + // Check if the comparison is equivalent to `includes()`. + const callNode = node.parent; + const compareNode = (((_a = callNode.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.ChainExpression + ? callNode.parent.parent + : callNode.parent); + const negative = isNegativeCheck(compareNode); + if (!negative && !isPositiveCheck(compareNode)) { + return; + } + // Get the symbol of `indexOf` method. + const tsNode = services.esTreeNodeToTSNodeMap.get(node.property); + const indexofMethodDeclarations = (_b = types + .getSymbolAtLocation(tsNode)) === null || _b === void 0 ? void 0 : _b.getDeclarations(); + if (indexofMethodDeclarations == null || + indexofMethodDeclarations.length === 0) { + return; + } + // Check if every declaration of `indexOf` method has `includes` method + // and the two methods have the same parameters. + for (const instanceofMethodDecl of indexofMethodDeclarations) { + const typeDecl = instanceofMethodDecl.parent; + const type = types.getTypeAtLocation(typeDecl); + const includesMethodDecl = (_c = type + .getProperty('includes')) === null || _c === void 0 ? void 0 : _c.getDeclarations(); + if (includesMethodDecl == null || + !includesMethodDecl.some(includesMethodDecl => hasSameParameters(includesMethodDecl, instanceofMethodDecl))) { return; } - // Get the symbol of `indexOf` method. - const tsNode = services.esTreeNodeToTSNodeMap.get(node.property); - const indexofMethodDeclarations = (_b = types - .getSymbolAtLocation(tsNode)) === null || _b === void 0 ? void 0 : _b.getDeclarations(); - if (indexofMethodDeclarations == null || - indexofMethodDeclarations.length === 0) { - return; - } - // Check if every declaration of `indexOf` method has `includes` method - // and the two methods have the same parameters. - for (const instanceofMethodDecl of indexofMethodDeclarations) { - const typeDecl = instanceofMethodDecl.parent; - const type = types.getTypeAtLocation(typeDecl); - const includesMethodDecl = (_c = type - .getProperty('includes')) === null || _c === void 0 ? void 0 : _c.getDeclarations(); - if (includesMethodDecl == null || - !includesMethodDecl.some(includesMethodDecl => hasSameParameters(includesMethodDecl, instanceofMethodDecl))) { - return; + } + // Report it. + context.report(Object.assign({ node: compareNode, messageId: 'preferIncludes' }, (allowFixing && { + *fix(fixer) { + if (negative) { + yield fixer.insertTextBefore(callNode, '!'); } - } - // Report it. - context.report({ - node: compareNode, - messageId: 'preferIncludes', - *fix(fixer) { - if (negative) { - yield fixer.insertTextBefore(callNode, '!'); - } - yield fixer.replaceText(node.property, 'includes'); - yield fixer.removeRange([callNode.range[1], compareNode.range[1]]); - }, - }); + yield fixer.replaceText(node.property, 'includes'); + yield fixer.removeRange([callNode.range[1], compareNode.range[1]]); + }, + }))); + } + return { + // a.indexOf(b) !== 1 + "BinaryExpression > CallExpression.left > MemberExpression.callee[property.name='indexOf'][computed=false]"(node) { + checkArrayIndexOf(node, /* allowFixing */ true); + }, + // a?.indexOf(b) !== 1 + "BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name='indexOf'][computed=false]"(node) { + checkArrayIndexOf(node, /* allowFixing */ false); }, // /bar/.test(foo) 'CallExpression > MemberExpression.callee[property.name="test"][computed=false]'(node) { @@ -198,7 +198,7 @@ exports.default = util_1.createRule({ yield fixer.insertTextBefore(argNode, '('); yield fixer.insertTextAfter(argNode, ')'); } - yield fixer.insertTextAfter(argNode, `${node.optional ? '?.' : '.'}includes(${JSON.stringify(text)}`); + yield fixer.insertTextAfter(argNode, `${node.optional ? '?.' : '.'}includes('${text}'`); }, }); }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map index b0f5b8056..f434d9139 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-includes.js","sourceRoot":"","sources":["../../src/rules/prefer-includes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-includes.js","sourceRoot":"","sources":["../../src/rules/prefer-includes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js index 475f4e7a4..cb8db7875 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js @@ -15,10 +15,24 @@ exports.default = util_1.createRule({ messages: { notLiteral: `Explicit enum value must only be a literal value (string, number, boolean, etc).`, }, - schema: [], + schema: [ + { + type: 'object', + properties: { + allowBitwiseExpressions: { + type: 'boolean', + }, + }, + additionalProperties: false, + }, + ], }, - defaultOptions: [], - create(context) { + defaultOptions: [ + { + allowBitwiseExpressions: false, + }, + ], + create(context, [{ allowBitwiseExpressions }]) { return { TSEnumMember(node) { // If there is no initializer, then this node is just the name of the member, so ignore. @@ -29,10 +43,23 @@ exports.default = util_1.createRule({ if (node.initializer.type === experimental_utils_1.AST_NODE_TYPES.Literal) { return; } + // TemplateLiteral without expressions + if (node.initializer.type === experimental_utils_1.AST_NODE_TYPES.TemplateLiteral && + node.initializer.expressions.length === 0) { + return; + } // -1 and +1 if (node.initializer.type === experimental_utils_1.AST_NODE_TYPES.UnaryExpression && - ['+', '-'].includes(node.initializer.operator) && - node.initializer.argument.type === experimental_utils_1.AST_NODE_TYPES.Literal) { + node.initializer.argument.type === experimental_utils_1.AST_NODE_TYPES.Literal && + (['+', '-'].includes(node.initializer.operator) || + (allowBitwiseExpressions && node.initializer.operator === '~'))) { + return; + } + if (allowBitwiseExpressions && + node.initializer.type === experimental_utils_1.AST_NODE_TYPES.BinaryExpression && + ['|', '&', '^', '<<', '>>', '>>>'].includes(node.initializer.operator) && + node.initializer.left.type === experimental_utils_1.AST_NODE_TYPES.Literal && + node.initializer.right.type === experimental_utils_1.AST_NODE_TYPES.Literal) { return; } context.report({ diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map index 9d5f03811..bb8f6b48f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-literal-enum-member.js","sourceRoot":"","sources":["../../src/rules/prefer-literal-enum-member.ts"],"names":[],"mappings":";;AAAA,8EAAuE;AACvE,kCAAqC;AAErC,kBAAe,iBAAU,CAAC;IACxB,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,sGAAsG;YACxG,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,KAAK;SAC5B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,kFAAkF;SAC/F;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,YAAY,CAAC,IAAI;gBACf,wFAAwF;gBACxF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;oBAC5B,OAAO;iBACR;gBACD,kBAAkB;gBAClB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO,EAAE;oBACpD,OAAO;iBACR;gBACD,YAAY;gBACZ,IACE,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;oBACxD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO,EACzD;oBACA,OAAO;iBACR;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,SAAS,EAAE,YAAY;iBACxB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"prefer-literal-enum-member.js","sourceRoot":"","sources":["../../src/rules/prefer-literal-enum-member.ts"],"names":[],"mappings":";;AAAA,8EAAuE;AACvE,kCAAqC;AAErC,kBAAe,iBAAU,CAAC;IACxB,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,sGAAsG;YACxG,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,KAAK;SAC5B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,kFAAkF;SAC/F;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,uBAAuB,EAAE;wBACvB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,uBAAuB,EAAE,KAAK;SAC/B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC;QAC3C,OAAO;YACL,YAAY,CAAC,IAAI;gBACf,wFAAwF;gBACxF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;oBAC5B,OAAO;iBACR;gBACD,kBAAkB;gBAClB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO,EAAE;oBACpD,OAAO;iBACR;gBACD,sCAAsC;gBACtC,IACE,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;oBACxD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EACzC;oBACA,OAAO;iBACR;gBACD,YAAY;gBACZ,IACE,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe;oBACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO;oBACzD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;wBAC7C,CAAC,uBAAuB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,EACjE;oBACA,OAAO;iBACR;gBAED,IACE,uBAAuB;oBACvB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;oBACzD,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC1B;oBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO;oBACrD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,OAAO,EACtD;oBACA,OAAO;iBACR;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,SAAS,EAAE,YAAY;iBACxB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js index c8eb961b9..1e3dfdd38 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js @@ -66,7 +66,8 @@ exports.default = util.createRule({ ].join(',')](initialIdentifierOrNotEqualsExpr) { var _a; // selector guarantees this cast - const initialExpression = (((_a = initialIdentifierOrNotEqualsExpr.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.ChainExpression + const initialExpression = (((_a = initialIdentifierOrNotEqualsExpr.parent) === null || _a === void 0 ? void 0 : _a.type) === + experimental_utils_1.AST_NODE_TYPES.ChainExpression ? initialIdentifierOrNotEqualsExpr.parent.parent : initialIdentifierOrNotEqualsExpr.parent); if (initialExpression.left !== initialIdentifierOrNotEqualsExpr) { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map index 1ce75dd7a..8526b12dd 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-optional-chain.js","sourceRoot":"","sources":["../../src/rules/prefer-optional-chain.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-optional-chain.js","sourceRoot":"","sources":["../../src/rules/prefer-optional-chain.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js index 1c7904954..e80cf169b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js @@ -39,6 +39,9 @@ exports.default = util.createRule({ checkParameterProperties: { type: 'boolean', }, + ignoreInferredTypes: { + type: 'boolean', + }, }, }, ], @@ -49,9 +52,11 @@ exports.default = util.createRule({ defaultOptions: [ { checkParameterProperties: true, + ignoreInferredTypes: false, }, ], - create(context, [{ checkParameterProperties }]) { + create(context, options) { + const [{ checkParameterProperties, ignoreInferredTypes }] = options; const { esTreeNodeToTSNodeMap, program } = util.getParserServices(context); const checker = program.getTypeChecker(); return { @@ -74,6 +79,9 @@ exports.default = util.createRule({ const actualParam = param.type === experimental_utils_1.AST_NODE_TYPES.TSParameterProperty ? param.parameter : param; + if (ignoreInferredTypes && actualParam.typeAnnotation == null) { + continue; + } const tsNode = esTreeNodeToTSNodeMap.get(actualParam); const type = checker.getTypeAtLocation(tsNode); const isReadOnly = util.isTypeReadonly(checker, type); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map index be616c825..3fca6fec6 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-readonly-parameter-types.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly-parameter-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAShC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,kGAAkG;YACpG,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,wBAAwB,EAAE;wBACxB,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,gBAAgB,EAAE,uCAAuC;SAC1D;KACF;IACD,cAAc,EAAE;QACd;YACE,wBAAwB,EAAE,IAAI;SAC/B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,wBAAwB,EAAE,CAAC;QAC5C,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzC,OAAO;YACL,CAAC;gBACC,mCAAc,CAAC,uBAAuB;gBACtC,mCAAc,CAAC,mBAAmB;gBAClC,mCAAc,CAAC,kBAAkB;gBACjC,mCAAc,CAAC,0BAA0B;gBACzC,mCAAc,CAAC,+BAA+B;gBAC9C,mCAAc,CAAC,iBAAiB;gBAChC,mCAAc,CAAC,6BAA6B;gBAC5C,mCAAc,CAAC,cAAc;gBAC7B,mCAAc,CAAC,iBAAiB;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACX,IAS8B;gBAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC/B,IACE,CAAC,wBAAwB;wBACzB,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,EACjD;wBACA,SAAS;qBACV;oBAED,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB;wBAC/C,CAAC,CAAC,KAAK,CAAC,SAAS;wBACjB,CAAC,CAAC,KAAK,CAAC;oBACZ,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAEtD,IAAI,CAAC,UAAU,EAAE;wBACf,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,kBAAkB;yBAC9B,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"prefer-readonly-parameter-types.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly-parameter-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAUhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,kGAAkG;YACpG,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,wBAAwB,EAAE;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,gBAAgB,EAAE,uCAAuC;SAC1D;KACF;IACD,cAAc,EAAE;QACd;YACE,wBAAwB,EAAE,IAAI;YAC9B,mBAAmB,EAAE,KAAK;SAC3B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,OAAO;QACrB,MAAM,CAAC,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC;QACpE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzC,OAAO;YACL,CAAC;gBACC,mCAAc,CAAC,uBAAuB;gBACtC,mCAAc,CAAC,mBAAmB;gBAClC,mCAAc,CAAC,kBAAkB;gBACjC,mCAAc,CAAC,0BAA0B;gBACzC,mCAAc,CAAC,+BAA+B;gBAC9C,mCAAc,CAAC,iBAAiB;gBAChC,mCAAc,CAAC,6BAA6B;gBAC5C,mCAAc,CAAC,cAAc;gBAC7B,mCAAc,CAAC,iBAAiB;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACX,IAS8B;gBAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC/B,IACE,CAAC,wBAAwB;wBACzB,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB,EACjD;wBACA,SAAS;qBACV;oBAED,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,KAAK,mCAAc,CAAC,mBAAmB;wBAC/C,CAAC,CAAC,KAAK,CAAC,SAAS;wBACjB,CAAC,CAAC,KAAK,CAAC;oBAEZ,IAAI,mBAAmB,IAAI,WAAW,CAAC,cAAc,IAAI,IAAI,EAAE;wBAC7D,SAAS;qBACV;oBAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAEtD,IAAI,CAAC,UAAU,EAAE;wBACf,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,kBAAkB;yBAC9B,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map index 1aae677d9..b49afc91b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-readonly.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-readonly.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js index a09b65595..7a7a8c4d7 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js @@ -1,11 +1,40 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const tsutils = __importStar(require("tsutils")); const util_1 = require("../util"); +var ArgumentType; +(function (ArgumentType) { + ArgumentType[ArgumentType["Other"] = 0] = "Other"; + ArgumentType[ArgumentType["String"] = 1] = "String"; + ArgumentType[ArgumentType["RegExp"] = 2] = "RegExp"; + ArgumentType[ArgumentType["Both"] = 3] = "Both"; +})(ArgumentType || (ArgumentType = {})); exports.default = util_1.createRule({ name: 'prefer-regexp-exec', defaultOptions: [], meta: { type: 'suggestion', + fixable: 'code', docs: { description: 'Enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided', category: 'Best Practices', @@ -19,34 +48,90 @@ exports.default = util_1.createRule({ }, create(context) { const globalScope = context.getScope(); - const service = util_1.getParserServices(context); - const typeChecker = service.program.getTypeChecker(); + const parserServices = util_1.getParserServices(context); + const typeChecker = parserServices.program.getTypeChecker(); + const sourceCode = context.getSourceCode(); /** - * Check if a given node is a string. - * @param node The node to check. + * Check if a given node type is a string. + * @param node The node type to check. */ - function isStringType(node) { - const objectType = typeChecker.getTypeAtLocation(service.esTreeNodeToTSNodeMap.get(node)); - return util_1.getTypeName(typeChecker, objectType) === 'string'; + function isStringType(type) { + return util_1.getTypeName(typeChecker, type) === 'string'; + } + /** + * Check if a given node type is a RegExp. + * @param node The node type to check. + */ + function isRegExpType(type) { + return util_1.getTypeName(typeChecker, type) === 'RegExp'; + } + function collectArgumentTypes(types) { + let result = ArgumentType.Other; + for (const type of types) { + if (isRegExpType(type)) { + result |= ArgumentType.RegExp; + } + else if (isStringType(type)) { + result |= ArgumentType.String; + } + } + return result; } return { - "CallExpression[arguments.length=1] > MemberExpression.callee[property.name='match'][computed=false]"(node) { - const callNode = node.parent; - const arg = callNode.arguments[0]; - const evaluated = util_1.getStaticValue(arg, globalScope); - // Don't report regular expressions with global flag. - if (evaluated && - evaluated.value instanceof RegExp && - evaluated.value.flags.includes('g')) { + "CallExpression[arguments.length=1] > MemberExpression.callee[property.name='match'][computed=false]"(memberNode) { + const objectNode = memberNode.object; + const callNode = memberNode.parent; + const argumentNode = callNode.arguments[0]; + const argumentValue = util_1.getStaticValue(argumentNode, globalScope); + if (!isStringType(typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(objectNode)))) { return; } - if (isStringType(node.object)) { - context.report({ - node: callNode, - messageId: 'regExpExecOverStringMatch', - }); + // Don't report regular expressions with global flag. + if (argumentValue && + argumentValue.value instanceof RegExp && + argumentValue.value.flags.includes('g')) { return; } + if (argumentNode.type === experimental_utils_1.AST_NODE_TYPES.Literal && + typeof argumentNode.value == 'string') { + const regExp = RegExp(argumentNode.value); + return context.report({ + node: memberNode.property, + messageId: 'regExpExecOverStringMatch', + fix: util_1.getWrappingFixer({ + sourceCode, + node: callNode, + innerNode: [objectNode], + wrap: objectCode => `${regExp.toString()}.exec(${objectCode})`, + }), + }); + } + const argumentType = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(argumentNode)); + const argumentTypes = collectArgumentTypes(tsutils.unionTypeParts(argumentType)); + switch (argumentTypes) { + case ArgumentType.RegExp: + return context.report({ + node: memberNode.property, + messageId: 'regExpExecOverStringMatch', + fix: util_1.getWrappingFixer({ + sourceCode, + node: callNode, + innerNode: [objectNode, argumentNode], + wrap: (objectCode, argumentCode) => `${argumentCode}.exec(${objectCode})`, + }), + }); + case ArgumentType.String: + return context.report({ + node: memberNode.property, + messageId: 'regExpExecOverStringMatch', + fix: util_1.getWrappingFixer({ + sourceCode, + node: callNode, + innerNode: [objectNode, argumentNode], + wrap: (objectCode, argumentCode) => `RegExp(${argumentCode}).exec(${objectCode})`, + }), + }); + } }, }; }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map index 3aa5e7362..c58569f7a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-regexp-exec.js","sourceRoot":"","sources":["../../src/rules/prefer-regexp-exec.ts"],"names":[],"mappings":";;AACA,kCAKiB;AAEjB,kBAAe,iBAAU,CAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE,EAAE;IAElB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,4FAA4F;YAC9F,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,OAAO;YACpB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,yBAAyB,EAAE,yCAAyC;SACrE;QACD,MAAM,EAAE,EAAE;KACX;IAED,MAAM,CAAC,OAAO;QACZ,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,wBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAErD;;;WAGG;QACH,SAAS,YAAY,CAAC,IAAqC;YACzD,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAC9C,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CACxC,CAAC;YACF,OAAO,kBAAW,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,QAAQ,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,qGAAqG,CACnG,IAA+B;gBAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAiC,CAAC;gBACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,qBAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAEnD,qDAAqD;gBACrD,IACE,SAAS;oBACT,SAAS,CAAC,KAAK,YAAY,MAAM;oBACjC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EACnC;oBACA,OAAO;iBACR;gBAED,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC7B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,2BAA2B;qBACvC,CAAC,CAAC;oBACH,OAAO;iBACR;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"prefer-regexp-exec.js","sourceRoot":"","sources":["../../src/rules/prefer-regexp-exec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js index 5b3e02830..9786ec5cc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js @@ -411,7 +411,8 @@ exports.default = util_1.createRule({ isNegativeIndexExpression(callNode.arguments[0], node.object); const isStartsWith = !isEndsWith && callNode.arguments.length === 2 && - isNumber(callNode.arguments[0], 0); + isNumber(callNode.arguments[0], 0) && + !isNegativeIndexExpression(callNode.arguments[1], node.object); if (!isStartsWith && !isEndsWith) { return; } diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map index 55dc08b9e..cf9f46e7b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-string-starts-ends-with.js","sourceRoot":"","sources":["../../src/rules/prefer-string-starts-ends-with.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"prefer-string-starts-ends-with.js","sourceRoot":"","sources":["../../src/rules/prefer-string-starts-ends-with.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js index c0179f850..e086529eb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js @@ -19,39 +19,58 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const util = __importStar(require("../util")); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); exports.default = util.createRule({ name: 'prefer-ts-expect-error', meta: { type: 'problem', docs: { - description: 'Recommends using `// @ts-expect-error` over `// @ts-ignore`', + description: 'Recommends using `@ts-expect-error` over `@ts-ignore`', category: 'Best Practices', recommended: false, }, fixable: 'code', messages: { - preferExpectErrorComment: 'Use "// @ts-expect-error" to ensure an error is actually being suppressed.', + preferExpectErrorComment: 'Use "@ts-expect-error" to ensure an error is actually being suppressed.', }, schema: [], }, defaultOptions: [], create(context) { - const tsIgnoreRegExp = /^\/*\s*@ts-ignore/; + const tsIgnoreRegExpSingleLine = /^\s*\/?\s*@ts-ignore/; + const tsIgnoreRegExpMultiLine = /^\s*(?:\/|\*)*\s*@ts-ignore/; const sourceCode = context.getSourceCode(); + function isLineComment(comment) { + return comment.type === experimental_utils_1.AST_TOKEN_TYPES.Line; + } + function getLastCommentLine(comment) { + if (isLineComment(comment)) { + return comment.value; + } + // For multiline comments - we look at only the last line. + const commentlines = comment.value.split('\n'); + return commentlines[commentlines.length - 1]; + } + function isValidTsIgnorePresent(comment) { + const line = getLastCommentLine(comment); + return isLineComment(comment) + ? tsIgnoreRegExpSingleLine.test(line) + : tsIgnoreRegExpMultiLine.test(line); + } return { Program() { const comments = sourceCode.getAllComments(); comments.forEach(comment => { - if (comment.type !== experimental_utils_1.AST_TOKEN_TYPES.Line) { - return; - } - if (tsIgnoreRegExp.test(comment.value)) { + if (isValidTsIgnorePresent(comment)) { + const lineCommentRuleFixer = (fixer) => fixer.replaceText(comment, `//${comment.value.replace('@ts-ignore', '@ts-expect-error')}`); + const blockCommentRuleFixer = (fixer) => fixer.replaceText(comment, `/*${comment.value.replace('@ts-ignore', '@ts-expect-error')}*/`); context.report({ node: comment, messageId: 'preferExpectErrorComment', - fix: fixer => fixer.replaceText(comment, `//${comment.value.replace('@ts-ignore', '@ts-expect-error')}`), + fix: isLineComment(comment) + ? lineCommentRuleFixer + : blockCommentRuleFixer, }); } }); diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map index 3b812041e..468074748 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map @@ -1 +1 @@ -{"version":3,"file":"prefer-ts-expect-error.js","sourceRoot":"","sources":["../../src/rules/prefer-ts-expect-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwE;AACxE,8CAAgC;AAIhC,kBAAe,IAAI,CAAC,UAAU,CAAiB;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,wBAAwB,EACtB,4EAA4E;SAC/E;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,mBAAmB,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE3C,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;gBAE7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,IAAI,OAAO,CAAC,IAAI,KAAK,oCAAe,CAAC,IAAI,EAAE;wBACzC,OAAO;qBACR;oBAED,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACtC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,OAAO;4BACb,SAAS,EAAE,0BAA0B;4BACrC,GAAG,EAAE,KAAK,CAAC,EAAE,CACX,KAAK,CAAC,WAAW,CACf,OAAO,EACP,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CACxB,YAAY,EACZ,kBAAkB,CACnB,EAAE,CACJ;yBACJ,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"prefer-ts-expect-error.js","sourceRoot":"","sources":["../../src/rules/prefer-ts-expect-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAChC,8EAG+C;AAQ/C,kBAAe,IAAI,CAAC,UAAU,CAAiB;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,wBAAwB,EACtB,yEAAyE;SAC5E;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;QACxD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE3C,SAAS,aAAa,CAAC,OAAyB;YAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,oCAAe,CAAC,IAAI,CAAC;QAC/C,CAAC;QAED,SAAS,kBAAkB,CAAC,OAAyB;YACnD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;gBAC1B,OAAO,OAAO,CAAC,KAAK,CAAC;aACtB;YAED,0DAA0D;YAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,SAAS,sBAAsB,CAAC,OAAyB;YACvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,aAAa,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE;wBACnC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAW,EAAE,CACzD,KAAK,CAAC,WAAW,CACf,OAAO,EACP,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAC/D,CAAC;wBAEJ,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAW,EAAE,CAC1D,KAAK,CAAC,WAAW,CACf,OAAO,EACP,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CACxB,YAAY,EACZ,kBAAkB,CACnB,IAAI,CACN,CAAC;wBAEJ,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,OAAO;4BACb,SAAS,EAAE,0BAA0B;4BACrC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;gCACzB,CAAC,CAAC,oBAAoB;gCACtB,CAAC,CAAC,qBAAqB;yBAC1B,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js index b216a9c5e..23882cf17 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js @@ -20,11 +20,13 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const ts = __importStar(require("typescript")); const util = __importStar(require("../util")); exports.default = util.createRule({ name: 'promise-function-async', meta: { type: 'suggestion', + fixable: 'code', docs: { description: 'Requires any function or method that returns a Promise to be marked async', category: 'Best Practices', @@ -81,7 +83,9 @@ exports.default = util.createRule({ ]); const parserServices = util.getParserServices(context); const checker = parserServices.program.getTypeChecker(); + const sourceCode = context.getSourceCode(); function validateNode(node) { + var _a; const originalNode = parserServices.esTreeNodeToTSNodeMap.get(node); const signatures = checker .getTypeAtLocation(originalNode) @@ -91,17 +95,61 @@ exports.default = util.createRule({ } const returnType = checker.getReturnTypeOfSignature(signatures[0]); if (!util.containsAllTypesByName(returnType, allowAny, allAllowedPromiseNames)) { + // Return type is not a promise + return; + } + if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition) { + // Abstract method can't be async return; } if (node.parent && (node.parent.type === experimental_utils_1.AST_NODE_TYPES.Property || node.parent.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition) && (node.parent.kind === 'get' || node.parent.kind === 'set')) { + // Getters and setters can't be async return; } + if (util.isTypeFlagSet(returnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { + // Report without auto fixer because the return type is unknown + return context.report({ + messageId: 'missingAsync', + node, + loc: util.getFunctionHeadLoc(node, sourceCode), + }); + } context.report({ messageId: 'missingAsync', node, + loc: util.getFunctionHeadLoc(node, sourceCode), + fix: fixer => { + if (node.parent && + (node.parent.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition || + (node.parent.type === experimental_utils_1.AST_NODE_TYPES.Property && + node.parent.method))) { + // this function is a class method or object function property shorthand + const method = node.parent; + // the token to put `async` before + let keyToken = sourceCode.getFirstToken(method); + // if there are decorators then skip past them + if (method.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition && + method.decorators) { + const lastDecorator = method.decorators[method.decorators.length - 1]; + keyToken = sourceCode.getTokenAfter(lastDecorator); + } + // if current token is a keyword like `static` or `public` then skip it + while (keyToken.type === experimental_utils_1.AST_TOKEN_TYPES.Keyword) { + keyToken = sourceCode.getTokenAfter(keyToken); + } + // check if there is a space between key and previous token + const insertSpace = !sourceCode.isSpaceBetween(sourceCode.getTokenBefore(keyToken), keyToken); + let code = 'async '; + if (insertSpace) { + code = ` ${code}`; + } + return fixer.insertTextBefore(keyToken, code); + } + return fixer.insertTextBefore(node, 'async '); + }, }); } return { @@ -117,13 +165,14 @@ exports.default = util.createRule({ }, 'FunctionExpression[async = false]'(node) { if (node.parent && - 'kind' in node.parent && + node.parent.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition && node.parent.kind === 'method') { if (checkMethodDeclarations) { - validateNode(node.parent); + validateNode(node); } + return; } - else if (checkFunctionExpressions) { + if (checkFunctionExpressions) { validateNode(node); } }, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map index bfd56d5d9..fd4c5aa78 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map @@ -1 +1 @@ -{"version":3,"file":"promise-function-async.js","sourceRoot":"","sources":["../../src/rules/promise-function-async.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,8CAAgC;AAchC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,2EAA2E;YAC7E,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,+CAA+C;SAC9D;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;qBAChB;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,SAAS;qBAChB;oBACD,yBAAyB,EAAE;wBACzB,IAAI,EAAE,SAAS;qBAChB;oBACD,wBAAwB,EAAE;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD,uBAAuB,EAAE;wBACvB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,IAAI;YACzB,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,IAAI;YAC9B,uBAAuB,EAAE,IAAI;SAC9B;KACF;IACD,MAAM,CACJ,OAAO,EACP,CACE,EACE,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,EACF;QAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,SAAS;YACT,GAAG,mBAAoB;SACxB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAExD,SAAS,YAAY,CACnB,IAKuC;YAEvC,MAAM,YAAY,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,OAAO;iBACvB,iBAAiB,CAAC,YAAY,CAAC;iBAC/B,iBAAiB,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACtB,OAAO;aACR;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,IACE,CAAC,IAAI,CAAC,sBAAsB,CAC1B,UAAU,EACV,QAAS,EACT,sBAAsB,CACvB,EACD;gBACA,OAAO;aACR;YAED,IACE,IAAI,CAAC,MAAM;gBACX,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,QAAQ;oBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAAC;gBACvD,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,EAC1D;gBACA,OAAO;aACR;YAED,OAAO,CAAC,MAAM,CAAC;gBACb,SAAS,EAAE,cAAc;gBACzB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,wCAAwC,CACtC,IAAsC;gBAEtC,IAAI,mBAAmB,EAAE;oBACvB,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;YACD,oCAAoC,CAClC,IAAkC;gBAElC,IAAI,yBAAyB,EAAE;oBAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;YACD,mCAAmC,CACjC,IAAiC;gBAEjC,IACE,IAAI,CAAC,MAAM;oBACX,MAAM,IAAI,IAAI,CAAC,MAAM;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAC7B;oBACA,IAAI,uBAAuB,EAAE;wBAC3B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;iBACF;qBAAM,IAAI,wBAAwB,EAAE;oBACnC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"promise-function-async.js","sourceRoot":"","sources":["../../src/rules/promise-function-async.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAI+C;AAC/C,+CAAiC;AACjC,8CAAgC;AAchC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE;YACJ,WAAW,EACT,2EAA2E;YAC7E,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,+CAA+C;SAC9D;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;qBAChB;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,SAAS;qBAChB;oBACD,yBAAyB,EAAE;wBACzB,IAAI,EAAE,SAAS;qBAChB;oBACD,wBAAwB,EAAE;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD,uBAAuB,EAAE;wBACvB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,IAAI;YACzB,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,IAAI;YAC9B,uBAAuB,EAAE,IAAI;SAC9B;KACF;IACD,MAAM,CACJ,OAAO,EACP,CACE,EACE,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,EACF;QAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,SAAS;YACT,GAAG,mBAAoB;SACxB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE3C,SAAS,YAAY,CACnB,IAG+B;;YAE/B,MAAM,YAAY,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,OAAO;iBACvB,iBAAiB,CAAC,YAAY,CAAC;iBAC/B,iBAAiB,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACtB,OAAO;aACR;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,IACE,CAAC,IAAI,CAAC,sBAAsB,CAC1B,UAAU,EACV,QAAS,EACT,sBAAsB,CACvB,EACD;gBACA,+BAA+B;gBAC/B,OAAO;aACR;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,mCAAc,CAAC,0BAA0B,EAAE;gBACnE,iCAAiC;gBACjC,OAAO;aACR;YAED,IACE,IAAI,CAAC,MAAM;gBACX,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,QAAQ;oBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,CAAC;gBACvD,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,EAC1D;gBACA,qCAAqC;gBACrC,OAAO;aACR;YAED,IACE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EACvE;gBACA,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,MAAM,CAAC;oBACpB,SAAS,EAAE,cAAc;oBACzB,IAAI;oBACJ,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;iBAC/C,CAAC,CAAC;aACJ;YAED,OAAO,CAAC,MAAM,CAAC;gBACb,SAAS,EAAE,cAAc;gBACzB,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC9C,GAAG,EAAE,KAAK,CAAC,EAAE;oBACX,IACE,IAAI,CAAC,MAAM;wBACX,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;4BACnD,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,QAAQ;gCAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACxB;wBACA,wEAAwE;wBACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;wBAE3B,kCAAkC;wBAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAE,CAAC;wBAEjD,8CAA8C;wBAC9C,IACE,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;4BAC/C,MAAM,CAAC,UAAU,EACjB;4BACA,MAAM,aAAa,GACjB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BAClD,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;yBACrD;wBAED,uEAAuE;wBACvE,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAe,CAAC,OAAO,EAAE;4BAChD,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC;yBAChD;wBAED,2DAA2D;wBAC3D,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,cAAe,CAC7C,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAE,EACpC,QAAQ,CACT,CAAC;wBAEF,IAAI,IAAI,GAAG,QAAQ,CAAC;wBACpB,IAAI,WAAW,EAAE;4BACf,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;yBACnB;wBACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/C;oBAED,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,wCAAwC,CACtC,IAAsC;gBAEtC,IAAI,mBAAmB,EAAE;oBACvB,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;YACD,oCAAoC,CAClC,IAAkC;gBAElC,IAAI,yBAAyB,EAAE;oBAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;YACD,mCAAmC,CACjC,IAAiC;gBAEjC,IACE,IAAI,CAAC,MAAM;oBACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAC7B;oBACA,IAAI,uBAAuB,EAAE;wBAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;qBACpB;oBACD,OAAO;iBACR;gBACD,IAAI,wBAAwB,EAAE;oBAC5B,YAAY,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/quotes.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/quotes.js.map index de3a0e5dc..f93fd80cc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/quotes.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/quotes.js.map @@ -1 +1 @@ -{"version":3,"file":"quotes.js","sourceRoot":"","sources":["../../src/rules/quotes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,qEAA+C;AAC/C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EACT,0EAA0E;YAC5E,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,QAAE,gBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EAAE,mCAAmC;SACjD;QACD,MAAM,EAAE,gBAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,qBAAqB,EAAE,KAAK;YAC5B,WAAW,EAAE,KAAK;SACnB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,gBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,sBAAsB,CAAC,IAAsB;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3B,QAAQ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;gBACpB,KAAK,mCAAc,CAAC,0BAA0B,CAAC;gBAC/C,KAAK,mCAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,aAAa,CAAC;gBAClC,KAAK,mCAAc,CAAC,yBAAyB;oBAC3C,OAAO,IAAI,CAAC;gBAEd,KAAK,mCAAc,CAAC,YAAY;oBAC9B,OAAO,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBAE5B,KAAK,mCAAc,CAAC,uBAAuB,CAAC;gBAC5C,KAAK,mCAAc,CAAC,aAAa;oBAC/B,OAAO,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;gBAE7B;oBACE,OAAO,KAAK,CAAC;aAChB;QACH,CAAC;QAED,OAAO;YACL,OAAO,CAAC,IAAI;gBACV,IAAI,MAAM,KAAK,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;oBACzD,OAAO;iBACR;gBAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,eAAe,CAAC,IAAI;gBAClB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"quotes.js","sourceRoot":"","sources":["../../src/rules/quotes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,qEAA+C;AAC/C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EACT,0EAA0E;YAC5E,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAA,gBAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EAAE,mCAAmC;SACjD;QACD,MAAM,EAAE,gBAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,qBAAqB,EAAE,KAAK;YAC5B,WAAW,EAAE,KAAK;SACnB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,gBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,sBAAsB,CAAC,IAAsB;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3B,QAAQ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;gBACpB,KAAK,mCAAc,CAAC,0BAA0B,CAAC;gBAC/C,KAAK,mCAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,mCAAc,CAAC,aAAa,CAAC;gBAClC,KAAK,mCAAc,CAAC,yBAAyB;oBAC3C,OAAO,IAAI,CAAC;gBAEd,KAAK,mCAAc,CAAC,YAAY;oBAC9B,OAAO,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBAE5B,KAAK,mCAAc,CAAC,uBAAuB,CAAC;gBAC5C,KAAK,mCAAc,CAAC,aAAa;oBAC/B,OAAO,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;gBAE7B;oBACE,OAAO,KAAK,CAAC;aAChB;QACH,CAAC;QAED,OAAO;YACL,OAAO,CAAC,IAAI;gBACV,IAAI,MAAM,KAAK,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;oBACzD,OAAO;iBACR;gBAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,eAAe,CAAC,IAAI;gBAClB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map index bab6931d7..664d56858 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map @@ -1 +1 @@ -{"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js index aa2ba0742..2f0aa59fe 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js @@ -63,7 +63,8 @@ exports.default = util.createRule({ if (type.isNumberLiteral()) { return 'number'; } - if (type.isStringLiteral()) { + if (type.isStringLiteral() || + util.isTypeFlagSet(type, ts.TypeFlags.TemplateLiteral)) { return 'string'; } // is BigIntLiteral @@ -74,6 +75,10 @@ exports.default = util.createRule({ const types = type.types.map(getBaseTypeOfLiteralType); return types.every(value => value === types[0]) ? types[0] : 'invalid'; } + if (type.isIntersection()) { + const types = type.types.map(getBaseTypeOfLiteralType); + return types.some(value => value === 'string') ? 'string' : 'invalid'; + } const stringType = typeChecker.typeToString(type); if (stringType === 'number' || stringType === 'string' || diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map index df5c3ce75..8bff76b17 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map @@ -1 +1 @@ -{"version":3,"file":"restrict-plus-operands.js","sourceRoot":"","sources":["../../src/rules/restrict-plus-operands.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"restrict-plus-operands.js","sourceRoot":"","sources":["../../src/rules/restrict-plus-operands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js index 578f2f2ae..3cbc7ef1c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js @@ -57,17 +57,48 @@ exports.default = util.createRule({ hasAsync: node.async, }; } - function inTryCatch(node) { + function inTry(node) { let ancestor = node.parent; while (ancestor && !ts.isFunctionLike(ancestor)) { - if (tsutils.isTryStatement(ancestor) || - tsutils.isCatchClause(ancestor)) { + if (ts.isTryStatement(ancestor)) { return true; } ancestor = ancestor.parent; } return false; } + function inCatch(node) { + let ancestor = node.parent; + while (ancestor && !ts.isFunctionLike(ancestor)) { + if (ts.isCatchClause(ancestor)) { + return true; + } + ancestor = ancestor.parent; + } + return false; + } + function isReturnPromiseInFinally(node) { + let ancestor = node.parent; + while (ancestor && !ts.isFunctionLike(ancestor)) { + if (ts.isTryStatement(ancestor.parent) && + ts.isBlock(ancestor) && + ancestor.parent.end === ancestor.end) { + return true; + } + ancestor = ancestor.parent; + } + return false; + } + function hasFinallyBlock(node) { + let ancestor = node.parent; + while (ancestor && !ts.isFunctionLike(ancestor)) { + if (ts.isTryStatement(ancestor)) { + return !!ancestor.finallyBlock; + } + ancestor = ancestor.parent; + } + return false; + } // function findTokensToRemove() function removeAwait(fixer, node) { // Should always be an await node; but let's be safe. @@ -95,7 +126,7 @@ exports.default = util.createRule({ } function test(node, expression) { let child; - const isAwait = tsutils.isAwaitExpression(expression); + const isAwait = ts.isAwaitExpression(expression); if (isAwait) { child = expression.getChildAt(1); } @@ -108,11 +139,19 @@ exports.default = util.createRule({ return; } if (isAwait && !isThenable) { - context.report({ - messageId: 'nonPromiseAwait', - node, - fix: fixer => removeAwait(fixer, node), - }); + // any/unknown could be thenable; do not auto-fix + const useAutoFix = !(util.isTypeAnyType(type) || util.isTypeUnknownType(type)); + const fix = (fixer) => removeAwait(fixer, node); + context.report(Object.assign({ messageId: 'nonPromiseAwait', node }, (useAutoFix + ? { fix } + : { + suggest: [ + { + messageId: 'nonPromiseAwait', + fix, + }, + ], + }))); return; } if (option === 'always') { @@ -136,7 +175,7 @@ exports.default = util.createRule({ return; } if (option === 'in-try-catch') { - const isInTryCatch = inTryCatch(expression); + const isInTryCatch = inTry(expression) || inCatch(expression); if (isAwait && !isInTryCatch) { context.report({ messageId: 'disallowedPromiseAwait', @@ -145,6 +184,12 @@ exports.default = util.createRule({ }); } else if (!isAwait && isInTryCatch) { + if (inCatch(expression) && !hasFinallyBlock(expression)) { + return; + } + if (isReturnPromiseInFinally(expression)) { + return; + } context.report({ messageId: 'requiredPromiseAwait', node, diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map index 311a5366a..d5672f74b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map @@ -1 +1 @@ -{"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/semi.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/semi.js.map index 5c2e0f7f7..d9c04cbdc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/semi.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/semi.js.map @@ -1 +1 @@ -{"version":3,"file":"semi.js","sourceRoot":"","sources":["../../src/rules/semi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAI+C;AAC/C,iEAA6C;AAC7C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,kBAAkB;YAC5B,oCAAoC;YACpC,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,cAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,QAAE,cAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EAAE,oBAAoB;YACjC,SAAS,EAAE,kBAAkB;SAC9B;KACF;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,sBAAsB,EAAE,KAAK;YAC7B,gCAAgC,EAAE,KAAK;SACxC;KACF;IACD,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,cAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,mBAE/B,CAAC;QAEF;;;;;;;UAOE;QACF,MAAM,YAAY,GAAG;YACnB,mCAAc,CAAC,aAAa;YAC5B,mCAAc,CAAC,uBAAuB;YACtC,mCAAc,CAAC,0BAA0B;YACzC,mCAAc,CAAC,iBAAiB;YAChC,mCAAc,CAAC,kBAAkB;YACjC,mCAAc,CAAC,yBAAyB;YACxC,mCAAc,CAAC,sBAAsB;SACtC,CAAC,MAAM,CAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5C,GAAG,CAAC,IAAc,CAAC,GAAG,iBAAiB,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,qDACK,KAAK,GACL,YAAY,KACf,wBAAwB,CAAC,IAAI;gBAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,sBAAsB,EAAE;oBACnE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;iBACtC;YACH,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"semi.js","sourceRoot":"","sources":["../../src/rules/semi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAI+C;AAC/C,iEAA6C;AAC7C,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,kBAAkB;YAC5B,oCAAoC;YACpC,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,cAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,MAAA,cAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI;YAClC,WAAW,EAAE,oBAAoB;YACjC,SAAS,EAAE,kBAAkB;SAC9B;KACF;IACD,cAAc,EAAE;QACd,QAAQ;QACR;YACE,sBAAsB,EAAE,KAAK;YAC7B,gCAAgC,EAAE,KAAK;SACxC;KACF;IACD,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,cAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,iBAAiB,GACrB,KAAK,CAAC,mBAA2D,CAAC;QAEpE;;;;;;;UAOE;QACF,MAAM,YAAY,GAAG;YACnB,mCAAc,CAAC,aAAa;YAC5B,mCAAc,CAAC,uBAAuB;YACtC,mCAAc,CAAC,0BAA0B;YACzC,mCAAc,CAAC,iBAAiB;YAChC,mCAAc,CAAC,kBAAkB;YACjC,mCAAc,CAAC,yBAAyB;YACxC,mCAAc,CAAC,sBAAsB;SACtC,CAAC,MAAM,CAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5C,GAAG,CAAC,IAAc,CAAC,GAAG,iBAAiB,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,qDACK,KAAK,GACL,YAAY,KACf,wBAAwB,CAAC,IAAI;gBAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,mCAAc,CAAC,sBAAsB,EAAE;oBACnE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;iBACtC;YACH,CAAC,IACD;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js new file mode 100644 index 000000000..d9b392326 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js @@ -0,0 +1,229 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const util = __importStar(require("../util")); +const util_1 = require("../util"); +var Group; +(function (Group) { + Group["conditional"] = "conditional"; + Group["function"] = "function"; + Group["import"] = "import"; + Group["intersection"] = "intersection"; + Group["keyword"] = "keyword"; + Group["nullish"] = "nullish"; + Group["literal"] = "literal"; + Group["named"] = "named"; + Group["object"] = "object"; + Group["operator"] = "operator"; + Group["tuple"] = "tuple"; + Group["union"] = "union"; +})(Group || (Group = {})); +function getGroup(node) { + switch (node.type) { + case experimental_utils_1.AST_NODE_TYPES.TSParenthesizedType: + return getGroup(node.typeAnnotation); + case experimental_utils_1.AST_NODE_TYPES.TSConditionalType: + return Group.conditional; + case experimental_utils_1.AST_NODE_TYPES.TSConstructorType: + case experimental_utils_1.AST_NODE_TYPES.TSFunctionType: + return Group.function; + case experimental_utils_1.AST_NODE_TYPES.TSImportType: + return Group.import; + case experimental_utils_1.AST_NODE_TYPES.TSIntersectionType: + return Group.intersection; + case experimental_utils_1.AST_NODE_TYPES.TSAnyKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSBigIntKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSBooleanKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSNeverKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSNumberKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSObjectKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSStringKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSSymbolKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSThisType: + case experimental_utils_1.AST_NODE_TYPES.TSUnknownKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSIntrinsicKeyword: + return Group.keyword; + case experimental_utils_1.AST_NODE_TYPES.TSNullKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSUndefinedKeyword: + case experimental_utils_1.AST_NODE_TYPES.TSVoidKeyword: + return Group.nullish; + case experimental_utils_1.AST_NODE_TYPES.TSLiteralType: + case experimental_utils_1.AST_NODE_TYPES.TSTemplateLiteralType: + return Group.literal; + case experimental_utils_1.AST_NODE_TYPES.TSArrayType: + case experimental_utils_1.AST_NODE_TYPES.TSIndexedAccessType: + case experimental_utils_1.AST_NODE_TYPES.TSInferType: + case experimental_utils_1.AST_NODE_TYPES.TSTypeReference: + return Group.named; + case experimental_utils_1.AST_NODE_TYPES.TSMappedType: + case experimental_utils_1.AST_NODE_TYPES.TSTypeLiteral: + return Group.object; + case experimental_utils_1.AST_NODE_TYPES.TSTypeOperator: + case experimental_utils_1.AST_NODE_TYPES.TSTypeQuery: + return Group.operator; + case experimental_utils_1.AST_NODE_TYPES.TSTupleType: + return Group.tuple; + case experimental_utils_1.AST_NODE_TYPES.TSUnionType: + return Group.union; + // These types should never occur as part of a union/intersection + case experimental_utils_1.AST_NODE_TYPES.TSNamedTupleMember: + case experimental_utils_1.AST_NODE_TYPES.TSOptionalType: + case experimental_utils_1.AST_NODE_TYPES.TSRestType: + case experimental_utils_1.AST_NODE_TYPES.TSTypePredicate: + /* istanbul ignore next */ + throw new Error(`Unexpected Type ${node.type}`); + } +} +exports.default = util.createRule({ + name: 'sort-type-union-intersection-members', + meta: { + type: 'suggestion', + docs: { + description: 'Enforces that members of a type union/intersection are sorted alphabetically', + category: 'Stylistic Issues', + recommended: false, + }, + fixable: 'code', + messages: { + notSorted: '{{type}} type members must be sorted.', + notSortedNamed: '{{type}} type {{name}} members must be sorted.', + suggestFix: 'Sort members of type (removes all comments).', + }, + schema: [ + { + type: 'object', + properties: { + checkIntersections: { + type: 'boolean', + }, + checkUnions: { + type: 'boolean', + }, + groupOrder: { + type: 'array', + items: { + type: 'string', + enum: util_1.getEnumNames(Group), + }, + }, + }, + }, + ], + }, + defaultOptions: [ + { + checkIntersections: true, + checkUnions: true, + groupOrder: [ + Group.named, + Group.keyword, + Group.operator, + Group.literal, + Group.function, + Group.import, + Group.conditional, + Group.object, + Group.tuple, + Group.intersection, + Group.union, + Group.nullish, + ], + }, + ], + create(context, [{ checkIntersections, checkUnions, groupOrder }]) { + const sourceCode = context.getSourceCode(); + const collator = new Intl.Collator('en', { + sensitivity: 'base', + numeric: true, + }); + function checkSorting(node) { + var _a; + const sourceOrder = node.types.map(type => { + var _a; + const group = (_a = groupOrder === null || groupOrder === void 0 ? void 0 : groupOrder.indexOf(getGroup(type))) !== null && _a !== void 0 ? _a : -1; + return { + group: group === -1 ? Number.MAX_SAFE_INTEGER : group, + node: type, + text: sourceCode.getText(type), + }; + }); + const expectedOrder = [...sourceOrder].sort((a, b) => { + if (a.group !== b.group) { + return a.group - b.group; + } + return (collator.compare(a.text, b.text) || + (a.text < b.text ? -1 : a.text > b.text ? 1 : 0)); + }); + const hasComments = node.types.some(type => { + const count = sourceCode.getCommentsBefore(type).length + + sourceCode.getCommentsAfter(type).length; + return count > 0; + }); + for (let i = 0; i < expectedOrder.length; i += 1) { + if (expectedOrder[i].node !== sourceOrder[i].node) { + let messageId = 'notSorted'; + const data = { + name: '', + type: node.type === experimental_utils_1.AST_NODE_TYPES.TSIntersectionType + ? 'Intersection' + : 'Union', + }; + if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) { + messageId = 'notSortedNamed'; + data.name = node.parent.id.name; + } + const fix = fixer => { + const sorted = expectedOrder + .map(t => t.text) + .join(node.type === experimental_utils_1.AST_NODE_TYPES.TSIntersectionType ? ' & ' : ' | '); + return fixer.replaceText(node, sorted); + }; + return context.report(Object.assign({ node, + messageId, + data }, (hasComments + ? { + suggest: [ + { + messageId: 'suggestFix', + fix, + }, + ], + } + : { fix }))); + } + } + } + return { + TSIntersectionType(node) { + if (checkIntersections === true) { + checkSorting(node); + } + }, + TSUnionType(node) { + if (checkUnions === true) { + checkSorting(node); + } + }, + }; + }, +}); +//# sourceMappingURL=sort-type-union-intersection-members.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map new file mode 100644 index 000000000..83d73d0ec --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sort-type-union-intersection-members.js","sourceRoot":"","sources":["../../src/rules/sort-type-union-intersection-members.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map index 4f69e1993..e695e6b78 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map @@ -1 +1 @@ -{"version":3,"file":"space-before-function-paren.js","sourceRoot":"","sources":["../../src/rules/space-before-function-paren.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"space-before-function-paren.js","sourceRoot":"","sources":["../../src/rules/space-before-function-paren.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js new file mode 100644 index 000000000..8433f6951 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js @@ -0,0 +1,146 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const space_infix_ops_1 = __importDefault(require("eslint/lib/rules/space-infix-ops")); +const util = __importStar(require("../util")); +const UNIONS = ['|', '&']; +exports.default = util.createRule({ + name: 'space-infix-ops', + meta: { + type: 'layout', + docs: { + description: 'This rule is aimed at ensuring there are spaces around infix operators.', + category: 'Stylistic Issues', + recommended: false, + extendsBaseRule: true, + }, + fixable: space_infix_ops_1.default.meta.fixable, + schema: space_infix_ops_1.default.meta.schema, + messages: (_a = space_infix_ops_1.default.meta.messages) !== null && _a !== void 0 ? _a : { + missingSpace: "Operator '{{operator}}' must be spaced.", + }, + }, + defaultOptions: [ + { + int32Hint: false, + }, + ], + create(context) { + const rules = space_infix_ops_1.default.create(context); + const sourceCode = context.getSourceCode(); + const report = (node, operator) => { + context.report({ + node: node, + loc: operator.loc, + messageId: 'missingSpace', + data: { + operator: operator.value, + }, + fix(fixer) { + const previousToken = sourceCode.getTokenBefore(operator); + const afterToken = sourceCode.getTokenAfter(operator); + let fixString = ''; + if (operator.range[0] - previousToken.range[1] === 0) { + fixString = ' '; + } + fixString += operator.value; + if (afterToken.range[0] - operator.range[1] === 0) { + fixString += ' '; + } + return fixer.replaceText(operator, fixString); + }, + }); + }; + function isSpaceChar(token) { + return token.type === experimental_utils_1.AST_TOKEN_TYPES.Punctuator && token.value === '='; + } + function checkAndReportAssignmentSpace(node, leftNode, rightNode) { + if (!rightNode) { + return; + } + const operator = sourceCode.getFirstTokenBetween(leftNode, rightNode, isSpaceChar); + const prev = sourceCode.getTokenBefore(operator); + const next = sourceCode.getTokenAfter(operator); + if (!sourceCode.isSpaceBetween(prev, operator) || + !sourceCode.isSpaceBetween(operator, next)) { + report(node, operator); + } + } + /** + * Check if it has an assignment char and report if it's faulty + * @param node The node to report + */ + function checkForEnumAssignmentSpace(node) { + if (!node.initializer) { + return; + } + const leftNode = sourceCode.getTokenByRangeStart(node.id.range[0]); + const rightNode = sourceCode.getTokenByRangeStart(node.initializer.range[0]); + checkAndReportAssignmentSpace(node, leftNode, rightNode); + } + /** + * Check if it has an assignment char and report if it's faulty + * @param node The node to report + */ + function checkForClassPropertyAssignmentSpace(node) { + var _a, _b; + const leftNode = sourceCode.getTokenByRangeStart((_b = (_a = node.typeAnnotation) === null || _a === void 0 ? void 0 : _a.range[0]) !== null && _b !== void 0 ? _b : node.range[0]); + const rightNode = node.value + ? sourceCode.getTokenByRangeStart(node.value.range[0]) + : undefined; + checkAndReportAssignmentSpace(node, leftNode, rightNode); + } + /** + * Check if it is missing spaces between type annotations chaining + * @param typeAnnotation TypeAnnotations list + */ + function checkForTypeAnnotationSpace(typeAnnotation) { + const types = typeAnnotation.types; + types.forEach(type => { + const operator = sourceCode.getTokenBefore(type); + if (operator != null && UNIONS.includes(operator.value)) { + const prev = sourceCode.getTokenBefore(operator); + const next = sourceCode.getTokenAfter(operator); + if (!sourceCode.isSpaceBetween(prev, operator) || + !sourceCode.isSpaceBetween(operator, next)) { + report(typeAnnotation, operator); + } + } + }); + } + /** + * Check if it has an assignment char and report if it's faulty + * @param node The node to report + */ + function checkForTypeAliasAssignment(node) { + const leftNode = sourceCode.getTokenByRangeStart(node.id.range[0]); + const rightNode = sourceCode.getTokenByRangeStart(node.typeAnnotation.range[0]); + checkAndReportAssignmentSpace(node, leftNode, rightNode); + } + return Object.assign(Object.assign({}, rules), { TSEnumMember: checkForEnumAssignmentSpace, ClassProperty: checkForClassPropertyAssignmentSpace, TSTypeAliasDeclaration: checkForTypeAliasAssignment, TSUnionType: checkForTypeAnnotationSpace, TSIntersectionType: checkForTypeAnnotationSpace }); + }, +}); +//# sourceMappingURL=space-infix-ops.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js.map new file mode 100644 index 000000000..f3f4a79a0 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js.map @@ -0,0 +1 @@ +{"version":3,"file":"space-infix-ops.js","sourceRoot":"","sources":["../../src/rules/space-infix-ops.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js index 3f2454c2a..39c18ddc4 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js @@ -20,13 +20,14 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); -const ts = __importStar(require("typescript")); const tsutils = __importStar(require("tsutils")); +const ts = __importStar(require("typescript")); const util = __importStar(require("../util")); exports.default = util.createRule({ name: 'strict-boolean-expressions', meta: { type: 'suggestion', + fixable: 'code', docs: { description: 'Restricts the types allowed in boolean expressions', category: 'Best Practices', @@ -73,6 +74,17 @@ exports.default = util.createRule({ conditionErrorNullableObject: 'Unexpected nullable object value in conditional. ' + 'An explicit null check is required.', noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.', + conditionFixDefaultFalse: 'Explicitly treat nullish value the same as false (`value ?? false`)', + conditionFixDefaultEmptyString: 'Explicitly treat nullish value the same as an empty string (`value ?? ""`)', + conditionFixDefaultZero: 'Explicitly treat nullish value the same as 0 (`value ?? 0`)', + conditionFixCompareNullish: 'Change condition to check for null/undefined (`value != null`)', + conditionFixCastBoolean: 'Explicitly cast value to a boolean (`Boolean(value)`)', + conditionFixCompareTrue: 'Change condition to check if true (`value === true`)', + conditionFixCompareFalse: 'Change condition to check if false (`value === false`)', + conditionFixCompareStringLength: "Change condition to check string's length (`value.length !== 0`)", + conditionFixCompareEmptyString: 'Change condition to check for empty string (`value !== ""`)', + conditionFixCompareZero: 'Change condition to check for 0 (`value !== 0`)', + conditionFixCompareNaN: 'Change condition to check for NaN (`!Number.isNaN(value)`)', }, }, defaultOptions: [ @@ -88,9 +100,10 @@ exports.default = util.createRule({ }, ], create(context, [options]) { - const service = util.getParserServices(context); - const checker = service.program.getTypeChecker(); - const compilerOptions = service.program.getCompilerOptions(); + const parserServices = util.getParserServices(context); + const typeChecker = parserServices.program.getTypeChecker(); + const compilerOptions = parserServices.program.getCompilerOptions(); + const sourceCode = context.getSourceCode(); const isStrictNullChecks = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'strictNullChecks'); if (!isStrictNullChecks && options.allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing !== true) { @@ -144,8 +157,8 @@ exports.default = util.createRule({ } return; } - const tsNode = service.esTreeNodeToTSNodeMap.get(node); - const type = util.getConstrainedTypeAtLocation(checker, tsNode); + const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); + const type = util.getConstrainedTypeAtLocation(typeChecker, tsNode); const types = inspectVariantTypes(tsutils.unionTypeParts(type)); const is = (...wantedTypes) => types.size === wantedTypes.length && wantedTypes.every(type => types.has(type)); @@ -168,35 +181,389 @@ exports.default = util.createRule({ // nullable boolean if (is('nullish', 'boolean')) { if (!options.allowNullableBoolean) { - context.report({ node, messageId: 'conditionErrorNullableBoolean' }); + if (isLogicalNegationExpression(node.parent)) { + // if (!nullableBoolean) + context.report({ + node, + messageId: 'conditionErrorNullableBoolean', + suggest: [ + { + messageId: 'conditionFixDefaultFalse', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? false`, + }), + }, + { + messageId: 'conditionFixCompareFalse', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} === false`, + }), + }, + ], + }); + } + else { + // if (nullableBoolean) + context.report({ + node, + messageId: 'conditionErrorNullableBoolean', + suggest: [ + { + messageId: 'conditionFixDefaultFalse', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? false`, + }), + }, + { + messageId: 'conditionFixCompareTrue', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} === true`, + }), + }, + ], + }); + } } return; } + // Known edge case: truthy primitives and nullish values are always valid boolean expressions + if ((options.allowNumber && is('nullish', 'truthy number')) || + (options.allowString && is('nullish', 'truthy string'))) { + return; + } // string - if (is('string')) { + if (is('string') || is('truthy string')) { if (!options.allowString) { - context.report({ node, messageId: 'conditionErrorString' }); + if (isLogicalNegationExpression(node.parent)) { + // if (!string) + context.report({ + node, + messageId: 'conditionErrorString', + suggest: [ + { + messageId: 'conditionFixCompareStringLength', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code}.length === 0`, + }), + }, + { + messageId: 'conditionFixCompareEmptyString', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} === ""`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `!Boolean(${code})`, + }), + }, + ], + }); + } + else { + // if (string) + context.report({ + node, + messageId: 'conditionErrorString', + suggest: [ + { + messageId: 'conditionFixCompareStringLength', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code}.length > 0`, + }), + }, + { + messageId: 'conditionFixCompareEmptyString', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} !== ""`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `Boolean(${code})`, + }), + }, + ], + }); + } } return; } // nullable string if (is('nullish', 'string')) { if (!options.allowNullableString) { - context.report({ node, messageId: 'conditionErrorNullableString' }); + if (isLogicalNegationExpression(node.parent)) { + // if (!nullableString) + context.report({ + node, + messageId: 'conditionErrorNullableString', + suggest: [ + { + messageId: 'conditionFixCompareNullish', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} == null`, + }), + }, + { + messageId: 'conditionFixDefaultEmptyString', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? ""`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `!Boolean(${code})`, + }), + }, + ], + }); + } + else { + // if (nullableString) + context.report({ + node, + messageId: 'conditionErrorNullableString', + suggest: [ + { + messageId: 'conditionFixCompareNullish', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} != null`, + }), + }, + { + messageId: 'conditionFixDefaultEmptyString', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? ""`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `Boolean(${code})`, + }), + }, + ], + }); + } } return; } // number - if (is('number')) { + if (is('number') || is('truthy number')) { if (!options.allowNumber) { - context.report({ node, messageId: 'conditionErrorNumber' }); + if (isArrayLengthExpression(node, typeChecker, parserServices)) { + if (isLogicalNegationExpression(node.parent)) { + // if (!array.length) + context.report({ + node, + messageId: 'conditionErrorNumber', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} === 0`, + }), + }); + } + else { + // if (array.length) + context.report({ + node, + messageId: 'conditionErrorNumber', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} > 0`, + }), + }); + } + } + else if (isLogicalNegationExpression(node.parent)) { + // if (!number) + context.report({ + node, + messageId: 'conditionErrorNumber', + suggest: [ + { + messageId: 'conditionFixCompareZero', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + // TODO: we have to compare to 0n if the type is bigint + wrap: code => `${code} === 0`, + }), + }, + { + // TODO: don't suggest this for bigint because it can't be NaN + messageId: 'conditionFixCompareNaN', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `Number.isNaN(${code})`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `!Boolean(${code})`, + }), + }, + ], + }); + } + else { + // if (number) + context.report({ + node, + messageId: 'conditionErrorNumber', + suggest: [ + { + messageId: 'conditionFixCompareZero', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} !== 0`, + }), + }, + { + messageId: 'conditionFixCompareNaN', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `!Number.isNaN(${code})`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `Boolean(${code})`, + }), + }, + ], + }); + } } return; } // nullable number if (is('nullish', 'number')) { if (!options.allowNullableNumber) { - context.report({ node, messageId: 'conditionErrorNullableNumber' }); + if (isLogicalNegationExpression(node.parent)) { + // if (!nullableNumber) + context.report({ + node, + messageId: 'conditionErrorNullableNumber', + suggest: [ + { + messageId: 'conditionFixCompareNullish', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} == null`, + }), + }, + { + messageId: 'conditionFixDefaultZero', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? 0`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `!Boolean(${code})`, + }), + }, + ], + }); + } + else { + // if (nullableNumber) + context.report({ + node, + messageId: 'conditionErrorNullableNumber', + suggest: [ + { + messageId: 'conditionFixCompareNullish', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} != null`, + }), + }, + { + messageId: 'conditionFixDefaultZero', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} ?? 0`, + }), + }, + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `Boolean(${code})`, + }), + }, + ], + }); + } } return; } @@ -209,14 +576,51 @@ exports.default = util.createRule({ // nullable object if (is('nullish', 'object')) { if (!options.allowNullableObject) { - context.report({ node, messageId: 'conditionErrorNullableObject' }); + if (isLogicalNegationExpression(node.parent)) { + // if (!nullableObject) + context.report({ + node, + messageId: 'conditionErrorNullableObject', + fix: util.getWrappingFixer({ + sourceCode, + node: node.parent, + innerNode: node, + wrap: code => `${code} == null`, + }), + }); + } + else { + // if (nullableObject) + context.report({ + node, + messageId: 'conditionErrorNullableObject', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `${code} != null`, + }), + }); + } } return; } // any if (is('any')) { if (!options.allowAny) { - context.report({ node, messageId: 'conditionErrorAny' }); + context.report({ + node, + messageId: 'conditionErrorAny', + suggest: [ + { + messageId: 'conditionFixCastBoolean', + fix: util.getWrappingFixer({ + sourceCode, + node, + wrap: code => `Boolean(${code})`, + }), + }, + ], + }); } return; } @@ -234,11 +638,23 @@ exports.default = util.createRule({ if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.BooleanLike))) { variantTypes.add('boolean'); } - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.StringLike))) { - variantTypes.add('string'); + const strings = types.filter(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.StringLike)); + if (strings.length) { + if (strings.some(type => type.isStringLiteral() && type.value !== '')) { + variantTypes.add('truthy string'); + } + else { + variantTypes.add('string'); + } } - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.NumberLike | ts.TypeFlags.BigIntLike))) { - variantTypes.add('number'); + const numbers = types.filter(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.NumberLike | ts.TypeFlags.BigIntLike)); + if (numbers.length) { + if (numbers.some(type => type.isNumberLiteral() && type.value !== 0)) { + variantTypes.add('truthy number'); + } + else { + variantTypes.add('number'); + } } if (types.some(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Null | ts.TypeFlags.Undefined | @@ -262,4 +678,21 @@ exports.default = util.createRule({ } }, }); +function isLogicalNegationExpression(node) { + return node.type === experimental_utils_1.AST_NODE_TYPES.UnaryExpression && node.operator === '!'; +} +function isArrayLengthExpression(node, typeChecker, parserServices) { + if (node.type !== experimental_utils_1.AST_NODE_TYPES.MemberExpression) { + return false; + } + if (node.computed) { + return false; + } + if (node.property.name !== 'length') { + return false; + } + const objectTsNode = parserServices.esTreeNodeToTSNodeMap.get(node.object); + const objectType = util.getConstrainedTypeAtLocation(typeChecker, objectTsNode); + return util.isTypeArrayTypeOrUnionOfArrayTypes(objectType, typeChecker); +} //# sourceMappingURL=strict-boolean-expressions.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map index 0c4d8dfb5..7073f6cae 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map @@ -1 +1 @@ -{"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,+CAAiC;AACjC,iDAAmC;AACnC,8CAAgC;AA4BhC,kBAAe,IAAI,CAAC,UAAU,CAAqB;IACjD,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,oDAAoD;YACjE,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7B,sDAAsD,EAAE;wBACtD,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,QAAQ,EAAE;YACR,mBAAmB,EACjB,mCAAmC;gBACnC,mCAAmC;YACrC,iBAAiB,EACf,uCAAuC;gBACvC,kDAAkD;YACpD,qBAAqB,EACnB,2CAA2C;gBAC3C,gCAAgC;YAClC,6BAA6B,EAC3B,oDAAoD;gBACpD,4CAA4C;YAC9C,oBAAoB,EAClB,0CAA0C;gBAC1C,6CAA6C;YAC/C,4BAA4B,EAC1B,mDAAmD;gBACnD,mDAAmD;YACrD,oBAAoB,EAClB,0CAA0C;gBAC1C,yCAAyC;YAC3C,4BAA4B,EAC1B,mDAAmD;gBACnD,sDAAsD;YACxD,oBAAoB,EAClB,0CAA0C;gBAC1C,+BAA+B;YACjC,4BAA4B,EAC1B,mDAAmD;gBACnD,qCAAqC;YACvC,iBAAiB,EACf,kGAAkG;SACrG;KACF;IACD,cAAc,EAAE;QACd;YACE,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,QAAQ,EAAE,KAAK;YACf,sDAAsD,EAAE,KAAK;SAC9D;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAC9D,eAAe,EACf,kBAAkB,CACnB,CAAC;QAEF,IACE,CAAC,kBAAkB;YACnB,OAAO,CAAC,sDAAsD,KAAK,IAAI,EACvE;YACA,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE;oBACH,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBAC5B;gBACD,SAAS,EAAE,mBAAmB;aAC/B,CAAC,CAAC;SACJ;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;QAE9C,OAAO;YACL,qBAAqB,EAAE,mBAAmB;YAC1C,gBAAgB,EAAE,mBAAmB;YACrC,YAAY,EAAE,mBAAmB;YACjC,WAAW,EAAE,mBAAmB;YAChC,cAAc,EAAE,mBAAmB;YACnC,mCAAmC,EAAE,SAAS;YAC9C,+BAA+B,EAAE,2BAA2B;SAC7D,CAAC;QASF,SAAS,mBAAmB,CAAC,IAAoB;YAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,OAAO;aACR;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,SAAS,2BAA2B,CAAC,IAA8B;YACjE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAED;;;;;;WAMG;QACH,SAAS,SAAS,CAAC,IAAmB,EAAE,UAAU,GAAG,KAAK;YACxD,gDAAgD;YAChD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO;aACR;YACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvB,8CAA8C;YAC9C,IACE,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,QAAQ,KAAK,IAAI,EACtB;gBACA,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEjC,yEAAyE;gBACzE,IAAI,UAAU,EAAE;oBACd,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;iBACnC;gBACD,OAAO;aACR;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhE,MAAM,EAAE,GAAG,CAAC,GAAG,WAAmC,EAAW,EAAE,CAC7D,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;gBACjC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7C,UAAU;YACV,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;gBACjB,yBAAyB;gBACzB,OAAO;aACR;YAED,QAAQ;YACR,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;gBACf,uBAAuB;gBACvB,OAAO;aACR;YAED,UAAU;YACV,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;gBACjB,4BAA4B;gBAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC7D,OAAO;aACR;YAED,mBAAmB;YACnB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;oBACjC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC;iBACtE;gBACD,OAAO;aACR;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;oBACxB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;iBAC7D;gBACD,OAAO;aACR;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;oBAChC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;iBACrE;gBACD,OAAO;aACR;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;oBACxB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;iBAC7D;gBACD,OAAO;aACR;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;oBAChC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;iBACrE;gBACD,OAAO;aACR;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAChB,2BAA2B;gBAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAC5D,OAAO;aACR;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;oBAChC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;iBACrE;gBACD,OAAO;aACR;YAED,MAAM;YACN,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACrB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;iBAC1D;gBACD,OAAO;aACR;YAED,QAAQ;YACR,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAYD;;WAEG;QACH,SAAS,mBAAmB,CAAC,KAAgB;YAC3C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;YAE5C,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,OAAO,CAAC,aAAa,CACnB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACnE,CACF,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC7B;YAED,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CACtD,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC7B;YAED,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EACxE;gBACA,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAED,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,OAAO,CAAC,aAAa,CACnB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAClD,CACF,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAED,IACE,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,aAAa,CACpB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,IAAI;gBACf,EAAE,CAAC,SAAS,CAAC,SAAS;gBACtB,EAAE,CAAC,SAAS,CAAC,QAAQ;gBACrB,EAAE,CAAC,SAAS,CAAC,WAAW;gBACxB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,GAAG;gBAChB,EAAE,CAAC,SAAS,CAAC,OAAO;gBACpB,EAAE,CAAC,SAAS,CAAC,KAAK,CACrB,CACJ,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAED,IACE,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CACjE,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACzB;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBACvE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC3B;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js index 92ea5fa38..110d2f745 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js @@ -45,20 +45,6 @@ exports.default = util_1.createRule({ const service = util_1.getParserServices(context); const checker = service.program.getTypeChecker(); const compilerOptions = service.program.getCompilerOptions(); - function requiresQuoting(name) { - if (name.length === 0) { - return true; - } - if (!ts.isIdentifierStart(name.charCodeAt(0), compilerOptions.target)) { - return true; - } - for (let i = 1; i < name.length; i += 1) { - if (!ts.isIdentifierPart(name.charCodeAt(i), compilerOptions.target)) { - return true; - } - } - return false; - } function getNodeType(node) { const tsNode = service.esTreeNodeToTSNodeMap.get(node); return util_1.getConstrainedTypeAtLocation(checker, tsNode); @@ -90,7 +76,7 @@ exports.default = util_1.createRule({ let caseTest = checker.typeToString(missingBranchType); if (symbolName && (missingBranchName || missingBranchName === '') && - requiresQuoting(missingBranchName.toString())) { + util_1.requiresQuoting(missingBranchName.toString(), compilerOptions.target)) { caseTest = `${symbolName}['${missingBranchName}']`; } const errorMessage = `Not implemented yet: ${caseTest} case`; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map index 0a8b9daf6..db25a308d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map @@ -1 +1 @@ -{"version":3,"file":"switch-exhaustiveness-check.js","sourceRoot":"","sources":["../../src/rules/switch-exhaustiveness-check.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"switch-exhaustiveness-check.js","sourceRoot":"","sources":["../../src/rules/switch-exhaustiveness-check.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js index 943df2eb8..e5139ed76 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js @@ -83,9 +83,10 @@ exports.default = util.createRule({ }, TSImportEqualsDeclaration(node) { if (programNode) { - const source = node.moduleReference - .expression; - hasMatchingReference(source); + const reference = node.moduleReference; + if (reference.type === experimental_utils_1.AST_NODE_TYPES.TSExternalModuleReference) { + hasMatchingReference(reference.expression); + } } }, Program(node) { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map index 3efae8a3f..8fdc0eaa9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map @@ -1 +1 @@ -{"version":3,"file":"triple-slash-reference.js","sourceRoot":"","sources":["../../src/rules/triple-slash-reference.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"triple-slash-reference.js","sourceRoot":"","sources":["../../src/rules/triple-slash-reference.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js index fc017d7a9..74f168601 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js @@ -90,6 +90,7 @@ exports.default = util.createRule({ expectedSpaceBefore: "Expected a space before the '{{type}}'.", unexpectedSpaceAfter: "Unexpected space after the '{{type}}'.", unexpectedSpaceBefore: "Unexpected space before the '{{type}}'.", + unexpectedSpaceBetween: "Unexpected space between the '{{previousToken}}' and the '{{type}}'.", }, schema: [ { @@ -138,6 +139,22 @@ exports.default = util.createRule({ } const { before, after } = getRules(ruleSet, typeAnnotation); if (type === ':' && previousToken.value === '?') { + if (sourceCode.isSpaceBetweenTokens(previousToken, punctuatorTokenStart)) { + context.report({ + node: punctuatorTokenStart, + messageId: 'unexpectedSpaceBetween', + data: { + type, + previousToken: previousToken.value, + }, + fix(fixer) { + return fixer.removeRange([ + previousToken.range[1], + punctuatorTokenStart.range[0], + ]); + }, + }); + } // shift the start to the ? type = '?:'; punctuatorTokenStart = previousToken; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js.map index fb0086405..31a825752 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/type-annotation-spacing.js.map @@ -1 +1 @@ -{"version":3,"file":"type-annotation-spacing.js","sourceRoot":"","sources":["../../src/rules/type-annotation-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"type-annotation-spacing.js","sourceRoot":"","sources":["../../src/rules/type-annotation-spacing.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map index bc2080836..de8d00f60 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map @@ -1 +1 @@ -{"version":3,"file":"typedef.js","sourceRoot":"","sources":["../../src/rules/typedef.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"typedef.js","sourceRoot":"","sources":["../../src/rules/typedef.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js index 88777e02a..196ba1e87 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js @@ -111,6 +111,7 @@ const isNotImported = (symbol, currentSourceFile) => { }; const getNodeName = (node) => node.type === experimental_utils_1.AST_NODE_TYPES.Identifier ? node.name : null; const getMemberFullName = (node) => `${getNodeName(node.object)}.${getNodeName(node.property)}`; +const BASE_MESSAGE = 'Avoid referencing unbound methods which may cause unintentional scoping of `this`.'; exports.default = util.createRule({ name: 'unbound-method', meta: { @@ -121,7 +122,10 @@ exports.default = util.createRule({ requiresTypeChecking: true, }, messages: { - unbound: 'Avoid referencing unbound methods which may cause unintentional scoping of `this`.', + unbound: BASE_MESSAGE, + unboundWithoutThisAnnotation: BASE_MESSAGE + + '\n' + + 'If your function does not access `this`, you can annotate it with `this: void`, or consider using an arrow function instead.', }, schema: [ { @@ -145,6 +149,20 @@ exports.default = util.createRule({ const parserServices = util.getParserServices(context); const checker = parserServices.program.getTypeChecker(); const currentSourceFile = parserServices.program.getSourceFile(context.getFilename()); + function checkMethodAndReport(node, symbol) { + if (!symbol) { + return; + } + const { dangerous, firstParamIsThis } = checkMethod(symbol, ignoreStatic); + if (dangerous) { + context.report({ + messageId: firstParamIsThis === false + ? 'unboundWithoutThisAnnotation' + : 'unbound', + node, + }); + } + } return { MemberExpression(node) { if (isSafeUse(node)) { @@ -157,13 +175,7 @@ exports.default = util.createRule({ return; } const originalNode = parserServices.esTreeNodeToTSNodeMap.get(node); - const symbol = checker.getSymbolAtLocation(originalNode); - if (symbol && isDangerousMethod(symbol, ignoreStatic)) { - context.report({ - messageId: 'unbound', - node, - }); - } + checkMethodAndReport(node, checker.getSymbolAtLocation(originalNode)); }, 'VariableDeclarator, AssignmentExpression'(node) { const [idNode, initNode] = node.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator @@ -182,13 +194,7 @@ exports.default = util.createRule({ nativelyBoundMembers.includes(`${initNode.name}.${property.key.name}`)) { return; } - const symbol = initTypes.getProperty(property.key.name); - if (symbol && isDangerousMethod(symbol, ignoreStatic)) { - context.report({ - messageId: 'unbound', - node, - }); - } + checkMethodAndReport(node, initTypes.getProperty(property.key.name)); } }); } @@ -196,23 +202,36 @@ exports.default = util.createRule({ }; }, }); -function isDangerousMethod(symbol, ignoreStatic) { - var _a; +function checkMethod(symbol, ignoreStatic) { + var _a, _b; const { valueDeclaration } = symbol; if (!valueDeclaration) { // working around https://github.com/microsoft/TypeScript/issues/31294 - return false; + return { dangerous: false }; } switch (valueDeclaration.kind) { case ts.SyntaxKind.PropertyDeclaration: - return (((_a = valueDeclaration.initializer) === null || _a === void 0 ? void 0 : _a.kind) === - ts.SyntaxKind.FunctionExpression); + return { + dangerous: ((_a = valueDeclaration.initializer) === null || _a === void 0 ? void 0 : _a.kind) === + ts.SyntaxKind.FunctionExpression, + }; case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.MethodSignature: - return !(ignoreStatic && - tsutils.hasModifier(valueDeclaration.modifiers, ts.SyntaxKind.StaticKeyword)); + case ts.SyntaxKind.MethodSignature: { + const decl = valueDeclaration; + const firstParam = decl.parameters[0]; + const firstParamIsThis = (firstParam === null || firstParam === void 0 ? void 0 : firstParam.name.kind) === ts.SyntaxKind.Identifier && + (firstParam === null || firstParam === void 0 ? void 0 : firstParam.name.escapedText) === 'this'; + const thisArgIsVoid = firstParamIsThis && + ((_b = firstParam === null || firstParam === void 0 ? void 0 : firstParam.type) === null || _b === void 0 ? void 0 : _b.kind) === ts.SyntaxKind.VoidKeyword; + return { + dangerous: !thisArgIsVoid && + !(ignoreStatic && + tsutils.hasModifier(valueDeclaration.modifiers, ts.SyntaxKind.StaticKeyword)), + firstParamIsThis, + }; + } } - return false; + return { dangerous: false }; } function isSafeUse(node) { const parent = node.parent; @@ -238,7 +257,12 @@ function isSafeUse(node) { case experimental_utils_1.AST_NODE_TYPES.BinaryExpression: return ['instanceof', '==', '!=', '===', '!=='].includes(parent.operator); case experimental_utils_1.AST_NODE_TYPES.AssignmentExpression: - return parent.operator === '=' && node === parent.left; + return (parent.operator === '=' && + (node === parent.left || + (node.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + node.object.type === experimental_utils_1.AST_NODE_TYPES.Super && + parent.left.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + parent.left.object.type === experimental_utils_1.AST_NODE_TYPES.ThisExpression))); case experimental_utils_1.AST_NODE_TYPES.ChainExpression: case experimental_utils_1.AST_NODE_TYPES.TSNonNullExpression: case experimental_utils_1.AST_NODE_TYPES.TSAsExpression: diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map index a42745e42..ce70932b9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map @@ -1 +1 @@ -{"version":3,"file":"unbound-method.js","sourceRoot":"","sources":["../../src/rules/unbound-method.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"unbound-method.js","sourceRoot":"","sources":["../../src/rules/unbound-method.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map index ce84d5caf..c31604440 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map @@ -1 +1 @@ -{"version":3,"file":"unified-signatures.js","sourceRoot":"","sources":["../../src/rules/unified-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"unified-signatures.js","sourceRoot":"","sources":["../../src/rules/unified-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js index 249bf798b..9b40782d3 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js @@ -10,6 +10,33 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.getNameLocationInGlobalDirectiveComment = void 0; +const escapeRegExp_1 = require("./escapeRegExp"); // deeply re-export, for convenience __exportStar(require("@typescript-eslint/experimental-utils/dist/ast-utils"), exports); +// The following is copied from `eslint`'s source code since it doesn't exist in eslint@5. +// https://github.com/eslint/eslint/blob/145aec1ab9052fbca96a44d04927c595951b1536/lib/rules/utils/ast-utils.js#L1751-L1779 +// Could be export { getNameLocationInGlobalDirectiveComment } from 'eslint/lib/rules/utils/ast-utils' +/** + * Get the `loc` object of a given name in a `/*globals` directive comment. + * @param {SourceCode} sourceCode The source code to convert index to loc. + * @param {Comment} comment The `/*globals` directive comment which include the name. + * @param {string} name The name to find. + * @returns {SourceLocation} The `loc` object. + */ +function getNameLocationInGlobalDirectiveComment(sourceCode, comment, name) { + const namePattern = new RegExp(`[\\s,]${escapeRegExp_1.escapeRegExp(name)}(?:$|[\\s,:])`, 'gu'); + // To ignore the first text "global". + namePattern.lastIndex = comment.value.indexOf('global') + 6; + // Search a given variable name. + const match = namePattern.exec(comment.value); + // Convert the index to loc. + const start = sourceCode.getLocFromIndex(comment.range[0] + '/*'.length + (match ? match.index + 1 : 0)); + const end = { + line: start.line, + column: start.column + (match ? name.length : 1), + }; + return { start, end }; +} +exports.getNameLocationInGlobalDirectiveComment = getNameLocationInGlobalDirectiveComment; //# sourceMappingURL=astUtils.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map index 872e04e40..e16818b44 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"astUtils.js","sourceRoot":"","sources":["../../src/util/astUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAoC;AACpC,uFAAqE"} \ No newline at end of file +{"version":3,"file":"astUtils.js","sourceRoot":"","sources":["../../src/util/astUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,iDAA8C;AAE9C,oCAAoC;AACpC,uFAAqE;AAErE,0FAA0F;AAC1F,0HAA0H;AAC1H,sGAAsG;AACtG;;;;;;GAMG;AACH,SAAgB,uCAAuC,CACrD,UAA+B,EAC/B,OAAyB,EACzB,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,SAAS,2BAAY,CAAC,IAAI,CAAC,eAAe,EAC1C,IAAI,CACL,CAAC;IAEF,qCAAqC;IACrC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5D,gCAAgC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9C,4BAA4B;IAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AA1BD,0FA0BC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js new file mode 100644 index 000000000..880388aa1 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js @@ -0,0 +1,585 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +var _UnusedVarsVisitor_scopeManager; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.collectUnusedVariables = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const scope_manager_1 = require("@typescript-eslint/scope-manager"); +const Visitor_1 = require("@typescript-eslint/scope-manager/dist/referencer/Visitor"); +const util = __importStar(require(".")); +class UnusedVarsVisitor extends Visitor_1.Visitor { + // readonly #unusedVariables = new Set(); + constructor(context) { + super({ + visitChildrenEvenIfSelectorExists: true, + }); + _UnusedVarsVisitor_scopeManager.set(this, void 0); + //#endregion HELPERS + //#region VISITORS + // NOTE - This is a simple visitor - meaning it does not support selectors + this.ClassDeclaration = this.visitClass; + this.ClassExpression = this.visitClass; + this.FunctionDeclaration = this.visitFunction; + this.FunctionExpression = this.visitFunction; + this.MethodDefinition = this.visitSetter; + this.Property = this.visitSetter; + this.TSCallSignatureDeclaration = this.visitFunctionTypeSignature; + this.TSConstructorType = this.visitFunctionTypeSignature; + this.TSConstructSignatureDeclaration = this.visitFunctionTypeSignature; + this.TSDeclareFunction = this.visitFunctionTypeSignature; + this.TSEmptyBodyFunctionExpression = this.visitFunctionTypeSignature; + this.TSFunctionType = this.visitFunctionTypeSignature; + this.TSMethodSignature = this.visitFunctionTypeSignature; + __classPrivateFieldSet(this, _UnusedVarsVisitor_scopeManager, util.nullThrows(context.getSourceCode().scopeManager, 'Missing required scope manager'), "f"); + } + static collectUnusedVariables(context) { + const program = context.getSourceCode().ast; + const cached = this.RESULTS_CACHE.get(program); + if (cached) { + return cached; + } + const visitor = new this(context); + visitor.visit(program); + const unusedVars = visitor.collectUnusedVariables(visitor.getScope(program)); + this.RESULTS_CACHE.set(program, unusedVars); + return unusedVars; + } + collectUnusedVariables(scope, unusedVariables = new Set()) { + for (const variable of scope.variables) { + if ( + // skip function expression names, + scope.functionExpressionScope || + // variables marked with markVariableAsUsed(), + variable.eslintUsed || + // implicit lib variables (from @typescript-eslint/scope-manager), + variable instanceof scope_manager_1.ImplicitLibVariable || + // basic exported variables + isExported(variable) || + // variables implicitly exported via a merged declaration + isMergableExported(variable) || + // used variables + isUsedVariable(variable)) { + continue; + } + unusedVariables.add(variable); + } + for (const childScope of scope.childScopes) { + this.collectUnusedVariables(childScope, unusedVariables); + } + return unusedVariables; + } + //#region HELPERS + getScope(currentNode) { + // On Program node, get the outermost scope to avoid return Node.js special function scope or ES modules scope. + const inner = currentNode.type !== experimental_utils_1.AST_NODE_TYPES.Program; + let node = currentNode; + while (node) { + const scope = __classPrivateFieldGet(this, _UnusedVarsVisitor_scopeManager, "f").acquire(node, inner); + if (scope) { + if (scope.type === 'function-expression-name') { + return scope.childScopes[0]; + } + return scope; + } + node = node.parent; + } + return __classPrivateFieldGet(this, _UnusedVarsVisitor_scopeManager, "f").scopes[0]; + } + markVariableAsUsed(variableOrIdentifierOrName, parent) { + if (typeof variableOrIdentifierOrName !== 'string' && + !('type' in variableOrIdentifierOrName)) { + variableOrIdentifierOrName.eslintUsed = true; + return; + } + let name; + let node; + if (typeof variableOrIdentifierOrName === 'string') { + name = variableOrIdentifierOrName; + node = parent; + } + else { + name = variableOrIdentifierOrName.name; + node = variableOrIdentifierOrName; + } + let currentScope = this.getScope(node); + while (currentScope) { + const variable = currentScope.variables.find(scopeVar => scopeVar.name === name); + if (variable) { + variable.eslintUsed = true; + return; + } + currentScope = currentScope.upper; + } + } + visitClass(node) { + // skip a variable of class itself name in the class scope + const scope = this.getScope(node); + for (const variable of scope.variables) { + if (variable.identifiers[0] === scope.block.id) { + this.markVariableAsUsed(variable); + return; + } + } + } + visitFunction(node) { + const scope = this.getScope(node); + // skip implicit "arguments" variable + const variable = scope.set.get('arguments'); + if ((variable === null || variable === void 0 ? void 0 : variable.defs.length) === 0) { + this.markVariableAsUsed(variable); + } + } + visitFunctionTypeSignature(node) { + // function type signature params create variables because they can be referenced within the signature, + // but they obviously aren't unused variables for the purposes of this rule. + for (const param of node.params) { + this.visitPattern(param, name => { + this.markVariableAsUsed(name); + }); + } + } + visitSetter(node) { + if (node.kind === 'set') { + // ignore setter parameters because they're syntactically required to exist + for (const param of node.value.params) { + this.visitPattern(param, id => { + this.markVariableAsUsed(id); + }); + } + } + } + ForInStatement(node) { + /** + * (Brad Zacher): I hate that this has to exist. + * But it is required for compat with the base ESLint rule. + * + * In 2015, ESLint decided to add an exception for these two specific cases + * ``` + * for (var key in object) return; + * + * var key; + * for (key in object) return; + * ``` + * + * I disagree with it, but what are you going to do... + * + * https://github.com/eslint/eslint/issues/2342 + */ + let idOrVariable; + if (node.left.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclaration) { + const variable = __classPrivateFieldGet(this, _UnusedVarsVisitor_scopeManager, "f").getDeclaredVariables(node.left)[0]; + if (!variable) { + return; + } + idOrVariable = variable; + } + if (node.left.type === experimental_utils_1.AST_NODE_TYPES.Identifier) { + idOrVariable = node.left; + } + if (idOrVariable == null) { + return; + } + let body = node.body; + if (node.body.type === experimental_utils_1.AST_NODE_TYPES.BlockStatement) { + if (node.body.body.length !== 1) { + return; + } + body = node.body.body[0]; + } + if (body.type !== experimental_utils_1.AST_NODE_TYPES.ReturnStatement) { + return; + } + this.markVariableAsUsed(idOrVariable); + } + Identifier(node) { + const scope = this.getScope(node); + if (scope.type === experimental_utils_1.TSESLint.Scope.ScopeType.function && + node.name === 'this') { + // this parameters should always be considered used as they're pseudo-parameters + if ('params' in scope.block && scope.block.params.includes(node)) { + this.markVariableAsUsed(node); + } + } + } + TSEnumDeclaration(node) { + // enum members create variables because they can be referenced within the enum, + // but they obviously aren't unused variables for the purposes of this rule. + const scope = this.getScope(node); + for (const variable of scope.variables) { + this.markVariableAsUsed(variable); + } + } + TSMappedType(node) { + // mapped types create a variable for their type name, but it's not necessary to reference it, + // so we shouldn't consider it as unused for the purpose of this rule. + this.markVariableAsUsed(node.typeParameter.name); + } + TSModuleDeclaration(node) { + // global augmentation can be in any file, and they do not need exports + if (node.global === true) { + this.markVariableAsUsed('global', node.parent); + } + } + TSParameterProperty(node) { + let identifier = null; + switch (node.parameter.type) { + case experimental_utils_1.AST_NODE_TYPES.AssignmentPattern: + if (node.parameter.left.type === experimental_utils_1.AST_NODE_TYPES.Identifier) { + identifier = node.parameter.left; + } + break; + case experimental_utils_1.AST_NODE_TYPES.Identifier: + identifier = node.parameter; + break; + } + if (identifier) { + this.markVariableAsUsed(identifier); + } + } +} +_UnusedVarsVisitor_scopeManager = new WeakMap(); +UnusedVarsVisitor.RESULTS_CACHE = new WeakMap(); +//#region private helpers +/** + * Checks the position of given nodes. + * @param inner A node which is expected as inside. + * @param outer A node which is expected as outside. + * @returns `true` if the `inner` node exists in the `outer` node. + */ +function isInside(inner, outer) { + return inner.range[0] >= outer.range[0] && inner.range[1] <= outer.range[1]; +} +/** + * Determine if an identifier is referencing an enclosing name. + * This only applies to declarations that create their own scope (modules, functions, classes) + * @param ref The reference to check. + * @param nodes The candidate function nodes. + * @returns True if it's a self-reference, false if not. + */ +function isSelfReference(ref, nodes) { + let scope = ref.from; + while (scope) { + if (nodes.has(scope.block)) { + return true; + } + scope = scope.upper; + } + return false; +} +const MERGABLE_TYPES = new Set([ + experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration, + experimental_utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration, + experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration, + experimental_utils_1.AST_NODE_TYPES.ClassDeclaration, + experimental_utils_1.AST_NODE_TYPES.FunctionDeclaration, +]); +/** + * Determine if the variable is directly exported + * @param variable the variable to check + * @param target the type of node that is expected to be exported + */ +function isMergableExported(variable) { + var _a, _b; + // If all of the merged things are of the same type, TS will error if not all of them are exported - so we only need to find one + for (const def of variable.defs) { + // parameters can never be exported. + // their `node` prop points to the function decl, which can be exported + // so we need to special case them + if (def.type === experimental_utils_1.TSESLint.Scope.DefinitionType.Parameter) { + continue; + } + if ((MERGABLE_TYPES.has(def.node.type) && + ((_a = def.node.parent) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.ExportNamedDeclaration) || + ((_b = def.node.parent) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.ExportDefaultDeclaration) { + return true; + } + } + return false; +} +/** + * Determines if a given variable is being exported from a module. + * @param variable eslint-scope variable object. + * @returns True if the variable is exported, false if not. + */ +function isExported(variable) { + const definition = variable.defs[0]; + if (definition) { + let node = definition.node; + if (node.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator) { + node = node.parent; + } + else if (definition.type === experimental_utils_1.TSESLint.Scope.DefinitionType.Parameter) { + return false; + } + return node.parent.type.indexOf('Export') === 0; + } + return false; +} +/** + * Determines if the variable is used. + * @param variable The variable to check. + * @returns True if the variable is used + */ +function isUsedVariable(variable) { + /** + * Gets a list of function definitions for a specified variable. + * @param variable eslint-scope variable object. + * @returns Function nodes. + */ + function getFunctionDefinitions(variable) { + const functionDefinitions = new Set(); + variable.defs.forEach(def => { + var _a, _b; + // FunctionDeclarations + if (def.type === experimental_utils_1.TSESLint.Scope.DefinitionType.FunctionName) { + functionDefinitions.add(def.node); + } + // FunctionExpressions + if (def.type === experimental_utils_1.TSESLint.Scope.DefinitionType.Variable && + (((_a = def.node.init) === null || _a === void 0 ? void 0 : _a.type) === experimental_utils_1.AST_NODE_TYPES.FunctionExpression || + ((_b = def.node.init) === null || _b === void 0 ? void 0 : _b.type) === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression)) { + functionDefinitions.add(def.node.init); + } + }); + return functionDefinitions; + } + function getTypeDeclarations(variable) { + const nodes = new Set(); + variable.defs.forEach(def => { + if (def.node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration || + def.node.type === experimental_utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) { + nodes.add(def.node); + } + }); + return nodes; + } + function getModuleDeclarations(variable) { + const nodes = new Set(); + variable.defs.forEach(def => { + if (def.node.type === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration) { + nodes.add(def.node); + } + }); + return nodes; + } + /** + * Checks if the ref is contained within one of the given nodes + */ + function isInsideOneOf(ref, nodes) { + for (const node of nodes) { + if (isInside(ref.identifier, node)) { + return true; + } + } + return false; + } + /** + * If a given reference is left-hand side of an assignment, this gets + * the right-hand side node of the assignment. + * + * In the following cases, this returns null. + * + * - The reference is not the LHS of an assignment expression. + * - The reference is inside of a loop. + * - The reference is inside of a function scope which is different from + * the declaration. + * @param ref A reference to check. + * @param prevRhsNode The previous RHS node. + * @returns The RHS node or null. + */ + function getRhsNode(ref, prevRhsNode) { + /** + * Checks whether the given node is in a loop or not. + * @param node The node to check. + * @returns `true` if the node is in a loop. + */ + function isInLoop(node) { + let currentNode = node; + while (currentNode) { + if (util.isFunction(currentNode)) { + break; + } + if (util.isLoop(currentNode)) { + return true; + } + currentNode = currentNode.parent; + } + return false; + } + const id = ref.identifier; + const parent = id.parent; + const grandparent = parent.parent; + const refScope = ref.from.variableScope; + const varScope = ref.resolved.scope.variableScope; + const canBeUsedLater = refScope !== varScope || isInLoop(id); + /* + * Inherits the previous node if this reference is in the node. + * This is for `a = a + a`-like code. + */ + if (prevRhsNode && isInside(id, prevRhsNode)) { + return prevRhsNode; + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.AssignmentExpression && + grandparent.type === experimental_utils_1.AST_NODE_TYPES.ExpressionStatement && + id === parent.left && + !canBeUsedLater) { + return parent.right; + } + return null; + } + /** + * Checks whether a given reference is a read to update itself or not. + * @param ref A reference to check. + * @param rhsNode The RHS node of the previous assignment. + * @returns The reference is a read to update itself. + */ + function isReadForItself(ref, rhsNode) { + /** + * Checks whether a given Identifier node exists inside of a function node which can be used later. + * + * "can be used later" means: + * - the function is assigned to a variable. + * - the function is bound to a property and the object can be used later. + * - the function is bound as an argument of a function call. + * + * If a reference exists in a function which can be used later, the reference is read when the function is called. + * @param id An Identifier node to check. + * @param rhsNode The RHS node of the previous assignment. + * @returns `true` if the `id` node exists inside of a function node which can be used later. + */ + function isInsideOfStorableFunction(id, rhsNode) { + /** + * Finds a function node from ancestors of a node. + * @param node A start node to find. + * @returns A found function node. + */ + function getUpperFunction(node) { + let currentNode = node; + while (currentNode) { + if (util.isFunction(currentNode)) { + return currentNode; + } + currentNode = currentNode.parent; + } + return null; + } + /** + * Checks whether a given function node is stored to somewhere or not. + * If the function node is stored, the function can be used later. + * @param funcNode A function node to check. + * @param rhsNode The RHS node of the previous assignment. + * @returns `true` if under the following conditions: + * - the funcNode is assigned to a variable. + * - the funcNode is bound as an argument of a function call. + * - the function is bound to a property and the object satisfies above conditions. + */ + function isStorableFunction(funcNode, rhsNode) { + let node = funcNode; + let parent = funcNode.parent; + while (parent && isInside(parent, rhsNode)) { + switch (parent.type) { + case experimental_utils_1.AST_NODE_TYPES.SequenceExpression: + if (parent.expressions[parent.expressions.length - 1] !== node) { + return false; + } + break; + case experimental_utils_1.AST_NODE_TYPES.CallExpression: + case experimental_utils_1.AST_NODE_TYPES.NewExpression: + return parent.callee !== node; + case experimental_utils_1.AST_NODE_TYPES.AssignmentExpression: + case experimental_utils_1.AST_NODE_TYPES.TaggedTemplateExpression: + case experimental_utils_1.AST_NODE_TYPES.YieldExpression: + return true; + default: + if (parent.type.endsWith('Statement') || + parent.type.endsWith('Declaration')) { + /* + * If it encountered statements, this is a complex pattern. + * Since analyzing complex patterns is hard, this returns `true` to avoid false positive. + */ + return true; + } + } + node = parent; + parent = parent.parent; + } + return false; + } + const funcNode = getUpperFunction(id); + return (!!funcNode && + isInside(funcNode, rhsNode) && + isStorableFunction(funcNode, rhsNode)); + } + const id = ref.identifier; + const parent = id.parent; + const grandparent = parent.parent; + return (ref.isRead() && // in RHS of an assignment for itself. e.g. `a = a + 1` + // self update. e.g. `a += 1`, `a++` + ((parent.type === experimental_utils_1.AST_NODE_TYPES.AssignmentExpression && + grandparent.type === experimental_utils_1.AST_NODE_TYPES.ExpressionStatement && + parent.left === id) || + (parent.type === experimental_utils_1.AST_NODE_TYPES.UpdateExpression && + grandparent.type === experimental_utils_1.AST_NODE_TYPES.ExpressionStatement) || + (!!rhsNode && + isInside(id, rhsNode) && + !isInsideOfStorableFunction(id, rhsNode)))); + } + const functionNodes = getFunctionDefinitions(variable); + const isFunctionDefinition = functionNodes.size > 0; + const typeDeclNodes = getTypeDeclarations(variable); + const isTypeDecl = typeDeclNodes.size > 0; + const moduleDeclNodes = getModuleDeclarations(variable); + const isModuleDecl = moduleDeclNodes.size > 0; + let rhsNode = null; + return variable.references.some(ref => { + const forItself = isReadForItself(ref, rhsNode); + rhsNode = getRhsNode(ref, rhsNode); + return (ref.isRead() && + !forItself && + !(isFunctionDefinition && isSelfReference(ref, functionNodes)) && + !(isTypeDecl && isInsideOneOf(ref, typeDeclNodes)) && + !(isModuleDecl && isSelfReference(ref, moduleDeclNodes))); + }); +} +//#endregion private helpers +/** + * Collects the set of unused variables for a given context. + * + * Due to complexity, this does not take into consideration: + * - variables within declaration files + * - variables within ambient module declarations + */ +function collectUnusedVariables(context) { + return UnusedVarsVisitor.collectUnusedVariables(context); +} +exports.collectUnusedVariables = collectUnusedVariables; +//# sourceMappingURL=collectUnusedVariables.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map new file mode 100644 index 000000000..dd410998d --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map @@ -0,0 +1 @@ +{"version":3,"file":"collectUnusedVariables.js","sourceRoot":"","sources":["../../src/util/collectUnusedVariables.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js index b7066ab41..4799c815a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.createRule = void 0; const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); // note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder +// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const version = require('../../package.json').version; exports.createRule = experimental_utils_1.ESLintUtils.RuleCreator(name => `https://github.com/typescript-eslint/typescript-eslint/blob/v${version}/packages/eslint-plugin/docs/rules/${name}.md`); //# sourceMappingURL=createRule.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map index 768d51b07..c94f0c140 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map @@ -1 +1 @@ -{"version":3,"file":"createRule.js","sourceRoot":"","sources":["../../src/util/createRule.ts"],"names":[],"mappings":";;;AAAA,8EAAoE;AAEpE,sHAAsH;AACtH,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAEzC,QAAA,UAAU,GAAG,gCAAW,CAAC,WAAW,CAC/C,IAAI,CAAC,EAAE,CACL,gEAAgE,OAAO,sCAAsC,IAAI,KAAK,CACzH,CAAC"} \ No newline at end of file +{"version":3,"file":"createRule.js","sourceRoot":"","sources":["../../src/util/createRule.ts"],"names":[],"mappings":";;;AAAA,8EAAoE;AAEpE,sHAAsH;AACtH,mEAAmE;AACnE,MAAM,OAAO,GAAW,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAEjD,QAAA,UAAU,GAAG,gCAAW,CAAC,WAAW,CAC/C,IAAI,CAAC,EAAE,CACL,gEAAgE,OAAO,sCAAsC,IAAI,KAAK,CACzH,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js new file mode 100644 index 000000000..35c84903e --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.escapeRegExp = void 0; +/** + * Lodash + * Released under MIT license + */ +const reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +const reHasRegExpChar = RegExp(reRegExpChar.source); +function escapeRegExp(string = '') { + return string && reHasRegExpChar.test(string) + ? string.replace(reRegExpChar, '\\$&') + : string; +} +exports.escapeRegExp = escapeRegExp; +//# sourceMappingURL=escapeRegExp.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map new file mode 100644 index 000000000..4a5814031 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"escapeRegExp.js","sourceRoot":"","sources":["../../src/util/escapeRegExp.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAEpD,SAAgB,YAAY,CAAC,MAAM,GAAG,EAAE;IACtC,OAAO,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAJD,oCAIC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js index ad102492d..ff151592a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js @@ -3,52 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.isTypedFunctionExpression = exports.doesImmediatelyReturnFunctionExpression = exports.checkFunctionReturnType = exports.checkFunctionExpressionReturnType = void 0; const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const astUtils_1 = require("./astUtils"); +const getFunctionHeadLoc_1 = require("./getFunctionHeadLoc"); const nullThrows_1 = require("./nullThrows"); -/** - * Creates a report location for the given function. - * The location only encompasses the "start" of the function, and not the body - * - * eg. - * function foo(args) {} - * ^^^^^^^^^^^^^^^^^^ - * - * get y(args) {} - * ^^^^^^^^^^^ - * - * const x = (args) => {} - * ^^^^^^^^^ - */ -function getReporLoc(node, sourceCode) { - /** - * Returns start column position - * @param node - */ - function getLocStart() { - /* highlight method name */ - const parent = node.parent; - if (parent && - (parent.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition || - (parent.type === experimental_utils_1.AST_NODE_TYPES.Property && parent.method))) { - return parent.loc.start; - } - return node.loc.start; - } - /** - * Returns end column position - * @param node - */ - function getLocEnd() { - /* highlight `=>` */ - if (node.type === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { - return sourceCode.getTokenBefore(node.body, token => token.type === experimental_utils_1.AST_TOKEN_TYPES.Punctuator && token.value === '=>').loc.end; - } - return sourceCode.getTokenBefore(node.body).loc.end; - } - return { - start: getLocStart(), - end: getLocEnd(), - }; -} /** * Checks if a node is a variable declarator with a type annotation. * ``` @@ -78,11 +34,12 @@ function isConstructorArgument(node) { return node.type === experimental_utils_1.AST_NODE_TYPES.NewExpression; } /** - * Checks if a node belongs to: + * Checks if a node is a property or a nested property of a typed object: * ``` * const x: Foo = { prop: () => {} } * const x = { prop: () => {} } as Foo * const x = { prop: () => {} } + * const x: Foo = { bar: { prop: () => {} } } * ``` */ function isPropertyOfObjectWithType(property) { @@ -101,7 +58,8 @@ function isPropertyOfObjectWithType(property) { return (astUtils_1.isTypeAssertion(parent) || isClassPropertyWithTypeAnnotation(parent) || isVariableDeclaratorWithTypeAnnotation(parent) || - isFunctionArgument(parent)); + isFunctionArgument(parent) || + isPropertyOfObjectWithType(parent)); } /** * Checks if a function belongs to: @@ -225,7 +183,7 @@ function checkFunctionReturnType(node, options, sourceCode, report) { if (isValidFunctionReturnType(node, options)) { return; } - report(getReporLoc(node, sourceCode)); + report(getFunctionHeadLoc_1.getFunctionHeadLoc(node, sourceCode)); } exports.checkFunctionReturnType = checkFunctionReturnType; /** diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map index 1dbb920a0..4f0518405 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"explicitReturnTypeUtils.js","sourceRoot":"","sources":["../../src/util/explicitReturnTypeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"explicitReturnTypeUtils.js","sourceRoot":"","sources":["../../src/util/explicitReturnTypeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js new file mode 100644 index 000000000..b3a3b27b4 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getFunctionHeadLoc = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +/** + * Creates a report location for the given function. + * The location only encompasses the "start" of the function, and not the body + * + * eg. + * + * ``` + * function foo(args) {} + * ^^^^^^^^^^^^^^^^^^ + * + * get y(args) {} + * ^^^^^^^^^^^ + * + * const x = (args) => {} + * ^^^^^^^^^ + * ``` + */ +function getFunctionHeadLoc(node, sourceCode) { + function getLocStart() { + if (node.parent && node.parent.type === experimental_utils_1.AST_NODE_TYPES.MethodDefinition) { + // return the start location for class method + if (node.parent.decorators && node.parent.decorators.length > 0) { + // exclude decorators + return sourceCode.getTokenAfter(node.parent.decorators[node.parent.decorators.length - 1]).loc.start; + } + return node.parent.loc.start; + } + if (node.parent && + node.parent.type === experimental_utils_1.AST_NODE_TYPES.Property && + node.parent.method) { + // return the start location for object method shorthand + return node.parent.loc.start; + } + // return the start location for a regular function + return node.loc.start; + } + function getLocEnd() { + if (node.type === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { + // find the end location for arrow function expression + return sourceCode.getTokenBefore(node.body, token => token.type === experimental_utils_1.AST_TOKEN_TYPES.Punctuator && token.value === '=>').loc.end; + } + // return the end location for a regular function + return sourceCode.getTokenBefore(node.body).loc.end; + } + return { + start: getLocStart(), + end: getLocEnd(), + }; +} +exports.getFunctionHeadLoc = getFunctionHeadLoc; +//# sourceMappingURL=getFunctionHeadLoc.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map new file mode 100644 index 000000000..77aca2dba --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getFunctionHeadLoc.js","sourceRoot":"","sources":["../../src/util/getFunctionHeadLoc.ts"],"names":[],"mappings":";;;AAAA,8EAK+C;AAO/C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,kBAAkB,CAChC,IAAkB,EAClB,UAA+B;IAE/B,SAAS,WAAW;QAClB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,EAAE;YACvE,6CAA6C;YAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,qBAAqB;gBACrB,OAAO,UAAU,CAAC,aAAa,CAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CACzD,CAAC,GAAG,CAAC,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;SAC9B;QAED,IACE,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,QAAQ;YAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB;YACA,wDAAwD;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;SAC9B;QAED,mDAAmD;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,SAAS,SAAS;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,uBAAuB,EAAE;YACxD,sDAAsD;YACtD,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,oCAAe,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CACnE,CAAC,GAAG,CAAC,GAAG,CAAC;SACZ;QAED,iDAAiD;QACjD,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACvD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAW,EAAE;QACpB,GAAG,EAAE,SAAS,EAAE;KACjB,CAAC;AACJ,CAAC;AAjDD,gDAiDC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js new file mode 100644 index 000000000..dee0776b0 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getThisExpression = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +function getThisExpression(node) { + while (node) { + if (node.type === experimental_utils_1.AST_NODE_TYPES.CallExpression) { + node = node.callee; + } + else if (node.type === experimental_utils_1.AST_NODE_TYPES.ThisExpression) { + return node; + } + else if (node.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression) { + node = node.object; + } + else if (node.type === experimental_utils_1.AST_NODE_TYPES.ChainExpression) { + node = node.expression; + } + else { + break; + } + } + return; +} +exports.getThisExpression = getThisExpression; +//# sourceMappingURL=getThisExpression.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map new file mode 100644 index 000000000..d19d08141 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getThisExpression.js","sourceRoot":"","sources":["../../src/util/getThisExpression.ts"],"names":[],"mappings":";;;AAAA,8EAG+C;AAE/C,SAAgB,iBAAiB,CAC/B,IAAmB;IAEnB,OAAO,IAAI,EAAE;QACX,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc,EAAE;YAC/C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,cAAc,EAAE;YACtD,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,gBAAgB,EAAE;YACxD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAc,CAAC,eAAe,EAAE;YACvD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;SACxB;aAAM;YACL,MAAM;SACP;KACF;IAED,OAAO;AACT,CAAC;AAlBD,8CAkBC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js new file mode 100644 index 000000000..a81d6063c --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js @@ -0,0 +1,160 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWrappingFixer = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); +const util = __importStar(require("../util")); +/** + * Wraps node with some code. Adds parenthesis as necessary. + * @returns Fixer which adds the specified code and parens if necessary. + */ +function getWrappingFixer(params) { + const { sourceCode, node, innerNode = node, wrap } = params; + const innerNodes = Array.isArray(innerNode) ? innerNode : [innerNode]; + return (fixer) => { + const innerCodes = innerNodes.map(innerNode => { + let code = sourceCode.getText(innerNode); + // check the inner expression's precedence + if (!isStrongPrecedenceNode(innerNode)) { + // the code we are adding might have stronger precedence than our wrapped node + // let's wrap our node in parens in case it has a weaker precedence than the code we are wrapping it in + code = `(${code})`; + } + return code; + }); + // do the wrapping + let code = wrap(...innerCodes); + // check the outer expression's precedence + if (isWeakPrecedenceParent(node)) { + // we wrapped the node in some expression which very likely has a different precedence than original wrapped node + // let's wrap the whole expression in parens just in case + if (!util.isParenthesized(node, sourceCode)) { + code = `(${code})`; + } + } + // check if we need to insert semicolon + if (/^[`([]/.exec(code) && isMissingSemicolonBefore(node, sourceCode)) { + code = `;${code}`; + } + return fixer.replaceText(node, code); + }; +} +exports.getWrappingFixer = getWrappingFixer; +/** + * Check if a node will always have the same precedence if it's parent changes. + */ +function isStrongPrecedenceNode(innerNode) { + return (innerNode.type === experimental_utils_1.AST_NODE_TYPES.Literal || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.Identifier || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.ArrayExpression || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.ObjectExpression || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.CallExpression || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.NewExpression || + innerNode.type === experimental_utils_1.AST_NODE_TYPES.TaggedTemplateExpression); +} +/** + * Check if a node's parent could have different precedence if the node changes. + */ +function isWeakPrecedenceParent(node) { + const parent = node.parent; + if (parent.type === experimental_utils_1.AST_NODE_TYPES.UpdateExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.UnaryExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.BinaryExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.LogicalExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.ConditionalExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.AwaitExpression) { + return true; + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression && + parent.object === node) { + return true; + } + if ((parent.type === experimental_utils_1.AST_NODE_TYPES.CallExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.NewExpression) && + parent.callee === node) { + return true; + } + if (parent.type === experimental_utils_1.AST_NODE_TYPES.TaggedTemplateExpression && + parent.tag === node) { + return true; + } + return false; +} +/** + * Returns true if a node is at the beginning of expression statement and the statement above doesn't end with semicolon. + * Doesn't check if the node begins with `(`, `[` or `` ` ``. + */ +function isMissingSemicolonBefore(node, sourceCode) { + for (;;) { + const parent = node.parent; + if (parent.type === experimental_utils_1.AST_NODE_TYPES.ExpressionStatement) { + const block = parent.parent; + if (block.type === experimental_utils_1.AST_NODE_TYPES.Program || + block.type === experimental_utils_1.AST_NODE_TYPES.BlockStatement) { + // parent is an expression statement in a block + const statementIndex = block.body.indexOf(parent); + const previousStatement = block.body[statementIndex - 1]; + if (statementIndex > 0 && + sourceCode.getLastToken(previousStatement).value !== ';') { + return true; + } + } + } + if (!isLeftHandSide(node)) { + return false; + } + node = parent; + } +} +/** + * Checks if a node is LHS of an operator. + */ +function isLeftHandSide(node) { + const parent = node.parent; + // a++ + if (parent.type === experimental_utils_1.AST_NODE_TYPES.UpdateExpression) { + return true; + } + // a + b + if ((parent.type === experimental_utils_1.AST_NODE_TYPES.BinaryExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.LogicalExpression || + parent.type === experimental_utils_1.AST_NODE_TYPES.AssignmentExpression) && + node === parent.left) { + return true; + } + // a ? b : c + if (parent.type === experimental_utils_1.AST_NODE_TYPES.ConditionalExpression && + node === parent.test) { + return true; + } + // a(b) + if (parent.type === experimental_utils_1.AST_NODE_TYPES.CallExpression && node === parent.callee) { + return true; + } + // a`b` + if (parent.type === experimental_utils_1.AST_NODE_TYPES.TaggedTemplateExpression && + node === parent.tag) { + return true; + } + return false; +} +//# sourceMappingURL=getWrappingFixer.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map new file mode 100644 index 000000000..150f01022 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWrappingFixer.js","sourceRoot":"","sources":["../../src/util/getWrappingFixer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js index 9ab6ac9a2..964f8bca6 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js @@ -13,14 +13,20 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.getParserServices = exports.isObjectNotArray = exports.deepMerge = exports.applyDefault = void 0; const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); __exportStar(require("./astUtils"), exports); +__exportStar(require("./collectUnusedVariables"), exports); __exportStar(require("./createRule"), exports); +__exportStar(require("./getFunctionHeadLoc"), exports); +__exportStar(require("./getThisExpression"), exports); +__exportStar(require("./getWrappingFixer"), exports); __exportStar(require("./isTypeReadonly"), exports); __exportStar(require("./misc"), exports); __exportStar(require("./nullThrows"), exports); __exportStar(require("./objectIterators"), exports); +__exportStar(require("./propertyTypes"), exports); +__exportStar(require("./requiresQuoting"), exports); __exportStar(require("./types"), exports); // this is done for convenience - saves migrating all of the old rules -const { applyDefault, deepMerge, isObjectNotArray, getParserServices, } = experimental_utils_1.ESLintUtils; +const { applyDefault, deepMerge, isObjectNotArray, getParserServices } = experimental_utils_1.ESLintUtils; exports.applyDefault = applyDefault; exports.deepMerge = deepMerge; exports.isObjectNotArray = isObjectNotArray; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map index d3ef1edb1..6e317d87e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8EAAoE;AAEpE,6CAA2B;AAC3B,+CAA6B;AAC7B,mDAAiC;AACjC,yCAAuB;AACvB,+CAA6B;AAC7B,oDAAkC;AAClC,0CAAwB;AAExB,sEAAsE;AACtE,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,GAClB,GAAG,gCAAW,CAAC;AAOd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8EAAoE;AAEpE,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,sDAAoC;AACpC,qDAAmC;AACnC,mDAAiC;AACjC,yCAAuB;AACvB,+CAA6B;AAC7B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,0CAAwB;AAExB,sEAAsE;AACtE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GACpE,gCAAW,CAAC;AAMZ,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js index 754b09d2a..78f5f4620 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js @@ -79,7 +79,7 @@ function isTypeReadonlyObject(checker, type, seenTypes) { // as we might be able to bail out early due to a mutable property before // doing this deep, potentially expensive check. for (const property of properties) { - const propertyType = _1.nullThrows(checker.getTypeOfPropertyOfType(type, property.getName()), _1.NullThrowsReasons.MissingToken(`property "${property.name}"`, 'type')); + const propertyType = _1.nullThrows(_1.getTypeOfPropertyOfType(checker, type, property), _1.NullThrowsReasons.MissingToken(`property "${property.name}"`, 'type')); // handle recursive types. // we only need this simple check, because a mutable recursive type will break via the above prop readonly check if (seenTypes.has(propertyType)) { diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js.map index e4705c029..7cfab62df 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js.map @@ -1 +1 @@ -{"version":3,"file":"isTypeReadonly.js","sourceRoot":"","sources":["../../src/util/isTypeReadonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"isTypeReadonly.js","sourceRoot":"","sources":["../../src/util/isTypeReadonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js new file mode 100644 index 000000000..6470d8f48 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTypeOfPropertyOfType = exports.getTypeOfPropertyOfName = void 0; +function getTypeOfPropertyOfName(checker, type, name, escapedName) { + // Most names are directly usable in the checker and aren't different from escaped names + if (!escapedName || !name.startsWith('__')) { + return checker.getTypeOfPropertyOfType(type, name); + } + // Symbolic names may differ in their escaped name compared to their human-readable name + // https://github.com/typescript-eslint/typescript-eslint/issues/2143 + const escapedProperty = type + .getProperties() + .find(property => property.escapedName === escapedName); + return escapedProperty + ? checker.getDeclaredTypeOfSymbol(escapedProperty) + : undefined; +} +exports.getTypeOfPropertyOfName = getTypeOfPropertyOfName; +function getTypeOfPropertyOfType(checker, type, property) { + return getTypeOfPropertyOfName(checker, type, property.getName(), property.getEscapedName()); +} +exports.getTypeOfPropertyOfType = getTypeOfPropertyOfType; +//# sourceMappingURL=propertyTypes.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js.map new file mode 100644 index 000000000..06e4a077c --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/propertyTypes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"propertyTypes.js","sourceRoot":"","sources":["../../src/util/propertyTypes.ts"],"names":[],"mappings":";;;AAEA,SAAgB,uBAAuB,CACrC,OAAuB,EACvB,IAAa,EACb,IAAY,EACZ,WAAyB;IAEzB,wFAAwF;IACxF,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC1C,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;IAED,wFAAwF;IACxF,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAI;SACzB,aAAa,EAAE;SACf,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAE1D,OAAO,eAAe;QACpB,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AApBD,0DAoBC;AAED,SAAgB,uBAAuB,CACrC,OAAuB,EACvB,IAAa,EACb,QAAmB;IAEnB,OAAO,uBAAuB,CAC5B,OAAO,EACP,IAAI,EACJ,QAAQ,CAAC,OAAO,EAAE,EAClB,QAAQ,CAAC,cAAc,EAAE,CAC1B,CAAC;AACJ,CAAC;AAXD,0DAWC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js new file mode 100644 index 000000000..c8dafe277 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js @@ -0,0 +1,39 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.requiresQuoting = void 0; +const ts = __importStar(require("typescript")); +function requiresQuoting(name, target = ts.ScriptTarget.ESNext) { + if (name.length === 0) { + return true; + } + if (!ts.isIdentifierStart(name.charCodeAt(0), target)) { + return true; + } + for (let i = 1; i < name.length; i += 1) { + if (!ts.isIdentifierPart(name.charCodeAt(i), target)) { + return true; + } + } + return false; +} +exports.requiresQuoting = requiresQuoting; +//# sourceMappingURL=requiresQuoting.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js.map new file mode 100644 index 000000000..bea7ea2ae --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/requiresQuoting.js.map @@ -0,0 +1 @@ +{"version":3,"file":"requiresQuoting.js","sourceRoot":"","sources":["../../src/util/requiresQuoting.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAS,eAAe,CACtB,IAAY,EACZ,SAA0B,EAAE,CAAC,YAAY,CAAC,MAAM;IAEhD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;QACrD,OAAO,IAAI,CAAC;KACb;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACvC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAEQ,0CAAe"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js b/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js index bb543a358..14b38b21b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js @@ -23,6 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getContextualType = exports.isUnsafeAssignment = exports.isAnyOrAnyArrayTypeDiscriminated = exports.isTypeUnknownArrayType = exports.isTypeAnyArrayType = exports.isTypeAnyType = exports.isTypeUnknownType = exports.getTypeArguments = exports.getEqualsKind = exports.getTokenAtPosition = exports.getSourceFileOfNode = exports.typeIsOrHasBaseType = exports.isTypeFlagSet = exports.getTypeFlags = exports.getDeclaration = exports.isNullableType = exports.getConstrainedTypeAtLocation = exports.getTypeName = exports.containsAllTypesByName = exports.isTypeArrayTypeOrUnionOfArrayTypes = void 0; +const experimental_utils_1 = require("@typescript-eslint/experimental-utils"); const debug_1 = __importDefault(require("debug")); const tsutils_1 = require("tsutils"); const ts = __importStar(require("typescript")); @@ -329,7 +330,7 @@ exports.isAnyOrAnyArrayTypeDiscriminated = isAnyOrAnyArrayTypeDiscriminated; * * @returns false if it's safe, or an object with the two types if it's unsafe */ -function isUnsafeAssignment(type, receiver, checker) { +function isUnsafeAssignment(type, receiver, checker, senderNode) { var _a, _b; if (isTypeAnyType(type)) { // Allow assignment of any ==> unknown. @@ -358,12 +359,22 @@ function isUnsafeAssignment(type, receiver, checker) { // the generic positions might not be equivalent for both types return false; } + if ((senderNode === null || senderNode === void 0 ? void 0 : senderNode.type) === experimental_utils_1.AST_NODE_TYPES.NewExpression && + senderNode.callee.type === experimental_utils_1.AST_NODE_TYPES.Identifier && + senderNode.callee.name === 'Map' && + senderNode.arguments.length === 0 && + senderNode.typeParameters == null) { + // special case to handle `new Map()` + // unfortunately Map's default empty constructor is typed to return `Map` :( + // https://github.com/typescript-eslint/typescript-eslint/issues/2109#issuecomment-634144396 + return false; + } const typeArguments = (_a = type.typeArguments) !== null && _a !== void 0 ? _a : []; const receiverTypeArguments = (_b = receiver.typeArguments) !== null && _b !== void 0 ? _b : []; for (let i = 0; i < typeArguments.length; i += 1) { const arg = typeArguments[i]; const receiverArg = receiverTypeArguments[i]; - const unsafe = isUnsafeAssignment(arg, receiverArg, checker); + const unsafe = isUnsafeAssignment(arg, receiverArg, checker, senderNode); if (unsafe) { return { sender: type, receiver }; } @@ -400,6 +411,12 @@ function getContextualType(checker, node) { else if (tsutils_1.isPropertyAssignment(parent) && tsutils_1.isIdentifier(node)) { return checker.getContextualType(node); } + else if (tsutils_1.isBinaryExpression(parent) && + parent.operatorToken.kind === ts.SyntaxKind.EqualsToken && + parent.right === node) { + // is RHS of assignment + return checker.getTypeAtLocation(parent.left); + } else if (![ts.SyntaxKind.TemplateSpan, ts.SyntaxKind.JsxExpression].includes(parent.kind)) { // parent is not something we know we can get the contextual type of return; diff --git a/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map b/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map index 275e1eedd..b070e338b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map +++ b/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map @@ -1 +1 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAG+C;AAC/C,kDAA0B;AAC1B,qCAaiB;AACjB,+CAAiC;AAEjC,MAAM,GAAG,GAAG,eAAK,CAAC,6CAA6C,CAAC,CAAC;AAEjE;;;GAGG;AACH,SAAgB,kCAAkC,CAChD,IAAa,EACb,OAAuB;IAEvB,KAAK,MAAM,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,gFAWC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,IAAa,EACb,QAAiB,EACjB,YAAyB;IAEzB,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAChE,OAAO,CAAC,QAAQ,CAAC;KAClB;IAED,IAAI,yBAAe,CAAC,IAAI,CAAC,EAAE;QACzB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC;KACb;IAED,IAAI,mCAAyB,CAAC,IAAI,CAAC,EAAE;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC1B,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAClD,CAAC;KACH;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,OAAO,CACL,OAAO,KAAK,KAAK,WAAW;QAC5B,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC;AA9BD,wDA8BC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CACzB,WAA2B,EAC3B,IAAa;IAEb,0DAA0D;IAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAChD,OAAO,QAAQ,CAAC;KACjB;IAED,wEAAwE;IACxE,sEAAsE;IACtE,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACnD,sEAAsE;QACtE,uEAAuE;QACvE,WAAW;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAgC,CAAC;QAChE,IACE,EAAE,CAAC,0BAA0B,CAAC,aAAa,CAAC;YAC5C,aAAa,CAAC,UAAU,IAAI,IAAI,EAChC;YACA,OAAO,WAAW,CAChB,WAAW,EACX,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAC1D,CAAC;SACH;KACF;IAED,qEAAqE;IACrE,gCAAgC;IAChC,2BAA2B;IAC3B,uCAAuC;IACvC,IACE,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,KAAK;aACP,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC7C,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC7B;QACA,OAAO,QAAQ,CAAC;KACjB;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,IACE,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,KAAK;aACP,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC5B;QACA,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAvDD,kCAuDC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAC1C,OAAuB,EACvB,IAAa;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAE9D,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAC;AACjC,CAAC;AARD,oEAQC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,IAAa,EACb,EACE,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,IAAI,MACiC,EAAE;IAE1D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACnE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;KACrE;SAAM;QACL,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AACH,CAAC;AAlBD,wCAkBC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,OAAuB,EACvB,IAAmB;;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,OAAO,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC;AACnC,CAAC;AAVD,wCAUC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,KAAK,GAAiB,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,EAAE;QACpC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;KAClB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,oCAMC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,IAAa,EACb,YAA0B,EAC1B,UAAoB;IAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACnE,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAZD,sCAYC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,IAAa,EACb,UAAmB;IAEnB,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;QACtC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAE1C,IAAI,aAAa,EAAE;QACjB,gBAAgB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;KACzC;IAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;YACvD,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAxBD,kDAwBC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE;QACrD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,OAAO,IAAqB,CAAC;AAC/B,CAAC;AALD,kDAKC;AAED,SAAgB,kBAAkB,CAChC,UAAyB,EACzB,QAAgB;IAEhB,MAAM,KAAK,GAAc,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,OAAgB,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QACzB,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;YACnD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,QAAQ,EAAE;gBACpB,kFAAkF;gBAClF,OAAO,OAAO,CAAC;aAChB;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,IACE,QAAQ,GAAG,GAAG;gBACd,CAAC,QAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EACjE;gBACA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM;aACP;SACF;KACF;IACD,OAAO,OAAQ,CAAC;AAClB,CAAC;AA3BD,gDA2BC;AAOD,SAAgB,aAAa,CAAC,QAAgB;IAC5C,QAAQ,QAAQ,EAAE;QAChB,KAAK,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aAChB,CAAC;QAEJ,KAAK,KAAK;YACR,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACf,CAAC;QAEJ,KAAK,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QAEJ,KAAK,KAAK;YACR,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC;QAEJ;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC;AA7BD,sCA6BC;AAED,SAAgB,gBAAgB,CAC9B,IAAsB,EACtB,OAAuB;;IAEvB,2CAA2C;IAC3C,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC5B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KACvC;IAED,OAAO,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;AAClC,CAAC;AAVD,4CAUC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAa;IAC7C,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAa;IACzC,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QACzC,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;YAClC,GAAG,CAAC,2BAA2B,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AARD,sCAQC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,IAAa,EACb,OAAuB;IAEvB,OAAO,CACL,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QACzB,aAAa;QACX,2CAA2C;QAC3C,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CAAC;AACJ,CAAC;AAXD,gDAWC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,IAAa,EACb,OAAuB;IAEvB,OAAO,CACL,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QACzB,iBAAiB;QACf,2CAA2C;QAC3C,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CAAC;AACJ,CAAC;AAXD,wDAWC;AAOD;;;GAGG;AACH,SAAgB,gCAAgC,CAC9C,IAAa,EACb,OAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;QACvB,mBAAmB;KACpB;IACD,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QACrC,wBAAwB;KACzB;IACD,oBAAoB;AACtB,CAAC;AAZD,4EAYC;AAED;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAChC,IAAa,EACb,QAAiB,EACjB,OAAuB,EACvB,UAAgC;;IAEhC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;QACvB,uCAAuC;QACvC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SACnC;KACF;IAED,IAAI,yBAAe,CAAC,IAAI,CAAC,IAAI,yBAAe,CAAC,QAAQ,CAAC,EAAE;QACtD,mDAAmD;QACnD,wDAAwD;QACxD;;;;;;;;;UASE;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;YACnC,mGAAmG;YACnG,+DAA+D;YAC/D,OAAO,KAAK,CAAC;SACd;QAED,IACE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,mCAAc,CAAC,aAAa;YACjD,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,mCAAc,CAAC,UAAU;YACpD,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;YAChC,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,cAAc,IAAI,IAAI,EACjC;YACA,qCAAqC;YACrC,sFAAsF;YACtF,4FAA4F;YAC5F,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;QAC/C,MAAM,qBAAqB,GAAG,MAAA,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACzE,IAAI,MAAM,EAAE;gBACV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aACnC;SACF;QAED,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAnED,gDAmEC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,OAAuB,EACvB,IAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;KACR;IAED,IAAI,0BAAgB,CAAC,MAAM,CAAC,IAAI,yBAAe,CAAC,MAAM,CAAC,EAAE;QACvD,IAAI,IAAI,KAAK,MAAM,CAAC,UAAU,EAAE;YAC9B,2CAA2C;YAC3C,OAAO;SACR;KACF;SAAM,IACL,+BAAqB,CAAC,MAAM,CAAC;QAC7B,+BAAqB,CAAC,MAAM,CAAC;QAC7B,gCAAsB,CAAC,MAAM,CAAC,EAC9B;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC3E;SAAM,IAAI,yBAAe,CAAC,MAAM,CAAC,EAAE;QAClC,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1C;SAAM,IAAI,8BAAoB,CAAC,MAAM,CAAC,IAAI,sBAAY,CAAC,IAAI,CAAC,EAAE;QAC7D,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACxC;SAAM,IACL,4BAAkB,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;QACvD,MAAM,CAAC,KAAK,KAAK,IAAI,EACrB;QACA,uBAAuB;QACvB,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC/C;SAAM,IACL,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,QAAQ,CACjE,MAAM,CAAC,IAAI,CACZ,EACD;QACA,oEAAoE;QACpE,OAAO;KACR;IACD,2CAA2C;IAE3C,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AA1CD,8CA0CC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md index 2ed521c29..75e2b1c6d 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md @@ -92,6 +92,25 @@ const e: string[] = ['a', 'b']; const f: readonly string[] = ['a', 'b']; ``` +## Combination matrix + +This matrix lists all possible option combinations and their expected results for different types of Arrays. + +| defaultOption | readonlyOption | Array with simple type | Array with non simple type | Readonly array with simple type | Readonly array with non simple type | +| -------------- | -------------- | ---------------------- | -------------------------- | ------------------------------- | ----------------------------------- | +| `array` | | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `readonly (Foo & Bar)[]` | +| `array` | `array` | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `readonly (Foo & Bar)[]` | +| `array` | `array-simple` | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `ReadonlyArray` | +| `array` | `generic` | `number[]` | `(Foo & Bar)[]` | `ReadonlyArray` | `ReadonlyArray` | +| `array-simple` | | `number[]` | `Array` | `readonly number[]` | `ReadonlyArray` | +| `array-simple` | `array` | `number[]` | `Array` | `readonly number[]` | `readonly (Foo & Bar)[]` | +| `array-simple` | `array-simple` | `number[]` | `Array` | `readonly number[]` | `ReadonlyArray` | +| `array-simple` | `generic` | `number[]` | `Array` | `ReadonlyArray` | `ReadonlyArray` | +| `generic` | | `Array` | `Array` | `ReadonlyArray` | `ReadonlyArray` | +| `generic` | `array` | `Array` | `Array` | `readonly number[]` | `readonly (Foo & Bar)[]` | +| `generic` | `array-simple` | `Array` | `Array` | `readonly number[]` | `ReadonlyArray` | +| `generic` | `generic` | `Array` | `Array` | `ReadonlyArray` | `ReadonlyArray` | + ## Related to - TSLint: [array-type](https://palantir.github.io/tslint/rules/array-type/) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md index 2509793eb..bfdd41047 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md @@ -1,4 +1,4 @@ -# Bans `// @ts-` comments from being used or requires descriptions after directive (`ban-ts-comment`) +# Bans `@ts-` comments from being used or requires descriptions after directive (`ban-ts-comment`) TypeScript provides several directive comments that can be used to alter how it processes files. Using these to suppress TypeScript Compiler Errors reduces the effectiveness of TypeScript overall. @@ -41,13 +41,19 @@ const defaultOptions: Options = { A value of `true` for a particular directive means that this rule will report if it finds any usage of said directive. -For example, with the defaults above the following patterns are considered warnings: +For example, with the defaults above the following patterns are considered warnings for single line or comment block lines: ```ts if (false) { // @ts-ignore: Unreachable code error console.log('hello'); } +if (false) { + /* + @ts-ignore: Unreachable code error + */ + console.log('hello'); +} ``` The following patterns are not warnings: @@ -63,22 +69,32 @@ if (false) { A value of `'allow-with-description'` for a particular directive means that this rule will report if it finds a directive that does not have a description following the directive (on the same line). -For example, with `{ 'ts-expect-error': 'allow-with-description' }` the following pattern is considered a warning: +For example, with `{ 'ts-expect-error': 'allow-with-description' }` the following patterns are considered a warning: ```ts if (false) { // @ts-expect-error console.log('hello'); } +if (false) { + /* @ts-expect-error */ + console.log('hello'); +} ``` -The following pattern is not a warning: +The following patterns are not a warning: ```ts if (false) { // @ts-expect-error: Unreachable code error console.log('hello'); } +if (false) { + /* + @ts-expect-error: Unreachable code error + */ + console.log('hello'); +} ``` ### `minimumDescriptionLength` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md index 9f279ea7b..bf59ffb84 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md @@ -28,7 +28,7 @@ type Options = { The rule accepts a single object as options, with the following keys: - `types` - An object whose keys are the types you want to ban, and the values are error messages. - - The type can either be a type name literal (`Foo`), a type name with generic parameter instantiation(s) (`Foo`), or the empty object literal (`{}`). + - The type can either be a type name literal (`Foo`), a type name with generic parameter instantiation(s) (`Foo`), the empty object literal (`{}`), or the empty tuple type (`[]`). - The values can be a string, which is the error message to be reported, `false` to specifically disable this type or it can be an object with the following properties: - `message: string` - the message to display when the type is matched. @@ -46,7 +46,7 @@ Example configuration: { "types": { // add a custom message to help explain why not to use it - "Foo": "Don't use Far because it is unsafe", + "Foo": "Don't use Foo because it is unsafe", // add a custom message, AND tell the plugin how to fix it "String": { @@ -74,6 +74,7 @@ The default options provide a set of "best practices", intended to provide safet - It accepts class declarations, which will fail when called, as they are called without the `new` keyword. - Avoid the `Object` and `{}` types, as they mean "any non-nullish value". - This is a point of confusion for many developers, who think it means "any object type". + - See [this comment for more information](https://github.com/typescript-eslint/typescript-eslint/issues/2063#issuecomment-675156492). - Avoid the `object` type, as it is currently hard to use due to not being able to assert that keys exist. - See [microsoft/TypeScript#21732](https://github.com/microsoft/TypeScript/issues/21732). diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md new file mode 100644 index 000000000..bfb40d338 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md @@ -0,0 +1,34 @@ +# Require or disallow trailing comma (`comma-dangle`) + +## Rule Details + +This rule extends the base [`eslint/comma-dangle`](https://eslint.org/docs/rules/comma-dangle) rule. +It adds support for TypeScript syntax. + +See the [ESLint documentation](https://eslint.org/docs/rules/comma-dangle) for more details on the `comma-dangle` rule. + +## Rule Changes + +```cjson +{ + // note you must disable the base rule as it can report incorrect errors + "comma-dangle": "off", + "@typescript-eslint/comma-dangle": ["error"] +} +``` + +In addition to the options supported by the `comma-dangle` rule in ESLint core, the rule adds the following options: + +## Options + +This rule has a string option and an object option. + +- Object option: + + - `"enums"` is for trailing comma in enum. (e.g. `enum Foo = {Bar,}`) + - `"generics"` is for trailing comma in generic. (e.g. `function foo() {}`) + - `"tuples"` is for trailing comma in tuple. (e.g. `type Foo = [string,]`) + +- [See the other options allowed](https://github.com/eslint/eslint/blob/master/docs/rules/comma-dangle.md#options) + +Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/comma-dangle.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md new file mode 100644 index 000000000..c98997c5e --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md @@ -0,0 +1,67 @@ +# Enforce or disallow the use of the record type (`consistent-indexed-object-style`) + +TypeScript supports defining object show keys can be flexible using an index signature. TypeScript also has a builtin type named `Record` to create an empty object defining only an index signature. For example, the following types are equal: + +```ts +interface Foo { + [key: string]: unknown; +} + +type Foo = { + [key: string]: unknown; +}; + +type Foo = Record; +``` + +## Options + +- `"record"`: Set to `"record"` to only allow the `Record` type. Set to `"index-signature"` to only allow index signatures. (Defaults to `"record"`) + +For example: + +```CJSON +{ + "@typescript-eslint/consistent-indexed-object-style": ["error", "index-signature"] +} +``` + +## Rule details + +This rule enforces a consistent way to define records. + +Examples of **incorrect** code with `record` option. + +```ts +interface Foo { + [key: string]: unknown; +} + +type Foo = { + [key: string]: unknown; +}; +``` + +Examples of **correct** code with `record` option. + +```ts +type Foo = Record; +``` + +Examples of **incorrect** code with `index-signature` option. + +```ts +type Foo = Record; +``` + +Examples of **correct** code with `index-signature` option. + +```ts +interface Foo { + [key: string]: unknown; +} + +type Foo = { + [key: string]: unknown; +}; +``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md index 43e67b755..899647636 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md @@ -74,13 +74,14 @@ function foo(): T { Examples of **correct** code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter' }`. -```ts +```tsx const x: T = { ... }; const y = { ... } as any; const z = { ... } as unknown; foo({ ... } as T); new Clazz({ ... } as T); function foo() { throw { bar: 5 } as Foo } +const foo = ; ``` ## When Not To Use It diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md index 1688552d8..52afd3f9a 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md @@ -25,10 +25,10 @@ This rule accepts one string option: For example: -```CJSON +```jsonc { - // Use type for object definitions - "@typescript-eslint/consistent-type-definitions": ["error", "type"] + // Use type for object definitions + "@typescript-eslint/consistent-type-definitions": ["error", "type"] } ``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md index 3487bf9b5..a5808b455 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md @@ -25,7 +25,7 @@ const defaultOptions: Options = { This option defines the expected import kind for type-only imports. Valid values for `prefer` are: -- `type-imports` will enforce that you always use `import type Foo from '...'`. It is default. +- `type-imports` will enforce that you always use `import type Foo from '...'` except referenced by metadata of decorators. It is default. - `no-type-imports` will enforce that you always use `import Foo from '...'`. Examples of **correct** code with `{prefer: 'type-imports'}`, and **incorrect** code with `{prefer: 'no-type-imports'}`. @@ -61,4 +61,6 @@ const x: import('Bar') = 1; ## When Not To Use It - If you are not using TypeScript 3.8 (or greater), then you will not be able to use this rule, as type-only imports are not allowed. +- Certain libraries use the non-inlined imports to infer information about the variables. For example, for dependency injection.
+ type-only imports cannot be used with these libraries. See [#2559](https://github.com/typescript-eslint/typescript-eslint/issues/2559#issuecomment-692780580) - If you specifically want to use both import kinds for stylistic reasons, you can disable this rule. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md index f827b003e..094e2e4fc 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md @@ -3,11 +3,14 @@ ## Rule Details This rule extends the base [`eslint/dot-notation`](https://eslint.org/docs/rules/dot-notation) rule. -It adds support for optionally ignoring computed `private` member access. +It adds: + +- Support for optionally ignoring computed `private` and/or `protected` member access. +- Compatibility with TypeScript's `noPropertyAccessFromIndexSignature` option. ## How to use -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "dot-notation": "off", @@ -23,13 +26,19 @@ This rule adds the following options: ```ts interface Options extends BaseDotNotationOptions { allowPrivateClassPropertyAccess?: boolean; + allowProtectedClassPropertyAccess?: boolean; + allowIndexSignaturePropertyAccess?: boolean; } const defaultOptions: Options = { ...baseDotNotationDefaultOptions, allowPrivateClassPropertyAccess: false, + allowProtectedClassPropertyAccess: false, + allowIndexSignaturePropertyAccess: false, }; ``` +If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to `true`, then this rule always allows the use of square bracket notation to access properties of types that have a `string` index signature, even if `allowIndexSignaturePropertyAccess` is `false`. + ### `allowPrivateClassPropertyAccess` Example of a correct code when `allowPrivateClassPropertyAccess` is set to `true` @@ -43,4 +52,32 @@ const x = new X(); x['priv_prop'] = 123; ``` +### `allowProtectedClassPropertyAccess` + +Example of a correct code when `allowProtectedClassPropertyAccess` is set to `true` + +```ts +class X { + protected protected_prop = 123; +} + +const x = new X(); +x['protected_prop'] = 123; +``` + +### `allowIndexSignaturePropertyAccess` + +Example of correct code when `allowIndexSignaturePropertyAccess` is set to `true` + +```ts +class X { + [key: string]: number; +} + +const x = new X(); +x['hello'] = 123; +``` + +If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to `true`, then the above code is always allowed, even if `allowIndexSignaturePropertyAccess` is `false`. + Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/dot-notation.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md index 3cafe4224..894a99617 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md @@ -69,6 +69,8 @@ type Options = { allowTypedFunctionExpressions?: boolean; // if true, functions immediately returning another function expression will not be checked allowHigherOrderFunctions?: boolean; + // if true, arrow functions immediately returning a `as const` value will not be checked + allowDirectConstAssertionInArrowFunctions?: boolean; // if true, concise arrow functions that start with the void keyword will not be checked allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean; }; @@ -77,7 +79,8 @@ const defaults = { allowExpressions: false, allowTypedFunctionExpressions: true, allowHigherOrderFunctions: true, - allowConciseArrowFunctionExpressionsStartingWithVoid: true, + allowDirectConstAssertionInArrowFunctions: true, + allowConciseArrowFunctionExpressionsStartingWithVoid: false, }; ``` @@ -201,6 +204,22 @@ function fn() { } ``` +### `allowDirectConstAssertionInArrowFunctions` + +Examples of **incorrect** code for this rule with `{ allowDirectConstAssertionInArrowFunctions: true }`: + +```ts +const func = (value: number) => ({ type: 'X', value } as any); +const func = (value: number) => ({ type: 'X', value } as Action); +``` + +Examples of **correct** code for this rule with `{ allowDirectConstAssertionInArrowFunctions: true }`: + +```ts +const func = (value: number) => ({ foo: 'bar', value } as const); +const func = () => x as const; +``` + ### `allowConciseArrowFunctionExpressionsStartingWithVoid` Examples of **incorrect** code for this rule with `{ allowConciseArrowFunctionExpressionsStartingWithVoid: true }`: diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md index 9b148d95c..cfbb3154f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md @@ -258,6 +258,10 @@ class Animal { class Animal { constructor(public animalName: string) {} } + +class Animal { + constructor(animalName: string) {} +} ``` e.g. `[ { accessibility: 'off', overrides: { parameterProperties: 'no-public' } } ]` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md index f33a8d5b7..a6945749f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md @@ -130,33 +130,29 @@ If you are working on a codebase within which you lint non-TypeScript code (i.e. ### `allowArgumentsExplicitlyTypedAsAny` -Examples of **incorrect** code for this rule with `{ allowArgumentsExplicitlyTypedAsAny: true }`: +Examples of **incorrect** code for this rule with `{ allowArgumentsExplicitlyTypedAsAny: false }`: ```ts -export const func = (value: any): void => ({ type: 'X', value }); -export function foo(value: any): void {} +export const func = (value: any): number => value + 1; ``` Examples of **correct** code for this rule with `{ allowArgumentsExplicitlyTypedAsAny: true }`: ```ts -export const func = (value: number): void => ({ type: 'X', value }); -export function foo(value: number): void {} +export const func = (value: number): number => value + 1; ``` ### `allowDirectConstAssertionInArrowFunctions` -Examples of **incorrect** code for this rule with `{ allowDirectConstAssertionInArrowFunctions: true }`: +Examples of **incorrect** code for this rule with `{ allowDirectConstAssertionInArrowFunctions: false }`: ```ts export const func = (value: number) => ({ type: 'X', value }); -export const foo = () => { - return { +export const foo = () => + ({ bar: true, - } as const; -}; + } as const); export const bar = () => 1; -export const baz = arg => arg as const; ``` Examples of **correct** code for this rule with `{ allowDirectConstAssertionInArrowFunctions: true }`: @@ -168,7 +164,6 @@ export const foo = () => bar: true, } as const); export const bar = () => 1 as const; -export const baz = (arg: string) => arg as const; ``` ### `allowedNames` @@ -188,24 +183,24 @@ You may pass function/method names you would like this rule to ignore, like so: ### `allowHigherOrderFunctions` -Examples of **incorrect** code for this rule with `{ allowHigherOrderFunctions: true }`: +Examples of **incorrect** code for this rule with `{ allowHigherOrderFunctions: false }`: ```ts -export var arrowFn = () => () => {}; +export const arrowFn = () => (): void => {}; export function fn() { - return function () {}; + return function (): void {}; } -export function foo(outer) { - return function (inner): void {}; +export function foo(outer: string) { + return function (inner: string): void {}; } ``` Examples of **correct** code for this rule with `{ allowHigherOrderFunctions: true }`: ```ts -export var arrowFn = () => (): void => {}; +export const arrowFn = () => (): void => {}; export function fn() { return function (): void {}; @@ -218,7 +213,7 @@ export function foo(outer: string) { ### `allowTypedFunctionExpressions` -Examples of **incorrect** code for this rule with `{ allowTypedFunctionExpressions: true }`: +Examples of **incorrect** code for this rule with `{ allowTypedFunctionExpressions: false }`: ```ts export let arrowFn = () => 'test'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md index 8888e2efe..f83c5bd9c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md @@ -7,7 +7,7 @@ It adds support for TypeScript's `declare` variables. ## How to use -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "init-declarations": "off", diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md index ca2926d6c..3178542d2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md @@ -7,7 +7,7 @@ This version adds support for generic type parameters on function calls. ## How to use -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "keyword-spacing": "off", diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md index 06cdf5542..e2692bb18 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md @@ -11,7 +11,7 @@ See the [ESLint documentation](https://eslint.org/docs/rules/lines-between-class ## Rule Changes -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "lines-between-class-members": "off", diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md index ed1b09577..c6f7ca470 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md @@ -72,6 +72,7 @@ type Config = BaseConfig & { interface?: BaseConfig; typeLiteral?: BaseConfig; }; + multilineDetection?: 'brackets' | 'last-member'; }; ``` @@ -86,7 +87,8 @@ Default config: "singleline": { "delimiter": "semi", "requireLast": false - } + }, + "multilineDetection": "brackets" } ``` @@ -94,6 +96,11 @@ Default config: `singleline` config only applies to single line `interface`/`type` definitions. The two configs are entirely separate, and do not effect one another. +`multilineDetection` determines what counts as multiline + +- `"brackets"` (default) any newlines in the type or interface make it multiline. +- `"last-member"` if the last member of the interface is on the same line as the last bracket, it is counted as a single line. + ### `delimiter` Accepts three values (or two for `singleline`): diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md index d57bc1c69..4b28cffce 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md @@ -33,8 +33,20 @@ type Options = { regex: string; match: boolean; }; - leadingUnderscore?: 'forbid' | 'allow' | 'require'; - trailingUnderscore?: 'forbid' | 'allow' | 'require'; + leadingUnderscore?: + | 'forbid' + | 'require' + | 'requireDouble' + | 'allow' + | 'allowDouble' + | 'allowSingleOrDouble'; + trailingUnderscore?: + | 'forbid' + | 'require' + | 'requireDouble' + | 'allow' + | 'allowDouble' + | 'allowSingleOrDouble'; prefix?: string[]; suffix?: string[]; @@ -77,29 +89,7 @@ const defaultOptions: Options = [ ### Format Options Every single selector can have the same set of format options. -When the format of an identifier is checked, it is checked in the following order: - -1. validate leading underscore -1. validate trailing underscore -1. validate prefix -1. validate suffix -1. validate custom -1. validate format - -For steps 1-4, if the identifier matches the option, the matching part will be removed. -For example, if you provide the following formatting option: `{ leadingUnderscore: 'allow', prefix: ['I'], format: ['StrictPascalCase'] }`, for the identifier `_IMyInterface`, then the following checks will occur: - -1. `name = _IMyInterface` -1. validate leading underscore - pass - - Trim leading underscore - `name = IMyInterface` -1. validate trailing underscore - no check -1. validate prefix - pass - - Trim prefix - `name = MyInterface` -1. validate suffix - no check -1. validate custom - no check -1. validate format - pass - -One final note is that if the name were to become empty via this trimming process, it is considered to match all `format`s. An example of where this might be useful is for generic type parameters, where you want all names to be prefixed with `T`, but also want to allow for the single character `T` name. +For information about how each selector is applied, see ["How does the rule evaluate a name's format?"](#how-does-the-rule-evaluate-a-names-format). #### `format` @@ -120,7 +110,7 @@ This can be useful if you want to enforce no particular format for a specific se The `custom` option defines a custom regex that the identifier must (or must not) match. This option allows you to have a bit more finer-grained control over identifiers, letting you ban (or force) certain patterns and substrings. Accepts an object with the following properties: -- `regex` - accepts a regular expression (anything accepted into `new RegExp(regex)`). +- `regex` - a string that is then passed into RegExp to create a new regular expression: `new RegExp(regex)` - `match` - true if the identifier _must_ match the `regex`, false if the identifier _must not_ match the `regex`. ### `filter` @@ -131,7 +121,7 @@ You can use this to include or exclude specific identifiers from specific config Accepts an object with the following properties: -- `regex` - accepts a regular expression (anything accepted into `new RegExp(regex)`). +- `regex` - a string that is then passed into RegExp to create a new regular expression: `new RegExp(regex)` - `match` - true if the identifier _must_ match the `regex`, false if the identifier _must not_ match the `regex`. Alternatively, `filter` accepts a regular expression (anything accepted into `new RegExp(filter)`). In this case, it's treated as if you had passed an object with the regex and `match: true`. @@ -141,8 +131,11 @@ Alternatively, `filter` accepts a regular expression (anything accepted into `ne The `leadingUnderscore` / `trailingUnderscore` options control whether leading/trailing underscores are considered valid. Accepts one of the following values: - `forbid` - a leading/trailing underscore is not allowed at all. -- `allow` - existence of a leading/trailing underscore is not explicitly enforced. -- `require` - a leading/trailing underscore must be included. +- `require` - a single leading/trailing underscore must be included. +- `requireDouble` - two leading/trailing underscores must be included. +- `allow` - existence of a single leading/trailing underscore is not explicitly enforced. +- `allowDouble` - existence of a double leading/trailing underscore is not explicitly enforced. +- `allowSingleOrDouble` - existence of a single or a double leading/trailing underscore is not explicitly enforced. #### `prefix` / `suffix` @@ -154,23 +147,162 @@ If these are provided, the identifier must start with one of the provided values ### Selector Options -- `selector` (see "Allowed Selectors, Modifiers and Types" below). +- `selector` allows you to specify what types of identifiers to target. - Accepts one or array of selectors to define an option block that applies to one or multiple selectors. - For example, if you provide `{ selector: ['variable', 'function'] }`, then it will apply the same option to variable and function nodes. + - See [Allowed Selectors, Modifiers and Types](#allowed-selectors-modifiers-and-types) below for the complete list of allowed selectors. - `modifiers` allows you to specify which modifiers to granularly apply to, such as the accessibility (`private`/`public`/`protected`), or if the thing is `static`, etc. - The name must match _all_ of the modifiers. - For example, if you provide `{ modifiers: ['private', 'static', 'readonly'] }`, then it will only match something that is `private static readonly`, and something that is just `private` will not match. + - The following `modifiers` are allowed: + - `const` - matches a variable declared as being `const` (`const x = 1`). + - `destructured` - matches a variable declared via an object destructuring pattern (`const {x, z = 2}`). + - Note that this does not match renamed destructured properties (`const {x: y, a: b = 2}`). + - `global` - matches a variable/function declared in the top-level scope. + - `exported` - matches anything that is exported from the module. + - `unused` - matches anything that is not used. + - `requiresQuotes` - matches any name that requires quotes as it is not a valid identifier (i.e. has a space, a dash, etc in it). + - `public` - matches any member that is either explicitly declared as `public`, or has no visibility modifier (i.e. implicitly public). + - `readonly`, `static`, `abstract`, `protected`, `private` - matches any member explicitly declared with the given modifier. - `types` allows you to specify which types to match. This option supports simple, primitive types only (`boolean`, `string`, `number`, `array`, `function`). - The name must match _one_ of the types. - **_NOTE - Using this option will require that you lint with type information._** - For example, this lets you do things like enforce that `boolean` variables are prefixed with a verb. - - `boolean` matches any type assignable to `boolean | null | undefined` - - `string` matches any type assignable to `string | null | undefined` - - `number` matches any type assignable to `number | null | undefined` - - `array` matches any type assignable to `Array | null | undefined` - - `function` matches any type assignable to `Function | null | undefined` + - The following `types` are allowed: + - `boolean` matches any type assignable to `boolean | null | undefined` + - `string` matches any type assignable to `string | null | undefined` + - `number` matches any type assignable to `number | null | undefined` + - `array` matches any type assignable to `Array | null | undefined` + - `function` matches any type assignable to `Function | null | undefined` -The ordering of selectors does not matter. The implementation will automatically sort the selectors to ensure they match from most-specific to least specific. It will keep checking selectors in that order until it finds one that matches the name. +The ordering of selectors does not matter. The implementation will automatically sort the selectors to ensure they match from most-specific to least specific. It will keep checking selectors in that order until it finds one that matches the name. See ["How does the rule automatically order selectors?"](#how-does-the-rule-automatically-order-selectors) + +#### Allowed Selectors, Modifiers and Types + +There are two types of selectors, individual selectors, and grouped selectors. + +##### Individual Selectors + +Individual Selectors match specific, well-defined sets. There is no overlap between each of the individual selectors. + +- `variable` - matches any `var` / `let` / `const` variable name. + - Allowed `modifiers`: `const`, `destructured`, `global`, `exported`, `unused`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `function` - matches any named function declaration or named function expression. + - Allowed `modifiers`: `global`, `exported`, `unused`. + - Allowed `types`: none. +- `parameter` - matches any function parameter. Does not match parameter properties. + - Allowed `modifiers`: `destructured`, `unused`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `classProperty` - matches any class property. Does not match properties that have direct function expression or arrow function expression values. + - Allowed `modifiers`: `abstract`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `objectLiteralProperty` - matches any object literal property. Does not match properties that have direct function expression or arrow function expression values. + - Allowed `modifiers`: `public`, `requiresQuotes`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `typeProperty` - matches any object type property. Does not match properties that have direct function expression or arrow function expression values. + - Allowed `modifiers`: `public`, `readonly`, `requiresQuotes`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `parameterProperty` - matches any parameter property. + - Allowed `modifiers`: `private`, `protected`, `public`, `readonly`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `classMethod` - matches any class method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. + - Allowed `modifiers`: `abstract`, `private`, `protected`, `public`, `requiresQuotes`, `static`. + - Allowed `types`: none. +- `objectLiteralMethod` - matches any object literal method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. + - Allowed `modifiers`: `public`, `requiresQuotes`. + - Allowed `types`: none. +- `typeMethod` - matches any object type method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. + - Allowed `modifiers`: `public`, `requiresQuotes`. + - Allowed `types`: none. +- `accessor` - matches any accessor. + - Allowed `modifiers`: `abstract`, `private`, `protected`, `public`, `requiresQuotes`, `static`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `enumMember` - matches any enum member. + - Allowed `modifiers`: `requiresQuotes`. + - Allowed `types`: none. +- `class` - matches any class declaration. + - Allowed `modifiers`: `abstract`, `exported`, `unused`. + - Allowed `types`: none. +- `interface` - matches any interface declaration. + - Allowed `modifiers`: `exported`, `unused`. + - Allowed `types`: none. +- `typeAlias` - matches any type alias declaration. + - Allowed `modifiers`: `exported`, `unused`. + - Allowed `types`: none. +- `enum` - matches any enum declaration. + - Allowed `modifiers`: `exported`, `unused`. + - Allowed `types`: none. +- `typeParameter` - matches any generic type parameter declaration. + - Allowed `modifiers`: `unused`. + - Allowed `types`: none. + +##### Group Selectors + +Group Selectors are provided for convenience, and essentially bundle up sets of individual selectors. + +- `default` - matches everything. + - Allowed `modifiers`: all modifiers. + - Allowed `types`: none. +- `variableLike` - matches the same as `variable`, `function` and `parameter`. + - Allowed `modifiers`: `unused`. + - Allowed `types`: none. +- `memberLike` - matches the same as `property`, `parameterProperty`, `method`, `accessor`, `enumMember`. + - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`, `requiresQuotes`. + - Allowed `types`: none. +- `typeLike` - matches the same as `class`, `interface`, `typeAlias`, `enum`, `typeParameter`. + - Allowed `modifiers`: `abstract`, `unused`. + - Allowed `types`: none. +- `property` - matches the same as `classProperty`, `objectLiteralProperty`, `typeProperty`. + - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`, `requiresQuotes`. + - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. +- `method` - matches the same as `classMethod`, `objectLiteralMethod`, `typeMethod`. + - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`, `requiresQuotes`. + - Allowed `types`: none. + +## FAQ + +This is a big rule, and there's a lot of docs. Here are a few clarifications that people often ask about or figure out via trial-and-error. + +### How does the rule evaluate a selector? + +Each selector is checked in the following way: + +1. check the `selector` + 1. if `selector` is one individual selector → the name's type must be of that type. + 1. if `selector` is a group selector → the name's type must be one of the grouped types. + 1. if `selector` is an array of selectors → apply the above for each selector in the array. +1. check the `filter` + 1. if `filter` is omitted → skip this step. + 1. if the name matches the `filter` → continue evaluating this selector. + 1. if the name does not match the `filter` → skip this selector and continue to the next selector. +1. check the `types` + 1. if `types` is omitted → skip this step. + 1. if the name has a type in `types` → continue evaluating this selector. + 1. if the name does not have a type in `types` → skip this selector and continue to the next selector. + +A name is considered to pass the config if it: + +1. Matches one selector and passes all of that selector's format checks. +2. Matches no selectors. + +A name is considered to fail the config if it matches one selector and fails one that selector's format checks. + +### How does the rule automatically order selectors? + +Each identifier should match exactly one selector. It may match multiple group selectors - but only ever one selector. +With that in mind - the base sort order works out to be: + +1. Individual Selectors +2. Grouped Selectors +3. Default Selector + +Within each of these categories, some further sorting occurs based on what selector options are supplied: + +1. `filter` is given the highest priority above all else. +2. `types` +3. `modifiers` +4. everything else For example, if you provide the following config: @@ -184,71 +316,123 @@ For example, if you provide the following config: ``` Then for the code `const x = 1`, the rule will validate the selectors in the following order: `3`, `2`, `4`, `1`. +To clearly spell it out: -#### Allowed Selectors, Modifiers and Types +- (3) is tested first because it has `types` and is an individual selector. +- (2) is tested next because it is an individual selector. +- (4) is tested next as it is a grouped selector. +- (1) is tested last as it is the base default selector. -There are two types of selectors, individual selectors, and grouped selectors. +Its worth noting that whilst this order is applied, all selectors may not run on a name. +This is explained in ["How does the rule evaluate a name's format?"](#how-does-the-rule-evaluate-a-names-format) -##### Individual Selectors +### How does the rule evaluate a name's format? -Individual Selectors match specific, well-defined sets. There is no overlap between each of the individual selectors. +When the format of an identifier is checked, it is checked in the following order: -- `variable` - matches any `var` / `let` / `const` variable name. - - Allowed `modifiers`: `const`. - - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. -- `function` - matches any named function declaration or named function expression. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `parameter` - matches any function parameter. Does not match parameter properties. - - Allowed `modifiers`: none. - - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. -- `property` - matches any object, class, or object type property. Does not match properties that have direct function expression or arrow function expression values. - - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`. - - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. -- `parameterProperty` - matches any parameter property. - - Allowed `modifiers`: `private`, `protected`, `public`, `readonly`. - - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. -- `method` - matches any object, class, or object type method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. - - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`. - - Allowed `types`: none. -- `accessor` - matches any accessor. - - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`. - - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`. -- `enumMember` - matches any enum member. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `class` - matches any class declaration. - - Allowed `modifiers`: `abstract`. - - Allowed `types`: none. -- `interface` - matches any interface declaration. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `typeAlias` - matches any type alias declaration. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `enum` - matches any enum declaration. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `typeParameter` - matches any generic type parameter declaration. - - Allowed `modifiers`: none. - - Allowed `types`: none. +1. validate leading underscore +1. validate trailing underscore +1. validate prefix +1. validate suffix +1. validate custom +1. validate format -##### Group Selectors +For steps 1-4, if the identifier matches the option, the matching part will be removed. +This is done so that you can apply formats like PascalCase without worrying about prefixes or underscores causing it to not match. -Group Selectors are provided for convenience, and essentially bundle up sets of individual selectors. +One final note is that if the name were to become empty via this trimming process, it is considered to match all `format`s. An example of where this might be useful is for generic type parameters, where you want all names to be prefixed with `T`, but also want to allow for the single character `T` name. -- `default` - matches everything. - - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`. - - Allowed `types`: none. -- `variableLike` - matches the same as `variable`, `function` and `parameter`. - - Allowed `modifiers`: none. - - Allowed `types`: none. -- `memberLike` - matches the same as `property`, `parameterProperty`, `method`, `accessor`, `enumMember`. - - Allowed `modifiers`: `private`, `protected`, `public`, `static`, `readonly`, `abstract`. - - Allowed `types`: none. -- `typeLike` - matches the same as `class`, `interface`, `typeAlias`, `enum`, `typeParameter`. - - Allowed `modifiers`: `abstract`. - - Allowed `types`: none. +Here are some examples to help illustrate + +Name: `_IMyInterface` +Selector: + +```json +{ + "leadingUnderscore": "require", + "prefix": ["I"], + "format": ["UPPER_CASE", "StrictPascalCase"] +} +``` + +1. `name = _IMyInterface` +1. validate leading underscore + 1. config is provided + 1. check name → pass + 1. Trim underscore → `name = IMyInterface` +1. validate trailing underscore + 1. config is not provided → skip +1. validate prefix + 1. config is provided + 1. check name → pass + 1. Trim prefix → `name = MyInterface` +1. validate suffix + 1. config is not provided → skip +1. validate custom + 1. config is not provided → skip +1. validate format + 1. for each format... + 1. `format = 'UPPER_CASE'` + 1. check format → fail. + - Important to note that if you supply multiple formats - the name only needs to match _one_ of them! + 1. `format = 'StrictPascalCase'` + 1. check format → success. +1. **_success_** + +Name: `IMyInterface` +Selector: + +```json +{ + "format": ["StrictPascalCase"], + "trailingUnderscore": "allow", + "custom": { + "regex": "^I[A-Z]", + "match": false + } +} +``` + +1. `name = IMyInterface` +1. validate leading underscore + 1. config is not provided → skip +1. validate trailing underscore + 1. config is provided + 1. check name → pass + 1. Trim underscore → `name = IMyInterface` +1. validate prefix + 1. config is not provided → skip +1. validate suffix + 1. config is not provided → skip +1. validate custom + 1. config is provided + 1. `regex = new RegExp("^I[A-Z]")` + 1. `regex.test(name) === custom.match` + 1. **_fail_** → report and exit + +### What happens if I provide a `modifiers` to a Group Selector? + +Some group selectors accept `modifiers`. For the most part these will work exactly the same as with individual selectors. +There is one exception to this in that a modifier might not apply to all individual selectors covered by a group selector. + +For example - `memberLike` includes the `enumMember` selector, and it allows the `protected` modifier. +An `enumMember` can never ever be `protected`, which means that the following config will never match any `enumMember`: + +```json +{ + "selector": "memberLike", + "modifiers": ["protected"] +} +``` + +To help with matching, members that cannot specify an accessibility will always have the `public` modifier. This means that the following config will always match any `enumMember`: + +```json +{ + "selector": "memberLike", + "modifiers": ["public"] +} +``` ## Examples @@ -380,12 +564,36 @@ This allows you to lint multiple type with same pattern. } ``` -### Ignore properties that require quotes +### Ignore properties that **_require_** quotes Sometimes you have to use a quoted name that breaks the convention (for example, HTTP headers). -If this is a common thing in your codebase, then you can use the `filter` option in one of two ways: +If this is a common thing in your codebase, then you have a few options. -You can use the `filter` option to ignore specific names only: +If you simply want to allow all property names that require quotes, you can use the `requiresQuotes` modifier to match any property name that _requires_ quoting, and use `format: null` to ignore the name. + +```jsonc +{ + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": [ + "classProperty", + "objectLiteralProperty", + "typeProperty", + "classMethod", + "objectLiteralMethod", + "typeMethod", + "accessor", + "enumMember" + ], + "format": null, + "modifiers": ["requiresQuotes"] + } + ] +} +``` + +If you have a small and known list of exceptions, you can use the `filter` option to ignore these specific names only: ```jsonc { @@ -404,7 +612,7 @@ You can use the `filter` option to ignore specific names only: } ``` -You can use the `filter` option to ignore names that require quoting: +You can use the `filter` option to ignore names with specific characters: ```jsonc { @@ -423,6 +631,29 @@ You can use the `filter` option to ignore names that require quoting: } ``` +Note that there is no way to ignore any name that is quoted - only names that are required to be quoted. +This is intentional - adding quotes around a name is not an escape hatch for proper naming. +If you want an escape hatch for a specific name - you should can use an [`eslint-disable` comment](https://eslint.org/docs/user-guide/configuring#disabling-rules-with-inline-comments). + +### Ignore destructured names + +Sometimes you might want to allow destructured properties to retain their original name, even if it breaks your naming convention. + +You can use the `destructured` modifier to match these names, and explicitly set `format: null` to apply no formatting: + +```jsonc +{ + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "variable", + "modifiers": ["destructured"], + "format": null + } + ] +} +``` + ### Enforce the codebase follows ESLint's `camelcase` conventions ```json diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md new file mode 100644 index 000000000..8a0025517 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md @@ -0,0 +1,149 @@ +# Requires expressions of type void to appear in statement position (`no-confusing-void-expression`) + +Returning the results of an expression whose type is void can be misleading. +Attempting to do so is likely a symptom of expecting a different return type from a function. +Even if used correctly, it can be misleading for other developers, +who don't know what a particular function does and if its result matters. + +This rule provides automatic fixes for most common cases. + +## Examples + +Examples of **incorrect** code for this rule: + +```ts +// somebody forgot that `alert` doesn't return anything +const response = alert('Are you sure?'); +console.log(alert('Are you sure?')); + +// it's not obvious whether the chained promise will contain the response (fixable) +promise.then(value => window.postMessage(value)); + +// it looks like we are returning the result of `console.error` (fixable) +function doSomething() { + if (!somethingToDo) { + return console.error('Nothing to do!'); + } + + console.log('Doing a thing...'); +} +``` + +Examples of **correct** code for this rule: + +```ts +// just a regular void function in a statement position +alert('Hello, world!'); + +// this function returns a boolean value so it's ok +const response = confirm('Are you sure?'); +console.log(confirm('Are you sure?')); + +// now it's obvious that `postMessage` doesn't return any response +promise.then(value => { + window.postMessage(value); +}); + +// now it's explicit that we want to log the error and return early +function doSomething() { + if (!somethingToDo) { + console.error('Nothing to do!'); + return; + } + + console.log('Doing a thing...'); +} + +// using logical expressions for their side effects is fine +cond && console.log('true'); +cond || console.error('false'); +cond ? console.log('true') : console.error('false'); +``` + +## Options + +An object option can be specified. Each boolean flag makes the rule less strict. + +```ts +type Options = { + ignoreArrowShorthand?: boolean; + ignoreVoidOperator?: boolean; +}; + +const defaults: Options = { + ignoreArrowShorthand: false, + ignoreVoidOperator: false, +}; +``` + +### `ignoreArrowShorthand` + +`false` by default. + +```json +{ + "@typescript-eslint/no-confusing-void-expression": [ + "error", + { "ignoreArrowShorthand": true } + ] +} +``` + +It might be undesirable to wrap every arrow function shorthand expression with braces. +Especially when using Prettier formatter, which spreads such code across 3 lines instead of 1. + +Examples of additional **correct** code with this option enabled: + +```ts +promise.then(value => window.postMessage(value)); +``` + +### `ignoreVoidOperator` + +`false` by default. + +```json +{ + "@typescript-eslint/no-confusing-void-expression": [ + "error", + { "ignoreVoidOperator": true } + ] +} +``` + +It might be preferable to only use some distinct syntax +to explicitly mark the confusing but valid usage of void expressions. +This option allows void expressions which are explicitly wrapped in the `void` operator. +This can help avoid confusion among other developers as long as they are made aware of this code style. + +This option also changes the automatic fixes for common cases to use the `void` operator. +It also enables a suggestion fix to wrap the void expression with `void` operator for every problem reported. + +Examples of additional **correct** code with this option enabled: + +```ts +// now it's obvious that we don't expect any response +promise.then(value => void window.postMessage(value)); + +// now it's explicit that we don't want to return anything +function doSomething() { + if (!somethingToDo) { + return void console.error('Nothing to do!'); + } + + console.log('Doing a thing...'); +} + +// we are sure that we want to always log `undefined` +console.log(void alert('Hello, world!')); +``` + +## When Not To Use It + +The return type of a function can be inspected by going to its definition or hovering over it in an IDE. +If you don't care about being explicit about the void type in actual code then don't use this rule. +Also, if you prefer concise coding style then also don't use it. + +## Related to + +- TSLint: ['no-void-expression'](https://palantir.github.io/tslint/rules/no-void-expression/) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md new file mode 100644 index 000000000..140a8a1ec --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md @@ -0,0 +1,22 @@ +# Disallow duplicate imports (`no-duplicate-imports`) + +## Rule Details + +This rule extends the base [`eslint/no-duplicate-imports`](https://eslint.org/docs/rules/no-duplicate-imports) rule. +This version adds support for type-only import and export. + +## How to use + +```jsonc +{ + // note you must disable the base rule as it can report incorrect errors + "no-duplicate-imports": "off", + "@typescript-eslint/no-duplicate-imports": ["error"] +} +``` + +## Options + +See [`eslint/no-duplicate-imports` options](https://eslint.org/docs/rules/no-duplicate-imports#options). + +Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/no-duplicate-imports.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md index 071584e99..356700d83 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md @@ -75,4 +75,16 @@ class Foo { } ``` +## How to use + +```jsonc +{ + // note you must disable the base rule as it can report incorrect errors + "no-empty-function": "off", + "@typescript-eslint/no-empty-function": ["error"] +} +``` + +--- + Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/no-empty-function.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md index bda8c26b7..86923bfad 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md @@ -77,7 +77,7 @@ void returnsPromise(); void Promise.reject('value'); ``` -With this option set to `true`, and if you are using `no-void`, you should turn on the [`allowAsAStatement`](https://eslint.org/docs/rules/no-void#allowasstatement) option. +With this option set to `true`, and if you are using `no-void`, you should turn on the [`allowAsStatement`](https://eslint.org/docs/rules/no-void#allowasstatement) option. ### `ignoreIIFE` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md index 3753adf26..a03ce7279 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md @@ -88,6 +88,16 @@ class Foo { setTimeout(Foo.fn, 100); ``` +## How to use + +```jsonc +{ + // note you must disable the base rule as it can report incorrect errors + "no-implied-eval": "off", + "@typescript-eslint/no-implied-eval": ["error"] +} +``` + ## When Not To Use It If you want to allow `new Function()` or `setTimeout()`, `setInterval()`, `setImmediate()` and `execScript()` with string arguments, then you can safely disable this rule. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md index ac9dc3012..a7f907380 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md @@ -1,4 +1,4 @@ -# disallow `this` keywords outside of classes or class-like objects (`no-invalid-this`) +# Disallow `this` keywords outside of classes or class-like objects (`no-invalid-this`) ## Rule Details @@ -7,7 +7,7 @@ It adds support for TypeScript's `this` parameters. ## How to use -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "no-invalid-this": "off", diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md index f1607478a..567d9c0bb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md @@ -54,10 +54,12 @@ type stillVoid = void | never; ```ts interface Options { allowInGenericTypeArguments?: boolean | string[]; + allowAsThisParameter?: boolean; } const defaultOptions: Options = { allowInGenericTypeArguments: true, + allowAsThisParameter: false, }; ``` @@ -97,6 +99,23 @@ type AllowedVoid = Ex.Mx.Tx; type AllowedVoidUnion = void | Ex.Mx.Tx; ``` +#### `allowAsThisParameter` + +This option allows specifying a `this` parameter of a function to be `void` when set to `true`. +This pattern can be useful to explicitly label function types that do not use a `this` argument. [See the TypeScript docs for more information](https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters-in-callbacks). + +This option is `false` by default. + +The following patterns are considered warnings with `{ allowAsThisParameter: false }` but valid with `{ allowAsThisParameter: true }`: + +```ts +function doThing(this: void) {} +class Example { + static helper(this: void) {} + callback(this: void) {} +} +``` + ## When Not To Use It If you don't care about if `void` is used with other types, diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md index d48d38c20..d4e66d6c7 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md @@ -7,7 +7,7 @@ It adds support for TypeScript types. ## How to use -```cjson +```jsonc { // note you must disable the base rule as it can report incorrect errors "no-loop-func": "off", diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md index f41204c13..8149ad6dd 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md @@ -53,8 +53,8 @@ Examples of **incorrect** code for the `{ "ignoreEnums": false }` option: ```ts /*eslint @typescript-eslint/no-magic-numbers: ["error", { "ignoreEnums": false }]*/ -enum foo = { - SECOND = 1000, +enum foo { + SECOND = 1000, } ``` @@ -63,8 +63,8 @@ Examples of **correct** code for the `{ "ignoreEnums": true }` option: ```ts /*eslint @typescript-eslint/no-magic-numbers: ["error", { "ignoreEnums": true }]*/ -enum foo = { - SECOND = 1000, +enum foo { + SECOND = 1000, } ``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md index b155c2aeb..da83ada2b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md @@ -18,7 +18,7 @@ or more of the following you may pass an object with the options set as follows: - `allowDefinitionFiles` set to `true` will allow you to `declare` and use custom TypeScript modules and namespaces inside definition files (Default: `true`). -Examples of **incorrect** code for the default `{ "allowDeclarations": false, "allowDefinitionFiles": false }` options: +Examples of **incorrect** code for the default `{ "allowDeclarations": false, "allowDefinitionFiles": true }` options: ```ts module foo {} @@ -26,14 +26,14 @@ namespace foo {} declare module foo {} declare namespace foo {} - -// anything inside a d.ts file ``` -Examples of **correct** code for the default `{ "allowDeclarations": false, "allowDefinitionFiles": false }` options: +Examples of **correct** code for the default `{ "allowDeclarations": false, "allowDefinitionFiles": true }` options: ```ts declare module 'foo' {} + +// anything inside a d.ts file ``` ### `allowDeclarations` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md index d9e704244..4b5164d6f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md @@ -21,12 +21,12 @@ See [`eslint/no-redeclare` options](https://eslint.org/docs/rules/no-redeclare#o This rule adds the following options: ```ts -interface Options extends BaseNoShadowOptions { +interface Options extends BaseNoRedeclareOptions { ignoreDeclarationMerge?: boolean; } const defaultOptions: Options = { - ...baseNoShadowDefaultOptions, + ...baseNoRedeclareDefaultOptions, ignoreDeclarationMerge: true, }; ``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md index ed241b807..bcb40d4fb 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md @@ -3,7 +3,7 @@ ## Rule Details This rule extends the base [`eslint/no-shadow`](https://eslint.org/docs/rules/no-shadow) rule. -It adds support for TypeScript's `this` parameters, and adds options for TypeScript features. +It adds support for TypeScript's `this` parameters and global augmentation, and adds options for TypeScript features. ## How to use diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md index 324929e52..ffb0db1e2 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md @@ -44,7 +44,7 @@ You can pass an object option: "@typescript-eslint/no-this-alias": [ "error", { - "allowDestructuring": true, // Allow `const { props, state } = this`; false by default + "allowDestructuring": false, // Disallow `const { props, state } = this`; true by default "allowedNames": ["self"] // Allow `const self = this`; `[]` by default } ] diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md index 3b7ee9c2d..0b89f10e9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md @@ -79,6 +79,16 @@ class CustomError extends Error { throw new CustomError(); ``` +## How to use + +```jsonc +{ + // note you must disable the base rule as it can report incorrect errors + "no-throw-literal": "off", + "@typescript-eslint/no-throw-literal": ["error"] +} +``` + --- Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/no-throw-literal.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md index d600bb793..253250428 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md @@ -8,6 +8,10 @@ This rule ensures that you do not include unnecessary comparisons with boolean l A comparison is considered unnecessary if it checks a boolean literal against any variable with just the `boolean` type. A comparison is **_not_** considered unnecessary if the type is a union of booleans (`string | boolean`, `someObject | boolean`). +**Warning**: Do not use this rule when `strictNullChecks` is disabled. +ESLint is not able to distinguish between `false` and `undefined` or `null` values. +This can cause unintended code changes when using autofix. + **Note**: Throughout this page, only strict equality (`===` and `!==`) are used in the examples. However, the implementation of the rule does not distinguish between strict and loose equality. Any example below that uses @@ -120,10 +124,10 @@ if (!(someNullCondition ?? true)) { | Comparison | Fixer Output | Notes | | :----------------------------: | ------------------------------- | ----------------------------------------------------------------------------------- | -| `booleanVar === true` | `booleanLiteral` | | -| `booleanVar !== true` | `!booleanLiteral` | | -| `booleanVar === false` | `!booleanLiteral` | | -| `booleanVar !== false` | `booleanLiteral` | | +| `booleanVar === true` | `booleanVar` | | +| `booleanVar !== true` | `!booleanVar` | | +| `booleanVar === false` | `!booleanVar` | | +| `booleanVar !== false` | `booleanVar` | | | `nullableBooleanVar === true` | `nullableBooleanVar` | Only checked/fixed if the `allowComparingNullableBooleansToTrue` option is `false` | | `nullableBooleanVar !== true` | `!nullableBooleanVar` | Only checked/fixed if the `allowComparingNullableBooleansToTrue` option is `false` | | `nullableBooleanVar === false` | `nullableBooleanVar ?? true` | Only checked/fixed if the `allowComparingNullableBooleansToFalse` option is `false` | diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md new file mode 100644 index 000000000..8656ace56 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md @@ -0,0 +1,55 @@ +# Disallows unnecessary constraints on generic types (`no-unnecessary-type-constraint`) + +## Rule Details + +Type parameters (``) may be "constrained" with an `extends` keyword ([docs](https://www.typescriptlang.org/docs/handbook/generics.html#generic-constraints)). +When not provided, type parameters happen to default to: + +- As of TypeScript 3.9: `unknown` ([docs](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html#type-parameters-that-extend-any-no-longer-act-as-any)) +- Before that, as of 3.5: `any` ([docs](https://devblogs.microsoft.com/typescript/announcing-typescript-3-5/#breaking-changes)) + +It is therefore redundant to `extend` from these types in later versions of TypeScript. + +Examples of **incorrect** code for this rule: + +```ts +interface FooAny {} +interface FooUnknown {} + +type BarAny = {}; +type BarUnknown = {}; + +class BazAny { + quxUnknown() {} +} + +class BazUnknown { + quxUnknown() {} +} + +const QuuxAny = () => {}; +const QuuxUnknown = () => {}; + +function QuuzAny() {} +function QuuzUnknown() {} +``` + +Examples of **correct** code for this rule: + +```ts +interface Foo {} + +type Bar = {}; + +class Baz { + qux { } +} + +const Quux = () => {}; + +function Quuz() {} +``` + +## When Not To Use It + +If you don't care about the specific styles of your type constraints, or never use them in the first place, then you will not need this rule. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md new file mode 100644 index 000000000..d8e3456d1 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md @@ -0,0 +1,69 @@ +# Disallows calling an function with an any type value (`no-unsafe-argument`) + +Despite your best intentions, the `any` type can sometimes leak into your codebase. +Call a function with `any` typed argument are not checked at all by TypeScript, so it creates a potential safety hole, and source of bugs in your codebase. + +## Rule Details + +This rule disallows calling a function with `any` in its arguments, and it will disallow spreading `any[]`. +This rule also disallows spreading a tuple type with one of its elements typed as `any`. +This rule also compares the argument's type to the variable's type to ensure you don't pass an unsafe `any` in a generic position to a receiver that's expecting a specific type. For example, it will error if you assign `Set` to an argument declared as `Set`. + +Examples of **incorrect** code for this rule: + +```ts +declare function foo(arg1: string, arg2: number, arg2: string): void; + +const anyTyped = 1 as any; + +foo(...anyTyped); +foo(anyTyped, 1, 'a'); + +const anyArray: any[] = []; +foo(...anyArray); + +const tuple1 = ['a', anyTyped, 'b'] as const; +foo(...tuple1); + +const tuple2 = [1] as const; +foo('a', ...tuple, anyTyped); + +declare function bar(arg1: string, arg2: number, ...rest: string[]): void; +const x = [1, 2] as [number, ...number[]]; +foo('a', ...x, anyTyped); + +declare function baz(arg1: Set, arg2: Map): void; +foo(new Set(), new Map()); +``` + +Examples of **correct** code for this rule: + +```ts +declare function foo(arg1: string, arg2: number, arg2: string): void; + +foo('a', 1, 'b'); + +const tuple1 = ['a', 1, 'b'] as const; +foo(...tuple1); + +declare function bar(arg1: string, arg2: number, ...rest: string[]): void; +const array: string[] = ['a']; +bar('a', 1, ...array); + +declare function baz(arg1: Set, arg2: Map): void; +foo(new Set(), new Map()); +``` + +There are cases where the rule allows passing an argument of `any` to `unknown`. + +Example of `any` to `unknown` assignment that are allowed. + +```ts +declare function foo(arg1: unknown, arg2: Set, arg3: unknown[]): void; +foo(1 as any, new Set(), [] as any[]); +``` + +## Related to + +- [`no-explicit-any`](./no-explicit-any.md) +- TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md index 2c2d8831f..e64294f4e 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md @@ -35,11 +35,11 @@ Examples of **correct** code for this rule: ```ts declare const properlyTyped: { prop: { a: string } }; -nestedAny.prop.a; -nestedAny.prop['a']; +properlyTyped.prop.a; +properlyTyped.prop['a']; const key = 'a'; -nestedAny.prop[key]; +properlyTyped.prop[key]; const arr = [1, 2, 3]; arr[1]; diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md index 9810be3cf..225593eb0 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md @@ -1,7 +1,7 @@ # Disallows returning any from a function (`no-unsafe-return`) Despite your best intentions, the `any` type can sometimes leak into your codebase. -Returned `any` typed values not checked at all by TypeScript, so it creates a potential safety hole, and source of bugs in your codebase. +Returned `any` typed values are not checked at all by TypeScript, so it creates a potential safety hole, and source of bugs in your codebase. ## Rule Details diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md new file mode 100644 index 000000000..473f83b0a --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md @@ -0,0 +1,27 @@ +# Prefers a non-null assertion over explicit type cast when possible (`non-nullable-type-assertion-style`) + +This rule detects when an `as` cast is doing the same job as a `!` would, and suggests fixing the code to be an `!`. + +## Rule Details + +Examples of **incorrect** code for this rule: + +```ts +const maybe = Math.random() > 0.5 ? '' : undefined; + +const definitely = maybe as string; +const alsoDefinitely = maybe; +``` + +Examples of **correct** code for this rule: + +```ts +const maybe = Math.random() > 0.5 ? '' : undefined; + +const definitely = maybe!; +const alsoDefinitely = maybe!; +``` + +## When Not To Use It + +If you don't mind having unnecessarily verbose type casts, you can avoid this rule. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md new file mode 100644 index 000000000..44bd35afb --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md @@ -0,0 +1,22 @@ +# Enforce consistent spacing inside braces (`object-curly-spacing`) + +## Rule Details + +This rule extends the base [`eslint/object-curly-spacing`](https://eslint.org/docs/rules/object-curly-spacing) rule. +It adds support for TypeScript's object types. + +## How to use + +```cjson +{ + // note you must disable the base rule as it can report incorrect errors + "object-curly-spacing": "off", + "@typescript-eslint/object-curly-spacing": ["error"] +} +``` + +## Options + +See [`eslint/object-curly-spacing` options](https://eslint.org/docs/rules/object-curly-spacing#options). + +Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/object-curly-spacing.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md index a3210a133..5c3bc55c9 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md @@ -24,6 +24,13 @@ interface Foo extends Function { } ``` +```ts +interface MixinMethod { + // returns the function itself, not the `this` argument. + (arg: string): this; +} +``` + Examples of **correct** code for this rule: ```ts @@ -48,6 +55,23 @@ interface Bar extends Foo { } ``` +```ts +// returns the `this` argument of function, retaining it's type. +type MixinMethod = (this: TSelf, arg: string) => TSelf; +// a function that returns itself is much clearer in this form. +type ReturnsSelf = (arg: string) => ReturnsSelf; +``` + +```ts +// multiple call signatures (overloads) is allowed: +interface Overloaded { + (data: string): number; + (id: number): string; +} +// this is equivelent to Overloaded interface. +type Intersection = ((data: string) => number) & ((id: number) => string); +``` + ## When Not To Use It If you specifically want to use an interface or type literal with a single call signature for stylistic reasons, you can disable this rule. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md index 07cc9ea44..018780a65 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md @@ -22,6 +22,7 @@ let str: string; let array: any[]; let readonlyArray: ReadonlyArray; let typedArray: UInt8Array; +let maybe: string; let userDefined: { indexOf(x: any): number; includes(x: any): boolean; @@ -31,6 +32,7 @@ str.indexOf(value) !== -1; array.indexOf(value) !== -1; readonlyArray.indexOf(value) === -1; typedArray.indexOf(value) > -1; +maybe?.indexOf('') !== -1; userDefined.indexOf(value) >= 0; // simple RegExp test diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md index e2350f357..2086f6533 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md @@ -21,6 +21,10 @@ The answer is that `Foo.c` will be `1` at runtime. The [playground](https://www. This rule is meant to prevent unexpected results in code by requiring the use of literal values as enum members to prevent unexpected runtime behavior. Template literals, arrays, objects, constructors, and all other expression types can end up using a variable from its scope or the parent scope, which can result in the same unexpected behavior at runtime. +## Options + +- `allowBitwiseExpressions` set to `true` will allow you to use bitwise expressions in enum initializer (Default: `false`). + Examples of **incorrect** code for this rule: ```ts @@ -46,6 +50,37 @@ enum Valid { } ``` +### `allowBitwiseExpressions` + +Examples of **incorrect** code for the `{ "allowBitwiseExpressions": true }` option: + +```ts +const x = 1; +enum Foo { + A = x << 0, + B = x >> 0, + C = x >>> 0, + D = x | 0, + E = x & 0, + F = x ^ 0, + G = ~x, +} +``` + +Examples of **correct** code for the `{ "allowBitwiseExpressions": true }` option: + +```ts +enum Foo { + A = 1 << 0, + B = 1 >> 0, + C = 1 >>> 0, + D = 1 | 0, + E = 1 & 0, + F = 1 ^ 0, + G = ~1, +} +``` + ## When Not To Use It If you want use anything other than simple literals as an enum value. diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md index 74697f2d3..34544456f 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md @@ -124,10 +124,12 @@ interface Foo { ```ts interface Options { checkParameterProperties?: boolean; + ignoreInferredTypes?: boolean; } const defaultOptions: Options = { checkParameterProperties: true, + ignoreInferredTypes: false, }; ``` @@ -162,3 +164,53 @@ class Foo { ) {} } ``` + +### `ignoreInferredTypes` + +This option allows you to ignore parameters which don't explicitly specify a type. This may be desirable in cases where an external dependency specifies a callback with mutable parameters, and manually annotating the callback's parameters is undesirable. + +Examples of **incorrect** code for this rule with `{ignoreInferredTypes: true}`: + +```ts +import { acceptsCallback, CallbackOptions } from 'external-dependency'; + +acceceptsCallback((options: CallbackOptions) => {}); +``` + +
+external-dependency.d.ts + +```ts +export interface CallbackOptions { + prop: string; +} +type Callback = (options: CallbackOptions) => void; +type AcceptsCallback = (callback: Callback) => void; + +export const acceptsCallback: AcceptsCallback; +``` + +
+ +Examples of **correct** code for this rule with `{ignoreInferredTypes: true}`: + +```ts +import { acceptsCallback } from 'external-dependency'; + +acceceptsCallback(options => {}); +``` + +
+external-dependency.d.ts + +```ts +export interface CallbackOptions { + prop: string; +} +type Callback = (options: CallbackOptions) => void; +type AcceptsCallback = (callback: Callback) => void; + +export const acceptsCallback: AcceptsCallback; +``` + +
diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md index 4640d35a9..3f3d149a7 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md @@ -1,18 +1,16 @@ # Enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided (`prefer-regexp-exec`) -`RegExp#exec` is faster than `String#match` and both work the same when not using the `/g` flag. +As `String#match` is defined to be the same as `RegExp#exec` when the regular expression does not include the `g` flag, prefer a consistent usage. ## Rule Details -This rule is aimed at enforcing the more performant way of applying regular expressions on strings. +This rule is aimed at enforcing a consistent way to apply regular expressions to strings. From [`String#match` on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match): > If the regular expression does not include the g flag, returns the same result as `RegExp.exec()`. -From [Stack Overflow](https://stackoverflow.com/questions/9214754/what-is-the-difference-between-regexp-s-exec-function-and-string-s-match-fun) - -> `RegExp.prototype.exec` is a lot faster than `String.prototype.match`, but that’s because they are not exactly the same thing, they are different. +`RegExp#exec` may also be slightly faster than `String#match`; this is the reason to choose it as the preferred usage. Examples of **incorrect** code for this rule: diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md index 7ec0cac77..60fdf79c8 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md @@ -1,6 +1,6 @@ -# Recommends using `// @ts-expect-error` over `// @ts-ignore` (`prefer-ts-expect-error`) +# Recommends using `@ts-expect-error` over `@ts-ignore` (`prefer-ts-expect-error`) -TypeScript allows you to suppress all errors on a line by placing a single-line comment starting with `@ts-ignore` immediately before the erroring line. +TypeScript allows you to suppress all errors on a line by placing a single-line comment or a comment block line starting with `@ts-ignore` immediately before the erroring line. While powerful, there is no way to know if a `@ts-ignore` is actually suppressing an error without manually investigating what happens when the `@ts-ignore` is removed. This means its easy for `@ts-ignore`s to be forgotten about, and remain in code even after the error they were suppressing is fixed. @@ -20,6 +20,15 @@ Examples of **incorrect** code for this rule: // @ts-ignore const str: string = 1; +/** + * Explaining comment + * + * @ts-ignore */ +const multiLine: number = 'value'; + +/** @ts-ignore */ +const block: string = 1; + const isOptionEnabled = (key: string): boolean => { // @ts-ignore: if key isn't in globalOptions it'll be undefined which is false return !!globalOptions[key]; @@ -32,6 +41,15 @@ Examples of **correct** code for this rule: // @ts-expect-error const str: string = 1; +/** + * Explaining comment + * + * @ts-expect-error */ +const multiLine: number = 'value'; + +/** @ts-expect-error */ +const block: string = 1; + const isOptionEnabled = (key: string): boolean => { // @ts-expect-error: if key isn't in globalOptions it'll be undefined which is false return !!globalOptions[key]; @@ -40,7 +58,7 @@ const isOptionEnabled = (key: string): boolean => { ## When Not To Use It -If you are not using TypeScript 3.9 (or greater), then you will not be able to use this rule, as the directive is not supported +If you are **NOT** using TypeScript 3.9 (or greater), then you will not be able to use this rule, as the directive is not supported ## Further Reading diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md index 1f0adc71e..3c621d251 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md @@ -28,6 +28,12 @@ const defaultOptions: Options = 'in-try-catch'; ### `in-try-catch` Requires that a returned promise must be `await`ed in `try-catch-finally` blocks, and disallows it elsewhere. +Specifically: + +- if you `return` a promise within a `try`, then it must be `await`ed. +- if you `return` a promise within a `catch`, and there **_is no_** `finally`, then it **_must not_** be `await`ed. +- if you `return` a promise within a `catch`, and there **_is a_** `finally`, then it **_must_** be `await`ed. +- if you `return` a promise within a `finally`, then it **_must not_** be `await`ed. Examples of **incorrect** code with `in-try-catch`: @@ -39,10 +45,38 @@ async function invalidInTryCatch1() { } async function invalidInTryCatch2() { - return await Promise.resolve('try'); + try { + throw new Error('error'); + } catch (e) { + return await Promise.resolve('catch'); + } } async function invalidInTryCatch3() { + try { + throw new Error('error'); + } catch (e) { + return Promise.resolve('catch'); + } finally { + console.log('cleanup'); + } +} + +async function invalidInTryCatch4() { + try { + throw new Error('error'); + } catch (e) { + throw new Error('error2'); + } finally { + return await Promise.resolve('finally'); + } +} + +async function invalidInTryCatch5() { + return await Promise.resolve('try'); +} + +async function invalidInTryCatch6() { return await 'value'; } ``` @@ -57,10 +91,38 @@ async function validInTryCatch1() { } async function validInTryCatch2() { - return Promise.resolve('try'); + try { + throw new Error('error'); + } catch (e) { + return Promise.resolve('catch'); + } } async function validInTryCatch3() { + try { + throw new Error('error'); + } catch (e) { + return await Promise.resolve('catch'); + } finally { + console.log('cleanup'); + } +} + +async function validInTryCatch4() { + try { + throw new Error('error'); + } catch (e) { + throw new Error('error2'); + } finally { + return Promise.resolve('finally'); + } +} + +async function validInTryCatch5() { + return Promise.resolve('try'); +} + +async function validInTryCatch6() { return 'value'; } ``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md new file mode 100644 index 000000000..43ef069a7 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md @@ -0,0 +1,147 @@ +# Enforces that members of a type union/intersection are sorted alphabetically (`sort-type-union-intersection-members`) + +Sorting union (`|`) and intersection (`&`) types can help: + +- keep your codebase standardized +- find repeated types +- reduce diff churn + +## Rule Details + +Sorting within each group is done using the following code: + +```ts +const collator = new Intl.Collator('en', { + sensitivity: 'base', + numeric: true, +}); + +function compare(a, b) { + return collator.compare(a, b) || (a < b ? -1 : a > b ? 1 : 0); +} +``` + +In other words, the types are sorted alphabetically, case-insensitively and treating numbers like a human would, falling back to character code sorting in case of ties. + +Examples of **incorrect** code for this rule: + +```ts +type T1 = B | A; + +type T2 = { b: string } & { a: string }; + +type T3 = [1, 2, 4] & [1, 2, 3]; + +type T4 = + | [1, 2, 4] + | [1, 2, 3] + | { b: string } + | { a: string } + | (() => void) + | (() => string) + | 'b' + | 'a' + | 'b' + | 'a' + | readonly string[] + | readonly number[] + | string[] + | number[] + | B + | A + | string + | any; +``` + +Examples of **correct** code for this rule: + +```ts +type T1 = A | B; + +type T2 = { a: string } & { b: string }; + +type T3 = [1, 2, 3] & [1, 2, 4]; + +type T4 = + | any + | string + | A + | B + | number[] + | string[] + | readonly number[] + | readonly string[] + | 'a' + | 'b' + | 'a' + | 'b' + | (() => string) + | (() => void) + | { a: string } + | { b: string } + | [1, 2, 3] + | [1, 2, 4]; +``` + +## Options + +```ts +type Options = { + // true to check intersection types, false otherwise + checkIntersections?: boolean; + // true to check union types, false otherwise + checkUnions?: boolean; + // the ordering of the groups + groupOrder?: ( + | 'conditional' + | 'function' + | 'import' + | 'intersection' + | 'keyword' + | 'literal' + | 'named' + | 'object' + | 'operator' + | 'tuple' + | 'union' + | 'nullish' + )[]; +}; + +const defaultOptions: Options = { + checkIntersections: true, + checkUnions: true, + groupOrder: [ + 'named', + 'keyword', + 'operator', + 'literal', + 'function', + 'import', + 'conditional', + 'object', + 'tuple', + 'intersection', + 'union', + 'nullish', + ], +}; +``` + +### `groupOrder` + +Each member of the type is placed into a group, and then the rule sorts alphabetically within each group. +The ordering of groups is determined by this option. + +- `conditional` - Conditional types (`A extends B ? C : D`) +- `function` - Function and constructor types (`() => void`, `new () => type`) +- `import` - Import types (`import('path')`) +- `intersection` - Intersection types (`A & B`) +- `keyword` - Keyword types (`any`, `string`, etc) +- `literal` - Literal types (`1`, `'b'`, `true`, etc) +- `named` - Named types (`A`, `A['prop']`, `B[]`, `Array`) +- `object` - Object types (`{ a: string }`, `{ [key: string]: number }`) +- `operator` - Operator types (`keyof A`, `typeof B`, `readonly C[]`) +- `tuple` - Tuple types (`[A, B, C]`) +- `union` - Union types (`A | B`) +- `nullish` - `null` and `undefined` diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md new file mode 100644 index 000000000..da36f2572 --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md @@ -0,0 +1,26 @@ +# This rule is aimed at ensuring there are spaces around infix operators. (`space-infix-ops`) + +This rule extends the base [`eslint/space-infix-ops`](https://eslint.org/docs/rules/space-infix-ops) rule. + +It also add support for enum members + +```ts +enum MyEnum { + KEY = 'value', +} +``` + +## How to use + +```jsonc +{ + "space-infix-ops": "off", + "@typescript-eslint/space-infix-ops": ["error", { "int32Hint": false }] +} +``` + +## Options + +See [`eslint/space-infix-ops` options](https://eslint.org/docs/rules/space-infix-ops#options). + +Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/space-infix-ops.md) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md index 243d54fda..b1ad94d8b 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md @@ -50,7 +50,7 @@ while (obj) { Examples of **correct** code for this rule: ```tsx -// Using logical operators for their side effects is allowed +// Using logical operator short-circuiting is allowed const Component = () => { const entry = map.get('foo') || {}; return entry &&

Name: {entry.name}

; @@ -155,6 +155,38 @@ You should be using `strictNullChecks` to ensure complete type-safety in your co If for some reason you cannot turn on `strictNullChecks`, but still want to use this rule - you can use this option to allow it - but know that the behavior of this rule is _undefined_ with the compiler option turned off. We will not accept bug reports if you are using this option. +## Fixes and suggestions + +This rule provides following fixes and suggestions for particular types in boolean context: + +- `boolean` - Always allowed - no fix needed. +- `string` - (when `allowString` is `false`) - Provides following suggestions: + - Change condition to check string's length (`str` → `str.length > 0`) + - Change condition to check for empty string (`str` → `str !== ""`) + - Explicitly cast value to a boolean (`str` → `Boolean(str)`) +- `number` - (when `allowNumber` is `false`): + - For `array.length` - Provides **autofix**: + - Change condition to check for 0 (`array.length` → `array.length > 0`) + - For other number values - Provides following suggestions: + - Change condition to check for 0 (`num` → `num !== 0`) + - Change condition to check for NaN (`num` → `!Number.isNaN(num)`) + - Explicitly cast value to a boolean (`num` → `Boolean(num)`) +- `object | null | undefined` - (when `allowNullableObject` is `false`) - Provides **autofix**: + - Change condition to check for null/undefined (`maybeObj` → `maybeObj != null`) +- `boolean | null | undefined` - Provides following suggestions: + - Explicitly treat nullish value the same as false (`maybeBool` → `maybeBool ?? false`) + - Change condition to check for true/false (`maybeBool` → `maybeBool === true`) +- `string | null | undefined` - Provides following suggestions: + - Change condition to check for null/undefined (`maybeStr` → `maybeStr != null`) + - Explicitly treat nullish value the same as an empty string (`maybeStr` → `maybeStr ?? ""`) + - Explicitly cast value to a boolean (`maybeStr` → `Boolean(maybeStr)`) +- `number | null | undefined` - Provides following suggestions: + - Change condition to check for null/undefined (`maybeNum` → `maybeNum != null`) + - Explicitly treat nullish value the same as 0 (`maybeNum` → `maybeNum ?? 0`) + - Explicitly cast value to a boolean (`maybeNum` → `Boolean(maybeNum)`) +- `any` and `unknown` - Provides following suggestions: + - Explicitly cast value to a boolean (`value` → `Boolean(value)`) + ## Related To - TSLint: [strict-boolean-expressions](https://palantir.github.io/tslint/rules/strict-boolean-expressions) diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md index af9e5498b..9eb463a3c 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md @@ -2,8 +2,6 @@ Use of triple-slash reference type directives is discouraged in favor of the newer `import` style. This rule allows you to ban use of `/// `, `/// `, or `/// ` directives. -Consider using this rule in place of [`no-triple-slash-reference`](./no-triple-slash-reference.md) which has been deprecated. - ## Rule Details With `{ "path": "never", "types": "never", "lib": "never" }` options set, the following will all be **incorrect** usage: diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md index 6c96fa031..03409e110 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md @@ -114,7 +114,7 @@ const mapper = { Examples of **correct** code with `{ "arrowParameter": true }`: ```ts -const logsSize = (size: number) => console.log(text); +const logsSize = (size: number) => console.log(size); ['hello', 'world'].map((text: string) => text.length); diff --git a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md index 0de7b17ab..538edaf95 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md +++ b/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md @@ -4,6 +4,10 @@ Warns when a method is used outside of a method call. Class functions don't preserve the class scope when passed as standalone variables. +If your function does not access `this`, [you can annotate it with `this: void`](https://www.typescriptlang.org/docs/handbook/2/functions.html#declaring-this-in-a-function), or consider using an arrow function instead. + +If you're working with `jest`, you can use [`eslint-plugin-jest`'s version of this rule](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md) to lint your test files, which knows when it's ok to pass an unbound method to `expect` calls. + ## Rule Details Examples of **incorrect** code for this rule @@ -23,6 +27,14 @@ myLog(); // This log might later be called with an incorrect scope const { log } = instance; + +// arith.double may refer to `this` internally +const arith = { + double(x: number): number { + return x * 2; + }, +}; +const { double } = arith; ``` Examples of **correct** code for this rule @@ -45,6 +57,14 @@ logBound(); // .bind and lambdas will also add a correct scope const dotBindLog = instance.logBound.bind(instance); const innerLog = () => instance.logBound(); + +// arith.double explicitly declares that it does not refer to `this` internally +const arith = { + double(this: void, x: number): number { + return x * 2; + }, +}; +const { double } = arith; ``` ## Options @@ -87,6 +107,8 @@ log(); If your code intentionally waits to bind methods after use, such as by passing a `scope: this` along with the method, you can disable this rule. +If you're wanting to use `toBeCalled` and similar matches in `jest` tests, you can disable this rule for your test files in favor of [`eslint-plugin-jest`'s version of this rule](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md). + ## Related To - TSLint: [no-unbound-method](https://palantir.github.io/tslint/rules/no-unbound-method/) diff --git a/node_modules/@typescript-eslint/eslint-plugin/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/index.d.ts new file mode 100644 index 000000000..8092cabcc --- /dev/null +++ b/node_modules/@typescript-eslint/eslint-plugin/index.d.ts @@ -0,0 +1,4 @@ +import { TSESLint } from '@typescript-eslint/experimental-utils'; + +export const rules: Record>; +export const configs: Record; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.editorconfig b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.editorconfig deleted file mode 100644 index 4818afd6b..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -root = true - -[*] -end_of_line = lf -insert_final_newline = true -charset = utf-8 -indent_size = 4 -indent_style = space -trim_trailing_whitespace = true - -[*.{json,yml,md}] -indent_size = 2 diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.fimbullinter.yaml b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.fimbullinter.yaml deleted file mode 100644 index 74e903e76..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.fimbullinter.yaml +++ /dev/null @@ -1,2 +0,0 @@ -exclude: - - test/rules/** diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.wotanrc.yaml b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.wotanrc.yaml deleted file mode 100644 index 46153ecb7..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/.wotanrc.yaml +++ /dev/null @@ -1,5 +0,0 @@ -extends: wotan:recommended -rules: - # TODO enable once https://github.com/Microsoft/TypeScript/issues/24706 is resolved - no-useless-assertion: off - no-useless-predicate: off diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/CHANGELOG.md b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/CHANGELOG.md deleted file mode 100644 index 0d01e793b..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/CHANGELOG.md +++ /dev/null @@ -1,741 +0,0 @@ -# 3.17.1 - -**Bugfixes:** - -* `isValidJsxIdentifier`, `isValidPropertyAccess`, `isValidPropertyName`: fix unicode character width handling - -# 3.17.0 - -**Features:** - -* `isValidJsxIdentifier` added an optional parameter to specify the target ECMAScript version - -**Bugfixes:** - -* `isValidJsxIdentifier` now handles astral plane characters - -# 3.16.0 - -**Features:** - -* added `getIteratorYieldResultFromIteratorResult` to extract the `yield`ed type from `IteratorResult` - -# 3.15.0 - -**Features:** - -* `isValidIdentifier`, `isValidPropertyName`, `isValidPropertyAccess`, `isValidNumericLiteral` added an optional parameter to specify the target ECMAScript version - -**Bugfixes:** - -* `isValidPropertyName`, `isValidPropertyAccess` now handle astral plane characters - -# 3.14.1 - -**Bugfixes:** - -* `findImports`: fixed crash on nested namespaces - -# 3.14.0 - -**Features:** - -* added `getInstanceTypeOfClassLikeDeclaration` and `getConstructorTypeOfClassLikeDeclaration` -* added `AccessKind.Delete` to `getAccessKind`: `getAccessKind(node) & AccessKind.Modification` can now be used to restore the old behavior of `isReassignmentTarget(node)` - -# 3.13.0 - -**Features:** - -* `getAccessKind` determines whether an expression is read from, written to or both -* optimized `getPropertyOfType` for unambiguous property names to partially work around https://github.com/microsoft/TypeScript/issues/31565 - -**Bugfixes:** - -* `isReassignmentTarget` no longer returns `true` for `DeleteExpression` as it doesn't **assign** a value to the operand - -# 3.12.0 - -**Features:** - -* `getLateBoundPropertyNamesOfPropertyName` returns all statically analyzable names of a property, method, ... -* `getSingleLateBoundPropertyNameOfPropertyName` returns the literal name of a property, method, ... if statically analyzable - -**Bugfixes:** - -* fixed circular import - -# 3.11.0 - -**Features:** - -* typeguards: `isNumericOrStringLikeLiteral`, `isTupleTypeReference` -* `intersectionTypeParts` as counterpart to `unionTypeParts` -* `someTypePart` to execute a callback for each union or intersection constituent until the callback returns true -* `getPropertyOfType` looks up a property by its escaped name -* `isPropertyReadonlyInType` determines whether a property in a given type cannot be written to -* `symbolHasReadonlyDeclaration` determines if a Symbol has any readonly or constant declaration -* `isNumericPropertyName` determines whether a property name would match an index signature -* `isBindableObjectDefinePropertyCall` returns true for statically analyzable forms of `Object.defineProperty(o, 'p', {value, writable})` -* `isReadonlyAssignmentDeclaration` determines whether an `Object.defineProperty` call is known to result in a readonly property -* `getLateBoundPropertyNames` returns all known property names of an expression -* `getPropertyNameFromType` extracts the property name of literal types -* `isWellKnownSymbolLiterally` to recognize expressions in the form of `Symbol.` -* `getPropertyNameOfWellKnownSymbol` returns the escaped name for a well known symbol literal -* `unwrapParentheses` returns the first child expression that is not a `ParenthesizedExpression` - -# 3.10.0 - -**Features:** - -* `isCompilerOptionEnabled`: `incremental` is implicitly enabled by `composite` - -**Bugfixes:** - -* `collectVariableUsage`/`getUsageDomain`: no longer treat `as const` as type usage - -# 3.9.1 - -**Bugfixes:** - -* reverted invalid deprecation of `canHaveJsdoc` -* fixed condition in `parseJsdocOfNode` - -# 3.9.0 - -**Features:** - -* added typeguards: `isNullLiteral` and `isBooleanLiteral` - -# 3.8.0 - -**Features:** - -* exposes typeguards for typescript@3.2 by default -* added utilities: `isConstAssertion` and `isInConstContext` - -# 3.7.0 - -**Features:** - -* added `isBlockScopedDeclarationStatement` -* added `isInSingleStatementContext` - -# 3.6.0 - -**Features:** - -* added `getCheckJsDirective` utility to parse `// @ts-check` and `// @ts-nocheck` pragmas - -# 3.5.2 - -**Bugfixes:** - -* Published declaration files no longer contain `const enum`. They are now declared as regular enums instead. - -# 3.5.1 - -**Bugfixes:** - -* `isThenableType` allows `Node` instead of `Expression` as parameter -* `isBlockScopeBoundary` and `isScopeBoundary` consider `WithStatement` as scope boundary - -# 3.5.0 - -**Features:** - -* correctly handle BigInt literals - * added typeguard `isBigIntLiteral` - * `isLiteralType` recognises BigInt - * `getPropertyName` adds special handling for BigInt - -# 3.4.0 - -**Features:** - -* added utility `commentText` to get the actual text content of a comment excluding the characters needed to start and end the comment - -# 3.3.1 - -**Bugfixes:** - -* `findImports`: fixed handling of ImportEqualsDeclaration - -# 3.3.0 - -**Features:** - -* `isCompilerOptionEnabled`: recognizes `strictBindCallApply` -* `getTokenAtPosition`: optionally includes JSDoc during lookup - -**Bugfixes:** - -* `isCompilerOptionEnabled`: correctly implements logic for `allowSyntheticDefaultImports` -* `findImportLikeNodes`: correctly finds imports in namespaces -* `findImportLikeNodes` / `findImports`: finds import types in JSDoc of JS files - -# 3.2.0 - -**Features:** - -* added utility `findImportLikeNodes` that works similar to `findImports` but returns the import statement or expression instead of the module specifier and doesn't filter non-string module specifiers - -# 3.1.0 - -**Features:** - -* added utilities: `isKeywordKind` and `isValidJsxIdentifier` -* exposes typeguards for typescript@3.0 by default - -# 3.0.0 - -:warning: **Breaking Changes:** - -* Dropped support for `typescript@<2.8.0` -* Dropped support for Node.js 4 -* Removed deprecated APIs: - * `getIdentifierText`, `isJsxFramgment`, `ImportOptions` - * deprected overloads of `isModifierFlagSet`, `findImports` and `getControlFlowEnd` -* control flow related symbols can no longer be imported from `'tsutils/util/util'`, import directly from `'tsutils/util/control-flow'` or `'tsutils/util'` -* `isFunctionScopeBoundary` and `isBlockScopeBoundary` now return a enum member of `ScopeBoundary` instead of a boolean -* `isFunctionScopeBoundary` no longer returns a truthy value for `InterfaceDeclaration`, `TypeAliasDeclaration` - -**Features:** - -* added utility `isTypeScopeBoundary` returning `ScopeBoundary.Type` or `ScopeBoundary.ConditionalType` -* added enum `ScopeBoundarySelector` whose members can be used to determine if a declaration belongs to a given `ScopeBoundary` by using bitwise AND - -**Bugfixes:** - -* `collectVariableUsage` now correctly handles `infer T` nested inside function signatures or mapped types -* `isCompilerOptionEnabled` correctly handles `skipDefaultLibCHeck` and `suppressImplicitAnyIndexErrors` - -# 2.29.0 - -**Features:** - -* added utility `isCompilerOptionEnabled` - -# 2.28.0 - -Typeguards are now split into multiple submodules for each version of TypeScript (starting with 2.8.0). -That means you can now import directly from `"tsutils/typeguard/2.8"` to get compatible declaraton files for TypeScript@2.8. -For more information please read the relevant section in [README.md](README.md). - -**Features:** - -* added typeguards: `isTupleType`, `isOptionalTypeNode`, `isRestTypeNode`, `isSyntheticExpression` (currently available from `"tsutils/typeguard/3.0"`) -* added utility `isStrictCompilerOptionEnabled` - -# 2.27.2 - -Avoid crash caused by removed function in `typescript@3.0.0`. - -# 2.27.1 - -Added support for TypeScript@3.0.0 nightly builds. - -# 2.27.0 - -**Features:** - -* added `getIIFE` utility - -# 2.26.2 - -**Bugfixes:** - -* `forEachComment` and `forEachTokenWithTrivia` no longer duplicate comments around missing nodes - -# 2.26.1 - -**Bugfixes:** - -* fixed crash in `hasSideEffects` with tagged template literal without substitution: ``tag`template` `` - -# 2.26.0 - -**Features:** - -* added typeguard `isLiteralTypeNode` -* added support for type imports (`type T = import('foo')`) to `findImports` via `ImportKind.ImportType` - -# 2.25.1 - -**Bugfixes:** - -* `collectVariableUsage`: fixed name lookup in function signatures to match runtime behavior. Note that this is not completely fixed in TypeScript, yet. See: [Microsoft/TypeScript#22825](https://github.com/Microsoft/TypeScript/issues/22825) and [Microsoft/TypeScript#22769](https://github.com/Microsoft/TypeScript/issues/22769) - -# 2.25.0 - -**Features:** - -* added utilities: `isStatementInAmbientContext` and `isAmbientModuleBlock` - -# 2.24.0 - -**Features:** - -* added typeguards for typescript@2.8: `isConditionalTypeNode`, `isInferTypeNode`, `isConditionalType`, `isInstantiableType`, `isSubstitutionType` - -# 2.23.0 - -**Features:** - -* added typeguard `isForInOrOfStatement` - -**Bugfixes:** - -* correctly handle comments in generic JSX elements: `/*comment*/>` -* fixed a bug with false positive trailing comments at the end of JSX self closing element: `

/*no comment*/
` - -# 2.22.2 - -**Bugfixes:** - -* `collectVariableUsage`: handle ConditionalTypes and `infer T`, which will be introduced in TypeScript@2.8.0 and are already available in nightly builds -* `isLiteralType` no longer returns true for `ts.TypeFlags.BooleanLiteral` as this is not a `ts.LiteralType` - -# 2.22.1 - -**Bugfixes:** - -* `endsControlFlow`: - * handle loops that might not even run a single iteration - * handle constant boolean conditions in loops and if - -# 2.22.0 - -**Features:** - -* added `isFalsyType` utility - -# 2.21.2 - -**Bugfixes:** - -* fixed compile error with `typescript@2.8.0-dev` - -# 2.21.1 - -**Bugfixes:** - -* `isReassignmentTarget`: handle type assertions and non-null assertion - -# 2.21.0 - -**Bugfixes:** - -* `forEachDeclaredVariable` uses a more precise type for the callback parameter to make it useable again with typescript@2.7.1 - -**Features:** - -* added `isUniqueESSymbolType` typeguard - -# 2.20.0 - -**Features:** - -* added `isThenableType` utility -* added `unionTypeParts` utility - -# 2.19.1 - -**Bugfixes:** - -* `forEachComment`, `getCommentAtPosition` and `isPositionInComment`: skip shebang (`#! something`) to not miss following comments at the start of the file - -# 2.19.0 - -**Features:** - -* added `WrappedAst` interface that models the type of a wrapped SourceFile more accurate -* added `getWrappedNodeAtPosition` utiltiy that takes a `NodeWrap` and returns the most deeply nested NodeWrap that contains the given position - -# 2.18.0 - -**Features:** - -* `getControlFlowEnd` accepts BlockLike as argument - -**Bugfixes:** - -* `getControlFlowEnd` and `endsControlFlow`: correctly handle nested LabeledStatements -* `endsControlFlow` removed erroneous special case when an IterationStatement is passed as argument whose parent is a LabeledStatement. - * if you want labels of an IterationStatement (or SwitchStatement) to be handled, you need to pass the LabeledStatement as argument. - * :warning: this fix may change the returned value if you relied on the buggy behavior - -**Deprecations:** - -* deprecated overload of `getControlFlowEnd` that contains the `label` parameter. This parameter is no longer used and should no longer be passed to the function. - -# 2.17.1 - -**Bugfixes:** - -* `getControlFlowEnd` and `endsControlFlow` (#22) - * ThrowStatements inside `try` are filtered out if there is a `catch` clause - * TryStatements with `catch` only end control flow if `try` AND `catch` definitely end control flow - -# 2.17.0 - -**Features:** - -* added `kind` property to `NodeWrap` -* added `getControlFlowEnd` to public API - -# 2.16.0 - -**Features:** - -* added `isDecorator` and `isCallLikeExpression` typeguards - -# 2.15.0 - -**Features:** - -* added `convertAst` utility to produce a flattened and wrapped version of the AST - -# 2.14.0 - -**Features:** - -* added `isDeleteExpression` -* added `getLineBreakStyle` - -# 2.13.1 - -**Bugfixes:** - -* fixed name of `isJsxFragment` - -# 2.13.0 - -**Features:** - -* added support for `JsxFragment` introduced in typescript@2.6.2 -* added corresponding typeguard functions - -# 2.12.2 - -**Bugfixes:** - -* `endsControlFlow` - * added missing logic for labeled statement, iteration statements and try-catch - * added missing logic for `break` and `continue` with labels - * take all jump statements into account, not only the last statement -* `isValidIdentifier` and `isValidNumericLiteral` handle irregular whitespace -* `findImports` searches in ambient modules inside regular `.ts` files (not only `.d.ts`) -* `canHaveJsDoc` is now a typeguard - -# 2.12.1 - -**Bugfixes:** - -* `forEachTokenWithTrivia` - * handles irregular whitespace and no longer visits some tokens twice - * correctly calculates the range of JsxText - -# 2.12.0 - -**API-Changes:** - -* deprecated `ImportOptions` if favor of the new `ImportKind` enum - -# 2.11.2 - -**Bugfixes:** - -* `parseJsDocOfNode`: set correct `pos`, `end` and `parent` properties. Also affects `getJsDoc` of `EndOfFileToken` - -# 2.11.1 - -**Bugfixes:** - -* `collectVariableUsage`: correctly consider catch binding as block scoped declaration inside catch block - -# 2.11.0 - -**Bugfixes:** - -* `getJsDoc` now correctly returns JsDoc for `EndOfFileToken` - -**Features:** - -* added utility `parseJsDocOfNode` - -# 2.10.0 - -**Features:** - -* added utility `findImports` to find all kinds of imports in a source file - -# 2.9.0 - -**Features:** - -* added typeguard `isMappedTypeNode` -* added utilities `canHaveJsDoc` and `getJsDoc` - -# 2.8.2 - -**Bugfixes:** - -* `collectVariableUsage`: handle global augmentation like other module augmentations - -# 2.8.1 - -**Bugfixes:** - -* Support `typescript@2.5.1` with optional catch binding -* `collectVariableUsage` fixed a bug where method decorator had method's parameters in scope - -# 2.8.0 - -* Compatibility with the latest typescript nightly -* Added `getIdentifierText` to unescape identifiers across typescript versions - -# 2.7.1 - -**Bugfixes:** - -* `isReassignmentTarget` don't return `true` for right side of assignment - -# 2.7.0 - -**Features:** - -* Added `isReassignmentTarget` utility - -# 2.6.1 - -**Bugfixes:** - -* `getDeclarationDomain` now returns `undefined` for Parameter in IndexSignature -* `collectVariableUsage` ignores Parameter in IndexSignature - -# 2.6.0 - -**Bugfixes:** - -* `collectVariableUsage`: - * don't merge imports with global declarations - * treat everything in a declaration file as exported if there is no explicit `export {};` -* `isExpressionValueUsed`: handle destructuring in `for...of` - -**Features:** - -* Added `getModifier` utility -* Added `DeclarationDomain.Import` to distinguish imports from other declarations - -# 2.5.1 - -**Bugfixes:** - -* `collectVariableUsage` ignore jump labels as in `break label;` - -# 2.5.0 - -**Bugfixes:** - -* `isFunctionWithBody` handles constructor overload correctly. - -**Features:** - -* Implemented `isExpressionValueUsed` to check whether the result of an expression is actually used. -* Implemented `getDeclarationDomain` to determine if a given declaration introduces a new symbol in the value or type domain. - -**`collectVariableUses` is now usable** - -* no longer ignores signatures and its parameters -* don't merge declarations and uses across domains -* no longer marks exceptions in catch clause or parameter properties as exported -* fixed exports of namespaces -* fixed scoping of ClassExpression name -* correcly handle ambient namespaces and module augmentations -* fixed how `: typeof foo` is handled for parameters and function return type -* **still WIP**: `export {Foo as Bar}` inside ambient namespaces and modules - -# 2.4.0 - -**Bugfixes:** - -* `getLineRanges`: `contentLength` now contains the correct line length when there are multiple consecutive line break characters -* `getTokenAtPosition`: don't match tokens that end at the specified position (because that's already outside of their range) -* deprecated the misnamed `isModfierFlagSet`, use the new `isModifierFlagSet` instead - -**Features:** - -* Added typeguard: `isJsDoc` -* Added experimental scope and usage analysis (`getUsageDomain` and `collectVariableUsage`) - -# 2.3.0 - -**Bugfixes:** - -* `forEachComment` no longer omits some comments when callback returns a truthy value -* `isPositionInComment` fixed false positive inside JSXText - -**Features:** - -* Added utility: `getCommentAtPosition` - -# 2.2.0 - -**Bugfixes:** - -* Fixed bit value of `SideEffectOptions.JsxElement` to be a power of 2 - -**Features:** - -* Added utilities: `getTokenAtPosition` and `isPositionInComment` - -# 2.1.0 - -**Features:** - -* Added typeguard `isExpression` -* Added utilities: `hasSideEffects`, `getDeclarationOfBindingElement` - -# 2.0.0 - -**Breaking Changes:** - -* Dropped compatibility with `typescript@<2.1.0` -* Removed misnamed `isNumericliteral`, use `isNumericLiteral` instead (notice the uppercase L) -* Removed `isEnumLiteralType` which will cause compile errors with typescript@2.4.0 -* Refactored directory structure: all imports that referenced subdirectories (e.g. `require('tsutils/src/typeguard')` will be broken - -**Features:** - -* New directory structure allows imports of typeguards or utils independently, e.g. (`require('tsutils/typeguard')`) - -# 1.9.1 - -**Bugfixes:** - -* `isObjectFlagSet` now uses the correct `objectFlags` property - -# 1.9.0 - -**Bugfixes:** - -* `getNextToken` no longer omits `EndOfFileToken` when there is no trivia before EOF. That means the only inputs where `getNextToken` returns `undefined` are `SourceFile` and `EndOfFileToken` - -**Features**: - -* Added typeguards for types -* Added utilities for flag checking: `isNodeFlagSet`, `isTypeFlagSet`, `isSymbolFlagSet`,`isObjectFlagSet`, `isModifierFlagSet` - -# 1.8.0 - -**Features:** - -* Support peer dependency of typescript nightlies of 2.4.0 -* Added typeguards: `isJsxAttributes`, `isIntersectionTypeNode`, `isTypeOperatorNode`, `isTypePredicateNode`, `isTypeQueryNode`, `isUnionTypeNode` - -# 1.7.0 - -**Bugfixes:** - -* `isFunctionScopeBoundary` now handles Interfaces, TypeAliases, FunctionSignatures, etc - -**Features:** - -* Added utilities: `isThisParameter`, `isSameLine` and `isFunctionWithBody` - -# 1.6.0 - -**Features:** - -* Add `isValidPropertyAccess`, `isValidNumericLiteral` and `isValidPropertyName` - -# 1.5.0 - -**Features:** - -* Add `isValidIdentifier` - -# 1.4.0 - -**Features:** - -* Add `contentLength` property to the result of `getLineRanges` - -# 1.3.0 - -**Bugfixes:** - -* `canHaveLeadingTrivia`: - * Fix property access on undefined parent reference - * Fixes: [palantir/tslint#2330](https://github.com/palantir/tslint/issues/2330) -* `hasOwnThisReference`: now includes accessors on object literals - -**Features:** - -* Typeguards: - * isTypeParameterDeclaration - * isEnitityName - -# 1.2.2 - -**Bugfixes:** - -* `hasOwnThisReference`: - * exclude overload signatures of function declarations - * add method declarations on object literals - -# 1.2.1 - -**Bugfixes:** - -* Fix name of `isNumericLiteral` - -# 1.2.0 - -**Features:** - -* Typeguards: - * isEnumMember - * isExpressionWithTypeArguments - * isImportSpecifier -* Utilities: - * isJsDocKind, isTypeNodeKind -* Allow typescript@next in peerDependencies - -# 1.1.0 - -**Bugfixes:** - -* Fix isBlockScopeBoundary: Remove WithStatement, IfStatment, DoStatement and WhileStatement because they are no scope boundary whitout a block. - -**Features:** - -* Added more typeguards: - * isAssertionExpression - * isEmptyStatement - * isJsxAttributeLike - * isJsxOpeningLikeElement - * isNonNullExpression - * isSyntaxList -* Utilities: - * getNextToken, getPreviousToken - * hasOwnThisReference - * getLineRanges - -# 1.0.0 - -**Features:** - -* Initial implementation of typeguards -* Utilities: - * getChildOfKind - * isNodeKind, isAssignmentKind - * hasModifier, isParameterProperty, hasAccessModifier - * getPreviousStatement, getNextStatement - * getPropertyName - * forEachDestructuringIdentifier, forEachDeclaredVariable - * getVariableDeclarationKind, isBlockScopedVariableDeclarationList, isBlockScopedVariableDeclaration - * isScopeBoundary, isFunctionScopeBoundary, isBlockScopeBoundary - * forEachToken, forEachTokenWithTrivia, forEachComment - * endsControlFlow diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/LICENSE b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/LICENSE deleted file mode 100644 index 3a990ff40..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Klaus Meinhardt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/README.md b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/README.md deleted file mode 100644 index a2363e6ac..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# Utility functions for working with typescript's AST - -[![Greenkeeper badge](https://badges.greenkeeper.io/ajafff/tsutils.svg)](https://greenkeeper.io/) - -## Usage - -This package consists of two major parts: utilities and typeguard functions. -By importing the project you will get both of them. -```js -import * as utils from "tsutils"; -utils.isIdentifier(node); // typeguard -utils.getLineRanges(sourceFile); // utilities -``` - -If you don't need everything offered by this package, you can select what should be imported. The parts that are not imported are never read from disk and may save some startup time and reduce memory consumtion. - -If you only need typeguards you can explicitly import them: -```js -import { isIdentifier } from "tsutils/typeguard"; -// You can even distiguish between typeguards for nodes and types -import { isUnionTypeNode } from "tsutils/typeguard/node"; -import { isUnionType } from "tsutils/typeguard/type"; -``` - -If you only need the utilities you can also explicitly import them: -```js -import { forEachComment, forEachToken } from "tsutils/util"; -``` - -### Typescript version dependency - -This package is backwards compatible with typescript 2.8.0 at runtime although compiling might need a newer version of typescript installed. - -Using `typescript@next` might work, but it's not officially supported. If you encounter any bugs, please open an issue. - -For compatibility with older versions of TypeScript typeguard functions are separated by TypeScript version. If you are stuck on `typescript@2.8`, you should import directly from the submodule for that version: - -```js -// all typeguards compatible with typescript@2.8 -import { isIdentifier } from "tsutils/typeguard/2.8"; -// you can even use nested submodules -import { isIdentifier } from "tsutils/typeguard/2.8/node"; - -// all typeguards compatible with typescript@2.9 (includes those of 2.8) -import { isIdentifier } from "tsutils/typeguard/2.9"; - -// always points to the latest stable version (2.9 as of writing this) -import { isIdentifier } from "tsutils/typeguard"; -import { isIdentifier } from "tsutils"; - -// always points to the typeguards for the next TypeScript version (3.0 as of writing this) -import { isIdentifier } from "tsutils/typeguard/next"; -``` - -Note that if you are also using utility functions, you should prefer the relevant submodule: - -```js -// importing directly from 'tsutils' would pull in the latest typeguards -import { forEachToken } from 'tsutils/util'; -import { isIdentifier } from 'tsutils/typeguard/2.8'; -``` diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.d.ts deleted file mode 100644 index 26b9ee17c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './typeguard'; -export * from './util'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.js deleted file mode 100644 index 4ee8dc264..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./typeguard"), exports); -tslib_1.__exportStar(require("./util"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/package.json b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/package.json deleted file mode 100644 index dbe0a2098..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "tsutils", - "version": "3.17.1", - "description": "utilities for working with typescript's AST", - "scripts": { - "compile": "rm -rf {,util,typeguard,test/**}/*.js; ttsc -p .", - "lint:tslint": "wotan -m @fimbul/valtyr", - "lint:wotan": "wotan", - "lint": "run-p lint:*", - "test": "mocha test/*Tests.js && tslint --test 'test/rules/**/tslint.json'", - "verify": "run-s compile lint coverage", - "prepublishOnly": "run-s verify", - "coverage": "nyc run-s test", - "report-coverage": "cat ./coverage/lcov.info | coveralls", - "github-release": "GITHUB_TOKEN=$(cat ~/github_token.txt) github-release-from-changelog", - "postpublish": "git push origin master --tags; run-s github-release" - }, - "repository": { - "type": "git", - "url": "https://github.com/ajafff/tsutils" - }, - "keywords": [ - "typescript", - "ts", - "ast", - "typeguard", - "utils", - "helper", - "node" - ], - "author": "Klaus Meinhardt", - "license": "MIT", - "devDependencies": { - "@fimbul/mithotyn": "^0.17.0", - "@fimbul/valtyr": "^0.20.0", - "@fimbul/wotan": "^0.20.0", - "@types/chai": "^4.0.10", - "@types/mocha": "^5.0.0", - "@types/node": "^11.13.0", - "chai": "^4.1.2", - "coveralls": "^3.0.0", - "github-release-from-changelog": "^1.3.0", - "mocha": "^6.0.2", - "npm-run-all": "^4.1.2", - "nyc": "^13.3.0", - "ts-transform-const-enum": "^0.0.1", - "tslint": "^5.8.0", - "tslint-consistent-codestyle": "^1.11.0", - "ttypescript": "^1.5.5", - "typescript": "^3.6.0-dev.20190804" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - }, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } -} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.d.ts deleted file mode 100644 index c5aa5a9d1..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.d.ts +++ /dev/null @@ -1,155 +0,0 @@ -import * as ts from 'typescript'; -export declare function isAccessorDeclaration(node: ts.Node): node is ts.AccessorDeclaration; -export declare function isArrayBindingPattern(node: ts.Node): node is ts.ArrayBindingPattern; -export declare function isArrayLiteralExpression(node: ts.Node): node is ts.ArrayLiteralExpression; -export declare function isArrayTypeNode(node: ts.Node): node is ts.ArrayTypeNode; -export declare function isArrowFunction(node: ts.Node): node is ts.ArrowFunction; -export declare function isAsExpression(node: ts.Node): node is ts.AsExpression; -export declare function isAssertionExpression(node: ts.Node): node is ts.AssertionExpression; -export declare function isAwaitExpression(node: ts.Node): node is ts.AwaitExpression; -export declare function isBinaryExpression(node: ts.Node): node is ts.BinaryExpression; -export declare function isBindingElement(node: ts.Node): node is ts.BindingElement; -export declare function isBindingPattern(node: ts.Node): node is ts.BindingPattern; -export declare function isBlock(node: ts.Node): node is ts.Block; -export declare function isBlockLike(node: ts.Node): node is ts.BlockLike; -export declare function isBooleanLiteral(node: ts.Node): node is ts.BooleanLiteral; -export declare function isBreakOrContinueStatement(node: ts.Node): node is ts.BreakOrContinueStatement; -export declare function isBreakStatement(node: ts.Node): node is ts.BreakStatement; -export declare function isCallExpression(node: ts.Node): node is ts.CallExpression; -export declare function isCallLikeExpression(node: ts.Node): node is ts.CallLikeExpression; -export declare function isCallSignatureDeclaration(node: ts.Node): node is ts.CallSignatureDeclaration; -export declare function isCaseBlock(node: ts.Node): node is ts.CaseBlock; -export declare function isCaseClause(node: ts.Node): node is ts.CaseClause; -export declare function isCaseOrDefaultClause(node: ts.Node): node is ts.CaseOrDefaultClause; -export declare function isCatchClause(node: ts.Node): node is ts.CatchClause; -export declare function isClassDeclaration(node: ts.Node): node is ts.ClassDeclaration; -export declare function isClassExpression(node: ts.Node): node is ts.ClassExpression; -export declare function isClassLikeDeclaration(node: ts.Node): node is ts.ClassLikeDeclaration; -export declare function isCommaListExpression(node: ts.Node): node is ts.CommaListExpression; -export declare function isConditionalExpression(node: ts.Node): node is ts.ConditionalExpression; -export declare function isConditionalTypeNode(node: ts.Node): node is ts.ConditionalTypeNode; -export declare function isConstructorDeclaration(node: ts.Node): node is ts.ConstructorDeclaration; -export declare function isConstructorTypeNode(node: ts.Node): node is ts.ConstructorTypeNode; -export declare function isConstructSignatureDeclaration(node: ts.Node): node is ts.ConstructSignatureDeclaration; -export declare function isContinueStatement(node: ts.Node): node is ts.ContinueStatement; -export declare function isComputedPropertyName(node: ts.Node): node is ts.ComputedPropertyName; -export declare function isDebuggerStatement(node: ts.Node): node is ts.DebuggerStatement; -export declare function isDecorator(node: ts.Node): node is ts.Decorator; -export declare function isDefaultClause(node: ts.Node): node is ts.DefaultClause; -export declare function isDeleteExpression(node: ts.Node): node is ts.DeleteExpression; -export declare function isDoStatement(node: ts.Node): node is ts.DoStatement; -export declare function isElementAccessExpression(node: ts.Node): node is ts.ElementAccessExpression; -export declare function isEmptyStatement(node: ts.Node): node is ts.EmptyStatement; -export declare function isEntityName(node: ts.Node): node is ts.EntityName; -export declare function isEntityNameExpression(node: ts.Node): node is ts.EntityNameExpression; -export declare function isEnumDeclaration(node: ts.Node): node is ts.EnumDeclaration; -export declare function isEnumMember(node: ts.Node): node is ts.EnumMember; -export declare function isExportAssignment(node: ts.Node): node is ts.ExportAssignment; -export declare function isExportDeclaration(node: ts.Node): node is ts.ExportDeclaration; -export declare function isExportSpecifier(node: ts.Node): node is ts.ExportSpecifier; -export declare function isExpression(node: ts.Node): node is ts.Expression; -export declare function isExpressionStatement(node: ts.Node): node is ts.ExpressionStatement; -export declare function isExpressionWithTypeArguments(node: ts.Node): node is ts.ExpressionWithTypeArguments; -export declare function isExternalModuleReference(node: ts.Node): node is ts.ExternalModuleReference; -export declare function isForInStatement(node: ts.Node): node is ts.ForInStatement; -export declare function isForInOrOfStatement(node: ts.Node): node is ts.ForInOrOfStatement; -export declare function isForOfStatement(node: ts.Node): node is ts.ForOfStatement; -export declare function isForStatement(node: ts.Node): node is ts.ForStatement; -export declare function isFunctionDeclaration(node: ts.Node): node is ts.FunctionDeclaration; -export declare function isFunctionExpression(node: ts.Node): node is ts.FunctionExpression; -export declare function isFunctionTypeNode(node: ts.Node): node is ts.FunctionTypeNode; -export declare function isGetAccessorDeclaration(node: ts.Node): node is ts.GetAccessorDeclaration; -export declare function isIdentifier(node: ts.Node): node is ts.Identifier; -export declare function isIfStatement(node: ts.Node): node is ts.IfStatement; -export declare function isImportClause(node: ts.Node): node is ts.ImportClause; -export declare function isImportDeclaration(node: ts.Node): node is ts.ImportDeclaration; -export declare function isImportEqualsDeclaration(node: ts.Node): node is ts.ImportEqualsDeclaration; -export declare function isImportSpecifier(node: ts.Node): node is ts.ImportSpecifier; -export declare function isIndexedAccessTypeNode(node: ts.Node): node is ts.IndexedAccessTypeNode; -export declare function isIndexSignatureDeclaration(node: ts.Node): node is ts.IndexSignatureDeclaration; -export declare function isInferTypeNode(node: ts.Node): node is ts.InferTypeNode; -export declare function isInterfaceDeclaration(node: ts.Node): node is ts.InterfaceDeclaration; -export declare function isIntersectionTypeNode(node: ts.Node): node is ts.IntersectionTypeNode; -export declare function isIterationStatement(node: ts.Node): node is ts.IterationStatement; -export declare function isJsDoc(node: ts.Node): node is ts.JSDoc; -export declare function isJsxAttribute(node: ts.Node): node is ts.JsxAttribute; -export declare function isJsxAttributeLike(node: ts.Node): node is ts.JsxAttributeLike; -export declare function isJsxAttributes(node: ts.Node): node is ts.JsxAttributes; -export declare function isJsxClosingElement(node: ts.Node): node is ts.JsxClosingElement; -export declare function isJsxClosingFragment(node: ts.Node): node is ts.JsxClosingFragment; -export declare function isJsxElement(node: ts.Node): node is ts.JsxElement; -export declare function isJsxExpression(node: ts.Node): node is ts.JsxExpression; -export declare function isJsxFragment(node: ts.Node): node is ts.JsxFragment; -export declare function isJsxOpeningElement(node: ts.Node): node is ts.JsxOpeningElement; -export declare function isJsxOpeningFragment(node: ts.Node): node is ts.JsxOpeningFragment; -export declare function isJsxOpeningLikeElement(node: ts.Node): node is ts.JsxOpeningLikeElement; -export declare function isJsxSelfClosingElement(node: ts.Node): node is ts.JsxSelfClosingElement; -export declare function isJsxSpreadAttribute(node: ts.Node): node is ts.JsxSpreadAttribute; -export declare function isJsxText(node: ts.Node): node is ts.JsxText; -export declare function isLabeledStatement(node: ts.Node): node is ts.LabeledStatement; -export declare function isLiteralExpression(node: ts.Node): node is ts.LiteralExpression; -export declare function isLiteralTypeNode(node: ts.Node): node is ts.LiteralTypeNode; -export declare function isMappedTypeNode(node: ts.Node): node is ts.MappedTypeNode; -export declare function isMetaProperty(node: ts.Node): node is ts.MetaProperty; -export declare function isMethodDeclaration(node: ts.Node): node is ts.MethodDeclaration; -export declare function isMethodSignature(node: ts.Node): node is ts.MethodSignature; -export declare function isModuleBlock(node: ts.Node): node is ts.ModuleBlock; -export declare function isModuleDeclaration(node: ts.Node): node is ts.ModuleDeclaration; -export declare function isNamedExports(node: ts.Node): node is ts.NamedExports; -export declare function isNamedImports(node: ts.Node): node is ts.NamedImports; -export declare function isNamespaceDeclaration(node: ts.Node): node is ts.NamespaceDeclaration; -export declare function isNamespaceImport(node: ts.Node): node is ts.NamespaceImport; -export declare function isNamespaceExportDeclaration(node: ts.Node): node is ts.NamespaceExportDeclaration; -export declare function isNewExpression(node: ts.Node): node is ts.NewExpression; -export declare function isNonNullExpression(node: ts.Node): node is ts.NonNullExpression; -export declare function isNoSubstitutionTemplateLiteral(node: ts.Node): node is ts.NoSubstitutionTemplateLiteral; -export declare function isNullLiteral(node: ts.Node): node is ts.NullLiteral; -export declare function isNumericLiteral(node: ts.Node): node is ts.NumericLiteral; -export declare function isNumericOrStringLikeLiteral(node: ts.Node): node is ts.NumericLiteral | ts.StringLiteral | ts.NoSubstitutionTemplateLiteral; -export declare function isObjectBindingPattern(node: ts.Node): node is ts.ObjectBindingPattern; -export declare function isObjectLiteralExpression(node: ts.Node): node is ts.ObjectLiteralExpression; -export declare function isOmittedExpression(node: ts.Node): node is ts.OmittedExpression; -export declare function isParameterDeclaration(node: ts.Node): node is ts.ParameterDeclaration; -export declare function isParenthesizedExpression(node: ts.Node): node is ts.ParenthesizedExpression; -export declare function isParenthesizedTypeNode(node: ts.Node): node is ts.ParenthesizedTypeNode; -export declare function isPostfixUnaryExpression(node: ts.Node): node is ts.PostfixUnaryExpression; -export declare function isPrefixUnaryExpression(node: ts.Node): node is ts.PrefixUnaryExpression; -export declare function isPropertyAccessExpression(node: ts.Node): node is ts.PropertyAccessExpression; -export declare function isPropertyAssignment(node: ts.Node): node is ts.PropertyAssignment; -export declare function isPropertyDeclaration(node: ts.Node): node is ts.PropertyDeclaration; -export declare function isPropertySignature(node: ts.Node): node is ts.PropertySignature; -export declare function isQualifiedName(node: ts.Node): node is ts.QualifiedName; -export declare function isRegularExpressionLiteral(node: ts.Node): node is ts.RegularExpressionLiteral; -export declare function isReturnStatement(node: ts.Node): node is ts.ReturnStatement; -export declare function isSetAccessorDeclaration(node: ts.Node): node is ts.SetAccessorDeclaration; -export declare function isShorthandPropertyAssignment(node: ts.Node): node is ts.ShorthandPropertyAssignment; -export declare function isSignatureDeclaration(node: ts.Node): node is ts.SignatureDeclaration; -export declare function isSourceFile(node: ts.Node): node is ts.SourceFile; -export declare function isSpreadAssignment(node: ts.Node): node is ts.SpreadAssignment; -export declare function isSpreadElement(node: ts.Node): node is ts.SpreadElement; -export declare function isStringLiteral(node: ts.Node): node is ts.StringLiteral; -export declare function isSwitchStatement(node: ts.Node): node is ts.SwitchStatement; -export declare function isSyntaxList(node: ts.Node): node is ts.SyntaxList; -export declare function isTaggedTemplateExpression(node: ts.Node): node is ts.TaggedTemplateExpression; -export declare function isTemplateExpression(node: ts.Node): node is ts.TemplateExpression; -export declare function isTemplateLiteral(node: ts.Node): node is ts.TemplateLiteral; -export declare function isTextualLiteral(node: ts.Node): node is ts.StringLiteral | ts.NoSubstitutionTemplateLiteral; -export declare function isThrowStatement(node: ts.Node): node is ts.ThrowStatement; -export declare function isTryStatement(node: ts.Node): node is ts.TryStatement; -export declare function isTupleTypeNode(node: ts.Node): node is ts.TupleTypeNode; -export declare function isTypeAliasDeclaration(node: ts.Node): node is ts.TypeAliasDeclaration; -export declare function isTypeAssertion(node: ts.Node): node is ts.TypeAssertion; -export declare function isTypeLiteralNode(node: ts.Node): node is ts.TypeLiteralNode; -export declare function isTypeOfExpression(node: ts.Node): node is ts.TypeOfExpression; -export declare function isTypeOperatorNode(node: ts.Node): node is ts.TypeOperatorNode; -export declare function isTypeParameterDeclaration(node: ts.Node): node is ts.TypeParameterDeclaration; -export declare function isTypePredicateNode(node: ts.Node): node is ts.TypePredicateNode; -export declare function isTypeReferenceNode(node: ts.Node): node is ts.TypeReferenceNode; -export declare function isTypeQueryNode(node: ts.Node): node is ts.TypeQueryNode; -export declare function isUnionTypeNode(node: ts.Node): node is ts.UnionTypeNode; -export declare function isVariableDeclaration(node: ts.Node): node is ts.VariableDeclaration; -export declare function isVariableStatement(node: ts.Node): node is ts.VariableStatement; -export declare function isVariableDeclarationList(node: ts.Node): node is ts.VariableDeclarationList; -export declare function isVoidExpression(node: ts.Node): node is ts.VoidExpression; -export declare function isWhileStatement(node: ts.Node): node is ts.WhileStatement; -export declare function isWithStatement(node: ts.Node): node is ts.WithStatement; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.js deleted file mode 100644 index b63a09be9..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/node.js +++ /dev/null @@ -1,709 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -function isAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.GetAccessor || - node.kind === ts.SyntaxKind.SetAccessor; -} -exports.isAccessorDeclaration = isAccessorDeclaration; -function isArrayBindingPattern(node) { - return node.kind === ts.SyntaxKind.ArrayBindingPattern; -} -exports.isArrayBindingPattern = isArrayBindingPattern; -function isArrayLiteralExpression(node) { - return node.kind === ts.SyntaxKind.ArrayLiteralExpression; -} -exports.isArrayLiteralExpression = isArrayLiteralExpression; -function isArrayTypeNode(node) { - return node.kind === ts.SyntaxKind.ArrayType; -} -exports.isArrayTypeNode = isArrayTypeNode; -function isArrowFunction(node) { - return node.kind === ts.SyntaxKind.ArrowFunction; -} -exports.isArrowFunction = isArrowFunction; -function isAsExpression(node) { - return node.kind === ts.SyntaxKind.AsExpression; -} -exports.isAsExpression = isAsExpression; -function isAssertionExpression(node) { - return node.kind === ts.SyntaxKind.AsExpression || - node.kind === ts.SyntaxKind.TypeAssertionExpression; -} -exports.isAssertionExpression = isAssertionExpression; -function isAwaitExpression(node) { - return node.kind === ts.SyntaxKind.AwaitExpression; -} -exports.isAwaitExpression = isAwaitExpression; -function isBinaryExpression(node) { - return node.kind === ts.SyntaxKind.BinaryExpression; -} -exports.isBinaryExpression = isBinaryExpression; -function isBindingElement(node) { - return node.kind === ts.SyntaxKind.BindingElement; -} -exports.isBindingElement = isBindingElement; -function isBindingPattern(node) { - return node.kind === ts.SyntaxKind.ArrayBindingPattern || - node.kind === ts.SyntaxKind.ObjectBindingPattern; -} -exports.isBindingPattern = isBindingPattern; -function isBlock(node) { - return node.kind === ts.SyntaxKind.Block; -} -exports.isBlock = isBlock; -function isBlockLike(node) { - return node.statements !== undefined; -} -exports.isBlockLike = isBlockLike; -function isBooleanLiteral(node) { - return node.kind === ts.SyntaxKind.TrueKeyword || node.kind === ts.SyntaxKind.FalseKeyword; -} -exports.isBooleanLiteral = isBooleanLiteral; -function isBreakOrContinueStatement(node) { - return node.kind === ts.SyntaxKind.BreakStatement || - node.kind === ts.SyntaxKind.ContinueStatement; -} -exports.isBreakOrContinueStatement = isBreakOrContinueStatement; -function isBreakStatement(node) { - return node.kind === ts.SyntaxKind.BreakStatement; -} -exports.isBreakStatement = isBreakStatement; -function isCallExpression(node) { - return node.kind === ts.SyntaxKind.CallExpression; -} -exports.isCallExpression = isCallExpression; -function isCallLikeExpression(node) { - switch (node.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.TaggedTemplateExpression: - return true; - default: - return false; - } -} -exports.isCallLikeExpression = isCallLikeExpression; -function isCallSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.CallSignature; -} -exports.isCallSignatureDeclaration = isCallSignatureDeclaration; -function isCaseBlock(node) { - return node.kind === ts.SyntaxKind.CaseBlock; -} -exports.isCaseBlock = isCaseBlock; -function isCaseClause(node) { - return node.kind === ts.SyntaxKind.CaseClause; -} -exports.isCaseClause = isCaseClause; -function isCaseOrDefaultClause(node) { - return node.kind === ts.SyntaxKind.CaseClause || - node.kind === ts.SyntaxKind.DefaultClause; -} -exports.isCaseOrDefaultClause = isCaseOrDefaultClause; -function isCatchClause(node) { - return node.kind === ts.SyntaxKind.CatchClause; -} -exports.isCatchClause = isCatchClause; -function isClassDeclaration(node) { - return node.kind === ts.SyntaxKind.ClassDeclaration; -} -exports.isClassDeclaration = isClassDeclaration; -function isClassExpression(node) { - return node.kind === ts.SyntaxKind.ClassExpression; -} -exports.isClassExpression = isClassExpression; -function isClassLikeDeclaration(node) { - return node.kind === ts.SyntaxKind.ClassDeclaration || - node.kind === ts.SyntaxKind.ClassExpression; -} -exports.isClassLikeDeclaration = isClassLikeDeclaration; -function isCommaListExpression(node) { - return node.kind === ts.SyntaxKind.CommaListExpression; -} -exports.isCommaListExpression = isCommaListExpression; -function isConditionalExpression(node) { - return node.kind === ts.SyntaxKind.ConditionalExpression; -} -exports.isConditionalExpression = isConditionalExpression; -function isConditionalTypeNode(node) { - return node.kind === ts.SyntaxKind.ConditionalType; -} -exports.isConditionalTypeNode = isConditionalTypeNode; -function isConstructorDeclaration(node) { - return node.kind === ts.SyntaxKind.Constructor; -} -exports.isConstructorDeclaration = isConstructorDeclaration; -function isConstructorTypeNode(node) { - return node.kind === ts.SyntaxKind.ConstructorType; -} -exports.isConstructorTypeNode = isConstructorTypeNode; -function isConstructSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.ConstructSignature; -} -exports.isConstructSignatureDeclaration = isConstructSignatureDeclaration; -function isContinueStatement(node) { - return node.kind === ts.SyntaxKind.ContinueStatement; -} -exports.isContinueStatement = isContinueStatement; -function isComputedPropertyName(node) { - return node.kind === ts.SyntaxKind.ComputedPropertyName; -} -exports.isComputedPropertyName = isComputedPropertyName; -function isDebuggerStatement(node) { - return node.kind === ts.SyntaxKind.DebuggerStatement; -} -exports.isDebuggerStatement = isDebuggerStatement; -function isDecorator(node) { - return node.kind === ts.SyntaxKind.Decorator; -} -exports.isDecorator = isDecorator; -function isDefaultClause(node) { - return node.kind === ts.SyntaxKind.DefaultClause; -} -exports.isDefaultClause = isDefaultClause; -function isDeleteExpression(node) { - return node.kind === ts.SyntaxKind.DeleteExpression; -} -exports.isDeleteExpression = isDeleteExpression; -function isDoStatement(node) { - return node.kind === ts.SyntaxKind.DoStatement; -} -exports.isDoStatement = isDoStatement; -function isElementAccessExpression(node) { - return node.kind === ts.SyntaxKind.ElementAccessExpression; -} -exports.isElementAccessExpression = isElementAccessExpression; -function isEmptyStatement(node) { - return node.kind === ts.SyntaxKind.EmptyStatement; -} -exports.isEmptyStatement = isEmptyStatement; -function isEntityName(node) { - return node.kind === ts.SyntaxKind.Identifier || isQualifiedName(node); -} -exports.isEntityName = isEntityName; -function isEntityNameExpression(node) { - return node.kind === ts.SyntaxKind.Identifier || - isPropertyAccessExpression(node) && isEntityNameExpression(node.expression); -} -exports.isEntityNameExpression = isEntityNameExpression; -function isEnumDeclaration(node) { - return node.kind === ts.SyntaxKind.EnumDeclaration; -} -exports.isEnumDeclaration = isEnumDeclaration; -function isEnumMember(node) { - return node.kind === ts.SyntaxKind.EnumMember; -} -exports.isEnumMember = isEnumMember; -function isExportAssignment(node) { - return node.kind === ts.SyntaxKind.ExportAssignment; -} -exports.isExportAssignment = isExportAssignment; -function isExportDeclaration(node) { - return node.kind === ts.SyntaxKind.ExportDeclaration; -} -exports.isExportDeclaration = isExportDeclaration; -function isExportSpecifier(node) { - return node.kind === ts.SyntaxKind.ExportSpecifier; -} -exports.isExportSpecifier = isExportSpecifier; -function isExpression(node) { - switch (node.kind) { - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.BinaryExpression: - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.CommaListExpression: - case ts.SyntaxKind.ConditionalExpression: - case ts.SyntaxKind.DeleteExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.FalseKeyword: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.Identifier: - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxOpeningFragment: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.MetaProperty: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.NoSubstitutionTemplateLiteral: - case ts.SyntaxKind.NullKeyword: - case ts.SyntaxKind.NumericLiteral: - case ts.SyntaxKind.ObjectLiteralExpression: - case ts.SyntaxKind.OmittedExpression: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.PrefixUnaryExpression: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.RegularExpressionLiteral: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.StringLiteral: - case ts.SyntaxKind.SuperKeyword: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.TemplateExpression: - case ts.SyntaxKind.ThisKeyword: - case ts.SyntaxKind.TrueKeyword: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.YieldExpression: - return true; - default: - return false; - } -} -exports.isExpression = isExpression; -function isExpressionStatement(node) { - return node.kind === ts.SyntaxKind.ExpressionStatement; -} -exports.isExpressionStatement = isExpressionStatement; -function isExpressionWithTypeArguments(node) { - return node.kind === ts.SyntaxKind.ExpressionWithTypeArguments; -} -exports.isExpressionWithTypeArguments = isExpressionWithTypeArguments; -function isExternalModuleReference(node) { - return node.kind === ts.SyntaxKind.ExternalModuleReference; -} -exports.isExternalModuleReference = isExternalModuleReference; -function isForInStatement(node) { - return node.kind === ts.SyntaxKind.ForInStatement; -} -exports.isForInStatement = isForInStatement; -function isForInOrOfStatement(node) { - return node.kind === ts.SyntaxKind.ForOfStatement || node.kind === ts.SyntaxKind.ForInStatement; -} -exports.isForInOrOfStatement = isForInOrOfStatement; -function isForOfStatement(node) { - return node.kind === ts.SyntaxKind.ForOfStatement; -} -exports.isForOfStatement = isForOfStatement; -function isForStatement(node) { - return node.kind === ts.SyntaxKind.ForStatement; -} -exports.isForStatement = isForStatement; -function isFunctionDeclaration(node) { - return node.kind === ts.SyntaxKind.FunctionDeclaration; -} -exports.isFunctionDeclaration = isFunctionDeclaration; -function isFunctionExpression(node) { - return node.kind === ts.SyntaxKind.FunctionExpression; -} -exports.isFunctionExpression = isFunctionExpression; -function isFunctionTypeNode(node) { - return node.kind === ts.SyntaxKind.FunctionType; -} -exports.isFunctionTypeNode = isFunctionTypeNode; -function isGetAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.GetAccessor; -} -exports.isGetAccessorDeclaration = isGetAccessorDeclaration; -function isIdentifier(node) { - return node.kind === ts.SyntaxKind.Identifier; -} -exports.isIdentifier = isIdentifier; -function isIfStatement(node) { - return node.kind === ts.SyntaxKind.IfStatement; -} -exports.isIfStatement = isIfStatement; -function isImportClause(node) { - return node.kind === ts.SyntaxKind.ImportClause; -} -exports.isImportClause = isImportClause; -function isImportDeclaration(node) { - return node.kind === ts.SyntaxKind.ImportDeclaration; -} -exports.isImportDeclaration = isImportDeclaration; -function isImportEqualsDeclaration(node) { - return node.kind === ts.SyntaxKind.ImportEqualsDeclaration; -} -exports.isImportEqualsDeclaration = isImportEqualsDeclaration; -function isImportSpecifier(node) { - return node.kind === ts.SyntaxKind.ImportSpecifier; -} -exports.isImportSpecifier = isImportSpecifier; -function isIndexedAccessTypeNode(node) { - return node.kind === ts.SyntaxKind.IndexedAccessType; -} -exports.isIndexedAccessTypeNode = isIndexedAccessTypeNode; -function isIndexSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.IndexSignature; -} -exports.isIndexSignatureDeclaration = isIndexSignatureDeclaration; -function isInferTypeNode(node) { - return node.kind === ts.SyntaxKind.InferType; -} -exports.isInferTypeNode = isInferTypeNode; -function isInterfaceDeclaration(node) { - return node.kind === ts.SyntaxKind.InterfaceDeclaration; -} -exports.isInterfaceDeclaration = isInterfaceDeclaration; -function isIntersectionTypeNode(node) { - return node.kind === ts.SyntaxKind.IntersectionType; -} -exports.isIntersectionTypeNode = isIntersectionTypeNode; -function isIterationStatement(node) { - switch (node.kind) { - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - return true; - default: - return false; - } -} -exports.isIterationStatement = isIterationStatement; -function isJsDoc(node) { - return node.kind === ts.SyntaxKind.JSDocComment; -} -exports.isJsDoc = isJsDoc; -function isJsxAttribute(node) { - return node.kind === ts.SyntaxKind.JsxAttribute; -} -exports.isJsxAttribute = isJsxAttribute; -function isJsxAttributeLike(node) { - return node.kind === ts.SyntaxKind.JsxAttribute || - node.kind === ts.SyntaxKind.JsxSpreadAttribute; -} -exports.isJsxAttributeLike = isJsxAttributeLike; -function isJsxAttributes(node) { - return node.kind === ts.SyntaxKind.JsxAttributes; -} -exports.isJsxAttributes = isJsxAttributes; -function isJsxClosingElement(node) { - return node.kind === ts.SyntaxKind.JsxClosingElement; -} -exports.isJsxClosingElement = isJsxClosingElement; -function isJsxClosingFragment(node) { - return node.kind === ts.SyntaxKind.JsxClosingFragment; -} -exports.isJsxClosingFragment = isJsxClosingFragment; -function isJsxElement(node) { - return node.kind === ts.SyntaxKind.JsxElement; -} -exports.isJsxElement = isJsxElement; -function isJsxExpression(node) { - return node.kind === ts.SyntaxKind.JsxExpression; -} -exports.isJsxExpression = isJsxExpression; -function isJsxFragment(node) { - return node.kind === ts.SyntaxKind.JsxFragment; -} -exports.isJsxFragment = isJsxFragment; -function isJsxOpeningElement(node) { - return node.kind === ts.SyntaxKind.JsxOpeningElement; -} -exports.isJsxOpeningElement = isJsxOpeningElement; -function isJsxOpeningFragment(node) { - return node.kind === ts.SyntaxKind.JsxOpeningFragment; -} -exports.isJsxOpeningFragment = isJsxOpeningFragment; -function isJsxOpeningLikeElement(node) { - return node.kind === ts.SyntaxKind.JsxOpeningElement || - node.kind === ts.SyntaxKind.JsxSelfClosingElement; -} -exports.isJsxOpeningLikeElement = isJsxOpeningLikeElement; -function isJsxSelfClosingElement(node) { - return node.kind === ts.SyntaxKind.JsxSelfClosingElement; -} -exports.isJsxSelfClosingElement = isJsxSelfClosingElement; -function isJsxSpreadAttribute(node) { - return node.kind === ts.SyntaxKind.JsxSpreadAttribute; -} -exports.isJsxSpreadAttribute = isJsxSpreadAttribute; -function isJsxText(node) { - return node.kind === ts.SyntaxKind.JsxText; -} -exports.isJsxText = isJsxText; -function isLabeledStatement(node) { - return node.kind === ts.SyntaxKind.LabeledStatement; -} -exports.isLabeledStatement = isLabeledStatement; -function isLiteralExpression(node) { - return node.kind >= ts.SyntaxKind.FirstLiteralToken && - node.kind <= ts.SyntaxKind.LastLiteralToken; -} -exports.isLiteralExpression = isLiteralExpression; -function isLiteralTypeNode(node) { - return node.kind === ts.SyntaxKind.LiteralType; -} -exports.isLiteralTypeNode = isLiteralTypeNode; -function isMappedTypeNode(node) { - return node.kind === ts.SyntaxKind.MappedType; -} -exports.isMappedTypeNode = isMappedTypeNode; -function isMetaProperty(node) { - return node.kind === ts.SyntaxKind.MetaProperty; -} -exports.isMetaProperty = isMetaProperty; -function isMethodDeclaration(node) { - return node.kind === ts.SyntaxKind.MethodDeclaration; -} -exports.isMethodDeclaration = isMethodDeclaration; -function isMethodSignature(node) { - return node.kind === ts.SyntaxKind.MethodSignature; -} -exports.isMethodSignature = isMethodSignature; -function isModuleBlock(node) { - return node.kind === ts.SyntaxKind.ModuleBlock; -} -exports.isModuleBlock = isModuleBlock; -function isModuleDeclaration(node) { - return node.kind === ts.SyntaxKind.ModuleDeclaration; -} -exports.isModuleDeclaration = isModuleDeclaration; -function isNamedExports(node) { - return node.kind === ts.SyntaxKind.NamedExports; -} -exports.isNamedExports = isNamedExports; -function isNamedImports(node) { - return node.kind === ts.SyntaxKind.NamedImports; -} -exports.isNamedImports = isNamedImports; -function isNamespaceDeclaration(node) { - return isModuleDeclaration(node) && - node.name.kind === ts.SyntaxKind.Identifier && - node.body !== undefined && - (node.body.kind === ts.SyntaxKind.ModuleBlock || - isNamespaceDeclaration(node.body)); -} -exports.isNamespaceDeclaration = isNamespaceDeclaration; -function isNamespaceImport(node) { - return node.kind === ts.SyntaxKind.NamespaceImport; -} -exports.isNamespaceImport = isNamespaceImport; -function isNamespaceExportDeclaration(node) { - return node.kind === ts.SyntaxKind.NamespaceExportDeclaration; -} -exports.isNamespaceExportDeclaration = isNamespaceExportDeclaration; -function isNewExpression(node) { - return node.kind === ts.SyntaxKind.NewExpression; -} -exports.isNewExpression = isNewExpression; -function isNonNullExpression(node) { - return node.kind === ts.SyntaxKind.NonNullExpression; -} -exports.isNonNullExpression = isNonNullExpression; -function isNoSubstitutionTemplateLiteral(node) { - return node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isNoSubstitutionTemplateLiteral = isNoSubstitutionTemplateLiteral; -function isNullLiteral(node) { - return node.kind === ts.SyntaxKind.NullKeyword; -} -exports.isNullLiteral = isNullLiteral; -function isNumericLiteral(node) { - return node.kind === ts.SyntaxKind.NumericLiteral; -} -exports.isNumericLiteral = isNumericLiteral; -function isNumericOrStringLikeLiteral(node) { - switch (node.kind) { - case ts.SyntaxKind.StringLiteral: - case ts.SyntaxKind.NumericLiteral: - case ts.SyntaxKind.NoSubstitutionTemplateLiteral: - return true; - default: - return false; - } -} -exports.isNumericOrStringLikeLiteral = isNumericOrStringLikeLiteral; -function isObjectBindingPattern(node) { - return node.kind === ts.SyntaxKind.ObjectBindingPattern; -} -exports.isObjectBindingPattern = isObjectBindingPattern; -function isObjectLiteralExpression(node) { - return node.kind === ts.SyntaxKind.ObjectLiteralExpression; -} -exports.isObjectLiteralExpression = isObjectLiteralExpression; -function isOmittedExpression(node) { - return node.kind === ts.SyntaxKind.OmittedExpression; -} -exports.isOmittedExpression = isOmittedExpression; -function isParameterDeclaration(node) { - return node.kind === ts.SyntaxKind.Parameter; -} -exports.isParameterDeclaration = isParameterDeclaration; -function isParenthesizedExpression(node) { - return node.kind === ts.SyntaxKind.ParenthesizedExpression; -} -exports.isParenthesizedExpression = isParenthesizedExpression; -function isParenthesizedTypeNode(node) { - return node.kind === ts.SyntaxKind.ParenthesizedType; -} -exports.isParenthesizedTypeNode = isParenthesizedTypeNode; -function isPostfixUnaryExpression(node) { - return node.kind === ts.SyntaxKind.PostfixUnaryExpression; -} -exports.isPostfixUnaryExpression = isPostfixUnaryExpression; -function isPrefixUnaryExpression(node) { - return node.kind === ts.SyntaxKind.PrefixUnaryExpression; -} -exports.isPrefixUnaryExpression = isPrefixUnaryExpression; -function isPropertyAccessExpression(node) { - return node.kind === ts.SyntaxKind.PropertyAccessExpression; -} -exports.isPropertyAccessExpression = isPropertyAccessExpression; -function isPropertyAssignment(node) { - return node.kind === ts.SyntaxKind.PropertyAssignment; -} -exports.isPropertyAssignment = isPropertyAssignment; -function isPropertyDeclaration(node) { - return node.kind === ts.SyntaxKind.PropertyDeclaration; -} -exports.isPropertyDeclaration = isPropertyDeclaration; -function isPropertySignature(node) { - return node.kind === ts.SyntaxKind.PropertySignature; -} -exports.isPropertySignature = isPropertySignature; -function isQualifiedName(node) { - return node.kind === ts.SyntaxKind.QualifiedName; -} -exports.isQualifiedName = isQualifiedName; -function isRegularExpressionLiteral(node) { - return node.kind === ts.SyntaxKind.RegularExpressionLiteral; -} -exports.isRegularExpressionLiteral = isRegularExpressionLiteral; -function isReturnStatement(node) { - return node.kind === ts.SyntaxKind.ReturnStatement; -} -exports.isReturnStatement = isReturnStatement; -function isSetAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.SetAccessor; -} -exports.isSetAccessorDeclaration = isSetAccessorDeclaration; -function isShorthandPropertyAssignment(node) { - return node.kind === ts.SyntaxKind.ShorthandPropertyAssignment; -} -exports.isShorthandPropertyAssignment = isShorthandPropertyAssignment; -function isSignatureDeclaration(node) { - return node.parameters !== undefined; -} -exports.isSignatureDeclaration = isSignatureDeclaration; -function isSourceFile(node) { - return node.kind === ts.SyntaxKind.SourceFile; -} -exports.isSourceFile = isSourceFile; -function isSpreadAssignment(node) { - return node.kind === ts.SyntaxKind.SpreadAssignment; -} -exports.isSpreadAssignment = isSpreadAssignment; -function isSpreadElement(node) { - return node.kind === ts.SyntaxKind.SpreadElement; -} -exports.isSpreadElement = isSpreadElement; -function isStringLiteral(node) { - return node.kind === ts.SyntaxKind.StringLiteral; -} -exports.isStringLiteral = isStringLiteral; -function isSwitchStatement(node) { - return node.kind === ts.SyntaxKind.SwitchStatement; -} -exports.isSwitchStatement = isSwitchStatement; -function isSyntaxList(node) { - return node.kind === ts.SyntaxKind.SyntaxList; -} -exports.isSyntaxList = isSyntaxList; -function isTaggedTemplateExpression(node) { - return node.kind === ts.SyntaxKind.TaggedTemplateExpression; -} -exports.isTaggedTemplateExpression = isTaggedTemplateExpression; -function isTemplateExpression(node) { - return node.kind === ts.SyntaxKind.TemplateExpression; -} -exports.isTemplateExpression = isTemplateExpression; -function isTemplateLiteral(node) { - return node.kind === ts.SyntaxKind.TemplateExpression || - node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isTemplateLiteral = isTemplateLiteral; -function isTextualLiteral(node) { - return node.kind === ts.SyntaxKind.StringLiteral || - node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isTextualLiteral = isTextualLiteral; -function isThrowStatement(node) { - return node.kind === ts.SyntaxKind.ThrowStatement; -} -exports.isThrowStatement = isThrowStatement; -function isTryStatement(node) { - return node.kind === ts.SyntaxKind.TryStatement; -} -exports.isTryStatement = isTryStatement; -function isTupleTypeNode(node) { - return node.kind === ts.SyntaxKind.TupleType; -} -exports.isTupleTypeNode = isTupleTypeNode; -function isTypeAliasDeclaration(node) { - return node.kind === ts.SyntaxKind.TypeAliasDeclaration; -} -exports.isTypeAliasDeclaration = isTypeAliasDeclaration; -function isTypeAssertion(node) { - return node.kind === ts.SyntaxKind.TypeAssertionExpression; -} -exports.isTypeAssertion = isTypeAssertion; -function isTypeLiteralNode(node) { - return node.kind === ts.SyntaxKind.TypeLiteral; -} -exports.isTypeLiteralNode = isTypeLiteralNode; -function isTypeOfExpression(node) { - return node.kind === ts.SyntaxKind.TypeOfExpression; -} -exports.isTypeOfExpression = isTypeOfExpression; -function isTypeOperatorNode(node) { - return node.kind === ts.SyntaxKind.TypeOperator; -} -exports.isTypeOperatorNode = isTypeOperatorNode; -function isTypeParameterDeclaration(node) { - return node.kind === ts.SyntaxKind.TypeParameter; -} -exports.isTypeParameterDeclaration = isTypeParameterDeclaration; -function isTypePredicateNode(node) { - return node.kind === ts.SyntaxKind.TypePredicate; -} -exports.isTypePredicateNode = isTypePredicateNode; -function isTypeReferenceNode(node) { - return node.kind === ts.SyntaxKind.TypeReference; -} -exports.isTypeReferenceNode = isTypeReferenceNode; -function isTypeQueryNode(node) { - return node.kind === ts.SyntaxKind.TypeQuery; -} -exports.isTypeQueryNode = isTypeQueryNode; -function isUnionTypeNode(node) { - return node.kind === ts.SyntaxKind.UnionType; -} -exports.isUnionTypeNode = isUnionTypeNode; -function isVariableDeclaration(node) { - return node.kind === ts.SyntaxKind.VariableDeclaration; -} -exports.isVariableDeclaration = isVariableDeclaration; -function isVariableStatement(node) { - return node.kind === ts.SyntaxKind.VariableStatement; -} -exports.isVariableStatement = isVariableStatement; -function isVariableDeclarationList(node) { - return node.kind === ts.SyntaxKind.VariableDeclarationList; -} -exports.isVariableDeclarationList = isVariableDeclarationList; -function isVoidExpression(node) { - return node.kind === ts.SyntaxKind.VoidExpression; -} -exports.isVoidExpression = isVoidExpression; -function isWhileStatement(node) { - return node.kind === ts.SyntaxKind.WhileStatement; -} -exports.isWhileStatement = isWhileStatement; -function isWithStatement(node) { - return node.kind === ts.SyntaxKind.WithStatement; -} -exports.isWithStatement = isWithStatement; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.d.ts deleted file mode 100644 index 45b6bc3d3..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as ts from 'typescript'; -export declare function isConditionalType(type: ts.Type): type is ts.ConditionalType; -export declare function isEnumType(type: ts.Type): type is ts.EnumType; -export declare function isGenericType(type: ts.Type): type is ts.GenericType; -export declare function isIndexedAccessType(type: ts.Type): type is ts.IndexedAccessType; -export declare function isIndexedAccessype(type: ts.Type): type is ts.IndexType; -export declare function isInstantiableType(type: ts.Type): type is ts.InstantiableType; -export declare function isInterfaceType(type: ts.Type): type is ts.InterfaceType; -export declare function isIntersectionType(type: ts.Type): type is ts.IntersectionType; -export declare function isLiteralType(type: ts.Type): type is ts.LiteralType; -export declare function isObjectType(type: ts.Type): type is ts.ObjectType; -export declare function isSubstitutionType(type: ts.Type): type is ts.SubstitutionType; -export declare function isTypeParameter(type: ts.Type): type is ts.TypeParameter; -export declare function isTypeReference(type: ts.Type): type is ts.TypeReference; -export declare function isTypeVariable(type: ts.Type): type is ts.TypeParameter | ts.IndexedAccessType; -export declare function isUnionOrIntersectionType(type: ts.Type): type is ts.UnionOrIntersectionType; -export declare function isUnionType(type: ts.Type): type is ts.UnionType; -export declare function isUniqueESSymbolType(type: ts.Type): type is ts.UniqueESSymbolType; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.js deleted file mode 100644 index 01fc06ead..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.8/type.js +++ /dev/null @@ -1,75 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -function isConditionalType(type) { - return (type.flags & ts.TypeFlags.Conditional) !== 0; -} -exports.isConditionalType = isConditionalType; -function isEnumType(type) { - return (type.flags & ts.TypeFlags.Enum) !== 0; -} -exports.isEnumType = isEnumType; -function isGenericType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.ClassOrInterface) !== 0 && - (type.objectFlags & ts.ObjectFlags.Reference) !== 0; -} -exports.isGenericType = isGenericType; -function isIndexedAccessType(type) { - return (type.flags & ts.TypeFlags.IndexedAccess) !== 0; -} -exports.isIndexedAccessType = isIndexedAccessType; -function isIndexedAccessype(type) { - return (type.flags & ts.TypeFlags.Index) !== 0; -} -exports.isIndexedAccessype = isIndexedAccessype; -function isInstantiableType(type) { - return (type.flags & ts.TypeFlags.Instantiable) !== 0; -} -exports.isInstantiableType = isInstantiableType; -function isInterfaceType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.ClassOrInterface) !== 0; -} -exports.isInterfaceType = isInterfaceType; -function isIntersectionType(type) { - return (type.flags & ts.TypeFlags.Intersection) !== 0; -} -exports.isIntersectionType = isIntersectionType; -function isLiteralType(type) { - return (type.flags & (ts.TypeFlags.StringOrNumberLiteral | ts.TypeFlags.BigIntLiteral)) !== 0; -} -exports.isLiteralType = isLiteralType; -function isObjectType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0; -} -exports.isObjectType = isObjectType; -function isSubstitutionType(type) { - return (type.flags & ts.TypeFlags.Substitution) !== 0; -} -exports.isSubstitutionType = isSubstitutionType; -function isTypeParameter(type) { - return (type.flags & ts.TypeFlags.TypeParameter) !== 0; -} -exports.isTypeParameter = isTypeParameter; -function isTypeReference(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.Reference) !== 0; -} -exports.isTypeReference = isTypeReference; -function isTypeVariable(type) { - return (type.flags & ts.TypeFlags.TypeVariable) !== 0; -} -exports.isTypeVariable = isTypeVariable; -function isUnionOrIntersectionType(type) { - return (type.flags & ts.TypeFlags.UnionOrIntersection) !== 0; -} -exports.isUnionOrIntersectionType = isUnionOrIntersectionType; -function isUnionType(type) { - return (type.flags & ts.TypeFlags.Union) !== 0; -} -exports.isUnionType = isUnionType; -function isUniqueESSymbolType(type) { - return (type.flags & ts.TypeFlags.UniqueESSymbol) !== 0; -} -exports.isUniqueESSymbolType = isUniqueESSymbolType; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.d.ts deleted file mode 100644 index bf2ec1d1f..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from '../2.8/node'; -import * as ts from 'typescript'; -export declare function isImportTypeNode(node: ts.Node): node is ts.ImportTypeNode; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.js deleted file mode 100644 index e24159778..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/node.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.8/node"), exports); -const ts = require("typescript"); -function isImportTypeNode(node) { - return node.kind === ts.SyntaxKind.ImportType; -} -exports.isImportTypeNode = isImportTypeNode; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.d.ts deleted file mode 100644 index ec83ac3f4..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../2.8/type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.js deleted file mode 100644 index 9315cac2b..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/2.9/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.8/type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.d.ts deleted file mode 100644 index 305991140..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from '../2.9/node'; -import * as ts from 'typescript'; -export declare function isOptionalTypeNode(node: ts.Node): node is ts.OptionalTypeNode; -export declare function isRestTypeNode(node: ts.Node): node is ts.RestTypeNode; -export declare function isSyntheticExpression(node: ts.Node): node is ts.SyntheticExpression; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.js deleted file mode 100644 index 943bb36e8..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/node.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.9/node"), exports); -const ts = require("typescript"); -function isOptionalTypeNode(node) { - return node.kind === ts.SyntaxKind.OptionalType; -} -exports.isOptionalTypeNode = isOptionalTypeNode; -function isRestTypeNode(node) { - return node.kind === ts.SyntaxKind.RestType; -} -exports.isRestTypeNode = isRestTypeNode; -function isSyntheticExpression(node) { - return node.kind === ts.SyntaxKind.SyntheticExpression; -} -exports.isSyntheticExpression = isSyntheticExpression; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.d.ts deleted file mode 100644 index 5cf0df95a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from '../2.9/type'; -import * as ts from 'typescript'; -export declare function isTupleType(type: ts.Type): type is ts.TupleType; -export declare function isTupleTypeReference(type: ts.Type): type is ts.TypeReference & { - target: ts.TupleType; -}; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.js deleted file mode 100644 index 7ec876f8f..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.0/type.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.9/type"), exports); -const ts = require("typescript"); -const type_1 = require("../2.9/type"); -function isTupleType(type) { - return (type.flags & ts.TypeFlags.Object && type.objectFlags & ts.ObjectFlags.Tuple) !== 0; -} -exports.isTupleType = isTupleType; -function isTupleTypeReference(type) { - return type_1.isTypeReference(type) && isTupleType(type.target); -} -exports.isTupleTypeReference = isTupleTypeReference; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.d.ts deleted file mode 100644 index cf88ae114..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from '../3.0/node'; -import * as ts from 'typescript'; -export declare function isBigIntLiteral(node: ts.Node): node is ts.BigIntLiteral; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.js deleted file mode 100644 index 26e8c1a74..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/node.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.0/node"), exports); -const ts = require("typescript"); -function isBigIntLiteral(node) { - return node.kind === ts.SyntaxKind.BigIntLiteral; -} -exports.isBigIntLiteral = isBigIntLiteral; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.d.ts deleted file mode 100644 index fee77fb18..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.0/type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.js deleted file mode 100644 index d800ef841..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/3.2/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.0/type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.d.ts deleted file mode 100644 index d64678a34..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.2/node'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.js deleted file mode 100644 index e2c022f12..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/node.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.2/node"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.d.ts deleted file mode 100644 index 6cd4408ac..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.2/type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.js deleted file mode 100644 index ef88473b6..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/next/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.2/type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.d.ts deleted file mode 100644 index f6a9f8b7d..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './3.2/node'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.js deleted file mode 100644 index 3d8e37608..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/node.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./3.2/node"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.d.ts deleted file mode 100644 index 8a20aeb1f..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './3.2/type'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.js deleted file mode 100644 index cecc6fd6c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/typeguard/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./3.2/type"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.d.ts deleted file mode 100644 index 528155c1b..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as ts from 'typescript'; -export declare function endsControlFlow(statement: ts.Statement | ts.BlockLike): boolean; -export declare type ControlFlowStatement = ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.ThrowStatement; -export interface ControlFlowEnd { - readonly statements: ReadonlyArray; - readonly end: boolean; -} -export declare function getControlFlowEnd(statement: ts.Statement | ts.BlockLike): ControlFlowEnd; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.js deleted file mode 100644 index 7e83773f0..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/control-flow.js +++ /dev/null @@ -1,171 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const node_1 = require("../typeguard/node"); -function endsControlFlow(statement) { - return getControlFlowEnd(statement).end; -} -exports.endsControlFlow = endsControlFlow; -const defaultControlFlowEnd = { statements: [], end: false }; -function getControlFlowEnd(statement) { - return node_1.isBlockLike(statement) ? handleBlock(statement) : getControlFlowEndWorker(statement); -} -exports.getControlFlowEnd = getControlFlowEnd; -function getControlFlowEndWorker(statement) { - switch (statement.kind) { - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.ContinueStatement: - case ts.SyntaxKind.BreakStatement: - return { statements: [statement], end: true }; - case ts.SyntaxKind.Block: - return handleBlock(statement); - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.WhileStatement: - return handleForAndWhileStatement(statement); - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - return handleForInOrOfStatement(statement); - case ts.SyntaxKind.DoStatement: - return matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - case ts.SyntaxKind.IfStatement: - return handleIfStatement(statement); - case ts.SyntaxKind.SwitchStatement: - return matchBreakOrContinue(handleSwitchStatement(statement), node_1.isBreakStatement); - case ts.SyntaxKind.TryStatement: - return handleTryStatement(statement); - case ts.SyntaxKind.LabeledStatement: - return matchLabel(getControlFlowEndWorker(statement.statement), statement.label); - case ts.SyntaxKind.WithStatement: - return getControlFlowEndWorker(statement.statement); - default: - return defaultControlFlowEnd; - } -} -function handleBlock(statement) { - const result = { statements: [], end: false }; - for (const s of statement.statements) { - const current = getControlFlowEndWorker(s); - result.statements.push(...current.statements); - if (current.end) { - result.end = true; - break; - } - } - return result; -} -function handleForInOrOfStatement(statement) { - const end = matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - end.end = false; - return end; -} -function handleForAndWhileStatement(statement) { - const constantCondition = statement.kind === ts.SyntaxKind.WhileStatement - ? getConstantCondition(statement.expression) - : statement.condition === undefined || getConstantCondition(statement.condition); - if (constantCondition === false) - return defaultControlFlowEnd; - const end = matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - if (constantCondition === undefined) - end.end = false; - return end; -} -function getConstantCondition(node) { - switch (node.kind) { - case ts.SyntaxKind.TrueKeyword: - return true; - case ts.SyntaxKind.FalseKeyword: - return false; - default: - return; - } -} -function handleIfStatement(node) { - switch (getConstantCondition(node.expression)) { - case true: - return getControlFlowEndWorker(node.thenStatement); - case false: - return node.elseStatement === undefined - ? defaultControlFlowEnd - : getControlFlowEndWorker(node.elseStatement); - } - const then = getControlFlowEndWorker(node.thenStatement); - if (node.elseStatement === undefined) - return { - statements: then.statements, - end: false, - }; - const elze = getControlFlowEndWorker(node.elseStatement); - return { - statements: [...then.statements, ...elze.statements], - end: then.end && elze.end, - }; -} -function handleSwitchStatement(node) { - let hasDefault = false; - const result = { - statements: [], - end: false, - }; - for (const clause of node.caseBlock.clauses) { - if (clause.kind === ts.SyntaxKind.DefaultClause) - hasDefault = true; - const current = handleBlock(clause); - result.end = current.end; - result.statements.push(...current.statements); - } - if (!hasDefault) - result.end = false; - return result; -} -function handleTryStatement(node) { - let finallyResult; - if (node.finallyBlock !== undefined) { - finallyResult = handleBlock(node.finallyBlock); - if (finallyResult.end) - return finallyResult; - } - const tryResult = handleBlock(node.tryBlock); - if (node.catchClause === undefined) - return { statements: finallyResult.statements.concat(tryResult.statements), end: tryResult.end }; - const catchResult = handleBlock(node.catchClause.block); - return { - statements: tryResult.statements - .filter((s) => s.kind !== ts.SyntaxKind.ThrowStatement) - .concat(catchResult.statements, finallyResult === undefined ? [] : finallyResult.statements), - end: tryResult.end && catchResult.end, - }; -} -function matchBreakOrContinue(current, pred) { - const result = { - statements: [], - end: current.end, - }; - for (const statement of current.statements) { - if (pred(statement) && statement.label === undefined) { - result.end = false; - continue; - } - result.statements.push(statement); - } - return result; -} -function matchLabel(current, label) { - const result = { - statements: [], - end: current.end, - }; - const labelText = label.text; - for (const statement of current.statements) { - switch (statement.kind) { - case ts.SyntaxKind.BreakStatement: - case ts.SyntaxKind.ContinueStatement: - if (statement.label !== undefined && statement.label.text === labelText) { - result.end = false; - continue; - } - } - result.statements.push(statement); - } - return result; -} diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.d.ts deleted file mode 100644 index 7e95feaf0..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as ts from 'typescript'; -export interface NodeWrap { - node: ts.Node; - kind: ts.SyntaxKind; - children: NodeWrap[]; - next?: NodeWrap; - skip?: NodeWrap; - parent?: NodeWrap; -} -export interface WrappedAst extends NodeWrap { - node: ts.SourceFile; - next: NodeWrap; - skip: undefined; - parent: undefined; -} -export interface ConvertedAst { - wrapped: WrappedAst; - flat: ReadonlyArray; -} -export declare function convertAst(sourceFile: ts.SourceFile): ConvertedAst; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.js deleted file mode 100644 index bfdb0282c..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/convert-ast.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const util_1 = require("./util"); -function convertAst(sourceFile) { - const wrapped = { - node: sourceFile, - parent: undefined, - kind: ts.SyntaxKind.SourceFile, - children: [], - next: undefined, - skip: undefined, - }; - const flat = []; - let current = wrapped; - let previous = current; - ts.forEachChild(sourceFile, function wrap(node) { - flat.push(node); - const parent = current; - previous.next = current = { - node, - parent, - kind: node.kind, - children: [], - next: undefined, - skip: undefined, - }; - if (previous !== parent) - setSkip(previous, current); - previous = current; - parent.children.push(current); - if (util_1.isNodeKind(node.kind)) - ts.forEachChild(node, wrap); - current = parent; - }); - return { - wrapped, - flat, - }; -} -exports.convertAst = convertAst; -function setSkip(node, skip) { - do { - node.skip = skip; - node = node.parent; - } while (node !== skip.parent); -} diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.d.ts deleted file mode 100644 index 9e93ff6f1..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './util'; -export * from './usage'; -export * from './control-flow'; -export * from './type'; -export * from './convert-ast'; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.js deleted file mode 100644 index 2087d2a37..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/index.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./util"), exports); -tslib_1.__exportStar(require("./usage"), exports); -tslib_1.__exportStar(require("./control-flow"), exports); -tslib_1.__exportStar(require("./type"), exports); -tslib_1.__exportStar(require("./convert-ast"), exports); diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.d.ts deleted file mode 100644 index f4343a458..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as ts from 'typescript'; -import { PropertyName } from './util'; -export declare function isEmptyObjectType(type: ts.Type): type is ts.ObjectType; -export declare function removeOptionalityFromType(checker: ts.TypeChecker, type: ts.Type): ts.Type; -export declare function isTypeAssignableToNumber(checker: ts.TypeChecker, type: ts.Type): boolean; -export declare function isTypeAssignableToString(checker: ts.TypeChecker, type: ts.Type): boolean; -export declare function getCallSignaturesOfType(type: ts.Type): ReadonlyArray; -export declare function unionTypeParts(type: ts.Type): ts.Type[]; -export declare function intersectionTypeParts(type: ts.Type): ts.Type[]; -export declare function someTypePart(type: ts.Type, predicate: (t: ts.Type) => t is ts.UnionOrIntersectionType, cb: (t: ts.Type) => boolean): boolean; -export declare function isThenableType(checker: ts.TypeChecker, node: ts.Node, type: ts.Type): boolean; -export declare function isThenableType(checker: ts.TypeChecker, node: ts.Expression, type?: ts.Type): boolean; -export declare function isFalsyType(type: ts.Type): boolean; -export declare function isBooleanLiteralType(type: ts.Type, literal: boolean): boolean; -export declare function getPropertyOfType(type: ts.Type, name: ts.__String): ts.Symbol | undefined; -export declare function isPropertyReadonlyInType(type: ts.Type, name: ts.__String, checker: ts.TypeChecker): boolean; -export declare function symbolHasReadonlyDeclaration(symbol: ts.Symbol, checker: ts.TypeChecker): boolean; -export declare function getPropertyNameFromType(type: ts.Type): PropertyName | undefined; -export declare function getConstructorTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; -export declare function getInstanceTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; -export declare function getIteratorYieldResultFromIteratorResult(type: ts.Type, node: ts.Node, checker: ts.TypeChecker): ts.Type; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.js deleted file mode 100644 index 7a530d9fd..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/type.js +++ /dev/null @@ -1,238 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const type_1 = require("../typeguard/type"); -const util_1 = require("./util"); -const node_1 = require("../typeguard/node"); -function isEmptyObjectType(type) { - if (type_1.isObjectType(type) && - type.objectFlags & ts.ObjectFlags.Anonymous && - type.getProperties().length === 0 && - type.getCallSignatures().length === 0 && - type.getConstructSignatures().length === 0 && - type.getStringIndexType() === undefined && - type.getNumberIndexType() === undefined) { - const baseTypes = type.getBaseTypes(); - return baseTypes === undefined || baseTypes.every(isEmptyObjectType); - } - return false; -} -exports.isEmptyObjectType = isEmptyObjectType; -function removeOptionalityFromType(checker, type) { - if (!containsTypeWithFlag(type, ts.TypeFlags.Undefined)) - return type; - const allowsNull = containsTypeWithFlag(type, ts.TypeFlags.Null); - type = checker.getNonNullableType(type); - return allowsNull ? checker.getNullableType(type, ts.TypeFlags.Null) : type; -} -exports.removeOptionalityFromType = removeOptionalityFromType; -function containsTypeWithFlag(type, flag) { - for (const t of unionTypeParts(type)) - if (util_1.isTypeFlagSet(t, flag)) - return true; - return false; -} -function isTypeAssignableToNumber(checker, type) { - return isTypeAssignableTo(checker, type, ts.TypeFlags.NumberLike); -} -exports.isTypeAssignableToNumber = isTypeAssignableToNumber; -function isTypeAssignableToString(checker, type) { - return isTypeAssignableTo(checker, type, ts.TypeFlags.StringLike); -} -exports.isTypeAssignableToString = isTypeAssignableToString; -function isTypeAssignableTo(checker, type, flags) { - flags |= ts.TypeFlags.Any; - let typeParametersSeen; - return (function check(t) { - if (type_1.isTypeParameter(t) && t.symbol !== undefined && t.symbol.declarations !== undefined) { - if (typeParametersSeen === undefined) { - typeParametersSeen = new Set([t]); - } - else if (!typeParametersSeen.has(t)) { - typeParametersSeen.add(t); - } - else { - return false; - } - const declaration = t.symbol.declarations[0]; - if (declaration.constraint === undefined) - return true; - return check(checker.getTypeFromTypeNode(declaration.constraint)); - } - if (type_1.isUnionType(t)) - return t.types.every(check); - if (type_1.isIntersectionType(t)) - return t.types.some(check); - return util_1.isTypeFlagSet(t, flags); - })(type); -} -function getCallSignaturesOfType(type) { - if (type_1.isUnionType(type)) { - const signatures = []; - for (const t of type.types) - signatures.push(...getCallSignaturesOfType(t)); - return signatures; - } - if (type_1.isIntersectionType(type)) { - let signatures; - for (const t of type.types) { - const sig = getCallSignaturesOfType(t); - if (sig.length !== 0) { - if (signatures !== undefined) - return []; - signatures = sig; - } - } - return signatures === undefined ? [] : signatures; - } - return type.getCallSignatures(); -} -exports.getCallSignaturesOfType = getCallSignaturesOfType; -function unionTypeParts(type) { - return type_1.isUnionType(type) ? type.types : [type]; -} -exports.unionTypeParts = unionTypeParts; -function intersectionTypeParts(type) { - return type_1.isIntersectionType(type) ? type.types : [type]; -} -exports.intersectionTypeParts = intersectionTypeParts; -function someTypePart(type, predicate, cb) { - return predicate(type) ? type.types.some(cb) : cb(type); -} -exports.someTypePart = someTypePart; -function isThenableType(checker, node, type = checker.getTypeAtLocation(node)) { - for (const ty of unionTypeParts(checker.getApparentType(type))) { - const then = ty.getProperty('then'); - if (then === undefined) - continue; - const thenType = checker.getTypeOfSymbolAtLocation(then, node); - for (const t of unionTypeParts(thenType)) - for (const signature of t.getCallSignatures()) - if (signature.parameters.length !== 0 && isCallback(checker, signature.parameters[0], node)) - return true; - } - return false; -} -exports.isThenableType = isThenableType; -function isCallback(checker, param, node) { - let type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node)); - if (param.valueDeclaration.dotDotDotToken) { - type = type.getNumberIndexType(); - if (type === undefined) - return false; - } - for (const t of unionTypeParts(type)) - if (t.getCallSignatures().length !== 0) - return true; - return false; -} -function isFalsyType(type) { - if (type.flags & (ts.TypeFlags.Undefined | ts.TypeFlags.Null | ts.TypeFlags.Void)) - return true; - if (type_1.isLiteralType(type)) - return !type.value; - return isBooleanLiteralType(type, false); -} -exports.isFalsyType = isFalsyType; -function isBooleanLiteralType(type, literal) { - return util_1.isTypeFlagSet(type, ts.TypeFlags.BooleanLiteral) && - type.intrinsicName === (literal ? 'true' : 'false'); -} -exports.isBooleanLiteralType = isBooleanLiteralType; -function getPropertyOfType(type, name) { - if (!name.startsWith('__')) - return type.getProperty(name); - return type.getProperties().find((s) => s.escapedName === name); -} -exports.getPropertyOfType = getPropertyOfType; -function isPropertyReadonlyInType(type, name, checker) { - let seenProperty = false; - let seenReadonlySignature = false; - for (const t of unionTypeParts(type)) { - if (getPropertyOfType(t, name) === undefined) { - const index = (util_1.isNumericPropertyName(name) ? checker.getIndexInfoOfType(t, ts.IndexKind.Number) : undefined) || - checker.getIndexInfoOfType(t, ts.IndexKind.String); - if (index !== undefined && index.isReadonly) { - if (seenProperty) - return true; - seenReadonlySignature = true; - } - } - else if (seenReadonlySignature || isReadonlyPropertyIntersection(t, name, checker)) { - return true; - } - else { - seenProperty = true; - } - } - return false; -} -exports.isPropertyReadonlyInType = isPropertyReadonlyInType; -function isReadonlyPropertyIntersection(type, name, checker) { - return someTypePart(type, type_1.isIntersectionType, (t) => { - const prop = getPropertyOfType(t, name); - if (prop === undefined) - return false; - if (prop.flags & ts.SymbolFlags.Transient) { - if (/^(?:[1-9]\d*|0)$/.test(name) && type_1.isTupleTypeReference(t)) - return t.target.readonly; - switch (isReadonlyPropertyFromMappedType(t, name, checker)) { - case true: - return true; - case false: - return false; - default: - } - } - return (util_1.isSymbolFlagSet(prop, ts.SymbolFlags.ValueModule) || - symbolHasReadonlyDeclaration(prop, checker)); - }); -} -function isReadonlyPropertyFromMappedType(type, name, checker) { - if (!type_1.isObjectType(type) || !util_1.isObjectFlagSet(type, ts.ObjectFlags.Mapped)) - return; - const declaration = type.symbol.declarations[0]; - if (declaration.readonlyToken !== undefined && !/^__@[^@]+$/.test(name)) - return declaration.readonlyToken.kind !== ts.SyntaxKind.MinusToken; - return isPropertyReadonlyInType(type.modifiersType, name, checker); -} -function symbolHasReadonlyDeclaration(symbol, checker) { - return (symbol.flags & ts.SymbolFlags.Accessor) === ts.SymbolFlags.GetAccessor || - symbol.declarations !== undefined && - symbol.declarations.some((node) => util_1.isModifierFlagSet(node, ts.ModifierFlags.Readonly) || - node_1.isVariableDeclaration(node) && util_1.isNodeFlagSet(node.parent, ts.NodeFlags.Const) || - node_1.isCallExpression(node) && util_1.isReadonlyAssignmentDeclaration(node, checker) || - node_1.isEnumMember(node) || - (node_1.isPropertyAssignment(node) || node_1.isShorthandPropertyAssignment(node)) && util_1.isInConstContext(node.parent)); -} -exports.symbolHasReadonlyDeclaration = symbolHasReadonlyDeclaration; -function getPropertyNameFromType(type) { - if (type.flags & (ts.TypeFlags.StringLiteral | ts.TypeFlags.NumberLiteral)) { - const value = String(type.value); - return { displayName: value, symbolName: ts.escapeLeadingUnderscores(value) }; - } - if (type_1.isUniqueESSymbolType(type)) - return { - displayName: `[${type.symbol ? type.symbol.name : type.escapedName.replace(/^__@|@\d+$/g, '')}]`, - symbolName: type.escapedName, - }; -} -exports.getPropertyNameFromType = getPropertyNameFromType; -function getConstructorTypeOfClassLikeDeclaration(node, checker) { - return checker.getDeclaredTypeOfSymbol(node.name !== undefined ? checker.getSymbolAtLocation(node.name) : checker.getTypeAtLocation(node).symbol); -} -exports.getConstructorTypeOfClassLikeDeclaration = getConstructorTypeOfClassLikeDeclaration; -function getInstanceTypeOfClassLikeDeclaration(node, checker) { - return node.kind === ts.SyntaxKind.ClassDeclaration - ? checker.getTypeAtLocation(node) - : checker.getTypeOfSymbolAtLocation(checker.getTypeAtLocation(node).getProperty('prototype'), node); -} -exports.getInstanceTypeOfClassLikeDeclaration = getInstanceTypeOfClassLikeDeclaration; -function getIteratorYieldResultFromIteratorResult(type, node, checker) { - return type_1.isUnionType(type) && type.types.find((t) => { - const done = t.getProperty('done'); - return done !== undefined && - isBooleanLiteralType(removeOptionalityFromType(checker, checker.getTypeOfSymbolAtLocation(done, node)), false); - }) || type; -} -exports.getIteratorYieldResultFromIteratorResult = getIteratorYieldResultFromIteratorResult; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.d.ts deleted file mode 100644 index a4c022c9d..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import * as ts from 'typescript'; -export interface VariableInfo { - domain: DeclarationDomain; - exported: boolean; - uses: VariableUse[]; - inGlobalScope: boolean; - declarations: ts.Identifier[]; -} -export interface VariableUse { - domain: UsageDomain; - location: ts.Identifier; -} -export declare enum DeclarationDomain { - Namespace = 1, - Type = 2, - Value = 4, - Import = 8, - Any = 7 -} -export declare enum UsageDomain { - Namespace = 1, - Type = 2, - Value = 4, - ValueOrNamespace = 5, - Any = 7, - TypeQuery = 8 -} -export declare function getUsageDomain(node: ts.Identifier): UsageDomain | undefined; -export declare function getDeclarationDomain(node: ts.Identifier): DeclarationDomain | undefined; -export declare function collectVariableUsage(sourceFile: ts.SourceFile): Map; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.js deleted file mode 100644 index 372d38a69..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/usage.js +++ /dev/null @@ -1,645 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("./util"); -const ts = require("typescript"); -var DeclarationDomain; -(function (DeclarationDomain) { - DeclarationDomain[DeclarationDomain["Namespace"] = 1] = "Namespace"; - DeclarationDomain[DeclarationDomain["Type"] = 2] = "Type"; - DeclarationDomain[DeclarationDomain["Value"] = 4] = "Value"; - DeclarationDomain[DeclarationDomain["Import"] = 8] = "Import"; - DeclarationDomain[DeclarationDomain["Any"] = 7] = "Any"; -})(DeclarationDomain = exports.DeclarationDomain || (exports.DeclarationDomain = {})); -var UsageDomain; -(function (UsageDomain) { - UsageDomain[UsageDomain["Namespace"] = 1] = "Namespace"; - UsageDomain[UsageDomain["Type"] = 2] = "Type"; - UsageDomain[UsageDomain["Value"] = 4] = "Value"; - UsageDomain[UsageDomain["ValueOrNamespace"] = 5] = "ValueOrNamespace"; - UsageDomain[UsageDomain["Any"] = 7] = "Any"; - UsageDomain[UsageDomain["TypeQuery"] = 8] = "TypeQuery"; -})(UsageDomain = exports.UsageDomain || (exports.UsageDomain = {})); -function getUsageDomain(node) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.TypeReference: - return node.originalKeywordKind !== ts.SyntaxKind.ConstKeyword ? 2 : undefined; - case ts.SyntaxKind.ExpressionWithTypeArguments: - return parent.parent.token === ts.SyntaxKind.ImplementsKeyword || - parent.parent.parent.kind === ts.SyntaxKind.InterfaceDeclaration - ? 2 - : 4; - case ts.SyntaxKind.TypeQuery: - return 5 | 8; - case ts.SyntaxKind.QualifiedName: - if (parent.left === node) { - if (getEntityNameParent(parent).kind === ts.SyntaxKind.TypeQuery) - return 1 | 8; - return 1; - } - break; - case ts.SyntaxKind.ExportSpecifier: - if (parent.propertyName === undefined || - parent.propertyName === node) - return 7; - break; - case ts.SyntaxKind.ExportAssignment: - return 7; - case ts.SyntaxKind.BindingElement: - if (parent.initializer === node) - return 5; - break; - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.ImportEqualsDeclaration: - if (parent.name !== node) - return 5; - break; - case ts.SyntaxKind.JsxAttribute: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.LabeledStatement: - case ts.SyntaxKind.BreakStatement: - case ts.SyntaxKind.ContinueStatement: - case ts.SyntaxKind.ImportClause: - case ts.SyntaxKind.ImportSpecifier: - case ts.SyntaxKind.TypePredicate: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.PropertySignature: - case ts.SyntaxKind.NamespaceExportDeclaration: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.TypeParameter: - break; - default: - return 5; - } -} -exports.getUsageDomain = getUsageDomain; -function getDeclarationDomain(node) { - switch (node.parent.kind) { - case ts.SyntaxKind.TypeParameter: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - return 2; - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - return 2 | 4; - case ts.SyntaxKind.EnumDeclaration: - return 7; - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ImportClause: - return 7 | 8; - case ts.SyntaxKind.ImportEqualsDeclaration: - case ts.SyntaxKind.ImportSpecifier: - return node.parent.name === node - ? 7 | 8 - : undefined; - case ts.SyntaxKind.ModuleDeclaration: - return 1; - case ts.SyntaxKind.Parameter: - if (node.parent.parent.kind === ts.SyntaxKind.IndexSignature || node.originalKeywordKind === ts.SyntaxKind.ThisKeyword) - return; - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.VariableDeclaration: - return node.parent.name === node ? 4 : undefined; - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.FunctionExpression: - return 4; - } -} -exports.getDeclarationDomain = getDeclarationDomain; -function collectVariableUsage(sourceFile) { - return new UsageWalker().getUsage(sourceFile); -} -exports.collectVariableUsage = collectVariableUsage; -class AbstractScope { - constructor(_global) { - this._global = _global; - this._variables = new Map(); - this._uses = []; - this._namespaceScopes = undefined; - this._enumScopes = undefined; - } - addVariable(identifier, name, selector, exported, domain) { - const variables = this.getDestinationScope(selector).getVariables(); - const declaration = { - domain, - exported, - declaration: name, - }; - const variable = variables.get(identifier); - if (variable === undefined) { - variables.set(identifier, { - domain, - declarations: [declaration], - uses: [], - }); - } - else { - variable.domain |= domain; - variable.declarations.push(declaration); - } - } - addUse(use) { - this._uses.push(use); - } - getVariables() { - return this._variables; - } - getFunctionScope() { - return this; - } - end(cb) { - if (this._namespaceScopes !== undefined) - this._namespaceScopes.forEach((value) => value.finish(cb)); - this._namespaceScopes = this._enumScopes = undefined; - this._applyUses(); - this._variables.forEach((variable) => { - for (const declaration of variable.declarations) { - const result = { - declarations: [], - domain: declaration.domain, - exported: declaration.exported, - inGlobalScope: this._global, - uses: [], - }; - for (const other of variable.declarations) - if (other.domain & declaration.domain) - result.declarations.push(other.declaration); - for (const use of variable.uses) - if (use.domain & declaration.domain) - result.uses.push(use); - cb(result, declaration.declaration, this); - } - }); - } - markExported(_name) { } - createOrReuseNamespaceScope(name, _exported, ambient, hasExportStatement) { - let scope; - if (this._namespaceScopes === undefined) { - this._namespaceScopes = new Map(); - } - else { - scope = this._namespaceScopes.get(name); - } - if (scope === undefined) { - scope = new NamespaceScope(ambient, hasExportStatement, this); - this._namespaceScopes.set(name, scope); - } - else { - scope.refresh(ambient, hasExportStatement); - } - return scope; - } - createOrReuseEnumScope(name, _exported) { - let scope; - if (this._enumScopes === undefined) { - this._enumScopes = new Map(); - } - else { - scope = this._enumScopes.get(name); - } - if (scope === undefined) { - scope = new EnumScope(this); - this._enumScopes.set(name, scope); - } - return scope; - } - _applyUses() { - for (const use of this._uses) - if (!this._applyUse(use)) - this._addUseToParent(use); - this._uses = []; - } - _applyUse(use, variables = this._variables) { - const variable = variables.get(use.location.text); - if (variable === undefined || (variable.domain & use.domain) === 0) - return false; - variable.uses.push(use); - return true; - } - _addUseToParent(_use) { } -} -class RootScope extends AbstractScope { - constructor(_exportAll, global) { - super(global); - this._exportAll = _exportAll; - this._exports = undefined; - this._innerScope = new NonRootScope(this, 1); - } - addVariable(identifier, name, selector, exported, domain) { - if (domain & 8) - return super.addVariable(identifier, name, selector, exported, domain); - return this._innerScope.addVariable(identifier, name, selector, exported, domain); - } - addUse(use, origin) { - if (origin === this._innerScope) - return super.addUse(use); - return this._innerScope.addUse(use); - } - markExported(id) { - if (this._exports === undefined) { - this._exports = [id.text]; - } - else { - this._exports.push(id.text); - } - } - end(cb) { - this._innerScope.end((value, key) => { - value.exported = value.exported || this._exportAll - || this._exports !== undefined && this._exports.includes(key.text); - value.inGlobalScope = this._global; - return cb(value, key, this); - }); - return super.end((value, key, scope) => { - value.exported = value.exported || scope === this - && this._exports !== undefined && this._exports.includes(key.text); - return cb(value, key, scope); - }); - } - getDestinationScope() { - return this; - } -} -class NonRootScope extends AbstractScope { - constructor(_parent, _boundary) { - super(false); - this._parent = _parent; - this._boundary = _boundary; - } - _addUseToParent(use) { - return this._parent.addUse(use, this); - } - getDestinationScope(selector) { - return this._boundary & selector - ? this - : this._parent.getDestinationScope(selector); - } -} -class EnumScope extends NonRootScope { - constructor(parent) { - super(parent, 1); - } - end() { - this._applyUses(); - } -} -class ConditionalTypeScope extends NonRootScope { - constructor(parent) { - super(parent, 8); - this._state = 0; - } - updateState(newState) { - this._state = newState; - } - addUse(use) { - if (this._state === 2) - return void this._uses.push(use); - return this._parent.addUse(use, this); - } -} -class FunctionScope extends NonRootScope { - constructor(parent) { - super(parent, 1); - } - beginBody() { - this._applyUses(); - } -} -class AbstractNamedExpressionScope extends NonRootScope { - constructor(_name, _domain, parent) { - super(parent, 1); - this._name = _name; - this._domain = _domain; - } - end(cb) { - this._innerScope.end(cb); - return cb({ - declarations: [this._name], - domain: this._domain, - exported: false, - uses: this._uses, - inGlobalScope: false, - }, this._name, this); - } - addUse(use, source) { - if (source !== this._innerScope) - return this._innerScope.addUse(use); - if (use.domain & this._domain && use.location.text === this._name.text) { - this._uses.push(use); - } - else { - return this._parent.addUse(use, this); - } - } - getFunctionScope() { - return this._innerScope; - } - getDestinationScope() { - return this._innerScope; - } -} -class FunctionExpressionScope extends AbstractNamedExpressionScope { - constructor(name, parent) { - super(name, 4, parent); - this._innerScope = new FunctionScope(this); - } - beginBody() { - return this._innerScope.beginBody(); - } -} -class ClassExpressionScope extends AbstractNamedExpressionScope { - constructor(name, parent) { - super(name, 4 | 2, parent); - this._innerScope = new NonRootScope(this, 1); - } -} -class BlockScope extends NonRootScope { - constructor(_functionScope, parent) { - super(parent, 2); - this._functionScope = _functionScope; - } - getFunctionScope() { - return this._functionScope; - } -} -function mapDeclaration(declaration) { - return { - declaration, - exported: true, - domain: getDeclarationDomain(declaration), - }; -} -class NamespaceScope extends NonRootScope { - constructor(_ambient, _hasExport, parent) { - super(parent, 1); - this._ambient = _ambient; - this._hasExport = _hasExport; - this._innerScope = new NonRootScope(this, 1); - this._exports = undefined; - } - finish(cb) { - return super.end(cb); - } - end(cb) { - this._innerScope.end((variable, key, scope) => { - if (scope !== this._innerScope || - !variable.exported && (!this._ambient || this._exports !== undefined && !this._exports.has(key.text))) - return cb(variable, key, scope); - const namespaceVar = this._variables.get(key.text); - if (namespaceVar === undefined) { - this._variables.set(key.text, { - declarations: variable.declarations.map(mapDeclaration), - domain: variable.domain, - uses: [...variable.uses], - }); - } - else { - outer: for (const declaration of variable.declarations) { - for (const existing of namespaceVar.declarations) - if (existing.declaration === declaration) - continue outer; - namespaceVar.declarations.push(mapDeclaration(declaration)); - } - namespaceVar.domain |= variable.domain; - for (const use of variable.uses) { - if (namespaceVar.uses.includes(use)) - continue; - namespaceVar.uses.push(use); - } - } - }); - this._applyUses(); - this._innerScope = new NonRootScope(this, 1); - } - createOrReuseNamespaceScope(name, exported, ambient, hasExportStatement) { - if (!exported && (!this._ambient || this._hasExport)) - return this._innerScope.createOrReuseNamespaceScope(name, exported, ambient || this._ambient, hasExportStatement); - return super.createOrReuseNamespaceScope(name, exported, ambient || this._ambient, hasExportStatement); - } - createOrReuseEnumScope(name, exported) { - if (!exported && (!this._ambient || this._hasExport)) - return this._innerScope.createOrReuseEnumScope(name, exported); - return super.createOrReuseEnumScope(name, exported); - } - addUse(use, source) { - if (source !== this._innerScope) - return this._innerScope.addUse(use); - this._uses.push(use); - } - refresh(ambient, hasExport) { - this._ambient = ambient; - this._hasExport = hasExport; - } - markExported(name, _as) { - if (this._exports === undefined) - this._exports = new Set(); - this._exports.add(name.text); - } - getDestinationScope() { - return this._innerScope; - } -} -function getEntityNameParent(name) { - let parent = name.parent; - while (parent.kind === ts.SyntaxKind.QualifiedName) - parent = parent.parent; - return parent; -} -class UsageWalker { - constructor() { - this._result = new Map(); - } - getUsage(sourceFile) { - const variableCallback = (variable, key) => { - this._result.set(key, variable); - }; - const isModule = ts.isExternalModule(sourceFile); - this._scope = new RootScope(sourceFile.isDeclarationFile && isModule && !containsExportStatement(sourceFile), !isModule); - const cb = (node) => { - if (util_1.isBlockScopeBoundary(node)) - return continueWithScope(node, new BlockScope(this._scope.getFunctionScope(), this._scope), handleBlockScope); - switch (node.kind) { - case ts.SyntaxKind.ClassExpression: - return continueWithScope(node, node.name !== undefined - ? new ClassExpressionScope(node.name, this._scope) - : new NonRootScope(this._scope, 1)); - case ts.SyntaxKind.ClassDeclaration: - this._handleDeclaration(node, true, 4 | 2); - return continueWithScope(node, new NonRootScope(this._scope, 1)); - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - this._handleDeclaration(node, true, 2); - return continueWithScope(node, new NonRootScope(this._scope, 4)); - case ts.SyntaxKind.EnumDeclaration: - this._handleDeclaration(node, true, 7); - return continueWithScope(node, this._scope.createOrReuseEnumScope(node.name.text, util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword))); - case ts.SyntaxKind.ModuleDeclaration: - return this._handleModule(node, continueWithScope); - case ts.SyntaxKind.MappedType: - return continueWithScope(node, new NonRootScope(this._scope, 4)); - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.FunctionType: - return this._handleFunctionLikeDeclaration(node, cb, variableCallback); - case ts.SyntaxKind.ConditionalType: - return this._handleConditionalType(node, cb, variableCallback); - case ts.SyntaxKind.VariableDeclarationList: - this._handleVariableDeclaration(node); - break; - case ts.SyntaxKind.Parameter: - if (node.parent.kind !== ts.SyntaxKind.IndexSignature && - (node.name.kind !== ts.SyntaxKind.Identifier || - node.name.originalKeywordKind !== ts.SyntaxKind.ThisKeyword)) - this._handleBindingName(node.name, false, false); - break; - case ts.SyntaxKind.EnumMember: - this._scope.addVariable(util_1.getPropertyName(node.name), node.name, 1, true, 4); - break; - case ts.SyntaxKind.ImportClause: - case ts.SyntaxKind.ImportSpecifier: - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ImportEqualsDeclaration: - this._handleDeclaration(node, false, 7 | 8); - break; - case ts.SyntaxKind.TypeParameter: - this._scope.addVariable(node.name.text, node.name, node.parent.kind === ts.SyntaxKind.InferType ? 8 : 7, false, 2); - break; - case ts.SyntaxKind.ExportSpecifier: - if (node.propertyName !== undefined) - return this._scope.markExported(node.propertyName, node.name); - return this._scope.markExported(node.name); - case ts.SyntaxKind.ExportAssignment: - if (node.expression.kind === ts.SyntaxKind.Identifier) - return this._scope.markExported(node.expression); - break; - case ts.SyntaxKind.Identifier: - const domain = getUsageDomain(node); - if (domain !== undefined) - this._scope.addUse({ domain, location: node }); - return; - } - return ts.forEachChild(node, cb); - }; - const continueWithScope = (node, scope, next = forEachChild) => { - const savedScope = this._scope; - this._scope = scope; - next(node); - this._scope.end(variableCallback); - this._scope = savedScope; - }; - const handleBlockScope = (node) => { - if (node.kind === ts.SyntaxKind.CatchClause && node.variableDeclaration !== undefined) - this._handleBindingName(node.variableDeclaration.name, true, false); - return ts.forEachChild(node, cb); - }; - ts.forEachChild(sourceFile, cb); - this._scope.end(variableCallback); - return this._result; - function forEachChild(node) { - return ts.forEachChild(node, cb); - } - } - _handleConditionalType(node, cb, varCb) { - const savedScope = this._scope; - const scope = this._scope = new ConditionalTypeScope(savedScope); - cb(node.checkType); - scope.updateState(1); - cb(node.extendsType); - scope.updateState(2); - cb(node.trueType); - scope.updateState(3); - cb(node.falseType); - scope.end(varCb); - this._scope = savedScope; - } - _handleFunctionLikeDeclaration(node, cb, varCb) { - if (node.decorators !== undefined) - node.decorators.forEach(cb); - const savedScope = this._scope; - if (node.kind === ts.SyntaxKind.FunctionDeclaration) - this._handleDeclaration(node, false, 4); - const scope = this._scope = node.kind === ts.SyntaxKind.FunctionExpression && node.name !== undefined - ? new FunctionExpressionScope(node.name, savedScope) - : new FunctionScope(savedScope); - if (node.name !== undefined) - cb(node.name); - if (node.typeParameters !== undefined) - node.typeParameters.forEach(cb); - node.parameters.forEach(cb); - if (node.type !== undefined) - cb(node.type); - if (node.body !== undefined) { - scope.beginBody(); - cb(node.body); - } - scope.end(varCb); - this._scope = savedScope; - } - _handleModule(node, next) { - if (node.flags & ts.NodeFlags.GlobalAugmentation) - return next(node, this._scope.createOrReuseNamespaceScope('-global', false, true, false)); - if (node.name.kind === ts.SyntaxKind.Identifier) { - const exported = isNamespaceExported(node); - this._scope.addVariable(node.name.text, node.name, 1, exported, 1 | 4); - const ambient = util_1.hasModifier(node.modifiers, ts.SyntaxKind.DeclareKeyword); - return next(node, this._scope.createOrReuseNamespaceScope(node.name.text, exported, ambient, ambient && namespaceHasExportStatement(node))); - } - return next(node, this._scope.createOrReuseNamespaceScope(`"${node.name.text}"`, false, true, namespaceHasExportStatement(node))); - } - _handleDeclaration(node, blockScoped, domain) { - if (node.name !== undefined) - this._scope.addVariable(node.name.text, node.name, blockScoped ? 3 : 1, util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword), domain); - } - _handleBindingName(name, blockScoped, exported) { - if (name.kind === ts.SyntaxKind.Identifier) - return this._scope.addVariable(name.text, name, blockScoped ? 3 : 1, exported, 4); - util_1.forEachDestructuringIdentifier(name, (declaration) => { - this._scope.addVariable(declaration.name.text, declaration.name, blockScoped ? 3 : 1, exported, 4); - }); - } - _handleVariableDeclaration(declarationList) { - const blockScoped = util_1.isBlockScopedVariableDeclarationList(declarationList); - const exported = declarationList.parent.kind === ts.SyntaxKind.VariableStatement && - util_1.hasModifier(declarationList.parent.modifiers, ts.SyntaxKind.ExportKeyword); - for (const declaration of declarationList.declarations) - this._handleBindingName(declaration.name, blockScoped, exported); - } -} -function isNamespaceExported(node) { - return node.parent.kind === ts.SyntaxKind.ModuleDeclaration || util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword); -} -function namespaceHasExportStatement(ns) { - if (ns.body === undefined || ns.body.kind !== ts.SyntaxKind.ModuleBlock) - return false; - return containsExportStatement(ns.body); -} -function containsExportStatement(block) { - for (const statement of block.statements) - if (statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment) - return true; - return false; -} diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.d.ts b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.d.ts deleted file mode 100644 index 1ae3299a8..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.d.ts +++ /dev/null @@ -1,167 +0,0 @@ -import * as ts from 'typescript'; -import { NodeWrap } from './convert-ast'; -export declare function getChildOfKind(node: ts.Node, kind: T, sourceFile?: ts.SourceFile): ts.Token | undefined; -export declare function isTokenKind(kind: ts.SyntaxKind): boolean; -export declare function isNodeKind(kind: ts.SyntaxKind): boolean; -export declare function isAssignmentKind(kind: ts.SyntaxKind): boolean; -export declare function isTypeNodeKind(kind: ts.SyntaxKind): boolean; -export declare function isJsDocKind(kind: ts.SyntaxKind): boolean; -export declare function isKeywordKind(kind: ts.SyntaxKind): boolean; -export declare function isThisParameter(parameter: ts.ParameterDeclaration): boolean; -export declare function getModifier(node: ts.Node, kind: ts.Modifier['kind']): ts.Modifier | undefined; -export declare function hasModifier(modifiers: ts.ModifiersArray | undefined, ...kinds: Array): boolean; -export declare function isParameterProperty(node: ts.ParameterDeclaration): boolean; -export declare function hasAccessModifier(node: ts.ClassElement | ts.ParameterDeclaration): boolean; -export declare const isNodeFlagSet: (node: ts.Node, flag: ts.NodeFlags) => boolean; -export declare const isTypeFlagSet: (type: ts.Type, flag: ts.TypeFlags) => boolean; -export declare const isSymbolFlagSet: (symbol: ts.Symbol, flag: ts.SymbolFlags) => boolean; -export declare function isObjectFlagSet(objectType: ts.ObjectType, flag: ts.ObjectFlags): boolean; -export declare function isModifierFlagSet(node: ts.Node, flag: ts.ModifierFlags): boolean; -export declare function getPreviousStatement(statement: ts.Statement): ts.Statement | undefined; -export declare function getNextStatement(statement: ts.Statement): ts.Statement | undefined; -export declare function getPreviousToken(node: ts.Node, sourceFile?: ts.SourceFile): ts.Node | undefined; -export declare function getNextToken(node: ts.Node, sourceFile?: ts.SourceFile): ts.Node | undefined; -export declare function getTokenAtPosition(parent: ts.Node, pos: number, sourceFile?: ts.SourceFile, allowJsDoc?: boolean): ts.Node | undefined; -export declare function getCommentAtPosition(sourceFile: ts.SourceFile, pos: number, parent?: ts.Node): ts.CommentRange | undefined; -export declare function isPositionInComment(sourceFile: ts.SourceFile, pos: number, parent?: ts.Node): boolean; -export declare function commentText(sourceText: string, comment: ts.CommentRange): string; -export declare function getWrappedNodeAtPosition(wrap: NodeWrap, pos: number): NodeWrap | undefined; -export declare function getPropertyName(propertyName: ts.PropertyName): string | undefined; -export declare function forEachDestructuringIdentifier(pattern: ts.BindingPattern, fn: (element: ts.BindingElement & { - name: ts.Identifier; -}) => T): T | undefined; -export declare function forEachDeclaredVariable(declarationList: ts.VariableDeclarationList, cb: (element: (ts.VariableDeclaration | ts.BindingElement) & { - name: ts.Identifier; -}) => T): T | undefined; -export declare enum VariableDeclarationKind { - Var = 0, - Let = 1, - Const = 2 -} -export declare function getVariableDeclarationKind(declarationList: ts.VariableDeclarationList): VariableDeclarationKind; -export declare function isBlockScopedVariableDeclarationList(declarationList: ts.VariableDeclarationList): boolean; -export declare function isBlockScopedVariableDeclaration(declaration: ts.VariableDeclaration): boolean; -export declare function isBlockScopedDeclarationStatement(statement: ts.Statement): statement is ts.DeclarationStatement; -export declare function isInSingleStatementContext(statement: ts.Statement): boolean; -export declare enum ScopeBoundary { - None = 0, - Function = 1, - Block = 2, - Type = 4, - ConditionalType = 8 -} -export declare enum ScopeBoundarySelector { - Function = 1, - Block = 3, - Type = 7, - InferType = 8 -} -export declare function isScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isTypeScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isFunctionScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isBlockScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function hasOwnThisReference(node: ts.Node): boolean; -export declare function isFunctionWithBody(node: ts.Node): node is ts.FunctionLikeDeclaration & { - body: {}; -}; -export declare function forEachToken(node: ts.Node, cb: (node: ts.Node) => void, sourceFile?: ts.SourceFile): void; -export declare type ForEachTokenCallback = (fullText: string, kind: ts.SyntaxKind, range: ts.TextRange, parent: ts.Node) => void; -export declare function forEachTokenWithTrivia(node: ts.Node, cb: ForEachTokenCallback, sourceFile?: ts.SourceFile): void; -export declare type ForEachCommentCallback = (fullText: string, comment: ts.CommentRange) => void; -export declare function forEachComment(node: ts.Node, cb: ForEachCommentCallback, sourceFile?: ts.SourceFile): void; -export interface LineRange extends ts.TextRange { - contentLength: number; -} -export declare function getLineRanges(sourceFile: ts.SourceFile): LineRange[]; -export declare function getLineBreakStyle(sourceFile: ts.SourceFile): "\n" | "\r\n"; -export declare function isValidIdentifier(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidPropertyAccess(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidPropertyName(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidNumericLiteral(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidJsxIdentifier(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isNumericPropertyName(name: string | ts.__String): boolean; -export declare function isSameLine(sourceFile: ts.SourceFile, pos1: number, pos2: number): boolean; -export declare enum SideEffectOptions { - None = 0, - TaggedTemplate = 1, - Constructor = 2, - JsxElement = 4 -} -export declare function hasSideEffects(node: ts.Expression, options?: SideEffectOptions): boolean; -export declare function getDeclarationOfBindingElement(node: ts.BindingElement): ts.VariableDeclaration | ts.ParameterDeclaration; -export declare function isExpressionValueUsed(node: ts.Expression): boolean; -export declare enum AccessKind { - None = 0, - Read = 1, - Write = 2, - Delete = 4, - ReadWrite = 3, - Modification = 6 -} -export declare function getAccessKind(node: ts.Node): AccessKind; -export declare function isReassignmentTarget(node: ts.Expression): boolean; -export declare function canHaveJsDoc(node: ts.Node): node is ts.HasJSDoc; -export declare function getJsDoc(node: ts.Node, sourceFile?: ts.SourceFile): ts.JSDoc[]; -export declare function parseJsDocOfNode(node: ts.Node, considerTrailingComments?: boolean, sourceFile?: ts.SourceFile): ts.JSDoc[]; -export declare enum ImportKind { - ImportDeclaration = 1, - ImportEquals = 2, - ExportFrom = 4, - DynamicImport = 8, - Require = 16, - ImportType = 32, - All = 63, - AllImports = 59, - AllStaticImports = 3, - AllImportExpressions = 24, - AllRequireLike = 18 -} -export declare function findImports(sourceFile: ts.SourceFile, kinds: ImportKind): (ts.StringLiteral | ts.NoSubstitutionTemplateLiteral)[]; -export declare type ImportLike = ts.ImportDeclaration | (ts.ImportEqualsDeclaration & { - moduleReference: ts.ExternalModuleReference; -}) | (ts.ExportDeclaration & { - moduleSpecifier: {}; -}) | (ts.CallExpression & { - expression: ts.Token | (ts.Identifier & { - text: 'require'; - }); - arguments: [ts.Expression]; -}) | ts.ImportTypeNode; -export declare function findImportLikeNodes(sourceFile: ts.SourceFile, kinds: ImportKind): ImportLike[]; -export declare function isStatementInAmbientContext(node: ts.Statement): boolean; -export declare function isAmbientModuleBlock(node: ts.Node): node is ts.ModuleBlock; -export declare function getIIFE(func: ts.FunctionExpression | ts.ArrowFunction): ts.CallExpression | undefined; -export declare type StrictCompilerOption = 'noImplicitAny' | 'noImplicitThis' | 'strictNullChecks' | 'strictFunctionTypes' | 'strictPropertyInitialization' | 'alwaysStrict' | 'strictBindCallApply'; -export declare function isStrictCompilerOptionEnabled(options: ts.CompilerOptions, option: StrictCompilerOption): boolean; -export declare type BooleanCompilerOptions = { - [K in keyof ts.CompilerOptions]: NonNullable extends boolean ? K : never; -} extends { - [_ in keyof ts.CompilerOptions]: infer U; -} ? U : never; -export declare function isCompilerOptionEnabled(options: ts.CompilerOptions, option: BooleanCompilerOptions | 'stripInternal'): boolean; -export declare function isAmbientModule(node: ts.ModuleDeclaration): boolean; -export declare function getCheckJsDirective(source: string): ts.CheckJsDirective | undefined; -export declare function isConstAssertion(node: ts.AssertionExpression): boolean; -export declare function isInConstContext(node: ts.Expression): boolean; -export declare function isReadonlyAssignmentDeclaration(node: ts.CallExpression, checker: ts.TypeChecker): boolean; -export declare function isBindableObjectDefinePropertyCall(node: ts.CallExpression): boolean; -export interface WellKnownSymbolLiteral extends ts.PropertyAccessExpression { - expression: ts.Identifier & { - text: 'Symbol'; - escapedText: 'symbol'; - }; -} -export declare function isWellKnownSymbolLiterally(node: ts.Expression): node is WellKnownSymbolLiteral; -export interface PropertyName { - displayName: string; - symbolName: ts.__String; -} -export declare function getPropertyNameOfWellKnownSymbol(node: WellKnownSymbolLiteral): PropertyName; -export interface LateBoundPropertyNames { - known: boolean; - names: PropertyName[]; -} -export declare function getLateBoundPropertyNames(node: ts.Expression, checker: ts.TypeChecker): LateBoundPropertyNames; -export declare function getLateBoundPropertyNamesOfPropertyName(node: ts.PropertyName, checker: ts.TypeChecker): LateBoundPropertyNames; -export declare function getSingleLateBoundPropertyNameOfPropertyName(node: ts.PropertyName, checker: ts.TypeChecker): PropertyName | undefined; -export declare function unwrapParentheses(node: ts.Expression): ts.Expression; diff --git a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.js b/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.js deleted file mode 100644 index 07b469a49..000000000 --- a/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils/util/util.js +++ /dev/null @@ -1,1422 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const node_1 = require("../typeguard/node"); -const _3_2_1 = require("../typeguard/3.2"); -const type_1 = require("./type"); -function getChildOfKind(node, kind, sourceFile) { - for (const child of node.getChildren(sourceFile)) - if (child.kind === kind) - return child; -} -exports.getChildOfKind = getChildOfKind; -function isTokenKind(kind) { - return kind >= ts.SyntaxKind.FirstToken && kind <= ts.SyntaxKind.LastToken; -} -exports.isTokenKind = isTokenKind; -function isNodeKind(kind) { - return kind >= ts.SyntaxKind.FirstNode; -} -exports.isNodeKind = isNodeKind; -function isAssignmentKind(kind) { - return kind >= ts.SyntaxKind.FirstAssignment && kind <= ts.SyntaxKind.LastAssignment; -} -exports.isAssignmentKind = isAssignmentKind; -function isTypeNodeKind(kind) { - return kind >= ts.SyntaxKind.FirstTypeNode && kind <= ts.SyntaxKind.LastTypeNode; -} -exports.isTypeNodeKind = isTypeNodeKind; -function isJsDocKind(kind) { - return kind >= ts.SyntaxKind.FirstJSDocNode && kind <= ts.SyntaxKind.LastJSDocNode; -} -exports.isJsDocKind = isJsDocKind; -function isKeywordKind(kind) { - return kind >= ts.SyntaxKind.FirstKeyword && kind <= ts.SyntaxKind.LastKeyword; -} -exports.isKeywordKind = isKeywordKind; -function isThisParameter(parameter) { - return parameter.name.kind === ts.SyntaxKind.Identifier && parameter.name.originalKeywordKind === ts.SyntaxKind.ThisKeyword; -} -exports.isThisParameter = isThisParameter; -function getModifier(node, kind) { - if (node.modifiers !== undefined) - for (const modifier of node.modifiers) - if (modifier.kind === kind) - return modifier; -} -exports.getModifier = getModifier; -function hasModifier(modifiers, ...kinds) { - if (modifiers === undefined) - return false; - for (const modifier of modifiers) - if (kinds.includes(modifier.kind)) - return true; - return false; -} -exports.hasModifier = hasModifier; -function isParameterProperty(node) { - return hasModifier(node.modifiers, ts.SyntaxKind.PublicKeyword, ts.SyntaxKind.ProtectedKeyword, ts.SyntaxKind.PrivateKeyword, ts.SyntaxKind.ReadonlyKeyword); -} -exports.isParameterProperty = isParameterProperty; -function hasAccessModifier(node) { - return hasModifier(node.modifiers, ts.SyntaxKind.PublicKeyword, ts.SyntaxKind.ProtectedKeyword, ts.SyntaxKind.PrivateKeyword); -} -exports.hasAccessModifier = hasAccessModifier; -function isFlagSet(obj, flag) { - return (obj.flags & flag) !== 0; -} -exports.isNodeFlagSet = isFlagSet; -exports.isTypeFlagSet = isFlagSet; -exports.isSymbolFlagSet = isFlagSet; -function isObjectFlagSet(objectType, flag) { - return (objectType.objectFlags & flag) !== 0; -} -exports.isObjectFlagSet = isObjectFlagSet; -function isModifierFlagSet(node, flag) { - return (ts.getCombinedModifierFlags(node) & flag) !== 0; -} -exports.isModifierFlagSet = isModifierFlagSet; -function getPreviousStatement(statement) { - const parent = statement.parent; - if (node_1.isBlockLike(parent)) { - const index = parent.statements.indexOf(statement); - if (index > 0) - return parent.statements[index - 1]; - } -} -exports.getPreviousStatement = getPreviousStatement; -function getNextStatement(statement) { - const parent = statement.parent; - if (node_1.isBlockLike(parent)) { - const index = parent.statements.indexOf(statement); - if (index < parent.statements.length) - return parent.statements[index + 1]; - } -} -exports.getNextStatement = getNextStatement; -function getPreviousToken(node, sourceFile) { - let parent = node.parent; - while (parent !== undefined && parent.pos === node.pos) - parent = parent.parent; - if (parent === undefined) - return; - outer: while (true) { - const children = parent.getChildren(sourceFile); - for (let i = children.length - 1; i >= 0; --i) { - const child = children[i]; - if (child.pos < node.pos && child.kind !== ts.SyntaxKind.JSDocComment) { - if (isTokenKind(child.kind)) - return child; - parent = child; - continue outer; - } - } - return; - } -} -exports.getPreviousToken = getPreviousToken; -function getNextToken(node, sourceFile = node.getSourceFile()) { - if (node.kind === ts.SyntaxKind.SourceFile || node.kind === ts.SyntaxKind.EndOfFileToken) - return; - const end = node.end; - node = node.parent; - while (node.end === end) { - if (node.parent === undefined) - return node.endOfFileToken; - node = node.parent; - } - return getTokenAtPositionWorker(node, end, sourceFile, false); -} -exports.getNextToken = getNextToken; -function getTokenAtPosition(parent, pos, sourceFile, allowJsDoc) { - if (pos < parent.pos || pos >= parent.end) - return; - if (isTokenKind(parent.kind)) - return parent; - if (sourceFile === undefined) - sourceFile = parent.getSourceFile(); - return getTokenAtPositionWorker(parent, pos, sourceFile, allowJsDoc === true); -} -exports.getTokenAtPosition = getTokenAtPosition; -function getTokenAtPositionWorker(node, pos, sourceFile, allowJsDoc) { - outer: while (true) { - for (const child of node.getChildren(sourceFile)) { - if (child.end > pos && (allowJsDoc || child.kind !== ts.SyntaxKind.JSDocComment)) { - if (isTokenKind(child.kind)) - return child; - node = child; - continue outer; - } - } - return; - } -} -function getCommentAtPosition(sourceFile, pos, parent = sourceFile) { - const token = getTokenAtPosition(parent, pos, sourceFile); - if (token === undefined || token.kind === ts.SyntaxKind.JsxText || pos >= token.end - (ts.tokenToString(token.kind) || '').length) - return; - const startPos = token.pos === 0 - ? (ts.getShebang(sourceFile.text) || '').length - : token.pos; - return startPos !== 0 && ts.forEachTrailingCommentRange(sourceFile.text, startPos, commentAtPositionCallback, pos) || - ts.forEachLeadingCommentRange(sourceFile.text, startPos, commentAtPositionCallback, pos); -} -exports.getCommentAtPosition = getCommentAtPosition; -function commentAtPositionCallback(pos, end, kind, _nl, at) { - return at >= pos && at < end ? { pos, end, kind } : undefined; -} -function isPositionInComment(sourceFile, pos, parent) { - return getCommentAtPosition(sourceFile, pos, parent) !== undefined; -} -exports.isPositionInComment = isPositionInComment; -function commentText(sourceText, comment) { - return sourceText.substring(comment.pos + 2, comment.kind === ts.SyntaxKind.SingleLineCommentTrivia ? comment.end : comment.end - 2); -} -exports.commentText = commentText; -function getWrappedNodeAtPosition(wrap, pos) { - if (wrap.node.pos > pos || wrap.node.end <= pos) - return; - outer: while (true) { - for (const child of wrap.children) { - if (child.node.pos > pos) - return wrap; - if (child.node.end > pos) { - wrap = child; - continue outer; - } - } - return wrap; - } -} -exports.getWrappedNodeAtPosition = getWrappedNodeAtPosition; -function getPropertyName(propertyName) { - if (propertyName.kind === ts.SyntaxKind.ComputedPropertyName) { - if (!node_1.isLiteralExpression(propertyName.expression)) - return; - if (_3_2_1.isBigIntLiteral(propertyName.expression)) - return propertyName.expression.text.slice(0, -1); - return propertyName.expression.text; - } - return propertyName.text; -} -exports.getPropertyName = getPropertyName; -function forEachDestructuringIdentifier(pattern, fn) { - for (const element of pattern.elements) { - if (element.kind !== ts.SyntaxKind.BindingElement) - continue; - let result; - if (element.name.kind === ts.SyntaxKind.Identifier) { - result = fn(element); - } - else { - result = forEachDestructuringIdentifier(element.name, fn); - } - if (result) - return result; - } -} -exports.forEachDestructuringIdentifier = forEachDestructuringIdentifier; -function forEachDeclaredVariable(declarationList, cb) { - for (const declaration of declarationList.declarations) { - let result; - if (declaration.name.kind === ts.SyntaxKind.Identifier) { - result = cb(declaration); - } - else { - result = forEachDestructuringIdentifier(declaration.name, cb); - } - if (result) - return result; - } -} -exports.forEachDeclaredVariable = forEachDeclaredVariable; -var VariableDeclarationKind; -(function (VariableDeclarationKind) { - VariableDeclarationKind[VariableDeclarationKind["Var"] = 0] = "Var"; - VariableDeclarationKind[VariableDeclarationKind["Let"] = 1] = "Let"; - VariableDeclarationKind[VariableDeclarationKind["Const"] = 2] = "Const"; -})(VariableDeclarationKind = exports.VariableDeclarationKind || (exports.VariableDeclarationKind = {})); -function getVariableDeclarationKind(declarationList) { - if (declarationList.flags & ts.NodeFlags.Let) - return 1; - if (declarationList.flags & ts.NodeFlags.Const) - return 2; - return 0; -} -exports.getVariableDeclarationKind = getVariableDeclarationKind; -function isBlockScopedVariableDeclarationList(declarationList) { - return (declarationList.flags & ts.NodeFlags.BlockScoped) !== 0; -} -exports.isBlockScopedVariableDeclarationList = isBlockScopedVariableDeclarationList; -function isBlockScopedVariableDeclaration(declaration) { - const parent = declaration.parent; - return parent.kind === ts.SyntaxKind.CatchClause || - isBlockScopedVariableDeclarationList(parent); -} -exports.isBlockScopedVariableDeclaration = isBlockScopedVariableDeclaration; -function isBlockScopedDeclarationStatement(statement) { - switch (statement.kind) { - case ts.SyntaxKind.VariableStatement: - return isBlockScopedVariableDeclarationList(statement.declarationList); - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - return true; - default: - return false; - } -} -exports.isBlockScopedDeclarationStatement = isBlockScopedDeclarationStatement; -function isInSingleStatementContext(statement) { - switch (statement.parent.kind) { - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.LabeledStatement: - return true; - default: - return false; - } -} -exports.isInSingleStatementContext = isInSingleStatementContext; -var ScopeBoundary; -(function (ScopeBoundary) { - ScopeBoundary[ScopeBoundary["None"] = 0] = "None"; - ScopeBoundary[ScopeBoundary["Function"] = 1] = "Function"; - ScopeBoundary[ScopeBoundary["Block"] = 2] = "Block"; - ScopeBoundary[ScopeBoundary["Type"] = 4] = "Type"; - ScopeBoundary[ScopeBoundary["ConditionalType"] = 8] = "ConditionalType"; -})(ScopeBoundary = exports.ScopeBoundary || (exports.ScopeBoundary = {})); -var ScopeBoundarySelector; -(function (ScopeBoundarySelector) { - ScopeBoundarySelector[ScopeBoundarySelector["Function"] = 1] = "Function"; - ScopeBoundarySelector[ScopeBoundarySelector["Block"] = 3] = "Block"; - ScopeBoundarySelector[ScopeBoundarySelector["Type"] = 7] = "Type"; - ScopeBoundarySelector[ScopeBoundarySelector["InferType"] = 8] = "InferType"; -})(ScopeBoundarySelector = exports.ScopeBoundarySelector || (exports.ScopeBoundarySelector = {})); -function isScopeBoundary(node) { - return isFunctionScopeBoundary(node) || isBlockScopeBoundary(node) || isTypeScopeBoundary(node); -} -exports.isScopeBoundary = isScopeBoundary; -function isTypeScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.MappedType: - return 4; - case ts.SyntaxKind.ConditionalType: - return 8; - default: - return 0; - } -} -exports.isTypeScopeBoundary = isTypeScopeBoundary; -function isFunctionScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.FunctionType: - return 1; - case ts.SyntaxKind.SourceFile: - return ts.isExternalModule(node) ? 1 : 0; - default: - return 0; - } -} -exports.isFunctionScopeBoundary = isFunctionScopeBoundary; -function isBlockScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.Block: - const parent = node.parent; - return parent.kind !== ts.SyntaxKind.CatchClause && - (parent.kind === ts.SyntaxKind.SourceFile || - !isFunctionScopeBoundary(parent)) - ? 2 - : 0; - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.CaseBlock: - case ts.SyntaxKind.CatchClause: - case ts.SyntaxKind.WithStatement: - return 2; - default: - return 0; - } -} -exports.isBlockScopeBoundary = isBlockScopeBoundary; -function hasOwnThisReference(node) { - switch (node.kind) { - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.FunctionExpression: - return true; - case ts.SyntaxKind.FunctionDeclaration: - return node.body !== undefined; - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - return node.parent.kind === ts.SyntaxKind.ObjectLiteralExpression; - default: - return false; - } -} -exports.hasOwnThisReference = hasOwnThisReference; -function isFunctionWithBody(node) { - switch (node.kind) { - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.Constructor: - return node.body !== undefined; - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - return true; - default: - return false; - } -} -exports.isFunctionWithBody = isFunctionWithBody; -function forEachToken(node, cb, sourceFile = node.getSourceFile()) { - return (function iterate(child) { - if (isTokenKind(child.kind)) - return cb(child); - if (child.kind !== ts.SyntaxKind.JSDocComment) - return child.getChildren(sourceFile).forEach(iterate); - })(node); -} -exports.forEachToken = forEachToken; -function forEachTokenWithTrivia(node, cb, sourceFile = node.getSourceFile()) { - const fullText = sourceFile.text; - const scanner = ts.createScanner(sourceFile.languageVersion, false, sourceFile.languageVariant, fullText); - return forEachToken(node, (token) => { - const tokenStart = token.kind === ts.SyntaxKind.JsxText || token.pos === token.end ? token.pos : token.getStart(sourceFile); - if (tokenStart !== token.pos) { - scanner.setTextPos(token.pos); - let kind = scanner.scan(); - let pos = scanner.getTokenPos(); - while (pos < tokenStart) { - const textPos = scanner.getTextPos(); - cb(fullText, kind, { pos, end: textPos }, token.parent); - if (textPos === tokenStart) - break; - kind = scanner.scan(); - pos = scanner.getTokenPos(); - } - } - return cb(fullText, token.kind, { end: token.end, pos: tokenStart }, token.parent); - }, sourceFile); -} -exports.forEachTokenWithTrivia = forEachTokenWithTrivia; -function forEachComment(node, cb, sourceFile = node.getSourceFile()) { - const fullText = sourceFile.text; - const notJsx = sourceFile.languageVariant !== ts.LanguageVariant.JSX; - return forEachToken(node, (token) => { - if (token.pos === token.end) - return; - if (token.kind !== ts.SyntaxKind.JsxText) - ts.forEachLeadingCommentRange(fullText, token.pos === 0 ? (ts.getShebang(fullText) || '').length : token.pos, commentCallback); - if (notJsx || canHaveTrailingTrivia(token)) - return ts.forEachTrailingCommentRange(fullText, token.end, commentCallback); - }, sourceFile); - function commentCallback(pos, end, kind) { - cb(fullText, { pos, end, kind }); - } -} -exports.forEachComment = forEachComment; -function canHaveTrailingTrivia(token) { - switch (token.kind) { - case ts.SyntaxKind.CloseBraceToken: - return token.parent.kind !== ts.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent); - case ts.SyntaxKind.GreaterThanToken: - switch (token.parent.kind) { - case ts.SyntaxKind.JsxOpeningElement: - return token.end !== token.parent.end; - case ts.SyntaxKind.JsxOpeningFragment: - return false; - case ts.SyntaxKind.JsxSelfClosingElement: - return token.end !== token.parent.end || - !isJsxElementOrFragment(token.parent.parent); - case ts.SyntaxKind.JsxClosingElement: - case ts.SyntaxKind.JsxClosingFragment: - return !isJsxElementOrFragment(token.parent.parent.parent); - } - } - return true; -} -function isJsxElementOrFragment(node) { - return node.kind === ts.SyntaxKind.JsxElement || node.kind === ts.SyntaxKind.JsxFragment; -} -function getLineRanges(sourceFile) { - const lineStarts = sourceFile.getLineStarts(); - const result = []; - const length = lineStarts.length; - const sourceText = sourceFile.text; - let pos = 0; - for (let i = 1; i < length; ++i) { - const end = lineStarts[i]; - let lineEnd = end; - for (; lineEnd > pos; --lineEnd) - if (!ts.isLineBreak(sourceText.charCodeAt(lineEnd - 1))) - break; - result.push({ - pos, - end, - contentLength: lineEnd - pos, - }); - pos = end; - } - result.push({ - pos, - end: sourceFile.end, - contentLength: sourceFile.end - pos, - }); - return result; -} -exports.getLineRanges = getLineRanges; -function getLineBreakStyle(sourceFile) { - const lineStarts = sourceFile.getLineStarts(); - return lineStarts.length === 1 || lineStarts[1] < 2 || sourceFile.text[lineStarts[1] - 2] !== '\r' - ? '\n' - : '\r\n'; -} -exports.getLineBreakStyle = getLineBreakStyle; -let cachedScanner; -function scanToken(text, languageVersion) { - if (cachedScanner === undefined) { - cachedScanner = ts.createScanner(languageVersion, false, undefined, text); - } - else { - cachedScanner.setScriptTarget(languageVersion); - cachedScanner.setText(text); - } - cachedScanner.scan(); - return cachedScanner; -} -function isValidIdentifier(text, languageVersion = ts.ScriptTarget.Latest) { - const scan = scanToken(text, languageVersion); - return scan.isIdentifier() && scan.getTextPos() === text.length && scan.getTokenPos() === 0; -} -exports.isValidIdentifier = isValidIdentifier; -function charSize(ch) { - return ch >= 0x10000 ? 2 : 1; -} -function isValidPropertyAccess(text, languageVersion = ts.ScriptTarget.Latest) { - if (text.length === 0) - return false; - let ch = text.codePointAt(0); - if (!ts.isIdentifierStart(ch, languageVersion)) - return false; - for (let i = charSize(ch); i < text.length; i += charSize(ch)) { - ch = text.codePointAt(i); - if (!ts.isIdentifierPart(ch, languageVersion)) - return false; - } - return true; -} -exports.isValidPropertyAccess = isValidPropertyAccess; -function isValidPropertyName(text, languageVersion = ts.ScriptTarget.Latest) { - if (isValidPropertyAccess(text, languageVersion)) - return true; - const scan = scanToken(text, languageVersion); - return scan.getTextPos() === text.length && - scan.getToken() === ts.SyntaxKind.NumericLiteral && scan.getTokenValue() === text; -} -exports.isValidPropertyName = isValidPropertyName; -function isValidNumericLiteral(text, languageVersion = ts.ScriptTarget.Latest) { - const scan = scanToken(text, languageVersion); - return scan.getToken() === ts.SyntaxKind.NumericLiteral && scan.getTextPos() === text.length && scan.getTokenPos() === 0; -} -exports.isValidNumericLiteral = isValidNumericLiteral; -function isValidJsxIdentifier(text, languageVersion = ts.ScriptTarget.Latest) { - if (text.length === 0) - return false; - let ch = text.codePointAt(0); - if (!ts.isIdentifierStart(ch, languageVersion)) - return false; - for (let i = charSize(ch); i < text.length; i += charSize(ch)) { - ch = text.codePointAt(i); - if (!ts.isIdentifierPart(ch, languageVersion) && ch !== 45) - return false; - } - return true; -} -exports.isValidJsxIdentifier = isValidJsxIdentifier; -function isNumericPropertyName(name) { - return String(+name) === name; -} -exports.isNumericPropertyName = isNumericPropertyName; -function isSameLine(sourceFile, pos1, pos2) { - return ts.getLineAndCharacterOfPosition(sourceFile, pos1).line === ts.getLineAndCharacterOfPosition(sourceFile, pos2).line; -} -exports.isSameLine = isSameLine; -var SideEffectOptions; -(function (SideEffectOptions) { - SideEffectOptions[SideEffectOptions["None"] = 0] = "None"; - SideEffectOptions[SideEffectOptions["TaggedTemplate"] = 1] = "TaggedTemplate"; - SideEffectOptions[SideEffectOptions["Constructor"] = 2] = "Constructor"; - SideEffectOptions[SideEffectOptions["JsxElement"] = 4] = "JsxElement"; -})(SideEffectOptions = exports.SideEffectOptions || (exports.SideEffectOptions = {})); -function hasSideEffects(node, options) { - switch (node.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.DeleteExpression: - return true; - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.PartiallyEmittedExpression: - return hasSideEffects(node.expression, options); - case ts.SyntaxKind.BinaryExpression: - return isAssignmentKind(node.operatorToken.kind) || - hasSideEffects(node.left, options) || - hasSideEffects(node.right, options); - case ts.SyntaxKind.PrefixUnaryExpression: - switch (node.operator) { - case ts.SyntaxKind.PlusPlusToken: - case ts.SyntaxKind.MinusMinusToken: - return true; - default: - return hasSideEffects(node.operand, options); - } - case ts.SyntaxKind.ElementAccessExpression: - return hasSideEffects(node.expression, options) || - node.argumentExpression !== undefined && - hasSideEffects(node.argumentExpression, options); - case ts.SyntaxKind.ConditionalExpression: - return hasSideEffects(node.condition, options) || - hasSideEffects(node.whenTrue, options) || - hasSideEffects(node.whenFalse, options); - case ts.SyntaxKind.NewExpression: - if (options & 2 || hasSideEffects(node.expression, options)) - return true; - if (node.arguments !== undefined) - for (const child of node.arguments) - if (hasSideEffects(child, options)) - return true; - return false; - case ts.SyntaxKind.TaggedTemplateExpression: - if (options & 1 || hasSideEffects(node.tag, options)) - return true; - if (node.template.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral) - return false; - node = node.template; - case ts.SyntaxKind.TemplateExpression: - for (const child of node.templateSpans) - if (hasSideEffects(child.expression, options)) - return true; - return false; - case ts.SyntaxKind.ClassExpression: - return classExpressionHasSideEffects(node, options); - case ts.SyntaxKind.ArrayLiteralExpression: - for (const child of node.elements) - if (hasSideEffects(child, options)) - return true; - return false; - case ts.SyntaxKind.ObjectLiteralExpression: - for (const child of node.properties) { - if (child.name !== undefined && child.name.kind === ts.SyntaxKind.ComputedPropertyName && - hasSideEffects(child.name.expression, options)) - return true; - switch (child.kind) { - case ts.SyntaxKind.PropertyAssignment: - if (hasSideEffects(child.initializer, options)) - return true; - break; - case ts.SyntaxKind.SpreadAssignment: - if (hasSideEffects(child.expression, options)) - return true; - } - } - return false; - case ts.SyntaxKind.JsxExpression: - return node.expression !== undefined && hasSideEffects(node.expression, options); - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - for (const child of node.children) - if (child.kind !== ts.SyntaxKind.JsxText && hasSideEffects(child, options)) - return true; - if (node.kind === ts.SyntaxKind.JsxFragment) - return false; - node = node.openingElement; - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.JsxOpeningElement: - if (options & 4) - return true; - for (const child of node.attributes.properties) { - if (child.kind === ts.SyntaxKind.JsxSpreadAttribute) { - if (hasSideEffects(child.expression, options)) - return true; - } - else if (child.initializer !== undefined && hasSideEffects(child.initializer, options)) { - return true; - } - } - return false; - case ts.SyntaxKind.CommaListExpression: - for (const child of node.elements) - if (hasSideEffects(child, options)) - return true; - return false; - default: - return false; - } -} -exports.hasSideEffects = hasSideEffects; -function classExpressionHasSideEffects(node, options) { - if (node.heritageClauses !== undefined && node.heritageClauses[0].token === ts.SyntaxKind.ExtendsKeyword) - for (const base of node.heritageClauses[0].types) - if (hasSideEffects(base.expression, options)) - return true; - for (const child of node.members) - if (child.name !== undefined && child.name.kind === ts.SyntaxKind.ComputedPropertyName && - hasSideEffects(child.name.expression, options) || - node_1.isPropertyDeclaration(child) && child.initializer !== undefined && - hasSideEffects(child.initializer, options)) - return true; - return false; -} -function getDeclarationOfBindingElement(node) { - let parent = node.parent.parent; - while (parent.kind === ts.SyntaxKind.BindingElement) - parent = parent.parent.parent; - return parent; -} -exports.getDeclarationOfBindingElement = getDeclarationOfBindingElement; -function isExpressionValueUsed(node) { - while (true) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.JsxSpreadAttribute: - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.ComputedPropertyName: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.ExportSpecifier: - case ts.SyntaxKind.ExportAssignment: - case ts.SyntaxKind.ImportDeclaration: - case ts.SyntaxKind.ExternalModuleReference: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.TemplateSpan: - case ts.SyntaxKind.ExpressionWithTypeArguments: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.LiteralType: - case ts.SyntaxKind.JsxAttributes: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxClosingElement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.CaseClause: - case ts.SyntaxKind.SwitchStatement: - return true; - case ts.SyntaxKind.PropertyAccessExpression: - return parent.expression === node; - case ts.SyntaxKind.QualifiedName: - return parent.left === node; - case ts.SyntaxKind.ShorthandPropertyAssignment: - return parent.objectAssignmentInitializer === node || - !isInDestructuringAssignment(parent); - case ts.SyntaxKind.PropertyAssignment: - return parent.initializer === node && !isInDestructuringAssignment(parent); - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.ArrayLiteralExpression: - return !isInDestructuringAssignment(parent); - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.PrefixUnaryExpression: - case ts.SyntaxKind.NonNullExpression: - node = parent; - break; - case ts.SyntaxKind.ForStatement: - return parent.condition === node; - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - return parent.expression === node; - case ts.SyntaxKind.ConditionalExpression: - if (parent.condition === node) - return true; - node = parent; - break; - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - return parent.initializer === node; - case ts.SyntaxKind.ImportEqualsDeclaration: - return parent.moduleReference === node; - case ts.SyntaxKind.CommaListExpression: - if (parent.elements[parent.elements.length - 1] !== node) - return false; - node = parent; - break; - case ts.SyntaxKind.BinaryExpression: - if (parent.right === node) { - if (parent.operatorToken.kind === ts.SyntaxKind.CommaToken) { - node = parent; - break; - } - return true; - } - switch (parent.operatorToken.kind) { - case ts.SyntaxKind.CommaToken: - case ts.SyntaxKind.EqualsToken: - return false; - case ts.SyntaxKind.EqualsEqualsEqualsToken: - case ts.SyntaxKind.EqualsEqualsToken: - case ts.SyntaxKind.ExclamationEqualsEqualsToken: - case ts.SyntaxKind.ExclamationEqualsToken: - case ts.SyntaxKind.InstanceOfKeyword: - case ts.SyntaxKind.PlusToken: - case ts.SyntaxKind.MinusToken: - case ts.SyntaxKind.AsteriskToken: - case ts.SyntaxKind.SlashToken: - case ts.SyntaxKind.PercentToken: - case ts.SyntaxKind.AsteriskAsteriskToken: - case ts.SyntaxKind.GreaterThanToken: - case ts.SyntaxKind.GreaterThanGreaterThanToken: - case ts.SyntaxKind.GreaterThanGreaterThanGreaterThanToken: - case ts.SyntaxKind.GreaterThanEqualsToken: - case ts.SyntaxKind.LessThanToken: - case ts.SyntaxKind.LessThanLessThanToken: - case ts.SyntaxKind.LessThanEqualsToken: - case ts.SyntaxKind.AmpersandToken: - case ts.SyntaxKind.BarToken: - case ts.SyntaxKind.CaretToken: - case ts.SyntaxKind.BarBarToken: - case ts.SyntaxKind.AmpersandAmpersandToken: - case ts.SyntaxKind.InKeyword: - return true; - default: - node = parent; - } - break; - default: - return false; - } - } -} -exports.isExpressionValueUsed = isExpressionValueUsed; -function isInDestructuringAssignment(node) { - switch (node.kind) { - case ts.SyntaxKind.ShorthandPropertyAssignment: - if (node.objectAssignmentInitializer !== undefined) - return true; - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.SpreadAssignment: - node = node.parent; - break; - case ts.SyntaxKind.SpreadElement: - if (node.parent.kind !== ts.SyntaxKind.ArrayLiteralExpression) - return false; - node = node.parent; - } - while (true) { - switch (node.parent.kind) { - case ts.SyntaxKind.BinaryExpression: - return node.parent.left === node && - node.parent.operatorToken.kind === ts.SyntaxKind.EqualsToken; - case ts.SyntaxKind.ForOfStatement: - return node.parent.initializer === node; - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ObjectLiteralExpression: - node = node.parent; - break; - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.PropertyAssignment: - node = node.parent.parent; - break; - case ts.SyntaxKind.SpreadElement: - if (node.parent.parent.kind !== ts.SyntaxKind.ArrayLiteralExpression) - return false; - node = node.parent.parent; - break; - default: - return false; - } - } -} -var AccessKind; -(function (AccessKind) { - AccessKind[AccessKind["None"] = 0] = "None"; - AccessKind[AccessKind["Read"] = 1] = "Read"; - AccessKind[AccessKind["Write"] = 2] = "Write"; - AccessKind[AccessKind["Delete"] = 4] = "Delete"; - AccessKind[AccessKind["ReadWrite"] = 3] = "ReadWrite"; - AccessKind[AccessKind["Modification"] = 6] = "Modification"; -})(AccessKind = exports.AccessKind || (exports.AccessKind = {})); -function getAccessKind(node) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.DeleteExpression: - return 4; - case ts.SyntaxKind.PostfixUnaryExpression: - return 3; - case ts.SyntaxKind.PrefixUnaryExpression: - return parent.operator === ts.SyntaxKind.PlusPlusToken || - parent.operator === ts.SyntaxKind.MinusMinusToken - ? 3 - : 1; - case ts.SyntaxKind.BinaryExpression: - return parent.right === node - ? 1 - : !isAssignmentKind(parent.operatorToken.kind) - ? 1 - : parent.operatorToken.kind === ts.SyntaxKind.EqualsToken - ? 2 - : 3; - case ts.SyntaxKind.ShorthandPropertyAssignment: - return parent.objectAssignmentInitializer === node - ? 1 - : isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.PropertyAssignment: - return parent.name === node - ? 0 - : isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.SpreadAssignment: - return isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - return getAccessKind(parent); - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - return parent.initializer === node - ? 2 - : 1; - case ts.SyntaxKind.ExpressionWithTypeArguments: - return parent.parent.token === ts.SyntaxKind.ExtendsKeyword && - parent.parent.parent.kind !== ts.SyntaxKind.InterfaceDeclaration - ? 1 - : 0; - case ts.SyntaxKind.ComputedPropertyName: - case ts.SyntaxKind.ExpressionStatement: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.SwitchStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.TemplateSpan: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.JsxSpreadAttribute: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.ConditionalExpression: - case ts.SyntaxKind.CaseClause: - case ts.SyntaxKind.JsxElement: - return 1; - case ts.SyntaxKind.ArrowFunction: - return parent.body === node - ? 1 - : 2; - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.JsxAttribute: - return parent.initializer === node - ? 1 - : 0; - case ts.SyntaxKind.PropertyAccessExpression: - return parent.expression === node - ? 1 - : 0; - case ts.SyntaxKind.ExportAssignment: - return parent.isExportEquals - ? 1 - : 0; - } - return 0; -} -exports.getAccessKind = getAccessKind; -function isReassignmentTarget(node) { - return (getAccessKind(node) & 2) !== 0; -} -exports.isReassignmentTarget = isReassignmentTarget; -function canHaveJsDoc(node) { - const kind = node.kind; - switch (kind) { - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.PropertySignature: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.ShorthandPropertyAssignment: - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.LabeledStatement: - case ts.SyntaxKind.ExpressionStatement: - case ts.SyntaxKind.VariableStatement: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.ImportEqualsDeclaration: - case ts.SyntaxKind.IndexSignature: - case ts.SyntaxKind.FunctionType: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.JSDocFunctionType: - case ts.SyntaxKind.EndOfFileToken: - case ts.SyntaxKind.ExportDeclaration: - return true; - default: - return false; - } -} -exports.canHaveJsDoc = canHaveJsDoc; -function getJsDoc(node, sourceFile) { - if (node.kind === ts.SyntaxKind.EndOfFileToken) - return parseJsDocWorker(node, sourceFile || node.parent); - const result = []; - for (const child of node.getChildren(sourceFile)) { - if (!node_1.isJsDoc(child)) - break; - result.push(child); - } - return result; -} -exports.getJsDoc = getJsDoc; -function parseJsDocOfNode(node, considerTrailingComments, sourceFile = node.getSourceFile()) { - if (canHaveJsDoc(node) && node.kind !== ts.SyntaxKind.EndOfFileToken) { - const result = getJsDoc(node, sourceFile); - if (result.length !== 0 || !considerTrailingComments) - return result; - } - return parseJsDocWorker(node, sourceFile, considerTrailingComments); -} -exports.parseJsDocOfNode = parseJsDocOfNode; -function parseJsDocWorker(node, sourceFile, considerTrailingComments) { - const nodeStart = node.getStart(sourceFile); - const start = ts[considerTrailingComments && isSameLine(sourceFile, node.pos, nodeStart) - ? 'forEachTrailingCommentRange' - : 'forEachLeadingCommentRange'](sourceFile.text, node.pos, (pos, _end, kind) => kind === ts.SyntaxKind.MultiLineCommentTrivia && sourceFile.text[pos + 2] === '*' ? { pos } : undefined); - if (start === undefined) - return []; - const startPos = start.pos; - const text = sourceFile.text.slice(startPos, nodeStart); - const newSourceFile = ts.createSourceFile('jsdoc.ts', `${text}var a;`, sourceFile.languageVersion); - const result = getJsDoc(newSourceFile.statements[0], newSourceFile); - for (const doc of result) - updateNode(doc, node); - return result; - function updateNode(n, parent) { - n.pos += startPos; - n.end += startPos; - n.parent = parent; - return ts.forEachChild(n, (child) => updateNode(child, n), (children) => { - children.pos += startPos; - children.end += startPos; - for (const child of children) - updateNode(child, n); - }); - } -} -var ImportKind; -(function (ImportKind) { - ImportKind[ImportKind["ImportDeclaration"] = 1] = "ImportDeclaration"; - ImportKind[ImportKind["ImportEquals"] = 2] = "ImportEquals"; - ImportKind[ImportKind["ExportFrom"] = 4] = "ExportFrom"; - ImportKind[ImportKind["DynamicImport"] = 8] = "DynamicImport"; - ImportKind[ImportKind["Require"] = 16] = "Require"; - ImportKind[ImportKind["ImportType"] = 32] = "ImportType"; - ImportKind[ImportKind["All"] = 63] = "All"; - ImportKind[ImportKind["AllImports"] = 59] = "AllImports"; - ImportKind[ImportKind["AllStaticImports"] = 3] = "AllStaticImports"; - ImportKind[ImportKind["AllImportExpressions"] = 24] = "AllImportExpressions"; - ImportKind[ImportKind["AllRequireLike"] = 18] = "AllRequireLike"; - ImportKind[ImportKind["AllNestedImports"] = 56] = "AllNestedImports"; - ImportKind[ImportKind["AllTopLevelImports"] = 7] = "AllTopLevelImports"; -})(ImportKind = exports.ImportKind || (exports.ImportKind = {})); -function findImports(sourceFile, kinds) { - const result = []; - for (const node of findImportLikeNodes(sourceFile, kinds)) { - switch (node.kind) { - case ts.SyntaxKind.ImportDeclaration: - addIfTextualLiteral(node.moduleSpecifier); - break; - case ts.SyntaxKind.ImportEqualsDeclaration: - addIfTextualLiteral(node.moduleReference.expression); - break; - case ts.SyntaxKind.ExportDeclaration: - addIfTextualLiteral(node.moduleSpecifier); - break; - case ts.SyntaxKind.CallExpression: - addIfTextualLiteral(node.arguments[0]); - break; - case ts.SyntaxKind.ImportType: - if (node_1.isLiteralTypeNode(node.argument)) - addIfTextualLiteral(node.argument.literal); - break; - default: - throw new Error('unexpected node'); - } - } - return result; - function addIfTextualLiteral(node) { - if (node_1.isTextualLiteral(node)) - result.push(node); - } -} -exports.findImports = findImports; -function findImportLikeNodes(sourceFile, kinds) { - return new ImportFinder(sourceFile, kinds).find(); -} -exports.findImportLikeNodes = findImportLikeNodes; -class ImportFinder { - constructor(_sourceFile, _options) { - this._sourceFile = _sourceFile; - this._options = _options; - this._result = []; - } - find() { - if (this._sourceFile.isDeclarationFile) - this._options &= ~24; - if (this._options & 7) - this._findImports(this._sourceFile.statements); - if (this._options & 56) - this._findNestedImports(); - return this._result; - } - _findImports(statements) { - for (const statement of statements) { - if (node_1.isImportDeclaration(statement)) { - if (this._options & 1) - this._result.push(statement); - } - else if (node_1.isImportEqualsDeclaration(statement)) { - if (this._options & 2 && - statement.moduleReference.kind === ts.SyntaxKind.ExternalModuleReference) - this._result.push(statement); - } - else if (node_1.isExportDeclaration(statement)) { - if (statement.moduleSpecifier !== undefined && this._options & 4) - this._result.push(statement); - } - else if (node_1.isModuleDeclaration(statement)) { - this._findImportsInModule(statement); - } - } - } - _findImportsInModule(declaration) { - if (declaration.body === undefined) - return; - if (declaration.body.kind === ts.SyntaxKind.ModuleDeclaration) - return this._findImportsInModule(declaration.body); - this._findImports(declaration.body.statements); - } - _findNestedImports() { - let re; - if ((this._options & 56) === 16) { - re = /\brequire\s*[ { - if (kind === ts.SyntaxKind.SingleLineCommentTrivia) { - const text = source.slice(pos, end); - const match = /^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(text); - if (match !== null) - directive = { pos, end, enabled: match[1] === undefined }; - } - }); - return directive; -} -exports.getCheckJsDirective = getCheckJsDirective; -function isConstAssertion(node) { - return node_1.isTypeReferenceNode(node.type) && - node.type.typeName.kind === ts.SyntaxKind.Identifier && - node.type.typeName.escapedText === 'const'; -} -exports.isConstAssertion = isConstAssertion; -function isInConstContext(node) { - let current = node; - while (true) { - const parent = current.parent; - outer: switch (parent.kind) { - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - return isConstAssertion(parent); - case ts.SyntaxKind.PrefixUnaryExpression: - if (current.kind !== ts.SyntaxKind.NumericLiteral) - return false; - switch (parent.operator) { - case ts.SyntaxKind.PlusToken: - case ts.SyntaxKind.MinusToken: - current = parent; - break outer; - default: - return false; - } - case ts.SyntaxKind.PropertyAssignment: - if (parent.initializer !== current) - return false; - current = parent.parent; - break; - case ts.SyntaxKind.ShorthandPropertyAssignment: - current = parent.parent; - break; - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ObjectLiteralExpression: - current = parent; - break; - default: - return false; - } - } -} -exports.isInConstContext = isInConstContext; -function isReadonlyAssignmentDeclaration(node, checker) { - if (!isBindableObjectDefinePropertyCall(node)) - return false; - const descriptorType = checker.getTypeAtLocation(node.arguments[2]); - if (descriptorType.getProperty('value') === undefined) - return descriptorType.getProperty('set') === undefined; - const writableProp = descriptorType.getProperty('writable'); - if (writableProp === undefined) - return false; - const writableType = writableProp.valueDeclaration !== undefined && node_1.isPropertyAssignment(writableProp.valueDeclaration) - ? checker.getTypeAtLocation(writableProp.valueDeclaration.initializer) - : checker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]); - return type_1.isBooleanLiteralType(writableType, false); -} -exports.isReadonlyAssignmentDeclaration = isReadonlyAssignmentDeclaration; -function isBindableObjectDefinePropertyCall(node) { - return node.arguments.length === 3 && - node_1.isEntityNameExpression(node.arguments[0]) && - node_1.isNumericOrStringLikeLiteral(node.arguments[1]) && - node_1.isPropertyAccessExpression(node.expression) && - node.expression.name.escapedText === 'defineProperty' && - node_1.isIdentifier(node.expression.expression) && - node.expression.expression.escapedText === 'Object'; -} -exports.isBindableObjectDefinePropertyCall = isBindableObjectDefinePropertyCall; -function isWellKnownSymbolLiterally(node) { - return ts.isPropertyAccessExpression(node) && - ts.isIdentifier(node.expression) && - node.expression.escapedText === 'Symbol'; -} -exports.isWellKnownSymbolLiterally = isWellKnownSymbolLiterally; -function getPropertyNameOfWellKnownSymbol(node) { - return { - displayName: `[Symbol.${node.name.text}]`, - symbolName: ('__@' + node.name.text), - }; -} -exports.getPropertyNameOfWellKnownSymbol = getPropertyNameOfWellKnownSymbol; -function getLateBoundPropertyNames(node, checker) { - const result = { - known: true, - names: [], - }; - node = unwrapParentheses(node); - if (isWellKnownSymbolLiterally(node)) { - result.names.push(getPropertyNameOfWellKnownSymbol(node)); - } - else { - const type = checker.getTypeAtLocation(node); - for (const key of type_1.unionTypeParts(checker.getBaseConstraintOfType(type) || type)) { - const propertyName = type_1.getPropertyNameFromType(key); - if (propertyName) { - result.names.push(propertyName); - } - else { - result.known = false; - } - } - } - return result; -} -exports.getLateBoundPropertyNames = getLateBoundPropertyNames; -function getLateBoundPropertyNamesOfPropertyName(node, checker) { - const staticName = getPropertyName(node); - return staticName !== undefined - ? { known: true, names: [{ displayName: staticName, symbolName: ts.escapeLeadingUnderscores(staticName) }] } - : getLateBoundPropertyNames(node.expression, checker); -} -exports.getLateBoundPropertyNamesOfPropertyName = getLateBoundPropertyNamesOfPropertyName; -function getSingleLateBoundPropertyNameOfPropertyName(node, checker) { - const staticName = getPropertyName(node); - if (staticName !== undefined) - return { displayName: staticName, symbolName: ts.escapeLeadingUnderscores(staticName) }; - const { expression } = node; - return isWellKnownSymbolLiterally(expression) - ? getPropertyNameOfWellKnownSymbol(expression) - : type_1.getPropertyNameFromType(checker.getTypeAtLocation(expression)); -} -exports.getSingleLateBoundPropertyNameOfPropertyName = getSingleLateBoundPropertyNameOfPropertyName; -function unwrapParentheses(node) { - while (node.kind === ts.SyntaxKind.ParenthesizedExpression) - node = node.expression; - return node; -} -exports.unwrapParentheses = unwrapParentheses; diff --git a/node_modules/@typescript-eslint/eslint-plugin/package.json b/node_modules/@typescript-eslint/eslint-plugin/package.json index a6a1ba32e..6f65b3115 100644 --- a/node_modules/@typescript-eslint/eslint-plugin/package.json +++ b/node_modules/@typescript-eslint/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "4.1.0", + "version": "4.28.5", "description": "TypeScript plugin for ESLint", "keywords": [ "eslint", @@ -14,6 +14,7 @@ "files": [ "dist", "docs", + "index.d.ts", "package.json", "README.md", "LICENSE" @@ -28,12 +29,13 @@ }, "license": "MIT", "main": "dist/index.js", + "types": "index.d.ts", "scripts": { "build": "tsc -b tsconfig.build.json", - "check:docs": "jest tests/docs.test.ts --runTestsByPath --silent --runInBand", - "check:configs": "jest tests/configs.test.ts --runTestsByPath --silent --runInBand", + "check-docs": "jest tests/docs.test.ts --runTestsByPath --silent --runInBand", + "check-configs": "jest tests/configs.test.ts --runTestsByPath --silent --runInBand", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "generate:configs": "../../node_modules/.bin/ts-node --files --transpile-only tools/generate-configs.ts", "generate:rules-lists": "../../node_modules/.bin/ts-node --files --transpile-only tools/generate-rules-lists.ts", @@ -42,20 +44,20 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/experimental-utils": "4.1.0", - "@typescript-eslint/scope-manager": "4.1.0", - "debug": "^4.1.1", + "@typescript-eslint/experimental-utils": "4.28.5", + "@typescript-eslint/scope-manager": "4.28.5", + "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "devDependencies": { "@types/debug": "*", - "@types/marked": "^1.1.0", + "@types/marked": "*", "@types/prettier": "*", - "chalk": "^4.0.0", - "marked": "^1.0.0", + "chalk": "^4.1.1", + "marked": "^2.0.6", "prettier": "*", "typescript": "*" }, @@ -72,5 +74,5 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/CHANGELOG.md b/node_modules/@typescript-eslint/experimental-utils/CHANGELOG.md index b32112bea..754f93ce1 100644 --- a/node_modules/@typescript-eslint/experimental-utils/CHANGELOG.md +++ b/node_modules/@typescript-eslint/experimental-utils/CHANGELOG.md @@ -3,6 +3,409 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + + +### Bug Fixes + +* **experimental-utils:** expand `RuleTester` config properties ([#3557](https://github.com/typescript-eslint/typescript-eslint/issues/3557)) ([ffbb3cf](https://github.com/typescript-eslint/typescript-eslint/commit/ffbb3cff18bc78467e70e794f9b1f0e79be4aff7)) +* **experimental-utils:** fix `eslint-utils`' negative predicates' return types ([#3462](https://github.com/typescript-eslint/typescript-eslint/issues/3462)) ([1e6016b](https://github.com/typescript-eslint/typescript-eslint/commit/1e6016b356ae40e4636a3cbe41fa02b6a61403ee)) +* **experimental-utils:** fix `eslint-utils`' negative predicates' return types in `ast-utils` ([#3461](https://github.com/typescript-eslint/typescript-eslint/issues/3461)) ([614b0a3](https://github.com/typescript-eslint/typescript-eslint/commit/614b0a38b4163eb4667cce7a415d534222d15dd3)) +* **experimental-utils:** make keys for `ReferenceTracker` options optional ([#3531](https://github.com/typescript-eslint/typescript-eslint/issues/3531)) ([a7fd7bb](https://github.com/typescript-eslint/typescript-eslint/commit/a7fd7bb25584cb3f72f0339025dc76efa6cccceb)) + + +### Features + +* **experimental-utils:** add `only` property to `RuleTester` types ([#3555](https://github.com/typescript-eslint/typescript-eslint/issues/3555)) ([2a36e3e](https://github.com/typescript-eslint/typescript-eslint/commit/2a36e3e737f935cc6b967befb022d10a83c8bc9b)) +* **experimental-utils:** expose ReferenceTracker.ESM ([#3532](https://github.com/typescript-eslint/typescript-eslint/issues/3532)) ([4ac67c4](https://github.com/typescript-eslint/typescript-eslint/commit/4ac67c4c9401c5ce0e947a6409efbc11afe1eb3b)) +* **experimental-utils:** use mergable interface for `settings` property ([#3556](https://github.com/typescript-eslint/typescript-eslint/issues/3556)) ([abfc19b](https://github.com/typescript-eslint/typescript-eslint/commit/abfc19bf9364d881bdf594ee166a1deb23240630)) + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + + +### Bug Fixes + +* **typescript-estree:** allow providing more one than one existing program in config ([#3508](https://github.com/typescript-eslint/typescript-eslint/issues/3508)) ([4f1806e](https://github.com/typescript-eslint/typescript-eslint/commit/4f1806e548affb7265da360d1fc8d033e25de325)) + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + + +### Bug Fixes + +* **experimental-utils:** fix `isAwaitKeyword` predicate in ast-utils ([#3290](https://github.com/typescript-eslint/typescript-eslint/issues/3290)) ([c15da67](https://github.com/typescript-eslint/typescript-eslint/commit/c15da67b939b615ed063291cde12c55c0d6d236e)) + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Features + +* **experimental-utils:** Include `getCwd()` in `RuleContext` type ([#3308](https://github.com/typescript-eslint/typescript-eslint/issues/3308)) ([2b75c11](https://github.com/typescript-eslint/typescript-eslint/commit/2b75c11d69bee88ca0cb77d7efd32b8d0387e6b3)) +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + + +### Features + +* **eslint-plugin:** [no-unused-vars] fork the base rule ([#2768](https://github.com/typescript-eslint/typescript-eslint/issues/2768)) ([a8227a6](https://github.com/typescript-eslint/typescript-eslint/commit/a8227a6185dd24de4bfc7d766931643871155021)), closes [#2782](https://github.com/typescript-eslint/typescript-eslint/issues/2782) [#2714](https://github.com/typescript-eslint/typescript-eslint/issues/2714) [#2648](https://github.com/typescript-eslint/typescript-eslint/issues/2648) + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Features + +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + + +### Bug Fixes + +* **experimental-utils:** treat RuleTester arrays as readonly ([#2601](https://github.com/typescript-eslint/typescript-eslint/issues/2601)) ([8025777](https://github.com/typescript-eslint/typescript-eslint/commit/80257776b78bd2b2b4389d6bd530b009a75fb520)) + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + + +### Bug Fixes + +* **eslint-plugin:** [no-use-before-define] false positive for function type arguments ([#2554](https://github.com/typescript-eslint/typescript-eslint/issues/2554)) ([189162d](https://github.com/typescript-eslint/typescript-eslint/commit/189162d46ecb116c420232937a7f86df913f4e79)), closes [#2527](https://github.com/typescript-eslint/typescript-eslint/issues/2527) + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) **Note:** Version bump only for package @typescript-eslint/experimental-utils diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts index 76b56772c..98a82cbe7 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts @@ -3,6 +3,7 @@ import * as TSESLint from '../../ts-eslint'; declare const ReferenceTrackerREAD: unique symbol; declare const ReferenceTrackerCALL: unique symbol; declare const ReferenceTrackerCONSTRUCT: unique symbol; +declare const ReferenceTrackerESM: unique symbol; interface ReferenceTracker { /** * Iterate the references that the given `traceMap` determined. @@ -33,26 +34,29 @@ interface ReferenceTrackerStatic { * If this is `"strict"`, the method binds CommonJS modules to the default export. Otherwise, the method binds * CommonJS modules to both the default export and named exports. Optional. Default is `"strict"`. */ - mode: 'strict' | 'legacy'; + mode?: 'strict' | 'legacy'; /** * The name list of Global Object. Optional. Default is `["global", "globalThis", "self", "window"]`. */ - globalObjectNames: readonly string[]; + globalObjectNames?: readonly string[]; }): ReferenceTracker; readonly READ: typeof ReferenceTrackerREAD; readonly CALL: typeof ReferenceTrackerCALL; readonly CONSTRUCT: typeof ReferenceTrackerCONSTRUCT; + readonly ESM: typeof ReferenceTrackerESM; } declare namespace ReferenceTracker { type READ = ReferenceTrackerStatic['READ']; type CALL = ReferenceTrackerStatic['CALL']; type CONSTRUCT = ReferenceTrackerStatic['CONSTRUCT']; + type ESM = ReferenceTrackerStatic['ESM']; type ReferenceType = READ | CALL | CONSTRUCT; type TraceMap = Record>; interface TraceMapElement { [ReferenceTrackerREAD]?: T; [ReferenceTrackerCALL]?: T; [ReferenceTrackerCONSTRUCT]?: T; + [ReferenceTrackerESM]?: true; [key: string]: TraceMapElement; } interface FoundReference { diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/astUtilities.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/astUtilities.d.ts index d9c3fdfb4..842f6ca04 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/astUtilities.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/astUtilities.d.ts @@ -19,7 +19,7 @@ declare const getFunctionNameWithKind: (node: TSESTree.FunctionDeclaration | TSE * @see {@link https://eslint-utils.mysticatea.dev/api/ast-utils.html#getpropertyname} * @returns The property name of the node. If the property name is not constant then it returns `null`. */ -declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Property | TSESTree.MethodDefinition, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => string | null; +declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Property | TSESTree.MethodDefinition, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => string | null; /** * Get the value of a given node if it can decide the value statically. * If the 2nd parameter `initialScope` was given, this function tries to resolve identifier references which are in the @@ -31,7 +31,7 @@ declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Prope * @returns The `{ value: any }` shaped object. The `value` property is the static value. If it couldn't compute the * static value of the node, it returns `null`. */ -declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => { +declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => { value: unknown; } | null; /** @@ -40,7 +40,7 @@ declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@type * * @see {@link https://eslint-utils.mysticatea.dev/api/ast-utils.html#getstringifconstant} */ -declare const getStringIfConstant: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => string | null; +declare const getStringIfConstant: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => string | null; /** * Check whether a given node has any side effect or not. * The side effect means that it may modify a certain variable or object member. This function considers the node which diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/predicates.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/predicates.d.ts index 944c9f3d4..b38579a95 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/predicates.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/eslint-utils/predicates.d.ts @@ -1,45 +1,31 @@ import { TSESTree } from '../../ts-estree'; -declare const isArrowToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '=>'; +declare type IsPunctuatorTokenWithValueFunction = (token: TSESTree.Token) => token is TSESTree.PunctuatorToken & { + value: Value; }; -declare const isNotArrowToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingBraceToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '}'; -}; -declare const isNotClosingBraceToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingBracketToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ']'; -}; -declare const isNotClosingBracketToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingParenToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ')'; -}; -declare const isNotClosingParenToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isColonToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ':'; -}; -declare const isNotColonToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isCommaToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ','; -}; -declare const isNotCommaToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isCommentToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.Comment; -declare const isNotCommentToken: (token: T) => token is Exclude; -declare const isOpeningBraceToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '{'; -}; -declare const isNotOpeningBraceToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isOpeningBracketToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '['; -}; -declare const isNotOpeningBracketToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isOpeningParenToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '('; -}; -declare const isNotOpeningParenToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isSemicolonToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ';'; -}; -declare const isNotSemicolonToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; +declare type IsNotPunctuatorTokenWithValueFunction = (token: TSESTree.Token) => token is Exclude; +declare const isArrowToken: IsPunctuatorTokenWithValueFunction<"=>">; +declare const isNotArrowToken: IsNotPunctuatorTokenWithValueFunction<"=>">; +declare const isClosingBraceToken: IsPunctuatorTokenWithValueFunction<"}">; +declare const isNotClosingBraceToken: IsNotPunctuatorTokenWithValueFunction<"}">; +declare const isClosingBracketToken: IsPunctuatorTokenWithValueFunction<"]">; +declare const isNotClosingBracketToken: IsNotPunctuatorTokenWithValueFunction<"]">; +declare const isClosingParenToken: IsPunctuatorTokenWithValueFunction<")">; +declare const isNotClosingParenToken: IsNotPunctuatorTokenWithValueFunction<")">; +declare const isColonToken: IsPunctuatorTokenWithValueFunction<":">; +declare const isNotColonToken: IsNotPunctuatorTokenWithValueFunction<":">; +declare const isCommaToken: IsPunctuatorTokenWithValueFunction<",">; +declare const isNotCommaToken: IsNotPunctuatorTokenWithValueFunction<",">; +declare const isCommentToken: (token: TSESTree.Token) => token is TSESTree.Comment; +declare const isNotCommentToken: (token: TSESTree.Token) => token is TSESTree.BooleanToken | TSESTree.IdentifierToken | TSESTree.JSXIdentifierToken | TSESTree.JSXTextToken | TSESTree.KeywordToken | TSESTree.NullToken | TSESTree.NumericToken | TSESTree.PunctuatorToken | TSESTree.RegularExpressionToken | TSESTree.StringToken | TSESTree.TemplateToken; +declare const isOpeningBraceToken: IsPunctuatorTokenWithValueFunction<"{">; +declare const isNotOpeningBraceToken: IsNotPunctuatorTokenWithValueFunction<"{">; +declare const isOpeningBracketToken: IsPunctuatorTokenWithValueFunction<"[">; +declare const isNotOpeningBracketToken: IsNotPunctuatorTokenWithValueFunction<"[">; +declare const isOpeningParenToken: IsPunctuatorTokenWithValueFunction<"(">; +declare const isNotOpeningParenToken: IsNotPunctuatorTokenWithValueFunction<"(">; +declare const isSemicolonToken: IsPunctuatorTokenWithValueFunction<";">; +declare const isNotSemicolonToken: IsNotPunctuatorTokenWithValueFunction<";">; export { isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isSemicolonToken, }; //# sourceMappingURL=predicates.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/misc.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/misc.d.ts index 6adacba74..29c22e463 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/misc.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/misc.d.ts @@ -3,6 +3,6 @@ declare const LINEBREAK_MATCHER: RegExp; /** * Determines whether two adjacent tokens are on the same line */ -declare function isTokenOnSameLine(left: TSESTree.Token | TSESTree.Comment, right: TSESTree.Token | TSESTree.Comment): boolean; +declare function isTokenOnSameLine(left: TSESTree.Token, right: TSESTree.Token): boolean; export { isTokenOnSameLine, LINEBREAK_MATCHER }; //# sourceMappingURL=misc.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/predicates.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/predicates.d.ts index 37e436317..9896230f0 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/predicates.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ast-utils/predicates.d.ts @@ -1,12 +1,16 @@ import { TSESTree } from '../ts-estree'; -declare function isOptionalChainPunctuator(token: TSESTree.Token | TSESTree.Comment): token is TSESTree.PunctuatorToken & { +declare function isOptionalChainPunctuator(token: TSESTree.Token): token is TSESTree.PunctuatorToken & { value: '?.'; }; -declare function isNotOptionalChainPunctuator(token: TSESTree.Token | TSESTree.Comment): boolean; -declare function isNonNullAssertionPunctuator(token: TSESTree.Token | TSESTree.Comment): token is TSESTree.PunctuatorToken & { +declare function isNotOptionalChainPunctuator(token: TSESTree.Token): token is Exclude; +declare function isNonNullAssertionPunctuator(token: TSESTree.Token): token is TSESTree.PunctuatorToken & { value: '!'; }; -declare function isNotNonNullAssertionPunctuator(token: TSESTree.Token | TSESTree.Comment): boolean; +declare function isNotNonNullAssertionPunctuator(token: TSESTree.Token): token is Exclude; /** * Returns true if and only if the node represents: foo?.() or foo.bar?.() */ @@ -50,8 +54,9 @@ declare function isAwaitExpression(node: TSESTree.Node | undefined | null): node /** * Checks if a possible token is the `await` keyword. */ -declare function isAwaitKeyword(node: TSESTree.Token | TSESTree.Comment | undefined | null): node is TSESTree.KeywordToken & { +declare function isAwaitKeyword(node: TSESTree.Token | undefined | null): node is TSESTree.IdentifierToken & { value: 'await'; }; -export { isAwaitExpression, isAwaitKeyword, isConstructor, isClassOrTypeElement, isFunction, isFunctionOrFunctionType, isFunctionType, isIdentifier, isLogicalOrOperator, isNonNullAssertionPunctuator, isNotNonNullAssertionPunctuator, isNotOptionalChainPunctuator, isOptionalChainPunctuator, isOptionalCallExpression, isSetter, isTSConstructorType, isTSFunctionType, isTypeAssertion, isVariableDeclarator, }; +declare function isLoop(node: TSESTree.Node | undefined | null): node is TSESTree.DoWhileStatement | TSESTree.ForStatement | TSESTree.ForInStatement | TSESTree.ForOfStatement | TSESTree.WhileStatement; +export { isAwaitExpression, isAwaitKeyword, isConstructor, isClassOrTypeElement, isFunction, isFunctionOrFunctionType, isFunctionType, isIdentifier, isLoop, isLogicalOrOperator, isNonNullAssertionPunctuator, isNotNonNullAssertionPunctuator, isNotOptionalChainPunctuator, isOptionalChainPunctuator, isOptionalCallExpression, isSetter, isTSConstructorType, isTSFunctionType, isTypeAssertion, isVariableDeclarator, }; //# sourceMappingURL=predicates.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/InferTypesFromRule.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/InferTypesFromRule.d.ts index b87b7e836..9ee0d0564 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/InferTypesFromRule.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/InferTypesFromRule.d.ts @@ -1,12 +1,11 @@ -import { RuleModule } from '../ts-eslint'; -declare type InferOptionsTypeFromRuleNever = T extends RuleModule ? TOptions : unknown; +import { RuleCreateFunction, RuleModule } from '../ts-eslint'; /** * Uses type inference to fetch the TOptions type from the given RuleModule */ -declare type InferOptionsTypeFromRule = T extends RuleModule ? TOptions : InferOptionsTypeFromRuleNever; +declare type InferOptionsTypeFromRule = T extends RuleModule ? TOptions : T extends RuleCreateFunction ? TOptions : unknown; /** * Uses type inference to fetch the TMessageIds type from the given RuleModule */ -declare type InferMessageIdsTypeFromRule = T extends RuleModule ? TMessageIds : unknown; +declare type InferMessageIdsTypeFromRule = T extends RuleModule ? TMessageIds : T extends RuleCreateFunction ? TMessageIds : unknown; export { InferOptionsTypeFromRule, InferMessageIdsTypeFromRule }; //# sourceMappingURL=InferTypesFromRule.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/applyDefault.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/applyDefault.d.ts index feac266f4..b0c9405e6 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/applyDefault.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/eslint-utils/applyDefault.d.ts @@ -5,6 +5,6 @@ * @param userOptions the user opts * @returns the options with defaults */ -declare function applyDefault(defaultOptions: TDefault, userOptions: TUser | null): TDefault; +declare function applyDefault(defaultOptions: Readonly, userOptions: Readonly | null): TDefault; export { applyDefault }; //# sourceMappingURL=applyDefault.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint-scope/Reference.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint-scope/Reference.d.ts index e2b7fbe9d..f24216616 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint-scope/Reference.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint-scope/Reference.d.ts @@ -19,7 +19,7 @@ interface Reference { isReadWrite(): boolean; } declare const Reference: { - new (identifier: TSESTree.Identifier, scope: Scope, flag?: 2 | 3 | 1 | undefined, writeExpr?: TSESTree.ArrayExpression | TSESTree.ArrayPattern | TSESTree.ArrowFunctionExpression | TSESTree.AssignmentExpression | TSESTree.AssignmentPattern | TSESTree.AwaitExpression | TSESTree.BigIntLiteral | TSESTree.BinaryExpression | TSESTree.BlockStatement | TSESTree.BreakStatement | TSESTree.CallExpression | TSESTree.CatchClause | TSESTree.ChainExpression | TSESTree.ClassBody | TSESTree.ClassDeclaration | TSESTree.ClassExpression | TSESTree.ClassPropertyComputedName | TSESTree.ClassPropertyNonComputedName | TSESTree.ConditionalExpression | TSESTree.ContinueStatement | TSESTree.DebuggerStatement | TSESTree.Decorator | TSESTree.DoWhileStatement | TSESTree.EmptyStatement | TSESTree.ExportAllDeclaration | TSESTree.ExportDefaultDeclaration | TSESTree.ExportNamedDeclaration | TSESTree.ExportSpecifier | TSESTree.ExpressionStatement | TSESTree.ForInStatement | TSESTree.ForOfStatement | TSESTree.ForStatement | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression | TSESTree.Identifier | TSESTree.IfStatement | TSESTree.ImportDeclaration | TSESTree.ImportDefaultSpecifier | TSESTree.ImportExpression | TSESTree.ImportNamespaceSpecifier | TSESTree.ImportSpecifier | TSESTree.JSXAttribute | TSESTree.JSXClosingElement | TSESTree.JSXClosingFragment | TSESTree.JSXElement | TSESTree.JSXEmptyExpression | TSESTree.JSXExpressionContainer | TSESTree.JSXFragment | TSESTree.JSXIdentifier | TSESTree.JSXMemberExpression | TSESTree.JSXOpeningElement | TSESTree.JSXOpeningFragment | TSESTree.JSXSpreadAttribute | TSESTree.JSXSpreadChild | TSESTree.JSXText | TSESTree.LabeledStatement | TSESTree.BooleanLiteral | TSESTree.NumberLiteral | TSESTree.NullLiteral | TSESTree.RegExpLiteral | TSESTree.StringLiteral | TSESTree.LogicalExpression | TSESTree.MemberExpressionComputedName | TSESTree.MemberExpressionNonComputedName | TSESTree.MetaProperty | TSESTree.MethodDefinitionComputedName | TSESTree.MethodDefinitionNonComputedName | TSESTree.NewExpression | TSESTree.ObjectExpression | TSESTree.ObjectPattern | TSESTree.Program | TSESTree.PropertyComputedName | TSESTree.PropertyNonComputedName | TSESTree.RestElement | TSESTree.ReturnStatement | TSESTree.SequenceExpression | TSESTree.SpreadElement | TSESTree.Super | TSESTree.SwitchCase | TSESTree.SwitchStatement | TSESTree.TaggedTemplateExpression | TSESTree.TemplateElement | TSESTree.TemplateLiteral | TSESTree.ThisExpression | TSESTree.ThrowStatement | TSESTree.TryStatement | TSESTree.TSAbstractClassPropertyComputedName | TSESTree.TSAbstractClassPropertyNonComputedName | TSESTree.TSAbstractKeyword | TSESTree.TSAbstractMethodDefinitionComputedName | TSESTree.TSAbstractMethodDefinitionNonComputedName | TSESTree.TSAnyKeyword | TSESTree.TSArrayType | TSESTree.TSAsExpression | TSESTree.TSAsyncKeyword | TSESTree.TSBigIntKeyword | TSESTree.TSBooleanKeyword | TSESTree.TSCallSignatureDeclaration | TSESTree.TSClassImplements | TSESTree.TSConditionalType | TSESTree.TSConstructorType | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSDeclareFunction | TSESTree.TSDeclareKeyword | TSESTree.TSEmptyBodyFunctionExpression | TSESTree.TSEnumDeclaration | TSESTree.TSEnumMemberComputedName | TSESTree.TSEnumMemberNonComputedName | TSESTree.TSExportAssignment | TSESTree.TSExportKeyword | TSESTree.TSExternalModuleReference | TSESTree.TSFunctionType | TSESTree.TSImportEqualsDeclaration | TSESTree.TSImportType | TSESTree.TSIndexedAccessType | TSESTree.TSIndexSignature | TSESTree.TSInferType | TSESTree.TSInterfaceBody | TSESTree.TSInterfaceDeclaration | TSESTree.TSInterfaceHeritage | TSESTree.TSIntersectionType | TSESTree.TSLiteralType | TSESTree.TSMappedType | TSESTree.TSMethodSignatureComputedName | TSESTree.TSMethodSignatureNonComputedName | TSESTree.TSModuleBlock | TSESTree.TSModuleDeclaration | TSESTree.TSNamedTupleMember | TSESTree.TSNamespaceExportDeclaration | TSESTree.TSNeverKeyword | TSESTree.TSNonNullExpression | TSESTree.TSNullKeyword | TSESTree.TSNumberKeyword | TSESTree.TSObjectKeyword | TSESTree.TSOptionalType | TSESTree.TSParameterProperty | TSESTree.TSParenthesizedType | TSESTree.TSPrivateKeyword | TSESTree.TSPropertySignatureComputedName | TSESTree.TSPropertySignatureNonComputedName | TSESTree.TSProtectedKeyword | TSESTree.TSPublicKeyword | TSESTree.TSQualifiedName | TSESTree.TSReadonlyKeyword | TSESTree.TSRestType | TSESTree.TSStaticKeyword | TSESTree.TSStringKeyword | TSESTree.TSSymbolKeyword | TSESTree.TSThisType | TSESTree.TSTupleType | TSESTree.TSTypeAliasDeclaration | TSESTree.TSTypeAnnotation | TSESTree.TSTypeAssertion | TSESTree.TSTypeLiteral | TSESTree.TSTypeOperator | TSESTree.TSTypeParameter | TSESTree.TSTypeParameterDeclaration | TSESTree.TSTypeParameterInstantiation | TSESTree.TSTypePredicate | TSESTree.TSTypeQuery | TSESTree.TSTypeReference | TSESTree.TSUndefinedKeyword | TSESTree.TSUnionType | TSESTree.TSUnknownKeyword | TSESTree.TSVoidKeyword | TSESTree.UnaryExpression | TSESTree.UpdateExpression | TSESTree.VariableDeclaration | TSESTree.VariableDeclarator | TSESTree.WhileStatement | TSESTree.WithStatement | TSESTree.YieldExpression | null | undefined, maybeImplicitGlobal?: boolean | undefined, partial?: boolean | undefined, init?: boolean | undefined): Reference; + new (identifier: TSESTree.Identifier, scope: Scope, flag?: ReferenceFlag | undefined, writeExpr?: TSESTree.Node | null | undefined, maybeImplicitGlobal?: boolean | undefined, partial?: boolean | undefined, init?: boolean | undefined): Reference; READ: 0x1; WRITE: 0x2; RW: 0x3; diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Linter.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Linter.d.ts index 3fc0d035b..f28292a1d 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Linter.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Linter.d.ts @@ -1,6 +1,6 @@ import { TSESTree, ParserServices } from '../ts-estree'; import { ParserOptions as TSParserOptions } from './ParserOptions'; -import { RuleCreateFunction, RuleFix, RuleModule } from './Rule'; +import { RuleCreateFunction, RuleFix, RuleModule, SharedConfigurationSettings } from './Rule'; import { Scope } from './Scope'; import { SourceCode } from './SourceCode'; declare class LinterBase { @@ -132,9 +132,7 @@ declare namespace Linter { /** * The shared settings. */ - settings?: { - [name: string]: unknown; - }; + settings?: SharedConfigurationSettings; } export interface ConfigOverride extends BaseConfig { excludedFiles?: string | string[]; diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Rule.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Rule.d.ts index 3a47b7080..b7b08fb47 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Rule.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Rule.d.ts @@ -114,7 +114,7 @@ interface ReportDescriptorNodeOptionalLoc { /** * The Node or AST Token which the report is being attached to */ - readonly node: TSESTree.Node | TSESTree.Comment | TSESTree.Token; + readonly node: TSESTree.Node | TSESTree.Token; /** * An override of the location of the report */ @@ -127,6 +127,13 @@ interface ReportDescriptorLocOnly { loc: Readonly | Readonly; } declare type ReportDescriptor = ReportDescriptorWithSuggestion & (ReportDescriptorNodeOptionalLoc | ReportDescriptorLocOnly); +/** + * Plugins can add their settings using declaration + * merging against this interface. + */ +interface SharedConfigurationSettings { + [name: string]: unknown; +} interface RuleContext { /** * The rule ID. @@ -153,7 +160,7 @@ interface RuleContext; + settings: SharedConfigurationSettings; /** * Returns an array of the ancestors of the currently-traversed node, starting at * the root of the AST and continuing through the direct parent of the current node. @@ -165,6 +172,13 @@ interface RuleContext>): TRuleListener; } -declare type RuleCreateFunction = (context: Readonly>) => RuleListener; -export { ReportDescriptor, ReportFixFunction, ReportSuggestionArray, RuleContext, RuleCreateFunction, RuleFix, RuleFixer, RuleFunction, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule, }; +declare type RuleCreateFunction = (context: Readonly>) => TRuleListener; +export { ReportDescriptor, ReportFixFunction, ReportSuggestionArray, RuleContext, RuleCreateFunction, RuleFix, RuleFixer, RuleFunction, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule, SharedConfigurationSettings, }; //# sourceMappingURL=Rule.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts index 2479b2e2e..f431bafe5 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts @@ -1,6 +1,7 @@ import { AST_NODE_TYPES, AST_TOKEN_TYPES } from '../ts-estree'; import { ParserOptions } from './ParserOptions'; -import { RuleModule } from './Rule'; +import { Linter } from './Linter'; +import { RuleCreateFunction, RuleModule, SharedConfigurationSettings } from './Rule'; interface ValidTestCase> { /** * Code for the test case. @@ -17,7 +18,7 @@ interface ValidTestCase> { /** * The additional global variables. */ - readonly globals?: Record; + readonly globals?: Record; /** * Options for the test case. */ @@ -33,7 +34,11 @@ interface ValidTestCase> { /** * Settings for the test case. */ - readonly settings?: Readonly>; + readonly settings?: Readonly; + /** + * Run this case exclusively for debugging in supported test frameworks. + */ + readonly only?: boolean; } interface SuggestionOutput { /** @@ -54,7 +59,7 @@ interface InvalidTestCase[]; + readonly errors: readonly TestCaseError[]; /** * The expected code after autofixes are applied. If set to `null`, the test runner will assert that no autofix is suggested. */ @@ -95,10 +100,10 @@ interface TestCaseError { readonly type?: AST_NODE_TYPES | AST_TOKEN_TYPES; } interface RunTests> { - readonly valid: (ValidTestCase | string)[]; - readonly invalid: InvalidTestCase[]; + readonly valid: readonly (ValidTestCase | string)[]; + readonly invalid: readonly InvalidTestCase[]; } -interface RuleTesterConfig { +interface RuleTesterConfig extends Linter.Config { readonly parser: string; readonly parserOptions?: Readonly; } @@ -129,6 +134,12 @@ declare class RuleTesterBase { * @param callback the test callback */ static it?: (text: string, callback: () => void) => void; + /** + * Define a rule for one particular run of tests. + * @param name The name of the rule to define. + * @param rule The rule definition. + */ + defineRule>(name: string, rule: RuleModule | RuleCreateFunction): void; } declare const RuleTester_base: typeof RuleTesterBase; declare class RuleTester extends RuleTester_base { diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Scope.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Scope.d.ts index 79dfc9dfc..27d01c724 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Scope.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/Scope.d.ts @@ -1,44 +1,44 @@ import * as scopeManager from '@typescript-eslint/scope-manager'; -import { TSESTree } from '@typescript-eslint/types'; declare namespace Scope { - class ESLintScopeVariable { - readonly defs: Definition[]; - readonly identifiers: TSESTree.Identifier[]; - readonly name: string; - readonly references: Reference[]; - readonly scope: Scope; - /** - * Written to by ESLint. - * If this key exists, this variable is a global variable added by ESLint. - * If this is `true`, this variable can be assigned arbitrary values. - * If this is `false`, this variable is readonly. - */ - writeable?: boolean; - /** - * Written to by ESLint. - * This property is undefined if there are no globals directive comments. - * The array of globals directive comments which defined this global variable in the source code file. - */ - eslintExplicitGlobal?: boolean; - /** - * Written to by ESLint. - * The configured value in config files. This can be different from `variable.writeable` if there are globals directive comments. - */ - eslintImplicitGlobalSetting?: 'readonly' | 'writable'; - /** - * Written to by ESLint. - * If this key exists, it is a global variable added by ESLint. - * If `true`, this global variable was defined by a globals directive comment in the source code file. - */ - eslintExplicitGlobalComments?: TSESTree.Comment[]; + type ScopeManager = scopeManager.ScopeManager; + type Reference = scopeManager.Reference; + type Variable = scopeManager.Variable | scopeManager.ESLintScopeVariable; + type Scope = scopeManager.Scope; + const ScopeType: typeof scopeManager.ScopeType; + type DefinitionType = scopeManager.Definition; + type Definition = scopeManager.Definition; + const DefinitionType: typeof scopeManager.DefinitionType; + namespace Definitions { + type CatchClauseDefinition = scopeManager.CatchClauseDefinition; + type ClassNameDefinition = scopeManager.ClassNameDefinition; + type FunctionNameDefinition = scopeManager.FunctionNameDefinition; + type ImplicitGlobalVariableDefinition = scopeManager.ImplicitGlobalVariableDefinition; + type ImportBindingDefinition = scopeManager.ImportBindingDefinition; + type ParameterDefinition = scopeManager.ParameterDefinition; + type TSEnumMemberDefinition = scopeManager.TSEnumMemberDefinition; + type TSEnumNameDefinition = scopeManager.TSEnumNameDefinition; + type TSModuleNameDefinition = scopeManager.TSModuleNameDefinition; + type TypeDefinition = scopeManager.TypeDefinition; + type VariableDefinition = scopeManager.VariableDefinition; + } + namespace Scopes { + type BlockScope = scopeManager.BlockScope; + type CatchScope = scopeManager.CatchScope; + type ClassScope = scopeManager.ClassScope; + type ConditionalTypeScope = scopeManager.ConditionalTypeScope; + type ForScope = scopeManager.ForScope; + type FunctionExpressionNameScope = scopeManager.FunctionExpressionNameScope; + type FunctionScope = scopeManager.FunctionScope; + type FunctionTypeScope = scopeManager.FunctionTypeScope; + type GlobalScope = scopeManager.GlobalScope; + type MappedTypeScope = scopeManager.MappedTypeScope; + type ModuleScope = scopeManager.ModuleScope; + type SwitchScope = scopeManager.SwitchScope; + type TSEnumScope = scopeManager.TSEnumScope; + type TSModuleScope = scopeManager.TSModuleScope; + type TypeScope = scopeManager.TypeScope; + type WithScope = scopeManager.WithScope; } - export type ScopeManager = scopeManager.ScopeManager; - export type Reference = scopeManager.Reference; - export type Variable = scopeManager.Variable | ESLintScopeVariable; - export type Scope = scopeManager.Scope; - export type DefinitionType = scopeManager.Definition; - export type Definition = scopeManager.Definition; - export {}; } export { Scope }; //# sourceMappingURL=Scope.d.ts.map diff --git a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/SourceCode.d.ts b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/SourceCode.d.ts index af0775fb8..238fbeb5a 100644 --- a/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/SourceCode.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/_ts3.4/dist/ts-eslint/SourceCode.d.ts @@ -40,7 +40,7 @@ declare class TokenStore { * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the first `count` tokens of the given node. * @param node The AST node. @@ -55,7 +55,7 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the last token of the given node. * @param node The AST node. @@ -70,7 +70,7 @@ declare class TokenStore { * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getLastTokenBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getLastTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the last `count` tokens of the given node. * @param node The AST node. @@ -85,21 +85,21 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getLastTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getLastTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the token that follows a given node or token. * @param node The AST node or token. * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getTokenAfter(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getTokenAfter(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the token that precedes a given node or token. * @param node The AST node or token. * @param options The option object * @returns An object representing the token. */ - getTokenBefore(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getTokenBefore(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the token starting at the specified index. * @param offset Index of the start of the token's range. @@ -130,14 +130,14 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens. */ - getTokensAfter(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensAfter(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the `count` tokens that precedes a given node or token. * @param node The AST node. * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens. */ - getTokensBefore(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensBefore(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets all of the tokens between two non-overlapping nodes. * @param left Node before the desired token range. @@ -145,7 +145,7 @@ declare class TokenStore { * @param options The option object. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, padding?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, padding?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets all of the tokens between two non-overlapping nodes. * @param left Node before the desired token range. @@ -153,7 +153,7 @@ declare class TokenStore { * @param padding Number of extra tokens on either side of center. * @returns Tokens between left and right. */ - getTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, padding?: number): SourceCode.ReturnTypeFromOptions[]; + getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, padding?: number): SourceCode.ReturnTypeFromOptions[]; } declare class SourceCodeBase extends TokenStore { /** @@ -230,7 +230,7 @@ declare class SourceCodeBase extends TokenStore { * @param second The second node or token to check between. * @returns True if there is a whitespace character between any of the tokens found between the two given nodes or tokens. */ - isSpaceBetween?(first: TSESTree.Token | TSESTree.Comment | TSESTree.Node, second: TSESTree.Token | TSESTree.Comment | TSESTree.Node): boolean; + isSpaceBetween?(first: TSESTree.Token | TSESTree.Node, second: TSESTree.Token | TSESTree.Node): boolean; /** * Determines if two nodes or tokens have at least one whitespace character * between them. Order does not matter. Returns false if the given nodes or @@ -267,8 +267,10 @@ declare class SourceCodeBase extends TokenStore { text: string; /** * All of the tokens and comments in the AST. + * + * TODO: rename to 'tokens' */ - tokensAndComments: (TSESTree.Comment | TSESTree.Token)[]; + tokensAndComments: TSESTree.Token[]; /** * The visitor keys to traverse AST. */ @@ -310,7 +312,7 @@ declare namespace SourceCode { interface VisitorKeys { [nodeType: string]: string[]; } - type FilterPredicate = (tokenOrComment: TSESTree.Token | TSESTree.Comment) => boolean; + type FilterPredicate = (token: TSESTree.Token) => boolean; type ReturnTypeFromOptions = T extends { includeComments: true; } ? TSESTree.Token : Exclude; diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts index 2a5135775..c12c88a43 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts @@ -3,6 +3,7 @@ import * as TSESLint from '../../ts-eslint'; declare const ReferenceTrackerREAD: unique symbol; declare const ReferenceTrackerCALL: unique symbol; declare const ReferenceTrackerCONSTRUCT: unique symbol; +declare const ReferenceTrackerESM: unique symbol; interface ReferenceTracker { /** * Iterate the references that the given `traceMap` determined. @@ -33,26 +34,29 @@ interface ReferenceTrackerStatic { * If this is `"strict"`, the method binds CommonJS modules to the default export. Otherwise, the method binds * CommonJS modules to both the default export and named exports. Optional. Default is `"strict"`. */ - mode: 'strict' | 'legacy'; + mode?: 'strict' | 'legacy'; /** * The name list of Global Object. Optional. Default is `["global", "globalThis", "self", "window"]`. */ - globalObjectNames: readonly string[]; + globalObjectNames?: readonly string[]; }): ReferenceTracker; readonly READ: typeof ReferenceTrackerREAD; readonly CALL: typeof ReferenceTrackerCALL; readonly CONSTRUCT: typeof ReferenceTrackerCONSTRUCT; + readonly ESM: typeof ReferenceTrackerESM; } declare namespace ReferenceTracker { type READ = ReferenceTrackerStatic['READ']; type CALL = ReferenceTrackerStatic['CALL']; type CONSTRUCT = ReferenceTrackerStatic['CONSTRUCT']; + type ESM = ReferenceTrackerStatic['ESM']; type ReferenceType = READ | CALL | CONSTRUCT; type TraceMap = Record>; interface TraceMapElement { [ReferenceTrackerREAD]?: T; [ReferenceTrackerCALL]?: T; [ReferenceTrackerCONSTRUCT]?: T; + [ReferenceTrackerESM]?: true; [key: string]: TraceMapElement; } interface FoundReference { diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map index 84fa9dd5e..116b91655 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ReferenceTracker.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,yBAAyB,EAAE,OAAO,MACA,CAAC;AAEzC,UAAU,gBAAgB;IACxB;;;;;OAKG;IACH,uBAAuB,CAAC,CAAC,EACvB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;CACzD;AACD,UAAU,sBAAsB;IAC9B,KACE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EACjC,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B;;WAEG;QACH,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;KACtC,GACA,gBAAgB,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,yBAAyB,CAAC;CACtD;AAED,kBAAU,gBAAgB,CAAC;IACzB,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,SAAS,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5D,KAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpD,KAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,UAAiB,eAAe,CAAC,CAAC;QAChC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;KACnC;IAED,UAAiB,cAAc,CAAC,CAAC,GAAG,GAAG;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC;KACV;CACF;AAED;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,wBAAyD,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"ReferenceTracker.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,yBAAyB,EAAE,OAAO,MACA,CAAC;AACzC,QAAA,MAAM,mBAAmB,EAAE,OAAO,MAAyC,CAAC;AAE5E,UAAU,gBAAgB;IACxB;;;;;OAKG;IACH,uBAAuB,CAAC,CAAC,EACvB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;CACzD;AACD,UAAU,sBAAsB;IAC9B,KACE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EACjC,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC3B;;WAEG;QACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACvC,GACA,gBAAgB,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,yBAAyB,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,OAAO,mBAAmB,CAAC;CAC1C;AAED,kBAAU,gBAAgB,CAAC;IACzB,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,SAAS,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5D,KAAY,GAAG,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,KAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpD,KAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,UAAiB,eAAe,CAAC,CAAC;QAChC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;KACnC;IAED,UAAiB,cAAc,CAAC,CAAC,GAAG,GAAG;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC;KACV;CACF;AAED;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,wBAAyD,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js index 89f1f7d2e..29e7c7054 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js @@ -1,5 +1,4 @@ "use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); @@ -21,10 +20,12 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReferenceTracker = void 0; +/* eslint-disable @typescript-eslint/no-namespace */ const eslintUtils = __importStar(require("eslint-utils")); const ReferenceTrackerREAD = eslintUtils.ReferenceTracker.READ; const ReferenceTrackerCALL = eslintUtils.ReferenceTracker.CALL; const ReferenceTrackerCONSTRUCT = eslintUtils.ReferenceTracker.CONSTRUCT; +const ReferenceTrackerESM = eslintUtils.ReferenceTracker.ESM; /** * The tracker for references. This provides reference tracking for global variables, CommonJS modules, and ES modules. * diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map index 52d6efde1..4d78d59b3 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map @@ -1 +1 @@ -{"version":3,"file":"ReferenceTracker.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;AAEpD,0DAA4C;AAI5C,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,yBAAyB,GAC7B,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AA6EzC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAA0C,CAAC;AAEvE,4CAAgB"} \ No newline at end of file +{"version":3,"file":"ReferenceTracker.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,0DAA4C;AAI5C,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,yBAAyB,GAC7B,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACzC,MAAM,mBAAmB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC;AAgF5E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAA0C,CAAC;AAEvE,4CAAgB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts index fec065f43..086d1902e 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts @@ -19,7 +19,7 @@ declare const getFunctionNameWithKind: (node: TSESTree.FunctionDeclaration | TSE * @see {@link https://eslint-utils.mysticatea.dev/api/ast-utils.html#getpropertyname} * @returns The property name of the node. If the property name is not constant then it returns `null`. */ -declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Property | TSESTree.MethodDefinition, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => string | null; +declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Property | TSESTree.MethodDefinition, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => string | null; /** * Get the value of a given node if it can decide the value statically. * If the 2nd parameter `initialScope` was given, this function tries to resolve identifier references which are in the @@ -31,7 +31,7 @@ declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.Prope * @returns The `{ value: any }` shaped object. The `value` property is the static value. If it couldn't compute the * static value of the node, it returns `null`. */ -declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => { +declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => { value: unknown; } | null; /** @@ -40,7 +40,7 @@ declare const getStaticValue: (node: TSESTree.Node, initialScope?: import("@type * * @see {@link https://eslint-utils.mysticatea.dev/api/ast-utils.html#getstringifconstant} */ -declare const getStringIfConstant: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/BlockScope").BlockScope | import("@typescript-eslint/scope-manager/dist/scope/CatchScope").CatchScope | import("@typescript-eslint/scope-manager/dist/scope/ClassScope").ClassScope | import("@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope").ConditionalTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ForScope").ForScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope").FunctionExpressionNameScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionScope").FunctionScope | import("@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope").FunctionTypeScope | import("@typescript-eslint/scope-manager/dist/scope/GlobalScope").GlobalScope | import("@typescript-eslint/scope-manager/dist/scope/MappedTypeScope").MappedTypeScope | import("@typescript-eslint/scope-manager/dist/scope/ModuleScope").ModuleScope | import("@typescript-eslint/scope-manager/dist/scope/SwitchScope").SwitchScope | import("@typescript-eslint/scope-manager/dist/scope/TSEnumScope").TSEnumScope | import("@typescript-eslint/scope-manager/dist/scope/TSModuleScope").TSModuleScope | import("@typescript-eslint/scope-manager/dist/scope/TypeScope").TypeScope | import("@typescript-eslint/scope-manager/dist/scope/WithScope").WithScope | undefined) => string | null; +declare const getStringIfConstant: (node: TSESTree.Node, initialScope?: import("@typescript-eslint/scope-manager/dist/scope/Scope").Scope | undefined) => string | null; /** * Check whether a given node has any side effect or not. * The side effect means that it may modify a certain variable or object member. This function considers the node which diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map index 18cbf2dcf..5953b35ed 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"astUtilities.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/astUtilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,SAEvB,SAAS,mBAAmB,GAC5B,SAAS,kBAAkB,GAC3B,SAAS,uBAAuB,cACxB,SAAS,UAAU,KAC5B,SAAS,cAAc,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,SAEvB,SAAS,mBAAmB,GAC5B,SAAS,kBAAkB,GAC3B,SAAS,uBAAuB,KACjC,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,SAEf,SAAS,gBAAgB,GACzB,SAAS,QAAQ,GACjB,SAAS,gBAAgB,y1CAE1B,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,QAAA,MAAM,cAAc,SACZ,SAAS,IAAI,y1CAEhB;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,SACjB,SAAS,IAAI,y1CAEhB,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,aAAa,SACX,SAAS,IAAI,cACP,SAAS,UAAU;;;kBAK5B,OAAO,CAAC;AAEb;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,SACb,SAAS,IAAI,cACP,SAAS,UAAU,KAC5B,OAAO,CAAC;AAEb,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,CAAC"} \ No newline at end of file +{"version":3,"file":"astUtilities.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/astUtilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,SAEvB,SAAS,mBAAmB,GAC5B,SAAS,kBAAkB,GAC3B,SAAS,uBAAuB,cACxB,SAAS,UAAU,KAC5B,SAAS,cAAc,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,SAEvB,SAAS,mBAAmB,GAC5B,SAAS,kBAAkB,GAC3B,SAAS,uBAAuB,KACjC,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,SAEf,SAAS,gBAAgB,GACzB,SAAS,QAAQ,GACjB,SAAS,gBAAgB,mGAE1B,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,QAAA,MAAM,cAAc,SACZ,SAAS,IAAI,mGAEhB;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,SACjB,SAAS,IAAI,mGAEhB,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,aAAa,SACX,SAAS,IAAI,cACP,SAAS,UAAU;;;kBAK5B,OAAO,CAAC;AAEb;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,SACb,SAAS,IAAI,cACP,SAAS,UAAU,KAC5B,OAAO,CAAC;AAEb,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts index 867d24b69..efadc3e2f 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts @@ -1,45 +1,31 @@ import { TSESTree } from '../../ts-estree'; -declare const isArrowToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '=>'; +declare type IsPunctuatorTokenWithValueFunction = (token: TSESTree.Token) => token is TSESTree.PunctuatorToken & { + value: Value; }; -declare const isNotArrowToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingBraceToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '}'; -}; -declare const isNotClosingBraceToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingBracketToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ']'; -}; -declare const isNotClosingBracketToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isClosingParenToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ')'; -}; -declare const isNotClosingParenToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isColonToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ':'; -}; -declare const isNotColonToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isCommaToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ','; -}; -declare const isNotCommaToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isCommentToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.Comment; -declare const isNotCommentToken: (token: T) => token is Exclude; -declare const isOpeningBraceToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '{'; -}; -declare const isNotOpeningBraceToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isOpeningBracketToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '['; -}; -declare const isNotOpeningBracketToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isOpeningParenToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: '('; -}; -declare const isNotOpeningParenToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; -declare const isSemicolonToken: (token: TSESTree.Token | TSESTree.Comment) => token is TSESTree.PunctuatorToken & { - value: ';'; -}; -declare const isNotSemicolonToken: (token: TSESTree.Token | TSESTree.Comment) => boolean; +declare type IsNotPunctuatorTokenWithValueFunction = (token: TSESTree.Token) => token is Exclude; +declare const isArrowToken: IsPunctuatorTokenWithValueFunction<"=>">; +declare const isNotArrowToken: IsNotPunctuatorTokenWithValueFunction<"=>">; +declare const isClosingBraceToken: IsPunctuatorTokenWithValueFunction<"}">; +declare const isNotClosingBraceToken: IsNotPunctuatorTokenWithValueFunction<"}">; +declare const isClosingBracketToken: IsPunctuatorTokenWithValueFunction<"]">; +declare const isNotClosingBracketToken: IsNotPunctuatorTokenWithValueFunction<"]">; +declare const isClosingParenToken: IsPunctuatorTokenWithValueFunction<")">; +declare const isNotClosingParenToken: IsNotPunctuatorTokenWithValueFunction<")">; +declare const isColonToken: IsPunctuatorTokenWithValueFunction<":">; +declare const isNotColonToken: IsNotPunctuatorTokenWithValueFunction<":">; +declare const isCommaToken: IsPunctuatorTokenWithValueFunction<",">; +declare const isNotCommaToken: IsNotPunctuatorTokenWithValueFunction<",">; +declare const isCommentToken: (token: TSESTree.Token) => token is TSESTree.Comment; +declare const isNotCommentToken: (token: TSESTree.Token) => token is TSESTree.BooleanToken | TSESTree.IdentifierToken | TSESTree.JSXIdentifierToken | TSESTree.JSXTextToken | TSESTree.KeywordToken | TSESTree.NullToken | TSESTree.NumericToken | TSESTree.PunctuatorToken | TSESTree.RegularExpressionToken | TSESTree.StringToken | TSESTree.TemplateToken; +declare const isOpeningBraceToken: IsPunctuatorTokenWithValueFunction<"{">; +declare const isNotOpeningBraceToken: IsNotPunctuatorTokenWithValueFunction<"{">; +declare const isOpeningBracketToken: IsPunctuatorTokenWithValueFunction<"[">; +declare const isNotOpeningBracketToken: IsNotPunctuatorTokenWithValueFunction<"[">; +declare const isOpeningParenToken: IsPunctuatorTokenWithValueFunction<"(">; +declare const isNotOpeningParenToken: IsNotPunctuatorTokenWithValueFunction<"(">; +declare const isSemicolonToken: IsPunctuatorTokenWithValueFunction<";">; +declare const isNotSemicolonToken: IsNotPunctuatorTokenWithValueFunction<";">; export { isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isSemicolonToken, }; //# sourceMappingURL=predicates.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts.map index e8079514c..e5556392f 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,QAAA,MAAM,YAAY,UACT,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,IAAI;CAAE,CAAC;AACzD,QAAA,MAAM,eAAe,UACZ,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,mBAAmB,UAChB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,sBAAsB,UACnB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,qBAAqB,UAClB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,wBAAwB,UACrB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,mBAAmB,UAChB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,sBAAsB,UACnB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,YAAY,UACT,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,eAAe,UACZ,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,YAAY,UACT,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,eAAe,UACZ,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,cAAc,UACX,SAAS,KAAK,GAAG,SAAS,OAAO,8BACZ,CAAC;AAC/B,QAAA,MAAM,iBAAiB,+EAImB,CAAC;AAE3C,QAAA,MAAM,mBAAmB,UAChB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,sBAAsB,UACnB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,qBAAqB,UAClB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,wBAAwB,UACrB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,mBAAmB,UAChB,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,sBAAsB,UACnB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,QAAA,MAAM,gBAAgB,UACb,SAAS,KAAK,GAAG,SAAS,OAAO;WACQ,GAAG;CAAE,CAAC;AACxD,QAAA,MAAM,mBAAmB,UAChB,SAAS,KAAK,GAAG,SAAS,OAAO,KACrC,OAAO,CAAC;AAEb,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,CAAC"} \ No newline at end of file +{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,aAAK,kCAAkC,CAAC,KAAK,SAAS,MAAM,IAAI,CAC9D,KAAK,EAAE,QAAQ,CAAC,KAAK,KAClB,KAAK,IAAI,QAAQ,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE1D,aAAK,qCAAqC,CAAC,KAAK,SAAS,MAAM,IAAI,CACjE,KAAK,EAAE,QAAQ,CAAC,KAAK,KAClB,KAAK,IAAI,OAAO,CACnB,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAC5C,CAAC;AAEF,QAAA,MAAM,YAAY,0CACoD,CAAC;AACvE,QAAA,MAAM,eAAe,6CACuD,CAAC;AAE7E,QAAA,MAAM,mBAAmB,yCACmD,CAAC;AAC7E,QAAA,MAAM,sBAAsB,4CACsD,CAAC;AAEnF,QAAA,MAAM,qBAAqB,yCACmD,CAAC;AAC/E,QAAA,MAAM,wBAAwB,4CACsD,CAAC;AAErF,QAAA,MAAM,mBAAmB,yCACmD,CAAC;AAC7E,QAAA,MAAM,sBAAsB,4CACsD,CAAC;AAEnF,QAAA,MAAM,YAAY,yCACmD,CAAC;AACtE,QAAA,MAAM,eAAe,4CACsD,CAAC;AAE5E,QAAA,MAAM,YAAY,yCACmD,CAAC;AACtE,QAAA,MAAM,eAAe,4CACsD,CAAC;AAE5E,QAAA,MAAM,cAAc,UACX,SAAS,KAAK,8BACO,CAAC;AAC/B,QAAA,MAAM,iBAAiB,UACd,SAAS,KAAK,sSACgC,CAAC;AAExD,QAAA,MAAM,mBAAmB,yCACmD,CAAC;AAC7E,QAAA,MAAM,sBAAsB,4CACsD,CAAC;AAEnF,QAAA,MAAM,qBAAqB,yCACmD,CAAC;AAC/E,QAAA,MAAM,wBAAwB,4CACsD,CAAC;AAErF,QAAA,MAAM,mBAAmB,yCACmD,CAAC;AAC7E,QAAA,MAAM,sBAAsB,4CACsD,CAAC;AAEnF,QAAA,MAAM,gBAAgB,yCACmD,CAAC;AAC1E,QAAA,MAAM,mBAAmB,4CACsD,CAAC;AAEhF,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.js.map index b39d5cf4b..1beaa23cd 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/eslint-utils/predicates.js.map @@ -1 +1 @@ -{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAG5C,MAAM,YAAY,GAAG,WAAW,CAAC,YAEuB,CAAC;AA8EvD,oCAAY;AA7Ed,MAAM,eAAe,GAAG,WAAW,CAAC,eAExB,CAAC;AAkFX,0CAAe;AAhFjB,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAEe,CAAC;AAwEtD,kDAAmB;AAvErB,MAAM,sBAAsB,GAAG,WAAW,CAAC,sBAE/B,CAAC;AA4EX,wDAAsB;AA1ExB,MAAM,qBAAqB,GAAG,WAAW,CAAC,qBAEa,CAAC;AAkEtD,sDAAqB;AAjEvB,MAAM,wBAAwB,GAAG,WAAW,CAAC,wBAEjC,CAAC;AAsEX,4DAAwB;AApE1B,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAEe,CAAC;AA4DtD,kDAAmB;AA3DrB,MAAM,sBAAsB,GAAG,WAAW,CAAC,sBAE/B,CAAC;AAgEX,wDAAsB;AA9DxB,MAAM,YAAY,GAAG,WAAW,CAAC,YAEsB,CAAC;AAsDtD,oCAAY;AArDd,MAAM,eAAe,GAAG,WAAW,CAAC,eAExB,CAAC;AA0DX,0CAAe;AAxDjB,MAAM,YAAY,GAAG,WAAW,CAAC,YAEsB,CAAC;AAgDtD,oCAAY;AA/Cd,MAAM,eAAe,GAAG,WAAW,CAAC,eAExB,CAAC;AAoDX,0CAAe;AAlDjB,MAAM,cAAc,GAAG,WAAW,CAAC,cAEL,CAAC;AA0C7B,wCAAc;AAzChB,MAAM,iBAAiB,GAAG,WAAW,CAAC,iBAII,CAAC;AA4CzC,8CAAiB;AA1CnB,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAEe,CAAC;AA6CtD,kDAAmB;AA5CrB,MAAM,sBAAsB,GAAG,WAAW,CAAC,sBAE/B,CAAC;AAsCX,wDAAsB;AApCxB,MAAM,qBAAqB,GAAG,WAAW,CAAC,qBAEa,CAAC;AAuCtD,sDAAqB;AAtCvB,MAAM,wBAAwB,GAAG,WAAW,CAAC,wBAEjC,CAAC;AAgCX,4DAAwB;AA9B1B,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAEe,CAAC;AAiCtD,kDAAmB;AAhCrB,MAAM,sBAAsB,GAAG,WAAW,CAAC,sBAE/B,CAAC;AA0BX,wDAAsB;AAxBxB,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAEkB,CAAC;AA2BtD,4CAAgB;AA1BlB,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAE5B,CAAC;AAoBX,kDAAmB"} \ No newline at end of file +{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAc5C,MAAM,YAAY,GAChB,WAAW,CAAC,YAAwD,CAAC;AAyDrE,oCAAY;AAxDd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA8D,CAAC;AA8D3E,0CAAe;AA5DjB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AAqD3E,kDAAmB;AApDrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AA0DjF,wDAAsB;AAxDxB,MAAM,qBAAqB,GACzB,WAAW,CAAC,qBAAgE,CAAC;AAiD7E,sDAAqB;AAhDvB,MAAM,wBAAwB,GAC5B,WAAW,CAAC,wBAAsE,CAAC;AAsDnF,4DAAwB;AApD1B,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AA6C3E,kDAAmB;AA5CrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAkDjF,wDAAsB;AAhDxB,MAAM,YAAY,GAChB,WAAW,CAAC,YAAuD,CAAC;AAyCpE,oCAAY;AAxCd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA6D,CAAC;AA8C1E,0CAAe;AA5CjB,MAAM,YAAY,GAChB,WAAW,CAAC,YAAuD,CAAC;AAqCpE,oCAAY;AApCd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA6D,CAAC;AA0C1E,0CAAe;AAxCjB,MAAM,cAAc,GAAG,WAAW,CAAC,cAEL,CAAC;AAgC7B,wCAAc;AA/BhB,MAAM,iBAAiB,GAAG,WAAW,CAAC,iBAEiB,CAAC;AAoCtD,8CAAiB;AAlCnB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AAsC3E,kDAAmB;AArCrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAgCjF,wDAAsB;AA9BxB,MAAM,qBAAqB,GACzB,WAAW,CAAC,qBAAgE,CAAC;AAkC7E,sDAAqB;AAjCvB,MAAM,wBAAwB,GAC5B,WAAW,CAAC,wBAAsE,CAAC;AA4BnF,4DAAwB;AA1B1B,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AA8B3E,kDAAmB;AA7BrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAwBjF,wDAAsB;AAtBxB,MAAM,gBAAgB,GACpB,WAAW,CAAC,gBAA2D,CAAC;AA0BxE,4CAAgB;AAzBlB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAAiE,CAAC;AAoB9E,kDAAmB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts index 498e01da9..5fa540b0f 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts @@ -3,6 +3,6 @@ declare const LINEBREAK_MATCHER: RegExp; /** * Determines whether two adjacent tokens are on the same line */ -declare function isTokenOnSameLine(left: TSESTree.Token | TSESTree.Comment, right: TSESTree.Token | TSESTree.Comment): boolean; +declare function isTokenOnSameLine(left: TSESTree.Token, right: TSESTree.Token): boolean; export { isTokenOnSameLine, LINEBREAK_MATCHER }; //# sourceMappingURL=misc.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts.map index 635a9160e..3fbe4c2f9 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,QAAA,MAAM,iBAAiB,QAA4B,CAAC;AAEpD;;GAEG;AACH,iBAAS,iBAAiB,CACxB,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,EACvC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,GACvC,OAAO,CAET;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,QAAA,MAAM,iBAAiB,QAA4B,CAAC;AAEpD;;GAEG;AACH,iBAAS,iBAAiB,CACxB,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,GACpB,OAAO,CAET;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.js.map index b1f3f3930..49c431688 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/misc.js.map @@ -1 +1 @@ -{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAYxB,8CAAiB;AAV7C;;GAEG;AACH,SAAS,iBAAiB,CACxB,IAAuC,EACvC,KAAwC;IAExC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACpD,CAAC;AAEQ,8CAAiB"} \ No newline at end of file +{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAYxB,8CAAiB;AAV7C;;GAEG;AACH,SAAS,iBAAiB,CACxB,IAAoB,EACpB,KAAqB;IAErB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACpD,CAAC;AAEQ,8CAAiB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts index 3fbd696cd..a883da3bf 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts @@ -1,12 +1,16 @@ import { TSESTree } from '../ts-estree'; -declare function isOptionalChainPunctuator(token: TSESTree.Token | TSESTree.Comment): token is TSESTree.PunctuatorToken & { +declare function isOptionalChainPunctuator(token: TSESTree.Token): token is TSESTree.PunctuatorToken & { value: '?.'; }; -declare function isNotOptionalChainPunctuator(token: TSESTree.Token | TSESTree.Comment): boolean; -declare function isNonNullAssertionPunctuator(token: TSESTree.Token | TSESTree.Comment): token is TSESTree.PunctuatorToken & { +declare function isNotOptionalChainPunctuator(token: TSESTree.Token): token is Exclude; +declare function isNonNullAssertionPunctuator(token: TSESTree.Token): token is TSESTree.PunctuatorToken & { value: '!'; }; -declare function isNotNonNullAssertionPunctuator(token: TSESTree.Token | TSESTree.Comment): boolean; +declare function isNotNonNullAssertionPunctuator(token: TSESTree.Token): token is Exclude; /** * Returns true if and only if the node represents: foo?.() or foo.bar?.() */ @@ -50,8 +54,9 @@ declare function isAwaitExpression(node: TSESTree.Node | undefined | null): node /** * Checks if a possible token is the `await` keyword. */ -declare function isAwaitKeyword(node: TSESTree.Token | TSESTree.Comment | undefined | null): node is TSESTree.KeywordToken & { +declare function isAwaitKeyword(node: TSESTree.Token | undefined | null): node is TSESTree.IdentifierToken & { value: 'await'; }; -export { isAwaitExpression, isAwaitKeyword, isConstructor, isClassOrTypeElement, isFunction, isFunctionOrFunctionType, isFunctionType, isIdentifier, isLogicalOrOperator, isNonNullAssertionPunctuator, isNotNonNullAssertionPunctuator, isNotOptionalChainPunctuator, isOptionalChainPunctuator, isOptionalCallExpression, isSetter, isTSConstructorType, isTSFunctionType, isTypeAssertion, isVariableDeclarator, }; +declare function isLoop(node: TSESTree.Node | undefined | null): node is TSESTree.DoWhileStatement | TSESTree.ForStatement | TSESTree.ForInStatement | TSESTree.ForOfStatement | TSESTree.WhileStatement; +export { isAwaitExpression, isAwaitKeyword, isConstructor, isClassOrTypeElement, isFunction, isFunctionOrFunctionType, isFunctionType, isIdentifier, isLoop, isLogicalOrOperator, isNonNullAssertionPunctuator, isNotNonNullAssertionPunctuator, isNotOptionalChainPunctuator, isOptionalChainPunctuator, isOptionalCallExpression, isSetter, isTSConstructorType, isTSFunctionType, isTypeAssertion, isVariableDeclarator, }; //# sourceMappingURL=predicates.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts.map index 237c92e03..d772e8925 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js index 007d6047b..46d3cb9c8 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.isVariableDeclarator = exports.isTypeAssertion = exports.isTSFunctionType = exports.isTSConstructorType = exports.isSetter = exports.isOptionalCallExpression = exports.isOptionalChainPunctuator = exports.isNotOptionalChainPunctuator = exports.isNotNonNullAssertionPunctuator = exports.isNonNullAssertionPunctuator = exports.isLogicalOrOperator = exports.isIdentifier = exports.isFunctionType = exports.isFunctionOrFunctionType = exports.isFunction = exports.isClassOrTypeElement = exports.isConstructor = exports.isAwaitKeyword = exports.isAwaitExpression = void 0; +exports.isVariableDeclarator = exports.isTypeAssertion = exports.isTSFunctionType = exports.isTSConstructorType = exports.isSetter = exports.isOptionalCallExpression = exports.isOptionalChainPunctuator = exports.isNotOptionalChainPunctuator = exports.isNotNonNullAssertionPunctuator = exports.isNonNullAssertionPunctuator = exports.isLogicalOrOperator = exports.isLoop = exports.isIdentifier = exports.isFunctionType = exports.isFunctionOrFunctionType = exports.isFunction = exports.isClassOrTypeElement = exports.isConstructor = exports.isAwaitKeyword = exports.isAwaitExpression = void 0; const ts_estree_1 = require("../ts-estree"); function isOptionalChainPunctuator(token) { return token.type === ts_estree_1.AST_TOKEN_TYPES.Punctuator && token.value === '?.'; @@ -149,4 +149,15 @@ function isAwaitKeyword(node) { return (node === null || node === void 0 ? void 0 : node.type) === ts_estree_1.AST_TOKEN_TYPES.Identifier && node.value === 'await'; } exports.isAwaitKeyword = isAwaitKeyword; +function isLoop(node) { + if (!node) { + return false; + } + return (node.type === ts_estree_1.AST_NODE_TYPES.DoWhileStatement || + node.type === ts_estree_1.AST_NODE_TYPES.ForStatement || + node.type === ts_estree_1.AST_NODE_TYPES.ForInStatement || + node.type === ts_estree_1.AST_NODE_TYPES.ForOfStatement || + node.type === ts_estree_1.AST_NODE_TYPES.WhileStatement); +} +exports.isLoop = isLoop; //# sourceMappingURL=predicates.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js.map index 555abb708..d51a31359 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js.map @@ -1 +1 @@ -{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts index 2074ddc39..9cda79149 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts @@ -1,12 +1,11 @@ -import { RuleModule } from '../ts-eslint'; -declare type InferOptionsTypeFromRuleNever = T extends RuleModule ? TOptions : unknown; +import { RuleCreateFunction, RuleModule } from '../ts-eslint'; /** * Uses type inference to fetch the TOptions type from the given RuleModule */ -declare type InferOptionsTypeFromRule = T extends RuleModule ? TOptions : InferOptionsTypeFromRuleNever; +declare type InferOptionsTypeFromRule = T extends RuleModule ? TOptions : T extends RuleCreateFunction ? TOptions : unknown; /** * Uses type inference to fetch the TMessageIds type from the given RuleModule */ -declare type InferMessageIdsTypeFromRule = T extends RuleModule ? TMessageIds : unknown; +declare type InferMessageIdsTypeFromRule = T extends RuleModule ? TMessageIds : T extends RuleCreateFunction ? TMessageIds : unknown; export { InferOptionsTypeFromRule, InferMessageIdsTypeFromRule }; //# sourceMappingURL=InferTypesFromRule.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts.map index 0d6570b23..0f29a0acd 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/InferTypesFromRule.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"InferTypesFromRule.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/InferTypesFromRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,aAAK,6BAA6B,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAC1D,KAAK,EACL,MAAM,QAAQ,CACf,GACG,QAAQ,GACR,OAAO,CAAC;AACZ;;GAEG;AACH,aAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,GAC3E,QAAQ,GACR,6BAA6B,CAAC,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,aAAK,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CACxD,MAAM,WAAW,EACjB,OAAO,EAAE,CACV,GACG,WAAW,GACX,OAAO,CAAC;AAEZ,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"InferTypesFromRule.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/InferTypesFromRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9D;;GAEG;AACH,aAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CACrD,MAAM,YAAY,EAClB,MAAM,QAAQ,CACf,GACG,QAAQ,GACR,CAAC,SAAS,kBAAkB,CAAC,MAAM,YAAY,EAAE,MAAM,QAAQ,CAAC,GAChE,QAAQ,GACR,OAAO,CAAC;AAEZ;;GAEG;AACH,aAAK,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CACxD,MAAM,WAAW,EACjB,MAAM,SAAS,CAChB,GACG,WAAW,GACX,CAAC,SAAS,kBAAkB,CAAC,MAAM,WAAW,EAAE,MAAM,SAAS,CAAC,GAChE,WAAW,GACX,OAAO,CAAC;AAEZ,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.d.ts.map index 26af05f3e..16a1f7775 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"RuleTester.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/RuleTester.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,QAAA,MAAM,MAAM,8BAA8B,CAAC;AAE3C,aAAK,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAClE,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB,CAAC;AAEF,cAAM,UAAW,SAAQ,QAAQ,CAAC,UAAU;;gBAM9B,OAAO,EAAE,gBAAgB;IAyBrC,OAAO,CAAC,WAAW;IAuBnB,GAAG,CAAC,WAAW,SAAS,MAAM,EAAE,QAAQ,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,EAClE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAChD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,GACtD,IAAI;CA4CR;AAED;;;GAGG;AACH,iBAAS,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1E;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"RuleTester.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/RuleTester.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,QAAA,MAAM,MAAM,8BAA8B,CAAC;AAE3C,aAAK,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAClE,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB,CAAC;AAEF,cAAM,UAAW,SAAQ,QAAQ,CAAC,UAAU;;gBAM9B,OAAO,EAAE,gBAAgB;IA0BrC,OAAO,CAAC,WAAW;IAuBnB,GAAG,CAAC,WAAW,SAAS,MAAM,EAAE,QAAQ,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,EAClE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAChD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,GACtD,IAAI;CA4CR;AAED;;;GAGG;AACH,iBAAS,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1E;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js index 348238a1d..579ea6669 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js @@ -18,20 +18,18 @@ var __importStar = (this && this.__importStar) || function (mod) { __setModuleDefault(result, mod); return result; }; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _options; +var _RuleTester_options; Object.defineProperty(exports, "__esModule", { value: true }); exports.RuleTester = exports.noFormat = void 0; const path = __importStar(require("path")); @@ -44,14 +42,15 @@ class RuleTester extends TSESLint.RuleTester { constructor(options) { var _a, _b; super(Object.assign(Object.assign({}, options), { parserOptions: Object.assign(Object.assign({}, options.parserOptions), { warnOnUnsupportedTypeScriptVersion: (_b = (_a = options.parserOptions) === null || _a === void 0 ? void 0 : _a.warnOnUnsupportedTypeScriptVersion) !== null && _b !== void 0 ? _b : false }), parser: require.resolve(options.parser) })); - _options.set(this, void 0); - __classPrivateFieldSet(this, _options, options); + _RuleTester_options.set(this, void 0); + __classPrivateFieldSet(this, _RuleTester_options, options, "f"); // make sure that the parser doesn't hold onto file handles between tests // on linux (i.e. our CI env), there can be very a limited number of watch handles available afterAll(() => { try { // instead of creating a hard dependency, just use a soft require // a bit weird, but if they're using this tooling, it'll be installed + // eslint-disable-next-line @typescript-eslint/no-unsafe-call require(parser).clearCaches(); } catch (_a) { @@ -70,8 +69,8 @@ class RuleTester extends TSESLint.RuleTester { } return filename; } - else if (__classPrivateFieldGet(this, _options).parserOptions) { - return this.getFilename(__classPrivateFieldGet(this, _options).parserOptions); + else if (__classPrivateFieldGet(this, _RuleTester_options, "f").parserOptions) { + return this.getFilename(__classPrivateFieldGet(this, _RuleTester_options, "f").parserOptions); } return 'file.ts'; } @@ -114,7 +113,7 @@ class RuleTester extends TSESLint.RuleTester { } } exports.RuleTester = RuleTester; -_options = new WeakMap(); +_RuleTester_options = new WeakMap(); /** * Simple no-op tag to mark code samples as "should not format with prettier" * for the internal/plugin-test-formatting lint rule diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js.map index bff9ff199..e8fdf2951 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/RuleTester.js.map @@ -1 +1 @@ -{"version":3,"file":"RuleTester.js","sourceRoot":"","sources":["../../src/eslint-utils/RuleTester.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"RuleTester.js","sourceRoot":"","sources":["../../src/eslint-utils/RuleTester.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts index b92df58f5..6bc5b6d1f 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts @@ -5,6 +5,6 @@ * @param userOptions the user opts * @returns the options with defaults */ -declare function applyDefault(defaultOptions: TDefault, userOptions: TUser | null): TDefault; +declare function applyDefault(defaultOptions: Readonly, userOptions: Readonly | null): TDefault; export { applyDefault }; //# sourceMappingURL=applyDefault.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts.map index 50c710ed4..a938e786a 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"applyDefault.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,QAAQ,SAAS,KAAK,EAC5E,cAAc,EAAE,QAAQ,EACxB,WAAW,EAAE,KAAK,GAAG,IAAI,GACxB,QAAQ,CAuBV;AAMD,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"applyDefault.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,QAAQ,SAAS,KAAK,EAC5E,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAClC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,GAClC,QAAQ,CAuBV;AAMD,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.js.map index 797a3b509..2e87f27a4 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/applyDefault.js.map @@ -1 +1 @@ -{"version":3,"file":"applyDefault.js","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,cAAwB,EACxB,WAAyB;IAEzB,iBAAiB;IACjB,MAAM,OAAO,GAAwB,IAAI,CAAC,KAAK,CAC7C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAC/B,CAAC;IAEF,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;QACrD,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAChC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,4BAAgB,CAAC,OAAO,CAAC,IAAI,4BAAgB,CAAC,GAAG,CAAC,EAAE;gBACtD,OAAO,CAAC,CAAC,CAAC,GAAG,qBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aACtC;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;aACtB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAMQ,oCAAY"} \ No newline at end of file +{"version":3,"file":"applyDefault.js","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,cAAkC,EAClC,WAAmC;IAEnC,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CACR,CAAC;IAEzB,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;QACrD,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAChC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,4BAAgB,CAAC,OAAO,CAAC,IAAI,4BAAgB,CAAC,GAAG,CAAC,EAAE;gBACtD,OAAO,CAAC,CAAC,CAAC,GAAG,qBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aACtC;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;aACtB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAMQ,oCAAY"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/batchedSingleLineTests.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/batchedSingleLineTests.js.map index 31f68d688..b52796857 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/batchedSingleLineTests.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/batchedSingleLineTests.js.map @@ -1 +1 @@ -{"version":3,"file":"batchedSingleLineTests.js","sourceRoot":"","sources":["../../src/eslint-utils/batchedSingleLineTests.ts"],"names":[],"mappings":";;;AA8BA,SAAS,sBAAsB,CAI7B,OAAyE;IAEzE,6BAA6B;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QACnC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,OAAO,CAAC,IAAI;SAChB,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC;QAC/B,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO;YACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,mCACV,OAAO,KACV,IAAI,EACJ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCACnB,CAAC,KACJ,IAAI,EAAE,CAAC,IACP,CAAC,GACJ,CAAC;QACF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,GAAG;YACf,uCACK,SAAS,KACZ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IACjB;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAEQ,wDAAsB"} \ No newline at end of file +{"version":3,"file":"batchedSingleLineTests.js","sourceRoot":"","sources":["../../src/eslint-utils/batchedSingleLineTests.ts"],"names":[],"mappings":";;;AA8BA,SAAS,sBAAsB,CAI7B,OAAyE;IAEzE,6BAA6B;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QACnC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,OAAO,CAAC,IAAI;SAChB,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC;QAC/B,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO;YACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,mCACV,OAAO,KACV,IAAI,EACJ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCACnB,CAAC,KACJ,IAAI,EAAE,CAAC,IACP,CAAC,GACJ,CAAC;QACF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,EAAE;YACf,uCACK,SAAS,KACZ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IACjB;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAEQ,wDAAsB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js.map index 4d4012577..c0ea5f4a2 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js.map @@ -1 +1 @@ -{"version":3,"file":"getParserServices.js","sourceRoot":"","sources":["../../src/eslint-utils/getParserServices.ts"],"names":[],"mappings":";;;AAGA,MAAM,aAAa,GACjB,gLAAgL,CAAC;AAEnL;;GAEG;AACH,SAAS,iBAAiB,CAIxB,OAA8D,EAC9D,+BAA+B,GAAG,KAAK;;IAEvC,gCAAgC;IAChC,sGAAsG;IACtG,IACE,CAAC,OAAO,CAAC,cAAc;QACvB,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;QAC/B,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB;QAC7C,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAC7C;QACA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAChC;IAED,MAAM,sBAAsB,SAC1B,OAAO,CAAC,cAAc,CAAC,sBAAsB;IAC7C,0BAA0B,CAAC,IAAI,CAAC;IAElC,+EAA+E;IAC/E,uDAAuD;IACvD,IAAI,CAAC,sBAAsB,IAAI,CAAC,+BAA+B,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAChC;IAED,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAEQ,8CAAiB"} \ No newline at end of file +{"version":3,"file":"getParserServices.js","sourceRoot":"","sources":["../../src/eslint-utils/getParserServices.ts"],"names":[],"mappings":";;;AAGA,MAAM,aAAa,GACjB,gLAAgL,CAAC;AAEnL;;GAEG;AACH,SAAS,iBAAiB,CAIxB,OAA8D,EAC9D,+BAA+B,GAAG,KAAK;;IAEvC,gCAAgC;IAChC,sGAAsG;IACtG,IACE,CAAC,OAAO,CAAC,cAAc;QACvB,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;QAC/B,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB;QAC7C,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAC7C;QACA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAChC;IAED,MAAM,sBAAsB,GAC1B,MAAA,OAAO,CAAC,cAAc,CAAC,sBAAsB;IAC7C,0BAA0B,CAAC,IAAI,CAAC;IAElC,+EAA+E;IAC/E,uDAAuD;IACvD,IAAI,CAAC,sBAAsB,IAAI,CAAC,+BAA+B,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAChC;IAED,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAEQ,8CAAiB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/json-schema.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/json-schema.d.ts.map index 845788b30..abb3e9236 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/json-schema.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/json-schema.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC"} \ No newline at end of file +{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.d.ts.map index ab9c63877..5d7a45655 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Definition.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Definition.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD,UAAU,qBAAqB;IAC7B,KACE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,EAClD,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,EAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,UAAU,CAAC;CACf;AACD,QAAA,MAAM,UAAU,uBAA4C,CAAC;AAG7D,UAAU,mBAAoB,SAAQ,UAAU;CAAG;AACnD,QAAA,MAAM,mBAAmB,sCAEf,SAAS,IAAI,QACb,SAAS,IAAI,oEAGlB,mBAAmB,CACvB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"Definition.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Definition.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD,UAAU,qBAAqB;IAC7B,KACE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,EAClD,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,EAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,UAAU,CAAC;CACf;AACD,QAAA,MAAM,UAAU,uBAA4C,CAAC;AAG7D,UAAU,mBAAoB,SAAQ,UAAU;CAAG;AACnD,QAAA,MAAM,mBAAmB,sCAGb,SAAS,IAAI,QACb,SAAS,IAAI,oEAGlB,mBAAmB,CACvB,CAAC;AAEJ,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.js.map index fa19c8c14..f239f2a7b 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Definition.js.map @@ -1 +1 @@ -{"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/Definition.ts"],"names":[],"mappings":";;;AAAA,4DAGqC;AAsBrC,MAAM,UAAU,GAAG,uBAAyC,CAAC;AAapD,gCAAU;AATnB,MAAM,mBAAmB,GAAG,gCAO3B,CAAC;AAEmB,kDAAmB"} \ No newline at end of file +{"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/Definition.ts"],"names":[],"mappings":";;;AAAA,4DAGqC;AAsBrC,MAAM,UAAU,GAAG,uBAAyC,CAAC;AAcpD,gCAAU;AAVnB,MAAM,mBAAmB,GACvB,gCAOC,CAAC;AAEiB,kDAAmB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts index 0d479b39b..2512accb4 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts @@ -19,7 +19,7 @@ interface Reference { isReadWrite(): boolean; } declare const Reference: { - new (identifier: TSESTree.Identifier, scope: Scope, flag?: 2 | 3 | 1 | undefined, writeExpr?: TSESTree.ArrayExpression | TSESTree.ArrayPattern | TSESTree.ArrowFunctionExpression | TSESTree.AssignmentExpression | TSESTree.AssignmentPattern | TSESTree.AwaitExpression | TSESTree.BigIntLiteral | TSESTree.BinaryExpression | TSESTree.BlockStatement | TSESTree.BreakStatement | TSESTree.CallExpression | TSESTree.CatchClause | TSESTree.ChainExpression | TSESTree.ClassBody | TSESTree.ClassDeclaration | TSESTree.ClassExpression | TSESTree.ClassPropertyComputedName | TSESTree.ClassPropertyNonComputedName | TSESTree.ConditionalExpression | TSESTree.ContinueStatement | TSESTree.DebuggerStatement | TSESTree.Decorator | TSESTree.DoWhileStatement | TSESTree.EmptyStatement | TSESTree.ExportAllDeclaration | TSESTree.ExportDefaultDeclaration | TSESTree.ExportNamedDeclaration | TSESTree.ExportSpecifier | TSESTree.ExpressionStatement | TSESTree.ForInStatement | TSESTree.ForOfStatement | TSESTree.ForStatement | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression | TSESTree.Identifier | TSESTree.IfStatement | TSESTree.ImportDeclaration | TSESTree.ImportDefaultSpecifier | TSESTree.ImportExpression | TSESTree.ImportNamespaceSpecifier | TSESTree.ImportSpecifier | TSESTree.JSXAttribute | TSESTree.JSXClosingElement | TSESTree.JSXClosingFragment | TSESTree.JSXElement | TSESTree.JSXEmptyExpression | TSESTree.JSXExpressionContainer | TSESTree.JSXFragment | TSESTree.JSXIdentifier | TSESTree.JSXMemberExpression | TSESTree.JSXOpeningElement | TSESTree.JSXOpeningFragment | TSESTree.JSXSpreadAttribute | TSESTree.JSXSpreadChild | TSESTree.JSXText | TSESTree.LabeledStatement | TSESTree.BooleanLiteral | TSESTree.NumberLiteral | TSESTree.NullLiteral | TSESTree.RegExpLiteral | TSESTree.StringLiteral | TSESTree.LogicalExpression | TSESTree.MemberExpressionComputedName | TSESTree.MemberExpressionNonComputedName | TSESTree.MetaProperty | TSESTree.MethodDefinitionComputedName | TSESTree.MethodDefinitionNonComputedName | TSESTree.NewExpression | TSESTree.ObjectExpression | TSESTree.ObjectPattern | TSESTree.Program | TSESTree.PropertyComputedName | TSESTree.PropertyNonComputedName | TSESTree.RestElement | TSESTree.ReturnStatement | TSESTree.SequenceExpression | TSESTree.SpreadElement | TSESTree.Super | TSESTree.SwitchCase | TSESTree.SwitchStatement | TSESTree.TaggedTemplateExpression | TSESTree.TemplateElement | TSESTree.TemplateLiteral | TSESTree.ThisExpression | TSESTree.ThrowStatement | TSESTree.TryStatement | TSESTree.TSAbstractClassPropertyComputedName | TSESTree.TSAbstractClassPropertyNonComputedName | TSESTree.TSAbstractKeyword | TSESTree.TSAbstractMethodDefinitionComputedName | TSESTree.TSAbstractMethodDefinitionNonComputedName | TSESTree.TSAnyKeyword | TSESTree.TSArrayType | TSESTree.TSAsExpression | TSESTree.TSAsyncKeyword | TSESTree.TSBigIntKeyword | TSESTree.TSBooleanKeyword | TSESTree.TSCallSignatureDeclaration | TSESTree.TSClassImplements | TSESTree.TSConditionalType | TSESTree.TSConstructorType | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSDeclareFunction | TSESTree.TSDeclareKeyword | TSESTree.TSEmptyBodyFunctionExpression | TSESTree.TSEnumDeclaration | TSESTree.TSEnumMemberComputedName | TSESTree.TSEnumMemberNonComputedName | TSESTree.TSExportAssignment | TSESTree.TSExportKeyword | TSESTree.TSExternalModuleReference | TSESTree.TSFunctionType | TSESTree.TSImportEqualsDeclaration | TSESTree.TSImportType | TSESTree.TSIndexedAccessType | TSESTree.TSIndexSignature | TSESTree.TSInferType | TSESTree.TSInterfaceBody | TSESTree.TSInterfaceDeclaration | TSESTree.TSInterfaceHeritage | TSESTree.TSIntersectionType | TSESTree.TSLiteralType | TSESTree.TSMappedType | TSESTree.TSMethodSignatureComputedName | TSESTree.TSMethodSignatureNonComputedName | TSESTree.TSModuleBlock | TSESTree.TSModuleDeclaration | TSESTree.TSNamedTupleMember | TSESTree.TSNamespaceExportDeclaration | TSESTree.TSNeverKeyword | TSESTree.TSNonNullExpression | TSESTree.TSNullKeyword | TSESTree.TSNumberKeyword | TSESTree.TSObjectKeyword | TSESTree.TSOptionalType | TSESTree.TSParameterProperty | TSESTree.TSParenthesizedType | TSESTree.TSPrivateKeyword | TSESTree.TSPropertySignatureComputedName | TSESTree.TSPropertySignatureNonComputedName | TSESTree.TSProtectedKeyword | TSESTree.TSPublicKeyword | TSESTree.TSQualifiedName | TSESTree.TSReadonlyKeyword | TSESTree.TSRestType | TSESTree.TSStaticKeyword | TSESTree.TSStringKeyword | TSESTree.TSSymbolKeyword | TSESTree.TSThisType | TSESTree.TSTupleType | TSESTree.TSTypeAliasDeclaration | TSESTree.TSTypeAnnotation | TSESTree.TSTypeAssertion | TSESTree.TSTypeLiteral | TSESTree.TSTypeOperator | TSESTree.TSTypeParameter | TSESTree.TSTypeParameterDeclaration | TSESTree.TSTypeParameterInstantiation | TSESTree.TSTypePredicate | TSESTree.TSTypeQuery | TSESTree.TSTypeReference | TSESTree.TSUndefinedKeyword | TSESTree.TSUnionType | TSESTree.TSUnknownKeyword | TSESTree.TSVoidKeyword | TSESTree.UnaryExpression | TSESTree.UpdateExpression | TSESTree.VariableDeclaration | TSESTree.VariableDeclarator | TSESTree.WhileStatement | TSESTree.WithStatement | TSESTree.YieldExpression | null | undefined, maybeImplicitGlobal?: boolean | undefined, partial?: boolean | undefined, init?: boolean | undefined): Reference; + new (identifier: TSESTree.Identifier, scope: Scope, flag?: ReferenceFlag | undefined, writeExpr?: TSESTree.Node | null | undefined, maybeImplicitGlobal?: boolean | undefined, partial?: boolean | undefined, init?: boolean | undefined): Reference; READ: 0x1; WRITE: 0x2; RW: 0x3; diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts.map index 1384afbb9..c4bc6ff5c 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Reference.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Reference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAY,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE5C,UAAU,SAAS;IACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,IAAI,OAAO,CAAC;IACnB,MAAM,IAAI,OAAO,CAAC;IAClB,WAAW,IAAI,OAAO,CAAC;IACvB,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,OAAO,CAAC;CACxB;AACD,QAAA,MAAM,SAAS;qBAEC,SAAS,UAAU,SACxB,KAAK,2lKAMX,SAAS;UAEN,GAAG;WACF,GAAG;QACN,GAAG;CACR,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Reference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAY,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE5C,UAAU,SAAS;IACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,IAAI,OAAO,CAAC;IACnB,MAAM,IAAI,OAAO,CAAC;IAClB,WAAW,IAAI,OAAO,CAAC;IACvB,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,OAAO,CAAC;CACxB;AACD,QAAA,MAAM,SAAS;qBAEC,SAAS,UAAU,SACxB,KAAK,yLAMX,SAAS;UAEN,GAAG;WACF,GAAG;QACN,GAAG;CACR,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.d.ts.map index 8b6f342ec..ab83f77e6 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Scope.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/Scope.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.js.map index b0d79696e..39831a9fe 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/Scope.js.map @@ -1 +1 @@ -{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/Scope.ts"],"names":[],"mappings":";AAAA,8FAA8F;;;AAE9F,kDAYgC;AA8GhC,MAAM,KAAK,GAAG,aAA+B,CAAC;AA2D5C,sBAAK;AAhDP,MAAM,WAAW,GAAG,mBAEnB,CAAC;AA+CA,kCAAW;AA5Cb,MAAM,WAAW,GAAG,mBAC8B,CAAC;AA4CjD,kCAAW;AAzCb,MAAM,2BAA2B,GAAG,mCAC8B,CAAC;AAyCjE,kEAA2B;AAtC7B,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAsChD,gCAAU;AAnCZ,MAAM,SAAS,GAAG,iBAC8B,CAAC;AAmC/C,8BAAS;AAhCX,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAgChD,gCAAU;AA7BZ,MAAM,WAAW,GAAG,mBAC8B,CAAC;AA6BjD,kCAAW;AA1Bb,MAAM,aAAa,GAAG,qBAOrB,CAAC;AAoBA,sCAAa;AAjBf,MAAM,QAAQ,GAAG,gBAC8B,CAAC;AAiB9C,4BAAQ;AAdV,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAchD,gCAAU"} \ No newline at end of file +{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/Scope.ts"],"names":[],"mappings":";AAAA,8FAA8F;;;AAE9F,kDAYgC;AA8GhC,MAAM,KAAK,GAAG,aAA+B,CAAC;AA4D5C,sBAAK;AAjDP,MAAM,WAAW,GAAG,mBAEnB,CAAC;AAgDA,kCAAW;AA7Cb,MAAM,WAAW,GAAG,mBAC8B,CAAC;AA6CjD,kCAAW;AA1Cb,MAAM,2BAA2B,GAC/B,mCACkE,CAAC;AAyCnE,kEAA2B;AAtC7B,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAsChD,gCAAU;AAnCZ,MAAM,SAAS,GAAG,iBAC8B,CAAC;AAmC/C,8BAAS;AAhCX,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAgChD,gCAAU;AA7BZ,MAAM,WAAW,GAAG,mBAC8B,CAAC;AA6BjD,kCAAW;AA1Bb,MAAM,aAAa,GAAG,qBAOrB,CAAC;AAoBA,sCAAa;AAjBf,MAAM,QAAQ,GAAG,gBAC8B,CAAC;AAiB9C,4BAAQ;AAdV,MAAM,UAAU,GAAG,kBAC8B,CAAC;AAchD,gCAAU"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.d.ts.map index 26afd66cf..c9103cfe0 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,eAAO,MAAM,OAAO,EAAE,MAAsB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-eslint-scope/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,OAAO,EAAE,MAAsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.js.map index 8872a9fbd..0ffacefbc 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint-scope/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAwD;AAExD,4CAA0B;AAC1B,+CAA6B;AAC7B,4CAA0B;AAC1B,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,0CAAwB;AACxB,iDAA+B;AAC/B,6CAA2B;AACd,QAAA,OAAO,GAAW,sBAAa,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-eslint-scope/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAwD;AAExD,4CAA0B;AAC1B,+CAA6B;AAC7B,4CAA0B;AAC1B,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,0CAAwB;AACxB,iDAA+B;AAC/B,6CAA2B;AAEd,QAAA,OAAO,GAAW,sBAAa,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts index 248e8fb2f..62fff3966 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts @@ -1,6 +1,6 @@ import { TSESTree, ParserServices } from '../ts-estree'; import { ParserOptions as TSParserOptions } from './ParserOptions'; -import { RuleCreateFunction, RuleFix, RuleModule } from './Rule'; +import { RuleCreateFunction, RuleFix, RuleModule, SharedConfigurationSettings } from './Rule'; import { Scope } from './Scope'; import { SourceCode } from './SourceCode'; declare class LinterBase { @@ -129,9 +129,7 @@ declare namespace Linter { /** * The shared settings. */ - settings?: { - [name: string]: unknown; - }; + settings?: SharedConfigurationSettings; } export interface ConfigOverride extends BaseConfig { excludedFiles?: string | string[]; diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts.map index 5c2bc13e0..a3cab4752 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Linter.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Linter.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.js.map index 8c8e207d1..34699a441 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Linter.js.map @@ -1 +1 @@ -{"version":3,"file":"Linter.js","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAgD;AA8WhD;;;;GAIG;AACH,MAAM,MAAO,SAAS,eAAkC;CAAG;AAElD,wBAAM"} \ No newline at end of file +{"version":3,"file":"Linter.js","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAgD;AAmXhD;;;;GAIG;AACH,MAAM,MAAO,SAAS,eAAkC;CAAG;AAElD,wBAAM"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts index 66a65991c..ab745ee62 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts @@ -114,7 +114,7 @@ interface ReportDescriptorNodeOptionalLoc { /** * The Node or AST Token which the report is being attached to */ - readonly node: TSESTree.Node | TSESTree.Comment | TSESTree.Token; + readonly node: TSESTree.Node | TSESTree.Token; /** * An override of the location of the report */ @@ -127,6 +127,13 @@ interface ReportDescriptorLocOnly { loc: Readonly | Readonly; } declare type ReportDescriptor = ReportDescriptorWithSuggestion & (ReportDescriptorNodeOptionalLoc | ReportDescriptorLocOnly); +/** + * Plugins can add their settings using declaration + * merging against this interface. + */ +interface SharedConfigurationSettings { + [name: string]: unknown; +} interface RuleContext { /** * The rule ID. @@ -153,7 +160,7 @@ interface RuleContext; + settings: SharedConfigurationSettings; /** * Returns an array of the ancestors of the currently-traversed node, starting at * the root of the AST and continuing through the direct parent of the current node. @@ -165,6 +172,13 @@ interface RuleContext>): TRuleListener; } -declare type RuleCreateFunction = (context: Readonly>) => RuleListener; -export { ReportDescriptor, ReportFixFunction, ReportSuggestionArray, RuleContext, RuleCreateFunction, RuleFix, RuleFixer, RuleFunction, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule, }; +declare type RuleCreateFunction = (context: Readonly>) => TRuleListener; +export { ReportDescriptor, ReportFixFunction, ReportSuggestionArray, RuleContext, RuleCreateFunction, RuleFix, RuleFixer, RuleFunction, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule, SharedConfigurationSettings, }; //# sourceMappingURL=Rule.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts.map index 0e858f841..656ff111e 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Rule.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Rule.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Rule.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts index 22765608c..7e2beeb7f 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts @@ -1,6 +1,7 @@ import { AST_NODE_TYPES, AST_TOKEN_TYPES } from '../ts-estree'; import { ParserOptions } from './ParserOptions'; -import { RuleModule } from './Rule'; +import { Linter } from './Linter'; +import { RuleCreateFunction, RuleModule, SharedConfigurationSettings } from './Rule'; interface ValidTestCase> { /** * Code for the test case. @@ -17,7 +18,7 @@ interface ValidTestCase> { /** * The additional global variables. */ - readonly globals?: Record; + readonly globals?: Record; /** * Options for the test case. */ @@ -33,7 +34,11 @@ interface ValidTestCase> { /** * Settings for the test case. */ - readonly settings?: Readonly>; + readonly settings?: Readonly; + /** + * Run this case exclusively for debugging in supported test frameworks. + */ + readonly only?: boolean; } interface SuggestionOutput { /** @@ -54,7 +59,7 @@ interface InvalidTestCase[]; + readonly errors: readonly TestCaseError[]; /** * The expected code after autofixes are applied. If set to `null`, the test runner will assert that no autofix is suggested. */ @@ -95,10 +100,10 @@ interface TestCaseError { readonly type?: AST_NODE_TYPES | AST_TOKEN_TYPES; } interface RunTests> { - readonly valid: (ValidTestCase | string)[]; - readonly invalid: InvalidTestCase[]; + readonly valid: readonly (ValidTestCase | string)[]; + readonly invalid: readonly InvalidTestCase[]; } -interface RuleTesterConfig { +interface RuleTesterConfig extends Linter.Config { readonly parser: string; readonly parserOptions?: Readonly; } @@ -129,6 +134,12 @@ declare class RuleTesterBase { * @param callback the test callback */ static it?: (text: string, callback: () => void) => void; + /** + * Define a rule for one particular run of tests. + * @param name The name of the rule to define. + * @param rule The rule definition. + */ + defineRule>(name: string, rule: RuleModule | RuleCreateFunction): void; } declare const RuleTester_base: typeof RuleTesterBase; declare class RuleTester extends RuleTester_base { diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts.map index 045a474f6..549244940 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"RuleTester.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"RuleTester.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.js.map index 4fe5fc649..b7a34b62b 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.js.map @@ -1 +1 @@ -{"version":3,"file":"RuleTester.js","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":";;;AAAA,mCAAwD;AAiKxD,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAKrE,gCAAU"} \ No newline at end of file +{"version":3,"file":"RuleTester.js","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":";;;AAAA,mCAAwD;AAsLxD,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAKrE,gCAAU"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts index 004dec4a1..37af41667 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts @@ -1,44 +1,44 @@ import * as scopeManager from '@typescript-eslint/scope-manager'; -import { TSESTree } from '@typescript-eslint/types'; declare namespace Scope { - class ESLintScopeVariable { - readonly defs: Definition[]; - readonly identifiers: TSESTree.Identifier[]; - readonly name: string; - readonly references: Reference[]; - readonly scope: Scope; - /** - * Written to by ESLint. - * If this key exists, this variable is a global variable added by ESLint. - * If this is `true`, this variable can be assigned arbitrary values. - * If this is `false`, this variable is readonly. - */ - writeable?: boolean; - /** - * Written to by ESLint. - * This property is undefined if there are no globals directive comments. - * The array of globals directive comments which defined this global variable in the source code file. - */ - eslintExplicitGlobal?: boolean; - /** - * Written to by ESLint. - * The configured value in config files. This can be different from `variable.writeable` if there are globals directive comments. - */ - eslintImplicitGlobalSetting?: 'readonly' | 'writable'; - /** - * Written to by ESLint. - * If this key exists, it is a global variable added by ESLint. - * If `true`, this global variable was defined by a globals directive comment in the source code file. - */ - eslintExplicitGlobalComments?: TSESTree.Comment[]; + type ScopeManager = scopeManager.ScopeManager; + type Reference = scopeManager.Reference; + type Variable = scopeManager.Variable | scopeManager.ESLintScopeVariable; + type Scope = scopeManager.Scope; + const ScopeType: typeof scopeManager.ScopeType; + type DefinitionType = scopeManager.Definition; + type Definition = scopeManager.Definition; + const DefinitionType: typeof scopeManager.DefinitionType; + namespace Definitions { + type CatchClauseDefinition = scopeManager.CatchClauseDefinition; + type ClassNameDefinition = scopeManager.ClassNameDefinition; + type FunctionNameDefinition = scopeManager.FunctionNameDefinition; + type ImplicitGlobalVariableDefinition = scopeManager.ImplicitGlobalVariableDefinition; + type ImportBindingDefinition = scopeManager.ImportBindingDefinition; + type ParameterDefinition = scopeManager.ParameterDefinition; + type TSEnumMemberDefinition = scopeManager.TSEnumMemberDefinition; + type TSEnumNameDefinition = scopeManager.TSEnumNameDefinition; + type TSModuleNameDefinition = scopeManager.TSModuleNameDefinition; + type TypeDefinition = scopeManager.TypeDefinition; + type VariableDefinition = scopeManager.VariableDefinition; + } + namespace Scopes { + type BlockScope = scopeManager.BlockScope; + type CatchScope = scopeManager.CatchScope; + type ClassScope = scopeManager.ClassScope; + type ConditionalTypeScope = scopeManager.ConditionalTypeScope; + type ForScope = scopeManager.ForScope; + type FunctionExpressionNameScope = scopeManager.FunctionExpressionNameScope; + type FunctionScope = scopeManager.FunctionScope; + type FunctionTypeScope = scopeManager.FunctionTypeScope; + type GlobalScope = scopeManager.GlobalScope; + type MappedTypeScope = scopeManager.MappedTypeScope; + type ModuleScope = scopeManager.ModuleScope; + type SwitchScope = scopeManager.SwitchScope; + type TSEnumScope = scopeManager.TSEnumScope; + type TSModuleScope = scopeManager.TSModuleScope; + type TypeScope = scopeManager.TypeScope; + type WithScope = scopeManager.WithScope; } - export type ScopeManager = scopeManager.ScopeManager; - export type Reference = scopeManager.Reference; - export type Variable = scopeManager.Variable | ESLintScopeVariable; - export type Scope = scopeManager.Scope; - export type DefinitionType = scopeManager.Definition; - export type Definition = scopeManager.Definition; - export {}; } export { Scope }; //# sourceMappingURL=Scope.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts.map index 346462293..868fbb247 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,kBAAU,KAAK,CAAC;IAGd,MAAc,mBAAmB;QAC/B,SAAgB,IAAI,EAAE,UAAU,EAAE,CAAC;QACnC,SAAgB,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QACnD,SAAgB,IAAI,EAAE,MAAM,CAAC;QAC7B,SAAgB,UAAU,EAAE,SAAS,EAAE,CAAC;QACxC,SAAgB,KAAK,EAAE,KAAK,CAAC;QAE7B;;;;;WAKG;QACI,SAAS,CAAC,EAAE,OAAO,CAAC;QAE3B;;;;WAIG;QACI,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAEtC;;;WAGG;QACI,2BAA2B,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;QAE7D;;;;WAIG;QACI,4BAA4B,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC1D;IAED,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/C,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,GAAG,mBAAmB,CAAC;IACnE,MAAM,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAEvC,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC;IACrD,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;;CAClD;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,kCAAkC,CAAC;AAEjE,kBAAU,KAAK,CAAC;IACd,KAAY,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/C,KAAY,QAAQ,GAChB,YAAY,CAAC,QAAQ,GACrB,YAAY,CAAC,mBAAmB,CAAC;IACrC,KAAY,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAChC,MAAM,SAAS,+BAAyB,CAAC;IAEhD,KAAY,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC;IACrD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC1C,MAAM,cAAc,oCAA8B,CAAC;IAE1D,UAAiB,WAAW,CAAC;QAC3B,KAAY,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;QACvE,KAAY,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;QACnE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,gCAAgC,GAC1C,YAAY,CAAC,gCAAgC,CAAC;QAChD,KAAY,uBAAuB,GAAG,YAAY,CAAC,uBAAuB,CAAC;QAC3E,KAAY,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;QACnE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;QACrE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;QACzD,KAAY,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;KAClE;IACD,UAAiB,MAAM,CAAC;QACtB,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;QACrE,KAAY,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QAC7C,KAAY,2BAA2B,GACrC,YAAY,CAAC,2BAA2B,CAAC;QAC3C,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QACvD,KAAY,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAC/D,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;QAC3D,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QACvD,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QAC/C,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;KAChD;CACF;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js index 3d9d67b98..f2d43b6f2 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js @@ -1,9 +1,31 @@ "use strict"; /* eslint-disable @typescript-eslint/no-namespace */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Scope = void 0; +const scopeManager = __importStar(require("@typescript-eslint/scope-manager")); var Scope; (function (Scope) { + Scope.ScopeType = scopeManager.ScopeType; + Scope.DefinitionType = scopeManager.DefinitionType; })(Scope || (Scope = {})); exports.Scope = Scope; //# sourceMappingURL=Scope.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js.map index bf72f5e50..537c76afd 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.js.map @@ -1 +1 @@ -{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAKpD,IAAU,KAAK,CA8Cd;AA9CD,WAAU,KAAK;AA8Cf,CAAC,EA9CS,KAAK,KAAL,KAAK,QA8Cd;AAEQ,sBAAK"} \ No newline at end of file +{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;AAEpD,+EAAiE;AAEjE,IAAU,KAAK,CA8Cd;AA9CD,WAAU,KAAK;IAOA,eAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAInC,oBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;AAmC5D,CAAC,EA9CS,KAAK,KAAL,KAAK,QA8Cd;AAEQ,sBAAK"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts index 5d5b19365..a85f31acf 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts @@ -40,7 +40,7 @@ declare class TokenStore { * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the first `count` tokens of the given node. * @param node The AST node. @@ -55,7 +55,7 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the last token of the given node. * @param node The AST node. @@ -70,7 +70,7 @@ declare class TokenStore { * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getLastTokenBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getLastTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the last `count` tokens of the given node. * @param node The AST node. @@ -85,21 +85,21 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getLastTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getLastTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the token that follows a given node or token. * @param node The AST node or token. * @param option The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. * @returns An object representing the token. */ - getTokenAfter(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getTokenAfter(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the token that precedes a given node or token. * @param node The AST node or token. * @param options The option object * @returns An object representing the token. */ - getTokenBefore(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions | null; + getTokenBefore(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; /** * Gets the token starting at the specified index. * @param offset Index of the start of the token's range. @@ -130,14 +130,14 @@ declare class TokenStore { * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens. */ - getTokensAfter(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensAfter(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets the `count` tokens that precedes a given node or token. * @param node The AST node. * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. * @returns Tokens. */ - getTokensBefore(node: TSESTree.Node | TSESTree.Token | TSESTree.Comment, options?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensBefore(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets all of the tokens between two non-overlapping nodes. * @param left Node before the desired token range. @@ -145,7 +145,7 @@ declare class TokenStore { * @param options The option object. If this is a function then it's `options.filter`. * @returns Tokens between left and right. */ - getTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, padding?: T): SourceCode.ReturnTypeFromOptions[]; + getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, padding?: T): SourceCode.ReturnTypeFromOptions[]; /** * Gets all of the tokens between two non-overlapping nodes. * @param left Node before the desired token range. @@ -153,7 +153,7 @@ declare class TokenStore { * @param padding Number of extra tokens on either side of center. * @returns Tokens between left and right. */ - getTokensBetween(left: TSESTree.Node | TSESTree.Token | TSESTree.Comment, right: TSESTree.Node | TSESTree.Token | TSESTree.Comment, padding?: number): SourceCode.ReturnTypeFromOptions[]; + getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, padding?: number): SourceCode.ReturnTypeFromOptions[]; } declare class SourceCodeBase extends TokenStore { /** @@ -230,7 +230,7 @@ declare class SourceCodeBase extends TokenStore { * @param second The second node or token to check between. * @returns True if there is a whitespace character between any of the tokens found between the two given nodes or tokens. */ - isSpaceBetween?(first: TSESTree.Token | TSESTree.Comment | TSESTree.Node, second: TSESTree.Token | TSESTree.Comment | TSESTree.Node): boolean; + isSpaceBetween?(first: TSESTree.Token | TSESTree.Node, second: TSESTree.Token | TSESTree.Node): boolean; /** * Determines if two nodes or tokens have at least one whitespace character * between them. Order does not matter. Returns false if the given nodes or @@ -267,8 +267,10 @@ declare class SourceCodeBase extends TokenStore { text: string; /** * All of the tokens and comments in the AST. + * + * TODO: rename to 'tokens' */ - tokensAndComments: (TSESTree.Comment | TSESTree.Token)[]; + tokensAndComments: TSESTree.Token[]; /** * The visitor keys to traverse AST. */ @@ -310,7 +312,7 @@ declare namespace SourceCode { interface VisitorKeys { [nodeType: string]: string[]; } - type FilterPredicate = (tokenOrComment: TSESTree.Token | TSESTree.Comment) => boolean; + type FilterPredicate = (token: TSESTree.Token) => boolean; type ReturnTypeFromOptions = T extends { includeComments: true; } ? TSESTree.Token : Exclude; diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts.map index 18f49a7f8..c27597cc2 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"SourceCode.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"SourceCode.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.js.map b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.js.map index 60f58ea36..30f4021fc 100644 --- a/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.js.map +++ b/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/SourceCode.js.map @@ -1 +1 @@ -{"version":3,"file":"SourceCode.js","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAwD;AAubxD,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAE9D,gCAAU"} \ No newline at end of file +{"version":3,"file":"SourceCode.js","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAwD;AAwbxD,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAE9D,gCAAU"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE new file mode 100644 index 000000000..883ee1f61 --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Toru Nagashima + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/README.md b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/README.md new file mode 100644 index 000000000..0b917591b --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/README.md @@ -0,0 +1,38 @@ +# eslint-utils + +[![npm version](https://img.shields.io/npm/v/eslint-utils.svg)](https://www.npmjs.com/package/eslint-utils) +[![Downloads/month](https://img.shields.io/npm/dm/eslint-utils.svg)](http://www.npmtrends.com/eslint-utils) +[![Build Status](https://github.com/mysticatea/eslint-utils/workflows/CI/badge.svg)](https://github.com/mysticatea/eslint-utils/actions) +[![Coverage Status](https://codecov.io/gh/mysticatea/eslint-utils/branch/master/graph/badge.svg)](https://codecov.io/gh/mysticatea/eslint-utils) +[![Dependency Status](https://david-dm.org/mysticatea/eslint-utils.svg)](https://david-dm.org/mysticatea/eslint-utils) + +## 🏁 Goal + +This package provides utility functions and classes for make ESLint custom rules. + +For examples: + +- [getStaticValue](https://eslint-utils.mysticatea.dev/api/ast-utils.html#getstaticvalue) evaluates static value on AST. +- [ReferenceTracker](https://eslint-utils.mysticatea.dev/api/scope-utils.html#referencetracker-class) checks the members of modules/globals as handling assignments and destructuring. + +## 📖 Usage + +See [documentation](https://eslint-utils.mysticatea.dev/). + +## 📰 Changelog + +See [releases](https://github.com/mysticatea/eslint-utils/releases). + +## ❤️ Contributing + +Welcome contributing! + +Please use GitHub's Issues/PRs. + +### Development Tools + +- `npm test` runs tests and measures coverage. +- `npm run clean` removes the coverage result of `npm test` command. +- `npm run coverage` shows the coverage result of the last `npm test` command. +- `npm run lint` runs ESLint. +- `npm run watch` runs tests on each file change. diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js new file mode 100644 index 000000000..034a19b63 --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js @@ -0,0 +1,1956 @@ +/*! @author Toru Nagashima */ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var evk = _interopDefault(require('eslint-visitor-keys')); + +/** + * Get the innermost scope which contains a given location. + * @param {Scope} initialScope The initial scope to search. + * @param {Node} node The location to search. + * @returns {Scope} The innermost scope. + */ +function getInnermostScope(initialScope, node) { + const location = node.range[0]; + + let scope = initialScope; + let found = false; + do { + found = false; + for (const childScope of scope.childScopes) { + const range = childScope.block.range; + + if (range[0] <= location && location < range[1]) { + scope = childScope; + found = true; + break + } + } + } while (found) + + return scope +} + +/** + * Find the variable of a given name. + * @param {Scope} initialScope The scope to start finding. + * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node. + * @returns {Variable|null} The found variable or null. + */ +function findVariable(initialScope, nameOrNode) { + let name = ""; + let scope = initialScope; + + if (typeof nameOrNode === "string") { + name = nameOrNode; + } else { + name = nameOrNode.name; + scope = getInnermostScope(scope, nameOrNode); + } + + while (scope != null) { + const variable = scope.set.get(name); + if (variable != null) { + return variable + } + scope = scope.upper; + } + + return null +} + +/** + * Negate the result of `this` calling. + * @param {Token} token The token to check. + * @returns {boolean} `true` if the result of `this(token)` is `false`. + */ +function negate0(token) { + return !this(token) //eslint-disable-line no-invalid-this +} + +/** + * Creates the negate function of the given function. + * @param {function(Token):boolean} f - The function to negate. + * @returns {function(Token):boolean} Negated function. + */ +function negate(f) { + return negate0.bind(f) +} + +/** + * Checks if the given token is a PunctuatorToken with the given value + * @param {Token} token - The token to check. + * @param {string} value - The value to check. + * @returns {boolean} `true` if the token is a PunctuatorToken with the given value. + */ +function isPunctuatorTokenWithValue(token, value) { + return token.type === "Punctuator" && token.value === value +} + +/** + * Checks if the given token is an arrow token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an arrow token. + */ +function isArrowToken(token) { + return isPunctuatorTokenWithValue(token, "=>") +} + +/** + * Checks if the given token is a comma token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a comma token. + */ +function isCommaToken(token) { + return isPunctuatorTokenWithValue(token, ",") +} + +/** + * Checks if the given token is a semicolon token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a semicolon token. + */ +function isSemicolonToken(token) { + return isPunctuatorTokenWithValue(token, ";") +} + +/** + * Checks if the given token is a colon token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a colon token. + */ +function isColonToken(token) { + return isPunctuatorTokenWithValue(token, ":") +} + +/** + * Checks if the given token is an opening parenthesis token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening parenthesis token. + */ +function isOpeningParenToken(token) { + return isPunctuatorTokenWithValue(token, "(") +} + +/** + * Checks if the given token is a closing parenthesis token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing parenthesis token. + */ +function isClosingParenToken(token) { + return isPunctuatorTokenWithValue(token, ")") +} + +/** + * Checks if the given token is an opening square bracket token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening square bracket token. + */ +function isOpeningBracketToken(token) { + return isPunctuatorTokenWithValue(token, "[") +} + +/** + * Checks if the given token is a closing square bracket token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing square bracket token. + */ +function isClosingBracketToken(token) { + return isPunctuatorTokenWithValue(token, "]") +} + +/** + * Checks if the given token is an opening brace token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening brace token. + */ +function isOpeningBraceToken(token) { + return isPunctuatorTokenWithValue(token, "{") +} + +/** + * Checks if the given token is a closing brace token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing brace token. + */ +function isClosingBraceToken(token) { + return isPunctuatorTokenWithValue(token, "}") +} + +/** + * Checks if the given token is a comment token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a comment token. + */ +function isCommentToken(token) { + return ["Block", "Line", "Shebang"].includes(token.type) +} + +const isNotArrowToken = negate(isArrowToken); +const isNotCommaToken = negate(isCommaToken); +const isNotSemicolonToken = negate(isSemicolonToken); +const isNotColonToken = negate(isColonToken); +const isNotOpeningParenToken = negate(isOpeningParenToken); +const isNotClosingParenToken = negate(isClosingParenToken); +const isNotOpeningBracketToken = negate(isOpeningBracketToken); +const isNotClosingBracketToken = negate(isClosingBracketToken); +const isNotOpeningBraceToken = negate(isOpeningBraceToken); +const isNotClosingBraceToken = negate(isClosingBraceToken); +const isNotCommentToken = negate(isCommentToken); + +/** + * Get the `(` token of the given function node. + * @param {Node} node - The function node to get. + * @param {SourceCode} sourceCode - The source code object to get tokens. + * @returns {Token} `(` token. + */ +function getOpeningParenOfParams(node, sourceCode) { + return node.id + ? sourceCode.getTokenAfter(node.id, isOpeningParenToken) + : sourceCode.getFirstToken(node, isOpeningParenToken) +} + +/** + * Get the location of the given function node for reporting. + * @param {Node} node - The function node to get. + * @param {SourceCode} sourceCode - The source code object to get tokens. + * @returns {string} The location of the function node for reporting. + */ +function getFunctionHeadLocation(node, sourceCode) { + const parent = node.parent; + let start = null; + let end = null; + + if (node.type === "ArrowFunctionExpression") { + const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken); + + start = arrowToken.loc.start; + end = arrowToken.loc.end; + } else if ( + parent.type === "Property" || + parent.type === "MethodDefinition" || + parent.type === "PropertyDefinition" + ) { + start = parent.loc.start; + end = getOpeningParenOfParams(node, sourceCode).loc.start; + } else { + start = node.loc.start; + end = getOpeningParenOfParams(node, sourceCode).loc.start; + } + + return { + start: { ...start }, + end: { ...end }, + } +} + +/* globals globalThis, global, self, window */ + +const globalObject = + typeof globalThis !== "undefined" + ? globalThis + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : typeof global !== "undefined" + ? global + : {}; + +const builtinNames = Object.freeze( + new Set([ + "Array", + "ArrayBuffer", + "BigInt", + "BigInt64Array", + "BigUint64Array", + "Boolean", + "DataView", + "Date", + "decodeURI", + "decodeURIComponent", + "encodeURI", + "encodeURIComponent", + "escape", + "Float32Array", + "Float64Array", + "Function", + "Infinity", + "Int16Array", + "Int32Array", + "Int8Array", + "isFinite", + "isNaN", + "isPrototypeOf", + "JSON", + "Map", + "Math", + "NaN", + "Number", + "Object", + "parseFloat", + "parseInt", + "Promise", + "Proxy", + "Reflect", + "RegExp", + "Set", + "String", + "Symbol", + "Uint16Array", + "Uint32Array", + "Uint8Array", + "Uint8ClampedArray", + "undefined", + "unescape", + "WeakMap", + "WeakSet", + ]), +); +const callAllowed = new Set( + [ + Array.isArray, + typeof BigInt === "function" ? BigInt : undefined, + Boolean, + Date, + Date.parse, + decodeURI, + decodeURIComponent, + encodeURI, + encodeURIComponent, + escape, + isFinite, + isNaN, + isPrototypeOf, + ...Object.getOwnPropertyNames(Math) + .map((k) => Math[k]) + .filter((f) => typeof f === "function"), + Number, + Number.isFinite, + Number.isNaN, + Number.parseFloat, + Number.parseInt, + Object, + Object.entries, + Object.is, + Object.isExtensible, + Object.isFrozen, + Object.isSealed, + Object.keys, + Object.values, + parseFloat, + parseInt, + RegExp, + String, + String.fromCharCode, + String.fromCodePoint, + String.raw, + Symbol.for, + Symbol.keyFor, + unescape, + ].filter((f) => typeof f === "function"), +); +const callPassThrough = new Set([ + Object.freeze, + Object.preventExtensions, + Object.seal, +]); + +/** + * Get the property descriptor. + * @param {object} object The object to get. + * @param {string|number|symbol} name The property name to get. + */ +function getPropertyDescriptor(object, name) { + let x = object; + while ((typeof x === "object" || typeof x === "function") && x !== null) { + const d = Object.getOwnPropertyDescriptor(x, name); + if (d) { + return d + } + x = Object.getPrototypeOf(x); + } + return null +} + +/** + * Check if a property is getter or not. + * @param {object} object The object to check. + * @param {string|number|symbol} name The property name to check. + */ +function isGetter(object, name) { + const d = getPropertyDescriptor(object, name); + return d != null && d.get != null +} + +/** + * Get the element values of a given node list. + * @param {Node[]} nodeList The node list to get values. + * @param {Scope|undefined} initialScope The initial scope to find variables. + * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null. + */ +function getElementValues(nodeList, initialScope) { + const valueList = []; + + for (let i = 0; i < nodeList.length; ++i) { + const elementNode = nodeList[i]; + + if (elementNode == null) { + valueList.length = i + 1; + } else if (elementNode.type === "SpreadElement") { + const argument = getStaticValueR(elementNode.argument, initialScope); + if (argument == null) { + return null + } + valueList.push(...argument.value); + } else { + const element = getStaticValueR(elementNode, initialScope); + if (element == null) { + return null + } + valueList.push(element.value); + } + } + + return valueList +} + +const operations = Object.freeze({ + ArrayExpression(node, initialScope) { + const elements = getElementValues(node.elements, initialScope); + return elements != null ? { value: elements } : null + }, + + AssignmentExpression(node, initialScope) { + if (node.operator === "=") { + return getStaticValueR(node.right, initialScope) + } + return null + }, + + //eslint-disable-next-line complexity + BinaryExpression(node, initialScope) { + if (node.operator === "in" || node.operator === "instanceof") { + // Not supported. + return null + } + + const left = getStaticValueR(node.left, initialScope); + const right = getStaticValueR(node.right, initialScope); + if (left != null && right != null) { + switch (node.operator) { + case "==": + return { value: left.value == right.value } //eslint-disable-line eqeqeq + case "!=": + return { value: left.value != right.value } //eslint-disable-line eqeqeq + case "===": + return { value: left.value === right.value } + case "!==": + return { value: left.value !== right.value } + case "<": + return { value: left.value < right.value } + case "<=": + return { value: left.value <= right.value } + case ">": + return { value: left.value > right.value } + case ">=": + return { value: left.value >= right.value } + case "<<": + return { value: left.value << right.value } + case ">>": + return { value: left.value >> right.value } + case ">>>": + return { value: left.value >>> right.value } + case "+": + return { value: left.value + right.value } + case "-": + return { value: left.value - right.value } + case "*": + return { value: left.value * right.value } + case "/": + return { value: left.value / right.value } + case "%": + return { value: left.value % right.value } + case "**": + return { value: Math.pow(left.value, right.value) } + case "|": + return { value: left.value | right.value } + case "^": + return { value: left.value ^ right.value } + case "&": + return { value: left.value & right.value } + + // no default + } + } + + return null + }, + + CallExpression(node, initialScope) { + const calleeNode = node.callee; + const args = getElementValues(node.arguments, initialScope); + + if (args != null) { + if (calleeNode.type === "MemberExpression") { + if (calleeNode.property.type === "PrivateIdentifier") { + return null + } + const object = getStaticValueR(calleeNode.object, initialScope); + if (object != null) { + if ( + object.value == null && + (object.optional || node.optional) + ) { + return { value: undefined, optional: true } + } + const property = getStaticPropertyNameValue( + calleeNode, + initialScope, + ); + + if (property != null) { + const receiver = object.value; + const methodName = property.value; + if (callAllowed.has(receiver[methodName])) { + return { value: receiver[methodName](...args) } + } + if (callPassThrough.has(receiver[methodName])) { + return { value: args[0] } + } + } + } + } else { + const callee = getStaticValueR(calleeNode, initialScope); + if (callee != null) { + if (callee.value == null && node.optional) { + return { value: undefined, optional: true } + } + const func = callee.value; + if (callAllowed.has(func)) { + return { value: func(...args) } + } + if (callPassThrough.has(func)) { + return { value: args[0] } + } + } + } + } + + return null + }, + + ConditionalExpression(node, initialScope) { + const test = getStaticValueR(node.test, initialScope); + if (test != null) { + return test.value + ? getStaticValueR(node.consequent, initialScope) + : getStaticValueR(node.alternate, initialScope) + } + return null + }, + + ExpressionStatement(node, initialScope) { + return getStaticValueR(node.expression, initialScope) + }, + + Identifier(node, initialScope) { + if (initialScope != null) { + const variable = findVariable(initialScope, node); + + // Built-in globals. + if ( + variable != null && + variable.defs.length === 0 && + builtinNames.has(variable.name) && + variable.name in globalObject + ) { + return { value: globalObject[variable.name] } + } + + // Constants. + if (variable != null && variable.defs.length === 1) { + const def = variable.defs[0]; + if ( + def.parent && + def.parent.kind === "const" && + // TODO(mysticatea): don't support destructuring here. + def.node.id.type === "Identifier" + ) { + return getStaticValueR(def.node.init, initialScope) + } + } + } + return null + }, + + Literal(node) { + //istanbul ignore if : this is implementation-specific behavior. + if ((node.regex != null || node.bigint != null) && node.value == null) { + // It was a RegExp/BigInt literal, but Node.js didn't support it. + return null + } + return { value: node.value } + }, + + LogicalExpression(node, initialScope) { + const left = getStaticValueR(node.left, initialScope); + if (left != null) { + if ( + (node.operator === "||" && Boolean(left.value) === true) || + (node.operator === "&&" && Boolean(left.value) === false) || + (node.operator === "??" && left.value != null) + ) { + return left + } + + const right = getStaticValueR(node.right, initialScope); + if (right != null) { + return right + } + } + + return null + }, + + MemberExpression(node, initialScope) { + if (node.property.type === "PrivateIdentifier") { + return null + } + const object = getStaticValueR(node.object, initialScope); + if (object != null) { + if (object.value == null && (object.optional || node.optional)) { + return { value: undefined, optional: true } + } + const property = getStaticPropertyNameValue(node, initialScope); + + if (property != null && !isGetter(object.value, property.value)) { + return { value: object.value[property.value] } + } + } + return null + }, + + ChainExpression(node, initialScope) { + const expression = getStaticValueR(node.expression, initialScope); + if (expression != null) { + return { value: expression.value } + } + return null + }, + + NewExpression(node, initialScope) { + const callee = getStaticValueR(node.callee, initialScope); + const args = getElementValues(node.arguments, initialScope); + + if (callee != null && args != null) { + const Func = callee.value; + if (callAllowed.has(Func)) { + return { value: new Func(...args) } + } + } + + return null + }, + + ObjectExpression(node, initialScope) { + const object = {}; + + for (const propertyNode of node.properties) { + if (propertyNode.type === "Property") { + if (propertyNode.kind !== "init") { + return null + } + const key = getStaticPropertyNameValue( + propertyNode, + initialScope, + ); + const value = getStaticValueR(propertyNode.value, initialScope); + if (key == null || value == null) { + return null + } + object[key.value] = value.value; + } else if ( + propertyNode.type === "SpreadElement" || + propertyNode.type === "ExperimentalSpreadProperty" + ) { + const argument = getStaticValueR( + propertyNode.argument, + initialScope, + ); + if (argument == null) { + return null + } + Object.assign(object, argument.value); + } else { + return null + } + } + + return { value: object } + }, + + SequenceExpression(node, initialScope) { + const last = node.expressions[node.expressions.length - 1]; + return getStaticValueR(last, initialScope) + }, + + TaggedTemplateExpression(node, initialScope) { + const tag = getStaticValueR(node.tag, initialScope); + const expressions = getElementValues( + node.quasi.expressions, + initialScope, + ); + + if (tag != null && expressions != null) { + const func = tag.value; + const strings = node.quasi.quasis.map((q) => q.value.cooked); + strings.raw = node.quasi.quasis.map((q) => q.value.raw); + + if (func === String.raw) { + return { value: func(strings, ...expressions) } + } + } + + return null + }, + + TemplateLiteral(node, initialScope) { + const expressions = getElementValues(node.expressions, initialScope); + if (expressions != null) { + let value = node.quasis[0].value.cooked; + for (let i = 0; i < expressions.length; ++i) { + value += expressions[i]; + value += node.quasis[i + 1].value.cooked; + } + return { value } + } + return null + }, + + UnaryExpression(node, initialScope) { + if (node.operator === "delete") { + // Not supported. + return null + } + if (node.operator === "void") { + return { value: undefined } + } + + const arg = getStaticValueR(node.argument, initialScope); + if (arg != null) { + switch (node.operator) { + case "-": + return { value: -arg.value } + case "+": + return { value: +arg.value } //eslint-disable-line no-implicit-coercion + case "!": + return { value: !arg.value } + case "~": + return { value: ~arg.value } + case "typeof": + return { value: typeof arg.value } + + // no default + } + } + + return null + }, +}); + +/** + * Get the value of a given node if it's a static value. + * @param {Node} node The node to get. + * @param {Scope|undefined} initialScope The scope to start finding variable. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. + */ +function getStaticValueR(node, initialScope) { + if (node != null && Object.hasOwnProperty.call(operations, node.type)) { + return operations[node.type](node, initialScope) + } + return null +} + +/** + * Get the static value of property name from a MemberExpression node or a Property node. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`. + */ +function getStaticPropertyNameValue(node, initialScope) { + const nameNode = node.type === "Property" ? node.key : node.property; + + if (node.computed) { + return getStaticValueR(nameNode, initialScope) + } + + if (nameNode.type === "Identifier") { + return { value: nameNode.name } + } + + if (nameNode.type === "Literal") { + if (nameNode.bigint) { + return { value: nameNode.bigint } + } + return { value: String(nameNode.value) } + } + + return null +} + +/** + * Get the value of a given node if it's a static value. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. + */ +function getStaticValue(node, initialScope = null) { + try { + return getStaticValueR(node, initialScope) + } catch (_error) { + return null + } +} + +/** + * Get the value of a given node if it's a literal or a template literal. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant. + * @returns {string|null} The value of the node, or `null`. + */ +function getStringIfConstant(node, initialScope = null) { + // Handle the literals that the platform doesn't support natively. + if (node && node.type === "Literal" && node.value === null) { + if (node.regex) { + return `/${node.regex.pattern}/${node.regex.flags}` + } + if (node.bigint) { + return node.bigint + } + } + + const evaluated = getStaticValue(node, initialScope); + return evaluated && String(evaluated.value) +} + +/** + * Get the property name from a MemberExpression node or a Property node. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. + * @returns {string|null} The property name of the node. + */ +function getPropertyName(node, initialScope) { + switch (node.type) { + case "MemberExpression": + if (node.computed) { + return getStringIfConstant(node.property, initialScope) + } + if (node.property.type === "PrivateIdentifier") { + return null + } + return node.property.name + + case "Property": + case "MethodDefinition": + case "PropertyDefinition": + if (node.computed) { + return getStringIfConstant(node.key, initialScope) + } + if (node.key.type === "Literal") { + return String(node.key.value) + } + if (node.key.type === "PrivateIdentifier") { + return null + } + return node.key.name + + // no default + } + + return null +} + +/** + * Get the name and kind of the given function node. + * @param {ASTNode} node - The function node to get. + * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys. + * @returns {string} The name and kind of the function node. + */ +// eslint-disable-next-line complexity +function getFunctionNameWithKind(node, sourceCode) { + const parent = node.parent; + const tokens = []; + const isObjectMethod = parent.type === "Property" && parent.value === node; + const isClassMethod = + parent.type === "MethodDefinition" && parent.value === node; + const isClassFieldMethod = + parent.type === "PropertyDefinition" && parent.value === node; + + // Modifiers. + if (isClassMethod || isClassFieldMethod) { + if (parent.static) { + tokens.push("static"); + } + if (parent.key.type === "PrivateIdentifier") { + tokens.push("private"); + } + } + if (node.async) { + tokens.push("async"); + } + if (node.generator) { + tokens.push("generator"); + } + + // Kinds. + if (isObjectMethod || isClassMethod) { + if (parent.kind === "constructor") { + return "constructor" + } + if (parent.kind === "get") { + tokens.push("getter"); + } else if (parent.kind === "set") { + tokens.push("setter"); + } else { + tokens.push("method"); + } + } else if (isClassFieldMethod) { + tokens.push("method"); + } else { + if (node.type === "ArrowFunctionExpression") { + tokens.push("arrow"); + } + tokens.push("function"); + } + + // Names. + if (isObjectMethod || isClassMethod || isClassFieldMethod) { + if (parent.key.type === "PrivateIdentifier") { + tokens.push(`#${parent.key.name}`); + } else { + const name = getPropertyName(parent); + if (name) { + tokens.push(`'${name}'`); + } else if (sourceCode) { + const keyText = sourceCode.getText(parent.key); + if (!keyText.includes("\n")) { + tokens.push(`[${keyText}]`); + } + } + } + } else if (node.id) { + tokens.push(`'${node.id.name}'`); + } else if ( + parent.type === "VariableDeclarator" && + parent.id && + parent.id.type === "Identifier" + ) { + tokens.push(`'${parent.id.name}'`); + } else if ( + (parent.type === "AssignmentExpression" || + parent.type === "AssignmentPattern") && + parent.left && + parent.left.type === "Identifier" + ) { + tokens.push(`'${parent.left.name}'`); + } + + return tokens.join(" ") +} + +const typeConversionBinaryOps = Object.freeze( + new Set([ + "==", + "!=", + "<", + "<=", + ">", + ">=", + "<<", + ">>", + ">>>", + "+", + "-", + "*", + "/", + "%", + "|", + "^", + "&", + "in", + ]), +); +const typeConversionUnaryOps = Object.freeze(new Set(["-", "+", "!", "~"])); + +/** + * Check whether the given value is an ASTNode or not. + * @param {any} x The value to check. + * @returns {boolean} `true` if the value is an ASTNode. + */ +function isNode(x) { + return x !== null && typeof x === "object" && typeof x.type === "string" +} + +const visitor = Object.freeze( + Object.assign(Object.create(null), { + $visit(node, options, visitorKeys) { + const { type } = node; + + if (typeof this[type] === "function") { + return this[type](node, options, visitorKeys) + } + + return this.$visitChildren(node, options, visitorKeys) + }, + + $visitChildren(node, options, visitorKeys) { + const { type } = node; + + for (const key of visitorKeys[type] || evk.getKeys(node)) { + const value = node[key]; + + if (Array.isArray(value)) { + for (const element of value) { + if ( + isNode(element) && + this.$visit(element, options, visitorKeys) + ) { + return true + } + } + } else if ( + isNode(value) && + this.$visit(value, options, visitorKeys) + ) { + return true + } + } + + return false + }, + + ArrowFunctionExpression() { + return false + }, + AssignmentExpression() { + return true + }, + AwaitExpression() { + return true + }, + BinaryExpression(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + typeConversionBinaryOps.has(node.operator) && + (node.left.type !== "Literal" || node.right.type !== "Literal") + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + CallExpression() { + return true + }, + FunctionExpression() { + return false + }, + ImportExpression() { + return true + }, + MemberExpression(node, options, visitorKeys) { + if (options.considerGetters) { + return true + } + if ( + options.considerImplicitTypeConversion && + node.computed && + node.property.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + MethodDefinition(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + NewExpression() { + return true + }, + Property(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + PropertyDefinition(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + UnaryExpression(node, options, visitorKeys) { + if (node.operator === "delete") { + return true + } + if ( + options.considerImplicitTypeConversion && + typeConversionUnaryOps.has(node.operator) && + node.argument.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + UpdateExpression() { + return true + }, + YieldExpression() { + return true + }, + }), +); + +/** + * Check whether a given node has any side effect or not. + * @param {Node} node The node to get. + * @param {SourceCode} sourceCode The source code object. + * @param {object} [options] The option object. + * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects. + * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects. + * @param {object} [options.visitorKeys=evk.KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`. + * @returns {boolean} `true` if the node has a certain side effect. + */ +function hasSideEffect( + node, + sourceCode, + { considerGetters = false, considerImplicitTypeConversion = false } = {}, +) { + return visitor.$visit( + node, + { considerGetters, considerImplicitTypeConversion }, + sourceCode.visitorKeys || evk.KEYS, + ) +} + +/** + * Get the left parenthesis of the parent node syntax if it exists. + * E.g., `if (a) {}` then the `(`. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {Token|null} The left parenthesis of the parent node syntax + */ +function getParentSyntaxParen(node, sourceCode) { + const parent = node.parent; + + switch (parent.type) { + case "CallExpression": + case "NewExpression": + if (parent.arguments.length === 1 && parent.arguments[0] === node) { + return sourceCode.getTokenAfter( + parent.callee, + isOpeningParenToken, + ) + } + return null + + case "DoWhileStatement": + if (parent.test === node) { + return sourceCode.getTokenAfter( + parent.body, + isOpeningParenToken, + ) + } + return null + + case "IfStatement": + case "WhileStatement": + if (parent.test === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "ImportExpression": + if (parent.source === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "SwitchStatement": + if (parent.discriminant === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "WithStatement": + if (parent.object === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + default: + return null + } +} + +/** + * Check whether a given node is parenthesized or not. + * @param {number} times The number of parantheses. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {boolean} `true` if the node is parenthesized the given times. + */ +/** + * Check whether a given node is parenthesized or not. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {boolean} `true` if the node is parenthesized. + */ +function isParenthesized( + timesOrNode, + nodeOrSourceCode, + optionalSourceCode, +) { + let times, node, sourceCode, maybeLeftParen, maybeRightParen; + if (typeof timesOrNode === "number") { + times = timesOrNode | 0; + node = nodeOrSourceCode; + sourceCode = optionalSourceCode; + if (!(times >= 1)) { + throw new TypeError("'times' should be a positive integer.") + } + } else { + times = 1; + node = timesOrNode; + sourceCode = nodeOrSourceCode; + } + + if ( + node == null || + // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}` + (node.parent.type === "CatchClause" && node.parent.param === node) + ) { + return false + } + + maybeLeftParen = maybeRightParen = node; + do { + maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen); + maybeRightParen = sourceCode.getTokenAfter(maybeRightParen); + } while ( + maybeLeftParen != null && + maybeRightParen != null && + isOpeningParenToken(maybeLeftParen) && + isClosingParenToken(maybeRightParen) && + // Avoid false positive such as `if (a) {}` + maybeLeftParen !== getParentSyntaxParen(node, sourceCode) && + --times > 0 + ) + + return times === 0 +} + +/** + * @author Toru Nagashima + * See LICENSE file in root directory for full license. + */ + +const placeholder = /\$(?:[$&`']|[1-9][0-9]?)/gu; + +/** @type {WeakMap} */ +const internal = new WeakMap(); + +/** + * Check whether a given character is escaped or not. + * @param {string} str The string to check. + * @param {number} index The location of the character to check. + * @returns {boolean} `true` if the character is escaped. + */ +function isEscaped(str, index) { + let escaped = false; + for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) { + escaped = !escaped; + } + return escaped +} + +/** + * Replace a given string by a given matcher. + * @param {PatternMatcher} matcher The pattern matcher. + * @param {string} str The string to be replaced. + * @param {string} replacement The new substring to replace each matched part. + * @returns {string} The replaced string. + */ +function replaceS(matcher, str, replacement) { + const chunks = []; + let index = 0; + + /** @type {RegExpExecArray} */ + let match = null; + + /** + * @param {string} key The placeholder. + * @returns {string} The replaced string. + */ + function replacer(key) { + switch (key) { + case "$$": + return "$" + case "$&": + return match[0] + case "$`": + return str.slice(0, match.index) + case "$'": + return str.slice(match.index + match[0].length) + default: { + const i = key.slice(1); + if (i in match) { + return match[i] + } + return key + } + } + } + + for (match of matcher.execAll(str)) { + chunks.push(str.slice(index, match.index)); + chunks.push(replacement.replace(placeholder, replacer)); + index = match.index + match[0].length; + } + chunks.push(str.slice(index)); + + return chunks.join("") +} + +/** + * Replace a given string by a given matcher. + * @param {PatternMatcher} matcher The pattern matcher. + * @param {string} str The string to be replaced. + * @param {(...strs[])=>string} replace The function to replace each matched part. + * @returns {string} The replaced string. + */ +function replaceF(matcher, str, replace) { + const chunks = []; + let index = 0; + + for (const match of matcher.execAll(str)) { + chunks.push(str.slice(index, match.index)); + chunks.push(String(replace(...match, match.index, match.input))); + index = match.index + match[0].length; + } + chunks.push(str.slice(index)); + + return chunks.join("") +} + +/** + * The class to find patterns as considering escape sequences. + */ +class PatternMatcher { + /** + * Initialize this matcher. + * @param {RegExp} pattern The pattern to match. + * @param {{escaped:boolean}} options The options. + */ + constructor(pattern, { escaped = false } = {}) { + if (!(pattern instanceof RegExp)) { + throw new TypeError("'pattern' should be a RegExp instance.") + } + if (!pattern.flags.includes("g")) { + throw new Error("'pattern' should contains 'g' flag.") + } + + internal.set(this, { + pattern: new RegExp(pattern.source, pattern.flags), + escaped: Boolean(escaped), + }); + } + + /** + * Find the pattern in a given string. + * @param {string} str The string to find. + * @returns {IterableIterator} The iterator which iterate the matched information. + */ + *execAll(str) { + const { pattern, escaped } = internal.get(this); + let match = null; + let lastIndex = 0; + + pattern.lastIndex = 0; + while ((match = pattern.exec(str)) != null) { + if (escaped || !isEscaped(str, match.index)) { + lastIndex = pattern.lastIndex; + yield match; + pattern.lastIndex = lastIndex; + } + } + } + + /** + * Check whether the pattern is found in a given string. + * @param {string} str The string to check. + * @returns {boolean} `true` if the pattern was found in the string. + */ + test(str) { + const it = this.execAll(str); + const ret = it.next(); + return !ret.done + } + + /** + * Replace a given string. + * @param {string} str The string to be replaced. + * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`. + * @returns {string} The replaced string. + */ + [Symbol.replace](str, replacer) { + return typeof replacer === "function" + ? replaceF(this, String(str), replacer) + : replaceS(this, String(str), String(replacer)) + } +} + +const IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u; +const has = Function.call.bind(Object.hasOwnProperty); + +const READ = Symbol("read"); +const CALL = Symbol("call"); +const CONSTRUCT = Symbol("construct"); +const ESM = Symbol("esm"); + +const requireCall = { require: { [CALL]: true } }; + +/** + * Check whether a given variable is modified or not. + * @param {Variable} variable The variable to check. + * @returns {boolean} `true` if the variable is modified. + */ +function isModifiedGlobal(variable) { + return ( + variable == null || + variable.defs.length !== 0 || + variable.references.some((r) => r.isWrite()) + ) +} + +/** + * Check if the value of a given node is passed through to the parent syntax as-is. + * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through. + * @param {Node} node A node to check. + * @returns {boolean} `true` if the node is passed through. + */ +function isPassThrough(node) { + const parent = node.parent; + + switch (parent && parent.type) { + case "ConditionalExpression": + return parent.consequent === node || parent.alternate === node + case "LogicalExpression": + return true + case "SequenceExpression": + return parent.expressions[parent.expressions.length - 1] === node + case "ChainExpression": + return true + + default: + return false + } +} + +/** + * The reference tracker. + */ +class ReferenceTracker { + /** + * Initialize this tracker. + * @param {Scope} globalScope The global scope. + * @param {object} [options] The options. + * @param {"legacy"|"strict"} [options.mode="strict"] The mode to determine the ImportDeclaration's behavior for CJS modules. + * @param {string[]} [options.globalObjectNames=["global","globalThis","self","window"]] The variable names for Global Object. + */ + constructor( + globalScope, + { + mode = "strict", + globalObjectNames = ["global", "globalThis", "self", "window"], + } = {}, + ) { + this.variableStack = []; + this.globalScope = globalScope; + this.mode = mode; + this.globalObjectNames = globalObjectNames.slice(0); + } + + /** + * Iterate the references of global variables. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateGlobalReferences(traceMap) { + for (const key of Object.keys(traceMap)) { + const nextTraceMap = traceMap[key]; + const path = [key]; + const variable = this.globalScope.set.get(key); + + if (isModifiedGlobal(variable)) { + continue + } + + yield* this._iterateVariableReferences( + variable, + path, + nextTraceMap, + true, + ); + } + + for (const key of this.globalObjectNames) { + const path = []; + const variable = this.globalScope.set.get(key); + + if (isModifiedGlobal(variable)) { + continue + } + + yield* this._iterateVariableReferences( + variable, + path, + traceMap, + false, + ); + } + } + + /** + * Iterate the references of CommonJS modules. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateCjsReferences(traceMap) { + for (const { node } of this.iterateGlobalReferences(requireCall)) { + const key = getStringIfConstant(node.arguments[0]); + if (key == null || !has(traceMap, key)) { + continue + } + + const nextTraceMap = traceMap[key]; + const path = [key]; + + if (nextTraceMap[READ]) { + yield { + node, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iteratePropertyReferences(node, path, nextTraceMap); + } + } + + /** + * Iterate the references of ES modules. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateEsmReferences(traceMap) { + const programNode = this.globalScope.block; + + for (const node of programNode.body) { + if (!IMPORT_TYPE.test(node.type) || node.source == null) { + continue + } + const moduleId = node.source.value; + + if (!has(traceMap, moduleId)) { + continue + } + const nextTraceMap = traceMap[moduleId]; + const path = [moduleId]; + + if (nextTraceMap[READ]) { + yield { node, path, type: READ, info: nextTraceMap[READ] }; + } + + if (node.type === "ExportAllDeclaration") { + for (const key of Object.keys(nextTraceMap)) { + const exportTraceMap = nextTraceMap[key]; + if (exportTraceMap[READ]) { + yield { + node, + path: path.concat(key), + type: READ, + info: exportTraceMap[READ], + }; + } + } + } else { + for (const specifier of node.specifiers) { + const esm = has(nextTraceMap, ESM); + const it = this._iterateImportReferences( + specifier, + path, + esm + ? nextTraceMap + : this.mode === "legacy" + ? { default: nextTraceMap, ...nextTraceMap } + : { default: nextTraceMap }, + ); + + if (esm) { + yield* it; + } else { + for (const report of it) { + report.path = report.path.filter(exceptDefault); + if ( + report.path.length >= 2 || + report.type !== READ + ) { + yield report; + } + } + } + } + } + } + } + + /** + * Iterate the references for a given variable. + * @param {Variable} variable The variable to iterate that references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @param {boolean} shouldReport = The flag to report those references. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateVariableReferences(variable, path, traceMap, shouldReport) { + if (this.variableStack.includes(variable)) { + return + } + this.variableStack.push(variable); + try { + for (const reference of variable.references) { + if (!reference.isRead()) { + continue + } + const node = reference.identifier; + + if (shouldReport && traceMap[READ]) { + yield { node, path, type: READ, info: traceMap[READ] }; + } + yield* this._iteratePropertyReferences(node, path, traceMap); + } + } finally { + this.variableStack.pop(); + } + } + + /** + * Iterate the references for a given AST node. + * @param rootNode The AST node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + //eslint-disable-next-line complexity + *_iteratePropertyReferences(rootNode, path, traceMap) { + let node = rootNode; + while (isPassThrough(node)) { + node = node.parent; + } + + const parent = node.parent; + if (parent.type === "MemberExpression") { + if (parent.object === node) { + const key = getPropertyName(parent); + if (key == null || !has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: parent, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iteratePropertyReferences( + parent, + path, + nextTraceMap, + ); + } + return + } + if (parent.type === "CallExpression") { + if (parent.callee === node && traceMap[CALL]) { + yield { node: parent, path, type: CALL, info: traceMap[CALL] }; + } + return + } + if (parent.type === "NewExpression") { + if (parent.callee === node && traceMap[CONSTRUCT]) { + yield { + node: parent, + path, + type: CONSTRUCT, + info: traceMap[CONSTRUCT], + }; + } + return + } + if (parent.type === "AssignmentExpression") { + if (parent.right === node) { + yield* this._iterateLhsReferences(parent.left, path, traceMap); + yield* this._iteratePropertyReferences(parent, path, traceMap); + } + return + } + if (parent.type === "AssignmentPattern") { + if (parent.right === node) { + yield* this._iterateLhsReferences(parent.left, path, traceMap); + } + return + } + if (parent.type === "VariableDeclarator") { + if (parent.init === node) { + yield* this._iterateLhsReferences(parent.id, path, traceMap); + } + } + } + + /** + * Iterate the references for a given Pattern node. + * @param {Node} patternNode The Pattern node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateLhsReferences(patternNode, path, traceMap) { + if (patternNode.type === "Identifier") { + const variable = findVariable(this.globalScope, patternNode); + if (variable != null) { + yield* this._iterateVariableReferences( + variable, + path, + traceMap, + false, + ); + } + return + } + if (patternNode.type === "ObjectPattern") { + for (const property of patternNode.properties) { + const key = getPropertyName(property); + + if (key == null || !has(traceMap, key)) { + continue + } + + const nextPath = path.concat(key); + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: property, + path: nextPath, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iterateLhsReferences( + property.value, + nextPath, + nextTraceMap, + ); + } + return + } + if (patternNode.type === "AssignmentPattern") { + yield* this._iterateLhsReferences(patternNode.left, path, traceMap); + } + } + + /** + * Iterate the references for a given ModuleSpecifier node. + * @param {Node} specifierNode The ModuleSpecifier node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateImportReferences(specifierNode, path, traceMap) { + const type = specifierNode.type; + + if (type === "ImportSpecifier" || type === "ImportDefaultSpecifier") { + const key = + type === "ImportDefaultSpecifier" + ? "default" + : specifierNode.imported.name; + if (!has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: specifierNode, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iterateVariableReferences( + findVariable(this.globalScope, specifierNode.local), + path, + nextTraceMap, + false, + ); + + return + } + + if (type === "ImportNamespaceSpecifier") { + yield* this._iterateVariableReferences( + findVariable(this.globalScope, specifierNode.local), + path, + traceMap, + false, + ); + return + } + + if (type === "ExportSpecifier") { + const key = specifierNode.local.name; + if (!has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: specifierNode, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + } + } +} + +ReferenceTracker.READ = READ; +ReferenceTracker.CALL = CALL; +ReferenceTracker.CONSTRUCT = CONSTRUCT; +ReferenceTracker.ESM = ESM; + +/** + * This is a predicate function for Array#filter. + * @param {string} name A name part. + * @param {number} index The index of the name. + * @returns {boolean} `false` if it's default. + */ +function exceptDefault(name, index) { + return !(index === 1 && name === "default") +} + +var index = { + CALL, + CONSTRUCT, + ESM, + findVariable, + getFunctionHeadLocation, + getFunctionNameWithKind, + getInnermostScope, + getPropertyName, + getStaticValue, + getStringIfConstant, + hasSideEffect, + isArrowToken, + isClosingBraceToken, + isClosingBracketToken, + isClosingParenToken, + isColonToken, + isCommaToken, + isCommentToken, + isNotArrowToken, + isNotClosingBraceToken, + isNotClosingBracketToken, + isNotClosingParenToken, + isNotColonToken, + isNotCommaToken, + isNotCommentToken, + isNotOpeningBraceToken, + isNotOpeningBracketToken, + isNotOpeningParenToken, + isNotSemicolonToken, + isOpeningBraceToken, + isOpeningBracketToken, + isOpeningParenToken, + isParenthesized, + isSemicolonToken, + PatternMatcher, + READ, + ReferenceTracker, +}; + +exports.CALL = CALL; +exports.CONSTRUCT = CONSTRUCT; +exports.ESM = ESM; +exports.PatternMatcher = PatternMatcher; +exports.READ = READ; +exports.ReferenceTracker = ReferenceTracker; +exports.default = index; +exports.findVariable = findVariable; +exports.getFunctionHeadLocation = getFunctionHeadLocation; +exports.getFunctionNameWithKind = getFunctionNameWithKind; +exports.getInnermostScope = getInnermostScope; +exports.getPropertyName = getPropertyName; +exports.getStaticValue = getStaticValue; +exports.getStringIfConstant = getStringIfConstant; +exports.hasSideEffect = hasSideEffect; +exports.isArrowToken = isArrowToken; +exports.isClosingBraceToken = isClosingBraceToken; +exports.isClosingBracketToken = isClosingBracketToken; +exports.isClosingParenToken = isClosingParenToken; +exports.isColonToken = isColonToken; +exports.isCommaToken = isCommaToken; +exports.isCommentToken = isCommentToken; +exports.isNotArrowToken = isNotArrowToken; +exports.isNotClosingBraceToken = isNotClosingBraceToken; +exports.isNotClosingBracketToken = isNotClosingBracketToken; +exports.isNotClosingParenToken = isNotClosingParenToken; +exports.isNotColonToken = isNotColonToken; +exports.isNotCommaToken = isNotCommaToken; +exports.isNotCommentToken = isNotCommentToken; +exports.isNotOpeningBraceToken = isNotOpeningBraceToken; +exports.isNotOpeningBracketToken = isNotOpeningBracketToken; +exports.isNotOpeningParenToken = isNotOpeningParenToken; +exports.isNotSemicolonToken = isNotSemicolonToken; +exports.isOpeningBraceToken = isOpeningBraceToken; +exports.isOpeningBracketToken = isOpeningBracketToken; +exports.isOpeningParenToken = isOpeningParenToken; +exports.isParenthesized = isParenthesized; +exports.isSemicolonToken = isSemicolonToken; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js.map b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js.map new file mode 100644 index 000000000..2a76624fb --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["src/get-innermost-scope.js","src/find-variable.js","src/token-predicate.js","src/get-function-head-location.js","src/get-static-value.js","src/get-string-if-constant.js","src/get-property-name.js","src/get-function-name-with-kind.js","src/has-side-effect.js","src/is-parenthesized.js","src/pattern-matcher.js","src/reference-tracker.js","src/index.js"],"sourcesContent":["/**\n * Get the innermost scope which contains a given location.\n * @param {Scope} initialScope The initial scope to search.\n * @param {Node} node The location to search.\n * @returns {Scope} The innermost scope.\n */\nexport function getInnermostScope(initialScope, node) {\n const location = node.range[0]\n\n let scope = initialScope\n let found = false\n do {\n found = false\n for (const childScope of scope.childScopes) {\n const range = childScope.block.range\n\n if (range[0] <= location && location < range[1]) {\n scope = childScope\n found = true\n break\n }\n }\n } while (found)\n\n return scope\n}\n","import { getInnermostScope } from \"./get-innermost-scope\"\n\n/**\n * Find the variable of a given name.\n * @param {Scope} initialScope The scope to start finding.\n * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node.\n * @returns {Variable|null} The found variable or null.\n */\nexport function findVariable(initialScope, nameOrNode) {\n let name = \"\"\n let scope = initialScope\n\n if (typeof nameOrNode === \"string\") {\n name = nameOrNode\n } else {\n name = nameOrNode.name\n scope = getInnermostScope(scope, nameOrNode)\n }\n\n while (scope != null) {\n const variable = scope.set.get(name)\n if (variable != null) {\n return variable\n }\n scope = scope.upper\n }\n\n return null\n}\n","/**\n * Negate the result of `this` calling.\n * @param {Token} token The token to check.\n * @returns {boolean} `true` if the result of `this(token)` is `false`.\n */\nfunction negate0(token) {\n return !this(token) //eslint-disable-line no-invalid-this\n}\n\n/**\n * Creates the negate function of the given function.\n * @param {function(Token):boolean} f - The function to negate.\n * @returns {function(Token):boolean} Negated function.\n */\nfunction negate(f) {\n return negate0.bind(f)\n}\n\n/**\n * Checks if the given token is a PunctuatorToken with the given value\n * @param {Token} token - The token to check.\n * @param {string} value - The value to check.\n * @returns {boolean} `true` if the token is a PunctuatorToken with the given value.\n */\nfunction isPunctuatorTokenWithValue(token, value) {\n return token.type === \"Punctuator\" && token.value === value\n}\n\n/**\n * Checks if the given token is an arrow token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an arrow token.\n */\nexport function isArrowToken(token) {\n return isPunctuatorTokenWithValue(token, \"=>\")\n}\n\n/**\n * Checks if the given token is a comma token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comma token.\n */\nexport function isCommaToken(token) {\n return isPunctuatorTokenWithValue(token, \",\")\n}\n\n/**\n * Checks if the given token is a semicolon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a semicolon token.\n */\nexport function isSemicolonToken(token) {\n return isPunctuatorTokenWithValue(token, \";\")\n}\n\n/**\n * Checks if the given token is a colon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a colon token.\n */\nexport function isColonToken(token) {\n return isPunctuatorTokenWithValue(token, \":\")\n}\n\n/**\n * Checks if the given token is an opening parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening parenthesis token.\n */\nexport function isOpeningParenToken(token) {\n return isPunctuatorTokenWithValue(token, \"(\")\n}\n\n/**\n * Checks if the given token is a closing parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing parenthesis token.\n */\nexport function isClosingParenToken(token) {\n return isPunctuatorTokenWithValue(token, \")\")\n}\n\n/**\n * Checks if the given token is an opening square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening square bracket token.\n */\nexport function isOpeningBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"[\")\n}\n\n/**\n * Checks if the given token is a closing square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing square bracket token.\n */\nexport function isClosingBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"]\")\n}\n\n/**\n * Checks if the given token is an opening brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening brace token.\n */\nexport function isOpeningBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"{\")\n}\n\n/**\n * Checks if the given token is a closing brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing brace token.\n */\nexport function isClosingBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"}\")\n}\n\n/**\n * Checks if the given token is a comment token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comment token.\n */\nexport function isCommentToken(token) {\n return [\"Block\", \"Line\", \"Shebang\"].includes(token.type)\n}\n\nexport const isNotArrowToken = negate(isArrowToken)\nexport const isNotCommaToken = negate(isCommaToken)\nexport const isNotSemicolonToken = negate(isSemicolonToken)\nexport const isNotColonToken = negate(isColonToken)\nexport const isNotOpeningParenToken = negate(isOpeningParenToken)\nexport const isNotClosingParenToken = negate(isClosingParenToken)\nexport const isNotOpeningBracketToken = negate(isOpeningBracketToken)\nexport const isNotClosingBracketToken = negate(isClosingBracketToken)\nexport const isNotOpeningBraceToken = negate(isOpeningBraceToken)\nexport const isNotClosingBraceToken = negate(isClosingBraceToken)\nexport const isNotCommentToken = negate(isCommentToken)\n","import { isArrowToken, isOpeningParenToken } from \"./token-predicate\"\n\n/**\n * Get the `(` token of the given function node.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {Token} `(` token.\n */\nfunction getOpeningParenOfParams(node, sourceCode) {\n return node.id\n ? sourceCode.getTokenAfter(node.id, isOpeningParenToken)\n : sourceCode.getFirstToken(node, isOpeningParenToken)\n}\n\n/**\n * Get the location of the given function node for reporting.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {string} The location of the function node for reporting.\n */\nexport function getFunctionHeadLocation(node, sourceCode) {\n const parent = node.parent\n let start = null\n let end = null\n\n if (node.type === \"ArrowFunctionExpression\") {\n const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken)\n\n start = arrowToken.loc.start\n end = arrowToken.loc.end\n } else if (\n parent.type === \"Property\" ||\n parent.type === \"MethodDefinition\" ||\n parent.type === \"PropertyDefinition\"\n ) {\n start = parent.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n } else {\n start = node.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n }\n\n return {\n start: { ...start },\n end: { ...end },\n }\n}\n","/* globals globalThis, global, self, window */\n\nimport { findVariable } from \"./find-variable\"\n\nconst globalObject =\n typeof globalThis !== \"undefined\"\n ? globalThis\n : typeof self !== \"undefined\"\n ? self\n : typeof window !== \"undefined\"\n ? window\n : typeof global !== \"undefined\"\n ? global\n : {}\n\nconst builtinNames = Object.freeze(\n new Set([\n \"Array\",\n \"ArrayBuffer\",\n \"BigInt\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Boolean\",\n \"DataView\",\n \"Date\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"Float32Array\",\n \"Float64Array\",\n \"Function\",\n \"Infinity\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"isFinite\",\n \"isNaN\",\n \"isPrototypeOf\",\n \"JSON\",\n \"Map\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"Object\",\n \"parseFloat\",\n \"parseInt\",\n \"Promise\",\n \"Proxy\",\n \"Reflect\",\n \"RegExp\",\n \"Set\",\n \"String\",\n \"Symbol\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"undefined\",\n \"unescape\",\n \"WeakMap\",\n \"WeakSet\",\n ]),\n)\nconst callAllowed = new Set(\n [\n Array.isArray,\n typeof BigInt === \"function\" ? BigInt : undefined,\n Boolean,\n Date,\n Date.parse,\n decodeURI,\n decodeURIComponent,\n encodeURI,\n encodeURIComponent,\n escape,\n isFinite,\n isNaN,\n isPrototypeOf,\n ...Object.getOwnPropertyNames(Math)\n .map((k) => Math[k])\n .filter((f) => typeof f === \"function\"),\n Number,\n Number.isFinite,\n Number.isNaN,\n Number.parseFloat,\n Number.parseInt,\n Object,\n Object.entries,\n Object.is,\n Object.isExtensible,\n Object.isFrozen,\n Object.isSealed,\n Object.keys,\n Object.values,\n parseFloat,\n parseInt,\n RegExp,\n String,\n String.fromCharCode,\n String.fromCodePoint,\n String.raw,\n Symbol.for,\n Symbol.keyFor,\n unescape,\n ].filter((f) => typeof f === \"function\"),\n)\nconst callPassThrough = new Set([\n Object.freeze,\n Object.preventExtensions,\n Object.seal,\n])\n\n/**\n * Get the property descriptor.\n * @param {object} object The object to get.\n * @param {string|number|symbol} name The property name to get.\n */\nfunction getPropertyDescriptor(object, name) {\n let x = object\n while ((typeof x === \"object\" || typeof x === \"function\") && x !== null) {\n const d = Object.getOwnPropertyDescriptor(x, name)\n if (d) {\n return d\n }\n x = Object.getPrototypeOf(x)\n }\n return null\n}\n\n/**\n * Check if a property is getter or not.\n * @param {object} object The object to check.\n * @param {string|number|symbol} name The property name to check.\n */\nfunction isGetter(object, name) {\n const d = getPropertyDescriptor(object, name)\n return d != null && d.get != null\n}\n\n/**\n * Get the element values of a given node list.\n * @param {Node[]} nodeList The node list to get values.\n * @param {Scope|undefined} initialScope The initial scope to find variables.\n * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null.\n */\nfunction getElementValues(nodeList, initialScope) {\n const valueList = []\n\n for (let i = 0; i < nodeList.length; ++i) {\n const elementNode = nodeList[i]\n\n if (elementNode == null) {\n valueList.length = i + 1\n } else if (elementNode.type === \"SpreadElement\") {\n const argument = getStaticValueR(elementNode.argument, initialScope)\n if (argument == null) {\n return null\n }\n valueList.push(...argument.value)\n } else {\n const element = getStaticValueR(elementNode, initialScope)\n if (element == null) {\n return null\n }\n valueList.push(element.value)\n }\n }\n\n return valueList\n}\n\nconst operations = Object.freeze({\n ArrayExpression(node, initialScope) {\n const elements = getElementValues(node.elements, initialScope)\n return elements != null ? { value: elements } : null\n },\n\n AssignmentExpression(node, initialScope) {\n if (node.operator === \"=\") {\n return getStaticValueR(node.right, initialScope)\n }\n return null\n },\n\n //eslint-disable-next-line complexity\n BinaryExpression(node, initialScope) {\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n // Not supported.\n return null\n }\n\n const left = getStaticValueR(node.left, initialScope)\n const right = getStaticValueR(node.right, initialScope)\n if (left != null && right != null) {\n switch (node.operator) {\n case \"==\":\n return { value: left.value == right.value } //eslint-disable-line eqeqeq\n case \"!=\":\n return { value: left.value != right.value } //eslint-disable-line eqeqeq\n case \"===\":\n return { value: left.value === right.value }\n case \"!==\":\n return { value: left.value !== right.value }\n case \"<\":\n return { value: left.value < right.value }\n case \"<=\":\n return { value: left.value <= right.value }\n case \">\":\n return { value: left.value > right.value }\n case \">=\":\n return { value: left.value >= right.value }\n case \"<<\":\n return { value: left.value << right.value }\n case \">>\":\n return { value: left.value >> right.value }\n case \">>>\":\n return { value: left.value >>> right.value }\n case \"+\":\n return { value: left.value + right.value }\n case \"-\":\n return { value: left.value - right.value }\n case \"*\":\n return { value: left.value * right.value }\n case \"/\":\n return { value: left.value / right.value }\n case \"%\":\n return { value: left.value % right.value }\n case \"**\":\n return { value: Math.pow(left.value, right.value) }\n case \"|\":\n return { value: left.value | right.value }\n case \"^\":\n return { value: left.value ^ right.value }\n case \"&\":\n return { value: left.value & right.value }\n\n // no default\n }\n }\n\n return null\n },\n\n CallExpression(node, initialScope) {\n const calleeNode = node.callee\n const args = getElementValues(node.arguments, initialScope)\n\n if (args != null) {\n if (calleeNode.type === \"MemberExpression\") {\n if (calleeNode.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(calleeNode.object, initialScope)\n if (object != null) {\n if (\n object.value == null &&\n (object.optional || node.optional)\n ) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(\n calleeNode,\n initialScope,\n )\n\n if (property != null) {\n const receiver = object.value\n const methodName = property.value\n if (callAllowed.has(receiver[methodName])) {\n return { value: receiver[methodName](...args) }\n }\n if (callPassThrough.has(receiver[methodName])) {\n return { value: args[0] }\n }\n }\n }\n } else {\n const callee = getStaticValueR(calleeNode, initialScope)\n if (callee != null) {\n if (callee.value == null && node.optional) {\n return { value: undefined, optional: true }\n }\n const func = callee.value\n if (callAllowed.has(func)) {\n return { value: func(...args) }\n }\n if (callPassThrough.has(func)) {\n return { value: args[0] }\n }\n }\n }\n }\n\n return null\n },\n\n ConditionalExpression(node, initialScope) {\n const test = getStaticValueR(node.test, initialScope)\n if (test != null) {\n return test.value\n ? getStaticValueR(node.consequent, initialScope)\n : getStaticValueR(node.alternate, initialScope)\n }\n return null\n },\n\n ExpressionStatement(node, initialScope) {\n return getStaticValueR(node.expression, initialScope)\n },\n\n Identifier(node, initialScope) {\n if (initialScope != null) {\n const variable = findVariable(initialScope, node)\n\n // Built-in globals.\n if (\n variable != null &&\n variable.defs.length === 0 &&\n builtinNames.has(variable.name) &&\n variable.name in globalObject\n ) {\n return { value: globalObject[variable.name] }\n }\n\n // Constants.\n if (variable != null && variable.defs.length === 1) {\n const def = variable.defs[0]\n if (\n def.parent &&\n def.parent.kind === \"const\" &&\n // TODO(mysticatea): don't support destructuring here.\n def.node.id.type === \"Identifier\"\n ) {\n return getStaticValueR(def.node.init, initialScope)\n }\n }\n }\n return null\n },\n\n Literal(node) {\n //istanbul ignore if : this is implementation-specific behavior.\n if ((node.regex != null || node.bigint != null) && node.value == null) {\n // It was a RegExp/BigInt literal, but Node.js didn't support it.\n return null\n }\n return { value: node.value }\n },\n\n LogicalExpression(node, initialScope) {\n const left = getStaticValueR(node.left, initialScope)\n if (left != null) {\n if (\n (node.operator === \"||\" && Boolean(left.value) === true) ||\n (node.operator === \"&&\" && Boolean(left.value) === false) ||\n (node.operator === \"??\" && left.value != null)\n ) {\n return left\n }\n\n const right = getStaticValueR(node.right, initialScope)\n if (right != null) {\n return right\n }\n }\n\n return null\n },\n\n MemberExpression(node, initialScope) {\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(node.object, initialScope)\n if (object != null) {\n if (object.value == null && (object.optional || node.optional)) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(node, initialScope)\n\n if (property != null && !isGetter(object.value, property.value)) {\n return { value: object.value[property.value] }\n }\n }\n return null\n },\n\n ChainExpression(node, initialScope) {\n const expression = getStaticValueR(node.expression, initialScope)\n if (expression != null) {\n return { value: expression.value }\n }\n return null\n },\n\n NewExpression(node, initialScope) {\n const callee = getStaticValueR(node.callee, initialScope)\n const args = getElementValues(node.arguments, initialScope)\n\n if (callee != null && args != null) {\n const Func = callee.value\n if (callAllowed.has(Func)) {\n return { value: new Func(...args) }\n }\n }\n\n return null\n },\n\n ObjectExpression(node, initialScope) {\n const object = {}\n\n for (const propertyNode of node.properties) {\n if (propertyNode.type === \"Property\") {\n if (propertyNode.kind !== \"init\") {\n return null\n }\n const key = getStaticPropertyNameValue(\n propertyNode,\n initialScope,\n )\n const value = getStaticValueR(propertyNode.value, initialScope)\n if (key == null || value == null) {\n return null\n }\n object[key.value] = value.value\n } else if (\n propertyNode.type === \"SpreadElement\" ||\n propertyNode.type === \"ExperimentalSpreadProperty\"\n ) {\n const argument = getStaticValueR(\n propertyNode.argument,\n initialScope,\n )\n if (argument == null) {\n return null\n }\n Object.assign(object, argument.value)\n } else {\n return null\n }\n }\n\n return { value: object }\n },\n\n SequenceExpression(node, initialScope) {\n const last = node.expressions[node.expressions.length - 1]\n return getStaticValueR(last, initialScope)\n },\n\n TaggedTemplateExpression(node, initialScope) {\n const tag = getStaticValueR(node.tag, initialScope)\n const expressions = getElementValues(\n node.quasi.expressions,\n initialScope,\n )\n\n if (tag != null && expressions != null) {\n const func = tag.value\n const strings = node.quasi.quasis.map((q) => q.value.cooked)\n strings.raw = node.quasi.quasis.map((q) => q.value.raw)\n\n if (func === String.raw) {\n return { value: func(strings, ...expressions) }\n }\n }\n\n return null\n },\n\n TemplateLiteral(node, initialScope) {\n const expressions = getElementValues(node.expressions, initialScope)\n if (expressions != null) {\n let value = node.quasis[0].value.cooked\n for (let i = 0; i < expressions.length; ++i) {\n value += expressions[i]\n value += node.quasis[i + 1].value.cooked\n }\n return { value }\n }\n return null\n },\n\n UnaryExpression(node, initialScope) {\n if (node.operator === \"delete\") {\n // Not supported.\n return null\n }\n if (node.operator === \"void\") {\n return { value: undefined }\n }\n\n const arg = getStaticValueR(node.argument, initialScope)\n if (arg != null) {\n switch (node.operator) {\n case \"-\":\n return { value: -arg.value }\n case \"+\":\n return { value: +arg.value } //eslint-disable-line no-implicit-coercion\n case \"!\":\n return { value: !arg.value }\n case \"~\":\n return { value: ~arg.value }\n case \"typeof\":\n return { value: typeof arg.value }\n\n // no default\n }\n }\n\n return null\n },\n})\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope|undefined} initialScope The scope to start finding variable.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nfunction getStaticValueR(node, initialScope) {\n if (node != null && Object.hasOwnProperty.call(operations, node.type)) {\n return operations[node.type](node, initialScope)\n }\n return null\n}\n\n/**\n * Get the static value of property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`.\n */\nfunction getStaticPropertyNameValue(node, initialScope) {\n const nameNode = node.type === \"Property\" ? node.key : node.property\n\n if (node.computed) {\n return getStaticValueR(nameNode, initialScope)\n }\n\n if (nameNode.type === \"Identifier\") {\n return { value: nameNode.name }\n }\n\n if (nameNode.type === \"Literal\") {\n if (nameNode.bigint) {\n return { value: nameNode.bigint }\n }\n return { value: String(nameNode.value) }\n }\n\n return null\n}\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nexport function getStaticValue(node, initialScope = null) {\n try {\n return getStaticValueR(node, initialScope)\n } catch (_error) {\n return null\n }\n}\n","import { getStaticValue } from \"./get-static-value\"\n\n/**\n * Get the value of a given node if it's a literal or a template literal.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant.\n * @returns {string|null} The value of the node, or `null`.\n */\nexport function getStringIfConstant(node, initialScope = null) {\n // Handle the literals that the platform doesn't support natively.\n if (node && node.type === \"Literal\" && node.value === null) {\n if (node.regex) {\n return `/${node.regex.pattern}/${node.regex.flags}`\n }\n if (node.bigint) {\n return node.bigint\n }\n }\n\n const evaluated = getStaticValue(node, initialScope)\n return evaluated && String(evaluated.value)\n}\n","import { getStringIfConstant } from \"./get-string-if-constant\"\n\n/**\n * Get the property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {string|null} The property name of the node.\n */\nexport function getPropertyName(node, initialScope) {\n switch (node.type) {\n case \"MemberExpression\":\n if (node.computed) {\n return getStringIfConstant(node.property, initialScope)\n }\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n return node.property.name\n\n case \"Property\":\n case \"MethodDefinition\":\n case \"PropertyDefinition\":\n if (node.computed) {\n return getStringIfConstant(node.key, initialScope)\n }\n if (node.key.type === \"Literal\") {\n return String(node.key.value)\n }\n if (node.key.type === \"PrivateIdentifier\") {\n return null\n }\n return node.key.name\n\n // no default\n }\n\n return null\n}\n","import { getPropertyName } from \"./get-property-name\"\n\n/**\n * Get the name and kind of the given function node.\n * @param {ASTNode} node - The function node to get.\n * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys.\n * @returns {string} The name and kind of the function node.\n */\n// eslint-disable-next-line complexity\nexport function getFunctionNameWithKind(node, sourceCode) {\n const parent = node.parent\n const tokens = []\n const isObjectMethod = parent.type === \"Property\" && parent.value === node\n const isClassMethod =\n parent.type === \"MethodDefinition\" && parent.value === node\n const isClassFieldMethod =\n parent.type === \"PropertyDefinition\" && parent.value === node\n\n // Modifiers.\n if (isClassMethod || isClassFieldMethod) {\n if (parent.static) {\n tokens.push(\"static\")\n }\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(\"private\")\n }\n }\n if (node.async) {\n tokens.push(\"async\")\n }\n if (node.generator) {\n tokens.push(\"generator\")\n }\n\n // Kinds.\n if (isObjectMethod || isClassMethod) {\n if (parent.kind === \"constructor\") {\n return \"constructor\"\n }\n if (parent.kind === \"get\") {\n tokens.push(\"getter\")\n } else if (parent.kind === \"set\") {\n tokens.push(\"setter\")\n } else {\n tokens.push(\"method\")\n }\n } else if (isClassFieldMethod) {\n tokens.push(\"method\")\n } else {\n if (node.type === \"ArrowFunctionExpression\") {\n tokens.push(\"arrow\")\n }\n tokens.push(\"function\")\n }\n\n // Names.\n if (isObjectMethod || isClassMethod || isClassFieldMethod) {\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(`#${parent.key.name}`)\n } else {\n const name = getPropertyName(parent)\n if (name) {\n tokens.push(`'${name}'`)\n } else if (sourceCode) {\n const keyText = sourceCode.getText(parent.key)\n if (!keyText.includes(\"\\n\")) {\n tokens.push(`[${keyText}]`)\n }\n }\n }\n } else if (node.id) {\n tokens.push(`'${node.id.name}'`)\n } else if (\n parent.type === \"VariableDeclarator\" &&\n parent.id &&\n parent.id.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.id.name}'`)\n } else if (\n (parent.type === \"AssignmentExpression\" ||\n parent.type === \"AssignmentPattern\") &&\n parent.left &&\n parent.left.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.left.name}'`)\n }\n\n return tokens.join(\" \")\n}\n","import evk from \"eslint-visitor-keys\"\n\nconst typeConversionBinaryOps = Object.freeze(\n new Set([\n \"==\",\n \"!=\",\n \"<\",\n \"<=\",\n \">\",\n \">=\",\n \"<<\",\n \">>\",\n \">>>\",\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"|\",\n \"^\",\n \"&\",\n \"in\",\n ]),\n)\nconst typeConversionUnaryOps = Object.freeze(new Set([\"-\", \"+\", \"!\", \"~\"]))\n\n/**\n * Check whether the given value is an ASTNode or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an ASTNode.\n */\nfunction isNode(x) {\n return x !== null && typeof x === \"object\" && typeof x.type === \"string\"\n}\n\nconst visitor = Object.freeze(\n Object.assign(Object.create(null), {\n $visit(node, options, visitorKeys) {\n const { type } = node\n\n if (typeof this[type] === \"function\") {\n return this[type](node, options, visitorKeys)\n }\n\n return this.$visitChildren(node, options, visitorKeys)\n },\n\n $visitChildren(node, options, visitorKeys) {\n const { type } = node\n\n for (const key of visitorKeys[type] || evk.getKeys(node)) {\n const value = node[key]\n\n if (Array.isArray(value)) {\n for (const element of value) {\n if (\n isNode(element) &&\n this.$visit(element, options, visitorKeys)\n ) {\n return true\n }\n }\n } else if (\n isNode(value) &&\n this.$visit(value, options, visitorKeys)\n ) {\n return true\n }\n }\n\n return false\n },\n\n ArrowFunctionExpression() {\n return false\n },\n AssignmentExpression() {\n return true\n },\n AwaitExpression() {\n return true\n },\n BinaryExpression(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n typeConversionBinaryOps.has(node.operator) &&\n (node.left.type !== \"Literal\" || node.right.type !== \"Literal\")\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n CallExpression() {\n return true\n },\n FunctionExpression() {\n return false\n },\n ImportExpression() {\n return true\n },\n MemberExpression(node, options, visitorKeys) {\n if (options.considerGetters) {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.property.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n MethodDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n NewExpression() {\n return true\n },\n Property(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n PropertyDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UnaryExpression(node, options, visitorKeys) {\n if (node.operator === \"delete\") {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n typeConversionUnaryOps.has(node.operator) &&\n node.argument.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UpdateExpression() {\n return true\n },\n YieldExpression() {\n return true\n },\n }),\n)\n\n/**\n * Check whether a given node has any side effect or not.\n * @param {Node} node The node to get.\n * @param {SourceCode} sourceCode The source code object.\n * @param {object} [options] The option object.\n * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects.\n * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects.\n * @param {object} [options.visitorKeys=evk.KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`.\n * @returns {boolean} `true` if the node has a certain side effect.\n */\nexport function hasSideEffect(\n node,\n sourceCode,\n { considerGetters = false, considerImplicitTypeConversion = false } = {},\n) {\n return visitor.$visit(\n node,\n { considerGetters, considerImplicitTypeConversion },\n sourceCode.visitorKeys || evk.KEYS,\n )\n}\n","import { isClosingParenToken, isOpeningParenToken } from \"./token-predicate\"\n\n/**\n * Get the left parenthesis of the parent node syntax if it exists.\n * E.g., `if (a) {}` then the `(`.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {Token|null} The left parenthesis of the parent node syntax\n */\nfunction getParentSyntaxParen(node, sourceCode) {\n const parent = node.parent\n\n switch (parent.type) {\n case \"CallExpression\":\n case \"NewExpression\":\n if (parent.arguments.length === 1 && parent.arguments[0] === node) {\n return sourceCode.getTokenAfter(\n parent.callee,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"DoWhileStatement\":\n if (parent.test === node) {\n return sourceCode.getTokenAfter(\n parent.body,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"IfStatement\":\n case \"WhileStatement\":\n if (parent.test === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"ImportExpression\":\n if (parent.source === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"SwitchStatement\":\n if (parent.discriminant === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"WithStatement\":\n if (parent.object === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n default:\n return null\n }\n}\n\n/**\n * Check whether a given node is parenthesized or not.\n * @param {number} times The number of parantheses.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized the given times.\n */\n/**\n * Check whether a given node is parenthesized or not.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized.\n */\nexport function isParenthesized(\n timesOrNode,\n nodeOrSourceCode,\n optionalSourceCode,\n) {\n let times, node, sourceCode, maybeLeftParen, maybeRightParen\n if (typeof timesOrNode === \"number\") {\n times = timesOrNode | 0\n node = nodeOrSourceCode\n sourceCode = optionalSourceCode\n if (!(times >= 1)) {\n throw new TypeError(\"'times' should be a positive integer.\")\n }\n } else {\n times = 1\n node = timesOrNode\n sourceCode = nodeOrSourceCode\n }\n\n if (\n node == null ||\n // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}`\n (node.parent.type === \"CatchClause\" && node.parent.param === node)\n ) {\n return false\n }\n\n maybeLeftParen = maybeRightParen = node\n do {\n maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen)\n maybeRightParen = sourceCode.getTokenAfter(maybeRightParen)\n } while (\n maybeLeftParen != null &&\n maybeRightParen != null &&\n isOpeningParenToken(maybeLeftParen) &&\n isClosingParenToken(maybeRightParen) &&\n // Avoid false positive such as `if (a) {}`\n maybeLeftParen !== getParentSyntaxParen(node, sourceCode) &&\n --times > 0\n )\n\n return times === 0\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n\nconst placeholder = /\\$(?:[$&`']|[1-9][0-9]?)/gu\n\n/** @type {WeakMap} */\nconst internal = new WeakMap()\n\n/**\n * Check whether a given character is escaped or not.\n * @param {string} str The string to check.\n * @param {number} index The location of the character to check.\n * @returns {boolean} `true` if the character is escaped.\n */\nfunction isEscaped(str, index) {\n let escaped = false\n for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) {\n escaped = !escaped\n }\n return escaped\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {string} replacement The new substring to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceS(matcher, str, replacement) {\n const chunks = []\n let index = 0\n\n /** @type {RegExpExecArray} */\n let match = null\n\n /**\n * @param {string} key The placeholder.\n * @returns {string} The replaced string.\n */\n function replacer(key) {\n switch (key) {\n case \"$$\":\n return \"$\"\n case \"$&\":\n return match[0]\n case \"$`\":\n return str.slice(0, match.index)\n case \"$'\":\n return str.slice(match.index + match[0].length)\n default: {\n const i = key.slice(1)\n if (i in match) {\n return match[i]\n }\n return key\n }\n }\n }\n\n for (match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(replacement.replace(placeholder, replacer))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {(...strs[])=>string} replace The function to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceF(matcher, str, replace) {\n const chunks = []\n let index = 0\n\n for (const match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(String(replace(...match, match.index, match.input)))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * The class to find patterns as considering escape sequences.\n */\nexport class PatternMatcher {\n /**\n * Initialize this matcher.\n * @param {RegExp} pattern The pattern to match.\n * @param {{escaped:boolean}} options The options.\n */\n constructor(pattern, { escaped = false } = {}) {\n if (!(pattern instanceof RegExp)) {\n throw new TypeError(\"'pattern' should be a RegExp instance.\")\n }\n if (!pattern.flags.includes(\"g\")) {\n throw new Error(\"'pattern' should contains 'g' flag.\")\n }\n\n internal.set(this, {\n pattern: new RegExp(pattern.source, pattern.flags),\n escaped: Boolean(escaped),\n })\n }\n\n /**\n * Find the pattern in a given string.\n * @param {string} str The string to find.\n * @returns {IterableIterator} The iterator which iterate the matched information.\n */\n *execAll(str) {\n const { pattern, escaped } = internal.get(this)\n let match = null\n let lastIndex = 0\n\n pattern.lastIndex = 0\n while ((match = pattern.exec(str)) != null) {\n if (escaped || !isEscaped(str, match.index)) {\n lastIndex = pattern.lastIndex\n yield match\n pattern.lastIndex = lastIndex\n }\n }\n }\n\n /**\n * Check whether the pattern is found in a given string.\n * @param {string} str The string to check.\n * @returns {boolean} `true` if the pattern was found in the string.\n */\n test(str) {\n const it = this.execAll(str)\n const ret = it.next()\n return !ret.done\n }\n\n /**\n * Replace a given string.\n * @param {string} str The string to be replaced.\n * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`.\n * @returns {string} The replaced string.\n */\n [Symbol.replace](str, replacer) {\n return typeof replacer === \"function\"\n ? replaceF(this, String(str), replacer)\n : replaceS(this, String(str), String(replacer))\n }\n}\n","import { findVariable } from \"./find-variable\"\nimport { getPropertyName } from \"./get-property-name\"\nimport { getStringIfConstant } from \"./get-string-if-constant\"\n\nconst IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u\nconst has = Function.call.bind(Object.hasOwnProperty)\n\nexport const READ = Symbol(\"read\")\nexport const CALL = Symbol(\"call\")\nexport const CONSTRUCT = Symbol(\"construct\")\nexport const ESM = Symbol(\"esm\")\n\nconst requireCall = { require: { [CALL]: true } }\n\n/**\n * Check whether a given variable is modified or not.\n * @param {Variable} variable The variable to check.\n * @returns {boolean} `true` if the variable is modified.\n */\nfunction isModifiedGlobal(variable) {\n return (\n variable == null ||\n variable.defs.length !== 0 ||\n variable.references.some((r) => r.isWrite())\n )\n}\n\n/**\n * Check if the value of a given node is passed through to the parent syntax as-is.\n * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through.\n * @param {Node} node A node to check.\n * @returns {boolean} `true` if the node is passed through.\n */\nfunction isPassThrough(node) {\n const parent = node.parent\n\n switch (parent && parent.type) {\n case \"ConditionalExpression\":\n return parent.consequent === node || parent.alternate === node\n case \"LogicalExpression\":\n return true\n case \"SequenceExpression\":\n return parent.expressions[parent.expressions.length - 1] === node\n case \"ChainExpression\":\n return true\n\n default:\n return false\n }\n}\n\n/**\n * The reference tracker.\n */\nexport class ReferenceTracker {\n /**\n * Initialize this tracker.\n * @param {Scope} globalScope The global scope.\n * @param {object} [options] The options.\n * @param {\"legacy\"|\"strict\"} [options.mode=\"strict\"] The mode to determine the ImportDeclaration's behavior for CJS modules.\n * @param {string[]} [options.globalObjectNames=[\"global\",\"globalThis\",\"self\",\"window\"]] The variable names for Global Object.\n */\n constructor(\n globalScope,\n {\n mode = \"strict\",\n globalObjectNames = [\"global\", \"globalThis\", \"self\", \"window\"],\n } = {},\n ) {\n this.variableStack = []\n this.globalScope = globalScope\n this.mode = mode\n this.globalObjectNames = globalObjectNames.slice(0)\n }\n\n /**\n * Iterate the references of global variables.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateGlobalReferences(traceMap) {\n for (const key of Object.keys(traceMap)) {\n const nextTraceMap = traceMap[key]\n const path = [key]\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n nextTraceMap,\n true,\n )\n }\n\n for (const key of this.globalObjectNames) {\n const path = []\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n }\n\n /**\n * Iterate the references of CommonJS modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateCjsReferences(traceMap) {\n for (const { node } of this.iterateGlobalReferences(requireCall)) {\n const key = getStringIfConstant(node.arguments[0])\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextTraceMap = traceMap[key]\n const path = [key]\n\n if (nextTraceMap[READ]) {\n yield {\n node,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(node, path, nextTraceMap)\n }\n }\n\n /**\n * Iterate the references of ES modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateEsmReferences(traceMap) {\n const programNode = this.globalScope.block\n\n for (const node of programNode.body) {\n if (!IMPORT_TYPE.test(node.type) || node.source == null) {\n continue\n }\n const moduleId = node.source.value\n\n if (!has(traceMap, moduleId)) {\n continue\n }\n const nextTraceMap = traceMap[moduleId]\n const path = [moduleId]\n\n if (nextTraceMap[READ]) {\n yield { node, path, type: READ, info: nextTraceMap[READ] }\n }\n\n if (node.type === \"ExportAllDeclaration\") {\n for (const key of Object.keys(nextTraceMap)) {\n const exportTraceMap = nextTraceMap[key]\n if (exportTraceMap[READ]) {\n yield {\n node,\n path: path.concat(key),\n type: READ,\n info: exportTraceMap[READ],\n }\n }\n }\n } else {\n for (const specifier of node.specifiers) {\n const esm = has(nextTraceMap, ESM)\n const it = this._iterateImportReferences(\n specifier,\n path,\n esm\n ? nextTraceMap\n : this.mode === \"legacy\"\n ? { default: nextTraceMap, ...nextTraceMap }\n : { default: nextTraceMap },\n )\n\n if (esm) {\n yield* it\n } else {\n for (const report of it) {\n report.path = report.path.filter(exceptDefault)\n if (\n report.path.length >= 2 ||\n report.type !== READ\n ) {\n yield report\n }\n }\n }\n }\n }\n }\n }\n\n /**\n * Iterate the references for a given variable.\n * @param {Variable} variable The variable to iterate that references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @param {boolean} shouldReport = The flag to report those references.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateVariableReferences(variable, path, traceMap, shouldReport) {\n if (this.variableStack.includes(variable)) {\n return\n }\n this.variableStack.push(variable)\n try {\n for (const reference of variable.references) {\n if (!reference.isRead()) {\n continue\n }\n const node = reference.identifier\n\n if (shouldReport && traceMap[READ]) {\n yield { node, path, type: READ, info: traceMap[READ] }\n }\n yield* this._iteratePropertyReferences(node, path, traceMap)\n }\n } finally {\n this.variableStack.pop()\n }\n }\n\n /**\n * Iterate the references for a given AST node.\n * @param rootNode The AST node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n //eslint-disable-next-line complexity\n *_iteratePropertyReferences(rootNode, path, traceMap) {\n let node = rootNode\n while (isPassThrough(node)) {\n node = node.parent\n }\n\n const parent = node.parent\n if (parent.type === \"MemberExpression\") {\n if (parent.object === node) {\n const key = getPropertyName(parent)\n if (key == null || !has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: parent,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(\n parent,\n path,\n nextTraceMap,\n )\n }\n return\n }\n if (parent.type === \"CallExpression\") {\n if (parent.callee === node && traceMap[CALL]) {\n yield { node: parent, path, type: CALL, info: traceMap[CALL] }\n }\n return\n }\n if (parent.type === \"NewExpression\") {\n if (parent.callee === node && traceMap[CONSTRUCT]) {\n yield {\n node: parent,\n path,\n type: CONSTRUCT,\n info: traceMap[CONSTRUCT],\n }\n }\n return\n }\n if (parent.type === \"AssignmentExpression\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n yield* this._iteratePropertyReferences(parent, path, traceMap)\n }\n return\n }\n if (parent.type === \"AssignmentPattern\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n }\n return\n }\n if (parent.type === \"VariableDeclarator\") {\n if (parent.init === node) {\n yield* this._iterateLhsReferences(parent.id, path, traceMap)\n }\n }\n }\n\n /**\n * Iterate the references for a given Pattern node.\n * @param {Node} patternNode The Pattern node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateLhsReferences(patternNode, path, traceMap) {\n if (patternNode.type === \"Identifier\") {\n const variable = findVariable(this.globalScope, patternNode)\n if (variable != null) {\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n return\n }\n if (patternNode.type === \"ObjectPattern\") {\n for (const property of patternNode.properties) {\n const key = getPropertyName(property)\n\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextPath = path.concat(key)\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: property,\n path: nextPath,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateLhsReferences(\n property.value,\n nextPath,\n nextTraceMap,\n )\n }\n return\n }\n if (patternNode.type === \"AssignmentPattern\") {\n yield* this._iterateLhsReferences(patternNode.left, path, traceMap)\n }\n }\n\n /**\n * Iterate the references for a given ModuleSpecifier node.\n * @param {Node} specifierNode The ModuleSpecifier node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateImportReferences(specifierNode, path, traceMap) {\n const type = specifierNode.type\n\n if (type === \"ImportSpecifier\" || type === \"ImportDefaultSpecifier\") {\n const key =\n type === \"ImportDefaultSpecifier\"\n ? \"default\"\n : specifierNode.imported.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n nextTraceMap,\n false,\n )\n\n return\n }\n\n if (type === \"ImportNamespaceSpecifier\") {\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n traceMap,\n false,\n )\n return\n }\n\n if (type === \"ExportSpecifier\") {\n const key = specifierNode.local.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n }\n }\n}\n\nReferenceTracker.READ = READ\nReferenceTracker.CALL = CALL\nReferenceTracker.CONSTRUCT = CONSTRUCT\nReferenceTracker.ESM = ESM\n\n/**\n * This is a predicate function for Array#filter.\n * @param {string} name A name part.\n * @param {number} index The index of the name.\n * @returns {boolean} `false` if it's default.\n */\nfunction exceptDefault(name, index) {\n return !(index === 1 && name === \"default\")\n}\n","import { findVariable } from \"./find-variable\"\nimport { getFunctionHeadLocation } from \"./get-function-head-location\"\nimport { getFunctionNameWithKind } from \"./get-function-name-with-kind\"\nimport { getInnermostScope } from \"./get-innermost-scope\"\nimport { getPropertyName } from \"./get-property-name\"\nimport { getStaticValue } from \"./get-static-value\"\nimport { getStringIfConstant } from \"./get-string-if-constant\"\nimport { hasSideEffect } from \"./has-side-effect\"\nimport { isParenthesized } from \"./is-parenthesized\"\nimport { PatternMatcher } from \"./pattern-matcher\"\nimport {\n CALL,\n CONSTRUCT,\n ESM,\n READ,\n ReferenceTracker,\n} from \"./reference-tracker\"\nimport {\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isSemicolonToken,\n} from \"./token-predicate\"\n\nexport default {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\nexport {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs new file mode 100644 index 000000000..50edb341d --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs @@ -0,0 +1,1914 @@ +/*! @author Toru Nagashima */ +import evk from 'eslint-visitor-keys'; + +/** + * Get the innermost scope which contains a given location. + * @param {Scope} initialScope The initial scope to search. + * @param {Node} node The location to search. + * @returns {Scope} The innermost scope. + */ +function getInnermostScope(initialScope, node) { + const location = node.range[0]; + + let scope = initialScope; + let found = false; + do { + found = false; + for (const childScope of scope.childScopes) { + const range = childScope.block.range; + + if (range[0] <= location && location < range[1]) { + scope = childScope; + found = true; + break + } + } + } while (found) + + return scope +} + +/** + * Find the variable of a given name. + * @param {Scope} initialScope The scope to start finding. + * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node. + * @returns {Variable|null} The found variable or null. + */ +function findVariable(initialScope, nameOrNode) { + let name = ""; + let scope = initialScope; + + if (typeof nameOrNode === "string") { + name = nameOrNode; + } else { + name = nameOrNode.name; + scope = getInnermostScope(scope, nameOrNode); + } + + while (scope != null) { + const variable = scope.set.get(name); + if (variable != null) { + return variable + } + scope = scope.upper; + } + + return null +} + +/** + * Negate the result of `this` calling. + * @param {Token} token The token to check. + * @returns {boolean} `true` if the result of `this(token)` is `false`. + */ +function negate0(token) { + return !this(token) //eslint-disable-line no-invalid-this +} + +/** + * Creates the negate function of the given function. + * @param {function(Token):boolean} f - The function to negate. + * @returns {function(Token):boolean} Negated function. + */ +function negate(f) { + return negate0.bind(f) +} + +/** + * Checks if the given token is a PunctuatorToken with the given value + * @param {Token} token - The token to check. + * @param {string} value - The value to check. + * @returns {boolean} `true` if the token is a PunctuatorToken with the given value. + */ +function isPunctuatorTokenWithValue(token, value) { + return token.type === "Punctuator" && token.value === value +} + +/** + * Checks if the given token is an arrow token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an arrow token. + */ +function isArrowToken(token) { + return isPunctuatorTokenWithValue(token, "=>") +} + +/** + * Checks if the given token is a comma token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a comma token. + */ +function isCommaToken(token) { + return isPunctuatorTokenWithValue(token, ",") +} + +/** + * Checks if the given token is a semicolon token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a semicolon token. + */ +function isSemicolonToken(token) { + return isPunctuatorTokenWithValue(token, ";") +} + +/** + * Checks if the given token is a colon token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a colon token. + */ +function isColonToken(token) { + return isPunctuatorTokenWithValue(token, ":") +} + +/** + * Checks if the given token is an opening parenthesis token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening parenthesis token. + */ +function isOpeningParenToken(token) { + return isPunctuatorTokenWithValue(token, "(") +} + +/** + * Checks if the given token is a closing parenthesis token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing parenthesis token. + */ +function isClosingParenToken(token) { + return isPunctuatorTokenWithValue(token, ")") +} + +/** + * Checks if the given token is an opening square bracket token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening square bracket token. + */ +function isOpeningBracketToken(token) { + return isPunctuatorTokenWithValue(token, "[") +} + +/** + * Checks if the given token is a closing square bracket token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing square bracket token. + */ +function isClosingBracketToken(token) { + return isPunctuatorTokenWithValue(token, "]") +} + +/** + * Checks if the given token is an opening brace token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is an opening brace token. + */ +function isOpeningBraceToken(token) { + return isPunctuatorTokenWithValue(token, "{") +} + +/** + * Checks if the given token is a closing brace token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a closing brace token. + */ +function isClosingBraceToken(token) { + return isPunctuatorTokenWithValue(token, "}") +} + +/** + * Checks if the given token is a comment token or not. + * @param {Token} token - The token to check. + * @returns {boolean} `true` if the token is a comment token. + */ +function isCommentToken(token) { + return ["Block", "Line", "Shebang"].includes(token.type) +} + +const isNotArrowToken = negate(isArrowToken); +const isNotCommaToken = negate(isCommaToken); +const isNotSemicolonToken = negate(isSemicolonToken); +const isNotColonToken = negate(isColonToken); +const isNotOpeningParenToken = negate(isOpeningParenToken); +const isNotClosingParenToken = negate(isClosingParenToken); +const isNotOpeningBracketToken = negate(isOpeningBracketToken); +const isNotClosingBracketToken = negate(isClosingBracketToken); +const isNotOpeningBraceToken = negate(isOpeningBraceToken); +const isNotClosingBraceToken = negate(isClosingBraceToken); +const isNotCommentToken = negate(isCommentToken); + +/** + * Get the `(` token of the given function node. + * @param {Node} node - The function node to get. + * @param {SourceCode} sourceCode - The source code object to get tokens. + * @returns {Token} `(` token. + */ +function getOpeningParenOfParams(node, sourceCode) { + return node.id + ? sourceCode.getTokenAfter(node.id, isOpeningParenToken) + : sourceCode.getFirstToken(node, isOpeningParenToken) +} + +/** + * Get the location of the given function node for reporting. + * @param {Node} node - The function node to get. + * @param {SourceCode} sourceCode - The source code object to get tokens. + * @returns {string} The location of the function node for reporting. + */ +function getFunctionHeadLocation(node, sourceCode) { + const parent = node.parent; + let start = null; + let end = null; + + if (node.type === "ArrowFunctionExpression") { + const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken); + + start = arrowToken.loc.start; + end = arrowToken.loc.end; + } else if ( + parent.type === "Property" || + parent.type === "MethodDefinition" || + parent.type === "PropertyDefinition" + ) { + start = parent.loc.start; + end = getOpeningParenOfParams(node, sourceCode).loc.start; + } else { + start = node.loc.start; + end = getOpeningParenOfParams(node, sourceCode).loc.start; + } + + return { + start: { ...start }, + end: { ...end }, + } +} + +/* globals globalThis, global, self, window */ + +const globalObject = + typeof globalThis !== "undefined" + ? globalThis + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : typeof global !== "undefined" + ? global + : {}; + +const builtinNames = Object.freeze( + new Set([ + "Array", + "ArrayBuffer", + "BigInt", + "BigInt64Array", + "BigUint64Array", + "Boolean", + "DataView", + "Date", + "decodeURI", + "decodeURIComponent", + "encodeURI", + "encodeURIComponent", + "escape", + "Float32Array", + "Float64Array", + "Function", + "Infinity", + "Int16Array", + "Int32Array", + "Int8Array", + "isFinite", + "isNaN", + "isPrototypeOf", + "JSON", + "Map", + "Math", + "NaN", + "Number", + "Object", + "parseFloat", + "parseInt", + "Promise", + "Proxy", + "Reflect", + "RegExp", + "Set", + "String", + "Symbol", + "Uint16Array", + "Uint32Array", + "Uint8Array", + "Uint8ClampedArray", + "undefined", + "unescape", + "WeakMap", + "WeakSet", + ]), +); +const callAllowed = new Set( + [ + Array.isArray, + typeof BigInt === "function" ? BigInt : undefined, + Boolean, + Date, + Date.parse, + decodeURI, + decodeURIComponent, + encodeURI, + encodeURIComponent, + escape, + isFinite, + isNaN, + isPrototypeOf, + ...Object.getOwnPropertyNames(Math) + .map((k) => Math[k]) + .filter((f) => typeof f === "function"), + Number, + Number.isFinite, + Number.isNaN, + Number.parseFloat, + Number.parseInt, + Object, + Object.entries, + Object.is, + Object.isExtensible, + Object.isFrozen, + Object.isSealed, + Object.keys, + Object.values, + parseFloat, + parseInt, + RegExp, + String, + String.fromCharCode, + String.fromCodePoint, + String.raw, + Symbol.for, + Symbol.keyFor, + unescape, + ].filter((f) => typeof f === "function"), +); +const callPassThrough = new Set([ + Object.freeze, + Object.preventExtensions, + Object.seal, +]); + +/** + * Get the property descriptor. + * @param {object} object The object to get. + * @param {string|number|symbol} name The property name to get. + */ +function getPropertyDescriptor(object, name) { + let x = object; + while ((typeof x === "object" || typeof x === "function") && x !== null) { + const d = Object.getOwnPropertyDescriptor(x, name); + if (d) { + return d + } + x = Object.getPrototypeOf(x); + } + return null +} + +/** + * Check if a property is getter or not. + * @param {object} object The object to check. + * @param {string|number|symbol} name The property name to check. + */ +function isGetter(object, name) { + const d = getPropertyDescriptor(object, name); + return d != null && d.get != null +} + +/** + * Get the element values of a given node list. + * @param {Node[]} nodeList The node list to get values. + * @param {Scope|undefined} initialScope The initial scope to find variables. + * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null. + */ +function getElementValues(nodeList, initialScope) { + const valueList = []; + + for (let i = 0; i < nodeList.length; ++i) { + const elementNode = nodeList[i]; + + if (elementNode == null) { + valueList.length = i + 1; + } else if (elementNode.type === "SpreadElement") { + const argument = getStaticValueR(elementNode.argument, initialScope); + if (argument == null) { + return null + } + valueList.push(...argument.value); + } else { + const element = getStaticValueR(elementNode, initialScope); + if (element == null) { + return null + } + valueList.push(element.value); + } + } + + return valueList +} + +const operations = Object.freeze({ + ArrayExpression(node, initialScope) { + const elements = getElementValues(node.elements, initialScope); + return elements != null ? { value: elements } : null + }, + + AssignmentExpression(node, initialScope) { + if (node.operator === "=") { + return getStaticValueR(node.right, initialScope) + } + return null + }, + + //eslint-disable-next-line complexity + BinaryExpression(node, initialScope) { + if (node.operator === "in" || node.operator === "instanceof") { + // Not supported. + return null + } + + const left = getStaticValueR(node.left, initialScope); + const right = getStaticValueR(node.right, initialScope); + if (left != null && right != null) { + switch (node.operator) { + case "==": + return { value: left.value == right.value } //eslint-disable-line eqeqeq + case "!=": + return { value: left.value != right.value } //eslint-disable-line eqeqeq + case "===": + return { value: left.value === right.value } + case "!==": + return { value: left.value !== right.value } + case "<": + return { value: left.value < right.value } + case "<=": + return { value: left.value <= right.value } + case ">": + return { value: left.value > right.value } + case ">=": + return { value: left.value >= right.value } + case "<<": + return { value: left.value << right.value } + case ">>": + return { value: left.value >> right.value } + case ">>>": + return { value: left.value >>> right.value } + case "+": + return { value: left.value + right.value } + case "-": + return { value: left.value - right.value } + case "*": + return { value: left.value * right.value } + case "/": + return { value: left.value / right.value } + case "%": + return { value: left.value % right.value } + case "**": + return { value: Math.pow(left.value, right.value) } + case "|": + return { value: left.value | right.value } + case "^": + return { value: left.value ^ right.value } + case "&": + return { value: left.value & right.value } + + // no default + } + } + + return null + }, + + CallExpression(node, initialScope) { + const calleeNode = node.callee; + const args = getElementValues(node.arguments, initialScope); + + if (args != null) { + if (calleeNode.type === "MemberExpression") { + if (calleeNode.property.type === "PrivateIdentifier") { + return null + } + const object = getStaticValueR(calleeNode.object, initialScope); + if (object != null) { + if ( + object.value == null && + (object.optional || node.optional) + ) { + return { value: undefined, optional: true } + } + const property = getStaticPropertyNameValue( + calleeNode, + initialScope, + ); + + if (property != null) { + const receiver = object.value; + const methodName = property.value; + if (callAllowed.has(receiver[methodName])) { + return { value: receiver[methodName](...args) } + } + if (callPassThrough.has(receiver[methodName])) { + return { value: args[0] } + } + } + } + } else { + const callee = getStaticValueR(calleeNode, initialScope); + if (callee != null) { + if (callee.value == null && node.optional) { + return { value: undefined, optional: true } + } + const func = callee.value; + if (callAllowed.has(func)) { + return { value: func(...args) } + } + if (callPassThrough.has(func)) { + return { value: args[0] } + } + } + } + } + + return null + }, + + ConditionalExpression(node, initialScope) { + const test = getStaticValueR(node.test, initialScope); + if (test != null) { + return test.value + ? getStaticValueR(node.consequent, initialScope) + : getStaticValueR(node.alternate, initialScope) + } + return null + }, + + ExpressionStatement(node, initialScope) { + return getStaticValueR(node.expression, initialScope) + }, + + Identifier(node, initialScope) { + if (initialScope != null) { + const variable = findVariable(initialScope, node); + + // Built-in globals. + if ( + variable != null && + variable.defs.length === 0 && + builtinNames.has(variable.name) && + variable.name in globalObject + ) { + return { value: globalObject[variable.name] } + } + + // Constants. + if (variable != null && variable.defs.length === 1) { + const def = variable.defs[0]; + if ( + def.parent && + def.parent.kind === "const" && + // TODO(mysticatea): don't support destructuring here. + def.node.id.type === "Identifier" + ) { + return getStaticValueR(def.node.init, initialScope) + } + } + } + return null + }, + + Literal(node) { + //istanbul ignore if : this is implementation-specific behavior. + if ((node.regex != null || node.bigint != null) && node.value == null) { + // It was a RegExp/BigInt literal, but Node.js didn't support it. + return null + } + return { value: node.value } + }, + + LogicalExpression(node, initialScope) { + const left = getStaticValueR(node.left, initialScope); + if (left != null) { + if ( + (node.operator === "||" && Boolean(left.value) === true) || + (node.operator === "&&" && Boolean(left.value) === false) || + (node.operator === "??" && left.value != null) + ) { + return left + } + + const right = getStaticValueR(node.right, initialScope); + if (right != null) { + return right + } + } + + return null + }, + + MemberExpression(node, initialScope) { + if (node.property.type === "PrivateIdentifier") { + return null + } + const object = getStaticValueR(node.object, initialScope); + if (object != null) { + if (object.value == null && (object.optional || node.optional)) { + return { value: undefined, optional: true } + } + const property = getStaticPropertyNameValue(node, initialScope); + + if (property != null && !isGetter(object.value, property.value)) { + return { value: object.value[property.value] } + } + } + return null + }, + + ChainExpression(node, initialScope) { + const expression = getStaticValueR(node.expression, initialScope); + if (expression != null) { + return { value: expression.value } + } + return null + }, + + NewExpression(node, initialScope) { + const callee = getStaticValueR(node.callee, initialScope); + const args = getElementValues(node.arguments, initialScope); + + if (callee != null && args != null) { + const Func = callee.value; + if (callAllowed.has(Func)) { + return { value: new Func(...args) } + } + } + + return null + }, + + ObjectExpression(node, initialScope) { + const object = {}; + + for (const propertyNode of node.properties) { + if (propertyNode.type === "Property") { + if (propertyNode.kind !== "init") { + return null + } + const key = getStaticPropertyNameValue( + propertyNode, + initialScope, + ); + const value = getStaticValueR(propertyNode.value, initialScope); + if (key == null || value == null) { + return null + } + object[key.value] = value.value; + } else if ( + propertyNode.type === "SpreadElement" || + propertyNode.type === "ExperimentalSpreadProperty" + ) { + const argument = getStaticValueR( + propertyNode.argument, + initialScope, + ); + if (argument == null) { + return null + } + Object.assign(object, argument.value); + } else { + return null + } + } + + return { value: object } + }, + + SequenceExpression(node, initialScope) { + const last = node.expressions[node.expressions.length - 1]; + return getStaticValueR(last, initialScope) + }, + + TaggedTemplateExpression(node, initialScope) { + const tag = getStaticValueR(node.tag, initialScope); + const expressions = getElementValues( + node.quasi.expressions, + initialScope, + ); + + if (tag != null && expressions != null) { + const func = tag.value; + const strings = node.quasi.quasis.map((q) => q.value.cooked); + strings.raw = node.quasi.quasis.map((q) => q.value.raw); + + if (func === String.raw) { + return { value: func(strings, ...expressions) } + } + } + + return null + }, + + TemplateLiteral(node, initialScope) { + const expressions = getElementValues(node.expressions, initialScope); + if (expressions != null) { + let value = node.quasis[0].value.cooked; + for (let i = 0; i < expressions.length; ++i) { + value += expressions[i]; + value += node.quasis[i + 1].value.cooked; + } + return { value } + } + return null + }, + + UnaryExpression(node, initialScope) { + if (node.operator === "delete") { + // Not supported. + return null + } + if (node.operator === "void") { + return { value: undefined } + } + + const arg = getStaticValueR(node.argument, initialScope); + if (arg != null) { + switch (node.operator) { + case "-": + return { value: -arg.value } + case "+": + return { value: +arg.value } //eslint-disable-line no-implicit-coercion + case "!": + return { value: !arg.value } + case "~": + return { value: ~arg.value } + case "typeof": + return { value: typeof arg.value } + + // no default + } + } + + return null + }, +}); + +/** + * Get the value of a given node if it's a static value. + * @param {Node} node The node to get. + * @param {Scope|undefined} initialScope The scope to start finding variable. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. + */ +function getStaticValueR(node, initialScope) { + if (node != null && Object.hasOwnProperty.call(operations, node.type)) { + return operations[node.type](node, initialScope) + } + return null +} + +/** + * Get the static value of property name from a MemberExpression node or a Property node. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`. + */ +function getStaticPropertyNameValue(node, initialScope) { + const nameNode = node.type === "Property" ? node.key : node.property; + + if (node.computed) { + return getStaticValueR(nameNode, initialScope) + } + + if (nameNode.type === "Identifier") { + return { value: nameNode.name } + } + + if (nameNode.type === "Literal") { + if (nameNode.bigint) { + return { value: nameNode.bigint } + } + return { value: String(nameNode.value) } + } + + return null +} + +/** + * Get the value of a given node if it's a static value. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible. + * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. + */ +function getStaticValue(node, initialScope = null) { + try { + return getStaticValueR(node, initialScope) + } catch (_error) { + return null + } +} + +/** + * Get the value of a given node if it's a literal or a template literal. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant. + * @returns {string|null} The value of the node, or `null`. + */ +function getStringIfConstant(node, initialScope = null) { + // Handle the literals that the platform doesn't support natively. + if (node && node.type === "Literal" && node.value === null) { + if (node.regex) { + return `/${node.regex.pattern}/${node.regex.flags}` + } + if (node.bigint) { + return node.bigint + } + } + + const evaluated = getStaticValue(node, initialScope); + return evaluated && String(evaluated.value) +} + +/** + * Get the property name from a MemberExpression node or a Property node. + * @param {Node} node The node to get. + * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. + * @returns {string|null} The property name of the node. + */ +function getPropertyName(node, initialScope) { + switch (node.type) { + case "MemberExpression": + if (node.computed) { + return getStringIfConstant(node.property, initialScope) + } + if (node.property.type === "PrivateIdentifier") { + return null + } + return node.property.name + + case "Property": + case "MethodDefinition": + case "PropertyDefinition": + if (node.computed) { + return getStringIfConstant(node.key, initialScope) + } + if (node.key.type === "Literal") { + return String(node.key.value) + } + if (node.key.type === "PrivateIdentifier") { + return null + } + return node.key.name + + // no default + } + + return null +} + +/** + * Get the name and kind of the given function node. + * @param {ASTNode} node - The function node to get. + * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys. + * @returns {string} The name and kind of the function node. + */ +// eslint-disable-next-line complexity +function getFunctionNameWithKind(node, sourceCode) { + const parent = node.parent; + const tokens = []; + const isObjectMethod = parent.type === "Property" && parent.value === node; + const isClassMethod = + parent.type === "MethodDefinition" && parent.value === node; + const isClassFieldMethod = + parent.type === "PropertyDefinition" && parent.value === node; + + // Modifiers. + if (isClassMethod || isClassFieldMethod) { + if (parent.static) { + tokens.push("static"); + } + if (parent.key.type === "PrivateIdentifier") { + tokens.push("private"); + } + } + if (node.async) { + tokens.push("async"); + } + if (node.generator) { + tokens.push("generator"); + } + + // Kinds. + if (isObjectMethod || isClassMethod) { + if (parent.kind === "constructor") { + return "constructor" + } + if (parent.kind === "get") { + tokens.push("getter"); + } else if (parent.kind === "set") { + tokens.push("setter"); + } else { + tokens.push("method"); + } + } else if (isClassFieldMethod) { + tokens.push("method"); + } else { + if (node.type === "ArrowFunctionExpression") { + tokens.push("arrow"); + } + tokens.push("function"); + } + + // Names. + if (isObjectMethod || isClassMethod || isClassFieldMethod) { + if (parent.key.type === "PrivateIdentifier") { + tokens.push(`#${parent.key.name}`); + } else { + const name = getPropertyName(parent); + if (name) { + tokens.push(`'${name}'`); + } else if (sourceCode) { + const keyText = sourceCode.getText(parent.key); + if (!keyText.includes("\n")) { + tokens.push(`[${keyText}]`); + } + } + } + } else if (node.id) { + tokens.push(`'${node.id.name}'`); + } else if ( + parent.type === "VariableDeclarator" && + parent.id && + parent.id.type === "Identifier" + ) { + tokens.push(`'${parent.id.name}'`); + } else if ( + (parent.type === "AssignmentExpression" || + parent.type === "AssignmentPattern") && + parent.left && + parent.left.type === "Identifier" + ) { + tokens.push(`'${parent.left.name}'`); + } + + return tokens.join(" ") +} + +const typeConversionBinaryOps = Object.freeze( + new Set([ + "==", + "!=", + "<", + "<=", + ">", + ">=", + "<<", + ">>", + ">>>", + "+", + "-", + "*", + "/", + "%", + "|", + "^", + "&", + "in", + ]), +); +const typeConversionUnaryOps = Object.freeze(new Set(["-", "+", "!", "~"])); + +/** + * Check whether the given value is an ASTNode or not. + * @param {any} x The value to check. + * @returns {boolean} `true` if the value is an ASTNode. + */ +function isNode(x) { + return x !== null && typeof x === "object" && typeof x.type === "string" +} + +const visitor = Object.freeze( + Object.assign(Object.create(null), { + $visit(node, options, visitorKeys) { + const { type } = node; + + if (typeof this[type] === "function") { + return this[type](node, options, visitorKeys) + } + + return this.$visitChildren(node, options, visitorKeys) + }, + + $visitChildren(node, options, visitorKeys) { + const { type } = node; + + for (const key of visitorKeys[type] || evk.getKeys(node)) { + const value = node[key]; + + if (Array.isArray(value)) { + for (const element of value) { + if ( + isNode(element) && + this.$visit(element, options, visitorKeys) + ) { + return true + } + } + } else if ( + isNode(value) && + this.$visit(value, options, visitorKeys) + ) { + return true + } + } + + return false + }, + + ArrowFunctionExpression() { + return false + }, + AssignmentExpression() { + return true + }, + AwaitExpression() { + return true + }, + BinaryExpression(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + typeConversionBinaryOps.has(node.operator) && + (node.left.type !== "Literal" || node.right.type !== "Literal") + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + CallExpression() { + return true + }, + FunctionExpression() { + return false + }, + ImportExpression() { + return true + }, + MemberExpression(node, options, visitorKeys) { + if (options.considerGetters) { + return true + } + if ( + options.considerImplicitTypeConversion && + node.computed && + node.property.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + MethodDefinition(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + NewExpression() { + return true + }, + Property(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + PropertyDefinition(node, options, visitorKeys) { + if ( + options.considerImplicitTypeConversion && + node.computed && + node.key.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + UnaryExpression(node, options, visitorKeys) { + if (node.operator === "delete") { + return true + } + if ( + options.considerImplicitTypeConversion && + typeConversionUnaryOps.has(node.operator) && + node.argument.type !== "Literal" + ) { + return true + } + return this.$visitChildren(node, options, visitorKeys) + }, + UpdateExpression() { + return true + }, + YieldExpression() { + return true + }, + }), +); + +/** + * Check whether a given node has any side effect or not. + * @param {Node} node The node to get. + * @param {SourceCode} sourceCode The source code object. + * @param {object} [options] The option object. + * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects. + * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects. + * @param {object} [options.visitorKeys=evk.KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`. + * @returns {boolean} `true` if the node has a certain side effect. + */ +function hasSideEffect( + node, + sourceCode, + { considerGetters = false, considerImplicitTypeConversion = false } = {}, +) { + return visitor.$visit( + node, + { considerGetters, considerImplicitTypeConversion }, + sourceCode.visitorKeys || evk.KEYS, + ) +} + +/** + * Get the left parenthesis of the parent node syntax if it exists. + * E.g., `if (a) {}` then the `(`. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {Token|null} The left parenthesis of the parent node syntax + */ +function getParentSyntaxParen(node, sourceCode) { + const parent = node.parent; + + switch (parent.type) { + case "CallExpression": + case "NewExpression": + if (parent.arguments.length === 1 && parent.arguments[0] === node) { + return sourceCode.getTokenAfter( + parent.callee, + isOpeningParenToken, + ) + } + return null + + case "DoWhileStatement": + if (parent.test === node) { + return sourceCode.getTokenAfter( + parent.body, + isOpeningParenToken, + ) + } + return null + + case "IfStatement": + case "WhileStatement": + if (parent.test === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "ImportExpression": + if (parent.source === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "SwitchStatement": + if (parent.discriminant === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + case "WithStatement": + if (parent.object === node) { + return sourceCode.getFirstToken(parent, 1) + } + return null + + default: + return null + } +} + +/** + * Check whether a given node is parenthesized or not. + * @param {number} times The number of parantheses. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {boolean} `true` if the node is parenthesized the given times. + */ +/** + * Check whether a given node is parenthesized or not. + * @param {Node} node The AST node to check. + * @param {SourceCode} sourceCode The source code object to get tokens. + * @returns {boolean} `true` if the node is parenthesized. + */ +function isParenthesized( + timesOrNode, + nodeOrSourceCode, + optionalSourceCode, +) { + let times, node, sourceCode, maybeLeftParen, maybeRightParen; + if (typeof timesOrNode === "number") { + times = timesOrNode | 0; + node = nodeOrSourceCode; + sourceCode = optionalSourceCode; + if (!(times >= 1)) { + throw new TypeError("'times' should be a positive integer.") + } + } else { + times = 1; + node = timesOrNode; + sourceCode = nodeOrSourceCode; + } + + if ( + node == null || + // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}` + (node.parent.type === "CatchClause" && node.parent.param === node) + ) { + return false + } + + maybeLeftParen = maybeRightParen = node; + do { + maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen); + maybeRightParen = sourceCode.getTokenAfter(maybeRightParen); + } while ( + maybeLeftParen != null && + maybeRightParen != null && + isOpeningParenToken(maybeLeftParen) && + isClosingParenToken(maybeRightParen) && + // Avoid false positive such as `if (a) {}` + maybeLeftParen !== getParentSyntaxParen(node, sourceCode) && + --times > 0 + ) + + return times === 0 +} + +/** + * @author Toru Nagashima + * See LICENSE file in root directory for full license. + */ + +const placeholder = /\$(?:[$&`']|[1-9][0-9]?)/gu; + +/** @type {WeakMap} */ +const internal = new WeakMap(); + +/** + * Check whether a given character is escaped or not. + * @param {string} str The string to check. + * @param {number} index The location of the character to check. + * @returns {boolean} `true` if the character is escaped. + */ +function isEscaped(str, index) { + let escaped = false; + for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) { + escaped = !escaped; + } + return escaped +} + +/** + * Replace a given string by a given matcher. + * @param {PatternMatcher} matcher The pattern matcher. + * @param {string} str The string to be replaced. + * @param {string} replacement The new substring to replace each matched part. + * @returns {string} The replaced string. + */ +function replaceS(matcher, str, replacement) { + const chunks = []; + let index = 0; + + /** @type {RegExpExecArray} */ + let match = null; + + /** + * @param {string} key The placeholder. + * @returns {string} The replaced string. + */ + function replacer(key) { + switch (key) { + case "$$": + return "$" + case "$&": + return match[0] + case "$`": + return str.slice(0, match.index) + case "$'": + return str.slice(match.index + match[0].length) + default: { + const i = key.slice(1); + if (i in match) { + return match[i] + } + return key + } + } + } + + for (match of matcher.execAll(str)) { + chunks.push(str.slice(index, match.index)); + chunks.push(replacement.replace(placeholder, replacer)); + index = match.index + match[0].length; + } + chunks.push(str.slice(index)); + + return chunks.join("") +} + +/** + * Replace a given string by a given matcher. + * @param {PatternMatcher} matcher The pattern matcher. + * @param {string} str The string to be replaced. + * @param {(...strs[])=>string} replace The function to replace each matched part. + * @returns {string} The replaced string. + */ +function replaceF(matcher, str, replace) { + const chunks = []; + let index = 0; + + for (const match of matcher.execAll(str)) { + chunks.push(str.slice(index, match.index)); + chunks.push(String(replace(...match, match.index, match.input))); + index = match.index + match[0].length; + } + chunks.push(str.slice(index)); + + return chunks.join("") +} + +/** + * The class to find patterns as considering escape sequences. + */ +class PatternMatcher { + /** + * Initialize this matcher. + * @param {RegExp} pattern The pattern to match. + * @param {{escaped:boolean}} options The options. + */ + constructor(pattern, { escaped = false } = {}) { + if (!(pattern instanceof RegExp)) { + throw new TypeError("'pattern' should be a RegExp instance.") + } + if (!pattern.flags.includes("g")) { + throw new Error("'pattern' should contains 'g' flag.") + } + + internal.set(this, { + pattern: new RegExp(pattern.source, pattern.flags), + escaped: Boolean(escaped), + }); + } + + /** + * Find the pattern in a given string. + * @param {string} str The string to find. + * @returns {IterableIterator} The iterator which iterate the matched information. + */ + *execAll(str) { + const { pattern, escaped } = internal.get(this); + let match = null; + let lastIndex = 0; + + pattern.lastIndex = 0; + while ((match = pattern.exec(str)) != null) { + if (escaped || !isEscaped(str, match.index)) { + lastIndex = pattern.lastIndex; + yield match; + pattern.lastIndex = lastIndex; + } + } + } + + /** + * Check whether the pattern is found in a given string. + * @param {string} str The string to check. + * @returns {boolean} `true` if the pattern was found in the string. + */ + test(str) { + const it = this.execAll(str); + const ret = it.next(); + return !ret.done + } + + /** + * Replace a given string. + * @param {string} str The string to be replaced. + * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`. + * @returns {string} The replaced string. + */ + [Symbol.replace](str, replacer) { + return typeof replacer === "function" + ? replaceF(this, String(str), replacer) + : replaceS(this, String(str), String(replacer)) + } +} + +const IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u; +const has = Function.call.bind(Object.hasOwnProperty); + +const READ = Symbol("read"); +const CALL = Symbol("call"); +const CONSTRUCT = Symbol("construct"); +const ESM = Symbol("esm"); + +const requireCall = { require: { [CALL]: true } }; + +/** + * Check whether a given variable is modified or not. + * @param {Variable} variable The variable to check. + * @returns {boolean} `true` if the variable is modified. + */ +function isModifiedGlobal(variable) { + return ( + variable == null || + variable.defs.length !== 0 || + variable.references.some((r) => r.isWrite()) + ) +} + +/** + * Check if the value of a given node is passed through to the parent syntax as-is. + * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through. + * @param {Node} node A node to check. + * @returns {boolean} `true` if the node is passed through. + */ +function isPassThrough(node) { + const parent = node.parent; + + switch (parent && parent.type) { + case "ConditionalExpression": + return parent.consequent === node || parent.alternate === node + case "LogicalExpression": + return true + case "SequenceExpression": + return parent.expressions[parent.expressions.length - 1] === node + case "ChainExpression": + return true + + default: + return false + } +} + +/** + * The reference tracker. + */ +class ReferenceTracker { + /** + * Initialize this tracker. + * @param {Scope} globalScope The global scope. + * @param {object} [options] The options. + * @param {"legacy"|"strict"} [options.mode="strict"] The mode to determine the ImportDeclaration's behavior for CJS modules. + * @param {string[]} [options.globalObjectNames=["global","globalThis","self","window"]] The variable names for Global Object. + */ + constructor( + globalScope, + { + mode = "strict", + globalObjectNames = ["global", "globalThis", "self", "window"], + } = {}, + ) { + this.variableStack = []; + this.globalScope = globalScope; + this.mode = mode; + this.globalObjectNames = globalObjectNames.slice(0); + } + + /** + * Iterate the references of global variables. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateGlobalReferences(traceMap) { + for (const key of Object.keys(traceMap)) { + const nextTraceMap = traceMap[key]; + const path = [key]; + const variable = this.globalScope.set.get(key); + + if (isModifiedGlobal(variable)) { + continue + } + + yield* this._iterateVariableReferences( + variable, + path, + nextTraceMap, + true, + ); + } + + for (const key of this.globalObjectNames) { + const path = []; + const variable = this.globalScope.set.get(key); + + if (isModifiedGlobal(variable)) { + continue + } + + yield* this._iterateVariableReferences( + variable, + path, + traceMap, + false, + ); + } + } + + /** + * Iterate the references of CommonJS modules. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateCjsReferences(traceMap) { + for (const { node } of this.iterateGlobalReferences(requireCall)) { + const key = getStringIfConstant(node.arguments[0]); + if (key == null || !has(traceMap, key)) { + continue + } + + const nextTraceMap = traceMap[key]; + const path = [key]; + + if (nextTraceMap[READ]) { + yield { + node, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iteratePropertyReferences(node, path, nextTraceMap); + } + } + + /** + * Iterate the references of ES modules. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *iterateEsmReferences(traceMap) { + const programNode = this.globalScope.block; + + for (const node of programNode.body) { + if (!IMPORT_TYPE.test(node.type) || node.source == null) { + continue + } + const moduleId = node.source.value; + + if (!has(traceMap, moduleId)) { + continue + } + const nextTraceMap = traceMap[moduleId]; + const path = [moduleId]; + + if (nextTraceMap[READ]) { + yield { node, path, type: READ, info: nextTraceMap[READ] }; + } + + if (node.type === "ExportAllDeclaration") { + for (const key of Object.keys(nextTraceMap)) { + const exportTraceMap = nextTraceMap[key]; + if (exportTraceMap[READ]) { + yield { + node, + path: path.concat(key), + type: READ, + info: exportTraceMap[READ], + }; + } + } + } else { + for (const specifier of node.specifiers) { + const esm = has(nextTraceMap, ESM); + const it = this._iterateImportReferences( + specifier, + path, + esm + ? nextTraceMap + : this.mode === "legacy" + ? { default: nextTraceMap, ...nextTraceMap } + : { default: nextTraceMap }, + ); + + if (esm) { + yield* it; + } else { + for (const report of it) { + report.path = report.path.filter(exceptDefault); + if ( + report.path.length >= 2 || + report.type !== READ + ) { + yield report; + } + } + } + } + } + } + } + + /** + * Iterate the references for a given variable. + * @param {Variable} variable The variable to iterate that references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @param {boolean} shouldReport = The flag to report those references. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateVariableReferences(variable, path, traceMap, shouldReport) { + if (this.variableStack.includes(variable)) { + return + } + this.variableStack.push(variable); + try { + for (const reference of variable.references) { + if (!reference.isRead()) { + continue + } + const node = reference.identifier; + + if (shouldReport && traceMap[READ]) { + yield { node, path, type: READ, info: traceMap[READ] }; + } + yield* this._iteratePropertyReferences(node, path, traceMap); + } + } finally { + this.variableStack.pop(); + } + } + + /** + * Iterate the references for a given AST node. + * @param rootNode The AST node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + //eslint-disable-next-line complexity + *_iteratePropertyReferences(rootNode, path, traceMap) { + let node = rootNode; + while (isPassThrough(node)) { + node = node.parent; + } + + const parent = node.parent; + if (parent.type === "MemberExpression") { + if (parent.object === node) { + const key = getPropertyName(parent); + if (key == null || !has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: parent, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iteratePropertyReferences( + parent, + path, + nextTraceMap, + ); + } + return + } + if (parent.type === "CallExpression") { + if (parent.callee === node && traceMap[CALL]) { + yield { node: parent, path, type: CALL, info: traceMap[CALL] }; + } + return + } + if (parent.type === "NewExpression") { + if (parent.callee === node && traceMap[CONSTRUCT]) { + yield { + node: parent, + path, + type: CONSTRUCT, + info: traceMap[CONSTRUCT], + }; + } + return + } + if (parent.type === "AssignmentExpression") { + if (parent.right === node) { + yield* this._iterateLhsReferences(parent.left, path, traceMap); + yield* this._iteratePropertyReferences(parent, path, traceMap); + } + return + } + if (parent.type === "AssignmentPattern") { + if (parent.right === node) { + yield* this._iterateLhsReferences(parent.left, path, traceMap); + } + return + } + if (parent.type === "VariableDeclarator") { + if (parent.init === node) { + yield* this._iterateLhsReferences(parent.id, path, traceMap); + } + } + } + + /** + * Iterate the references for a given Pattern node. + * @param {Node} patternNode The Pattern node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateLhsReferences(patternNode, path, traceMap) { + if (patternNode.type === "Identifier") { + const variable = findVariable(this.globalScope, patternNode); + if (variable != null) { + yield* this._iterateVariableReferences( + variable, + path, + traceMap, + false, + ); + } + return + } + if (patternNode.type === "ObjectPattern") { + for (const property of patternNode.properties) { + const key = getPropertyName(property); + + if (key == null || !has(traceMap, key)) { + continue + } + + const nextPath = path.concat(key); + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: property, + path: nextPath, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iterateLhsReferences( + property.value, + nextPath, + nextTraceMap, + ); + } + return + } + if (patternNode.type === "AssignmentPattern") { + yield* this._iterateLhsReferences(patternNode.left, path, traceMap); + } + } + + /** + * Iterate the references for a given ModuleSpecifier node. + * @param {Node} specifierNode The ModuleSpecifier node to iterate references. + * @param {string[]} path The current path. + * @param {object} traceMap The trace map. + * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. + */ + *_iterateImportReferences(specifierNode, path, traceMap) { + const type = specifierNode.type; + + if (type === "ImportSpecifier" || type === "ImportDefaultSpecifier") { + const key = + type === "ImportDefaultSpecifier" + ? "default" + : specifierNode.imported.name; + if (!has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: specifierNode, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + yield* this._iterateVariableReferences( + findVariable(this.globalScope, specifierNode.local), + path, + nextTraceMap, + false, + ); + + return + } + + if (type === "ImportNamespaceSpecifier") { + yield* this._iterateVariableReferences( + findVariable(this.globalScope, specifierNode.local), + path, + traceMap, + false, + ); + return + } + + if (type === "ExportSpecifier") { + const key = specifierNode.local.name; + if (!has(traceMap, key)) { + return + } + + path = path.concat(key); //eslint-disable-line no-param-reassign + const nextTraceMap = traceMap[key]; + if (nextTraceMap[READ]) { + yield { + node: specifierNode, + path, + type: READ, + info: nextTraceMap[READ], + }; + } + } + } +} + +ReferenceTracker.READ = READ; +ReferenceTracker.CALL = CALL; +ReferenceTracker.CONSTRUCT = CONSTRUCT; +ReferenceTracker.ESM = ESM; + +/** + * This is a predicate function for Array#filter. + * @param {string} name A name part. + * @param {number} index The index of the name. + * @returns {boolean} `false` if it's default. + */ +function exceptDefault(name, index) { + return !(index === 1 && name === "default") +} + +var index = { + CALL, + CONSTRUCT, + ESM, + findVariable, + getFunctionHeadLocation, + getFunctionNameWithKind, + getInnermostScope, + getPropertyName, + getStaticValue, + getStringIfConstant, + hasSideEffect, + isArrowToken, + isClosingBraceToken, + isClosingBracketToken, + isClosingParenToken, + isColonToken, + isCommaToken, + isCommentToken, + isNotArrowToken, + isNotClosingBraceToken, + isNotClosingBracketToken, + isNotClosingParenToken, + isNotColonToken, + isNotCommaToken, + isNotCommentToken, + isNotOpeningBraceToken, + isNotOpeningBracketToken, + isNotOpeningParenToken, + isNotSemicolonToken, + isOpeningBraceToken, + isOpeningBracketToken, + isOpeningParenToken, + isParenthesized, + isSemicolonToken, + PatternMatcher, + READ, + ReferenceTracker, +}; + +export default index; +export { CALL, CONSTRUCT, ESM, PatternMatcher, READ, ReferenceTracker, findVariable, getFunctionHeadLocation, getFunctionNameWithKind, getInnermostScope, getPropertyName, getStaticValue, getStringIfConstant, hasSideEffect, isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isParenthesized, isSemicolonToken }; +//# sourceMappingURL=index.mjs.map diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs.map b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs.map new file mode 100644 index 000000000..399507fdc --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":["src/get-innermost-scope.js","src/find-variable.js","src/token-predicate.js","src/get-function-head-location.js","src/get-static-value.js","src/get-string-if-constant.js","src/get-property-name.js","src/get-function-name-with-kind.js","src/has-side-effect.js","src/is-parenthesized.js","src/pattern-matcher.js","src/reference-tracker.js","src/index.js"],"sourcesContent":["/**\n * Get the innermost scope which contains a given location.\n * @param {Scope} initialScope The initial scope to search.\n * @param {Node} node The location to search.\n * @returns {Scope} The innermost scope.\n */\nexport function getInnermostScope(initialScope, node) {\n const location = node.range[0]\n\n let scope = initialScope\n let found = false\n do {\n found = false\n for (const childScope of scope.childScopes) {\n const range = childScope.block.range\n\n if (range[0] <= location && location < range[1]) {\n scope = childScope\n found = true\n break\n }\n }\n } while (found)\n\n return scope\n}\n","import { getInnermostScope } from \"./get-innermost-scope\"\n\n/**\n * Find the variable of a given name.\n * @param {Scope} initialScope The scope to start finding.\n * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node.\n * @returns {Variable|null} The found variable or null.\n */\nexport function findVariable(initialScope, nameOrNode) {\n let name = \"\"\n let scope = initialScope\n\n if (typeof nameOrNode === \"string\") {\n name = nameOrNode\n } else {\n name = nameOrNode.name\n scope = getInnermostScope(scope, nameOrNode)\n }\n\n while (scope != null) {\n const variable = scope.set.get(name)\n if (variable != null) {\n return variable\n }\n scope = scope.upper\n }\n\n return null\n}\n","/**\n * Negate the result of `this` calling.\n * @param {Token} token The token to check.\n * @returns {boolean} `true` if the result of `this(token)` is `false`.\n */\nfunction negate0(token) {\n return !this(token) //eslint-disable-line no-invalid-this\n}\n\n/**\n * Creates the negate function of the given function.\n * @param {function(Token):boolean} f - The function to negate.\n * @returns {function(Token):boolean} Negated function.\n */\nfunction negate(f) {\n return negate0.bind(f)\n}\n\n/**\n * Checks if the given token is a PunctuatorToken with the given value\n * @param {Token} token - The token to check.\n * @param {string} value - The value to check.\n * @returns {boolean} `true` if the token is a PunctuatorToken with the given value.\n */\nfunction isPunctuatorTokenWithValue(token, value) {\n return token.type === \"Punctuator\" && token.value === value\n}\n\n/**\n * Checks if the given token is an arrow token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an arrow token.\n */\nexport function isArrowToken(token) {\n return isPunctuatorTokenWithValue(token, \"=>\")\n}\n\n/**\n * Checks if the given token is a comma token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comma token.\n */\nexport function isCommaToken(token) {\n return isPunctuatorTokenWithValue(token, \",\")\n}\n\n/**\n * Checks if the given token is a semicolon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a semicolon token.\n */\nexport function isSemicolonToken(token) {\n return isPunctuatorTokenWithValue(token, \";\")\n}\n\n/**\n * Checks if the given token is a colon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a colon token.\n */\nexport function isColonToken(token) {\n return isPunctuatorTokenWithValue(token, \":\")\n}\n\n/**\n * Checks if the given token is an opening parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening parenthesis token.\n */\nexport function isOpeningParenToken(token) {\n return isPunctuatorTokenWithValue(token, \"(\")\n}\n\n/**\n * Checks if the given token is a closing parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing parenthesis token.\n */\nexport function isClosingParenToken(token) {\n return isPunctuatorTokenWithValue(token, \")\")\n}\n\n/**\n * Checks if the given token is an opening square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening square bracket token.\n */\nexport function isOpeningBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"[\")\n}\n\n/**\n * Checks if the given token is a closing square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing square bracket token.\n */\nexport function isClosingBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"]\")\n}\n\n/**\n * Checks if the given token is an opening brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening brace token.\n */\nexport function isOpeningBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"{\")\n}\n\n/**\n * Checks if the given token is a closing brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing brace token.\n */\nexport function isClosingBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"}\")\n}\n\n/**\n * Checks if the given token is a comment token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comment token.\n */\nexport function isCommentToken(token) {\n return [\"Block\", \"Line\", \"Shebang\"].includes(token.type)\n}\n\nexport const isNotArrowToken = negate(isArrowToken)\nexport const isNotCommaToken = negate(isCommaToken)\nexport const isNotSemicolonToken = negate(isSemicolonToken)\nexport const isNotColonToken = negate(isColonToken)\nexport const isNotOpeningParenToken = negate(isOpeningParenToken)\nexport const isNotClosingParenToken = negate(isClosingParenToken)\nexport const isNotOpeningBracketToken = negate(isOpeningBracketToken)\nexport const isNotClosingBracketToken = negate(isClosingBracketToken)\nexport const isNotOpeningBraceToken = negate(isOpeningBraceToken)\nexport const isNotClosingBraceToken = negate(isClosingBraceToken)\nexport const isNotCommentToken = negate(isCommentToken)\n","import { isArrowToken, isOpeningParenToken } from \"./token-predicate\"\n\n/**\n * Get the `(` token of the given function node.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {Token} `(` token.\n */\nfunction getOpeningParenOfParams(node, sourceCode) {\n return node.id\n ? sourceCode.getTokenAfter(node.id, isOpeningParenToken)\n : sourceCode.getFirstToken(node, isOpeningParenToken)\n}\n\n/**\n * Get the location of the given function node for reporting.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {string} The location of the function node for reporting.\n */\nexport function getFunctionHeadLocation(node, sourceCode) {\n const parent = node.parent\n let start = null\n let end = null\n\n if (node.type === \"ArrowFunctionExpression\") {\n const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken)\n\n start = arrowToken.loc.start\n end = arrowToken.loc.end\n } else if (\n parent.type === \"Property\" ||\n parent.type === \"MethodDefinition\" ||\n parent.type === \"PropertyDefinition\"\n ) {\n start = parent.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n } else {\n start = node.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n }\n\n return {\n start: { ...start },\n end: { ...end },\n }\n}\n","/* globals globalThis, global, self, window */\n\nimport { findVariable } from \"./find-variable\"\n\nconst globalObject =\n typeof globalThis !== \"undefined\"\n ? globalThis\n : typeof self !== \"undefined\"\n ? self\n : typeof window !== \"undefined\"\n ? window\n : typeof global !== \"undefined\"\n ? global\n : {}\n\nconst builtinNames = Object.freeze(\n new Set([\n \"Array\",\n \"ArrayBuffer\",\n \"BigInt\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Boolean\",\n \"DataView\",\n \"Date\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"Float32Array\",\n \"Float64Array\",\n \"Function\",\n \"Infinity\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"isFinite\",\n \"isNaN\",\n \"isPrototypeOf\",\n \"JSON\",\n \"Map\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"Object\",\n \"parseFloat\",\n \"parseInt\",\n \"Promise\",\n \"Proxy\",\n \"Reflect\",\n \"RegExp\",\n \"Set\",\n \"String\",\n \"Symbol\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"undefined\",\n \"unescape\",\n \"WeakMap\",\n \"WeakSet\",\n ]),\n)\nconst callAllowed = new Set(\n [\n Array.isArray,\n typeof BigInt === \"function\" ? BigInt : undefined,\n Boolean,\n Date,\n Date.parse,\n decodeURI,\n decodeURIComponent,\n encodeURI,\n encodeURIComponent,\n escape,\n isFinite,\n isNaN,\n isPrototypeOf,\n ...Object.getOwnPropertyNames(Math)\n .map((k) => Math[k])\n .filter((f) => typeof f === \"function\"),\n Number,\n Number.isFinite,\n Number.isNaN,\n Number.parseFloat,\n Number.parseInt,\n Object,\n Object.entries,\n Object.is,\n Object.isExtensible,\n Object.isFrozen,\n Object.isSealed,\n Object.keys,\n Object.values,\n parseFloat,\n parseInt,\n RegExp,\n String,\n String.fromCharCode,\n String.fromCodePoint,\n String.raw,\n Symbol.for,\n Symbol.keyFor,\n unescape,\n ].filter((f) => typeof f === \"function\"),\n)\nconst callPassThrough = new Set([\n Object.freeze,\n Object.preventExtensions,\n Object.seal,\n])\n\n/**\n * Get the property descriptor.\n * @param {object} object The object to get.\n * @param {string|number|symbol} name The property name to get.\n */\nfunction getPropertyDescriptor(object, name) {\n let x = object\n while ((typeof x === \"object\" || typeof x === \"function\") && x !== null) {\n const d = Object.getOwnPropertyDescriptor(x, name)\n if (d) {\n return d\n }\n x = Object.getPrototypeOf(x)\n }\n return null\n}\n\n/**\n * Check if a property is getter or not.\n * @param {object} object The object to check.\n * @param {string|number|symbol} name The property name to check.\n */\nfunction isGetter(object, name) {\n const d = getPropertyDescriptor(object, name)\n return d != null && d.get != null\n}\n\n/**\n * Get the element values of a given node list.\n * @param {Node[]} nodeList The node list to get values.\n * @param {Scope|undefined} initialScope The initial scope to find variables.\n * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null.\n */\nfunction getElementValues(nodeList, initialScope) {\n const valueList = []\n\n for (let i = 0; i < nodeList.length; ++i) {\n const elementNode = nodeList[i]\n\n if (elementNode == null) {\n valueList.length = i + 1\n } else if (elementNode.type === \"SpreadElement\") {\n const argument = getStaticValueR(elementNode.argument, initialScope)\n if (argument == null) {\n return null\n }\n valueList.push(...argument.value)\n } else {\n const element = getStaticValueR(elementNode, initialScope)\n if (element == null) {\n return null\n }\n valueList.push(element.value)\n }\n }\n\n return valueList\n}\n\nconst operations = Object.freeze({\n ArrayExpression(node, initialScope) {\n const elements = getElementValues(node.elements, initialScope)\n return elements != null ? { value: elements } : null\n },\n\n AssignmentExpression(node, initialScope) {\n if (node.operator === \"=\") {\n return getStaticValueR(node.right, initialScope)\n }\n return null\n },\n\n //eslint-disable-next-line complexity\n BinaryExpression(node, initialScope) {\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n // Not supported.\n return null\n }\n\n const left = getStaticValueR(node.left, initialScope)\n const right = getStaticValueR(node.right, initialScope)\n if (left != null && right != null) {\n switch (node.operator) {\n case \"==\":\n return { value: left.value == right.value } //eslint-disable-line eqeqeq\n case \"!=\":\n return { value: left.value != right.value } //eslint-disable-line eqeqeq\n case \"===\":\n return { value: left.value === right.value }\n case \"!==\":\n return { value: left.value !== right.value }\n case \"<\":\n return { value: left.value < right.value }\n case \"<=\":\n return { value: left.value <= right.value }\n case \">\":\n return { value: left.value > right.value }\n case \">=\":\n return { value: left.value >= right.value }\n case \"<<\":\n return { value: left.value << right.value }\n case \">>\":\n return { value: left.value >> right.value }\n case \">>>\":\n return { value: left.value >>> right.value }\n case \"+\":\n return { value: left.value + right.value }\n case \"-\":\n return { value: left.value - right.value }\n case \"*\":\n return { value: left.value * right.value }\n case \"/\":\n return { value: left.value / right.value }\n case \"%\":\n return { value: left.value % right.value }\n case \"**\":\n return { value: Math.pow(left.value, right.value) }\n case \"|\":\n return { value: left.value | right.value }\n case \"^\":\n return { value: left.value ^ right.value }\n case \"&\":\n return { value: left.value & right.value }\n\n // no default\n }\n }\n\n return null\n },\n\n CallExpression(node, initialScope) {\n const calleeNode = node.callee\n const args = getElementValues(node.arguments, initialScope)\n\n if (args != null) {\n if (calleeNode.type === \"MemberExpression\") {\n if (calleeNode.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(calleeNode.object, initialScope)\n if (object != null) {\n if (\n object.value == null &&\n (object.optional || node.optional)\n ) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(\n calleeNode,\n initialScope,\n )\n\n if (property != null) {\n const receiver = object.value\n const methodName = property.value\n if (callAllowed.has(receiver[methodName])) {\n return { value: receiver[methodName](...args) }\n }\n if (callPassThrough.has(receiver[methodName])) {\n return { value: args[0] }\n }\n }\n }\n } else {\n const callee = getStaticValueR(calleeNode, initialScope)\n if (callee != null) {\n if (callee.value == null && node.optional) {\n return { value: undefined, optional: true }\n }\n const func = callee.value\n if (callAllowed.has(func)) {\n return { value: func(...args) }\n }\n if (callPassThrough.has(func)) {\n return { value: args[0] }\n }\n }\n }\n }\n\n return null\n },\n\n ConditionalExpression(node, initialScope) {\n const test = getStaticValueR(node.test, initialScope)\n if (test != null) {\n return test.value\n ? getStaticValueR(node.consequent, initialScope)\n : getStaticValueR(node.alternate, initialScope)\n }\n return null\n },\n\n ExpressionStatement(node, initialScope) {\n return getStaticValueR(node.expression, initialScope)\n },\n\n Identifier(node, initialScope) {\n if (initialScope != null) {\n const variable = findVariable(initialScope, node)\n\n // Built-in globals.\n if (\n variable != null &&\n variable.defs.length === 0 &&\n builtinNames.has(variable.name) &&\n variable.name in globalObject\n ) {\n return { value: globalObject[variable.name] }\n }\n\n // Constants.\n if (variable != null && variable.defs.length === 1) {\n const def = variable.defs[0]\n if (\n def.parent &&\n def.parent.kind === \"const\" &&\n // TODO(mysticatea): don't support destructuring here.\n def.node.id.type === \"Identifier\"\n ) {\n return getStaticValueR(def.node.init, initialScope)\n }\n }\n }\n return null\n },\n\n Literal(node) {\n //istanbul ignore if : this is implementation-specific behavior.\n if ((node.regex != null || node.bigint != null) && node.value == null) {\n // It was a RegExp/BigInt literal, but Node.js didn't support it.\n return null\n }\n return { value: node.value }\n },\n\n LogicalExpression(node, initialScope) {\n const left = getStaticValueR(node.left, initialScope)\n if (left != null) {\n if (\n (node.operator === \"||\" && Boolean(left.value) === true) ||\n (node.operator === \"&&\" && Boolean(left.value) === false) ||\n (node.operator === \"??\" && left.value != null)\n ) {\n return left\n }\n\n const right = getStaticValueR(node.right, initialScope)\n if (right != null) {\n return right\n }\n }\n\n return null\n },\n\n MemberExpression(node, initialScope) {\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(node.object, initialScope)\n if (object != null) {\n if (object.value == null && (object.optional || node.optional)) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(node, initialScope)\n\n if (property != null && !isGetter(object.value, property.value)) {\n return { value: object.value[property.value] }\n }\n }\n return null\n },\n\n ChainExpression(node, initialScope) {\n const expression = getStaticValueR(node.expression, initialScope)\n if (expression != null) {\n return { value: expression.value }\n }\n return null\n },\n\n NewExpression(node, initialScope) {\n const callee = getStaticValueR(node.callee, initialScope)\n const args = getElementValues(node.arguments, initialScope)\n\n if (callee != null && args != null) {\n const Func = callee.value\n if (callAllowed.has(Func)) {\n return { value: new Func(...args) }\n }\n }\n\n return null\n },\n\n ObjectExpression(node, initialScope) {\n const object = {}\n\n for (const propertyNode of node.properties) {\n if (propertyNode.type === \"Property\") {\n if (propertyNode.kind !== \"init\") {\n return null\n }\n const key = getStaticPropertyNameValue(\n propertyNode,\n initialScope,\n )\n const value = getStaticValueR(propertyNode.value, initialScope)\n if (key == null || value == null) {\n return null\n }\n object[key.value] = value.value\n } else if (\n propertyNode.type === \"SpreadElement\" ||\n propertyNode.type === \"ExperimentalSpreadProperty\"\n ) {\n const argument = getStaticValueR(\n propertyNode.argument,\n initialScope,\n )\n if (argument == null) {\n return null\n }\n Object.assign(object, argument.value)\n } else {\n return null\n }\n }\n\n return { value: object }\n },\n\n SequenceExpression(node, initialScope) {\n const last = node.expressions[node.expressions.length - 1]\n return getStaticValueR(last, initialScope)\n },\n\n TaggedTemplateExpression(node, initialScope) {\n const tag = getStaticValueR(node.tag, initialScope)\n const expressions = getElementValues(\n node.quasi.expressions,\n initialScope,\n )\n\n if (tag != null && expressions != null) {\n const func = tag.value\n const strings = node.quasi.quasis.map((q) => q.value.cooked)\n strings.raw = node.quasi.quasis.map((q) => q.value.raw)\n\n if (func === String.raw) {\n return { value: func(strings, ...expressions) }\n }\n }\n\n return null\n },\n\n TemplateLiteral(node, initialScope) {\n const expressions = getElementValues(node.expressions, initialScope)\n if (expressions != null) {\n let value = node.quasis[0].value.cooked\n for (let i = 0; i < expressions.length; ++i) {\n value += expressions[i]\n value += node.quasis[i + 1].value.cooked\n }\n return { value }\n }\n return null\n },\n\n UnaryExpression(node, initialScope) {\n if (node.operator === \"delete\") {\n // Not supported.\n return null\n }\n if (node.operator === \"void\") {\n return { value: undefined }\n }\n\n const arg = getStaticValueR(node.argument, initialScope)\n if (arg != null) {\n switch (node.operator) {\n case \"-\":\n return { value: -arg.value }\n case \"+\":\n return { value: +arg.value } //eslint-disable-line no-implicit-coercion\n case \"!\":\n return { value: !arg.value }\n case \"~\":\n return { value: ~arg.value }\n case \"typeof\":\n return { value: typeof arg.value }\n\n // no default\n }\n }\n\n return null\n },\n})\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope|undefined} initialScope The scope to start finding variable.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nfunction getStaticValueR(node, initialScope) {\n if (node != null && Object.hasOwnProperty.call(operations, node.type)) {\n return operations[node.type](node, initialScope)\n }\n return null\n}\n\n/**\n * Get the static value of property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`.\n */\nfunction getStaticPropertyNameValue(node, initialScope) {\n const nameNode = node.type === \"Property\" ? node.key : node.property\n\n if (node.computed) {\n return getStaticValueR(nameNode, initialScope)\n }\n\n if (nameNode.type === \"Identifier\") {\n return { value: nameNode.name }\n }\n\n if (nameNode.type === \"Literal\") {\n if (nameNode.bigint) {\n return { value: nameNode.bigint }\n }\n return { value: String(nameNode.value) }\n }\n\n return null\n}\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nexport function getStaticValue(node, initialScope = null) {\n try {\n return getStaticValueR(node, initialScope)\n } catch (_error) {\n return null\n }\n}\n","import { getStaticValue } from \"./get-static-value\"\n\n/**\n * Get the value of a given node if it's a literal or a template literal.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant.\n * @returns {string|null} The value of the node, or `null`.\n */\nexport function getStringIfConstant(node, initialScope = null) {\n // Handle the literals that the platform doesn't support natively.\n if (node && node.type === \"Literal\" && node.value === null) {\n if (node.regex) {\n return `/${node.regex.pattern}/${node.regex.flags}`\n }\n if (node.bigint) {\n return node.bigint\n }\n }\n\n const evaluated = getStaticValue(node, initialScope)\n return evaluated && String(evaluated.value)\n}\n","import { getStringIfConstant } from \"./get-string-if-constant\"\n\n/**\n * Get the property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {string|null} The property name of the node.\n */\nexport function getPropertyName(node, initialScope) {\n switch (node.type) {\n case \"MemberExpression\":\n if (node.computed) {\n return getStringIfConstant(node.property, initialScope)\n }\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n return node.property.name\n\n case \"Property\":\n case \"MethodDefinition\":\n case \"PropertyDefinition\":\n if (node.computed) {\n return getStringIfConstant(node.key, initialScope)\n }\n if (node.key.type === \"Literal\") {\n return String(node.key.value)\n }\n if (node.key.type === \"PrivateIdentifier\") {\n return null\n }\n return node.key.name\n\n // no default\n }\n\n return null\n}\n","import { getPropertyName } from \"./get-property-name\"\n\n/**\n * Get the name and kind of the given function node.\n * @param {ASTNode} node - The function node to get.\n * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys.\n * @returns {string} The name and kind of the function node.\n */\n// eslint-disable-next-line complexity\nexport function getFunctionNameWithKind(node, sourceCode) {\n const parent = node.parent\n const tokens = []\n const isObjectMethod = parent.type === \"Property\" && parent.value === node\n const isClassMethod =\n parent.type === \"MethodDefinition\" && parent.value === node\n const isClassFieldMethod =\n parent.type === \"PropertyDefinition\" && parent.value === node\n\n // Modifiers.\n if (isClassMethod || isClassFieldMethod) {\n if (parent.static) {\n tokens.push(\"static\")\n }\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(\"private\")\n }\n }\n if (node.async) {\n tokens.push(\"async\")\n }\n if (node.generator) {\n tokens.push(\"generator\")\n }\n\n // Kinds.\n if (isObjectMethod || isClassMethod) {\n if (parent.kind === \"constructor\") {\n return \"constructor\"\n }\n if (parent.kind === \"get\") {\n tokens.push(\"getter\")\n } else if (parent.kind === \"set\") {\n tokens.push(\"setter\")\n } else {\n tokens.push(\"method\")\n }\n } else if (isClassFieldMethod) {\n tokens.push(\"method\")\n } else {\n if (node.type === \"ArrowFunctionExpression\") {\n tokens.push(\"arrow\")\n }\n tokens.push(\"function\")\n }\n\n // Names.\n if (isObjectMethod || isClassMethod || isClassFieldMethod) {\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(`#${parent.key.name}`)\n } else {\n const name = getPropertyName(parent)\n if (name) {\n tokens.push(`'${name}'`)\n } else if (sourceCode) {\n const keyText = sourceCode.getText(parent.key)\n if (!keyText.includes(\"\\n\")) {\n tokens.push(`[${keyText}]`)\n }\n }\n }\n } else if (node.id) {\n tokens.push(`'${node.id.name}'`)\n } else if (\n parent.type === \"VariableDeclarator\" &&\n parent.id &&\n parent.id.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.id.name}'`)\n } else if (\n (parent.type === \"AssignmentExpression\" ||\n parent.type === \"AssignmentPattern\") &&\n parent.left &&\n parent.left.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.left.name}'`)\n }\n\n return tokens.join(\" \")\n}\n","import evk from \"eslint-visitor-keys\"\n\nconst typeConversionBinaryOps = Object.freeze(\n new Set([\n \"==\",\n \"!=\",\n \"<\",\n \"<=\",\n \">\",\n \">=\",\n \"<<\",\n \">>\",\n \">>>\",\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"|\",\n \"^\",\n \"&\",\n \"in\",\n ]),\n)\nconst typeConversionUnaryOps = Object.freeze(new Set([\"-\", \"+\", \"!\", \"~\"]))\n\n/**\n * Check whether the given value is an ASTNode or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an ASTNode.\n */\nfunction isNode(x) {\n return x !== null && typeof x === \"object\" && typeof x.type === \"string\"\n}\n\nconst visitor = Object.freeze(\n Object.assign(Object.create(null), {\n $visit(node, options, visitorKeys) {\n const { type } = node\n\n if (typeof this[type] === \"function\") {\n return this[type](node, options, visitorKeys)\n }\n\n return this.$visitChildren(node, options, visitorKeys)\n },\n\n $visitChildren(node, options, visitorKeys) {\n const { type } = node\n\n for (const key of visitorKeys[type] || evk.getKeys(node)) {\n const value = node[key]\n\n if (Array.isArray(value)) {\n for (const element of value) {\n if (\n isNode(element) &&\n this.$visit(element, options, visitorKeys)\n ) {\n return true\n }\n }\n } else if (\n isNode(value) &&\n this.$visit(value, options, visitorKeys)\n ) {\n return true\n }\n }\n\n return false\n },\n\n ArrowFunctionExpression() {\n return false\n },\n AssignmentExpression() {\n return true\n },\n AwaitExpression() {\n return true\n },\n BinaryExpression(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n typeConversionBinaryOps.has(node.operator) &&\n (node.left.type !== \"Literal\" || node.right.type !== \"Literal\")\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n CallExpression() {\n return true\n },\n FunctionExpression() {\n return false\n },\n ImportExpression() {\n return true\n },\n MemberExpression(node, options, visitorKeys) {\n if (options.considerGetters) {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.property.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n MethodDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n NewExpression() {\n return true\n },\n Property(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n PropertyDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UnaryExpression(node, options, visitorKeys) {\n if (node.operator === \"delete\") {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n typeConversionUnaryOps.has(node.operator) &&\n node.argument.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UpdateExpression() {\n return true\n },\n YieldExpression() {\n return true\n },\n }),\n)\n\n/**\n * Check whether a given node has any side effect or not.\n * @param {Node} node The node to get.\n * @param {SourceCode} sourceCode The source code object.\n * @param {object} [options] The option object.\n * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects.\n * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects.\n * @param {object} [options.visitorKeys=evk.KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`.\n * @returns {boolean} `true` if the node has a certain side effect.\n */\nexport function hasSideEffect(\n node,\n sourceCode,\n { considerGetters = false, considerImplicitTypeConversion = false } = {},\n) {\n return visitor.$visit(\n node,\n { considerGetters, considerImplicitTypeConversion },\n sourceCode.visitorKeys || evk.KEYS,\n )\n}\n","import { isClosingParenToken, isOpeningParenToken } from \"./token-predicate\"\n\n/**\n * Get the left parenthesis of the parent node syntax if it exists.\n * E.g., `if (a) {}` then the `(`.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {Token|null} The left parenthesis of the parent node syntax\n */\nfunction getParentSyntaxParen(node, sourceCode) {\n const parent = node.parent\n\n switch (parent.type) {\n case \"CallExpression\":\n case \"NewExpression\":\n if (parent.arguments.length === 1 && parent.arguments[0] === node) {\n return sourceCode.getTokenAfter(\n parent.callee,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"DoWhileStatement\":\n if (parent.test === node) {\n return sourceCode.getTokenAfter(\n parent.body,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"IfStatement\":\n case \"WhileStatement\":\n if (parent.test === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"ImportExpression\":\n if (parent.source === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"SwitchStatement\":\n if (parent.discriminant === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"WithStatement\":\n if (parent.object === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n default:\n return null\n }\n}\n\n/**\n * Check whether a given node is parenthesized or not.\n * @param {number} times The number of parantheses.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized the given times.\n */\n/**\n * Check whether a given node is parenthesized or not.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized.\n */\nexport function isParenthesized(\n timesOrNode,\n nodeOrSourceCode,\n optionalSourceCode,\n) {\n let times, node, sourceCode, maybeLeftParen, maybeRightParen\n if (typeof timesOrNode === \"number\") {\n times = timesOrNode | 0\n node = nodeOrSourceCode\n sourceCode = optionalSourceCode\n if (!(times >= 1)) {\n throw new TypeError(\"'times' should be a positive integer.\")\n }\n } else {\n times = 1\n node = timesOrNode\n sourceCode = nodeOrSourceCode\n }\n\n if (\n node == null ||\n // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}`\n (node.parent.type === \"CatchClause\" && node.parent.param === node)\n ) {\n return false\n }\n\n maybeLeftParen = maybeRightParen = node\n do {\n maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen)\n maybeRightParen = sourceCode.getTokenAfter(maybeRightParen)\n } while (\n maybeLeftParen != null &&\n maybeRightParen != null &&\n isOpeningParenToken(maybeLeftParen) &&\n isClosingParenToken(maybeRightParen) &&\n // Avoid false positive such as `if (a) {}`\n maybeLeftParen !== getParentSyntaxParen(node, sourceCode) &&\n --times > 0\n )\n\n return times === 0\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n\nconst placeholder = /\\$(?:[$&`']|[1-9][0-9]?)/gu\n\n/** @type {WeakMap} */\nconst internal = new WeakMap()\n\n/**\n * Check whether a given character is escaped or not.\n * @param {string} str The string to check.\n * @param {number} index The location of the character to check.\n * @returns {boolean} `true` if the character is escaped.\n */\nfunction isEscaped(str, index) {\n let escaped = false\n for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) {\n escaped = !escaped\n }\n return escaped\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {string} replacement The new substring to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceS(matcher, str, replacement) {\n const chunks = []\n let index = 0\n\n /** @type {RegExpExecArray} */\n let match = null\n\n /**\n * @param {string} key The placeholder.\n * @returns {string} The replaced string.\n */\n function replacer(key) {\n switch (key) {\n case \"$$\":\n return \"$\"\n case \"$&\":\n return match[0]\n case \"$`\":\n return str.slice(0, match.index)\n case \"$'\":\n return str.slice(match.index + match[0].length)\n default: {\n const i = key.slice(1)\n if (i in match) {\n return match[i]\n }\n return key\n }\n }\n }\n\n for (match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(replacement.replace(placeholder, replacer))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {(...strs[])=>string} replace The function to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceF(matcher, str, replace) {\n const chunks = []\n let index = 0\n\n for (const match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(String(replace(...match, match.index, match.input)))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * The class to find patterns as considering escape sequences.\n */\nexport class PatternMatcher {\n /**\n * Initialize this matcher.\n * @param {RegExp} pattern The pattern to match.\n * @param {{escaped:boolean}} options The options.\n */\n constructor(pattern, { escaped = false } = {}) {\n if (!(pattern instanceof RegExp)) {\n throw new TypeError(\"'pattern' should be a RegExp instance.\")\n }\n if (!pattern.flags.includes(\"g\")) {\n throw new Error(\"'pattern' should contains 'g' flag.\")\n }\n\n internal.set(this, {\n pattern: new RegExp(pattern.source, pattern.flags),\n escaped: Boolean(escaped),\n })\n }\n\n /**\n * Find the pattern in a given string.\n * @param {string} str The string to find.\n * @returns {IterableIterator} The iterator which iterate the matched information.\n */\n *execAll(str) {\n const { pattern, escaped } = internal.get(this)\n let match = null\n let lastIndex = 0\n\n pattern.lastIndex = 0\n while ((match = pattern.exec(str)) != null) {\n if (escaped || !isEscaped(str, match.index)) {\n lastIndex = pattern.lastIndex\n yield match\n pattern.lastIndex = lastIndex\n }\n }\n }\n\n /**\n * Check whether the pattern is found in a given string.\n * @param {string} str The string to check.\n * @returns {boolean} `true` if the pattern was found in the string.\n */\n test(str) {\n const it = this.execAll(str)\n const ret = it.next()\n return !ret.done\n }\n\n /**\n * Replace a given string.\n * @param {string} str The string to be replaced.\n * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`.\n * @returns {string} The replaced string.\n */\n [Symbol.replace](str, replacer) {\n return typeof replacer === \"function\"\n ? replaceF(this, String(str), replacer)\n : replaceS(this, String(str), String(replacer))\n }\n}\n","import { findVariable } from \"./find-variable\"\nimport { getPropertyName } from \"./get-property-name\"\nimport { getStringIfConstant } from \"./get-string-if-constant\"\n\nconst IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u\nconst has = Function.call.bind(Object.hasOwnProperty)\n\nexport const READ = Symbol(\"read\")\nexport const CALL = Symbol(\"call\")\nexport const CONSTRUCT = Symbol(\"construct\")\nexport const ESM = Symbol(\"esm\")\n\nconst requireCall = { require: { [CALL]: true } }\n\n/**\n * Check whether a given variable is modified or not.\n * @param {Variable} variable The variable to check.\n * @returns {boolean} `true` if the variable is modified.\n */\nfunction isModifiedGlobal(variable) {\n return (\n variable == null ||\n variable.defs.length !== 0 ||\n variable.references.some((r) => r.isWrite())\n )\n}\n\n/**\n * Check if the value of a given node is passed through to the parent syntax as-is.\n * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through.\n * @param {Node} node A node to check.\n * @returns {boolean} `true` if the node is passed through.\n */\nfunction isPassThrough(node) {\n const parent = node.parent\n\n switch (parent && parent.type) {\n case \"ConditionalExpression\":\n return parent.consequent === node || parent.alternate === node\n case \"LogicalExpression\":\n return true\n case \"SequenceExpression\":\n return parent.expressions[parent.expressions.length - 1] === node\n case \"ChainExpression\":\n return true\n\n default:\n return false\n }\n}\n\n/**\n * The reference tracker.\n */\nexport class ReferenceTracker {\n /**\n * Initialize this tracker.\n * @param {Scope} globalScope The global scope.\n * @param {object} [options] The options.\n * @param {\"legacy\"|\"strict\"} [options.mode=\"strict\"] The mode to determine the ImportDeclaration's behavior for CJS modules.\n * @param {string[]} [options.globalObjectNames=[\"global\",\"globalThis\",\"self\",\"window\"]] The variable names for Global Object.\n */\n constructor(\n globalScope,\n {\n mode = \"strict\",\n globalObjectNames = [\"global\", \"globalThis\", \"self\", \"window\"],\n } = {},\n ) {\n this.variableStack = []\n this.globalScope = globalScope\n this.mode = mode\n this.globalObjectNames = globalObjectNames.slice(0)\n }\n\n /**\n * Iterate the references of global variables.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateGlobalReferences(traceMap) {\n for (const key of Object.keys(traceMap)) {\n const nextTraceMap = traceMap[key]\n const path = [key]\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n nextTraceMap,\n true,\n )\n }\n\n for (const key of this.globalObjectNames) {\n const path = []\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n }\n\n /**\n * Iterate the references of CommonJS modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateCjsReferences(traceMap) {\n for (const { node } of this.iterateGlobalReferences(requireCall)) {\n const key = getStringIfConstant(node.arguments[0])\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextTraceMap = traceMap[key]\n const path = [key]\n\n if (nextTraceMap[READ]) {\n yield {\n node,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(node, path, nextTraceMap)\n }\n }\n\n /**\n * Iterate the references of ES modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateEsmReferences(traceMap) {\n const programNode = this.globalScope.block\n\n for (const node of programNode.body) {\n if (!IMPORT_TYPE.test(node.type) || node.source == null) {\n continue\n }\n const moduleId = node.source.value\n\n if (!has(traceMap, moduleId)) {\n continue\n }\n const nextTraceMap = traceMap[moduleId]\n const path = [moduleId]\n\n if (nextTraceMap[READ]) {\n yield { node, path, type: READ, info: nextTraceMap[READ] }\n }\n\n if (node.type === \"ExportAllDeclaration\") {\n for (const key of Object.keys(nextTraceMap)) {\n const exportTraceMap = nextTraceMap[key]\n if (exportTraceMap[READ]) {\n yield {\n node,\n path: path.concat(key),\n type: READ,\n info: exportTraceMap[READ],\n }\n }\n }\n } else {\n for (const specifier of node.specifiers) {\n const esm = has(nextTraceMap, ESM)\n const it = this._iterateImportReferences(\n specifier,\n path,\n esm\n ? nextTraceMap\n : this.mode === \"legacy\"\n ? { default: nextTraceMap, ...nextTraceMap }\n : { default: nextTraceMap },\n )\n\n if (esm) {\n yield* it\n } else {\n for (const report of it) {\n report.path = report.path.filter(exceptDefault)\n if (\n report.path.length >= 2 ||\n report.type !== READ\n ) {\n yield report\n }\n }\n }\n }\n }\n }\n }\n\n /**\n * Iterate the references for a given variable.\n * @param {Variable} variable The variable to iterate that references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @param {boolean} shouldReport = The flag to report those references.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateVariableReferences(variable, path, traceMap, shouldReport) {\n if (this.variableStack.includes(variable)) {\n return\n }\n this.variableStack.push(variable)\n try {\n for (const reference of variable.references) {\n if (!reference.isRead()) {\n continue\n }\n const node = reference.identifier\n\n if (shouldReport && traceMap[READ]) {\n yield { node, path, type: READ, info: traceMap[READ] }\n }\n yield* this._iteratePropertyReferences(node, path, traceMap)\n }\n } finally {\n this.variableStack.pop()\n }\n }\n\n /**\n * Iterate the references for a given AST node.\n * @param rootNode The AST node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n //eslint-disable-next-line complexity\n *_iteratePropertyReferences(rootNode, path, traceMap) {\n let node = rootNode\n while (isPassThrough(node)) {\n node = node.parent\n }\n\n const parent = node.parent\n if (parent.type === \"MemberExpression\") {\n if (parent.object === node) {\n const key = getPropertyName(parent)\n if (key == null || !has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: parent,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(\n parent,\n path,\n nextTraceMap,\n )\n }\n return\n }\n if (parent.type === \"CallExpression\") {\n if (parent.callee === node && traceMap[CALL]) {\n yield { node: parent, path, type: CALL, info: traceMap[CALL] }\n }\n return\n }\n if (parent.type === \"NewExpression\") {\n if (parent.callee === node && traceMap[CONSTRUCT]) {\n yield {\n node: parent,\n path,\n type: CONSTRUCT,\n info: traceMap[CONSTRUCT],\n }\n }\n return\n }\n if (parent.type === \"AssignmentExpression\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n yield* this._iteratePropertyReferences(parent, path, traceMap)\n }\n return\n }\n if (parent.type === \"AssignmentPattern\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n }\n return\n }\n if (parent.type === \"VariableDeclarator\") {\n if (parent.init === node) {\n yield* this._iterateLhsReferences(parent.id, path, traceMap)\n }\n }\n }\n\n /**\n * Iterate the references for a given Pattern node.\n * @param {Node} patternNode The Pattern node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateLhsReferences(patternNode, path, traceMap) {\n if (patternNode.type === \"Identifier\") {\n const variable = findVariable(this.globalScope, patternNode)\n if (variable != null) {\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n return\n }\n if (patternNode.type === \"ObjectPattern\") {\n for (const property of patternNode.properties) {\n const key = getPropertyName(property)\n\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextPath = path.concat(key)\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: property,\n path: nextPath,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateLhsReferences(\n property.value,\n nextPath,\n nextTraceMap,\n )\n }\n return\n }\n if (patternNode.type === \"AssignmentPattern\") {\n yield* this._iterateLhsReferences(patternNode.left, path, traceMap)\n }\n }\n\n /**\n * Iterate the references for a given ModuleSpecifier node.\n * @param {Node} specifierNode The ModuleSpecifier node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateImportReferences(specifierNode, path, traceMap) {\n const type = specifierNode.type\n\n if (type === \"ImportSpecifier\" || type === \"ImportDefaultSpecifier\") {\n const key =\n type === \"ImportDefaultSpecifier\"\n ? \"default\"\n : specifierNode.imported.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n nextTraceMap,\n false,\n )\n\n return\n }\n\n if (type === \"ImportNamespaceSpecifier\") {\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n traceMap,\n false,\n )\n return\n }\n\n if (type === \"ExportSpecifier\") {\n const key = specifierNode.local.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n }\n }\n}\n\nReferenceTracker.READ = READ\nReferenceTracker.CALL = CALL\nReferenceTracker.CONSTRUCT = CONSTRUCT\nReferenceTracker.ESM = ESM\n\n/**\n * This is a predicate function for Array#filter.\n * @param {string} name A name part.\n * @param {number} index The index of the name.\n * @returns {boolean} `false` if it's default.\n */\nfunction exceptDefault(name, index) {\n return !(index === 1 && name === \"default\")\n}\n","import { findVariable } from \"./find-variable\"\nimport { getFunctionHeadLocation } from \"./get-function-head-location\"\nimport { getFunctionNameWithKind } from \"./get-function-name-with-kind\"\nimport { getInnermostScope } from \"./get-innermost-scope\"\nimport { getPropertyName } from \"./get-property-name\"\nimport { getStaticValue } from \"./get-static-value\"\nimport { getStringIfConstant } from \"./get-string-if-constant\"\nimport { hasSideEffect } from \"./has-side-effect\"\nimport { isParenthesized } from \"./is-parenthesized\"\nimport { PatternMatcher } from \"./pattern-matcher\"\nimport {\n CALL,\n CONSTRUCT,\n ESM,\n READ,\n ReferenceTracker,\n} from \"./reference-tracker\"\nimport {\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isSemicolonToken,\n} from \"./token-predicate\"\n\nexport default {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\nexport {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/package.json b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/package.json new file mode 100644 index 000000000..259ec0f61 --- /dev/null +++ b/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/package.json @@ -0,0 +1,78 @@ +{ + "name": "eslint-utils", + "version": "3.0.0", + "description": "Utilities for ESLint plugins.", + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "sideEffects": false, + "main": "index", + "module": "index.mjs", + "files": [ + "index.*" + ], + "exports": { + ".": { + "import": "./index.mjs", + "require": "./index.js" + }, + "./package.json": "./package.json" + }, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "devDependencies": { + "@mysticatea/eslint-plugin": "^13.0.0", + "codecov": "^3.6.1", + "dot-prop": "^4.2.0", + "eslint": "^7.24.0", + "esm": "^3.2.25", + "espree": "github:eslint/espree#1c744b3a602b783926344811a9459b92afe57444", + "mocha": "^6.2.2", + "npm-run-all": "^4.1.5", + "nyc": "^14.1.1", + "opener": "^1.5.1", + "prettier": "~2.3.0", + "rimraf": "^3.0.0", + "rollup": "^1.25.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "semver": "^7.3.2", + "vuepress": "^1.2.0", + "warun": "^1.0.0" + }, + "peerDependencies": { + "eslint": ">=5" + }, + "scripts": { + "prebuild": "npm run -s clean", + "build": "rollup -c", + "clean": "rimraf .nyc_output coverage index.*", + "codecov": "nyc report -r lcovonly && codecov", + "coverage": "opener ./coverage/lcov-report/index.html", + "docs:build": "vuepress build docs", + "docs:watch": "vuepress dev docs", + "format": "npm run -s format:prettier -- --write", + "format:prettier": "prettier docs/.vuepress/config.js src/**/*.js test/**/*.js rollup.config.js .vscode/*.json *.json .github/**/*.yml *.yml docs/**/*.md *.md", + "lint": "eslint docs/.vuepress/config.js src test rollup.config.js", + "test": "run-s \"format:prettier -- --check\" lint build test:mocha", + "test:mocha": "nyc mocha --reporter dot \"test/*.js\"", + "preversion": "npm test && npm run -s build", + "postversion": "git push && git push --tags", + "prewatch": "npm run -s clean", + "watch": "warun \"{src,test}/**/*.js\" -- npm run -s test:mocha" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/mysticatea/eslint-utils.git" + }, + "keywords": [ + "eslint" + ], + "author": "Toru Nagashima", + "license": "MIT", + "bugs": { + "url": "https://github.com/mysticatea/eslint-utils/issues" + }, + "homepage": "https://github.com/mysticatea/eslint-utils#readme", + "funding": "https://github.com/sponsors/mysticatea" +} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/experimental-utils/package.json b/node_modules/@typescript-eslint/experimental-utils/package.json index 623041ed2..627ad2967 100644 --- a/node_modules/@typescript-eslint/experimental-utils/package.json +++ b/node_modules/@typescript-eslint/experimental-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/experimental-utils", - "version": "4.1.0", + "version": "4.28.5", "description": "(Experimental) Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -32,19 +32,19 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts3.4", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", "test": "jest --coverage", "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.1.0", - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/typescript-estree": "4.1.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.5", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/typescript-estree": "4.28.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "peerDependencies": { "eslint": "*" @@ -63,5 +63,5 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/CHANGELOG.md b/node_modules/@typescript-eslint/parser/CHANGELOG.md index 8007f5601..83a7fd33f 100644 --- a/node_modules/@typescript-eslint/parser/CHANGELOG.md +++ b/node_modules/@typescript-eslint/parser/CHANGELOG.md @@ -3,6 +3,396 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + + +### Bug Fixes + +* **typescript-estree:** allow providing more one than one existing program in config ([#3508](https://github.com/typescript-eslint/typescript-eslint/issues/3508)) ([4f1806e](https://github.com/typescript-eslint/typescript-eslint/commit/4f1806e548affb7265da360d1fc8d033e25de325)) + + +### Features + +* allow user to provide TS program instance in parser options ([#3484](https://github.com/typescript-eslint/typescript-eslint/issues/3484)) ([e855b18](https://github.com/typescript-eslint/typescript-eslint/commit/e855b18b8feee0edb5c617c11006861426a6f530)) + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + + +### Features + +* add support for decorator metadata in scope analysis and in consistent-type-imports ([#2751](https://github.com/typescript-eslint/typescript-eslint/issues/2751)) ([445e416](https://github.com/typescript-eslint/typescript-eslint/commit/445e416878b27a54bf07c2d3b84dabd7b06e51bc)), closes [#2559](https://github.com/typescript-eslint/typescript-eslint/issues/2559) + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Bug Fixes + +* **parser:** minor fix regexp, map-filter to reduce ([#2684](https://github.com/typescript-eslint/typescript-eslint/issues/2684)) ([f1329f6](https://github.com/typescript-eslint/typescript-eslint/commit/f1329f6c4e3d1de21b1dc59c30ce16503c346eee)) + + +### Features + +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) diff --git a/node_modules/@typescript-eslint/parser/README.md b/node_modules/@typescript-eslint/parser/README.md index f6417fd58..04f5c53d0 100644 --- a/node_modules/@typescript-eslint/parser/README.md +++ b/node_modules/@typescript-eslint/parser/README.md @@ -45,7 +45,7 @@ By far the most common case will be installing the [`@typescript-eslint/eslint-p ## Configuration -The following additional configuration options are available by specifying them in [`parserOptions`](https://eslint.org/docs/user-guide/configuring#specifying-parser-options) in your ESLint configuration file. +The following additional configuration options are available by specifying them in [`parserOptions`](https://eslint.org/docs/user-guide/configuring/language-options#specifying-parser-options) in your ESLint configuration file. ```ts interface ParserOptions { @@ -64,6 +64,8 @@ interface ParserOptions { tsconfigRootDir?: string; extraFileExtensions?: string[]; warnOnUnsupportedTypeScriptVersion?: boolean; + + program?: import('typescript').Program; } ``` @@ -99,6 +101,8 @@ Accepts any valid ECMAScript version number: - A version: es3, es5, es6, es7, es8, es9, es10, es11, ..., or - A year: es2015, es2016, es2017, es2018, es2019, es2020, ... +The value **must** be a number - so do not include the `es` prefix. + Specifies the version of ECMAScript syntax you want to use. This is used by the parser to determine how to perform scope analysis, and it affects the default ### `parserOptions.jsxPragma` @@ -209,6 +213,39 @@ Default `false`. This option allows you to request that when the `project` setting is specified, files will be allowed when not included in the projects defined by the provided `tsconfig.json` files. **Using this option will incur significant performance costs. This option is primarily included for backwards-compatibility.** See the **`project`** section above for more information. +### `parserOptions.programs` + +Default `undefined`. + +This option allows you to programmatically provide an array of one or more instances of a TypeScript Program object that will provide type information to rules. +This will override any programs that would have been computed from `parserOptions.project` or `parserOptions.createDefaultProgram`. +All linted files must be part of the provided program(s). + +## Utilities + +### `createProgram(configFile, projectDirectory)` + +This serves as a utility method for users of the `parserOptions.programs` feature to create a TypeScript program instance from a config file. + +```ts +declare function createProgram( + configFile: string, + projectDirectory?: string, +): import('typescript').Program; +``` + +Example usage in .eslintrc.js: + +```js +const parser = require('@typescript-eslint/parser'); +const programs = [parser.createProgram('tsconfig.json')]; +module.exports = { + parserOptions: { + programs, + }, +}; +``` + ## Supported TypeScript Version Please see [`typescript-eslint`](https://github.com/typescript-eslint/typescript-eslint) for the supported TypeScript version. diff --git a/node_modules/@typescript-eslint/parser/dist/index.d.ts b/node_modules/@typescript-eslint/parser/dist/index.d.ts index 2229e017d..c81068fbc 100644 --- a/node_modules/@typescript-eslint/parser/dist/index.d.ts +++ b/node_modules/@typescript-eslint/parser/dist/index.d.ts @@ -1,5 +1,4 @@ export { parse, parseForESLint, ParserOptions } from './parser'; -export { ParserServices } from '@typescript-eslint/typescript-estree'; -export { clearCaches } from '@typescript-eslint/typescript-estree'; +export { ParserServices, clearCaches, createProgram, } from '@typescript-eslint/typescript-estree'; export declare const version: string; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/index.d.ts.map b/node_modules/@typescript-eslint/parser/dist/index.d.ts.map index 69632b8a0..b673a384e 100644 --- a/node_modules/@typescript-eslint/parser/dist/index.d.ts.map +++ b/node_modules/@typescript-eslint/parser/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,sCAAsC,CAAC;AAI9C,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/index.js b/node_modules/@typescript-eslint/parser/dist/index.js index b9e888ae1..c43b1cfef 100644 --- a/node_modules/@typescript-eslint/parser/dist/index.js +++ b/node_modules/@typescript-eslint/parser/dist/index.js @@ -1,11 +1,13 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = exports.clearCaches = exports.parseForESLint = exports.parse = void 0; +exports.version = exports.createProgram = exports.clearCaches = exports.parseForESLint = exports.parse = void 0; var parser_1 = require("./parser"); Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parser_1.parse; } }); Object.defineProperty(exports, "parseForESLint", { enumerable: true, get: function () { return parser_1.parseForESLint; } }); var typescript_estree_1 = require("@typescript-eslint/typescript-estree"); Object.defineProperty(exports, "clearCaches", { enumerable: true, get: function () { return typescript_estree_1.clearCaches; } }); +Object.defineProperty(exports, "createProgram", { enumerable: true, get: function () { return typescript_estree_1.createProgram; } }); // note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder +// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment exports.version = require('../package.json').version; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/index.js.map b/node_modules/@typescript-eslint/parser/dist/index.js.map index 604901f92..5497998ec 100644 --- a/node_modules/@typescript-eslint/parser/dist/index.js.map +++ b/node_modules/@typescript-eslint/parser/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgE;AAAvD,+FAAA,KAAK,OAAA;AAAE,wGAAA,cAAc,OAAA;AAE9B,0EAAmE;AAA1D,gHAAA,WAAW,OAAA;AAEpB,sHAAsH;AACzG,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgE;AAAvD,+FAAA,KAAK,OAAA;AAAE,wGAAA,cAAc,OAAA;AAC9B,0EAI8C;AAF5C,gHAAA,WAAW,OAAA;AACX,kHAAA,aAAa,OAAA;AAGf,sHAAsH;AACtH,mEAAmE;AACtD,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts b/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts deleted file mode 100644 index a829c4016..000000000 --- a/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { ParserOptions } from '@typescript-eslint/types'; -//# sourceMappingURL=parser-options.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts.map b/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts.map deleted file mode 100644 index 85aeca5e1..000000000 --- a/node_modules/@typescript-eslint/parser/dist/parser-options.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser-options.js b/node_modules/@typescript-eslint/parser/dist/parser-options.js deleted file mode 100644 index 66f40a290..000000000 --- a/node_modules/@typescript-eslint/parser/dist/parser-options.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=parser-options.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser-options.js.map b/node_modules/@typescript-eslint/parser/dist/parser-options.js.map deleted file mode 100644 index 22b7b8ab9..000000000 --- a/node_modules/@typescript-eslint/parser/dist/parser-options.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map b/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map index 2e2563832..61bdab342 100644 --- a/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +++ b/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAO,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAEL,cAAc,EAEd,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAGL,YAAY,EACb,MAAM,kCAAkC,CAAC;AAM1C,UAAU,oBAAoB;IAC5B,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG;QACtB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAiDD,iBAAS,KAAK,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,oBAAoB,CAAC,KAAK,CAAC,CAE7B;AAED,iBAAS,cAAc,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,GAC7B,oBAAoB,CAwFtB;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAO,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAEL,cAAc,EAEd,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAGL,YAAY,EACb,MAAM,kCAAkC,CAAC;AAM1C,UAAU,oBAAoB;IAC5B,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG;QACtB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;AA+CD,iBAAS,KAAK,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,oBAAoB,CAAC,KAAK,CAAC,CAE7B;AAED,iBAAS,cAAc,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,GAC7B,oBAAoB,CA4FtB;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/dist/parser.js b/node_modules/@typescript-eslint/parser/dist/parser.js index 3b6a30cf9..930be7db7 100644 --- a/node_modules/@typescript-eslint/parser/dist/parser.js +++ b/node_modules/@typescript-eslint/parser/dist/parser.js @@ -15,19 +15,17 @@ function validateBoolean(value, fallback = false) { } return value; } -const LIB_FILENAME_REGEX = /lib\.(.+)\.d\.ts/; +const LIB_FILENAME_REGEX = /lib\.(.+)\.d\.ts$/; function getLib(compilerOptions) { var _a; if (compilerOptions.lib) { - return compilerOptions.lib - .map(lib => { + return compilerOptions.lib.reduce((acc, lib) => { const match = LIB_FILENAME_REGEX.exec(lib.toLowerCase()); - if (!match) { - return null; + if (match) { + acc.push(match[1]); } - return match[1]; - }) - .filter(l => l != null); + return acc; + }, []); } const target = (_a = compilerOptions.target) !== null && _a !== void 0 ? _a : typescript_1.ScriptTarget.ES5; // https://github.com/Microsoft/TypeScript/blob/59ad375234dc2efe38d8ee0ba58414474c1d5169/src/compiler/utilitiesPublic.ts#L13-L32 @@ -123,6 +121,10 @@ function parseForESLint(code, options) { log('Resolved jsxFragmentName from program: %s', analyzeOptions.jsxFragmentName); } } + if (compilerOptions.emitDecoratorMetadata === true) { + analyzeOptions.emitDecoratorMetadata = + compilerOptions.emitDecoratorMetadata; + } } const scopeManager = scope_manager_1.analyze(ast, analyzeOptions); return { ast, services, scopeManager, visitorKeys: typescript_estree_1.visitorKeys }; diff --git a/node_modules/@typescript-eslint/parser/dist/parser.js.map b/node_modules/@typescript-eslint/parser/dist/parser.js.map index e3b8dd068..9fe7486b4 100644 --- a/node_modules/@typescript-eslint/parser/dist/parser.js.map +++ b/node_modules/@typescript-eslint/parser/dist/parser.js.map @@ -1 +1 @@ -{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;AACA,4EAK8C;AAC9C,oEAI0C;AAC1C,kDAA0B;AAC1B,2CAA2D;AAE3D,MAAM,GAAG,GAAG,eAAK,CAAC,iCAAiC,CAAC,CAAC;AAarD,SAAS,eAAe,CACtB,KAA0B,EAC1B,QAAQ,GAAG,KAAK;IAEhB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAC/C,SAAS,MAAM,CAAC,eAAgC;;IAC9C,IAAI,eAAe,CAAC,GAAG,EAAE;QACvB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAC,CAAC;aAC3B;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAW,CAAC,CAAC;KACjB;IAED,MAAM,MAAM,GAAG,MAAA,eAAe,CAAC,MAAM,mCAAI,yBAAY,CAAC,GAAG,CAAC;IAC1D,gIAAgI;IAChI,QAAQ,MAAM,EAAE;QACd,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,KAAK,yBAAY,CAAC,MAAM;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB;YACE,OAAO,CAAC,KAAK,CAAC,CAAC;KAClB;AACH,CAAC;AAED,SAAS,KAAK,CACZ,IAAY,EACZ,OAAuB;IAEvB,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC;AAmGQ,sBAAK;AAjGd,SAAS,cAAc,CACrB,IAAY,EACZ,OAA8B;IAE9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC3C,OAAO,GAAG,EAAE,CAAC;KACd;SAAM;QACL,OAAO,qBAAQ,OAAO,CAAE,CAAC;KAC1B;IACD,2EAA2E;IAC3E,yFAAyF;IACzF,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;QACtE,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;KAC/B;IACD,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE;QAC5C,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;KAC3B;IAED,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE;QACpC,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;QAC7D,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,cAAc,GAAmB;QACrC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;IAEF,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3C,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;SACzB;KACF;IAED;;;OAGG;IACH,MAAM,kCAAkC,GAAG,eAAe,CACxD,OAAO,CAAC,kCAAkC,EAC1C,IAAI,CACL,CAAC;IACF,IAAI,CAAC,kCAAkC,EAAE;QACvC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;KAChC;IAED,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,4CAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxE,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEpC,IAAI,QAAQ,CAAC,sBAAsB,EAAE;QACnC,6DAA6D;QAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC9D,IAAI,cAAc,CAAC,GAAG,IAAI,IAAI,EAAE;YAC9B,cAAc,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,gCAAgC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;SAC3D;QACD,IAAI,aAAa,CAAC,GAAG,KAAK,IAAI,EAAE;YAC9B,IACE,cAAc,CAAC,SAAS,KAAK,SAAS;gBACtC,eAAe,CAAC,UAAU,IAAI,IAAI,EAClC;gBACA,2DAA2D;gBAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChE,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;gBACnC,GAAG,CAAC,qCAAqC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;aACtE;YACD,IACE,cAAc,CAAC,eAAe,KAAK,SAAS;gBAC5C,eAAe,CAAC,kBAAkB,IAAI,IAAI,EAC1C;gBACA,kEAAkE;gBAClE,MAAM,WAAW,GAAG,eAAe,CAAC,kBAAkB;qBACnD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACb,IAAI,EAAE,CAAC;gBACV,cAAc,CAAC,eAAe,GAAG,WAAW,CAAC;gBAC7C,GAAG,CACD,2CAA2C,EAC3C,cAAc,CAAC,eAAe,CAC/B,CAAC;aACH;SACF;QACD,IAAI,eAAe,CAAC,qBAAqB,KAAK,IAAI,EAAE;YAClD,cAAc,CAAC,qBAAqB;gBAClC,eAAe,CAAC,qBAAqB,CAAC;SACzC;KACF;IAED,MAAM,YAAY,GAAG,uBAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAElD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAX,+BAAW,EAAE,CAAC;AACtD,CAAC;AAEe,wCAAc"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/parser/package.json b/node_modules/@typescript-eslint/parser/package.json index 31c5850c3..621493723 100644 --- a/node_modules/@typescript-eslint/parser/package.json +++ b/node_modules/@typescript-eslint/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "4.1.0", + "version": "4.28.5", "description": "An ESLint custom parser which leverages TypeScript ESTree", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -34,7 +34,7 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", "test": "jest --coverage", @@ -44,15 +44,14 @@ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "4.1.0", - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/typescript-estree": "4.1.0", - "debug": "^4.1.1" + "@typescript-eslint/scope-manager": "4.28.5", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/typescript-estree": "4.28.5", + "debug": "^4.3.1" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/experimental-utils": "4.1.0", - "@typescript-eslint/shared-fixtures": "4.1.0", + "@typescript-eslint/experimental-utils": "4.28.5", "glob": "*", "typescript": "*" }, @@ -72,5 +71,5 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/CHANGELOG.md b/node_modules/@typescript-eslint/scope-manager/CHANGELOG.md index cf0ad482f..2c88e3516 100644 --- a/node_modules/@typescript-eslint/scope-manager/CHANGELOG.md +++ b/node_modules/@typescript-eslint/scope-manager/CHANGELOG.md @@ -3,6 +3,425 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + + +### Bug Fixes + +* generate library types for TypeScript v4.3 ([#3460](https://github.com/typescript-eslint/typescript-eslint/issues/3460)) ([ed4776a](https://github.com/typescript-eslint/typescript-eslint/commit/ed4776afa1374279027b9b7d82aa4b453b334998)), closes [#3449](https://github.com/typescript-eslint/typescript-eslint/issues/3449) + + +### Features + +* **scope-manager:** reduce generated lib file size ([#3468](https://github.com/typescript-eslint/typescript-eslint/issues/3468)) ([258116b](https://github.com/typescript-eslint/typescript-eslint/commit/258116ba7b0dd4ac7a1cc3876fab12f2556bda74)) + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Bug Fixes + +* **scope-manager:** fix visiting TSAsExpression in assignment ([#3355](https://github.com/typescript-eslint/typescript-eslint/issues/3355)) ([87521a0](https://github.com/typescript-eslint/typescript-eslint/commit/87521a024103bc5fc643861649bee9a288f55b7b)) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + + +### Bug Fixes + +* **scope-manager:** update libs for typescript 4.2 ([#3118](https://github.com/typescript-eslint/typescript-eslint/issues/3118)) ([0336c79](https://github.com/typescript-eslint/typescript-eslint/commit/0336c798c9502fc250d2eaa045661950da55e52f)) + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + + +### Bug Fixes + +* **scope-manager:** fix visiting of TSImportType ([#3008](https://github.com/typescript-eslint/typescript-eslint/issues/3008)) ([ce4fcbf](https://github.com/typescript-eslint/typescript-eslint/commit/ce4fcbf4401098387a2cf19ae8457c89c509239a)), closes [#3006](https://github.com/typescript-eslint/typescript-eslint/issues/3006) + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + + +### Bug Fixes + +* **scope-manager:** correctly reference generic parameters when decorator metadata is enabled ([#2975](https://github.com/typescript-eslint/typescript-eslint/issues/2975)) ([7695ef3](https://github.com/typescript-eslint/typescript-eslint/commit/7695ef318f1cc8688acaabf4f2730769622f083f)), closes [#2972](https://github.com/typescript-eslint/typescript-eslint/issues/2972) + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + + +### Bug Fixes + +* **scope-manager:** fix incorrect handling of class decorators and class method default params ([#2943](https://github.com/typescript-eslint/typescript-eslint/issues/2943)) ([e1eac83](https://github.com/typescript-eslint/typescript-eslint/commit/e1eac8312268d1855a2ed7784b4d190ecb9c9fa4)), closes [#2941](https://github.com/typescript-eslint/typescript-eslint/issues/2941) [#2942](https://github.com/typescript-eslint/typescript-eslint/issues/2942) [#2751](https://github.com/typescript-eslint/typescript-eslint/issues/2751) + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + + +### Features + +* add support for decorator metadata in scope analysis and in consistent-type-imports ([#2751](https://github.com/typescript-eslint/typescript-eslint/issues/2751)) ([445e416](https://github.com/typescript-eslint/typescript-eslint/commit/445e416878b27a54bf07c2d3b84dabd7b06e51bc)), closes [#2559](https://github.com/typescript-eslint/typescript-eslint/issues/2559) + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + + +### Bug Fixes + +* **scope-manager:** fix assertion assignments not being marked as write references ([#2809](https://github.com/typescript-eslint/typescript-eslint/issues/2809)) ([fa68492](https://github.com/typescript-eslint/typescript-eslint/commit/fa6849245ca55ca407dc031afbad456f2925a8e9)), closes [#2804](https://github.com/typescript-eslint/typescript-eslint/issues/2804) + + +### Features + +* **eslint-plugin:** [no-unused-vars] fork the base rule ([#2768](https://github.com/typescript-eslint/typescript-eslint/issues/2768)) ([a8227a6](https://github.com/typescript-eslint/typescript-eslint/commit/a8227a6185dd24de4bfc7d766931643871155021)), closes [#2782](https://github.com/typescript-eslint/typescript-eslint/issues/2782) [#2714](https://github.com/typescript-eslint/typescript-eslint/issues/2714) [#2648](https://github.com/typescript-eslint/typescript-eslint/issues/2648) + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + + +### Features + +* support TS4.1 features ([#2748](https://github.com/typescript-eslint/typescript-eslint/issues/2748)) ([2be354b](https://github.com/typescript-eslint/typescript-eslint/commit/2be354bb15f9013a2da1b13a0c0836e9ef057e16)), closes [#2583](https://github.com/typescript-eslint/typescript-eslint/issues/2583) + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Features + +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + + +### Bug Fixes + +* **scope-manager:** don't create a variable for global augmentation ([#2639](https://github.com/typescript-eslint/typescript-eslint/issues/2639)) ([6bc9325](https://github.com/typescript-eslint/typescript-eslint/commit/6bc93257ec876214743a165093b6666d713379f6)) + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + + +### Bug Fixes + +* **scope-manager:** correct analysis of inferred types in conditional types ([#2537](https://github.com/typescript-eslint/typescript-eslint/issues/2537)) ([4f660fd](https://github.com/typescript-eslint/typescript-eslint/commit/4f660fd31acbb88b30719f925dcb2b3022cc2bab)) + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) diff --git a/node_modules/@typescript-eslint/scope-manager/README.md b/node_modules/@typescript-eslint/scope-manager/README.md index 24ccd839d..7671214e8 100644 --- a/node_modules/@typescript-eslint/scope-manager/README.md +++ b/node_modules/@typescript-eslint/scope-manager/README.md @@ -83,6 +83,12 @@ interface AnalyzeOptions { * The source type of the script. */ sourceType?: 'script' | 'module'; + + /** + * Emit design-type metadata for decorated declarations in source. + * Defaults to `false`. + */ + emitDecoratorMetadata?: boolean; } ``` diff --git a/node_modules/@typescript-eslint/scope-manager/dist/ID.js.map b/node_modules/@typescript-eslint/scope-manager/dist/ID.js.map index ec2b09d01..cdbd46597 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/ID.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/ID.js.map @@ -1 +1 @@ -{"version":3,"file":"ID.js","sourceRoot":"","sources":["../src/ID.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAErB,OAAO,GAAW,EAAE;;QAClB,MAAM,OAAO,SAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAMQ,8CAAiB;AAJ1B,SAAS,QAAQ;IACf,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAE2B,4BAAQ"} \ No newline at end of file +{"version":3,"file":"ID.js","sourceRoot":"","sources":["../src/ID.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAErB,OAAO,GAAW,EAAE;;QAClB,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAMQ,8CAAiB;AAJ1B,SAAS,QAAQ;IACf,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAE2B,4BAAQ"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js b/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js index 96567915d..0d9426745 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js @@ -1,30 +1,28 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _options; +var _ScopeManager_options; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScopeManager = void 0; const assert_1 = require("./assert"); const scope_1 = require("./scope"); class ScopeManager { constructor(options) { - _options.set(this, void 0); + _ScopeManager_options.set(this, void 0); this.scopes = []; this.globalScope = null; this.nodeToScope = new WeakMap(); this.currentScope = null; - __classPrivateFieldSet(this, _options, options); + __classPrivateFieldSet(this, _ScopeManager_options, options, "f"); this.declaredVariables = new WeakMap(); } get variables() { @@ -37,19 +35,19 @@ class ScopeManager { return Array.from(variables).sort((a, b) => a.$id - b.$id); } isGlobalReturn() { - return __classPrivateFieldGet(this, _options).globalReturn === true; + return __classPrivateFieldGet(this, _ScopeManager_options, "f").globalReturn === true; } isModule() { - return __classPrivateFieldGet(this, _options).sourceType === 'module'; + return __classPrivateFieldGet(this, _ScopeManager_options, "f").sourceType === 'module'; } isImpliedStrict() { - return __classPrivateFieldGet(this, _options).impliedStrict === true; + return __classPrivateFieldGet(this, _ScopeManager_options, "f").impliedStrict === true; } isStrictModeSupported() { - return __classPrivateFieldGet(this, _options).ecmaVersion != null && __classPrivateFieldGet(this, _options).ecmaVersion >= 5; + return __classPrivateFieldGet(this, _ScopeManager_options, "f").ecmaVersion != null && __classPrivateFieldGet(this, _ScopeManager_options, "f").ecmaVersion >= 5; } isES6() { - return __classPrivateFieldGet(this, _options).ecmaVersion != null && __classPrivateFieldGet(this, _options).ecmaVersion >= 6; + return __classPrivateFieldGet(this, _ScopeManager_options, "f").ecmaVersion != null && __classPrivateFieldGet(this, _ScopeManager_options, "f").ecmaVersion >= 6; } /** * Get the variables that a given AST node defines. The gotten variables' `def[].node`/`def[].parent` property is the node. @@ -177,5 +175,5 @@ class ScopeManager { } } exports.ScopeManager = ScopeManager; -_options = new WeakMap(); +_ScopeManager_options = new WeakMap(); //# sourceMappingURL=ScopeManager.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map b/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map index 2eda4ba8e..fdccf512c 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map @@ -1 +1 @@ -{"version":3,"file":"ScopeManager.js","sourceRoot":"","sources":["../src/ScopeManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ScopeManager.js","sourceRoot":"","sources":["../src/ScopeManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts index 77c03f2a2..fa23f3492 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts @@ -47,6 +47,11 @@ interface AnalyzeOptions { * The source type of the script. */ sourceType?: 'script' | 'module'; + /** + * Emit design-type metadata for decorated declarations in source. + * Defaults to `false`. + */ + emitDecoratorMetadata?: boolean; } /** * Takes an AST and returns the analyzed scopes. diff --git a/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts.map index ce287b9be..fb19e0f59 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,UAAU,cAAc;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAwBD;;GAEG;AACH,iBAAS,OAAO,CACd,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,eAAe,CAAC,EAAE,cAAc,GAC/B,YAAY,CA0Bd;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,UAAU,cAAc;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEjC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAyBD;;GAEG;AACH,iBAAS,OAAO,CACd,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,eAAe,CAAC,EAAE,cAAc,GAC/B,YAAY,CA6Bd;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/analyze.js b/node_modules/@typescript-eslint/scope-manager/dist/analyze.js index 611b2125f..903cd9568 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/analyze.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/analyze.js @@ -14,6 +14,7 @@ const DEFAULT_OPTIONS = { jsxFragmentName: null, lib: ['es2018'], sourceType: 'script', + emitDecoratorMetadata: false, }; function mapEcmaVersion(version) { if (version == null || version === 3 || version === 5) { @@ -27,7 +28,7 @@ function mapEcmaVersion(version) { * Takes an AST and returns the analyzed scopes. */ function analyze(tree, providedOptions) { - var _a, _b, _c, _d, _e, _f, _g, _h; + var _a, _b, _c, _d, _e, _f, _g, _h, _j; const ecmaVersion = (_a = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.ecmaVersion) !== null && _a !== void 0 ? _a : DEFAULT_OPTIONS.ecmaVersion; const options = { childVisitorKeys: (_b = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.childVisitorKeys) !== null && _b !== void 0 ? _b : DEFAULT_OPTIONS.childVisitorKeys, @@ -38,6 +39,7 @@ function analyze(tree, providedOptions) { jsxFragmentName: (_f = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.jsxFragmentName) !== null && _f !== void 0 ? _f : DEFAULT_OPTIONS.jsxFragmentName, sourceType: (_g = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.sourceType) !== null && _g !== void 0 ? _g : DEFAULT_OPTIONS.sourceType, lib: (_h = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.lib) !== null && _h !== void 0 ? _h : [mapEcmaVersion(ecmaVersion)], + emitDecoratorMetadata: (_j = providedOptions === null || providedOptions === void 0 ? void 0 : providedOptions.emitDecoratorMetadata) !== null && _j !== void 0 ? _j : DEFAULT_OPTIONS.emitDecoratorMetadata, }; // ensure the option is lower cased options.lib = options.lib.map(l => l.toLowerCase()); diff --git a/node_modules/@typescript-eslint/scope-manager/dist/analyze.js.map b/node_modules/@typescript-eslint/scope-manager/dist/analyze.js.map index dd445117b..7476d2d4b 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/analyze.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAC9D,6CAA6D;AAC7D,iDAA8C;AAC9C,+BAA2C;AA6D3C,MAAM,eAAe,GAA6B;IAChD,gBAAgB,EAAE,0BAAW;IAC7B,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,OAAO;IAClB,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,SAAS,cAAc,CAAC,OAAgC;IACtD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IAExB,OAAO,GAAG,IAAI,SAAW,CAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CACd,IAAmB,EACnB,eAAgC;;IAEhC,MAAM,WAAW,SACf,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,mCAAI,eAAe,CAAC,WAAW,CAAC;IAC9D,MAAM,OAAO,GAA6B;QACxC,gBAAgB,QACd,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,gBAAgB,mCAAI,eAAe,CAAC,gBAAgB;QACvE,WAAW;QACX,YAAY,QAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,mCAAI,eAAe,CAAC,YAAY;QAC3E,aAAa,QACX,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,mCAAI,eAAe,CAAC,aAAa;QACjE,SAAS,QAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,mCAAI,eAAe,CAAC,SAAS;QAClE,eAAe,QACb,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,eAAe,mCAAI,eAAe,CAAC,eAAe;QACrE,UAAU,QAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,eAAe,CAAC,UAAU;QACrE,GAAG,QAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAC3D,CAAC;IAEF,mCAAmC;IACnC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAS,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEzD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAEQ,0BAAO"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAC9D,6CAA6D;AAC7D,iDAA8C;AAC9C,+BAA2C;AAmE3C,MAAM,eAAe,GAA6B;IAChD,gBAAgB,EAAE,0BAAW;IAC7B,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,OAAO;IAClB,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ;IACpB,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,SAAS,cAAc,CAAC,OAAgC;IACtD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IAExB,OAAO,GAAG,IAAI,SAAW,CAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CACd,IAAmB,EACnB,eAAgC;;IAEhC,MAAM,WAAW,GACf,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,mCAAI,eAAe,CAAC,WAAW,CAAC;IAC9D,MAAM,OAAO,GAA6B;QACxC,gBAAgB,EACd,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,gBAAgB,mCAAI,eAAe,CAAC,gBAAgB;QACvE,WAAW;QACX,YAAY,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,mCAAI,eAAe,CAAC,YAAY;QAC3E,aAAa,EACX,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,mCAAI,eAAe,CAAC,aAAa;QACjE,SAAS,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,mCAAI,eAAe,CAAC,SAAS;QAClE,eAAe,EACb,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,eAAe,mCAAI,eAAe,CAAC,eAAe;QACrE,UAAU,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,eAAe,CAAC,UAAU;QACrE,GAAG,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1D,qBAAqB,EACnB,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,qBAAqB,mCACtC,eAAe,CAAC,qBAAqB;KACxC,CAAC;IAEF,mCAAmC;IACnC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAS,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEzD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAEQ,0BAAO"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts new file mode 100644 index 000000000..2f836426a --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts @@ -0,0 +1,16 @@ +export declare const TYPE: Readonly<{ + eslintImplicitGlobalSetting: string; + isTypeVariable: boolean; + isValueVariable: boolean; +}>; +export declare const VALUE: Readonly<{ + eslintImplicitGlobalSetting: string; + isTypeVariable: boolean; + isValueVariable: boolean; +}>; +export declare const TYPE_VALUE: Readonly<{ + eslintImplicitGlobalSetting: string; + isTypeVariable: boolean; + isValueVariable: boolean; +}>; +//# sourceMappingURL=base-config.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts.map new file mode 100644 index 000000000..66399a9e8 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"base-config.d.ts","sourceRoot":"","sources":["../../src/lib/base-config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;;;EAIf,CAAC;AACH,eAAO,MAAM,KAAK;;;;EAIhB,CAAC;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js new file mode 100644 index 000000000..5d0fb28d4 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js @@ -0,0 +1,22 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TYPE_VALUE = exports.VALUE = exports.TYPE = void 0; +exports.TYPE = Object.freeze({ + eslintImplicitGlobalSetting: 'readonly', + isTypeVariable: true, + isValueVariable: false, +}); +exports.VALUE = Object.freeze({ + eslintImplicitGlobalSetting: 'readonly', + isTypeVariable: false, + isValueVariable: true, +}); +exports.TYPE_VALUE = Object.freeze({ + eslintImplicitGlobalSetting: 'readonly', + isTypeVariable: true, + isValueVariable: true, +}); +//# sourceMappingURL=base-config.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js.map new file mode 100644 index 000000000..ed3a67f50 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"base-config.js","sourceRoot":"","sources":["../../src/lib/base-config.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAEnC,QAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,2BAA2B,EAAE,UAAU;IACvC,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,KAAK;CACvB,CAAC,CAAC;AACU,QAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,2BAA2B,EAAE,UAAU;IACvC,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC;AACU,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,2BAA2B,EAAE,UAAU;IACvC,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map index 253949e5a..c39fddafc 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/lib/dom.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,GAAG,4CA+tP+B,CAAC"} \ No newline at end of file +{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/lib/dom.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,GAAG,4CAuxC+B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map index ce174d2db..cbecef8a6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"dom.iterable.d.ts","sourceRoot":"","sources":["../../src/lib/dom.iterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,YAAY,4CAyTsB,CAAC"} \ No newline at end of file +{"version":3,"file":"dom.iterable.d.ts","sourceRoot":"","sources":["../../src/lib/dom.iterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,YAAY,4CAqDsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js index b1d6e449d..0ac2dbb64 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js @@ -4,318 +4,59 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.dom_iterable = void 0; +const base_config_1 = require("./base-config"); exports.dom_iterable = { - AudioParam: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioParam', - }, - AudioParamMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioParamMap', - }, - BaseAudioContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BaseAudioContext', - }, - CSSRuleList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CSSRuleList', - }, - CSSStyleDeclaration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CSSStyleDeclaration', - }, - Cache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Cache', - }, - CanvasPathDrawingStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasPathDrawingStyles', - }, - ClientRectList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientRectList', - }, - DOMRectList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMRectList', - }, - DOMStringList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMStringList', - }, - DOMTokenList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMTokenList', - }, - DataTransferItemList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DataTransferItemList', - }, - FileList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FileList', - }, - FormData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FormData', - }, - HTMLAllCollection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLAllCollection', - }, - HTMLCollectionBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLCollectionBase', - }, - HTMLCollectionOf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLCollectionOf', - }, - HTMLFormElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLFormElement', - }, - HTMLSelectElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLSelectElement', - }, - Headers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Headers', - }, - IDBObjectStore: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBObjectStore', - }, - MediaKeyStatusMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeyStatusMap', - }, - MediaList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaList', - }, - MimeTypeArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MimeTypeArray', - }, - NamedNodeMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NamedNodeMap', - }, - Navigator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Navigator', - }, - NodeList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NodeList', - }, - NodeListOf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NodeListOf', - }, - Plugin: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Plugin', - }, - PluginArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PluginArray', - }, - RTCRtpTransceiver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpTransceiver', - }, - RTCStatsReport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsReport', - }, - SVGLengthList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGLengthList', - }, - SVGNumberList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGNumberList', - }, - SVGPointList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGPointList', - }, - SVGStringList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGStringList', - }, - SourceBufferList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SourceBufferList', - }, - SpeechGrammarList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechGrammarList', - }, - SpeechRecognitionResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechRecognitionResult', - }, - SpeechRecognitionResultList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechRecognitionResultList', - }, - StyleSheetList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StyleSheetList', - }, - TextTrackCueList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackCueList', - }, - TextTrackList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackList', - }, - TouchList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TouchList', - }, - URLSearchParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'URLSearchParams', - }, - VRDisplay: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VRDisplay', - }, - WEBGL_draw_buffers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_draw_buffers', - }, - WebAuthentication: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebAuthentication', - }, - WebGL2RenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextBase', - }, - WebGL2RenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextOverloads', - }, - WebGLRenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextBase', - }, - WebGLRenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextOverloads', - }, + AudioParam: base_config_1.TYPE, + AudioParamMap: base_config_1.TYPE, + BaseAudioContext: base_config_1.TYPE, + CSSRuleList: base_config_1.TYPE, + CSSStyleDeclaration: base_config_1.TYPE, + Cache: base_config_1.TYPE, + CanvasPathDrawingStyles: base_config_1.TYPE, + ClientRectList: base_config_1.TYPE, + DOMRectList: base_config_1.TYPE, + DOMStringList: base_config_1.TYPE, + DOMTokenList: base_config_1.TYPE, + DataTransferItemList: base_config_1.TYPE, + FileList: base_config_1.TYPE, + FormData: base_config_1.TYPE, + HTMLAllCollection: base_config_1.TYPE, + HTMLCollectionBase: base_config_1.TYPE, + HTMLCollectionOf: base_config_1.TYPE, + HTMLFormElement: base_config_1.TYPE, + HTMLSelectElement: base_config_1.TYPE, + Headers: base_config_1.TYPE, + IDBDatabase: base_config_1.TYPE, + IDBObjectStore: base_config_1.TYPE, + MediaKeyStatusMap: base_config_1.TYPE, + MediaList: base_config_1.TYPE, + MimeTypeArray: base_config_1.TYPE, + NamedNodeMap: base_config_1.TYPE, + Navigator: base_config_1.TYPE, + NodeList: base_config_1.TYPE, + NodeListOf: base_config_1.TYPE, + Plugin: base_config_1.TYPE, + PluginArray: base_config_1.TYPE, + RTCRtpTransceiver: base_config_1.TYPE, + RTCStatsReport: base_config_1.TYPE, + SVGLengthList: base_config_1.TYPE, + SVGNumberList: base_config_1.TYPE, + SVGPointList: base_config_1.TYPE, + SVGStringList: base_config_1.TYPE, + SourceBufferList: base_config_1.TYPE, + SpeechGrammarList: base_config_1.TYPE, + SpeechRecognitionResult: base_config_1.TYPE, + SpeechRecognitionResultList: base_config_1.TYPE, + StyleSheetList: base_config_1.TYPE, + TextTrackCueList: base_config_1.TYPE, + TextTrackList: base_config_1.TYPE, + TouchList: base_config_1.TYPE, + URLSearchParams: base_config_1.TYPE, + VRDisplay: base_config_1.TYPE, + WEBGL_draw_buffers: base_config_1.TYPE, + WebGL2RenderingContextBase: base_config_1.TYPE, + WebGL2RenderingContextOverloads: base_config_1.TYPE, + WebGLRenderingContextBase: base_config_1.TYPE, + WebGLRenderingContextOverloads: base_config_1.TYPE, }; //# sourceMappingURL=dom.iterable.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map index 5a59418f3..7c0612f4e 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map @@ -1 +1 @@ -{"version":3,"file":"dom.iterable.js","sourceRoot":"","sources":["../../src/lib/dom.iterable.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dom.iterable.js","sourceRoot":"","sources":["../../src/lib/dom.iterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,kBAAI;IAChB,aAAa,EAAE,kBAAI;IACnB,gBAAgB,EAAE,kBAAI;IACtB,WAAW,EAAE,kBAAI;IACjB,mBAAmB,EAAE,kBAAI;IACzB,KAAK,EAAE,kBAAI;IACX,uBAAuB,EAAE,kBAAI;IAC7B,cAAc,EAAE,kBAAI;IACpB,WAAW,EAAE,kBAAI;IACjB,aAAa,EAAE,kBAAI;IACnB,YAAY,EAAE,kBAAI;IAClB,oBAAoB,EAAE,kBAAI;IAC1B,QAAQ,EAAE,kBAAI;IACd,QAAQ,EAAE,kBAAI;IACd,iBAAiB,EAAE,kBAAI;IACvB,kBAAkB,EAAE,kBAAI;IACxB,gBAAgB,EAAE,kBAAI;IACtB,eAAe,EAAE,kBAAI;IACrB,iBAAiB,EAAE,kBAAI;IACvB,OAAO,EAAE,kBAAI;IACb,WAAW,EAAE,kBAAI;IACjB,cAAc,EAAE,kBAAI;IACpB,iBAAiB,EAAE,kBAAI;IACvB,SAAS,EAAE,kBAAI;IACf,aAAa,EAAE,kBAAI;IACnB,YAAY,EAAE,kBAAI;IAClB,SAAS,EAAE,kBAAI;IACf,QAAQ,EAAE,kBAAI;IACd,UAAU,EAAE,kBAAI;IAChB,MAAM,EAAE,kBAAI;IACZ,WAAW,EAAE,kBAAI;IACjB,iBAAiB,EAAE,kBAAI;IACvB,cAAc,EAAE,kBAAI;IACpB,aAAa,EAAE,kBAAI;IACnB,aAAa,EAAE,kBAAI;IACnB,YAAY,EAAE,kBAAI;IAClB,aAAa,EAAE,kBAAI;IACnB,gBAAgB,EAAE,kBAAI;IACtB,iBAAiB,EAAE,kBAAI;IACvB,uBAAuB,EAAE,kBAAI;IAC7B,2BAA2B,EAAE,kBAAI;IACjC,cAAc,EAAE,kBAAI;IACpB,gBAAgB,EAAE,kBAAI;IACtB,aAAa,EAAE,kBAAI;IACnB,SAAS,EAAE,kBAAI;IACf,eAAe,EAAE,kBAAI;IACrB,SAAS,EAAE,kBAAI;IACf,kBAAkB,EAAE,kBAAI;IACxB,0BAA0B,EAAE,kBAAI;IAChC,+BAA+B,EAAE,kBAAI;IACrC,yBAAyB,EAAE,kBAAI;IAC/B,8BAA8B,EAAE,kBAAI;CACS,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js index 7ebfe9f34..8eafd77e7 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js @@ -4,7908 +4,1309 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.dom = void 0; +const base_config_1 = require("./base-config"); exports.dom = { - Account: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Account', - }, - AddEventListenerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AddEventListenerOptions', - }, - AesCbcParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCbcParams', - }, - AesCtrParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCtrParams', - }, - AesDerivedKeyParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesDerivedKeyParams', - }, - AesGcmParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesGcmParams', - }, - AesKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesKeyAlgorithm', - }, - AesKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesKeyGenParams', - }, - Algorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Algorithm', - }, - AnalyserOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnalyserOptions', - }, - AnimationEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationEventInit', - }, - AnimationPlaybackEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationPlaybackEventInit', - }, - AssertionOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AssertionOptions', - }, - AssignedNodesOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AssignedNodesOptions', - }, - AudioBufferOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioBufferOptions', - }, - AudioBufferSourceOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioBufferSourceOptions', - }, - AudioContextInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioContextInfo', - }, - AudioContextOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioContextOptions', - }, - AudioNodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioNodeOptions', - }, - AudioParamDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioParamDescriptor', - }, - AudioProcessingEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioProcessingEventInit', - }, - AudioTimestamp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioTimestamp', - }, - AudioWorkletNodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioWorkletNodeOptions', - }, - AuthenticationExtensionsClientInputs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticationExtensionsClientInputs', - }, - AuthenticationExtensionsClientOutputs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticationExtensionsClientOutputs', - }, - AuthenticatorSelectionCriteria: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticatorSelectionCriteria', - }, - BiquadFilterOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BiquadFilterOptions', - }, - BlobPropertyBag: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BlobPropertyBag', - }, - ByteLengthChunk: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ByteLengthChunk', - }, - CacheQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CacheQueryOptions', - }, - CanvasRenderingContext2DSettings: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasRenderingContext2DSettings', - }, - ChannelMergerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ChannelMergerOptions', - }, - ChannelSplitterOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ChannelSplitterOptions', - }, - ClientData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientData', - }, - ClientQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientQueryOptions', - }, - ClipboardEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClipboardEventInit', - }, - CloseEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CloseEventInit', - }, - CompositionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CompositionEventInit', - }, - ComputedEffectTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ComputedEffectTiming', - }, - ComputedKeyframe: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ComputedKeyframe', - }, - ConfirmSiteSpecificExceptionsInformation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConfirmSiteSpecificExceptionsInformation', - }, - ConstantSourceOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstantSourceOptions', - }, - ConstrainBooleanParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainBooleanParameters', - }, - ConstrainDOMStringParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainDOMStringParameters', - }, - ConstrainDoubleRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainDoubleRange', - }, - ConstrainULongRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainULongRange', - }, - ConstrainVideoFacingModeParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainVideoFacingModeParameters', - }, - ConvolverOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConvolverOptions', - }, - CredentialCreationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CredentialCreationOptions', - }, - CredentialRequestOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CredentialRequestOptions', - }, - CustomEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CustomEventInit', - }, - DOMMatrix2DInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMMatrix2DInit', - }, - DOMMatrixInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMMatrixInit', - }, - DOMPointInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMPointInit', - }, - DOMQuadInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMQuadInit', - }, - DOMRectInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMRectInit', - }, - DelayOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DelayOptions', - }, - DeviceLightEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceLightEventInit', - }, - DeviceMotionEventAccelerationInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceMotionEventAccelerationInit', - }, - DeviceMotionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceMotionEventInit', - }, - DeviceMotionEventRotationRateInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceMotionEventRotationRateInit', - }, - DeviceOrientationEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceOrientationEventInit', - }, - DevicePermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DevicePermissionDescriptor', - }, - DocumentTimelineOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentTimelineOptions', - }, - DoubleRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DoubleRange', - }, - DragEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DragEventInit', - }, - DynamicsCompressorOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DynamicsCompressorOptions', - }, - EcKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcKeyAlgorithm', - }, - EcKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcKeyGenParams', - }, - EcKeyImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcKeyImportParams', - }, - EcdhKeyDeriveParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcdhKeyDeriveParams', - }, - EcdsaParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcdsaParams', - }, - EffectTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EffectTiming', - }, - ElementCreationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementCreationOptions', - }, - ElementDefinitionOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementDefinitionOptions', - }, - ErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ErrorEventInit', - }, - EventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventInit', - }, - EventListenerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerOptions', - }, - EventModifierInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventModifierInit', - }, - EventSourceInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventSourceInit', - }, - ExceptionInformation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ExceptionInformation', - }, - FilePropertyBag: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FilePropertyBag', - }, - FocusEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FocusEventInit', - }, - FocusNavigationEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FocusNavigationEventInit', - }, - FocusNavigationOrigin: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FocusNavigationOrigin', - }, - FocusOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FocusOptions', - }, - FullscreenOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FullscreenOptions', - }, - GainOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GainOptions', - }, - GamepadEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GamepadEventInit', - }, - GetNotificationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GetNotificationOptions', - }, - GetRootNodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GetRootNodeOptions', - }, - HashChangeEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HashChangeEventInit', - }, - HkdfParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HkdfParams', - }, - HmacImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HmacImportParams', - }, - HmacKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HmacKeyAlgorithm', - }, - HmacKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HmacKeyGenParams', - }, - IDBIndexParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBIndexParameters', - }, - IDBObjectStoreParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBObjectStoreParameters', - }, - IDBVersionChangeEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBVersionChangeEventInit', - }, - IIRFilterOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IIRFilterOptions', - }, - ImageBitmapOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapOptions', - }, - ImageBitmapRenderingContextSettings: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapRenderingContextSettings', - }, - ImageEncodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageEncodeOptions', - }, - InputEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'InputEventInit', - }, - IntersectionObserverEntryInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IntersectionObserverEntryInit', - }, - IntersectionObserverInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IntersectionObserverInit', - }, - JsonWebKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'JsonWebKey', - }, - KeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyAlgorithm', - }, - KeyboardEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyboardEventInit', - }, - Keyframe: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Keyframe', - }, - KeyframeAnimationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyframeAnimationOptions', - }, - KeyframeEffectOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyframeEffectOptions', - }, - MediaElementAudioSourceOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaElementAudioSourceOptions', - }, - MediaEncryptedEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaEncryptedEventInit', - }, - MediaKeyMessageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeyMessageEventInit', - }, - MediaKeySystemConfiguration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeySystemConfiguration', - }, - MediaKeySystemMediaCapability: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeySystemMediaCapability', - }, - MediaQueryListEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaQueryListEventInit', - }, - MediaStreamAudioSourceOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamAudioSourceOptions', - }, - MediaStreamConstraints: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamConstraints', - }, - MediaStreamErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamErrorEventInit', - }, - MediaStreamEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamEventInit', - }, - MediaStreamTrackAudioSourceOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamTrackAudioSourceOptions', - }, - MediaStreamTrackEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamTrackEventInit', - }, - MediaTrackCapabilities: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaTrackCapabilities', - }, - MediaTrackConstraintSet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaTrackConstraintSet', - }, - MediaTrackConstraints: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaTrackConstraints', - }, - MediaTrackSettings: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaTrackSettings', - }, - MediaTrackSupportedConstraints: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaTrackSupportedConstraints', - }, - MessageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessageEventInit', - }, - MidiPermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MidiPermissionDescriptor', - }, - MouseEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MouseEventInit', - }, - MultiCacheQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MultiCacheQueryOptions', - }, - MutationObserverInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MutationObserverInit', - }, - NavigationPreloadState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigationPreloadState', - }, - NotificationAction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationAction', - }, - NotificationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationOptions', - }, - OfflineAudioCompletionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OfflineAudioCompletionEventInit', - }, - OfflineAudioContextOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OfflineAudioContextOptions', - }, - OptionalEffectTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OptionalEffectTiming', - }, - OscillatorOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OscillatorOptions', - }, - PageTransitionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PageTransitionEventInit', - }, - PannerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PannerOptions', - }, - PaymentCurrencyAmount: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentCurrencyAmount', - }, - PaymentDetailsBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentDetailsBase', - }, - PaymentDetailsInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentDetailsInit', - }, - PaymentDetailsModifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentDetailsModifier', - }, - PaymentDetailsUpdate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentDetailsUpdate', - }, - PaymentItem: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentItem', - }, - PaymentMethodData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentMethodData', - }, - PaymentOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentOptions', - }, - PaymentRequestUpdateEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentRequestUpdateEventInit', - }, - PaymentShippingOption: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentShippingOption', - }, - Pbkdf2Params: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Pbkdf2Params', - }, - PerformanceObserverInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceObserverInit', - }, - PeriodicWaveConstraints: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PeriodicWaveConstraints', - }, - PeriodicWaveOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PeriodicWaveOptions', - }, - PermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionDescriptor', - }, - PipeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PipeOptions', - }, - PointerEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PointerEventInit', - }, - PopStateEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PopStateEventInit', - }, - PositionOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PositionOptions', - }, - PostMessageOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PostMessageOptions', - }, - ProgressEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ProgressEventInit', - }, - PromiseRejectionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseRejectionEventInit', - }, - PropertyIndexedKeyframes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PropertyIndexedKeyframes', - }, - PublicKeyCredentialCreationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialCreationOptions', - }, - PublicKeyCredentialDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialDescriptor', - }, - PublicKeyCredentialEntity: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialEntity', - }, - PublicKeyCredentialParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialParameters', - }, - PublicKeyCredentialRequestOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialRequestOptions', - }, - PublicKeyCredentialRpEntity: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialRpEntity', - }, - PublicKeyCredentialUserEntity: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialUserEntity', - }, - PushPermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushPermissionDescriptor', - }, - PushSubscriptionJSON: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushSubscriptionJSON', - }, - PushSubscriptionOptionsInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushSubscriptionOptionsInit', - }, - QueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'QueuingStrategy', - }, - RTCAnswerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCAnswerOptions', - }, - RTCCertificateExpiration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCCertificateExpiration', - }, - RTCConfiguration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCConfiguration', - }, - RTCDTMFToneChangeEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDTMFToneChangeEventInit', - }, - RTCDataChannelEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDataChannelEventInit', - }, - RTCDataChannelInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDataChannelInit', - }, - RTCDtlsFingerprint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtlsFingerprint', - }, - RTCDtlsParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtlsParameters', - }, - RTCErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCErrorEventInit', - }, - RTCErrorInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCErrorInit', - }, - RTCIceCandidateAttributes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidateAttributes', - }, - RTCIceCandidateComplete: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidateComplete', - }, - RTCIceCandidateDictionary: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidateDictionary', - }, - RTCIceCandidateInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidateInit', - }, - RTCIceCandidatePair: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidatePair', - }, - RTCIceCandidatePairStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidatePairStats', - }, - RTCIceGatherOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGatherOptions', - }, - RTCIceParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceParameters', - }, - RTCIceServer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceServer', - }, - RTCIdentityProviderOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIdentityProviderOptions', - }, - RTCInboundRTPStreamStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCInboundRTPStreamStats', - }, - RTCMediaStreamTrackStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCMediaStreamTrackStats', - }, - RTCOAuthCredential: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCOAuthCredential', - }, - RTCOfferAnswerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCOfferAnswerOptions', - }, - RTCOfferOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCOfferOptions', - }, - RTCOutboundRTPStreamStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCOutboundRTPStreamStats', - }, - RTCPeerConnectionIceErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPeerConnectionIceErrorEventInit', - }, - RTCPeerConnectionIceEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPeerConnectionIceEventInit', - }, - RTCRTPStreamStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRTPStreamStats', - }, - RTCRtcpFeedback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtcpFeedback', - }, - RTCRtcpParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtcpParameters', - }, - RTCRtpCapabilities: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpCapabilities', - }, - RTCRtpCodecCapability: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpCodecCapability', - }, - RTCRtpCodecParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpCodecParameters', - }, - RTCRtpCodingParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpCodingParameters', - }, - RTCRtpContributingSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpContributingSource', - }, - RTCRtpDecodingParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpDecodingParameters', - }, - RTCRtpEncodingParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpEncodingParameters', - }, - RTCRtpFecParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpFecParameters', - }, - RTCRtpHeaderExtension: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpHeaderExtension', - }, - RTCRtpHeaderExtensionCapability: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpHeaderExtensionCapability', - }, - RTCRtpHeaderExtensionParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpHeaderExtensionParameters', - }, - RTCRtpParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpParameters', - }, - RTCRtpReceiveParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpReceiveParameters', - }, - RTCRtpRtxParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpRtxParameters', - }, - RTCRtpSendParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpSendParameters', - }, - RTCRtpSynchronizationSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpSynchronizationSource', - }, - RTCRtpTransceiverInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpTransceiverInit', - }, - RTCRtpUnhandled: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpUnhandled', - }, - RTCSessionDescriptionInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSessionDescriptionInit', - }, - RTCSrtpKeyParam: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSrtpKeyParam', - }, - RTCSrtpSdesParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSrtpSdesParameters', - }, - RTCSsrcRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSsrcRange', - }, - RTCStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStats', - }, - RTCStatsEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsEventInit', - }, - RTCStatsReport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCStatsReport', - }, - RTCTrackEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCTrackEventInit', - }, - RTCTransportStats: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCTransportStats', - }, - ReadableStreamReadDoneResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadDoneResult', - }, - ReadableStreamReadValueResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadValueResult', - }, - RegistrationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegistrationOptions', - }, - RequestInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestInit', - }, - ResponseInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResponseInit', - }, - RsaHashedImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaHashedImportParams', - }, - RsaHashedKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaHashedKeyAlgorithm', - }, - RsaHashedKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaHashedKeyGenParams', - }, - RsaKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaKeyAlgorithm', - }, - RsaKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaKeyGenParams', - }, - RsaOaepParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaOaepParams', - }, - RsaOtherPrimesInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaOtherPrimesInfo', - }, - RsaPssParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaPssParams', - }, - SVGBoundingBoxOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGBoundingBoxOptions', - }, - ScopedCredentialDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScopedCredentialDescriptor', - }, - ScopedCredentialOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScopedCredentialOptions', - }, - ScopedCredentialParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScopedCredentialParameters', - }, - ScrollIntoViewOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollIntoViewOptions', - }, - ScrollOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollOptions', - }, - ScrollToOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollToOptions', - }, - SecurityPolicyViolationEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SecurityPolicyViolationEventInit', - }, - ServiceWorkerMessageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerMessageEventInit', - }, - ShadowRootInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ShadowRootInit', - }, - ShareData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ShareData', - }, - SpeechSynthesisErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechSynthesisErrorEventInit', - }, - SpeechSynthesisEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechSynthesisEventInit', - }, - StaticRangeInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StaticRangeInit', - }, - StereoPannerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StereoPannerOptions', - }, - StorageEstimate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StorageEstimate', - }, - StorageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StorageEventInit', - }, - StoreExceptionsInformation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StoreExceptionsInformation', - }, - StoreSiteSpecificExceptionsInformation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StoreSiteSpecificExceptionsInformation', - }, - TextDecodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecodeOptions', - }, - TextDecoderOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecoderOptions', - }, - TextEncoderEncodeIntoResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextEncoderEncodeIntoResult', - }, - TouchEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TouchEventInit', - }, - TouchInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TouchInit', - }, - TrackEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TrackEventInit', - }, - Transformer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Transformer', - }, - TransitionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransitionEventInit', - }, - UIEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UIEventInit', - }, - ULongRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ULongRange', - }, - UnderlyingByteSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingByteSource', - }, - UnderlyingSink: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingSink', - }, - UnderlyingSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingSource', - }, - VRDisplayEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VRDisplayEventInit', - }, - VRLayer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VRLayer', - }, - VRStageParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VRStageParameters', - }, - WaveShaperOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WaveShaperOptions', - }, - WebAuthnExtensions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebAuthnExtensions', - }, - WebGLContextAttributes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLContextAttributes', - }, - WebGLContextEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLContextEventInit', - }, - WheelEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WheelEventInit', - }, - WorkerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerOptions', - }, - WorkletOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkletOptions', - }, - txAuthGenericArg: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'txAuthGenericArg', - }, - EventListener: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListener', - }, - XPathNSResolver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XPathNSResolver', - }, - ANGLE_instanced_arrays: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ANGLE_instanced_arrays', - }, - AbortController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AbortController', - }, - AbortSignalEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbortSignalEventMap', - }, - AbortSignal: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AbortSignal', - }, - AbstractRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AbstractRange', - }, - AbstractWorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbstractWorkerEventMap', - }, - AbstractWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbstractWorker', - }, - AesCfbParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCfbParams', - }, - AesCmacParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCmacParams', - }, - AnalyserNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AnalyserNode', - }, - Animatable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Animatable', - }, - AnimationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationEventMap', - }, - Animation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Animation', - }, - AnimationEffect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AnimationEffect', - }, - AnimationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AnimationEvent', - }, - AnimationFrameProvider: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationFrameProvider', - }, - AnimationPlaybackEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AnimationPlaybackEvent', - }, - AnimationTimeline: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AnimationTimeline', - }, - ApplicationCacheEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ApplicationCacheEventMap', - }, - ApplicationCache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ApplicationCache', - }, - Attr: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Attr', - }, - AudioBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioBuffer', - }, - AudioBufferSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioBufferSourceNode', - }, - AudioContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioContext', - }, - AudioDestinationNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioDestinationNode', - }, - AudioListener: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioListener', - }, - AudioNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioNode', - }, - AudioParam: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioParam', - }, - AudioParamMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioParamMap', - }, - AudioProcessingEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioProcessingEvent', - }, - AudioScheduledSourceNodeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioScheduledSourceNodeEventMap', - }, - AudioScheduledSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioScheduledSourceNode', - }, - AudioWorklet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioWorklet', - }, - AudioWorkletNodeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioWorkletNodeEventMap', - }, - AudioWorkletNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AudioWorkletNode', - }, - AuthenticatorAssertionResponse: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AuthenticatorAssertionResponse', - }, - AuthenticatorAttestationResponse: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AuthenticatorAttestationResponse', - }, - AuthenticatorResponse: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AuthenticatorResponse', - }, - BarProp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BarProp', - }, - BaseAudioContextEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BaseAudioContextEventMap', - }, - BaseAudioContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BaseAudioContext', - }, - BeforeUnloadEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BeforeUnloadEvent', - }, - BhxBrowser: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BhxBrowser', - }, - BiquadFilterNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BiquadFilterNode', - }, - Blob: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Blob', - }, - Body: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Body', - }, - BroadcastChannelEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BroadcastChannelEventMap', - }, - BroadcastChannel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BroadcastChannel', - }, - ByteLengthQueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ByteLengthQueuingStrategy', - }, - CDATASection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CDATASection', - }, - CSSConditionRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSConditionRule', - }, - CSSFontFaceRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSFontFaceRule', - }, - CSSGroupingRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSGroupingRule', - }, - CSSImportRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSImportRule', - }, - CSSKeyframeRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSKeyframeRule', - }, - CSSKeyframesRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSKeyframesRule', - }, - CSSMediaRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSMediaRule', - }, - CSSNamespaceRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSNamespaceRule', - }, - CSSPageRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSPageRule', - }, - CSSRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSRule', - }, - CSSRuleList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSRuleList', - }, - CSSStyleDeclaration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSStyleDeclaration', - }, - CSSStyleRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSStyleRule', - }, - CSSStyleSheet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSStyleSheet', - }, - CSSSupportsRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSSSupportsRule', - }, - Cache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Cache', - }, - CacheStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CacheStorage', - }, - CanvasCompositing: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasCompositing', - }, - CanvasDrawImage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDrawImage', - }, - CanvasDrawPath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDrawPath', - }, - CanvasFillStrokeStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFillStrokeStyles', - }, - CanvasFilters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFilters', - }, - CanvasGradient: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CanvasGradient', - }, - CanvasImageData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageData', - }, - CanvasImageSmoothing: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageSmoothing', - }, - CanvasPath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasPath', - }, - CanvasPathDrawingStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasPathDrawingStyles', - }, - CanvasPattern: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CanvasPattern', - }, - CanvasRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasRect', - }, - CanvasRenderingContext2D: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CanvasRenderingContext2D', - }, - CanvasShadowStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasShadowStyles', - }, - CanvasState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasState', - }, - CanvasText: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasText', - }, - CanvasTextDrawingStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextDrawingStyles', - }, - CanvasTransform: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTransform', - }, - CanvasUserInterface: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasUserInterface', - }, - CaretPosition: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CaretPosition', - }, - ChannelMergerNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ChannelMergerNode', - }, - ChannelSplitterNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ChannelSplitterNode', - }, - CharacterData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CharacterData', - }, - ChildNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ChildNode', - }, - ClientRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ClientRect', - }, - ClientRectList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ClientRectList', - }, - Clipboard: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Clipboard', - }, - ClipboardEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ClipboardEvent', - }, - CloseEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CloseEvent', - }, - Comment: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Comment', - }, - CompositionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CompositionEvent', - }, - ConcatParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConcatParams', - }, - ConstantSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ConstantSourceNode', - }, - ConvolverNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ConvolverNode', - }, - Coordinates: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Coordinates', - }, - CountQueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CountQueuingStrategy', - }, - Credential: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Credential', - }, - CredentialsContainer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CredentialsContainer', - }, - Crypto: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Crypto', - }, - CryptoKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CryptoKey', - }, - CryptoKeyPair: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CryptoKeyPair', - }, - CustomElementRegistry: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CustomElementRegistry', - }, - CustomEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CustomEvent', - }, - DOMError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMError', - }, - DOMException: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMException', - }, - DOMImplementation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMImplementation', - }, - DOML2DeprecatedColorProperty: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOML2DeprecatedColorProperty', - }, - DOMMatrix: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMMatrix', - }, - SVGMatrix: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGMatrix', - }, - WebKitCSSMatrix: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebKitCSSMatrix', - }, - DOMMatrixReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMMatrixReadOnly', - }, - DOMParser: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMParser', - }, - DOMPoint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMPoint', - }, - SVGPoint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPoint', - }, - DOMPointReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMPointReadOnly', - }, - DOMQuad: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMQuad', - }, - DOMRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMRect', - }, - SVGRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGRect', - }, - DOMRectList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMRectList', - }, - DOMRectReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMRectReadOnly', - }, - DOMSettableTokenList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMSettableTokenList', - }, - DOMStringList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMStringList', - }, - DOMStringMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMStringMap', - }, - DOMTokenList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMTokenList', - }, - DataCue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DataCue', - }, - DataTransfer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DataTransfer', - }, - DataTransferItem: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DataTransferItem', - }, - DataTransferItemList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DataTransferItemList', - }, - DeferredPermissionRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeferredPermissionRequest', - }, - DelayNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DelayNode', - }, - DeviceAcceleration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeviceAcceleration', - }, - DeviceLightEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeviceLightEvent', - }, - DeviceMotionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeviceMotionEvent', - }, - DeviceMotionEventAcceleration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceMotionEventAcceleration', - }, - DeviceMotionEventRotationRate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DeviceMotionEventRotationRate', - }, - DeviceOrientationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeviceOrientationEvent', - }, - DeviceRotationRate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DeviceRotationRate', - }, - DhImportKeyParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhImportKeyParams', - }, - DhKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyAlgorithm', - }, - DhKeyDeriveParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyDeriveParams', - }, - DhKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyGenParams', - }, - DocumentEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentEventMap', - }, - Document: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Document', - }, - DocumentAndElementEventHandlersEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentAndElementEventHandlersEventMap', - }, - DocumentAndElementEventHandlers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentAndElementEventHandlers', - }, - DocumentEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentEvent', - }, - DocumentFragment: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DocumentFragment', - }, - DocumentOrShadowRoot: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentOrShadowRoot', - }, - DocumentTimeline: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DocumentTimeline', - }, - DocumentType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DocumentType', - }, - DragEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DragEvent', - }, - DynamicsCompressorNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DynamicsCompressorNode', - }, - EXT_blend_minmax: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_blend_minmax', - }, - EXT_frag_depth: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_frag_depth', - }, - EXT_sRGB: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_sRGB', - }, - EXT_shader_texture_lod: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_shader_texture_lod', - }, - EXT_texture_filter_anisotropic: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_texture_filter_anisotropic', - }, - ElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementEventMap', - }, - Element: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Element', - }, - ElementCSSInlineStyle: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementCSSInlineStyle', - }, - ElementContentEditable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementContentEditable', - }, - ErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ErrorEvent', - }, - Event: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Event', - }, - EventListenerObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerObject', - }, - EventSourceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventSourceEventMap', - }, - EventSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'EventSource', - }, - EventTarget: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'EventTarget', - }, - ExtensionScriptApis: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ExtensionScriptApis', - }, - External: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'External', - }, - File: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'File', - }, - FileList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FileList', - }, - FileReaderEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FileReaderEventMap', - }, - FileReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FileReader', - }, - FocusEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FocusEvent', - }, - FocusNavigationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FocusNavigationEvent', - }, - FormData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FormData', - }, - GainNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'GainNode', - }, - Gamepad: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Gamepad', - }, - GamepadButton: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'GamepadButton', - }, - GamepadEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'GamepadEvent', - }, - GamepadHapticActuator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'GamepadHapticActuator', - }, - GamepadPose: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'GamepadPose', - }, - GenericTransformStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GenericTransformStream', - }, - Geolocation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Geolocation', - }, - GlobalEventHandlersEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GlobalEventHandlersEventMap', - }, - GlobalEventHandlers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GlobalEventHandlers', - }, - HTMLAllCollection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLAllCollection', - }, - HTMLAnchorElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLAnchorElement', - }, - HTMLAppletElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLAppletElement', - }, - HTMLAreaElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLAreaElement', - }, - HTMLAudioElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLAudioElement', - }, - HTMLBRElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLBRElement', - }, - HTMLBaseElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLBaseElement', - }, - HTMLBaseFontElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLBaseFontElement', - }, - HTMLBodyElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLBodyElementEventMap', - }, - HTMLBodyElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLBodyElement', - }, - HTMLButtonElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLButtonElement', - }, - HTMLCanvasElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLCanvasElement', - }, - HTMLCollectionBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLCollectionBase', - }, - HTMLCollection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLCollection', - }, - HTMLCollectionOf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLCollectionOf', - }, - HTMLDListElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDListElement', - }, - HTMLDataElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDataElement', - }, - HTMLDataListElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDataListElement', - }, - HTMLDetailsElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDetailsElement', - }, - HTMLDialogElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDialogElement', - }, - HTMLDirectoryElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDirectoryElement', - }, - HTMLDivElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDivElement', - }, - HTMLDocument: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLDocument', - }, - HTMLElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLElementEventMap', - }, - HTMLElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLElement', - }, - HTMLEmbedElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLEmbedElement', - }, - HTMLFieldSetElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFieldSetElement', - }, - HTMLFontElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFontElement', - }, - HTMLFormControlsCollection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFormControlsCollection', - }, - HTMLFormElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFormElement', - }, - HTMLFrameElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFrameElement', - }, - HTMLFrameSetElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLFrameSetElementEventMap', - }, - HTMLFrameSetElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLFrameSetElement', - }, - HTMLHRElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLHRElement', - }, - HTMLHeadElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLHeadElement', - }, - HTMLHeadingElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLHeadingElement', - }, - HTMLHtmlElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLHtmlElement', - }, - HTMLHyperlinkElementUtils: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLHyperlinkElementUtils', - }, - HTMLIFrameElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLIFrameElement', - }, - HTMLImageElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLImageElement', - }, - HTMLInputElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLInputElement', - }, - HTMLLIElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLLIElement', - }, - HTMLLabelElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLLabelElement', - }, - HTMLLegendElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLLegendElement', - }, - HTMLLinkElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLLinkElement', - }, - HTMLMapElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMapElement', - }, - HTMLMarqueeElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLMarqueeElementEventMap', - }, - HTMLMarqueeElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMarqueeElement', - }, - HTMLMediaElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLMediaElementEventMap', - }, - HTMLMediaElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMediaElement', - }, - HTMLMenuElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMenuElement', - }, - HTMLMetaElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMetaElement', - }, - HTMLMeterElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLMeterElement', - }, - HTMLModElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLModElement', - }, - HTMLOListElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLOListElement', - }, - HTMLObjectElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLObjectElement', - }, - HTMLOptGroupElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLOptGroupElement', - }, - HTMLOptionElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLOptionElement', - }, - HTMLOptionsCollection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLOptionsCollection', - }, - HTMLOrSVGElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLOrSVGElement', - }, - HTMLOutputElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLOutputElement', - }, - HTMLParagraphElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLParagraphElement', - }, - HTMLParamElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLParamElement', - }, - HTMLPictureElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLPictureElement', - }, - HTMLPreElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLPreElement', - }, - HTMLProgressElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLProgressElement', - }, - HTMLQuoteElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLQuoteElement', - }, - HTMLScriptElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLScriptElement', - }, - HTMLSelectElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLSelectElement', - }, - HTMLSlotElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLSlotElement', - }, - HTMLSourceElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLSourceElement', - }, - HTMLSpanElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLSpanElement', - }, - HTMLStyleElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLStyleElement', - }, - HTMLTableCaptionElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableCaptionElement', - }, - HTMLTableCellElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableCellElement', - }, - HTMLTableColElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableColElement', - }, - HTMLTableDataCellElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableDataCellElement', - }, - HTMLTableElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableElement', - }, - HTMLTableHeaderCellElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableHeaderCellElement', - }, - HTMLTableRowElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableRowElement', - }, - HTMLTableSectionElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTableSectionElement', - }, - HTMLTemplateElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTemplateElement', - }, - HTMLTextAreaElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTextAreaElement', - }, - HTMLTimeElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTimeElement', - }, - HTMLTitleElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTitleElement', - }, - HTMLTrackElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLTrackElement', - }, - HTMLUListElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLUListElement', - }, - HTMLUnknownElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLUnknownElement', - }, - HTMLVideoElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HTMLVideoElement', - }, - HashChangeEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'HashChangeEvent', - }, - Headers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Headers', - }, - History: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'History', - }, - HkdfCtrParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HkdfCtrParams', - }, - IDBArrayKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBArrayKey', - }, - IDBCursor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBCursor', - }, - IDBCursorWithValue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBCursorWithValue', - }, - IDBDatabaseEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBDatabaseEventMap', - }, - IDBDatabase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBDatabase', - }, - IDBFactory: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBFactory', - }, - IDBIndex: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBIndex', - }, - IDBKeyRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBKeyRange', - }, - IDBObjectStore: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBObjectStore', - }, - IDBOpenDBRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBOpenDBRequestEventMap', - }, - IDBOpenDBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBOpenDBRequest', - }, - IDBRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBRequestEventMap', - }, - IDBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBRequest', - }, - IDBTransactionEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBTransactionEventMap', - }, - IDBTransaction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBTransaction', - }, - IDBVersionChangeEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBVersionChangeEvent', - }, - IIRFilterNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IIRFilterNode', - }, - ImageBitmap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageBitmap', - }, - ImageBitmapRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageBitmapRenderingContext', - }, - ImageData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageData', - }, - InnerHTML: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'InnerHTML', - }, - InputDeviceInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'InputDeviceInfo', - }, - InputEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'InputEvent', - }, - IntersectionObserver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IntersectionObserver', - }, - IntersectionObserverEntry: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IntersectionObserverEntry', - }, - KeyboardEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'KeyboardEvent', - }, - KeyframeEffect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'KeyframeEffect', - }, - LinkStyle: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'LinkStyle', - }, - ListeningStateChangedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ListeningStateChangedEvent', - }, - Location: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Location', - }, - MSAssertion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSAssertion', - }, - MSBlobBuilder: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSBlobBuilder', - }, - MSFIDOCredentialAssertion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSFIDOCredentialAssertion', - }, - MSFIDOSignature: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSFIDOSignature', - }, - MSFIDOSignatureAssertion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSFIDOSignatureAssertion', - }, - MSFileSaver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSFileSaver', - }, - MSGesture: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSGesture', - }, - MSGestureEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSGestureEvent', - }, - MSGraphicsTrust: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSGraphicsTrust', - }, - MSInputMethodContextEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSInputMethodContextEventMap', - }, - MSInputMethodContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSInputMethodContext', - }, - MSMediaKeyError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSMediaKeyError', - }, - MSMediaKeyMessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSMediaKeyMessageEvent', - }, - MSMediaKeyNeededEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSMediaKeyNeededEvent', - }, - MSMediaKeySession: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSMediaKeySession', - }, - MSMediaKeys: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSMediaKeys', - }, - MSNavigatorDoNotTrack: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSNavigatorDoNotTrack', - }, - MSPointerEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSPointerEvent', - }, - MSStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MSStream', - }, - MediaDeviceInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaDeviceInfo', - }, - MediaDevicesEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaDevicesEventMap', - }, - MediaDevices: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaDevices', - }, - MediaElementAudioSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaElementAudioSourceNode', - }, - MediaEncryptedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaEncryptedEvent', - }, - MediaError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaError', - }, - MediaKeyMessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaKeyMessageEvent', - }, - MediaKeySessionEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeySessionEventMap', - }, - MediaKeySession: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaKeySession', - }, - MediaKeyStatusMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaKeyStatusMap', - }, - MediaKeySystemAccess: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaKeySystemAccess', - }, - MediaKeys: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaKeys', - }, - MediaList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaList', - }, - MediaQueryListEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaQueryListEventMap', - }, - MediaQueryList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaQueryList', - }, - MediaQueryListEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaQueryListEvent', - }, - MediaSourceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaSourceEventMap', - }, - MediaSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaSource', - }, - MediaStreamEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamEventMap', - }, - MediaStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStream', - }, - MediaStreamAudioDestinationNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamAudioDestinationNode', - }, - MediaStreamAudioSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamAudioSourceNode', - }, - MediaStreamError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamError', - }, - MediaStreamErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamErrorEvent', - }, - MediaStreamEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamEvent', - }, - MediaStreamTrackEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamTrackEventMap', - }, - MediaStreamTrack: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamTrack', - }, - MediaStreamTrackAudioSourceNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamTrackAudioSourceNode', - }, - MediaStreamTrackEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MediaStreamTrackEvent', - }, - MessageChannel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessageChannel', - }, - MessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessageEvent', - }, - MessagePortEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessagePortEventMap', - }, - MessagePort: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessagePort', - }, - MimeType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MimeType', - }, - MimeTypeArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MimeTypeArray', - }, - MouseEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MouseEvent', - }, - MutationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MutationEvent', - }, - MutationObserver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MutationObserver', - }, - MutationRecord: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MutationRecord', - }, - NamedNodeMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NamedNodeMap', - }, - NavigationPreloadManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NavigationPreloadManager', - }, - Navigator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Navigator', - }, - NavigatorAutomationInformation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorAutomationInformation', - }, - NavigatorBeacon: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorBeacon', - }, - NavigatorConcurrentHardware: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorConcurrentHardware', - }, - NavigatorContentUtils: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorContentUtils', - }, - NavigatorCookies: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorCookies', - }, - NavigatorID: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorID', - }, - NavigatorLanguage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorLanguage', - }, - NavigatorOnLine: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorOnLine', - }, - NavigatorPlugins: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorPlugins', - }, - NavigatorStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorStorage', - }, - Node: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Node', - }, - NodeFilter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NodeFilter', - }, - NodeIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NodeIterator', - }, - NodeList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NodeList', - }, - NodeListOf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NodeListOf', - }, - NonDocumentTypeChildNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NonDocumentTypeChildNode', - }, - NonElementParentNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NonElementParentNode', - }, - NotificationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationEventMap', - }, - Notification: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Notification', - }, - OES_element_index_uint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_element_index_uint', - }, - OES_standard_derivatives: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_standard_derivatives', - }, - OES_texture_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_float', - }, - OES_texture_float_linear: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_float_linear', - }, - OES_texture_half_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_half_float', - }, - OES_texture_half_float_linear: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_half_float_linear', - }, - OES_vertex_array_object: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_vertex_array_object', - }, - OfflineAudioCompletionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OfflineAudioCompletionEvent', - }, - OfflineAudioContextEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OfflineAudioContextEventMap', - }, - OfflineAudioContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OfflineAudioContext', - }, - OffscreenCanvas: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OffscreenCanvas', - }, - OffscreenCanvasRenderingContext2D: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OffscreenCanvasRenderingContext2D', - }, - OscillatorNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OscillatorNode', - }, - OverconstrainedError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OverconstrainedError', - }, - OverflowEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OverflowEvent', - }, - PageTransitionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PageTransitionEvent', - }, - PannerNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PannerNode', - }, - ParentNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ParentNode', - }, - Path2D: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Path2D', - }, - PaymentAddress: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PaymentAddress', - }, - PaymentRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentRequestEventMap', - }, - PaymentRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PaymentRequest', - }, - PaymentRequestUpdateEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PaymentRequestUpdateEvent', - }, - PaymentResponse: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PaymentResponse', - }, - PerfWidgetExternal: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerfWidgetExternal', - }, - PerformanceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceEventMap', - }, - Performance: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Performance', - }, - PerformanceEntry: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceEntry', - }, - PerformanceMark: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceMark', - }, - PerformanceMeasure: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceMeasure', - }, - PerformanceNavigation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceNavigation', - }, - PerformanceNavigationTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceNavigationTiming', - }, - PerformanceObserver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceObserver', - }, - PerformanceObserverEntryList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceObserverEntryList', - }, - PerformanceResourceTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceResourceTiming', - }, - PerformanceTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceTiming', - }, - PeriodicWave: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PeriodicWave', - }, - PermissionRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PermissionRequest', - }, - PermissionRequestedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PermissionRequestedEvent', - }, - PermissionStatusEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionStatusEventMap', - }, - PermissionStatus: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PermissionStatus', - }, - Permissions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Permissions', - }, - Plugin: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Plugin', - }, - PluginArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PluginArray', - }, - PointerEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PointerEvent', - }, - PopStateEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PopStateEvent', - }, - Position: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Position', - }, - PositionError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PositionError', - }, - ProcessingInstruction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ProcessingInstruction', - }, - ProgressEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ProgressEvent', - }, - PromiseRejectionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PromiseRejectionEvent', - }, - PublicKeyCredential: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PublicKeyCredential', - }, - PushManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushManager', - }, - PushSubscription: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushSubscription', - }, - PushSubscriptionOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushSubscriptionOptions', - }, - RTCCertificate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCCertificate', - }, - RTCDTMFSenderEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDTMFSenderEventMap', - }, - RTCDTMFSender: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDTMFSender', - }, - RTCDTMFToneChangeEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDTMFToneChangeEvent', - }, - RTCDataChannelEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDataChannelEventMap', - }, - RTCDataChannel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDataChannel', - }, - RTCDataChannelEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDataChannelEvent', - }, - RTCDtlsTransportEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtlsTransportEventMap', - }, - RTCDtlsTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDtlsTransport', - }, - RTCDtlsTransportStateChangedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDtlsTransportStateChangedEvent', - }, - RTCDtmfSenderEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtmfSenderEventMap', - }, - RTCDtmfSender: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCDtmfSender', - }, - RTCError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCError', - }, - RTCErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCErrorEvent', - }, - RTCIceCandidate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceCandidate', - }, - RTCIceCandidatePairChangedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceCandidatePairChangedEvent', - }, - RTCIceGathererEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGathererEventMap', - }, - RTCIceGatherer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceGatherer', - }, - RTCIceGathererEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceGathererEvent', - }, - RTCIceTransportEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceTransportEventMap', - }, - RTCIceTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceTransport', - }, - RTCIceTransportStateChangedEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIceTransportStateChangedEvent', - }, - RTCIdentityAssertion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCIdentityAssertion', - }, - RTCPeerConnectionEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPeerConnectionEventMap', - }, - RTCPeerConnection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCPeerConnection', - }, - RTCPeerConnectionIceErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCPeerConnectionIceErrorEvent', - }, - RTCPeerConnectionIceEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCPeerConnectionIceEvent', - }, - RTCRtpReceiver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCRtpReceiver', - }, - RTCRtpSender: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCRtpSender', - }, - RTCRtpTransceiver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCRtpTransceiver', - }, - RTCSctpTransportEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSctpTransportEventMap', - }, - RTCSctpTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCSctpTransport', - }, - RTCSessionDescription: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCSessionDescription', - }, - RTCSrtpSdesTransportEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSrtpSdesTransportEventMap', - }, - RTCSrtpSdesTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCSrtpSdesTransport', - }, - RTCSsrcConflictEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCSsrcConflictEvent', - }, - RTCStatsEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCStatsEvent', - }, - RTCStatsProvider: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCStatsProvider', - }, - RTCTrackEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RTCTrackEvent', - }, - RadioNodeList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RadioNodeList', - }, - RandomSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RandomSource', - }, - Range: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Range', - }, - ReadableByteStreamController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableByteStreamController', - }, - ReadableStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ReadableStream', - }, - ReadableStreamBYOBReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamBYOBReader', - }, - ReadableStreamBYOBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamBYOBRequest', - }, - ReadableStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultController', - }, - ReadableStreamDefaultReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultReader', - }, - ReadableStreamReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ReadableStreamReader', - }, - Request: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Request', - }, - Response: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Response', - }, - SVGAElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAElement', - }, - SVGAngle: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAngle', - }, - SVGAnimateElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimateElement', - }, - SVGAnimateMotionElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimateMotionElement', - }, - SVGAnimateTransformElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimateTransformElement', - }, - SVGAnimatedAngle: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedAngle', - }, - SVGAnimatedBoolean: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedBoolean', - }, - SVGAnimatedEnumeration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedEnumeration', - }, - SVGAnimatedInteger: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedInteger', - }, - SVGAnimatedLength: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedLength', - }, - SVGAnimatedLengthList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedLengthList', - }, - SVGAnimatedNumber: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedNumber', - }, - SVGAnimatedNumberList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedNumberList', - }, - SVGAnimatedPoints: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGAnimatedPoints', - }, - SVGAnimatedPreserveAspectRatio: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedPreserveAspectRatio', - }, - SVGAnimatedRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedRect', - }, - SVGAnimatedString: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedString', - }, - SVGAnimatedTransformList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimatedTransformList', - }, - SVGAnimationElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGAnimationElement', - }, - SVGCircleElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGCircleElement', - }, - SVGClipPathElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGClipPathElement', - }, - SVGComponentTransferFunctionElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGComponentTransferFunctionElement', - }, - SVGCursorElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGCursorElement', - }, - SVGDefsElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGDefsElement', - }, - SVGDescElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGDescElement', - }, - SVGElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGElementEventMap', - }, - SVGElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGElement', - }, - SVGElementInstance: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGElementInstance', - }, - SVGElementInstanceList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGElementInstanceList', - }, - SVGEllipseElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGEllipseElement', - }, - SVGFEBlendElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEBlendElement', - }, - SVGFEColorMatrixElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEColorMatrixElement', - }, - SVGFEComponentTransferElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEComponentTransferElement', - }, - SVGFECompositeElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFECompositeElement', - }, - SVGFEConvolveMatrixElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEConvolveMatrixElement', - }, - SVGFEDiffuseLightingElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEDiffuseLightingElement', - }, - SVGFEDisplacementMapElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEDisplacementMapElement', - }, - SVGFEDistantLightElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEDistantLightElement', - }, - SVGFEDropShadowElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEDropShadowElement', - }, - SVGFEFloodElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEFloodElement', - }, - SVGFEFuncAElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEFuncAElement', - }, - SVGFEFuncBElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEFuncBElement', - }, - SVGFEFuncGElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEFuncGElement', - }, - SVGFEFuncRElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEFuncRElement', - }, - SVGFEGaussianBlurElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEGaussianBlurElement', - }, - SVGFEImageElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEImageElement', - }, - SVGFEMergeElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEMergeElement', - }, - SVGFEMergeNodeElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEMergeNodeElement', - }, - SVGFEMorphologyElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEMorphologyElement', - }, - SVGFEOffsetElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEOffsetElement', - }, - SVGFEPointLightElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFEPointLightElement', - }, - SVGFESpecularLightingElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFESpecularLightingElement', - }, - SVGFESpotLightElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFESpotLightElement', - }, - SVGFETileElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFETileElement', - }, - SVGFETurbulenceElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFETurbulenceElement', - }, - SVGFilterElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGFilterElement', - }, - SVGFilterPrimitiveStandardAttributes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGFilterPrimitiveStandardAttributes', - }, - SVGFitToViewBox: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGFitToViewBox', - }, - SVGForeignObjectElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGForeignObjectElement', - }, - SVGGElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGGElement', - }, - SVGGeometryElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGGeometryElement', - }, - SVGGradientElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGGradientElement', - }, - SVGGraphicsElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGGraphicsElement', - }, - SVGImageElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGImageElement', - }, - SVGLength: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGLength', - }, - SVGLengthList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGLengthList', - }, - SVGLineElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGLineElement', - }, - SVGLinearGradientElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGLinearGradientElement', - }, - SVGMarkerElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGMarkerElement', - }, - SVGMaskElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGMaskElement', - }, - SVGMetadataElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGMetadataElement', - }, - SVGNumber: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGNumber', - }, - SVGNumberList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGNumberList', - }, - SVGPathElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathElement', - }, - SVGPathSeg: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSeg', - }, - SVGPathSegArcAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegArcAbs', - }, - SVGPathSegArcRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegArcRel', - }, - SVGPathSegClosePath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegClosePath', - }, - SVGPathSegCurvetoCubicAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoCubicAbs', - }, - SVGPathSegCurvetoCubicRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoCubicRel', - }, - SVGPathSegCurvetoCubicSmoothAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoCubicSmoothAbs', - }, - SVGPathSegCurvetoCubicSmoothRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoCubicSmoothRel', - }, - SVGPathSegCurvetoQuadraticAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoQuadraticAbs', - }, - SVGPathSegCurvetoQuadraticRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoQuadraticRel', - }, - SVGPathSegCurvetoQuadraticSmoothAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoQuadraticSmoothAbs', - }, - SVGPathSegCurvetoQuadraticSmoothRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegCurvetoQuadraticSmoothRel', - }, - SVGPathSegLinetoAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoAbs', - }, - SVGPathSegLinetoHorizontalAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoHorizontalAbs', - }, - SVGPathSegLinetoHorizontalRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoHorizontalRel', - }, - SVGPathSegLinetoRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoRel', - }, - SVGPathSegLinetoVerticalAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoVerticalAbs', - }, - SVGPathSegLinetoVerticalRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegLinetoVerticalRel', - }, - SVGPathSegList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegList', - }, - SVGPathSegMovetoAbs: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegMovetoAbs', - }, - SVGPathSegMovetoRel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPathSegMovetoRel', - }, - SVGPatternElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPatternElement', - }, - SVGPointList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPointList', - }, - SVGPolygonElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPolygonElement', - }, - SVGPolylineElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPolylineElement', - }, - SVGPreserveAspectRatio: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGPreserveAspectRatio', - }, - SVGRadialGradientElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGRadialGradientElement', - }, - SVGRectElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGRectElement', - }, - SVGSVGElementEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGSVGElementEventMap', - }, - SVGSVGElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGSVGElement', - }, - SVGScriptElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGScriptElement', - }, - SVGStopElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGStopElement', - }, - SVGStringList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGStringList', - }, - SVGStyleElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGStyleElement', - }, - SVGSwitchElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGSwitchElement', - }, - SVGSymbolElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGSymbolElement', - }, - SVGTSpanElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTSpanElement', - }, - SVGTests: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGTests', - }, - SVGTextContentElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTextContentElement', - }, - SVGTextElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTextElement', - }, - SVGTextPathElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTextPathElement', - }, - SVGTextPositioningElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTextPositioningElement', - }, - SVGTitleElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTitleElement', - }, - SVGTransform: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTransform', - }, - SVGTransformList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGTransformList', - }, - SVGURIReference: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGURIReference', - }, - SVGUnitTypes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGUnitTypes', - }, - SVGUseElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGUseElement', - }, - SVGViewElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGViewElement', - }, - SVGZoomAndPan: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGZoomAndPan', - }, - SVGZoomEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SVGZoomEvent', - }, - ScopedCredential: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ScopedCredential', - }, - ScopedCredentialInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ScopedCredentialInfo', - }, - Screen: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Screen', - }, - ScreenOrientationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScreenOrientationEventMap', - }, - ScreenOrientation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ScreenOrientation', - }, - ScriptProcessorNodeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScriptProcessorNodeEventMap', - }, - ScriptProcessorNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ScriptProcessorNode', - }, - SecurityPolicyViolationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SecurityPolicyViolationEvent', - }, - Selection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Selection', - }, - ServiceUIFrameContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceUIFrameContext', - }, - ServiceWorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerEventMap', - }, - ServiceWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorker', - }, - ServiceWorkerContainerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerContainerEventMap', - }, - ServiceWorkerContainer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerContainer', - }, - ServiceWorkerMessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerMessageEvent', - }, - ServiceWorkerRegistrationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerRegistrationEventMap', - }, - ServiceWorkerRegistration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerRegistration', - }, - ShadowRoot: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ShadowRoot', - }, - SharedWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SharedWorker', - }, - Slottable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Slottable', - }, - SourceBufferEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SourceBufferEventMap', - }, - SourceBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SourceBuffer', - }, - SourceBufferListEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SourceBufferListEventMap', - }, - SourceBufferList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SourceBufferList', - }, - SpeechGrammar: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechGrammar', - }, - SpeechGrammarList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechGrammarList', - }, - SpeechRecognitionEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechRecognitionEventMap', - }, - SpeechRecognition: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechRecognition', - }, - SpeechRecognitionAlternative: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechRecognitionAlternative', - }, - SpeechRecognitionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechRecognitionEvent', - }, - SpeechRecognitionResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechRecognitionResult', - }, - SpeechRecognitionResultList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechRecognitionResultList', - }, - SpeechSynthesisEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechSynthesisEventMap', - }, - SpeechSynthesis: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechSynthesis', - }, - SpeechSynthesisErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechSynthesisErrorEvent', - }, - SpeechSynthesisEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechSynthesisEvent', - }, - SpeechSynthesisUtteranceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechSynthesisUtteranceEventMap', - }, - SpeechSynthesisUtterance: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechSynthesisUtterance', - }, - SpeechSynthesisVoice: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SpeechSynthesisVoice', - }, - StaticRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StaticRange', - }, - StereoPannerNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StereoPannerNode', - }, - Storage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Storage', - }, - StorageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StorageEvent', - }, - StorageManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StorageManager', - }, - StyleMedia: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StyleMedia', - }, - StyleSheet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StyleSheet', - }, - StyleSheetList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StyleSheetList', - }, - SubtleCrypto: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SubtleCrypto', - }, - SyncManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SyncManager', - }, - Text: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Text', - }, - TextDecoder: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextDecoder', - }, - TextDecoderCommon: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecoderCommon', - }, - TextDecoderStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextDecoderStream', - }, - TextEncoder: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextEncoder', - }, - TextEncoderCommon: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextEncoderCommon', - }, - TextEncoderStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextEncoderStream', - }, - TextEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextEvent', - }, - TextMetrics: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextMetrics', - }, - TextTrackEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackEventMap', - }, - TextTrack: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextTrack', - }, - TextTrackCueEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackCueEventMap', - }, - TextTrackCue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextTrackCue', - }, - TextTrackCueList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextTrackCueList', - }, - TextTrackListEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackListEventMap', - }, - TextTrackList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextTrackList', - }, - TimeRanges: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TimeRanges', - }, - Touch: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Touch', - }, - TouchEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TouchEvent', - }, - TouchList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TouchList', - }, - TrackEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TrackEvent', - }, - TransformStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TransformStream', - }, - TransformStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultController', - }, - TransitionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TransitionEvent', - }, - TreeWalker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TreeWalker', - }, - UIEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'UIEvent', - }, - URL: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'URL', - }, - webkitURL: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'webkitURL', - }, - URLSearchParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'URLSearchParams', - }, - VRDisplay: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRDisplay', - }, - VRDisplayCapabilities: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRDisplayCapabilities', - }, - VRDisplayEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRDisplayEvent', - }, - VREyeParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VREyeParameters', - }, - VRFieldOfView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRFieldOfView', - }, - VRFrameData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRFrameData', - }, - VRPose: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VRPose', - }, - VTTCue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VTTCue', - }, - VTTRegion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VTTRegion', - }, - ValidityState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ValidityState', - }, - VideoPlaybackQuality: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VideoPlaybackQuality', - }, - VisualViewportEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VisualViewportEventMap', - }, - VisualViewport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VisualViewport', - }, - WEBGL_color_buffer_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_color_buffer_float', - }, - WEBGL_compressed_texture_astc: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_astc', - }, - WEBGL_compressed_texture_s3tc: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_s3tc', - }, - WEBGL_compressed_texture_s3tc_srgb: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_s3tc_srgb', - }, - WEBGL_debug_renderer_info: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_debug_renderer_info', - }, - WEBGL_debug_shaders: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_debug_shaders', - }, - WEBGL_depth_texture: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_depth_texture', - }, - WEBGL_draw_buffers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_draw_buffers', - }, - WEBGL_lose_context: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_lose_context', - }, - WaveShaperNode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WaveShaperNode', - }, - WebAuthentication: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebAuthentication', - }, - WebAuthnAssertion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebAuthnAssertion', - }, - WebGL2RenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGL2RenderingContext', - }, - WebGL2RenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextBase', - }, - WebGL2RenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextOverloads', - }, - WebGLActiveInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLActiveInfo', - }, - WebGLBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLBuffer', - }, - WebGLContextEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLContextEvent', - }, - WebGLFramebuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLFramebuffer', - }, - WebGLObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLObject', - }, - WebGLProgram: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLProgram', - }, - WebGLQuery: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLQuery', - }, - WebGLRenderbuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLRenderbuffer', - }, - WebGLRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLRenderingContext', - }, - WebGLRenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextBase', - }, - WebGLRenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextOverloads', - }, - WebGLSampler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLSampler', - }, - WebGLShader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLShader', - }, - WebGLShaderPrecisionFormat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLShaderPrecisionFormat', - }, - WebGLSync: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLSync', - }, - WebGLTexture: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLTexture', - }, - WebGLTransformFeedback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLTransformFeedback', - }, - WebGLUniformLocation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLUniformLocation', - }, - WebGLVertexArrayObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLVertexArrayObject', - }, - WebGLVertexArrayObjectOES: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLVertexArrayObjectOES', - }, - WebKitPoint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebKitPoint', - }, - WebSocketEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebSocketEventMap', - }, - WebSocket: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebSocket', - }, - WheelEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WheelEvent', - }, - WindowEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowEventMap', - }, - Window: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Window', - }, - WindowEventHandlersEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowEventHandlersEventMap', - }, - WindowEventHandlers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowEventHandlers', - }, - WindowLocalStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowLocalStorage', - }, - WindowOrWorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowOrWorkerGlobalScope', - }, - WindowSessionStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowSessionStorage', - }, - WorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerEventMap', - }, - Worker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Worker', - }, - Worklet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Worklet', - }, - WritableStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WritableStream', - }, - WritableStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultController', - }, - WritableStreamDefaultWriter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultWriter', - }, - XMLDocument: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLDocument', - }, - XMLHttpRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestEventMap', - }, - XMLHttpRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequest', - }, - XMLHttpRequestEventTargetEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestEventTargetEventMap', - }, - XMLHttpRequestEventTarget: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequestEventTarget', - }, - XMLHttpRequestUpload: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequestUpload', - }, - XMLSerializer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLSerializer', - }, - XPathEvaluator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XPathEvaluator', - }, - XPathEvaluatorBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XPathEvaluatorBase', - }, - XPathExpression: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XPathExpression', - }, - XPathResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XPathResult', - }, - XSLTProcessor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XSLTProcessor', - }, - webkitRTCPeerConnection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'webkitRTCPeerConnection', - }, - EventListenerOrEventListenerObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerOrEventListenerObject', - }, - Console: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Console', - }, - CSS: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CSS', - }, - WebAssembly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebAssembly', - }, - BlobCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BlobCallback', - }, - CustomElementConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CustomElementConstructor', - }, - DecodeErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DecodeErrorCallback', - }, - DecodeSuccessCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DecodeSuccessCallback', - }, - EventHandlerNonNull: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventHandlerNonNull', - }, - ForEachCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ForEachCallback', - }, - FrameRequestCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FrameRequestCallback', - }, - FunctionStringCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FunctionStringCallback', - }, - IntersectionObserverCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IntersectionObserverCallback', - }, - MSLaunchUriCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSLaunchUriCallback', - }, - MutationCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MutationCallback', - }, - NavigatorUserMediaErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorUserMediaErrorCallback', - }, - NavigatorUserMediaSuccessCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorUserMediaSuccessCallback', - }, - NotificationPermissionCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationPermissionCallback', - }, - OnBeforeUnloadEventHandlerNonNull: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnBeforeUnloadEventHandlerNonNull', - }, - OnErrorEventHandlerNonNull: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnErrorEventHandlerNonNull', - }, - PerformanceObserverCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceObserverCallback', - }, - PositionCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PositionCallback', - }, - PositionErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PositionErrorCallback', - }, - QueuingStrategySizeCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'QueuingStrategySizeCallback', - }, - RTCPeerConnectionErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPeerConnectionErrorCallback', - }, - RTCSessionDescriptionCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSessionDescriptionCallback', - }, - RTCStatsCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsCallback', - }, - ReadableByteStreamControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableByteStreamControllerCallback', - }, - ReadableStreamDefaultControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultControllerCallback', - }, - ReadableStreamErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamErrorCallback', - }, - TransformStreamDefaultControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultControllerCallback', - }, - TransformStreamDefaultControllerTransformCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultControllerTransformCallback', - }, - VoidFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VoidFunction', - }, - WritableStreamDefaultControllerCloseCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerCloseCallback', - }, - WritableStreamDefaultControllerStartCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerStartCallback', - }, - WritableStreamDefaultControllerWriteCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerWriteCallback', - }, - WritableStreamErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamErrorCallback', - }, - HTMLElementTagNameMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLElementTagNameMap', - }, - HTMLElementDeprecatedTagNameMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLElementDeprecatedTagNameMap', - }, - SVGElementTagNameMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SVGElementTagNameMap', - }, - ElementTagNameMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ElementTagNameMap', - }, - HeadersInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HeadersInit', - }, - BodyInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BodyInit', - }, - RequestInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestInfo', - }, - BlobPart: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BlobPart', - }, - DOMHighResTimeStamp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMHighResTimeStamp', - }, - RenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RenderingContext', - }, - HTMLOrSVGImageElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLOrSVGImageElement', - }, - CanvasImageSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageSource', - }, - OffscreenRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OffscreenRenderingContext', - }, - MessageEventSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessageEventSource', - }, - HTMLOrSVGScriptElement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HTMLOrSVGScriptElement', - }, - ImageBitmapSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapSource', - }, - MediaProvider: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaProvider', - }, - OnErrorEventHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnErrorEventHandler', - }, - OnBeforeUnloadEventHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnBeforeUnloadEventHandler', - }, - TimerHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TimerHandler', - }, - ConstrainULong: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainULong', - }, - ConstrainDouble: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainDouble', - }, - ConstrainBoolean: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainBoolean', - }, - ConstrainDOMString: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstrainDOMString', - }, - PerformanceEntryList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceEntryList', - }, - ReadableStreamReadResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadResult', - }, - VibratePattern: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VibratePattern', - }, - COSEAlgorithmIdentifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'COSEAlgorithmIdentifier', - }, - AuthenticatorSelectionList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticatorSelectionList', - }, - AAGUID: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AAGUID', - }, - AuthenticationExtensionsSupported: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticationExtensionsSupported', - }, - UvmEntry: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UvmEntry', - }, - UvmEntries: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UvmEntries', - }, - AlgorithmIdentifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AlgorithmIdentifier', - }, - HashAlgorithmIdentifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HashAlgorithmIdentifier', - }, - BigInteger: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigInteger', - }, - NamedCurve: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NamedCurve', - }, - GLenum: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLenum', - }, - GLboolean: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLboolean', - }, - GLbitfield: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLbitfield', - }, - GLint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLint', - }, - GLsizei: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLsizei', - }, - GLintptr: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLintptr', - }, - GLsizeiptr: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLsizeiptr', - }, - GLuint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLuint', - }, - GLfloat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLfloat', - }, - GLclampf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLclampf', - }, - TexImageSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TexImageSource', - }, - Float32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32List', - }, - Int32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32List', - }, - GLint64: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLint64', - }, - GLuint64: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLuint64', - }, - Uint32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32List', - }, - BufferSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BufferSource', - }, - DOMTimeStamp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMTimeStamp', - }, - LineAndPositionSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'LineAndPositionSetting', - }, - FormDataEntryValue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FormDataEntryValue', - }, - InsertPosition: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'InsertPosition', - }, - IDBValidKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBValidKey', - }, - MutationRecordType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MutationRecordType', - }, - IDBKeyPath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBKeyPath', - }, - Transferable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Transferable', - }, - RTCIceGatherCandidate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGatherCandidate', - }, - RTCTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCTransport', - }, - MouseWheelEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MouseWheelEvent', - }, - WindowProxy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowProxy', - }, - AlignSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AlignSetting', - }, - AnimationPlayState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationPlayState', - }, - AppendMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AppendMode', - }, - AttestationConveyancePreference: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AttestationConveyancePreference', - }, - AudioContextLatencyCategory: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioContextLatencyCategory', - }, - AudioContextState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AudioContextState', - }, - AuthenticatorAttachment: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticatorAttachment', - }, - AuthenticatorTransport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AuthenticatorTransport', - }, - AutoKeyword: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AutoKeyword', - }, - AutomationRate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AutomationRate', - }, - BinaryType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BinaryType', - }, - BiquadFilterType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BiquadFilterType', - }, - CanPlayTypeResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanPlayTypeResult', - }, - CanvasDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDirection', - }, - CanvasFillRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFillRule', - }, - CanvasLineCap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasLineCap', - }, - CanvasLineJoin: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasLineJoin', - }, - CanvasTextAlign: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextAlign', - }, - CanvasTextBaseline: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextBaseline', - }, - ChannelCountMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ChannelCountMode', - }, - ChannelInterpretation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ChannelInterpretation', - }, - ClientTypes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientTypes', - }, - ColorSpaceConversion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ColorSpaceConversion', - }, - CompositeOperation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CompositeOperation', - }, - CompositeOperationOrAuto: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CompositeOperationOrAuto', - }, - CredentialMediationRequirement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CredentialMediationRequirement', - }, - DOMParserSupportedType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMParserSupportedType', - }, - DirectionSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DirectionSetting', - }, - DisplayCaptureSurfaceType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DisplayCaptureSurfaceType', - }, - DistanceModelType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DistanceModelType', - }, - DocumentReadyState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DocumentReadyState', - }, - EndOfStreamError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EndOfStreamError', - }, - EndingType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EndingType', - }, - FillMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FillMode', - }, - FullscreenNavigationUI: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FullscreenNavigationUI', - }, - GamepadHand: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GamepadHand', - }, - GamepadHapticActuatorType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GamepadHapticActuatorType', - }, - GamepadMappingType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GamepadMappingType', - }, - IDBCursorDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBCursorDirection', - }, - IDBRequestReadyState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBRequestReadyState', - }, - IDBTransactionMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBTransactionMode', - }, - ImageOrientation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageOrientation', - }, - ImageSmoothingQuality: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageSmoothingQuality', - }, - IterationCompositeOperation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IterationCompositeOperation', - }, - KeyFormat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyFormat', - }, - KeyType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyType', - }, - KeyUsage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyUsage', - }, - LineAlignSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'LineAlignSetting', - }, - ListeningState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ListeningState', - }, - MSCredentialType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSCredentialType', - }, - MSTransportType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSTransportType', - }, - MSWebViewPermissionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSWebViewPermissionState', - }, - MSWebViewPermissionType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MSWebViewPermissionType', - }, - MediaDeviceKind: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaDeviceKind', - }, - MediaKeyMessageType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeyMessageType', - }, - MediaKeySessionType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeySessionType', - }, - MediaKeyStatus: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeyStatus', - }, - MediaKeysRequirement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaKeysRequirement', - }, - MediaStreamTrackState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MediaStreamTrackState', - }, - NavigationReason: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigationReason', - }, - NavigationType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigationType', - }, - NotificationDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationDirection', - }, - NotificationPermission: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationPermission', - }, - OffscreenRenderingContextId: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OffscreenRenderingContextId', - }, - OrientationLockType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OrientationLockType', - }, - OrientationType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OrientationType', - }, - OscillatorType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OscillatorType', - }, - OverSampleType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OverSampleType', - }, - PanningModelType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PanningModelType', - }, - PaymentComplete: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentComplete', - }, - PaymentShippingType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PaymentShippingType', - }, - PermissionName: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionName', - }, - PermissionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionState', - }, - PlaybackDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PlaybackDirection', - }, - PositionAlignSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PositionAlignSetting', - }, - PremultiplyAlpha: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PremultiplyAlpha', - }, - PublicKeyCredentialType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PublicKeyCredentialType', - }, - PushEncryptionKeyName: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushEncryptionKeyName', - }, - PushPermissionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushPermissionState', - }, - RTCBundlePolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCBundlePolicy', - }, - RTCDataChannelState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDataChannelState', - }, - RTCDegradationPreference: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDegradationPreference', - }, - RTCDtlsRole: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtlsRole', - }, - RTCDtlsTransportState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtlsTransportState', - }, - RTCDtxStatus: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCDtxStatus', - }, - RTCErrorDetailType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCErrorDetailType', - }, - RTCIceCandidateType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCandidateType', - }, - RTCIceComponent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceComponent', - }, - RTCIceConnectionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceConnectionState', - }, - RTCIceCredentialType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceCredentialType', - }, - RTCIceGatherPolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGatherPolicy', - }, - RTCIceGathererState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGathererState', - }, - RTCIceGatheringState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceGatheringState', - }, - RTCIceProtocol: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceProtocol', - }, - RTCIceRole: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceRole', - }, - RTCIceTcpCandidateType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceTcpCandidateType', - }, - RTCIceTransportPolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceTransportPolicy', - }, - RTCIceTransportState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCIceTransportState', - }, - RTCPeerConnectionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPeerConnectionState', - }, - RTCPriorityType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCPriorityType', - }, - RTCRtcpMuxPolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtcpMuxPolicy', - }, - RTCRtpTransceiverDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCRtpTransceiverDirection', - }, - RTCSctpTransportState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSctpTransportState', - }, - RTCSdpType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSdpType', - }, - RTCSignalingState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCSignalingState', - }, - RTCStatsIceCandidatePairState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsIceCandidatePairState', - }, - RTCStatsIceCandidateType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsIceCandidateType', - }, - RTCStatsType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RTCStatsType', - }, - ReadyState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadyState', - }, - ReferrerPolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReferrerPolicy', - }, - RequestCache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestCache', - }, - RequestCredentials: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestCredentials', - }, - RequestDestination: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestDestination', - }, - RequestMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestMode', - }, - RequestRedirect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestRedirect', - }, - ResizeQuality: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResizeQuality', - }, - ResponseType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResponseType', - }, - ScopedCredentialType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScopedCredentialType', - }, - ScrollBehavior: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollBehavior', - }, - ScrollLogicalPosition: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollLogicalPosition', - }, - ScrollRestoration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollRestoration', - }, - ScrollSetting: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ScrollSetting', - }, - SelectionMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SelectionMode', - }, - ServiceWorkerState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerState', - }, - ServiceWorkerUpdateViaCache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerUpdateViaCache', - }, - ShadowRootMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ShadowRootMode', - }, - SpeechSynthesisErrorCode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SpeechSynthesisErrorCode', - }, - TextTrackKind: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackKind', - }, - TextTrackMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextTrackMode', - }, - TouchType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TouchType', - }, - Transport: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Transport', - }, - UserVerificationRequirement: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UserVerificationRequirement', - }, - VRDisplayEventReason: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VRDisplayEventReason', - }, - VideoFacingModeEnum: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VideoFacingModeEnum', - }, - VisibilityState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VisibilityState', - }, - WebGLPowerPreference: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLPowerPreference', - }, - WorkerType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerType', - }, - XMLHttpRequestResponseType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestResponseType', - }, + AddEventListenerOptions: base_config_1.TYPE, + AddressErrors: base_config_1.TYPE, + AesCbcParams: base_config_1.TYPE, + AesCtrParams: base_config_1.TYPE, + AesDerivedKeyParams: base_config_1.TYPE, + AesGcmParams: base_config_1.TYPE, + AesKeyAlgorithm: base_config_1.TYPE, + AesKeyGenParams: base_config_1.TYPE, + Algorithm: base_config_1.TYPE, + AnalyserOptions: base_config_1.TYPE, + AnimationEventInit: base_config_1.TYPE, + AnimationPlaybackEventInit: base_config_1.TYPE, + AssignedNodesOptions: base_config_1.TYPE, + AudioBufferOptions: base_config_1.TYPE, + AudioBufferSourceOptions: base_config_1.TYPE, + AudioContextInfo: base_config_1.TYPE, + AudioContextOptions: base_config_1.TYPE, + AudioNodeOptions: base_config_1.TYPE, + AudioParamDescriptor: base_config_1.TYPE, + AudioProcessingEventInit: base_config_1.TYPE, + AudioTimestamp: base_config_1.TYPE, + AudioWorkletNodeOptions: base_config_1.TYPE, + AuthenticationExtensionsClientInputs: base_config_1.TYPE, + AuthenticationExtensionsClientOutputs: base_config_1.TYPE, + AuthenticatorSelectionCriteria: base_config_1.TYPE, + BiquadFilterOptions: base_config_1.TYPE, + BlobPropertyBag: base_config_1.TYPE, + ByteLengthChunk: base_config_1.TYPE, + CacheQueryOptions: base_config_1.TYPE, + CanvasRenderingContext2DSettings: base_config_1.TYPE, + ChannelMergerOptions: base_config_1.TYPE, + ChannelSplitterOptions: base_config_1.TYPE, + ClientQueryOptions: base_config_1.TYPE, + ClipboardEventInit: base_config_1.TYPE, + CloseEventInit: base_config_1.TYPE, + CompositionEventInit: base_config_1.TYPE, + ComputedEffectTiming: base_config_1.TYPE, + ComputedKeyframe: base_config_1.TYPE, + ConfirmSiteSpecificExceptionsInformation: base_config_1.TYPE, + ConstantSourceOptions: base_config_1.TYPE, + ConstrainBooleanParameters: base_config_1.TYPE, + ConstrainDOMStringParameters: base_config_1.TYPE, + ConstrainDoubleRange: base_config_1.TYPE, + ConstrainULongRange: base_config_1.TYPE, + ConstrainVideoFacingModeParameters: base_config_1.TYPE, + ConvolverOptions: base_config_1.TYPE, + CredentialCreationOptions: base_config_1.TYPE, + CredentialPropertiesOutput: base_config_1.TYPE, + CredentialRequestOptions: base_config_1.TYPE, + CustomEventInit: base_config_1.TYPE, + DOMMatrix2DInit: base_config_1.TYPE, + DOMMatrixInit: base_config_1.TYPE, + DOMPointInit: base_config_1.TYPE, + DOMQuadInit: base_config_1.TYPE, + DOMRectInit: base_config_1.TYPE, + DelayOptions: base_config_1.TYPE, + DeviceMotionEventAccelerationInit: base_config_1.TYPE, + DeviceMotionEventInit: base_config_1.TYPE, + DeviceMotionEventRotationRateInit: base_config_1.TYPE, + DeviceOrientationEventInit: base_config_1.TYPE, + DevicePermissionDescriptor: base_config_1.TYPE, + DocumentTimelineOptions: base_config_1.TYPE, + DoubleRange: base_config_1.TYPE, + DragEventInit: base_config_1.TYPE, + DynamicsCompressorOptions: base_config_1.TYPE, + EcKeyAlgorithm: base_config_1.TYPE, + EcKeyGenParams: base_config_1.TYPE, + EcKeyImportParams: base_config_1.TYPE, + EcdhKeyDeriveParams: base_config_1.TYPE, + EcdsaParams: base_config_1.TYPE, + EffectTiming: base_config_1.TYPE, + ElementCreationOptions: base_config_1.TYPE, + ElementDefinitionOptions: base_config_1.TYPE, + ErrorEventInit: base_config_1.TYPE, + EventInit: base_config_1.TYPE, + EventListenerOptions: base_config_1.TYPE, + EventModifierInit: base_config_1.TYPE, + EventSourceInit: base_config_1.TYPE, + ExceptionInformation: base_config_1.TYPE, + FilePropertyBag: base_config_1.TYPE, + FocusEventInit: base_config_1.TYPE, + FocusNavigationEventInit: base_config_1.TYPE, + FocusNavigationOrigin: base_config_1.TYPE, + FocusOptions: base_config_1.TYPE, + FullscreenOptions: base_config_1.TYPE, + GainOptions: base_config_1.TYPE, + GamepadEventInit: base_config_1.TYPE, + GetNotificationOptions: base_config_1.TYPE, + GetRootNodeOptions: base_config_1.TYPE, + HashChangeEventInit: base_config_1.TYPE, + HkdfParams: base_config_1.TYPE, + HmacImportParams: base_config_1.TYPE, + HmacKeyAlgorithm: base_config_1.TYPE, + HmacKeyGenParams: base_config_1.TYPE, + IDBIndexParameters: base_config_1.TYPE, + IDBObjectStoreParameters: base_config_1.TYPE, + IDBVersionChangeEventInit: base_config_1.TYPE, + IIRFilterOptions: base_config_1.TYPE, + ImageBitmapOptions: base_config_1.TYPE, + ImageBitmapRenderingContextSettings: base_config_1.TYPE, + ImageEncodeOptions: base_config_1.TYPE, + ImportMeta: base_config_1.TYPE, + InputEventInit: base_config_1.TYPE, + IntersectionObserverEntryInit: base_config_1.TYPE, + IntersectionObserverInit: base_config_1.TYPE, + JsonWebKey: base_config_1.TYPE, + KeyAlgorithm: base_config_1.TYPE, + KeyboardEventInit: base_config_1.TYPE, + Keyframe: base_config_1.TYPE, + KeyframeAnimationOptions: base_config_1.TYPE, + KeyframeEffectOptions: base_config_1.TYPE, + MediaElementAudioSourceOptions: base_config_1.TYPE, + MediaEncryptedEventInit: base_config_1.TYPE, + MediaKeyMessageEventInit: base_config_1.TYPE, + MediaKeySystemConfiguration: base_config_1.TYPE, + MediaKeySystemMediaCapability: base_config_1.TYPE, + MediaQueryListEventInit: base_config_1.TYPE, + MediaStreamAudioSourceOptions: base_config_1.TYPE, + MediaStreamConstraints: base_config_1.TYPE, + MediaStreamErrorEventInit: base_config_1.TYPE, + MediaStreamEventInit: base_config_1.TYPE, + MediaStreamTrackAudioSourceOptions: base_config_1.TYPE, + MediaStreamTrackEventInit: base_config_1.TYPE, + MediaTrackCapabilities: base_config_1.TYPE, + MediaTrackConstraintSet: base_config_1.TYPE, + MediaTrackConstraints: base_config_1.TYPE, + MediaTrackSettings: base_config_1.TYPE, + MediaTrackSupportedConstraints: base_config_1.TYPE, + MessageEventInit: base_config_1.TYPE, + MidiPermissionDescriptor: base_config_1.TYPE, + MouseEventInit: base_config_1.TYPE, + MultiCacheQueryOptions: base_config_1.TYPE, + MutationObserverInit: base_config_1.TYPE, + NavigationPreloadState: base_config_1.TYPE, + NotificationAction: base_config_1.TYPE, + NotificationOptions: base_config_1.TYPE, + OfflineAudioCompletionEventInit: base_config_1.TYPE, + OfflineAudioContextOptions: base_config_1.TYPE, + OptionalEffectTiming: base_config_1.TYPE, + OscillatorOptions: base_config_1.TYPE, + PageTransitionEventInit: base_config_1.TYPE, + PannerOptions: base_config_1.TYPE, + PayerErrors: base_config_1.TYPE, + PaymentCurrencyAmount: base_config_1.TYPE, + PaymentDetailsBase: base_config_1.TYPE, + PaymentDetailsInit: base_config_1.TYPE, + PaymentDetailsModifier: base_config_1.TYPE, + PaymentDetailsUpdate: base_config_1.TYPE, + PaymentItem: base_config_1.TYPE, + PaymentMethodChangeEventInit: base_config_1.TYPE, + PaymentMethodData: base_config_1.TYPE, + PaymentOptions: base_config_1.TYPE, + PaymentRequestUpdateEventInit: base_config_1.TYPE, + PaymentShippingOption: base_config_1.TYPE, + PaymentValidationErrors: base_config_1.TYPE, + Pbkdf2Params: base_config_1.TYPE, + PerformanceObserverInit: base_config_1.TYPE, + PeriodicWaveConstraints: base_config_1.TYPE, + PeriodicWaveOptions: base_config_1.TYPE, + PermissionDescriptor: base_config_1.TYPE, + PointerEventInit: base_config_1.TYPE, + PopStateEventInit: base_config_1.TYPE, + PositionOptions: base_config_1.TYPE, + PostMessageOptions: base_config_1.TYPE, + ProgressEventInit: base_config_1.TYPE, + PromiseRejectionEventInit: base_config_1.TYPE, + PropertyIndexedKeyframes: base_config_1.TYPE, + PublicKeyCredentialCreationOptions: base_config_1.TYPE, + PublicKeyCredentialDescriptor: base_config_1.TYPE, + PublicKeyCredentialEntity: base_config_1.TYPE, + PublicKeyCredentialParameters: base_config_1.TYPE, + PublicKeyCredentialRequestOptions: base_config_1.TYPE, + PublicKeyCredentialRpEntity: base_config_1.TYPE, + PublicKeyCredentialUserEntity: base_config_1.TYPE, + PushPermissionDescriptor: base_config_1.TYPE, + PushSubscriptionJSON: base_config_1.TYPE, + PushSubscriptionOptionsInit: base_config_1.TYPE, + QueuingStrategy: base_config_1.TYPE, + QueuingStrategyInit: base_config_1.TYPE, + RTCAnswerOptions: base_config_1.TYPE, + RTCCertificateExpiration: base_config_1.TYPE, + RTCConfiguration: base_config_1.TYPE, + RTCDTMFToneChangeEventInit: base_config_1.TYPE, + RTCDataChannelEventInit: base_config_1.TYPE, + RTCDataChannelInit: base_config_1.TYPE, + RTCDtlsFingerprint: base_config_1.TYPE, + RTCDtlsParameters: base_config_1.TYPE, + RTCErrorEventInit: base_config_1.TYPE, + RTCErrorInit: base_config_1.TYPE, + RTCIceCandidateAttributes: base_config_1.TYPE, + RTCIceCandidateComplete: base_config_1.TYPE, + RTCIceCandidateDictionary: base_config_1.TYPE, + RTCIceCandidateInit: base_config_1.TYPE, + RTCIceCandidatePair: base_config_1.TYPE, + RTCIceCandidatePairStats: base_config_1.TYPE, + RTCIceGatherOptions: base_config_1.TYPE, + RTCIceParameters: base_config_1.TYPE, + RTCIceServer: base_config_1.TYPE, + RTCIdentityProviderOptions: base_config_1.TYPE, + RTCInboundRTPStreamStats: base_config_1.TYPE, + RTCLocalSessionDescriptionInit: base_config_1.TYPE, + RTCMediaStreamTrackStats: base_config_1.TYPE, + RTCOfferAnswerOptions: base_config_1.TYPE, + RTCOfferOptions: base_config_1.TYPE, + RTCOutboundRTPStreamStats: base_config_1.TYPE, + RTCPeerConnectionIceErrorEventInit: base_config_1.TYPE, + RTCPeerConnectionIceEventInit: base_config_1.TYPE, + RTCRTPStreamStats: base_config_1.TYPE, + RTCRtcpFeedback: base_config_1.TYPE, + RTCRtcpParameters: base_config_1.TYPE, + RTCRtpCapabilities: base_config_1.TYPE, + RTCRtpCodecCapability: base_config_1.TYPE, + RTCRtpCodecParameters: base_config_1.TYPE, + RTCRtpCodingParameters: base_config_1.TYPE, + RTCRtpContributingSource: base_config_1.TYPE, + RTCRtpEncodingParameters: base_config_1.TYPE, + RTCRtpFecParameters: base_config_1.TYPE, + RTCRtpHeaderExtension: base_config_1.TYPE, + RTCRtpHeaderExtensionCapability: base_config_1.TYPE, + RTCRtpHeaderExtensionParameters: base_config_1.TYPE, + RTCRtpParameters: base_config_1.TYPE, + RTCRtpReceiveParameters: base_config_1.TYPE, + RTCRtpRtxParameters: base_config_1.TYPE, + RTCRtpSendParameters: base_config_1.TYPE, + RTCRtpSynchronizationSource: base_config_1.TYPE, + RTCRtpTransceiverInit: base_config_1.TYPE, + RTCRtpUnhandled: base_config_1.TYPE, + RTCSessionDescriptionInit: base_config_1.TYPE, + RTCSrtpKeyParam: base_config_1.TYPE, + RTCSrtpSdesParameters: base_config_1.TYPE, + RTCSsrcRange: base_config_1.TYPE, + RTCStats: base_config_1.TYPE, + RTCStatsReport: base_config_1.TYPE_VALUE, + RTCTrackEventInit: base_config_1.TYPE, + RTCTransportStats: base_config_1.TYPE, + ReadableStreamDefaultReadDoneResult: base_config_1.TYPE, + ReadableStreamDefaultReadValueResult: base_config_1.TYPE, + ReadableWritablePair: base_config_1.TYPE, + RegistrationOptions: base_config_1.TYPE, + RequestInit: base_config_1.TYPE, + ResizeObserverOptions: base_config_1.TYPE, + ResponseInit: base_config_1.TYPE, + RsaHashedImportParams: base_config_1.TYPE, + RsaHashedKeyAlgorithm: base_config_1.TYPE, + RsaHashedKeyGenParams: base_config_1.TYPE, + RsaKeyAlgorithm: base_config_1.TYPE, + RsaKeyGenParams: base_config_1.TYPE, + RsaOaepParams: base_config_1.TYPE, + RsaOtherPrimesInfo: base_config_1.TYPE, + RsaPssParams: base_config_1.TYPE, + SVGBoundingBoxOptions: base_config_1.TYPE, + ScrollIntoViewOptions: base_config_1.TYPE, + ScrollOptions: base_config_1.TYPE, + ScrollToOptions: base_config_1.TYPE, + SecurityPolicyViolationEventInit: base_config_1.TYPE, + ShadowRootInit: base_config_1.TYPE, + ShareData: base_config_1.TYPE, + SpeechRecognitionErrorEventInit: base_config_1.TYPE, + SpeechRecognitionEventInit: base_config_1.TYPE, + SpeechSynthesisErrorEventInit: base_config_1.TYPE, + SpeechSynthesisEventInit: base_config_1.TYPE, + StaticRangeInit: base_config_1.TYPE, + StereoPannerOptions: base_config_1.TYPE, + StorageEstimate: base_config_1.TYPE, + StorageEventInit: base_config_1.TYPE, + StoreExceptionsInformation: base_config_1.TYPE, + StoreSiteSpecificExceptionsInformation: base_config_1.TYPE, + StreamPipeOptions: base_config_1.TYPE, + TextDecodeOptions: base_config_1.TYPE, + TextDecoderOptions: base_config_1.TYPE, + TextEncoderEncodeIntoResult: base_config_1.TYPE, + TouchEventInit: base_config_1.TYPE, + TouchInit: base_config_1.TYPE, + TrackEventInit: base_config_1.TYPE, + Transformer: base_config_1.TYPE, + TransitionEventInit: base_config_1.TYPE, + UIEventInit: base_config_1.TYPE, + ULongRange: base_config_1.TYPE, + UnderlyingSink: base_config_1.TYPE, + UnderlyingSource: base_config_1.TYPE, + VRDisplayEventInit: base_config_1.TYPE, + VRLayer: base_config_1.TYPE, + VRStageParameters: base_config_1.TYPE, + WaveShaperOptions: base_config_1.TYPE, + WebGLContextAttributes: base_config_1.TYPE, + WebGLContextEventInit: base_config_1.TYPE, + WheelEventInit: base_config_1.TYPE, + WorkerOptions: base_config_1.TYPE, + WorkletOptions: base_config_1.TYPE, + EventListener: base_config_1.TYPE, + XPathNSResolver: base_config_1.TYPE, + ANGLE_instanced_arrays: base_config_1.TYPE, + AbortController: base_config_1.TYPE_VALUE, + AbortSignalEventMap: base_config_1.TYPE, + AbortSignal: base_config_1.TYPE_VALUE, + AbstractRange: base_config_1.TYPE_VALUE, + AbstractWorkerEventMap: base_config_1.TYPE, + AbstractWorker: base_config_1.TYPE, + AesCfbParams: base_config_1.TYPE, + AesCmacParams: base_config_1.TYPE, + AnalyserNode: base_config_1.TYPE_VALUE, + Animatable: base_config_1.TYPE, + AnimationEventMap: base_config_1.TYPE, + Animation: base_config_1.TYPE_VALUE, + AnimationEffect: base_config_1.TYPE_VALUE, + AnimationEvent: base_config_1.TYPE_VALUE, + AnimationFrameProvider: base_config_1.TYPE, + AnimationPlaybackEvent: base_config_1.TYPE_VALUE, + AnimationTimeline: base_config_1.TYPE_VALUE, + ApplicationCacheEventMap: base_config_1.TYPE, + ApplicationCache: base_config_1.TYPE_VALUE, + Attr: base_config_1.TYPE_VALUE, + AudioBuffer: base_config_1.TYPE_VALUE, + AudioBufferSourceNode: base_config_1.TYPE_VALUE, + AudioContext: base_config_1.TYPE_VALUE, + AudioDestinationNode: base_config_1.TYPE_VALUE, + AudioListener: base_config_1.TYPE_VALUE, + AudioNode: base_config_1.TYPE_VALUE, + AudioParam: base_config_1.TYPE_VALUE, + AudioParamMap: base_config_1.TYPE_VALUE, + AudioProcessingEvent: base_config_1.TYPE_VALUE, + AudioScheduledSourceNodeEventMap: base_config_1.TYPE, + AudioScheduledSourceNode: base_config_1.TYPE_VALUE, + AudioWorklet: base_config_1.TYPE_VALUE, + AudioWorkletNodeEventMap: base_config_1.TYPE, + AudioWorkletNode: base_config_1.TYPE_VALUE, + AuthenticatorAssertionResponse: base_config_1.TYPE_VALUE, + AuthenticatorAttestationResponse: base_config_1.TYPE_VALUE, + AuthenticatorResponse: base_config_1.TYPE_VALUE, + BarProp: base_config_1.TYPE_VALUE, + BaseAudioContextEventMap: base_config_1.TYPE, + BaseAudioContext: base_config_1.TYPE_VALUE, + BeforeUnloadEvent: base_config_1.TYPE_VALUE, + BhxBrowser: base_config_1.TYPE_VALUE, + BiquadFilterNode: base_config_1.TYPE_VALUE, + Blob: base_config_1.TYPE_VALUE, + Body: base_config_1.TYPE, + BroadcastChannelEventMap: base_config_1.TYPE, + BroadcastChannel: base_config_1.TYPE_VALUE, + ByteLengthQueuingStrategy: base_config_1.TYPE_VALUE, + CDATASection: base_config_1.TYPE_VALUE, + CSSConditionRule: base_config_1.TYPE_VALUE, + CSSFontFaceRule: base_config_1.TYPE_VALUE, + CSSGroupingRule: base_config_1.TYPE_VALUE, + CSSImportRule: base_config_1.TYPE_VALUE, + CSSKeyframeRule: base_config_1.TYPE_VALUE, + CSSKeyframesRule: base_config_1.TYPE_VALUE, + CSSMediaRule: base_config_1.TYPE_VALUE, + CSSNamespaceRule: base_config_1.TYPE_VALUE, + CSSPageRule: base_config_1.TYPE_VALUE, + CSSRule: base_config_1.TYPE_VALUE, + CSSRuleList: base_config_1.TYPE_VALUE, + CSSStyleDeclaration: base_config_1.TYPE_VALUE, + CSSStyleRule: base_config_1.TYPE_VALUE, + CSSStyleSheet: base_config_1.TYPE_VALUE, + CSSSupportsRule: base_config_1.TYPE_VALUE, + Cache: base_config_1.TYPE_VALUE, + CacheStorage: base_config_1.TYPE_VALUE, + CanvasCompositing: base_config_1.TYPE, + CanvasDrawImage: base_config_1.TYPE, + CanvasDrawPath: base_config_1.TYPE, + CanvasFillStrokeStyles: base_config_1.TYPE, + CanvasFilters: base_config_1.TYPE, + CanvasGradient: base_config_1.TYPE_VALUE, + CanvasImageData: base_config_1.TYPE, + CanvasImageSmoothing: base_config_1.TYPE, + CanvasPath: base_config_1.TYPE, + CanvasPathDrawingStyles: base_config_1.TYPE, + CanvasPattern: base_config_1.TYPE_VALUE, + CanvasRect: base_config_1.TYPE, + CanvasRenderingContext2D: base_config_1.TYPE_VALUE, + CanvasShadowStyles: base_config_1.TYPE, + CanvasState: base_config_1.TYPE, + CanvasText: base_config_1.TYPE, + CanvasTextDrawingStyles: base_config_1.TYPE, + CanvasTransform: base_config_1.TYPE, + CanvasUserInterface: base_config_1.TYPE, + CaretPosition: base_config_1.TYPE_VALUE, + ChannelMergerNode: base_config_1.TYPE_VALUE, + ChannelSplitterNode: base_config_1.TYPE_VALUE, + CharacterData: base_config_1.TYPE_VALUE, + ChildNode: base_config_1.TYPE, + ClientRect: base_config_1.TYPE_VALUE, + ClientRectList: base_config_1.TYPE_VALUE, + Clipboard: base_config_1.TYPE_VALUE, + ClipboardEvent: base_config_1.TYPE_VALUE, + CloseEvent: base_config_1.TYPE_VALUE, + Comment: base_config_1.TYPE_VALUE, + CompositionEvent: base_config_1.TYPE_VALUE, + ConcatParams: base_config_1.TYPE, + ConstantSourceNode: base_config_1.TYPE_VALUE, + ConvolverNode: base_config_1.TYPE_VALUE, + CountQueuingStrategy: base_config_1.TYPE_VALUE, + Credential: base_config_1.TYPE_VALUE, + CredentialsContainer: base_config_1.TYPE_VALUE, + Crypto: base_config_1.TYPE_VALUE, + CryptoKey: base_config_1.TYPE_VALUE, + CryptoKeyPair: base_config_1.TYPE_VALUE, + CustomElementRegistry: base_config_1.TYPE_VALUE, + CustomEvent: base_config_1.TYPE_VALUE, + DOMError: base_config_1.TYPE_VALUE, + DOMException: base_config_1.TYPE_VALUE, + DOMImplementation: base_config_1.TYPE_VALUE, + DOMMatrix: base_config_1.TYPE_VALUE, + SVGMatrix: base_config_1.TYPE_VALUE, + WebKitCSSMatrix: base_config_1.TYPE_VALUE, + DOMMatrixReadOnly: base_config_1.TYPE_VALUE, + DOMParser: base_config_1.TYPE_VALUE, + DOMPoint: base_config_1.TYPE_VALUE, + SVGPoint: base_config_1.TYPE_VALUE, + DOMPointReadOnly: base_config_1.TYPE_VALUE, + DOMQuad: base_config_1.TYPE_VALUE, + DOMRect: base_config_1.TYPE_VALUE, + SVGRect: base_config_1.TYPE_VALUE, + DOMRectList: base_config_1.TYPE_VALUE, + DOMRectReadOnly: base_config_1.TYPE_VALUE, + DOMSettableTokenList: base_config_1.TYPE_VALUE, + DOMStringList: base_config_1.TYPE_VALUE, + DOMStringMap: base_config_1.TYPE_VALUE, + DOMTokenList: base_config_1.TYPE_VALUE, + DataCue: base_config_1.TYPE_VALUE, + DataTransfer: base_config_1.TYPE_VALUE, + DataTransferItem: base_config_1.TYPE_VALUE, + DataTransferItemList: base_config_1.TYPE_VALUE, + DeferredPermissionRequest: base_config_1.TYPE_VALUE, + DelayNode: base_config_1.TYPE_VALUE, + DeviceAcceleration: base_config_1.TYPE_VALUE, + DeviceMotionEvent: base_config_1.TYPE_VALUE, + DeviceMotionEventAcceleration: base_config_1.TYPE, + DeviceMotionEventRotationRate: base_config_1.TYPE, + DeviceOrientationEvent: base_config_1.TYPE_VALUE, + DeviceRotationRate: base_config_1.TYPE_VALUE, + DhImportKeyParams: base_config_1.TYPE, + DhKeyAlgorithm: base_config_1.TYPE, + DhKeyDeriveParams: base_config_1.TYPE, + DhKeyGenParams: base_config_1.TYPE, + DocumentEventMap: base_config_1.TYPE, + Document: base_config_1.TYPE_VALUE, + DocumentAndElementEventHandlersEventMap: base_config_1.TYPE, + DocumentAndElementEventHandlers: base_config_1.TYPE, + DocumentEvent: base_config_1.TYPE, + DocumentFragment: base_config_1.TYPE_VALUE, + DocumentOrShadowRoot: base_config_1.TYPE, + DocumentTimeline: base_config_1.TYPE_VALUE, + DocumentType: base_config_1.TYPE_VALUE, + DragEvent: base_config_1.TYPE_VALUE, + DynamicsCompressorNode: base_config_1.TYPE_VALUE, + EXT_blend_minmax: base_config_1.TYPE, + EXT_frag_depth: base_config_1.TYPE, + EXT_sRGB: base_config_1.TYPE, + EXT_shader_texture_lod: base_config_1.TYPE, + EXT_texture_filter_anisotropic: base_config_1.TYPE, + ElementEventMap: base_config_1.TYPE, + Element: base_config_1.TYPE_VALUE, + ElementCSSInlineStyle: base_config_1.TYPE, + ElementContentEditable: base_config_1.TYPE, + ErrorEvent: base_config_1.TYPE_VALUE, + Event: base_config_1.TYPE_VALUE, + EventListenerObject: base_config_1.TYPE, + EventSourceEventMap: base_config_1.TYPE, + EventSource: base_config_1.TYPE_VALUE, + EventTarget: base_config_1.TYPE_VALUE, + ExtensionScriptApis: base_config_1.TYPE_VALUE, + External: base_config_1.TYPE_VALUE, + File: base_config_1.TYPE_VALUE, + FileList: base_config_1.TYPE_VALUE, + FileReaderEventMap: base_config_1.TYPE, + FileReader: base_config_1.TYPE_VALUE, + FocusEvent: base_config_1.TYPE_VALUE, + FocusNavigationEvent: base_config_1.TYPE_VALUE, + FormData: base_config_1.TYPE_VALUE, + GainNode: base_config_1.TYPE_VALUE, + Gamepad: base_config_1.TYPE_VALUE, + GamepadButton: base_config_1.TYPE_VALUE, + GamepadEvent: base_config_1.TYPE_VALUE, + GamepadHapticActuator: base_config_1.TYPE_VALUE, + GamepadPose: base_config_1.TYPE_VALUE, + GenericTransformStream: base_config_1.TYPE, + Geolocation: base_config_1.TYPE_VALUE, + GeolocationCoordinates: base_config_1.TYPE_VALUE, + GeolocationPosition: base_config_1.TYPE_VALUE, + GeolocationPositionError: base_config_1.TYPE_VALUE, + GlobalEventHandlersEventMap: base_config_1.TYPE, + GlobalEventHandlers: base_config_1.TYPE, + HTMLAllCollection: base_config_1.TYPE_VALUE, + HTMLAnchorElement: base_config_1.TYPE_VALUE, + HTMLAppletElement: base_config_1.TYPE_VALUE, + HTMLAreaElement: base_config_1.TYPE_VALUE, + HTMLAudioElement: base_config_1.TYPE_VALUE, + HTMLBRElement: base_config_1.TYPE_VALUE, + HTMLBaseElement: base_config_1.TYPE_VALUE, + HTMLBodyElementEventMap: base_config_1.TYPE, + HTMLBodyElement: base_config_1.TYPE_VALUE, + HTMLButtonElement: base_config_1.TYPE_VALUE, + HTMLCanvasElement: base_config_1.TYPE_VALUE, + HTMLCollectionBase: base_config_1.TYPE, + HTMLCollection: base_config_1.TYPE_VALUE, + HTMLCollectionOf: base_config_1.TYPE, + HTMLDListElement: base_config_1.TYPE_VALUE, + HTMLDataElement: base_config_1.TYPE_VALUE, + HTMLDataListElement: base_config_1.TYPE_VALUE, + HTMLDetailsElement: base_config_1.TYPE_VALUE, + HTMLDialogElement: base_config_1.TYPE_VALUE, + HTMLDirectoryElement: base_config_1.TYPE_VALUE, + HTMLDivElement: base_config_1.TYPE_VALUE, + HTMLDocument: base_config_1.TYPE_VALUE, + HTMLElementEventMap: base_config_1.TYPE, + HTMLElement: base_config_1.TYPE_VALUE, + HTMLEmbedElement: base_config_1.TYPE_VALUE, + HTMLFieldSetElement: base_config_1.TYPE_VALUE, + HTMLFontElement: base_config_1.TYPE_VALUE, + HTMLFormControlsCollection: base_config_1.TYPE_VALUE, + HTMLFormElement: base_config_1.TYPE_VALUE, + HTMLFrameElement: base_config_1.TYPE_VALUE, + HTMLFrameSetElementEventMap: base_config_1.TYPE, + HTMLFrameSetElement: base_config_1.TYPE_VALUE, + HTMLHRElement: base_config_1.TYPE_VALUE, + HTMLHeadElement: base_config_1.TYPE_VALUE, + HTMLHeadingElement: base_config_1.TYPE_VALUE, + HTMLHtmlElement: base_config_1.TYPE_VALUE, + HTMLHyperlinkElementUtils: base_config_1.TYPE, + HTMLIFrameElement: base_config_1.TYPE_VALUE, + HTMLImageElement: base_config_1.TYPE_VALUE, + HTMLInputElement: base_config_1.TYPE_VALUE, + HTMLLIElement: base_config_1.TYPE_VALUE, + HTMLLabelElement: base_config_1.TYPE_VALUE, + HTMLLegendElement: base_config_1.TYPE_VALUE, + HTMLLinkElement: base_config_1.TYPE_VALUE, + HTMLMapElement: base_config_1.TYPE_VALUE, + HTMLMarqueeElementEventMap: base_config_1.TYPE, + HTMLMarqueeElement: base_config_1.TYPE_VALUE, + HTMLMediaElementEventMap: base_config_1.TYPE, + HTMLMediaElement: base_config_1.TYPE_VALUE, + HTMLMenuElement: base_config_1.TYPE_VALUE, + HTMLMetaElement: base_config_1.TYPE_VALUE, + HTMLMeterElement: base_config_1.TYPE_VALUE, + HTMLModElement: base_config_1.TYPE_VALUE, + HTMLOListElement: base_config_1.TYPE_VALUE, + HTMLObjectElement: base_config_1.TYPE_VALUE, + HTMLOptGroupElement: base_config_1.TYPE_VALUE, + HTMLOptionElement: base_config_1.TYPE_VALUE, + HTMLOptionsCollection: base_config_1.TYPE_VALUE, + HTMLOrSVGElement: base_config_1.TYPE, + HTMLOutputElement: base_config_1.TYPE_VALUE, + HTMLParagraphElement: base_config_1.TYPE_VALUE, + HTMLParamElement: base_config_1.TYPE_VALUE, + HTMLPictureElement: base_config_1.TYPE_VALUE, + HTMLPreElement: base_config_1.TYPE_VALUE, + HTMLProgressElement: base_config_1.TYPE_VALUE, + HTMLQuoteElement: base_config_1.TYPE_VALUE, + HTMLScriptElement: base_config_1.TYPE_VALUE, + HTMLSelectElement: base_config_1.TYPE_VALUE, + HTMLSlotElement: base_config_1.TYPE_VALUE, + HTMLSourceElement: base_config_1.TYPE_VALUE, + HTMLSpanElement: base_config_1.TYPE_VALUE, + HTMLStyleElement: base_config_1.TYPE_VALUE, + HTMLTableCaptionElement: base_config_1.TYPE_VALUE, + HTMLTableCellElement: base_config_1.TYPE_VALUE, + HTMLTableColElement: base_config_1.TYPE_VALUE, + HTMLTableDataCellElement: base_config_1.TYPE_VALUE, + HTMLTableElement: base_config_1.TYPE_VALUE, + HTMLTableHeaderCellElement: base_config_1.TYPE_VALUE, + HTMLTableRowElement: base_config_1.TYPE_VALUE, + HTMLTableSectionElement: base_config_1.TYPE_VALUE, + HTMLTemplateElement: base_config_1.TYPE_VALUE, + HTMLTextAreaElement: base_config_1.TYPE_VALUE, + HTMLTimeElement: base_config_1.TYPE_VALUE, + HTMLTitleElement: base_config_1.TYPE_VALUE, + HTMLTrackElement: base_config_1.TYPE_VALUE, + HTMLUListElement: base_config_1.TYPE_VALUE, + HTMLUnknownElement: base_config_1.TYPE_VALUE, + HTMLVideoElement: base_config_1.TYPE_VALUE, + HashChangeEvent: base_config_1.TYPE_VALUE, + Headers: base_config_1.TYPE_VALUE, + History: base_config_1.TYPE_VALUE, + IDBArrayKey: base_config_1.TYPE, + IDBCursor: base_config_1.TYPE_VALUE, + IDBCursorWithValue: base_config_1.TYPE_VALUE, + IDBDatabaseEventMap: base_config_1.TYPE, + IDBDatabase: base_config_1.TYPE_VALUE, + IDBFactory: base_config_1.TYPE_VALUE, + IDBIndex: base_config_1.TYPE_VALUE, + IDBKeyRange: base_config_1.TYPE_VALUE, + IDBObjectStore: base_config_1.TYPE_VALUE, + IDBOpenDBRequestEventMap: base_config_1.TYPE, + IDBOpenDBRequest: base_config_1.TYPE_VALUE, + IDBRequestEventMap: base_config_1.TYPE, + IDBRequest: base_config_1.TYPE_VALUE, + IDBTransactionEventMap: base_config_1.TYPE, + IDBTransaction: base_config_1.TYPE_VALUE, + IDBVersionChangeEvent: base_config_1.TYPE_VALUE, + IIRFilterNode: base_config_1.TYPE_VALUE, + ImageBitmap: base_config_1.TYPE_VALUE, + ImageBitmapRenderingContext: base_config_1.TYPE_VALUE, + ImageData: base_config_1.TYPE_VALUE, + InnerHTML: base_config_1.TYPE, + InputDeviceInfo: base_config_1.TYPE_VALUE, + InputEvent: base_config_1.TYPE_VALUE, + IntersectionObserver: base_config_1.TYPE_VALUE, + IntersectionObserverEntry: base_config_1.TYPE_VALUE, + KeyboardEvent: base_config_1.TYPE_VALUE, + KeyframeEffect: base_config_1.TYPE_VALUE, + LinkStyle: base_config_1.TYPE, + ListeningStateChangedEvent: base_config_1.TYPE_VALUE, + Location: base_config_1.TYPE_VALUE, + MSAssertion: base_config_1.TYPE_VALUE, + MSBlobBuilder: base_config_1.TYPE_VALUE, + MSFIDOCredentialAssertion: base_config_1.TYPE_VALUE, + MSFIDOSignature: base_config_1.TYPE_VALUE, + MSFIDOSignatureAssertion: base_config_1.TYPE_VALUE, + MSFileSaver: base_config_1.TYPE, + MSGesture: base_config_1.TYPE_VALUE, + MSGraphicsTrust: base_config_1.TYPE_VALUE, + MSInputMethodContextEventMap: base_config_1.TYPE, + MSInputMethodContext: base_config_1.TYPE_VALUE, + MSMediaKeyError: base_config_1.TYPE_VALUE, + MSMediaKeySession: base_config_1.TYPE_VALUE, + MSMediaKeys: base_config_1.TYPE_VALUE, + MSNavigatorDoNotTrack: base_config_1.TYPE, + MSStream: base_config_1.TYPE_VALUE, + MediaDeviceInfo: base_config_1.TYPE_VALUE, + MediaDevicesEventMap: base_config_1.TYPE, + MediaDevices: base_config_1.TYPE_VALUE, + MediaElementAudioSourceNode: base_config_1.TYPE_VALUE, + MediaEncryptedEvent: base_config_1.TYPE_VALUE, + MediaError: base_config_1.TYPE_VALUE, + MediaKeyMessageEvent: base_config_1.TYPE_VALUE, + MediaKeySessionEventMap: base_config_1.TYPE, + MediaKeySession: base_config_1.TYPE_VALUE, + MediaKeyStatusMap: base_config_1.TYPE_VALUE, + MediaKeySystemAccess: base_config_1.TYPE_VALUE, + MediaKeys: base_config_1.TYPE_VALUE, + MediaList: base_config_1.TYPE_VALUE, + MediaQueryListEventMap: base_config_1.TYPE, + MediaQueryList: base_config_1.TYPE_VALUE, + MediaQueryListEvent: base_config_1.TYPE_VALUE, + MediaSourceEventMap: base_config_1.TYPE, + MediaSource: base_config_1.TYPE_VALUE, + MediaStreamEventMap: base_config_1.TYPE, + MediaStream: base_config_1.TYPE_VALUE, + MediaStreamAudioDestinationNode: base_config_1.TYPE_VALUE, + MediaStreamAudioSourceNode: base_config_1.TYPE_VALUE, + MediaStreamError: base_config_1.TYPE_VALUE, + MediaStreamErrorEvent: base_config_1.TYPE_VALUE, + MediaStreamEvent: base_config_1.TYPE_VALUE, + MediaStreamTrackEventMap: base_config_1.TYPE, + MediaStreamTrack: base_config_1.TYPE_VALUE, + MediaStreamTrackAudioSourceNode: base_config_1.TYPE_VALUE, + MediaStreamTrackEvent: base_config_1.TYPE_VALUE, + MessageChannel: base_config_1.TYPE_VALUE, + MessageEvent: base_config_1.TYPE_VALUE, + MessagePortEventMap: base_config_1.TYPE, + MessagePort: base_config_1.TYPE_VALUE, + MimeType: base_config_1.TYPE_VALUE, + MimeTypeArray: base_config_1.TYPE_VALUE, + MouseEvent: base_config_1.TYPE_VALUE, + MutationEvent: base_config_1.TYPE_VALUE, + MutationObserver: base_config_1.TYPE_VALUE, + MutationRecord: base_config_1.TYPE_VALUE, + NamedNodeMap: base_config_1.TYPE_VALUE, + NavigationPreloadManager: base_config_1.TYPE_VALUE, + Navigator: base_config_1.TYPE_VALUE, + NavigatorAutomationInformation: base_config_1.TYPE, + NavigatorBeacon: base_config_1.TYPE, + NavigatorConcurrentHardware: base_config_1.TYPE, + NavigatorContentUtils: base_config_1.TYPE, + NavigatorCookies: base_config_1.TYPE, + NavigatorID: base_config_1.TYPE, + NavigatorLanguage: base_config_1.TYPE, + NavigatorOnLine: base_config_1.TYPE, + NavigatorPlugins: base_config_1.TYPE, + NavigatorStorage: base_config_1.TYPE, + Node: base_config_1.TYPE_VALUE, + NodeFilter: base_config_1.TYPE_VALUE, + NodeIterator: base_config_1.TYPE_VALUE, + NodeList: base_config_1.TYPE_VALUE, + NodeListOf: base_config_1.TYPE, + NonDocumentTypeChildNode: base_config_1.TYPE, + NonElementParentNode: base_config_1.TYPE, + NotificationEventMap: base_config_1.TYPE, + Notification: base_config_1.TYPE_VALUE, + OES_element_index_uint: base_config_1.TYPE, + OES_standard_derivatives: base_config_1.TYPE, + OES_texture_float: base_config_1.TYPE, + OES_texture_float_linear: base_config_1.TYPE, + OES_texture_half_float: base_config_1.TYPE, + OES_texture_half_float_linear: base_config_1.TYPE, + OES_vertex_array_object: base_config_1.TYPE, + OfflineAudioCompletionEvent: base_config_1.TYPE_VALUE, + OfflineAudioContextEventMap: base_config_1.TYPE, + OfflineAudioContext: base_config_1.TYPE_VALUE, + OffscreenCanvas: base_config_1.TYPE_VALUE, + OffscreenCanvasRenderingContext2D: base_config_1.TYPE_VALUE, + OscillatorNode: base_config_1.TYPE_VALUE, + OverconstrainedError: base_config_1.TYPE_VALUE, + OverflowEvent: base_config_1.TYPE_VALUE, + PageTransitionEvent: base_config_1.TYPE_VALUE, + PannerNode: base_config_1.TYPE_VALUE, + ParentNode: base_config_1.TYPE, + Path2D: base_config_1.TYPE_VALUE, + PaymentAddress: base_config_1.TYPE_VALUE, + PaymentMethodChangeEvent: base_config_1.TYPE_VALUE, + PaymentRequestEventMap: base_config_1.TYPE, + PaymentRequest: base_config_1.TYPE_VALUE, + PaymentRequestUpdateEvent: base_config_1.TYPE_VALUE, + PaymentResponseEventMap: base_config_1.TYPE, + PaymentResponse: base_config_1.TYPE_VALUE, + PerfWidgetExternal: base_config_1.TYPE_VALUE, + PerformanceEventMap: base_config_1.TYPE, + Performance: base_config_1.TYPE_VALUE, + PerformanceEntry: base_config_1.TYPE_VALUE, + PerformanceMark: base_config_1.TYPE_VALUE, + PerformanceMeasure: base_config_1.TYPE_VALUE, + PerformanceNavigation: base_config_1.TYPE_VALUE, + PerformanceNavigationTiming: base_config_1.TYPE_VALUE, + PerformanceObserver: base_config_1.TYPE_VALUE, + PerformanceObserverEntryList: base_config_1.TYPE_VALUE, + PerformanceResourceTiming: base_config_1.TYPE_VALUE, + PerformanceTiming: base_config_1.TYPE_VALUE, + PeriodicWave: base_config_1.TYPE_VALUE, + PermissionRequest: base_config_1.TYPE_VALUE, + PermissionRequestedEvent: base_config_1.TYPE_VALUE, + PermissionStatusEventMap: base_config_1.TYPE, + PermissionStatus: base_config_1.TYPE_VALUE, + Permissions: base_config_1.TYPE_VALUE, + Plugin: base_config_1.TYPE_VALUE, + PluginArray: base_config_1.TYPE_VALUE, + PointerEvent: base_config_1.TYPE_VALUE, + PopStateEvent: base_config_1.TYPE_VALUE, + ProcessingInstruction: base_config_1.TYPE_VALUE, + ProgressEvent: base_config_1.TYPE_VALUE, + PromiseRejectionEvent: base_config_1.TYPE_VALUE, + PublicKeyCredential: base_config_1.TYPE_VALUE, + PushManager: base_config_1.TYPE_VALUE, + PushSubscription: base_config_1.TYPE_VALUE, + PushSubscriptionOptions: base_config_1.TYPE_VALUE, + RTCCertificate: base_config_1.TYPE_VALUE, + RTCDTMFSenderEventMap: base_config_1.TYPE, + RTCDTMFSender: base_config_1.TYPE_VALUE, + RTCDTMFToneChangeEvent: base_config_1.TYPE_VALUE, + RTCDataChannelEventMap: base_config_1.TYPE, + RTCDataChannel: base_config_1.TYPE_VALUE, + RTCDataChannelEvent: base_config_1.TYPE_VALUE, + RTCDtlsTransportEventMap: base_config_1.TYPE, + RTCDtlsTransport: base_config_1.TYPE_VALUE, + RTCDtlsTransportStateChangedEvent: base_config_1.TYPE_VALUE, + RTCDtmfSenderEventMap: base_config_1.TYPE, + RTCDtmfSender: base_config_1.TYPE_VALUE, + RTCError: base_config_1.TYPE_VALUE, + RTCErrorEvent: base_config_1.TYPE_VALUE, + RTCIceCandidate: base_config_1.TYPE_VALUE, + RTCIceCandidatePairChangedEvent: base_config_1.TYPE_VALUE, + RTCIceGathererEventMap: base_config_1.TYPE, + RTCIceGatherer: base_config_1.TYPE_VALUE, + RTCIceGathererEvent: base_config_1.TYPE_VALUE, + RTCIceTransportEventMap: base_config_1.TYPE, + RTCIceTransport: base_config_1.TYPE_VALUE, + RTCIceTransportStateChangedEvent: base_config_1.TYPE_VALUE, + RTCIdentityAssertion: base_config_1.TYPE_VALUE, + RTCPeerConnectionEventMap: base_config_1.TYPE, + RTCPeerConnection: base_config_1.TYPE_VALUE, + RTCPeerConnectionIceErrorEvent: base_config_1.TYPE_VALUE, + RTCPeerConnectionIceEvent: base_config_1.TYPE_VALUE, + RTCRtpReceiver: base_config_1.TYPE_VALUE, + RTCRtpSender: base_config_1.TYPE_VALUE, + RTCRtpTransceiver: base_config_1.TYPE_VALUE, + RTCSctpTransportEventMap: base_config_1.TYPE, + RTCSctpTransport: base_config_1.TYPE_VALUE, + RTCSessionDescription: base_config_1.TYPE_VALUE, + RTCSrtpSdesTransportEventMap: base_config_1.TYPE, + RTCSrtpSdesTransport: base_config_1.TYPE_VALUE, + RTCSsrcConflictEvent: base_config_1.TYPE_VALUE, + RTCStatsProvider: base_config_1.TYPE_VALUE, + RTCTrackEvent: base_config_1.TYPE_VALUE, + RadioNodeList: base_config_1.TYPE_VALUE, + RandomSource: base_config_1.TYPE_VALUE, + Range: base_config_1.TYPE_VALUE, + ReadableStream: base_config_1.TYPE_VALUE, + ReadableStreamDefaultController: base_config_1.TYPE_VALUE, + ReadableStreamDefaultReader: base_config_1.TYPE_VALUE, + ReadableStreamGenericReader: base_config_1.TYPE, + Request: base_config_1.TYPE_VALUE, + ResizeObserver: base_config_1.TYPE_VALUE, + ResizeObserverEntry: base_config_1.TYPE_VALUE, + ResizeObserverSize: base_config_1.TYPE_VALUE, + Response: base_config_1.TYPE_VALUE, + SVGAElement: base_config_1.TYPE_VALUE, + SVGAngle: base_config_1.TYPE_VALUE, + SVGAnimateElement: base_config_1.TYPE_VALUE, + SVGAnimateMotionElement: base_config_1.TYPE_VALUE, + SVGAnimateTransformElement: base_config_1.TYPE_VALUE, + SVGAnimatedAngle: base_config_1.TYPE_VALUE, + SVGAnimatedBoolean: base_config_1.TYPE_VALUE, + SVGAnimatedEnumeration: base_config_1.TYPE_VALUE, + SVGAnimatedInteger: base_config_1.TYPE_VALUE, + SVGAnimatedLength: base_config_1.TYPE_VALUE, + SVGAnimatedLengthList: base_config_1.TYPE_VALUE, + SVGAnimatedNumber: base_config_1.TYPE_VALUE, + SVGAnimatedNumberList: base_config_1.TYPE_VALUE, + SVGAnimatedPoints: base_config_1.TYPE, + SVGAnimatedPreserveAspectRatio: base_config_1.TYPE_VALUE, + SVGAnimatedRect: base_config_1.TYPE_VALUE, + SVGAnimatedString: base_config_1.TYPE_VALUE, + SVGAnimatedTransformList: base_config_1.TYPE_VALUE, + SVGAnimationElement: base_config_1.TYPE_VALUE, + SVGCircleElement: base_config_1.TYPE_VALUE, + SVGClipPathElement: base_config_1.TYPE_VALUE, + SVGComponentTransferFunctionElement: base_config_1.TYPE_VALUE, + SVGCursorElement: base_config_1.TYPE_VALUE, + SVGDefsElement: base_config_1.TYPE_VALUE, + SVGDescElement: base_config_1.TYPE_VALUE, + SVGElementEventMap: base_config_1.TYPE, + SVGElement: base_config_1.TYPE_VALUE, + SVGElementInstance: base_config_1.TYPE_VALUE, + SVGElementInstanceList: base_config_1.TYPE_VALUE, + SVGEllipseElement: base_config_1.TYPE_VALUE, + SVGFEBlendElement: base_config_1.TYPE_VALUE, + SVGFEColorMatrixElement: base_config_1.TYPE_VALUE, + SVGFEComponentTransferElement: base_config_1.TYPE_VALUE, + SVGFECompositeElement: base_config_1.TYPE_VALUE, + SVGFEConvolveMatrixElement: base_config_1.TYPE_VALUE, + SVGFEDiffuseLightingElement: base_config_1.TYPE_VALUE, + SVGFEDisplacementMapElement: base_config_1.TYPE_VALUE, + SVGFEDistantLightElement: base_config_1.TYPE_VALUE, + SVGFEDropShadowElement: base_config_1.TYPE_VALUE, + SVGFEFloodElement: base_config_1.TYPE_VALUE, + SVGFEFuncAElement: base_config_1.TYPE_VALUE, + SVGFEFuncBElement: base_config_1.TYPE_VALUE, + SVGFEFuncGElement: base_config_1.TYPE_VALUE, + SVGFEFuncRElement: base_config_1.TYPE_VALUE, + SVGFEGaussianBlurElement: base_config_1.TYPE_VALUE, + SVGFEImageElement: base_config_1.TYPE_VALUE, + SVGFEMergeElement: base_config_1.TYPE_VALUE, + SVGFEMergeNodeElement: base_config_1.TYPE_VALUE, + SVGFEMorphologyElement: base_config_1.TYPE_VALUE, + SVGFEOffsetElement: base_config_1.TYPE_VALUE, + SVGFEPointLightElement: base_config_1.TYPE_VALUE, + SVGFESpecularLightingElement: base_config_1.TYPE_VALUE, + SVGFESpotLightElement: base_config_1.TYPE_VALUE, + SVGFETileElement: base_config_1.TYPE_VALUE, + SVGFETurbulenceElement: base_config_1.TYPE_VALUE, + SVGFilterElement: base_config_1.TYPE_VALUE, + SVGFilterPrimitiveStandardAttributes: base_config_1.TYPE, + SVGFitToViewBox: base_config_1.TYPE, + SVGForeignObjectElement: base_config_1.TYPE_VALUE, + SVGGElement: base_config_1.TYPE_VALUE, + SVGGeometryElement: base_config_1.TYPE_VALUE, + SVGGradientElement: base_config_1.TYPE_VALUE, + SVGGraphicsElement: base_config_1.TYPE_VALUE, + SVGImageElement: base_config_1.TYPE_VALUE, + SVGLength: base_config_1.TYPE_VALUE, + SVGLengthList: base_config_1.TYPE_VALUE, + SVGLineElement: base_config_1.TYPE_VALUE, + SVGLinearGradientElement: base_config_1.TYPE_VALUE, + SVGMarkerElement: base_config_1.TYPE_VALUE, + SVGMaskElement: base_config_1.TYPE_VALUE, + SVGMetadataElement: base_config_1.TYPE_VALUE, + SVGNumber: base_config_1.TYPE_VALUE, + SVGNumberList: base_config_1.TYPE_VALUE, + SVGPathElement: base_config_1.TYPE_VALUE, + SVGPathSeg: base_config_1.TYPE_VALUE, + SVGPathSegArcAbs: base_config_1.TYPE_VALUE, + SVGPathSegArcRel: base_config_1.TYPE_VALUE, + SVGPathSegClosePath: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoCubicAbs: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoCubicRel: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoCubicSmoothAbs: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoCubicSmoothRel: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoQuadraticAbs: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoQuadraticRel: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoQuadraticSmoothAbs: base_config_1.TYPE_VALUE, + SVGPathSegCurvetoQuadraticSmoothRel: base_config_1.TYPE_VALUE, + SVGPathSegLinetoAbs: base_config_1.TYPE_VALUE, + SVGPathSegLinetoHorizontalAbs: base_config_1.TYPE_VALUE, + SVGPathSegLinetoHorizontalRel: base_config_1.TYPE_VALUE, + SVGPathSegLinetoRel: base_config_1.TYPE_VALUE, + SVGPathSegLinetoVerticalAbs: base_config_1.TYPE_VALUE, + SVGPathSegLinetoVerticalRel: base_config_1.TYPE_VALUE, + SVGPathSegList: base_config_1.TYPE_VALUE, + SVGPathSegMovetoAbs: base_config_1.TYPE_VALUE, + SVGPathSegMovetoRel: base_config_1.TYPE_VALUE, + SVGPatternElement: base_config_1.TYPE_VALUE, + SVGPointList: base_config_1.TYPE_VALUE, + SVGPolygonElement: base_config_1.TYPE_VALUE, + SVGPolylineElement: base_config_1.TYPE_VALUE, + SVGPreserveAspectRatio: base_config_1.TYPE_VALUE, + SVGRadialGradientElement: base_config_1.TYPE_VALUE, + SVGRectElement: base_config_1.TYPE_VALUE, + SVGSVGElementEventMap: base_config_1.TYPE, + SVGSVGElement: base_config_1.TYPE_VALUE, + SVGScriptElement: base_config_1.TYPE_VALUE, + SVGStopElement: base_config_1.TYPE_VALUE, + SVGStringList: base_config_1.TYPE_VALUE, + SVGStyleElement: base_config_1.TYPE_VALUE, + SVGSwitchElement: base_config_1.TYPE_VALUE, + SVGSymbolElement: base_config_1.TYPE_VALUE, + SVGTSpanElement: base_config_1.TYPE_VALUE, + SVGTests: base_config_1.TYPE, + SVGTextContentElement: base_config_1.TYPE_VALUE, + SVGTextElement: base_config_1.TYPE_VALUE, + SVGTextPathElement: base_config_1.TYPE_VALUE, + SVGTextPositioningElement: base_config_1.TYPE_VALUE, + SVGTitleElement: base_config_1.TYPE_VALUE, + SVGTransform: base_config_1.TYPE_VALUE, + SVGTransformList: base_config_1.TYPE_VALUE, + SVGURIReference: base_config_1.TYPE, + SVGUnitTypes: base_config_1.TYPE_VALUE, + SVGUseElement: base_config_1.TYPE_VALUE, + SVGViewElement: base_config_1.TYPE_VALUE, + SVGZoomAndPan: base_config_1.TYPE, + SVGZoomEvent: base_config_1.TYPE_VALUE, + Screen: base_config_1.TYPE_VALUE, + ScreenOrientationEventMap: base_config_1.TYPE, + ScreenOrientation: base_config_1.TYPE_VALUE, + ScriptProcessorNodeEventMap: base_config_1.TYPE, + ScriptProcessorNode: base_config_1.TYPE_VALUE, + SecurityPolicyViolationEvent: base_config_1.TYPE_VALUE, + Selection: base_config_1.TYPE_VALUE, + ServiceUIFrameContext: base_config_1.TYPE_VALUE, + ServiceWorkerEventMap: base_config_1.TYPE, + ServiceWorker: base_config_1.TYPE_VALUE, + ServiceWorkerContainerEventMap: base_config_1.TYPE, + ServiceWorkerContainer: base_config_1.TYPE_VALUE, + ServiceWorkerRegistrationEventMap: base_config_1.TYPE, + ServiceWorkerRegistration: base_config_1.TYPE_VALUE, + ShadowRoot: base_config_1.TYPE_VALUE, + SharedWorker: base_config_1.TYPE_VALUE, + Slottable: base_config_1.TYPE, + SourceBufferEventMap: base_config_1.TYPE, + SourceBuffer: base_config_1.TYPE_VALUE, + SourceBufferListEventMap: base_config_1.TYPE, + SourceBufferList: base_config_1.TYPE_VALUE, + SpeechGrammar: base_config_1.TYPE_VALUE, + SpeechGrammarList: base_config_1.TYPE_VALUE, + SpeechRecognitionEventMap: base_config_1.TYPE, + SpeechRecognition: base_config_1.TYPE_VALUE, + SpeechRecognitionAlternative: base_config_1.TYPE_VALUE, + SpeechRecognitionErrorEvent: base_config_1.TYPE_VALUE, + SpeechRecognitionEvent: base_config_1.TYPE_VALUE, + SpeechRecognitionResult: base_config_1.TYPE_VALUE, + SpeechRecognitionResultList: base_config_1.TYPE_VALUE, + SpeechSynthesisEventMap: base_config_1.TYPE, + SpeechSynthesis: base_config_1.TYPE_VALUE, + SpeechSynthesisErrorEvent: base_config_1.TYPE_VALUE, + SpeechSynthesisEvent: base_config_1.TYPE_VALUE, + SpeechSynthesisUtteranceEventMap: base_config_1.TYPE, + SpeechSynthesisUtterance: base_config_1.TYPE_VALUE, + SpeechSynthesisVoice: base_config_1.TYPE_VALUE, + StaticRange: base_config_1.TYPE_VALUE, + StereoPannerNode: base_config_1.TYPE_VALUE, + Storage: base_config_1.TYPE_VALUE, + StorageEvent: base_config_1.TYPE_VALUE, + StorageManager: base_config_1.TYPE_VALUE, + StyleMedia: base_config_1.TYPE_VALUE, + StyleSheet: base_config_1.TYPE_VALUE, + StyleSheetList: base_config_1.TYPE_VALUE, + SubtleCrypto: base_config_1.TYPE_VALUE, + SyncManager: base_config_1.TYPE_VALUE, + Text: base_config_1.TYPE_VALUE, + TextDecoder: base_config_1.TYPE_VALUE, + TextDecoderCommon: base_config_1.TYPE, + TextDecoderStream: base_config_1.TYPE_VALUE, + TextEncoder: base_config_1.TYPE_VALUE, + TextEncoderCommon: base_config_1.TYPE, + TextEncoderStream: base_config_1.TYPE_VALUE, + TextEvent: base_config_1.TYPE_VALUE, + TextMetrics: base_config_1.TYPE_VALUE, + TextTrackEventMap: base_config_1.TYPE, + TextTrack: base_config_1.TYPE_VALUE, + TextTrackCueEventMap: base_config_1.TYPE, + TextTrackCue: base_config_1.TYPE_VALUE, + TextTrackCueList: base_config_1.TYPE_VALUE, + TextTrackListEventMap: base_config_1.TYPE, + TextTrackList: base_config_1.TYPE_VALUE, + TimeRanges: base_config_1.TYPE_VALUE, + Touch: base_config_1.TYPE_VALUE, + TouchEvent: base_config_1.TYPE_VALUE, + TouchList: base_config_1.TYPE_VALUE, + TrackEvent: base_config_1.TYPE_VALUE, + TransformStream: base_config_1.TYPE_VALUE, + TransformStreamDefaultController: base_config_1.TYPE_VALUE, + TransitionEvent: base_config_1.TYPE_VALUE, + TreeWalker: base_config_1.TYPE_VALUE, + UIEvent: base_config_1.TYPE_VALUE, + URL: base_config_1.TYPE_VALUE, + webkitURL: base_config_1.TYPE_VALUE, + URLSearchParams: base_config_1.TYPE_VALUE, + VRDisplay: base_config_1.TYPE_VALUE, + VRDisplayCapabilities: base_config_1.TYPE_VALUE, + VRDisplayEvent: base_config_1.TYPE_VALUE, + VREyeParameters: base_config_1.TYPE_VALUE, + VRFieldOfView: base_config_1.TYPE_VALUE, + VRFrameData: base_config_1.TYPE_VALUE, + VRPose: base_config_1.TYPE_VALUE, + VTTCue: base_config_1.TYPE_VALUE, + VTTRegion: base_config_1.TYPE_VALUE, + ValidityState: base_config_1.TYPE_VALUE, + VideoPlaybackQuality: base_config_1.TYPE_VALUE, + VisualViewportEventMap: base_config_1.TYPE, + VisualViewport: base_config_1.TYPE_VALUE, + WEBGL_color_buffer_float: base_config_1.TYPE, + WEBGL_compressed_texture_astc: base_config_1.TYPE, + WEBGL_compressed_texture_s3tc: base_config_1.TYPE, + WEBGL_compressed_texture_s3tc_srgb: base_config_1.TYPE, + WEBGL_debug_renderer_info: base_config_1.TYPE, + WEBGL_debug_shaders: base_config_1.TYPE, + WEBGL_depth_texture: base_config_1.TYPE, + WEBGL_draw_buffers: base_config_1.TYPE, + WEBGL_lose_context: base_config_1.TYPE, + WaveShaperNode: base_config_1.TYPE_VALUE, + WebGL2RenderingContext: base_config_1.TYPE_VALUE, + WebGL2RenderingContextBase: base_config_1.TYPE, + WebGL2RenderingContextOverloads: base_config_1.TYPE, + WebGLActiveInfo: base_config_1.TYPE_VALUE, + WebGLBuffer: base_config_1.TYPE_VALUE, + WebGLContextEvent: base_config_1.TYPE_VALUE, + WebGLFramebuffer: base_config_1.TYPE_VALUE, + WebGLProgram: base_config_1.TYPE_VALUE, + WebGLQuery: base_config_1.TYPE_VALUE, + WebGLRenderbuffer: base_config_1.TYPE_VALUE, + WebGLRenderingContext: base_config_1.TYPE_VALUE, + WebGLRenderingContextBase: base_config_1.TYPE, + WebGLRenderingContextOverloads: base_config_1.TYPE, + WebGLSampler: base_config_1.TYPE_VALUE, + WebGLShader: base_config_1.TYPE_VALUE, + WebGLShaderPrecisionFormat: base_config_1.TYPE_VALUE, + WebGLSync: base_config_1.TYPE_VALUE, + WebGLTexture: base_config_1.TYPE_VALUE, + WebGLTransformFeedback: base_config_1.TYPE_VALUE, + WebGLUniformLocation: base_config_1.TYPE_VALUE, + WebGLVertexArrayObject: base_config_1.TYPE_VALUE, + WebGLVertexArrayObjectOES: base_config_1.TYPE, + WebKitPoint: base_config_1.TYPE_VALUE, + WebSocketEventMap: base_config_1.TYPE, + WebSocket: base_config_1.TYPE_VALUE, + WheelEvent: base_config_1.TYPE_VALUE, + WindowEventMap: base_config_1.TYPE, + Window: base_config_1.TYPE_VALUE, + WindowEventHandlersEventMap: base_config_1.TYPE, + WindowEventHandlers: base_config_1.TYPE, + WindowLocalStorage: base_config_1.TYPE, + WindowOrWorkerGlobalScope: base_config_1.TYPE, + WindowSessionStorage: base_config_1.TYPE, + WorkerEventMap: base_config_1.TYPE, + Worker: base_config_1.TYPE_VALUE, + Worklet: base_config_1.TYPE_VALUE, + WritableStream: base_config_1.TYPE_VALUE, + WritableStreamDefaultController: base_config_1.TYPE_VALUE, + WritableStreamDefaultWriter: base_config_1.TYPE_VALUE, + XMLDocument: base_config_1.TYPE_VALUE, + XMLHttpRequestEventMap: base_config_1.TYPE, + XMLHttpRequest: base_config_1.TYPE_VALUE, + XMLHttpRequestEventTargetEventMap: base_config_1.TYPE, + XMLHttpRequestEventTarget: base_config_1.TYPE_VALUE, + XMLHttpRequestUpload: base_config_1.TYPE_VALUE, + XMLSerializer: base_config_1.TYPE_VALUE, + XPathEvaluator: base_config_1.TYPE_VALUE, + XPathEvaluatorBase: base_config_1.TYPE, + XPathExpression: base_config_1.TYPE_VALUE, + XPathResult: base_config_1.TYPE_VALUE, + XSLTProcessor: base_config_1.TYPE_VALUE, + webkitRTCPeerConnection: base_config_1.TYPE_VALUE, + EventListenerOrEventListenerObject: base_config_1.TYPE, + Console: base_config_1.TYPE, + CSS: base_config_1.TYPE_VALUE, + WebAssembly: base_config_1.TYPE_VALUE, + BlobCallback: base_config_1.TYPE, + CustomElementConstructor: base_config_1.TYPE, + DecodeErrorCallback: base_config_1.TYPE, + DecodeSuccessCallback: base_config_1.TYPE, + EventHandlerNonNull: base_config_1.TYPE, + ForEachCallback: base_config_1.TYPE, + FrameRequestCallback: base_config_1.TYPE, + FunctionStringCallback: base_config_1.TYPE, + IntersectionObserverCallback: base_config_1.TYPE, + MSLaunchUriCallback: base_config_1.TYPE, + MutationCallback: base_config_1.TYPE, + NavigatorUserMediaErrorCallback: base_config_1.TYPE, + NavigatorUserMediaSuccessCallback: base_config_1.TYPE, + NotificationPermissionCallback: base_config_1.TYPE, + OnBeforeUnloadEventHandlerNonNull: base_config_1.TYPE, + OnErrorEventHandlerNonNull: base_config_1.TYPE, + PerformanceObserverCallback: base_config_1.TYPE, + PositionCallback: base_config_1.TYPE, + PositionErrorCallback: base_config_1.TYPE, + QueuingStrategySize: base_config_1.TYPE, + RTCPeerConnectionErrorCallback: base_config_1.TYPE, + RTCSessionDescriptionCallback: base_config_1.TYPE, + RTCStatsCallback: base_config_1.TYPE, + ResizeObserverCallback: base_config_1.TYPE, + TransformerFlushCallback: base_config_1.TYPE, + TransformerStartCallback: base_config_1.TYPE, + TransformerTransformCallback: base_config_1.TYPE, + UnderlyingSinkAbortCallback: base_config_1.TYPE, + UnderlyingSinkCloseCallback: base_config_1.TYPE, + UnderlyingSinkStartCallback: base_config_1.TYPE, + UnderlyingSinkWriteCallback: base_config_1.TYPE, + UnderlyingSourceCancelCallback: base_config_1.TYPE, + UnderlyingSourcePullCallback: base_config_1.TYPE, + UnderlyingSourceStartCallback: base_config_1.TYPE, + VoidFunction: base_config_1.TYPE, + HTMLElementTagNameMap: base_config_1.TYPE, + HTMLElementDeprecatedTagNameMap: base_config_1.TYPE, + SVGElementTagNameMap: base_config_1.TYPE, + ElementTagNameMap: base_config_1.TYPE, + HeadersInit: base_config_1.TYPE, + BodyInit: base_config_1.TYPE, + RequestInfo: base_config_1.TYPE, + BlobPart: base_config_1.TYPE, + DOMHighResTimeStamp: base_config_1.TYPE, + RenderingContext: base_config_1.TYPE, + HTMLOrSVGImageElement: base_config_1.TYPE, + CanvasImageSource: base_config_1.TYPE, + OffscreenRenderingContext: base_config_1.TYPE, + MessageEventSource: base_config_1.TYPE, + HTMLOrSVGScriptElement: base_config_1.TYPE, + ImageBitmapSource: base_config_1.TYPE, + MediaProvider: base_config_1.TYPE, + OnErrorEventHandler: base_config_1.TYPE, + OnBeforeUnloadEventHandler: base_config_1.TYPE, + TimerHandler: base_config_1.TYPE, + ConstrainULong: base_config_1.TYPE, + ConstrainDouble: base_config_1.TYPE, + ConstrainBoolean: base_config_1.TYPE, + ConstrainDOMString: base_config_1.TYPE, + PerformanceEntryList: base_config_1.TYPE, + ReadableStreamReader: base_config_1.TYPE, + ReadableStreamController: base_config_1.TYPE, + VibratePattern: base_config_1.TYPE, + COSEAlgorithmIdentifier: base_config_1.TYPE, + UvmEntry: base_config_1.TYPE, + UvmEntries: base_config_1.TYPE, + AlgorithmIdentifier: base_config_1.TYPE, + HashAlgorithmIdentifier: base_config_1.TYPE, + BigInteger: base_config_1.TYPE, + NamedCurve: base_config_1.TYPE, + GLenum: base_config_1.TYPE, + GLboolean: base_config_1.TYPE, + GLbitfield: base_config_1.TYPE, + GLint: base_config_1.TYPE, + GLsizei: base_config_1.TYPE, + GLintptr: base_config_1.TYPE, + GLsizeiptr: base_config_1.TYPE, + GLuint: base_config_1.TYPE, + GLfloat: base_config_1.TYPE, + GLclampf: base_config_1.TYPE, + TexImageSource: base_config_1.TYPE, + Float32List: base_config_1.TYPE, + Int32List: base_config_1.TYPE, + GLint64: base_config_1.TYPE, + GLuint64: base_config_1.TYPE, + Uint32List: base_config_1.TYPE, + BufferSource: base_config_1.TYPE, + DOMTimeStamp: base_config_1.TYPE, + LineAndPositionSetting: base_config_1.TYPE, + FormDataEntryValue: base_config_1.TYPE, + InsertPosition: base_config_1.TYPE, + IDBValidKey: base_config_1.TYPE, + MutationRecordType: base_config_1.TYPE, + IDBKeyPath: base_config_1.TYPE, + Transferable: base_config_1.TYPE, + RTCIceGatherCandidate: base_config_1.TYPE, + RTCTransport: base_config_1.TYPE, + MouseWheelEvent: base_config_1.TYPE, + WindowProxy: base_config_1.TYPE, + ReadableStreamDefaultReadResult: base_config_1.TYPE, + AlignSetting: base_config_1.TYPE, + AnimationPlayState: base_config_1.TYPE, + AppendMode: base_config_1.TYPE, + AttestationConveyancePreference: base_config_1.TYPE, + AudioContextLatencyCategory: base_config_1.TYPE, + AudioContextState: base_config_1.TYPE, + AuthenticatorAttachment: base_config_1.TYPE, + AuthenticatorTransport: base_config_1.TYPE, + AutoKeyword: base_config_1.TYPE, + AutomationRate: base_config_1.TYPE, + BinaryType: base_config_1.TYPE, + BiquadFilterType: base_config_1.TYPE, + CanPlayTypeResult: base_config_1.TYPE, + CanvasDirection: base_config_1.TYPE, + CanvasFillRule: base_config_1.TYPE, + CanvasLineCap: base_config_1.TYPE, + CanvasLineJoin: base_config_1.TYPE, + CanvasTextAlign: base_config_1.TYPE, + CanvasTextBaseline: base_config_1.TYPE, + ChannelCountMode: base_config_1.TYPE, + ChannelInterpretation: base_config_1.TYPE, + ClientTypes: base_config_1.TYPE, + ColorSpaceConversion: base_config_1.TYPE, + CompositeOperation: base_config_1.TYPE, + CompositeOperationOrAuto: base_config_1.TYPE, + CredentialMediationRequirement: base_config_1.TYPE, + DOMParserSupportedType: base_config_1.TYPE, + DirectionSetting: base_config_1.TYPE, + DisplayCaptureSurfaceType: base_config_1.TYPE, + DistanceModelType: base_config_1.TYPE, + DocumentReadyState: base_config_1.TYPE, + EndOfStreamError: base_config_1.TYPE, + EndingType: base_config_1.TYPE, + FillMode: base_config_1.TYPE, + FullscreenNavigationUI: base_config_1.TYPE, + GamepadHand: base_config_1.TYPE, + GamepadHapticActuatorType: base_config_1.TYPE, + GamepadMappingType: base_config_1.TYPE, + IDBCursorDirection: base_config_1.TYPE, + IDBRequestReadyState: base_config_1.TYPE, + IDBTransactionMode: base_config_1.TYPE, + ImageOrientation: base_config_1.TYPE, + ImageSmoothingQuality: base_config_1.TYPE, + IterationCompositeOperation: base_config_1.TYPE, + KeyFormat: base_config_1.TYPE, + KeyType: base_config_1.TYPE, + KeyUsage: base_config_1.TYPE, + LineAlignSetting: base_config_1.TYPE, + ListeningState: base_config_1.TYPE, + MSCredentialType: base_config_1.TYPE, + MSTransportType: base_config_1.TYPE, + MSWebViewPermissionState: base_config_1.TYPE, + MSWebViewPermissionType: base_config_1.TYPE, + MediaDeviceKind: base_config_1.TYPE, + MediaKeyMessageType: base_config_1.TYPE, + MediaKeySessionType: base_config_1.TYPE, + MediaKeyStatus: base_config_1.TYPE, + MediaKeysRequirement: base_config_1.TYPE, + MediaStreamTrackState: base_config_1.TYPE, + NavigationReason: base_config_1.TYPE, + NavigationType: base_config_1.TYPE, + NotificationDirection: base_config_1.TYPE, + NotificationPermission: base_config_1.TYPE, + OffscreenRenderingContextId: base_config_1.TYPE, + OrientationLockType: base_config_1.TYPE, + OrientationType: base_config_1.TYPE, + OscillatorType: base_config_1.TYPE, + OverSampleType: base_config_1.TYPE, + PanningModelType: base_config_1.TYPE, + PaymentComplete: base_config_1.TYPE, + PaymentShippingType: base_config_1.TYPE, + PermissionName: base_config_1.TYPE, + PermissionState: base_config_1.TYPE, + PlaybackDirection: base_config_1.TYPE, + PositionAlignSetting: base_config_1.TYPE, + PremultiplyAlpha: base_config_1.TYPE, + PublicKeyCredentialType: base_config_1.TYPE, + PushEncryptionKeyName: base_config_1.TYPE, + PushPermissionState: base_config_1.TYPE, + RTCBundlePolicy: base_config_1.TYPE, + RTCDataChannelState: base_config_1.TYPE, + RTCDtlsRole: base_config_1.TYPE, + RTCDtlsTransportState: base_config_1.TYPE, + RTCErrorDetailType: base_config_1.TYPE, + RTCIceCandidateType: base_config_1.TYPE, + RTCIceComponent: base_config_1.TYPE, + RTCIceConnectionState: base_config_1.TYPE, + RTCIceCredentialType: base_config_1.TYPE, + RTCIceGatherPolicy: base_config_1.TYPE, + RTCIceGathererState: base_config_1.TYPE, + RTCIceGatheringState: base_config_1.TYPE, + RTCIceProtocol: base_config_1.TYPE, + RTCIceRole: base_config_1.TYPE, + RTCIceTcpCandidateType: base_config_1.TYPE, + RTCIceTransportPolicy: base_config_1.TYPE, + RTCIceTransportState: base_config_1.TYPE, + RTCPeerConnectionState: base_config_1.TYPE, + RTCRtcpMuxPolicy: base_config_1.TYPE, + RTCRtpTransceiverDirection: base_config_1.TYPE, + RTCSctpTransportState: base_config_1.TYPE, + RTCSdpType: base_config_1.TYPE, + RTCSignalingState: base_config_1.TYPE, + RTCStatsIceCandidatePairState: base_config_1.TYPE, + RTCStatsIceCandidateType: base_config_1.TYPE, + RTCStatsType: base_config_1.TYPE, + ReadyState: base_config_1.TYPE, + ReferrerPolicy: base_config_1.TYPE, + RequestCache: base_config_1.TYPE, + RequestCredentials: base_config_1.TYPE, + RequestDestination: base_config_1.TYPE, + RequestMode: base_config_1.TYPE, + RequestRedirect: base_config_1.TYPE, + ResidentKeyRequirement: base_config_1.TYPE, + ResizeObserverBoxOptions: base_config_1.TYPE, + ResizeQuality: base_config_1.TYPE, + ResponseType: base_config_1.TYPE, + ScrollBehavior: base_config_1.TYPE, + ScrollLogicalPosition: base_config_1.TYPE, + ScrollRestoration: base_config_1.TYPE, + ScrollSetting: base_config_1.TYPE, + SelectionMode: base_config_1.TYPE, + ServiceWorkerState: base_config_1.TYPE, + ServiceWorkerUpdateViaCache: base_config_1.TYPE, + ShadowRootMode: base_config_1.TYPE, + SpeechRecognitionErrorCode: base_config_1.TYPE, + SpeechSynthesisErrorCode: base_config_1.TYPE, + TextTrackKind: base_config_1.TYPE, + TextTrackMode: base_config_1.TYPE, + TouchType: base_config_1.TYPE, + UserVerificationRequirement: base_config_1.TYPE, + VRDisplayEventReason: base_config_1.TYPE, + VideoFacingModeEnum: base_config_1.TYPE, + VisibilityState: base_config_1.TYPE, + WebGLPowerPreference: base_config_1.TYPE, + WorkerType: base_config_1.TYPE, + XMLHttpRequestResponseType: base_config_1.TYPE, }; //# sourceMappingURL=dom.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map index 147cdfb72..d0ad50bc3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map @@ -1 +1 @@ -{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/lib/dom.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/lib/dom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.d.ts.map index 88c3754f4..a03b42a92 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.collection.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,iBAAiB,4CA6DiB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.collection.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,iBAAiB,4CAWiB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js index cf4b8951e..98ae620c1 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js @@ -4,66 +4,17 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_collection = void 0; +const base_config_1 = require("./base-config"); exports.es2015_collection = { - Map: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Map', - }, - MapConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MapConstructor', - }, - ReadonlyMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyMap', - }, - WeakMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WeakMap', - }, - WeakMapConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakMapConstructor', - }, - Set: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Set', - }, - SetConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SetConstructor', - }, - ReadonlySet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlySet', - }, - WeakSet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WeakSet', - }, - WeakSetConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakSetConstructor', - }, + Map: base_config_1.TYPE_VALUE, + MapConstructor: base_config_1.TYPE, + ReadonlyMap: base_config_1.TYPE, + WeakMap: base_config_1.TYPE_VALUE, + WeakMapConstructor: base_config_1.TYPE, + Set: base_config_1.TYPE_VALUE, + SetConstructor: base_config_1.TYPE, + ReadonlySet: base_config_1.TYPE, + WeakSet: base_config_1.TYPE_VALUE, + WeakSetConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2015.collection.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js.map index 388b6d0e6..e3c3b5dc5 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.collection.js","sourceRoot":"","sources":["../../src/lib/es2015.collection.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE;QACH,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,KAAK;KACZ;IACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB;IACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB;IACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;IACD,GAAG,EAAE;QACH,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,KAAK;KACZ;IACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB;IACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB;IACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.collection.js","sourceRoot":"","sources":["../../src/lib/es2015.collection.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,wBAAU;IACf,cAAc,EAAE,kBAAI;IACpB,WAAW,EAAE,kBAAI;IACjB,OAAO,EAAE,wBAAU;IACnB,kBAAkB,EAAE,kBAAI;IACxB,GAAG,EAAE,wBAAU;IACf,cAAc,EAAE,kBAAI;IACpB,WAAW,EAAE,kBAAI;IACjB,OAAO,EAAE,wBAAU;IACnB,kBAAkB,EAAE,kBAAI;CACqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.d.ts.map index 5d53767e5..c9f8a64c2 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.core.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,WAAW,4CAyEuB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.core.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,WAAW,4CAauB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js index ce70b37c2..97adfda4a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js @@ -4,78 +4,19 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_core = void 0; +const base_config_1 = require("./base-config"); exports.es2015_core = { - Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, - ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayConstructor', - }, - DateConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DateConstructor', - }, - Function: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Function', - }, - Math: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Math', - }, - NumberConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NumberConstructor', - }, - ObjectConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ObjectConstructor', - }, - ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, - RegExp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExp', - }, - RegExpConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpConstructor', - }, - String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, - StringConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StringConstructor', - }, + Array: base_config_1.TYPE, + ArrayConstructor: base_config_1.TYPE, + DateConstructor: base_config_1.TYPE, + Function: base_config_1.TYPE, + Math: base_config_1.TYPE, + NumberConstructor: base_config_1.TYPE, + ObjectConstructor: base_config_1.TYPE, + ReadonlyArray: base_config_1.TYPE, + RegExp: base_config_1.TYPE, + RegExpConstructor: base_config_1.TYPE, + String: base_config_1.TYPE, + StringConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2015.core.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js.map index 76a05087f..6c9e9fb7f 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.core.js","sourceRoot":"","sources":["../../src/lib/es2015.core.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE;QACL,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,OAAO;KACd;IACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB;IACD,eAAe,EAAE;QACf,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,iBAAiB;KACxB;IACD,QAAQ,EAAE;QACR,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,UAAU;KACjB;IACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,MAAM;KACb;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB;IACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.core.js","sourceRoot":"","sources":["../../src/lib/es2015.core.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,kBAAI;IACX,gBAAgB,EAAE,kBAAI;IACtB,eAAe,EAAE,kBAAI;IACrB,QAAQ,EAAE,kBAAI;IACd,IAAI,EAAE,kBAAI;IACV,iBAAiB,EAAE,kBAAI;IACvB,iBAAiB,EAAE,kBAAI;IACvB,aAAa,EAAE,kBAAI;IACnB,MAAM,EAAE,kBAAI;IACZ,iBAAiB,EAAE,kBAAI;IACvB,MAAM,EAAE,kBAAI;IACZ,iBAAiB,EAAE,kBAAI;CACsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.d.ts.map index fdb649330..6169ed52a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.generator.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,gBAAgB,4CAoBkB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.generator.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,gBAAgB,4CAKkB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js index 5600c3347..90a6dd614 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js @@ -5,20 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_generator = void 0; const es2015_iterable_1 = require("./es2015.iterable"); -exports.es2015_generator = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { Generator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Generator', - }, GeneratorFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GeneratorFunction', - }, GeneratorFunctionConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GeneratorFunctionConstructor', - } }); +const base_config_1 = require("./base-config"); +exports.es2015_generator = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { Generator: base_config_1.TYPE, GeneratorFunction: base_config_1.TYPE, GeneratorFunctionConstructor: base_config_1.TYPE }); //# sourceMappingURL=es2015.generator.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js.map index 80048e13b..a63893c23 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.generator.js","sourceRoot":"","sources":["../../src/lib/es2015.generator.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AAEvC,QAAA,gBAAgB,GAAG,gCAC3B,iCAAe,KAClB,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,WAAW;KAClB,EACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,4BAA4B,EAAE;QAC5B,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,8BAA8B;KACrC,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.generator.js","sourceRoot":"","sources":["../../src/lib/es2015.generator.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AACpD,+CAAqC;AAExB,QAAA,gBAAgB,GAAG,gCAC3B,iCAAe,KAClB,SAAS,EAAE,kBAAI,EACf,iBAAiB,EAAE,kBAAI,EACvB,4BAA4B,EAAE,kBAAI,GACW,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.d.ts.map index 583cb28b4..cfce53694 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.iterable.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.iterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,eAAe,4CAoQmB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.iterable.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.iterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,eAAe,4CA4CmB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js index 28b02e905..1148558be 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js @@ -5,220 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_iterable = void 0; const es2015_symbol_1 = require("./es2015.symbol"); -exports.es2015_iterable = Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), { SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, IteratorYieldResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IteratorYieldResult', - }, IteratorReturnResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IteratorReturnResult', - }, IteratorResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IteratorResult', - }, Iterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Iterator', - }, Iterable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Iterable', - }, IterableIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IterableIterator', - }, Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayConstructor', - }, ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, IArguments: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IArguments', - }, Map: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Map', - }, ReadonlyMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyMap', - }, MapConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MapConstructor', - }, WeakMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakMap', - }, WeakMapConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakMapConstructor', - }, Set: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Set', - }, ReadonlySet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlySet', - }, SetConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SetConstructor', - }, WeakSet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakSet', - }, WeakSetConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakSetConstructor', - }, Promise: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Promise', - }, PromiseConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructor', - }, Reflect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Reflect', - }, String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, Int8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8Array', - }, Int8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8ArrayConstructor', - }, Uint8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8Array', - }, Uint8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ArrayConstructor', - }, Uint8ClampedArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArray', - }, Uint8ClampedArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArrayConstructor', - }, Int16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16Array', - }, Int16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16ArrayConstructor', - }, Uint16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16Array', - }, Uint16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16ArrayConstructor', - }, Int32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32Array', - }, Int32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32ArrayConstructor', - }, Uint32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32Array', - }, Uint32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32ArrayConstructor', - }, Float32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32Array', - }, Float32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32ArrayConstructor', - }, Float64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64Array', - }, Float64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64ArrayConstructor', - } }); +const base_config_1 = require("./base-config"); +exports.es2015_iterable = Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), { SymbolConstructor: base_config_1.TYPE, IteratorYieldResult: base_config_1.TYPE, IteratorReturnResult: base_config_1.TYPE, IteratorResult: base_config_1.TYPE, Iterator: base_config_1.TYPE, Iterable: base_config_1.TYPE, IterableIterator: base_config_1.TYPE, Array: base_config_1.TYPE, ArrayConstructor: base_config_1.TYPE, ReadonlyArray: base_config_1.TYPE, IArguments: base_config_1.TYPE, Map: base_config_1.TYPE, ReadonlyMap: base_config_1.TYPE, MapConstructor: base_config_1.TYPE, WeakMap: base_config_1.TYPE, WeakMapConstructor: base_config_1.TYPE, Set: base_config_1.TYPE, ReadonlySet: base_config_1.TYPE, SetConstructor: base_config_1.TYPE, WeakSet: base_config_1.TYPE, WeakSetConstructor: base_config_1.TYPE, Promise: base_config_1.TYPE, PromiseConstructor: base_config_1.TYPE, String: base_config_1.TYPE, Int8Array: base_config_1.TYPE, Int8ArrayConstructor: base_config_1.TYPE, Uint8Array: base_config_1.TYPE, Uint8ArrayConstructor: base_config_1.TYPE, Uint8ClampedArray: base_config_1.TYPE, Uint8ClampedArrayConstructor: base_config_1.TYPE, Int16Array: base_config_1.TYPE, Int16ArrayConstructor: base_config_1.TYPE, Uint16Array: base_config_1.TYPE, Uint16ArrayConstructor: base_config_1.TYPE, Int32Array: base_config_1.TYPE, Int32ArrayConstructor: base_config_1.TYPE, Uint32Array: base_config_1.TYPE, Uint32ArrayConstructor: base_config_1.TYPE, Float32Array: base_config_1.TYPE, Float32ArrayConstructor: base_config_1.TYPE, Float64Array: base_config_1.TYPE, Float64ArrayConstructor: base_config_1.TYPE }); //# sourceMappingURL=es2015.iterable.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js.map index a674421cd..e83701180 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.iterable.js","sourceRoot":"","sources":["../../src/lib/es2015.iterable.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"es2015.iterable.js","sourceRoot":"","sources":["../../src/lib/es2015.iterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,+CAAqC;AAExB,QAAA,eAAe,GAAG,gCAC1B,6BAAa,KAChB,iBAAiB,EAAE,kBAAI,EACvB,mBAAmB,EAAE,kBAAI,EACzB,oBAAoB,EAAE,kBAAI,EAC1B,cAAc,EAAE,kBAAI,EACpB,QAAQ,EAAE,kBAAI,EACd,QAAQ,EAAE,kBAAI,EACd,gBAAgB,EAAE,kBAAI,EACtB,KAAK,EAAE,kBAAI,EACX,gBAAgB,EAAE,kBAAI,EACtB,aAAa,EAAE,kBAAI,EACnB,UAAU,EAAE,kBAAI,EAChB,GAAG,EAAE,kBAAI,EACT,WAAW,EAAE,kBAAI,EACjB,cAAc,EAAE,kBAAI,EACpB,OAAO,EAAE,kBAAI,EACb,kBAAkB,EAAE,kBAAI,EACxB,GAAG,EAAE,kBAAI,EACT,WAAW,EAAE,kBAAI,EACjB,cAAc,EAAE,kBAAI,EACpB,OAAO,EAAE,kBAAI,EACb,kBAAkB,EAAE,kBAAI,EACxB,OAAO,EAAE,kBAAI,EACb,kBAAkB,EAAE,kBAAI,EACxB,MAAM,EAAE,kBAAI,EACZ,SAAS,EAAE,kBAAI,EACf,oBAAoB,EAAE,kBAAI,EAC1B,UAAU,EAAE,kBAAI,EAChB,qBAAqB,EAAE,kBAAI,EAC3B,iBAAiB,EAAE,kBAAI,EACvB,4BAA4B,EAAE,kBAAI,EAClC,UAAU,EAAE,kBAAI,EAChB,qBAAqB,EAAE,kBAAI,EAC3B,WAAW,EAAE,kBAAI,EACjB,sBAAsB,EAAE,kBAAI,EAC5B,UAAU,EAAE,kBAAI,EAChB,qBAAqB,EAAE,kBAAI,EAC3B,WAAW,EAAE,kBAAI,EACjB,sBAAsB,EAAE,kBAAI,EAC5B,YAAY,EAAE,kBAAI,EAClB,uBAAuB,EAAE,kBAAI,EAC7B,YAAY,EAAE,kBAAI,EAClB,uBAAuB,EAAE,kBAAI,GACgB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.d.ts.map index ed845312a..2cb7fd2cd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,cAAc,4CAOoB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAEoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js index ed607da82..7f97c425a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_promise = void 0; +const base_config_1 = require("./base-config"); exports.es2015_promise = { - PromiseConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructor', - }, + PromiseConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2015.promise.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js.map index d5f255ee2..cdbf5d6c5 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.promise.js","sourceRoot":"","sources":["../../src/lib/es2015.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.promise.js","sourceRoot":"","sources":["../../src/lib/es2015.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE,kBAAI;CACqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.d.ts.map index c93307e88..5c5407bd1 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.proxy.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,YAAY,4CAasB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.proxy.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,YAAY,4CAGsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js index f74d7315b..1c9031092 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js @@ -4,18 +4,9 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_proxy = void 0; +const base_config_1 = require("./base-config"); exports.es2015_proxy = { - ProxyHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ProxyHandler', - }, - ProxyConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ProxyConstructor', - }, + ProxyHandler: base_config_1.TYPE, + ProxyConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2015.proxy.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js.map index 4b8876aba..75b56937b 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.proxy.js","sourceRoot":"","sources":["../../src/lib/es2015.proxy.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE;QACZ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,cAAc;KACrB;IACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.proxy.js","sourceRoot":"","sources":["../../src/lib/es2015.proxy.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE,kBAAI;IAClB,gBAAgB,EAAE,kBAAI;CACuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.d.ts.map index 730708a28..b261478aa 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.reflect.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.reflect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,cAAc,4CAOoB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.reflect.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.reflect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAEoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js index d149f07c5..a74446085 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_reflect = void 0; +const base_config_1 = require("./base-config"); exports.es2015_reflect = { - Reflect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Reflect', - }, + Reflect: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es2015.reflect.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js.map index 770a7708b..80bdcbf65 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.reflect.js","sourceRoot":"","sources":["../../src/lib/es2015.reflect.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.reflect.js","sourceRoot":"","sources":["../../src/lib/es2015.reflect.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAA2C;AAE9B,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,wBAAU;CAC0B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.d.ts.map index e64431f0c..b12060e8d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js index e7a3fd43e..4fd96f61c 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_symbol = void 0; +const base_config_1 = require("./base-config"); exports.es2015_symbol = { - SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, + SymbolConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2015.symbol.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js.map index 97e8384d4..398063643 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.symbol.js","sourceRoot":"","sources":["../../src/lib/es2015.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.symbol.js","sourceRoot":"","sources":["../../src/lib/es2015.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,iBAAiB,EAAE,kBAAI;CACsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.d.ts.map index 4aa79bab3..b30e9df4f 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2015.symbol.wellknown.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.symbol.wellknown.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,uBAAuB,4CAkMW,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.symbol.wellknown.d.ts","sourceRoot":"","sources":["../../src/lib/es2015.symbol.wellknown.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,uBAAuB,4CAkCW,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js index 7c12d5f36..a8d055167 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js @@ -5,165 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2015_symbol_wellknown = void 0; const es2015_symbol_1 = require("./es2015.symbol"); -exports.es2015_symbol_wellknown = Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), { SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, Symbol: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Symbol', - }, Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, Date: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Date', - }, Map: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Map', - }, WeakMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakMap', - }, Set: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Set', - }, WeakSet: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WeakSet', - }, JSON: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'JSON', - }, Function: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Function', - }, GeneratorFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GeneratorFunction', - }, Math: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Math', - }, Promise: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Promise', - }, PromiseConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructor', - }, RegExp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExp', - }, RegExpConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpConstructor', - }, String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, ArrayBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBuffer', - }, DataView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DataView', - }, Int8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8Array', - }, Uint8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8Array', - }, Uint8ClampedArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArray', - }, Int16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16Array', - }, Uint16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16Array', - }, Int32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32Array', - }, Uint32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32Array', - }, Float32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32Array', - }, Float64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64Array', - }, ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayConstructor', - }, MapConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MapConstructor', - }, SetConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SetConstructor', - }, ArrayBufferConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferConstructor', - } }); +const base_config_1 = require("./base-config"); +exports.es2015_symbol_wellknown = Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), { SymbolConstructor: base_config_1.TYPE, Symbol: base_config_1.TYPE, Array: base_config_1.TYPE, Date: base_config_1.TYPE, Map: base_config_1.TYPE, WeakMap: base_config_1.TYPE, Set: base_config_1.TYPE, WeakSet: base_config_1.TYPE, JSON: base_config_1.TYPE, Function: base_config_1.TYPE, GeneratorFunction: base_config_1.TYPE, Math: base_config_1.TYPE, Promise: base_config_1.TYPE, PromiseConstructor: base_config_1.TYPE, RegExp: base_config_1.TYPE, RegExpConstructor: base_config_1.TYPE, String: base_config_1.TYPE, ArrayBuffer: base_config_1.TYPE, DataView: base_config_1.TYPE, Int8Array: base_config_1.TYPE, Uint8Array: base_config_1.TYPE, Uint8ClampedArray: base_config_1.TYPE, Int16Array: base_config_1.TYPE, Uint16Array: base_config_1.TYPE, Int32Array: base_config_1.TYPE, Uint32Array: base_config_1.TYPE, Float32Array: base_config_1.TYPE, Float64Array: base_config_1.TYPE, ArrayConstructor: base_config_1.TYPE, MapConstructor: base_config_1.TYPE, SetConstructor: base_config_1.TYPE, ArrayBufferConstructor: base_config_1.TYPE }); //# sourceMappingURL=es2015.symbol.wellknown.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js.map index 55f628c72..6682e831f 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js.map @@ -1 +1 @@ -{"version":3,"file":"es2015.symbol.wellknown.js","sourceRoot":"","sources":["../../src/lib/es2015.symbol.wellknown.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAEnC,QAAA,uBAAuB,GAAG,gCAClC,6BAAa,KAChB,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf,EACD,KAAK,EAAE;QACL,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,OAAO;KACd,EACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,MAAM;KACb,EACD,GAAG,EAAE;QACH,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,KAAK;KACZ,EACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,SAAS;KAChB,EACD,GAAG,EAAE;QACH,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,KAAK;KACZ,EACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,SAAS;KAChB,EACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,MAAM;KACb,EACD,QAAQ,EAAE;QACR,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,UAAU;KACjB,EACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,MAAM;KACb,EACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,SAAS;KAChB,EACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B,EACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf,EACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf,EACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB,EACD,QAAQ,EAAE;QACR,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,UAAU;KACjB,EACD,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,WAAW;KAClB,EACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB,EACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB,EACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB,EACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB,EACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB,EACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,cAAc;KACrB,EACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,cAAc;KACrB,EACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB,EACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB,EACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB,EACD,sBAAsB,EAAE;QACtB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,wBAAwB;KAC/B,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2015.symbol.wellknown.js","sourceRoot":"","sources":["../../src/lib/es2015.symbol.wellknown.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,+CAAqC;AAExB,QAAA,uBAAuB,GAAG,gCAClC,6BAAa,KAChB,iBAAiB,EAAE,kBAAI,EACvB,MAAM,EAAE,kBAAI,EACZ,KAAK,EAAE,kBAAI,EACX,IAAI,EAAE,kBAAI,EACV,GAAG,EAAE,kBAAI,EACT,OAAO,EAAE,kBAAI,EACb,GAAG,EAAE,kBAAI,EACT,OAAO,EAAE,kBAAI,EACb,IAAI,EAAE,kBAAI,EACV,QAAQ,EAAE,kBAAI,EACd,iBAAiB,EAAE,kBAAI,EACvB,IAAI,EAAE,kBAAI,EACV,OAAO,EAAE,kBAAI,EACb,kBAAkB,EAAE,kBAAI,EACxB,MAAM,EAAE,kBAAI,EACZ,iBAAiB,EAAE,kBAAI,EACvB,MAAM,EAAE,kBAAI,EACZ,WAAW,EAAE,kBAAI,EACjB,QAAQ,EAAE,kBAAI,EACd,SAAS,EAAE,kBAAI,EACf,UAAU,EAAE,kBAAI,EAChB,iBAAiB,EAAE,kBAAI,EACvB,UAAU,EAAE,kBAAI,EAChB,WAAW,EAAE,kBAAI,EACjB,UAAU,EAAE,kBAAI,EAChB,WAAW,EAAE,kBAAI,EACjB,YAAY,EAAE,kBAAI,EAClB,YAAY,EAAE,kBAAI,EAClB,gBAAgB,EAAE,kBAAI,EACtB,cAAc,EAAE,kBAAI,EACpB,cAAc,EAAE,kBAAI,EACpB,sBAAsB,EAAE,kBAAI,GACiB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.d.ts.map index fc357c38c..ac3378cd2 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2016.array.include.d.ts","sourceRoot":"","sources":["../../src/lib/es2016.array.include.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,oBAAoB,4CAmEc,CAAC"} \ No newline at end of file +{"version":3,"file":"es2016.array.include.d.ts","sourceRoot":"","sources":["../../src/lib/es2016.array.include.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,oBAAoB,4CAYc,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js index 6b67414b5..960e30da8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js @@ -4,72 +4,18 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2016_array_include = void 0; +const base_config_1 = require("./base-config"); exports.es2016_array_include = { - Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, - ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, - Int8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8Array', - }, - Uint8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8Array', - }, - Uint8ClampedArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArray', - }, - Int16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16Array', - }, - Uint16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16Array', - }, - Int32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32Array', - }, - Uint32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32Array', - }, - Float32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32Array', - }, - Float64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64Array', - }, + Array: base_config_1.TYPE, + ReadonlyArray: base_config_1.TYPE, + Int8Array: base_config_1.TYPE, + Uint8Array: base_config_1.TYPE, + Uint8ClampedArray: base_config_1.TYPE, + Int16Array: base_config_1.TYPE, + Uint16Array: base_config_1.TYPE, + Int32Array: base_config_1.TYPE, + Uint32Array: base_config_1.TYPE, + Float32Array: base_config_1.TYPE, + Float64Array: base_config_1.TYPE, }; //# sourceMappingURL=es2016.array.include.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js.map index 458d3ec5c..7a7bba966 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js.map @@ -1 +1 @@ -{"version":3,"file":"es2016.array.include.js","sourceRoot":"","sources":["../../src/lib/es2016.array.include.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAE;QACL,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,OAAO;KACd;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB;IACD,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,WAAW;KAClB;IACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB;IACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB;IACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,YAAY;KACnB;IACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB;IACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,cAAc;KACrB;IACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,cAAc;KACrB;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2016.array.include.js","sourceRoot":"","sources":["../../src/lib/es2016.array.include.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAE,kBAAI;IACX,aAAa,EAAE,kBAAI;IACnB,SAAS,EAAE,kBAAI;IACf,UAAU,EAAE,kBAAI;IAChB,iBAAiB,EAAE,kBAAI;IACvB,UAAU,EAAE,kBAAI;IAChB,WAAW,EAAE,kBAAI;IACjB,UAAU,EAAE,kBAAI;IAChB,WAAW,EAAE,kBAAI;IACjB,YAAY,EAAE,kBAAI;IAClB,YAAY,EAAE,kBAAI;CAC2B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.d.ts.map index acd44df10..f7a5c1a87 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2017.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,WAAW,4CAOuB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,WAAW,4CAEuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js index 27f2dfa0d..337427a76 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2017_intl = void 0; +const base_config_1 = require("./base-config"); exports.es2017_intl = { - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es2017.intl.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js.map index 8c277bb1a..56f8d6c0b 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js.map @@ -1 +1 @@ -{"version":3,"file":"es2017.intl.js","sourceRoot":"","sources":["../../src/lib/es2017.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.intl.js","sourceRoot":"","sources":["../../src/lib/es2017.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAA2C;AAE9B,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.d.ts.map index a0b40ce60..0403965f7 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2017.object.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.object.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.object.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.object.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js index c8fd03ac7..efd23608a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2017_object = void 0; +const base_config_1 = require("./base-config"); exports.es2017_object = { - ObjectConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ObjectConstructor', - }, + ObjectConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2017.object.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js.map index a248d3cd7..bf9549103 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js.map @@ -1 +1 @@ -{"version":3,"file":"es2017.object.js","sourceRoot":"","sources":["../../src/lib/es2017.object.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.object.js","sourceRoot":"","sources":["../../src/lib/es2017.object.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,iBAAiB,EAAE,kBAAI;CACsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.d.ts.map index 920157f9b..08a7890e5 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2017.sharedmemory.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.sharedmemory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,mBAAmB,4CA2Be,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.sharedmemory.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.sharedmemory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,eAAO,MAAM,mBAAmB,4CAOe,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js index 5f2f1b276..48f7ab390 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js @@ -6,25 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2017_sharedmemory = void 0; const es2015_symbol_1 = require("./es2015.symbol"); const es2015_symbol_wellknown_1 = require("./es2015.symbol.wellknown"); -exports.es2017_sharedmemory = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_symbol_wellknown_1.es2015_symbol_wellknown), { SharedArrayBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SharedArrayBuffer', - }, SharedArrayBufferConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SharedArrayBufferConstructor', - }, ArrayBufferTypes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferTypes', - }, Atomics: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Atomics', - } }); +const base_config_1 = require("./base-config"); +exports.es2017_sharedmemory = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_symbol_wellknown_1.es2015_symbol_wellknown), { SharedArrayBuffer: base_config_1.TYPE_VALUE, SharedArrayBufferConstructor: base_config_1.TYPE, ArrayBufferTypes: base_config_1.TYPE, Atomics: base_config_1.TYPE_VALUE }); //# sourceMappingURL=es2017.sharedmemory.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js.map index 58d86ca06..7aa983f8c 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js.map @@ -1 +1 @@ -{"version":3,"file":"es2017.sharedmemory.js","sourceRoot":"","sources":["../../src/lib/es2017.sharedmemory.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uEAAoE;AAEvD,QAAA,mBAAmB,GAAG,8CAC9B,6BAAa,GACb,iDAAuB,KAC1B,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,mBAAmB;KAC1B,EACD,4BAA4B,EAAE;QAC5B,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,8BAA8B;KACrC,EACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB,EACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.sharedmemory.js","sourceRoot":"","sources":["../../src/lib/es2017.sharedmemory.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uEAAoE;AACpE,+CAAiD;AAEpC,QAAA,mBAAmB,GAAG,8CAC9B,6BAAa,GACb,iDAAuB,KAC1B,iBAAiB,EAAE,wBAAU,EAC7B,4BAA4B,EAAE,kBAAI,EAClC,gBAAgB,EAAE,kBAAI,EACtB,OAAO,EAAE,wBAAU,GAC0B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.d.ts.map index c141c9b61..b8b665fde 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2017.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js index 51d9181ac..d7fdcf7be 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2017_string = void 0; +const base_config_1 = require("./base-config"); exports.es2017_string = { - String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, + String: base_config_1.TYPE, }; //# sourceMappingURL=es2017.string.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js.map index f536a801f..903279aea 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js.map @@ -1 +1 @@ -{"version":3,"file":"es2017.string.js","sourceRoot":"","sources":["../../src/lib/es2017.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.string.js","sourceRoot":"","sources":["../../src/lib/es2017.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.d.ts.map index a5fdfc356..017ce784c 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2017.typedarrays.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.typedarrays.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,kBAAkB,4CAuDgB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.typedarrays.d.ts","sourceRoot":"","sources":["../../src/lib/es2017.typedarrays.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,kBAAkB,4CAUgB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js index ef4cee5a5..cf7ab5286 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js @@ -4,60 +4,16 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2017_typedarrays = void 0; +const base_config_1 = require("./base-config"); exports.es2017_typedarrays = { - Int8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8ArrayConstructor', - }, - Uint8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ArrayConstructor', - }, - Uint8ClampedArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArrayConstructor', - }, - Int16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16ArrayConstructor', - }, - Uint16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16ArrayConstructor', - }, - Int32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32ArrayConstructor', - }, - Uint32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32ArrayConstructor', - }, - Float32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32ArrayConstructor', - }, - Float64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64ArrayConstructor', - }, + Int8ArrayConstructor: base_config_1.TYPE, + Uint8ArrayConstructor: base_config_1.TYPE, + Uint8ClampedArrayConstructor: base_config_1.TYPE, + Int16ArrayConstructor: base_config_1.TYPE, + Uint16ArrayConstructor: base_config_1.TYPE, + Int32ArrayConstructor: base_config_1.TYPE, + Uint32ArrayConstructor: base_config_1.TYPE, + Float32ArrayConstructor: base_config_1.TYPE, + Float64ArrayConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2017.typedarrays.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js.map index 448b55284..556edc332 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js.map @@ -1 +1 @@ -{"version":3,"file":"es2017.typedarrays.js","sourceRoot":"","sources":["../../src/lib/es2017.typedarrays.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,kBAAkB,GAAG;IAChC,oBAAoB,EAAE;QACpB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,sBAAsB;KAC7B;IACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B;IACD,4BAA4B,EAAE;QAC5B,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,8BAA8B;KACrC;IACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B;IACD,sBAAsB,EAAE;QACtB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,wBAAwB;KAC/B;IACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B;IACD,sBAAsB,EAAE;QACtB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,wBAAwB;KAC/B;IACD,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,yBAAyB;KAChC;IACD,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,yBAAyB;KAChC;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2017.typedarrays.js","sourceRoot":"","sources":["../../src/lib/es2017.typedarrays.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,kBAAkB,GAAG;IAChC,oBAAoB,EAAE,kBAAI;IAC1B,qBAAqB,EAAE,kBAAI;IAC3B,4BAA4B,EAAE,kBAAI;IAClC,qBAAqB,EAAE,kBAAI;IAC3B,sBAAsB,EAAE,kBAAI;IAC5B,qBAAqB,EAAE,kBAAI;IAC3B,sBAAsB,EAAE,kBAAI;IAC5B,uBAAuB,EAAE,kBAAI;IAC7B,uBAAuB,EAAE,kBAAI;CACgB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.d.ts.map index 66d72e455..10c2aca75 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2018.asyncgenerator.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.asyncgenerator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,qBAAqB,4CAoBa,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.asyncgenerator.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.asyncgenerator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,qBAAqB,4CAKa,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js index 8d58ab5e9..416187f56 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js @@ -5,20 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2018_asyncgenerator = void 0; const es2018_asynciterable_1 = require("./es2018.asynciterable"); -exports.es2018_asyncgenerator = Object.assign(Object.assign({}, es2018_asynciterable_1.es2018_asynciterable), { AsyncGenerator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncGenerator', - }, AsyncGeneratorFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncGeneratorFunction', - }, AsyncGeneratorFunctionConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncGeneratorFunctionConstructor', - } }); +const base_config_1 = require("./base-config"); +exports.es2018_asyncgenerator = Object.assign(Object.assign({}, es2018_asynciterable_1.es2018_asynciterable), { AsyncGenerator: base_config_1.TYPE, AsyncGeneratorFunction: base_config_1.TYPE, AsyncGeneratorFunctionConstructor: base_config_1.TYPE }); //# sourceMappingURL=es2018.asyncgenerator.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js.map index 992b7c929..a62fea6fa 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js.map @@ -1 +1 @@ -{"version":3,"file":"es2018.asyncgenerator.js","sourceRoot":"","sources":["../../src/lib/es2018.asyncgenerator.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,iEAA8D;AAEjD,QAAA,qBAAqB,GAAG,gCAChC,2CAAoB,KACvB,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB,EACD,sBAAsB,EAAE;QACtB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,wBAAwB;KAC/B,EACD,iCAAiC,EAAE;QACjC,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mCAAmC;KAC1C,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.asyncgenerator.js","sourceRoot":"","sources":["../../src/lib/es2018.asyncgenerator.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,iEAA8D;AAC9D,+CAAqC;AAExB,QAAA,qBAAqB,GAAG,gCAChC,2CAAoB,KACvB,cAAc,EAAE,kBAAI,EACpB,sBAAsB,EAAE,kBAAI,EAC5B,iCAAiC,EAAE,kBAAI,GACM,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.d.ts.map index b8d5be53f..a55846e66 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2018.asynciterable.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.asynciterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,oBAAoB,4CA2Bc,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.asynciterable.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.asynciterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,eAAO,MAAM,oBAAoB,4CAOc,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js index fafa6bb7c..7407f3c04 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js @@ -6,25 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2018_asynciterable = void 0; const es2015_symbol_1 = require("./es2015.symbol"); const es2015_iterable_1 = require("./es2015.iterable"); -exports.es2018_asynciterable = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_iterable_1.es2015_iterable), { SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, AsyncIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterator', - }, AsyncIterable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterable', - }, AsyncIterableIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterableIterator', - } }); +const base_config_1 = require("./base-config"); +exports.es2018_asynciterable = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_iterable_1.es2015_iterable), { SymbolConstructor: base_config_1.TYPE, AsyncIterator: base_config_1.TYPE, AsyncIterable: base_config_1.TYPE, AsyncIterableIterator: base_config_1.TYPE }); //# sourceMappingURL=es2018.asynciterable.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js.map index 361aa69dd..52891838a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js.map @@ -1 +1 @@ -{"version":3,"file":"es2018.asynciterable.js","sourceRoot":"","sources":["../../src/lib/es2018.asynciterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uDAAoD;AAEvC,QAAA,oBAAoB,GAAG,8CAC/B,6BAAa,GACb,iCAAe,KAClB,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB,EACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB,EACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.asynciterable.js","sourceRoot":"","sources":["../../src/lib/es2018.asynciterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uDAAoD;AACpD,+CAAqC;AAExB,QAAA,oBAAoB,GAAG,8CAC/B,6BAAa,GACb,iCAAe,KAClB,iBAAiB,EAAE,kBAAI,EACvB,aAAa,EAAE,kBAAI,EACnB,aAAa,EAAE,kBAAI,EACnB,qBAAqB,EAAE,kBAAI,GACkB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.d.ts.map index 19b35f0a4..6cecfd1b2 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2018.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,WAAW,4CAOuB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,WAAW,4CAEuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js index 769ed3583..d6a684037 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2018_intl = void 0; +const base_config_1 = require("./base-config"); exports.es2018_intl = { - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es2018.intl.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js.map index baec0edec..1a1900f26 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js.map @@ -1 +1 @@ -{"version":3,"file":"es2018.intl.js","sourceRoot":"","sources":["../../src/lib/es2018.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.intl.js","sourceRoot":"","sources":["../../src/lib/es2018.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAA2C;AAE9B,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.d.ts.map index 4f244488e..3ffbed796 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2018.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,cAAc,4CAOoB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAEoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js index 27e5ef121..82ecf0bc3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2018_promise = void 0; +const base_config_1 = require("./base-config"); exports.es2018_promise = { - Promise: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Promise', - }, + Promise: base_config_1.TYPE, }; //# sourceMappingURL=es2018.promise.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js.map index 62968a0d4..8095363ca 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js.map @@ -1 +1 @@ -{"version":3,"file":"es2018.promise.js","sourceRoot":"","sources":["../../src/lib/es2018.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,SAAS;KAChB;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.promise.js","sourceRoot":"","sources":["../../src/lib/es2018.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,kBAAI;CACgC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.d.ts.map index 371fba888..9d43c95e6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2018.regexp.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.regexp.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAmBqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.regexp.d.ts","sourceRoot":"","sources":["../../src/lib/es2018.regexp.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAIqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js index fc21009eb..621320640 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js @@ -4,24 +4,10 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2018_regexp = void 0; +const base_config_1 = require("./base-config"); exports.es2018_regexp = { - RegExpMatchArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpMatchArray', - }, - RegExpExecArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpExecArray', - }, - RegExp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExp', - }, + RegExpMatchArray: base_config_1.TYPE, + RegExpExecArray: base_config_1.TYPE, + RegExp: base_config_1.TYPE, }; //# sourceMappingURL=es2018.regexp.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js.map index c52510597..d74cbb74f 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js.map @@ -1 +1 @@ -{"version":3,"file":"es2018.regexp.js","sourceRoot":"","sources":["../../src/lib/es2018.regexp.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB;IACD,eAAe,EAAE;QACf,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,iBAAiB;KACxB;IACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2018.regexp.js","sourceRoot":"","sources":["../../src/lib/es2018.regexp.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,gBAAgB,EAAE,kBAAI;IACtB,eAAe,EAAE,kBAAI;IACrB,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.d.ts.map index 85a5b81e4..4d0785711 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2019.array.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,YAAY,4CAmBsB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.array.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,YAAY,4CAIsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js index 8561f4069..dc1ca93e7 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js @@ -4,24 +4,10 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2019_array = void 0; +const base_config_1 = require("./base-config"); exports.es2019_array = { - FlatArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FlatArray', - }, - ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, - Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, + FlatArray: base_config_1.TYPE, + ReadonlyArray: base_config_1.TYPE, + Array: base_config_1.TYPE, }; //# sourceMappingURL=es2019.array.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js.map index fde39349b..dcb1ea4e6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js.map @@ -1 +1 @@ -{"version":3,"file":"es2019.array.js","sourceRoot":"","sources":["../../src/lib/es2019.array.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,WAAW;KAClB;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,OAAO;KACd;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.array.js","sourceRoot":"","sources":["../../src/lib/es2019.array.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,kBAAI;IACf,aAAa,EAAE,kBAAI;IACnB,KAAK,EAAE,kBAAI;CACkC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.d.ts.map index 6cc0c03eb..142a48fd3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2019.object.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.object.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAQqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.object.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.object.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,aAAa,4CAGqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js index b3c669200..800a59100 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js @@ -5,10 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2019_object = void 0; const es2015_iterable_1 = require("./es2015.iterable"); -exports.es2019_object = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { ObjectConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ObjectConstructor', - } }); +const base_config_1 = require("./base-config"); +exports.es2019_object = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { ObjectConstructor: base_config_1.TYPE }); //# sourceMappingURL=es2019.object.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js.map index d926a916a..6af2c937c 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js.map @@ -1 +1 @@ -{"version":3,"file":"es2019.object.js","sourceRoot":"","sources":["../../src/lib/es2019.object.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AAEvC,QAAA,aAAa,GAAG,gCACxB,iCAAe,KAClB,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.object.js","sourceRoot":"","sources":["../../src/lib/es2019.object.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AACpD,+CAAqC;AAExB,QAAA,aAAa,GAAG,gCACxB,iCAAe,KAClB,iBAAiB,EAAE,kBAAI,GACsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.d.ts.map index a2bf20136..4719d7861 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2019.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js index 23884fae4..3cfa8c05b 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2019_string = void 0; +const base_config_1 = require("./base-config"); exports.es2019_string = { - String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, + String: base_config_1.TYPE, }; //# sourceMappingURL=es2019.string.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js.map index aba9cf9a7..77a0cd381 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js.map @@ -1 +1 @@ -{"version":3,"file":"es2019.string.js","sourceRoot":"","sources":["../../src/lib/es2019.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.string.js","sourceRoot":"","sources":["../../src/lib/es2019.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.d.ts.map index 172b59f23..a1bc4293a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2019.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/es2019.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js index c71974ba0..838db23e2 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2019_symbol = void 0; +const base_config_1 = require("./base-config"); exports.es2019_symbol = { - Symbol: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Symbol', - }, + Symbol: base_config_1.TYPE, }; //# sourceMappingURL=es2019.symbol.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js.map index 9d29d8fa9..bacddbbed 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js.map @@ -1 +1 @@ -{"version":3,"file":"es2019.symbol.js","sourceRoot":"","sources":["../../src/lib/es2019.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2019.symbol.js","sourceRoot":"","sources":["../../src/lib/es2019.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.d.ts.map index 70995c8db..1d7013253 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.bigint.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.bigint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAuDqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.bigint.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.bigint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAUqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js index 625895c33..00b96c834 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js @@ -4,60 +4,16 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2020_bigint = void 0; +const base_config_1 = require("./base-config"); exports.es2020_bigint = { - BigIntToLocaleStringOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigIntToLocaleStringOptions', - }, - BigInt: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigInt', - }, - BigIntConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigIntConstructor', - }, - BigInt64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigInt64Array', - }, - BigInt64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigInt64ArrayConstructor', - }, - BigUint64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigUint64Array', - }, - BigUint64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigUint64ArrayConstructor', - }, - DataView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DataView', - }, - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + BigIntToLocaleStringOptions: base_config_1.TYPE, + BigInt: base_config_1.TYPE_VALUE, + BigIntConstructor: base_config_1.TYPE, + BigInt64Array: base_config_1.TYPE_VALUE, + BigInt64ArrayConstructor: base_config_1.TYPE, + BigUint64Array: base_config_1.TYPE_VALUE, + BigUint64ArrayConstructor: base_config_1.TYPE, + DataView: base_config_1.TYPE, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es2020.bigint.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js.map index 885f48d00..a007a52fa 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.bigint.js","sourceRoot":"","sources":["../../src/lib/es2020.bigint.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,2BAA2B,EAAE;QAC3B,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,6BAA6B;KACpC;IACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,eAAe;KACtB;IACD,wBAAwB,EAAE;QACxB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,0BAA0B;KACjC;IACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,gBAAgB;KACvB;IACD,yBAAyB,EAAE;QACzB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,2BAA2B;KAClC;IACD,QAAQ,EAAE;QACR,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,UAAU;KACjB;IACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.bigint.js","sourceRoot":"","sources":["../../src/lib/es2020.bigint.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC3B,2BAA2B,EAAE,kBAAI;IACjC,MAAM,EAAE,wBAAU;IAClB,iBAAiB,EAAE,kBAAI;IACvB,aAAa,EAAE,wBAAU;IACzB,wBAAwB,EAAE,kBAAI;IAC9B,cAAc,EAAE,wBAAU;IAC1B,yBAAyB,EAAE,kBAAI;IAC/B,QAAQ,EAAE,kBAAI;IACd,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.d.ts.map index f632671a3..63382ba85 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAQzD,eAAO,MAAM,MAAM,4CAO4B,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AASzD,eAAO,MAAM,MAAM,4CAQ4B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.d.ts.map index fd5aeef6b..9af8bdb49 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,WAAW,4CAOuB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.intl.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,WAAW,4CAEuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js index fa32f4775..5ea094139 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2020_intl = void 0; +const base_config_1 = require("./base-config"); exports.es2020_intl = { - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es2020.intl.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js.map index c0ceb5ea0..5329c1982 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.intl.js","sourceRoot":"","sources":["../../src/lib/es2020.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.intl.js","sourceRoot":"","sources":["../../src/lib/es2020.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAA2C;AAE9B,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js index 642d3609a..c7a3a85a8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js @@ -7,8 +7,9 @@ exports.es2020 = void 0; const es2019_1 = require("./es2019"); const es2020_bigint_1 = require("./es2020.bigint"); const es2020_promise_1 = require("./es2020.promise"); +const es2020_sharedmemory_1 = require("./es2020.sharedmemory"); const es2020_string_1 = require("./es2020.string"); const es2020_symbol_wellknown_1 = require("./es2020.symbol.wellknown"); const es2020_intl_1 = require("./es2020.intl"); -exports.es2020 = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, es2019_1.es2019), es2020_bigint_1.es2020_bigint), es2020_promise_1.es2020_promise), es2020_string_1.es2020_string), es2020_symbol_wellknown_1.es2020_symbol_wellknown), es2020_intl_1.es2020_intl); +exports.es2020 = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, es2019_1.es2019), es2020_bigint_1.es2020_bigint), es2020_promise_1.es2020_promise), es2020_sharedmemory_1.es2020_sharedmemory), es2020_string_1.es2020_string), es2020_symbol_wellknown_1.es2020_symbol_wellknown), es2020_intl_1.es2020_intl); //# sourceMappingURL=es2020.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js.map index 8c8360ea8..900d640dd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.js","sourceRoot":"","sources":["../../src/lib/es2020.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,mDAAgD;AAChD,qDAAkD;AAClD,mDAAgD;AAChD,uEAAoE;AACpE,+CAA4C;AAE/B,QAAA,MAAM,GAAG,wFACjB,eAAM,GACN,6BAAa,GACb,+BAAc,GACd,6BAAa,GACb,iDAAuB,GACvB,yBAAW,CAC+B,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.js","sourceRoot":"","sources":["../../src/lib/es2020.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,mDAAgD;AAChD,qDAAkD;AAClD,+DAA4D;AAC5D,mDAAgD;AAChD,uEAAoE;AACpE,+CAA4C;AAE/B,QAAA,MAAM,GAAG,sGACjB,eAAM,GACN,6BAAa,GACb,+BAAc,GACd,yCAAmB,GACnB,6BAAa,GACb,iDAAuB,GACvB,yBAAW,CAC+B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.d.ts.map index 33b4c473c..349dd6d81 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,cAAc,4CAyBoB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAKoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js index 6650bedf8..3910974fc 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js @@ -4,30 +4,11 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es2020_promise = void 0; +const base_config_1 = require("./base-config"); exports.es2020_promise = { - PromiseFulfilledResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseFulfilledResult', - }, - PromiseRejectedResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseRejectedResult', - }, - PromiseSettledResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseSettledResult', - }, - PromiseConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructor', - }, + PromiseFulfilledResult: base_config_1.TYPE, + PromiseRejectedResult: base_config_1.TYPE, + PromiseSettledResult: base_config_1.TYPE, + PromiseConstructor: base_config_1.TYPE, }; //# sourceMappingURL=es2020.promise.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js.map index 1dbd10fa6..8798f2526 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.promise.js","sourceRoot":"","sources":["../../src/lib/es2020.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,cAAc,GAAG;IAC5B,sBAAsB,EAAE;QACtB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,wBAAwB;KAC/B;IACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B;IACD,oBAAoB,EAAE;QACpB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,sBAAsB;KAC7B;IACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.promise.js","sourceRoot":"","sources":["../../src/lib/es2020.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,cAAc,GAAG;IAC5B,sBAAsB,EAAE,kBAAI;IAC5B,qBAAqB,EAAE,kBAAI;IAC3B,oBAAoB,EAAE,kBAAI;IAC1B,kBAAkB,EAAE,kBAAI;CACqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts new file mode 100644 index 000000000..cd2818319 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2020_sharedmemory: Record; +//# sourceMappingURL=es2020.sharedmemory.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts.map new file mode 100644 index 000000000..7b9c1ed68 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2020.sharedmemory.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.sharedmemory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,mBAAmB,4CAEe,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js new file mode 100644 index 000000000..95951b7c9 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js @@ -0,0 +1,11 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2020_sharedmemory = void 0; +const base_config_1 = require("./base-config"); +exports.es2020_sharedmemory = { + Atomics: base_config_1.TYPE, +}; +//# sourceMappingURL=es2020.sharedmemory.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js.map new file mode 100644 index 000000000..0c99fcb32 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2020.sharedmemory.js","sourceRoot":"","sources":["../../src/lib/es2020.sharedmemory.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,kBAAI;CACgC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.d.ts.map index b2d3f9cad..b2a6caf6d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAQqB,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,aAAa,4CAGqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js index cb7451e9c..8b26a382d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js @@ -5,10 +5,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2020_string = void 0; const es2015_iterable_1 = require("./es2015.iterable"); -exports.es2020_string = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - } }); +const base_config_1 = require("./base-config"); +exports.es2020_string = Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), { String: base_config_1.TYPE }); //# sourceMappingURL=es2020.string.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js.map index b13bab139..8137a7f4e 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.string.js","sourceRoot":"","sources":["../../src/lib/es2020.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AAEvC,QAAA,aAAa,GAAG,gCACxB,iCAAe,KAClB,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.string.js","sourceRoot":"","sources":["../../src/lib/es2020.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AACpD,+CAAqC;AAExB,QAAA,aAAa,GAAG,gCACxB,iCAAe,KAClB,MAAM,EAAE,kBAAI,GACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.d.ts.map index e4de6204f..97e31797d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es2020.symbol.wellknown.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.symbol.wellknown.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,uBAAuB,4CAeW,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.symbol.wellknown.d.ts","sourceRoot":"","sources":["../../src/lib/es2020.symbol.wellknown.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,eAAO,MAAM,uBAAuB,4CAKW,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js index 0dd89aa2f..57d4ff195 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js @@ -6,15 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.es2020_symbol_wellknown = void 0; const es2015_iterable_1 = require("./es2015.iterable"); const es2015_symbol_1 = require("./es2015.symbol"); -exports.es2020_symbol_wellknown = Object.assign(Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), es2015_symbol_1.es2015_symbol), { SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, RegExp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExp', - } }); +const base_config_1 = require("./base-config"); +exports.es2020_symbol_wellknown = Object.assign(Object.assign(Object.assign({}, es2015_iterable_1.es2015_iterable), es2015_symbol_1.es2015_symbol), { SymbolConstructor: base_config_1.TYPE, RegExp: base_config_1.TYPE }); //# sourceMappingURL=es2020.symbol.wellknown.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js.map index 1e220dfca..6d94184e8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js.map @@ -1 +1 @@ -{"version":3,"file":"es2020.symbol.wellknown.js","sourceRoot":"","sources":["../../src/lib/es2020.symbol.wellknown.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AACpD,mDAAgD;AAEnC,QAAA,uBAAuB,GAAG,8CAClC,iCAAe,GACf,6BAAa,KAChB,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"es2020.symbol.wellknown.js","sourceRoot":"","sources":["../../src/lib/es2020.symbol.wellknown.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,uDAAoD;AACpD,mDAAgD;AAChD,+CAAqC;AAExB,QAAA,uBAAuB,GAAG,8CAClC,iCAAe,GACf,6BAAa,KAChB,iBAAiB,EAAE,kBAAI,EACvB,MAAM,EAAE,kBAAI,GACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts new file mode 100644 index 000000000..b4cad1a7d --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2021: Record; +//# sourceMappingURL=es2021.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts.map new file mode 100644 index 000000000..dbeeb5f69 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.d.ts","sourceRoot":"","sources":["../../src/lib/es2021.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAMzD,eAAO,MAAM,MAAM,4CAK4B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts new file mode 100644 index 000000000..727cd61bd --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2021_full: Record; +//# sourceMappingURL=es2021.full.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts.map new file mode 100644 index 000000000..7a544fb97 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.full.d.ts","sourceRoot":"","sources":["../../src/lib/es2021.full.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAOzD,eAAO,MAAM,WAAW,4CAMuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js new file mode 100644 index 000000000..55b1a4f75 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js @@ -0,0 +1,13 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2021_full = void 0; +const es2021_1 = require("./es2021"); +const dom_1 = require("./dom"); +const webworker_importscripts_1 = require("./webworker.importscripts"); +const scripthost_1 = require("./scripthost"); +const dom_iterable_1 = require("./dom.iterable"); +exports.es2021_full = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, es2021_1.es2021), dom_1.dom), webworker_importscripts_1.webworker_importscripts), scripthost_1.scripthost), dom_iterable_1.dom_iterable); +//# sourceMappingURL=es2021.full.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js.map new file mode 100644 index 000000000..b8c0a8407 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.full.js","sourceRoot":"","sources":["../../src/lib/es2021.full.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,+BAA4B;AAC5B,uEAAoE;AACpE,6CAA0C;AAC1C,iDAA8C;AAEjC,QAAA,WAAW,GAAG,0EACtB,eAAM,GACN,SAAG,GACH,iDAAuB,GACvB,uBAAU,GACV,2BAAY,CAC8B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js new file mode 100644 index 000000000..310588d71 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js @@ -0,0 +1,12 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2021 = void 0; +const es2020_1 = require("./es2020"); +const es2021_promise_1 = require("./es2021.promise"); +const es2021_string_1 = require("./es2021.string"); +const es2021_weakref_1 = require("./es2021.weakref"); +exports.es2021 = Object.assign(Object.assign(Object.assign(Object.assign({}, es2020_1.es2020), es2021_promise_1.es2021_promise), es2021_string_1.es2021_string), es2021_weakref_1.es2021_weakref); +//# sourceMappingURL=es2021.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js.map new file mode 100644 index 000000000..3fd23736f --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.js","sourceRoot":"","sources":["../../src/lib/es2021.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,qDAAkD;AAClD,mDAAgD;AAChD,qDAAkD;AAErC,QAAA,MAAM,GAAG,4DACjB,eAAM,GACN,+BAAc,GACd,6BAAa,GACb,+BAAc,CAC4B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts new file mode 100644 index 000000000..cd5f32b79 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2021_promise: Record; +//# sourceMappingURL=es2021.promise.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts.map new file mode 100644 index 000000000..2e399633a --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.promise.d.ts","sourceRoot":"","sources":["../../src/lib/es2021.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAIoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js new file mode 100644 index 000000000..bf57e95ac --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js @@ -0,0 +1,13 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2021_promise = void 0; +const base_config_1 = require("./base-config"); +exports.es2021_promise = { + AggregateError: base_config_1.TYPE_VALUE, + AggregateErrorConstructor: base_config_1.TYPE, + PromiseConstructor: base_config_1.TYPE, +}; +//# sourceMappingURL=es2021.promise.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js.map new file mode 100644 index 000000000..4bb521706 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.promise.js","sourceRoot":"","sources":["../../src/lib/es2021.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,wBAAU;IAC1B,yBAAyB,EAAE,kBAAI;IAC/B,kBAAkB,EAAE,kBAAI;CACqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts new file mode 100644 index 000000000..14be67a6e --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2021_string: Record; +//# sourceMappingURL=es2021.string.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts.map new file mode 100644 index 000000000..8d764994f --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.string.d.ts","sourceRoot":"","sources":["../../src/lib/es2021.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js new file mode 100644 index 000000000..b54216a3d --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js @@ -0,0 +1,11 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2021_string = void 0; +const base_config_1 = require("./base-config"); +exports.es2021_string = { + String: base_config_1.TYPE, +}; +//# sourceMappingURL=es2021.string.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js.map new file mode 100644 index 000000000..c2ac1df30 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.string.js","sourceRoot":"","sources":["../../src/lib/es2021.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts new file mode 100644 index 000000000..0cff1eeff --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const es2021_weakref: Record; +//# sourceMappingURL=es2021.weakref.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts.map new file mode 100644 index 000000000..3a7fd5b8a --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.weakref.d.ts","sourceRoot":"","sources":["../../src/lib/es2021.weakref.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAKoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js new file mode 100644 index 000000000..f8dc0f8b8 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js @@ -0,0 +1,14 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.es2021_weakref = void 0; +const base_config_1 = require("./base-config"); +exports.es2021_weakref = { + WeakRef: base_config_1.TYPE_VALUE, + WeakRefConstructor: base_config_1.TYPE, + FinalizationRegistry: base_config_1.TYPE_VALUE, + FinalizationRegistryConstructor: base_config_1.TYPE, +}; +//# sourceMappingURL=es2021.weakref.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js.map new file mode 100644 index 000000000..6ec9fcea6 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js.map @@ -0,0 +1 @@ +{"version":3,"file":"es2021.weakref.js","sourceRoot":"","sources":["../../src/lib/es2021.weakref.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,wBAAU;IACnB,kBAAkB,EAAE,kBAAI;IACxB,oBAAoB,EAAE,wBAAU;IAChC,+BAA+B,EAAE,kBAAI;CACQ,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.d.ts.map index f935434f7..d99b33487 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"es5.d.ts","sourceRoot":"","sources":["../../src/lib/es5.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,GAAG,4CAikB+B,CAAC"} \ No newline at end of file +{"version":3,"file":"es5.d.ts","sourceRoot":"","sources":["../../src/lib/es5.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,GAAG,4CAqG+B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js index 1d036766b..148f093dc 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js @@ -4,582 +4,107 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.es5 = void 0; +const base_config_1 = require("./base-config"); exports.es5 = { - Symbol: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Symbol', - }, - PropertyKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PropertyKey', - }, - PropertyDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PropertyDescriptor', - }, - PropertyDescriptorMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PropertyDescriptorMap', - }, - Object: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Object', - }, - ObjectConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ObjectConstructor', - }, - Function: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Function', - }, - FunctionConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FunctionConstructor', - }, - ThisParameterType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ThisParameterType', - }, - OmitThisParameter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OmitThisParameter', - }, - CallableFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CallableFunction', - }, - NewableFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NewableFunction', - }, - IArguments: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IArguments', - }, - String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'String', - }, - StringConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StringConstructor', - }, - Boolean: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Boolean', - }, - BooleanConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BooleanConstructor', - }, - Number: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Number', - }, - NumberConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NumberConstructor', - }, - TemplateStringsArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TemplateStringsArray', - }, - ImportMeta: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImportMeta', - }, - Math: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Math', - }, - Date: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Date', - }, - DateConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DateConstructor', - }, - RegExpMatchArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpMatchArray', - }, - RegExpExecArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpExecArray', - }, - RegExp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RegExp', - }, - RegExpConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegExpConstructor', - }, - Error: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Error', - }, - ErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ErrorConstructor', - }, - EvalError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'EvalError', - }, - EvalErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EvalErrorConstructor', - }, - RangeError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'RangeError', - }, - RangeErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RangeErrorConstructor', - }, - ReferenceError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ReferenceError', - }, - ReferenceErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReferenceErrorConstructor', - }, - SyntaxError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SyntaxError', - }, - SyntaxErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SyntaxErrorConstructor', - }, - TypeError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TypeError', - }, - TypeErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TypeErrorConstructor', - }, - URIError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'URIError', - }, - URIErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'URIErrorConstructor', - }, - JSON: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'JSON', - }, - ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, - ConcatArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConcatArray', - }, - Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Array', - }, - ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayConstructor', - }, - TypedPropertyDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TypedPropertyDescriptor', - }, - ClassDecorator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClassDecorator', - }, - PropertyDecorator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PropertyDecorator', - }, - MethodDecorator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MethodDecorator', - }, - ParameterDecorator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ParameterDecorator', - }, - PromiseConstructorLike: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructorLike', - }, - PromiseLike: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseLike', - }, - Promise: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Promise', - }, - ArrayLike: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayLike', - }, - Partial: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Partial', - }, - Required: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Required', - }, - Readonly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Readonly', - }, - Pick: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Pick', - }, - Record: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Record', - }, - Exclude: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Exclude', - }, - Extract: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Extract', - }, - Omit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Omit', - }, - NonNullable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NonNullable', - }, - Parameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Parameters', - }, - ConstructorParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConstructorParameters', - }, - ReturnType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReturnType', - }, - InstanceType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'InstanceType', - }, - ThisType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ThisType', - }, - ArrayBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ArrayBuffer', - }, - ArrayBufferTypes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferTypes', - }, - ArrayBufferLike: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferLike', - }, - ArrayBufferConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferConstructor', - }, - ArrayBufferView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ArrayBufferView', - }, - DataView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DataView', - }, - DataViewConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DataViewConstructor', - }, - Int8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Int8Array', - }, - Int8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int8ArrayConstructor', - }, - Uint8Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Uint8Array', - }, - Uint8ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ArrayConstructor', - }, - Uint8ClampedArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Uint8ClampedArray', - }, - Uint8ClampedArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint8ClampedArrayConstructor', - }, - Int16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Int16Array', - }, - Int16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int16ArrayConstructor', - }, - Uint16Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Uint16Array', - }, - Uint16ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint16ArrayConstructor', - }, - Int32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Int32Array', - }, - Int32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32ArrayConstructor', - }, - Uint32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Uint32Array', - }, - Uint32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32ArrayConstructor', - }, - Float32Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Float32Array', - }, - Float32ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32ArrayConstructor', - }, - Float64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Float64Array', - }, - Float64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float64ArrayConstructor', - }, - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + Symbol: base_config_1.TYPE, + PropertyKey: base_config_1.TYPE, + PropertyDescriptor: base_config_1.TYPE, + PropertyDescriptorMap: base_config_1.TYPE, + Object: base_config_1.TYPE_VALUE, + ObjectConstructor: base_config_1.TYPE, + Function: base_config_1.TYPE_VALUE, + FunctionConstructor: base_config_1.TYPE, + ThisParameterType: base_config_1.TYPE, + OmitThisParameter: base_config_1.TYPE, + CallableFunction: base_config_1.TYPE, + NewableFunction: base_config_1.TYPE, + IArguments: base_config_1.TYPE, + String: base_config_1.TYPE_VALUE, + StringConstructor: base_config_1.TYPE, + Boolean: base_config_1.TYPE_VALUE, + BooleanConstructor: base_config_1.TYPE, + Number: base_config_1.TYPE_VALUE, + NumberConstructor: base_config_1.TYPE, + TemplateStringsArray: base_config_1.TYPE, + ImportMeta: base_config_1.TYPE, + Math: base_config_1.TYPE_VALUE, + Date: base_config_1.TYPE_VALUE, + DateConstructor: base_config_1.TYPE, + RegExpMatchArray: base_config_1.TYPE, + RegExpExecArray: base_config_1.TYPE, + RegExp: base_config_1.TYPE_VALUE, + RegExpConstructor: base_config_1.TYPE, + Error: base_config_1.TYPE_VALUE, + ErrorConstructor: base_config_1.TYPE, + EvalError: base_config_1.TYPE_VALUE, + EvalErrorConstructor: base_config_1.TYPE, + RangeError: base_config_1.TYPE_VALUE, + RangeErrorConstructor: base_config_1.TYPE, + ReferenceError: base_config_1.TYPE_VALUE, + ReferenceErrorConstructor: base_config_1.TYPE, + SyntaxError: base_config_1.TYPE_VALUE, + SyntaxErrorConstructor: base_config_1.TYPE, + TypeError: base_config_1.TYPE_VALUE, + TypeErrorConstructor: base_config_1.TYPE, + URIError: base_config_1.TYPE_VALUE, + URIErrorConstructor: base_config_1.TYPE, + JSON: base_config_1.TYPE_VALUE, + ReadonlyArray: base_config_1.TYPE, + ConcatArray: base_config_1.TYPE, + Array: base_config_1.TYPE_VALUE, + ArrayConstructor: base_config_1.TYPE, + TypedPropertyDescriptor: base_config_1.TYPE, + ClassDecorator: base_config_1.TYPE, + PropertyDecorator: base_config_1.TYPE, + MethodDecorator: base_config_1.TYPE, + ParameterDecorator: base_config_1.TYPE, + PromiseConstructorLike: base_config_1.TYPE, + PromiseLike: base_config_1.TYPE, + Promise: base_config_1.TYPE, + ArrayLike: base_config_1.TYPE, + Partial: base_config_1.TYPE, + Required: base_config_1.TYPE, + Readonly: base_config_1.TYPE, + Pick: base_config_1.TYPE, + Record: base_config_1.TYPE, + Exclude: base_config_1.TYPE, + Extract: base_config_1.TYPE, + Omit: base_config_1.TYPE, + NonNullable: base_config_1.TYPE, + Parameters: base_config_1.TYPE, + ConstructorParameters: base_config_1.TYPE, + ReturnType: base_config_1.TYPE, + InstanceType: base_config_1.TYPE, + Uppercase: base_config_1.TYPE, + Lowercase: base_config_1.TYPE, + Capitalize: base_config_1.TYPE, + Uncapitalize: base_config_1.TYPE, + ThisType: base_config_1.TYPE, + ArrayBuffer: base_config_1.TYPE_VALUE, + ArrayBufferTypes: base_config_1.TYPE, + ArrayBufferLike: base_config_1.TYPE, + ArrayBufferConstructor: base_config_1.TYPE, + ArrayBufferView: base_config_1.TYPE, + DataView: base_config_1.TYPE_VALUE, + DataViewConstructor: base_config_1.TYPE, + Int8Array: base_config_1.TYPE_VALUE, + Int8ArrayConstructor: base_config_1.TYPE, + Uint8Array: base_config_1.TYPE_VALUE, + Uint8ArrayConstructor: base_config_1.TYPE, + Uint8ClampedArray: base_config_1.TYPE_VALUE, + Uint8ClampedArrayConstructor: base_config_1.TYPE, + Int16Array: base_config_1.TYPE_VALUE, + Int16ArrayConstructor: base_config_1.TYPE, + Uint16Array: base_config_1.TYPE_VALUE, + Uint16ArrayConstructor: base_config_1.TYPE, + Int32Array: base_config_1.TYPE_VALUE, + Int32ArrayConstructor: base_config_1.TYPE, + Uint32Array: base_config_1.TYPE_VALUE, + Uint32ArrayConstructor: base_config_1.TYPE, + Float32Array: base_config_1.TYPE_VALUE, + Float32ArrayConstructor: base_config_1.TYPE, + Float64Array: base_config_1.TYPE_VALUE, + Float64ArrayConstructor: base_config_1.TYPE, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=es5.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js.map index b3a378351..807115580 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js.map @@ -1 +1 @@ -{"version":3,"file":"es5.js","sourceRoot":"","sources":["../../src/lib/es5.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"es5.js","sourceRoot":"","sources":["../../src/lib/es5.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.d.ts.map index d3f7ae6f8..94481961b 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.array.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,YAAY,4CAmBsB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.array.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,YAAY,4CAIsB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js index 716509406..76d965287 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js @@ -4,24 +4,10 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_array = void 0; +const base_config_1 = require("./base-config"); exports.esnext_array = { - FlatArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FlatArray', - }, - ReadonlyArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadonlyArray', - }, - Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Array', - }, + FlatArray: base_config_1.TYPE, + ReadonlyArray: base_config_1.TYPE, + Array: base_config_1.TYPE, }; //# sourceMappingURL=esnext.array.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js.map index 72c450ae4..f55353c4d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.array.js","sourceRoot":"","sources":["../../src/lib/esnext.array.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,WAAW;KAClB;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,OAAO;KACd;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.array.js","sourceRoot":"","sources":["../../src/lib/esnext.array.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,kBAAI;IACf,aAAa,EAAE,kBAAI;IACnB,KAAK,EAAE,kBAAI;CACkC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.d.ts.map index 4bc2c4a61..037bd953d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.asynciterable.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.asynciterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,oBAAoB,4CA2Bc,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.asynciterable.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.asynciterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,eAAO,MAAM,oBAAoB,4CAOc,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js index 00ac9b168..10e279c52 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js @@ -6,25 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_asynciterable = void 0; const es2015_symbol_1 = require("./es2015.symbol"); const es2015_iterable_1 = require("./es2015.iterable"); -exports.esnext_asynciterable = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_iterable_1.es2015_iterable), { SymbolConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SymbolConstructor', - }, AsyncIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterator', - }, AsyncIterable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterable', - }, AsyncIterableIterator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AsyncIterableIterator', - } }); +const base_config_1 = require("./base-config"); +exports.esnext_asynciterable = Object.assign(Object.assign(Object.assign({}, es2015_symbol_1.es2015_symbol), es2015_iterable_1.es2015_iterable), { SymbolConstructor: base_config_1.TYPE, AsyncIterator: base_config_1.TYPE, AsyncIterable: base_config_1.TYPE, AsyncIterableIterator: base_config_1.TYPE }); //# sourceMappingURL=esnext.asynciterable.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js.map index bc3312d27..ea790594e 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.asynciterable.js","sourceRoot":"","sources":["../../src/lib/esnext.asynciterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uDAAoD;AAEvC,QAAA,oBAAoB,GAAG,8CAC/B,6BAAa,GACb,iCAAe,KAClB,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B,EACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB,EACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,eAAe;KACtB,EACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B,GAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.asynciterable.js","sourceRoot":"","sources":["../../src/lib/esnext.asynciterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,mDAAgD;AAChD,uDAAoD;AACpD,+CAAqC;AAExB,QAAA,oBAAoB,GAAG,8CAC/B,6BAAa,GACb,iCAAe,KAClB,iBAAiB,EAAE,kBAAI,EACvB,aAAa,EAAE,kBAAI,EACnB,aAAa,EAAE,kBAAI,EACnB,qBAAqB,EAAE,kBAAI,GACkB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.d.ts.map index 69b5ddde2..a100923a8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.bigint.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.bigint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAuDqB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.bigint.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.bigint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAUqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js index ea080ba2d..64826145e 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js @@ -4,60 +4,16 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_bigint = void 0; +const base_config_1 = require("./base-config"); exports.esnext_bigint = { - BigIntToLocaleStringOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigIntToLocaleStringOptions', - }, - BigInt: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigInt', - }, - BigIntConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigIntConstructor', - }, - BigInt64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigInt64Array', - }, - BigInt64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigInt64ArrayConstructor', - }, - BigUint64Array: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BigUint64Array', - }, - BigUint64ArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigUint64ArrayConstructor', - }, - DataView: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DataView', - }, - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + BigIntToLocaleStringOptions: base_config_1.TYPE, + BigInt: base_config_1.TYPE_VALUE, + BigIntConstructor: base_config_1.TYPE, + BigInt64Array: base_config_1.TYPE_VALUE, + BigInt64ArrayConstructor: base_config_1.TYPE, + BigUint64Array: base_config_1.TYPE_VALUE, + BigUint64ArrayConstructor: base_config_1.TYPE, + DataView: base_config_1.TYPE, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=esnext.bigint.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js.map index 44d4092fb..35898fa27 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.bigint.js","sourceRoot":"","sources":["../../src/lib/esnext.bigint.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,2BAA2B,EAAE;QAC3B,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,6BAA6B;KACpC;IACD,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,QAAQ;KACf;IACD,iBAAiB,EAAE;QACjB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,eAAe;KACtB;IACD,wBAAwB,EAAE;QACxB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,0BAA0B;KACjC;IACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,gBAAgB;KACvB;IACD,yBAAyB,EAAE;QACzB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,2BAA2B;KAClC;IACD,QAAQ,EAAE;QACR,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,UAAU;KACjB;IACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.bigint.js","sourceRoot":"","sources":["../../src/lib/esnext.bigint.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC3B,2BAA2B,EAAE,kBAAI;IACjC,MAAM,EAAE,wBAAU;IAClB,iBAAiB,EAAE,kBAAI;IACvB,aAAa,EAAE,wBAAU;IACzB,wBAAwB,EAAE,kBAAI;IAC9B,cAAc,EAAE,wBAAU;IAC1B,yBAAyB,EAAE,kBAAI;IAC/B,QAAQ,EAAE,kBAAI;IACd,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.d.ts.map index e414c2771..044396f04 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAMzD,eAAO,MAAM,MAAM,4CAK4B,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,MAAM,4CAG4B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.d.ts.map index f955c8425..40cb0e7fd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.intl.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,WAAW,4CAOuB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.intl.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.intl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,WAAW,4CAEuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js index 7e87a0e7a..cd25f9517 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_intl = void 0; +const base_config_1 = require("./base-config"); exports.esnext_intl = { - Intl: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Intl', - }, + Intl: base_config_1.TYPE_VALUE, }; //# sourceMappingURL=esnext.intl.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js.map index c1d75c5f8..5118da4a1 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.intl.js","sourceRoot":"","sources":["../../src/lib/esnext.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.intl.js","sourceRoot":"","sources":["../../src/lib/esnext.intl.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAA2C;AAE9B,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,wBAAU;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js index 5bf51829c..f8630efcf 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js @@ -4,9 +4,7 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext = void 0; -const es2020_1 = require("./es2020"); +const es2021_1 = require("./es2021"); const esnext_intl_1 = require("./esnext.intl"); -const esnext_string_1 = require("./esnext.string"); -const esnext_promise_1 = require("./esnext.promise"); -exports.esnext = Object.assign(Object.assign(Object.assign(Object.assign({}, es2020_1.es2020), esnext_intl_1.esnext_intl), esnext_string_1.esnext_string), esnext_promise_1.esnext_promise); +exports.esnext = Object.assign(Object.assign({}, es2021_1.es2021), esnext_intl_1.esnext_intl); //# sourceMappingURL=esnext.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js.map index be61999c5..7d4b460d3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.js","sourceRoot":"","sources":["../../src/lib/esnext.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,+CAA4C;AAC5C,mDAAgD;AAChD,qDAAkD;AAErC,QAAA,MAAM,GAAG,4DACjB,eAAM,GACN,yBAAW,GACX,6BAAa,GACb,+BAAc,CAC4B,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.js","sourceRoot":"","sources":["../../src/lib/esnext.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,qCAAkC;AAClC,+CAA4C;AAE/B,QAAA,MAAM,GAAG,gCACjB,eAAM,GACN,yBAAW,CAC+B,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.d.ts.map index 5421852e4..5f69c6a3d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.promise.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,cAAc,4CAmBoB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.promise.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.promise.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAIoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js index 8e297b69b..99d6caa42 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js @@ -4,24 +4,10 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_promise = void 0; +const base_config_1 = require("./base-config"); exports.esnext_promise = { - AggregateError: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AggregateError', - }, - AggregateErrorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AggregateErrorConstructor', - }, - PromiseConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseConstructor', - }, + AggregateError: base_config_1.TYPE_VALUE, + AggregateErrorConstructor: base_config_1.TYPE, + PromiseConstructor: base_config_1.TYPE, }; //# sourceMappingURL=esnext.promise.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js.map index aca57a1cb..ea96349d8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.promise.js","sourceRoot":"","sources":["../../src/lib/esnext.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,gBAAgB;KACvB;IACD,yBAAyB,EAAE;QACzB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,2BAA2B;KAClC;IACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.promise.js","sourceRoot":"","sources":["../../src/lib/esnext.promise.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,wBAAU;IAC1B,yBAAyB,EAAE,kBAAI;IAC/B,kBAAkB,EAAE,kBAAI;CACqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.d.ts.map index 32451ca31..3e29c0c63 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.string.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.string.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js index 5cec00be6..394aca5f3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_string = void 0; +const base_config_1 = require("./base-config"); exports.esnext_string = { - String: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'String', - }, + String: base_config_1.TYPE, }; //# sourceMappingURL=esnext.string.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js.map index 714de47ee..cc3946986 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.string.js","sourceRoot":"","sources":["../../src/lib/esnext.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.string.js","sourceRoot":"","sources":["../../src/lib/esnext.string.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.d.ts.map index ac7c90a56..0675f4150 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"esnext.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,4CAOqB,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.symbol.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,aAAa,4CAEqB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js index 72e7bc227..c925d35c5 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js @@ -4,12 +4,8 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.esnext_symbol = void 0; +const base_config_1 = require("./base-config"); exports.esnext_symbol = { - Symbol: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Symbol', - }, + Symbol: base_config_1.TYPE, }; //# sourceMappingURL=esnext.symbol.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js.map index 605f87c5c..c2b25aaa6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js.map @@ -1 +1 @@ -{"version":3,"file":"esnext.symbol.js","sourceRoot":"","sources":["../../src/lib/esnext.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ;KACf;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"esnext.symbol.js","sourceRoot":"","sources":["../../src/lib/esnext.symbol.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,kBAAI;CACiC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts new file mode 100644 index 000000000..d111a0bbf --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const esnext_weakref: Record; +//# sourceMappingURL=esnext.weakref.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts.map new file mode 100644 index 000000000..444315879 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"esnext.weakref.d.ts","sourceRoot":"","sources":["../../src/lib/esnext.weakref.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,cAAc,4CAKoB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js new file mode 100644 index 000000000..b59c3f66d --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js @@ -0,0 +1,14 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.esnext_weakref = void 0; +const base_config_1 = require("./base-config"); +exports.esnext_weakref = { + WeakRef: base_config_1.TYPE_VALUE, + WeakRefConstructor: base_config_1.TYPE, + FinalizationRegistry: base_config_1.TYPE_VALUE, + FinalizationRegistryConstructor: base_config_1.TYPE, +}; +//# sourceMappingURL=esnext.weakref.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js.map new file mode 100644 index 000000000..4adbca48c --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esnext.weakref.js","sourceRoot":"","sources":["../../src/lib/esnext.weakref.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,wBAAU;IACnB,kBAAkB,EAAE,kBAAI;IACxB,oBAAoB,EAAE,wBAAU;IAChC,+BAA+B,EAAE,kBAAI;CACQ,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts index 548ac55d0..d4b105d42 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts @@ -8,11 +8,13 @@ declare const lib: { readonly es2018: Record; readonly es2019: Record; readonly es2020: Record; + readonly es2021: Record; readonly esnext: Record; readonly dom: Record; readonly 'dom.iterable': Record; readonly webworker: Record; readonly 'webworker.importscripts': Record; + readonly 'webworker.iterable': Record; readonly scripthost: Record; readonly 'es2015.core': Record; readonly 'es2015.collection': Record; @@ -40,9 +42,13 @@ declare const lib: { readonly 'es2019.symbol': Record; readonly 'es2020.bigint': Record; readonly 'es2020.promise': Record; + readonly 'es2020.sharedmemory': Record; readonly 'es2020.string': Record; readonly 'es2020.symbol.wellknown': Record; readonly 'es2020.intl': Record; + readonly 'es2021.promise': Record; + readonly 'es2021.string': Record; + readonly 'es2021.weakref': Record; readonly 'esnext.array': Record; readonly 'esnext.symbol': Record; readonly 'esnext.asynciterable': Record; @@ -50,11 +56,13 @@ declare const lib: { readonly 'esnext.bigint': Record; readonly 'esnext.string': Record; readonly 'esnext.promise': Record; + readonly 'esnext.weakref': Record; readonly 'es2016.full': Record; readonly 'es2017.full': Record; readonly 'es2018.full': Record; readonly 'es2019.full': Record; readonly 'es2020.full': Record; + readonly 'es2021.full': Record; readonly 'esnext.full': Record; readonly lib: Record; }; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map index 31708d098..4db653e4a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAuEA,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js index 52518e697..6b5ef5dea 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js @@ -13,11 +13,13 @@ const es2017_1 = require("./es2017"); const es2018_1 = require("./es2018"); const es2019_1 = require("./es2019"); const es2020_1 = require("./es2020"); +const es2021_1 = require("./es2021"); const esnext_1 = require("./esnext"); const dom_1 = require("./dom"); const dom_iterable_1 = require("./dom.iterable"); const webworker_1 = require("./webworker"); const webworker_importscripts_1 = require("./webworker.importscripts"); +const webworker_iterable_1 = require("./webworker.iterable"); const scripthost_1 = require("./scripthost"); const es2015_core_1 = require("./es2015.core"); const es2015_collection_1 = require("./es2015.collection"); @@ -45,9 +47,13 @@ const es2019_string_1 = require("./es2019.string"); const es2019_symbol_1 = require("./es2019.symbol"); const es2020_bigint_1 = require("./es2020.bigint"); const es2020_promise_1 = require("./es2020.promise"); +const es2020_sharedmemory_1 = require("./es2020.sharedmemory"); const es2020_string_1 = require("./es2020.string"); const es2020_symbol_wellknown_1 = require("./es2020.symbol.wellknown"); const es2020_intl_1 = require("./es2020.intl"); +const es2021_promise_1 = require("./es2021.promise"); +const es2021_string_1 = require("./es2021.string"); +const es2021_weakref_1 = require("./es2021.weakref"); const esnext_array_1 = require("./esnext.array"); const esnext_symbol_1 = require("./esnext.symbol"); const esnext_asynciterable_1 = require("./esnext.asynciterable"); @@ -55,11 +61,13 @@ const esnext_intl_1 = require("./esnext.intl"); const esnext_bigint_1 = require("./esnext.bigint"); const esnext_string_1 = require("./esnext.string"); const esnext_promise_1 = require("./esnext.promise"); +const esnext_weakref_1 = require("./esnext.weakref"); const es2016_full_1 = require("./es2016.full"); const es2017_full_1 = require("./es2017.full"); const es2018_full_1 = require("./es2018.full"); const es2019_full_1 = require("./es2019.full"); const es2020_full_1 = require("./es2020.full"); +const es2021_full_1 = require("./es2021.full"); const esnext_full_1 = require("./esnext.full"); const lib_1 = require("./lib"); const lib = { @@ -72,11 +80,13 @@ const lib = { es2018: es2018_1.es2018, es2019: es2019_1.es2019, es2020: es2020_1.es2020, + es2021: es2021_1.es2021, esnext: esnext_1.esnext, dom: dom_1.dom, 'dom.iterable': dom_iterable_1.dom_iterable, webworker: webworker_1.webworker, 'webworker.importscripts': webworker_importscripts_1.webworker_importscripts, + 'webworker.iterable': webworker_iterable_1.webworker_iterable, scripthost: scripthost_1.scripthost, 'es2015.core': es2015_core_1.es2015_core, 'es2015.collection': es2015_collection_1.es2015_collection, @@ -104,9 +114,13 @@ const lib = { 'es2019.symbol': es2019_symbol_1.es2019_symbol, 'es2020.bigint': es2020_bigint_1.es2020_bigint, 'es2020.promise': es2020_promise_1.es2020_promise, + 'es2020.sharedmemory': es2020_sharedmemory_1.es2020_sharedmemory, 'es2020.string': es2020_string_1.es2020_string, 'es2020.symbol.wellknown': es2020_symbol_wellknown_1.es2020_symbol_wellknown, 'es2020.intl': es2020_intl_1.es2020_intl, + 'es2021.promise': es2021_promise_1.es2021_promise, + 'es2021.string': es2021_string_1.es2021_string, + 'es2021.weakref': es2021_weakref_1.es2021_weakref, 'esnext.array': esnext_array_1.esnext_array, 'esnext.symbol': esnext_symbol_1.esnext_symbol, 'esnext.asynciterable': esnext_asynciterable_1.esnext_asynciterable, @@ -114,11 +128,13 @@ const lib = { 'esnext.bigint': esnext_bigint_1.esnext_bigint, 'esnext.string': esnext_string_1.esnext_string, 'esnext.promise': esnext_promise_1.esnext_promise, + 'esnext.weakref': esnext_weakref_1.esnext_weakref, 'es2016.full': es2016_full_1.es2016_full, 'es2017.full': es2017_full_1.es2017_full, 'es2018.full': es2018_full_1.es2018_full, 'es2019.full': es2019_full_1.es2019_full, 'es2020.full': es2020_full_1.es2020_full, + 'es2021.full': es2021_full_1.es2021_full, 'esnext.full': esnext_full_1.esnext_full, lib: lib_1.lib, }; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map index 5b17b816d..b6c631290 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAEhD,+BAA4B;AAC5B,+BAA4B;AAC5B,qCAAkC;AAClC,+BAA4B;AAC5B,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,+BAA4B;AAC5B,iDAA8C;AAC9C,2CAAwC;AACxC,uEAAoE;AACpE,6CAA0C;AAC1C,+CAA4C;AAC5C,2DAAwD;AACxD,yDAAsD;AACtD,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAC9C,qDAAkD;AAClD,mDAAgD;AAChD,uEAAoE;AACpE,iEAA8D;AAC9D,mDAAgD;AAChD,+DAA4D;AAC5D,mDAAgD;AAChD,+CAA4C;AAC5C,6DAA0D;AAC1D,mEAAgE;AAChE,iEAA8D;AAC9D,+CAA4C;AAC5C,qDAAkD;AAClD,mDAAgD;AAChD,iDAA8C;AAC9C,mDAAgD;AAChD,mDAAgD;AAChD,mDAAgD;AAChD,mDAAgD;AAChD,qDAAkD;AAClD,mDAAgD;AAChD,uEAAoE;AACpE,+CAA4C;AAC5C,iDAA8C;AAC9C,mDAAgD;AAChD,iEAA8D;AAC9D,+CAA4C;AAC5C,mDAAgD;AAChD,mDAAgD;AAChD,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+BAAuC;AAEvC,MAAM,GAAG,GAAG;IACV,GAAG,EAAH,SAAG;IACH,GAAG,EAAH,SAAG;IACH,MAAM,EAAN,eAAM;IACN,GAAG,EAAH,SAAG;IACH,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,GAAG,EAAH,SAAG;IACH,cAAc,EAAE,2BAAY;IAC5B,SAAS,EAAT,qBAAS;IACT,yBAAyB,EAAE,iDAAuB;IAClD,UAAU,EAAV,uBAAU;IACV,aAAa,EAAE,yBAAW;IAC1B,mBAAmB,EAAE,qCAAiB;IACtC,kBAAkB,EAAE,mCAAgB;IACpC,iBAAiB,EAAE,iCAAe;IAClC,gBAAgB,EAAE,+BAAc;IAChC,cAAc,EAAE,2BAAY;IAC5B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,yBAAyB,EAAE,iDAAuB;IAClD,sBAAsB,EAAE,2CAAoB;IAC5C,eAAe,EAAE,6BAAa;IAC9B,qBAAqB,EAAE,yCAAmB;IAC1C,eAAe,EAAE,6BAAa;IAC9B,aAAa,EAAE,yBAAW;IAC1B,oBAAoB,EAAE,uCAAkB;IACxC,uBAAuB,EAAE,6CAAqB;IAC9C,sBAAsB,EAAE,2CAAoB;IAC5C,aAAa,EAAE,yBAAW;IAC1B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,cAAc,EAAE,2BAAY;IAC5B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,yBAAyB,EAAE,iDAAuB;IAClD,aAAa,EAAE,yBAAW;IAC1B,cAAc,EAAE,2BAAY;IAC5B,eAAe,EAAE,6BAAa;IAC9B,sBAAsB,EAAE,2CAAoB;IAC5C,aAAa,EAAE,yBAAW;IAC1B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,gBAAgB,EAAE,+BAAc;IAChC,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,GAAG,EAAE,SAAO;CACJ,CAAC;AAEF,kBAAG"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAEhD,+BAA4B;AAC5B,+BAA4B;AAC5B,qCAAkC;AAClC,+BAA4B;AAC5B,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,+BAA4B;AAC5B,iDAA8C;AAC9C,2CAAwC;AACxC,uEAAoE;AACpE,6DAA0D;AAC1D,6CAA0C;AAC1C,+CAA4C;AAC5C,2DAAwD;AACxD,yDAAsD;AACtD,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAC9C,qDAAkD;AAClD,mDAAgD;AAChD,uEAAoE;AACpE,iEAA8D;AAC9D,mDAAgD;AAChD,+DAA4D;AAC5D,mDAAgD;AAChD,+CAA4C;AAC5C,6DAA0D;AAC1D,mEAAgE;AAChE,iEAA8D;AAC9D,+CAA4C;AAC5C,qDAAkD;AAClD,mDAAgD;AAChD,iDAA8C;AAC9C,mDAAgD;AAChD,mDAAgD;AAChD,mDAAgD;AAChD,mDAAgD;AAChD,qDAAkD;AAClD,+DAA4D;AAC5D,mDAAgD;AAChD,uEAAoE;AACpE,+CAA4C;AAC5C,qDAAkD;AAClD,mDAAgD;AAChD,qDAAkD;AAClD,iDAA8C;AAC9C,mDAAgD;AAChD,iEAA8D;AAC9D,+CAA4C;AAC5C,mDAAgD;AAChD,mDAAgD;AAChD,qDAAkD;AAClD,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+CAA4C;AAC5C,+BAAuC;AAEvC,MAAM,GAAG,GAAG;IACV,GAAG,EAAH,SAAG;IACH,GAAG,EAAH,SAAG;IACH,MAAM,EAAN,eAAM;IACN,GAAG,EAAH,SAAG;IACH,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,GAAG,EAAH,SAAG;IACH,cAAc,EAAE,2BAAY;IAC5B,SAAS,EAAT,qBAAS;IACT,yBAAyB,EAAE,iDAAuB;IAClD,oBAAoB,EAAE,uCAAkB;IACxC,UAAU,EAAV,uBAAU;IACV,aAAa,EAAE,yBAAW;IAC1B,mBAAmB,EAAE,qCAAiB;IACtC,kBAAkB,EAAE,mCAAgB;IACpC,iBAAiB,EAAE,iCAAe;IAClC,gBAAgB,EAAE,+BAAc;IAChC,cAAc,EAAE,2BAAY;IAC5B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,yBAAyB,EAAE,iDAAuB;IAClD,sBAAsB,EAAE,2CAAoB;IAC5C,eAAe,EAAE,6BAAa;IAC9B,qBAAqB,EAAE,yCAAmB;IAC1C,eAAe,EAAE,6BAAa;IAC9B,aAAa,EAAE,yBAAW;IAC1B,oBAAoB,EAAE,uCAAkB;IACxC,uBAAuB,EAAE,6CAAqB;IAC9C,sBAAsB,EAAE,2CAAoB;IAC5C,aAAa,EAAE,yBAAW;IAC1B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,cAAc,EAAE,2BAAY;IAC5B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,gBAAgB,EAAE,+BAAc;IAChC,qBAAqB,EAAE,yCAAmB;IAC1C,eAAe,EAAE,6BAAa;IAC9B,yBAAyB,EAAE,iDAAuB;IAClD,aAAa,EAAE,yBAAW;IAC1B,gBAAgB,EAAE,+BAAc;IAChC,eAAe,EAAE,6BAAa;IAC9B,gBAAgB,EAAE,+BAAc;IAChC,cAAc,EAAE,2BAAY;IAC5B,eAAe,EAAE,6BAAa;IAC9B,sBAAsB,EAAE,2CAAoB;IAC5C,aAAa,EAAE,yBAAW;IAC1B,eAAe,EAAE,6BAAa;IAC9B,eAAe,EAAE,6BAAa;IAC9B,gBAAgB,EAAE,+BAAc;IAChC,gBAAgB,EAAE,+BAAc;IAChC,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,aAAa,EAAE,yBAAW;IAC1B,GAAG,EAAE,SAAO;CACJ,CAAC;AAEF,kBAAG"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.d.ts.map index 5ea9f54c2..1181b448f 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"scripthost.d.ts","sourceRoot":"","sources":["../../src/lib/scripthost.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,UAAU,4CA+EwB,CAAC"} \ No newline at end of file +{"version":3,"file":"scripthost.d.ts","sourceRoot":"","sources":["../../src/lib/scripthost.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,UAAU,4CAcwB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js index 34407089c..b429c6875 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js @@ -4,84 +4,20 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.scripthost = void 0; +const base_config_1 = require("./base-config"); exports.scripthost = { - ActiveXObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ActiveXObject', - }, - ITextWriter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ITextWriter', - }, - TextStreamBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextStreamBase', - }, - TextStreamWriter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextStreamWriter', - }, - TextStreamReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextStreamReader', - }, - SafeArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SafeArray', - }, - Enumerator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Enumerator', - }, - EnumeratorConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EnumeratorConstructor', - }, - VBArray: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VBArray', - }, - VBArrayConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VBArrayConstructor', - }, - VarDate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'VarDate', - }, - DateConstructor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DateConstructor', - }, - Date: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Date', - }, + ActiveXObject: base_config_1.TYPE_VALUE, + ITextWriter: base_config_1.TYPE, + TextStreamBase: base_config_1.TYPE, + TextStreamWriter: base_config_1.TYPE, + TextStreamReader: base_config_1.TYPE, + SafeArray: base_config_1.TYPE_VALUE, + Enumerator: base_config_1.TYPE_VALUE, + EnumeratorConstructor: base_config_1.TYPE, + VBArray: base_config_1.TYPE_VALUE, + VBArrayConstructor: base_config_1.TYPE, + VarDate: base_config_1.TYPE_VALUE, + DateConstructor: base_config_1.TYPE, + Date: base_config_1.TYPE, }; //# sourceMappingURL=scripthost.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js.map index 8684ff1ae..4020e08b3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js.map @@ -1 +1 @@ -{"version":3,"file":"scripthost.js","sourceRoot":"","sources":["../../src/lib/scripthost.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAInC,QAAA,UAAU,GAAG;IACxB,aAAa,EAAE;QACb,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,eAAe;KACtB;IACD,WAAW,EAAE;QACX,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,aAAa;KACpB;IACD,cAAc,EAAE;QACd,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,gBAAgB;KACvB;IACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB;IACD,gBAAgB,EAAE;QAChB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,kBAAkB;KACzB;IACD,SAAS,EAAE;QACT,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,WAAW;KAClB;IACD,UAAU,EAAE;QACV,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,YAAY;KACnB;IACD,qBAAqB,EAAE;QACrB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,uBAAuB;KAC9B;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB;IACD,kBAAkB,EAAE;QAClB,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,oBAAoB;KAC3B;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,SAAS;KAChB;IACD,eAAe,EAAE;QACf,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,iBAAiB;KACxB;IACD,IAAI,EAAE;QACJ,2BAA2B,EAAE,UAAU;QACvC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,MAAM;KACb;CAC4C,CAAC"} \ No newline at end of file +{"version":3,"file":"scripthost.js","sourceRoot":"","sources":["../../src/lib/scripthost.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAiD;AAEpC,QAAA,UAAU,GAAG;IACxB,aAAa,EAAE,wBAAU;IACzB,WAAW,EAAE,kBAAI;IACjB,cAAc,EAAE,kBAAI;IACpB,gBAAgB,EAAE,kBAAI;IACtB,gBAAgB,EAAE,kBAAI;IACtB,SAAS,EAAE,wBAAU;IACrB,UAAU,EAAE,wBAAU;IACtB,qBAAqB,EAAE,kBAAI;IAC3B,OAAO,EAAE,wBAAU;IACnB,kBAAkB,EAAE,kBAAI;IACxB,OAAO,EAAE,wBAAU;IACnB,eAAe,EAAE,kBAAI;IACrB,IAAI,EAAE,kBAAI;CACmC,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map index 6e64e1ba8..a391827bd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"webworker.d.ts","sourceRoot":"","sources":["../../src/lib/webworker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,SAAS,4CAm6EyB,CAAC"} \ No newline at end of file +{"version":3,"file":"webworker.d.ts","sourceRoot":"","sources":["../../src/lib/webworker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,SAAS,4CA2ZyB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts new file mode 100644 index 000000000..f7f040198 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts @@ -0,0 +1,3 @@ +import { ImplicitLibVariableOptions } from '../variable'; +export declare const webworker_iterable: Record; +//# sourceMappingURL=webworker.iterable.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map new file mode 100644 index 000000000..21daea236 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"webworker.iterable.d.ts","sourceRoot":"","sources":["../../src/lib/webworker.iterable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,eAAO,MAAM,kBAAkB,4CAegB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js new file mode 100644 index 000000000..270e3684b --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js @@ -0,0 +1,24 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// YOU CAN REGENERATE IT USING yarn generate:lib +Object.defineProperty(exports, "__esModule", { value: true }); +exports.webworker_iterable = void 0; +const base_config_1 = require("./base-config"); +exports.webworker_iterable = { + Cache: base_config_1.TYPE, + CanvasPathDrawingStyles: base_config_1.TYPE, + DOMStringList: base_config_1.TYPE, + FileList: base_config_1.TYPE, + FormData: base_config_1.TYPE, + Headers: base_config_1.TYPE, + IDBDatabase: base_config_1.TYPE, + IDBObjectStore: base_config_1.TYPE, + URLSearchParams: base_config_1.TYPE, + WEBGL_draw_buffers: base_config_1.TYPE, + WebGL2RenderingContextBase: base_config_1.TYPE, + WebGL2RenderingContextOverloads: base_config_1.TYPE, + WebGLRenderingContextBase: base_config_1.TYPE, + WebGLRenderingContextOverloads: base_config_1.TYPE, +}; +//# sourceMappingURL=webworker.iterable.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map new file mode 100644 index 000000000..6a9600700 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webworker.iterable.js","sourceRoot":"","sources":["../../src/lib/webworker.iterable.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,gDAAgD;;;AAGhD,+CAAqC;AAExB,QAAA,kBAAkB,GAAG;IAChC,KAAK,EAAE,kBAAI;IACX,uBAAuB,EAAE,kBAAI;IAC7B,aAAa,EAAE,kBAAI;IACnB,QAAQ,EAAE,kBAAI;IACd,QAAQ,EAAE,kBAAI;IACd,OAAO,EAAE,kBAAI;IACb,WAAW,EAAE,kBAAI;IACjB,cAAc,EAAE,kBAAI;IACpB,eAAe,EAAE,kBAAI;IACrB,kBAAkB,EAAE,kBAAI;IACxB,0BAA0B,EAAE,kBAAI;IAChC,+BAA+B,EAAE,kBAAI;IACrC,yBAAyB,EAAE,kBAAI;IAC/B,8BAA8B,EAAE,kBAAI;CACS,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js index 7d53aed19..c1cadd950 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js @@ -4,2472 +4,417 @@ // YOU CAN REGENERATE IT USING yarn generate:lib Object.defineProperty(exports, "__esModule", { value: true }); exports.webworker = void 0; +const base_config_1 = require("./base-config"); exports.webworker = { - AddEventListenerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AddEventListenerOptions', - }, - AesCbcParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCbcParams', - }, - AesCtrParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCtrParams', - }, - AesDerivedKeyParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesDerivedKeyParams', - }, - AesGcmParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesGcmParams', - }, - AesKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesKeyAlgorithm', - }, - AesKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesKeyGenParams', - }, - Algorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Algorithm', - }, - BlobPropertyBag: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BlobPropertyBag', - }, - CacheQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CacheQueryOptions', - }, - CanvasRenderingContext2DSettings: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasRenderingContext2DSettings', - }, - ClientQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientQueryOptions', - }, - CloseEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CloseEventInit', - }, - CryptoKeyPair: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CryptoKeyPair', - }, - CustomEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CustomEventInit', - }, - DOMMatrix2DInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMMatrix2DInit', - }, - DOMMatrixInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMMatrixInit', - }, - DOMPointInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMPointInit', - }, - DOMQuadInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMQuadInit', - }, - DOMRectInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMRectInit', - }, - DevicePermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DevicePermissionDescriptor', - }, - EcKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcKeyGenParams', - }, - EcKeyImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcKeyImportParams', - }, - EcdhKeyDeriveParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcdhKeyDeriveParams', - }, - EcdsaParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EcdsaParams', - }, - ErrorEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ErrorEventInit', - }, - EventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventInit', - }, - EventListenerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerOptions', - }, - EventSourceInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventSourceInit', - }, - ExtendableEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ExtendableEventInit', - }, - ExtendableMessageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ExtendableMessageEventInit', - }, - FetchEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FetchEventInit', - }, - FilePropertyBag: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FilePropertyBag', - }, - GetNotificationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GetNotificationOptions', - }, - HmacImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HmacImportParams', - }, - HmacKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HmacKeyGenParams', - }, - IDBIndexParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBIndexParameters', - }, - IDBObjectStoreParameters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBObjectStoreParameters', - }, - IDBVersionChangeEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBVersionChangeEventInit', - }, - ImageBitmapOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapOptions', - }, - ImageBitmapRenderingContextSettings: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapRenderingContextSettings', - }, - ImageEncodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageEncodeOptions', - }, - JsonWebKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'JsonWebKey', - }, - KeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyAlgorithm', - }, - MessageEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessageEventInit', - }, - MidiPermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MidiPermissionDescriptor', - }, - MultiCacheQueryOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MultiCacheQueryOptions', - }, - NavigationPreloadState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigationPreloadState', - }, - NotificationAction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationAction', - }, - NotificationEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationEventInit', - }, - NotificationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationOptions', - }, - Pbkdf2Params: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Pbkdf2Params', - }, - PerformanceObserverInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceObserverInit', - }, - PermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionDescriptor', - }, - PipeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PipeOptions', - }, - PostMessageOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PostMessageOptions', - }, - ProgressEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ProgressEventInit', - }, - PromiseRejectionEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PromiseRejectionEventInit', - }, - PushEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushEventInit', - }, - PushPermissionDescriptor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushPermissionDescriptor', - }, - PushSubscriptionChangeEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushSubscriptionChangeEventInit', - }, - PushSubscriptionJSON: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushSubscriptionJSON', - }, - PushSubscriptionOptionsInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushSubscriptionOptionsInit', - }, - QueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'QueuingStrategy', - }, - ReadableStreamReadDoneResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadDoneResult', - }, - ReadableStreamReadValueResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadValueResult', - }, - RegistrationOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RegistrationOptions', - }, - RequestInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestInit', - }, - ResponseInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResponseInit', - }, - RsaHashedImportParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaHashedImportParams', - }, - RsaHashedKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaHashedKeyGenParams', - }, - RsaKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaKeyGenParams', - }, - RsaOaepParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaOaepParams', - }, - RsaOtherPrimesInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaOtherPrimesInfo', - }, - RsaPssParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RsaPssParams', - }, - StorageEstimate: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'StorageEstimate', - }, - SyncEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SyncEventInit', - }, - TextDecodeOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecodeOptions', - }, - TextDecoderOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecoderOptions', - }, - TextEncoderEncodeIntoResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextEncoderEncodeIntoResult', - }, - Transformer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Transformer', - }, - UnderlyingByteSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingByteSource', - }, - UnderlyingSink: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingSink', - }, - UnderlyingSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'UnderlyingSource', - }, - WebGLContextAttributes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLContextAttributes', - }, - WebGLContextEventInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLContextEventInit', - }, - WorkerOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerOptions', - }, - EventListener: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListener', - }, - ANGLE_instanced_arrays: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ANGLE_instanced_arrays', - }, - AbortController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AbortController', - }, - AbortSignalEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbortSignalEventMap', - }, - AbortSignal: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'AbortSignal', - }, - AbstractWorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbstractWorkerEventMap', - }, - AbstractWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AbstractWorker', - }, - AesCfbParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCfbParams', - }, - AesCmacParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AesCmacParams', - }, - AnimationFrameProvider: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AnimationFrameProvider', - }, - Blob: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Blob', - }, - Body: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Body', - }, - BroadcastChannelEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BroadcastChannelEventMap', - }, - BroadcastChannel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'BroadcastChannel', - }, - ByteLengthQueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ByteLengthQueuingStrategy', - }, - Cache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Cache', - }, - CacheStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CacheStorage', - }, - CanvasCompositing: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasCompositing', - }, - CanvasDrawImage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDrawImage', - }, - CanvasDrawPath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDrawPath', - }, - CanvasFillStrokeStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFillStrokeStyles', - }, - CanvasFilters: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFilters', - }, - CanvasGradient: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CanvasGradient', - }, - CanvasImageData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageData', - }, - CanvasImageSmoothing: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageSmoothing', - }, - CanvasPath: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasPath', - }, - CanvasPathDrawingStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasPathDrawingStyles', - }, - CanvasPattern: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CanvasPattern', - }, - CanvasRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasRect', - }, - CanvasShadowStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasShadowStyles', - }, - CanvasState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasState', - }, - CanvasText: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasText', - }, - CanvasTextDrawingStyles: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextDrawingStyles', - }, - CanvasTransform: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTransform', - }, - Client: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Client', - }, - Clients: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Clients', - }, - CloseEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CloseEvent', - }, - ConcatParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ConcatParams', - }, - CountQueuingStrategy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CountQueuingStrategy', - }, - Crypto: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Crypto', - }, - CryptoKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CryptoKey', - }, - CustomEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'CustomEvent', - }, - DOMException: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMException', - }, - DOMMatrix: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMMatrix', - }, - DOMMatrixReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMMatrixReadOnly', - }, - DOMPoint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMPoint', - }, - DOMPointReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMPointReadOnly', - }, - DOMQuad: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMQuad', - }, - DOMRect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMRect', - }, - DOMRectReadOnly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMRectReadOnly', - }, - DOMStringList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DOMStringList', - }, - DedicatedWorkerGlobalScopeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DedicatedWorkerGlobalScopeEventMap', - }, - DedicatedWorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'DedicatedWorkerGlobalScope', - }, - DhImportKeyParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhImportKeyParams', - }, - DhKeyAlgorithm: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyAlgorithm', - }, - DhKeyDeriveParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyDeriveParams', - }, - DhKeyGenParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DhKeyGenParams', - }, - EXT_blend_minmax: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_blend_minmax', - }, - EXT_frag_depth: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_frag_depth', - }, - EXT_sRGB: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_sRGB', - }, - EXT_shader_texture_lod: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_shader_texture_lod', - }, - EXT_texture_filter_anisotropic: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EXT_texture_filter_anisotropic', - }, - ErrorEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ErrorEvent', - }, - Event: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Event', - }, - EventListenerObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerObject', - }, - EventSourceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventSourceEventMap', - }, - EventSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'EventSource', - }, - EventTarget: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'EventTarget', - }, - ExtendableEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ExtendableEvent', - }, - ExtendableMessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ExtendableMessageEvent', - }, - FetchEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FetchEvent', - }, - File: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'File', - }, - FileList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FileList', - }, - FileReaderEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FileReaderEventMap', - }, - FileReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FileReader', - }, - FileReaderSync: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FileReaderSync', - }, - FormData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'FormData', - }, - GenericTransformStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GenericTransformStream', - }, - Headers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Headers', - }, - HkdfCtrParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HkdfCtrParams', - }, - IDBArrayKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBArrayKey', - }, - IDBCursor: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBCursor', - }, - IDBCursorWithValue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBCursorWithValue', - }, - IDBDatabaseEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBDatabaseEventMap', - }, - IDBDatabase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBDatabase', - }, - IDBFactory: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBFactory', - }, - IDBIndex: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBIndex', - }, - IDBKeyRange: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBKeyRange', - }, - IDBObjectStore: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBObjectStore', - }, - IDBOpenDBRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBOpenDBRequestEventMap', - }, - IDBOpenDBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBOpenDBRequest', - }, - IDBRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBRequestEventMap', - }, - IDBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBRequest', - }, - IDBTransactionEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBTransactionEventMap', - }, - IDBTransaction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBTransaction', - }, - IDBVersionChangeEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'IDBVersionChangeEvent', - }, - ImageBitmap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageBitmap', - }, - ImageBitmapRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageBitmapRenderingContext', - }, - ImageData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ImageData', - }, - MessageChannel: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessageChannel', - }, - MessageEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessageEvent', - }, - MessagePortEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessagePortEventMap', - }, - MessagePort: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'MessagePort', - }, - NavigationPreloadManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NavigationPreloadManager', - }, - NavigatorConcurrentHardware: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorConcurrentHardware', - }, - NavigatorID: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorID', - }, - NavigatorLanguage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorLanguage', - }, - NavigatorOnLine: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorOnLine', - }, - NavigatorStorage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NavigatorStorage', - }, - NotificationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationEventMap', - }, - Notification: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Notification', - }, - NotificationEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'NotificationEvent', - }, - OES_element_index_uint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_element_index_uint', - }, - OES_standard_derivatives: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_standard_derivatives', - }, - OES_texture_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_float', - }, - OES_texture_float_linear: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_float_linear', - }, - OES_texture_half_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_half_float', - }, - OES_texture_half_float_linear: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_texture_half_float_linear', - }, - OES_vertex_array_object: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OES_vertex_array_object', - }, - OffscreenCanvas: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OffscreenCanvas', - }, - OffscreenCanvasRenderingContext2D: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'OffscreenCanvasRenderingContext2D', - }, - Path2D: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Path2D', - }, - PerformanceEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceEventMap', - }, - Performance: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Performance', - }, - PerformanceEntry: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceEntry', - }, - PerformanceMark: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceMark', - }, - PerformanceMeasure: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceMeasure', - }, - PerformanceObserver: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceObserver', - }, - PerformanceObserverEntryList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceObserverEntryList', - }, - PerformanceResourceTiming: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PerformanceResourceTiming', - }, - PermissionStatusEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionStatusEventMap', - }, - PermissionStatus: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PermissionStatus', - }, - Permissions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Permissions', - }, - ProgressEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ProgressEvent', - }, - PromiseRejectionEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PromiseRejectionEvent', - }, - PushEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushEvent', - }, - PushManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushManager', - }, - PushMessageData: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushMessageData', - }, - PushSubscription: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushSubscription', - }, - PushSubscriptionChangeEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushSubscriptionChangeEvent', - }, - PushSubscriptionOptions: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'PushSubscriptionOptions', - }, - ReadableByteStreamController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableByteStreamController', - }, - ReadableStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ReadableStream', - }, - ReadableStreamBYOBReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamBYOBReader', - }, - ReadableStreamBYOBRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamBYOBRequest', - }, - ReadableStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultController', - }, - ReadableStreamDefaultReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultReader', - }, - ReadableStreamReader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ReadableStreamReader', - }, - Request: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Request', - }, - Response: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Response', - }, - ServiceWorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerEventMap', - }, - ServiceWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorker', - }, - ServiceWorkerContainerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerContainerEventMap', - }, - ServiceWorkerContainer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerContainer', - }, - ServiceWorkerGlobalScopeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerGlobalScopeEventMap', - }, - ServiceWorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerGlobalScope', - }, - ServiceWorkerRegistrationEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerRegistrationEventMap', - }, - ServiceWorkerRegistration: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'ServiceWorkerRegistration', - }, - SharedWorker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SharedWorker', - }, - SharedWorkerGlobalScopeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'SharedWorkerGlobalScopeEventMap', - }, - SharedWorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SharedWorkerGlobalScope', - }, - StorageManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'StorageManager', - }, - SubtleCrypto: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SubtleCrypto', - }, - SyncEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SyncEvent', - }, - SyncManager: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'SyncManager', - }, - TextDecoder: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextDecoder', - }, - TextDecoderCommon: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextDecoderCommon', - }, - TextDecoderStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextDecoderStream', - }, - TextEncoder: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextEncoder', - }, - TextEncoderCommon: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TextEncoderCommon', - }, - TextEncoderStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextEncoderStream', - }, - TextMetrics: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TextMetrics', - }, - TransformStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'TransformStream', - }, - TransformStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultController', - }, - URL: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'URL', - }, - URLSearchParams: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'URLSearchParams', - }, - WEBGL_color_buffer_float: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_color_buffer_float', - }, - WEBGL_compressed_texture_astc: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_astc', - }, - WEBGL_compressed_texture_s3tc: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_s3tc', - }, - WEBGL_compressed_texture_s3tc_srgb: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_compressed_texture_s3tc_srgb', - }, - WEBGL_debug_renderer_info: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_debug_renderer_info', - }, - WEBGL_debug_shaders: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_debug_shaders', - }, - WEBGL_depth_texture: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_depth_texture', - }, - WEBGL_draw_buffers: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_draw_buffers', - }, - WEBGL_lose_context: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WEBGL_lose_context', - }, - WebGL2RenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGL2RenderingContext', - }, - WebGL2RenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextBase', - }, - WebGL2RenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGL2RenderingContextOverloads', - }, - WebGLActiveInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLActiveInfo', - }, - WebGLBuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLBuffer', - }, - WebGLContextEvent: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLContextEvent', - }, - WebGLFramebuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLFramebuffer', - }, - WebGLObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLObject', - }, - WebGLProgram: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLProgram', - }, - WebGLQuery: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLQuery', - }, - WebGLRenderbuffer: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLRenderbuffer', - }, - WebGLRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLRenderingContext', - }, - WebGLRenderingContextBase: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextBase', - }, - WebGLRenderingContextOverloads: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLRenderingContextOverloads', - }, - WebGLSampler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLSampler', - }, - WebGLShader: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLShader', - }, - WebGLShaderPrecisionFormat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLShaderPrecisionFormat', - }, - WebGLSync: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLSync', - }, - WebGLTexture: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLTexture', - }, - WebGLTransformFeedback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLTransformFeedback', - }, - WebGLUniformLocation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLUniformLocation', - }, - WebGLVertexArrayObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebGLVertexArrayObject', - }, - WebGLVertexArrayObjectOES: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLVertexArrayObjectOES', - }, - WebSocketEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebSocketEventMap', - }, - WebSocket: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebSocket', - }, - WindowClient: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WindowClient', - }, - WindowOrWorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WindowOrWorkerGlobalScope', - }, - WorkerEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerEventMap', - }, - Worker: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'Worker', - }, - WorkerGlobalScopeEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerGlobalScopeEventMap', - }, - WorkerGlobalScope: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WorkerGlobalScope', - }, - WorkerLocation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WorkerLocation', - }, - WorkerNavigator: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WorkerNavigator', - }, - WritableStream: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WritableStream', - }, - WritableStreamDefaultController: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultController', - }, - WritableStreamDefaultWriter: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultWriter', - }, - XMLHttpRequestEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestEventMap', - }, - XMLHttpRequest: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequest', - }, - XMLHttpRequestEventTargetEventMap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestEventTargetEventMap', - }, - XMLHttpRequestEventTarget: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequestEventTarget', - }, - XMLHttpRequestUpload: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'XMLHttpRequestUpload', - }, - EventListenerOrEventListenerObject: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EventListenerOrEventListenerObject', - }, - Console: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Console', - }, - WebAssembly: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: true, - name: 'WebAssembly', - }, - FrameRequestCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FrameRequestCallback', - }, - OnErrorEventHandlerNonNull: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnErrorEventHandlerNonNull', - }, - PerformanceObserverCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceObserverCallback', - }, - QueuingStrategySizeCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'QueuingStrategySizeCallback', - }, - ReadableByteStreamControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableByteStreamControllerCallback', - }, - ReadableStreamDefaultControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamDefaultControllerCallback', - }, - ReadableStreamErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamErrorCallback', - }, - TransformStreamDefaultControllerCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultControllerCallback', - }, - TransformStreamDefaultControllerTransformCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TransformStreamDefaultControllerTransformCallback', - }, - VoidFunction: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VoidFunction', - }, - WritableStreamDefaultControllerCloseCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerCloseCallback', - }, - WritableStreamDefaultControllerStartCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerStartCallback', - }, - WritableStreamDefaultControllerWriteCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamDefaultControllerWriteCallback', - }, - WritableStreamErrorCallback: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WritableStreamErrorCallback', - }, - HeadersInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HeadersInit', - }, - BodyInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BodyInit', - }, - RequestInfo: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestInfo', - }, - BlobPart: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BlobPart', - }, - DOMHighResTimeStamp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMHighResTimeStamp', - }, - CanvasImageSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasImageSource', - }, - OffscreenRenderingContext: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OffscreenRenderingContext', - }, - MessageEventSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'MessageEventSource', - }, - ImageBitmapSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageBitmapSource', - }, - OnErrorEventHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OnErrorEventHandler', - }, - TimerHandler: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TimerHandler', - }, - PerformanceEntryList: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PerformanceEntryList', - }, - PushMessageDataInit: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushMessageDataInit', - }, - ReadableStreamReadResult: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReadableStreamReadResult', - }, - VibratePattern: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VibratePattern', - }, - AlgorithmIdentifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'AlgorithmIdentifier', - }, - HashAlgorithmIdentifier: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'HashAlgorithmIdentifier', - }, - BigInteger: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BigInteger', - }, - NamedCurve: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NamedCurve', - }, - GLenum: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLenum', - }, - GLboolean: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLboolean', - }, - GLbitfield: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLbitfield', - }, - GLint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLint', - }, - GLsizei: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLsizei', - }, - GLintptr: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLintptr', - }, - GLsizeiptr: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLsizeiptr', - }, - GLuint: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLuint', - }, - GLfloat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLfloat', - }, - GLclampf: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLclampf', - }, - TexImageSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'TexImageSource', - }, - Float32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Float32List', - }, - Int32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Int32List', - }, - GLint64: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLint64', - }, - GLuint64: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'GLuint64', - }, - Uint32List: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Uint32List', - }, - BufferSource: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BufferSource', - }, - DOMTimeStamp: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'DOMTimeStamp', - }, - FormDataEntryValue: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FormDataEntryValue', - }, - IDBValidKey: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBValidKey', - }, - Transferable: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'Transferable', - }, - BinaryType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'BinaryType', - }, - CanvasDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasDirection', - }, - CanvasFillRule: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasFillRule', - }, - CanvasLineCap: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasLineCap', - }, - CanvasLineJoin: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasLineJoin', - }, - CanvasTextAlign: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextAlign', - }, - CanvasTextBaseline: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'CanvasTextBaseline', - }, - ClientTypes: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ClientTypes', - }, - ColorSpaceConversion: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ColorSpaceConversion', - }, - EndingType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'EndingType', - }, - FrameType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'FrameType', - }, - IDBCursorDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBCursorDirection', - }, - IDBRequestReadyState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBRequestReadyState', - }, - IDBTransactionMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'IDBTransactionMode', - }, - ImageOrientation: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageOrientation', - }, - ImageSmoothingQuality: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ImageSmoothingQuality', - }, - KeyFormat: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyFormat', - }, - KeyType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyType', - }, - KeyUsage: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'KeyUsage', - }, - NotificationDirection: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationDirection', - }, - NotificationPermission: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'NotificationPermission', - }, - OffscreenRenderingContextId: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'OffscreenRenderingContextId', - }, - PermissionName: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionName', - }, - PermissionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PermissionState', - }, - PremultiplyAlpha: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PremultiplyAlpha', - }, - PushEncryptionKeyName: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushEncryptionKeyName', - }, - PushPermissionState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'PushPermissionState', - }, - ReferrerPolicy: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ReferrerPolicy', - }, - RequestCache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestCache', - }, - RequestCredentials: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestCredentials', - }, - RequestDestination: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestDestination', - }, - RequestMode: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestMode', - }, - RequestRedirect: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'RequestRedirect', - }, - ResizeQuality: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResizeQuality', - }, - ResponseType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ResponseType', - }, - ServiceWorkerState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerState', - }, - ServiceWorkerUpdateViaCache: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'ServiceWorkerUpdateViaCache', - }, - VisibilityState: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'VisibilityState', - }, - WebGLPowerPreference: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WebGLPowerPreference', - }, - WorkerType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'WorkerType', - }, - XMLHttpRequestResponseType: { - eslintImplicitGlobalSetting: 'readonly', - isTypeVariable: true, - isValueVariable: false, - name: 'XMLHttpRequestResponseType', - }, + AddEventListenerOptions: base_config_1.TYPE, + AesCbcParams: base_config_1.TYPE, + AesCtrParams: base_config_1.TYPE, + AesDerivedKeyParams: base_config_1.TYPE, + AesGcmParams: base_config_1.TYPE, + AesKeyAlgorithm: base_config_1.TYPE, + AesKeyGenParams: base_config_1.TYPE, + Algorithm: base_config_1.TYPE, + BlobPropertyBag: base_config_1.TYPE, + CacheQueryOptions: base_config_1.TYPE, + CanvasRenderingContext2DSettings: base_config_1.TYPE, + ClientQueryOptions: base_config_1.TYPE, + CloseEventInit: base_config_1.TYPE, + CryptoKeyPair: base_config_1.TYPE, + CustomEventInit: base_config_1.TYPE, + DOMMatrix2DInit: base_config_1.TYPE, + DOMMatrixInit: base_config_1.TYPE, + DOMPointInit: base_config_1.TYPE, + DOMQuadInit: base_config_1.TYPE, + DOMRectInit: base_config_1.TYPE, + DevicePermissionDescriptor: base_config_1.TYPE, + EcKeyGenParams: base_config_1.TYPE, + EcKeyImportParams: base_config_1.TYPE, + EcdhKeyDeriveParams: base_config_1.TYPE, + EcdsaParams: base_config_1.TYPE, + ErrorEventInit: base_config_1.TYPE, + EventInit: base_config_1.TYPE, + EventListenerOptions: base_config_1.TYPE, + EventSourceInit: base_config_1.TYPE, + ExtendableEventInit: base_config_1.TYPE, + ExtendableMessageEventInit: base_config_1.TYPE, + FetchEventInit: base_config_1.TYPE, + FilePropertyBag: base_config_1.TYPE, + GetNotificationOptions: base_config_1.TYPE, + HkdfParams: base_config_1.TYPE, + HmacImportParams: base_config_1.TYPE, + HmacKeyGenParams: base_config_1.TYPE, + IDBIndexParameters: base_config_1.TYPE, + IDBObjectStoreParameters: base_config_1.TYPE, + IDBVersionChangeEventInit: base_config_1.TYPE, + ImageBitmapOptions: base_config_1.TYPE, + ImageBitmapRenderingContextSettings: base_config_1.TYPE, + ImageEncodeOptions: base_config_1.TYPE, + ImportMeta: base_config_1.TYPE, + JsonWebKey: base_config_1.TYPE, + KeyAlgorithm: base_config_1.TYPE, + MessageEventInit: base_config_1.TYPE, + MidiPermissionDescriptor: base_config_1.TYPE, + MultiCacheQueryOptions: base_config_1.TYPE, + NavigationPreloadState: base_config_1.TYPE, + NotificationAction: base_config_1.TYPE, + NotificationEventInit: base_config_1.TYPE, + NotificationOptions: base_config_1.TYPE, + Pbkdf2Params: base_config_1.TYPE, + PerformanceObserverInit: base_config_1.TYPE, + PermissionDescriptor: base_config_1.TYPE, + PostMessageOptions: base_config_1.TYPE, + ProgressEventInit: base_config_1.TYPE, + PromiseRejectionEventInit: base_config_1.TYPE, + PushEventInit: base_config_1.TYPE, + PushPermissionDescriptor: base_config_1.TYPE, + PushSubscriptionJSON: base_config_1.TYPE, + PushSubscriptionOptionsInit: base_config_1.TYPE, + QueuingStrategy: base_config_1.TYPE, + QueuingStrategyInit: base_config_1.TYPE, + ReadableStreamDefaultReadDoneResult: base_config_1.TYPE, + ReadableStreamDefaultReadValueResult: base_config_1.TYPE, + ReadableWritablePair: base_config_1.TYPE, + RegistrationOptions: base_config_1.TYPE, + RequestInit: base_config_1.TYPE, + ResponseInit: base_config_1.TYPE, + RsaHashedImportParams: base_config_1.TYPE, + RsaHashedKeyGenParams: base_config_1.TYPE, + RsaKeyGenParams: base_config_1.TYPE, + RsaOaepParams: base_config_1.TYPE, + RsaOtherPrimesInfo: base_config_1.TYPE, + RsaPssParams: base_config_1.TYPE, + StorageEstimate: base_config_1.TYPE, + StreamPipeOptions: base_config_1.TYPE, + SyncEventInit: base_config_1.TYPE, + TextDecodeOptions: base_config_1.TYPE, + TextDecoderOptions: base_config_1.TYPE, + TextEncoderEncodeIntoResult: base_config_1.TYPE, + Transformer: base_config_1.TYPE, + UnderlyingSink: base_config_1.TYPE, + UnderlyingSource: base_config_1.TYPE, + WebGLContextAttributes: base_config_1.TYPE, + WebGLContextEventInit: base_config_1.TYPE, + WorkerOptions: base_config_1.TYPE, + EventListener: base_config_1.TYPE, + ANGLE_instanced_arrays: base_config_1.TYPE, + AbortController: base_config_1.TYPE_VALUE, + AbortSignalEventMap: base_config_1.TYPE, + AbortSignal: base_config_1.TYPE_VALUE, + AbstractWorkerEventMap: base_config_1.TYPE, + AbstractWorker: base_config_1.TYPE, + AesCfbParams: base_config_1.TYPE, + AesCmacParams: base_config_1.TYPE, + AnimationFrameProvider: base_config_1.TYPE, + Blob: base_config_1.TYPE_VALUE, + Body: base_config_1.TYPE, + BroadcastChannelEventMap: base_config_1.TYPE, + BroadcastChannel: base_config_1.TYPE_VALUE, + ByteLengthQueuingStrategy: base_config_1.TYPE_VALUE, + Cache: base_config_1.TYPE_VALUE, + CacheStorage: base_config_1.TYPE_VALUE, + CanvasCompositing: base_config_1.TYPE, + CanvasDrawImage: base_config_1.TYPE, + CanvasDrawPath: base_config_1.TYPE, + CanvasFillStrokeStyles: base_config_1.TYPE, + CanvasFilters: base_config_1.TYPE, + CanvasGradient: base_config_1.TYPE_VALUE, + CanvasImageData: base_config_1.TYPE, + CanvasImageSmoothing: base_config_1.TYPE, + CanvasPath: base_config_1.TYPE, + CanvasPathDrawingStyles: base_config_1.TYPE, + CanvasPattern: base_config_1.TYPE_VALUE, + CanvasRect: base_config_1.TYPE, + CanvasShadowStyles: base_config_1.TYPE, + CanvasState: base_config_1.TYPE, + CanvasText: base_config_1.TYPE, + CanvasTextDrawingStyles: base_config_1.TYPE, + CanvasTransform: base_config_1.TYPE, + Client: base_config_1.TYPE_VALUE, + Clients: base_config_1.TYPE_VALUE, + CloseEvent: base_config_1.TYPE_VALUE, + ConcatParams: base_config_1.TYPE, + CountQueuingStrategy: base_config_1.TYPE_VALUE, + Crypto: base_config_1.TYPE_VALUE, + CryptoKey: base_config_1.TYPE_VALUE, + CustomEvent: base_config_1.TYPE_VALUE, + DOMException: base_config_1.TYPE_VALUE, + DOMMatrix: base_config_1.TYPE_VALUE, + DOMMatrixReadOnly: base_config_1.TYPE_VALUE, + DOMPoint: base_config_1.TYPE_VALUE, + DOMPointReadOnly: base_config_1.TYPE_VALUE, + DOMQuad: base_config_1.TYPE_VALUE, + DOMRect: base_config_1.TYPE_VALUE, + DOMRectReadOnly: base_config_1.TYPE_VALUE, + DOMStringList: base_config_1.TYPE_VALUE, + DedicatedWorkerGlobalScopeEventMap: base_config_1.TYPE, + DedicatedWorkerGlobalScope: base_config_1.TYPE_VALUE, + DhImportKeyParams: base_config_1.TYPE, + DhKeyAlgorithm: base_config_1.TYPE, + DhKeyDeriveParams: base_config_1.TYPE, + DhKeyGenParams: base_config_1.TYPE, + EXT_blend_minmax: base_config_1.TYPE, + EXT_frag_depth: base_config_1.TYPE, + EXT_sRGB: base_config_1.TYPE, + EXT_shader_texture_lod: base_config_1.TYPE, + EXT_texture_filter_anisotropic: base_config_1.TYPE, + ErrorEvent: base_config_1.TYPE_VALUE, + Event: base_config_1.TYPE_VALUE, + EventListenerObject: base_config_1.TYPE, + EventSourceEventMap: base_config_1.TYPE, + EventSource: base_config_1.TYPE_VALUE, + EventTarget: base_config_1.TYPE_VALUE, + ExtendableEvent: base_config_1.TYPE_VALUE, + ExtendableMessageEvent: base_config_1.TYPE_VALUE, + FetchEvent: base_config_1.TYPE_VALUE, + File: base_config_1.TYPE_VALUE, + FileList: base_config_1.TYPE_VALUE, + FileReaderEventMap: base_config_1.TYPE, + FileReader: base_config_1.TYPE_VALUE, + FileReaderSync: base_config_1.TYPE_VALUE, + FormData: base_config_1.TYPE_VALUE, + GenericTransformStream: base_config_1.TYPE, + Headers: base_config_1.TYPE_VALUE, + IDBArrayKey: base_config_1.TYPE, + IDBCursor: base_config_1.TYPE_VALUE, + IDBCursorWithValue: base_config_1.TYPE_VALUE, + IDBDatabaseEventMap: base_config_1.TYPE, + IDBDatabase: base_config_1.TYPE_VALUE, + IDBFactory: base_config_1.TYPE_VALUE, + IDBIndex: base_config_1.TYPE_VALUE, + IDBKeyRange: base_config_1.TYPE_VALUE, + IDBObjectStore: base_config_1.TYPE_VALUE, + IDBOpenDBRequestEventMap: base_config_1.TYPE, + IDBOpenDBRequest: base_config_1.TYPE_VALUE, + IDBRequestEventMap: base_config_1.TYPE, + IDBRequest: base_config_1.TYPE_VALUE, + IDBTransactionEventMap: base_config_1.TYPE, + IDBTransaction: base_config_1.TYPE_VALUE, + IDBVersionChangeEvent: base_config_1.TYPE_VALUE, + ImageBitmap: base_config_1.TYPE_VALUE, + ImageBitmapRenderingContext: base_config_1.TYPE_VALUE, + ImageData: base_config_1.TYPE_VALUE, + MessageChannel: base_config_1.TYPE_VALUE, + MessageEvent: base_config_1.TYPE_VALUE, + MessagePortEventMap: base_config_1.TYPE, + MessagePort: base_config_1.TYPE_VALUE, + NavigationPreloadManager: base_config_1.TYPE_VALUE, + NavigatorConcurrentHardware: base_config_1.TYPE, + NavigatorID: base_config_1.TYPE, + NavigatorLanguage: base_config_1.TYPE, + NavigatorOnLine: base_config_1.TYPE, + NavigatorStorage: base_config_1.TYPE, + NotificationEventMap: base_config_1.TYPE, + Notification: base_config_1.TYPE_VALUE, + NotificationEvent: base_config_1.TYPE_VALUE, + OES_element_index_uint: base_config_1.TYPE, + OES_standard_derivatives: base_config_1.TYPE, + OES_texture_float: base_config_1.TYPE, + OES_texture_float_linear: base_config_1.TYPE, + OES_texture_half_float: base_config_1.TYPE, + OES_texture_half_float_linear: base_config_1.TYPE, + OES_vertex_array_object: base_config_1.TYPE, + OffscreenCanvas: base_config_1.TYPE_VALUE, + OffscreenCanvasRenderingContext2D: base_config_1.TYPE_VALUE, + Path2D: base_config_1.TYPE_VALUE, + PerformanceEventMap: base_config_1.TYPE, + Performance: base_config_1.TYPE_VALUE, + PerformanceEntry: base_config_1.TYPE_VALUE, + PerformanceMark: base_config_1.TYPE_VALUE, + PerformanceMeasure: base_config_1.TYPE_VALUE, + PerformanceObserver: base_config_1.TYPE_VALUE, + PerformanceObserverEntryList: base_config_1.TYPE_VALUE, + PerformanceResourceTiming: base_config_1.TYPE_VALUE, + PermissionStatusEventMap: base_config_1.TYPE, + PermissionStatus: base_config_1.TYPE_VALUE, + Permissions: base_config_1.TYPE_VALUE, + ProgressEvent: base_config_1.TYPE_VALUE, + PromiseRejectionEvent: base_config_1.TYPE_VALUE, + PushEvent: base_config_1.TYPE_VALUE, + PushManager: base_config_1.TYPE_VALUE, + PushMessageData: base_config_1.TYPE_VALUE, + PushSubscription: base_config_1.TYPE_VALUE, + PushSubscriptionOptions: base_config_1.TYPE_VALUE, + ReadableStream: base_config_1.TYPE_VALUE, + ReadableStreamDefaultController: base_config_1.TYPE_VALUE, + ReadableStreamDefaultReader: base_config_1.TYPE_VALUE, + ReadableStreamGenericReader: base_config_1.TYPE, + Request: base_config_1.TYPE_VALUE, + Response: base_config_1.TYPE_VALUE, + ServiceWorkerEventMap: base_config_1.TYPE, + ServiceWorker: base_config_1.TYPE_VALUE, + ServiceWorkerContainerEventMap: base_config_1.TYPE, + ServiceWorkerContainer: base_config_1.TYPE_VALUE, + ServiceWorkerGlobalScopeEventMap: base_config_1.TYPE, + ServiceWorkerGlobalScope: base_config_1.TYPE_VALUE, + ServiceWorkerRegistrationEventMap: base_config_1.TYPE, + ServiceWorkerRegistration: base_config_1.TYPE_VALUE, + SharedWorker: base_config_1.TYPE_VALUE, + SharedWorkerGlobalScopeEventMap: base_config_1.TYPE, + SharedWorkerGlobalScope: base_config_1.TYPE_VALUE, + StorageManager: base_config_1.TYPE_VALUE, + SubtleCrypto: base_config_1.TYPE_VALUE, + SyncEvent: base_config_1.TYPE_VALUE, + SyncManager: base_config_1.TYPE_VALUE, + TextDecoder: base_config_1.TYPE_VALUE, + TextDecoderCommon: base_config_1.TYPE, + TextDecoderStream: base_config_1.TYPE_VALUE, + TextEncoder: base_config_1.TYPE_VALUE, + TextEncoderCommon: base_config_1.TYPE, + TextEncoderStream: base_config_1.TYPE_VALUE, + TextMetrics: base_config_1.TYPE_VALUE, + TransformStream: base_config_1.TYPE_VALUE, + TransformStreamDefaultController: base_config_1.TYPE_VALUE, + URL: base_config_1.TYPE_VALUE, + URLSearchParams: base_config_1.TYPE_VALUE, + WEBGL_color_buffer_float: base_config_1.TYPE, + WEBGL_compressed_texture_astc: base_config_1.TYPE, + WEBGL_compressed_texture_s3tc: base_config_1.TYPE, + WEBGL_compressed_texture_s3tc_srgb: base_config_1.TYPE, + WEBGL_debug_renderer_info: base_config_1.TYPE, + WEBGL_debug_shaders: base_config_1.TYPE, + WEBGL_depth_texture: base_config_1.TYPE, + WEBGL_draw_buffers: base_config_1.TYPE, + WEBGL_lose_context: base_config_1.TYPE, + WebGL2RenderingContext: base_config_1.TYPE_VALUE, + WebGL2RenderingContextBase: base_config_1.TYPE, + WebGL2RenderingContextOverloads: base_config_1.TYPE, + WebGLActiveInfo: base_config_1.TYPE_VALUE, + WebGLBuffer: base_config_1.TYPE_VALUE, + WebGLContextEvent: base_config_1.TYPE_VALUE, + WebGLFramebuffer: base_config_1.TYPE_VALUE, + WebGLProgram: base_config_1.TYPE_VALUE, + WebGLQuery: base_config_1.TYPE_VALUE, + WebGLRenderbuffer: base_config_1.TYPE_VALUE, + WebGLRenderingContext: base_config_1.TYPE_VALUE, + WebGLRenderingContextBase: base_config_1.TYPE, + WebGLRenderingContextOverloads: base_config_1.TYPE, + WebGLSampler: base_config_1.TYPE_VALUE, + WebGLShader: base_config_1.TYPE_VALUE, + WebGLShaderPrecisionFormat: base_config_1.TYPE_VALUE, + WebGLSync: base_config_1.TYPE_VALUE, + WebGLTexture: base_config_1.TYPE_VALUE, + WebGLTransformFeedback: base_config_1.TYPE_VALUE, + WebGLUniformLocation: base_config_1.TYPE_VALUE, + WebGLVertexArrayObject: base_config_1.TYPE_VALUE, + WebGLVertexArrayObjectOES: base_config_1.TYPE, + WebSocketEventMap: base_config_1.TYPE, + WebSocket: base_config_1.TYPE_VALUE, + WindowClient: base_config_1.TYPE_VALUE, + WindowOrWorkerGlobalScope: base_config_1.TYPE, + WorkerEventMap: base_config_1.TYPE, + Worker: base_config_1.TYPE_VALUE, + WorkerGlobalScopeEventMap: base_config_1.TYPE, + WorkerGlobalScope: base_config_1.TYPE_VALUE, + WorkerLocation: base_config_1.TYPE_VALUE, + WorkerNavigator: base_config_1.TYPE_VALUE, + WritableStream: base_config_1.TYPE_VALUE, + WritableStreamDefaultController: base_config_1.TYPE_VALUE, + WritableStreamDefaultWriter: base_config_1.TYPE_VALUE, + XMLHttpRequestEventMap: base_config_1.TYPE, + XMLHttpRequest: base_config_1.TYPE_VALUE, + XMLHttpRequestEventTargetEventMap: base_config_1.TYPE, + XMLHttpRequestEventTarget: base_config_1.TYPE_VALUE, + XMLHttpRequestUpload: base_config_1.TYPE_VALUE, + EventListenerOrEventListenerObject: base_config_1.TYPE, + Console: base_config_1.TYPE, + WebAssembly: base_config_1.TYPE_VALUE, + FrameRequestCallback: base_config_1.TYPE, + OnErrorEventHandlerNonNull: base_config_1.TYPE, + PerformanceObserverCallback: base_config_1.TYPE, + QueuingStrategySize: base_config_1.TYPE, + TransformerFlushCallback: base_config_1.TYPE, + TransformerStartCallback: base_config_1.TYPE, + TransformerTransformCallback: base_config_1.TYPE, + UnderlyingSinkAbortCallback: base_config_1.TYPE, + UnderlyingSinkCloseCallback: base_config_1.TYPE, + UnderlyingSinkStartCallback: base_config_1.TYPE, + UnderlyingSinkWriteCallback: base_config_1.TYPE, + UnderlyingSourceCancelCallback: base_config_1.TYPE, + UnderlyingSourcePullCallback: base_config_1.TYPE, + UnderlyingSourceStartCallback: base_config_1.TYPE, + VoidFunction: base_config_1.TYPE, + HeadersInit: base_config_1.TYPE, + BodyInit: base_config_1.TYPE, + RequestInfo: base_config_1.TYPE, + BlobPart: base_config_1.TYPE, + DOMHighResTimeStamp: base_config_1.TYPE, + CanvasImageSource: base_config_1.TYPE, + OffscreenRenderingContext: base_config_1.TYPE, + MessageEventSource: base_config_1.TYPE, + ImageBitmapSource: base_config_1.TYPE, + OnErrorEventHandler: base_config_1.TYPE, + TimerHandler: base_config_1.TYPE, + PerformanceEntryList: base_config_1.TYPE, + PushMessageDataInit: base_config_1.TYPE, + ReadableStreamReader: base_config_1.TYPE, + ReadableStreamController: base_config_1.TYPE, + VibratePattern: base_config_1.TYPE, + AlgorithmIdentifier: base_config_1.TYPE, + HashAlgorithmIdentifier: base_config_1.TYPE, + BigInteger: base_config_1.TYPE, + NamedCurve: base_config_1.TYPE, + GLenum: base_config_1.TYPE, + GLboolean: base_config_1.TYPE, + GLbitfield: base_config_1.TYPE, + GLint: base_config_1.TYPE, + GLsizei: base_config_1.TYPE, + GLintptr: base_config_1.TYPE, + GLsizeiptr: base_config_1.TYPE, + GLuint: base_config_1.TYPE, + GLfloat: base_config_1.TYPE, + GLclampf: base_config_1.TYPE, + TexImageSource: base_config_1.TYPE, + Float32List: base_config_1.TYPE, + Int32List: base_config_1.TYPE, + GLint64: base_config_1.TYPE, + GLuint64: base_config_1.TYPE, + Uint32List: base_config_1.TYPE, + BufferSource: base_config_1.TYPE, + DOMTimeStamp: base_config_1.TYPE, + FormDataEntryValue: base_config_1.TYPE, + IDBValidKey: base_config_1.TYPE, + Transferable: base_config_1.TYPE, + ReadableStreamDefaultReadResult: base_config_1.TYPE, + BinaryType: base_config_1.TYPE, + CanvasDirection: base_config_1.TYPE, + CanvasFillRule: base_config_1.TYPE, + CanvasLineCap: base_config_1.TYPE, + CanvasLineJoin: base_config_1.TYPE, + CanvasTextAlign: base_config_1.TYPE, + CanvasTextBaseline: base_config_1.TYPE, + ClientTypes: base_config_1.TYPE, + ColorSpaceConversion: base_config_1.TYPE, + EndingType: base_config_1.TYPE, + FrameType: base_config_1.TYPE, + IDBCursorDirection: base_config_1.TYPE, + IDBRequestReadyState: base_config_1.TYPE, + IDBTransactionMode: base_config_1.TYPE, + ImageOrientation: base_config_1.TYPE, + ImageSmoothingQuality: base_config_1.TYPE, + KeyFormat: base_config_1.TYPE, + KeyType: base_config_1.TYPE, + KeyUsage: base_config_1.TYPE, + NotificationDirection: base_config_1.TYPE, + NotificationPermission: base_config_1.TYPE, + OffscreenRenderingContextId: base_config_1.TYPE, + PermissionName: base_config_1.TYPE, + PermissionState: base_config_1.TYPE, + PremultiplyAlpha: base_config_1.TYPE, + PushEncryptionKeyName: base_config_1.TYPE, + PushPermissionState: base_config_1.TYPE, + ReferrerPolicy: base_config_1.TYPE, + RequestCache: base_config_1.TYPE, + RequestCredentials: base_config_1.TYPE, + RequestDestination: base_config_1.TYPE, + RequestMode: base_config_1.TYPE, + RequestRedirect: base_config_1.TYPE, + ResizeQuality: base_config_1.TYPE, + ResponseType: base_config_1.TYPE, + ServiceWorkerState: base_config_1.TYPE, + ServiceWorkerUpdateViaCache: base_config_1.TYPE, + VisibilityState: base_config_1.TYPE, + WebGLPowerPreference: base_config_1.TYPE, + WorkerType: base_config_1.TYPE, + XMLHttpRequestResponseType: base_config_1.TYPE, }; //# sourceMappingURL=webworker.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map index 56390fe3e..199cf30e4 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map @@ -1 +1 @@ -{"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../src/lib/webworker.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../src/lib/webworker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts new file mode 100644 index 000000000..4969cd0f3 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts @@ -0,0 +1,25 @@ +import { TSESTree } from '@typescript-eslint/types'; +import { Referencer } from './Referencer'; +import { Visitor } from './Visitor'; +declare class ClassVisitor extends Visitor { + #private; + constructor(referencer: Referencer, node: TSESTree.ClassDeclaration | TSESTree.ClassExpression, emitDecoratorMetadata: boolean); + static visit(referencer: Referencer, node: TSESTree.ClassDeclaration | TSESTree.ClassExpression, emitDecoratorMetadata: boolean): void; + visit(node: TSESTree.Node | null | undefined): void; + protected visitClass(node: TSESTree.ClassDeclaration | TSESTree.ClassExpression): void; + protected visitClassProperty(node: TSESTree.TSAbstractClassProperty | TSESTree.ClassProperty): void; + protected visitFunctionParameterTypeAnnotation(node: TSESTree.Parameter, withDecorators: boolean): void; + protected visitMethodFunction(node: TSESTree.FunctionExpression, methodNode: TSESTree.MethodDefinition): void; + protected visitProperty(node: TSESTree.ClassProperty | TSESTree.TSAbstractClassProperty | TSESTree.TSAbstractMethodDefinition): void; + protected visitMethod(node: TSESTree.MethodDefinition): void; + protected visitType(node: TSESTree.Node | null | undefined): void; + protected visitMetadataType(node: TSESTree.TSTypeAnnotation | null | undefined, withDecorators: boolean): void; + protected ClassBody(node: TSESTree.ClassBody): void; + protected ClassProperty(node: TSESTree.ClassProperty): void; + protected MethodDefinition(node: TSESTree.MethodDefinition): void; + protected TSAbstractClassProperty(node: TSESTree.TSAbstractClassProperty): void; + protected TSAbstractMethodDefinition(node: TSESTree.TSAbstractMethodDefinition): void; + protected Identifier(node: TSESTree.Identifier): void; +} +export { ClassVisitor }; +//# sourceMappingURL=ClassVisitor.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map new file mode 100644 index 000000000..199701d24 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ClassVisitor.d.ts","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,cAAM,YAAa,SAAQ,OAAO;;gBAM9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO;IAQhC,MAAM,CAAC,KAAK,CACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO,GAC7B,IAAI;IASP,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAanD,SAAS,CAAC,UAAU,CAClB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,GACzD,IAAI;IAgCP,SAAS,CAAC,kBAAkB,CAC1B,IAAI,EAAE,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,aAAa,GAC9D,IAAI;IAWP,SAAS,CAAC,oCAAoC,CAC5C,IAAI,EAAE,QAAQ,CAAC,SAAS,EACxB,cAAc,EAAE,OAAO,GACtB,IAAI;IAUP,SAAS,CAAC,mBAAmB,CAC3B,IAAI,EAAE,QAAQ,CAAC,kBAAkB,EACjC,UAAU,EAAE,QAAQ,CAAC,gBAAgB,GACpC,IAAI;IAsHP,SAAS,CAAC,aAAa,CACrB,IAAI,EACA,QAAQ,CAAC,aAAa,GACtB,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,0BAA0B,GACtC,IAAI;IAYP,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAgB5D,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAOjE,SAAS,CAAC,iBAAiB,CACzB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAClD,cAAc,EAAE,OAAO,GACtB,IAAI;IA0CP,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI;IAMnD,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAI3D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAIjE,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EAAE,QAAQ,CAAC,uBAAuB,GACrC,IAAI;IAIP,SAAS,CAAC,0BAA0B,CAClC,IAAI,EAAE,QAAQ,CAAC,0BAA0B,GACxC,IAAI;IAIP,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI;CAGtD;AAsCD,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js new file mode 100644 index 000000000..92a748868 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js @@ -0,0 +1,303 @@ +"use strict"; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +var _ClassVisitor_classNode, _ClassVisitor_referencer, _ClassVisitor_emitDecoratorMetadata; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ClassVisitor = void 0; +const types_1 = require("@typescript-eslint/types"); +const definition_1 = require("../definition"); +const TypeVisitor_1 = require("./TypeVisitor"); +const Visitor_1 = require("./Visitor"); +class ClassVisitor extends Visitor_1.Visitor { + constructor(referencer, node, emitDecoratorMetadata) { + super(referencer); + _ClassVisitor_classNode.set(this, void 0); + _ClassVisitor_referencer.set(this, void 0); + _ClassVisitor_emitDecoratorMetadata.set(this, void 0); + __classPrivateFieldSet(this, _ClassVisitor_referencer, referencer, "f"); + __classPrivateFieldSet(this, _ClassVisitor_classNode, node, "f"); + __classPrivateFieldSet(this, _ClassVisitor_emitDecoratorMetadata, emitDecoratorMetadata, "f"); + } + static visit(referencer, node, emitDecoratorMetadata) { + const classVisitor = new ClassVisitor(referencer, node, emitDecoratorMetadata); + classVisitor.visitClass(node); + } + visit(node) { + // make sure we only handle the nodes we are designed to handle + if (node && node.type in this) { + super.visit(node); + } + else { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node); + } + } + /////////////////// + // Visit helpers // + /////////////////// + visitClass(node) { + var _a, _b; + if (node.type === types_1.AST_NODE_TYPES.ClassDeclaration && node.id) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f") + .currentScope() + .defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node)); + } + (_a = node.decorators) === null || _a === void 0 ? void 0 : _a.forEach(d => __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(d)); + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").scopeManager.nestClassScope(node); + if (node.id) { + // define the class name again inside the new scope + // references to the class should not resolve directly to the parent class + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f") + .currentScope() + .defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node)); + } + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.superClass); + // visit the type param declarations + this.visitType(node.typeParameters); + // then the usages + this.visitType(node.superTypeParameters); + (_b = node.implements) === null || _b === void 0 ? void 0 : _b.forEach(imp => this.visitType(imp)); + this.visit(node.body); + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").close(node); + } + visitClassProperty(node) { + this.visitProperty(node); + /** + * class A { + * @meta // <--- check this + * foo: Type; + * } + */ + this.visitMetadataType(node.typeAnnotation, !!node.decorators); + } + visitFunctionParameterTypeAnnotation(node, withDecorators) { + if ('typeAnnotation' in node) { + this.visitMetadataType(node.typeAnnotation, withDecorators); + } + else if (node.type === types_1.AST_NODE_TYPES.AssignmentPattern) { + this.visitMetadataType(node.left.typeAnnotation, withDecorators); + } + else if (node.type === types_1.AST_NODE_TYPES.TSParameterProperty) { + this.visitFunctionParameterTypeAnnotation(node.parameter, withDecorators); + } + } + visitMethodFunction(node, methodNode) { + var _a, _b; + if (node.id) { + // FunctionExpression with name creates its special scope; + // FunctionExpressionNameScope. + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").scopeManager.nestFunctionExpressionNameScope(node); + } + // Consider this function is in the MethodDefinition. + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").scopeManager.nestFunctionScope(node, true); + /** + * class A { + * @meta // <--- check this + * foo(a: Type) {} + * + * @meta // <--- check this + * foo(): Type {} + * } + */ + let withMethodDecorators = !!methodNode.decorators; + /** + * class A { + * foo( + * @meta // <--- check this + * a: Type + * ) {} + * + * set foo( + * @meta // <--- EXCEPT this. TS do nothing for this + * a: Type + * ) {} + * } + */ + withMethodDecorators = + withMethodDecorators || + (methodNode.kind !== 'set' && + node.params.some(param => param.decorators)); + if (!withMethodDecorators && methodNode.kind === 'set') { + const keyName = getLiteralMethodKeyName(methodNode); + /** + * class A { + * @meta // <--- check this + * get a() {} + * set ['a'](v: Type) {} + * } + */ + if (keyName !== null && + ((_a = __classPrivateFieldGet(this, _ClassVisitor_classNode, "f").body.body.find((node) => node !== methodNode && + node.type === types_1.AST_NODE_TYPES.MethodDefinition && + // Node must both be static or not + node.static === methodNode.static && + getLiteralMethodKeyName(node) === keyName)) === null || _a === void 0 ? void 0 : _a.decorators)) { + withMethodDecorators = true; + } + } + /** + * @meta // <--- check this + * class A { + * constructor(a: Type) {} + * } + */ + if (!withMethodDecorators && + methodNode.kind === 'constructor' && + __classPrivateFieldGet(this, _ClassVisitor_classNode, "f").decorators) { + withMethodDecorators = true; + } + // Process parameter declarations. + for (const param of node.params) { + this.visitPattern(param, (pattern, info) => { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f") + .currentScope() + .defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest)); + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").referencingDefaultValue(pattern, info.assignments, null, true); + }, { processRightHandNodes: true }); + this.visitFunctionParameterTypeAnnotation(param, withMethodDecorators); + (_b = param.decorators) === null || _b === void 0 ? void 0 : _b.forEach(d => this.visit(d)); + } + this.visitMetadataType(node.returnType, withMethodDecorators); + this.visitType(node.typeParameters); + // In TypeScript there are a number of function-like constructs which have no body, + // so check it exists before traversing + if (node.body) { + // Skip BlockStatement to prevent creating BlockStatement scope. + if (node.body.type === types_1.AST_NODE_TYPES.BlockStatement) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visitChildren(node.body); + } + else { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.body); + } + } + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").close(node); + } + visitProperty(node) { + var _a; + if (node.computed) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.key); + } + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.value); + if ('decorators' in node) { + (_a = node.decorators) === null || _a === void 0 ? void 0 : _a.forEach(d => __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(d)); + } + } + visitMethod(node) { + var _a; + if (node.computed) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.key); + } + if (node.value.type === types_1.AST_NODE_TYPES.FunctionExpression) { + this.visitMethodFunction(node.value, node); + } + else { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.value); + } + if ('decorators' in node) { + (_a = node.decorators) === null || _a === void 0 ? void 0 : _a.forEach(d => __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(d)); + } + } + visitType(node) { + if (!node) { + return; + } + TypeVisitor_1.TypeVisitor.visit(__classPrivateFieldGet(this, _ClassVisitor_referencer, "f"), node); + } + visitMetadataType(node, withDecorators) { + if (!node) { + return; + } + // emit decorators metadata only work for TSTypeReference in ClassDeclaration + if (__classPrivateFieldGet(this, _ClassVisitor_classNode, "f").type === types_1.AST_NODE_TYPES.ClassDeclaration && + !__classPrivateFieldGet(this, _ClassVisitor_classNode, "f").declare && + node.typeAnnotation.type === types_1.AST_NODE_TYPES.TSTypeReference && + __classPrivateFieldGet(this, _ClassVisitor_emitDecoratorMetadata, "f")) { + let identifier; + if (node.typeAnnotation.typeName.type === types_1.AST_NODE_TYPES.TSQualifiedName) { + let iter = node.typeAnnotation.typeName; + while (iter.left.type === types_1.AST_NODE_TYPES.TSQualifiedName) { + iter = iter.left; + } + identifier = iter.left; + } + else { + identifier = node.typeAnnotation.typeName; + } + if (withDecorators) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").currentScope().referenceDualValueType(identifier); + if (node.typeAnnotation.typeParameters) { + this.visitType(node.typeAnnotation.typeParameters); + } + // everything is handled now + return; + } + } + this.visitType(node); + } + ///////////////////// + // Visit selectors // + ///////////////////// + ClassBody(node) { + // this is here on purpose so that this visitor explicitly declares visitors + // for all nodes it cares about (see the instance visit method above) + this.visitChildren(node); + } + ClassProperty(node) { + this.visitClassProperty(node); + } + MethodDefinition(node) { + this.visitMethod(node); + } + TSAbstractClassProperty(node) { + this.visitClassProperty(node); + } + TSAbstractMethodDefinition(node) { + this.visitProperty(node); + } + Identifier(node) { + __classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node); + } +} +exports.ClassVisitor = ClassVisitor; +_ClassVisitor_classNode = new WeakMap(), _ClassVisitor_referencer = new WeakMap(), _ClassVisitor_emitDecoratorMetadata = new WeakMap(); +/** + * Only if key is one of [identifier, string, number], ts will combine metadata of accessors . + * class A { + * get a() {} + * set ['a'](v: Type) {} + * + * get [1]() {} + * set [1](v: Type) {} + * + * // Following won't be combined + * get [key]() {} + * set [key](v: Type) {} + * + * get [true]() {} + * set [true](v: Type) {} + * + * get ['a'+'b']() {} + * set ['a'+'b']() {} + * } + */ +function getLiteralMethodKeyName(node) { + if (node.computed && node.key.type === types_1.AST_NODE_TYPES.Literal) { + if (typeof node.key.value === 'string' || + typeof node.key.value === 'number') { + return node.key.value; + } + } + else if (!node.computed && node.key.type === types_1.AST_NODE_TYPES.Identifier) { + return node.key.name; + } + return null; +} +//# sourceMappingURL=ClassVisitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map new file mode 100644 index 000000000..2d73b68a6 --- /dev/null +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ClassVisitor.js","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoE;AACpE,8CAAyE;AAEzE,+CAA4C;AAC5C,uCAAoC;AAEpC,MAAM,YAAa,SAAQ,iBAAO;IAKhC,YACE,UAAsB,EACtB,IAA0D,EAC1D,qBAA8B;QAE9B,KAAK,CAAC,UAAU,CAAC,CAAC;QATpB,0CAA0E;QAC1E,2CAAiC;QACjC,sDAAyC;QAQvC,uBAAA,IAAI,4BAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,2BAAc,IAAI,MAAA,CAAC;QACvB,uBAAA,IAAI,uCAA0B,qBAAqB,MAAA,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAK,CACV,UAAsB,EACtB,IAA0D,EAC1D,qBAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,UAAU,EACV,IAAI,EACJ,qBAAqB,CACtB,CAAC;QACF,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAsC;QAC1C,+DAA+D;QAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAC7B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM;YACL,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IAET,UAAU,CAClB,IAA0D;;QAE1D,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE;YAC5D,uBAAA,IAAI,gCAAY;iBACb,YAAY,EAAE;iBACd,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,gCAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SACtE;QAED,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,uBAAA,IAAI,gCAAY,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,mDAAmD;YACnD,0EAA0E;YAC1E,uBAAA,IAAI,gCAAY;iBACb,YAAY,EAAE;iBACd,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,gCAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SACtE;QAED,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,kBAAkB;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,kBAAkB,CAC1B,IAA+D;QAE/D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB;;;;;WAKG;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAES,oCAAoC,CAC5C,IAAwB,EACxB,cAAuB;QAEvB,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;SAC7D;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE;YACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;SAClE;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,EAAE;YAC3D,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;SAC3E;IACH,CAAC;IAES,mBAAmB,CAC3B,IAAiC,EACjC,UAAqC;;QAErC,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,0DAA0D;YAC1D,+BAA+B;YAC/B,uBAAA,IAAI,gCAAY,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;SACrE;QAED,qDAAqD;QACrD,uBAAA,IAAI,gCAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE5D;;;;;;;;WAQG;QACH,IAAI,oBAAoB,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACnD;;;;;;;;;;;;WAYG;QACH,oBAAoB;YAClB,oBAAoB;gBACpB,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,oBAAoB,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE;YACtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEpD;;;;;;eAMG;YACH,IACE,OAAO,KAAK,IAAI;iBAChB,MAAA,uBAAA,IAAI,+BAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,CAAC,IAAI,EAAqC,EAAE,CAC1C,IAAI,KAAK,UAAU;oBACnB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;oBAC7C,kCAAkC;oBAClC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;oBACjC,uBAAuB,CAAC,IAAI,CAAC,KAAK,OAAO,CAC5C,0CAAE,UAAU,CAAA,EACb;gBACA,oBAAoB,GAAG,IAAI,CAAC;aAC7B;SACF;QAED;;;;;WAKG;QACH,IACE,CAAC,oBAAoB;YACrB,UAAU,CAAC,IAAI,KAAK,aAAa;YACjC,uBAAA,IAAI,+BAAW,CAAC,UAAU,EAC1B;YACA,oBAAoB,GAAG,IAAI,CAAC;SAC7B;QAED,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,YAAY,CACf,KAAK,EACL,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBAChB,uBAAA,IAAI,gCAAY;qBACb,YAAY,EAAE;qBACd,gBAAgB,CACf,OAAO,EACP,IAAI,gCAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAClD,CAAC;gBAEJ,uBAAA,IAAI,gCAAY,CAAC,uBAAuB,CACtC,OAAO,EACP,IAAI,CAAC,WAAW,EAChB,IAAI,EACJ,IAAI,CACL,CAAC;YACJ,CAAC,EACD,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC,CAAC;YACF,IAAI,CAAC,oCAAoC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YACvE,MAAA,KAAK,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,mFAAmF;QACnF,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,gEAAgE;YAChE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE;gBACpD,uBAAA,IAAI,gCAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;iBAAM;gBACL,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;QAED,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,aAAa,CACrB,IAGuC;;QAEvC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC;IAES,WAAW,CAAC,IAA+B;;QACnD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,EAAE;YACzD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5C;aAAM;YACL,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC;IAES,SAAS,CAAC,IAAsC;QACxD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,yBAAW,CAAC,KAAK,CAAC,uBAAA,IAAI,gCAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAES,iBAAiB,CACzB,IAAkD,EAClD,cAAuB;QAEvB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,6EAA6E;QAC7E,IACE,uBAAA,IAAI,+BAAW,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;YACxD,CAAC,uBAAA,IAAI,+BAAW,CAAC,OAAO;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;YAC3D,uBAAA,IAAI,2CAAuB,EAC3B;YACA,IAAI,UAA+B,CAAC;YACpC,IACE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EACpE;gBACA,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE;oBACxD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;iBAClB;gBACD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;aACxB;iBAAM;gBACL,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC3C;YAED,IAAI,cAAc,EAAE;gBAClB,uBAAA,IAAI,gCAAY,CAAC,YAAY,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBAEnE,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;oBACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;iBACpD;gBAED,4BAA4B;gBAC5B,OAAO;aACR;SACF;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IAEX,SAAS,CAAC,IAAwB;QAC1C,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,aAAa,CAAC,IAA4B;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,gBAAgB,CAAC,IAA+B;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAES,uBAAuB,CAC/B,IAAsC;QAEtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,0BAA0B,CAClC,IAAyC;QAEzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,UAAU,CAAC,IAAyB;QAC5C,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAsCQ,oCAAY;;AApCrB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,uBAAuB,CAC9B,IAA+B;IAE/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE;QAC7D,IACE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EAClC;YACA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;SACvB;KACF;SAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE;QACxE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;KACtB;IACD,OAAO,IAAI,CAAC;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js index 67c77246e..ae26173d6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _referencer, _exportNode; +var _ExportVisitor_referencer, _ExportVisitor_exportNode; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExportVisitor = void 0; const types_1 = require("@typescript-eslint/types"); @@ -20,22 +18,22 @@ const Visitor_1 = require("./Visitor"); class ExportVisitor extends Visitor_1.Visitor { constructor(node, referencer) { super(referencer); - _referencer.set(this, void 0); - _exportNode.set(this, void 0); - __classPrivateFieldSet(this, _exportNode, node); - __classPrivateFieldSet(this, _referencer, referencer); + _ExportVisitor_referencer.set(this, void 0); + _ExportVisitor_exportNode.set(this, void 0); + __classPrivateFieldSet(this, _ExportVisitor_exportNode, node, "f"); + __classPrivateFieldSet(this, _ExportVisitor_referencer, referencer, "f"); } static visit(referencer, node) { const exportReferencer = new ExportVisitor(node, referencer); exportReferencer.visit(node); } Identifier(node) { - if (__classPrivateFieldGet(this, _exportNode).exportKind === 'type') { + if (__classPrivateFieldGet(this, _ExportVisitor_exportNode, "f").exportKind === 'type') { // type exports can only reference types - __classPrivateFieldGet(this, _referencer).currentScope().referenceType(node); + __classPrivateFieldGet(this, _ExportVisitor_referencer, "f").currentScope().referenceType(node); } else { - __classPrivateFieldGet(this, _referencer).currentScope().referenceDualValueType(node); + __classPrivateFieldGet(this, _ExportVisitor_referencer, "f").currentScope().referenceDualValueType(node); } } ExportDefaultDeclaration(node) { @@ -71,5 +69,5 @@ class ExportVisitor extends Visitor_1.Visitor { } } exports.ExportVisitor = ExportVisitor; -_referencer = new WeakMap(), _exportNode = new WeakMap(); +_ExportVisitor_referencer = new WeakMap(), _ExportVisitor_exportNode = new WeakMap(); //# sourceMappingURL=ExportVisitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js.map index 607277429..a62ccf19e 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js.map @@ -1 +1 @@ -{"version":3,"file":"ExportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ExportVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAoE;AAEpE,uCAAoC;AAOpC,MAAM,aAAc,SAAQ,iBAAO;IAIjC,YAAY,IAAgB,EAAE,UAAsB;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QAJpB,8BAAiC;QACjC,8BAAiC;QAI/B,uBAAA,IAAI,eAAe,IAAI,EAAC;QACxB,uBAAA,IAAI,eAAe,UAAU,EAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAsB,EAAE,IAAgB;QACnD,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,UAAU,CAAC,IAAyB;QAC5C,IAAI,0CAAiB,UAAU,KAAK,MAAM,EAAE;YAC1C,wCAAwC;YACxC,0CAAiB,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACrD;aAAM;YACL,0CAAiB,YAAY,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAC9D;IACH,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE;YACvD,oBAAoB;YACpB,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC9B;aAAM;YACL,sBAAsB;YACtB,sBAAsB;YACtB,MAAM;YACN,+GAA+G;SAChH;IACH,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,yBAAyB;YACzB,0EAA0E;YAC1E,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,gBAAgB;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,sBAAsB;YACtB,6EAA6E;SAC9E;IACH,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file +{"version":3,"file":"ExportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ExportVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoE;AAEpE,uCAAoC;AAOpC,MAAM,aAAc,SAAQ,iBAAO;IAIjC,YAAY,IAAgB,EAAE,UAAsB;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QAJpB,4CAAiC;QACjC,4CAAiC;QAI/B,uBAAA,IAAI,6BAAe,IAAI,MAAA,CAAC;QACxB,uBAAA,IAAI,6BAAe,UAAU,MAAA,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAsB,EAAE,IAAgB;QACnD,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,UAAU,CAAC,IAAyB;QAC5C,IAAI,uBAAA,IAAI,iCAAY,CAAC,UAAU,KAAK,MAAM,EAAE;YAC1C,wCAAwC;YACxC,uBAAA,IAAI,iCAAY,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACrD;aAAM;YACL,uBAAA,IAAI,iCAAY,CAAC,YAAY,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAC9D;IACH,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE;YACvD,oBAAoB;YACpB,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC9B;aAAM;YACL,sBAAsB;YACtB,sBAAsB;YACtB,MAAM;YACN,+GAA+G;SAChH;IACH,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,yBAAyB;YACzB,0EAA0E;YAC1E,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,gBAAgB;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,sBAAsB;YACtB,6EAA6E;SAC9E;IACH,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js index dcc08d6b9..7f494b288 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _declaration, _referencer; +var _ImportVisitor_declaration, _ImportVisitor_referencer; Object.defineProperty(exports, "__esModule", { value: true }); exports.ImportVisitor = void 0; const definition_1 = require("../definition"); @@ -20,18 +18,19 @@ const Visitor_1 = require("./Visitor"); class ImportVisitor extends Visitor_1.Visitor { constructor(declaration, referencer) { super(referencer); - _declaration.set(this, void 0); - _referencer.set(this, void 0); - __classPrivateFieldSet(this, _declaration, declaration); - __classPrivateFieldSet(this, _referencer, referencer); + _ImportVisitor_declaration.set(this, void 0); + _ImportVisitor_referencer.set(this, void 0); + __classPrivateFieldSet(this, _ImportVisitor_declaration, declaration, "f"); + __classPrivateFieldSet(this, _ImportVisitor_referencer, referencer, "f"); } static visit(referencer, declaration) { const importReferencer = new ImportVisitor(declaration, referencer); importReferencer.visit(declaration); } visitImport(id, specifier) { - __classPrivateFieldGet(this, _referencer).currentScope() - .defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier, __classPrivateFieldGet(this, _declaration))); + __classPrivateFieldGet(this, _ImportVisitor_referencer, "f") + .currentScope() + .defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier, __classPrivateFieldGet(this, _ImportVisitor_declaration, "f"))); } ImportNamespaceSpecifier(node) { const local = node.local; @@ -47,5 +46,5 @@ class ImportVisitor extends Visitor_1.Visitor { } } exports.ImportVisitor = ImportVisitor; -_declaration = new WeakMap(), _referencer = new WeakMap(); +_ImportVisitor_declaration = new WeakMap(), _ImportVisitor_referencer = new WeakMap(); //# sourceMappingURL=ImportVisitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js.map index 220a7c856..32e23b933 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js.map @@ -1 +1 @@ -{"version":3,"file":"ImportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ImportVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAwD;AAExD,uCAAoC;AAEpC,MAAM,aAAc,SAAQ,iBAAO;IAIjC,YAAY,WAAuC,EAAE,UAAsB;QACzE,KAAK,CAAC,UAAU,CAAC,CAAC;QAJpB,+BAAkD;QAClD,8BAAiC;QAI/B,uBAAA,IAAI,gBAAgB,WAAW,EAAC;QAChC,uBAAA,IAAI,eAAe,UAAU,EAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,UAAsB,EACtB,WAAuC;QAEvC,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CACnB,EAAuB,EACvB,SAG4B;QAE5B,0CACG,YAAY,EAAE;aACd,gBAAgB,CACf,EAAE,EACF,IAAI,oCAAuB,CAAC,EAAE,EAAE,SAAS,6CAAoB,CAC9D,CAAC;IACN,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file +{"version":3,"file":"ImportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ImportVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,8CAAwD;AAExD,uCAAoC;AAEpC,MAAM,aAAc,SAAQ,iBAAO;IAIjC,YAAY,WAAuC,EAAE,UAAsB;QACzE,KAAK,CAAC,UAAU,CAAC,CAAC;QAJpB,6CAAkD;QAClD,4CAAiC;QAI/B,uBAAA,IAAI,8BAAgB,WAAW,MAAA,CAAC;QAChC,uBAAA,IAAI,6BAAe,UAAU,MAAA,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,UAAsB,EACtB,WAAuC;QAEvC,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CACnB,EAAuB,EACvB,SAG4B;QAE5B,uBAAA,IAAI,iCAAY;aACb,YAAY,EAAE;aACd,gBAAgB,CACf,EAAE,EACF,IAAI,oCAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,uBAAA,IAAI,kCAAa,CAAC,CAC9D,CAAC;IACN,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js index 6e96a7bcd..d4993529a 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _rootPattern, _callback, _assignments, _restElements; +var _PatternVisitor_rootPattern, _PatternVisitor_callback, _PatternVisitor_assignments, _PatternVisitor_restElements; Object.defineProperty(exports, "__esModule", { value: true }); exports.PatternVisitor = void 0; const types_1 = require("@typescript-eslint/types"); @@ -20,13 +18,13 @@ const Visitor_1 = require("./Visitor"); class PatternVisitor extends Visitor_1.VisitorBase { constructor(options, rootPattern, callback) { super(options); - _rootPattern.set(this, void 0); - _callback.set(this, void 0); - _assignments.set(this, []); + _PatternVisitor_rootPattern.set(this, void 0); + _PatternVisitor_callback.set(this, void 0); + _PatternVisitor_assignments.set(this, []); this.rightHandNodes = []; - _restElements.set(this, []); - __classPrivateFieldSet(this, _rootPattern, rootPattern); - __classPrivateFieldSet(this, _callback, callback); + _PatternVisitor_restElements.set(this, []); + __classPrivateFieldSet(this, _PatternVisitor_rootPattern, rootPattern, "f"); + __classPrivateFieldSet(this, _PatternVisitor_callback, callback, "f"); } static isPattern(node) { const nodeType = node.type; @@ -46,16 +44,16 @@ class PatternVisitor extends Visitor_1.VisitorBase { } } AssignmentExpression(node) { - __classPrivateFieldGet(this, _assignments).push(node); + __classPrivateFieldGet(this, _PatternVisitor_assignments, "f").push(node); this.visit(node.left); this.rightHandNodes.push(node.right); - __classPrivateFieldGet(this, _assignments).pop(); + __classPrivateFieldGet(this, _PatternVisitor_assignments, "f").pop(); } AssignmentPattern(pattern) { - __classPrivateFieldGet(this, _assignments).push(pattern); + __classPrivateFieldGet(this, _PatternVisitor_assignments, "f").push(pattern); this.visit(pattern.left); this.rightHandNodes.push(pattern.right); - __classPrivateFieldGet(this, _assignments).pop(); + __classPrivateFieldGet(this, _PatternVisitor_assignments, "f").pop(); } CallExpression(node) { // arguments are right hand nodes. @@ -69,13 +67,13 @@ class PatternVisitor extends Visitor_1.VisitorBase { } Identifier(pattern) { var _a; - const lastRestElement = (_a = __classPrivateFieldGet(this, _restElements)[__classPrivateFieldGet(this, _restElements).length - 1]) !== null && _a !== void 0 ? _a : null; - __classPrivateFieldGet(this, _callback).call(this, pattern, { - topLevel: pattern === __classPrivateFieldGet(this, _rootPattern), + const lastRestElement = (_a = __classPrivateFieldGet(this, _PatternVisitor_restElements, "f")[__classPrivateFieldGet(this, _PatternVisitor_restElements, "f").length - 1]) !== null && _a !== void 0 ? _a : null; + __classPrivateFieldGet(this, _PatternVisitor_callback, "f").call(this, pattern, { + topLevel: pattern === __classPrivateFieldGet(this, _PatternVisitor_rootPattern, "f"), rest: lastRestElement !== null && lastRestElement !== undefined && lastRestElement.argument === pattern, - assignments: __classPrivateFieldGet(this, _assignments), + assignments: __classPrivateFieldGet(this, _PatternVisitor_assignments, "f"), }); } MemberExpression(node) { @@ -97,9 +95,9 @@ class PatternVisitor extends Visitor_1.VisitorBase { this.visit(property.value); } RestElement(pattern) { - __classPrivateFieldGet(this, _restElements).push(pattern); + __classPrivateFieldGet(this, _PatternVisitor_restElements, "f").push(pattern); this.visit(pattern.argument); - __classPrivateFieldGet(this, _restElements).pop(); + __classPrivateFieldGet(this, _PatternVisitor_restElements, "f").pop(); } SpreadElement(node) { this.visit(node.argument); @@ -109,5 +107,5 @@ class PatternVisitor extends Visitor_1.VisitorBase { } } exports.PatternVisitor = PatternVisitor; -_rootPattern = new WeakMap(), _callback = new WeakMap(), _assignments = new WeakMap(), _restElements = new WeakMap(); +_PatternVisitor_rootPattern = new WeakMap(), _PatternVisitor_callback = new WeakMap(), _PatternVisitor_assignments = new WeakMap(), _PatternVisitor_restElements = new WeakMap(); //# sourceMappingURL=PatternVisitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map index e4c57bdf9..9e3866cca 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map @@ -1 +1 @@ -{"version":3,"file":"PatternVisitor.js","sourceRoot":"","sources":["../../src/referencer/PatternVisitor.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"PatternVisitor.js","sourceRoot":"","sources":["../../src/referencer/PatternVisitor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js index 31bd82893..23627f6e1 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _flag, _referenceType; +var _Reference_flag, _Reference_referenceType; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReferenceTypeFlag = exports.ReferenceFlag = exports.Reference = void 0; const ID_1 = require("../ID"); @@ -42,70 +40,70 @@ class Reference { /** * The read-write mode of the reference. */ - _flag.set(this, void 0); + _Reference_flag.set(this, void 0); /** * In some cases, a reference may be a type, value or both a type and value reference. */ - _referenceType.set(this, void 0); + _Reference_referenceType.set(this, void 0); this.identifier = identifier; this.from = scope; this.resolved = null; - __classPrivateFieldSet(this, _flag, flag); + __classPrivateFieldSet(this, _Reference_flag, flag, "f"); if (this.isWrite()) { this.writeExpr = writeExpr; this.init = init; } this.maybeImplicitGlobal = maybeImplicitGlobal; - __classPrivateFieldSet(this, _referenceType, referenceType); + __classPrivateFieldSet(this, _Reference_referenceType, referenceType, "f"); } /** * True if this reference can reference types */ get isTypeReference() { - return (__classPrivateFieldGet(this, _referenceType) & ReferenceTypeFlag.Type) !== 0; + return (__classPrivateFieldGet(this, _Reference_referenceType, "f") & ReferenceTypeFlag.Type) !== 0; } /** * True if this reference can reference values */ get isValueReference() { - return (__classPrivateFieldGet(this, _referenceType) & ReferenceTypeFlag.Value) !== 0; + return (__classPrivateFieldGet(this, _Reference_referenceType, "f") & ReferenceTypeFlag.Value) !== 0; } /** * Whether the reference is writeable. * @public */ isWrite() { - return !!(__classPrivateFieldGet(this, _flag) & ReferenceFlag.Write); + return !!(__classPrivateFieldGet(this, _Reference_flag, "f") & ReferenceFlag.Write); } /** * Whether the reference is readable. * @public */ isRead() { - return !!(__classPrivateFieldGet(this, _flag) & ReferenceFlag.Read); + return !!(__classPrivateFieldGet(this, _Reference_flag, "f") & ReferenceFlag.Read); } /** * Whether the reference is read-only. * @public */ isReadOnly() { - return __classPrivateFieldGet(this, _flag) === ReferenceFlag.Read; + return __classPrivateFieldGet(this, _Reference_flag, "f") === ReferenceFlag.Read; } /** * Whether the reference is write-only. * @public */ isWriteOnly() { - return __classPrivateFieldGet(this, _flag) === ReferenceFlag.Write; + return __classPrivateFieldGet(this, _Reference_flag, "f") === ReferenceFlag.Write; } /** * Whether the reference is read-write. * @public */ isReadWrite() { - return __classPrivateFieldGet(this, _flag) === ReferenceFlag.ReadWrite; + return __classPrivateFieldGet(this, _Reference_flag, "f") === ReferenceFlag.ReadWrite; } } exports.Reference = Reference; -_flag = new WeakMap(), _referenceType = new WeakMap(); +_Reference_flag = new WeakMap(), _Reference_referenceType = new WeakMap(); //# sourceMappingURL=Reference.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map index 159218251..f0cabb324 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map @@ -1 +1 @@ -{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/referencer/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8BAA0C;AAI1C,IAAK,aAIJ;AAJD,WAAK,aAAa;IAChB,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,2DAAe,CAAA;AACjB,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AA0ImB,sCAAa;AAlIjC,MAAM,SAAS,GAAG,sBAAiB,EAAE,CAAC;AAEtC,IAAK,iBAGJ;AAHD,WAAK,iBAAiB;IACpB,2DAAW,CAAA;IACX,yDAAU,CAAA;AACZ,CAAC,EAHI,iBAAiB,KAAjB,iBAAiB,QAGrB;AA6HkC,8CAAiB;AA3HpD;;GAEG;AACH,MAAM,SAAS;IAwDb,YACE,UAAwD,EACxD,KAAY,EACZ,IAAmB,EACnB,SAAgC,EAChC,mBAAoD,EACpD,IAAc,EACd,aAAa,GAAG,iBAAiB,CAAC,KAAK;QA9DzC;;WAEG;QACa,QAAG,GAAW,SAAS,EAAE,CAAC;QAC1C;;WAEG;QACH,wBAA8B;QA6B9B;;WAEG;QACH,iCAA2C;QAyBzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,uBAAA,IAAI,SAAS,IAAI,EAAC;QAElB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,uBAAA,IAAI,kBAAkB,aAAa,EAAC;IACtC,CAAC;IAnCD;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,CAAC,+CAAsB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,+CAAsB,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAyBD;;;OAGG;IACI,OAAO;QACZ,OAAO,CAAC,CAAC,CAAC,sCAAa,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,CAAC,CAAC,CAAC,sCAAa,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,wCAAe,aAAa,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,wCAAe,aAAa,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,wCAAe,aAAa,CAAC,SAAS,CAAC;IAChD,CAAC;CACF;AAEQ,8BAAS"} \ No newline at end of file +{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/referencer/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,8BAA0C;AAI1C,IAAK,aAIJ;AAJD,WAAK,aAAa;IAChB,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,2DAAe,CAAA;AACjB,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AA0ImB,sCAAa;AAlIjC,MAAM,SAAS,GAAG,sBAAiB,EAAE,CAAC;AAEtC,IAAK,iBAGJ;AAHD,WAAK,iBAAiB;IACpB,2DAAW,CAAA;IACX,yDAAU,CAAA;AACZ,CAAC,EAHI,iBAAiB,KAAjB,iBAAiB,QAGrB;AA6HkC,8CAAiB;AA3HpD;;GAEG;AACH,MAAM,SAAS;IAwDb,YACE,UAAwD,EACxD,KAAY,EACZ,IAAmB,EACnB,SAAgC,EAChC,mBAAoD,EACpD,IAAc,EACd,aAAa,GAAG,iBAAiB,CAAC,KAAK;QA9DzC;;WAEG;QACa,QAAG,GAAW,SAAS,EAAE,CAAC;QAC1C;;WAEG;QACH,kCAA8B;QA6B9B;;WAEG;QACH,2CAA2C;QAyBzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,uBAAA,IAAI,mBAAS,IAAI,MAAA,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,uBAAA,IAAI,4BAAkB,aAAa,MAAA,CAAC;IACtC,CAAC;IAnCD;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,CAAC,uBAAA,IAAI,gCAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,uBAAA,IAAI,gCAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAyBD;;;OAGG;IACI,OAAO;QACZ,OAAO,CAAC,CAAC,CAAC,uBAAA,IAAI,uBAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,CAAC,CAAC,CAAC,uBAAA,IAAI,uBAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,uBAAA,IAAI,uBAAM,KAAK,aAAa,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,uBAAA,IAAI,uBAAM,KAAK,aAAa,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,uBAAA,IAAI,uBAAM,KAAK,aAAa,CAAC,SAAS,CAAC;IAChD,CAAC;CACF;AAEQ,8BAAS"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts index 86346bc3a..f5b26cdaa 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts @@ -7,6 +7,7 @@ interface ReferencerOptions extends VisitorOptions { jsxPragma: string; jsxFragmentName: string | null; lib: Lib[]; + emitDecoratorMetadata: boolean; } declare class Referencer extends Visitor { #private; @@ -15,9 +16,7 @@ declare class Referencer extends Visitor { currentScope(): Scope; currentScope(throwOnNull: true): Scope | null; close(node: TSESTree.Node): void; - protected pushInnerMethodDefinition(isInnerMethodDefinition: boolean): boolean; - protected popInnerMethodDefinition(isInnerMethodDefinition: boolean | undefined): void; - protected referencingDefaultValue(pattern: TSESTree.Identifier, assignments: (TSESTree.AssignmentExpression | TSESTree.AssignmentPattern)[], maybeImplicitGlobal: ReferenceImplicitGlobal | null, init: boolean): void; + referencingDefaultValue(pattern: TSESTree.Identifier, assignments: (TSESTree.AssignmentExpression | TSESTree.AssignmentPattern)[], maybeImplicitGlobal: ReferenceImplicitGlobal | null, init: boolean): void; private populateGlobalsFromLib; /** * Searches for a variable named "name" in the upper scopes and adds a pseudo-reference from itself to itself @@ -26,11 +25,10 @@ declare class Referencer extends Visitor { private referenceJsxPragma; private referenceJsxFragment; protected visitClass(node: TSESTree.ClassDeclaration | TSESTree.ClassExpression): void; - protected visitClassProperty(node: TSESTree.TSAbstractClassProperty | TSESTree.ClassProperty): void; protected visitForIn(node: TSESTree.ForInStatement | TSESTree.ForOfStatement): void; protected visitFunctionParameterTypeAnnotation(node: TSESTree.Parameter): void; protected visitFunction(node: TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression | TSESTree.TSDeclareFunction | TSESTree.TSEmptyBodyFunctionExpression): void; - protected visitProperty(node: TSESTree.ClassProperty | TSESTree.MethodDefinition | TSESTree.Property | TSESTree.TSAbstractClassProperty | TSESTree.TSAbstractMethodDefinition): void; + protected visitProperty(node: TSESTree.Property): void; protected visitType(node: TSESTree.Node | null | undefined): void; protected visitTypeAssertion(node: TSESTree.TSAsExpression | TSESTree.TSTypeAssertion): void; protected ArrowFunctionExpression(node: TSESTree.ArrowFunctionExpression): void; @@ -41,7 +39,6 @@ declare class Referencer extends Visitor { protected CatchClause(node: TSESTree.CatchClause): void; protected ClassExpression(node: TSESTree.ClassExpression): void; protected ClassDeclaration(node: TSESTree.ClassDeclaration): void; - protected ClassProperty(node: TSESTree.ClassProperty): void; protected ContinueStatement(): void; protected ExportAllDeclaration(): void; protected ExportDefaultDeclaration(node: TSESTree.ExportDefaultDeclaration): void; @@ -62,14 +59,11 @@ declare class Referencer extends Visitor { protected LabeledStatement(node: TSESTree.LabeledStatement): void; protected MemberExpression(node: TSESTree.MemberExpression): void; protected MetaProperty(): void; - protected MethodDefinition(node: TSESTree.MethodDefinition): void; protected NewExpression(node: TSESTree.NewExpression): void; protected Program(node: TSESTree.Program): void; protected Property(node: TSESTree.Property): void; protected SwitchStatement(node: TSESTree.SwitchStatement): void; protected TaggedTemplateExpression(node: TSESTree.TaggedTemplateExpression): void; - protected TSAbstractClassProperty(node: TSESTree.TSAbstractClassProperty): void; - protected TSAbstractMethodDefinition(node: TSESTree.TSAbstractMethodDefinition): void; protected TSAsExpression(node: TSESTree.TSAsExpression): void; protected TSDeclareFunction(node: TSESTree.TSDeclareFunction): void; protected TSImportEqualsDeclaration(node: TSESTree.TSImportEqualsDeclaration): void; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map index 326dccdba..7018bbd58 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Referencer.d.ts","sourceRoot":"","sources":["../../src/referencer/Referencer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Referencer.d.ts","sourceRoot":"","sources":["../../src/referencer/Referencer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js index 839dae98a..3dc4674ee 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js @@ -1,21 +1,20 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _isInnerMethodDefinition, _jsxPragma, _jsxFragmentName, _hasReferencedJsxFactory, _hasReferencedJsxFragmentFactory, _lib; +var _Referencer_jsxPragma, _Referencer_jsxFragmentName, _Referencer_hasReferencedJsxFactory, _Referencer_hasReferencedJsxFragmentFactory, _Referencer_lib, _Referencer_emitDecoratorMetadata; Object.defineProperty(exports, "__esModule", { value: true }); exports.Referencer = void 0; const types_1 = require("@typescript-eslint/types"); +const ClassVisitor_1 = require("./ClassVisitor"); const ExportVisitor_1 = require("./ExportVisitor"); const ImportVisitor_1 = require("./ImportVisitor"); const PatternVisitor_1 = require("./PatternVisitor"); @@ -29,17 +28,17 @@ const lib_1 = require("../lib"); class Referencer extends Visitor_1.Visitor { constructor(options, scopeManager) { super(options); - _isInnerMethodDefinition.set(this, void 0); - _jsxPragma.set(this, void 0); - _jsxFragmentName.set(this, void 0); - _hasReferencedJsxFactory.set(this, false); - _hasReferencedJsxFragmentFactory.set(this, false); - _lib.set(this, void 0); + _Referencer_jsxPragma.set(this, void 0); + _Referencer_jsxFragmentName.set(this, void 0); + _Referencer_hasReferencedJsxFactory.set(this, false); + _Referencer_hasReferencedJsxFragmentFactory.set(this, false); + _Referencer_lib.set(this, void 0); + _Referencer_emitDecoratorMetadata.set(this, void 0); this.scopeManager = scopeManager; - __classPrivateFieldSet(this, _jsxPragma, options.jsxPragma); - __classPrivateFieldSet(this, _jsxFragmentName, options.jsxFragmentName); - __classPrivateFieldSet(this, _lib, options.lib); - __classPrivateFieldSet(this, _isInnerMethodDefinition, false); + __classPrivateFieldSet(this, _Referencer_jsxPragma, options.jsxPragma, "f"); + __classPrivateFieldSet(this, _Referencer_jsxFragmentName, options.jsxFragmentName, "f"); + __classPrivateFieldSet(this, _Referencer_lib, options.lib, "f"); + __classPrivateFieldSet(this, _Referencer_emitDecoratorMetadata, options.emitDecoratorMetadata, "f"); } currentScope(dontThrowOnNull) { if (!dontThrowOnNull) { @@ -52,32 +51,23 @@ class Referencer extends Visitor_1.Visitor { this.scopeManager.currentScope = this.currentScope().close(this.scopeManager); } } - pushInnerMethodDefinition(isInnerMethodDefinition) { - const previous = __classPrivateFieldGet(this, _isInnerMethodDefinition); - __classPrivateFieldSet(this, _isInnerMethodDefinition, isInnerMethodDefinition); - return previous; - } - popInnerMethodDefinition(isInnerMethodDefinition) { - __classPrivateFieldSet(this, _isInnerMethodDefinition, !!isInnerMethodDefinition); - } referencingDefaultValue(pattern, assignments, maybeImplicitGlobal, init) { assignments.forEach(assignment => { this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, assignment.right, maybeImplicitGlobal, init); }); } populateGlobalsFromLib(globalScope) { - for (const lib of __classPrivateFieldGet(this, _lib)) { + for (const lib of __classPrivateFieldGet(this, _Referencer_lib, "f")) { const variables = lib_1.lib[lib]; /* istanbul ignore if */ if (!variables) { throw new Error(`Invalid value for lib provided: ${lib}`); } - for (const variable of Object.values(variables)) { - globalScope.defineImplicitVariable(variable); + for (const [name, variable] of Object.entries(variables)) { + globalScope.defineImplicitVariable(name, variable); } } // for const assertions (`{} as const` / `{}`) - globalScope.defineImplicitVariable({ - name: 'const', + globalScope.defineImplicitVariable('const', { eslintImplicitGlobalSetting: 'readonly', isTypeVariable: true, isValueVariable: false, @@ -100,44 +90,23 @@ class Referencer extends Visitor_1.Visitor { return false; } referenceJsxPragma() { - if (__classPrivateFieldGet(this, _hasReferencedJsxFactory)) { + if (__classPrivateFieldGet(this, _Referencer_hasReferencedJsxFactory, "f")) { return; } - __classPrivateFieldSet(this, _hasReferencedJsxFactory, this.referenceInSomeUpperScope(__classPrivateFieldGet(this, _jsxPragma))); + __classPrivateFieldSet(this, _Referencer_hasReferencedJsxFactory, this.referenceInSomeUpperScope(__classPrivateFieldGet(this, _Referencer_jsxPragma, "f")), "f"); } referenceJsxFragment() { - if (__classPrivateFieldGet(this, _jsxFragmentName) === null || __classPrivateFieldGet(this, _hasReferencedJsxFragmentFactory)) { + if (__classPrivateFieldGet(this, _Referencer_jsxFragmentName, "f") === null || + __classPrivateFieldGet(this, _Referencer_hasReferencedJsxFragmentFactory, "f")) { return; } - __classPrivateFieldSet(this, _hasReferencedJsxFragmentFactory, this.referenceInSomeUpperScope(__classPrivateFieldGet(this, _jsxFragmentName))); + __classPrivateFieldSet(this, _Referencer_hasReferencedJsxFragmentFactory, this.referenceInSomeUpperScope(__classPrivateFieldGet(this, _Referencer_jsxFragmentName, "f")), "f"); } /////////////////// // Visit helpers // /////////////////// visitClass(node) { - var _a, _b; - if (node.type === types_1.AST_NODE_TYPES.ClassDeclaration && node.id) { - this.currentScope().defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node)); - } - (_a = node.decorators) === null || _a === void 0 ? void 0 : _a.forEach(d => this.visit(d)); - this.scopeManager.nestClassScope(node); - if (node.id) { - // define the class name again inside the new scope - // references to the class should not resolve directly to the parent class - this.currentScope().defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node)); - } - this.visit(node.superClass); - // visit the type param declarations - this.visitType(node.typeParameters); - // then the usages - this.visitType(node.superTypeParameters); - (_b = node.implements) === null || _b === void 0 ? void 0 : _b.forEach(imp => this.visitType(imp)); - this.visit(node.body); - this.close(node); - } - visitClassProperty(node) { - this.visitProperty(node); - this.visitType(node.typeAnnotation); + ClassVisitor_1.ClassVisitor.visit(this, node, __classPrivateFieldGet(this, _Referencer_emitDecoratorMetadata, "f")); } visitForIn(node) { if (node.left.type === types_1.AST_NODE_TYPES.VariableDeclaration && @@ -196,7 +165,7 @@ class Referencer extends Visitor_1.Visitor { this.currentScope().defineIdentifier(node.id, new definition_1.FunctionNameDefinition(node.id, node)); } // Consider this function is in the MethodDefinition. - this.scopeManager.nestFunctionScope(node, __classPrivateFieldGet(this, _isInnerMethodDefinition)); + this.scopeManager.nestFunctionScope(node, false); // Process parameter declarations. for (const param of node.params) { this.visitPattern(param, (pattern, info) => { @@ -222,22 +191,10 @@ class Referencer extends Visitor_1.Visitor { this.close(node); } visitProperty(node) { - var _a; - let previous; if (node.computed) { this.visit(node.key); } - const isMethodDefinition = node.type === types_1.AST_NODE_TYPES.MethodDefinition; - if (isMethodDefinition) { - previous = this.pushInnerMethodDefinition(true); - } this.visit(node.value); - if (isMethodDefinition) { - this.popInnerMethodDefinition(previous); - } - if ('decorators' in node) { - (_a = node.decorators) === null || _a === void 0 ? void 0 : _a.forEach(d => this.visit(d)); - } } visitType(node) { if (!node) { @@ -256,9 +213,20 @@ class Referencer extends Visitor_1.Visitor { this.visitFunction(node); } AssignmentExpression(node) { - if (PatternVisitor_1.PatternVisitor.isPattern(node.left)) { + let left = node.left; + switch (left.type) { + case types_1.AST_NODE_TYPES.TSAsExpression: + case types_1.AST_NODE_TYPES.TSTypeAssertion: + // explicitly visit the type annotation + this.visitType(left.typeAnnotation); + // intentional fallthrough + case types_1.AST_NODE_TYPES.TSNonNullExpression: + // unwrap the expression + left = left.expression; + } + if (PatternVisitor_1.PatternVisitor.isPattern(left)) { if (node.operator === '=') { - this.visitPattern(node.left, (pattern, info) => { + this.visitPattern(left, (pattern, info) => { const maybeImplicitGlobal = !this.currentScope().isStrict ? { pattern, @@ -269,12 +237,12 @@ class Referencer extends Visitor_1.Visitor { this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, node.right, maybeImplicitGlobal, false); }, { processRightHandNodes: true }); } - else if (node.left.type === types_1.AST_NODE_TYPES.Identifier) { - this.currentScope().referenceValue(node.left, Reference_1.ReferenceFlag.ReadWrite, node.right); + else if (left.type === types_1.AST_NODE_TYPES.Identifier) { + this.currentScope().referenceValue(left, Reference_1.ReferenceFlag.ReadWrite, node.right); } } else { - this.visit(node.left); + this.visit(left); } this.visit(node.right); } @@ -310,9 +278,6 @@ class Referencer extends Visitor_1.Visitor { ClassDeclaration(node) { this.visitClass(node); } - ClassProperty(node) { - this.visitClassProperty(node); - } ContinueStatement() { // don't reference the continue statement's label } @@ -415,9 +380,6 @@ class Referencer extends Visitor_1.Visitor { MetaProperty() { // meta properties all builtin globals } - MethodDefinition(node) { - this.visitProperty(node); - } NewExpression(node) { this.visitChildren(node, ['typeParameters']); this.visitType(node.typeParameters); @@ -458,12 +420,6 @@ class Referencer extends Visitor_1.Visitor { this.visit(node.quasi); this.visitType(node.typeParameters); } - TSAbstractClassProperty(node) { - this.visitClassProperty(node); - } - TSAbstractMethodDefinition(node) { - this.visitProperty(node); - } TSAsExpression(node) { this.visitTypeAssertion(node); } @@ -512,7 +468,7 @@ class Referencer extends Visitor_1.Visitor { this.visitType(node); } TSModuleDeclaration(node) { - if (node.id.type === types_1.AST_NODE_TYPES.Identifier) { + if (node.id.type === types_1.AST_NODE_TYPES.Identifier && !node.global) { this.currentScope().defineIdentifier(node.id, new definition_1.TSModuleNameDefinition(node.id, node)); } this.scopeManager.nestTSModuleScope(node); @@ -565,5 +521,5 @@ class Referencer extends Visitor_1.Visitor { } } exports.Referencer = Referencer; -_isInnerMethodDefinition = new WeakMap(), _jsxPragma = new WeakMap(), _jsxFragmentName = new WeakMap(), _hasReferencedJsxFactory = new WeakMap(), _hasReferencedJsxFragmentFactory = new WeakMap(), _lib = new WeakMap(); +_Referencer_jsxPragma = new WeakMap(), _Referencer_jsxFragmentName = new WeakMap(), _Referencer_hasReferencedJsxFactory = new WeakMap(), _Referencer_hasReferencedJsxFragmentFactory = new WeakMap(), _Referencer_lib = new WeakMap(), _Referencer_emitDecoratorMetadata = new WeakMap(); //# sourceMappingURL=Referencer.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map index 38ae759dd..7f0e771bd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map @@ -1 +1 @@ -{"version":3,"file":"Referencer.js","sourceRoot":"","sources":["../../src/referencer/Referencer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Referencer.js","sourceRoot":"","sources":["../../src/referencer/Referencer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts index fe358826d..39ee0d869 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts @@ -14,6 +14,7 @@ declare class TypeVisitor extends Visitor { protected TSConstructorType(node: TSESTree.TSConstructorType): void; protected TSConstructSignatureDeclaration(node: TSESTree.TSConstructSignatureDeclaration): void; protected TSFunctionType(node: TSESTree.TSFunctionType): void; + protected TSImportType(node: TSESTree.TSImportType): void; protected TSIndexSignature(node: TSESTree.TSIndexSignature): void; protected TSInferType(node: TSESTree.TSInferType): void; protected TSInterfaceDeclaration(node: TSESTree.TSInterfaceDeclaration): void; @@ -26,6 +27,7 @@ declare class TypeVisitor extends Visitor { protected TSTypeParameter(node: TSESTree.TSTypeParameter): void; protected TSTypePredicate(node: TSESTree.TSTypePredicate): void; protected TSTypeQuery(node: TSESTree.TSTypeQuery): void; + protected TSTypeAnnotation(node: TSESTree.TSTypeAnnotation): void; } export { TypeVisitor }; //# sourceMappingURL=TypeVisitor.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts.map index a471358d7..29faa8fe6 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"TypeVisitor.d.ts","sourceRoot":"","sources":["../../src/referencer/TypeVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,cAAM,WAAY,SAAQ,OAAO;;gBAGnB,UAAU,EAAE,UAAU;IAKlC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI;IAS/D,SAAS,CAAC,iBAAiB,CACzB,IAAI,EACA,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,iBAAiB,GAC1B,QAAQ,CAAC,+BAA+B,GACxC,QAAQ,CAAC,cAAc,GACvB,QAAQ,CAAC,iBAAiB,GAC7B,IAAI;IAgCP,SAAS,CAAC,gBAAgB,CACxB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,mBAAmB,GAC9D,IAAI;IAYP,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI;IAIrD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAKjE,SAAS,CAAC,0BAA0B,CAClC,IAAI,EAAE,QAAQ,CAAC,0BAA0B,GACxC,IAAI;IAIP,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAUnE,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAInE,SAAS,CAAC,+BAA+B,CACvC,IAAI,EAAE,QAAQ,CAAC,+BAA+B,GAC7C,IAAI;IAIP,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,IAAI;IAI7D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IASjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI;IAsCvD,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,QAAQ,CAAC,sBAAsB,GACpC,IAAI;IAoBP,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,GAAG,IAAI;IAOzD,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAKnE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,GAAG,IAAI;IAKrE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,mBAAmB,GAAG,IAAI;IAKvE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAK/D,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,QAAQ,CAAC,sBAAsB,GACpC,IAAI;IAkBP,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAS/D,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAQ/D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI;CAWxD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"TypeVisitor.d.ts","sourceRoot":"","sources":["../../src/referencer/TypeVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,cAAM,WAAY,SAAQ,OAAO;;gBAGnB,UAAU,EAAE,UAAU;IAKlC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI;IAS/D,SAAS,CAAC,iBAAiB,CACzB,IAAI,EACA,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,iBAAiB,GAC1B,QAAQ,CAAC,+BAA+B,GACxC,QAAQ,CAAC,cAAc,GACvB,QAAQ,CAAC,iBAAiB,GAC7B,IAAI;IAgCP,SAAS,CAAC,gBAAgB,CACxB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,mBAAmB,GAC9D,IAAI;IAYP,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI;IAIrD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAKjE,SAAS,CAAC,0BAA0B,CAClC,IAAI,EAAE,QAAQ,CAAC,0BAA0B,GACxC,IAAI;IAIP,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAanE,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAInE,SAAS,CAAC,+BAA+B,CACvC,IAAI,EAAE,QAAQ,CAAC,+BAA+B,GAC7C,IAAI;IAIP,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,IAAI;IAI7D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,GAAG,IAAI;IAMzD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IASjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI;IAsCvD,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,QAAQ,CAAC,sBAAsB,GACpC,IAAI;IAoBP,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,GAAG,IAAI;IAOzD,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,GAAG,IAAI;IAKnE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,GAAG,IAAI;IAKrE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,mBAAmB,GAAG,IAAI;IAKvE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAK/D,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,QAAQ,CAAC,sBAAsB,GACpC,IAAI;IAkBP,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAS/D,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,IAAI;IAQ/D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI;IAYvD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;CAIlE;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js index 6a3d4e6ee..087a8e820 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _referencer; +var _TypeVisitor_referencer; Object.defineProperty(exports, "__esModule", { value: true }); exports.TypeVisitor = void 0; const types_1 = require("@typescript-eslint/types"); @@ -22,8 +20,8 @@ const scope_1 = require("../scope"); class TypeVisitor extends Visitor_1.Visitor { constructor(referencer) { super(referencer); - _referencer.set(this, void 0); - __classPrivateFieldSet(this, _referencer, referencer); + _TypeVisitor_referencer.set(this, void 0); + __classPrivateFieldSet(this, _TypeVisitor_referencer, referencer, "f"); } static visit(referencer, node) { const typeReferencer = new TypeVisitor(referencer); @@ -34,13 +32,14 @@ class TypeVisitor extends Visitor_1.Visitor { /////////////////// visitFunctionType(node) { // arguments and type parameters can only be referenced from within the function - __classPrivateFieldGet(this, _referencer).scopeManager.nestFunctionTypeScope(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").scopeManager.nestFunctionTypeScope(node); this.visit(node.typeParameters); for (const param of node.params) { let didVisitAnnotation = false; this.visitPattern(param, (pattern, info) => { // a parameter name creates a value type variable which can be referenced later via typeof arg - __classPrivateFieldGet(this, _referencer).currentScope() + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f") + .currentScope() .defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest)); if (pattern.typeAnnotation) { this.visit(pattern.typeAnnotation); @@ -53,20 +52,20 @@ class TypeVisitor extends Visitor_1.Visitor { } } this.visit(node.returnType); - __classPrivateFieldGet(this, _referencer).close(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").close(node); } visitPropertyKey(node) { if (!node.computed) { return; } // computed members are treated as value references, and TS expects they have a literal type - __classPrivateFieldGet(this, _referencer).visit(node.key); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").visit(node.key); } ///////////////////// // Visit selectors // ///////////////////// Identifier(node) { - __classPrivateFieldGet(this, _referencer).currentScope().referenceType(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").currentScope().referenceType(node); } MemberExpression(node) { this.visit(node.object); @@ -78,9 +77,11 @@ class TypeVisitor extends Visitor_1.Visitor { TSConditionalType(node) { // conditional types can define inferred type parameters // which are only accessible from inside the conditional parameter - __classPrivateFieldGet(this, _referencer).scopeManager.nestConditionalTypeScope(node); - this.visitChildren(node); - __classPrivateFieldGet(this, _referencer).close(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").scopeManager.nestConditionalTypeScope(node); + // type parameters inferred in the condition clause are not accessible within the false branch + this.visitChildren(node, ['falseType']); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").close(node); + this.visit(node.falseType); } TSConstructorType(node) { this.visitFunctionType(node); @@ -91,6 +92,11 @@ class TypeVisitor extends Visitor_1.Visitor { TSFunctionType(node) { this.visitFunctionType(node); } + TSImportType(node) { + // the TS parser allows any type to be the parameter, but it's a syntax error - so we can ignore it + this.visit(node.typeParameters); + // the qualifier is just part of a standard EntityName, so it should not be visited + } TSIndexSignature(node) { for (const param of node.parameters) { if (param.type === types_1.AST_NODE_TYPES.Identifier) { @@ -101,7 +107,7 @@ class TypeVisitor extends Visitor_1.Visitor { } TSInferType(node) { const typeParameter = node.typeParameter; - let scope = __classPrivateFieldGet(this, _referencer).currentScope(); + let scope = __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").currentScope(); /* In cases where there is a sub-type scope created within a conditional type, then the generic should be defined in the conditional type's scope, not the child type scope. @@ -129,25 +135,26 @@ class TypeVisitor extends Visitor_1.Visitor { } TSInterfaceDeclaration(node) { var _a, _b; - __classPrivateFieldGet(this, _referencer).currentScope() + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f") + .currentScope() .defineIdentifier(node.id, new definition_1.TypeDefinition(node.id, node)); if (node.typeParameters) { // type parameters cannot be referenced from outside their current scope - __classPrivateFieldGet(this, _referencer).scopeManager.nestTypeScope(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").scopeManager.nestTypeScope(node); this.visit(node.typeParameters); } (_a = node.extends) === null || _a === void 0 ? void 0 : _a.forEach(this.visit, this); (_b = node.implements) === null || _b === void 0 ? void 0 : _b.forEach(this.visit, this); this.visit(node.body); if (node.typeParameters) { - __classPrivateFieldGet(this, _referencer).close(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").close(node); } } TSMappedType(node) { // mapped types key can only be referenced within their return value - __classPrivateFieldGet(this, _referencer).scopeManager.nestMappedTypeScope(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").scopeManager.nestMappedTypeScope(node); this.visitChildren(node); - __classPrivateFieldGet(this, _referencer).close(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").close(node); } TSMethodSignature(node) { this.visitPropertyKey(node); @@ -166,44 +173,50 @@ class TypeVisitor extends Visitor_1.Visitor { // we don't visit the right as it a name on the thing, not a name to reference } TSTypeAliasDeclaration(node) { - __classPrivateFieldGet(this, _referencer).currentScope() + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f") + .currentScope() .defineIdentifier(node.id, new definition_1.TypeDefinition(node.id, node)); if (node.typeParameters) { // type parameters cannot be referenced from outside their current scope - __classPrivateFieldGet(this, _referencer).scopeManager.nestTypeScope(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").scopeManager.nestTypeScope(node); this.visit(node.typeParameters); } this.visit(node.typeAnnotation); if (node.typeParameters) { - __classPrivateFieldGet(this, _referencer).close(node); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").close(node); } } TSTypeParameter(node) { - __classPrivateFieldGet(this, _referencer).currentScope() + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f") + .currentScope() .defineIdentifier(node.name, new definition_1.TypeDefinition(node.name, node)); this.visit(node.constraint); this.visit(node.default); } TSTypePredicate(node) { if (node.parameterName.type !== types_1.AST_NODE_TYPES.TSThisType) { - __classPrivateFieldGet(this, _referencer).currentScope().referenceValue(node.parameterName); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").currentScope().referenceValue(node.parameterName); } this.visit(node.typeAnnotation); } // a type query `typeof foo` is a special case that references a _non-type_ variable, TSTypeQuery(node) { if (node.exprName.type === types_1.AST_NODE_TYPES.Identifier) { - __classPrivateFieldGet(this, _referencer).currentScope().referenceValue(node.exprName); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").currentScope().referenceValue(node.exprName); } else { let expr = node.exprName.left; while (expr.type !== types_1.AST_NODE_TYPES.Identifier) { expr = expr.left; } - __classPrivateFieldGet(this, _referencer).currentScope().referenceValue(expr); + __classPrivateFieldGet(this, _TypeVisitor_referencer, "f").currentScope().referenceValue(expr); } } + TSTypeAnnotation(node) { + // check + this.visitChildren(node); + } } exports.TypeVisitor = TypeVisitor; -_referencer = new WeakMap(); +_TypeVisitor_referencer = new WeakMap(); //# sourceMappingURL=TypeVisitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map index 6ef5c83e1..c79cd0c85 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map @@ -1 +1 @@ -{"version":3,"file":"TypeVisitor.js","sourceRoot":"","sources":["../../src/referencer/TypeVisitor.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TypeVisitor.js","sourceRoot":"","sources":["../../src/referencer/TypeVisitor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js index e3021eec1..2d0156fdb 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var _options; +var _Visitor_options; Object.defineProperty(exports, "__esModule", { value: true }); exports.VisitorBase = exports.Visitor = void 0; const VisitorBase_1 = require("./VisitorBase"); @@ -21,14 +19,16 @@ const PatternVisitor_1 = require("./PatternVisitor"); class Visitor extends VisitorBase_1.VisitorBase { constructor(optionsOrVisitor) { super(optionsOrVisitor instanceof Visitor - ? __classPrivateFieldGet(optionsOrVisitor, _options) : optionsOrVisitor); - _options.set(this, void 0); - __classPrivateFieldSet(this, _options, optionsOrVisitor instanceof Visitor - ? __classPrivateFieldGet(optionsOrVisitor, _options) : optionsOrVisitor); + ? __classPrivateFieldGet(optionsOrVisitor, _Visitor_options, "f") + : optionsOrVisitor); + _Visitor_options.set(this, void 0); + __classPrivateFieldSet(this, _Visitor_options, optionsOrVisitor instanceof Visitor + ? __classPrivateFieldGet(optionsOrVisitor, _Visitor_options, "f") + : optionsOrVisitor, "f"); } visitPattern(node, callback, options = { processRightHandNodes: false }) { // Call the callback at left hand identifier nodes, and Collect right hand nodes. - const visitor = new PatternVisitor_1.PatternVisitor(__classPrivateFieldGet(this, _options), node, callback); + const visitor = new PatternVisitor_1.PatternVisitor(__classPrivateFieldGet(this, _Visitor_options, "f"), node, callback); visitor.visit(node); // Process the right hand nodes recursively. if (options.processRightHandNodes) { @@ -37,5 +37,5 @@ class Visitor extends VisitorBase_1.VisitorBase { } } exports.Visitor = Visitor; -_options = new WeakMap(); +_Visitor_options = new WeakMap(); //# sourceMappingURL=Visitor.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js.map index 45ed8ca36..db6f70567 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js.map @@ -1 +1 @@ -{"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/referencer/Visitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,+CAA4D;AA0C1C,4FA1CT,yBAAW,OA0CS;AAzC7B,qDAI0B;AAK1B,MAAM,OAAQ,SAAQ,yBAAW;IAE/B,YAAY,gBAA0C;QACpD,KAAK,CACH,gBAAgB,YAAY,OAAO;YACjC,CAAC,oDACD,CAAC,CAAC,gBAAgB,CACrB,CAAC;QANJ,2BAAkC;QAQhC,uBAAA,IAAI,YACF,gBAAgB,YAAY,OAAO;YACjC,CAAC,oDACD,CAAC,CAAC,gBAAgB,EAAC;IACzB,CAAC;IAES,YAAY,CACpB,IAAmB,EACnB,QAAgC,EAChC,UAA+B,EAAE,qBAAqB,EAAE,KAAK,EAAE;QAE/D,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,+BAAc,yCAAgB,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpB,4CAA4C;QAC5C,IAAI,OAAO,CAAC,qBAAqB,EAAE;YACjC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAClD;IACH,CAAC;CACF;AAEQ,0BAAO"} \ No newline at end of file +{"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/referencer/Visitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAA4D;AA0C1C,4FA1CT,yBAAW,OA0CS;AAzC7B,qDAI0B;AAK1B,MAAM,OAAQ,SAAQ,yBAAW;IAE/B,YAAY,gBAA0C;QACpD,KAAK,CACH,gBAAgB,YAAY,OAAO;YACjC,CAAC,CAAC,uBAAA,gBAAgB,wBAAS;YAC3B,CAAC,CAAC,gBAAgB,CACrB,CAAC;QANJ,mCAAkC;QAQhC,uBAAA,IAAI,oBACF,gBAAgB,YAAY,OAAO;YACjC,CAAC,CAAC,uBAAA,gBAAgB,wBAAS;YAC3B,CAAC,CAAC,gBAAgB,MAAA,CAAC;IACzB,CAAC;IAES,YAAY,CACpB,IAAmB,EACnB,QAAgC,EAChC,UAA+B,EAAE,qBAAqB,EAAE,KAAK,EAAE;QAE/D,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,uBAAA,IAAI,wBAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpB,4CAA4C;QAC5C,IAAI,OAAO,CAAC,qBAAqB,EAAE;YACjC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAClD;IACH,CAAC;CACF;AAEQ,0BAAO"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts index 297fe7126..a45ba81be 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts @@ -2,6 +2,7 @@ import { TSESTree } from '@typescript-eslint/types'; import { VisitorKeys } from '@typescript-eslint/visitor-keys'; interface VisitorOptions { childVisitorKeys?: VisitorKeys | null; + visitChildrenEvenIfSelectorExists?: boolean; } declare abstract class VisitorBase { #private; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts.map index 43ca6b239..03310d28d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"VisitorBase.d.ts","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAe,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE3E,UAAU,cAAc;IACtB,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC;AAaD,uBAAe,WAAW;;gBAEZ,OAAO,EAAE,cAAc;IAInC;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EACnC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC1B,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACvB,IAAI;IA6BP;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;CAYpD;AAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"VisitorBase.d.ts","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAe,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE3E,UAAU,cAAc;IACtB,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C;AAaD,uBAAe,WAAW;;gBAGZ,OAAO,EAAE,cAAc;IAMnC;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EACnC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC1B,UAAU,GAAE,CAAC,MAAM,CAAC,CAAC,EAAO,GAC3B,IAAI;IA6BP;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;CAepD;AAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js index 10ff0cb49..d1ab2ead9 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _childVisitorKeys; +var _VisitorBase_childVisitorKeys, _VisitorBase_visitChildrenEvenIfSelectorExists; Object.defineProperty(exports, "__esModule", { value: true }); exports.VisitorBase = void 0; const visitor_keys_1 = require("@typescript-eslint/visitor-keys"); @@ -24,22 +22,24 @@ function isNode(node) { } class VisitorBase { constructor(options) { - var _a; - _childVisitorKeys.set(this, void 0); - __classPrivateFieldSet(this, _childVisitorKeys, (_a = options.childVisitorKeys) !== null && _a !== void 0 ? _a : visitor_keys_1.visitorKeys); + var _a, _b; + _VisitorBase_childVisitorKeys.set(this, void 0); + _VisitorBase_visitChildrenEvenIfSelectorExists.set(this, void 0); + __classPrivateFieldSet(this, _VisitorBase_childVisitorKeys, (_a = options.childVisitorKeys) !== null && _a !== void 0 ? _a : visitor_keys_1.visitorKeys, "f"); + __classPrivateFieldSet(this, _VisitorBase_visitChildrenEvenIfSelectorExists, (_b = options.visitChildrenEvenIfSelectorExists) !== null && _b !== void 0 ? _b : false, "f"); } /** * Default method for visiting children. * @param node the node whose children should be visited * @param exclude a list of keys to not visit */ - visitChildren(node, excludeArr) { + visitChildren(node, excludeArr = []) { var _a; if (node == null || node.type == null) { return; } - const exclude = new Set(excludeArr); - const children = (_a = __classPrivateFieldGet(this, _childVisitorKeys)[node.type]) !== null && _a !== void 0 ? _a : Object.keys(node); + const exclude = new Set(excludeArr.concat(['parent'])); + const children = (_a = __classPrivateFieldGet(this, _VisitorBase_childVisitorKeys, "f")[node.type]) !== null && _a !== void 0 ? _a : Object.keys(node); for (const key of children) { if (exclude.has(key)) { continue; @@ -69,11 +69,14 @@ class VisitorBase { } const visitor = this[node.type]; if (visitor) { - return visitor.call(this, node); + visitor.call(this, node); + if (!__classPrivateFieldGet(this, _VisitorBase_visitChildrenEvenIfSelectorExists, "f")) { + return; + } } this.visitChildren(node); } } exports.VisitorBase = VisitorBase; -_childVisitorKeys = new WeakMap(); +_VisitorBase_childVisitorKeys = new WeakMap(), _VisitorBase_visitChildrenEvenIfSelectorExists = new WeakMap(); //# sourceMappingURL=VisitorBase.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js.map b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js.map index 878c1233e..56aef115d 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js.map @@ -1 +1 @@ -{"version":3,"file":"VisitorBase.js","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kEAA2E;AAM3E,SAAS,QAAQ,CAAC,GAAY;IAC5B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC;AAChD,CAAC;AACD,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAMD,MAAe,WAAW;IAExB,YAAY,OAAuB;;QADnC,oCAAwC;QAEtC,uBAAA,IAAI,2BAAqB,OAAO,CAAC,gBAAgB,mCAAI,0BAAW,EAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,IAA0B,EAC1B,UAAwB;;QAExB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrC,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAgB,CAAC;QACnD,MAAM,QAAQ,SAAG,gDAAuB,IAAI,CAAC,IAAI,CAAC,mCAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACpB,SAAS;aACV;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAA0B,CAAY,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE;gBACV,SAAS;aACV;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;oBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;wBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACtB;iBACF;aACF;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACnB;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAsC;QAC1C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrC,OAAO;SACR;QAED,MAAM,OAAO,GAAI,IAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAEQ,kCAAW"} \ No newline at end of file +{"version":3,"file":"VisitorBase.js","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kEAA2E;AAO3E,SAAS,QAAQ,CAAC,GAAY;IAC5B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC;AAChD,CAAC;AACD,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAMD,MAAe,WAAW;IAGxB,YAAY,OAAuB;;QAFnC,gDAAwC;QACxC,iEAAqD;QAEnD,uBAAA,IAAI,iCAAqB,MAAA,OAAO,CAAC,gBAAgB,mCAAI,0BAAW,MAAA,CAAC;QACjE,uBAAA,IAAI,kDACF,MAAA,OAAO,CAAC,iCAAiC,mCAAI,KAAK,MAAA,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,IAA0B,EAC1B,aAA0B,EAAE;;QAE5B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrC,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAA,uBAAA,IAAI,qCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACpB,SAAS;aACV;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAA0B,CAAY,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE;gBACV,SAAS;aACV;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;oBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;wBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACtB;iBACF;aACF;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACnB;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAsC;QAC1C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrC,OAAO;SACR;QAED,MAAM,OAAO,GAAI,IAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,uBAAA,IAAI,sDAAmC,EAAE;gBAC5C,OAAO;aACR;SACF;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAEQ,kCAAW"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js.map b/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js.map index 097c56767..e7940f424 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js.map @@ -1 +1 @@ -{"version":3,"file":"FunctionScope.js","sourceRoot":"","sources":["../../src/scope/FunctionScope.ts"],"names":[],"mappings":";;;AAAA,oDAAoE;AAEpE,2CAAwC;AACxC,2CAAwC;AAKxC,MAAM,aAAc,SAAQ,qBAS3B;IACC,YACE,YAA0B,EAC1B,UAAkC,EAClC,KAA6B,EAC7B,kBAA2B;QAE3B,KAAK,CACH,YAAY,EACZ,qBAAS,CAAC,QAAQ,EAClB,UAAU,EACV,KAAK,EACL,kBAAkB,CACnB,CAAC;QAEF,oDAAoD;QACpD,wDAAwD;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,uBAAuB,EAAE;YAC9D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxE;IACH,CAAC;IAED,iGAAiG;IACjG,kBAAkB;IAClB,iFAAiF;IACjF,sBAAsB;IACtB,yBAAyB;IACzB,QAAQ;IACE,iBAAiB,CAAC,GAAc,EAAE,QAAkB;;QAC5D,0EAA0E;QAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE;YAC9C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,SAAS,eAAG,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,oCAAK,CAAC,CAAC,CAAC;QAElD,iDAAiD;QACjD,OAAO,CAAC,CACN,CACE,QAAQ,CAAC,KAAK,KAAK,IAAI;YACvB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,0CAA0C;YACjF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CACvD,CAAC,+BAA+B;SAClC,CAAC;IACJ,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file +{"version":3,"file":"FunctionScope.js","sourceRoot":"","sources":["../../src/scope/FunctionScope.ts"],"names":[],"mappings":";;;AAAA,oDAAoE;AAEpE,2CAAwC;AACxC,2CAAwC;AAKxC,MAAM,aAAc,SAAQ,qBAS3B;IACC,YACE,YAA0B,EAC1B,UAAkC,EAClC,KAA6B,EAC7B,kBAA2B;QAE3B,KAAK,CACH,YAAY,EACZ,qBAAS,CAAC,QAAQ,EAClB,UAAU,EACV,KAAK,EACL,kBAAkB,CACnB,CAAC;QAEF,oDAAoD;QACpD,wDAAwD;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,uBAAuB,EAAE;YAC9D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxE;IACH,CAAC;IAED,iGAAiG;IACjG,kBAAkB;IAClB,iFAAiF;IACjF,sBAAsB;IACtB,yBAAyB;IACzB,QAAQ;IACE,iBAAiB,CAAC,GAAc,EAAE,QAAkB;;QAC5D,0EAA0E;QAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE;YAC9C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAElD,iDAAiD;QACjD,OAAO,CAAC,CACN,CACE,QAAQ,CAAC,KAAK,KAAK,IAAI;YACvB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,0CAA0C;YACjF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CACvD,CAAC,+BAA+B;SAClC,CAAC;IACJ,CAAC;CACF;AAEQ,sCAAa"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts index 018fcd4b5..30e3454b8 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts @@ -11,7 +11,7 @@ declare class GlobalScope extends ScopeBase { private readonly implicit; constructor(scopeManager: ScopeManager, block: GlobalScope['block']); - defineImplicitVariable(options: ImplicitLibVariableOptions): void; + defineImplicitVariable(name: string, options: ImplicitLibVariableOptions): void; close(scopeManager: ScopeManager): Scope | null; } export { GlobalScope }; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts.map index be9a0123d..98acde4f5 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GlobalScope.d.ts","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAGL,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAErB,cAAM,WAAY,SAAQ,SAAS,CACjC,SAAS,CAAC,MAAM,EAChB,QAAQ,CAAC,OAAO;AAChB;;GAEG;AACH,IAAI,CACL;IAEC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAQvB;gBAEU,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;IAS5D,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAUjE,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI;CAuBvD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"GlobalScope.d.ts","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAGL,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAErB,cAAM,WAAY,SAAQ,SAAS,CACjC,SAAS,CAAC,MAAM,EAChB,QAAQ,CAAC,OAAO;AAChB;;GAEG;AACH,IAAI,CACL;IAEC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAQvB;gBAEU,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;IAS5D,sBAAsB,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,0BAA0B,GAClC,IAAI;IAUA,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI;CAuBvD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js index d3fa4bfd2..c27231d63 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js @@ -16,8 +16,8 @@ class GlobalScope extends ScopeBase_1.ScopeBase { leftToBeResolved: [], }; } - defineImplicitVariable(options) { - this.defineVariable(new variable_1.ImplicitLibVariable(this, options), this.set, this.variables, null, null); + defineImplicitVariable(name, options) { + this.defineVariable(new variable_1.ImplicitLibVariable(this, name, options), this.set, this.variables, null, null); } close(scopeManager) { assert_1.assert(this.leftToResolve); diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js.map b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js.map index 38deb003e..cc9037025 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js.map @@ -1 +1 @@ -{"version":3,"file":"GlobalScope.js","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":";;;AAAA,oDAAoE;AAEpE,2CAAwC;AACxC,2CAAwC;AACxC,sCAAmC;AACnC,qGAAkG;AAGlG,0CAIqB;AAErB,MAAM,WAAY,SAAQ,qBAOzB;IAYC,YAAY,YAA0B,EAAE,KAA2B;QACjE,KAAK,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,EAAE,IAAI,GAAG,EAAE;YACd,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAEM,sBAAsB,CAAC,OAAmC;QAC/D,IAAI,CAAC,cAAc,CACjB,IAAI,8BAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,EACtC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAA0B;QACrC,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YACpC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACjE,gEAAgE;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE;oBACnD,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,EACJ,IAAI,mEAAgC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;iBACH;aACF;SACF;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF;AAEQ,kCAAW"} \ No newline at end of file +{"version":3,"file":"GlobalScope.js","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":";;;AAAA,oDAAoE;AAEpE,2CAAwC;AACxC,2CAAwC;AACxC,sCAAmC;AACnC,qGAAkG;AAGlG,0CAIqB;AAErB,MAAM,WAAY,SAAQ,qBAOzB;IAYC,YAAY,YAA0B,EAAE,KAA2B;QACjE,KAAK,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,EAAE,IAAI,GAAG,EAAoB;YAChC,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAEM,sBAAsB,CAC3B,IAAY,EACZ,OAAmC;QAEnC,IAAI,CAAC,cAAc,CACjB,IAAI,8BAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAC5C,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAA0B;QACrC,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YACpC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACjE,gEAAgE;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE;oBACnD,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,EACJ,IAAI,mEAAgC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;iBACH;aACF;SACF;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF;AAEQ,kCAAW"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map index d4c55a3c4..28fcabca4 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ScopeBase.d.ts","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ScopeBase.d.ts","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js index d62fec586..41086fc01 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js @@ -1,18 +1,16 @@ "use strict"; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; -var _declaredVariables, _dynamic, _staticCloseRef, _dynamicCloseRef, _globalCloseRef; +var _ScopeBase_declaredVariables, _ScopeBase_dynamic, _ScopeBase_staticCloseRef, _ScopeBase_dynamicCloseRef, _ScopeBase_globalCloseRef; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScopeBase = void 0; const types_1 = require("@typescript-eslint/types"); @@ -79,20 +77,18 @@ function isStrictScope(scope, block, isMethodDefinition) { if (stmt.type !== types_1.AST_NODE_TYPES.ExpressionStatement) { break; } + if (stmt.directive === 'use strict') { + return true; + } const expr = stmt.expression; - if (expr.type !== types_1.AST_NODE_TYPES.Literal || - typeof expr.value !== 'string') { + if (expr.type !== types_1.AST_NODE_TYPES.Literal) { break; } - if (expr.raw !== null && expr.raw !== undefined) { - if (expr.raw === '"use strict"' || expr.raw === "'use strict'") { - return true; - } + if (expr.raw === '"use strict"' || expr.raw === "'use strict'") { + return true; } - else { - if (expr.value === 'use strict') { - return true; - } + if (expr.value === 'use strict') { + return true; } } return false; @@ -132,14 +128,14 @@ class ScopeBase { * A map of the variables for each node in this scope. * This is map is a pointer to the one in the parent ScopeManager instance */ - _declaredVariables.set(this, void 0); + _ScopeBase_declaredVariables.set(this, void 0); /** * Generally, through the lexical scoping of JS you can always know which variable an identifier in the source code * refers to. There are a few exceptions to this rule. With `global` and `with` scopes you can only decide at runtime * which variable a reference refers to. * All those scopes are considered "dynamic". */ - _dynamic.set(this, void 0); + _ScopeBase_dynamic.set(this, void 0); /** * Whether this scope is created by a FunctionExpression. * @public @@ -176,7 +172,7 @@ class ScopeBase { * @public */ this.variables = []; - _staticCloseRef.set(this, (ref) => { + _ScopeBase_staticCloseRef.set(this, (ref) => { const resolve = () => { const name = ref.identifier.name; const variable = this.set.get(name); @@ -200,7 +196,7 @@ class ScopeBase { this.delegateToUpperScope(ref); } }); - _dynamicCloseRef.set(this, (ref) => { + _ScopeBase_dynamicCloseRef.set(this, (ref) => { // notify all names are through to global let current = this; do { @@ -208,19 +204,19 @@ class ScopeBase { current = current.upper; } while (current); }); - _globalCloseRef.set(this, (ref, scopeManager) => { + _ScopeBase_globalCloseRef.set(this, (ref, scopeManager) => { // let/const/class declarations should be resolved statically. // others should be resolved dynamically. if (this.shouldStaticallyCloseForGlobal(ref, scopeManager)) { - __classPrivateFieldGet(this, _staticCloseRef).call(this, ref); + __classPrivateFieldGet(this, _ScopeBase_staticCloseRef, "f").call(this, ref); } else { - __classPrivateFieldGet(this, _dynamicCloseRef).call(this, ref); + __classPrivateFieldGet(this, _ScopeBase_dynamicCloseRef, "f").call(this, ref); } }); const upperScopeAsScopeBase = upperScope; this.type = type; - __classPrivateFieldSet(this, _dynamic, this.type === ScopeType_1.ScopeType.global || this.type === ScopeType_1.ScopeType.with); + __classPrivateFieldSet(this, _ScopeBase_dynamic, this.type === ScopeType_1.ScopeType.global || this.type === ScopeType_1.ScopeType.with, "f"); this.block = block; this.variableScope = this.isVariableScope() ? this @@ -235,14 +231,14 @@ class ScopeBase { // this is guaranteed to be correct at runtime upperScopeAsScopeBase.childScopes.push(this); } - __classPrivateFieldSet(this, _declaredVariables, scopeManager.declaredVariables); + __classPrivateFieldSet(this, _ScopeBase_declaredVariables, scopeManager.declaredVariables, "f"); registerScope(scopeManager, this); } isVariableScope() { return VARIABLE_SCOPE_TYPES.has(this.type); } shouldStaticallyClose() { - return !__classPrivateFieldGet(this, _dynamic); + return !__classPrivateFieldGet(this, _ScopeBase_dynamic, "f"); } shouldStaticallyCloseForGlobal(ref, scopeManager) { // On global scope, let/const/class declarations should be resolved statically. @@ -275,13 +271,13 @@ class ScopeBase { close(scopeManager) { let closeRef; if (this.shouldStaticallyClose()) { - closeRef = __classPrivateFieldGet(this, _staticCloseRef); + closeRef = __classPrivateFieldGet(this, _ScopeBase_staticCloseRef, "f"); } else if (this.type !== 'global') { - closeRef = __classPrivateFieldGet(this, _dynamicCloseRef); + closeRef = __classPrivateFieldGet(this, _ScopeBase_dynamicCloseRef, "f"); } else { - closeRef = __classPrivateFieldGet(this, _globalCloseRef); + closeRef = __classPrivateFieldGet(this, _ScopeBase_globalCloseRef, "f"); } // Try Resolving all references in this scope. assert_1.assert(this.leftToResolve); @@ -310,10 +306,10 @@ class ScopeBase { if (node == null) { return; } - let variables = __classPrivateFieldGet(this, _declaredVariables).get(node); + let variables = __classPrivateFieldGet(this, _ScopeBase_declaredVariables, "f").get(node); if (variables == null) { variables = []; - __classPrivateFieldGet(this, _declaredVariables).set(node, variables); + __classPrivateFieldGet(this, _ScopeBase_declaredVariables, "f").set(node, variables); } if (!variables.includes(variable)) { variables.push(variable); @@ -365,5 +361,5 @@ class ScopeBase { } } exports.ScopeBase = ScopeBase; -_declaredVariables = new WeakMap(), _dynamic = new WeakMap(), _staticCloseRef = new WeakMap(), _dynamicCloseRef = new WeakMap(), _globalCloseRef = new WeakMap(); +_ScopeBase_declaredVariables = new WeakMap(), _ScopeBase_dynamic = new WeakMap(), _ScopeBase_staticCloseRef = new WeakMap(), _ScopeBase_dynamicCloseRef = new WeakMap(), _ScopeBase_globalCloseRef = new WeakMap(); //# sourceMappingURL=ScopeBase.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js.map b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js.map index 5adba46a8..f3abc43a0 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js.map @@ -1 +1 @@ -{"version":3,"file":"ScopeBase.js","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ScopeBase.js","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts index 9622d1766..94e92fabd 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts +++ b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts @@ -5,7 +5,6 @@ interface ImplicitLibVariableOptions { readonly eslintImplicitGlobalSetting?: ESLintScopeVariable['eslintImplicitGlobalSetting']; readonly isTypeVariable?: boolean; readonly isValueVariable?: boolean; - readonly name: string; readonly writeable?: boolean; } /** @@ -20,7 +19,7 @@ declare class ImplicitLibVariable extends ESLintScopeVariable implements Variabl * `true` if the variable is valid in a value context, false otherwise */ readonly isValueVariable: boolean; - constructor(scope: Scope, { isTypeVariable, isValueVariable, name, writeable, eslintImplicitGlobalSetting, }: ImplicitLibVariableOptions); + constructor(scope: Scope, name: string, { isTypeVariable, isValueVariable, writeable, eslintImplicitGlobalSetting, }: ImplicitLibVariableOptions); } export { ImplicitLibVariable, ImplicitLibVariableOptions }; //# sourceMappingURL=ImplicitLibVariable.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts.map b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts.map index a9bc0c596..98a385f06 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ImplicitLibVariable.d.ts","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,UAAU,0BAA0B;IAClC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC1F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,cAAM,mBAAoB,SAAQ,mBAAoB,YAAW,QAAQ;IACvE;;OAEG;IACH,SAAgB,cAAc,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,SAAgB,eAAe,EAAE,OAAO,CAAC;gBAGvC,KAAK,EAAE,KAAK,EACZ,EACE,cAAc,EACd,eAAe,EACf,IAAI,EACJ,SAAS,EACT,2BAA2B,GAC5B,EAAE,0BAA0B;CAShC;AAED,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"ImplicitLibVariable.d.ts","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,UAAU,0BAA0B;IAClC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC1F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,cAAM,mBAAoB,SAAQ,mBAAoB,YAAW,QAAQ;IACvE;;OAEG;IACH,SAAgB,cAAc,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,SAAgB,eAAe,EAAE,OAAO,CAAC;gBAGvC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,EACE,cAAc,EACd,eAAe,EACf,SAAS,EACT,2BAA2B,GAC5B,EAAE,0BAA0B;CAShC;AAED,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js index 2f0a9e3d0..745a6aff3 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js +++ b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js @@ -6,12 +6,13 @@ const ESLintScopeVariable_1 = require("./ESLintScopeVariable"); * An variable implicitly defined by the TS Lib */ class ImplicitLibVariable extends ESLintScopeVariable_1.ESLintScopeVariable { - constructor(scope, { isTypeVariable, isValueVariable, name, writeable, eslintImplicitGlobalSetting, }) { + constructor(scope, name, { isTypeVariable, isValueVariable, writeable, eslintImplicitGlobalSetting, }) { super(name, scope); this.isTypeVariable = isTypeVariable !== null && isTypeVariable !== void 0 ? isTypeVariable : false; this.isValueVariable = isValueVariable !== null && isValueVariable !== void 0 ? isValueVariable : false; this.writeable = writeable !== null && writeable !== void 0 ? writeable : false; - this.eslintImplicitGlobalSetting = eslintImplicitGlobalSetting !== null && eslintImplicitGlobalSetting !== void 0 ? eslintImplicitGlobalSetting : 'readonly'; + this.eslintImplicitGlobalSetting = + eslintImplicitGlobalSetting !== null && eslintImplicitGlobalSetting !== void 0 ? eslintImplicitGlobalSetting : 'readonly'; } } exports.ImplicitLibVariable = ImplicitLibVariable; diff --git a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js.map b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js.map index 7e62cbee2..600a3dedb 100644 --- a/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js.map +++ b/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js.map @@ -1 +1 @@ -{"version":3,"file":"ImplicitLibVariable.js","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAY5D;;GAEG;AACH,MAAM,mBAAoB,SAAQ,yCAAmB;IAWnD,YACE,KAAY,EACZ,EACE,cAAc,EACd,eAAe,EACf,IAAI,EACJ,SAAS,EACT,2BAA2B,GACA;QAE7B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,KAAK,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,CAAC;QACpC,IAAI,CAAC,2BAA2B,GAC9B,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,UAAU,CAAC;IAC9C,CAAC;CACF;AAEQ,kDAAmB"} \ No newline at end of file +{"version":3,"file":"ImplicitLibVariable.js","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAW5D;;GAEG;AACH,MAAM,mBAAoB,SAAQ,yCAAmB;IAWnD,YACE,KAAY,EACZ,IAAY,EACZ,EACE,cAAc,EACd,eAAe,EACf,SAAS,EACT,2BAA2B,GACA;QAE7B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,KAAK,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,CAAC;QACpC,IAAI,CAAC,2BAA2B;YAC9B,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,UAAU,CAAC;IAC9C,CAAC;CACF;AAEQ,kDAAmB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/scope-manager/package.json b/node_modules/@typescript-eslint/scope-manager/package.json index 8af22e772..0cba1a5c6 100644 --- a/node_modules/@typescript-eslint/scope-manager/package.json +++ b/node_modules/@typescript-eslint/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "4.1.0", + "version": "4.28.5", "description": "TypeScript scope analyser for ESLint", "keywords": [ "eslint", @@ -31,7 +31,7 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "generate:lib": "../../node_modules/.bin/ts-node --files --transpile-only tools/generate-lib.ts", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", @@ -39,17 +39,17 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/visitor-keys": "4.1.0" + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/visitor-keys": "4.28.5" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/typescript-estree": "4.1.0", + "@typescript-eslint/typescript-estree": "4.28.5", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", "prettier": "*", - "pretty-format": "^26.4.2", + "pretty-format": "*", "rimraf": "*", "typescript": "*" }, @@ -64,5 +64,5 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/CHANGELOG.md b/node_modules/@typescript-eslint/types/CHANGELOG.md index 43d03464c..9abe57bc4 100644 --- a/node_modules/@typescript-eslint/types/CHANGELOG.md +++ b/node_modules/@typescript-eslint/types/CHANGELOG.md @@ -3,6 +3,405 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + + +### Features + +* allow user to provide TS program instance in parser options ([#3484](https://github.com/typescript-eslint/typescript-eslint/issues/3484)) ([e855b18](https://github.com/typescript-eslint/typescript-eslint/commit/e855b18b8feee0edb5c617c11006861426a6f530)) + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + + +### Bug Fixes + +* generate library types for TypeScript v4.3 ([#3460](https://github.com/typescript-eslint/typescript-eslint/issues/3460)) ([ed4776a](https://github.com/typescript-eslint/typescript-eslint/commit/ed4776afa1374279027b9b7d82aa4b453b334998)), closes [#3449](https://github.com/typescript-eslint/typescript-eslint/issues/3449) + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + + +### Bug Fixes + +* **typescript-estree:** [ts 4.2] add support for import type equal declaration ([#3189](https://github.com/typescript-eslint/typescript-eslint/issues/3189)) ([6a25faf](https://github.com/typescript-eslint/typescript-eslint/commit/6a25faf5cfa4d21a7546d9866819f4e017308fb2)) + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + + +### Features + +* TypeScript 4.2 syntax support ([#3112](https://github.com/typescript-eslint/typescript-eslint/issues/3112)) ([2ebfb21](https://github.com/typescript-eslint/typescript-eslint/commit/2ebfb21ba6c88c793cfbd0e231e5803b2381694c)) + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + + +### Bug Fixes + +* **typescript-estree:** correct issues in AST definition ([#3083](https://github.com/typescript-eslint/typescript-eslint/issues/3083)) ([509a117](https://github.com/typescript-eslint/typescript-eslint/commit/509a11749f85400a01e9fecfecd12871ce562d3d)) +* add missing intrinsic keyword node to AST ([#3081](https://github.com/typescript-eslint/typescript-eslint/issues/3081)) ([409bf0b](https://github.com/typescript-eslint/typescript-eslint/commit/409bf0bb3e2ac4d8782408d436ebdefb42dba38b)) + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + + +### Features + +* **eslint-plugin:** [no-unused-vars] fork the base rule ([#2768](https://github.com/typescript-eslint/typescript-eslint/issues/2768)) ([a8227a6](https://github.com/typescript-eslint/typescript-eslint/commit/a8227a6185dd24de4bfc7d766931643871155021)), closes [#2782](https://github.com/typescript-eslint/typescript-eslint/issues/2782) [#2714](https://github.com/typescript-eslint/typescript-eslint/issues/2714) [#2648](https://github.com/typescript-eslint/typescript-eslint/issues/2648) + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + + +### Features + +* support TS4.1 features ([#2748](https://github.com/typescript-eslint/typescript-eslint/issues/2748)) ([2be354b](https://github.com/typescript-eslint/typescript-eslint/commit/2be354bb15f9013a2da1b13a0c0836e9ef057e16)), closes [#2583](https://github.com/typescript-eslint/typescript-eslint/issues/2583) + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Features + +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + + +### Bug Fixes + +* **types:** artificial fix needed to trigger release ([b577daf](https://github.com/typescript-eslint/typescript-eslint/commit/b577daf27cd87870b6e095e4e995519f96d321dd)) + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) diff --git a/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts b/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts deleted file mode 100644 index d3338c8cb..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts +++ /dev/null @@ -1,165 +0,0 @@ -declare enum AST_NODE_TYPES { - ArrayExpression = "ArrayExpression", - ArrayPattern = "ArrayPattern", - ArrowFunctionExpression = "ArrowFunctionExpression", - AssignmentExpression = "AssignmentExpression", - AssignmentPattern = "AssignmentPattern", - AwaitExpression = "AwaitExpression", - BinaryExpression = "BinaryExpression", - BlockStatement = "BlockStatement", - BreakStatement = "BreakStatement", - CallExpression = "CallExpression", - CatchClause = "CatchClause", - ChainExpression = "ChainExpression", - ClassBody = "ClassBody", - ClassDeclaration = "ClassDeclaration", - ClassExpression = "ClassExpression", - ClassProperty = "ClassProperty", - ConditionalExpression = "ConditionalExpression", - ContinueStatement = "ContinueStatement", - DebuggerStatement = "DebuggerStatement", - Decorator = "Decorator", - DoWhileStatement = "DoWhileStatement", - EmptyStatement = "EmptyStatement", - ExportAllDeclaration = "ExportAllDeclaration", - ExportDefaultDeclaration = "ExportDefaultDeclaration", - ExportNamedDeclaration = "ExportNamedDeclaration", - ExportSpecifier = "ExportSpecifier", - ExpressionStatement = "ExpressionStatement", - ForInStatement = "ForInStatement", - ForOfStatement = "ForOfStatement", - ForStatement = "ForStatement", - FunctionDeclaration = "FunctionDeclaration", - FunctionExpression = "FunctionExpression", - Identifier = "Identifier", - IfStatement = "IfStatement", - ImportDeclaration = "ImportDeclaration", - ImportDefaultSpecifier = "ImportDefaultSpecifier", - ImportExpression = "ImportExpression", - ImportNamespaceSpecifier = "ImportNamespaceSpecifier", - ImportSpecifier = "ImportSpecifier", - JSXAttribute = "JSXAttribute", - JSXClosingElement = "JSXClosingElement", - JSXClosingFragment = "JSXClosingFragment", - JSXElement = "JSXElement", - JSXEmptyExpression = "JSXEmptyExpression", - JSXExpressionContainer = "JSXExpressionContainer", - JSXFragment = "JSXFragment", - JSXIdentifier = "JSXIdentifier", - JSXMemberExpression = "JSXMemberExpression", - JSXOpeningElement = "JSXOpeningElement", - JSXOpeningFragment = "JSXOpeningFragment", - JSXSpreadAttribute = "JSXSpreadAttribute", - JSXSpreadChild = "JSXSpreadChild", - JSXText = "JSXText", - LabeledStatement = "LabeledStatement", - Literal = "Literal", - LogicalExpression = "LogicalExpression", - MemberExpression = "MemberExpression", - MetaProperty = "MetaProperty", - MethodDefinition = "MethodDefinition", - NewExpression = "NewExpression", - ObjectExpression = "ObjectExpression", - ObjectPattern = "ObjectPattern", - Program = "Program", - Property = "Property", - RestElement = "RestElement", - ReturnStatement = "ReturnStatement", - SequenceExpression = "SequenceExpression", - SpreadElement = "SpreadElement", - Super = "Super", - SwitchCase = "SwitchCase", - SwitchStatement = "SwitchStatement", - TaggedTemplateExpression = "TaggedTemplateExpression", - TemplateElement = "TemplateElement", - TemplateLiteral = "TemplateLiteral", - ThisExpression = "ThisExpression", - ThrowStatement = "ThrowStatement", - TryStatement = "TryStatement", - UnaryExpression = "UnaryExpression", - UpdateExpression = "UpdateExpression", - VariableDeclaration = "VariableDeclaration", - VariableDeclarator = "VariableDeclarator", - WhileStatement = "WhileStatement", - WithStatement = "WithStatement", - YieldExpression = "YieldExpression", - /** - * TS-prefixed nodes - */ - TSAbstractClassProperty = "TSAbstractClassProperty", - TSAbstractKeyword = "TSAbstractKeyword", - TSAbstractMethodDefinition = "TSAbstractMethodDefinition", - TSAnyKeyword = "TSAnyKeyword", - TSArrayType = "TSArrayType", - TSAsExpression = "TSAsExpression", - TSAsyncKeyword = "TSAsyncKeyword", - TSBigIntKeyword = "TSBigIntKeyword", - TSBooleanKeyword = "TSBooleanKeyword", - TSCallSignatureDeclaration = "TSCallSignatureDeclaration", - TSClassImplements = "TSClassImplements", - TSConditionalType = "TSConditionalType", - TSConstructorType = "TSConstructorType", - TSConstructSignatureDeclaration = "TSConstructSignatureDeclaration", - TSDeclareFunction = "TSDeclareFunction", - TSDeclareKeyword = "TSDeclareKeyword", - TSEmptyBodyFunctionExpression = "TSEmptyBodyFunctionExpression", - TSEnumDeclaration = "TSEnumDeclaration", - TSEnumMember = "TSEnumMember", - TSExportAssignment = "TSExportAssignment", - TSExportKeyword = "TSExportKeyword", - TSExternalModuleReference = "TSExternalModuleReference", - TSFunctionType = "TSFunctionType", - TSImportEqualsDeclaration = "TSImportEqualsDeclaration", - TSImportType = "TSImportType", - TSIndexedAccessType = "TSIndexedAccessType", - TSIndexSignature = "TSIndexSignature", - TSInferType = "TSInferType", - TSInterfaceBody = "TSInterfaceBody", - TSInterfaceDeclaration = "TSInterfaceDeclaration", - TSInterfaceHeritage = "TSInterfaceHeritage", - TSIntersectionType = "TSIntersectionType", - TSLiteralType = "TSLiteralType", - TSMappedType = "TSMappedType", - TSMethodSignature = "TSMethodSignature", - TSModuleBlock = "TSModuleBlock", - TSModuleDeclaration = "TSModuleDeclaration", - TSNamedTupleMember = "TSNamedTupleMember", - TSNamespaceExportDeclaration = "TSNamespaceExportDeclaration", - TSNeverKeyword = "TSNeverKeyword", - TSNonNullExpression = "TSNonNullExpression", - TSNullKeyword = "TSNullKeyword", - TSNumberKeyword = "TSNumberKeyword", - TSObjectKeyword = "TSObjectKeyword", - TSOptionalType = "TSOptionalType", - TSParameterProperty = "TSParameterProperty", - TSParenthesizedType = "TSParenthesizedType", - TSPrivateKeyword = "TSPrivateKeyword", - TSPropertySignature = "TSPropertySignature", - TSProtectedKeyword = "TSProtectedKeyword", - TSPublicKeyword = "TSPublicKeyword", - TSQualifiedName = "TSQualifiedName", - TSReadonlyKeyword = "TSReadonlyKeyword", - TSRestType = "TSRestType", - TSStaticKeyword = "TSStaticKeyword", - TSStringKeyword = "TSStringKeyword", - TSSymbolKeyword = "TSSymbolKeyword", - TSThisType = "TSThisType", - TSTupleType = "TSTupleType", - TSTypeAliasDeclaration = "TSTypeAliasDeclaration", - TSTypeAnnotation = "TSTypeAnnotation", - TSTypeAssertion = "TSTypeAssertion", - TSTypeLiteral = "TSTypeLiteral", - TSTypeOperator = "TSTypeOperator", - TSTypeParameter = "TSTypeParameter", - TSTypeParameterDeclaration = "TSTypeParameterDeclaration", - TSTypeParameterInstantiation = "TSTypeParameterInstantiation", - TSTypePredicate = "TSTypePredicate", - TSTypeQuery = "TSTypeQuery", - TSTypeReference = "TSTypeReference", - TSUndefinedKeyword = "TSUndefinedKeyword", - TSUnionType = "TSUnionType", - TSUnknownKeyword = "TSUnknownKeyword", - TSVoidKeyword = "TSVoidKeyword" -} -export { AST_NODE_TYPES }; -//# sourceMappingURL=ast-node-types.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts.map b/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts.map deleted file mode 100644 index f9db685e7..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-node-types.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-node-types.d.ts","sourceRoot":"","sources":["../src/ast-node-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-node-types.js b/node_modules/@typescript-eslint/types/dist/ast-node-types.js deleted file mode 100644 index 7345e80be..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-node-types.js +++ /dev/null @@ -1,169 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AST_NODE_TYPES = void 0; -var AST_NODE_TYPES; -(function (AST_NODE_TYPES) { - AST_NODE_TYPES["ArrayExpression"] = "ArrayExpression"; - AST_NODE_TYPES["ArrayPattern"] = "ArrayPattern"; - AST_NODE_TYPES["ArrowFunctionExpression"] = "ArrowFunctionExpression"; - AST_NODE_TYPES["AssignmentExpression"] = "AssignmentExpression"; - AST_NODE_TYPES["AssignmentPattern"] = "AssignmentPattern"; - AST_NODE_TYPES["AwaitExpression"] = "AwaitExpression"; - AST_NODE_TYPES["BinaryExpression"] = "BinaryExpression"; - AST_NODE_TYPES["BlockStatement"] = "BlockStatement"; - AST_NODE_TYPES["BreakStatement"] = "BreakStatement"; - AST_NODE_TYPES["CallExpression"] = "CallExpression"; - AST_NODE_TYPES["CatchClause"] = "CatchClause"; - AST_NODE_TYPES["ChainExpression"] = "ChainExpression"; - AST_NODE_TYPES["ClassBody"] = "ClassBody"; - AST_NODE_TYPES["ClassDeclaration"] = "ClassDeclaration"; - AST_NODE_TYPES["ClassExpression"] = "ClassExpression"; - AST_NODE_TYPES["ClassProperty"] = "ClassProperty"; - AST_NODE_TYPES["ConditionalExpression"] = "ConditionalExpression"; - AST_NODE_TYPES["ContinueStatement"] = "ContinueStatement"; - AST_NODE_TYPES["DebuggerStatement"] = "DebuggerStatement"; - AST_NODE_TYPES["Decorator"] = "Decorator"; - AST_NODE_TYPES["DoWhileStatement"] = "DoWhileStatement"; - AST_NODE_TYPES["EmptyStatement"] = "EmptyStatement"; - AST_NODE_TYPES["ExportAllDeclaration"] = "ExportAllDeclaration"; - AST_NODE_TYPES["ExportDefaultDeclaration"] = "ExportDefaultDeclaration"; - AST_NODE_TYPES["ExportNamedDeclaration"] = "ExportNamedDeclaration"; - AST_NODE_TYPES["ExportSpecifier"] = "ExportSpecifier"; - AST_NODE_TYPES["ExpressionStatement"] = "ExpressionStatement"; - AST_NODE_TYPES["ForInStatement"] = "ForInStatement"; - AST_NODE_TYPES["ForOfStatement"] = "ForOfStatement"; - AST_NODE_TYPES["ForStatement"] = "ForStatement"; - AST_NODE_TYPES["FunctionDeclaration"] = "FunctionDeclaration"; - AST_NODE_TYPES["FunctionExpression"] = "FunctionExpression"; - AST_NODE_TYPES["Identifier"] = "Identifier"; - AST_NODE_TYPES["IfStatement"] = "IfStatement"; - AST_NODE_TYPES["ImportDeclaration"] = "ImportDeclaration"; - AST_NODE_TYPES["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; - AST_NODE_TYPES["ImportExpression"] = "ImportExpression"; - AST_NODE_TYPES["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; - AST_NODE_TYPES["ImportSpecifier"] = "ImportSpecifier"; - AST_NODE_TYPES["JSXAttribute"] = "JSXAttribute"; - AST_NODE_TYPES["JSXClosingElement"] = "JSXClosingElement"; - AST_NODE_TYPES["JSXClosingFragment"] = "JSXClosingFragment"; - AST_NODE_TYPES["JSXElement"] = "JSXElement"; - AST_NODE_TYPES["JSXEmptyExpression"] = "JSXEmptyExpression"; - AST_NODE_TYPES["JSXExpressionContainer"] = "JSXExpressionContainer"; - AST_NODE_TYPES["JSXFragment"] = "JSXFragment"; - AST_NODE_TYPES["JSXIdentifier"] = "JSXIdentifier"; - AST_NODE_TYPES["JSXMemberExpression"] = "JSXMemberExpression"; - AST_NODE_TYPES["JSXOpeningElement"] = "JSXOpeningElement"; - AST_NODE_TYPES["JSXOpeningFragment"] = "JSXOpeningFragment"; - AST_NODE_TYPES["JSXSpreadAttribute"] = "JSXSpreadAttribute"; - AST_NODE_TYPES["JSXSpreadChild"] = "JSXSpreadChild"; - AST_NODE_TYPES["JSXText"] = "JSXText"; - AST_NODE_TYPES["LabeledStatement"] = "LabeledStatement"; - AST_NODE_TYPES["Literal"] = "Literal"; - AST_NODE_TYPES["LogicalExpression"] = "LogicalExpression"; - AST_NODE_TYPES["MemberExpression"] = "MemberExpression"; - AST_NODE_TYPES["MetaProperty"] = "MetaProperty"; - AST_NODE_TYPES["MethodDefinition"] = "MethodDefinition"; - AST_NODE_TYPES["NewExpression"] = "NewExpression"; - AST_NODE_TYPES["ObjectExpression"] = "ObjectExpression"; - AST_NODE_TYPES["ObjectPattern"] = "ObjectPattern"; - AST_NODE_TYPES["Program"] = "Program"; - AST_NODE_TYPES["Property"] = "Property"; - AST_NODE_TYPES["RestElement"] = "RestElement"; - AST_NODE_TYPES["ReturnStatement"] = "ReturnStatement"; - AST_NODE_TYPES["SequenceExpression"] = "SequenceExpression"; - AST_NODE_TYPES["SpreadElement"] = "SpreadElement"; - AST_NODE_TYPES["Super"] = "Super"; - AST_NODE_TYPES["SwitchCase"] = "SwitchCase"; - AST_NODE_TYPES["SwitchStatement"] = "SwitchStatement"; - AST_NODE_TYPES["TaggedTemplateExpression"] = "TaggedTemplateExpression"; - AST_NODE_TYPES["TemplateElement"] = "TemplateElement"; - AST_NODE_TYPES["TemplateLiteral"] = "TemplateLiteral"; - AST_NODE_TYPES["ThisExpression"] = "ThisExpression"; - AST_NODE_TYPES["ThrowStatement"] = "ThrowStatement"; - AST_NODE_TYPES["TryStatement"] = "TryStatement"; - AST_NODE_TYPES["UnaryExpression"] = "UnaryExpression"; - AST_NODE_TYPES["UpdateExpression"] = "UpdateExpression"; - AST_NODE_TYPES["VariableDeclaration"] = "VariableDeclaration"; - AST_NODE_TYPES["VariableDeclarator"] = "VariableDeclarator"; - AST_NODE_TYPES["WhileStatement"] = "WhileStatement"; - AST_NODE_TYPES["WithStatement"] = "WithStatement"; - AST_NODE_TYPES["YieldExpression"] = "YieldExpression"; - /** - * TS-prefixed nodes - */ - AST_NODE_TYPES["TSAbstractClassProperty"] = "TSAbstractClassProperty"; - AST_NODE_TYPES["TSAbstractKeyword"] = "TSAbstractKeyword"; - AST_NODE_TYPES["TSAbstractMethodDefinition"] = "TSAbstractMethodDefinition"; - AST_NODE_TYPES["TSAnyKeyword"] = "TSAnyKeyword"; - AST_NODE_TYPES["TSArrayType"] = "TSArrayType"; - AST_NODE_TYPES["TSAsExpression"] = "TSAsExpression"; - AST_NODE_TYPES["TSAsyncKeyword"] = "TSAsyncKeyword"; - AST_NODE_TYPES["TSBigIntKeyword"] = "TSBigIntKeyword"; - AST_NODE_TYPES["TSBooleanKeyword"] = "TSBooleanKeyword"; - AST_NODE_TYPES["TSCallSignatureDeclaration"] = "TSCallSignatureDeclaration"; - AST_NODE_TYPES["TSClassImplements"] = "TSClassImplements"; - AST_NODE_TYPES["TSConditionalType"] = "TSConditionalType"; - AST_NODE_TYPES["TSConstructorType"] = "TSConstructorType"; - AST_NODE_TYPES["TSConstructSignatureDeclaration"] = "TSConstructSignatureDeclaration"; - AST_NODE_TYPES["TSDeclareFunction"] = "TSDeclareFunction"; - AST_NODE_TYPES["TSDeclareKeyword"] = "TSDeclareKeyword"; - AST_NODE_TYPES["TSEmptyBodyFunctionExpression"] = "TSEmptyBodyFunctionExpression"; - AST_NODE_TYPES["TSEnumDeclaration"] = "TSEnumDeclaration"; - AST_NODE_TYPES["TSEnumMember"] = "TSEnumMember"; - AST_NODE_TYPES["TSExportAssignment"] = "TSExportAssignment"; - AST_NODE_TYPES["TSExportKeyword"] = "TSExportKeyword"; - AST_NODE_TYPES["TSExternalModuleReference"] = "TSExternalModuleReference"; - AST_NODE_TYPES["TSFunctionType"] = "TSFunctionType"; - AST_NODE_TYPES["TSImportEqualsDeclaration"] = "TSImportEqualsDeclaration"; - AST_NODE_TYPES["TSImportType"] = "TSImportType"; - AST_NODE_TYPES["TSIndexedAccessType"] = "TSIndexedAccessType"; - AST_NODE_TYPES["TSIndexSignature"] = "TSIndexSignature"; - AST_NODE_TYPES["TSInferType"] = "TSInferType"; - AST_NODE_TYPES["TSInterfaceBody"] = "TSInterfaceBody"; - AST_NODE_TYPES["TSInterfaceDeclaration"] = "TSInterfaceDeclaration"; - AST_NODE_TYPES["TSInterfaceHeritage"] = "TSInterfaceHeritage"; - AST_NODE_TYPES["TSIntersectionType"] = "TSIntersectionType"; - AST_NODE_TYPES["TSLiteralType"] = "TSLiteralType"; - AST_NODE_TYPES["TSMappedType"] = "TSMappedType"; - AST_NODE_TYPES["TSMethodSignature"] = "TSMethodSignature"; - AST_NODE_TYPES["TSModuleBlock"] = "TSModuleBlock"; - AST_NODE_TYPES["TSModuleDeclaration"] = "TSModuleDeclaration"; - AST_NODE_TYPES["TSNamedTupleMember"] = "TSNamedTupleMember"; - AST_NODE_TYPES["TSNamespaceExportDeclaration"] = "TSNamespaceExportDeclaration"; - AST_NODE_TYPES["TSNeverKeyword"] = "TSNeverKeyword"; - AST_NODE_TYPES["TSNonNullExpression"] = "TSNonNullExpression"; - AST_NODE_TYPES["TSNullKeyword"] = "TSNullKeyword"; - AST_NODE_TYPES["TSNumberKeyword"] = "TSNumberKeyword"; - AST_NODE_TYPES["TSObjectKeyword"] = "TSObjectKeyword"; - AST_NODE_TYPES["TSOptionalType"] = "TSOptionalType"; - AST_NODE_TYPES["TSParameterProperty"] = "TSParameterProperty"; - AST_NODE_TYPES["TSParenthesizedType"] = "TSParenthesizedType"; - AST_NODE_TYPES["TSPrivateKeyword"] = "TSPrivateKeyword"; - AST_NODE_TYPES["TSPropertySignature"] = "TSPropertySignature"; - AST_NODE_TYPES["TSProtectedKeyword"] = "TSProtectedKeyword"; - AST_NODE_TYPES["TSPublicKeyword"] = "TSPublicKeyword"; - AST_NODE_TYPES["TSQualifiedName"] = "TSQualifiedName"; - AST_NODE_TYPES["TSReadonlyKeyword"] = "TSReadonlyKeyword"; - AST_NODE_TYPES["TSRestType"] = "TSRestType"; - AST_NODE_TYPES["TSStaticKeyword"] = "TSStaticKeyword"; - AST_NODE_TYPES["TSStringKeyword"] = "TSStringKeyword"; - AST_NODE_TYPES["TSSymbolKeyword"] = "TSSymbolKeyword"; - AST_NODE_TYPES["TSThisType"] = "TSThisType"; - AST_NODE_TYPES["TSTupleType"] = "TSTupleType"; - AST_NODE_TYPES["TSTypeAliasDeclaration"] = "TSTypeAliasDeclaration"; - AST_NODE_TYPES["TSTypeAnnotation"] = "TSTypeAnnotation"; - AST_NODE_TYPES["TSTypeAssertion"] = "TSTypeAssertion"; - AST_NODE_TYPES["TSTypeLiteral"] = "TSTypeLiteral"; - AST_NODE_TYPES["TSTypeOperator"] = "TSTypeOperator"; - AST_NODE_TYPES["TSTypeParameter"] = "TSTypeParameter"; - AST_NODE_TYPES["TSTypeParameterDeclaration"] = "TSTypeParameterDeclaration"; - AST_NODE_TYPES["TSTypeParameterInstantiation"] = "TSTypeParameterInstantiation"; - AST_NODE_TYPES["TSTypePredicate"] = "TSTypePredicate"; - AST_NODE_TYPES["TSTypeQuery"] = "TSTypeQuery"; - AST_NODE_TYPES["TSTypeReference"] = "TSTypeReference"; - AST_NODE_TYPES["TSUndefinedKeyword"] = "TSUndefinedKeyword"; - AST_NODE_TYPES["TSUnionType"] = "TSUnionType"; - AST_NODE_TYPES["TSUnknownKeyword"] = "TSUnknownKeyword"; - AST_NODE_TYPES["TSVoidKeyword"] = "TSVoidKeyword"; -})(AST_NODE_TYPES || (AST_NODE_TYPES = {})); -exports.AST_NODE_TYPES = AST_NODE_TYPES; -//# sourceMappingURL=ast-node-types.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-node-types.js.map b/node_modules/@typescript-eslint/types/dist/ast-node-types.js.map deleted file mode 100644 index 7d7ba41f6..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-node-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-node-types.js","sourceRoot":"","sources":["../src/ast-node-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts b/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts new file mode 100644 index 000000000..2dbe7758e --- /dev/null +++ b/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts @@ -0,0 +1,1341 @@ +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN COPIED FROM ast-spec. * + * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * + * * + * MAKE CHANGES TO ast-spec AND THEN RUN * + * yarn build * + **********************************************/ +import type { SyntaxKind } from 'typescript'; +export declare type Accessibility = 'private' | 'protected' | 'public'; +export declare interface ArrayExpression extends BaseNode { + type: AST_NODE_TYPES.ArrayExpression; + elements: Expression[]; +} +export declare interface ArrayPattern extends BaseNode { + type: AST_NODE_TYPES.ArrayPattern; + elements: (DestructuringPattern | null)[]; + typeAnnotation?: TSTypeAnnotation; + optional?: boolean; + decorators?: Decorator[]; +} +export declare interface ArrowFunctionExpression extends BaseNode { + type: AST_NODE_TYPES.ArrowFunctionExpression; + generator: boolean; + id: null; + params: Parameter[]; + body: BlockStatement | Expression; + async: boolean; + expression: boolean; + returnType?: TSTypeAnnotation; + typeParameters?: TSTypeParameterDeclaration; +} +export declare interface AssignmentExpression extends BinaryExpressionBase { + type: AST_NODE_TYPES.AssignmentExpression; + operator: '-=' | '??=' | '**=' | '*=' | '/=' | '&&=' | '&=' | '%=' | '^=' | '+=' | '<<=' | '=' | '>>=' | '>>>=' | '|=' | '||='; +} +export declare interface AssignmentPattern extends BaseNode { + type: AST_NODE_TYPES.AssignmentPattern; + left: BindingName; + right: Expression; + typeAnnotation?: TSTypeAnnotation; + optional?: boolean; + decorators?: Decorator[]; +} +export declare enum AST_NODE_TYPES { + ArrayExpression = "ArrayExpression", + ArrayPattern = "ArrayPattern", + ArrowFunctionExpression = "ArrowFunctionExpression", + AssignmentExpression = "AssignmentExpression", + AssignmentPattern = "AssignmentPattern", + AwaitExpression = "AwaitExpression", + BinaryExpression = "BinaryExpression", + BlockStatement = "BlockStatement", + BreakStatement = "BreakStatement", + CallExpression = "CallExpression", + CatchClause = "CatchClause", + ChainExpression = "ChainExpression", + ClassBody = "ClassBody", + ClassDeclaration = "ClassDeclaration", + ClassExpression = "ClassExpression", + ClassProperty = "ClassProperty", + ConditionalExpression = "ConditionalExpression", + ContinueStatement = "ContinueStatement", + DebuggerStatement = "DebuggerStatement", + Decorator = "Decorator", + DoWhileStatement = "DoWhileStatement", + EmptyStatement = "EmptyStatement", + ExportAllDeclaration = "ExportAllDeclaration", + ExportDefaultDeclaration = "ExportDefaultDeclaration", + ExportNamedDeclaration = "ExportNamedDeclaration", + ExportSpecifier = "ExportSpecifier", + ExpressionStatement = "ExpressionStatement", + ForInStatement = "ForInStatement", + ForOfStatement = "ForOfStatement", + ForStatement = "ForStatement", + FunctionDeclaration = "FunctionDeclaration", + FunctionExpression = "FunctionExpression", + Identifier = "Identifier", + IfStatement = "IfStatement", + ImportDeclaration = "ImportDeclaration", + ImportDefaultSpecifier = "ImportDefaultSpecifier", + ImportExpression = "ImportExpression", + ImportNamespaceSpecifier = "ImportNamespaceSpecifier", + ImportSpecifier = "ImportSpecifier", + JSXAttribute = "JSXAttribute", + JSXClosingElement = "JSXClosingElement", + JSXClosingFragment = "JSXClosingFragment", + JSXElement = "JSXElement", + JSXEmptyExpression = "JSXEmptyExpression", + JSXExpressionContainer = "JSXExpressionContainer", + JSXFragment = "JSXFragment", + JSXIdentifier = "JSXIdentifier", + JSXMemberExpression = "JSXMemberExpression", + JSXNamespacedName = "JSXNamespacedName", + JSXOpeningElement = "JSXOpeningElement", + JSXOpeningFragment = "JSXOpeningFragment", + JSXSpreadAttribute = "JSXSpreadAttribute", + JSXSpreadChild = "JSXSpreadChild", + JSXText = "JSXText", + LabeledStatement = "LabeledStatement", + Literal = "Literal", + LogicalExpression = "LogicalExpression", + MemberExpression = "MemberExpression", + MetaProperty = "MetaProperty", + MethodDefinition = "MethodDefinition", + NewExpression = "NewExpression", + ObjectExpression = "ObjectExpression", + ObjectPattern = "ObjectPattern", + Program = "Program", + Property = "Property", + RestElement = "RestElement", + ReturnStatement = "ReturnStatement", + SequenceExpression = "SequenceExpression", + SpreadElement = "SpreadElement", + Super = "Super", + SwitchCase = "SwitchCase", + SwitchStatement = "SwitchStatement", + TaggedTemplateExpression = "TaggedTemplateExpression", + TemplateElement = "TemplateElement", + TemplateLiteral = "TemplateLiteral", + ThisExpression = "ThisExpression", + ThrowStatement = "ThrowStatement", + TryStatement = "TryStatement", + UnaryExpression = "UnaryExpression", + UpdateExpression = "UpdateExpression", + VariableDeclaration = "VariableDeclaration", + VariableDeclarator = "VariableDeclarator", + WhileStatement = "WhileStatement", + WithStatement = "WithStatement", + YieldExpression = "YieldExpression", + /** + * TS-prefixed nodes + */ + TSAbstractClassProperty = "TSAbstractClassProperty", + TSAbstractKeyword = "TSAbstractKeyword", + TSAbstractMethodDefinition = "TSAbstractMethodDefinition", + TSAnyKeyword = "TSAnyKeyword", + TSArrayType = "TSArrayType", + TSAsExpression = "TSAsExpression", + TSAsyncKeyword = "TSAsyncKeyword", + TSBigIntKeyword = "TSBigIntKeyword", + TSBooleanKeyword = "TSBooleanKeyword", + TSCallSignatureDeclaration = "TSCallSignatureDeclaration", + TSClassImplements = "TSClassImplements", + TSConditionalType = "TSConditionalType", + TSConstructorType = "TSConstructorType", + TSConstructSignatureDeclaration = "TSConstructSignatureDeclaration", + TSDeclareFunction = "TSDeclareFunction", + TSDeclareKeyword = "TSDeclareKeyword", + TSEmptyBodyFunctionExpression = "TSEmptyBodyFunctionExpression", + TSEnumDeclaration = "TSEnumDeclaration", + TSEnumMember = "TSEnumMember", + TSExportAssignment = "TSExportAssignment", + TSExportKeyword = "TSExportKeyword", + TSExternalModuleReference = "TSExternalModuleReference", + TSFunctionType = "TSFunctionType", + TSImportEqualsDeclaration = "TSImportEqualsDeclaration", + TSImportType = "TSImportType", + TSIndexedAccessType = "TSIndexedAccessType", + TSIndexSignature = "TSIndexSignature", + TSInferType = "TSInferType", + TSInterfaceBody = "TSInterfaceBody", + TSInterfaceDeclaration = "TSInterfaceDeclaration", + TSInterfaceHeritage = "TSInterfaceHeritage", + TSIntersectionType = "TSIntersectionType", + TSIntrinsicKeyword = "TSIntrinsicKeyword", + TSLiteralType = "TSLiteralType", + TSMappedType = "TSMappedType", + TSMethodSignature = "TSMethodSignature", + TSModuleBlock = "TSModuleBlock", + TSModuleDeclaration = "TSModuleDeclaration", + TSNamedTupleMember = "TSNamedTupleMember", + TSNamespaceExportDeclaration = "TSNamespaceExportDeclaration", + TSNeverKeyword = "TSNeverKeyword", + TSNonNullExpression = "TSNonNullExpression", + TSNullKeyword = "TSNullKeyword", + TSNumberKeyword = "TSNumberKeyword", + TSObjectKeyword = "TSObjectKeyword", + TSOptionalType = "TSOptionalType", + TSParameterProperty = "TSParameterProperty", + TSParenthesizedType = "TSParenthesizedType", + TSPrivateKeyword = "TSPrivateKeyword", + TSPropertySignature = "TSPropertySignature", + TSProtectedKeyword = "TSProtectedKeyword", + TSPublicKeyword = "TSPublicKeyword", + TSQualifiedName = "TSQualifiedName", + TSReadonlyKeyword = "TSReadonlyKeyword", + TSRestType = "TSRestType", + TSStaticKeyword = "TSStaticKeyword", + TSStringKeyword = "TSStringKeyword", + TSSymbolKeyword = "TSSymbolKeyword", + TSTemplateLiteralType = "TSTemplateLiteralType", + TSThisType = "TSThisType", + TSTupleType = "TSTupleType", + TSTypeAliasDeclaration = "TSTypeAliasDeclaration", + TSTypeAnnotation = "TSTypeAnnotation", + TSTypeAssertion = "TSTypeAssertion", + TSTypeLiteral = "TSTypeLiteral", + TSTypeOperator = "TSTypeOperator", + TSTypeParameter = "TSTypeParameter", + TSTypeParameterDeclaration = "TSTypeParameterDeclaration", + TSTypeParameterInstantiation = "TSTypeParameterInstantiation", + TSTypePredicate = "TSTypePredicate", + TSTypeQuery = "TSTypeQuery", + TSTypeReference = "TSTypeReference", + TSUndefinedKeyword = "TSUndefinedKeyword", + TSUnionType = "TSUnionType", + TSUnknownKeyword = "TSUnknownKeyword", + TSVoidKeyword = "TSVoidKeyword" +} +export declare enum AST_TOKEN_TYPES { + Boolean = "Boolean", + Identifier = "Identifier", + JSXIdentifier = "JSXIdentifier", + JSXText = "JSXText", + Keyword = "Keyword", + Null = "Null", + Numeric = "Numeric", + Punctuator = "Punctuator", + RegularExpression = "RegularExpression", + String = "String", + Template = "Template", + Block = "Block", + Line = "Line" +} +export declare interface AwaitExpression extends BaseNode { + type: AST_NODE_TYPES.AwaitExpression; + argument: AwaitExpression | LeftHandSideExpression | UnaryExpression | UpdateExpression; +} +export declare interface BaseNode { + /** + * The source location information of the node. + * @see {SourceLocation} + */ + loc: SourceLocation; + /** + * @see {Range} + */ + range: Range; +} +declare interface BaseToken extends BaseNode { + value: string; +} +export declare interface BigIntLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: bigint | null; + bigint: string; +} +export declare interface BinaryExpression extends BinaryExpressionBase { + type: AST_NODE_TYPES.BinaryExpression; +} +declare interface BinaryExpressionBase extends BaseNode { + operator: string; + left: Expression; + right: Expression; +} +export declare type BindingName = BindingPattern | Identifier; +export declare type BindingPattern = ArrayPattern | ObjectPattern; +export declare interface BlockComment extends BaseToken { + type: AST_TOKEN_TYPES.Block; +} +export declare interface BlockStatement extends BaseNode { + type: AST_NODE_TYPES.BlockStatement; + body: Statement[]; +} +export declare interface BooleanLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: boolean; + raw: 'false' | 'true'; +} +export declare interface BooleanToken extends BaseToken { + type: AST_TOKEN_TYPES.Boolean; +} +export declare interface BreakStatement extends BaseNode { + type: AST_NODE_TYPES.BreakStatement; + label: Identifier | null; +} +export declare interface CallExpression extends BaseNode { + type: AST_NODE_TYPES.CallExpression; + callee: LeftHandSideExpression; + arguments: CallExpressionArgument[]; + typeParameters?: TSTypeParameterInstantiation; + optional: boolean; +} +export declare type CallExpressionArgument = Expression | SpreadElement; +export declare interface CatchClause extends BaseNode { + type: AST_NODE_TYPES.CatchClause; + param: BindingName | null; + body: BlockStatement; +} +export declare type ChainElement = CallExpression | MemberExpression | TSNonNullExpression; +export declare interface ChainExpression extends BaseNode { + type: AST_NODE_TYPES.ChainExpression; + expression: ChainElement; +} +export declare interface ClassBody extends BaseNode { + type: AST_NODE_TYPES.ClassBody; + body: ClassElement[]; +} +export declare interface ClassDeclaration extends ClassDeclarationBase { + type: AST_NODE_TYPES.ClassDeclaration; +} +declare interface ClassDeclarationBase extends BaseNode { + typeParameters?: TSTypeParameterDeclaration; + superTypeParameters?: TSTypeParameterInstantiation; + id: Identifier | null; + body: ClassBody; + superClass: LeftHandSideExpression | null; + implements?: TSClassImplements[]; + abstract?: boolean; + declare?: boolean; + decorators?: Decorator[]; +} +export declare type ClassElement = ClassProperty | MethodDefinition | TSAbstractClassProperty | TSAbstractMethodDefinition | TSIndexSignature; +export declare interface ClassExpression extends ClassDeclarationBase { + type: AST_NODE_TYPES.ClassExpression; +} +export declare type ClassProperty = ClassPropertyComputedName | ClassPropertyNonComputedName; +declare interface ClassPropertyBase extends BaseNode { + key: PropertyName; + value: Expression | null; + computed: boolean; + static: boolean; + declare: boolean; + readonly?: boolean; + decorators?: Decorator[]; + accessibility?: Accessibility; + optional?: boolean; + definite?: boolean; + typeAnnotation?: TSTypeAnnotation; + override?: boolean; +} +export declare interface ClassPropertyComputedName extends ClassPropertyComputedNameBase { + type: AST_NODE_TYPES.ClassProperty; +} +declare interface ClassPropertyComputedNameBase extends ClassPropertyBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface ClassPropertyNonComputedName extends ClassPropertyNonComputedNameBase { + type: AST_NODE_TYPES.ClassProperty; +} +declare interface ClassPropertyNonComputedNameBase extends ClassPropertyBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare type Comment = BlockComment | LineComment; +export declare interface ConditionalExpression extends BaseNode { + type: AST_NODE_TYPES.ConditionalExpression; + test: Expression; + consequent: Expression; + alternate: Expression; +} +export declare interface ContinueStatement extends BaseNode { + type: AST_NODE_TYPES.ContinueStatement; + label: Identifier | null; +} +export declare interface DebuggerStatement extends BaseNode { + type: AST_NODE_TYPES.DebuggerStatement; +} +export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration; +export declare interface Decorator extends BaseNode { + type: AST_NODE_TYPES.Decorator; + expression: LeftHandSideExpression; +} +export declare type DestructuringPattern = ArrayPattern | AssignmentPattern | Identifier | MemberExpression | ObjectPattern | RestElement; +export declare interface DoWhileStatement extends BaseNode { + type: AST_NODE_TYPES.DoWhileStatement; + test: Expression; + body: Statement; +} +export declare interface EmptyStatement extends BaseNode { + type: AST_NODE_TYPES.EmptyStatement; +} +export declare type EntityName = Identifier | TSQualifiedName; +export declare interface ExportAllDeclaration extends BaseNode { + type: AST_NODE_TYPES.ExportAllDeclaration; + source: Expression | null; + exportKind: 'type' | 'value'; + exported: Identifier | null; +} +export declare type ExportDeclaration = ClassDeclaration | ClassExpression | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; +export declare interface ExportDefaultDeclaration extends BaseNode { + type: AST_NODE_TYPES.ExportDefaultDeclaration; + declaration: ExportDeclaration | Expression; + exportKind: 'type' | 'value'; +} +export declare interface ExportNamedDeclaration extends BaseNode { + type: AST_NODE_TYPES.ExportNamedDeclaration; + declaration: ExportDeclaration | null; + specifiers: ExportSpecifier[]; + source: Expression | null; + exportKind: 'type' | 'value'; +} +export declare interface ExportSpecifier extends BaseNode { + type: AST_NODE_TYPES.ExportSpecifier; + local: Identifier; + exported: Identifier; +} +export declare type Expression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | ClassExpression | ClassExpression | ConditionalExpression | FunctionExpression | FunctionExpression | Identifier | ImportExpression | JSXElement | JSXFragment | LiteralExpression | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion | UnaryExpression | UpdateExpression | YieldExpression; +export declare interface ExpressionStatement extends BaseNode { + type: AST_NODE_TYPES.ExpressionStatement; + expression: Expression; + directive?: string; +} +export declare type ForInitialiser = Expression | VariableDeclaration; +export declare interface ForInStatement extends BaseNode { + type: AST_NODE_TYPES.ForInStatement; + left: ForInitialiser; + right: Expression; + body: Statement; +} +export declare interface ForOfStatement extends BaseNode { + type: AST_NODE_TYPES.ForOfStatement; + left: ForInitialiser; + right: Expression; + body: Statement; + await: boolean; +} +export declare interface ForStatement extends BaseNode { + type: AST_NODE_TYPES.ForStatement; + init: Expression | ForInitialiser | null; + test: Expression | null; + update: Expression | null; + body: Statement; +} +export declare interface FunctionDeclaration extends FunctionDeclarationBase { + type: AST_NODE_TYPES.FunctionDeclaration; + body: BlockStatement; +} +declare interface FunctionDeclarationBase extends BaseNode { + id: Identifier | null; + generator: boolean; + expression: boolean; + async: boolean; + params: Parameter[]; + body?: BlockStatement | null; + returnType?: TSTypeAnnotation; + typeParameters?: TSTypeParameterDeclaration; + declare?: boolean; +} +export declare interface FunctionExpression extends FunctionDeclarationBase { + type: AST_NODE_TYPES.FunctionExpression; + body: BlockStatement; +} +export declare type FunctionLike = ArrowFunctionExpression | FunctionDeclaration | FunctionExpression | TSDeclareFunction | TSEmptyBodyFunctionExpression; +export declare interface Identifier extends BaseNode { + type: AST_NODE_TYPES.Identifier; + name: string; + typeAnnotation?: TSTypeAnnotation; + optional?: boolean; + decorators?: Decorator[]; +} +export declare interface IdentifierToken extends BaseToken { + type: AST_TOKEN_TYPES.Identifier; +} +export declare interface IfStatement extends BaseNode { + type: AST_NODE_TYPES.IfStatement; + test: Expression; + consequent: Statement; + alternate: Statement | null; +} +export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; +export declare interface ImportDeclaration extends BaseNode { + type: AST_NODE_TYPES.ImportDeclaration; + source: Literal; + specifiers: ImportClause[]; + importKind: 'type' | 'value'; +} +export declare interface ImportDefaultSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportDefaultSpecifier; + local: Identifier; +} +export declare interface ImportExpression extends BaseNode { + type: AST_NODE_TYPES.ImportExpression; + source: Expression; +} +export declare interface ImportNamespaceSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportNamespaceSpecifier; + local: Identifier; +} +export declare interface ImportSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportSpecifier; + local: Identifier; + imported: Identifier; +} +export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; +export declare interface JSXAttribute extends BaseNode { + type: AST_NODE_TYPES.JSXAttribute; + name: JSXIdentifier | JSXNamespacedName; + value: JSXExpression | Literal | null; +} +export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; +export declare interface JSXClosingElement extends BaseNode { + type: AST_NODE_TYPES.JSXClosingElement; + name: JSXTagNameExpression; +} +export declare interface JSXClosingFragment extends BaseNode { + type: AST_NODE_TYPES.JSXClosingFragment; +} +export declare interface JSXElement extends BaseNode { + type: AST_NODE_TYPES.JSXElement; + openingElement: JSXOpeningElement; + closingElement: JSXClosingElement | null; + children: JSXChild[]; +} +export declare interface JSXEmptyExpression extends BaseNode { + type: AST_NODE_TYPES.JSXEmptyExpression; +} +export declare type JSXExpression = JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild; +export declare interface JSXExpressionContainer extends BaseNode { + type: AST_NODE_TYPES.JSXExpressionContainer; + expression: Expression | JSXEmptyExpression; +} +export declare interface JSXFragment extends BaseNode { + type: AST_NODE_TYPES.JSXFragment; + openingFragment: JSXOpeningFragment; + closingFragment: JSXClosingFragment; + children: JSXChild[]; +} +export declare interface JSXIdentifier extends BaseNode { + type: AST_NODE_TYPES.JSXIdentifier; + name: string; +} +export declare interface JSXIdentifierToken extends BaseToken { + type: AST_TOKEN_TYPES.JSXIdentifier; +} +export declare interface JSXMemberExpression extends BaseNode { + type: AST_NODE_TYPES.JSXMemberExpression; + object: JSXTagNameExpression; + property: JSXIdentifier; +} +export declare interface JSXNamespacedName extends BaseNode { + type: AST_NODE_TYPES.JSXNamespacedName; + namespace: JSXIdentifier; + name: JSXIdentifier; +} +export declare interface JSXOpeningElement extends BaseNode { + type: AST_NODE_TYPES.JSXOpeningElement; + typeParameters?: TSTypeParameterInstantiation; + selfClosing: boolean; + name: JSXTagNameExpression; + attributes: (JSXAttribute | JSXSpreadAttribute)[]; +} +export declare interface JSXOpeningFragment extends BaseNode { + type: AST_NODE_TYPES.JSXOpeningFragment; +} +export declare interface JSXSpreadAttribute extends BaseNode { + type: AST_NODE_TYPES.JSXSpreadAttribute; + argument: Expression; +} +export declare interface JSXSpreadChild extends BaseNode { + type: AST_NODE_TYPES.JSXSpreadChild; + expression: Expression | JSXEmptyExpression; +} +export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression | JSXNamespacedName; +export declare interface JSXText extends BaseNode { + type: AST_NODE_TYPES.JSXText; + value: string; + raw: string; +} +export declare interface JSXTextToken extends BaseToken { + type: AST_TOKEN_TYPES.JSXText; +} +export declare interface KeywordToken extends BaseToken { + type: AST_TOKEN_TYPES.Keyword; +} +export declare interface LabeledStatement extends BaseNode { + type: AST_NODE_TYPES.LabeledStatement; + label: Identifier; + body: Statement; +} +export declare type LeftHandSideExpression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | CallExpression | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | LiteralExpression | MemberExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TaggedTemplateExpression | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion; +export declare interface LineAndColumnData { + /** + * Line number (1-indexed) + */ + line: number; + /** + * Column number on the line (0-indexed) + */ + column: number; +} +export declare interface LineComment extends BaseToken { + type: AST_TOKEN_TYPES.Line; +} +export declare type Literal = BigIntLiteral | BooleanLiteral | NullLiteral | NumberLiteral | RegExpLiteral | StringLiteral; +declare interface LiteralBase extends BaseNode { + raw: string; + value: RegExp | bigint | boolean | number | string | null; +} +export declare type LiteralExpression = Literal | TemplateLiteral; +export declare interface LogicalExpression extends BinaryExpressionBase { + type: AST_NODE_TYPES.LogicalExpression; + operator: '??' | '&&' | '||'; +} +export declare type MemberExpression = MemberExpressionComputedName | MemberExpressionNonComputedName; +declare interface MemberExpressionBase extends BaseNode { + object: LeftHandSideExpression; + property: Expression | Identifier; + computed: boolean; + optional: boolean; +} +export declare interface MemberExpressionComputedName extends MemberExpressionBase { + type: AST_NODE_TYPES.MemberExpression; + property: Expression; + computed: true; +} +export declare interface MemberExpressionNonComputedName extends MemberExpressionBase { + type: AST_NODE_TYPES.MemberExpression; + property: Identifier; + computed: false; +} +export declare interface MetaProperty extends BaseNode { + type: AST_NODE_TYPES.MetaProperty; + meta: Identifier; + property: Identifier; +} +export declare type MethodDefinition = MethodDefinitionComputedName | MethodDefinitionNonComputedName; +/** this should not be directly used - instead use MethodDefinitionComputedNameBase or MethodDefinitionNonComputedNameBase */ +declare interface MethodDefinitionBase extends BaseNode { + key: PropertyName; + value: FunctionExpression | TSEmptyBodyFunctionExpression; + computed: boolean; + static: boolean; + kind: 'constructor' | 'get' | 'method' | 'set'; + optional?: boolean; + decorators?: Decorator[]; + accessibility?: Accessibility; + typeParameters?: TSTypeParameterDeclaration; + override?: boolean; +} +export declare interface MethodDefinitionComputedName extends MethodDefinitionComputedNameBase { + type: AST_NODE_TYPES.MethodDefinition; +} +declare interface MethodDefinitionComputedNameBase extends MethodDefinitionBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface MethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.MethodDefinition; +} +declare interface MethodDefinitionNonComputedNameBase extends MethodDefinitionBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare type Modifier = TSAbstractKeyword | TSAsyncKeyword | TSPrivateKeyword | TSProtectedKeyword | TSPublicKeyword | TSReadonlyKeyword | TSStaticKeyword; +export declare interface NewExpression extends BaseNode { + type: AST_NODE_TYPES.NewExpression; + callee: LeftHandSideExpression; + arguments: Expression[]; + typeParameters?: TSTypeParameterInstantiation; +} +export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | Program | Property | RestElement | ReturnStatement | SequenceExpression | SpreadElement | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractClassProperty | TSAbstractKeyword | TSAbstractMethodDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; +export declare interface NullLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: null; + raw: 'null'; +} +export declare interface NullToken extends BaseToken { + type: AST_TOKEN_TYPES.Null; +} +export declare interface NumberLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: number; +} +export declare interface NumericToken extends BaseToken { + type: AST_TOKEN_TYPES.Numeric; +} +export declare interface ObjectExpression extends BaseNode { + type: AST_NODE_TYPES.ObjectExpression; + properties: ObjectLiteralElement[]; +} +export declare type ObjectLiteralElement = MethodDefinition | Property | SpreadElement; +export declare type ObjectLiteralElementLike = ObjectLiteralElement; +export declare interface ObjectPattern extends BaseNode { + type: AST_NODE_TYPES.ObjectPattern; + properties: (Property | RestElement)[]; + typeAnnotation?: TSTypeAnnotation; + optional?: boolean; + decorators?: Decorator[]; +} +export declare type OptionalRangeAndLoc = Pick> & { + range?: Range; + loc?: SourceLocation; +}; +export declare type Parameter = ArrayPattern | AssignmentPattern | Identifier | ObjectPattern | RestElement | TSParameterProperty; +export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | JSXOpeningElement | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression | TSNullKeyword; +export declare interface Program extends BaseNode { + type: AST_NODE_TYPES.Program; + body: ProgramStatement[]; + sourceType: 'module' | 'script'; + comments?: Comment[]; + tokens?: Token[]; +} +export declare type ProgramStatement = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | Statement | TSImportEqualsDeclaration | TSNamespaceExportDeclaration; +export declare type Property = PropertyComputedName | PropertyNonComputedName; +declare interface PropertyBase extends BaseNode { + type: AST_NODE_TYPES.Property; + key: PropertyName; + value: AssignmentPattern | BindingName | Expression | TSEmptyBodyFunctionExpression; + computed: boolean; + method: boolean; + shorthand: boolean; + optional?: boolean; + kind: 'get' | 'init' | 'set'; +} +export declare interface PropertyComputedName extends PropertyBase { + key: PropertyNameComputed; + computed: true; +} +export declare type PropertyName = PropertyNameComputed | PropertyNameNonComputed; +export declare type PropertyNameComputed = Expression; +export declare type PropertyNameNonComputed = Identifier | NumberLiteral | StringLiteral; +export declare interface PropertyNonComputedName extends PropertyBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface PunctuatorToken extends BaseToken { + type: AST_TOKEN_TYPES.Punctuator; + value: ValueOf; +} +export declare interface PunctuatorTokenToText { + [SyntaxKind.OpenBraceToken]: '{'; + [SyntaxKind.CloseBraceToken]: '}'; + [SyntaxKind.OpenParenToken]: '('; + [SyntaxKind.CloseParenToken]: ')'; + [SyntaxKind.OpenBracketToken]: '['; + [SyntaxKind.CloseBracketToken]: ']'; + [SyntaxKind.DotToken]: '.'; + [SyntaxKind.DotDotDotToken]: '...'; + [SyntaxKind.SemicolonToken]: ';'; + [SyntaxKind.CommaToken]: ','; + [SyntaxKind.QuestionDotToken]: '?.'; + [SyntaxKind.LessThanToken]: '<'; + [SyntaxKind.LessThanSlashToken]: ''; + [SyntaxKind.LessThanEqualsToken]: '<='; + [SyntaxKind.GreaterThanEqualsToken]: '>='; + [SyntaxKind.EqualsEqualsToken]: '=='; + [SyntaxKind.ExclamationEqualsToken]: '!='; + [SyntaxKind.EqualsEqualsEqualsToken]: '==='; + [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; + [SyntaxKind.EqualsGreaterThanToken]: '=>'; + [SyntaxKind.PlusToken]: '+'; + [SyntaxKind.MinusToken]: '-'; + [SyntaxKind.AsteriskToken]: '*'; + [SyntaxKind.AsteriskAsteriskToken]: '**'; + [SyntaxKind.SlashToken]: '/'; + [SyntaxKind.PercentToken]: '%'; + [SyntaxKind.PlusPlusToken]: '++'; + [SyntaxKind.MinusMinusToken]: '--'; + [SyntaxKind.LessThanLessThanToken]: '<<'; + [SyntaxKind.GreaterThanGreaterThanToken]: '>>'; + [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; + [SyntaxKind.AmpersandToken]: '&'; + [SyntaxKind.BarToken]: '|'; + [SyntaxKind.CaretToken]: '^'; + [SyntaxKind.ExclamationToken]: '!'; + [SyntaxKind.TildeToken]: '~'; + [SyntaxKind.AmpersandAmpersandToken]: '&&'; + [SyntaxKind.BarBarToken]: '||'; + [SyntaxKind.QuestionToken]: '?'; + [SyntaxKind.ColonToken]: ':'; + [SyntaxKind.AtToken]: '@'; + [SyntaxKind.QuestionQuestionToken]: '??'; + [SyntaxKind.BacktickToken]: '`'; + [SyntaxKind.EqualsToken]: '='; + [SyntaxKind.PlusEqualsToken]: '+='; + [SyntaxKind.MinusEqualsToken]: '-='; + [SyntaxKind.AsteriskEqualsToken]: '*='; + [SyntaxKind.AsteriskAsteriskEqualsToken]: '**='; + [SyntaxKind.SlashEqualsToken]: '/='; + [SyntaxKind.PercentEqualsToken]: '%='; + [SyntaxKind.LessThanLessThanEqualsToken]: '<<='; + [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>='; + [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>='; + [SyntaxKind.AmpersandEqualsToken]: '&='; + [SyntaxKind.BarEqualsToken]: '|='; + [SyntaxKind.BarBarEqualsToken]: '||='; + [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&='; + [SyntaxKind.QuestionQuestionEqualsToken]: '??='; + [SyntaxKind.CaretEqualsToken]: '^='; +} +/** + * An array of two numbers. + * Both numbers are a 0-based index which is the position in the array of source code characters. + * The first is the start position of the node, the second is the end position of the node. + */ +export declare type Range = [number, number]; +export declare interface RegExpLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: RegExp | null; + regex: { + pattern: string; + flags: string; + }; +} +export declare interface RegularExpressionToken extends BaseToken { + type: AST_TOKEN_TYPES.RegularExpression; + regex: { + pattern: string; + flags: string; + }; +} +export declare interface RestElement extends BaseNode { + type: AST_NODE_TYPES.RestElement; + argument: DestructuringPattern; + typeAnnotation?: TSTypeAnnotation; + optional?: boolean; + value?: AssignmentPattern; + decorators?: Decorator[]; +} +export declare interface ReturnStatement extends BaseNode { + type: AST_NODE_TYPES.ReturnStatement; + argument: Expression | null; +} +export declare interface SequenceExpression extends BaseNode { + type: AST_NODE_TYPES.SequenceExpression; + expressions: Expression[]; +} +export declare interface SourceLocation { + /** + * The position of the first character of the parsed source region + */ + start: LineAndColumnData; + /** + * The position of the first character after the parsed source region + */ + end: LineAndColumnData; +} +export declare interface SpreadElement extends BaseNode { + type: AST_NODE_TYPES.SpreadElement; + argument: Expression; +} +export declare type Statement = BlockStatement | BreakStatement | ClassDeclaration | ContinueStatement | DebuggerStatement | DoWhileStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | IfStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | VariableDeclaration | WhileStatement | WithStatement; +export declare interface StringLiteral extends LiteralBase { + type: AST_NODE_TYPES.Literal; + value: string; +} +export declare interface StringToken extends BaseToken { + type: AST_TOKEN_TYPES.String; +} +export declare interface Super extends BaseNode { + type: AST_NODE_TYPES.Super; +} +export declare interface SwitchCase extends BaseNode { + type: AST_NODE_TYPES.SwitchCase; + test: Expression | null; + consequent: Statement[]; +} +export declare interface SwitchStatement extends BaseNode { + type: AST_NODE_TYPES.SwitchStatement; + discriminant: Expression; + cases: SwitchCase[]; +} +export declare interface TaggedTemplateExpression extends BaseNode { + type: AST_NODE_TYPES.TaggedTemplateExpression; + typeParameters?: TSTypeParameterInstantiation; + tag: LeftHandSideExpression; + quasi: TemplateLiteral; +} +export declare interface TemplateElement extends BaseNode { + type: AST_NODE_TYPES.TemplateElement; + value: { + raw: string; + cooked: string; + }; + tail: boolean; +} +export declare interface TemplateLiteral extends BaseNode { + type: AST_NODE_TYPES.TemplateLiteral; + quasis: TemplateElement[]; + expressions: Expression[]; +} +export declare interface TemplateToken extends BaseToken { + type: AST_TOKEN_TYPES.Template; +} +export declare interface ThisExpression extends BaseNode { + type: AST_NODE_TYPES.ThisExpression; +} +export declare interface ThrowStatement extends BaseNode { + type: AST_NODE_TYPES.ThrowStatement; + argument: Statement | TSAsExpression | null; +} +export declare type Token = BooleanToken | Comment | IdentifierToken | JSXIdentifierToken | JSXTextToken | KeywordToken | NullToken | NumericToken | PunctuatorToken | RegularExpressionToken | StringToken | TemplateToken; +export declare interface TryStatement extends BaseNode { + type: AST_NODE_TYPES.TryStatement; + block: BlockStatement; + handler: CatchClause | null; + finalizer: BlockStatement | null; +} +export declare type TSAbstractClassProperty = TSAbstractClassPropertyComputedName | TSAbstractClassPropertyNonComputedName; +export declare interface TSAbstractClassPropertyComputedName extends ClassPropertyComputedNameBase { + type: AST_NODE_TYPES.TSAbstractClassProperty; +} +export declare interface TSAbstractClassPropertyNonComputedName extends ClassPropertyNonComputedNameBase { + type: AST_NODE_TYPES.TSAbstractClassProperty; +} +export declare interface TSAbstractKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAbstractKeyword; +} +export declare type TSAbstractMethodDefinition = TSAbstractMethodDefinitionComputedName | TSAbstractMethodDefinitionNonComputedName; +export declare interface TSAbstractMethodDefinitionComputedName extends MethodDefinitionComputedNameBase { + type: AST_NODE_TYPES.TSAbstractMethodDefinition; +} +export declare interface TSAbstractMethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.TSAbstractMethodDefinition; +} +export declare interface TSAnyKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAnyKeyword; +} +export declare interface TSArrayType extends BaseNode { + type: AST_NODE_TYPES.TSArrayType; + elementType: TypeNode; +} +export declare interface TSAsExpression extends BaseNode { + type: AST_NODE_TYPES.TSAsExpression; + expression: Expression; + typeAnnotation: TypeNode; +} +export declare interface TSAsyncKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAsyncKeyword; +} +export declare interface TSBigIntKeyword extends BaseNode { + type: AST_NODE_TYPES.TSBigIntKeyword; +} +export declare interface TSBooleanKeyword extends BaseNode { + type: AST_NODE_TYPES.TSBooleanKeyword; +} +export declare interface TSCallSignatureDeclaration extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSCallSignatureDeclaration; +} +export declare interface TSClassImplements extends TSHeritageBase { + type: AST_NODE_TYPES.TSClassImplements; +} +export declare interface TSConditionalType extends BaseNode { + type: AST_NODE_TYPES.TSConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; +} +export declare interface TSConstructorType extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSConstructorType; + abstract: boolean; +} +export declare interface TSConstructSignatureDeclaration extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSConstructSignatureDeclaration; +} +export declare interface TSDeclareFunction extends FunctionDeclarationBase { + type: AST_NODE_TYPES.TSDeclareFunction; +} +export declare interface TSDeclareKeyword extends BaseNode { + type: AST_NODE_TYPES.TSDeclareKeyword; +} +export declare interface TSEmptyBodyFunctionExpression extends FunctionDeclarationBase { + type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression; + body: null; +} +export declare interface TSEnumDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSEnumDeclaration; + id: Identifier; + members: TSEnumMember[]; + const?: boolean; + declare?: boolean; + modifiers?: Modifier[]; +} +export declare type TSEnumMember = TSEnumMemberComputedName | TSEnumMemberNonComputedName; +declare interface TSEnumMemberBase extends BaseNode { + type: AST_NODE_TYPES.TSEnumMember; + id: PropertyNameComputed | PropertyNameNonComputed; + initializer?: Expression; + computed?: boolean; +} +/** + * this should only really happen in semantically invalid code (errors 1164 and 2452) + * + * VALID: + * enum Foo { ['a'] } + * + * INVALID: + * const x = 'a'; + * enum Foo { [x] } + * enum Bar { ['a' + 'b'] } + */ +export declare interface TSEnumMemberComputedName extends TSEnumMemberBase { + id: PropertyNameComputed; + computed: true; +} +export declare interface TSEnumMemberNonComputedName extends TSEnumMemberBase { + id: PropertyNameNonComputed; + computed?: false; +} +export declare interface TSExportAssignment extends BaseNode { + type: AST_NODE_TYPES.TSExportAssignment; + expression: Expression; +} +export declare interface TSExportKeyword extends BaseNode { + type: AST_NODE_TYPES.TSExportKeyword; +} +export declare interface TSExternalModuleReference extends BaseNode { + type: AST_NODE_TYPES.TSExternalModuleReference; + expression: Expression; +} +declare interface TSFunctionSignatureBase extends BaseNode { + params: Parameter[]; + returnType?: TSTypeAnnotation; + typeParameters?: TSTypeParameterDeclaration; +} +export declare interface TSFunctionType extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSFunctionType; +} +declare interface TSHeritageBase extends BaseNode { + expression: Expression; + typeParameters?: TSTypeParameterInstantiation; +} +export declare interface TSImportEqualsDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSImportEqualsDeclaration; + id: Identifier; + moduleReference: EntityName | TSExternalModuleReference; + importKind: 'type' | 'value'; + isExport: boolean; +} +export declare interface TSImportType extends BaseNode { + type: AST_NODE_TYPES.TSImportType; + isTypeOf: boolean; + parameter: TypeNode; + qualifier: EntityName | null; + typeParameters: TSTypeParameterInstantiation | null; +} +export declare interface TSIndexedAccessType extends BaseNode { + type: AST_NODE_TYPES.TSIndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; +} +export declare interface TSIndexSignature extends BaseNode { + type: AST_NODE_TYPES.TSIndexSignature; + parameters: Parameter[]; + typeAnnotation?: TSTypeAnnotation; + readonly?: boolean; + accessibility?: Accessibility; + export?: boolean; + static?: boolean; +} +export declare interface TSInferType extends BaseNode { + type: AST_NODE_TYPES.TSInferType; + typeParameter: TSTypeParameter; +} +export declare interface TSInterfaceBody extends BaseNode { + type: AST_NODE_TYPES.TSInterfaceBody; + body: TypeElement[]; +} +export declare interface TSInterfaceDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSInterfaceDeclaration; + body: TSInterfaceBody; + id: Identifier; + typeParameters?: TSTypeParameterDeclaration; + extends?: TSInterfaceHeritage[]; + implements?: TSInterfaceHeritage[]; + abstract?: boolean; + declare?: boolean; +} +export declare interface TSInterfaceHeritage extends TSHeritageBase { + type: AST_NODE_TYPES.TSInterfaceHeritage; +} +export declare interface TSIntersectionType extends BaseNode { + type: AST_NODE_TYPES.TSIntersectionType; + types: TypeNode[]; +} +declare interface TSIntrinsicKeyword extends BaseNode { + type: AST_NODE_TYPES.TSIntrinsicKeyword; +} +export declare interface TSLiteralType extends BaseNode { + type: AST_NODE_TYPES.TSLiteralType; + literal: LiteralExpression | UnaryExpression | UpdateExpression; +} +export declare interface TSMappedType extends BaseNode { + type: AST_NODE_TYPES.TSMappedType; + typeParameter: TSTypeParameter; + readonly?: boolean | '-' | '+'; + optional?: boolean | '-' | '+'; + typeAnnotation?: TypeNode; + nameType: TypeNode | null; +} +export declare type TSMethodSignature = TSMethodSignatureComputedName | TSMethodSignatureNonComputedName; +declare interface TSMethodSignatureBase extends BaseNode { + type: AST_NODE_TYPES.TSMethodSignature; + key: PropertyName; + computed: boolean; + params: Parameter[]; + optional?: boolean; + returnType?: TSTypeAnnotation; + readonly?: boolean; + typeParameters?: TSTypeParameterDeclaration; + accessibility?: Accessibility; + export?: boolean; + static?: boolean; + kind: 'get' | 'method' | 'set'; +} +export declare interface TSMethodSignatureComputedName extends TSMethodSignatureBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface TSMethodSignatureNonComputedName extends TSMethodSignatureBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface TSModuleBlock extends BaseNode { + type: AST_NODE_TYPES.TSModuleBlock; + body: ProgramStatement[]; +} +export declare interface TSModuleDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSModuleDeclaration; + id: Identifier | Literal; + body?: TSModuleBlock | TSModuleDeclaration; + global?: boolean; + declare?: boolean; + modifiers?: Modifier[]; +} +export declare interface TSNamedTupleMember extends BaseNode { + type: AST_NODE_TYPES.TSNamedTupleMember; + elementType: TypeNode; + label: Identifier; + optional: boolean; +} +export declare interface TSNamespaceExportDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSNamespaceExportDeclaration; + id: Identifier; +} +export declare interface TSNeverKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNeverKeyword; +} +export declare interface TSNonNullExpression extends BaseNode { + type: AST_NODE_TYPES.TSNonNullExpression; + expression: Expression; +} +export declare interface TSNullKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNullKeyword; +} +export declare interface TSNumberKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNumberKeyword; +} +export declare interface TSObjectKeyword extends BaseNode { + type: AST_NODE_TYPES.TSObjectKeyword; +} +export declare interface TSOptionalType extends BaseNode { + type: AST_NODE_TYPES.TSOptionalType; + typeAnnotation: TypeNode; +} +export declare interface TSParameterProperty extends BaseNode { + type: AST_NODE_TYPES.TSParameterProperty; + accessibility?: Accessibility; + readonly?: boolean; + static?: boolean; + export?: boolean; + override?: boolean; + parameter: AssignmentPattern | BindingName | RestElement; + decorators?: Decorator[]; +} +export declare interface TSParenthesizedType extends BaseNode { + type: AST_NODE_TYPES.TSParenthesizedType; + typeAnnotation: TypeNode; +} +export declare interface TSPrivateKeyword extends BaseNode { + type: AST_NODE_TYPES.TSPrivateKeyword; +} +export declare type TSPropertySignature = TSPropertySignatureComputedName | TSPropertySignatureNonComputedName; +declare interface TSPropertySignatureBase extends BaseNode { + type: AST_NODE_TYPES.TSPropertySignature; + key: PropertyName; + optional?: boolean; + computed: boolean; + typeAnnotation?: TSTypeAnnotation; + initializer?: Expression; + readonly?: boolean; + static?: boolean; + export?: boolean; + accessibility?: Accessibility; +} +export declare interface TSPropertySignatureComputedName extends TSPropertySignatureBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface TSPropertySignatureNonComputedName extends TSPropertySignatureBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface TSProtectedKeyword extends BaseNode { + type: AST_NODE_TYPES.TSProtectedKeyword; +} +export declare interface TSPublicKeyword extends BaseNode { + type: AST_NODE_TYPES.TSPublicKeyword; +} +export declare interface TSQualifiedName extends BaseNode { + type: AST_NODE_TYPES.TSQualifiedName; + left: EntityName; + right: Identifier; +} +export declare interface TSReadonlyKeyword extends BaseNode { + type: AST_NODE_TYPES.TSReadonlyKeyword; +} +export declare interface TSRestType extends BaseNode { + type: AST_NODE_TYPES.TSRestType; + typeAnnotation: TypeNode; +} +export declare interface TSStaticKeyword extends BaseNode { + type: AST_NODE_TYPES.TSStaticKeyword; +} +export declare interface TSStringKeyword extends BaseNode { + type: AST_NODE_TYPES.TSStringKeyword; +} +export declare interface TSSymbolKeyword extends BaseNode { + type: AST_NODE_TYPES.TSSymbolKeyword; +} +export declare interface TSTemplateLiteralType extends BaseNode { + type: AST_NODE_TYPES.TSTemplateLiteralType; + quasis: TemplateElement[]; + types: TypeNode[]; +} +export declare interface TSThisType extends BaseNode { + type: AST_NODE_TYPES.TSThisType; +} +export declare interface TSTupleType extends BaseNode { + type: AST_NODE_TYPES.TSTupleType; + elementTypes: TypeNode[]; +} +export declare interface TSTypeAliasDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSTypeAliasDeclaration; + id: Identifier; + typeAnnotation: TypeNode; + declare?: boolean; + typeParameters?: TSTypeParameterDeclaration; +} +export declare interface TSTypeAnnotation extends BaseNode { + type: AST_NODE_TYPES.TSTypeAnnotation; + typeAnnotation: TypeNode; +} +export declare interface TSTypeAssertion extends BaseNode { + type: AST_NODE_TYPES.TSTypeAssertion; + typeAnnotation: TypeNode; + expression: Expression; +} +export declare interface TSTypeLiteral extends BaseNode { + type: AST_NODE_TYPES.TSTypeLiteral; + members: TypeElement[]; +} +export declare interface TSTypeOperator extends BaseNode { + type: AST_NODE_TYPES.TSTypeOperator; + operator: 'keyof' | 'readonly' | 'unique'; + typeAnnotation?: TypeNode; +} +export declare interface TSTypeParameter extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameter; + name: Identifier; + constraint?: TypeNode; + default?: TypeNode; +} +export declare interface TSTypeParameterDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameterDeclaration; + params: TSTypeParameter[]; +} +export declare interface TSTypeParameterInstantiation extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameterInstantiation; + params: TypeNode[]; +} +export declare interface TSTypePredicate extends BaseNode { + type: AST_NODE_TYPES.TSTypePredicate; + asserts: boolean; + parameterName: Identifier | TSThisType; + typeAnnotation: TSTypeAnnotation | null; +} +export declare interface TSTypeQuery extends BaseNode { + type: AST_NODE_TYPES.TSTypeQuery; + exprName: EntityName; +} +export declare interface TSTypeReference extends BaseNode { + type: AST_NODE_TYPES.TSTypeReference; + typeName: EntityName; + typeParameters?: TSTypeParameterInstantiation; +} +export declare type TSUnaryExpression = AwaitExpression | LeftHandSideExpression | UnaryExpression | UpdateExpression; +export declare interface TSUndefinedKeyword extends BaseNode { + type: AST_NODE_TYPES.TSUndefinedKeyword; +} +export declare interface TSUnionType extends BaseNode { + type: AST_NODE_TYPES.TSUnionType; + types: TypeNode[]; +} +export declare interface TSUnknownKeyword extends BaseNode { + type: AST_NODE_TYPES.TSUnknownKeyword; +} +export declare interface TSVoidKeyword extends BaseNode { + type: AST_NODE_TYPES.TSVoidKeyword; +} +export declare type TypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSIndexSignature | TSMethodSignature | TSPropertySignature; +export declare type TypeNode = TSAnyKeyword | TSArrayType | TSBigIntKeyword | TSBooleanKeyword | TSConditionalType | TSConstructorType | TSFunctionType | TSImportType | TSIndexedAccessType | TSInferType | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSNamedTupleMember | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParenthesizedType | TSRestType | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeLiteral | TSTypeOperator | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword; +export declare interface UnaryExpression extends UnaryExpressionBase { + type: AST_NODE_TYPES.UnaryExpression; + operator: '-' | '!' | '+' | '~' | 'delete' | 'typeof' | 'void'; +} +declare interface UnaryExpressionBase extends BaseNode { + operator: string; + prefix: boolean; + argument: LeftHandSideExpression | Literal | UnaryExpression; +} +export declare interface UpdateExpression extends UnaryExpressionBase { + type: AST_NODE_TYPES.UpdateExpression; + operator: '--' | '++'; +} +declare type ValueOf = T[keyof T]; +export declare interface VariableDeclaration extends BaseNode { + type: AST_NODE_TYPES.VariableDeclaration; + declarations: VariableDeclarator[]; + kind: 'const' | 'let' | 'var'; + declare?: boolean; +} +export declare interface VariableDeclarator extends BaseNode { + type: AST_NODE_TYPES.VariableDeclarator; + id: BindingName; + init: Expression | null; + definite?: boolean; +} +export declare interface WhileStatement extends BaseNode { + type: AST_NODE_TYPES.WhileStatement; + test: Expression; + body: Statement; +} +export declare interface WithStatement extends BaseNode { + type: AST_NODE_TYPES.WithStatement; + object: Expression; + body: Statement; +} +export declare interface YieldExpression extends BaseNode { + type: AST_NODE_TYPES.YieldExpression; + delegate: boolean; + argument?: Expression; +} +export {}; +//# sourceMappingURL=ast-spec.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts.map b/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts.map new file mode 100644 index 000000000..ce1d33e97 --- /dev/null +++ b/node_modules/@typescript-eslint/types/dist/ast-spec.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-spec.d.ts","sourceRoot":"","sources":["../src/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-spec.js b/node_modules/@typescript-eslint/types/dist/ast-spec.js new file mode 100644 index 000000000..cbf698abc --- /dev/null +++ b/node_modules/@typescript-eslint/types/dist/ast-spec.js @@ -0,0 +1,196 @@ +"use strict"; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN COPIED FROM ast-spec. * + * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * + * * + * MAKE CHANGES TO ast-spec AND THEN RUN * + * yarn build * + **********************************************/ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; +var AST_NODE_TYPES; +(function (AST_NODE_TYPES) { + AST_NODE_TYPES["ArrayExpression"] = "ArrayExpression"; + AST_NODE_TYPES["ArrayPattern"] = "ArrayPattern"; + AST_NODE_TYPES["ArrowFunctionExpression"] = "ArrowFunctionExpression"; + AST_NODE_TYPES["AssignmentExpression"] = "AssignmentExpression"; + AST_NODE_TYPES["AssignmentPattern"] = "AssignmentPattern"; + AST_NODE_TYPES["AwaitExpression"] = "AwaitExpression"; + AST_NODE_TYPES["BinaryExpression"] = "BinaryExpression"; + AST_NODE_TYPES["BlockStatement"] = "BlockStatement"; + AST_NODE_TYPES["BreakStatement"] = "BreakStatement"; + AST_NODE_TYPES["CallExpression"] = "CallExpression"; + AST_NODE_TYPES["CatchClause"] = "CatchClause"; + AST_NODE_TYPES["ChainExpression"] = "ChainExpression"; + AST_NODE_TYPES["ClassBody"] = "ClassBody"; + AST_NODE_TYPES["ClassDeclaration"] = "ClassDeclaration"; + AST_NODE_TYPES["ClassExpression"] = "ClassExpression"; + AST_NODE_TYPES["ClassProperty"] = "ClassProperty"; + AST_NODE_TYPES["ConditionalExpression"] = "ConditionalExpression"; + AST_NODE_TYPES["ContinueStatement"] = "ContinueStatement"; + AST_NODE_TYPES["DebuggerStatement"] = "DebuggerStatement"; + AST_NODE_TYPES["Decorator"] = "Decorator"; + AST_NODE_TYPES["DoWhileStatement"] = "DoWhileStatement"; + AST_NODE_TYPES["EmptyStatement"] = "EmptyStatement"; + AST_NODE_TYPES["ExportAllDeclaration"] = "ExportAllDeclaration"; + AST_NODE_TYPES["ExportDefaultDeclaration"] = "ExportDefaultDeclaration"; + AST_NODE_TYPES["ExportNamedDeclaration"] = "ExportNamedDeclaration"; + AST_NODE_TYPES["ExportSpecifier"] = "ExportSpecifier"; + AST_NODE_TYPES["ExpressionStatement"] = "ExpressionStatement"; + AST_NODE_TYPES["ForInStatement"] = "ForInStatement"; + AST_NODE_TYPES["ForOfStatement"] = "ForOfStatement"; + AST_NODE_TYPES["ForStatement"] = "ForStatement"; + AST_NODE_TYPES["FunctionDeclaration"] = "FunctionDeclaration"; + AST_NODE_TYPES["FunctionExpression"] = "FunctionExpression"; + AST_NODE_TYPES["Identifier"] = "Identifier"; + AST_NODE_TYPES["IfStatement"] = "IfStatement"; + AST_NODE_TYPES["ImportDeclaration"] = "ImportDeclaration"; + AST_NODE_TYPES["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; + AST_NODE_TYPES["ImportExpression"] = "ImportExpression"; + AST_NODE_TYPES["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; + AST_NODE_TYPES["ImportSpecifier"] = "ImportSpecifier"; + AST_NODE_TYPES["JSXAttribute"] = "JSXAttribute"; + AST_NODE_TYPES["JSXClosingElement"] = "JSXClosingElement"; + AST_NODE_TYPES["JSXClosingFragment"] = "JSXClosingFragment"; + AST_NODE_TYPES["JSXElement"] = "JSXElement"; + AST_NODE_TYPES["JSXEmptyExpression"] = "JSXEmptyExpression"; + AST_NODE_TYPES["JSXExpressionContainer"] = "JSXExpressionContainer"; + AST_NODE_TYPES["JSXFragment"] = "JSXFragment"; + AST_NODE_TYPES["JSXIdentifier"] = "JSXIdentifier"; + AST_NODE_TYPES["JSXMemberExpression"] = "JSXMemberExpression"; + AST_NODE_TYPES["JSXNamespacedName"] = "JSXNamespacedName"; + AST_NODE_TYPES["JSXOpeningElement"] = "JSXOpeningElement"; + AST_NODE_TYPES["JSXOpeningFragment"] = "JSXOpeningFragment"; + AST_NODE_TYPES["JSXSpreadAttribute"] = "JSXSpreadAttribute"; + AST_NODE_TYPES["JSXSpreadChild"] = "JSXSpreadChild"; + AST_NODE_TYPES["JSXText"] = "JSXText"; + AST_NODE_TYPES["LabeledStatement"] = "LabeledStatement"; + AST_NODE_TYPES["Literal"] = "Literal"; + AST_NODE_TYPES["LogicalExpression"] = "LogicalExpression"; + AST_NODE_TYPES["MemberExpression"] = "MemberExpression"; + AST_NODE_TYPES["MetaProperty"] = "MetaProperty"; + AST_NODE_TYPES["MethodDefinition"] = "MethodDefinition"; + AST_NODE_TYPES["NewExpression"] = "NewExpression"; + AST_NODE_TYPES["ObjectExpression"] = "ObjectExpression"; + AST_NODE_TYPES["ObjectPattern"] = "ObjectPattern"; + AST_NODE_TYPES["Program"] = "Program"; + AST_NODE_TYPES["Property"] = "Property"; + AST_NODE_TYPES["RestElement"] = "RestElement"; + AST_NODE_TYPES["ReturnStatement"] = "ReturnStatement"; + AST_NODE_TYPES["SequenceExpression"] = "SequenceExpression"; + AST_NODE_TYPES["SpreadElement"] = "SpreadElement"; + AST_NODE_TYPES["Super"] = "Super"; + AST_NODE_TYPES["SwitchCase"] = "SwitchCase"; + AST_NODE_TYPES["SwitchStatement"] = "SwitchStatement"; + AST_NODE_TYPES["TaggedTemplateExpression"] = "TaggedTemplateExpression"; + AST_NODE_TYPES["TemplateElement"] = "TemplateElement"; + AST_NODE_TYPES["TemplateLiteral"] = "TemplateLiteral"; + AST_NODE_TYPES["ThisExpression"] = "ThisExpression"; + AST_NODE_TYPES["ThrowStatement"] = "ThrowStatement"; + AST_NODE_TYPES["TryStatement"] = "TryStatement"; + AST_NODE_TYPES["UnaryExpression"] = "UnaryExpression"; + AST_NODE_TYPES["UpdateExpression"] = "UpdateExpression"; + AST_NODE_TYPES["VariableDeclaration"] = "VariableDeclaration"; + AST_NODE_TYPES["VariableDeclarator"] = "VariableDeclarator"; + AST_NODE_TYPES["WhileStatement"] = "WhileStatement"; + AST_NODE_TYPES["WithStatement"] = "WithStatement"; + AST_NODE_TYPES["YieldExpression"] = "YieldExpression"; + /** + * TS-prefixed nodes + */ + AST_NODE_TYPES["TSAbstractClassProperty"] = "TSAbstractClassProperty"; + AST_NODE_TYPES["TSAbstractKeyword"] = "TSAbstractKeyword"; + AST_NODE_TYPES["TSAbstractMethodDefinition"] = "TSAbstractMethodDefinition"; + AST_NODE_TYPES["TSAnyKeyword"] = "TSAnyKeyword"; + AST_NODE_TYPES["TSArrayType"] = "TSArrayType"; + AST_NODE_TYPES["TSAsExpression"] = "TSAsExpression"; + AST_NODE_TYPES["TSAsyncKeyword"] = "TSAsyncKeyword"; + AST_NODE_TYPES["TSBigIntKeyword"] = "TSBigIntKeyword"; + AST_NODE_TYPES["TSBooleanKeyword"] = "TSBooleanKeyword"; + AST_NODE_TYPES["TSCallSignatureDeclaration"] = "TSCallSignatureDeclaration"; + AST_NODE_TYPES["TSClassImplements"] = "TSClassImplements"; + AST_NODE_TYPES["TSConditionalType"] = "TSConditionalType"; + AST_NODE_TYPES["TSConstructorType"] = "TSConstructorType"; + AST_NODE_TYPES["TSConstructSignatureDeclaration"] = "TSConstructSignatureDeclaration"; + AST_NODE_TYPES["TSDeclareFunction"] = "TSDeclareFunction"; + AST_NODE_TYPES["TSDeclareKeyword"] = "TSDeclareKeyword"; + AST_NODE_TYPES["TSEmptyBodyFunctionExpression"] = "TSEmptyBodyFunctionExpression"; + AST_NODE_TYPES["TSEnumDeclaration"] = "TSEnumDeclaration"; + AST_NODE_TYPES["TSEnumMember"] = "TSEnumMember"; + AST_NODE_TYPES["TSExportAssignment"] = "TSExportAssignment"; + AST_NODE_TYPES["TSExportKeyword"] = "TSExportKeyword"; + AST_NODE_TYPES["TSExternalModuleReference"] = "TSExternalModuleReference"; + AST_NODE_TYPES["TSFunctionType"] = "TSFunctionType"; + AST_NODE_TYPES["TSImportEqualsDeclaration"] = "TSImportEqualsDeclaration"; + AST_NODE_TYPES["TSImportType"] = "TSImportType"; + AST_NODE_TYPES["TSIndexedAccessType"] = "TSIndexedAccessType"; + AST_NODE_TYPES["TSIndexSignature"] = "TSIndexSignature"; + AST_NODE_TYPES["TSInferType"] = "TSInferType"; + AST_NODE_TYPES["TSInterfaceBody"] = "TSInterfaceBody"; + AST_NODE_TYPES["TSInterfaceDeclaration"] = "TSInterfaceDeclaration"; + AST_NODE_TYPES["TSInterfaceHeritage"] = "TSInterfaceHeritage"; + AST_NODE_TYPES["TSIntersectionType"] = "TSIntersectionType"; + AST_NODE_TYPES["TSIntrinsicKeyword"] = "TSIntrinsicKeyword"; + AST_NODE_TYPES["TSLiteralType"] = "TSLiteralType"; + AST_NODE_TYPES["TSMappedType"] = "TSMappedType"; + AST_NODE_TYPES["TSMethodSignature"] = "TSMethodSignature"; + AST_NODE_TYPES["TSModuleBlock"] = "TSModuleBlock"; + AST_NODE_TYPES["TSModuleDeclaration"] = "TSModuleDeclaration"; + AST_NODE_TYPES["TSNamedTupleMember"] = "TSNamedTupleMember"; + AST_NODE_TYPES["TSNamespaceExportDeclaration"] = "TSNamespaceExportDeclaration"; + AST_NODE_TYPES["TSNeverKeyword"] = "TSNeverKeyword"; + AST_NODE_TYPES["TSNonNullExpression"] = "TSNonNullExpression"; + AST_NODE_TYPES["TSNullKeyword"] = "TSNullKeyword"; + AST_NODE_TYPES["TSNumberKeyword"] = "TSNumberKeyword"; + AST_NODE_TYPES["TSObjectKeyword"] = "TSObjectKeyword"; + AST_NODE_TYPES["TSOptionalType"] = "TSOptionalType"; + AST_NODE_TYPES["TSParameterProperty"] = "TSParameterProperty"; + AST_NODE_TYPES["TSParenthesizedType"] = "TSParenthesizedType"; + AST_NODE_TYPES["TSPrivateKeyword"] = "TSPrivateKeyword"; + AST_NODE_TYPES["TSPropertySignature"] = "TSPropertySignature"; + AST_NODE_TYPES["TSProtectedKeyword"] = "TSProtectedKeyword"; + AST_NODE_TYPES["TSPublicKeyword"] = "TSPublicKeyword"; + AST_NODE_TYPES["TSQualifiedName"] = "TSQualifiedName"; + AST_NODE_TYPES["TSReadonlyKeyword"] = "TSReadonlyKeyword"; + AST_NODE_TYPES["TSRestType"] = "TSRestType"; + AST_NODE_TYPES["TSStaticKeyword"] = "TSStaticKeyword"; + AST_NODE_TYPES["TSStringKeyword"] = "TSStringKeyword"; + AST_NODE_TYPES["TSSymbolKeyword"] = "TSSymbolKeyword"; + AST_NODE_TYPES["TSTemplateLiteralType"] = "TSTemplateLiteralType"; + AST_NODE_TYPES["TSThisType"] = "TSThisType"; + AST_NODE_TYPES["TSTupleType"] = "TSTupleType"; + AST_NODE_TYPES["TSTypeAliasDeclaration"] = "TSTypeAliasDeclaration"; + AST_NODE_TYPES["TSTypeAnnotation"] = "TSTypeAnnotation"; + AST_NODE_TYPES["TSTypeAssertion"] = "TSTypeAssertion"; + AST_NODE_TYPES["TSTypeLiteral"] = "TSTypeLiteral"; + AST_NODE_TYPES["TSTypeOperator"] = "TSTypeOperator"; + AST_NODE_TYPES["TSTypeParameter"] = "TSTypeParameter"; + AST_NODE_TYPES["TSTypeParameterDeclaration"] = "TSTypeParameterDeclaration"; + AST_NODE_TYPES["TSTypeParameterInstantiation"] = "TSTypeParameterInstantiation"; + AST_NODE_TYPES["TSTypePredicate"] = "TSTypePredicate"; + AST_NODE_TYPES["TSTypeQuery"] = "TSTypeQuery"; + AST_NODE_TYPES["TSTypeReference"] = "TSTypeReference"; + AST_NODE_TYPES["TSUndefinedKeyword"] = "TSUndefinedKeyword"; + AST_NODE_TYPES["TSUnionType"] = "TSUnionType"; + AST_NODE_TYPES["TSUnknownKeyword"] = "TSUnknownKeyword"; + AST_NODE_TYPES["TSVoidKeyword"] = "TSVoidKeyword"; +})(AST_NODE_TYPES = exports.AST_NODE_TYPES || (exports.AST_NODE_TYPES = {})); +var AST_TOKEN_TYPES; +(function (AST_TOKEN_TYPES) { + AST_TOKEN_TYPES["Boolean"] = "Boolean"; + AST_TOKEN_TYPES["Identifier"] = "Identifier"; + AST_TOKEN_TYPES["JSXIdentifier"] = "JSXIdentifier"; + AST_TOKEN_TYPES["JSXText"] = "JSXText"; + AST_TOKEN_TYPES["Keyword"] = "Keyword"; + AST_TOKEN_TYPES["Null"] = "Null"; + AST_TOKEN_TYPES["Numeric"] = "Numeric"; + AST_TOKEN_TYPES["Punctuator"] = "Punctuator"; + AST_TOKEN_TYPES["RegularExpression"] = "RegularExpression"; + AST_TOKEN_TYPES["String"] = "String"; + AST_TOKEN_TYPES["Template"] = "Template"; + AST_TOKEN_TYPES["Block"] = "Block"; + AST_TOKEN_TYPES["Line"] = "Line"; +})(AST_TOKEN_TYPES = exports.AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = {})); +//# sourceMappingURL=ast-spec.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-spec.js.map b/node_modules/@typescript-eslint/types/dist/ast-spec.js.map new file mode 100644 index 000000000..bffdd2822 --- /dev/null +++ b/node_modules/@typescript-eslint/types/dist/ast-spec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-spec.js","sourceRoot":"","sources":["../src/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts b/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts deleted file mode 100644 index 6536628f2..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -declare enum AST_TOKEN_TYPES { - Boolean = "Boolean", - Identifier = "Identifier", - JSXIdentifier = "JSXIdentifier", - JSXText = "JSXText", - Keyword = "Keyword", - Null = "Null", - Numeric = "Numeric", - Punctuator = "Punctuator", - RegularExpression = "RegularExpression", - String = "String", - Template = "Template", - Block = "Block", - Line = "Line" -} -export { AST_TOKEN_TYPES }; -//# sourceMappingURL=ast-token-types.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts.map b/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts.map deleted file mode 100644 index 46cc6f7b0..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-token-types.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-token-types.d.ts","sourceRoot":"","sources":["../src/ast-token-types.ts"],"names":[],"mappings":"AAAA,aAAK,eAAe;IAClB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,MAAM,WAAW;IACjB,QAAQ,aAAa;IAGrB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-token-types.js b/node_modules/@typescript-eslint/types/dist/ast-token-types.js deleted file mode 100644 index 4a4bc4ad0..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-token-types.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AST_TOKEN_TYPES = void 0; -var AST_TOKEN_TYPES; -(function (AST_TOKEN_TYPES) { - AST_TOKEN_TYPES["Boolean"] = "Boolean"; - AST_TOKEN_TYPES["Identifier"] = "Identifier"; - AST_TOKEN_TYPES["JSXIdentifier"] = "JSXIdentifier"; - AST_TOKEN_TYPES["JSXText"] = "JSXText"; - AST_TOKEN_TYPES["Keyword"] = "Keyword"; - AST_TOKEN_TYPES["Null"] = "Null"; - AST_TOKEN_TYPES["Numeric"] = "Numeric"; - AST_TOKEN_TYPES["Punctuator"] = "Punctuator"; - AST_TOKEN_TYPES["RegularExpression"] = "RegularExpression"; - AST_TOKEN_TYPES["String"] = "String"; - AST_TOKEN_TYPES["Template"] = "Template"; - // comment types - AST_TOKEN_TYPES["Block"] = "Block"; - AST_TOKEN_TYPES["Line"] = "Line"; -})(AST_TOKEN_TYPES || (AST_TOKEN_TYPES = {})); -exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES; -//# sourceMappingURL=ast-token-types.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ast-token-types.js.map b/node_modules/@typescript-eslint/types/dist/ast-token-types.js.map deleted file mode 100644 index 10b2fa5f2..000000000 --- a/node_modules/@typescript-eslint/types/dist/ast-token-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-token-types.js","sourceRoot":"","sources":["../src/ast-token-types.ts"],"names":[],"mappings":";;;AAAA,IAAK,eAgBJ;AAhBD,WAAK,eAAe;IAClB,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,0DAAuC,CAAA;IACvC,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IAErB,gBAAgB;IAChB,kCAAe,CAAA;IACf,gCAAa,CAAA;AACf,CAAC,EAhBI,eAAe,KAAf,eAAe,QAgBnB;AAEQ,0CAAe"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/index.d.ts b/node_modules/@typescript-eslint/types/dist/index.d.ts index 8f03adbbc..63065d4ea 100644 --- a/node_modules/@typescript-eslint/types/dist/index.d.ts +++ b/node_modules/@typescript-eslint/types/dist/index.d.ts @@ -1,7 +1,6 @@ -import * as TSESTree from './ts-estree'; -export { AST_NODE_TYPES } from './ast-node-types'; -export { AST_TOKEN_TYPES } from './ast-token-types'; +export { AST_NODE_TYPES } from './ast-spec'; +export { AST_TOKEN_TYPES } from './ast-spec'; export * from './lib'; export * from './parser-options'; -export { TSESTree }; +export * from './ts-estree'; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/index.d.ts.map b/node_modules/@typescript-eslint/types/dist/index.d.ts.map index bdebc7c4f..92d180006 100644 --- a/node_modules/@typescript-eslint/types/dist/index.d.ts.map +++ b/node_modules/@typescript-eslint/types/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/index.js b/node_modules/@typescript-eslint/types/dist/index.js index cf76bb387..8fec5e79c 100644 --- a/node_modules/@typescript-eslint/types/dist/index.js +++ b/node_modules/@typescript-eslint/types/dist/index.js @@ -6,31 +6,16 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi if (k2 === undefined) k2 = k; o[k2] = m[k]; })); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.TSESTree = exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; -// TODO(Brad Zacher) - convert this to export * as TSESTree from './ts-estree' -// https://github.com/sandersn/downlevel-dts/pull/42 -const TSESTree = __importStar(require("./ts-estree")); -exports.TSESTree = TSESTree; -var ast_node_types_1 = require("./ast-node-types"); -Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return ast_node_types_1.AST_NODE_TYPES; } }); -var ast_token_types_1 = require("./ast-token-types"); -Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return ast_token_types_1.AST_TOKEN_TYPES; } }); +exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; +var ast_spec_1 = require("./ast-spec"); +Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } }); +var ast_spec_2 = require("./ast-spec"); +Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return ast_spec_2.AST_TOKEN_TYPES; } }); __exportStar(require("./lib"), exports); __exportStar(require("./parser-options"), exports); +__exportStar(require("./ts-estree"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/index.js.map b/node_modules/@typescript-eslint/types/dist/index.js.map index 43ca6e568..730857290 100644 --- a/node_modules/@typescript-eslint/types/dist/index.js.map +++ b/node_modules/@typescript-eslint/types/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA8E;AAC9E,oDAAoD;AACpD,sDAAwC;AAM/B,4BAAQ;AAJjB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,wCAAsB;AACtB,mDAAiC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,wCAAsB;AACtB,mDAAiC;AACjC,8CAA4B"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/lib.d.ts b/node_modules/@typescript-eslint/types/dist/lib.d.ts index afbb6a199..96ce97255 100644 --- a/node_modules/@typescript-eslint/types/dist/lib.d.ts +++ b/node_modules/@typescript-eslint/types/dist/lib.d.ts @@ -1,3 +1,3 @@ -declare type Lib = 'es5' | 'es6' | 'es2015' | 'es7' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'esnext' | 'dom' | 'dom.iterable' | 'webworker' | 'webworker.importscripts' | 'scripthost' | 'es2015.core' | 'es2015.collection' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol' | 'es2015.symbol.wellknown' | 'es2016.array.include' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.intl' | 'es2017.typedarrays' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2019.array' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2020.bigint' | 'es2020.promise' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020.intl' | 'esnext.array' | 'esnext.symbol' | 'esnext.asynciterable' | 'esnext.intl' | 'esnext.bigint' | 'esnext.string' | 'esnext.promise' | 'es2016.full' | 'es2017.full' | 'es2018.full' | 'es2019.full' | 'es2020.full' | 'esnext.full' | 'lib'; +declare type Lib = 'es5' | 'es6' | 'es2015' | 'es7' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'esnext' | 'dom' | 'dom.iterable' | 'webworker' | 'webworker.importscripts' | 'webworker.iterable' | 'scripthost' | 'es2015.core' | 'es2015.collection' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol' | 'es2015.symbol.wellknown' | 'es2016.array.include' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.intl' | 'es2017.typedarrays' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2019.array' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2020.bigint' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020.intl' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' | 'esnext.array' | 'esnext.symbol' | 'esnext.asynciterable' | 'esnext.intl' | 'esnext.bigint' | 'esnext.string' | 'esnext.promise' | 'esnext.weakref' | 'es2016.full' | 'es2017.full' | 'es2018.full' | 'es2019.full' | 'es2020.full' | 'es2021.full' | 'esnext.full' | 'lib'; export { Lib }; //# sourceMappingURL=lib.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/lib.d.ts.map b/node_modules/@typescript-eslint/types/dist/lib.d.ts.map index d464c4630..064ec7aa0 100644 --- a/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +++ b/node_modules/@typescript-eslint/types/dist/lib.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAIA,aAAK,GAAG,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,cAAc,GACd,WAAW,GACX,yBAAyB,GACzB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB,aAAa,GACb,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,KAAK,CAAC;AAEV,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAIA,aAAK,GAAG,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,cAAc,GACd,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,yBAAyB,GACzB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,KAAK,CAAC;AAEV,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/parser-options.d.ts b/node_modules/@typescript-eslint/types/dist/parser-options.d.ts index 5d2953d39..fb67193f6 100644 --- a/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +++ b/node_modules/@typescript-eslint/types/dist/parser-options.d.ts @@ -1,4 +1,5 @@ import { Lib } from './lib'; +import type { Program } from 'typescript'; declare type DebugLevel = boolean | ('typescript-eslint' | 'eslint' | 'typescript')[]; declare type EcmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020; declare type SourceType = 'script' | 'module'; @@ -15,9 +16,11 @@ interface ParserOptions { debugLevel?: DebugLevel; errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; errorOnUnknownASTType?: boolean; + EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean; extraFileExtensions?: string[]; filePath?: string; loc?: boolean; + program?: Program; project?: string | string[]; projectFolderIgnoreList?: (string | RegExp)[]; range?: boolean; diff --git a/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map b/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map index 4ebe73379..9751edd8e 100644 --- a/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +++ b/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,aAAK,UAAU,GAAG,OAAO,GAAG,CAAC,mBAAmB,GAAG,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;AAE9E,aAAK,WAAW,GACZ,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,aAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAGZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2CAA2C,CAAC,EAAE,OAAO,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,aAAK,UAAU,GAAG,OAAO,GAAG,CAAC,mBAAmB,GAAG,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;AAE9E,aAAK,WAAW,GACZ,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,aAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAGZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2CAA2C,CAAC,EAAE,OAAO,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts b/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts index 1bf72ebaf..f4fece719 100644 --- a/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts +++ b/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts @@ -1,1070 +1,8 @@ -import { AST_NODE_TYPES } from './ast-node-types'; -import { AST_TOKEN_TYPES } from './ast-token-types'; -export interface LineAndColumnData { - /** - * Line number (1-indexed) - */ - line: number; - /** - * Column number on the line (0-indexed) - */ - column: number; +import * as TSESTree from './ast-spec'; +declare module './ast-spec' { + interface BaseNode { + parent?: TSESTree.Node; + } } -export interface SourceLocation { - /** - * The position of the first character of the parsed source region - */ - start: LineAndColumnData; - /** - * The position of the first character after the parsed source region - */ - end: LineAndColumnData; -} -export declare type Range = [number, number]; -export interface BaseNode { - /** - * The source location information of the node. - */ - loc: SourceLocation; - /** - * An array of two numbers. - * Both numbers are a 0-based index which is the position in the array of source code characters. - * The first is the start position of the node, the second is the end position of the node. - */ - range: Range; - /** - * The parent node of the current node - */ - parent?: Node; -} -interface BaseToken extends BaseNode { - value: string; -} -export interface BooleanToken extends BaseToken { - type: AST_TOKEN_TYPES.Boolean; -} -export interface IdentifierToken extends BaseToken { - type: AST_TOKEN_TYPES.Identifier; -} -export interface JSXIdentifierToken extends BaseToken { - type: AST_TOKEN_TYPES.JSXIdentifier; -} -export interface JSXTextToken extends BaseToken { - type: AST_TOKEN_TYPES.JSXText; -} -export interface KeywordToken extends BaseToken { - type: AST_TOKEN_TYPES.Keyword; -} -export interface NullToken extends BaseToken { - type: AST_TOKEN_TYPES.Null; -} -export interface NumericToken extends BaseToken { - type: AST_TOKEN_TYPES.Numeric; -} -export interface PunctuatorToken extends BaseToken { - type: AST_TOKEN_TYPES.Punctuator; -} -export interface RegularExpressionToken extends BaseToken { - type: AST_TOKEN_TYPES.RegularExpression; - regex: { - pattern: string; - flags: string; - }; -} -export interface StringToken extends BaseToken { - type: AST_TOKEN_TYPES.String; -} -export interface TemplateToken extends BaseToken { - type: AST_TOKEN_TYPES.Template; -} -export interface BlockComment extends BaseToken { - type: AST_TOKEN_TYPES.Block; -} -export interface LineComment extends BaseToken { - type: AST_TOKEN_TYPES.Line; -} -export declare type Comment = BlockComment | LineComment; -export declare type Token = BooleanToken | Comment | IdentifierToken | JSXIdentifierToken | JSXTextToken | KeywordToken | NullToken | NumericToken | PunctuatorToken | RegularExpressionToken | StringToken | TemplateToken; -export declare type OptionalRangeAndLoc = Pick> & { - range?: Range; - loc?: SourceLocation; -}; -export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | Program | Property | RestElement | ReturnStatement | SequenceExpression | SpreadElement | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractClassProperty | TSAbstractKeyword | TSAbstractMethodDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; -export declare type Accessibility = 'public' | 'protected' | 'private'; -export declare type BindingPattern = ArrayPattern | ObjectPattern; -export declare type BindingName = BindingPattern | Identifier; -export declare type ChainElement = CallExpression | MemberExpression | TSNonNullExpression; -export declare type ClassElement = ClassProperty | MethodDefinition | TSAbstractClassProperty | TSAbstractMethodDefinition | TSIndexSignature; -export declare type ClassProperty = ClassPropertyComputedName | ClassPropertyNonComputedName; -export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportDefaultDeclaration | ExportAllDeclaration | ExportNamedDeclaration | FunctionDeclaration | TSDeclareFunction | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration; -export declare type DestructuringPattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression; -export declare type EntityName = Identifier | TSQualifiedName; -export declare type ExportDeclaration = ClassDeclaration | ClassExpression | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; -export declare type Expression = ArrowFunctionExpression | AssignmentExpression | BinaryExpression | ChainExpression | ConditionalExpression | ImportExpression | JSXClosingElement | JSXClosingFragment | JSXExpressionContainer | JSXOpeningElement | JSXOpeningFragment | JSXSpreadChild | LogicalExpression | NewExpression | RestElement | SequenceExpression | SpreadElement | TSAsExpression | TSUnaryExpression | YieldExpression; -export declare type ForInitialiser = Expression | VariableDeclaration; -export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; -export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; -export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; -export declare type JSXExpression = JSXEmptyExpression | JSXSpreadChild | JSXExpressionContainer; -export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression; -export declare type LeftHandSideExpression = CallExpression | ClassExpression | ClassDeclaration | FunctionExpression | LiteralExpression | MemberExpression | PrimaryExpression | TaggedTemplateExpression | TSNonNullExpression | TSAsExpression | ArrowFunctionExpression; -export declare type Literal = BigIntLiteral | BooleanLiteral | NumberLiteral | NullLiteral | RegExpLiteral | StringLiteral; -export declare type LiteralExpression = Literal | TemplateLiteral; -export declare type MemberExpression = MemberExpressionComputedName | MemberExpressionNonComputedName; -export declare type MethodDefinition = MethodDefinitionComputedName | MethodDefinitionNonComputedName; -export declare type Modifier = TSAbstractKeyword | TSAsyncKeyword | TSDeclareKeyword | TSExportKeyword | TSPublicKeyword | TSPrivateKeyword | TSProtectedKeyword | TSReadonlyKeyword | TSStaticKeyword; -export declare type ObjectLiteralElementLike = MethodDefinition | Property | SpreadElement | TSAbstractMethodDefinition; -export declare type Parameter = ArrayPattern | AssignmentPattern | Identifier | ObjectPattern | RestElement | TSParameterProperty; -export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | JSXOpeningElement | Literal | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression | TSNullKeyword; -export declare type ProgramStatement = ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | Statement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration; -export declare type Property = PropertyComputedName | PropertyNonComputedName; -export declare type PropertyName = PropertyNameComputed | PropertyNameNonComputed; -export declare type PropertyNameComputed = Expression; -export declare type PropertyNameNonComputed = Identifier | StringLiteral | NumberLiteral; -export declare type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DeclarationStatement | EmptyStatement | ExpressionStatement | IfStatement | IterationStatement | ImportDeclaration | LabeledStatement | TSModuleBlock | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WithStatement; -export declare type TSAbstractClassProperty = TSAbstractClassPropertyComputedName | TSAbstractClassPropertyNonComputedName; -export declare type TSAbstractMethodDefinition = TSAbstractMethodDefinitionComputedName | TSAbstractMethodDefinitionNonComputedName; -export declare type TSMethodSignature = TSMethodSignatureComputedName | TSMethodSignatureNonComputedName; -export declare type TSPropertySignature = TSPropertySignatureComputedName | TSPropertySignatureNonComputedName; -export declare type TSEnumMember = TSEnumMemberComputedName | TSEnumMemberNonComputedName; -export declare type TSUnaryExpression = AwaitExpression | LeftHandSideExpression | TSTypeAssertion | UnaryExpression | UpdateExpression; -export declare type TypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSIndexSignature | TSMethodSignature | TSPropertySignature; -export declare type TypeNode = TSAnyKeyword | TSArrayType | TSBigIntKeyword | TSBooleanKeyword | TSConditionalType | TSConstructorType | TSFunctionType | TSImportType | TSIndexedAccessType | TSInferType | TSInterfaceHeritage | TSIntersectionType | TSLiteralType | TSMappedType | TSNamedTupleMember | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParenthesizedType | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeLiteral | TSTypeOperator | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword; -interface BinaryExpressionBase extends BaseNode { - operator: string; - left: Expression; - right: Expression; -} -interface CallExpressionBase extends BaseNode { - callee: LeftHandSideExpression; - arguments: Expression[]; - typeParameters?: TSTypeParameterInstantiation; - optional: boolean; -} -interface ClassDeclarationBase extends BaseNode { - typeParameters?: TSTypeParameterDeclaration; - superTypeParameters?: TSTypeParameterInstantiation; - id: Identifier | null; - body: ClassBody; - superClass: LeftHandSideExpression | null; - implements?: TSClassImplements[]; - abstract?: boolean; - declare?: boolean; - decorators?: Decorator[]; -} -/** this should not be directly used - instead use ClassPropertyComputedNameBase or ClassPropertyNonComputedNameBase */ -interface ClassPropertyBase extends BaseNode { - key: PropertyName; - value: Expression | null; - computed: boolean; - static: boolean; - declare: boolean; - readonly?: boolean; - decorators?: Decorator[]; - accessibility?: Accessibility; - optional?: boolean; - definite?: boolean; - typeAnnotation?: TSTypeAnnotation; -} -interface ClassPropertyComputedNameBase extends ClassPropertyBase { - key: PropertyNameComputed; - computed: true; -} -interface ClassPropertyNonComputedNameBase extends ClassPropertyBase { - key: PropertyNameNonComputed; - computed: false; -} -interface FunctionDeclarationBase extends BaseNode { - id: Identifier | null; - generator: boolean; - expression: boolean; - async: boolean; - params: Parameter[]; - body?: BlockStatement | null; - returnType?: TSTypeAnnotation; - typeParameters?: TSTypeParameterDeclaration; - declare?: boolean; -} -interface FunctionSignatureBase extends BaseNode { - params: Parameter[]; - returnType?: TSTypeAnnotation; - typeParameters?: TSTypeParameterDeclaration; -} -interface LiteralBase extends BaseNode { - raw: string; - value: string | boolean | null | number | RegExp | bigint; - regex?: { - pattern: string; - flags: string; - }; -} -/** this should not be directly used - instead use MemberExpressionComputedNameBase or MemberExpressionNonComputedNameBase */ -interface MemberExpressionBase extends BaseNode { - object: LeftHandSideExpression; - property: Expression | Identifier; - computed: boolean; - optional: boolean; -} -interface MemberExpressionComputedNameBase extends MemberExpressionBase { - property: Expression; - computed: true; -} -interface MemberExpressionNonComputedNameBase extends MemberExpressionBase { - property: Identifier; - computed: false; -} -/** this should not be directly used - instead use MethodDefinitionComputedNameBase or MethodDefinitionNonComputedNameBase */ -interface MethodDefinitionBase extends BaseNode { - key: PropertyName; - value: FunctionExpression | TSEmptyBodyFunctionExpression; - computed: boolean; - static: boolean; - kind: 'method' | 'get' | 'set' | 'constructor'; - optional?: boolean; - decorators?: Decorator[]; - accessibility?: Accessibility; - typeParameters?: TSTypeParameterDeclaration; -} -interface MethodDefinitionComputedNameBase extends MethodDefinitionBase { - key: PropertyNameComputed; - computed: true; -} -interface MethodDefinitionNonComputedNameBase extends MethodDefinitionBase { - key: PropertyNameNonComputed; - computed: false; -} -interface PropertyBase extends BaseNode { - type: AST_NODE_TYPES.Property; - key: PropertyName; - value: Expression | AssignmentPattern | BindingName | TSEmptyBodyFunctionExpression; - computed: boolean; - method: boolean; - shorthand: boolean; - optional?: boolean; - kind: 'init' | 'get' | 'set'; -} -interface TSEnumMemberBase extends BaseNode { - type: AST_NODE_TYPES.TSEnumMember; - id: PropertyNameNonComputed | PropertyNameComputed; - initializer?: Expression; - computed?: boolean; -} -interface TSHeritageBase extends BaseNode { - expression: Expression; - typeParameters?: TSTypeParameterInstantiation; -} -interface TSMethodSignatureBase extends BaseNode { - type: AST_NODE_TYPES.TSMethodSignature; - key: PropertyName; - computed: boolean; - params: Parameter[]; - optional?: boolean; - returnType?: TSTypeAnnotation; - readonly?: boolean; - typeParameters?: TSTypeParameterDeclaration; - accessibility?: Accessibility; - export?: boolean; - static?: boolean; -} -interface TSPropertySignatureBase extends BaseNode { - type: AST_NODE_TYPES.TSPropertySignature; - key: PropertyName; - optional?: boolean; - computed: boolean; - typeAnnotation?: TSTypeAnnotation; - initializer?: Expression; - readonly?: boolean; - static?: boolean; - export?: boolean; - accessibility?: Accessibility; -} -interface UnaryExpressionBase extends BaseNode { - operator: string; - prefix: boolean; - argument: LeftHandSideExpression | Literal | UnaryExpression; -} -export interface ArrayExpression extends BaseNode { - type: AST_NODE_TYPES.ArrayExpression; - elements: Expression[]; -} -export interface ArrayPattern extends BaseNode { - type: AST_NODE_TYPES.ArrayPattern; - elements: (DestructuringPattern | null)[]; - typeAnnotation?: TSTypeAnnotation; - optional?: boolean; - decorators?: Decorator[]; -} -export interface ArrowFunctionExpression extends BaseNode { - type: AST_NODE_TYPES.ArrowFunctionExpression; - generator: boolean; - id: null; - params: Parameter[]; - body: Expression | BlockStatement; - async: boolean; - expression: boolean; - returnType?: TSTypeAnnotation; - typeParameters?: TSTypeParameterDeclaration; -} -export interface AssignmentExpression extends BinaryExpressionBase { - type: AST_NODE_TYPES.AssignmentExpression; - operator: '-=' | '??=' | '**=' | '*=' | '/=' | '&&=' | '&=' | '%=' | '^=' | '+=' | '<<=' | '=' | '>>=' | '>>>=' | '|=' | '||='; -} -export interface AssignmentPattern extends BaseNode { - type: AST_NODE_TYPES.AssignmentPattern; - left: BindingName; - right: Expression; - typeAnnotation?: TSTypeAnnotation; - optional?: boolean; - decorators?: Decorator[]; -} -export interface AwaitExpression extends BaseNode { - type: AST_NODE_TYPES.AwaitExpression; - argument: TSUnaryExpression; -} -export interface BigIntLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: bigint | null; - bigint: string; -} -export interface BinaryExpression extends BinaryExpressionBase { - type: AST_NODE_TYPES.BinaryExpression; -} -export interface BlockStatement extends BaseNode { - type: AST_NODE_TYPES.BlockStatement; - body: Statement[]; -} -export interface BooleanLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: boolean; -} -export interface BreakStatement extends BaseNode { - type: AST_NODE_TYPES.BreakStatement; - label: Identifier | null; -} -export interface ChainExpression extends BaseNode { - type: AST_NODE_TYPES.ChainExpression; - expression: ChainElement; -} -export interface CallExpression extends CallExpressionBase { - type: AST_NODE_TYPES.CallExpression; -} -export interface CatchClause extends BaseNode { - type: AST_NODE_TYPES.CatchClause; - param: BindingName | null; - body: BlockStatement; -} -export interface ClassBody extends BaseNode { - type: AST_NODE_TYPES.ClassBody; - body: ClassElement[]; -} -export interface ClassDeclaration extends ClassDeclarationBase { - type: AST_NODE_TYPES.ClassDeclaration; -} -export interface ClassExpression extends ClassDeclarationBase { - type: AST_NODE_TYPES.ClassExpression; -} -export interface ClassPropertyComputedName extends ClassPropertyComputedNameBase { - type: AST_NODE_TYPES.ClassProperty; -} -export interface ClassPropertyNonComputedName extends ClassPropertyNonComputedNameBase { - type: AST_NODE_TYPES.ClassProperty; -} -export interface ConditionalExpression extends BaseNode { - type: AST_NODE_TYPES.ConditionalExpression; - test: Expression; - consequent: Expression; - alternate: Expression; -} -export interface ContinueStatement extends BaseNode { - type: AST_NODE_TYPES.ContinueStatement; - label: Identifier | null; -} -export interface DebuggerStatement extends BaseNode { - type: AST_NODE_TYPES.DebuggerStatement; -} -export interface Decorator extends BaseNode { - type: AST_NODE_TYPES.Decorator; - expression: LeftHandSideExpression; -} -export interface DoWhileStatement extends BaseNode { - type: AST_NODE_TYPES.DoWhileStatement; - test: Expression; - body: Statement; -} -export interface EmptyStatement extends BaseNode { - type: AST_NODE_TYPES.EmptyStatement; -} -export interface ExportAllDeclaration extends BaseNode { - type: AST_NODE_TYPES.ExportAllDeclaration; - source: Expression | null; - exportKind: 'type' | 'value'; - exported: Identifier | null; -} -export interface ExportDefaultDeclaration extends BaseNode { - type: AST_NODE_TYPES.ExportDefaultDeclaration; - declaration: ExportDeclaration | Expression; - exportKind: 'type' | 'value'; -} -export interface ExportNamedDeclaration extends BaseNode { - type: AST_NODE_TYPES.ExportNamedDeclaration; - declaration: ExportDeclaration | null; - specifiers: ExportSpecifier[]; - source: Expression | null; - exportKind: 'type' | 'value'; -} -export interface ExportSpecifier extends BaseNode { - type: AST_NODE_TYPES.ExportSpecifier; - local: Identifier; - exported: Identifier; -} -export interface ExpressionStatement extends BaseNode { - type: AST_NODE_TYPES.ExpressionStatement; - expression: Expression; - directive?: string; -} -export interface ForInStatement extends BaseNode { - type: AST_NODE_TYPES.ForInStatement; - left: ForInitialiser; - right: Expression; - body: Statement; -} -export interface ForOfStatement extends BaseNode { - type: AST_NODE_TYPES.ForOfStatement; - left: ForInitialiser; - right: Expression; - body: Statement; - await: boolean; -} -export interface ForStatement extends BaseNode { - type: AST_NODE_TYPES.ForStatement; - init: Expression | ForInitialiser | null; - test: Expression | null; - update: Expression | null; - body: Statement; -} -export interface FunctionDeclaration extends FunctionDeclarationBase { - type: AST_NODE_TYPES.FunctionDeclaration; - body: BlockStatement; -} -export interface FunctionExpression extends FunctionDeclarationBase { - type: AST_NODE_TYPES.FunctionExpression; - body: BlockStatement; -} -export interface Identifier extends BaseNode { - type: AST_NODE_TYPES.Identifier; - name: string; - typeAnnotation?: TSTypeAnnotation; - optional?: boolean; - decorators?: Decorator[]; -} -export interface IfStatement extends BaseNode { - type: AST_NODE_TYPES.IfStatement; - test: Expression; - consequent: Statement; - alternate: Statement | null; -} -export interface ImportDeclaration extends BaseNode { - type: AST_NODE_TYPES.ImportDeclaration; - source: Literal; - specifiers: ImportClause[]; - importKind: 'type' | 'value'; -} -export interface ImportDefaultSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportDefaultSpecifier; - local: Identifier; -} -export interface ImportExpression extends BaseNode { - type: AST_NODE_TYPES.ImportExpression; - source: Expression; -} -export interface ImportNamespaceSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportNamespaceSpecifier; - local: Identifier; -} -export interface ImportSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportSpecifier; - local: Identifier; - imported: Identifier; -} -export interface JSXAttribute extends BaseNode { - type: AST_NODE_TYPES.JSXAttribute; - name: JSXIdentifier; - value: Literal | JSXExpression | null; -} -export interface JSXClosingElement extends BaseNode { - type: AST_NODE_TYPES.JSXClosingElement; - name: JSXTagNameExpression; -} -export interface JSXClosingFragment extends BaseNode { - type: AST_NODE_TYPES.JSXClosingFragment; -} -export interface JSXElement extends BaseNode { - type: AST_NODE_TYPES.JSXElement; - openingElement: JSXOpeningElement; - closingElement: JSXClosingElement | null; - children: JSXChild[]; -} -export interface JSXEmptyExpression extends BaseNode { - type: AST_NODE_TYPES.JSXEmptyExpression; -} -export interface JSXExpressionContainer extends BaseNode { - type: AST_NODE_TYPES.JSXExpressionContainer; - expression: Expression | JSXEmptyExpression; -} -export interface JSXFragment extends BaseNode { - type: AST_NODE_TYPES.JSXFragment; - openingFragment: JSXOpeningFragment; - closingFragment: JSXClosingFragment; - children: JSXChild[]; -} -export interface JSXIdentifier extends BaseNode { - type: AST_NODE_TYPES.JSXIdentifier; - name: string; -} -export interface JSXMemberExpression extends BaseNode { - type: AST_NODE_TYPES.JSXMemberExpression; - object: JSXTagNameExpression; - property: JSXIdentifier; -} -export interface JSXOpeningElement extends BaseNode { - type: AST_NODE_TYPES.JSXOpeningElement; - typeParameters?: TSTypeParameterInstantiation; - selfClosing: boolean; - name: JSXTagNameExpression; - attributes: JSXAttribute[]; -} -export interface JSXOpeningFragment extends BaseNode { - type: AST_NODE_TYPES.JSXOpeningFragment; -} -export interface JSXSpreadAttribute extends BaseNode { - type: AST_NODE_TYPES.JSXSpreadAttribute; - argument: Expression; -} -export interface JSXSpreadChild extends BaseNode { - type: AST_NODE_TYPES.JSXSpreadChild; - expression: Expression | JSXEmptyExpression; -} -export interface JSXText extends BaseNode { - type: AST_NODE_TYPES.JSXText; - value: string; - raw: string; -} -export interface LabeledStatement extends BaseNode { - type: AST_NODE_TYPES.LabeledStatement; - label: Identifier; - body: Statement; -} -export interface LogicalExpression extends BinaryExpressionBase { - type: AST_NODE_TYPES.LogicalExpression; -} -export interface MemberExpressionComputedName extends MemberExpressionComputedNameBase { - type: AST_NODE_TYPES.MemberExpression; -} -export interface MemberExpressionNonComputedName extends MemberExpressionNonComputedNameBase { - type: AST_NODE_TYPES.MemberExpression; -} -export interface MetaProperty extends BaseNode { - type: AST_NODE_TYPES.MetaProperty; - meta: Identifier; - property: Identifier; -} -export interface MethodDefinitionComputedName extends MethodDefinitionComputedNameBase { - type: AST_NODE_TYPES.MethodDefinition; -} -export interface MethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.MethodDefinition; -} -export interface NewExpression extends BaseNode { - type: AST_NODE_TYPES.NewExpression; - callee: LeftHandSideExpression; - arguments: Expression[]; - typeParameters?: TSTypeParameterInstantiation; -} -export interface NumberLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: number; -} -export interface NullLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: null; -} -export interface ObjectExpression extends BaseNode { - type: AST_NODE_TYPES.ObjectExpression; - properties: ObjectLiteralElementLike[]; -} -export interface ObjectPattern extends BaseNode { - type: AST_NODE_TYPES.ObjectPattern; - properties: (Property | RestElement)[]; - typeAnnotation?: TSTypeAnnotation; - optional?: boolean; - decorators?: Decorator[]; -} -export interface Program extends BaseNode { - type: AST_NODE_TYPES.Program; - body: ProgramStatement[]; - sourceType: 'module' | 'script'; - comments?: Comment[]; - tokens?: Token[]; -} -export interface PropertyComputedName extends PropertyBase { - key: PropertyNameComputed; - computed: true; -} -export interface PropertyNonComputedName extends PropertyBase { - key: PropertyNameNonComputed; - computed: false; -} -export interface RegExpLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: RegExp; -} -export interface RestElement extends BaseNode { - type: AST_NODE_TYPES.RestElement; - argument: DestructuringPattern; - typeAnnotation?: TSTypeAnnotation; - optional?: boolean; - value?: AssignmentPattern; - decorators?: Decorator[]; -} -export interface ReturnStatement extends BaseNode { - type: AST_NODE_TYPES.ReturnStatement; - argument: Expression | null; -} -export interface SequenceExpression extends BaseNode { - type: AST_NODE_TYPES.SequenceExpression; - expressions: Expression[]; -} -export interface SpreadElement extends BaseNode { - type: AST_NODE_TYPES.SpreadElement; - argument: Expression; -} -export interface StringLiteral extends LiteralBase { - type: AST_NODE_TYPES.Literal; - value: string; -} -export interface Super extends BaseNode { - type: AST_NODE_TYPES.Super; -} -export interface SwitchCase extends BaseNode { - type: AST_NODE_TYPES.SwitchCase; - test: Expression | null; - consequent: Statement[]; -} -export interface SwitchStatement extends BaseNode { - type: AST_NODE_TYPES.SwitchStatement; - discriminant: Expression; - cases: SwitchCase[]; -} -export interface TaggedTemplateExpression extends BaseNode { - type: AST_NODE_TYPES.TaggedTemplateExpression; - typeParameters?: TSTypeParameterInstantiation; - tag: LeftHandSideExpression; - quasi: TemplateLiteral; -} -export interface TemplateElement extends BaseNode { - type: AST_NODE_TYPES.TemplateElement; - value: { - raw: string; - cooked: string; - }; - tail: boolean; -} -export interface TemplateLiteral extends BaseNode { - type: AST_NODE_TYPES.TemplateLiteral; - quasis: TemplateElement[]; - expressions: Expression[]; -} -export interface ThisExpression extends BaseNode { - type: AST_NODE_TYPES.ThisExpression; -} -export interface ThrowStatement extends BaseNode { - type: AST_NODE_TYPES.ThrowStatement; - argument: Statement | TSAsExpression | null; -} -export interface TryStatement extends BaseNode { - type: AST_NODE_TYPES.TryStatement; - block: BlockStatement; - handler: CatchClause | null; - finalizer: BlockStatement; -} -export interface TSAbstractClassPropertyComputedName extends ClassPropertyComputedNameBase { - type: AST_NODE_TYPES.TSAbstractClassProperty; -} -export interface TSAbstractClassPropertyNonComputedName extends ClassPropertyNonComputedNameBase { - type: AST_NODE_TYPES.TSAbstractClassProperty; -} -export interface TSAbstractKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAbstractKeyword; -} -export interface TSAbstractMethodDefinitionComputedName extends MethodDefinitionComputedNameBase { - type: AST_NODE_TYPES.TSAbstractMethodDefinition; -} -export interface TSAbstractMethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.TSAbstractMethodDefinition; -} -export interface TSAnyKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAnyKeyword; -} -export interface TSArrayType extends BaseNode { - type: AST_NODE_TYPES.TSArrayType; - elementType: TypeNode; -} -export interface TSAsExpression extends BaseNode { - type: AST_NODE_TYPES.TSAsExpression; - expression: Expression; - typeAnnotation: TypeNode; -} -export interface TSAsyncKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAsyncKeyword; -} -export interface TSBigIntKeyword extends BaseNode { - type: AST_NODE_TYPES.TSBigIntKeyword; -} -export interface TSBooleanKeyword extends BaseNode { - type: AST_NODE_TYPES.TSBooleanKeyword; -} -export interface TSCallSignatureDeclaration extends FunctionSignatureBase { - type: AST_NODE_TYPES.TSCallSignatureDeclaration; -} -export interface TSClassImplements extends TSHeritageBase { - type: AST_NODE_TYPES.TSClassImplements; -} -export interface TSConditionalType extends BaseNode { - type: AST_NODE_TYPES.TSConditionalType; - checkType: TypeNode; - extendsType: TypeNode; - trueType: TypeNode; - falseType: TypeNode; -} -export interface TSConstructorType extends FunctionSignatureBase { - type: AST_NODE_TYPES.TSConstructorType; -} -export interface TSConstructSignatureDeclaration extends FunctionSignatureBase { - type: AST_NODE_TYPES.TSConstructSignatureDeclaration; -} -export interface TSDeclareFunction extends FunctionDeclarationBase { - type: AST_NODE_TYPES.TSDeclareFunction; -} -export interface TSDeclareKeyword extends BaseNode { - type: AST_NODE_TYPES.TSDeclareKeyword; -} -export interface TSEmptyBodyFunctionExpression extends FunctionDeclarationBase { - type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression; - body: null; -} -export interface TSEnumDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSEnumDeclaration; - id: Identifier; - members: TSEnumMember[]; - const?: boolean; - declare?: boolean; - modifiers?: Modifier[]; -} -/** - * this should only really happen in semantically invalid code (errors 1164 and 2452) - * - * VALID: - * enum Foo { ['a'] } - * - * INVALID: - * const x = 'a'; - * enum Foo { [x] } - * enum Bar { ['a' + 'b'] } - */ -export interface TSEnumMemberComputedName extends TSEnumMemberBase { - id: PropertyNameComputed; - computed: true; -} -export interface TSEnumMemberNonComputedName extends TSEnumMemberBase { - id: PropertyNameNonComputed; - computed?: false; -} -export interface TSExportAssignment extends BaseNode { - type: AST_NODE_TYPES.TSExportAssignment; - expression: Expression; -} -export interface TSExportKeyword extends BaseNode { - type: AST_NODE_TYPES.TSExportKeyword; -} -export interface TSExternalModuleReference extends BaseNode { - type: AST_NODE_TYPES.TSExternalModuleReference; - expression: Expression; -} -export interface TSFunctionType extends FunctionSignatureBase { - type: AST_NODE_TYPES.TSFunctionType; -} -export interface TSImportEqualsDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSImportEqualsDeclaration; - id: Identifier; - moduleReference: EntityName | TSExternalModuleReference; - isExport: boolean; -} -export interface TSImportType extends BaseNode { - type: AST_NODE_TYPES.TSImportType; - isTypeOf: boolean; - parameter: TypeNode; - qualifier: EntityName | null; - typeParameters: TSTypeParameterInstantiation | null; -} -export interface TSIndexedAccessType extends BaseNode { - type: AST_NODE_TYPES.TSIndexedAccessType; - objectType: TypeNode; - indexType: TypeNode; -} -export interface TSIndexSignature extends BaseNode { - type: AST_NODE_TYPES.TSIndexSignature; - parameters: Parameter[]; - typeAnnotation?: TSTypeAnnotation; - readonly?: boolean; - accessibility?: Accessibility; - export?: boolean; - static?: boolean; -} -export interface TSInferType extends BaseNode { - type: AST_NODE_TYPES.TSInferType; - typeParameter: TSTypeParameter; -} -export interface TSInterfaceDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSInterfaceDeclaration; - body: TSInterfaceBody; - id: Identifier; - typeParameters?: TSTypeParameterDeclaration; - extends?: TSInterfaceHeritage[]; - implements?: TSInterfaceHeritage[]; - abstract?: boolean; - declare?: boolean; -} -export interface TSInterfaceBody extends BaseNode { - type: AST_NODE_TYPES.TSInterfaceBody; - body: TypeElement[]; -} -export interface TSInterfaceHeritage extends TSHeritageBase { - type: AST_NODE_TYPES.TSInterfaceHeritage; -} -export interface TSIntersectionType extends BaseNode { - type: AST_NODE_TYPES.TSIntersectionType; - types: TypeNode[]; -} -export interface TSLiteralType extends BaseNode { - type: AST_NODE_TYPES.TSLiteralType; - literal: LiteralExpression | UnaryExpression | UpdateExpression; -} -export interface TSMappedType extends BaseNode { - type: AST_NODE_TYPES.TSMappedType; - typeParameter: TSTypeParameter; - readonly?: boolean | '-' | '+'; - optional?: boolean | '-' | '+'; - typeAnnotation?: TypeNode; -} -export interface TSMethodSignatureComputedName extends TSMethodSignatureBase { - key: PropertyNameComputed; - computed: true; -} -export interface TSMethodSignatureNonComputedName extends TSMethodSignatureBase { - key: PropertyNameNonComputed; - computed: false; -} -export interface TSModuleBlock extends BaseNode { - type: AST_NODE_TYPES.TSModuleBlock; - body: ProgramStatement[]; -} -export interface TSModuleDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSModuleDeclaration; - id: Identifier | Literal; - body?: TSModuleBlock; - global?: boolean; - declare?: boolean; - modifiers?: Modifier[]; -} -export interface TSNamespaceExportDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSNamespaceExportDeclaration; - id: Identifier; -} -export interface TSNeverKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNeverKeyword; -} -export interface TSNonNullExpression extends BaseNode { - type: AST_NODE_TYPES.TSNonNullExpression; - expression: Expression; -} -export interface TSNullKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNullKeyword; -} -export interface TSNumberKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNumberKeyword; -} -export interface TSObjectKeyword extends BaseNode { - type: AST_NODE_TYPES.TSObjectKeyword; -} -export interface TSOptionalType extends BaseNode { - type: AST_NODE_TYPES.TSOptionalType; - typeAnnotation: TypeNode; -} -export interface TSParameterProperty extends BaseNode { - type: AST_NODE_TYPES.TSParameterProperty; - accessibility?: Accessibility; - readonly?: boolean; - static?: boolean; - export?: boolean; - parameter: AssignmentPattern | BindingName | RestElement; - decorators?: Decorator[]; -} -export interface TSParenthesizedType extends BaseNode { - type: AST_NODE_TYPES.TSParenthesizedType; - typeAnnotation: TypeNode; -} -export interface TSPropertySignatureComputedName extends TSPropertySignatureBase { - key: PropertyNameComputed; - computed: true; -} -export interface TSPropertySignatureNonComputedName extends TSPropertySignatureBase { - key: PropertyNameNonComputed; - computed: false; -} -export interface TSPublicKeyword extends BaseNode { - type: AST_NODE_TYPES.TSPublicKeyword; -} -export interface TSPrivateKeyword extends BaseNode { - type: AST_NODE_TYPES.TSPrivateKeyword; -} -export interface TSProtectedKeyword extends BaseNode { - type: AST_NODE_TYPES.TSProtectedKeyword; -} -export interface TSQualifiedName extends BaseNode { - type: AST_NODE_TYPES.TSQualifiedName; - left: EntityName; - right: Identifier; -} -export interface TSReadonlyKeyword extends BaseNode { - type: AST_NODE_TYPES.TSReadonlyKeyword; -} -export interface TSRestType extends BaseNode { - type: AST_NODE_TYPES.TSRestType; - typeAnnotation: TypeNode; -} -export interface TSStaticKeyword extends BaseNode { - type: AST_NODE_TYPES.TSStaticKeyword; -} -export interface TSStringKeyword extends BaseNode { - type: AST_NODE_TYPES.TSStringKeyword; -} -export interface TSSymbolKeyword extends BaseNode { - type: AST_NODE_TYPES.TSSymbolKeyword; -} -export interface TSThisType extends BaseNode { - type: AST_NODE_TYPES.TSThisType; -} -export interface TSNamedTupleMember extends BaseNode { - type: AST_NODE_TYPES.TSNamedTupleMember; - elementType: TypeNode; - label: Identifier; - optional: boolean; -} -export interface TSTupleType extends BaseNode { - type: AST_NODE_TYPES.TSTupleType; - elementTypes: TypeNode[]; -} -export interface TSTypeAliasDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSTypeAliasDeclaration; - id: Identifier; - typeAnnotation: TypeNode; - declare?: boolean; - typeParameters?: TSTypeParameterDeclaration; -} -export interface TSTypeAnnotation extends BaseNode { - type: AST_NODE_TYPES.TSTypeAnnotation; - typeAnnotation: TypeNode; -} -export interface TSTypeAssertion extends BaseNode { - type: AST_NODE_TYPES.TSTypeAssertion; - typeAnnotation: TypeNode; - expression: Expression; -} -export interface TSTypeLiteral extends BaseNode { - type: AST_NODE_TYPES.TSTypeLiteral; - members: TypeElement[]; -} -export interface TSTypeOperator extends BaseNode { - type: AST_NODE_TYPES.TSTypeOperator; - operator: 'keyof' | 'unique' | 'readonly'; - typeAnnotation?: TypeNode; -} -export interface TSTypeParameter extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameter; - name: Identifier; - constraint?: TypeNode; - default?: TypeNode; -} -export interface TSTypeParameterDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameterDeclaration; - params: TSTypeParameter[]; -} -export interface TSTypeParameterInstantiation extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameterInstantiation; - params: TypeNode[]; -} -export interface TSTypePredicate extends BaseNode { - type: AST_NODE_TYPES.TSTypePredicate; - asserts: boolean; - parameterName: Identifier | TSThisType; - typeAnnotation: TSTypeAnnotation | null; -} -export interface TSTypeQuery extends BaseNode { - type: AST_NODE_TYPES.TSTypeQuery; - exprName: EntityName; -} -export interface TSTypeReference extends BaseNode { - type: AST_NODE_TYPES.TSTypeReference; - typeName: EntityName; - typeParameters?: TSTypeParameterInstantiation; -} -export interface TSUndefinedKeyword extends BaseNode { - type: AST_NODE_TYPES.TSUndefinedKeyword; -} -export interface TSUnionType extends BaseNode { - type: AST_NODE_TYPES.TSUnionType; - types: TypeNode[]; -} -export interface TSUnknownKeyword extends BaseNode { - type: AST_NODE_TYPES.TSUnknownKeyword; -} -export interface TSVoidKeyword extends BaseNode { - type: AST_NODE_TYPES.TSVoidKeyword; -} -export interface UpdateExpression extends UnaryExpressionBase { - type: AST_NODE_TYPES.UpdateExpression; - operator: '++' | '--'; -} -export interface UnaryExpression extends UnaryExpressionBase { - type: AST_NODE_TYPES.UnaryExpression; - operator: '+' | '-' | '!' | '~' | 'delete' | 'void' | 'typeof'; -} -export interface VariableDeclaration extends BaseNode { - type: AST_NODE_TYPES.VariableDeclaration; - declarations: VariableDeclarator[]; - kind: 'let' | 'const' | 'var'; - declare?: boolean; -} -export interface VariableDeclarator extends BaseNode { - type: AST_NODE_TYPES.VariableDeclarator; - id: BindingName; - init: Expression | null; - definite?: boolean; -} -export interface WhileStatement extends BaseNode { - type: AST_NODE_TYPES.WhileStatement; - test: Expression; - body: Statement; -} -export interface WithStatement extends BaseNode { - type: AST_NODE_TYPES.WithStatement; - object: Expression; - body: Statement; -} -export interface YieldExpression extends BaseNode { - type: AST_NODE_TYPES.YieldExpression; - delegate: boolean; - argument?: Expression; -} -export {}; +export * as TSESTree from './ast-spec'; //# sourceMappingURL=ts-estree.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map b/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map index 16b0634ab..23921cca8 100644 --- a/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map +++ b/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,GAAG,EAAE,iBAAiB,CAAC;CACxB;AACD,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErC,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,GAAG,EAAE,cAAc,CAAC;IACpB;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;CAOf;AASD,UAAU,SAAU,SAAQ,QAAQ;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;IACxC,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;CAChC;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;CAC7B;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;CAC5B;AAED,oBAAY,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;AACjD,oBAAY,KAAK,GACb,YAAY,GACZ,OAAO,GACP,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,eAAe,GACf,sBAAsB,GACtB,WAAW,GACX,aAAa,CAAC;AAElB,oBAAY,mBAAmB,CAAC,CAAC,IAAI,IAAI,CACvC,CAAC,EACD,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,CAClC,GAAG;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB,CAAC;AAIF,oBAAY,IAAI,GACZ,eAAe,GACf,YAAY,GACZ,uBAAuB,GACvB,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,cAAc,GACd,WAAW,GACX,eAAe,GACf,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,wBAAwB,GACxB,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,UAAU,GACV,kBAAkB,GAClB,sBAAsB,GACtB,WAAW,GACX,aAAa,GACb,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,OAAO,GACP,gBAAgB,GAChB,OAAO,GACP,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,OAAO,GACP,QAAQ,GACR,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,KAAK,GACL,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,eAAe,GACf,eAAe,GACf,cAAc,GACd,cAAc,GACd,YAAY,GACZ,uBAAuB,GACvB,iBAAiB,GACjB,0BAA0B,GAC1B,YAAY,GACZ,WAAW,GACX,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,0BAA0B,GAC1B,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,+BAA+B,GAC/B,iBAAiB,GACjB,gBAAgB,GAChB,6BAA6B,GAC7B,iBAAiB,GACjB,YAAY,GACZ,kBAAkB,GAClB,eAAe,GACf,yBAAyB,GACzB,cAAc,GACd,yBAAyB,GACzB,YAAY,GACZ,mBAAmB,GACnB,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,4BAA4B,GAC5B,cAAc,GACd,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,UAAU,GACV,WAAW,GACX,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,cAAc,GACd,eAAe,GACf,0BAA0B,GAC1B,4BAA4B,GAC5B,eAAe,GACf,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,eAAe,CAAC;AAQpB,oBAAY,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAC/D,oBAAY,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;AAC1D,oBAAY,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC;AACtD,oBAAY,YAAY,GACpB,cAAc,GACd,gBAAgB,GAChB,mBAAmB,CAAC;AACxB,oBAAY,YAAY,GACpB,aAAa,GACb,gBAAgB,GAChB,uBAAuB,GACvB,0BAA0B,GAC1B,gBAAgB,CAAC;AACrB,oBAAY,aAAa,GACrB,yBAAyB,GACzB,4BAA4B,CAAC;AACjC,oBAAY,oBAAoB,GAC5B,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,yBAAyB,GACzB,sBAAsB,GACtB,mBAAmB,GACnB,4BAA4B,GAC5B,sBAAsB,GACtB,iBAAiB,CAAC;AACtB,oBAAY,oBAAoB,GAC5B,UAAU,GACV,aAAa,GACb,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,gBAAgB,CAAC;AACrB,oBAAY,UAAU,GAAG,UAAU,GAAG,eAAe,CAAC;AACtD,oBAAY,iBAAiB,GACzB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AACxB,oBAAY,UAAU,GAClB,uBAAuB,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,qBAAqB,GACrB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,eAAe,CAAC;AACpB,oBAAY,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAC9D,oBAAY,YAAY,GACpB,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,CAAC;AACpB,oBAAY,kBAAkB,GAC1B,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,YAAY,GACZ,cAAc,CAAC;AACnB,oBAAY,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;AAC1E,oBAAY,aAAa,GACrB,kBAAkB,GAClB,cAAc,GACd,sBAAsB,CAAC;AAC3B,oBAAY,oBAAoB,GAAG,aAAa,GAAG,mBAAmB,CAAC;AACvE,oBAAY,sBAAsB,GAC9B,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,GACnB,cAAc,GACd,uBAAuB,CAAC;AAC5B,oBAAY,OAAO,GACf,aAAa,GACb,cAAc,GACd,aAAa,GACb,WAAW,GACX,aAAa,GACb,aAAa,CAAC;AAClB,oBAAY,iBAAiB,GAAG,OAAO,GAAG,eAAe,CAAC;AAC1D,oBAAY,gBAAgB,GACxB,4BAA4B,GAC5B,+BAA+B,CAAC;AACpC,oBAAY,gBAAgB,GACxB,4BAA4B,GAC5B,+BAA+B,CAAC;AACpC,oBAAY,QAAQ,GAChB,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,CAAC;AACpB,oBAAY,wBAAwB,GAChC,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,0BAA0B,CAAC;AAC/B,oBAAY,SAAS,GACjB,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,WAAW,GACX,mBAAmB,CAAC;AACxB,oBAAY,iBAAiB,GACzB,eAAe,GACf,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,UAAU,GACV,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,KAAK,GACL,eAAe,GACf,cAAc,GACd,aAAa,CAAC;AAClB,oBAAY,gBAAgB,GACxB,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,GACtB,iBAAiB,GACjB,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,yBAAyB,GACzB,sBAAsB,GACtB,4BAA4B,GAC5B,sBAAsB,CAAC;AAC3B,oBAAY,QAAQ,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AACtE,oBAAY,YAAY,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAC1E,oBAAY,oBAAoB,GAAG,UAAU,CAAC;AAC9C,oBAAY,uBAAuB,GAC/B,UAAU,GACV,aAAa,GACb,aAAa,CAAC;AAClB,oBAAY,SAAS,GACjB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,aAAa,CAAC;AAClB,oBAAY,uBAAuB,GAC/B,mCAAmC,GACnC,sCAAsC,CAAC;AAC3C,oBAAY,0BAA0B,GAClC,sCAAsC,GACtC,yCAAyC,CAAC;AAC9C,oBAAY,iBAAiB,GACzB,6BAA6B,GAC7B,gCAAgC,CAAC;AACrC,oBAAY,mBAAmB,GAC3B,+BAA+B,GAC/B,kCAAkC,CAAC;AACvC,oBAAY,YAAY,GACpB,wBAAwB,GACxB,2BAA2B,CAAC;AAChC,oBAAY,iBAAiB,GACzB,eAAe,GACf,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,gBAAgB,CAAC;AACrB,oBAAY,WAAW,GACnB,0BAA0B,GAC1B,+BAA+B,GAC/B,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,CAAC;AACxB,oBAAY,QAAQ,GAChB,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,mBAAmB,GACnB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,eAAe,GACf,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,eAAe,GACf,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,gBAAgB,GAChB,aAAa,CAAC;AAOlB,UAAU,oBAAqB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,UAAU,kBAAmB,SAAQ,QAAQ;IAC3C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,oBAAqB,SAAQ,QAAQ;IAC7C,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,uHAAuH;AACvH,UAAU,iBAAkB,SAAQ,QAAQ;IAC1C,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,UAAU,6BAA8B,SAAQ,iBAAiB;IAC/D,GAAG,EAAE,oBAAoB,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,UAAU,gCAAiC,SAAQ,iBAAiB;IAClE,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,uBAAwB,SAAQ,QAAQ;IAChD,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,qBAAsB,SAAQ,QAAQ;IAC9C,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED,UAAU,WAAY,SAAQ,QAAQ;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,6HAA6H;AAC7H,UAAU,oBAAqB,SAAQ,QAAQ;IAC7C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,gCAAiC,SAAQ,oBAAoB;IACrE,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,UAAU,mCAAoC,SAAQ,oBAAoB;IACxE,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,6HAA6H;AAC7H,UAAU,oBAAqB,SAAQ,QAAQ;IAC7C,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,kBAAkB,GAAG,6BAA6B,CAAC;IAC1D,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED,UAAU,gCAAiC,SAAQ,oBAAoB;IACrE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,UAAU,mCAAoC,SAAQ,oBAAoB;IACxE,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,YAAa,SAAQ,QAAQ;IACrC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EACD,UAAU,GACV,iBAAiB,GACjB,WAAW,GACX,6BAA6B,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CAC9B;AAED,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,EAAE,EACE,uBAAuB,GAEvB,oBAAoB,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,cAAe,SAAQ,QAAQ;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED,UAAU,qBAAsB,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,uBAAwB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,UAAU,mBAAoB,SAAQ,QAAQ;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,sBAAsB,GAAG,OAAO,GAAG,eAAe,CAAC;CAC9D;AAOD,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,QAAQ,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,IAAI,EAAE,cAAc,CAAC,oBAAoB,CAAC;IAC1C,QAAQ,EACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,GAAG,GACH,KAAK,GACL,MAAM,GACN,IAAI,GACJ,KAAK,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IAC/B,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,yBACf,SAAQ,6BAA6B;IACrC,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,4BACf,SAAQ,gCAAgC;IACxC,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACrD,IAAI,EAAE,cAAc,CAAC,qBAAqB,CAAC;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IAC/B,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,IAAI,EAAE,cAAc,CAAC,oBAAoB,CAAC;IAC1C,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,cAAc,CAAC,wBAAwB,CAAC;IAC9C,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAAC;IAC5C,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC;IAC5C,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,cAAc,CAAC,wBAAwB,CAAC;IAC9C,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC;IAC5C,UAAU,EAAE,UAAU,GAAG,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,eAAe,EAAE,kBAAkB,CAAC;IACpC,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,UAAU,EAAE,UAAU,GAAG,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACvC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,4BACf,SAAQ,gCAAgC;IACxC,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,+BACf,SAAQ,mCAAmC;IAC3C,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,4BACf,SAAQ,gCAAgC;IACxC,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,+BACf,SAAQ,mCAAmC;IAC3C,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,UAAU,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACvC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,GAAG,EAAE,oBAAoB,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACrC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,cAAc,CAAC,wBAAwB,CAAC;IAC9C,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,QAAQ,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,mCACf,SAAQ,6BAA6B;IACrC,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,sCACf,SAAQ,gCAAgC;IACxC,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,sCACf,SAAQ,gCAAgC;IACxC,IAAI,EAAE,cAAc,CAAC,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,yCACf,SAAQ,mCAAmC;IAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,WAAW,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,IAAI,EAAE,cAAc,CAAC,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,SAAS,EAAE,QAAQ,CAAC;IACpB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E,IAAI,EAAE,cAAc,CAAC,+BAA+B,CAAC;CACtD;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,IAAI,EAAE,cAAc,CAAC,6BAA6B,CAAC;IACnD,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACvC,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,EAAE,EAAE,oBAAoB,CAAC;IACzB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,EAAE,EAAE,uBAAuB,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,yBAA0B,SAAQ,QAAQ;IACzD,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC;IAC/C,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,QAAQ;IACzD,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC;IAC/C,EAAE,EAAE,UAAU,CAAC;IACf,eAAe,EAAE,UAAU,GAAG,yBAAyB,CAAC;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,UAAU,EAAE,QAAQ,CAAC;IACrB,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,aAAa,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC;IAC5C,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;CAC1C;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,OAAO,EAAE,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,CAAC;CACjE;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;IAClC,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,GAAG,EAAE,oBAAoB,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,gCACf,SAAQ,qBAAqB;IAC7B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,IAAI,EAAE,gBAAgB,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,4BAA6B,SAAQ,QAAQ;IAC5D,IAAI,EAAE,cAAc,CAAC,4BAA4B,CAAC;IAClD,EAAE,EAAE,UAAU,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,iBAAiB,GAAG,WAAW,GAAG,WAAW,CAAC;IACzD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IACzC,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,+BACf,SAAQ,uBAAuB;IAC/B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,kCACf,SAAQ,uBAAuB;IAC/B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,WAAW,EAAE,QAAQ,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,YAAY,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC;IAC5C,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,cAAc,EAAE,QAAQ,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,0BAA2B,SAAQ,QAAQ;IAC1D,IAAI,EAAE,cAAc,CAAC,0BAA0B,CAAC;IAChD,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA6B,SAAQ,QAAQ;IAC5D,IAAI,EAAE,cAAc,CAAC,4BAA4B,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC;IACvC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;IACjC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CAChE;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC;IAEzC,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC;IACxC,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB"} \ No newline at end of file +{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,QAAQ;QAChB,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;KACxB;CAYF;AAED,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ts-estree.js b/node_modules/@typescript-eslint/types/dist/ts-estree.js index 47f7a01f1..20e5bf149 100644 --- a/node_modules/@typescript-eslint/types/dist/ts-estree.js +++ b/node_modules/@typescript-eslint/types/dist/ts-estree.js @@ -1,3 +1,24 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.TSESTree = void 0; +exports.TSESTree = __importStar(require("./ast-spec")); //# sourceMappingURL=ts-estree.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/dist/ts-estree.js.map b/node_modules/@typescript-eslint/types/dist/ts-estree.js.map index c41387a13..4dfa7e6e0 100644 --- a/node_modules/@typescript-eslint/types/dist/ts-estree.js.map +++ b/node_modules/@typescript-eslint/types/dist/ts-estree.js.map @@ -1 +1 @@ -{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBA,uDAAuC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/types/package.json b/node_modules/@typescript-eslint/types/package.json index 2e42e476a..043ecda7f 100644 --- a/node_modules/@typescript-eslint/types/package.json +++ b/node_modules/@typescript-eslint/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "4.1.0", + "version": "4.28.5", "description": "Types for the TypeScript-ESTree AST spec", "keywords": [ "eslint", @@ -19,7 +19,7 @@ "repository": { "type": "git", "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/visitor-keys" + "directory": "packages/types" }, "bugs": { "url": "https://github.com/typescript-eslint/typescript-eslint/issues" @@ -28,10 +28,11 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { + "prebuild": "yarn ts-node --transpile-only ./tools/copy-ast-spec.ts", "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "generate:lib": "../../node_modules/.bin/ts-node --files --transpile-only ../scope-manager/tools/generate-lib.ts", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", @@ -48,5 +49,8 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "devDependencies": { + "typescript": "*" + }, + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/CHANGELOG.md b/node_modules/@typescript-eslint/typescript-estree/CHANGELOG.md index 284d90a3f..313f0ed9b 100644 --- a/node_modules/@typescript-eslint/typescript-estree/CHANGELOG.md +++ b/node_modules/@typescript-eslint/typescript-estree/CHANGELOG.md @@ -3,6 +3,431 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + + +### Bug Fixes + +* **typescript-estree:** allow providing more one than one existing program in config ([#3508](https://github.com/typescript-eslint/typescript-eslint/issues/3508)) ([4f1806e](https://github.com/typescript-eslint/typescript-eslint/commit/4f1806e548affb7265da360d1fc8d033e25de325)) +* **typescript-estree:** support override modifier for parameter property ([#3485](https://github.com/typescript-eslint/typescript-eslint/issues/3485)) ([33b9f69](https://github.com/typescript-eslint/typescript-eslint/commit/33b9f69a681cd3219a2acca5b0b2fa67609f099e)) + + +### Features + +* **ast-spec:** specify `PunctuatorToken`'s `value` type ([#3496](https://github.com/typescript-eslint/typescript-eslint/issues/3496)) ([fdb1d81](https://github.com/typescript-eslint/typescript-eslint/commit/fdb1d81f0fcf75a9216e6a90469f18c24c91f718)) +* **typescript-estree:** add opt-in inference for single runs and create programs for projects up front ([#3512](https://github.com/typescript-eslint/typescript-eslint/issues/3512)) ([06c2d9b](https://github.com/typescript-eslint/typescript-eslint/commit/06c2d9ba5442330f56637ecb14fae7e41696699c)) +* allow user to provide TS program instance in parser options ([#3484](https://github.com/typescript-eslint/typescript-eslint/issues/3484)) ([e855b18](https://github.com/typescript-eslint/typescript-eslint/commit/e855b18b8feee0edb5c617c11006861426a6f530)) + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + + +### Bug Fixes + +* generate library types for TypeScript v4.3 ([#3460](https://github.com/typescript-eslint/typescript-eslint/issues/3460)) ([ed4776a](https://github.com/typescript-eslint/typescript-eslint/commit/ed4776afa1374279027b9b7d82aa4b453b334998)), closes [#3449](https://github.com/typescript-eslint/typescript-eslint/issues/3449) + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + + +### Features + +* **typescript-estree:** [TS4.3] support overrides on class members ([#3429](https://github.com/typescript-eslint/typescript-eslint/issues/3429)) ([21d1b62](https://github.com/typescript-eslint/typescript-eslint/commit/21d1b62a0b84b502d2cf12674b3d141994a3ffd4)) +* **typescript-estree:** add support for getter/setter signatures on types ([#3427](https://github.com/typescript-eslint/typescript-eslint/issues/3427)) ([b830b7f](https://github.com/typescript-eslint/typescript-eslint/commit/b830b7f4e8a99affc8af8b53cb83371ef81d7032)), closes [#3272](https://github.com/typescript-eslint/typescript-eslint/issues/3272) [#3272](https://github.com/typescript-eslint/typescript-eslint/issues/3272) + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + + +### Bug Fixes + +* **typescript-estree:** [ts 4.2] add support for import type equal declaration ([#3189](https://github.com/typescript-eslint/typescript-eslint/issues/3189)) ([6a25faf](https://github.com/typescript-eslint/typescript-eslint/commit/6a25faf5cfa4d21a7546d9866819f4e017308fb2)) + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + + +### Bug Fixes + +* **typescript-estree:** update TS version range ([#3127](https://github.com/typescript-eslint/typescript-eslint/issues/3127)) ([0473674](https://github.com/typescript-eslint/typescript-eslint/commit/0473674c58df5039a2de3c63ad7494fc6be7487e)) + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + + +### Features + +* TypeScript 4.2 syntax support ([#3112](https://github.com/typescript-eslint/typescript-eslint/issues/3112)) ([2ebfb21](https://github.com/typescript-eslint/typescript-eslint/commit/2ebfb21ba6c88c793cfbd0e231e5803b2381694c)) +* **typescript-estree:** throw custom error instead of plain object ([#3011](https://github.com/typescript-eslint/typescript-eslint/issues/3011)) ([ae14bf5](https://github.com/typescript-eslint/typescript-eslint/commit/ae14bf55fe31b0eb982ba17333e4aac550d10342)) + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + + +### Bug Fixes + +* **typescript-estree:** correct issues in AST definition ([#3083](https://github.com/typescript-eslint/typescript-eslint/issues/3083)) ([509a117](https://github.com/typescript-eslint/typescript-eslint/commit/509a11749f85400a01e9fecfecd12871ce562d3d)) +* add missing intrinsic keyword node to AST ([#3081](https://github.com/typescript-eslint/typescript-eslint/issues/3081)) ([409bf0b](https://github.com/typescript-eslint/typescript-eslint/commit/409bf0bb3e2ac4d8782408d436ebdefb42dba38b)) +* correct test names on windows for semantic-diagnostics-enabled ([#3060](https://github.com/typescript-eslint/typescript-eslint/issues/3060)) ([885780d](https://github.com/typescript-eslint/typescript-eslint/commit/885780d4a2b07e418256b7323d76b18453c14a50)) + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + + +### Features + +* **typescript-estree:** improve logic used to escape string literals in jsx ([#2995](https://github.com/typescript-eslint/typescript-eslint/issues/2995)) ([3cb3aad](https://github.com/typescript-eslint/typescript-eslint/commit/3cb3aade2864bab15ed1ff8d7cd32766aa57152f)) + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + + +### Bug Fixes + +* **typescript-estree:** add default value for `parserOptions.projectFolderIgnoreList` and deduplicate resolved projects ([#2819](https://github.com/typescript-eslint/typescript-eslint/issues/2819)) ([bf904ec](https://github.com/typescript-eslint/typescript-eslint/commit/bf904ec72db57174fec531f61e9427230662553e)), closes [#2418](https://github.com/typescript-eslint/typescript-eslint/issues/2418) [#2814](https://github.com/typescript-eslint/typescript-eslint/issues/2814) + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + + +### Bug Fixes + +* **typescript-estree:** fix type-only regression for consumers not yet on TS 4.1 ([#2789](https://github.com/typescript-eslint/typescript-eslint/issues/2789)) ([50a46c6](https://github.com/typescript-eslint/typescript-eslint/commit/50a46c60fb81d8434aa4268a13d17d8fcf499e21)) + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + + +### Bug Fixes + +* **typescript-estree:** parseWithNodeMaps returning empty maps ([#2773](https://github.com/typescript-eslint/typescript-eslint/issues/2773)) ([3e4a0ed](https://github.com/typescript-eslint/typescript-eslint/commit/3e4a0ed0d615fd22a2f28c7c8af6179673e195f8)) + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + + +### Features + +* **typescript-estree:** add `parseWithNodeMaps` API ([#2760](https://github.com/typescript-eslint/typescript-eslint/issues/2760)) ([9441d50](https://github.com/typescript-eslint/typescript-eslint/commit/9441d5030211f1c32f5ae8e61d5565cab8bb6823)), closes [#1852](https://github.com/typescript-eslint/typescript-eslint/issues/1852) + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + + +### Features + +* support TS4.1 features ([#2748](https://github.com/typescript-eslint/typescript-eslint/issues/2748)) ([2be354b](https://github.com/typescript-eslint/typescript-eslint/commit/2be354bb15f9013a2da1b13a0c0836e9ef057e16)), closes [#2583](https://github.com/typescript-eslint/typescript-eslint/issues/2583) + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + + +### Features + +* **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) **Note:** Version bump only for package @typescript-eslint/typescript-estree diff --git a/node_modules/@typescript-eslint/typescript-estree/README.md b/node_modules/@typescript-eslint/typescript-estree/README.md index 3a434c784..310841506 100644 --- a/node_modules/@typescript-eslint/typescript-estree/README.md +++ b/node_modules/@typescript-eslint/typescript-estree/README.md @@ -152,6 +152,18 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { */ errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; + /** + * ***EXPERIMENTAL FLAG*** - Use this at your own risk. + * + * Causes TS to use the source files for referenced projects instead of the compiled .d.ts files. + * This feature is not yet optimized, and is likely to cause OOMs for medium to large projects. + * + * This flag REQUIRES at least TS v3.9, otherwise it does nothing. + * + * See: https://github.com/typescript-eslint/typescript-eslint/issues/2094 + */ + EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean; + /** * When `project` is provided, this controls the non-standard file extensions which will be parsed. * It accepts an array of file extensions, each preceded by a `.`. @@ -196,6 +208,13 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { */ tsconfigRootDir?: string; + /** + * Instance of a TypeScript Program object to be used for type information. + * This overrides any program or programs that would have been computed from the `project` option. + * All linted files must be part of the provided program. + */ + program?: import('typescript').Program; + /** *************************************************************************************** * IT IS RECOMMENDED THAT YOU DO NOT USE THIS OPTION, AS IT CAUSES PERFORMANCE ISSUES. * @@ -206,6 +225,32 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { * it will not error, but will instead parse the file and its dependencies in a new program. */ createDefaultProgram?: boolean; + + /** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. + * + * When allowAutomaticSingleRunInference is enabled, we will use common heuristics to infer + * whether or not ESLint is being used as part of a single run. + */ + allowAutomaticSingleRunInference?: boolean; +} + +interface ParserServices { + program: ts.Program; + esTreeNodeToTSNodeMap: WeakMap; + tsNodeToESTreeNodeMap: WeakMap; + hasFullTypeInformation: boolean; +} + +interface ParseAndGenerateServicesResult { + ast: TSESTree.Program; + services: ParserServices; } const PARSE_AND_GENERATE_SERVICES_DEFAULT_OPTIONS: ParseOptions = { @@ -221,7 +266,7 @@ const PARSE_AND_GENERATE_SERVICES_DEFAULT_OPTIONS: ParseOptions = { declare function parseAndGenerateServices( code: string, options: ParseOptions = PARSE_DEFAULT_OPTIONS, -): TSESTree.Program; +): ParseAndGenerateServicesResult; ``` Example usage: @@ -230,7 +275,7 @@ Example usage: import { parseAndGenerateServices } from '@typescript-eslint/typescript-estree'; const code = `const hello: string = 'world';`; -const ast = parseAndGenerateServices(code, { +const { ast, services } = parseAndGenerateServices(code, { filePath: '/some/path/to/file/foo.ts', loc: true, project: './tsconfig.json', @@ -238,6 +283,39 @@ const ast = parseAndGenerateServices(code, { }); ``` +#### `parseWithNodeMaps(code, options)` + +Parses the given string of code with the options provided and returns both the ESTree-compatible AST as well as the node maps. +This allows you to work with both ASTs without the overhead of types that may come with `parseAndGenerateServices`. + +```ts +interface ParseWithNodeMapsResult { + ast: TSESTree.Program; + esTreeNodeToTSNodeMap: ParserServices['esTreeNodeToTSNodeMap']; + tsNodeToESTreeNodeMap: ParserServices['tsNodeToESTreeNodeMap']; +} + +declare function parseWithNodeMaps( + code: string, + options: ParseOptions = PARSE_DEFAULT_OPTIONS, +): ParseWithNodeMapsResult; +``` + +Example usage: + +```js +import { parseWithNodeMaps } from '@typescript-eslint/typescript-estree'; + +const code = `const hello: string = 'world';`; +const { ast, esTreeNodeToTSNodeMap, tsNodeToESTreeNodeMap } = parseWithNodeMaps( + code, + { + loc: true, + range: true, + }, +); +``` + ### `TSESTree`, `AST_NODE_TYPES` and `AST_TOKEN_TYPES` Types for the AST produced by the parse functions. @@ -246,6 +324,34 @@ Types for the AST produced by the parse functions. - `AST_NODE_TYPES` is an enum which provides the values for every single AST node's `type` property. - `AST_TOKEN_TYPES` is an enum which provides the values for every single AST token's `type` property. +### Utilities + +#### `createProgram(configFile, projectDirectory)` + +This serves as a utility method for users of the `ParseOptions.program` feature to create a TypeScript program instance from a config file. + +```ts +declare function createProgram( + configFile: string, + projectDirectory: string = process.cwd(), +): import('typescript').Program; +``` + +Example usage: + +```js +const tsESTree = require('@typescript-eslint/typescript-estree'); + +const program = tsESTree.createProgram('tsconfig.json'); +const code = `const hello: string = 'world';`; +const { ast, services } = parseAndGenerateServices(code, { + filePath: '/some/path/to/file/foo.ts', + loc: true, + program, + range: true, +}); +``` + ## Supported TypeScript Version See the [Supported TypeScript Version](../../README.md#supported-typescript-version) section in the project root. @@ -265,13 +371,7 @@ Please check the current list of open and known issues and ensure the issue has A couple of years after work on this parser began, the TypeScript Team at Microsoft began [officially supporting TypeScript parsing via Babel](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/). -I work closely with the TypeScript Team and we are gradually aligning the AST of this project with the one produced by Babel's parser. To that end, I have created a full test harness to compare the ASTs of the two projects which runs on every PR, please see the code for more details. - -## Build/Test Commands - -- `npm test` - run all tests -- `npm run unit-tests` - run only unit tests -- `npm run ast-alignment-tests` - run only Babylon AST alignment tests +I work closely with the TypeScript Team and we are gradually aligning the AST of this project with the one produced by Babel's parser. To that end, I have created a full test harness to compare the ASTs of the two projects which runs on every PR, please see [the code](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/typescript-estree/tests/ast-alignment) for more details. ## Debugging diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts.map index df6276c5a..3b487b08d 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ast-converter.d.ts","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAA2B,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,OAAO,GAC9B;IAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA4DhD"} \ No newline at end of file +{"version":3,"file":"ast-converter.d.ts","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAA2B,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,OAAO,GAC9B;IAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0DhD"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js index 6af960ee3..c4d6f29e0 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js @@ -10,9 +10,7 @@ function astConverter(ast, extra, shouldPreserveNodeMaps) { * The TypeScript compiler produced fundamental parse errors when parsing the * source. */ - // internal typescript api... - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const parseDiagnostics = ast.parseDiagnostics; + const { parseDiagnostics } = ast; if (parseDiagnostics.length) { throw convert_1.convertError(parseDiagnostics[0]); } diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js.map index 6a5b21558..1e64ce18b 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js.map @@ -1 +1 @@ -{"version":3,"file":"ast-converter.js","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAC7D,yDAAqD;AACrD,6CAA6C;AAG7C,uDAAmD;AAEnD,SAAgB,YAAY,CAC1B,GAAe,EACf,KAAY,EACZ,sBAA+B;IAE/B;;;OAGG;IACH,6BAA6B;IAC7B,8DAA8D;IAC9D,MAAM,gBAAgB,GAAI,GAAW,CAAC,gBAAgB,CAAC;IACvD,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,MAAM,sBAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAED;;OAEG;IACH,MAAM,QAAQ,GAAG,IAAI,mBAAS,CAAC,GAAG,EAAE;QAClC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,KAAK;QAC3D,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;QAC7C,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9B,gCAAc,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBAChB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;iBACnB;gBACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC;iBACjB;YACH,CAAC;SACF,CAAC,CAAC;KACJ;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,MAAM,CAAC,MAAM,GAAG,0BAAa,CAAC,GAAG,CAAC,CAAC;KACpC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,MAAM,CAAC,QAAQ,GAAG,kCAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KACpD;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAhED,oCAgEC"} \ No newline at end of file +{"version":3,"file":"ast-converter.js","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAC7D,yDAAqD;AACrD,6CAA6C;AAG7C,uDAAmD;AAEnD,SAAgB,YAAY,CAC1B,GAAe,EACf,KAAY,EACZ,sBAA+B;IAE/B;;;OAGG;IACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;IACjC,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,MAAM,sBAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAED;;OAEG;IACH,MAAM,QAAQ,GAAG,IAAI,mBAAS,CAAC,GAAG,EAAE;QAClC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,KAAK;QAC3D,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;QAC7C,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9B,gCAAc,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBAChB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;iBACnB;gBACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC;iBACjB;YACH,CAAC;SACF,CAAC,CAAC;KACJ;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,MAAM,CAAC,MAAM,GAAG,0BAAa,CAAC,GAAG,CAAC,CAAC;KACpC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,MAAM,CAAC,QAAQ,GAAG,kCAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KACpD;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AA9DD,oCA8DC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts index c065e15d0..c292bfcf6 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts @@ -117,6 +117,8 @@ export declare class Converter { * property instead of a kind property. Recursively copies all children. */ private deeplyCopy; + private convertJSXIdentifier; + private convertJSXNamespaceOrIdentifier; /** * Converts a TypeScript JSX node.tagName into an ESTree node.name * @param node the tagName object from a JSX ts.Node @@ -124,6 +126,7 @@ export declare class Converter { * @returns the converted ESTree name object */ private convertJSXTagName; + private convertMethodSignature; /** * Applies the given TS modifiers to the given result object. * @param result diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map index c1f6816c1..6299eb88a 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAkBL,OAAO,EAGR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAEL,QAAQ,EACR,MAAM,EAEP,MAAM,aAAa,CAAC;AAKrB,UAAU,gBAAgB;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAMhD;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAKzD,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAkCjB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAyDlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IAa5C;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAe1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAmElB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAkD9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;CA8iEpB"} \ No newline at end of file +{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAmBL,OAAO,EAER,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAEL,QAAQ,EAER,MAAM,EACP,MAAM,aAAa,CAAC;AAKrB,UAAU,gBAAgB;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAMhD;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAKzD,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAkCjB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAyDlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IAa5C;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAe1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAmElB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IA6BvC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IA4D9B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA6C9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;CAgjEpB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/convert.js b/node_modules/@typescript-eslint/typescript-estree/dist/convert.js index e45592f53..f4f7a0b07 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/convert.js @@ -21,7 +21,7 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.Converter = exports.convertError = void 0; // There's lots of funny stuff due to the typing of ts.Node -/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call */ const ts = __importStar(require("typescript")); const node_utils_1 = require("./node-utils"); const ts_estree_1 = require("./ts-estree"); @@ -364,7 +364,7 @@ class Converter { result.decorators = node.decorators.map(el => this.convertChild(el)); } Object.entries(node) - .filter(([key]) => !/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators)$/.test(key)) + .filter(([key]) => !/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators|transformFlags)$/.test(key)) .forEach(([key, value]) => { if (Array.isArray(value)) { result[key] = value.map(el => this.convertChild(el)); @@ -379,6 +379,39 @@ class Converter { }); return result; } + convertJSXIdentifier(node) { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: node.getText(), + }); + this.registerTSNodeInNodeMap(node, result); + return result; + } + convertJSXNamespaceOrIdentifier(node) { + const text = node.getText(); + const colonIndex = text.indexOf(':'); + // this is intentional we can ignore conversion if `:` is in first character + if (colonIndex > 0) { + const range = node_utils_1.getRange(node, this.ast); + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName, + namespace: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: text.slice(0, colonIndex), + range: [range[0], range[0] + colonIndex], + }), + name: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: text.slice(colonIndex + 1), + range: [range[0] + colonIndex + 1, range[1]], + }), + range, + }); + this.registerTSNodeInNodeMap(node, result); + return result; + } + return this.convertJSXIdentifier(node); + } /** * Converts a TypeScript JSX node.tagName into an ESTree node.name * @param node the tagName object from a JSX ts.Node @@ -397,26 +430,59 @@ class Converter { result = this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.JSXMemberExpression, object: this.convertJSXTagName(node.expression, parent), - property: this.convertJSXTagName(node.name, parent), + property: this.convertJSXIdentifier(node.name), }); break; case SyntaxKind.ThisKeyword: - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: 'this', - }); - break; case SyntaxKind.Identifier: default: - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: node.text, - }); - break; + return this.convertJSXNamespaceOrIdentifier(node); } this.registerTSNodeInNodeMap(node, result); return result; } + convertMethodSignature(node) { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSMethodSignature, + computed: node_utils_1.isComputedProperty(node.name), + key: this.convertChild(node.name), + params: this.convertParameters(node.parameters), + kind: (() => { + switch (node.kind) { + case SyntaxKind.GetAccessor: + return 'get'; + case SyntaxKind.SetAccessor: + return 'set'; + case SyntaxKind.MethodSignature: + return 'method'; + } + })(), + }); + if (node_utils_1.isOptional(node)) { + result.optional = true; + } + if (node.type) { + result.returnType = this.convertTypeAnnotation(node.type, node); + } + if (node_utils_1.hasModifier(SyntaxKind.ReadonlyKeyword, node)) { + result.readonly = true; + } + if (node.typeParameters) { + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + } + const accessibility = node_utils_1.getTSNodeAccessibility(node); + if (accessibility) { + result.accessibility = accessibility; + } + if (node_utils_1.hasModifier(SyntaxKind.ExportKeyword, node)) { + result.export = true; + } + if (node_utils_1.hasModifier(SyntaxKind.StaticKeyword, node)) { + result.static = true; + } + return result; + } /** * Applies the given TS modifiers to the given result object. * @param result @@ -428,13 +494,13 @@ class Converter { if (!modifiers || !modifiers.length) { return; } + const remainingModifiers = []; /** * Some modifiers are explicitly handled by applying them as * boolean values on the result node. As well as adding them * to the result, we remove them from the array, so that they * are not handled twice. */ - const handledModifierIndices = {}; for (let i = 0; i < modifiers.length; i++) { const modifier = modifiers[i]; switch (modifier.kind) { @@ -444,17 +510,16 @@ class Converter { */ case SyntaxKind.ExportKeyword: case SyntaxKind.DefaultKeyword: - handledModifierIndices[i] = true; break; case SyntaxKind.ConstKeyword: result.const = true; - handledModifierIndices[i] = true; break; case SyntaxKind.DeclareKeyword: result.declare = true; - handledModifierIndices[i] = true; break; default: + remainingModifiers.push(this.convertChild(modifier)); + break; } } /** @@ -462,11 +527,9 @@ class Converter { * not been explicitly handled above, we just convert and * add the modifiers array to the result node. */ - const remainingModifiers = modifiers.filter((_, i) => !handledModifierIndices[i]); - if (!remainingModifiers || !remainingModifiers.length) { - return; + if (remainingModifiers.length) { + result.modifiers = remainingModifiers; } - result.modifiers = remainingModifiers.map(el => this.convertChild(el)); } /** * Uses the provided range location to adjust the location data of the given Node @@ -492,7 +555,7 @@ class Converter { * @returns the converted ESTree node */ convertNode(node, parent) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; switch (node.kind) { case SyntaxKind.SourceFile: { return this.createNode(node, { @@ -651,7 +714,8 @@ class Converter { } // Process typeParameters if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } // check for exports return this.fixExports(node, result); @@ -786,6 +850,7 @@ class Converter { static: node_utils_1.hasModifier(SyntaxKind.StaticKeyword, node), readonly: node_utils_1.hasModifier(SyntaxKind.ReadonlyKeyword, node) || undefined, declare: node_utils_1.hasModifier(SyntaxKind.DeclareKeyword, node), + override: node_utils_1.hasModifier(SyntaxKind.OverrideKeyword, node), }); if (node.type) { result.typeAnnotation = this.convertTypeAnnotation(node.type, node); @@ -811,7 +876,13 @@ class Converter { return result; } case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: + case SyntaxKind.SetAccessor: { + if (node.parent.kind === SyntaxKind.InterfaceDeclaration || + node.parent.kind === SyntaxKind.TypeLiteral) { + return this.convertMethodSignature(node); + } + } + // otherwise, it is a non-type accessor - intentional fallthrough case SyntaxKind.MethodDeclaration: { const method = this.createNode(node, { type: !node.body @@ -830,7 +901,8 @@ class Converter { } // Process typeParameters if (node.typeParameters) { - method.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + method.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); this.fixParentLocation(method, method.typeParameters.range); } let result; @@ -865,6 +937,7 @@ class Converter { computed: node_utils_1.isComputedProperty(node.name), static: node_utils_1.hasModifier(SyntaxKind.StaticKeyword, node), kind: 'method', + override: node_utils_1.hasModifier(SyntaxKind.OverrideKeyword, node), }); if (node.decorators) { result.decorators = node.decorators.map(el => this.convertChild(el)); @@ -910,7 +983,8 @@ class Converter { }); // Process typeParameters if (node.typeParameters) { - constructor.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + constructor.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); this.fixParentLocation(constructor, constructor.typeParameters.range); } // Process returnType @@ -932,6 +1006,7 @@ class Converter { computed: false, static: isStatic, kind: isStatic ? 'method' : 'constructor', + override: false, }); const accessibility = node_utils_1.getTSNodeAccessibility(node); if (accessibility) { @@ -955,7 +1030,8 @@ class Converter { } // Process typeParameters if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } return result; } @@ -1043,7 +1119,8 @@ class Converter { } // Process typeParameters if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } return result; } @@ -1167,6 +1244,7 @@ class Converter { readonly: node_utils_1.hasModifier(SyntaxKind.ReadonlyKeyword, node) || undefined, static: node_utils_1.hasModifier(SyntaxKind.StaticKeyword, node) || undefined, export: node_utils_1.hasModifier(SyntaxKind.ExportKeyword, node) || undefined, + override: node_utils_1.hasModifier(SyntaxKind.OverrideKeyword, node) || undefined, parameter: result, }); } @@ -1189,7 +1267,8 @@ class Converter { body: [], range: [node.members.pos - 1, node.end], }), - superClass: (superClass === null || superClass === void 0 ? void 0 : superClass.types[0]) ? this.convertChild(superClass.types[0].expression) + superClass: (superClass === null || superClass === void 0 ? void 0 : superClass.types[0]) + ? this.convertChild(superClass.types[0].expression) : null, }); if (superClass) { @@ -1197,11 +1276,13 @@ class Converter { throw node_utils_1.createError(this.ast, superClass.types[1].pos, 'Classes can only extend a single class.'); } if ((_e = superClass.types[0]) === null || _e === void 0 ? void 0 : _e.typeArguments) { - result.superTypeParameters = this.convertTypeArgumentsToTypeParameters(superClass.types[0].typeArguments, superClass.types[0]); + result.superTypeParameters = + this.convertTypeArgumentsToTypeParameters(superClass.types[0].typeArguments, superClass.types[0]); } } if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } if (implementsClause) { result.implements = implementsClause.types.map(el => this.convertChild(el)); @@ -1501,19 +1582,13 @@ class Converter { } // Literals case SyntaxKind.StringLiteral: { - const result = this.createNode(node, { + return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.Literal, - raw: '', - value: '', + value: parent.kind === SyntaxKind.JsxAttribute + ? node_utils_1.unescapeStringLiteralText(node.text) + : node.text, + raw: node.getText(), }); - result.raw = this.ast.text.slice(result.range[0], result.range[1]); - if ('name' in parent && parent.name === node) { - result.value = node.text; - } - else { - result.value = node_utils_1.unescapeStringLiteralText(node.text); - } - return result; } case SyntaxKind.NumericLiteral: { return this.createNode(node, { @@ -1673,11 +1748,9 @@ class Converter { } } case SyntaxKind.JsxAttribute: { - const attributeName = this.convertChild(node.name); - attributeName.type = ts_estree_1.AST_NODE_TYPES.JSXIdentifier; return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.JSXAttribute, - name: attributeName, + name: this.convertJSXNamespaceOrIdentifier(node.name), value: this.convertChild(node.initializer), }); } @@ -1690,19 +1763,20 @@ class Converter { case SyntaxKind.JsxText: { const start = node.getFullStart(); const end = node.getEnd(); + const text = this.ast.text.slice(start, end); if (this.options.useJSXTextNode) { return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.JSXText, - value: this.ast.text.slice(start, end), - raw: this.ast.text.slice(start, end), + value: node_utils_1.unescapeStringLiteralText(text), + raw: text, range: [start, end], }); } else { return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.Literal, - value: this.ast.text.slice(start, end), - raw: this.ast.text.slice(start, end), + value: node_utils_1.unescapeStringLiteralText(text), + raw: text, range: [start, end], }); } @@ -1753,7 +1827,8 @@ class Converter { case SyntaxKind.SymbolKeyword: case SyntaxKind.UnknownKeyword: case SyntaxKind.VoidKeyword: - case SyntaxKind.UndefinedKeyword: { + case SyntaxKind.UndefinedKeyword: + case SyntaxKind.IntrinsicKeyword: { return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES[`TS${SyntaxKind[node.kind]}`], }); @@ -1803,6 +1878,7 @@ class Converter { const result = this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.TSMappedType, typeParameter: this.convertType(node.typeParameter), + nameType: (_j = this.convertType(node.nameType)) !== null && _j !== void 0 ? _j : null, }); if (node.readonlyToken) { if (node.readonlyToken.kind === SyntaxKind.ReadonlyKeyword) { @@ -1838,41 +1914,14 @@ class Converter { } // Process typeParameters if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } // check for exports return this.fixExports(node, result); } case SyntaxKind.MethodSignature: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSMethodSignature, - computed: node_utils_1.isComputedProperty(node.name), - key: this.convertChild(node.name), - params: this.convertParameters(node.parameters), - }); - if (node_utils_1.isOptional(node)) { - result.optional = true; - } - if (node.type) { - result.returnType = this.convertTypeAnnotation(node.type, node); - } - if (node_utils_1.hasModifier(SyntaxKind.ReadonlyKeyword, node)) { - result.readonly = true; - } - if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); - } - const accessibility = node_utils_1.getTSNodeAccessibility(node); - if (accessibility) { - result.accessibility = accessibility; - } - if (node_utils_1.hasModifier(SyntaxKind.ExportKeyword, node)) { - result.export = true; - } - if (node_utils_1.hasModifier(SyntaxKind.StaticKeyword, node)) { - result.static = true; - } - return result; + return this.convertMethodSignature(node); } case SyntaxKind.PropertySignature: { const result = this.createNode(node, { @@ -1917,26 +1966,29 @@ class Converter { } return result; } - case SyntaxKind.ConstructorType: + case SyntaxKind.ConstructorType: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSConstructorType, + params: this.convertParameters(node.parameters), + abstract: node_utils_1.hasModifier(SyntaxKind.AbstractKeyword, node), + }); + if (node.type) { + result.returnType = this.convertTypeAnnotation(node.type, node); + } + if (node.typeParameters) { + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + } + return result; + } case SyntaxKind.FunctionType: case SyntaxKind.ConstructSignature: case SyntaxKind.CallSignature: { - let type; - switch (node.kind) { - case SyntaxKind.ConstructSignature: - type = ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration; - break; - case SyntaxKind.CallSignature: - type = ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration; - break; - case SyntaxKind.FunctionType: - type = ts_estree_1.AST_NODE_TYPES.TSFunctionType; - break; - case SyntaxKind.ConstructorType: - default: - type = ts_estree_1.AST_NODE_TYPES.TSConstructorType; - break; - } + const type = node.kind === SyntaxKind.ConstructSignature + ? ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration + : node.kind === SyntaxKind.CallSignature + ? ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration + : ts_estree_1.AST_NODE_TYPES.TSFunctionType; const result = this.createNode(node, { type: type, params: this.convertParameters(node.parameters), @@ -1945,7 +1997,8 @@ class Converter { result.returnType = this.convertTypeAnnotation(node.type, node); } if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } return result; } @@ -1962,7 +2015,7 @@ class Converter { return result; } case SyntaxKind.InterfaceDeclaration: { - const interfaceHeritageClauses = (_j = node.heritageClauses) !== null && _j !== void 0 ? _j : []; + const interfaceHeritageClauses = (_k = node.heritageClauses) !== null && _k !== void 0 ? _k : []; const result = this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration, body: this.createNode(node, { @@ -1973,7 +2026,8 @@ class Converter { id: this.convertChild(node.name), }); if (node.typeParameters) { - result.typeParameters = this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); + result.typeParameters = + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters); } if (interfaceHeritageClauses.length > 0) { const interfaceExtends = []; @@ -2134,6 +2188,7 @@ class Converter { type: ts_estree_1.AST_NODE_TYPES.TSImportEqualsDeclaration, id: this.convertChild(node.name), moduleReference: this.convertChild(node.moduleReference), + importKind: node.isTypeOnly ? 'type' : 'value', isExport: node_utils_1.hasModifier(SyntaxKind.ExportKeyword, node), }); } @@ -2161,7 +2216,7 @@ class Converter { // if the former does not exist. const elementTypes = 'elementTypes' in node ? node.elementTypes.map((el) => this.convertType(el)) - : node.elements.map((el) => this.convertType(el)); + : node.elements.map(el => this.convertType(el)); return this.createNode(node, { type: ts_estree_1.AST_NODE_TYPES.TSTupleType, elementTypes, @@ -2197,6 +2252,19 @@ class Converter { typeAnnotation: this.convertType(node.type), }); } + // Template Literal Types + case SyntaxKind.TemplateLiteralType: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTemplateLiteralType, + quasis: [this.convertChild(node.head)], + types: [], + }); + node.templateSpans.forEach(templateSpan => { + result.types.push(this.convertChild(templateSpan.type)); + result.quasis.push(this.convertChild(templateSpan.literal)); + }); + return result; + } default: return this.deeplyCopy(node); } diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map index da4e64df7..15d0d0a14 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map @@ -1 +1 @@ -{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js index 9f60bc04c..7c1c584c9 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js @@ -40,7 +40,7 @@ function createDefaultProgram(code, extra) { if (!extra.projects || extra.projects.length !== 1) { return undefined; } - const tsconfigPath = shared_1.getTsconfigPath(extra.projects[0], extra); + const tsconfigPath = extra.projects[0]; const commandLine = ts.getParsedCommandLineOfConfigFile(tsconfigPath, shared_1.createDefaultCompilerOptionsFromExtra(extra), Object.assign(Object.assign({}, ts.sys), { onUnRecoverableConfigFileDiagnostic: () => { } })); if (!commandLine) { return undefined; diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map index 7ae63e4af..e70eabd76 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map @@ -1 +1 @@ -{"version":3,"file":"createDefaultProgram.js","sourceRoot":"","sources":["../../src/create-program/createDefaultProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAAiC;AAEjC,qCAIkB;AAElB,MAAM,GAAG,GAAG,eAAK,CAAC,0DAA0D,CAAC,CAAC;AAE9E;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAY;IAEZ,GAAG,CAAC,iCAAiC,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC;IAEzE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QAClD,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,wBAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG,EAAE,CAAC,gCAAgC,CACrD,YAAY,EACZ,8CAAqC,CAAC,KAAK,CAAC,kCACvC,EAAE,CAAC,GAAG,KAAE,mCAAmC,EAAE,GAAG,EAAE,GAAE,CAAC,IAC3D,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,kBAAkB,CACxC,WAAW,CAAC,OAAO;IACnB,oBAAoB,CAAC,IAAI,CAC1B,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;IAC1C,YAAY,CAAC,QAAQ,GAAG,CAAC,QAAgB,EAAsB,EAAE,CAC/D,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAC9B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChB,WAAW,CAAC,OAAO,EACnB,YAAY,CACb,CAAC;IACF,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAEQ,oDAAoB"} \ No newline at end of file +{"version":3,"file":"createDefaultProgram.js","sourceRoot":"","sources":["../../src/create-program/createDefaultProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAAiC;AAEjC,qCAIkB;AAElB,MAAM,GAAG,GAAG,eAAK,CAAC,0DAA0D,CAAC,CAAC;AAE9E;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAY;IAEZ,GAAG,CAAC,iCAAiC,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC;IAEzE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QAClD,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAkB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,EAAE,CAAC,gCAAgC,CACrD,YAAY,EACZ,8CAAqC,CAAC,KAAK,CAAC,kCACvC,EAAE,CAAC,GAAG,KAAE,mCAAmC,EAAE,GAAG,EAAE,GAAE,CAAC,IAC3D,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,kBAAkB,CACxC,WAAW,CAAC,OAAO;IACnB,oBAAoB,CAAC,IAAI,CAC1B,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;IAC1C,YAAY,CAAC,QAAQ,GAAG,CAAC,QAAgB,EAAsB,EAAE,CAC/D,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAC9B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChB,WAAW,CAAC,OAAO,EACnB,YAAY,CACb,CAAC;IACF,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAEQ,oDAAoB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map index 18380901c..7b72959c1 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAazC;;;;;GAKG;AACH,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,KAAK,EAAE,KAAK,GACX,aAAa,GAAG,SAAS,CAyE3B;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAM5D;;;;;GAKG;AACH,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,KAAK,EAAE,KAAK,GACX,aAAa,GAAG,SAAS,CA8D3B;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js index 917330b7e..85af8bf3a 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js @@ -8,14 +8,9 @@ const debug_1 = __importDefault(require("debug")); const path_1 = __importDefault(require("path")); const createWatchProgram_1 = require("./createWatchProgram"); const node_utils_1 = require("../node-utils"); +const shared_1 = require("./shared"); const log = debug_1.default('typescript-eslint:typescript-estree:createProjectProgram'); const DEFAULT_EXTRA_FILE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx']; -function getExtension(fileName) { - if (!fileName) { - return null; - } - return fileName.endsWith('.d.ts') ? '.d.ts' : path_1.default.extname(fileName); -} /** * @param code The code of the file being linted * @param createDefaultProgram True if the default program should be created @@ -24,16 +19,7 @@ function getExtension(fileName) { */ function createProjectProgram(code, createDefaultProgram, extra) { log('Creating project program for: %s', extra.filePath); - const astAndProgram = node_utils_1.firstDefined(createWatchProgram_1.getProgramsForProjects(code, extra.filePath, extra), currentProgram => { - const ast = currentProgram.getSourceFile(extra.filePath); - // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573 - const expectedExt = getExtension(extra.filePath); - const returnedExt = getExtension(ast === null || ast === void 0 ? void 0 : ast.fileName); - if (expectedExt !== returnedExt) { - return; - } - return ast && { ast, program: currentProgram }; - }); + const astAndProgram = node_utils_1.firstDefined(createWatchProgram_1.getProgramsForProjects(code, extra.filePath, extra), currentProgram => shared_1.getAstFromProgram(currentProgram, extra)); if (!astAndProgram && !createDefaultProgram) { // the file was either not matched within the tsconfig, or the extension wasn't expected const errorLines = [ diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map index a39bb006e..d055f645b 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,6DAA8D;AAC9D,8CAA6C;AAE7C,qCAA4D;AAE5D,MAAM,GAAG,GAAG,eAAK,CAAC,0DAA0D,CAAC,CAAC;AAE9E,MAAM,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAErE;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,IAAY,EACZ,oBAA6B,EAC7B,KAAY;IAEZ,GAAG,CAAC,kCAAkC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,yBAAY,CAChC,2CAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnD,cAAc,CAAC,EAAE,CAAC,0BAAiB,CAAC,cAAc,EAAE,KAAK,CAAC,CAC3D,CAAC;IAEF,IAAI,CAAC,aAAa,IAAI,CAAC,oBAAoB,EAAE;QAC3C,wFAAwF;QACxF,MAAM,UAAU,GAAG;YACjB,qEAAqE;YACrE,gDAAgD,cAAI,CAAC,QAAQ,CAC3D,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EACtC,KAAK,CAAC,QAAQ,CACf,GAAG;SACL,CAAC;QACF,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAE5D,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACnC,UAAU,CAAC,IAAI,CACb,+BAA+B,cAAc,qEAAqE,cAAc,IAAI,CACrI,CAAC;aACH;YACD,IAAI,6BAA6B,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC1D,UAAU,CAAC,IAAI,CACb,6CAA6C,cAAc,sGAAsG,CAClK,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YAC1D,MAAM,cAAc,GAAG,+BAA+B,aAAa,mBAAmB,CAAC;YACvF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAChD,UAAU,CAAC,IAAI,CACb,GAAG,cAAc,4EAA4E,CAC9F,CAAC;oBACF,iBAAiB,GAAG,IAAI,CAAC;iBAC1B;aACF;iBAAM;gBACL,UAAU,CAAC,IAAI,CACb,GAAG,cAAc,sEAAsE,CACxF,CAAC;gBACF,iBAAiB,GAAG,IAAI,CAAC;aAC1B;SACF;QAED,IAAI,CAAC,iBAAiB,EAAE;YACtB,UAAU,CAAC,IAAI,CACb,qEAAqE,CACtE,CAAC;SACH;QAED,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAEQ,oDAAoB"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts index af73e0c66..e92660ad3 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts @@ -4,7 +4,7 @@ import { Extra } from '../parser-options'; * Clear all of the parser caches. * This should only be used in testing to ensure the parser is clean between tests. */ -declare function clearCaches(): void; +declare function clearWatchCaches(): void; /** * Calculate project environments using options provided by consumer and paths from config * @param code The code being linted @@ -15,5 +15,5 @@ declare function clearCaches(): void; */ declare function getProgramsForProjects(code: string, filePathIn: string, extra: Extra): ts.Program[]; declare function createWatchProgram(tsconfigPath: string, extra: Extra): ts.WatchOfConfigFile; -export { clearCaches, createWatchProgram, getProgramsForProjects }; +export { clearWatchCaches, createWatchProgram, getProgramsForProjects }; //# sourceMappingURL=createWatchProgram.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map index 5e6bce836..f97e8b6f5 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createWatchProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createWatchProgram.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA6C1C;;;GAGG;AACH,iBAAS,WAAW,IAAI,IAAI,CAO3B;AA2DD;;;;;;;GAOG;AACH,iBAAS,sBAAsB,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,OAAO,EAAE,CAgGd;AAMD,iBAAS,kBAAkB,CACzB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,cAAc,CAAC,CAwHzC;AAoJD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"createWatchProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createWatchProgram.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA4C1C;;;GAGG;AACH,iBAAS,gBAAgB,IAAI,IAAI,CAOhC;AAyED;;;;;;;GAOG;AACH,iBAAS,sBAAsB,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,OAAO,EAAE,CAyGd;AAMD,iBAAS,kBAAkB,CACzB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,cAAc,CAAC,CA+HzC;AAmJD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js index fe0366330..af583247f 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js @@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getProgramsForProjects = exports.createWatchProgram = exports.clearCaches = void 0; +exports.getProgramsForProjects = exports.createWatchProgram = exports.clearWatchCaches = void 0; const debug_1 = __importDefault(require("debug")); const fs_1 = __importDefault(require("fs")); const semver_1 = __importDefault(require("semver")); @@ -52,7 +52,7 @@ const parsedFilesSeenHash = new Map(); * Clear all of the parser caches. * This should only be used in testing to ensure the parser is clean between tests. */ -function clearCaches() { +function clearWatchCaches() { knownWatchProgramMap.clear(); fileWatchCallbackTrackingMap.clear(); folderWatchCallbackTrackingMap.clear(); @@ -60,7 +60,7 @@ function clearCaches() { programFileListCache.clear(); tsconfigLastModifiedTimestampCache.clear(); } -exports.clearCaches = clearCaches; +exports.clearWatchCaches = clearWatchCaches; function saveWatchCallback(trackingMap) { return (fileName, callback) => { const normalizedFileName = shared_1.getCanonicalFileName(fileName); @@ -107,6 +107,13 @@ function createHash(content) { } return content; } +function updateCachedFileList(tsconfigPath, program, extra) { + const fileList = extra.EXPERIMENTAL_useSourceOfProjectReferenceRedirect + ? new Set(program.getSourceFiles().map(sf => shared_1.getCanonicalFileName(sf.fileName))) + : new Set(program.getRootFileNames().map(f => shared_1.getCanonicalFileName(f))); + programFileListCache.set(tsconfigPath, fileList); + return fileList; +} /** * Calculate project environments using options provided by consumer and paths from config * @param code The code being linted @@ -133,22 +140,17 @@ function getProgramsForProjects(code, filePathIn, extra) { * before we go into the process of attempting to find and update every program * see if we know of a program that contains this file */ - for (const rawTsconfigPath of extra.projects) { - const tsconfigPath = shared_1.getTsconfigPath(rawTsconfigPath, extra); - const existingWatch = knownWatchProgramMap.get(tsconfigPath); - if (!existingWatch) { - continue; - } + for (const [tsconfigPath, existingWatch] of knownWatchProgramMap.entries()) { let fileList = programFileListCache.get(tsconfigPath); let updatedProgram = null; if (!fileList) { updatedProgram = existingWatch.getProgram().getProgram(); - fileList = new Set(updatedProgram.getRootFileNames().map(f => shared_1.getCanonicalFileName(f))); - programFileListCache.set(tsconfigPath, fileList); + fileList = updateCachedFileList(tsconfigPath, updatedProgram, extra); } if (fileList.has(filePath)) { log('Found existing program for file. %s', filePath); - updatedProgram = updatedProgram !== null && updatedProgram !== void 0 ? updatedProgram : existingWatch.getProgram().getProgram(); + updatedProgram = + updatedProgram !== null && updatedProgram !== void 0 ? updatedProgram : existingWatch.getProgram().getProgram(); // sets parent pointers in source files updatedProgram.getTypeChecker(); return [updatedProgram]; @@ -160,8 +162,7 @@ function getProgramsForProjects(code, filePathIn, extra) { * - the required program hasn't been created yet, or * - the file is new/renamed, and the program hasn't been updated. */ - for (const rawTsconfigPath of extra.projects) { - const tsconfigPath = shared_1.getTsconfigPath(rawTsconfigPath, extra); + for (const tsconfigPath of extra.projects) { const existingWatch = knownWatchProgramMap.get(tsconfigPath); if (existingWatch) { const updatedProgram = maybeInvalidateProgram(existingWatch, filePath, tsconfigPath); @@ -170,15 +171,28 @@ function getProgramsForProjects(code, filePathIn, extra) { } // sets parent pointers in source files updatedProgram.getTypeChecker(); + // cache and check the file list + const fileList = updateCachedFileList(tsconfigPath, updatedProgram, extra); + if (fileList.has(filePath)) { + log('Found updated program for file. %s', filePath); + // we can return early because we know this program contains the file + return [updatedProgram]; + } results.push(updatedProgram); continue; } const programWatch = createWatchProgram(tsconfigPath, extra); - const program = programWatch.getProgram().getProgram(); - // cache watch program and return current program knownWatchProgramMap.set(tsconfigPath, programWatch); + const program = programWatch.getProgram().getProgram(); // sets parent pointers in source files program.getTypeChecker(); + // cache and check the file list + const fileList = updateCachedFileList(tsconfigPath, program, extra); + if (fileList.has(filePath)) { + log('Found program for file. %s', filePath); + // we can return early because we know this program contains the file + return [program]; + } results.push(program); } return results; @@ -242,6 +256,11 @@ function createWatchProgram(tsconfigPath, extra) { scriptKind: ts.ScriptKind.Deferred, })); watchCompilerHost.trace = log; + /** + * TODO: this needs refinement and development, but we're allowing users to opt-in to this for now for testing and feedback. + * See https://github.com/typescript-eslint/typescript-eslint/issues/2094 + */ + watchCompilerHost.useSourceOfProjectReferenceRedirect = () => extra.EXPERIMENTAL_useSourceOfProjectReferenceRedirect; // Since we don't want to asynchronously update program we want to disable timeout methods // So any changes in the program will be delayed and updated when getProgram is called on watch let callback; diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map index 326e15ae2..46e6f373a 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map @@ -1 +1 @@ -{"version":3,"file":"createWatchProgram.js","sourceRoot":"","sources":["../../src/create-program/createWatchProgram.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createWatchProgram.js","sourceRoot":"","sources":["../../src/create-program/createWatchProgram.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts index ea10a4804..66ae7d2c1 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts @@ -1,17 +1,22 @@ import * as ts from 'typescript'; +import { Program } from 'typescript'; import { Extra } from '../parser-options'; interface ASTAndProgram { ast: ts.SourceFile; program: ts.Program; } +/** + * Compiler options required to avoid critical functionality issues + */ +declare const CORE_COMPILER_OPTIONS: ts.CompilerOptions; declare function createDefaultCompilerOptionsFromExtra(extra: Extra): ts.CompilerOptions; declare type CanonicalPath = string & { __brand: unknown; }; declare function getCanonicalFileName(filePath: string): CanonicalPath; declare function ensureAbsolutePath(p: string, extra: Extra): string; -declare function getTsconfigPath(tsconfigPath: string, extra: Extra): CanonicalPath; declare function canonicalDirname(p: CanonicalPath): CanonicalPath; declare function getScriptKind(extra: Extra, filePath?: string): ts.ScriptKind; -export { ASTAndProgram, canonicalDirname, CanonicalPath, createDefaultCompilerOptionsFromExtra, ensureAbsolutePath, getCanonicalFileName, getScriptKind, getTsconfigPath, }; +declare function getAstFromProgram(currentProgram: Program, extra: Extra): ASTAndProgram | undefined; +export { ASTAndProgram, CORE_COMPILER_OPTIONS, canonicalDirname, CanonicalPath, createDefaultCompilerOptionsFromExtra, ensureAbsolutePath, getCanonicalFileName, getScriptKind, getAstFromProgram, }; //# sourceMappingURL=shared.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map index 3e22bc40a..a63de3cad 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,UAAU,aAAa;IACrB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AAkBD,iBAAS,qCAAqC,CAC5C,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,eAAe,CASpB;AAGD,aAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAI3D;AAED,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa,CAE1E;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAED,iBAAS,aAAa,CACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,MAAuB,GAChC,EAAE,CAAC,UAAU,CAwBf;AAED,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,CAAC"} \ No newline at end of file +{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,UAAU,aAAa;IACrB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,eAQ/B,CAAC;AAYF,iBAAS,qCAAqC,CAC5C,KAAK,EAAE,KAAK,GACX,EAAE,CAAC,eAAe,CASpB;AAGD,aAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAI3D;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAED,iBAAS,aAAa,CACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,MAAuB,GAChC,EAAE,CAAC,UAAU,CAwBf;AASD,iBAAS,iBAAiB,CACxB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,GACX,aAAa,GAAG,SAAS,CAW3B;AAED,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAClB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js index 5e8c1986f..d88c121b9 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js @@ -22,24 +22,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTsconfigPath = exports.getScriptKind = exports.getCanonicalFileName = exports.ensureAbsolutePath = exports.createDefaultCompilerOptionsFromExtra = exports.canonicalDirname = void 0; +exports.getAstFromProgram = exports.getScriptKind = exports.getCanonicalFileName = exports.ensureAbsolutePath = exports.createDefaultCompilerOptionsFromExtra = exports.canonicalDirname = exports.CORE_COMPILER_OPTIONS = void 0; const path_1 = __importDefault(require("path")); const ts = __importStar(require("typescript")); /** - * Default compiler options for program generation from single root file + * Compiler options required to avoid critical functionality issues */ -const DEFAULT_COMPILER_OPTIONS = { - allowNonTsExtensions: true, - allowJs: true, - checkJs: true, +const CORE_COMPILER_OPTIONS = { noEmit: true, - // extendedDiagnostics: true, /** * Flags required to make no-unused-vars work */ noUnusedLocals: true, noUnusedParameters: true, }; +exports.CORE_COMPILER_OPTIONS = CORE_COMPILER_OPTIONS; +/** + * Default compiler options for program generation + */ +const DEFAULT_COMPILER_OPTIONS = Object.assign(Object.assign({}, CORE_COMPILER_OPTIONS), { allowNonTsExtensions: true, allowJs: true, checkJs: true }); function createDefaultCompilerOptionsFromExtra(extra) { if (extra.debugLevel.has('typescript')) { return Object.assign(Object.assign({}, DEFAULT_COMPILER_OPTIONS), { extendedDiagnostics: true }); @@ -66,10 +67,6 @@ function ensureAbsolutePath(p, extra) { : path_1.default.join(extra.tsconfigRootDir || process.cwd(), p); } exports.ensureAbsolutePath = ensureAbsolutePath; -function getTsconfigPath(tsconfigPath, extra) { - return getCanonicalFileName(ensureAbsolutePath(tsconfigPath, extra)); -} -exports.getTsconfigPath = getTsconfigPath; function canonicalDirname(p) { return path_1.default.dirname(p); } @@ -95,4 +92,21 @@ function getScriptKind(extra, filePath = extra.filePath) { } } exports.getScriptKind = getScriptKind; +function getExtension(fileName) { + if (!fileName) { + return null; + } + return fileName.endsWith('.d.ts') ? '.d.ts' : path_1.default.extname(fileName); +} +function getAstFromProgram(currentProgram, extra) { + const ast = currentProgram.getSourceFile(extra.filePath); + // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573 + const expectedExt = getExtension(extra.filePath); + const returnedExt = getExtension(ast === null || ast === void 0 ? void 0 : ast.fileName); + if (expectedExt !== returnedExt) { + return undefined; + } + return ast && { ast, program: currentProgram }; +} +exports.getAstFromProgram = getAstFromProgram; //# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map index 30f05b202..77e884d70 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map @@ -1 +1 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts new file mode 100644 index 000000000..75aaf34a3 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts @@ -0,0 +1,13 @@ +import * as ts from 'typescript'; +import { Extra } from '../parser-options'; +import { ASTAndProgram } from './shared'; +declare function useProvidedPrograms(programInstances: Iterable, extra: Extra): ASTAndProgram | undefined; +/** + * Utility offered by parser to help consumers construct their own program instance. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +declare function createProgramFromConfigFile(configFile: string, projectDirectory?: string): ts.Program; +export { useProvidedPrograms, createProgramFromConfigFile }; +//# sourceMappingURL=useProvidedPrograms.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map new file mode 100644 index 000000000..de6c47df9 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,aAAa,EAGd,MAAM,UAAU,CAAC;AAIlB,iBAAS,mBAAmB,CAC1B,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,KAAK,EAAE,KAAK,GACX,aAAa,GAAG,SAAS,CA+B3B;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA4BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js new file mode 100644 index 000000000..e68a74591 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js @@ -0,0 +1,89 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProgramFromConfigFile = exports.useProvidedPrograms = void 0; +const debug_1 = __importDefault(require("debug")); +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +const ts = __importStar(require("typescript")); +const shared_1 = require("./shared"); +const log = debug_1.default('typescript-eslint:typescript-estree:useProvidedProgram'); +function useProvidedPrograms(programInstances, extra) { + log('Retrieving ast for %s from provided program instance(s)', extra.filePath); + let astAndProgram; + for (const programInstance of programInstances) { + astAndProgram = shared_1.getAstFromProgram(programInstance, extra); + // Stop at the first applicable program instance + if (astAndProgram) { + break; + } + } + if (!astAndProgram) { + const relativeFilePath = path.relative(extra.tsconfigRootDir || process.cwd(), extra.filePath); + const errorLines = [ + '"parserOptions.programs" has been provided for @typescript-eslint/parser.', + `The file was not found in any of the provided program instance(s): ${relativeFilePath}`, + ]; + throw new Error(errorLines.join('\n')); + } + astAndProgram.program.getTypeChecker(); // ensure parent pointers are set in source files + return astAndProgram; +} +exports.useProvidedPrograms = useProvidedPrograms; +/** + * Utility offered by parser to help consumers construct their own program instance. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +function createProgramFromConfigFile(configFile, projectDirectory) { + if (ts.sys === undefined) { + throw new Error('`createProgramFromConfigFile` is only supported in a Node-like environment.'); + } + const parsed = ts.getParsedCommandLineOfConfigFile(configFile, shared_1.CORE_COMPILER_OPTIONS, { + onUnRecoverableConfigFileDiagnostic: diag => { + throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined. + }, + fileExists: fs.existsSync, + getCurrentDirectory: () => (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), + readDirectory: ts.sys.readDirectory, + readFile: file => fs.readFileSync(file, 'utf-8'), + useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, + }); + const result = parsed; // parsed is not undefined, since we throw on failure. + if (result.errors.length) { + throw new Error(formatDiagnostics(result.errors)); + } + const host = ts.createCompilerHost(result.options, true); + return ts.createProgram(result.fileNames, result.options, host); +} +exports.createProgramFromConfigFile = createProgramFromConfigFile; +function formatDiagnostics(diagnostics) { + return ts.formatDiagnostics(diagnostics, { + getCanonicalFileName: f => f, + getCurrentDirectory: process.cwd, + getNewLine: () => '\n', + }); +} +//# sourceMappingURL=useProvidedPrograms.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js.map new file mode 100644 index 000000000..09334e569 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAEjC,qCAIkB;AAElB,MAAM,GAAG,GAAG,eAAK,CAAC,wDAAwD,CAAC,CAAC;AAE5E,SAAS,mBAAmB,CAC1B,gBAAsC,EACtC,KAAY;IAEZ,GAAG,CACD,yDAAyD,EACzD,KAAK,CAAC,QAAQ,CACf,CAAC;IAEF,IAAI,aAAwC,CAAC;IAC7C,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;QAC9C,aAAa,GAAG,0BAAiB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC1D,gDAAgD;QAChD,IAAI,aAAa,EAAE;YACjB,MAAM;SACP;KACF;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EACtC,KAAK,CAAC,QAAQ,CACf,CAAC;QACF,MAAM,UAAU,GAAG;YACjB,2EAA2E;YAC3E,sEAAsE,gBAAgB,EAAE;SACzF,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiDQ,kDAAmB;AA/C5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;KACH;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAChD,UAAU,EACV,8BAAqB,EACrB;QACE,mCAAmC,EAAE,IAAI,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAClF,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,mBAAmB,EAAE,GAAG,EAAE,CACxB,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;QACvE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;QACnC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;KAC5D,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAO,CAAC,CAAC,sDAAsD;IAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAU6B,kEAA2B;AARzD,SAAS,iBAAiB,CAAC,WAA4B;IACrD,OAAO,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts index 14e0d8b7a..c6eb4d0cd 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts @@ -1,8 +1,9 @@ -export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult, } from './parser'; +export * from './parser'; export { ParserServices, TSESTreeOptions } from './parser-options'; export { simpleTraverse } from './simple-traverse'; export * from './ts-estree'; -export { clearCaches } from './create-program/createWatchProgram'; +export { clearWatchCaches as clearCaches } from './create-program/createWatchProgram'; +export { createProgramFromConfigFile as createProgram } from './create-program/useProvidedPrograms'; export { visitorKeys } from '@typescript-eslint/visitor-keys'; export declare const version: string; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map index 41ffbdc63..f031ef2b4 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,2BAA2B,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGpG,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAI9D,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/index.js b/node_modules/@typescript-eslint/typescript-estree/dist/index.js index 4df304cb2..1c50cfa7d 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/index.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/index.js @@ -10,18 +10,19 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = exports.visitorKeys = exports.clearCaches = exports.simpleTraverse = exports.parseAndGenerateServices = exports.parse = void 0; -var parser_1 = require("./parser"); -Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parser_1.parse; } }); -Object.defineProperty(exports, "parseAndGenerateServices", { enumerable: true, get: function () { return parser_1.parseAndGenerateServices; } }); +exports.version = exports.visitorKeys = exports.createProgram = exports.clearCaches = exports.simpleTraverse = void 0; +__exportStar(require("./parser"), exports); var simple_traverse_1 = require("./simple-traverse"); Object.defineProperty(exports, "simpleTraverse", { enumerable: true, get: function () { return simple_traverse_1.simpleTraverse; } }); __exportStar(require("./ts-estree"), exports); var createWatchProgram_1 = require("./create-program/createWatchProgram"); -Object.defineProperty(exports, "clearCaches", { enumerable: true, get: function () { return createWatchProgram_1.clearCaches; } }); +Object.defineProperty(exports, "clearCaches", { enumerable: true, get: function () { return createWatchProgram_1.clearWatchCaches; } }); +var useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); +Object.defineProperty(exports, "createProgram", { enumerable: true, get: function () { return useProvidedPrograms_1.createProgramFromConfigFile; } }); // re-export for backwards-compat var visitor_keys_1 = require("@typescript-eslint/visitor-keys"); Object.defineProperty(exports, "visitorKeys", { enumerable: true, get: function () { return visitor_keys_1.visitorKeys; } }); // note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder +// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment exports.version = require('../package.json').version; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map index a17f0a342..0e842de55 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAKkB;AAHhB,+FAAA,KAAK,OAAA;AACL,kHAAA,wBAAwB,OAAA;AAI1B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,8CAA4B;AAC5B,0EAAkE;AAAzD,iHAAA,WAAW,OAAA;AAEpB,iCAAiC;AACjC,gEAA8D;AAArD,2GAAA,WAAW,OAAA;AAEpB,sHAAsH;AACzG,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,8CAA4B;AAC5B,0EAAsF;AAA7E,iHAAA,gBAAgB,OAAe;AACxC,4EAAoG;AAA3F,oHAAA,2BAA2B,OAAiB;AAErD,iCAAiC;AACjC,gEAA8D;AAArD,2GAAA,WAAW,OAAA;AAEpB,sHAAsH;AACtH,mEAAmE;AACtD,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts new file mode 100644 index 000000000..7953cc6fe --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts @@ -0,0 +1,2 @@ +export declare const xhtmlEntities: Record; +//# sourceMappingURL=xhtml-entities.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts.map new file mode 100644 index 000000000..ce45e83d3 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"xhtml-entities.d.ts","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8PhD,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js new file mode 100644 index 000000000..bf58e9657 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js @@ -0,0 +1,259 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xhtmlEntities = void 0; +exports.xhtmlEntities = { + quot: '\u0022', + amp: '&', + apos: '\u0027', + lt: '<', + gt: '>', + nbsp: '\u00A0', + iexcl: '\u00A1', + cent: '\u00A2', + pound: '\u00A3', + curren: '\u00A4', + yen: '\u00A5', + brvbar: '\u00A6', + sect: '\u00A7', + uml: '\u00A8', + copy: '\u00A9', + ordf: '\u00AA', + laquo: '\u00AB', + not: '\u00AC', + shy: '\u00AD', + reg: '\u00AE', + macr: '\u00AF', + deg: '\u00B0', + plusmn: '\u00B1', + sup2: '\u00B2', + sup3: '\u00B3', + acute: '\u00B4', + micro: '\u00B5', + para: '\u00B6', + middot: '\u00B7', + cedil: '\u00B8', + sup1: '\u00B9', + ordm: '\u00BA', + raquo: '\u00BB', + frac14: '\u00BC', + frac12: '\u00BD', + frac34: '\u00BE', + iquest: '\u00BF', + Agrave: '\u00C0', + Aacute: '\u00C1', + Acirc: '\u00C2', + Atilde: '\u00C3', + Auml: '\u00C4', + Aring: '\u00C5', + AElig: '\u00C6', + Ccedil: '\u00C7', + Egrave: '\u00C8', + Eacute: '\u00C9', + Ecirc: '\u00CA', + Euml: '\u00CB', + Igrave: '\u00CC', + Iacute: '\u00CD', + Icirc: '\u00CE', + Iuml: '\u00CF', + ETH: '\u00D0', + Ntilde: '\u00D1', + Ograve: '\u00D2', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Otilde: '\u00D5', + Ouml: '\u00D6', + times: '\u00D7', + Oslash: '\u00D8', + Ugrave: '\u00D9', + Uacute: '\u00DA', + Ucirc: '\u00DB', + Uuml: '\u00DC', + Yacute: '\u00DD', + THORN: '\u00DE', + szlig: '\u00DF', + agrave: '\u00E0', + aacute: '\u00E1', + acirc: '\u00E2', + atilde: '\u00E3', + auml: '\u00E4', + aring: '\u00E5', + aelig: '\u00E6', + ccedil: '\u00E7', + egrave: '\u00E8', + eacute: '\u00E9', + ecirc: '\u00EA', + euml: '\u00EB', + igrave: '\u00EC', + iacute: '\u00ED', + icirc: '\u00EE', + iuml: '\u00EF', + eth: '\u00F0', + ntilde: '\u00F1', + ograve: '\u00F2', + oacute: '\u00F3', + ocirc: '\u00F4', + otilde: '\u00F5', + ouml: '\u00F6', + divide: '\u00F7', + oslash: '\u00F8', + ugrave: '\u00F9', + uacute: '\u00FA', + ucirc: '\u00FB', + uuml: '\u00FC', + yacute: '\u00FD', + thorn: '\u00FE', + yuml: '\u00FF', + OElig: '\u0152', + oelig: '\u0153', + Scaron: '\u0160', + scaron: '\u0161', + Yuml: '\u0178', + fnof: '\u0192', + circ: '\u02C6', + tilde: '\u02DC', + Alpha: '\u0391', + Beta: '\u0392', + Gamma: '\u0393', + Delta: '\u0394', + Epsilon: '\u0395', + Zeta: '\u0396', + Eta: '\u0397', + Theta: '\u0398', + Iota: '\u0399', + Kappa: '\u039A', + Lambda: '\u039B', + Mu: '\u039C', + Nu: '\u039D', + Xi: '\u039E', + Omicron: '\u039F', + Pi: '\u03A0', + Rho: '\u03A1', + Sigma: '\u03A3', + Tau: '\u03A4', + Upsilon: '\u03A5', + Phi: '\u03A6', + Chi: '\u03A7', + Psi: '\u03A8', + Omega: '\u03A9', + alpha: '\u03B1', + beta: '\u03B2', + gamma: '\u03B3', + delta: '\u03B4', + epsilon: '\u03B5', + zeta: '\u03B6', + eta: '\u03B7', + theta: '\u03B8', + iota: '\u03B9', + kappa: '\u03BA', + lambda: '\u03BB', + mu: '\u03BC', + nu: '\u03BD', + xi: '\u03BE', + omicron: '\u03BF', + pi: '\u03C0', + rho: '\u03C1', + sigmaf: '\u03C2', + sigma: '\u03C3', + tau: '\u03C4', + upsilon: '\u03C5', + phi: '\u03C6', + chi: '\u03C7', + psi: '\u03C8', + omega: '\u03C9', + thetasym: '\u03D1', + upsih: '\u03D2', + piv: '\u03D6', + ensp: '\u2002', + emsp: '\u2003', + thinsp: '\u2009', + zwnj: '\u200C', + zwj: '\u200D', + lrm: '\u200E', + rlm: '\u200F', + ndash: '\u2013', + mdash: '\u2014', + lsquo: '\u2018', + rsquo: '\u2019', + sbquo: '\u201A', + ldquo: '\u201C', + rdquo: '\u201D', + bdquo: '\u201E', + dagger: '\u2020', + Dagger: '\u2021', + bull: '\u2022', + hellip: '\u2026', + permil: '\u2030', + prime: '\u2032', + Prime: '\u2033', + lsaquo: '\u2039', + rsaquo: '\u203A', + oline: '\u203E', + frasl: '\u2044', + euro: '\u20AC', + image: '\u2111', + weierp: '\u2118', + real: '\u211C', + trade: '\u2122', + alefsym: '\u2135', + larr: '\u2190', + uarr: '\u2191', + rarr: '\u2192', + darr: '\u2193', + harr: '\u2194', + crarr: '\u21B5', + lArr: '\u21D0', + uArr: '\u21D1', + rArr: '\u21D2', + dArr: '\u21D3', + hArr: '\u21D4', + forall: '\u2200', + part: '\u2202', + exist: '\u2203', + empty: '\u2205', + nabla: '\u2207', + isin: '\u2208', + notin: '\u2209', + ni: '\u220B', + prod: '\u220F', + sum: '\u2211', + minus: '\u2212', + lowast: '\u2217', + radic: '\u221A', + prop: '\u221D', + infin: '\u221E', + ang: '\u2220', + and: '\u2227', + or: '\u2228', + cap: '\u2229', + cup: '\u222A', + int: '\u222B', + there4: '\u2234', + sim: '\u223C', + cong: '\u2245', + asymp: '\u2248', + ne: '\u2260', + equiv: '\u2261', + le: '\u2264', + ge: '\u2265', + sub: '\u2282', + sup: '\u2283', + nsub: '\u2284', + sube: '\u2286', + supe: '\u2287', + oplus: '\u2295', + otimes: '\u2297', + perp: '\u22A5', + sdot: '\u22C5', + lceil: '\u2308', + rceil: '\u2309', + lfloor: '\u230A', + rfloor: '\u230B', + lang: '\u2329', + rang: '\u232A', + loz: '\u25CA', + spades: '\u2660', + clubs: '\u2663', + hearts: '\u2665', + diams: '\u2666', +}; +//# sourceMappingURL=xhtml-entities.js.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js.map new file mode 100644 index 000000000..30c14ec78 --- /dev/null +++ b/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js.map @@ -0,0 +1 @@ +{"version":3,"file":"xhtml-entities.js","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts index e9b5d410e..1a7a86be2 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts @@ -1,73 +1,14 @@ import * as ts from 'typescript'; import { AST_NODE_TYPES, AST_TOKEN_TYPES, TSESTree } from './ts-estree'; declare const SyntaxKind: typeof ts.SyntaxKind; -interface TokenToText { - [SyntaxKind.OpenBraceToken]: '{'; - [SyntaxKind.CloseBraceToken]: '}'; - [SyntaxKind.OpenParenToken]: '('; - [SyntaxKind.CloseParenToken]: ')'; - [SyntaxKind.OpenBracketToken]: '['; - [SyntaxKind.CloseBracketToken]: ']'; - [SyntaxKind.DotToken]: '.'; - [SyntaxKind.DotDotDotToken]: '...'; - [SyntaxKind.SemicolonToken]: ';'; - [SyntaxKind.CommaToken]: ','; - [SyntaxKind.LessThanToken]: '<'; - [SyntaxKind.GreaterThanToken]: '>'; - [SyntaxKind.LessThanEqualsToken]: '<='; - [SyntaxKind.GreaterThanEqualsToken]: '>='; - [SyntaxKind.EqualsEqualsToken]: '=='; - [SyntaxKind.ExclamationEqualsToken]: '!='; - [SyntaxKind.EqualsEqualsEqualsToken]: '==='; - [SyntaxKind.InstanceOfKeyword]: 'instanceof'; - [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; - [SyntaxKind.EqualsGreaterThanToken]: '=>'; - [SyntaxKind.PlusToken]: '+'; - [SyntaxKind.MinusToken]: '-'; - [SyntaxKind.AsteriskToken]: '*'; - [SyntaxKind.AsteriskAsteriskToken]: '**'; - [SyntaxKind.SlashToken]: '/'; - [SyntaxKind.PercentToken]: '%'; - [SyntaxKind.PlusPlusToken]: '++'; - [SyntaxKind.MinusMinusToken]: '--'; - [SyntaxKind.LessThanLessThanToken]: '<<'; - [SyntaxKind.LessThanSlashToken]: '>'; - [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; - [SyntaxKind.AmpersandToken]: '&'; - [SyntaxKind.BarToken]: '|'; - [SyntaxKind.CaretToken]: '^'; - [SyntaxKind.ExclamationToken]: '!'; - [SyntaxKind.TildeToken]: '~'; - [SyntaxKind.AmpersandAmpersandToken]: '&&'; - [SyntaxKind.BarBarToken]: '||'; - [SyntaxKind.QuestionToken]: '?'; - [SyntaxKind.ColonToken]: ':'; - [SyntaxKind.EqualsToken]: '='; - [SyntaxKind.PlusEqualsToken]: '+='; - [SyntaxKind.MinusEqualsToken]: '-='; - [SyntaxKind.AsteriskEqualsToken]: '*='; - [SyntaxKind.AsteriskAsteriskEqualsToken]: '**='; - [SyntaxKind.SlashEqualsToken]: '/='; - [SyntaxKind.PercentEqualsToken]: '%='; - [SyntaxKind.LessThanLessThanEqualsToken]: '<<='; - [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>='; - [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>='; - [SyntaxKind.AmpersandEqualsToken]: '&='; - [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&='; - [SyntaxKind.BarEqualsToken]: '|='; - [SyntaxKind.BarBarEqualsToken]: '||='; - [SyntaxKind.CaretEqualsToken]: '^='; - [SyntaxKind.QuestionQuestionEqualsToken]: '??='; - [SyntaxKind.AtToken]: '@'; - [SyntaxKind.InKeyword]: 'in'; - [SyntaxKind.UniqueKeyword]: 'unique'; - [SyntaxKind.KeyOfKeyword]: 'keyof'; - [SyntaxKind.NewKeyword]: 'new'; +interface TokenToText extends TSESTree.PunctuatorTokenToText { [SyntaxKind.ImportKeyword]: 'import'; + [SyntaxKind.InKeyword]: 'in'; + [SyntaxKind.InstanceOfKeyword]: 'instanceof'; + [SyntaxKind.NewKeyword]: 'new'; + [SyntaxKind.KeyOfKeyword]: 'keyof'; [SyntaxKind.ReadonlyKeyword]: 'readonly'; - [SyntaxKind.QuestionQuestionToken]: '??'; - [SyntaxKind.QuestionDotToken]: '?.'; + [SyntaxKind.UniqueKeyword]: 'unique'; } /** * Returns true if the given ts.Token is the assignment operator @@ -111,7 +52,7 @@ export declare function getLastModifier(node: ts.Node): ts.Modifier | null; * @param token the TypeScript token * @returns is comma */ -export declare function isComma(token: ts.Node): boolean; +export declare function isComma(token: ts.Node): token is ts.Token; /** * Returns true if the given ts.Node is a comment * @param node the TypeScript node @@ -123,7 +64,7 @@ export declare function isComment(node: ts.Node): boolean; * @param node the TypeScript node * @returns is JSDoc comment */ -export declare function isJSDocComment(node: ts.Node): boolean; +export declare function isJSDocComment(node: ts.Node): node is ts.JSDoc; /** * Returns the binary expression type of the given ts.Token * @param operator the operator token @@ -164,7 +105,7 @@ export declare function getRange(node: ts.Node, ast: ts.SourceFile): [number, nu * @param node the ts.Node * @returns is a token */ -export declare function isToken(node: ts.Node): boolean; +export declare function isToken(node: ts.Node): node is ts.Token; /** * Returns true if a given ts.Node is a JSX token * @param node ts.Node to be checked @@ -216,7 +157,7 @@ export declare function unescapeStringLiteralText(text: string): string; * @param node ts.Node to be checked * @returns is Computed Property */ -export declare function isComputedProperty(node: ts.Node): boolean; +export declare function isComputedProperty(node: ts.Node): node is ts.ComputedPropertyName; /** * Returns true if a given ts.Node is optional (has QuestionToken) * @param node ts.Node to be checked @@ -245,22 +186,23 @@ export declare function getTokenType(token: ts.Identifier | ts.Token, ast: ts.SourceFile): TSESTree.Token; /** * Converts all tokens for the given AST * @param ast the AST object * @returns the converted Tokens */ export declare function convertTokens(ast: ts.SourceFile): TSESTree.Token[]; -export interface TSError { - index: number; - lineNumber: number; - column: number; - message: string; +export declare class TSError extends Error { + readonly fileName: string; + readonly index: number; + readonly lineNumber: number; + readonly column: number; + constructor(message: string, fileName: string, index: number, lineNumber: number, column: number); } /** * @param ast the AST object - * @param start the index at which the error starts + * @param start the index at which the error starts * @param message the error message * @returns converted error object */ diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map index f898a2f28..8a0075841 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-utils.d.ts","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-utils.d.ts","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js index 05c95cf2f..266bb7c14 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js @@ -18,14 +18,11 @@ var __importStar = (this && this.__importStar) || function (mod) { __setModuleDefault(result, mod); return result; }; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.firstDefined = exports.nodeHasTokens = exports.createError = exports.convertTokens = exports.convertToken = exports.getTokenType = exports.isChildUnwrappableOptionalChain = exports.isChainExpression = exports.isOptional = exports.isComputedProperty = exports.unescapeStringLiteralText = exports.hasJSXAncestor = exports.findFirstMatchingAncestor = exports.findNextToken = exports.getTSNodeAccessibility = exports.getDeclarationKind = exports.isJSXToken = exports.isToken = exports.getRange = exports.canContainDirective = exports.getLocFor = exports.getLineAndCharacterFor = exports.getBinaryExpressionType = exports.isJSDocComment = exports.isComment = exports.isComma = exports.getLastModifier = exports.hasModifier = exports.isESTreeClassMember = exports.getTextForTokenKind = exports.isLogicalOperator = exports.isAssignmentOperator = void 0; -const unescape_1 = __importDefault(require("lodash/unescape")); +exports.firstDefined = exports.nodeHasTokens = exports.createError = exports.TSError = exports.convertTokens = exports.convertToken = exports.getTokenType = exports.isChildUnwrappableOptionalChain = exports.isChainExpression = exports.isOptional = exports.isComputedProperty = exports.unescapeStringLiteralText = exports.hasJSXAncestor = exports.findFirstMatchingAncestor = exports.findNextToken = exports.getTSNodeAccessibility = exports.getDeclarationKind = exports.isJSXToken = exports.isToken = exports.getRange = exports.canContainDirective = exports.getLocFor = exports.getLineAndCharacterFor = exports.getBinaryExpressionType = exports.isJSDocComment = exports.isComment = exports.isComma = exports.getLastModifier = exports.hasModifier = exports.isESTreeClassMember = exports.getTextForTokenKind = exports.isLogicalOperator = exports.isAssignmentOperator = void 0; const ts = __importStar(require("typescript")); const ts_estree_1 = require("./ts-estree"); +const xhtml_entities_1 = require("./jsx/xhtml-entities"); const SyntaxKind = ts.SyntaxKind; const LOGICAL_OPERATORS = [ SyntaxKind.BarBarToken, @@ -316,7 +313,18 @@ exports.hasJSXAncestor = hasJSXAncestor; * @returns The unescaped string literal text. */ function unescapeStringLiteralText(text) { - return unescape_1.default(text); + return text.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g, entity => { + const item = entity.slice(1, -1); + if (item[0] === '#') { + const codePoint = item[1] === 'x' + ? parseInt(item.slice(2), 16) + : parseInt(item.slice(1), 10); + return codePoint > 0x10ffff // RangeError: Invalid code point + ? entity + : String.fromCodePoint(codePoint); + } + return xhtml_entities_1.xhtmlEntities[item] || entity; + }); } exports.unescapeStringLiteralText = unescapeStringLiteralText; /** @@ -350,12 +358,9 @@ exports.isChainExpression = isChainExpression; * Returns true of the child of property access expression is an optional chain */ function isChildUnwrappableOptionalChain(node, child) { - if (isChainExpression(child) && + return (isChainExpression(child) && // (x?.y).z is semantically different, and as such .z is no longer optional - node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression) { - return true; - } - return false; + node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression); } exports.isChildUnwrappableOptionalChain = isChildUnwrappableOptionalChain; /** @@ -383,7 +388,7 @@ function getTokenType(token) { return ts_estree_1.AST_TOKEN_TYPES.Keyword; } if (token.kind >= SyntaxKind.FirstPunctuation && - token.kind <= SyntaxKind.LastBinaryOperator) { + token.kind <= SyntaxKind.LastPunctuation) { return ts_estree_1.AST_TOKEN_TYPES.Punctuator; } if (token.kind >= SyntaxKind.NoSubstitutionTemplateLiteral && @@ -410,7 +415,7 @@ function getTokenType(token) { case SyntaxKind.ConstructorKeyword: case SyntaxKind.GetKeyword: case SyntaxKind.SetKeyword: - // falls through + // intentional fallthrough default: } // Some JSX tokens have to be determined based on their parent @@ -452,6 +457,8 @@ function convertToken(token, ast) { }; } else { + // @ts-expect-error TS is complaining about `value` not being the correct + // type but it is return { type: tokenType, value, @@ -491,20 +498,30 @@ function convertTokens(ast) { return result; } exports.convertTokens = convertTokens; +class TSError extends Error { + constructor(message, fileName, index, lineNumber, column) { + super(message); + this.fileName = fileName; + this.index = index; + this.lineNumber = lineNumber; + this.column = column; + Object.defineProperty(this, 'name', { + value: new.target.name, + enumerable: false, + configurable: true, + }); + } +} +exports.TSError = TSError; /** * @param ast the AST object - * @param start the index at which the error starts + * @param start the index at which the error starts * @param message the error message * @returns converted error object */ function createError(ast, start, message) { const loc = ast.getLineAndCharacterOfPosition(start); - return { - index: start, - lineNumber: loc.line + 1, - column: loc.character, - message, - }; + return new TSError(message, ast.fileName, start, loc.line + 1, loc.character); } exports.createError = createError; /** diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map index 306ba3668..f8044eca7 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAuC;AACvC,+CAAiC;AACjC,2CAAwE;AAExE,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAEjC,MAAM,iBAAiB,GAGjB;IACJ,UAAU,CAAC,WAAW;IACtB,UAAU,CAAC,uBAAuB;IAClC,UAAU,CAAC,qBAAqB;CACjC,CAAC;AAuEF;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,QAAqB;IAErB,OAAO,CACL,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,eAAe;QAC3C,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,cAAc,CAC3C,CAAC;AACJ,CAAC;AAPD,oDAOC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,QAAqB;IAErB,OAAQ,iBAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAJD,8CAIC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,IAAO;IAEP,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAEN,CAAC;AACzB,CAAC;AAND,kDAMC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,qBAAqB,CAAC;AACxD,CAAC;AAFD,kDAEC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,YAAkC,EAClC,IAAa;IAEb,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAChE,CAAC;AACJ,CAAC;AATD,kCASC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,CACL,CAAC;AACJ,CAAC;AAPD,0CAOC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC;AAC9C,CAAC;AAFD,0BAEC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAa;IACrC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,uBAAuB;QAChD,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,sBAAsB,CAChD,CAAC;AACJ,CAAC;AALD,8BAKC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,QAAqB;IAKrB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE;QAClC,OAAO,0BAAc,CAAC,oBAAoB,CAAC;KAC5C;SAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QACtC,OAAO,0BAAc,CAAC,iBAAiB,CAAC;KACzC;IACD,OAAO,0BAAc,CAAC,gBAAgB,CAAC;AACzC,CAAC;AAZD,0DAYC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,GAAW,EACX,GAAkB;IAElB,MAAM,GAAG,GAAG,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC,SAAS;KACtB,CAAC;AACJ,CAAC;AATD,wDASC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CACvB,KAAa,EACb,GAAW,EACX,GAAkB;IAElB,OAAO;QACL,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC;QACzC,GAAG,EAAE,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC;KACtC,CAAC;AACJ,CAAC;AATD,8BASC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,IAA+C;IAE/C,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;QACrC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACxB,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACvC,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB;gBAClC,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;SAChB;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,kDAkBC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAa,EAAE,GAAkB;IACxD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC;AAFD,4BAEC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,IAAa;IACnC,OAAO,CACL,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,SAAS,CACxE,CAAC;AACJ,CAAC;AAJD,0BAIC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,CACL,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,YAAY,CAC3E,CAAC;AACJ,CAAC;AAJD,gCAIC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,IAAgC;IAEhC,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IACD,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;QACnC,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,gDAUC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,IAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,QAAQ,QAAQ,CAAC,IAAI,EAAE;YACrB,KAAK,UAAU,CAAC,aAAa;gBAC3B,OAAO,QAAQ,CAAC;YAClB,KAAK,UAAU,CAAC,gBAAgB;gBAC9B,OAAO,WAAW,CAAC;YACrB,KAAK,UAAU,CAAC,cAAc;gBAC5B,OAAO,SAAS,CAAC;YACnB;gBACE,MAAM;SACT;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,wDAqBC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,aAA2B,EAC3B,MAAe,EACf,GAAkB;IAElB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpB,SAAS,IAAI,CAAC,CAAU;QACtB,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE;YAChD,qEAAqE;YACrE,OAAO,CAAC,CAAC;SACV;QACD,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,KAAc,EAAE,EAAE;YACzD,MAAM,qBAAqB;YACzB,oDAAoD;YACpD,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;gBACjE,wDAAwD;gBACxD,KAAK,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC;YAClC,OAAO,qBAAqB,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACb,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAvBD,sCAuBC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,IAAa,EACb,SAAqC;IAErC,OAAO,IAAI,EAAE;QACX,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,8DAWC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC;AAFD,wCAEC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO,kBAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAFD,8DAEC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,oBAAoB,CAAC;AACvD,CAAC;AAFD,gDAEC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAE1B;IACC,OAAO,IAAI,CAAC,aAAa;QACvB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa;QACtD,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAND,gCAMC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,IAAmB;IAEnB,OAAO,IAAI,CAAC,IAAI,KAAK,0BAAc,CAAC,eAAe,CAAC;AACtD,CAAC;AAJD,8CAIC;AAED;;GAEG;AACH,SAAgB,+BAA+B,CAC7C,IAIwB,EACxB,KAAoB;IAEpB,IACE,iBAAiB,CAAC,KAAK,CAAC;QACxB,2EAA2E;QAC3E,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB,EAC9D;QACA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,0EAiBC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,KAA8C;IAE9C,IAAI,qBAAqB,IAAI,KAAK,IAAI,KAAK,CAAC,mBAAmB,EAAE;QAC/D,IAAI,KAAK,CAAC,mBAAmB,KAAK,UAAU,CAAC,WAAW,EAAE;YACxD,OAAO,2BAAe,CAAC,IAAI,CAAC;SAC7B;aAAM,IACL,KAAK,CAAC,mBAAmB,IAAI,UAAU,CAAC,uBAAuB;YAC/D,KAAK,CAAC,mBAAmB,IAAI,UAAU,CAAC,WAAW,EACnD;YACA,OAAO,2BAAe,CAAC,UAAU,CAAC;SACnC;QACD,OAAO,2BAAe,CAAC,OAAO,CAAC;KAChC;IAED,IACE,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,YAAY;QACrC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,sBAAsB,EAC/C;QACA,IACE,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY;YACtC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW,EACrC;YACA,OAAO,2BAAe,CAAC,OAAO,CAAC;SAChC;QAED,OAAO,2BAAe,CAAC,OAAO,CAAC;KAChC;IAED,IACE,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,gBAAgB;QACzC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,kBAAkB,EAC3C;QACA,OAAO,2BAAe,CAAC,UAAU,CAAC;KACnC;IAED,IACE,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,6BAA6B;QACtD,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,YAAY,EACrC;QACA,OAAO,2BAAe,CAAC,QAAQ,CAAC;KACjC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE;QAClB,KAAK,UAAU,CAAC,cAAc;YAC5B,OAAO,2BAAe,CAAC,OAAO,CAAC;QAEjC,KAAK,UAAU,CAAC,OAAO;YACrB,OAAO,2BAAe,CAAC,OAAO,CAAC;QAEjC,KAAK,UAAU,CAAC,aAAa;YAC3B,mGAAmG;YACnG,2CAA2C;YAC3C,IACE,KAAK,CAAC,MAAM;gBACZ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY;oBAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,EAC9C;gBACA,OAAO,2BAAe,CAAC,OAAO,CAAC;aAChC;YAED,OAAO,2BAAe,CAAC,MAAM,CAAC;QAEhC,KAAK,UAAU,CAAC,wBAAwB;YACtC,OAAO,2BAAe,CAAC,iBAAiB,CAAC;QAE3C,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,UAAU,CAAC;QAE3B,gBAAgB;QAChB,QAAQ;KACT;IAED,8DAA8D;IAC9D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAE;QACxD,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,2BAAe,CAAC,aAAa,CAAC;SACtC;QAED,IACE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,wBAAwB;YACzD,cAAc,CAAC,KAAK,CAAC,EACrB;YACA,OAAO,2BAAe,CAAC,aAAa,CAAC;SACtC;KACF;IAED,OAAO,2BAAe,CAAC,UAAU,CAAC;AACpC,CAAC;AA1FD,oCA0FC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,KAAc,EACd,GAAkB;IAElB,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO;QAC/B,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE;QACtB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,SAAS,KAAK,2BAAe,CAAC,iBAAiB,EAAE;QACnD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACnB,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;YAC/B,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/C;SACF,CAAC;KACH;SAAM;QACL,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACnB,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;SAChC,CAAC;KACH;AACH,CAAC;AA/BD,oCA+BC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,GAAkB;IAC9C,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC;;OAEG;IACH,SAAS,IAAI,CAAC,IAAa;QACzB,wEAAwE;QACxE,iFAAiF;QACjF,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;YAC3C,OAAO;SACR;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc,EAAE;YAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE1C,IAAI,SAAS,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,sCAwBC;AASD;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,GAAkB,EAClB,KAAa,EACb,OAAe;IAEf,MAAM,GAAG,GAAG,GAAG,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,SAAS;QACrB,OAAO;KACR,CAAC;AACJ,CAAC;AAZD,kCAYC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,CAAU,EAAE,GAAkB;IAC1D,6EAA6E;IAC7E,sDAAsD;IACtD,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;QACzC,CAAC,CAAC,8DAA8D;YAC9D,CAAC,CAAE,CAAS,CAAC,KAAK;QACpB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAPD,sCAOC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,KAA+B,EAC/B,QAAsD;IAEtD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,MAAM,CAAC;SACf;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAfD,oCAeC"} \ No newline at end of file +{"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts index e64a09d25..0eee1cc38 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts @@ -1,6 +1,7 @@ import { DebugLevel } from '@typescript-eslint/types'; -import { Program } from 'typescript'; -import { TSESTree, TSNode, TSESTreeToTSNode, TSToken } from './ts-estree'; +import type { Program } from 'typescript'; +import { CanonicalPath } from './create-program/shared'; +import { TSESTree, TSESTreeToTSNode, TSNode, TSToken } from './ts-estree'; declare type DebugModule = 'typescript-eslint' | 'eslint' | 'typescript'; export interface Extra { code: string; @@ -10,13 +11,16 @@ export interface Extra { debugLevel: Set; errorOnTypeScriptSyntacticAndSemanticIssues: boolean; errorOnUnknownASTType: boolean; + EXPERIMENTAL_useSourceOfProjectReferenceRedirect: boolean; extraFileExtensions: string[]; filePath: string; jsx: boolean; loc: boolean; + singleRun: boolean; log: (message: string) => void; preserveNodeMaps?: boolean; - projects: string[]; + programs: null | Iterable; + projects: CanonicalPath[]; range: boolean; strict: boolean; tokens: null | TSESTree.Token[]; @@ -82,6 +86,17 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { * Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors. */ errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; + /** + * ***EXPERIMENTAL FLAG*** - Use this at your own risk. + * + * Causes TS to use the source files for referenced projects instead of the compiled .d.ts files. + * This feature is not yet optimized, and is likely to cause OOMs for medium to large projects. + * + * This flag REQUIRES at least TS v3.9, otherwise it does nothing. + * + * See: https://github.com/typescript-eslint/typescript-eslint/issues/2094 + */ + EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean; /** * When `project` is provided, this controls the non-standard file extensions which will be parsed. * It accepts an array of file extensions, each preceded by a `.`. @@ -120,6 +135,12 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { * The absolute path to the root directory for all provided `project`s. */ tsconfigRootDir?: string; + /** + * An array of one or more instances of TypeScript Program objects to be used for type information. + * This overrides any program or programs that would have been computed from the `project` option. + * All linted files must be part of the provided program(s). + */ + programs?: Program[]; /** *************************************************************************************** * IT IS RECOMMENDED THAT YOU DO NOT USE THIS OPTION, AS IT CAUSES PERFORMANCE ISSUES. * @@ -130,6 +151,19 @@ interface ParseAndGenerateServicesOptions extends ParseOptions { * it will not error, but will instead parse the file and its dependencies in a new program. */ createDefaultProgram?: boolean; + /** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. + * + * When allowAutomaticSingleRunInference is enabled, we will use common heuristics to infer + * whether or not ESLint is being used as part of a single run. + */ + allowAutomaticSingleRunInference?: boolean; } export declare type TSESTreeOptions = ParseAndGenerateServicesOptions; export interface ParserWeakMap { diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map index af6375f00..163502813 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1E,aAAK,WAAW,GAAG,mBAAmB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEjE,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,2CAA2C,EAAE,OAAO,CAAC;IACrD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gDAAgD,EAAE,OAAO,CAAC;IAC1D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAMD,UAAU,YAAY;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAOd,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC;IAE/C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAQjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,+BAAgC,SAAQ,YAAY;IAC5D;;OAEG;IACH,2CAA2C,CAAC,EAAE,OAAO,CAAC;IAEtD;;;;;;;;;OASG;IACH,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAE3D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;AAED,oBAAY,eAAe,GAAG,+BAA+B,CAAC;AAI9D,MAAM,WAAW,aAAa,CAAC,IAAI,EAAE,UAAU;IAC7C,GAAG,CAAC,MAAM,SAAS,UAAU,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B,CAC1C,IAAI,SAAS,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;IAE1C,GAAG,CAAC,QAAQ,SAAS,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,OAAO,CAAC;CACjC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts index d31f3a7ab..57ebd4f02 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts @@ -1,5 +1,6 @@ import { TSESTreeOptions, ParserServices } from './parser-options'; import { TSESTree } from './ts-estree'; +declare function clearProgramCache(): void; interface EmptyObject { } declare type AST = TSESTree.Program & (T['tokens'] extends true ? { @@ -11,7 +12,13 @@ interface ParseAndGenerateServicesResult { ast: AST; services: ParserServices; } +interface ParseWithNodeMapsResult { + ast: AST; + esTreeNodeToTSNodeMap: ParserServices['esTreeNodeToTSNodeMap']; + tsNodeToESTreeNodeMap: ParserServices['tsNodeToESTreeNodeMap']; +} declare function parse(code: string, options?: T): AST; +declare function parseWithNodeMaps(code: string, options?: T): ParseWithNodeMapsResult; declare function parseAndGenerateServices(code: string, options: T): ParseAndGenerateServicesResult; -export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult }; +export { AST, parse, parseAndGenerateServices, parseWithNodeMaps, ParseAndGenerateServicesResult, ParseWithNodeMapsResult, clearProgramCache, }; //# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map index 064703353..cd9870568 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAWA,OAAO,EAAS,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwSvC,UAAU,WAAW;CAAG;AACxB,aAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GACvE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE/E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CA4CR;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CA0EnC;AAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAS,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyCvC,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AA+VD,UAAU,WAAW;CAAG;AACxB,aAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GACvE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE/E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AACD,UAAU,uBAAuB,CAAC,CAAC,SAAS,eAAe;IACzD,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,qBAAqB,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC/D,qBAAqB,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;CAChE;AAED,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA8DD,iBAAS,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACpE,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CAyGnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,iBAAiB,EACjB,8BAA8B,EAC9B,uBAAuB,EACvB,iBAAiB,GAClB,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser.js b/node_modules/@typescript-eslint/typescript-estree/dist/parser.js index 20db62122..ff9f4b04f 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser.js +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser.js @@ -22,11 +22,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseAndGenerateServices = exports.parse = void 0; +exports.clearProgramCache = exports.parseWithNodeMaps = exports.parseAndGenerateServices = exports.parse = void 0; const debug_1 = __importDefault(require("debug")); const globby_1 = require("globby"); const is_glob_1 = __importDefault(require("is-glob")); const semver_1 = __importDefault(require("semver")); +const path_1 = require("path"); const ts = __importStar(require("typescript")); const ast_converter_1 = require("./ast-converter"); const convert_1 = require("./convert"); @@ -36,23 +37,34 @@ const createProjectProgram_1 = require("./create-program/createProjectProgram"); const createSourceFile_1 = require("./create-program/createSourceFile"); const semantic_or_syntactic_errors_1 = require("./semantic-or-syntactic-errors"); const shared_1 = require("./create-program/shared"); +const useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); const log = debug_1.default('typescript-eslint:typescript-estree:parser'); /** * This needs to be kept in sync with the top-level README.md in the * typescript-eslint monorepo */ -const SUPPORTED_TYPESCRIPT_VERSIONS = '>=3.3.1 <4.1.0'; +const SUPPORTED_TYPESCRIPT_VERSIONS = '>=3.3.1 <4.4.0'; /* * The semver package will ignore prerelease ranges, and we don't want to explicitly document every one * List them all separately here, so we can automatically create the full string */ -const SUPPORTED_PRERELEASE_RANGES = []; +const SUPPORTED_PRERELEASE_RANGES = ['4.3.0-beta', '4.3.1-rc']; const ACTIVE_TYPESCRIPT_VERSION = ts.version; const isRunningSupportedTypeScriptVersion = semver_1.default.satisfies(ACTIVE_TYPESCRIPT_VERSION, [SUPPORTED_TYPESCRIPT_VERSIONS] .concat(SUPPORTED_PRERELEASE_RANGES) .join(' || ')); let extra; let warnedAboutTSVersion = false; +/** + * Cache existing programs for the single run use-case. + * + * clearProgramCache() is only intended to be used in testing to ensure the parser is clean between tests. + */ +const existingPrograms = new Map(); +function clearProgramCache() { + existingPrograms.clear(); +} +exports.clearProgramCache = clearProgramCache; function enforceString(code) { /** * Ensure the source code is a string @@ -64,13 +76,15 @@ function enforceString(code) { } /** * @param code The code of the file being linted + * @param programInstances One or more (potentially lazily constructed) existing programs to use * @param shouldProvideParserServices True if the program should be attempted to be calculated from provided tsconfig files * @param shouldCreateDefaultProgram True if the program should be created from compiler host * @returns Returns a source file and program corresponding to the linted code */ -function getProgramAndAST(code, shouldProvideParserServices, shouldCreateDefaultProgram) { - return ((shouldProvideParserServices && - createProjectProgram_1.createProjectProgram(code, shouldCreateDefaultProgram, extra)) || +function getProgramAndAST(code, programInstances, shouldProvideParserServices, shouldCreateDefaultProgram) { + return ((programInstances && useProvidedPrograms_1.useProvidedPrograms(programInstances, extra)) || + (shouldProvideParserServices && + createProjectProgram_1.createProjectProgram(code, shouldCreateDefaultProgram, extra)) || (shouldProvideParserServices && shouldCreateDefaultProgram && createDefaultProgram_1.createDefaultProgram(code, extra)) || @@ -99,48 +113,59 @@ function resetExtra() { debugLevel: new Set(), errorOnTypeScriptSyntacticAndSemanticIssues: false, errorOnUnknownASTType: false, + EXPERIMENTAL_useSourceOfProjectReferenceRedirect: false, extraFileExtensions: [], filePath: getFileName(), jsx: false, loc: false, log: console.log, preserveNodeMaps: true, + programs: null, projects: [], range: false, strict: false, tokens: null, tsconfigRootDir: process.cwd(), useJSXTextNode: false, + /** + * Unless we can reliably infer otherwise, we default to assuming that this run could be part + * of a long-running session (e.g. in an IDE) and watch programs will therefore be required + */ + singleRun: false, }; } +function getTsconfigPath(tsconfigPath, extra) { + return shared_1.getCanonicalFileName(shared_1.ensureAbsolutePath(tsconfigPath, extra)); +} /** - * Normalizes, sanitizes, resolves and filters the provided + * Normalizes, sanitizes, resolves and filters the provided project paths */ function prepareAndTransformProjects(projectsInput, ignoreListInput) { - let projects = []; + const sanitizedProjects = []; // Normalize and sanitize the project paths if (typeof projectsInput === 'string') { - projects.push(projectsInput); + sanitizedProjects.push(projectsInput); } else if (Array.isArray(projectsInput)) { for (const project of projectsInput) { if (typeof project === 'string') { - projects.push(project); + sanitizedProjects.push(project); } } } - if (projects.length === 0) { - return projects; + if (sanitizedProjects.length === 0) { + return []; } // Transform glob patterns into paths - const globbedProjects = projects.filter(project => is_glob_1.default(project)); - projects = projects - .filter(project => !is_glob_1.default(project)) - .concat(globby_1.sync([...globbedProjects, ...ignoreListInput], { + const nonGlobProjects = sanitizedProjects.filter(project => !is_glob_1.default(project)); + const globProjects = sanitizedProjects.filter(project => is_glob_1.default(project)); + const uniqueCanonicalProjectPaths = new Set(nonGlobProjects + .concat(globby_1.sync([...globProjects, ...ignoreListInput], { cwd: extra.tsconfigRootDir, - })); - log('parserOptions.project (excluding ignored) matched projects: %s', projects); - return projects; + })) + .map(project => getTsconfigPath(project, extra))); + log('parserOptions.project (excluding ignored) matched projects: %s', uniqueCanonicalProjectPaths); + return Array.from(uniqueCanonicalProjectPaths); } function applyParserOptionsToExtra(options) { var _a; @@ -161,7 +186,7 @@ function applyParserOptionsToExtra(options) { } if (extra.debugLevel.has('eslint') || // make sure we don't turn off the eslint debug if it was enabled via --debug - debug_1.default.enabled('eslint:*')) { + debug_1.default.enabled('eslint:*,-eslint:code-path')) { // https://github.com/eslint/eslint/blob/9dfc8501fb1956c90dc11e6377b4cb38a6bea65d/bin/eslint.js#L25 namespaces.push('eslint:*,-eslint:code-path'); } @@ -232,17 +257,27 @@ function applyParserOptionsToExtra(options) { } // NOTE - ensureAbsolutePath relies upon having the correct tsconfigRootDir in extra extra.filePath = shared_1.ensureAbsolutePath(extra.filePath, extra); - // NOTE - prepareAndTransformProjects relies upon having the correct tsconfigRootDir in extra - const projectFolderIgnoreList = ((_a = options.projectFolderIgnoreList) !== null && _a !== void 0 ? _a : []) - .reduce((acc, folder) => { - if (typeof folder === 'string') { - acc.push(folder); + if (Array.isArray(options.programs)) { + if (!options.programs.length) { + throw new Error(`You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.`); } - return acc; - }, []) - // prefix with a ! for not match glob - .map(folder => (folder.startsWith('!') ? folder : `!${folder}`)); - extra.projects = prepareAndTransformProjects(options.project, projectFolderIgnoreList); + extra.programs = options.programs; + log('parserOptions.programs was provided, so parserOptions.project will be ignored.'); + } + if (!extra.programs) { + // providing a program overrides project resolution + const projectFolderIgnoreList = ((_a = options.projectFolderIgnoreList) !== null && _a !== void 0 ? _a : ['**/node_modules/**']) + .reduce((acc, folder) => { + if (typeof folder === 'string') { + acc.push(folder); + } + return acc; + }, []) + // prefix with a ! for not match glob + .map(folder => (folder.startsWith('!') ? folder : `!${folder}`)); + // NOTE - prepareAndTransformProjects relies upon having the correct tsconfigRootDir in extra + extra.projects = prepareAndTransformProjects(options.project, projectFolderIgnoreList); + } if (Array.isArray(options.extraFileExtensions) && options.extraFileExtensions.every(ext => typeof ext === 'string')) { extra.extraFileExtensions = options.extraFileExtensions; @@ -257,6 +292,9 @@ function applyParserOptionsToExtra(options) { extra.createDefaultProgram = typeof options.createDefaultProgram === 'boolean' && options.createDefaultProgram; + extra.EXPERIMENTAL_useSourceOfProjectReferenceRedirect = + typeof options.EXPERIMENTAL_useSourceOfProjectReferenceRedirect === + 'boolean' && options.EXPERIMENTAL_useSourceOfProjectReferenceRedirect; } function warnAboutTSVersion() { var _a; @@ -278,7 +316,49 @@ function warnAboutTSVersion() { warnedAboutTSVersion = true; } } +/** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. We therefore use the following logic to figure out which + * of these contexts applies to the current execution. + */ +function inferSingleRun(options) { + // Allow users to explicitly inform us of their intent to perform a single run (or not) with TSESTREE_SINGLE_RUN + if (process.env.TSESTREE_SINGLE_RUN === 'false') { + extra.singleRun = false; + return; + } + if (process.env.TSESTREE_SINGLE_RUN === 'true') { + extra.singleRun = true; + return; + } + // Currently behind a flag while we gather real-world feedback + if (options === null || options === void 0 ? void 0 : options.allowAutomaticSingleRunInference) { + if ( + // Default to single runs for CI processes. CI=true is set by most CI providers by default. + process.env.CI === 'true' || + // This will be true for invocations such as `npx eslint ...` and `./node_modules/.bin/eslint ...` + process.argv[1].endsWith(path_1.normalize('node_modules/.bin/eslint'))) { + extra.singleRun = true; + return; + } + } + /** + * We default to assuming that this run could be part of a long-running session (e.g. in an IDE) + * and watch programs will therefore be required + */ + extra.singleRun = false; +} function parse(code, options) { + const { ast } = parseWithNodeMapsInternal(code, options, false); + return ast; +} +exports.parse = parse; +function parseWithNodeMapsInternal(code, options, shouldPreserveNodeMaps) { /** * Reset the parse configuration */ @@ -304,6 +384,10 @@ function parse(code, options) { * Warn if the user is using an unsupported version of TypeScript */ warnAboutTSVersion(); + /** + * Figure out whether this is a single run or part of a long-running process + */ + inferSingleRun(options); /** * Create a ts.SourceFile directly, no ts.Program is needed for a simple * parse @@ -312,11 +396,19 @@ function parse(code, options) { /** * Convert the TypeScript AST to an ESTree-compatible one */ - const { estree } = ast_converter_1.astConverter(ast, extra, false); - return estree; + const { estree, astMaps } = ast_converter_1.astConverter(ast, extra, shouldPreserveNodeMaps); + return { + ast: estree, + esTreeNodeToTSNodeMap: astMaps.esTreeNodeToTSNodeMap, + tsNodeToESTreeNodeMap: astMaps.tsNodeToESTreeNodeMap, + }; } -exports.parse = parse; +function parseWithNodeMaps(code, options) { + return parseWithNodeMapsInternal(code, options, true); +} +exports.parseWithNodeMaps = parseWithNodeMaps; function parseAndGenerateServices(code, options) { + var _a; /** * Reset the parse configuration */ @@ -342,11 +434,37 @@ function parseAndGenerateServices(code, options) { */ warnAboutTSVersion(); /** - * Generate a full ts.Program in order to be able to provide parser - * services, such as type-checking + * Figure out whether this is a single run or part of a long-running process */ - const shouldProvideParserServices = extra.projects && extra.projects.length > 0; - const { ast, program } = getProgramAndAST(code, shouldProvideParserServices, extra.createDefaultProgram); + inferSingleRun(options); + /** + * If this is a single run in which the user has not provided any existing programs but there + * are programs which need to be created from the provided "project" option, + * create an Iterable which will lazily create the programs as needed by the iteration logic + */ + if (extra.singleRun && !extra.programs && ((_a = extra.projects) === null || _a === void 0 ? void 0 : _a.length) > 0) { + extra.programs = { + *[Symbol.iterator]() { + for (const configFile of extra.projects) { + const existingProgram = existingPrograms.get(configFile); + if (existingProgram) { + yield existingProgram; + } + else { + log('Detected single-run/CLI usage, creating Program once ahead of time for project: %s', configFile); + const newProgram = useProvidedPrograms_1.createProgramFromConfigFile(configFile); + existingPrograms.set(configFile, newProgram); + yield newProgram; + } + } + }, + }; + } + /** + * Generate a full ts.Program or offer provided instances in order to be able to provide parser services, such as type-checking + */ + const shouldProvideParserServices = extra.programs != null || (extra.projects && extra.projects.length > 0); + const { ast, program } = getProgramAndAST(code, extra.programs, shouldProvideParserServices, extra.createDefaultProgram); /** * Convert the TypeScript AST to an ESTree-compatible one, and optionally preserve * mappings between converted and original AST nodes diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map b/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map index d717c37d4..c6e5da885 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map @@ -1 +1 @@ -{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAA0C;AAC1C,sDAA6B;AAC7B,oDAA4B;AAC5B,+CAAiC;AACjC,mDAA+C;AAC/C,uCAAyC;AACzC,gFAA6E;AAC7E,kFAA+E;AAC/E,gFAA6E;AAC7E,wEAAqE;AAErE,iFAAkF;AAElF,oDAA4E;AAE5E,MAAM,GAAG,GAAG,eAAK,CAAC,4CAA4C,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AACvD;;;GAGG;AACH,MAAM,2BAA2B,GAAa,EAAE,CAAC;AACjD,MAAM,yBAAyB,GAAG,EAAE,CAAC,OAAO,CAAC;AAC7C,MAAM,mCAAmC,GAAG,gBAAM,CAAC,SAAS,CAC1D,yBAAyB,EACzB,CAAC,6BAA6B,CAAC;KAC5B,MAAM,CAAC,2BAA2B,CAAC;KACnC,IAAI,CAAC,MAAM,CAAC,CAChB,CAAC;AAEF,IAAI,KAAY,CAAC;AACjB,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC,SAAS,aAAa,CAAC,IAAa;IAClC;;OAEG;IACH,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,2BAAoC,EACpC,0BAAmC;IAEnC,OAAO,CACL,CAAC,2BAA2B;QAC1B,2CAAoB,CAAC,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC,2BAA2B;YAC1B,0BAA0B;YAC1B,2CAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,6CAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CACnC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,EAAE,GAAG,KAAwB,EAAE;IAClD,OAAO,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,KAAK,GAAG;QACN,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,EAAE;QACZ,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,2CAA2C,EAAE,KAAK;QAClD,qBAAqB,EAAE,KAAK;QAC5B,mBAAmB,EAAE,EAAE;QACvB,QAAQ,EAAE,WAAW,EAAE;QACvB,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,gBAAgB,EAAE,IAAI;QACtB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE;QAC9B,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,aAA4C,EAC5C,eAAyB;IAEzB,IAAI,QAAQ,GAAa,EAAE,CAAC;IAE5B,2CAA2C;IAC3C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9B;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACvC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;YACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;SACF;KACF;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,QAAQ,CAAC;KACjB;IAED,qCAAqC;IACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,QAAQ,GAAG,QAAQ;SAChB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAM,CAAC,OAAO,CAAC,CAAC;SACnC,MAAM,CACL,aAAQ,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,EAAE;QACjD,GAAG,EAAE,KAAK,CAAC,eAAe;KAC3B,CAAC,CACH,CAAC;IAEJ,GAAG,CACD,gEAAgE,EAChE,QAAQ,CACT,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAwB;;IACzD;;OAEG;IACH,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;QAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;KACnD;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC5C,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAChD;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;QAC7B,8EAA8E;QAC9E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;YAC7C,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACxC;QACD,IACE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9B,6EAA6E;YAC7E,eAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EACzB;YACA,mGAAmG;YACnG,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QACD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACpC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC;IAClE,KAAK,CAAC,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAE5D;;OAEG;IACH,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE;QACzD,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;KACnB;IAED;;OAEG;IACH,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE;QAC3D,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;KACrB;IAED;;OAEG;IACH,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE;QACnD,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;KAClB;IAED;;OAEG;IACH,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC1E,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;KACnC;SAAM;QACL,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;KACrC;IAED;;;;;;OAMG;IACH,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE;QACzE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;KAC7B;IAED;;;OAGG;IACH,IACE,OAAO,OAAO,CAAC,qBAAqB,KAAK,SAAS;QAClD,OAAO,CAAC,qBAAqB,EAC7B;QACA,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;KACpC;IAED;;OAEG;IACH,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;QAC1C,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;KAC9B;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;QACrC,KAAK,CAAC,GAAG,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;KAC5B;IAED,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE;QAC/C,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;KACjD;IAED,oFAAoF;IACpF,KAAK,CAAC,QAAQ,GAAG,2BAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3D,6FAA6F;IAC7F,MAAM,uBAAuB,GAAG,OAAC,OAAO,CAAC,uBAAuB,mCAAI,EAAE,CAAC;SACpE,MAAM,CAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;QACN,qCAAqC;SACpC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,QAAQ,GAAG,2BAA2B,CAC1C,OAAO,CAAC,OAAO,EACf,uBAAuB,CACxB,CAAC;IAEF,IACE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1C,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EACjE;QACA,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;KACzD;IAED;;;OAGG;IACH,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE;QACjD,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;KACnD;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,OAAO,CAAC,oBAAoB,KAAK,SAAS;YACjD,OAAO,CAAC,oBAAoB,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB;;IACzB,IAAI,CAAC,mCAAmC,IAAI,CAAC,oBAAoB,EAAE;QACjE,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAC,OAAO,CAAC,MAAM,0CAAE,KAAK,CAAC;QAC3E,IAAI,KAAK,EAAE;YACT,MAAM,MAAM,GAAG,eAAe,CAAC;YAC/B,MAAM,cAAc,GAAG;gBACrB,MAAM;gBACN,uIAAuI;gBACvI,uDAAuD;gBACvD,kCAAkC,6BAA6B,EAAE;gBACjE,4BAA4B,yBAAyB,EAAE;gBACvD,6EAA6E;gBAC7E,MAAM;aACP,CAAC;YACF,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACxC;QACD,oBAAoB,GAAG,IAAI,CAAC;KAC7B;AACH,CAAC;AAaD,SAAS,KAAK,CACZ,IAAY,EACZ,OAAW;IAEX;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,2CAA2C,EAAE;QACxD,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;KACH;IAED;;OAEG;IACH,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB;;OAEG;IACH,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,yBAAyB,CAAC,OAAO,CAAC,CAAC;KACpC;IAED;;OAEG;IACH,kBAAkB,EAAE,CAAC;IAErB;;;OAGG;IACH,MAAM,GAAG,GAAG,mCAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,4BAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAiFa,sBAAK;AA/EnB,SAAS,wBAAwB,CAC/B,IAAY,EACZ,OAAU;IAEV;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB;;OAEG;IACH,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACnC,IACE,OAAO,OAAO,CAAC,2CAA2C;YACxD,SAAS;YACX,OAAO,CAAC,2CAA2C,EACnD;YACA,KAAK,CAAC,2CAA2C,GAAG,IAAI,CAAC;SAC1D;KACF;IAED;;OAEG;IACH,kBAAkB,EAAE,CAAC;IAErB;;;OAGG;IACH,MAAM,2BAA2B,GAC/B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,gBAAgB,CACvC,IAAI,EACJ,2BAA2B,EAC3B,KAAK,CAAC,oBAAoB,CAC1B,CAAC;IAEH;;;OAGG;IACH,MAAM,gBAAgB,GACpB,OAAO,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,4BAAY,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEvE;;;OAGG;IACH,IAAI,OAAO,IAAI,KAAK,CAAC,2CAA2C,EAAE;QAChE,MAAM,KAAK,GAAG,+DAAgC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE;YACT,MAAM,sBAAY,CAAC,KAAK,CAAC,CAAC;SAC3B;KACF;IAED;;OAEG;IACH,OAAO;QACL,GAAG,EAAE,MAAgB;QACrB,QAAQ,EAAE;YACR,sBAAsB,EAAE,2BAA2B;YACnD,OAAO;YACP,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD;KACF,CAAC;AACJ,CAAC;AAEoB,4DAAwB"} \ No newline at end of file +{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts index c3aa41b7a..da6cf6b26 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts @@ -54,6 +54,7 @@ export interface EstreeToTsNodeTypes { [AST_NODE_TYPES.JSXSpreadAttribute]: ts.JsxSpreadAttribute; [AST_NODE_TYPES.JSXSpreadChild]: ts.JsxExpression; [AST_NODE_TYPES.JSXMemberExpression]: ts.PropertyAccessExpression; + [AST_NODE_TYPES.JSXNamespacedName]: ts.Identifier | ts.ThisExpression; [AST_NODE_TYPES.JSXText]: ts.JsxText; [AST_NODE_TYPES.LabeledStatement]: ts.LabeledStatement; [AST_NODE_TYPES.Literal]: ts.StringLiteral | ts.NumericLiteral | ts.RegularExpressionLiteral | ts.JsxText | ts.NullLiteral | ts.BooleanLiteral | ts.BigIntLiteral; @@ -83,11 +84,11 @@ export interface EstreeToTsNodeTypes { [AST_NODE_TYPES.TSAbstractMethodDefinition]: ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.MethodDeclaration | ts.ConstructorDeclaration; [AST_NODE_TYPES.TSArrayType]: ts.ArrayTypeNode; [AST_NODE_TYPES.TSAsExpression]: ts.AsExpression; - [AST_NODE_TYPES.TSCallSignatureDeclaration]: ts.PropertySignature; + [AST_NODE_TYPES.TSCallSignatureDeclaration]: ts.CallSignatureDeclaration; [AST_NODE_TYPES.TSClassImplements]: ts.ExpressionWithTypeArguments; [AST_NODE_TYPES.TSConditionalType]: ts.ConditionalTypeNode; [AST_NODE_TYPES.TSConstructorType]: ts.ConstructorTypeNode; - [AST_NODE_TYPES.TSConstructSignatureDeclaration]: ts.ConstructorTypeNode | ts.FunctionTypeNode | ts.ConstructSignatureDeclaration | ts.CallSignatureDeclaration; + [AST_NODE_TYPES.TSConstructSignatureDeclaration]: ts.ConstructSignatureDeclaration; [AST_NODE_TYPES.TSDeclareFunction]: ts.FunctionDeclaration; [AST_NODE_TYPES.TSEnumDeclaration]: ts.EnumDeclaration; [AST_NODE_TYPES.TSEnumMember]: ts.EnumMember; @@ -105,7 +106,7 @@ export interface EstreeToTsNodeTypes { [AST_NODE_TYPES.TSIntersectionType]: ts.IntersectionTypeNode; [AST_NODE_TYPES.TSLiteralType]: ts.LiteralTypeNode; [AST_NODE_TYPES.TSMappedType]: ts.MappedTypeNode; - [AST_NODE_TYPES.TSMethodSignature]: ts.MethodSignature; + [AST_NODE_TYPES.TSMethodSignature]: ts.MethodSignature | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration; [AST_NODE_TYPES.TSModuleBlock]: ts.ModuleBlock; [AST_NODE_TYPES.TSModuleDeclaration]: ts.ModuleDeclaration; [AST_NODE_TYPES.TSNamedTupleMember]: ts.NamedTupleMember; @@ -119,6 +120,7 @@ export interface EstreeToTsNodeTypes { [AST_NODE_TYPES.TSRestType]: ts.RestTypeNode | ts.NamedTupleMember; [AST_NODE_TYPES.TSThisType]: ts.ThisTypeNode; [AST_NODE_TYPES.TSTupleType]: ts.TupleTypeNode; + [AST_NODE_TYPES.TSTemplateLiteralType]: ts.TemplateLiteralTypeNode; [AST_NODE_TYPES.TSTypeAliasDeclaration]: ts.TypeAliasDeclaration; [AST_NODE_TYPES.TSTypeAnnotation]: undefined; [AST_NODE_TYPES.TSTypeAssertion]: ts.TypeAssertion; @@ -144,6 +146,7 @@ export interface EstreeToTsNodeTypes { [AST_NODE_TYPES.TSAnyKeyword]: ts.KeywordTypeNode; [AST_NODE_TYPES.TSBigIntKeyword]: ts.KeywordTypeNode; [AST_NODE_TYPES.TSBooleanKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSIntrinsicKeyword]: ts.KeywordTypeNode; [AST_NODE_TYPES.TSNeverKeyword]: ts.KeywordTypeNode; [AST_NODE_TYPES.TSNumberKeyword]: ts.KeywordTypeNode; [AST_NODE_TYPES.TSObjectKeyword]: ts.KeywordTypeNode; diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map index 8704471bf..aa8d79cc5 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"estree-to-ts-node-types.d.ts","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,mBAAmB;IAClC,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC;IAC5D,CAAC,cAAc,CAAC,YAAY,CAAC,EACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,mBAAmB,CAAC;IAC3B,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC3D,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAC3D,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAC9B,EAAE,CAAC,2BAA2B,GAC9B,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,CAAC;IAC5B,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACvD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAC7C,CAAC,cAAc,CAAC,eAAe,CAAC,EAC5B,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,wBAAwB,GAC3B,EAAE,CAAC,uBAAuB,GAC1B,EAAE,CAAC,iBAAiB,CAAC;IACzB,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,eAAe,CAAC;IACrE,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACvD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACvD,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;IACjE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACzD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACzD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;IACzC,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAClD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC5D,CAAC,cAAc,CAAC,wBAAwB,CAAC,EACrC,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,mBAAmB,GACtB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,CAAC;IACzB,CAAC,cAAc,CAAC,sBAAsB,CAAC,EACnC,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,mBAAmB,GACtB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,CAAC;IACzB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC7D,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IAC/C,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC7D,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAC/B,EAAE,CAAC,kBAAkB,GACrB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,iBAAiB,CAAC;IACzB,CAAC,cAAc,CAAC,UAAU,CAAC,EACvB,EAAE,CAAC,UAAU,GACb,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAC7C,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACzD,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IACzD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACrD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IAC9D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IAC/C,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACzD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC;IAC3D,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,qBAAqB,CAAC;IACtE,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACtD,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC1D,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAC7C,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC;IAClE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAC9B,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,qBAAqB,CAAC;IAC7B,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC;IAC3D,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC;IAC3D,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAClD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC;IAClE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IACrC,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACvD,CAAC,cAAc,CAAC,OAAO,CAAC,EACpB,EAAE,CAAC,aAAa,GAChB,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,wBAAwB,GAC3B,EAAE,CAAC,OAAO,GACV,EAAE,CAAC,WAAW,GACd,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,aAAa,CAAC;IACrB,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACxD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC7B,EAAE,CAAC,wBAAwB,GAC3B,EAAE,CAAC,uBAAuB,CAAC;IAC/B,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IAC/C,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC7B,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,sBAAsB,CAAC;IAC9B,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACjD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAC9D,CAAC,cAAc,CAAC,aAAa,CAAC,EAC1B,EAAE,CAAC,uBAAuB,GAC1B,EAAE,CAAC,oBAAoB,CAAC;IAC5B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxC,CAAC,cAAc,CAAC,QAAQ,CAAC,EACrB,EAAE,CAAC,kBAAkB,GACrB,EAAE,CAAC,2BAA2B,GAC9B,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,cAAc,CAAC;IACtB,CAAC,cAAc,CAAC,WAAW,CAAC,EACxB,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,aAAa,GAChB,EAAE,CAAC,oBAAoB,CAAC;IAC5B,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACzD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,gBAAgB,CAAC;IACvE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IAC3C,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC;IAC9D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC;IACvE,CAAC,cAAc,CAAC,eAAe,CAAC,EAC5B,EAAE,CAAC,6BAA6B,GAChC,EAAE,CAAC,YAAY,GACf,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,YAAY,CAAC;IACpB,CAAC,cAAc,CAAC,eAAe,CAAC,EAC5B,EAAE,CAAC,6BAA6B,GAChC,EAAE,CAAC,kBAAkB,CAAC;IAC1B,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,eAAe,CAAC;IACxE,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IAC/C,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACjE,CAAC,cAAc,CAAC,0BAA0B,CAAC,EACvC,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,sBAAsB,CAAC;IAC9B,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC/C,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IACjD,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAClE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC;IACnE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC3D,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC3D,CAAC,cAAc,CAAC,+BAA+B,CAAC,EAC5C,EAAE,CAAC,mBAAmB,GACtB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,6BAA6B,GAChC,EAAE,CAAC,wBAAwB,CAAC;IAChC,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC3D,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACvD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IAC7C,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACzD,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IACvE,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACrD,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IACvE,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACjD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;IAC/D,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC;IAChE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC/C,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC;IACjE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAC1D,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC;IACrE,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAC7D,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACnD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACjD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACvD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAC/C,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC3D,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACzD,CAAC,cAAc,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC;IAC7E,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC3D,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACrD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAC9D,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;IAC/D,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC3D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACnD,CAAC,cAAc,CAAC,UAAU,CAAC,EACvB,EAAE,CAAC,YAAY,GAEf,EAAE,CAAC,gBAAgB,CAAC;IACxB,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;IAC7C,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC/C,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC;IACjE,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACnD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACnD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC;IACrD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC;IAC9D,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC;IACvD,CAAC,cAAc,CAAC,4BAA4B,CAAC,EACzC,EAAE,CAAC,wBAAwB,GAC3B,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,2BAA2B,GAC9B,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,qBAAqB,GACxB,EAAE,CAAC,aAAa,GAChB,EAAE,CAAC,cAAc,CAAC;IACtB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACvD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC/C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACvD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAC/C,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC7B,EAAE,CAAC,qBAAqB,GACxB,EAAE,CAAC,sBAAsB,CAAC;IAC9B,CAAC,cAAc,CAAC,eAAe,CAAC,EAC5B,EAAE,CAAC,qBAAqB,GACxB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,cAAc,GACjB,EAAE,CAAC,gBAAgB,CAAC;IACxB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAChC,EAAE,CAAC,uBAAuB,GAC1B,EAAE,CAAC,iBAAiB,CAAC;IACzB,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC5D,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACnD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACjD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IAIrD,CAAC,cAAc,CAAC,6BAA6B,CAAC,EAC1C,EAAE,CAAC,kBAAkB,GACrB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,iBAAiB,CAAC;IAGzB,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5E,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,eAAe,CAAC;IAEpE,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IAClD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACtD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACpD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACrD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACtD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACnD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IAGxD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,oBAAY,gBAAgB,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,OAAO,CAC7E,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAEzE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC/B,CAAC"} \ No newline at end of file +{"version":3,"file":"estree-to-ts-node-types.d.ts","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts index 8142fc45f..cc622388a 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts @@ -2,7 +2,9 @@ import * as ts from 'typescript'; declare module 'typescript' { interface NamedTupleMember extends ts.Node { } + interface TemplateLiteralTypeNode extends ts.Node { + } } export declare type TSToken = ts.Token; -export declare type TSNode = ts.Modifier | ts.Identifier | ts.QualifiedName | ts.ComputedPropertyName | ts.Decorator | ts.TypeParameterDeclaration | ts.CallSignatureDeclaration | ts.ConstructSignatureDeclaration | ts.VariableDeclaration | ts.VariableDeclarationList | ts.ParameterDeclaration | ts.BindingElement | ts.PropertySignature | ts.PropertyDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment | ts.ObjectBindingPattern | ts.ArrayBindingPattern | ts.FunctionDeclaration | ts.MethodSignature | ts.MethodDeclaration | ts.ConstructorDeclaration | ts.SemicolonClassElement | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.IndexSignatureDeclaration | ts.KeywordTypeNode | ts.ImportTypeNode | ts.ThisTypeNode | ts.ConstructorTypeNode | ts.FunctionTypeNode | ts.TypeReferenceNode | ts.TypePredicateNode | ts.TypeQueryNode | ts.TypeLiteralNode | ts.ArrayTypeNode | ts.NamedTupleMember | ts.TupleTypeNode | ts.OptionalTypeNode | ts.RestTypeNode | ts.UnionTypeNode | ts.IntersectionTypeNode | ts.ConditionalTypeNode | ts.InferTypeNode | ts.ParenthesizedTypeNode | ts.TypeOperatorNode | ts.IndexedAccessTypeNode | ts.MappedTypeNode | ts.LiteralTypeNode | ts.StringLiteral | ts.OmittedExpression | ts.PartiallyEmittedExpression | ts.PrefixUnaryExpression | ts.PostfixUnaryExpression | ts.NullLiteral | ts.BooleanLiteral | ts.ThisExpression | ts.SuperExpression | ts.ImportExpression | ts.DeleteExpression | ts.TypeOfExpression | ts.VoidExpression | ts.AwaitExpression | ts.YieldExpression | ts.SyntheticExpression | ts.BinaryExpression | ts.ConditionalExpression | ts.FunctionExpression | ts.ArrowFunction | ts.RegularExpressionLiteral | ts.NoSubstitutionTemplateLiteral | ts.NumericLiteral | ts.BigIntLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail | ts.TemplateExpression | ts.TemplateSpan | ts.ParenthesizedExpression | ts.ArrayLiteralExpression | ts.SpreadElement | ts.ObjectLiteralExpression | ts.PropertyAccessExpression | ts.ElementAccessExpression | ts.CallExpression | ts.ExpressionWithTypeArguments | ts.NewExpression | ts.TaggedTemplateExpression | ts.AsExpression | ts.TypeAssertion | ts.NonNullExpression | ts.MetaProperty | ts.JsxElement | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.JsxFragment | ts.JsxOpeningFragment | ts.JsxClosingFragment | ts.JsxAttribute | ts.JsxSpreadAttribute | ts.JsxClosingElement | ts.JsxExpression | ts.JsxText | ts.NotEmittedStatement | ts.CommaListExpression | ts.EmptyStatement | ts.DebuggerStatement | ts.MissingDeclaration | ts.Block | ts.VariableStatement | ts.ExpressionStatement | ts.IfStatement | ts.DoStatement | ts.WhileStatement | ts.ForStatement | ts.ForInStatement | ts.ForOfStatement | ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.WithStatement | ts.SwitchStatement | ts.CaseBlock | ts.CaseClause | ts.DefaultClause | ts.LabeledStatement | ts.ThrowStatement | ts.TryStatement | ts.CatchClause | ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration | ts.HeritageClause | ts.TypeAliasDeclaration | ts.EnumMember | ts.EnumDeclaration | ts.ModuleDeclaration | ts.ModuleBlock | ts.ImportEqualsDeclaration | ts.ExternalModuleReference | ts.ImportDeclaration | ts.ImportClause | ts.NamespaceImport | ts.NamespaceExportDeclaration | ts.ExportDeclaration | ts.NamedImports | ts.NamedExports | ts.ImportSpecifier | ts.ExportSpecifier | ts.ExportAssignment | ts.SourceFile | ts.Bundle | ts.InputFiles | ts.UnparsedSource | ts.JsonMinusNumericLiteral | ts.JSDoc | ts.JSDocTypeExpression | ts.JSDocUnknownTag | ts.JSDocAugmentsTag | ts.JSDocClassTag | ts.JSDocEnumTag | ts.JSDocThisTag | ts.JSDocTemplateTag | ts.JSDocReturnTag | ts.JSDocTypeTag | ts.JSDocTypedefTag | ts.JSDocCallbackTag | ts.JSDocSignature | ts.JSDocPropertyTag | ts.JSDocParameterTag | ts.JSDocTypeLiteral | ts.JSDocFunctionType | ts.JSDocAllType | ts.JSDocUnknownType | ts.JSDocNullableType | ts.JSDocNonNullableType | ts.JSDocOptionalType | ts.JSDocVariadicType | ts.JSDocAuthorTag; +export declare type TSNode = ts.Modifier | ts.Identifier | ts.QualifiedName | ts.ComputedPropertyName | ts.Decorator | ts.TypeParameterDeclaration | ts.CallSignatureDeclaration | ts.ConstructSignatureDeclaration | ts.VariableDeclaration | ts.VariableDeclarationList | ts.ParameterDeclaration | ts.BindingElement | ts.PropertySignature | ts.PropertyDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment | ts.ObjectBindingPattern | ts.ArrayBindingPattern | ts.FunctionDeclaration | ts.MethodSignature | ts.MethodDeclaration | ts.ConstructorDeclaration | ts.SemicolonClassElement | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.IndexSignatureDeclaration | ts.KeywordTypeNode | ts.ImportTypeNode | ts.ThisTypeNode | ts.ConstructorTypeNode | ts.FunctionTypeNode | ts.TypeReferenceNode | ts.TypePredicateNode | ts.TypeQueryNode | ts.TypeLiteralNode | ts.ArrayTypeNode | ts.NamedTupleMember | ts.TupleTypeNode | ts.OptionalTypeNode | ts.RestTypeNode | ts.UnionTypeNode | ts.IntersectionTypeNode | ts.ConditionalTypeNode | ts.InferTypeNode | ts.ParenthesizedTypeNode | ts.TypeOperatorNode | ts.IndexedAccessTypeNode | ts.MappedTypeNode | ts.LiteralTypeNode | ts.StringLiteral | ts.OmittedExpression | ts.PartiallyEmittedExpression | ts.PrefixUnaryExpression | ts.PostfixUnaryExpression | ts.NullLiteral | ts.BooleanLiteral | ts.ThisExpression | ts.SuperExpression | ts.ImportExpression | ts.DeleteExpression | ts.TypeOfExpression | ts.VoidExpression | ts.AwaitExpression | ts.YieldExpression | ts.SyntheticExpression | ts.BinaryExpression | ts.ConditionalExpression | ts.FunctionExpression | ts.ArrowFunction | ts.RegularExpressionLiteral | ts.NoSubstitutionTemplateLiteral | ts.NumericLiteral | ts.BigIntLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail | ts.TemplateExpression | ts.TemplateSpan | ts.ParenthesizedExpression | ts.ArrayLiteralExpression | ts.SpreadElement | ts.ObjectLiteralExpression | ts.PropertyAccessExpression | ts.ElementAccessExpression | ts.CallExpression | ts.ExpressionWithTypeArguments | ts.NewExpression | ts.TaggedTemplateExpression | ts.AsExpression | ts.TypeAssertion | ts.NonNullExpression | ts.MetaProperty | ts.JsxElement | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.JsxFragment | ts.JsxOpeningFragment | ts.JsxClosingFragment | ts.JsxAttribute | ts.JsxSpreadAttribute | ts.JsxClosingElement | ts.JsxExpression | ts.JsxText | ts.NotEmittedStatement | ts.CommaListExpression | ts.EmptyStatement | ts.DebuggerStatement | ts.MissingDeclaration | ts.Block | ts.VariableStatement | ts.ExpressionStatement | ts.IfStatement | ts.DoStatement | ts.WhileStatement | ts.ForStatement | ts.ForInStatement | ts.ForOfStatement | ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.WithStatement | ts.SwitchStatement | ts.CaseBlock | ts.CaseClause | ts.DefaultClause | ts.LabeledStatement | ts.ThrowStatement | ts.TryStatement | ts.CatchClause | ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration | ts.HeritageClause | ts.TypeAliasDeclaration | ts.EnumMember | ts.EnumDeclaration | ts.ModuleDeclaration | ts.ModuleBlock | ts.ImportEqualsDeclaration | ts.ExternalModuleReference | ts.ImportDeclaration | ts.ImportClause | ts.NamespaceImport | ts.NamespaceExportDeclaration | ts.ExportDeclaration | ts.NamedImports | ts.NamedExports | ts.ImportSpecifier | ts.ExportSpecifier | ts.ExportAssignment | ts.SourceFile | ts.Bundle | ts.InputFiles | ts.UnparsedSource | ts.JsonMinusNumericLiteral | ts.TemplateLiteralTypeNode | ts.JSDoc | ts.JSDocTypeExpression | ts.JSDocUnknownTag | ts.JSDocAugmentsTag | ts.JSDocClassTag | ts.JSDocEnumTag | ts.JSDocThisTag | ts.JSDocTemplateTag | ts.JSDocReturnTag | ts.JSDocTypeTag | ts.JSDocTypedefTag | ts.JSDocCallbackTag | ts.JSDocSignature | ts.JSDocPropertyTag | ts.JSDocParameterTag | ts.JSDocTypeLiteral | ts.JSDocFunctionType | ts.JSDocAllType | ts.JSDocUnknownType | ts.JSDocNullableType | ts.JSDocNonNullableType | ts.JSDocOptionalType | ts.JSDocVariadicType | ts.JSDocAuthorTag; //# sourceMappingURL=ts-nodes.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map index aacaf8190..3ef52afe1 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +++ b/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ts-nodes.d.ts","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ts-nodes.d.ts","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts b/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts index e5aa34ee7..1fd68a7aa 100644 --- a/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts +++ b/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts @@ -1,3 +1,3 @@ -declare const typescriptVersionIsAtLeast: Record<"4.0" | "3.7" | "3.8" | "3.9", boolean>; +declare const typescriptVersionIsAtLeast: Record<"3.7" | "3.8" | "3.9" | "4.0", boolean>; export { typescriptVersionIsAtLeast }; //# sourceMappingURL=version-check.d.ts.map \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js deleted file mode 100644 index 6a1a57afd..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js +++ /dev/null @@ -1,118 +0,0 @@ -'use strict'; -const {promisify} = require('util'); -const fs = require('fs'); -const path = require('path'); -const fastGlob = require('fast-glob'); -const gitIgnore = require('ignore'); -const slash = require('slash'); - -const DEFAULT_IGNORE = [ - '**/node_modules/**', - '**/flow-typed/**', - '**/coverage/**', - '**/.git' -]; - -const readFileP = promisify(fs.readFile); - -const mapGitIgnorePatternTo = base => ignore => { - if (ignore.startsWith('!')) { - return '!' + path.posix.join(base, ignore.slice(1)); - } - - return path.posix.join(base, ignore); -}; - -const parseGitIgnore = (content, options) => { - const base = slash(path.relative(options.cwd, path.dirname(options.fileName))); - - return content - .split(/\r?\n/) - .filter(Boolean) - .filter(line => !line.startsWith('#')) - .map(mapGitIgnorePatternTo(base)); -}; - -const reduceIgnore = files => { - return files.reduce((ignores, file) => { - ignores.add(parseGitIgnore(file.content, { - cwd: file.cwd, - fileName: file.filePath - })); - return ignores; - }, gitIgnore()); -}; - -const ensureAbsolutePathForCwd = (cwd, p) => { - cwd = slash(cwd); - if (path.isAbsolute(p)) { - if (p.startsWith(cwd)) { - return p; - } - - throw new Error(`Path ${p} is not in cwd ${cwd}`); - } - - return path.join(cwd, p); -}; - -const getIsIgnoredPredecate = (ignores, cwd) => { - return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); -}; - -const getFile = async (file, cwd) => { - const filePath = path.join(cwd, file); - const content = await readFileP(filePath, 'utf8'); - - return { - cwd, - filePath, - content - }; -}; - -const getFileSync = (file, cwd) => { - const filePath = path.join(cwd, file); - const content = fs.readFileSync(filePath, 'utf8'); - - return { - cwd, - filePath, - content - }; -}; - -const normalizeOptions = ({ - ignore = [], - cwd = slash(process.cwd()) -} = {}) => { - return {ignore, cwd}; -}; - -module.exports = async options => { - options = normalizeOptions(options); - - const paths = await fastGlob('**/.gitignore', { - ignore: DEFAULT_IGNORE.concat(options.ignore), - cwd: options.cwd - }); - - const files = await Promise.all(paths.map(file => getFile(file, options.cwd))); - const ignores = reduceIgnore(files); - - return getIsIgnoredPredecate(ignores, options.cwd); -}; - -module.exports.sync = options => { - options = normalizeOptions(options); - - const paths = fastGlob.sync('**/.gitignore', { - ignore: DEFAULT_IGNORE.concat(options.ignore), - cwd: options.cwd - }); - - const files = paths.map(file => getFileSync(file, options.cwd)); - const ignores = reduceIgnore(files); - - return getIsIgnoredPredecate(ignores, options.cwd); -}; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts deleted file mode 100644 index c40e4fec4..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts +++ /dev/null @@ -1,176 +0,0 @@ -import {Options as FastGlobOptions} from 'fast-glob'; - -declare namespace globby { - type ExpandDirectoriesOption = - | boolean - | readonly string[] - | {files?: readonly string[]; extensions?: readonly string[]}; - - interface GlobbyOptions extends FastGlobOptions { - /** - If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `Object` with `files` and `extensions` like in the example below. - - Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`. - - @default true - - @example - ``` - import globby = require('globby'); - - (async () => { - const paths = await globby('images', { - expandDirectories: { - files: ['cat', 'unicorn', '*.jpg'], - extensions: ['png'] - } - }); - - console.log(paths); - //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg'] - })(); - ``` - */ - readonly expandDirectories?: ExpandDirectoriesOption; - - /** - Respect ignore patterns in `.gitignore` files that apply to the globbed files. - - @default false - */ - readonly gitignore?: boolean; - } - - interface GlobTask { - readonly pattern: string; - readonly options: globby.GlobbyOptions; - } - - interface GitignoreOptions { - readonly cwd?: string; - readonly ignore?: readonly string[]; - } - - type FilterFunction = (path: string) => boolean; -} - -interface Gitignore { - /** - `.gitignore` files matched by the ignore config are not used for the resulting filter function. - - @returns A filter function indicating whether a given path is ignored via a `.gitignore` file. - - @example - ``` - import {gitignore} from 'globby'; - - (async () => { - const isIgnored = await gitignore(); - console.log(isIgnored('some/file')); - })(); - ``` - */ - (options?: globby.GitignoreOptions): Promise; - - /** - @returns A filter function indicating whether a given path is ignored via a `.gitignore` file. - */ - sync(options?: globby.GitignoreOptions): globby.FilterFunction; -} - -declare const globby: { - /** - Find files and directories using glob patterns. - - Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns The matching paths. - - @example - ``` - import globby = require('globby'); - - (async () => { - const paths = await globby(['*', '!cake']); - - console.log(paths); - //=> ['unicorn', 'rainbow'] - })(); - ``` - */ - ( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): Promise; - - /** - Find files and directories using glob patterns. - - Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns The matching paths. - */ - sync( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): string[]; - - /** - Find files and directories using glob patterns. - - Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns The stream of matching paths. - - @example - ``` - import globby = require('globby'); - - (async () => { - for await (const path of globby.stream('*.tmp')) { - console.log(path); - } - })(); - ``` - */ - stream( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): NodeJS.ReadableStream; - - /** - Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages. - */ - generateGlobTasks( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): globby.GlobTask[]; - - /** - Note that the options affect the results. - - This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options). - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3). - @returns Whether there are any special glob characters in the `patterns`. - */ - hasMagic( - patterns: string | readonly string[], - options?: FastGlobOptions - ): boolean; - - readonly gitignore: Gitignore; -}; - -export = globby; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js deleted file mode 100644 index 350405711..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js +++ /dev/null @@ -1,177 +0,0 @@ -'use strict'; -const fs = require('fs'); -const arrayUnion = require('array-union'); -const merge2 = require('merge2'); -const fastGlob = require('fast-glob'); -const dirGlob = require('dir-glob'); -const gitignore = require('./gitignore'); -const {FilterStream, UniqueStream} = require('./stream-utils'); - -const DEFAULT_FILTER = () => false; - -const isNegative = pattern => pattern[0] === '!'; - -const assertPatternsInput = patterns => { - if (!patterns.every(pattern => typeof pattern === 'string')) { - throw new TypeError('Patterns must be a string or an array of strings'); - } -}; - -const checkCwdOption = (options = {}) => { - if (!options.cwd) { - return; - } - - let stat; - try { - stat = fs.statSync(options.cwd); - } catch (_) { - return; - } - - if (!stat.isDirectory()) { - throw new Error('The `cwd` option must be a path to a directory'); - } -}; - -const getPathString = p => p.stats instanceof fs.Stats ? p.path : p; - -const generateGlobTasks = (patterns, taskOptions) => { - patterns = arrayUnion([].concat(patterns)); - assertPatternsInput(patterns); - checkCwdOption(taskOptions); - - const globTasks = []; - - taskOptions = { - ignore: [], - expandDirectories: true, - ...taskOptions - }; - - for (const [index, pattern] of patterns.entries()) { - if (isNegative(pattern)) { - continue; - } - - const ignore = patterns - .slice(index) - .filter(isNegative) - .map(pattern => pattern.slice(1)); - - const options = { - ...taskOptions, - ignore: taskOptions.ignore.concat(ignore) - }; - - globTasks.push({pattern, options}); - } - - return globTasks; -}; - -const globDirs = (task, fn) => { - let options = {}; - if (task.options.cwd) { - options.cwd = task.options.cwd; - } - - if (Array.isArray(task.options.expandDirectories)) { - options = { - ...options, - files: task.options.expandDirectories - }; - } else if (typeof task.options.expandDirectories === 'object') { - options = { - ...options, - ...task.options.expandDirectories - }; - } - - return fn(task.pattern, options); -}; - -const getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern]; - -const getFilterSync = options => { - return options && options.gitignore ? - gitignore.sync({cwd: options.cwd, ignore: options.ignore}) : - DEFAULT_FILTER; -}; - -const globToTask = task => glob => { - const {options} = task; - if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) { - options.ignore = dirGlob.sync(options.ignore); - } - - return { - pattern: glob, - options - }; -}; - -module.exports = async (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); - - const getFilter = async () => { - return options && options.gitignore ? - gitignore({cwd: options.cwd, ignore: options.ignore}) : - DEFAULT_FILTER; - }; - - const getTasks = async () => { - const tasks = await Promise.all(globTasks.map(async task => { - const globs = await getPattern(task, dirGlob); - return Promise.all(globs.map(globToTask(task))); - })); - - return arrayUnion(...tasks); - }; - - const [filter, tasks] = await Promise.all([getFilter(), getTasks()]); - const paths = await Promise.all(tasks.map(task => fastGlob(task.pattern, task.options))); - - return arrayUnion(...paths).filter(path_ => !filter(getPathString(path_))); -}; - -module.exports.sync = (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); - - const tasks = globTasks.reduce((tasks, task) => { - const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); - - const filter = getFilterSync(options); - - return tasks.reduce( - (matches, task) => arrayUnion(matches, fastGlob.sync(task.pattern, task.options)), - [] - ).filter(path_ => !filter(path_)); -}; - -module.exports.stream = (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); - - const tasks = globTasks.reduce((tasks, task) => { - const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); - - const filter = getFilterSync(options); - const filterStream = new FilterStream(p => !filter(p)); - const uniqueStream = new UniqueStream(); - - return merge2(tasks.map(task => fastGlob.stream(task.pattern, task.options))) - .pipe(filterStream) - .pipe(uniqueStream); -}; - -module.exports.generateGlobTasks = generateGlobTasks; - -module.exports.hasMagic = (patterns, options) => [] - .concat(patterns) - .some(pattern => fastGlob.isDynamicPattern(pattern, options)); - -module.exports.gitignore = gitignore; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json deleted file mode 100644 index bf95095ee..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "globby", - "version": "11.0.1", - "description": "User-friendly glob matching", - "license": "MIT", - "repository": "sindresorhus/globby", - "funding": "https://github.com/sponsors/sindresorhus", - "author": { - "email": "sindresorhus@gmail.com", - "name": "Sindre Sorhus", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=10" - }, - "scripts": { - "bench": "npm update glob-stream fast-glob && matcha bench.js", - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts", - "gitignore.js", - "stream-utils.js" - ], - "keywords": [ - "all", - "array", - "directories", - "expand", - "files", - "filesystem", - "filter", - "find", - "fnmatch", - "folders", - "fs", - "glob", - "globbing", - "globs", - "gulpfriendly", - "match", - "matcher", - "minimatch", - "multi", - "multiple", - "paths", - "pattern", - "patterns", - "traverse", - "util", - "utility", - "wildcard", - "wildcards", - "promise", - "gitignore", - "git" - ], - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "devDependencies": { - "ava": "^2.1.0", - "get-stream": "^5.1.0", - "glob-stream": "^6.1.0", - "globby": "sindresorhus/globby#master", - "matcha": "^0.7.0", - "rimraf": "^3.0.0", - "tsd": "^0.11.0", - "xo": "^0.25.3" - }, - "xo": { - "ignores": [ - "fixtures" - ] - } -} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md deleted file mode 100644 index 709e5aa8c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md +++ /dev/null @@ -1,170 +0,0 @@ -# globby [![Build Status](https://travis-ci.org/sindresorhus/globby.svg?branch=master)](https://travis-ci.org/sindresorhus/globby) - -> User-friendly glob matching - -Based on [`fast-glob`](https://github.com/mrmlnc/fast-glob) but adds a bunch of useful features. - -## Features - -- Promise API -- Multiple patterns -- Negated patterns: `['foo*', '!foobar']` -- Expands directories: `foo` → `foo/**/*` -- Supports `.gitignore` - -## Install - -``` -$ npm install globby -``` - -## Usage - -``` -├── unicorn -├── cake -└── rainbow -``` - -```js -const globby = require('globby'); - -(async () => { - const paths = await globby(['*', '!cake']); - - console.log(paths); - //=> ['unicorn', 'rainbow'] -})(); -``` - -## API - -Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - -### globby(patterns, options?) - -Returns a `Promise` of matching paths. - -#### patterns - -Type: `string | string[]` - -See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage). - -#### options - -Type: `object` - -See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones below. - -##### expandDirectories - -Type: `boolean | string[] | object`\ -Default: `true` - -If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `object` with `files` and `extensions` like below: - -```js -const globby = require('globby'); - -(async () => { - const paths = await globby('images', { - expandDirectories: { - files: ['cat', 'unicorn', '*.jpg'], - extensions: ['png'] - } - }); - - console.log(paths); - //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg'] -})(); -``` - -Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`. - -##### gitignore - -Type: `boolean`\ -Default: `false` - -Respect ignore patterns in `.gitignore` files that apply to the globbed files. - -### globby.sync(patterns, options?) - -Returns `string[]` of matching paths. - -### globby.stream(patterns, options?) - -Returns a [`stream.Readable`](https://nodejs.org/api/stream.html#stream_readable_streams) of matching paths. - -Since Node.js 10, [readable streams are iterable](https://nodejs.org/api/stream.html#stream_readable_symbol_asynciterator), so you can loop over glob matches in a [`for await...of` loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of) like this: - -```js -const globby = require('globby'); - -(async () => { - for await (const path of globby.stream('*.tmp')) { - console.log(path); - } -})(); -``` - -### globby.generateGlobTasks(patterns, options?) - -Returns an `object[]` in the format `{pattern: string, options: Object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages. - -Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration. - -### globby.hasMagic(patterns, options?) - -Returns a `boolean` of whether there are any special glob characters in the `patterns`. - -Note that the options affect the results. - -This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options). - -### globby.gitignore(options?) - -Returns a `Promise<(path: string) => boolean>` indicating whether a given path is ignored via a `.gitignore` file. - -Takes `cwd?: string` and `ignore?: string[]` as options. `.gitignore` files matched by the ignore config are not used for the resulting filter function. - -```js -const {gitignore} = require('globby'); - -(async () => { - const isIgnored = await gitignore(); - console.log(isIgnored('some/file')); -})(); -``` - -### globby.gitignore.sync(options?) - -Returns a `(path: string) => boolean` indicating whether a given path is ignored via a `.gitignore` file. - -Takes the same options as `globby.gitignore`. - -## Globbing patterns - -Just a quick overview. - -- `*` matches any number of characters, but not `/` -- `?` matches a single character, but not `/` -- `**` matches any number of characters, including `/`, as long as it's the only thing in a path part -- `{}` allows for a comma-separated list of "or" expressions -- `!` at the beginning of a pattern will negate the match - -[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/master/test/test.js) - -## globby for enterprise - -Available as part of the Tidelift Subscription. - -The maintainers of globby and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-globby?utm_source=npm-globby&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - -## Related - -- [multimatch](https://github.com/sindresorhus/multimatch) - Match against a list instead of the filesystem -- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching -- [del](https://github.com/sindresorhus/del) - Delete files and directories -- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js deleted file mode 100644 index 98aedc896..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; -const {Transform} = require('stream'); - -class ObjectTransform extends Transform { - constructor() { - super({ - objectMode: true - }); - } -} - -class FilterStream extends ObjectTransform { - constructor(filter) { - super(); - this._filter = filter; - } - - _transform(data, encoding, callback) { - if (this._filter(data)) { - this.push(data); - } - - callback(); - } -} - -class UniqueStream extends ObjectTransform { - constructor() { - super(); - this._pushed = new Set(); - } - - _transform(data, encoding, callback) { - if (!this._pushed.has(data)) { - this.push(data); - this._pushed.add(data); - } - - callback(); - } -} - -module.exports = { - FilterStream, - UniqueStream -}; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.editorconfig b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.editorconfig deleted file mode 100644 index 4818afd6b..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -root = true - -[*] -end_of_line = lf -insert_final_newline = true -charset = utf-8 -indent_size = 4 -indent_style = space -trim_trailing_whitespace = true - -[*.{json,yml,md}] -indent_size = 2 diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.fimbullinter.yaml b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.fimbullinter.yaml deleted file mode 100644 index 74e903e76..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.fimbullinter.yaml +++ /dev/null @@ -1,2 +0,0 @@ -exclude: - - test/rules/** diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.wotanrc.yaml b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.wotanrc.yaml deleted file mode 100644 index 46153ecb7..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/.wotanrc.yaml +++ /dev/null @@ -1,5 +0,0 @@ -extends: wotan:recommended -rules: - # TODO enable once https://github.com/Microsoft/TypeScript/issues/24706 is resolved - no-useless-assertion: off - no-useless-predicate: off diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/CHANGELOG.md b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/CHANGELOG.md deleted file mode 100644 index 0d01e793b..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/CHANGELOG.md +++ /dev/null @@ -1,741 +0,0 @@ -# 3.17.1 - -**Bugfixes:** - -* `isValidJsxIdentifier`, `isValidPropertyAccess`, `isValidPropertyName`: fix unicode character width handling - -# 3.17.0 - -**Features:** - -* `isValidJsxIdentifier` added an optional parameter to specify the target ECMAScript version - -**Bugfixes:** - -* `isValidJsxIdentifier` now handles astral plane characters - -# 3.16.0 - -**Features:** - -* added `getIteratorYieldResultFromIteratorResult` to extract the `yield`ed type from `IteratorResult` - -# 3.15.0 - -**Features:** - -* `isValidIdentifier`, `isValidPropertyName`, `isValidPropertyAccess`, `isValidNumericLiteral` added an optional parameter to specify the target ECMAScript version - -**Bugfixes:** - -* `isValidPropertyName`, `isValidPropertyAccess` now handle astral plane characters - -# 3.14.1 - -**Bugfixes:** - -* `findImports`: fixed crash on nested namespaces - -# 3.14.0 - -**Features:** - -* added `getInstanceTypeOfClassLikeDeclaration` and `getConstructorTypeOfClassLikeDeclaration` -* added `AccessKind.Delete` to `getAccessKind`: `getAccessKind(node) & AccessKind.Modification` can now be used to restore the old behavior of `isReassignmentTarget(node)` - -# 3.13.0 - -**Features:** - -* `getAccessKind` determines whether an expression is read from, written to or both -* optimized `getPropertyOfType` for unambiguous property names to partially work around https://github.com/microsoft/TypeScript/issues/31565 - -**Bugfixes:** - -* `isReassignmentTarget` no longer returns `true` for `DeleteExpression` as it doesn't **assign** a value to the operand - -# 3.12.0 - -**Features:** - -* `getLateBoundPropertyNamesOfPropertyName` returns all statically analyzable names of a property, method, ... -* `getSingleLateBoundPropertyNameOfPropertyName` returns the literal name of a property, method, ... if statically analyzable - -**Bugfixes:** - -* fixed circular import - -# 3.11.0 - -**Features:** - -* typeguards: `isNumericOrStringLikeLiteral`, `isTupleTypeReference` -* `intersectionTypeParts` as counterpart to `unionTypeParts` -* `someTypePart` to execute a callback for each union or intersection constituent until the callback returns true -* `getPropertyOfType` looks up a property by its escaped name -* `isPropertyReadonlyInType` determines whether a property in a given type cannot be written to -* `symbolHasReadonlyDeclaration` determines if a Symbol has any readonly or constant declaration -* `isNumericPropertyName` determines whether a property name would match an index signature -* `isBindableObjectDefinePropertyCall` returns true for statically analyzable forms of `Object.defineProperty(o, 'p', {value, writable})` -* `isReadonlyAssignmentDeclaration` determines whether an `Object.defineProperty` call is known to result in a readonly property -* `getLateBoundPropertyNames` returns all known property names of an expression -* `getPropertyNameFromType` extracts the property name of literal types -* `isWellKnownSymbolLiterally` to recognize expressions in the form of `Symbol.` -* `getPropertyNameOfWellKnownSymbol` returns the escaped name for a well known symbol literal -* `unwrapParentheses` returns the first child expression that is not a `ParenthesizedExpression` - -# 3.10.0 - -**Features:** - -* `isCompilerOptionEnabled`: `incremental` is implicitly enabled by `composite` - -**Bugfixes:** - -* `collectVariableUsage`/`getUsageDomain`: no longer treat `as const` as type usage - -# 3.9.1 - -**Bugfixes:** - -* reverted invalid deprecation of `canHaveJsdoc` -* fixed condition in `parseJsdocOfNode` - -# 3.9.0 - -**Features:** - -* added typeguards: `isNullLiteral` and `isBooleanLiteral` - -# 3.8.0 - -**Features:** - -* exposes typeguards for typescript@3.2 by default -* added utilities: `isConstAssertion` and `isInConstContext` - -# 3.7.0 - -**Features:** - -* added `isBlockScopedDeclarationStatement` -* added `isInSingleStatementContext` - -# 3.6.0 - -**Features:** - -* added `getCheckJsDirective` utility to parse `// @ts-check` and `// @ts-nocheck` pragmas - -# 3.5.2 - -**Bugfixes:** - -* Published declaration files no longer contain `const enum`. They are now declared as regular enums instead. - -# 3.5.1 - -**Bugfixes:** - -* `isThenableType` allows `Node` instead of `Expression` as parameter -* `isBlockScopeBoundary` and `isScopeBoundary` consider `WithStatement` as scope boundary - -# 3.5.0 - -**Features:** - -* correctly handle BigInt literals - * added typeguard `isBigIntLiteral` - * `isLiteralType` recognises BigInt - * `getPropertyName` adds special handling for BigInt - -# 3.4.0 - -**Features:** - -* added utility `commentText` to get the actual text content of a comment excluding the characters needed to start and end the comment - -# 3.3.1 - -**Bugfixes:** - -* `findImports`: fixed handling of ImportEqualsDeclaration - -# 3.3.0 - -**Features:** - -* `isCompilerOptionEnabled`: recognizes `strictBindCallApply` -* `getTokenAtPosition`: optionally includes JSDoc during lookup - -**Bugfixes:** - -* `isCompilerOptionEnabled`: correctly implements logic for `allowSyntheticDefaultImports` -* `findImportLikeNodes`: correctly finds imports in namespaces -* `findImportLikeNodes` / `findImports`: finds import types in JSDoc of JS files - -# 3.2.0 - -**Features:** - -* added utility `findImportLikeNodes` that works similar to `findImports` but returns the import statement or expression instead of the module specifier and doesn't filter non-string module specifiers - -# 3.1.0 - -**Features:** - -* added utilities: `isKeywordKind` and `isValidJsxIdentifier` -* exposes typeguards for typescript@3.0 by default - -# 3.0.0 - -:warning: **Breaking Changes:** - -* Dropped support for `typescript@<2.8.0` -* Dropped support for Node.js 4 -* Removed deprecated APIs: - * `getIdentifierText`, `isJsxFramgment`, `ImportOptions` - * deprected overloads of `isModifierFlagSet`, `findImports` and `getControlFlowEnd` -* control flow related symbols can no longer be imported from `'tsutils/util/util'`, import directly from `'tsutils/util/control-flow'` or `'tsutils/util'` -* `isFunctionScopeBoundary` and `isBlockScopeBoundary` now return a enum member of `ScopeBoundary` instead of a boolean -* `isFunctionScopeBoundary` no longer returns a truthy value for `InterfaceDeclaration`, `TypeAliasDeclaration` - -**Features:** - -* added utility `isTypeScopeBoundary` returning `ScopeBoundary.Type` or `ScopeBoundary.ConditionalType` -* added enum `ScopeBoundarySelector` whose members can be used to determine if a declaration belongs to a given `ScopeBoundary` by using bitwise AND - -**Bugfixes:** - -* `collectVariableUsage` now correctly handles `infer T` nested inside function signatures or mapped types -* `isCompilerOptionEnabled` correctly handles `skipDefaultLibCHeck` and `suppressImplicitAnyIndexErrors` - -# 2.29.0 - -**Features:** - -* added utility `isCompilerOptionEnabled` - -# 2.28.0 - -Typeguards are now split into multiple submodules for each version of TypeScript (starting with 2.8.0). -That means you can now import directly from `"tsutils/typeguard/2.8"` to get compatible declaraton files for TypeScript@2.8. -For more information please read the relevant section in [README.md](README.md). - -**Features:** - -* added typeguards: `isTupleType`, `isOptionalTypeNode`, `isRestTypeNode`, `isSyntheticExpression` (currently available from `"tsutils/typeguard/3.0"`) -* added utility `isStrictCompilerOptionEnabled` - -# 2.27.2 - -Avoid crash caused by removed function in `typescript@3.0.0`. - -# 2.27.1 - -Added support for TypeScript@3.0.0 nightly builds. - -# 2.27.0 - -**Features:** - -* added `getIIFE` utility - -# 2.26.2 - -**Bugfixes:** - -* `forEachComment` and `forEachTokenWithTrivia` no longer duplicate comments around missing nodes - -# 2.26.1 - -**Bugfixes:** - -* fixed crash in `hasSideEffects` with tagged template literal without substitution: ``tag`template` `` - -# 2.26.0 - -**Features:** - -* added typeguard `isLiteralTypeNode` -* added support for type imports (`type T = import('foo')`) to `findImports` via `ImportKind.ImportType` - -# 2.25.1 - -**Bugfixes:** - -* `collectVariableUsage`: fixed name lookup in function signatures to match runtime behavior. Note that this is not completely fixed in TypeScript, yet. See: [Microsoft/TypeScript#22825](https://github.com/Microsoft/TypeScript/issues/22825) and [Microsoft/TypeScript#22769](https://github.com/Microsoft/TypeScript/issues/22769) - -# 2.25.0 - -**Features:** - -* added utilities: `isStatementInAmbientContext` and `isAmbientModuleBlock` - -# 2.24.0 - -**Features:** - -* added typeguards for typescript@2.8: `isConditionalTypeNode`, `isInferTypeNode`, `isConditionalType`, `isInstantiableType`, `isSubstitutionType` - -# 2.23.0 - -**Features:** - -* added typeguard `isForInOrOfStatement` - -**Bugfixes:** - -* correctly handle comments in generic JSX elements: `/*comment*/>` -* fixed a bug with false positive trailing comments at the end of JSX self closing element: `

/*no comment*/
` - -# 2.22.2 - -**Bugfixes:** - -* `collectVariableUsage`: handle ConditionalTypes and `infer T`, which will be introduced in TypeScript@2.8.0 and are already available in nightly builds -* `isLiteralType` no longer returns true for `ts.TypeFlags.BooleanLiteral` as this is not a `ts.LiteralType` - -# 2.22.1 - -**Bugfixes:** - -* `endsControlFlow`: - * handle loops that might not even run a single iteration - * handle constant boolean conditions in loops and if - -# 2.22.0 - -**Features:** - -* added `isFalsyType` utility - -# 2.21.2 - -**Bugfixes:** - -* fixed compile error with `typescript@2.8.0-dev` - -# 2.21.1 - -**Bugfixes:** - -* `isReassignmentTarget`: handle type assertions and non-null assertion - -# 2.21.0 - -**Bugfixes:** - -* `forEachDeclaredVariable` uses a more precise type for the callback parameter to make it useable again with typescript@2.7.1 - -**Features:** - -* added `isUniqueESSymbolType` typeguard - -# 2.20.0 - -**Features:** - -* added `isThenableType` utility -* added `unionTypeParts` utility - -# 2.19.1 - -**Bugfixes:** - -* `forEachComment`, `getCommentAtPosition` and `isPositionInComment`: skip shebang (`#! something`) to not miss following comments at the start of the file - -# 2.19.0 - -**Features:** - -* added `WrappedAst` interface that models the type of a wrapped SourceFile more accurate -* added `getWrappedNodeAtPosition` utiltiy that takes a `NodeWrap` and returns the most deeply nested NodeWrap that contains the given position - -# 2.18.0 - -**Features:** - -* `getControlFlowEnd` accepts BlockLike as argument - -**Bugfixes:** - -* `getControlFlowEnd` and `endsControlFlow`: correctly handle nested LabeledStatements -* `endsControlFlow` removed erroneous special case when an IterationStatement is passed as argument whose parent is a LabeledStatement. - * if you want labels of an IterationStatement (or SwitchStatement) to be handled, you need to pass the LabeledStatement as argument. - * :warning: this fix may change the returned value if you relied on the buggy behavior - -**Deprecations:** - -* deprecated overload of `getControlFlowEnd` that contains the `label` parameter. This parameter is no longer used and should no longer be passed to the function. - -# 2.17.1 - -**Bugfixes:** - -* `getControlFlowEnd` and `endsControlFlow` (#22) - * ThrowStatements inside `try` are filtered out if there is a `catch` clause - * TryStatements with `catch` only end control flow if `try` AND `catch` definitely end control flow - -# 2.17.0 - -**Features:** - -* added `kind` property to `NodeWrap` -* added `getControlFlowEnd` to public API - -# 2.16.0 - -**Features:** - -* added `isDecorator` and `isCallLikeExpression` typeguards - -# 2.15.0 - -**Features:** - -* added `convertAst` utility to produce a flattened and wrapped version of the AST - -# 2.14.0 - -**Features:** - -* added `isDeleteExpression` -* added `getLineBreakStyle` - -# 2.13.1 - -**Bugfixes:** - -* fixed name of `isJsxFragment` - -# 2.13.0 - -**Features:** - -* added support for `JsxFragment` introduced in typescript@2.6.2 -* added corresponding typeguard functions - -# 2.12.2 - -**Bugfixes:** - -* `endsControlFlow` - * added missing logic for labeled statement, iteration statements and try-catch - * added missing logic for `break` and `continue` with labels - * take all jump statements into account, not only the last statement -* `isValidIdentifier` and `isValidNumericLiteral` handle irregular whitespace -* `findImports` searches in ambient modules inside regular `.ts` files (not only `.d.ts`) -* `canHaveJsDoc` is now a typeguard - -# 2.12.1 - -**Bugfixes:** - -* `forEachTokenWithTrivia` - * handles irregular whitespace and no longer visits some tokens twice - * correctly calculates the range of JsxText - -# 2.12.0 - -**API-Changes:** - -* deprecated `ImportOptions` if favor of the new `ImportKind` enum - -# 2.11.2 - -**Bugfixes:** - -* `parseJsDocOfNode`: set correct `pos`, `end` and `parent` properties. Also affects `getJsDoc` of `EndOfFileToken` - -# 2.11.1 - -**Bugfixes:** - -* `collectVariableUsage`: correctly consider catch binding as block scoped declaration inside catch block - -# 2.11.0 - -**Bugfixes:** - -* `getJsDoc` now correctly returns JsDoc for `EndOfFileToken` - -**Features:** - -* added utility `parseJsDocOfNode` - -# 2.10.0 - -**Features:** - -* added utility `findImports` to find all kinds of imports in a source file - -# 2.9.0 - -**Features:** - -* added typeguard `isMappedTypeNode` -* added utilities `canHaveJsDoc` and `getJsDoc` - -# 2.8.2 - -**Bugfixes:** - -* `collectVariableUsage`: handle global augmentation like other module augmentations - -# 2.8.1 - -**Bugfixes:** - -* Support `typescript@2.5.1` with optional catch binding -* `collectVariableUsage` fixed a bug where method decorator had method's parameters in scope - -# 2.8.0 - -* Compatibility with the latest typescript nightly -* Added `getIdentifierText` to unescape identifiers across typescript versions - -# 2.7.1 - -**Bugfixes:** - -* `isReassignmentTarget` don't return `true` for right side of assignment - -# 2.7.0 - -**Features:** - -* Added `isReassignmentTarget` utility - -# 2.6.1 - -**Bugfixes:** - -* `getDeclarationDomain` now returns `undefined` for Parameter in IndexSignature -* `collectVariableUsage` ignores Parameter in IndexSignature - -# 2.6.0 - -**Bugfixes:** - -* `collectVariableUsage`: - * don't merge imports with global declarations - * treat everything in a declaration file as exported if there is no explicit `export {};` -* `isExpressionValueUsed`: handle destructuring in `for...of` - -**Features:** - -* Added `getModifier` utility -* Added `DeclarationDomain.Import` to distinguish imports from other declarations - -# 2.5.1 - -**Bugfixes:** - -* `collectVariableUsage` ignore jump labels as in `break label;` - -# 2.5.0 - -**Bugfixes:** - -* `isFunctionWithBody` handles constructor overload correctly. - -**Features:** - -* Implemented `isExpressionValueUsed` to check whether the result of an expression is actually used. -* Implemented `getDeclarationDomain` to determine if a given declaration introduces a new symbol in the value or type domain. - -**`collectVariableUses` is now usable** - -* no longer ignores signatures and its parameters -* don't merge declarations and uses across domains -* no longer marks exceptions in catch clause or parameter properties as exported -* fixed exports of namespaces -* fixed scoping of ClassExpression name -* correcly handle ambient namespaces and module augmentations -* fixed how `: typeof foo` is handled for parameters and function return type -* **still WIP**: `export {Foo as Bar}` inside ambient namespaces and modules - -# 2.4.0 - -**Bugfixes:** - -* `getLineRanges`: `contentLength` now contains the correct line length when there are multiple consecutive line break characters -* `getTokenAtPosition`: don't match tokens that end at the specified position (because that's already outside of their range) -* deprecated the misnamed `isModfierFlagSet`, use the new `isModifierFlagSet` instead - -**Features:** - -* Added typeguard: `isJsDoc` -* Added experimental scope and usage analysis (`getUsageDomain` and `collectVariableUsage`) - -# 2.3.0 - -**Bugfixes:** - -* `forEachComment` no longer omits some comments when callback returns a truthy value -* `isPositionInComment` fixed false positive inside JSXText - -**Features:** - -* Added utility: `getCommentAtPosition` - -# 2.2.0 - -**Bugfixes:** - -* Fixed bit value of `SideEffectOptions.JsxElement` to be a power of 2 - -**Features:** - -* Added utilities: `getTokenAtPosition` and `isPositionInComment` - -# 2.1.0 - -**Features:** - -* Added typeguard `isExpression` -* Added utilities: `hasSideEffects`, `getDeclarationOfBindingElement` - -# 2.0.0 - -**Breaking Changes:** - -* Dropped compatibility with `typescript@<2.1.0` -* Removed misnamed `isNumericliteral`, use `isNumericLiteral` instead (notice the uppercase L) -* Removed `isEnumLiteralType` which will cause compile errors with typescript@2.4.0 -* Refactored directory structure: all imports that referenced subdirectories (e.g. `require('tsutils/src/typeguard')` will be broken - -**Features:** - -* New directory structure allows imports of typeguards or utils independently, e.g. (`require('tsutils/typeguard')`) - -# 1.9.1 - -**Bugfixes:** - -* `isObjectFlagSet` now uses the correct `objectFlags` property - -# 1.9.0 - -**Bugfixes:** - -* `getNextToken` no longer omits `EndOfFileToken` when there is no trivia before EOF. That means the only inputs where `getNextToken` returns `undefined` are `SourceFile` and `EndOfFileToken` - -**Features**: - -* Added typeguards for types -* Added utilities for flag checking: `isNodeFlagSet`, `isTypeFlagSet`, `isSymbolFlagSet`,`isObjectFlagSet`, `isModifierFlagSet` - -# 1.8.0 - -**Features:** - -* Support peer dependency of typescript nightlies of 2.4.0 -* Added typeguards: `isJsxAttributes`, `isIntersectionTypeNode`, `isTypeOperatorNode`, `isTypePredicateNode`, `isTypeQueryNode`, `isUnionTypeNode` - -# 1.7.0 - -**Bugfixes:** - -* `isFunctionScopeBoundary` now handles Interfaces, TypeAliases, FunctionSignatures, etc - -**Features:** - -* Added utilities: `isThisParameter`, `isSameLine` and `isFunctionWithBody` - -# 1.6.0 - -**Features:** - -* Add `isValidPropertyAccess`, `isValidNumericLiteral` and `isValidPropertyName` - -# 1.5.0 - -**Features:** - -* Add `isValidIdentifier` - -# 1.4.0 - -**Features:** - -* Add `contentLength` property to the result of `getLineRanges` - -# 1.3.0 - -**Bugfixes:** - -* `canHaveLeadingTrivia`: - * Fix property access on undefined parent reference - * Fixes: [palantir/tslint#2330](https://github.com/palantir/tslint/issues/2330) -* `hasOwnThisReference`: now includes accessors on object literals - -**Features:** - -* Typeguards: - * isTypeParameterDeclaration - * isEnitityName - -# 1.2.2 - -**Bugfixes:** - -* `hasOwnThisReference`: - * exclude overload signatures of function declarations - * add method declarations on object literals - -# 1.2.1 - -**Bugfixes:** - -* Fix name of `isNumericLiteral` - -# 1.2.0 - -**Features:** - -* Typeguards: - * isEnumMember - * isExpressionWithTypeArguments - * isImportSpecifier -* Utilities: - * isJsDocKind, isTypeNodeKind -* Allow typescript@next in peerDependencies - -# 1.1.0 - -**Bugfixes:** - -* Fix isBlockScopeBoundary: Remove WithStatement, IfStatment, DoStatement and WhileStatement because they are no scope boundary whitout a block. - -**Features:** - -* Added more typeguards: - * isAssertionExpression - * isEmptyStatement - * isJsxAttributeLike - * isJsxOpeningLikeElement - * isNonNullExpression - * isSyntaxList -* Utilities: - * getNextToken, getPreviousToken - * hasOwnThisReference - * getLineRanges - -# 1.0.0 - -**Features:** - -* Initial implementation of typeguards -* Utilities: - * getChildOfKind - * isNodeKind, isAssignmentKind - * hasModifier, isParameterProperty, hasAccessModifier - * getPreviousStatement, getNextStatement - * getPropertyName - * forEachDestructuringIdentifier, forEachDeclaredVariable - * getVariableDeclarationKind, isBlockScopedVariableDeclarationList, isBlockScopedVariableDeclaration - * isScopeBoundary, isFunctionScopeBoundary, isBlockScopeBoundary - * forEachToken, forEachTokenWithTrivia, forEachComment - * endsControlFlow diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/LICENSE b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/LICENSE deleted file mode 100644 index 3a990ff40..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Klaus Meinhardt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/README.md b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/README.md deleted file mode 100644 index a2363e6ac..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# Utility functions for working with typescript's AST - -[![Greenkeeper badge](https://badges.greenkeeper.io/ajafff/tsutils.svg)](https://greenkeeper.io/) - -## Usage - -This package consists of two major parts: utilities and typeguard functions. -By importing the project you will get both of them. -```js -import * as utils from "tsutils"; -utils.isIdentifier(node); // typeguard -utils.getLineRanges(sourceFile); // utilities -``` - -If you don't need everything offered by this package, you can select what should be imported. The parts that are not imported are never read from disk and may save some startup time and reduce memory consumtion. - -If you only need typeguards you can explicitly import them: -```js -import { isIdentifier } from "tsutils/typeguard"; -// You can even distiguish between typeguards for nodes and types -import { isUnionTypeNode } from "tsutils/typeguard/node"; -import { isUnionType } from "tsutils/typeguard/type"; -``` - -If you only need the utilities you can also explicitly import them: -```js -import { forEachComment, forEachToken } from "tsutils/util"; -``` - -### Typescript version dependency - -This package is backwards compatible with typescript 2.8.0 at runtime although compiling might need a newer version of typescript installed. - -Using `typescript@next` might work, but it's not officially supported. If you encounter any bugs, please open an issue. - -For compatibility with older versions of TypeScript typeguard functions are separated by TypeScript version. If you are stuck on `typescript@2.8`, you should import directly from the submodule for that version: - -```js -// all typeguards compatible with typescript@2.8 -import { isIdentifier } from "tsutils/typeguard/2.8"; -// you can even use nested submodules -import { isIdentifier } from "tsutils/typeguard/2.8/node"; - -// all typeguards compatible with typescript@2.9 (includes those of 2.8) -import { isIdentifier } from "tsutils/typeguard/2.9"; - -// always points to the latest stable version (2.9 as of writing this) -import { isIdentifier } from "tsutils/typeguard"; -import { isIdentifier } from "tsutils"; - -// always points to the typeguards for the next TypeScript version (3.0 as of writing this) -import { isIdentifier } from "tsutils/typeguard/next"; -``` - -Note that if you are also using utility functions, you should prefer the relevant submodule: - -```js -// importing directly from 'tsutils' would pull in the latest typeguards -import { forEachToken } from 'tsutils/util'; -import { isIdentifier } from 'tsutils/typeguard/2.8'; -``` diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.d.ts deleted file mode 100644 index 26b9ee17c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './typeguard'; -export * from './util'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.js deleted file mode 100644 index 4ee8dc264..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./typeguard"), exports); -tslib_1.__exportStar(require("./util"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/package.json b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/package.json deleted file mode 100644 index dbe0a2098..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "tsutils", - "version": "3.17.1", - "description": "utilities for working with typescript's AST", - "scripts": { - "compile": "rm -rf {,util,typeguard,test/**}/*.js; ttsc -p .", - "lint:tslint": "wotan -m @fimbul/valtyr", - "lint:wotan": "wotan", - "lint": "run-p lint:*", - "test": "mocha test/*Tests.js && tslint --test 'test/rules/**/tslint.json'", - "verify": "run-s compile lint coverage", - "prepublishOnly": "run-s verify", - "coverage": "nyc run-s test", - "report-coverage": "cat ./coverage/lcov.info | coveralls", - "github-release": "GITHUB_TOKEN=$(cat ~/github_token.txt) github-release-from-changelog", - "postpublish": "git push origin master --tags; run-s github-release" - }, - "repository": { - "type": "git", - "url": "https://github.com/ajafff/tsutils" - }, - "keywords": [ - "typescript", - "ts", - "ast", - "typeguard", - "utils", - "helper", - "node" - ], - "author": "Klaus Meinhardt", - "license": "MIT", - "devDependencies": { - "@fimbul/mithotyn": "^0.17.0", - "@fimbul/valtyr": "^0.20.0", - "@fimbul/wotan": "^0.20.0", - "@types/chai": "^4.0.10", - "@types/mocha": "^5.0.0", - "@types/node": "^11.13.0", - "chai": "^4.1.2", - "coveralls": "^3.0.0", - "github-release-from-changelog": "^1.3.0", - "mocha": "^6.0.2", - "npm-run-all": "^4.1.2", - "nyc": "^13.3.0", - "ts-transform-const-enum": "^0.0.1", - "tslint": "^5.8.0", - "tslint-consistent-codestyle": "^1.11.0", - "ttypescript": "^1.5.5", - "typescript": "^3.6.0-dev.20190804" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - }, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } -} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.d.ts deleted file mode 100644 index c5aa5a9d1..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.d.ts +++ /dev/null @@ -1,155 +0,0 @@ -import * as ts from 'typescript'; -export declare function isAccessorDeclaration(node: ts.Node): node is ts.AccessorDeclaration; -export declare function isArrayBindingPattern(node: ts.Node): node is ts.ArrayBindingPattern; -export declare function isArrayLiteralExpression(node: ts.Node): node is ts.ArrayLiteralExpression; -export declare function isArrayTypeNode(node: ts.Node): node is ts.ArrayTypeNode; -export declare function isArrowFunction(node: ts.Node): node is ts.ArrowFunction; -export declare function isAsExpression(node: ts.Node): node is ts.AsExpression; -export declare function isAssertionExpression(node: ts.Node): node is ts.AssertionExpression; -export declare function isAwaitExpression(node: ts.Node): node is ts.AwaitExpression; -export declare function isBinaryExpression(node: ts.Node): node is ts.BinaryExpression; -export declare function isBindingElement(node: ts.Node): node is ts.BindingElement; -export declare function isBindingPattern(node: ts.Node): node is ts.BindingPattern; -export declare function isBlock(node: ts.Node): node is ts.Block; -export declare function isBlockLike(node: ts.Node): node is ts.BlockLike; -export declare function isBooleanLiteral(node: ts.Node): node is ts.BooleanLiteral; -export declare function isBreakOrContinueStatement(node: ts.Node): node is ts.BreakOrContinueStatement; -export declare function isBreakStatement(node: ts.Node): node is ts.BreakStatement; -export declare function isCallExpression(node: ts.Node): node is ts.CallExpression; -export declare function isCallLikeExpression(node: ts.Node): node is ts.CallLikeExpression; -export declare function isCallSignatureDeclaration(node: ts.Node): node is ts.CallSignatureDeclaration; -export declare function isCaseBlock(node: ts.Node): node is ts.CaseBlock; -export declare function isCaseClause(node: ts.Node): node is ts.CaseClause; -export declare function isCaseOrDefaultClause(node: ts.Node): node is ts.CaseOrDefaultClause; -export declare function isCatchClause(node: ts.Node): node is ts.CatchClause; -export declare function isClassDeclaration(node: ts.Node): node is ts.ClassDeclaration; -export declare function isClassExpression(node: ts.Node): node is ts.ClassExpression; -export declare function isClassLikeDeclaration(node: ts.Node): node is ts.ClassLikeDeclaration; -export declare function isCommaListExpression(node: ts.Node): node is ts.CommaListExpression; -export declare function isConditionalExpression(node: ts.Node): node is ts.ConditionalExpression; -export declare function isConditionalTypeNode(node: ts.Node): node is ts.ConditionalTypeNode; -export declare function isConstructorDeclaration(node: ts.Node): node is ts.ConstructorDeclaration; -export declare function isConstructorTypeNode(node: ts.Node): node is ts.ConstructorTypeNode; -export declare function isConstructSignatureDeclaration(node: ts.Node): node is ts.ConstructSignatureDeclaration; -export declare function isContinueStatement(node: ts.Node): node is ts.ContinueStatement; -export declare function isComputedPropertyName(node: ts.Node): node is ts.ComputedPropertyName; -export declare function isDebuggerStatement(node: ts.Node): node is ts.DebuggerStatement; -export declare function isDecorator(node: ts.Node): node is ts.Decorator; -export declare function isDefaultClause(node: ts.Node): node is ts.DefaultClause; -export declare function isDeleteExpression(node: ts.Node): node is ts.DeleteExpression; -export declare function isDoStatement(node: ts.Node): node is ts.DoStatement; -export declare function isElementAccessExpression(node: ts.Node): node is ts.ElementAccessExpression; -export declare function isEmptyStatement(node: ts.Node): node is ts.EmptyStatement; -export declare function isEntityName(node: ts.Node): node is ts.EntityName; -export declare function isEntityNameExpression(node: ts.Node): node is ts.EntityNameExpression; -export declare function isEnumDeclaration(node: ts.Node): node is ts.EnumDeclaration; -export declare function isEnumMember(node: ts.Node): node is ts.EnumMember; -export declare function isExportAssignment(node: ts.Node): node is ts.ExportAssignment; -export declare function isExportDeclaration(node: ts.Node): node is ts.ExportDeclaration; -export declare function isExportSpecifier(node: ts.Node): node is ts.ExportSpecifier; -export declare function isExpression(node: ts.Node): node is ts.Expression; -export declare function isExpressionStatement(node: ts.Node): node is ts.ExpressionStatement; -export declare function isExpressionWithTypeArguments(node: ts.Node): node is ts.ExpressionWithTypeArguments; -export declare function isExternalModuleReference(node: ts.Node): node is ts.ExternalModuleReference; -export declare function isForInStatement(node: ts.Node): node is ts.ForInStatement; -export declare function isForInOrOfStatement(node: ts.Node): node is ts.ForInOrOfStatement; -export declare function isForOfStatement(node: ts.Node): node is ts.ForOfStatement; -export declare function isForStatement(node: ts.Node): node is ts.ForStatement; -export declare function isFunctionDeclaration(node: ts.Node): node is ts.FunctionDeclaration; -export declare function isFunctionExpression(node: ts.Node): node is ts.FunctionExpression; -export declare function isFunctionTypeNode(node: ts.Node): node is ts.FunctionTypeNode; -export declare function isGetAccessorDeclaration(node: ts.Node): node is ts.GetAccessorDeclaration; -export declare function isIdentifier(node: ts.Node): node is ts.Identifier; -export declare function isIfStatement(node: ts.Node): node is ts.IfStatement; -export declare function isImportClause(node: ts.Node): node is ts.ImportClause; -export declare function isImportDeclaration(node: ts.Node): node is ts.ImportDeclaration; -export declare function isImportEqualsDeclaration(node: ts.Node): node is ts.ImportEqualsDeclaration; -export declare function isImportSpecifier(node: ts.Node): node is ts.ImportSpecifier; -export declare function isIndexedAccessTypeNode(node: ts.Node): node is ts.IndexedAccessTypeNode; -export declare function isIndexSignatureDeclaration(node: ts.Node): node is ts.IndexSignatureDeclaration; -export declare function isInferTypeNode(node: ts.Node): node is ts.InferTypeNode; -export declare function isInterfaceDeclaration(node: ts.Node): node is ts.InterfaceDeclaration; -export declare function isIntersectionTypeNode(node: ts.Node): node is ts.IntersectionTypeNode; -export declare function isIterationStatement(node: ts.Node): node is ts.IterationStatement; -export declare function isJsDoc(node: ts.Node): node is ts.JSDoc; -export declare function isJsxAttribute(node: ts.Node): node is ts.JsxAttribute; -export declare function isJsxAttributeLike(node: ts.Node): node is ts.JsxAttributeLike; -export declare function isJsxAttributes(node: ts.Node): node is ts.JsxAttributes; -export declare function isJsxClosingElement(node: ts.Node): node is ts.JsxClosingElement; -export declare function isJsxClosingFragment(node: ts.Node): node is ts.JsxClosingFragment; -export declare function isJsxElement(node: ts.Node): node is ts.JsxElement; -export declare function isJsxExpression(node: ts.Node): node is ts.JsxExpression; -export declare function isJsxFragment(node: ts.Node): node is ts.JsxFragment; -export declare function isJsxOpeningElement(node: ts.Node): node is ts.JsxOpeningElement; -export declare function isJsxOpeningFragment(node: ts.Node): node is ts.JsxOpeningFragment; -export declare function isJsxOpeningLikeElement(node: ts.Node): node is ts.JsxOpeningLikeElement; -export declare function isJsxSelfClosingElement(node: ts.Node): node is ts.JsxSelfClosingElement; -export declare function isJsxSpreadAttribute(node: ts.Node): node is ts.JsxSpreadAttribute; -export declare function isJsxText(node: ts.Node): node is ts.JsxText; -export declare function isLabeledStatement(node: ts.Node): node is ts.LabeledStatement; -export declare function isLiteralExpression(node: ts.Node): node is ts.LiteralExpression; -export declare function isLiteralTypeNode(node: ts.Node): node is ts.LiteralTypeNode; -export declare function isMappedTypeNode(node: ts.Node): node is ts.MappedTypeNode; -export declare function isMetaProperty(node: ts.Node): node is ts.MetaProperty; -export declare function isMethodDeclaration(node: ts.Node): node is ts.MethodDeclaration; -export declare function isMethodSignature(node: ts.Node): node is ts.MethodSignature; -export declare function isModuleBlock(node: ts.Node): node is ts.ModuleBlock; -export declare function isModuleDeclaration(node: ts.Node): node is ts.ModuleDeclaration; -export declare function isNamedExports(node: ts.Node): node is ts.NamedExports; -export declare function isNamedImports(node: ts.Node): node is ts.NamedImports; -export declare function isNamespaceDeclaration(node: ts.Node): node is ts.NamespaceDeclaration; -export declare function isNamespaceImport(node: ts.Node): node is ts.NamespaceImport; -export declare function isNamespaceExportDeclaration(node: ts.Node): node is ts.NamespaceExportDeclaration; -export declare function isNewExpression(node: ts.Node): node is ts.NewExpression; -export declare function isNonNullExpression(node: ts.Node): node is ts.NonNullExpression; -export declare function isNoSubstitutionTemplateLiteral(node: ts.Node): node is ts.NoSubstitutionTemplateLiteral; -export declare function isNullLiteral(node: ts.Node): node is ts.NullLiteral; -export declare function isNumericLiteral(node: ts.Node): node is ts.NumericLiteral; -export declare function isNumericOrStringLikeLiteral(node: ts.Node): node is ts.NumericLiteral | ts.StringLiteral | ts.NoSubstitutionTemplateLiteral; -export declare function isObjectBindingPattern(node: ts.Node): node is ts.ObjectBindingPattern; -export declare function isObjectLiteralExpression(node: ts.Node): node is ts.ObjectLiteralExpression; -export declare function isOmittedExpression(node: ts.Node): node is ts.OmittedExpression; -export declare function isParameterDeclaration(node: ts.Node): node is ts.ParameterDeclaration; -export declare function isParenthesizedExpression(node: ts.Node): node is ts.ParenthesizedExpression; -export declare function isParenthesizedTypeNode(node: ts.Node): node is ts.ParenthesizedTypeNode; -export declare function isPostfixUnaryExpression(node: ts.Node): node is ts.PostfixUnaryExpression; -export declare function isPrefixUnaryExpression(node: ts.Node): node is ts.PrefixUnaryExpression; -export declare function isPropertyAccessExpression(node: ts.Node): node is ts.PropertyAccessExpression; -export declare function isPropertyAssignment(node: ts.Node): node is ts.PropertyAssignment; -export declare function isPropertyDeclaration(node: ts.Node): node is ts.PropertyDeclaration; -export declare function isPropertySignature(node: ts.Node): node is ts.PropertySignature; -export declare function isQualifiedName(node: ts.Node): node is ts.QualifiedName; -export declare function isRegularExpressionLiteral(node: ts.Node): node is ts.RegularExpressionLiteral; -export declare function isReturnStatement(node: ts.Node): node is ts.ReturnStatement; -export declare function isSetAccessorDeclaration(node: ts.Node): node is ts.SetAccessorDeclaration; -export declare function isShorthandPropertyAssignment(node: ts.Node): node is ts.ShorthandPropertyAssignment; -export declare function isSignatureDeclaration(node: ts.Node): node is ts.SignatureDeclaration; -export declare function isSourceFile(node: ts.Node): node is ts.SourceFile; -export declare function isSpreadAssignment(node: ts.Node): node is ts.SpreadAssignment; -export declare function isSpreadElement(node: ts.Node): node is ts.SpreadElement; -export declare function isStringLiteral(node: ts.Node): node is ts.StringLiteral; -export declare function isSwitchStatement(node: ts.Node): node is ts.SwitchStatement; -export declare function isSyntaxList(node: ts.Node): node is ts.SyntaxList; -export declare function isTaggedTemplateExpression(node: ts.Node): node is ts.TaggedTemplateExpression; -export declare function isTemplateExpression(node: ts.Node): node is ts.TemplateExpression; -export declare function isTemplateLiteral(node: ts.Node): node is ts.TemplateLiteral; -export declare function isTextualLiteral(node: ts.Node): node is ts.StringLiteral | ts.NoSubstitutionTemplateLiteral; -export declare function isThrowStatement(node: ts.Node): node is ts.ThrowStatement; -export declare function isTryStatement(node: ts.Node): node is ts.TryStatement; -export declare function isTupleTypeNode(node: ts.Node): node is ts.TupleTypeNode; -export declare function isTypeAliasDeclaration(node: ts.Node): node is ts.TypeAliasDeclaration; -export declare function isTypeAssertion(node: ts.Node): node is ts.TypeAssertion; -export declare function isTypeLiteralNode(node: ts.Node): node is ts.TypeLiteralNode; -export declare function isTypeOfExpression(node: ts.Node): node is ts.TypeOfExpression; -export declare function isTypeOperatorNode(node: ts.Node): node is ts.TypeOperatorNode; -export declare function isTypeParameterDeclaration(node: ts.Node): node is ts.TypeParameterDeclaration; -export declare function isTypePredicateNode(node: ts.Node): node is ts.TypePredicateNode; -export declare function isTypeReferenceNode(node: ts.Node): node is ts.TypeReferenceNode; -export declare function isTypeQueryNode(node: ts.Node): node is ts.TypeQueryNode; -export declare function isUnionTypeNode(node: ts.Node): node is ts.UnionTypeNode; -export declare function isVariableDeclaration(node: ts.Node): node is ts.VariableDeclaration; -export declare function isVariableStatement(node: ts.Node): node is ts.VariableStatement; -export declare function isVariableDeclarationList(node: ts.Node): node is ts.VariableDeclarationList; -export declare function isVoidExpression(node: ts.Node): node is ts.VoidExpression; -export declare function isWhileStatement(node: ts.Node): node is ts.WhileStatement; -export declare function isWithStatement(node: ts.Node): node is ts.WithStatement; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.js deleted file mode 100644 index b63a09be9..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/node.js +++ /dev/null @@ -1,709 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -function isAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.GetAccessor || - node.kind === ts.SyntaxKind.SetAccessor; -} -exports.isAccessorDeclaration = isAccessorDeclaration; -function isArrayBindingPattern(node) { - return node.kind === ts.SyntaxKind.ArrayBindingPattern; -} -exports.isArrayBindingPattern = isArrayBindingPattern; -function isArrayLiteralExpression(node) { - return node.kind === ts.SyntaxKind.ArrayLiteralExpression; -} -exports.isArrayLiteralExpression = isArrayLiteralExpression; -function isArrayTypeNode(node) { - return node.kind === ts.SyntaxKind.ArrayType; -} -exports.isArrayTypeNode = isArrayTypeNode; -function isArrowFunction(node) { - return node.kind === ts.SyntaxKind.ArrowFunction; -} -exports.isArrowFunction = isArrowFunction; -function isAsExpression(node) { - return node.kind === ts.SyntaxKind.AsExpression; -} -exports.isAsExpression = isAsExpression; -function isAssertionExpression(node) { - return node.kind === ts.SyntaxKind.AsExpression || - node.kind === ts.SyntaxKind.TypeAssertionExpression; -} -exports.isAssertionExpression = isAssertionExpression; -function isAwaitExpression(node) { - return node.kind === ts.SyntaxKind.AwaitExpression; -} -exports.isAwaitExpression = isAwaitExpression; -function isBinaryExpression(node) { - return node.kind === ts.SyntaxKind.BinaryExpression; -} -exports.isBinaryExpression = isBinaryExpression; -function isBindingElement(node) { - return node.kind === ts.SyntaxKind.BindingElement; -} -exports.isBindingElement = isBindingElement; -function isBindingPattern(node) { - return node.kind === ts.SyntaxKind.ArrayBindingPattern || - node.kind === ts.SyntaxKind.ObjectBindingPattern; -} -exports.isBindingPattern = isBindingPattern; -function isBlock(node) { - return node.kind === ts.SyntaxKind.Block; -} -exports.isBlock = isBlock; -function isBlockLike(node) { - return node.statements !== undefined; -} -exports.isBlockLike = isBlockLike; -function isBooleanLiteral(node) { - return node.kind === ts.SyntaxKind.TrueKeyword || node.kind === ts.SyntaxKind.FalseKeyword; -} -exports.isBooleanLiteral = isBooleanLiteral; -function isBreakOrContinueStatement(node) { - return node.kind === ts.SyntaxKind.BreakStatement || - node.kind === ts.SyntaxKind.ContinueStatement; -} -exports.isBreakOrContinueStatement = isBreakOrContinueStatement; -function isBreakStatement(node) { - return node.kind === ts.SyntaxKind.BreakStatement; -} -exports.isBreakStatement = isBreakStatement; -function isCallExpression(node) { - return node.kind === ts.SyntaxKind.CallExpression; -} -exports.isCallExpression = isCallExpression; -function isCallLikeExpression(node) { - switch (node.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.TaggedTemplateExpression: - return true; - default: - return false; - } -} -exports.isCallLikeExpression = isCallLikeExpression; -function isCallSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.CallSignature; -} -exports.isCallSignatureDeclaration = isCallSignatureDeclaration; -function isCaseBlock(node) { - return node.kind === ts.SyntaxKind.CaseBlock; -} -exports.isCaseBlock = isCaseBlock; -function isCaseClause(node) { - return node.kind === ts.SyntaxKind.CaseClause; -} -exports.isCaseClause = isCaseClause; -function isCaseOrDefaultClause(node) { - return node.kind === ts.SyntaxKind.CaseClause || - node.kind === ts.SyntaxKind.DefaultClause; -} -exports.isCaseOrDefaultClause = isCaseOrDefaultClause; -function isCatchClause(node) { - return node.kind === ts.SyntaxKind.CatchClause; -} -exports.isCatchClause = isCatchClause; -function isClassDeclaration(node) { - return node.kind === ts.SyntaxKind.ClassDeclaration; -} -exports.isClassDeclaration = isClassDeclaration; -function isClassExpression(node) { - return node.kind === ts.SyntaxKind.ClassExpression; -} -exports.isClassExpression = isClassExpression; -function isClassLikeDeclaration(node) { - return node.kind === ts.SyntaxKind.ClassDeclaration || - node.kind === ts.SyntaxKind.ClassExpression; -} -exports.isClassLikeDeclaration = isClassLikeDeclaration; -function isCommaListExpression(node) { - return node.kind === ts.SyntaxKind.CommaListExpression; -} -exports.isCommaListExpression = isCommaListExpression; -function isConditionalExpression(node) { - return node.kind === ts.SyntaxKind.ConditionalExpression; -} -exports.isConditionalExpression = isConditionalExpression; -function isConditionalTypeNode(node) { - return node.kind === ts.SyntaxKind.ConditionalType; -} -exports.isConditionalTypeNode = isConditionalTypeNode; -function isConstructorDeclaration(node) { - return node.kind === ts.SyntaxKind.Constructor; -} -exports.isConstructorDeclaration = isConstructorDeclaration; -function isConstructorTypeNode(node) { - return node.kind === ts.SyntaxKind.ConstructorType; -} -exports.isConstructorTypeNode = isConstructorTypeNode; -function isConstructSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.ConstructSignature; -} -exports.isConstructSignatureDeclaration = isConstructSignatureDeclaration; -function isContinueStatement(node) { - return node.kind === ts.SyntaxKind.ContinueStatement; -} -exports.isContinueStatement = isContinueStatement; -function isComputedPropertyName(node) { - return node.kind === ts.SyntaxKind.ComputedPropertyName; -} -exports.isComputedPropertyName = isComputedPropertyName; -function isDebuggerStatement(node) { - return node.kind === ts.SyntaxKind.DebuggerStatement; -} -exports.isDebuggerStatement = isDebuggerStatement; -function isDecorator(node) { - return node.kind === ts.SyntaxKind.Decorator; -} -exports.isDecorator = isDecorator; -function isDefaultClause(node) { - return node.kind === ts.SyntaxKind.DefaultClause; -} -exports.isDefaultClause = isDefaultClause; -function isDeleteExpression(node) { - return node.kind === ts.SyntaxKind.DeleteExpression; -} -exports.isDeleteExpression = isDeleteExpression; -function isDoStatement(node) { - return node.kind === ts.SyntaxKind.DoStatement; -} -exports.isDoStatement = isDoStatement; -function isElementAccessExpression(node) { - return node.kind === ts.SyntaxKind.ElementAccessExpression; -} -exports.isElementAccessExpression = isElementAccessExpression; -function isEmptyStatement(node) { - return node.kind === ts.SyntaxKind.EmptyStatement; -} -exports.isEmptyStatement = isEmptyStatement; -function isEntityName(node) { - return node.kind === ts.SyntaxKind.Identifier || isQualifiedName(node); -} -exports.isEntityName = isEntityName; -function isEntityNameExpression(node) { - return node.kind === ts.SyntaxKind.Identifier || - isPropertyAccessExpression(node) && isEntityNameExpression(node.expression); -} -exports.isEntityNameExpression = isEntityNameExpression; -function isEnumDeclaration(node) { - return node.kind === ts.SyntaxKind.EnumDeclaration; -} -exports.isEnumDeclaration = isEnumDeclaration; -function isEnumMember(node) { - return node.kind === ts.SyntaxKind.EnumMember; -} -exports.isEnumMember = isEnumMember; -function isExportAssignment(node) { - return node.kind === ts.SyntaxKind.ExportAssignment; -} -exports.isExportAssignment = isExportAssignment; -function isExportDeclaration(node) { - return node.kind === ts.SyntaxKind.ExportDeclaration; -} -exports.isExportDeclaration = isExportDeclaration; -function isExportSpecifier(node) { - return node.kind === ts.SyntaxKind.ExportSpecifier; -} -exports.isExportSpecifier = isExportSpecifier; -function isExpression(node) { - switch (node.kind) { - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.BinaryExpression: - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.CommaListExpression: - case ts.SyntaxKind.ConditionalExpression: - case ts.SyntaxKind.DeleteExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.FalseKeyword: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.Identifier: - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxOpeningFragment: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.MetaProperty: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.NoSubstitutionTemplateLiteral: - case ts.SyntaxKind.NullKeyword: - case ts.SyntaxKind.NumericLiteral: - case ts.SyntaxKind.ObjectLiteralExpression: - case ts.SyntaxKind.OmittedExpression: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.PrefixUnaryExpression: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.RegularExpressionLiteral: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.StringLiteral: - case ts.SyntaxKind.SuperKeyword: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.TemplateExpression: - case ts.SyntaxKind.ThisKeyword: - case ts.SyntaxKind.TrueKeyword: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.YieldExpression: - return true; - default: - return false; - } -} -exports.isExpression = isExpression; -function isExpressionStatement(node) { - return node.kind === ts.SyntaxKind.ExpressionStatement; -} -exports.isExpressionStatement = isExpressionStatement; -function isExpressionWithTypeArguments(node) { - return node.kind === ts.SyntaxKind.ExpressionWithTypeArguments; -} -exports.isExpressionWithTypeArguments = isExpressionWithTypeArguments; -function isExternalModuleReference(node) { - return node.kind === ts.SyntaxKind.ExternalModuleReference; -} -exports.isExternalModuleReference = isExternalModuleReference; -function isForInStatement(node) { - return node.kind === ts.SyntaxKind.ForInStatement; -} -exports.isForInStatement = isForInStatement; -function isForInOrOfStatement(node) { - return node.kind === ts.SyntaxKind.ForOfStatement || node.kind === ts.SyntaxKind.ForInStatement; -} -exports.isForInOrOfStatement = isForInOrOfStatement; -function isForOfStatement(node) { - return node.kind === ts.SyntaxKind.ForOfStatement; -} -exports.isForOfStatement = isForOfStatement; -function isForStatement(node) { - return node.kind === ts.SyntaxKind.ForStatement; -} -exports.isForStatement = isForStatement; -function isFunctionDeclaration(node) { - return node.kind === ts.SyntaxKind.FunctionDeclaration; -} -exports.isFunctionDeclaration = isFunctionDeclaration; -function isFunctionExpression(node) { - return node.kind === ts.SyntaxKind.FunctionExpression; -} -exports.isFunctionExpression = isFunctionExpression; -function isFunctionTypeNode(node) { - return node.kind === ts.SyntaxKind.FunctionType; -} -exports.isFunctionTypeNode = isFunctionTypeNode; -function isGetAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.GetAccessor; -} -exports.isGetAccessorDeclaration = isGetAccessorDeclaration; -function isIdentifier(node) { - return node.kind === ts.SyntaxKind.Identifier; -} -exports.isIdentifier = isIdentifier; -function isIfStatement(node) { - return node.kind === ts.SyntaxKind.IfStatement; -} -exports.isIfStatement = isIfStatement; -function isImportClause(node) { - return node.kind === ts.SyntaxKind.ImportClause; -} -exports.isImportClause = isImportClause; -function isImportDeclaration(node) { - return node.kind === ts.SyntaxKind.ImportDeclaration; -} -exports.isImportDeclaration = isImportDeclaration; -function isImportEqualsDeclaration(node) { - return node.kind === ts.SyntaxKind.ImportEqualsDeclaration; -} -exports.isImportEqualsDeclaration = isImportEqualsDeclaration; -function isImportSpecifier(node) { - return node.kind === ts.SyntaxKind.ImportSpecifier; -} -exports.isImportSpecifier = isImportSpecifier; -function isIndexedAccessTypeNode(node) { - return node.kind === ts.SyntaxKind.IndexedAccessType; -} -exports.isIndexedAccessTypeNode = isIndexedAccessTypeNode; -function isIndexSignatureDeclaration(node) { - return node.kind === ts.SyntaxKind.IndexSignature; -} -exports.isIndexSignatureDeclaration = isIndexSignatureDeclaration; -function isInferTypeNode(node) { - return node.kind === ts.SyntaxKind.InferType; -} -exports.isInferTypeNode = isInferTypeNode; -function isInterfaceDeclaration(node) { - return node.kind === ts.SyntaxKind.InterfaceDeclaration; -} -exports.isInterfaceDeclaration = isInterfaceDeclaration; -function isIntersectionTypeNode(node) { - return node.kind === ts.SyntaxKind.IntersectionType; -} -exports.isIntersectionTypeNode = isIntersectionTypeNode; -function isIterationStatement(node) { - switch (node.kind) { - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - return true; - default: - return false; - } -} -exports.isIterationStatement = isIterationStatement; -function isJsDoc(node) { - return node.kind === ts.SyntaxKind.JSDocComment; -} -exports.isJsDoc = isJsDoc; -function isJsxAttribute(node) { - return node.kind === ts.SyntaxKind.JsxAttribute; -} -exports.isJsxAttribute = isJsxAttribute; -function isJsxAttributeLike(node) { - return node.kind === ts.SyntaxKind.JsxAttribute || - node.kind === ts.SyntaxKind.JsxSpreadAttribute; -} -exports.isJsxAttributeLike = isJsxAttributeLike; -function isJsxAttributes(node) { - return node.kind === ts.SyntaxKind.JsxAttributes; -} -exports.isJsxAttributes = isJsxAttributes; -function isJsxClosingElement(node) { - return node.kind === ts.SyntaxKind.JsxClosingElement; -} -exports.isJsxClosingElement = isJsxClosingElement; -function isJsxClosingFragment(node) { - return node.kind === ts.SyntaxKind.JsxClosingFragment; -} -exports.isJsxClosingFragment = isJsxClosingFragment; -function isJsxElement(node) { - return node.kind === ts.SyntaxKind.JsxElement; -} -exports.isJsxElement = isJsxElement; -function isJsxExpression(node) { - return node.kind === ts.SyntaxKind.JsxExpression; -} -exports.isJsxExpression = isJsxExpression; -function isJsxFragment(node) { - return node.kind === ts.SyntaxKind.JsxFragment; -} -exports.isJsxFragment = isJsxFragment; -function isJsxOpeningElement(node) { - return node.kind === ts.SyntaxKind.JsxOpeningElement; -} -exports.isJsxOpeningElement = isJsxOpeningElement; -function isJsxOpeningFragment(node) { - return node.kind === ts.SyntaxKind.JsxOpeningFragment; -} -exports.isJsxOpeningFragment = isJsxOpeningFragment; -function isJsxOpeningLikeElement(node) { - return node.kind === ts.SyntaxKind.JsxOpeningElement || - node.kind === ts.SyntaxKind.JsxSelfClosingElement; -} -exports.isJsxOpeningLikeElement = isJsxOpeningLikeElement; -function isJsxSelfClosingElement(node) { - return node.kind === ts.SyntaxKind.JsxSelfClosingElement; -} -exports.isJsxSelfClosingElement = isJsxSelfClosingElement; -function isJsxSpreadAttribute(node) { - return node.kind === ts.SyntaxKind.JsxSpreadAttribute; -} -exports.isJsxSpreadAttribute = isJsxSpreadAttribute; -function isJsxText(node) { - return node.kind === ts.SyntaxKind.JsxText; -} -exports.isJsxText = isJsxText; -function isLabeledStatement(node) { - return node.kind === ts.SyntaxKind.LabeledStatement; -} -exports.isLabeledStatement = isLabeledStatement; -function isLiteralExpression(node) { - return node.kind >= ts.SyntaxKind.FirstLiteralToken && - node.kind <= ts.SyntaxKind.LastLiteralToken; -} -exports.isLiteralExpression = isLiteralExpression; -function isLiteralTypeNode(node) { - return node.kind === ts.SyntaxKind.LiteralType; -} -exports.isLiteralTypeNode = isLiteralTypeNode; -function isMappedTypeNode(node) { - return node.kind === ts.SyntaxKind.MappedType; -} -exports.isMappedTypeNode = isMappedTypeNode; -function isMetaProperty(node) { - return node.kind === ts.SyntaxKind.MetaProperty; -} -exports.isMetaProperty = isMetaProperty; -function isMethodDeclaration(node) { - return node.kind === ts.SyntaxKind.MethodDeclaration; -} -exports.isMethodDeclaration = isMethodDeclaration; -function isMethodSignature(node) { - return node.kind === ts.SyntaxKind.MethodSignature; -} -exports.isMethodSignature = isMethodSignature; -function isModuleBlock(node) { - return node.kind === ts.SyntaxKind.ModuleBlock; -} -exports.isModuleBlock = isModuleBlock; -function isModuleDeclaration(node) { - return node.kind === ts.SyntaxKind.ModuleDeclaration; -} -exports.isModuleDeclaration = isModuleDeclaration; -function isNamedExports(node) { - return node.kind === ts.SyntaxKind.NamedExports; -} -exports.isNamedExports = isNamedExports; -function isNamedImports(node) { - return node.kind === ts.SyntaxKind.NamedImports; -} -exports.isNamedImports = isNamedImports; -function isNamespaceDeclaration(node) { - return isModuleDeclaration(node) && - node.name.kind === ts.SyntaxKind.Identifier && - node.body !== undefined && - (node.body.kind === ts.SyntaxKind.ModuleBlock || - isNamespaceDeclaration(node.body)); -} -exports.isNamespaceDeclaration = isNamespaceDeclaration; -function isNamespaceImport(node) { - return node.kind === ts.SyntaxKind.NamespaceImport; -} -exports.isNamespaceImport = isNamespaceImport; -function isNamespaceExportDeclaration(node) { - return node.kind === ts.SyntaxKind.NamespaceExportDeclaration; -} -exports.isNamespaceExportDeclaration = isNamespaceExportDeclaration; -function isNewExpression(node) { - return node.kind === ts.SyntaxKind.NewExpression; -} -exports.isNewExpression = isNewExpression; -function isNonNullExpression(node) { - return node.kind === ts.SyntaxKind.NonNullExpression; -} -exports.isNonNullExpression = isNonNullExpression; -function isNoSubstitutionTemplateLiteral(node) { - return node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isNoSubstitutionTemplateLiteral = isNoSubstitutionTemplateLiteral; -function isNullLiteral(node) { - return node.kind === ts.SyntaxKind.NullKeyword; -} -exports.isNullLiteral = isNullLiteral; -function isNumericLiteral(node) { - return node.kind === ts.SyntaxKind.NumericLiteral; -} -exports.isNumericLiteral = isNumericLiteral; -function isNumericOrStringLikeLiteral(node) { - switch (node.kind) { - case ts.SyntaxKind.StringLiteral: - case ts.SyntaxKind.NumericLiteral: - case ts.SyntaxKind.NoSubstitutionTemplateLiteral: - return true; - default: - return false; - } -} -exports.isNumericOrStringLikeLiteral = isNumericOrStringLikeLiteral; -function isObjectBindingPattern(node) { - return node.kind === ts.SyntaxKind.ObjectBindingPattern; -} -exports.isObjectBindingPattern = isObjectBindingPattern; -function isObjectLiteralExpression(node) { - return node.kind === ts.SyntaxKind.ObjectLiteralExpression; -} -exports.isObjectLiteralExpression = isObjectLiteralExpression; -function isOmittedExpression(node) { - return node.kind === ts.SyntaxKind.OmittedExpression; -} -exports.isOmittedExpression = isOmittedExpression; -function isParameterDeclaration(node) { - return node.kind === ts.SyntaxKind.Parameter; -} -exports.isParameterDeclaration = isParameterDeclaration; -function isParenthesizedExpression(node) { - return node.kind === ts.SyntaxKind.ParenthesizedExpression; -} -exports.isParenthesizedExpression = isParenthesizedExpression; -function isParenthesizedTypeNode(node) { - return node.kind === ts.SyntaxKind.ParenthesizedType; -} -exports.isParenthesizedTypeNode = isParenthesizedTypeNode; -function isPostfixUnaryExpression(node) { - return node.kind === ts.SyntaxKind.PostfixUnaryExpression; -} -exports.isPostfixUnaryExpression = isPostfixUnaryExpression; -function isPrefixUnaryExpression(node) { - return node.kind === ts.SyntaxKind.PrefixUnaryExpression; -} -exports.isPrefixUnaryExpression = isPrefixUnaryExpression; -function isPropertyAccessExpression(node) { - return node.kind === ts.SyntaxKind.PropertyAccessExpression; -} -exports.isPropertyAccessExpression = isPropertyAccessExpression; -function isPropertyAssignment(node) { - return node.kind === ts.SyntaxKind.PropertyAssignment; -} -exports.isPropertyAssignment = isPropertyAssignment; -function isPropertyDeclaration(node) { - return node.kind === ts.SyntaxKind.PropertyDeclaration; -} -exports.isPropertyDeclaration = isPropertyDeclaration; -function isPropertySignature(node) { - return node.kind === ts.SyntaxKind.PropertySignature; -} -exports.isPropertySignature = isPropertySignature; -function isQualifiedName(node) { - return node.kind === ts.SyntaxKind.QualifiedName; -} -exports.isQualifiedName = isQualifiedName; -function isRegularExpressionLiteral(node) { - return node.kind === ts.SyntaxKind.RegularExpressionLiteral; -} -exports.isRegularExpressionLiteral = isRegularExpressionLiteral; -function isReturnStatement(node) { - return node.kind === ts.SyntaxKind.ReturnStatement; -} -exports.isReturnStatement = isReturnStatement; -function isSetAccessorDeclaration(node) { - return node.kind === ts.SyntaxKind.SetAccessor; -} -exports.isSetAccessorDeclaration = isSetAccessorDeclaration; -function isShorthandPropertyAssignment(node) { - return node.kind === ts.SyntaxKind.ShorthandPropertyAssignment; -} -exports.isShorthandPropertyAssignment = isShorthandPropertyAssignment; -function isSignatureDeclaration(node) { - return node.parameters !== undefined; -} -exports.isSignatureDeclaration = isSignatureDeclaration; -function isSourceFile(node) { - return node.kind === ts.SyntaxKind.SourceFile; -} -exports.isSourceFile = isSourceFile; -function isSpreadAssignment(node) { - return node.kind === ts.SyntaxKind.SpreadAssignment; -} -exports.isSpreadAssignment = isSpreadAssignment; -function isSpreadElement(node) { - return node.kind === ts.SyntaxKind.SpreadElement; -} -exports.isSpreadElement = isSpreadElement; -function isStringLiteral(node) { - return node.kind === ts.SyntaxKind.StringLiteral; -} -exports.isStringLiteral = isStringLiteral; -function isSwitchStatement(node) { - return node.kind === ts.SyntaxKind.SwitchStatement; -} -exports.isSwitchStatement = isSwitchStatement; -function isSyntaxList(node) { - return node.kind === ts.SyntaxKind.SyntaxList; -} -exports.isSyntaxList = isSyntaxList; -function isTaggedTemplateExpression(node) { - return node.kind === ts.SyntaxKind.TaggedTemplateExpression; -} -exports.isTaggedTemplateExpression = isTaggedTemplateExpression; -function isTemplateExpression(node) { - return node.kind === ts.SyntaxKind.TemplateExpression; -} -exports.isTemplateExpression = isTemplateExpression; -function isTemplateLiteral(node) { - return node.kind === ts.SyntaxKind.TemplateExpression || - node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isTemplateLiteral = isTemplateLiteral; -function isTextualLiteral(node) { - return node.kind === ts.SyntaxKind.StringLiteral || - node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral; -} -exports.isTextualLiteral = isTextualLiteral; -function isThrowStatement(node) { - return node.kind === ts.SyntaxKind.ThrowStatement; -} -exports.isThrowStatement = isThrowStatement; -function isTryStatement(node) { - return node.kind === ts.SyntaxKind.TryStatement; -} -exports.isTryStatement = isTryStatement; -function isTupleTypeNode(node) { - return node.kind === ts.SyntaxKind.TupleType; -} -exports.isTupleTypeNode = isTupleTypeNode; -function isTypeAliasDeclaration(node) { - return node.kind === ts.SyntaxKind.TypeAliasDeclaration; -} -exports.isTypeAliasDeclaration = isTypeAliasDeclaration; -function isTypeAssertion(node) { - return node.kind === ts.SyntaxKind.TypeAssertionExpression; -} -exports.isTypeAssertion = isTypeAssertion; -function isTypeLiteralNode(node) { - return node.kind === ts.SyntaxKind.TypeLiteral; -} -exports.isTypeLiteralNode = isTypeLiteralNode; -function isTypeOfExpression(node) { - return node.kind === ts.SyntaxKind.TypeOfExpression; -} -exports.isTypeOfExpression = isTypeOfExpression; -function isTypeOperatorNode(node) { - return node.kind === ts.SyntaxKind.TypeOperator; -} -exports.isTypeOperatorNode = isTypeOperatorNode; -function isTypeParameterDeclaration(node) { - return node.kind === ts.SyntaxKind.TypeParameter; -} -exports.isTypeParameterDeclaration = isTypeParameterDeclaration; -function isTypePredicateNode(node) { - return node.kind === ts.SyntaxKind.TypePredicate; -} -exports.isTypePredicateNode = isTypePredicateNode; -function isTypeReferenceNode(node) { - return node.kind === ts.SyntaxKind.TypeReference; -} -exports.isTypeReferenceNode = isTypeReferenceNode; -function isTypeQueryNode(node) { - return node.kind === ts.SyntaxKind.TypeQuery; -} -exports.isTypeQueryNode = isTypeQueryNode; -function isUnionTypeNode(node) { - return node.kind === ts.SyntaxKind.UnionType; -} -exports.isUnionTypeNode = isUnionTypeNode; -function isVariableDeclaration(node) { - return node.kind === ts.SyntaxKind.VariableDeclaration; -} -exports.isVariableDeclaration = isVariableDeclaration; -function isVariableStatement(node) { - return node.kind === ts.SyntaxKind.VariableStatement; -} -exports.isVariableStatement = isVariableStatement; -function isVariableDeclarationList(node) { - return node.kind === ts.SyntaxKind.VariableDeclarationList; -} -exports.isVariableDeclarationList = isVariableDeclarationList; -function isVoidExpression(node) { - return node.kind === ts.SyntaxKind.VoidExpression; -} -exports.isVoidExpression = isVoidExpression; -function isWhileStatement(node) { - return node.kind === ts.SyntaxKind.WhileStatement; -} -exports.isWhileStatement = isWhileStatement; -function isWithStatement(node) { - return node.kind === ts.SyntaxKind.WithStatement; -} -exports.isWithStatement = isWithStatement; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.d.ts deleted file mode 100644 index 45b6bc3d3..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as ts from 'typescript'; -export declare function isConditionalType(type: ts.Type): type is ts.ConditionalType; -export declare function isEnumType(type: ts.Type): type is ts.EnumType; -export declare function isGenericType(type: ts.Type): type is ts.GenericType; -export declare function isIndexedAccessType(type: ts.Type): type is ts.IndexedAccessType; -export declare function isIndexedAccessype(type: ts.Type): type is ts.IndexType; -export declare function isInstantiableType(type: ts.Type): type is ts.InstantiableType; -export declare function isInterfaceType(type: ts.Type): type is ts.InterfaceType; -export declare function isIntersectionType(type: ts.Type): type is ts.IntersectionType; -export declare function isLiteralType(type: ts.Type): type is ts.LiteralType; -export declare function isObjectType(type: ts.Type): type is ts.ObjectType; -export declare function isSubstitutionType(type: ts.Type): type is ts.SubstitutionType; -export declare function isTypeParameter(type: ts.Type): type is ts.TypeParameter; -export declare function isTypeReference(type: ts.Type): type is ts.TypeReference; -export declare function isTypeVariable(type: ts.Type): type is ts.TypeParameter | ts.IndexedAccessType; -export declare function isUnionOrIntersectionType(type: ts.Type): type is ts.UnionOrIntersectionType; -export declare function isUnionType(type: ts.Type): type is ts.UnionType; -export declare function isUniqueESSymbolType(type: ts.Type): type is ts.UniqueESSymbolType; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.js deleted file mode 100644 index 01fc06ead..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.8/type.js +++ /dev/null @@ -1,75 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -function isConditionalType(type) { - return (type.flags & ts.TypeFlags.Conditional) !== 0; -} -exports.isConditionalType = isConditionalType; -function isEnumType(type) { - return (type.flags & ts.TypeFlags.Enum) !== 0; -} -exports.isEnumType = isEnumType; -function isGenericType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.ClassOrInterface) !== 0 && - (type.objectFlags & ts.ObjectFlags.Reference) !== 0; -} -exports.isGenericType = isGenericType; -function isIndexedAccessType(type) { - return (type.flags & ts.TypeFlags.IndexedAccess) !== 0; -} -exports.isIndexedAccessType = isIndexedAccessType; -function isIndexedAccessype(type) { - return (type.flags & ts.TypeFlags.Index) !== 0; -} -exports.isIndexedAccessype = isIndexedAccessype; -function isInstantiableType(type) { - return (type.flags & ts.TypeFlags.Instantiable) !== 0; -} -exports.isInstantiableType = isInstantiableType; -function isInterfaceType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.ClassOrInterface) !== 0; -} -exports.isInterfaceType = isInterfaceType; -function isIntersectionType(type) { - return (type.flags & ts.TypeFlags.Intersection) !== 0; -} -exports.isIntersectionType = isIntersectionType; -function isLiteralType(type) { - return (type.flags & (ts.TypeFlags.StringOrNumberLiteral | ts.TypeFlags.BigIntLiteral)) !== 0; -} -exports.isLiteralType = isLiteralType; -function isObjectType(type) { - return (type.flags & ts.TypeFlags.Object) !== 0; -} -exports.isObjectType = isObjectType; -function isSubstitutionType(type) { - return (type.flags & ts.TypeFlags.Substitution) !== 0; -} -exports.isSubstitutionType = isSubstitutionType; -function isTypeParameter(type) { - return (type.flags & ts.TypeFlags.TypeParameter) !== 0; -} -exports.isTypeParameter = isTypeParameter; -function isTypeReference(type) { - return (type.flags & ts.TypeFlags.Object) !== 0 && - (type.objectFlags & ts.ObjectFlags.Reference) !== 0; -} -exports.isTypeReference = isTypeReference; -function isTypeVariable(type) { - return (type.flags & ts.TypeFlags.TypeVariable) !== 0; -} -exports.isTypeVariable = isTypeVariable; -function isUnionOrIntersectionType(type) { - return (type.flags & ts.TypeFlags.UnionOrIntersection) !== 0; -} -exports.isUnionOrIntersectionType = isUnionOrIntersectionType; -function isUnionType(type) { - return (type.flags & ts.TypeFlags.Union) !== 0; -} -exports.isUnionType = isUnionType; -function isUniqueESSymbolType(type) { - return (type.flags & ts.TypeFlags.UniqueESSymbol) !== 0; -} -exports.isUniqueESSymbolType = isUniqueESSymbolType; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.d.ts deleted file mode 100644 index bf2ec1d1f..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from '../2.8/node'; -import * as ts from 'typescript'; -export declare function isImportTypeNode(node: ts.Node): node is ts.ImportTypeNode; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.js deleted file mode 100644 index e24159778..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/node.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.8/node"), exports); -const ts = require("typescript"); -function isImportTypeNode(node) { - return node.kind === ts.SyntaxKind.ImportType; -} -exports.isImportTypeNode = isImportTypeNode; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.d.ts deleted file mode 100644 index ec83ac3f4..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../2.8/type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.js deleted file mode 100644 index 9315cac2b..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/2.9/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.8/type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.d.ts deleted file mode 100644 index 305991140..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from '../2.9/node'; -import * as ts from 'typescript'; -export declare function isOptionalTypeNode(node: ts.Node): node is ts.OptionalTypeNode; -export declare function isRestTypeNode(node: ts.Node): node is ts.RestTypeNode; -export declare function isSyntheticExpression(node: ts.Node): node is ts.SyntheticExpression; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.js deleted file mode 100644 index 943bb36e8..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/node.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.9/node"), exports); -const ts = require("typescript"); -function isOptionalTypeNode(node) { - return node.kind === ts.SyntaxKind.OptionalType; -} -exports.isOptionalTypeNode = isOptionalTypeNode; -function isRestTypeNode(node) { - return node.kind === ts.SyntaxKind.RestType; -} -exports.isRestTypeNode = isRestTypeNode; -function isSyntheticExpression(node) { - return node.kind === ts.SyntaxKind.SyntheticExpression; -} -exports.isSyntheticExpression = isSyntheticExpression; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.d.ts deleted file mode 100644 index 5cf0df95a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from '../2.9/type'; -import * as ts from 'typescript'; -export declare function isTupleType(type: ts.Type): type is ts.TupleType; -export declare function isTupleTypeReference(type: ts.Type): type is ts.TypeReference & { - target: ts.TupleType; -}; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.js deleted file mode 100644 index 7ec876f8f..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.0/type.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../2.9/type"), exports); -const ts = require("typescript"); -const type_1 = require("../2.9/type"); -function isTupleType(type) { - return (type.flags & ts.TypeFlags.Object && type.objectFlags & ts.ObjectFlags.Tuple) !== 0; -} -exports.isTupleType = isTupleType; -function isTupleTypeReference(type) { - return type_1.isTypeReference(type) && isTupleType(type.target); -} -exports.isTupleTypeReference = isTupleTypeReference; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.d.ts deleted file mode 100644 index cf88ae114..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from '../3.0/node'; -import * as ts from 'typescript'; -export declare function isBigIntLiteral(node: ts.Node): node is ts.BigIntLiteral; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.js deleted file mode 100644 index 26e8c1a74..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/node.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.0/node"), exports); -const ts = require("typescript"); -function isBigIntLiteral(node) { - return node.kind === ts.SyntaxKind.BigIntLiteral; -} -exports.isBigIntLiteral = isBigIntLiteral; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.d.ts deleted file mode 100644 index fee77fb18..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.0/type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.js deleted file mode 100644 index d800ef841..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/3.2/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.0/type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.d.ts deleted file mode 100644 index 71762921c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './node'; -export * from './type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.js deleted file mode 100644 index 0c381e79a..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./node"), exports); -tslib_1.__exportStar(require("./type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.d.ts deleted file mode 100644 index d64678a34..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.2/node'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.js deleted file mode 100644 index e2c022f12..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/node.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.2/node"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.d.ts deleted file mode 100644 index 6cd4408ac..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../3.2/type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.js deleted file mode 100644 index ef88473b6..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/next/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("../3.2/type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.d.ts deleted file mode 100644 index f6a9f8b7d..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './3.2/node'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.js deleted file mode 100644 index 3d8e37608..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/node.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./3.2/node"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.d.ts deleted file mode 100644 index 8a20aeb1f..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './3.2/type'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.js deleted file mode 100644 index cecc6fd6c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/typeguard/type.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./3.2/type"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.d.ts deleted file mode 100644 index 528155c1b..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as ts from 'typescript'; -export declare function endsControlFlow(statement: ts.Statement | ts.BlockLike): boolean; -export declare type ControlFlowStatement = ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.ThrowStatement; -export interface ControlFlowEnd { - readonly statements: ReadonlyArray; - readonly end: boolean; -} -export declare function getControlFlowEnd(statement: ts.Statement | ts.BlockLike): ControlFlowEnd; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.js deleted file mode 100644 index 7e83773f0..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/control-flow.js +++ /dev/null @@ -1,171 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const node_1 = require("../typeguard/node"); -function endsControlFlow(statement) { - return getControlFlowEnd(statement).end; -} -exports.endsControlFlow = endsControlFlow; -const defaultControlFlowEnd = { statements: [], end: false }; -function getControlFlowEnd(statement) { - return node_1.isBlockLike(statement) ? handleBlock(statement) : getControlFlowEndWorker(statement); -} -exports.getControlFlowEnd = getControlFlowEnd; -function getControlFlowEndWorker(statement) { - switch (statement.kind) { - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.ContinueStatement: - case ts.SyntaxKind.BreakStatement: - return { statements: [statement], end: true }; - case ts.SyntaxKind.Block: - return handleBlock(statement); - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.WhileStatement: - return handleForAndWhileStatement(statement); - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - return handleForInOrOfStatement(statement); - case ts.SyntaxKind.DoStatement: - return matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - case ts.SyntaxKind.IfStatement: - return handleIfStatement(statement); - case ts.SyntaxKind.SwitchStatement: - return matchBreakOrContinue(handleSwitchStatement(statement), node_1.isBreakStatement); - case ts.SyntaxKind.TryStatement: - return handleTryStatement(statement); - case ts.SyntaxKind.LabeledStatement: - return matchLabel(getControlFlowEndWorker(statement.statement), statement.label); - case ts.SyntaxKind.WithStatement: - return getControlFlowEndWorker(statement.statement); - default: - return defaultControlFlowEnd; - } -} -function handleBlock(statement) { - const result = { statements: [], end: false }; - for (const s of statement.statements) { - const current = getControlFlowEndWorker(s); - result.statements.push(...current.statements); - if (current.end) { - result.end = true; - break; - } - } - return result; -} -function handleForInOrOfStatement(statement) { - const end = matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - end.end = false; - return end; -} -function handleForAndWhileStatement(statement) { - const constantCondition = statement.kind === ts.SyntaxKind.WhileStatement - ? getConstantCondition(statement.expression) - : statement.condition === undefined || getConstantCondition(statement.condition); - if (constantCondition === false) - return defaultControlFlowEnd; - const end = matchBreakOrContinue(getControlFlowEndWorker(statement.statement), node_1.isBreakOrContinueStatement); - if (constantCondition === undefined) - end.end = false; - return end; -} -function getConstantCondition(node) { - switch (node.kind) { - case ts.SyntaxKind.TrueKeyword: - return true; - case ts.SyntaxKind.FalseKeyword: - return false; - default: - return; - } -} -function handleIfStatement(node) { - switch (getConstantCondition(node.expression)) { - case true: - return getControlFlowEndWorker(node.thenStatement); - case false: - return node.elseStatement === undefined - ? defaultControlFlowEnd - : getControlFlowEndWorker(node.elseStatement); - } - const then = getControlFlowEndWorker(node.thenStatement); - if (node.elseStatement === undefined) - return { - statements: then.statements, - end: false, - }; - const elze = getControlFlowEndWorker(node.elseStatement); - return { - statements: [...then.statements, ...elze.statements], - end: then.end && elze.end, - }; -} -function handleSwitchStatement(node) { - let hasDefault = false; - const result = { - statements: [], - end: false, - }; - for (const clause of node.caseBlock.clauses) { - if (clause.kind === ts.SyntaxKind.DefaultClause) - hasDefault = true; - const current = handleBlock(clause); - result.end = current.end; - result.statements.push(...current.statements); - } - if (!hasDefault) - result.end = false; - return result; -} -function handleTryStatement(node) { - let finallyResult; - if (node.finallyBlock !== undefined) { - finallyResult = handleBlock(node.finallyBlock); - if (finallyResult.end) - return finallyResult; - } - const tryResult = handleBlock(node.tryBlock); - if (node.catchClause === undefined) - return { statements: finallyResult.statements.concat(tryResult.statements), end: tryResult.end }; - const catchResult = handleBlock(node.catchClause.block); - return { - statements: tryResult.statements - .filter((s) => s.kind !== ts.SyntaxKind.ThrowStatement) - .concat(catchResult.statements, finallyResult === undefined ? [] : finallyResult.statements), - end: tryResult.end && catchResult.end, - }; -} -function matchBreakOrContinue(current, pred) { - const result = { - statements: [], - end: current.end, - }; - for (const statement of current.statements) { - if (pred(statement) && statement.label === undefined) { - result.end = false; - continue; - } - result.statements.push(statement); - } - return result; -} -function matchLabel(current, label) { - const result = { - statements: [], - end: current.end, - }; - const labelText = label.text; - for (const statement of current.statements) { - switch (statement.kind) { - case ts.SyntaxKind.BreakStatement: - case ts.SyntaxKind.ContinueStatement: - if (statement.label !== undefined && statement.label.text === labelText) { - result.end = false; - continue; - } - } - result.statements.push(statement); - } - return result; -} diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.d.ts deleted file mode 100644 index 7e95feaf0..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as ts from 'typescript'; -export interface NodeWrap { - node: ts.Node; - kind: ts.SyntaxKind; - children: NodeWrap[]; - next?: NodeWrap; - skip?: NodeWrap; - parent?: NodeWrap; -} -export interface WrappedAst extends NodeWrap { - node: ts.SourceFile; - next: NodeWrap; - skip: undefined; - parent: undefined; -} -export interface ConvertedAst { - wrapped: WrappedAst; - flat: ReadonlyArray; -} -export declare function convertAst(sourceFile: ts.SourceFile): ConvertedAst; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.js deleted file mode 100644 index bfdb0282c..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/convert-ast.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const util_1 = require("./util"); -function convertAst(sourceFile) { - const wrapped = { - node: sourceFile, - parent: undefined, - kind: ts.SyntaxKind.SourceFile, - children: [], - next: undefined, - skip: undefined, - }; - const flat = []; - let current = wrapped; - let previous = current; - ts.forEachChild(sourceFile, function wrap(node) { - flat.push(node); - const parent = current; - previous.next = current = { - node, - parent, - kind: node.kind, - children: [], - next: undefined, - skip: undefined, - }; - if (previous !== parent) - setSkip(previous, current); - previous = current; - parent.children.push(current); - if (util_1.isNodeKind(node.kind)) - ts.forEachChild(node, wrap); - current = parent; - }); - return { - wrapped, - flat, - }; -} -exports.convertAst = convertAst; -function setSkip(node, skip) { - do { - node.skip = skip; - node = node.parent; - } while (node !== skip.parent); -} diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.d.ts deleted file mode 100644 index 9e93ff6f1..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './util'; -export * from './usage'; -export * from './control-flow'; -export * from './type'; -export * from './convert-ast'; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.js deleted file mode 100644 index 2087d2a37..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/index.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./util"), exports); -tslib_1.__exportStar(require("./usage"), exports); -tslib_1.__exportStar(require("./control-flow"), exports); -tslib_1.__exportStar(require("./type"), exports); -tslib_1.__exportStar(require("./convert-ast"), exports); diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.d.ts deleted file mode 100644 index f4343a458..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as ts from 'typescript'; -import { PropertyName } from './util'; -export declare function isEmptyObjectType(type: ts.Type): type is ts.ObjectType; -export declare function removeOptionalityFromType(checker: ts.TypeChecker, type: ts.Type): ts.Type; -export declare function isTypeAssignableToNumber(checker: ts.TypeChecker, type: ts.Type): boolean; -export declare function isTypeAssignableToString(checker: ts.TypeChecker, type: ts.Type): boolean; -export declare function getCallSignaturesOfType(type: ts.Type): ReadonlyArray; -export declare function unionTypeParts(type: ts.Type): ts.Type[]; -export declare function intersectionTypeParts(type: ts.Type): ts.Type[]; -export declare function someTypePart(type: ts.Type, predicate: (t: ts.Type) => t is ts.UnionOrIntersectionType, cb: (t: ts.Type) => boolean): boolean; -export declare function isThenableType(checker: ts.TypeChecker, node: ts.Node, type: ts.Type): boolean; -export declare function isThenableType(checker: ts.TypeChecker, node: ts.Expression, type?: ts.Type): boolean; -export declare function isFalsyType(type: ts.Type): boolean; -export declare function isBooleanLiteralType(type: ts.Type, literal: boolean): boolean; -export declare function getPropertyOfType(type: ts.Type, name: ts.__String): ts.Symbol | undefined; -export declare function isPropertyReadonlyInType(type: ts.Type, name: ts.__String, checker: ts.TypeChecker): boolean; -export declare function symbolHasReadonlyDeclaration(symbol: ts.Symbol, checker: ts.TypeChecker): boolean; -export declare function getPropertyNameFromType(type: ts.Type): PropertyName | undefined; -export declare function getConstructorTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; -export declare function getInstanceTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; -export declare function getIteratorYieldResultFromIteratorResult(type: ts.Type, node: ts.Node, checker: ts.TypeChecker): ts.Type; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.js deleted file mode 100644 index 7a530d9fd..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/type.js +++ /dev/null @@ -1,238 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const type_1 = require("../typeguard/type"); -const util_1 = require("./util"); -const node_1 = require("../typeguard/node"); -function isEmptyObjectType(type) { - if (type_1.isObjectType(type) && - type.objectFlags & ts.ObjectFlags.Anonymous && - type.getProperties().length === 0 && - type.getCallSignatures().length === 0 && - type.getConstructSignatures().length === 0 && - type.getStringIndexType() === undefined && - type.getNumberIndexType() === undefined) { - const baseTypes = type.getBaseTypes(); - return baseTypes === undefined || baseTypes.every(isEmptyObjectType); - } - return false; -} -exports.isEmptyObjectType = isEmptyObjectType; -function removeOptionalityFromType(checker, type) { - if (!containsTypeWithFlag(type, ts.TypeFlags.Undefined)) - return type; - const allowsNull = containsTypeWithFlag(type, ts.TypeFlags.Null); - type = checker.getNonNullableType(type); - return allowsNull ? checker.getNullableType(type, ts.TypeFlags.Null) : type; -} -exports.removeOptionalityFromType = removeOptionalityFromType; -function containsTypeWithFlag(type, flag) { - for (const t of unionTypeParts(type)) - if (util_1.isTypeFlagSet(t, flag)) - return true; - return false; -} -function isTypeAssignableToNumber(checker, type) { - return isTypeAssignableTo(checker, type, ts.TypeFlags.NumberLike); -} -exports.isTypeAssignableToNumber = isTypeAssignableToNumber; -function isTypeAssignableToString(checker, type) { - return isTypeAssignableTo(checker, type, ts.TypeFlags.StringLike); -} -exports.isTypeAssignableToString = isTypeAssignableToString; -function isTypeAssignableTo(checker, type, flags) { - flags |= ts.TypeFlags.Any; - let typeParametersSeen; - return (function check(t) { - if (type_1.isTypeParameter(t) && t.symbol !== undefined && t.symbol.declarations !== undefined) { - if (typeParametersSeen === undefined) { - typeParametersSeen = new Set([t]); - } - else if (!typeParametersSeen.has(t)) { - typeParametersSeen.add(t); - } - else { - return false; - } - const declaration = t.symbol.declarations[0]; - if (declaration.constraint === undefined) - return true; - return check(checker.getTypeFromTypeNode(declaration.constraint)); - } - if (type_1.isUnionType(t)) - return t.types.every(check); - if (type_1.isIntersectionType(t)) - return t.types.some(check); - return util_1.isTypeFlagSet(t, flags); - })(type); -} -function getCallSignaturesOfType(type) { - if (type_1.isUnionType(type)) { - const signatures = []; - for (const t of type.types) - signatures.push(...getCallSignaturesOfType(t)); - return signatures; - } - if (type_1.isIntersectionType(type)) { - let signatures; - for (const t of type.types) { - const sig = getCallSignaturesOfType(t); - if (sig.length !== 0) { - if (signatures !== undefined) - return []; - signatures = sig; - } - } - return signatures === undefined ? [] : signatures; - } - return type.getCallSignatures(); -} -exports.getCallSignaturesOfType = getCallSignaturesOfType; -function unionTypeParts(type) { - return type_1.isUnionType(type) ? type.types : [type]; -} -exports.unionTypeParts = unionTypeParts; -function intersectionTypeParts(type) { - return type_1.isIntersectionType(type) ? type.types : [type]; -} -exports.intersectionTypeParts = intersectionTypeParts; -function someTypePart(type, predicate, cb) { - return predicate(type) ? type.types.some(cb) : cb(type); -} -exports.someTypePart = someTypePart; -function isThenableType(checker, node, type = checker.getTypeAtLocation(node)) { - for (const ty of unionTypeParts(checker.getApparentType(type))) { - const then = ty.getProperty('then'); - if (then === undefined) - continue; - const thenType = checker.getTypeOfSymbolAtLocation(then, node); - for (const t of unionTypeParts(thenType)) - for (const signature of t.getCallSignatures()) - if (signature.parameters.length !== 0 && isCallback(checker, signature.parameters[0], node)) - return true; - } - return false; -} -exports.isThenableType = isThenableType; -function isCallback(checker, param, node) { - let type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node)); - if (param.valueDeclaration.dotDotDotToken) { - type = type.getNumberIndexType(); - if (type === undefined) - return false; - } - for (const t of unionTypeParts(type)) - if (t.getCallSignatures().length !== 0) - return true; - return false; -} -function isFalsyType(type) { - if (type.flags & (ts.TypeFlags.Undefined | ts.TypeFlags.Null | ts.TypeFlags.Void)) - return true; - if (type_1.isLiteralType(type)) - return !type.value; - return isBooleanLiteralType(type, false); -} -exports.isFalsyType = isFalsyType; -function isBooleanLiteralType(type, literal) { - return util_1.isTypeFlagSet(type, ts.TypeFlags.BooleanLiteral) && - type.intrinsicName === (literal ? 'true' : 'false'); -} -exports.isBooleanLiteralType = isBooleanLiteralType; -function getPropertyOfType(type, name) { - if (!name.startsWith('__')) - return type.getProperty(name); - return type.getProperties().find((s) => s.escapedName === name); -} -exports.getPropertyOfType = getPropertyOfType; -function isPropertyReadonlyInType(type, name, checker) { - let seenProperty = false; - let seenReadonlySignature = false; - for (const t of unionTypeParts(type)) { - if (getPropertyOfType(t, name) === undefined) { - const index = (util_1.isNumericPropertyName(name) ? checker.getIndexInfoOfType(t, ts.IndexKind.Number) : undefined) || - checker.getIndexInfoOfType(t, ts.IndexKind.String); - if (index !== undefined && index.isReadonly) { - if (seenProperty) - return true; - seenReadonlySignature = true; - } - } - else if (seenReadonlySignature || isReadonlyPropertyIntersection(t, name, checker)) { - return true; - } - else { - seenProperty = true; - } - } - return false; -} -exports.isPropertyReadonlyInType = isPropertyReadonlyInType; -function isReadonlyPropertyIntersection(type, name, checker) { - return someTypePart(type, type_1.isIntersectionType, (t) => { - const prop = getPropertyOfType(t, name); - if (prop === undefined) - return false; - if (prop.flags & ts.SymbolFlags.Transient) { - if (/^(?:[1-9]\d*|0)$/.test(name) && type_1.isTupleTypeReference(t)) - return t.target.readonly; - switch (isReadonlyPropertyFromMappedType(t, name, checker)) { - case true: - return true; - case false: - return false; - default: - } - } - return (util_1.isSymbolFlagSet(prop, ts.SymbolFlags.ValueModule) || - symbolHasReadonlyDeclaration(prop, checker)); - }); -} -function isReadonlyPropertyFromMappedType(type, name, checker) { - if (!type_1.isObjectType(type) || !util_1.isObjectFlagSet(type, ts.ObjectFlags.Mapped)) - return; - const declaration = type.symbol.declarations[0]; - if (declaration.readonlyToken !== undefined && !/^__@[^@]+$/.test(name)) - return declaration.readonlyToken.kind !== ts.SyntaxKind.MinusToken; - return isPropertyReadonlyInType(type.modifiersType, name, checker); -} -function symbolHasReadonlyDeclaration(symbol, checker) { - return (symbol.flags & ts.SymbolFlags.Accessor) === ts.SymbolFlags.GetAccessor || - symbol.declarations !== undefined && - symbol.declarations.some((node) => util_1.isModifierFlagSet(node, ts.ModifierFlags.Readonly) || - node_1.isVariableDeclaration(node) && util_1.isNodeFlagSet(node.parent, ts.NodeFlags.Const) || - node_1.isCallExpression(node) && util_1.isReadonlyAssignmentDeclaration(node, checker) || - node_1.isEnumMember(node) || - (node_1.isPropertyAssignment(node) || node_1.isShorthandPropertyAssignment(node)) && util_1.isInConstContext(node.parent)); -} -exports.symbolHasReadonlyDeclaration = symbolHasReadonlyDeclaration; -function getPropertyNameFromType(type) { - if (type.flags & (ts.TypeFlags.StringLiteral | ts.TypeFlags.NumberLiteral)) { - const value = String(type.value); - return { displayName: value, symbolName: ts.escapeLeadingUnderscores(value) }; - } - if (type_1.isUniqueESSymbolType(type)) - return { - displayName: `[${type.symbol ? type.symbol.name : type.escapedName.replace(/^__@|@\d+$/g, '')}]`, - symbolName: type.escapedName, - }; -} -exports.getPropertyNameFromType = getPropertyNameFromType; -function getConstructorTypeOfClassLikeDeclaration(node, checker) { - return checker.getDeclaredTypeOfSymbol(node.name !== undefined ? checker.getSymbolAtLocation(node.name) : checker.getTypeAtLocation(node).symbol); -} -exports.getConstructorTypeOfClassLikeDeclaration = getConstructorTypeOfClassLikeDeclaration; -function getInstanceTypeOfClassLikeDeclaration(node, checker) { - return node.kind === ts.SyntaxKind.ClassDeclaration - ? checker.getTypeAtLocation(node) - : checker.getTypeOfSymbolAtLocation(checker.getTypeAtLocation(node).getProperty('prototype'), node); -} -exports.getInstanceTypeOfClassLikeDeclaration = getInstanceTypeOfClassLikeDeclaration; -function getIteratorYieldResultFromIteratorResult(type, node, checker) { - return type_1.isUnionType(type) && type.types.find((t) => { - const done = t.getProperty('done'); - return done !== undefined && - isBooleanLiteralType(removeOptionalityFromType(checker, checker.getTypeOfSymbolAtLocation(done, node)), false); - }) || type; -} -exports.getIteratorYieldResultFromIteratorResult = getIteratorYieldResultFromIteratorResult; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.d.ts deleted file mode 100644 index a4c022c9d..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import * as ts from 'typescript'; -export interface VariableInfo { - domain: DeclarationDomain; - exported: boolean; - uses: VariableUse[]; - inGlobalScope: boolean; - declarations: ts.Identifier[]; -} -export interface VariableUse { - domain: UsageDomain; - location: ts.Identifier; -} -export declare enum DeclarationDomain { - Namespace = 1, - Type = 2, - Value = 4, - Import = 8, - Any = 7 -} -export declare enum UsageDomain { - Namespace = 1, - Type = 2, - Value = 4, - ValueOrNamespace = 5, - Any = 7, - TypeQuery = 8 -} -export declare function getUsageDomain(node: ts.Identifier): UsageDomain | undefined; -export declare function getDeclarationDomain(node: ts.Identifier): DeclarationDomain | undefined; -export declare function collectVariableUsage(sourceFile: ts.SourceFile): Map; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.js deleted file mode 100644 index 372d38a69..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/usage.js +++ /dev/null @@ -1,645 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("./util"); -const ts = require("typescript"); -var DeclarationDomain; -(function (DeclarationDomain) { - DeclarationDomain[DeclarationDomain["Namespace"] = 1] = "Namespace"; - DeclarationDomain[DeclarationDomain["Type"] = 2] = "Type"; - DeclarationDomain[DeclarationDomain["Value"] = 4] = "Value"; - DeclarationDomain[DeclarationDomain["Import"] = 8] = "Import"; - DeclarationDomain[DeclarationDomain["Any"] = 7] = "Any"; -})(DeclarationDomain = exports.DeclarationDomain || (exports.DeclarationDomain = {})); -var UsageDomain; -(function (UsageDomain) { - UsageDomain[UsageDomain["Namespace"] = 1] = "Namespace"; - UsageDomain[UsageDomain["Type"] = 2] = "Type"; - UsageDomain[UsageDomain["Value"] = 4] = "Value"; - UsageDomain[UsageDomain["ValueOrNamespace"] = 5] = "ValueOrNamespace"; - UsageDomain[UsageDomain["Any"] = 7] = "Any"; - UsageDomain[UsageDomain["TypeQuery"] = 8] = "TypeQuery"; -})(UsageDomain = exports.UsageDomain || (exports.UsageDomain = {})); -function getUsageDomain(node) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.TypeReference: - return node.originalKeywordKind !== ts.SyntaxKind.ConstKeyword ? 2 : undefined; - case ts.SyntaxKind.ExpressionWithTypeArguments: - return parent.parent.token === ts.SyntaxKind.ImplementsKeyword || - parent.parent.parent.kind === ts.SyntaxKind.InterfaceDeclaration - ? 2 - : 4; - case ts.SyntaxKind.TypeQuery: - return 5 | 8; - case ts.SyntaxKind.QualifiedName: - if (parent.left === node) { - if (getEntityNameParent(parent).kind === ts.SyntaxKind.TypeQuery) - return 1 | 8; - return 1; - } - break; - case ts.SyntaxKind.ExportSpecifier: - if (parent.propertyName === undefined || - parent.propertyName === node) - return 7; - break; - case ts.SyntaxKind.ExportAssignment: - return 7; - case ts.SyntaxKind.BindingElement: - if (parent.initializer === node) - return 5; - break; - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.ImportEqualsDeclaration: - if (parent.name !== node) - return 5; - break; - case ts.SyntaxKind.JsxAttribute: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.LabeledStatement: - case ts.SyntaxKind.BreakStatement: - case ts.SyntaxKind.ContinueStatement: - case ts.SyntaxKind.ImportClause: - case ts.SyntaxKind.ImportSpecifier: - case ts.SyntaxKind.TypePredicate: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.PropertySignature: - case ts.SyntaxKind.NamespaceExportDeclaration: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.TypeParameter: - break; - default: - return 5; - } -} -exports.getUsageDomain = getUsageDomain; -function getDeclarationDomain(node) { - switch (node.parent.kind) { - case ts.SyntaxKind.TypeParameter: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - return 2; - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - return 2 | 4; - case ts.SyntaxKind.EnumDeclaration: - return 7; - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ImportClause: - return 7 | 8; - case ts.SyntaxKind.ImportEqualsDeclaration: - case ts.SyntaxKind.ImportSpecifier: - return node.parent.name === node - ? 7 | 8 - : undefined; - case ts.SyntaxKind.ModuleDeclaration: - return 1; - case ts.SyntaxKind.Parameter: - if (node.parent.parent.kind === ts.SyntaxKind.IndexSignature || node.originalKeywordKind === ts.SyntaxKind.ThisKeyword) - return; - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.VariableDeclaration: - return node.parent.name === node ? 4 : undefined; - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.FunctionExpression: - return 4; - } -} -exports.getDeclarationDomain = getDeclarationDomain; -function collectVariableUsage(sourceFile) { - return new UsageWalker().getUsage(sourceFile); -} -exports.collectVariableUsage = collectVariableUsage; -class AbstractScope { - constructor(_global) { - this._global = _global; - this._variables = new Map(); - this._uses = []; - this._namespaceScopes = undefined; - this._enumScopes = undefined; - } - addVariable(identifier, name, selector, exported, domain) { - const variables = this.getDestinationScope(selector).getVariables(); - const declaration = { - domain, - exported, - declaration: name, - }; - const variable = variables.get(identifier); - if (variable === undefined) { - variables.set(identifier, { - domain, - declarations: [declaration], - uses: [], - }); - } - else { - variable.domain |= domain; - variable.declarations.push(declaration); - } - } - addUse(use) { - this._uses.push(use); - } - getVariables() { - return this._variables; - } - getFunctionScope() { - return this; - } - end(cb) { - if (this._namespaceScopes !== undefined) - this._namespaceScopes.forEach((value) => value.finish(cb)); - this._namespaceScopes = this._enumScopes = undefined; - this._applyUses(); - this._variables.forEach((variable) => { - for (const declaration of variable.declarations) { - const result = { - declarations: [], - domain: declaration.domain, - exported: declaration.exported, - inGlobalScope: this._global, - uses: [], - }; - for (const other of variable.declarations) - if (other.domain & declaration.domain) - result.declarations.push(other.declaration); - for (const use of variable.uses) - if (use.domain & declaration.domain) - result.uses.push(use); - cb(result, declaration.declaration, this); - } - }); - } - markExported(_name) { } - createOrReuseNamespaceScope(name, _exported, ambient, hasExportStatement) { - let scope; - if (this._namespaceScopes === undefined) { - this._namespaceScopes = new Map(); - } - else { - scope = this._namespaceScopes.get(name); - } - if (scope === undefined) { - scope = new NamespaceScope(ambient, hasExportStatement, this); - this._namespaceScopes.set(name, scope); - } - else { - scope.refresh(ambient, hasExportStatement); - } - return scope; - } - createOrReuseEnumScope(name, _exported) { - let scope; - if (this._enumScopes === undefined) { - this._enumScopes = new Map(); - } - else { - scope = this._enumScopes.get(name); - } - if (scope === undefined) { - scope = new EnumScope(this); - this._enumScopes.set(name, scope); - } - return scope; - } - _applyUses() { - for (const use of this._uses) - if (!this._applyUse(use)) - this._addUseToParent(use); - this._uses = []; - } - _applyUse(use, variables = this._variables) { - const variable = variables.get(use.location.text); - if (variable === undefined || (variable.domain & use.domain) === 0) - return false; - variable.uses.push(use); - return true; - } - _addUseToParent(_use) { } -} -class RootScope extends AbstractScope { - constructor(_exportAll, global) { - super(global); - this._exportAll = _exportAll; - this._exports = undefined; - this._innerScope = new NonRootScope(this, 1); - } - addVariable(identifier, name, selector, exported, domain) { - if (domain & 8) - return super.addVariable(identifier, name, selector, exported, domain); - return this._innerScope.addVariable(identifier, name, selector, exported, domain); - } - addUse(use, origin) { - if (origin === this._innerScope) - return super.addUse(use); - return this._innerScope.addUse(use); - } - markExported(id) { - if (this._exports === undefined) { - this._exports = [id.text]; - } - else { - this._exports.push(id.text); - } - } - end(cb) { - this._innerScope.end((value, key) => { - value.exported = value.exported || this._exportAll - || this._exports !== undefined && this._exports.includes(key.text); - value.inGlobalScope = this._global; - return cb(value, key, this); - }); - return super.end((value, key, scope) => { - value.exported = value.exported || scope === this - && this._exports !== undefined && this._exports.includes(key.text); - return cb(value, key, scope); - }); - } - getDestinationScope() { - return this; - } -} -class NonRootScope extends AbstractScope { - constructor(_parent, _boundary) { - super(false); - this._parent = _parent; - this._boundary = _boundary; - } - _addUseToParent(use) { - return this._parent.addUse(use, this); - } - getDestinationScope(selector) { - return this._boundary & selector - ? this - : this._parent.getDestinationScope(selector); - } -} -class EnumScope extends NonRootScope { - constructor(parent) { - super(parent, 1); - } - end() { - this._applyUses(); - } -} -class ConditionalTypeScope extends NonRootScope { - constructor(parent) { - super(parent, 8); - this._state = 0; - } - updateState(newState) { - this._state = newState; - } - addUse(use) { - if (this._state === 2) - return void this._uses.push(use); - return this._parent.addUse(use, this); - } -} -class FunctionScope extends NonRootScope { - constructor(parent) { - super(parent, 1); - } - beginBody() { - this._applyUses(); - } -} -class AbstractNamedExpressionScope extends NonRootScope { - constructor(_name, _domain, parent) { - super(parent, 1); - this._name = _name; - this._domain = _domain; - } - end(cb) { - this._innerScope.end(cb); - return cb({ - declarations: [this._name], - domain: this._domain, - exported: false, - uses: this._uses, - inGlobalScope: false, - }, this._name, this); - } - addUse(use, source) { - if (source !== this._innerScope) - return this._innerScope.addUse(use); - if (use.domain & this._domain && use.location.text === this._name.text) { - this._uses.push(use); - } - else { - return this._parent.addUse(use, this); - } - } - getFunctionScope() { - return this._innerScope; - } - getDestinationScope() { - return this._innerScope; - } -} -class FunctionExpressionScope extends AbstractNamedExpressionScope { - constructor(name, parent) { - super(name, 4, parent); - this._innerScope = new FunctionScope(this); - } - beginBody() { - return this._innerScope.beginBody(); - } -} -class ClassExpressionScope extends AbstractNamedExpressionScope { - constructor(name, parent) { - super(name, 4 | 2, parent); - this._innerScope = new NonRootScope(this, 1); - } -} -class BlockScope extends NonRootScope { - constructor(_functionScope, parent) { - super(parent, 2); - this._functionScope = _functionScope; - } - getFunctionScope() { - return this._functionScope; - } -} -function mapDeclaration(declaration) { - return { - declaration, - exported: true, - domain: getDeclarationDomain(declaration), - }; -} -class NamespaceScope extends NonRootScope { - constructor(_ambient, _hasExport, parent) { - super(parent, 1); - this._ambient = _ambient; - this._hasExport = _hasExport; - this._innerScope = new NonRootScope(this, 1); - this._exports = undefined; - } - finish(cb) { - return super.end(cb); - } - end(cb) { - this._innerScope.end((variable, key, scope) => { - if (scope !== this._innerScope || - !variable.exported && (!this._ambient || this._exports !== undefined && !this._exports.has(key.text))) - return cb(variable, key, scope); - const namespaceVar = this._variables.get(key.text); - if (namespaceVar === undefined) { - this._variables.set(key.text, { - declarations: variable.declarations.map(mapDeclaration), - domain: variable.domain, - uses: [...variable.uses], - }); - } - else { - outer: for (const declaration of variable.declarations) { - for (const existing of namespaceVar.declarations) - if (existing.declaration === declaration) - continue outer; - namespaceVar.declarations.push(mapDeclaration(declaration)); - } - namespaceVar.domain |= variable.domain; - for (const use of variable.uses) { - if (namespaceVar.uses.includes(use)) - continue; - namespaceVar.uses.push(use); - } - } - }); - this._applyUses(); - this._innerScope = new NonRootScope(this, 1); - } - createOrReuseNamespaceScope(name, exported, ambient, hasExportStatement) { - if (!exported && (!this._ambient || this._hasExport)) - return this._innerScope.createOrReuseNamespaceScope(name, exported, ambient || this._ambient, hasExportStatement); - return super.createOrReuseNamespaceScope(name, exported, ambient || this._ambient, hasExportStatement); - } - createOrReuseEnumScope(name, exported) { - if (!exported && (!this._ambient || this._hasExport)) - return this._innerScope.createOrReuseEnumScope(name, exported); - return super.createOrReuseEnumScope(name, exported); - } - addUse(use, source) { - if (source !== this._innerScope) - return this._innerScope.addUse(use); - this._uses.push(use); - } - refresh(ambient, hasExport) { - this._ambient = ambient; - this._hasExport = hasExport; - } - markExported(name, _as) { - if (this._exports === undefined) - this._exports = new Set(); - this._exports.add(name.text); - } - getDestinationScope() { - return this._innerScope; - } -} -function getEntityNameParent(name) { - let parent = name.parent; - while (parent.kind === ts.SyntaxKind.QualifiedName) - parent = parent.parent; - return parent; -} -class UsageWalker { - constructor() { - this._result = new Map(); - } - getUsage(sourceFile) { - const variableCallback = (variable, key) => { - this._result.set(key, variable); - }; - const isModule = ts.isExternalModule(sourceFile); - this._scope = new RootScope(sourceFile.isDeclarationFile && isModule && !containsExportStatement(sourceFile), !isModule); - const cb = (node) => { - if (util_1.isBlockScopeBoundary(node)) - return continueWithScope(node, new BlockScope(this._scope.getFunctionScope(), this._scope), handleBlockScope); - switch (node.kind) { - case ts.SyntaxKind.ClassExpression: - return continueWithScope(node, node.name !== undefined - ? new ClassExpressionScope(node.name, this._scope) - : new NonRootScope(this._scope, 1)); - case ts.SyntaxKind.ClassDeclaration: - this._handleDeclaration(node, true, 4 | 2); - return continueWithScope(node, new NonRootScope(this._scope, 1)); - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - this._handleDeclaration(node, true, 2); - return continueWithScope(node, new NonRootScope(this._scope, 4)); - case ts.SyntaxKind.EnumDeclaration: - this._handleDeclaration(node, true, 7); - return continueWithScope(node, this._scope.createOrReuseEnumScope(node.name.text, util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword))); - case ts.SyntaxKind.ModuleDeclaration: - return this._handleModule(node, continueWithScope); - case ts.SyntaxKind.MappedType: - return continueWithScope(node, new NonRootScope(this._scope, 4)); - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.FunctionType: - return this._handleFunctionLikeDeclaration(node, cb, variableCallback); - case ts.SyntaxKind.ConditionalType: - return this._handleConditionalType(node, cb, variableCallback); - case ts.SyntaxKind.VariableDeclarationList: - this._handleVariableDeclaration(node); - break; - case ts.SyntaxKind.Parameter: - if (node.parent.kind !== ts.SyntaxKind.IndexSignature && - (node.name.kind !== ts.SyntaxKind.Identifier || - node.name.originalKeywordKind !== ts.SyntaxKind.ThisKeyword)) - this._handleBindingName(node.name, false, false); - break; - case ts.SyntaxKind.EnumMember: - this._scope.addVariable(util_1.getPropertyName(node.name), node.name, 1, true, 4); - break; - case ts.SyntaxKind.ImportClause: - case ts.SyntaxKind.ImportSpecifier: - case ts.SyntaxKind.NamespaceImport: - case ts.SyntaxKind.ImportEqualsDeclaration: - this._handleDeclaration(node, false, 7 | 8); - break; - case ts.SyntaxKind.TypeParameter: - this._scope.addVariable(node.name.text, node.name, node.parent.kind === ts.SyntaxKind.InferType ? 8 : 7, false, 2); - break; - case ts.SyntaxKind.ExportSpecifier: - if (node.propertyName !== undefined) - return this._scope.markExported(node.propertyName, node.name); - return this._scope.markExported(node.name); - case ts.SyntaxKind.ExportAssignment: - if (node.expression.kind === ts.SyntaxKind.Identifier) - return this._scope.markExported(node.expression); - break; - case ts.SyntaxKind.Identifier: - const domain = getUsageDomain(node); - if (domain !== undefined) - this._scope.addUse({ domain, location: node }); - return; - } - return ts.forEachChild(node, cb); - }; - const continueWithScope = (node, scope, next = forEachChild) => { - const savedScope = this._scope; - this._scope = scope; - next(node); - this._scope.end(variableCallback); - this._scope = savedScope; - }; - const handleBlockScope = (node) => { - if (node.kind === ts.SyntaxKind.CatchClause && node.variableDeclaration !== undefined) - this._handleBindingName(node.variableDeclaration.name, true, false); - return ts.forEachChild(node, cb); - }; - ts.forEachChild(sourceFile, cb); - this._scope.end(variableCallback); - return this._result; - function forEachChild(node) { - return ts.forEachChild(node, cb); - } - } - _handleConditionalType(node, cb, varCb) { - const savedScope = this._scope; - const scope = this._scope = new ConditionalTypeScope(savedScope); - cb(node.checkType); - scope.updateState(1); - cb(node.extendsType); - scope.updateState(2); - cb(node.trueType); - scope.updateState(3); - cb(node.falseType); - scope.end(varCb); - this._scope = savedScope; - } - _handleFunctionLikeDeclaration(node, cb, varCb) { - if (node.decorators !== undefined) - node.decorators.forEach(cb); - const savedScope = this._scope; - if (node.kind === ts.SyntaxKind.FunctionDeclaration) - this._handleDeclaration(node, false, 4); - const scope = this._scope = node.kind === ts.SyntaxKind.FunctionExpression && node.name !== undefined - ? new FunctionExpressionScope(node.name, savedScope) - : new FunctionScope(savedScope); - if (node.name !== undefined) - cb(node.name); - if (node.typeParameters !== undefined) - node.typeParameters.forEach(cb); - node.parameters.forEach(cb); - if (node.type !== undefined) - cb(node.type); - if (node.body !== undefined) { - scope.beginBody(); - cb(node.body); - } - scope.end(varCb); - this._scope = savedScope; - } - _handleModule(node, next) { - if (node.flags & ts.NodeFlags.GlobalAugmentation) - return next(node, this._scope.createOrReuseNamespaceScope('-global', false, true, false)); - if (node.name.kind === ts.SyntaxKind.Identifier) { - const exported = isNamespaceExported(node); - this._scope.addVariable(node.name.text, node.name, 1, exported, 1 | 4); - const ambient = util_1.hasModifier(node.modifiers, ts.SyntaxKind.DeclareKeyword); - return next(node, this._scope.createOrReuseNamespaceScope(node.name.text, exported, ambient, ambient && namespaceHasExportStatement(node))); - } - return next(node, this._scope.createOrReuseNamespaceScope(`"${node.name.text}"`, false, true, namespaceHasExportStatement(node))); - } - _handleDeclaration(node, blockScoped, domain) { - if (node.name !== undefined) - this._scope.addVariable(node.name.text, node.name, blockScoped ? 3 : 1, util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword), domain); - } - _handleBindingName(name, blockScoped, exported) { - if (name.kind === ts.SyntaxKind.Identifier) - return this._scope.addVariable(name.text, name, blockScoped ? 3 : 1, exported, 4); - util_1.forEachDestructuringIdentifier(name, (declaration) => { - this._scope.addVariable(declaration.name.text, declaration.name, blockScoped ? 3 : 1, exported, 4); - }); - } - _handleVariableDeclaration(declarationList) { - const blockScoped = util_1.isBlockScopedVariableDeclarationList(declarationList); - const exported = declarationList.parent.kind === ts.SyntaxKind.VariableStatement && - util_1.hasModifier(declarationList.parent.modifiers, ts.SyntaxKind.ExportKeyword); - for (const declaration of declarationList.declarations) - this._handleBindingName(declaration.name, blockScoped, exported); - } -} -function isNamespaceExported(node) { - return node.parent.kind === ts.SyntaxKind.ModuleDeclaration || util_1.hasModifier(node.modifiers, ts.SyntaxKind.ExportKeyword); -} -function namespaceHasExportStatement(ns) { - if (ns.body === undefined || ns.body.kind !== ts.SyntaxKind.ModuleBlock) - return false; - return containsExportStatement(ns.body); -} -function containsExportStatement(block) { - for (const statement of block.statements) - if (statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment) - return true; - return false; -} diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.d.ts b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.d.ts deleted file mode 100644 index 1ae3299a8..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.d.ts +++ /dev/null @@ -1,167 +0,0 @@ -import * as ts from 'typescript'; -import { NodeWrap } from './convert-ast'; -export declare function getChildOfKind(node: ts.Node, kind: T, sourceFile?: ts.SourceFile): ts.Token | undefined; -export declare function isTokenKind(kind: ts.SyntaxKind): boolean; -export declare function isNodeKind(kind: ts.SyntaxKind): boolean; -export declare function isAssignmentKind(kind: ts.SyntaxKind): boolean; -export declare function isTypeNodeKind(kind: ts.SyntaxKind): boolean; -export declare function isJsDocKind(kind: ts.SyntaxKind): boolean; -export declare function isKeywordKind(kind: ts.SyntaxKind): boolean; -export declare function isThisParameter(parameter: ts.ParameterDeclaration): boolean; -export declare function getModifier(node: ts.Node, kind: ts.Modifier['kind']): ts.Modifier | undefined; -export declare function hasModifier(modifiers: ts.ModifiersArray | undefined, ...kinds: Array): boolean; -export declare function isParameterProperty(node: ts.ParameterDeclaration): boolean; -export declare function hasAccessModifier(node: ts.ClassElement | ts.ParameterDeclaration): boolean; -export declare const isNodeFlagSet: (node: ts.Node, flag: ts.NodeFlags) => boolean; -export declare const isTypeFlagSet: (type: ts.Type, flag: ts.TypeFlags) => boolean; -export declare const isSymbolFlagSet: (symbol: ts.Symbol, flag: ts.SymbolFlags) => boolean; -export declare function isObjectFlagSet(objectType: ts.ObjectType, flag: ts.ObjectFlags): boolean; -export declare function isModifierFlagSet(node: ts.Node, flag: ts.ModifierFlags): boolean; -export declare function getPreviousStatement(statement: ts.Statement): ts.Statement | undefined; -export declare function getNextStatement(statement: ts.Statement): ts.Statement | undefined; -export declare function getPreviousToken(node: ts.Node, sourceFile?: ts.SourceFile): ts.Node | undefined; -export declare function getNextToken(node: ts.Node, sourceFile?: ts.SourceFile): ts.Node | undefined; -export declare function getTokenAtPosition(parent: ts.Node, pos: number, sourceFile?: ts.SourceFile, allowJsDoc?: boolean): ts.Node | undefined; -export declare function getCommentAtPosition(sourceFile: ts.SourceFile, pos: number, parent?: ts.Node): ts.CommentRange | undefined; -export declare function isPositionInComment(sourceFile: ts.SourceFile, pos: number, parent?: ts.Node): boolean; -export declare function commentText(sourceText: string, comment: ts.CommentRange): string; -export declare function getWrappedNodeAtPosition(wrap: NodeWrap, pos: number): NodeWrap | undefined; -export declare function getPropertyName(propertyName: ts.PropertyName): string | undefined; -export declare function forEachDestructuringIdentifier(pattern: ts.BindingPattern, fn: (element: ts.BindingElement & { - name: ts.Identifier; -}) => T): T | undefined; -export declare function forEachDeclaredVariable(declarationList: ts.VariableDeclarationList, cb: (element: (ts.VariableDeclaration | ts.BindingElement) & { - name: ts.Identifier; -}) => T): T | undefined; -export declare enum VariableDeclarationKind { - Var = 0, - Let = 1, - Const = 2 -} -export declare function getVariableDeclarationKind(declarationList: ts.VariableDeclarationList): VariableDeclarationKind; -export declare function isBlockScopedVariableDeclarationList(declarationList: ts.VariableDeclarationList): boolean; -export declare function isBlockScopedVariableDeclaration(declaration: ts.VariableDeclaration): boolean; -export declare function isBlockScopedDeclarationStatement(statement: ts.Statement): statement is ts.DeclarationStatement; -export declare function isInSingleStatementContext(statement: ts.Statement): boolean; -export declare enum ScopeBoundary { - None = 0, - Function = 1, - Block = 2, - Type = 4, - ConditionalType = 8 -} -export declare enum ScopeBoundarySelector { - Function = 1, - Block = 3, - Type = 7, - InferType = 8 -} -export declare function isScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isTypeScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isFunctionScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function isBlockScopeBoundary(node: ts.Node): ScopeBoundary; -export declare function hasOwnThisReference(node: ts.Node): boolean; -export declare function isFunctionWithBody(node: ts.Node): node is ts.FunctionLikeDeclaration & { - body: {}; -}; -export declare function forEachToken(node: ts.Node, cb: (node: ts.Node) => void, sourceFile?: ts.SourceFile): void; -export declare type ForEachTokenCallback = (fullText: string, kind: ts.SyntaxKind, range: ts.TextRange, parent: ts.Node) => void; -export declare function forEachTokenWithTrivia(node: ts.Node, cb: ForEachTokenCallback, sourceFile?: ts.SourceFile): void; -export declare type ForEachCommentCallback = (fullText: string, comment: ts.CommentRange) => void; -export declare function forEachComment(node: ts.Node, cb: ForEachCommentCallback, sourceFile?: ts.SourceFile): void; -export interface LineRange extends ts.TextRange { - contentLength: number; -} -export declare function getLineRanges(sourceFile: ts.SourceFile): LineRange[]; -export declare function getLineBreakStyle(sourceFile: ts.SourceFile): "\n" | "\r\n"; -export declare function isValidIdentifier(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidPropertyAccess(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidPropertyName(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidNumericLiteral(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isValidJsxIdentifier(text: string, languageVersion?: ts.ScriptTarget): boolean; -export declare function isNumericPropertyName(name: string | ts.__String): boolean; -export declare function isSameLine(sourceFile: ts.SourceFile, pos1: number, pos2: number): boolean; -export declare enum SideEffectOptions { - None = 0, - TaggedTemplate = 1, - Constructor = 2, - JsxElement = 4 -} -export declare function hasSideEffects(node: ts.Expression, options?: SideEffectOptions): boolean; -export declare function getDeclarationOfBindingElement(node: ts.BindingElement): ts.VariableDeclaration | ts.ParameterDeclaration; -export declare function isExpressionValueUsed(node: ts.Expression): boolean; -export declare enum AccessKind { - None = 0, - Read = 1, - Write = 2, - Delete = 4, - ReadWrite = 3, - Modification = 6 -} -export declare function getAccessKind(node: ts.Node): AccessKind; -export declare function isReassignmentTarget(node: ts.Expression): boolean; -export declare function canHaveJsDoc(node: ts.Node): node is ts.HasJSDoc; -export declare function getJsDoc(node: ts.Node, sourceFile?: ts.SourceFile): ts.JSDoc[]; -export declare function parseJsDocOfNode(node: ts.Node, considerTrailingComments?: boolean, sourceFile?: ts.SourceFile): ts.JSDoc[]; -export declare enum ImportKind { - ImportDeclaration = 1, - ImportEquals = 2, - ExportFrom = 4, - DynamicImport = 8, - Require = 16, - ImportType = 32, - All = 63, - AllImports = 59, - AllStaticImports = 3, - AllImportExpressions = 24, - AllRequireLike = 18 -} -export declare function findImports(sourceFile: ts.SourceFile, kinds: ImportKind): (ts.StringLiteral | ts.NoSubstitutionTemplateLiteral)[]; -export declare type ImportLike = ts.ImportDeclaration | (ts.ImportEqualsDeclaration & { - moduleReference: ts.ExternalModuleReference; -}) | (ts.ExportDeclaration & { - moduleSpecifier: {}; -}) | (ts.CallExpression & { - expression: ts.Token | (ts.Identifier & { - text: 'require'; - }); - arguments: [ts.Expression]; -}) | ts.ImportTypeNode; -export declare function findImportLikeNodes(sourceFile: ts.SourceFile, kinds: ImportKind): ImportLike[]; -export declare function isStatementInAmbientContext(node: ts.Statement): boolean; -export declare function isAmbientModuleBlock(node: ts.Node): node is ts.ModuleBlock; -export declare function getIIFE(func: ts.FunctionExpression | ts.ArrowFunction): ts.CallExpression | undefined; -export declare type StrictCompilerOption = 'noImplicitAny' | 'noImplicitThis' | 'strictNullChecks' | 'strictFunctionTypes' | 'strictPropertyInitialization' | 'alwaysStrict' | 'strictBindCallApply'; -export declare function isStrictCompilerOptionEnabled(options: ts.CompilerOptions, option: StrictCompilerOption): boolean; -export declare type BooleanCompilerOptions = { - [K in keyof ts.CompilerOptions]: NonNullable extends boolean ? K : never; -} extends { - [_ in keyof ts.CompilerOptions]: infer U; -} ? U : never; -export declare function isCompilerOptionEnabled(options: ts.CompilerOptions, option: BooleanCompilerOptions | 'stripInternal'): boolean; -export declare function isAmbientModule(node: ts.ModuleDeclaration): boolean; -export declare function getCheckJsDirective(source: string): ts.CheckJsDirective | undefined; -export declare function isConstAssertion(node: ts.AssertionExpression): boolean; -export declare function isInConstContext(node: ts.Expression): boolean; -export declare function isReadonlyAssignmentDeclaration(node: ts.CallExpression, checker: ts.TypeChecker): boolean; -export declare function isBindableObjectDefinePropertyCall(node: ts.CallExpression): boolean; -export interface WellKnownSymbolLiteral extends ts.PropertyAccessExpression { - expression: ts.Identifier & { - text: 'Symbol'; - escapedText: 'symbol'; - }; -} -export declare function isWellKnownSymbolLiterally(node: ts.Expression): node is WellKnownSymbolLiteral; -export interface PropertyName { - displayName: string; - symbolName: ts.__String; -} -export declare function getPropertyNameOfWellKnownSymbol(node: WellKnownSymbolLiteral): PropertyName; -export interface LateBoundPropertyNames { - known: boolean; - names: PropertyName[]; -} -export declare function getLateBoundPropertyNames(node: ts.Expression, checker: ts.TypeChecker): LateBoundPropertyNames; -export declare function getLateBoundPropertyNamesOfPropertyName(node: ts.PropertyName, checker: ts.TypeChecker): LateBoundPropertyNames; -export declare function getSingleLateBoundPropertyNameOfPropertyName(node: ts.PropertyName, checker: ts.TypeChecker): PropertyName | undefined; -export declare function unwrapParentheses(node: ts.Expression): ts.Expression; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.js b/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.js deleted file mode 100644 index 07b469a49..000000000 --- a/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils/util/util.js +++ /dev/null @@ -1,1422 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = require("typescript"); -const node_1 = require("../typeguard/node"); -const _3_2_1 = require("../typeguard/3.2"); -const type_1 = require("./type"); -function getChildOfKind(node, kind, sourceFile) { - for (const child of node.getChildren(sourceFile)) - if (child.kind === kind) - return child; -} -exports.getChildOfKind = getChildOfKind; -function isTokenKind(kind) { - return kind >= ts.SyntaxKind.FirstToken && kind <= ts.SyntaxKind.LastToken; -} -exports.isTokenKind = isTokenKind; -function isNodeKind(kind) { - return kind >= ts.SyntaxKind.FirstNode; -} -exports.isNodeKind = isNodeKind; -function isAssignmentKind(kind) { - return kind >= ts.SyntaxKind.FirstAssignment && kind <= ts.SyntaxKind.LastAssignment; -} -exports.isAssignmentKind = isAssignmentKind; -function isTypeNodeKind(kind) { - return kind >= ts.SyntaxKind.FirstTypeNode && kind <= ts.SyntaxKind.LastTypeNode; -} -exports.isTypeNodeKind = isTypeNodeKind; -function isJsDocKind(kind) { - return kind >= ts.SyntaxKind.FirstJSDocNode && kind <= ts.SyntaxKind.LastJSDocNode; -} -exports.isJsDocKind = isJsDocKind; -function isKeywordKind(kind) { - return kind >= ts.SyntaxKind.FirstKeyword && kind <= ts.SyntaxKind.LastKeyword; -} -exports.isKeywordKind = isKeywordKind; -function isThisParameter(parameter) { - return parameter.name.kind === ts.SyntaxKind.Identifier && parameter.name.originalKeywordKind === ts.SyntaxKind.ThisKeyword; -} -exports.isThisParameter = isThisParameter; -function getModifier(node, kind) { - if (node.modifiers !== undefined) - for (const modifier of node.modifiers) - if (modifier.kind === kind) - return modifier; -} -exports.getModifier = getModifier; -function hasModifier(modifiers, ...kinds) { - if (modifiers === undefined) - return false; - for (const modifier of modifiers) - if (kinds.includes(modifier.kind)) - return true; - return false; -} -exports.hasModifier = hasModifier; -function isParameterProperty(node) { - return hasModifier(node.modifiers, ts.SyntaxKind.PublicKeyword, ts.SyntaxKind.ProtectedKeyword, ts.SyntaxKind.PrivateKeyword, ts.SyntaxKind.ReadonlyKeyword); -} -exports.isParameterProperty = isParameterProperty; -function hasAccessModifier(node) { - return hasModifier(node.modifiers, ts.SyntaxKind.PublicKeyword, ts.SyntaxKind.ProtectedKeyword, ts.SyntaxKind.PrivateKeyword); -} -exports.hasAccessModifier = hasAccessModifier; -function isFlagSet(obj, flag) { - return (obj.flags & flag) !== 0; -} -exports.isNodeFlagSet = isFlagSet; -exports.isTypeFlagSet = isFlagSet; -exports.isSymbolFlagSet = isFlagSet; -function isObjectFlagSet(objectType, flag) { - return (objectType.objectFlags & flag) !== 0; -} -exports.isObjectFlagSet = isObjectFlagSet; -function isModifierFlagSet(node, flag) { - return (ts.getCombinedModifierFlags(node) & flag) !== 0; -} -exports.isModifierFlagSet = isModifierFlagSet; -function getPreviousStatement(statement) { - const parent = statement.parent; - if (node_1.isBlockLike(parent)) { - const index = parent.statements.indexOf(statement); - if (index > 0) - return parent.statements[index - 1]; - } -} -exports.getPreviousStatement = getPreviousStatement; -function getNextStatement(statement) { - const parent = statement.parent; - if (node_1.isBlockLike(parent)) { - const index = parent.statements.indexOf(statement); - if (index < parent.statements.length) - return parent.statements[index + 1]; - } -} -exports.getNextStatement = getNextStatement; -function getPreviousToken(node, sourceFile) { - let parent = node.parent; - while (parent !== undefined && parent.pos === node.pos) - parent = parent.parent; - if (parent === undefined) - return; - outer: while (true) { - const children = parent.getChildren(sourceFile); - for (let i = children.length - 1; i >= 0; --i) { - const child = children[i]; - if (child.pos < node.pos && child.kind !== ts.SyntaxKind.JSDocComment) { - if (isTokenKind(child.kind)) - return child; - parent = child; - continue outer; - } - } - return; - } -} -exports.getPreviousToken = getPreviousToken; -function getNextToken(node, sourceFile = node.getSourceFile()) { - if (node.kind === ts.SyntaxKind.SourceFile || node.kind === ts.SyntaxKind.EndOfFileToken) - return; - const end = node.end; - node = node.parent; - while (node.end === end) { - if (node.parent === undefined) - return node.endOfFileToken; - node = node.parent; - } - return getTokenAtPositionWorker(node, end, sourceFile, false); -} -exports.getNextToken = getNextToken; -function getTokenAtPosition(parent, pos, sourceFile, allowJsDoc) { - if (pos < parent.pos || pos >= parent.end) - return; - if (isTokenKind(parent.kind)) - return parent; - if (sourceFile === undefined) - sourceFile = parent.getSourceFile(); - return getTokenAtPositionWorker(parent, pos, sourceFile, allowJsDoc === true); -} -exports.getTokenAtPosition = getTokenAtPosition; -function getTokenAtPositionWorker(node, pos, sourceFile, allowJsDoc) { - outer: while (true) { - for (const child of node.getChildren(sourceFile)) { - if (child.end > pos && (allowJsDoc || child.kind !== ts.SyntaxKind.JSDocComment)) { - if (isTokenKind(child.kind)) - return child; - node = child; - continue outer; - } - } - return; - } -} -function getCommentAtPosition(sourceFile, pos, parent = sourceFile) { - const token = getTokenAtPosition(parent, pos, sourceFile); - if (token === undefined || token.kind === ts.SyntaxKind.JsxText || pos >= token.end - (ts.tokenToString(token.kind) || '').length) - return; - const startPos = token.pos === 0 - ? (ts.getShebang(sourceFile.text) || '').length - : token.pos; - return startPos !== 0 && ts.forEachTrailingCommentRange(sourceFile.text, startPos, commentAtPositionCallback, pos) || - ts.forEachLeadingCommentRange(sourceFile.text, startPos, commentAtPositionCallback, pos); -} -exports.getCommentAtPosition = getCommentAtPosition; -function commentAtPositionCallback(pos, end, kind, _nl, at) { - return at >= pos && at < end ? { pos, end, kind } : undefined; -} -function isPositionInComment(sourceFile, pos, parent) { - return getCommentAtPosition(sourceFile, pos, parent) !== undefined; -} -exports.isPositionInComment = isPositionInComment; -function commentText(sourceText, comment) { - return sourceText.substring(comment.pos + 2, comment.kind === ts.SyntaxKind.SingleLineCommentTrivia ? comment.end : comment.end - 2); -} -exports.commentText = commentText; -function getWrappedNodeAtPosition(wrap, pos) { - if (wrap.node.pos > pos || wrap.node.end <= pos) - return; - outer: while (true) { - for (const child of wrap.children) { - if (child.node.pos > pos) - return wrap; - if (child.node.end > pos) { - wrap = child; - continue outer; - } - } - return wrap; - } -} -exports.getWrappedNodeAtPosition = getWrappedNodeAtPosition; -function getPropertyName(propertyName) { - if (propertyName.kind === ts.SyntaxKind.ComputedPropertyName) { - if (!node_1.isLiteralExpression(propertyName.expression)) - return; - if (_3_2_1.isBigIntLiteral(propertyName.expression)) - return propertyName.expression.text.slice(0, -1); - return propertyName.expression.text; - } - return propertyName.text; -} -exports.getPropertyName = getPropertyName; -function forEachDestructuringIdentifier(pattern, fn) { - for (const element of pattern.elements) { - if (element.kind !== ts.SyntaxKind.BindingElement) - continue; - let result; - if (element.name.kind === ts.SyntaxKind.Identifier) { - result = fn(element); - } - else { - result = forEachDestructuringIdentifier(element.name, fn); - } - if (result) - return result; - } -} -exports.forEachDestructuringIdentifier = forEachDestructuringIdentifier; -function forEachDeclaredVariable(declarationList, cb) { - for (const declaration of declarationList.declarations) { - let result; - if (declaration.name.kind === ts.SyntaxKind.Identifier) { - result = cb(declaration); - } - else { - result = forEachDestructuringIdentifier(declaration.name, cb); - } - if (result) - return result; - } -} -exports.forEachDeclaredVariable = forEachDeclaredVariable; -var VariableDeclarationKind; -(function (VariableDeclarationKind) { - VariableDeclarationKind[VariableDeclarationKind["Var"] = 0] = "Var"; - VariableDeclarationKind[VariableDeclarationKind["Let"] = 1] = "Let"; - VariableDeclarationKind[VariableDeclarationKind["Const"] = 2] = "Const"; -})(VariableDeclarationKind = exports.VariableDeclarationKind || (exports.VariableDeclarationKind = {})); -function getVariableDeclarationKind(declarationList) { - if (declarationList.flags & ts.NodeFlags.Let) - return 1; - if (declarationList.flags & ts.NodeFlags.Const) - return 2; - return 0; -} -exports.getVariableDeclarationKind = getVariableDeclarationKind; -function isBlockScopedVariableDeclarationList(declarationList) { - return (declarationList.flags & ts.NodeFlags.BlockScoped) !== 0; -} -exports.isBlockScopedVariableDeclarationList = isBlockScopedVariableDeclarationList; -function isBlockScopedVariableDeclaration(declaration) { - const parent = declaration.parent; - return parent.kind === ts.SyntaxKind.CatchClause || - isBlockScopedVariableDeclarationList(parent); -} -exports.isBlockScopedVariableDeclaration = isBlockScopedVariableDeclaration; -function isBlockScopedDeclarationStatement(statement) { - switch (statement.kind) { - case ts.SyntaxKind.VariableStatement: - return isBlockScopedVariableDeclarationList(statement.declarationList); - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - return true; - default: - return false; - } -} -exports.isBlockScopedDeclarationStatement = isBlockScopedDeclarationStatement; -function isInSingleStatementContext(statement) { - switch (statement.parent.kind) { - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.LabeledStatement: - return true; - default: - return false; - } -} -exports.isInSingleStatementContext = isInSingleStatementContext; -var ScopeBoundary; -(function (ScopeBoundary) { - ScopeBoundary[ScopeBoundary["None"] = 0] = "None"; - ScopeBoundary[ScopeBoundary["Function"] = 1] = "Function"; - ScopeBoundary[ScopeBoundary["Block"] = 2] = "Block"; - ScopeBoundary[ScopeBoundary["Type"] = 4] = "Type"; - ScopeBoundary[ScopeBoundary["ConditionalType"] = 8] = "ConditionalType"; -})(ScopeBoundary = exports.ScopeBoundary || (exports.ScopeBoundary = {})); -var ScopeBoundarySelector; -(function (ScopeBoundarySelector) { - ScopeBoundarySelector[ScopeBoundarySelector["Function"] = 1] = "Function"; - ScopeBoundarySelector[ScopeBoundarySelector["Block"] = 3] = "Block"; - ScopeBoundarySelector[ScopeBoundarySelector["Type"] = 7] = "Type"; - ScopeBoundarySelector[ScopeBoundarySelector["InferType"] = 8] = "InferType"; -})(ScopeBoundarySelector = exports.ScopeBoundarySelector || (exports.ScopeBoundarySelector = {})); -function isScopeBoundary(node) { - return isFunctionScopeBoundary(node) || isBlockScopeBoundary(node) || isTypeScopeBoundary(node); -} -exports.isScopeBoundary = isScopeBoundary; -function isTypeScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.MappedType: - return 4; - case ts.SyntaxKind.ConditionalType: - return 8; - default: - return 0; - } -} -exports.isTypeScopeBoundary = isTypeScopeBoundary; -function isFunctionScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.FunctionType: - return 1; - case ts.SyntaxKind.SourceFile: - return ts.isExternalModule(node) ? 1 : 0; - default: - return 0; - } -} -exports.isFunctionScopeBoundary = isFunctionScopeBoundary; -function isBlockScopeBoundary(node) { - switch (node.kind) { - case ts.SyntaxKind.Block: - const parent = node.parent; - return parent.kind !== ts.SyntaxKind.CatchClause && - (parent.kind === ts.SyntaxKind.SourceFile || - !isFunctionScopeBoundary(parent)) - ? 2 - : 0; - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.CaseBlock: - case ts.SyntaxKind.CatchClause: - case ts.SyntaxKind.WithStatement: - return 2; - default: - return 0; - } -} -exports.isBlockScopeBoundary = isBlockScopeBoundary; -function hasOwnThisReference(node) { - switch (node.kind) { - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.FunctionExpression: - return true; - case ts.SyntaxKind.FunctionDeclaration: - return node.body !== undefined; - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - return node.parent.kind === ts.SyntaxKind.ObjectLiteralExpression; - default: - return false; - } -} -exports.hasOwnThisReference = hasOwnThisReference; -function isFunctionWithBody(node) { - switch (node.kind) { - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.Constructor: - return node.body !== undefined; - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.ArrowFunction: - return true; - default: - return false; - } -} -exports.isFunctionWithBody = isFunctionWithBody; -function forEachToken(node, cb, sourceFile = node.getSourceFile()) { - return (function iterate(child) { - if (isTokenKind(child.kind)) - return cb(child); - if (child.kind !== ts.SyntaxKind.JSDocComment) - return child.getChildren(sourceFile).forEach(iterate); - })(node); -} -exports.forEachToken = forEachToken; -function forEachTokenWithTrivia(node, cb, sourceFile = node.getSourceFile()) { - const fullText = sourceFile.text; - const scanner = ts.createScanner(sourceFile.languageVersion, false, sourceFile.languageVariant, fullText); - return forEachToken(node, (token) => { - const tokenStart = token.kind === ts.SyntaxKind.JsxText || token.pos === token.end ? token.pos : token.getStart(sourceFile); - if (tokenStart !== token.pos) { - scanner.setTextPos(token.pos); - let kind = scanner.scan(); - let pos = scanner.getTokenPos(); - while (pos < tokenStart) { - const textPos = scanner.getTextPos(); - cb(fullText, kind, { pos, end: textPos }, token.parent); - if (textPos === tokenStart) - break; - kind = scanner.scan(); - pos = scanner.getTokenPos(); - } - } - return cb(fullText, token.kind, { end: token.end, pos: tokenStart }, token.parent); - }, sourceFile); -} -exports.forEachTokenWithTrivia = forEachTokenWithTrivia; -function forEachComment(node, cb, sourceFile = node.getSourceFile()) { - const fullText = sourceFile.text; - const notJsx = sourceFile.languageVariant !== ts.LanguageVariant.JSX; - return forEachToken(node, (token) => { - if (token.pos === token.end) - return; - if (token.kind !== ts.SyntaxKind.JsxText) - ts.forEachLeadingCommentRange(fullText, token.pos === 0 ? (ts.getShebang(fullText) || '').length : token.pos, commentCallback); - if (notJsx || canHaveTrailingTrivia(token)) - return ts.forEachTrailingCommentRange(fullText, token.end, commentCallback); - }, sourceFile); - function commentCallback(pos, end, kind) { - cb(fullText, { pos, end, kind }); - } -} -exports.forEachComment = forEachComment; -function canHaveTrailingTrivia(token) { - switch (token.kind) { - case ts.SyntaxKind.CloseBraceToken: - return token.parent.kind !== ts.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent); - case ts.SyntaxKind.GreaterThanToken: - switch (token.parent.kind) { - case ts.SyntaxKind.JsxOpeningElement: - return token.end !== token.parent.end; - case ts.SyntaxKind.JsxOpeningFragment: - return false; - case ts.SyntaxKind.JsxSelfClosingElement: - return token.end !== token.parent.end || - !isJsxElementOrFragment(token.parent.parent); - case ts.SyntaxKind.JsxClosingElement: - case ts.SyntaxKind.JsxClosingFragment: - return !isJsxElementOrFragment(token.parent.parent.parent); - } - } - return true; -} -function isJsxElementOrFragment(node) { - return node.kind === ts.SyntaxKind.JsxElement || node.kind === ts.SyntaxKind.JsxFragment; -} -function getLineRanges(sourceFile) { - const lineStarts = sourceFile.getLineStarts(); - const result = []; - const length = lineStarts.length; - const sourceText = sourceFile.text; - let pos = 0; - for (let i = 1; i < length; ++i) { - const end = lineStarts[i]; - let lineEnd = end; - for (; lineEnd > pos; --lineEnd) - if (!ts.isLineBreak(sourceText.charCodeAt(lineEnd - 1))) - break; - result.push({ - pos, - end, - contentLength: lineEnd - pos, - }); - pos = end; - } - result.push({ - pos, - end: sourceFile.end, - contentLength: sourceFile.end - pos, - }); - return result; -} -exports.getLineRanges = getLineRanges; -function getLineBreakStyle(sourceFile) { - const lineStarts = sourceFile.getLineStarts(); - return lineStarts.length === 1 || lineStarts[1] < 2 || sourceFile.text[lineStarts[1] - 2] !== '\r' - ? '\n' - : '\r\n'; -} -exports.getLineBreakStyle = getLineBreakStyle; -let cachedScanner; -function scanToken(text, languageVersion) { - if (cachedScanner === undefined) { - cachedScanner = ts.createScanner(languageVersion, false, undefined, text); - } - else { - cachedScanner.setScriptTarget(languageVersion); - cachedScanner.setText(text); - } - cachedScanner.scan(); - return cachedScanner; -} -function isValidIdentifier(text, languageVersion = ts.ScriptTarget.Latest) { - const scan = scanToken(text, languageVersion); - return scan.isIdentifier() && scan.getTextPos() === text.length && scan.getTokenPos() === 0; -} -exports.isValidIdentifier = isValidIdentifier; -function charSize(ch) { - return ch >= 0x10000 ? 2 : 1; -} -function isValidPropertyAccess(text, languageVersion = ts.ScriptTarget.Latest) { - if (text.length === 0) - return false; - let ch = text.codePointAt(0); - if (!ts.isIdentifierStart(ch, languageVersion)) - return false; - for (let i = charSize(ch); i < text.length; i += charSize(ch)) { - ch = text.codePointAt(i); - if (!ts.isIdentifierPart(ch, languageVersion)) - return false; - } - return true; -} -exports.isValidPropertyAccess = isValidPropertyAccess; -function isValidPropertyName(text, languageVersion = ts.ScriptTarget.Latest) { - if (isValidPropertyAccess(text, languageVersion)) - return true; - const scan = scanToken(text, languageVersion); - return scan.getTextPos() === text.length && - scan.getToken() === ts.SyntaxKind.NumericLiteral && scan.getTokenValue() === text; -} -exports.isValidPropertyName = isValidPropertyName; -function isValidNumericLiteral(text, languageVersion = ts.ScriptTarget.Latest) { - const scan = scanToken(text, languageVersion); - return scan.getToken() === ts.SyntaxKind.NumericLiteral && scan.getTextPos() === text.length && scan.getTokenPos() === 0; -} -exports.isValidNumericLiteral = isValidNumericLiteral; -function isValidJsxIdentifier(text, languageVersion = ts.ScriptTarget.Latest) { - if (text.length === 0) - return false; - let ch = text.codePointAt(0); - if (!ts.isIdentifierStart(ch, languageVersion)) - return false; - for (let i = charSize(ch); i < text.length; i += charSize(ch)) { - ch = text.codePointAt(i); - if (!ts.isIdentifierPart(ch, languageVersion) && ch !== 45) - return false; - } - return true; -} -exports.isValidJsxIdentifier = isValidJsxIdentifier; -function isNumericPropertyName(name) { - return String(+name) === name; -} -exports.isNumericPropertyName = isNumericPropertyName; -function isSameLine(sourceFile, pos1, pos2) { - return ts.getLineAndCharacterOfPosition(sourceFile, pos1).line === ts.getLineAndCharacterOfPosition(sourceFile, pos2).line; -} -exports.isSameLine = isSameLine; -var SideEffectOptions; -(function (SideEffectOptions) { - SideEffectOptions[SideEffectOptions["None"] = 0] = "None"; - SideEffectOptions[SideEffectOptions["TaggedTemplate"] = 1] = "TaggedTemplate"; - SideEffectOptions[SideEffectOptions["Constructor"] = 2] = "Constructor"; - SideEffectOptions[SideEffectOptions["JsxElement"] = 4] = "JsxElement"; -})(SideEffectOptions = exports.SideEffectOptions || (exports.SideEffectOptions = {})); -function hasSideEffects(node, options) { - switch (node.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.DeleteExpression: - return true; - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.PropertyAccessExpression: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.PartiallyEmittedExpression: - return hasSideEffects(node.expression, options); - case ts.SyntaxKind.BinaryExpression: - return isAssignmentKind(node.operatorToken.kind) || - hasSideEffects(node.left, options) || - hasSideEffects(node.right, options); - case ts.SyntaxKind.PrefixUnaryExpression: - switch (node.operator) { - case ts.SyntaxKind.PlusPlusToken: - case ts.SyntaxKind.MinusMinusToken: - return true; - default: - return hasSideEffects(node.operand, options); - } - case ts.SyntaxKind.ElementAccessExpression: - return hasSideEffects(node.expression, options) || - node.argumentExpression !== undefined && - hasSideEffects(node.argumentExpression, options); - case ts.SyntaxKind.ConditionalExpression: - return hasSideEffects(node.condition, options) || - hasSideEffects(node.whenTrue, options) || - hasSideEffects(node.whenFalse, options); - case ts.SyntaxKind.NewExpression: - if (options & 2 || hasSideEffects(node.expression, options)) - return true; - if (node.arguments !== undefined) - for (const child of node.arguments) - if (hasSideEffects(child, options)) - return true; - return false; - case ts.SyntaxKind.TaggedTemplateExpression: - if (options & 1 || hasSideEffects(node.tag, options)) - return true; - if (node.template.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral) - return false; - node = node.template; - case ts.SyntaxKind.TemplateExpression: - for (const child of node.templateSpans) - if (hasSideEffects(child.expression, options)) - return true; - return false; - case ts.SyntaxKind.ClassExpression: - return classExpressionHasSideEffects(node, options); - case ts.SyntaxKind.ArrayLiteralExpression: - for (const child of node.elements) - if (hasSideEffects(child, options)) - return true; - return false; - case ts.SyntaxKind.ObjectLiteralExpression: - for (const child of node.properties) { - if (child.name !== undefined && child.name.kind === ts.SyntaxKind.ComputedPropertyName && - hasSideEffects(child.name.expression, options)) - return true; - switch (child.kind) { - case ts.SyntaxKind.PropertyAssignment: - if (hasSideEffects(child.initializer, options)) - return true; - break; - case ts.SyntaxKind.SpreadAssignment: - if (hasSideEffects(child.expression, options)) - return true; - } - } - return false; - case ts.SyntaxKind.JsxExpression: - return node.expression !== undefined && hasSideEffects(node.expression, options); - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - for (const child of node.children) - if (child.kind !== ts.SyntaxKind.JsxText && hasSideEffects(child, options)) - return true; - if (node.kind === ts.SyntaxKind.JsxFragment) - return false; - node = node.openingElement; - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.JsxOpeningElement: - if (options & 4) - return true; - for (const child of node.attributes.properties) { - if (child.kind === ts.SyntaxKind.JsxSpreadAttribute) { - if (hasSideEffects(child.expression, options)) - return true; - } - else if (child.initializer !== undefined && hasSideEffects(child.initializer, options)) { - return true; - } - } - return false; - case ts.SyntaxKind.CommaListExpression: - for (const child of node.elements) - if (hasSideEffects(child, options)) - return true; - return false; - default: - return false; - } -} -exports.hasSideEffects = hasSideEffects; -function classExpressionHasSideEffects(node, options) { - if (node.heritageClauses !== undefined && node.heritageClauses[0].token === ts.SyntaxKind.ExtendsKeyword) - for (const base of node.heritageClauses[0].types) - if (hasSideEffects(base.expression, options)) - return true; - for (const child of node.members) - if (child.name !== undefined && child.name.kind === ts.SyntaxKind.ComputedPropertyName && - hasSideEffects(child.name.expression, options) || - node_1.isPropertyDeclaration(child) && child.initializer !== undefined && - hasSideEffects(child.initializer, options)) - return true; - return false; -} -function getDeclarationOfBindingElement(node) { - let parent = node.parent.parent; - while (parent.kind === ts.SyntaxKind.BindingElement) - parent = parent.parent.parent; - return parent; -} -exports.getDeclarationOfBindingElement = getDeclarationOfBindingElement; -function isExpressionValueUsed(node) { - while (true) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.JsxSpreadAttribute: - case ts.SyntaxKind.JsxElement: - case ts.SyntaxKind.JsxFragment: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.ComputedPropertyName: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.ExportSpecifier: - case ts.SyntaxKind.ExportAssignment: - case ts.SyntaxKind.ImportDeclaration: - case ts.SyntaxKind.ExternalModuleReference: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.TemplateSpan: - case ts.SyntaxKind.ExpressionWithTypeArguments: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.LiteralType: - case ts.SyntaxKind.JsxAttributes: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxClosingElement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.CaseClause: - case ts.SyntaxKind.SwitchStatement: - return true; - case ts.SyntaxKind.PropertyAccessExpression: - return parent.expression === node; - case ts.SyntaxKind.QualifiedName: - return parent.left === node; - case ts.SyntaxKind.ShorthandPropertyAssignment: - return parent.objectAssignmentInitializer === node || - !isInDestructuringAssignment(parent); - case ts.SyntaxKind.PropertyAssignment: - return parent.initializer === node && !isInDestructuringAssignment(parent); - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.ArrayLiteralExpression: - return !isInDestructuringAssignment(parent); - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.AsExpression: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.PostfixUnaryExpression: - case ts.SyntaxKind.PrefixUnaryExpression: - case ts.SyntaxKind.NonNullExpression: - node = parent; - break; - case ts.SyntaxKind.ForStatement: - return parent.condition === node; - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - return parent.expression === node; - case ts.SyntaxKind.ConditionalExpression: - if (parent.condition === node) - return true; - node = parent; - break; - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - return parent.initializer === node; - case ts.SyntaxKind.ImportEqualsDeclaration: - return parent.moduleReference === node; - case ts.SyntaxKind.CommaListExpression: - if (parent.elements[parent.elements.length - 1] !== node) - return false; - node = parent; - break; - case ts.SyntaxKind.BinaryExpression: - if (parent.right === node) { - if (parent.operatorToken.kind === ts.SyntaxKind.CommaToken) { - node = parent; - break; - } - return true; - } - switch (parent.operatorToken.kind) { - case ts.SyntaxKind.CommaToken: - case ts.SyntaxKind.EqualsToken: - return false; - case ts.SyntaxKind.EqualsEqualsEqualsToken: - case ts.SyntaxKind.EqualsEqualsToken: - case ts.SyntaxKind.ExclamationEqualsEqualsToken: - case ts.SyntaxKind.ExclamationEqualsToken: - case ts.SyntaxKind.InstanceOfKeyword: - case ts.SyntaxKind.PlusToken: - case ts.SyntaxKind.MinusToken: - case ts.SyntaxKind.AsteriskToken: - case ts.SyntaxKind.SlashToken: - case ts.SyntaxKind.PercentToken: - case ts.SyntaxKind.AsteriskAsteriskToken: - case ts.SyntaxKind.GreaterThanToken: - case ts.SyntaxKind.GreaterThanGreaterThanToken: - case ts.SyntaxKind.GreaterThanGreaterThanGreaterThanToken: - case ts.SyntaxKind.GreaterThanEqualsToken: - case ts.SyntaxKind.LessThanToken: - case ts.SyntaxKind.LessThanLessThanToken: - case ts.SyntaxKind.LessThanEqualsToken: - case ts.SyntaxKind.AmpersandToken: - case ts.SyntaxKind.BarToken: - case ts.SyntaxKind.CaretToken: - case ts.SyntaxKind.BarBarToken: - case ts.SyntaxKind.AmpersandAmpersandToken: - case ts.SyntaxKind.InKeyword: - return true; - default: - node = parent; - } - break; - default: - return false; - } - } -} -exports.isExpressionValueUsed = isExpressionValueUsed; -function isInDestructuringAssignment(node) { - switch (node.kind) { - case ts.SyntaxKind.ShorthandPropertyAssignment: - if (node.objectAssignmentInitializer !== undefined) - return true; - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.SpreadAssignment: - node = node.parent; - break; - case ts.SyntaxKind.SpreadElement: - if (node.parent.kind !== ts.SyntaxKind.ArrayLiteralExpression) - return false; - node = node.parent; - } - while (true) { - switch (node.parent.kind) { - case ts.SyntaxKind.BinaryExpression: - return node.parent.left === node && - node.parent.operatorToken.kind === ts.SyntaxKind.EqualsToken; - case ts.SyntaxKind.ForOfStatement: - return node.parent.initializer === node; - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ObjectLiteralExpression: - node = node.parent; - break; - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.PropertyAssignment: - node = node.parent.parent; - break; - case ts.SyntaxKind.SpreadElement: - if (node.parent.parent.kind !== ts.SyntaxKind.ArrayLiteralExpression) - return false; - node = node.parent.parent; - break; - default: - return false; - } - } -} -var AccessKind; -(function (AccessKind) { - AccessKind[AccessKind["None"] = 0] = "None"; - AccessKind[AccessKind["Read"] = 1] = "Read"; - AccessKind[AccessKind["Write"] = 2] = "Write"; - AccessKind[AccessKind["Delete"] = 4] = "Delete"; - AccessKind[AccessKind["ReadWrite"] = 3] = "ReadWrite"; - AccessKind[AccessKind["Modification"] = 6] = "Modification"; -})(AccessKind = exports.AccessKind || (exports.AccessKind = {})); -function getAccessKind(node) { - const parent = node.parent; - switch (parent.kind) { - case ts.SyntaxKind.DeleteExpression: - return 4; - case ts.SyntaxKind.PostfixUnaryExpression: - return 3; - case ts.SyntaxKind.PrefixUnaryExpression: - return parent.operator === ts.SyntaxKind.PlusPlusToken || - parent.operator === ts.SyntaxKind.MinusMinusToken - ? 3 - : 1; - case ts.SyntaxKind.BinaryExpression: - return parent.right === node - ? 1 - : !isAssignmentKind(parent.operatorToken.kind) - ? 1 - : parent.operatorToken.kind === ts.SyntaxKind.EqualsToken - ? 2 - : 3; - case ts.SyntaxKind.ShorthandPropertyAssignment: - return parent.objectAssignmentInitializer === node - ? 1 - : isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.PropertyAssignment: - return parent.name === node - ? 0 - : isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.SpreadElement: - case ts.SyntaxKind.SpreadAssignment: - return isInDestructuringAssignment(parent) - ? 2 - : 1; - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.NonNullExpression: - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - return getAccessKind(parent); - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.ForInStatement: - return parent.initializer === node - ? 2 - : 1; - case ts.SyntaxKind.ExpressionWithTypeArguments: - return parent.parent.token === ts.SyntaxKind.ExtendsKeyword && - parent.parent.parent.kind !== ts.SyntaxKind.InterfaceDeclaration - ? 1 - : 0; - case ts.SyntaxKind.ComputedPropertyName: - case ts.SyntaxKind.ExpressionStatement: - case ts.SyntaxKind.TypeOfExpression: - case ts.SyntaxKind.ElementAccessExpression: - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.SwitchStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.ThrowStatement: - case ts.SyntaxKind.CallExpression: - case ts.SyntaxKind.NewExpression: - case ts.SyntaxKind.TaggedTemplateExpression: - case ts.SyntaxKind.JsxExpression: - case ts.SyntaxKind.Decorator: - case ts.SyntaxKind.TemplateSpan: - case ts.SyntaxKind.JsxOpeningElement: - case ts.SyntaxKind.JsxSelfClosingElement: - case ts.SyntaxKind.JsxSpreadAttribute: - case ts.SyntaxKind.VoidExpression: - case ts.SyntaxKind.ReturnStatement: - case ts.SyntaxKind.AwaitExpression: - case ts.SyntaxKind.YieldExpression: - case ts.SyntaxKind.ConditionalExpression: - case ts.SyntaxKind.CaseClause: - case ts.SyntaxKind.JsxElement: - return 1; - case ts.SyntaxKind.ArrowFunction: - return parent.body === node - ? 1 - : 2; - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.VariableDeclaration: - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.BindingElement: - case ts.SyntaxKind.JsxAttribute: - return parent.initializer === node - ? 1 - : 0; - case ts.SyntaxKind.PropertyAccessExpression: - return parent.expression === node - ? 1 - : 0; - case ts.SyntaxKind.ExportAssignment: - return parent.isExportEquals - ? 1 - : 0; - } - return 0; -} -exports.getAccessKind = getAccessKind; -function isReassignmentTarget(node) { - return (getAccessKind(node) & 2) !== 0; -} -exports.isReassignmentTarget = isReassignmentTarget; -function canHaveJsDoc(node) { - const kind = node.kind; - switch (kind) { - case ts.SyntaxKind.Parameter: - case ts.SyntaxKind.CallSignature: - case ts.SyntaxKind.ConstructSignature: - case ts.SyntaxKind.MethodSignature: - case ts.SyntaxKind.PropertySignature: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.SpreadAssignment: - case ts.SyntaxKind.ShorthandPropertyAssignment: - case ts.SyntaxKind.PropertyAssignment: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.LabeledStatement: - case ts.SyntaxKind.ExpressionStatement: - case ts.SyntaxKind.VariableStatement: - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.ClassDeclaration: - case ts.SyntaxKind.ClassExpression: - case ts.SyntaxKind.InterfaceDeclaration: - case ts.SyntaxKind.TypeAliasDeclaration: - case ts.SyntaxKind.EnumMember: - case ts.SyntaxKind.EnumDeclaration: - case ts.SyntaxKind.ModuleDeclaration: - case ts.SyntaxKind.ImportEqualsDeclaration: - case ts.SyntaxKind.IndexSignature: - case ts.SyntaxKind.FunctionType: - case ts.SyntaxKind.ConstructorType: - case ts.SyntaxKind.JSDocFunctionType: - case ts.SyntaxKind.EndOfFileToken: - case ts.SyntaxKind.ExportDeclaration: - return true; - default: - return false; - } -} -exports.canHaveJsDoc = canHaveJsDoc; -function getJsDoc(node, sourceFile) { - if (node.kind === ts.SyntaxKind.EndOfFileToken) - return parseJsDocWorker(node, sourceFile || node.parent); - const result = []; - for (const child of node.getChildren(sourceFile)) { - if (!node_1.isJsDoc(child)) - break; - result.push(child); - } - return result; -} -exports.getJsDoc = getJsDoc; -function parseJsDocOfNode(node, considerTrailingComments, sourceFile = node.getSourceFile()) { - if (canHaveJsDoc(node) && node.kind !== ts.SyntaxKind.EndOfFileToken) { - const result = getJsDoc(node, sourceFile); - if (result.length !== 0 || !considerTrailingComments) - return result; - } - return parseJsDocWorker(node, sourceFile, considerTrailingComments); -} -exports.parseJsDocOfNode = parseJsDocOfNode; -function parseJsDocWorker(node, sourceFile, considerTrailingComments) { - const nodeStart = node.getStart(sourceFile); - const start = ts[considerTrailingComments && isSameLine(sourceFile, node.pos, nodeStart) - ? 'forEachTrailingCommentRange' - : 'forEachLeadingCommentRange'](sourceFile.text, node.pos, (pos, _end, kind) => kind === ts.SyntaxKind.MultiLineCommentTrivia && sourceFile.text[pos + 2] === '*' ? { pos } : undefined); - if (start === undefined) - return []; - const startPos = start.pos; - const text = sourceFile.text.slice(startPos, nodeStart); - const newSourceFile = ts.createSourceFile('jsdoc.ts', `${text}var a;`, sourceFile.languageVersion); - const result = getJsDoc(newSourceFile.statements[0], newSourceFile); - for (const doc of result) - updateNode(doc, node); - return result; - function updateNode(n, parent) { - n.pos += startPos; - n.end += startPos; - n.parent = parent; - return ts.forEachChild(n, (child) => updateNode(child, n), (children) => { - children.pos += startPos; - children.end += startPos; - for (const child of children) - updateNode(child, n); - }); - } -} -var ImportKind; -(function (ImportKind) { - ImportKind[ImportKind["ImportDeclaration"] = 1] = "ImportDeclaration"; - ImportKind[ImportKind["ImportEquals"] = 2] = "ImportEquals"; - ImportKind[ImportKind["ExportFrom"] = 4] = "ExportFrom"; - ImportKind[ImportKind["DynamicImport"] = 8] = "DynamicImport"; - ImportKind[ImportKind["Require"] = 16] = "Require"; - ImportKind[ImportKind["ImportType"] = 32] = "ImportType"; - ImportKind[ImportKind["All"] = 63] = "All"; - ImportKind[ImportKind["AllImports"] = 59] = "AllImports"; - ImportKind[ImportKind["AllStaticImports"] = 3] = "AllStaticImports"; - ImportKind[ImportKind["AllImportExpressions"] = 24] = "AllImportExpressions"; - ImportKind[ImportKind["AllRequireLike"] = 18] = "AllRequireLike"; - ImportKind[ImportKind["AllNestedImports"] = 56] = "AllNestedImports"; - ImportKind[ImportKind["AllTopLevelImports"] = 7] = "AllTopLevelImports"; -})(ImportKind = exports.ImportKind || (exports.ImportKind = {})); -function findImports(sourceFile, kinds) { - const result = []; - for (const node of findImportLikeNodes(sourceFile, kinds)) { - switch (node.kind) { - case ts.SyntaxKind.ImportDeclaration: - addIfTextualLiteral(node.moduleSpecifier); - break; - case ts.SyntaxKind.ImportEqualsDeclaration: - addIfTextualLiteral(node.moduleReference.expression); - break; - case ts.SyntaxKind.ExportDeclaration: - addIfTextualLiteral(node.moduleSpecifier); - break; - case ts.SyntaxKind.CallExpression: - addIfTextualLiteral(node.arguments[0]); - break; - case ts.SyntaxKind.ImportType: - if (node_1.isLiteralTypeNode(node.argument)) - addIfTextualLiteral(node.argument.literal); - break; - default: - throw new Error('unexpected node'); - } - } - return result; - function addIfTextualLiteral(node) { - if (node_1.isTextualLiteral(node)) - result.push(node); - } -} -exports.findImports = findImports; -function findImportLikeNodes(sourceFile, kinds) { - return new ImportFinder(sourceFile, kinds).find(); -} -exports.findImportLikeNodes = findImportLikeNodes; -class ImportFinder { - constructor(_sourceFile, _options) { - this._sourceFile = _sourceFile; - this._options = _options; - this._result = []; - } - find() { - if (this._sourceFile.isDeclarationFile) - this._options &= ~24; - if (this._options & 7) - this._findImports(this._sourceFile.statements); - if (this._options & 56) - this._findNestedImports(); - return this._result; - } - _findImports(statements) { - for (const statement of statements) { - if (node_1.isImportDeclaration(statement)) { - if (this._options & 1) - this._result.push(statement); - } - else if (node_1.isImportEqualsDeclaration(statement)) { - if (this._options & 2 && - statement.moduleReference.kind === ts.SyntaxKind.ExternalModuleReference) - this._result.push(statement); - } - else if (node_1.isExportDeclaration(statement)) { - if (statement.moduleSpecifier !== undefined && this._options & 4) - this._result.push(statement); - } - else if (node_1.isModuleDeclaration(statement)) { - this._findImportsInModule(statement); - } - } - } - _findImportsInModule(declaration) { - if (declaration.body === undefined) - return; - if (declaration.body.kind === ts.SyntaxKind.ModuleDeclaration) - return this._findImportsInModule(declaration.body); - this._findImports(declaration.body.statements); - } - _findNestedImports() { - let re; - if ((this._options & 56) === 16) { - re = /\brequire\s*[ { - if (kind === ts.SyntaxKind.SingleLineCommentTrivia) { - const text = source.slice(pos, end); - const match = /^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(text); - if (match !== null) - directive = { pos, end, enabled: match[1] === undefined }; - } - }); - return directive; -} -exports.getCheckJsDirective = getCheckJsDirective; -function isConstAssertion(node) { - return node_1.isTypeReferenceNode(node.type) && - node.type.typeName.kind === ts.SyntaxKind.Identifier && - node.type.typeName.escapedText === 'const'; -} -exports.isConstAssertion = isConstAssertion; -function isInConstContext(node) { - let current = node; - while (true) { - const parent = current.parent; - outer: switch (parent.kind) { - case ts.SyntaxKind.TypeAssertionExpression: - case ts.SyntaxKind.AsExpression: - return isConstAssertion(parent); - case ts.SyntaxKind.PrefixUnaryExpression: - if (current.kind !== ts.SyntaxKind.NumericLiteral) - return false; - switch (parent.operator) { - case ts.SyntaxKind.PlusToken: - case ts.SyntaxKind.MinusToken: - current = parent; - break outer; - default: - return false; - } - case ts.SyntaxKind.PropertyAssignment: - if (parent.initializer !== current) - return false; - current = parent.parent; - break; - case ts.SyntaxKind.ShorthandPropertyAssignment: - current = parent.parent; - break; - case ts.SyntaxKind.ParenthesizedExpression: - case ts.SyntaxKind.ArrayLiteralExpression: - case ts.SyntaxKind.ObjectLiteralExpression: - current = parent; - break; - default: - return false; - } - } -} -exports.isInConstContext = isInConstContext; -function isReadonlyAssignmentDeclaration(node, checker) { - if (!isBindableObjectDefinePropertyCall(node)) - return false; - const descriptorType = checker.getTypeAtLocation(node.arguments[2]); - if (descriptorType.getProperty('value') === undefined) - return descriptorType.getProperty('set') === undefined; - const writableProp = descriptorType.getProperty('writable'); - if (writableProp === undefined) - return false; - const writableType = writableProp.valueDeclaration !== undefined && node_1.isPropertyAssignment(writableProp.valueDeclaration) - ? checker.getTypeAtLocation(writableProp.valueDeclaration.initializer) - : checker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]); - return type_1.isBooleanLiteralType(writableType, false); -} -exports.isReadonlyAssignmentDeclaration = isReadonlyAssignmentDeclaration; -function isBindableObjectDefinePropertyCall(node) { - return node.arguments.length === 3 && - node_1.isEntityNameExpression(node.arguments[0]) && - node_1.isNumericOrStringLikeLiteral(node.arguments[1]) && - node_1.isPropertyAccessExpression(node.expression) && - node.expression.name.escapedText === 'defineProperty' && - node_1.isIdentifier(node.expression.expression) && - node.expression.expression.escapedText === 'Object'; -} -exports.isBindableObjectDefinePropertyCall = isBindableObjectDefinePropertyCall; -function isWellKnownSymbolLiterally(node) { - return ts.isPropertyAccessExpression(node) && - ts.isIdentifier(node.expression) && - node.expression.escapedText === 'Symbol'; -} -exports.isWellKnownSymbolLiterally = isWellKnownSymbolLiterally; -function getPropertyNameOfWellKnownSymbol(node) { - return { - displayName: `[Symbol.${node.name.text}]`, - symbolName: ('__@' + node.name.text), - }; -} -exports.getPropertyNameOfWellKnownSymbol = getPropertyNameOfWellKnownSymbol; -function getLateBoundPropertyNames(node, checker) { - const result = { - known: true, - names: [], - }; - node = unwrapParentheses(node); - if (isWellKnownSymbolLiterally(node)) { - result.names.push(getPropertyNameOfWellKnownSymbol(node)); - } - else { - const type = checker.getTypeAtLocation(node); - for (const key of type_1.unionTypeParts(checker.getBaseConstraintOfType(type) || type)) { - const propertyName = type_1.getPropertyNameFromType(key); - if (propertyName) { - result.names.push(propertyName); - } - else { - result.known = false; - } - } - } - return result; -} -exports.getLateBoundPropertyNames = getLateBoundPropertyNames; -function getLateBoundPropertyNamesOfPropertyName(node, checker) { - const staticName = getPropertyName(node); - return staticName !== undefined - ? { known: true, names: [{ displayName: staticName, symbolName: ts.escapeLeadingUnderscores(staticName) }] } - : getLateBoundPropertyNames(node.expression, checker); -} -exports.getLateBoundPropertyNamesOfPropertyName = getLateBoundPropertyNamesOfPropertyName; -function getSingleLateBoundPropertyNameOfPropertyName(node, checker) { - const staticName = getPropertyName(node); - if (staticName !== undefined) - return { displayName: staticName, symbolName: ts.escapeLeadingUnderscores(staticName) }; - const { expression } = node; - return isWellKnownSymbolLiterally(expression) - ? getPropertyNameOfWellKnownSymbol(expression) - : type_1.getPropertyNameFromType(checker.getTypeAtLocation(expression)); -} -exports.getSingleLateBoundPropertyNameOfPropertyName = getSingleLateBoundPropertyNameOfPropertyName; -function unwrapParentheses(node) { - while (node.kind === ts.SyntaxKind.ParenthesizedExpression) - node = node.expression; - return node; -} -exports.unwrapParentheses = unwrapParentheses; diff --git a/node_modules/@typescript-eslint/typescript-estree/package.json b/node_modules/@typescript-eslint/typescript-estree/package.json index a04c3ac78..64d81a62e 100644 --- a/node_modules/@typescript-eslint/typescript-estree/package.json +++ b/node_modules/@typescript-eslint/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "4.1.0", + "version": "4.28.5", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -34,34 +34,32 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", "test": "jest --coverage", "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "4.1.0", - "@typescript-eslint/visitor-keys": "4.1.0", - "debug": "^4.1.1", - "globby": "^11.0.1", + "@typescript-eslint/types": "4.28.5", + "@typescript-eslint/visitor-keys": "4.28.5", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "devDependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.11.3", - "@babel/types": "^7.11.0", - "@types/babel__code-frame": "^7.0.1", + "@babel/code-frame": "*", + "@babel/parser": "*", + "@babel/types": "*", + "@types/babel__code-frame": "*", "@types/debug": "*", "@types/glob": "*", - "@types/is-glob": "^4.0.1", - "@types/lodash": "*", - "@types/semver": "^7.1.0", - "@types/tmp": "^0.2.0", - "@typescript-eslint/shared-fixtures": "4.1.0", + "@types/is-glob": "*", + "@types/semver": "*", + "@types/tmp": "*", + "@typescript-eslint/shared-fixtures": "4.28.5", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", @@ -84,5 +82,5 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/@typescript-eslint/visitor-keys/CHANGELOG.md b/node_modules/@typescript-eslint/visitor-keys/CHANGELOG.md index ef433031f..c147f162a 100644 --- a/node_modules/@typescript-eslint/visitor-keys/CHANGELOG.md +++ b/node_modules/@typescript-eslint/visitor-keys/CHANGELOG.md @@ -3,6 +3,386 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) + + +### Features + +* refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) + + + + + +## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) + + +### Features + +* TypeScript 4.2 syntax support ([#3112](https://github.com/typescript-eslint/typescript-eslint/issues/3112)) ([2ebfb21](https://github.com/typescript-eslint/typescript-eslint/commit/2ebfb21ba6c88c793cfbd0e231e5803b2381694c)) + + + + + +## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) + + +### Bug Fixes + +* add missing intrinsic keyword node to AST ([#3081](https://github.com/typescript-eslint/typescript-eslint/issues/3081)) ([409bf0b](https://github.com/typescript-eslint/typescript-eslint/commit/409bf0bb3e2ac4d8782408d436ebdefb42dba38b)) + + + + + +## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) + + +### Features + +* support TS4.1 features ([#2748](https://github.com/typescript-eslint/typescript-eslint/issues/2748)) ([2be354b](https://github.com/typescript-eslint/typescript-eslint/commit/2be354bb15f9013a2da1b13a0c0836e9ef057e16)), closes [#2583](https://github.com/typescript-eslint/typescript-eslint/issues/2583) + + + + + +## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + # [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) **Note:** Version bump only for package @typescript-eslint/visitor-keys diff --git a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map index 00aab33ff..b03f09fb6 100644 --- a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +++ b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"visitor-keys.d.ts","sourceRoot":"","sources":["../src/visitor-keys.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACxD;AA4ID,QAAA,MAAM,WAAW,EAAE,WAAyD,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"visitor-keys.d.ts","sourceRoot":"","sources":["../src/visitor-keys.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACxD;AA8ID,QAAA,MAAM,WAAW,EAAE,WAAyD,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js index 0813decda..a750ca047 100644 --- a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +++ b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js @@ -101,8 +101,9 @@ const additionalKeys = { TSInterfaceDeclaration: ['id', 'typeParameters', 'extends', 'body'], TSInterfaceHeritage: ['expression', 'typeParameters'], TSIntersectionType: ['types'], + TSIntrinsicKeyword: [], TSLiteralType: ['literal'], - TSMappedType: ['typeParameter', 'typeAnnotation'], + TSMappedType: ['nameType', 'typeParameter', 'typeAnnotation'], TSMethodSignature: ['typeParameters', 'key', 'params', 'returnType'], TSModuleBlock: ['body'], TSModuleDeclaration: ['id', 'body'], @@ -126,6 +127,7 @@ const additionalKeys = { TSStaticKeyword: [], TSStringKeyword: [], TSSymbolKeyword: [], + TSTemplateLiteralType: ['quasis', 'types'], TSThisType: [], TSTupleType: ['elementTypes'], TSTypeAliasDeclaration: ['id', 'typeParameters', 'typeAnnotation'], diff --git a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map index 81d0fcfbe..b3007b4f0 100644 --- a/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +++ b/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map @@ -1 +1 @@ -{"version":3,"file":"visitor-keys.js","sourceRoot":"","sources":["../src/visitor-keys.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"visitor-keys.js","sourceRoot":"","sources":["../src/visitor-keys.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@typescript-eslint/visitor-keys/package.json b/node_modules/@typescript-eslint/visitor-keys/package.json index 71c92882a..9fe898a61 100644 --- a/node_modules/@typescript-eslint/visitor-keys/package.json +++ b/node_modules/@typescript-eslint/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "4.1.0", + "version": "4.28.5", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "keywords": [ "eslint", @@ -31,18 +31,18 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist", + "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore", "lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'", "test": "jest --coverage", "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "4.1.0", + "@typescript-eslint/types": "4.28.5", "eslint-visitor-keys": "^2.0.0" }, "devDependencies": { - "@types/eslint-visitor-keys": "^1.0.0" + "@types/eslint-visitor-keys": "*" }, "funding": { "type": "opencollective", @@ -55,5 +55,5 @@ ] } }, - "gitHead": "00a24706222254774121ee62038e67d0efa993e7" + "gitHead": "15f718415eb4e522440a5d81f38d65ee81535795" } \ No newline at end of file diff --git a/node_modules/acorn-jsx/index.d.ts b/node_modules/acorn-jsx/index.d.ts new file mode 100644 index 000000000..f37b1df4c --- /dev/null +++ b/node_modules/acorn-jsx/index.d.ts @@ -0,0 +1,12 @@ +import { Parser } from 'acorn' + +declare const jsx: (options?: jsx.Options) => (BaseParser: typeof Parser) => typeof Parser; + +declare namespace jsx { + interface Options { + allowNamespacedObjects?: boolean; + allowNamespaces?: boolean; + } +} + +export = jsx; diff --git a/node_modules/acorn-jsx/package.json b/node_modules/acorn-jsx/package.json index 3088f9add..4ee8e38d6 100644 --- a/node_modules/acorn-jsx/package.json +++ b/node_modules/acorn-jsx/package.json @@ -2,7 +2,7 @@ "name": "acorn-jsx", "description": "Modern, fast React.js JSX parser", "homepage": "https://github.com/acornjs/acorn-jsx", - "version": "5.3.1", + "version": "5.3.2", "maintainers": [ { "name": "Ingvar Stepanyan", diff --git a/node_modules/acorn/CHANGELOG.md b/node_modules/acorn/CHANGELOG.md index 32f5ce8f3..164fd27c6 100644 --- a/node_modules/acorn/CHANGELOG.md +++ b/node_modules/acorn/CHANGELOG.md @@ -1,3 +1,49 @@ +## 7.4.0 (2020-08-03) + +### New features + +Add support for logical assignment operators. + +Add support for numeric separators. + +## 7.3.1 (2020-06-11) + +### Bug fixes + +Make the string in the `version` export match the actual library version. + +## 7.3.0 (2020-06-11) + +### Bug fixes + +Fix a bug that caused parsing of object patterns with a property named `set` that had a default value to fail. + +### New features + +Add support for optional chaining (`?.`). + +## 7.2.0 (2020-05-09) + +### Bug fixes + +Fix precedence issue in parsing of async arrow functions. + +### New features + +Add support for nullish coalescing. + +Add support for `import.meta`. + +Support `export * as ...` syntax. + +Upgrade to Unicode 13. + +## 6.4.1 (2020-03-09) + +### Bug fixes + +More carefully check for valid UTF16 surrogate pairs in regexp validator. + ## 7.1.1 (2020-03-01) ### Bug fixes diff --git a/node_modules/acorn/LICENSE b/node_modules/acorn/LICENSE index 2c0632b6a..cc5272c96 100644 --- a/node_modules/acorn/LICENSE +++ b/node_modules/acorn/LICENSE @@ -1,3 +1,5 @@ +MIT License + Copyright (C) 2012-2018 by various contributors (see AUTHORS) Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/node_modules/acorn/README.md b/node_modules/acorn/README.md index 585f2736f..52d2e9b71 100644 --- a/node_modules/acorn/README.md +++ b/node_modules/acorn/README.md @@ -266,5 +266,4 @@ Plugins for ECMAScript proposals: - [`acorn-stage3`](https://github.com/acornjs/acorn-stage3): Parse most stage 3 proposals, bundling: - [`acorn-class-fields`](https://github.com/acornjs/acorn-class-fields): Parse [class fields proposal](https://github.com/tc39/proposal-class-fields) - [`acorn-import-meta`](https://github.com/acornjs/acorn-import-meta): Parse [import.meta proposal](https://github.com/tc39/proposal-import-meta) - - [`acorn-numeric-separator`](https://github.com/acornjs/acorn-numeric-separator): Parse [numeric separator proposal](https://github.com/tc39/proposal-numeric-separator) - [`acorn-private-methods`](https://github.com/acornjs/acorn-private-methods): parse [private methods, getters and setters proposal](https://github.com/tc39/proposal-private-methods)n diff --git a/node_modules/acorn/dist/acorn.js b/node_modules/acorn/dist/acorn.js index e2b33179c..0523f0e34 100644 --- a/node_modules/acorn/dist/acorn.js +++ b/node_modules/acorn/dist/acorn.js @@ -2,7 +2,7 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.acorn = {})); -}(this, function (exports) { 'use strict'; +}(this, (function (exports) { 'use strict'; // Reserved word lists for various dialects of the language @@ -33,8 +33,8 @@ // are only applied when a character is found to actually have a // code point above 128. // Generated by `bin/generate-identifier-regex.js`. - var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; - var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; + var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; + var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); @@ -48,10 +48,10 @@ // generated by bin/generate-identifier-regex.js // eslint-disable-next-line comma-spacing - var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,754,9486,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541]; + var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938]; // eslint-disable-next-line comma-spacing - var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,232,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,792487,239]; + var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239]; // This has a complexity linear to the value of the code. The // assumption is that looking up astral identifier characters is @@ -166,6 +166,7 @@ colon: new TokenType(":", beforeExpr), dot: new TokenType("."), question: new TokenType("?", beforeExpr), + questionDot: new TokenType("?."), arrow: new TokenType("=>", beforeExpr), template: new TokenType("template"), invalidTemplate: new TokenType("invalidTemplate"), @@ -204,6 +205,7 @@ star: binop("*", 10), slash: binop("/", 10), starstar: new TokenType("**", {beforeExpr: true}), + coalesce: binop("??", 1), // Keyword token types. _break: kw("break"), @@ -592,7 +594,7 @@ // ## Parser utilities - var literal = /^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)")/; + var literal = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/; pp.strictDirective = function(start) { for (;;) { // Try to find string literal. @@ -600,7 +602,14 @@ start += skipWhiteSpace.exec(this.input)[0].length; var match = literal.exec(this.input.slice(start)); if (!match) { return false } - if ((match[1] || match[2]) === "use strict") { return true } + if ((match[1] || match[2]) === "use strict") { + skipWhiteSpace.lastIndex = start + match[0].length; + var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length; + var next = this.input.charAt(end); + return next === ";" || next === "}" || + (lineBreak.test(spaceAfter[0]) && + !(/[(`.[+\-/*%<>=,?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "=")) + } start += match[0].length; // Skip semicolon, if any. @@ -850,7 +859,7 @@ skipWhiteSpace.lastIndex = this.pos; var skip = skipWhiteSpace.exec(this.input); var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); - if (nextCh === 40) // '(' + if (nextCh === 40 || nextCh === 46) // '(' or '.' { return this.parseExpressionStatement(node, this.parseExpression()) } } @@ -1150,17 +1159,19 @@ // strict"` declarations when `allowStrict` is true (used for // function bodies). - pp$1.parseBlock = function(createNewLexicalScope, node) { + pp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) { if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true; if ( node === void 0 ) node = this.startNode(); node.body = []; this.expect(types.braceL); if (createNewLexicalScope) { this.enterScope(0); } - while (!this.eat(types.braceR)) { + while (this.type !== types.braceR) { var stmt = this.parseStatement(null); node.body.push(stmt); } + if (exitStrict) { this.strict = false; } + this.next(); if (createNewLexicalScope) { this.exitScope(); } return this.finishNode(node, "BlockStatement") }; @@ -1311,7 +1322,7 @@ var hadConstructor = false; classBody.body = []; this.expect(types.braceL); - while (!this.eat(types.braceR)) { + while (this.type !== types.braceR) { var element = this.parseClassElement(node.superClass !== null); if (element) { classBody.body.push(element); @@ -1321,8 +1332,9 @@ } } } - node.body = this.finishNode(classBody, "ClassBody"); this.strict = oldStrict; + this.next(); + node.body = this.finishNode(classBody, "ClassBody"); return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") }; @@ -1410,6 +1422,14 @@ this.next(); // export * from '...' if (this.eat(types.star)) { + if (this.options.ecmaVersion >= 11) { + if (this.eatContextual("as")) { + node.exported = this.parseIdent(true); + this.checkExport(exports, node.exported.name, this.lastTokStart); + } else { + node.exported = null; + } + } this.expectContextual("from"); if (this.type !== types.string) { this.unexpected(); } node.source = this.parseExprAtom(); @@ -1686,6 +1706,10 @@ this.toAssignable(node.expression, isBinding, refDestructuringErrors); break + case "ChainExpression": + this.raiseRecoverable(node.start, "Optional chaining cannot appear in left-hand side"); + break + case "MemberExpression": if (!isBinding) { break } @@ -1816,6 +1840,10 @@ if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); } break + case "ChainExpression": + this.raiseRecoverable(expr.start, "Optional chaining cannot appear in left-hand side"); + break + case "MemberExpression": if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); } break @@ -2026,11 +2054,20 @@ if (prec != null && (!noIn || this.type !== types._in)) { if (prec > minPrec) { var logical = this.type === types.logicalOR || this.type === types.logicalAND; + var coalesce = this.type === types.coalesce; + if (coalesce) { + // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions. + // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error. + prec = types.logicalAND.binop; + } var op = this.value; this.next(); var startPos = this.start, startLoc = this.startLoc; var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn); - var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical); + var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce); + if ((logical && this.type === types.coalesce) || (coalesce && (this.type === types.logicalOR || this.type === types.logicalAND))) { + this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"); + } return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn) } } @@ -2102,22 +2139,42 @@ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) { var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && - this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async"; + this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && + this.potentialArrowAt === base.start; + var optionalChained = false; + while (true) { - var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow); - if (element === base || element.type === "ArrowFunctionExpression") { return element } + var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained); + + if (element.optional) { optionalChained = true; } + if (element === base || element.type === "ArrowFunctionExpression") { + if (optionalChained) { + var chainNode = this.startNodeAt(startPos, startLoc); + chainNode.expression = element; + element = this.finishNode(chainNode, "ChainExpression"); + } + return element + } + base = element; } }; - pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow) { + pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) { + var optionalSupported = this.options.ecmaVersion >= 11; + var optional = optionalSupported && this.eat(types.questionDot); + if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); } + var computed = this.eat(types.bracketL); - if (computed || this.eat(types.dot)) { + if (computed || (optional && this.type !== types.parenL && this.type !== types.backQuote) || this.eat(types.dot)) { var node = this.startNodeAt(startPos, startLoc); node.object = base; node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never"); node.computed = !!computed; if (computed) { this.expect(types.bracketR); } + if (optionalSupported) { + node.optional = optional; + } base = this.finishNode(node, "MemberExpression"); } else if (!noCalls && this.eat(types.parenL)) { var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; @@ -2125,7 +2182,7 @@ this.awaitPos = 0; this.awaitIdentPos = 0; var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors); - if (maybeAsyncArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) { + if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types.arrow)) { this.checkPatternErrors(refDestructuringErrors, false); this.checkYieldAwaitInDefaultParams(); if (this.awaitIdentPos > 0) @@ -2142,8 +2199,14 @@ var node$1 = this.startNodeAt(startPos, startLoc); node$1.callee = base; node$1.arguments = exprList; + if (optionalSupported) { + node$1.optional = optional; + } base = this.finishNode(node$1, "CallExpression"); } else if (this.type === types.backQuote) { + if (optional || optionalChained) { + this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions"); + } var node$2 = this.startNodeAt(startPos, startLoc); node$2.tag = base; node$2.quasi = this.parseTemplate({isTagged: true}); @@ -2266,10 +2329,18 @@ pp$3.parseExprImport = function() { var node = this.startNode(); - this.next(); // skip `import` + + // Consume `import` as an identifier for `import.meta`. + // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`. + if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); } + var meta = this.parseIdent(true); + switch (this.type) { case types.parenL: return this.parseDynamicImport(node) + case types.dot: + node.meta = meta; + return this.parseImportMeta(node) default: this.unexpected(); } @@ -2294,11 +2365,27 @@ return this.finishNode(node, "ImportExpression") }; + pp$3.parseImportMeta = function(node) { + this.next(); // skip `.` + + var containsEsc = this.containsEsc; + node.property = this.parseIdent(true); + + if (node.property.name !== "meta") + { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); } + if (containsEsc) + { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); } + if (this.options.sourceType !== "module") + { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); } + + return this.finishNode(node, "MetaProperty") + }; + pp$3.parseLiteral = function(value) { var node = this.startNode(); node.value = value; node.raw = this.input.slice(this.start, this.end); - if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1); } + if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); } this.next(); return this.finishNode(node, "Literal") }; @@ -2396,10 +2483,12 @@ node.meta = meta; var containsEsc = this.containsEsc; node.property = this.parseIdent(true); - if (node.property.name !== "target" || containsEsc) - { this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target"); } + if (node.property.name !== "target") + { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); } + if (containsEsc) + { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); } if (!this.inNonArrowFunction()) - { this.raiseRecoverable(node.start, "new.target can only be used in functions"); } + { this.raiseRecoverable(node.start, "'new.target' can only be used in functions"); } return this.finishNode(node, "MetaProperty") } var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types._import; @@ -2548,7 +2637,7 @@ } else if (!isPattern && !containsEsc && this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && - (this.type !== types.comma && this.type !== types.braceR)) { + (this.type !== types.comma && this.type !== types.braceR && this.type !== types.eq)) { if (isGenerator || isAsync) { this.unexpected(); } prop.kind = prop.key.name; this.parsePropertyName(prop); @@ -2683,16 +2772,14 @@ // Add the params to varDeclaredNames to ensure that an error is thrown // if a let/const declaration in the function clashes with one of the params. this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params)); - node.body = this.parseBlock(false); + // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval' + if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); } + node.body = this.parseBlock(false, undefined, useStrict && !oldStrict); node.expression = false; this.adaptDirectivePrologue(node.body.body); this.labels = oldLabels; } this.exitScope(); - - // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval' - if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); } - this.strict = oldStrict; }; pp$3.isSimpleParamList = function(params) { @@ -3211,49 +3298,61 @@ // If u flag is given, this returns the code point at the index (it combines a surrogate pair). // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair). - RegExpValidationState.prototype.at = function at (i) { + RegExpValidationState.prototype.at = function at (i, forceU) { + if ( forceU === void 0 ) forceU = false; + var s = this.source; var l = s.length; if (i >= l) { return -1 } var c = s.charCodeAt(i); - if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { + if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { return c } var next = s.charCodeAt(i + 1); return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c }; - RegExpValidationState.prototype.nextIndex = function nextIndex (i) { + RegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) { + if ( forceU === void 0 ) forceU = false; + var s = this.source; var l = s.length; if (i >= l) { return l } var c = s.charCodeAt(i), next; - if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l || + if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l || (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) { return i + 1 } return i + 2 }; - RegExpValidationState.prototype.current = function current () { - return this.at(this.pos) + RegExpValidationState.prototype.current = function current (forceU) { + if ( forceU === void 0 ) forceU = false; + + return this.at(this.pos, forceU) }; - RegExpValidationState.prototype.lookahead = function lookahead () { - return this.at(this.nextIndex(this.pos)) + RegExpValidationState.prototype.lookahead = function lookahead (forceU) { + if ( forceU === void 0 ) forceU = false; + + return this.at(this.nextIndex(this.pos, forceU), forceU) }; - RegExpValidationState.prototype.advance = function advance () { - this.pos = this.nextIndex(this.pos); + RegExpValidationState.prototype.advance = function advance (forceU) { + if ( forceU === void 0 ) forceU = false; + + this.pos = this.nextIndex(this.pos, forceU); }; - RegExpValidationState.prototype.eat = function eat (ch) { - if (this.current() === ch) { - this.advance(); + RegExpValidationState.prototype.eat = function eat (ch, forceU) { + if ( forceU === void 0 ) forceU = false; + + if (this.current(forceU) === ch) { + this.advance(forceU); return true } return false @@ -3592,9 +3691,9 @@ return false }; - // GroupSpecifier[U] :: + // GroupSpecifier :: // [empty] - // `?` GroupName[?U] + // `?` GroupName pp$8.regexp_groupSpecifier = function(state) { if (state.eat(0x3F /* ? */)) { if (this.regexp_eatGroupName(state)) { @@ -3608,8 +3707,8 @@ } }; - // GroupName[U] :: - // `<` RegExpIdentifierName[?U] `>` + // GroupName :: + // `<` RegExpIdentifierName `>` // Note: this updates `state.lastStringValue` property with the eaten name. pp$8.regexp_eatGroupName = function(state) { state.lastStringValue = ""; @@ -3622,9 +3721,9 @@ return false }; - // RegExpIdentifierName[U] :: - // RegExpIdentifierStart[?U] - // RegExpIdentifierName[?U] RegExpIdentifierPart[?U] + // RegExpIdentifierName :: + // RegExpIdentifierStart + // RegExpIdentifierName RegExpIdentifierPart // Note: this updates `state.lastStringValue` property with the eaten name. pp$8.regexp_eatRegExpIdentifierName = function(state) { state.lastStringValue = ""; @@ -3638,17 +3737,18 @@ return false }; - // RegExpIdentifierStart[U] :: + // RegExpIdentifierStart :: // UnicodeIDStart // `$` // `_` - // `\` RegExpUnicodeEscapeSequence[?U] + // `\` RegExpUnicodeEscapeSequence[+U] pp$8.regexp_eatRegExpIdentifierStart = function(state) { var start = state.pos; - var ch = state.current(); - state.advance(); + var forceU = this.options.ecmaVersion >= 11; + var ch = state.current(forceU); + state.advance(forceU); - if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) { + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { ch = state.lastIntValue; } if (isRegExpIdentifierStart(ch)) { @@ -3663,19 +3763,20 @@ return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ } - // RegExpIdentifierPart[U] :: + // RegExpIdentifierPart :: // UnicodeIDContinue // `$` // `_` - // `\` RegExpUnicodeEscapeSequence[?U] + // `\` RegExpUnicodeEscapeSequence[+U] // // pp$8.regexp_eatRegExpIdentifierPart = function(state) { var start = state.pos; - var ch = state.current(); - state.advance(); + var forceU = this.options.ecmaVersion >= 11; + var ch = state.current(forceU); + state.advance(forceU); - if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) { + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { ch = state.lastIntValue; } if (isRegExpIdentifierPart(ch)) { @@ -3745,7 +3846,7 @@ this.regexp_eatCControlLetter(state) || this.regexp_eatZero(state) || this.regexp_eatHexEscapeSequence(state) || - this.regexp_eatRegExpUnicodeEscapeSequence(state) || + this.regexp_eatRegExpUnicodeEscapeSequence(state, false) || (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) || this.regexp_eatIdentityEscape(state) ) @@ -3818,13 +3919,16 @@ } // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence - pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state) { + pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) { + if ( forceU === void 0 ) forceU = false; + var start = state.pos; + var switchU = forceU || state.switchU; if (state.eat(0x75 /* u */)) { if (this.regexp_eatFixedHexDigits(state, 4)) { var lead = state.lastIntValue; - if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) { + if (switchU && lead >= 0xD800 && lead <= 0xDBFF) { var leadSurrogateEnd = state.pos; if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) { var trail = state.lastIntValue; @@ -3839,7 +3943,7 @@ return true } if ( - state.switchU && + switchU && state.eat(0x7B /* { */) && this.regexp_eatHexDigits(state) && state.eat(0x7D /* } */) && @@ -3847,7 +3951,7 @@ ) { return true } - if (state.switchU) { + if (switchU) { state.raise("Invalid unicode escape"); } state.pos = start; @@ -4447,7 +4551,13 @@ pp$9.readToken_pipe_amp = function(code) { // '|&' var next = this.input.charCodeAt(this.pos + 1); - if (next === code) { return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) } + if (next === code) { + if (this.options.ecmaVersion >= 12) { + var next2 = this.input.charCodeAt(this.pos + 2); + if (next2 === 61) { return this.finishOp(types.assign, 3) } + } + return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) + } if (next === 61) { return this.finishOp(types.assign, 2) } return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1) }; @@ -4503,6 +4613,25 @@ return this.finishOp(code === 61 ? types.eq : types.prefix, 1) }; + pp$9.readToken_question = function() { // '?' + var ecmaVersion = this.options.ecmaVersion; + if (ecmaVersion >= 11) { + var next = this.input.charCodeAt(this.pos + 1); + if (next === 46) { + var next2 = this.input.charCodeAt(this.pos + 2); + if (next2 < 48 || next2 > 57) { return this.finishOp(types.questionDot, 2) } + } + if (next === 63) { + if (ecmaVersion >= 12) { + var next2$1 = this.input.charCodeAt(this.pos + 2); + if (next2$1 === 61) { return this.finishOp(types.assign, 3) } + } + return this.finishOp(types.coalesce, 2) + } + } + return this.finishOp(types.question, 1) + }; + pp$9.getTokenFromCode = function(code) { switch (code) { // The interpretation of a dot depends on whether it is followed @@ -4520,7 +4649,6 @@ case 123: ++this.pos; return this.finishToken(types.braceL) case 125: ++this.pos; return this.finishToken(types.braceR) case 58: ++this.pos; return this.finishToken(types.colon) - case 63: ++this.pos; return this.finishToken(types.question) case 96: // '`' if (this.options.ecmaVersion < 6) { break } @@ -4570,6 +4698,9 @@ case 61: case 33: // '=!' return this.readToken_eq_excl(code) + case 63: // '?' + return this.readToken_question() + case 126: // '~' return this.finishOp(types.prefix, 1) } @@ -4625,30 +4756,67 @@ // were read, the integer value otherwise. When `len` is given, this // will return `null` unless the integer has exactly `len` digits. - pp$9.readInt = function(radix, len) { - var start = this.pos, total = 0; - for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) { + pp$9.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) { + // `len` is used for character escape sequences. In that case, disallow separators. + var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined; + + // `maybeLegacyOctalNumericLiteral` is true if it doesn't have prefix (0x,0o,0b) + // and isn't fraction part nor exponent part. In that case, if the first digit + // is zero then disallow separators. + var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48; + + var start = this.pos, total = 0, lastCode = 0; + for (var i = 0, e = len == null ? Infinity : len; i < e; ++i, ++this.pos) { var code = this.input.charCodeAt(this.pos), val = (void 0); + + if (allowSeparators && code === 95) { + if (isLegacyOctalNumericLiteral) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"); } + if (lastCode === 95) { this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"); } + if (i === 0) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"); } + lastCode = code; + continue + } + if (code >= 97) { val = code - 97 + 10; } // a else if (code >= 65) { val = code - 65 + 10; } // A else if (code >= 48 && code <= 57) { val = code - 48; } // 0-9 else { val = Infinity; } if (val >= radix) { break } - ++this.pos; + lastCode = code; total = total * radix + val; } + + if (allowSeparators && lastCode === 95) { this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"); } if (this.pos === start || len != null && this.pos - start !== len) { return null } return total }; + function stringToNumber(str, isLegacyOctalNumericLiteral) { + if (isLegacyOctalNumericLiteral) { + return parseInt(str, 8) + } + + // `parseFloat(value)` stops parsing at the first numeric separator then returns a wrong value. + return parseFloat(str.replace(/_/g, "")) + } + + function stringToBigInt(str) { + if (typeof BigInt !== "function") { + return null + } + + // `BigInt(value)` throws syntax error if the string contains numeric separators. + return BigInt(str.replace(/_/g, "")) + } + pp$9.readRadixNumber = function(radix) { var start = this.pos; this.pos += 2; // 0x var val = this.readInt(radix); if (val == null) { this.raise(this.start + 2, "Expected number in radix " + radix); } if (this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110) { - val = typeof BigInt !== "undefined" ? BigInt(this.input.slice(start, this.pos)) : null; + val = stringToBigInt(this.input.slice(start, this.pos)); ++this.pos; } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } return this.finishToken(types.num, val) @@ -4658,13 +4826,12 @@ pp$9.readNumber = function(startsWithDot) { var start = this.pos; - if (!startsWithDot && this.readInt(10) === null) { this.raise(start, "Invalid number"); } + if (!startsWithDot && this.readInt(10, undefined, true) === null) { this.raise(start, "Invalid number"); } var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48; if (octal && this.strict) { this.raise(start, "Invalid number"); } var next = this.input.charCodeAt(this.pos); if (!octal && !startsWithDot && this.options.ecmaVersion >= 11 && next === 110) { - var str$1 = this.input.slice(start, this.pos); - var val$1 = typeof BigInt !== "undefined" ? BigInt(str$1) : null; + var val$1 = stringToBigInt(this.input.slice(start, this.pos)); ++this.pos; if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } return this.finishToken(types.num, val$1) @@ -4682,8 +4849,7 @@ } if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } - var str = this.input.slice(start, this.pos); - var val = octal ? parseInt(str, 8) : parseFloat(str); + var val = stringToNumber(this.input.slice(start, this.pos), octal); return this.finishToken(types.num, val) }; @@ -4942,7 +5108,7 @@ // Acorn is a tiny, fast JavaScript parser written in JavaScript. - var version = "7.1.0"; + var version = "7.4.1"; Parser.acorn = { Parser: Parser, @@ -5017,4 +5183,4 @@ Object.defineProperty(exports, '__esModule', { value: true }); -})); +}))); diff --git a/node_modules/acorn/dist/acorn.js.map b/node_modules/acorn/dist/acorn.js.map index 7b366e95b..7781620d6 100644 --- a/node_modules/acorn/dist/acorn.js.map +++ b/node_modules/acorn/dist/acorn.js.map @@ -1 +1 @@ -{"version":3,"file":"acorn.js","sources":["../src/identifier.js","../src/tokentype.js","../src/whitespace.js","../src/util.js","../src/locutil.js","../src/options.js","../src/scopeflags.js","../src/state.js","../src/parseutil.js","../src/statement.js","../src/lval.js","../src/expression.js","../src/location.js","../src/scope.js","../src/node.js","../src/tokencontext.js","../src/unicode-property-data.js","../src/regexp.js","../src/tokenize.js","../src/index.js"],"sourcesContent":["// Reserved word lists for various dialects of the language\n\nexport const reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n}\n\n// And the keywords\n\nconst ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\"\n\nexport const keywords = {\n 5: ecma5AndLessKeywords,\n 6: ecma5AndLessKeywords + \" const class extends export import super\"\n}\n\nexport const keywordRelationalOperator = /^in(stanceof)?$/\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point above 128.\n// Generated by `bin/generate-identifier-regex.js`.\n\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08bd\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fef\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7b9\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab65\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\"\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2-\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\"\n\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\")\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\")\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by bin/generate-identifier-regex.js\n\n// eslint-disable-next-line comma-spacing\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541]\n\n// eslint-disable-next-line comma-spacing\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239]\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n let pos = 0x10000\n for (let i = 0; i < set.length; i += 2) {\n pos += set[i]\n if (pos > code) return false\n pos += set[i + 1]\n if (pos >= code) return true\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code, astral) {\n if (code < 65) return code === 36\n if (code < 91) return true\n if (code < 97) return code === 95\n if (code < 123) return true\n if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n if (astral === false) return false\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code, astral) {\n if (code < 48) return code === 36\n if (code < 58) return true\n if (code < 65) return false\n if (code < 91) return true\n if (code < 97) return code === 95\n if (code < 123) return true\n if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code))\n if (astral === false) return false\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n","// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nexport class TokenType {\n constructor(label, conf = {}) {\n this.label = label\n this.keyword = conf.keyword\n this.beforeExpr = !!conf.beforeExpr\n this.startsExpr = !!conf.startsExpr\n this.isLoop = !!conf.isLoop\n this.isAssign = !!conf.isAssign\n this.prefix = !!conf.prefix\n this.postfix = !!conf.postfix\n this.binop = conf.binop || null\n this.updateContext = null\n }\n}\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nconst beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true}\n\n// Map keyword names to token types.\n\nexport const keywords = {}\n\n// Succinct definitions of keyword token types\nfunction kw(name, options = {}) {\n options.keyword = name\n return keywords[name] = new TokenType(name, options)\n}\n\nexport const types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"!/~\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\"/<=/>=\", 7),\n bitShift: binop(\"<>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {beforeExpr: true}),\n\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {isLoop: true, beforeExpr: true}),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {isLoop: true}),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {isLoop: true}),\n _with: kw(\"with\"),\n _new: kw(\"new\", {beforeExpr: true, startsExpr: true}),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\"),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {beforeExpr: true, binop: 7}),\n _instanceof: kw(\"instanceof\", {beforeExpr: true, binop: 7}),\n _typeof: kw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _void: kw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _delete: kw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n}\n","// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nexport const lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\")\n\nexport function isNewLine(code, ecma2019String) {\n return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))\n}\n\nexport const nonASCIIwhitespace = /[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/\n\nexport const skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g\n","const {hasOwnProperty, toString} = Object.prototype\n\n// Checks if an object has a property.\n\nexport function has(obj, propName) {\n return hasOwnProperty.call(obj, propName)\n}\n\nexport const isArray = Array.isArray || ((obj) => (\n toString.call(obj) === \"[object Array]\"\n))\n\nexport function wordsRegexp(words) {\n return new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\")\n}\n","import {lineBreakG} from \"./whitespace\"\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n constructor(line, col) {\n this.line = line\n this.column = col\n }\n\n offset(n) {\n return new Position(this.line, this.column + n)\n }\n}\n\nexport class SourceLocation {\n constructor(p, start, end) {\n this.start = start\n this.end = end\n if (p.sourceFile !== null) this.source = p.sourceFile\n }\n}\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nexport function getLineInfo(input, offset) {\n for (let line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur\n let match = lineBreakG.exec(input)\n if (match && match.index < offset) {\n ++line\n cur = match.index + match[0].length\n } else {\n return new Position(line, offset - cur)\n }\n }\n}\n","import {has, isArray} from \"./util\"\nimport {SourceLocation} from \"./locutil\"\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nexport const defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\n // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10\n // (2019). This influences support for strict mode, the set of\n // reserved words, and support for new syntax features. The default\n // is 9.\n ecmaVersion: 9,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"` or `\"module\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // the position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false\n}\n\n// Interpret and default an options object\n\nexport function getOptions(opts) {\n let options = {}\n\n for (let opt in defaultOptions)\n options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]\n\n if (options.ecmaVersion >= 2015)\n options.ecmaVersion -= 2009\n\n if (options.allowReserved == null)\n options.allowReserved = options.ecmaVersion < 5\n\n if (isArray(options.onToken)) {\n let tokens = options.onToken\n options.onToken = (token) => tokens.push(token)\n }\n if (isArray(options.onComment))\n options.onComment = pushComment(options, options.onComment)\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function(block, text, start, end, startLoc, endLoc) {\n let comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n }\n if (options.locations)\n comment.loc = new SourceLocation(this, startLoc, endLoc)\n if (options.ranges)\n comment.range = [start, end]\n array.push(comment)\n }\n}\n","// Each scope gets a bitset that may contain these flags\nexport const\n SCOPE_TOP = 1,\n SCOPE_FUNCTION = 2,\n SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,\n SCOPE_ASYNC = 4,\n SCOPE_GENERATOR = 8,\n SCOPE_ARROW = 16,\n SCOPE_SIMPLE_CATCH = 32,\n SCOPE_SUPER = 64,\n SCOPE_DIRECT_SUPER = 128\n\nexport function functionFlags(async, generator) {\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)\n}\n\n// Used in checkLVal and declareName to determine the type of a binding\nexport const\n BIND_NONE = 0, // Not a binding\n BIND_VAR = 1, // Var-style binding\n BIND_LEXICAL = 2, // Let- or const-style binding\n BIND_FUNCTION = 3, // Function declaration\n BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding\n BIND_OUTSIDE = 5 // Special case for function names as bound inside the function\n","import {reservedWords, keywords} from \"./identifier\"\nimport {types as tt} from \"./tokentype\"\nimport {lineBreak} from \"./whitespace\"\nimport {getOptions} from \"./options\"\nimport {wordsRegexp} from \"./util\"\nimport {SCOPE_TOP, SCOPE_FUNCTION, SCOPE_ASYNC, SCOPE_GENERATOR, SCOPE_SUPER, SCOPE_DIRECT_SUPER} from \"./scopeflags\"\n\nexport class Parser {\n constructor(options, input, startPos) {\n this.options = options = getOptions(options)\n this.sourceFile = options.sourceFile\n this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5])\n let reserved = \"\"\n if (!options.allowReserved) {\n for (let v = options.ecmaVersion;; v--)\n if (reserved = reservedWords[v]) break\n if (options.sourceType === \"module\") reserved += \" await\"\n }\n this.reservedWords = wordsRegexp(reserved)\n let reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict\n this.reservedWordsStrict = wordsRegexp(reservedStrict)\n this.reservedWordsStrictBind = wordsRegexp(reservedStrict + \" \" + reservedWords.strictBind)\n this.input = String(input)\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length\n } else {\n this.pos = this.lineStart = 0\n this.curLine = 1\n }\n\n // Properties of the current token:\n // Its type\n this.type = tt.eof\n // For tokens that include more information than their type, the value\n this.value = null\n // Its start and end offset\n this.start = this.end = this.pos\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition()\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null\n this.lastTokStart = this.lastTokEnd = this.pos\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext()\n this.exprAllowed = true\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\"\n this.strict = this.inModule || this.strictDirective(this.pos)\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1\n\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = this.awaitIdentPos = 0\n // Labels in scope.\n this.labels = []\n // Thus-far undefined exports.\n this.undefinedExports = {}\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\")\n this.skipLineComment(2)\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = []\n this.enterScope(SCOPE_TOP)\n\n // For RegExp validation\n this.regexpState = null\n }\n\n parse() {\n let node = this.options.program || this.startNode()\n this.nextToken()\n return this.parseTopLevel(node)\n }\n\n get inFunction() { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 }\n get inGenerator() { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 }\n get inAsync() { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 }\n get allowSuper() { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 }\n get allowDirectSuper() { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 }\n get treatFunctionsAsVar() { return this.treatFunctionsAsVarInScope(this.currentScope()) }\n\n // Switch to a getter for 7.0.0.\n inNonArrowFunction() { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 }\n\n static extend(...plugins) {\n let cls = this\n for (let i = 0; i < plugins.length; i++) cls = plugins[i](cls)\n return cls\n }\n\n static parse(input, options) {\n return new this(options, input).parse()\n }\n\n static parseExpressionAt(input, pos, options) {\n let parser = new this(options, input, pos)\n parser.nextToken()\n return parser.parseExpression()\n }\n\n static tokenizer(input, options) {\n return new this(options, input)\n }\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {lineBreak, skipWhiteSpace} from \"./whitespace\"\n\nconst pp = Parser.prototype\n\n// ## Parser utilities\n\nconst literal = /^(?:'((?:\\\\.|[^'])*?)'|\"((?:\\\\.|[^\"])*?)\")/\npp.strictDirective = function(start) {\n for (;;) {\n // Try to find string literal.\n skipWhiteSpace.lastIndex = start\n start += skipWhiteSpace.exec(this.input)[0].length\n let match = literal.exec(this.input.slice(start))\n if (!match) return false\n if ((match[1] || match[2]) === \"use strict\") return true\n start += match[0].length\n\n // Skip semicolon, if any.\n skipWhiteSpace.lastIndex = start\n start += skipWhiteSpace.exec(this.input)[0].length\n if (this.input[start] === \";\")\n start++\n }\n}\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function(type) {\n if (this.type === type) {\n this.next()\n return true\n } else {\n return false\n }\n}\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function(name) {\n return this.type === tt.name && this.value === name && !this.containsEsc\n}\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function(name) {\n if (!this.isContextual(name)) return false\n this.next()\n return true\n}\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function(name) {\n if (!this.eatContextual(name)) this.unexpected()\n}\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function() {\n return this.type === tt.eof ||\n this.type === tt.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n}\n\npp.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc)\n return true\n }\n}\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function() {\n if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected()\n}\n\npp.afterTrailingComma = function(tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma)\n this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc)\n if (!notNext)\n this.next()\n return true\n }\n}\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function(type) {\n this.eat(type) || this.unexpected()\n}\n\n// Raise an unexpected token error.\n\npp.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\")\n}\n\nexport function DestructuringErrors() {\n this.shorthandAssign =\n this.trailingComma =\n this.parenthesizedAssign =\n this.parenthesizedBind =\n this.doubleProto =\n -1\n}\n\npp.checkPatternErrors = function(refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) return\n if (refDestructuringErrors.trailingComma > -1)\n this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\")\n let parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind\n if (parens > -1) this.raiseRecoverable(parens, \"Parenthesized pattern\")\n}\n\npp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) return false\n let {shorthandAssign, doubleProto} = refDestructuringErrors\n if (!andThrow) return shorthandAssign >= 0 || doubleProto >= 0\n if (shorthandAssign >= 0)\n this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\")\n if (doubleProto >= 0)\n this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\")\n}\n\npp.checkYieldAwaitInDefaultParams = function() {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\n this.raise(this.yieldPos, \"Yield expression cannot be a default value\")\n if (this.awaitPos)\n this.raise(this.awaitPos, \"Await expression cannot be a default value\")\n}\n\npp.isSimpleAssignTarget = function(expr) {\n if (expr.type === \"ParenthesizedExpression\")\n return this.isSimpleAssignTarget(expr.expression)\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\"\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {lineBreak, skipWhiteSpace} from \"./whitespace\"\nimport {isIdentifierStart, isIdentifierChar, keywordRelationalOperator} from \"./identifier\"\nimport {has} from \"./util\"\nimport {DestructuringErrors} from \"./parseutil\"\nimport {functionFlags, SCOPE_SIMPLE_CATCH, BIND_SIMPLE_CATCH, BIND_LEXICAL, BIND_VAR, BIND_FUNCTION} from \"./scopeflags\"\n\nconst pp = Parser.prototype\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp.parseTopLevel = function(node) {\n let exports = {}\n if (!node.body) node.body = []\n while (this.type !== tt.eof) {\n let stmt = this.parseStatement(null, true, exports)\n node.body.push(stmt)\n }\n if (this.inModule)\n for (let name of Object.keys(this.undefinedExports))\n this.raiseRecoverable(this.undefinedExports[name].start, `Export '${name}' is not defined`)\n this.adaptDirectivePrologue(node.body)\n this.next()\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType\n }\n return this.finishNode(node, \"Program\")\n}\n\nconst loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"}\n\npp.isLet = function(context) {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) return false\n skipWhiteSpace.lastIndex = this.pos\n let skip = skipWhiteSpace.exec(this.input)\n let next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next)\n // For ambiguous cases, determine if a LexicalDeclaration (or only a\n // Statement) is allowed here. If context is not empty then only a Statement\n // is allowed. However, `let [` is an explicit negative lookahead for\n // ExpressionStatement, so special-case it first.\n if (nextCh === 91) return true // '['\n if (context) return false\n\n if (nextCh === 123) return true // '{'\n if (isIdentifierStart(nextCh, true)) {\n let pos = next + 1\n while (isIdentifierChar(this.input.charCodeAt(pos), true)) ++pos\n let ident = this.input.slice(next, pos)\n if (!keywordRelationalOperator.test(ident)) return true\n }\n return false\n}\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp.isAsyncFunction = function() {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\"))\n return false\n\n skipWhiteSpace.lastIndex = this.pos\n let skip = skipWhiteSpace.exec(this.input)\n let next = this.pos + skip[0].length\n return !lineBreak.test(this.input.slice(this.pos, next)) &&\n this.input.slice(next, next + 8) === \"function\" &&\n (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))\n}\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp.parseStatement = function(context, topLevel, exports) {\n let starttype = this.type, node = this.startNode(), kind\n\n if (this.isLet(context)) {\n starttype = tt._var\n kind = \"let\"\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case tt._debugger: return this.parseDebuggerStatement(node)\n case tt._do: return this.parseDoStatement(node)\n case tt._for: return this.parseForStatement(node)\n case tt._function:\n // Function as sole body of either an if statement or a labeled statement\n // works, but not when it is part of a labeled statement that is the sole\n // body of an if statement.\n if ((context && (this.strict || context !== \"if\" && context !== \"label\")) && this.options.ecmaVersion >= 6) this.unexpected()\n return this.parseFunctionStatement(node, false, !context)\n case tt._class:\n if (context) this.unexpected()\n return this.parseClass(node, true)\n case tt._if: return this.parseIfStatement(node)\n case tt._return: return this.parseReturnStatement(node)\n case tt._switch: return this.parseSwitchStatement(node)\n case tt._throw: return this.parseThrowStatement(node)\n case tt._try: return this.parseTryStatement(node)\n case tt._const: case tt._var:\n kind = kind || this.value\n if (context && kind !== \"var\") this.unexpected()\n return this.parseVarStatement(node, kind)\n case tt._while: return this.parseWhileStatement(node)\n case tt._with: return this.parseWithStatement(node)\n case tt.braceL: return this.parseBlock(true, node)\n case tt.semi: return this.parseEmptyStatement(node)\n case tt._export:\n case tt._import:\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n this.raise(this.start, \"'import' and 'export' may only appear at the top level\")\n if (!this.inModule)\n this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\")\n }\n return starttype === tt._import ? this.parseImport(node) : this.parseExport(node, exports)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (context) this.unexpected()\n this.next()\n return this.parseFunctionStatement(node, true, !context)\n }\n\n let maybeName = this.value, expr = this.parseExpression()\n if (starttype === tt.name && expr.type === \"Identifier\" && this.eat(tt.colon))\n return this.parseLabeledStatement(node, maybeName, expr, context)\n else return this.parseExpressionStatement(node, expr)\n }\n}\n\npp.parseBreakContinueStatement = function(node, keyword) {\n let isBreak = keyword === \"break\"\n this.next()\n if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null\n else if (this.type !== tt.name) this.unexpected()\n else {\n node.label = this.parseIdent()\n this.semicolon()\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n let i = 0\n for (; i < this.labels.length; ++i) {\n let lab = this.labels[i]\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) break\n if (node.label && isBreak) break\n }\n }\n if (i === this.labels.length) this.raise(node.start, \"Unsyntactic \" + keyword)\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n}\n\npp.parseDebuggerStatement = function(node) {\n this.next()\n this.semicolon()\n return this.finishNode(node, \"DebuggerStatement\")\n}\n\npp.parseDoStatement = function(node) {\n this.next()\n this.labels.push(loopLabel)\n node.body = this.parseStatement(\"do\")\n this.labels.pop()\n this.expect(tt._while)\n node.test = this.parseParenExpression()\n if (this.options.ecmaVersion >= 6)\n this.eat(tt.semi)\n else\n this.semicolon()\n return this.finishNode(node, \"DoWhileStatement\")\n}\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp.parseForStatement = function(node) {\n this.next()\n let awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual(\"await\")) ? this.lastTokStart : -1\n this.labels.push(loopLabel)\n this.enterScope(0)\n this.expect(tt.parenL)\n if (this.type === tt.semi) {\n if (awaitAt > -1) this.unexpected(awaitAt)\n return this.parseFor(node, null)\n }\n let isLet = this.isLet()\n if (this.type === tt._var || this.type === tt._const || isLet) {\n let init = this.startNode(), kind = isLet ? \"let\" : this.value\n this.next()\n this.parseVar(init, true, kind)\n this.finishNode(init, \"VariableDeclaration\")\n if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init.declarations.length === 1 &&\n !(kind !== \"var\" && init.declarations[0].init)) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === tt._in) {\n if (awaitAt > -1) this.unexpected(awaitAt)\n } else node.await = awaitAt > -1\n }\n return this.parseForIn(node, init)\n }\n if (awaitAt > -1) this.unexpected(awaitAt)\n return this.parseFor(node, init)\n }\n let refDestructuringErrors = new DestructuringErrors\n let init = this.parseExpression(true, refDestructuringErrors)\n if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === tt._in) {\n if (awaitAt > -1) this.unexpected(awaitAt)\n } else node.await = awaitAt > -1\n }\n this.toAssignable(init, false, refDestructuringErrors)\n this.checkLVal(init)\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true)\n }\n if (awaitAt > -1) this.unexpected(awaitAt)\n return this.parseFor(node, init)\n}\n\npp.parseFunctionStatement = function(node, isAsync, declarationPosition) {\n this.next()\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)\n}\n\npp.parseIfStatement = function(node) {\n this.next()\n node.test = this.parseParenExpression()\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(\"if\")\n node.alternate = this.eat(tt._else) ? this.parseStatement(\"if\") : null\n return this.finishNode(node, \"IfStatement\")\n}\n\npp.parseReturnStatement = function(node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\n this.raise(this.start, \"'return' outside of function\")\n this.next()\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null\n else { node.argument = this.parseExpression(); this.semicolon() }\n return this.finishNode(node, \"ReturnStatement\")\n}\n\npp.parseSwitchStatement = function(node) {\n this.next()\n node.discriminant = this.parseParenExpression()\n node.cases = []\n this.expect(tt.braceL)\n this.labels.push(switchLabel)\n this.enterScope(0)\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n let cur\n for (let sawDefault = false; this.type !== tt.braceR;) {\n if (this.type === tt._case || this.type === tt._default) {\n let isCase = this.type === tt._case\n if (cur) this.finishNode(cur, \"SwitchCase\")\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n this.next()\n if (isCase) {\n cur.test = this.parseExpression()\n } else {\n if (sawDefault) this.raiseRecoverable(this.lastTokStart, \"Multiple default clauses\")\n sawDefault = true\n cur.test = null\n }\n this.expect(tt.colon)\n } else {\n if (!cur) this.unexpected()\n cur.consequent.push(this.parseStatement(null))\n }\n }\n this.exitScope()\n if (cur) this.finishNode(cur, \"SwitchCase\")\n this.next() // Closing brace\n this.labels.pop()\n return this.finishNode(node, \"SwitchStatement\")\n}\n\npp.parseThrowStatement = function(node) {\n this.next()\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n this.raise(this.lastTokEnd, \"Illegal newline after throw\")\n node.argument = this.parseExpression()\n this.semicolon()\n return this.finishNode(node, \"ThrowStatement\")\n}\n\n// Reused empty array added for node fields that are always empty.\n\nconst empty = []\n\npp.parseTryStatement = function(node) {\n this.next()\n node.block = this.parseBlock()\n node.handler = null\n if (this.type === tt._catch) {\n let clause = this.startNode()\n this.next()\n if (this.eat(tt.parenL)) {\n clause.param = this.parseBindingAtom()\n let simple = clause.param.type === \"Identifier\"\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0)\n this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL)\n this.expect(tt.parenR)\n } else {\n if (this.options.ecmaVersion < 10) this.unexpected()\n clause.param = null\n this.enterScope(0)\n }\n clause.body = this.parseBlock(false)\n this.exitScope()\n node.handler = this.finishNode(clause, \"CatchClause\")\n }\n node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null\n if (!node.handler && !node.finalizer)\n this.raise(node.start, \"Missing catch or finally clause\")\n return this.finishNode(node, \"TryStatement\")\n}\n\npp.parseVarStatement = function(node, kind) {\n this.next()\n this.parseVar(node, false, kind)\n this.semicolon()\n return this.finishNode(node, \"VariableDeclaration\")\n}\n\npp.parseWhileStatement = function(node) {\n this.next()\n node.test = this.parseParenExpression()\n this.labels.push(loopLabel)\n node.body = this.parseStatement(\"while\")\n this.labels.pop()\n return this.finishNode(node, \"WhileStatement\")\n}\n\npp.parseWithStatement = function(node) {\n if (this.strict) this.raise(this.start, \"'with' in strict mode\")\n this.next()\n node.object = this.parseParenExpression()\n node.body = this.parseStatement(\"with\")\n return this.finishNode(node, \"WithStatement\")\n}\n\npp.parseEmptyStatement = function(node) {\n this.next()\n return this.finishNode(node, \"EmptyStatement\")\n}\n\npp.parseLabeledStatement = function(node, maybeName, expr, context) {\n for (let label of this.labels)\n if (label.name === maybeName)\n this.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\")\n let kind = this.type.isLoop ? \"loop\" : this.type === tt._switch ? \"switch\" : null\n for (let i = this.labels.length - 1; i >= 0; i--) {\n let label = this.labels[i]\n if (label.statementStart === node.start) {\n // Update information about previous labels on this node\n label.statementStart = this.start\n label.kind = kind\n } else break\n }\n this.labels.push({name: maybeName, kind, statementStart: this.start})\n node.body = this.parseStatement(context ? context.indexOf(\"label\") === -1 ? context + \"label\" : context : \"label\")\n this.labels.pop()\n node.label = expr\n return this.finishNode(node, \"LabeledStatement\")\n}\n\npp.parseExpressionStatement = function(node, expr) {\n node.expression = expr\n this.semicolon()\n return this.finishNode(node, \"ExpressionStatement\")\n}\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp.parseBlock = function(createNewLexicalScope = true, node = this.startNode()) {\n node.body = []\n this.expect(tt.braceL)\n if (createNewLexicalScope) this.enterScope(0)\n while (!this.eat(tt.braceR)) {\n let stmt = this.parseStatement(null)\n node.body.push(stmt)\n }\n if (createNewLexicalScope) this.exitScope()\n return this.finishNode(node, \"BlockStatement\")\n}\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp.parseFor = function(node, init) {\n node.init = init\n this.expect(tt.semi)\n node.test = this.type === tt.semi ? null : this.parseExpression()\n this.expect(tt.semi)\n node.update = this.type === tt.parenR ? null : this.parseExpression()\n this.expect(tt.parenR)\n node.body = this.parseStatement(\"for\")\n this.exitScope()\n this.labels.pop()\n return this.finishNode(node, \"ForStatement\")\n}\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp.parseForIn = function(node, init) {\n let type = this.type === tt._in ? \"ForInStatement\" : \"ForOfStatement\"\n this.next()\n if (type === \"ForInStatement\") {\n if (init.type === \"AssignmentPattern\" ||\n (init.type === \"VariableDeclaration\" && init.declarations[0].init != null &&\n (this.strict || init.declarations[0].id.type !== \"Identifier\")))\n this.raise(init.start, \"Invalid assignment in for-in loop head\")\n }\n node.left = init\n node.right = type === \"ForInStatement\" ? this.parseExpression() : this.parseMaybeAssign()\n this.expect(tt.parenR)\n node.body = this.parseStatement(\"for\")\n this.exitScope()\n this.labels.pop()\n return this.finishNode(node, type)\n}\n\n// Parse a list of variable declarations.\n\npp.parseVar = function(node, isFor, kind) {\n node.declarations = []\n node.kind = kind\n for (;;) {\n let decl = this.startNode()\n this.parseVarId(decl, kind)\n if (this.eat(tt.eq)) {\n decl.init = this.parseMaybeAssign(isFor)\n } else if (kind === \"const\" && !(this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\")))) {\n this.unexpected()\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this.type === tt._in || this.isContextual(\"of\")))) {\n this.raise(this.lastTokEnd, \"Complex binding patterns require an initialization value\")\n } else {\n decl.init = null\n }\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n if (!this.eat(tt.comma)) break\n }\n return node\n}\n\npp.parseVarId = function(decl, kind) {\n if ((kind === \"const\" || kind === \"let\") && this.isContextual(\"let\")) {\n this.raiseRecoverable(this.start, \"let is disallowed as a lexically bound name\")\n }\n decl.id = this.parseBindingAtom()\n this.checkLVal(decl.id, kind === \"var\" ? BIND_VAR : BIND_LEXICAL, false)\n}\n\nconst FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4\n\n// Parse a function declaration or literal (depending on the\n// `statement & FUNC_STATEMENT`).\n\n// Remove `allowExpressionBody` for 7.0.0, as it is only called with false\npp.parseFunction = function(node, statement, allowExpressionBody, isAsync) {\n this.initFunction(node)\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\n if (this.type === tt.star && (statement & FUNC_HANGING_STATEMENT))\n this.unexpected()\n node.generator = this.eat(tt.star)\n }\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n\n if (statement & FUNC_STATEMENT) {\n node.id = (statement & FUNC_NULLABLE_ID) && this.type !== tt.name ? null : this.parseIdent()\n if (node.id && !(statement & FUNC_HANGING_STATEMENT))\n // If it is a regular function declaration in sloppy mode, then it is\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding\n // mode depends on properties of the current scope (see\n // treatFunctionsAsVar).\n this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION)\n }\n\n let oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos\n this.yieldPos = 0\n this.awaitPos = 0\n this.awaitIdentPos = 0\n this.enterScope(functionFlags(node.async, node.generator))\n\n if (!(statement & FUNC_STATEMENT))\n node.id = this.type === tt.name ? this.parseIdent() : null\n\n this.parseFunctionParams(node)\n this.parseFunctionBody(node, allowExpressionBody, false)\n\n this.yieldPos = oldYieldPos\n this.awaitPos = oldAwaitPos\n this.awaitIdentPos = oldAwaitIdentPos\n return this.finishNode(node, (statement & FUNC_STATEMENT) ? \"FunctionDeclaration\" : \"FunctionExpression\")\n}\n\npp.parseFunctionParams = function(node) {\n this.expect(tt.parenL)\n node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8)\n this.checkYieldAwaitInDefaultParams()\n}\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp.parseClass = function(node, isStatement) {\n this.next()\n\n // ecma-262 14.6 Class Definitions\n // A class definition is always strict mode code.\n const oldStrict = this.strict\n this.strict = true\n\n this.parseClassId(node, isStatement)\n this.parseClassSuper(node)\n let classBody = this.startNode()\n let hadConstructor = false\n classBody.body = []\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n const element = this.parseClassElement(node.superClass !== null)\n if (element) {\n classBody.body.push(element)\n if (element.type === \"MethodDefinition\" && element.kind === \"constructor\") {\n if (hadConstructor) this.raise(element.start, \"Duplicate constructor in the same class\")\n hadConstructor = true\n }\n }\n }\n node.body = this.finishNode(classBody, \"ClassBody\")\n this.strict = oldStrict\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n}\n\npp.parseClassElement = function(constructorAllowsSuper) {\n if (this.eat(tt.semi)) return null\n\n let method = this.startNode()\n const tryContextual = (k, noLineBreak = false) => {\n const start = this.start, startLoc = this.startLoc\n if (!this.eatContextual(k)) return false\n if (this.type !== tt.parenL && (!noLineBreak || !this.canInsertSemicolon())) return true\n if (method.key) this.unexpected()\n method.computed = false\n method.key = this.startNodeAt(start, startLoc)\n method.key.name = k\n this.finishNode(method.key, \"Identifier\")\n return false\n }\n\n method.kind = \"method\"\n method.static = tryContextual(\"static\")\n let isGenerator = this.eat(tt.star)\n let isAsync = false\n if (!isGenerator) {\n if (this.options.ecmaVersion >= 8 && tryContextual(\"async\", true)) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n } else if (tryContextual(\"get\")) {\n method.kind = \"get\"\n } else if (tryContextual(\"set\")) {\n method.kind = \"set\"\n }\n }\n if (!method.key) this.parsePropertyName(method)\n let {key} = method\n let allowsDirectSuper = false\n if (!method.computed && !method.static && (key.type === \"Identifier\" && key.name === \"constructor\" ||\n key.type === \"Literal\" && key.value === \"constructor\")) {\n if (method.kind !== \"method\") this.raise(key.start, \"Constructor can't have get/set modifier\")\n if (isGenerator) this.raise(key.start, \"Constructor can't be a generator\")\n if (isAsync) this.raise(key.start, \"Constructor can't be an async method\")\n method.kind = \"constructor\"\n allowsDirectSuper = constructorAllowsSuper\n } else if (method.static && key.type === \"Identifier\" && key.name === \"prototype\") {\n this.raise(key.start, \"Classes may not have a static property named prototype\")\n }\n this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper)\n if (method.kind === \"get\" && method.value.params.length !== 0)\n this.raiseRecoverable(method.value.start, \"getter should have no params\")\n if (method.kind === \"set\" && method.value.params.length !== 1)\n this.raiseRecoverable(method.value.start, \"setter should have exactly one param\")\n if (method.kind === \"set\" && method.value.params[0].type === \"RestElement\")\n this.raiseRecoverable(method.value.params[0].start, \"Setter cannot use rest params\")\n return method\n}\n\npp.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {\n method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper)\n return this.finishNode(method, \"MethodDefinition\")\n}\n\npp.parseClassId = function(node, isStatement) {\n if (this.type === tt.name) {\n node.id = this.parseIdent()\n if (isStatement)\n this.checkLVal(node.id, BIND_LEXICAL, false)\n } else {\n if (isStatement === true)\n this.unexpected()\n node.id = null\n }\n}\n\npp.parseClassSuper = function(node) {\n node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null\n}\n\n// Parses module export declaration.\n\npp.parseExport = function(node, exports) {\n this.next()\n // export * from '...'\n if (this.eat(tt.star)) {\n this.expectContextual(\"from\")\n if (this.type !== tt.string) this.unexpected()\n node.source = this.parseExprAtom()\n this.semicolon()\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(tt._default)) { // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart)\n let isAsync\n if (this.type === tt._function || (isAsync = this.isAsyncFunction())) {\n let fNode = this.startNode()\n this.next()\n if (isAsync) this.next()\n node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync)\n } else if (this.type === tt._class) {\n let cNode = this.startNode()\n node.declaration = this.parseClass(cNode, \"nullableID\")\n } else {\n node.declaration = this.parseMaybeAssign()\n this.semicolon()\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(null)\n if (node.declaration.type === \"VariableDeclaration\")\n this.checkVariableExport(exports, node.declaration.declarations)\n else\n this.checkExport(exports, node.declaration.id.name, node.declaration.id.start)\n node.specifiers = []\n node.source = null\n } else { // export { x, y as z } [from '...']\n node.declaration = null\n node.specifiers = this.parseExportSpecifiers(exports)\n if (this.eatContextual(\"from\")) {\n if (this.type !== tt.string) this.unexpected()\n node.source = this.parseExprAtom()\n } else {\n for (let spec of node.specifiers) {\n // check for keywords used as local names\n this.checkUnreserved(spec.local)\n // check if export is defined\n this.checkLocalExport(spec.local)\n }\n\n node.source = null\n }\n this.semicolon()\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n}\n\npp.checkExport = function(exports, name, pos) {\n if (!exports) return\n if (has(exports, name))\n this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\")\n exports[name] = true\n}\n\npp.checkPatternExport = function(exports, pat) {\n let type = pat.type\n if (type === \"Identifier\")\n this.checkExport(exports, pat.name, pat.start)\n else if (type === \"ObjectPattern\")\n for (let prop of pat.properties)\n this.checkPatternExport(exports, prop)\n else if (type === \"ArrayPattern\")\n for (let elt of pat.elements) {\n if (elt) this.checkPatternExport(exports, elt)\n }\n else if (type === \"Property\")\n this.checkPatternExport(exports, pat.value)\n else if (type === \"AssignmentPattern\")\n this.checkPatternExport(exports, pat.left)\n else if (type === \"RestElement\")\n this.checkPatternExport(exports, pat.argument)\n else if (type === \"ParenthesizedExpression\")\n this.checkPatternExport(exports, pat.expression)\n}\n\npp.checkVariableExport = function(exports, decls) {\n if (!exports) return\n for (let decl of decls)\n this.checkPatternExport(exports, decl.id)\n}\n\npp.shouldParseExportStatement = function() {\n return this.type.keyword === \"var\" ||\n this.type.keyword === \"const\" ||\n this.type.keyword === \"class\" ||\n this.type.keyword === \"function\" ||\n this.isLet() ||\n this.isAsyncFunction()\n}\n\n// Parses a comma-separated list of module exports.\n\npp.parseExportSpecifiers = function(exports) {\n let nodes = [], first = true\n // export { x, y as z } [from '...']\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n let node = this.startNode()\n node.local = this.parseIdent(true)\n node.exported = this.eatContextual(\"as\") ? this.parseIdent(true) : node.local\n this.checkExport(exports, node.exported.name, node.exported.start)\n nodes.push(this.finishNode(node, \"ExportSpecifier\"))\n }\n return nodes\n}\n\n// Parses import declaration.\n\npp.parseImport = function(node) {\n this.next()\n // import '...'\n if (this.type === tt.string) {\n node.specifiers = empty\n node.source = this.parseExprAtom()\n } else {\n node.specifiers = this.parseImportSpecifiers()\n this.expectContextual(\"from\")\n node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()\n }\n this.semicolon()\n return this.finishNode(node, \"ImportDeclaration\")\n}\n\n// Parses a comma-separated list of module imports.\n\npp.parseImportSpecifiers = function() {\n let nodes = [], first = true\n if (this.type === tt.name) {\n // import defaultObj, { x, y as z } from '...'\n let node = this.startNode()\n node.local = this.parseIdent()\n this.checkLVal(node.local, BIND_LEXICAL)\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"))\n if (!this.eat(tt.comma)) return nodes\n }\n if (this.type === tt.star) {\n let node = this.startNode()\n this.next()\n this.expectContextual(\"as\")\n node.local = this.parseIdent()\n this.checkLVal(node.local, BIND_LEXICAL)\n nodes.push(this.finishNode(node, \"ImportNamespaceSpecifier\"))\n return nodes\n }\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n let node = this.startNode()\n node.imported = this.parseIdent(true)\n if (this.eatContextual(\"as\")) {\n node.local = this.parseIdent()\n } else {\n this.checkUnreserved(node.imported)\n node.local = node.imported\n }\n this.checkLVal(node.local, BIND_LEXICAL)\n nodes.push(this.finishNode(node, \"ImportSpecifier\"))\n }\n return nodes\n}\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp.adaptDirectivePrologue = function(statements) {\n for (let i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1)\n }\n}\npp.isDirectiveCandidate = function(statement) {\n return (\n statement.type === \"ExpressionStatement\" &&\n statement.expression.type === \"Literal\" &&\n typeof statement.expression.value === \"string\" &&\n // Reject parenthesized strings.\n (this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\")\n )\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {has} from \"./util\"\nimport {BIND_NONE, BIND_OUTSIDE} from \"./scopeflags\"\n\nconst pp = Parser.prototype\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp.toAssignable = function(node, isBinding, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\")\n this.raise(node.start, \"Cannot use 'await' as identifier inside an async function\")\n break\n\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"RestElement\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\"\n if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true)\n for (let prop of node.properties) {\n this.toAssignable(prop, isBinding)\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (\n prop.type === \"RestElement\" &&\n (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")\n ) {\n this.raise(prop.argument.start, \"Unexpected token\")\n }\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") this.raise(node.key.start, \"Object pattern can't contain getter or setter\")\n this.toAssignable(node.value, isBinding)\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\"\n if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true)\n this.toAssignableList(node.elements, isBinding)\n break\n\n case \"SpreadElement\":\n node.type = \"RestElement\"\n this.toAssignable(node.argument, isBinding)\n if (node.argument.type === \"AssignmentPattern\")\n this.raise(node.argument.start, \"Rest elements cannot have a default value\")\n break\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\")\n node.type = \"AssignmentPattern\"\n delete node.operator\n this.toAssignable(node.left, isBinding)\n // falls through to AssignmentPattern\n\n case \"AssignmentPattern\":\n break\n\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding, refDestructuringErrors)\n break\n\n case \"MemberExpression\":\n if (!isBinding) break\n\n default:\n this.raise(node.start, \"Assigning to rvalue\")\n }\n } else if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true)\n return node\n}\n\n// Convert list of expression atoms to binding list.\n\npp.toAssignableList = function(exprList, isBinding) {\n let end = exprList.length\n for (let i = 0; i < end; i++) {\n let elt = exprList[i]\n if (elt) this.toAssignable(elt, isBinding)\n }\n if (end) {\n let last = exprList[end - 1]\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n this.unexpected(last.argument.start)\n }\n return exprList\n}\n\n// Parses spread element.\n\npp.parseSpread = function(refDestructuringErrors) {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors)\n return this.finishNode(node, \"SpreadElement\")\n}\n\npp.parseRestBinding = function() {\n let node = this.startNode()\n this.next()\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== tt.name)\n this.unexpected()\n\n node.argument = this.parseBindingAtom()\n\n return this.finishNode(node, \"RestElement\")\n}\n\n// Parses lvalue (assignable) atom.\n\npp.parseBindingAtom = function() {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case tt.bracketL:\n let node = this.startNode()\n this.next()\n node.elements = this.parseBindingList(tt.bracketR, true, true)\n return this.finishNode(node, \"ArrayPattern\")\n\n case tt.braceL:\n return this.parseObj(true)\n }\n }\n return this.parseIdent()\n}\n\npp.parseBindingList = function(close, allowEmpty, allowTrailingComma) {\n let elts = [], first = true\n while (!this.eat(close)) {\n if (first) first = false\n else this.expect(tt.comma)\n if (allowEmpty && this.type === tt.comma) {\n elts.push(null)\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\n break\n } else if (this.type === tt.ellipsis) {\n let rest = this.parseRestBinding()\n this.parseBindingListItem(rest)\n elts.push(rest)\n if (this.type === tt.comma) this.raise(this.start, \"Comma is not permitted after the rest element\")\n this.expect(close)\n break\n } else {\n let elem = this.parseMaybeDefault(this.start, this.startLoc)\n this.parseBindingListItem(elem)\n elts.push(elem)\n }\n }\n return elts\n}\n\npp.parseBindingListItem = function(param) {\n return param\n}\n\n// Parses assignment pattern around given atom if possible.\n\npp.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom()\n if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left\n let node = this.startNodeAt(startPos, startLoc)\n node.left = left\n node.right = this.parseMaybeAssign()\n return this.finishNode(node, \"AssignmentPattern\")\n}\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n// bindingType can be either:\n// 'var' indicating that the lval creates a 'var' binding\n// 'let' indicating that the lval creates a lexical ('let' or 'const') binding\n// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references\n\npp.checkLVal = function(expr, bindingType = BIND_NONE, checkClashes) {\n switch (expr.type) {\n case \"Identifier\":\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n this.raiseRecoverable(expr.start, (bindingType ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\")\n if (checkClashes) {\n if (has(checkClashes, expr.name))\n this.raiseRecoverable(expr.start, \"Argument name clash\")\n checkClashes[expr.name] = true\n }\n if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) this.declareName(expr.name, bindingType, expr.start)\n break\n\n case \"MemberExpression\":\n if (bindingType) this.raiseRecoverable(expr.start, \"Binding member expression\")\n break\n\n case \"ObjectPattern\":\n for (let prop of expr.properties)\n this.checkLVal(prop, bindingType, checkClashes)\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLVal(expr.value, bindingType, checkClashes)\n break\n\n case \"ArrayPattern\":\n for (let elem of expr.elements) {\n if (elem) this.checkLVal(elem, bindingType, checkClashes)\n }\n break\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, bindingType, checkClashes)\n break\n\n case \"RestElement\":\n this.checkLVal(expr.argument, bindingType, checkClashes)\n break\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, bindingType, checkClashes)\n break\n\n default:\n this.raise(expr.start, (bindingType ? \"Binding\" : \"Assigning to\") + \" rvalue\")\n }\n}\n","// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\nimport {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {DestructuringErrors} from \"./parseutil\"\nimport {lineBreak} from \"./whitespace\"\nimport {functionFlags, SCOPE_ARROW, SCOPE_SUPER, SCOPE_DIRECT_SUPER, BIND_OUTSIDE, BIND_VAR} from \"./scopeflags\"\n\nconst pp = Parser.prototype\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp.checkPropClash = function(prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\")\n return\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n return\n let {key} = prop, name\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n let {kind} = prop\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) refDestructuringErrors.doubleProto = key.start\n // Backwards-compat kludge. Can be removed in version 6.0\n else this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\")\n }\n propHash.proto = true\n }\n return\n }\n name = \"$\" + name\n let other = propHash[name]\n if (other) {\n let redefinition\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set\n } else {\n redefinition = other.init || other[kind]\n }\n if (redefinition)\n this.raiseRecoverable(key.start, \"Redefinition of property\")\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n }\n }\n other[kind] = true\n}\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp.parseExpression = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseMaybeAssign(noIn, refDestructuringErrors)\n if (this.type === tt.comma) {\n let node = this.startNodeAt(startPos, startLoc)\n node.expressions = [expr]\n while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors))\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n}\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {\n if (this.isContextual(\"yield\")) {\n if (this.inGenerator) return this.parseYield(noIn)\n // The tokenizer will assume an expression is allowed after\n // `yield`, but this isn't that kind of yield\n else this.exprAllowed = false\n }\n\n let ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldShorthandAssign = -1\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign\n oldTrailingComma = refDestructuringErrors.trailingComma\n oldShorthandAssign = refDestructuringErrors.shorthandAssign\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.shorthandAssign = -1\n } else {\n refDestructuringErrors = new DestructuringErrors\n ownDestructuringErrors = true\n }\n\n let startPos = this.start, startLoc = this.startLoc\n if (this.type === tt.parenL || this.type === tt.name)\n this.potentialArrowAt = this.start\n let left = this.parseMaybeConditional(noIn, refDestructuringErrors)\n if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc)\n if (this.type.isAssign) {\n let node = this.startNodeAt(startPos, startLoc)\n node.operator = this.value\n node.left = this.type === tt.eq ? this.toAssignable(left, false, refDestructuringErrors) : left\n if (!ownDestructuringErrors) DestructuringErrors.call(refDestructuringErrors)\n refDestructuringErrors.shorthandAssign = -1 // reset because shorthand default was used correctly\n this.checkLVal(left)\n this.next()\n node.right = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (ownDestructuringErrors) this.checkExpressionErrors(refDestructuringErrors, true)\n }\n if (oldParenAssign > -1) refDestructuringErrors.parenthesizedAssign = oldParenAssign\n if (oldTrailingComma > -1) refDestructuringErrors.trailingComma = oldTrailingComma\n if (oldShorthandAssign > -1) refDestructuringErrors.shorthandAssign = oldShorthandAssign\n return left\n}\n\n// Parse a ternary conditional (`?:`) operator.\n\npp.parseMaybeConditional = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseExprOps(noIn, refDestructuringErrors)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n if (this.eat(tt.question)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.test = expr\n node.consequent = this.parseMaybeAssign()\n this.expect(tt.colon)\n node.alternate = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n}\n\n// Start the precedence parser.\n\npp.parseExprOps = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseMaybeUnary(refDestructuringErrors, false)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)\n}\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {\n let prec = this.type.binop\n if (prec != null && (!noIn || this.type !== tt._in)) {\n if (prec > minPrec) {\n let logical = this.type === tt.logicalOR || this.type === tt.logicalAND\n let op = this.value\n this.next()\n let startPos = this.start, startLoc = this.startLoc\n let right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn)\n let node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical)\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)\n }\n }\n return left\n}\n\npp.buildBinary = function(startPos, startLoc, left, right, op, logical) {\n let node = this.startNodeAt(startPos, startLoc)\n node.left = left\n node.operator = op\n node.right = right\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\")\n}\n\n// Parse unary operators, both prefix and postfix.\n\npp.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {\n let startPos = this.start, startLoc = this.startLoc, expr\n if (this.isContextual(\"await\") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {\n expr = this.parseAwait()\n sawUnary = true\n } else if (this.type.prefix) {\n let node = this.startNode(), update = this.type === tt.incDec\n node.operator = this.value\n node.prefix = true\n this.next()\n node.argument = this.parseMaybeUnary(null, true)\n this.checkExpressionErrors(refDestructuringErrors, true)\n if (update) this.checkLVal(node.argument)\n else if (this.strict && node.operator === \"delete\" &&\n node.argument.type === \"Identifier\")\n this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\")\n else sawUnary = true\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\")\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n while (this.type.postfix && !this.canInsertSemicolon()) {\n let node = this.startNodeAt(startPos, startLoc)\n node.operator = this.value\n node.prefix = false\n node.argument = expr\n this.checkLVal(expr)\n this.next()\n expr = this.finishNode(node, \"UpdateExpression\")\n }\n }\n\n if (!sawUnary && this.eat(tt.starstar))\n return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), \"**\", false)\n else\n return expr\n}\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp.parseExprSubscripts = function(refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseExprAtom(refDestructuringErrors)\n let skipArrowSubscripts = expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\"\n if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr\n let result = this.parseSubscripts(expr, startPos, startLoc)\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) refDestructuringErrors.parenthesizedAssign = -1\n if (refDestructuringErrors.parenthesizedBind >= result.start) refDestructuringErrors.parenthesizedBind = -1\n }\n return result\n}\n\npp.parseSubscripts = function(base, startPos, startLoc, noCalls) {\n let maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" &&\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === \"async\"\n while (true) {\n let element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow)\n if (element === base || element.type === \"ArrowFunctionExpression\") return element\n base = element\n }\n}\n\npp.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow) {\n let computed = this.eat(tt.bracketL)\n if (computed || this.eat(tt.dot)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.object = base\n node.property = computed ? this.parseExpression() : this.parseIdent(true)\n node.computed = !!computed\n if (computed) this.expect(tt.bracketR)\n base = this.finishNode(node, \"MemberExpression\")\n } else if (!noCalls && this.eat(tt.parenL)) {\n let refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos\n this.yieldPos = 0\n this.awaitPos = 0\n this.awaitIdentPos = 0\n let exprList = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors)\n if (maybeAsyncArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false)\n this.checkYieldAwaitInDefaultParams()\n if (this.awaitIdentPos > 0)\n this.raise(this.awaitIdentPos, \"Cannot use 'await' as identifier inside an async function\")\n this.yieldPos = oldYieldPos\n this.awaitPos = oldAwaitPos\n this.awaitIdentPos = oldAwaitIdentPos\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)\n }\n this.checkExpressionErrors(refDestructuringErrors, true)\n this.yieldPos = oldYieldPos || this.yieldPos\n this.awaitPos = oldAwaitPos || this.awaitPos\n this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos\n let node = this.startNodeAt(startPos, startLoc)\n node.callee = base\n node.arguments = exprList\n base = this.finishNode(node, \"CallExpression\")\n } else if (this.type === tt.backQuote) {\n let node = this.startNodeAt(startPos, startLoc)\n node.tag = base\n node.quasi = this.parseTemplate({isTagged: true})\n base = this.finishNode(node, \"TaggedTemplateExpression\")\n }\n return base\n}\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp.parseExprAtom = function(refDestructuringErrors) {\n // If a division operator appears in an expression position, the\n // tokenizer got confused, and we force it to read a regexp instead.\n if (this.type === tt.slash) this.readRegexp()\n\n let node, canBeArrow = this.potentialArrowAt === this.start\n switch (this.type) {\n case tt._super:\n if (!this.allowSuper)\n this.raise(this.start, \"'super' keyword outside a method\")\n node = this.startNode()\n this.next()\n if (this.type === tt.parenL && !this.allowDirectSuper)\n this.raise(node.start, \"super() call outside constructor of a subclass\")\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super Arguments\n if (this.type !== tt.dot && this.type !== tt.bracketL && this.type !== tt.parenL)\n this.unexpected()\n return this.finishNode(node, \"Super\")\n\n case tt._this:\n node = this.startNode()\n this.next()\n return this.finishNode(node, \"ThisExpression\")\n\n case tt.name:\n let startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc\n let id = this.parseIdent(false)\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(tt._function))\n return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true)\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(tt.arrow))\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false)\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === tt.name && !containsEsc) {\n id = this.parseIdent(false)\n if (this.canInsertSemicolon() || !this.eat(tt.arrow))\n this.unexpected()\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)\n }\n }\n return id\n\n case tt.regexp:\n let value = this.value\n node = this.parseLiteral(value.value)\n node.regex = {pattern: value.pattern, flags: value.flags}\n return node\n\n case tt.num: case tt.string:\n return this.parseLiteral(this.value)\n\n case tt._null: case tt._true: case tt._false:\n node = this.startNode()\n node.value = this.type === tt._null ? null : this.type === tt._true\n node.raw = this.type.keyword\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.parenL:\n let start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow)\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\n refDestructuringErrors.parenthesizedAssign = start\n if (refDestructuringErrors.parenthesizedBind < 0)\n refDestructuringErrors.parenthesizedBind = start\n }\n return expr\n\n case tt.bracketL:\n node = this.startNode()\n this.next()\n node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors)\n return this.finishNode(node, \"ArrayExpression\")\n\n case tt.braceL:\n return this.parseObj(false, refDestructuringErrors)\n\n case tt._function:\n node = this.startNode()\n this.next()\n return this.parseFunction(node, 0)\n\n case tt._class:\n return this.parseClass(this.startNode(), false)\n\n case tt._new:\n return this.parseNew()\n\n case tt.backQuote:\n return this.parseTemplate()\n\n default:\n this.unexpected()\n }\n}\n\npp.parseLiteral = function(value) {\n let node = this.startNode()\n node.value = value\n node.raw = this.input.slice(this.start, this.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n}\n\npp.parseParenExpression = function() {\n this.expect(tt.parenL)\n let val = this.parseExpression()\n this.expect(tt.parenR)\n return val\n}\n\npp.parseParenAndDistinguishExpression = function(canBeArrow) {\n let startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8\n if (this.options.ecmaVersion >= 6) {\n this.next()\n\n let innerStartPos = this.start, innerStartLoc = this.startLoc\n let exprList = [], first = true, lastIsComma = false\n let refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart\n this.yieldPos = 0\n this.awaitPos = 0\n // Do not save awaitIdentPos to allow checking awaits nested in parameters\n while (this.type !== tt.parenR) {\n first ? first = false : this.expect(tt.comma)\n if (allowTrailingComma && this.afterTrailingComma(tt.parenR, true)) {\n lastIsComma = true\n break\n } else if (this.type === tt.ellipsis) {\n spreadStart = this.start\n exprList.push(this.parseParenItem(this.parseRestBinding()))\n if (this.type === tt.comma) this.raise(this.start, \"Comma is not permitted after the rest element\")\n break\n } else {\n exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem))\n }\n }\n let innerEndPos = this.start, innerEndLoc = this.startLoc\n this.expect(tt.parenR)\n\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false)\n this.checkYieldAwaitInDefaultParams()\n this.yieldPos = oldYieldPos\n this.awaitPos = oldAwaitPos\n return this.parseParenArrowList(startPos, startLoc, exprList)\n }\n\n if (!exprList.length || lastIsComma) this.unexpected(this.lastTokStart)\n if (spreadStart) this.unexpected(spreadStart)\n this.checkExpressionErrors(refDestructuringErrors, true)\n this.yieldPos = oldYieldPos || this.yieldPos\n this.awaitPos = oldAwaitPos || this.awaitPos\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc)\n val.expressions = exprList\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc)\n } else {\n val = exprList[0]\n }\n } else {\n val = this.parseParenExpression()\n }\n\n if (this.options.preserveParens) {\n let par = this.startNodeAt(startPos, startLoc)\n par.expression = val\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n}\n\npp.parseParenItem = function(item) {\n return item\n}\n\npp.parseParenArrowList = function(startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)\n}\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nconst empty = []\n\npp.parseNew = function() {\n let node = this.startNode()\n let meta = this.parseIdent(true)\n if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {\n node.meta = meta\n let containsEsc = this.containsEsc\n node.property = this.parseIdent(true)\n if (node.property.name !== \"target\" || containsEsc)\n this.raiseRecoverable(node.property.start, \"The only valid meta property for new is new.target\")\n if (!this.inNonArrowFunction())\n this.raiseRecoverable(node.start, \"new.target can only be used in functions\")\n return this.finishNode(node, \"MetaProperty\")\n }\n let startPos = this.start, startLoc = this.startLoc\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true)\n if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false)\n else node.arguments = empty\n return this.finishNode(node, \"NewExpression\")\n}\n\n// Parse template expression.\n\npp.parseTemplateElement = function({isTagged}) {\n let elem = this.startNode()\n if (this.type === tt.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\")\n }\n elem.value = {\n raw: this.value,\n cooked: null\n }\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n }\n }\n this.next()\n elem.tail = this.type === tt.backQuote\n return this.finishNode(elem, \"TemplateElement\")\n}\n\npp.parseTemplate = function({isTagged = false} = {}) {\n let node = this.startNode()\n this.next()\n node.expressions = []\n let curElt = this.parseTemplateElement({isTagged})\n node.quasis = [curElt]\n while (!curElt.tail) {\n if (this.type === tt.eof) this.raise(this.pos, \"Unterminated template literal\")\n this.expect(tt.dollarBraceL)\n node.expressions.push(this.parseExpression())\n this.expect(tt.braceR)\n node.quasis.push(curElt = this.parseTemplateElement({isTagged}))\n }\n this.next()\n return this.finishNode(node, \"TemplateLiteral\")\n}\n\npp.isAsyncProp = function(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" &&\n (this.type === tt.name || this.type === tt.num || this.type === tt.string || this.type === tt.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === tt.star)) &&\n !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n}\n\n// Parse an object literal or binding pattern.\n\npp.parseObj = function(isPattern, refDestructuringErrors) {\n let node = this.startNode(), first = true, propHash = {}\n node.properties = []\n this.next()\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n const prop = this.parseProperty(isPattern, refDestructuringErrors)\n if (!isPattern) this.checkPropClash(prop, propHash, refDestructuringErrors)\n node.properties.push(prop)\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n}\n\npp.parseProperty = function(isPattern, refDestructuringErrors) {\n let prop = this.startNode(), isGenerator, isAsync, startPos, startLoc\n if (this.options.ecmaVersion >= 9 && this.eat(tt.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false)\n if (this.type === tt.comma) {\n this.raise(this.start, \"Comma is not permitted after the rest element\")\n }\n return this.finishNode(prop, \"RestElement\")\n }\n // To disallow parenthesized identifier via `this.toAssignable()`.\n if (this.type === tt.parenL && refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0) {\n refDestructuringErrors.parenthesizedAssign = this.start\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = this.start\n }\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors)\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === tt.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\")\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false\n prop.shorthand = false\n if (isPattern || refDestructuringErrors) {\n startPos = this.start\n startLoc = this.startLoc\n }\n if (!isPattern)\n isGenerator = this.eat(tt.star)\n }\n let containsEsc = this.containsEsc\n this.parsePropertyName(prop)\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n this.parsePropertyName(prop, refDestructuringErrors)\n } else {\n isAsync = false\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc)\n return this.finishNode(prop, \"Property\")\n}\n\npp.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === tt.colon)\n this.unexpected()\n\n if (this.eat(tt.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors)\n prop.kind = \"init\"\n } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) {\n if (isPattern) this.unexpected()\n prop.kind = \"init\"\n prop.method = true\n prop.value = this.parseMethod(isGenerator, isAsync)\n } else if (!isPattern && !containsEsc &&\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type !== tt.comma && this.type !== tt.braceR)) {\n if (isGenerator || isAsync) this.unexpected()\n prop.kind = prop.key.name\n this.parsePropertyName(prop)\n prop.value = this.parseMethod(false)\n let paramCount = prop.kind === \"get\" ? 0 : 1\n if (prop.value.params.length !== paramCount) {\n let start = prop.value.start\n if (prop.kind === \"get\")\n this.raiseRecoverable(start, \"getter should have no params\")\n else\n this.raiseRecoverable(start, \"setter should have exactly one param\")\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\")\n this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\")\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n if (isGenerator || isAsync) this.unexpected()\n this.checkUnreserved(prop.key)\n if (prop.key.name === \"await\" && !this.awaitIdentPos)\n this.awaitIdentPos = startPos\n prop.kind = \"init\"\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)\n } else if (this.type === tt.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0)\n refDestructuringErrors.shorthandAssign = this.start\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)\n } else {\n prop.value = prop.key\n }\n prop.shorthand = true\n } else this.unexpected()\n}\n\npp.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.bracketL)) {\n prop.computed = true\n prop.key = this.parseMaybeAssign()\n this.expect(tt.bracketR)\n return prop.key\n } else {\n prop.computed = false\n }\n }\n return prop.key = this.type === tt.num || this.type === tt.string ? this.parseExprAtom() : this.parseIdent(true)\n}\n\n// Initialize empty function node.\n\npp.initFunction = function(node) {\n node.id = null\n if (this.options.ecmaVersion >= 6) node.generator = node.expression = false\n if (this.options.ecmaVersion >= 8) node.async = false\n}\n\n// Parse object or class method.\n\npp.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {\n let node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos\n\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6)\n node.generator = isGenerator\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n\n this.yieldPos = 0\n this.awaitPos = 0\n this.awaitIdentPos = 0\n this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0))\n\n this.expect(tt.parenL)\n node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8)\n this.checkYieldAwaitInDefaultParams()\n this.parseFunctionBody(node, false, true)\n\n this.yieldPos = oldYieldPos\n this.awaitPos = oldAwaitPos\n this.awaitIdentPos = oldAwaitIdentPos\n return this.finishNode(node, \"FunctionExpression\")\n}\n\n// Parse arrow function expression with given parameters.\n\npp.parseArrowExpression = function(node, params, isAsync) {\n let oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos\n\n this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW)\n this.initFunction(node)\n if (this.options.ecmaVersion >= 8) node.async = !!isAsync\n\n this.yieldPos = 0\n this.awaitPos = 0\n this.awaitIdentPos = 0\n\n node.params = this.toAssignableList(params, true)\n this.parseFunctionBody(node, true, false)\n\n this.yieldPos = oldYieldPos\n this.awaitPos = oldAwaitPos\n this.awaitIdentPos = oldAwaitIdentPos\n return this.finishNode(node, \"ArrowFunctionExpression\")\n}\n\n// Parse function body and check parameters.\n\npp.parseFunctionBody = function(node, isArrowFunction, isMethod) {\n let isExpression = isArrowFunction && this.type !== tt.braceL\n let oldStrict = this.strict, useStrict = false\n\n if (isExpression) {\n node.body = this.parseMaybeAssign()\n node.expression = true\n this.checkParams(node, false)\n } else {\n let nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params)\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end)\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple)\n this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\")\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n let oldLabels = this.labels\n this.labels = []\n if (useStrict) this.strict = true\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params))\n node.body = this.parseBlock(false)\n node.expression = false\n this.adaptDirectivePrologue(node.body.body)\n this.labels = oldLabels\n }\n this.exitScope()\n\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.strict && node.id) this.checkLVal(node.id, BIND_OUTSIDE)\n this.strict = oldStrict\n}\n\npp.isSimpleParamList = function(params) {\n for (let param of params)\n if (param.type !== \"Identifier\") return false\n return true\n}\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp.checkParams = function(node, allowDuplicates) {\n let nameHash = {}\n for (let param of node.params)\n this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash)\n}\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n let elts = [], first = true\n while (!this.eat(close)) {\n if (!first) {\n this.expect(tt.comma)\n if (allowTrailingComma && this.afterTrailingComma(close)) break\n } else first = false\n\n let elt\n if (allowEmpty && this.type === tt.comma)\n elt = null\n else if (this.type === tt.ellipsis) {\n elt = this.parseSpread(refDestructuringErrors)\n if (refDestructuringErrors && this.type === tt.comma && refDestructuringErrors.trailingComma < 0)\n refDestructuringErrors.trailingComma = this.start\n } else {\n elt = this.parseMaybeAssign(false, refDestructuringErrors)\n }\n elts.push(elt)\n }\n return elts\n}\n\npp.checkUnreserved = function({start, end, name}) {\n if (this.inGenerator && name === \"yield\")\n this.raiseRecoverable(start, \"Cannot use 'yield' as identifier inside a generator\")\n if (this.inAsync && name === \"await\")\n this.raiseRecoverable(start, \"Cannot use 'await' as identifier inside an async function\")\n if (this.keywords.test(name))\n this.raise(start, `Unexpected keyword '${name}'`)\n if (this.options.ecmaVersion < 6 &&\n this.input.slice(start, end).indexOf(\"\\\\\") !== -1) return\n const re = this.strict ? this.reservedWordsStrict : this.reservedWords\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\")\n this.raiseRecoverable(start, \"Cannot use keyword 'await' outside an async function\")\n this.raiseRecoverable(start, `The keyword '${name}' is reserved`)\n }\n}\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp.parseIdent = function(liberal, isBinding) {\n let node = this.startNode()\n if (liberal && this.options.allowReserved === \"never\") liberal = false\n if (this.type === tt.name) {\n node.name = this.value\n } else if (this.type.keyword) {\n node.name = this.type.keyword\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") &&\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop()\n }\n } else {\n this.unexpected()\n }\n this.next()\n this.finishNode(node, \"Identifier\")\n if (!liberal) {\n this.checkUnreserved(node)\n if (node.name === \"await\" && !this.awaitIdentPos)\n this.awaitIdentPos = node.start\n }\n return node\n}\n\n// Parses yield expression inside generator.\n\npp.parseYield = function(noIn) {\n if (!this.yieldPos) this.yieldPos = this.start\n\n let node = this.startNode()\n this.next()\n if (this.type === tt.semi || this.canInsertSemicolon() || (this.type !== tt.star && !this.type.startsExpr)) {\n node.delegate = false\n node.argument = null\n } else {\n node.delegate = this.eat(tt.star)\n node.argument = this.parseMaybeAssign(noIn)\n }\n return this.finishNode(node, \"YieldExpression\")\n}\n\npp.parseAwait = function() {\n if (!this.awaitPos) this.awaitPos = this.start\n\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeUnary(null, true)\n return this.finishNode(node, \"AwaitExpression\")\n}\n","import {Parser} from \"./state\"\nimport {Position, getLineInfo} from \"./locutil\"\n\nconst pp = Parser.prototype\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp.raise = function(pos, message) {\n let loc = getLineInfo(this.input, pos)\n message += \" (\" + loc.line + \":\" + loc.column + \")\"\n let err = new SyntaxError(message)\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos\n throw err\n}\n\npp.raiseRecoverable = pp.raise\n\npp.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n}\n","import {Parser} from \"./state\"\nimport {SCOPE_VAR, SCOPE_FUNCTION, SCOPE_TOP, SCOPE_ARROW, SCOPE_SIMPLE_CATCH, BIND_LEXICAL, BIND_SIMPLE_CATCH, BIND_FUNCTION} from \"./scopeflags\"\n\nconst pp = Parser.prototype\n\nclass Scope {\n constructor(flags) {\n this.flags = flags\n // A list of var-declared names in the current lexical scope\n this.var = []\n // A list of lexically-declared names in the current lexical scope\n this.lexical = []\n // A list of lexically-declared FunctionDeclaration names in the current lexical scope\n this.functions = []\n }\n}\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp.enterScope = function(flags) {\n this.scopeStack.push(new Scope(flags))\n}\n\npp.exitScope = function() {\n this.scopeStack.pop()\n}\n\n// The spec says:\n// > At the top level of a function, or script, function declarations are\n// > treated like var declarations rather than like lexical declarations.\npp.treatFunctionsAsVarInScope = function(scope) {\n return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)\n}\n\npp.declareName = function(name, bindingType, pos) {\n let redeclared = false\n if (bindingType === BIND_LEXICAL) {\n const scope = this.currentScope()\n redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1\n scope.lexical.push(name)\n if (this.inModule && (scope.flags & SCOPE_TOP))\n delete this.undefinedExports[name]\n } else if (bindingType === BIND_SIMPLE_CATCH) {\n const scope = this.currentScope()\n scope.lexical.push(name)\n } else if (bindingType === BIND_FUNCTION) {\n const scope = this.currentScope()\n if (this.treatFunctionsAsVar)\n redeclared = scope.lexical.indexOf(name) > -1\n else\n redeclared = scope.lexical.indexOf(name) > -1 || scope.var.indexOf(name) > -1\n scope.functions.push(name)\n } else {\n for (let i = this.scopeStack.length - 1; i >= 0; --i) {\n const scope = this.scopeStack[i]\n if (scope.lexical.indexOf(name) > -1 && !((scope.flags & SCOPE_SIMPLE_CATCH) && scope.lexical[0] === name) ||\n !this.treatFunctionsAsVarInScope(scope) && scope.functions.indexOf(name) > -1) {\n redeclared = true\n break\n }\n scope.var.push(name)\n if (this.inModule && (scope.flags & SCOPE_TOP))\n delete this.undefinedExports[name]\n if (scope.flags & SCOPE_VAR) break\n }\n }\n if (redeclared) this.raiseRecoverable(pos, `Identifier '${name}' has already been declared`)\n}\n\npp.checkLocalExport = function(id) {\n // scope.functions must be empty as Module code is always strict.\n if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&\n this.scopeStack[0].var.indexOf(id.name) === -1) {\n this.undefinedExports[id.name] = id\n }\n}\n\npp.currentScope = function() {\n return this.scopeStack[this.scopeStack.length - 1]\n}\n\npp.currentVarScope = function() {\n for (let i = this.scopeStack.length - 1;; i--) {\n let scope = this.scopeStack[i]\n if (scope.flags & SCOPE_VAR) return scope\n }\n}\n\n// Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\npp.currentThisScope = function() {\n for (let i = this.scopeStack.length - 1;; i--) {\n let scope = this.scopeStack[i]\n if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) return scope\n }\n}\n","import {Parser} from \"./state\"\nimport {SourceLocation} from \"./locutil\"\n\nexport class Node {\n constructor(parser, pos, loc) {\n this.type = \"\"\n this.start = pos\n this.end = 0\n if (parser.options.locations)\n this.loc = new SourceLocation(parser, loc)\n if (parser.options.directSourceFile)\n this.sourceFile = parser.options.directSourceFile\n if (parser.options.ranges)\n this.range = [pos, 0]\n }\n}\n\n// Start an AST node, attaching a start offset.\n\nconst pp = Parser.prototype\n\npp.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n}\n\npp.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n}\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type\n node.end = pos\n if (this.options.locations)\n node.loc.end = loc\n if (this.options.ranges)\n node.range[1] = pos\n return node\n}\n\npp.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n}\n\n// Finish node at given position\n\npp.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n}\n","// The algorithm used to determine whether a regexp can appear at a\n// given point in the program is loosely based on sweet.js' approach.\n// See https://github.com/mozilla/sweet.js/wiki/design\n\nimport {Parser} from \"./state\"\nimport {types as tt} from \"./tokentype\"\nimport {lineBreak} from \"./whitespace\"\n\nexport class TokContext {\n constructor(token, isExpr, preserveSpace, override, generator) {\n this.token = token\n this.isExpr = !!isExpr\n this.preserveSpace = !!preserveSpace\n this.override = override\n this.generator = !!generator\n }\n}\n\nexport const types = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, p => p.tryReadTemplateToken()),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n}\n\nconst pp = Parser.prototype\n\npp.initialContext = function() {\n return [types.b_stat]\n}\n\npp.braceIsBlock = function(prevType) {\n let parent = this.curContext()\n if (parent === types.f_expr || parent === types.f_stat)\n return true\n if (prevType === tt.colon && (parent === types.b_stat || parent === types.b_expr))\n return !parent.isExpr\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === tt._return || prevType === tt.name && this.exprAllowed)\n return lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR || prevType === tt.arrow)\n return true\n if (prevType === tt.braceL)\n return parent === types.b_stat\n if (prevType === tt._var || prevType === tt._const || prevType === tt.name)\n return false\n return !this.exprAllowed\n}\n\npp.inGeneratorContext = function() {\n for (let i = this.context.length - 1; i >= 1; i--) {\n let context = this.context[i]\n if (context.token === \"function\")\n return context.generator\n }\n return false\n}\n\npp.updateContext = function(prevType) {\n let update, type = this.type\n if (type.keyword && prevType === tt.dot)\n this.exprAllowed = false\n else if (update = type.updateContext)\n update.call(this, prevType)\n else\n this.exprAllowed = type.beforeExpr\n}\n\n// Token-specific context update code\n\ntt.parenR.updateContext = tt.braceR.updateContext = function() {\n if (this.context.length === 1) {\n this.exprAllowed = true\n return\n }\n let out = this.context.pop()\n if (out === types.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop()\n }\n this.exprAllowed = !out.isExpr\n}\n\ntt.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr)\n this.exprAllowed = true\n}\n\ntt.dollarBraceL.updateContext = function() {\n this.context.push(types.b_tmpl)\n this.exprAllowed = true\n}\n\ntt.parenL.updateContext = function(prevType) {\n let statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while\n this.context.push(statementParens ? types.p_stat : types.p_expr)\n this.exprAllowed = true\n}\n\ntt.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n}\n\ntt._function.updateContext = tt._class.updateContext = function(prevType) {\n if (prevType.beforeExpr && prevType !== tt.semi && prevType !== tt._else &&\n !(prevType === tt._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&\n !((prevType === tt.colon || prevType === tt.braceL) && this.curContext() === types.b_stat))\n this.context.push(types.f_expr)\n else\n this.context.push(types.f_stat)\n this.exprAllowed = false\n}\n\ntt.backQuote.updateContext = function() {\n if (this.curContext() === types.q_tmpl)\n this.context.pop()\n else\n this.context.push(types.q_tmpl)\n this.exprAllowed = false\n}\n\ntt.star.updateContext = function(prevType) {\n if (prevType === tt._function) {\n let index = this.context.length - 1\n if (this.context[index] === types.f_expr)\n this.context[index] = types.f_expr_gen\n else\n this.context[index] = types.f_gen\n }\n this.exprAllowed = true\n}\n\ntt.name.updateContext = function(prevType) {\n let allowed = false\n if (this.options.ecmaVersion >= 6 && prevType !== tt.dot) {\n if (this.value === \"of\" && !this.exprAllowed ||\n this.value === \"yield\" && this.inGeneratorContext())\n allowed = true\n }\n this.exprAllowed = allowed\n}\n","import {wordsRegexp} from \"./util.js\"\n\n// This file contains Unicode properties extracted from the ECMAScript\n// specification. The lists are extracted like so:\n// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)\n\n// #table-binary-unicode-properties\nconst ecma9BinaryProperties = \"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\"\nconst unicodeBinaryProperties = {\n 9: ecma9BinaryProperties,\n 10: ecma9BinaryProperties + \" Extended_Pictographic\"\n}\n\n// #table-unicode-general-category-values\nconst unicodeGeneralCategoryValues = \"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\"\n\n// #table-unicode-script-values\nconst ecma9ScriptValues = \"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\"\nconst unicodeScriptValues = {\n 9: ecma9ScriptValues,\n 10: ecma9ScriptValues + \" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\"\n}\n\nconst data = {}\nfunction buildUnicodeData(ecmaVersion) {\n let d = data[ecmaVersion] = {\n binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + \" \" + unicodeGeneralCategoryValues),\n nonBinary: {\n General_Category: wordsRegexp(unicodeGeneralCategoryValues),\n Script: wordsRegexp(unicodeScriptValues[ecmaVersion])\n }\n }\n d.nonBinary.Script_Extensions = d.nonBinary.Script\n\n d.nonBinary.gc = d.nonBinary.General_Category\n d.nonBinary.sc = d.nonBinary.Script\n d.nonBinary.scx = d.nonBinary.Script_Extensions\n}\nbuildUnicodeData(9)\nbuildUnicodeData(10)\n\nexport default data\n","import {isIdentifierStart, isIdentifierChar} from \"./identifier.js\"\nimport {Parser} from \"./state.js\"\nimport UNICODE_PROPERTY_VALUES from \"./unicode-property-data.js\"\nimport {has} from \"./util.js\"\n\nconst pp = Parser.prototype\n\nexport class RegExpValidationState {\n constructor(parser) {\n this.parser = parser\n this.validFlags = `gim${parser.options.ecmaVersion >= 6 ? \"uy\" : \"\"}${parser.options.ecmaVersion >= 9 ? \"s\" : \"\"}`\n this.unicodeProperties = UNICODE_PROPERTY_VALUES[parser.options.ecmaVersion >= 10 ? 10 : parser.options.ecmaVersion]\n this.source = \"\"\n this.flags = \"\"\n this.start = 0\n this.switchU = false\n this.switchN = false\n this.pos = 0\n this.lastIntValue = 0\n this.lastStringValue = \"\"\n this.lastAssertionIsQuantifiable = false\n this.numCapturingParens = 0\n this.maxBackReference = 0\n this.groupNames = []\n this.backReferenceNames = []\n }\n\n reset(start, pattern, flags) {\n const unicode = flags.indexOf(\"u\") !== -1\n this.start = start | 0\n this.source = pattern + \"\"\n this.flags = flags\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9\n }\n\n raise(message) {\n this.parser.raiseRecoverable(this.start, `Invalid regular expression: /${this.source}/: ${message}`)\n }\n\n // If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\n at(i) {\n const s = this.source\n const l = s.length\n if (i >= l) {\n return -1\n }\n const c = s.charCodeAt(i)\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c\n }\n return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00\n }\n\n nextIndex(i) {\n const s = this.source\n const l = s.length\n if (i >= l) {\n return l\n }\n const c = s.charCodeAt(i)\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return i + 1\n }\n return i + 2\n }\n\n current() {\n return this.at(this.pos)\n }\n\n lookahead() {\n return this.at(this.nextIndex(this.pos))\n }\n\n advance() {\n this.pos = this.nextIndex(this.pos)\n }\n\n eat(ch) {\n if (this.current() === ch) {\n this.advance()\n return true\n }\n return false\n }\n}\n\nfunction codePointToString(ch) {\n if (ch <= 0xFFFF) return String.fromCharCode(ch)\n ch -= 0x10000\n return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)\n}\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp.validateRegExpFlags = function(state) {\n const validFlags = state.validFlags\n const flags = state.flags\n\n for (let i = 0; i < flags.length; i++) {\n const flag = flags.charAt(i)\n if (validFlags.indexOf(flag) === -1) {\n this.raise(state.start, \"Invalid regular expression flag\")\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this.raise(state.start, \"Duplicate regular expression flag\")\n }\n }\n}\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp.validateRegExpPattern = function(state) {\n this.regexp_pattern(state)\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\n state.switchN = true\n this.regexp_pattern(state)\n }\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp.regexp_pattern = function(state) {\n state.pos = 0\n state.lastIntValue = 0\n state.lastStringValue = \"\"\n state.lastAssertionIsQuantifiable = false\n state.numCapturingParens = 0\n state.maxBackReference = 0\n state.groupNames.length = 0\n state.backReferenceNames.length = 0\n\n this.regexp_disjunction(state)\n\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\")\n }\n if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\")\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\")\n }\n for (const name of state.backReferenceNames) {\n if (state.groupNames.indexOf(name) === -1) {\n state.raise(\"Invalid named capture referenced\")\n }\n }\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp.regexp_disjunction = function(state) {\n this.regexp_alternative(state)\n while (state.eat(0x7C /* | */)) {\n this.regexp_alternative(state)\n }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\")\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\")\n }\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp.regexp_alternative = function(state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state))\n ;\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp.regexp_eatTerm = function(state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\")\n }\n }\n return true\n }\n\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state)\n return true\n }\n\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp.regexp_eatAssertion = function(state) {\n const start = state.pos\n state.lastAssertionIsQuantifiable = false\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true\n }\n state.pos = start\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n let lookbehind = false\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */)\n }\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state)\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\")\n }\n state.lastAssertionIsQuantifiable = !lookbehind\n return true\n }\n }\n\n state.pos = start\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp.regexp_eatQuantifier = function(state, noError = false) {\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */)\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp.regexp_eatQuantifierPrefix = function(state, noError) {\n return (\n state.eat(0x2A /* * */) ||\n state.eat(0x2B /* + */) ||\n state.eat(0x3F /* ? */) ||\n this.regexp_eatBracedQuantifier(state, noError)\n )\n}\npp.regexp_eatBracedQuantifier = function(state, noError) {\n const start = state.pos\n if (state.eat(0x7B /* { */)) {\n let min = 0, max = -1\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\")\n }\n return true\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\")\n }\n state.pos = start\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp.regexp_eatAtom = function(state) {\n return (\n this.regexp_eatPatternCharacters(state) ||\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state)\n )\n}\npp.regexp_eatReverseSolidusAtomEscape = function(state) {\n const start = state.pos\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true\n }\n state.pos = start\n }\n return false\n}\npp.regexp_eatUncapturingGroup = function(state) {\n const start = state.pos\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state)\n if (state.eat(0x29 /* ) */)) {\n return true\n }\n state.raise(\"Unterminated group\")\n }\n state.pos = start\n }\n return false\n}\npp.regexp_eatCapturingGroup = function(state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state)\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\")\n }\n this.regexp_disjunction(state)\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1\n return true\n }\n state.raise(\"Unterminated group\")\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp.regexp_eatExtendedAtom = function(state) {\n return (\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state) ||\n this.regexp_eatInvalidBracedQuantifier(state) ||\n this.regexp_eatExtendedPatternCharacter(state)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp.regexp_eatInvalidBracedQuantifier = function(state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\")\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp.regexp_eatSyntaxCharacter = function(state) {\n const ch = state.current()\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch\n state.advance()\n return true\n }\n return false\n}\nfunction isSyntaxCharacter(ch) {\n return (\n ch === 0x24 /* $ */ ||\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\n ch === 0x2E /* . */ ||\n ch === 0x3F /* ? */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp.regexp_eatPatternCharacters = function(state) {\n const start = state.pos\n let ch = 0\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance()\n }\n return state.pos !== start\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp.regexp_eatExtendedPatternCharacter = function(state) {\n const ch = state.current()\n if (\n ch !== -1 &&\n ch !== 0x24 /* $ */ &&\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\n ch !== 0x2E /* . */ &&\n ch !== 0x3F /* ? */ &&\n ch !== 0x5B /* [ */ &&\n ch !== 0x5E /* ^ */ &&\n ch !== 0x7C /* | */\n ) {\n state.advance()\n return true\n }\n return false\n}\n\n// GroupSpecifier[U] ::\n// [empty]\n// `?` GroupName[?U]\npp.regexp_groupSpecifier = function(state) {\n if (state.eat(0x3F /* ? */)) {\n if (this.regexp_eatGroupName(state)) {\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\n state.raise(\"Duplicate capture group name\")\n }\n state.groupNames.push(state.lastStringValue)\n return\n }\n state.raise(\"Invalid group\")\n }\n}\n\n// GroupName[U] ::\n// `<` RegExpIdentifierName[?U] `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp.regexp_eatGroupName = function(state) {\n state.lastStringValue = \"\"\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true\n }\n state.raise(\"Invalid capture group name\")\n }\n return false\n}\n\n// RegExpIdentifierName[U] ::\n// RegExpIdentifierStart[?U]\n// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp.regexp_eatRegExpIdentifierName = function(state) {\n state.lastStringValue = \"\"\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue)\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue)\n }\n return true\n }\n return false\n}\n\n// RegExpIdentifierStart[U] ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\npp.regexp_eatRegExpIdentifierStart = function(state) {\n const start = state.pos\n let ch = state.current()\n state.advance()\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch\n return true\n }\n\n state.pos = start\n return false\n}\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\n}\n\n// RegExpIdentifierPart[U] ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\n// \n// \npp.regexp_eatRegExpIdentifierPart = function(state) {\n const start = state.pos\n let ch = state.current()\n state.advance()\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch\n return true\n }\n\n state.pos = start\n return false\n}\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp.regexp_eatAtomEscape = function(state) {\n if (\n this.regexp_eatBackReference(state) ||\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state) ||\n (state.switchN && this.regexp_eatKGroupName(state))\n ) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\")\n }\n state.raise(\"Invalid escape\")\n }\n return false\n}\npp.regexp_eatBackReference = function(state) {\n const start = state.pos\n if (this.regexp_eatDecimalEscape(state)) {\n const n = state.lastIntValue\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n\n }\n return true\n }\n if (n <= state.numCapturingParens) {\n return true\n }\n state.pos = start\n }\n return false\n}\npp.regexp_eatKGroupName = function(state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue)\n return true\n }\n state.raise(\"Invalid named reference\")\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp.regexp_eatCharacterEscape = function(state) {\n return (\n this.regexp_eatControlEscape(state) ||\n this.regexp_eatCControlLetter(state) ||\n this.regexp_eatZero(state) ||\n this.regexp_eatHexEscapeSequence(state) ||\n this.regexp_eatRegExpUnicodeEscapeSequence(state) ||\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\n this.regexp_eatIdentityEscape(state)\n )\n}\npp.regexp_eatCControlLetter = function(state) {\n const start = state.pos\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true\n }\n state.pos = start\n }\n return false\n}\npp.regexp_eatZero = function(state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0\n state.advance()\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp.regexp_eatControlEscape = function(state) {\n const ch = state.current()\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09 /* \\t */\n state.advance()\n return true\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A /* \\n */\n state.advance()\n return true\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B /* \\v */\n state.advance()\n return true\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C /* \\f */\n state.advance()\n return true\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D /* \\r */\n state.advance()\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp.regexp_eatControlLetter = function(state) {\n const ch = state.current()\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20\n state.advance()\n return true\n }\n return false\n}\nfunction isControlLetter(ch) {\n return (\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp.regexp_eatRegExpUnicodeEscapeSequence = function(state) {\n const start = state.pos\n\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n const lead = state.lastIntValue\n if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n const leadSurrogateEnd = state.pos\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n const trail = state.lastIntValue\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000\n return true\n }\n }\n state.pos = leadSurrogateEnd\n state.lastIntValue = lead\n }\n return true\n }\n if (\n state.switchU &&\n state.eat(0x7B /* { */) &&\n this.regexp_eatHexDigits(state) &&\n state.eat(0x7D /* } */) &&\n isValidUnicode(state.lastIntValue)\n ) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid unicode escape\")\n }\n state.pos = start\n }\n\n return false\n}\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp.regexp_eatIdentityEscape = function(state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F /* / */\n return true\n }\n return false\n }\n\n const ch = state.current()\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch\n state.advance()\n return true\n }\n\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp.regexp_eatDecimalEscape = function(state) {\n state.lastIntValue = 0\n let ch = state.current()\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */)\n state.advance()\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp.regexp_eatCharacterClassEscape = function(state) {\n const ch = state.current()\n\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1\n state.advance()\n return true\n }\n\n if (\n state.switchU &&\n this.options.ecmaVersion >= 9 &&\n (ch === 0x50 /* P */ || ch === 0x70 /* p */)\n ) {\n state.lastIntValue = -1\n state.advance()\n if (\n state.eat(0x7B /* { */) &&\n this.regexp_eatUnicodePropertyValueExpression(state) &&\n state.eat(0x7D /* } */)\n ) {\n return true\n }\n state.raise(\"Invalid property name\")\n }\n\n return false\n}\nfunction isCharacterClassEscape(ch) {\n return (\n ch === 0x64 /* d */ ||\n ch === 0x44 /* D */ ||\n ch === 0x73 /* s */ ||\n ch === 0x53 /* S */ ||\n ch === 0x77 /* w */ ||\n ch === 0x57 /* W */\n )\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp.regexp_eatUnicodePropertyValueExpression = function(state) {\n const start = state.pos\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n const name = state.lastStringValue\n if (this.regexp_eatUnicodePropertyValue(state)) {\n const value = state.lastStringValue\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value)\n return true\n }\n }\n state.pos = start\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n const nameOrValue = state.lastStringValue\n this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue)\n return true\n }\n return false\n}\npp.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {\n if (!has(state.unicodeProperties.nonBinary, name))\n state.raise(\"Invalid property name\")\n if (!state.unicodeProperties.nonBinary[name].test(value))\n state.raise(\"Invalid property value\")\n}\npp.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {\n if (!state.unicodeProperties.binary.test(nameOrValue))\n state.raise(\"Invalid property name\")\n}\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp.regexp_eatUnicodePropertyName = function(state) {\n let ch = 0\n state.lastStringValue = \"\"\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch)\n state.advance()\n }\n return state.lastStringValue !== \"\"\n}\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp.regexp_eatUnicodePropertyValue = function(state) {\n let ch = 0\n state.lastStringValue = \"\"\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch)\n state.advance()\n }\n return state.lastStringValue !== \"\"\n}\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\n return this.regexp_eatUnicodePropertyValue(state)\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp.regexp_eatCharacterClass = function(state) {\n if (state.eat(0x5B /* [ */)) {\n state.eat(0x5E /* ^ */)\n this.regexp_classRanges(state)\n if (state.eat(0x5D /* [ */)) {\n return true\n }\n // Unreachable since it threw \"unterminated regular expression\" error before.\n state.raise(\"Unterminated character class\")\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp.regexp_classRanges = function(state) {\n while (this.regexp_eatClassAtom(state)) {\n const left = state.lastIntValue\n if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {\n const right = state.lastIntValue\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\")\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\")\n }\n }\n }\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp.regexp_eatClassAtom = function(state) {\n const start = state.pos\n\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n const ch = state.current()\n if (ch === 0x63 /* c */ || isOctalDigit(ch)) {\n state.raise(\"Invalid class escape\")\n }\n state.raise(\"Invalid escape\")\n }\n state.pos = start\n }\n\n const ch = state.current()\n if (ch !== 0x5D /* [ */) {\n state.lastIntValue = ch\n state.advance()\n return true\n }\n\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp.regexp_eatClassEscape = function(state) {\n const start = state.pos\n\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08 /* */\n return true\n }\n\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D /* - */\n return true\n }\n\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true\n }\n state.pos = start\n }\n\n return (\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp.regexp_eatClassControlLetter = function(state) {\n const ch = state.current()\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20\n state.advance()\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp.regexp_eatHexEscapeSequence = function(state) {\n const start = state.pos\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\")\n }\n state.pos = start\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp.regexp_eatDecimalDigits = function(state) {\n const start = state.pos\n let ch = 0\n state.lastIntValue = 0\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */)\n state.advance()\n }\n return state.pos !== start\n}\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp.regexp_eatHexDigits = function(state) {\n const start = state.pos\n let ch = 0\n state.lastIntValue = 0\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch)\n state.advance()\n }\n return state.pos !== start\n}\nfunction isHexDigit(ch) {\n return (\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\n )\n}\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */)\n }\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */)\n }\n return ch - 0x30 /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp.regexp_eatLegacyOctalEscapeSequence = function(state) {\n if (this.regexp_eatOctalDigit(state)) {\n const n1 = state.lastIntValue\n if (this.regexp_eatOctalDigit(state)) {\n const n2 = state.lastIntValue\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue\n } else {\n state.lastIntValue = n1 * 8 + n2\n }\n } else {\n state.lastIntValue = n1\n }\n return true\n }\n return false\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp.regexp_eatOctalDigit = function(state) {\n const ch = state.current()\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30 /* 0 */\n state.advance()\n return true\n }\n state.lastIntValue = 0\n return false\n}\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp.regexp_eatFixedHexDigits = function(state, length) {\n const start = state.pos\n state.lastIntValue = 0\n for (let i = 0; i < length; ++i) {\n const ch = state.current()\n if (!isHexDigit(ch)) {\n state.pos = start\n return false\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch)\n state.advance()\n }\n return true\n}\n","import {isIdentifierStart, isIdentifierChar} from \"./identifier\"\nimport {types as tt, keywords as keywordTypes} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {SourceLocation} from \"./locutil\"\nimport {RegExpValidationState} from \"./regexp\"\nimport {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from \"./whitespace\"\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nexport class Token {\n constructor(p) {\n this.type = p.type\n this.value = p.value\n this.start = p.start\n this.end = p.end\n if (p.options.locations)\n this.loc = new SourceLocation(p, p.startLoc, p.endLoc)\n if (p.options.ranges)\n this.range = [p.start, p.end]\n }\n}\n\n// ## Tokenizer\n\nconst pp = Parser.prototype\n\n// Move to the next token\n\npp.next = function() {\n if (this.options.onToken)\n this.options.onToken(new Token(this))\n\n this.lastTokEnd = this.end\n this.lastTokStart = this.start\n this.lastTokEndLoc = this.endLoc\n this.lastTokStartLoc = this.startLoc\n this.nextToken()\n}\n\npp.getToken = function() {\n this.next()\n return new Token(this)\n}\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n pp[Symbol.iterator] = function() {\n return {\n next: () => {\n let token = this.getToken()\n return {\n done: token.type === tt.eof,\n value: token\n }\n }\n }\n }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp.curContext = function() {\n return this.context[this.context.length - 1]\n}\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp.nextToken = function() {\n let curContext = this.curContext()\n if (!curContext || !curContext.preserveSpace) this.skipSpace()\n\n this.start = this.pos\n if (this.options.locations) this.startLoc = this.curPosition()\n if (this.pos >= this.input.length) return this.finishToken(tt.eof)\n\n if (curContext.override) return curContext.override(this)\n else this.readToken(this.fullCharCodeAtPos())\n}\n\npp.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n return this.readWord()\n\n return this.getTokenFromCode(code)\n}\n\npp.fullCharCodeAtPos = function() {\n let code = this.input.charCodeAt(this.pos)\n if (code <= 0xd7ff || code >= 0xe000) return code\n let next = this.input.charCodeAt(this.pos + 1)\n return (code << 10) + next - 0x35fdc00\n}\n\npp.skipBlockComment = function() {\n let startLoc = this.options.onComment && this.curPosition()\n let start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2)\n if (end === -1) this.raise(this.pos - 2, \"Unterminated comment\")\n this.pos = end + 2\n if (this.options.locations) {\n lineBreakG.lastIndex = start\n let match\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this.curLine\n this.lineStart = match.index + match[0].length\n }\n }\n if (this.options.onComment)\n this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition())\n}\n\npp.skipLineComment = function(startSkip) {\n let start = this.pos\n let startLoc = this.options.onComment && this.curPosition()\n let ch = this.input.charCodeAt(this.pos += startSkip)\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this.input.charCodeAt(++this.pos)\n }\n if (this.options.onComment)\n this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition())\n}\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp.skipSpace = function() {\n loop: while (this.pos < this.input.length) {\n let ch = this.input.charCodeAt(this.pos)\n switch (ch) {\n case 32: case 160: // ' '\n ++this.pos\n break\n case 13:\n if (this.input.charCodeAt(this.pos + 1) === 10) {\n ++this.pos\n }\n case 10: case 8232: case 8233:\n ++this.pos\n if (this.options.locations) {\n ++this.curLine\n this.lineStart = this.pos\n }\n break\n case 47: // '/'\n switch (this.input.charCodeAt(this.pos + 1)) {\n case 42: // '*'\n this.skipBlockComment()\n break\n case 47:\n this.skipLineComment(2)\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this.pos\n } else {\n break loop\n }\n }\n }\n}\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp.finishToken = function(type, val) {\n this.end = this.pos\n if (this.options.locations) this.endLoc = this.curPosition()\n let prevType = this.type\n this.type = type\n this.value = val\n\n this.updateContext(prevType)\n}\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp.readToken_dot = function() {\n let next = this.input.charCodeAt(this.pos + 1)\n if (next >= 48 && next <= 57) return this.readNumber(true)\n let next2 = this.input.charCodeAt(this.pos + 2)\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3\n return this.finishToken(tt.ellipsis)\n } else {\n ++this.pos\n return this.finishToken(tt.dot)\n }\n}\n\npp.readToken_slash = function() { // '/'\n let next = this.input.charCodeAt(this.pos + 1)\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.slash, 1)\n}\n\npp.readToken_mult_modulo_exp = function(code) { // '%*'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n let tokentype = code === 42 ? tt.star : tt.modulo\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size\n tokentype = tt.starstar\n next = this.input.charCodeAt(this.pos + 2)\n }\n\n if (next === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tokentype, size)\n}\n\npp.readToken_pipe_amp = function(code) { // '|&'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2)\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1)\n}\n\npp.readToken_caret = function() { // '^'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.bitwiseXOR, 1)\n}\n\npp.readToken_plus_min = function(code) { // '+-'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // ` - - -- [Installation](#installation) - - [Excluding deprecated rules](#excluding-deprecated-rules) -- [CLI helper tool](#cli-helper-tool) -- [Example configuration](#example-configuration) -- [Special rules](#special-rules) - - [arrow-body-style and prefer-arrow-callback](#arrow-body-style-and-prefer-arrow-callback) - - [curly](#curly) - - [lines-around-comment](#lines-around-comment) - - [max-len](#max-len) - - [no-confusing-arrow](#no-confusing-arrow) - - [no-mixed-operators](#no-mixed-operators) - - [no-tabs](#no-tabs) - - [no-unexpected-multiline](#no-unexpected-multiline) - - [quotes](#quotes) - - [Enforce backticks](#enforce-backticks) - - [Forbid unnecessary backticks](#forbid-unnecessary-backticks) - - [Example _double_ quote configuration](#example-_double_-quote-configuration) - - [Example _single_ quote configuration](#example-_single_-quote-configuration) - - [vue/html-self-closing](#vuehtml-self-closing) -- [Other rules worth mentioning](#other-rules-worth-mentioning) - - [no-sequences](#no-sequences) -- [Contributing](#contributing) -- [License](#license) - - - -## Installation - -Install eslint-config-prettier: - -``` -npm install --save-dev eslint-config-prettier -``` - -Then, add eslint-config-prettier to the "extends" array in your `.eslintrc.*` file. Make sure to put it **last,** so it gets the chance to override other configs. - - -```json -{ - "extends": [ - "some-other-config-you-use", - "prettier" - ] -} -``` - -A few ESLint plugins are supported as well: - -- [@typescript-eslint/eslint-plugin] -- [eslint-plugin-babel] -- [eslint-plugin-flowtype] -- [eslint-plugin-react] -- [eslint-plugin-standard] -- [eslint-plugin-unicorn] -- [eslint-plugin-vue] - -Add extra exclusions for the plugins you use like so: - - -```json -{ - "extends": [ - "some-other-config-you-use", - "prettier", - "prettier/@typescript-eslint", - "prettier/babel", - "prettier/flowtype", - "prettier/react", - "prettier/standard", - "prettier/unicorn", - "prettier/vue" - ] -} -``` - -If you extend a config which uses a plugin, it is recommended to add `"prettier/that-plugin"` (if available). For example, [eslint-config-airbnb] enables [eslint-plugin-react] rules, so `"prettier/react"` is needed: - - -```json -{ - "extends": [ - "airbnb", - "prettier", - "prettier/react" - ] -} -``` - -If you’re unsure which plugins are used, you can usually find them in your `package.json`. - -### Excluding deprecated rules - -Some of the rules that eslint-config-prettier turns off may be deprecated. **This is perfectly fine,** but if you really need to omit the deprecated rules, you can do so by setting the `ESLINT_CONFIG_PRETTIER_NO_DEPRECATED` environment variable to a non-empty value. For example: - -``` -env ESLINT_CONFIG_PRETTIER_NO_DEPRECATED=true npx eslint-find-rules --deprecated index.js -``` - -## CLI helper tool - -eslint-config-prettier also ships with a little CLI tool to help you check if your configuration contains any rules that are unnecessary or conflict with Prettier. - -You can run it using `npx`: - -``` -npx eslint --print-config path/to/main.js | npx eslint-config-prettier-check -``` - -(Change `path/to/main.js` to a file that exists in your project.) - -In theory you need to run `npx eslint --print-config file.js | npx eslint-config-prettier-check` for every single file in your project to be 100% sure that there are no conflicting rules, because ESLint supports having different rules for different files. But usually you’ll have about the same rules for all files, so it is enough to run the command on one file (pick one that you won’t be moving). If you use [multiple configuration files] or [overrides], you can (but you probably don’t need to!) run the above script several times with different `--print-config` arguments, such as: - -``` -npx eslint --print-config index.js | npx eslint-config-prettier-check -npx eslint --print-config test/index.js | npx eslint-config-prettier-check -npx eslint --print-config legacy/main.js | npx eslint-config-prettier-check -``` - -Exit codes: - -- 0: No problems found. -- 1: Unexpected error. -- 2: Conflicting rules found. - -## Example configuration - - -```json -{ - "extends": [ - "standard", - "plugin:@typescript-eslint/recommended", - "plugin:flowtype/recommended", - "plugin:react/recommended", - "plugin:unicorn/recommended", - "plugin:vue/recommended", - "prettier", - "prettier/@typescript-eslint", - "prettier/babel", - "prettier/flowtype", - "prettier/react", - "prettier/standard", - "prettier/unicorn", - "prettier/vue" - ], - "plugins": [ - "@typescript-eslint", - "babel", - "flowtype", - "react", - "standard", - "unicorn", - "vue" - ], - "parserOptions": { - "sourceType": "module", - "ecmaFeatures": { - "jsx": true - } - }, - "env": { - "es6": true, - "node": true - } -} -``` - -## Special rules - -There a few rules that eslint-config-prettier disables that actually can be enabled in some cases. - -- Some require certain options. The CLI helper tool validates this. -- Some require special attention when writing code. The CLI helper tool warns you if any of those rules are enabled, but can’t tell if anything is problematic. -- Some can cause problems if using [eslint-plugin-prettier] and `--fix`. - -For maximum ease of use, the special rules are disabled by default. If you want them, you need to explicitly specify them in your ESLint config. - -### [arrow-body-style] and [prefer-arrow-callback] - -**These rules might cause problems if using [eslint-plugin-prettier] and `--fix`.** - -If you use any of these rules together with the `prettier/prettier` rule from [eslint-plugin-prettier], you can in some cases end up with invalid code due to a bug in ESLint’s autofix. - -These rules are safe to use if: - -- You don’t use [eslint-plugin-prettier]. In other words, you run `eslint --fix` and `prettier --write` as separate steps. -- You _do_ use [eslint-plugin-prettier], but don’t use `--fix`. (But then, what’s the point?) - -You _can_ still use these rules together with [eslint-plugin-prettier] if you want, because the bug does not occur _all the time._ But if you do, you need to keep in mind that you might end up with invalid code, where you manually have to insert a missing closing parenthesis to get going again. - -If you’re fixing large of amounts of previously unformatted code, consider temporarily disabling the `prettier/prettier` rule and running `eslint --fix` and `prettier --write` separately. - -See these issues for more information: - -- [eslint-config-prettier#31] -- [eslint-config-prettier#71] -- [eslint-plugin-prettier#65] - -When the autofix bug in ESLint has been fixed, the special case for these rules can be removed. - -### [curly] - -**This rule requires certain options.** - -If a block (for example after `if`, `else`, `for` or `while`) contains only one statement, JavaScript allows omitting the curly braces around that statement. This rule enforces if or when those optional curly braces should be omitted. - -If you use the `"multi-line"` or `"multi-or-nest"` option, the rule can conflict with Prettier. - -For example, the `"multi-line"` option allows this line: - - -```js -if (cart.items && cart.items[0] && cart.items[0].quantity === 0) updateCart(cart); -``` - -However, Prettier might consider the line too long and turn it into the following, which the `"multi-line"` option does _not_ allow: - - -```js -if (cart.items && cart.items[0] && cart.items[0].quantity === 0) - updateCart(cart); -``` - -If you like this rule, it can be used just fine with Prettier as long as you don’t use the `"multi-line"` or `"multi-or-nest"` option. - -Example ESLint configuration: - - -```json -{ - "rules": { - "curly": ["error", "all"] - } -} -``` - -### [lines-around-comment] - -**This rule can be used with certain options.** - -This rule requires empty lines before and/or after comments. Prettier preserves blank lines, with two exceptions: - -- Several blank lines in a row are collapsed into a single blank line. This is fine. -- Blank lines at the beginning and end of blocks, objects and arrays are always removed. This may lead to conflicts. - -By default, ESLint requires a blank line above the comment is this case: - - -```js -if (result) { - - /* comment */ - return result; -} -``` - -However, Prettier removes the blank line: - - -```js -if (result) { - /* comment */ - return result; -} -``` - -If you like this rule, it can be used just fine with Prettier as long as you add some extra configuration to allow comments at the start and end of blocks, objects and arrays. - -Example ESLint configuration: - - -```json -{ - "rules": { - "lines-around-comment": [ - "error", - { - "beforeBlockComment": true, - "afterBlockComment": true, - "beforeLineComment": true, - "afterLineComment": true, - "allowBlockStart": true, - "allowBlockEnd": true, - "allowObjectStart": true, - "allowObjectEnd": true, - "allowArrayStart": true, - "allowArrayEnd": true - } - ] - } -} -``` - -### [max-len] - -(The following applies to [vue/max-len] as well.) - -**This rule requires special attention when writing code.** - -Usually, Prettier takes care of following a maximum line length automatically. However, there are cases where Prettier can’t do anything, such as for long strings, regular expressions and comments. Those need to be split up by a human. - -If you’d like to enforce an even stricter maximum line length policy than Prettier can provide automatically, you can enable this rule. Just remember to keep `max-len`’s options and Prettier’s `printWidth` option in sync. - -Keep in mind that you might have to refactor code slightly if Prettier formats lines in a way that the `max-len` rule does not approve of. - -Example ESLint configuration: - - -```json -{ - "rules": { - "max-len": ["error", {"code": 80, "ignoreUrls": true}] - } -} -``` - -### [no-confusing-arrow] - -**This rule requires certain options.** - -For example, the rule could warn about this line: - - -```js -var x = a => 1 ? 2 : 3; -``` - -With `{allowParens: true}` (the default since ESLint 6.0.0), adding parentheses is considered a valid way to avoid the arrow confusion: - - -```js -var x = a => (1 ? 2 : 3); -``` - -While Prettier keeps those parentheses, it removes them if the line is long enough to introduce a line break: - - -```js -EnterpriseCalculator.prototype.calculateImportantNumbers = inputNumber => - 1 ? 2 : 3; -``` - -With `{allowParens: false}`, ESLint instead suggests switching to an explicit return: - - -```js -var x = a => { return 1 ? 2 : 3; }; -``` - -That causes no problems with Prettier. - -If you like this rule, it can be used just fine with Prettier as long as the `allowParens` option is off. - -Example ESLint configuration: - - -```json -{ - "rules": { - "no-confusing-arrow": ["error", { "allowParens": false }] - } -} -``` - -(Note: The CLI helper tool considers `{allowParens: true}` to be the default, which is the case since ESLint 6.0.0. The tool will produce a warning if you use the default even if you use an older version of ESLint. It doesn’t hurt to explicitly set `{allowParens: false}` even though it is technically redundant. This way you are prepared for a future ESLint upgrade and the CLI tool can be kept simple.) - -### [no-mixed-operators] - -**This rule requires special attention when writing code.** - -This rule forbids mixing certain operators, such as `&&` and `||`. - -For example, the rule could warn about this line: - - -```js -var foo = a + b * c; -``` - -The rule suggests adding parentheses, like this: - - -```js -var foo = a + (b * c); -``` - -However, Prettier removes many “unnecessary” parentheses, turning it back to: - - -```js -var foo = a + b * c; -``` - -If you want to use this rule with Prettier, you need to split the expression into another variable: - - -```js -var bar = b * c; -var foo = a + bar; -``` - -Keep in mind that Prettier prints _some_ “unnecessary” parentheses, though: - - -```js -var foo = (a && b) || c; -``` - -Example ESLint configuration: - - -```json -{ - "rules": { - "no-mixed-operators": "error" - } -} -``` - -### [no-tabs] - -**This rule requires certain Prettier options.** - -This rule disallows the use of tab characters at all. It can be used just fine with Prettier as long as you don’t configure Prettier to indent using tabs. - -Example ESLint configuration: - - -```json -{ - "rules": { - "no-tabs": "error" - } -} -``` - -Example Prettier configuration (this is the default, so adding this is not required): - - -```json -{ - "useTabs": false -} -``` - -**Note:** Since [ESlint 5.7.0] this rule can be configured to work regardless of your Prettier configuration: - - -```json -{ - "rules": { - "no-tabs": ["error", {"allowIndentationTabs": true}] - } -} -``` - -A future version of eslint-config-prettier might check for that automatically. - -### [no-unexpected-multiline] - -**This rule requires special attention when writing code.** - -This rule disallows confusing multiline expressions where a newline looks like it is ending a statement, but is not. - -For example, the rule could warn about this: - - -```js -var hello = "world" -[1, 2, 3].forEach(addNumber) -``` - -Prettier usually formats this in a way that makes it obvious that a semicolon was missing: - - -```js -var hello = "world"[(1, 2, 3)].forEach(addNumber); -``` - -However, there are cases where Prettier breaks things into several lines such that the `no-unexpected-multiline` conflicts. - - -```js -const value = text.trim().split("\n")[position].toLowerCase(); -``` - -Prettier breaks it up into several lines, though, causing a conflict: - - -```js -const value = text - .trim() - .split("\n") - [position].toLowerCase(); -``` - -If you like this rule, it can usually be used with Prettier without problems, but occasionally you might need to either temporarily disable the rule or refactor your code. - - -```js -const value = text - .trim() - .split("\n") - // eslint-disable-next-line no-unexpected-multiline - [position].toLowerCase(); - -// Or: - -const lines = text.trim().split("\n"); -const value = lines[position].toLowerCase(); -``` - -**Note:** If you _do_ enable this rule, you have to run ESLint and Prettier as two separate steps (and ESLint first) in order to get any value out of it. Otherwise Prettier might reformat your code in such a way that ESLint never gets a chance to report anything (as seen in the first example). - -Example configuration: - - -```json -{ - "rules": { - "no-unexpected-multiline": "error" - } -} -``` - -### [quotes] - -(The following applies to [babel/quotes] and [@typescript-eslint/quotes] as well.) - -**This rule requires certain options and certain Prettier options.** - -Usually, you don’t need this rule at all. But there are two cases where it could be useful: - -- To enforce the use of backticks rather than single or double quotes for strings. -- To forbid backticks where regular strings could have been used. - -#### Enforce backticks - -If you’d like all strings to use backticks (never quotes), enable the `"backtick"` option. - -Example ESLint configuration: - - -```json -{ - "rules": { - "quotes": ["error", "backtick"] - } -} -``` - -#### Forbid unnecessary backticks - -In the following example, the first array item could have been written with quotes instead of backticks. - - -```js -const strings = [ - `could have been a regular string`, - ` - multiple - lines - `, - `uses ${interpolation}`, - String.raw`\tagged/`, -]; -``` - -If you’d like ESLint to enforce `` `could have been a regular string` `` being written as either `"could have been a regular string"` or `'could have been a regular string'`, you need to use some specific configuration. The `quotes` rule has two options, a string option and an object option. - -- The first (string) option needs to be set to `"single"` or `"double"` and be kept in sync with Prettier’s [singleQuote] option. -- The second (object) option needs the following properties: - - `"avoidEscape": true` to follow Prettier’s [string formatting rules]. - - `"allowTemplateLiterals": false` to disallow unnecessary backticks. - -##### Example _double_ quote configuration - -ESLint: - - -```json -{ - "rules": { - "quotes": [ - "error", - "double", - { "avoidEscape": true, "allowTemplateLiterals": false } - ] - } -} -``` - -Prettier (this is the default, so adding this is not required): - - -```json -{ - "singleQuote": false -} -``` - -##### Example _single_ quote configuration - -ESLint: - - -```json -{ - "rules": { - "quotes": [ - "error", - "single", - { "avoidEscape": true, "allowTemplateLiterals": false } - ] - } -} -``` - -Prettier: - - -```json -{ - "singleQuote": true -} -``` - -### [vue/html-self-closing] - -**This rule requires certain options.** - -This rule enforces whether elements should be self-closing or not. - -Prettier generally preserves the way you wrote your elements: - - -```vue -
-
- - - - -``` - -But for known _void_ HTML elements, Prettier always uses the self-closing style. For example, `` is turned into ``. - -If you like this rule, it can be used just fine with Prettier as long as you set `html.void` to `"any"`. - -Example ESLint configuration: - - -```json -{ - "rules": { - "vue/html-self-closing": [ - "error", - { - "html": { - "void": "any" - } - } - ] - } -} -``` - -## Other rules worth mentioning - -These rules don’t conflict with Prettier, but have some gotchas when used with Prettier. - -### [no-sequences] - -This rule forbids using JavaScript’s confusing comma operator (sequence expressions). This piece of code is not doing what it looks like: - - -```js -matrix[4, 7]; -``` - -Prettier adds parentheses to the above to make it clear that a sequence expression is used: - - -```js -matrix[(4, 7)]; -``` - -However, the `no-sequences` rule allows comma operators if the expression sequence is explicitly wrapped in parentheses. Since Prettier automatically wraps them in parentheses, you might never see any warnings from ESLint about comma operators. - -Ending up with an accidental sequence expression can easily happen while refactoring. If you want ESLint to catch such mistakes, it is recommended to forbid sequence expressions entirely using [no-restricted-syntax] \([as mentioned in the `no-sequences` documentation][no-sequences-full]): - - -```json -{ - "rules": { - "no-restricted-syntax": ["error", "SequenceExpression"] - } -} -``` - -If you still need to use the comma operator for some edge case, you can place an `// eslint-disable-next-line no-restricted-syntax` comment on the line above the expression. `no-sequences` can safely be disabled if you use the `no-restricted-syntax` approach. - -You can also supply a custom message if you want: - - -```json -{ - "rules": { - "no-restricted-syntax": [ - "error", - { - "selector": "SequenceExpression", - "message": "The comma operator is confusing and a common mistake. Don’t use it!" - } - ] - } -} -``` - -## Contributing - -eslint-config-prettier has been tested with: - -- ESLint 6.8.0 - - eslint-config-prettier 5.1.0 and older were tested with ESLint 5.x - - eslint-config-prettier 2.10.0 and older were tested with ESLint 4.x - - eslint-config-prettier 2.1.1 and older were tested with ESLint 3.x -- prettier 2.0.5 -- @typescript-eslint/eslint-plugin 2.29.0 -- eslint-plugin-babel 5.3.0 -- eslint-plugin-flowtype 4.7.0 -- eslint-plugin-react 7.19.0 -- eslint-plugin-standard 4.0.1 -- eslint-plugin-unicorn 18.0.1 -- eslint-plugin-vue 6.2.2 - -Have new rules been added since those versions? Have we missed any rules? Is there a plugin you would like to see exclusions for? Open an issue or a pull request! - -If you’d like to add support for eslint-plugin-foobar, this is how you’d go about it: - -First, create `foobar.js`: - - -```js -"use strict"; - -module.exports = { - rules: { - "foobar/some-rule": "off" - } -}; -``` - -Then, create `test-lint/foobar.js`: - - -```js -/* eslint-disable quotes */ -"use strict"; - -// Prettier does not want spaces before the parentheses, but -// `plugin:foobar/recommended` wants one. -console.log(); -``` - -`test-lint/foobar.js` must fail when used with eslint-plugin-foobar and eslint-plugin-prettier at the same time – until `"prettier/foobar"` is added to the "extends" property of an ESLint config. The file should be formatted according to Prettier, and that formatting should disagree with the plugin. - -Finally, you need to mention the plugin in several places: - -- Add `"foobar.js"` to the "files" field in `package.json`. -- Add eslint-plugin-foobar to the "devDependencies" field in `package.json`. -- Make sure that at least one rule from eslint-plugin-foobar gets used in `.eslintrc.base.js`. -- Add it to the list of supported plugins, to the example config and to Contributing section in `README.md`. - -When you’re done, run `npm test` to verify that you got it all right. It runs several other npm scripts: - -- `"test:lint"` makes sure that the files in `test-lint/` pass ESLint when the exclusions from eslint-config-prettier are used. It also lints the code of eslint-config-prettier itself, and checks that Prettier has been run on all files. -- `"test:lint-verify-fail"` is run by a test in `test/lint-verify-fail.test.js`. -- `"test:lint-rules"` is run by a test in `test/rules.test.js`. -- `"test:jest"` runs unit tests that check a number of things: - - That eslint-plugin-foobar is mentioned in all the places shown above. - - That no unknown rules are turned off. This helps catching typos, for example. - - That the CLI works. -- `"test:cli-sanity"` and `"test:cli-sanity-warning"` are sanity checks for the CLI. - -## License - -[MIT](LICENSE). - -[@typescript-eslint/eslint-plugin]: https://github.com/typescript-eslint/typescript-eslint -[@typescript-eslint/quotes]: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/quotes.md -[eslint 5.7.0]: https://eslint.org/blog/2018/10/eslint-v5.7.0-released -[prettier]: https://github.com/prettier/prettier -[arrow-body-style]: https://eslint.org/docs/rules/arrow-body-style -[babel/quotes]: https://github.com/babel/eslint-plugin-babel#rules -[curly]: https://eslint.org/docs/rules/curly -[eslint-config-airbnb]: https://www.npmjs.com/package/eslint-config-airbnb -[eslint-config-prettier#31]: https://github.com/prettier/eslint-config-prettier/issues/31 -[eslint-config-prettier#71]: https://github.com/prettier/eslint-config-prettier/issues/71 -[eslint-plugin-babel]: https://github.com/babel/eslint-plugin-babel -[eslint-plugin-flowtype]: https://github.com/gajus/eslint-plugin-flowtype -[eslint-plugin-prettier#65]: https://github.com/prettier/eslint-plugin-prettier/issues/65 -[eslint-plugin-prettier]: https://github.com/prettier/eslint-plugin-prettier -[eslint-plugin-react]: https://github.com/yannickcr/eslint-plugin-react -[eslint-plugin-standard]: https://github.com/xjamundx/eslint-plugin-standard -[eslint-plugin-unicorn]: https://github.com/sindresorhus/eslint-plugin-unicorn -[eslint-plugin-vue]: https://github.com/vuejs/eslint-plugin-vue -[lines-around-comment]: https://eslint.org/docs/rules/lines-around-comment -[max-len]: https://eslint.org/docs/rules/max-len -[multiple configuration files]: https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy -[no-confusing-arrow]: https://eslint.org/docs/rules/no-confusing-arrow -[no-mixed-operators]: https://eslint.org/docs/rules/no-mixed-operators -[no-restricted-syntax]: https://eslint.org/docs/rules/no-restricted-syntax -[no-sequences-full]: https://eslint.org/docs/rules/no-sequences#when-not-to-use-it -[no-sequences]: https://eslint.org/docs/rules/no-sequences -[no-tabs]: https://eslint.org/docs/rules/no-tabs -[no-unexpected-multiline]: https://eslint.org/docs/rules/no-unexpected-multiline -[overrides]: https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns -[prefer-arrow-callback]: https://eslint.org/docs/rules/prefer-arrow-callback -[quotes]: https://eslint.org/docs/rules/quotes -[singlequote]: https://prettier.io/docs/en/options.html#quotes -[string formatting rules]: https://prettier.io/docs/en/rationale.html#strings -[vue/html-self-closing]: https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/html-self-closing.md -[vue/max-len]: https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/max-len.md +**[➡️ Full readme](https://github.com/prettier/eslint-config-prettier/)** \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/babel.js b/node_modules/eslint-config-prettier/babel.js index 47d036501..fecd94b6a 100644 --- a/node_modules/eslint-config-prettier/babel.js +++ b/node_modules/eslint-config-prettier/babel.js @@ -1,10 +1,3 @@ -"use strict"; - -module.exports = { - rules: { - "babel/quotes": 0, - - "babel/object-curly-spacing": "off", - "babel/semi": "off", - }, -}; +throw new Error( + '"prettier/babel" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/bin/cli.js b/node_modules/eslint-config-prettier/bin/cli.js index 208b1436e..6ee12a39a 100755 --- a/node_modules/eslint-config-prettier/bin/cli.js +++ b/node_modules/eslint-config-prettier/bin/cli.js @@ -2,40 +2,40 @@ "use strict"; -const fs = require("fs"); -const path = require("path"); -const getStdin = require("get-stdin"); const validators = require("./validators"); +const config = require(".."); +const prettier = require("../prettier"); + +// Require locally installed eslint, for `npx eslint-config-prettier` support +// with no local eslint-config-prettier installation. +const { ESLint } = require(require.resolve("eslint", { + paths: [process.cwd(), ...require.resolve.paths("eslint")], +})); const SPECIAL_RULES_URL = "https://github.com/prettier/eslint-config-prettier#special-rules"; +const PRETTIER_RULES_URL = + "https://github.com/prettier/eslint-config-prettier#arrow-body-style-and-prefer-arrow-callback"; + if (module === require.main) { - if (process.argv.length > 2 || process.stdin.isTTY) { - console.error( - [ - "This tool checks whether an ESLint configuration contains rules that are", - "unnecessary or conflict with Prettier. It’s supposed to be run like this:", - "", - " npx eslint --print-config path/to/main.js | npx eslint-config-prettier-check", - " npx eslint --print-config test/index.js | npx eslint-config-prettier-check", - "", - "Exit codes:", - "", - "0: No automatically detectable problems found.", - "1: Unexpected error.", - "2: Conflicting rules found.", - "", - "For more information, see:", - "https://github.com/prettier/eslint-config-prettier#cli-helper-tool", - ].join("\n") - ); + const args = process.argv.slice(2); + + if (args.length === 0) { + console.error(help()); process.exit(1); } - getStdin() - .then((string) => { - const result = processString(string); + const eslint = new ESLint(); + + Promise.all(args.map((file) => eslint.calculateConfigForFile(file))) + .then((configs) => { + const rules = [].concat( + ...configs.map(({ rules }, index) => + Object.entries(rules).map((entry) => [...entry, args[index]]) + ) + ); + const result = processRules(rules); if (result.stderr) { console.error(result.stderr); } @@ -45,107 +45,77 @@ if (module === require.main) { process.exit(result.code); }) .catch((error) => { - console.error("Unexpected error", error); + console.error(error.message); process.exit(1); }); } -function processString(string) { - let config; - try { - config = JSON.parse(string); - } catch (error) { - return { - stderr: `Failed to parse JSON:\n${error.message}`, - code: 1, - }; - } +function help() { + return ` +Usage: npx eslint-config-prettier FILE... - if ( - !( - Object.prototype.toString.call(config) === "[object Object]" && - Object.prototype.toString.call(config.rules) === "[object Object]" - ) - ) { - return { - stderr: `Expected a \`{"rules: {...}"}\` JSON object, but got:\n${string}`, - code: 1, - }; - } +Resolves an ESLint configuration for every given FILE and checks if they +contain rules that are unnecessary or conflict with Prettier. Example: - // This used to look at "files" in package.json, but that is not reliable due - // to an npm bug. See: - // https://github.com/prettier/eslint-config-prettier/issues/57 - const allRules = Object.assign( - Object.create(null), - ...fs - .readdirSync(path.join(__dirname, "..")) - .filter((name) => !name.startsWith(".") && name.endsWith(".js")) - .map((ruleFileName) => require(`../${ruleFileName}`).rules) - ); + npx eslint-config-prettier index.js test/index.js other/file/to/check.js - const regularRules = filterRules( - allRules, - (ruleName, value) => value === "off" - ); +Exit codes: + +0: No automatically detectable problems found. +1: General error. +2: Conflicting rules found. + +For more information, see: +https://github.com/prettier/eslint-config-prettier#cli-helper-tool + `.trim(); +} + +function processRules(configRules) { + const regularRules = filterRules(config.rules, (_, value) => value === "off"); const optionsRules = filterRules( - allRules, + config.rules, (ruleName, value) => value === 0 && ruleName in validators ); const specialRules = filterRules( - allRules, + config.rules, (ruleName, value) => value === 0 && !(ruleName in validators) ); - const flaggedRules = Object.keys(config.rules) - .map((ruleName) => { - const value = config.rules[ruleName]; + const enabledRules = configRules + .map(([ruleName, value, source]) => { const arrayValue = Array.isArray(value) ? value : [value]; - const level = arrayValue[0]; - const options = arrayValue.slice(1); + const [level, ...options] = arrayValue; const isOff = level === "off" || level === 0; - return !isOff && ruleName in allRules ? { ruleName, options } : null; + return isOff ? null : { ruleName, options, source }; }) .filter(Boolean); + const flaggedRules = enabledRules.filter( + ({ ruleName }) => ruleName in config.rules + ); + const regularFlaggedRuleNames = filterRuleNames( flaggedRules, - (ruleName) => ruleName in regularRules + ({ ruleName }) => ruleName in regularRules ); const optionsFlaggedRuleNames = filterRuleNames( flaggedRules, - (ruleName, options) => - ruleName in optionsRules && !validators[ruleName](options) + ({ ruleName, ...rule }) => + ruleName in optionsRules && !validators[ruleName](rule) ); const specialFlaggedRuleNames = filterRuleNames( flaggedRules, - (ruleName) => ruleName in specialRules + ({ ruleName }) => ruleName in specialRules + ); + const prettierFlaggedRuleNames = filterRuleNames( + enabledRules, + ({ ruleName, source }) => + ruleName in prettier.rules && + enabledRules.some( + (rule) => + rule.ruleName === "prettier/prettier" && rule.source === source + ) ); - - if ( - regularFlaggedRuleNames.length === 0 && - optionsFlaggedRuleNames.length === 0 - ) { - const baseMessage = - "No rules that are unnecessary or conflict with Prettier were found."; - - const message = - specialFlaggedRuleNames.length === 0 - ? baseMessage - : [ - baseMessage, - "", - "However, the following rules are enabled but cannot be automatically checked. See:", - SPECIAL_RULES_URL, - "", - printRuleNames(specialFlaggedRuleNames), - ].join("\n"); - - return { - stdout: message, - code: 0, - }; - } const regularMessage = [ "The following rules are unnecessary or might conflict with Prettier:", @@ -154,7 +124,7 @@ function processString(string) { ].join("\n"); const optionsMessage = [ - "The following rules are enabled with options that might conflict with Prettier. See:", + "The following rules are enabled with config that might conflict with Prettier. See:", SPECIAL_RULES_URL, "", printRuleNames(optionsFlaggedRuleNames), @@ -167,10 +137,41 @@ function processString(string) { printRuleNames(specialFlaggedRuleNames), ].join("\n"); + const prettierMessage = [ + "The following rules can cause issues when using eslint-plugin-prettier at the same time.", + "Only enable them if you know what you are doing! See:", + PRETTIER_RULES_URL, + "", + printRuleNames(prettierFlaggedRuleNames), + ].join("\n"); + + if ( + regularFlaggedRuleNames.length === 0 && + optionsFlaggedRuleNames.length === 0 + ) { + const message = + specialFlaggedRuleNames.length === 0 && + prettierFlaggedRuleNames.length === 0 + ? "No rules that are unnecessary or conflict with Prettier were found." + : [ + specialFlaggedRuleNames.length === 0 ? null : specialMessage, + prettierFlaggedRuleNames.length === 0 ? null : prettierMessage, + "Other than that, no rules that are unnecessary or conflict with Prettier were found.", + ] + .filter(Boolean) + .join("\n\n"); + + return { + stdout: message, + code: 0, + }; + } + const message = [ regularFlaggedRuleNames.length === 0 ? null : regularMessage, optionsFlaggedRuleNames.length === 0 ? null : optionsMessage, specialFlaggedRuleNames.length === 0 ? null : specialMessage, + prettierFlaggedRuleNames.length === 0 ? null : prettierMessage, ] .filter(Boolean) .join("\n\n"); @@ -182,18 +183,18 @@ function processString(string) { } function filterRules(rules, fn) { - return Object.keys(rules) - .filter((ruleName) => fn(ruleName, rules[ruleName])) - .reduce((obj, ruleName) => { + return Object.entries(rules) + .filter(([ruleName, value]) => fn(ruleName, value)) + .reduce((obj, [ruleName]) => { obj[ruleName] = true; return obj; }, Object.create(null)); } function filterRuleNames(rules, fn) { - return rules - .filter((rule) => fn(rule.ruleName, rule.options)) - .map((rule) => rule.ruleName); + return [ + ...new Set(rules.filter((rule) => fn(rule)).map((rule) => rule.ruleName)), + ]; } function printRuleNames(ruleNames) { @@ -204,4 +205,4 @@ function printRuleNames(ruleNames) { .join("\n"); } -exports.processString = processString; +exports.processRules = processRules; diff --git a/node_modules/eslint-config-prettier/bin/validators.js b/node_modules/eslint-config-prettier/bin/validators.js index a6a9b8ae4..f63bdad6f 100644 --- a/node_modules/eslint-config-prettier/bin/validators.js +++ b/node_modules/eslint-config-prettier/bin/validators.js @@ -4,7 +4,7 @@ // `false` if the options DO conflict with Prettier, and `true` if they don’t. module.exports = { - curly(options) { + "curly"({ options }) { if (options.length === 0) { return true; } @@ -13,7 +13,7 @@ module.exports = { return firstOption !== "multi-line" && firstOption !== "multi-or-nest"; }, - "lines-around-comment"(options) { + "lines-around-comment"({ options }) { if (options.length === 0) { return false; } @@ -30,7 +30,7 @@ module.exports = { ); }, - "no-confusing-arrow"(options) { + "no-confusing-arrow"({ options }) { if (options.length === 0) { return false; } @@ -39,7 +39,16 @@ module.exports = { return firstOption ? firstOption.allowParens === false : false; }, - "vue/html-self-closing"(options) { + "no-tabs"({ options }) { + if (options.length === 0) { + return false; + } + + const firstOption = options[0]; + return Boolean(firstOption && firstOption.allowIndentationTabs); + }, + + "vue/html-self-closing"({ options }) { if (options.length === 0) { return false; } diff --git a/node_modules/eslint-config-prettier/flowtype.js b/node_modules/eslint-config-prettier/flowtype.js index 34b8943cf..2677fa83c 100644 --- a/node_modules/eslint-config-prettier/flowtype.js +++ b/node_modules/eslint-config-prettier/flowtype.js @@ -1,15 +1,3 @@ -"use strict"; - -module.exports = { - rules: { - "flowtype/boolean-style": "off", - "flowtype/delimiter-dangle": "off", - "flowtype/generic-spacing": "off", - "flowtype/object-type-delimiter": "off", - "flowtype/semi": "off", - "flowtype/space-after-type-colon": "off", - "flowtype/space-before-generic-bracket": "off", - "flowtype/space-before-type-colon": "off", - "flowtype/union-intersection-spacing": "off", - }, -}; +throw new Error( + '"prettier/flowtype" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/index.js b/node_modules/eslint-config-prettier/index.js index 1cbfd47a5..5bbaff10f 100644 --- a/node_modules/eslint-config-prettier/index.js +++ b/node_modules/eslint-config-prettier/index.js @@ -3,101 +3,190 @@ const includeDeprecated = !process.env.ESLINT_CONFIG_PRETTIER_NO_DEPRECATED; module.exports = { - rules: Object.assign( - { - // The following rules can be used in some cases. See the README for more - // information. (These are marked with `0` instead of `"off"` so that a - // script can distinguish them.) - "arrow-body-style": 0, - curly: 0, - "lines-around-comment": 0, - "max-len": 0, - "no-confusing-arrow": 0, - "no-mixed-operators": 0, - "no-tabs": 0, - "no-unexpected-multiline": 0, - "prefer-arrow-callback": 0, - quotes: 0, - // The rest are rules that you never need to enable when using Prettier. - "array-bracket-newline": "off", - "array-bracket-spacing": "off", - "array-element-newline": "off", - "arrow-parens": "off", - "arrow-spacing": "off", - "block-spacing": "off", - "brace-style": "off", - "comma-dangle": "off", - "comma-spacing": "off", - "comma-style": "off", - "computed-property-spacing": "off", - "dot-location": "off", - "eol-last": "off", - "func-call-spacing": "off", - "function-call-argument-newline": "off", - "function-paren-newline": "off", - "generator-star": "off", - "generator-star-spacing": "off", - "implicit-arrow-linebreak": "off", - indent: "off", - "jsx-quotes": "off", - "key-spacing": "off", - "keyword-spacing": "off", - "linebreak-style": "off", - "multiline-ternary": "off", - "newline-per-chained-call": "off", - "new-parens": "off", - "no-arrow-condition": "off", - "no-comma-dangle": "off", - "no-extra-parens": "off", - "no-extra-semi": "off", - "no-floating-decimal": "off", - "no-mixed-spaces-and-tabs": "off", - "no-multi-spaces": "off", - "no-multiple-empty-lines": "off", - "no-reserved-keys": "off", - "no-space-before-semi": "off", - "no-trailing-spaces": "off", - "no-whitespace-before-property": "off", - "no-wrap-func": "off", - "nonblock-statement-body-position": "off", - "object-curly-newline": "off", - "object-curly-spacing": "off", - "object-property-newline": "off", - "one-var-declaration-per-line": "off", - "operator-linebreak": "off", - "padded-blocks": "off", - "quote-props": "off", - "rest-spread-spacing": "off", - semi: "off", - "semi-spacing": "off", - "semi-style": "off", - "space-after-function-name": "off", - "space-after-keywords": "off", - "space-before-blocks": "off", - "space-before-function-paren": "off", - "space-before-function-parentheses": "off", - "space-before-keywords": "off", - "space-in-brackets": "off", - "space-in-parens": "off", - "space-infix-ops": "off", - "space-return-throw-case": "off", - "space-unary-ops": "off", - "space-unary-word-ops": "off", - "switch-colon-spacing": "off", - "template-curly-spacing": "off", - "template-tag-spacing": "off", - "unicode-bom": "off", - "wrap-iife": "off", - "wrap-regex": "off", - "yield-star-spacing": "off", - }, - includeDeprecated && { + rules: { + // The following rules can be used in some cases. See the README for more + // information. (These are marked with `0` instead of `"off"` so that a + // script can distinguish them.) + "curly": 0, + "lines-around-comment": 0, + "max-len": 0, + "no-confusing-arrow": 0, + "no-mixed-operators": 0, + "no-tabs": 0, + "no-unexpected-multiline": 0, + "quotes": 0, + "@typescript-eslint/quotes": 0, + "babel/quotes": 0, + "vue/html-self-closing": 0, + "vue/max-len": 0, + + // The rest are rules that you never need to enable when using Prettier. + "array-bracket-newline": "off", + "array-bracket-spacing": "off", + "array-element-newline": "off", + "arrow-parens": "off", + "arrow-spacing": "off", + "block-spacing": "off", + "brace-style": "off", + "comma-dangle": "off", + "comma-spacing": "off", + "comma-style": "off", + "computed-property-spacing": "off", + "dot-location": "off", + "eol-last": "off", + "func-call-spacing": "off", + "function-call-argument-newline": "off", + "function-paren-newline": "off", + "generator-star": "off", + "generator-star-spacing": "off", + "implicit-arrow-linebreak": "off", + "indent": "off", + "jsx-quotes": "off", + "key-spacing": "off", + "keyword-spacing": "off", + "linebreak-style": "off", + "multiline-ternary": "off", + "newline-per-chained-call": "off", + "new-parens": "off", + "no-arrow-condition": "off", + "no-comma-dangle": "off", + "no-extra-parens": "off", + "no-extra-semi": "off", + "no-floating-decimal": "off", + "no-mixed-spaces-and-tabs": "off", + "no-multi-spaces": "off", + "no-multiple-empty-lines": "off", + "no-reserved-keys": "off", + "no-space-before-semi": "off", + "no-trailing-spaces": "off", + "no-whitespace-before-property": "off", + "no-wrap-func": "off", + "nonblock-statement-body-position": "off", + "object-curly-newline": "off", + "object-curly-spacing": "off", + "object-property-newline": "off", + "one-var-declaration-per-line": "off", + "operator-linebreak": "off", + "padded-blocks": "off", + "quote-props": "off", + "rest-spread-spacing": "off", + "semi": "off", + "semi-spacing": "off", + "semi-style": "off", + "space-after-function-name": "off", + "space-after-keywords": "off", + "space-before-blocks": "off", + "space-before-function-paren": "off", + "space-before-function-parentheses": "off", + "space-before-keywords": "off", + "space-in-brackets": "off", + "space-in-parens": "off", + "space-infix-ops": "off", + "space-return-throw-case": "off", + "space-unary-ops": "off", + "space-unary-word-ops": "off", + "switch-colon-spacing": "off", + "template-curly-spacing": "off", + "template-tag-spacing": "off", + "unicode-bom": "off", + "wrap-iife": "off", + "wrap-regex": "off", + "yield-star-spacing": "off", + "@babel/object-curly-spacing": "off", + "@babel/semi": "off", + "@typescript-eslint/brace-style": "off", + "@typescript-eslint/comma-dangle": "off", + "@typescript-eslint/comma-spacing": "off", + "@typescript-eslint/func-call-spacing": "off", + "@typescript-eslint/indent": "off", + "@typescript-eslint/keyword-spacing": "off", + "@typescript-eslint/member-delimiter-style": "off", + "@typescript-eslint/no-extra-parens": "off", + "@typescript-eslint/no-extra-semi": "off", + "@typescript-eslint/object-curly-spacing": "off", + "@typescript-eslint/semi": "off", + "@typescript-eslint/space-before-function-paren": "off", + "@typescript-eslint/space-infix-ops": "off", + "@typescript-eslint/type-annotation-spacing": "off", + "babel/object-curly-spacing": "off", + "babel/semi": "off", + "flowtype/boolean-style": "off", + "flowtype/delimiter-dangle": "off", + "flowtype/generic-spacing": "off", + "flowtype/object-type-curly-spacing": "off", + "flowtype/object-type-delimiter": "off", + "flowtype/quotes": "off", + "flowtype/semi": "off", + "flowtype/space-after-type-colon": "off", + "flowtype/space-before-generic-bracket": "off", + "flowtype/space-before-type-colon": "off", + "flowtype/union-intersection-spacing": "off", + "react/jsx-child-element-spacing": "off", + "react/jsx-closing-bracket-location": "off", + "react/jsx-closing-tag-location": "off", + "react/jsx-curly-newline": "off", + "react/jsx-curly-spacing": "off", + "react/jsx-equals-spacing": "off", + "react/jsx-first-prop-new-line": "off", + "react/jsx-indent": "off", + "react/jsx-indent-props": "off", + "react/jsx-max-props-per-line": "off", + "react/jsx-newline": "off", + "react/jsx-one-expression-per-line": "off", + "react/jsx-props-no-multi-spaces": "off", + "react/jsx-tag-spacing": "off", + "react/jsx-wrap-multilines": "off", + "standard/array-bracket-even-spacing": "off", + "standard/computed-property-even-spacing": "off", + "standard/object-curly-even-spacing": "off", + "unicorn/empty-brace-spaces": "off", + "unicorn/no-nested-ternary": "off", + "unicorn/number-literal-case": "off", + "vue/array-bracket-newline": "off", + "vue/array-bracket-spacing": "off", + "vue/arrow-spacing": "off", + "vue/block-spacing": "off", + "vue/block-tag-newline": "off", + "vue/brace-style": "off", + "vue/comma-dangle": "off", + "vue/comma-spacing": "off", + "vue/comma-style": "off", + "vue/dot-location": "off", + "vue/func-call-spacing": "off", + "vue/html-closing-bracket-newline": "off", + "vue/html-closing-bracket-spacing": "off", + "vue/html-end-tags": "off", + "vue/html-indent": "off", + "vue/html-quotes": "off", + "vue/key-spacing": "off", + "vue/keyword-spacing": "off", + "vue/max-attributes-per-line": "off", + "vue/multiline-html-element-content-newline": "off", + "vue/mustache-interpolation-spacing": "off", + "vue/no-extra-parens": "off", + "vue/no-multi-spaces": "off", + "vue/no-spaces-around-equal-signs-in-attribute": "off", + "vue/object-curly-newline": "off", + "vue/object-curly-spacing": "off", + "vue/object-property-newline": "off", + "vue/operator-linebreak": "off", + "vue/script-indent": "off", + "vue/singleline-html-element-content-newline": "off", + "vue/space-in-parens": "off", + "vue/space-infix-ops": "off", + "vue/space-unary-ops": "off", + "vue/template-curly-spacing": "off", + + ...(includeDeprecated && { // Deprecated since version 4.0.0. // https://github.com/eslint/eslint/pull/8286 "indent-legacy": "off", // Deprecated since version 3.3.0. // https://eslint.org/docs/rules/no-spaced-func "no-spaced-func": "off", - } - ), + // Deprecated since version 7.0.0. + // https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md#700---2017-05-06 + "react/jsx-space-before-closing": "off", + }), + }, }; diff --git a/node_modules/eslint-config-prettier/package.json b/node_modules/eslint-config-prettier/package.json index ea6eba288..8d836597c 100644 --- a/node_modules/eslint-config-prettier/package.json +++ b/node_modules/eslint-config-prettier/package.json @@ -1,67 +1,17 @@ { "name": "eslint-config-prettier", - "version": "6.11.0", + "version": "8.3.0", "license": "MIT", "author": "Simon Lydell", "description": "Turns off all rules that are unnecessary or might conflict with Prettier.", "repository": "prettier/eslint-config-prettier", - "files": [ - "bin/", - "@typescript-eslint.js", - "babel.js", - "flowtype.js", - "index.js", - "react.js", - "standard.js", - "unicorn.js", - "vue.js" - ], - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, + "bin": "bin/cli.js", "keywords": [ "eslint", "eslintconfig", "prettier" ], - "scripts": { - "doctoc": "doctoc README.md && replace \"\\[\\[([\\w/-]+)\\](?:([^\\[\\]]+)\\[([\\w/-]+)\\])?\\]\" \"[\\$1\\$2\\$3]\" README.md", - "prettier": "prettier --write .", - "test:lint": "eslint . && prettier --check .", - "test:lint-verify-fail": "eslint \"test-lint/*.{js,ts,vue}\" --config .eslintrc.base.js --format json", - "test:lint-rules": "eslint index.js --config test-config/.eslintrc.js --format json", - "test:deprecated": "eslint-find-rules --deprecated index.js", - "test:jest": "jest", - "test:cli-sanity": "eslint --print-config index.js | node ./bin/cli.js", - "test:cli-sanity-warning": "eslint --print-config ./bin/cli.js | node ./bin/cli.js", - "test": "npm run test:lint && npm run test:jest && npm run test:cli-sanity && npm run test:cli-sanity-warning" - }, - "dependencies": { - "get-stdin": "^6.0.0" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "2.29.0", - "@typescript-eslint/parser": "2.29.0", - "babel-eslint": "10.1.0", - "cross-spawn": "7.0.2", - "doctoc": "1.4.0", - "eslint": "6.8.0", - "eslint-config-google": "0.14.0", - "eslint-find-rules": "3.4.0", - "eslint-plugin-babel": "5.3.0", - "eslint-plugin-flowtype": "4.7.0", - "eslint-plugin-prettier": "3.1.3", - "eslint-plugin-react": "7.19.0", - "eslint-plugin-standard": "4.0.1", - "eslint-plugin-unicorn": "18.0.1", - "eslint-plugin-vue": "6.2.2", - "jest": "25.4.0", - "prettier": "2.0.5", - "replace": "1.1.5", - "rimraf": "3.0.2", - "typescript": "3.7.5" - }, "peerDependencies": { - "eslint": ">=3.14.1" + "eslint": ">=7.0.0" } } \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/prettier.js b/node_modules/eslint-config-prettier/prettier.js new file mode 100644 index 000000000..aac873c4f --- /dev/null +++ b/node_modules/eslint-config-prettier/prettier.js @@ -0,0 +1,12 @@ +"use strict"; + +module.exports = { + rules: { + // These are safe to use as long as the `"prettier/prettier"` rule from + // eslint-plugin-prettier isn’t enabled. + // These are also included in `"plugin:prettier/recommended"`: + // https://github.com/prettier/eslint-plugin-prettier#recommended-configuration + "arrow-body-style": 0, + "prefer-arrow-callback": 0, + }, +}; diff --git a/node_modules/eslint-config-prettier/react.js b/node_modules/eslint-config-prettier/react.js index 3f4855323..a53d08acc 100644 --- a/node_modules/eslint-config-prettier/react.js +++ b/node_modules/eslint-config-prettier/react.js @@ -1,29 +1,3 @@ -"use strict"; - -const includeDeprecated = !process.env.ESLINT_CONFIG_PRETTIER_NO_DEPRECATED; - -module.exports = { - rules: Object.assign( - { - "react/jsx-child-element-spacing": "off", - "react/jsx-closing-bracket-location": "off", - "react/jsx-closing-tag-location": "off", - "react/jsx-curly-newline": "off", - "react/jsx-curly-spacing": "off", - "react/jsx-equals-spacing": "off", - "react/jsx-first-prop-new-line": "off", - "react/jsx-indent": "off", - "react/jsx-indent-props": "off", - "react/jsx-max-props-per-line": "off", - "react/jsx-one-expression-per-line": "off", - "react/jsx-props-no-multi-spaces": "off", - "react/jsx-tag-spacing": "off", - "react/jsx-wrap-multilines": "off", - }, - includeDeprecated && { - // Deprecated since version 7.0.0. - // https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md#700---2017-05-06 - "react/jsx-space-before-closing": "off", - } - ), -}; +throw new Error( + '"prettier/react" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/standard.js b/node_modules/eslint-config-prettier/standard.js index faacadd01..818cb5c7a 100644 --- a/node_modules/eslint-config-prettier/standard.js +++ b/node_modules/eslint-config-prettier/standard.js @@ -1,9 +1,3 @@ -"use strict"; - -module.exports = { - rules: { - "standard/array-bracket-even-spacing": "off", - "standard/computed-property-even-spacing": "off", - "standard/object-curly-even-spacing": "off", - }, -}; +throw new Error( + '"prettier/standard" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/unicorn.js b/node_modules/eslint-config-prettier/unicorn.js index eb7103edc..6ac04a36b 100644 --- a/node_modules/eslint-config-prettier/unicorn.js +++ b/node_modules/eslint-config-prettier/unicorn.js @@ -1,8 +1,3 @@ -"use strict"; - -module.exports = { - rules: { - "unicorn/no-nested-ternary": "off", - "unicorn/number-literal-case": "off", - }, -}; +throw new Error( + '"prettier/unicorn" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-config-prettier/vue.js b/node_modules/eslint-config-prettier/vue.js index d60c2dea8..693d38fbd 100644 --- a/node_modules/eslint-config-prettier/vue.js +++ b/node_modules/eslint-config-prettier/vue.js @@ -1,32 +1,3 @@ -"use strict"; - -module.exports = { - rules: { - "vue/html-self-closing": 0, - "vue/max-len": 0, - - "vue/array-bracket-spacing": "off", - "vue/arrow-spacing": "off", - "vue/block-spacing": "off", - "vue/brace-style": "off", - "vue/comma-dangle": "off", - "vue/dot-location": "off", - "vue/html-closing-bracket-newline": "off", - "vue/html-closing-bracket-spacing": "off", - "vue/html-end-tags": "off", - "vue/html-indent": "off", - "vue/html-quotes": "off", - "vue/key-spacing": "off", - "vue/keyword-spacing": "off", - "vue/max-attributes-per-line": "off", - "vue/multiline-html-element-content-newline": "off", - "vue/mustache-interpolation-spacing": "off", - "vue/no-multi-spaces": "off", - "vue/no-spaces-around-equal-signs-in-attribute": "off", - "vue/object-curly-spacing": "off", - "vue/script-indent": "off", - "vue/singleline-html-element-content-newline": "off", - "vue/space-infix-ops": "off", - "vue/space-unary-ops": "off", - }, -}; +throw new Error( + '"prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21' +); \ No newline at end of file diff --git a/node_modules/eslint-module-utils/.nycrc b/node_modules/eslint-module-utils/.nycrc new file mode 100644 index 000000000..8147f3871 --- /dev/null +++ b/node_modules/eslint-module-utils/.nycrc @@ -0,0 +1,15 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "require": [ + "babel-register" + ], + "sourceMap": true, + "instrument": false, + "exclude": [ + "coverage", + "test", + "tests" + ] +} diff --git a/node_modules/eslint-module-utils/CHANGELOG.md b/node_modules/eslint-module-utils/CHANGELOG.md index f337d3850..949fa8d58 100644 --- a/node_modules/eslint-module-utils/CHANGELOG.md +++ b/node_modules/eslint-module-utils/CHANGELOG.md @@ -5,10 +5,20 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel ## Unreleased +## v2.6.1 - 2021-05-13 + +### Fixed +- `no-unresolved`: check `import()` ([#2026], thanks [@aladdin-add]) +- Add fix for Windows Subsystem for Linux ([#1786], thanks [@manuth]) + +### Changed +- [deps] update `debug` +- [Refactor] use `Array.isArray` instead of `instanceof Array` + ## v2.6.0 - 2020-03-28 ### Added -[New] Print more helpful info if parsing fails ([#1671], thanks [@kaiyoma]) +- Print more helpful info if parsing fails ([#1671], thanks [@kaiyoma]) ## v2.5.2 - 2020-01-12 @@ -75,6 +85,8 @@ Yanked due to critical issue with cache key resulting from #839. ### Fixed - `unambiguous.test()` regex is now properly in multiline mode +[#2026]: https://github.com/benmosher/eslint-plugin-import/pull/2026 +[#1786]: https://github.com/benmosher/eslint-plugin-import/pull/1786 [#1671]: https://github.com/benmosher/eslint-plugin-import/pull/1671 [#1606]: https://github.com/benmosher/eslint-plugin-import/pull/1606 [#1602]: https://github.com/benmosher/eslint-plugin-import/pull/1602 @@ -101,3 +113,5 @@ Yanked due to critical issue with cache key resulting from #839. [@sompylasar]: https://github.com/sompylasar [@iamnapo]: https://github.com/iamnapo [@kaiyoma]: https://github.com/kaiyoma +[@manuth]: https://github.com/manuth +[@aladdin-add]: https://github.com/aladdin-add \ No newline at end of file diff --git a/node_modules/eslint-module-utils/ModuleCache.js b/node_modules/eslint-module-utils/ModuleCache.js index b910a5810..a06616de9 100644 --- a/node_modules/eslint-module-utils/ModuleCache.js +++ b/node_modules/eslint-module-utils/ModuleCache.js @@ -1,11 +1,11 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const log = require('debug')('eslint-module-utils:ModuleCache') +const log = require('debug')('eslint-module-utils:ModuleCache'); class ModuleCache { constructor(map) { - this.map = map || new Map() + this.map = map || new Map(); } /** @@ -14,19 +14,19 @@ class ModuleCache { * @param {[type]} result [description] */ set(cacheKey, result) { - this.map.set(cacheKey, { result, lastSeen: process.hrtime() }) - log('setting entry for', cacheKey) - return result + this.map.set(cacheKey, { result, lastSeen: process.hrtime() }); + log('setting entry for', cacheKey); + return result; } get(cacheKey, settings) { if (this.map.has(cacheKey)) { - const f = this.map.get(cacheKey) + const f = this.map.get(cacheKey); // check freshness - if (process.hrtime(f.lastSeen)[0] < settings.lifetime) return f.result - } else log('cache miss for', cacheKey) + if (process.hrtime(f.lastSeen)[0] < settings.lifetime) return f.result; + } else log('cache miss for', cacheKey); // cache miss - return undefined + return undefined; } } @@ -34,14 +34,14 @@ class ModuleCache { ModuleCache.getSettings = function (settings) { const cacheSettings = Object.assign({ lifetime: 30, // seconds - }, settings['import/cache']) + }, settings['import/cache']); // parse infinity if (cacheSettings.lifetime === '∞' || cacheSettings.lifetime === 'Infinity') { - cacheSettings.lifetime = Infinity + cacheSettings.lifetime = Infinity; } - return cacheSettings -} + return cacheSettings; +}; -exports.default = ModuleCache +exports.default = ModuleCache; diff --git a/node_modules/eslint-module-utils/declaredScope.js b/node_modules/eslint-module-utils/declaredScope.js index 904279ad7..ded2131e4 100644 --- a/node_modules/eslint-module-utils/declaredScope.js +++ b/node_modules/eslint-module-utils/declaredScope.js @@ -1,14 +1,9 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; exports.default = function declaredScope(context, name) { - let references = context.getScope().references - , i - for (i = 0; i < references.length; i++) { - if (references[i].identifier.name === name) { - break - } - } - if (!references[i]) return undefined - return references[i].resolved.scope.type -} + const references = context.getScope().references; + const reference = references.find(x => x.identifier.name === name); + if (!reference) return undefined; + return reference.resolved.scope.type; +}; diff --git a/node_modules/eslint-module-utils/hash.js b/node_modules/eslint-module-utils/hash.js index d69dd4df5..fcf00de38 100644 --- a/node_modules/eslint-module-utils/hash.js +++ b/node_modules/eslint-module-utils/hash.js @@ -2,58 +2,58 @@ * utilities for hashing config objects. * basically iteratively updates hash with a JSON-like format */ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const createHash = require('crypto').createHash +const createHash = require('crypto').createHash; -const stringify = JSON.stringify +const stringify = JSON.stringify; function hashify(value, hash) { - if (!hash) hash = createHash('sha256') + if (!hash) hash = createHash('sha256'); - if (value instanceof Array) { - hashArray(value, hash) + if (Array.isArray(value)) { + hashArray(value, hash); } else if (value instanceof Object) { - hashObject(value, hash) + hashObject(value, hash); } else { - hash.update(stringify(value) || 'undefined') + hash.update(stringify(value) || 'undefined'); } - return hash + return hash; } -exports.default = hashify +exports.default = hashify; function hashArray(array, hash) { - if (!hash) hash = createHash('sha256') + if (!hash) hash = createHash('sha256'); - hash.update('[') + hash.update('['); for (let i = 0; i < array.length; i++) { - hashify(array[i], hash) - hash.update(',') + hashify(array[i], hash); + hash.update(','); } - hash.update(']') + hash.update(']'); - return hash + return hash; } -hashify.array = hashArray -exports.hashArray = hashArray +hashify.array = hashArray; +exports.hashArray = hashArray; function hashObject(object, hash) { - if (!hash) hash = createHash('sha256') + if (!hash) hash = createHash('sha256'); - hash.update('{') + hash.update('{'); Object.keys(object).sort().forEach(key => { - hash.update(stringify(key)) - hash.update(':') - hashify(object[key], hash) - hash.update(',') - }) - hash.update('}') + hash.update(stringify(key)); + hash.update(':'); + hashify(object[key], hash); + hash.update(','); + }); + hash.update('}'); - return hash + return hash; } -hashify.object = hashObject -exports.hashObject = hashObject +hashify.object = hashObject; +exports.hashObject = hashObject; diff --git a/node_modules/eslint-module-utils/ignore.js b/node_modules/eslint-module-utils/ignore.js index 47af8122d..32bbbc624 100644 --- a/node_modules/eslint-module-utils/ignore.js +++ b/node_modules/eslint-module-utils/ignore.js @@ -1,60 +1,60 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const extname = require('path').extname +const extname = require('path').extname; -const log = require('debug')('eslint-plugin-import:utils:ignore') +const log = require('debug')('eslint-plugin-import:utils:ignore'); // one-shot memoized -let cachedSet, lastSettings +let cachedSet; let lastSettings; function validExtensions(context) { if (cachedSet && context.settings === lastSettings) { - return cachedSet + return cachedSet; } - lastSettings = context.settings - cachedSet = makeValidExtensionSet(context.settings) - return cachedSet + lastSettings = context.settings; + cachedSet = makeValidExtensionSet(context.settings); + return cachedSet; } function makeValidExtensionSet(settings) { // start with explicit JS-parsed extensions - const exts = new Set(settings['import/extensions'] || [ '.js' ]) + const exts = new Set(settings['import/extensions'] || [ '.js' ]); // all alternate parser extensions are also valid if ('import/parsers' in settings) { - for (let parser in settings['import/parsers']) { - const parserSettings = settings['import/parsers'][parser] + for (const parser in settings['import/parsers']) { + const parserSettings = settings['import/parsers'][parser]; if (!Array.isArray(parserSettings)) { - throw new TypeError('"settings" for ' + parser + ' must be an array') + throw new TypeError('"settings" for ' + parser + ' must be an array'); } - parserSettings.forEach(ext => exts.add(ext)) + parserSettings.forEach(ext => exts.add(ext)); } } - return exts + return exts; } -exports.getFileExtensions = makeValidExtensionSet +exports.getFileExtensions = makeValidExtensionSet; exports.default = function ignore(path, context) { // check extension whitelist first (cheap) - if (!hasValidExtension(path, context)) return true + if (!hasValidExtension(path, context)) return true; - if (!('import/ignore' in context.settings)) return false - const ignoreStrings = context.settings['import/ignore'] + if (!('import/ignore' in context.settings)) return false; + const ignoreStrings = context.settings['import/ignore']; for (let i = 0; i < ignoreStrings.length; i++) { - const regex = new RegExp(ignoreStrings[i]) + const regex = new RegExp(ignoreStrings[i]); if (regex.test(path)) { - log(`ignoring ${path}, matched pattern /${ignoreStrings[i]}/`) - return true + log(`ignoring ${path}, matched pattern /${ignoreStrings[i]}/`); + return true; } } - return false -} + return false; +}; function hasValidExtension(path, context) { - return validExtensions(context).has(extname(path)) + return validExtensions(context).has(extname(path)); } -exports.hasValidExtension = hasValidExtension +exports.hasValidExtension = hasValidExtension; diff --git a/node_modules/eslint-module-utils/module-require.js b/node_modules/eslint-module-utils/module-require.js index 689450658..70e551062 100644 --- a/node_modules/eslint-module-utils/module-require.js +++ b/node_modules/eslint-module-utils/module-require.js @@ -1,30 +1,30 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const Module = require('module') -const path = require('path') +const Module = require('module'); +const path = require('path'); // borrowed from babel-eslint function createModule(filename) { - const mod = new Module(filename) - mod.filename = filename - mod.paths = Module._nodeModulePaths(path.dirname(filename)) - return mod + const mod = new Module(filename); + mod.filename = filename; + mod.paths = Module._nodeModulePaths(path.dirname(filename)); + return mod; } exports.default = function moduleRequire(p) { try { // attempt to get espree relative to eslint - const eslintPath = require.resolve('eslint') - const eslintModule = createModule(eslintPath) - return require(Module._resolveFilename(p, eslintModule)) + const eslintPath = require.resolve('eslint'); + const eslintModule = createModule(eslintPath); + return require(Module._resolveFilename(p, eslintModule)); } catch(err) { /* ignore */ } try { // try relative to entry point - return require.main.require(p) + return require.main.require(p); } catch(err) { /* ignore */ } // finally, try from here - return require(p) -} + return require(p); +}; diff --git a/node_modules/eslint-module-utils/moduleVisitor.js b/node_modules/eslint-module-utils/moduleVisitor.js index bc8c91b0a..69269985b 100644 --- a/node_modules/eslint-module-utils/moduleVisitor.js +++ b/node_modules/eslint-module-utils/moduleVisitor.js @@ -1,5 +1,5 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; /** * Returns an object of node visitors that will call @@ -12,95 +12,103 @@ exports.__esModule = true */ exports.default = function visitModules(visitor, options) { // if esmodule is not explicitly disabled, it is assumed to be enabled - options = Object.assign({ esmodule: true }, options) + options = Object.assign({ esmodule: true }, options); - let ignoreRegExps = [] + let ignoreRegExps = []; if (options.ignore != null) { - ignoreRegExps = options.ignore.map(p => new RegExp(p)) + ignoreRegExps = options.ignore.map(p => new RegExp(p)); } function checkSourceValue(source, importer) { - if (source == null) return //? + if (source == null) return; //? // handle ignore - if (ignoreRegExps.some(re => re.test(source.value))) return + if (ignoreRegExps.some(re => re.test(source.value))) return; // fire visitor - visitor(source, importer) + visitor(source, importer); } // for import-y declarations function checkSource(node) { - checkSourceValue(node.source, node) + checkSourceValue(node.source, node); } // for esmodule dynamic `import()` calls function checkImportCall(node) { - if (node.callee.type !== 'Import') return - if (node.arguments.length !== 1) return + let modulePath; + // refs https://github.com/estree/estree/blob/master/es2020.md#importexpression + if (node.type === 'ImportExpression') { + modulePath = node.source; + } else if (node.type === 'CallExpression') { + if (node.callee.type !== 'Import') return; + if (node.arguments.length !== 1) return; - const modulePath = node.arguments[0] - if (modulePath.type !== 'Literal') return - if (typeof modulePath.value !== 'string') return + modulePath = node.arguments[0]; + } - checkSourceValue(modulePath, node) + if (modulePath.type !== 'Literal') return; + if (typeof modulePath.value !== 'string') return; + + checkSourceValue(modulePath, node); } // for CommonJS `require` calls // adapted from @mctep: http://git.io/v4rAu function checkCommon(call) { - if (call.callee.type !== 'Identifier') return - if (call.callee.name !== 'require') return - if (call.arguments.length !== 1) return + if (call.callee.type !== 'Identifier') return; + if (call.callee.name !== 'require') return; + if (call.arguments.length !== 1) return; - const modulePath = call.arguments[0] - if (modulePath.type !== 'Literal') return - if (typeof modulePath.value !== 'string') return + const modulePath = call.arguments[0]; + if (modulePath.type !== 'Literal') return; + if (typeof modulePath.value !== 'string') return; - checkSourceValue(modulePath, call) + checkSourceValue(modulePath, call); } function checkAMD(call) { - if (call.callee.type !== 'Identifier') return + if (call.callee.type !== 'Identifier') return; if (call.callee.name !== 'require' && - call.callee.name !== 'define') return - if (call.arguments.length !== 2) return + call.callee.name !== 'define') return; + if (call.arguments.length !== 2) return; - const modules = call.arguments[0] - if (modules.type !== 'ArrayExpression') return + const modules = call.arguments[0]; + if (modules.type !== 'ArrayExpression') return; - for (let element of modules.elements) { - if (element.type !== 'Literal') continue - if (typeof element.value !== 'string') continue + for (const element of modules.elements) { + if (element.type !== 'Literal') continue; + if (typeof element.value !== 'string') continue; if (element.value === 'require' || - element.value === 'exports') continue // magic modules: http://git.io/vByan + element.value === 'exports') continue; // magic modules: http://git.io/vByan - checkSourceValue(element, element) + checkSourceValue(element, element); } } - const visitors = {} + const visitors = {}; if (options.esmodule) { Object.assign(visitors, { 'ImportDeclaration': checkSource, 'ExportNamedDeclaration': checkSource, 'ExportAllDeclaration': checkSource, 'CallExpression': checkImportCall, - }) + 'ImportExpression': checkImportCall, + }); } if (options.commonjs || options.amd) { - const currentCallExpression = visitors['CallExpression'] + const currentCallExpression = visitors['CallExpression']; visitors['CallExpression'] = function (call) { - if (currentCallExpression) currentCallExpression(call) - if (options.commonjs) checkCommon(call) - if (options.amd) checkAMD(call) - } + if (currentCallExpression) currentCallExpression(call); + if (options.commonjs) checkCommon(call); + if (options.amd) checkAMD(call); + }; } - return visitors -} + return visitors; +}; /** * make an options schema for the module visitor, optionally @@ -121,21 +129,21 @@ function makeOptionsSchema(additionalProperties) { }, }, 'additionalProperties': false, - } + }; if (additionalProperties){ - for (let key in additionalProperties) { - base.properties[key] = additionalProperties[key] + for (const key in additionalProperties) { + base.properties[key] = additionalProperties[key]; } } - return base + return base; } -exports.makeOptionsSchema = makeOptionsSchema +exports.makeOptionsSchema = makeOptionsSchema; /** * json schema object for options parameter. can be used to build * rule options schema object. * @type {Object} */ -exports.optionsSchema = makeOptionsSchema() +exports.optionsSchema = makeOptionsSchema(); diff --git a/node_modules/eslint-module-utils/node_modules/debug/.coveralls.yml b/node_modules/eslint-module-utils/node_modules/debug/.coveralls.yml deleted file mode 100644 index 20a706858..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/node_modules/eslint-module-utils/node_modules/debug/.eslintrc b/node_modules/eslint-module-utils/node_modules/debug/.eslintrc deleted file mode 100644 index 8a37ae2c2..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/.eslintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { - "browser": true, - "node": true - }, - "rules": { - "no-console": 0, - "no-empty": [1, { "allowEmptyCatch": true }] - }, - "extends": "eslint:recommended" -} diff --git a/node_modules/eslint-module-utils/node_modules/debug/.npmignore b/node_modules/eslint-module-utils/node_modules/debug/.npmignore deleted file mode 100644 index 5f60eecc8..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -support -test -examples -example -*.sock -dist -yarn.lock -coverage -bower.json diff --git a/node_modules/eslint-module-utils/node_modules/debug/.travis.yml b/node_modules/eslint-module-utils/node_modules/debug/.travis.yml deleted file mode 100644 index 6c6090c3b..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ - -language: node_js -node_js: - - "6" - - "5" - - "4" - -install: - - make node_modules - -script: - - make lint - - make test - - make coveralls diff --git a/node_modules/eslint-module-utils/node_modules/debug/CHANGELOG.md b/node_modules/eslint-module-utils/node_modules/debug/CHANGELOG.md index eadaa1895..820d21e33 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/CHANGELOG.md +++ b/node_modules/eslint-module-utils/node_modules/debug/CHANGELOG.md @@ -1,4 +1,37 @@ +3.1.0 / 2017-09-26 +================== + + * Add `DEBUG_HIDE_DATE` env var (#486) + * Remove ReDoS regexp in %o formatter (#504) + * Remove "component" from package.json + * Remove `component.json` + * Ignore package-lock.json + * Examples: fix colors printout + * Fix: browser detection + * Fix: spelling mistake (#496, @EdwardBetts) + +3.0.1 / 2017-08-24 +================== + + * Fix: Disable colors in Edge and Internet Explorer (#489) + +3.0.0 / 2017-08-08 +================== + + * Breaking: Remove DEBUG_FD (#406) + * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) + * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) + * Addition: document `enabled` flag (#465) + * Addition: add 256 colors mode (#481) + * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) + * Update: component: update "ms" to v2.0.0 + * Update: separate the Node and Browser tests in Travis-CI + * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots + * Update: separate Node.js and web browser examples for organization + * Update: update "browserify" to v14.4.0 + * Fix: fix Readme typo (#473) + 2.6.9 / 2017-09-22 ================== @@ -27,7 +60,7 @@ 2.6.4 / 2017-04-20 ================== - * Fix: bug that would occure if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) * Chore: ignore bower.json in npm installations. (#437, @joaovieira) * Misc: update "ms" to v0.7.3 (@tootallnate) diff --git a/node_modules/eslint-module-utils/node_modules/debug/Makefile b/node_modules/eslint-module-utils/node_modules/debug/Makefile deleted file mode 100644 index 584da8bf9..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) - -# BIN directory -BIN := $(THIS_DIR)/node_modules/.bin - -# Path -PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash - -# applications -NODE ?= $(shell which node) -YARN ?= $(shell which yarn) -PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) -BROWSERIFY ?= $(NODE) $(BIN)/browserify - -.FORCE: - -install: node_modules - -node_modules: package.json - @NODE_ENV= $(PKG) install - @touch node_modules - -lint: .FORCE - eslint browser.js debug.js index.js node.js - -test-node: .FORCE - istanbul cover node_modules/mocha/bin/_mocha -- test/**.js - -test-browser: .FORCE - mkdir -p dist - - @$(BROWSERIFY) \ - --standalone debug \ - . > dist/debug.js - - karma start --single-run - rimraf dist - -test: .FORCE - concurrently \ - "make test-node" \ - "make test-browser" - -coveralls: - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -.PHONY: all install clean distclean diff --git a/node_modules/eslint-module-utils/node_modules/debug/README.md b/node_modules/eslint-module-utils/node_modules/debug/README.md index f67be6b31..0ee7634dd 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/README.md +++ b/node_modules/eslint-module-utils/node_modules/debug/README.md @@ -1,12 +1,11 @@ # debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + - -A tiny node.js debugging utility modelled after node core's debugging technique. - -**Discussion around the V3 API is under way [here](https://github.com/visionmedia/debug/issues/370)** +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. ## Installation @@ -18,7 +17,7 @@ $ npm install debug `debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. -Example _app.js_: +Example [_app.js_](./examples/node/app.js): ```js var debug = require('debug')('http') @@ -27,7 +26,7 @@ var debug = require('debug')('http') // fake app -debug('booting %s', name); +debug('booting %o', name); http.createServer(function(req, res){ debug(req.method + ' ' + req.url); @@ -41,81 +40,148 @@ http.createServer(function(req, res){ require('./worker'); ``` -Example _worker.js_: +Example [_worker.js_](./examples/node/worker.js): ```js -var debug = require('debug')('worker'); +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); -setInterval(function(){ - debug('doing some work'); -}, 1000); +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); ``` - The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. - ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) +Here are some examples: - ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm -#### Windows note +#### Windows command prompt notes - On Windows the environment variable is set using the `set` command. +##### CMD - ```cmd - set DEBUG=*,-not_this - ``` +On Windows the environment variable is set using the `set` command. - Note that PowerShell uses different syntax to set environment variables. +```cmd +set DEBUG=*,-not_this +``` - ```cmd - $env:DEBUG = "*,-not_this" - ``` +Example: + +```cmd +set DEBUG=* & node app.js +``` + +##### PowerShell (VS Code default) + +PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Example: + +```cmd +$env:DEBUG='app';node app.js +``` Then, run the program to be debugged as usual. +npm script example: +```js + "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js", +``` + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + ## Millisecond diff - When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) + - When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + - ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) ## Conventions - If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. ## Wildcards - The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:". +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". ## Environment Variables - When running through Node.js, you can set a few environment variables that will - change the behavior of the debug logging: +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: | Name | Purpose | |-----------|-------------------------------------------------| | `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | | `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_DEPTH` | Object inspection depth. | | `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - __Note:__ The environment variables beginning with `DEBUG_` end up being - converted into an Options object that gets used with `%o`/`%O` formatters. - See the Node.js documentation for - [`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) - for the complete list. +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. ## Formatters - - Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. Below are the officially supported formatters: +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: | Formatter | Representation | |-----------|----------------| @@ -126,9 +192,12 @@ Then, run the program to be debugged as usual. | `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | | `%%` | Single percent sign ('%'). This does not consume an argument. | + ### Custom formatters - You can add custom formatters by extending the `debug.formatters` object. For example, if you wanted to add support for rendering a Buffer as hex with `%h`, you could do something like: +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: ```js const createDebug = require('debug') @@ -142,14 +211,16 @@ debug('this is hex: %h', new Buffer('hello world')) // foo this is hex: 68656c6c6f20776f726c6421 +0ms ``` -## Browser support - You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), - or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), - if you don't want to build it yourself. - Debug's enable state is currently persisted by `localStorage`. - Consider the situation shown below where you have `worker:a` and `worker:b`, - and wish to debug both. You can enable this using `localStorage.debug`: +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: ```js localStorage.debug = 'worker:*' @@ -170,23 +241,12 @@ setInterval(function(){ }, 1200); ``` -#### Web Inspector Colors - - Colors are also enabled on "Web Inspectors" that understand the `%c` formatting - option. These are WebKit web inspectors, Firefox ([since version - 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) - and the Firebug plugin for Firefox (any version). - - Colored output looks something like: - - ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png) - ## Output streams By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: -Example _stdout.js_: +Example [_stdout.js_](./examples/node/stdout.js): ```js var debug = require('debug'); @@ -208,13 +268,78 @@ error('now goes to stdout via console.info'); log('still goes to stdout, but via console.info now'); ``` +## Extend +You can simply extend debugger +```js +const log = require('debug')('auth'); + +//creates new debug instance with extended namespace +const logSign = log.extend('sign'); +const logLogin = log.extend('login'); + +log('hello'); // auth hello +logSign('hello'); //auth:sign hello +logLogin('hello'); //auth:login hello +``` + +## Set dynamically + +You can also enable debug dynamically by calling the `enable()` method : + +```js +let debug = require('debug'); + +console.log(1, debug.enabled('test')); + +debug.enable('test'); +console.log(2, debug.enabled('test')); + +debug.disable(); +console.log(3, debug.enabled('test')); + +``` + +print : +``` +1 false +2 true +3 false +``` + +Usage : +`enable(namespaces)` +`namespaces` can include modes separated by a colon and wildcards. + +Note that calling `enable()` completely overrides previously set DEBUG variable : + +``` +$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))' +=> false +``` + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + ## Authors - TJ Holowaychuk - Nathan Rajlich - Andrew Rhyne - + ## Backers Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] @@ -290,7 +415,7 @@ Become a sponsor and get your logo on our README on Github with a link to your s (The MIT License) -Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/node_modules/eslint-module-utils/node_modules/debug/component.json b/node_modules/eslint-module-utils/node_modules/debug/component.json deleted file mode 100644 index 9de26410f..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "debug", - "repo": "visionmedia/debug", - "description": "small debugging utility", - "version": "2.6.9", - "keywords": [ - "debug", - "log", - "debugger" - ], - "main": "src/browser.js", - "scripts": [ - "src/browser.js", - "src/debug.js" - ], - "dependencies": { - "rauchg/ms.js": "0.7.1" - } -} diff --git a/node_modules/eslint-module-utils/node_modules/debug/karma.conf.js b/node_modules/eslint-module-utils/node_modules/debug/karma.conf.js deleted file mode 100644 index 103a82d15..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai', 'sinon'], - - - // list of files / patterns to load in the browser - files: [ - 'dist/debug.js', - 'test/*spec.js' - ], - - - // list of files to exclude - exclude: [ - 'src/node.js' - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['PhantomJS'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }) -} diff --git a/node_modules/eslint-module-utils/node_modules/debug/package.json b/node_modules/eslint-module-utils/node_modules/debug/package.json index 0b1b9df8b..e884995b0 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/package.json +++ b/node_modules/eslint-module-utils/node_modules/debug/package.json @@ -1,6 +1,6 @@ { "name": "debug", - "version": "2.6.9", + "version": "3.2.7", "repository": { "type": "git", "url": "git://github.com/visionmedia/debug.git" @@ -11,6 +11,13 @@ "log", "debugger" ], + "files": [ + "src", + "node.js", + "dist/debug.js", + "LICENSE", + "README.md" + ], "author": "TJ Holowaychuk ", "contributors": [ "Nathan Rajlich (http://n8.io)", @@ -18,32 +25,27 @@ ], "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" }, "devDependencies": { - "browserify": "9.0.3", + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "browserify": "14.4.0", "chai": "^3.5.0", "concurrently": "^3.1.0", - "coveralls": "^2.11.15", - "eslint": "^3.12.1", + "coveralls": "^3.0.2", "istanbul": "^0.4.5", - "karma": "^1.3.0", + "karma": "^3.0.0", "karma-chai": "^0.1.0", "karma-mocha": "^1.3.0", "karma-phantomjs-launcher": "^1.0.2", - "karma-sinon": "^1.0.5", - "mocha": "^3.2.0", + "mocha": "^5.2.0", "mocha-lcov-reporter": "^1.2.0", "rimraf": "^2.5.4", - "sinon": "^1.17.6", - "sinon-chai": "^2.8.0" + "xo": "^0.23.0" }, "main": "./src/index.js", "browser": "./src/browser.js", - "component": { - "scripts": { - "debug/index.js": "browser.js", - "debug/debug.js": "debug.js" - } - } + "unpkg": "./dist/debug.js" } \ No newline at end of file diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/browser.js b/node_modules/eslint-module-utils/node_modules/debug/src/browser.js index 710692493..c924b0ac4 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/src/browser.js +++ b/node_modules/eslint-module-utils/node_modules/debug/src/browser.js @@ -1,33 +1,23 @@ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/* eslint-env browser */ + /** * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. */ - -exports = module.exports = require('./debug'); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; exports.load = load; exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - +exports.storage = localstorage(); /** * Colors. */ -exports.colors = [ - 'lightseagreen', - 'forestgreen', - 'goldenrod', - 'dodgerblue', - 'darkorchid', - 'crimson' -]; - +exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; /** * Currently only WebKit-based Web Inspectors, Firefox >= v31, * and the Firebug extension (any Firefox version) are known @@ -35,79 +25,65 @@ exports.colors = [ * * TODO: add a `localStorage` variable to explicitly enable/disable colors */ +// eslint-disable-next-line complexity function useColors() { // NB: In an Electron preload script, document will be defined but not fully // initialized. Since we know we're in Chrome, we'll just detect this case // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { return true; - } + } // Internet Explorer and Edge do not support colors. - // is webkit? http://stackoverflow.com/a/16459606/376773 + + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } // Is webkit? http://stackoverflow.com/a/16459606/376773 // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); + + + return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - /** * Colorize log arguments if enabled. * * @api public */ + function formatArgs(args) { - var useColors = this.useColors; + args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; + if (!this.useColors) { + return; + } var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other + args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other // arguments passed either before or after the %c, so we need to // figure out the correct index to insert the CSS into + var index = 0; var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; + args[0].replace(/%[a-zA-Z%]/g, function (match) { + if (match === '%%') { + return; + } + index++; - if ('%c' === match) { - // we only are interested in the *last* %c + + if (match === '%c') { + // We only are interested in the *last* %c // (the user may have provided their own) lastC = index; } }); - args.splice(lastC, 0, c); } - /** * Invokes `console.log()` when available. * No-op when `console.log` is not a "function". @@ -115,14 +91,14 @@ function formatArgs(args) { * @api public */ -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} +function log() { + var _console; + + // This hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); +} /** * Save `namespaces`. * @@ -130,16 +106,18 @@ function log() { * @api private */ + function save(namespaces) { try { - if (null == namespaces) { - exports.storage.removeItem('debug'); + if (namespaces) { + exports.storage.setItem('debug', namespaces); } else { - exports.storage.debug = namespaces; + exports.storage.removeItem('debug'); } - } catch(e) {} + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } } - /** * Load `namespaces`. * @@ -147,26 +125,23 @@ function save(namespaces) { * @api private */ + function load() { var r; - try { - r = exports.storage.debug; - } catch(e) {} + try { + r = exports.storage.getItem('debug'); + } catch (error) {} // Swallow + // XXX (@Qix-) should we be logging these? // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + + if (!r && typeof process !== 'undefined' && 'env' in process) { r = process.env.DEBUG; } return r; } - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - /** * Localstorage attempts to return the localstorage. * @@ -178,8 +153,28 @@ exports.enable(load()); * @api private */ + function localstorage() { try { - return window.localStorage; - } catch (e) {} + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } } + +module.exports = require('./common')(exports); +var formatters = module.exports.formatters; +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/common.js b/node_modules/eslint-module-utils/node_modules/debug/src/common.js new file mode 100644 index 000000000..e0de3fb53 --- /dev/null +++ b/node_modules/eslint-module-utils/node_modules/debug/src/common.js @@ -0,0 +1,249 @@ +"use strict"; + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + Object.keys(env).forEach(function (key) { + createDebug[key] = env[key]; + }); + /** + * Active `debug` instances. + */ + + createDebug.instances = []; + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + + createDebug.formatters = {}; + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + + function selectColor(namespace) { + var hash = 0; + + for (var i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + + createDebug.selectColor = selectColor; + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + + function createDebug(namespace) { + var prevTime; + + function debug() { + // Disabled? + if (!debug.enabled) { + return; + } + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var self = debug; // Set `diff` timestamp + + var curr = Number(new Date()); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } // Apply any `formatters` transformations + + + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return match; + } + + index++; + var formatter = createDebug.formatters[format]; + + if (typeof formatter === 'function') { + var val = args[index]; + match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` + + args.splice(index, 1); + index--; + } + + return match; + }); // Apply env-specific formatting (colors, etc.) + + createDebug.formatArgs.call(self, args); + var logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = createDebug.enabled(namespace); + debug.useColors = createDebug.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + debug.extend = extend; // Debug.formatArgs = formatArgs; + // debug.rawLog = rawLog; + // env-specific initialization logic for debug instances + + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + createDebug.instances.push(debug); + return debug; + } + + function destroy() { + var index = createDebug.instances.indexOf(this); + + if (index !== -1) { + createDebug.instances.splice(index, 1); + return true; + } + + return false; + } + + function extend(namespace, delimiter) { + return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + } + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + + + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.names = []; + createDebug.skips = []; + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < createDebug.instances.length; i++) { + var instance = createDebug.instances[i]; + instance.enabled = createDebug.enabled(instance.namespace); + } + } + /** + * Disable debug output. + * + * @api public + */ + + + function disable() { + createDebug.enable(''); + } + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + + + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + var i; + var len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + + + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + + return val; + } + + createDebug.enable(createDebug.load()); + return createDebug; +} + +module.exports = setup; + diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/debug.js b/node_modules/eslint-module-utils/node_modules/debug/src/debug.js deleted file mode 100644 index 6a5e3fc94..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/src/debug.js +++ /dev/null @@ -1,202 +0,0 @@ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Previous log timestamp. - */ - -var prevTime; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - return debug; -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (var i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/index.js b/node_modules/eslint-module-utils/node_modules/debug/src/index.js index e12cf4d58..021731593 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/src/index.js +++ b/node_modules/eslint-module-utils/node_modules/debug/src/index.js @@ -1,10 +1,12 @@ +"use strict"; + /** - * Detect Electron renderer process, which is node, but we should + * Detect Electron renderer / nwjs process, which is node, but we should * treat as a browser. */ - -if (typeof process !== 'undefined' && process.type === 'renderer') { +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { module.exports = require('./browser.js'); } else { module.exports = require('./node.js'); } + diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/inspector-log.js b/node_modules/eslint-module-utils/node_modules/debug/src/inspector-log.js deleted file mode 100644 index 60ea6c04a..000000000 --- a/node_modules/eslint-module-utils/node_modules/debug/src/inspector-log.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = inspectorLog; - -// black hole -const nullStream = new (require('stream').Writable)(); -nullStream._write = () => {}; - -/** - * Outputs a `console.log()` to the Node.js Inspector console *only*. - */ -function inspectorLog() { - const stdout = console._stdout; - console._stdout = nullStream; - console.log.apply(console, arguments); - console._stdout = stdout; -} diff --git a/node_modules/eslint-module-utils/node_modules/debug/src/node.js b/node_modules/eslint-module-utils/node_modules/debug/src/node.js index b15109c90..1e6a5f16a 100644 --- a/node_modules/eslint-module-utils/node_modules/debug/src/node.js +++ b/node_modules/eslint-module-utils/node_modules/debug/src/node.js @@ -1,134 +1,112 @@ +"use strict"; + /** * Module dependencies. */ - var tty = require('tty'); -var util = require('util'); +var util = require('util'); /** * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. */ -exports = module.exports = require('./debug'); + exports.init = init; exports.log = log; exports.formatArgs = formatArgs; exports.save = save; exports.load = load; exports.useColors = useColors; - /** * Colors. */ exports.colors = [6, 2, 3, 4, 5, 1]; +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + var supportsColor = require('supports-color'); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221]; + } +} catch (error) {} // Swallow - we only care if `supports-color` is available; it doesn't have to be. + /** * Build up the default `inspectOpts` object from the environment variables. * * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js */ + exports.inspectOpts = Object.keys(process.env).filter(function (key) { return /^debug_/i.test(key); }).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + // Camel-case + var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function (_, k) { + return k.toUpperCase(); + }); // Coerce string value into JS value - // coerce string value into JS value var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); + + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } obj[prop] = val; return obj; }, {}); - -/** - * The file descriptor to write the `debug()` calls to. - * Set the `DEBUG_FD` env variable to override with another value. i.e.: - * - * $ DEBUG_FD=3 node script.js 3>debug.log - */ - -var fd = parseInt(process.env.DEBUG_FD, 10) || 2; - -if (1 !== fd && 2 !== fd) { - util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')() -} - -var stream = 1 === fd ? process.stdout : - 2 === fd ? process.stderr : - createWritableStdioStream(fd); - /** * Is stdout a TTY? Colored output is enabled when `true`. */ function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(fd); + return 'colors' in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd); } - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - /** * Adds ANSI color escape codes if enabled. * * @api public */ + function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; + var name = this.namespace, + useColors = this.useColors; if (useColors) { var c = this.color; - var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m'; - + var colorCode = "\x1B[3" + (c < 8 ? c : '8;5;' + c); + var prefix = " ".concat(colorCode, ";1m").concat(name, " \x1B[0m"); args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + "\x1B[0m"); } else { - args[0] = new Date().toUTCString() - + ' ' + name + ' ' + args[0]; + args[0] = getDate() + name + ' ' + args[0]; } } +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + + return new Date().toISOString() + ' '; +} /** - * Invokes `util.format()` with the specified arguments and writes to `stream`. + * Invokes `util.format()` with the specified arguments and writes to stderr. */ -function log() { - return stream.write(util.format.apply(util, arguments) + '\n'); -} +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} /** * Save `namespaces`. * @@ -136,16 +114,16 @@ function log() { * @api private */ + function save(namespaces) { - if (null == namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { // If you set a process.env field to null or undefined, it gets cast to the // string 'null' or 'undefined'. Just delete instead. delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; } } - /** * Load `namespaces`. * @@ -153,78 +131,10 @@ function save(namespaces) { * @api private */ + function load() { return process.env.DEBUG; } - -/** - * Copied from `node/src/node.js`. - * - * XXX: It's lame that node doesn't expose this API out-of-the-box. It also - * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame. - */ - -function createWritableStdioStream (fd) { - var stream; - var tty_wrap = process.binding('tty_wrap'); - - // Note stream._type is used for test-module-load-list.js - - switch (tty_wrap.guessHandleType(fd)) { - case 'TTY': - stream = new tty.WriteStream(fd); - stream._type = 'tty'; - - // Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - case 'FILE': - var fs = require('fs'); - stream = new fs.SyncWriteStream(fd, { autoClose: false }); - stream._type = 'fs'; - break; - - case 'PIPE': - case 'TCP': - var net = require('net'); - stream = new net.Socket({ - fd: fd, - readable: false, - writable: true - }); - - // FIXME Should probably have an option in net.Socket to create a - // stream from an existing fd which is writable only. But for now - // we'll just add this hack and set the `readable` member to false. - // Test: ./node test/fixtures/echo.js < /etc/passwd - stream.readable = false; - stream.read = null; - stream._type = 'pipe'; - - // FIXME Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - default: - // Probably an error on in uv_guess_handle() - throw new Error('Implement me. Unknown stream file type!'); - } - - // For supporting legacy API we put the FD here. - stream.fd = fd; - - stream._isStdio = true; - - return stream; -} - /** * Init logic for `debug` instances. * @@ -232,17 +142,36 @@ function createWritableStdioStream (fd) { * differently for a particular `debug` instance. */ -function init (debug) { - debug.inspectOpts = {}; +function init(debug) { + debug.inspectOpts = {}; var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; } } +module.exports = require('./common')(exports); +var formatters = module.exports.formatters; /** - * Enable namespaces listed in `process.env.DEBUG` initially. + * Map %o to `util.inspect()`, all on a single line. */ -exports.enable(load()); +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(function (str) { return str.trim(); }) + .join(' '); +}; +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + diff --git a/node_modules/eslint-module-utils/node_modules/ms/index.js b/node_modules/eslint-module-utils/node_modules/ms/index.js deleted file mode 100644 index 6a522b16b..000000000 --- a/node_modules/eslint-module-utils/node_modules/ms/index.js +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Helpers. - */ - -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var y = d * 365.25; - -/** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] - * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public - */ - -module.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - 'val is not a non-empty string or a valid number. val=' + - JSON.stringify(val) - ); -}; - -/** - * Parse the given `str` and return milliseconds. - * - * @param {String} str - * @return {Number} - * @api private - */ - -function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - case 'days': - case 'day': - case 'd': - return n * d; - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - default: - return undefined; - } -} - -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtShort(ms) { - if (ms >= d) { - return Math.round(ms / d) + 'd'; - } - if (ms >= h) { - return Math.round(ms / h) + 'h'; - } - if (ms >= m) { - return Math.round(ms / m) + 'm'; - } - if (ms >= s) { - return Math.round(ms / s) + 's'; - } - return ms + 'ms'; -} - -/** - * Long format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtLong(ms) { - return plural(ms, d, 'day') || - plural(ms, h, 'hour') || - plural(ms, m, 'minute') || - plural(ms, s, 'second') || - ms + ' ms'; -} - -/** - * Pluralization helper. - */ - -function plural(ms, n, name) { - if (ms < n) { - return; - } - if (ms < n * 1.5) { - return Math.floor(ms / n) + ' ' + name; - } - return Math.ceil(ms / n) + ' ' + name + 's'; -} diff --git a/node_modules/eslint-module-utils/node_modules/ms/license.md b/node_modules/eslint-module-utils/node_modules/ms/license.md deleted file mode 100644 index 69b61253a..000000000 --- a/node_modules/eslint-module-utils/node_modules/ms/license.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Zeit, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/eslint-module-utils/node_modules/ms/package.json b/node_modules/eslint-module-utils/node_modules/ms/package.json deleted file mode 100644 index 63aaff3ab..000000000 --- a/node_modules/eslint-module-utils/node_modules/ms/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "ms", - "version": "2.0.0", - "description": "Tiny milisecond conversion utility", - "repository": "zeit/ms", - "main": "./index", - "files": [ - "index.js" - ], - "scripts": { - "precommit": "lint-staged", - "lint": "eslint lib/* bin/*", - "test": "mocha tests.js" - }, - "eslintConfig": { - "extends": "eslint:recommended", - "env": { - "node": true, - "es6": true - } - }, - "lint-staged": { - "*.js": [ - "npm run lint", - "prettier --single-quote --write", - "git add" - ] - }, - "license": "MIT", - "devDependencies": { - "eslint": "3.19.0", - "expect.js": "0.3.1", - "husky": "0.13.3", - "lint-staged": "3.4.1", - "mocha": "3.4.1" - } -} \ No newline at end of file diff --git a/node_modules/eslint-module-utils/node_modules/ms/readme.md b/node_modules/eslint-module-utils/node_modules/ms/readme.md deleted file mode 100644 index 84a9974cc..000000000 --- a/node_modules/eslint-module-utils/node_modules/ms/readme.md +++ /dev/null @@ -1,51 +0,0 @@ -# ms - -[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) -[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) - -Use this package to easily convert various time formats to milliseconds. - -## Examples - -```js -ms('2 days') // 172800000 -ms('1d') // 86400000 -ms('10h') // 36000000 -ms('2.5 hrs') // 9000000 -ms('2h') // 7200000 -ms('1m') // 60000 -ms('5s') // 5000 -ms('1y') // 31557600000 -ms('100') // 100 -``` - -### Convert from milliseconds - -```js -ms(60000) // "1m" -ms(2 * 60000) // "2m" -ms(ms('10 hours')) // "10h" -``` - -### Time format written-out - -```js -ms(60000, { long: true }) // "1 minute" -ms(2 * 60000, { long: true }) // "2 minutes" -ms(ms('10 hours'), { long: true }) // "10 hours" -``` - -## Features - -- Works both in [node](https://nodejs.org) and in the browser. -- If a number is supplied to `ms`, a string with a unit is returned. -- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). -- If you pass a string with a number and a valid unit, the number of equivalent ms is returned. - -## Caught a bug? - -1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device -2. Link the package to the global module directory: `npm link` -3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! - -As always, you can run the tests using: `npm test` diff --git a/node_modules/eslint-module-utils/package.json b/node_modules/eslint-module-utils/package.json index f311b235a..f7a9b7c77 100644 --- a/node_modules/eslint-module-utils/package.json +++ b/node_modules/eslint-module-utils/package.json @@ -1,6 +1,6 @@ { "name": "eslint-module-utils", - "version": "2.6.0", + "version": "2.6.1", "description": "Core utilities to support eslint-plugin-import and other module-related plugins.", "engines": { "node": ">=4" @@ -26,7 +26,7 @@ }, "homepage": "https://github.com/benmosher/eslint-plugin-import#readme", "dependencies": { - "debug": "^2.6.9", + "debug": "^3.2.7", "pkg-dir": "^2.0.0" } } \ No newline at end of file diff --git a/node_modules/eslint-module-utils/parse.js b/node_modules/eslint-module-utils/parse.js index b3a469221..9cc2380b3 100644 --- a/node_modules/eslint-module-utils/parse.js +++ b/node_modules/eslint-module-utils/parse.js @@ -1,82 +1,82 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const moduleRequire = require('./module-require').default -const extname = require('path').extname +const moduleRequire = require('./module-require').default; +const extname = require('path').extname; -const log = require('debug')('eslint-plugin-import:parse') +const log = require('debug')('eslint-plugin-import:parse'); exports.default = function parse(path, content, context) { - if (context == null) throw new Error('need context to parse properly') + if (context == null) throw new Error('need context to parse properly'); - let parserOptions = context.parserOptions - const parserPath = getParserPath(path, context) + let parserOptions = context.parserOptions; + const parserPath = getParserPath(path, context); - if (!parserPath) throw new Error('parserPath is required!') + if (!parserPath) throw new Error('parserPath is required!'); // hack: espree blows up with frozen options - parserOptions = Object.assign({}, parserOptions) - parserOptions.ecmaFeatures = Object.assign({}, parserOptions.ecmaFeatures) + parserOptions = Object.assign({}, parserOptions); + parserOptions.ecmaFeatures = Object.assign({}, parserOptions.ecmaFeatures); // always include comments and tokens (for doc parsing) - parserOptions.comment = true - parserOptions.attachComment = true // keeping this for backward-compat with older parsers - parserOptions.tokens = true + parserOptions.comment = true; + parserOptions.attachComment = true; // keeping this for backward-compat with older parsers + parserOptions.tokens = true; // attach node locations - parserOptions.loc = true - parserOptions.range = true + parserOptions.loc = true; + parserOptions.range = true; // provide the `filePath` like eslint itself does, in `parserOptions` // https://github.com/eslint/eslint/blob/3ec436ee/lib/linter.js#L637 - parserOptions.filePath = path - + parserOptions.filePath = path; + // @typescript-eslint/parser will parse the entire project with typechecking if you provide // "project" or "projects" in parserOptions. Removing these options means the parser will // only parse one file in isolate mode, which is much, much faster. // https://github.com/benmosher/eslint-plugin-import/issues/1408#issuecomment-509298962 - delete parserOptions.project - delete parserOptions.projects - + delete parserOptions.project; + delete parserOptions.projects; + // require the parser relative to the main module (i.e., ESLint) - const parser = moduleRequire(parserPath) + const parser = moduleRequire(parserPath); if (typeof parser.parseForESLint === 'function') { - let ast + let ast; try { - ast = parser.parseForESLint(content, parserOptions).ast + ast = parser.parseForESLint(content, parserOptions).ast; } catch (e) { - console.warn() - console.warn('Error while parsing ' + parserOptions.filePath) - console.warn('Line ' + e.lineNumber + ', column ' + e.column + ': ' + e.message) + console.warn(); + console.warn('Error while parsing ' + parserOptions.filePath); + console.warn('Line ' + e.lineNumber + ', column ' + e.column + ': ' + e.message); } if (!ast || typeof ast !== 'object') { console.warn( '`parseForESLint` from parser `' + parserPath + '` is invalid and will just be ignored' - ) + ); } else { - return ast + return ast; } } - return parser.parse(content, parserOptions) -} + return parser.parse(content, parserOptions); +}; function getParserPath(path, context) { - const parsers = context.settings['import/parsers'] + const parsers = context.settings['import/parsers']; if (parsers != null) { - const extension = extname(path) - for (let parserPath in parsers) { + const extension = extname(path); + for (const parserPath in parsers) { if (parsers[parserPath].indexOf(extension) > -1) { // use this alternate parser - log('using alt parser:', parserPath) - return parserPath + log('using alt parser:', parserPath); + return parserPath; } } } // default to use ESLint parser - return context.parserPath + return context.parserPath; } diff --git a/node_modules/eslint-module-utils/resolve.js b/node_modules/eslint-module-utils/resolve.js index 3138194a9..ea5bf5a15 100644 --- a/node_modules/eslint-module-utils/resolve.js +++ b/node_modules/eslint-module-utils/resolve.js @@ -1,211 +1,211 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const pkgDir = require('pkg-dir') +const pkgDir = require('pkg-dir'); -const fs = require('fs') -const Module = require('module') -const path = require('path') +const fs = require('fs'); +const Module = require('module'); +const path = require('path'); -const hashObject = require('./hash').hashObject - , ModuleCache = require('./ModuleCache').default +const hashObject = require('./hash').hashObject; +const ModuleCache = require('./ModuleCache').default; -const CASE_SENSITIVE_FS = !fs.existsSync(path.join(__dirname, 'reSOLVE.js')) -exports.CASE_SENSITIVE_FS = CASE_SENSITIVE_FS +const CASE_SENSITIVE_FS = !fs.existsSync(path.join(__dirname.toUpperCase(), 'reSOLVE.js')); +exports.CASE_SENSITIVE_FS = CASE_SENSITIVE_FS; -const ERROR_NAME = 'EslintPluginImportResolveError' +const ERROR_NAME = 'EslintPluginImportResolveError'; -const fileExistsCache = new ModuleCache() +const fileExistsCache = new ModuleCache(); // Polyfill Node's `Module.createRequireFromPath` if not present (added in Node v10.12.0) // Use `Module.createRequire` if available (added in Node v12.2.0) const createRequire = Module.createRequire || Module.createRequireFromPath || function (filename) { - const mod = new Module(filename, null) - mod.filename = filename - mod.paths = Module._nodeModulePaths(path.dirname(filename)) + const mod = new Module(filename, null); + mod.filename = filename; + mod.paths = Module._nodeModulePaths(path.dirname(filename)); - mod._compile(`module.exports = require;`, filename) + mod._compile(`module.exports = require;`, filename); - return mod.exports -} + return mod.exports; +}; function tryRequire(target, sourceFile) { - let resolved + let resolved; try { // Check if the target exists if (sourceFile != null) { try { - resolved = createRequire(path.resolve(sourceFile)).resolve(target) + resolved = createRequire(path.resolve(sourceFile)).resolve(target); } catch (e) { - resolved = require.resolve(target) + resolved = require.resolve(target); } } else { - resolved = require.resolve(target) + resolved = require.resolve(target); } } catch(e) { // If the target does not exist then just return undefined - return undefined + return undefined; } // If the target exists then return the loaded module - return require(resolved) + return require(resolved); } // http://stackoverflow.com/a/27382838 exports.fileExistsWithCaseSync = function fileExistsWithCaseSync(filepath, cacheSettings) { // don't care if the FS is case-sensitive - if (CASE_SENSITIVE_FS) return true + if (CASE_SENSITIVE_FS) return true; // null means it resolved to a builtin - if (filepath === null) return true - if (filepath.toLowerCase() === process.cwd().toLowerCase()) return true - const parsedPath = path.parse(filepath) - , dir = parsedPath.dir + if (filepath === null) return true; + if (filepath.toLowerCase() === process.cwd().toLowerCase()) return true; + const parsedPath = path.parse(filepath); + const dir = parsedPath.dir; - let result = fileExistsCache.get(filepath, cacheSettings) - if (result != null) return result + let result = fileExistsCache.get(filepath, cacheSettings); + if (result != null) return result; // base case if (dir === '' || parsedPath.root === filepath) { - result = true + result = true; } else { - const filenames = fs.readdirSync(dir) + const filenames = fs.readdirSync(dir); if (filenames.indexOf(parsedPath.base) === -1) { - result = false + result = false; } else { - result = fileExistsWithCaseSync(dir, cacheSettings) + result = fileExistsWithCaseSync(dir, cacheSettings); } } - fileExistsCache.set(filepath, result) - return result -} + fileExistsCache.set(filepath, result); + return result; +}; function relative(modulePath, sourceFile, settings) { - return fullResolve(modulePath, sourceFile, settings).path + return fullResolve(modulePath, sourceFile, settings).path; } function fullResolve(modulePath, sourceFile, settings) { // check if this is a bonus core module - const coreSet = new Set(settings['import/core-modules']) - if (coreSet.has(modulePath)) return { found: true, path: null } + const coreSet = new Set(settings['import/core-modules']); + if (coreSet.has(modulePath)) return { found: true, path: null }; - const sourceDir = path.dirname(sourceFile) - , cacheKey = sourceDir + hashObject(settings).digest('hex') + modulePath + const sourceDir = path.dirname(sourceFile); + const cacheKey = sourceDir + hashObject(settings).digest('hex') + modulePath; - const cacheSettings = ModuleCache.getSettings(settings) + const cacheSettings = ModuleCache.getSettings(settings); - const cachedPath = fileExistsCache.get(cacheKey, cacheSettings) - if (cachedPath !== undefined) return { found: true, path: cachedPath } + const cachedPath = fileExistsCache.get(cacheKey, cacheSettings); + if (cachedPath !== undefined) return { found: true, path: cachedPath }; function cache(resolvedPath) { - fileExistsCache.set(cacheKey, resolvedPath) + fileExistsCache.set(cacheKey, resolvedPath); } function withResolver(resolver, config) { function v1() { try { - const resolved = resolver.resolveImport(modulePath, sourceFile, config) - if (resolved === undefined) return { found: false } - return { found: true, path: resolved } + const resolved = resolver.resolveImport(modulePath, sourceFile, config); + if (resolved === undefined) return { found: false }; + return { found: true, path: resolved }; } catch (err) { - return { found: false } + return { found: false }; } } function v2() { - return resolver.resolve(modulePath, sourceFile, config) + return resolver.resolve(modulePath, sourceFile, config); } switch (resolver.interfaceVersion) { - case 2: - return v2() + case 2: + return v2(); - default: - case 1: - return v1() + default: + case 1: + return v1(); } } const configResolvers = (settings['import/resolver'] - || { 'node': settings['import/resolve'] }) // backward compatibility + || { 'node': settings['import/resolve'] }); // backward compatibility - const resolvers = resolverReducer(configResolvers, new Map()) + const resolvers = resolverReducer(configResolvers, new Map()); - for (let pair of resolvers) { - let name = pair[0] - , config = pair[1] - const resolver = requireResolver(name, sourceFile) - , resolved = withResolver(resolver, config) + for (const pair of resolvers) { + const name = pair[0]; + const config = pair[1]; + const resolver = requireResolver(name, sourceFile); + const resolved = withResolver(resolver, config); - if (!resolved.found) continue + if (!resolved.found) continue; // else, counts - cache(resolved.path) - return resolved + cache(resolved.path); + return resolved; } // failed // cache(undefined) - return { found: false } + return { found: false }; } -exports.relative = relative +exports.relative = relative; function resolverReducer(resolvers, map) { - if (resolvers instanceof Array) { - resolvers.forEach(r => resolverReducer(r, map)) - return map + if (Array.isArray(resolvers)) { + resolvers.forEach(r => resolverReducer(r, map)); + return map; } if (typeof resolvers === 'string') { - map.set(resolvers, null) - return map + map.set(resolvers, null); + return map; } if (typeof resolvers === 'object') { - for (let key in resolvers) { - map.set(key, resolvers[key]) + for (const key in resolvers) { + map.set(key, resolvers[key]); } - return map + return map; } - const err = new Error('invalid resolver config') - err.name = ERROR_NAME - throw err + const err = new Error('invalid resolver config'); + err.name = ERROR_NAME; + throw err; } function getBaseDir(sourceFile) { - return pkgDir.sync(sourceFile) || process.cwd() + return pkgDir.sync(sourceFile) || process.cwd(); } function requireResolver(name, sourceFile) { // Try to resolve package with conventional name - let resolver = tryRequire(`eslint-import-resolver-${name}`, sourceFile) || + const resolver = tryRequire(`eslint-import-resolver-${name}`, sourceFile) || tryRequire(name, sourceFile) || - tryRequire(path.resolve(getBaseDir(sourceFile), name)) + tryRequire(path.resolve(getBaseDir(sourceFile), name)); if (!resolver) { - const err = new Error(`unable to load resolver "${name}".`) - err.name = ERROR_NAME - throw err + const err = new Error(`unable to load resolver "${name}".`); + err.name = ERROR_NAME; + throw err; } if (!isResolverValid(resolver)) { - const err = new Error(`${name} with invalid interface loaded as resolver`) - err.name = ERROR_NAME - throw err + const err = new Error(`${name} with invalid interface loaded as resolver`); + err.name = ERROR_NAME; + throw err; } - return resolver + return resolver; } function isResolverValid(resolver) { if (resolver.interfaceVersion === 2) { - return resolver.resolve && typeof resolver.resolve === 'function' + return resolver.resolve && typeof resolver.resolve === 'function'; } else { - return resolver.resolveImport && typeof resolver.resolveImport === 'function' + return resolver.resolveImport && typeof resolver.resolveImport === 'function'; } } -const erroredContexts = new Set() +const erroredContexts = new Set(); /** * Given @@ -218,24 +218,24 @@ const erroredContexts = new Set() function resolve(p, context) { try { return relative( p - , context.getFilename() - , context.settings - ) + , context.getFilename() + , context.settings + ); } catch (err) { if (!erroredContexts.has(context)) { // The `err.stack` string starts with `err.name` followed by colon and `err.message`. // We're filtering out the default `err.name` because it adds little value to the message. - let errMessage = err.message + let errMessage = err.message; if (err.name !== ERROR_NAME && err.stack) { - errMessage = err.stack.replace(/^Error: /, '') + errMessage = err.stack.replace(/^Error: /, ''); } context.report({ message: `Resolve error: ${errMessage}`, loc: { line: 1, column: 0 }, - }) - erroredContexts.add(context) + }); + erroredContexts.add(context); } } } -resolve.relative = relative -exports.default = resolve +resolve.relative = relative; +exports.default = resolve; diff --git a/node_modules/eslint-module-utils/unambiguous.js b/node_modules/eslint-module-utils/unambiguous.js index 1dae1d616..1446632f3 100644 --- a/node_modules/eslint-module-utils/unambiguous.js +++ b/node_modules/eslint-module-utils/unambiguous.js @@ -1,8 +1,8 @@ -'use strict' -exports.__esModule = true +'use strict'; +exports.__esModule = true; -const pattern = /(^|;)\s*(export|import)((\s+\w)|(\s*[{*=]))/m +const pattern = /(^|;)\s*(export|import)((\s+\w)|(\s*[{*=]))/m; /** * detect possible imports/exports without a full parse. * @@ -14,11 +14,11 @@ const pattern = /(^|;)\s*(export|import)((\s+\w)|(\s*[{*=]))/m * @type {RegExp} */ exports.test = function isMaybeUnambiguousModule(content) { - return pattern.test(content) -} + return pattern.test(content); +}; // future-/Babel-proof at the expense of being a little loose -const unambiguousNodeType = /^(?:(?:Exp|Imp)ort.*Declaration|TSExportAssignment)$/ +const unambiguousNodeType = /^(?:(?:Exp|Imp)ort.*Declaration|TSExportAssignment)$/; /** * Given an AST, return true if the AST unambiguously represents a module. @@ -26,5 +26,5 @@ const unambiguousNodeType = /^(?:(?:Exp|Imp)ort.*Declaration|TSExportAssignment) * @return {Boolean} */ exports.isModule = function isUnambiguousModule(ast) { - return ast.body.some(node => unambiguousNodeType.test(node.type)) -} + return ast.body.some(node => unambiguousNodeType.test(node.type)); +}; diff --git a/node_modules/eslint-plugin-github/README.md b/node_modules/eslint-plugin-github/README.md index db14ae053..629a54f5a 100644 --- a/node_modules/eslint-plugin-github/README.md +++ b/node_modules/eslint-plugin-github/README.md @@ -1,5 +1,7 @@ # eslint-plugin-github +[![Node CI](https://github.com/github/eslint-plugin-github/actions/workflows/nodejs.yml/badge.svg)](https://github.com/github/eslint-plugin-github/actions/workflows/nodejs.yml) + ## Installation ```sh @@ -28,7 +30,7 @@ JSON ESLint config example: The available configs are: -- `app` +- `internal` - Rules useful for github applications. - `browser` - Useful rules when shipping your app to the browser. diff --git a/node_modules/eslint-plugin-github/lib/configs/typescript.js b/node_modules/eslint-plugin-github/lib/configs/typescript.js index ff480bef7..5ec8c9741 100644 --- a/node_modules/eslint-plugin-github/lib/configs/typescript.js +++ b/node_modules/eslint-plugin-github/lib/configs/typescript.js @@ -1,10 +1,12 @@ module.exports = { - extends: ['plugin:@typescript-eslint/recommended', 'prettier', 'prettier/@typescript-eslint'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], parser: '@typescript-eslint/parser', plugins: ['@typescript-eslint', 'github'], rules: { camelcase: 'off', 'no-unused-vars': 'off', + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': ['error'], '@typescript-eslint/interface-name-prefix': 'off', '@typescript-eslint/array-type': ['error', {default: 'array-simple'}], '@typescript-eslint/no-use-before-define': 'off', diff --git a/node_modules/eslint-plugin-github/lib/formatters/stylish-fixes.js b/node_modules/eslint-plugin-github/lib/formatters/stylish-fixes.js index 6ab58bc69..4b977175f 100644 --- a/node_modules/eslint-plugin-github/lib/formatters/stylish-fixes.js +++ b/node_modules/eslint-plugin-github/lib/formatters/stylish-fixes.js @@ -12,7 +12,8 @@ try { } const getRuleURI = require('eslint-rule-documentation') -module.exports = function(results) { +// eslint-disable-next-line eslint-plugin/prefer-object-rule +module.exports = function (results) { let output = '\n' let errors = 0 let warnings = 0 @@ -82,8 +83,5 @@ function diff(a, b) { fs.writeFileSync(aPath, a, {encoding: 'utf8'}) fs.writeFileSync(bPath, b, {encoding: 'utf8'}) const result = childProcess.spawnSync('diff', ['-U5', aPath, bPath], {encoding: 'utf8'}) - return result.stdout - .split('\n') - .slice(2) - .join('\n') + return result.stdout.split('\n').slice(2).join('\n') } diff --git a/node_modules/eslint-plugin-github/lib/rules/array-foreach.js b/node_modules/eslint-plugin-github/lib/rules/array-foreach.js index 7b5aee965..279e9687d 100644 --- a/node_modules/eslint-plugin-github/lib/rules/array-foreach.js +++ b/node_modules/eslint-plugin-github/lib/rules/array-foreach.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'suggestion', + docs: { + description: 'enforce `for..of` loops over `Array.forEach`', + url: require('../url')(module) + }, schema: [] }, @@ -8,7 +12,7 @@ module.exports = { return { CallExpression(node) { if (node.callee.property && node.callee.property.name === 'forEach') { - context.report(node, 'Prefer for...of instead of Array.forEach') + context.report({node, message: 'Prefer for...of instead of Array.forEach'}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/async-currenttarget.js b/node_modules/eslint-plugin-github/lib/rules/async-currenttarget.js index d07605ef2..d96c43ba8 100644 --- a/node_modules/eslint-plugin-github/lib/rules/async-currenttarget.js +++ b/node_modules/eslint-plugin-github/lib/rules/async-currenttarget.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'problem', + docs: { + description: 'disallow `event.currentTarget` calls inside of async functions', + url: require('../url')(module) + }, schema: [] }, @@ -15,7 +19,7 @@ module.exports = { if (node.property && node.property.name === 'currentTarget') { const scope = context.getScope() if (scope.block.async && scopeDidWait.has(scope)) { - context.report(node, 'event.currentTarget inside an async function is error prone') + context.report({node, message: 'event.currentTarget inside an async function is error prone'}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/async-preventdefault.js b/node_modules/eslint-plugin-github/lib/rules/async-preventdefault.js index ab996c495..208d99a68 100644 --- a/node_modules/eslint-plugin-github/lib/rules/async-preventdefault.js +++ b/node_modules/eslint-plugin-github/lib/rules/async-preventdefault.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'problem', + docs: { + description: 'disallow `event.preventDefault` calls inside of async functions', + url: require('../url')(module) + }, schema: [] }, @@ -15,7 +19,7 @@ module.exports = { if (node.callee.property && node.callee.property.name === 'preventDefault') { const scope = context.getScope() if (scope.block.async && scopeDidWait.has(scope)) { - context.report(node, 'event.preventDefault() inside an async function is error prone') + context.report({node, message: 'event.preventDefault() inside an async function is error prone'}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/authenticity-token.js b/node_modules/eslint-plugin-github/lib/rules/authenticity-token.js index bccc678d1..cccd881a6 100644 --- a/node_modules/eslint-plugin-github/lib/rules/authenticity-token.js +++ b/node_modules/eslint-plugin-github/lib/rules/authenticity-token.js @@ -1,16 +1,21 @@ module.exports = { meta: { - docs: {}, + type: 'problem', + docs: { + description: 'disallow usage of CSRF tokens in JavaScript', + url: require('../url')(module) + }, schema: [] }, create(context) { function checkAuthenticityTokenUsage(node, str) { if (str.includes('authenticity_token')) { - context.report( + context.report({ node, - 'Form CSRF tokens (authenticity tokens) should not be created in JavaScript and their values should not be used directly for XHR requests.' - ) + message: + 'Form CSRF tokens (authenticity tokens) should not be created in JavaScript and their values should not be used directly for XHR requests.' + }) } } diff --git a/node_modules/eslint-plugin-github/lib/rules/get-attribute.js b/node_modules/eslint-plugin-github/lib/rules/get-attribute.js index 27eb873b4..0dd553d8c 100644 --- a/node_modules/eslint-plugin-github/lib/rules/get-attribute.js +++ b/node_modules/eslint-plugin-github/lib/rules/get-attribute.js @@ -17,28 +17,36 @@ function isValidAttribute(name) { return validSVGAttributeSet.has(name) || (validAttributeName.test(name) && !invalidSVGAttributeSet.has(name)) } -module.exports = function(context) { - return { - CallExpression(node) { - if (!node.callee.property) return +module.exports = { + meta: { + type: 'problem', + docs: { + description: 'disallow wrong usage of attribute names', + url: require('../url')(module) + }, + fixable: 'code', + schema: [] + }, + create(context) { + return { + CallExpression(node) { + if (!node.callee.property) return - const calleeName = node.callee.property.name - if (!attributeCalls.test(calleeName)) return + const calleeName = node.callee.property.name + if (!attributeCalls.test(calleeName)) return - const attributeNameNode = node.arguments[0] - if (!attributeNameNode) return + const attributeNameNode = node.arguments[0] + if (!attributeNameNode) return - if (!isValidAttribute(attributeNameNode.value)) { - context.report({ - meta: { - fixable: 'code' - }, - node: attributeNameNode, - message: 'Attributes should be lowercase and hyphen separated, or part of the SVG whitelist.', - fix(fixer) { - return fixer.replaceText(attributeNameNode, `'${attributeNameNode.value.toLowerCase()}'`) - } - }) + if (!isValidAttribute(attributeNameNode.value)) { + context.report({ + node: attributeNameNode, + message: 'Attributes should be lowercase and hyphen separated, or part of the SVG whitelist.', + fix(fixer) { + return fixer.replaceText(attributeNameNode, `'${attributeNameNode.value.toLowerCase()}'`) + } + }) + } } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/js-class-name.js b/node_modules/eslint-plugin-github/lib/rules/js-class-name.js index e2f2a6c5f..f4fe85800 100644 --- a/node_modules/eslint-plugin-github/lib/rules/js-class-name.js +++ b/node_modules/eslint-plugin-github/lib/rules/js-class-name.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'suggestion', + docs: { + description: 'enforce a naming convention for js- prefixed classes', + url: require('../url')(module) + }, schema: [] }, @@ -13,14 +17,14 @@ module.exports = { const matches = str.match(allJsClassNameRegexp) || [] for (const match of matches) { if (!match.match(validJsClassNameRegexp)) { - context.report(node, 'js- class names should be lowercase and only contain dashes.') + context.report({node, message: 'js- class names should be lowercase and only contain dashes.'}) } } } function checkStringEndsWithJSClassName(node, str) { if (str.match(endWithJsClassNameRegexp)) { - context.report(node, 'js- class names should be statically defined.') + context.report({node, message: 'js- class names should be statically defined.'}) } } diff --git a/node_modules/eslint-plugin-github/lib/rules/no-blur.js b/node_modules/eslint-plugin-github/lib/rules/no-blur.js index 59b216423..1d979d4ce 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-blur.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-blur.js @@ -1,11 +1,19 @@ -module.exports = function(context) { - return { - CallExpression(node) { - if (node.callee.property && node.callee.property.name === 'blur') { - context.report(node, 'Do not use element.blur(), instead restore the focus of a previous element.') +module.exports = { + meta: { + type: 'problem', + docs: { + description: 'disallow usage of `Element.prototype.blur()`', + url: require('../url')(module) + }, + schema: [] + }, + create(context) { + return { + CallExpression(node) { + if (node.callee.property && node.callee.property.name === 'blur') { + context.report({node, message: 'Do not use element.blur(), instead restore the focus of a previous element.'}) + } } } } } - -module.exports.schema = [] diff --git a/node_modules/eslint-plugin-github/lib/rules/no-d-none.js b/node_modules/eslint-plugin-github/lib/rules/no-d-none.js index a742fa189..7513f2e19 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-d-none.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-d-none.js @@ -1,4 +1,12 @@ module.exports = { + meta: { + type: 'problem', + docs: { + description: 'disallow usage the `d-none` CSS class', + url: require('../url')(module) + }, + schema: [] + }, create(context) { return { CallExpression(node) { diff --git a/node_modules/eslint-plugin-github/lib/rules/no-dataset.js b/node_modules/eslint-plugin-github/lib/rules/no-dataset.js index d43aad81f..e3c0ab4bb 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-dataset.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-dataset.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'problem', + docs: { + description: 'enforce usage of `Element.prototype.getAttribute` instead of `Element.prototype.datalist`', + url: require('../url')(module) + }, schema: [] }, @@ -8,7 +12,7 @@ module.exports = { return { MemberExpression(node) { if (node.property && node.property.name === 'dataset') { - context.report(node, "Use getAttribute('data-your-attribute') instead of dataset.") + context.report({node, message: "Use getAttribute('data-your-attribute') instead of dataset."}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/no-implicit-buggy-globals.js b/node_modules/eslint-plugin-github/lib/rules/no-implicit-buggy-globals.js index 663488122..4a3af0695 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-implicit-buggy-globals.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-implicit-buggy-globals.js @@ -1,6 +1,10 @@ module.exports = { meta: { - docs: {}, + type: 'problem', + docs: { + description: 'disallow implicit global variables', + url: require('../url')(module) + }, schema: [] }, @@ -21,7 +25,7 @@ module.exports = { (def.type === 'Variable' && def.parent.kind === 'const') || (def.type === 'Variable' && def.parent.kind === 'let') ) { - context.report(def.node, 'Implicit global variable, assign as global property instead.') + context.report({node: def.node, message: 'Implicit global variable, assign as global property instead.'}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/no-innerText.js b/node_modules/eslint-plugin-github/lib/rules/no-innerText.js index c6bf056bb..b1396d77f 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-innerText.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-innerText.js @@ -1,7 +1,12 @@ module.exports = { meta: { - docs: {}, - fixable: 'code' + type: 'problem', + docs: { + description: 'disallow `Element.prototype.innerText` in favor of `Element.prototype.textContent`', + url: require('../url')(module) + }, + fixable: 'code', + schema: [] }, create(context) { diff --git a/node_modules/eslint-plugin-github/lib/rules/no-then.js b/node_modules/eslint-plugin-github/lib/rules/no-then.js index 0f152b8cb..76656245e 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-then.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-then.js @@ -1,15 +1,20 @@ module.exports = { meta: { - docs: {} + type: 'suggestion', + docs: { + description: 'enforce using `async/await` syntax over Promises', + url: require('../url')(module) + }, + schema: [] }, create(context) { return { MemberExpression(node) { if (node.property && node.property.name === 'then') { - context.report(node.property, 'Prefer async/await to Promise.then()') + context.report({node: node.property, message: 'Prefer async/await to Promise.then()'}) } else if (node.property && node.property.name === 'catch') { - context.report(node.property, 'Prefer async/await to Promise.catch()') + context.report({node: node.property, message: 'Prefer async/await to Promise.catch()'}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/no-useless-passive.js b/node_modules/eslint-plugin-github/lib/rules/no-useless-passive.js index f9eef57d5..d53b20472 100644 --- a/node_modules/eslint-plugin-github/lib/rules/no-useless-passive.js +++ b/node_modules/eslint-plugin-github/lib/rules/no-useless-passive.js @@ -4,13 +4,18 @@ const propIsPassiveTrue = prop => prop.key && prop.key.name === 'passive' && pro module.exports = { meta: { - docs: {}, - fixable: 'code' + type: 'suggestion', + docs: { + description: 'disallow marking a event handler as passive when it has no effect', + url: require('../url')(module) + }, + fixable: 'code', + schema: [] }, create(context) { return { - ['CallExpression[callee.property.name="addEventListener"]']: function(node) { + ['CallExpression[callee.property.name="addEventListener"]']: function (node) { const [name, listener, options] = node.arguments if (name.type !== 'Literal') return if (passiveEventListenerNames.has(name.value)) return diff --git a/node_modules/eslint-plugin-github/lib/rules/prefer-observers.js b/node_modules/eslint-plugin-github/lib/rules/prefer-observers.js index 0e9824a61..961c75f72 100644 --- a/node_modules/eslint-plugin-github/lib/rules/prefer-observers.js +++ b/node_modules/eslint-plugin-github/lib/rules/prefer-observers.js @@ -4,13 +4,17 @@ const observerMap = { } module.exports = { meta: { - docs: {}, - fixable: 'code' + type: 'suggestion', + docs: { + description: 'disallow poorly performing event listeners', + url: require('../url')(module) + }, + schema: [] }, create(context) { return { - ['CallExpression[callee.property.name="addEventListener"]']: function(node) { + ['CallExpression[callee.property.name="addEventListener"]']: function (node) { const [name] = node.arguments if (name.type !== 'Literal') return if (!(name.value in observerMap)) return diff --git a/node_modules/eslint-plugin-github/lib/rules/require-passive-events.js b/node_modules/eslint-plugin-github/lib/rules/require-passive-events.js index 72b8a6826..bce8787b8 100644 --- a/node_modules/eslint-plugin-github/lib/rules/require-passive-events.js +++ b/node_modules/eslint-plugin-github/lib/rules/require-passive-events.js @@ -4,18 +4,23 @@ const propIsPassiveTrue = prop => prop.key && prop.key.name === 'passive' && pro module.exports = { meta: { - docs: {} + type: 'suggestion', + docs: { + description: 'enforce marking high frequency event handlers as passive', + url: require('../url')(module) + }, + schema: [] }, create(context) { return { - ['CallExpression[callee.property.name="addEventListener"]']: function(node) { + ['CallExpression[callee.property.name="addEventListener"]']: function (node) { const [name, listener, options] = node.arguments if (!listener) return if (name.type !== 'Literal') return if (!passiveEventListenerNames.has(name.value)) return if (options && options.type === 'ObjectExpression' && options.properties.some(propIsPassiveTrue)) return - context.report(node, `High Frequency Events like "${name.value}" should be \`passive: true\``) + context.report({node, message: `High Frequency Events like "${name.value}" should be \`passive: true\``}) } } } diff --git a/node_modules/eslint-plugin-github/lib/rules/unescaped-html-literal.js b/node_modules/eslint-plugin-github/lib/rules/unescaped-html-literal.js index fc4f6f40c..51f593721 100644 --- a/node_modules/eslint-plugin-github/lib/rules/unescaped-html-literal.js +++ b/node_modules/eslint-plugin-github/lib/rules/unescaped-html-literal.js @@ -1,24 +1,35 @@ -module.exports = function(context) { - const htmlOpenTag = /^<[a-zA-Z]/ - const message = 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.' - - return { - Literal(node) { - if (!htmlOpenTag.test(node.value)) return - - context.report({ - node, - message - }) +module.exports = { + meta: { + type: 'problem', + docs: { + description: 'disallow unesaped HTML literals', + url: require('../url')(module) }, - TemplateLiteral(node) { - if (!htmlOpenTag.test(node.quasis[0].value.raw)) return + schema: [] + }, + + create(context) { + const htmlOpenTag = /^<[a-zA-Z]/ + const message = 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.' + + return { + Literal(node) { + if (!htmlOpenTag.test(node.value)) return - if (!node.parent.tag || node.parent.tag.name !== 'html') { context.report({ node, message }) + }, + TemplateLiteral(node) { + if (!htmlOpenTag.test(node.quasis[0].value.raw)) return + + if (!node.parent.tag || node.parent.tag.name !== 'html') { + context.report({ + node, + message + }) + } } } } diff --git a/node_modules/eslint-plugin-github/lib/url.js b/node_modules/eslint-plugin-github/lib/url.js new file mode 100644 index 000000000..2af0e08cd --- /dev/null +++ b/node_modules/eslint-plugin-github/lib/url.js @@ -0,0 +1,10 @@ +const {homepage, version} = require('../package.json') +const path = require('path') +// eslint-disable-next-line eslint-plugin/prefer-object-rule +module.exports = ({id}) => { + const url = new URL(homepage) + const rule = path.basename(id, '.js') + url.hash = '' + url.pathname += `/blob/v${version}/docs/rules/${rule}.md` + return url.toString() +} diff --git a/node_modules/eslint-plugin-github/package.json b/node_modules/eslint-plugin-github/package.json index d30222cfb..e18bd5f31 100644 --- a/node_modules/eslint-plugin-github/package.json +++ b/node_modules/eslint-plugin-github/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-github", - "version": "4.1.1", + "version": "4.1.5", "description": "An opinionated collection of ESLint shared configs and rules used by GitHub.", "main": "lib/index.js", "entries": [ @@ -11,7 +11,7 @@ }, "scripts": { "pretest": "mkdir -p node_modules/ && ln -fs $(pwd) node_modules/", - "eslint-check": "eslint --print-config .eslintrc.js | eslint-config-prettier-check", + "eslint-check": "eslint-config-prettier .eslintrc.js", "test": "npm run eslint-check && eslint . && mocha tests/" }, "repository": { @@ -25,19 +25,19 @@ }, "homepage": "https://github.com/github/eslint-plugin-github#readme", "dependencies": { - "@typescript-eslint/eslint-plugin": ">=2.25.0", - "@typescript-eslint/parser": ">=2.25.0", - "eslint-config-prettier": ">=6.10.1", - "eslint-plugin-eslint-comments": ">=3.0.1", - "eslint-plugin-import": ">=2.20.1", - "eslint-plugin-prettier": ">=3.1.2", + "@typescript-eslint/eslint-plugin": "^4.20.0", + "@typescript-eslint/parser": "^4.20.0", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.1", "eslint-rule-documentation": ">=1.0.0", - "prettier": ">=1.12.0", - "svg-element-attributes": ">=1.3.1" + "prettier": "^2.2.1", + "svg-element-attributes": "^1.3.1" }, "prettier": "@github/prettier-config", "peerDependencies": { - "eslint": ">=4.19.0" + "eslint": "^7.23.0" }, "files": [ "bin/*", @@ -45,7 +45,10 @@ ], "devDependencies": { "@github/prettier-config": "0.0.4", - "eslint": ">=7.0.0", - "mocha": ">=7.1.1" + "eslint": "7.23.0", + "eslint-plugin-eslint-plugin": "^2.3.0", + "eslint-visitor-keys": "^2.0.0", + "globals": "^13.7.0", + "mocha": "^8.3.2" } } \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/CHANGELOG.md b/node_modules/eslint-plugin-import/CHANGELOG.md index c0aaae190..95416f1af 100644 --- a/node_modules/eslint-plugin-import/CHANGELOG.md +++ b/node_modules/eslint-plugin-import/CHANGELOG.md @@ -6,6 +6,81 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel ## [Unreleased] +## [2.23.4] - 2021-05-29 + +### Fixed +- [`no-import-module-exports`]: Don't crash if packages have no entrypoint ([#2099], thanks [@eps1lon]) +- [`no-extraneous-dependencies`]: fix package name algorithm ([#2097], thanks [@paztis]) + +## [2.23.3] - 2021-05-21 + +### Fixed +- [`no-restricted-paths`]: fix false positive matches ([#2090], thanks [@malykhinvi]) +- [`no-cycle`]: ignore imports where imported file only imports types of importing file ([#2083], thanks [@cherryblossom000]) +- [`no-cycle`]: fix false negative when file imports a type after importing a value in Flow ([#2083], thanks [@cherryblossom000]) +- [`order`]: restore default behavior unless `type` is in groups ([#2087], thanks [@grit96]) + +### Changed +- [Docs] Add `no-relative-packages` to list of to the list of rules ([#2075], thanks [@arvigeus]) + +## [2.23.2] - 2021-05-15 + +### Changed +- [meta] add `safe-publish-latest`; use `prepublishOnly` script for npm 7+ + +## [2.23.1] - 2021-05-14 + +### Fixed +- [`newline-after-import`]: fix crash with `export {}` syntax ([#2063], [#2056], thanks [@ljharb]) +- `ExportMap`: do not crash when tsconfig lacks `.compilerOptions` ([#2067], thanks [@ljharb]) +- [`order`]: fix alphabetical sorting ([#2071], thanks [@grit96]) + +## [2.23.0] - 2021-05-13 + +### Added +- [`no-commonjs`]: Also detect require calls with expressionless template literals: ``` require(`x`) ``` ([#1958], thanks [@FloEdelmann]) +- [`no-internal-modules`]: Add `forbid` option ([#1846], thanks [@guillaumewuip]) +- add [`no-relative-packages`] ([#1860], [#966], thanks [@tapayne88] [@panrafal]) +- add [`no-import-module-exports`] rule: report import declarations with CommonJS exports ([#804], thanks [@kentcdodds] and [@ttmarek]) +- [`no-unused-modules`]: Support destructuring assignment for `export`. ([#1997], thanks [@s-h-a-d-o-w]) +- [`order`]: support type imports ([#2021], thanks [@grit96]) +- [`order`]: Add `warnOnUnassignedImports` option to enable warnings for out of order unassigned imports ([#1990], thanks [@hayes]) + +### Fixed +- [`export`]/TypeScript: properly detect export specifiers as children of a TS module block ([#1889], thanks [@andreubotella]) +- [`order`]: ignore non-module-level requires ([#1940], thanks [@golopot]) +- [`no-webpack-loader-syntax`]/TypeScript: avoid crash on missing name ([#1947], thanks [@leonardodino]) +- [`no-extraneous-dependencies`]: Add package.json cache ([#1948], thanks [@fa93hws]) +- [`prefer-default-export`]: handle empty array destructuring ([#1965], thanks [@ljharb]) +- [`no-unused-modules`]: make type imports mark a module as used (fixes #1924) ([#1974], thanks [@cherryblossom000]) +- [`no-cycle`]: fix perf regression ([#1944], thanks [@Blasz]) +- [`first`]: fix handling of `import = require` ([#1963], thanks [@MatthiasKunnen]) +- [`no-cycle`]/[`extensions`]: fix isExternalModule usage ([#1696], thanks [@paztis]) +- [`extensions`]/[`no-cycle`]/[`no-extraneous-dependencies`]: Correct module real path resolution ([#1696], thanks [@paztis]) +- [`no-named-default`]: ignore Flow import type and typeof ([#1983], thanks [@christianvuerings]) +- [`no-extraneous-dependencies`]: Exclude flow `typeof` imports ([#1534], thanks [@devongovett]) +- [`newline-after-import`]: respect decorator annotations ([#1985], thanks [@lilling]) +- [`no-restricted-paths`]: enhance performance for zones with `except` paths ([#2022], thanks [@malykhinvi]) +- [`no-unresolved`]: check import() ([#2026], thanks [@aladdin-add]) + +### Changed +- [Generic Import Callback] Make callback for all imports once in rules ([#1237], thanks [@ljqx]) +- [Docs] [`no-named-as-default`]: add semicolon ([#1897], thanks [@bicstone]) +- [Docs] `no-extraneous-dependencies`: correct peerDependencies option default to `true` ([#1993], thanks [@dwardu]) +- [Docs] `order`: Document options required to match ordering example ([#1992], thanks [@silviogutierrez]) +- [Tests] `no-unresolved`: add tests for `import()` ([#2012], thanks [@davidbonnet]) +- [Docs] Add import/recommended ruleset to README ([#2034], thanks [@edemaine]) + +## [2.22.1] - 2020-09-27 +### Fixed +- [`default`]/TypeScript: avoid crash on `export =` with a MemberExpression ([#1841], thanks [@ljharb]) +- [`extensions`]/importType: Fix @/abc being treated as scoped module ([#1854], thanks [@3nuc]) +- allow using rest operator in named export ([#1878], thanks [@foray1010]) +- [`dynamic-import-chunkname`]: allow single quotes to match Webpack support ([#1848], thanks [@straub]) + +### Changed +- [`export`]: add tests for a name collision with `export * from` ([#1704], thanks @tomprats) + ## [2.22.0] - 2020-06-26 ### Added - [`no-unused-modules`]: consider exported TypeScript interfaces, types and enums ([#1819], thanks [@nicolashenry]) @@ -50,7 +125,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel - [`no-unused-modules`]: Fix re-export not counting as usage when used in combination with import ([#1722], thanks [@Ephem]) - [`no-duplicates`]: Handle TS import type ([#1676], thanks [@kmui2]) - [`newline-after-import`]: recognize decorators ([#1139], thanks [@atos1990]) -- [`no-unused-modules`]: Revert "[flow] `no-unused-modules`: add flow type support" ([#1770], thanks [@Hypnosphi]) +- [`no-unused-modules`]: Revert "[flow] [`no-unused-modules`]: add flow type support" ([#1770], thanks [@Hypnosphi]) - TypeScript: Add nested namespace handling ([#1763], thanks [@julien1619]) - [`namespace`]/`ExportMap`: Fix interface declarations for TypeScript ([#1764], thanks [@julien1619]) - [`no-unused-modules`]: avoid order-dependence ([#1744], thanks [@darkartur]) @@ -60,7 +135,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel ### Changed - [Refactor] `no-extraneous-dependencies`: use moduleVisitor ([#1735], thanks [@adamborowski]) - TypeScript config: Disable [`named`][] ([#1726], thanks [@astorije]) -- [readme] Remove duplicate no-unused-modules from docs ([#1690], thanks [@arvigeus]) +- [readme] Remove duplicate [`no-unused-modules`] from docs ([#1690], thanks [@arvigeus]) - [Docs] `order`: fix bad inline config ([#1788], thanks [@nickofthyme]) - [Tests] Add fix for Windows Subsystem for Linux ([#1786], thanks [@manuth]) - [Docs] `no-unused-rules`: Fix docs for unused exports ([#1776], thanks [@barbogast]) @@ -85,7 +160,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel - [`no-duplicates`]: allow duplicate imports if one is a namespace and the other not ([#1612], thanks [@sveyret]) - Add some missing rule meta schemas and types ([#1620], thanks [@bmish]) - [`named`]: for importing from a module which re-exports named exports from a `node_modules` module ([#1569], [#1447], thanks [@redbugz], [@kentcdodds]) -- [`order`]: Fix alphabetize for mixed requires and imports ([#5625], thanks [@wschurman]) +- [`order`]: Fix alphabetize for mixed requires and imports ([#1626], thanks [@wschurman]) ### Changed - [`import/external-module-folders` setting] behavior is more strict now: it will only match complete path segments ([#1605], thanks [@skozin]) @@ -208,7 +283,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel - aliased internal modules that look like core modules ([#1297], thanks [@echenley]) - [`namespace`]: add check for null ExportMap ([#1235], [#1144], thanks [@ljqx]) - [ExportMap] fix condition for checking if block comment ([#1234], [#1233], thanks [@ljqx]) -- Fix overwriting of dynamic import() CallExpression ([`no-cycle`], [`no-relative-parent-import`], [`no-unresolved`], [`no-useless-path-segments`]) ([#1218], [#1166], [#1035], thanks [@vikr01]) +- Fix overwriting of dynamic import() CallExpression ([`no-cycle`], [`no-relative-parent-imports`], [`no-unresolved`], [`no-useless-path-segments`]) ([#1218], [#1166], [#1035], thanks [@vikr01]) - [`export`]: false positives for TypeScript type + value export ([#1319], thanks [@bradzacher]) - [`export`]: Support TypeScript namespaces ([#1320], [#1300], thanks [@bradzacher]) @@ -701,6 +776,7 @@ for info on changes for earlier releases. [`no-duplicates`]: ./docs/rules/no-duplicates.md [`no-dynamic-require`]: ./docs/rules/no-dynamic-require.md [`no-extraneous-dependencies`]: ./docs/rules/no-extraneous-dependencies.md +[`no-import-module-exports`]: ./docs/rules/no-import-module-exports.md [`no-internal-modules`]: ./docs/rules/no-internal-modules.md [`no-mutable-exports`]: ./docs/rules/no-mutable-exports.md [`no-named-as-default-member`]: ./docs/rules/no-named-as-default-member.md @@ -709,6 +785,8 @@ for info on changes for earlier releases. [`no-named-export`]: ./docs/rules/no-named-export.md [`no-namespace`]: ./docs/rules/no-namespace.md [`no-nodejs-modules`]: ./docs/rules/no-nodejs-modules.md +[`no-relative-packages`]: ./docs/rules/no-relative-packages.md +[`no-relative-parent-imports`]: ./docs/rules/no-relative-parent-imports.md [`no-restricted-paths`]: ./docs/rules/no-restricted-paths.md [`no-self-import`]: ./docs/rules/no-self-import.md [`no-unassigned-import`]: ./docs/rules/no-unassigned-import.md @@ -722,9 +800,37 @@ for info on changes for earlier releases. [`memo-parser`]: ./memo-parser/README.md +[#2099]: https://github.com/benmosher/eslint-plugin-import/pull/2099 +[#2097]: https://github.com/benmosher/eslint-plugin-import/pull/2097 +[#2090]: https://github.com/benmosher/eslint-plugin-import/pull/2090 +[#2087]: https://github.com/benmosher/eslint-plugin-import/pull/2087 +[#2083]: https://github.com/benmosher/eslint-plugin-import/pull/2083 +[#2075]: https://github.com/benmosher/eslint-plugin-import/pull/2075 +[#2071]: https://github.com/benmosher/eslint-plugin-import/pull/2071 +[#2034]: https://github.com/benmosher/eslint-plugin-import/pull/2034 +[#2026]: https://github.com/benmosher/eslint-plugin-import/pull/2026 +[#2022]: https://github.com/benmosher/eslint-plugin-import/pull/2022 +[#2021]: https://github.com/benmosher/eslint-plugin-import/pull/2021 +[#2012]: https://github.com/benmosher/eslint-plugin-import/pull/2012 +[#1997]: https://github.com/benmosher/eslint-plugin-import/pull/1997 +[#1993]: https://github.com/benmosher/eslint-plugin-import/pull/1993 +[#1990]: https://github.com/benmosher/eslint-plugin-import/pull/1990 +[#1985]: https://github.com/benmosher/eslint-plugin-import/pull/1985 +[#1983]: https://github.com/benmosher/eslint-plugin-import/pull/1983 +[#1974]: https://github.com/benmosher/eslint-plugin-import/pull/1974 +[#1958]: https://github.com/benmosher/eslint-plugin-import/pull/1958 +[#1948]: https://github.com/benmosher/eslint-plugin-import/pull/1948 +[#1947]: https://github.com/benmosher/eslint-plugin-import/pull/1947 +[#1944]: https://github.com/benmosher/eslint-plugin-import/pull/1944 +[#1940]: https://github.com/benmosher/eslint-plugin-import/pull/1940 +[#1897]: https://github.com/benmosher/eslint-plugin-import/pull/1897 +[#1889]: https://github.com/benmosher/eslint-plugin-import/pull/1889 +[#1878]: https://github.com/benmosher/eslint-plugin-import/pull/1878 +[#1860]: https://github.com/benmosher/eslint-plugin-import/pull/1860 +[#1848]: https://github.com/benmosher/eslint-plugin-import/pull/1848 +[#1846]: https://github.com/benmosher/eslint-plugin-import/pull/1846 [#1836]: https://github.com/benmosher/eslint-plugin-import/pull/1836 [#1835]: https://github.com/benmosher/eslint-plugin-import/pull/1835 -[#1834]: https://github.com/benmosher/eslint-plugin-import/issues/1834 [#1833]: https://github.com/benmosher/eslint-plugin-import/pull/1833 [#1831]: https://github.com/benmosher/eslint-plugin-import/pull/1831 [#1830]: https://github.com/benmosher/eslint-plugin-import/pull/1830 @@ -734,7 +840,6 @@ for info on changes for earlier releases. [#1820]: https://github.com/benmosher/eslint-plugin-import/pull/1820 [#1819]: https://github.com/benmosher/eslint-plugin-import/pull/1819 [#1802]: https://github.com/benmosher/eslint-plugin-import/pull/1802 -[#1801]: https://github.com/benmosher/eslint-plugin-import/issues/1801 [#1788]: https://github.com/benmosher/eslint-plugin-import/pull/1788 [#1786]: https://github.com/benmosher/eslint-plugin-import/pull/1786 [#1785]: https://github.com/benmosher/eslint-plugin-import/pull/1785 @@ -748,9 +853,8 @@ for info on changes for earlier releases. [#1735]: https://github.com/benmosher/eslint-plugin-import/pull/1735 [#1726]: https://github.com/benmosher/eslint-plugin-import/pull/1726 [#1724]: https://github.com/benmosher/eslint-plugin-import/pull/1724 -[#1722]: https://github.com/benmosher/eslint-plugin-import/issues/1722 [#1719]: https://github.com/benmosher/eslint-plugin-import/pull/1719 -[#1702]: https://github.com/benmosher/eslint-plugin-import/issues/1702 +[#1696]: https://github.com/benmosher/eslint-plugin-import/pull/1696 [#1691]: https://github.com/benmosher/eslint-plugin-import/pull/1691 [#1690]: https://github.com/benmosher/eslint-plugin-import/pull/1690 [#1689]: https://github.com/benmosher/eslint-plugin-import/pull/1689 @@ -760,17 +864,12 @@ for info on changes for earlier releases. [#1664]: https://github.com/benmosher/eslint-plugin-import/pull/1664 [#1658]: https://github.com/benmosher/eslint-plugin-import/pull/1658 [#1651]: https://github.com/benmosher/eslint-plugin-import/pull/1651 -[#1635]: https://github.com/benmosher/eslint-plugin-import/issues/1635 -[#1631]: https://github.com/benmosher/eslint-plugin-import/issues/1631 -[#1625]: https://github.com/benmosher/eslint-plugin-import/pull/1625 +[#1626]: https://github.com/benmosher/eslint-plugin-import/pull/1626 [#1620]: https://github.com/benmosher/eslint-plugin-import/pull/1620 [#1619]: https://github.com/benmosher/eslint-plugin-import/pull/1619 -[#1616]: https://github.com/benmosher/eslint-plugin-import/issues/1616 -[#1613]: https://github.com/benmosher/eslint-plugin-import/issues/1613 [#1612]: https://github.com/benmosher/eslint-plugin-import/pull/1612 [#1611]: https://github.com/benmosher/eslint-plugin-import/pull/1611 [#1605]: https://github.com/benmosher/eslint-plugin-import/pull/1605 -[#1589]: https://github.com/benmosher/eslint-plugin-import/issues/1589 [#1586]: https://github.com/benmosher/eslint-plugin-import/pull/1586 [#1572]: https://github.com/benmosher/eslint-plugin-import/pull/1572 [#1569]: https://github.com/benmosher/eslint-plugin-import/pull/1569 @@ -778,6 +877,7 @@ for info on changes for earlier releases. [#1560]: https://github.com/benmosher/eslint-plugin-import/pull/1560 [#1551]: https://github.com/benmosher/eslint-plugin-import/pull/1551 [#1542]: https://github.com/benmosher/eslint-plugin-import/pull/1542 +[#1534]: https://github.com/benmosher/eslint-plugin-import/pull/1534 [#1528]: https://github.com/benmosher/eslint-plugin-import/pull/1528 [#1526]: https://github.com/benmosher/eslint-plugin-import/pull/1526 [#1521]: https://github.com/benmosher/eslint-plugin-import/pull/1521 @@ -788,6 +888,7 @@ for info on changes for earlier releases. [#1495]: https://github.com/benmosher/eslint-plugin-import/pull/1495 [#1494]: https://github.com/benmosher/eslint-plugin-import/pull/1494 [#1493]: https://github.com/benmosher/eslint-plugin-import/pull/1493 +[#1491]: https://github.com/benmosher/eslint-plugin-import/pull/1491 [#1472]: https://github.com/benmosher/eslint-plugin-import/pull/1472 [#1470]: https://github.com/benmosher/eslint-plugin-import/pull/1470 [#1447]: https://github.com/benmosher/eslint-plugin-import/pull/1447 @@ -835,6 +936,7 @@ for info on changes for earlier releases. [#1253]: https://github.com/benmosher/eslint-plugin-import/pull/1253 [#1248]: https://github.com/benmosher/eslint-plugin-import/pull/1248 [#1238]: https://github.com/benmosher/eslint-plugin-import/pull/1238 +[#1237]: https://github.com/benmosher/eslint-plugin-import/pull/1237 [#1235]: https://github.com/benmosher/eslint-plugin-import/pull/1235 [#1234]: https://github.com/benmosher/eslint-plugin-import/pull/1234 [#1232]: https://github.com/benmosher/eslint-plugin-import/pull/1232 @@ -859,6 +961,7 @@ for info on changes for earlier releases. [#1068]: https://github.com/benmosher/eslint-plugin-import/pull/1068 [#1049]: https://github.com/benmosher/eslint-plugin-import/pull/1049 [#1046]: https://github.com/benmosher/eslint-plugin-import/pull/1046 +[#966]: https://github.com/benmosher/eslint-plugin-import/pull/966 [#944]: https://github.com/benmosher/eslint-plugin-import/pull/944 [#912]: https://github.com/benmosher/eslint-plugin-import/pull/912 [#908]: https://github.com/benmosher/eslint-plugin-import/pull/908 @@ -868,6 +971,7 @@ for info on changes for earlier releases. [#871]: https://github.com/benmosher/eslint-plugin-import/pull/871 [#858]: https://github.com/benmosher/eslint-plugin-import/pull/858 [#843]: https://github.com/benmosher/eslint-plugin-import/pull/843 +[#804]: https://github.com/benmosher/eslint-plugin-import/pull/804 [#797]: https://github.com/benmosher/eslint-plugin-import/pull/797 [#794]: https://github.com/benmosher/eslint-plugin-import/pull/794 [#744]: https://github.com/benmosher/eslint-plugin-import/pull/744 @@ -935,10 +1039,27 @@ for info on changes for earlier releases. [#211]: https://github.com/benmosher/eslint-plugin-import/pull/211 [#164]: https://github.com/benmosher/eslint-plugin-import/pull/164 [#157]: https://github.com/benmosher/eslint-plugin-import/pull/157 +[#2067]: https://github.com/benmosher/eslint-plugin-import/issues/2067 +[#2056]: https://github.com/benmosher/eslint-plugin-import/issues/2056 +[#2063]: https://github.com/benmosher/eslint-plugin-import/issues/2063 +[#1965]: https://github.com/benmosher/eslint-plugin-import/issues/1965 +[#1924]: https://github.com/benmosher/eslint-plugin-import/issues/1924 +[#1854]: https://github.com/benmosher/eslint-plugin-import/issues/1854 +[#1841]: https://github.com/benmosher/eslint-plugin-import/issues/1841 +[#1834]: https://github.com/benmosher/eslint-plugin-import/issues/1834 [#1814]: https://github.com/benmosher/eslint-plugin-import/issues/1814 [#1811]: https://github.com/benmosher/eslint-plugin-import/issues/1811 [#1808]: https://github.com/benmosher/eslint-plugin-import/issues/1808 [#1805]: https://github.com/benmosher/eslint-plugin-import/issues/1805 +[#1801]: https://github.com/benmosher/eslint-plugin-import/issues/1801 +[#1722]: https://github.com/benmosher/eslint-plugin-import/issues/1722 +[#1704]: https://github.com/benmosher/eslint-plugin-import/issues/1704 +[#1702]: https://github.com/benmosher/eslint-plugin-import/issues/1702 +[#1635]: https://github.com/benmosher/eslint-plugin-import/issues/1635 +[#1631]: https://github.com/benmosher/eslint-plugin-import/issues/1631 +[#1616]: https://github.com/benmosher/eslint-plugin-import/issues/1616 +[#1613]: https://github.com/benmosher/eslint-plugin-import/issues/1613 +[#1589]: https://github.com/benmosher/eslint-plugin-import/issues/1589 [#1565]: https://github.com/benmosher/eslint-plugin-import/issues/1565 [#1366]: https://github.com/benmosher/eslint-plugin-import/issues/1366 [#1334]: https://github.com/benmosher/eslint-plugin-import/issues/1334 @@ -1024,7 +1145,13 @@ for info on changes for earlier releases. [#119]: https://github.com/benmosher/eslint-plugin-import/issues/119 [#89]: https://github.com/benmosher/eslint-plugin-import/issues/89 -[Unreleased]: https://github.com/benmosher/eslint-plugin-import/compare/v2.22.0...HEAD +[Unreleased]: https://github.com/benmosher/eslint-plugin-import/compare/v2.23.4...HEAD +[2.23.4]: https://github.com/benmosher/eslint-plugin-import/compare/v2.23.3...v2.23.4 +[2.23.3]: https://github.com/benmosher/eslint-plugin-import/compare/v2.23.2...v2.23.3 +[2.23.2]: https://github.com/benmosher/eslint-plugin-import/compare/v2.23.1...v2.23.2 +[2.23.1]: https://github.com/benmosher/eslint-plugin-import/compare/v2.23.0...v2.23.1 +[2.23.0]: https://github.com/benmosher/eslint-plugin-import/compare/v2.22.1...v2.23.0 +[2.22.1]: https://github.com/benmosher/eslint-plugin-import/compare/v2.22.0...v2.22.1 [2.22.0]: https://github.com/benmosher/eslint-plugin-import/compare/v2.21.1...v2.22.0 [2.21.2]: https://github.com/benmosher/eslint-plugin-import/compare/v2.21.1...v2.21.2 [2.21.1]: https://github.com/benmosher/eslint-plugin-import/compare/v2.21.0...v2.21.1 @@ -1096,163 +1223,193 @@ for info on changes for earlier releases. [0.12.0]: https://github.com/benmosher/eslint-plugin-import/compare/v0.11.0...v0.12.0 [0.11.0]: https://github.com/benmosher/eslint-plugin-import/compare/v0.10.1...v0.11.0 -[@mathieudutour]: https://github.com/mathieudutour -[@gausie]: https://github.com/gausie -[@singles]: https://github.com/singles -[@jfmengels]: https://github.com/jfmengels -[@lo1tuma]: https://github.com/lo1tuma -[@dmnd]: https://github.com/dmnd -[@lemonmade]: https://github.com/lemonmade -[@jimbolla]: https://github.com/jimbolla -[@jquense]: https://github.com/jquense -[@jonboiser]: https://github.com/jonboiser -[@taion]: https://github.com/taion -[@strawbrary]: https://github.com/strawbrary -[@SimenB]: https://github.com/SimenB -[@josh]: https://github.com/josh -[@borisyankov]: https://github.com/borisyankov -[@gavriguy]: https://github.com/gavriguy -[@jkimbo]: https://github.com/jkimbo -[@le0nik]: https://github.com/le0nik -[@scottnonnenberg]: https://github.com/scottnonnenberg -[@sindresorhus]: https://github.com/sindresorhus -[@ljharb]: https://github.com/ljharb -[@rhettlivingston]: https://github.com/rhettlivingston -[@zloirock]: https://github.com/zloirock -[@rhys-vdw]: https://github.com/rhys-vdw -[@wKich]: https://github.com/wKich -[@tizmagik]: https://github.com/tizmagik -[@knpwrs]: https://github.com/knpwrs -[@spalger]: https://github.com/spalger -[@preco21]: https://github.com/preco21 -[@skyrpex]: https://github.com/skyrpex -[@fson]: https://github.com/fson -[@ntdb]: https://github.com/ntdb -[@jakubsta]: https://github.com/jakubsta -[@wtgtybhertgeghgtwtg]: https://github.com/wtgtybhertgeghgtwtg -[@duncanbeevers]: https://github.com/duncanbeevers -[@giodamelio]: https://github.com/giodamelio -[@ntdb]: https://github.com/ntdb -[@ramasilveyra]: https://github.com/ramasilveyra -[@sompylasar]: https://github.com/sompylasar -[@kevin940726]: https://github.com/kevin940726 -[@eelyafi]: https://github.com/eelyafi -[@mastilver]: https://github.com/mastilver -[@jseminck]: https://github.com/jseminck -[@laysent]: https://github.com/laysent -[@k15a]: https://github.com/k15a -[@mplewis]: https://github.com/mplewis -[@rosswarren]: https://github.com/rosswarren -[@alexgorbatchev]: https://github.com/alexgorbatchev -[@tihonove]: https://github.com/tihonove -[@robertrossmann]: https://github.com/robertrossmann -[@isiahmeadows]: https://github.com/isiahmeadows -[@graingert]: https://github.com/graingert -[@danny-andrews]: https://github.com/dany-andrews -[@fengkfengk]: https://github.com/fengkfengk -[@futpib]: https://github.com/futpib -[@klimashkin]: https://github.com/klimashkin -[@lukeapage]: https://github.com/lukeapage -[@manovotny]: https://github.com/manovotny -[@mattijsbliek]: https://github.com/mattijsbliek -[@hulkish]: https://github.com/hulkish -[@chrislloyd]: https://github.com/chrislloyd -[@ai]: https://github.com/ai -[@syymza]: https://github.com/syymza -[@justinanastos]: https://github.com/justinanastos [@1pete]: https://github.com/1pete -[@gajus]: https://github.com/gajus -[@jf248]: https://github.com/jf248 -[@aravindet]: https://github.com/aravindet -[@pzhine]: https://github.com/pzhine -[@st-sloth]: https://github.com/st-sloth -[@ljqx]: https://github.com/ljqx -[@kirill-konshin]: https://github.com/kirill-konshin -[@asapach]: https://github.com/asapach -[@sergei-startsev]: https://github.com/sergei-startsev -[@ephys]: https://github.com/ephys -[@lydell]: https://github.com/lydell -[@jeffshaver]: https://github.com/jeffshaver -[@timkraut]: https://github.com/timkraut -[@TakeScoop]: https://github.com/TakeScoop -[@rfermann]: https://github.com/rfermann -[@bradennapier]: https://github.com/bradennapier -[@schmod]: https://github.com/schmod -[@echenley]: https://github.com/echenley -[@vikr01]: https://github.com/vikr01 -[@bradzacher]: https://github.com/bradzacher -[@feychenie]: https://github.com/feychenie -[@kiwka]: https://github.com/kiwka -[@loganfsmyth]: https://github.com/loganfsmyth -[@johndevedu]: https://github.com/johndevedu -[@charlessuh]: https://github.com/charlessuh -[@kgregory]: https://github.com/kgregory -[@christophercurrie]: https://github.com/christophercurrie -[@alex-page]: https://github.com/alex-page -[@benmosher]: https://github.com/benmosher -[@fooloomanzoo]: https://github.com/fooloomanzoo -[@sheepsteak]: https://github.com/sheepsteak -[@sharmilajesupaul]: https://github.com/sharmilajesupaul -[@lencioni]: https://github.com/lencioni -[@JounQin]: https://github.com/JounQin -[@atikenny]: https://github.com/atikenny -[@schmidsi]: https://github.com/schmidsi -[@TrevorBurnham]: https://github.com/TrevorBurnham -[@benmunro]: https://github.com/benmunro -[@tihonove]: https://github.com/tihonove -[@brendo]: https://github.com/brendo -[@saschanaz]: https://github.com/saschanaz -[@brettz9]: https://github.com/brettz9 -[@Taranys]: https://github.com/Taranys -[@maxmalov]: https://github.com/maxmalov -[@marcusdarmstrong]: https://github.com/marcusdarmstrong -[@Mairu]: https://github.com/Mairu +[@3nuc]: https://github.com/3nuc [@aamulumi]: https://github.com/aamulumi -[@pcorpet]: https://github.com/pcorpet -[@stropho]: https://github.com/stropho -[@luczsoma]: https://github.com/luczsoma -[@christophercurrie]: https://github.com/christophercurrie -[@randallreedjr]: https://github.com/randallreedjr -[@Pessimistress]: https://github.com/Pessimistress -[@stekycz]: https://github.com/stekycz -[@dbrewer5]: https://github.com/dbrewer5 -[@rsolomon]: https://github.com/rsolomon -[@joaovieira]: https://github.com/joaovieira -[@ivo-stefchev]: https://github.com/ivo-stefchev -[@skozin]: https://github.com/skozin -[@yordis]: https://github.com/yordis -[@sveyret]: https://github.com/sveyret -[@bmish]: https://github.com/bmish -[@redbugz]: https://github.com/redbugz -[@kentcdodds]: https://github.com/kentcdodds -[@IvanGoncharov]: https://github.com/IvanGoncharov -[@wschurman]: https://github.com/wschurman -[@fisker]: https://github.com/fisker -[@richardxia]: https://github.com/richardxia -[@TheCrueltySage]: https://github.com/TheCrueltySage -[@ernestostifano]: https://github.com/ernestostifano -[@forivall]: https://github.com/forivall -[@xpl]: https://github.com/xpl -[@astorije]: https://github.com/astorije -[@Ephem]: https://github.com/Ephem -[@kmui2]: https://github.com/kmui2 -[@arvigeus]: https://github.com/arvigeus -[@atos1990]: https://github.com/atos1990 -[@Hypnosphi]: https://github.com/Hypnosphi -[@nickofthyme]: https://github.com/nickofthyme -[@manuth]: https://github.com/manuth -[@julien1619]: https://github.com/julien1619 -[@darkartur]: https://github.com/darkartur -[@MikeyBeLike]: https://github.com/MikeyBeLike -[@barbogast]: https://github.com/barbogast [@adamborowski]: https://github.com/adamborowski [@adjerbetian]: https://github.com/adjerbetian -[@Maxim-Mazurok]: https://github.com/Maxim-Mazurok -[@malykhinvi]: https://github.com/malykhinvi -[@nicolashenry]: https://github.com/nicolashenry -[@fernandopasik]: https://github.com/fernandopasik -[@taye]: https://github.com/taye +[@ai]: https://github.com/ai +[@aladdin-add]: https://github.com/aladdin-add +[@alex-page]: https://github.com/alex-page +[@alexgorbatchev]: https://github.com/alexgorbatchev +[@andreubotella]: https://github.com/andreubotella [@AndrewLeedham]: https://github.com/AndrewLeedham +[@aravindet]: https://github.com/aravindet +[@arvigeus]: https://github.com/arvigeus +[@asapach]: https://github.com/asapach +[@astorije]: https://github.com/astorije +[@atikenny]: https://github.com/atikenny +[@atos1990]: https://github.com/atos1990 +[@barbogast]: https://github.com/barbogast [@be5invis]: https://github.com/be5invis -[@noelebrun]: https://github.com/noelebrun [@beatrizrezener]: https://github.com/beatrizrezener +[@benmosher]: https://github.com/benmosher +[@benmunro]: https://github.com/benmunro +[@bicstone]: https://github.com/bicstone +[@Blasz]: https://github.com/Blasz +[@bmish]: https://github.com/bmish +[@borisyankov]: https://github.com/borisyankov +[@bradennapier]: https://github.com/bradennapier +[@bradzacher]: https://github.com/bradzacher +[@brendo]: https://github.com/brendo +[@brettz9]: https://github.com/brettz9 +[@charlessuh]: https://github.com/charlessuh +[@cherryblossom000]: https://github.com/cherryblossom000 +[@chrislloyd]: https://github.com/chrislloyd +[@christianvuerings]: https://github.com/christianvuerings +[@christophercurrie]: https://github.com/christophercurrie +[@danny-andrews]: https://github.com/dany-andrews +[@darkartur]: https://github.com/darkartur +[@davidbonnet]: https://github.com/davidbonnet +[@dbrewer5]: https://github.com/dbrewer5 +[@devongovett]: https://github.com/devongovett +[@dmnd]: https://github.com/dmnd +[@duncanbeevers]: https://github.com/duncanbeevers +[@dwardu]: https://github.com/dwardu +[@echenley]: https://github.com/echenley +[@edemaine]: https://github.com/edemaine +[@eelyafi]: https://github.com/eelyafi +[@Ephem]: https://github.com/Ephem +[@ephys]: https://github.com/ephys +[@eps1lon]: https://github.com/eps1lon +[@ernestostifano]: https://github.com/ernestostifano +[@fa93hws]: https://github.com/fa93hws +[@fengkfengk]: https://github.com/fengkfengk +[@fernandopasik]: https://github.com/fernandopasik +[@feychenie]: https://github.com/feychenie +[@fisker]: https://github.com/fisker +[@FloEdelmann]: https://github.com/FloEdelmann +[@fooloomanzoo]: https://github.com/fooloomanzoo +[@foray1010]: https://github.com/foray1010 +[@forivall]: https://github.com/forivall +[@fsmaia]: https://github.com/fsmaia +[@fson]: https://github.com/fson +[@futpib]: https://github.com/futpib +[@gajus]: https://github.com/gajus +[@gausie]: https://github.com/gausie +[@gavriguy]: https://github.com/gavriguy +[@giodamelio]: https://github.com/giodamelio +[@golopot]: https://github.com/golopot +[@graingert]: https://github.com/graingert +[@grit96]: https://github.com/grit96 +[@guillaumewuip]: https://github.com/guillaumewuip +[@hayes]: https://github.com/hayes +[@hulkish]: https://github.com/hulkish +[@Hypnosphi]: https://github.com/Hypnosphi +[@isiahmeadows]: https://github.com/isiahmeadows +[@IvanGoncharov]: https://github.com/IvanGoncharov +[@ivo-stefchev]: https://github.com/ivo-stefchev +[@jakubsta]: https://github.com/jakubsta +[@jeffshaver]: https://github.com/jeffshaver +[@jf248]: https://github.com/jf248 +[@jfmengels]: https://github.com/jfmengels +[@jimbolla]: https://github.com/jimbolla +[@jkimbo]: https://github.com/jkimbo +[@joaovieira]: https://github.com/joaovieira +[@johndevedu]: https://github.com/johndevedu +[@jonboiser]: https://github.com/jonboiser +[@josh]: https://github.com/josh +[@JounQin]: https://github.com/JounQin +[@jquense]: https://github.com/jquense +[@jseminck]: https://github.com/jseminck +[@julien1619]: https://github.com/julien1619 +[@justinanastos]: https://github.com/justinanastos +[@k15a]: https://github.com/k15a +[@kentcdodds]: https://github.com/kentcdodds +[@kevin940726]: https://github.com/kevin940726 +[@kgregory]: https://github.com/kgregory +[@kirill-konshin]: https://github.com/kirill-konshin +[@kiwka]: https://github.com/kiwka +[@klimashkin]: https://github.com/klimashkin +[@kmui2]: https://github.com/kmui2 +[@knpwrs]: https://github.com/knpwrs +[@laysent]: https://github.com/laysent +[@le0nik]: https://github.com/le0nik +[@lemonmade]: https://github.com/lemonmade +[@lencioni]: https://github.com/lencioni +[@leonardodino]: https://github.com/leonardodino +[@Librazy]: https://github.com/Librazy +[@lilling]: https://github.com/lilling +[@ljharb]: https://github.com/ljharb +[@ljqx]: https://github.com/ljqx +[@lo1tuma]: https://github.com/lo1tuma +[@loganfsmyth]: https://github.com/loganfsmyth +[@luczsoma]: https://github.com/luczsoma +[@lukeapage]: https://github.com/lukeapage +[@lydell]: https://github.com/lydell +[@Mairu]: https://github.com/Mairu +[@malykhinvi]: https://github.com/malykhinvi +[@manovotny]: https://github.com/manovotny +[@manuth]: https://github.com/manuth +[@marcusdarmstrong]: https://github.com/marcusdarmstrong +[@mastilver]: https://github.com/mastilver +[@mathieudutour]: https://github.com/mathieudutour +[@MatthiasKunnen]: https://github.com/MatthiasKunnen +[@mattijsbliek]: https://github.com/mattijsbliek +[@Maxim-Mazurok]: https://github.com/Maxim-Mazurok +[@maxmalov]: https://github.com/maxmalov +[@MikeyBeLike]: https://github.com/MikeyBeLike +[@mplewis]: https://github.com/mplewis +[@nickofthyme]: https://github.com/nickofthyme +[@nicolashenry]: https://github.com/nicolashenry +[@noelebrun]: https://github.com/noelebrun +[@ntdb]: https://github.com/ntdb +[@panrafal]: https://github.com/panrafal +[@paztis]: https://github.com/paztis +[@pcorpet]: https://github.com/pcorpet +[@Pessimistress]: https://github.com/Pessimistress +[@preco21]: https://github.com/preco21 +[@pzhine]: https://github.com/pzhine +[@ramasilveyra]: https://github.com/ramasilveyra +[@randallreedjr]: https://github.com/randallreedjr +[@redbugz]: https://github.com/redbugz +[@rfermann]: https://github.com/rfermann +[@rhettlivingston]: https://github.com/rhettlivingston +[@rhys-vdw]: https://github.com/rhys-vdw +[@richardxia]: https://github.com/richardxia +[@robertrossmann]: https://github.com/robertrossmann +[@rosswarren]: https://github.com/rosswarren +[@rsolomon]: https://github.com/rsolomon +[@s-h-a-d-o-w]: https://github.com/s-h-a-d-o-w +[@saschanaz]: https://github.com/saschanaz +[@schmidsi]: https://github.com/schmidsi +[@schmod]: https://github.com/schmod +[@scottnonnenberg]: https://github.com/scottnonnenberg +[@sergei-startsev]: https://github.com/sergei-startsev +[@sharmilajesupaul]: https://github.com/sharmilajesupaul +[@sheepsteak]: https://github.com/sheepsteak +[@silviogutierrez]: https://github.com/silviogutierrez +[@SimenB]: https://github.com/SimenB +[@sindresorhus]: https://github.com/sindresorhus +[@singles]: https://github.com/singles +[@skozin]: https://github.com/skozin +[@skyrpex]: https://github.com/skyrpex +[@sompylasar]: https://github.com/sompylasar +[@spalger]: https://github.com/spalger +[@st-sloth]: https://github.com/st-sloth +[@stekycz]: https://github.com/stekycz +[@straub]: https://github.com/straub +[@strawbrary]: https://github.com/strawbrary +[@stropho]: https://github.com/stropho +[@sveyret]: https://github.com/sveyret +[@swernerx]: https://github.com/swernerx +[@syymza]: https://github.com/syymza +[@taion]: https://github.com/taion +[@TakeScoop]: https://github.com/TakeScoop +[@tapayne88]: https://github.com/tapayne88 +[@Taranys]: https://github.com/Taranys +[@taye]: https://github.com/taye +[@TheCrueltySage]: https://github.com/TheCrueltySage +[@tihonove]: https://github.com/tihonove +[@timkraut]: https://github.com/timkraut +[@tizmagik]: https://github.com/tizmagik +[@tomprats]: https://github.com/tomprats +[@TrevorBurnham]: https://github.com/TrevorBurnham +[@ttmarek]: https://github.com/ttmarek +[@vikr01]: https://github.com/vikr01 +[@wKich]: https://github.com/wKich +[@wschurman]: https://github.com/wschurman +[@wtgtybhertgeghgtwtg]: https://github.com/wtgtybhertgeghgtwtg +[@xpl]: https://github.com/xpl +[@yordis]: https://github.com/yordis +[@zloirock]: https://github.com/zloirock \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/README.md b/node_modules/eslint-plugin-import/README.md index e08e72ffa..d7d50eaf5 100644 --- a/node_modules/eslint-plugin-import/README.md +++ b/node_modules/eslint-plugin-import/README.md @@ -27,6 +27,7 @@ This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, a * Forbid a module from importing a module with a dependency path back to itself ([`no-cycle`]) * Prevent unnecessary path segments in import and require statements ([`no-useless-path-segments`]) * Forbid importing modules from parent directories ([`no-relative-parent-imports`]) +* Prevent importing packages through relative paths ([`no-relative-packages`]) [`no-unresolved`]: ./docs/rules/no-unresolved.md [`named`]: ./docs/rules/named.md @@ -41,6 +42,7 @@ This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, a [`no-cycle`]: ./docs/rules/no-cycle.md [`no-useless-path-segments`]: ./docs/rules/no-useless-path-segments.md [`no-relative-parent-imports`]: ./docs/rules/no-relative-parent-imports.md +[`no-relative-packages`]: ./docs/rules/no-relative-packages.md ### Helpful warnings @@ -67,11 +69,13 @@ This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, a * Report CommonJS `require` calls and `module.exports` or `exports.*`. ([`no-commonjs`]) * Report AMD `require` and `define` calls. ([`no-amd`]) * No Node.js builtin modules. ([`no-nodejs-modules`]) +* Forbid imports with CommonJS exports ([`no-import-module-exports`]) [`unambiguous`]: ./docs/rules/unambiguous.md [`no-commonjs`]: ./docs/rules/no-commonjs.md [`no-amd`]: ./docs/rules/no-amd.md [`no-nodejs-modules`]: ./docs/rules/no-nodejs-modules.md +[`no-import-module-exports`]: ./docs/rules/no-import-module-exports.md ### Style guide @@ -136,6 +140,8 @@ in your `.eslintrc.(yml|json|js)`, or extend one of the canned configs: --- extends: - eslint:recommended + - plugin:import/recommended + # alternatively, 'recommended' is the combination of these two rule sets: - plugin:import/errors - plugin:import/warnings @@ -161,8 +167,7 @@ Make sure you have installed [`@typescript-eslint/parser`] which is used in the ```yaml extends: - eslint:recommended - - plugin:import/errors - - plugin:import/warnings + - plugin:import/recommended - plugin:import/typescript # this line does the trick ``` diff --git a/node_modules/eslint-plugin-import/config/electron.js b/node_modules/eslint-plugin-import/config/electron.js index 6fab4e8b9..f98ff0614 100644 --- a/node_modules/eslint-plugin-import/config/electron.js +++ b/node_modules/eslint-plugin-import/config/electron.js @@ -5,4 +5,4 @@ module.exports = { settings: { 'import/core-modules': ['electron'], }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/errors.js b/node_modules/eslint-plugin-import/config/errors.js index d99a9dacf..127c29a0c 100644 --- a/node_modules/eslint-plugin-import/config/errors.js +++ b/node_modules/eslint-plugin-import/config/errors.js @@ -5,10 +5,10 @@ */ module.exports = { plugins: ['import'], - rules: { 'import/no-unresolved': 2 - , 'import/named': 2 - , 'import/namespace': 2 - , 'import/default': 2 - , 'import/export': 2, - }, -} + rules: { 'import/no-unresolved': 2, + 'import/named': 2, + 'import/namespace': 2, + 'import/default': 2, + 'import/export': 2, + }, +}; diff --git a/node_modules/eslint-plugin-import/config/react-native.js b/node_modules/eslint-plugin-import/config/react-native.js index fbc8652c9..a1aa0ee56 100644 --- a/node_modules/eslint-plugin-import/config/react-native.js +++ b/node_modules/eslint-plugin-import/config/react-native.js @@ -10,4 +10,4 @@ module.exports = { }, }, }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/react.js b/node_modules/eslint-plugin-import/config/react.js index fe1b5f2ec..68555512d 100644 --- a/node_modules/eslint-plugin-import/config/react.js +++ b/node_modules/eslint-plugin-import/config/react.js @@ -15,4 +15,4 @@ module.exports = { ecmaFeatures: { jsx: true }, }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/recommended.js b/node_modules/eslint-plugin-import/config/recommended.js index 997091893..8e7ca9fd0 100644 --- a/node_modules/eslint-plugin-import/config/recommended.js +++ b/node_modules/eslint-plugin-import/config/recommended.js @@ -25,4 +25,4 @@ module.exports = { sourceType: 'module', ecmaVersion: 2018, }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/stage-0.js b/node_modules/eslint-plugin-import/config/stage-0.js index 25ad75feb..42419123f 100644 --- a/node_modules/eslint-plugin-import/config/stage-0.js +++ b/node_modules/eslint-plugin-import/config/stage-0.js @@ -9,4 +9,4 @@ module.exports = { rules: { 'import/no-deprecated': 1, }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/typescript.js b/node_modules/eslint-plugin-import/config/typescript.js index 705faaf37..01b59f06b 100644 --- a/node_modules/eslint-plugin-import/config/typescript.js +++ b/node_modules/eslint-plugin-import/config/typescript.js @@ -2,7 +2,7 @@ * Adds `.jsx`, `.ts` and `.tsx` as an extension, and enables JSX/TSX parsing. */ -var allExtensions = ['.ts', '.tsx', '.d.ts', '.js', '.jsx'] +const allExtensions = ['.ts', '.tsx', '.d.ts', '.js', '.jsx']; module.exports = { @@ -25,4 +25,4 @@ module.exports = { // TypeScript compilation already ensures that named imports exist in the referenced module 'import/named': 'off', }, -} +}; diff --git a/node_modules/eslint-plugin-import/config/warnings.js b/node_modules/eslint-plugin-import/config/warnings.js index c05eb0722..5d74143b2 100644 --- a/node_modules/eslint-plugin-import/config/warnings.js +++ b/node_modules/eslint-plugin-import/config/warnings.js @@ -9,4 +9,4 @@ module.exports = { 'import/no-named-as-default-member': 1, 'import/no-duplicates': 1, }, -} +}; diff --git a/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md b/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md index 4bcc5a98b..d29c06bba 100644 --- a/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +++ b/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md @@ -39,12 +39,6 @@ import( 'someModule', ); -// using single quotes instead of double quotes -import( - /* webpackChunkName: 'someModule' */ - 'someModule', -); - // invalid syntax for webpack comment import( /* totally not webpackChunkName: "someModule" */ @@ -78,6 +72,12 @@ The following patterns are valid: /* webpackChunkName: "someModule", webpackPrefetch: true */ 'someModule', ); + + // using single quotes instead of double quotes + import( + /* webpackChunkName: 'someModule' */ + 'someModule', + ); ``` ## When Not To Use It diff --git a/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md b/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md index 295590ccd..cdc0a913f 100644 --- a/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +++ b/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md @@ -1,7 +1,7 @@ # import/no-extraneous-dependencies: Forbid the use of extraneous packages Forbid the import of external modules that are not declared in the `package.json`'s `dependencies`, `devDependencies`, `optionalDependencies`, `peerDependencies`, or `bundledDependencies`. -The closest parent `package.json` will be used. If no `package.json` is found, the rule will not lint anything. This behaviour can be changed with the rule option `packageDir`. +The closest parent `package.json` will be used. If no `package.json` is found, the rule will not lint anything. This behavior can be changed with the rule option `packageDir`. Modules have to be installed for this rule to work. @@ -13,7 +13,7 @@ This rule supports the following options: `optionalDependencies`: If set to `false`, then the rule will show an error when `optionalDependencies` are imported. Defaults to `true`. -`peerDependencies`: If set to `false`, then the rule will show an error when `peerDependencies` are imported. Defaults to `false`. +`peerDependencies`: If set to `false`, then the rule will show an error when `peerDependencies` are imported. Defaults to `true`. `bundledDependencies`: If set to `false`, then the rule will show an error when `bundledDependencies` are imported. Defaults to `true`. diff --git a/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md b/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md new file mode 100644 index 000000000..8131fd5f7 --- /dev/null +++ b/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md @@ -0,0 +1,74 @@ +# no-import-module-exports + +Reports the use of import declarations with CommonJS exports in any module +except for the [main module](https://docs.npmjs.com/files/package.json#main). + +If you have multiple entry points or are using `js:next` this rule includes an +`exceptions` option which you can use to exclude those files from the rule. + +## Options + +#### `exceptions` + - An array of globs. The rule will be omitted from any file that matches a glob + in the options array. For example, the following setting will omit the rule + in the `some-file.js` file. + +```json +"import/no-import-module-exports": ["error", { + "exceptions": ["**/*/some-file.js"] +}] +``` + +## Rule Details + +### Fail + +```js +import { stuff } from 'starwars' +module.exports = thing + +import * as allThings from 'starwars' +exports.bar = thing + +import thing from 'other-thing' +exports.foo = bar + +import thing from 'starwars' +const baz = module.exports = thing +console.log(baz) +``` + +### Pass +Given the following package.json: + +```json +{ + "main": "lib/index.js", +} +``` + +```js +import thing from 'other-thing' +export default thing + +const thing = require('thing') +module.exports = thing + +const thing = require('thing') +exports.foo = bar + +import thing from 'otherthing' +console.log(thing.module.exports) + +// in lib/index.js +import foo from 'path'; +module.exports = foo; + +// in some-file.js +// eslint import/no-import-module-exports: ["error", {"exceptions": ["**/*/some-file.js"]}] +import foo from 'path'; +module.exports = foo; +``` + +### Further Reading + - [webpack issue #4039](https://github.com/webpack/webpack/issues/4039) diff --git a/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md b/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md index 7bbb2edd1..d957e26f3 100644 --- a/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +++ b/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md @@ -4,7 +4,10 @@ Use this rule to prevent importing the submodules of other modules. ## Rule Details -This rule has one option, `allow` which is an array of [minimatch/glob patterns](https://github.com/isaacs/node-glob#glob-primer) patterns that whitelist paths and import statements that can be imported with reaching. +This rule has two mutally exclusive options that are arrays of [minimatch/glob patterns](https://github.com/isaacs/node-glob#glob-primer) patterns: + +- `allow` that include paths and import statements that can be imported with reaching. +- `forbid` that exclude paths and import statements that can be imported with reaching. ### Examples @@ -33,7 +36,7 @@ And the .eslintrc file: ... "rules": { "import/no-internal-modules": [ "error", { - "allow": [ "**/actions/*", "source-map-support/*" ] + "allow": [ "**/actions/*", "source-map-support/*" ], } ] } } @@ -68,3 +71,62 @@ import getUser from '../actions/getUser'; export * from 'source-map-support/register'; export { settings } from '../app'; ``` + +Given the following folder structure: + +``` +my-project +├── actions +│ └── getUser.js +│ └── updateUser.js +├── reducer +│ └── index.js +│ └── user.js +├── redux +│ └── index.js +│ └── configureStore.js +└── app +│ └── index.js +│ └── settings.js +└── entry.js +``` + +And the .eslintrc file: +``` +{ + ... + "rules": { + "import/no-internal-modules": [ "error", { + "forbid": [ "**/actions/*", "source-map-support/*" ], + } ] + } +} +``` + +The following patterns are considered problems: + +```js +/** + * in my-project/entry.js + */ + +import 'source-map-support/register'; +import getUser from '../actions/getUser'; + +export * from 'source-map-support/register'; +export getUser from '../actions/getUser'; +``` + +The following patterns are NOT considered problems: + +```js +/** + * in my-project/entry.js + */ + +import 'source-map-support'; +import { getUser } from '../actions'; + +export * from 'source-map-support'; +export { getUser } from '../actions'; +``` diff --git a/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md b/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md index 0a92b7b51..042141383 100644 --- a/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +++ b/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md @@ -31,7 +31,7 @@ For post-ES2015 `export` extensions, this also prevents exporting the default fr ```js // valid: -export foo from './foo.js' +export foo from './foo.js'; // message: Using exported name 'bar' as identifier for default export. export bar from './foo.js'; diff --git a/node_modules/eslint-plugin-import/docs/rules/no-named-default.md b/node_modules/eslint-plugin-import/docs/rules/no-named-default.md index 86fb41d61..bb8b13bca 100644 --- a/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +++ b/node_modules/eslint-plugin-import/docs/rules/no-named-default.md @@ -4,6 +4,10 @@ Reports use of a default export as a locally named import. Rationale: the syntax exists to import default exports expressively, let's use it. +Note that type imports, as used by [Flow], are always ignored. + +[Flow]: https://flow.org/ + ## Rule Details Given: diff --git a/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md b/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md new file mode 100644 index 000000000..d5a068493 --- /dev/null +++ b/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md @@ -0,0 +1,66 @@ +# import/no-relative-packages + +Use this rule to prevent importing packages through relative paths. + +It's useful in Yarn/Lerna workspaces, were it's possible to import a sibling +package using `../package` relative path, while direct `package` is the correct one. + + +### Examples + +Given the following folder structure: + +``` +my-project +├── packages +│ ├── foo +│ │ ├── index.js +│ │ └── package.json +│ └── bar +│ ├── index.js +│ └── package.json +└── entry.js +``` + +And the .eslintrc file: +``` +{ + ... + "rules": { + "import/no-relative-packages": "error" + } +} +``` + +The following patterns are considered problems: + +```js +/** + * in my-project/packages/foo.js + */ + +import bar from '../bar'; // Import sibling package using relative path +import entry from '../../entry.js'; // Import from parent package using relative path + +/** + * in my-project/entry.js + */ + +import bar from './packages/bar'; // Import child package using relative path +``` + +The following patterns are NOT considered problems: + +```js +/** + * in my-project/packages/foo.js + */ + +import bar from 'bar'; // Import sibling package using package name + +/** + * in my-project/entry.js + */ + +import bar from 'bar'; // Import sibling package using package name +``` diff --git a/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md b/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md index 8c234202f..4c04333ad 100644 --- a/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +++ b/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md @@ -12,7 +12,7 @@ Note: dynamic imports are currently not supported. In order for this plugin to work, one of the options `missingExports` or `unusedExports` must be enabled (see "Options" section below). In the future, these options will be enabled by default (see https://github.com/benmosher/eslint-plugin-import/issues/1324) -Example: +Example: ``` "rules: { ...otherRules, @@ -27,13 +27,13 @@ This rule takes the following option: - **`missingExports`**: if `true`, files without any exports are reported (defaults to `false`) - **`unusedExports`**: if `true`, exports without any static usage within other modules are reported (defaults to `false`) - `src`: an array with files/paths to be analyzed. It only applies to unused exports. Defaults to `process.cwd()`, if not provided -- `ignoreExports`: an array with files/paths for which unused exports will not be reported (e.g module entry points in a published package) +- `ignoreExports`: an array with files/paths for which unused exports will not be reported (e.g module entry points in a published package) ### Example for missing exports #### The following will be reported ```js -const class MyClass { /*...*/ } +const class MyClass { /*...*/ } function makeClass() { return new MyClass(...arguments) } ``` @@ -41,10 +41,10 @@ function makeClass() { return new MyClass(...arguments) } #### The following will not be reported ```js -export default function () { /*...*/ } +export default function () { /*...*/ } ``` ```js -export const foo = function () { /*...*/ } +export const foo = function () { /*...*/ } ``` ```js export { foo, bar } @@ -61,7 +61,7 @@ import { f } from 'file-b' import * as fileC from 'file-c' export { default, i0 } from 'file-d' // both will be reported -export const j = 99 // will be reported +export const j = 99 // will be reported ``` and file-d: ```js diff --git a/node_modules/eslint-plugin-import/docs/rules/order.md b/node_modules/eslint-plugin-import/docs/rules/order.md index 7d91efd6f..848c91dde 100644 --- a/node_modules/eslint-plugin-import/docs/rules/order.md +++ b/node_modules/eslint-plugin-import/docs/rules/order.md @@ -2,7 +2,8 @@ Enforce a convention in the order of `require()` / `import` statements. +(fixable) The `--fix` option on the [command line] automatically fixes problems reported by this rule. -The order is as shown in the following example: + +With the [`groups`](#groups-array) option set to `["builtin", "external", "internal", "parent", "sibling", "index", "object"]` the order is as shown in the following example: ```js // 1. node "builtin" modules @@ -24,6 +25,8 @@ import baz from './bar/baz'; import main from './'; // 7. "object"-imports (only available in TypeScript) import log = console.log; +// 8. "type" imports (only available in Flow and TypeScript) +import type { Foo } from 'foo'; ``` Unassigned imports are ignored, as the order they are imported in may be important. @@ -80,7 +83,7 @@ This rule supports the following options: ### `groups: [array]`: How groups are defined, and the order to respect. `groups` must be an array of `string` or [`string`]. The only allowed `string`s are: -`"builtin"`, `"external"`, `"internal"`, `"unknown"`, `"parent"`, `"sibling"`, `"index"`, `"object"`. +`"builtin"`, `"external"`, `"internal"`, `"unknown"`, `"parent"`, `"sibling"`, `"index"`, `"object"`, `"type"`. The enforced order is the same as the order of each element in a group. Omitted types are implicitly grouped together as the last element. Example: ```js [ @@ -96,7 +99,7 @@ The default value is `["builtin", "external", "parent", "sibling", "index"]`. You can set the options like this: ```js -"import/order": ["error", {"groups": ["index", "sibling", "parent", "internal", "external", "builtin", "object"]}] +"import/order": ["error", {"groups": ["index", "sibling", "parent", "internal", "external", "builtin", "object", "type"]}] ``` ### `pathGroups: [array of objects]`: @@ -253,6 +256,33 @@ import React, { PureComponent } from 'react'; import { compose, apply } from 'xcompose'; ``` +### `warnOnUnassignedImports: true|false`: + +* default: `false` + +Warns when unassigned imports are out of order. These warning will not be fixed +with `--fix` because unassigned imports are used for side-effects and changing the +import of order of modules with side effects can not be done automatically in a +way that is safe. + +This will fail the rule check: + +```js +/* eslint import/order: ["error", {"warnOnUnassignedImports": true}] */ +import fs from 'fs'; +import './styles.css'; +import path from 'path'; +``` + +While this will pass: + +```js +/* eslint import/order: ["error", {"warnOnUnassignedImports": true}] */ +import fs from 'fs'; +import path from 'path'; +import './styles.css'; +``` + ## Related - [`import/external-module-folders`] setting diff --git a/node_modules/eslint-plugin-import/lib/ExportMap.js b/node_modules/eslint-plugin-import/lib/ExportMap.js index acea8797e..56ca436e5 100644 --- a/node_modules/eslint-plugin-import/lib/ExportMap.js +++ b/node_modules/eslint-plugin-import/lib/ExportMap.js @@ -642,7 +642,30 @@ -recursivePatternCapture = recursivePatternCapture;var _fs = require('fs');var _fs2 = _interopRequireDefault(_fs);var _doctrine = require('doctrine');var _doctrine2 = _interopRequireDefault(_doctrine);var _debug = require('debug');var _debug2 = _interopRequireDefault(_debug);var _eslint = require('eslint');var _parse = require('eslint-module-utils/parse');var _parse2 = _interopRequireDefault(_parse);var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);var _ignore = require('eslint-module-utils/ignore');var _ignore2 = _interopRequireDefault(_ignore);var _hash = require('eslint-module-utils/hash');var _unambiguous = require('eslint-module-utils/unambiguous');var unambiguous = _interopRequireWildcard(_unambiguous);var _tsconfigLoader = require('tsconfig-paths/lib/tsconfig-loader');var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;} else {var newObj = {};if (obj != null) {for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];}}newObj.default = obj;return newObj;}}function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}let parseConfigFileTextToJson;const log = (0, _debug2.default)('eslint-plugin-import:ExportMap');const exportCache = new Map();class ExportMap {constructor(path) {this.path = path;this.namespace = new Map(); // todo: restructure to key on path, value is resolver + map of names + + + + + + + + + + + + + + + + + + + + + + + +recursivePatternCapture = recursivePatternCapture;var _fs = require('fs');var _fs2 = _interopRequireDefault(_fs);var _doctrine = require('doctrine');var _doctrine2 = _interopRequireDefault(_doctrine);var _debug = require('debug');var _debug2 = _interopRequireDefault(_debug);var _eslint = require('eslint');var _parse = require('eslint-module-utils/parse');var _parse2 = _interopRequireDefault(_parse);var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);var _ignore = require('eslint-module-utils/ignore');var _ignore2 = _interopRequireDefault(_ignore);var _hash = require('eslint-module-utils/hash');var _unambiguous = require('eslint-module-utils/unambiguous');var unambiguous = _interopRequireWildcard(_unambiguous);var _tsconfigLoader = require('tsconfig-paths/lib/tsconfig-loader');var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;} else {var newObj = {};if (obj != null) {for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];}}newObj.default = obj;return newObj;}}function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}let parseConfigFileTextToJson;const log = (0, _debug2.default)('eslint-plugin-import:ExportMap');const exportCache = new Map();const tsConfigCache = new Map();class ExportMap {constructor(path) {this.path = path;this.namespace = new Map(); // todo: restructure to key on path, value is resolver + map of names this.reexports = new Map(); /** * star-exports * @type {Set} of () => ExportMap @@ -658,58 +681,61 @@ recursivePatternCapture = recursivePatternCapture;var _fs = require('fs');var _f * @param {string} name * @return {Boolean} true if `name` is exported by this module. */has(name) {if (this.namespace.has(name)) return true;if (this.reexports.has(name)) return true; // default exports must be explicitly re-exported (#328) - if (name !== 'default') {for (let dep of this.dependencies) {let innerMap = dep(); // todo: report as unresolved? + if (name !== 'default') {for (const dep of this.dependencies) {const innerMap = dep(); // todo: report as unresolved? if (!innerMap) continue;if (innerMap.has(name)) return true;}}return false;} /** * ensure that imported name fully resolves. - * @param {[type]} name [description] - * @return {Boolean} [description] - */hasDeep(name) {if (this.namespace.has(name)) return { found: true, path: [this] };if (this.reexports.has(name)) {const reexports = this.reexports.get(name),imported = reexports.getImport(); // if import is ignored, return explicit 'null' - if (imported == null) return { found: true, path: [this] // safeguard against cycles, only if name matches - };if (imported.path === this.path && reexports.local === name) {return { found: false, path: [this] };}const deep = imported.hasDeep(reexports.local);deep.path.unshift(this);return deep;} // default exports must be explicitly re-exported (#328) - if (name !== 'default') {for (let dep of this.dependencies) {let innerMap = dep();if (innerMap == null) return { found: true, path: [this] // todo: report as unresolved? - };if (!innerMap) continue; // safeguard against cycles - if (innerMap.path === this.path) continue;let innerValue = innerMap.hasDeep(name);if (innerValue.found) {innerValue.path.unshift(this);return innerValue;}}}return { found: false, path: [this] };}get(name) {if (this.namespace.has(name)) return this.namespace.get(name);if (this.reexports.has(name)) {const reexports = this.reexports.get(name),imported = reexports.getImport(); // if import is ignored, return explicit 'null' + * @param {string} name + * @return {{ found: boolean, path: ExportMap[] }} + */hasDeep(name) {if (this.namespace.has(name)) return { found: true, path: [this] };if (this.reexports.has(name)) {const reexports = this.reexports.get(name);const imported = reexports.getImport(); // if import is ignored, return explicit 'null' + if (imported == null) return { found: true, path: [this] }; // safeguard against cycles, only if name matches + if (imported.path === this.path && reexports.local === name) {return { found: false, path: [this] };}const deep = imported.hasDeep(reexports.local);deep.path.unshift(this);return deep;} // default exports must be explicitly re-exported (#328) + if (name !== 'default') {for (const dep of this.dependencies) {const innerMap = dep();if (innerMap == null) return { found: true, path: [this] }; // todo: report as unresolved? + if (!innerMap) continue; // safeguard against cycles + if (innerMap.path === this.path) continue;const innerValue = innerMap.hasDeep(name);if (innerValue.found) {innerValue.path.unshift(this);return innerValue;}}}return { found: false, path: [this] };}get(name) {if (this.namespace.has(name)) return this.namespace.get(name);if (this.reexports.has(name)) {const reexports = this.reexports.get(name);const imported = reexports.getImport(); // if import is ignored, return explicit 'null' if (imported == null) return null; // safeguard against cycles, only if name matches if (imported.path === this.path && reexports.local === name) return undefined;return imported.get(reexports.local);} // default exports must be explicitly re-exported (#328) - if (name !== 'default') {for (let dep of this.dependencies) {let innerMap = dep(); // todo: report as unresolved? + if (name !== 'default') {for (const dep of this.dependencies) {const innerMap = dep(); // todo: report as unresolved? if (!innerMap) continue; // safeguard against cycles - if (innerMap.path === this.path) continue;let innerValue = innerMap.get(name);if (innerValue !== undefined) return innerValue;}}return undefined;}forEach(callback, thisArg) {this.namespace.forEach((v, n) => callback.call(thisArg, v, n, this));this.reexports.forEach((reexports, name) => {const reexported = reexports.getImport(); // can't look up meta for ignored re-exports (#348) + if (innerMap.path === this.path) continue;const innerValue = innerMap.get(name);if (innerValue !== undefined) return innerValue;}}return undefined;}forEach(callback, thisArg) {this.namespace.forEach((v, n) => callback.call(thisArg, v, n, this));this.reexports.forEach((reexports, name) => {const reexported = reexports.getImport(); // can't look up meta for ignored re-exports (#348) callback.call(thisArg, reexported && reexported.get(reexports.local), name, this);});this.dependencies.forEach(dep => {const d = dep(); // CJS / ignored dependencies won't exist (#717) if (d == null) return;d.forEach((v, n) => n !== 'default' && callback.call(thisArg, v, n, this));});} // todo: keys, values, entries? reportErrors(context, declaration) {context.report({ node: declaration.source, message: `Parse errors in imported module '${declaration.source.value}': ` + `${this.errors.map(e => `${e.message} (${e.lineNumber}:${e.column})`).join(', ')}` });}}exports.default = ExportMap; /** * parse docs from the first node that has leading comments */function captureDoc(source, docStyleParsers) {const metadata = {}; // 'some' short-circuits on first 'true' for (var _len = arguments.length, nodes = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {nodes[_key - 2] = arguments[_key];}nodes.some(n => {try {let leadingComments; // n.leadingComments is legacy `attachComments` behavior - if ('leadingComments' in n) {leadingComments = n.leadingComments;} else if (n.range) {leadingComments = source.getCommentsBefore(n);}if (!leadingComments || leadingComments.length === 0) return false;for (let name in docStyleParsers) {const doc = docStyleParsers[name](leadingComments);if (doc) {metadata.doc = doc;}}return true;} catch (err) {return false;}});return metadata;}const availableDocStyleParsers = { jsdoc: captureJsDoc, tomdoc: captureTomDoc /** - * parse JSDoc from leading comments - * @param {...[type]} comments [description] - * @return {{doc: object}} - */ };function captureJsDoc(comments) {let doc; // capture XSDoc + if ('leadingComments' in n) {leadingComments = n.leadingComments;} else if (n.range) {leadingComments = source.getCommentsBefore(n);}if (!leadingComments || leadingComments.length === 0) return false;for (const name in docStyleParsers) {const doc = docStyleParsers[name](leadingComments);if (doc) {metadata.doc = doc;}}return true;} catch (err) {return false;}});return metadata;}const availableDocStyleParsers = { jsdoc: captureJsDoc, tomdoc: captureTomDoc }; /** + * parse JSDoc from leading comments + * @param {object[]} comments + * @return {{ doc: object }} + */function captureJsDoc(comments) {let doc; // capture XSDoc comments.forEach(comment => {// skip non-block comments if (comment.type !== 'Block') return;try {doc = _doctrine2.default.parse(comment.value, { unwrap: true });} catch (err) {/* don't care, for now? maybe add to `errors?` */}});return doc;} /** * parse TomDoc section from comments */function captureTomDoc(comments) {// collect lines up to first paragraph break const lines = [];for (let i = 0; i < comments.length; i++) {const comment = comments[i];if (comment.value.match(/^\s*$/)) break;lines.push(comment.value.trim());} // return doctrine-like object - const statusMatch = lines.join(' ').match(/^(Public|Internal|Deprecated):\s*(.+)/);if (statusMatch) {return { description: statusMatch[2], tags: [{ title: statusMatch[1].toLowerCase(), description: statusMatch[2] }] };}}ExportMap.get = function (source, context) {const path = (0, _resolve2.default)(source, context);if (path == null) return null;return ExportMap.for(childContext(path, context));};ExportMap.for = function (context) {const path = context.path;const cacheKey = (0, _hash.hashObject)(context).digest('hex');let exportMap = exportCache.get(cacheKey); // return cached ignore + const statusMatch = lines.join(' ').match(/^(Public|Internal|Deprecated):\s*(.+)/);if (statusMatch) {return { description: statusMatch[2], tags: [{ title: statusMatch[1].toLowerCase(), description: statusMatch[2] }] };}}const supportedImportTypes = new Set(['ImportDefaultSpecifier', 'ImportNamespaceSpecifier']);ExportMap.get = function (source, context) {const path = (0, _resolve2.default)(source, context);if (path == null) return null;return ExportMap.for(childContext(path, context));};ExportMap.for = function (context) {const path = context.path;const cacheKey = (0, _hash.hashObject)(context).digest('hex');let exportMap = exportCache.get(cacheKey); // return cached ignore if (exportMap === null) return null;const stats = _fs2.default.statSync(path);if (exportMap != null) {// date equality check if (exportMap.mtime - stats.mtime === 0) {return exportMap;} // future: check content equality? } // check valid extensions first if (!(0, _ignore.hasValidExtension)(path, context)) {exportCache.set(cacheKey, null);return null;} // check for and cache ignore if ((0, _ignore2.default)(path, context)) {log('ignored path due to ignore settings:', path);exportCache.set(cacheKey, null);return null;}const content = _fs2.default.readFileSync(path, { encoding: 'utf8' }); // check for and cache unambiguous modules if (!unambiguous.test(content)) {log('ignored path due to unambiguous regex:', path);exportCache.set(cacheKey, null);return null;}log('cache miss', cacheKey, 'for path', path);exportMap = ExportMap.parse(path, content, context); // ambiguous modules return null - if (exportMap == null) return null;exportMap.mtime = stats.mtime;exportCache.set(cacheKey, exportMap);return exportMap;};ExportMap.parse = function (path, content, context) {var m = new ExportMap(path);try {var ast = (0, _parse2.default)(path, content, context);} catch (err) {log('parse error:', path, err);m.errors.push(err);return m; // can't continue + if (exportMap == null) return null;exportMap.mtime = stats.mtime;exportCache.set(cacheKey, exportMap);return exportMap;};ExportMap.parse = function (path, content, context) {const m = new ExportMap(path);let ast;try {ast = (0, _parse2.default)(path, content, context);} catch (err) {log('parse error:', path, err);m.errors.push(err);return m; // can't continue }if (!unambiguous.isModule(ast)) return null;const docstyle = context.settings && context.settings['import/docstyle'] || ['jsdoc'];const docStyleParsers = {};docstyle.forEach(style => {docStyleParsers[style] = availableDocStyleParsers[style];}); // attempt to collect module doc - if (ast.comments) {ast.comments.some(c => {if (c.type !== 'Block') return false;try {const doc = _doctrine2.default.parse(c.value, { unwrap: true });if (doc.tags.some(t => t.title === 'module')) {m.doc = doc;return true;}} catch (err) {/* ignore */}return false;});}const namespaces = new Map();function remotePath(value) {return _resolve2.default.relative(value, path, context.settings);}function resolveImport(value) {const rp = remotePath(value);if (rp == null) return null;return ExportMap.for(childContext(rp, context));}function getNamespace(identifier) {if (!namespaces.has(identifier.name)) return;return function () {return resolveImport(namespaces.get(identifier.name));};}function addNamespace(object, identifier) {const nsfn = getNamespace(identifier);if (nsfn) {Object.defineProperty(object, 'namespace', { get: nsfn });}return object;}function captureDependency(declaration) {if (declaration.source == null) return null;if (declaration.importKind === 'type') return null; // skip Flow type imports - const importedSpecifiers = new Set();const supportedTypes = new Set(['ImportDefaultSpecifier', 'ImportNamespaceSpecifier']);let hasImportedType = false;if (declaration.specifiers) {declaration.specifiers.forEach(specifier => {const isType = specifier.importKind === 'type';hasImportedType = hasImportedType || isType;if (supportedTypes.has(specifier.type) && !isType) {importedSpecifiers.add(specifier.type);}if (specifier.type === 'ImportSpecifier' && !isType) {importedSpecifiers.add(specifier.imported.name);}});} // only Flow types were imported - if (hasImportedType && importedSpecifiers.size === 0) return null;const p = remotePath(declaration.source.value);if (p == null) return null;const existing = m.imports.get(p);if (existing != null) return existing.getter;const getter = thunkFor(p, context);m.imports.set(p, { getter, source: { // capturing actual node reference holds full AST in memory! - value: declaration.source.value, loc: declaration.source.loc }, importedSpecifiers });return getter;}const source = makeSourceCode(content, ast);function isEsModuleInterop() {const tsConfigInfo = (0, _tsconfigLoader.tsConfigLoader)({ cwd: context.parserOptions && context.parserOptions.tsconfigRootDir || process.cwd(), getEnv: key => process.env[key] });try {if (tsConfigInfo.tsConfigPath !== undefined) {const jsonText = _fs2.default.readFileSync(tsConfigInfo.tsConfigPath).toString();if (!parseConfigFileTextToJson) {var _require = require('typescript'); // this is because projects not using TypeScript won't have typescript installed - parseConfigFileTextToJson = _require.parseConfigFileTextToJson;}const tsConfig = parseConfigFileTextToJson(tsConfigInfo.tsConfigPath, jsonText).config;return tsConfig.compilerOptions.esModuleInterop;}} catch (e) {return false;}}ast.body.forEach(function (n) {if (n.type === 'ExportDefaultDeclaration') {const exportMeta = captureDoc(source, docStyleParsers, n);if (n.declaration.type === 'Identifier') {addNamespace(exportMeta, n.declaration);}m.namespace.set('default', exportMeta);return;}if (n.type === 'ExportAllDeclaration') {const getter = captureDependency(n);if (getter) m.dependencies.add(getter);return;} // capture namespaces in case of later export - if (n.type === 'ImportDeclaration') {captureDependency(n);let ns;if (n.specifiers.some(s => s.type === 'ImportNamespaceSpecifier' && (ns = s))) {namespaces.set(ns.local.name, n.source.value);}return;}if (n.type === 'ExportNamedDeclaration') {// capture declaration + if (ast.comments) {ast.comments.some(c => {if (c.type !== 'Block') return false;try {const doc = _doctrine2.default.parse(c.value, { unwrap: true });if (doc.tags.some(t => t.title === 'module')) {m.doc = doc;return true;}} catch (err) {/* ignore */}return false;});}const namespaces = new Map();function remotePath(value) {return _resolve2.default.relative(value, path, context.settings);}function resolveImport(value) {const rp = remotePath(value);if (rp == null) return null;return ExportMap.for(childContext(rp, context));}function getNamespace(identifier) {if (!namespaces.has(identifier.name)) return;return function () {return resolveImport(namespaces.get(identifier.name));};}function addNamespace(object, identifier) {const nsfn = getNamespace(identifier);if (nsfn) {Object.defineProperty(object, 'namespace', { get: nsfn });}return object;}function captureDependency(_ref, isOnlyImportingTypes) {let source = _ref.source;let importedSpecifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set();if (source == null) return null;const p = remotePath(source.value);if (p == null) return null;const declarationMetadata = { // capturing actual node reference holds full AST in memory! + source: { value: source.value, loc: source.loc }, isOnlyImportingTypes, importedSpecifiers };const existing = m.imports.get(p);if (existing != null) {existing.declarations.add(declarationMetadata);return existing.getter;}const getter = thunkFor(p, context);m.imports.set(p, { getter, declarations: new Set([declarationMetadata]) });return getter;}const source = makeSourceCode(content, ast);function readTsConfig() {const tsConfigInfo = (0, _tsconfigLoader.tsConfigLoader)({ cwd: context.parserOptions && context.parserOptions.tsconfigRootDir || process.cwd(), getEnv: key => process.env[key] });try {if (tsConfigInfo.tsConfigPath !== undefined) {const jsonText = _fs2.default.readFileSync(tsConfigInfo.tsConfigPath).toString();if (!parseConfigFileTextToJson) {var _require = require('typescript'); // this is because projects not using TypeScript won't have typescript installed + parseConfigFileTextToJson = _require.parseConfigFileTextToJson;}return parseConfigFileTextToJson(tsConfigInfo.tsConfigPath, jsonText).config;}} catch (e) {// Catch any errors + }return null;}function isEsModuleInterop() {const cacheKey = (0, _hash.hashObject)({ tsconfigRootDir: context.parserOptions && context.parserOptions.tsconfigRootDir }).digest('hex');let tsConfig = tsConfigCache.get(cacheKey);if (typeof tsConfig === 'undefined') {tsConfig = readTsConfig();tsConfigCache.set(cacheKey, tsConfig);}return tsConfig && tsConfig.compilerOptions ? tsConfig.compilerOptions.esModuleInterop : false;}ast.body.forEach(function (n) {if (n.type === 'ExportDefaultDeclaration') {const exportMeta = captureDoc(source, docStyleParsers, n);if (n.declaration.type === 'Identifier') {addNamespace(exportMeta, n.declaration);}m.namespace.set('default', exportMeta);return;}if (n.type === 'ExportAllDeclaration') {const getter = captureDependency(n, n.exportKind === 'type');if (getter) m.dependencies.add(getter);return;} // capture namespaces in case of later export + if (n.type === 'ImportDeclaration') {// import type { Foo } (TS and Flow) + const declarationIsType = n.importKind === 'type'; // import './foo' or import {} from './foo' (both 0 specifiers) is a side effect and + // shouldn't be considered to be just importing types + let specifiersOnlyImportingTypes = n.specifiers.length;const importedSpecifiers = new Set();n.specifiers.forEach(specifier => {if (supportedImportTypes.has(specifier.type)) {importedSpecifiers.add(specifier.type);}if (specifier.type === 'ImportSpecifier') {importedSpecifiers.add(specifier.imported.name);} // import { type Foo } (Flow) + specifiersOnlyImportingTypes = specifiersOnlyImportingTypes && specifier.importKind === 'type';});captureDependency(n, declarationIsType || specifiersOnlyImportingTypes, importedSpecifiers);const ns = n.specifiers.find(s => s.type === 'ImportNamespaceSpecifier');if (ns) {namespaces.set(ns.local.name, n.source.value);}return;}if (n.type === 'ExportNamedDeclaration') {// capture declaration if (n.declaration != null) {switch (n.declaration.type) {case 'FunctionDeclaration':case 'ClassDeclaration':case 'TypeAlias': // flowtype with babel-eslint parser case 'InterfaceDeclaration':case 'DeclareFunction':case 'TSDeclareFunction':case 'TSEnumDeclaration':case 'TSTypeAliasDeclaration':case 'TSInterfaceDeclaration':case 'TSAbstractClassDeclaration':case 'TSModuleDeclaration':m.namespace.set(n.declaration.id.name, captureDoc(source, docStyleParsers, n));break;case 'VariableDeclaration':n.declaration.declarations.forEach(d => recursivePatternCapture(d.id, id => m.namespace.set(id.name, captureDoc(source, docStyleParsers, d, n))));break;}}const nsource = n.source && n.source.value;n.specifiers.forEach(s => {const exportMeta = {};let local;switch (s.type) {case 'ExportDefaultSpecifier':if (!n.source) return;local = 'default';break;case 'ExportNamespaceSpecifier':m.namespace.set(s.exported.name, Object.defineProperty(exportMeta, 'namespace', { get() {return resolveImport(nsource);} }));return;case 'ExportSpecifier':if (!n.source) {m.namespace.set(s.exported.name, addNamespace(exportMeta, s.local));return;} // else falls through default:local = s.local.name;break;} // todo: JSDoc m.reexports.set(s.exported.name, { local, getImport: () => resolveImport(nsource) });});}const isEsModuleInteropTrue = isEsModuleInterop();const exports = ['TSExportAssignment'];if (isEsModuleInteropTrue) {exports.push('TSNamespaceExportDeclaration');} // This doesn't declare anything, but changes what's being exported. - if ((0, _arrayIncludes2.default)(exports, n.type)) {const exportedName = n.type === 'TSNamespaceExportDeclaration' ? n.id.name : n.expression && n.expression.name || n.expression.id.name;const declTypes = ['VariableDeclaration', 'ClassDeclaration', 'TSDeclareFunction', 'TSEnumDeclaration', 'TSTypeAliasDeclaration', 'TSInterfaceDeclaration', 'TSAbstractClassDeclaration', 'TSModuleDeclaration'];const exportedDecls = ast.body.filter((_ref) => {let type = _ref.type,id = _ref.id,declarations = _ref.declarations;return (0, _arrayIncludes2.default)(declTypes, type) && (id && id.name === exportedName || declarations && declarations.find(d => d.id.name === exportedName));});if (exportedDecls.length === 0) {// Export is not referencing any local declaration, must be re-exporting + if ((0, _arrayIncludes2.default)(exports, n.type)) {const exportedName = n.type === 'TSNamespaceExportDeclaration' ? n.id.name : n.expression && n.expression.name || n.expression.id && n.expression.id.name || null;const declTypes = ['VariableDeclaration', 'ClassDeclaration', 'TSDeclareFunction', 'TSEnumDeclaration', 'TSTypeAliasDeclaration', 'TSInterfaceDeclaration', 'TSAbstractClassDeclaration', 'TSModuleDeclaration'];const exportedDecls = ast.body.filter((_ref2) => {let type = _ref2.type,id = _ref2.id,declarations = _ref2.declarations;return (0, _arrayIncludes2.default)(declTypes, type) && (id && id.name === exportedName || declarations && declarations.find(d => d.id.name === exportedName));});if (exportedDecls.length === 0) {// Export is not referencing any local declaration, must be re-exporting m.namespace.set('default', captureDoc(source, docStyleParsers, n));return;}if (isEsModuleInteropTrue) {m.namespace.set('default', {});}exportedDecls.forEach(decl => {if (decl.type === 'TSModuleDeclaration') {if (decl.body && decl.body.type === 'TSModuleDeclaration') {m.namespace.set(decl.body.id.name, captureDoc(source, docStyleParsers, decl.body));} else if (decl.body && decl.body.body) {decl.body.body.forEach(moduleBlockNode => {// Export-assignment exports all members in the namespace, // explicitly exported or not. const namespaceDecl = moduleBlockNode.type === 'ExportNamedDeclaration' ? moduleBlockNode.declaration : moduleBlockNode;if (!namespaceDecl) {// TypeScript can check this for us; we needn't @@ -725,11 +751,11 @@ recursivePatternCapture = recursivePatternCapture;var _fs = require('fs');var _f * @param {Function} callback * @return {void} */function recursivePatternCapture(pattern, callback) {switch (pattern.type) {case 'Identifier': // base case - callback(pattern);break;case 'ObjectPattern':pattern.properties.forEach(p => {recursivePatternCapture(p.value, callback);});break;case 'ArrayPattern':pattern.elements.forEach(element => {if (element == null) return;recursivePatternCapture(element, callback);});break;case 'AssignmentPattern':callback(pattern.left);break;}} /** - * don't hold full context object in memory, just grab what we need. - */function childContext(path, context) {const settings = context.settings,parserOptions = context.parserOptions,parserPath = context.parserPath;return { settings, parserOptions, parserPath, path };} /** - * sometimes legacy support isn't _that_ hard... right? - */function makeSourceCode(text, ast) {if (_eslint.SourceCode.length > 1) {// ESLint 3 + callback(pattern);break;case 'ObjectPattern':pattern.properties.forEach(p => {if (p.type === 'ExperimentalRestProperty' || p.type === 'RestElement') {callback(p.argument);return;}recursivePatternCapture(p.value, callback);});break;case 'ArrayPattern':pattern.elements.forEach(element => {if (element == null) return;if (element.type === 'ExperimentalRestProperty' || element.type === 'RestElement') {callback(element.argument);return;}recursivePatternCapture(element, callback);});break;case 'AssignmentPattern':callback(pattern.left);break;}} /** + * don't hold full context object in memory, just grab what we need. + */function childContext(path, context) {const settings = context.settings,parserOptions = context.parserOptions,parserPath = context.parserPath;return { settings, parserOptions, parserPath, path };} /** + * sometimes legacy support isn't _that_ hard... right? + */function makeSourceCode(text, ast) {if (_eslint.SourceCode.length > 1) {// ESLint 3 return new _eslint.SourceCode(text, ast);} else {// ESLint 4, 5 return new _eslint.SourceCode({ text, ast });}} -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FeHBvcnRNYXAuanMiXSwibmFtZXMiOlsicmVjdXJzaXZlUGF0dGVybkNhcHR1cmUiLCJ1bmFtYmlndW91cyIsInBhcnNlQ29uZmlnRmlsZVRleHRUb0pzb24iLCJsb2ciLCJleHBvcnRDYWNoZSIsIk1hcCIsIkV4cG9ydE1hcCIsImNvbnN0cnVjdG9yIiwicGF0aCIsIm5hbWVzcGFjZSIsInJlZXhwb3J0cyIsImRlcGVuZGVuY2llcyIsIlNldCIsImltcG9ydHMiLCJlcnJvcnMiLCJoYXNEZWZhdWx0IiwiZ2V0Iiwic2l6ZSIsImZvckVhY2giLCJkZXAiLCJkIiwiaGFzIiwibmFtZSIsImlubmVyTWFwIiwiaGFzRGVlcCIsImZvdW5kIiwiaW1wb3J0ZWQiLCJnZXRJbXBvcnQiLCJsb2NhbCIsImRlZXAiLCJ1bnNoaWZ0IiwiaW5uZXJWYWx1ZSIsInVuZGVmaW5lZCIsImNhbGxiYWNrIiwidGhpc0FyZyIsInYiLCJuIiwiY2FsbCIsInJlZXhwb3J0ZWQiLCJyZXBvcnRFcnJvcnMiLCJjb250ZXh0IiwiZGVjbGFyYXRpb24iLCJyZXBvcnQiLCJub2RlIiwic291cmNlIiwibWVzc2FnZSIsInZhbHVlIiwibWFwIiwiZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJqb2luIiwiY2FwdHVyZURvYyIsImRvY1N0eWxlUGFyc2VycyIsIm1ldGFkYXRhIiwibm9kZXMiLCJzb21lIiwibGVhZGluZ0NvbW1lbnRzIiwicmFuZ2UiLCJnZXRDb21tZW50c0JlZm9yZSIsImxlbmd0aCIsImRvYyIsImVyciIsImF2YWlsYWJsZURvY1N0eWxlUGFyc2VycyIsImpzZG9jIiwiY2FwdHVyZUpzRG9jIiwidG9tZG9jIiwiY2FwdHVyZVRvbURvYyIsImNvbW1lbnRzIiwiY29tbWVudCIsInR5cGUiLCJkb2N0cmluZSIsInBhcnNlIiwidW53cmFwIiwibGluZXMiLCJpIiwibWF0Y2giLCJwdXNoIiwidHJpbSIsInN0YXR1c01hdGNoIiwiZGVzY3JpcHRpb24iLCJ0YWdzIiwidGl0bGUiLCJ0b0xvd2VyQ2FzZSIsImZvciIsImNoaWxkQ29udGV4dCIsImNhY2hlS2V5IiwiZGlnZXN0IiwiZXhwb3J0TWFwIiwic3RhdHMiLCJmcyIsInN0YXRTeW5jIiwibXRpbWUiLCJzZXQiLCJjb250ZW50IiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ0ZXN0IiwibSIsImFzdCIsImlzTW9kdWxlIiwiZG9jc3R5bGUiLCJzZXR0aW5ncyIsInN0eWxlIiwiYyIsInQiLCJuYW1lc3BhY2VzIiwicmVtb3RlUGF0aCIsInJlc29sdmUiLCJyZWxhdGl2ZSIsInJlc29sdmVJbXBvcnQiLCJycCIsImdldE5hbWVzcGFjZSIsImlkZW50aWZpZXIiLCJhZGROYW1lc3BhY2UiLCJvYmplY3QiLCJuc2ZuIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJjYXB0dXJlRGVwZW5kZW5jeSIsImltcG9ydEtpbmQiLCJpbXBvcnRlZFNwZWNpZmllcnMiLCJzdXBwb3J0ZWRUeXBlcyIsImhhc0ltcG9ydGVkVHlwZSIsInNwZWNpZmllcnMiLCJzcGVjaWZpZXIiLCJpc1R5cGUiLCJhZGQiLCJwIiwiZXhpc3RpbmciLCJnZXR0ZXIiLCJ0aHVua0ZvciIsImxvYyIsIm1ha2VTb3VyY2VDb2RlIiwiaXNFc01vZHVsZUludGVyb3AiLCJ0c0NvbmZpZ0luZm8iLCJjd2QiLCJwYXJzZXJPcHRpb25zIiwidHNjb25maWdSb290RGlyIiwicHJvY2VzcyIsImdldEVudiIsImtleSIsImVudiIsInRzQ29uZmlnUGF0aCIsImpzb25UZXh0IiwidG9TdHJpbmciLCJyZXF1aXJlIiwidHNDb25maWciLCJjb25maWciLCJjb21waWxlck9wdGlvbnMiLCJlc01vZHVsZUludGVyb3AiLCJib2R5IiwiZXhwb3J0TWV0YSIsIm5zIiwicyIsImlkIiwiZGVjbGFyYXRpb25zIiwibnNvdXJjZSIsImV4cG9ydGVkIiwiaXNFc01vZHVsZUludGVyb3BUcnVlIiwiZXhwb3J0cyIsImV4cG9ydGVkTmFtZSIsImV4cHJlc3Npb24iLCJkZWNsVHlwZXMiLCJleHBvcnRlZERlY2xzIiwiZmlsdGVyIiwiZmluZCIsImRlY2wiLCJtb2R1bGVCbG9ja05vZGUiLCJuYW1lc3BhY2VEZWNsIiwicGF0dGVybiIsInByb3BlcnRpZXMiLCJlbGVtZW50cyIsImVsZW1lbnQiLCJsZWZ0IiwicGFyc2VyUGF0aCIsInRleHQiLCJTb3VyY2VDb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9vQmdCQSx1QixHQUFBQSx1QixDQXBvQmhCLHdCLHVDQUVBLG9DLG1EQUVBLDhCLDZDQUVBLGdDQUVBLGtELDZDQUNBLHNELGlE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UCxDQUNELENBSEQsTUFHTyxDQUNMO0FBQ0EsV0FBTyxJQUFJOEUsa0JBQUosQ0FBZSxFQUFFRCxJQUFGLEVBQVE3RSxHQUFSLEVBQWYsQ0FBUCxDQUNELENBQ0YiLCJmaWxlIjoiRXhwb3J0TWFwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuXG5pbXBvcnQgZG9jdHJpbmUgZnJvbSAnZG9jdHJpbmUnXG5cbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1ZydcblxuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gJ2VzbGludCdcblxuaW1wb3J0IHBhcnNlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcGFyc2UnXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5pbXBvcnQgaXNJZ25vcmVkLCB7IGhhc1ZhbGlkRXh0ZW5zaW9uIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9pZ25vcmUnXG5cbmltcG9ydCB7IGhhc2hPYmplY3QgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2hhc2gnXG5pbXBvcnQgKiBhcyB1bmFtYmlndW91cyBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3VuYW1iaWd1b3VzJ1xuXG5pbXBvcnQgeyB0c0NvbmZpZ0xvYWRlciB9IGZyb20gJ3RzY29uZmlnLXBhdGhzL2xpYi90c2NvbmZpZy1sb2FkZXInXG5cbmltcG9ydCBpbmNsdWRlcyBmcm9tICdhcnJheS1pbmNsdWRlcydcblxubGV0IHBhcnNlQ29uZmlnRmlsZVRleHRUb0pzb25cblxuY29uc3QgbG9nID0gZGVidWcoJ2VzbGludC1wbHVnaW4taW1wb3J0OkV4cG9ydE1hcCcpXG5cbmNvbnN0IGV4cG9ydENhY2hlID0gbmV3IE1hcCgpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cG9ydE1hcCB7XG4gIGNvbnN0cnVjdG9yKHBhdGgpIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoXG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuZXcgTWFwKClcbiAgICAvLyB0b2RvOiByZXN0cnVjdHVyZSB0byBrZXkgb24gcGF0aCwgdmFsdWUgaXMgcmVzb2x2ZXIgKyBtYXAgb2YgbmFtZXNcbiAgICB0aGlzLnJlZXhwb3J0cyA9IG5ldyBNYXAoKVxuICAgIC8qKlxuICAgICAqIHN0YXItZXhwb3J0c1xuICAgICAqIEB0eXBlIHtTZXR9IG9mICgpID0+IEV4cG9ydE1hcFxuICAgICAqL1xuICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gbmV3IFNldCgpXG4gICAgLyoqXG4gICAgICogZGVwZW5kZW5jaWVzIG9mIHRoaXMgbW9kdWxlIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5IHJlLWV4cG9ydGVkXG4gICAgICogQHR5cGUge01hcH0gZnJvbSBwYXRoID0gKCkgPT4gRXhwb3J0TWFwXG4gICAgICovXG4gICAgdGhpcy5pbXBvcnRzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5lcnJvcnMgPSBbXVxuICB9XG5cbiAgZ2V0IGhhc0RlZmF1bHQoKSB7IHJldHVybiB0aGlzLmdldCgnZGVmYXVsdCcpICE9IG51bGwgfSAvLyBzdHJvbmdlciB0aGFuIHRoaXMuaGFzXG5cbiAgZ2V0IHNpemUoKSB7XG4gICAgbGV0IHNpemUgPSB0aGlzLm5hbWVzcGFjZS5zaXplICsgdGhpcy5yZWV4cG9ydHMuc2l6ZVxuICAgIHRoaXMuZGVwZW5kZW5jaWVzLmZvckVhY2goZGVwID0+IHtcbiAgICAgIGNvbnN0IGQgPSBkZXAoKVxuICAgICAgLy8gQ0pTIC8gaWdub3JlZCBkZXBlbmRlbmNpZXMgd29uJ3QgZXhpc3QgKCM3MTcpXG4gICAgICBpZiAoZCA9PSBudWxsKSByZXR1cm5cbiAgICAgIHNpemUgKz0gZC5zaXplXG4gICAgfSlcbiAgICByZXR1cm4gc2l6ZVxuICB9XG5cbiAgLyoqXG4gICAqIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IGNoZWNrIGV4cGxpY2l0bHkgcmUtZXhwb3J0ZWQgbmFtZXMgZm9yIGV4aXN0ZW5jZVxuICAgKiBpbiB0aGUgYmFzZSBuYW1lc3BhY2UsIGJ1dCBpdCB3aWxsIGV4cGFuZCBhbGwgYGV4cG9ydCAqIGZyb20gJy4uLidgIGV4cG9ydHNcbiAgICogaWYgbm90IGZvdW5kIGluIHRoZSBleHBsaWNpdCBuYW1lc3BhY2UuXG4gICAqIEBwYXJhbSAge3N0cmluZ30gIG5hbWVcbiAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSBpZiBgbmFtZWAgaXMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUuXG4gICAqL1xuICBoYXMobmFtZSkge1xuICAgIGlmICh0aGlzLm5hbWVzcGFjZS5oYXMobmFtZSkpIHJldHVybiB0cnVlXG4gICAgaWYgKHRoaXMucmVleHBvcnRzLmhhcyhuYW1lKSkgcmV0dXJuIHRydWVcblxuICAgIC8vIGRlZmF1bHQgZXhwb3J0cyBtdXN0IGJlIGV4cGxpY2l0bHkgcmUtZXhwb3J0ZWQgKCMzMjgpXG4gICAgaWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgZm9yIChsZXQgZGVwIG9mIHRoaXMuZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIGxldCBpbm5lck1hcCA9IGRlcCgpXG5cbiAgICAgICAgLy8gdG9kbzogcmVwb3J0IGFzIHVucmVzb2x2ZWQ/XG4gICAgICAgIGlmICghaW5uZXJNYXApIGNvbnRpbnVlXG5cbiAgICAgICAgaWYgKGlubmVyTWFwLmhhcyhuYW1lKSkgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBlbnN1cmUgdGhhdCBpbXBvcnRlZCBuYW1lIGZ1bGx5IHJlc29sdmVzLlxuICAgKiBAcGFyYW0gIHtbdHlwZV19ICBuYW1lIFtkZXNjcmlwdGlvbl1cbiAgICogQHJldHVybiB7Qm9vbGVhbn0gICAgICBbZGVzY3JpcHRpb25dXG4gICAqL1xuICBoYXNEZWVwKG5hbWUpIHtcbiAgICBpZiAodGhpcy5uYW1lc3BhY2UuaGFzKG5hbWUpKSByZXR1cm4geyBmb3VuZDogdHJ1ZSwgcGF0aDogW3RoaXNdIH1cblxuICAgIGlmICh0aGlzLnJlZXhwb3J0cy5oYXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IHJlZXhwb3J0cyA9IHRoaXMucmVleHBvcnRzLmdldChuYW1lKVxuICAgICAgICAgICwgaW1wb3J0ZWQgPSByZWV4cG9ydHMuZ2V0SW1wb3J0KClcblxuICAgICAgLy8gaWYgaW1wb3J0IGlzIGlnbm9yZWQsIHJldHVybiBleHBsaWNpdCAnbnVsbCdcbiAgICAgIGlmIChpbXBvcnRlZCA9PSBudWxsKSByZXR1cm4geyBmb3VuZDogdHJ1ZSwgcGF0aDogW3RoaXNdIH1cblxuICAgICAgLy8gc2FmZWd1YXJkIGFnYWluc3QgY3ljbGVzLCBvbmx5IGlmIG5hbWUgbWF0Y2hlc1xuICAgICAgaWYgKGltcG9ydGVkLnBhdGggPT09IHRoaXMucGF0aCAmJiByZWV4cG9ydHMubG9jYWwgPT09IG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHsgZm91bmQ6IGZhbHNlLCBwYXRoOiBbdGhpc10gfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWVwID0gaW1wb3J0ZWQuaGFzRGVlcChyZWV4cG9ydHMubG9jYWwpXG4gICAgICBkZWVwLnBhdGgudW5zaGlmdCh0aGlzKVxuXG4gICAgICByZXR1cm4gZGVlcFxuICAgIH1cblxuXG4gICAgLy8gZGVmYXVsdCBleHBvcnRzIG11c3QgYmUgZXhwbGljaXRseSByZS1leHBvcnRlZCAoIzMyOClcbiAgICBpZiAobmFtZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBmb3IgKGxldCBkZXAgb2YgdGhpcy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgbGV0IGlubmVyTWFwID0gZGVwKClcbiAgICAgICAgaWYgKGlubmVyTWFwID09IG51bGwpIHJldHVybiB7IGZvdW5kOiB0cnVlLCBwYXRoOiBbdGhpc10gfVxuICAgICAgICAvLyB0b2RvOiByZXBvcnQgYXMgdW5yZXNvbHZlZD9cbiAgICAgICAgaWYgKCFpbm5lck1hcCkgY29udGludWVcblxuICAgICAgICAvLyBzYWZlZ3VhcmQgYWdhaW5zdCBjeWNsZXNcbiAgICAgICAgaWYgKGlubmVyTWFwLnBhdGggPT09IHRoaXMucGF0aCkgY29udGludWVcblxuICAgICAgICBsZXQgaW5uZXJWYWx1ZSA9IGlubmVyTWFwLmhhc0RlZXAobmFtZSlcbiAgICAgICAgaWYgKGlubmVyVmFsdWUuZm91bmQpIHtcbiAgICAgICAgICBpbm5lclZhbHVlLnBhdGgudW5zaGlmdCh0aGlzKVxuICAgICAgICAgIHJldHVybiBpbm5lclZhbHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBmb3VuZDogZmFsc2UsIHBhdGg6IFt0aGlzXSB9XG4gIH1cblxuICBnZXQobmFtZSkge1xuICAgIGlmICh0aGlzLm5hbWVzcGFjZS5oYXMobmFtZSkpIHJldHVybiB0aGlzLm5hbWVzcGFjZS5nZXQobmFtZSlcblxuICAgIGlmICh0aGlzLnJlZXhwb3J0cy5oYXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IHJlZXhwb3J0cyA9IHRoaXMucmVleHBvcnRzLmdldChuYW1lKVxuICAgICAgICAgICwgaW1wb3J0ZWQgPSByZWV4cG9ydHMuZ2V0SW1wb3J0KClcblxuICAgICAgLy8gaWYgaW1wb3J0IGlzIGlnbm9yZWQsIHJldHVybiBleHBsaWNpdCAnbnVsbCdcbiAgICAgIGlmIChpbXBvcnRlZCA9PSBudWxsKSByZXR1cm4gbnVsbFxuXG4gICAgICAvLyBzYWZlZ3VhcmQgYWdhaW5zdCBjeWNsZXMsIG9ubHkgaWYgbmFtZSBtYXRjaGVzXG4gICAgICBpZiAoaW1wb3J0ZWQucGF0aCA9PT0gdGhpcy5wYXRoICYmIHJlZXhwb3J0cy5sb2NhbCA9PT0gbmFtZSkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgICByZXR1cm4gaW1wb3J0ZWQuZ2V0KHJlZXhwb3J0cy5sb2NhbClcbiAgICB9XG5cbiAgICAvLyBkZWZhdWx0IGV4cG9ydHMgbXVzdCBiZSBleHBsaWNpdGx5IHJlLWV4cG9ydGVkICgjMzI4KVxuICAgIGlmIChuYW1lICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgIGZvciAobGV0IGRlcCBvZiB0aGlzLmRlcGVuZGVuY2llcykge1xuICAgICAgICBsZXQgaW5uZXJNYXAgPSBkZXAoKVxuICAgICAgICAvLyB0b2RvOiByZXBvcnQgYXMgdW5yZXNvbHZlZD9cbiAgICAgICAgaWYgKCFpbm5lck1hcCkgY29udGludWVcblxuICAgICAgICAvLyBzYWZlZ3VhcmQgYWdhaW5zdCBjeWNsZXNcbiAgICAgICAgaWYgKGlubmVyTWFwLnBhdGggPT09IHRoaXMucGF0aCkgY29udGludWVcblxuICAgICAgICBsZXQgaW5uZXJWYWx1ZSA9IGlubmVyTWFwLmdldChuYW1lKVxuICAgICAgICBpZiAoaW5uZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gaW5uZXJWYWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGZvckVhY2goY2FsbGJhY2ssIHRoaXNBcmcpIHtcbiAgICB0aGlzLm5hbWVzcGFjZS5mb3JFYWNoKCh2LCBuKSA9PlxuICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCB2LCBuLCB0aGlzKSlcblxuICAgIHRoaXMucmVleHBvcnRzLmZvckVhY2goKHJlZXhwb3J0cywgbmFtZSkgPT4ge1xuICAgICAgY29uc3QgcmVleHBvcnRlZCA9IHJlZXhwb3J0cy5nZXRJbXBvcnQoKVxuICAgICAgLy8gY2FuJ3QgbG9vayB1cCBtZXRhIGZvciBpZ25vcmVkIHJlLWV4cG9ydHMgKCMzNDgpXG4gICAgICBjYWxsYmFjay5jYWxsKHRoaXNBcmcsIHJlZXhwb3J0ZWQgJiYgcmVleHBvcnRlZC5nZXQocmVleHBvcnRzLmxvY2FsKSwgbmFtZSwgdGhpcylcbiAgICB9KVxuXG4gICAgdGhpcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgY29uc3QgZCA9IGRlcCgpXG4gICAgICAvLyBDSlMgLyBpZ25vcmVkIGRlcGVuZGVuY2llcyB3b24ndCBleGlzdCAoIzcxNylcbiAgICAgIGlmIChkID09IG51bGwpIHJldHVyblxuXG4gICAgICBkLmZvckVhY2goKHYsIG4pID0+XG4gICAgICAgIG4gIT09ICdkZWZhdWx0JyAmJiBjYWxsYmFjay5jYWxsKHRoaXNBcmcsIHYsIG4sIHRoaXMpKVxuICAgIH0pXG4gIH1cblxuICAvLyB0b2RvOiBrZXlzLCB2YWx1ZXMsIGVudHJpZXM/XG5cbiAgcmVwb3J0RXJyb3JzKGNvbnRleHQsIGRlY2xhcmF0aW9uKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgbm9kZTogZGVjbGFyYXRpb24uc291cmNlLFxuICAgICAgbWVzc2FnZTogYFBhcnNlIGVycm9ycyBpbiBpbXBvcnRlZCBtb2R1bGUgJyR7ZGVjbGFyYXRpb24uc291cmNlLnZhbHVlfSc6IGAgK1xuICAgICAgICAgICAgICAgICAgYCR7dGhpcy5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZSA9PiBgJHtlLm1lc3NhZ2V9ICgke2UubGluZU51bWJlcn06JHtlLmNvbHVtbn0pYClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCcsICcpfWAsXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIHBhcnNlIGRvY3MgZnJvbSB0aGUgZmlyc3Qgbm9kZSB0aGF0IGhhcyBsZWFkaW5nIGNvbW1lbnRzXG4gKi9cbmZ1bmN0aW9uIGNhcHR1cmVEb2Moc291cmNlLCBkb2NTdHlsZVBhcnNlcnMsIC4uLm5vZGVzKSB7XG4gIGNvbnN0IG1ldGFkYXRhID0ge31cblxuICAvLyAnc29tZScgc2hvcnQtY2lyY3VpdHMgb24gZmlyc3QgJ3RydWUnXG4gIG5vZGVzLnNvbWUobiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgbGV0IGxlYWRpbmdDb21tZW50c1xuXG4gICAgICAvLyBuLmxlYWRpbmdDb21tZW50cyBpcyBsZWdhY3kgYGF0dGFjaENvbW1lbnRzYCBiZWhhdmlvclxuICAgICAgaWYgKCdsZWFkaW5nQ29tbWVudHMnIGluIG4pIHtcbiAgICAgICAgbGVhZGluZ0NvbW1lbnRzID0gbi5sZWFkaW5nQ29tbWVudHNcbiAgICAgIH0gZWxzZSBpZiAobi5yYW5nZSkge1xuICAgICAgICBsZWFkaW5nQ29tbWVudHMgPSBzb3VyY2UuZ2V0Q29tbWVudHNCZWZvcmUobilcbiAgICAgIH1cblxuICAgICAgaWYgKCFsZWFkaW5nQ29tbWVudHMgfHwgbGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGZvciAobGV0IG5hbWUgaW4gZG9jU3R5bGVQYXJzZXJzKSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGRvY1N0eWxlUGFyc2Vyc1tuYW1lXShsZWFkaW5nQ29tbWVudHMpXG4gICAgICAgIGlmIChkb2MpIHtcbiAgICAgICAgICBtZXRhZGF0YS5kb2MgPSBkb2NcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtZXRhZGF0YVxufVxuXG5jb25zdCBhdmFpbGFibGVEb2NTdHlsZVBhcnNlcnMgPSB7XG4gIGpzZG9jOiBjYXB0dXJlSnNEb2MsXG4gIHRvbWRvYzogY2FwdHVyZVRvbURvYyxcbn1cblxuLyoqXG4gKiBwYXJzZSBKU0RvYyBmcm9tIGxlYWRpbmcgY29tbWVudHNcbiAqIEBwYXJhbSAgey4uLlt0eXBlXX0gY29tbWVudHMgW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7e2RvYzogb2JqZWN0fX1cbiAqL1xuZnVuY3Rpb24gY2FwdHVyZUpzRG9jKGNvbW1lbnRzKSB7XG4gIGxldCBkb2NcblxuICAvLyBjYXB0dXJlIFhTRG9jXG4gIGNvbW1lbnRzLmZvckVhY2goY29tbWVudCA9PiB7XG4gICAgLy8gc2tpcCBub24tYmxvY2sgY29tbWVudHNcbiAgICBpZiAoY29tbWVudC50eXBlICE9PSAnQmxvY2snKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgZG9jID0gZG9jdHJpbmUucGFyc2UoY29tbWVudC52YWx1ZSwgeyB1bndyYXA6IHRydWUgfSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8qIGRvbid0IGNhcmUsIGZvciBub3c/IG1heWJlIGFkZCB0byBgZXJyb3JzP2AgKi9cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIGRvY1xufVxuXG4vKipcbiAgKiBwYXJzZSBUb21Eb2Mgc2VjdGlvbiBmcm9tIGNvbW1lbnRzXG4gICovXG5mdW5jdGlvbiBjYXB0dXJlVG9tRG9jKGNvbW1lbnRzKSB7XG4gIC8vIGNvbGxlY3QgbGluZXMgdXAgdG8gZmlyc3QgcGFyYWdyYXBoIGJyZWFrXG4gIGNvbnN0IGxpbmVzID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21tZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNvbW1lbnQgPSBjb21tZW50c1tpXVxuICAgIGlmIChjb21tZW50LnZhbHVlLm1hdGNoKC9eXFxzKiQvKSkgYnJlYWtcbiAgICBsaW5lcy5wdXNoKGNvbW1lbnQudmFsdWUudHJpbSgpKVxuICB9XG5cbiAgLy8gcmV0dXJuIGRvY3RyaW5lLWxpa2Ugb2JqZWN0XG4gIGNvbnN0IHN0YXR1c01hdGNoID0gbGluZXMuam9pbignICcpLm1hdGNoKC9eKFB1YmxpY3xJbnRlcm5hbHxEZXByZWNhdGVkKTpcXHMqKC4rKS8pXG4gIGlmIChzdGF0dXNNYXRjaCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZXNjcmlwdGlvbjogc3RhdHVzTWF0Y2hbMl0sXG4gICAgICB0YWdzOiBbe1xuICAgICAgICB0aXRsZTogc3RhdHVzTWF0Y2hbMV0udG9Mb3dlckNhc2UoKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHN0YXR1c01hdGNoWzJdLFxuICAgICAgfV0sXG4gICAgfVxuICB9XG59XG5cbkV4cG9ydE1hcC5nZXQgPSBmdW5jdGlvbiAoc291cmNlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHBhdGggPSByZXNvbHZlKHNvdXJjZSwgY29udGV4dClcbiAgaWYgKHBhdGggPT0gbnVsbCkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gRXhwb3J0TWFwLmZvcihjaGlsZENvbnRleHQocGF0aCwgY29udGV4dCkpXG59XG5cbkV4cG9ydE1hcC5mb3IgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICBjb25zdCB7IHBhdGggfSA9IGNvbnRleHRcblxuICBjb25zdCBjYWNoZUtleSA9IGhhc2hPYmplY3QoY29udGV4dCkuZGlnZXN0KCdoZXgnKVxuICBsZXQgZXhwb3J0TWFwID0gZXhwb3J0Q2FjaGUuZ2V0KGNhY2hlS2V5KVxuXG4gIC8vIHJldHVybiBjYWNoZWQgaWdub3JlXG4gIGlmIChleHBvcnRNYXAgPT09IG51bGwpIHJldHVybiBudWxsXG5cbiAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhwYXRoKVxuICBpZiAoZXhwb3J0TWFwICE9IG51bGwpIHtcbiAgICAvLyBkYXRlIGVxdWFsaXR5IGNoZWNrXG4gICAgaWYgKGV4cG9ydE1hcC5tdGltZSAtIHN0YXRzLm10aW1lID09PSAwKSB7XG4gICAgICByZXR1cm4gZXhwb3J0TWFwXG4gICAgfVxuICAgIC8vIGZ1dHVyZTogY2hlY2sgY29udGVudCBlcXVhbGl0eT9cbiAgfVxuXG4gIC8vIGNoZWNrIHZhbGlkIGV4dGVuc2lvbnMgZmlyc3RcbiAgaWYgKCFoYXNWYWxpZEV4dGVuc2lvbihwYXRoLCBjb250ZXh0KSkge1xuICAgIGV4cG9ydENhY2hlLnNldChjYWNoZUtleSwgbnVsbClcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gY2hlY2sgZm9yIGFuZCBjYWNoZSBpZ25vcmVcbiAgaWYgKGlzSWdub3JlZChwYXRoLCBjb250ZXh0KSkge1xuICAgIGxvZygnaWdub3JlZCBwYXRoIGR1ZSB0byBpZ25vcmUgc2V0dGluZ3M6JywgcGF0aClcbiAgICBleHBvcnRDYWNoZS5zZXQoY2FjaGVLZXksIG51bGwpXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMocGF0aCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pXG5cbiAgLy8gY2hlY2sgZm9yIGFuZCBjYWNoZSB1bmFtYmlndW91cyBtb2R1bGVzXG4gIGlmICghdW5hbWJpZ3VvdXMudGVzdChjb250ZW50KSkge1xuICAgIGxvZygnaWdub3JlZCBwYXRoIGR1ZSB0byB1bmFtYmlndW91cyByZWdleDonLCBwYXRoKVxuICAgIGV4cG9ydENhY2hlLnNldChjYWNoZUtleSwgbnVsbClcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgbG9nKCdjYWNoZSBtaXNzJywgY2FjaGVLZXksICdmb3IgcGF0aCcsIHBhdGgpXG4gIGV4cG9ydE1hcCA9IEV4cG9ydE1hcC5wYXJzZShwYXRoLCBjb250ZW50LCBjb250ZXh0KVxuXG4gIC8vIGFtYmlndW91cyBtb2R1bGVzIHJldHVybiBudWxsXG4gIGlmIChleHBvcnRNYXAgPT0gbnVsbCkgcmV0dXJuIG51bGxcblxuICBleHBvcnRNYXAubXRpbWUgPSBzdGF0cy5tdGltZVxuXG4gIGV4cG9ydENhY2hlLnNldChjYWNoZUtleSwgZXhwb3J0TWFwKVxuICByZXR1cm4gZXhwb3J0TWFwXG59XG5cblxuRXhwb3J0TWFwLnBhcnNlID0gZnVuY3Rpb24gKHBhdGgsIGNvbnRlbnQsIGNvbnRleHQpIHtcbiAgdmFyIG0gPSBuZXcgRXhwb3J0TWFwKHBhdGgpXG5cbiAgdHJ5IHtcbiAgICB2YXIgYXN0ID0gcGFyc2UocGF0aCwgY29udGVudCwgY29udGV4dClcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKCdwYXJzZSBlcnJvcjonLCBwYXRoLCBlcnIpXG4gICAgbS5lcnJvcnMucHVzaChlcnIpXG4gICAgcmV0dXJuIG0gLy8gY2FuJ3QgY29udGludWVcbiAgfVxuXG4gIGlmICghdW5hbWJpZ3VvdXMuaXNNb2R1bGUoYXN0KSkgcmV0dXJuIG51bGxcblxuICBjb25zdCBkb2NzdHlsZSA9IChjb250ZXh0LnNldHRpbmdzICYmIGNvbnRleHQuc2V0dGluZ3NbJ2ltcG9ydC9kb2NzdHlsZSddKSB8fCBbJ2pzZG9jJ11cbiAgY29uc3QgZG9jU3R5bGVQYXJzZXJzID0ge31cbiAgZG9jc3R5bGUuZm9yRWFjaChzdHlsZSA9PiB7XG4gICAgZG9jU3R5bGVQYXJzZXJzW3N0eWxlXSA9IGF2YWlsYWJsZURvY1N0eWxlUGFyc2Vyc1tzdHlsZV1cbiAgfSlcblxuICAvLyBhdHRlbXB0IHRvIGNvbGxlY3QgbW9kdWxlIGRvY1xuICBpZiAoYXN0LmNvbW1lbnRzKSB7XG4gICAgYXN0LmNvbW1lbnRzLnNvbWUoYyA9PiB7XG4gICAgICBpZiAoYy50eXBlICE9PSAnQmxvY2snKSByZXR1cm4gZmFsc2VcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGRvY3RyaW5lLnBhcnNlKGMudmFsdWUsIHsgdW53cmFwOiB0cnVlIH0pXG4gICAgICAgIGlmIChkb2MudGFncy5zb21lKHQgPT4gdC50aXRsZSA9PT0gJ21vZHVsZScpKSB7XG4gICAgICAgICAgbS5kb2MgPSBkb2NcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHsgLyogaWdub3JlICovIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBjb25zdCBuYW1lc3BhY2VzID0gbmV3IE1hcCgpXG5cbiAgZnVuY3Rpb24gcmVtb3RlUGF0aCh2YWx1ZSkge1xuICAgIHJldHVybiByZXNvbHZlLnJlbGF0aXZlKHZhbHVlLCBwYXRoLCBjb250ZXh0LnNldHRpbmdzKVxuICB9XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZUltcG9ydCh2YWx1ZSkge1xuICAgIGNvbnN0IHJwID0gcmVtb3RlUGF0aCh2YWx1ZSlcbiAgICBpZiAocnAgPT0gbnVsbCkgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gRXhwb3J0TWFwLmZvcihjaGlsZENvbnRleHQocnAsIGNvbnRleHQpKVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmFtZXNwYWNlKGlkZW50aWZpZXIpIHtcbiAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGlkZW50aWZpZXIubmFtZSkpIHJldHVyblxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiByZXNvbHZlSW1wb3J0KG5hbWVzcGFjZXMuZ2V0KGlkZW50aWZpZXIubmFtZSkpXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYWRkTmFtZXNwYWNlKG9iamVjdCwgaWRlbnRpZmllcikge1xuICAgIGNvbnN0IG5zZm4gPSBnZXROYW1lc3BhY2UoaWRlbnRpZmllcilcbiAgICBpZiAobnNmbikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgJ25hbWVzcGFjZScsIHsgZ2V0OiBuc2ZuIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdFxuICB9XG5cbiAgZnVuY3Rpb24gY2FwdHVyZURlcGVuZGVuY3koZGVjbGFyYXRpb24pIHtcbiAgICBpZiAoZGVjbGFyYXRpb24uc291cmNlID09IG51bGwpIHJldHVybiBudWxsXG4gICAgaWYgKGRlY2xhcmF0aW9uLmltcG9ydEtpbmQgPT09ICd0eXBlJykgcmV0dXJuIG51bGwgLy8gc2tpcCBGbG93IHR5cGUgaW1wb3J0c1xuICAgIGNvbnN0IGltcG9ydGVkU3BlY2lmaWVycyA9IG5ldyBTZXQoKVxuICAgIGNvbnN0IHN1cHBvcnRlZFR5cGVzID0gbmV3IFNldChbJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInLCAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJ10pXG4gICAgbGV0IGhhc0ltcG9ydGVkVHlwZSA9IGZhbHNlXG4gICAgaWYgKGRlY2xhcmF0aW9uLnNwZWNpZmllcnMpIHtcbiAgICAgIGRlY2xhcmF0aW9uLnNwZWNpZmllcnMuZm9yRWFjaChzcGVjaWZpZXIgPT4ge1xuICAgICAgICBjb25zdCBpc1R5cGUgPSBzcGVjaWZpZXIuaW1wb3J0S2luZCA9PT0gJ3R5cGUnXG4gICAgICAgIGhhc0ltcG9ydGVkVHlwZSA9IGhhc0ltcG9ydGVkVHlwZSB8fCBpc1R5cGVcblxuICAgICAgICBpZiAoc3VwcG9ydGVkVHlwZXMuaGFzKHNwZWNpZmllci50eXBlKSAmJiAhaXNUeXBlKSB7XG4gICAgICAgICAgaW1wb3J0ZWRTcGVjaWZpZXJzLmFkZChzcGVjaWZpZXIudHlwZSlcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmICFpc1R5cGUpIHtcbiAgICAgICAgICBpbXBvcnRlZFNwZWNpZmllcnMuYWRkKHNwZWNpZmllci5pbXBvcnRlZC5uYW1lKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIG9ubHkgRmxvdyB0eXBlcyB3ZXJlIGltcG9ydGVkXG4gICAgaWYgKGhhc0ltcG9ydGVkVHlwZSAmJiBpbXBvcnRlZFNwZWNpZmllcnMuc2l6ZSA9PT0gMCkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHAgPSByZW1vdGVQYXRoKGRlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZSlcbiAgICBpZiAocCA9PSBudWxsKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IGV4aXN0aW5nID0gbS5pbXBvcnRzLmdldChwKVxuICAgIGlmIChleGlzdGluZyAhPSBudWxsKSByZXR1cm4gZXhpc3RpbmcuZ2V0dGVyXG5cbiAgICBjb25zdCBnZXR0ZXIgPSB0aHVua0ZvcihwLCBjb250ZXh0KVxuICAgIG0uaW1wb3J0cy5zZXQocCwge1xuICAgICAgZ2V0dGVyLFxuICAgICAgc291cmNlOiB7ICAvLyBjYXB0dXJpbmcgYWN0dWFsIG5vZGUgcmVmZXJlbmNlIGhvbGRzIGZ1bGwgQVNUIGluIG1lbW9yeSFcbiAgICAgICAgdmFsdWU6IGRlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZSxcbiAgICAgICAgbG9jOiBkZWNsYXJhdGlvbi5zb3VyY2UubG9jLFxuICAgICAgfSxcbiAgICAgIGltcG9ydGVkU3BlY2lmaWVycyxcbiAgICB9KVxuICAgIHJldHVybiBnZXR0ZXJcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZSA9IG1ha2VTb3VyY2VDb2RlKGNvbnRlbnQsIGFzdClcblxuICBmdW5jdGlvbiBpc0VzTW9kdWxlSW50ZXJvcCgpIHtcbiAgICBjb25zdCB0c0NvbmZpZ0luZm8gPSB0c0NvbmZpZ0xvYWRlcih7XG4gICAgICBjd2Q6IGNvbnRleHQucGFyc2VyT3B0aW9ucyAmJiBjb250ZXh0LnBhcnNlck9wdGlvbnMudHNjb25maWdSb290RGlyIHx8IHByb2Nlc3MuY3dkKCksXG4gICAgICBnZXRFbnY6IChrZXkpID0+IHByb2Nlc3MuZW52W2tleV0sXG4gICAgfSlcbiAgICB0cnkge1xuICAgICAgaWYgKHRzQ29uZmlnSW5mby50c0NvbmZpZ1BhdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBqc29uVGV4dCA9IGZzLnJlYWRGaWxlU3luYyh0c0NvbmZpZ0luZm8udHNDb25maWdQYXRoKS50b1N0cmluZygpXG4gICAgICAgIGlmICghcGFyc2VDb25maWdGaWxlVGV4dFRvSnNvbikge1xuICAgICAgICAgIC8vIHRoaXMgaXMgYmVjYXVzZSBwcm9qZWN0cyBub3QgdXNpbmcgVHlwZVNjcmlwdCB3b24ndCBoYXZlIHR5cGVzY3JpcHQgaW5zdGFsbGVkXG4gICAgICAgICAgKHtwYXJzZUNvbmZpZ0ZpbGVUZXh0VG9Kc29ufSA9IHJlcXVpcmUoJ3R5cGVzY3JpcHQnKSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0c0NvbmZpZyA9IHBhcnNlQ29uZmlnRmlsZVRleHRUb0pzb24odHNDb25maWdJbmZvLnRzQ29uZmlnUGF0aCwganNvblRleHQpLmNvbmZpZ1xuICAgICAgICByZXR1cm4gdHNDb25maWcuY29tcGlsZXJPcHRpb25zLmVzTW9kdWxlSW50ZXJvcFxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGFzdC5ib2R5LmZvckVhY2goZnVuY3Rpb24gKG4pIHtcbiAgICBpZiAobi50eXBlID09PSAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJykge1xuICAgICAgY29uc3QgZXhwb3J0TWV0YSA9IGNhcHR1cmVEb2Moc291cmNlLCBkb2NTdHlsZVBhcnNlcnMsIG4pXG4gICAgICBpZiAobi5kZWNsYXJhdGlvbi50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgYWRkTmFtZXNwYWNlKGV4cG9ydE1ldGEsIG4uZGVjbGFyYXRpb24pXG4gICAgICB9XG4gICAgICBtLm5hbWVzcGFjZS5zZXQoJ2RlZmF1bHQnLCBleHBvcnRNZXRhKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKG4udHlwZSA9PT0gJ0V4cG9ydEFsbERlY2xhcmF0aW9uJykge1xuICAgICAgY29uc3QgZ2V0dGVyID0gY2FwdHVyZURlcGVuZGVuY3kobilcbiAgICAgIGlmIChnZXR0ZXIpIG0uZGVwZW5kZW5jaWVzLmFkZChnZXR0ZXIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBjYXB0dXJlIG5hbWVzcGFjZXMgaW4gY2FzZSBvZiBsYXRlciBleHBvcnRcbiAgICBpZiAobi50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nKSB7XG4gICAgICBjYXB0dXJlRGVwZW5kZW5jeShuKVxuICAgICAgbGV0IG5zXG4gICAgICBpZiAobi5zcGVjaWZpZXJzLnNvbWUocyA9PiBzLnR5cGUgPT09ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInICYmIChucyA9IHMpKSkge1xuICAgICAgICBuYW1lc3BhY2VzLnNldChucy5sb2NhbC5uYW1lLCBuLnNvdXJjZS52YWx1ZSlcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChuLnR5cGUgPT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJykge1xuICAgICAgLy8gY2FwdHVyZSBkZWNsYXJhdGlvblxuICAgICAgaWYgKG4uZGVjbGFyYXRpb24gIT0gbnVsbCkge1xuICAgICAgICBzd2l0Y2ggKG4uZGVjbGFyYXRpb24udHlwZSkge1xuICAgICAgICAgIGNhc2UgJ0Z1bmN0aW9uRGVjbGFyYXRpb24nOlxuICAgICAgICAgIGNhc2UgJ0NsYXNzRGVjbGFyYXRpb24nOlxuICAgICAgICAgIGNhc2UgJ1R5cGVBbGlhcyc6IC8vIGZsb3d0eXBlIHdpdGggYmFiZWwtZXNsaW50IHBhcnNlclxuICAgICAgICAgIGNhc2UgJ0ludGVyZmFjZURlY2xhcmF0aW9uJzpcbiAgICAgICAgICBjYXNlICdEZWNsYXJlRnVuY3Rpb24nOlxuICAgICAgICAgIGNhc2UgJ1RTRGVjbGFyZUZ1bmN0aW9uJzpcbiAgICAgICAgICBjYXNlICdUU0VudW1EZWNsYXJhdGlvbic6XG4gICAgICAgICAgY2FzZSAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbic6XG4gICAgICAgICAgY2FzZSAnVFNJbnRlcmZhY2VEZWNsYXJhdGlvbic6XG4gICAgICAgICAgY2FzZSAnVFNBYnN0cmFjdENsYXNzRGVjbGFyYXRpb24nOlxuICAgICAgICAgIGNhc2UgJ1RTTW9kdWxlRGVjbGFyYXRpb24nOlxuICAgICAgICAgICAgbS5uYW1lc3BhY2Uuc2V0KG4uZGVjbGFyYXRpb24uaWQubmFtZSwgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgbikpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ1ZhcmlhYmxlRGVjbGFyYXRpb24nOlxuICAgICAgICAgICAgbi5kZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMuZm9yRWFjaCgoZCkgPT5cbiAgICAgICAgICAgICAgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUoZC5pZCxcbiAgICAgICAgICAgICAgICBpZCA9PiBtLm5hbWVzcGFjZS5zZXQoaWQubmFtZSwgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgZCwgbikpKSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgbnNvdXJjZSA9IG4uc291cmNlICYmIG4uc291cmNlLnZhbHVlXG4gICAgICBuLnNwZWNpZmllcnMuZm9yRWFjaCgocykgPT4ge1xuICAgICAgICBjb25zdCBleHBvcnRNZXRhID0ge31cbiAgICAgICAgbGV0IGxvY2FsXG5cbiAgICAgICAgc3dpdGNoIChzLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdFeHBvcnREZWZhdWx0U3BlY2lmaWVyJzpcbiAgICAgICAgICAgIGlmICghbi5zb3VyY2UpIHJldHVyblxuICAgICAgICAgICAgbG9jYWwgPSAnZGVmYXVsdCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyJzpcbiAgICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChzLmV4cG9ydGVkLm5hbWUsIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRNZXRhLCAnbmFtZXNwYWNlJywge1xuICAgICAgICAgICAgICBnZXQoKSB7IHJldHVybiByZXNvbHZlSW1wb3J0KG5zb3VyY2UpIH0sXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIGNhc2UgJ0V4cG9ydFNwZWNpZmllcic6XG4gICAgICAgICAgICBpZiAoIW4uc291cmNlKSB7XG4gICAgICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChzLmV4cG9ydGVkLm5hbWUsIGFkZE5hbWVzcGFjZShleHBvcnRNZXRhLCBzLmxvY2FsKSlcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlbHNlIGZhbGxzIHRocm91Z2hcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgbG9jYWwgPSBzLmxvY2FsLm5hbWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0b2RvOiBKU0RvY1xuICAgICAgICBtLnJlZXhwb3J0cy5zZXQocy5leHBvcnRlZC5uYW1lLCB7IGxvY2FsLCBnZXRJbXBvcnQ6ICgpID0+IHJlc29sdmVJbXBvcnQobnNvdXJjZSkgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgaXNFc01vZHVsZUludGVyb3BUcnVlID0gaXNFc01vZHVsZUludGVyb3AoKVxuXG4gICAgY29uc3QgZXhwb3J0cyA9IFsnVFNFeHBvcnRBc3NpZ25tZW50J11cbiAgICBpZiAoaXNFc01vZHVsZUludGVyb3BUcnVlKSB7XG4gICAgICBleHBvcnRzLnB1c2goJ1RTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb24nKVxuICAgIH1cblxuICAgIC8vIFRoaXMgZG9lc24ndCBkZWNsYXJlIGFueXRoaW5nLCBidXQgY2hhbmdlcyB3aGF0J3MgYmVpbmcgZXhwb3J0ZWQuXG4gICAgaWYgKGluY2x1ZGVzKGV4cG9ydHMsIG4udHlwZSkpIHtcbiAgICAgIGNvbnN0IGV4cG9ydGVkTmFtZSA9IG4udHlwZSA9PT0gJ1RTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb24nXG4gICAgICAgID8gbi5pZC5uYW1lXG4gICAgICAgIDogbi5leHByZXNzaW9uICYmIG4uZXhwcmVzc2lvbi5uYW1lIHx8IG4uZXhwcmVzc2lvbi5pZC5uYW1lXG4gICAgICBjb25zdCBkZWNsVHlwZXMgPSBbXG4gICAgICAgICdWYXJpYWJsZURlY2xhcmF0aW9uJyxcbiAgICAgICAgJ0NsYXNzRGVjbGFyYXRpb24nLFxuICAgICAgICAnVFNEZWNsYXJlRnVuY3Rpb24nLFxuICAgICAgICAnVFNFbnVtRGVjbGFyYXRpb24nLFxuICAgICAgICAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbicsXG4gICAgICAgICdUU0ludGVyZmFjZURlY2xhcmF0aW9uJyxcbiAgICAgICAgJ1RTQWJzdHJhY3RDbGFzc0RlY2xhcmF0aW9uJyxcbiAgICAgICAgJ1RTTW9kdWxlRGVjbGFyYXRpb24nLFxuICAgICAgXVxuICAgICAgY29uc3QgZXhwb3J0ZWREZWNscyA9IGFzdC5ib2R5LmZpbHRlcigoeyB0eXBlLCBpZCwgZGVjbGFyYXRpb25zIH0pID0+IGluY2x1ZGVzKGRlY2xUeXBlcywgdHlwZSkgJiYgKFxuICAgICAgICAoaWQgJiYgaWQubmFtZSA9PT0gZXhwb3J0ZWROYW1lKSB8fCAoZGVjbGFyYXRpb25zICYmIGRlY2xhcmF0aW9ucy5maW5kKChkKSA9PiBkLmlkLm5hbWUgPT09IGV4cG9ydGVkTmFtZSkpXG4gICAgICApKVxuICAgICAgaWYgKGV4cG9ydGVkRGVjbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIEV4cG9ydCBpcyBub3QgcmVmZXJlbmNpbmcgYW55IGxvY2FsIGRlY2xhcmF0aW9uLCBtdXN0IGJlIHJlLWV4cG9ydGluZ1xuICAgICAgICBtLm5hbWVzcGFjZS5zZXQoJ2RlZmF1bHQnLCBjYXB0dXJlRG9jKHNvdXJjZSwgZG9jU3R5bGVQYXJzZXJzLCBuKSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAoaXNFc01vZHVsZUludGVyb3BUcnVlKSB7XG4gICAgICAgIG0ubmFtZXNwYWNlLnNldCgnZGVmYXVsdCcsIHt9KVxuICAgICAgfVxuICAgICAgZXhwb3J0ZWREZWNscy5mb3JFYWNoKChkZWNsKSA9PiB7XG4gICAgICAgIGlmIChkZWNsLnR5cGUgPT09ICdUU01vZHVsZURlY2xhcmF0aW9uJykge1xuICAgICAgICAgIGlmIChkZWNsLmJvZHkgJiYgZGVjbC5ib2R5LnR5cGUgPT09ICdUU01vZHVsZURlY2xhcmF0aW9uJykge1xuICAgICAgICAgICAgbS5uYW1lc3BhY2Uuc2V0KGRlY2wuYm9keS5pZC5uYW1lLCBjYXB0dXJlRG9jKHNvdXJjZSwgZG9jU3R5bGVQYXJzZXJzLCBkZWNsLmJvZHkpKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZGVjbC5ib2R5ICYmIGRlY2wuYm9keS5ib2R5KSB7XG4gICAgICAgICAgICBkZWNsLmJvZHkuYm9keS5mb3JFYWNoKChtb2R1bGVCbG9ja05vZGUpID0+IHtcbiAgICAgICAgICAgICAgLy8gRXhwb3J0LWFzc2lnbm1lbnQgZXhwb3J0cyBhbGwgbWVtYmVycyBpbiB0aGUgbmFtZXNwYWNlLFxuICAgICAgICAgICAgICAvLyBleHBsaWNpdGx5IGV4cG9ydGVkIG9yIG5vdC5cbiAgICAgICAgICAgICAgY29uc3QgbmFtZXNwYWNlRGVjbCA9IG1vZHVsZUJsb2NrTm9kZS50eXBlID09PSAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbicgP1xuICAgICAgICAgICAgICAgIG1vZHVsZUJsb2NrTm9kZS5kZWNsYXJhdGlvbiA6XG4gICAgICAgICAgICAgICAgbW9kdWxlQmxvY2tOb2RlXG5cbiAgICAgICAgICAgICAgaWYgKCFuYW1lc3BhY2VEZWNsKSB7XG4gICAgICAgICAgICAgICAgLy8gVHlwZVNjcmlwdCBjYW4gY2hlY2sgdGhpcyBmb3IgdXM7IHdlIG5lZWRuJ3RcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lc3BhY2VEZWNsLnR5cGUgPT09ICdWYXJpYWJsZURlY2xhcmF0aW9uJykge1xuICAgICAgICAgICAgICAgIG5hbWVzcGFjZURlY2wuZGVjbGFyYXRpb25zLmZvckVhY2goKGQpID0+XG4gICAgICAgICAgICAgICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShkLmlkLCAoaWQpID0+IG0ubmFtZXNwYWNlLnNldChcbiAgICAgICAgICAgICAgICAgICAgaWQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgZGVjbCwgbmFtZXNwYWNlRGVjbCwgbW9kdWxlQmxvY2tOb2RlKVxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbS5uYW1lc3BhY2Uuc2V0KFxuICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlRGVjbC5pZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgbW9kdWxlQmxvY2tOb2RlKSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRXhwb3J0IGFzIGRlZmF1bHRcbiAgICAgICAgICBtLm5hbWVzcGFjZS5zZXQoJ2RlZmF1bHQnLCBjYXB0dXJlRG9jKHNvdXJjZSwgZG9jU3R5bGVQYXJzZXJzLCBkZWNsKSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG1cbn1cblxuLyoqXG4gKiBUaGUgY3JlYXRpb24gb2YgdGhpcyBjbG9zdXJlIGlzIGlzb2xhdGVkIGZyb20gb3RoZXIgc2NvcGVzXG4gKiB0byBhdm9pZCBvdmVyLXJldGVudGlvbiBvZiB1bnJlbGF0ZWQgdmFyaWFibGVzLCB3aGljaCBoYXNcbiAqIGNhdXNlZCBtZW1vcnkgbGVha3MuIFNlZSAjMTI2Ni5cbiAqL1xuZnVuY3Rpb24gdGh1bmtGb3IocCwgY29udGV4dCkge1xuICByZXR1cm4gKCkgPT4gRXhwb3J0TWFwLmZvcihjaGlsZENvbnRleHQocCwgY29udGV4dCkpXG59XG5cblxuLyoqXG4gKiBUcmF2ZXJzZSBhIHBhdHRlcm4vaWRlbnRpZmllciBub2RlLCBjYWxsaW5nICdjYWxsYmFjaydcbiAqIGZvciBlYWNoIGxlYWYgaWRlbnRpZmllci5cbiAqIEBwYXJhbSAge25vZGV9ICAgcGF0dGVyblxuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUocGF0dGVybiwgY2FsbGJhY2spIHtcbiAgc3dpdGNoIChwYXR0ZXJuLnR5cGUpIHtcbiAgICBjYXNlICdJZGVudGlmaWVyJzogLy8gYmFzZSBjYXNlXG4gICAgICBjYWxsYmFjayhwYXR0ZXJuKVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgJ09iamVjdFBhdHRlcm4nOlxuICAgICAgcGF0dGVybi5wcm9wZXJ0aWVzLmZvckVhY2gocCA9PiB7XG4gICAgICAgIHJlY3Vyc2l2ZVBhdHRlcm5DYXB0dXJlKHAudmFsdWUsIGNhbGxiYWNrKVxuICAgICAgfSlcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlICdBcnJheVBhdHRlcm4nOlxuICAgICAgcGF0dGVybi5lbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50ID09IG51bGwpIHJldHVyblxuICAgICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShlbGVtZW50LCBjYWxsYmFjaylcbiAgICAgIH0pXG4gICAgICBicmVha1xuXG4gICAgY2FzZSAnQXNzaWdubWVudFBhdHRlcm4nOlxuICAgICAgY2FsbGJhY2socGF0dGVybi5sZWZ0KVxuICAgICAgYnJlYWtcbiAgfVxufVxuXG4vKipcbiAqIGRvbid0IGhvbGQgZnVsbCBjb250ZXh0IG9iamVjdCBpbiBtZW1vcnksIGp1c3QgZ3JhYiB3aGF0IHdlIG5lZWQuXG4gKi9cbmZ1bmN0aW9uIGNoaWxkQ29udGV4dChwYXRoLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgc2V0dGluZ3MsIHBhcnNlck9wdGlvbnMsIHBhcnNlclBhdGggfSA9IGNvbnRleHRcbiAgcmV0dXJuIHtcbiAgICBzZXR0aW5ncyxcbiAgICBwYXJzZXJPcHRpb25zLFxuICAgIHBhcnNlclBhdGgsXG4gICAgcGF0aCxcbiAgfVxufVxuXG5cbi8qKlxuICogc29tZXRpbWVzIGxlZ2FjeSBzdXBwb3J0IGlzbid0IF90aGF0XyBoYXJkLi4uIHJpZ2h0P1xuICovXG5mdW5jdGlvbiBtYWtlU291cmNlQ29kZSh0ZXh0LCBhc3QpIHtcbiAgaWYgKFNvdXJjZUNvZGUubGVuZ3RoID4gMSkge1xuICAgIC8vIEVTTGludCAzXG4gICAgcmV0dXJuIG5ldyBTb3VyY2VDb2RlKHRleHQsIGFzdClcbiAgfSBlbHNlIHtcbiAgICAvLyBFU0xpbnQgNCwgNVxuICAgIHJldHVybiBuZXcgU291cmNlQ29kZSh7IHRleHQsIGFzdCB9KVxuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FeHBvcnRNYXAuanMiXSwibmFtZXMiOlsicmVjdXJzaXZlUGF0dGVybkNhcHR1cmUiLCJ1bmFtYmlndW91cyIsInBhcnNlQ29uZmlnRmlsZVRleHRUb0pzb24iLCJsb2ciLCJleHBvcnRDYWNoZSIsIk1hcCIsInRzQ29uZmlnQ2FjaGUiLCJFeHBvcnRNYXAiLCJjb25zdHJ1Y3RvciIsInBhdGgiLCJuYW1lc3BhY2UiLCJyZWV4cG9ydHMiLCJkZXBlbmRlbmNpZXMiLCJTZXQiLCJpbXBvcnRzIiwiZXJyb3JzIiwiaGFzRGVmYXVsdCIsImdldCIsInNpemUiLCJmb3JFYWNoIiwiZGVwIiwiZCIsImhhcyIsIm5hbWUiLCJpbm5lck1hcCIsImhhc0RlZXAiLCJmb3VuZCIsImltcG9ydGVkIiwiZ2V0SW1wb3J0IiwibG9jYWwiLCJkZWVwIiwidW5zaGlmdCIsImlubmVyVmFsdWUiLCJ1bmRlZmluZWQiLCJjYWxsYmFjayIsInRoaXNBcmciLCJ2IiwibiIsImNhbGwiLCJyZWV4cG9ydGVkIiwicmVwb3J0RXJyb3JzIiwiY29udGV4dCIsImRlY2xhcmF0aW9uIiwicmVwb3J0Iiwibm9kZSIsInNvdXJjZSIsIm1lc3NhZ2UiLCJ2YWx1ZSIsIm1hcCIsImUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiam9pbiIsImNhcHR1cmVEb2MiLCJkb2NTdHlsZVBhcnNlcnMiLCJtZXRhZGF0YSIsIm5vZGVzIiwic29tZSIsImxlYWRpbmdDb21tZW50cyIsInJhbmdlIiwiZ2V0Q29tbWVudHNCZWZvcmUiLCJsZW5ndGgiLCJkb2MiLCJlcnIiLCJhdmFpbGFibGVEb2NTdHlsZVBhcnNlcnMiLCJqc2RvYyIsImNhcHR1cmVKc0RvYyIsInRvbWRvYyIsImNhcHR1cmVUb21Eb2MiLCJjb21tZW50cyIsImNvbW1lbnQiLCJ0eXBlIiwiZG9jdHJpbmUiLCJwYXJzZSIsInVud3JhcCIsImxpbmVzIiwiaSIsIm1hdGNoIiwicHVzaCIsInRyaW0iLCJzdGF0dXNNYXRjaCIsImRlc2NyaXB0aW9uIiwidGFncyIsInRpdGxlIiwidG9Mb3dlckNhc2UiLCJzdXBwb3J0ZWRJbXBvcnRUeXBlcyIsImZvciIsImNoaWxkQ29udGV4dCIsImNhY2hlS2V5IiwiZGlnZXN0IiwiZXhwb3J0TWFwIiwic3RhdHMiLCJmcyIsInN0YXRTeW5jIiwibXRpbWUiLCJzZXQiLCJjb250ZW50IiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ0ZXN0IiwibSIsImFzdCIsImlzTW9kdWxlIiwiZG9jc3R5bGUiLCJzZXR0aW5ncyIsInN0eWxlIiwiYyIsInQiLCJuYW1lc3BhY2VzIiwicmVtb3RlUGF0aCIsInJlc29sdmUiLCJyZWxhdGl2ZSIsInJlc29sdmVJbXBvcnQiLCJycCIsImdldE5hbWVzcGFjZSIsImlkZW50aWZpZXIiLCJhZGROYW1lc3BhY2UiLCJvYmplY3QiLCJuc2ZuIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJjYXB0dXJlRGVwZW5kZW5jeSIsImlzT25seUltcG9ydGluZ1R5cGVzIiwiaW1wb3J0ZWRTcGVjaWZpZXJzIiwicCIsImRlY2xhcmF0aW9uTWV0YWRhdGEiLCJsb2MiLCJleGlzdGluZyIsImRlY2xhcmF0aW9ucyIsImFkZCIsImdldHRlciIsInRodW5rRm9yIiwibWFrZVNvdXJjZUNvZGUiLCJyZWFkVHNDb25maWciLCJ0c0NvbmZpZ0luZm8iLCJjd2QiLCJwYXJzZXJPcHRpb25zIiwidHNjb25maWdSb290RGlyIiwicHJvY2VzcyIsImdldEVudiIsImtleSIsImVudiIsInRzQ29uZmlnUGF0aCIsImpzb25UZXh0IiwidG9TdHJpbmciLCJyZXF1aXJlIiwiY29uZmlnIiwiaXNFc01vZHVsZUludGVyb3AiLCJ0c0NvbmZpZyIsImNvbXBpbGVyT3B0aW9ucyIsImVzTW9kdWxlSW50ZXJvcCIsImJvZHkiLCJleHBvcnRNZXRhIiwiZXhwb3J0S2luZCIsImRlY2xhcmF0aW9uSXNUeXBlIiwiaW1wb3J0S2luZCIsInNwZWNpZmllcnNPbmx5SW1wb3J0aW5nVHlwZXMiLCJzcGVjaWZpZXJzIiwic3BlY2lmaWVyIiwibnMiLCJmaW5kIiwicyIsImlkIiwibnNvdXJjZSIsImV4cG9ydGVkIiwiaXNFc01vZHVsZUludGVyb3BUcnVlIiwiZXhwb3J0cyIsImV4cG9ydGVkTmFtZSIsImV4cHJlc3Npb24iLCJkZWNsVHlwZXMiLCJleHBvcnRlZERlY2xzIiwiZmlsdGVyIiwiZGVjbCIsIm1vZHVsZUJsb2NrTm9kZSIsIm5hbWVzcGFjZURlY2wiLCJwYXR0ZXJuIiwicHJvcGVydGllcyIsImFyZ3VtZW50IiwiZWxlbWVudHMiLCJlbGVtZW50IiwibGVmdCIsInBhcnNlclBhdGgiLCJ0ZXh0IiwiU291cmNlQ29kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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LENBSEQsTUFHTyxDQUNMO0FBQ0EsV0FBTyxJQUFJa0Ysa0JBQUosQ0FBZSxFQUFFRCxJQUFGLEVBQVFqRixHQUFSLEVBQWYsQ0FBUCxDQUNELENBQ0YiLCJmaWxlIjoiRXhwb3J0TWFwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcblxuaW1wb3J0IGRvY3RyaW5lIGZyb20gJ2RvY3RyaW5lJztcblxuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCBwYXJzZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3BhcnNlJztcbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSc7XG5pbXBvcnQgaXNJZ25vcmVkLCB7IGhhc1ZhbGlkRXh0ZW5zaW9uIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9pZ25vcmUnO1xuXG5pbXBvcnQgeyBoYXNoT2JqZWN0IH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9oYXNoJztcbmltcG9ydCAqIGFzIHVuYW1iaWd1b3VzIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvdW5hbWJpZ3VvdXMnO1xuXG5pbXBvcnQgeyB0c0NvbmZpZ0xvYWRlciB9IGZyb20gJ3RzY29uZmlnLXBhdGhzL2xpYi90c2NvbmZpZy1sb2FkZXInO1xuXG5pbXBvcnQgaW5jbHVkZXMgZnJvbSAnYXJyYXktaW5jbHVkZXMnO1xuXG5sZXQgcGFyc2VDb25maWdGaWxlVGV4dFRvSnNvbjtcblxuY29uc3QgbG9nID0gZGVidWcoJ2VzbGludC1wbHVnaW4taW1wb3J0OkV4cG9ydE1hcCcpO1xuXG5jb25zdCBleHBvcnRDYWNoZSA9IG5ldyBNYXAoKTtcbmNvbnN0IHRzQ29uZmlnQ2FjaGUgPSBuZXcgTWFwKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cG9ydE1hcCB7XG4gIGNvbnN0cnVjdG9yKHBhdGgpIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmV3IE1hcCgpO1xuICAgIC8vIHRvZG86IHJlc3RydWN0dXJlIHRvIGtleSBvbiBwYXRoLCB2YWx1ZSBpcyByZXNvbHZlciArIG1hcCBvZiBuYW1lc1xuICAgIHRoaXMucmVleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgIC8qKlxuICAgICAqIHN0YXItZXhwb3J0c1xuICAgICAqIEB0eXBlIHtTZXR9IG9mICgpID0+IEV4cG9ydE1hcFxuICAgICAqL1xuICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gbmV3IFNldCgpO1xuICAgIC8qKlxuICAgICAqIGRlcGVuZGVuY2llcyBvZiB0aGlzIG1vZHVsZSB0aGF0IGFyZSBub3QgZXhwbGljaXRseSByZS1leHBvcnRlZFxuICAgICAqIEB0eXBlIHtNYXB9IGZyb20gcGF0aCA9ICgpID0+IEV4cG9ydE1hcFxuICAgICAqL1xuICAgIHRoaXMuaW1wb3J0cyA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xuICB9XG5cbiAgZ2V0IGhhc0RlZmF1bHQoKSB7IHJldHVybiB0aGlzLmdldCgnZGVmYXVsdCcpICE9IG51bGw7IH0gLy8gc3Ryb25nZXIgdGhhbiB0aGlzLmhhc1xuXG4gIGdldCBzaXplKCkge1xuICAgIGxldCBzaXplID0gdGhpcy5uYW1lc3BhY2Uuc2l6ZSArIHRoaXMucmVleHBvcnRzLnNpemU7XG4gICAgdGhpcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgY29uc3QgZCA9IGRlcCgpO1xuICAgICAgLy8gQ0pTIC8gaWdub3JlZCBkZXBlbmRlbmNpZXMgd29uJ3QgZXhpc3QgKCM3MTcpXG4gICAgICBpZiAoZCA9PSBudWxsKSByZXR1cm47XG4gICAgICBzaXplICs9IGQuc2l6ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBjaGVjayBleHBsaWNpdGx5IHJlLWV4cG9ydGVkIG5hbWVzIGZvciBleGlzdGVuY2VcbiAgICogaW4gdGhlIGJhc2UgbmFtZXNwYWNlLCBidXQgaXQgd2lsbCBleHBhbmQgYWxsIGBleHBvcnQgKiBmcm9tICcuLi4nYCBleHBvcnRzXG4gICAqIGlmIG5vdCBmb3VuZCBpbiB0aGUgZXhwbGljaXQgbmFtZXNwYWNlLlxuICAgKiBAcGFyYW0gIHtzdHJpbmd9ICBuYW1lXG4gICAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgaWYgYG5hbWVgIGlzIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlLlxuICAgKi9cbiAgaGFzKG5hbWUpIHtcbiAgICBpZiAodGhpcy5uYW1lc3BhY2UuaGFzKG5hbWUpKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5yZWV4cG9ydHMuaGFzKG5hbWUpKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIGRlZmF1bHQgZXhwb3J0cyBtdXN0IGJlIGV4cGxpY2l0bHkgcmUtZXhwb3J0ZWQgKCMzMjgpXG4gICAgaWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgZm9yIChjb25zdCBkZXAgb2YgdGhpcy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgY29uc3QgaW5uZXJNYXAgPSBkZXAoKTtcblxuICAgICAgICAvLyB0b2RvOiByZXBvcnQgYXMgdW5yZXNvbHZlZD9cbiAgICAgICAgaWYgKCFpbm5lck1hcCkgY29udGludWU7XG5cbiAgICAgICAgaWYgKGlubmVyTWFwLmhhcyhuYW1lKSkgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGVuc3VyZSB0aGF0IGltcG9ydGVkIG5hbWUgZnVsbHkgcmVzb2x2ZXMuXG4gICAqIEBwYXJhbSAge3N0cmluZ30gbmFtZVxuICAgKiBAcmV0dXJuIHt7IGZvdW5kOiBib29sZWFuLCBwYXRoOiBFeHBvcnRNYXBbXSB9fVxuICAgKi9cbiAgaGFzRGVlcChuYW1lKSB7XG4gICAgaWYgKHRoaXMubmFtZXNwYWNlLmhhcyhuYW1lKSkgcmV0dXJuIHsgZm91bmQ6IHRydWUsIHBhdGg6IFt0aGlzXSB9O1xuXG4gICAgaWYgKHRoaXMucmVleHBvcnRzLmhhcyhuYW1lKSkge1xuICAgICAgY29uc3QgcmVleHBvcnRzID0gdGhpcy5yZWV4cG9ydHMuZ2V0KG5hbWUpO1xuICAgICAgY29uc3QgaW1wb3J0ZWQgPSByZWV4cG9ydHMuZ2V0SW1wb3J0KCk7XG5cbiAgICAgIC8vIGlmIGltcG9ydCBpcyBpZ25vcmVkLCByZXR1cm4gZXhwbGljaXQgJ251bGwnXG4gICAgICBpZiAoaW1wb3J0ZWQgPT0gbnVsbCkgcmV0dXJuIHsgZm91bmQ6IHRydWUsIHBhdGg6IFt0aGlzXSB9O1xuXG4gICAgICAvLyBzYWZlZ3VhcmQgYWdhaW5zdCBjeWNsZXMsIG9ubHkgaWYgbmFtZSBtYXRjaGVzXG4gICAgICBpZiAoaW1wb3J0ZWQucGF0aCA9PT0gdGhpcy5wYXRoICYmIHJlZXhwb3J0cy5sb2NhbCA9PT0gbmFtZSkge1xuICAgICAgICByZXR1cm4geyBmb3VuZDogZmFsc2UsIHBhdGg6IFt0aGlzXSB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWVwID0gaW1wb3J0ZWQuaGFzRGVlcChyZWV4cG9ydHMubG9jYWwpO1xuICAgICAgZGVlcC5wYXRoLnVuc2hpZnQodGhpcyk7XG5cbiAgICAgIHJldHVybiBkZWVwO1xuICAgIH1cblxuXG4gICAgLy8gZGVmYXVsdCBleHBvcnRzIG11c3QgYmUgZXhwbGljaXRseSByZS1leHBvcnRlZCAoIzMyOClcbiAgICBpZiAobmFtZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiB0aGlzLmRlcGVuZGVuY2llcykge1xuICAgICAgICBjb25zdCBpbm5lck1hcCA9IGRlcCgpO1xuICAgICAgICBpZiAoaW5uZXJNYXAgPT0gbnVsbCkgcmV0dXJuIHsgZm91bmQ6IHRydWUsIHBhdGg6IFt0aGlzXSB9O1xuICAgICAgICAvLyB0b2RvOiByZXBvcnQgYXMgdW5yZXNvbHZlZD9cbiAgICAgICAgaWYgKCFpbm5lck1hcCkgY29udGludWU7XG5cbiAgICAgICAgLy8gc2FmZWd1YXJkIGFnYWluc3QgY3ljbGVzXG4gICAgICAgIGlmIChpbm5lck1hcC5wYXRoID09PSB0aGlzLnBhdGgpIGNvbnRpbnVlO1xuXG4gICAgICAgIGNvbnN0IGlubmVyVmFsdWUgPSBpbm5lck1hcC5oYXNEZWVwKG5hbWUpO1xuICAgICAgICBpZiAoaW5uZXJWYWx1ZS5mb3VuZCkge1xuICAgICAgICAgIGlubmVyVmFsdWUucGF0aC51bnNoaWZ0KHRoaXMpO1xuICAgICAgICAgIHJldHVybiBpbm5lclZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZm91bmQ6IGZhbHNlLCBwYXRoOiBbdGhpc10gfTtcbiAgfVxuXG4gIGdldChuYW1lKSB7XG4gICAgaWYgKHRoaXMubmFtZXNwYWNlLmhhcyhuYW1lKSkgcmV0dXJuIHRoaXMubmFtZXNwYWNlLmdldChuYW1lKTtcblxuICAgIGlmICh0aGlzLnJlZXhwb3J0cy5oYXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IHJlZXhwb3J0cyA9IHRoaXMucmVleHBvcnRzLmdldChuYW1lKTtcbiAgICAgIGNvbnN0IGltcG9ydGVkID0gcmVleHBvcnRzLmdldEltcG9ydCgpO1xuXG4gICAgICAvLyBpZiBpbXBvcnQgaXMgaWdub3JlZCwgcmV0dXJuIGV4cGxpY2l0ICdudWxsJ1xuICAgICAgaWYgKGltcG9ydGVkID09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBzYWZlZ3VhcmQgYWdhaW5zdCBjeWNsZXMsIG9ubHkgaWYgbmFtZSBtYXRjaGVzXG4gICAgICBpZiAoaW1wb3J0ZWQucGF0aCA9PT0gdGhpcy5wYXRoICYmIHJlZXhwb3J0cy5sb2NhbCA9PT0gbmFtZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgcmV0dXJuIGltcG9ydGVkLmdldChyZWV4cG9ydHMubG9jYWwpO1xuICAgIH1cblxuICAgIC8vIGRlZmF1bHQgZXhwb3J0cyBtdXN0IGJlIGV4cGxpY2l0bHkgcmUtZXhwb3J0ZWQgKCMzMjgpXG4gICAgaWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgZm9yIChjb25zdCBkZXAgb2YgdGhpcy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgY29uc3QgaW5uZXJNYXAgPSBkZXAoKTtcbiAgICAgICAgLy8gdG9kbzogcmVwb3J0IGFzIHVucmVzb2x2ZWQ/XG4gICAgICAgIGlmICghaW5uZXJNYXApIGNvbnRpbnVlO1xuXG4gICAgICAgIC8vIHNhZmVndWFyZCBhZ2FpbnN0IGN5Y2xlc1xuICAgICAgICBpZiAoaW5uZXJNYXAucGF0aCA9PT0gdGhpcy5wYXRoKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCBpbm5lclZhbHVlID0gaW5uZXJNYXAuZ2V0KG5hbWUpO1xuICAgICAgICBpZiAoaW5uZXJWYWx1ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gaW5uZXJWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZykge1xuICAgIHRoaXMubmFtZXNwYWNlLmZvckVhY2goKHYsIG4pID0+XG4gICAgICBjYWxsYmFjay5jYWxsKHRoaXNBcmcsIHYsIG4sIHRoaXMpKTtcblxuICAgIHRoaXMucmVleHBvcnRzLmZvckVhY2goKHJlZXhwb3J0cywgbmFtZSkgPT4ge1xuICAgICAgY29uc3QgcmVleHBvcnRlZCA9IHJlZXhwb3J0cy5nZXRJbXBvcnQoKTtcbiAgICAgIC8vIGNhbid0IGxvb2sgdXAgbWV0YSBmb3IgaWdub3JlZCByZS1leHBvcnRzICgjMzQ4KVxuICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCByZWV4cG9ydGVkICYmIHJlZXhwb3J0ZWQuZ2V0KHJlZXhwb3J0cy5sb2NhbCksIG5hbWUsIHRoaXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgY29uc3QgZCA9IGRlcCgpO1xuICAgICAgLy8gQ0pTIC8gaWdub3JlZCBkZXBlbmRlbmNpZXMgd29uJ3QgZXhpc3QgKCM3MTcpXG4gICAgICBpZiAoZCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGQuZm9yRWFjaCgodiwgbikgPT5cbiAgICAgICAgbiAhPT0gJ2RlZmF1bHQnICYmIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdiwgbiwgdGhpcykpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gdG9kbzoga2V5cywgdmFsdWVzLCBlbnRyaWVzP1xuXG4gIHJlcG9ydEVycm9ycyhjb250ZXh0LCBkZWNsYXJhdGlvbikge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG5vZGU6IGRlY2xhcmF0aW9uLnNvdXJjZSxcbiAgICAgIG1lc3NhZ2U6IGBQYXJzZSBlcnJvcnMgaW4gaW1wb3J0ZWQgbW9kdWxlICcke2RlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZX0nOiBgICtcbiAgICAgICAgICAgICAgICAgIGAke3RoaXMuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZSA9PiBgJHtlLm1lc3NhZ2V9ICgke2UubGluZU51bWJlcn06JHtlLmNvbHVtbn0pYClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJywgJyl9YCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIHBhcnNlIGRvY3MgZnJvbSB0aGUgZmlyc3Qgbm9kZSB0aGF0IGhhcyBsZWFkaW5nIGNvbW1lbnRzXG4gKi9cbmZ1bmN0aW9uIGNhcHR1cmVEb2Moc291cmNlLCBkb2NTdHlsZVBhcnNlcnMsIC4uLm5vZGVzKSB7XG4gIGNvbnN0IG1ldGFkYXRhID0ge307XG5cbiAgLy8gJ3NvbWUnIHNob3J0LWNpcmN1aXRzIG9uIGZpcnN0ICd0cnVlJ1xuICBub2Rlcy5zb21lKG4gPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgIGxldCBsZWFkaW5nQ29tbWVudHM7XG5cbiAgICAgIC8vIG4ubGVhZGluZ0NvbW1lbnRzIGlzIGxlZ2FjeSBgYXR0YWNoQ29tbWVudHNgIGJlaGF2aW9yXG4gICAgICBpZiAoJ2xlYWRpbmdDb21tZW50cycgaW4gbikge1xuICAgICAgICBsZWFkaW5nQ29tbWVudHMgPSBuLmxlYWRpbmdDb21tZW50cztcbiAgICAgIH0gZWxzZSBpZiAobi5yYW5nZSkge1xuICAgICAgICBsZWFkaW5nQ29tbWVudHMgPSBzb3VyY2UuZ2V0Q29tbWVudHNCZWZvcmUobik7XG4gICAgICB9XG5cbiAgICAgIGlmICghbGVhZGluZ0NvbW1lbnRzIHx8IGxlYWRpbmdDb21tZW50cy5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcblxuICAgICAgZm9yIChjb25zdCBuYW1lIGluIGRvY1N0eWxlUGFyc2Vycykge1xuICAgICAgICBjb25zdCBkb2MgPSBkb2NTdHlsZVBhcnNlcnNbbmFtZV0obGVhZGluZ0NvbW1lbnRzKTtcbiAgICAgICAgaWYgKGRvYykge1xuICAgICAgICAgIG1ldGFkYXRhLmRvYyA9IGRvYztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhZGF0YTtcbn1cblxuY29uc3QgYXZhaWxhYmxlRG9jU3R5bGVQYXJzZXJzID0ge1xuICBqc2RvYzogY2FwdHVyZUpzRG9jLFxuICB0b21kb2M6IGNhcHR1cmVUb21Eb2MsXG59O1xuXG4vKipcbiAqIHBhcnNlIEpTRG9jIGZyb20gbGVhZGluZyBjb21tZW50c1xuICogQHBhcmFtIHtvYmplY3RbXX0gY29tbWVudHNcbiAqIEByZXR1cm4ge3sgZG9jOiBvYmplY3QgfX1cbiAqL1xuZnVuY3Rpb24gY2FwdHVyZUpzRG9jKGNvbW1lbnRzKSB7XG4gIGxldCBkb2M7XG5cbiAgLy8gY2FwdHVyZSBYU0RvY1xuICBjb21tZW50cy5mb3JFYWNoKGNvbW1lbnQgPT4ge1xuICAgIC8vIHNraXAgbm9uLWJsb2NrIGNvbW1lbnRzXG4gICAgaWYgKGNvbW1lbnQudHlwZSAhPT0gJ0Jsb2NrJykgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBkb2MgPSBkb2N0cmluZS5wYXJzZShjb21tZW50LnZhbHVlLCB7IHVud3JhcDogdHJ1ZSB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8qIGRvbid0IGNhcmUsIGZvciBub3c/IG1heWJlIGFkZCB0byBgZXJyb3JzP2AgKi9cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBkb2M7XG59XG5cbi8qKlxuICAqIHBhcnNlIFRvbURvYyBzZWN0aW9uIGZyb20gY29tbWVudHNcbiAgKi9cbmZ1bmN0aW9uIGNhcHR1cmVUb21Eb2MoY29tbWVudHMpIHtcbiAgLy8gY29sbGVjdCBsaW5lcyB1cCB0byBmaXJzdCBwYXJhZ3JhcGggYnJlYWtcbiAgY29uc3QgbGluZXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21tZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNvbW1lbnQgPSBjb21tZW50c1tpXTtcbiAgICBpZiAoY29tbWVudC52YWx1ZS5tYXRjaCgvXlxccyokLykpIGJyZWFrO1xuICAgIGxpbmVzLnB1c2goY29tbWVudC52YWx1ZS50cmltKCkpO1xuICB9XG5cbiAgLy8gcmV0dXJuIGRvY3RyaW5lLWxpa2Ugb2JqZWN0XG4gIGNvbnN0IHN0YXR1c01hdGNoID0gbGluZXMuam9pbignICcpLm1hdGNoKC9eKFB1YmxpY3xJbnRlcm5hbHxEZXByZWNhdGVkKTpcXHMqKC4rKS8pO1xuICBpZiAoc3RhdHVzTWF0Y2gpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGVzY3JpcHRpb246IHN0YXR1c01hdGNoWzJdLFxuICAgICAgdGFnczogW3tcbiAgICAgICAgdGl0bGU6IHN0YXR1c01hdGNoWzFdLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdGF0dXNNYXRjaFsyXSxcbiAgICAgIH1dLFxuICAgIH07XG4gIH1cbn1cblxuY29uc3Qgc3VwcG9ydGVkSW1wb3J0VHlwZXMgPSBuZXcgU2V0KFsnSW1wb3J0RGVmYXVsdFNwZWNpZmllcicsICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInXSk7XG5cbkV4cG9ydE1hcC5nZXQgPSBmdW5jdGlvbiAoc291cmNlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHBhdGggPSByZXNvbHZlKHNvdXJjZSwgY29udGV4dCk7XG4gIGlmIChwYXRoID09IG51bGwpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBFeHBvcnRNYXAuZm9yKGNoaWxkQ29udGV4dChwYXRoLCBjb250ZXh0KSk7XG59O1xuXG5FeHBvcnRNYXAuZm9yID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgY29uc3QgeyBwYXRoIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGNhY2hlS2V5ID0gaGFzaE9iamVjdChjb250ZXh0KS5kaWdlc3QoJ2hleCcpO1xuICBsZXQgZXhwb3J0TWFwID0gZXhwb3J0Q2FjaGUuZ2V0KGNhY2hlS2V5KTtcblxuICAvLyByZXR1cm4gY2FjaGVkIGlnbm9yZVxuICBpZiAoZXhwb3J0TWFwID09PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBzdGF0cyA9IGZzLnN0YXRTeW5jKHBhdGgpO1xuICBpZiAoZXhwb3J0TWFwICE9IG51bGwpIHtcbiAgICAvLyBkYXRlIGVxdWFsaXR5IGNoZWNrXG4gICAgaWYgKGV4cG9ydE1hcC5tdGltZSAtIHN0YXRzLm10aW1lID09PSAwKSB7XG4gICAgICByZXR1cm4gZXhwb3J0TWFwO1xuICAgIH1cbiAgICAvLyBmdXR1cmU6IGNoZWNrIGNvbnRlbnQgZXF1YWxpdHk/XG4gIH1cblxuICAvLyBjaGVjayB2YWxpZCBleHRlbnNpb25zIGZpcnN0XG4gIGlmICghaGFzVmFsaWRFeHRlbnNpb24ocGF0aCwgY29udGV4dCkpIHtcbiAgICBleHBvcnRDYWNoZS5zZXQoY2FjaGVLZXksIG51bGwpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gY2hlY2sgZm9yIGFuZCBjYWNoZSBpZ25vcmVcbiAgaWYgKGlzSWdub3JlZChwYXRoLCBjb250ZXh0KSkge1xuICAgIGxvZygnaWdub3JlZCBwYXRoIGR1ZSB0byBpZ25vcmUgc2V0dGluZ3M6JywgcGF0aCk7XG4gICAgZXhwb3J0Q2FjaGUuc2V0KGNhY2hlS2V5LCBudWxsKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMocGF0aCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuXG4gIC8vIGNoZWNrIGZvciBhbmQgY2FjaGUgdW5hbWJpZ3VvdXMgbW9kdWxlc1xuICBpZiAoIXVuYW1iaWd1b3VzLnRlc3QoY29udGVudCkpIHtcbiAgICBsb2coJ2lnbm9yZWQgcGF0aCBkdWUgdG8gdW5hbWJpZ3VvdXMgcmVnZXg6JywgcGF0aCk7XG4gICAgZXhwb3J0Q2FjaGUuc2V0KGNhY2hlS2V5LCBudWxsKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxvZygnY2FjaGUgbWlzcycsIGNhY2hlS2V5LCAnZm9yIHBhdGgnLCBwYXRoKTtcbiAgZXhwb3J0TWFwID0gRXhwb3J0TWFwLnBhcnNlKHBhdGgsIGNvbnRlbnQsIGNvbnRleHQpO1xuXG4gIC8vIGFtYmlndW91cyBtb2R1bGVzIHJldHVybiBudWxsXG4gIGlmIChleHBvcnRNYXAgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgZXhwb3J0TWFwLm10aW1lID0gc3RhdHMubXRpbWU7XG5cbiAgZXhwb3J0Q2FjaGUuc2V0KGNhY2hlS2V5LCBleHBvcnRNYXApO1xuICByZXR1cm4gZXhwb3J0TWFwO1xufTtcblxuXG5FeHBvcnRNYXAucGFyc2UgPSBmdW5jdGlvbiAocGF0aCwgY29udGVudCwgY29udGV4dCkge1xuICBjb25zdCBtID0gbmV3IEV4cG9ydE1hcChwYXRoKTtcblxuICBsZXQgYXN0O1xuICB0cnkge1xuICAgIGFzdCA9IHBhcnNlKHBhdGgsIGNvbnRlbnQsIGNvbnRleHQpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coJ3BhcnNlIGVycm9yOicsIHBhdGgsIGVycik7XG4gICAgbS5lcnJvcnMucHVzaChlcnIpO1xuICAgIHJldHVybiBtOyAvLyBjYW4ndCBjb250aW51ZVxuICB9XG5cbiAgaWYgKCF1bmFtYmlndW91cy5pc01vZHVsZShhc3QpKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBkb2NzdHlsZSA9IChjb250ZXh0LnNldHRpbmdzICYmIGNvbnRleHQuc2V0dGluZ3NbJ2ltcG9ydC9kb2NzdHlsZSddKSB8fCBbJ2pzZG9jJ107XG4gIGNvbnN0IGRvY1N0eWxlUGFyc2VycyA9IHt9O1xuICBkb2NzdHlsZS5mb3JFYWNoKHN0eWxlID0+IHtcbiAgICBkb2NTdHlsZVBhcnNlcnNbc3R5bGVdID0gYXZhaWxhYmxlRG9jU3R5bGVQYXJzZXJzW3N0eWxlXTtcbiAgfSk7XG5cbiAgLy8gYXR0ZW1wdCB0byBjb2xsZWN0IG1vZHVsZSBkb2NcbiAgaWYgKGFzdC5jb21tZW50cykge1xuICAgIGFzdC5jb21tZW50cy5zb21lKGMgPT4ge1xuICAgICAgaWYgKGMudHlwZSAhPT0gJ0Jsb2NrJykgcmV0dXJuIGZhbHNlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZG9jID0gZG9jdHJpbmUucGFyc2UoYy52YWx1ZSwgeyB1bndyYXA6IHRydWUgfSk7XG4gICAgICAgIGlmIChkb2MudGFncy5zb21lKHQgPT4gdC50aXRsZSA9PT0gJ21vZHVsZScpKSB7XG4gICAgICAgICAgbS5kb2MgPSBkb2M7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikgeyAvKiBpZ25vcmUgKi8gfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgbmFtZXNwYWNlcyA9IG5ldyBNYXAoKTtcblxuICBmdW5jdGlvbiByZW1vdGVQYXRoKHZhbHVlKSB7XG4gICAgcmV0dXJuIHJlc29sdmUucmVsYXRpdmUodmFsdWUsIHBhdGgsIGNvbnRleHQuc2V0dGluZ3MpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZUltcG9ydCh2YWx1ZSkge1xuICAgIGNvbnN0IHJwID0gcmVtb3RlUGF0aCh2YWx1ZSk7XG4gICAgaWYgKHJwID09IG51bGwpIHJldHVybiBudWxsO1xuICAgIHJldHVybiBFeHBvcnRNYXAuZm9yKGNoaWxkQ29udGV4dChycCwgY29udGV4dCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmFtZXNwYWNlKGlkZW50aWZpZXIpIHtcbiAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGlkZW50aWZpZXIubmFtZSkpIHJldHVybjtcblxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZUltcG9ydChuYW1lc3BhY2VzLmdldChpZGVudGlmaWVyLm5hbWUpKTtcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkTmFtZXNwYWNlKG9iamVjdCwgaWRlbnRpZmllcikge1xuICAgIGNvbnN0IG5zZm4gPSBnZXROYW1lc3BhY2UoaWRlbnRpZmllcik7XG4gICAgaWYgKG5zZm4pIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsICduYW1lc3BhY2UnLCB7IGdldDogbnNmbiB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgZnVuY3Rpb24gY2FwdHVyZURlcGVuZGVuY3koeyBzb3VyY2UgfSwgaXNPbmx5SW1wb3J0aW5nVHlwZXMsIGltcG9ydGVkU3BlY2lmaWVycyA9IG5ldyBTZXQoKSkge1xuICAgIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBwID0gcmVtb3RlUGF0aChzb3VyY2UudmFsdWUpO1xuICAgIGlmIChwID09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgZGVjbGFyYXRpb25NZXRhZGF0YSA9IHtcbiAgICAgIC8vIGNhcHR1cmluZyBhY3R1YWwgbm9kZSByZWZlcmVuY2UgaG9sZHMgZnVsbCBBU1QgaW4gbWVtb3J5IVxuICAgICAgc291cmNlOiB7IHZhbHVlOiBzb3VyY2UudmFsdWUsIGxvYzogc291cmNlLmxvYyB9LFxuICAgICAgaXNPbmx5SW1wb3J0aW5nVHlwZXMsXG4gICAgICBpbXBvcnRlZFNwZWNpZmllcnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGV4aXN0aW5nID0gbS5pbXBvcnRzLmdldChwKTtcbiAgICBpZiAoZXhpc3RpbmcgIT0gbnVsbCkge1xuICAgICAgZXhpc3RpbmcuZGVjbGFyYXRpb25zLmFkZChkZWNsYXJhdGlvbk1ldGFkYXRhKTtcbiAgICAgIHJldHVybiBleGlzdGluZy5nZXR0ZXI7XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0dGVyID0gdGh1bmtGb3IocCwgY29udGV4dCk7XG4gICAgbS5pbXBvcnRzLnNldChwLCB7IGdldHRlciwgZGVjbGFyYXRpb25zOiBuZXcgU2V0KFtkZWNsYXJhdGlvbk1ldGFkYXRhXSkgfSk7XG4gICAgcmV0dXJuIGdldHRlcjtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZSA9IG1ha2VTb3VyY2VDb2RlKGNvbnRlbnQsIGFzdCk7XG5cbiAgZnVuY3Rpb24gcmVhZFRzQ29uZmlnKCkge1xuICAgIGNvbnN0IHRzQ29uZmlnSW5mbyA9IHRzQ29uZmlnTG9hZGVyKHtcbiAgICAgIGN3ZDpcbiAgICAgICAgKGNvbnRleHQucGFyc2VyT3B0aW9ucyAmJiBjb250ZXh0LnBhcnNlck9wdGlvbnMudHNjb25maWdSb290RGlyKSB8fFxuICAgICAgICBwcm9jZXNzLmN3ZCgpLFxuICAgICAgZ2V0RW52OiAoa2V5KSA9PiBwcm9jZXNzLmVudltrZXldLFxuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICBpZiAodHNDb25maWdJbmZvLnRzQ29uZmlnUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGpzb25UZXh0ID0gZnMucmVhZEZpbGVTeW5jKHRzQ29uZmlnSW5mby50c0NvbmZpZ1BhdGgpLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmICghcGFyc2VDb25maWdGaWxlVGV4dFRvSnNvbikge1xuICAgICAgICAgIC8vIHRoaXMgaXMgYmVjYXVzZSBwcm9qZWN0cyBub3QgdXNpbmcgVHlwZVNjcmlwdCB3b24ndCBoYXZlIHR5cGVzY3JpcHQgaW5zdGFsbGVkXG4gICAgICAgICAgKHsgcGFyc2VDb25maWdGaWxlVGV4dFRvSnNvbiB9ID0gcmVxdWlyZSgndHlwZXNjcmlwdCcpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyc2VDb25maWdGaWxlVGV4dFRvSnNvbih0c0NvbmZpZ0luZm8udHNDb25maWdQYXRoLCBqc29uVGV4dCkuY29uZmlnO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIENhdGNoIGFueSBlcnJvcnNcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzRXNNb2R1bGVJbnRlcm9wKCkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gaGFzaE9iamVjdCh7XG4gICAgICB0c2NvbmZpZ1Jvb3REaXI6IGNvbnRleHQucGFyc2VyT3B0aW9ucyAmJiBjb250ZXh0LnBhcnNlck9wdGlvbnMudHNjb25maWdSb290RGlyLFxuICAgIH0pLmRpZ2VzdCgnaGV4Jyk7XG4gICAgbGV0IHRzQ29uZmlnID0gdHNDb25maWdDYWNoZS5nZXQoY2FjaGVLZXkpO1xuICAgIGlmICh0eXBlb2YgdHNDb25maWcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0c0NvbmZpZyA9IHJlYWRUc0NvbmZpZygpO1xuICAgICAgdHNDb25maWdDYWNoZS5zZXQoY2FjaGVLZXksIHRzQ29uZmlnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHNDb25maWcgJiYgdHNDb25maWcuY29tcGlsZXJPcHRpb25zID8gdHNDb25maWcuY29tcGlsZXJPcHRpb25zLmVzTW9kdWxlSW50ZXJvcCA6IGZhbHNlO1xuICB9XG5cbiAgYXN0LmJvZHkuZm9yRWFjaChmdW5jdGlvbiAobikge1xuICAgIGlmIChuLnR5cGUgPT09ICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nKSB7XG4gICAgICBjb25zdCBleHBvcnRNZXRhID0gY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2Vycywgbik7XG4gICAgICBpZiAobi5kZWNsYXJhdGlvbi50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgYWRkTmFtZXNwYWNlKGV4cG9ydE1ldGEsIG4uZGVjbGFyYXRpb24pO1xuICAgICAgfVxuICAgICAgbS5uYW1lc3BhY2Uuc2V0KCdkZWZhdWx0JywgZXhwb3J0TWV0YSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG4udHlwZSA9PT0gJ0V4cG9ydEFsbERlY2xhcmF0aW9uJykge1xuICAgICAgY29uc3QgZ2V0dGVyID0gY2FwdHVyZURlcGVuZGVuY3kobiwgbi5leHBvcnRLaW5kID09PSAndHlwZScpO1xuICAgICAgaWYgKGdldHRlcikgbS5kZXBlbmRlbmNpZXMuYWRkKGdldHRlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gY2FwdHVyZSBuYW1lc3BhY2VzIGluIGNhc2Ugb2YgbGF0ZXIgZXhwb3J0XG4gICAgaWYgKG4udHlwZSA9PT0gJ0ltcG9ydERlY2xhcmF0aW9uJykge1xuICAgICAgLy8gaW1wb3J0IHR5cGUgeyBGb28gfSAoVFMgYW5kIEZsb3cpXG4gICAgICBjb25zdCBkZWNsYXJhdGlvbklzVHlwZSA9IG4uaW1wb3J0S2luZCA9PT0gJ3R5cGUnO1xuICAgICAgLy8gaW1wb3J0ICcuL2Zvbycgb3IgaW1wb3J0IHt9IGZyb20gJy4vZm9vJyAoYm90aCAwIHNwZWNpZmllcnMpIGlzIGEgc2lkZSBlZmZlY3QgYW5kXG4gICAgICAvLyBzaG91bGRuJ3QgYmUgY29uc2lkZXJlZCB0byBiZSBqdXN0IGltcG9ydGluZyB0eXBlc1xuICAgICAgbGV0IHNwZWNpZmllcnNPbmx5SW1wb3J0aW5nVHlwZXMgPSBuLnNwZWNpZmllcnMubGVuZ3RoO1xuICAgICAgY29uc3QgaW1wb3J0ZWRTcGVjaWZpZXJzID0gbmV3IFNldCgpO1xuICAgICAgbi5zcGVjaWZpZXJzLmZvckVhY2goc3BlY2lmaWVyID0+IHtcbiAgICAgICAgaWYgKHN1cHBvcnRlZEltcG9ydFR5cGVzLmhhcyhzcGVjaWZpZXIudHlwZSkpIHtcbiAgICAgICAgICBpbXBvcnRlZFNwZWNpZmllcnMuYWRkKHNwZWNpZmllci50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInKSB7XG4gICAgICAgICAgaW1wb3J0ZWRTcGVjaWZpZXJzLmFkZChzcGVjaWZpZXIuaW1wb3J0ZWQubmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbXBvcnQgeyB0eXBlIEZvbyB9IChGbG93KVxuICAgICAgICBzcGVjaWZpZXJzT25seUltcG9ydGluZ1R5cGVzID1cbiAgICAgICAgICBzcGVjaWZpZXJzT25seUltcG9ydGluZ1R5cGVzICYmIHNwZWNpZmllci5pbXBvcnRLaW5kID09PSAndHlwZSc7XG4gICAgICB9KTtcbiAgICAgIGNhcHR1cmVEZXBlbmRlbmN5KG4sIGRlY2xhcmF0aW9uSXNUeXBlIHx8IHNwZWNpZmllcnNPbmx5SW1wb3J0aW5nVHlwZXMsIGltcG9ydGVkU3BlY2lmaWVycyk7XG5cbiAgICAgIGNvbnN0IG5zID0gbi5zcGVjaWZpZXJzLmZpbmQocyA9PiBzLnR5cGUgPT09ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInKTtcbiAgICAgIGlmIChucykge1xuICAgICAgICBuYW1lc3BhY2VzLnNldChucy5sb2NhbC5uYW1lLCBuLnNvdXJjZS52YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG4udHlwZSA9PT0gJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nKSB7XG4gICAgICAvLyBjYXB0dXJlIGRlY2xhcmF0aW9uXG4gICAgICBpZiAobi5kZWNsYXJhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgIHN3aXRjaCAobi5kZWNsYXJhdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0Z1bmN0aW9uRGVjbGFyYXRpb24nOlxuICAgICAgICBjYXNlICdDbGFzc0RlY2xhcmF0aW9uJzpcbiAgICAgICAgY2FzZSAnVHlwZUFsaWFzJzogLy8gZmxvd3R5cGUgd2l0aCBiYWJlbC1lc2xpbnQgcGFyc2VyXG4gICAgICAgIGNhc2UgJ0ludGVyZmFjZURlY2xhcmF0aW9uJzpcbiAgICAgICAgY2FzZSAnRGVjbGFyZUZ1bmN0aW9uJzpcbiAgICAgICAgY2FzZSAnVFNEZWNsYXJlRnVuY3Rpb24nOlxuICAgICAgICBjYXNlICdUU0VudW1EZWNsYXJhdGlvbic6XG4gICAgICAgIGNhc2UgJ1RTVHlwZUFsaWFzRGVjbGFyYXRpb24nOlxuICAgICAgICBjYXNlICdUU0ludGVyZmFjZURlY2xhcmF0aW9uJzpcbiAgICAgICAgY2FzZSAnVFNBYnN0cmFjdENsYXNzRGVjbGFyYXRpb24nOlxuICAgICAgICBjYXNlICdUU01vZHVsZURlY2xhcmF0aW9uJzpcbiAgICAgICAgICBtLm5hbWVzcGFjZS5zZXQobi5kZWNsYXJhdGlvbi5pZC5uYW1lLCBjYXB0dXJlRG9jKHNvdXJjZSwgZG9jU3R5bGVQYXJzZXJzLCBuKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1ZhcmlhYmxlRGVjbGFyYXRpb24nOlxuICAgICAgICAgIG4uZGVjbGFyYXRpb24uZGVjbGFyYXRpb25zLmZvckVhY2goKGQpID0+XG4gICAgICAgICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShkLmlkLFxuICAgICAgICAgICAgICBpZCA9PiBtLm5hbWVzcGFjZS5zZXQoaWQubmFtZSwgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgZCwgbikpKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgbnNvdXJjZSA9IG4uc291cmNlICYmIG4uc291cmNlLnZhbHVlO1xuICAgICAgbi5zcGVjaWZpZXJzLmZvckVhY2goKHMpID0+IHtcbiAgICAgICAgY29uc3QgZXhwb3J0TWV0YSA9IHt9O1xuICAgICAgICBsZXQgbG9jYWw7XG5cbiAgICAgICAgc3dpdGNoIChzLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnRXhwb3J0RGVmYXVsdFNwZWNpZmllcic6XG4gICAgICAgICAgaWYgKCFuLnNvdXJjZSkgcmV0dXJuO1xuICAgICAgICAgIGxvY2FsID0gJ2RlZmF1bHQnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXInOlxuICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChzLmV4cG9ydGVkLm5hbWUsIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRNZXRhLCAnbmFtZXNwYWNlJywge1xuICAgICAgICAgICAgZ2V0KCkgeyByZXR1cm4gcmVzb2x2ZUltcG9ydChuc291cmNlKTsgfSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYXNlICdFeHBvcnRTcGVjaWZpZXInOlxuICAgICAgICAgIGlmICghbi5zb3VyY2UpIHtcbiAgICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChzLmV4cG9ydGVkLm5hbWUsIGFkZE5hbWVzcGFjZShleHBvcnRNZXRhLCBzLmxvY2FsKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVsc2UgZmFsbHMgdGhyb3VnaFxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGxvY2FsID0gcy5sb2NhbC5uYW1lO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG9kbzogSlNEb2NcbiAgICAgICAgbS5yZWV4cG9ydHMuc2V0KHMuZXhwb3J0ZWQubmFtZSwgeyBsb2NhbCwgZ2V0SW1wb3J0OiAoKSA9PiByZXNvbHZlSW1wb3J0KG5zb3VyY2UpIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNFc01vZHVsZUludGVyb3BUcnVlID0gaXNFc01vZHVsZUludGVyb3AoKTtcblxuICAgIGNvbnN0IGV4cG9ydHMgPSBbJ1RTRXhwb3J0QXNzaWdubWVudCddO1xuICAgIGlmIChpc0VzTW9kdWxlSW50ZXJvcFRydWUpIHtcbiAgICAgIGV4cG9ydHMucHVzaCgnVFNOYW1lc3BhY2VFeHBvcnREZWNsYXJhdGlvbicpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZG9lc24ndCBkZWNsYXJlIGFueXRoaW5nLCBidXQgY2hhbmdlcyB3aGF0J3MgYmVpbmcgZXhwb3J0ZWQuXG4gICAgaWYgKGluY2x1ZGVzKGV4cG9ydHMsIG4udHlwZSkpIHtcbiAgICAgIGNvbnN0IGV4cG9ydGVkTmFtZSA9IG4udHlwZSA9PT0gJ1RTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb24nXG4gICAgICAgID8gbi5pZC5uYW1lXG4gICAgICAgIDogKG4uZXhwcmVzc2lvbiAmJiBuLmV4cHJlc3Npb24ubmFtZSB8fCAobi5leHByZXNzaW9uLmlkICYmIG4uZXhwcmVzc2lvbi5pZC5uYW1lKSB8fCBudWxsKTtcbiAgICAgIGNvbnN0IGRlY2xUeXBlcyA9IFtcbiAgICAgICAgJ1ZhcmlhYmxlRGVjbGFyYXRpb24nLFxuICAgICAgICAnQ2xhc3NEZWNsYXJhdGlvbicsXG4gICAgICAgICdUU0RlY2xhcmVGdW5jdGlvbicsXG4gICAgICAgICdUU0VudW1EZWNsYXJhdGlvbicsXG4gICAgICAgICdUU1R5cGVBbGlhc0RlY2xhcmF0aW9uJyxcbiAgICAgICAgJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb24nLFxuICAgICAgICAnVFNBYnN0cmFjdENsYXNzRGVjbGFyYXRpb24nLFxuICAgICAgICAnVFNNb2R1bGVEZWNsYXJhdGlvbicsXG4gICAgICBdO1xuICAgICAgY29uc3QgZXhwb3J0ZWREZWNscyA9IGFzdC5ib2R5LmZpbHRlcigoeyB0eXBlLCBpZCwgZGVjbGFyYXRpb25zIH0pID0+IGluY2x1ZGVzKGRlY2xUeXBlcywgdHlwZSkgJiYgKFxuICAgICAgICAoaWQgJiYgaWQubmFtZSA9PT0gZXhwb3J0ZWROYW1lKSB8fCAoZGVjbGFyYXRpb25zICYmIGRlY2xhcmF0aW9ucy5maW5kKChkKSA9PiBkLmlkLm5hbWUgPT09IGV4cG9ydGVkTmFtZSkpXG4gICAgICApKTtcbiAgICAgIGlmIChleHBvcnRlZERlY2xzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBFeHBvcnQgaXMgbm90IHJlZmVyZW5jaW5nIGFueSBsb2NhbCBkZWNsYXJhdGlvbiwgbXVzdCBiZSByZS1leHBvcnRpbmdcbiAgICAgICAgbS5uYW1lc3BhY2Uuc2V0KCdkZWZhdWx0JywgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgbikpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXNFc01vZHVsZUludGVyb3BUcnVlKSB7XG4gICAgICAgIG0ubmFtZXNwYWNlLnNldCgnZGVmYXVsdCcsIHt9KTtcbiAgICAgIH1cbiAgICAgIGV4cG9ydGVkRGVjbHMuZm9yRWFjaCgoZGVjbCkgPT4ge1xuICAgICAgICBpZiAoZGVjbC50eXBlID09PSAnVFNNb2R1bGVEZWNsYXJhdGlvbicpIHtcbiAgICAgICAgICBpZiAoZGVjbC5ib2R5ICYmIGRlY2wuYm9keS50eXBlID09PSAnVFNNb2R1bGVEZWNsYXJhdGlvbicpIHtcbiAgICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChkZWNsLmJvZHkuaWQubmFtZSwgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgZGVjbC5ib2R5KSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkZWNsLmJvZHkgJiYgZGVjbC5ib2R5LmJvZHkpIHtcbiAgICAgICAgICAgIGRlY2wuYm9keS5ib2R5LmZvckVhY2goKG1vZHVsZUJsb2NrTm9kZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBFeHBvcnQtYXNzaWdubWVudCBleHBvcnRzIGFsbCBtZW1iZXJzIGluIHRoZSBuYW1lc3BhY2UsXG4gICAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgZXhwb3J0ZWQgb3Igbm90LlxuICAgICAgICAgICAgICBjb25zdCBuYW1lc3BhY2VEZWNsID0gbW9kdWxlQmxvY2tOb2RlLnR5cGUgPT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJyA/XG4gICAgICAgICAgICAgICAgbW9kdWxlQmxvY2tOb2RlLmRlY2xhcmF0aW9uIDpcbiAgICAgICAgICAgICAgICBtb2R1bGVCbG9ja05vZGU7XG5cbiAgICAgICAgICAgICAgaWYgKCFuYW1lc3BhY2VEZWNsKSB7XG4gICAgICAgICAgICAgICAgLy8gVHlwZVNjcmlwdCBjYW4gY2hlY2sgdGhpcyBmb3IgdXM7IHdlIG5lZWRuJ3RcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lc3BhY2VEZWNsLnR5cGUgPT09ICdWYXJpYWJsZURlY2xhcmF0aW9uJykge1xuICAgICAgICAgICAgICAgIG5hbWVzcGFjZURlY2wuZGVjbGFyYXRpb25zLmZvckVhY2goKGQpID0+XG4gICAgICAgICAgICAgICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShkLmlkLCAoaWQpID0+IG0ubmFtZXNwYWNlLnNldChcbiAgICAgICAgICAgICAgICAgICAgaWQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2FwdHVyZURvYyhzb3VyY2UsIGRvY1N0eWxlUGFyc2VycywgZGVjbCwgbmFtZXNwYWNlRGVjbCwgbW9kdWxlQmxvY2tOb2RlKVxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG0ubmFtZXNwYWNlLnNldChcbiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZURlY2wuaWQubmFtZSxcbiAgICAgICAgICAgICAgICAgIGNhcHR1cmVEb2Moc291cmNlLCBkb2NTdHlsZVBhcnNlcnMsIG1vZHVsZUJsb2NrTm9kZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRXhwb3J0IGFzIGRlZmF1bHRcbiAgICAgICAgICBtLm5hbWVzcGFjZS5zZXQoJ2RlZmF1bHQnLCBjYXB0dXJlRG9jKHNvdXJjZSwgZG9jU3R5bGVQYXJzZXJzLCBkZWNsKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG07XG59O1xuXG4vKipcbiAqIFRoZSBjcmVhdGlvbiBvZiB0aGlzIGNsb3N1cmUgaXMgaXNvbGF0ZWQgZnJvbSBvdGhlciBzY29wZXNcbiAqIHRvIGF2b2lkIG92ZXItcmV0ZW50aW9uIG9mIHVucmVsYXRlZCB2YXJpYWJsZXMsIHdoaWNoIGhhc1xuICogY2F1c2VkIG1lbW9yeSBsZWFrcy4gU2VlICMxMjY2LlxuICovXG5mdW5jdGlvbiB0aHVua0ZvcihwLCBjb250ZXh0KSB7XG4gIHJldHVybiAoKSA9PiBFeHBvcnRNYXAuZm9yKGNoaWxkQ29udGV4dChwLCBjb250ZXh0KSk7XG59XG5cblxuLyoqXG4gKiBUcmF2ZXJzZSBhIHBhdHRlcm4vaWRlbnRpZmllciBub2RlLCBjYWxsaW5nICdjYWxsYmFjaydcbiAqIGZvciBlYWNoIGxlYWYgaWRlbnRpZmllci5cbiAqIEBwYXJhbSAge25vZGV9ICAgcGF0dGVyblxuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUocGF0dGVybiwgY2FsbGJhY2spIHtcbiAgc3dpdGNoIChwYXR0ZXJuLnR5cGUpIHtcbiAgY2FzZSAnSWRlbnRpZmllcic6IC8vIGJhc2UgY2FzZVxuICAgIGNhbGxiYWNrKHBhdHRlcm4pO1xuICAgIGJyZWFrO1xuXG4gIGNhc2UgJ09iamVjdFBhdHRlcm4nOlxuICAgIHBhdHRlcm4ucHJvcGVydGllcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgaWYgKHAudHlwZSA9PT0gJ0V4cGVyaW1lbnRhbFJlc3RQcm9wZXJ0eScgfHwgcC50eXBlID09PSAnUmVzdEVsZW1lbnQnKSB7XG4gICAgICAgIGNhbGxiYWNrKHAuYXJndW1lbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShwLnZhbHVlLCBjYWxsYmFjayk7XG4gICAgfSk7XG4gICAgYnJlYWs7XG5cbiAgY2FzZSAnQXJyYXlQYXR0ZXJuJzpcbiAgICBwYXR0ZXJuLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChlbGVtZW50ID09IG51bGwpIHJldHVybjtcbiAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdFeHBlcmltZW50YWxSZXN0UHJvcGVydHknIHx8IGVsZW1lbnQudHlwZSA9PT0gJ1Jlc3RFbGVtZW50Jykge1xuICAgICAgICBjYWxsYmFjayhlbGVtZW50LmFyZ3VtZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUoZWxlbWVudCwgY2FsbGJhY2spO1xuICAgIH0pO1xuICAgIGJyZWFrO1xuXG4gIGNhc2UgJ0Fzc2lnbm1lbnRQYXR0ZXJuJzpcbiAgICBjYWxsYmFjayhwYXR0ZXJuLmxlZnQpO1xuICAgIGJyZWFrO1xuICB9XG59XG5cbi8qKlxuICogZG9uJ3QgaG9sZCBmdWxsIGNvbnRleHQgb2JqZWN0IGluIG1lbW9yeSwganVzdCBncmFiIHdoYXQgd2UgbmVlZC5cbiAqL1xuZnVuY3Rpb24gY2hpbGRDb250ZXh0KHBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBzZXR0aW5ncywgcGFyc2VyT3B0aW9ucywgcGFyc2VyUGF0aCB9ID0gY29udGV4dDtcbiAgcmV0dXJuIHtcbiAgICBzZXR0aW5ncyxcbiAgICBwYXJzZXJPcHRpb25zLFxuICAgIHBhcnNlclBhdGgsXG4gICAgcGF0aCxcbiAgfTtcbn1cblxuXG4vKipcbiAqIHNvbWV0aW1lcyBsZWdhY3kgc3VwcG9ydCBpc24ndCBfdGhhdF8gaGFyZC4uLiByaWdodD9cbiAqL1xuZnVuY3Rpb24gbWFrZVNvdXJjZUNvZGUodGV4dCwgYXN0KSB7XG4gIGlmIChTb3VyY2VDb2RlLmxlbmd0aCA+IDEpIHtcbiAgICAvLyBFU0xpbnQgM1xuICAgIHJldHVybiBuZXcgU291cmNlQ29kZSh0ZXh0LCBhc3QpO1xuICB9IGVsc2Uge1xuICAgIC8vIEVTTGludCA0LCA1XG4gICAgcmV0dXJuIG5ldyBTb3VyY2VDb2RlKHsgdGV4dCwgYXN0IH0pO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/core/importType.js b/node_modules/eslint-plugin-import/lib/core/importType.js index 1deff7e4a..462cb9740 100644 --- a/node_modules/eslint-plugin-import/lib/core/importType.js +++ b/node_modules/eslint-plugin-import/lib/core/importType.js @@ -11,6 +11,8 @@ + + isAbsolute = isAbsolute;exports. @@ -21,25 +23,6 @@ isBuiltIn = isBuiltIn;exports. - - - - - - - - - - - - - - - - - - - isExternalModule = isExternalModule;exports. @@ -47,11 +30,41 @@ isExternalModule = isExternalModule;exports. + + isExternalModuleMain = isExternalModuleMain;exports. + + + + + + + + + + + + + + + + + + + + + + + + + + + + isScoped = isScoped;exports. @@ -83,10 +96,6 @@ isScopedMain = isScopedMain;exports. - - - - @@ -96,7 +105,7 @@ isScopedModule = isScopedModule;exports.default = -resolveImportType;var _core = require('resolve/lib/core');var _core2 = _interopRequireDefault(_core);var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function baseModule(name) {if (isScoped(name)) {var _name$split = name.split('/'),_name$split2 = _slicedToArray(_name$split, 2);const scope = _name$split2[0],pkg = _name$split2[1];return `${scope}/${pkg}`;}var _name$split3 = name.split('/'),_name$split4 = _slicedToArray(_name$split3, 1);const pkg = _name$split4[0];return pkg;}function isAbsolute(name) {return name && name.startsWith('/');} // path is defined only when a resolver resolves to a non-standard path -function isBuiltIn(name, settings, path) {if (path || !name) return false;const base = baseModule(name);const extras = settings && settings['import/core-modules'] || [];return _core2.default[base] || extras.indexOf(base) > -1;}function isExternalPath(path, name, settings) {const folders = settings && settings['import/external-module-folders'] || ['node_modules'];return !path || folders.some(folder => isSubpath(folder, path));}function isSubpath(subpath, path) {const normPath = path.replace(/\\/g, '/');const normSubpath = subpath.replace(/\\/g, '/').replace(/\/$/, '');if (normSubpath.length === 0) {return false;}const left = normPath.indexOf(normSubpath);const right = left + normSubpath.length;return left !== -1 && (left === 0 || normSubpath[0] !== '/' && normPath[left - 1] === '/') && (right >= normPath.length || normPath[right] === '/');}const externalModuleRegExp = /^\w/;function isExternalModule(name, settings, path) {return externalModuleRegExp.test(name) && isExternalPath(path, name, settings);}const externalModuleMainRegExp = /^[\w]((?!\/).)*$/;function isExternalModuleMain(name, settings, path) {return externalModuleMainRegExp.test(name) && isExternalPath(path, name, settings);}const scopedRegExp = /^@[^/]*\/?[^/]+/;function isScoped(name) {return name && scopedRegExp.test(name);}const scopedMainRegExp = /^@[^/]+\/?[^/]+$/;function isScopedMain(name) {return name && scopedMainRegExp.test(name);}function isInternalModule(name, settings, path) {const internalScope = settings && settings['import/internal-regex'];const matchesScopedOrExternalRegExp = scopedRegExp.test(name) || externalModuleRegExp.test(name);return matchesScopedOrExternalRegExp && (internalScope && new RegExp(internalScope).test(name) || !isExternalPath(path, name, settings));}function isRelativeToParent(name) {return (/^\.\.$|^\.\.[\\/]/.test(name));}const indexFiles = ['.', './', './index', './index.js'];function isIndex(name) {return indexFiles.indexOf(name) !== -1;}function isRelativeToSibling(name) {return (/^\.[\\/]/.test(name));}function typeTest(name, settings, path) {if (isAbsolute(name, settings, path)) {return 'absolute';}if (isBuiltIn(name, settings, path)) {return 'builtin';}if (isInternalModule(name, settings, path)) {return 'internal';}if (isExternalModule(name, settings, path)) {return 'external';}if (isScoped(name, settings, path)) {return 'external';}if (isRelativeToParent(name, settings, path)) {return 'parent';}if (isIndex(name, settings, path)) {return 'index';}if (isRelativeToSibling(name, settings, path)) {return 'sibling';}return 'unknown';}function isScopedModule(name) {return name.indexOf('@') === 0;}function resolveImportType(name, context) {return typeTest(name, context.settings, (0, _resolve2.default)(name, context)); +resolveImportType;var _path = require('path');var _isCoreModule = require('is-core-module');var _isCoreModule2 = _interopRequireDefault(_isCoreModule);var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);var _packagePath = require('./packagePath');function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function baseModule(name) {if (isScoped(name)) {var _name$split = name.split('/'),_name$split2 = _slicedToArray(_name$split, 2);const scope = _name$split2[0],pkg = _name$split2[1];return `${scope}/${pkg}`;}var _name$split3 = name.split('/'),_name$split4 = _slicedToArray(_name$split3, 1);const pkg = _name$split4[0];return pkg;}function isAbsolute(name) {return (0, _path.isAbsolute)(name);} // path is defined only when a resolver resolves to a non-standard path +function isBuiltIn(name, settings, path) {if (path || !name) return false;const base = baseModule(name);const extras = settings && settings['import/core-modules'] || [];return (0, _isCoreModule2.default)(base) || extras.indexOf(base) > -1;}function isExternalModule(name, settings, path, context) {if (arguments.length < 4) {throw new TypeError('isExternalModule: name, settings, path, and context are all required');}return isModule(name) && isExternalPath(name, settings, path, (0, _packagePath.getContextPackagePath)(context));}function isExternalModuleMain(name, settings, path, context) {return isModuleMain(name) && isExternalPath(name, settings, path, (0, _packagePath.getContextPackagePath)(context));}function isExternalPath(name, settings, path, packagePath) {const internalScope = settings && settings['import/internal-regex'];if (internalScope && new RegExp(internalScope).test(name)) {return false;}if (!path || (0, _path.relative)(packagePath, path).startsWith('..')) {return true;}const folders = settings && settings['import/external-module-folders'] || ['node_modules'];return folders.some(folder => {const folderPath = (0, _path.resolve)(packagePath, folder);const relativePath = (0, _path.relative)(folderPath, path);return !relativePath.startsWith('..');});}const moduleRegExp = /^\w/;function isModule(name) {return name && moduleRegExp.test(name);}const moduleMainRegExp = /^[\w]((?!\/).)*$/;function isModuleMain(name) {return name && moduleMainRegExp.test(name);}const scopedRegExp = /^@[^/]*\/?[^/]+/;function isScoped(name) {return name && scopedRegExp.test(name);}const scopedMainRegExp = /^@[^/]+\/?[^/]+$/;function isScopedMain(name) {return name && scopedMainRegExp.test(name);}function isRelativeToParent(name) {return (/^\.\.$|^\.\.[\\/]/.test(name));}const indexFiles = ['.', './', './index', './index.js'];function isIndex(name) {return indexFiles.indexOf(name) !== -1;}function isRelativeToSibling(name) {return (/^\.[\\/]/.test(name));}function typeTest(name, context, path) {const settings = context.settings;if (isAbsolute(name, settings, path)) {return 'absolute';}if (isBuiltIn(name, settings, path)) {return 'builtin';}if (isModule(name, settings, path) || isScoped(name, settings, path)) {const packagePath = (0, _packagePath.getContextPackagePath)(context);return isExternalPath(name, settings, path, packagePath) ? 'external' : 'internal';}if (isRelativeToParent(name, settings, path)) {return 'parent';}if (isIndex(name, settings, path)) {return 'index';}if (isRelativeToSibling(name, settings, path)) {return 'sibling';}return 'unknown';}function isScopedModule(name) {return name.indexOf('@') === 0 && !name.startsWith('@/');}function resolveImportType(name, context) {return typeTest(name, context, (0, _resolve2.default)(name, context)); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2ltcG9ydFR5cGUuanMiXSwibmFtZXMiOlsiaXNBYnNvbHV0ZSIsImlzQnVpbHRJbiIsImlzRXh0ZXJuYWxNb2R1bGUiLCJpc0V4dGVybmFsTW9kdWxlTWFpbiIsImlzU2NvcGVkIiwiaXNTY29wZWRNYWluIiwiaXNTY29wZWRNb2R1bGUiLCJyZXNvbHZlSW1wb3J0VHlwZSIsImJhc2VNb2R1bGUiLCJuYW1lIiwic3BsaXQiLCJzY29wZSIsInBrZyIsInN0YXJ0c1dpdGgiLCJzZXR0aW5ncyIsInBhdGgiLCJiYXNlIiwiZXh0cmFzIiwiY29yZU1vZHVsZXMiLCJpbmRleE9mIiwiaXNFeHRlcm5hbFBhdGgiLCJmb2xkZXJzIiwic29tZSIsImZvbGRlciIsImlzU3VicGF0aCIsInN1YnBhdGgiLCJub3JtUGF0aCIsInJlcGxhY2UiLCJub3JtU3VicGF0aCIsImxlbmd0aCIsImxlZnQiLCJyaWdodCIsImV4dGVybmFsTW9kdWxlUmVnRXhwIiwidGVzdCIsImV4dGVybmFsTW9kdWxlTWFpblJlZ0V4cCIsInNjb3BlZFJlZ0V4cCIsInNjb3BlZE1haW5SZWdFeHAiLCJpc0ludGVybmFsTW9kdWxlIiwiaW50ZXJuYWxTY29wZSIsIm1hdGNoZXNTY29wZWRPckV4dGVybmFsUmVnRXhwIiwiUmVnRXhwIiwiaXNSZWxhdGl2ZVRvUGFyZW50IiwiaW5kZXhGaWxlcyIsImlzSW5kZXgiLCJpc1JlbGF0aXZlVG9TaWJsaW5nIiwidHlwZVRlc3QiLCJjb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBYWdCQSxVLEdBQUFBLFU7Ozs7O0FBS0FDLFMsR0FBQUEsUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQkFDLGdCLEdBQUFBLGdCOzs7OztBQUtBQyxvQixHQUFBQSxvQjs7Ozs7QUFLQUMsUSxHQUFBQSxROzs7OztBQUtBQyxZLEdBQUFBLFk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBQyxjLEdB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ZCxDQUFqQyxDQUFQO0FBQ0QiLCJmaWxlIjoiaW1wb3J0VHlwZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb3JlTW9kdWxlcyBmcm9tICdyZXNvbHZlL2xpYi9jb3JlJ1xuXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5cbmZ1bmN0aW9uIGJhc2VNb2R1bGUobmFtZSkge1xuICBpZiAoaXNTY29wZWQobmFtZSkpIHtcbiAgICBjb25zdCBbc2NvcGUsIHBrZ10gPSBuYW1lLnNwbGl0KCcvJylcbiAgICByZXR1cm4gYCR7c2NvcGV9LyR7cGtnfWBcbiAgfVxuICBjb25zdCBbcGtnXSA9IG5hbWUuc3BsaXQoJy8nKVxuICByZXR1cm4gcGtnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Fic29sdXRlKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUgJiYgbmFtZS5zdGFydHNXaXRoKCcvJylcbn1cblxuLy8gcGF0aCBpcyBkZWZpbmVkIG9ubHkgd2hlbiBhIHJlc29sdmVyIHJlc29sdmVzIHRvIGEgbm9uLXN0YW5kYXJkIHBhdGhcbmV4cG9ydCBmdW5jdGlvbiBpc0J1aWx0SW4obmFtZSwgc2V0dGluZ3MsIHBhdGgpIHtcbiAgaWYgKHBhdGggfHwgIW5hbWUpIHJldHVybiBmYWxzZVxuICBjb25zdCBiYXNlID0gYmFzZU1vZHVsZShuYW1lKVxuICBjb25zdCBleHRyYXMgPSAoc2V0dGluZ3MgJiYgc2V0dGluZ3NbJ2ltcG9ydC9jb3JlLW1vZHVsZXMnXSkgfHwgW11cbiAgcmV0dXJuIGNvcmVNb2R1bGVzW2Jhc2VdIHx8IGV4dHJhcy5pbmRleE9mKGJhc2UpID4gLTFcbn1cblxuZnVuY3Rpb24gaXNFeHRlcm5hbFBhdGgocGF0aCwgbmFtZSwgc2V0dGluZ3MpIHtcbiAgY29uc3QgZm9sZGVycyA9IChzZXR0aW5ncyAmJiBzZXR0aW5nc1snaW1wb3J0L2V4dGVybmFsLW1vZHVsZS1mb2xkZXJzJ10pIHx8IFsnbm9kZV9tb2R1bGVzJ11cbiAgcmV0dXJuICFwYXRoIHx8IGZvbGRlcnMuc29tZShmb2xkZXIgPT4gaXNTdWJwYXRoKGZvbGRlciwgcGF0aCkpXG59XG5cbmZ1bmN0aW9uIGlzU3VicGF0aChzdWJwYXRoLCBwYXRoKSB7XG4gIGNvbnN0IG5vcm1QYXRoID0gcGF0aC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgY29uc3Qgbm9ybVN1YnBhdGggPSBzdWJwYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKS5yZXBsYWNlKC9cXC8kLywgJycpXG4gIGlmIChub3JtU3VicGF0aC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBsZWZ0ID0gbm9ybVBhdGguaW5kZXhPZihub3JtU3VicGF0aClcbiAgY29uc3QgcmlnaHQgPSBsZWZ0ICsgbm9ybVN1YnBhdGgubGVuZ3RoXG4gIHJldHVybiBsZWZ0ICE9PSAtMSAmJlxuICAgICAgICAobGVmdCA9PT0gMCB8fCBub3JtU3VicGF0aFswXSAhPT0gJy8nICYmIG5vcm1QYXRoW2xlZnQgLSAxXSA9PT0gJy8nKSAmJlxuICAgICAgICAocmlnaHQgPj0gbm9ybVBhdGgubGVuZ3RoIHx8IG5vcm1QYXRoW3JpZ2h0XSA9PT0gJy8nKVxufVxuXG5jb25zdCBleHRlcm5hbE1vZHVsZVJlZ0V4cCA9IC9eXFx3L1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXh0ZXJuYWxNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgpIHtcbiAgcmV0dXJuIGV4dGVybmFsTW9kdWxlUmVnRXhwLnRlc3QobmFtZSkgJiYgaXNFeHRlcm5hbFBhdGgocGF0aCwgbmFtZSwgc2V0dGluZ3MpXG59XG5cbmNvbnN0IGV4dGVybmFsTW9kdWxlTWFpblJlZ0V4cCA9IC9eW1xcd10oKD8hXFwvKS4pKiQvXG5leHBvcnQgZnVuY3Rpb24gaXNFeHRlcm5hbE1vZHVsZU1haW4obmFtZSwgc2V0dGluZ3MsIHBhdGgpIHtcbiAgcmV0dXJuIGV4dGVybmFsTW9kdWxlTWFpblJlZ0V4cC50ZXN0KG5hbWUpICYmIGlzRXh0ZXJuYWxQYXRoKHBhdGgsIG5hbWUsIHNldHRpbmdzKVxufVxuXG5jb25zdCBzY29wZWRSZWdFeHAgPSAvXkBbXi9dKlxcLz9bXi9dKy9cbmV4cG9ydCBmdW5jdGlvbiBpc1Njb3BlZChuYW1lKSB7XG4gIHJldHVybiBuYW1lICYmIHNjb3BlZFJlZ0V4cC50ZXN0KG5hbWUpXG59XG5cbmNvbnN0IHNjb3BlZE1haW5SZWdFeHAgPSAvXkBbXi9dK1xcLz9bXi9dKyQvXG5leHBvcnQgZnVuY3Rpb24gaXNTY29wZWRNYWluKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUgJiYgc2NvcGVkTWFpblJlZ0V4cC50ZXN0KG5hbWUpXG59XG5cbmZ1bmN0aW9uIGlzSW50ZXJuYWxNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgpIHtcbiAgY29uc3QgaW50ZXJuYWxTY29wZSA9IChzZXR0aW5ncyAmJiBzZXR0aW5nc1snaW1wb3J0L2ludGVybmFsLXJlZ2V4J10pXG4gIGNvbnN0IG1hdGNoZXNTY29wZWRPckV4dGVybmFsUmVnRXhwID0gc2NvcGVkUmVnRXhwLnRlc3QobmFtZSkgfHwgZXh0ZXJuYWxNb2R1bGVSZWdFeHAudGVzdChuYW1lKVxuICByZXR1cm4gKG1hdGNoZXNTY29wZWRPckV4dGVybmFsUmVnRXhwICYmIChpbnRlcm5hbFNjb3BlICYmIG5ldyBSZWdFeHAoaW50ZXJuYWxTY29wZSkudGVzdChuYW1lKSB8fCAhaXNFeHRlcm5hbFBhdGgocGF0aCwgbmFtZSwgc2V0dGluZ3MpKSlcbn1cblxuZnVuY3Rpb24gaXNSZWxhdGl2ZVRvUGFyZW50KG5hbWUpIHtcbiAgcmV0dXJuL15cXC5cXC4kfF5cXC5cXC5bXFxcXC9dLy50ZXN0KG5hbWUpXG59XG5cbmNvbnN0IGluZGV4RmlsZXMgPSBbJy4nLCAnLi8nLCAnLi9pbmRleCcsICcuL2luZGV4LmpzJ11cbmZ1bmN0aW9uIGlzSW5kZXgobmFtZSkge1xuICByZXR1cm4gaW5kZXhGaWxlcy5pbmRleE9mKG5hbWUpICE9PSAtMVxufVxuXG5mdW5jdGlvbiBpc1JlbGF0aXZlVG9TaWJsaW5nKG5hbWUpIHtcbiAgcmV0dXJuIC9eXFwuW1xcXFwvXS8udGVzdChuYW1lKVxufVxuXG5mdW5jdGlvbiB0eXBlVGVzdChuYW1lLCBzZXR0aW5ncywgcGF0aCkge1xuICBpZiAoaXNBYnNvbHV0ZShuYW1lLCBzZXR0aW5ncywgcGF0aCkpIHsgcmV0dXJuICdhYnNvbHV0ZScgfVxuICBpZiAoaXNCdWlsdEluKG5hbWUsIHNldHRpbmdzLCBwYXRoKSkgeyByZXR1cm4gJ2J1aWx0aW4nIH1cbiAgaWYgKGlzSW50ZXJuYWxNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgpKSB7IHJldHVybiAnaW50ZXJuYWwnIH1cbiAgaWYgKGlzRXh0ZXJuYWxNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgpKSB7IHJldHVybiAnZXh0ZXJuYWwnIH1cbiAgaWYgKGlzU2NvcGVkKG5hbWUsIHNldHRpbmdzLCBwYXRoKSkgeyByZXR1cm4gJ2V4dGVybmFsJyB9XG4gIGlmIChpc1JlbGF0aXZlVG9QYXJlbnQobmFtZSwgc2V0dGluZ3MsIHBhdGgpKSB7IHJldHVybiAncGFyZW50JyB9XG4gIGlmIChpc0luZGV4KG5hbWUsIHNldHRpbmdzLCBwYXRoKSkgeyByZXR1cm4gJ2luZGV4JyB9XG4gIGlmIChpc1JlbGF0aXZlVG9TaWJsaW5nKG5hbWUsIHNldHRpbmdzLCBwYXRoKSkgeyByZXR1cm4gJ3NpYmxpbmcnIH1cbiAgcmV0dXJuICd1bmtub3duJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTY29wZWRNb2R1bGUobmFtZSkge1xuICByZXR1cm4gbmFtZS5pbmRleE9mKCdAJykgPT09IDBcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb2x2ZUltcG9ydFR5cGUobmFtZSwgY29udGV4dCkge1xuICByZXR1cm4gdHlwZVRlc3QobmFtZSwgY29udGV4dC5zZXR0aW5ncywgcmVzb2x2ZShuYW1lLCBjb250ZXh0KSlcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2ltcG9ydFR5cGUuanMiXSwibmFtZXMiOlsiaXNBYnNvbHV0ZSIsImlzQnVpbHRJbiIsImlzRXh0ZXJuYWxNb2R1bGUiLCJpc0V4dGVybmFsTW9kdWxlTWFpbiIsImlzU2NvcGVkIiwiaXNTY29wZWRNYWluIiwiaXNTY29wZWRNb2R1bGUiLCJyZXNvbHZlSW1wb3J0VHlwZSIsImJhc2VNb2R1bGUiLCJuYW1lIiwic3BsaXQiLCJzY29wZSIsInBrZyIsInNldHRpbmdzIiwicGF0aCIsImJhc2UiLCJleHRyYXMiLCJpbmRleE9mIiwiY29udGV4dCIsImFyZ3VtZW50cyIsImxlbmd0aCIsIlR5cGVFcnJvciIsImlzTW9kdWxlIiwiaXNFeHRlcm5hbFBhdGgiLCJpc01vZHVsZU1haW4iLCJwYWNrYWdlUGF0aCIsImludGVybmFsU2NvcGUiLCJSZWdFeHAiLCJ0ZXN0Iiwic3RhcnRzV2l0aCIsImZvbGRlcnMiLCJzb21lIiwiZm9sZGVyIiwiZm9sZGVyUGF0aCIsInJlbGF0aXZlUGF0aCIsIm1vZHVsZVJlZ0V4cCIsIm1vZHVsZU1haW5SZWdFeHAiLCJzY29wZWRSZWdFeHAiLCJzY29wZWRNYWluUmVnRXhwIiwiaXNSZWxhdGl2ZVRvUGFyZW50IiwiaW5kZXhGaWxlcyIsImlzSW5kZXgiLCJpc1JlbGF0aXZlVG9TaWJsaW5nIiwidHlwZVRlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQWVnQkEsVSxHQUFBQSxVOzs7OztBQUtBQyxTLEdBQUFBLFM7Ozs7Ozs7QUFPQUMsZ0IsR0FBQUEsZ0I7Ozs7Ozs7QUFPQUMsb0IsR0FBQUEsb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQUMsUSxHQUFBQSxROzs7OztBQUtBQyxZLEdBQUFBLFk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkFDLGMsR0FBQUEsYzs7OztBQUlRQyxpQixDQTNHeEIsNEJBQ0EsOEMsMkRBRUEsc0QsaURBQ0EsNEMsNkZBRUEsU0FBU0MsVUFBVCxDQUFvQkMsSUFBcEIsRUFBMEIsQ0FDeEIsSUFBSUwsU0FBU0ssSUFBVCxDQUFKLEVBQW9CLG1CQUNHQSxLQUFLQyxLQUFMLENBQVcsR0FBWCxDQURILHFEQUNYQyxLQURXLG1CQUNKQyxHQURJLG1CQUVsQixPQUFRLEdBQUVELEtBQU0sSUFBR0MsR0FBSSxFQUF2QixDQUNELENBSnVCLG1CQUtWSCxLQUFLQyxLQUFMLENBQVcsR0FBWCxDQUxVLHNEQUtqQkUsR0FMaUIsbUJBTXhCLE9BQU9BLEdBQVAsQ0FDRCxDQUVNLFNBQVNaLFVBQVQsQ0FBb0JTLElBQXBCLEVBQTBCLENBQy9CLE9BQU8sc0JBQWVBLElBQWYsQ0FBUCxDQUNELEMsQ0FFRDtBQUNPLFNBQVNSLFNBQVQsQ0FBbUJRLElBQW5CLEVBQXlCSSxRQUF6QixFQUFtQ0MsSUFBbkMsRUFBeUMsQ0FDOUMsSUFBSUEsUUFBUSxDQUFDTCxJQUFiLEVBQW1CLE9BQU8sS0FBUCxDQUNuQixNQUFNTSxPQUFPUCxXQUFXQyxJQUFYLENBQWIsQ0FDQSxNQUFNTyxTQUFVSCxZQUFZQSxTQUFTLHFCQUFULENBQWIsSUFBaUQsRUFBaEUsQ0FDQSxPQUFPLDRCQUFhRSxJQUFiLEtBQXNCQyxPQUFPQyxPQUFQLENBQWVGLElBQWYsSUFBdUIsQ0FBQyxDQUFyRCxDQUNELENBRU0sU0FBU2IsZ0JBQVQsQ0FBMEJPLElBQTFCLEVBQWdDSSxRQUFoQyxFQUEwQ0MsSUFBMUMsRUFBZ0RJLE9BQWhELEVBQXlELENBQzlELElBQUlDLFVBQVVDLE1BQVYsR0FBbUIsQ0FBdkIsRUFBMEIsQ0FDeEIsTUFBTSxJQUFJQyxTQUFKLENBQWMsc0VBQWQsQ0FBTixDQUNELENBQ0QsT0FBT0MsU0FBU2IsSUFBVCxLQUFrQmMsZUFBZWQsSUFBZixFQUFxQkksUUFBckIsRUFBK0JDLElBQS9CLEVBQXFDLHdDQUFzQkksT0FBdEIsQ0FBckMsQ0FBekIsQ0FDRCxDQUVNLFNBQVNmLG9CQUFULENBQThCTSxJQUE5QixFQUFvQ0ksUUFBcEMsRUFBOENDLElBQTlDLEVBQW9ESSxPQUFwRCxFQUE2RCxDQUNsRSxPQUFPTSxhQUFhZixJQUFiLEtBQXNCYyxlQUFlZCxJQUFmLEVBQXFCSSxRQUFyQixFQUErQkMsSUFBL0IsRUFBcUMsd0NBQXNCSSxPQUF0QixDQUFyQyxDQUE3QixDQUNELENBRUQsU0FBU0ssY0FBVCxDQUF3QmQsSUFBeEIsRUFBOEJJLFFBQTlCLEVBQXdDQyxJQUF4QyxFQUE4Q1csV0FBOUMsRUFBMkQsQ0FDekQsTUFBTUMsZ0JBQWlCYixZQUFZQSxTQUFTLHVCQUFULENBQW5DLENBQ0EsSUFBSWEsaUJBQWlCLElBQUlDLE1BQUosQ0FBV0QsYUFBWCxFQUEwQkUsSUFBMUIsQ0FBK0JuQixJQUEvQixDQUFyQixFQUEyRCxDQUN6RCxPQUFPLEtBQVAsQ0FDRCxDQUVELElBQUksQ0FBQ0ssSUFBRCxJQUFTLG9CQUFTVyxXQUFULEVBQXNCWCxJQUF0QixFQUE0QmUsVUFBNUIsQ0FBdUMsSUFBdkMsQ0FBYixFQUEyRCxDQUN6RCxPQUFPLElBQVAsQ0FDRCxDQUVELE1BQU1DLFVBQVdqQixZQUFZQSxTQUFTLGdDQUFULENBQWIsSUFBNEQsQ0FBQyxjQUFELENBQTVFLENBQ0EsT0FBT2lCLFFBQVFDLElBQVIsQ0FBY0MsTUFBRCxJQUFZLENBQzlCLE1BQU1DLGFBQWEsbUJBQVlSLFdBQVosRUFBeUJPLE1BQXpCLENBQW5CLENBQ0EsTUFBTUUsZUFBZSxvQkFBU0QsVUFBVCxFQUFxQm5CLElBQXJCLENBQXJCLENBQ0EsT0FBTyxDQUFDb0IsYUFBYUwsVUFBYixDQUF3QixJQUF4QixDQUFSLENBQ0QsQ0FKTSxDQUFQLENBS0QsQ0FFRCxNQUFNTSxlQUFlLEtBQXJCLENBQ0EsU0FBU2IsUUFBVCxDQUFrQmIsSUFBbEIsRUFBd0IsQ0FDdEIsT0FBT0EsUUFBUTBCLGFBQWFQLElBQWIsQ0FBa0JuQixJQUFsQixDQUFmLENBQ0QsQ0FFRCxNQUFNMkIsbUJBQW1CLGtCQUF6QixDQUNBLFNBQVNaLFlBQVQsQ0FBc0JmLElBQXRCLEVBQTRCLENBQzFCLE9BQU9BLFFBQVEyQixpQkFBaUJSLElBQWpCLENBQXNCbkIsSUFBdEIsQ0FBZixDQUNELENBRUQsTUFBTTRCLGVBQWUsaUJBQXJCLENBQ08sU0FBU2pDLFFBQVQsQ0FBa0JLLElBQWxCLEVBQXdCLENBQzdCLE9BQU9BLFFBQVE0QixhQUFhVCxJQUFiLENBQWtCbkIsSUFBbEIsQ0FBZixDQUNELENBRUQsTUFBTTZCLG1CQUFtQixrQkFBekIsQ0FDTyxTQUFTakMsWUFBVCxDQUFzQkksSUFBdEIsRUFBNEIsQ0FDakMsT0FBT0EsUUFBUTZCLGlCQUFpQlYsSUFBakIsQ0FBc0JuQixJQUF0QixDQUFmLENBQ0QsQ0FFRCxTQUFTOEIsa0JBQVQsQ0FBNEI5QixJQUE1QixFQUFrQyxDQUNoQyxPQUFNLHFCQUFvQm1CLElBQXBCLENBQXlCbkIsSUFBekIsQ0FBTixFQUNELENBRUQsTUFBTStCLGFBQWEsQ0FBQyxHQUFELEVBQU0sSUFBTixFQUFZLFNBQVosRUFBdUIsWUFBdkIsQ0FBbkIsQ0FDQSxTQUFTQyxPQUFULENBQWlCaEMsSUFBakIsRUFBdUIsQ0FDckIsT0FBTytCLFdBQVd2QixPQUFYLENBQW1CUixJQUFuQixNQUE2QixDQUFDLENBQXJDLENBQ0QsQ0FFRCxTQUFTaUMsbUJBQVQsQ0FBNkJqQyxJQUE3QixFQUFtQyxDQUNqQyxPQUFPLFlBQVdtQixJQUFYLENBQWdCbkIsSUFBaEIsQ0FBUCxFQUNELENBRUQsU0FBU2tDLFFBQVQsQ0FBa0JsQyxJQUFsQixFQUF3QlMsT0FBeEIsRUFBaUNKLElBQWpDLEVBQXVDLE9BQzdCRCxRQUQ2QixHQUNoQkssT0FEZ0IsQ0FDN0JMLFFBRDZCLENBRXJDLElBQUliLFdBQVdTLElBQVgsRUFBaUJJLFFBQWpCLEVBQTJCQyxJQUEzQixDQUFKLEVBQXNDLENBQUUsT0FBTyxVQUFQLENBQW9CLENBQzVELElBQUliLFVBQVVRLElBQVYsRUFBZ0JJLFFBQWhCLEVBQTBCQyxJQUExQixDQUFKLEVBQXFDLENBQUUsT0FBTyxTQUFQLENBQW1CLENBQzFELElBQUlRLFNBQVNiLElBQVQsRUFBZUksUUFBZixFQUF5QkMsSUFBekIsS0FBa0NWLFNBQVNLLElBQVQsRUFBZUksUUFBZixFQUF5QkMsSUFBekIsQ0FBdEMsRUFBc0UsQ0FDcEUsTUFBTVcsY0FBYyx3Q0FBc0JQLE9BQXRCLENBQXBCLENBQ0EsT0FBT0ssZUFBZWQsSUFBZixFQUFxQkksUUFBckIsRUFBK0JDLElBQS9CLEVBQXFDVyxXQUFyQyxJQUFvRCxVQUFwRCxHQUFpRSxVQUF4RSxDQUNELENBQ0QsSUFBSWMsbUJBQW1COUIsSUFBbkIsRUFBeUJJLFFBQXpCLEVBQW1DQyxJQUFuQyxDQUFKLEVBQThDLENBQUUsT0FBTyxRQUFQLENBQWtCLENBQ2xFLElBQUkyQixRQUFRaEMsSUFBUixFQUFjSSxRQUFkLEVBQXdCQyxJQUF4QixDQUFKLEVBQW1DLENBQUUsT0FBTyxPQUFQLENBQWlCLENBQ3RELElBQUk0QixvQkFBb0JqQyxJQUFwQixFQUEwQkksUUFBMUIsRUFBb0NDLElBQXBDLENBQUosRUFBK0MsQ0FBRSxPQUFPLFNBQVAsQ0FBbUIsQ0FDcEUsT0FBTyxTQUFQLENBQ0QsQ0FFTSxTQUFTUixjQUFULENBQXdCRyxJQUF4QixFQUE4QixDQUNuQyxPQUFPQSxLQUFLUSxPQUFMLENBQWEsR0FBYixNQUFzQixDQUF0QixJQUEyQixDQUFDUixLQUFLb0IsVUFBTCxDQUFnQixJQUFoQixDQUFuQyxDQUNELENBRWMsU0FBU3RCLGlCQUFULENBQTJCRSxJQUEzQixFQUFpQ1MsT0FBakMsRUFBMEMsQ0FDdkQsT0FBT3lCLFNBQVNsQyxJQUFULEVBQWVTLE9BQWYsRUFBd0IsdUJBQVFULElBQVIsRUFBY1MsT0FBZCxDQUF4QixDQUFQO0FBQ0QiLCJmaWxlIjoiaW1wb3J0VHlwZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQWJzb2x1dGUgYXMgbm9kZUlzQWJzb2x1dGUsIHJlbGF0aXZlLCByZXNvbHZlIGFzIG5vZGVSZXNvbHZlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgaXNDb3JlTW9kdWxlIGZyb20gJ2lzLWNvcmUtbW9kdWxlJztcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJztcbmltcG9ydCB7IGdldENvbnRleHRQYWNrYWdlUGF0aCB9IGZyb20gJy4vcGFja2FnZVBhdGgnO1xuXG5mdW5jdGlvbiBiYXNlTW9kdWxlKG5hbWUpIHtcbiAgaWYgKGlzU2NvcGVkKG5hbWUpKSB7XG4gICAgY29uc3QgW3Njb3BlLCBwa2ddID0gbmFtZS5zcGxpdCgnLycpO1xuICAgIHJldHVybiBgJHtzY29wZX0vJHtwa2d9YDtcbiAgfVxuICBjb25zdCBbcGtnXSA9IG5hbWUuc3BsaXQoJy8nKTtcbiAgcmV0dXJuIHBrZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzb2x1dGUobmFtZSkge1xuICByZXR1cm4gbm9kZUlzQWJzb2x1dGUobmFtZSk7XG59XG5cbi8vIHBhdGggaXMgZGVmaW5lZCBvbmx5IHdoZW4gYSByZXNvbHZlciByZXNvbHZlcyB0byBhIG5vbi1zdGFuZGFyZCBwYXRoXG5leHBvcnQgZnVuY3Rpb24gaXNCdWlsdEluKG5hbWUsIHNldHRpbmdzLCBwYXRoKSB7XG4gIGlmIChwYXRoIHx8ICFuYW1lKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IGJhc2UgPSBiYXNlTW9kdWxlKG5hbWUpO1xuICBjb25zdCBleHRyYXMgPSAoc2V0dGluZ3MgJiYgc2V0dGluZ3NbJ2ltcG9ydC9jb3JlLW1vZHVsZXMnXSkgfHwgW107XG4gIHJldHVybiBpc0NvcmVNb2R1bGUoYmFzZSkgfHwgZXh0cmFzLmluZGV4T2YoYmFzZSkgPiAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXh0ZXJuYWxNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgsIGNvbnRleHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCA0KSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaXNFeHRlcm5hbE1vZHVsZTogbmFtZSwgc2V0dGluZ3MsIHBhdGgsIGFuZCBjb250ZXh0IGFyZSBhbGwgcmVxdWlyZWQnKTtcbiAgfVxuICByZXR1cm4gaXNNb2R1bGUobmFtZSkgJiYgaXNFeHRlcm5hbFBhdGgobmFtZSwgc2V0dGluZ3MsIHBhdGgsIGdldENvbnRleHRQYWNrYWdlUGF0aChjb250ZXh0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4dGVybmFsTW9kdWxlTWFpbihuYW1lLCBzZXR0aW5ncywgcGF0aCwgY29udGV4dCkge1xuICByZXR1cm4gaXNNb2R1bGVNYWluKG5hbWUpICYmIGlzRXh0ZXJuYWxQYXRoKG5hbWUsIHNldHRpbmdzLCBwYXRoLCBnZXRDb250ZXh0UGFja2FnZVBhdGgoY29udGV4dCkpO1xufVxuXG5mdW5jdGlvbiBpc0V4dGVybmFsUGF0aChuYW1lLCBzZXR0aW5ncywgcGF0aCwgcGFja2FnZVBhdGgpIHtcbiAgY29uc3QgaW50ZXJuYWxTY29wZSA9IChzZXR0aW5ncyAmJiBzZXR0aW5nc1snaW1wb3J0L2ludGVybmFsLXJlZ2V4J10pO1xuICBpZiAoaW50ZXJuYWxTY29wZSAmJiBuZXcgUmVnRXhwKGludGVybmFsU2NvcGUpLnRlc3QobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIXBhdGggfHwgcmVsYXRpdmUocGFja2FnZVBhdGgsIHBhdGgpLnN0YXJ0c1dpdGgoJy4uJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlcnMgPSAoc2V0dGluZ3MgJiYgc2V0dGluZ3NbJ2ltcG9ydC9leHRlcm5hbC1tb2R1bGUtZm9sZGVycyddKSB8fCBbJ25vZGVfbW9kdWxlcyddO1xuICByZXR1cm4gZm9sZGVycy5zb21lKChmb2xkZXIpID0+IHtcbiAgICBjb25zdCBmb2xkZXJQYXRoID0gbm9kZVJlc29sdmUocGFja2FnZVBhdGgsIGZvbGRlcik7XG4gICAgY29uc3QgcmVsYXRpdmVQYXRoID0gcmVsYXRpdmUoZm9sZGVyUGF0aCwgcGF0aCk7XG4gICAgcmV0dXJuICFyZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLi4nKTtcbiAgfSk7XG59XG5cbmNvbnN0IG1vZHVsZVJlZ0V4cCA9IC9eXFx3LztcbmZ1bmN0aW9uIGlzTW9kdWxlKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUgJiYgbW9kdWxlUmVnRXhwLnRlc3QobmFtZSk7XG59XG5cbmNvbnN0IG1vZHVsZU1haW5SZWdFeHAgPSAvXltcXHddKCg/IVxcLykuKSokLztcbmZ1bmN0aW9uIGlzTW9kdWxlTWFpbihuYW1lKSB7XG4gIHJldHVybiBuYW1lICYmIG1vZHVsZU1haW5SZWdFeHAudGVzdChuYW1lKTtcbn1cblxuY29uc3Qgc2NvcGVkUmVnRXhwID0gL15AW14vXSpcXC8/W14vXSsvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NvcGVkKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUgJiYgc2NvcGVkUmVnRXhwLnRlc3QobmFtZSk7XG59XG5cbmNvbnN0IHNjb3BlZE1haW5SZWdFeHAgPSAvXkBbXi9dK1xcLz9bXi9dKyQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NvcGVkTWFpbihuYW1lKSB7XG4gIHJldHVybiBuYW1lICYmIHNjb3BlZE1haW5SZWdFeHAudGVzdChuYW1lKTtcbn1cblxuZnVuY3Rpb24gaXNSZWxhdGl2ZVRvUGFyZW50KG5hbWUpIHtcbiAgcmV0dXJuL15cXC5cXC4kfF5cXC5cXC5bXFxcXC9dLy50ZXN0KG5hbWUpO1xufVxuXG5jb25zdCBpbmRleEZpbGVzID0gWycuJywgJy4vJywgJy4vaW5kZXgnLCAnLi9pbmRleC5qcyddO1xuZnVuY3Rpb24gaXNJbmRleChuYW1lKSB7XG4gIHJldHVybiBpbmRleEZpbGVzLmluZGV4T2YobmFtZSkgIT09IC0xO1xufVxuXG5mdW5jdGlvbiBpc1JlbGF0aXZlVG9TaWJsaW5nKG5hbWUpIHtcbiAgcmV0dXJuIC9eXFwuW1xcXFwvXS8udGVzdChuYW1lKTtcbn1cblxuZnVuY3Rpb24gdHlwZVRlc3QobmFtZSwgY29udGV4dCwgcGF0aCkge1xuICBjb25zdCB7IHNldHRpbmdzIH0gPSBjb250ZXh0O1xuICBpZiAoaXNBYnNvbHV0ZShuYW1lLCBzZXR0aW5ncywgcGF0aCkpIHsgcmV0dXJuICdhYnNvbHV0ZSc7IH1cbiAgaWYgKGlzQnVpbHRJbihuYW1lLCBzZXR0aW5ncywgcGF0aCkpIHsgcmV0dXJuICdidWlsdGluJzsgfVxuICBpZiAoaXNNb2R1bGUobmFtZSwgc2V0dGluZ3MsIHBhdGgpIHx8IGlzU2NvcGVkKG5hbWUsIHNldHRpbmdzLCBwYXRoKSkge1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gZ2V0Q29udGV4dFBhY2thZ2VQYXRoKGNvbnRleHQpO1xuICAgIHJldHVybiBpc0V4dGVybmFsUGF0aChuYW1lLCBzZXR0aW5ncywgcGF0aCwgcGFja2FnZVBhdGgpID8gJ2V4dGVybmFsJyA6ICdpbnRlcm5hbCc7XG4gIH1cbiAgaWYgKGlzUmVsYXRpdmVUb1BhcmVudChuYW1lLCBzZXR0aW5ncywgcGF0aCkpIHsgcmV0dXJuICdwYXJlbnQnOyB9XG4gIGlmIChpc0luZGV4KG5hbWUsIHNldHRpbmdzLCBwYXRoKSkgeyByZXR1cm4gJ2luZGV4JzsgfVxuICBpZiAoaXNSZWxhdGl2ZVRvU2libGluZyhuYW1lLCBzZXR0aW5ncywgcGF0aCkpIHsgcmV0dXJuICdzaWJsaW5nJzsgfVxuICByZXR1cm4gJ3Vua25vd24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTY29wZWRNb2R1bGUobmFtZSkge1xuICByZXR1cm4gbmFtZS5pbmRleE9mKCdAJykgPT09IDAgJiYgIW5hbWUuc3RhcnRzV2l0aCgnQC8nKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb2x2ZUltcG9ydFR5cGUobmFtZSwgY29udGV4dCkge1xuICByZXR1cm4gdHlwZVRlc3QobmFtZSwgY29udGV4dCwgcmVzb2x2ZShuYW1lLCBjb250ZXh0KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/core/packagePath.js b/node_modules/eslint-plugin-import/lib/core/packagePath.js new file mode 100644 index 000000000..f7ddd711a --- /dev/null +++ b/node_modules/eslint-plugin-import/lib/core/packagePath.js @@ -0,0 +1,19 @@ +'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports. + + + + +getContextPackagePath = getContextPackagePath;exports. + + + +getFilePackagePath = getFilePackagePath;exports. + + + + +getFilePackageName = getFilePackageName;var _path = require('path');var _findUp = require('find-up');var _findUp2 = _interopRequireDefault(_findUp);var _readPkgUp = require('read-pkg-up');var _readPkgUp2 = _interopRequireDefault(_readPkgUp);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function getContextPackagePath(context) {return getFilePackagePath(context.getFilename());}function getFilePackagePath(filePath) {const fp = _findUp2.default.sync('package.json', { cwd: filePath });return (0, _path.dirname)(fp);}function getFilePackageName(filePath) {var _readPkgUp$sync = + _readPkgUp2.default.sync({ cwd: filePath, normalize: false });const pkg = _readPkgUp$sync.pkg; + return pkg && pkg.name; +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3BhY2thZ2VQYXRoLmpzIl0sIm5hbWVzIjpbImdldENvbnRleHRQYWNrYWdlUGF0aCIsImdldEZpbGVQYWNrYWdlUGF0aCIsImdldEZpbGVQYWNrYWdlTmFtZSIsImNvbnRleHQiLCJnZXRGaWxlbmFtZSIsImZpbGVQYXRoIiwiZnAiLCJmaW5kVXAiLCJzeW5jIiwiY3dkIiwicmVhZFBrZ1VwIiwibm9ybWFsaXplIiwicGtnIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLZ0JBLHFCLEdBQUFBLHFCOzs7O0FBSUFDLGtCLEdBQUFBLGtCOzs7OztBQUtBQyxrQixHQUFBQSxrQixDQWRoQiw0QkFDQSxpQywrQ0FDQSx3QyxrSkFHTyxTQUFTRixxQkFBVCxDQUErQkcsT0FBL0IsRUFBd0MsQ0FDN0MsT0FBT0YsbUJBQW1CRSxRQUFRQyxXQUFSLEVBQW5CLENBQVAsQ0FDRCxDQUVNLFNBQVNILGtCQUFULENBQTRCSSxRQUE1QixFQUFzQyxDQUMzQyxNQUFNQyxLQUFLQyxpQkFBT0MsSUFBUCxDQUFZLGNBQVosRUFBNEIsRUFBRUMsS0FBS0osUUFBUCxFQUE1QixDQUFYLENBQ0EsT0FBTyxtQkFBUUMsRUFBUixDQUFQLENBQ0QsQ0FFTSxTQUFTSixrQkFBVCxDQUE0QkcsUUFBNUIsRUFBc0M7QUFDM0JLLHNCQUFVRixJQUFWLENBQWUsRUFBRUMsS0FBS0osUUFBUCxFQUFpQk0sV0FBVyxLQUE1QixFQUFmLENBRDJCLE9BQ25DQyxHQURtQyxtQkFDbkNBLEdBRG1DO0FBRTNDLFNBQU9BLE9BQU9BLElBQUlDLElBQWxCO0FBQ0QiLCJmaWxlIjoicGFja2FnZVBhdGguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgZmluZFVwIGZyb20gJ2ZpbmQtdXAnO1xuaW1wb3J0IHJlYWRQa2dVcCBmcm9tICdyZWFkLXBrZy11cCc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRleHRQYWNrYWdlUGF0aChjb250ZXh0KSB7XG4gIHJldHVybiBnZXRGaWxlUGFja2FnZVBhdGgoY29udGV4dC5nZXRGaWxlbmFtZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYWNrYWdlUGF0aChmaWxlUGF0aCkge1xuICBjb25zdCBmcCA9IGZpbmRVcC5zeW5jKCdwYWNrYWdlLmpzb24nLCB7IGN3ZDogZmlsZVBhdGggfSk7XG4gIHJldHVybiBkaXJuYW1lKGZwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYWNrYWdlTmFtZShmaWxlUGF0aCkge1xuICBjb25zdCB7IHBrZyB9ID0gcmVhZFBrZ1VwLnN5bmMoeyBjd2Q6IGZpbGVQYXRoLCBub3JtYWxpemU6IGZhbHNlIH0pO1xuICByZXR1cm4gcGtnICYmIHBrZy5uYW1lO1xufVxuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/core/staticRequire.js b/node_modules/eslint-plugin-import/lib/core/staticRequire.js index 507dce556..9b998b3ac 100644 --- a/node_modules/eslint-plugin-import/lib/core/staticRequire.js +++ b/node_modules/eslint-plugin-import/lib/core/staticRequire.js @@ -8,4 +8,4 @@ function isStaticRequire(node) {return node && node.arguments[0].type === 'Literal' && typeof node.arguments[0].value === 'string'; } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3N0YXRpY1JlcXVpcmUuanMiXSwibmFtZXMiOlsiaXNTdGF0aWNSZXF1aXJlIiwibm9kZSIsImNhbGxlZSIsInR5cGUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7QUFDd0JBLGUsRUFEeEI7QUFDZSxTQUFTQSxlQUFULENBQXlCQyxJQUF6QixFQUErQixDQUM1QyxPQUFPQTtBQUNMQSxPQUFLQyxNQURBO0FBRUxELE9BQUtDLE1BQUwsQ0FBWUMsSUFBWixLQUFxQixZQUZoQjtBQUdMRixPQUFLQyxNQUFMLENBQVlFLElBQVosS0FBcUIsU0FIaEI7QUFJTEgsT0FBS0ksU0FBTCxDQUFlQyxNQUFmLEtBQTBCLENBSnJCO0FBS0xMLE9BQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRixJQUFsQixLQUEyQixTQUx0QjtBQU1MLFNBQU9GLEtBQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRSxLQUF6QixLQUFtQyxRQU5yQztBQU9EIiwiZmlsZSI6InN0YXRpY1JlcXVpcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0b2RvOiBtZXJnZSB3aXRoIG1vZHVsZSB2aXNpdG9yXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1N0YXRpY1JlcXVpcmUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJlxuICAgIG5vZGUuY2FsbGVlICYmXG4gICAgbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInICYmXG4gICAgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ3JlcXVpcmUnICYmXG4gICAgbm9kZS5hcmd1bWVudHMubGVuZ3RoID09PSAxICYmXG4gICAgbm9kZS5hcmd1bWVudHNbMF0udHlwZSA9PT0gJ0xpdGVyYWwnICYmXG4gICAgdHlwZW9mIG5vZGUuYXJndW1lbnRzWzBdLnZhbHVlID09PSAnc3RyaW5nJ1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3N0YXRpY1JlcXVpcmUuanMiXSwibmFtZXMiOlsiaXNTdGF0aWNSZXF1aXJlIiwibm9kZSIsImNhbGxlZSIsInR5cGUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7QUFDd0JBLGUsRUFEeEI7QUFDZSxTQUFTQSxlQUFULENBQXlCQyxJQUF6QixFQUErQixDQUM1QyxPQUFPQTtBQUNMQSxPQUFLQyxNQURBO0FBRUxELE9BQUtDLE1BQUwsQ0FBWUMsSUFBWixLQUFxQixZQUZoQjtBQUdMRixPQUFLQyxNQUFMLENBQVlFLElBQVosS0FBcUIsU0FIaEI7QUFJTEgsT0FBS0ksU0FBTCxDQUFlQyxNQUFmLEtBQTBCLENBSnJCO0FBS0xMLE9BQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRixJQUFsQixLQUEyQixTQUx0QjtBQU1MLFNBQU9GLEtBQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRSxLQUF6QixLQUFtQyxRQU5yQztBQU9EIiwiZmlsZSI6InN0YXRpY1JlcXVpcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0b2RvOiBtZXJnZSB3aXRoIG1vZHVsZSB2aXNpdG9yXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1N0YXRpY1JlcXVpcmUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJlxuICAgIG5vZGUuY2FsbGVlICYmXG4gICAgbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInICYmXG4gICAgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ3JlcXVpcmUnICYmXG4gICAgbm9kZS5hcmd1bWVudHMubGVuZ3RoID09PSAxICYmXG4gICAgbm9kZS5hcmd1bWVudHNbMF0udHlwZSA9PT0gJ0xpdGVyYWwnICYmXG4gICAgdHlwZW9mIG5vZGUuYXJndW1lbnRzWzBdLnZhbHVlID09PSAnc3RyaW5nJztcbn1cbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/docsUrl.js b/node_modules/eslint-plugin-import/lib/docsUrl.js index d8aae5fc6..58cf00d42 100644 --- a/node_modules/eslint-plugin-import/lib/docsUrl.js +++ b/node_modules/eslint-plugin-import/lib/docsUrl.js @@ -5,4 +5,4 @@ docsUrl;var _package = require('../package.json');var _package2 = _interopRequireDefault(_package);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}const repoUrl = 'https://github.com/benmosher/eslint-plugin-import';function docsUrl(ruleName) {let commitish = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : `v${_package2.default.version}`; return `${repoUrl}/blob/${commitish}/docs/rules/${ruleName}.md`; } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2NzVXJsLmpzIl0sIm5hbWVzIjpbImRvY3NVcmwiLCJyZXBvVXJsIiwicnVsZU5hbWUiLCJjb21taXRpc2giLCJwa2ciLCJ2ZXJzaW9uIl0sIm1hcHBpbmdzIjoiOzs7O0FBSXdCQSxPLENBSnhCLDBDLDhJQUVBLE1BQU1DLFVBQVUsbURBQWhCLENBRWUsU0FBU0QsT0FBVCxDQUFpQkUsUUFBakIsRUFBMEQsS0FBL0JDLFNBQStCLHVFQUFsQixJQUFHQyxrQkFBSUMsT0FBUSxFQUFHO0FBQ3ZFLFNBQVEsR0FBRUosT0FBUSxTQUFRRSxTQUFVLGVBQWNELFFBQVMsS0FBM0Q7QUFDRCIsImZpbGUiOiJkb2NzVXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBrZyBmcm9tICcuLi9wYWNrYWdlLmpzb24nXG5cbmNvbnN0IHJlcG9VcmwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2Jlbm1vc2hlci9lc2xpbnQtcGx1Z2luLWltcG9ydCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZG9jc1VybChydWxlTmFtZSwgY29tbWl0aXNoID0gYHYke3BrZy52ZXJzaW9ufWApIHtcbiAgcmV0dXJuIGAke3JlcG9Vcmx9L2Jsb2IvJHtjb21taXRpc2h9L2RvY3MvcnVsZXMvJHtydWxlTmFtZX0ubWRgXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2NzVXJsLmpzIl0sIm5hbWVzIjpbImRvY3NVcmwiLCJyZXBvVXJsIiwicnVsZU5hbWUiLCJjb21taXRpc2giLCJwa2ciLCJ2ZXJzaW9uIl0sIm1hcHBpbmdzIjoiOzs7O0FBSXdCQSxPLENBSnhCLDBDLDhJQUVBLE1BQU1DLFVBQVUsbURBQWhCLENBRWUsU0FBU0QsT0FBVCxDQUFpQkUsUUFBakIsRUFBMEQsS0FBL0JDLFNBQStCLHVFQUFsQixJQUFHQyxrQkFBSUMsT0FBUSxFQUFHO0FBQ3ZFLFNBQVEsR0FBRUosT0FBUSxTQUFRRSxTQUFVLGVBQWNELFFBQVMsS0FBM0Q7QUFDRCIsImZpbGUiOiJkb2NzVXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBrZyBmcm9tICcuLi9wYWNrYWdlLmpzb24nO1xuXG5jb25zdCByZXBvVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9iZW5tb3NoZXIvZXNsaW50LXBsdWdpbi1pbXBvcnQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkb2NzVXJsKHJ1bGVOYW1lLCBjb21taXRpc2ggPSBgdiR7cGtnLnZlcnNpb259YCkge1xuICByZXR1cm4gYCR7cmVwb1VybH0vYmxvYi8ke2NvbW1pdGlzaH0vZG9jcy9ydWxlcy8ke3J1bGVOYW1lfS5tZGA7XG59XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/importDeclaration.js b/node_modules/eslint-plugin-import/lib/importDeclaration.js index eefe50cc2..091b61c95 100644 --- a/node_modules/eslint-plugin-import/lib/importDeclaration.js +++ b/node_modules/eslint-plugin-import/lib/importDeclaration.js @@ -1,5 +1,5 @@ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = importDeclaration;function importDeclaration(context) { - var ancestors = context.getAncestors(); + const ancestors = context.getAncestors(); return ancestors[ancestors.length - 1]; } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnREZWNsYXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJpbXBvcnREZWNsYXJhdGlvbiIsImNvbnRleHQiLCJhbmNlc3RvcnMiLCJnZXRBbmNlc3RvcnMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI2RkFBd0JBLGlCLENBQVQsU0FBU0EsaUJBQVQsQ0FBMkJDLE9BQTNCLEVBQW9DO0FBQ2pELE1BQUlDLFlBQVlELFFBQVFFLFlBQVIsRUFBaEI7QUFDQSxTQUFPRCxVQUFVQSxVQUFVRSxNQUFWLEdBQW1CLENBQTdCLENBQVA7QUFDRCIsImZpbGUiOiJpbXBvcnREZWNsYXJhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGltcG9ydERlY2xhcmF0aW9uKGNvbnRleHQpIHtcbiAgdmFyIGFuY2VzdG9ycyA9IGNvbnRleHQuZ2V0QW5jZXN0b3JzKClcbiAgcmV0dXJuIGFuY2VzdG9yc1thbmNlc3RvcnMubGVuZ3RoIC0gMV1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnREZWNsYXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJpbXBvcnREZWNsYXJhdGlvbiIsImNvbnRleHQiLCJhbmNlc3RvcnMiLCJnZXRBbmNlc3RvcnMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI2RkFBd0JBLGlCLENBQVQsU0FBU0EsaUJBQVQsQ0FBMkJDLE9BQTNCLEVBQW9DO0FBQ2pELFFBQU1DLFlBQVlELFFBQVFFLFlBQVIsRUFBbEI7QUFDQSxTQUFPRCxVQUFVQSxVQUFVRSxNQUFWLEdBQW1CLENBQTdCLENBQVA7QUFDRCIsImZpbGUiOiJpbXBvcnREZWNsYXJhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGltcG9ydERlY2xhcmF0aW9uKGNvbnRleHQpIHtcbiAgY29uc3QgYW5jZXN0b3JzID0gY29udGV4dC5nZXRBbmNlc3RvcnMoKTtcbiAgcmV0dXJuIGFuY2VzdG9yc1thbmNlc3RvcnMubGVuZ3RoIC0gMV07XG59XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/index.js b/node_modules/eslint-plugin-import/lib/index.js index 6497f690f..564042abd 100644 --- a/node_modules/eslint-plugin-import/lib/index.js +++ b/node_modules/eslint-plugin-import/lib/index.js @@ -10,6 +10,7 @@ 'no-restricted-paths': require('./rules/no-restricted-paths'), 'no-internal-modules': require('./rules/no-internal-modules'), 'group-exports': require('./rules/group-exports'), + 'no-relative-packages': require('./rules/no-relative-packages'), 'no-relative-parent-imports': require('./rules/no-relative-parent-imports'), 'no-self-import': require('./rules/no-self-import'), @@ -39,6 +40,7 @@ 'no-unassigned-import': require('./rules/no-unassigned-import'), 'no-useless-path-segments': require('./rules/no-useless-path-segments'), 'dynamic-import-chunkname': require('./rules/dynamic-import-chunkname'), + 'no-import-module-exports': require('./rules/no-import-module-exports'), // export 'exports-last': require('./rules/exports-last'), @@ -64,4 +66,4 @@ const configs = exports.configs = { 'react-native': require('../config/react-native'), 'electron': require('../config/electron'), 'typescript': require('../config/typescript') }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJydWxlcyIsInJlcXVpcmUiLCJjb25maWdzIl0sIm1hcHBpbmdzIjoiMkVBQU8sTUFBTUEsd0JBQVE7QUFDbkIsbUJBQWlCQyxRQUFRLHVCQUFSLENBREU7QUFFbkIsV0FBU0EsUUFBUSxlQUFSLENBRlU7QUFHbkIsYUFBV0EsUUFBUSxpQkFBUixDQUhRO0FBSW5CLGVBQWFBLFFBQVEsbUJBQVIsQ0FKTTtBQUtuQixrQkFBZ0JBLFFBQVEsc0JBQVIsQ0FMRztBQU1uQixZQUFVQSxRQUFRLGdCQUFSLENBTlM7QUFPbkIsd0JBQXNCQSxRQUFRLDRCQUFSLENBUEg7QUFRbkIsZ0JBQWNBLFFBQVEsb0JBQVIsQ0FSSztBQVNuQix5QkFBdUJBLFFBQVEsNkJBQVIsQ0FUSjtBQVVuQix5QkFBdUJBLFFBQVEsNkJBQVIsQ0FWSjtBQVduQixtQkFBaUJBLFFBQVEsdUJBQVIsQ0FYRTtBQVluQixnQ0FBOEJBLFFBQVEsb0NBQVIsQ0FaWDs7QUFjbkIsb0JBQWtCQSxRQUFRLHdCQUFSLENBZEM7QUFlbkIsY0FBWUEsUUFBUSxrQkFBUixDQWZPO0FBZ0JuQixzQkFBb0JBLFFBQVEsMEJBQVIsQ0FoQkQ7QUFpQm5CLHlCQUF1QkEsUUFBUSw2QkFBUixDQWpCSjtBQWtCbkIsZ0NBQThCQSxRQUFRLG9DQUFSLENBbEJYO0FBbUJuQixpQ0FBK0JBLFFBQVEscUNBQVIsQ0FuQlo7QUFvQm5CLHVCQUFxQkEsUUFBUSwyQkFBUixDQXBCRjs7QUFzQm5CLGlCQUFlQSxRQUFRLHFCQUFSLENBdEJJO0FBdUJuQixZQUFVQSxRQUFRLGdCQUFSLENBdkJTO0FBd0JuQixtQkFBaUJBLFFBQVEsdUJBQVIsQ0F4QkU7QUF5Qm5CLFdBQVNBLFFBQVEsZUFBUixDQXpCVTtBQTBCbkIsc0JBQW9CQSxRQUFRLDBCQUFSLENBMUJEO0FBMkJuQixnQ0FBOEJBLFFBQVEsb0NBQVIsQ0EzQlg7QUE0Qm5CLHNCQUFvQkEsUUFBUSwwQkFBUixDQTVCRDtBQTZCbkIsdUJBQXFCQSxRQUFRLDJCQUFSLENBN0JGO0FBOEJuQiw4QkFBNEJBLFFBQVEsa0NBQVIsQ0E5QlQ7QUErQm5CLFdBQVNBLFFBQVEsZUFBUixDQS9CVTtBQWdDbkIsMEJBQXdCQSxRQUFRLDhCQUFSLENBaENMO0FBaUNuQiwyQkFBeUJBLFFBQVEsK0JBQVIsQ0FqQ047QUFrQ25CLHVCQUFxQkEsUUFBUSwyQkFBUixDQWxDRjtBQW1DbkIscUJBQW1CQSxRQUFRLHlCQUFSLENBbkNBO0FBb0NuQix3QkFBc0JBLFFBQVEsNEJBQVIsQ0FwQ0g7QUFxQ25CLGlCQUFlQSxRQUFRLHFCQUFSLENBckNJO0FBc0NuQiwwQkFBd0JBLFFBQVEsOEJBQVIsQ0F0Q0w7QUF1Q25CLDhCQUE0QkEsUUFBUSxrQ0FBUixDQXZDVDtBQXdDbkIsOEJBQTRCQSxRQUFRLGtDQUFSLENBeENUOztBQTBDbkI7QUFDQSxrQkFBZ0JBLFFBQVEsc0JBQVIsQ0EzQ0c7O0FBNkNuQjtBQUNBLG1CQUFpQkEsUUFBUSx1QkFBUixDQTlDRTs7QUFnRG5CO0FBQ0EsbUJBQWlCQSxRQUFRLHVCQUFSLENBakRFLEVBQWQ7OztBQW9EQSxNQUFNQyw0QkFBVTtBQUNyQixpQkFBZUQsUUFBUSx1QkFBUixDQURNOztBQUdyQixZQUFVQSxRQUFRLGtCQUFSLENBSFc7QUFJckIsY0FBWUEsUUFBUSxvQkFBUixDQUpTOztBQU1yQjtBQUNBLGFBQVdBLFFBQVEsbUJBQVIsQ0FQVTs7QUFTckI7QUFDQSxXQUFTQSxRQUFRLGlCQUFSLENBVlk7QUFXckIsa0JBQWdCQSxRQUFRLHdCQUFSLENBWEs7QUFZckIsY0FBWUEsUUFBUSxvQkFBUixDQVpTO0FBYXJCLGdCQUFjQSxRQUFRLHNCQUFSLENBYk8sRUFBaEIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcnVsZXMgPSB7XG4gICduby11bnJlc29sdmVkJzogcmVxdWlyZSgnLi9ydWxlcy9uby11bnJlc29sdmVkJyksXG4gICduYW1lZCc6IHJlcXVpcmUoJy4vcnVsZXMvbmFtZWQnKSxcbiAgJ2RlZmF1bHQnOiByZXF1aXJlKCcuL3J1bGVzL2RlZmF1bHQnKSxcbiAgJ25hbWVzcGFjZSc6IHJlcXVpcmUoJy4vcnVsZXMvbmFtZXNwYWNlJyksXG4gICduby1uYW1lc3BhY2UnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5hbWVzcGFjZScpLFxuICAnZXhwb3J0JzogcmVxdWlyZSgnLi9ydWxlcy9leHBvcnQnKSxcbiAgJ25vLW11dGFibGUtZXhwb3J0cyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tbXV0YWJsZS1leHBvcnRzJyksXG4gICdleHRlbnNpb25zJzogcmVxdWlyZSgnLi9ydWxlcy9leHRlbnNpb25zJyksXG4gICduby1yZXN0cmljdGVkLXBhdGhzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1yZXN0cmljdGVkLXBhdGhzJyksXG4gICduby1pbnRlcm5hbC1tb2R1bGVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1pbnRlcm5hbC1tb2R1bGVzJyksXG4gICdncm91cC1leHBvcnRzJzogcmVxdWlyZSgnLi9ydWxlcy9ncm91cC1leHBvcnRzJyksXG4gICduby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMnKSxcblxuICAnbm8tc2VsZi1pbXBvcnQnOiByZXF1aXJlKCcuL3J1bGVzL25vLXNlbGYtaW1wb3J0JyksXG4gICduby1jeWNsZSc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tY3ljbGUnKSxcbiAgJ25vLW5hbWVkLWRlZmF1bHQnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5hbWVkLWRlZmF1bHQnKSxcbiAgJ25vLW5hbWVkLWFzLWRlZmF1bHQnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5hbWVkLWFzLWRlZmF1bHQnKSxcbiAgJ25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyJzogcmVxdWlyZSgnLi9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlcicpLFxuICAnbm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0JzogcmVxdWlyZSgnLi9ydWxlcy9uby1hbm9ueW1vdXMtZGVmYXVsdC1leHBvcnQnKSxcbiAgJ25vLXVudXNlZC1tb2R1bGVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby11bnVzZWQtbW9kdWxlcycpLFxuXG4gICduby1jb21tb25qcyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tY29tbW9uanMnKSxcbiAgJ25vLWFtZCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tYW1kJyksXG4gICduby1kdXBsaWNhdGVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1kdXBsaWNhdGVzJyksXG4gICdmaXJzdCc6IHJlcXVpcmUoJy4vcnVsZXMvZmlyc3QnKSxcbiAgJ21heC1kZXBlbmRlbmNpZXMnOiByZXF1aXJlKCcuL3J1bGVzL21heC1kZXBlbmRlbmNpZXMnKSxcbiAgJ25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcycpLFxuICAnbm8tYWJzb2x1dGUtcGF0aCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tYWJzb2x1dGUtcGF0aCcpLFxuICAnbm8tbm9kZWpzLW1vZHVsZXMnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5vZGVqcy1tb2R1bGVzJyksXG4gICduby13ZWJwYWNrLWxvYWRlci1zeW50YXgnOiByZXF1aXJlKCcuL3J1bGVzL25vLXdlYnBhY2stbG9hZGVyLXN5bnRheCcpLFxuICAnb3JkZXInOiByZXF1aXJlKCcuL3J1bGVzL29yZGVyJyksXG4gICduZXdsaW5lLWFmdGVyLWltcG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbmV3bGluZS1hZnRlci1pbXBvcnQnKSxcbiAgJ3ByZWZlci1kZWZhdWx0LWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvcHJlZmVyLWRlZmF1bHQtZXhwb3J0JyksXG4gICduby1kZWZhdWx0LWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tZGVmYXVsdC1leHBvcnQnKSxcbiAgJ25vLW5hbWVkLWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tbmFtZWQtZXhwb3J0JyksXG4gICduby1keW5hbWljLXJlcXVpcmUnOiByZXF1aXJlKCcuL3J1bGVzL25vLWR5bmFtaWMtcmVxdWlyZScpLFxuICAndW5hbWJpZ3VvdXMnOiByZXF1aXJlKCcuL3J1bGVzL3VuYW1iaWd1b3VzJyksXG4gICduby11bmFzc2lnbmVkLWltcG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdW5hc3NpZ25lZC1pbXBvcnQnKSxcbiAgJ25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdXNlbGVzcy1wYXRoLXNlZ21lbnRzJyksXG4gICdkeW5hbWljLWltcG9ydC1jaHVua25hbWUnOiByZXF1aXJlKCcuL3J1bGVzL2R5bmFtaWMtaW1wb3J0LWNodW5rbmFtZScpLFxuXG4gIC8vIGV4cG9ydFxuICAnZXhwb3J0cy1sYXN0JzogcmVxdWlyZSgnLi9ydWxlcy9leHBvcnRzLWxhc3QnKSxcblxuICAvLyBtZXRhZGF0YS1iYXNlZFxuICAnbm8tZGVwcmVjYXRlZCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tZGVwcmVjYXRlZCcpLFxuXG4gIC8vIGRlcHJlY2F0ZWQgYWxpYXNlcyB0byBydWxlc1xuICAnaW1wb3J0cy1maXJzdCc6IHJlcXVpcmUoJy4vcnVsZXMvaW1wb3J0cy1maXJzdCcpLFxufVxuXG5leHBvcnQgY29uc3QgY29uZmlncyA9IHtcbiAgJ3JlY29tbWVuZGVkJzogcmVxdWlyZSgnLi4vY29uZmlnL3JlY29tbWVuZGVkJyksXG5cbiAgJ2Vycm9ycyc6IHJlcXVpcmUoJy4uL2NvbmZpZy9lcnJvcnMnKSxcbiAgJ3dhcm5pbmdzJzogcmVxdWlyZSgnLi4vY29uZmlnL3dhcm5pbmdzJyksXG5cbiAgLy8gc2hoaGguLi4gd29yayBpbiBwcm9ncmVzcyBcInNlY3JldFwiIHJ1bGVzXG4gICdzdGFnZS0wJzogcmVxdWlyZSgnLi4vY29uZmlnL3N0YWdlLTAnKSxcblxuICAvLyB1c2VmdWwgc3R1ZmYgZm9yIGZvbGtzIHVzaW5nIHZhcmlvdXMgZW52aXJvbm1lbnRzXG4gICdyZWFjdCc6IHJlcXVpcmUoJy4uL2NvbmZpZy9yZWFjdCcpLFxuICAncmVhY3QtbmF0aXZlJzogcmVxdWlyZSgnLi4vY29uZmlnL3JlYWN0LW5hdGl2ZScpLFxuICAnZWxlY3Ryb24nOiByZXF1aXJlKCcuLi9jb25maWcvZWxlY3Ryb24nKSxcbiAgJ3R5cGVzY3JpcHQnOiByZXF1aXJlKCcuLi9jb25maWcvdHlwZXNjcmlwdCcpLFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJydWxlcyIsInJlcXVpcmUiLCJjb25maWdzIl0sIm1hcHBpbmdzIjoiMkVBQU8sTUFBTUEsd0JBQVE7QUFDbkIsbUJBQWlCQyxRQUFRLHVCQUFSLENBREU7QUFFbkIsV0FBU0EsUUFBUSxlQUFSLENBRlU7QUFHbkIsYUFBV0EsUUFBUSxpQkFBUixDQUhRO0FBSW5CLGVBQWFBLFFBQVEsbUJBQVIsQ0FKTTtBQUtuQixrQkFBZ0JBLFFBQVEsc0JBQVIsQ0FMRztBQU1uQixZQUFVQSxRQUFRLGdCQUFSLENBTlM7QUFPbkIsd0JBQXNCQSxRQUFRLDRCQUFSLENBUEg7QUFRbkIsZ0JBQWNBLFFBQVEsb0JBQVIsQ0FSSztBQVNuQix5QkFBdUJBLFFBQVEsNkJBQVIsQ0FUSjtBQVVuQix5QkFBdUJBLFFBQVEsNkJBQVIsQ0FWSjtBQVduQixtQkFBaUJBLFFBQVEsdUJBQVIsQ0FYRTtBQVluQiwwQkFBd0JBLFFBQVEsOEJBQVIsQ0FaTDtBQWFuQixnQ0FBOEJBLFFBQVEsb0NBQVIsQ0FiWDs7QUFlbkIsb0JBQWtCQSxRQUFRLHdCQUFSLENBZkM7QUFnQm5CLGNBQVlBLFFBQVEsa0JBQVIsQ0FoQk87QUFpQm5CLHNCQUFvQkEsUUFBUSwwQkFBUixDQWpCRDtBQWtCbkIseUJBQXVCQSxRQUFRLDZCQUFSLENBbEJKO0FBbUJuQixnQ0FBOEJBLFFBQVEsb0NBQVIsQ0FuQlg7QUFvQm5CLGlDQUErQkEsUUFBUSxxQ0FBUixDQXBCWjtBQXFCbkIsdUJBQXFCQSxRQUFRLDJCQUFSLENBckJGOztBQXVCbkIsaUJBQWVBLFFBQVEscUJBQVIsQ0F2Qkk7QUF3Qm5CLFlBQVVBLFFBQVEsZ0JBQVIsQ0F4QlM7QUF5Qm5CLG1CQUFpQkEsUUFBUSx1QkFBUixDQXpCRTtBQTBCbkIsV0FBU0EsUUFBUSxlQUFSLENBMUJVO0FBMkJuQixzQkFBb0JBLFFBQVEsMEJBQVIsQ0EzQkQ7QUE0Qm5CLGdDQUE4QkEsUUFBUSxvQ0FBUixDQTVCWDtBQTZCbkIsc0JBQW9CQSxRQUFRLDBCQUFSLENBN0JEO0FBOEJuQix1QkFBcUJBLFFBQVEsMkJBQVIsQ0E5QkY7QUErQm5CLDhCQUE0QkEsUUFBUSxrQ0FBUixDQS9CVDtBQWdDbkIsV0FBU0EsUUFBUSxlQUFSLENBaENVO0FBaUNuQiwwQkFBd0JBLFFBQVEsOEJBQVIsQ0FqQ0w7QUFrQ25CLDJCQUF5QkEsUUFBUSwrQkFBUixDQWxDTjtBQW1DbkIsdUJBQXFCQSxRQUFRLDJCQUFSLENBbkNGO0FBb0NuQixxQkFBbUJBLFFBQVEseUJBQVIsQ0FwQ0E7QUFxQ25CLHdCQUFzQkEsUUFBUSw0QkFBUixDQXJDSDtBQXNDbkIsaUJBQWVBLFFBQVEscUJBQVIsQ0F0Q0k7QUF1Q25CLDBCQUF3QkEsUUFBUSw4QkFBUixDQXZDTDtBQXdDbkIsOEJBQTRCQSxRQUFRLGtDQUFSLENBeENUO0FBeUNuQiw4QkFBNEJBLFFBQVEsa0NBQVIsQ0F6Q1Q7QUEwQ25CLDhCQUE0QkEsUUFBUSxrQ0FBUixDQTFDVDs7QUE0Q25CO0FBQ0Esa0JBQWdCQSxRQUFRLHNCQUFSLENBN0NHOztBQStDbkI7QUFDQSxtQkFBaUJBLFFBQVEsdUJBQVIsQ0FoREU7O0FBa0RuQjtBQUNBLG1CQUFpQkEsUUFBUSx1QkFBUixDQW5ERSxFQUFkOzs7QUFzREEsTUFBTUMsNEJBQVU7QUFDckIsaUJBQWVELFFBQVEsdUJBQVIsQ0FETTs7QUFHckIsWUFBVUEsUUFBUSxrQkFBUixDQUhXO0FBSXJCLGNBQVlBLFFBQVEsb0JBQVIsQ0FKUzs7QUFNckI7QUFDQSxhQUFXQSxRQUFRLG1CQUFSLENBUFU7O0FBU3JCO0FBQ0EsV0FBU0EsUUFBUSxpQkFBUixDQVZZO0FBV3JCLGtCQUFnQkEsUUFBUSx3QkFBUixDQVhLO0FBWXJCLGNBQVlBLFFBQVEsb0JBQVIsQ0FaUztBQWFyQixnQkFBY0EsUUFBUSxzQkFBUixDQWJPLEVBQWhCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHJ1bGVzID0ge1xuICAnbm8tdW5yZXNvbHZlZCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdW5yZXNvbHZlZCcpLFxuICAnbmFtZWQnOiByZXF1aXJlKCcuL3J1bGVzL25hbWVkJyksXG4gICdkZWZhdWx0JzogcmVxdWlyZSgnLi9ydWxlcy9kZWZhdWx0JyksXG4gICduYW1lc3BhY2UnOiByZXF1aXJlKCcuL3J1bGVzL25hbWVzcGFjZScpLFxuICAnbm8tbmFtZXNwYWNlJzogcmVxdWlyZSgnLi9ydWxlcy9uby1uYW1lc3BhY2UnKSxcbiAgJ2V4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvZXhwb3J0JyksXG4gICduby1tdXRhYmxlLWV4cG9ydHMnOiByZXF1aXJlKCcuL3J1bGVzL25vLW11dGFibGUtZXhwb3J0cycpLFxuICAnZXh0ZW5zaW9ucyc6IHJlcXVpcmUoJy4vcnVsZXMvZXh0ZW5zaW9ucycpLFxuICAnbm8tcmVzdHJpY3RlZC1wYXRocyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tcmVzdHJpY3RlZC1wYXRocycpLFxuICAnbm8taW50ZXJuYWwtbW9kdWxlcyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8taW50ZXJuYWwtbW9kdWxlcycpLFxuICAnZ3JvdXAtZXhwb3J0cyc6IHJlcXVpcmUoJy4vcnVsZXMvZ3JvdXAtZXhwb3J0cycpLFxuICAnbm8tcmVsYXRpdmUtcGFja2FnZXMnOiByZXF1aXJlKCcuL3J1bGVzL25vLXJlbGF0aXZlLXBhY2thZ2VzJyksXG4gICduby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMnKSxcblxuICAnbm8tc2VsZi1pbXBvcnQnOiByZXF1aXJlKCcuL3J1bGVzL25vLXNlbGYtaW1wb3J0JyksXG4gICduby1jeWNsZSc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tY3ljbGUnKSxcbiAgJ25vLW5hbWVkLWRlZmF1bHQnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5hbWVkLWRlZmF1bHQnKSxcbiAgJ25vLW5hbWVkLWFzLWRlZmF1bHQnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5hbWVkLWFzLWRlZmF1bHQnKSxcbiAgJ25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyJzogcmVxdWlyZSgnLi9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlcicpLFxuICAnbm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0JzogcmVxdWlyZSgnLi9ydWxlcy9uby1hbm9ueW1vdXMtZGVmYXVsdC1leHBvcnQnKSxcbiAgJ25vLXVudXNlZC1tb2R1bGVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby11bnVzZWQtbW9kdWxlcycpLFxuXG4gICduby1jb21tb25qcyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tY29tbW9uanMnKSxcbiAgJ25vLWFtZCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tYW1kJyksXG4gICduby1kdXBsaWNhdGVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1kdXBsaWNhdGVzJyksXG4gICdmaXJzdCc6IHJlcXVpcmUoJy4vcnVsZXMvZmlyc3QnKSxcbiAgJ21heC1kZXBlbmRlbmNpZXMnOiByZXF1aXJlKCcuL3J1bGVzL21heC1kZXBlbmRlbmNpZXMnKSxcbiAgJ25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcycpLFxuICAnbm8tYWJzb2x1dGUtcGF0aCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tYWJzb2x1dGUtcGF0aCcpLFxuICAnbm8tbm9kZWpzLW1vZHVsZXMnOiByZXF1aXJlKCcuL3J1bGVzL25vLW5vZGVqcy1tb2R1bGVzJyksXG4gICduby13ZWJwYWNrLWxvYWRlci1zeW50YXgnOiByZXF1aXJlKCcuL3J1bGVzL25vLXdlYnBhY2stbG9hZGVyLXN5bnRheCcpLFxuICAnb3JkZXInOiByZXF1aXJlKCcuL3J1bGVzL29yZGVyJyksXG4gICduZXdsaW5lLWFmdGVyLWltcG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbmV3bGluZS1hZnRlci1pbXBvcnQnKSxcbiAgJ3ByZWZlci1kZWZhdWx0LWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvcHJlZmVyLWRlZmF1bHQtZXhwb3J0JyksXG4gICduby1kZWZhdWx0LWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tZGVmYXVsdC1leHBvcnQnKSxcbiAgJ25vLW5hbWVkLWV4cG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tbmFtZWQtZXhwb3J0JyksXG4gICduby1keW5hbWljLXJlcXVpcmUnOiByZXF1aXJlKCcuL3J1bGVzL25vLWR5bmFtaWMtcmVxdWlyZScpLFxuICAndW5hbWJpZ3VvdXMnOiByZXF1aXJlKCcuL3J1bGVzL3VuYW1iaWd1b3VzJyksXG4gICduby11bmFzc2lnbmVkLWltcG9ydCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdW5hc3NpZ25lZC1pbXBvcnQnKSxcbiAgJ25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdXNlbGVzcy1wYXRoLXNlZ21lbnRzJyksXG4gICdkeW5hbWljLWltcG9ydC1jaHVua25hbWUnOiByZXF1aXJlKCcuL3J1bGVzL2R5bmFtaWMtaW1wb3J0LWNodW5rbmFtZScpLFxuICAnbm8taW1wb3J0LW1vZHVsZS1leHBvcnRzJzogcmVxdWlyZSgnLi9ydWxlcy9uby1pbXBvcnQtbW9kdWxlLWV4cG9ydHMnKSxcblxuICAvLyBleHBvcnRcbiAgJ2V4cG9ydHMtbGFzdCc6IHJlcXVpcmUoJy4vcnVsZXMvZXhwb3J0cy1sYXN0JyksXG5cbiAgLy8gbWV0YWRhdGEtYmFzZWRcbiAgJ25vLWRlcHJlY2F0ZWQnOiByZXF1aXJlKCcuL3J1bGVzL25vLWRlcHJlY2F0ZWQnKSxcblxuICAvLyBkZXByZWNhdGVkIGFsaWFzZXMgdG8gcnVsZXNcbiAgJ2ltcG9ydHMtZmlyc3QnOiByZXF1aXJlKCcuL3J1bGVzL2ltcG9ydHMtZmlyc3QnKSxcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdzID0ge1xuICAncmVjb21tZW5kZWQnOiByZXF1aXJlKCcuLi9jb25maWcvcmVjb21tZW5kZWQnKSxcblxuICAnZXJyb3JzJzogcmVxdWlyZSgnLi4vY29uZmlnL2Vycm9ycycpLFxuICAnd2FybmluZ3MnOiByZXF1aXJlKCcuLi9jb25maWcvd2FybmluZ3MnKSxcblxuICAvLyBzaGhoaC4uLiB3b3JrIGluIHByb2dyZXNzIFwic2VjcmV0XCIgcnVsZXNcbiAgJ3N0YWdlLTAnOiByZXF1aXJlKCcuLi9jb25maWcvc3RhZ2UtMCcpLFxuXG4gIC8vIHVzZWZ1bCBzdHVmZiBmb3IgZm9sa3MgdXNpbmcgdmFyaW91cyBlbnZpcm9ubWVudHNcbiAgJ3JlYWN0JzogcmVxdWlyZSgnLi4vY29uZmlnL3JlYWN0JyksXG4gICdyZWFjdC1uYXRpdmUnOiByZXF1aXJlKCcuLi9jb25maWcvcmVhY3QtbmF0aXZlJyksXG4gICdlbGVjdHJvbic6IHJlcXVpcmUoJy4uL2NvbmZpZy9lbGVjdHJvbicpLFxuICAndHlwZXNjcmlwdCc6IHJlcXVpcmUoJy4uL2NvbmZpZy90eXBlc2NyaXB0JyksXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/default.js b/node_modules/eslint-plugin-import/lib/rules/default.js index 933538ad5..08c73ae4e 100644 --- a/node_modules/eslint-plugin-import/lib/rules/default.js +++ b/node_modules/eslint-plugin-import/lib/rules/default.js @@ -19,7 +19,7 @@ module.exports = { if (!defaultSpecifier) return; - var imports = _ExportMap2.default.get(node.source.value, context); + const imports = _ExportMap2.default.get(node.source.value, context); if (imports == null) return; if (imports.errors.length) { @@ -37,4 +37,4 @@ module.exports = { 'ExportNamedDeclaration': checkDefault.bind(null, 'ExportDefaultSpecifier') }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwiY2hlY2tEZWZhdWx0Iiwic3BlY2lmaWVyVHlwZSIsIm5vZGUiLCJkZWZhdWx0U3BlY2lmaWVyIiwic3BlY2lmaWVycyIsImZpbmQiLCJzcGVjaWZpZXIiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwibGVuZ3RoIiwicmVwb3J0RXJyb3JzIiwidW5kZWZpbmVkIiwicmVwb3J0IiwibWVzc2FnZSIsImJpbmQiXSwibWFwcGluZ3MiOiJhQUFBLHlDO0FBQ0EscUM7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLFNBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjs7QUFFekIsYUFBU0MsWUFBVCxDQUFzQkMsYUFBdEIsRUFBcUNDLElBQXJDLEVBQTJDOztBQUV6QyxZQUFNQyxtQkFBbUJELEtBQUtFLFVBQUwsQ0FBZ0JDLElBQWhCO0FBQ3ZCQyxtQkFBYUEsVUFBVVosSUFBVixLQUFtQk8sYUFEVCxDQUF6Qjs7O0FBSUEsVUFBSSxDQUFDRSxnQkFBTCxFQUF1QjtBQUN2QixVQUFJSSxVQUFVQyxvQkFBUUMsR0FBUixDQUFZUCxLQUFLUSxNQUFMLENBQVlDLEtBQXhCLEVBQStCWixPQUEvQixDQUFkO0FBQ0EsVUFBSVEsV0FBVyxJQUFmLEVBQXFCOztBQUVyQixVQUFJQSxRQUFRSyxNQUFSLENBQWVDLE1BQW5CLEVBQTJCO0FBQ3pCTixnQkFBUU8sWUFBUixDQUFxQmYsT0FBckIsRUFBOEJHLElBQTlCO0FBQ0QsT0FGRCxNQUVPLElBQUlLLFFBQVFFLEdBQVIsQ0FBWSxTQUFaLE1BQTJCTSxTQUEvQixFQUEwQztBQUMvQ2hCLGdCQUFRaUIsTUFBUixDQUFlO0FBQ2JkLGdCQUFNQyxnQkFETztBQUViYyxtQkFBVSwrQ0FBOENmLEtBQUtRLE1BQUwsQ0FBWUMsS0FBTSxJQUY3RCxFQUFmOztBQUlEO0FBQ0Y7O0FBRUQsV0FBTztBQUNMLDJCQUFxQlgsYUFBYWtCLElBQWIsQ0FBa0IsSUFBbEIsRUFBd0Isd0JBQXhCLENBRGhCO0FBRUwsZ0NBQTBCbEIsYUFBYWtCLElBQWIsQ0FBa0IsSUFBbEIsRUFBd0Isd0JBQXhCLENBRnJCLEVBQVA7O0FBSUQsR0FuQ2MsRUFBakIiLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCdcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3Byb2JsZW0nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnZGVmYXVsdCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG5cbiAgICBmdW5jdGlvbiBjaGVja0RlZmF1bHQoc3BlY2lmaWVyVHlwZSwgbm9kZSkge1xuXG4gICAgICBjb25zdCBkZWZhdWx0U3BlY2lmaWVyID0gbm9kZS5zcGVjaWZpZXJzLmZpbmQoXG4gICAgICAgIHNwZWNpZmllciA9PiBzcGVjaWZpZXIudHlwZSA9PT0gc3BlY2lmaWVyVHlwZVxuICAgICAgKVxuXG4gICAgICBpZiAoIWRlZmF1bHRTcGVjaWZpZXIpIHJldHVyblxuICAgICAgdmFyIGltcG9ydHMgPSBFeHBvcnRzLmdldChub2RlLnNvdXJjZS52YWx1ZSwgY29udGV4dClcbiAgICAgIGlmIChpbXBvcnRzID09IG51bGwpIHJldHVyblxuXG4gICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGltcG9ydHMucmVwb3J0RXJyb3JzKGNvbnRleHQsIG5vZGUpXG4gICAgICB9IGVsc2UgaWYgKGltcG9ydHMuZ2V0KCdkZWZhdWx0JykgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZTogZGVmYXVsdFNwZWNpZmllcixcbiAgICAgICAgICBtZXNzYWdlOiBgTm8gZGVmYXVsdCBleHBvcnQgZm91bmQgaW4gaW1wb3J0ZWQgbW9kdWxlIFwiJHtub2RlLnNvdXJjZS52YWx1ZX1cIi5gLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnSW1wb3J0RGVjbGFyYXRpb24nOiBjaGVja0RlZmF1bHQuYmluZChudWxsLCAnSW1wb3J0RGVmYXVsdFNwZWNpZmllcicpLFxuICAgICAgJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nOiBjaGVja0RlZmF1bHQuYmluZChudWxsLCAnRXhwb3J0RGVmYXVsdFNwZWNpZmllcicpLFxuICAgIH1cbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwiY2hlY2tEZWZhdWx0Iiwic3BlY2lmaWVyVHlwZSIsIm5vZGUiLCJkZWZhdWx0U3BlY2lmaWVyIiwic3BlY2lmaWVycyIsImZpbmQiLCJzcGVjaWZpZXIiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwibGVuZ3RoIiwicmVwb3J0RXJyb3JzIiwidW5kZWZpbmVkIiwicmVwb3J0IiwibWVzc2FnZSIsImJpbmQiXSwibWFwcGluZ3MiOiJhQUFBLHlDO0FBQ0EscUM7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLFNBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjs7QUFFekIsYUFBU0MsWUFBVCxDQUFzQkMsYUFBdEIsRUFBcUNDLElBQXJDLEVBQTJDOztBQUV6QyxZQUFNQyxtQkFBbUJELEtBQUtFLFVBQUwsQ0FBZ0JDLElBQWhCO0FBQ3ZCQyxtQkFBYUEsVUFBVVosSUFBVixLQUFtQk8sYUFEVCxDQUF6Qjs7O0FBSUEsVUFBSSxDQUFDRSxnQkFBTCxFQUF1QjtBQUN2QixZQUFNSSxVQUFVQyxvQkFBUUMsR0FBUixDQUFZUCxLQUFLUSxNQUFMLENBQVlDLEtBQXhCLEVBQStCWixPQUEvQixDQUFoQjtBQUNBLFVBQUlRLFdBQVcsSUFBZixFQUFxQjs7QUFFckIsVUFBSUEsUUFBUUssTUFBUixDQUFlQyxNQUFuQixFQUEyQjtBQUN6Qk4sZ0JBQVFPLFlBQVIsQ0FBcUJmLE9BQXJCLEVBQThCRyxJQUE5QjtBQUNELE9BRkQsTUFFTyxJQUFJSyxRQUFRRSxHQUFSLENBQVksU0FBWixNQUEyQk0sU0FBL0IsRUFBMEM7QUFDL0NoQixnQkFBUWlCLE1BQVIsQ0FBZTtBQUNiZCxnQkFBTUMsZ0JBRE87QUFFYmMsbUJBQVUsK0NBQThDZixLQUFLUSxNQUFMLENBQVlDLEtBQU0sSUFGN0QsRUFBZjs7QUFJRDtBQUNGOztBQUVELFdBQU87QUFDTCwyQkFBcUJYLGFBQWFrQixJQUFiLENBQWtCLElBQWxCLEVBQXdCLHdCQUF4QixDQURoQjtBQUVMLGdDQUEwQmxCLGFBQWFrQixJQUFiLENBQWtCLElBQWxCLEVBQXdCLHdCQUF4QixDQUZyQixFQUFQOztBQUlELEdBbkNjLEVBQWpCIiwiZmlsZSI6ImRlZmF1bHQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3Byb2JsZW0nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnZGVmYXVsdCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG5cbiAgICBmdW5jdGlvbiBjaGVja0RlZmF1bHQoc3BlY2lmaWVyVHlwZSwgbm9kZSkge1xuXG4gICAgICBjb25zdCBkZWZhdWx0U3BlY2lmaWVyID0gbm9kZS5zcGVjaWZpZXJzLmZpbmQoXG4gICAgICAgIHNwZWNpZmllciA9PiBzcGVjaWZpZXIudHlwZSA9PT0gc3BlY2lmaWVyVHlwZVxuICAgICAgKTtcblxuICAgICAgaWYgKCFkZWZhdWx0U3BlY2lmaWVyKSByZXR1cm47XG4gICAgICBjb25zdCBpbXBvcnRzID0gRXhwb3J0cy5nZXQobm9kZS5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgaWYgKGltcG9ydHMgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGltcG9ydHMucmVwb3J0RXJyb3JzKGNvbnRleHQsIG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChpbXBvcnRzLmdldCgnZGVmYXVsdCcpID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IGRlZmF1bHRTcGVjaWZpZXIsXG4gICAgICAgICAgbWVzc2FnZTogYE5vIGRlZmF1bHQgZXhwb3J0IGZvdW5kIGluIGltcG9ydGVkIG1vZHVsZSBcIiR7bm9kZS5zb3VyY2UudmFsdWV9XCIuYCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWNsYXJhdGlvbic6IGNoZWNrRGVmYXVsdC5iaW5kKG51bGwsICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJyksXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGNoZWNrRGVmYXVsdC5iaW5kKG51bGwsICdFeHBvcnREZWZhdWx0U3BlY2lmaWVyJyksXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js b/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js index de3c3cd76..74c71ef66 100644 --- a/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +++ b/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js @@ -30,8 +30,8 @@ module.exports = { config || {},_ref2$webpackChunknam = _ref2.webpackChunknameFormat;const webpackChunknameFormat = _ref2$webpackChunknam === undefined ? '[0-9a-zA-Z-_/.]+' : _ref2$webpackChunknam; const paddedCommentRegex = /^ (\S[\s\S]+\S) $/; - const commentStyleRegex = /^( \w+: ("[^"]*"|\d+|false|true),?)+ $/; - const chunkSubstrFormat = ` webpackChunkName: "${webpackChunknameFormat}",? `; + const commentStyleRegex = /^( \w+: (["'][^"']*["']|\d+|false|true),?)+ $/; + const chunkSubstrFormat = ` webpackChunkName: ["']${webpackChunknameFormat}["'],? `; const chunkSubstrRegex = new RegExp(chunkSubstrFormat); function run(node, arg) { @@ -116,4 +116,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9keW5hbWljLWltcG9ydC1jaHVua25hbWUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJpbXBvcnRGdW5jdGlvbnMiLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwid2VicGFja0NodW5rbmFtZUZvcm1hdCIsImNyZWF0ZSIsImNvbnRleHQiLCJjb25maWciLCJvcHRpb25zIiwicGFkZGVkQ29tbWVudFJlZ2V4IiwiY29tbWVudFN0eWxlUmVnZXgiLCJjaHVua1N1YnN0ckZvcm1hdCIsImNodW5rU3Vic3RyUmVnZXgiLCJSZWdFeHAiLCJydW4iLCJub2RlIiwiYXJnIiwic291cmNlQ29kZSIsImdldFNvdXJjZUNvZGUiLCJsZWFkaW5nQ29tbWVudHMiLCJnZXRDb21tZW50c0JlZm9yZSIsImdldENvbW1lbnRzIiwibGVhZGluZyIsImxlbmd0aCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJpc0NodW5rbmFtZVByZXNlbnQiLCJjb21tZW50IiwidGVzdCIsInZhbHVlIiwidm0iLCJydW5Jbk5ld0NvbnRleHQiLCJlcnJvciIsIkltcG9ydEV4cHJlc3Npb24iLCJzb3VyY2UiLCJDYWxsRXhwcmVzc2lvbiIsImNhbGxlZSIsImluZGV4T2YiLCJuYW1lIiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiYUFBQSx3QjtBQUNBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSwwQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsQ0FBQztBQUNQSCxZQUFNLFFBREM7QUFFUEksa0JBQVk7QUFDVkMseUJBQWlCO0FBQ2ZMLGdCQUFNLE9BRFM7QUFFZk0sdUJBQWEsSUFGRTtBQUdmQyxpQkFBTztBQUNMUCxrQkFBTSxRQURELEVBSFEsRUFEUDs7O0FBUVZR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bEY7QUFDRDs7QUFFRHhCLFlBQUlDLElBQUosRUFBVUEsS0FBS3dCLFNBQUwsQ0FBZSxDQUFmLENBQVY7QUFDRCxPQVhJLEVBQVA7O0FBYUQsR0FsSGMsRUFBakIiLCJmaWxlIjoiZHluYW1pYy1pbXBvcnQtY2h1bmtuYW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZtIGZyb20gJ3ZtJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdkeW5hbWljLWltcG9ydC1jaHVua25hbWUnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW3tcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBpbXBvcnRGdW5jdGlvbnM6IHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB3ZWJwYWNrQ2h1bmtuYW1lRm9ybWF0OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1dLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBjb25maWcgPSBjb250ZXh0Lm9wdGlvbnNbMF1cbiAgICBjb25zdCB7IGltcG9ydEZ1bmN0aW9ucyA9IFtdIH0gPSBjb25maWcgfHwge31cbiAgICBjb25zdCB7IHdlYnBhY2tDaHVua25hbWVGb3JtYXQgPSAnWzAtOWEtekEtWi1fLy5dKycgfSA9IGNvbmZpZyB8fCB7fVxuXG4gICAgY29uc3QgcGFkZGVkQ29tbWVudFJlZ2V4ID0gL14gKFxcU1tcXHNcXFNdK1xcUykgJC9cbiAgICBjb25zdCBjb21tZW50U3R5bGVSZWdleCA9IC9eKCBcXHcrOiAoXCJbXlwiXSpcInxcXGQrfGZhbHNlfHRydWUpLD8pKyAkL1xuICAgIGNvbnN0IGNodW5rU3Vic3RyRm9ybWF0ID0gYCB3ZWJwYWNrQ2h1bmtOYW1lOiBcIiR7d2VicGFja0NodW5rbmFtZUZvcm1hdH1cIiw/IGBcbiAgICBjb25zdCBjaHVua1N1YnN0clJlZ2V4ID0gbmV3IFJlZ0V4cChjaHVua1N1YnN0ckZvcm1hdClcblxuICAgIGZ1bmN0aW9uIHJ1bihub2RlLCBhcmcpIHtcbiAgICAgIGNvbnN0IHNvdXJjZUNvZGUgPSBjb250ZXh0LmdldFNvdXJjZUNvZGUoKVxuICAgICAgY29uc3QgbGVhZGluZ0NvbW1lbnRzID0gc291cmNlQ29kZS5nZXRDb21tZW50c0JlZm9yZVxuICAgICAgICA/IHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUoYXJnKSAvLyBUaGlzIG1ldGhvZCBpcyBhdmFpbGFibGUgaW4gRVNMaW50ID49IDQuXG4gICAgICAgIDogc291cmNlQ29kZS5nZXRDb21tZW50cyhhcmcpLmxlYWRpbmcgLy8gVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCBpbiBFU0xpbnQgNy5cblxuICAgICAgaWYgKCFsZWFkaW5nQ29tbWVudHMgfHwgbGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOiAnZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSBsZWFkaW5nIGNvbW1lbnQgd2l0aCB0aGUgd2VicGFjayBjaHVua25hbWUnLFxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgbGV0IGlzQ2h1bmtuYW1lUHJlc2VudCA9IGZhbHNlXG5cbiAgICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBsZWFkaW5nQ29tbWVudHMpIHtcbiAgICAgICAgaWYgKGNvbW1lbnQudHlwZSAhPT0gJ0Jsb2NrJykge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSAvKiBmb28gKi8gc3R5bGUgY29tbWVudCwgbm90IGEgLy8gZm9vIGNvbW1lbnQnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXBhZGRlZENvbW1lbnRSZWdleC50ZXN0KGNvbW1lbnQudmFsdWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBkeW5hbWljIGltcG9ydHMgcmVxdWlyZSBhIGJsb2NrIGNvbW1lbnQgcGFkZGVkIHdpdGggc3BhY2VzIC0gLyogZm9vICovYCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBqdXN0IGxpa2Ugd2VicGFjayBpdHNlbGYgZG9lc1xuICAgICAgICAgIHZtLnJ1bkluTmV3Q29udGV4dChgKGZ1bmN0aW9uKCl7cmV0dXJuIHske2NvbW1lbnQudmFsdWV9fX0pKClgKVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBgZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSBcIndlYnBhY2tcIiBjb21tZW50IHdpdGggdmFsaWQgc3ludGF4YCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjb21tZW50U3R5bGVSZWdleC50ZXN0KGNvbW1lbnQudmFsdWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgIGBkeW5hbWljIGltcG9ydHMgcmVxdWlyZSBhIGxlYWRpbmcgY29tbWVudCBpbiB0aGUgZm9ybSAvKiR7Y2h1bmtTdWJzdHJGb3JtYXR9Ki9gLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2h1bmtTdWJzdHJSZWdleC50ZXN0KGNvbW1lbnQudmFsdWUpKSB7XG4gICAgICAgICAgaXNDaHVua25hbWVQcmVzZW50ID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNDaHVua25hbWVQcmVzZW50KSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICBgZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSBsZWFkaW5nIGNvbW1lbnQgaW4gdGhlIGZvcm0gLyoke2NodW5rU3Vic3RyRm9ybWF0fSovYCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RXhwcmVzc2lvbihub2RlKSB7XG4gICAgICAgIHJ1bihub2RlLCBub2RlLnNvdXJjZSlcbiAgICAgIH0sXG5cbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgIT09ICdJbXBvcnQnICYmIGltcG9ydEZ1bmN0aW9ucy5pbmRleE9mKG5vZGUuY2FsbGVlLm5hbWUpIDwgMCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgcnVuKG5vZGUsIG5vZGUuYXJndW1lbnRzWzBdKVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9keW5hbWljLWltcG9ydC1jaHVua25hbWUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJpbXBvcnRGdW5jdGlvbnMiLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwid2VicGFja0NodW5rbmFtZUZvcm1hdCIsImNyZWF0ZSIsImNvbnRleHQiLCJjb25maWciLCJvcHRpb25zIiwicGFkZGVkQ29tbWVudFJlZ2V4IiwiY29tbWVudFN0eWxlUmVnZXgiLCJjaHVua1N1YnN0ckZvcm1hdCIsImNodW5rU3Vic3RyUmVnZXgiLCJSZWdFeHAiLCJydW4iLCJub2RlIiwiYXJnIiwic291cmNlQ29kZSIsImdldFNvdXJjZUNvZGUiLCJsZWFkaW5nQ29tbWVudHMiLCJnZXRDb21tZW50c0JlZm9yZSIsImdldENvbW1lbnRzIiwibGVhZGluZyIsImxlbmd0aCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJpc0NodW5rbmFtZVByZXNlbnQiLCJjb21tZW50IiwidGVzdCIsInZhbHVlIiwidm0iLCJydW5Jbk5ld0NvbnRleHQiLCJlcnJvciIsIkltcG9ydEV4cHJlc3Npb24iLCJzb3VyY2UiLCJDYWxsRXhwcmVzc2lvbiIsImNhbGxlZSIsImluZGV4T2YiLCJuYW1lIiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiYUFBQSx3QjtBQUNBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSwwQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsQ0FBQztBQUNQSCxZQUFNLFFBREM7QUFFUEksa0JBQVk7QUFDVkMseUJBQWlCO0FBQ2ZMLGdCQUFNLE9BRFM7QUFFZk0sdUJBQWEsSUFGRTtBQUdmQyxpQkFBTztBQUNMUCxrQkFBTSxRQURELEVBSFEsRUFEUDs7O0FBUVZR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bEY7QUFDRDs7QUFFRHhCLFlBQUlDLElBQUosRUFBVUEsS0FBS3dCLFNBQUwsQ0FBZSxDQUFmLENBQVY7QUFDRCxPQVhJLEVBQVA7O0FBYUQsR0FsSGMsRUFBakIiLCJmaWxlIjoiZHluYW1pYy1pbXBvcnQtY2h1bmtuYW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZtIGZyb20gJ3ZtJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ2R5bmFtaWMtaW1wb3J0LWNodW5rbmFtZScpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbe1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGltcG9ydEZ1bmN0aW9uczoge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHdlYnBhY2tDaHVua25hbWVGb3JtYXQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfV0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGNvbnRleHQub3B0aW9uc1swXTtcbiAgICBjb25zdCB7IGltcG9ydEZ1bmN0aW9ucyA9IFtdIH0gPSBjb25maWcgfHwge307XG4gICAgY29uc3QgeyB3ZWJwYWNrQ2h1bmtuYW1lRm9ybWF0ID0gJ1swLTlhLXpBLVotXy8uXSsnIH0gPSBjb25maWcgfHwge307XG5cbiAgICBjb25zdCBwYWRkZWRDb21tZW50UmVnZXggPSAvXiAoXFxTW1xcc1xcU10rXFxTKSAkLztcbiAgICBjb25zdCBjb21tZW50U3R5bGVSZWdleCA9IC9eKCBcXHcrOiAoW1wiJ11bXlwiJ10qW1wiJ118XFxkK3xmYWxzZXx0cnVlKSw/KSsgJC87XG4gICAgY29uc3QgY2h1bmtTdWJzdHJGb3JtYXQgPSBgIHdlYnBhY2tDaHVua05hbWU6IFtcIiddJHt3ZWJwYWNrQ2h1bmtuYW1lRm9ybWF0fVtcIiddLD8gYDtcbiAgICBjb25zdCBjaHVua1N1YnN0clJlZ2V4ID0gbmV3IFJlZ0V4cChjaHVua1N1YnN0ckZvcm1hdCk7XG5cbiAgICBmdW5jdGlvbiBydW4obm9kZSwgYXJnKSB7XG4gICAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCk7XG4gICAgICBjb25zdCBsZWFkaW5nQ29tbWVudHMgPSBzb3VyY2VDb2RlLmdldENvbW1lbnRzQmVmb3JlXG4gICAgICAgID8gc291cmNlQ29kZS5nZXRDb21tZW50c0JlZm9yZShhcmcpIC8vIFRoaXMgbWV0aG9kIGlzIGF2YWlsYWJsZSBpbiBFU0xpbnQgPj0gNC5cbiAgICAgICAgOiBzb3VyY2VDb2RlLmdldENvbW1lbnRzKGFyZykubGVhZGluZzsgLy8gVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCBpbiBFU0xpbnQgNy5cblxuICAgICAgaWYgKCFsZWFkaW5nQ29tbWVudHMgfHwgbGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOiAnZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSBsZWFkaW5nIGNvbW1lbnQgd2l0aCB0aGUgd2VicGFjayBjaHVua25hbWUnLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgaXNDaHVua25hbWVQcmVzZW50ID0gZmFsc2U7XG5cbiAgICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBsZWFkaW5nQ29tbWVudHMpIHtcbiAgICAgICAgaWYgKGNvbW1lbnQudHlwZSAhPT0gJ0Jsb2NrJykge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSAvKiBmb28gKi8gc3R5bGUgY29tbWVudCwgbm90IGEgLy8gZm9vIGNvbW1lbnQnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcGFkZGVkQ29tbWVudFJlZ2V4LnRlc3QoY29tbWVudC52YWx1ZSkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogYGR5bmFtaWMgaW1wb3J0cyByZXF1aXJlIGEgYmxvY2sgY29tbWVudCBwYWRkZWQgd2l0aCBzcGFjZXMgLSAvKiBmb28gKi9gLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8ganVzdCBsaWtlIHdlYnBhY2sgaXRzZWxmIGRvZXNcbiAgICAgICAgICB2bS5ydW5Jbk5ld0NvbnRleHQoYChmdW5jdGlvbigpe3JldHVybiB7JHtjb21tZW50LnZhbHVlfX19KSgpYCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBkeW5hbWljIGltcG9ydHMgcmVxdWlyZSBhIFwid2VicGFja1wiIGNvbW1lbnQgd2l0aCB2YWxpZCBzeW50YXhgLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY29tbWVudFN0eWxlUmVnZXgudGVzdChjb21tZW50LnZhbHVlKSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgICBgZHluYW1pYyBpbXBvcnRzIHJlcXVpcmUgYSBsZWFkaW5nIGNvbW1lbnQgaW4gdGhlIGZvcm0gLyoke2NodW5rU3Vic3RyRm9ybWF0fSovYCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2h1bmtTdWJzdHJSZWdleC50ZXN0KGNvbW1lbnQudmFsdWUpKSB7XG4gICAgICAgICAgaXNDaHVua25hbWVQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzQ2h1bmtuYW1lUHJlc2VudCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgYGR5bmFtaWMgaW1wb3J0cyByZXF1aXJlIGEgbGVhZGluZyBjb21tZW50IGluIHRoZSBmb3JtIC8qJHtjaHVua1N1YnN0ckZvcm1hdH0qL2AsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnRFeHByZXNzaW9uKG5vZGUpIHtcbiAgICAgICAgcnVuKG5vZGUsIG5vZGUuc291cmNlKTtcbiAgICAgIH0sXG5cbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgIT09ICdJbXBvcnQnICYmIGltcG9ydEZ1bmN0aW9ucy5pbmRleE9mKG5vZGUuY2FsbGVlLm5hbWUpIDwgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bihub2RlLCBub2RlLmFyZ3VtZW50c1swXSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/export.js b/node_modules/eslint-plugin-import/lib/rules/export.js index c7d1aad7a..821b98cc3 100644 --- a/node_modules/eslint-plugin-import/lib/rules/export.js +++ b/node_modules/eslint-plugin-import/lib/rules/export.js @@ -87,7 +87,11 @@ module.exports = { return { 'ExportDefaultDeclaration': node => addNamed('default', node, getParent(node)), - 'ExportSpecifier': node => addNamed(node.exported.name, node.exported, getParent(node)), + 'ExportSpecifier': node => addNamed( + node.exported.name, + node.exported, + getParent(node.parent)), + 'ExportNamedDeclaration': function (node) { if (node.declaration == null) return; @@ -108,7 +112,7 @@ module.exports = { } if (node.declaration.declarations != null) { - for (let declaration of node.declaration.declarations) { + for (const declaration of node.declaration.declarations) { (0, _ExportMap.recursivePatternCapture)(declaration.id, v => addNamed(v.name, v, parent, isTypeVariableDecl)); } @@ -132,10 +136,12 @@ module.exports = { const parent = getParent(node); let any = false; - remoteExports.forEach((v, name) => - name !== 'default' && ( - any = true) && // poor man's filter - addNamed(name, node, parent)); + remoteExports.forEach((v, name) => { + if (name !== 'default') { + any = true; // poor man's filter + addNamed(name, node, parent); + } + }); if (!any) { context.report( @@ -146,13 +152,13 @@ module.exports = { }, 'Program:exit': function () { - for (let _ref of namespace) {var _ref2 = _slicedToArray(_ref, 2);let named = _ref2[1]; - for (let _ref3 of named) {var _ref4 = _slicedToArray(_ref3, 2);let name = _ref4[0];let nodes = _ref4[1]; + for (const _ref of namespace) {var _ref2 = _slicedToArray(_ref, 2);const named = _ref2[1]; + for (const _ref3 of named) {var _ref4 = _slicedToArray(_ref3, 2);const name = _ref4[0];const nodes = _ref4[1]; if (nodes.size <= 1) continue; if (isTypescriptFunctionOverloads(nodes)) continue; - for (let node of nodes) { + for (const node of nodes) { if (name === 'default') { context.report(node, 'Multiple default exports.'); } else { @@ -167,4 +173,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHBvcnQuanMiXSwibmFtZXMiOlsicm9vdFByb2dyYW0iLCJ0c1R5cGVQcmVmaXgiLCJpc1R5cGVzY3JpcHRGdW5jdGlvbk92ZXJsb2FkcyIsIm5vZGVzIiwidHlwZXMiLCJTZXQiLCJBcnJheSIsImZyb20iLCJub2RlIiwicGFyZW50IiwidHlwZSIsImhhcyIsInNpemUiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwibmFtZXNwYWNlIiwiTWFwIiwiYWRkTmFtZWQiLCJuYW1lIiwiaXNUeXBlIiwic2V0IiwibmFtZWQiLCJnZXQiLCJrZXkiLCJhZGQiLCJnZXRQYXJlbnQiLCJleHBvcnRlZCIsImRlY2xhcmF0aW9uIiwiaXNUeXBlVmFyaWFibGVEZWNsIiwia2luZCIsImlkIiwiZGVjbGFyYXRpb25zIiwidiIsInNvdXJjZSIsInJlbW90ZUV4cG9ydHMiLCJFeHBvcnRNYXAiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsImFueSIsImZvckVhY2giLCJyZXBvcnQiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoicW9CQUFBLHlDO0FBQ0EscUM7QUFDQSwrQzs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxNQUFNQSxjQUFjLE1BQXBCO0FBQ0EsTUFBTUMsZUFBZSxPQUFyQjs7QUFFQTs7Ozs7Ozs7OztBQVVBLFNBQVNDLDZCQUFULENBQXVDQyxLQUF2QyxFQUE4QztBQUM1QyxRQUFNQyxRQUFRLElBQUlDLEdBQUosQ0FBUUMsTUFBTUMsSUFBTixDQUFXSixLQUFYLEVBQWtCSyxRQUFRQSxLQUFLQyxNQUFMLENBQVlDLElBQXRDLENBQVIsQ0FBZDtBQUNBO0FBQ0VOLFVBQU1PLEdBQU4sQ0FBVSxtQkFBVjs7QUFFRVAsVUFBTVEsSUFBTixLQUFlLENBQWY7QUFDQ1IsVUFBTVEsSUFBTixLQUFlLENBQWYsSUFBb0JSLE1B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QTBCQSxLQUExQixFQUFpQywwQ0FBdkJILElBQXVCLGdCQUFqQnJCLEtBQWlCO0FBQy9CLGdCQUFJQSxNQUFNUyxJQUFOLElBQWMsQ0FBbEIsRUFBcUI7O0FBRXJCLGdCQUFJViw4QkFBOEJDLEtBQTlCLENBQUosRUFBMEM7O0FBRTFDLGlCQUFLLElBQUlLLElBQVQsSUFBaUJMLEtBQWpCLEVBQXdCO0FBQ3RCLGtCQUFJcUIsU0FBUyxTQUFiLEVBQXdCO0FBQ3RCSix3QkFBUTRCLE1BQVIsQ0FBZXhDLElBQWYsRUFBcUIsMkJBQXJCO0FBQ0QsZUFGRCxNQUVPO0FBQ0xZLHdCQUFRNEIsTUFBUjtBQUNFeEMsb0JBREY7QUFFRyw2Q0FBNEJnQixLQUFLeUIsT0FBTCxDQUFhaEQsWUFBYixFQUEyQixFQUEzQixDQUErQixJQUY5RDs7QUFJRDtBQUNGO0FBQ0Y7QUFDRjtBQUNGLE9BaEZJLEVBQVA7O0FBa0ZELEdBekhjLEVBQWpCIiwiZmlsZSI6ImV4cG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeHBvcnRNYXAsIHsgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUgfSBmcm9tICcuLi9FeHBvcnRNYXAnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuaW1wb3J0IGluY2x1ZGVzIGZyb20gJ2FycmF5LWluY2x1ZGVzJ1xuXG4vKlxuTm90ZXMgb24gVHlwZVNjcmlwdCBuYW1lc3BhY2VzIGFrYSBUU01vZHVsZURlY2xhcmF0aW9uOlxuXG5UaGVyZSBhcmUgdHdvIGZvcm1zOlxuLSBhY3RpdmUgbmFtZXNwYWNlczogbmFtZXNwYWNlIEZvbyB7fSAvIG1vZHVsZSBGb28ge31cbi0gYW1iaWVudCBtb2R1bGVzOyBkZWNsYXJlIG1vZHVsZSBcImVzbGludC1wbHVnaW4taW1wb3J0XCIge31cblxuYWN0aXZlIG5hbWVzcGFjZXM6XG4tIGNhbm5vdCBjb250YWluIGEgZGVmYXVsdCBleHBvcnRcbi0gY2Fubm90IGNvbnRhaW4gYW4gZXhwb3J0IGFsbFxuLSBjYW5ub3QgY29udGFpbiBhIG11bHRpIG5hbWUgZXhwb3J0IChleHBvcnQgeyBhLCBiIH0pXG4tIGNhbiBoYXZlIGFjdGl2ZSBuYW1lc3BhY2VzIG5lc3RlZCB3aXRoaW4gdGhlbVxuXG5hbWJpZW50IG5hbWVzcGFjZXM6XG4tIGNhbiBvbmx5IGJlIGRlZmluZWQgaW4gLmQudHMgZmlsZXNcbi0gY2Fubm90IGJlIG5lc3RlZCB3aXRoaW4gYWN0aXZlIG5hbWVzcGFjZXNcbi0gaGF2ZSBubyBvdGhlciByZXN0cmljdGlvbnNcbiovXG5cbmNvbnN0IHJvb3RQcm9ncmFtID0gJ3Jvb3QnXG5jb25zdCB0c1R5cGVQcmVmaXggPSAndHlwZTonXG5cbi8qKlxuICogRGV0ZWN0IGZ1bmN0aW9uIG92ZXJsb2FkcyBsaWtlOlxuICogYGBgdHNcbiAqIGV4cG9ydCBmdW5jdGlvbiBmb28oYTogbnVtYmVyKTtcbiAqIGV4cG9ydCBmdW5jdGlvbiBmb28oYTogc3RyaW5nKTtcbiAqIGV4cG9ydCBmdW5jdGlvbiBmb28oYTogbnVtYmVyfHN0cmluZykgeyByZXR1cm4gYTsgfVxuICogYGBgXG4gKiBAcGFyYW0ge1NldDxPYmplY3Q+fSBub2Rlc1xuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzVHlwZXNjcmlwdEZ1bmN0aW9uT3ZlcmxvYWRzKG5vZGVzKSB7XG4gIGNvbnN0IHR5cGVzID0gbmV3IFNldChBcnJheS5mcm9tKG5vZGVzLCBub2RlID0+IG5vZGUucGFyZW50LnR5cGUpKVxuICByZXR1cm4gKFxuICAgIHR5cGVzLmhhcygnVFNEZWNsYXJlRnVuY3Rpb24nKSAmJlxuICAgIChcbiAgICAgIHR5cGVzLnNpemUgPT09IDEgfHxcbiAgICAgICh0eXBlcy5zaXplID09PSAyICYmIHR5cGVzLmhhcygnRnVuY3Rpb25EZWNsYXJhdGlvbicpKVxuICAgIClcbiAgKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ2V4cG9ydCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gbmV3IE1hcChbW3Jvb3RQcm9ncmFtLCBuZXcgTWFwKCldXSlcblxuICAgIGZ1bmN0aW9uIGFkZE5hbWVkKG5hbWUsIG5vZGUsIHBhcmVudCwgaXNUeXBlKSB7XG4gICAgICBpZiAoIW5hbWVzcGFjZS5oYXMocGFyZW50KSkge1xuICAgICAgICBuYW1lc3BhY2Uuc2V0KHBhcmVudCwgbmV3IE1hcCgpKVxuICAgICAgfVxuICAgICAgY29uc3QgbmFtZWQgPSBuYW1lc3BhY2UuZ2V0KHBhcmVudClcblxuICAgICAgY29uc3Qga2V5ID0gaXNUeXBlID8gYCR7dHNUeXBlUHJlZml4fSR7bmFtZX1gIDogbmFtZVxuICAgICAgbGV0IG5vZGVzID0gbmFtZWQuZ2V0KGtleSlcblxuICAgICAgaWYgKG5vZGVzID09IG51bGwpIHtcbiAgICAgICAgbm9kZXMgPSBuZXcgU2V0KClcbiAgICAgICAgbmFtZWQuc2V0KGtleSwgbm9kZXMpXG4gICAgICB9XG5cbiAgICAgIG5vZGVzLmFkZChub2RlKVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFBhcmVudChub2RlKSB7XG4gICAgICBpZiAobm9kZS5wYXJlbnQgJiYgbm9kZS5wYXJlbnQudHlwZSA9PT0gJ1RTTW9kdWxlQmxvY2snKSB7XG4gICAgICAgIHJldHVybiBub2RlLnBhcmVudC5wYXJlbnRcbiAgICAgIH1cblxuICAgICAgLy8ganVzdCBpbiBjYXNlIHNvbWVob3cgYSBub24tdHMgbmFtZXNwYWNlIGV4cG9ydCBkZWNsYXJhdGlvbiBpc24ndCBkaXJlY3RseVxuICAgICAgLy8gcGFyZW50ZWQgdG8gdGhlIHJvb3QgUHJvZ3JhbSBub2RlXG4gICAgICByZXR1cm4gcm9vdFByb2dyYW1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic6IChub2RlKSA9PiBhZGROYW1lZCgnZGVmYXVsdCcsIG5vZGUsIGdldFBhcmVudChub2RlKSksXG5cbiAgICAgICdFeHBvcnRTcGVjaWZpZXInOiAobm9kZSkgPT4gYWRkTmFtZWQobm9kZS5leHBvcnRlZC5uYW1lLCBub2RlLmV4cG9ydGVkLCBnZXRQYXJlbnQobm9kZSkpLFxuXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uID09IG51bGwpIHJldHVyblxuXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGdldFBhcmVudChub2RlKVxuICAgICAgICAvLyBzdXBwb3J0IGZvciBvbGQgVHlwZVNjcmlwdCB2ZXJzaW9uc1xuICAgICAgICBjb25zdCBpc1R5cGVWYXJpYWJsZURlY2wgPSBub2RlLmRlY2xhcmF0aW9uLmtpbmQgPT09ICd0eXBlJ1xuXG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uLmlkICE9IG51bGwpIHtcbiAgICAgICAgICBpZiAoaW5jbHVkZXMoW1xuICAgICAgICAgICAgJ1RTVHlwZUFsaWFzRGVjbGFyYXRpb24nLFxuICAgICAgICAgICAgJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb24nLFxuICAgICAgICAgIF0sIG5vZGUuZGVjbGFyYXRpb24udHlwZSkpIHtcbiAgICAgICAgICAgIGFkZE5hbWVkKG5vZGUuZGVjbGFyYXRpb24uaWQubmFtZSwgbm9kZS5kZWNsYXJhdGlvbi5pZCwgcGFyZW50LCB0cnVlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZGROYW1lZChub2RlLmRlY2xhcmF0aW9uLmlkLm5hbWUsIG5vZGUuZGVjbGFyYXRpb24uaWQsIHBhcmVudCwgaXNUeXBlVmFyaWFibGVEZWNsKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucyAhPSBudWxsKSB7XG4gICAgICAgICAgZm9yIChsZXQgZGVjbGFyYXRpb24gb2Ygbm9kZS5kZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgICAgIHJlY3Vyc2l2ZVBhdHRlcm5DYXB0dXJlKGRlY2xhcmF0aW9uLmlkLCB2ID0+XG4gICAgICAgICAgICAgIGFkZE5hbWVkKHYubmFtZSwgdiwgcGFyZW50LCBpc1R5cGVWYXJpYWJsZURlY2wpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJ0V4cG9ydEFsbERlY2xhcmF0aW9uJzogZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUuc291cmNlID09IG51bGwpIHJldHVybiAvLyBub3Qgc3VyZSBpZiB0aGlzIGlzIGV2ZXIgdHJ1ZVxuXG4gICAgICAgIC8vIGBleHBvcnQgKiBhcyBYIGZyb20gJ3BhdGgnYCBkb2VzIG5vdCBjb25mbGljdFxuICAgICAgICBpZiAobm9kZS5leHBvcnRlZCAmJiBub2RlLmV4cG9ydGVkLm5hbWUpIHJldHVyblxuXG4gICAgICAgIGNvbnN0IHJlbW90ZUV4cG9ydHMgPSBFeHBvcnRNYXAuZ2V0KG5vZGUuc291cmNlLnZhbHVlLCBjb250ZXh0KVxuICAgICAgICBpZiAocmVtb3RlRXhwb3J0cyA9PSBudWxsKSByZXR1cm5cblxuICAgICAgICBpZiAocmVtb3RlRXhwb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgcmVtb3RlRXhwb3J0cy5yZXBvcnRFcnJvcnMoY29udGV4dCwgbm9kZSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGdldFBhcmVudChub2RlKVxuXG4gICAgICAgIGxldCBhbnkgPSBmYWxzZVxuICAgICAgICByZW1vdGVFeHBvcnRzLmZvckVhY2goKHYsIG5hbWUpID0+XG4gICAgICAgICAgbmFtZSAhPT0gJ2RlZmF1bHQnICYmXG4gICAgICAgICAgKGFueSA9IHRydWUpICYmIC8vIHBvb3IgbWFuJ3MgZmlsdGVyXG4gICAgICAgICAgYWRkTmFtZWQobmFtZSwgbm9kZSwgcGFyZW50KSlcblxuICAgICAgICBpZiAoIWFueSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KFxuICAgICAgICAgICAgbm9kZS5zb3VyY2UsXG4gICAgICAgICAgICBgTm8gbmFtZWQgZXhwb3J0cyBmb3VuZCBpbiBtb2R1bGUgJyR7bm9kZS5zb3VyY2UudmFsdWV9Jy5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnUHJvZ3JhbTpleGl0JzogZnVuY3Rpb24gKCkge1xuICAgICAgICBmb3IgKGxldCBbLCBuYW1lZF0gb2YgbmFtZXNwYWNlKSB7XG4gICAgICAgICAgZm9yIChsZXQgW25hbWUsIG5vZGVzXSBvZiBuYW1lZCkge1xuICAgICAgICAgICAgaWYgKG5vZGVzLnNpemUgPD0gMSkgY29udGludWVcblxuICAgICAgICAgICAgaWYgKGlzVHlwZXNjcmlwdEZ1bmN0aW9uT3ZlcmxvYWRzKG5vZGVzKSkgY29udGludWVcblxuICAgICAgICAgICAgZm9yIChsZXQgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQobm9kZSwgJ011bHRpcGxlIGRlZmF1bHQgZXhwb3J0cy4nKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KFxuICAgICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICAgIGBNdWx0aXBsZSBleHBvcnRzIG9mIG5hbWUgJyR7bmFtZS5yZXBsYWNlKHRzVHlwZVByZWZpeCwgJycpfScuYFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHBvcnQuanMiXSwibmFtZXMiOlsicm9vdFByb2dyYW0iLCJ0c1R5cGVQcmVmaXgiLCJpc1R5cGVzY3JpcHRGdW5jdGlvbk92ZXJsb2FkcyIsIm5vZGVzIiwidHlwZXMiLCJTZXQiLCJBcnJheSIsImZyb20iLCJub2RlIiwicGFyZW50IiwidHlwZSIsImhhcyIsInNpemUiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwibmFtZXNwYWNlIiwiTWFwIiwiYWRkTmFtZWQiLCJuYW1lIiwiaXNUeXBlIiwic2V0IiwibmFtZWQiLCJnZXQiLCJrZXkiLCJhZGQiLCJnZXRQYXJlbnQiLCJleHBvcnRlZCIsImRlY2xhcmF0aW9uIiwiaXNUeXBlVmFyaWFibGVEZWNsIiwia2luZCIsImlkIiwiZGVjbGFyYXRpb25zIiwidiIsInNvdXJjZSIsInJlbW90ZUV4cG9ydHMiLCJFeHBvcnRNYXAiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsImFueSIsImZvckVhY2giLCJyZXBvcnQiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoicW9CQUFBLHlDO0FBQ0EscUM7QUFDQSwrQzs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxNQUFNQSxjQUFjLE1BQXBCO0FBQ0EsTUFBTUMsZUFBZSxPQUFyQjs7QUFFQTs7Ozs7Ozs7OztBQVVBLFNBQVNDLDZCQUFULENBQXVDQyxLQUF2QyxFQUE4QztBQUM1QyxRQUFNQyxRQUFRLElBQUlDLEdBQUosQ0FBUUMsTUFBTUMsSUFBTixDQUFXSixLQUFYLEVBQWtCSyxRQUFRQSxLQUFLQyxNQUFMLENBQVlDLElBQXRDLENBQVIsQ0FBZDtBQUNBO0FBQ0VOLFVBQU1PLEdBQU4sQ0FBVSxtQkFBVjs7QUFFRVAsVUFBTVEsSUFBTixLQUFlLENBQWY7QUFDQ1IsVUFBTVEsSUFBTixLQUFlLENBQWYsSUFBb0JSLE1B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QnJCLFNBQXhCLEVBQW1DLDJDQUFyQk0sS0FBcUI7QUFDakMsOEJBQTRCQSxLQUE1QixFQUFtQyw0Q0FBdkJILElBQXVCLGtCQUFqQnJCLEtBQWlCO0FBQ2pDLGdCQUFJQSxNQUFNUyxJQUFOLElBQWMsQ0FBbEIsRUFBcUI7O0FBRXJCLGdCQUFJViw4QkFBOEJDLEtBQTlCLENBQUosRUFBMEM7O0FBRTFDLGlCQUFLLE1BQU1LLElBQVgsSUFBbUJMLEtBQW5CLEVBQTBCO0FBQ3hCLGtCQUFJcUIsU0FBUyxTQUFiLEVBQXdCO0FBQ3RCSix3QkFBUTRCLE1BQVIsQ0FBZXhDLElBQWYsRUFBcUIsMkJBQXJCO0FBQ0QsZUFGRCxNQUVPO0FBQ0xZLHdCQUFRNEIsTUFBUjtBQUNFeEMsb0JBREY7QUFFRyw2Q0FBNEJnQixLQUFLeUIsT0FBTCxDQUFhaEQsWUFBYixFQUEyQixFQUEzQixDQUErQixJQUY5RDs7QUFJRDtBQUNGO0FBQ0Y7QUFDRjtBQUNGLE9BdEZJLEVBQVA7O0FBd0ZELEdBL0hjLEVBQWpCIiwiZmlsZSI6ImV4cG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeHBvcnRNYXAsIHsgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUgfSBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5pbXBvcnQgaW5jbHVkZXMgZnJvbSAnYXJyYXktaW5jbHVkZXMnO1xuXG4vKlxuTm90ZXMgb24gVHlwZVNjcmlwdCBuYW1lc3BhY2VzIGFrYSBUU01vZHVsZURlY2xhcmF0aW9uOlxuXG5UaGVyZSBhcmUgdHdvIGZvcm1zOlxuLSBhY3RpdmUgbmFtZXNwYWNlczogbmFtZXNwYWNlIEZvbyB7fSAvIG1vZHVsZSBGb28ge31cbi0gYW1iaWVudCBtb2R1bGVzOyBkZWNsYXJlIG1vZHVsZSBcImVzbGludC1wbHVnaW4taW1wb3J0XCIge31cblxuYWN0aXZlIG5hbWVzcGFjZXM6XG4tIGNhbm5vdCBjb250YWluIGEgZGVmYXVsdCBleHBvcnRcbi0gY2Fubm90IGNvbnRhaW4gYW4gZXhwb3J0IGFsbFxuLSBjYW5ub3QgY29udGFpbiBhIG11bHRpIG5hbWUgZXhwb3J0IChleHBvcnQgeyBhLCBiIH0pXG4tIGNhbiBoYXZlIGFjdGl2ZSBuYW1lc3BhY2VzIG5lc3RlZCB3aXRoaW4gdGhlbVxuXG5hbWJpZW50IG5hbWVzcGFjZXM6XG4tIGNhbiBvbmx5IGJlIGRlZmluZWQgaW4gLmQudHMgZmlsZXNcbi0gY2Fubm90IGJlIG5lc3RlZCB3aXRoaW4gYWN0aXZlIG5hbWVzcGFjZXNcbi0gaGF2ZSBubyBvdGhlciByZXN0cmljdGlvbnNcbiovXG5cbmNvbnN0IHJvb3RQcm9ncmFtID0gJ3Jvb3QnO1xuY29uc3QgdHNUeXBlUHJlZml4ID0gJ3R5cGU6JztcblxuLyoqXG4gKiBEZXRlY3QgZnVuY3Rpb24gb3ZlcmxvYWRzIGxpa2U6XG4gKiBgYGB0c1xuICogZXhwb3J0IGZ1bmN0aW9uIGZvbyhhOiBudW1iZXIpO1xuICogZXhwb3J0IGZ1bmN0aW9uIGZvbyhhOiBzdHJpbmcpO1xuICogZXhwb3J0IGZ1bmN0aW9uIGZvbyhhOiBudW1iZXJ8c3RyaW5nKSB7IHJldHVybiBhOyB9XG4gKiBgYGBcbiAqIEBwYXJhbSB7U2V0PE9iamVjdD59IG5vZGVzXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNUeXBlc2NyaXB0RnVuY3Rpb25PdmVybG9hZHMobm9kZXMpIHtcbiAgY29uc3QgdHlwZXMgPSBuZXcgU2V0KEFycmF5LmZyb20obm9kZXMsIG5vZGUgPT4gbm9kZS5wYXJlbnQudHlwZSkpO1xuICByZXR1cm4gKFxuICAgIHR5cGVzLmhhcygnVFNEZWNsYXJlRnVuY3Rpb24nKSAmJlxuICAgIChcbiAgICAgIHR5cGVzLnNpemUgPT09IDEgfHxcbiAgICAgICh0eXBlcy5zaXplID09PSAyICYmIHR5cGVzLmhhcygnRnVuY3Rpb25EZWNsYXJhdGlvbicpKVxuICAgIClcbiAgKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdleHBvcnQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IG5ldyBNYXAoW1tyb290UHJvZ3JhbSwgbmV3IE1hcCgpXV0pO1xuXG4gICAgZnVuY3Rpb24gYWRkTmFtZWQobmFtZSwgbm9kZSwgcGFyZW50LCBpc1R5cGUpIHtcbiAgICAgIGlmICghbmFtZXNwYWNlLmhhcyhwYXJlbnQpKSB7XG4gICAgICAgIG5hbWVzcGFjZS5zZXQocGFyZW50LCBuZXcgTWFwKCkpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZWQgPSBuYW1lc3BhY2UuZ2V0KHBhcmVudCk7XG5cbiAgICAgIGNvbnN0IGtleSA9IGlzVHlwZSA/IGAke3RzVHlwZVByZWZpeH0ke25hbWV9YCA6IG5hbWU7XG4gICAgICBsZXQgbm9kZXMgPSBuYW1lZC5nZXQoa2V5KTtcblxuICAgICAgaWYgKG5vZGVzID09IG51bGwpIHtcbiAgICAgICAgbm9kZXMgPSBuZXcgU2V0KCk7XG4gICAgICAgIG5hbWVkLnNldChrZXksIG5vZGVzKTtcbiAgICAgIH1cblxuICAgICAgbm9kZXMuYWRkKG5vZGUpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFBhcmVudChub2RlKSB7XG4gICAgICBpZiAobm9kZS5wYXJlbnQgJiYgbm9kZS5wYXJlbnQudHlwZSA9PT0gJ1RTTW9kdWxlQmxvY2snKSB7XG4gICAgICAgIHJldHVybiBub2RlLnBhcmVudC5wYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGp1c3QgaW4gY2FzZSBzb21laG93IGEgbm9uLXRzIG5hbWVzcGFjZSBleHBvcnQgZGVjbGFyYXRpb24gaXNuJ3QgZGlyZWN0bHlcbiAgICAgIC8vIHBhcmVudGVkIHRvIHRoZSByb290IFByb2dyYW0gbm9kZVxuICAgICAgcmV0dXJuIHJvb3RQcm9ncmFtO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJzogKG5vZGUpID0+IGFkZE5hbWVkKCdkZWZhdWx0Jywgbm9kZSwgZ2V0UGFyZW50KG5vZGUpKSxcblxuICAgICAgJ0V4cG9ydFNwZWNpZmllcic6IChub2RlKSA9PiBhZGROYW1lZChcbiAgICAgICAgbm9kZS5leHBvcnRlZC5uYW1lLFxuICAgICAgICBub2RlLmV4cG9ydGVkLFxuICAgICAgICBnZXRQYXJlbnQobm9kZS5wYXJlbnQpXG4gICAgICApLFxuXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uID09IG51bGwpIHJldHVybjtcblxuICAgICAgICBjb25zdCBwYXJlbnQgPSBnZXRQYXJlbnQobm9kZSk7XG4gICAgICAgIC8vIHN1cHBvcnQgZm9yIG9sZCBUeXBlU2NyaXB0IHZlcnNpb25zXG4gICAgICAgIGNvbnN0IGlzVHlwZVZhcmlhYmxlRGVjbCA9IG5vZGUuZGVjbGFyYXRpb24ua2luZCA9PT0gJ3R5cGUnO1xuXG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uLmlkICE9IG51bGwpIHtcbiAgICAgICAgICBpZiAoaW5jbHVkZXMoW1xuICAgICAgICAgICAgJ1RTVHlwZUFsaWFzRGVjbGFyYXRpb24nLFxuICAgICAgICAgICAgJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb24nLFxuICAgICAgICAgIF0sIG5vZGUuZGVjbGFyYXRpb24udHlwZSkpIHtcbiAgICAgICAgICAgIGFkZE5hbWVkKG5vZGUuZGVjbGFyYXRpb24uaWQubmFtZSwgbm9kZS5kZWNsYXJhdGlvbi5pZCwgcGFyZW50LCB0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWRkTmFtZWQobm9kZS5kZWNsYXJhdGlvbi5pZC5uYW1lLCBub2RlLmRlY2xhcmF0aW9uLmlkLCBwYXJlbnQsIGlzVHlwZVZhcmlhYmxlRGVjbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vZGUuZGVjbGFyYXRpb24uZGVjbGFyYXRpb25zICE9IG51bGwpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlY2xhcmF0aW9uIG9mIG5vZGUuZGVjbGFyYXRpb24uZGVjbGFyYXRpb25zKSB7XG4gICAgICAgICAgICByZWN1cnNpdmVQYXR0ZXJuQ2FwdHVyZShkZWNsYXJhdGlvbi5pZCwgdiA9PlxuICAgICAgICAgICAgICBhZGROYW1lZCh2Lm5hbWUsIHYsIHBhcmVudCwgaXNUeXBlVmFyaWFibGVEZWNsKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnRXhwb3J0QWxsRGVjbGFyYXRpb24nOiBmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICBpZiAobm9kZS5zb3VyY2UgPT0gbnVsbCkgcmV0dXJuOyAvLyBub3Qgc3VyZSBpZiB0aGlzIGlzIGV2ZXIgdHJ1ZVxuXG4gICAgICAgIC8vIGBleHBvcnQgKiBhcyBYIGZyb20gJ3BhdGgnYCBkb2VzIG5vdCBjb25mbGljdFxuICAgICAgICBpZiAobm9kZS5leHBvcnRlZCAmJiBub2RlLmV4cG9ydGVkLm5hbWUpIHJldHVybjtcblxuICAgICAgICBjb25zdCByZW1vdGVFeHBvcnRzID0gRXhwb3J0TWFwLmdldChub2RlLnNvdXJjZS52YWx1ZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChyZW1vdGVFeHBvcnRzID09IG51bGwpIHJldHVybjtcblxuICAgICAgICBpZiAocmVtb3RlRXhwb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgcmVtb3RlRXhwb3J0cy5yZXBvcnRFcnJvcnMoY29udGV4dCwgbm9kZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50ID0gZ2V0UGFyZW50KG5vZGUpO1xuXG4gICAgICAgIGxldCBhbnkgPSBmYWxzZTtcbiAgICAgICAgcmVtb3RlRXhwb3J0cy5mb3JFYWNoKCh2LCBuYW1lKSA9PiB7XG4gICAgICAgICAgaWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgICAgICAgYW55ID0gdHJ1ZTsgLy8gcG9vciBtYW4ncyBmaWx0ZXJcbiAgICAgICAgICAgIGFkZE5hbWVkKG5hbWUsIG5vZGUsIHBhcmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWFueSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KFxuICAgICAgICAgICAgbm9kZS5zb3VyY2UsXG4gICAgICAgICAgICBgTm8gbmFtZWQgZXhwb3J0cyBmb3VuZCBpbiBtb2R1bGUgJyR7bm9kZS5zb3VyY2UudmFsdWV9Jy5gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChjb25zdCBbLCBuYW1lZF0gb2YgbmFtZXNwYWNlKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgbm9kZXNdIG9mIG5hbWVkKSB7XG4gICAgICAgICAgICBpZiAobm9kZXMuc2l6ZSA8PSAxKSBjb250aW51ZTtcblxuICAgICAgICAgICAgaWYgKGlzVHlwZXNjcmlwdEZ1bmN0aW9uT3ZlcmxvYWRzKG5vZGVzKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQobm9kZSwgJ011bHRpcGxlIGRlZmF1bHQgZXhwb3J0cy4nKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydChcbiAgICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgICBgTXVsdGlwbGUgZXhwb3J0cyBvZiBuYW1lICcke25hbWUucmVwbGFjZSh0c1R5cGVQcmVmaXgsICcnKX0nLmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/exports-last.js b/node_modules/eslint-plugin-import/lib/rules/exports-last.js index 54412a670..a8dc0d4d3 100644 --- a/node_modules/eslint-plugin-import/lib/rules/exports-last.js +++ b/node_modules/eslint-plugin-import/lib/rules/exports-last.js @@ -38,4 +38,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHBvcnRzLWxhc3QuanMiXSwibmFtZXMiOlsiaXNOb25FeHBvcnRTdGF0ZW1lbnQiLCJ0eXBlIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsIlByb2dyYW0iLCJib2R5IiwibGFzdE5vbkV4cG9ydFN0YXRlbWVudEluZGV4IiwicmVkdWNlIiwiZmluZExhc3RJbmRleCIsImFjYyIsIml0ZW0iLCJpbmRleCIsInNsaWNlIiwiZm9yRWFjaCIsImNoZWNrTm9uRXhwb3J0Iiwibm9kZSIsInJlcG9ydCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBLFNBQVNBLG9CQUFULE9BQXdDLEtBQVJDLElBQVEsUUFBUkEsSUFBUTtBQUN0QyxTQUFPQSxTQUFTLDBCQUFUO0FBQ0xBLFdBQVMsd0JBREo7QUFFTEEsV0FBUyxzQkFGWDtBQUdEOztBQUVEQyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkgsVUFBTSxZQURGO0FBRUpJLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxjQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVVDLE9BQVYsRUFBbUI7QUFDekIsV0FBTztBQUNMQyxlQUFTLGlCQUFvQixLQUFSQyxJQUFRLFNBQVJBLElBQVE7QUFDM0IsY0FBTUMsOEJBQThCRCxLQUFLRSxNQUFMLENBQVksU0FBU0MsYUFBVCxDQUF1QkMsR0FBdkIsRUFBNEJDLElBQTVCLEVBQWtDQyxLQUFsQyxFQUF5QztBQUN2RixjQUFJakIscUJBQXFCZ0IsSUFBckIsQ0FBSixFQUFnQztBQUM5QixtQkFBT0MsS0FBUDtBQUNEO0FBQ0QsaUJBQU9GLEdBQVA7QUFDRCxTQUxtQyxFQUtqQyxDQUFDLENBTGdDLENBQXBDOztBQU9BLFlBQUlILGdDQUFnQyxDQUFDLENBQXJDLEVBQXdDO0FBQ3RDRCxlQUFLTyxLQUFMLENBQVcsQ0FBWCxFQUFjTiwyQkFBZCxFQUEyQ08sT0FBM0MsQ0FBbUQsU0FBU0MsY0FBVCxDQUF3QkMsSUFBeEIsRUFBOEI7QUFDL0UsZ0JBQUksQ0FBQ3JCLHFCQUFxQnFCLElBQXJCLENBQUwsRUFBaUM7QUFDL0JaLHNCQUFRYSxNQUFSLENBQWU7QUFDYkQsb0JBRGE7QUFFYkUseUJBQVMsd0RBRkksRUFBZjs7QUFJRDtBQUNGLFdBUEQ7QUFRRDtBQUNGLE9BbkJJLEVBQVA7O0FBcUJELEdBL0JjLEVBQWpCIiwiZmlsZSI6ImV4cG9ydHMtbGFzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIGlzTm9uRXhwb3J0U3RhdGVtZW50KHsgdHlwZSB9KSB7XG4gIHJldHVybiB0eXBlICE9PSAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJyAmJlxuICAgIHR5cGUgIT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJyAmJlxuICAgIHR5cGUgIT09ICdFeHBvcnRBbGxEZWNsYXJhdGlvbidcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdleHBvcnRzLWxhc3QnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBQcm9ncmFtOiBmdW5jdGlvbiAoeyBib2R5IH0pIHtcbiAgICAgICAgY29uc3QgbGFzdE5vbkV4cG9ydFN0YXRlbWVudEluZGV4ID0gYm9keS5yZWR1Y2UoZnVuY3Rpb24gZmluZExhc3RJbmRleChhY2MsIGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgaWYgKGlzTm9uRXhwb3J0U3RhdGVtZW50KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5kZXhcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LCAtMSlcblxuICAgICAgICBpZiAobGFzdE5vbkV4cG9ydFN0YXRlbWVudEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIGJvZHkuc2xpY2UoMCwgbGFzdE5vbkV4cG9ydFN0YXRlbWVudEluZGV4KS5mb3JFYWNoKGZ1bmN0aW9uIGNoZWNrTm9uRXhwb3J0KG5vZGUpIHtcbiAgICAgICAgICAgIGlmICghaXNOb25FeHBvcnRTdGF0ZW1lbnQobm9kZSkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ0V4cG9ydCBzdGF0ZW1lbnRzIHNob3VsZCBhcHBlYXIgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHBvcnRzLWxhc3QuanMiXSwibmFtZXMiOlsiaXNOb25FeHBvcnRTdGF0ZW1lbnQiLCJ0eXBlIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsIlByb2dyYW0iLCJib2R5IiwibGFzdE5vbkV4cG9ydFN0YXRlbWVudEluZGV4IiwicmVkdWNlIiwiZmluZExhc3RJbmRleCIsImFjYyIsIml0ZW0iLCJpbmRleCIsInNsaWNlIiwiZm9yRWFjaCIsImNoZWNrTm9uRXhwb3J0Iiwibm9kZSIsInJlcG9ydCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBLFNBQVNBLG9CQUFULE9BQXdDLEtBQVJDLElBQVEsUUFBUkEsSUFBUTtBQUN0QyxTQUFPQSxTQUFTLDBCQUFUO0FBQ0xBLFdBQVMsd0JBREo7QUFFTEEsV0FBUyxzQkFGWDtBQUdEOztBQUVEQyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkgsVUFBTSxZQURGO0FBRUpJLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxjQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVVDLE9BQVYsRUFBbUI7QUFDekIsV0FBTztBQUNMQyxlQUFTLGlCQUFvQixLQUFSQyxJQUFRLFNBQVJBLElBQVE7QUFDM0IsY0FBTUMsOEJBQThCRCxLQUFLRSxNQUFMLENBQVksU0FBU0MsYUFBVCxDQUF1QkMsR0FBdkIsRUFBNEJDLElBQTVCLEVBQWtDQyxLQUFsQyxFQUF5QztBQUN2RixjQUFJakIscUJBQXFCZ0IsSUFBckIsQ0FBSixFQUFnQztBQUM5QixtQkFBT0MsS0FBUDtBQUNEO0FBQ0QsaUJBQU9GLEdBQVA7QUFDRCxTQUxtQyxFQUtqQyxDQUFDLENBTGdDLENBQXBDOztBQU9BLFlBQUlILGdDQUFnQyxDQUFDLENBQXJDLEVBQXdDO0FBQ3RDRCxlQUFLTyxLQUFMLENBQVcsQ0FBWCxFQUFjTiwyQkFBZCxFQUEyQ08sT0FBM0MsQ0FBbUQsU0FBU0MsY0FBVCxDQUF3QkMsSUFBeEIsRUFBOEI7QUFDL0UsZ0JBQUksQ0FBQ3JCLHFCQUFxQnFCLElBQXJCLENBQUwsRUFBaUM7QUFDL0JaLHNCQUFRYSxNQUFSLENBQWU7QUFDYkQsb0JBRGE7QUFFYkUseUJBQVMsd0RBRkksRUFBZjs7QUFJRDtBQUNGLFdBUEQ7QUFRRDtBQUNGLE9BbkJJLEVBQVA7O0FBcUJELEdBL0JjLEVBQWpCIiwiZmlsZSI6ImV4cG9ydHMtbGFzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5mdW5jdGlvbiBpc05vbkV4cG9ydFN0YXRlbWVudCh7IHR5cGUgfSkge1xuICByZXR1cm4gdHlwZSAhPT0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbicgJiZcbiAgICB0eXBlICE9PSAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbicgJiZcbiAgICB0eXBlICE9PSAnRXhwb3J0QWxsRGVjbGFyYXRpb24nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ2V4cG9ydHMtbGFzdCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFByb2dyYW06IGZ1bmN0aW9uICh7IGJvZHkgfSkge1xuICAgICAgICBjb25zdCBsYXN0Tm9uRXhwb3J0U3RhdGVtZW50SW5kZXggPSBib2R5LnJlZHVjZShmdW5jdGlvbiBmaW5kTGFzdEluZGV4KGFjYywgaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICBpZiAoaXNOb25FeHBvcnRTdGF0ZW1lbnQoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgLTEpO1xuXG4gICAgICAgIGlmIChsYXN0Tm9uRXhwb3J0U3RhdGVtZW50SW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgYm9keS5zbGljZSgwLCBsYXN0Tm9uRXhwb3J0U3RhdGVtZW50SW5kZXgpLmZvckVhY2goZnVuY3Rpb24gY2hlY2tOb25FeHBvcnQobm9kZSkge1xuICAgICAgICAgICAgaWYgKCFpc05vbkV4cG9ydFN0YXRlbWVudChub2RlKSkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnRXhwb3J0IHN0YXRlbWVudHMgc2hvdWxkIGFwcGVhciBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/extensions.js b/node_modules/eslint-plugin-import/lib/rules/extensions.js index 603be8609..34430099e 100644 --- a/node_modules/eslint-plugin-import/lib/rules/extensions.js +++ b/node_modules/eslint-plugin-import/lib/rules/extensions.js @@ -2,6 +2,7 @@ var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); var _importType = require('../core/importType'); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} const enumValues = { enum: ['always', 'ignorePackages', 'never'] }; @@ -129,14 +130,12 @@ module.exports = { function isExternalRootModule(file) { const slashCount = file.split('/').length - 1; + if (slashCount === 0) return true; if ((0, _importType.isScopedModule)(file) && slashCount <= 1) return true; - if ((0, _importType.isExternalModule)(file, context, (0, _resolve2.default)(file, context)) && !slashCount) return true; return false; } - function checkFileExtension(node) {const - source = node.source; - + function checkFileExtension(source) { // bail if the declaration doesn't have a source, e.g. "export { foo };" if (!source) return; @@ -158,7 +157,11 @@ module.exports = { const extension = _path2.default.extname(resolvedPath || importPath).substring(1); // determine if this is a module - const isPackage = (0, _importType.isExternalModule)(importPath, context.settings) || + const isPackage = (0, _importType.isExternalModule)( + importPath, + context.settings, + (0, _resolve2.default)(importPath, context), + context) || (0, _importType.isScoped)(importPath); if (!extension || !importPath.endsWith(`.${extension}`)) { @@ -181,9 +184,6 @@ module.exports = { } } - return { - ImportDeclaration: checkFileExtension, - ExportNamedDeclaration: checkFileExtension }; - + return (0, _moduleVisitor2.default)(checkFileExtension, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHRlbnNpb25zLmpzIl0sIm5hbWVzIjpbImVudW1WYWx1ZXMiLCJlbnVtIiwicGF0dGVyblByb3BlcnRpZXMiLCJ0eXBlIiwicHJvcGVydGllcyIsImJ1aWxkUHJvcGVydGllcyIsImNvbnRleHQiLCJyZXN1bHQiLCJkZWZhdWx0Q29uZmlnIiwicGF0dGVybiIsImlnbm9yZVBhY2thZ2VzIiwib3B0aW9ucyIsImZvckVhY2giLCJvYmoiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJhbnlPZiIsIml0ZW1zIiwiYWRkaXRpb25hbEl0ZW1zIiwiY3JlYXRlIiwicHJvcHMiLCJnZXRNb2RpZmllciIsImV4dGVuc2lvbiIsImlzVXNlT2ZFeHRlbnNpb25SZXF1aXJlZCIsImlzUGFja2FnZSIsImlzVXNlT2ZFeHRlbnNpb25Gb3JiaWRkZW4iLCJpc1Jlc29sdmFibGVXaXRob3V0RXh0ZW5zaW9uIiwiZmlsZSIsInBhdGgiLCJleHRuYW1lIiwiZmlsZVdpdGhvdXRFeHRlbnNpb24iLCJzbGljZSIsImxlbmd0aCIsInJlc29sdmVkRmlsZVdpdGhvdXRFeHRlbnNpb24iLCJpc0V4dGVybmFsUm9vdE1vZHVsZSIsInNsYXNoQ291bnQiLCJzcGxpdCIsImNoZWNrRmlsZUV4dGVuc2lvbiIsIm5vZGUiLCJzb3VyY2UiLCJpbXBvcnRQYXRoV2l0aFF1ZXJ5U3RyaW5nIiwidmFsdWUiLCJzZXR0aW5ncyIsImltcG9ydFBhdGgiLCJyZXBsYWNlIiwicmVzb2x2ZWRQYXRoIiwic3Vic3RyaW5nIiwiZW5kc1dpdGgiLCJleHRlbnNpb25SZXF1aXJlZCIsImV4dGVuc2lvbkZvcmJpZGRlbiIsInJlcG9ydCIsIm1lc3NhZ2UiLCJJbXBvcnREZWNsYXJhdGlvbiIsIkV4cG9ydE5hbWVkRGVjbGFyYXRpb24iXSwibWFwcGluZ3MiOiJhQUFBLDRCOztBQUVB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d0JoQixrQkFGbkIsRUFBUDs7QUFJRCxHQS9IYyxFQUFqQiIsImZpbGUiOiJleHRlbnNpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJ1xuaW1wb3J0IHsgaXNCdWlsdEluLCBpc0V4dGVybmFsTW9kdWxlLCBpc1Njb3BlZCwgaXNTY29wZWRNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2ltcG9ydFR5cGUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5jb25zdCBlbnVtVmFsdWVzID0geyBlbnVtOiBbICdhbHdheXMnLCAnaWdub3JlUGFja2FnZXMnLCAnbmV2ZXInIF0gfVxuY29uc3QgcGF0dGVyblByb3BlcnRpZXMgPSB7XG4gIHR5cGU6ICdvYmplY3QnLFxuICBwYXR0ZXJuUHJvcGVydGllczogeyAnLionOiBlbnVtVmFsdWVzIH0sXG59XG5jb25zdCBwcm9wZXJ0aWVzID0ge1xuICB0eXBlOiAnb2JqZWN0JyxcbiAgcHJvcGVydGllczoge1xuICAgICdwYXR0ZXJuJzogcGF0dGVyblByb3BlcnRpZXMsXG4gICAgJ2lnbm9yZVBhY2thZ2VzJzogeyB0eXBlOiAnYm9vbGVhbicgfSxcbiAgfSxcbn1cblxuZnVuY3Rpb24gYnVpbGRQcm9wZXJ0aWVzKGNvbnRleHQpIHtcblxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgIGRlZmF1bHRDb25maWc6ICduZXZlcicsXG4gICAgICBwYXR0ZXJuOiB7fSxcbiAgICAgIGlnbm9yZVBhY2thZ2VzOiBmYWxzZSxcbiAgICB9XG5cbiAgICBjb250ZXh0Lm9wdGlvbnMuZm9yRWFjaChvYmogPT4ge1xuXG4gICAgICAvLyBJZiB0aGlzIGlzIGEgc3RyaW5nLCBzZXQgZGVmYXVsdENvbmZpZyB0byBpdHMgdmFsdWVcbiAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXN1bHQuZGVmYXVsdENvbmZpZyA9IG9ialxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSWYgdGhpcyBpcyBub3QgdGhlIG5ldyBzdHJ1Y3R1cmUsIHRyYW5zZmVyIGFsbCBwcm9wcyB0byByZXN1bHQucGF0dGVyblxuICAgICAgaWYgKG9iai5wYXR0ZXJuID09PSB1bmRlZmluZWQgJiYgb2JqLmlnbm9yZVBhY2thZ2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihyZXN1bHQucGF0dGVybiwgb2JqKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSWYgcGF0dGVybiBpcyBwcm92aWRlZCwgdHJhbnNmZXIgYWxsIHByb3BzXG4gICAgICBpZiAob2JqLnBhdHRlcm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHJlc3VsdC5wYXR0ZXJuLCBvYmoucGF0dGVybilcbiAgICAgIH1cblxuICAgICAgLy8gSWYgaWdub3JlUGFja2FnZXMgaXMgcHJvdmlkZWQsIHRyYW5zZmVyIGl0IHRvIHJlc3VsdFxuICAgICAgaWYgKG9iai5pZ25vcmVQYWNrYWdlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJlc3VsdC5pZ25vcmVQYWNrYWdlcyA9IG9iai5pZ25vcmVQYWNrYWdlc1xuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAocmVzdWx0LmRlZmF1bHRDb25maWcgPT09ICdpZ25vcmVQYWNrYWdlcycpIHtcbiAgICAgIHJlc3VsdC5kZWZhdWx0Q29uZmlnID0gJ2Fsd2F5cydcbiAgICAgIHJlc3VsdC5pZ25vcmVQYWNrYWdlcyA9IHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnZXh0ZW5zaW9ucycpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IHtcbiAgICAgIGFueU9mOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIGl0ZW1zOiBbZW51bVZhbHVlc10sXG4gICAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgIGVudW1WYWx1ZXMsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgaXRlbXM6IFtwcm9wZXJ0aWVzXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBpdGVtczogW3BhdHRlcm5Qcm9wZXJ0aWVzXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgZW51bVZhbHVlcyxcbiAgICAgICAgICAgIHBhdHRlcm5Qcm9wZXJ0aWVzLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG5cbiAgICBjb25zdCBwcm9wcyA9IGJ1aWxkUHJvcGVydGllcyhjb250ZXh0KVxuXG4gICAgZnVuY3Rpb24gZ2V0TW9kaWZpZXIoZXh0ZW5zaW9uKSB7XG4gICAgICByZXR1cm4gcHJvcHMucGF0dGVybltleHRlbnNpb25dIHx8IHByb3BzLmRlZmF1bHRDb25maWdcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1VzZU9mRXh0ZW5zaW9uUmVxdWlyZWQoZXh0ZW5zaW9uLCBpc1BhY2thZ2UpIHtcbiAgICAgIHJldHVybiBnZXRNb2RpZmllcihleHRlbnNpb24pID09PSAnYWx3YXlzJyAmJiAoIXByb3BzLmlnbm9yZVBhY2thZ2VzIHx8ICFpc1BhY2thZ2UpXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNVc2VPZkV4dGVuc2lvbkZvcmJpZGRlbihleHRlbnNpb24pIHtcbiAgICAgIHJldHVybiBnZXRNb2RpZmllcihleHRlbnNpb24pID09PSAnbmV2ZXInXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNSZXNvbHZhYmxlV2l0aG91dEV4dGVuc2lvbihmaWxlKSB7XG4gICAgICBjb25zdCBleHRlbnNpb24gPSBwYXRoLmV4dG5hbWUoZmlsZSlcbiAgICAgIGNvbnN0IGZpbGVXaXRob3V0RXh0ZW5zaW9uID0gZmlsZS5zbGljZSgwLCAtZXh0ZW5zaW9uLmxlbmd0aClcbiAgICAgIGNvbnN0IHJlc29sdmVkRmlsZVdpdGhvdXRFeHRlbnNpb24gPSByZXNvbHZlKGZpbGVXaXRob3V0RXh0ZW5zaW9uLCBjb250ZXh0KVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZWRGaWxlV2l0aG91dEV4dGVuc2lvbiA9PT0gcmVzb2x2ZShmaWxlLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzRXh0ZXJuYWxSb290TW9kdWxlKGZpbGUpIHtcbiAgICAgIGNvbnN0IHNsYXNoQ291bnQgPSBmaWxlLnNwbGl0KCcvJykubGVuZ3RoIC0gMVxuXG4gICAgICBpZiAoaXNTY29wZWRNb2R1bGUoZmlsZSkgJiYgc2xhc2hDb3VudCA8PSAxKSByZXR1cm4gdHJ1ZVxuICAgICAgaWYgKGlzRXh0ZXJuYWxNb2R1bGUoZmlsZSwgY29udGV4dCwgcmVzb2x2ZShmaWxlLCBjb250ZXh0KSkgJiYgIXNsYXNoQ291bnQpIHJldHVybiB0cnVlXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0ZpbGVFeHRlbnNpb24obm9kZSkge1xuICAgICAgY29uc3QgeyBzb3VyY2UgfSA9IG5vZGVcblxuICAgICAgLy8gYmFpbCBpZiB0aGUgZGVjbGFyYXRpb24gZG9lc24ndCBoYXZlIGEgc291cmNlLCBlLmcuIFwiZXhwb3J0IHsgZm9vIH07XCJcbiAgICAgIGlmICghc291cmNlKSByZXR1cm5cblxuICAgICAgY29uc3QgaW1wb3J0UGF0aFdpdGhRdWVyeVN0cmluZyA9IHNvdXJjZS52YWx1ZVxuXG4gICAgICAvLyBkb24ndCBlbmZvcmNlIGFueXRoaW5nIG9uIGJ1aWx0aW5zXG4gICAgICBpZiAoaXNCdWlsdEluKGltcG9ydFBhdGhXaXRoUXVlcnlTdHJpbmcsIGNvbnRleHQuc2V0dGluZ3MpKSByZXR1cm5cblxuICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGltcG9ydFBhdGhXaXRoUXVlcnlTdHJpbmcucmVwbGFjZSgvXFw/KC4qKSQvLCAnJylcblxuICAgICAgLy8gZG9uJ3QgZW5mb3JjZSBpbiByb290IGV4dGVybmFsIHBhY2thZ2VzIGFzIHRoZXkgbWF5IGhhdmUgbmFtZXMgd2l0aCBgLmpzYC5cbiAgICAgIC8vIExpa2UgYGltcG9ydCBEZWNpbWFsIGZyb20gZGVjaW1hbC5qc2ApXG4gICAgICBpZiAoaXNFeHRlcm5hbFJvb3RNb2R1bGUoaW1wb3J0UGF0aCkpIHJldHVyblxuXG4gICAgICBjb25zdCByZXNvbHZlZFBhdGggPSByZXNvbHZlKGltcG9ydFBhdGgsIGNvbnRleHQpXG5cbiAgICAgIC8vIGdldCBleHRlbnNpb24gZnJvbSByZXNvbHZlZCBwYXRoLCBpZiBwb3NzaWJsZS5cbiAgICAgIC8vIGZvciB1bnJlc29sdmVkLCB1c2Ugc291cmNlIHZhbHVlLlxuICAgICAgY29uc3QgZXh0ZW5zaW9uID0gcGF0aC5leHRuYW1lKHJlc29sdmVkUGF0aCB8fCBpbXBvcnRQYXRoKS5zdWJzdHJpbmcoMSlcblxuICAgICAgLy8gZGV0ZXJtaW5lIGlmIHRoaXMgaXMgYSBtb2R1bGVcbiAgICAgIGNvbnN0IGlzUGFja2FnZSA9IGlzRXh0ZXJuYWxNb2R1bGUoaW1wb3J0UGF0aCwgY29udGV4dC5zZXR0aW5ncylcbiAgICAgICAgfHwgaXNTY29wZWQoaW1wb3J0UGF0aClcblxuICAgICAgaWYgKCFleHRlbnNpb24gfHwgIWltcG9ydFBhdGguZW5kc1dpdGgoYC4ke2V4dGVuc2lvbn1gKSkge1xuICAgICAgICBjb25zdCBleHRlbnNpb25SZXF1aXJlZCA9IGlzVXNlT2ZFeHRlbnNpb25SZXF1aXJlZChleHRlbnNpb24sIGlzUGFja2FnZSlcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uRm9yYmlkZGVuID0gaXNVc2VPZkV4dGVuc2lvbkZvcmJpZGRlbihleHRlbnNpb24pXG4gICAgICAgIGlmIChleHRlbnNpb25SZXF1aXJlZCAmJiAhZXh0ZW5zaW9uRm9yYmlkZGVuKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZTogc291cmNlLFxuICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgYE1pc3NpbmcgZmlsZSBleHRlbnNpb24gJHtleHRlbnNpb24gPyBgXCIke2V4dGVuc2lvbn1cIiBgIDogJyd9Zm9yIFwiJHtpbXBvcnRQYXRoV2l0aFF1ZXJ5U3RyaW5nfVwiYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV4dGVuc2lvbikge1xuICAgICAgICBpZiAoaXNVc2VPZkV4dGVuc2lvbkZvcmJpZGRlbihleHRlbnNpb24pICYmIGlzUmVzb2x2YWJsZVdpdGhvdXRFeHRlbnNpb24oaW1wb3J0UGF0aCkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlOiBzb3VyY2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCB1c2Ugb2YgZmlsZSBleHRlbnNpb24gXCIke2V4dGVuc2lvbn1cIiBmb3IgXCIke2ltcG9ydFBhdGhXaXRoUXVlcnlTdHJpbmd9XCJgLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb246IGNoZWNrRmlsZUV4dGVuc2lvbixcbiAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb246IGNoZWNrRmlsZUV4dGVuc2lvbixcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9leHRlbnNpb25zLmpzIl0sIm5hbWVzIjpbImVudW1WYWx1ZXMiLCJlbnVtIiwicGF0dGVyblByb3BlcnRpZXMiLCJ0eXBlIiwicHJvcGVydGllcyIsImJ1aWxkUHJvcGVydGllcyIsImNvbnRleHQiLCJyZXN1bHQiLCJkZWZhdWx0Q29uZmlnIiwicGF0dGVybiIsImlnbm9yZVBhY2thZ2VzIiwib3B0aW9ucyIsImZvckVhY2giLCJvYmoiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJhbnlPZiIsIml0ZW1zIiwiYWRkaXRpb25hbEl0ZW1zIiwiY3JlYXRlIiwicHJvcHMiLCJnZXRNb2RpZmllciIsImV4dGVuc2lvbiIsImlzVXNlT2ZFeHRlbnNpb25SZXF1aXJlZCIsImlzUGFja2FnZSIsImlzVXNlT2ZFeHRlbnNpb25Gb3JiaWRkZW4iLCJpc1Jlc29sdmFibGVXaXRob3V0RXh0ZW5zaW9uIiwiZmlsZSIsInBhdGgiLCJleHRuYW1lIiwiZmlsZVdpdGhvdXRFeHRlbnNpb24iLCJzbGljZSIsImxlbmd0aCIsInJlc29sdmVkRmlsZVdpdGhvdXRFeHRlbnNpb24iLCJpc0V4dGVybmFsUm9vdE1vZHVsZSIsInNsYXNoQ291bnQiLCJzcGxpdCIsImNoZWNrRmlsZUV4dGVuc2lvbiIsInNvdXJjZSIsImltcG9ydFBhdGhXaXRoUXVlcnlTdHJpbmciLCJ2YWx1ZSIsInNldHRpbmdzIiwiaW1wb3J0UGF0aCIsInJlcGxhY2UiLCJyZXNvbHZlZFBhdGgiLCJzdWJzdHJpbmciLCJlbmRzV2l0aCIsImV4dGVuc2lvblJlcXVpcmVkIiwiZXh0ZW5zaW9uRm9yYmlkZGVuIiwicmVwb3J0Iiwibm9kZSIsIm1lc3NhZ2UiLCJjb21tb25qcyJdLCJtYXBwaW5ncyI6ImFBQUEsNEI7O0FBRUEsc0Q7QUFDQTtBQUNBLGtFO0FBQ0EscUM7O0FBRUEsTUFB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IGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IHsgaXNCdWlsdEluLCBpc0V4dGVybmFsTW9kdWxlLCBpc1Njb3BlZCwgaXNTY29wZWRNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2ltcG9ydFR5cGUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5jb25zdCBlbnVtVmFsdWVzID0geyBlbnVtOiBbICdhbHdheXMnLCAnaWdub3JlUGFja2FnZXMnLCAnbmV2ZXInIF0gfTtcbmNvbnN0IHBhdHRlcm5Qcm9wZXJ0aWVzID0ge1xuICB0eXBlOiAnb2JqZWN0JyxcbiAgcGF0dGVyblByb3BlcnRpZXM6IHsgJy4qJzogZW51bVZhbHVlcyB9LFxufTtcbmNvbnN0IHByb3BlcnRpZXMgPSB7XG4gIHR5cGU6ICdvYmplY3QnLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgJ3BhdHRlcm4nOiBwYXR0ZXJuUHJvcGVydGllcyxcbiAgICAnaWdub3JlUGFja2FnZXMnOiB7IHR5cGU6ICdib29sZWFuJyB9LFxuICB9LFxufTtcblxuZnVuY3Rpb24gYnVpbGRQcm9wZXJ0aWVzKGNvbnRleHQpIHtcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgZGVmYXVsdENvbmZpZzogJ25ldmVyJyxcbiAgICBwYXR0ZXJuOiB7fSxcbiAgICBpZ25vcmVQYWNrYWdlczogZmFsc2UsXG4gIH07XG5cbiAgY29udGV4dC5vcHRpb25zLmZvckVhY2gob2JqID0+IHtcblxuICAgIC8vIElmIHRoaXMgaXMgYSBzdHJpbmcsIHNldCBkZWZhdWx0Q29uZmlnIHRvIGl0cyB2YWx1ZVxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0LmRlZmF1bHRDb25maWcgPSBvYmo7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSWYgdGhpcyBpcyBub3QgdGhlIG5ldyBzdHJ1Y3R1cmUsIHRyYW5zZmVyIGFsbCBwcm9wcyB0byByZXN1bHQucGF0dGVyblxuICAgIGlmIChvYmoucGF0dGVybiA9PT0gdW5kZWZpbmVkICYmIG9iai5pZ25vcmVQYWNrYWdlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdC5wYXR0ZXJuLCBvYmopO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIHBhdHRlcm4gaXMgcHJvdmlkZWQsIHRyYW5zZmVyIGFsbCBwcm9wc1xuICAgIGlmIChvYmoucGF0dGVybiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdC5wYXR0ZXJuLCBvYmoucGF0dGVybik7XG4gICAgfVxuXG4gICAgLy8gSWYgaWdub3JlUGFja2FnZXMgaXMgcHJvdmlkZWQsIHRyYW5zZmVyIGl0IHRvIHJlc3VsdFxuICAgIGlmIChvYmouaWdub3JlUGFja2FnZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0Lmlnbm9yZVBhY2thZ2VzID0gb2JqLmlnbm9yZVBhY2thZ2VzO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHJlc3VsdC5kZWZhdWx0Q29uZmlnID09PSAnaWdub3JlUGFja2FnZXMnKSB7XG4gICAgcmVzdWx0LmRlZmF1bHRDb25maWcgPSAnYWx3YXlzJztcbiAgICByZXN1bHQuaWdub3JlUGFja2FnZXMgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdleHRlbnNpb25zJyksXG4gICAgfSxcblxuICAgIHNjaGVtYToge1xuICAgICAgYW55T2Y6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgaXRlbXM6IFtlbnVtVmFsdWVzXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgZW51bVZhbHVlcyxcbiAgICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBpdGVtczogW3Byb3BlcnRpZXNdLFxuICAgICAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIGl0ZW1zOiBbcGF0dGVyblByb3BlcnRpZXNdLFxuICAgICAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICBlbnVtVmFsdWVzLFxuICAgICAgICAgICAgcGF0dGVyblByb3BlcnRpZXMsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcblxuICAgIGNvbnN0IHByb3BzID0gYnVpbGRQcm9wZXJ0aWVzKGNvbnRleHQpO1xuXG4gICAgZnVuY3Rpb24gZ2V0TW9kaWZpZXIoZXh0ZW5zaW9uKSB7XG4gICAgICByZXR1cm4gcHJvcHMucGF0dGVybltleHRlbnNpb25dIHx8IHByb3BzLmRlZmF1bHRDb25maWc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNVc2VPZkV4dGVuc2lvblJlcXVpcmVkKGV4dGVuc2lvbiwgaXNQYWNrYWdlKSB7XG4gICAgICByZXR1cm4gZ2V0TW9kaWZpZXIoZXh0ZW5zaW9uKSA9PT0gJ2Fsd2F5cycgJiYgKCFwcm9wcy5pZ25vcmVQYWNrYWdlcyB8fCAhaXNQYWNrYWdlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1VzZU9mRXh0ZW5zaW9uRm9yYmlkZGVuKGV4dGVuc2lvbikge1xuICAgICAgcmV0dXJuIGdldE1vZGlmaWVyKGV4dGVuc2lvbikgPT09ICduZXZlcic7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNSZXNvbHZhYmxlV2l0aG91dEV4dGVuc2lvbihmaWxlKSB7XG4gICAgICBjb25zdCBleHRlbnNpb24gPSBwYXRoLmV4dG5hbWUoZmlsZSk7XG4gICAgICBjb25zdCBmaWxlV2l0aG91dEV4dGVuc2lvbiA9IGZpbGUuc2xpY2UoMCwgLWV4dGVuc2lvbi5sZW5ndGgpO1xuICAgICAgY29uc3QgcmVzb2x2ZWRGaWxlV2l0aG91dEV4dGVuc2lvbiA9IHJlc29sdmUoZmlsZVdpdGhvdXRFeHRlbnNpb24sIGNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gcmVzb2x2ZWRGaWxlV2l0aG91dEV4dGVuc2lvbiA9PT0gcmVzb2x2ZShmaWxlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc0V4dGVybmFsUm9vdE1vZHVsZShmaWxlKSB7XG4gICAgICBjb25zdCBzbGFzaENvdW50ID0gZmlsZS5zcGxpdCgnLycpLmxlbmd0aCAtIDE7XG5cbiAgICAgIGlmIChzbGFzaENvdW50ID09PSAwKSAgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoaXNTY29wZWRNb2R1bGUoZmlsZSkgJiYgc2xhc2hDb3VudCA8PSAxKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0ZpbGVFeHRlbnNpb24oc291cmNlKSB7XG4gICAgICAvLyBiYWlsIGlmIHRoZSBkZWNsYXJhdGlvbiBkb2Vzbid0IGhhdmUgYSBzb3VyY2UsIGUuZy4gXCJleHBvcnQgeyBmb28gfTtcIlxuICAgICAgaWYgKCFzb3VyY2UpIHJldHVybjtcbiAgICAgIFxuICAgICAgY29uc3QgaW1wb3J0UGF0aFdpdGhRdWVyeVN0cmluZyA9IHNvdXJjZS52YWx1ZTtcblxuICAgICAgLy8gZG9uJ3QgZW5mb3JjZSBhbnl0aGluZyBvbiBidWlsdGluc1xuICAgICAgaWYgKGlzQnVpbHRJbihpbXBvcnRQYXRoV2l0aFF1ZXJ5U3RyaW5nLCBjb250ZXh0LnNldHRpbmdzKSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBpbXBvcnRQYXRoID0gaW1wb3J0UGF0aFdpdGhRdWVyeVN0cmluZy5yZXBsYWNlKC9cXD8oLiopJC8sICcnKTtcblxuICAgICAgLy8gZG9uJ3QgZW5mb3JjZSBpbiByb290IGV4dGVybmFsIHBhY2thZ2VzIGFzIHRoZXkgbWF5IGhhdmUgbmFtZXMgd2l0aCBgLmpzYC5cbiAgICAgIC8vIExpa2UgYGltcG9ydCBEZWNpbWFsIGZyb20gZGVjaW1hbC5qc2ApXG4gICAgICBpZiAoaXNFeHRlcm5hbFJvb3RNb2R1bGUoaW1wb3J0UGF0aCkpIHJldHVybjtcblxuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShpbXBvcnRQYXRoLCBjb250ZXh0KTtcblxuICAgICAgLy8gZ2V0IGV4dGVuc2lvbiBmcm9tIHJlc29sdmVkIHBhdGgsIGlmIHBvc3NpYmxlLlxuICAgICAgLy8gZm9yIHVucmVzb2x2ZWQsIHVzZSBzb3VyY2UgdmFsdWUuXG4gICAgICBjb25zdCBleHRlbnNpb24gPSBwYXRoLmV4dG5hbWUocmVzb2x2ZWRQYXRoIHx8IGltcG9ydFBhdGgpLnN1YnN0cmluZygxKTtcblxuICAgICAgLy8gZGV0ZXJtaW5lIGlmIHRoaXMgaXMgYSBtb2R1bGVcbiAgICAgIGNvbnN0IGlzUGFja2FnZSA9IGlzRXh0ZXJuYWxNb2R1bGUoXG4gICAgICAgIGltcG9ydFBhdGgsXG4gICAgICAgIGNvbnRleHQuc2V0dGluZ3MsXG4gICAgICAgIHJlc29sdmUoaW1wb3J0UGF0aCwgY29udGV4dCksXG4gICAgICAgIGNvbnRleHRcbiAgICAgICkgfHwgaXNTY29wZWQoaW1wb3J0UGF0aCk7XG5cbiAgICAgIGlmICghZXh0ZW5zaW9uIHx8ICFpbXBvcnRQYXRoLmVuZHNXaXRoKGAuJHtleHRlbnNpb259YCkpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uUmVxdWlyZWQgPSBpc1VzZU9mRXh0ZW5zaW9uUmVxdWlyZWQoZXh0ZW5zaW9uLCBpc1BhY2thZ2UpO1xuICAgICAgICBjb25zdCBleHRlbnNpb25Gb3JiaWRkZW4gPSBpc1VzZU9mRXh0ZW5zaW9uRm9yYmlkZGVuKGV4dGVuc2lvbik7XG4gICAgICAgIGlmIChleHRlbnNpb25SZXF1aXJlZCAmJiAhZXh0ZW5zaW9uRm9yYmlkZGVuKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZTogc291cmNlLFxuICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgYE1pc3NpbmcgZmlsZSBleHRlbnNpb24gJHtleHRlbnNpb24gPyBgXCIke2V4dGVuc2lvbn1cIiBgIDogJyd9Zm9yIFwiJHtpbXBvcnRQYXRoV2l0aFF1ZXJ5U3RyaW5nfVwiYCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChleHRlbnNpb24pIHtcbiAgICAgICAgaWYgKGlzVXNlT2ZFeHRlbnNpb25Gb3JiaWRkZW4oZXh0ZW5zaW9uKSAmJiBpc1Jlc29sdmFibGVXaXRob3V0RXh0ZW5zaW9uKGltcG9ydFBhdGgpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZTogc291cmNlLFxuICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdXNlIG9mIGZpbGUgZXh0ZW5zaW9uIFwiJHtleHRlbnNpb259XCIgZm9yIFwiJHtpbXBvcnRQYXRoV2l0aFF1ZXJ5U3RyaW5nfVwiYCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKGNoZWNrRmlsZUV4dGVuc2lvbiwgeyBjb21tb25qczogdHJ1ZSB9KTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/first.js b/node_modules/eslint-plugin-import/lib/rules/first.js index 02d8229c2..7c8422678 100644 --- a/node_modules/eslint-plugin-import/lib/rules/first.js +++ b/node_modules/eslint-plugin-import/lib/rules/first.js @@ -1,5 +1,11 @@ 'use strict';var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +function getImportValue(node) { + return node.type === 'ImportDeclaration' ? + node.source.value : + node.moduleReference.expression.value; +} + module.exports = { meta: { type: 'suggestion', @@ -24,18 +30,18 @@ module.exports = { return { 'Program': function (n) { - const body = n.body, - absoluteFirst = context.options[0] === 'absolute-first', - message = 'Import in body of module; reorder to top.', - sourceCode = context.getSourceCode(), - originSourceCode = sourceCode.getText(); - let nonImportCount = 0, - anyExpressions = false, - anyRelative = false, - lastLegalImp = null, - errorInfos = [], - shouldSort = true, - lastSortNodesIndex = 0; + const body = n.body; + const absoluteFirst = context.options[0] === 'absolute-first'; + const message = 'Import in body of module; reorder to top.'; + const sourceCode = context.getSourceCode(); + const originSourceCode = sourceCode.getText(); + let nonImportCount = 0; + let anyExpressions = false; + let anyRelative = false; + let lastLegalImp = null; + const errorInfos = []; + let shouldSort = true; + let lastSortNodesIndex = 0; body.forEach(function (node, index) { if (!anyExpressions && isPossibleDirective(node)) { return; @@ -43,23 +49,23 @@ module.exports = { anyExpressions = true; - if (node.type === 'ImportDeclaration') { + if (node.type === 'ImportDeclaration' || node.type === 'TSImportEqualsDeclaration') { if (absoluteFirst) { - if (/^\./.test(node.source.value)) { + if (/^\./.test(getImportValue(node))) { anyRelative = true; } else if (anyRelative) { context.report({ - node: node.source, + node: node.type === 'ImportDeclaration' ? node.source : node.moduleReference, message: 'Absolute imports should come before relative imports.' }); } } if (nonImportCount > 0) { - for (let variable of context.getDeclaredVariables(node)) { + for (const variable of context.getDeclaredVariables(node)) { if (!shouldSort) break; const references = variable.references; if (references.length) { - for (let reference of references) { + for (const reference of references) { if (reference.identifier.range[0] < node.range[1]) { shouldSort = false; break; @@ -81,8 +87,8 @@ module.exports = { }); if (!errorInfos.length) return; errorInfos.forEach(function (errorInfo, index) { - const node = errorInfo.node, - infos = { + const node = errorInfo.node; + const infos = { node, message }; @@ -95,8 +101,8 @@ module.exports = { infos.fix = function (fixer) { const removeFixers = sortNodes.map(function (_errorInfo) { return fixer.removeRange(_errorInfo.range); - }), - range = [0, removeFixers[removeFixers.length - 1].range[1]]; + }); + const range = [0, removeFixers[removeFixers.length - 1].range[1]]; let insertSourceCode = sortNodes.map(function (_errorInfo) { const nodeSourceCode = String.prototype.slice.apply( originSourceCode, _errorInfo.range); @@ -105,9 +111,9 @@ module.exports = { return '\n' + nodeSourceCode; } return nodeSourceCode; - }).join(''), - insertFixer = null, - replaceSourceCode = ''; + }).join(''); + let insertFixer = null; + let replaceSourceCode = ''; if (!lastLegalImp) { insertSourceCode = insertSourceCode.trim() + insertSourceCode.match(/^(\s+)/)[0]; @@ -129,4 +135,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9maXJzdC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsImVudW0iLCJjcmVhdGUiLCJjb250ZXh0IiwiaXNQb3NzaWJsZURpcmVjdGl2ZSIsIm5vZGUiLCJleHByZXNzaW9uIiwidmFsdWUiLCJuIiwiYm9keSIsImFic29sdXRlRmlyc3QiLCJvcHRpb25zIiwibWVzc2FnZSIsInNvdXJjZUNvZGUiLCJnZXRTb3VyY2VDb2RlIiwib3JpZ2luU291cmNlQ29kZSIsImdldFRleHQiLCJub25JbXBvcnRDb3VudCIsImFueUV4cHJlc3Npb25zIiwiYW55UmVsYXRpdmUiLCJsYXN0TGVnYWxJbXAiLCJlcnJvckluZm9zIiwic2hvdWxkU29ydCIsImxhc3RTb3J0Tm9kZXNJbmRleCIsImZvckVhY2giLCJpbmRleCIsInRlc3QiLCJzb3VyY2UiLCJyZXBvcnQiLCJ2YXJpYWJsZSIsImdldERlY2xhcmVkVmFyaWFibGVzIiwicmVmZXJlbmNlcyIsImxlbmd0aCIsInJlZmVyZW5jZSIsImlkZW50aWZpZXIiLCJyYW5nZSIsInB1c2giLCJlcnJvckluZm8iLCJpbmZvcyIsImZpeCIsImZpeGVyIiwiaW5zZXJ0VGV4dEFmdGVyIiwic29ydE5vZGVzIiwic2xpY2UiLCJyZW1vdmVGaXhlcnMiLCJtYXAiLCJfZXJyb3JJbmZvIiwicmVtb3ZlUmFuZ2UiLCJpbnNlcnRTb3VyY2VDb2RlIiwibm9kZVNvdXJjZUNvZGUiLCJTdHJpbmciLCJwcm90b3R5cGUiLCJhcHBseSIsImpvaW4iLCJpbnNlcnRGaXhlciIsInJlcGxhY2VTb3VyY2VDb2RlIiwidHJpbSIsIm1hdGNoIiwiaW5zZXJ0VGV4dEJlZm9yZSIsImZpeGVycyIsImNvbmNhdCIsImNvbXB1dGVkRml4ZXIiLCJpIiwidGV4dCIsInJlcGxhY2VUZXh0UmFuZ2UiXSwibWFwcGluZ3MiOiJhQUFBLHFD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QVJnQixDQVFYLEVBUlcsQ0FBdkI7QUFTSUMsNEJBQWMsSUFUbEI7QUFVSUMsa0NBQW9CLEVBVnhCO0FBV0Esa0JBQUksQ0FBQ25DLFlBQUwsRUFBbUI7QUFDZjRCO0FBQ0VBLGlDQUFpQlEsSUFBakIsS0FBMEJSLGlCQUFpQlMsS0FBakIsQ0FBdUIsUUFBdkIsRUFBaUMsQ0FBakMsQ0FENUI7QUFFSDtBQUNESCw0QkFBY2xDO0FBQ0FvQixvQkFBTUMsZUFBTixDQUFzQnJCLFlBQXRCLEVBQW9DNEIsZ0JBQXBDLENBREE7QUFFQVIsb0JBQU1rQixnQkFBTixDQUF1QmpELEtBQUssQ0FBTCxDQUF2QixFQUFnQ3VDLGdCQUFoQyxDQUZkO0FBR0Esb0JBQU1XLFNBQVMsQ0FBQ0wsV0FBRCxFQUFjTSxNQUFkLENBQXFCaEIsWUFBckIsQ0FBZjtBQUNBZSxxQkFBT25DLE9BQVAsQ0FBZSxVQUFVcUMsYUFBVixFQUF5QkMsQ0FBekIsRUFBNEI7QUFDekNQLHFDQUFzQnhDLGlCQUFpQjRCLEtBQWpCO0FBQ3BCZ0IsdUJBQU9HLElBQUksQ0FBWCxJQUFnQkgsT0FBT0csSUFBSSxDQUFYLEVBQWMzQixLQUFkLENBQW9CLENBQXBCLENBQWhCLEdBQXlDLENBRHJCLEVBQ3dCMEIsY0FBYzFCLEtBQWQsQ0FBb0IsQ0FBcEIsQ0FEeEI7QUFFbEIwQiw4QkFBY0UsSUFGbEI7QUFHRCxlQUpEO0FBS0EscUJBQU92QixNQUFNd0IsZ0JBQU4sQ0FBdUI3QixLQUF2QixFQUE4Qm9CLGlCQUE5QixDQUFQO0FBQ0QsYUE5QkQ7QUErQkQ7QUFDRHBELGtCQUFReUIsTUFBUixDQUFlVSxLQUFmO0FBQ0QsU0E3Q0Q7QUE4Q0QsT0F4R0ksRUFBUDs7QUEwR0QsR0FoSWMsRUFBakIiLCJmaWxlIjoiZmlyc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ2ZpcnN0JyksXG4gICAgfSxcbiAgICBmaXhhYmxlOiAnY29kZScsXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ2Fic29sdXRlLWZpcnN0JywgJ2Rpc2FibGUtYWJzb2x1dGUtZmlyc3QnXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgZnVuY3Rpb24gaXNQb3NzaWJsZURpcmVjdGl2ZSAobm9kZSkge1xuICAgICAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ0V4cHJlc3Npb25TdGF0ZW1lbnQnICYmXG4gICAgICAgIG5vZGUuZXhwcmVzc2lvbi50eXBlID09PSAnTGl0ZXJhbCcgJiZcbiAgICAgICAgdHlwZW9mIG5vZGUuZXhwcmVzc2lvbi52YWx1ZSA9PT0gJ3N0cmluZydcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ1Byb2dyYW0nOiBmdW5jdGlvbiAobikge1xuICAgICAgICBjb25zdCBib2R5ID0gbi5ib2R5XG4gICAgICAgICAgICAsIGFic29sdXRlRmlyc3QgPSBjb250ZXh0Lm9wdGlvbnNbMF0gPT09ICdhYnNvbHV0ZS1maXJzdCdcbiAgICAgICAgICAgICwgbWVzc2FnZSA9ICdJbXBvcnQgaW4gYm9keSBvZiBtb2R1bGU7IHJlb3JkZXIgdG8gdG9wLidcbiAgICAgICAgICAgICwgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpXG4gICAgICAgICAgICAsIG9yaWdpblNvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmdldFRleHQoKVxuICAgICAgICBsZXQgbm9uSW1wb3J0Q291bnQgPSAwXG4gICAgICAgICAgLCBhbnlFeHByZXNzaW9ucyA9IGZhbHNlXG4gICAgICAgICAgLCBhbnlSZWxhdGl2ZSA9IGZhbHNlXG4gICAgICAgICAgLCBsYXN0TGVnYWxJbXAgPSBudWxsXG4gICAgICAgICAgLCBlcnJvckluZm9zID0gW11cbiAgICAgICAgICAsIHNob3VsZFNvcnQgPSB0cnVlXG4gICAgICAgICAgLCBsYXN0U29ydE5vZGVzSW5kZXggPSAwXG4gICAgICAgIGJvZHkuZm9yRWFjaChmdW5jdGlvbiAobm9kZSwgaW5kZXgpe1xuICAgICAgICAgIGlmICghYW55RXhwcmVzc2lvbnMgJiYgaXNQb3NzaWJsZURpcmVjdGl2ZShub2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYW55RXhwcmVzc2lvbnMgPSB0cnVlXG5cbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nKSB7XG4gICAgICAgICAgICBpZiAoYWJzb2x1dGVGaXJzdCkge1xuICAgICAgICAgICAgICBpZiAoL15cXC4vLnRlc3Qobm9kZS5zb3VyY2UudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgYW55UmVsYXRpdmUgPSB0cnVlXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoYW55UmVsYXRpdmUpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgICBub2RlOiBub2RlLnNvdXJjZSxcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdBYnNvbHV0ZSBpbXBvcnRzIHNob3VsZCBjb21lIGJlZm9yZSByZWxhdGl2ZSBpbXBvcnRzLicsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5vbkltcG9ydENvdW50ID4gMCkge1xuICAgICAgICAgICAgICBmb3IgKGxldCB2YXJpYWJsZSBvZiBjb250ZXh0LmdldERlY2xhcmVkVmFyaWFibGVzKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzaG91bGRTb3J0KSBicmVha1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSB2YXJpYWJsZS5yZWZlcmVuY2VzXG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBmb3IgKGxldCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMF0gPCBub2RlLnJhbmdlWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc2hvdWxkU29ydCA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzaG91bGRTb3J0ICYmIChsYXN0U29ydE5vZGVzSW5kZXggPSBlcnJvckluZm9zLmxlbmd0aClcbiAgICAgICAgICAgICAgZXJyb3JJbmZvcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIHJhbmdlOiBbYm9keVtpbmRleCAtIDFdLnJhbmdlWzFdLCBub2RlLnJhbmdlWzFdXSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGxhc3RMZWdhbEltcCA9IG5vZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9uSW1wb3J0Q291bnQrK1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgaWYgKCFlcnJvckluZm9zLmxlbmd0aCkgcmV0dXJuXG4gICAgICAgIGVycm9ySW5mb3MuZm9yRWFjaChmdW5jdGlvbiAoZXJyb3JJbmZvLCBpbmRleCkge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSBlcnJvckluZm8ubm9kZVxuICAgICAgICAgICAgICAsIGluZm9zID0ge1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbmRleCA8IGxhc3RTb3J0Tm9kZXNJbmRleCkge1xuICAgICAgICAgICAgaW5mb3MuZml4ID0gZnVuY3Rpb24gKGZpeGVyKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmaXhlci5pbnNlcnRUZXh0QWZ0ZXIobm9kZSwgJycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gbGFzdFNvcnROb2Rlc0luZGV4KSB7XG4gICAgICAgICAgICBjb25zdCBzb3J0Tm9kZXMgPSBlcnJvckluZm9zLnNsaWNlKDAsIGxhc3RTb3J0Tm9kZXNJbmRleCArIDEpXG4gICAgICAgICAgICBpbmZvcy5maXggPSBmdW5jdGlvbiAoZml4ZXIpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlRml4ZXJzID0gc29ydE5vZGVzLm1hcChmdW5jdGlvbiAoX2Vycm9ySW5mbykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZml4ZXIucmVtb3ZlUmFuZ2UoX2Vycm9ySW5mby5yYW5nZSlcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAsIHJhbmdlID0gWzAsIHJlbW92ZUZpeGVyc1tyZW1vdmVGaXhlcnMubGVuZ3RoIC0gMV0ucmFuZ2VbMV1dXG4gICAgICAgICAgICAgIGxldCBpbnNlcnRTb3VyY2VDb2RlID0gc29ydE5vZGVzLm1hcChmdW5jdGlvbiAoX2Vycm9ySW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlU291cmNlQ29kZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuYXBwbHkoXG4gICAgICAgICAgICAgICAgICAgICAgb3JpZ2luU291cmNlQ29kZSwgX2Vycm9ySW5mby5yYW5nZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIGlmICgvXFxTLy50ZXN0KG5vZGVTb3VyY2VDb2RlWzBdKSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnXFxuJyArIG5vZGVTb3VyY2VDb2RlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVTb3VyY2VDb2RlXG4gICAgICAgICAgICAgICAgICB9KS5qb2luKCcnKVxuICAgICAgICAgICAgICAgICwgaW5zZXJ0Rml4ZXIgPSBudWxsXG4gICAgICAgICAgICAgICAgLCByZXBsYWNlU291cmNlQ29kZSA9ICcnXG4gICAgICAgICAgICAgIGlmICghbGFzdExlZ2FsSW1wKSB7XG4gICAgICAgICAgICAgICAgICBpbnNlcnRTb3VyY2VDb2RlID1cbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0U291cmNlQ29kZS50cmltKCkgKyBpbnNlcnRTb3VyY2VDb2RlLm1hdGNoKC9eKFxccyspLylbMF1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbnNlcnRGaXhlciA9IGxhc3RMZWdhbEltcCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGxhc3RMZWdhbEltcCwgaW5zZXJ0U291cmNlQ29kZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVyLmluc2VydFRleHRCZWZvcmUoYm9keVswXSwgaW5zZXJ0U291cmNlQ29kZSlcbiAgICAgICAgICAgICAgY29uc3QgZml4ZXJzID0gW2luc2VydEZpeGVyXS5jb25jYXQocmVtb3ZlRml4ZXJzKVxuICAgICAgICAgICAgICBmaXhlcnMuZm9yRWFjaChmdW5jdGlvbiAoY29tcHV0ZWRGaXhlciwgaSkge1xuICAgICAgICAgICAgICAgIHJlcGxhY2VTb3VyY2VDb2RlICs9IChvcmlnaW5Tb3VyY2VDb2RlLnNsaWNlKFxuICAgICAgICAgICAgICAgICAgZml4ZXJzW2kgLSAxXSA/IGZpeGVyc1tpIC0gMV0ucmFuZ2VbMV0gOiAwLCBjb21wdXRlZEZpeGVyLnJhbmdlWzBdXG4gICAgICAgICAgICAgICAgKSArIGNvbXB1dGVkRml4ZXIudGV4dClcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgcmV0dXJuIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UocmFuZ2UsIHJlcGxhY2VTb3VyY2VDb2RlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChpbmZvcylcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9maXJzdC5qcyJdLCJuYW1lcyI6WyJnZXRJbXBvcnRWYWx1ZSIsIm5vZGUiLCJ0eXBlIiwic291cmNlIiwidmFsdWUiLCJtb2R1bGVSZWZlcmVuY2UiLCJleHByZXNzaW9uIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsImVudW0iLCJjcmVhdGUiLCJjb250ZXh0IiwiaXNQb3NzaWJsZURpcmVjdGl2ZSIsIm4iLCJib2R5IiwiYWJzb2x1dGVGaXJzdCIsIm9wdGlvbnMiLCJtZXNzYWdlIiwic291cmNlQ29kZSIsImdldFNvdXJjZUNvZGUiLCJvcmlnaW5Tb3VyY2VDb2RlIiwiZ2V0VGV4dCIsIm5vbkltcG9ydENvdW50IiwiYW55RXhwcmVzc2lvbnMiLCJhbnlSZWxhdGl2ZSIsImxhc3RMZWdhbEltcCIsImVycm9ySW5mb3MiLCJzaG91bGRTb3J0IiwibGFzdFNvcnROb2Rlc0luZGV4IiwiZm9yRWFjaCIsImluZGV4IiwidGVzdCIsInJlcG9ydCIsInZhcmlhYmxlIiwiZ2V0RGVjbGFyZWRWYXJpYWJsZXMiLCJyZWZlcmVuY2VzIiwibGVuZ3RoIiwicmVmZXJlbmNlIiwiaWRlbnRpZmllciIsInJhbmdlIiwicHVzaCIsImVycm9ySW5mbyIsImluZm9zIiwiZml4IiwiZml4ZXIiLCJpbnNlcnRUZXh0QWZ0ZXIiLCJzb3J0Tm9kZXMiLCJzbGljZSIsInJlbW92ZUZpeGVycyIsIm1hcCIsIl9lcnJvckluZm8iLCJyZW1vdmVSYW5nZSIsImluc2VydFNvdXJjZUNvZGUiLCJub2RlU291cmNlQ29kZSIsIlN0cmluZyIsInByb3RvdHlwZSIsImFwcGx5Iiwiam9pbiIsImluc2VydEZpeGVyIiwicmVwbGFjZVNvdXJjZUNvZGUiLCJ0cmltIiwibWF0Y2giLCJpbnNlcnRUZXh0QmVmb3JlIiwiZml4ZXJzIiwiY29uY2F0IiwiY29tcHV0ZWRGaXhlciIsImkiLCJ0ZXh0IiwicmVw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bEIwQiw4QkFBY0UsSUFGbEI7QUFHRCxlQUpEO0FBS0EscUJBQU92QixNQUFNd0IsZ0JBQU4sQ0FBdUI3QixLQUF2QixFQUE4Qm9CLGlCQUE5QixDQUFQO0FBQ0QsYUE5QkQ7QUErQkQ7QUFDRGhELGtCQUFRcUIsTUFBUixDQUFlVSxLQUFmO0FBQ0QsU0E3Q0Q7QUE4Q0QsT0F4R0ksRUFBUDs7QUEwR0QsR0FoSWMsRUFBakIiLCJmaWxlIjoiZmlyc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuZnVuY3Rpb24gZ2V0SW1wb3J0VmFsdWUobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nXG4gICAgPyBub2RlLnNvdXJjZS52YWx1ZVxuICAgIDogbm9kZS5tb2R1bGVSZWZlcmVuY2UuZXhwcmVzc2lvbi52YWx1ZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdmaXJzdCcpLFxuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZW51bTogWydhYnNvbHV0ZS1maXJzdCcsICdkaXNhYmxlLWFic29sdXRlLWZpcnN0J10sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGZ1bmN0aW9uIGlzUG9zc2libGVEaXJlY3RpdmUgKG5vZGUpIHtcbiAgICAgIHJldHVybiBub2RlLnR5cGUgPT09ICdFeHByZXNzaW9uU3RhdGVtZW50JyAmJlxuICAgICAgICBub2RlLmV4cHJlc3Npb24udHlwZSA9PT0gJ0xpdGVyYWwnICYmXG4gICAgICAgIHR5cGVvZiBub2RlLmV4cHJlc3Npb24udmFsdWUgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnUHJvZ3JhbSc6IGZ1bmN0aW9uIChuKSB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBuLmJvZHk7XG4gICAgICAgIGNvbnN0IGFic29sdXRlRmlyc3QgPSBjb250ZXh0Lm9wdGlvbnNbMF0gPT09ICdhYnNvbHV0ZS1maXJzdCc7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSW1wb3J0IGluIGJvZHkgb2YgbW9kdWxlOyByZW9yZGVyIHRvIHRvcC4nO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCk7XG4gICAgICAgIGNvbnN0IG9yaWdpblNvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmdldFRleHQoKTtcbiAgICAgICAgbGV0IG5vbkltcG9ydENvdW50ID0gMDtcbiAgICAgICAgbGV0IGFueUV4cHJlc3Npb25zID0gZmFsc2U7XG4gICAgICAgIGxldCBhbnlSZWxhdGl2ZSA9IGZhbHNlO1xuICAgICAgICBsZXQgbGFzdExlZ2FsSW1wID0gbnVsbDtcbiAgICAgICAgY29uc3QgZXJyb3JJbmZvcyA9IFtdO1xuICAgICAgICBsZXQgc2hvdWxkU29ydCA9IHRydWU7XG4gICAgICAgIGxldCBsYXN0U29ydE5vZGVzSW5kZXggPSAwO1xuICAgICAgICBib2R5LmZvckVhY2goZnVuY3Rpb24gKG5vZGUsIGluZGV4KXtcbiAgICAgICAgICBpZiAoIWFueUV4cHJlc3Npb25zICYmIGlzUG9zc2libGVEaXJlY3RpdmUobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhbnlFeHByZXNzaW9ucyA9IHRydWU7XG5cbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nIHx8IG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nKSB7XG4gICAgICAgICAgICBpZiAoYWJzb2x1dGVGaXJzdCkge1xuICAgICAgICAgICAgICBpZiAoL15cXC4vLnRlc3QoZ2V0SW1wb3J0VmFsdWUobm9kZSkpKSB7XG4gICAgICAgICAgICAgICAgYW55UmVsYXRpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFueVJlbGF0aXZlKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgICAgbm9kZTogbm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nID8gbm9kZS5zb3VyY2UgOiBub2RlLm1vZHVsZVJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdBYnNvbHV0ZSBpbXBvcnRzIHNob3VsZCBjb21lIGJlZm9yZSByZWxhdGl2ZSBpbXBvcnRzLicsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChub25JbXBvcnRDb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiBjb250ZXh0LmdldERlY2xhcmVkVmFyaWFibGVzKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzaG91bGRTb3J0KSBicmVhaztcbiAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gdmFyaWFibGUucmVmZXJlbmNlcztcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5pZGVudGlmaWVyLnJhbmdlWzBdIDwgbm9kZS5yYW5nZVsxXSkge1xuICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFNvcnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzaG91bGRTb3J0ICYmIChsYXN0U29ydE5vZGVzSW5kZXggPSBlcnJvckluZm9zLmxlbmd0aCk7XG4gICAgICAgICAgICAgIGVycm9ySW5mb3MucHVzaCh7XG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICByYW5nZTogW2JvZHlbaW5kZXggLSAxXS5yYW5nZVsxXSwgbm9kZS5yYW5nZVsxXV0sXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbGFzdExlZ2FsSW1wID0gbm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9uSW1wb3J0Q291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWVycm9ySW5mb3MubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIGVycm9ySW5mb3MuZm9yRWFjaChmdW5jdGlvbiAoZXJyb3JJbmZvLCBpbmRleCkge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSBlcnJvckluZm8ubm9kZTtcbiAgICAgICAgICBjb25zdCBpbmZvcyA9IHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKGluZGV4IDwgbGFzdFNvcnROb2Rlc0luZGV4KSB7XG4gICAgICAgICAgICBpbmZvcy5maXggPSBmdW5jdGlvbiAoZml4ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZpeGVyLmluc2VydFRleHRBZnRlcihub2RlLCAnJyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT09IGxhc3RTb3J0Tm9kZXNJbmRleCkge1xuICAgICAgICAgICAgY29uc3Qgc29ydE5vZGVzID0gZXJyb3JJbmZvcy5zbGljZSgwLCBsYXN0U29ydE5vZGVzSW5kZXggKyAxKTtcbiAgICAgICAgICAgIGluZm9zLmZpeCA9IGZ1bmN0aW9uIChmaXhlcikge1xuICAgICAgICAgICAgICBjb25zdCByZW1vdmVGaXhlcnMgPSBzb3J0Tm9kZXMubWFwKGZ1bmN0aW9uIChfZXJyb3JJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpeGVyLnJlbW92ZVJhbmdlKF9lcnJvckluZm8ucmFuZ2UpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBbMCwgcmVtb3ZlRml4ZXJzW3JlbW92ZUZpeGVycy5sZW5ndGggLSAxXS5yYW5nZVsxXV07XG4gICAgICAgICAgICAgIGxldCBpbnNlcnRTb3VyY2VDb2RlID0gc29ydE5vZGVzLm1hcChmdW5jdGlvbiAoX2Vycm9ySW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVTb3VyY2VDb2RlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZS5hcHBseShcbiAgICAgICAgICAgICAgICAgIG9yaWdpblNvdXJjZUNvZGUsIF9lcnJvckluZm8ucmFuZ2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICgvXFxTLy50ZXN0KG5vZGVTb3VyY2VDb2RlWzBdKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICdcXG4nICsgbm9kZVNvdXJjZUNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBub2RlU291cmNlQ29kZTtcbiAgICAgICAgICAgICAgfSkuam9pbignJyk7XG4gICAgICAgICAgICAgIGxldCBpbnNlcnRGaXhlciA9IG51bGw7XG4gICAgICAgICAgICAgIGxldCByZXBsYWNlU291cmNlQ29kZSA9ICcnO1xuICAgICAgICAgICAgICBpZiAoIWxhc3RMZWdhbEltcCkge1xuICAgICAgICAgICAgICAgIGluc2VydFNvdXJjZUNvZGUgPVxuICAgICAgICAgICAgICAgICAgICBpbnNlcnRTb3VyY2VDb2RlLnRyaW0oKSArIGluc2VydFNvdXJjZUNvZGUubWF0Y2goL14oXFxzKykvKVswXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbnNlcnRGaXhlciA9IGxhc3RMZWdhbEltcCA/XG4gICAgICAgICAgICAgICAgZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGxhc3RMZWdhbEltcCwgaW5zZXJ0U291cmNlQ29kZSkgOlxuICAgICAgICAgICAgICAgIGZpeGVyLmluc2VydFRleHRCZWZvcmUoYm9keVswXSwgaW5zZXJ0U291cmNlQ29kZSk7XG4gICAgICAgICAgICAgIGNvbnN0IGZpeGVycyA9IFtpbnNlcnRGaXhlcl0uY29uY2F0KHJlbW92ZUZpeGVycyk7XG4gICAgICAgICAgICAgIGZpeGVycy5mb3JFYWNoKGZ1bmN0aW9uIChjb21wdXRlZEZpeGVyLCBpKSB7XG4gICAgICAgICAgICAgICAgcmVwbGFjZVNvdXJjZUNvZGUgKz0gKG9yaWdpblNvdXJjZUNvZGUuc2xpY2UoXG4gICAgICAgICAgICAgICAgICBmaXhlcnNbaSAtIDFdID8gZml4ZXJzW2kgLSAxXS5yYW5nZVsxXSA6IDAsIGNvbXB1dGVkRml4ZXIucmFuZ2VbMF1cbiAgICAgICAgICAgICAgICApICsgY29tcHV0ZWRGaXhlci50ZXh0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKHJhbmdlLCByZXBsYWNlU291cmNlQ29kZSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChpbmZvcyk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/group-exports.js b/node_modules/eslint-plugin-import/lib/rules/group-exports.js index 42f6b4954..56ad66883 100644 --- a/node_modules/eslint-plugin-import/lib/rules/group-exports.js +++ b/node_modules/eslint-plugin-import/lib/rules/group-exports.js @@ -5,28 +5,28 @@ var _arrayPrototype = require('array.prototype.flat');var _arrayPrototype2 = _in const meta = { type: 'suggestion', docs: { - url: (0, _docsUrl2.default)('group-exports') } + url: (0, _docsUrl2.default)('group-exports') } }; - /* eslint-disable max-len */ }; +/* eslint-disable max-len */ const errors = { ExportNamedDeclaration: 'Multiple named export declarations; consolidate all named exports into a single export declaration', - AssignmentExpression: 'Multiple CommonJS exports; consolidate all exports into a single assignment to `module.exports`' + AssignmentExpression: 'Multiple CommonJS exports; consolidate all exports into a single assignment to `module.exports`' }; - /* eslint-enable max-len */ +/* eslint-enable max-len */ - /** - * Returns an array with names of the properties in the accessor chain for MemberExpression nodes - * - * Example: - * - * `module.exports = {}` => ['module', 'exports'] - * `module.exports.property = true` => ['module', 'exports', 'property'] - * - * @param {Node} node AST Node (MemberExpression) - * @return {Array} Array with the property names in the chain - * @private - */ }; +/** + * Returns an array with names of the properties in the accessor chain for MemberExpression nodes + * + * Example: + * + * `module.exports = {}` => ['module', 'exports'] + * `module.exports.property = true` => ['module', 'exports', 'property'] + * + * @param {Node} node AST Node (MemberExpression) + * @return {Array} Array with the property names in the chain + * @private + */ function accessorChain(node) { const chain = []; @@ -61,7 +61,7 @@ function create(context) { return { ExportNamedDeclaration(node) { - let target = node.exportKind === 'type' ? nodes.types : nodes.modules; + const target = node.exportKind === 'type' ? nodes.types : nodes.modules; if (!node.source) { target.set.add(node); } else if (Array.isArray(target.sources[node.source.value])) { @@ -150,4 +150,4 @@ function create(context) { module.exports = { meta, create }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9ncm91cC1leHBvcnRzLmpzIl0sIm5hbWVzIjpbIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImVycm9ycyIsIkV4cG9ydE5hbWVkRGVjbGFyYXRpb24iLCJBc3NpZ25tZW50RXhwcmVzc2lvbiIsImFjY2Vzc29yQ2hhaW4iLCJub2RlIiwiY2hhaW4iLCJ1bnNoaWZ0IiwicHJvcGVydHkiLCJuYW1lIiwib2JqZWN0IiwiY3JlYXRlIiwiY29udGV4dCIsIm5vZGVzIiwibW9kdWxlcyIsInNldCIsIlNldCIsInNvdXJjZXMiLCJ0eXBlcyIsImNvbW1vbmpzIiwidGFyZ2V0IiwiZXhwb3J0S2luZCIsInNvdXJjZSIsImFkZCIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlIiwicHVzaCIsImxlZnQiLCJsZW5ndGgiLCJvbkV4aXQiLCJzaXplIiwiZm9yRWFjaCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJmaWx0ZXIiLCJub2Rlc1dpdGhTb3VyY2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxxQztBQUNBLHVDO0FBQ0Esc0Q7O0FBRUEsTUFBTUEsT0FBTztBQUNYQyxRQUFNLFlBREs7QUFFWEMsUUFBTTtBQUNKQyxTQUFLLHVCQUFRLGVBQVIsQ0FERDs7O0FBSVIsOEJBTmEsRUFBYjtBQU9BLE1BQU1DLFNBQVM7QUFDYkMsMEJBQXdCLG9HQURYO0FBRWJDLHdCQUFzQjs7QUFFeEI7O0FBRUE7Ozs7Ozs7Ozs7O2lDQU5lLEVBQWY7QUFrQkEsU0FBU0MsYUFBVCxDQUF1QkMsSUFBdkIsRUFBNkI7QUFDM0IsUUFBTUMsUUFBUSxFQUFkOztBQUVBLEtBQUc7QUFDREEsVUFBTUMsT0FBTixDQUFjRixLQUFLRyxRQUFMLENBQWNDLElBQTVCOztBQUVBLFFBQUlKLEtBQUtLLE1BQUwsQ0FBWVosSUFBWixLQUFxQixZQUF6QixFQUF1QztBQUNyQ1EsWUFBTUMsT0FBTixDQUFjRixLQUFLSyxNQUFMLENBQVlELElBQTFCO0FB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QixJQUFoQixHQUF1QixDQUEzQixFQUE4QjtBQUM1QmxCLGNBQU1LLEtBQU4sQ0FBWUgsR0FBWixDQUFnQmlCLE9BQWhCLENBQXdCM0IsUUFBUTtBQUM5Qk8sa0JBQVFxQixNQUFSLENBQWU7QUFDYjVCLGdCQURhO0FBRWI2QixxQkFBU2pDLE9BQU9JLEtBQUtQLElBQVosQ0FGSSxFQUFmOztBQUlELFNBTEQ7QUFNRDs7QUFFRDtBQUNBLG9DQUFLLHNCQUFPZSxNQUFNSyxLQUFOLENBQVlELE9BQW5CO0FBQ0ZrQixZQURFLENBQ0tDLG1CQUFtQlosTUFBTUMsT0FBTixDQUFjVyxlQUFkLEtBQWtDQSxnQkFBZ0JQLE1BQWhCLEdBQXlCLENBRG5GLENBQUw7QUFFR0csYUFGSCxDQUVZM0IsSUFBRCxJQUFVO0FBQ2pCTyxnQkFBUXFCLE1BQVIsQ0FBZTtBQUNiNUIsY0FEYTtBQUViNkIsbUJBQVNqQyxPQUFPSSxLQUFLUCxJQUFaLENBRkksRUFBZjs7QUFJRCxPQVBIOztBQVNBO0FBQ0EsVUFBSWUsTUFBTU0sUUFBTixDQUFlSixHQUFmLENBQW1CZ0IsSUFBbkIsR0FBMEIsQ0FBOUIsRUFBaUM7QUFDL0JsQixjQUFNTSxRQUFOLENBQWVKLEdBQWYsQ0FBbUJpQixPQUFuQixDQUEyQjNCLFFBQVE7QUFDakNPLGtCQUFRcUIsTUFBUixDQUFlO0FBQ2I1QixnQkFEYTtBQUViNkIscUJBQVNqQyxPQUFPSSxLQUFLUCxJQUFaLENBRkksRUFBZjs7QUFJRCxTQUxEO0FBTUQ7QUFDRixLQXBGSSxFQUFQOztBQXNGRDs7QUFFRHVDLE9BQU9DLE9BQVAsR0FBaUI7QUFDZnpDLE1BRGU7QUFFZmMsUUFGZSxFQUFqQiIsImZpbGUiOiJncm91cC1leHBvcnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcbmltcG9ydCB2YWx1ZXMgZnJvbSAnb2JqZWN0LnZhbHVlcydcbmltcG9ydCBmbGF0IGZyb20gJ2FycmF5LnByb3RvdHlwZS5mbGF0J1xuXG5jb25zdCBtZXRhID0ge1xuICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gIGRvY3M6IHtcbiAgICB1cmw6IGRvY3NVcmwoJ2dyb3VwLWV4cG9ydHMnKSxcbiAgfSxcbn1cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbmNvbnN0IGVycm9ycyA9IHtcbiAgRXhwb3J0TmFtZWREZWNsYXJhdGlvbjogJ011bHRpcGxlIG5hbWVkIGV4cG9ydCBkZWNsYXJhdGlvbnM7IGNvbnNvbGlkYXRlIGFsbCBuYW1lZCBleHBvcnRzIGludG8gYSBzaW5nbGUgZXhwb3J0IGRlY2xhcmF0aW9uJyxcbiAgQXNzaWdubWVudEV4cHJlc3Npb246ICdNdWx0aXBsZSBDb21tb25KUyBleHBvcnRzOyBjb25zb2xpZGF0ZSBhbGwgZXhwb3J0cyBpbnRvIGEgc2luZ2xlIGFzc2lnbm1lbnQgdG8gYG1vZHVsZS5leHBvcnRzYCcsXG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IHdpdGggbmFtZXMgb2YgdGhlIHByb3BlcnRpZXMgaW4gdGhlIGFjY2Vzc29yIGNoYWluIGZvciBNZW1iZXJFeHByZXNzaW9uIG5vZGVzXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBgbW9kdWxlLmV4cG9ydHMgPSB7fWAgPT4gWydtb2R1bGUnLCAnZXhwb3J0cyddXG4gKiBgbW9kdWxlLmV4cG9ydHMucHJvcGVydHkgPSB0cnVlYCA9PiBbJ21vZHVsZScsICdleHBvcnRzJywgJ3Byb3BlcnR5J11cbiAqXG4gKiBAcGFyYW0gICAgIHtOb2RlfSAgICBub2RlICAgIEFTVCBOb2RlIChNZW1iZXJFeHByZXNzaW9uKVxuICogQHJldHVybiAgICB7QXJyYXl9ICAgICAgICAgICBBcnJheSB3aXRoIHRoZSBwcm9wZXJ0eSBuYW1lcyBpbiB0aGUgY2hhaW5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGFjY2Vzc29yQ2hhaW4obm9kZSkge1xuICBjb25zdCBjaGFpbiA9IFtdXG5cbiAgZG8ge1xuICAgIGNoYWluLnVuc2hpZnQobm9kZS5wcm9wZXJ0eS5uYW1lKVxuXG4gICAgaWYgKG5vZGUub2JqZWN0LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgY2hhaW4udW5zaGlmdChub2RlLm9iamVjdC5uYW1lKVxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5vYmplY3RcbiAgfSB3aGlsZSAobm9kZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicpXG5cbiAgcmV0dXJuIGNoYWluXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0KSB7XG4gIGNvbnN0IG5vZGVzID0ge1xuICAgIG1vZHVsZXM6IHtcbiAgICAgIHNldDogbmV3IFNldCgpLFxuICAgICAgc291cmNlczoge30sXG4gICAgfSxcbiAgICB0eXBlczoge1xuICAgICAgc2V0OiBuZXcgU2V0KCksXG4gICAgICBzb3VyY2VzOiB7fSxcbiAgICB9LFxuICAgIGNvbW1vbmpzOiB7XG4gICAgICBzZXQ6IG5ldyBTZXQoKSxcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgIGxldCB0YXJnZXQgPSBub2RlLmV4cG9ydEtpbmQgPT09ICd0eXBlJyA/IG5vZGVzLnR5cGVzIDogbm9kZXMubW9kdWxlc1xuICAgICAgaWYgKCFub2RlLnNvdXJjZSkge1xuICAgICAgICB0YXJnZXQuc2V0LmFkZChub2RlKVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRhcmdldC5zb3VyY2VzW25vZGUuc291cmNlLnZhbHVlXSkpIHtcbiAgICAgICAgdGFyZ2V0LnNvdXJjZXNbbm9kZS5zb3VyY2UudmFsdWVdLnB1c2gobm9kZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhcmdldC5zb3VyY2VzW25vZGUuc291cmNlLnZhbHVlXSA9IFtub2RlXVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBBc3NpZ25tZW50RXhwcmVzc2lvbihub2RlKSB7XG4gICAgICBpZiAobm9kZS5sZWZ0LnR5cGUgIT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhaW4gPSBhY2Nlc3NvckNoYWluKG5vZGUubGVmdClcblxuICAgICAgLy8gQXNzaWdubWVudHMgdG8gbW9kdWxlLmV4cG9ydHNcbiAgICAgIC8vIERlZXBlciBhc3NpZ25tZW50cyBhcmUgaWdub3JlZCBzaW5jZSB0aGV5IGp1c3QgbW9kaWZ5IHdoYXQncyBhbHJlYWR5IGJlaW5nIGV4cG9ydGVkXG4gICAgICAvLyAoaWUuIG1vZHVsZS5leHBvcnRzLmV4cG9ydGVkLnByb3AgPSB0cnVlIGlzIGlnbm9yZWQpXG4gICAgICBpZiAoY2hhaW5bMF0gPT09ICdtb2R1bGUnICYmIGNoYWluWzFdID09PSAnZXhwb3J0cycgJiYgY2hhaW4ubGVuZ3RoIDw9IDMpIHtcbiAgICAgICAgbm9kZXMuY29tbW9uanMuc2V0LmFkZChub2RlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gQXNzaWdubWVudHMgdG8gZXhwb3J0cyAoZXhwb3J0cy4qID0gKilcbiAgICAgIGlmIChjaGFpblswXSA9PT0gJ2V4cG9ydHMnICYmIGNoYWluLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBub2Rlcy5jb21tb25qcy5zZXQuYWRkKG5vZGUpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH0sXG5cbiAgICAnUHJvZ3JhbTpleGl0JzogZnVuY3Rpb24gb25FeGl0KCkge1xuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBleHBvcnRgIGRlY2xhcmF0aW9ucyAoRVMyMDE1IG1vZHVsZXMpXG4gICAgICBpZiAobm9kZXMubW9kdWxlcy5zZXQuc2l6ZSA+IDEpIHtcbiAgICAgICAgbm9kZXMubW9kdWxlcy5zZXQuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzW25vZGUudHlwZV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBhZ2dyZWdhdGVkIGV4cG9ydHNgIGZyb20gdGhlIHNhbWUgbW9kdWxlIChFUzIwMTUgbW9kdWxlcylcbiAgICAgIGZsYXQodmFsdWVzKG5vZGVzLm1vZHVsZXMuc291cmNlcylcbiAgICAgICAgLmZpbHRlcihub2Rlc1dpdGhTb3VyY2UgPT4gQXJyYXkuaXNBcnJheShub2Rlc1dpdGhTb3VyY2UpICYmIG5vZGVzV2l0aFNvdXJjZS5sZW5ndGggPiAxKSlcbiAgICAgICAgLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzW25vZGUudHlwZV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBleHBvcnQgdHlwZWAgZGVjbGFyYXRpb25zIChGTE9XIEVTMjAxNSBtb2R1bGVzKVxuICAgICAgaWYgKG5vZGVzLnR5cGVzLnNldC5zaXplID4gMSkge1xuICAgICAgICBub2Rlcy50eXBlcy5zZXQuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzW25vZGUudHlwZV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBhZ2dyZWdhdGVkIHR5cGUgZXhwb3J0c2AgZnJvbSB0aGUgc2FtZSBtb2R1bGUgKEZMT1cgRVMyMDE1IG1vZHVsZXMpXG4gICAgICBmbGF0KHZhbHVlcyhub2Rlcy50eXBlcy5zb3VyY2VzKVxuICAgICAgICAuZmlsdGVyKG5vZGVzV2l0aFNvdXJjZSA9PiBBcnJheS5pc0FycmF5KG5vZGVzV2l0aFNvdXJjZSkgJiYgbm9kZXNXaXRoU291cmNlLmxlbmd0aCA+IDEpKVxuICAgICAgICAuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvcnNbbm9kZS50eXBlXSxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAvLyBSZXBvcnQgbXVsdGlwbGUgYG1vZHVsZS5leHBvcnRzYCBhc3NpZ25tZW50cyAoQ29tbW9uSlMpXG4gICAgICBpZiAobm9kZXMuY29tbW9uanMuc2V0LnNpemUgPiAxKSB7XG4gICAgICAgIG5vZGVzLmNvbW1vbmpzLnNldC5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvcnNbbm9kZS50eXBlXSxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGEsXG4gIGNyZWF0ZSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9ncm91cC1leHBvcnRzLmpzIl0sIm5hbWVzIjpbIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImVycm9ycyIsIkV4cG9ydE5hbWVkRGVjbGFyYXRpb24iLCJBc3NpZ25tZW50RXhwcmVzc2lvbiIsImFjY2Vzc29yQ2hhaW4iLCJub2RlIiwiY2hhaW4iLCJ1bnNoaWZ0IiwicHJvcGVydHkiLCJuYW1lIiwib2JqZWN0IiwiY3JlYXRlIiwiY29udGV4dCIsIm5vZGVzIiwibW9kdWxlcyIsInNldCIsIlNldCIsInNvdXJjZXMiLCJ0eXBlcyIsImNvbW1vbmpzIiwidGFyZ2V0IiwiZXhwb3J0S2luZCIsInNvdXJjZSIsImFkZCIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlIiwicHVzaCIsImxlZnQiLCJsZW5ndGgiLCJvbkV4aXQiLCJzaXplIiwiZm9yRWFjaCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJmaWx0ZXIiLCJub2Rlc1dpdGhTb3VyY2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxxQztBQUNBLHVDO0FBQ0Esc0Q7O0FBRUEsTUFBTUEsT0FBTztBQUNYQyxRQUFNLFlBREs7QUFFWEMsUUFBTTtBQUNKQyxTQUFLLHVCQUFRLGVBQVIsQ0FERCxFQUZLLEVBQWI7OztBQU1BO0FBQ0EsTUFBTUMsU0FBUztBQUNiQywwQkFBd0Isb0dBRFg7QUFFYkMsd0JBQXNCLGlHQUZULEVBQWY7O0FBSUE7O0FBRUE7Ozs7Ozs7Ozs7OztBQVlBLFNBQVNDLGFBQVQsQ0FBdUJDLElBQXZCLEVBQTZCO0FBQzNCLFFBQU1DLFFBQVEsRUFBZDs7QUFFQSxLQUFHO0FBQ0RBLFVBQU1DLE9BQU4sQ0FBY0YsS0FBS0csUUFBTCxDQUFjQyxJQUE1Qjs7QUFFQSxRQUFJSixLQUFLSyxNQUFMLENBQVlaLElBQVosS0FBcUIsWUFBekIsRUFBdUM7QUFDckNRLFlBQU1DLE9BQU4sQ0FBY0YsS0FBS0ssTUFBTCxDQUFZRCxJQUExQjtBQUNB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SUFBaEIsR0FBdUIsQ0FBM0IsRUFBOEI7QUFDNUJsQixjQUFNSyxLQUFOLENBQVlILEdBQVosQ0FBZ0JpQixPQUFoQixDQUF3QjNCLFFBQVE7QUFDOUJPLGtCQUFRcUIsTUFBUixDQUFlO0FBQ2I1QixnQkFEYTtBQUViNkIscUJBQVNqQyxPQUFPSSxLQUFLUCxJQUFaLENBRkksRUFBZjs7QUFJRCxTQUxEO0FBTUQ7O0FBRUQ7QUFDQSxvQ0FBSyxzQkFBT2UsTUFBTUssS0FBTixDQUFZRCxPQUFuQjtBQUNGa0IsWUFERSxDQUNLQyxtQkFBbUJaLE1BQU1DLE9BQU4sQ0FBY1csZUFBZCxLQUFrQ0EsZ0JBQWdCUCxNQUFoQixHQUF5QixDQURuRixDQUFMO0FBRUdHLGFBRkgsQ0FFWTNCLElBQUQsSUFBVTtBQUNqQk8sZ0JBQVFxQixNQUFSLENBQWU7QUFDYjVCLGNBRGE7QUFFYjZCLG1CQUFTakMsT0FBT0ksS0FBS1AsSUFBWixDQUZJLEVBQWY7O0FBSUQsT0FQSDs7QUFTQTtBQUNBLFVBQUllLE1BQU1NLFFBQU4sQ0FBZUosR0FBZixDQUFtQmdCLElBQW5CLEdBQTBCLENBQTlCLEVBQWlDO0FBQy9CbEIsY0FBTU0sUUFBTixDQUFlSixHQUFmLENBQW1CaUIsT0FBbkIsQ0FBMkIzQixRQUFRO0FBQ2pDTyxrQkFBUXFCLE1BQVIsQ0FBZTtBQUNiNUIsZ0JBRGE7QUFFYjZCLHFCQUFTakMsT0FBT0ksS0FBS1AsSUFBWixDQUZJLEVBQWY7O0FBSUQsU0FMRDtBQU1EO0FBQ0YsS0FwRkksRUFBUDs7QUFzRkQ7O0FBRUR1QyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2Z6QyxNQURlO0FBRWZjLFFBRmUsRUFBakIiLCJmaWxlIjoiZ3JvdXAtZXhwb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuaW1wb3J0IHZhbHVlcyBmcm9tICdvYmplY3QudmFsdWVzJztcbmltcG9ydCBmbGF0IGZyb20gJ2FycmF5LnByb3RvdHlwZS5mbGF0JztcblxuY29uc3QgbWV0YSA9IHtcbiAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICBkb2NzOiB7XG4gICAgdXJsOiBkb2NzVXJsKCdncm91cC1leHBvcnRzJyksXG4gIH0sXG59O1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3QgZXJyb3JzID0ge1xuICBFeHBvcnROYW1lZERlY2xhcmF0aW9uOiAnTXVsdGlwbGUgbmFtZWQgZXhwb3J0IGRlY2xhcmF0aW9uczsgY29uc29saWRhdGUgYWxsIG5hbWVkIGV4cG9ydHMgaW50byBhIHNpbmdsZSBleHBvcnQgZGVjbGFyYXRpb24nLFxuICBBc3NpZ25tZW50RXhwcmVzc2lvbjogJ011bHRpcGxlIENvbW1vbkpTIGV4cG9ydHM7IGNvbnNvbGlkYXRlIGFsbCBleHBvcnRzIGludG8gYSBzaW5nbGUgYXNzaWdubWVudCB0byBgbW9kdWxlLmV4cG9ydHNgJyxcbn07XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IHdpdGggbmFtZXMgb2YgdGhlIHByb3BlcnRpZXMgaW4gdGhlIGFjY2Vzc29yIGNoYWluIGZvciBNZW1iZXJFeHByZXNzaW9uIG5vZGVzXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBgbW9kdWxlLmV4cG9ydHMgPSB7fWAgPT4gWydtb2R1bGUnLCAnZXhwb3J0cyddXG4gKiBgbW9kdWxlLmV4cG9ydHMucHJvcGVydHkgPSB0cnVlYCA9PiBbJ21vZHVsZScsICdleHBvcnRzJywgJ3Byb3BlcnR5J11cbiAqXG4gKiBAcGFyYW0gICAgIHtOb2RlfSAgICBub2RlICAgIEFTVCBOb2RlIChNZW1iZXJFeHByZXNzaW9uKVxuICogQHJldHVybiAgICB7QXJyYXl9ICAgICAgICAgICBBcnJheSB3aXRoIHRoZSBwcm9wZXJ0eSBuYW1lcyBpbiB0aGUgY2hhaW5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGFjY2Vzc29yQ2hhaW4obm9kZSkge1xuICBjb25zdCBjaGFpbiA9IFtdO1xuXG4gIGRvIHtcbiAgICBjaGFpbi51bnNoaWZ0KG5vZGUucHJvcGVydHkubmFtZSk7XG5cbiAgICBpZiAobm9kZS5vYmplY3QudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICBjaGFpbi51bnNoaWZ0KG5vZGUub2JqZWN0Lm5hbWUpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUub2JqZWN0O1xuICB9IHdoaWxlIChub2RlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJyk7XG5cbiAgcmV0dXJuIGNoYWluO1xufVxuXG5mdW5jdGlvbiBjcmVhdGUoY29udGV4dCkge1xuICBjb25zdCBub2RlcyA9IHtcbiAgICBtb2R1bGVzOiB7XG4gICAgICBzZXQ6IG5ldyBTZXQoKSxcbiAgICAgIHNvdXJjZXM6IHt9LFxuICAgIH0sXG4gICAgdHlwZXM6IHtcbiAgICAgIHNldDogbmV3IFNldCgpLFxuICAgICAgc291cmNlczoge30sXG4gICAgfSxcbiAgICBjb21tb25qczoge1xuICAgICAgc2V0OiBuZXcgU2V0KCksXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gbm9kZS5leHBvcnRLaW5kID09PSAndHlwZScgPyBub2Rlcy50eXBlcyA6IG5vZGVzLm1vZHVsZXM7XG4gICAgICBpZiAoIW5vZGUuc291cmNlKSB7XG4gICAgICAgIHRhcmdldC5zZXQuYWRkKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRhcmdldC5zb3VyY2VzW25vZGUuc291cmNlLnZhbHVlXSkpIHtcbiAgICAgICAgdGFyZ2V0LnNvdXJjZXNbbm9kZS5zb3VyY2UudmFsdWVdLnB1c2gobm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YXJnZXQuc291cmNlc1tub2RlLnNvdXJjZS52YWx1ZV0gPSBbbm9kZV07XG4gICAgICB9XG4gICAgfSxcblxuICAgIEFzc2lnbm1lbnRFeHByZXNzaW9uKG5vZGUpIHtcbiAgICAgIGlmIChub2RlLmxlZnQudHlwZSAhPT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhaW4gPSBhY2Nlc3NvckNoYWluKG5vZGUubGVmdCk7XG5cbiAgICAgIC8vIEFzc2lnbm1lbnRzIHRvIG1vZHVsZS5leHBvcnRzXG4gICAgICAvLyBEZWVwZXIgYXNzaWdubWVudHMgYXJlIGlnbm9yZWQgc2luY2UgdGhleSBqdXN0IG1vZGlmeSB3aGF0J3MgYWxyZWFkeSBiZWluZyBleHBvcnRlZFxuICAgICAgLy8gKGllLiBtb2R1bGUuZXhwb3J0cy5leHBvcnRlZC5wcm9wID0gdHJ1ZSBpcyBpZ25vcmVkKVxuICAgICAgaWYgKGNoYWluWzBdID09PSAnbW9kdWxlJyAmJiBjaGFpblsxXSA9PT0gJ2V4cG9ydHMnICYmIGNoYWluLmxlbmd0aCA8PSAzKSB7XG4gICAgICAgIG5vZGVzLmNvbW1vbmpzLnNldC5hZGQobm9kZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gQXNzaWdubWVudHMgdG8gZXhwb3J0cyAoZXhwb3J0cy4qID0gKilcbiAgICAgIGlmIChjaGFpblswXSA9PT0gJ2V4cG9ydHMnICYmIGNoYWluLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBub2Rlcy5jb21tb25qcy5zZXQuYWRkKG5vZGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSxcblxuICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiBvbkV4aXQoKSB7XG4gICAgICAvLyBSZXBvcnQgbXVsdGlwbGUgYGV4cG9ydGAgZGVjbGFyYXRpb25zIChFUzIwMTUgbW9kdWxlcylcbiAgICAgIGlmIChub2Rlcy5tb2R1bGVzLnNldC5zaXplID4gMSkge1xuICAgICAgICBub2Rlcy5tb2R1bGVzLnNldC5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvcnNbbm9kZS50eXBlXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlcG9ydCBtdWx0aXBsZSBgYWdncmVnYXRlZCBleHBvcnRzYCBmcm9tIHRoZSBzYW1lIG1vZHVsZSAoRVMyMDE1IG1vZHVsZXMpXG4gICAgICBmbGF0KHZhbHVlcyhub2Rlcy5tb2R1bGVzLnNvdXJjZXMpXG4gICAgICAgIC5maWx0ZXIobm9kZXNXaXRoU291cmNlID0+IEFycmF5LmlzQXJyYXkobm9kZXNXaXRoU291cmNlKSAmJiBub2Rlc1dpdGhTb3VyY2UubGVuZ3RoID4gMSkpXG4gICAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yc1tub2RlLnR5cGVdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBleHBvcnQgdHlwZWAgZGVjbGFyYXRpb25zIChGTE9XIEVTMjAxNSBtb2R1bGVzKVxuICAgICAgaWYgKG5vZGVzLnR5cGVzLnNldC5zaXplID4gMSkge1xuICAgICAgICBub2Rlcy50eXBlcy5zZXQuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzW25vZGUudHlwZV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXBvcnQgbXVsdGlwbGUgYGFnZ3JlZ2F0ZWQgdHlwZSBleHBvcnRzYCBmcm9tIHRoZSBzYW1lIG1vZHVsZSAoRkxPVyBFUzIwMTUgbW9kdWxlcylcbiAgICAgIGZsYXQodmFsdWVzKG5vZGVzLnR5cGVzLnNvdXJjZXMpXG4gICAgICAgIC5maWx0ZXIobm9kZXNXaXRoU291cmNlID0+IEFycmF5LmlzQXJyYXkobm9kZXNXaXRoU291cmNlKSAmJiBub2Rlc1dpdGhTb3VyY2UubGVuZ3RoID4gMSkpXG4gICAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yc1tub2RlLnR5cGVdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgLy8gUmVwb3J0IG11bHRpcGxlIGBtb2R1bGUuZXhwb3J0c2AgYXNzaWdubWVudHMgKENvbW1vbkpTKVxuICAgICAgaWYgKG5vZGVzLmNvbW1vbmpzLnNldC5zaXplID4gMSkge1xuICAgICAgICBub2Rlcy5jb21tb25qcy5zZXQuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzW25vZGUudHlwZV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhLFxuICBjcmVhdGUsXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/imports-first.js b/node_modules/eslint-plugin-import/lib/rules/imports-first.js index 7f6d199ca..293fadca9 100644 --- a/node_modules/eslint-plugin-import/lib/rules/imports-first.js +++ b/node_modules/eslint-plugin-import/lib/rules/imports-first.js @@ -10,4 +10,4 @@ const newMeta = Object.assign({}, first.meta, { module.exports = Object.assign({}, first, { meta: newMeta }); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbXBvcnRzLWZpcnN0LmpzIl0sIm5hbWVzIjpbImZpcnN0IiwicmVxdWlyZSIsIm5ld01ldGEiLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhIiwiZGVwcmVjYXRlZCIsImRvY3MiLCJ1cmwiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxxQzs7QUFFQSxNQUFNQSxRQUFRQyxRQUFRLFNBQVIsQ0FBZDs7QUFFQSxNQUFNQyxVQUFVQyxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkosTUFBTUssSUFBeEIsRUFBOEI7QUFDNUNDLGNBQVksSUFEZ0M7QUFFNUNDLFFBQU07QUFDSkMsU0FBSyx1QkFBUSxlQUFSLEVBQXlCLDBDQUF6QixDQURELEVBRnNDLEVBQTlCLENBQWhCOzs7O0FBT0FDLE9BQU9DLE9BQVAsR0FBaUJQLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCSixLQUFsQixFQUF5QixFQUFFSyxNQUFNSCxPQUFSLEVBQXpCLENBQWpCIiwiZmlsZSI6ImltcG9ydHMtZmlyc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5jb25zdCBmaXJzdCA9IHJlcXVpcmUoJy4vZmlyc3QnKVxuXG5jb25zdCBuZXdNZXRhID0gT2JqZWN0LmFzc2lnbih7fSwgZmlyc3QubWV0YSwge1xuICBkZXByZWNhdGVkOiB0cnVlLFxuICBkb2NzOiB7XG4gICAgdXJsOiBkb2NzVXJsKCdpbXBvcnRzLWZpcnN0JywgJzdiMjVjMWNiOTVlZTE4YWNjMTUzMTAwMmZkMzQzZTFlNjAzMWY5ZWQnKSxcbiAgfSxcbn0pXG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmFzc2lnbih7fSwgZmlyc3QsIHsgbWV0YTogbmV3TWV0YSB9KVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbXBvcnRzLWZpcnN0LmpzIl0sIm5hbWVzIjpbImZpcnN0IiwicmVxdWlyZSIsIm5ld01ldGEiLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhIiwiZGVwcmVjYXRlZCIsImRvY3MiLCJ1cmwiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxxQzs7QUFFQSxNQUFNQSxRQUFRQyxRQUFRLFNBQVIsQ0FBZDs7QUFFQSxNQUFNQyxVQUFVQyxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkosTUFBTUssSUFBeEIsRUFBOEI7QUFDNUNDLGNBQVksSUFEZ0M7QUFFNUNDLFFBQU07QUFDSkMsU0FBSyx1QkFBUSxlQUFSLEVBQXlCLDBDQUF6QixDQURELEVBRnNDLEVBQTlCLENBQWhCOzs7O0FBT0FDLE9BQU9DLE9BQVAsR0FBaUJQLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCSixLQUFsQixFQUF5QixFQUFFSyxNQUFNSCxPQUFSLEVBQXpCLENBQWpCIiwiZmlsZSI6ImltcG9ydHMtZmlyc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuY29uc3QgZmlyc3QgPSByZXF1aXJlKCcuL2ZpcnN0Jyk7XG5cbmNvbnN0IG5ld01ldGEgPSBPYmplY3QuYXNzaWduKHt9LCBmaXJzdC5tZXRhLCB7XG4gIGRlcHJlY2F0ZWQ6IHRydWUsXG4gIGRvY3M6IHtcbiAgICB1cmw6IGRvY3NVcmwoJ2ltcG9ydHMtZmlyc3QnLCAnN2IyNWMxY2I5NWVlMThhY2MxNTMxMDAyZmQzNDNlMWU2MDMxZjllZCcpLFxuICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmFzc2lnbih7fSwgZmlyc3QsIHsgbWV0YTogbmV3TWV0YSB9KTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js b/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js index 83aaeeaec..7c14fc0a8 100644 --- a/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +++ b/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js @@ -1,4 +1,4 @@ -'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +'use strict';var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} const DEFAULT_MAX = 10; @@ -36,23 +36,13 @@ module.exports = { const dependencies = new Set(); // keep track of dependencies let lastNode; // keep track of the last node to report on - return { - ImportDeclaration(node) { - dependencies.add(node.source.value); - lastNode = node.source; - }, - - CallExpression(node) { - if ((0, _staticRequire2.default)(node)) {var _node$arguments = _slicedToArray( - node.arguments, 1);const requirePath = _node$arguments[0]; - dependencies.add(requirePath.value); - lastNode = node; - } - }, - + return Object.assign({ 'Program:exit': function () { countDependencies(dependencies, lastNode, context); - } }; - + } }, + (0, _moduleVisitor2.default)(source => { + dependencies.add(source.value); + lastNode = source; + }, { commonjs: true })); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9tYXgtZGVwZW5kZW5jaWVzLmpzIl0sIm5hbWVzIjpbIkRFRkFVTFRfTUFYIiwiY291bnREZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmNpZXMiLCJsYXN0Tm9kZSIsImNvbnRleHQiLCJvcHRpb25zIiwibWF4Iiwic2l6ZSIsInJlcG9ydCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJTZXQiLCJJbXBvcnREZWNsYXJhdGlvbiIsIm5vZGUiLCJhZGQiLCJzb3VyY2UiLCJ2YWx1ZSIsIkNhbGxFeHByZXNzaW9uIiwiYXJndW1lbnRzIiwicmVxdWlyZVBhdGgiXSwibWFwcGluZ3MiOiJxb0JBQUEsc0Q7QUFDQSxxQzs7QUFFQSxNQUFNQSxjQUFjLEVBQXBCOztBQUVBLE1BQU1DLG9CQUFvQixDQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLE9BQXpCLEtBQXFDO0FBQy9DQSxVQUFRQyxPQUFSLENBQWdCLENBQWhCLEtBQXNCLEVBQUVDLEtBQUtOLFdBQVAsRUFEeUIsT0FDdERNLEdBRHNELFFBQ3REQSxHQURzRDs7QUFHN0QsTUFBSUosYUFBYUssSUFBYixHQUFvQkQsR0FBeEIsRUFBNkI7QUFDM0JGLFlBQVFJLE1BQVI7QUFDRUwsWUFERjtBQUVHLHVDQUFrQ0csR0FBSSxhQUZ6Qzs7QUFJRDtBQUNGLENBVEQ7O0FBV0FHLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLGtCQUFSLENBREQsRUFGRjs7O0FBTUpDLFlBQVE7QUFDTjtBQUNFLGNBQVEsUUFEVjtBQUVFLG9CQUFjO0FBQ1osZUFBTyxFQUFFLFFBQVEsUUFBVixFQURLLEVBRmhCOztBQUtFLDhCQUF3QixLQUwxQixFQURNLENBTkosRUFEUzs7Ozs7QUFrQmZDLFVBQVFaLFdBQVc7QUFDakIsVUFBTUYsZUFBZSxJQUFJZSxHQUFKLEVBQXJCLENBRGlCLENBQ2M7QUFDL0IsUUFBSWQsUUFBSixDQUZpQixDQUVKOztBQUViLFdBQU87QUFDTGUsd0JBQWtCQyxJQUFsQixFQUF3QjtBQUN0QmpCLHFCQUFha0IsR0FBYixDQUFpQkQsS0FBS0UsTUFBTCxDQUFZQyxLQUE3QjtBQUNBbkIsbUJBQVdnQixLQUFLRSxNQUFoQjtBQUNELE9BSkk7O0FBTUxFLHFCQUFlSixJQUFmLEVBQXFCO0FBQ25CLFlBQUksNkJBQWdCQSxJQUFoQixDQUFKLEVBQTJCO0FBQ0RBLGVBQUtLLFNBREosV0FDakJDLFdBRGlCO0FBRXpCdkIsdUJBQWFrQixHQUFiLENBQWlCSyxZQUFZSCxLQUE3QjtBQUNBbkIscUJBQVdnQixJQUFYO0FBQ0Q7QUFDRixPQVpJOztBQWNMLHNCQUFnQixZQUFZO0FBQzFCbEIsMEJBQWtCQyxZQUFsQixFQUFnQ0MsUUFBaEMsRUFBMENDLE9BQTFDO0FBQ0QsT0FoQkksRUFBUDs7QUFrQkQsR0F4Q2MsRUFBakIiLCJmaWxlIjoibWF4LWRlcGVuZGVuY2llcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc1N0YXRpY1JlcXVpcmUgZnJvbSAnLi4vY29yZS9zdGF0aWNSZXF1aXJlJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxuY29uc3QgREVGQVVMVF9NQVggPSAxMFxuXG5jb25zdCBjb3VudERlcGVuZGVuY2llcyA9IChkZXBlbmRlbmNpZXMsIGxhc3ROb2RlLCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IHttYXh9ID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHsgbWF4OiBERUZBVUxUX01BWCB9XG5cbiAgaWYgKGRlcGVuZGVuY2llcy5zaXplID4gbWF4KSB7XG4gICAgY29udGV4dC5yZXBvcnQoXG4gICAgICBsYXN0Tm9kZSxcbiAgICAgIGBNYXhpbXVtIG51bWJlciBvZiBkZXBlbmRlbmNpZXMgKCR7bWF4fSkgZXhjZWVkZWQuYFxuICAgIClcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ21heC1kZXBlbmRlbmNpZXMnKSxcbiAgICB9LFxuXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogJ29iamVjdCcsXG4gICAgICAgICdwcm9wZXJ0aWVzJzoge1xuICAgICAgICAgICdtYXgnOiB7ICd0eXBlJzogJ251bWJlcicgfSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJzogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBjb250ZXh0ID0+IHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSBuZXcgU2V0KCkgLy8ga2VlcCB0cmFjayBvZiBkZXBlbmRlbmNpZXNcbiAgICBsZXQgbGFzdE5vZGUgLy8ga2VlcCB0cmFjayBvZiB0aGUgbGFzdCBub2RlIHRvIHJlcG9ydCBvblxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEltcG9ydERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgZGVwZW5kZW5jaWVzLmFkZChub2RlLnNvdXJjZS52YWx1ZSlcbiAgICAgICAgbGFzdE5vZGUgPSBub2RlLnNvdXJjZVxuICAgICAgfSxcblxuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSkge1xuICAgICAgICBpZiAoaXNTdGF0aWNSZXF1aXJlKG5vZGUpKSB7XG4gICAgICAgICAgY29uc3QgWyByZXF1aXJlUGF0aCBdID0gbm9kZS5hcmd1bWVudHNcbiAgICAgICAgICBkZXBlbmRlbmNpZXMuYWRkKHJlcXVpcmVQYXRoLnZhbHVlKVxuICAgICAgICAgIGxhc3ROb2RlID0gbm9kZVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnUHJvZ3JhbTpleGl0JzogZnVuY3Rpb24gKCkge1xuICAgICAgICBjb3VudERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMsIGxhc3ROb2RlLCBjb250ZXh0KVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9tYXgtZGVwZW5kZW5jaWVzLmpzIl0sIm5hbWVzIjpbIkRFRkFVTFRfTUFYIiwiY291bnREZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmNpZXMiLCJsYXN0Tm9kZSIsImNvbnRleHQiLCJvcHRpb25zIiwibWF4Iiwic2l6ZSIsInJlcG9ydCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJTZXQiLCJPYmplY3QiLCJhc3NpZ24iLCJzb3VyY2UiLCJhZGQiLCJ2YWx1ZSIsImNvbW1vbmpzIl0sIm1hcHBpbmdzIjoiYUFBQSxrRTtBQUNBLHFDOztBQUVBLE1BQU1BLGNBQWMsRUFBcEI7O0FBRUEsTUFBTUMsb0JBQW9CLENBQUNDLFlBQUQsRUFBZUMsUUFBZixFQUF5QkMsT0FBekIsS0FBcUM7QUFDN0NBLFVBQVFDLE9BQVIsQ0FBZ0IsQ0FBaEIsS0FBc0IsRUFBRUMsS0FBS04sV0FBUCxFQUR1QixPQUNyRE0sR0FEcUQsUUFDckRBLEdBRHFEOztBQUc3RCxNQUFJSixhQUFhSyxJQUFiLEdBQW9CRCxHQUF4QixFQUE2QjtBQUMzQkYsWUFBUUksTUFBUjtBQUNFTCxZQURGO0FBRUcsdUNBQWtDRyxHQUFJLGFBRnpDOztBQUlEO0FBQ0YsQ0FURDs7QUFXQUcsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsa0JBQVIsQ0FERCxFQUZGOzs7QUFNSkMsWUFBUTtBQUNOO0FBQ0UsY0FBUSxRQURWO0FBRUUsb0JBQWM7QUFDWixlQUFPLEVBQUUsUUFBUSxRQUFWLEVBREssRUFGaEI7O0FBS0UsOEJBQXdCLEtBTDFCLEVBRE0sQ0FOSixFQURTOzs7OztBQWtCZkMsVUFBUVosV0FBVztBQUNqQixVQUFNRixlQUFlLElBQUllLEdBQUosRUFBckIsQ0FEaUIsQ0FDZTtBQUNoQyxRQUFJZCxRQUFKLENBRmlCLENBRUg7O0FBRWQsV0FBT2UsT0FBT0MsTUFBUCxDQUFjO0FBQ25CLHNCQUFnQixZQUFZO0FBQzFCbEIsMEJBQWtCQyxZQUFsQixFQUFnQ0MsUUFBaEMsRUFBMENDLE9BQTFDO0FBQ0QsT0FIa0IsRUFBZDtBQUlKLGlDQUFlZ0IsTUFBRCxJQUFZO0FBQzNCbEIsbUJBQWFtQixHQUFiLENBQWlCRCxPQUFPRSxLQUF4QjtBQUNBbkIsaUJBQVdpQixNQUFYO0FBQ0QsS0FIRSxFQUdBLEVBQUVHLFVBQVUsSUFBWixFQUhBLENBSkksQ0FBUDtBQVFELEdBOUJjLEVBQWpCIiwiZmlsZSI6Im1heC1kZXBlbmRlbmNpZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmNvbnN0IERFRkFVTFRfTUFYID0gMTA7XG5cbmNvbnN0IGNvdW50RGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY2llcywgbGFzdE5vZGUsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgeyBtYXggfSA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7IG1heDogREVGQVVMVF9NQVggfTtcblxuICBpZiAoZGVwZW5kZW5jaWVzLnNpemUgPiBtYXgpIHtcbiAgICBjb250ZXh0LnJlcG9ydChcbiAgICAgIGxhc3ROb2RlLFxuICAgICAgYE1heGltdW0gbnVtYmVyIG9mIGRlcGVuZGVuY2llcyAoJHttYXh9KSBleGNlZWRlZC5gXG4gICAgKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCdtYXgtZGVwZW5kZW5jaWVzJyksXG4gICAgfSxcblxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICAndHlwZSc6ICdvYmplY3QnLFxuICAgICAgICAncHJvcGVydGllcyc6IHtcbiAgICAgICAgICAnbWF4JzogeyAndHlwZSc6ICdudW1iZXInIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogY29udGV4dCA9PiB7XG4gICAgY29uc3QgZGVwZW5kZW5jaWVzID0gbmV3IFNldCgpOyAvLyBrZWVwIHRyYWNrIG9mIGRlcGVuZGVuY2llc1xuICAgIGxldCBsYXN0Tm9kZTsgLy8ga2VlcCB0cmFjayBvZiB0aGUgbGFzdCBub2RlIHRvIHJlcG9ydCBvblxuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe1xuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY291bnREZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzLCBsYXN0Tm9kZSwgY29udGV4dCk7XG4gICAgICB9LFxuICAgIH0sIG1vZHVsZVZpc2l0b3IoKHNvdXJjZSkgPT4ge1xuICAgICAgZGVwZW5kZW5jaWVzLmFkZChzb3VyY2UudmFsdWUpO1xuICAgICAgbGFzdE5vZGUgPSBzb3VyY2U7XG4gICAgfSwgeyBjb21tb25qczogdHJ1ZSB9KSk7XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/named.js b/node_modules/eslint-plugin-import/lib/rules/named.js index f2b516612..7326ae169 100644 --- a/node_modules/eslint-plugin-import/lib/rules/named.js +++ b/node_modules/eslint-plugin-import/lib/rules/named.js @@ -69,4 +69,4 @@ module.exports = { } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uYW1lZC5qcyJdLCJuYW1lcyI6WyJwYXRoIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja1NwZWNpZmllcnMiLCJrZXkiLCJub2RlIiwic291cmNlIiwiaW1wb3J0S2luZCIsImV4cG9ydEtpbmQiLCJzcGVjaWZpZXJzIiwic29tZSIsImltIiwiaW1wb3J0cyIsIkV4cG9ydHMiLCJnZXQiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsImZvckVhY2giLCJkZWVwTG9va3VwIiwiaGFzRGVlcCIsIm5hbWUiLCJmb3VuZCIsImRlZXBQYXRoIiwibWFwIiwiaSIsInJlbGF0aXZlIiwiZGlybmFtZSIsImdldEZpbGVuYW1lIiwiam9pbiIsInJlcG9ydCIsImJpbmQiXSwibWFwcGluZ3MiOiJhQUFBLDRCLElBQVlBLEk7QUFDWix5QztBQUNBLHFDOztBQUVBQyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxTQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxPQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVVDLE9BQVYsRUFBbUI7QUFDekIsYUFBU0MsZUFBVCxDQUF5QkMsR0FBekIsRUFBOEJQLElBQTlCLEVBQW9DUSxJQUFwQyxFQUEwQztBQUN4QztBQUNBLFVBQUlBLEtBQUtDLE1BQUwsSUFBZSxJQUFmLElBQXVCRCxLQUFLRSxVQUFMLEtBQW9CLE1BQTNDO0FBQ0FGLFdBQUtFLFVBQUwsS0FBb0IsUUFEcEIsSUFDaUNGLEtBQUtHLFVBQUwsS0FBb0IsTUFEekQsRUFDaUU7QUFDL0Q7QUFDRDs7QUFFRCxVQUFJLENBQUNILEtBQUtJLFVBQUw7QUFDRUMsVUFERixDQUNPLFVBQVVDLEVBQVYsRUFBYyxDQUFFLE9BQU9BLEdBQUdkLElBQUgsS0FBWUEsSUFBbkIsQ0FBeUIsQ0FEaEQsQ0FBTCxFQUN3RDtBQUN0RCxlQURzRCxDQUMvQztBQUNSOztBQUVELFlBQU1lLFVBQVVDLG9CQUFRQyxHQUFSLENBQVlULEtBQUtDLE1BQUwsQ0FBWVMsS0FBeEIsRUFBK0JiLE9BQS9CLENBQWhCO0FBQ0EsVUFBSVUsV0FBVyxJQUFmLEVBQXFCOztBQUVyQixVQUFJQSxRQUFRSSxNQUFSLENBQWVDLE1BQW5CLEVBQTJCO0FBQ3pCTCxnQkFBUU0sWUFBUixDQUFxQmhCLE9BQXJCLEVBQThCRyxJQUE5QjtBQUNBO0FBQ0Q7O0FBRURBLFdBQUtJLFVBQUwsQ0FBZ0JVLE9BQWhCLENBQXdCLFVBQVVSLEVBQVYsRUFBYztBQUNwQyxZQUFJQSxHQUFHZCxJQUFILEtBQVlBLElBQWhCLEVBQXNCOztBQUV0QjtBQUNBLFlBQUljLEdBQUdKLFVBQUgsS0FBa0IsTUFBbEIsSUFBNEJJLEdBQUdKLFVBQUgsS0FBa0IsUUFBbEQsRUFBNEQ7O0FBRTVELGNBQU1hLGFBQWFSLFFBQVFTLE9BQVIsQ0FBZ0JWLEdBQUdQLEdBQUgsRUFBUWtCLElBQXhCLENBQW5COztBQUVBLFlBQUksQ0FBQ0YsV0FBV0csS0FBaEIsRUFBdUI7QUFDckIsY0FBSUgsV0FBVzNCLElBQVgsQ0FBZ0J3QixNQUFoQixHQUF5QixDQUE3QixFQUFnQztBQUM5QixrQkFBTU8sV0FBV0osV0FBVzNCLElBQVg7QUFDZGdDLGVBRGMsQ0FDVkMsS0FBS2pDLEtBQUtrQyxRQUFMLENBQWNsQyxLQUFLbUMsT0FBTCxDQUFhMUIsUUFBUTJCLFdBQVIsRUFBYixDQUFkLEVBQW1ESCxFQUFFakMsSUFBckQsQ0FESztBQUVkcUMsZ0JBRmMsQ0FFVCxNQUZTLENBQWpCOztBQUlBNUIsb0JBQVE2QixNQUFSLENBQWVwQixHQUFHUCxHQUFILENBQWY7QUFDRyxlQUFFTyxHQUFHUCxHQUFILEVBQVFrQixJQUFLLGtCQUFpQkUsUUFBUyxFQUQ1QztBQUVELFdBUEQsTUFPTztBQUNMdEIsb0JBQVE2QixNQUFSLENBQWVwQixHQUFHUCxHQUFILENBQWY7QUFDRU8sZUFBR1AsR0FBSCxFQUFRa0IsSUFBUixHQUFlLGtCQUFmLEdBQW9DakIsS0FBS0MsTUFBTCxDQUFZUyxLQUFoRCxHQUF3RCxJQUQxRDtBQUVEO0FBQ0Y7QUFDRixPQXJCRDtBQXNCRDs7QUFFRCxXQUFPO0FBQ0wsMkJBQXFCWixnQkFBZ0I2QixJQUFoQixDQUFzQixJQUF0QjtBQUNzQixnQkFEdEI7QUFFc0IsdUJBRnRCLENBRGhCOzs7QUFNTCxnQ0FBMEI3QixnQkFBZ0I2QixJQUFoQixDQUFzQixJQUF0QjtBQUNzQixhQUR0QjtBQUVzQix1QkFGdEIsQ0FOckIsRUFBUDs7OztBQVlELEdBbEVjLEVBQWpCIiwiZmlsZSI6Im5hbWVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IEV4cG9ydHMgZnJvbSAnLi4vRXhwb3J0TWFwJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduYW1lZCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgZnVuY3Rpb24gY2hlY2tTcGVjaWZpZXJzKGtleSwgdHlwZSwgbm9kZSkge1xuICAgICAgLy8gaWdub3JlIGxvY2FsIGV4cG9ydHMgYW5kIHR5cGUgaW1wb3J0cy9leHBvcnRzXG4gICAgICBpZiAobm9kZS5zb3VyY2UgPT0gbnVsbCB8fCBub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlJyB8fFxuICAgICAgICAgIG5vZGUuaW1wb3J0S2luZCA9PT0gJ3R5cGVvZicgIHx8IG5vZGUuZXhwb3J0S2luZCA9PT0gJ3R5cGUnKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoIW5vZGUuc3BlY2lmaWVyc1xuICAgICAgICAgICAgLnNvbWUoZnVuY3Rpb24gKGltKSB7IHJldHVybiBpbS50eXBlID09PSB0eXBlIH0pKSB7XG4gICAgICAgIHJldHVybiAvLyBubyBuYW1lZCBpbXBvcnRzL2V4cG9ydHNcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1wb3J0cyA9IEV4cG9ydHMuZ2V0KG5vZGUuc291cmNlLnZhbHVlLCBjb250ZXh0KVxuICAgICAgaWYgKGltcG9ydHMgPT0gbnVsbCkgcmV0dXJuXG5cbiAgICAgIGlmIChpbXBvcnRzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgaW1wb3J0cy5yZXBvcnRFcnJvcnMoY29udGV4dCwgbm9kZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbSkge1xuICAgICAgICBpZiAoaW0udHlwZSAhPT0gdHlwZSkgcmV0dXJuXG5cbiAgICAgICAgLy8gaWdub3JlIHR5cGUgaW1wb3J0c1xuICAgICAgICBpZiAoaW0uaW1wb3J0S2luZCA9PT0gJ3R5cGUnIHx8IGltLmltcG9ydEtpbmQgPT09ICd0eXBlb2YnKSByZXR1cm5cblxuICAgICAgICBjb25zdCBkZWVwTG9va3VwID0gaW1wb3J0cy5oYXNEZWVwKGltW2tleV0ubmFtZSlcblxuICAgICAgICBpZiAoIWRlZXBMb29rdXAuZm91bmQpIHtcbiAgICAgICAgICBpZiAoZGVlcExvb2t1cC5wYXRoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZXBQYXRoID0gZGVlcExvb2t1cC5wYXRoXG4gICAgICAgICAgICAgIC5tYXAoaSA9PiBwYXRoLnJlbGF0aXZlKHBhdGguZGlybmFtZShjb250ZXh0LmdldEZpbGVuYW1lKCkpLCBpLnBhdGgpKVxuICAgICAgICAgICAgICAuam9pbignIC0+ICcpXG5cbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KGltW2tleV0sXG4gICAgICAgICAgICAgIGAke2ltW2tleV0ubmFtZX0gbm90IGZvdW5kIHZpYSAke2RlZXBQYXRofWApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KGltW2tleV0sXG4gICAgICAgICAgICAgIGltW2tleV0ubmFtZSArICcgbm90IGZvdW5kIGluIFxcJycgKyBub2RlLnNvdXJjZS52YWx1ZSArICdcXCcnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0ltcG9ydERlY2xhcmF0aW9uJzogY2hlY2tTcGVjaWZpZXJzLmJpbmQoIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAnaW1wb3J0ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgJ0ltcG9ydFNwZWNpZmllcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcblxuICAgICAgJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nOiBjaGVja1NwZWNpZmllcnMuYmluZCggbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgJ2xvY2FsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgJ0V4cG9ydFNwZWNpZmllcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgIH1cblxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uYW1lZC5qcyJdLCJuYW1lcyI6WyJwYXRoIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja1NwZWNpZmllcnMiLCJrZXkiLCJub2RlIiwic291cmNlIiwiaW1wb3J0S2luZCIsImV4cG9ydEtpbmQiLCJzcGVjaWZpZXJzIiwic29tZSIsImltIiwiaW1wb3J0cyIsIkV4cG9ydHMiLCJnZXQiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsImZvckVhY2giLCJkZWVwTG9va3VwIiwiaGFzRGVlcCIsIm5hbWUiLCJmb3VuZCIsImRlZXBQYXRoIiwibWFwIiwiaSIsInJlbGF0aXZlIiwiZGlybmFtZSIsImdldEZpbGVuYW1lIiwiam9pbiIsInJlcG9ydCIsImJpbmQiXSwibWFwcGluZ3MiOiJhQUFBLDRCLElBQVlBLEk7QUFDWix5QztBQUNBLHFDOztBQUVBQyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxTQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxPQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVVDLE9BQVYsRUFBbUI7QUFDekIsYUFBU0MsZUFBVCxDQUF5QkMsR0FBekIsRUFBOEJQLElBQTlCLEVBQW9DUSxJQUFwQyxFQUEwQztBQUN4QztBQUNBLFVBQUlBLEtBQUtDLE1BQUwsSUFBZSxJQUFmLElBQXVCRCxLQUFLRSxVQUFMLEtBQW9CLE1BQTNDO0FBQ0FGLFdBQUtFLFVBQUwsS0FBb0IsUUFEcEIsSUFDaUNGLEtBQUtHLFVBQUwsS0FBb0IsTUFEekQsRUFDaUU7QUFDL0Q7QUFDRDs7QUFFRCxVQUFJLENBQUNILEtBQUtJLFVBQUw7QUFDRkMsVUFERSxDQUNHLFVBQVVDLEVBQVYsRUFBYyxDQUFFLE9BQU9BLEdBQUdkLElBQUgsS0FBWUEsSUFBbkIsQ0FBMEIsQ0FEN0MsQ0FBTCxFQUNxRDtBQUNuRCxlQURtRCxDQUMzQztBQUNUOztBQUVELFlBQU1lLFVBQVVDLG9CQUFRQyxHQUFSLENBQVlULEtBQUtDLE1BQUwsQ0FBWVMsS0FBeEIsRUFBK0JiLE9BQS9CLENBQWhCO0FBQ0EsVUFBSVUsV0FBVyxJQUFmLEVBQXFCOztBQUVyQixVQUFJQSxRQUFRSSxNQUFSLENBQWVDLE1BQW5CLEVBQTJCO0FBQ3pCTCxnQkFBUU0sWUFBUixDQUFxQmhCLE9BQXJCLEVBQThCRyxJQUE5QjtBQUNBO0FBQ0Q7O0FBRURBLFdBQUtJLFVBQUwsQ0FBZ0JVLE9BQWhCLENBQXdCLFVBQVVSLEVBQVYsRUFBYztBQUNwQyxZQUFJQSxHQUFHZCxJQUFILEtBQVlBLElBQWhCLEVBQXNCOztBQUV0QjtBQUNBLFlBQUljLEdBQUdKLFVBQUgsS0FBa0IsTUFBbEIsSUFBNEJJLEdBQUdKLFVBQUgsS0FBa0IsUUFBbEQsRUFBNEQ7O0FBRTVELGNBQU1hLGFBQWFSLFFBQVFTLE9BQVIsQ0FBZ0JWLEdBQUdQLEdBQUgsRUFBUWtCLElBQXhCLENBQW5COztBQUVBLFlBQUksQ0FBQ0YsV0FBV0csS0FBaEIsRUFBdUI7QUFDckIsY0FBSUgsV0FBVzNCLElBQVgsQ0FBZ0J3QixNQUFoQixHQUF5QixDQUE3QixFQUFnQztBQUM5QixrQkFBTU8sV0FBV0osV0FBVzNCLElBQVg7QUFDZGdDLGVBRGMsQ0FDVkMsS0FBS2pDLEtBQUtrQyxRQUFMLENBQWNsQyxLQUFLbUMsT0FBTCxDQUFhMUIsUUFBUTJCLFdBQVIsRUFBYixDQUFkLEVBQW1ESCxFQUFFakMsSUFBckQsQ0FESztBQUVkcUMsZ0JBRmMsQ0FFVCxNQUZTLENBQWpCOztBQUlBNUIsb0JBQVE2QixNQUFSLENBQWVwQixHQUFHUCxHQUFILENBQWY7QUFDRyxlQUFFTyxHQUFHUCxHQUFILEVBQVFrQixJQUFLLGtCQUFpQkUsUUFBUyxFQUQ1QztBQUVELFdBUEQsTUFPTztBQUNMdEIsb0JBQVE2QixNQUFSLENBQWVwQixHQUFHUCxHQUFILENBQWY7QUFDRU8sZUFBR1AsR0FBSCxFQUFRa0IsSUFBUixHQUFlLGtCQUFmLEdBQW9DakIsS0FBS0MsTUFBTCxDQUFZUyxLQUFoRCxHQUF3RCxJQUQxRDtBQUVEO0FBQ0Y7QUFDRixPQXJCRDtBQXNCRDs7QUFFRCxXQUFPO0FBQ0wsMkJBQXFCWixnQkFBZ0I2QixJQUFoQixDQUFzQixJQUF0QjtBQUNqQixnQkFEaUI7QUFFakIsdUJBRmlCLENBRGhCOzs7QUFNTCxnQ0FBMEI3QixnQkFBZ0I2QixJQUFoQixDQUFzQixJQUF0QjtBQUN0QixhQURzQjtBQUV0Qix1QkFGc0IsQ0FOckIsRUFBUDs7OztBQVlELEdBbEVjLEVBQWpCIiwiZmlsZSI6Im5hbWVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduYW1lZCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgZnVuY3Rpb24gY2hlY2tTcGVjaWZpZXJzKGtleSwgdHlwZSwgbm9kZSkge1xuICAgICAgLy8gaWdub3JlIGxvY2FsIGV4cG9ydHMgYW5kIHR5cGUgaW1wb3J0cy9leHBvcnRzXG4gICAgICBpZiAobm9kZS5zb3VyY2UgPT0gbnVsbCB8fCBub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlJyB8fFxuICAgICAgICAgIG5vZGUuaW1wb3J0S2luZCA9PT0gJ3R5cGVvZicgIHx8IG5vZGUuZXhwb3J0S2luZCA9PT0gJ3R5cGUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFub2RlLnNwZWNpZmllcnNcbiAgICAgICAgLnNvbWUoZnVuY3Rpb24gKGltKSB7IHJldHVybiBpbS50eXBlID09PSB0eXBlOyB9KSkge1xuICAgICAgICByZXR1cm47IC8vIG5vIG5hbWVkIGltcG9ydHMvZXhwb3J0c1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbXBvcnRzID0gRXhwb3J0cy5nZXQobm9kZS5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgaWYgKGltcG9ydHMgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGltcG9ydHMucmVwb3J0RXJyb3JzKGNvbnRleHQsIG5vZGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbSkge1xuICAgICAgICBpZiAoaW0udHlwZSAhPT0gdHlwZSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIGlnbm9yZSB0eXBlIGltcG9ydHNcbiAgICAgICAgaWYgKGltLmltcG9ydEtpbmQgPT09ICd0eXBlJyB8fCBpbS5pbXBvcnRLaW5kID09PSAndHlwZW9mJykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGRlZXBMb29rdXAgPSBpbXBvcnRzLmhhc0RlZXAoaW1ba2V5XS5uYW1lKTtcblxuICAgICAgICBpZiAoIWRlZXBMb29rdXAuZm91bmQpIHtcbiAgICAgICAgICBpZiAoZGVlcExvb2t1cC5wYXRoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZXBQYXRoID0gZGVlcExvb2t1cC5wYXRoXG4gICAgICAgICAgICAgIC5tYXAoaSA9PiBwYXRoLnJlbGF0aXZlKHBhdGguZGlybmFtZShjb250ZXh0LmdldEZpbGVuYW1lKCkpLCBpLnBhdGgpKVxuICAgICAgICAgICAgICAuam9pbignIC0+ICcpO1xuXG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydChpbVtrZXldLFxuICAgICAgICAgICAgICBgJHtpbVtrZXldLm5hbWV9IG5vdCBmb3VuZCB2aWEgJHtkZWVwUGF0aH1gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoaW1ba2V5XSxcbiAgICAgICAgICAgICAgaW1ba2V5XS5uYW1lICsgJyBub3QgZm91bmQgaW4gXFwnJyArIG5vZGUuc291cmNlLnZhbHVlICsgJ1xcJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWNsYXJhdGlvbic6IGNoZWNrU3BlY2lmaWVycy5iaW5kKCBudWxsXG4gICAgICAgICwgJ2ltcG9ydGVkJ1xuICAgICAgICAsICdJbXBvcnRTcGVjaWZpZXInXG4gICAgICApLFxuXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGNoZWNrU3BlY2lmaWVycy5iaW5kKCBudWxsXG4gICAgICAgICwgJ2xvY2FsJ1xuICAgICAgICAsICdFeHBvcnRTcGVjaWZpZXInXG4gICAgICApLFxuICAgIH07XG5cbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/namespace.js b/node_modules/eslint-plugin-import/lib/rules/namespace.js index 0b9abf828..607abf4b3 100644 --- a/node_modules/eslint-plugin-import/lib/rules/namespace.js +++ b/node_modules/eslint-plugin-import/lib/rules/namespace.js @@ -83,9 +83,9 @@ module.exports = { // same as above, but does not add names to local map ExportNamespaceSpecifier(namespace) { - var declaration = (0, _importDeclaration2.default)(context); + const declaration = (0, _importDeclaration2.default)(context); - var imports = _ExportMap2.default.get(declaration.source.value, context); + const imports = _ExportMap2.default.get(declaration.source.value, context); if (imports == null) return null; if (imports.errors.length) { @@ -116,8 +116,8 @@ module.exports = { } // go deep - var namespace = namespaces.get(dereference.object.name); - var namepath = [dereference.object.name]; + let namespace = namespaces.get(dereference.object.name); + const namepath = [dereference.object.name]; // while property is namespace and parent is member expression, keep validating while (namespace instanceof _ExportMap2.default && dereference.type === 'MemberExpression') { @@ -204,7 +204,7 @@ module.exports = { JSXMemberExpression(_ref4) {let object = _ref4.object,property = _ref4.property; if (!namespaces.has(object.name)) return; - var namespace = namespaces.get(object.name); + const namespace = namespaces.get(object.name); if (!namespace.has(property.name)) { context.report({ node: property, @@ -214,4 +214,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uYW1lc3BhY2UuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJhbGxvd0NvbXB1dGVkIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjcmVhdGUiLCJuYW1lc3BhY2VSdWxlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJuYW1lc3BhY2VzIiwiTWFwIiwibWFrZU1lc3NhZ2UiLCJsYXN0IiwibmFtZXBhdGgiLCJuYW1lIiwibGVuZ3RoIiwiam9pbiIsIlByb2dyYW0iLCJib2R5IiwicHJvY2Vzc0JvZHlTdGF0ZW1lbnQiLCJkZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwicmVwb3J0RXJyb3JzIiwic3BlY2lmaWVyIiwic2l6ZSIsInJlcG9ydCIsInNldCIsImxvY2FsIiwiaW1wb3J0ZWQiLCJuYW1lc3BhY2UiLCJmb3JFYWNoIiwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyIiwiTWVtYmVyRXhwcmVzc2lvbiIsImRlcmVmZXJlbmNlIiwib2JqZWN0IiwiaGFzIiwicGFyZW50IiwibGVmdCIsImNvbXB1dGVkIiwicHJvcGVydHkiLCJleHBvcnRlZCIsInB1c2giLCJWYXJpYWJsZURlY2xhcmF0b3IiLCJpZCIsImluaXQiLCJ0ZXN0S2V5IiwicGF0dGVybiIsInBhdGgiLCJrZXkiLCJub2RlIiwibWVzc2FnZSIsImRlcGVuZGVuY3lFeHBvcnRNYXAiLCJwb3AiLCJKU1hNZW1iZXJFeHByZXNzaW9uIl0sIm1hcHBpbmdzIjoiYUFBQSxrRTtBQUNBLHlDO0FBQ0EseUQ7QUFDQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sU0FERjtBQUVKQyxVQUFNO0FBQ0pD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LElBQXRCLENBQUwsRUFBa0M7QUFDbEMsWUFBSXFCLFlBQVkxQixXQUFXZSxHQUFYLENBQWVnQixPQUFPMUIsSUFBdEIsQ0FBaEI7QUFDQSxZQUFJLENBQUNxQixVQUFVTSxHQUFWLENBQWNJLFNBQVMvQixJQUF2QixDQUFMLEVBQW1DO0FBQ2pDUCxrQkFBUXdCLE1BQVIsQ0FBZTtBQUNid0Isa0JBQU1WLFFBRE87QUFFYlcscUJBQVM3QyxZQUFZa0MsUUFBWixFQUFzQixDQUFDTCxPQUFPMUIsSUFBUixDQUF0QixDQUZJLEVBQWY7O0FBSUQ7QUFDSCxPQTdLSSxFQUFQOztBQStLRCxHQWxOYyxFQUFqQiIsImZpbGUiOiJuYW1lc3BhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVjbGFyZWRTY29wZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2RlY2xhcmVkU2NvcGUnXG5pbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnXG5pbXBvcnQgaW1wb3J0RGVjbGFyYXRpb24gZnJvbSAnLi4vaW1wb3J0RGVjbGFyYXRpb24nXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25hbWVzcGFjZScpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBhbGxvd0NvbXB1dGVkOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGNvbXB1dGVkIChhbmQgdGh1cywgdW4tbGludGFibGUpIHJlZmVyZW5jZXMgdG8gbmFtZXNwYWNlIG1lbWJlcnMuJyxcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIG5hbWVzcGFjZVJ1bGUoY29udGV4dCkge1xuXG4gICAgLy8gcmVhZCBvcHRpb25zXG4gICAgY29uc3Qge1xuICAgICAgYWxsb3dDb21wdXRlZCA9IGZhbHNlLFxuICAgIH0gPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cblxuICAgIGNvbnN0IG5hbWVzcGFjZXMgPSBuZXcgTWFwKClcblxuICAgIGZ1bmN0aW9uIG1ha2VNZXNzYWdlKGxhc3QsIG5hbWVwYXRoKSB7XG4gICAgICByZXR1cm4gYCcke2xhc3QubmFtZX0nIG5vdCBmb3VuZCBpbiAke25hbWVwYXRoLmxlbmd0aCA+IDEgPyAnZGVlcGx5ICcgOiAnJ31pbXBvcnRlZCBuYW1lc3BhY2UgJyR7bmFtZXBhdGguam9pbignLicpfScuYFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAvLyBwaWNrIHVwIGFsbCBpbXBvcnRzIGF0IGJvZHkgZW50cnkgdGltZSwgdG8gcHJvcGVybHkgcmVzcGVjdCBob2lzdGluZ1xuICAgICAgUHJvZ3JhbSh7IGJvZHkgfSkge1xuICAgICAgICBmdW5jdGlvbiBwcm9jZXNzQm9keVN0YXRlbWVudChkZWNsYXJhdGlvbikge1xuICAgICAgICAgIGlmIChkZWNsYXJhdGlvbi50eXBlICE9PSAnSW1wb3J0RGVjbGFyYXRpb24nKSByZXR1cm5cblxuICAgICAgICAgIGlmIChkZWNsYXJhdGlvbi5zcGVjaWZpZXJzLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gRXhwb3J0cy5nZXQoZGVjbGFyYXRpb24uc291cmNlLnZhbHVlLCBjb250ZXh0KVxuICAgICAgICAgIGlmIChpbXBvcnRzID09IG51bGwpIHJldHVybiBudWxsXG5cbiAgICAgICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpbXBvcnRzLnJlcG9ydEVycm9ycyhjb250ZXh0LCBkZWNsYXJhdGlvbilcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGRlY2xhcmF0aW9uLnNwZWNpZmllcnMpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoc3BlY2lmaWVyLnR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJzpcbiAgICAgICAgICAgICAgICBpZiAoIWltcG9ydHMuc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgICAgICAgIHNwZWNpZmllcixcbiAgICAgICAgICAgICAgICAgICAgYE5vIGV4cG9ydGVkIG5hbWVzIGZvdW5kIGluIG1vZHVsZSAnJHtkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWV9Jy5gXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZXMuc2V0KHNwZWNpZmllci5sb2NhbC5uYW1lLCBpbXBvcnRzKVxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIGNhc2UgJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInOlxuICAgICAgICAgICAgICBjYXNlICdJbXBvcnRTcGVjaWZpZXInOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWV0YSA9IGltcG9ydHMuZ2V0KFxuICAgICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byAnZGVmYXVsdCcgZm9yIGRlZmF1bHQgaHR0cDovL2kuaW1ndXIuY29tL25qNnFBV3kuanBnXG4gICAgICAgICAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0ZWQgPyBzcGVjaWZpZXIuaW1wb3J0ZWQubmFtZSA6ICdkZWZhdWx0J1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBpZiAoIW1ldGEgfHwgIW1ldGEubmFtZXNwYWNlKSB7IGJyZWFrIH1cbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VzLnNldChzcGVjaWZpZXIubG9jYWwubmFtZSwgbWV0YS5uYW1lc3BhY2UpXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBib2R5LmZvckVhY2gocHJvY2Vzc0JvZHlTdGF0ZW1lbnQpXG4gICAgICB9LFxuXG4gICAgICAvLyBzYW1lIGFzIGFib3ZlLCBidXQgZG9lcyBub3QgYWRkIG5hbWVzIHRvIGxvY2FsIG1hcFxuICAgICAgRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyKG5hbWVzcGFjZSkge1xuICAgICAgICB2YXIgZGVjbGFyYXRpb24gPSBpbXBvcnREZWNsYXJhdGlvbihjb250ZXh0KVxuXG4gICAgICAgIHZhciBpbXBvcnRzID0gRXhwb3J0cy5nZXQoZGVjbGFyYXRpb24uc291cmNlLnZhbHVlLCBjb250ZXh0KVxuICAgICAgICBpZiAoaW1wb3J0cyA9PSBudWxsKSByZXR1cm4gbnVsbFxuXG4gICAgICAgIGlmIChpbXBvcnRzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICBpbXBvcnRzLnJlcG9ydEVycm9ycyhjb250ZXh0LCBkZWNsYXJhdGlvbilcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaW1wb3J0cy5zaXplKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgICAgICBgTm8gZXhwb3J0ZWQgbmFtZXMgZm91bmQgaW4gbW9kdWxlICcke2RlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZX0nLmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8vIHRvZG86IGNoZWNrIGZvciBwb3NzaWJsZSByZWRlZmluaXRpb25cblxuICAgICAgTWVtYmVyRXhwcmVzc2lvbihkZXJlZmVyZW5jZSkge1xuICAgICAgICBpZiAoZGVyZWZlcmVuY2Uub2JqZWN0LnR5cGUgIT09ICdJZGVudGlmaWVyJykgcmV0dXJuXG4gICAgICAgIGlmICghbmFtZXNwYWNlcy5oYXMoZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWUpKSByZXR1cm5cbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWUpICE9PSAnbW9kdWxlJykgcmV0dXJuXG5cbiAgICAgICAgaWYgKGRlcmVmZXJlbmNlLnBhcmVudC50eXBlID09PSAnQXNzaWdubWVudEV4cHJlc3Npb24nICYmIGRlcmVmZXJlbmNlLnBhcmVudC5sZWZ0ID09PSBkZXJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgIGRlcmVmZXJlbmNlLnBhcmVudCxcbiAgICAgICAgICAgICAgYEFzc2lnbm1lbnQgdG8gbWVtYmVyIG9mIG5hbWVzcGFjZSAnJHtkZXJlZmVyZW5jZS5vYmplY3QubmFtZX0nLmBcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdvIGRlZXBcbiAgICAgICAgdmFyIG5hbWVzcGFjZSA9IG5hbWVzcGFjZXMuZ2V0KGRlcmVmZXJlbmNlLm9iamVjdC5uYW1lKVxuICAgICAgICB2YXIgbmFtZXBhdGggPSBbZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWVdXG4gICAgICAgIC8vIHdoaWxlIHByb3BlcnR5IGlzIG5hbWVzcGFjZSBhbmQgcGFyZW50IGlzIG1lbWJlciBleHByZXNzaW9uLCBrZWVwIHZhbGlkYXRpbmdcbiAgICAgICAgd2hpbGUgKG5hbWVzcGFjZSBpbnN0YW5jZW9mIEV4cG9ydHMgJiYgZGVyZWZlcmVuY2UudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG5cbiAgICAgICAgICBpZiAoZGVyZWZlcmVuY2UuY29tcHV0ZWQpIHtcbiAgICAgICAgICAgIGlmICghYWxsb3dDb21wdXRlZCkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydChcbiAgICAgICAgICAgICAgICBkZXJlZmVyZW5jZS5wcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICBgVW5hYmxlIHRvIHZhbGlkYXRlIGNvbXB1dGVkIHJlZmVyZW5jZSB0byBpbXBvcnRlZCBuYW1lc3BhY2UgJyR7ZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWV9Jy5gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghbmFtZXNwYWNlLmhhcyhkZXJlZmVyZW5jZS5wcm9wZXJ0eS5uYW1lKSkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgIGRlcmVmZXJlbmNlLnByb3BlcnR5LFxuICAgICAgICAgICAgICBtYWtlTWVzc2FnZShkZXJlZmVyZW5jZS5wcm9wZXJ0eSwgbmFtZXBhdGgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGV4cG9ydGVkID0gbmFtZXNwYWNlLmdldChkZXJlZmVyZW5jZS5wcm9wZXJ0eS5uYW1lKVxuICAgICAgICAgIGlmIChleHBvcnRlZCA9PSBudWxsKSByZXR1cm5cblxuICAgICAgICAgIC8vIHN0YXNoIGFuZCBwb3BcbiAgICAgICAgICBuYW1lcGF0aC5wdXNoKGRlcmVmZXJlbmNlLnByb3BlcnR5Lm5hbWUpXG4gICAgICAgICAgbmFtZXNwYWNlID0gZXhwb3J0ZWQubmFtZXNwYWNlXG4gICAgICAgICAgZGVyZWZlcmVuY2UgPSBkZXJlZmVyZW5jZS5wYXJlbnRcbiAgICAgICAgfVxuXG4gICAgICB9LFxuXG4gICAgICBWYXJpYWJsZURlY2xhcmF0b3IoeyBpZCwgaW5pdCB9KSB7XG4gICAgICAgIGlmIChpbml0ID09IG51bGwpIHJldHVyblxuICAgICAgICBpZiAoaW5pdC50eXBlICE9PSAnSWRlbnRpZmllcicpIHJldHVyblxuICAgICAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGluaXQubmFtZSkpIHJldHVyblxuXG4gICAgICAgIC8vIGNoZWNrIGZvciByZWRlZmluaXRpb24gaW4gaW50ZXJtZWRpYXRlIHNjb3Blc1xuICAgICAgICBpZiAoZGVjbGFyZWRTY29wZShjb250ZXh0LCBpbml0Lm5hbWUpICE9PSAnbW9kdWxlJykgcmV0dXJuXG5cbiAgICAgICAgLy8gREZTIHRyYXZlcnNlIGNoaWxkIG5hbWVzcGFjZXNcbiAgICAgICAgZnVuY3Rpb24gdGVzdEtleShwYXR0ZXJuLCBuYW1lc3BhY2UsIHBhdGggPSBbaW5pdC5uYW1lXSkge1xuICAgICAgICAgIGlmICghKG5hbWVzcGFjZSBpbnN0YW5jZW9mIEV4cG9ydHMpKSByZXR1cm5cblxuICAgICAgICAgIGlmIChwYXR0ZXJuLnR5cGUgIT09ICdPYmplY3RQYXR0ZXJuJykgcmV0dXJuXG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHBhdHRlcm4ucHJvcGVydGllcykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwcm9wZXJ0eS50eXBlID09PSAnRXhwZXJpbWVudGFsUmVzdFByb3BlcnR5J1xuICAgICAgICAgICAgICB8fCBwcm9wZXJ0eS50eXBlID09PSAnUmVzdEVsZW1lbnQnXG4gICAgICAgICAgICAgIHx8ICFwcm9wZXJ0eS5rZXlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocHJvcGVydHkua2V5LnR5cGUgIT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbm9kZTogcHJvcGVydHksXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ09ubHkgZGVzdHJ1Y3R1cmUgdG9wLWxldmVsIG5hbWVzLicsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghbmFtZXNwYWNlLmhhcyhwcm9wZXJ0eS5rZXkubmFtZSkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGU6IHByb3BlcnR5LFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG1ha2VNZXNzYWdlKHByb3BlcnR5LmtleSwgcGF0aCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhdGgucHVzaChwcm9wZXJ0eS5rZXkubmFtZSlcbiAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY3lFeHBvcnRNYXAgPSBuYW1lc3BhY2UuZ2V0KHByb3BlcnR5LmtleS5uYW1lKVxuICAgICAgICAgICAgLy8gY291bGQgYmUgbnVsbCB3aGVuIGlnbm9yZWQgb3IgYW1iaWd1b3VzXG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeUV4cG9ydE1hcCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB0ZXN0S2V5KHByb3BlcnR5LnZhbHVlLCBkZXBlbmRlbmN5RXhwb3J0TWFwLm5hbWVzcGFjZSwgcGF0aClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgucG9wKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZXN0S2V5KGlkLCBuYW1lc3BhY2VzLmdldChpbml0Lm5hbWUpKVxuICAgICAgfSxcblxuICAgICAgSlNYTWVtYmVyRXhwcmVzc2lvbih7b2JqZWN0LCBwcm9wZXJ0eX0pIHtcbiAgICAgICAgIGlmICghbmFtZXNwYWNlcy5oYXMob2JqZWN0Lm5hbWUpKSByZXR1cm5cbiAgICAgICAgIHZhciBuYW1lc3BhY2UgPSBuYW1lc3BhY2VzLmdldChvYmplY3QubmFtZSlcbiAgICAgICAgIGlmICghbmFtZXNwYWNlLmhhcyhwcm9wZXJ0eS5uYW1lKSkge1xuICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgbm9kZTogcHJvcGVydHksXG4gICAgICAgICAgICAgbWVzc2FnZTogbWFrZU1lc3NhZ2UocHJvcGVydHksIFtvYmplY3QubmFtZV0pLFxuICAgICAgICAgICB9KVxuICAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uYW1lc3BhY2UuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJhbGxvd0NvbXB1dGVkIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjcmVhdGUiLCJuYW1lc3BhY2VSdWxlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJuYW1lc3BhY2VzIiwiTWFwIiwibWFrZU1lc3NhZ2UiLCJsYXN0IiwibmFtZXBhdGgiLCJuYW1lIiwibGVuZ3RoIiwiam9pbiIsIlByb2dyYW0iLCJib2R5IiwicHJvY2Vzc0JvZHlTdGF0ZW1lbnQiLCJkZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwicmVwb3J0RXJyb3JzIiwic3BlY2lmaWVyIiwic2l6ZSIsInJlcG9ydCIsInNldCIsImxvY2FsIiwiaW1wb3J0ZWQiLCJuYW1lc3BhY2UiLCJmb3JFYWNoIiwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyIiwiTWVtYmVyRXhwcmVzc2lvbiIsImRlcmVmZXJlbmNlIiwib2JqZWN0IiwiaGFzIiwicGFyZW50IiwibGVmdCIsImNvbXB1dGVkIiwicHJvcGVydHkiLCJleHBvcnRlZCIsInB1c2giLCJWYXJpYWJsZURlY2xhcmF0b3IiLCJpZCIsImluaXQiLCJ0ZXN0S2V5IiwicGF0dGVybiIsInBhdGgiLCJrZXkiLCJub2RlIiwibWVzc2FnZSIsImRlcGVuZGVuY3lFeHBvcnRNYXAiLCJwb3AiLCJKU1hNZW1iZXJFeHByZXNzaW9uIl0sIm1hcHBpbmdzIjoiYUFBQSxrRTtBQUNBLHlDO0FBQ0EseUQ7QUFDQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sU0FERjtBQUVKQyxVQUFNO0FBQ0pD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MUIsSUFBdEIsQ0FBTCxFQUFrQztBQUNsQyxjQUFNcUIsWUFBWTFCLFdBQVdlLEdBQVgsQ0FBZWdCLE9BQU8xQixJQUF0QixDQUFsQjtBQUNBLFlBQUksQ0FBQ3FCLFVBQVVNLEdBQVYsQ0FBY0ksU0FBUy9CLElBQXZCLENBQUwsRUFBbUM7QUFDakNQLGtCQUFRd0IsTUFBUixDQUFlO0FBQ2J3QixrQkFBTVYsUUFETztBQUViVyxxQkFBUzdDLFlBQVlrQyxRQUFaLEVBQXNCLENBQUNMLE9BQU8xQixJQUFSLENBQXRCLENBRkksRUFBZjs7QUFJRDtBQUNGLE9BN0tJLEVBQVA7O0FBK0tELEdBbE5jLEVBQWpCIiwiZmlsZSI6Im5hbWVzcGFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWNsYXJlZFNjb3BlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvZGVjbGFyZWRTY29wZSc7XG5pbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IGltcG9ydERlY2xhcmF0aW9uIGZyb20gJy4uL2ltcG9ydERlY2xhcmF0aW9uJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25hbWVzcGFjZScpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBhbGxvd0NvbXB1dGVkOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGNvbXB1dGVkIChhbmQgdGh1cywgdW4tbGludGFibGUpIHJlZmVyZW5jZXMgdG8gbmFtZXNwYWNlIG1lbWJlcnMuJyxcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIG5hbWVzcGFjZVJ1bGUoY29udGV4dCkge1xuXG4gICAgLy8gcmVhZCBvcHRpb25zXG4gICAgY29uc3Qge1xuICAgICAgYWxsb3dDb21wdXRlZCA9IGZhbHNlLFxuICAgIH0gPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG5cbiAgICBjb25zdCBuYW1lc3BhY2VzID0gbmV3IE1hcCgpO1xuXG4gICAgZnVuY3Rpb24gbWFrZU1lc3NhZ2UobGFzdCwgbmFtZXBhdGgpIHtcbiAgICAgIHJldHVybiBgJyR7bGFzdC5uYW1lfScgbm90IGZvdW5kIGluICR7bmFtZXBhdGgubGVuZ3RoID4gMSA/ICdkZWVwbHkgJyA6ICcnfWltcG9ydGVkIG5hbWVzcGFjZSAnJHtuYW1lcGF0aC5qb2luKCcuJyl9Jy5gO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAvLyBwaWNrIHVwIGFsbCBpbXBvcnRzIGF0IGJvZHkgZW50cnkgdGltZSwgdG8gcHJvcGVybHkgcmVzcGVjdCBob2lzdGluZ1xuICAgICAgUHJvZ3JhbSh7IGJvZHkgfSkge1xuICAgICAgICBmdW5jdGlvbiBwcm9jZXNzQm9keVN0YXRlbWVudChkZWNsYXJhdGlvbikge1xuICAgICAgICAgIGlmIChkZWNsYXJhdGlvbi50eXBlICE9PSAnSW1wb3J0RGVjbGFyYXRpb24nKSByZXR1cm47XG5cbiAgICAgICAgICBpZiAoZGVjbGFyYXRpb24uc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBFeHBvcnRzLmdldChkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgICAgIGlmIChpbXBvcnRzID09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgaWYgKGltcG9ydHMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgaW1wb3J0cy5yZXBvcnRFcnJvcnMoY29udGV4dCwgZGVjbGFyYXRpb24pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGRlY2xhcmF0aW9uLnNwZWNpZmllcnMpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoc3BlY2lmaWVyLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcic6XG4gICAgICAgICAgICAgIGlmICghaW1wb3J0cy5zaXplKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgICAgICBzcGVjaWZpZXIsXG4gICAgICAgICAgICAgICAgICBgTm8gZXhwb3J0ZWQgbmFtZXMgZm91bmQgaW4gbW9kdWxlICcke2RlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZX0nLmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5hbWVzcGFjZXMuc2V0KHNwZWNpZmllci5sb2NhbC5uYW1lLCBpbXBvcnRzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJzpcbiAgICAgICAgICAgIGNhc2UgJ0ltcG9ydFNwZWNpZmllcic6IHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YSA9IGltcG9ydHMuZ2V0KFxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gJ2RlZmF1bHQnIGZvciBkZWZhdWx0IGh0dHA6Ly9pLmltZ3VyLmNvbS9uajZxQVd5LmpwZ1xuICAgICAgICAgICAgICAgIHNwZWNpZmllci5pbXBvcnRlZCA/IHNwZWNpZmllci5pbXBvcnRlZC5uYW1lIDogJ2RlZmF1bHQnXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghbWV0YSB8fCAhbWV0YS5uYW1lc3BhY2UpIHsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgbmFtZXNwYWNlcy5zZXQoc3BlY2lmaWVyLmxvY2FsLm5hbWUsIG1ldGEubmFtZXNwYWNlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJvZHkuZm9yRWFjaChwcm9jZXNzQm9keVN0YXRlbWVudCk7XG4gICAgICB9LFxuXG4gICAgICAvLyBzYW1lIGFzIGFib3ZlLCBidXQgZG9lcyBub3QgYWRkIG5hbWVzIHRvIGxvY2FsIG1hcFxuICAgICAgRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyKG5hbWVzcGFjZSkge1xuICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGltcG9ydERlY2xhcmF0aW9uKGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGltcG9ydHMgPSBFeHBvcnRzLmdldChkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgICBpZiAoaW1wb3J0cyA9PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgaW1wb3J0cy5yZXBvcnRFcnJvcnMoY29udGV4dCwgZGVjbGFyYXRpb24pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaW1wb3J0cy5zaXplKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgICAgICBgTm8gZXhwb3J0ZWQgbmFtZXMgZm91bmQgaW4gbW9kdWxlICcke2RlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZX0nLmBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvLyB0b2RvOiBjaGVjayBmb3IgcG9zc2libGUgcmVkZWZpbml0aW9uXG5cbiAgICAgIE1lbWJlckV4cHJlc3Npb24oZGVyZWZlcmVuY2UpIHtcbiAgICAgICAgaWYgKGRlcmVmZXJlbmNlLm9iamVjdC50eXBlICE9PSAnSWRlbnRpZmllcicpIHJldHVybjtcbiAgICAgICAgaWYgKCFuYW1lc3BhY2VzLmhhcyhkZXJlZmVyZW5jZS5vYmplY3QubmFtZSkpIHJldHVybjtcbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWUpICE9PSAnbW9kdWxlJykgcmV0dXJuO1xuXG4gICAgICAgIGlmIChkZXJlZmVyZW5jZS5wYXJlbnQudHlwZSA9PT0gJ0Fzc2lnbm1lbnRFeHByZXNzaW9uJyAmJiBkZXJlZmVyZW5jZS5wYXJlbnQubGVmdCA9PT0gZGVyZWZlcmVuY2UpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChcbiAgICAgICAgICAgIGRlcmVmZXJlbmNlLnBhcmVudCxcbiAgICAgICAgICAgIGBBc3NpZ25tZW50IHRvIG1lbWJlciBvZiBuYW1lc3BhY2UgJyR7ZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWV9Jy5gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdvIGRlZXBcbiAgICAgICAgbGV0IG5hbWVzcGFjZSA9IG5hbWVzcGFjZXMuZ2V0KGRlcmVmZXJlbmNlLm9iamVjdC5uYW1lKTtcbiAgICAgICAgY29uc3QgbmFtZXBhdGggPSBbZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWVdO1xuICAgICAgICAvLyB3aGlsZSBwcm9wZXJ0eSBpcyBuYW1lc3BhY2UgYW5kIHBhcmVudCBpcyBtZW1iZXIgZXhwcmVzc2lvbiwga2VlcCB2YWxpZGF0aW5nXG4gICAgICAgIHdoaWxlIChuYW1lc3BhY2UgaW5zdGFuY2VvZiBFeHBvcnRzICYmIGRlcmVmZXJlbmNlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuXG4gICAgICAgICAgaWYgKGRlcmVmZXJlbmNlLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICBpZiAoIWFsbG93Q29tcHV0ZWQpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgICAgZGVyZWZlcmVuY2UucHJvcGVydHksXG4gICAgICAgICAgICAgICAgYFVuYWJsZSB0byB2YWxpZGF0ZSBjb21wdXRlZCByZWZlcmVuY2UgdG8gaW1wb3J0ZWQgbmFtZXNwYWNlICcke2RlcmVmZXJlbmNlLm9iamVjdC5uYW1lfScuYFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghbmFtZXNwYWNlLmhhcyhkZXJlZmVyZW5jZS5wcm9wZXJ0eS5uYW1lKSkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICAgIGRlcmVmZXJlbmNlLnByb3BlcnR5LFxuICAgICAgICAgICAgICBtYWtlTWVzc2FnZShkZXJlZmVyZW5jZS5wcm9wZXJ0eSwgbmFtZXBhdGgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZXhwb3J0ZWQgPSBuYW1lc3BhY2UuZ2V0KGRlcmVmZXJlbmNlLnByb3BlcnR5Lm5hbWUpO1xuICAgICAgICAgIGlmIChleHBvcnRlZCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICAvLyBzdGFzaCBhbmQgcG9wXG4gICAgICAgICAgbmFtZXBhdGgucHVzaChkZXJlZmVyZW5jZS5wcm9wZXJ0eS5uYW1lKTtcbiAgICAgICAgICBuYW1lc3BhY2UgPSBleHBvcnRlZC5uYW1lc3BhY2U7XG4gICAgICAgICAgZGVyZWZlcmVuY2UgPSBkZXJlZmVyZW5jZS5wYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgfSxcblxuICAgICAgVmFyaWFibGVEZWNsYXJhdG9yKHsgaWQsIGluaXQgfSkge1xuICAgICAgICBpZiAoaW5pdCA9PSBudWxsKSByZXR1cm47XG4gICAgICAgIGlmIChpbml0LnR5cGUgIT09ICdJZGVudGlmaWVyJykgcmV0dXJuO1xuICAgICAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGluaXQubmFtZSkpIHJldHVybjtcblxuICAgICAgICAvLyBjaGVjayBmb3IgcmVkZWZpbml0aW9uIGluIGludGVybWVkaWF0ZSBzY29wZXNcbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgaW5pdC5uYW1lKSAhPT0gJ21vZHVsZScpIHJldHVybjtcblxuICAgICAgICAvLyBERlMgdHJhdmVyc2UgY2hpbGQgbmFtZXNwYWNlc1xuICAgICAgICBmdW5jdGlvbiB0ZXN0S2V5KHBhdHRlcm4sIG5hbWVzcGFjZSwgcGF0aCA9IFtpbml0Lm5hbWVdKSB7XG4gICAgICAgICAgaWYgKCEobmFtZXNwYWNlIGluc3RhbmNlb2YgRXhwb3J0cykpIHJldHVybjtcblxuICAgICAgICAgIGlmIChwYXR0ZXJuLnR5cGUgIT09ICdPYmplY3RQYXR0ZXJuJykgcmV0dXJuO1xuXG4gICAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwYXR0ZXJuLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgcHJvcGVydHkudHlwZSA9PT0gJ0V4cGVyaW1lbnRhbFJlc3RQcm9wZXJ0eSdcbiAgICAgICAgICAgICAgfHwgcHJvcGVydHkudHlwZSA9PT0gJ1Jlc3RFbGVtZW50J1xuICAgICAgICAgICAgICB8fCAhcHJvcGVydHkua2V5XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5rZXkudHlwZSAhPT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlOiBwcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnT25seSBkZXN0cnVjdHVyZSB0b3AtbGV2ZWwgbmFtZXMuJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIW5hbWVzcGFjZS5oYXMocHJvcGVydHkua2V5Lm5hbWUpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlOiBwcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBtYWtlTWVzc2FnZShwcm9wZXJ0eS5rZXksIHBhdGgpLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhdGgucHVzaChwcm9wZXJ0eS5rZXkubmFtZSk7XG4gICAgICAgICAgICBjb25zdCBkZXBlbmRlbmN5RXhwb3J0TWFwID0gbmFtZXNwYWNlLmdldChwcm9wZXJ0eS5rZXkubmFtZSk7XG4gICAgICAgICAgICAvLyBjb3VsZCBiZSBudWxsIHdoZW4gaWdub3JlZCBvciBhbWJpZ3VvdXNcbiAgICAgICAgICAgIGlmIChkZXBlbmRlbmN5RXhwb3J0TWFwICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRlc3RLZXkocHJvcGVydHkudmFsdWUsIGRlcGVuZGVuY3lFeHBvcnRNYXAubmFtZXNwYWNlLCBwYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgucG9wKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGVzdEtleShpZCwgbmFtZXNwYWNlcy5nZXQoaW5pdC5uYW1lKSk7XG4gICAgICB9LFxuXG4gICAgICBKU1hNZW1iZXJFeHByZXNzaW9uKHsgb2JqZWN0LCBwcm9wZXJ0eSB9KSB7XG4gICAgICAgIGlmICghbmFtZXNwYWNlcy5oYXMob2JqZWN0Lm5hbWUpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZSA9IG5hbWVzcGFjZXMuZ2V0KG9iamVjdC5uYW1lKTtcbiAgICAgICAgaWYgKCFuYW1lc3BhY2UuaGFzKHByb3BlcnR5Lm5hbWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZTogcHJvcGVydHksXG4gICAgICAgICAgICBtZXNzYWdlOiBtYWtlTWVzc2FnZShwcm9wZXJ0eSwgW29iamVjdC5uYW1lXSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js b/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js index d047a91e5..1f389351d 100644 --- a/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +++ b/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js @@ -47,6 +47,11 @@ function isExportDefaultClass(node) { return node.type === 'ExportDefaultDeclaration' && node.declaration.type === 'ClassDeclaration'; } +function isExportNameClass(node) { + + return node.type === 'ExportNamedDeclaration' && node.declaration && node.declaration.type === 'ClassDeclaration'; +} + module.exports = { meta: { type: 'layout', @@ -72,8 +77,8 @@ module.exports = { const requireCalls = []; function checkForNewLine(node, nextNode, type) { - if (isExportDefaultClass(nextNode)) { - let classNode = nextNode.declaration; + if (isExportDefaultClass(nextNode) || isExportNameClass(nextNode)) { + const classNode = nextNode.declaration; if (isClassWithDecorator(classNode)) { nextNode = classNode.decorators[0]; @@ -176,4 +181,4 @@ after ${type} statement not followed by another ${type}.`, 'Decorator:exit': decrementLevel }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uZXdsaW5lLWFmdGVyLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJjb250YWluc05vZGVPckVxdWFsIiwib3V0ZXJOb2RlIiwiaW5uZXJOb2RlIiwicmFuZ2UiLCJnZXRTY29wZUJvZHkiLCJzY29wZSIsImJsb2NrIiwidHlwZSIsImJvZHkiLCJmaW5kTm9kZUluZGV4SW5TY29wZUJvZHkiLCJub2RlVG9GaW5kIiwiZmluZEluZGV4Iiwibm9kZSIsImdldExpbmVEaWZmZXJlbmNlIiwibmV4dE5vZGUiLCJsb2MiLCJzdGFydCIsImxpbmUiLCJlbmQiLCJpc0NsYXNzV2l0aERlY29yYXRvciIsImRlY29yYXRvcnMiLCJsZW5ndGgiLCJpc0V4cG9ydERlZmF1bHRDbGFzcyIsImRlY2xhcmF0aW9uIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJsZXZlbCIsInJlcXVpcmVDYWxscyIsImNoZWNrRm9yTmV3TGluZSIsImNsYXNzTm9kZSIsIm9wdGlvbnMiLCJjb3VudCIsImxpbmVEaWZmZXJlbmNlIiwiRVhQRUNURURfTElORV9ESUZGRVJFTkNFIiwiY29sdW1uIiwicmVwb3J0IiwibWVzc2FnZSIsImZpeCIsImZpeGVyIiwiaW5zZXJ0VGV4dEFmdGVyIiwicmVwZWF0IiwiaW5jcmVtZW50TGV2ZWwiLCJkZWNyZW1lbnRMZXZlbCIsImNoZWNrSW1wb3J0IiwicGFyZW50Iiwibm9kZVBvc2l0aW9uIiwiaW5kZXhPZiIsImlzRXhwb3J0IiwiSW1wb3J0RGVjbGFyYXRpb24iLCJUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uIiwiQ2FsbEV4cHJlc3Npb24iLCJwdXNoIiwiZ2V0RmlsZW5hbWUiLCJzY29wZUJvZHkiLCJnZXRTY29wZSIsImZvckVhY2giLCJpbmRleCIsInN0YXRlbWVudFdpdGhSZXF1aXJlQ2FsbCIsIm5leHRTdGF0ZW1lbnQiLCJuZXh0UmVxdWlyZUNhbGwiLCJGdW5jdGlvbkRlY2xhcmF0aW9uIiwiRnVuY3Rpb25FeHByZXNzaW9uIiwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24iLCJCbG9ja1N0YXRlbWVudCIsIk9iamVjdEV4cHJlc3Npb24iLCJEZWNvcmF0b3IiXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0Esc0Q7QUFDQSxxQzs7QUFFQSw4QjtBQUNBLE1BQU1BLE1BQU0scUJBQU0saURBQU4sQ0FBWjs7QUFFQTtBQUNBO0FBQ0E7QUFiQTs7O0dBZUEsU0FBU0MsbUJBQVQsQ0FBNkJDLFNBQTdCLEVBQXdDQyxTQUF4QyxFQUFtRCxDQUMvQyxPQUFPRCxVQUFVRSxLQUFWLENBQWdCLENBQWhCLEtBQXNCRCxVQUFVQyxLQUFWLENBQWdCLENBQWhCLENBQXRCLElBQTRDRixVQUFVRSxLQUFWLENBQWdCLENBQWhCLEtBQXNCRCxVQUFVQyxLQUFWLENBQWdCLENBQWhCLENBQXpFLENBQ0g7O0FBRUQsU0FBU0MsWUFBVCxDQUFzQkMsS0FBdEIsRUFBNkI7QUFDekIsTUFBSUEsTUFBTUMsS0FBTixDQUFZQyxJQUFaLEtBQXFCLGlCQUF6QixFQUE0QztBQUMxQ1IsUUFBSSxzQ0FBSjtBQUNBLFdBQU8sSUFBUDtBQUNELEdBSndCOztBQU1qQlMsTUFOaUIsR0FNUkgsTUFBTUMsS0FORSxDQU1qQkUsSUFOaUI7QUFPekIsTUFBSUEsUUFBUUEsS0FBS0QsSUFBTCxLQUFjLGdCQUExQixFQUE0QztBQUN4QyxXQUFPQyxLQUFLQSxJQUFaO0FBQ0g7O0FBRUQsU0FBT0EsSUFBUDtBQUNIOztBQUVELFNBQVNDLHdCQUFULENBQWtDRCxJQUFsQyxFQUF3Q0UsVUFBeEMsRUFBb0Q7QUFDaEQsU0FBT0YsS0FBS0csU0FBTCxDQUFnQkMsSUFBRCxJQUFVWixvQkFBb0JZLElBQXBCLEVBQTBCRixVQUExQixDQUF6QixDQUFQO0FBQ0g7O0FBRUQsU0FBU0csaUJBQVQsQ0FBMkJELElBQTNCLEVBQWlDRSxRQUFqQyxFQUEyQztBQUN6QyxTQUFPQSxT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QUFDQSxnQkFBTWMsa0JBQWtCaEMsYUFBYTZCLFFBQVEsQ0FBckIsQ0FBeEI7O0FBRUEsY0FBSUcsbUJBQW1CbEUsb0JBQW9CZ0Usd0JBQXBCLEVBQThDRSxlQUE5QyxDQUF2QixFQUF1RjtBQUNyRjtBQUNEOztBQUVELGNBQUlEO0FBQ0EsV0FBQ0MsZUFBRCxJQUFvQixDQUFDbEUsb0JBQW9CaUUsYUFBcEIsRUFBbUNDLGVBQW5DLENBRHJCLENBQUosRUFDK0U7O0FBRTdFL0IsNEJBQWdCNkIsd0JBQWhCLEVBQTBDQyxhQUExQyxFQUF5RCxTQUF6RDtBQUNEO0FBQ0YsU0FqQkQ7QUFrQkQsT0EvQkk7QUFnQ0xFLDJCQUFxQm5CLGNBaENoQjtBQWlDTG9CLDBCQUFvQnBCLGNBakNmO0FBa0NMcUIsK0JBQXlCckIsY0FsQ3BCO0FBbUNMc0Isc0JBQWdCdEIsY0FuQ1g7QUFvQ0x1Qix3QkFBa0J2QixjQXBDYjtBQXFDTHdCLGlCQUFXeEIsY0FyQ047QUFzQ0wsa0NBQTRCQyxjQXRDdkI7QUF1Q0wsaUNBQTJCQSxjQXZDdEI7QUF3Q0wsc0NBQWdDQSxjQXhDM0I7QUF5Q0wsNkJBQXVCQSxjQXpDbEI7QUEwQ0wsK0JBQXlCQSxjQTFDcEI7QUEyQ0wsd0JBQWtCQSxjQTNDYixFQUFQOztBQTZDRCxHQWhJYyxFQUFqQiIsImZpbGUiOiJuZXdsaW5lLWFmdGVyLWltcG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIGVuZm9yY2UgbmV3IGxpbmUgYWZ0ZXIgaW1wb3J0IG5vdCBmb2xsb3dlZCBieSBhbm90aGVyIGltcG9ydC5cbiAqIEBhdXRob3IgUmFkZWsgQmVua2VsXG4gKi9cblxuaW1wb3J0IGlzU3RhdGljUmVxdWlyZSBmcm9tICcuLi9jb3JlL3N0YXRpY1JlcXVpcmUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnXG5jb25zdCBsb2cgPSBkZWJ1ZygnZXNsaW50LXBsdWdpbi1pbXBvcnQ6cnVsZXM6bmV3bGluZS1hZnRlci1pbXBvcnQnKVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZSBEZWZpbml0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBjb250YWluc05vZGVPckVxdWFsKG91dGVyTm9kZSwgaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIG91dGVyTm9kZS5yYW5nZVswXSA8PSBpbm5lck5vZGUucmFuZ2VbMF0gJiYgb3V0ZXJOb2RlLnJhbmdlWzFdID49IGlubmVyTm9kZS5yYW5nZVsxXVxufVxuXG5mdW5jdGlvbiBnZXRTY29wZUJvZHkoc2NvcGUpIHtcbiAgICBpZiAoc2NvcGUuYmxvY2sudHlwZSA9PT0gJ1N3aXRjaFN0YXRlbWVudCcpIHtcbiAgICAgIGxvZygnU3dpdGNoU3RhdGVtZW50IHNjb3BlcyBub3Qgc3VwcG9ydGVkJylcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgeyBib2R5IH0gPSBzY29wZS5ibG9ja1xuICAgIGlmIChib2R5ICYmIGJvZHkudHlwZSA9PT0gJ0Jsb2NrU3RhdGVtZW50Jykge1xuICAgICAgICByZXR1cm4gYm9keS5ib2R5XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvZHlcbn1cblxuZnVuY3Rpb24gZmluZE5vZGVJbmRleEluU2NvcGVCb2R5KGJvZHksIG5vZGVUb0ZpbmQpIHtcbiAgICByZXR1cm4gYm9keS5maW5kSW5kZXgoKG5vZGUpID0+IGNvbnRhaW5zTm9kZU9yRXF1YWwobm9kZSwgbm9kZVRvRmluZCkpXG59XG5cbmZ1bmN0aW9uIGdldExpbmVEaWZmZXJlbmNlKG5vZGUsIG5leHROb2RlKSB7XG4gIHJldHVybiBuZXh0Tm9kZS5sb2Muc3RhcnQubGluZSAtIG5vZGUubG9jLmVuZC5saW5lXG59XG5cbmZ1bmN0aW9uIGlzQ2xhc3NXaXRoRGVjb3JhdG9yKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ0NsYXNzRGVjbGFyYXRpb24nICYmIG5vZGUuZGVjb3JhdG9ycyAmJiBub2RlLmRlY29yYXRvcnMubGVuZ3RoXG59XG5cbmZ1bmN0aW9uIGlzRXhwb3J0RGVmYXVsdENsYXNzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbicgJiYgbm9kZS5kZWNsYXJhdGlvbi50eXBlID09PSAnQ2xhc3NEZWNsYXJhdGlvbidcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnbGF5b3V0JyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25ld2xpbmUtYWZ0ZXItaW1wb3J0JyksXG4gICAgfSxcbiAgICBmaXhhYmxlOiAnd2hpdGVzcGFjZScsXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogJ29iamVjdCcsXG4gICAgICAgICdwcm9wZXJ0aWVzJzoge1xuICAgICAgICAgICdjb3VudCc6IHtcbiAgICAgICAgICAgICd0eXBlJzogJ2ludGVnZXInLFxuICAgICAgICAgICAgJ21pbmltdW0nOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgbGV0IGxldmVsID0gMFxuICAgIGNvbnN0IHJlcXVpcmVDYWxscyA9IFtdXG5cbiAgICBmdW5jdGlvbiBjaGVja0Zvck5ld0xpbmUobm9kZSwgbmV4dE5vZGUsIHR5cGUpIHtcbiAgICAgIGlmIChpc0V4cG9ydERlZmF1bHRDbGFzcyhuZXh0Tm9kZSkpIHtcbiAgICAgICAgbGV0IGNsYXNzTm9kZSA9IG5leHROb2RlLmRlY2xhcmF0aW9uXG5cbiAgICAgICAgaWYgKGlzQ2xhc3NXaXRoRGVjb3JhdG9yKGNsYXNzTm9kZSkpIHtcbiAgICAgICAgICBuZXh0Tm9kZSA9IGNsYXNzTm9kZS5kZWNvcmF0b3JzWzBdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNDbGFzc1dpdGhEZWNvcmF0b3IobmV4dE5vZGUpKSB7XG4gICAgICAgIG5leHROb2RlID0gbmV4dE5vZGUuZGVjb3JhdG9yc1swXVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHsgY291bnQ6IDEgfVxuICAgICAgY29uc3QgbGluZURpZmZlcmVuY2UgPSBnZXRMaW5lRGlmZmVyZW5jZShub2RlLCBuZXh0Tm9kZSlcbiAgICAgIGNvbnN0IEVYUEVDVEVEX0xJTkVfRElGRkVSRU5DRSA9IG9wdGlvbnMuY291bnQgKyAxXG5cbiAgICAgIGlmIChsaW5lRGlmZmVyZW5jZSA8IEVYUEVDVEVEX0xJTkVfRElGRkVSRU5DRSkge1xuICAgICAgICBsZXQgY29sdW1uID0gbm9kZS5sb2Muc3RhcnQuY29sdW1uXG5cbiAgICAgICAgaWYgKG5vZGUubG9jLnN0YXJ0LmxpbmUgIT09IG5vZGUubG9jLmVuZC5saW5lKSB7XG4gICAgICAgICAgY29sdW1uID0gMFxuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGxvYzoge1xuICAgICAgICAgICAgbGluZTogbm9kZS5sb2MuZW5kLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXNzYWdlOiBgRXhwZWN0ZWQgJHtvcHRpb25zLmNvdW50fSBlbXB0eSBsaW5lJHtvcHRpb25zLmNvdW50ID4gMSA/ICdzJyA6ICcnfSBcXFxuYWZ0ZXIgJHt0eXBlfSBzdGF0ZW1lbnQgbm90IGZvbGxvd2VkIGJ5IGFub3RoZXIgJHt0eXBlfS5gLFxuICAgICAgICAgIGZpeDogZml4ZXIgPT4gZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICdcXG4nLnJlcGVhdChFWFBFQ1RFRF9MSU5FX0RJRkZFUkVOQ0UgLSBsaW5lRGlmZmVyZW5jZSlcbiAgICAgICAgICApLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluY3JlbWVudExldmVsKCkge1xuICAgICAgbGV2ZWwrK1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWNyZW1lbnRMZXZlbCgpIHtcbiAgICAgIGxldmVsLS1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0ltcG9ydChub2RlKSB7XG4gICAgICAgIGNvbnN0IHsgcGFyZW50IH0gPSBub2RlXG4gICAgICAgIGNvbnN0IG5vZGVQb3NpdGlvbiA9IHBhcmVudC5ib2R5LmluZGV4T2Yobm9kZSlcbiAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBwYXJlbnQuYm9keVtub2RlUG9zaXRpb24gKyAxXVxuICAgICAgICBcbiAgICAgICAgLy8gc2tpcCBcImV4cG9ydCBpbXBvcnRcInNcbiAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nICYmIG5vZGUuaXNFeHBvcnQpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXh0Tm9kZSAmJiBuZXh0Tm9kZS50eXBlICE9PSAnSW1wb3J0RGVjbGFyYXRpb24nICYmIChuZXh0Tm9kZS50eXBlICE9PSAnVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbicgfHwgbmV4dE5vZGUuaXNFeHBvcnQpKSB7XG4gICAgICAgICAgY2hlY2tGb3JOZXdMaW5lKG5vZGUsIG5leHROb2RlLCAnaW1wb3J0JylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogY2hlY2tJbXBvcnQsXG4gICAgICBUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uOiBjaGVja0ltcG9ydCxcbiAgICAgIENhbGxFeHByZXNzaW9uOiBmdW5jdGlvbihub2RlKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY1JlcXVpcmUobm9kZSkgJiYgbGV2ZWwgPT09IDApIHtcbiAgICAgICAgICByZXF1aXJlQ2FsbHMucHVzaChub2RlKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbG9nKCdleGl0IHByb2Nlc3NpbmcgZm9yJywgY29udGV4dC5nZXRGaWxlbmFtZSgpKVxuICAgICAgICBjb25zdCBzY29wZUJvZHkgPSBnZXRTY29wZUJvZHkoY29udGV4dC5nZXRTY29wZSgpKVxuICAgICAgICBsb2coJ2dvdCBzY29wZTonLCBzY29wZUJvZHkpXG5cbiAgICAgICAgcmVxdWlyZUNhbGxzLmZvckVhY2goZnVuY3Rpb24gKG5vZGUsIGluZGV4KSB7XG4gICAgICAgICAgY29uc3Qgbm9kZVBvc2l0aW9uID0gZmluZE5vZGVJbmRleEluU2NvcGVCb2R5KHNjb3BlQm9keSwgbm9kZSlcbiAgICAgICAgICBsb2coJ25vZGUgcG9zaXRpb24gaW4gc2NvcGU6Jywgbm9kZVBvc2l0aW9uKVxuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50V2l0aFJlcXVpcmVDYWxsID0gc2NvcGVCb2R5W25vZGVQb3NpdGlvbl1cbiAgICAgICAgICBjb25zdCBuZXh0U3RhdGVtZW50ID0gc2NvcGVCb2R5W25vZGVQb3NpdGlvbiArIDFdXG4gICAgICAgICAgY29uc3QgbmV4dFJlcXVpcmVDYWxsID0gcmVxdWlyZUNhbGxzW2luZGV4ICsgMV1cblxuICAgICAgICAgIGlmIChuZXh0UmVxdWlyZUNhbGwgJiYgY29udGFpbnNOb2RlT3JFcXVhbChzdGF0ZW1lbnRXaXRoUmVxdWlyZUNhbGwsIG5leHRSZXF1aXJlQ2FsbCkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChuZXh0U3RhdGVtZW50ICYmXG4gICAgICAgICAgICAgKCFuZXh0UmVxdWlyZUNhbGwgfHwgIWNvbnRhaW5zTm9kZU9yRXF1YWwobmV4dFN0YXRlbWVudCwgbmV4dFJlcXVpcmVDYWxsKSkpIHtcblxuICAgICAgICAgICAgY2hlY2tGb3JOZXdMaW5lKHN0YXRlbWVudFdpdGhSZXF1aXJlQ2FsbCwgbmV4dFN0YXRlbWVudCwgJ3JlcXVpcmUnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIEZ1bmN0aW9uRXhwcmVzc2lvbjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBCbG9ja1N0YXRlbWVudDogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBPYmplY3RFeHByZXNzaW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIERlY29yYXRvcjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICAnRnVuY3Rpb25EZWNsYXJhdGlvbjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgICAnRnVuY3Rpb25FeHByZXNzaW9uOmV4aXQnOiBkZWNyZW1lbnRMZXZlbCxcbiAgICAgICdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgICAnQmxvY2tTdGF0ZW1lbnQ6ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ09iamVjdEV4cHJlc3Npb246ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ0RlY29yYXRvcjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uZXdsaW5lLWFmdGVyLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJjb250YWluc05vZGVPckVxdWFsIiwib3V0ZXJOb2RlIiwiaW5uZXJOb2RlIiwicmFuZ2UiLCJnZXRTY29wZUJvZHkiLCJzY29wZSIsImJsb2NrIiwidHlwZSIsImJvZHkiLCJmaW5kTm9kZUluZGV4SW5TY29wZUJvZHkiLCJub2RlVG9GaW5kIiwiZmluZEluZGV4Iiwibm9kZSIsImdldExpbmVEaWZmZXJlbmNlIiwibmV4dE5vZGUiLCJsb2MiLCJzdGFydCIsImxpbmUiLCJlbmQiLCJpc0NsYXNzV2l0aERlY29yYXRvciIsImRlY29yYXRvcnMiLCJsZW5ndGgiLCJpc0V4cG9ydERlZmF1bHRDbGFzcyIsImRlY2xhcmF0aW9uIiwiaXNFeHBvcnROYW1lQ2xhc3MiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJmaXhhYmxlIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsImxldmVsIiwicmVxdWlyZUNhbGxzIiwiY2hlY2tGb3JOZXdMaW5lIiwiY2xhc3NOb2RlIiwib3B0aW9ucyIsImNvdW50IiwibGluZURpZmZlcmVuY2UiLCJFWFBFQ1RFRF9MSU5FX0RJRkZFUkVOQ0UiLCJjb2x1bW4iLCJyZXBvcnQiLCJtZXNzYWdlIiwiZml4IiwiZml4ZXIiLCJpbnNlcnRUZXh0QWZ0ZXIiLCJyZXBlYXQiLCJpbmNyZW1lbnRMZXZlbCIsImRlY3JlbWVudExldmVsIiwiY2hlY2tJbXBvcnQiLCJwYXJlbnQiLCJub2RlUG9zaXRpb24iLCJpbmRleE9mIiwiaXNFeHBvcnQiLCJJbXBvcnREZWNsYXJhdGlvbiIsIlRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24iLCJDYWxsRXhwcmVzc2lvbiIsInB1c2giLCJnZXRGaWxlbmFtZSIsInNjb3BlQm9keSIsImdldFNjb3BlIiwiZm9yRWFjaCIsImluZGV4Iiwic3RhdGVtZW50V2l0aFJlcXVpcmVDYWxsIiwibmV4dFN0YXRlbWVudCIsIm5leHRSZXF1aXJlQ2FsbCIsIkZ1bmN0aW9uRGVjbGFyYXRpb24iLCJGdW5jdGlvbkV4cHJlc3Npb24iLCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsIkJsb2NrU3RhdGVtZW50IiwiT2JqZWN0RXhwcmVzc2lvbiIsIkRlY29yYXRvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxzRDtBQUNBLHFDOztBQUVBLDhCO0FBQ0EsTUFBTUEsTUFBTSxxQkFBTSxpREFBTixDQUFaOztBQUVBO0FBQ0E7QUFDQTtBQWJBOzs7R0FlQSxTQUFTQyxtQkFBVCxDQUE2QkMsU0FBN0IsRUFBd0NDLFNBQXhDLEVBQW1ELENBQ2pELE9BQU9ELFVBQVVFLEtBQVYsQ0FBZ0IsQ0FBaEIsS0FBc0JELFVBQVVDLEtBQVYsQ0FBZ0IsQ0FBaEIsQ0FBdEIsSUFBNENGLFVBQVVFLEtBQVYsQ0FBZ0IsQ0FBaEIsS0FBc0JELFVBQVVDLEtBQVYsQ0FBZ0IsQ0FBaEIsQ0FBekUsQ0FDRDs7QUFFRCxTQUFTQyxZQUFULENBQXNCQyxLQUF0QixFQUE2QjtBQUMzQixNQUFJQSxNQUFNQyxLQUFOLENBQVlDLElBQVosS0FBcUIsaUJBQXpCLEVBQTRDO0FBQzFDUixRQUFJLHNDQUFKO0FBQ0EsV0FBTyxJQUFQO0FBQ0QsR0FKMEI7O0FBTW5CUyxNQU5tQixHQU1WSCxNQUFNQyxLQU5JLENBTW5CRSxJQU5tQjtBQU8zQixNQUFJQSxRQUFRQSxLQUFLRCxJQUFMLEtBQWMsZ0JBQTFCLEVBQTRDO0FBQzFDLFdBQU9DLEtBQUtBLElBQVo7QUFDRDs7QUFFRCxTQUFPQSxJQUFQO0FBQ0Q7O0FBRUQsU0FBU0Msd0JBQVQsQ0FBa0NELElBQWxDLEVBQXdDRSxVQUF4QyxFQUFvRDtBQUNsRCxTQUFPRixLQUFLRyxTQUFMLENBQWdCQyxJQUFELElBQVVaLG9CQUFvQlksSUFBcEIsRUFBMEJGLFVBQTFCLENBQXpCLENBQVA7QUFDRDs7QUFFRCxTQUFTRyxpQkFBVCxDQUEyQkQsSUFBM0IsRUFBaUNFLFFBQWpD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LEVBQWdCb0QsS0FBaEIsRUFBdUI7QUFDMUMsZ0JBQU1YLGVBQWU1Qyx5QkFBeUJvRCxTQUF6QixFQUFvQ2pELElBQXBDLENBQXJCO0FBQ0FiLGNBQUkseUJBQUosRUFBK0JzRCxZQUEvQjs7QUFFQSxnQkFBTVksMkJBQTJCSixVQUFVUixZQUFWLENBQWpDO0FBQ0EsZ0JBQU1hLGdCQUFnQkwsVUFBVVIsZUFBZSxDQUF6QixDQUF0QjtBQUNBLGdCQUFNYyxrQkFBa0JoQyxhQUFhNkIsUUFBUSxDQUFyQixDQUF4Qjs7QUFFQSxjQUFJRyxtQkFBbUJuRSxvQkFBb0JpRSx3QkFBcEIsRUFBOENFLGVBQTlDLENBQXZCLEVBQXVGO0FBQ3JGO0FBQ0Q7O0FBRUQsY0FBSUQ7QUFDQSxXQUFDQyxlQUFELElBQW9CLENBQUNuRSxvQkFBb0JrRSxhQUFwQixFQUFtQ0MsZUFBbkMsQ0FEckIsQ0FBSixFQUMrRTs7QUFFN0UvQiw0QkFBZ0I2Qix3QkFBaEIsRUFBMENDLGFBQTFDLEVBQXlELFNBQXpEO0FBQ0Q7QUFDRixTQWpCRDtBQWtCRCxPQS9CSTtBQWdDTEUsMkJBQXFCbkIsY0FoQ2hCO0FBaUNMb0IsMEJBQW9CcEIsY0FqQ2Y7QUFrQ0xxQiwrQkFBeUJyQixjQWxDcEI7QUFtQ0xzQixzQkFBZ0J0QixjQW5DWDtBQW9DTHVCLHdCQUFrQnZCLGNBcENiO0FBcUNMd0IsaUJBQVd4QixjQXJDTjtBQXNDTCxrQ0FBNEJDLGNBdEN2QjtBQXVDTCxpQ0FBMkJBLGNBdkN0QjtBQXdDTCxzQ0FBZ0NBLGNBeEMzQjtBQXlDTCw2QkFBdUJBLGNBekNsQjtBQTBDTCwrQkFBeUJBLGNBMUNwQjtBQTJDTCx3QkFBa0JBLGNBM0NiLEVBQVA7O0FBNkNELEdBaEljLEVBQWpCIiwiZmlsZSI6Im5ld2xpbmUtYWZ0ZXItaW1wb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZW92ZXJ2aWV3IFJ1bGUgdG8gZW5mb3JjZSBuZXcgbGluZSBhZnRlciBpbXBvcnQgbm90IGZvbGxvd2VkIGJ5IGFub3RoZXIgaW1wb3J0LlxuICogQGF1dGhvciBSYWRlayBCZW5rZWxcbiAqL1xuXG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmNvbnN0IGxvZyA9IGRlYnVnKCdlc2xpbnQtcGx1Z2luLWltcG9ydDpydWxlczpuZXdsaW5lLWFmdGVyLWltcG9ydCcpO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZSBEZWZpbml0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBjb250YWluc05vZGVPckVxdWFsKG91dGVyTm9kZSwgaW5uZXJOb2RlKSB7XG4gIHJldHVybiBvdXRlck5vZGUucmFuZ2VbMF0gPD0gaW5uZXJOb2RlLnJhbmdlWzBdICYmIG91dGVyTm9kZS5yYW5nZVsxXSA+PSBpbm5lck5vZGUucmFuZ2VbMV07XG59XG5cbmZ1bmN0aW9uIGdldFNjb3BlQm9keShzY29wZSkge1xuICBpZiAoc2NvcGUuYmxvY2sudHlwZSA9PT0gJ1N3aXRjaFN0YXRlbWVudCcpIHtcbiAgICBsb2coJ1N3aXRjaFN0YXRlbWVudCBzY29wZXMgbm90IHN1cHBvcnRlZCcpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgeyBib2R5IH0gPSBzY29wZS5ibG9jaztcbiAgaWYgKGJvZHkgJiYgYm9keS50eXBlID09PSAnQmxvY2tTdGF0ZW1lbnQnKSB7XG4gICAgcmV0dXJuIGJvZHkuYm9keTtcbiAgfVxuXG4gIHJldHVybiBib2R5O1xufVxuXG5mdW5jdGlvbiBmaW5kTm9kZUluZGV4SW5TY29wZUJvZHkoYm9keSwgbm9kZVRvRmluZCkge1xuICByZXR1cm4gYm9keS5maW5kSW5kZXgoKG5vZGUpID0+IGNvbnRhaW5zTm9kZU9yRXF1YWwobm9kZSwgbm9kZVRvRmluZCkpO1xufVxuXG5mdW5jdGlvbiBnZXRMaW5lRGlmZmVyZW5jZShub2RlLCBuZXh0Tm9kZSkge1xuICByZXR1cm4gbmV4dE5vZGUubG9jLnN0YXJ0LmxpbmUgLSBub2RlLmxvYy5lbmQubGluZTtcbn1cblxuZnVuY3Rpb24gaXNDbGFzc1dpdGhEZWNvcmF0b3Iobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnQ2xhc3NEZWNsYXJhdGlvbicgJiYgbm9kZS5kZWNvcmF0b3JzICYmIG5vZGUuZGVjb3JhdG9ycy5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGlzRXhwb3J0RGVmYXVsdENsYXNzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbicgJiYgbm9kZS5kZWNsYXJhdGlvbi50eXBlID09PSAnQ2xhc3NEZWNsYXJhdGlvbic7XG59XG5cbmZ1bmN0aW9uIGlzRXhwb3J0TmFtZUNsYXNzKG5vZGUpIHtcbiAgXG4gIHJldHVybiBub2RlLnR5cGUgPT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJyAmJiBub2RlLmRlY2xhcmF0aW9uICYmIG5vZGUuZGVjbGFyYXRpb24udHlwZSA9PT0gJ0NsYXNzRGVjbGFyYXRpb24nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdsYXlvdXQnLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbmV3bGluZS1hZnRlci1pbXBvcnQnKSxcbiAgICB9LFxuICAgIGZpeGFibGU6ICd3aGl0ZXNwYWNlJyxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiAnb2JqZWN0JyxcbiAgICAgICAgJ3Byb3BlcnRpZXMnOiB7XG4gICAgICAgICAgJ2NvdW50Jzoge1xuICAgICAgICAgICAgJ3R5cGUnOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAnbWluaW11bSc6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJzogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBsZXQgbGV2ZWwgPSAwO1xuICAgIGNvbnN0IHJlcXVpcmVDYWxscyA9IFtdO1xuXG4gICAgZnVuY3Rpb24gY2hlY2tGb3JOZXdMaW5lKG5vZGUsIG5leHROb2RlLCB0eXBlKSB7XG4gICAgICBpZiAoaXNFeHBvcnREZWZhdWx0Q2xhc3MobmV4dE5vZGUpIHx8IGlzRXhwb3J0TmFtZUNsYXNzKG5leHROb2RlKSkge1xuICAgICAgICBjb25zdCBjbGFzc05vZGUgPSBuZXh0Tm9kZS5kZWNsYXJhdGlvbjtcblxuICAgICAgICBpZiAoaXNDbGFzc1dpdGhEZWNvcmF0b3IoY2xhc3NOb2RlKSkge1xuICAgICAgICAgIG5leHROb2RlID0gY2xhc3NOb2RlLmRlY29yYXRvcnNbMF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNDbGFzc1dpdGhEZWNvcmF0b3IobmV4dE5vZGUpKSB7XG4gICAgICAgIG5leHROb2RlID0gbmV4dE5vZGUuZGVjb3JhdG9yc1swXTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7IGNvdW50OiAxIH07XG4gICAgICBjb25zdCBsaW5lRGlmZmVyZW5jZSA9IGdldExpbmVEaWZmZXJlbmNlKG5vZGUsIG5leHROb2RlKTtcbiAgICAgIGNvbnN0IEVYUEVDVEVEX0xJTkVfRElGRkVSRU5DRSA9IG9wdGlvbnMuY291bnQgKyAxO1xuXG4gICAgICBpZiAobGluZURpZmZlcmVuY2UgPCBFWFBFQ1RFRF9MSU5FX0RJRkZFUkVOQ0UpIHtcbiAgICAgICAgbGV0IGNvbHVtbiA9IG5vZGUubG9jLnN0YXJ0LmNvbHVtbjtcblxuICAgICAgICBpZiAobm9kZS5sb2Muc3RhcnQubGluZSAhPT0gbm9kZS5sb2MuZW5kLmxpbmUpIHtcbiAgICAgICAgICBjb2x1bW4gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGxvYzoge1xuICAgICAgICAgICAgbGluZTogbm9kZS5sb2MuZW5kLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXNzYWdlOiBgRXhwZWN0ZWQgJHtvcHRpb25zLmNvdW50fSBlbXB0eSBsaW5lJHtvcHRpb25zLmNvdW50ID4gMSA/ICdzJyA6ICcnfSBcXFxuYWZ0ZXIgJHt0eXBlfSBzdGF0ZW1lbnQgbm90IGZvbGxvd2VkIGJ5IGFub3RoZXIgJHt0eXBlfS5gLFxuICAgICAgICAgIGZpeDogZml4ZXIgPT4gZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICdcXG4nLnJlcGVhdChFWFBFQ1RFRF9MSU5FX0RJRkZFUkVOQ0UgLSBsaW5lRGlmZmVyZW5jZSlcbiAgICAgICAgICApLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbmNyZW1lbnRMZXZlbCgpIHtcbiAgICAgIGxldmVsKys7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlY3JlbWVudExldmVsKCkge1xuICAgICAgbGV2ZWwtLTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0ltcG9ydChub2RlKSB7XG4gICAgICBjb25zdCB7IHBhcmVudCB9ID0gbm9kZTtcbiAgICAgIGNvbnN0IG5vZGVQb3NpdGlvbiA9IHBhcmVudC5ib2R5LmluZGV4T2Yobm9kZSk7XG4gICAgICBjb25zdCBuZXh0Tm9kZSA9IHBhcmVudC5ib2R5W25vZGVQb3NpdGlvbiArIDFdO1xuICAgICAgICBcbiAgICAgIC8vIHNraXAgXCJleHBvcnQgaW1wb3J0XCJzXG4gICAgICBpZiAobm9kZS50eXBlID09PSAnVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbicgJiYgbm9kZS5pc0V4cG9ydCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0Tm9kZSAmJiBuZXh0Tm9kZS50eXBlICE9PSAnSW1wb3J0RGVjbGFyYXRpb24nICYmIChuZXh0Tm9kZS50eXBlICE9PSAnVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbicgfHwgbmV4dE5vZGUuaXNFeHBvcnQpKSB7XG4gICAgICAgIGNoZWNrRm9yTmV3TGluZShub2RlLCBuZXh0Tm9kZSwgJ2ltcG9ydCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogY2hlY2tJbXBvcnQsXG4gICAgICBUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uOiBjaGVja0ltcG9ydCxcbiAgICAgIENhbGxFeHByZXNzaW9uOiBmdW5jdGlvbihub2RlKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY1JlcXVpcmUobm9kZSkgJiYgbGV2ZWwgPT09IDApIHtcbiAgICAgICAgICByZXF1aXJlQ2FsbHMucHVzaChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxvZygnZXhpdCBwcm9jZXNzaW5nIGZvcicsIGNvbnRleHQuZ2V0RmlsZW5hbWUoKSk7XG4gICAgICAgIGNvbnN0IHNjb3BlQm9keSA9IGdldFNjb3BlQm9keShjb250ZXh0LmdldFNjb3BlKCkpO1xuICAgICAgICBsb2coJ2dvdCBzY29wZTonLCBzY29wZUJvZHkpO1xuXG4gICAgICAgIHJlcXVpcmVDYWxscy5mb3JFYWNoKGZ1bmN0aW9uIChub2RlLCBpbmRleCkge1xuICAgICAgICAgIGNvbnN0IG5vZGVQb3NpdGlvbiA9IGZpbmROb2RlSW5kZXhJblNjb3BlQm9keShzY29wZUJvZHksIG5vZGUpO1xuICAgICAgICAgIGxvZygnbm9kZSBwb3NpdGlvbiBpbiBzY29wZTonLCBub2RlUG9zaXRpb24pO1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50V2l0aFJlcXVpcmVDYWxsID0gc2NvcGVCb2R5W25vZGVQb3NpdGlvbl07XG4gICAgICAgICAgY29uc3QgbmV4dFN0YXRlbWVudCA9IHNjb3BlQm9keVtub2RlUG9zaXRpb24gKyAxXTtcbiAgICAgICAgICBjb25zdCBuZXh0UmVxdWlyZUNhbGwgPSByZXF1aXJlQ2FsbHNbaW5kZXggKyAxXTtcblxuICAgICAgICAgIGlmIChuZXh0UmVxdWlyZUNhbGwgJiYgY29udGFpbnNOb2RlT3JFcXVhbChzdGF0ZW1lbnRXaXRoUmVxdWlyZUNhbGwsIG5leHRSZXF1aXJlQ2FsbCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobmV4dFN0YXRlbWVudCAmJlxuICAgICAgICAgICAgICghbmV4dFJlcXVpcmVDYWxsIHx8ICFjb250YWluc05vZGVPckVxdWFsKG5leHRTdGF0ZW1lbnQsIG5leHRSZXF1aXJlQ2FsbCkpKSB7XG5cbiAgICAgICAgICAgIGNoZWNrRm9yTmV3TGluZShzdGF0ZW1lbnRXaXRoUmVxdWlyZUNhbGwsIG5leHRTdGF0ZW1lbnQsICdyZXF1aXJlJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIEZ1bmN0aW9uRXhwcmVzc2lvbjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBCbG9ja1N0YXRlbWVudDogaW5jcmVtZW50TGV2ZWwsXG4gICAgICBPYmplY3RFeHByZXNzaW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIERlY29yYXRvcjogaW5jcmVtZW50TGV2ZWwsXG4gICAgICAnRnVuY3Rpb25EZWNsYXJhdGlvbjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgICAnRnVuY3Rpb25FeHByZXNzaW9uOmV4aXQnOiBkZWNyZW1lbnRMZXZlbCxcbiAgICAgICdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgICAnQmxvY2tTdGF0ZW1lbnQ6ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ09iamVjdEV4cHJlc3Npb246ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ0RlY29yYXRvcjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js b/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js index ff1cb22c7..5a2c8cd42 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js @@ -21,4 +21,4 @@ module.exports = { const options = Object.assign({ esmodule: true, commonjs: true }, context.options[0]); return (0, _moduleVisitor2.default)(reportIfAbsolute, options); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hYnNvbHV0ZS1wYXRoLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwicmVwb3J0SWZBYnNvbHV0ZSIsInNvdXJjZSIsInZhbHVlIiwicmVwb3J0Iiwib3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsImVzbW9kdWxlIiwiY29tbW9uanMiXSwibWFwcGluZ3MiOiJhQUFBLGtFO0FBQ0E7QUFDQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsa0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLENBQUUsdUNBQUYsQ0FMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLGFBQVNDLGdCQUFULENBQTBCQyxNQUExQixFQUFrQztBQUNoQyxVQUFJLE9BQU9BLE9BQU9DLEtBQWQsS0FBd0IsUUFBeEIsSUFBb0MsNEJBQVdELE9BQU9DLEtBQWxCLENBQXhDLEVBQWtFO0FBQ2hFSCxnQkFBUUksTUFBUixDQUFlRixNQUFmLEVBQXVCLDhDQUF2QjtBQUNEO0FBQ0Y7O0FBRUQsVUFBTUcsVUFBVUMsT0FBT0MsTUFBUCxDQUFjLEVBQUVDLFVBQVUsSUFBWixFQUFrQkMsVUFBVSxJQUE1QixFQUFkLEVBQWtEVCxRQUFRSyxPQUFSLENBQWdCLENBQWhCLENBQWxELENBQWhCO0FBQ0EsV0FBTyw2QkFBY0osZ0JBQWQsRUFBZ0NJLE9BQWhDLENBQVA7QUFDRCxHQWxCYyxFQUFqQiIsImZpbGUiOiJuby1hYnNvbHV0ZS1wYXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vZHVsZVZpc2l0b3IsIHsgbWFrZU9wdGlvbnNTY2hlbWEgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InXG5pbXBvcnQgeyBpc0Fic29sdXRlIH0gZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1hYnNvbHV0ZS1wYXRoJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFsgbWFrZU9wdGlvbnNTY2hlbWEoKSBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBmdW5jdGlvbiByZXBvcnRJZkFic29sdXRlKHNvdXJjZSkge1xuICAgICAgaWYgKHR5cGVvZiBzb3VyY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGlzQWJzb2x1dGUoc291cmNlLnZhbHVlKSkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChzb3VyY2UsICdEbyBub3QgaW1wb3J0IG1vZHVsZXMgdXNpbmcgYW4gYWJzb2x1dGUgcGF0aCcpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyBlc21vZHVsZTogdHJ1ZSwgY29tbW9uanM6IHRydWUgfSwgY29udGV4dC5vcHRpb25zWzBdKVxuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKHJlcG9ydElmQWJzb2x1dGUsIG9wdGlvbnMpXG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hYnNvbHV0ZS1wYXRoLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwicmVwb3J0SWZBYnNvbHV0ZSIsInNvdXJjZSIsInZhbHVlIiwicmVwb3J0Iiwib3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsImVzbW9kdWxlIiwiY29tbW9uanMiXSwibWFwcGluZ3MiOiJhQUFBLGtFO0FBQ0E7QUFDQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsa0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLENBQUUsdUNBQUYsQ0FMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLGFBQVNDLGdCQUFULENBQTBCQyxNQUExQixFQUFrQztBQUNoQyxVQUFJLE9BQU9BLE9BQU9DLEtBQWQsS0FBd0IsUUFBeEIsSUFBb0MsNEJBQVdELE9BQU9DLEtBQWxCLENBQXhDLEVBQWtFO0FBQ2hFSCxnQkFBUUksTUFBUixDQUFlRixNQUFmLEVBQXVCLDhDQUF2QjtBQUNEO0FBQ0Y7O0FBRUQsVUFBTUcsVUFBVUMsT0FBT0MsTUFBUCxDQUFjLEVBQUVDLFVBQVUsSUFBWixFQUFrQkMsVUFBVSxJQUE1QixFQUFkLEVBQWtEVCxRQUFRSyxPQUFSLENBQWdCLENBQWhCLENBQWxELENBQWhCO0FBQ0EsV0FBTyw2QkFBY0osZ0JBQWQsRUFBZ0NJLE9BQWhDLENBQVA7QUFDRCxHQWxCYyxFQUFqQiIsImZpbGUiOiJuby1hYnNvbHV0ZS1wYXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vZHVsZVZpc2l0b3IsIHsgbWFrZU9wdGlvbnNTY2hlbWEgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IHsgaXNBYnNvbHV0ZSB9IGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1hYnNvbHV0ZS1wYXRoJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFsgbWFrZU9wdGlvbnNTY2hlbWEoKSBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBmdW5jdGlvbiByZXBvcnRJZkFic29sdXRlKHNvdXJjZSkge1xuICAgICAgaWYgKHR5cGVvZiBzb3VyY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGlzQWJzb2x1dGUoc291cmNlLnZhbHVlKSkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChzb3VyY2UsICdEbyBub3QgaW1wb3J0IG1vZHVsZXMgdXNpbmcgYW4gYWJzb2x1dGUgcGF0aCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgZXNtb2R1bGU6IHRydWUsIGNvbW1vbmpzOiB0cnVlIH0sIGNvbnRleHQub3B0aW9uc1swXSk7XG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3IocmVwb3J0SWZBYnNvbHV0ZSwgb3B0aW9ucyk7XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-amd.js b/node_modules/eslint-plugin-import/lib/rules/no-amd.js index 4eca3f461..0ca36c7fc 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-amd.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-amd.js @@ -43,4 +43,4 @@ module.exports = { * @fileoverview Rule to prefer imports to AMD * @author Jamund Ferguson */ -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hbWQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJub2RlIiwiZ2V0U2NvcGUiLCJjYWxsZWUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwibW9kdWxlcyIsInJlcG9ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxxQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLFFBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0wsd0JBQWtCLFVBQVVDLElBQVYsRUFBZ0I7QUFDaEMsWUFBSUQsUUFBUUUsUUFBUixHQUFtQlAsSUFBbkIsS0FBNEIsUUFBaEMsRUFBMEM7O0FBRTFDLFlBQUlNLEtBQUtFLE1BQUwsQ0FBWVIsSUFBWixLQUFxQixZQUF6QixFQUF1QztBQUN2QyxZQUFJTSxLQUFLRSxNQUFMLENBQVlDLElBQVosS0FBcUIsU0FBckI7QUFDQUgsYUFBS0UsTUFBTCxDQUFZQyxJQUFaLEtBQXFCLFFBRHpCLEVBQ21DOztBQUVuQztBQUNBLFlBQUlILEtBQUtJLFNBQUwsQ0FBZUMsTUFBZixLQUEwQixDQUE5QixFQUFpQzs7QUFFakMsY0FBTUMsVUFBVU4sS0FBS0ksU0FBTCxDQUFlLENBQWYsQ0FBaEI7QUFDQSxZQUFJRSxRQUFRWixJQUFSLEtBQWlCLGlCQUFyQixFQUF3Qzs7QUFFeEM7O0FBRUFLLGdCQUFRUSxNQUFSLENBQWVQLElBQWYsRUFBc0IsbUNBQWtDQSxLQUFLRSxNQUFMLENBQVlDLElBQUssS0FBekU7QUFDRCxPQWpCSSxFQUFQOzs7QUFvQkQsR0E5QmMsRUFBakIsQyxDQVhBIiwiZmlsZSI6Im5vLWFtZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIHByZWZlciBpbXBvcnRzIHRvIEFNRFxuICogQGF1dGhvciBKYW11bmQgRmVyZ3Vzb25cbiAqL1xuXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZSBEZWZpbml0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWFtZCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYWxsRXhwcmVzc2lvbic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIGlmIChjb250ZXh0LmdldFNjb3BlKCkudHlwZSAhPT0gJ21vZHVsZScpIHJldHVyblxuXG4gICAgICAgIGlmIChub2RlLmNhbGxlZS50eXBlICE9PSAnSWRlbnRpZmllcicpIHJldHVyblxuICAgICAgICBpZiAobm9kZS5jYWxsZWUubmFtZSAhPT0gJ3JlcXVpcmUnICYmXG4gICAgICAgICAgICBub2RlLmNhbGxlZS5uYW1lICE9PSAnZGVmaW5lJykgcmV0dXJuXG5cbiAgICAgICAgLy8gdG9kbzogY2FwdHVyZSBkZWZpbmUoKHJlcXVpcmUsIG1vZHVsZSwgZXhwb3J0cykgPT4ge30pIGZvcm0/XG4gICAgICAgIGlmIChub2RlLmFyZ3VtZW50cy5sZW5ndGggIT09IDIpIHJldHVyblxuXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSBub2RlLmFyZ3VtZW50c1swXVxuICAgICAgICBpZiAobW9kdWxlcy50eXBlICE9PSAnQXJyYXlFeHByZXNzaW9uJykgcmV0dXJuXG5cbiAgICAgICAgLy8gdG9kbzogY2hlY2sgc2Vjb25kIGFyZyB0eXBlPyAoaWRlbnRpZmllciBvciBjYWxsYmFjaylcblxuICAgICAgICBjb250ZXh0LnJlcG9ydChub2RlLCBgRXhwZWN0ZWQgaW1wb3J0cyBpbnN0ZWFkIG9mIEFNRCAke25vZGUuY2FsbGVlLm5hbWV9KCkuYClcbiAgICAgIH0sXG4gICAgfVxuXG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hbWQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJub2RlIiwiZ2V0U2NvcGUiLCJjYWxsZWUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwibW9kdWxlcyIsInJlcG9ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxxQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLFFBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0wsd0JBQWtCLFVBQVVDLElBQVYsRUFBZ0I7QUFDaEMsWUFBSUQsUUFBUUUsUUFBUixHQUFtQlAsSUFBbkIsS0FBNEIsUUFBaEMsRUFBMEM7O0FBRTFDLFlBQUlNLEtBQUtFLE1BQUwsQ0FBWVIsSUFBWixLQUFxQixZQUF6QixFQUF1QztBQUN2QyxZQUFJTSxLQUFLRSxNQUFMLENBQVlDLElBQVosS0FBcUIsU0FBckI7QUFDQUgsYUFBS0UsTUFBTCxDQUFZQyxJQUFaLEtBQXFCLFFBRHpCLEVBQ21DOztBQUVuQztBQUNBLFlBQUlILEtBQUtJLFNBQUwsQ0FBZUMsTUFBZixLQUEwQixDQUE5QixFQUFpQzs7QUFFakMsY0FBTUMsVUFBVU4sS0FBS0ksU0FBTCxDQUFlLENBQWYsQ0FBaEI7QUFDQSxZQUFJRSxRQUFRWixJQUFSLEtBQWlCLGlCQUFyQixFQUF3Qzs7QUFFeEM7O0FBRUFLLGdCQUFRUSxNQUFSLENBQWVQLElBQWYsRUFBc0IsbUNBQWtDQSxLQUFLRSxNQUFMLENBQVlDLElBQUssS0FBekU7QUFDRCxPQWpCSSxFQUFQOzs7QUFvQkQsR0E5QmMsRUFBakIsQyxDQVhBIiwiZmlsZSI6Im5vLWFtZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIHByZWZlciBpbXBvcnRzIHRvIEFNRFxuICogQGF1dGhvciBKYW11bmQgRmVyZ3Vzb25cbiAqL1xuXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGUgRGVmaW5pdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1hbWQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ2FsbEV4cHJlc3Npb24nOiBmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICBpZiAoY29udGV4dC5nZXRTY29wZSgpLnR5cGUgIT09ICdtb2R1bGUnKSByZXR1cm47XG5cbiAgICAgICAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgIT09ICdJZGVudGlmaWVyJykgcmV0dXJuO1xuICAgICAgICBpZiAobm9kZS5jYWxsZWUubmFtZSAhPT0gJ3JlcXVpcmUnICYmXG4gICAgICAgICAgICBub2RlLmNhbGxlZS5uYW1lICE9PSAnZGVmaW5lJykgcmV0dXJuO1xuXG4gICAgICAgIC8vIHRvZG86IGNhcHR1cmUgZGVmaW5lKChyZXF1aXJlLCBtb2R1bGUsIGV4cG9ydHMpID0+IHt9KSBmb3JtP1xuICAgICAgICBpZiAobm9kZS5hcmd1bWVudHMubGVuZ3RoICE9PSAyKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbW9kdWxlcyA9IG5vZGUuYXJndW1lbnRzWzBdO1xuICAgICAgICBpZiAobW9kdWxlcy50eXBlICE9PSAnQXJyYXlFeHByZXNzaW9uJykgcmV0dXJuO1xuXG4gICAgICAgIC8vIHRvZG86IGNoZWNrIHNlY29uZCBhcmcgdHlwZT8gKGlkZW50aWZpZXIgb3IgY2FsbGJhY2spXG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQobm9kZSwgYEV4cGVjdGVkIGltcG9ydHMgaW5zdGVhZCBvZiBBTUQgJHtub2RlLmNhbGxlZS5uYW1lfSgpLmApO1xuICAgICAgfSxcbiAgICB9O1xuXG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js b/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js index 0c2b7dac2..e5abf81b1 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js @@ -101,4 +101,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hbm9ueW1vdXMtZGVmYXVsdC1leHBvcnQuanMiXSwibmFtZXMiOlsiZGVmcyIsIkFycmF5RXhwcmVzc2lvbiIsIm9wdGlvbiIsImRlc2NyaXB0aW9uIiwibWVzc2FnZSIsIkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwiQ2FsbEV4cHJlc3Npb24iLCJkZWZhdWx0IiwiQ2xhc3NEZWNsYXJhdGlvbiIsImZvcmJpZCIsIm5vZGUiLCJkZWNsYXJhdGlvbiIsImlkIiwiRnVuY3Rpb25EZWNsYXJhdGlvbiIsIkxpdGVyYWwiLCJPYmplY3RFeHByZXNzaW9uIiwiVGVtcGxhdGVMaXRlcmFsIiwic2NoZW1hUHJvcGVydGllcyIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJyZWR1Y2UiLCJhY2MiLCJkZWYiLCJ0eXBlIiwiZGVmYXVsdHMiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiY3JlYXRlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJhc3NpZ24iLCJyZXBvcnQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EscUM7QUFDQSwwQix1SUFOQTs7O29LQVFBLE1BQU1BLE9BQU8sRUFDWEMsaUJBQWlCO0FBQ2ZDLFlBQVEsWUFETztBQUVmQyxpQkFBYSxvREFGRTtBQUdmQyxhQUFTLCtEQUhNLEVBRE47O0FBTVhDLDJCQUF5QjtBQUN2QkgsWUFBUSxvQkFEZTtBQUV2QkMsaUJBQWEsNkRBRlU7QUFHdkJDLGFBQVMsd0VBSGMsRUFOZDs7QUFXWEUsa0JBQWdCO0FBQ2RKLFlBQVEscUJBRE07QUFFZEMsaUJBQWEsMkRBRkM7QUFHZEMsYUFBUyxxRUFISztBQUlkRyxhQUFTLElBSkssRUFYTDs7QUFpQlhDLG9CQUFrQjtBQUNoQk4sWUFBUSxxQkFEUTtBQUVoQkMsaUJBQWEsOERBRkc7QUFHaEJDLGFBQVMsOENBSE87QUFJaEJLLFlBQVNDLElBQUQsSUFBVSxDQUFDQSxLQUFLQyxXQUFMLENBQWlCQyxFQUpwQixFQWpCUDs7QUF1QlhDLHVCQUFxQjtBQUNuQlgsWUFBUSx3QkFEVztBQUVuQkMsaUJBQWEsaUVBRk07QUFHbkJDLGFBQVMsaURBSFU7QUFJbkJLLFlBQVNDLElBQUQsSUFBVSxDQUFDQSxLQUFLQyxXQUFMLENBQWlCQyxFQUpqQixFQXZCVjs7QUE2QlhFLFdBQVM7QUFDUFosWUFBUSxjQUREO0FBRVBDLGlCQUFhLHFEQUZOO0FBR1BDLGFBQVMsaUVBSEYsRUE3QkU7O0FBa0NYVyxvQkFBa0I7QUFDaEJiLFlBQVEsYUFEUTtBQUVoQkMsaUJBQWEsZ0VBRkc7QUFHaEJDLGFBQVMsZ0VBSE8sRUFsQ1A7O0FBdUNYWSxtQkFBaUI7QUFDZmQsWUFBUSxjQURPO0FBRWZDLGlCQUFhLHFEQUZFO0FBR2ZDLGFBQVMsaUVBSE0sRUF2Q04sRUFBYjs7OztBQThDQSxNQUFNYSxtQkFBbUJDLE9BQU9DLElBQVAsQ0FBWW5CLElBQVo7QUFDdEJvQixHQURzQixDQUNqQkMsR0FBRCxJQUFTckIsS0FBS3FCLEdBQUwsQ0FEUztBQUV0QkMsTUFGc0IsQ0FFZixDQUFDQyxHQUFELEVBQU1DLEdBQU4sS0FBYztBQUNwQkQsTUFBSUMsSUFBSXRCLE1BQVIsSUFBa0I7QUFDaEJDLGlCQUFhcUIsSUFBSXJCLFdBREQ7QUFFaEJzQixVQUFNLFNBRlUsRUFBbEI7OztBQUtBLFNBQU9GLEdBQVA7QUFDRCxDQVRzQixFQVNwQixFQVRvQixDQUF6Qjs7QUFXQSxNQUFNRyxXQUFXUixPQUFPQyxJQUFQLENBQVluQixJQUFaO0FBQ2RvQixHQURjLENBQ1RDLEdBQUQsSUFBU3JCLEtBQUtxQixHQUFMLENBREM7QUFFZEMsTUFGYyxDQUVQLENBQUNDLEdBQUQsRUFBTUMsR0FBTixLQUFjO0FBQ3BCRCxNQUFJQyxJQUFJdEIsTUFBUixJQUFrQixtQkFBSXNCLEdBQUosRUFBUyxTQUFULElBQXNCQSxJQUFJakIsT0FBMUIsR0FBb0MsS0FBdEQ7QUFDQSxTQUFPZ0IsR0FBUDtBQUNELENBTGMsRUFLWixFQUxZLENBQWpCOztBQU9BSSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkosVUFBTSxZQURGO0FBRUpLLFVBQU07QUFDSkMsV0FBSyx1QkFBUSw2QkFBUixDQURELEVBRkY7OztBQU1KQyxZQUFRO0FBQ047QUFDRVAsWUFBTSxRQURSO0FBRUVRLGtCQUFZaEIsZ0JBRmQ7QUFHRSw4QkFBd0IsS0FIMUIsRUFETSxDQU5KLEVBRFM7Ozs7O0FBZ0JmaUIsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLFVBQU1DLFVBQVVsQixPQUFPbUIsTUFBUCxDQUFjLEVBQWQsRUFBa0JYLFFBQWxCLEVBQTRCUyxRQUFRQyxPQUFSLENBQWdCLENBQWhCLENBQTVCLENBQWhCOztBQUVBLFdBQU87QUFDTCxrQ0FBNkIxQixJQUFELElBQVU7QUFDcEMsY0FBTWMsTUFBTXhCLEtBQUtVLEtBQUtDLFdBQUwsQ0FBaUJjLElBQXRCLENBQVo7O0FBRUE7QUFDQTtBQUNBLFlBQUlELE9BQU8sQ0FBQ1ksUUFBUVosSUFBSXRCLE1BQVosQ0FBUixLQUFnQyxDQUFDc0IsSUFBSWYsTUFBTCxJQUFlZSxJQUFJZixNQUFKLENBQVdDLElBQVgsQ0FBL0MsQ0FBSixFQUFzRTtBQUNwRXlCLGtCQUFRRyxNQUFSLENBQWUsRUFBRTVCLElBQUYsRUFBUU4sU0FBU29CLElBQUlwQixPQUFyQixFQUFmO0FBQ0Q7QUFDRixPQVRJLEVBQVA7O0FBV0QsR0E5QmMsRUFBakIiLCJmaWxlIjoibm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZW92ZXJ2aWV3IFJ1bGUgdG8gZGlzYWxsb3cgYW5vbnltb3VzIGRlZmF1bHQgZXhwb3J0cy5cbiAqIEBhdXRob3IgRHVuY2FuIEJlZXZlcnNcbiAqL1xuXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuaW1wb3J0IGhhcyBmcm9tICdoYXMnXG5cbmNvbnN0IGRlZnMgPSB7XG4gIEFycmF5RXhwcmVzc2lvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93QXJyYXknLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYW4gYXJyYXknLFxuICAgIG1lc3NhZ2U6ICdBc3NpZ24gYXJyYXkgdG8gYSB2YXJpYWJsZSBiZWZvcmUgZXhwb3J0aW5nIGFzIG1vZHVsZSBkZWZhdWx0JyxcbiAgfSxcbiAgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246IHtcbiAgICBvcHRpb246ICdhbGxvd0Fycm93RnVuY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYW4gYXJyb3cgZnVuY3Rpb24nLFxuICAgIG1lc3NhZ2U6ICdBc3NpZ24gYXJyb3cgZnVuY3Rpb24gdG8gYSB2YXJpYWJsZSBiZWZvcmUgZXhwb3J0aW5nIGFzIG1vZHVsZSBkZWZhdWx0JyxcbiAgfSxcbiAgQ2FsbEV4cHJlc3Npb246IHtcbiAgICBvcHRpb246ICdhbGxvd0NhbGxFeHByZXNzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGRlZmF1bHQgZXhwb3J0IG9mIGEgZnVuY3Rpb24gY2FsbCcsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBjYWxsIHJlc3VsdCB0byBhIHZhcmlhYmxlIGJlZm9yZSBleHBvcnRpbmcgYXMgbW9kdWxlIGRlZmF1bHQnLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIENsYXNzRGVjbGFyYXRpb246IHtcbiAgICBvcHRpb246ICdhbGxvd0Fub255bW91c0NsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGRlZmF1bHQgZXhwb3J0IG9mIGFuIGFub255bW91cyBjbGFzcycsXG4gICAgbWVzc2FnZTogJ1VuZXhwZWN0ZWQgZGVmYXVsdCBleHBvcnQgb2YgYW5vbnltb3VzIGNsYXNzJyxcbiAgICBmb3JiaWQ6IChub2RlKSA9PiAhbm9kZS5kZWNsYXJhdGlvbi5pZCxcbiAgfSxcbiAgRnVuY3Rpb25EZWNsYXJhdGlvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93QW5vbnltb3VzRnVuY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYW4gYW5vbnltb3VzIGZ1bmN0aW9uJyxcbiAgICBtZXNzYWdlOiAnVW5leHBlY3RlZCBkZWZhdWx0IGV4cG9ydCBvZiBhbm9ueW1vdXMgZnVuY3Rpb24nLFxuICAgIGZvcmJpZDogKG5vZGUpID0+ICFub2RlLmRlY2xhcmF0aW9uLmlkLFxuICB9LFxuICBMaXRlcmFsOiB7XG4gICAgb3B0aW9uOiAnYWxsb3dMaXRlcmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGRlZmF1bHQgZXhwb3J0IG9mIGEgbGl0ZXJhbCcsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBsaXRlcmFsIHRvIGEgdmFyaWFibGUgYmVmb3JlIGV4cG9ydGluZyBhcyBtb2R1bGUgZGVmYXVsdCcsXG4gIH0sXG4gIE9iamVjdEV4cHJlc3Npb246IHtcbiAgICBvcHRpb246ICdhbGxvd09iamVjdCcsXG4gICAgZGVzY3JpcHRpb246ICdJZiBgZmFsc2VgLCB3aWxsIHJlcG9ydCBkZWZhdWx0IGV4cG9ydCBvZiBhbiBvYmplY3QgZXhwcmVzc2lvbicsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBvYmplY3QgdG8gYSB2YXJpYWJsZSBiZWZvcmUgZXhwb3J0aW5nIGFzIG1vZHVsZSBkZWZhdWx0JyxcbiAgfSxcbiAgVGVtcGxhdGVMaXRlcmFsOiB7XG4gICAgb3B0aW9uOiAnYWxsb3dMaXRlcmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGRlZmF1bHQgZXhwb3J0IG9mIGEgbGl0ZXJhbCcsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBsaXRlcmFsIHRvIGEgdmFyaWFibGUgYmVmb3JlIGV4cG9ydGluZyBhcyBtb2R1bGUgZGVmYXVsdCcsXG4gIH0sXG59XG5cbmNvbnN0IHNjaGVtYVByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhkZWZzKVxuICAubWFwKChrZXkpID0+IGRlZnNba2V5XSlcbiAgLnJlZHVjZSgoYWNjLCBkZWYpID0+IHtcbiAgICBhY2NbZGVmLm9wdGlvbl0gPSB7XG4gICAgICBkZXNjcmlwdGlvbjogZGVmLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbmNvbnN0IGRlZmF1bHRzID0gT2JqZWN0LmtleXMoZGVmcylcbiAgLm1hcCgoa2V5KSA9PiBkZWZzW2tleV0pXG4gIC5yZWR1Y2UoKGFjYywgZGVmKSA9PiB7XG4gICAgYWNjW2RlZi5vcHRpb25dID0gaGFzKGRlZiwgJ2RlZmF1bHQnKSA/IGRlZi5kZWZhdWx0IDogZmFsc2VcbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWFub255bW91cy1kZWZhdWx0LWV4cG9ydCcpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHNjaGVtYVByb3BlcnRpZXMsXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMsIGNvbnRleHQub3B0aW9uc1swXSlcblxuICAgIHJldHVybiB7XG4gICAgICAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJzogKG5vZGUpID0+IHtcbiAgICAgICAgY29uc3QgZGVmID0gZGVmc1tub2RlLmRlY2xhcmF0aW9uLnR5cGVdXG5cbiAgICAgICAgLy8gUmVjb2duaXplZCBub2RlIHR5cGUgYW5kIGFsbG93ZWQgYnkgY29uZmlndXJhdGlvbixcbiAgICAgICAgLy8gICBhbmQgaGFzIG5vIGZvcmJpZCBjaGVjaywgb3IgZm9yYmlkIGNoZWNrIHJldHVybiB2YWx1ZSBpcyB0cnV0aHlcbiAgICAgICAgaWYgKGRlZiAmJiAhb3B0aW9uc1tkZWYub3B0aW9uXSAmJiAoIWRlZi5mb3JiaWQgfHwgZGVmLmZvcmJpZChub2RlKSkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IGRlZi5tZXNzYWdlIH0pXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1hbm9ueW1vdXMtZGVmYXVsdC1leHBvcnQuanMiXSwibmFtZXMiOlsiZGVmcyIsIkFycmF5RXhwcmVzc2lvbiIsIm9wdGlvbiIsImRlc2NyaXB0aW9uIiwibWVzc2FnZSIsIkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwiQ2FsbEV4cHJlc3Npb24iLCJkZWZhdWx0IiwiQ2xhc3NEZWNsYXJhdGlvbiIsImZvcmJpZCIsIm5vZGUiLCJkZWNsYXJhdGlvbiIsImlkIiwiRnVuY3Rpb25EZWNsYXJhdGlvbiIsIkxpdGVyYWwiLCJPYmplY3RFeHByZXNzaW9uIiwiVGVtcGxhdGVMaXRlcmFsIiwic2NoZW1hUHJvcGVydGllcyIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJyZWR1Y2UiLCJhY2MiLCJkZWYiLCJ0eXBlIiwiZGVmYXVsdHMiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiY3JlYXRlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJhc3NpZ24iLCJyZXBvcnQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EscUM7QUFDQSwwQix1SUFOQTs7O29LQVFBLE1BQU1BLE9BQU8sRUFDWEMsaUJBQWlCO0FBQ2ZDLFlBQVEsWUFETztBQUVmQyxpQkFBYSxvREFGRTtBQUdmQyxhQUFTLCtEQUhNLEVBRE47O0FBTVhDLDJCQUF5QjtBQUN2QkgsWUFBUSxvQkFEZTtBQUV2QkMsaUJBQWEsNkRBRlU7QUFHdkJDLGFBQVMsd0VBSGMsRUFOZDs7QUFXWEUsa0JBQWdCO0FBQ2RKLFlBQVEscUJBRE07QUFFZEMsaUJBQWEsMkRBRkM7QUFHZEMsYUFBUyxxRUFISztBQUlkRyxhQUFTLElBSkssRUFYTDs7QUFpQlhDLG9CQUFrQjtBQUNoQk4sWUFBUSxxQkFEUTtBQUVoQkMsaUJBQWEsOERBRkc7QUFHaEJDLGFBQVMsOENBSE87QUFJaEJLLFlBQVNDLElBQUQsSUFBVSxDQUFDQSxLQUFLQyxXQUFMLENBQWlCQyxFQUpwQixFQWpCUDs7QUF1QlhDLHVCQUFxQjtBQUNuQlgsWUFBUSx3QkFEVztBQUVuQkMsaUJBQWEsaUVBRk07QUFHbkJDLGFBQVMsaURBSFU7QUFJbkJLLFlBQVNDLElBQUQsSUFBVSxDQUFDQSxLQUFLQyxXQUFMLENBQWlCQyxFQUpqQixFQXZCVjs7QUE2QlhFLFdBQVM7QUFDUFosWUFBUSxjQUREO0FBRVBDLGlCQUFhLHFEQUZOO0FBR1BDLGFBQVMsaUVBSEYsRUE3QkU7O0FBa0NYVyxvQkFBa0I7QUFDaEJiLFlBQVEsYUFEUTtBQUVoQkMsaUJBQWEsZ0VBRkc7QUFHaEJDLGFBQVMsZ0VBSE8sRUFsQ1A7O0FBdUNYWSxtQkFBaUI7QUFDZmQsWUFBUSxjQURPO0FBRWZDLGlCQUFhLHFEQUZFO0FBR2ZDLGFBQVMsaUVBSE0sRUF2Q04sRUFBYjs7OztBQThDQSxNQUFNYSxtQkFBbUJDLE9BQU9DLElBQVAsQ0FBWW5CLElBQVo7QUFDdEJvQixHQURzQixDQUNqQkMsR0FBRCxJQUFTckIsS0FBS3FCLEdBQUwsQ0FEUztBQUV0QkMsTUFGc0IsQ0FFZixDQUFDQyxHQUFELEVBQU1DLEdBQU4sS0FBYztBQUNwQkQsTUFBSUMsSUFBSXRCLE1BQVIsSUFBa0I7QUFDaEJDLGlCQUFhcUIsSUFBSXJCLFdBREQ7QUFFaEJzQixVQUFNLFNBRlUsRUFBbEI7OztBQUtBLFNBQU9GLEdBQVA7QUFDRCxDQVRzQixFQVNwQixFQVRvQixDQUF6Qjs7QUFXQSxNQUFNRyxXQUFXUixPQUFPQyxJQUFQLENBQVluQixJQUFaO0FBQ2RvQixHQURjLENBQ1RDLEdBQUQsSUFBU3JCLEtBQUtxQixHQUFMLENBREM7QUFFZEMsTUFGYyxDQUVQLENBQUNDLEdBQUQsRUFBTUMsR0FBTixLQUFjO0FBQ3BCRCxNQUFJQyxJQUFJdEIsTUFBUixJQUFrQixtQkFBSXNCLEdBQUosRUFBUyxTQUFULElBQXNCQSxJQUFJakIsT0FBMUIsR0FBb0MsS0FBdEQ7QUFDQSxTQUFPZ0IsR0FBUDtBQUNELENBTGMsRUFLWixFQUxZLENBQWpCOztBQU9BSSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkosVUFBTSxZQURGO0FBRUpLLFVBQU07QUFDSkMsV0FBSyx1QkFBUSw2QkFBUixDQURELEVBRkY7OztBQU1KQyxZQUFRO0FBQ047QUFDRVAsWUFBTSxRQURSO0FBRUVRLGtCQUFZaEIsZ0JBRmQ7QUFHRSw4QkFBd0IsS0FIMUIsRUFETSxDQU5KLEVBRFM7Ozs7O0FBZ0JmaUIsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLFVBQU1DLFVBQVVsQixPQUFPbUIsTUFBUCxDQUFjLEVBQWQsRUFBa0JYLFFBQWxCLEVBQTRCUyxRQUFRQyxPQUFSLENBQWdCLENBQWhCLENBQTVCLENBQWhCOztBQUVBLFdBQU87QUFDTCxrQ0FBNkIxQixJQUFELElBQVU7QUFDcEMsY0FBTWMsTUFBTXhCLEtBQUtVLEtBQUtDLFdBQUwsQ0FBaUJjLElBQXRCLENBQVo7O0FBRUE7QUFDQTtBQUNBLFlBQUlELE9BQU8sQ0FBQ1ksUUFBUVosSUFBSXRCLE1BQVosQ0FBUixLQUFnQyxDQUFDc0IsSUFBSWYsTUFBTCxJQUFlZSxJQUFJZixNQUFKLENBQVdDLElBQVgsQ0FBL0MsQ0FBSixFQUFzRTtBQUNwRXlCLGtCQUFRRyxNQUFSLENBQWUsRUFBRTVCLElBQUYsRUFBUU4sU0FBU29CLElBQUlwQixPQUFyQixFQUFmO0FBQ0Q7QUFDRixPQVRJLEVBQVA7O0FBV0QsR0E5QmMsRUFBakIiLCJmaWxlIjoibm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZW92ZXJ2aWV3IFJ1bGUgdG8gZGlzYWxsb3cgYW5vbnltb3VzIGRlZmF1bHQgZXhwb3J0cy5cbiAqIEBhdXRob3IgRHVuY2FuIEJlZXZlcnNcbiAqL1xuXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcbmltcG9ydCBoYXMgZnJvbSAnaGFzJztcblxuY29uc3QgZGVmcyA9IHtcbiAgQXJyYXlFeHByZXNzaW9uOiB7XG4gICAgb3B0aW9uOiAnYWxsb3dBcnJheScsXG4gICAgZGVzY3JpcHRpb246ICdJZiBgZmFsc2VgLCB3aWxsIHJlcG9ydCBkZWZhdWx0IGV4cG9ydCBvZiBhbiBhcnJheScsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBhcnJheSB0byBhIHZhcmlhYmxlIGJlZm9yZSBleHBvcnRpbmcgYXMgbW9kdWxlIGRlZmF1bHQnLFxuICB9LFxuICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93QXJyb3dGdW5jdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdJZiBgZmFsc2VgLCB3aWxsIHJlcG9ydCBkZWZhdWx0IGV4cG9ydCBvZiBhbiBhcnJvdyBmdW5jdGlvbicsXG4gICAgbWVzc2FnZTogJ0Fzc2lnbiBhcnJvdyBmdW5jdGlvbiB0byBhIHZhcmlhYmxlIGJlZm9yZSBleHBvcnRpbmcgYXMgbW9kdWxlIGRlZmF1bHQnLFxuICB9LFxuICBDYWxsRXhwcmVzc2lvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93Q2FsbEV4cHJlc3Npb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYSBmdW5jdGlvbiBjYWxsJyxcbiAgICBtZXNzYWdlOiAnQXNzaWduIGNhbGwgcmVzdWx0IHRvIGEgdmFyaWFibGUgYmVmb3JlIGV4cG9ydGluZyBhcyBtb2R1bGUgZGVmYXVsdCcsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgQ2xhc3NEZWNsYXJhdGlvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93QW5vbnltb3VzQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYW4gYW5vbnltb3VzIGNsYXNzJyxcbiAgICBtZXNzYWdlOiAnVW5leHBlY3RlZCBkZWZhdWx0IGV4cG9ydCBvZiBhbm9ueW1vdXMgY2xhc3MnLFxuICAgIGZvcmJpZDogKG5vZGUpID0+ICFub2RlLmRlY2xhcmF0aW9uLmlkLFxuICB9LFxuICBGdW5jdGlvbkRlY2xhcmF0aW9uOiB7XG4gICAgb3B0aW9uOiAnYWxsb3dBbm9ueW1vdXNGdW5jdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdJZiBgZmFsc2VgLCB3aWxsIHJlcG9ydCBkZWZhdWx0IGV4cG9ydCBvZiBhbiBhbm9ueW1vdXMgZnVuY3Rpb24nLFxuICAgIG1lc3NhZ2U6ICdVbmV4cGVjdGVkIGRlZmF1bHQgZXhwb3J0IG9mIGFub255bW91cyBmdW5jdGlvbicsXG4gICAgZm9yYmlkOiAobm9kZSkgPT4gIW5vZGUuZGVjbGFyYXRpb24uaWQsXG4gIH0sXG4gIExpdGVyYWw6IHtcbiAgICBvcHRpb246ICdhbGxvd0xpdGVyYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYSBsaXRlcmFsJyxcbiAgICBtZXNzYWdlOiAnQXNzaWduIGxpdGVyYWwgdG8gYSB2YXJpYWJsZSBiZWZvcmUgZXhwb3J0aW5nIGFzIG1vZHVsZSBkZWZhdWx0JyxcbiAgfSxcbiAgT2JqZWN0RXhwcmVzc2lvbjoge1xuICAgIG9wdGlvbjogJ2FsbG93T2JqZWN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGBmYWxzZWAsIHdpbGwgcmVwb3J0IGRlZmF1bHQgZXhwb3J0IG9mIGFuIG9iamVjdCBleHByZXNzaW9uJyxcbiAgICBtZXNzYWdlOiAnQXNzaWduIG9iamVjdCB0byBhIHZhcmlhYmxlIGJlZm9yZSBleHBvcnRpbmcgYXMgbW9kdWxlIGRlZmF1bHQnLFxuICB9LFxuICBUZW1wbGF0ZUxpdGVyYWw6IHtcbiAgICBvcHRpb246ICdhbGxvd0xpdGVyYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnSWYgYGZhbHNlYCwgd2lsbCByZXBvcnQgZGVmYXVsdCBleHBvcnQgb2YgYSBsaXRlcmFsJyxcbiAgICBtZXNzYWdlOiAnQXNzaWduIGxpdGVyYWwgdG8gYSB2YXJpYWJsZSBiZWZvcmUgZXhwb3J0aW5nIGFzIG1vZHVsZSBkZWZhdWx0JyxcbiAgfSxcbn07XG5cbmNvbnN0IHNjaGVtYVByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhkZWZzKVxuICAubWFwKChrZXkpID0+IGRlZnNba2V5XSlcbiAgLnJlZHVjZSgoYWNjLCBkZWYpID0+IHtcbiAgICBhY2NbZGVmLm9wdGlvbl0gPSB7XG4gICAgICBkZXNjcmlwdGlvbjogZGVmLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH07XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG5cbmNvbnN0IGRlZmF1bHRzID0gT2JqZWN0LmtleXMoZGVmcylcbiAgLm1hcCgoa2V5KSA9PiBkZWZzW2tleV0pXG4gIC5yZWR1Y2UoKGFjYywgZGVmKSA9PiB7XG4gICAgYWNjW2RlZi5vcHRpb25dID0gaGFzKGRlZiwgJ2RlZmF1bHQnKSA/IGRlZi5kZWZhdWx0IDogZmFsc2U7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWFub255bW91cy1kZWZhdWx0LWV4cG9ydCcpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHNjaGVtYVByb3BlcnRpZXMsXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMsIGNvbnRleHQub3B0aW9uc1swXSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic6IChub2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZiA9IGRlZnNbbm9kZS5kZWNsYXJhdGlvbi50eXBlXTtcblxuICAgICAgICAvLyBSZWNvZ25pemVkIG5vZGUgdHlwZSBhbmQgYWxsb3dlZCBieSBjb25maWd1cmF0aW9uLFxuICAgICAgICAvLyAgIGFuZCBoYXMgbm8gZm9yYmlkIGNoZWNrLCBvciBmb3JiaWQgY2hlY2sgcmV0dXJuIHZhbHVlIGlzIHRydXRoeVxuICAgICAgICBpZiAoZGVmICYmICFvcHRpb25zW2RlZi5vcHRpb25dICYmICghZGVmLmZvcmJpZCB8fCBkZWYuZm9yYmlkKG5vZGUpKSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogZGVmLm1lc3NhZ2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js b/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js index 5fb56084e..5ef7f7db0 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js @@ -5,11 +5,11 @@ var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -const EXPORT_MESSAGE = 'Expected "export" or "export default"', -IMPORT_MESSAGE = 'Expected "import" instead of "require()"'; /** - * @fileoverview Rule to prefer ES6 to CJS - * @author Jamund Ferguson - */function normalizeLegacyOptions(options) {if (options.indexOf('allow-primitive-modules') >= 0) { +const EXPORT_MESSAGE = 'Expected "export" or "export default"'; /** + * @fileoverview Rule to prefer ES6 to CJS + * @author Jamund Ferguson + */const IMPORT_MESSAGE = 'Expected "import" instead of "require()"';function normalizeLegacyOptions(options) { + if (options.indexOf('allow-primitive-modules') >= 0) { return { allowPrimitiveModules: true }; } return options[0] || {}; @@ -45,6 +45,11 @@ function isConditional(node) { return false; } +function isLiteralString(node) { + return node.type === 'Literal' && typeof node.value === 'string' || + node.type === 'TemplateLiteral' && node.expressions.length === 0; +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -114,10 +119,7 @@ module.exports = { if (call.callee.name !== 'require') return; if (call.arguments.length !== 1) return; - var module = call.arguments[0]; - - if (module.type !== 'Literal') return; - if (typeof module.value !== 'string') return; + if (!isLiteralString(call.arguments[0])) return; if (allowRequire(call, options)) return; @@ -132,4 +134,4 @@ module.exports = { } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1jb21tb25qcy5qcyJdLCJuYW1lcyI6WyJFWFBPUlRfTUVTU0FHRSIsIklNUE9SVF9NRVNTQUdFIiwibm9ybWFsaXplTGVnYWN5T3B0aW9ucyIsIm9wdGlvbnMiLCJpbmRleE9mIiwiYWxsb3dQcmltaXRpdmVNb2R1bGVzIiwiYWxsb3dQcmltaXRpdmUiLCJub2RlIiwicGFyZW50IiwidHlwZSIsInJpZ2h0IiwiYWxsb3dSZXF1aXJlIiwiYWxsb3dDb25kaXRpb25hbFJlcXVpcmUiLCJ2YWxpZGF0ZVNjb3BlIiwic2NvcGUiLCJ2YXJpYWJsZVNjb3BlIiwiaXNDb25kaXRpb25hbCIsInNjaGVtYVN0cmluZyIsImVudW0iLCJzY2hlbWFPYmplY3QiLCJwcm9wZXJ0aWVzIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJhbnlPZiIsIml0ZW1zIiwiYWRkaXRpb25hbEl0ZW1zIiwiY3JlYXRlIiwiY29udGV4dCIsIm9iamVjdCIsIm5hbWUiLCJwcm9wZXJ0eSIsInJlcG9ydCIsIm1lc3NhZ2UiLCJpc0luU2NvcGUiLCJnZXRTY29wZSIsInZhcmlhYmxlcyIsInNvbWUiLCJ2YXJpYWJsZSIsImNhbGwiLCJjYWxsZWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxxQzs7QUFFQSxNQUFNQSxpQkFBaUIsdUNBQXZCO0FBQ01DLGlCQUFpQiwwQ0FEdkIsQyxDQVBBOzs7Z0VBVUEsU0FBU0Msc0JBQVQsQ0FBZ0NDLE9BQWhDLEVBQXlDLENBQ3ZDLElBQUlBLFFBQVFDLE9BQVIsQ0FBZ0IseUJBQWhCLEtBQThDLENBQWxELEVBQXFEO0FBQ25ELFdBQU8sRUFBRUMsdUJBQXVCLElBQXpCLEVBQVA7QUFDRDtBQUNELFNBQU9GLFFBQVEsQ0FBUixLQUFjLEVBQXJCO0FBQ0Q7O0FBRUQsU0FBU0csY0FBVCxD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QVNyQyxjQUFqQixFQUFmO0FBQ0Q7QUFDRjs7QUFFRixPQXBCSTtBQXFCTCx3QkFBa0IsVUFBVTJDLElBQVYsRUFBZ0I7QUFDaEMsWUFBSSxDQUFDOUIsY0FBY21CLFFBQVFPLFFBQVIsRUFBZCxDQUFMLEVBQXdDOztBQUV4QyxZQUFJSSxLQUFLQyxNQUFMLENBQVluQyxJQUFaLEtBQXFCLFlBQXpCLEVBQXVDO0FBQ3ZDLFlBQUlrQyxLQUFLQyxNQUFMLENBQVlWLElBQVosS0FBcUIsU0FBekIsRUFBb0M7O0FBRXBDLFlBQUlTLEtBQUtFLFNBQUwsQ0FBZUMsTUFBZixLQUEwQixDQUE5QixFQUFpQztBQUNqQyxZQUFJeEIsU0FBU3FCLEtBQUtFLFNBQUwsQ0FBZSxDQUFmLENBQWI7O0FBRUEsWUFBSXZCLE9BQU9iLElBQVAsS0FBZ0IsU0FBcEIsRUFBK0I7QUFDL0IsWUFBSSxPQUFPYSxPQUFPeUIsS0FBZCxLQUF3QixRQUE1QixFQUFzQzs7QUFFdEMsWUFBSXBDLGFBQWFnQyxJQUFiLEVBQW1CeEMsT0FBbkIsQ0FBSixFQUFpQzs7QUFFakMsWUFBSVMsd0JBQXdCK0IsSUFBeEIsRUFBOEJ4QyxPQUE5QixLQUEwQ2EsY0FBYzJCLEtBQUtuQyxNQUFuQixDQUE5QyxFQUEwRTs7QUFFMUU7QUFDQXdCLGdCQUFRSSxNQUFSLENBQWU7QUFDYjdCLGdCQUFNb0MsS0FBS0MsTUFERTtBQUViUCxtQkFBU3BDLGNBRkksRUFBZjs7QUFJRCxPQTFDSSxFQUFQOzs7QUE2Q0QsR0F2RWMsRUFBakIiLCJmaWxlIjoibm8tY29tbW9uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlb3ZlcnZpZXcgUnVsZSB0byBwcmVmZXIgRVM2IHRvIENKU1xuICogQGF1dGhvciBKYW11bmQgRmVyZ3Vzb25cbiAqL1xuXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5jb25zdCBFWFBPUlRfTUVTU0FHRSA9ICdFeHBlY3RlZCBcImV4cG9ydFwiIG9yIFwiZXhwb3J0IGRlZmF1bHRcIidcbiAgICAsIElNUE9SVF9NRVNTQUdFID0gJ0V4cGVjdGVkIFwiaW1wb3J0XCIgaW5zdGVhZCBvZiBcInJlcXVpcmUoKVwiJ1xuXG5mdW5jdGlvbiBub3JtYWxpemVMZWdhY3lPcHRpb25zKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMuaW5kZXhPZignYWxsb3ctcHJpbWl0aXZlLW1vZHVsZXMnKSA+PSAwKSB7XG4gICAgcmV0dXJuIHsgYWxsb3dQcmltaXRpdmVNb2R1bGVzOiB0cnVlIH1cbiAgfVxuICByZXR1cm4gb3B0aW9uc1swXSB8fCB7fVxufVxuXG5mdW5jdGlvbiBhbGxvd1ByaW1pdGl2ZShub2RlLCBvcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucy5hbGxvd1ByaW1pdGl2ZU1vZHVsZXMpIHJldHVybiBmYWxzZVxuICBpZiAobm9kZS5wYXJlbnQudHlwZSAhPT0gJ0Fzc2lnbm1lbnRFeHByZXNzaW9uJykgcmV0dXJuIGZhbHNlXG4gIHJldHVybiAobm9kZS5wYXJlbnQucmlnaHQudHlwZSAhPT0gJ09iamVjdEV4cHJlc3Npb24nKVxufVxuXG5mdW5jdGlvbiBhbGxvd1JlcXVpcmUobm9kZSwgb3B0aW9ucykge1xuICByZXR1cm4gb3B0aW9ucy5hbGxvd1JlcXVpcmVcbn1cblxuZnVuY3Rpb24gYWxsb3dDb25kaXRpb25hbFJlcXVpcmUobm9kZSwgb3B0aW9ucykge1xuICByZXR1cm4gb3B0aW9ucy5hbGxvd0NvbmRpdGlvbmFsUmVxdWlyZSAhPT0gZmFsc2Vcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTY29wZShzY29wZSkge1xuICByZXR1cm4gc2NvcGUudmFyaWFibGVTY29wZS50eXBlID09PSAnbW9kdWxlJ1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZXN0cmVlL2VzdHJlZS9ibG9iL21hc3Rlci9lczUubWRcbmZ1bmN0aW9uIGlzQ29uZGl0aW9uYWwobm9kZSkge1xuICBpZiAoXG4gICAgbm9kZS50eXBlID09PSAnSWZTdGF0ZW1lbnQnXG4gICAgfHwgbm9kZS50eXBlID09PSAnVHJ5U3RhdGVtZW50J1xuICAgIHx8IG5vZGUudHlwZSA9PT0gJ0xvZ2ljYWxFeHByZXNzaW9uJ1xuICAgIHx8IG5vZGUudHlwZSA9PT0gJ0NvbmRpdGlvbmFsRXhwcmVzc2lvbidcbiAgKSByZXR1cm4gdHJ1ZVxuICBpZiAobm9kZS5wYXJlbnQpIHJldHVybiBpc0NvbmRpdGlvbmFsKG5vZGUucGFyZW50KVxuICByZXR1cm4gZmFsc2Vcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGUgRGVmaW5pdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY29uc3Qgc2NoZW1hU3RyaW5nID0geyBlbnVtOiBbJ2FsbG93LXByaW1pdGl2ZS1tb2R1bGVzJ10gfVxuY29uc3Qgc2NoZW1hT2JqZWN0ID0ge1xuICB0eXBlOiAnb2JqZWN0JyxcbiAgcHJvcGVydGllczoge1xuICAgIGFsbG93UHJpbWl0aXZlTW9kdWxlczogeyAndHlwZSc6ICdib29sZWFuJyB9LFxuICAgIGFsbG93UmVxdWlyZTogeyAndHlwZSc6ICdib29sZWFuJyB9LFxuICAgIGFsbG93Q29uZGl0aW9uYWxSZXF1aXJlOiB7ICd0eXBlJzogJ2Jvb2xlYW4nIH0sXG4gIH0sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1jb21tb25qcycpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IHtcbiAgICAgIGFueU9mOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIGl0ZW1zOiBbc2NoZW1hU3RyaW5nXSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBpdGVtczogW3NjaGVtYU9iamVjdF0sXG4gICAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IG5vcm1hbGl6ZUxlZ2FjeU9wdGlvbnMoY29udGV4dC5vcHRpb25zKVxuXG4gICAgcmV0dXJuIHtcblxuICAgICAgJ01lbWJlckV4cHJlc3Npb24nOiBmdW5jdGlvbiAobm9kZSkge1xuXG4gICAgICAgIC8vIG1vZHVsZS5leHBvcnRzXG4gICAgICAgIGlmIChub2RlLm9iamVjdC5uYW1lID09PSAnbW9kdWxlJyAmJiBub2RlLnByb3BlcnR5Lm5hbWUgPT09ICdleHBvcnRzJykge1xuICAgICAgICAgIGlmIChhbGxvd1ByaW1pdGl2ZShub2RlLCBvcHRpb25zKSkgcmV0dXJuXG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlOiBFWFBPUlRfTUVTU0FHRSB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXhwb3J0cy5cbiAgICAgICAgaWYgKG5vZGUub2JqZWN0Lm5hbWUgPT09ICdleHBvcnRzJykge1xuICAgICAgICAgIGNvbnN0IGlzSW5TY29wZSA9IGNvbnRleHQuZ2V0U2NvcGUoKVxuICAgICAgICAgICAgLnZhcmlhYmxlc1xuICAgICAgICAgICAgLnNvbWUodmFyaWFibGUgPT4gdmFyaWFibGUubmFtZSA9PT0gJ2V4cG9ydHMnKVxuICAgICAgICAgIGlmICghIGlzSW5TY29wZSkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlOiBFWFBPUlRfTUVTU0FHRSB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9LFxuICAgICAgJ0NhbGxFeHByZXNzaW9uJzogZnVuY3Rpb24gKGNhbGwpIHtcbiAgICAgICAgaWYgKCF2YWxpZGF0ZVNjb3BlKGNvbnRleHQuZ2V0U2NvcGUoKSkpIHJldHVyblxuXG4gICAgICAgIGlmIChjYWxsLmNhbGxlZS50eXBlICE9PSAnSWRlbnRpZmllcicpIHJldHVyblxuICAgICAgICBpZiAoY2FsbC5jYWxsZWUubmFtZSAhPT0gJ3JlcXVpcmUnKSByZXR1cm5cblxuICAgICAgICBpZiAoY2FsbC5hcmd1bWVudHMubGVuZ3RoICE9PSAxKSByZXR1cm5cbiAgICAgICAgdmFyIG1vZHVsZSA9IGNhbGwuYXJndW1lbnRzWzBdXG5cbiAgICAgICAgaWYgKG1vZHVsZS50eXBlICE9PSAnTGl0ZXJhbCcpIHJldHVyblxuICAgICAgICBpZiAodHlwZW9mIG1vZHVsZS52YWx1ZSAhPT0gJ3N0cmluZycpIHJldHVyblxuXG4gICAgICAgIGlmIChhbGxvd1JlcXVpcmUoY2FsbCwgb3B0aW9ucykpIHJldHVyblxuXG4gICAgICAgIGlmIChhbGxvd0NvbmRpdGlvbmFsUmVxdWlyZShjYWxsLCBvcHRpb25zKSAmJiBpc0NvbmRpdGlvbmFsKGNhbGwucGFyZW50KSkgcmV0dXJuXG5cbiAgICAgICAgLy8ga2VlcGluZyBpdCBzaW1wbGU6IGFsbCAxLXN0cmluZy1hcmcgYHJlcXVpcmVgIGNhbGxzIGFyZSByZXBvcnRlZFxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZTogY2FsbC5jYWxsZWUsXG4gICAgICAgICAgbWVzc2FnZTogSU1QT1JUX01FU1NBR0UsXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgIH1cblxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1jb21tb25qcy5qcyJdLCJuYW1lcyI6WyJFWFBPUlRfTUVTU0FHRSIsIklNUE9SVF9NRVNTQUdFIiwibm9ybWFsaXplTGVnYWN5T3B0aW9ucyIsIm9wdGlvbnMiLCJpbmRleE9mIiwiYWxsb3dQcmltaXRpdmVNb2R1bGVzIiwiYWxsb3dQcmltaXRpdmUiLCJub2RlIiwicGFyZW50IiwidHlwZSIsInJpZ2h0IiwiYWxsb3dSZXF1aXJlIiwiYWxsb3dDb25kaXRpb25hbFJlcXVpcmUiLCJ2YWxpZGF0ZVNjb3BlIiwic2NvcGUiLCJ2YXJpYWJsZVNjb3BlIiwiaXNDb25kaXRpb25hbCIsImlzTGl0ZXJhbFN0cmluZyIsInZhbHVlIiwiZXhwcmVzc2lvbnMiLCJsZW5ndGgiLCJzY2hlbWFTdHJpbmciLCJlbnVtIiwic2NoZW1hT2JqZWN0IiwicHJvcGVydGllcyIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiYW55T2YiLCJpdGVtcyIsImFkZGl0aW9uYWxJdGVtcyIsImNyZWF0ZSIsImNvbnRleHQiLCJvYmplY3QiLCJuYW1lIiwicHJvcGVydHkiLCJyZXBvcnQiLCJtZXNzYWdlIiwiaXNJblNjb3BlIiwiZ2V0U2NvcGUiLCJ2YXJpYWJsZXMiLCJzb21lIiwidmFyaWFibGUiLCJjYWxsIiwiY2FsbGVlIiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHFDOztBQUVBLE1BQU1BLGlCQUFpQix1Q0FBdkIsQyxDQVBBOzs7bUVBUUEsTUFBTUMsaUJBQWlCLDBDQUF2QixDQUVBLFNBQVNDLHNCQUFULENBQWdDQyxPQUFoQyxFQUF5QztBQUN2QyxNQUFJQSxRQUFRQyxPQUFSLENBQWdCLHlCQUFoQixLQUE4QyxDQUFsRCxFQUFxRDtBQUNuRCxXQUFPLEVBQUVDLHVCQUF1QixJQUF6QixFQUFQO0FBQ0Q7QUFDRCxTQUFPRixRQUFRLENB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RDtBQUNBLFlBQUlPLEtBQUs4QixNQUFMLENBQVlDLElBQVosS0FBcUIsU0FBekIsRUFBb0M7QUFDbEMsZ0JBQU1JLFlBQVlOLFFBQVFPLFFBQVI7QUFDZkMsbUJBRGU7QUFFZkMsY0FGZSxDQUVWQyxZQUFZQSxTQUFTUixJQUFULEtBQWtCLFNBRnBCLENBQWxCO0FBR0EsY0FBSSxDQUFFSSxTQUFOLEVBQWlCO0FBQ2ZOLG9CQUFRSSxNQUFSLENBQWUsRUFBRWpDLElBQUYsRUFBUWtDLFNBQVN6QyxjQUFqQixFQUFmO0FBQ0Q7QUFDRjs7QUFFRixPQXBCSTtBQXFCTCx3QkFBa0IsVUFBVStDLElBQVYsRUFBZ0I7QUFDaEMsWUFBSSxDQUFDbEMsY0FBY3VCLFFBQVFPLFFBQVIsRUFBZCxDQUFMLEVBQXdDOztBQUV4QyxZQUFJSSxLQUFLQyxNQUFMLENBQVl2QyxJQUFaLEtBQXFCLFlBQXpCLEVBQXVDO0FBQ3ZDLFlBQUlzQyxLQUFLQyxNQUFMLENBQVlWLElBQVosS0FBcUIsU0FBekIsRUFBb0M7O0FBRXBDLFlBQUlTLEtBQUtFLFNBQUwsQ0FBZTdCLE1BQWYsS0FBMEIsQ0FBOUIsRUFBaUM7QUFDakMsWUFBSSxDQUFDSCxnQkFBZ0I4QixLQUFLRSxTQUFMLENBQWUsQ0FBZixDQUFoQixDQUFMLEVBQXlDOztBQUV6QyxZQUFJdEMsYUFBYW9DLElBQWIsRUFBbUI1QyxPQUFuQixDQUFKLEVBQWlDOztBQUVqQyxZQUFJUyx3QkFBd0JtQyxJQUF4QixFQUE4QjVDLE9BQTlCLEtBQTBDYSxjQUFjK0IsS0FBS3ZDLE1BQW5CLENBQTlDLEVBQTBFOztBQUUxRTtBQUNBNEIsZ0JBQVFJLE1BQVIsQ0FBZTtBQUNiakMsZ0JBQU13QyxLQUFLQyxNQURFO0FBRWJQLG1CQUFTeEMsY0FGSSxFQUFmOztBQUlELE9BdkNJLEVBQVA7OztBQTBDRCxHQXBFYyxFQUFqQiIsImZpbGUiOiJuby1jb21tb25qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIHByZWZlciBFUzYgdG8gQ0pTXG4gKiBAYXV0aG9yIEphbXVuZCBGZXJndXNvblxuICovXG5cbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5jb25zdCBFWFBPUlRfTUVTU0FHRSA9ICdFeHBlY3RlZCBcImV4cG9ydFwiIG9yIFwiZXhwb3J0IGRlZmF1bHRcIic7XG5jb25zdCBJTVBPUlRfTUVTU0FHRSA9ICdFeHBlY3RlZCBcImltcG9ydFwiIGluc3RlYWQgb2YgXCJyZXF1aXJlKClcIic7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUxlZ2FjeU9wdGlvbnMob3B0aW9ucykge1xuICBpZiAob3B0aW9ucy5pbmRleE9mKCdhbGxvdy1wcmltaXRpdmUtbW9kdWxlcycpID49IDApIHtcbiAgICByZXR1cm4geyBhbGxvd1ByaW1pdGl2ZU1vZHVsZXM6IHRydWUgfTtcbiAgfVxuICByZXR1cm4gb3B0aW9uc1swXSB8fCB7fTtcbn1cblxuZnVuY3Rpb24gYWxsb3dQcmltaXRpdmUobm9kZSwgb3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMuYWxsb3dQcmltaXRpdmVNb2R1bGVzKSByZXR1cm4gZmFsc2U7XG4gIGlmIChub2RlLnBhcmVudC50eXBlICE9PSAnQXNzaWdubWVudEV4cHJlc3Npb24nKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiAobm9kZS5wYXJlbnQucmlnaHQudHlwZSAhPT0gJ09iamVjdEV4cHJlc3Npb24nKTtcbn1cblxuZnVuY3Rpb24gYWxsb3dSZXF1aXJlKG5vZGUsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIG9wdGlvbnMuYWxsb3dSZXF1aXJlO1xufVxuXG5mdW5jdGlvbiBhbGxvd0NvbmRpdGlvbmFsUmVxdWlyZShub2RlLCBvcHRpb25zKSB7XG4gIHJldHVybiBvcHRpb25zLmFsbG93Q29uZGl0aW9uYWxSZXF1aXJlICE9PSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTY29wZShzY29wZSkge1xuICByZXR1cm4gc2NvcGUudmFyaWFibGVTY29wZS50eXBlID09PSAnbW9kdWxlJztcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzdHJlZS9lc3RyZWUvYmxvYi9tYXN0ZXIvZXM1Lm1kXG5mdW5jdGlvbiBpc0NvbmRpdGlvbmFsKG5vZGUpIHtcbiAgaWYgKFxuICAgIG5vZGUudHlwZSA9PT0gJ0lmU3RhdGVtZW50J1xuICAgIHx8IG5vZGUudHlwZSA9PT0gJ1RyeVN0YXRlbWVudCdcbiAgICB8fCBub2RlLnR5cGUgPT09ICdMb2dpY2FsRXhwcmVzc2lvbidcbiAgICB8fCBub2RlLnR5cGUgPT09ICdDb25kaXRpb25hbEV4cHJlc3Npb24nXG4gICkgcmV0dXJuIHRydWU7XG4gIGlmIChub2RlLnBhcmVudCkgcmV0dXJuIGlzQ29uZGl0aW9uYWwobm9kZS5wYXJlbnQpO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGlzTGl0ZXJhbFN0cmluZyhub2RlKSB7XG4gIHJldHVybiAobm9kZS50eXBlID09PSAnTGl0ZXJhbCcgJiYgdHlwZW9mIG5vZGUudmFsdWUgPT09ICdzdHJpbmcnKSB8fFxuICAgIChub2RlLnR5cGUgPT09ICdUZW1wbGF0ZUxpdGVyYWwnICYmIG5vZGUuZXhwcmVzc2lvbnMubGVuZ3RoID09PSAwKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGUgRGVmaW5pdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY29uc3Qgc2NoZW1hU3RyaW5nID0geyBlbnVtOiBbJ2FsbG93LXByaW1pdGl2ZS1tb2R1bGVzJ10gfTtcbmNvbnN0IHNjaGVtYU9iamVjdCA9IHtcbiAgdHlwZTogJ29iamVjdCcsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBhbGxvd1ByaW1pdGl2ZU1vZHVsZXM6IHsgJ3R5cGUnOiAnYm9vbGVhbicgfSxcbiAgICBhbGxvd1JlcXVpcmU6IHsgJ3R5cGUnOiAnYm9vbGVhbicgfSxcbiAgICBhbGxvd0NvbmRpdGlvbmFsUmVxdWlyZTogeyAndHlwZSc6ICdib29sZWFuJyB9LFxuICB9LFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWNvbW1vbmpzJyksXG4gICAgfSxcblxuICAgIHNjaGVtYToge1xuICAgICAgYW55T2Y6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgaXRlbXM6IFtzY2hlbWFTdHJpbmddLFxuICAgICAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIGl0ZW1zOiBbc2NoZW1hT2JqZWN0XSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gbm9ybWFsaXplTGVnYWN5T3B0aW9ucyhjb250ZXh0Lm9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIHtcblxuICAgICAgJ01lbWJlckV4cHJlc3Npb24nOiBmdW5jdGlvbiAobm9kZSkge1xuXG4gICAgICAgIC8vIG1vZHVsZS5leHBvcnRzXG4gICAgICAgIGlmIChub2RlLm9iamVjdC5uYW1lID09PSAnbW9kdWxlJyAmJiBub2RlLnByb3BlcnR5Lm5hbWUgPT09ICdleHBvcnRzJykge1xuICAgICAgICAgIGlmIChhbGxvd1ByaW1pdGl2ZShub2RlLCBvcHRpb25zKSkgcmV0dXJuO1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogRVhQT1JUX01FU1NBR0UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBleHBvcnRzLlxuICAgICAgICBpZiAobm9kZS5vYmplY3QubmFtZSA9PT0gJ2V4cG9ydHMnKSB7XG4gICAgICAgICAgY29uc3QgaXNJblNjb3BlID0gY29udGV4dC5nZXRTY29wZSgpXG4gICAgICAgICAgICAudmFyaWFibGVzXG4gICAgICAgICAgICAuc29tZSh2YXJpYWJsZSA9PiB2YXJpYWJsZS5uYW1lID09PSAnZXhwb3J0cycpO1xuICAgICAgICAgIGlmICghIGlzSW5TY29wZSkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlOiBFWFBPUlRfTUVTU0FHRSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfSxcbiAgICAgICdDYWxsRXhwcmVzc2lvbic6IGZ1bmN0aW9uIChjYWxsKSB7XG4gICAgICAgIGlmICghdmFsaWRhdGVTY29wZShjb250ZXh0LmdldFNjb3BlKCkpKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGNhbGwuY2FsbGVlLnR5cGUgIT09ICdJZGVudGlmaWVyJykgcmV0dXJuO1xuICAgICAgICBpZiAoY2FsbC5jYWxsZWUubmFtZSAhPT0gJ3JlcXVpcmUnKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGNhbGwuYXJndW1lbnRzLmxlbmd0aCAhPT0gMSkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzTGl0ZXJhbFN0cmluZyhjYWxsLmFyZ3VtZW50c1swXSkpIHJldHVybjtcblxuICAgICAgICBpZiAoYWxsb3dSZXF1aXJlKGNhbGwsIG9wdGlvbnMpKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGFsbG93Q29uZGl0aW9uYWxSZXF1aXJlKGNhbGwsIG9wdGlvbnMpICYmIGlzQ29uZGl0aW9uYWwoY2FsbC5wYXJlbnQpKSByZXR1cm47XG5cbiAgICAgICAgLy8ga2VlcGluZyBpdCBzaW1wbGU6IGFsbCAxLXN0cmluZy1hcmcgYHJlcXVpcmVgIGNhbGxzIGFyZSByZXBvcnRlZFxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZTogY2FsbC5jYWxsZWUsXG4gICAgICAgICAgbWVzc2FnZTogSU1QT1JUX01FU1NBR0UsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuXG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-cycle.js b/node_modules/eslint-plugin-import/lib/rules/no-cycle.js index 84d052520..98c7c232c 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-cycle.js @@ -3,10 +3,11 @@ * @author Ben Mosher */ +var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); var _ExportMap = require('../ExportMap');var _ExportMap2 = _interopRequireDefault(_ExportMap); var _importType = require('../core/importType'); var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); -var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function _toConsumableArray(arr) {if (Array.isArray(arr)) {for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];return arr2;} else {return Array.from(arr);}} // todo: cache cycles / deep relationships for faster repeat evaluation module.exports = { @@ -41,19 +42,31 @@ module.exports = { const options = context.options[0] || {}; const maxDepth = typeof options.maxDepth === 'number' ? options.maxDepth : Infinity; - const ignoreModule = name => options.ignoreExternal ? (0, _importType.isExternalModule)(name) : false; + const ignoreModule = name => options.ignoreExternal && (0, _importType.isExternalModule)( + name, + context.settings, + (0, _resolve2.default)(name, context), + context); + function checkSourceValue(sourceNode, importer) { if (ignoreModule(sourceNode.value)) { return; // ignore external modules } - const imported = _ExportMap2.default.get(sourceNode.value, context); + if ( + importer.type === 'ImportDeclaration' && ( + // import type { Foo } (TS and Flow) + importer.importKind === 'type' || + // import { type Foo } (Flow) + importer.specifiers.every((_ref) => {let importKind = _ref.importKind;return importKind === 'type';}))) - if (importer.importKind === 'type') { - return; // no Flow import resolution + { + return; // ignore type imports } + const imported = _ExportMap2.default.get(sourceNode.value, context); + if (imported == null) { return; // no-unresolved territory } @@ -64,21 +77,34 @@ module.exports = { const untraversed = [{ mget: () => imported, route: [] }]; const traversed = new Set(); - function detectCycle(_ref) {let mget = _ref.mget,route = _ref.route; + function detectCycle(_ref2) {let mget = _ref2.mget,route = _ref2.route; const m = mget(); if (m == null) return; if (traversed.has(m.path)) return; traversed.add(m.path); - for (let _ref2 of m.imports) {var _ref3 = _slicedToArray(_ref2, 2);let path = _ref3[0];var _ref3$ = _ref3[1];let getter = _ref3$.getter;let source = _ref3$.source; - if (path === myPath) return true; + for (const _ref3 of m.imports) {var _ref4 = _slicedToArray(_ref3, 2);const path = _ref4[0];var _ref4$ = _ref4[1];const getter = _ref4$.getter;const declarations = _ref4$.declarations; if (traversed.has(path)) continue; - if (ignoreModule(source.value)) continue; - if (route.length + 1 < maxDepth) { - untraversed.push({ - mget: getter, - route: route.concat(source) }); + const toTraverse = [].concat(_toConsumableArray(declarations)).filter((_ref5) => {let source = _ref5.source,isOnlyImportingTypes = _ref5.isOnlyImportingTypes;return ( + !ignoreModule(source.value) && + // Ignore only type imports + !isOnlyImportingTypes);}); + /* + Only report as a cycle if there are any import declarations that are considered by + the rule. For example: + a.ts: + import { foo } from './b' // should not be reported as a cycle + b.ts: + import type { Bar } from './a' + */ + + + if (path === myPath && toTraverse.length > 0) return true; + if (route.length + 1 < maxDepth) { + for (const _ref6 of toTraverse) {const source = _ref6.source; + untraversed.push({ mget: getter, route: route.concat(source) }); + } } } } @@ -102,4 +128,4 @@ module.exports = { function routeString(route) { return route.map(s => `${s.value}:${s.loc.start.line}`).join('=>'); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1jeWNsZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwibWF4RGVwdGgiLCJvbmVPZiIsImRlc2NyaXB0aW9uIiwibWluaW11bSIsImVudW0iLCJpZ25vcmVFeHRlcm5hbCIsImRlZmF1bHQiLCJjcmVhdGUiLCJjb250ZXh0IiwibXlQYXRoIiwiZ2V0RmlsZW5hbWUiLCJvcHRpb25zIiwiSW5maW5pdHkiLCJpZ25vcmVNb2R1bGUiLCJuYW1lIiwiY2hlY2tTb3VyY2VWYWx1ZSIsInNvdXJjZU5vZGUiLCJpbXBvcnRlciIsInZhbHVlIiwiaW1wb3J0ZWQiLCJFeHBvcnRzIiwiZ2V0IiwiaW1wb3J0S2luZCIsInBhdGgiLCJ1bnRyYXZlcnNlZCIsIm1nZXQiLCJyb3V0ZSIsInRyYXZlcnNlZCIsIlNldCIsImRldGVjdEN5Y2xlIiwibSIsImhhcyIsImFkZCIsImltcG9ydHMiLCJnZXR0ZXIiLCJzb3VyY2UiLCJsZW5ndGgiLCJwdXNoIiwiY29uY2F0IiwibmV4dCIsInNoaWZ0IiwibWVzc2FnZSIsInJvdXRlU3RyaW5nIiwicmVwb3J0IiwibWFwIiwicyIsImxvYyIsInN0YXJ0IiwibGluZSIsImpvaW4iXSwibWFwcGluZ3MiOiJzb0JBQUE7Ozs7O0FBS0EseUM7QUFDQTtBQUNBLGtFO0FBQ0EscUM7O0FBRUE7QUFDQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNLEVBQUVDLEtBQUssdUJBQVEsVUFBUixDQUFQLEVBRkY7QUFHSkMsWUFBUSxDQUFDLHNDQUFrQjtBQUN6QkMsZ0JBQVU7QUFDUkMsZUFBTztBQUNMO0FBQ0VDLHVCQUFhLHNDQURmO0FBRUVOLGdCQUFNLFNBRlI7QUFHRU8sbUJBQVMsQ0FIWCxFQURLOztBQU1MO0FBQ0VDLGdCQUFNLENBQUMsR0FBRCxDQURSO0FBRUVSLGdCQUFN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QkFBYzFCLGdCQUFkLEVBQWdDUCxRQUFRRyxPQUFSLENBQWdCLENBQWhCLENBQWhDLENBQVA7QUFDRCxHQXZGYyxFQUFqQjs7O0FBMEZBLFNBQVMrQixXQUFULENBQXFCaEIsS0FBckIsRUFBNEI7QUFDMUIsU0FBT0EsTUFBTWtCLEdBQU4sQ0FBVUMsS0FBTSxHQUFFQSxFQUFFM0IsS0FBTSxJQUFHMkIsRUFBRUMsR0FBRixDQUFNQyxLQUFOLENBQVlDLElBQUssRUFBOUMsRUFBaURDLElBQWpELENBQXNELElBQXRELENBQVA7QUFDRCIsImZpbGUiOiJuby1jeWNsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVPdmVydmlldyBFbnN1cmVzIHRoYXQgbm8gaW1wb3J0ZWQgbW9kdWxlIGltcG9ydHMgdGhlIGxpbnRlZCBtb2R1bGUuXG4gKiBAYXV0aG9yIEJlbiBNb3NoZXJcbiAqL1xuXG5pbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnXG5pbXBvcnQgeyBpc0V4dGVybmFsTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJ1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IsIHsgbWFrZU9wdGlvbnNTY2hlbWEgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG4vLyB0b2RvOiBjYWNoZSBjeWNsZXMgLyBkZWVwIHJlbGF0aW9uc2hpcHMgZm9yIGZhc3RlciByZXBlYXQgZXZhbHVhdGlvblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczogeyB1cmw6IGRvY3NVcmwoJ25vLWN5Y2xlJykgfSxcbiAgICBzY2hlbWE6IFttYWtlT3B0aW9uc1NjaGVtYSh7XG4gICAgICBtYXhEZXB0aDoge1xuICAgICAgICBvbmVPZjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnbWF4aW11bSBkZXBlbmRlbmN5IGRlcHRoIHRvIHRyYXZlcnNlJyxcbiAgICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnVtOiBbJ+KIniddLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBpZ25vcmVFeHRlcm5hbDoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ2lnbm9yZSBleHRlcm5hbCBtb2R1bGVzJyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSldLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBteVBhdGggPSBjb250ZXh0LmdldEZpbGVuYW1lKClcbiAgICBpZiAobXlQYXRoID09PSAnPHRleHQ+JykgcmV0dXJuIHt9IC8vIGNhbid0IGN5Y2xlLWNoZWNrIGEgbm9uLWZpbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cbiAgICBjb25zdCBtYXhEZXB0aCA9IHR5cGVvZiBvcHRpb25zLm1heERlcHRoID09PSAnbnVtYmVyJyA/IG9wdGlvbnMubWF4RGVwdGggOiBJbmZpbml0eVxuICAgIGNvbnN0IGlnbm9yZU1vZHVsZSA9IChuYW1lKSA9PiBvcHRpb25zLmlnbm9yZUV4dGVybmFsID8gaXNFeHRlcm5hbE1vZHVsZShuYW1lKSA6IGZhbHNlXG5cbiAgICBmdW5jdGlvbiBjaGVja1NvdXJjZVZhbHVlKHNvdXJjZU5vZGUsIGltcG9ydGVyKSB7XG4gICAgICBpZiAoaWdub3JlTW9kdWxlKHNvdXJjZU5vZGUudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAvLyBpZ25vcmUgZXh0ZXJuYWwgbW9kdWxlc1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbXBvcnRlZCA9IEV4cG9ydHMuZ2V0KHNvdXJjZU5vZGUudmFsdWUsIGNvbnRleHQpXG5cbiAgICAgIGlmIChpbXBvcnRlci5pbXBvcnRLaW5kID09PSAndHlwZScpIHtcbiAgICAgICAgcmV0dXJuIC8vIG5vIEZsb3cgaW1wb3J0IHJlc29sdXRpb25cbiAgICAgIH1cblxuICAgICAgaWYgKGltcG9ydGVkID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICAvLyBuby11bnJlc29sdmVkIHRlcnJpdG9yeVxuICAgICAgfVxuXG4gICAgICBpZiAoaW1wb3J0ZWQucGF0aCA9PT0gbXlQYXRoKSB7XG4gICAgICAgIHJldHVybiAgLy8gbm8tc2VsZi1pbXBvcnQgdGVycml0b3J5XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVudHJhdmVyc2VkID0gW3ttZ2V0OiAoKSA9PiBpbXBvcnRlZCwgcm91dGU6W119XVxuICAgICAgY29uc3QgdHJhdmVyc2VkID0gbmV3IFNldCgpXG4gICAgICBmdW5jdGlvbiBkZXRlY3RDeWNsZSh7bWdldCwgcm91dGV9KSB7XG4gICAgICAgIGNvbnN0IG0gPSBtZ2V0KClcbiAgICAgICAgaWYgKG0gPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIGlmICh0cmF2ZXJzZWQuaGFzKG0ucGF0aCkpIHJldHVyblxuICAgICAgICB0cmF2ZXJzZWQuYWRkKG0ucGF0aClcblxuICAgICAgICBmb3IgKGxldCBbcGF0aCwgeyBnZXR0ZXIsIHNvdXJjZSB9XSBvZiBtLmltcG9ydHMpIHtcbiAgICAgICAgICBpZiAocGF0aCA9PT0gbXlQYXRoKSByZXR1cm4gdHJ1ZVxuICAgICAgICAgIGlmICh0cmF2ZXJzZWQuaGFzKHBhdGgpKSBjb250aW51ZVxuICAgICAgICAgIGlmIChpZ25vcmVNb2R1bGUoc291cmNlLnZhbHVlKSkgY29udGludWVcbiAgICAgICAgICBpZiAocm91dGUubGVuZ3RoICsgMSA8IG1heERlcHRoKSB7XG4gICAgICAgICAgICB1bnRyYXZlcnNlZC5wdXNoKHtcbiAgICAgICAgICAgICAgbWdldDogZ2V0dGVyLFxuICAgICAgICAgICAgICByb3V0ZTogcm91dGUuY29uY2F0KHNvdXJjZSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB3aGlsZSAodW50cmF2ZXJzZWQubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBuZXh0ID0gdW50cmF2ZXJzZWQuc2hpZnQoKSAvLyBiZnMhXG4gICAgICAgIGlmIChkZXRlY3RDeWNsZShuZXh0KSkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAobmV4dC5yb3V0ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGBEZXBlbmRlbmN5IGN5Y2xlIHZpYSAke3JvdXRlU3RyaW5nKG5leHQucm91dGUpfWBcbiAgICAgICAgICAgIDogJ0RlcGVuZGVuY3kgY3ljbGUgZGV0ZWN0ZWQuJylcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChpbXBvcnRlciwgbWVzc2FnZSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKGNoZWNrU291cmNlVmFsdWUsIGNvbnRleHQub3B0aW9uc1swXSlcbiAgfSxcbn1cblxuZnVuY3Rpb24gcm91dGVTdHJpbmcocm91dGUpIHtcbiAgcmV0dXJuIHJvdXRlLm1hcChzID0+IGAke3MudmFsdWV9OiR7cy5sb2Muc3RhcnQubGluZX1gKS5qb2luKCc9PicpXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1jeWNsZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwibWF4RGVwdGgiLCJvbmVPZiIsImRlc2NyaXB0aW9uIiwibWluaW11bSIsImVudW0iLCJpZ25vcmVFeHRlcm5hbCIsImRlZmF1bHQiLCJjcmVhdGUiLCJjb250ZXh0IiwibXlQYXRoIiwiZ2V0RmlsZW5hbWUiLCJvcHRpb25zIiwiSW5maW5pdHkiLCJpZ25vcmVNb2R1bGUiLCJuYW1lIiwic2V0dGluZ3MiLCJjaGVja1NvdXJjZVZhbHVlIiwic291cmNlTm9kZSIsImltcG9ydGVyIiwidmFsdWUiLCJpbXBvcnRLaW5kIiwic3BlY2lmaWVycyIsImV2ZXJ5IiwiaW1wb3J0ZWQiLCJFeHBvcnRzIiwiZ2V0IiwicGF0aCIsInVudHJhdmVyc2VkIiwibWdldCIsInJvdXRlIiwidHJhdmVyc2VkIiwiU2V0IiwiZGV0ZWN0Q3ljbGUiLCJtIiwiaGFzIiwiYWRkIiwiaW1wb3J0cyIsImdldHRlciIsImRlY2xhcmF0aW9ucyIsInRvVHJhdmVyc2UiLCJmaWx0ZXIiLCJzb3VyY2UiLCJpc09ubHlJbXBvcnRpbmdUeXBlcyIsImxlbmd0aCIsInB1c2giLCJjb25jYXQiLCJuZXh0Iiwic2hpZnQiLCJtZXNzYWdlIiwicm91dGVTdHJpbmciLCJyZXBvcnQiLCJtYXAiLCJzIiwibG9jIiwic3RhcnQiLCJsaW5lIiwiam9pbiJdLCJtYXBwaW5ncyI6InNvQkFBQTs7Ozs7QUFLQSxzRDtBQUNBLHlDO0FBQ0E7QUFDQSxrRTtBQUNBLHFDOztBQUVBO0FBQ0FBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTSxFQUFFQyxLQUFLLHVCQUFRLFVBQVIsQ0FBUCxFQUZGO0FBR0pDLFlBQVEsQ0FBQyxzQ0FBa0I7QUFDekJDLGdCQUFVO0FBQ1JDLGVBQU87QUFDTDtB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QyxjQUFJZCxNQUFNYyxNQUFOLEdBQWUsQ0FBZixHQUFtQjNDLFFBQXZCLEVBQWlDO0FBQy9CLGdDQUF5QnVDLFVBQXpCLEVBQXFDLE9BQXhCRSxNQUF3QixTQUF4QkEsTUFBd0I7QUFDbkNkLDBCQUFZaUIsSUFBWixDQUFpQixFQUFFaEIsTUFBTVMsTUFBUixFQUFnQlIsT0FBT0EsTUFBTWdCLE1BQU4sQ0FBYUosTUFBYixDQUF2QixFQUFqQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGOztBQUVELGFBQU9kLFlBQVlnQixNQUFaLEdBQXFCLENBQTVCLEVBQStCO0FBQzdCLGNBQU1HLE9BQU9uQixZQUFZb0IsS0FBWixFQUFiLENBRDZCLENBQ0s7QUFDbEMsWUFBSWYsWUFBWWMsSUFBWixDQUFKLEVBQXVCO0FBQ3JCLGdCQUFNRSxVQUFXRixLQUFLakIsS0FBTCxDQUFXYyxNQUFYLEdBQW9CLENBQXBCO0FBQ1osa0NBQXVCTSxZQUFZSCxLQUFLakIsS0FBakIsQ0FBd0IsRUFEbkM7QUFFYixzQ0FGSjtBQUdBckIsa0JBQVEwQyxNQUFSLENBQWVoQyxRQUFmLEVBQXlCOEIsT0FBekI7QUFDQTtBQUNEO0FBQ0Y7QUFDRjs7QUFFRCxXQUFPLDZCQUFjaEMsZ0JBQWQsRUFBZ0NSLFFBQVFHLE9BQVIsQ0FBZ0IsQ0FBaEIsQ0FBaEMsQ0FBUDtBQUNELEdBaEhjLEVBQWpCOzs7QUFtSEEsU0FBU3NDLFdBQVQsQ0FBcUJwQixLQUFyQixFQUE0QjtBQUMxQixTQUFPQSxNQUFNc0IsR0FBTixDQUFVQyxLQUFNLEdBQUVBLEVBQUVqQyxLQUFNLElBQUdpQyxFQUFFQyxHQUFGLENBQU1DLEtBQU4sQ0FBWUMsSUFBSyxFQUE5QyxFQUFpREMsSUFBakQsQ0FBc0QsSUFBdEQsQ0FBUDtBQUNEIiwiZmlsZSI6Im5vLWN5Y2xlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZU92ZXJ2aWV3IEVuc3VyZXMgdGhhdCBubyBpbXBvcnRlZCBtb2R1bGUgaW1wb3J0cyB0aGUgbGludGVkIG1vZHVsZS5cbiAqIEBhdXRob3IgQmVuIE1vc2hlclxuICovXG5cbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSc7XG5pbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IHsgaXNFeHRlcm5hbE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgbW9kdWxlVmlzaXRvciwgeyBtYWtlT3B0aW9uc1NjaGVtYSB9IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvbW9kdWxlVmlzaXRvcic7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuLy8gdG9kbzogY2FjaGUgY3ljbGVzIC8gZGVlcCByZWxhdGlvbnNoaXBzIGZvciBmYXN0ZXIgcmVwZWF0IGV2YWx1YXRpb25cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHsgdXJsOiBkb2NzVXJsKCduby1jeWNsZScpIH0sXG4gICAgc2NoZW1hOiBbbWFrZU9wdGlvbnNTY2hlbWEoe1xuICAgICAgbWF4RGVwdGg6IHtcbiAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ21heGltdW0gZGVwZW5kZW5jeSBkZXB0aCB0byB0cmF2ZXJzZScsXG4gICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW51bTogWyfiiJ4nXSxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaWdub3JlRXh0ZXJuYWw6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdpZ25vcmUgZXh0ZXJuYWwgbW9kdWxlcycsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgY29uc3QgbXlQYXRoID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICAgIGlmIChteVBhdGggPT09ICc8dGV4dD4nKSByZXR1cm4ge307IC8vIGNhbid0IGN5Y2xlLWNoZWNrIGEgbm9uLWZpbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG4gICAgY29uc3QgbWF4RGVwdGggPSB0eXBlb2Ygb3B0aW9ucy5tYXhEZXB0aCA9PT0gJ251bWJlcicgPyBvcHRpb25zLm1heERlcHRoIDogSW5maW5pdHk7XG4gICAgY29uc3QgaWdub3JlTW9kdWxlID0gKG5hbWUpID0+IG9wdGlvbnMuaWdub3JlRXh0ZXJuYWwgJiYgaXNFeHRlcm5hbE1vZHVsZShcbiAgICAgIG5hbWUsXG4gICAgICBjb250ZXh0LnNldHRpbmdzLFxuICAgICAgcmVzb2x2ZShuYW1lLCBjb250ZXh0KSxcbiAgICAgIGNvbnRleHRcbiAgICApO1xuXG4gICAgZnVuY3Rpb24gY2hlY2tTb3VyY2VWYWx1ZShzb3VyY2VOb2RlLCBpbXBvcnRlcikge1xuICAgICAgaWYgKGlnbm9yZU1vZHVsZShzb3VyY2VOb2RlLnZhbHVlKSkge1xuICAgICAgICByZXR1cm47IC8vIGlnbm9yZSBleHRlcm5hbCBtb2R1bGVzXG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgaW1wb3J0ZXIudHlwZSA9PT0gJ0ltcG9ydERlY2xhcmF0aW9uJyAmJiAoXG4gICAgICAgICAgLy8gaW1wb3J0IHR5cGUgeyBGb28gfSAoVFMgYW5kIEZsb3cpXG4gICAgICAgICAgaW1wb3J0ZXIuaW1wb3J0S2luZCA9PT0gJ3R5cGUnIHx8XG4gICAgICAgICAgLy8gaW1wb3J0IHsgdHlwZSBGb28gfSAoRmxvdylcbiAgICAgICAgICBpbXBvcnRlci5zcGVjaWZpZXJzLmV2ZXJ5KCh7IGltcG9ydEtpbmQgfSkgPT4gaW1wb3J0S2luZCA9PT0gJ3R5cGUnKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuOyAvLyBpZ25vcmUgdHlwZSBpbXBvcnRzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGltcG9ydGVkID0gRXhwb3J0cy5nZXQoc291cmNlTm9kZS52YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChpbXBvcnRlZCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybjsgIC8vIG5vLXVucmVzb2x2ZWQgdGVycml0b3J5XG4gICAgICB9XG5cbiAgICAgIGlmIChpbXBvcnRlZC5wYXRoID09PSBteVBhdGgpIHtcbiAgICAgICAgcmV0dXJuOyAgLy8gbm8tc2VsZi1pbXBvcnQgdGVycml0b3J5XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVudHJhdmVyc2VkID0gW3sgbWdldDogKCkgPT4gaW1wb3J0ZWQsIHJvdXRlOltdIH1dO1xuICAgICAgY29uc3QgdHJhdmVyc2VkID0gbmV3IFNldCgpO1xuICAgICAgZnVuY3Rpb24gZGV0ZWN0Q3ljbGUoeyBtZ2V0LCByb3V0ZSB9KSB7XG4gICAgICAgIGNvbnN0IG0gPSBtZ2V0KCk7XG4gICAgICAgIGlmIChtID09IG51bGwpIHJldHVybjtcbiAgICAgICAgaWYgKHRyYXZlcnNlZC5oYXMobS5wYXRoKSkgcmV0dXJuO1xuICAgICAgICB0cmF2ZXJzZWQuYWRkKG0ucGF0aCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBbcGF0aCwgeyBnZXR0ZXIsIGRlY2xhcmF0aW9ucyB9XSBvZiBtLmltcG9ydHMpIHtcbiAgICAgICAgICBpZiAodHJhdmVyc2VkLmhhcyhwYXRoKSkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgdG9UcmF2ZXJzZSA9IFsuLi5kZWNsYXJhdGlvbnNdLmZpbHRlcigoeyBzb3VyY2UsIGlzT25seUltcG9ydGluZ1R5cGVzIH0pID0+XG4gICAgICAgICAgICAhaWdub3JlTW9kdWxlKHNvdXJjZS52YWx1ZSkgJiZcbiAgICAgICAgICAgIC8vIElnbm9yZSBvbmx5IHR5cGUgaW1wb3J0c1xuICAgICAgICAgICAgIWlzT25seUltcG9ydGluZ1R5cGVzXG4gICAgICAgICAgKTtcbiAgICAgICAgICAvKlxuICAgICAgICAgIE9ubHkgcmVwb3J0IGFzIGEgY3ljbGUgaWYgdGhlcmUgYXJlIGFueSBpbXBvcnQgZGVjbGFyYXRpb25zIHRoYXQgYXJlIGNvbnNpZGVyZWQgYnlcbiAgICAgICAgICB0aGUgcnVsZS4gRm9yIGV4YW1wbGU6XG5cbiAgICAgICAgICBhLnRzOlxuICAgICAgICAgIGltcG9ydCB7IGZvbyB9IGZyb20gJy4vYicgLy8gc2hvdWxkIG5vdCBiZSByZXBvcnRlZCBhcyBhIGN5Y2xlXG5cbiAgICAgICAgICBiLnRzOlxuICAgICAgICAgIGltcG9ydCB0eXBlIHsgQmFyIH0gZnJvbSAnLi9hJ1xuICAgICAgICAgICovXG4gICAgICAgICAgaWYgKHBhdGggPT09IG15UGF0aCAmJiB0b1RyYXZlcnNlLmxlbmd0aCA+IDApIHJldHVybiB0cnVlO1xuICAgICAgICAgIGlmIChyb3V0ZS5sZW5ndGggKyAxIDwgbWF4RGVwdGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgeyBzb3VyY2UgfSBvZiB0b1RyYXZlcnNlKSB7XG4gICAgICAgICAgICAgIHVudHJhdmVyc2VkLnB1c2goeyBtZ2V0OiBnZXR0ZXIsIHJvdXRlOiByb3V0ZS5jb25jYXQoc291cmNlKSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgd2hpbGUgKHVudHJhdmVyc2VkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHVudHJhdmVyc2VkLnNoaWZ0KCk7IC8vIGJmcyFcbiAgICAgICAgaWYgKGRldGVjdEN5Y2xlKG5leHQpKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IChuZXh0LnJvdXRlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gYERlcGVuZGVuY3kgY3ljbGUgdmlhICR7cm91dGVTdHJpbmcobmV4dC5yb3V0ZSl9YFxuICAgICAgICAgICAgOiAnRGVwZW5kZW5jeSBjeWNsZSBkZXRlY3RlZC4nKTtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChpbXBvcnRlciwgbWVzc2FnZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3IoY2hlY2tTb3VyY2VWYWx1ZSwgY29udGV4dC5vcHRpb25zWzBdKTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIHJvdXRlU3RyaW5nKHJvdXRlKSB7XG4gIHJldHVybiByb3V0ZS5tYXAocyA9PiBgJHtzLnZhbHVlfToke3MubG9jLnN0YXJ0LmxpbmV9YCkuam9pbignPT4nKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-default-export.js b/node_modules/eslint-plugin-import/lib/rules/no-default-export.js index 9434bcd1c..e721bdc2a 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-default-export.js @@ -38,4 +38,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kZWZhdWx0LWV4cG9ydC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsInBhcnNlck9wdGlvbnMiLCJzb3VyY2VUeXBlIiwicHJlZmVyTmFtZWQiLCJub0FsaWFzRGVmYXVsdCIsImxvY2FsIiwibmFtZSIsIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiIsIm5vZGUiLCJyZXBvcnQiLCJtZXNzYWdlIiwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJmb3JFYWNoIiwic3BlY2lmaWVyIiwiZXhwb3J0ZWQiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxtQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsU0FBT0MsT0FBUCxFQUFnQjtBQUNkO0FBQ0EsUUFBSUEsUUFBUUMsYUFBUixDQUFzQkMsVUFBdEIsS0FBcUMsUUFBekMsRUFBbUQ7QUFDakQsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsVUFBTUMsY0FBYyx1QkFBcEI7QUFDQSxVQUFNQyxpQkFBaUIsZUFBRUMsS0FBRixRQUFFQSxLQUFGO0FBQ3BCLDBCQUFpQkEsTUFBTUMsSUFBSyxpQ0FBN0I7QUFDQyxhQUFJRCxNQUFNQyxJQUFLLG9CQUZLLEdBQXZCOztBQUlBLFdBQU87QUFDTEMsK0JBQXlCQyxJQUF6QixFQUErQjtBQUM3QlIsZ0JBQVFTLE1BQVIsQ0FBZSxFQUFDRCxJQUFELEVBQU9FLFNBQVNQLFdBQWhCLEVBQWY7QUFDRCxPQUhJOztBQUtMUSw2QkFBdUJILElBQXZCLEVBQTZCO0FBQzNCQSxhQUFLSSxVQUFMLENBQWdCQyxPQUFoQixDQUF3QkMsYUFBYTtBQUNuQyxjQUFJQSxVQUFVbkIsSUFBVixLQUFtQix3QkFBbkI7QUFDQW1CLG9CQUFVQyxRQUFWLENBQW1CVCxJQUFuQixLQUE0QixTQURoQyxFQUMyQztBQUN6Q04sb0JBQVFTLE1BQVIsQ0FBZSxFQUFDRCxJQUFELEVBQU9FLFNBQVNQLFdBQWhCLEVBQWY7QUFDRCxXQUhELE1BR08sSUFBSVcsVUFBVW5CLElBQVYsS0FBbUIsaUJBQW5CO0FBQ1BtQixvQkFBVUMsUUFBVixDQUFtQlQsSUFBbkIsS0FBNEIsU0FEekIsRUFDb0M7QUFDekNOLG9CQUFRUyxNQUFSLENBQWUsRUFBQ0QsSUFBRCxFQUFPRSxTQUFTTixlQUFlVSxTQUFmLENBQWhCLEVBQWY7QUFDRDtBQUNGLFNBUkQ7QUFTRCxPQWZJLEVBQVA7O0FBaUJELEdBckNjLEVBQWpCIiwiZmlsZSI6Im5vLWRlZmF1bHQtZXhwb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1kZWZhdWx0LWV4cG9ydCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIC8vIGlnbm9yZSBub24tbW9kdWxlc1xuICAgIGlmIChjb250ZXh0LnBhcnNlck9wdGlvbnMuc291cmNlVHlwZSAhPT0gJ21vZHVsZScpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIGNvbnN0IHByZWZlck5hbWVkID0gJ1ByZWZlciBuYW1lZCBleHBvcnRzLidcbiAgICBjb25zdCBub0FsaWFzRGVmYXVsdCA9ICh7bG9jYWx9KSA9PlxuICAgICAgYERvIG5vdCBhbGlhcyBcXGAke2xvY2FsLm5hbWV9XFxgIGFzIFxcYGRlZmF1bHRcXGAuIEp1c3QgZXhwb3J0IGAgK1xuICAgICAgYFxcYCR7bG9jYWwubmFtZX1cXGAgaXRzZWxmIGluc3RlYWQuYFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtub2RlLCBtZXNzYWdlOiBwcmVmZXJOYW1lZH0pXG4gICAgICB9LFxuXG4gICAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goc3BlY2lmaWVyID0+IHtcbiAgICAgICAgICBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdFeHBvcnREZWZhdWx0U3BlY2lmaWVyJyAmJlxuICAgICAgICAgICAgICBzcGVjaWZpZXIuZXhwb3J0ZWQubmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7bm9kZSwgbWVzc2FnZTogcHJlZmVyTmFtZWR9KVxuICAgICAgICAgIH0gZWxzZSBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdFeHBvcnRTcGVjaWZpZXInICYmXG4gICAgICAgICAgICAgIHNwZWNpZmllci5leHBvcnRlZC5uYW1lID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtub2RlLCBtZXNzYWdlOiBub0FsaWFzRGVmYXVsdChzcGVjaWZpZXIpfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgIH1cbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kZWZhdWx0LWV4cG9ydC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsInBhcnNlck9wdGlvbnMiLCJzb3VyY2VUeXBlIiwicHJlZmVyTmFtZWQiLCJub0FsaWFzRGVmYXVsdCIsImxvY2FsIiwibmFtZSIsIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiIsIm5vZGUiLCJyZXBvcnQiLCJtZXNzYWdlIiwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJmb3JFYWNoIiwic3BlY2lmaWVyIiwiZXhwb3J0ZWQiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxtQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsU0FBT0MsT0FBUCxFQUFnQjtBQUNkO0FBQ0EsUUFBSUEsUUFBUUMsYUFBUixDQUFzQkMsVUFBdEIsS0FBcUMsUUFBekMsRUFBbUQ7QUFDakQsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsVUFBTUMsY0FBYyx1QkFBcEI7QUFDQSxVQUFNQyxpQkFBaUIsZUFBR0MsS0FBSCxRQUFHQSxLQUFIO0FBQ3BCLDBCQUFpQkEsTUFBTUMsSUFBSyxpQ0FBN0I7QUFDQyxhQUFJRCxNQUFNQyxJQUFLLG9CQUZLLEdBQXZCOztBQUlBLFdBQU87QUFDTEMsK0JBQXlCQyxJQUF6QixFQUErQjtBQUM3QlIsZ0JBQVFTLE1BQVIsQ0FBZSxFQUFFRCxJQUFGLEVBQVFFLFNBQVNQLFdBQWpCLEVBQWY7QUFDRCxPQUhJOztBQUtMUSw2QkFBdUJILElBQXZCLEVBQTZCO0FBQzNCQSxhQUFLSSxVQUFMLENBQWdCQyxPQUFoQixDQUF3QkMsYUFBYTtBQUNuQyxjQUFJQSxVQUFVbkIsSUFBVixLQUFtQix3QkFBbkI7QUFDQW1CLG9CQUFVQyxRQUFWLENBQW1CVCxJQUFuQixLQUE0QixTQURoQyxFQUMyQztBQUN6Q04sb0JBQVFTLE1BQVIsQ0FBZSxFQUFFRCxJQUFGLEVBQVFFLFNBQVNQLFdBQWpCLEVBQWY7QUFDRCxXQUhELE1BR08sSUFBSVcsVUFBVW5CLElBQVYsS0FBbUIsaUJBQW5CO0FBQ1BtQixvQkFBVUMsUUFBVixDQUFtQlQsSUFBbkIsS0FBNEIsU0FEekIsRUFDb0M7QUFDekNOLG9CQUFRUyxNQUFSLENBQWUsRUFBRUQsSUFBRixFQUFRRSxTQUFTTixlQUFlVSxTQUFmLENBQWpCLEVBQWY7QUFDRDtBQUNGLFNBUkQ7QUFTRCxPQWZJLEVBQVA7O0FBaUJELEdBckNjLEVBQWpCIiwiZmlsZSI6Im5vLWRlZmF1bHQtZXhwb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tZGVmYXVsdC1leHBvcnQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICAvLyBpZ25vcmUgbm9uLW1vZHVsZXNcbiAgICBpZiAoY29udGV4dC5wYXJzZXJPcHRpb25zLnNvdXJjZVR5cGUgIT09ICdtb2R1bGUnKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3QgcHJlZmVyTmFtZWQgPSAnUHJlZmVyIG5hbWVkIGV4cG9ydHMuJztcbiAgICBjb25zdCBub0FsaWFzRGVmYXVsdCA9ICh7IGxvY2FsIH0pID0+XG4gICAgICBgRG8gbm90IGFsaWFzIFxcYCR7bG9jYWwubmFtZX1cXGAgYXMgXFxgZGVmYXVsdFxcYC4gSnVzdCBleHBvcnQgYCArXG4gICAgICBgXFxgJHtsb2NhbC5uYW1lfVxcYCBpdHNlbGYgaW5zdGVhZC5gO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogcHJlZmVyTmFtZWQgfSk7XG4gICAgICB9LFxuXG4gICAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goc3BlY2lmaWVyID0+IHtcbiAgICAgICAgICBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdFeHBvcnREZWZhdWx0U3BlY2lmaWVyJyAmJlxuICAgICAgICAgICAgICBzcGVjaWZpZXIuZXhwb3J0ZWQubmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IHByZWZlck5hbWVkIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3BlY2lmaWVyLnR5cGUgPT09ICdFeHBvcnRTcGVjaWZpZXInICYmXG4gICAgICAgICAgICAgIHNwZWNpZmllci5leHBvcnRlZC5uYW1lID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogbm9BbGlhc0RlZmF1bHQoc3BlY2lmaWVyKSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js b/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js index f641eadd8..01ace78c8 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js @@ -9,10 +9,7 @@ function message(deprecation) { function getDeprecation(metadata) { if (!metadata || !metadata.doc) return; - let deprecation; - if (metadata.doc.tags.some(t => t.title === 'deprecated' && (deprecation = t))) { - return deprecation; - } + return metadata.doc.tags.find(t => t.title === 'deprecated'); } module.exports = { @@ -25,8 +22,8 @@ module.exports = { create: function (context) { - const deprecated = new Map(), - namespaces = new Map(); + const deprecated = new Map(); + const namespaces = new Map(); function checkSpecifiers(node) { if (node.type !== 'ImportDeclaration') return; @@ -35,9 +32,8 @@ module.exports = { const imports = _ExportMap2.default.get(node.source.value, context); if (imports == null) return; - let moduleDeprecation; - if (imports.doc && - imports.doc.tags.some(t => t.title === 'deprecated' && (moduleDeprecation = t))) { + const moduleDeprecation = imports.doc && imports.doc.tags.find(t => t.title === 'deprecated'); + if (moduleDeprecation) { context.report({ node, message: message(moduleDeprecation) }); } @@ -47,7 +43,7 @@ module.exports = { } node.specifiers.forEach(function (im) { - let imported, local; + let imported;let local; switch (im.type) { @@ -114,8 +110,8 @@ module.exports = { if ((0, _declaredScope2.default)(context, dereference.object.name) !== 'module') return; // go deep - var namespace = namespaces.get(dereference.object.name); - var namepath = [dereference.object.name]; + let namespace = namespaces.get(dereference.object.name); + const namepath = [dereference.object.name]; // while property is namespace and parent is member expression, keep validating while (namespace instanceof _ExportMap2.default && dereference.type === 'MemberExpression') { @@ -140,4 +136,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kZXByZWNhdGVkLmpzIl0sIm5hbWVzIjpbIm1lc3NhZ2UiLCJkZXByZWNhdGlvbiIsImRlc2NyaXB0aW9uIiwiZ2V0RGVwcmVjYXRpb24iLCJtZXRhZGF0YSIsImRvYyIsInRhZ3MiLCJzb21lIiwidCIsInRpdGxlIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJkZXByZWNhdGVkIiwiTWFwIiwibmFtZXNwYWNlcyIsImNoZWNrU3BlY2lmaWVycyIsIm5vZGUiLCJzb3VyY2UiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInZhbHVlIiwibW9kdWxlRGVwcmVjYXRpb24iLCJyZXBvcnQiLCJlcnJvcnMiLCJsZW5ndGgiLCJyZXBvcnRFcnJvcnMiLCJzcGVjaWZpZXJzIiwiZm9yRWFjaCIsImltIiwiaW1wb3J0ZWQiLCJsb2NhbCIsInNpemUiLCJzZXQiLCJuYW1lIiwiZXhwb3J0ZWQiLCJuYW1lc3BhY2UiLCJib2R5IiwicGFyZW50IiwicHJvcGVydHkiLCJzbGljZSIsImhhcyIsImRlcmVmZXJlbmNlIiwib2JqZWN0IiwibmFtZXBhdGgiLCJjb21wdXRlZCIsInB1c2giXSwibWFwcGluZ3MiOiJhQUFBLGtFO0FBQ0EseUM7QUFDQSxxQzs7QUFFQSxTQUFTQSxPQUFULENBQWlCQyxXQUFqQixFQUE4QjtBQUM1QixTQUFPLGdCQUFnQkEsWUFBWUMsV0FBWixHQUEwQixPQUFPRCxZQUFZQyxXQUE3QyxHQUEyRCxHQUEzRSxDQUFQO0FBQ0Q7O0FBRUQsU0FBU0MsY0FBVCxDQUF3QkMsUUFBeEIsRUFBa0M7QUFDaEMsTUFBSSxDQUFDQSxRQUFELElBQWEsQ0FBQ0EsU0FBU0MsR0FBM0IsRUFBZ0M7O0FBRWhDLE1BQUlKLFdBQUo7QUFDQSxNQUFJRyxTQUFTQyxHQUFULENBQWFDLElBQWIsQ0FBa0JDLElBQWxCLENBQXVCQyxLQUFLQSxF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QyxZQUFZRyxRQUFoQixFQUEwQjs7QUFFMUIsZ0JBQU1oRCxXQUFXdUMsVUFBVWhCLEdBQVYsQ0FBY3NCLFlBQVlILFFBQVosQ0FBcUJMLElBQW5DLENBQWpCOztBQUVBLGNBQUksQ0FBQ3JDLFFBQUwsRUFBZTtBQUNmLGdCQUFNSCxjQUFjRSxlQUFlQyxRQUFmLENBQXBCOztBQUVBLGNBQUlILFdBQUosRUFBaUI7QUFDZmlCLG9CQUFRWSxNQUFSLENBQWUsRUFBRVAsTUFBTTBCLFlBQVlILFFBQXBCLEVBQThCOUMsU0FBU0EsUUFBUUMsV0FBUixDQUF2QyxFQUFmO0FBQ0Q7O0FBRUQ7QUFDQWtELG1CQUFTRSxJQUFULENBQWNKLFlBQVlILFFBQVosQ0FBcUJMLElBQW5DO0FBQ0FFLHNCQUFZdkMsU0FBU3VDLFNBQXJCO0FBQ0FNLHdCQUFjQSxZQUFZSixNQUExQjtBQUNEO0FBQ0YsT0FsREksRUFBUDs7QUFvREQsR0E1SGMsRUFBakIiLCJmaWxlIjoibm8tZGVwcmVjYXRlZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWNsYXJlZFNjb3BlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvZGVjbGFyZWRTY29wZSdcbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCdcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIG1lc3NhZ2UoZGVwcmVjYXRpb24pIHtcbiAgcmV0dXJuICdEZXByZWNhdGVkJyArIChkZXByZWNhdGlvbi5kZXNjcmlwdGlvbiA/ICc6ICcgKyBkZXByZWNhdGlvbi5kZXNjcmlwdGlvbiA6ICcuJylcbn1cblxuZnVuY3Rpb24gZ2V0RGVwcmVjYXRpb24obWV0YWRhdGEpIHtcbiAgaWYgKCFtZXRhZGF0YSB8fCAhbWV0YWRhdGEuZG9jKSByZXR1cm5cblxuICBsZXQgZGVwcmVjYXRpb25cbiAgaWYgKG1ldGFkYXRhLmRvYy50YWdzLnNvbWUodCA9PiB0LnRpdGxlID09PSAnZGVwcmVjYXRlZCcgJiYgKGRlcHJlY2F0aW9uID0gdCkpKSB7XG4gICAgcmV0dXJuIGRlcHJlY2F0aW9uXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1kZXByZWNhdGVkJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBkZXByZWNhdGVkID0gbmV3IE1hcCgpXG4gICAgICAgICwgbmFtZXNwYWNlcyA9IG5ldyBNYXAoKVxuXG4gICAgZnVuY3Rpb24gY2hlY2tTcGVjaWZpZXJzKG5vZGUpIHtcbiAgICAgIGlmIChub2RlLnR5cGUgIT09ICdJbXBvcnREZWNsYXJhdGlvbicpIHJldHVyblxuICAgICAgaWYgKG5vZGUuc291cmNlID09IG51bGwpIHJldHVybiAvLyBsb2NhbCBleHBvcnQsIGlnbm9yZVxuXG4gICAgICBjb25zdCBpbXBvcnRzID0gRXhwb3J0cy5nZXQobm9kZS5zb3VyY2UudmFsdWUsIGNvbnRleHQpXG4gICAgICBpZiAoaW1wb3J0cyA9PSBudWxsKSByZXR1cm5cblxuICAgICAgbGV0IG1vZHVsZURlcHJlY2F0aW9uXG4gICAgICBpZiAoaW1wb3J0cy5kb2MgJiZcbiAgICAgICAgICBpbXBvcnRzLmRvYy50YWdzLnNvbWUodCA9PiB0LnRpdGxlID09PSAnZGVwcmVjYXRlZCcgJiYgKG1vZHVsZURlcHJlY2F0aW9uID0gdCkpKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogbWVzc2FnZShtb2R1bGVEZXByZWNhdGlvbikgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGltcG9ydHMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICBpbXBvcnRzLnJlcG9ydEVycm9ycyhjb250ZXh0LCBub2RlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKGltKSB7XG4gICAgICAgIGxldCBpbXBvcnRlZCwgbG9jYWxcbiAgICAgICAgc3dpdGNoIChpbS50eXBlKSB7XG5cblxuICAgICAgICAgIGNhc2UgJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcic6e1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRzLnNpemUpIHJldHVyblxuICAgICAgICAgICAgbmFtZXNwYWNlcy5zZXQoaW0ubG9jYWwubmFtZSwgaW1wb3J0cylcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInOlxuICAgICAgICAgICAgaW1wb3J0ZWQgPSAnZGVmYXVsdCdcbiAgICAgICAgICAgIGxvY2FsID0gaW0ubG9jYWwubmFtZVxuICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgIGNhc2UgJ0ltcG9ydFNwZWNpZmllcic6XG4gICAgICAgICAgICBpbXBvcnRlZCA9IGltLmltcG9ydGVkLm5hbWVcbiAgICAgICAgICAgIGxvY2FsID0gaW0ubG9jYWwubmFtZVxuICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAvLyBjYW4ndCBoYW5kbGUgdGhpcyBvbmVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVua25vd24gdGhpbmcgY2FuJ3QgYmUgZGVwcmVjYXRlZFxuICAgICAgICBjb25zdCBleHBvcnRlZCA9IGltcG9ydHMuZ2V0KGltcG9ydGVkKVxuICAgICAgICBpZiAoZXhwb3J0ZWQgPT0gbnVsbCkgcmV0dXJuXG5cbiAgICAgICAgLy8gY2FwdHVyZSBpbXBvcnQgb2YgZGVlcCBuYW1lc3BhY2VcbiAgICAgICAgaWYgKGV4cG9ydGVkLm5hbWVzcGFjZSkgbmFtZXNwYWNlcy5zZXQobG9jYWwsIGV4cG9ydGVkLm5hbWVzcGFjZSlcblxuICAgICAgICBjb25zdCBkZXByZWNhdGlvbiA9IGdldERlcHJlY2F0aW9uKGltcG9ydHMuZ2V0KGltcG9ydGVkKSlcbiAgICAgICAgaWYgKCFkZXByZWNhdGlvbikgcmV0dXJuXG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBpbSwgbWVzc2FnZTogbWVzc2FnZShkZXByZWNhdGlvbikgfSlcblxuICAgICAgICBkZXByZWNhdGVkLnNldChsb2NhbCwgZGVwcmVjYXRpb24pXG5cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdQcm9ncmFtJzogKHsgYm9keSB9KSA9PiBib2R5LmZvckVhY2goY2hlY2tTcGVjaWZpZXJzKSxcblxuICAgICAgJ0lkZW50aWZpZXInOiBmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nICYmIG5vZGUucGFyZW50LnByb3BlcnR5ID09PSBub2RlKSB7XG4gICAgICAgICAgcmV0dXJuIC8vIGhhbmRsZWQgYnkgTWVtYmVyRXhwcmVzc2lvblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWdub3JlIHNwZWNpZmllciBpZGVudGlmaWVyc1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQudHlwZS5zbGljZSgwLCA2KSA9PT0gJ0ltcG9ydCcpIHJldHVyblxuXG4gICAgICAgIGlmICghZGVwcmVjYXRlZC5oYXMobm9kZS5uYW1lKSkgcmV0dXJuXG5cbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgbm9kZS5uYW1lKSAhPT0gJ21vZHVsZScpIHJldHVyblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlKGRlcHJlY2F0ZWQuZ2V0KG5vZGUubmFtZSkpLFxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgJ01lbWJlckV4cHJlc3Npb24nOiBmdW5jdGlvbiAoZGVyZWZlcmVuY2UpIHtcbiAgICAgICAgaWYgKGRlcmVmZXJlbmNlLm9iamVjdC50eXBlICE9PSAnSWRlbnRpZmllcicpIHJldHVyblxuICAgICAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGRlcmVmZXJlbmNlLm9iamVjdC5uYW1lKSkgcmV0dXJuXG5cbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWUpICE9PSAnbW9kdWxlJykgcmV0dXJuXG5cbiAgICAgICAgLy8gZ28gZGVlcFxuICAgICAgICB2YXIgbmFtZXNwYWNlID0gbmFtZXNwYWNlcy5nZXQoZGVyZWZlcmVuY2Uub2JqZWN0Lm5hbWUpXG4gICAgICAgIHZhciBuYW1lcGF0aCA9IFtkZXJlZmVyZW5jZS5vYmplY3QubmFtZV1cbiAgICAgICAgLy8gd2hpbGUgcHJvcGVydHkgaXMgbmFtZXNwYWNlIGFuZCBwYXJlbnQgaXMgbWVtYmVyIGV4cHJlc3Npb24sIGtlZXAgdmFsaWRhdGluZ1xuICAgICAgICB3aGlsZSAobmFtZXNwYWNlIGluc3RhbmNlb2YgRXhwb3J0cyAmJlxuICAgICAgICAgICAgICAgZGVyZWZlcmVuY2UudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG5cbiAgICAgICAgICAvLyBpZ25vcmUgY29tcHV0ZWQgcGFydHMgZm9yIG5vd1xuICAgICAgICAgIGlmIChkZXJlZmVyZW5jZS5jb21wdXRlZCkgcmV0dXJuXG5cbiAgICAgICAgICBjb25zdCBtZXRhZGF0YSA9IG5hbWVzcGFjZS5nZXQoZGVyZWZlcmVuY2UucHJvcGVydHkubmFtZSlcblxuICAgICAgICAgIGlmICghbWV0YWRhdGEpIGJyZWFrXG4gICAgICAgICAgY29uc3QgZGVwcmVjYXRpb24gPSBnZXREZXByZWNhdGlvbihtZXRhZGF0YSlcblxuICAgICAgICAgIGlmIChkZXByZWNhdGlvbikge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBkZXJlZmVyZW5jZS5wcm9wZXJ0eSwgbWVzc2FnZTogbWVzc2FnZShkZXByZWNhdGlvbikgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBzdGFzaCBhbmQgcG9wXG4gICAgICAgICAgbmFtZXBhdGgucHVzaChkZXJlZmVyZW5jZS5wcm9wZXJ0eS5uYW1lKVxuICAgICAgICAgIG5hbWVzcGFjZSA9IG1ldGFkYXRhLm5hbWVzcGFjZVxuICAgICAgICAgIGRlcmVmZXJlbmNlID0gZGVyZWZlcmVuY2UucGFyZW50XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kZXByZWNhdGVkLmpzIl0sIm5hbWVzIjpbIm1lc3NhZ2UiLCJkZXByZWNhdGlvbiIsImRlc2NyaXB0aW9uIiwiZ2V0RGVwcmVjYXRpb24iLCJtZXRhZGF0YSIsImRvYyIsInRhZ3MiLCJmaW5kIiwidCIsInRpdGxlIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJkZXByZWNhdGVkIiwiTWFwIiwibmFtZXNwYWNlcyIsImNoZWNrU3BlY2lmaWVycyIsIm5vZGUiLCJzb3VyY2UiLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInZhbHVlIiwibW9kdWxlRGVwcmVjYXRpb24iLCJyZXBvcnQiLCJlcnJvcnMiLCJsZW5ndGgiLCJyZXBvcnRFcnJvcnMiLCJzcGVjaWZpZXJzIiwiZm9yRWFjaCIsImltIiwiaW1wb3J0ZWQiLCJsb2NhbCIsInNpemUiLCJzZXQiLCJuYW1lIiwiZXhwb3J0ZWQiLCJuYW1lc3BhY2UiLCJib2R5IiwicGFyZW50IiwicHJvcGVydHkiLCJzbGljZSIsImhhcyIsImRlcmVmZXJlbmNlIiwib2JqZWN0IiwibmFtZXBhdGgiLCJjb21wdXRlZCIsInB1c2giXSwibWFwcGluZ3MiOiJhQUFBLGtFO0FBQ0EseUM7QUFDQSxxQzs7QUFFQSxTQUFTQSxPQUFULENBQWlCQyxXQUFqQixFQUE4QjtBQUM1QixTQUFPLGdCQUFnQkEsWUFBWUMsV0FBWixHQUEwQixPQUFPRCxZQUFZQyxXQUE3QyxHQUEyRCxHQUEzRSxDQUFQO0FBQ0Q7O0FBRUQsU0FBU0MsY0FBVCxDQUF3QkMsUUFBeEIsRUFBa0M7QUFDaEMsTUFBSSxDQUFDQSxRQUFELElBQWEsQ0FBQ0EsU0FBU0MsR0FBM0IsRUFBZ0M7O0FBRWhDLFNBQU9ELFNBQVNDLEdBQVQsQ0FBYUMsSUFBYixDQUFrQkMsSUFBbEIsQ0FBdUJDLEtBQUtBLEVBQUVDLEtBQUYsS0FBWSxZ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QkwsSUFBbkMsQ0FBakI7O0FBRUEsY0FBSSxDQUFDckMsUUFBTCxFQUFlO0FBQ2YsZ0JBQU1ILGNBQWNFLGVBQWVDLFFBQWYsQ0FBcEI7O0FBRUEsY0FBSUgsV0FBSixFQUFpQjtBQUNmaUIsb0JBQVFZLE1BQVIsQ0FBZSxFQUFFUCxNQUFNMEIsWUFBWUgsUUFBcEIsRUFBOEI5QyxTQUFTQSxRQUFRQyxXQUFSLENBQXZDLEVBQWY7QUFDRDs7QUFFRDtBQUNBa0QsbUJBQVNFLElBQVQsQ0FBY0osWUFBWUgsUUFBWixDQUFxQkwsSUFBbkM7QUFDQUUsc0JBQVl2QyxTQUFTdUMsU0FBckI7QUFDQU0sd0JBQWNBLFlBQVlKLE1BQTFCO0FBQ0Q7QUFDRixPQWxESSxFQUFQOztBQW9ERCxHQTNIYyxFQUFqQiIsImZpbGUiOiJuby1kZXByZWNhdGVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlY2xhcmVkU2NvcGUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9kZWNsYXJlZFNjb3BlJztcbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuZnVuY3Rpb24gbWVzc2FnZShkZXByZWNhdGlvbikge1xuICByZXR1cm4gJ0RlcHJlY2F0ZWQnICsgKGRlcHJlY2F0aW9uLmRlc2NyaXB0aW9uID8gJzogJyArIGRlcHJlY2F0aW9uLmRlc2NyaXB0aW9uIDogJy4nKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVwcmVjYXRpb24obWV0YWRhdGEpIHtcbiAgaWYgKCFtZXRhZGF0YSB8fCAhbWV0YWRhdGEuZG9jKSByZXR1cm47XG5cbiAgcmV0dXJuIG1ldGFkYXRhLmRvYy50YWdzLmZpbmQodCA9PiB0LnRpdGxlID09PSAnZGVwcmVjYXRlZCcpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWRlcHJlY2F0ZWQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGNvbnN0IGRlcHJlY2F0ZWQgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgbmFtZXNwYWNlcyA9IG5ldyBNYXAoKTtcblxuICAgIGZ1bmN0aW9uIGNoZWNrU3BlY2lmaWVycyhub2RlKSB7XG4gICAgICBpZiAobm9kZS50eXBlICE9PSAnSW1wb3J0RGVjbGFyYXRpb24nKSByZXR1cm47XG4gICAgICBpZiAobm9kZS5zb3VyY2UgPT0gbnVsbCkgcmV0dXJuOyAvLyBsb2NhbCBleHBvcnQsIGlnbm9yZVxuXG4gICAgICBjb25zdCBpbXBvcnRzID0gRXhwb3J0cy5nZXQobm9kZS5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgaWYgKGltcG9ydHMgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBtb2R1bGVEZXByZWNhdGlvbiA9IGltcG9ydHMuZG9jICYmIGltcG9ydHMuZG9jLnRhZ3MuZmluZCh0ID0+IHQudGl0bGUgPT09ICdkZXByZWNhdGVkJyk7XG4gICAgICBpZiAobW9kdWxlRGVwcmVjYXRpb24pIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlOiBtZXNzYWdlKG1vZHVsZURlcHJlY2F0aW9uKSB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGltcG9ydHMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICBpbXBvcnRzLnJlcG9ydEVycm9ycyhjb250ZXh0LCBub2RlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAoaW0pIHtcbiAgICAgICAgbGV0IGltcG9ydGVkOyBsZXQgbG9jYWw7XG4gICAgICAgIHN3aXRjaCAoaW0udHlwZSkge1xuXG5cbiAgICAgICAgY2FzZSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJzp7XG4gICAgICAgICAgaWYgKCFpbXBvcnRzLnNpemUpIHJldHVybjtcbiAgICAgICAgICBuYW1lc3BhY2VzLnNldChpbS5sb2NhbC5uYW1lLCBpbXBvcnRzKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJzpcbiAgICAgICAgICBpbXBvcnRlZCA9ICdkZWZhdWx0JztcbiAgICAgICAgICBsb2NhbCA9IGltLmxvY2FsLm5hbWU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnSW1wb3J0U3BlY2lmaWVyJzpcbiAgICAgICAgICBpbXBvcnRlZCA9IGltLmltcG9ydGVkLm5hbWU7XG4gICAgICAgICAgbG9jYWwgPSBpbS5sb2NhbC5uYW1lO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybjsgLy8gY2FuJ3QgaGFuZGxlIHRoaXMgb25lXG4gICAgICAgIH1cblxuICAgICAgICAvLyB1bmtub3duIHRoaW5nIGNhbid0IGJlIGRlcHJlY2F0ZWRcbiAgICAgICAgY29uc3QgZXhwb3J0ZWQgPSBpbXBvcnRzLmdldChpbXBvcnRlZCk7XG4gICAgICAgIGlmIChleHBvcnRlZCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgLy8gY2FwdHVyZSBpbXBvcnQgb2YgZGVlcCBuYW1lc3BhY2VcbiAgICAgICAgaWYgKGV4cG9ydGVkLm5hbWVzcGFjZSkgbmFtZXNwYWNlcy5zZXQobG9jYWwsIGV4cG9ydGVkLm5hbWVzcGFjZSk7XG5cbiAgICAgICAgY29uc3QgZGVwcmVjYXRpb24gPSBnZXREZXByZWNhdGlvbihpbXBvcnRzLmdldChpbXBvcnRlZCkpO1xuICAgICAgICBpZiAoIWRlcHJlY2F0aW9uKSByZXR1cm47XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBpbSwgbWVzc2FnZTogbWVzc2FnZShkZXByZWNhdGlvbikgfSk7XG5cbiAgICAgICAgZGVwcmVjYXRlZC5zZXQobG9jYWwsIGRlcHJlY2F0aW9uKTtcblxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdQcm9ncmFtJzogKHsgYm9keSB9KSA9PiBib2R5LmZvckVhY2goY2hlY2tTcGVjaWZpZXJzKSxcblxuICAgICAgJ0lkZW50aWZpZXInOiBmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nICYmIG5vZGUucGFyZW50LnByb3BlcnR5ID09PSBub2RlKSB7XG4gICAgICAgICAgcmV0dXJuOyAvLyBoYW5kbGVkIGJ5IE1lbWJlckV4cHJlc3Npb25cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlnbm9yZSBzcGVjaWZpZXIgaWRlbnRpZmllcnNcbiAgICAgICAgaWYgKG5vZGUucGFyZW50LnR5cGUuc2xpY2UoMCwgNikgPT09ICdJbXBvcnQnKSByZXR1cm47XG5cbiAgICAgICAgaWYgKCFkZXByZWNhdGVkLmhhcyhub2RlLm5hbWUpKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGRlY2xhcmVkU2NvcGUoY29udGV4dCwgbm9kZS5uYW1lKSAhPT0gJ21vZHVsZScpIHJldHVybjtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogbWVzc2FnZShkZXByZWNhdGVkLmdldChub2RlLm5hbWUpKSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuXG4gICAgICAnTWVtYmVyRXhwcmVzc2lvbic6IGZ1bmN0aW9uIChkZXJlZmVyZW5jZSkge1xuICAgICAgICBpZiAoZGVyZWZlcmVuY2Uub2JqZWN0LnR5cGUgIT09ICdJZGVudGlmaWVyJykgcmV0dXJuO1xuICAgICAgICBpZiAoIW5hbWVzcGFjZXMuaGFzKGRlcmVmZXJlbmNlLm9iamVjdC5uYW1lKSkgcmV0dXJuO1xuXG4gICAgICAgIGlmIChkZWNsYXJlZFNjb3BlKGNvbnRleHQsIGRlcmVmZXJlbmNlLm9iamVjdC5uYW1lKSAhPT0gJ21vZHVsZScpIHJldHVybjtcblxuICAgICAgICAvLyBnbyBkZWVwXG4gICAgICAgIGxldCBuYW1lc3BhY2UgPSBuYW1lc3BhY2VzLmdldChkZXJlZmVyZW5jZS5vYmplY3QubmFtZSk7XG4gICAgICAgIGNvbnN0IG5hbWVwYXRoID0gW2RlcmVmZXJlbmNlLm9iamVjdC5uYW1lXTtcbiAgICAgICAgLy8gd2hpbGUgcHJvcGVydHkgaXMgbmFtZXNwYWNlIGFuZCBwYXJlbnQgaXMgbWVtYmVyIGV4cHJlc3Npb24sIGtlZXAgdmFsaWRhdGluZ1xuICAgICAgICB3aGlsZSAobmFtZXNwYWNlIGluc3RhbmNlb2YgRXhwb3J0cyAmJlxuICAgICAgICAgICAgICAgZGVyZWZlcmVuY2UudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG5cbiAgICAgICAgICAvLyBpZ25vcmUgY29tcHV0ZWQgcGFydHMgZm9yIG5vd1xuICAgICAgICAgIGlmIChkZXJlZmVyZW5jZS5jb21wdXRlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBuYW1lc3BhY2UuZ2V0KGRlcmVmZXJlbmNlLnByb3BlcnR5Lm5hbWUpO1xuXG4gICAgICAgICAgaWYgKCFtZXRhZGF0YSkgYnJlYWs7XG4gICAgICAgICAgY29uc3QgZGVwcmVjYXRpb24gPSBnZXREZXByZWNhdGlvbihtZXRhZGF0YSk7XG5cbiAgICAgICAgICBpZiAoZGVwcmVjYXRpb24pIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZTogZGVyZWZlcmVuY2UucHJvcGVydHksIG1lc3NhZ2U6IG1lc3NhZ2UoZGVwcmVjYXRpb24pIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN0YXNoIGFuZCBwb3BcbiAgICAgICAgICBuYW1lcGF0aC5wdXNoKGRlcmVmZXJlbmNlLnByb3BlcnR5Lm5hbWUpO1xuICAgICAgICAgIG5hbWVzcGFjZSA9IG1ldGFkYXRhLm5hbWVzcGFjZTtcbiAgICAgICAgICBkZXJlZmVyZW5jZSA9IGRlcmVmZXJlbmNlLnBhcmVudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js b/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js index 951f3b7fe..a5fcb135f 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js @@ -285,4 +285,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kdXBsaWNhdGVzLmpzIl0sIm5hbWVzIjpbImNoZWNrSW1wb3J0cyIsImltcG9ydGVkIiwiY29udGV4dCIsImVudHJpZXMiLCJtb2R1bGUiLCJub2RlcyIsImxlbmd0aCIsIm1lc3NhZ2UiLCJmaXJzdCIsInJlc3QiLCJzb3VyY2VDb2RlIiwiZ2V0U291cmNlQ29kZSIsImZpeCIsImdldEZpeCIsInJlcG9ydCIsIm5vZGUiLCJzb3VyY2UiLCJnZXRDb21tZW50c0JlZm9yZSIsInVuZGVmaW5lZCIsImhhc1Byb2JsZW1hdGljQ29tbWVudHMiLCJoYXNOYW1lc3BhY2UiLCJkZWZhdWx0SW1wb3J0TmFtZXMiLCJTZXQiLCJtYXAiLCJnZXREZWZhdWx0SW1wb3J0TmFtZSIsImZpbHRlciIsIkJvb2xlYW4iLCJzaXplIiwicmVzdFdpdGhvdXRDb21tZW50cyIsInNwZWNpZmllcnMiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJvcGVuQnJhY2UiLCJmaW5kIiwidG9rZW4iLCJpc1B1bmN0dWF0b3IiLCJjbG9zZUJyYWNlIiwiaW1wb3J0Tm9kZSIsInRleHQiLCJzbGljZSIsInJhbmdlIiwiaGFzVHJhaWxpbmdDb21tYSIsImdldFRva2VuQmVmb3JlIiwiaXNFbXB0eSIsImhhc1NwZWNpZmllcnMiLCJ1bm5lY2Vzc2FyeUltcG9ydHMiLCJzb21lIiwic3BlY2lmaWVyIiwic2hvdWxkQWRkRGVmYXVsdCIsInNob3VsZEFkZFNwZWNpZmllcnMiLCJzaG91bGRSZW1vdmVVbm5lY2Vzc2FyeSIsImZpeGVyIiwiZmlyc3RUb2tlbiIsImdldEZpcnN0VG9rZW4iLCJkZWZhdWx0SW1wb3J0TmFtZSIsImZpcnN0SGFzVHJhaWxpbmdDb21tYSIsImZpcnN0SXNFbXB0eSIsInJlZHVjZSIsInJlc3VsdCIsIm5lZWRzQ29tbWEiLCJzcGVjaWZpZXJzVGV4dCIsImZpeGVzIiwicHVzaCIsImluc2VydFRleHRBZnRlciIsImluc2VydFRleHRCZWZvcmUiLCJyZW1vdmUiLCJ2YWx1ZSIsInR5cGUiLCJkZWZhdWx0U3BlY2lmaWVyIiwibG9jYWwiLCJuYW1lIiwiaGFzQ29tbWVudEJlZm9yZSIsImhhc0NvbW1lbnRBZnRlciIsImhhc0NvbW1lbnRJbnNpZGVOb25TcGVjaWZpZXJzIiwiY29tbWVudCIsImxvYyIsImVuZCIsImxpbmUiLCJzdGFydCIsImdldENvbW1lbnRzQWZ0ZXIiLCJvcGVuQnJhY2VJbmRleCIsImZpbmRJbmRleCIsImNsb3NlQnJhY2VJbmRleCIsInNvbWVUb2tlbnMiLCJjb25jYXQiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJmaXhhYmxlIiwic2NoZW1hIiwicHJvcGVydGllcyIsImNvbnNpZGVyUXVlcnlTdHJpbmciLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsImNyZWF0ZSIsImNvbnNpZGVyUXVlcnlTdHJpbmdPcHRpb24iLCJvcHRpb25zIiwiZGVmYXVsdFJlc29sdmVyIiwic291cmNlUGF0aCIsInJlc29sdmVyIiwicGFydHMiLCJtYXRjaCIsIk1hcCIsIm5zSW1wb3J0ZWQiLCJ0eXBlc0ltcG9ydGVkIiwibiIsInJlc29sdmVkUGF0aCIsImltcG9ydE1hcCIsImltcG9ydEtpbmQiLCJoYXMiLCJnZXQiLCJzZXQiXSwibWFwcGluZ3MiOiJxb0JBQUEsc0Q7QUFDQSxxQzs7QUFFQSxTQUFTQSxZQUFULENBQXNCQyxRQUF0QixFQUFnQ0MsT0FBaEMsRUFBeUM7QUFDdkMscUJBQThCRCxTQUFTRSxPQUFULEVBQTlCLEVBQWtELDJDQUF0Q0MsTUFBc0Msa0JBQTlCQyxLQUE4QjtBQUNoRCxRQUFJQSxNQUFNQyxNQUFOLEdBQWUsQ0FBbkIsRUFBc0I7QUFDcEIsWUFBTUMsVUFBVyxJQUFHSCxNQUFPLDRCQUEzQixDQURvQjtBQUVLQyxXQUZMLFFBRWJHLEtBRmEsYUFFSEMsSUFGRztBQUdwQixZQUFNQyxhQUFhUixRQUFRUyxhQUFSLEVBQW5CO0FBQ0EsWUFBTUMsTUFBTUMsT0FBT0wsS0FBUCxFQUFjQyxJQUFkLEVBQW9C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c29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxuZnVuY3Rpb24gY2hlY2tJbXBvcnRzKGltcG9ydGVkLCBjb250ZXh0KSB7XG4gIGZvciAoY29uc3QgW21vZHVsZSwgbm9kZXNdIG9mIGltcG9ydGVkLmVudHJpZXMoKSkge1xuICAgIGlmIChub2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYCcke21vZHVsZX0nIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzLmBcbiAgICAgIGNvbnN0IFtmaXJzdCwgLi4ucmVzdF0gPSBub2Rlc1xuICAgICAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpXG4gICAgICBjb25zdCBmaXggPSBnZXRGaXgoZmlyc3QsIHJlc3QsIHNvdXJjZUNvZGUpXG5cbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZTogZmlyc3Quc291cmNlLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBmaXgsIC8vIEF0dGFjaCB0aGUgYXV0b2ZpeCAoaWYgYW55KSB0byB0aGUgZmlyc3QgaW1wb3J0LlxuICAgICAgfSlcblxuICAgICAgZm9yIChjb25zdCBub2RlIG9mIHJlc3QpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IG5vZGUuc291cmNlLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldEZpeChmaXJzdCwgcmVzdCwgc291cmNlQ29kZSkge1xuICAvLyBTb3JyeSBFU0xpbnQgPD0gMyB1c2Vycywgbm8gYXV0b2ZpeCBmb3IgeW91LiBBdXRvZml4aW5nIGR1cGxpY2F0ZSBpbXBvcnRzXG4gIC8vIHJlcXVpcmVzIG11bHRpcGxlIGBmaXhlci53aGF0ZXZlcigpYCBjYWxscyBpbiB0aGUgYGZpeGA6IFdlIGJvdGggbmVlZCB0b1xuICAvLyB1cGRhdGUgdGhlIGZpcnN0IG9uZSwgYW5kIHJlbW92ZSB0aGUgcmVzdC4gU3VwcG9ydCBmb3IgbXVsdGlwbGVcbiAgLy8gYGZpeGVyLndoYXRldmVyKClgIGluIGEgc2luZ2xlIGBmaXhgIHdhcyBhZGRlZCBpbiBFU0xpbnQgNC4xLlxuICAvLyBgc291cmNlQ29kZS5nZXRDb21tZW50c0JlZm9yZWAgd2FzIGFkZGVkIGluIDQuMCwgc28gdGhhdCdzIGFuIGVhc3kgdGhpbmcgdG9cbiAgLy8gY2hlY2sgZm9yLlxuICBpZiAodHlwZW9mIHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvLyBBZGp1c3RpbmcgdGhlIGZpcnN0IGltcG9ydCBtaWdodCBtYWtlIGl0IG11bHRpbGluZSwgd2hpY2ggY291bGQgYnJlYWtcbiAgLy8gYGVzbGludC1kaXNhYmxlLW5leHQtbGluZWAgY29tbWVudHMgYW5kIHNpbWlsYXIsIHNvIGJhaWwgaWYgdGhlIGZpcnN0XG4gIC8vIGltcG9ydCBoYXMgY29tbWVudHMuIEFsc28sIGlmIHRoZSBmaXJzdCBpbXBvcnQgaXMgYGltcG9ydCAqIGFzIG5zIGZyb21cbiAgLy8gJy4vZm9vJ2AgdGhlcmUncyBub3RoaW5nIHdlIGNhbiBkby5cbiAgaWYgKGhhc1Byb2JsZW1hdGljQ29tbWVudHMoZmlyc3QsIHNvdXJjZUNvZGUpIHx8IGhhc05hbWVzcGFjZShmaXJzdCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBkZWZhdWx0SW1wb3J0TmFtZXMgPSBuZXcgU2V0KFxuICAgIFtmaXJzdCwgLi4ucmVzdF0ubWFwKGdldERlZmF1bHRJbXBvcnROYW1lKS5maWx0ZXIoQm9vbGVhbilcbiAgKVxuXG4gIC8vIEJhaWwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGRpZmZlcmVudCBkZWZhdWx0IGltcG9ydCBuYW1lcyDigJMgaXQncyB1cCB0byB0aGVcbiAgLy8gdXNlciB0byBjaG9vc2Ugd2hpY2ggb25lIHRvIGtlZXAuXG4gIGlmIChkZWZhdWx0SW1wb3J0TmFtZXMuc2l6ZSA+IDEpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvLyBMZWF2ZSBpdCB0byB0aGUgdXNlciB0byBoYW5kbGUgY29tbWVudHMuIEFsc28gc2tpcCBgaW1wb3J0ICogYXMgbnMgZnJvbVxuICAvLyAnLi9mb28nYCBpbXBvcnRzLCBzaW5jZSB0aGV5IGNhbm5vdCBiZSBtZXJnZWQgaW50byBhbm90aGVyIGltcG9ydC5cbiAgY29uc3QgcmVzdFdpdGhvdXRDb21tZW50cyA9IHJlc3QuZmlsdGVyKG5vZGUgPT4gIShcbiAgICBoYXNQcm9ibGVtYXRpY0NvbW1lbnRzKG5vZGUsIHNvdXJjZUNvZGUpIHx8XG4gICAgaGFzTmFtZXNwYWNlKG5vZGUpXG4gICkpXG5cbiAgY29uc3Qgc3BlY2lmaWVycyA9IHJlc3RXaXRob3V0Q29tbWVudHNcbiAgICAubWFwKG5vZGUgPT4ge1xuICAgICAgY29uc3QgdG9rZW5zID0gc291cmNlQ29kZS5nZXRUb2tlbnMobm9kZSlcbiAgICAgIGNvbnN0IG9wZW5CcmFjZSA9IHRva2Vucy5maW5kKHRva2VuID0+IGlzUHVuY3R1YXRvcih0b2tlbiwgJ3snKSlcbiAgICAgIGNvbnN0IGNsb3NlQnJhY2UgPSB0b2tlbnMuZmluZCh0b2tlbiA9PiBpc1B1bmN0dWF0b3IodG9rZW4sICd9JykpXG5cbiAgICAgIGlmIChvcGVuQnJhY2UgPT0gbnVsbCB8fCBjbG9zZUJyYWNlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbXBvcnROb2RlOiBub2RlLFxuICAgICAgICB0ZXh0OiBzb3VyY2VDb2RlLnRleHQuc2xpY2Uob3BlbkJyYWNlLnJhbmdlWzFdLCBjbG9zZUJyYWNlLnJhbmdlWzBdKSxcbiAgICAgICAgaGFzVHJhaWxpbmdDb21tYTogaXNQdW5jdHVhdG9yKHNvdXJjZUNvZGUuZ2V0VG9rZW5CZWZvcmUoY2xvc2VCcmFjZSksICcsJyksXG4gICAgICAgIGlzRW1wdHk6ICFoYXNTcGVjaWZpZXJzKG5vZGUpLFxuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcihCb29sZWFuKVxuXG4gIGNvbnN0IHVubmVjZXNzYXJ5SW1wb3J0cyA9IHJlc3RXaXRob3V0Q29tbWVudHMuZmlsdGVyKG5vZGUgPT5cbiAgICAhaGFzU3BlY2lmaWVycyhub2RlKSAmJlxuICAgICFoYXNOYW1lc3BhY2Uobm9kZSkgJiZcbiAgICAhc3BlY2lmaWVycy5zb21lKHNwZWNpZmllciA9PiBzcGVjaWZpZXIuaW1wb3J0Tm9kZSA9PT0gbm9kZSlcbiAgKVxuXG4gIGNvbnN0IHNob3VsZEFkZERlZmF1bHQgPSBnZXREZWZhdWx0SW1wb3J0TmFtZShmaXJzdCkgPT0gbnVsbCAmJiBkZWZhdWx0SW1wb3J0TmFtZXMuc2l6ZSA9PT0gMVxuICBjb25zdCBzaG91bGRBZGRTcGVjaWZpZXJzID0gc3BlY2lmaWVycy5sZW5ndGggPiAwXG4gIGNvbnN0IHNob3VsZFJlbW92ZVVubmVjZXNzYXJ5ID0gdW5uZWNlc3NhcnlJbXBvcnRzLmxlbmd0aCA+IDBcblxuICBpZiAoIShzaG91bGRBZGREZWZhdWx0IHx8IHNob3VsZEFkZFNwZWNpZmllcnMgfHwgc2hvdWxkUmVtb3ZlVW5uZWNlc3NhcnkpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgcmV0dXJuIGZpeGVyID0+IHtcbiAgICBjb25zdCB0b2tlbnMgPSBzb3VyY2VDb2RlLmdldFRva2VucyhmaXJzdClcbiAgICBjb25zdCBvcGVuQnJhY2UgPSB0b2tlbnMuZmluZCh0b2tlbiA9PiBpc1B1bmN0dWF0b3IodG9rZW4sICd7JykpXG4gICAgY29uc3QgY2xvc2VCcmFjZSA9IHRva2Vucy5maW5kKHRva2VuID0+IGlzUHVuY3R1YXRvcih0b2tlbiwgJ30nKSlcbiAgICBjb25zdCBmaXJzdFRva2VuID0gc291cmNlQ29kZS5nZXRGaXJzdFRva2VuKGZpcnN0KVxuICAgIGNvbnN0IFtkZWZhdWx0SW1wb3J0TmFtZV0gPSBkZWZhdWx0SW1wb3J0TmFtZXNcblxuICAgIGNvbnN0IGZpcnN0SGFzVHJhaWxpbmdDb21tYSA9XG4gICAgICBjbG9zZUJyYWNlICE9IG51bGwgJiZcbiAgICAgIGlzUHVuY3R1YXRvcihzb3VyY2VDb2RlLmdldFRva2VuQmVmb3JlKGNsb3NlQnJhY2UpLCAnLCcpXG4gICAgY29uc3QgZmlyc3RJc0VtcHR5ID0gIWhhc1NwZWNpZmllcnMoZmlyc3QpXG5cbiAgICBjb25zdCBbc3BlY2lmaWVyc1RleHRdID0gc3BlY2lmaWVycy5yZWR1Y2UoXG4gICAgICAoW3Jlc3VsdCwgbmVlZHNDb21tYV0sIHNwZWNpZmllcikgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIG5lZWRzQ29tbWEgJiYgIXNwZWNpZmllci5pc0VtcHR5XG4gICAgICAgICAgICA/IGAke3Jlc3VsdH0sJHtzcGVjaWZpZXIudGV4dH1gXG4gICAgICAgICAgICA6IGAke3Jlc3VsdH0ke3NwZWNpZmllci50ZXh0fWAsXG4gICAgICAgICAgc3BlY2lmaWVyLmlzRW1wdHkgPyBuZWVkc0NvbW1hIDogdHJ1ZSxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFsnJywgIWZpcnN0SGFzVHJhaWxpbmdDb21tYSAmJiAhZmlyc3RJc0VtcHR5XVxuICAgIClcblxuICAgIGNvbnN0IGZpeGVzID0gW11cblxuICAgIGlmIChzaG91bGRBZGREZWZhdWx0ICYmIG9wZW5CcmFjZSA9PSBudWxsICYmIHNob3VsZEFkZFNwZWNpZmllcnMpIHtcbiAgICAgIC8vIGBpbXBvcnQgJy4vZm9vJ2Ag4oaSIGBpbXBvcnQgZGVmLCB7Li4ufSBmcm9tICcuL2ZvbydgXG4gICAgICBmaXhlcy5wdXNoKFxuICAgICAgICBmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoZmlyc3RUb2tlbiwgYCAke2RlZmF1bHRJbXBvcnROYW1lfSwgeyR7c3BlY2lmaWVyc1RleHR9fSBmcm9tYClcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHNob3VsZEFkZERlZmF1bHQgJiYgb3BlbkJyYWNlID09IG51bGwgJiYgIXNob3VsZEFkZFNwZWNpZmllcnMpIHtcbiAgICAgIC8vIGBpbXBvcnQgJy4vZm9vJ2Ag4oaSIGBpbXBvcnQgZGVmIGZyb20gJy4vZm9vJ2BcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGZpcnN0VG9rZW4sIGAgJHtkZWZhdWx0SW1wb3J0TmFtZX0gZnJvbWApKVxuICAgIH0gZWxzZSBpZiAoc2hvdWxkQWRkRGVmYXVsdCAmJiBvcGVuQnJhY2UgIT0gbnVsbCAmJiBjbG9zZUJyYWNlICE9IG51bGwpIHtcbiAgICAgIC8vIGBpbXBvcnQgey4uLn0gZnJvbSAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYsIHsuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGZpcnN0VG9rZW4sIGAgJHtkZWZhdWx0SW1wb3J0TmFtZX0sYCkpXG4gICAgICBpZiAoc2hvdWxkQWRkU3BlY2lmaWVycykge1xuICAgICAgICAvLyBgaW1wb3J0IGRlZiwgey4uLn0gZnJvbSAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYsIHsuLi4sIC4uLn0gZnJvbSAnLi9mb28nYFxuICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLmluc2VydFRleHRCZWZvcmUoY2xvc2VCcmFjZSwgc3BlY2lmaWVyc1RleHQpKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXNob3VsZEFkZERlZmF1bHQgJiYgb3BlbkJyYWNlID09IG51bGwgJiYgc2hvdWxkQWRkU3BlY2lmaWVycykge1xuICAgICAgaWYgKGZpcnN0LnNwZWNpZmllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIGBpbXBvcnQgJy4vZm9vJ2Ag4oaSIGBpbXBvcnQgey4uLn0gZnJvbSAnLi9mb28nYFxuICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLmluc2VydFRleHRBZnRlcihmaXJzdFRva2VuLCBgIHske3NwZWNpZmllcnNUZXh0fX0gZnJvbWApKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYGltcG9ydCBkZWYgZnJvbSAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYsIHsuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoZmlyc3Quc3BlY2lmaWVyc1swXSwgYCwgeyR7c3BlY2lmaWVyc1RleHR9fWApKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXNob3VsZEFkZERlZmF1bHQgJiYgb3BlbkJyYWNlICE9IG51bGwgJiYgY2xvc2VCcmFjZSAhPSBudWxsKSB7XG4gICAgICAvLyBgaW1wb3J0IHsuLi59ICcuL2ZvbydgIOKGkiBgaW1wb3J0IHsuLi4sIC4uLn0gZnJvbSAnLi9mb28nYFxuICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QmVmb3JlKGNsb3NlQnJhY2UsIHNwZWNpZmllcnNUZXh0KSlcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgaW1wb3J0cyB3aG9zZSBzcGVjaWZpZXJzIGhhdmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBmaXJzdCBpbXBvcnQuXG4gICAgZm9yIChjb25zdCBzcGVjaWZpZXIgb2Ygc3BlY2lmaWVycykge1xuICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmUoc3BlY2lmaWVyLmltcG9ydE5vZGUpKVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBpbXBvcnRzIHdob3NlIGRlZmF1bHQgaW1wb3J0IGhhcyBiZWVuIG1vdmVkIHRvIHRoZSBmaXJzdCBpbXBvcnQsXG4gICAgLy8gYW5kIHNpZGUtZWZmZWN0LW9ubHkgaW1wb3J0cyB0aGF0IGFyZSB1bm5lY2Vzc2FyeSBkdWUgdG8gdGhlIGZpcnN0XG4gICAgLy8gaW1wb3J0LlxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiB1bm5lY2Vzc2FyeUltcG9ydHMpIHtcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlKG5vZGUpKVxuICAgIH1cblxuICAgIHJldHVybiBmaXhlc1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzUHVuY3R1YXRvcihub2RlLCB2YWx1ZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnUHVuY3R1YXRvcicgJiYgbm9kZS52YWx1ZSA9PT0gdmFsdWVcbn1cblxuLy8gR2V0IHRoZSBuYW1lIG9mIHRoZSBkZWZhdWx0IGltcG9ydCBvZiBgbm9kZWAsIGlmIGFueS5cbmZ1bmN0aW9uIGdldERlZmF1bHRJbXBvcnROYW1lKG5vZGUpIHtcbiAgY29uc3QgZGVmYXVsdFNwZWNpZmllciA9IG5vZGUuc3BlY2lmaWVyc1xuICAgIC5maW5kKHNwZWNpZmllciA9PiBzcGVjaWZpZXIudHlwZSA9PT0gJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInKVxuICByZXR1cm4gZGVmYXVsdFNwZWNpZmllciAhPSBudWxsID8gZGVmYXVsdFNwZWNpZmllci5sb2NhbC5uYW1lIDogdW5kZWZpbmVkXG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGBub2RlYCBoYXMgYSBuYW1lc3BhY2UgaW1wb3J0LlxuZnVuY3Rpb24gaGFzTmFtZXNwYWNlKG5vZGUpIHtcbiAgY29uc3Qgc3BlY2lmaWVycyA9IG5vZGUuc3BlY2lmaWVyc1xuICAgIC5maWx0ZXIoc3BlY2lmaWVyID0+IHNwZWNpZmllci50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJylcbiAgcmV0dXJuIHNwZWNpZmllcnMubGVuZ3RoID4gMFxufVxuXG4vLyBDaGVja3Mgd2hldGhlciBgbm9kZWAgaGFzIGFueSBub24tZGVmYXVsdCBzcGVjaWZpZXJzLlxuZnVuY3Rpb24gaGFzU3BlY2lmaWVycyhub2RlKSB7XG4gIGNvbnN0IHNwZWNpZmllcnMgPSBub2RlLnNwZWNpZmllcnNcbiAgICAuZmlsdGVyKHNwZWNpZmllciA9PiBzcGVjaWZpZXIudHlwZSA9PT0gJ0ltcG9ydFNwZWNpZmllcicpXG4gIHJldHVybiBzcGVjaWZpZXJzLmxlbmd0aCA+IDBcbn1cblxuLy8gSXQncyBub3Qgb2J2aW91cyB3aGF0IHRoZSB1c2VyIHdhbnRzIHRvIGRvIHdpdGggY29tbWVudHMgYXNzb2NpYXRlZCB3aXRoXG4vLyBkdXBsaWNhdGUgaW1wb3J0cywgc28gc2tpcCBpbXBvcnRzIHdpdGggY29tbWVudHMgd2hlbiBhdXRvZml4aW5nLlxuZnVuY3Rpb24gaGFzUHJvYmxlbWF0aWNDb21tZW50cyhub2RlLCBzb3VyY2VDb2RlKSB7XG4gIHJldHVybiAoXG4gICAgaGFzQ29tbWVudEJlZm9yZShub2RlLCBzb3VyY2VDb2RlKSB8fFxuICAgIGhhc0NvbW1lbnRBZnRlcihub2RlLCBzb3VyY2VDb2RlKSB8fFxuICAgIGhhc0NvbW1lbnRJbnNpZGVOb25TcGVjaWZpZXJzKG5vZGUsIHNvdXJjZUNvZGUpXG4gIClcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYG5vZGVgIGhhcyBhIGNvbW1lbnQgKHRoYXQgZW5kcykgb24gdGhlIHByZXZpb3VzIGxpbmUgb3Igb25cbi8vIHRoZSBzYW1lIGxpbmUgYXMgYG5vZGVgIChzdGFydHMpLlxuZnVuY3Rpb24gaGFzQ29tbWVudEJlZm9yZShub2RlLCBzb3VyY2VDb2RlKSB7XG4gIHJldHVybiBzb3VyY2VDb2RlLmdldENvbW1lbnRzQmVmb3JlKG5vZGUpXG4gICAgLnNvbWUoY29tbWVudCA9PiBjb21tZW50LmxvYy5lbmQubGluZSA+PSBub2RlLmxvYy5zdGFydC5saW5lIC0gMSlcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYG5vZGVgIGhhcyBhIGNvbW1lbnQgKHRoYXQgc3RhcnRzKSBvbiB0aGUgc2FtZSBsaW5lIGFzIGBub2RlYFxuLy8gKGVuZHMpLlxuZnVuY3Rpb24gaGFzQ29tbWVudEFmdGVyKG5vZGUsIHNvdXJjZUNvZGUpIHtcbiAgcmV0dXJuIHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNBZnRlcihub2RlKVxuICAgIC5zb21lKGNvbW1lbnQgPT4gY29tbWVudC5sb2Muc3RhcnQubGluZSA9PT0gbm9kZS5sb2MuZW5kLmxpbmUpXG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGBub2RlYCBoYXMgYW55IGNvbW1lbnRzIF9pbnNpZGUsXyBleGNlcHQgaW5zaWRlIHRoZSBgey4uLn1gXG4vLyBwYXJ0IChpZiBhbnkpLlxuZnVuY3Rpb24gaGFzQ29tbWVudEluc2lkZU5vblNwZWNpZmllcnMobm9kZSwgc291cmNlQ29kZSkge1xuICBjb25zdCB0b2tlbnMgPSBzb3VyY2VDb2RlLmdldFRva2Vucyhub2RlKVxuICBjb25zdCBvcGVuQnJhY2VJbmRleCA9IHRva2Vucy5maW5kSW5kZXgodG9rZW4gPT4gaXNQdW5jdHVhdG9yKHRva2VuLCAneycpKVxuICBjb25zdCBjbG9zZUJyYWNlSW5kZXggPSB0b2tlbnMuZmluZEluZGV4KHRva2VuID0+IGlzUHVuY3R1YXRvcih0b2tlbiwgJ30nKSlcbiAgLy8gU2xpY2UgYXdheSB0aGUgZmlyc3QgdG9rZW4sIHNpbmNlIHdlJ3JlIG5vIGxvb2tpbmcgZm9yIGNvbW1lbnRzIF9iZWZvcmVfXG4gIC8vIGBub2RlYCAob25seSBpbnNpZGUpLiBJZiB0aGVyZSdzIGEgYHsuLi59YCBwYXJ0LCBsb29rIGZvciBjb21tZW50cyBiZWZvcmVcbiAgLy8gdGhlIGB7YCwgYnV0IG5vdCBiZWZvcmUgdGhlIGB9YCAoaGVuY2UgdGhlIGArMWBzKS5cbiAgY29uc3Qgc29tZVRva2VucyA9IG9wZW5CcmFjZUluZGV4ID49IDAgJiYgY2xvc2VCcmFjZUluZGV4ID49IDBcbiAgICA/IHRva2Vucy5zbGljZSgxLCBvcGVuQnJhY2VJbmRleCArIDEpLmNvbmNhdCh0b2tlbnMuc2xpY2UoY2xvc2VCcmFjZUluZGV4ICsgMSkpXG4gICAgOiB0b2tlbnMuc2xpY2UoMSlcbiAgcmV0dXJuIHNvbWVUb2tlbnMuc29tZSh0b2tlbiA9PiBzb3VyY2VDb2RlLmdldENvbW1lbnRzQmVmb3JlKHRva2VuKS5sZW5ndGggPiAwKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWR1cGxpY2F0ZXMnKSxcbiAgICB9LFxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBjb25zaWRlclF1ZXJ5U3RyaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAvLyBQcmVwYXJlIHRoZSByZXNvbHZlciBmcm9tIG9wdGlvbnMuXG4gICAgY29uc3QgY29uc2lkZXJRdWVyeVN0cmluZ09wdGlvbiA9IGNvbnRleHQub3B0aW9uc1swXSAmJlxuICAgICAgY29udGV4dC5vcHRpb25zWzBdWydjb25zaWRlclF1ZXJ5U3RyaW5nJ11cbiAgICBjb25zdCBkZWZhdWx0UmVzb2x2ZXIgPSBzb3VyY2VQYXRoID0+IHJlc29sdmUoc291cmNlUGF0aCwgY29udGV4dCkgfHwgc291cmNlUGF0aFxuICAgIGNvbnN0IHJlc29sdmVyID0gY29uc2lkZXJRdWVyeVN0cmluZ09wdGlvbiA/IChzb3VyY2VQYXRoID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gc291cmNlUGF0aC5tYXRjaCgvXihbXj9dKilcXD8oLiopJC8pXG4gICAgICBpZiAoIXBhcnRzKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0UmVzb2x2ZXIoc291cmNlUGF0aClcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWZhdWx0UmVzb2x2ZXIocGFydHNbMV0pICsgJz8nICsgcGFydHNbMl1cbiAgICB9KSA6IGRlZmF1bHRSZXNvbHZlclxuXG4gICAgY29uc3QgaW1wb3J0ZWQgPSBuZXcgTWFwKClcbiAgICBjb25zdCBuc0ltcG9ydGVkID0gbmV3IE1hcCgpXG4gICAgY29uc3QgdHlwZXNJbXBvcnRlZCA9IG5ldyBNYXAoKVxuICAgIHJldHVybiB7XG4gICAgICAnSW1wb3J0RGVjbGFyYXRpb24nOiBmdW5jdGlvbiAobikge1xuICAgICAgICAvLyByZXNvbHZlZCBwYXRoIHdpbGwgY292ZXIgYWxpYXNlZCBkdXBsaWNhdGVzXG4gICAgICAgIGNvbnN0IHJlc29sdmVkUGF0aCA9IHJlc29sdmVyKG4uc291cmNlLnZhbHVlKVxuICAgICAgICBjb25zdCBpbXBvcnRNYXAgPSBuLmltcG9ydEtpbmQgPT09ICd0eXBlJyA/IHR5cGVzSW1wb3J0ZWQgOlxuICAgICAgICAgIChoYXNOYW1lc3BhY2UobikgPyBuc0ltcG9ydGVkIDogaW1wb3J0ZWQpXG5cbiAgICAgICAgaWYgKGltcG9ydE1hcC5oYXMocmVzb2x2ZWRQYXRoKSkge1xuICAgICAgICAgIGltcG9ydE1hcC5nZXQocmVzb2x2ZWRQYXRoKS5wdXNoKG4pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW1wb3J0TWFwLnNldChyZXNvbHZlZFBhdGgsIFtuXSlcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2hlY2tJbXBvcnRzKGltcG9ydGVkLCBjb250ZXh0KVxuICAgICAgICBjaGVja0ltcG9ydHMobnNJbXBvcnRlZCwgY29udGV4dClcbiAgICAgICAgY2hlY2tJbXBvcnRzKHR5cGVzSW1wb3J0ZWQsIGNvbnRleHQpXG4gICAgICB9LFxuICAgIH1cbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1kdXBsaWNhdGVzLmpzIl0sIm5hbWVzIjpbImNoZWNrSW1wb3J0cyIsImltcG9ydGVkIiwiY29udGV4dCIsImVudHJpZXMiLCJtb2R1bGUiLCJub2RlcyIsImxlbmd0aCIsIm1lc3NhZ2UiLCJmaXJzdCIsInJlc3QiLCJzb3VyY2VDb2RlIiwiZ2V0U291cmNlQ29kZSIsImZpeCIsImdldEZpeCIsInJlcG9ydCIsIm5vZGUiLCJzb3VyY2UiLCJnZXRDb21tZW50c0JlZm9yZSIsInVuZGVmaW5lZCIsImhhc1Byb2JsZW1hdGljQ29tbWVudHMiLCJoYXNOYW1lc3BhY2UiLCJkZWZhdWx0SW1wb3J0TmFtZXMiLCJTZXQiLCJtYXAiLCJnZXREZWZhdWx0SW1wb3J0TmFtZSIsImZpbHRlciIsIkJvb2xlYW4iLCJzaXplIiwicmVzdFdpdGhvdXRDb21tZW50cyIsInNwZWNpZmllcnMiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJvcGVuQnJhY2UiLCJmaW5kIiwidG9rZW4iLCJpc1B1bmN0dWF0b3IiLCJjbG9zZUJyYWNlIiwiaW1wb3J0Tm9kZSIsInRleHQiLCJzbGljZSIsInJhbmdlIiwiaGFzVHJhaWxpbmdDb21tYSIsImdldFRva2VuQmVmb3JlIiwiaXNFbXB0eSIsImhhc1NwZWNpZmllcnMiLCJ1bm5lY2Vzc2FyeUltcG9ydHMiLCJzb21lIiwic3BlY2lmaWVyIiwic2hvdWxkQWRkRGVmYXVsdCIsInNob3VsZEFkZFNwZWNpZmllcnMiLCJzaG91bGRSZW1vdmVVbm5lY2Vzc2FyeSIsImZpeGVyIiwiZmlyc3RUb2tlbiIsImdldEZpcnN0VG9rZW4iLCJkZWZhdWx0SW1wb3J0TmFtZSIsImZpcnN0SGFzVHJhaWxpbmdDb21tYSIsImZpcnN0SXNFbXB0eSIsInJlZHVjZSIsInJlc3VsdCIsIm5lZWRzQ29tbWEiLCJzcGVjaWZpZXJzVGV4dCIsImZpeGVzIiwicHVzaCIsImluc2VydFRleHRBZnRlciIsImluc2VydFRleHRCZWZvcmUiLCJyZW1vdmUiLCJ2YWx1ZSIsInR5cGUiLCJkZWZhdWx0U3BlY2lmaWVyIiwibG9jYWwiLCJuYW1lIiwiaGFzQ29tbWVudEJlZm9yZSIsImhhc0NvbW1lbnRBZnRlciIsImhhc0NvbW1lbnRJbnNpZGVOb25TcGVjaWZpZXJzIiwiY29tbWVudCIsImxvYyIsImVuZCIsImxpbmUiLCJzdGFydCIsImdldENvbW1lbnRzQWZ0ZXIiLCJvcGVuQnJhY2VJbmRleCIsImZpbmRJbmRleCIsImNsb3NlQnJhY2VJbmRleCIsInNvbWVUb2tlbnMiLCJjb25jYXQiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJmaXhhYmxlIiwic2NoZW1hIiwicHJvcGVydGllcyIsImNvbnNpZGVyUXVlcnlTdHJpbmciLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsImNyZWF0ZSIsImNvbnNpZGVyUXVlcnlTdHJpbmdPcHRpb24iLCJvcHRpb25zIiwiZGVmYXVsdFJlc29sdmVyIiwic291cmNlUGF0aCIsInJlc29sdmVyIiwicGFydHMiLCJtYXRjaCIsIk1hcCIsIm5zSW1wb3J0ZWQiLCJ0eXBlc0ltcG9ydGVkIiwibiIsInJlc29sdmVkUGF0aCIsImltcG9ydE1hcCIsImltcG9ydEtpbmQiLCJoYXMiLCJnZXQiLCJzZXQiXSwibWFwcGluZ3MiOiJxb0JBQUEsc0Q7QUFDQSxxQzs7QUFFQSxTQUFTQSxZQUFULENBQXNCQyxRQUF0QixFQUFnQ0MsT0FBaEMsRUFBeUM7QUFDdkMscUJBQThCRCxTQUFTRSxPQUFULEVBQTlCLEVBQWtELDJDQUF0Q0MsTUFBc0Msa0JBQTlCQyxLQUE4QjtBQUNoRCxRQUFJQSxNQUFNQyxNQUFOLEdBQWUsQ0FBbkIsRUFBc0I7QUFDcEIsWUFBTUMsVUFBVyxJQUFHSCxNQUFPLDRCQUEzQixDQURvQjtBQUVLQyxXQUZMLFFBRWJHLEtBRmEsYUFFSEMsSUFGRztBQUdwQixZQUFNQyxhQUFhUixRQUFRUyxhQUFSLEVBQW5CO0FBQ0EsWUFBTUMsTUFBTUMsT0FBT0wsS0FBUCxFQUFjQyxJQUFkLEVBQW9CQyxVQUFwQixDQUFaOztBQUVBUixjQUFRWSxNQUFSLENBQWU7QUFDYkMsY0FBTVAsTUFBTVEsTUFEQztBQUViVCxlQUZhO0FBR2JLLFdBSGEsQ0FHUjtBQUhRLE9BQWY7O0FBTUEsV0FBSyxNQUFNRyxJQUFYLElBQW1CTixJQUFuQixFQUF5QjtBQUN2QlAsZ0JBQVFZLE1BQVIsQ0FBZTtBQUNiQyxnQkFBTUEsS0FBS0MsTUFERTtBQUViVCxpQkFGYSxFQUFmOztBQUlEO0FBQ0Y7QUFDRjtBQUNGOztBQUVELFNBQVNNLE1BQVQsQ0FBZ0JMLEtBQWhCLEVBQXVCQyxJQUF2QixFQUE2QkMsVUFBN0IsRUFBeUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSSxPQUFPQSxXQUFXTyxpQkFBbEIsS0FBd0MsVUFBNUMsRUFBd0Q7QUFDdEQsV0FBT0MsU0FBUDtBQUNEOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSUMsdUJBQXVCWCxLQUF2QixFQUE4QkUsVUFBOUIsS0FBNkNVLGFBQWFaLEtBQWIsQ0FBakQsRUFBc0U7QUFDcEUsV0FBT1UsU0FBUDtBQUNEOztBQUVELFFBQU1HLHFCQUFxQixJQUFJQyxHQUFKO0FBQ3pCLEdBQUNkLEtBQUQsNEJBQVdDLElBQVgsR0FBaUJjLEdBQWpCLENBQXFCQyxvQkFBckIsRUFBMkNDLE1BQTNDLENBQWtEQyxPQUFsRCxDQUR5QixDQUEzQjs7O0FBSUE7QUFDQTtBQUNBLE1BQUlMLG1CQUFtQk0sSUFBbkIsR0FBMEIsQ0FBOUIsRUFBaUM7QUFDL0IsV0FBT1QsU0FBUDtBQUNEOztBQUVEO0FBQ0E7QUFDQSxRQUFNVSxzQkFBc0JuQixLQUFLZ0IsTUFBTCxDQUFZVixRQUFRO0FBQzlDSSx5QkFBdUJKLElBQXZCLEVBQTZCTCxVQUE3QjtBQUNBVSxlQUFhTCxJQUFiLENBRjhDLENBQXBCLENBQTVCOzs7QUFLQSxRQUFNYyxhQUFhRDtBQUNoQkwsS0FEZ0IsQ0FDWlIsUUFBUTtBQUNYLFVBQU1lLFNBQVNwQixXQUFXcUIsU0FBWCxDQUFxQmhCLElBQXJCLENBQWY7QUFDQSxVQUFNaUIsWUFBWUYsT0FBT0csSUFBUCxDQUFZQyxTQUFTQyxhQUFhRCxLQUFiLEVBQW9CLEdBQXBCLENBQXJCLENBQWxCO0FBQ0EsVUFBTUUsYUFBYU4sT0FBT0csSUFBUCxDQUFZQyxTQUFTQyxhQUFhRCxLQUFiLEVBQW9CLEdBQXBCLENBQXJCLENBQW5COztBQUVBLFFBQUlGLGFBQWEsSUFBYixJQUFxQkksY0FBYyxJQUF2QyxFQUE2QztBQUMzQyxhQUFPbEIsU0FBUDtBQUNEOztBQUVELFdBQU87QUFDTG1CLGtCQUFZdEIsSUFEUDtBQUVMdUIsWUFBTTVCLFdBQVc0QixJQUFYLENBQWdCQyxLQUFoQixDQUFzQlAsVUFBVVEsS0FBVixDQUFnQixDQUFoQixDQUF0QixFQUEwQ0osV0FBV0ksS0FBWCxDQUFpQixDQUFqQixDQUExQyxDQUZEO0FBR0xDLHdCQUFrQk4sYUFBYXpCLFdBQVdnQyxjQUFYLENBQTBCTixVQUExQixDQUFiLEVBQW9ELEdBQXBELENBSGI7QUFJTE8sZUFBUyxDQUFDQyxjQUFjN0IsSUFBZCxDQUpMLEVBQVA7O0FBTUQsR0FoQmdCO0FBaUJoQlUsUUFqQmdCLENBaUJUQyxPQWpCUyxDQUFuQjs7QUFtQkEsUUFBTW1CLHFCQUFxQmpCLG9CQUFvQkgsTUFBcEIsQ0FBMkJWO0FBQ3BELEdBQUM2QixjQUFjN0IsSUFBZCxDQUFEO0FBQ0EsR0FBQ0ssYUFBYUwsSUFBYixDQUREO0FBRUEsR0FBQ2MsV0FBV2lCLElBQVgsQ0FBZ0JDLGFBQWFBLFVBQVVWLFVBQVYsS0FBeUJ0QixJQUF0RCxDQUh3QixDQUEzQjs7O0FBTUEsUUFBTWlDLG1CQUFtQnhCLHFCQUFxQmhCLEtBQXJCLEtBQStCLElBQS9CLElBQXVDYSxtQkFBbUJNLElBQW5CLEtBQTRCLENBQTVGO0FBQ0EsUUFBTXNCLHNCQUFzQnBCLFdBQVd2QixNQUFYLEdBQW9CLENBQWhEO0FBQ0EsUUFBTTRDLDBCQUEwQkwsbUJBQW1CdkMsTUFBbkIsR0FBNEIsQ0FBNUQ7O0FBRUEsTUFBSSxFQUFFMEMsb0JBQW9CQyxtQkFBcEIsSUFBMkNDLHVCQUE3QyxDQUFKLEVBQTJFO0FBQ3pFLFdBQU9oQyxTQUFQO0FBQ0Q7O0FBRUQsU0FBT2lDLFNBQVM7QUFDZCxVQUFNckIsU0FBU3BCLFdBQVdxQixTQUFYLENBQXFCdkIsS0FBckIsQ0FBZjtBQUNBLFVBQU13QixZQUFZRixPQUFPRyxJQUFQLENBQVlDLFNBQVNDLGFBQWFELEtBQWIsRUFBb0IsR0FBcEIsQ0FBckIsQ0FBbEI7QUFDQSxVQUFNRSxhQUFhTixPQUFPRyxJQUFQLENBQVlDLFNBQVNDLGFBQWFELEtBQWIsRUFBb0IsR0FBcEIsQ0FBckIsQ0FBbkI7QUFDQSxVQUFNa0IsYUFBYTFDLFdBQVcyQyxhQUFYLENBQXlCN0MsS0FBekIsQ0FBbkIsQ0FKYztBQUtjYSxzQkFMZCxXQUtQaUMsaUJBTE87O0FBT2QsVUFBTUM7QUFDSm5CLGtCQUFjLElBQWQ7QUFDQUQsaUJBQWF6QixXQUFXZ0MsY0FBWCxDQUEwQk4sVUFBMUIsQ0FBYixFQUFvRCxHQUFwRCxDQUZGO0FBR0EsVUFBTW9CLGVBQWUsQ0FBQ1osY0FBY3BDLEtBQWQsQ0FBdEIsQ0FWYzs7QUFZV3FCLGVBQVc0QixNQUFYO0FBQ3ZCLFlBQXVCVixTQUF2QixLQUFxQywwQ0FBbkNXLE1BQW1DLFlBQTNCQyxVQUEyQjtBQUNuQyxhQUFPO0FBQ0xBLG9CQUFjLENBQUNaLFVBQVVKLE9BQXpCO0FBQ0ssU0FBRWUsTUFBTyxJQUFHWCxVQUFVVCxJQUFLLEVBRGhDO0FBRUssU0FBRW9CLE1BQU8sR0FBRVgsVUFBVVQsSUFBSyxFQUgxQjtBQUlMUyxnQkFBVUosT0FBVixHQUFvQmdCLFVBQXBCLEdBQWlDLElBSjVCLENBQVA7O0FBTUQsS0FSc0I7QUFTdkIsS0FBQyxFQUFELEVBQUssQ0FBQ0oscUJBQUQsSUFBMEIsQ0FBQ0MsWUFBaEMsQ0FUdUIsQ0FaWCxtRUFZUEksY0FaTzs7O0FBd0JkLFVBQU1DLFFBQVEsRUFBZDs7QUFFQSxRQUFJYixvQkFBb0JoQixhQUFhLElBQWpDLElBQXlDaUIsbUJBQTdDLEVBQWtFO0FBQ2hFO0FBQ0FZLFlBQU1DLElBQU47QUFDRVgsWUFBTVksZUFBTixDQUFzQlgsVUFBdEIsRUFBbUMsSUFBR0UsaUJBQWtCLE1BQUtNLGNBQWUsUUFBNUUsQ0FERjs7QUFHRCxLQUxELE1BS08sSUFBSVosb0JBQW9CaEIsYUFBYSxJQUFqQyxJQUF5QyxDQUFDaUIsbUJBQTlDLEVBQW1FO0FBQ3hFO0FBQ0FZLFlBQU1DLElBQU4sQ0FBV1gsTUFBTVksZUFBTixDQUFzQlgsVUFBdEIsRUFBbUMsSUFBR0UsaUJBQWtCLE9BQXhELENBQVg7QUFDRCxLQUhNLE1BR0EsSUFBSU4sb0JBQW9CaEIsYUFBYSxJQUFqQyxJQUF5Q0ksY0FBYyxJQUEzRCxFQUFpRTtBQUN0RTtBQUNBeUIsWUFBTUMsSUFBTixDQUFXWCxNQUFNWSxlQUFOLENBQXNCWCxVQUF0QixFQUFtQyxJQUFHRSxpQkFBa0IsR0FBeEQsQ0FBWDtBQUNBLFVBQUlMLG1CQUFKLEVBQXlCO0FBQ3ZCO0FBQ0FZLGNBQU1DLElBQU4sQ0FBV1gsTUFBTWEsZ0JBQU4sQ0FBdUI1QixVQUF2QixFQUFtQ3dCLGNBQW5DLENBQVg7QUFDRDtBQUNGLEtBUE0sTUFPQSxJQUFJLENBQUNaLGdCQUFELElBQXFCaEIsYUFBYSxJQUFsQyxJQUEwQ2lCLG1CQUE5QyxFQUFtRTtBQUN4RSxVQUFJekMsTUFBTXFCLFVBQU4sQ0FBaUJ2QixNQUFqQixLQUE0QixDQUFoQyxFQUFtQztBQUNqQztBQUNBdUQsY0FBTUMsSUFBTixDQUFXWCxNQUFNWSxlQUFOLENBQXNCWCxVQUF0QixFQUFtQyxLQUFJUSxjQUFlLFFBQXRELENBQVg7QUFDRCxPQUhELE1BR087QUFDTDtBQUNBQyxjQUFNQyxJQUFOLENBQVdYLE1BQU1ZLGVBQU4sQ0FBc0J2RCxNQUFNcUIsVUFBTixDQUFpQixDQUFqQixDQUF0QixFQUE0QyxNQUFLK0IsY0FBZSxHQUFoRSxDQUFYO0FBQ0Q7QUFDRixLQVJNLE1BUUEsSUFBSSxDQUFDWixnQkFBRCxJQUFxQmhCLGFBQWEsSUFBbEMsSUFBMENJLGNBQWMsSUFBNUQsRUFBa0U7QUFDdkU7QUFDQXlCLFlBQU1DLElBQU4sQ0FBV1gsTUFBTWEsZ0JBQU4sQ0FBdUI1QixVQUF2QixFQUFtQ3dCLGNBQW5DLENBQVg7QUFDRDs7QUFFRDtBQUNBLFNBQUssTUFBTWIsU0FBWCxJQUF3QmxCLFVBQXhCLEVBQW9DO0FBQ2xDZ0MsWUFBTUMsSUFBTixDQUFXWCxNQUFNYyxNQUFOLENBQWFsQixVQUFVVixVQUF2QixDQUFYO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsU0FBSyxNQUFNdEIsSUFBWCxJQUFtQjhCLGtCQUFuQixFQUF1QztBQUNyQ2dCLFlBQU1DLElBQU4sQ0FBV1gsTUFBTWMsTUFBTixDQUFhbEQsSUFBYixDQUFYO0FBQ0Q7O0FBRUQsV0FBTzhDLEtBQVA7QUFDRCxHQW5FRDtBQW9FRDs7QUFFRCxTQUFTMUIsWUFBVCxDQUFzQnBCLElBQXRCLEVBQTRCbUQsS0FBNUIsRUFBbUM7QUFDakMsU0FBT25ELEtBQUtvRCxJQUFMLEtBQWMsWUFBZCxJQUE4QnBELEtBQUttRCxLQUFMLEtBQWVBLEtBQXBEO0FBQ0Q7O0FBRUQ7QUFDQSxTQUFTMUMsb0JBQVQsQ0FBOEJULElBQTlCLEVBQW9DO0FBQ2xDLFFBQU1xRCxtQkFBbUJyRCxLQUFLYyxVQUFMO0FBQ3RCSSxNQURzQixDQUNqQmMsYUFBYUEsVUFBVW9CLElBQVYsS0FBbUIsd0JBRGYsQ0FBekI7QUFFQSxTQUFPQyxvQkFBb0IsSUFBcEIsR0FBMkJBLGlCQUFpQkMsS0FBakIsQ0FBdUJDLElBQWxELEdBQXlEcEQsU0FBaEU7QUFDRDs7QUFFRDtBQUNBLFNBQVNFLFlBQVQsQ0FBc0JMLElBQXRCLEVBQTRCO0FBQzFCLFFBQU1jLGFBQWFkLEtBQUtjLFVBQUw7QUFDaEJKLFFBRGdCLENBQ1RzQixhQUFhQSxVQUFVb0IsSUFBVixLQUFtQiwwQkFEdkIsQ0FBbkI7QUFFQSxTQUFPdEMsV0FBV3ZCLE1BQVgsR0FBb0IsQ0FBM0I7QUFDRDs7QUFFRDtBQUNBLFNBQVNzQyxhQUFULENBQXVCN0IsSUFBdkIsRUFBNkI7QUFDM0IsUUFBTWMsYUFBYWQsS0FBS2MsVUFBTDtBQUNoQkosUUFEZ0IsQ0FDVHNCLGFBQWFBLFVBQVVvQixJQUFWLEtBQW1CLGlCQUR2QixDQUFuQjtBQUVBLFNBQU90QyxXQUFXdkIsTUFBWCxHQUFvQixDQUEzQjtBQUNEOztBQUVEO0FBQ0E7QUFDQSxTQUFTYSxzQkFBVCxDQUFnQ0osSUFBaEMsRUFBc0NMLFVBQXRDLEVBQWtEO0FBQ2hEO0FBQ0U2RCxxQkFBaUJ4RCxJQUFqQixFQUF1QkwsVUFBdkI7QUFDQThELG9CQUFnQnpELElBQWhCLEVBQXNCTCxVQUF0QixDQURBO0FBRUErRCxrQ0FBOEIxRCxJQUE5QixFQUFvQ0wsVUFBcEMsQ0FIRjs7QUFLRDs7QUFFRDtBQUNBO0FBQ0EsU0FBUzZELGdCQUFULENBQTBCeEQsSUFBMUIsRUFBZ0NMLFVBQWhDLEVBQTRDO0FBQzFDLFNBQU9BLFdBQVdPLGlCQUFYLENBQTZCRixJQUE3QjtBQUNKK0IsTUFESSxDQUNDNEIsV0FBV0EsUUFBUUMsR0FBUixDQUFZQyxHQUFaLENBQWdCQyxJQUFoQixJQUF3QjlELEtBQUs0RCxHQUFMLENBQVNHLEtBQVQsQ0FBZUQsSUFBZixHQUFzQixDQUQxRCxDQUFQO0FBRUQ7O0FBRUQ7QUFDQTtBQUNBLFNBQVNMLGVBQVQsQ0FBeUJ6RCxJQUF6QixFQUErQkwsVUFBL0IsRUFBMkM7QUFDekMsU0FBT0EsV0FBV3FFLGdCQUFYLENBQTRCaEUsSUFBNUI7QUFDSitCLE1BREksQ0FDQzRCLFdBQVdBLFFBQVFDLEdBQVIsQ0FBWUcsS0FBWixDQUFrQkQsSUFBbEIsS0FBMkI5RCxLQUFLNEQsR0FBTCxDQUFTQyxHQUFULENBQWFDLElBRHBELENBQVA7QUFFRDs7QUFFRDtBQUNBO0FBQ0EsU0FBU0osNkJBQVQsQ0FBdUMxRCxJQUF2QyxFQUE2Q0wsVUFBN0MsRUFBeUQ7QUFDdkQsUUFBTW9CLFNBQVNwQixXQUFXcUIsU0FBWCxDQUFxQmhCLElBQXJCLENBQWY7QUFDQSxRQUFNaUUsaUJBQWlCbEQsT0FBT21ELFNBQVAsQ0FBaUIvQyxTQUFTQyxhQUFhRCxLQUFiLEVBQW9CLEdBQXBCLENBQTFCLENBQXZCO0FBQ0EsUUFBTWdELGtCQUFrQnBELE9BQU9tRCxTQUFQLENBQWlCL0MsU0FBU0MsYUFBYUQsS0FBYixFQUFvQixHQUFwQixDQUExQixDQUF4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQU1pRCxhQUFhSCxrQkFBa0IsQ0FBbEIsSUFBdUJFLG1CQUFtQixDQUExQztBQUNmcEQsU0FBT1MsS0FBUCxDQUFhLENBQWIsRUFBZ0J5QyxpQkFBaUIsQ0FBakMsRUFBb0NJLE1BQXBDLENBQTJDdEQsT0FBT1MsS0FBUCxDQUFhMkMsa0JBQWtCLENBQS9CLENBQTNDLENBRGU7QUFFZnBELFNBQU9TLEtBQVAsQ0FBYSxDQUFiLENBRko7QUFHQSxTQUFPNEMsV0FBV3JDLElBQVgsQ0FBZ0JaLFNBQVN4QixXQUFXTyxpQkFBWCxDQUE2QmlCLEtBQTdCLEVBQW9DNUIsTUFBcEMsR0FBNkMsQ0FBdEUsQ0FBUDtBQUNEOztBQUVERixPQUFPaUYsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0puQixVQUFNLFNBREY7QUFFSm9CLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxlQUFSLENBREQsRUFGRjs7QUFLSkMsYUFBUyxNQUxMO0FBTUpDLFlBQVE7QUFDTjtBQUNFdkIsWUFBTSxRQURSO0FBRUV3QixrQkFBWTtBQUNWQyw2QkFBcUI7QUFDbkJ6QixnQkFBTSxTQURhLEVBRFgsRUFGZDs7O0FBT0UwQiw0QkFBc0IsS0FQeEIsRUFETSxDQU5KLEVBRFM7Ozs7O0FBb0JmQyxVQUFRLFVBQVU1RixPQUFWLEVBQW1CO0FBQ3pCO0FBQ0EsVUFBTTZGLDRCQUE0QjdGLFFBQVE4RixPQUFSLENBQWdCLENBQWhCO0FBQ2hDOUYsWUFBUThGLE9BQVIsQ0FBZ0IsQ0FBaEIsRUFBbUIscUJBQW5CLENBREY7QUFFQSxVQUFNQyxrQkFBa0JDLGNBQWMsdUJBQVFBLFVBQVIsRUFBb0JoRyxPQUFwQixLQUFnQ2dHLFVBQXRFO0FBQ0EsVUFBTUMsV0FBV0osNEJBQTZCRyxjQUFjO0FBQzFELFlBQU1FLFFBQVFGLFdBQVdHLEtBQVgsQ0FBaUIsaUJBQWpCLENBQWQ7QUFDQSxVQUFJLENBQUNELEtBQUwsRUFBWTtBQUNWLGVBQU9ILGdCQUFnQkMsVUFBaEIsQ0FBUDtBQUNEO0FBQ0QsYUFBT0QsZ0JBQWdCRyxNQUFNLENBQU4sQ0FBaEIsSUFBNEIsR0FBNUIsR0FBa0NBLE1BQU0sQ0FBTixDQUF6QztBQUNELEtBTmdCLEdBTVpILGVBTkw7O0FBUUEsVUFBTWhHLFdBQVcsSUFBSXFHLEdBQUosRUFBakI7QUFDQSxVQUFNQyxhQUFhLElBQUlELEdBQUosRUFBbkI7QUFDQSxVQUFNRSxnQkFBZ0IsSUFBSUYsR0FBSixFQUF0QjtBQUNBLFdBQU87QUFDTCwyQkFBcUIsVUFBVUcsQ0FBVixFQUFhO0FBQ2hDO0FBQ0EsY0FBTUMsZUFBZVAsU0FBU00sRUFBRXpGLE1BQUYsQ0FBU2tELEtBQWxCLENBQXJCO0FBQ0EsY0FBTXlDLFlBQVlGLEVBQUVHLFVBQUYsS0FBaUIsTUFBakIsR0FBMEJKLGFBQTFCO0FBQ2ZwRixxQkFBYXFGLENBQWIsSUFBa0JGLFVBQWxCLEdBQStCdEcsUUFEbEM7O0FBR0EsWUFBSTBHLFVBQVVFLEdBQVYsQ0FBY0gsWUFBZCxDQUFKLEVBQWlDO0FBQy9CQyxvQkFBVUcsR0FBVixDQUFjSixZQUFkLEVBQTRCNUMsSUFBNUIsQ0FBaUMyQyxDQUFqQztBQUNELFNBRkQsTUFFTztBQUNMRSxvQkFBVUksR0FBVixDQUFjTCxZQUFkLEVBQTRCLENBQUNELENBQUQsQ0FBNUI7QUFDRDtBQUNGLE9BWkk7O0FBY0wsc0JBQWdCLFlBQVk7QUFDMUJ6RyxxQkFBYUMsUUFBYixFQUF1QkMsT0FBdkI7QUFDQUYscUJBQWF1RyxVQUFiLEVBQXlCckcsT0FBekI7QUFDQUYscUJBQWF3RyxhQUFiLEVBQTRCdEcsT0FBNUI7QUFDRCxPQWxCSSxFQUFQOztBQW9CRCxHQXhEYyxFQUFqQiIsImZpbGUiOiJuby1kdXBsaWNhdGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlc29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5mdW5jdGlvbiBjaGVja0ltcG9ydHMoaW1wb3J0ZWQsIGNvbnRleHQpIHtcbiAgZm9yIChjb25zdCBbbW9kdWxlLCBub2Rlc10gb2YgaW1wb3J0ZWQuZW50cmllcygpKSB7XG4gICAgaWYgKG5vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgJyR7bW9kdWxlfScgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMuYDtcbiAgICAgIGNvbnN0IFtmaXJzdCwgLi4ucmVzdF0gPSBub2RlcztcbiAgICAgIGNvbnN0IHNvdXJjZUNvZGUgPSBjb250ZXh0LmdldFNvdXJjZUNvZGUoKTtcbiAgICAgIGNvbnN0IGZpeCA9IGdldEZpeChmaXJzdCwgcmVzdCwgc291cmNlQ29kZSk7XG5cbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZTogZmlyc3Quc291cmNlLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBmaXgsIC8vIEF0dGFjaCB0aGUgYXV0b2ZpeCAoaWYgYW55KSB0byB0aGUgZmlyc3QgaW1wb3J0LlxuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiByZXN0KSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlOiBub2RlLnNvdXJjZSxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Rml4KGZpcnN0LCByZXN0LCBzb3VyY2VDb2RlKSB7XG4gIC8vIFNvcnJ5IEVTTGludCA8PSAzIHVzZXJzLCBubyBhdXRvZml4IGZvciB5b3UuIEF1dG9maXhpbmcgZHVwbGljYXRlIGltcG9ydHNcbiAgLy8gcmVxdWlyZXMgbXVsdGlwbGUgYGZpeGVyLndoYXRldmVyKClgIGNhbGxzIGluIHRoZSBgZml4YDogV2UgYm90aCBuZWVkIHRvXG4gIC8vIHVwZGF0ZSB0aGUgZmlyc3Qgb25lLCBhbmQgcmVtb3ZlIHRoZSByZXN0LiBTdXBwb3J0IGZvciBtdWx0aXBsZVxuICAvLyBgZml4ZXIud2hhdGV2ZXIoKWAgaW4gYSBzaW5nbGUgYGZpeGAgd2FzIGFkZGVkIGluIEVTTGludCA0LjEuXG4gIC8vIGBzb3VyY2VDb2RlLmdldENvbW1lbnRzQmVmb3JlYCB3YXMgYWRkZWQgaW4gNC4wLCBzbyB0aGF0J3MgYW4gZWFzeSB0aGluZyB0b1xuICAvLyBjaGVjayBmb3IuXG4gIGlmICh0eXBlb2Ygc291cmNlQ29kZS5nZXRDb21tZW50c0JlZm9yZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBBZGp1c3RpbmcgdGhlIGZpcnN0IGltcG9ydCBtaWdodCBtYWtlIGl0IG11bHRpbGluZSwgd2hpY2ggY291bGQgYnJlYWtcbiAgLy8gYGVzbGludC1kaXNhYmxlLW5leHQtbGluZWAgY29tbWVudHMgYW5kIHNpbWlsYXIsIHNvIGJhaWwgaWYgdGhlIGZpcnN0XG4gIC8vIGltcG9ydCBoYXMgY29tbWVudHMuIEFsc28sIGlmIHRoZSBmaXJzdCBpbXBvcnQgaXMgYGltcG9ydCAqIGFzIG5zIGZyb21cbiAgLy8gJy4vZm9vJ2AgdGhlcmUncyBub3RoaW5nIHdlIGNhbiBkby5cbiAgaWYgKGhhc1Byb2JsZW1hdGljQ29tbWVudHMoZmlyc3QsIHNvdXJjZUNvZGUpIHx8IGhhc05hbWVzcGFjZShmaXJzdCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdEltcG9ydE5hbWVzID0gbmV3IFNldChcbiAgICBbZmlyc3QsIC4uLnJlc3RdLm1hcChnZXREZWZhdWx0SW1wb3J0TmFtZSkuZmlsdGVyKEJvb2xlYW4pXG4gICk7XG5cbiAgLy8gQmFpbCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZGlmZmVyZW50IGRlZmF1bHQgaW1wb3J0IG5hbWVzIOKAkyBpdCdzIHVwIHRvIHRoZVxuICAvLyB1c2VyIHRvIGNob29zZSB3aGljaCBvbmUgdG8ga2VlcC5cbiAgaWYgKGRlZmF1bHRJbXBvcnROYW1lcy5zaXplID4gMSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBMZWF2ZSBpdCB0byB0aGUgdXNlciB0byBoYW5kbGUgY29tbWVudHMuIEFsc28gc2tpcCBgaW1wb3J0ICogYXMgbnMgZnJvbVxuICAvLyAnLi9mb28nYCBpbXBvcnRzLCBzaW5jZSB0aGV5IGNhbm5vdCBiZSBtZXJnZWQgaW50byBhbm90aGVyIGltcG9ydC5cbiAgY29uc3QgcmVzdFdpdGhvdXRDb21tZW50cyA9IHJlc3QuZmlsdGVyKG5vZGUgPT4gIShcbiAgICBoYXNQcm9ibGVtYXRpY0NvbW1lbnRzKG5vZGUsIHNvdXJjZUNvZGUpIHx8XG4gICAgaGFzTmFtZXNwYWNlKG5vZGUpXG4gICkpO1xuXG4gIGNvbnN0IHNwZWNpZmllcnMgPSByZXN0V2l0aG91dENvbW1lbnRzXG4gICAgLm1hcChub2RlID0+IHtcbiAgICAgIGNvbnN0IHRva2VucyA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5zKG5vZGUpO1xuICAgICAgY29uc3Qgb3BlbkJyYWNlID0gdG9rZW5zLmZpbmQodG9rZW4gPT4gaXNQdW5jdHVhdG9yKHRva2VuLCAneycpKTtcbiAgICAgIGNvbnN0IGNsb3NlQnJhY2UgPSB0b2tlbnMuZmluZCh0b2tlbiA9PiBpc1B1bmN0dWF0b3IodG9rZW4sICd9JykpO1xuXG4gICAgICBpZiAob3BlbkJyYWNlID09IG51bGwgfHwgY2xvc2VCcmFjZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGltcG9ydE5vZGU6IG5vZGUsXG4gICAgICAgIHRleHQ6IHNvdXJjZUNvZGUudGV4dC5zbGljZShvcGVuQnJhY2UucmFuZ2VbMV0sIGNsb3NlQnJhY2UucmFuZ2VbMF0pLFxuICAgICAgICBoYXNUcmFpbGluZ0NvbW1hOiBpc1B1bmN0dWF0b3Ioc291cmNlQ29kZS5nZXRUb2tlbkJlZm9yZShjbG9zZUJyYWNlKSwgJywnKSxcbiAgICAgICAgaXNFbXB0eTogIWhhc1NwZWNpZmllcnMobm9kZSksXG4gICAgICB9O1xuICAgIH0pXG4gICAgLmZpbHRlcihCb29sZWFuKTtcblxuICBjb25zdCB1bm5lY2Vzc2FyeUltcG9ydHMgPSByZXN0V2l0aG91dENvbW1lbnRzLmZpbHRlcihub2RlID0+XG4gICAgIWhhc1NwZWNpZmllcnMobm9kZSkgJiZcbiAgICAhaGFzTmFtZXNwYWNlKG5vZGUpICYmXG4gICAgIXNwZWNpZmllcnMuc29tZShzcGVjaWZpZXIgPT4gc3BlY2lmaWVyLmltcG9ydE5vZGUgPT09IG5vZGUpXG4gICk7XG5cbiAgY29uc3Qgc2hvdWxkQWRkRGVmYXVsdCA9IGdldERlZmF1bHRJbXBvcnROYW1lKGZpcnN0KSA9PSBudWxsICYmIGRlZmF1bHRJbXBvcnROYW1lcy5zaXplID09PSAxO1xuICBjb25zdCBzaG91bGRBZGRTcGVjaWZpZXJzID0gc3BlY2lmaWVycy5sZW5ndGggPiAwO1xuICBjb25zdCBzaG91bGRSZW1vdmVVbm5lY2Vzc2FyeSA9IHVubmVjZXNzYXJ5SW1wb3J0cy5sZW5ndGggPiAwO1xuXG4gIGlmICghKHNob3VsZEFkZERlZmF1bHQgfHwgc2hvdWxkQWRkU3BlY2lmaWVycyB8fCBzaG91bGRSZW1vdmVVbm5lY2Vzc2FyeSkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGZpeGVyID0+IHtcbiAgICBjb25zdCB0b2tlbnMgPSBzb3VyY2VDb2RlLmdldFRva2VucyhmaXJzdCk7XG4gICAgY29uc3Qgb3BlbkJyYWNlID0gdG9rZW5zLmZpbmQodG9rZW4gPT4gaXNQdW5jdHVhdG9yKHRva2VuLCAneycpKTtcbiAgICBjb25zdCBjbG9zZUJyYWNlID0gdG9rZW5zLmZpbmQodG9rZW4gPT4gaXNQdW5jdHVhdG9yKHRva2VuLCAnfScpKTtcbiAgICBjb25zdCBmaXJzdFRva2VuID0gc291cmNlQ29kZS5nZXRGaXJzdFRva2VuKGZpcnN0KTtcbiAgICBjb25zdCBbZGVmYXVsdEltcG9ydE5hbWVdID0gZGVmYXVsdEltcG9ydE5hbWVzO1xuXG4gICAgY29uc3QgZmlyc3RIYXNUcmFpbGluZ0NvbW1hID1cbiAgICAgIGNsb3NlQnJhY2UgIT0gbnVsbCAmJlxuICAgICAgaXNQdW5jdHVhdG9yKHNvdXJjZUNvZGUuZ2V0VG9rZW5CZWZvcmUoY2xvc2VCcmFjZSksICcsJyk7XG4gICAgY29uc3QgZmlyc3RJc0VtcHR5ID0gIWhhc1NwZWNpZmllcnMoZmlyc3QpO1xuXG4gICAgY29uc3QgW3NwZWNpZmllcnNUZXh0XSA9IHNwZWNpZmllcnMucmVkdWNlKFxuICAgICAgKFtyZXN1bHQsIG5lZWRzQ29tbWFdLCBzcGVjaWZpZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBuZWVkc0NvbW1hICYmICFzcGVjaWZpZXIuaXNFbXB0eVxuICAgICAgICAgICAgPyBgJHtyZXN1bHR9LCR7c3BlY2lmaWVyLnRleHR9YFxuICAgICAgICAgICAgOiBgJHtyZXN1bHR9JHtzcGVjaWZpZXIudGV4dH1gLFxuICAgICAgICAgIHNwZWNpZmllci5pc0VtcHR5ID8gbmVlZHNDb21tYSA6IHRydWUsXG4gICAgICAgIF07XG4gICAgICB9LFxuICAgICAgWycnLCAhZmlyc3RIYXNUcmFpbGluZ0NvbW1hICYmICFmaXJzdElzRW1wdHldXG4gICAgKTtcblxuICAgIGNvbnN0IGZpeGVzID0gW107XG5cbiAgICBpZiAoc2hvdWxkQWRkRGVmYXVsdCAmJiBvcGVuQnJhY2UgPT0gbnVsbCAmJiBzaG91bGRBZGRTcGVjaWZpZXJzKSB7XG4gICAgICAvLyBgaW1wb3J0ICcuL2ZvbydgIOKGkiBgaW1wb3J0IGRlZiwgey4uLn0gZnJvbSAnLi9mb28nYFxuICAgICAgZml4ZXMucHVzaChcbiAgICAgICAgZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGZpcnN0VG9rZW4sIGAgJHtkZWZhdWx0SW1wb3J0TmFtZX0sIHske3NwZWNpZmllcnNUZXh0fX0gZnJvbWApXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoc2hvdWxkQWRkRGVmYXVsdCAmJiBvcGVuQnJhY2UgPT0gbnVsbCAmJiAhc2hvdWxkQWRkU3BlY2lmaWVycykge1xuICAgICAgLy8gYGltcG9ydCAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYgZnJvbSAnLi9mb28nYFxuICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoZmlyc3RUb2tlbiwgYCAke2RlZmF1bHRJbXBvcnROYW1lfSBmcm9tYCkpO1xuICAgIH0gZWxzZSBpZiAoc2hvdWxkQWRkRGVmYXVsdCAmJiBvcGVuQnJhY2UgIT0gbnVsbCAmJiBjbG9zZUJyYWNlICE9IG51bGwpIHtcbiAgICAgIC8vIGBpbXBvcnQgey4uLn0gZnJvbSAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYsIHsuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGZpcnN0VG9rZW4sIGAgJHtkZWZhdWx0SW1wb3J0TmFtZX0sYCkpO1xuICAgICAgaWYgKHNob3VsZEFkZFNwZWNpZmllcnMpIHtcbiAgICAgICAgLy8gYGltcG9ydCBkZWYsIHsuLi59IGZyb20gJy4vZm9vJ2Ag4oaSIGBpbXBvcnQgZGVmLCB7Li4uLCAuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QmVmb3JlKGNsb3NlQnJhY2UsIHNwZWNpZmllcnNUZXh0KSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghc2hvdWxkQWRkRGVmYXVsdCAmJiBvcGVuQnJhY2UgPT0gbnVsbCAmJiBzaG91bGRBZGRTcGVjaWZpZXJzKSB7XG4gICAgICBpZiAoZmlyc3Quc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gYGltcG9ydCAnLi9mb28nYCDihpIgYGltcG9ydCB7Li4ufSBmcm9tICcuL2ZvbydgXG4gICAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGZpcnN0VG9rZW4sIGAgeyR7c3BlY2lmaWVyc1RleHR9fSBmcm9tYCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYGltcG9ydCBkZWYgZnJvbSAnLi9mb28nYCDihpIgYGltcG9ydCBkZWYsIHsuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoZmlyc3Quc3BlY2lmaWVyc1swXSwgYCwgeyR7c3BlY2lmaWVyc1RleHR9fWApKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFzaG91bGRBZGREZWZhdWx0ICYmIG9wZW5CcmFjZSAhPSBudWxsICYmIGNsb3NlQnJhY2UgIT0gbnVsbCkge1xuICAgICAgLy8gYGltcG9ydCB7Li4ufSAnLi9mb28nYCDihpIgYGltcG9ydCB7Li4uLCAuLi59IGZyb20gJy4vZm9vJ2BcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEJlZm9yZShjbG9zZUJyYWNlLCBzcGVjaWZpZXJzVGV4dCkpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBpbXBvcnRzIHdob3NlIHNwZWNpZmllcnMgaGF2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGZpcnN0IGltcG9ydC5cbiAgICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBzcGVjaWZpZXJzKSB7XG4gICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlbW92ZShzcGVjaWZpZXIuaW1wb3J0Tm9kZSkpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBpbXBvcnRzIHdob3NlIGRlZmF1bHQgaW1wb3J0IGhhcyBiZWVuIG1vdmVkIHRvIHRoZSBmaXJzdCBpbXBvcnQsXG4gICAgLy8gYW5kIHNpZGUtZWZmZWN0LW9ubHkgaW1wb3J0cyB0aGF0IGFyZSB1bm5lY2Vzc2FyeSBkdWUgdG8gdGhlIGZpcnN0XG4gICAgLy8gaW1wb3J0LlxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiB1bm5lY2Vzc2FyeUltcG9ydHMpIHtcbiAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlKG5vZGUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZml4ZXM7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzUHVuY3R1YXRvcihub2RlLCB2YWx1ZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnUHVuY3R1YXRvcicgJiYgbm9kZS52YWx1ZSA9PT0gdmFsdWU7XG59XG5cbi8vIEdldCB0aGUgbmFtZSBvZiB0aGUgZGVmYXVsdCBpbXBvcnQgb2YgYG5vZGVgLCBpZiBhbnkuXG5mdW5jdGlvbiBnZXREZWZhdWx0SW1wb3J0TmFtZShub2RlKSB7XG4gIGNvbnN0IGRlZmF1bHRTcGVjaWZpZXIgPSBub2RlLnNwZWNpZmllcnNcbiAgICAuZmluZChzcGVjaWZpZXIgPT4gc3BlY2lmaWVyLnR5cGUgPT09ICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJyk7XG4gIHJldHVybiBkZWZhdWx0U3BlY2lmaWVyICE9IG51bGwgPyBkZWZhdWx0U3BlY2lmaWVyLmxvY2FsLm5hbWUgOiB1bmRlZmluZWQ7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGBub2RlYCBoYXMgYSBuYW1lc3BhY2UgaW1wb3J0LlxuZnVuY3Rpb24gaGFzTmFtZXNwYWNlKG5vZGUpIHtcbiAgY29uc3Qgc3BlY2lmaWVycyA9IG5vZGUuc3BlY2lmaWVyc1xuICAgIC5maWx0ZXIoc3BlY2lmaWVyID0+IHNwZWNpZmllci50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJyk7XG4gIHJldHVybiBzcGVjaWZpZXJzLmxlbmd0aCA+IDA7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGBub2RlYCBoYXMgYW55IG5vbi1kZWZhdWx0IHNwZWNpZmllcnMuXG5mdW5jdGlvbiBoYXNTcGVjaWZpZXJzKG5vZGUpIHtcbiAgY29uc3Qgc3BlY2lmaWVycyA9IG5vZGUuc3BlY2lmaWVyc1xuICAgIC5maWx0ZXIoc3BlY2lmaWVyID0+IHNwZWNpZmllci50eXBlID09PSAnSW1wb3J0U3BlY2lmaWVyJyk7XG4gIHJldHVybiBzcGVjaWZpZXJzLmxlbmd0aCA+IDA7XG59XG5cbi8vIEl0J3Mgbm90IG9idmlvdXMgd2hhdCB0aGUgdXNlciB3YW50cyB0byBkbyB3aXRoIGNvbW1lbnRzIGFzc29jaWF0ZWQgd2l0aFxuLy8gZHVwbGljYXRlIGltcG9ydHMsIHNvIHNraXAgaW1wb3J0cyB3aXRoIGNvbW1lbnRzIHdoZW4gYXV0b2ZpeGluZy5cbmZ1bmN0aW9uIGhhc1Byb2JsZW1hdGljQ29tbWVudHMobm9kZSwgc291cmNlQ29kZSkge1xuICByZXR1cm4gKFxuICAgIGhhc0NvbW1lbnRCZWZvcmUobm9kZSwgc291cmNlQ29kZSkgfHxcbiAgICBoYXNDb21tZW50QWZ0ZXIobm9kZSwgc291cmNlQ29kZSkgfHxcbiAgICBoYXNDb21tZW50SW5zaWRlTm9uU3BlY2lmaWVycyhub2RlLCBzb3VyY2VDb2RlKVxuICApO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciBgbm9kZWAgaGFzIGEgY29tbWVudCAodGhhdCBlbmRzKSBvbiB0aGUgcHJldmlvdXMgbGluZSBvciBvblxuLy8gdGhlIHNhbWUgbGluZSBhcyBgbm9kZWAgKHN0YXJ0cykuXG5mdW5jdGlvbiBoYXNDb21tZW50QmVmb3JlKG5vZGUsIHNvdXJjZUNvZGUpIHtcbiAgcmV0dXJuIHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUobm9kZSlcbiAgICAuc29tZShjb21tZW50ID0+IGNvbW1lbnQubG9jLmVuZC5saW5lID49IG5vZGUubG9jLnN0YXJ0LmxpbmUgLSAxKTtcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYG5vZGVgIGhhcyBhIGNvbW1lbnQgKHRoYXQgc3RhcnRzKSBvbiB0aGUgc2FtZSBsaW5lIGFzIGBub2RlYFxuLy8gKGVuZHMpLlxuZnVuY3Rpb24gaGFzQ29tbWVudEFmdGVyKG5vZGUsIHNvdXJjZUNvZGUpIHtcbiAgcmV0dXJuIHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNBZnRlcihub2RlKVxuICAgIC5zb21lKGNvbW1lbnQgPT4gY29tbWVudC5sb2Muc3RhcnQubGluZSA9PT0gbm9kZS5sb2MuZW5kLmxpbmUpO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciBgbm9kZWAgaGFzIGFueSBjb21tZW50cyBfaW5zaWRlLF8gZXhjZXB0IGluc2lkZSB0aGUgYHsuLi59YFxuLy8gcGFydCAoaWYgYW55KS5cbmZ1bmN0aW9uIGhhc0NvbW1lbnRJbnNpZGVOb25TcGVjaWZpZXJzKG5vZGUsIHNvdXJjZUNvZGUpIHtcbiAgY29uc3QgdG9rZW5zID0gc291cmNlQ29kZS5nZXRUb2tlbnMobm9kZSk7XG4gIGNvbnN0IG9wZW5CcmFjZUluZGV4ID0gdG9rZW5zLmZpbmRJbmRleCh0b2tlbiA9PiBpc1B1bmN0dWF0b3IodG9rZW4sICd7JykpO1xuICBjb25zdCBjbG9zZUJyYWNlSW5kZXggPSB0b2tlbnMuZmluZEluZGV4KHRva2VuID0+IGlzUHVuY3R1YXRvcih0b2tlbiwgJ30nKSk7XG4gIC8vIFNsaWNlIGF3YXkgdGhlIGZpcnN0IHRva2VuLCBzaW5jZSB3ZSdyZSBubyBsb29raW5nIGZvciBjb21tZW50cyBfYmVmb3JlX1xuICAvLyBgbm9kZWAgKG9ubHkgaW5zaWRlKS4gSWYgdGhlcmUncyBhIGB7Li4ufWAgcGFydCwgbG9vayBmb3IgY29tbWVudHMgYmVmb3JlXG4gIC8vIHRoZSBge2AsIGJ1dCBub3QgYmVmb3JlIHRoZSBgfWAgKGhlbmNlIHRoZSBgKzFgcykuXG4gIGNvbnN0IHNvbWVUb2tlbnMgPSBvcGVuQnJhY2VJbmRleCA+PSAwICYmIGNsb3NlQnJhY2VJbmRleCA+PSAwXG4gICAgPyB0b2tlbnMuc2xpY2UoMSwgb3BlbkJyYWNlSW5kZXggKyAxKS5jb25jYXQodG9rZW5zLnNsaWNlKGNsb3NlQnJhY2VJbmRleCArIDEpKVxuICAgIDogdG9rZW5zLnNsaWNlKDEpO1xuICByZXR1cm4gc29tZVRva2Vucy5zb21lKHRva2VuID0+IHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUodG9rZW4pLmxlbmd0aCA+IDApO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWR1cGxpY2F0ZXMnKSxcbiAgICB9LFxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBjb25zaWRlclF1ZXJ5U3RyaW5nOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAvLyBQcmVwYXJlIHRoZSByZXNvbHZlciBmcm9tIG9wdGlvbnMuXG4gICAgY29uc3QgY29uc2lkZXJRdWVyeVN0cmluZ09wdGlvbiA9IGNvbnRleHQub3B0aW9uc1swXSAmJlxuICAgICAgY29udGV4dC5vcHRpb25zWzBdWydjb25zaWRlclF1ZXJ5U3RyaW5nJ107XG4gICAgY29uc3QgZGVmYXVsdFJlc29sdmVyID0gc291cmNlUGF0aCA9PiByZXNvbHZlKHNvdXJjZVBhdGgsIGNvbnRleHQpIHx8IHNvdXJjZVBhdGg7XG4gICAgY29uc3QgcmVzb2x2ZXIgPSBjb25zaWRlclF1ZXJ5U3RyaW5nT3B0aW9uID8gKHNvdXJjZVBhdGggPT4ge1xuICAgICAgY29uc3QgcGFydHMgPSBzb3VyY2VQYXRoLm1hdGNoKC9eKFteP10qKVxcPyguKikkLyk7XG4gICAgICBpZiAoIXBhcnRzKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0UmVzb2x2ZXIoc291cmNlUGF0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVmYXVsdFJlc29sdmVyKHBhcnRzWzFdKSArICc/JyArIHBhcnRzWzJdO1xuICAgIH0pIDogZGVmYXVsdFJlc29sdmVyO1xuXG4gICAgY29uc3QgaW1wb3J0ZWQgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgbnNJbXBvcnRlZCA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCB0eXBlc0ltcG9ydGVkID0gbmV3IE1hcCgpO1xuICAgIHJldHVybiB7XG4gICAgICAnSW1wb3J0RGVjbGFyYXRpb24nOiBmdW5jdGlvbiAobikge1xuICAgICAgICAvLyByZXNvbHZlZCBwYXRoIHdpbGwgY292ZXIgYWxpYXNlZCBkdXBsaWNhdGVzXG4gICAgICAgIGNvbnN0IHJlc29sdmVkUGF0aCA9IHJlc29sdmVyKG4uc291cmNlLnZhbHVlKTtcbiAgICAgICAgY29uc3QgaW1wb3J0TWFwID0gbi5pbXBvcnRLaW5kID09PSAndHlwZScgPyB0eXBlc0ltcG9ydGVkIDpcbiAgICAgICAgICAoaGFzTmFtZXNwYWNlKG4pID8gbnNJbXBvcnRlZCA6IGltcG9ydGVkKTtcblxuICAgICAgICBpZiAoaW1wb3J0TWFwLmhhcyhyZXNvbHZlZFBhdGgpKSB7XG4gICAgICAgICAgaW1wb3J0TWFwLmdldChyZXNvbHZlZFBhdGgpLnB1c2gobik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW1wb3J0TWFwLnNldChyZXNvbHZlZFBhdGgsIFtuXSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNoZWNrSW1wb3J0cyhpbXBvcnRlZCwgY29udGV4dCk7XG4gICAgICAgIGNoZWNrSW1wb3J0cyhuc0ltcG9ydGVkLCBjb250ZXh0KTtcbiAgICAgICAgY2hlY2tJbXBvcnRzKHR5cGVzSW1wb3J0ZWQsIGNvbnRleHQpO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js b/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js index e63b3db1a..844477aa7 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js @@ -34,4 +34,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1keW5hbWljLXJlcXVpcmUuanMiXSwibmFtZXMiOlsiaXNSZXF1aXJlIiwibm9kZSIsImNhbGxlZSIsInR5cGUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiaXNTdGF0aWNWYWx1ZSIsImFyZyIsImV4cHJlc3Npb25zIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsIkNhbGxFeHByZXNzaW9uIiwicmVwb3J0IiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6ImFBQUEscUM7O0FBRUEsU0FBU0EsU0FBVCxDQUFtQkMsSUFBbkIsRUFBeUI7QUFDdkIsU0FBT0E7QUFDTEEsT0FBS0MsTUFEQTtBQUVMRCxPQUFLQyxNQUFMLENBQVlDLElBQVosS0FBcUIsWUFGaEI7QUFHTEYsT0FBS0MsTUFBTCxDQUFZRSxJQUFaLEtBQXFCLFNBSGhCO0FBSUxILE9BQUtJLFNBQUwsQ0FBZUMsTUFBZixJQUF5QixDQUozQjtBQUtEOztBQUVELFNBQVNDLGFBQVQsQ0FBdUJDLEdBQXZCLEVBQTRCO0FBQzFCLFNBQU9BLElBQUlMLElBQUosS0FBYSxTQUFiO0FBQ0pLLE1BQUlMLElBQUosS0FBYSxpQkFBYixJQUFrQ0ssSUFBSUMsV0FBSixDQUFnQkgsTUFBaEIsS0FBMkIsQ0FEaEU7QUFFRDs7QUFFREksT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pULFVBQU0sWUFERjtBQUVKVSxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsb0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0xDLHFCQUFlakIsSUFBZixFQUFxQjtBQUNuQixZQUFJRCxVQUFVQyxJQUFWLEtBQW1CLENBQUNNLGNBQWNOLEtBQUtJLFNBQUwsQ0FBZSxDQUFmLENBQWQsQ0FBeEIsRUFBMEQ7QUFDeERZLGtCQUFRRSxNQUFSLENBQWU7QUFDYmxCLGdCQURhO0FBRWJtQixxQkFBUywrQ0FGSSxFQUFmOztBQUlEO0FBQ0YsT0FSSSxFQUFQOztBQVVELEdBcEJjLEVBQWpCIiwiZmlsZSI6Im5vLWR5bmFtaWMtcmVxdWlyZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIGlzUmVxdWlyZShub2RlKSB7XG4gIHJldHVybiBub2RlICYmXG4gICAgbm9kZS5jYWxsZWUgJiZcbiAgICBub2RlLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicgJiZcbiAgICBub2RlLmNhbGxlZS5uYW1lID09PSAncmVxdWlyZScgJiZcbiAgICBub2RlLmFyZ3VtZW50cy5sZW5ndGggPj0gMVxufVxuXG5mdW5jdGlvbiBpc1N0YXRpY1ZhbHVlKGFyZykge1xuICByZXR1cm4gYXJnLnR5cGUgPT09ICdMaXRlcmFsJyB8fFxuICAgIChhcmcudHlwZSA9PT0gJ1RlbXBsYXRlTGl0ZXJhbCcgJiYgYXJnLmV4cHJlc3Npb25zLmxlbmd0aCA9PT0gMClcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1keW5hbWljLXJlcXVpcmUnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKSB7XG4gICAgICAgIGlmIChpc1JlcXVpcmUobm9kZSkgJiYgIWlzU3RhdGljVmFsdWUobm9kZS5hcmd1bWVudHNbMF0pKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdDYWxscyB0byByZXF1aXJlKCkgc2hvdWxkIHVzZSBzdHJpbmcgbGl0ZXJhbHMnLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1keW5hbWljLXJlcXVpcmUuanMiXSwibmFtZXMiOlsiaXNSZXF1aXJlIiwibm9kZSIsImNhbGxlZSIsInR5cGUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiaXNTdGF0aWNWYWx1ZSIsImFyZyIsImV4cHJlc3Npb25zIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsIkNhbGxFeHByZXNzaW9uIiwicmVwb3J0IiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6ImFBQUEscUM7O0FBRUEsU0FBU0EsU0FBVCxDQUFtQkMsSUFBbkIsRUFBeUI7QUFDdkIsU0FBT0E7QUFDTEEsT0FBS0MsTUFEQTtBQUVMRCxPQUFLQyxNQUFMLENBQVlDLElBQVosS0FBcUIsWUFGaEI7QUFHTEYsT0FBS0MsTUFBTCxDQUFZRSxJQUFaLEtBQXFCLFNBSGhCO0FBSUxILE9BQUtJLFNBQUwsQ0FBZUMsTUFBZixJQUF5QixDQUozQjtBQUtEOztBQUVELFNBQVNDLGFBQVQsQ0FBdUJDLEdBQXZCLEVBQTRCO0FBQzFCLFNBQU9BLElBQUlMLElBQUosS0FBYSxTQUFiO0FBQ0pLLE1BQUlMLElBQUosS0FBYSxpQkFBYixJQUFrQ0ssSUFBSUMsV0FBSixDQUFnQkgsTUFBaEIsS0FBMkIsQ0FEaEU7QUFFRDs7QUFFREksT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pULFVBQU0sWUFERjtBQUVKVSxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsb0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0xDLHFCQUFlakIsSUFBZixFQUFxQjtBQUNuQixZQUFJRCxVQUFVQyxJQUFWLEtBQW1CLENBQUNNLGNBQWNOLEtBQUtJLFNBQUwsQ0FBZSxDQUFmLENBQWQsQ0FBeEIsRUFBMEQ7QUFDeERZLGtCQUFRRSxNQUFSLENBQWU7QUFDYmxCLGdCQURhO0FBRWJtQixxQkFBUywrQ0FGSSxFQUFmOztBQUlEO0FBQ0YsT0FSSSxFQUFQOztBQVVELEdBcEJjLEVBQWpCIiwiZmlsZSI6Im5vLWR5bmFtaWMtcmVxdWlyZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5mdW5jdGlvbiBpc1JlcXVpcmUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJlxuICAgIG5vZGUuY2FsbGVlICYmXG4gICAgbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInICYmXG4gICAgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ3JlcXVpcmUnICYmXG4gICAgbm9kZS5hcmd1bWVudHMubGVuZ3RoID49IDE7XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljVmFsdWUoYXJnKSB7XG4gIHJldHVybiBhcmcudHlwZSA9PT0gJ0xpdGVyYWwnIHx8XG4gICAgKGFyZy50eXBlID09PSAnVGVtcGxhdGVMaXRlcmFsJyAmJiBhcmcuZXhwcmVzc2lvbnMubGVuZ3RoID09PSAwKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1keW5hbWljLXJlcXVpcmUnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKSB7XG4gICAgICAgIGlmIChpc1JlcXVpcmUobm9kZSkgJiYgIWlzU3RhdGljVmFsdWUobm9kZS5hcmd1bWVudHNbMF0pKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdDYWxscyB0byByZXF1aXJlKCkgc2hvdWxkIHVzZSBzdHJpbmcgbGl0ZXJhbHMnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js b/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js index b8d891840..6b55f2cc3 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js @@ -1,12 +1,15 @@ -'use strict';var _path = require('path');var _path2 = _interopRequireDefault(_path); +'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _path = require('path');var _path2 = _interopRequireDefault(_path); var _fs = require('fs');var _fs2 = _interopRequireDefault(_fs); var _readPkgUp = require('read-pkg-up');var _readPkgUp2 = _interopRequireDefault(_readPkgUp); var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch); var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType); +var _packagePath = require('../core/packagePath'); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +const depFieldCache = new Map(); + function hasKeys() {let obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return Object.keys(obj).length > 0; } @@ -49,9 +52,14 @@ function getDependencies(context, packageDir) { if (paths.length > 0) { // use rule config to find package.json paths.forEach(dir => { - const _packageContent = extractDepFields( - JSON.parse(_fs2.default.readFileSync(_path2.default.join(dir, 'package.json'), 'utf8'))); + const packageJsonPath = _path2.default.join(dir, 'package.json'); + if (!depFieldCache.has(packageJsonPath)) { + const depFields = extractDepFields( + JSON.parse(_fs2.default.readFileSync(packageJsonPath, 'utf8'))); + depFieldCache.set(packageJsonPath, depFields); + } + const _packageContent = depFieldCache.get(packageJsonPath); Object.keys(packageContent).forEach(depsKey => Object.assign(packageContent[depsKey], _packageContent[depsKey])); @@ -109,9 +117,48 @@ function optDepErrorMessage(packageName) { `not optionalDependencies.`; } +function getModuleOriginalName(name) {var _name$split = + name.split('/'),_name$split2 = _slicedToArray(_name$split, 2);const first = _name$split2[0],second = _name$split2[1]; + return first.startsWith('@') ? `${first}/${second}` : first; +} + +function getModuleRealName(resolved) { + return (0, _packagePath.getFilePackageName)(resolved); +} + +function checkDependencyDeclaration(deps, packageName) { + // in case of sub package.json inside a module + // check the dependencies on all hierarchy + const packageHierarchy = []; + const packageNameParts = packageName.split('/'); + packageNameParts.forEach((namePart, index) => { + if (!namePart.startsWith('@')) { + const ancestor = packageNameParts.slice(0, index + 1).join('/'); + packageHierarchy.push(ancestor); + } + }); + + return packageHierarchy.reduce((result, ancestorName) => { + return { + isInDeps: result.isInDeps || deps.dependencies[ancestorName] !== undefined, + isInDevDeps: result.isInDevDeps || deps.devDependencies[ancestorName] !== undefined, + isInOptDeps: result.isInOptDeps || deps.optionalDependencies[ancestorName] !== undefined, + isInPeerDeps: result.isInPeerDeps || deps.peerDependencies[ancestorName] !== undefined, + isInBundledDeps: + result.isInBundledDeps || deps.bundledDependencies.indexOf(ancestorName) !== -1 }; + + }, { + isInDeps: false, + isInDevDeps: false, + isInOptDeps: false, + isInPeerDeps: false, + isInBundledDeps: false }); + +} + function reportIfMissing(context, deps, depsOptions, node, name) { // Do not report when importing types - if (node.importKind === 'type' || node.parent && node.parent.importKind === 'type') { + if (node.importKind === 'type' || node.parent && node.parent.importKind === 'type' || node.importKind === 'typeof') { return; } @@ -122,36 +169,49 @@ function reportIfMissing(context, deps, depsOptions, node, name) { const resolved = (0, _resolve2.default)(name, context); if (!resolved) {return;} - const splitName = name.split('/'); - const packageName = splitName[0][0] === '@' ? - splitName.slice(0, 2).join('/') : - splitName[0]; - const isInDeps = deps.dependencies[packageName] !== undefined; - const isInDevDeps = deps.devDependencies[packageName] !== undefined; - const isInOptDeps = deps.optionalDependencies[packageName] !== undefined; - const isInPeerDeps = deps.peerDependencies[packageName] !== undefined; - const isInBundledDeps = deps.bundledDependencies.indexOf(packageName) !== -1; + const importPackageName = getModuleOriginalName(name); + const importPackageNameDeclaration = checkDependencyDeclaration(deps, importPackageName); - if (isInDeps || - depsOptions.allowDevDeps && isInDevDeps || - depsOptions.allowPeerDeps && isInPeerDeps || - depsOptions.allowOptDeps && isInOptDeps || - depsOptions.allowBundledDeps && isInBundledDeps) + if (importPackageNameDeclaration.isInDeps || + depsOptions.allowDevDeps && importPackageNameDeclaration.isInDevDeps || + depsOptions.allowPeerDeps && importPackageNameDeclaration.isInPeerDeps || + depsOptions.allowOptDeps && importPackageNameDeclaration.isInOptDeps || + depsOptions.allowBundledDeps && importPackageNameDeclaration.isInBundledDeps) { return; } - if (isInDevDeps && !depsOptions.allowDevDeps) { - context.report(node, devDepErrorMessage(packageName)); + // test the real name from the resolved package.json + // if not aliased imports (alias/react for example), importPackageName can be misinterpreted + const realPackageName = getModuleRealName(resolved); + const realPackageNameDeclaration = checkDependencyDeclaration(deps, realPackageName); + + if (realPackageNameDeclaration.isInDeps || + depsOptions.allowDevDeps && realPackageNameDeclaration.isInDevDeps || + depsOptions.allowPeerDeps && realPackageNameDeclaration.isInPeerDeps || + depsOptions.allowOptDeps && realPackageNameDeclaration.isInOptDeps || + depsOptions.allowBundledDeps && realPackageNameDeclaration.isInBundledDeps) + { return; } - if (isInOptDeps && !depsOptions.allowOptDeps) { - context.report(node, optDepErrorMessage(packageName)); + if (( + importPackageNameDeclaration.isInDevDeps || + realPackageNameDeclaration.isInDevDeps) && + !depsOptions.allowDevDeps) { + context.report(node, devDepErrorMessage(realPackageName)); return; } - context.report(node, missingErrorMessage(packageName)); + if (( + importPackageNameDeclaration.isInOptDeps || + realPackageNameDeclaration.isInOptDeps) && + !depsOptions.allowOptDeps) { + context.report(node, optDepErrorMessage(realPackageName)); + return; + } + + context.report(node, missingErrorMessage(realPackageName)); } function testConfig(config, filename) { @@ -200,8 +260,8 @@ module.exports = { allowBundledDeps: testConfig(options.bundledDependencies, filename) !== false }; - return (0, _moduleVisitor2.default)(node => { - reportIfMissing(context, deps, depsOptions, node, node.value); + return (0, _moduleVisitor2.default)((source, node) => { + reportIfMissing(context, deps, depsOptions, node, source.value); }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcy5qcyJdLCJuYW1lcyI6WyJoYXNLZXlzIiwib2JqIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImFycmF5T3JLZXlzIiwiYXJyYXlPck9iamVjdCIsIkFycmF5IiwiaXNBcnJheSIsImV4dHJhY3REZXBGaWVsZHMiLCJwa2ciLCJkZXBlbmRlbmNpZXMiLCJkZXZEZXBlbmRlbmNpZXMiLCJvcHRpb25hbERlcGVuZGVuY2llcyIsInBlZXJEZXBlbmRlbmNpZXMiLCJidW5kbGVkRGVwZW5kZW5jaWVzIiwiYnVuZGxlRGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiY29udGV4dCIsInBhY2thZ2VEaXIiLCJwYXRocyIsInBhY2thZ2VDb250ZW50IiwicGF0aCIsInJlc29sdmUiLCJtYXAiLCJkaXIiLCJmb3JFYWNoIiwiX3BhY2thZ2VDb250ZW50IiwiSlNPTiIsInBhcnNlIiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJqb2luIiwiZGVwc0tleSIsImFzc2lnbiIsInJlYWRQa2dVcCIsInN5bmMiLCJjd2QiLCJnZXRGaWxlbmFtZSIsIm5vcm1hbGl6ZSIsInNvbWUiLCJlIiwiY29kZSIsInJlcG9ydCIsIm1lc3NhZ2UiLCJsb2MiLCJsaW5lIiwiY29sdW1uIiwibmFtZSIsIlN5bnRheEVycm9yIiwibWlzc2luZ0Vycm9yTWVzc2FnZSIsInBhY2thZ2VOYW1lIiwiZGV2RGVwRXJyb3JNZXNzYWdlIiwib3B0RGVwRXJyb3JNZXNzYWdlIiwicmVwb3J0SWZNaXNzaW5nIiwiZGVwcyIsImRlcHNPcHRpb25zIiwibm9kZSIsImltcG9ydEtpbmQiLCJwYXJlbnQiLCJyZXNvbHZlZCIsInNwbGl0TmFtZSIsInNwbGl0Iiwic2xpY2UiLCJpc0luRGVwcyIsInVuZGVmaW5lZCIsImlzSW5EZXZEZXBzIiwiaXNJbk9wdERlcHMiLCJpc0luUGVlckRlcHMiLCJpc0luQnVuZGxlZERlcHMiLCJpbmRleE9mIiwiYWxsb3dEZXZEZXBzIiwiYWxsb3dQZWVyRGVwcyIsImFsbG93T3B0RGVwcyIsImFsbG93QnVuZGxlZERlcHMiLCJ0ZXN0Q29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJjIiwicHJvY2VzcyIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJvcHRpb25zIiwidmFsdWUiLCJjb21tb25qcyJdLCJtYXBwaW5ncyI6ImFBQUEsNEI7QUFDQSx3QjtBQUNBLHdDO0FBQ0Esc0M7QUFDQSxzRDtBQUNBLGtFO0FBQ0EsZ0Q7QUFDQSxxQzs7QUFFQSxTQUFTQSxPQUFULEdBQTJCLEtBQVZDLEdBQVUsdUVBQUosRUFBSTtBQUN6QixTQUFPQyxPQUFPQyxJQUFQLENBQVlGLEdBQVosRUFBaUJHLE1BQWpCLEdBQTBCLENBQWpDO0FBQ0Q7O0FBRUQsU0FBU0MsV0FBVCxDQUFxQkMsYUFBckIsRUFBb0M7QUFDbEMsU0FBT0MsTUFBTUMsT0FBTixDQUFjRixhQUFkLElBQStCQSxhQUEvQixHQUErQ0osT0FBT0MsSUFBUCxDQUFZRyxhQUFaLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0csZ0JBQVQsQ0FBMEJDLEdBQTFCLEVBQStCO0FBQzdCLFNBQU87QUFDTEMsa0JBQWNELElBQUlDLFlBQUosSUFBb0IsRUFEN0I7QUFFTEMscUJBQWlCRixJQUFJRSxlQUFKLElBQXVCLEVBRm5DO0FBR0xDLDBCQUFzQkgsSUFBSUcsb0JBQUosSUFBNEIsRUFIN0M7QUFJTEMsc0JBQWtCSixJQUFJSSxnQkFBSixJQUF3QixFQUpyQztBQUtMO0FBQ0E7QUFDQUMseUJBQXFCVixZQUFZSyxJQUFJTSxrQkFBSixJQUEwQk4sSUFBSUssbUJBQTlCLElBQXFELEVBQWpFLENBUGhCLEVBQVA7O0FBU0Q7O0FBRUQsU0FBU0UsZUFBVCxDQUF5QkMsT0FBekIsRUFBa0NDLFVBQWxDLEVBQThDO0FBQzVDLE1BQUlDLFFBQVEsRUFBWjtBQUNBLE1BQUk7QUFDRixVQUFN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USxDQUFDLFNBQUQsRUFBWSxPQUFaLENBQVYsRUFKWDtBQUtaLHNCQUFjLEVBQUUsUUFBUSxDQUFDLFFBQUQsRUFBVyxPQUFYLENBQVYsRUFMRixFQUZoQjs7QUFTRSw4QkFBd0IsS0FUMUIsRUFETSxDQU5KLEVBRFM7Ozs7O0FBc0JmQyxVQUFRLFVBQVVyRSxPQUFWLEVBQW1CO0FBQ3pCLFVBQU1zRSxVQUFVdEUsUUFBUXNFLE9BQVIsQ0FBZ0IsQ0FBaEIsS0FBc0IsRUFBdEM7QUFDQSxVQUFNWCxXQUFXM0QsUUFBUW9CLFdBQVIsRUFBakI7QUFDQSxVQUFNaUIsT0FBT3RDLGdCQUFnQkMsT0FBaEIsRUFBeUJzRSxRQUFRckUsVUFBakMsS0FBZ0RWLGlCQUFpQixFQUFqQixDQUE3RDs7QUFFQSxVQUFNK0MsY0FBYztBQUNsQmUsb0JBQWNJLFdBQVdhLFFBQVE1RSxlQUFuQixFQUFvQ2lFLFFBQXBDLE1BQWtELEtBRDlDO0FBRWxCSixvQkFBY0UsV0FBV2EsUUFBUTNFLG9CQUFuQixFQUF5Q2dFLFFBQXpDLE1BQXVELEtBRm5EO0FBR2xCTCxxQkFBZUcsV0FBV2EsUUFBUTFFLGdCQUFuQixFQUFxQytELFFBQXJDLE1BQW1ELEtBSGhEO0FBSWxCSCx3QkFBa0JDLFdBQVdhLFFBQVF6RSxtQkFBbkIsRUFBd0M4RCxRQUF4QyxNQUFzRCxLQUp0RCxFQUFwQjs7O0FBT0EsV0FBTyw2QkFBY3BCLFFBQVE7QUFDM0JILHNCQUFnQnBDLE9BQWhCLEVBQXlCcUMsSUFBekIsRUFBK0JDLFdBQS9CLEVBQTRDQyxJQUE1QyxFQUFrREEsS0FBS2dDLEtBQXZEO0FBQ0QsS0FGTSxFQUVKLEVBQUNDLFVBQVUsSUFBWCxFQUZJLENBQVA7QUFHRCxHQXJDYyxFQUFqQiIsImZpbGUiOiJuby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcmVhZFBrZ1VwIGZyb20gJ3JlYWQtcGtnLXVwJ1xuaW1wb3J0IG1pbmltYXRjaCBmcm9tICdtaW5pbWF0Y2gnXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5pbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InXG5pbXBvcnQgaW1wb3J0VHlwZSBmcm9tICcuLi9jb3JlL2ltcG9ydFR5cGUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5mdW5jdGlvbiBoYXNLZXlzKG9iaiA9IHt9KSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA+IDBcbn1cblxuZnVuY3Rpb24gYXJyYXlPcktleXMoYXJyYXlPck9iamVjdCkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShhcnJheU9yT2JqZWN0KSA/IGFycmF5T3JPYmplY3QgOiBPYmplY3Qua2V5cyhhcnJheU9yT2JqZWN0KVxufVxuXG5mdW5jdGlvbiBleHRyYWN0RGVwRmllbGRzKHBrZykge1xuICByZXR1cm4ge1xuICAgIGRlcGVuZGVuY2llczogcGtnLmRlcGVuZGVuY2llcyB8fCB7fSxcbiAgICBkZXZEZXBlbmRlbmNpZXM6IHBrZy5kZXZEZXBlbmRlbmNpZXMgfHwge30sXG4gICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6IHBrZy5vcHRpb25hbERlcGVuZGVuY2llcyB8fCB7fSxcbiAgICBwZWVyRGVwZW5kZW5jaWVzOiBwa2cucGVlckRlcGVuZGVuY2llcyB8fCB7fSxcbiAgICAvLyBCdW5kbGVkRGVwcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYW4gYXJyYXksIGJ1dCBvYmplY3Qgbm90YXRpb24gaXMgYWxzbyBzdXBwb3J0ZWQgYnlcbiAgICAvLyBgbnBtYCwgc28gd2UgY29udmVydCBpdCB0byBhbiBhcnJheSBpZiBpdCBpcyBhbiBvYmplY3RcbiAgICBidW5kbGVkRGVwZW5kZW5jaWVzOiBhcnJheU9yS2V5cyhwa2cuYnVuZGxlRGVwZW5kZW5jaWVzIHx8IHBrZy5idW5kbGVkRGVwZW5kZW5jaWVzIHx8IFtdKSxcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZXBlbmRlbmNpZXMoY29udGV4dCwgcGFja2FnZURpcikge1xuICBsZXQgcGF0aHMgPSBbXVxuICB0cnkge1xuICAgIGNvbnN0IHBhY2thZ2VDb250ZW50ID0ge1xuICAgICAgZGVwZW5kZW5jaWVzOiB7fSxcbiAgICAgIGRldkRlcGVuZGVuY2llczoge30sXG4gICAgICBvcHRpb25hbERlcGVuZGVuY2llczoge30sXG4gICAgICBwZWVyRGVwZW5kZW5jaWVzOiB7fSxcbiAgICAgIGJ1bmRsZWREZXBlbmRlbmNpZXM6IFtdLFxuICAgIH1cblxuICAgIGlmIChwYWNrYWdlRGlyICYmIHBhY2thZ2VEaXIubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBhY2thZ2VEaXIpKSB7XG4gICAgICAgIHBhdGhzID0gW3BhdGgucmVzb2x2ZShwYWNrYWdlRGlyKV1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhdGhzID0gcGFja2FnZURpci5tYXAoZGlyID0+IHBhdGgucmVzb2x2ZShkaXIpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyB1c2UgcnVsZSBjb25maWcgdG8gZmluZCBwYWNrYWdlLmpzb25cbiAgICAgIHBhdGhzLmZvckVhY2goZGlyID0+IHtcbiAgICAgICAgY29uc3QgX3BhY2thZ2VDb250ZW50ID0gZXh0cmFjdERlcEZpZWxkcyhcbiAgICAgICAgICBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4oZGlyLCAncGFja2FnZS5qc29uJyksICd1dGY4JykpXG4gICAgICAgIClcbiAgICAgICAgT2JqZWN0LmtleXMocGFja2FnZUNvbnRlbnQpLmZvckVhY2goZGVwc0tleSA9PlxuICAgICAgICAgIE9iamVjdC5hc3NpZ24ocGFja2FnZUNvbnRlbnRbZGVwc0tleV0sIF9wYWNrYWdlQ29udGVudFtkZXBzS2V5XSlcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdXNlIGNsb3Nlc3QgcGFja2FnZS5qc29uXG4gICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICBwYWNrYWdlQ29udGVudCxcbiAgICAgICAgZXh0cmFjdERlcEZpZWxkcyhcbiAgICAgICAgICByZWFkUGtnVXAuc3luYyh7Y3dkOiBjb250ZXh0LmdldEZpbGVuYW1lKCksIG5vcm1hbGl6ZTogZmFsc2V9KS5wa2dcbiAgICAgICAgKVxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghW1xuICAgICAgcGFja2FnZUNvbnRlbnQuZGVwZW5kZW5jaWVzLFxuICAgICAgcGFja2FnZUNvbnRlbnQuZGV2RGVwZW5kZW5jaWVzLFxuICAgICAgcGFja2FnZUNvbnRlbnQub3B0aW9uYWxEZXBlbmRlbmNpZXMsXG4gICAgICBwYWNrYWdlQ29udGVudC5wZWVyRGVwZW5kZW5jaWVzLFxuICAgICAgcGFja2FnZUNvbnRlbnQuYnVuZGxlZERlcGVuZGVuY2llcyxcbiAgICBdLnNvbWUoaGFzS2V5cykpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhY2thZ2VDb250ZW50XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAocGF0aHMubGVuZ3RoID4gMCAmJiBlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgcGFja2FnZS5qc29uIGZpbGUgY291bGQgbm90IGJlIGZvdW5kLicsXG4gICAgICAgIGxvYzogeyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChlLm5hbWUgPT09ICdKU09ORXJyb3InIHx8IGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBtZXNzYWdlOiAnVGhlIHBhY2thZ2UuanNvbiBmaWxlIGNvdWxkIG5vdCBiZSBwYXJzZWQ6ICcgKyBlLm1lc3NhZ2UsXG4gICAgICAgIGxvYzogeyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5mdW5jdGlvbiBtaXNzaW5nRXJyb3JNZXNzYWdlKHBhY2thZ2VOYW1lKSB7XG4gIHJldHVybiBgJyR7cGFja2FnZU5hbWV9JyBzaG91bGQgYmUgbGlzdGVkIGluIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzLiBgICtcbiAgICBgUnVuICducG0gaSAtUyAke3BhY2thZ2VOYW1lfScgdG8gYWRkIGl0YFxufVxuXG5mdW5jdGlvbiBkZXZEZXBFcnJvck1lc3NhZ2UocGFja2FnZU5hbWUpIHtcbiAgcmV0dXJuIGAnJHtwYWNrYWdlTmFtZX0nIHNob3VsZCBiZSBsaXN0ZWQgaW4gdGhlIHByb2plY3QncyBkZXBlbmRlbmNpZXMsIG5vdCBkZXZEZXBlbmRlbmNpZXMuYFxufVxuXG5mdW5jdGlvbiBvcHREZXBFcnJvck1lc3NhZ2UocGFja2FnZU5hbWUpIHtcbiAgcmV0dXJuIGAnJHtwYWNrYWdlTmFtZX0nIHNob3VsZCBiZSBsaXN0ZWQgaW4gdGhlIHByb2plY3QncyBkZXBlbmRlbmNpZXMsIGAgK1xuICAgIGBub3Qgb3B0aW9uYWxEZXBlbmRlbmNpZXMuYFxufVxuXG5mdW5jdGlvbiByZXBvcnRJZk1pc3NpbmcoY29udGV4dCwgZGVwcywgZGVwc09wdGlvbnMsIG5vZGUsIG5hbWUpIHtcbiAgLy8gRG8gbm90IHJlcG9ydCB3aGVuIGltcG9ydGluZyB0eXBlc1xuICBpZiAobm9kZS5pbXBvcnRLaW5kID09PSAndHlwZScgfHwgKG5vZGUucGFyZW50ICYmIG5vZGUucGFyZW50LmltcG9ydEtpbmQgPT09ICd0eXBlJykpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChpbXBvcnRUeXBlKG5hbWUsIGNvbnRleHQpICE9PSAnZXh0ZXJuYWwnKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmUobmFtZSwgY29udGV4dClcbiAgaWYgKCFyZXNvbHZlZCkgeyByZXR1cm4gfVxuXG4gIGNvbnN0IHNwbGl0TmFtZSA9IG5hbWUuc3BsaXQoJy8nKVxuICBjb25zdCBwYWNrYWdlTmFtZSA9IHNwbGl0TmFtZVswXVswXSA9PT0gJ0AnXG4gICAgPyBzcGxpdE5hbWUuc2xpY2UoMCwgMikuam9pbignLycpXG4gICAgOiBzcGxpdE5hbWVbMF1cbiAgY29uc3QgaXNJbkRlcHMgPSBkZXBzLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gIT09IHVuZGVmaW5lZFxuICBjb25zdCBpc0luRGV2RGVwcyA9IGRlcHMuZGV2RGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXSAhPT0gdW5kZWZpbmVkXG4gIGNvbnN0IGlzSW5PcHREZXBzID0gZGVwcy5vcHRpb25hbERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gIT09IHVuZGVmaW5lZFxuICBjb25zdCBpc0luUGVlckRlcHMgPSBkZXBzLnBlZXJEZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdICE9PSB1bmRlZmluZWRcbiAgY29uc3QgaXNJbkJ1bmRsZWREZXBzID0gZGVwcy5idW5kbGVkRGVwZW5kZW5jaWVzLmluZGV4T2YocGFja2FnZU5hbWUpICE9PSAtMVxuXG4gIGlmIChpc0luRGVwcyB8fFxuICAgIChkZXBzT3B0aW9ucy5hbGxvd0RldkRlcHMgJiYgaXNJbkRldkRlcHMpIHx8XG4gICAgKGRlcHNPcHRpb25zLmFsbG93UGVlckRlcHMgJiYgaXNJblBlZXJEZXBzKSB8fFxuICAgIChkZXBzT3B0aW9ucy5hbGxvd09wdERlcHMgJiYgaXNJbk9wdERlcHMpIHx8XG4gICAgKGRlcHNPcHRpb25zLmFsbG93QnVuZGxlZERlcHMgJiYgaXNJbkJ1bmRsZWREZXBzKVxuICApIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChpc0luRGV2RGVwcyAmJiAhZGVwc09wdGlvbnMuYWxsb3dEZXZEZXBzKSB7XG4gICAgY29udGV4dC5yZXBvcnQobm9kZSwgZGV2RGVwRXJyb3JNZXNzYWdlKHBhY2thZ2VOYW1lKSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChpc0luT3B0RGVwcyAmJiAhZGVwc09wdGlvbnMuYWxsb3dPcHREZXBzKSB7XG4gICAgY29udGV4dC5yZXBvcnQobm9kZSwgb3B0RGVwRXJyb3JNZXNzYWdlKHBhY2thZ2VOYW1lKSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KG5vZGUsIG1pc3NpbmdFcnJvck1lc3NhZ2UocGFja2FnZU5hbWUpKVxufVxuXG5mdW5jdGlvbiB0ZXN0Q29uZmlnKGNvbmZpZywgZmlsZW5hbWUpIHtcbiAgLy8gU2ltcGxlc3QgY29uZmlndXJhdGlvbiBmaXJzdCwgZWl0aGVyIGEgYm9vbGVhbiBvciBub3RoaW5nLlxuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ2Jvb2xlYW4nIHx8IHR5cGVvZiBjb25maWcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG4gIC8vIEFycmF5IG9mIGdsb2JzLlxuICByZXR1cm4gY29uZmlnLnNvbWUoYyA9PiAoXG4gICAgbWluaW1hdGNoKGZpbGVuYW1lLCBjKSB8fFxuICAgIG1pbmltYXRjaChmaWxlbmFtZSwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGMpKVxuICApKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzJyksXG4gICAgfSxcblxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICAndHlwZSc6ICdvYmplY3QnLFxuICAgICAgICAncHJvcGVydGllcyc6IHtcbiAgICAgICAgICAnZGV2RGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ29wdGlvbmFsRGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ3BlZXJEZXBlbmRlbmNpZXMnOiB7ICd0eXBlJzogWydib29sZWFuJywgJ2FycmF5J10gfSxcbiAgICAgICAgICAnYnVuZGxlZERlcGVuZGVuY2llcyc6IHsgJ3R5cGUnOiBbJ2Jvb2xlYW4nLCAnYXJyYXknXSB9LFxuICAgICAgICAgICdwYWNrYWdlRGlyJzogeyAndHlwZSc6IFsnc3RyaW5nJywgJ2FycmF5J10gfSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJzogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cbiAgICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKVxuICAgIGNvbnN0IGRlcHMgPSBnZXREZXBlbmRlbmNpZXMoY29udGV4dCwgb3B0aW9ucy5wYWNrYWdlRGlyKSB8fCBleHRyYWN0RGVwRmllbGRzKHt9KVxuXG4gICAgY29uc3QgZGVwc09wdGlvbnMgPSB7XG4gICAgICBhbGxvd0RldkRlcHM6IHRlc3RDb25maWcob3B0aW9ucy5kZXZEZXBlbmRlbmNpZXMsIGZpbGVuYW1lKSAhPT0gZmFsc2UsXG4gICAgICBhbGxvd09wdERlcHM6IHRlc3RDb25maWcob3B0aW9ucy5vcHRpb25hbERlcGVuZGVuY2llcywgZmlsZW5hbWUpICE9PSBmYWxzZSxcbiAgICAgIGFsbG93UGVlckRlcHM6IHRlc3RDb25maWcob3B0aW9ucy5wZWVyRGVwZW5kZW5jaWVzLCBmaWxlbmFtZSkgIT09IGZhbHNlLFxuICAgICAgYWxsb3dCdW5kbGVkRGVwczogdGVzdENvbmZpZyhvcHRpb25zLmJ1bmRsZWREZXBlbmRlbmNpZXMsIGZpbGVuYW1lKSAhPT0gZmFsc2UsXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3Iobm9kZSA9PiB7XG4gICAgICByZXBvcnRJZk1pc3NpbmcoY29udGV4dCwgZGVwcywgZGVwc09wdGlvbnMsIG5vZGUsIG5vZGUudmFsdWUpXG4gICAgfSwge2NvbW1vbmpzOiB0cnVlfSlcbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcy5qcyJdLCJuYW1lcyI6WyJkZXBGaWVsZENhY2hlIiwiTWFwIiwiaGFzS2V5cyIsIm9iaiIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJhcnJheU9yS2V5cyIsImFycmF5T3JPYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJleHRyYWN0RGVwRmllbGRzIiwicGtnIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwZW5kZW5jaWVzIiwib3B0aW9uYWxEZXBlbmRlbmNpZXMiLCJwZWVyRGVwZW5kZW5jaWVzIiwiYnVuZGxlZERlcGVuZGVuY2llcyIsImJ1bmRsZURlcGVuZGVuY2llcyIsImdldERlcGVuZGVuY2llcyIsImNvbnRleHQiLCJwYWNrYWdlRGlyIiwicGF0aHMiLCJwYWNrYWdlQ29udGVudCIsInBhdGgiLCJyZXNvbHZlIiwibWFwIiwiZGlyIiwiZm9yRWFjaCIsInBhY2thZ2VKc29uUGF0aCIsImpvaW4iLCJoYXMiLCJkZXBGaWVsZHMiLCJKU09OIiwicGFyc2UiLCJmcyIsInJlYWRGaWxlU3luYyIsInNldCIsIl9wYWNrYWdlQ29udGVudCIsImdldCIsImRlcHNLZXkiLCJhc3NpZ24iLCJyZWFkUGtnVXAiLCJzeW5jIiwiY3dkIiwiZ2V0RmlsZW5hbWUiLCJub3JtYWxpemUiLCJzb21lIiwiZSIsImNvZGUiLCJyZXBvcnQiLCJtZXNzYWdlIiwibG9jIiwibGluZSIsImNvbHVtbiIsIm5hbWUiLCJTeW50YXhFcnJvciIsIm1pc3NpbmdFcnJvck1lc3NhZ2UiLCJwYWNrYWdlTmFtZSIsImRldkRlcEVycm9yTWVzc2FnZSIsIm9wdERlcEVycm9yTWVzc2FnZSIsImdldE1vZHVsZU9yaWdpbmFsTmFtZSIsInNwbGl0IiwiZmlyc3QiLCJzZWNvbmQiLCJzdGFydHNXaXRoIiwiZ2V0TW9kdWxlUmVhbE5hbWUiLCJyZXNvbHZlZCIsImNoZWNrRGVwZW5kZW5jeURlY2xhcmF0aW9uIiwiZGVwcyIsInBhY2thZ2VIaWVyYXJjaHkiLCJwYWNrYWdlTmFtZVBhcnRzIiwibmFtZVBhcnQiLCJpbmRleCIsImFuY2VzdG9yIiwic2xpY2UiLCJwdXNoIiwicmVkdWNlIiwicmVzdWx0IiwiYW5jZXN0b3JOYW1lIiwiaXNJbkRlcHMiLCJ1bmRlZmluZWQiLCJpc0luRGV2RGVwcyIsImlzSW5PcHREZXBzIiwiaXNJblBlZXJEZXBzIiwiaXNJbkJ1bmRsZWREZXBzIiwiaW5kZXhPZiIsInJlcG9ydElmTWlzc2luZyIsImRlcHNPcHRpb25zIiwibm9kZSIsImltcG9ydEtpbmQiLCJwYXJlbnQiLCJpbXBvcnRQYWNrYWdlTmFtZSIsImltcG9ydFBhY2thZ2VOYW1lRGVjbGFyYXRpb24iLCJhbGxvd0RldkRlcHMiLCJhbGxvd1BlZXJEZXBzIiwiYWxsb3dPcHREZXBzIiwiYWxsb3dCdW5kbGVkRGVwcyIsInJlYWxQYWNrYWdlTmFtZSIsInJlYWxQYWNrYWdlTmFtZURlY2xhcmF0aW9uIiwidGVzdENvbmZpZyIsImNvbmZpZyIsImZpbGVuYW1lIiwiYyIsInByb2Nlc3MiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwib3B0aW9ucyIsInNvdXJjZSIsInZhbHVlIiwiY29tbW9uanMiXSwibWFwcGluZ3MiOiJxb0JBQUEsNEI7QUFDQSx3QjtBQUNBLHdDO0FBQ0Esc0M7QUFDQSxzRDtBQUNBLGtFO0FBQ0EsZ0Q7QUFDQTtBQUNBLHFDOztBQUVBLE1BQU1BLGdCQUFnQixJQUFJQyxHQUFKLEVBQXRCOztBQUVBLFNBQVNDLE9BQVQsR0FBMkIsS0FBVkMsR0FBVSx1RUFBSixFQUFJO0FBQ3pCLFNBQU9DLE9BQU9DLElBQVAsQ0FBWUYsR0FBWixFQUFpQkcsTUFBakIsR0FBMEIsQ0FBakM7QUFDRDs7QUFFRCxTQUFTQyxXQUFULENBQXFCQyxhQUFyQixFQUFvQztBQUNsQyxTQUFPQyxNQUFNQyxPQUFOLENBQWNGLGFBQWQsSUFBK0JBLGFBQS9C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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHJlYWRQa2dVcCBmcm9tICdyZWFkLXBrZy11cCc7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gJ21pbmltYXRjaCc7XG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJztcbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgeyBnZXRGaWxlUGFja2FnZU5hbWUgfSBmcm9tICcuLi9jb3JlL3BhY2thZ2VQYXRoJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5jb25zdCBkZXBGaWVsZENhY2hlID0gbmV3IE1hcCgpO1xuXG5mdW5jdGlvbiBoYXNLZXlzKG9iaiA9IHt9KSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA+IDA7XG59XG5cbmZ1bmN0aW9uIGFycmF5T3JLZXlzKGFycmF5T3JPYmplY3QpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyYXlPck9iamVjdCkgPyBhcnJheU9yT2JqZWN0IDogT2JqZWN0LmtleXMoYXJyYXlPck9iamVjdCk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3REZXBGaWVsZHMocGtnKSB7XG4gIHJldHVybiB7XG4gICAgZGVwZW5kZW5jaWVzOiBwa2cuZGVwZW5kZW5jaWVzIHx8IHt9LFxuICAgIGRldkRlcGVuZGVuY2llczogcGtnLmRldkRlcGVuZGVuY2llcyB8fCB7fSxcbiAgICBvcHRpb25hbERlcGVuZGVuY2llczogcGtnLm9wdGlvbmFsRGVwZW5kZW5jaWVzIHx8IHt9LFxuICAgIHBlZXJEZXBlbmRlbmNpZXM6IHBrZy5wZWVyRGVwZW5kZW5jaWVzIHx8IHt9LFxuICAgIC8vIEJ1bmRsZWREZXBzIHNob3VsZCBiZSBpbiB0aGUgZm9ybSBvZiBhbiBhcnJheSwgYnV0IG9iamVjdCBub3RhdGlvbiBpcyBhbHNvIHN1cHBvcnRlZCBieVxuICAgIC8vIGBucG1gLCBzbyB3ZSBjb252ZXJ0IGl0IHRvIGFuIGFycmF5IGlmIGl0IGlzIGFuIG9iamVjdFxuICAgIGJ1bmRsZWREZXBlbmRlbmNpZXM6IGFycmF5T3JLZXlzKHBrZy5idW5kbGVEZXBlbmRlbmNpZXMgfHwgcGtnLmJ1bmRsZWREZXBlbmRlbmNpZXMgfHwgW10pLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXREZXBlbmRlbmNpZXMoY29udGV4dCwgcGFja2FnZURpcikge1xuICBsZXQgcGF0aHMgPSBbXTtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYWNrYWdlQ29udGVudCA9IHtcbiAgICAgIGRlcGVuZGVuY2llczoge30sXG4gICAgICBkZXZEZXBlbmRlbmNpZXM6IHt9LFxuICAgICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6IHt9LFxuICAgICAgcGVlckRlcGVuZGVuY2llczoge30sXG4gICAgICBidW5kbGVkRGVwZW5kZW5jaWVzOiBbXSxcbiAgICB9O1xuXG4gICAgaWYgKHBhY2thZ2VEaXIgJiYgcGFja2FnZURpci5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGFja2FnZURpcikpIHtcbiAgICAgICAgcGF0aHMgPSBbcGF0aC5yZXNvbHZlKHBhY2thZ2VEaXIpXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhdGhzID0gcGFja2FnZURpci5tYXAoZGlyID0+IHBhdGgucmVzb2x2ZShkaXIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gdXNlIHJ1bGUgY29uZmlnIHRvIGZpbmQgcGFja2FnZS5qc29uXG4gICAgICBwYXRocy5mb3JFYWNoKGRpciA9PiB7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGguam9pbihkaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICAgICAgaWYgKCFkZXBGaWVsZENhY2hlLmhhcyhwYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgICAgICAgY29uc3QgZGVwRmllbGRzID0gZXh0cmFjdERlcEZpZWxkcyhcbiAgICAgICAgICAgIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0ZjgnKSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGRlcEZpZWxkQ2FjaGUuc2V0KHBhY2thZ2VKc29uUGF0aCwgZGVwRmllbGRzKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBfcGFja2FnZUNvbnRlbnQgPSBkZXBGaWVsZENhY2hlLmdldChwYWNrYWdlSnNvblBhdGgpO1xuICAgICAgICBPYmplY3Qua2V5cyhwYWNrYWdlQ29udGVudCkuZm9yRWFjaChkZXBzS2V5ID0+XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihwYWNrYWdlQ29udGVudFtkZXBzS2V5XSwgX3BhY2thZ2VDb250ZW50W2RlcHNLZXldKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVzZSBjbG9zZXN0IHBhY2thZ2UuanNvblxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgcGFja2FnZUNvbnRlbnQsXG4gICAgICAgIGV4dHJhY3REZXBGaWVsZHMoXG4gICAgICAgICAgcmVhZFBrZ1VwLnN5bmMoeyBjd2Q6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKSwgbm9ybWFsaXplOiBmYWxzZSB9KS5wa2dcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIVtcbiAgICAgIHBhY2thZ2VDb250ZW50LmRlcGVuZGVuY2llcyxcbiAgICAgIHBhY2thZ2VDb250ZW50LmRldkRlcGVuZGVuY2llcyxcbiAgICAgIHBhY2thZ2VDb250ZW50Lm9wdGlvbmFsRGVwZW5kZW5jaWVzLFxuICAgICAgcGFja2FnZUNvbnRlbnQucGVlckRlcGVuZGVuY2llcyxcbiAgICAgIHBhY2thZ2VDb250ZW50LmJ1bmRsZWREZXBlbmRlbmNpZXMsXG4gICAgXS5zb21lKGhhc0tleXMpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFja2FnZUNvbnRlbnQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAocGF0aHMubGVuZ3RoID4gMCAmJiBlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgcGFja2FnZS5qc29uIGZpbGUgY291bGQgbm90IGJlIGZvdW5kLicsXG4gICAgICAgIGxvYzogeyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoZS5uYW1lID09PSAnSlNPTkVycm9yJyB8fCBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbWVzc2FnZTogJ1RoZSBwYWNrYWdlLmpzb24gZmlsZSBjb3VsZCBub3QgYmUgcGFyc2VkOiAnICsgZS5tZXNzYWdlLFxuICAgICAgICBsb2M6IHsgbGluZTogMCwgY29sdW1uOiAwIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiBtaXNzaW5nRXJyb3JNZXNzYWdlKHBhY2thZ2VOYW1lKSB7XG4gIHJldHVybiBgJyR7cGFja2FnZU5hbWV9JyBzaG91bGQgYmUgbGlzdGVkIGluIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzLiBgICtcbiAgICBgUnVuICducG0gaSAtUyAke3BhY2thZ2VOYW1lfScgdG8gYWRkIGl0YDtcbn1cblxuZnVuY3Rpb24gZGV2RGVwRXJyb3JNZXNzYWdlKHBhY2thZ2VOYW1lKSB7XG4gIHJldHVybiBgJyR7cGFja2FnZU5hbWV9JyBzaG91bGQgYmUgbGlzdGVkIGluIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzLCBub3QgZGV2RGVwZW5kZW5jaWVzLmA7XG59XG5cbmZ1bmN0aW9uIG9wdERlcEVycm9yTWVzc2FnZShwYWNrYWdlTmFtZSkge1xuICByZXR1cm4gYCcke3BhY2thZ2VOYW1lfScgc2hvdWxkIGJlIGxpc3RlZCBpbiB0aGUgcHJvamVjdCdzIGRlcGVuZGVuY2llcywgYCArXG4gICAgYG5vdCBvcHRpb25hbERlcGVuZGVuY2llcy5gO1xufVxuXG5mdW5jdGlvbiBnZXRNb2R1bGVPcmlnaW5hbE5hbWUobmFtZSkge1xuICBjb25zdCBbZmlyc3QsIHNlY29uZF0gPSBuYW1lLnNwbGl0KCcvJyk7XG4gIHJldHVybiBmaXJzdC5zdGFydHNXaXRoKCdAJykgPyBgJHtmaXJzdH0vJHtzZWNvbmR9YCA6IGZpcnN0O1xufVxuXG5mdW5jdGlvbiBnZXRNb2R1bGVSZWFsTmFtZShyZXNvbHZlZCkge1xuICByZXR1cm4gZ2V0RmlsZVBhY2thZ2VOYW1lKHJlc29sdmVkKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tEZXBlbmRlbmN5RGVjbGFyYXRpb24oZGVwcywgcGFja2FnZU5hbWUpIHtcbiAgLy8gaW4gY2FzZSBvZiBzdWIgcGFja2FnZS5qc29uIGluc2lkZSBhIG1vZHVsZVxuICAvLyBjaGVjayB0aGUgZGVwZW5kZW5jaWVzIG9uIGFsbCBoaWVyYXJjaHlcbiAgY29uc3QgcGFja2FnZUhpZXJhcmNoeSA9IFtdO1xuICBjb25zdCBwYWNrYWdlTmFtZVBhcnRzID0gcGFja2FnZU5hbWUuc3BsaXQoJy8nKTtcbiAgcGFja2FnZU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lUGFydCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIW5hbWVQYXJ0LnN0YXJ0c1dpdGgoJ0AnKSkge1xuICAgICAgY29uc3QgYW5jZXN0b3IgPSBwYWNrYWdlTmFtZVBhcnRzLnNsaWNlKDAsIGluZGV4ICsgMSkuam9pbignLycpO1xuICAgICAgcGFja2FnZUhpZXJhcmNoeS5wdXNoKGFuY2VzdG9yKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwYWNrYWdlSGllcmFyY2h5LnJlZHVjZSgocmVzdWx0LCBhbmNlc3Rvck5hbWUpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNJbkRlcHM6IHJlc3VsdC5pc0luRGVwcyB8fCBkZXBzLmRlcGVuZGVuY2llc1thbmNlc3Rvck5hbWVdICE9PSB1bmRlZmluZWQsXG4gICAgICBpc0luRGV2RGVwczogcmVzdWx0LmlzSW5EZXZEZXBzIHx8IGRlcHMuZGV2RGVwZW5kZW5jaWVzW2FuY2VzdG9yTmFtZV0gIT09IHVuZGVmaW5lZCxcbiAgICAgIGlzSW5PcHREZXBzOiByZXN1bHQuaXNJbk9wdERlcHMgfHwgZGVwcy5vcHRpb25hbERlcGVuZGVuY2llc1thbmNlc3Rvck5hbWVdICE9PSB1bmRlZmluZWQsXG4gICAgICBpc0luUGVlckRlcHM6IHJlc3VsdC5pc0luUGVlckRlcHMgfHwgZGVwcy5wZWVyRGVwZW5kZW5jaWVzW2FuY2VzdG9yTmFtZV0gIT09IHVuZGVmaW5lZCxcbiAgICAgIGlzSW5CdW5kbGVkRGVwczpcbiAgICAgICAgcmVzdWx0LmlzSW5CdW5kbGVkRGVwcyB8fCBkZXBzLmJ1bmRsZWREZXBlbmRlbmNpZXMuaW5kZXhPZihhbmNlc3Rvck5hbWUpICE9PSAtMSxcbiAgICB9O1xuICB9LCB7XG4gICAgaXNJbkRlcHM6IGZhbHNlLFxuICAgIGlzSW5EZXZEZXBzOiBmYWxzZSxcbiAgICBpc0luT3B0RGVwczogZmFsc2UsXG4gICAgaXNJblBlZXJEZXBzOiBmYWxzZSxcbiAgICBpc0luQnVuZGxlZERlcHM6IGZhbHNlLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVwb3J0SWZNaXNzaW5nKGNvbnRleHQsIGRlcHMsIGRlcHNPcHRpb25zLCBub2RlLCBuYW1lKSB7XG4gIC8vIERvIG5vdCByZXBvcnQgd2hlbiBpbXBvcnRpbmcgdHlwZXNcbiAgaWYgKG5vZGUuaW1wb3J0S2luZCA9PT0gJ3R5cGUnIHx8IChub2RlLnBhcmVudCAmJiBub2RlLnBhcmVudC5pbXBvcnRLaW5kID09PSAndHlwZScpIHx8IG5vZGUuaW1wb3J0S2luZCA9PT0gJ3R5cGVvZicpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoaW1wb3J0VHlwZShuYW1lLCBjb250ZXh0KSAhPT0gJ2V4dGVybmFsJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZShuYW1lLCBjb250ZXh0KTtcbiAgaWYgKCFyZXNvbHZlZCkgeyByZXR1cm47IH1cblxuICBjb25zdCBpbXBvcnRQYWNrYWdlTmFtZSA9IGdldE1vZHVsZU9yaWdpbmFsTmFtZShuYW1lKTtcbiAgY29uc3QgaW1wb3J0UGFja2FnZU5hbWVEZWNsYXJhdGlvbiA9IGNoZWNrRGVwZW5kZW5jeURlY2xhcmF0aW9uKGRlcHMsIGltcG9ydFBhY2thZ2VOYW1lKTtcblxuICBpZiAoaW1wb3J0UGFja2FnZU5hbWVEZWNsYXJhdGlvbi5pc0luRGVwcyB8fFxuICAgIChkZXBzT3B0aW9ucy5hbGxvd0RldkRlcHMgJiYgaW1wb3J0UGFja2FnZU5hbWVEZWNsYXJhdGlvbi5pc0luRGV2RGVwcykgfHxcbiAgICAoZGVwc09wdGlvbnMuYWxsb3dQZWVyRGVwcyAmJiBpbXBvcnRQYWNrYWdlTmFtZURlY2xhcmF0aW9uLmlzSW5QZWVyRGVwcykgfHxcbiAgICAoZGVwc09wdGlvbnMuYWxsb3dPcHREZXBzICYmIGltcG9ydFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbk9wdERlcHMpIHx8XG4gICAgKGRlcHNPcHRpb25zLmFsbG93QnVuZGxlZERlcHMgJiYgaW1wb3J0UGFja2FnZU5hbWVEZWNsYXJhdGlvbi5pc0luQnVuZGxlZERlcHMpXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIHRlc3QgdGhlIHJlYWwgbmFtZSBmcm9tIHRoZSByZXNvbHZlZCBwYWNrYWdlLmpzb25cbiAgLy8gaWYgbm90IGFsaWFzZWQgaW1wb3J0cyAoYWxpYXMvcmVhY3QgZm9yIGV4YW1wbGUpLCBpbXBvcnRQYWNrYWdlTmFtZSBjYW4gYmUgIG1pc2ludGVycHJldGVkXG4gIGNvbnN0IHJlYWxQYWNrYWdlTmFtZSA9IGdldE1vZHVsZVJlYWxOYW1lKHJlc29sdmVkKTtcbiAgY29uc3QgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24gPSBjaGVja0RlcGVuZGVuY3lEZWNsYXJhdGlvbihkZXBzLCByZWFsUGFja2FnZU5hbWUpO1xuXG4gIGlmIChyZWFsUGFja2FnZU5hbWVEZWNsYXJhdGlvbi5pc0luRGVwcyB8fFxuICAgIChkZXBzT3B0aW9ucy5hbGxvd0RldkRlcHMgJiYgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbkRldkRlcHMpIHx8XG4gICAgKGRlcHNPcHRpb25zLmFsbG93UGVlckRlcHMgJiYgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJblBlZXJEZXBzKSB8fFxuICAgIChkZXBzT3B0aW9ucy5hbGxvd09wdERlcHMgJiYgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbk9wdERlcHMpIHx8XG4gICAgKGRlcHNPcHRpb25zLmFsbG93QnVuZGxlZERlcHMgJiYgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbkJ1bmRsZWREZXBzKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoKFxuICAgIGltcG9ydFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbkRldkRlcHMgfHxcbiAgICByZWFsUGFja2FnZU5hbWVEZWNsYXJhdGlvbi5pc0luRGV2RGVwc1xuICApICYmICFkZXBzT3B0aW9ucy5hbGxvd0RldkRlcHMpIHtcbiAgICBjb250ZXh0LnJlcG9ydChub2RlLCBkZXZEZXBFcnJvck1lc3NhZ2UocmVhbFBhY2thZ2VOYW1lKSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKChcbiAgICBpbXBvcnRQYWNrYWdlTmFtZURlY2xhcmF0aW9uLmlzSW5PcHREZXBzIHx8XG4gICAgcmVhbFBhY2thZ2VOYW1lRGVjbGFyYXRpb24uaXNJbk9wdERlcHNcbiAgKSAmJiAhZGVwc09wdGlvbnMuYWxsb3dPcHREZXBzKSB7XG4gICAgY29udGV4dC5yZXBvcnQobm9kZSwgb3B0RGVwRXJyb3JNZXNzYWdlKHJlYWxQYWNrYWdlTmFtZSkpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KG5vZGUsIG1pc3NpbmdFcnJvck1lc3NhZ2UocmVhbFBhY2thZ2VOYW1lKSk7XG59XG5cbmZ1bmN0aW9uIHRlc3RDb25maWcoY29uZmlnLCBmaWxlbmFtZSkge1xuICAvLyBTaW1wbGVzdCBjb25maWd1cmF0aW9uIGZpcnN0LCBlaXRoZXIgYSBib29sZWFuIG9yIG5vdGhpbmcuXG4gIGlmICh0eXBlb2YgY29uZmlnID09PSAnYm9vbGVhbicgfHwgdHlwZW9mIGNvbmZpZyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG4gIC8vIEFycmF5IG9mIGdsb2JzLlxuICByZXR1cm4gY29uZmlnLnNvbWUoYyA9PiAoXG4gICAgbWluaW1hdGNoKGZpbGVuYW1lLCBjKSB8fFxuICAgIG1pbmltYXRjaChmaWxlbmFtZSwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGMpKVxuICApKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcycpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiAnb2JqZWN0JyxcbiAgICAgICAgJ3Byb3BlcnRpZXMnOiB7XG4gICAgICAgICAgJ2RldkRlcGVuZGVuY2llcyc6IHsgJ3R5cGUnOiBbJ2Jvb2xlYW4nLCAnYXJyYXknXSB9LFxuICAgICAgICAgICdvcHRpb25hbERlcGVuZGVuY2llcyc6IHsgJ3R5cGUnOiBbJ2Jvb2xlYW4nLCAnYXJyYXknXSB9LFxuICAgICAgICAgICdwZWVyRGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ2J1bmRsZWREZXBlbmRlbmNpZXMnOiB7ICd0eXBlJzogWydib29sZWFuJywgJ2FycmF5J10gfSxcbiAgICAgICAgICAncGFja2FnZURpcic6IHsgJ3R5cGUnOiBbJ3N0cmluZycsICdhcnJheSddIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9O1xuICAgIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICAgIGNvbnN0IGRlcHMgPSBnZXREZXBlbmRlbmNpZXMoY29udGV4dCwgb3B0aW9ucy5wYWNrYWdlRGlyKSB8fCBleHRyYWN0RGVwRmllbGRzKHt9KTtcblxuICAgIGNvbnN0IGRlcHNPcHRpb25zID0ge1xuICAgICAgYWxsb3dEZXZEZXBzOiB0ZXN0Q29uZmlnKG9wdGlvbnMuZGV2RGVwZW5kZW5jaWVzLCBmaWxlbmFtZSkgIT09IGZhbHNlLFxuICAgICAgYWxsb3dPcHREZXBzOiB0ZXN0Q29uZmlnKG9wdGlvbnMub3B0aW9uYWxEZXBlbmRlbmNpZXMsIGZpbGVuYW1lKSAhPT0gZmFsc2UsXG4gICAgICBhbGxvd1BlZXJEZXBzOiB0ZXN0Q29uZmlnKG9wdGlvbnMucGVlckRlcGVuZGVuY2llcywgZmlsZW5hbWUpICE9PSBmYWxzZSxcbiAgICAgIGFsbG93QnVuZGxlZERlcHM6IHRlc3RDb25maWcob3B0aW9ucy5idW5kbGVkRGVwZW5kZW5jaWVzLCBmaWxlbmFtZSkgIT09IGZhbHNlLFxuICAgIH07XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcigoc291cmNlLCBub2RlKSA9PiB7XG4gICAgICByZXBvcnRJZk1pc3NpbmcoY29udGV4dCwgZGVwcywgZGVwc09wdGlvbnMsIG5vZGUsIHNvdXJjZS52YWx1ZSk7XG4gICAgfSwgeyBjb21tb25qczogdHJ1ZSB9KTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js b/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js new file mode 100644 index 000000000..e24587fa3 --- /dev/null +++ b/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js @@ -0,0 +1,72 @@ +'use strict';var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch); +var _path = require('path');var _path2 = _interopRequireDefault(_path); +var _pkgUp = require('pkg-up');var _pkgUp2 = _interopRequireDefault(_pkgUp);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} + +function getEntryPoint(context) { + const pkgPath = _pkgUp2.default.sync(context.getFilename()); + try { + return require.resolve(_path2.default.dirname(pkgPath)); + } catch (error) { + // Assume the package has no entrypoint (e.g. CLI packages) + // in which case require.resolve would throw. + return null; + } +} + +module.exports = { + meta: { + type: 'problem', + docs: { + description: 'Disallow import statements with module.exports', + category: 'Best Practices', + recommended: true }, + + fixable: 'code', + schema: [ + { + 'type': 'object', + 'properties': { + 'exceptions': { 'type': 'array' } }, + + 'additionalProperties': false }] }, + + + + create(context) { + const importDeclarations = []; + const entryPoint = getEntryPoint(context); + const options = context.options[0] || {}; + let alreadyReported = false; + + function report(node) { + const fileName = context.getFilename(); + const isEntryPoint = entryPoint === fileName; + const isIdentifier = node.object.type === 'Identifier'; + const hasKeywords = /^(module|exports)$/.test(node.object.name); + const isException = options.exceptions && + options.exceptions.some(glob => (0, _minimatch2.default)(fileName, glob)); + + if (isIdentifier && hasKeywords && !isEntryPoint && !isException) { + importDeclarations.forEach(importDeclaration => { + context.report({ + node: importDeclaration, + message: `Cannot use import declarations in modules that export using ` + + `CommonJS (module.exports = 'foo' or exports.bar = 'hi')` }); + + }); + alreadyReported = true; + } + } + + return { + ImportDeclaration(node) { + importDeclarations.push(node); + }, + MemberExpression(node) { + if (!alreadyReported) { + report(node); + } + } }; + + } }; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1pbXBvcnQtbW9kdWxlLWV4cG9ydHMuanMiXSwibmFtZXMiOlsiZ2V0RW50cnlQb2ludCIsImNvbnRleHQiLCJwa2dQYXRoIiwicGtnVXAiLCJzeW5jIiwiZ2V0RmlsZW5hbWUiLCJyZXF1aXJlIiwicmVzb2x2ZSIsInBhdGgiLCJkaXJuYW1lIiwiZXJyb3IiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwiZGVzY3JpcHRpb24iLCJjYXRlZ29yeSIsInJlY29tbWVuZGVkIiwiZml4YWJsZSIsInNjaGVtYSIsImNyZWF0ZSIsImltcG9ydERlY2xhcmF0aW9ucyIsImVudHJ5UG9pbnQiLCJvcHRpb25zIiwiYWxyZWFkeVJlcG9ydGVkIiwicmVwb3J0Iiwibm9kZSIsImZpbGVOYW1lIiwiaXNFbnRyeVBvaW50IiwiaXNJZGVudGlmaWVyIiwib2JqZWN0IiwiaGFzS2V5d29yZHMiLCJ0ZXN0IiwibmFtZSIsImlzRXhjZXB0aW9uIiwiZXhjZXB0aW9ucyIsInNvbWUiLCJnbG9iIiwiZm9yRWFjaCIsImltcG9ydERlY2xhcmF0aW9uIiwibWVzc2FnZSIsIkltcG9ydERlY2xhcmF0aW9uIiwicHVzaCIsIk1lbWJlckV4cHJlc3Npb24iXSwibWFwcGluZ3MiOiJhQUFBLHNDO0FBQ0EsNEI7QUFDQSwrQjs7QUFFQSxTQUFTQSxhQUFULENBQXVCQyxPQUF2QixFQUFnQztBQUM5QixRQUFNQyxVQUFVQyxnQkFBTUMsSUFBTixDQUFXSCxRQUFRSSxXQUFSLEVBQVgsQ0FBaEI7QUFDQSxNQUFJO0FBQ0YsV0FBT0MsUUFBUUMsT0FBUixDQUFnQkMsZUFBS0MsT0FBTCxDQUFhUCxPQUFiLENBQWhCLENBQVA7QUFDRCxHQUZELENBRUUsT0FBT1EsS0FBUCxFQUFjO0FBQ2Q7QUFDQTtBQUNBLFdBQU8sSUFBUDtBQUNEO0FBQ0Y7O0FBRURDLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxtQkFBYSxnREFEVDtBQUVKQyxnQkFBVSxnQkFGTjtBQUdKQyxtQkFBYSxJQUhULEVBRkY7O0FBT0pDLGFBQVMsTUFQTDtBQVFKQyxZQUFRO0FBQ047QUFDRSxjQUFRLFFBRFY7QUFFRSxvQkFBYztBQUNaLHNCQUFjLEVBQUUsUUFBUSxPQUFWLEVBREYsRUFGaEI7O0FBS0UsOEJBQXdCLEtBTDFCLEVBRE0sQ0FSSixFQURTOzs7O0FBbUJmQyxTQUFPcEIsT0FBUCxFQUFnQjtBQUNkLFVBQU1xQixxQkFBcUIsRUFBM0I7QUFDQSxVQUFNQyxhQUFhdkIsY0FBY0MsT0FBZCxDQUFuQjtBQUNBLFVBQU11QixVQUFVdkIsUUFBUXVCLE9BQVIsQ0FBZ0IsQ0FBaEIsS0FBc0IsRUFBdEM7QUFDQSxRQUFJQyxrQkFBa0IsS0FBdEI7O0FBRUEsYUFBU0MsTUFBVCxDQUFnQkMsSUFBaEIsRUFBc0I7QUFDcEIsWUFBTUMsV0FBVzNCLFFBQVFJLFdBQVIsRUFBakI7QUFDQSxZQUFNd0IsZUFBZU4sZUFBZUssUUFBcEM7QUFDQSxZQUFNRSxlQUFlSCxLQUFLSSxNQUFMLENBQVlqQixJQUFaLEtBQXFCLFlBQTFDO0FBQ0EsWUFBTWtCLGNBQWUsb0JBQUQsQ0FBdUJDLElBQXZCLENBQTRCTixLQUFLSSxNQUFMLENBQVlHLElBQXhDLENBQXBCO0FBQ0EsWUFBTUMsY0FBY1gsUUFBUVksVUFBUjtBQUNsQlosY0FBUVksVUFBUixDQUFtQkMsSUFBbkIsQ0FBd0JDLFFBQVEseUJBQVVWLFFBQVYsRUFBb0JVLElBQXBCLENBQWhDLENBREY7O0FBR0EsVUFBSVIsZ0JBQWdCRSxXQUFoQixJQUErQixDQUFDSCxZQUFoQyxJQUFnRCxDQUFDTSxXQUFyRCxFQUFrRTtBQUNoRWIsMkJBQW1CaUIsT0FBbkIsQ0FBMkJDLHFCQUFxQjtBQUM5Q3ZDLGtCQUFReUIsTUFBUixDQUFlO0FBQ2JDLGtCQUFNYSxpQkFETztBQUViQyxxQkFBVSw4REFBRDtBQUNOLHFFQUhVLEVBQWY7O0FBS0QsU0FORDtBQU9BaEIsMEJBQWtCLElBQWxCO0FBQ0Q7QUFDRjs7QUFFRCxXQUFPO0FBQ0xpQix3QkFBa0JmLElBQWxCLEVBQXdCO0FBQ3RCTCwyQkFBbUJxQixJQUFuQixDQUF3QmhCLElBQXhCO0FBQ0QsT0FISTtBQUlMaUIsdUJBQWlCakIsSUFBakIsRUFBdUI7QUFDckIsWUFBSSxDQUFDRixlQUFMLEVBQXNCO0FBQ3BCQyxpQkFBT0MsSUFBUDtBQUNEO0FBQ0YsT0FSSSxFQUFQOztBQVVELEdBdkRjLEVBQWpCIiwiZmlsZSI6Im5vLWltcG9ydC1tb2R1bGUtZXhwb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHBrZ1VwIGZyb20gJ3BrZy11cCc7XG5cbmZ1bmN0aW9uIGdldEVudHJ5UG9pbnQoY29udGV4dCkge1xuICBjb25zdCBwa2dQYXRoID0gcGtnVXAuc3luYyhjb250ZXh0LmdldEZpbGVuYW1lKCkpO1xuICB0cnkge1xuICAgIHJldHVybiByZXF1aXJlLnJlc29sdmUocGF0aC5kaXJuYW1lKHBrZ1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBBc3N1bWUgdGhlIHBhY2thZ2UgaGFzIG5vIGVudHJ5cG9pbnQgKGUuZy4gQ0xJIHBhY2thZ2VzKVxuICAgIC8vIGluIHdoaWNoIGNhc2UgcmVxdWlyZS5yZXNvbHZlIHdvdWxkIHRocm93LlxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3Byb2JsZW0nLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzYWxsb3cgaW1wb3J0IHN0YXRlbWVudHMgd2l0aCBtb2R1bGUuZXhwb3J0cycsXG4gICAgICBjYXRlZ29yeTogJ0Jlc3QgUHJhY3RpY2VzJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICAndHlwZSc6ICdvYmplY3QnLFxuICAgICAgICAncHJvcGVydGllcyc6IHtcbiAgICAgICAgICAnZXhjZXB0aW9ucyc6IHsgJ3R5cGUnOiAnYXJyYXknIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGltcG9ydERlY2xhcmF0aW9ucyA9IFtdO1xuICAgIGNvbnN0IGVudHJ5UG9pbnQgPSBnZXRFbnRyeVBvaW50KGNvbnRleHQpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG4gICAgbGV0IGFscmVhZHlSZXBvcnRlZCA9IGZhbHNlO1xuXG4gICAgZnVuY3Rpb24gcmVwb3J0KG5vZGUpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICAgICAgY29uc3QgaXNFbnRyeVBvaW50ID0gZW50cnlQb2ludCA9PT0gZmlsZU5hbWU7XG4gICAgICBjb25zdCBpc0lkZW50aWZpZXIgPSBub2RlLm9iamVjdC50eXBlID09PSAnSWRlbnRpZmllcic7XG4gICAgICBjb25zdCBoYXNLZXl3b3JkcyA9ICgvXihtb2R1bGV8ZXhwb3J0cykkLykudGVzdChub2RlLm9iamVjdC5uYW1lKTtcbiAgICAgIGNvbnN0IGlzRXhjZXB0aW9uID0gb3B0aW9ucy5leGNlcHRpb25zICYmXG4gICAgICAgIG9wdGlvbnMuZXhjZXB0aW9ucy5zb21lKGdsb2IgPT4gbWluaW1hdGNoKGZpbGVOYW1lLCBnbG9iKSk7XG5cbiAgICAgIGlmIChpc0lkZW50aWZpZXIgJiYgaGFzS2V5d29yZHMgJiYgIWlzRW50cnlQb2ludCAmJiAhaXNFeGNlcHRpb24pIHtcbiAgICAgICAgaW1wb3J0RGVjbGFyYXRpb25zLmZvckVhY2goaW1wb3J0RGVjbGFyYXRpb24gPT4ge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGU6IGltcG9ydERlY2xhcmF0aW9uLFxuICAgICAgICAgICAgbWVzc2FnZTogYENhbm5vdCB1c2UgaW1wb3J0IGRlY2xhcmF0aW9ucyBpbiBtb2R1bGVzIHRoYXQgZXhwb3J0IHVzaW5nIGAgK1xuICAgICAgICAgICAgICBgQ29tbW9uSlMgKG1vZHVsZS5leHBvcnRzID0gJ2Zvbycgb3IgZXhwb3J0cy5iYXIgPSAnaGknKWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBhbHJlYWR5UmVwb3J0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGltcG9ydERlY2xhcmF0aW9ucy5wdXNoKG5vZGUpO1xuICAgICAgfSxcbiAgICAgIE1lbWJlckV4cHJlc3Npb24obm9kZSkge1xuICAgICAgICBpZiAoIWFscmVhZHlSZXBvcnRlZCkge1xuICAgICAgICAgIHJlcG9ydChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js b/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js index 32d90d18b..ad46f401f 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js @@ -1,8 +1,8 @@ -'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch); +'use strict';var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch); var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType); -var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} module.exports = { @@ -14,16 +14,32 @@ module.exports = { schema: [ { - type: 'object', - properties: { - allow: { - type: 'array', - items: { - type: 'string' } } }, + oneOf: [ + { + type: 'object', + properties: { + allow: { + type: 'array', + items: { + type: 'string' } } }, - additionalProperties: false }] }, + additionalProperties: false }, + + { + type: 'object', + properties: { + forbid: { + type: 'array', + items: { + type: 'string' } } }, + + + + additionalProperties: false }] }] }, + + @@ -31,11 +47,7 @@ module.exports = { create: function noReachingInside(context) { const options = context.options[0] || {}; const allowRegexps = (options.allow || []).map(p => _minimatch2.default.makeRe(p)); - - // test if reaching to this destination is allowed - function reachingAllowed(importPath) { - return allowRegexps.some(re => re.test(importPath)); - } + const forbidRegexps = (options.forbid || []).map(p => _minimatch2.default.makeRe(p)); // minimatch patterns are expected to use / path separators, like import // statements, so normalize paths to use the same @@ -43,9 +55,8 @@ module.exports = { return somePath.split('\\').join('/'); } - // find a directory that is being reached into, but which shouldn't be - function isReachViolation(importPath) { - const steps = normalizeSep(importPath). + function toSteps(somePath) { + return normalizeSep(somePath). split('/'). reduce((acc, step) => { if (!step || step === '.') { @@ -56,6 +67,20 @@ module.exports = { return acc.concat(step); } }, []); + } + + // test if reaching to this destination is allowed + function reachingAllowed(importPath) { + return allowRegexps.some(re => re.test(importPath)); + } + + // test if reaching to this destination is forbidden + function reachingForbidden(importPath) { + return forbidRegexps.some(re => re.test(importPath)); + } + + function isAllowViolation(importPath) { + const steps = toSteps(importPath); const nonScopeSteps = steps.filter(step => step.indexOf('@') !== 0); if (nonScopeSteps.length <= 1) return false; @@ -75,6 +100,27 @@ module.exports = { return true; } + function isForbidViolation(importPath) { + const steps = toSteps(importPath); + + // before trying to resolve, see if the raw import (with relative + // segments resolved) matches a forbidden pattern + const justSteps = steps.join('/'); + + if (reachingForbidden(justSteps) || reachingForbidden(`/${justSteps}`)) return true; + + // if the import statement doesn't match directly, try to match the + // resolved path if the import is resolvable + const resolved = (0, _resolve2.default)(importPath, context); + if (resolved && reachingForbidden(normalizeSep(resolved))) return true; + + // this import was not forbidden by the forbidden paths so it is not a violation + return false; + } + + // find a directory that is being reached into, but which shouldn't be + const isReachViolation = options.forbid ? isForbidViolation : isAllowViolation; + function checkImportForReaching(importPath, node) { const potentialViolationTypes = ['parent', 'index', 'sibling', 'external', 'internal']; if (potentialViolationTypes.indexOf((0, _importType2.default)(importPath, context)) !== -1 && @@ -87,24 +133,8 @@ module.exports = { } } - return { - ImportDeclaration(node) { - checkImportForReaching(node.source.value, node.source); - }, - ExportAllDeclaration(node) { - checkImportForReaching(node.source.value, node.source); - }, - ExportNamedDeclaration(node) { - if (node.source) { - checkImportForReaching(node.source.value, node.source); - } - }, - CallExpression(node) { - if ((0, _staticRequire2.default)(node)) {var _node$arguments = _slicedToArray( - node.arguments, 1);const firstArgument = _node$arguments[0]; - checkImportForReaching(firstArgument.value, firstArgument); - } - } }; - + return (0, _moduleVisitor2.default)(source => { + checkImportForReaching(source.value, source); + }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1pbnRlcm5hbC1tb2R1bGVzLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiYWxsb3ciLCJpdGVtcyIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiY3JlYXRlIiwibm9SZWFjaGluZ0luc2lkZSIsImNvbnRleHQiLCJvcHRpb25zIiwiYWxsb3dSZWdleHBzIiwibWFwIiwicCIsIm1pbmltYXRjaCIsIm1ha2VSZSIsInJlYWNoaW5nQWxsb3dlZCIsImltcG9ydFBhdGgiLCJzb21lIiwicmUiLCJ0ZXN0Iiwibm9ybWFsaXplU2VwIiwic29tZVBhdGgiLCJzcGxpdCIsImpvaW4iLCJpc1JlYWNoVmlvbGF0aW9uIiwic3RlcHMiLCJyZWR1Y2UiLCJhY2MiLCJzdGVwIiwic2xpY2UiLCJjb25jYXQiLCJub25TY29wZVN0ZXBzIiwiZmlsdGVyIiwiaW5kZXhPZiIsImxlbmd0aCIsImp1c3RTdGVwcyIsInJlc29sdmVkIiwiY2hlY2tJbXBvcnRGb3JSZWFjaGluZyIsIm5vZGUiLCJwb3RlbnRpYWxWaW9sYXRpb25UeXBlcyIsInJlcG9ydCIsIm1lc3NhZ2UiLCJJbXBvcnREZWNsYXJhdGlvbiIsInNvdXJjZSIsInZhbHVlIiwiRXhwb3J0QWxsRGVjbGFyYXRpb24iLCJFeHBvcnROYW1lZERlY2xhcmF0aW9uIiwiQ2FsbEV4cHJlc3Npb24iLCJhcmd1bWVudHMiLCJmaXJzdEFyZ3VtZW50Il0sIm1hcHBpbmdzIjoicW9CQUFBLHNDOztBQUVBLHNEO0FBQ0EsZ0Q7QUFDQSxzRDtBQUNBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxxQkFBUixDQURELEVBRkY7OztBQU1KQyxZQUFRO0FBQ047QUFDRUgsWUFBTSxRQURSO0FBRUVJLGtC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QkFBcUJQLElBQXJCLEVBQTJCO0FBQ3pCRCwrQkFBdUJDLEtBQUtLLE1BQUwsQ0FBWUMsS0FBbkMsRUFBMENOLEtBQUtLLE1BQS9DO0FBQ0QsT0FOSTtBQU9MRyw2QkFBdUJSLElBQXZCLEVBQTZCO0FBQzNCLFlBQUlBLEtBQUtLLE1BQVQsRUFBaUI7QUFDZk4saUNBQXVCQyxLQUFLSyxNQUFMLENBQVlDLEtBQW5DLEVBQTBDTixLQUFLSyxNQUEvQztBQUNEO0FBQ0YsT0FYSTtBQVlMSSxxQkFBZVQsSUFBZixFQUFxQjtBQUNuQixZQUFJLDZCQUFnQkEsSUFBaEIsQ0FBSixFQUEyQjtBQUNDQSxlQUFLVSxTQUROLFdBQ2pCQyxhQURpQjtBQUV6QlosaUNBQXVCWSxjQUFjTCxLQUFyQyxFQUE0Q0ssYUFBNUM7QUFDRDtBQUNGLE9BakJJLEVBQVA7O0FBbUJELEdBckdjLEVBQWpCIiwiZmlsZSI6Im5vLWludGVybmFsLW1vZHVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWluaW1hdGNoIGZyb20gJ21pbmltYXRjaCdcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJ1xuaW1wb3J0IGltcG9ydFR5cGUgZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJ1xuaW1wb3J0IGlzU3RhdGljUmVxdWlyZSBmcm9tICcuLi9jb3JlL3N0YXRpY1JlcXVpcmUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLWludGVybmFsLW1vZHVsZXMnKSxcbiAgICB9LFxuXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3c6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gbm9SZWFjaGluZ0luc2lkZShjb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7fVxuICAgIGNvbnN0IGFsbG93UmVnZXhwcyA9IChvcHRpb25zLmFsbG93IHx8IFtdKS5tYXAocCA9PiBtaW5pbWF0Y2gubWFrZVJlKHApKVxuXG4gICAgLy8gdGVzdCBpZiByZWFjaGluZyB0byB0aGlzIGRlc3RpbmF0aW9uIGlzIGFsbG93ZWRcbiAgICBmdW5jdGlvbiByZWFjaGluZ0FsbG93ZWQoaW1wb3J0UGF0aCkge1xuICAgICAgcmV0dXJuIGFsbG93UmVnZXhwcy5zb21lKHJlID0+IHJlLnRlc3QoaW1wb3J0UGF0aCkpXG4gICAgfVxuXG4gICAgLy8gbWluaW1hdGNoIHBhdHRlcm5zIGFyZSBleHBlY3RlZCB0byB1c2UgLyBwYXRoIHNlcGFyYXRvcnMsIGxpa2UgaW1wb3J0XG4gICAgLy8gc3RhdGVtZW50cywgc28gbm9ybWFsaXplIHBhdGhzIHRvIHVzZSB0aGUgc2FtZVxuICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZVNlcChzb21lUGF0aCkge1xuICAgICAgcmV0dXJuIHNvbWVQYXRoLnNwbGl0KCdcXFxcJykuam9pbignLycpXG4gICAgfVxuXG4gICAgLy8gZmluZCBhIGRpcmVjdG9yeSB0aGF0IGlzIGJlaW5nIHJlYWNoZWQgaW50bywgYnV0IHdoaWNoIHNob3VsZG4ndCBiZVxuICAgIGZ1bmN0aW9uIGlzUmVhY2hWaW9sYXRpb24oaW1wb3J0UGF0aCkge1xuICAgICAgY29uc3Qgc3RlcHMgPSBub3JtYWxpemVTZXAoaW1wb3J0UGF0aClcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiB7XG4gICAgICAgICAgaWYgKCFzdGVwIHx8IHN0ZXAgPT09ICcuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RlcCA9PT0gJy4uJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjYy5zbGljZSgwLCAtMSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoc3RlcClcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFtdKVxuXG4gICAgICBjb25zdCBub25TY29wZVN0ZXBzID0gc3RlcHMuZmlsdGVyKHN0ZXAgPT4gc3RlcC5pbmRleE9mKCdAJykgIT09IDApXG4gICAgICBpZiAobm9uU2NvcGVTdGVwcy5sZW5ndGggPD0gMSkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIC8vIGJlZm9yZSB0cnlpbmcgdG8gcmVzb2x2ZSwgc2VlIGlmIHRoZSByYXcgaW1wb3J0ICh3aXRoIHJlbGF0aXZlXG4gICAgICAvLyBzZWdtZW50cyByZXNvbHZlZCkgbWF0Y2hlcyBhbiBhbGxvd2VkIHBhdHRlcm5cbiAgICAgIGNvbnN0IGp1c3RTdGVwcyA9IHN0ZXBzLmpvaW4oJy8nKVxuICAgICAgaWYgKHJlYWNoaW5nQWxsb3dlZChqdXN0U3RlcHMpIHx8IHJlYWNoaW5nQWxsb3dlZChgLyR7anVzdFN0ZXBzfWApKSByZXR1cm4gZmFsc2VcblxuICAgICAgLy8gaWYgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZG9lc24ndCBtYXRjaCBkaXJlY3RseSwgdHJ5IHRvIG1hdGNoIHRoZVxuICAgICAgLy8gcmVzb2x2ZWQgcGF0aCBpZiB0aGUgaW1wb3J0IGlzIHJlc29sdmFibGVcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZShpbXBvcnRQYXRoLCBjb250ZXh0KVxuICAgICAgaWYgKCFyZXNvbHZlZCB8fCByZWFjaGluZ0FsbG93ZWQobm9ybWFsaXplU2VwKHJlc29sdmVkKSkpIHJldHVybiBmYWxzZVxuXG4gICAgICAvLyB0aGlzIGltcG9ydCB3YXMgbm90IGFsbG93ZWQgYnkgdGhlIGFsbG93ZWQgcGF0aHMsIGFuZCByZWFjaGVzXG4gICAgICAvLyBzbyBpdCBpcyBhIHZpb2xhdGlvblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0ltcG9ydEZvclJlYWNoaW5nKGltcG9ydFBhdGgsIG5vZGUpIHtcbiAgICAgIGNvbnN0IHBvdGVudGlhbFZpb2xhdGlvblR5cGVzID0gWydwYXJlbnQnLCAnaW5kZXgnLCAnc2libGluZycsICdleHRlcm5hbCcsICdpbnRlcm5hbCddXG4gICAgICBpZiAocG90ZW50aWFsVmlvbGF0aW9uVHlwZXMuaW5kZXhPZihpbXBvcnRUeXBlKGltcG9ydFBhdGgsIGNvbnRleHQpKSAhPT0gLTEgJiZcbiAgICAgICAgaXNSZWFjaFZpb2xhdGlvbihpbXBvcnRQYXRoKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2U6IGBSZWFjaGluZyB0byBcIiR7aW1wb3J0UGF0aH1cIiBpcyBub3QgYWxsb3dlZC5gLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGNoZWNrSW1wb3J0Rm9yUmVhY2hpbmcobm9kZS5zb3VyY2UudmFsdWUsIG5vZGUuc291cmNlKVxuICAgICAgfSxcbiAgICAgIEV4cG9ydEFsbERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgY2hlY2tJbXBvcnRGb3JSZWFjaGluZyhub2RlLnNvdXJjZS52YWx1ZSwgbm9kZS5zb3VyY2UpXG4gICAgICB9LFxuICAgICAgRXhwb3J0TmFtZWREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGlmIChub2RlLnNvdXJjZSkge1xuICAgICAgICAgIGNoZWNrSW1wb3J0Rm9yUmVhY2hpbmcobm9kZS5zb3VyY2UudmFsdWUsIG5vZGUuc291cmNlKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSkge1xuICAgICAgICBpZiAoaXNTdGF0aWNSZXF1aXJlKG5vZGUpKSB7XG4gICAgICAgICAgY29uc3QgWyBmaXJzdEFyZ3VtZW50IF0gPSBub2RlLmFyZ3VtZW50c1xuICAgICAgICAgIGNoZWNrSW1wb3J0Rm9yUmVhY2hpbmcoZmlyc3RBcmd1bWVudC52YWx1ZSwgZmlyc3RBcmd1bWVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1pbnRlcm5hbC1tb2R1bGVzLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJvbmVPZiIsInByb3BlcnRpZXMiLCJhbGxvdyIsIml0ZW1zIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJmb3JiaWQiLCJjcmVhdGUiLCJub1JlYWNoaW5nSW5zaWRlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJhbGxvd1JlZ2V4cHMiLCJtYXAiLCJwIiwibWluaW1hdGNoIiwibWFrZVJlIiwiZm9yYmlkUmVnZXhwcyIsIm5vcm1hbGl6ZVNlcCIsInNvbWVQYXRoIiwic3BsaXQiLCJqb2luIiwidG9TdGVwcyIsInJlZHVjZSIsImFjYyIsInN0ZXAiLCJzbGljZSIsImNvbmNhdCIsInJlYWNoaW5nQWxsb3dlZCIsImltcG9ydFBhdGgiLCJzb21lIiwicmUiLCJ0ZXN0IiwicmVhY2hpbmdGb3JiaWRkZW4iLCJpc0FsbG93VmlvbGF0aW9uIiwic3RlcHMiLCJub25TY29wZVN0ZXBzIiwiZmlsdGVyIiwiaW5kZXhPZiIsImxlbmd0aCIsImp1c3RTdGVwcyIsInJlc29sdmVkIiwiaXNGb3JiaWRWaW9sYXRpb24iLCJpc1JlYWNoVmlvbGF0aW9uIiwiY2hlY2tJbXBvcnRGb3JSZWFjaGluZyIsIm5vZGUiLCJwb3RlbnRpYWxWaW9sYXRpb25UeXBlcyIsInJlcG9ydCIsIm1lc3NhZ2UiLCJzb3VyY2UiLCJ2YWx1ZSIsImNvbW1vbmpzIl0sIm1hcHBpbmdzIjoiYUFBQSxzQzs7QUFFQSxzRDtBQUNBLGdEO0FBQ0Esa0U7QUFDQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEscUJBQVIsQ0FERCxFQUZGOzs7QUFNSkMsWUFBUTtBQUNOO0FBQ0VDLGFBQU87QUFDTDtBQUNFSixjQUFN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aW50ZXJuYWwtbW9kdWxlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJztcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9yZXNvbHZlJztcbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8taW50ZXJuYWwtbW9kdWxlcycpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgYWxsb3c6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBmb3JiaWQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gbm9SZWFjaGluZ0luc2lkZShjb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7fTtcbiAgICBjb25zdCBhbGxvd1JlZ2V4cHMgPSAob3B0aW9ucy5hbGxvdyB8fCBbXSkubWFwKHAgPT4gbWluaW1hdGNoLm1ha2VSZShwKSk7XG4gICAgY29uc3QgZm9yYmlkUmVnZXhwcyA9IChvcHRpb25zLmZvcmJpZCB8fCBbXSkubWFwKHAgPT4gbWluaW1hdGNoLm1ha2VSZShwKSk7XG5cbiAgICAvLyBtaW5pbWF0Y2ggcGF0dGVybnMgYXJlIGV4cGVjdGVkIHRvIHVzZSAvIHBhdGggc2VwYXJhdG9ycywgbGlrZSBpbXBvcnRcbiAgICAvLyBzdGF0ZW1lbnRzLCBzbyBub3JtYWxpemUgcGF0aHMgdG8gdXNlIHRoZSBzYW1lXG4gICAgZnVuY3Rpb24gbm9ybWFsaXplU2VwKHNvbWVQYXRoKSB7XG4gICAgICByZXR1cm4gc29tZVBhdGguc3BsaXQoJ1xcXFwnKS5qb2luKCcvJyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9TdGVwcyhzb21lUGF0aCkge1xuICAgICAgcmV0dXJuICBub3JtYWxpemVTZXAoc29tZVBhdGgpXG4gICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgc3RlcCkgPT4ge1xuICAgICAgICAgIGlmICghc3RlcCB8fCBzdGVwID09PSAnLicpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGVwID09PSAnLi4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoc3RlcCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG4gICAgfVxuXG4gICAgLy8gdGVzdCBpZiByZWFjaGluZyB0byB0aGlzIGRlc3RpbmF0aW9uIGlzIGFsbG93ZWRcbiAgICBmdW5jdGlvbiByZWFjaGluZ0FsbG93ZWQoaW1wb3J0UGF0aCkge1xuICAgICAgcmV0dXJuIGFsbG93UmVnZXhwcy5zb21lKHJlID0+IHJlLnRlc3QoaW1wb3J0UGF0aCkpO1xuICAgIH1cblxuICAgIC8vIHRlc3QgaWYgcmVhY2hpbmcgdG8gdGhpcyBkZXN0aW5hdGlvbiBpcyBmb3JiaWRkZW5cbiAgICBmdW5jdGlvbiByZWFjaGluZ0ZvcmJpZGRlbihpbXBvcnRQYXRoKSB7XG4gICAgICByZXR1cm4gZm9yYmlkUmVnZXhwcy5zb21lKHJlID0+IHJlLnRlc3QoaW1wb3J0UGF0aCkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzQWxsb3dWaW9sYXRpb24oaW1wb3J0UGF0aCkge1xuICAgICAgY29uc3Qgc3RlcHMgPSB0b1N0ZXBzKGltcG9ydFBhdGgpO1xuXG4gICAgICBjb25zdCBub25TY29wZVN0ZXBzID0gc3RlcHMuZmlsdGVyKHN0ZXAgPT4gc3RlcC5pbmRleE9mKCdAJykgIT09IDApO1xuICAgICAgaWYgKG5vblNjb3BlU3RlcHMubGVuZ3RoIDw9IDEpIHJldHVybiBmYWxzZTtcblxuICAgICAgLy8gYmVmb3JlIHRyeWluZyB0byByZXNvbHZlLCBzZWUgaWYgdGhlIHJhdyBpbXBvcnQgKHdpdGggcmVsYXRpdmVcbiAgICAgIC8vIHNlZ21lbnRzIHJlc29sdmVkKSBtYXRjaGVzIGFuIGFsbG93ZWQgcGF0dGVyblxuICAgICAgY29uc3QganVzdFN0ZXBzID0gc3RlcHMuam9pbignLycpO1xuICAgICAgaWYgKHJlYWNoaW5nQWxsb3dlZChqdXN0U3RlcHMpIHx8IHJlYWNoaW5nQWxsb3dlZChgLyR7anVzdFN0ZXBzfWApKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIC8vIGlmIHRoZSBpbXBvcnQgc3RhdGVtZW50IGRvZXNuJ3QgbWF0Y2ggZGlyZWN0bHksIHRyeSB0byBtYXRjaCB0aGVcbiAgICAgIC8vIHJlc29sdmVkIHBhdGggaWYgdGhlIGltcG9ydCBpcyByZXNvbHZhYmxlXG4gICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmUoaW1wb3J0UGF0aCwgY29udGV4dCk7XG4gICAgICBpZiAoIXJlc29sdmVkIHx8IHJlYWNoaW5nQWxsb3dlZChub3JtYWxpemVTZXAocmVzb2x2ZWQpKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAvLyB0aGlzIGltcG9ydCB3YXMgbm90IGFsbG93ZWQgYnkgdGhlIGFsbG93ZWQgcGF0aHMsIGFuZCByZWFjaGVzXG4gICAgICAvLyBzbyBpdCBpcyBhIHZpb2xhdGlvblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNGb3JiaWRWaW9sYXRpb24oaW1wb3J0UGF0aCkge1xuICAgICAgY29uc3Qgc3RlcHMgPSB0b1N0ZXBzKGltcG9ydFBhdGgpO1xuXG4gICAgICAvLyBiZWZvcmUgdHJ5aW5nIHRvIHJlc29sdmUsIHNlZSBpZiB0aGUgcmF3IGltcG9ydCAod2l0aCByZWxhdGl2ZVxuICAgICAgLy8gc2VnbWVudHMgcmVzb2x2ZWQpIG1hdGNoZXMgYSBmb3JiaWRkZW4gcGF0dGVyblxuICAgICAgY29uc3QganVzdFN0ZXBzID0gc3RlcHMuam9pbignLycpO1xuXG4gICAgICBpZiAocmVhY2hpbmdGb3JiaWRkZW4oanVzdFN0ZXBzKSB8fCByZWFjaGluZ0ZvcmJpZGRlbihgLyR7anVzdFN0ZXBzfWApKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgLy8gaWYgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZG9lc24ndCBtYXRjaCBkaXJlY3RseSwgdHJ5IHRvIG1hdGNoIHRoZVxuICAgICAgLy8gcmVzb2x2ZWQgcGF0aCBpZiB0aGUgaW1wb3J0IGlzIHJlc29sdmFibGVcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZShpbXBvcnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIGlmIChyZXNvbHZlZCAmJiByZWFjaGluZ0ZvcmJpZGRlbihub3JtYWxpemVTZXAocmVzb2x2ZWQpKSkgcmV0dXJuIHRydWU7XG5cbiAgICAgIC8vIHRoaXMgaW1wb3J0IHdhcyBub3QgZm9yYmlkZGVuIGJ5IHRoZSBmb3JiaWRkZW4gcGF0aHMgc28gaXQgaXMgbm90IGEgdmlvbGF0aW9uXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZmluZCBhIGRpcmVjdG9yeSB0aGF0IGlzIGJlaW5nIHJlYWNoZWQgaW50bywgYnV0IHdoaWNoIHNob3VsZG4ndCBiZVxuICAgIGNvbnN0IGlzUmVhY2hWaW9sYXRpb24gPSBvcHRpb25zLmZvcmJpZCA/IGlzRm9yYmlkVmlvbGF0aW9uIDogaXNBbGxvd1Zpb2xhdGlvbjtcblxuICAgIGZ1bmN0aW9uIGNoZWNrSW1wb3J0Rm9yUmVhY2hpbmcoaW1wb3J0UGF0aCwgbm9kZSkge1xuICAgICAgY29uc3QgcG90ZW50aWFsVmlvbGF0aW9uVHlwZXMgPSBbJ3BhcmVudCcsICdpbmRleCcsICdzaWJsaW5nJywgJ2V4dGVybmFsJywgJ2ludGVybmFsJ107XG4gICAgICBpZiAocG90ZW50aWFsVmlvbGF0aW9uVHlwZXMuaW5kZXhPZihpbXBvcnRUeXBlKGltcG9ydFBhdGgsIGNvbnRleHQpKSAhPT0gLTEgJiZcbiAgICAgICAgaXNSZWFjaFZpb2xhdGlvbihpbXBvcnRQYXRoKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2U6IGBSZWFjaGluZyB0byBcIiR7aW1wb3J0UGF0aH1cIiBpcyBub3QgYWxsb3dlZC5gLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcigoc291cmNlKSA9PiB7XG4gICAgICBjaGVja0ltcG9ydEZvclJlYWNoaW5nKHNvdXJjZS52YWx1ZSwgc291cmNlKTtcbiAgICB9LCB7IGNvbW1vbmpzOiB0cnVlIH0pO1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js b/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js index 30a9effc2..346adc8ce 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js @@ -18,9 +18,9 @@ module.exports = { } function checkDeclarationsInScope(_ref, name) {let variables = _ref.variables; - for (let variable of variables) { + for (const variable of variables) { if (variable.name === name) { - for (let def of variable.defs) { + for (const def of variable.defs) { if (def.type === 'Variable' && def.parent) { checkDeclaration(def.parent); } @@ -43,7 +43,7 @@ module.exports = { if (node.declaration) { checkDeclaration(node.declaration); } else if (!node.source) { - for (let specifier of node.specifiers) { + for (const specifier of node.specifiers) { checkDeclarationsInScope(scope, specifier.local.name); } } @@ -54,4 +54,4 @@ module.exports = { 'ExportNamedDeclaration': handleExportNamed }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1tdXRhYmxlLWV4cG9ydHMuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja0RlY2xhcmF0aW9uIiwibm9kZSIsImtpbmQiLCJyZXBvcnQiLCJjaGVja0RlY2xhcmF0aW9uc0luU2NvcGUiLCJuYW1lIiwidmFyaWFibGVzIiwidmFyaWFibGUiLCJkZWYiLCJkZWZzIiwicGFyZW50IiwiaGFuZGxlRXhwb3J0RGVmYXVsdCIsInNjb3BlIiwiZ2V0U2NvcGUiLCJkZWNsYXJhdGlvbiIsImhhbmRsZUV4cG9ydE5hbWVkIiwic291cmNlIiwic3BlY2lmaWVyIiwic3BlY2lmaWVycyIsImxvY2FsIl0sIm1hcHBpbmdzIjoiYUFBQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsb0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixhQUFTQyxnQkFBVCxDQUEwQkMsSUFBMUIsRUFBZ0M7QUFDdkJDLFVBRHVCLEdBQ2ZELElBRGUsQ0FDdkJDLElBRHVCO0FBRTlCLFVBQUlBLFNBQVMsS0FBVCxJQUFrQkEsU0FBUyxLQUEvQixFQUFzQztBQUNwQ0gsZ0JBQVFJLE1BQVIsQ0FBZUYsSUFBZixFQUFzQixzQkFBcUJDLElBQUssaUNBQWhEO0FBQ0Q7QUFDRjs7QUFFRCxhQUFTRSx3QkFBVCxPQUErQ0MsSUFBL0MsRUFBcUQsS0FBbEJDLFNBQWtCLFFBQWxCQSxTQUFrQjtBQUNuRCxXQUFLLElBQUlDLFFBQVQsSUFBcUJELFNBQXJCLEVBQWdDO0FBQzlCLFlBQUlDLFNBQVNGLElBQVQsS0FBa0JBLElBQXRCLEVBQTRCO0FBQzFCLGVBQUssSUFBSUcsR0FBVCxJQUFnQkQsU0FBU0UsSUFBekIsRUFBK0I7QUFDN0IsZ0JBQUlELElBQUlkLElBQUosS0FBYSxVQUFiLElBQTJCYyxJQUFJRSxNQUFuQyxFQUEyQztBQUN6Q1YsK0JBQWlCUSxJQUFJRSxNQUFyQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7O0FBRUQsYUFBU0MsbUJBQVQsQ0FBNkJWLElBQTdCLEVBQW1DO0FBQ2pDLFlBQU1XLFFBQVFiLFFBQVFjLFFBQVIsRUFBZDs7QUFFQSxVQUFJWixLQUFLYSxXQUFMLENBQWlCVCxJQUFyQixFQUEyQjtBQUN6QkQsaUNBQXlCUSxLQUF6QixFQUFnQ1gsS0FBS2EsV0FBTCxDQUFpQlQsSUFBakQ7QUFDRDtBQUNGOztBQUVELGFBQVNVLGlCQUFULENBQTJCZCxJQUEzQixFQUFpQztBQUMvQixZQUFNVyxRQUFRYixRQUFRYyxRQUFSLEVBQWQ7O0FBRUEsVUFBSVosS0FBS2EsV0FBVCxFQUF1QjtBQUNyQmQseUJBQWlCQyxLQUFLYSxXQUF0QjtBQUNELE9BRkQsTUFFTyxJQUFJLENBQUNiLEtBQUtlLE1BQVYsRUFBa0I7QUFDdkIsYUFBSyxJQUFJQyxTQUFULElBQXNCaEIsS0FBS2lCLFVBQTNCLEVBQXVDO0FBQ3JDZCxtQ0FBeUJRLEtBQXpCLEVBQWdDSyxVQUFVRSxLQUFWLENBQWdCZCxJQUFoRDtBQUNEO0FBQ0Y7QUFDRjs7QUFFRCxXQUFPO0FBQ0wsa0NBQTRCTSxtQkFEdkI7QUFFTCxnQ0FBMEJJLGlCQUZyQixFQUFQOztBQUlELEdBckRjLEVBQWpCIiwiZmlsZSI6Im5vLW11dGFibGUtZXhwb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbXV0YWJsZS1leHBvcnRzJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBmdW5jdGlvbiBjaGVja0RlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgIGNvbnN0IHtraW5kfSA9IG5vZGVcbiAgICAgIGlmIChraW5kID09PSAndmFyJyB8fCBraW5kID09PSAnbGV0Jykge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChub2RlLCBgRXhwb3J0aW5nIG11dGFibGUgJyR7a2luZH0nIGJpbmRpbmcsIHVzZSAnY29uc3QnIGluc3RlYWQuYClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjaGVja0RlY2xhcmF0aW9uc0luU2NvcGUoe3ZhcmlhYmxlc30sIG5hbWUpIHtcbiAgICAgIGZvciAobGV0IHZhcmlhYmxlIG9mIHZhcmlhYmxlcykge1xuICAgICAgICBpZiAodmFyaWFibGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIGZvciAobGV0IGRlZiBvZiB2YXJpYWJsZS5kZWZzKSB7XG4gICAgICAgICAgICBpZiAoZGVmLnR5cGUgPT09ICdWYXJpYWJsZScgJiYgZGVmLnBhcmVudCkge1xuICAgICAgICAgICAgICBjaGVja0RlY2xhcmF0aW9uKGRlZi5wYXJlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlRXhwb3J0RGVmYXVsdChub2RlKSB7XG4gICAgICBjb25zdCBzY29wZSA9IGNvbnRleHQuZ2V0U2NvcGUoKVxuXG4gICAgICBpZiAobm9kZS5kZWNsYXJhdGlvbi5uYW1lKSB7XG4gICAgICAgIGNoZWNrRGVjbGFyYXRpb25zSW5TY29wZShzY29wZSwgbm9kZS5kZWNsYXJhdGlvbi5uYW1lKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGhhbmRsZUV4cG9ydE5hbWVkKG5vZGUpIHtcbiAgICAgIGNvbnN0IHNjb3BlID0gY29udGV4dC5nZXRTY29wZSgpXG5cbiAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uKSAge1xuICAgICAgICBjaGVja0RlY2xhcmF0aW9uKG5vZGUuZGVjbGFyYXRpb24pXG4gICAgICB9IGVsc2UgaWYgKCFub2RlLnNvdXJjZSkge1xuICAgICAgICBmb3IgKGxldCBzcGVjaWZpZXIgb2Ygbm9kZS5zcGVjaWZpZXJzKSB7XG4gICAgICAgICAgY2hlY2tEZWNsYXJhdGlvbnNJblNjb3BlKHNjb3BlLCBzcGVjaWZpZXIubG9jYWwubmFtZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJzogaGFuZGxlRXhwb3J0RGVmYXVsdCxcbiAgICAgICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJzogaGFuZGxlRXhwb3J0TmFtZWQsXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1tdXRhYmxlLWV4cG9ydHMuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja0RlY2xhcmF0aW9uIiwibm9kZSIsImtpbmQiLCJyZXBvcnQiLCJjaGVja0RlY2xhcmF0aW9uc0luU2NvcGUiLCJuYW1lIiwidmFyaWFibGVzIiwidmFyaWFibGUiLCJkZWYiLCJkZWZzIiwicGFyZW50IiwiaGFuZGxlRXhwb3J0RGVmYXVsdCIsInNjb3BlIiwiZ2V0U2NvcGUiLCJkZWNsYXJhdGlvbiIsImhhbmRsZUV4cG9ydE5hbWVkIiwic291cmNlIiwic3BlY2lmaWVyIiwic3BlY2lmaWVycyIsImxvY2FsIl0sIm1hcHBpbmdzIjoiYUFBQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsb0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixhQUFTQyxnQkFBVCxDQUEwQkMsSUFBMUIsRUFBZ0M7QUFDdEJDLFVBRHNCLEdBQ2JELElBRGEsQ0FDdEJDLElBRHNCO0FBRTlCLFVBQUlBLFNBQVMsS0FBVCxJQUFrQkEsU0FBUyxLQUEvQixFQUFzQztBQUNwQ0gsZ0JBQVFJLE1BQVIsQ0FBZUYsSUFBZixFQUFzQixzQkFBcUJDLElBQUssaUNBQWhEO0FBQ0Q7QUFDRjs7QUFFRCxhQUFTRSx3QkFBVCxPQUFpREMsSUFBakQsRUFBdUQsS0FBbkJDLFNBQW1CLFFBQW5CQSxTQUFtQjtBQUNyRCxXQUFLLE1BQU1DLFFBQVgsSUFBdUJELFNBQXZCLEVBQWtDO0FBQ2hDLFlBQUlDLFNBQVNGLElBQVQsS0FBa0JBLElBQXRCLEVBQTRCO0FBQzFCLGVBQUssTUFBTUcsR0FBWCxJQUFrQkQsU0FBU0UsSUFBM0IsRUFBaUM7QUFDL0IsZ0JBQUlELElBQUlkLElBQUosS0FBYSxVQUFiLElBQTJCYyxJQUFJRSxNQUFuQyxFQUEyQztBQUN6Q1YsK0JBQWlCUSxJQUFJRSxNQUFyQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7O0FBRUQsYUFBU0MsbUJBQVQsQ0FBNkJWLElBQTdCLEVBQW1DO0FBQ2pDLFlBQU1XLFFBQVFiLFFBQVFjLFFBQVIsRUFBZDs7QUFFQSxVQUFJWixLQUFLYSxXQUFMLENBQWlCVCxJQUFyQixFQUEyQjtBQUN6QkQsaUNBQXlCUSxLQUF6QixFQUFnQ1gsS0FBS2EsV0FBTCxDQUFpQlQsSUFBakQ7QUFDRDtBQUNGOztBQUVELGFBQVNVLGlCQUFULENBQTJCZCxJQUEzQixFQUFpQztBQUMvQixZQUFNVyxRQUFRYixRQUFRYyxRQUFSLEVBQWQ7O0FBRUEsVUFBSVosS0FBS2EsV0FBVCxFQUF1QjtBQUNyQmQseUJBQWlCQyxLQUFLYSxXQUF0QjtBQUNELE9BRkQsTUFFTyxJQUFJLENBQUNiLEtBQUtlLE1BQVYsRUFBa0I7QUFDdkIsYUFBSyxNQUFNQyxTQUFYLElBQXdCaEIsS0FBS2lCLFVBQTdCLEVBQXlDO0FBQ3ZDZCxtQ0FBeUJRLEtBQXpCLEVBQWdDSyxVQUFVRSxLQUFWLENBQWdCZCxJQUFoRDtBQUNEO0FBQ0Y7QUFDRjs7QUFFRCxXQUFPO0FBQ0wsa0NBQTRCTSxtQkFEdkI7QUFFTCxnQ0FBMEJJLGlCQUZyQixFQUFQOztBQUlELEdBckRjLEVBQWpCIiwiZmlsZSI6Im5vLW11dGFibGUtZXhwb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLW11dGFibGUtZXhwb3J0cycpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgZnVuY3Rpb24gY2hlY2tEZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICBjb25zdCB7IGtpbmQgfSA9IG5vZGU7XG4gICAgICBpZiAoa2luZCA9PT0gJ3ZhcicgfHwga2luZCA9PT0gJ2xldCcpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQobm9kZSwgYEV4cG9ydGluZyBtdXRhYmxlICcke2tpbmR9JyBiaW5kaW5nLCB1c2UgJ2NvbnN0JyBpbnN0ZWFkLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNoZWNrRGVjbGFyYXRpb25zSW5TY29wZSh7IHZhcmlhYmxlcyB9LCBuYW1lKSB7XG4gICAgICBmb3IgKGNvbnN0IHZhcmlhYmxlIG9mIHZhcmlhYmxlcykge1xuICAgICAgICBpZiAodmFyaWFibGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIGZvciAoY29uc3QgZGVmIG9mIHZhcmlhYmxlLmRlZnMpIHtcbiAgICAgICAgICAgIGlmIChkZWYudHlwZSA9PT0gJ1ZhcmlhYmxlJyAmJiBkZWYucGFyZW50KSB7XG4gICAgICAgICAgICAgIGNoZWNrRGVjbGFyYXRpb24oZGVmLnBhcmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlRXhwb3J0RGVmYXVsdChub2RlKSB7XG4gICAgICBjb25zdCBzY29wZSA9IGNvbnRleHQuZ2V0U2NvcGUoKTtcblxuICAgICAgaWYgKG5vZGUuZGVjbGFyYXRpb24ubmFtZSkge1xuICAgICAgICBjaGVja0RlY2xhcmF0aW9uc0luU2NvcGUoc2NvcGUsIG5vZGUuZGVjbGFyYXRpb24ubmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlRXhwb3J0TmFtZWQobm9kZSkge1xuICAgICAgY29uc3Qgc2NvcGUgPSBjb250ZXh0LmdldFNjb3BlKCk7XG5cbiAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uKSAge1xuICAgICAgICBjaGVja0RlY2xhcmF0aW9uKG5vZGUuZGVjbGFyYXRpb24pO1xuICAgICAgfSBlbHNlIGlmICghbm9kZS5zb3VyY2UpIHtcbiAgICAgICAgZm9yIChjb25zdCBzcGVjaWZpZXIgb2Ygbm9kZS5zcGVjaWZpZXJzKSB7XG4gICAgICAgICAgY2hlY2tEZWNsYXJhdGlvbnNJblNjb3BlKHNjb3BlLCBzcGVjaWZpZXIubG9jYWwubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic6IGhhbmRsZUV4cG9ydERlZmF1bHQsXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGhhbmRsZUV4cG9ydE5hbWVkLFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js b/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js index 4ef823f1c..01298cb66 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js @@ -104,4 +104,4 @@ module.exports = { * @copyright 2016 Desmond Brand. All rights reserved. * See LICENSE in root directory for full license. */ -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsImZpbGVJbXBvcnRzIiwiTWFwIiwiYWxsUHJvcGVydHlMb29rdXBzIiwiaGFuZGxlSW1wb3J0RGVmYXVsdCIsIm5vZGUiLCJkZWNsYXJhdGlvbiIsImV4cG9ydE1hcCIsIkV4cG9ydHMiLCJnZXQiLCJzb3VyY2UiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsInNldCIsImxvY2FsIiwibmFtZSIsInNvdXJjZVBhdGgiLCJzdG9yZVByb3BlcnR5TG9va3VwIiwib2JqZWN0TmFtZSIsInByb3BOYW1lIiwibG9va3VwcyIsInB1c2giLCJoYW5kbGVQcm9wTG9va3VwIiwib2JqZWN0IiwicHJvcGVydHkiLCJoYW5kbGVEZXN0cnVjdHVyaW5nQXNzaWdubWVudCIsImlzRGVzdHJ1Y3R1cmUiLCJpZCIsImluaXQiLCJwcm9wZXJ0aWVzIiwia2V5IiwiaGFuZGxlUHJvZ3JhbUV4aXQiLCJmb3JFYWNoIiwiZmlsZUltcG9ydCIsIm5hbWVzcGFjZSIsImhhcyIsInJlcG9ydCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BLHlDO0FBQ0EseUQ7QUFDQSxxQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLDRCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVNDLE9BQVQsRUFBa0I7O0FBRXhCLFVBQU1DLGNBQWMsSUFBSUMsR0FBSixFQUFwQjtBQUNBLFVBQU1DLHFCQUFxQixJQUFJRCxHQUFKLEVBQTNCOztBQUVBLGFBQVNF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c0JBQWdCTSxpQkFKWCxFQUFQOztBQU1ELEdBdEZjLEVBQWpCLEMsQ0FkQSIsImZpbGUiOiJuby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIHdhcm4gYWJvdXQgcG90ZW50aWFsbHkgY29uZnVzZWQgdXNlIG9mIG5hbWUgZXhwb3J0c1xuICogQGF1dGhvciBEZXNtb25kIEJyYW5kXG4gKiBAY29weXJpZ2h0IDIwMTYgRGVzbW9uZCBCcmFuZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFNlZSBMSUNFTlNFIGluIHJvb3QgZGlyZWN0b3J5IGZvciBmdWxsIGxpY2Vuc2UuXG4gKi9cbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCdcbmltcG9ydCBpbXBvcnREZWNsYXJhdGlvbiBmcm9tICcuLi9pbXBvcnREZWNsYXJhdGlvbidcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlIERlZmluaXRpb25cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXInKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbihjb250ZXh0KSB7XG5cbiAgICBjb25zdCBmaWxlSW1wb3J0cyA9IG5ldyBNYXAoKVxuICAgIGNvbnN0IGFsbFByb3BlcnR5TG9va3VwcyA9IG5ldyBNYXAoKVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlSW1wb3J0RGVmYXVsdChub2RlKSB7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGltcG9ydERlY2xhcmF0aW9uKGNvbnRleHQpXG4gICAgICBjb25zdCBleHBvcnRNYXAgPSBFeHBvcnRzLmdldChkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsIGNvbnRleHQpXG4gICAgICBpZiAoZXhwb3J0TWFwID09IG51bGwpIHJldHVyblxuXG4gICAgICBpZiAoZXhwb3J0TWFwLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgZXhwb3J0TWFwLnJlcG9ydEVycm9ycyhjb250ZXh0LCBkZWNsYXJhdGlvbilcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGZpbGVJbXBvcnRzLnNldChub2RlLmxvY2FsLm5hbWUsIHtcbiAgICAgICAgZXhwb3J0TWFwLFxuICAgICAgICBzb3VyY2VQYXRoOiBkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHN0b3JlUHJvcGVydHlMb29rdXAob2JqZWN0TmFtZSwgcHJvcE5hbWUsIG5vZGUpIHtcbiAgICAgIGNvbnN0IGxvb2t1cHMgPSBhbGxQcm9wZXJ0eUxvb2t1cHMuZ2V0KG9iamVjdE5hbWUpIHx8IFtdXG4gICAgICBsb29rdXBzLnB1c2goe25vZGUsIHByb3BOYW1lfSlcbiAgICAgIGFsbFByb3BlcnR5TG9va3Vwcy5zZXQob2JqZWN0TmFtZSwgbG9va3VwcylcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVQcm9wTG9va3VwKG5vZGUpIHtcbiAgICAgIGNvbnN0IG9iamVjdE5hbWUgPSBub2RlLm9iamVjdC5uYW1lXG4gICAgICBjb25zdCBwcm9wTmFtZSA9IG5vZGUucHJvcGVydHkubmFtZVxuICAgICAgc3RvcmVQcm9wZXJ0eUxvb2t1cChvYmplY3ROYW1lLCBwcm9wTmFtZSwgbm9kZSlcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVEZXN0cnVjdHVyaW5nQXNzaWdubWVudChub2RlKSB7XG4gICAgICBjb25zdCBpc0Rlc3RydWN0dXJlID0gKFxuICAgICAgICBub2RlLmlkLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJyAmJlxuICAgICAgICBub2RlLmluaXQgIT0gbnVsbCAmJlxuICAgICAgICBub2RlLmluaXQudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICApXG4gICAgICBpZiAoIWlzRGVzdHJ1Y3R1cmUpIHJldHVyblxuXG4gICAgICBjb25zdCBvYmplY3ROYW1lID0gbm9kZS5pbml0Lm5hbWVcbiAgICAgIGZvciAoY29uc3QgeyBrZXkgfSBvZiBub2RlLmlkLnByb3BlcnRpZXMpIHtcbiAgICAgICAgaWYgKGtleSA9PSBudWxsKSBjb250aW51ZSAgLy8gdHJ1ZSBmb3IgcmVzdCBwcm9wZXJ0aWVzXG4gICAgICAgIHN0b3JlUHJvcGVydHlMb29rdXAob2JqZWN0TmFtZSwga2V5Lm5hbWUsIGtleSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVQcm9ncmFtRXhpdCgpIHtcbiAgICAgIGFsbFByb3BlcnR5TG9va3Vwcy5mb3JFYWNoKChsb29rdXBzLCBvYmplY3ROYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVJbXBvcnQgPSBmaWxlSW1wb3J0cy5nZXQob2JqZWN0TmFtZSlcbiAgICAgICAgaWYgKGZpbGVJbXBvcnQgPT0gbnVsbCkgcmV0dXJuXG5cbiAgICAgICAgZm9yIChjb25zdCB7cHJvcE5hbWUsIG5vZGV9IG9mIGxvb2t1cHMpIHtcbiAgICAgICAgICAvLyB0aGUgZGVmYXVsdCBpbXBvcnQgY2FuIGhhdmUgYSBcImRlZmF1bHRcIiBwcm9wZXJ0eVxuICAgICAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ2RlZmF1bHQnKSBjb250aW51ZVxuICAgICAgICAgIGlmICghZmlsZUltcG9ydC5leHBvcnRNYXAubmFtZXNwYWNlLmhhcyhwcm9wTmFtZSkpIGNvbnRpbnVlXG5cbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICBgQ2F1dGlvbjogXFxgJHtvYmplY3ROYW1lfVxcYCBhbHNvIGhhcyBhIG5hbWVkIGV4cG9ydCBgICtcbiAgICAgICAgICAgICAgYFxcYCR7cHJvcE5hbWV9XFxgLiBDaGVjayBpZiB5b3UgbWVhbnQgdG8gd3JpdGUgYCArXG4gICAgICAgICAgICAgIGBcXGBpbXBvcnQgeyR7cHJvcE5hbWV9fSBmcm9tICcke2ZpbGVJbXBvcnQuc291cmNlUGF0aH0nXFxgIGAgK1xuICAgICAgICAgICAgICAnaW5zdGVhZC4nXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJzogaGFuZGxlSW1wb3J0RGVmYXVsdCxcbiAgICAgICdNZW1iZXJFeHByZXNzaW9uJzogaGFuZGxlUHJvcExvb2t1cCxcbiAgICAgICdWYXJpYWJsZURlY2xhcmF0b3InOiBoYW5kbGVEZXN0cnVjdHVyaW5nQXNzaWdubWVudCxcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBoYW5kbGVQcm9ncmFtRXhpdCxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsImZpbGVJbXBvcnRzIiwiTWFwIiwiYWxsUHJvcGVydHlMb29rdXBzIiwiaGFuZGxlSW1wb3J0RGVmYXVsdCIsIm5vZGUiLCJkZWNsYXJhdGlvbiIsImV4cG9ydE1hcCIsIkV4cG9ydHMiLCJnZXQiLCJzb3VyY2UiLCJ2YWx1ZSIsImVycm9ycyIsImxlbmd0aCIsInJlcG9ydEVycm9ycyIsInNldCIsImxvY2FsIiwibmFtZSIsInNvdXJjZVBhdGgiLCJzdG9yZVByb3BlcnR5TG9va3VwIiwib2JqZWN0TmFtZSIsInByb3BOYW1lIiwibG9va3VwcyIsInB1c2giLCJoYW5kbGVQcm9wTG9va3VwIiwib2JqZWN0IiwicHJvcGVydHkiLCJoYW5kbGVEZXN0cnVjdHVyaW5nQXNzaWdubWVudCIsImlzRGVzdHJ1Y3R1cmUiLCJpZCIsImluaXQiLCJwcm9wZXJ0aWVzIiwia2V5IiwiaGFuZGxlUHJvZ3JhbUV4aXQiLCJmb3JFYWNoIiwiZmlsZUltcG9ydCIsIm5hbWVzcGFjZSIsImhhcyIsInJlcG9ydCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BLHlDO0FBQ0EseUQ7QUFDQSxxQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLDRCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVNDLE9BQVQsRUFBa0I7O0FBRXhCLFVBQU1DLGNBQWMsSUFBSUMsR0FBSixFQUFwQjtBQUNBLFVBQU1DLHFCQUFxQixJQUFJRCxHQUFKLEVBQTNCOztBQUVBLGFBQVNF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c0JBQWdCTSxpQkFKWCxFQUFQOztBQU1ELEdBdEZjLEVBQWpCLEMsQ0FkQSIsImZpbGUiOiJuby1uYW1lZC1hcy1kZWZhdWx0LW1lbWJlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIHdhcm4gYWJvdXQgcG90ZW50aWFsbHkgY29uZnVzZWQgdXNlIG9mIG5hbWUgZXhwb3J0c1xuICogQGF1dGhvciBEZXNtb25kIEJyYW5kXG4gKiBAY29weXJpZ2h0IDIwMTYgRGVzbW9uZCBCcmFuZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFNlZSBMSUNFTlNFIGluIHJvb3QgZGlyZWN0b3J5IGZvciBmdWxsIGxpY2Vuc2UuXG4gKi9cbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCc7XG5pbXBvcnQgaW1wb3J0RGVjbGFyYXRpb24gZnJvbSAnLi4vaW1wb3J0RGVjbGFyYXRpb24nO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlIERlZmluaXRpb25cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXInKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbihjb250ZXh0KSB7XG5cbiAgICBjb25zdCBmaWxlSW1wb3J0cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCBhbGxQcm9wZXJ0eUxvb2t1cHMgPSBuZXcgTWFwKCk7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVJbXBvcnREZWZhdWx0KG5vZGUpIHtcbiAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gaW1wb3J0RGVjbGFyYXRpb24oY29udGV4dCk7XG4gICAgICBjb25zdCBleHBvcnRNYXAgPSBFeHBvcnRzLmdldChkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgaWYgKGV4cG9ydE1hcCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGlmIChleHBvcnRNYXAuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICBleHBvcnRNYXAucmVwb3J0RXJyb3JzKGNvbnRleHQsIGRlY2xhcmF0aW9uKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaWxlSW1wb3J0cy5zZXQobm9kZS5sb2NhbC5uYW1lLCB7XG4gICAgICAgIGV4cG9ydE1hcCxcbiAgICAgICAgc291cmNlUGF0aDogZGVjbGFyYXRpb24uc291cmNlLnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc3RvcmVQcm9wZXJ0eUxvb2t1cChvYmplY3ROYW1lLCBwcm9wTmFtZSwgbm9kZSkge1xuICAgICAgY29uc3QgbG9va3VwcyA9IGFsbFByb3BlcnR5TG9va3Vwcy5nZXQob2JqZWN0TmFtZSkgfHwgW107XG4gICAgICBsb29rdXBzLnB1c2goeyBub2RlLCBwcm9wTmFtZSB9KTtcbiAgICAgIGFsbFByb3BlcnR5TG9va3Vwcy5zZXQob2JqZWN0TmFtZSwgbG9va3Vwcyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlUHJvcExvb2t1cChub2RlKSB7XG4gICAgICBjb25zdCBvYmplY3ROYW1lID0gbm9kZS5vYmplY3QubmFtZTtcbiAgICAgIGNvbnN0IHByb3BOYW1lID0gbm9kZS5wcm9wZXJ0eS5uYW1lO1xuICAgICAgc3RvcmVQcm9wZXJ0eUxvb2t1cChvYmplY3ROYW1lLCBwcm9wTmFtZSwgbm9kZSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlRGVzdHJ1Y3R1cmluZ0Fzc2lnbm1lbnQobm9kZSkge1xuICAgICAgY29uc3QgaXNEZXN0cnVjdHVyZSA9IChcbiAgICAgICAgbm9kZS5pZC50eXBlID09PSAnT2JqZWN0UGF0dGVybicgJiZcbiAgICAgICAgbm9kZS5pbml0ICE9IG51bGwgJiZcbiAgICAgICAgbm9kZS5pbml0LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgKTtcbiAgICAgIGlmICghaXNEZXN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBvYmplY3ROYW1lID0gbm9kZS5pbml0Lm5hbWU7XG4gICAgICBmb3IgKGNvbnN0IHsga2V5IH0gb2Ygbm9kZS5pZC5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChrZXkgPT0gbnVsbCkgY29udGludWU7ICAvLyB0cnVlIGZvciByZXN0IHByb3BlcnRpZXNcbiAgICAgICAgc3RvcmVQcm9wZXJ0eUxvb2t1cChvYmplY3ROYW1lLCBrZXkubmFtZSwga2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVQcm9ncmFtRXhpdCgpIHtcbiAgICAgIGFsbFByb3BlcnR5TG9va3Vwcy5mb3JFYWNoKChsb29rdXBzLCBvYmplY3ROYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVJbXBvcnQgPSBmaWxlSW1wb3J0cy5nZXQob2JqZWN0TmFtZSk7XG4gICAgICAgIGlmIChmaWxlSW1wb3J0ID09IG51bGwpIHJldHVybjtcblxuICAgICAgICBmb3IgKGNvbnN0IHsgcHJvcE5hbWUsIG5vZGUgfSBvZiBsb29rdXBzKSB7XG4gICAgICAgICAgLy8gdGhlIGRlZmF1bHQgaW1wb3J0IGNhbiBoYXZlIGEgXCJkZWZhdWx0XCIgcHJvcGVydHlcbiAgICAgICAgICBpZiAocHJvcE5hbWUgPT09ICdkZWZhdWx0JykgY29udGludWU7XG4gICAgICAgICAgaWYgKCFmaWxlSW1wb3J0LmV4cG9ydE1hcC5uYW1lc3BhY2UuaGFzKHByb3BOYW1lKSkgY29udGludWU7XG5cbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICBgQ2F1dGlvbjogXFxgJHtvYmplY3ROYW1lfVxcYCBhbHNvIGhhcyBhIG5hbWVkIGV4cG9ydCBgICtcbiAgICAgICAgICAgICAgYFxcYCR7cHJvcE5hbWV9XFxgLiBDaGVjayBpZiB5b3UgbWVhbnQgdG8gd3JpdGUgYCArXG4gICAgICAgICAgICAgIGBcXGBpbXBvcnQgeyR7cHJvcE5hbWV9fSBmcm9tICcke2ZpbGVJbXBvcnQuc291cmNlUGF0aH0nXFxgIGAgK1xuICAgICAgICAgICAgICAnaW5zdGVhZC4nXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInOiBoYW5kbGVJbXBvcnREZWZhdWx0LFxuICAgICAgJ01lbWJlckV4cHJlc3Npb24nOiBoYW5kbGVQcm9wTG9va3VwLFxuICAgICAgJ1ZhcmlhYmxlRGVjbGFyYXRvcic6IGhhbmRsZURlc3RydWN0dXJpbmdBc3NpZ25tZW50LFxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGhhbmRsZVByb2dyYW1FeGl0LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js b/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js index 0b8d213c2..290bb5f6b 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js @@ -16,9 +16,9 @@ module.exports = { // #566: default is a valid specifier if (defaultSpecifier[nameKey].name === 'default') return; - var declaration = (0, _importDeclaration2.default)(context); + const declaration = (0, _importDeclaration2.default)(context); - var imports = _ExportMap2.default.get(declaration.source.value, context); + const imports = _ExportMap2.default.get(declaration.source.value, context); if (imports == null) return; if (imports.errors.length) { @@ -40,4 +40,4 @@ module.exports = { 'ExportDefaultSpecifier': checkDefault.bind(null, 'exported') }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwiY2hlY2tEZWZhdWx0IiwibmFtZUtleSIsImRlZmF1bHRTcGVjaWZpZXIiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwibGVuZ3RoIiwicmVwb3J0RXJyb3JzIiwiaGFzIiwicmVwb3J0IiwiYmluZCJdLCJtYXBwaW5ncyI6ImFBQUEseUM7QUFDQSx5RDtBQUNBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxTQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxxQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLGFBQVNDLFlBQVQsQ0FBc0JDLE9BQXRCLEVBQStCQyxnQkFBL0IsRUFBaUQ7QUFDL0M7QUFDQSxVQUFJQSxpQkFBaUJELE9BQWpCLEVBQTBCRSxJQUExQixLQUFtQyxTQUF2QyxFQUFrRDs7QUFFbEQsVUFBSUMsY0FBYyxpQ0FBa0JMLE9BQWxCLENBQWxCOztBQUVBLFVBQUlNLFVBQVVDLG9CQUFRQyxHQUFSLENBQVlILFlBQVlJLE1BQVosQ0FBbUJDLEtBQS9CLEVBQXNDVixPQUF0QyxDQUFkO0FBQ0EsVUFBSU0sV0FBVyxJQUFmLEVBQXFCOztBQUVyQixVQUFJQSxRQUFRSyxNQUFSLENBQWVDLE1BQW5CLEVBQTJCO0FBQ3pCTixnQkFBUU8sWUFBUixDQUFxQmIsT0FBckIsRUFBOEJLLFdBQTlCO0FBQ0E7QUFDRDs7QUFFRCxVQUFJQyxRQUFRUSxHQUFSLENBQVksU0FBWjtBQUNBUixjQUFRUSxHQUFSLENBQVlYLGlCQUFpQkQsT0FBakIsRUFBMEJFLElBQXRDLENBREosRUFDaUQ7O0FBRS9DSixnQkFBUWUsTUFBUixDQUFlWixnQkFBZjtBQUNFLG1DQUEyQkEsaUJBQWlCRCxPQUFqQixFQUEwQkUsSUFBckQ7QUFDQSw4Q0FGRjs7QUFJRDtBQUNGO0FBQ0QsV0FBTztBQUNMLGdDQUEwQkgsYUFBYWUsSUFBYixDQUFrQixJQUFsQixFQUF3QixPQUF4QixDQURyQjtBQUVMLGdDQUEwQmYsYUFBYWUsSUFBYixDQUFrQixJQUFsQixFQUF3QixVQUF4QixDQUZyQixFQUFQOztBQUlELEdBckNjLEVBQWpCIiwiZmlsZSI6Im5vLW5hbWVkLWFzLWRlZmF1bHQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhwb3J0cyBmcm9tICcuLi9FeHBvcnRNYXAnXG5pbXBvcnQgaW1wb3J0RGVjbGFyYXRpb24gZnJvbSAnLi4vaW1wb3J0RGVjbGFyYXRpb24nXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLW5hbWVkLWFzLWRlZmF1bHQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGZ1bmN0aW9uIGNoZWNrRGVmYXVsdChuYW1lS2V5LCBkZWZhdWx0U3BlY2lmaWVyKSB7XG4gICAgICAvLyAjNTY2OiBkZWZhdWx0IGlzIGEgdmFsaWQgc3BlY2lmaWVyXG4gICAgICBpZiAoZGVmYXVsdFNwZWNpZmllcltuYW1lS2V5XS5uYW1lID09PSAnZGVmYXVsdCcpIHJldHVyblxuXG4gICAgICB2YXIgZGVjbGFyYXRpb24gPSBpbXBvcnREZWNsYXJhdGlvbihjb250ZXh0KVxuXG4gICAgICB2YXIgaW1wb3J0cyA9IEV4cG9ydHMuZ2V0KGRlY2xhcmF0aW9uLnNvdXJjZS52YWx1ZSwgY29udGV4dClcbiAgICAgIGlmIChpbXBvcnRzID09IG51bGwpIHJldHVyblxuXG4gICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGltcG9ydHMucmVwb3J0RXJyb3JzKGNvbnRleHQsIGRlY2xhcmF0aW9uKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGltcG9ydHMuaGFzKCdkZWZhdWx0JykgJiZcbiAgICAgICAgICBpbXBvcnRzLmhhcyhkZWZhdWx0U3BlY2lmaWVyW25hbWVLZXldLm5hbWUpKSB7XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoZGVmYXVsdFNwZWNpZmllcixcbiAgICAgICAgICAnVXNpbmcgZXhwb3J0ZWQgbmFtZSBcXCcnICsgZGVmYXVsdFNwZWNpZmllcltuYW1lS2V5XS5uYW1lICtcbiAgICAgICAgICAnXFwnIGFzIGlkZW50aWZpZXIgZm9yIGRlZmF1bHQgZXhwb3J0LicpXG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJzogY2hlY2tEZWZhdWx0LmJpbmQobnVsbCwgJ2xvY2FsJyksXG4gICAgICAnRXhwb3J0RGVmYXVsdFNwZWNpZmllcic6IGNoZWNrRGVmYXVsdC5iaW5kKG51bGwsICdleHBvcnRlZCcpLFxuICAgIH1cbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1hcy1kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0IiwiY2hlY2tEZWZhdWx0IiwibmFtZUtleSIsImRlZmF1bHRTcGVjaWZpZXIiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJpbXBvcnRzIiwiRXhwb3J0cyIsImdldCIsInNvdXJjZSIsInZhbHVlIiwiZXJyb3JzIiwibGVuZ3RoIiwicmVwb3J0RXJyb3JzIiwiaGFzIiwicmVwb3J0IiwiYmluZCJdLCJtYXBwaW5ncyI6ImFBQUEseUM7QUFDQSx5RDtBQUNBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxTQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxxQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLGFBQVNDLFlBQVQsQ0FBc0JDLE9BQXRCLEVBQStCQyxnQkFBL0IsRUFBaUQ7QUFDL0M7QUFDQSxVQUFJQSxpQkFBaUJELE9BQWpCLEVBQTBCRSxJQUExQixLQUFtQyxTQUF2QyxFQUFrRDs7QUFFbEQsWUFBTUMsY0FBYyxpQ0FBa0JMLE9BQWxCLENBQXBCOztBQUVBLFlBQU1NLFVBQVVDLG9CQUFRQyxHQUFSLENBQVlILFlBQVlJLE1BQVosQ0FBbUJDLEtBQS9CLEVBQXNDVixPQUF0QyxDQUFoQjtBQUNBLFVBQUlNLFdBQVcsSUFBZixFQUFxQjs7QUFFckIsVUFBSUEsUUFBUUssTUFBUixDQUFlQyxNQUFuQixFQUEyQjtBQUN6Qk4sZ0JBQVFPLFlBQVIsQ0FBcUJiLE9BQXJCLEVBQThCSyxXQUE5QjtBQUNBO0FBQ0Q7O0FBRUQsVUFBSUMsUUFBUVEsR0FBUixDQUFZLFNBQVo7QUFDQVIsY0FBUVEsR0FBUixDQUFZWCxpQkFBaUJELE9BQWpCLEVBQTBCRSxJQUF0QyxDQURKLEVBQ2lEOztBQUUvQ0osZ0JBQVFlLE1BQVIsQ0FBZVosZ0JBQWY7QUFDRSxtQ0FBMkJBLGlCQUFpQkQsT0FBakIsRUFBMEJFLElBQXJEO0FBQ0EsOENBRkY7O0FBSUQ7QUFDRjtBQUNELFdBQU87QUFDTCxnQ0FBMEJILGFBQWFlLElBQWIsQ0FBa0IsSUFBbEIsRUFBd0IsT0FBeEIsQ0FEckI7QUFFTCxnQ0FBMEJmLGFBQWFlLElBQWIsQ0FBa0IsSUFBbEIsRUFBd0IsVUFBeEIsQ0FGckIsRUFBUDs7QUFJRCxHQXJDYyxFQUFqQiIsImZpbGUiOiJuby1uYW1lZC1hcy1kZWZhdWx0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4cG9ydHMgZnJvbSAnLi4vRXhwb3J0TWFwJztcbmltcG9ydCBpbXBvcnREZWNsYXJhdGlvbiBmcm9tICcuLi9pbXBvcnREZWNsYXJhdGlvbic7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1uYW1lZC1hcy1kZWZhdWx0JyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBmdW5jdGlvbiBjaGVja0RlZmF1bHQobmFtZUtleSwgZGVmYXVsdFNwZWNpZmllcikge1xuICAgICAgLy8gIzU2NjogZGVmYXVsdCBpcyBhIHZhbGlkIHNwZWNpZmllclxuICAgICAgaWYgKGRlZmF1bHRTcGVjaWZpZXJbbmFtZUtleV0ubmFtZSA9PT0gJ2RlZmF1bHQnKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gaW1wb3J0RGVjbGFyYXRpb24oY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IGltcG9ydHMgPSBFeHBvcnRzLmdldChkZWNsYXJhdGlvbi5zb3VyY2UudmFsdWUsIGNvbnRleHQpO1xuICAgICAgaWYgKGltcG9ydHMgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBpZiAoaW1wb3J0cy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGltcG9ydHMucmVwb3J0RXJyb3JzKGNvbnRleHQsIGRlY2xhcmF0aW9uKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW1wb3J0cy5oYXMoJ2RlZmF1bHQnKSAmJlxuICAgICAgICAgIGltcG9ydHMuaGFzKGRlZmF1bHRTcGVjaWZpZXJbbmFtZUtleV0ubmFtZSkpIHtcblxuICAgICAgICBjb250ZXh0LnJlcG9ydChkZWZhdWx0U3BlY2lmaWVyLFxuICAgICAgICAgICdVc2luZyBleHBvcnRlZCBuYW1lIFxcJycgKyBkZWZhdWx0U3BlY2lmaWVyW25hbWVLZXldLm5hbWUgK1xuICAgICAgICAgICdcXCcgYXMgaWRlbnRpZmllciBmb3IgZGVmYXVsdCBleHBvcnQuJyk7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJzogY2hlY2tEZWZhdWx0LmJpbmQobnVsbCwgJ2xvY2FsJyksXG4gICAgICAnRXhwb3J0RGVmYXVsdFNwZWNpZmllcic6IGNoZWNrRGVmYXVsdC5iaW5kKG51bGwsICdleHBvcnRlZCcpLFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-named-default.js b/node_modules/eslint-plugin-import/lib/rules/no-named-default.js index e877c7b37..4f7c68478 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-named-default.js @@ -13,6 +13,10 @@ module.exports = { return { 'ImportDeclaration': function (node) { node.specifiers.forEach(function (im) { + if (im.importKind === 'type' || im.importKind === 'typeof') { + return; + } + if (im.type === 'ImportSpecifier' && im.imported.name === 'default') { context.report({ node: im.local, @@ -22,4 +26,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0Iiwibm9kZSIsInNwZWNpZmllcnMiLCJmb3JFYWNoIiwiaW0iLCJpbXBvcnRlZCIsIm5hbWUiLCJyZXBvcnQiLCJsb2NhbCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxrQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCLFdBQU87QUFDTCwyQkFBcUIsVUFBVUMsSUFBVixFQUFnQjtBQUNuQ0EsYUFBS0MsVUFBTCxDQUFnQkMsT0FBaEIsQ0FBd0IsVUFBVUMsRUFBVixFQUFjO0FBQ3BDLGNBQUlBLEdBQUdULElBQUgsS0FBWSxpQkFBWixJQUFpQ1MsR0FBR0MsUUFBSCxDQUFZQyxJQUFaLEtBQXFCLFNBQTFELEVBQXFFO0FBQ25FTixvQkFBUU8sTUFBUixDQUFlO0FBQ2JOLG9CQUFNRyxHQUFHSSxLQURJO0FBRWJDLHVCQUFVLHdDQUF1Q0wsR0FBR0ksS0FBSCxDQUFTRixJQUFLLElBRmxELEVBQWY7QUFHRDtBQUNGLFNBTkQ7QUFPRCxPQVRJLEVBQVA7O0FBV0QsR0FyQmMsRUFBakIiLCJmaWxlIjoibm8tbmFtZWQtZGVmYXVsdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbmFtZWQtZGVmYXVsdCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWNsYXJhdGlvbic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbSkge1xuICAgICAgICAgIGlmIChpbS50eXBlID09PSAnSW1wb3J0U3BlY2lmaWVyJyAmJiBpbS5pbXBvcnRlZC5uYW1lID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgbm9kZTogaW0ubG9jYWwsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGBVc2UgZGVmYXVsdCBpbXBvcnQgc3ludGF4IHRvIGltcG9ydCAnJHtpbS5sb2NhbC5uYW1lfScuYCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1kZWZhdWx0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0Iiwibm9kZSIsInNwZWNpZmllcnMiLCJmb3JFYWNoIiwiaW0iLCJpbXBvcnRLaW5kIiwiaW1wb3J0ZWQiLCJuYW1lIiwicmVwb3J0IiwibG9jYWwiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiYUFBQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsa0JBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVUMsT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0wsMkJBQXFCLFVBQVVDLElBQVYsRUFBZ0I7QUFDbkNBLGFBQUtDLFVBQUwsQ0FBZ0JDLE9BQWhCLENBQXdCLFVBQVVDLEVBQVYsRUFBYztBQUNwQyxjQUFJQSxHQUFHQyxVQUFILEtBQWtCLE1BQWxCLElBQTRCRCxHQUFHQyxVQUFILEtBQWtCLFFBQWxELEVBQTREO0FBQzFEO0FBQ0Q7O0FBRUQsY0FBSUQsR0FBR1QsSUFBSCxLQUFZLGlCQUFaLElBQWlDUyxHQUFHRSxRQUFILENBQVlDLElBQVosS0FBcUIsU0FBMUQsRUFBcUU7QUFDbkVQLG9CQUFRUSxNQUFSLENBQWU7QUFDYlAsb0JBQU1HLEdBQUdLLEtBREk7QUFFYkMsdUJBQVUsd0NBQXVDTixHQUFHSyxLQUFILENBQVNGLElBQUssSUFGbEQsRUFBZjtBQUdEO0FBQ0YsU0FWRDtBQVdELE9BYkksRUFBUDs7QUFlRCxHQXpCYyxFQUFqQiIsImZpbGUiOiJuby1uYW1lZC1kZWZhdWx0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbmFtZWQtZGVmYXVsdCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdJbXBvcnREZWNsYXJhdGlvbic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbSkge1xuICAgICAgICAgIGlmIChpbS5pbXBvcnRLaW5kID09PSAndHlwZScgfHwgaW0uaW1wb3J0S2luZCA9PT0gJ3R5cGVvZicpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaW0udHlwZSA9PT0gJ0ltcG9ydFNwZWNpZmllcicgJiYgaW0uaW1wb3J0ZWQubmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG5vZGU6IGltLmxvY2FsLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBgVXNlIGRlZmF1bHQgaW1wb3J0IHN5bnRheCB0byBpbXBvcnQgJyR7aW0ubG9jYWwubmFtZX0nLmAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-named-export.js b/node_modules/eslint-plugin-import/lib/rules/no-named-export.js index 8139a6b9b..c78bed7ce 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-named-export.js @@ -32,4 +32,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1leHBvcnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJwYXJzZXJPcHRpb25zIiwic291cmNlVHlwZSIsIm1lc3NhZ2UiLCJFeHBvcnRBbGxEZWNsYXJhdGlvbiIsIm5vZGUiLCJyZXBvcnQiLCJFeHBvcnROYW1lZERlY2xhcmF0aW9uIiwic3BlY2lmaWVycyIsImxlbmd0aCIsInNvbWVOYW1lZCIsInNvbWUiLCJzcGVjaWZpZXIiLCJleHBvcnRlZCIsIm5hbWUiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU0sRUFBRUMsS0FBSyx1QkFBUSxpQkFBUixDQUFQLEVBRkY7QUFHSkMsWUFBUSxFQUhKLEVBRFM7OztBQU9mQyxTQUFPQyxPQUFQLEVBQWdCO0FBQ2Q7QUFDQSxRQUFJQSxRQUFRQyxhQUFSLENBQXNCQyxVQUF0QixLQUFxQyxRQUF6QyxFQUFtRDtBQUNqRCxhQUFPLEVBQVA7QUFDRDs7QUFFRCxVQUFNQyxVQUFVLGdDQUFoQjs7QUFFQSxXQUFPO0FBQ0xDLDJCQUFxQkMsSUFBckIsRUFBMkI7QUFDekJMLGdCQUFRTSxNQUFSLENBQWUsRUFBQ0QsSUFBRCxFQUFPRixPQUFQLEVBQWY7QUFDRCxPQUhJOztBQUtMSSw2QkFBdUJGLElBQXZCLEVBQTZCO0FBQzNCLFlBQUlBLEtBQUtHLFVBQUwsQ0FBZ0JDLE1BQWhCLEtBQTJCLENBQS9CLEVBQWtDO0FBQ2hDLGlCQUFPVCxRQUFRTSxNQUFSLENBQWUsRUFBQ0QsSUFBRCxFQUFPRixPQUFQLEVBQWYsQ0FBUDtBQUNEOztBQUVELGNBQU1PLFlBQVlMLEtBQUtHLFVBQUwsQ0FBZ0JHLElBQWhCLENBQXFCQyxhQUFhQSxVQUFVQyxRQUFWLENBQW1CQyxJQUFuQixLQUE0QixTQUE5RCxDQUFsQjtBQUNBLFlBQUlKLFNBQUosRUFBZTtBQUNiVixrQkFBUU0sTUFBUixDQUFlLEVBQUNELElBQUQsRUFBT0YsT0FBUCxFQUFmO0FBQ0Q7QUFDRixPQWRJLEVBQVA7O0FBZ0JELEdBL0JjLEVBQWpCIiwiZmlsZSI6Im5vLW5hbWVkLWV4cG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHsgdXJsOiBkb2NzVXJsKCduby1uYW1lZC1leHBvcnQnKSB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICAvLyBpZ25vcmUgbm9uLW1vZHVsZXNcbiAgICBpZiAoY29udGV4dC5wYXJzZXJPcHRpb25zLnNvdXJjZVR5cGUgIT09ICdtb2R1bGUnKSB7XG4gICAgICByZXR1cm4ge31cbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlID0gJ05hbWVkIGV4cG9ydHMgYXJlIG5vdCBhbGxvd2VkLidcblxuICAgIHJldHVybiB7XG4gICAgICBFeHBvcnRBbGxEZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtub2RlLCBtZXNzYWdlfSlcbiAgICAgIH0sXG5cbiAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LnJlcG9ydCh7bm9kZSwgbWVzc2FnZX0pXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb21lTmFtZWQgPSBub2RlLnNwZWNpZmllcnMuc29tZShzcGVjaWZpZXIgPT4gc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUgIT09ICdkZWZhdWx0JylcbiAgICAgICAgaWYgKHNvbWVOYW1lZCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtub2RlLCBtZXNzYWdlfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lZC1leHBvcnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJwYXJzZXJPcHRpb25zIiwic291cmNlVHlwZSIsIm1lc3NhZ2UiLCJFeHBvcnRBbGxEZWNsYXJhdGlvbiIsIm5vZGUiLCJyZXBvcnQiLCJFeHBvcnROYW1lZERlY2xhcmF0aW9uIiwic3BlY2lmaWVycyIsImxlbmd0aCIsInNvbWVOYW1lZCIsInNvbWUiLCJzcGVjaWZpZXIiLCJleHBvcnRlZCIsIm5hbWUiXSwibWFwcGluZ3MiOiJhQUFBLHFDOztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU0sRUFBRUMsS0FBSyx1QkFBUSxpQkFBUixDQUFQLEVBRkY7QUFHSkMsWUFBUSxFQUhKLEVBRFM7OztBQU9mQyxTQUFPQyxPQUFQLEVBQWdCO0FBQ2Q7QUFDQSxRQUFJQSxRQUFRQyxhQUFSLENBQXNCQyxVQUF0QixLQUFxQyxRQUF6QyxFQUFtRDtBQUNqRCxhQUFPLEVBQVA7QUFDRDs7QUFFRCxVQUFNQyxVQUFVLGdDQUFoQjs7QUFFQSxXQUFPO0FBQ0xDLDJCQUFxQkMsSUFBckIsRUFBMkI7QUFDekJMLGdCQUFRTSxNQUFSLENBQWUsRUFBRUQsSUFBRixFQUFRRixPQUFSLEVBQWY7QUFDRCxPQUhJOztBQUtMSSw2QkFBdUJGLElBQXZCLEVBQTZCO0FBQzNCLFlBQUlBLEtBQUtHLFVBQUwsQ0FBZ0JDLE1BQWhCLEtBQTJCLENBQS9CLEVBQWtDO0FBQ2hDLGlCQUFPVCxRQUFRTSxNQUFSLENBQWUsRUFBRUQsSUFBRixFQUFRRixPQUFSLEVBQWYsQ0FBUDtBQUNEOztBQUVELGNBQU1PLFlBQVlMLEtBQUtHLFVBQUwsQ0FBZ0JHLElBQWhCLENBQXFCQyxhQUFhQSxVQUFVQyxRQUFWLENBQW1CQyxJQUFuQixLQUE0QixTQUE5RCxDQUFsQjtBQUNBLFlBQUlKLFNBQUosRUFBZTtBQUNiVixrQkFBUU0sTUFBUixDQUFlLEVBQUVELElBQUYsRUFBUUYsT0FBUixFQUFmO0FBQ0Q7QUFDRixPQWRJLEVBQVA7O0FBZ0JELEdBL0JjLEVBQWpCIiwiZmlsZSI6Im5vLW5hbWVkLWV4cG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7IHVybDogZG9jc1VybCgnbm8tbmFtZWQtZXhwb3J0JykgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgLy8gaWdub3JlIG5vbi1tb2R1bGVzXG4gICAgaWYgKGNvbnRleHQucGFyc2VyT3B0aW9ucy5zb3VyY2VUeXBlICE9PSAnbW9kdWxlJykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSAnTmFtZWQgZXhwb3J0cyBhcmUgbm90IGFsbG93ZWQuJztcblxuICAgIHJldHVybiB7XG4gICAgICBFeHBvcnRBbGxEZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZSB9KTtcbiAgICAgIH0sXG5cbiAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb21lTmFtZWQgPSBub2RlLnNwZWNpZmllcnMuc29tZShzcGVjaWZpZXIgPT4gc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUgIT09ICdkZWZhdWx0Jyk7XG4gICAgICAgIGlmIChzb21lTmFtZWQpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-namespace.js b/node_modules/eslint-plugin-import/lib/rules/no-namespace.js index 2a24bf8ca..69454301d 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-namespace.js @@ -84,13 +84,13 @@ module.exports = { } }; - } + } }; - /** - * @param {Identifier[]} namespaceIdentifiers - * @returns {boolean} `true` if the namespace variable is more than just a glorified constant - */ }; +/** + * @param {Identifier[]} namespaceIdentifiers + * @returns {boolean} `true` if the namespace variable is more than just a glorified constant + */ function usesNamespaceAsObject(namespaceIdentifiers) { return !namespaceIdentifiers.every(identifier => { const parent = identifier.parent; @@ -157,4 +157,4 @@ function generateLocalNames(names, nameConflicts, namespaceName) { }); return localNames; } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lc3BhY2UuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImZpeGFibGUiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0Iiwibm9kZSIsInNjb3BlVmFyaWFibGVzIiwiZ2V0U2NvcGUiLCJ2YXJpYWJsZXMiLCJuYW1lc3BhY2VWYXJpYWJsZSIsImZpbmQiLCJ2YXJpYWJsZSIsImRlZnMiLCJuYW1lc3BhY2VSZWZlcmVuY2VzIiwicmVmZXJlbmNlcyIsIm5hbWVzcGFjZUlkZW50aWZpZXJzIiwibWFwIiwicmVmZXJlbmNlIiwiaWRlbnRpZmllciIsImNhbkZpeCIsImxlbmd0aCIsInVzZXNOYW1lc3BhY2VBc09iamVjdCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJmaXgiLCJmaXhlciIsInNjb3BlTWFuYWdlciIsImdldFNvdXJjZUNvZGUiLCJmaXhlcyIsImltcG9ydE5hbWVDb25mbGljdHMiLCJmb3JFYWNoIiwicGFyZW50IiwiaW1wb3J0TmFtZSIsImdldE1lbWJlclByb3BlcnR5TmFtZSIsImxvY2FsQ29uZmxpY3RzIiwiZ2V0VmFyaWFibGVOYW1lc0luU2NvcGUiLCJjIiwiYWRkIiwiaW1wb3J0TmFtZXMiLCJPYmplY3QiLCJrZXlzIiwiaW1wb3J0TG9jYWxOYW1lcyIsImdlbmVyYXRlTG9jYWxOYW1lcyIsIm5hbWUiLCJuYW1lZEltcG9ydFNwZWNpZmllcnMiLCJwdXNoIiwicmVwbGFjZVRleHQiLCJqb2luIiwiZXZlcnkiLCJwcm9wZXJ0eSIsIm1lbWJlckV4cHJlc3Npb24iLCJ2YWx1ZSIsImN1cnJlbnROb2RlIiwic2NvcGUiLCJhY3F1aXJlIiwiU2V0IiwidXBwZXIiLCJuYW1lcyIsIm5hbWVDb25mbGljdHMiLCJuYW1lc3BhY2VOYW1lIiwibG9jYWxOYW1lcyIsImxvY2FsTmFtZSIsImhhcyIsImkiLCJJbmZpbml0eSJdLCJtYXBwaW5ncyI6Ijs7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QVosQ0FBc0JRLEdBQXRCLENBQTBCTCxZQUFZQSxTQUFTZ0MsSUFBL0MsQ0FGRSxHQUFQOztBQUlEOztBQUVEOzs7Ozs7QUFNQSxTQUFTRCxrQkFBVCxDQUE0QmUsS0FBNUIsRUFBbUNDLGFBQW5DLEVBQWtEQyxhQUFsRCxFQUFpRTtBQUMvRCxRQUFNQyxhQUFhLEVBQW5CO0FBQ0FILFFBQU0zQixPQUFOLENBQWVhLElBQUQsSUFBVTtBQUN0QixRQUFJa0IsU0FBSjtBQUNBLFFBQUksQ0FBQ0gsY0FBY2YsSUFBZCxFQUFvQm1CLEdBQXBCLENBQXdCbkIsSUFBeEIsQ0FBTCxFQUFvQztBQUNsQ2tCLGtCQUFZbEIsSUFBWjtBQUNELEtBRkQsTUFFTyxJQUFJLENBQUNlLGNBQWNmLElBQWQsRUFBb0JtQixHQUFwQixDQUF5QixHQUFFSCxhQUFjLElBQUdoQixJQUFLLEVBQWpELENBQUwsRUFBMEQ7QUFDL0RrQixrQkFBYSxHQUFFRixhQUFjLElBQUdoQixJQUFLLEVBQXJDO0FBQ0QsS0FGTSxNQUVBO0FBQ0wsV0FBSyxJQUFJb0IsSUFBSSxDQUFiLEVBQWdCQSxJQUFJQyxRQUFwQixFQUE4QkQsR0FBOUIsRUFBbUM7QUFDakMsWUFBSSxDQUFDTCxjQUFjZixJQUFkLEVBQW9CbUIsR0FBcEIsQ0FBeUIsR0FBRUgsYUFBYyxJQUFHaEIsSUFBSyxJQUFHb0IsQ0FBRSxFQUF0RCxDQUFMLEVBQStEO0FBQzdERixzQkFBYSxHQUFFRixhQUFjLElBQUdoQixJQUFLLElBQUdvQixDQUFFLEVBQTFDO0FBQ0E7QUFDRDtBQUNGO0FBQ0Y7QUFDREgsZUFBV2pCLElBQVgsSUFBbUJrQixTQUFuQjtBQUNELEdBZkQ7QUFnQkEsU0FBT0QsVUFBUDtBQUNEIiwiZmlsZSI6Im5vLW5hbWVzcGFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIGRpc2FsbG93IG5hbWVzcGFjZSBpbXBvcnRcbiAqIEBhdXRob3IgUmFkZWsgQmVua2VsXG4gKi9cblxuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGUgRGVmaW5pdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLW5hbWVzcGFjZScpLFxuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJzogZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgY29uc3Qgc2NvcGVWYXJpYWJsZXMgPSBjb250ZXh0LmdldFNjb3BlKCkudmFyaWFibGVzXG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZVZhcmlhYmxlID0gc2NvcGVWYXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+XG4gICAgICAgICAgdmFyaWFibGUuZGVmc1swXS5ub2RlID09PSBub2RlXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlUmVmZXJlbmNlcyA9IG5hbWVzcGFjZVZhcmlhYmxlLnJlZmVyZW5jZXNcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlSWRlbnRpZmllcnMgPSBuYW1lc3BhY2VSZWZlcmVuY2VzLm1hcChyZWZlcmVuY2UgPT4gcmVmZXJlbmNlLmlkZW50aWZpZXIpXG4gICAgICAgIGNvbnN0IGNhbkZpeCA9IG5hbWVzcGFjZUlkZW50aWZpZXJzLmxlbmd0aCA+IDAgJiYgIXVzZXNOYW1lc3BhY2VBc09iamVjdChuYW1lc3BhY2VJZGVudGlmaWVycylcblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCBuYW1lc3BhY2UgaW1wb3J0LmAsXG4gICAgICAgICAgZml4OiBjYW5GaXggJiYgKGZpeGVyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjb3BlTWFuYWdlciA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLnNjb3BlTWFuYWdlclxuICAgICAgICAgICAgY29uc3QgZml4ZXMgPSBbXVxuXG4gICAgICAgICAgICAvLyBQYXNzIDE6IENvbGxlY3QgdmFyaWFibGUgbmFtZXMgdGhhdCBhcmUgYWxyZWFkeSBpbiBzY29wZSBmb3IgZWFjaCByZWZlcmVuY2Ugd2Ugd2FudFxuICAgICAgICAgICAgLy8gdG8gdHJhbnNmb3JtLCBzbyB0aGF0IHdlIGNhbiBiZSBzdXJlIHRoYXQgd2UgY2hvb3NlIG5vbi1jb25mbGljdGluZyBpbXBvcnQgbmFtZXNcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydE5hbWVDb25mbGljdHMgPSB7fVxuICAgICAgICAgICAgbmFtZXNwYWNlSWRlbnRpZmllcnMuZm9yRWFjaCgoaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBpZGVudGlmaWVyLnBhcmVudFxuICAgICAgICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbXBvcnROYW1lID0gZ2V0TWVtYmVyUHJvcGVydHlOYW1lKHBhcmVudClcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbENvbmZsaWN0cyA9IGdldFZhcmlhYmxlTmFtZXNJblNjb3BlKHNjb3BlTWFuYWdlciwgcGFyZW50KVxuICAgICAgICAgICAgICAgIGlmICghaW1wb3J0TmFtZUNvbmZsaWN0c1tpbXBvcnROYW1lXSkge1xuICAgICAgICAgICAgICAgICAgaW1wb3J0TmFtZUNvbmZsaWN0c1tpbXBvcnROYW1lXSA9IGxvY2FsQ29uZmxpY3RzXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsQ29uZmxpY3RzLmZvckVhY2goKGMpID0+IGltcG9ydE5hbWVDb25mbGljdHNbaW1wb3J0TmFtZV0uYWRkKGMpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgLy8gQ2hvb3NlIG5ldyBuYW1lcyBmb3IgZWFjaCBpbXBvcnRcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydE5hbWVzID0gT2JqZWN0LmtleXMoaW1wb3J0TmFtZUNvbmZsaWN0cylcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydExvY2FsTmFtZXMgPSBnZW5lcmF0ZUxvY2FsTmFtZXMoXG4gICAgICAgICAgICAgIGltcG9ydE5hbWVzLFxuICAgICAgICAgICAgICBpbXBvcnROYW1lQ29uZmxpY3RzLFxuICAgICAgICAgICAgICBuYW1lc3BhY2VWYXJpYWJsZS5uYW1lXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIC8vIFJlcGxhY2UgdGhlIEltcG9ydE5hbWVzcGFjZVNwZWNpZmllciB3aXRoIGEgbGlzdCBvZiBJbXBvcnRTcGVjaWZpZXJzXG4gICAgICAgICAgICBjb25zdCBuYW1lZEltcG9ydFNwZWNpZmllcnMgPSBpbXBvcnROYW1lcy5tYXAoKGltcG9ydE5hbWUpID0+XG4gICAgICAgICAgICAgIGltcG9ydE5hbWUgPT09IGltcG9ydExvY2FsTmFtZXNbaW1wb3J0TmFtZV1cbiAgICAgICAgICAgICAgICA/IGltcG9ydE5hbWVcbiAgICAgICAgICAgICAgICA6IGAke2ltcG9ydE5hbWV9IGFzICR7aW1wb3J0TG9jYWxOYW1lc1tpbXBvcnROYW1lXX1gXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIGB7ICR7bmFtZWRJbXBvcnRTcGVjaWZpZXJzLmpvaW4oJywgJyl9IH1gKSlcblxuICAgICAgICAgICAgLy8gUGFzcyAyOiBSZXBsYWNlIHJlZmVyZW5jZXMgdG8gdGhlIG5hbWVzcGFjZSB3aXRoIHJlZmVyZW5jZXMgdG8gdGhlIG5hbWVkIGltcG9ydHNcbiAgICAgICAgICAgIG5hbWVzcGFjZUlkZW50aWZpZXJzLmZvckVhY2goKGlkZW50aWZpZXIpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gaWRlbnRpZmllci5wYXJlbnRcbiAgICAgICAgICAgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1wb3J0TmFtZSA9IGdldE1lbWJlclByb3BlcnR5TmFtZShwYXJlbnQpXG4gICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZXBsYWNlVGV4dChwYXJlbnQsIGltcG9ydExvY2FsTmFtZXNbaW1wb3J0TmFtZV0pKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZXR1cm4gZml4ZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuXG4vKipcbiAqIEBwYXJhbSB7SWRlbnRpZmllcltdfSBuYW1lc3BhY2VJZGVudGlmaWVyc1xuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgbmFtZXNwYWNlIHZhcmlhYmxlIGlzIG1vcmUgdGhhbiBqdXN0IGEgZ2xvcmlmaWVkIGNvbnN0YW50XG4gKi9cbmZ1bmN0aW9uIHVzZXNOYW1lc3BhY2VBc09iamVjdChuYW1lc3BhY2VJZGVudGlmaWVycykge1xuICByZXR1cm4gIW5hbWVzcGFjZUlkZW50aWZpZXJzLmV2ZXJ5KChpZGVudGlmaWVyKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gaWRlbnRpZmllci5wYXJlbnRcblxuICAgIC8vIGBuYW1lc3BhY2UueGAgb3IgYG5hbWVzcGFjZVsneCddYFxuICAgIHJldHVybiAoXG4gICAgICBwYXJlbnQgJiYgcGFyZW50LnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJyAmJlxuICAgICAgKHBhcmVudC5wcm9wZXJ0eS50eXBlID09PSAnSWRlbnRpZmllcicgfHwgcGFyZW50LnByb3BlcnR5LnR5cGUgPT09ICdMaXRlcmFsJylcbiAgICApXG4gIH0pXG59XG5cbi8qKlxuICogQHBhcmFtIHtNZW1iZXJFeHByZXNzaW9ufSBtZW1iZXJFeHByZXNzaW9uXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgbmFtZSBvZiB0aGUgbWVtYmVyIGluIHRoZSBvYmplY3QgZXhwcmVzc2lvbiwgZS5nLiB0aGUgYHhgIGluIGBuYW1lc3BhY2UueGBcbiAqL1xuZnVuY3Rpb24gZ2V0TWVtYmVyUHJvcGVydHlOYW1lKG1lbWJlckV4cHJlc3Npb24pIHtcbiAgcmV0dXJuIG1lbWJlckV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgPyBtZW1iZXJFeHByZXNzaW9uLnByb3BlcnR5Lm5hbWVcbiAgICA6IG1lbWJlckV4cHJlc3Npb24ucHJvcGVydHkudmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1Njb3BlTWFuYWdlcn0gc2NvcGVNYW5hZ2VyXG4gKiBAcGFyYW0ge0FTVE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge1NldDxzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBnZXRWYXJpYWJsZU5hbWVzSW5TY29wZShzY29wZU1hbmFnZXIsIG5vZGUpIHtcbiAgbGV0IGN1cnJlbnROb2RlID0gbm9kZVxuICBsZXQgc2NvcGUgPSBzY29wZU1hbmFnZXIuYWNxdWlyZShjdXJyZW50Tm9kZSlcbiAgd2hpbGUgKHNjb3BlID09IG51bGwpIHtcbiAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudFxuICAgIHNjb3BlID0gc2NvcGVNYW5hZ2VyLmFjcXVpcmUoY3VycmVudE5vZGUsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG5ldyBTZXQoW1xuICAgIC4uLnNjb3BlLnZhcmlhYmxlcy5tYXAodmFyaWFibGUgPT4gdmFyaWFibGUubmFtZSksXG4gICAgLi4uc2NvcGUudXBwZXIudmFyaWFibGVzLm1hcCh2YXJpYWJsZSA9PiB2YXJpYWJsZS5uYW1lKSxcbiAgXSlcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBuYW1lc1xuICogQHBhcmFtIHsqfSBuYW1lQ29uZmxpY3RzXG4gKiBAcGFyYW0geyp9IG5hbWVzcGFjZU5hbWVcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVMb2NhbE5hbWVzKG5hbWVzLCBuYW1lQ29uZmxpY3RzLCBuYW1lc3BhY2VOYW1lKSB7XG4gIGNvbnN0IGxvY2FsTmFtZXMgPSB7fVxuICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgbGV0IGxvY2FsTmFtZVxuICAgIGlmICghbmFtZUNvbmZsaWN0c1tuYW1lXS5oYXMobmFtZSkpIHtcbiAgICAgIGxvY2FsTmFtZSA9IG5hbWVcbiAgICB9IGVsc2UgaWYgKCFuYW1lQ29uZmxpY3RzW25hbWVdLmhhcyhgJHtuYW1lc3BhY2VOYW1lfV8ke25hbWV9YCkpIHtcbiAgICAgIGxvY2FsTmFtZSA9IGAke25hbWVzcGFjZU5hbWV9XyR7bmFtZX1gXG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgSW5maW5pdHk7IGkrKykge1xuICAgICAgICBpZiAoIW5hbWVDb25mbGljdHNbbmFtZV0uaGFzKGAke25hbWVzcGFjZU5hbWV9XyR7bmFtZX1fJHtpfWApKSB7XG4gICAgICAgICAgbG9jYWxOYW1lID0gYCR7bmFtZXNwYWNlTmFtZX1fJHtuYW1lfV8ke2l9YFxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbG9jYWxOYW1lc1tuYW1lXSA9IGxvY2FsTmFtZVxuICB9KVxuICByZXR1cm4gbG9jYWxOYW1lc1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1uYW1lc3BhY2UuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImZpeGFibGUiLCJzY2hlbWEiLCJjcmVhdGUiLCJjb250ZXh0Iiwibm9kZSIsInNjb3BlVmFyaWFibGVzIiwiZ2V0U2NvcGUiLCJ2YXJpYWJsZXMiLCJuYW1lc3BhY2VWYXJpYWJsZSIsImZpbmQiLCJ2YXJpYWJsZSIsImRlZnMiLCJuYW1lc3BhY2VSZWZlcmVuY2VzIiwicmVmZXJlbmNlcyIsIm5hbWVzcGFjZUlkZW50aWZpZXJzIiwibWFwIiwicmVmZXJlbmNlIiwiaWRlbnRpZmllciIsImNhbkZpeCIsImxlbmd0aCIsInVzZXNOYW1lc3BhY2VBc09iamVjdCIsInJlcG9ydCIsIm1lc3NhZ2UiLCJmaXgiLCJmaXhlciIsInNjb3BlTWFuYWdlciIsImdldFNvdXJjZUNvZGUiLCJmaXhlcyIsImltcG9ydE5hbWVDb25mbGljdHMiLCJmb3JFYWNoIiwicGFyZW50IiwiaW1wb3J0TmFtZSIsImdldE1lbWJlclByb3BlcnR5TmFtZSIsImxvY2FsQ29uZmxpY3RzIiwiZ2V0VmFyaWFibGVOYW1lc0luU2NvcGUiLCJjIiwiYWRkIiwiaW1wb3J0TmFtZXMiLCJPYmplY3QiLCJrZXlzIiwiaW1wb3J0TG9jYWxOYW1lcyIsImdlbmVyYXRlTG9jYWxOYW1lcyIsIm5hbWUiLCJuYW1lZEltcG9ydFNwZWNpZmllcnMiLCJwdXNoIiwicmVwbGFjZVRleHQiLCJqb2luIiwiZXZlcnkiLCJwcm9wZXJ0eSIsIm1lbWJlckV4cHJlc3Npb24iLCJ2YWx1ZSIsImN1cnJlbnROb2RlIiwic2NvcGUiLCJhY3F1aXJlIiwiU2V0IiwidXBwZXIiLCJuYW1lcyIsIm5hbWVDb25mbGljdHMiLCJuYW1lc3BhY2VOYW1lIiwibG9jYWxOYW1lcyIsImxvY2FsTmFtZSIsImhhcyIsImkiLCJJbmZpbml0eSJdLCJtYXBwaW5ncyI6Ijs7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QVosQ0FBc0JRLEdBQXRCLENBQTBCTCxZQUFZQSxTQUFTZ0MsSUFBL0MsQ0FGRSxHQUFQOztBQUlEOztBQUVEOzs7Ozs7QUFNQSxTQUFTRCxrQkFBVCxDQUE0QmUsS0FBNUIsRUFBbUNDLGFBQW5DLEVBQWtEQyxhQUFsRCxFQUFpRTtBQUMvRCxRQUFNQyxhQUFhLEVBQW5CO0FBQ0FILFFBQU0zQixPQUFOLENBQWVhLElBQUQsSUFBVTtBQUN0QixRQUFJa0IsU0FBSjtBQUNBLFFBQUksQ0FBQ0gsY0FBY2YsSUFBZCxFQUFvQm1CLEdBQXBCLENBQXdCbkIsSUFBeEIsQ0FBTCxFQUFvQztBQUNsQ2tCLGtCQUFZbEIsSUFBWjtBQUNELEtBRkQsTUFFTyxJQUFJLENBQUNlLGNBQWNmLElBQWQsRUFBb0JtQixHQUFwQixDQUF5QixHQUFFSCxhQUFjLElBQUdoQixJQUFLLEVBQWpELENBQUwsRUFBMEQ7QUFDL0RrQixrQkFBYSxHQUFFRixhQUFjLElBQUdoQixJQUFLLEVBQXJDO0FBQ0QsS0FGTSxNQUVBO0FBQ0wsV0FBSyxJQUFJb0IsSUFBSSxDQUFiLEVBQWdCQSxJQUFJQyxRQUFwQixFQUE4QkQsR0FBOUIsRUFBbUM7QUFDakMsWUFBSSxDQUFDTCxjQUFjZixJQUFkLEVBQW9CbUIsR0FBcEIsQ0FBeUIsR0FBRUgsYUFBYyxJQUFHaEIsSUFBSyxJQUFHb0IsQ0FBRSxFQUF0RCxDQUFMLEVBQStEO0FBQzdERixzQkFBYSxHQUFFRixhQUFjLElBQUdoQixJQUFLLElBQUdvQixDQUFFLEVBQTFDO0FBQ0E7QUFDRDtBQUNGO0FBQ0Y7QUFDREgsZUFBV2pCLElBQVgsSUFBbUJrQixTQUFuQjtBQUNELEdBZkQ7QUFnQkEsU0FBT0QsVUFBUDtBQUNEIiwiZmlsZSI6Im5vLW5hbWVzcGFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlldyBSdWxlIHRvIGRpc2FsbG93IG5hbWVzcGFjZSBpbXBvcnRcbiAqIEBhdXRob3IgUmFkZWsgQmVua2VsXG4gKi9cblxuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlIERlZmluaXRpb25cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1uYW1lc3BhY2UnKSxcbiAgICB9LFxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcic6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIGNvbnN0IHNjb3BlVmFyaWFibGVzID0gY29udGV4dC5nZXRTY29wZSgpLnZhcmlhYmxlcztcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlVmFyaWFibGUgPSBzY29wZVZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT5cbiAgICAgICAgICB2YXJpYWJsZS5kZWZzWzBdLm5vZGUgPT09IG5vZGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlUmVmZXJlbmNlcyA9IG5hbWVzcGFjZVZhcmlhYmxlLnJlZmVyZW5jZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUlkZW50aWZpZXJzID0gbmFtZXNwYWNlUmVmZXJlbmNlcy5tYXAocmVmZXJlbmNlID0+IHJlZmVyZW5jZS5pZGVudGlmaWVyKTtcbiAgICAgICAgY29uc3QgY2FuRml4ID0gbmFtZXNwYWNlSWRlbnRpZmllcnMubGVuZ3RoID4gMCAmJiAhdXNlc05hbWVzcGFjZUFzT2JqZWN0KG5hbWVzcGFjZUlkZW50aWZpZXJzKTtcblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCBuYW1lc3BhY2UgaW1wb3J0LmAsXG4gICAgICAgICAgZml4OiBjYW5GaXggJiYgKGZpeGVyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjb3BlTWFuYWdlciA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLnNjb3BlTWFuYWdlcjtcbiAgICAgICAgICAgIGNvbnN0IGZpeGVzID0gW107XG5cbiAgICAgICAgICAgIC8vIFBhc3MgMTogQ29sbGVjdCB2YXJpYWJsZSBuYW1lcyB0aGF0IGFyZSBhbHJlYWR5IGluIHNjb3BlIGZvciBlYWNoIHJlZmVyZW5jZSB3ZSB3YW50XG4gICAgICAgICAgICAvLyB0byB0cmFuc2Zvcm0sIHNvIHRoYXQgd2UgY2FuIGJlIHN1cmUgdGhhdCB3ZSBjaG9vc2Ugbm9uLWNvbmZsaWN0aW5nIGltcG9ydCBuYW1lc1xuICAgICAgICAgICAgY29uc3QgaW1wb3J0TmFtZUNvbmZsaWN0cyA9IHt9O1xuICAgICAgICAgICAgbmFtZXNwYWNlSWRlbnRpZmllcnMuZm9yRWFjaCgoaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBpZGVudGlmaWVyLnBhcmVudDtcbiAgICAgICAgICAgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1wb3J0TmFtZSA9IGdldE1lbWJlclByb3BlcnR5TmFtZShwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsQ29uZmxpY3RzID0gZ2V0VmFyaWFibGVOYW1lc0luU2NvcGUoc2NvcGVNYW5hZ2VyLCBwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGlmICghaW1wb3J0TmFtZUNvbmZsaWN0c1tpbXBvcnROYW1lXSkge1xuICAgICAgICAgICAgICAgICAgaW1wb3J0TmFtZUNvbmZsaWN0c1tpbXBvcnROYW1lXSA9IGxvY2FsQ29uZmxpY3RzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsb2NhbENvbmZsaWN0cy5mb3JFYWNoKChjKSA9PiBpbXBvcnROYW1lQ29uZmxpY3RzW2ltcG9ydE5hbWVdLmFkZChjKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQ2hvb3NlIG5ldyBuYW1lcyBmb3IgZWFjaCBpbXBvcnRcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydE5hbWVzID0gT2JqZWN0LmtleXMoaW1wb3J0TmFtZUNvbmZsaWN0cyk7XG4gICAgICAgICAgICBjb25zdCBpbXBvcnRMb2NhbE5hbWVzID0gZ2VuZXJhdGVMb2NhbE5hbWVzKFxuICAgICAgICAgICAgICBpbXBvcnROYW1lcyxcbiAgICAgICAgICAgICAgaW1wb3J0TmFtZUNvbmZsaWN0cyxcbiAgICAgICAgICAgICAgbmFtZXNwYWNlVmFyaWFibGUubmFtZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gUmVwbGFjZSB0aGUgSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyIHdpdGggYSBsaXN0IG9mIEltcG9ydFNwZWNpZmllcnNcbiAgICAgICAgICAgIGNvbnN0IG5hbWVkSW1wb3J0U3BlY2lmaWVycyA9IGltcG9ydE5hbWVzLm1hcCgoaW1wb3J0TmFtZSkgPT5cbiAgICAgICAgICAgICAgaW1wb3J0TmFtZSA9PT0gaW1wb3J0TG9jYWxOYW1lc1tpbXBvcnROYW1lXVxuICAgICAgICAgICAgICAgID8gaW1wb3J0TmFtZVxuICAgICAgICAgICAgICAgIDogYCR7aW1wb3J0TmFtZX0gYXMgJHtpbXBvcnRMb2NhbE5hbWVzW2ltcG9ydE5hbWVdfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIGB7ICR7bmFtZWRJbXBvcnRTcGVjaWZpZXJzLmpvaW4oJywgJyl9IH1gKSk7XG5cbiAgICAgICAgICAgIC8vIFBhc3MgMjogUmVwbGFjZSByZWZlcmVuY2VzIHRvIHRoZSBuYW1lc3BhY2Ugd2l0aCByZWZlcmVuY2VzIHRvIHRoZSBuYW1lZCBpbXBvcnRzXG4gICAgICAgICAgICBuYW1lc3BhY2VJZGVudGlmaWVycy5mb3JFYWNoKChpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGlkZW50aWZpZXIucGFyZW50O1xuICAgICAgICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbXBvcnROYW1lID0gZ2V0TWVtYmVyUHJvcGVydHlOYW1lKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZXBsYWNlVGV4dChwYXJlbnQsIGltcG9ydExvY2FsTmFtZXNbaW1wb3J0TmFtZV0pKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBmaXhlcztcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuXG4vKipcbiAqIEBwYXJhbSB7SWRlbnRpZmllcltdfSBuYW1lc3BhY2VJZGVudGlmaWVyc1xuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgbmFtZXNwYWNlIHZhcmlhYmxlIGlzIG1vcmUgdGhhbiBqdXN0IGEgZ2xvcmlmaWVkIGNvbnN0YW50XG4gKi9cbmZ1bmN0aW9uIHVzZXNOYW1lc3BhY2VBc09iamVjdChuYW1lc3BhY2VJZGVudGlmaWVycykge1xuICByZXR1cm4gIW5hbWVzcGFjZUlkZW50aWZpZXJzLmV2ZXJ5KChpZGVudGlmaWVyKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gaWRlbnRpZmllci5wYXJlbnQ7XG5cbiAgICAvLyBgbmFtZXNwYWNlLnhgIG9yIGBuYW1lc3BhY2VbJ3gnXWBcbiAgICByZXR1cm4gKFxuICAgICAgcGFyZW50ICYmIHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiZcbiAgICAgIChwYXJlbnQucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IHBhcmVudC5wcm9wZXJ0eS50eXBlID09PSAnTGl0ZXJhbCcpXG4gICAgKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtNZW1iZXJFeHByZXNzaW9ufSBtZW1iZXJFeHByZXNzaW9uXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgbmFtZSBvZiB0aGUgbWVtYmVyIGluIHRoZSBvYmplY3QgZXhwcmVzc2lvbiwgZS5nLiB0aGUgYHhgIGluIGBuYW1lc3BhY2UueGBcbiAqL1xuZnVuY3Rpb24gZ2V0TWVtYmVyUHJvcGVydHlOYW1lKG1lbWJlckV4cHJlc3Npb24pIHtcbiAgcmV0dXJuIG1lbWJlckV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgPyBtZW1iZXJFeHByZXNzaW9uLnByb3BlcnR5Lm5hbWVcbiAgICA6IG1lbWJlckV4cHJlc3Npb24ucHJvcGVydHkudmFsdWU7XG59XG5cbi8qKlxuICogQHBhcmFtIHtTY29wZU1hbmFnZXJ9IHNjb3BlTWFuYWdlclxuICogQHBhcmFtIHtBU1ROb2RlfSBub2RlXG4gKiBAcmV0dXJuIHtTZXQ8c3RyaW5nPn1cbiAqL1xuZnVuY3Rpb24gZ2V0VmFyaWFibGVOYW1lc0luU2NvcGUoc2NvcGVNYW5hZ2VyLCBub2RlKSB7XG4gIGxldCBjdXJyZW50Tm9kZSA9IG5vZGU7XG4gIGxldCBzY29wZSA9IHNjb3BlTWFuYWdlci5hY3F1aXJlKGN1cnJlbnROb2RlKTtcbiAgd2hpbGUgKHNjb3BlID09IG51bGwpIHtcbiAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudDtcbiAgICBzY29wZSA9IHNjb3BlTWFuYWdlci5hY3F1aXJlKGN1cnJlbnROb2RlLCB0cnVlKTtcbiAgfVxuICByZXR1cm4gbmV3IFNldChbXG4gICAgLi4uc2NvcGUudmFyaWFibGVzLm1hcCh2YXJpYWJsZSA9PiB2YXJpYWJsZS5uYW1lKSxcbiAgICAuLi5zY29wZS51cHBlci52YXJpYWJsZXMubWFwKHZhcmlhYmxlID0+IHZhcmlhYmxlLm5hbWUpLFxuICBdKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBuYW1lc1xuICogQHBhcmFtIHsqfSBuYW1lQ29uZmxpY3RzXG4gKiBAcGFyYW0geyp9IG5hbWVzcGFjZU5hbWVcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVMb2NhbE5hbWVzKG5hbWVzLCBuYW1lQ29uZmxpY3RzLCBuYW1lc3BhY2VOYW1lKSB7XG4gIGNvbnN0IGxvY2FsTmFtZXMgPSB7fTtcbiAgbmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgIGxldCBsb2NhbE5hbWU7XG4gICAgaWYgKCFuYW1lQ29uZmxpY3RzW25hbWVdLmhhcyhuYW1lKSkge1xuICAgICAgbG9jYWxOYW1lID0gbmFtZTtcbiAgICB9IGVsc2UgaWYgKCFuYW1lQ29uZmxpY3RzW25hbWVdLmhhcyhgJHtuYW1lc3BhY2VOYW1lfV8ke25hbWV9YCkpIHtcbiAgICAgIGxvY2FsTmFtZSA9IGAke25hbWVzcGFjZU5hbWV9XyR7bmFtZX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IEluZmluaXR5OyBpKyspIHtcbiAgICAgICAgaWYgKCFuYW1lQ29uZmxpY3RzW25hbWVdLmhhcyhgJHtuYW1lc3BhY2VOYW1lfV8ke25hbWV9XyR7aX1gKSkge1xuICAgICAgICAgIGxvY2FsTmFtZSA9IGAke25hbWVzcGFjZU5hbWV9XyR7bmFtZX1fJHtpfWA7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbG9jYWxOYW1lc1tuYW1lXSA9IGxvY2FsTmFtZTtcbiAgfSk7XG4gIHJldHVybiBsb2NhbE5hbWVzO1xufVxuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js b/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js index 811adece1..7e9b25f8e 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js @@ -1,5 +1,5 @@ 'use strict';var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType); -var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} function reportIfMissing(context, node, allowed, name) { @@ -35,15 +35,8 @@ module.exports = { const options = context.options[0] || {}; const allowed = options.allow || []; - return { - ImportDeclaration: function handleImports(node) { - reportIfMissing(context, node, allowed, node.source.value); - }, - CallExpression: function handleRequires(node) { - if ((0, _staticRequire2.default)(node)) { - reportIfMissing(context, node, allowed, node.arguments[0].value); - } - } }; - + return (0, _moduleVisitor2.default)((source, node) => { + reportIfMissing(context, node, allowed, source.value); + }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1ub2RlanMtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJyZXBvcnRJZk1pc3NpbmciLCJjb250ZXh0Iiwibm9kZSIsImFsbG93ZWQiLCJuYW1lIiwiaW5kZXhPZiIsInJlcG9ydCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiYWxsb3ciLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjcmVhdGUiLCJvcHRpb25zIiwiSW1wb3J0RGVjbGFyYXRpb24iLCJoYW5kbGVJbXBvcnRzIiwic291cmNlIiwidmFsdWUiLCJDYWxsRXhwcmVzc2lvbiIsImhhbmRsZVJlcXVpcmVzIiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxnRDtBQUNBLHNEO0FBQ0EscUM7O0FBRUEsU0FBU0EsZUFBVCxDQUF5QkMsT0FBekIsRUFBa0NDLElBQWxDLEVBQXdDQyxPQUF4QyxFQUFpREMsSUFBakQsRUFBdUQ7QUFDckQsTUFBSUQsUUFBUUUsT0FBUixDQUFnQkQsSUFBaEIsTUFBMEIsQ0FBQyxDQUEzQixJQUFnQywwQkFBV0EsSUFBWCxFQUFpQkgsT0FBakIsTUFBOEIsU0FBbEUsRUFBNkU7QUFDM0VBLFlBQVFLLE1BQVIsQ0FBZUosSUFBZixFQUFxQiwyQ0FBMkNFLElBQTNDLEdBQWtELEdBQXZFO0FBQ0Q7QUFDRjs7QUFFREcsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsbUJBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRO0FBQ047QUFDRUgsWUFBTSxRQURSO0FBRUVJLGtCQUFZO0FBQ1ZDLGVBQU87QUFDTEwsZ0JBQU0sT0FERDtBQUVMTSx1QkFBYSxJQUZSO0FBR0xDLGlCQUFPO0FBQ0xQLGtCQUFNLFFBREQsRUFIRixFQURHLEVBRmQ7Ozs7QUFXRVEsNEJBQXNCLEtBWHhCLEVBRE0sQ0FMSixFQURTOzs7OztBQXVCZkMsVUFBUSxVQUFVbEIsT0FBVixFQUFtQjtBQUN6QixVQUFNbUIsVUFBVW5CLFFBQVFtQixPQUFSLENBQWdCLENBQWhCLEtBQXNCLEVBQXRDO0FBQ0EsVUFBTWpCLFVBQVVpQixRQUFRTCxLQUFSLElBQWlCLEVBQWpDOztBQUVBLFdBQU87QUFDTE0seUJBQW1CLFNBQVNDLGFBQVQsQ0FBdUJwQixJQUF2QixFQUE2QjtBQUM5Q0Ysd0JBQWdCQyxPQUFoQixFQUF5QkMsSUFBekIsRUFBK0JDLE9BQS9CLEVBQXdDRCxLQUFLcUIsTUFBTCxDQUFZQyxLQUFwRDtBQUNELE9BSEk7QUFJTEMsc0JBQWdCLFNBQVNDLGNBQVQsQ0FBd0J4QixJQUF4QixFQUE4QjtBQUM1QyxZQUFJLDZCQUFnQkEsSUFBaEIsQ0FBSixFQUEyQjtBQUN6QkYsMEJBQWdCQyxPQUFoQixFQUF5QkMsSUFBekIsRUFBK0JDLE9BQS9CLEVBQXdDRCxLQUFLeUIsU0FBTCxDQUFlLENBQWYsRUFBa0JILEtBQTFEO0FBQ0Q7QUFDRixPQVJJLEVBQVA7O0FBVUQsR0FyQ2MsRUFBakIiLCJmaWxlIjoibm8tbm9kZWpzLW1vZHVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW1wb3J0VHlwZSBmcm9tICcuLi9jb3JlL2ltcG9ydFR5cGUnXG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSdcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIHJlcG9ydElmTWlzc2luZyhjb250ZXh0LCBub2RlLCBhbGxvd2VkLCBuYW1lKSB7XG4gIGlmIChhbGxvd2VkLmluZGV4T2YobmFtZSkgPT09IC0xICYmIGltcG9ydFR5cGUobmFtZSwgY29udGV4dCkgPT09ICdidWlsdGluJykge1xuICAgIGNvbnRleHQucmVwb3J0KG5vZGUsICdEbyBub3QgaW1wb3J0IE5vZGUuanMgYnVpbHRpbiBtb2R1bGUgXCInICsgbmFtZSArICdcIicpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1ub2RlanMtbW9kdWxlcycpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3c6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cbiAgICBjb25zdCBhbGxvd2VkID0gb3B0aW9ucy5hbGxvdyB8fCBbXVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEltcG9ydERlY2xhcmF0aW9uOiBmdW5jdGlvbiBoYW5kbGVJbXBvcnRzKG5vZGUpIHtcbiAgICAgICAgcmVwb3J0SWZNaXNzaW5nKGNvbnRleHQsIG5vZGUsIGFsbG93ZWQsIG5vZGUuc291cmNlLnZhbHVlKVxuICAgICAgfSxcbiAgICAgIENhbGxFeHByZXNzaW9uOiBmdW5jdGlvbiBoYW5kbGVSZXF1aXJlcyhub2RlKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY1JlcXVpcmUobm9kZSkpIHtcbiAgICAgICAgICByZXBvcnRJZk1pc3NpbmcoY29udGV4dCwgbm9kZSwgYWxsb3dlZCwgbm9kZS5hcmd1bWVudHNbMF0udmFsdWUpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1ub2RlanMtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJyZXBvcnRJZk1pc3NpbmciLCJjb250ZXh0Iiwibm9kZSIsImFsbG93ZWQiLCJuYW1lIiwiaW5kZXhPZiIsInJlcG9ydCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiYWxsb3ciLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjcmVhdGUiLCJvcHRpb25zIiwic291cmNlIiwidmFsdWUiLCJjb21tb25qcyJdLCJtYXBwaW5ncyI6ImFBQUEsZ0Q7QUFDQSxrRTtBQUNBLHFDOztBQUVBLFNBQVNBLGVBQVQsQ0FBeUJDLE9BQXpCLEVBQWtDQyxJQUFsQyxFQUF3Q0MsT0FBeEMsRUFBaURDLElBQWpELEVBQXVEO0FBQ3JELE1BQUlELFFBQVFFLE9BQVIsQ0FBZ0JELElBQWhCLE1BQTBCLENBQUMsQ0FBM0IsSUFBZ0MsMEJBQVdBLElBQVgsRUFBaUJILE9BQWpCLE1BQThCLFNBQWxFLEVBQTZFO0FBQzNFQSxZQUFRSyxNQUFSLENBQWVKLElBQWYsRUFBcUIsMkNBQTJDRSxJQUEzQyxHQUFrRCxHQUF2RTtBQUNEO0FBQ0Y7O0FBRURHLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLG1CQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUTtBQUNOO0FBQ0VILFlBQU0sUUFEUjtBQUVFSSxrQkFBWTtBQUNWQyxlQUFPO0FBQ0xMLGdCQUFNLE9BREQ7QUFFTE0sdUJBQWEsSUFGUjtBQUdMQyxpQkFBTztBQUNMUCxrQkFBTSxRQURELEVBSEYsRUFERyxFQUZkOzs7O0FBV0VRLDRCQUFzQixLQVh4QixFQURNLENBTEosRUFEUzs7Ozs7QUF1QmZDLFVBQVEsVUFBVWxCLE9BQVYsRUFBbUI7QUFDekIsVUFBTW1CLFVBQVVuQixRQUFRbUIsT0FBUixDQUFnQixDQUFoQixLQUFzQixFQUF0QztBQUNBLFVBQU1qQixVQUFVaUIsUUFBUUwsS0FBUixJQUFpQixFQUFqQzs7QUFFQSxXQUFPLDZCQUFjLENBQUNNLE1BQUQsRUFBU25CLElBQVQsS0FBa0I7QUFDckNGLHNCQUFnQkMsT0FBaEIsRUFBeUJDLElBQXpCLEVBQStCQyxPQUEvQixFQUF3Q2tCLE9BQU9DLEtBQS9DO0FBQ0QsS0FGTSxFQUVKLEVBQUVDLFVBQVUsSUFBWixFQUZJLENBQVA7QUFHRCxHQTlCYyxFQUFqQiIsImZpbGUiOiJuby1ub2RlanMtbW9kdWxlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmZ1bmN0aW9uIHJlcG9ydElmTWlzc2luZyhjb250ZXh0LCBub2RlLCBhbGxvd2VkLCBuYW1lKSB7XG4gIGlmIChhbGxvd2VkLmluZGV4T2YobmFtZSkgPT09IC0xICYmIGltcG9ydFR5cGUobmFtZSwgY29udGV4dCkgPT09ICdidWlsdGluJykge1xuICAgIGNvbnRleHQucmVwb3J0KG5vZGUsICdEbyBub3QgaW1wb3J0IE5vZGUuanMgYnVpbHRpbiBtb2R1bGUgXCInICsgbmFtZSArICdcIicpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tbm9kZWpzLW1vZHVsZXMnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9O1xuICAgIGNvbnN0IGFsbG93ZWQgPSBvcHRpb25zLmFsbG93IHx8IFtdO1xuXG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3IoKHNvdXJjZSwgbm9kZSkgPT4ge1xuICAgICAgcmVwb3J0SWZNaXNzaW5nKGNvbnRleHQsIG5vZGUsIGFsbG93ZWQsIHNvdXJjZS52YWx1ZSk7XG4gICAgfSwgeyBjb21tb25qczogdHJ1ZSB9KTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js b/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js new file mode 100644 index 000000000..3e4d94890 --- /dev/null +++ b/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js @@ -0,0 +1,61 @@ +'use strict';var _path = require('path');var _path2 = _interopRequireDefault(_path); +var _readPkgUp = require('read-pkg-up');var _readPkgUp2 = _interopRequireDefault(_readPkgUp); + +var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); +var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType); +var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} + +function findNamedPackage(filePath) { + const found = _readPkgUp2.default.sync({ cwd: filePath, normalize: false }); + if (found.pkg && !found.pkg.name) { + return findNamedPackage(_path2.default.join(found.path, '../..')); + } + return found; +} + +function checkImportForRelativePackage(context, importPath, node) { + const potentialViolationTypes = ['parent', 'index', 'sibling']; + if (potentialViolationTypes.indexOf((0, _importType2.default)(importPath, context)) === -1) { + return; + } + + const resolvedImport = (0, _resolve2.default)(importPath, context); + const resolvedContext = context.getFilename(); + + if (!resolvedImport || !resolvedContext) { + return; + } + + const importPkg = findNamedPackage(resolvedImport); + const contextPkg = findNamedPackage(resolvedContext); + + if (importPkg.pkg && contextPkg.pkg && importPkg.pkg.name !== contextPkg.pkg.name) { + const importBaseName = _path2.default.basename(importPath); + const importRoot = _path2.default.dirname(importPkg.path); + const properPath = _path2.default.relative(importRoot, resolvedImport); + const properImport = _path2.default.join( + importPkg.pkg.name, + _path2.default.dirname(properPath), + importBaseName === _path2.default.basename(importRoot) ? '' : importBaseName); + + context.report({ + node, + message: `Relative import from another package is not allowed. Use \`${properImport}\` instead of \`${importPath}\`` }); + + } +} + +module.exports = { + meta: { + type: 'suggestion', + docs: { + url: (0, _docsUrl2.default)('no-relative-packages') }, + + schema: [(0, _moduleVisitor.makeOptionsSchema)()] }, + + + create(context) { + return (0, _moduleVisitor2.default)(source => checkImportForRelativePackage(context, source.value, source), context.options[0]); + } }; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZWxhdGl2ZS1wYWNrYWdlcy5qcyJdLCJuYW1lcyI6WyJmaW5kTmFtZWRQYWNrYWdlIiwiZmlsZVBhdGgiLCJmb3VuZCIsInJlYWRQa2dVcCIsInN5bmMiLCJjd2QiLCJub3JtYWxpemUiLCJwa2ciLCJuYW1lIiwicGF0aCIsImpvaW4iLCJjaGVja0ltcG9ydEZvclJlbGF0aXZlUGFja2FnZSIsImNvbnRleHQiLCJpbXBvcnRQYXRoIiwibm9kZSIsInBvdGVudGlhbFZpb2xhdGlvblR5cGVzIiwiaW5kZXhPZiIsInJlc29sdmVkSW1wb3J0IiwicmVzb2x2ZWRDb250ZXh0IiwiZ2V0RmlsZW5hbWUiLCJpbXBvcnRQa2ciLCJjb250ZXh0UGtnIiwiaW1wb3J0QmFzZU5hbWUiLCJiYXNlbmFtZSIsImltcG9ydFJvb3QiLCJkaXJuYW1lIiwicHJvcGVyUGF0aCIsInJlbGF0aXZlIiwicHJvcGVySW1wb3J0IiwicmVwb3J0IiwibWVzc2FnZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjcmVhdGUiLCJzb3VyY2UiLCJ2YWx1ZSIsIm9wdGlvbnMiXSwibWFwcGluZ3MiOiJhQUFBLDRCO0FBQ0Esd0M7O0FBRUEsc0Q7QUFDQSxrRTtBQUNBLGdEO0FBQ0EscUM7O0FBRUEsU0FBU0EsZ0JBQVQsQ0FBMEJDLFFBQTFCLEVBQW9DO0FBQ2xDLFFBQU1DLFFBQVFDLG9CQUFVQyxJQUFWLENBQWUsRUFBRUMsS0FBS0osUUFBUCxFQUFpQkssV0FBVyxLQUE1QixFQUFmLENBQWQ7QUFDQSxNQUFJSixNQUFNSyxHQUFOLElBQWEsQ0FBQ0wsTUFBTUssR0FBTixDQUFVQyxJQUE1QixFQUFrQztBQUNoQyxXQUFPUixpQkFBaUJTLGVBQUtDLElBQUwsQ0FBVVIsTUFBTU8sSUFBaEIsRUFBc0IsT0FBdEIsQ0FBakIsQ0FBUDtBQUNEO0FBQ0QsU0FBT1AsS0FBUDtBQUNEOztBQUVELFNBQVNTLDZCQUFULENBQXVDQyxPQUF2QyxFQUFnREMsVUFBaEQsRUFBNERDLElBQTVELEVBQWtFO0FBQ2hFLFFBQU1DLDBCQUEwQixDQUFDLFFBQUQsRUFBVyxPQUFYLEVBQW9CLFNBQXBCLENBQWhDO0FBQ0EsTUFBSUEsd0JBQXdCQyxPQUF4QixDQUFnQywwQkFBV0gsVUFBWCxFQUF1QkQsT0FBdkIsQ0FBaEMsTUFBcUUsQ0FBQyxDQUExRSxFQUE2RTtBQUMzRTtBQUNEOztBQUVELFFBQU1LLGlCQUFpQix1QkFBUUosVUFBUixFQUFvQkQsT0FBcEIsQ0FBdkI7QUFDQSxRQUFNTSxrQkFBa0JOLFFBQVFPLFdBQVIsRUFBeEI7O0FBRUEsTUFBSSxDQUFDRixjQUFELElBQW1CLENBQUNDLGVBQXhCLEVBQXlDO0FBQ3ZDO0FBQ0Q7O0FBRUQsUUFBTUUsWUFBWXBCLGlCQUFpQmlCLGNBQWpCLENBQWxCO0FBQ0EsUUFBTUksYUFBYXJCLGlCQUFpQmtCLGVBQWpCLENBQW5COztBQUVBLE1BQUlFLFVBQVViLEdBQVYsSUFBaUJjLFdBQVdkLEdBQTVCLElBQW1DYSxVQUFVYixHQUFWLENBQWNDLElBQWQsS0FBdUJhLFdBQVdkLEdBQVgsQ0FBZUMsSUFBN0UsRUFBbUY7QUFDakYsVUFBTWMsaUJBQWlCYixlQUFLYyxRQUFMLENBQWNWLFVBQWQsQ0FBdkI7QUFDQSxVQUFNVyxhQUFhZixlQUFLZ0IsT0FBTCxDQUFhTCxVQUFVWCxJQUF2QixDQUFuQjtBQUNBLFVBQU1pQixhQUFhakIsZUFBS2tCLFFBQUwsQ0FBY0gsVUFBZCxFQUEwQlAsY0FBMUIsQ0FBbkI7QUFDQSxVQUFNVyxlQUFlbkIsZUFBS0MsSUFBTDtBQUNuQlUsY0FBVWIsR0FBVixDQUFjQyxJQURLO0FBRW5CQyxtQkFBS2dCLE9BQUwsQ0FBYUMsVUFBYixDQUZtQjtBQUduQkosdUJBQW1CYixlQUFLYyxRQUFMLENBQWNDLFVBQWQsQ0FBbkIsR0FBK0MsRUFBL0MsR0FBb0RGLGNBSGpDLENBQXJCOztBQUtBVixZQUFRaUIsTUFBUixDQUFlO0FBQ2JmLFVBRGE7QUFFYmdCLGVBQVUsOERBQTZERixZQUFhLG1CQUFrQmYsVUFBVyxJQUZwRyxFQUFmOztBQUlEO0FBQ0Y7O0FBRURrQixPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLFFBQU07QUFDSkMsVUFBTSxZQURGO0FBRUpDLFVBQU07QUFDSkMsV0FBSyx1QkFBUSxzQkFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsQ0FBQyx1Q0FBRCxDQUxKLEVBRFM7OztBQVNmQyxTQUFPMUIsT0FBUCxFQUFnQjtBQUNkLFdBQU8sNkJBQWUyQixNQUFELElBQVk1Qiw4QkFBOEJDLE9BQTlCLEVBQXVDMkIsT0FBT0MsS0FBOUMsRUFBcURELE1BQXJELENBQTFCLEVBQXdGM0IsUUFBUTZCLE9BQVIsQ0FBZ0IsQ0FBaEIsQ0FBeEYsQ0FBUDtBQUNELEdBWGMsRUFBakIiLCJmaWxlIjoibm8tcmVsYXRpdmUtcGFja2FnZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCByZWFkUGtnVXAgZnJvbSAncmVhZC1wa2ctdXAnO1xuXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IsIHsgbWFrZU9wdGlvbnNTY2hlbWEgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGltcG9ydFR5cGUgZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5mdW5jdGlvbiBmaW5kTmFtZWRQYWNrYWdlKGZpbGVQYXRoKSB7XG4gIGNvbnN0IGZvdW5kID0gcmVhZFBrZ1VwLnN5bmMoeyBjd2Q6IGZpbGVQYXRoLCBub3JtYWxpemU6IGZhbHNlIH0pO1xuICBpZiAoZm91bmQucGtnICYmICFmb3VuZC5wa2cubmFtZSkge1xuICAgIHJldHVybiBmaW5kTmFtZWRQYWNrYWdlKHBhdGguam9pbihmb3VuZC5wYXRoLCAnLi4vLi4nKSk7XG4gIH1cbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5mdW5jdGlvbiBjaGVja0ltcG9ydEZvclJlbGF0aXZlUGFja2FnZShjb250ZXh0LCBpbXBvcnRQYXRoLCBub2RlKSB7XG4gIGNvbnN0IHBvdGVudGlhbFZpb2xhdGlvblR5cGVzID0gWydwYXJlbnQnLCAnaW5kZXgnLCAnc2libGluZyddO1xuICBpZiAocG90ZW50aWFsVmlvbGF0aW9uVHlwZXMuaW5kZXhPZihpbXBvcnRUeXBlKGltcG9ydFBhdGgsIGNvbnRleHQpKSA9PT0gLTEpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZXNvbHZlZEltcG9ydCA9IHJlc29sdmUoaW1wb3J0UGF0aCwgY29udGV4dCk7XG4gIGNvbnN0IHJlc29sdmVkQ29udGV4dCA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcblxuICBpZiAoIXJlc29sdmVkSW1wb3J0IHx8ICFyZXNvbHZlZENvbnRleHQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBpbXBvcnRQa2cgPSBmaW5kTmFtZWRQYWNrYWdlKHJlc29sdmVkSW1wb3J0KTtcbiAgY29uc3QgY29udGV4dFBrZyA9IGZpbmROYW1lZFBhY2thZ2UocmVzb2x2ZWRDb250ZXh0KTtcblxuICBpZiAoaW1wb3J0UGtnLnBrZyAmJiBjb250ZXh0UGtnLnBrZyAmJiBpbXBvcnRQa2cucGtnLm5hbWUgIT09IGNvbnRleHRQa2cucGtnLm5hbWUpIHtcbiAgICBjb25zdCBpbXBvcnRCYXNlTmFtZSA9IHBhdGguYmFzZW5hbWUoaW1wb3J0UGF0aCk7XG4gICAgY29uc3QgaW1wb3J0Um9vdCA9IHBhdGguZGlybmFtZShpbXBvcnRQa2cucGF0aCk7XG4gICAgY29uc3QgcHJvcGVyUGF0aCA9IHBhdGgucmVsYXRpdmUoaW1wb3J0Um9vdCwgcmVzb2x2ZWRJbXBvcnQpO1xuICAgIGNvbnN0IHByb3BlckltcG9ydCA9IHBhdGguam9pbihcbiAgICAgIGltcG9ydFBrZy5wa2cubmFtZSxcbiAgICAgIHBhdGguZGlybmFtZShwcm9wZXJQYXRoKSxcbiAgICAgIGltcG9ydEJhc2VOYW1lID09PSBwYXRoLmJhc2VuYW1lKGltcG9ydFJvb3QpID8gJycgOiBpbXBvcnRCYXNlTmFtZVxuICAgICk7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgbm9kZSxcbiAgICAgIG1lc3NhZ2U6IGBSZWxhdGl2ZSBpbXBvcnQgZnJvbSBhbm90aGVyIHBhY2thZ2UgaXMgbm90IGFsbG93ZWQuIFVzZSBcXGAke3Byb3BlckltcG9ydH1cXGAgaW5zdGVhZCBvZiBcXGAke2ltcG9ydFBhdGh9XFxgYCxcbiAgICB9KTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLXJlbGF0aXZlLXBhY2thZ2VzJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFttYWtlT3B0aW9uc1NjaGVtYSgpXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKChzb3VyY2UpID0+IGNoZWNrSW1wb3J0Rm9yUmVsYXRpdmVQYWNrYWdlKGNvbnRleHQsIHNvdXJjZS52YWx1ZSwgc291cmNlKSwgY29udGV4dC5vcHRpb25zWzBdKTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js b/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js index 13695c1b0..87cbb2621 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js @@ -46,4 +46,4 @@ module.exports = { return (0, _moduleVisitor2.default)(checkSourceValue, context.options[0]); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwibm9SZWxhdGl2ZVBhY2thZ2VzIiwiY29udGV4dCIsIm15UGF0aCIsImdldEZpbGVuYW1lIiwiY2hlY2tTb3VyY2VWYWx1ZSIsInNvdXJjZU5vZGUiLCJkZXBQYXRoIiwidmFsdWUiLCJhYnNEZXBQYXRoIiwicmVsRGVwUGF0aCIsInJlcG9ydCIsIm5vZGUiLCJtZXNzYWdlIiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6ImFBQUEsa0U7QUFDQSxxQztBQUNBO0FBQ0Esc0Q7O0FBRUEsZ0Q7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLDRCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxDQUFDLHVDQUFELENBTEosRUFEUzs7O0FBU2ZDLFVBQVEsU0FBU0Msa0JBQVQsQ0FBNEJDLE9BQTVCLEVBQXFDO0FBQzNDLFVBQU1DLFNBQVNELFFBQVFFLFdBQVIsRUFBZjtBQUNBLFFBQUlELFdBQVcsUUFBZixFQUF5QixPQUFPLEVBQVAsQ0FGa0IsQ0FFUjs7QUFFbkMsYUFBU0UsZ0JBQVQsQ0FBMEJDLFVBQTFCLEVBQXNDO0FBQ3BDLFlBQU1DLFVBQVVELFdBQVdFLEtBQTNCOztBQUVBLFVBQUksMEJBQVdELE9BQVgsRUFBb0JMLE9BQXBCLE1BQWlDLFVBQXJDLEVBQWlELENBQUU7QUFDakQ7QUFDRDs7QUFFRCxZQUFNTyxhQUFhLHVCQUFRRixPQUFSLEVBQWlCTCxPQUFqQixDQUFuQjs7QUFFQSxVQUFJLENBQUNPLFVBQUwsRUFBaUIsQ0FBRTtBQUNqQjtBQUNEOztBQUVELFlBQU1DLGFBQWEsb0JBQVMsbUJBQVFQLE1BQVIsQ0FBVCxFQUEwQk0sVUFBMUIsQ0FBbkI7O0FBRUEsVUFBSSwwQkFBV0MsVUFBWCxFQUF1QlIsT0FBdkIsTUFBb0MsUUFBeEMsRUFBa0Q7QUFDaERBLGdCQUFRUyxNQUFSLENBQWU7QUFDYkMsZ0JBQU1OLFVBRE87QUFFYk8sbUJBQVM7QUFDTix3RUFETTtBQUVOLDRDQUFpQyxvQkFBU1YsTUFBVCxDQUFpQixhQUY1QztBQUdOLDRCQUFpQkksT0FBUSwyQkFBMEJBLE9BQVEsZUFMakQsRUFBZjs7QUFPRDtBQUNGOztBQUVELFdBQU8sNkJBQWNGLGdCQUFkLEVBQWdDSCxRQUFRWSxPQUFSLENBQWdCLENBQWhCLENBQWhDLENBQVA7QUFDRCxHQXhDYyxFQUFqQiIsImZpbGUiOiJuby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2R1bGVWaXNpdG9yLCB7IG1ha2VPcHRpb25zU2NoZW1hIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcbmltcG9ydCB7IGJhc2VuYW1lLCBkaXJuYW1lLCByZWxhdGl2ZSB9IGZyb20gJ3BhdGgnXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5cbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cycpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbbWFrZU9wdGlvbnNTY2hlbWEoKV0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiBub1JlbGF0aXZlUGFja2FnZXMoY29udGV4dCkge1xuICAgIGNvbnN0IG15UGF0aCA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKVxuICAgIGlmIChteVBhdGggPT09ICc8dGV4dD4nKSByZXR1cm4ge30gLy8gY2FuJ3QgY2hlY2sgYSBub24tZmlsZVxuXG4gICAgZnVuY3Rpb24gY2hlY2tTb3VyY2VWYWx1ZShzb3VyY2VOb2RlKSB7XG4gICAgICBjb25zdCBkZXBQYXRoID0gc291cmNlTm9kZS52YWx1ZVxuXG4gICAgICBpZiAoaW1wb3J0VHlwZShkZXBQYXRoLCBjb250ZXh0KSA9PT0gJ2V4dGVybmFsJykgeyAvLyBpZ25vcmUgcGFja2FnZXNcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFic0RlcFBhdGggPSByZXNvbHZlKGRlcFBhdGgsIGNvbnRleHQpXG5cbiAgICAgIGlmICghYWJzRGVwUGF0aCkgeyAvLyB1bmFibGUgdG8gcmVzb2x2ZSBwYXRoXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxEZXBQYXRoID0gcmVsYXRpdmUoZGlybmFtZShteVBhdGgpLCBhYnNEZXBQYXRoKVxuXG4gICAgICBpZiAoaW1wb3J0VHlwZShyZWxEZXBQYXRoLCBjb250ZXh0KSA9PT0gJ3BhcmVudCcpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHNvdXJjZU5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogJ1JlbGF0aXZlIGltcG9ydHMgZnJvbSBwYXJlbnQgZGlyZWN0b3JpZXMgYXJlIG5vdCBhbGxvd2VkLiAnICtcbiAgICAgICAgICAgIGBQbGVhc2UgZWl0aGVyIHBhc3Mgd2hhdCB5b3UncmUgaW1wb3J0aW5nIHRocm91Z2ggYXQgcnVudGltZSBgICtcbiAgICAgICAgICAgIGAoZGVwZW5kZW5jeSBpbmplY3Rpb24pLCBtb3ZlIFxcYCR7YmFzZW5hbWUobXlQYXRoKX1cXGAgdG8gc2FtZSBgICtcbiAgICAgICAgICAgIGBkaXJlY3RvcnkgYXMgXFxgJHtkZXBQYXRofVxcYCBvciBjb25zaWRlciBtYWtpbmcgXFxgJHtkZXBQYXRofVxcYCBhIHBhY2thZ2UuYCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcihjaGVja1NvdXJjZVZhbHVlLCBjb250ZXh0Lm9wdGlvbnNbMF0pXG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwibm9SZWxhdGl2ZVBhY2thZ2VzIiwiY29udGV4dCIsIm15UGF0aCIsImdldEZpbGVuYW1lIiwiY2hlY2tTb3VyY2VWYWx1ZSIsInNvdXJjZU5vZGUiLCJkZXBQYXRoIiwidmFsdWUiLCJhYnNEZXBQYXRoIiwicmVsRGVwUGF0aCIsInJlcG9ydCIsIm5vZGUiLCJtZXNzYWdlIiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6ImFBQUEsa0U7QUFDQSxxQztBQUNBO0FBQ0Esc0Q7O0FBRUEsZ0Q7O0FBRUFBLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFlBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLDRCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxDQUFDLHVDQUFELENBTEosRUFEUzs7O0FBU2ZDLFVBQVEsU0FBU0Msa0JBQVQsQ0FBNEJDLE9BQTVCLEVBQXFDO0FBQzNDLFVBQU1DLFNBQVNELFFBQVFFLFdBQVIsRUFBZjtBQUNBLFFBQUlELFdBQVcsUUFBZixFQUF5QixPQUFPLEVBQVAsQ0FGa0IsQ0FFUDs7QUFFcEMsYUFBU0UsZ0JBQVQsQ0FBMEJDLFVBQTFCLEVBQXNDO0FBQ3BDLFlBQU1DLFVBQVVELFdBQVdFLEtBQTNCOztBQUVBLFVBQUksMEJBQVdELE9BQVgsRUFBb0JMLE9BQXBCLE1BQWlDLFVBQXJDLEVBQWlELENBQUU7QUFDakQ7QUFDRDs7QUFFRCxZQUFNTyxhQUFhLHVCQUFRRixPQUFSLEVBQWlCTCxPQUFqQixDQUFuQjs7QUFFQSxVQUFJLENBQUNPLFVBQUwsRUFBaUIsQ0FBRTtBQUNqQjtBQUNEOztBQUVELFlBQU1DLGFBQWEsb0JBQVMsbUJBQVFQLE1BQVIsQ0FBVCxFQUEwQk0sVUFBMUIsQ0FBbkI7O0FBRUEsVUFBSSwwQkFBV0MsVUFBWCxFQUF1QlIsT0FBdkIsTUFBb0MsUUFBeEMsRUFBa0Q7QUFDaERBLGdCQUFRUyxNQUFSLENBQWU7QUFDYkMsZ0JBQU1OLFVBRE87QUFFYk8sbUJBQVM7QUFDTix3RUFETTtBQUVOLDRDQUFpQyxvQkFBU1YsTUFBVCxDQUFpQixhQUY1QztBQUdOLDRCQUFpQkksT0FBUSwyQkFBMEJBLE9BQVEsZUFMakQsRUFBZjs7QUFPRDtBQUNGOztBQUVELFdBQU8sNkJBQWNGLGdCQUFkLEVBQWdDSCxRQUFRWSxPQUFSLENBQWdCLENBQWhCLENBQWhDLENBQVA7QUFDRCxHQXhDYyxFQUFqQiIsImZpbGUiOiJuby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2R1bGVWaXNpdG9yLCB7IG1ha2VPcHRpb25zU2NoZW1hIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuaW1wb3J0IHsgYmFzZW5hbWUsIGRpcm5hbWUsIHJlbGF0aXZlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuXG5pbXBvcnQgaW1wb3J0VHlwZSBmcm9tICcuLi9jb3JlL2ltcG9ydFR5cGUnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFttYWtlT3B0aW9uc1NjaGVtYSgpXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIG5vUmVsYXRpdmVQYWNrYWdlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgbXlQYXRoID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICAgIGlmIChteVBhdGggPT09ICc8dGV4dD4nKSByZXR1cm4ge307IC8vIGNhbid0IGNoZWNrIGEgbm9uLWZpbGVcblxuICAgIGZ1bmN0aW9uIGNoZWNrU291cmNlVmFsdWUoc291cmNlTm9kZSkge1xuICAgICAgY29uc3QgZGVwUGF0aCA9IHNvdXJjZU5vZGUudmFsdWU7XG5cbiAgICAgIGlmIChpbXBvcnRUeXBlKGRlcFBhdGgsIGNvbnRleHQpID09PSAnZXh0ZXJuYWwnKSB7IC8vIGlnbm9yZSBwYWNrYWdlc1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFic0RlcFBhdGggPSByZXNvbHZlKGRlcFBhdGgsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoIWFic0RlcFBhdGgpIHsgLy8gdW5hYmxlIHRvIHJlc29sdmUgcGF0aFxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbERlcFBhdGggPSByZWxhdGl2ZShkaXJuYW1lKG15UGF0aCksIGFic0RlcFBhdGgpO1xuXG4gICAgICBpZiAoaW1wb3J0VHlwZShyZWxEZXBQYXRoLCBjb250ZXh0KSA9PT0gJ3BhcmVudCcpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHNvdXJjZU5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogJ1JlbGF0aXZlIGltcG9ydHMgZnJvbSBwYXJlbnQgZGlyZWN0b3JpZXMgYXJlIG5vdCBhbGxvd2VkLiAnICtcbiAgICAgICAgICAgIGBQbGVhc2UgZWl0aGVyIHBhc3Mgd2hhdCB5b3UncmUgaW1wb3J0aW5nIHRocm91Z2ggYXQgcnVudGltZSBgICtcbiAgICAgICAgICAgIGAoZGVwZW5kZW5jeSBpbmplY3Rpb24pLCBtb3ZlIFxcYCR7YmFzZW5hbWUobXlQYXRoKX1cXGAgdG8gc2FtZSBgICtcbiAgICAgICAgICAgIGBkaXJlY3RvcnkgYXMgXFxgJHtkZXBQYXRofVxcYCBvciBjb25zaWRlciBtYWtpbmcgXFxgJHtkZXBQYXRofVxcYCBhIHBhY2thZ2UuYCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3IoY2hlY2tTb3VyY2VWYWx1ZSwgY29udGV4dC5vcHRpb25zWzBdKTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js b/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js index d318e4085..c38b5bad0 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js @@ -1,11 +1,15 @@ -'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _containsPath = require('contains-path');var _containsPath2 = _interopRequireDefault(_containsPath); -var _path = require('path');var _path2 = _interopRequireDefault(_path); +'use strict';var _path = require('path');var _path2 = _interopRequireDefault(_path); var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); -var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl); var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +const containsPath = (filepath, target) => { + const relative = _path2.default.relative(target, filepath); + return relative === '' || !relative.startsWith('..'); +}; + module.exports = { meta: { type: 'problem', @@ -52,7 +56,7 @@ module.exports = { const matchingZones = restrictedPaths.filter(zone => { const targetPath = _path2.default.resolve(basePath, zone.target); - return (0, _containsPath2.default)(currentFilename, targetPath); + return containsPath(currentFilename, targetPath); }); function isValidExceptionPath(absoluteFromPath, absoluteExceptionPath) { @@ -68,6 +72,19 @@ module.exports = { } + const zoneExceptions = matchingZones.map(zone => { + const exceptionPaths = zone.except || []; + const absoluteFrom = _path2.default.resolve(basePath, zone.from); + const absoluteExceptionPaths = exceptionPaths.map(exceptionPath => _path2.default.resolve(absoluteFrom, exceptionPath)); + const hasValidExceptionPaths = absoluteExceptionPaths. + every(absoluteExceptionPath => isValidExceptionPath(absoluteFrom, absoluteExceptionPath)); + + return { + absoluteExceptionPaths, + hasValidExceptionPaths }; + + }); + function checkForRestrictedImportPath(importPath, node) { const absoluteImportPath = (0, _resolve2.default)(importPath, context); @@ -75,19 +92,14 @@ module.exports = { return; } - matchingZones.forEach(zone => { - const exceptionPaths = zone.except || []; + matchingZones.forEach((zone, index) => { const absoluteFrom = _path2.default.resolve(basePath, zone.from); - if (!(0, _containsPath2.default)(absoluteImportPath, absoluteFrom)) { + if (!containsPath(absoluteImportPath, absoluteFrom)) { return; - } + }var _zoneExceptions$index = - const absoluteExceptionPaths = exceptionPaths.map(exceptionPath => - _path2.default.resolve(absoluteFrom, exceptionPath)); - - const hasValidExceptionPaths = absoluteExceptionPaths. - every(absoluteExceptionPath => isValidExceptionPath(absoluteFrom, absoluteExceptionPath)); + zoneExceptions[index];const hasValidExceptionPaths = _zoneExceptions$index.hasValidExceptionPaths,absoluteExceptionPaths = _zoneExceptions$index.absoluteExceptionPaths; if (!hasValidExceptionPaths) { reportInvalidExceptionPath(node); @@ -95,7 +107,7 @@ module.exports = { } const pathIsExcepted = absoluteExceptionPaths. - some(absoluteExceptionPath => (0, _containsPath2.default)(absoluteImportPath, absoluteExceptionPath)); + some(absoluteExceptionPath => containsPath(absoluteImportPath, absoluteExceptionPath)); if (pathIsExcepted) { return; @@ -109,17 +121,8 @@ module.exports = { }); } - return { - ImportDeclaration(node) { - checkForRestrictedImportPath(node.source.value, node.source); - }, - CallExpression(node) { - if ((0, _staticRequire2.default)(node)) {var _node$arguments = _slicedToArray( - node.arguments, 1);const firstArgument = _node$arguments[0]; - - checkForRestrictedImportPath(firstArgument.value, firstArgument); - } - } }; - + return (0, _moduleVisitor2.default)(source => { + checkForRestrictedImportPath(source.value, source); + }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZXN0cmljdGVkLXBhdGhzLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiem9uZXMiLCJtaW5JdGVtcyIsIml0ZW1zIiwidGFyZ2V0IiwiZnJvbSIsImV4Y2VwdCIsInVuaXF1ZUl0ZW1zIiwibWVzc2FnZSIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiYmFzZVBhdGgiLCJjcmVhdGUiLCJub1Jlc3RyaWN0ZWRQYXRocyIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzdHJpY3RlZFBhdGhzIiwicHJvY2VzcyIsImN3ZCIsImN1cnJlbnRGaWxlbmFtZSIsImdldEZpbGVuYW1lIiwibWF0Y2hpbmdab25lcyIsImZpbHRlciIsInpvbmUiLCJ0YXJnZXRQYXRoIiwicGF0aCIsInJlc29sdmUiLCJpc1ZhbGlkRXhjZXB0aW9uUGF0aCIsImFic29sdXRlRnJvbVBhdGgiLCJhYnNvbHV0ZUV4Y2VwdGlvblBhdGgiLCJyZWxhdGl2ZUV4Y2VwdGlvblBhdGgiLCJyZWxhdGl2ZSIsInJlcG9ydEludmFsaWRFeGNlcHRpb25QYXRoIiwibm9kZSIsInJlcG9ydCIsImNoZWNrRm9yUmVzdHJpY3RlZEltcG9ydFBhdGgiLCJpbXBvcnRQYXRoIiwiYWJzb2x1dGVJbXBvcnRQYXRoIiwiZm9yRWFjaCIsImV4Y2VwdGlvblBhdGhzIiwiYWJzb2x1dGVGcm9tIiwiYWJzb2x1dGVFeGNlcHRpb25QYXRocyIsIm1hcCIsImV4Y2VwdGlvblBhdGgiLCJoYXNWYWxpZEV4Y2VwdGlvblBhdGhzIiwiZXZlcnkiLCJwYXRoSXNFeGNlcHRlZCIsInNvbWUiLCJkYXRhIiwiSW1wb3J0RGVjbGFyYXRpb24iLCJzb3VyY2UiLCJ2YWx1ZSIsIkNhbGxFeHByZXNzaW9uIiwiYXJndW1lbnRzIiwiZmlyc3RBcmd1bWVudCJdLCJtYXBwaW5ncyI6InFvQkFBQSw2QztB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WUFBSSxDQUFDZSxzQkFBTCxFQUE2QjtBQUMzQloscUNBQTJCQyxJQUEzQjtBQUNBO0FBQ0Q7O0FBRUQsY0FBTWEsaUJBQWlCTDtBQUNwQk0sWUFEb0IsQ0FDZGxCLHFCQUFELElBQTJCLDRCQUFhUSxrQkFBYixFQUFpQ1IscUJBQWpDLENBRFosQ0FBdkI7O0FBR0EsWUFBSWlCLGNBQUosRUFBb0I7QUFDbEI7QUFDRDs7QUFFRGhDLGdCQUFRb0IsTUFBUixDQUFlO0FBQ2JELGNBRGE7QUFFYnhCLG1CQUFVLGdFQUErRGMsS0FBS2QsT0FBTCxHQUFnQixJQUFHYyxLQUFLZCxPQUFRLEVBQWhDLEdBQW9DLEVBQUcsRUFGbkc7QUFHYnVDLGdCQUFNLEVBQUVaLFVBQUYsRUFITyxFQUFmOztBQUtELE9BL0JEO0FBZ0NIOztBQUVELFdBQU87QUFDTGEsd0JBQWtCaEIsSUFBbEIsRUFBd0I7QUFDdEJFLHFDQUE2QkYsS0FBS2lCLE1BQUwsQ0FBWUMsS0FBekMsRUFBZ0RsQixLQUFLaUIsTUFBckQ7QUFDRCxPQUhJO0FBSUxFLHFCQUFlbkIsSUFBZixFQUFxQjtBQUNuQixZQUFJLDZCQUFnQkEsSUFBaEIsQ0FBSixFQUEyQjtBQUNDQSxlQUFLb0IsU0FETixXQUNqQkMsYUFEaUI7O0FBR3pCbkIsdUNBQTZCbUIsY0FBY0gsS0FBM0MsRUFBa0RHLGFBQWxEO0FBQ0Q7QUFDRixPQVZJLEVBQVA7O0FBWUQsR0FuSGMsRUFBakIiLCJmaWxlIjoibm8tcmVzdHJpY3RlZC1wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb250YWluc1BhdGggZnJvbSAnY29udGFpbnMtcGF0aCdcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSdcbmltcG9ydCBpc1N0YXRpY1JlcXVpcmUgZnJvbSAnLi4vY29yZS9zdGF0aWNSZXF1aXJlJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1yZXN0cmljdGVkLXBhdGhzJyksXG4gICAgfSxcblxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHpvbmVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHRhcmdldDogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIGZyb206IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgICBleGNlcHQ6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJhc2VQYXRoOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIG5vUmVzdHJpY3RlZFBhdGhzKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9XG4gICAgY29uc3QgcmVzdHJpY3RlZFBhdGhzID0gb3B0aW9ucy56b25lcyB8fCBbXVxuICAgIGNvbnN0IGJhc2VQYXRoID0gb3B0aW9ucy5iYXNlUGF0aCB8fCBwcm9jZXNzLmN3ZCgpXG4gICAgY29uc3QgY3VycmVudEZpbGVuYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpXG4gICAgY29uc3QgbWF0Y2hpbmdab25lcyA9IHJlc3RyaWN0ZWRQYXRocy5maWx0ZXIoKHpvbmUpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLnJlc29sdmUoYmFzZVBhdGgsIHpvbmUudGFyZ2V0KVxuXG4gICAgICByZXR1cm4gY29udGFpbnNQYXRoKGN1cnJlbnRGaWxlbmFtZSwgdGFyZ2V0UGF0aClcbiAgICB9KVxuXG4gICAgZnVuY3Rpb24gaXNWYWxpZEV4Y2VwdGlvblBhdGgoYWJzb2x1dGVGcm9tUGF0aCwgYWJzb2x1dGVFeGNlcHRpb25QYXRoKSB7XG4gICAgICBjb25zdCByZWxhdGl2ZUV4Y2VwdGlvblBhdGggPSBwYXRoLnJlbGF0aXZlKGFic29sdXRlRnJvbVBhdGgsIGFic29sdXRlRXhjZXB0aW9uUGF0aClcblxuICAgICAgcmV0dXJuIGltcG9ydFR5cGUocmVsYXRpdmVFeGNlcHRpb25QYXRoLCBjb250ZXh0KSAhPT0gJ3BhcmVudCdcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZXBvcnRJbnZhbGlkRXhjZXB0aW9uUGF0aChub2RlKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIG1lc3NhZ2U6ICdSZXN0cmljdGVkIHBhdGggZXhjZXB0aW9ucyBtdXN0IGJlIGRlc2NlbmRhbnRzIG9mIHRoZSBjb25maWd1cmVkIGBmcm9tYCBwYXRoIGZvciB0aGF0IHpvbmUuJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2hlY2tGb3JSZXN0cmljdGVkSW1wb3J0UGF0aChpbXBvcnRQYXRoLCBub2RlKSB7XG4gICAgICAgIGNvbnN0IGFic29sdXRlSW1wb3J0UGF0aCA9IHJlc29sdmUoaW1wb3J0UGF0aCwgY29udGV4dClcblxuICAgICAgICBpZiAoIWFic29sdXRlSW1wb3J0UGF0aCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgbWF0Y2hpbmdab25lcy5mb3JFYWNoKCh6b25lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXhjZXB0aW9uUGF0aHMgPSB6b25lLmV4Y2VwdCB8fCBbXVxuICAgICAgICAgIGNvbnN0IGFic29sdXRlRnJvbSA9IHBhdGgucmVzb2x2ZShiYXNlUGF0aCwgem9uZS5mcm9tKVxuXG4gICAgICAgICAgaWYgKCFjb250YWluc1BhdGgoYWJzb2x1dGVJbXBvcnRQYXRoLCBhYnNvbHV0ZUZyb20pKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBhYnNvbHV0ZUV4Y2VwdGlvblBhdGhzID0gZXhjZXB0aW9uUGF0aHMubWFwKChleGNlcHRpb25QYXRoKSA9PlxuICAgICAgICAgICAgcGF0aC5yZXNvbHZlKGFic29sdXRlRnJvbSwgZXhjZXB0aW9uUGF0aClcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgaGFzVmFsaWRFeGNlcHRpb25QYXRocyA9IGFic29sdXRlRXhjZXB0aW9uUGF0aHNcbiAgICAgICAgICAgIC5ldmVyeSgoYWJzb2x1dGVFeGNlcHRpb25QYXRoKSA9PiBpc1ZhbGlkRXhjZXB0aW9uUGF0aChhYnNvbHV0ZUZyb20sIGFic29sdXRlRXhjZXB0aW9uUGF0aCkpXG5cbiAgICAgICAgICBpZiAoIWhhc1ZhbGlkRXhjZXB0aW9uUGF0aHMpIHtcbiAgICAgICAgICAgIHJlcG9ydEludmFsaWRFeGNlcHRpb25QYXRoKG5vZGUpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwYXRoSXNFeGNlcHRlZCA9IGFic29sdXRlRXhjZXB0aW9uUGF0aHNcbiAgICAgICAgICAgIC5zb21lKChhYnNvbHV0ZUV4Y2VwdGlvblBhdGgpID0+IGNvbnRhaW5zUGF0aChhYnNvbHV0ZUltcG9ydFBhdGgsIGFic29sdXRlRXhjZXB0aW9uUGF0aCkpXG5cbiAgICAgICAgICBpZiAocGF0aElzRXhjZXB0ZWQpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCBwYXRoIFwie3tpbXBvcnRQYXRofX1cIiBpbXBvcnRlZCBpbiByZXN0cmljdGVkIHpvbmUuJHt6b25lLm1lc3NhZ2UgPyBgICR7em9uZS5tZXNzYWdlfWAgOiAnJ31gLFxuICAgICAgICAgICAgZGF0YTogeyBpbXBvcnRQYXRoIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgICBjaGVja0ZvclJlc3RyaWN0ZWRJbXBvcnRQYXRoKG5vZGUuc291cmNlLnZhbHVlLCBub2RlLnNvdXJjZSlcbiAgICAgIH0sXG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY1JlcXVpcmUobm9kZSkpIHtcbiAgICAgICAgICBjb25zdCBbIGZpcnN0QXJndW1lbnQgXSA9IG5vZGUuYXJndW1lbnRzXG5cbiAgICAgICAgICBjaGVja0ZvclJlc3RyaWN0ZWRJbXBvcnRQYXRoKGZpcnN0QXJndW1lbnQudmFsdWUsIGZpcnN0QXJndW1lbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZXN0cmljdGVkLXBhdGhzLmpzIl0sIm5hbWVzIjpbImNvbnRhaW5zUGF0aCIsImZpbGVwYXRoIiwidGFyZ2V0IiwicmVsYXRpdmUiLCJwYXRoIiwic3RhcnRzV2l0aCIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiem9uZXMiLCJtaW5JdGVtcyIsIml0ZW1zIiwiZnJvbSIsImV4Y2VwdCIsInVuaXF1ZUl0ZW1zIiwibWVzc2FnZSIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiYmFzZVBhdGgiLCJjcmVhdGUiLCJub1Jlc3RyaWN0ZWRQYXRocyIsImNvbnRleHQiLCJvcHRpb25zIiwicmVzdHJpY3RlZFBhdGhzIiwicHJvY2VzcyIsImN3ZCIsImN1cnJlbnRGaWxlbmFtZSIsImdldEZpbGVuYW1lIiwibWF0Y2hpbmdab25lcyIsImZpbHRlciIsInpvbmUiLCJ0YXJnZXRQYXRoIiwicmVzb2x2ZSIsImlzVmFsaWRFeGNlcHRpb25QYXRoIiwiYWJzb2x1dGVGcm9tUGF0aCIsImFic29sdXRlRXhjZXB0aW9uUGF0aCIsInJlbGF0aXZlRXhjZXB0aW9uUGF0aCIsInJlcG9ydEludmFsaWRFeGNlcHRpb25QYXRoIiwibm9kZSIsInJlcG9ydCIsInpvbmVFeGNlcHRpb25zIiwibWFwIiwiZXhjZXB0aW9uUGF0aHMiLCJhYnNvbHV0ZUZyb20iLCJhYnNvbHV0ZUV4Y2VwdGlvblBhdGhzIiwiZXhjZXB0aW9uUGF0aCIsImhhc1ZhbGlkRXhjZXB0aW9uUGF0aHMiLCJldmVyeSIsImNoZWNrRm9yUmVzdHJpY3RlZEltcG9ydFBhdGgiLCJpbXBvcnRQYXRoIiwiYWJzb2x1dGVJbXBvcnRQYXRoIiwiZm9yRWFjaCIsImluZGV4IiwicGF0aElzRXhjZXB0ZWQiLCJzb21lIiwiZGF0YSIsInNvdXJjZSIsInZhbHVlIiwiY29tbW9uanMiXSwibWFwcGluZ3MiOiJh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LElBQVosRUFGSSxDQUFQO0FBR0QsR0FsSGMsRUFBakIiLCJmaWxlIjoibm8tcmVzdHJpY3RlZC1wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuaW1wb3J0IGltcG9ydFR5cGUgZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJztcblxuY29uc3QgY29udGFpbnNQYXRoID0gKGZpbGVwYXRoLCB0YXJnZXQpID0+IHtcbiAgY29uc3QgcmVsYXRpdmUgPSBwYXRoLnJlbGF0aXZlKHRhcmdldCwgZmlsZXBhdGgpO1xuICByZXR1cm4gcmVsYXRpdmUgPT09ICcnIHx8ICFyZWxhdGl2ZS5zdGFydHNXaXRoKCcuLicpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby1yZXN0cmljdGVkLXBhdGhzJyksXG4gICAgfSxcblxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHpvbmVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHRhcmdldDogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIGZyb206IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgICBleGNlcHQ6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJhc2VQYXRoOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIG5vUmVzdHJpY3RlZFBhdGhzKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9O1xuICAgIGNvbnN0IHJlc3RyaWN0ZWRQYXRocyA9IG9wdGlvbnMuem9uZXMgfHwgW107XG4gICAgY29uc3QgYmFzZVBhdGggPSBvcHRpb25zLmJhc2VQYXRoIHx8IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgY3VycmVudEZpbGVuYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICAgIGNvbnN0IG1hdGNoaW5nWm9uZXMgPSByZXN0cmljdGVkUGF0aHMuZmlsdGVyKCh6b25lKSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXRQYXRoID0gcGF0aC5yZXNvbHZlKGJhc2VQYXRoLCB6b25lLnRhcmdldCk7XG5cbiAgICAgIHJldHVybiBjb250YWluc1BhdGgoY3VycmVudEZpbGVuYW1lLCB0YXJnZXRQYXRoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGlzVmFsaWRFeGNlcHRpb25QYXRoKGFic29sdXRlRnJvbVBhdGgsIGFic29sdXRlRXhjZXB0aW9uUGF0aCkge1xuICAgICAgY29uc3QgcmVsYXRpdmVFeGNlcHRpb25QYXRoID0gcGF0aC5yZWxhdGl2ZShhYnNvbHV0ZUZyb21QYXRoLCBhYnNvbHV0ZUV4Y2VwdGlvblBhdGgpO1xuXG4gICAgICByZXR1cm4gaW1wb3J0VHlwZShyZWxhdGl2ZUV4Y2VwdGlvblBhdGgsIGNvbnRleHQpICE9PSAncGFyZW50JztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZXBvcnRJbnZhbGlkRXhjZXB0aW9uUGF0aChub2RlKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIG1lc3NhZ2U6ICdSZXN0cmljdGVkIHBhdGggZXhjZXB0aW9ucyBtdXN0IGJlIGRlc2NlbmRhbnRzIG9mIHRoZSBjb25maWd1cmVkIGBmcm9tYCBwYXRoIGZvciB0aGF0IHpvbmUuJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHpvbmVFeGNlcHRpb25zID0gbWF0Y2hpbmdab25lcy5tYXAoKHpvbmUpID0+IHtcbiAgICAgIGNvbnN0IGV4Y2VwdGlvblBhdGhzID0gem9uZS5leGNlcHQgfHwgW107XG4gICAgICBjb25zdCBhYnNvbHV0ZUZyb20gPSBwYXRoLnJlc29sdmUoYmFzZVBhdGgsIHpvbmUuZnJvbSk7XG4gICAgICBjb25zdCBhYnNvbHV0ZUV4Y2VwdGlvblBhdGhzID0gZXhjZXB0aW9uUGF0aHMubWFwKChleGNlcHRpb25QYXRoKSA9PiBwYXRoLnJlc29sdmUoYWJzb2x1dGVGcm9tLCBleGNlcHRpb25QYXRoKSk7XG4gICAgICBjb25zdCBoYXNWYWxpZEV4Y2VwdGlvblBhdGhzID0gYWJzb2x1dGVFeGNlcHRpb25QYXRoc1xuICAgICAgICAuZXZlcnkoKGFic29sdXRlRXhjZXB0aW9uUGF0aCkgPT4gaXNWYWxpZEV4Y2VwdGlvblBhdGgoYWJzb2x1dGVGcm9tLCBhYnNvbHV0ZUV4Y2VwdGlvblBhdGgpKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWJzb2x1dGVFeGNlcHRpb25QYXRocyxcbiAgICAgICAgaGFzVmFsaWRFeGNlcHRpb25QYXRocyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiBjaGVja0ZvclJlc3RyaWN0ZWRJbXBvcnRQYXRoKGltcG9ydFBhdGgsIG5vZGUpIHtcbiAgICAgIGNvbnN0IGFic29sdXRlSW1wb3J0UGF0aCA9IHJlc29sdmUoaW1wb3J0UGF0aCwgY29udGV4dCk7XG5cbiAgICAgIGlmICghYWJzb2x1dGVJbXBvcnRQYXRoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbWF0Y2hpbmdab25lcy5mb3JFYWNoKCh6b25lLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBhYnNvbHV0ZUZyb20gPSBwYXRoLnJlc29sdmUoYmFzZVBhdGgsIHpvbmUuZnJvbSk7XG5cbiAgICAgICAgaWYgKCFjb250YWluc1BhdGgoYWJzb2x1dGVJbXBvcnRQYXRoLCBhYnNvbHV0ZUZyb20pKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBoYXNWYWxpZEV4Y2VwdGlvblBhdGhzLCBhYnNvbHV0ZUV4Y2VwdGlvblBhdGhzIH0gPSB6b25lRXhjZXB0aW9uc1tpbmRleF07XG5cbiAgICAgICAgaWYgKCFoYXNWYWxpZEV4Y2VwdGlvblBhdGhzKSB7XG4gICAgICAgICAgcmVwb3J0SW52YWxpZEV4Y2VwdGlvblBhdGgobm9kZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGF0aElzRXhjZXB0ZWQgPSBhYnNvbHV0ZUV4Y2VwdGlvblBhdGhzXG4gICAgICAgICAgLnNvbWUoKGFic29sdXRlRXhjZXB0aW9uUGF0aCkgPT4gY29udGFpbnNQYXRoKGFic29sdXRlSW1wb3J0UGF0aCwgYWJzb2x1dGVFeGNlcHRpb25QYXRoKSk7XG5cbiAgICAgICAgaWYgKHBhdGhJc0V4Y2VwdGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgcGF0aCBcInt7aW1wb3J0UGF0aH19XCIgaW1wb3J0ZWQgaW4gcmVzdHJpY3RlZCB6b25lLiR7em9uZS5tZXNzYWdlID8gYCAke3pvbmUubWVzc2FnZX1gIDogJyd9YCxcbiAgICAgICAgICBkYXRhOiB7IGltcG9ydFBhdGggfSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcigoc291cmNlKSA9PiB7XG4gICAgICBjaGVja0ZvclJlc3RyaWN0ZWRJbXBvcnRQYXRoKHNvdXJjZS52YWx1ZSwgc291cmNlKTtcbiAgICB9LCB7IGNvbW1vbmpzOiB0cnVlIH0pO1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-self-import.js b/node_modules/eslint-plugin-import/lib/rules/no-self-import.js index 50951630c..1b1905c8b 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-self-import.js @@ -4,7 +4,7 @@ var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve); -var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} function isImportingSelf(context, node, requireName) { @@ -31,15 +31,8 @@ function isImportingSelf(context, node, requireName) { schema: [] }, create: function (context) { - return { - ImportDeclaration(node) { - isImportingSelf(context, node, node.source.value); - }, - CallExpression(node) { - if ((0, _staticRequire2.default)(node)) { - isImportingSelf(context, node, node.arguments[0].value); - } - } }; - + return (0, _moduleVisitor2.default)((source, node) => { + isImportingSelf(context, node, source.value); + }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zZWxmLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJpc0ltcG9ydGluZ1NlbGYiLCJjb250ZXh0Iiwibm9kZSIsInJlcXVpcmVOYW1lIiwiZmlsZVBhdGgiLCJnZXRGaWxlbmFtZSIsInJlcG9ydCIsIm1lc3NhZ2UiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwiZGVzY3JpcHRpb24iLCJyZWNvbW1lbmRlZCIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsIkltcG9ydERlY2xhcmF0aW9uIiwic291cmNlIiwidmFsdWUiLCJDYWxsRXhwcmVzc2lvbiIsImFyZ3VtZW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxzRDtBQUNBLHNEO0FBQ0EscUM7O0FBRUEsU0FBU0EsZUFBVCxDQUF5QkMsT0FBekIsRUFBa0NDLElBQWxDLEVBQXdDQyxXQUF4QyxFQUFxRDtBQUNuRCxRQUFNQyxXQUFXSCxRQUFRSSxXQUFSLEVBQWpCOztBQUVBO0FBQ0EsTUFBSUQsYUFBYSxRQUFiLElBQXlCQSxhQUFhLHVCQUFRRCxXQUFSLEVBQXFCRixPQUFyQixDQUExQyxFQUF5RTtBQUN2RUEsWUFBUUssTUFBUixDQUFlO0FBQ1hKLFVBRFc7QUFFWEssZUFBUyx3QkFGRSxFQUFmOztBQUlEO0FBQ0YsQyxDQW5CRDs7O0tBcUJBQyxPQUFPQyxPQUFQLEdBQWlCLEVBQ2ZDLE1BQU07QUFDSkMsVUFBTSxTQURGO0FBRUpDLFVBQU07QUFDSkMsbUJBQWEsdUNBRFQ7QUFFSkMsbUJBQWEsSUFGVDtBQUdKQyxXQUFLLHVCQUFRLGdCQUFSLENBSEQsRUFGRjs7O0FBUUpDLFlBQVEsRUFSSixFQURTOztBQVdmQyxVQUFRLFVBQVVoQixPQUFWLEVBQW1CO0FBQ3pCLFdBQU87QUFDTGlCLHdCQUFrQmhCLElBQWxCLEVBQXdCO0FBQ3RCRix3QkFBZ0JDLE9BQWhCLEVBQXlCQyxJQUF6QixFQUErQkEsS0FBS2lCLE1BQUwsQ0FBWUMsS0FBM0M7QUFDRCxPQUhJO0FBSUxDLHFCQUFlbkIsSUFBZixFQUFxQjtBQUNuQixZQUFJLDZCQUFnQkEsSUFBaEIsQ0FBSixFQUEyQjtBQUN6QkYsMEJBQWdCQyxPQUFoQixFQUF5QkMsSUFBekIsRUFBK0JBLEtBQUtvQixTQUFMLENBQWUsQ0FBZixFQUFrQkYsS0FBakQ7QUFDRDtBQUNGLE9BUkksRUFBUDs7QUFVRCxHQXRCYyxFQUFqQiIsImZpbGUiOiJuby1zZWxmLWltcG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVPdmVydmlldyBGb3JiaWRzIGEgbW9kdWxlIGZyb20gaW1wb3J0aW5nIGl0c2VsZlxuICogQGF1dGhvciBHaW8gZCdBbWVsaW9cbiAqL1xuXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSdcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIGlzSW1wb3J0aW5nU2VsZihjb250ZXh0LCBub2RlLCByZXF1aXJlTmFtZSkge1xuICBjb25zdCBmaWxlUGF0aCA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKVxuXG4gIC8vIElmIHRoZSBpbnB1dCBpcyBmcm9tIHN0ZGluLCB0aGlzIHRlc3QgY2FuJ3QgZmFpbFxuICBpZiAoZmlsZVBhdGggIT09ICc8dGV4dD4nICYmIGZpbGVQYXRoID09PSByZXNvbHZlKHJlcXVpcmVOYW1lLCBjb250ZXh0KSkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWVzc2FnZTogJ01vZHVsZSBpbXBvcnRzIGl0c2VsZi4nLFxuICAgIH0pXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdGb3JiaWQgYSBtb2R1bGUgZnJvbSBpbXBvcnRpbmcgaXRzZWxmJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgdXJsOiBkb2NzVXJsKCduby1zZWxmLWltcG9ydCcpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEltcG9ydERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgaXNJbXBvcnRpbmdTZWxmKGNvbnRleHQsIG5vZGUsIG5vZGUuc291cmNlLnZhbHVlKVxuICAgICAgfSxcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljUmVxdWlyZShub2RlKSkge1xuICAgICAgICAgIGlzSW1wb3J0aW5nU2VsZihjb250ZXh0LCBub2RlLCBub2RlLmFyZ3VtZW50c1swXS52YWx1ZSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zZWxmLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJpc0ltcG9ydGluZ1NlbGYiLCJjb250ZXh0Iiwibm9kZSIsInJlcXVpcmVOYW1lIiwiZmlsZVBhdGgiLCJnZXRGaWxlbmFtZSIsInJlcG9ydCIsIm1lc3NhZ2UiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwiZGVzY3JpcHRpb24iLCJyZWNvbW1lbmRlZCIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsInNvdXJjZSIsInZhbHVlIiwiY29tbW9uanMiXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0Esc0Q7QUFDQSxrRTtBQUNBLHFDOztBQUVBLFNBQVNBLGVBQVQsQ0FBeUJDLE9BQXpCLEVBQWtDQyxJQUFsQyxFQUF3Q0MsV0FBeEMsRUFBcUQ7QUFDbkQsUUFBTUMsV0FBV0gsUUFBUUksV0FBUixFQUFqQjs7QUFFQTtBQUNBLE1BQUlELGFBQWEsUUFBYixJQUF5QkEsYUFBYSx1QkFBUUQsV0FBUixFQUFxQkYsT0FBckIsQ0FBMUMsRUFBeUU7QUFDdkVBLFlBQVFLLE1BQVIsQ0FBZTtBQUNiSixVQURhO0FBRWJLLGVBQVMsd0JBRkksRUFBZjs7QUFJRDtBQUNGLEMsQ0FuQkQ7OztLQXFCQUMsT0FBT0MsT0FBUCxHQUFpQixFQUNmQyxNQUFNO0FBQ0pDLFVBQU0sU0FERjtBQUVKQyxVQUFNO0FBQ0pDLG1CQUFhLHVDQURUO0FBRUpDLG1CQUFhLElBRlQ7QUFHSkMsV0FBSyx1QkFBUSxnQkFBUixDQUhELEVBRkY7OztBQVFKQyxZQUFRLEVBUkosRUFEUzs7QUFXZkMsVUFBUSxVQUFVaEIsT0FBVixFQUFtQjtBQUN6QixXQUFPLDZCQUFjLENBQUNpQixNQUFELEVBQVNoQixJQUFULEtBQWtCO0FBQ3JDRixzQkFBZ0JDLE9BQWhCLEVBQXlCQyxJQUF6QixFQUErQmdCLE9BQU9DLEtBQXRDO0FBQ0QsS0FGTSxFQUVKLEVBQUVDLFVBQVUsSUFBWixFQUZJLENBQVA7QUFHRCxHQWZjLEVBQWpCIiwiZmlsZSI6Im5vLXNlbGYtaW1wb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZU92ZXJ2aWV3IEZvcmJpZHMgYSBtb2R1bGUgZnJvbSBpbXBvcnRpbmcgaXRzZWxmXG4gKiBAYXV0aG9yIEdpbyBkJ0FtZWxpb1xuICovXG5cbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSc7XG5pbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmZ1bmN0aW9uIGlzSW1wb3J0aW5nU2VsZihjb250ZXh0LCBub2RlLCByZXF1aXJlTmFtZSkge1xuICBjb25zdCBmaWxlUGF0aCA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcblxuICAvLyBJZiB0aGUgaW5wdXQgaXMgZnJvbSBzdGRpbiwgdGhpcyB0ZXN0IGNhbid0IGZhaWxcbiAgaWYgKGZpbGVQYXRoICE9PSAnPHRleHQ+JyAmJiBmaWxlUGF0aCA9PT0gcmVzb2x2ZShyZXF1aXJlTmFtZSwgY29udGV4dCkpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBub2RlLFxuICAgICAgbWVzc2FnZTogJ01vZHVsZSBpbXBvcnRzIGl0c2VsZi4nLFxuICAgIH0pO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3Byb2JsZW0nLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRm9yYmlkIGEgbW9kdWxlIGZyb20gaW1wb3J0aW5nIGl0c2VsZicsXG4gICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICAgIHVybDogZG9jc1VybCgnbm8tc2VsZi1pbXBvcnQnKSxcbiAgICB9LFxuXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKChzb3VyY2UsIG5vZGUpID0+IHtcbiAgICAgIGlzSW1wb3J0aW5nU2VsZihjb250ZXh0LCBub2RlLCBzb3VyY2UudmFsdWUpO1xuICAgIH0sIHsgY29tbW9uanM6IHRydWUgfSk7XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js b/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js index 1d6d3f361..4b7bb5c08 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js @@ -73,4 +73,4 @@ module.exports = { 'additionalProperties': false }] } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bmFzc2lnbmVkLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJyZXBvcnQiLCJjb250ZXh0Iiwibm9kZSIsIm1lc3NhZ2UiLCJ0ZXN0SXNBbGxvdyIsImdsb2JzIiwiZmlsZW5hbWUiLCJzb3VyY2UiLCJBcnJheSIsImlzQXJyYXkiLCJmaWxlUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiZGlybmFtZSIsImZpbmQiLCJnbG9iIiwiam9pbiIsInByb2Nlc3MiLCJjd2QiLCJ1bmRlZmluZWQiLCJjcmVhdGUiLCJvcHRpb25zIiwiZ2V0RmlsZW5hbWUiLCJpc0FsbG93IiwiYWxsb3ciLCJJbXBvcnREZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJsZW5ndGgiLCJ2YWx1ZSIsIkV4cHJlc3Npb25TdGF0ZW1lbnQiLCJleHByZXNzaW9uIiwidHlwZSIsImFyZ3VtZW50cyIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwiZG9jcyIsInVybCIsInNjaGVtYSJdLCJtYXBwaW5ncyI6ImFBQUEsNEI7QUFDQSxzQzs7QUFFQSxzRDtBQUNBLHFDOztBQUVBLFNBQVNBLE1BQVQsQ0FBZ0JDLE9BQWhCLEVBQXlCQyxJQUF6QixFQUErQjtBQUM3QkQsVUFBUUQsTUFBUixDQUFlO0FBQ2JFLFFBRGE7QUFFYkMsYUFBUyxvQ0FGSSxFQUFmOztBQUlEOztBQUVELFNBQVNDLFdBQVQsQ0FBcUJDLEtBQXJCLEVBQTRCQyxRQUE1QixFQUFzQ0MsTUFBdEMsRUFBOEM7QUFDNUMsTUFBSSxDQUFDQyxNQUFNQyxPQUFOLENBQWNKLEtBQWQsQ0FBTCxFQUEyQjtBQUN6QixXQUFPLEtBQVAsQ0FEeUIsQ0FDWjtBQUNkOztBQUVELE1BQUlLLFFBQUo7O0FBRUEsTUFBSUgsT0FBTyxDQUFQLE1BQWMsR0FBZCxJQUFxQkEsT0FBTyxDQUFQLE1BQWMsR0FBdkMsRUFBNEMsQ0FBRTtBQUM1Q0csZUFBV0gsTUFBWDtBQUNELEdBRkQsTUFFTztBQUNMRyxlQUFXQyxlQUFLQyxPQUFMLENBQWFELGVBQUtFLE9BQUwsQ0FBYVAsUUFBYixDQUFiLEVBQXFDQyxNQUFyQyxDQUFYLENBREssQ0FDbUQ7QUFDekQ7O0FBRUQsU0FBT0YsTUFBTVMsSUFBTixDQUFXQztBQUNoQiwyQkFBVUwsUUFBVixFQUFvQkssSUFBcEI7QUFDQSwyQkFBVUwsUUFBVixFQUFvQkMsZUFBS0ssSUFBTCxDQUFVQyxRQUFRQyxHQUFSLEVBQVYsRUFBeUJILElBQXpCLENBQXBCLENBRks7QUFHQUksV0FIUDtBQUlEOztBQUVELFNBQVNDLE1BQVQsQ0FBZ0JuQixPQUFoQixFQUF5QjtBQUN2QixRQUFNb0IsVUFBVXBCLFFBQVFvQixPQUFSLENBQWdCLENBQWhCLEtBQXNCLEVBQXRDO0FBQ0EsUUFBTWYsV0FBV0wsUUFBUXFCLFdBQVIsRUFBakI7QUFDQSxRQUFNQyxVQUFVaEIsVUFBVUgsWUFBWWlCLFFBQVFHLEtBQXBCLEVBQTJCbEIsUUFBM0IsRUFBcUNDLE1BQXJDLENBQTFCOztBQUVBLFNBQU87QUFDTGtCLHNCQUFrQnZCLElBQWxCLEVBQXdCO0FBQ3RCLFVBQUlBLEtBQUt3QixVQUFMLENBQWdCQyxNQUFoQixLQUEyQixDQUEzQixJQUFnQyxDQUFDSixRQUFRckIsS0FBS0ssTUFBTCxDQUFZcUIsS0FBcEIsQ0FBckMsRUFBaUU7QUFDL0Q1QixlQUFPQyxPQUFQLEVBQWdCQyxJQUFoQjtBQUNEO0FBQ0YsS0FMSTtBQU1MMkIsd0JBQW9CM0IsSUFBcEIsRUFBMEI7QUFDeEIsVUFBSUEsS0FBSzRCLFVBQUwsQ0FBZ0JDLElBQWhCLEtBQXlCLGdCQUF6QjtBQUNGLG1DQUFnQjdCLEtBQUs0QixVQUFyQixDQURFO0FBRUYsT0FBQ1AsUUFBUXJCLEtBQUs0QixVQUFMLENBQWdCRSxTQUFoQixDQUEwQixDQUExQixFQUE2QkosS0FBckMsQ0FGSCxFQUVnRDtBQUM5QzVCLGVBQU9DLE9BQVAsRUFBZ0JDLEtBQUs0QixVQUFyQjtBQUNEO0FBQ0YsS0FaSSxFQUFQOztBQWNEOztBQUVERyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZkLFFBRGU7QUFFZmUsUUFBTTtBQUNKSixVQUFNLFlBREY7QUFFSkssVUFBTTtBQUNKQyxXQUFLLHVCQUFRLHNCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUTtBQUNOO0FBQ0UsY0FBUSxRQURWO0FBRUUsb0JBQWM7QUFDWiwyQkFBbUIsRUFBRSxRQUFRLENBQUMsU0FBRCxFQUFZLE9BQVosQ0FBVixFQURQO0FBRVosZ0NBQXdCLEVBQUUsUUFBUSxDQUFDLFNBQUQsRUFBWSxPQUFaLENBQVYsRUFGWjtBQUdaLDRCQUFvQixFQUFFLFFBQVEsQ0FBQyxTQUFELEVBQVksT0FBWixDQUFWLEVBSFI7QUFJWixpQkFBUztBQUNQLGtCQUFRLE9BREQ7QUFFUCxtQkFBUztBQUNQLG9CQUFRLFFBREQsRUFGRixFQUpHLEVBRmhCOzs7O0FBYUUsOEJBQXdCLEtBYjFCLEVBRE0sQ0FMSixFQUZTLEVBQWpCIiwiZmlsZSI6Im5vLXVuYXNzaWduZWQtaW1wb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJ1xuXG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSdcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbmZ1bmN0aW9uIHJlcG9ydChjb250ZXh0LCBub2RlKSB7XG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICBub2RlLFxuICAgIG1lc3NhZ2U6ICdJbXBvcnRlZCBtb2R1bGUgc2hvdWxkIGJlIGFzc2lnbmVkJyxcbiAgfSlcbn1cblxuZnVuY3Rpb24gdGVzdElzQWxsb3coZ2xvYnMsIGZpbGVuYW1lLCBzb3VyY2UpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGdsb2JzKSkge1xuICAgIHJldHVybiBmYWxzZSAvLyBkZWZhdWx0IGRvZXNuJ3QgYWxsb3cgYW55IHBhdHRlcm5zXG4gIH1cblxuICBsZXQgZmlsZVBhdGhcblxuICBpZiAoc291cmNlWzBdICE9PSAnLicgJiYgc291cmNlWzBdICE9PSAnLycpIHsgLy8gYSBub2RlIG1vZHVsZVxuICAgIGZpbGVQYXRoID0gc291cmNlXG4gIH0gZWxzZSB7XG4gICAgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKGZpbGVuYW1lKSwgc291cmNlKSAvLyBnZXQgc291cmNlIGFic29sdXRlIHBhdGhcbiAgfVxuXG4gIHJldHVybiBnbG9icy5maW5kKGdsb2IgPT4gKFxuICAgIG1pbmltYXRjaChmaWxlUGF0aCwgZ2xvYikgfHxcbiAgICBtaW5pbWF0Y2goZmlsZVBhdGgsIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBnbG9iKSlcbiAgKSkgIT09IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBjcmVhdGUoY29udGV4dCkge1xuICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9XG4gIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpXG4gIGNvbnN0IGlzQWxsb3cgPSBzb3VyY2UgPT4gdGVzdElzQWxsb3cob3B0aW9ucy5hbGxvdywgZmlsZW5hbWUsIHNvdXJjZSlcblxuICByZXR1cm4ge1xuICAgIEltcG9ydERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgIGlmIChub2RlLnNwZWNpZmllcnMubGVuZ3RoID09PSAwICYmICFpc0FsbG93KG5vZGUuc291cmNlLnZhbHVlKSkge1xuICAgICAgICByZXBvcnQoY29udGV4dCwgbm9kZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIEV4cHJlc3Npb25TdGF0ZW1lbnQobm9kZSkge1xuICAgICAgaWYgKG5vZGUuZXhwcmVzc2lvbi50eXBlID09PSAnQ2FsbEV4cHJlc3Npb24nICYmXG4gICAgICAgIGlzU3RhdGljUmVxdWlyZShub2RlLmV4cHJlc3Npb24pICYmXG4gICAgICAgICFpc0FsbG93KG5vZGUuZXhwcmVzc2lvbi5hcmd1bWVudHNbMF0udmFsdWUpKSB7XG4gICAgICAgIHJlcG9ydChjb250ZXh0LCBub2RlLmV4cHJlc3Npb24pXG4gICAgICB9XG4gICAgfSxcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgY3JlYXRlLFxuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tdW5hc3NpZ25lZC1pbXBvcnQnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICAndHlwZSc6ICdvYmplY3QnLFxuICAgICAgICAncHJvcGVydGllcyc6IHtcbiAgICAgICAgICAnZGV2RGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ29wdGlvbmFsRGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ3BlZXJEZXBlbmRlbmNpZXMnOiB7ICd0eXBlJzogWydib29sZWFuJywgJ2FycmF5J10gfSxcbiAgICAgICAgICAnYWxsb3cnOiB7XG4gICAgICAgICAgICAndHlwZSc6ICdhcnJheScsXG4gICAgICAgICAgICAnaXRlbXMnOiB7XG4gICAgICAgICAgICAgICd0eXBlJzogJ3N0cmluZycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcyc6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bmFzc2lnbmVkLWltcG9ydC5qcyJdLCJuYW1lcyI6WyJyZXBvcnQiLCJjb250ZXh0Iiwibm9kZSIsIm1lc3NhZ2UiLCJ0ZXN0SXNBbGxvdyIsImdsb2JzIiwiZmlsZW5hbWUiLCJzb3VyY2UiLCJBcnJheSIsImlzQXJyYXkiLCJmaWxlUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiZGlybmFtZSIsImZpbmQiLCJnbG9iIiwiam9pbiIsInByb2Nlc3MiLCJjd2QiLCJ1bmRlZmluZWQiLCJjcmVhdGUiLCJvcHRpb25zIiwiZ2V0RmlsZW5hbWUiLCJpc0FsbG93IiwiYWxsb3ciLCJJbXBvcnREZWNsYXJhdGlvbiIsInNwZWNpZmllcnMiLCJsZW5ndGgiLCJ2YWx1ZSIsIkV4cHJlc3Npb25TdGF0ZW1lbnQiLCJleHByZXNzaW9uIiwidHlwZSIsImFyZ3VtZW50cyIsIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwiZG9jcyIsInVybCIsInNjaGVtYSJdLCJtYXBwaW5ncyI6ImFBQUEsNEI7QUFDQSxzQzs7QUFFQSxzRDtBQUNBLHFDOztBQUVBLFNBQVNBLE1BQVQsQ0FBZ0JDLE9BQWhCLEVBQXlCQyxJQUF6QixFQUErQjtBQUM3QkQsVUFBUUQsTUFBUixDQUFlO0FBQ2JFLFFBRGE7QUFFYkMsYUFBUyxvQ0FGSSxFQUFmOztBQUlEOztBQUVELFNBQVNDLFdBQVQsQ0FBcUJDLEtBQXJCLEVBQTRCQyxRQUE1QixFQUFzQ0MsTUFBdEMsRUFBOEM7QUFDNUMsTUFBSSxDQUFDQyxNQUFNQyxPQUFOLENBQWNKLEtBQWQsQ0FBTCxFQUEyQjtBQUN6QixXQUFPLEtBQVAsQ0FEeUIsQ0FDWDtBQUNmOztBQUVELE1BQUlLLFFBQUo7O0FBRUEsTUFBSUgsT0FBTyxDQUFQLE1BQWMsR0FBZCxJQUFxQkEsT0FBTyxDQUFQLE1BQWMsR0FBdkMsRUFBNEMsQ0FBRTtBQUM1Q0csZUFBV0gsTUFBWDtBQUNELEdBRkQsTUFFTztBQUNMRyxlQUFXQyxlQUFLQyxPQUFMLENBQWFELGVBQUtFLE9BQUwsQ0FBYVAsUUFBYixDQUFiLEVBQXFDQyxNQUFyQyxDQUFYLENBREssQ0FDb0Q7QUFDMUQ7O0FBRUQsU0FBT0YsTUFBTVMsSUFBTixDQUFXQztBQUNoQiwyQkFBVUwsUUFBVixFQUFvQkssSUFBcEI7QUFDQSwyQkFBVUwsUUFBVixFQUFvQkMsZUFBS0ssSUFBTCxDQUFVQyxRQUFRQyxHQUFSLEVBQVYsRUFBeUJILElBQXpCLENBQXBCLENBRks7QUFHQUksV0FIUDtBQUlEOztBQUVELFNBQVNDLE1BQVQsQ0FBZ0JuQixPQUFoQixFQUF5QjtBQUN2QixRQUFNb0IsVUFBVXBCLFFBQVFvQixPQUFSLENBQWdCLENBQWhCLEtBQXNCLEVBQXRDO0FBQ0EsUUFBTWYsV0FBV0wsUUFBUXFCLFdBQVIsRUFBakI7QUFDQSxRQUFNQyxVQUFVaEIsVUFBVUgsWUFBWWlCLFFBQVFHLEtBQXBCLEVBQTJCbEIsUUFBM0IsRUFBcUNDLE1BQXJDLENBQTFCOztBQUVBLFNBQU87QUFDTGtCLHNCQUFrQnZCLElBQWxCLEVBQXdCO0FBQ3RCLFVBQUlBLEtBQUt3QixVQUFMLENBQWdCQyxNQUFoQixLQUEyQixDQUEzQixJQUFnQyxDQUFDSixRQUFRckIsS0FBS0ssTUFBTCxDQUFZcUIsS0FBcEIsQ0FBckMsRUFBaUU7QUFDL0Q1QixlQUFPQyxPQUFQLEVBQWdCQyxJQUFoQjtBQUNEO0FBQ0YsS0FMSTtBQU1MMkIsd0JBQW9CM0IsSUFBcEIsRUFBMEI7QUFDeEIsVUFBSUEsS0FBSzRCLFVBQUwsQ0FBZ0JDLElBQWhCLEtBQXlCLGdCQUF6QjtBQUNGLG1DQUFnQjdCLEtBQUs0QixVQUFyQixDQURFO0FBRUYsT0FBQ1AsUUFBUXJCLEtBQUs0QixVQUFMLENBQWdCRSxTQUFoQixDQUEwQixDQUExQixFQUE2QkosS0FBckMsQ0FGSCxFQUVnRDtBQUM5QzVCLGVBQU9DLE9BQVAsRUFBZ0JDLEtBQUs0QixVQUFyQjtBQUNEO0FBQ0YsS0FaSSxFQUFQOztBQWNEOztBQUVERyxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZkLFFBRGU7QUFFZmUsUUFBTTtBQUNKSixVQUFNLFlBREY7QUFFSkssVUFBTTtBQUNKQyxXQUFLLHVCQUFRLHNCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUTtBQUNOO0FBQ0UsY0FBUSxRQURWO0FBRUUsb0JBQWM7QUFDWiwyQkFBbUIsRUFBRSxRQUFRLENBQUMsU0FBRCxFQUFZLE9BQVosQ0FBVixFQURQO0FBRVosZ0NBQXdCLEVBQUUsUUFBUSxDQUFDLFNBQUQsRUFBWSxPQUFaLENBQVYsRUFGWjtBQUdaLDRCQUFvQixFQUFFLFFBQVEsQ0FBQyxTQUFELEVBQVksT0FBWixDQUFWLEVBSFI7QUFJWixpQkFBUztBQUNQLGtCQUFRLE9BREQ7QUFFUCxtQkFBUztBQUNQLG9CQUFRLFFBREQsRUFGRixFQUpHLEVBRmhCOzs7O0FBYUUsOEJBQXdCLEtBYjFCLEVBRE0sQ0FMSixFQUZTLEVBQWpCIiwiZmlsZSI6Im5vLXVuYXNzaWduZWQtaW1wb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gJ21pbmltYXRjaCc7XG5cbmltcG9ydCBpc1N0YXRpY1JlcXVpcmUgZnJvbSAnLi4vY29yZS9zdGF0aWNSZXF1aXJlJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG5mdW5jdGlvbiByZXBvcnQoY29udGV4dCwgbm9kZSkge1xuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgbm9kZSxcbiAgICBtZXNzYWdlOiAnSW1wb3J0ZWQgbW9kdWxlIHNob3VsZCBiZSBhc3NpZ25lZCcsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0ZXN0SXNBbGxvdyhnbG9icywgZmlsZW5hbWUsIHNvdXJjZSkge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoZ2xvYnMpKSB7XG4gICAgcmV0dXJuIGZhbHNlOyAvLyBkZWZhdWx0IGRvZXNuJ3QgYWxsb3cgYW55IHBhdHRlcm5zXG4gIH1cblxuICBsZXQgZmlsZVBhdGg7XG5cbiAgaWYgKHNvdXJjZVswXSAhPT0gJy4nICYmIHNvdXJjZVswXSAhPT0gJy8nKSB7IC8vIGEgbm9kZSBtb2R1bGVcbiAgICBmaWxlUGF0aCA9IHNvdXJjZTtcbiAgfSBlbHNlIHtcbiAgICBmaWxlUGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoZmlsZW5hbWUpLCBzb3VyY2UpOyAvLyBnZXQgc291cmNlIGFic29sdXRlIHBhdGhcbiAgfVxuXG4gIHJldHVybiBnbG9icy5maW5kKGdsb2IgPT4gKFxuICAgIG1pbmltYXRjaChmaWxlUGF0aCwgZ2xvYikgfHxcbiAgICBtaW5pbWF0Y2goZmlsZVBhdGgsIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBnbG9iKSlcbiAgKSkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlKGNvbnRleHQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7fTtcbiAgY29uc3QgZmlsZW5hbWUgPSBjb250ZXh0LmdldEZpbGVuYW1lKCk7XG4gIGNvbnN0IGlzQWxsb3cgPSBzb3VyY2UgPT4gdGVzdElzQWxsb3cob3B0aW9ucy5hbGxvdywgZmlsZW5hbWUsIHNvdXJjZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBJbXBvcnREZWNsYXJhdGlvbihub2RlKSB7XG4gICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCA9PT0gMCAmJiAhaXNBbGxvdyhub2RlLnNvdXJjZS52YWx1ZSkpIHtcbiAgICAgICAgcmVwb3J0KGNvbnRleHQsIG5vZGUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgRXhwcmVzc2lvblN0YXRlbWVudChub2RlKSB7XG4gICAgICBpZiAobm9kZS5leHByZXNzaW9uLnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicgJiZcbiAgICAgICAgaXNTdGF0aWNSZXF1aXJlKG5vZGUuZXhwcmVzc2lvbikgJiZcbiAgICAgICAgIWlzQWxsb3cobm9kZS5leHByZXNzaW9uLmFyZ3VtZW50c1swXS52YWx1ZSkpIHtcbiAgICAgICAgcmVwb3J0KGNvbnRleHQsIG5vZGUuZXhwcmVzc2lvbik7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGNyZWF0ZSxcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLXVuYXNzaWduZWQtaW1wb3J0JyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiAnb2JqZWN0JyxcbiAgICAgICAgJ3Byb3BlcnRpZXMnOiB7XG4gICAgICAgICAgJ2RldkRlcGVuZGVuY2llcyc6IHsgJ3R5cGUnOiBbJ2Jvb2xlYW4nLCAnYXJyYXknXSB9LFxuICAgICAgICAgICdvcHRpb25hbERlcGVuZGVuY2llcyc6IHsgJ3R5cGUnOiBbJ2Jvb2xlYW4nLCAnYXJyYXknXSB9LFxuICAgICAgICAgICdwZWVyRGVwZW5kZW5jaWVzJzogeyAndHlwZSc6IFsnYm9vbGVhbicsICdhcnJheSddIH0sXG4gICAgICAgICAgJ2FsbG93Jzoge1xuICAgICAgICAgICAgJ3R5cGUnOiAnYXJyYXknLFxuICAgICAgICAgICAgJ2l0ZW1zJzoge1xuICAgICAgICAgICAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js b/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js index a3f65be4e..60ad15125 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js @@ -46,4 +46,4 @@ var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_doc return (0, _moduleVisitor2.default)(checkSourceValue, context.options[0]); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnJlc29sdmVkLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjYXNlU2Vuc2l0aXZlIiwiZGVmYXVsdCIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja1NvdXJjZVZhbHVlIiwic291cmNlIiwic2hvdWxkQ2hlY2tDYXNlIiwiQ0FTRV9TRU5TSVRJVkVfRlMiLCJvcHRpb25zIiwicmVzb2x2ZWRQYXRoIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJyZXBvcnQiLCJjYWNoZVNldHRpbmdzIiwiTW9kdWxlQ2FjaGUiLCJnZXRTZXR0aW5ncyIsInNldHRpbmdzIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHNEO0FBQ0EsOEQ7QUFDQSxrRTtBQUNBLHFDLCtJQVJBOzs7dUxBVUFBLE9BQU9DLE9BQVAsR0FBaUIsRUFDZkMsTUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLGVBQVIsQ0FERCxFQUZGOzs7QUFNSkMsWUFBUSxDQUFFLHNDQUFrQjtBQUMxQkMscUJBQWUsRUFBRUosTUFBTSxTQUFSLEVBQW1CSyxTQUFTLElBQTVCLEVBRFcsRUFBbEIsQ0FBRixDQU5KLEVBRFM7Ozs7QUFZZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1COztBQUV6QixhQUFTQyxnQkFBVCxDQUEwQkMsTUFBMUIsRUFBa0M7QUFDaEMsWUFBTUMsa0JBQWtCLENBQUNDLDBCQUFEO0FBQ3JCLE9BQUNKLFFBQVFLLE9BQVIsQ0FBZ0IsQ0FBaEIsQ0FBRCxJQUF1QkwsUUFBUUssT0FBUixDQUFnQixDQUFoQixFQUFtQlIsYUFBbkIsS0FBcUMsS0FEdkMsQ0FBeEI7O0FBR0EsWUFBTVMsZUFBZSx1QkFBUUosT0FBT0ssS0FBZixFQUFzQlAsT0FBdEIsQ0FBckI7O0FBRUEsVUFBSU0saUJBQWlCRSxTQUFyQixFQUFnQztBQUM5QlIsZ0JBQVFTLE1BQVIsQ0FBZVAsTUFBZjtBQUNHLDZDQUFvQ0EsT0FBT0ssS0FBTSxJQURwRDtBQUVELE9BSEQ7O0FBS0ssVUFBSUosZUFBSixFQUFxQjtBQUN4QixjQUFNTyxnQkFBZ0JDLHNCQUFZQyxXQUFaLENBQXdCWixRQUFRYSxRQUFoQyxDQUF0QjtBQUNBLFlBQUksQ0FBQyxxQ0FBdUJQLFlBQXZCLEVBQXFDSSxhQUFyQyxDQUFMLEVBQTBEO0FBQ3hEVixrQkFBUVMsTUFBUixDQUFlUCxNQUFmO0FBQ0csdUJBQVlBLE9BQU9LLEtBQU0sNENBRDVCO0FBRUQ7O0FBRUY7QUFDRjs7QUFFRCxXQUFPLDZCQUFjTixnQkFBZCxFQUFnQ0QsUUFBUUssT0FBUixDQUFnQixDQUFoQixDQUFoQyxDQUFQOztBQUVELEdBckNjLEVBQWpCIiwiZmlsZSI6Im5vLXVucmVzb2x2ZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IGFuIGltcG9ydGVkIHBhdGggZXhpc3RzLCBnaXZlbiByZXNvbHV0aW9uIHJ1bGVzLlxuICogQGF1dGhvciBCZW4gTW9zaGVyXG4gKi9cblxuaW1wb3J0IHJlc29sdmUsIHsgQ0FTRV9TRU5TSVRJVkVfRlMsIGZpbGVFeGlzdHNXaXRoQ2FzZVN5bmMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5pbXBvcnQgTW9kdWxlQ2FjaGUgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9Nb2R1bGVDYWNoZSdcbmltcG9ydCBtb2R1bGVWaXNpdG9yLCB7IG1ha2VPcHRpb25zU2NoZW1hIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJ1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCdcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby11bnJlc29sdmVkJyksXG4gICAgfSxcblxuICAgIHNjaGVtYTogWyBtYWtlT3B0aW9uc1NjaGVtYSh7XG4gICAgICBjYXNlU2Vuc2l0aXZlOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgIH0pXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG5cbiAgICBmdW5jdGlvbiBjaGVja1NvdXJjZVZhbHVlKHNvdXJjZSkge1xuICAgICAgY29uc3Qgc2hvdWxkQ2hlY2tDYXNlID0gIUNBU0VfU0VOU0lUSVZFX0ZTICYmXG4gICAgICAgICghY29udGV4dC5vcHRpb25zWzBdIHx8IGNvbnRleHQub3B0aW9uc1swXS5jYXNlU2Vuc2l0aXZlICE9PSBmYWxzZSlcblxuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShzb3VyY2UudmFsdWUsIGNvbnRleHQpXG5cbiAgICAgIGlmIChyZXNvbHZlZFBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChzb3VyY2UsXG4gICAgICAgICAgYFVuYWJsZSB0byByZXNvbHZlIHBhdGggdG8gbW9kdWxlICcke3NvdXJjZS52YWx1ZX0nLmApXG4gICAgICB9XG5cbiAgICAgIGVsc2UgaWYgKHNob3VsZENoZWNrQ2FzZSkge1xuICAgICAgICBjb25zdCBjYWNoZVNldHRpbmdzID0gTW9kdWxlQ2FjaGUuZ2V0U2V0dGluZ3MoY29udGV4dC5zZXR0aW5ncylcbiAgICAgICAgaWYgKCFmaWxlRXhpc3RzV2l0aENhc2VTeW5jKHJlc29sdmVkUGF0aCwgY2FjaGVTZXR0aW5ncykpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChzb3VyY2UsXG4gICAgICAgICAgICBgQ2FzaW5nIG9mICR7c291cmNlLnZhbHVlfSBkb2VzIG5vdCBtYXRjaCB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLmApXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKGNoZWNrU291cmNlVmFsdWUsIGNvbnRleHQub3B0aW9uc1swXSlcblxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnJlc29sdmVkLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtZXRhIiwidHlwZSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJjYXNlU2Vuc2l0aXZlIiwiZGVmYXVsdCIsImNyZWF0ZSIsImNvbnRleHQiLCJjaGVja1NvdXJjZVZhbHVlIiwic291cmNlIiwic2hvdWxkQ2hlY2tDYXNlIiwiQ0FTRV9TRU5TSVRJVkVfRlMiLCJvcHRpb25zIiwicmVzb2x2ZWRQYXRoIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJyZXBvcnQiLCJjYWNoZVNldHRpbmdzIiwiTW9kdWxlQ2FjaGUiLCJnZXRTZXR0aW5ncyIsInNldHRpbmdzIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHNEO0FBQ0EsOEQ7QUFDQSxrRTtBQUNBLHFDLCtJQVJBOzs7dUxBVUFBLE9BQU9DLE9BQVAsR0FBaUIsRUFDZkMsTUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLGVBQVIsQ0FERCxFQUZGOzs7QUFNSkMsWUFBUSxDQUFFLHNDQUFrQjtBQUMxQkMscUJBQWUsRUFBRUosTUFBTSxTQUFSLEVBQW1CSyxTQUFTLElBQTVCLEVBRFcsRUFBbEIsQ0FBRixDQU5KLEVBRFM7Ozs7QUFZZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1COztBQUV6QixhQUFTQyxnQkFBVCxDQUEwQkMsTUFBMUIsRUFBa0M7QUFDaEMsWUFBTUMsa0JBQWtCLENBQUNDLDBCQUFEO0FBQ3JCLE9BQUNKLFFBQVFLLE9BQVIsQ0FBZ0IsQ0FBaEIsQ0FBRCxJQUF1QkwsUUFBUUssT0FBUixDQUFnQixDQUFoQixFQUFtQlIsYUFBbkIsS0FBcUMsS0FEdkMsQ0FBeEI7O0FBR0EsWUFBTVMsZUFBZSx1QkFBUUosT0FBT0ssS0FBZixFQUFzQlAsT0FBdEIsQ0FBckI7O0FBRUEsVUFBSU0saUJBQWlCRSxTQUFyQixFQUFnQztBQUM5QlIsZ0JBQVFTLE1BQVIsQ0FBZVAsTUFBZjtBQUNHLDZDQUFvQ0EsT0FBT0ssS0FBTSxJQURwRDtBQUVELE9BSEQ7O0FBS0ssVUFBSUosZUFBSixFQUFxQjtBQUN4QixjQUFNTyxnQkFBZ0JDLHNCQUFZQyxXQUFaLENBQXdCWixRQUFRYSxRQUFoQyxDQUF0QjtBQUNBLFlBQUksQ0FBQyxxQ0FBdUJQLFlBQXZCLEVBQXFDSSxhQUFyQyxDQUFMLEVBQTBEO0FBQ3hEVixrQkFBUVMsTUFBUixDQUFlUCxNQUFmO0FBQ0csdUJBQVlBLE9BQU9LLEtBQU0sNENBRDVCO0FBRUQ7O0FBRUY7QUFDRjs7QUFFRCxXQUFPLDZCQUFjTixnQkFBZCxFQUFnQ0QsUUFBUUssT0FBUixDQUFnQixDQUFoQixDQUFoQyxDQUFQOztBQUVELEdBckNjLEVBQWpCIiwiZmlsZSI6Im5vLXVucmVzb2x2ZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IGFuIGltcG9ydGVkIHBhdGggZXhpc3RzLCBnaXZlbiByZXNvbHV0aW9uIHJ1bGVzLlxuICogQGF1dGhvciBCZW4gTW9zaGVyXG4gKi9cblxuaW1wb3J0IHJlc29sdmUsIHsgQ0FTRV9TRU5TSVRJVkVfRlMsIGZpbGVFeGlzdHNXaXRoQ2FzZVN5bmMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IE1vZHVsZUNhY2hlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvTW9kdWxlQ2FjaGUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IsIHsgbWFrZU9wdGlvbnNTY2hlbWEgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3Byb2JsZW0nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnbm8tdW5yZXNvbHZlZCcpLFxuICAgIH0sXG5cbiAgICBzY2hlbWE6IFsgbWFrZU9wdGlvbnNTY2hlbWEoe1xuICAgICAgY2FzZVNlbnNpdGl2ZTogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICB9KV0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuXG4gICAgZnVuY3Rpb24gY2hlY2tTb3VyY2VWYWx1ZShzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNob3VsZENoZWNrQ2FzZSA9ICFDQVNFX1NFTlNJVElWRV9GUyAmJlxuICAgICAgICAoIWNvbnRleHQub3B0aW9uc1swXSB8fCBjb250ZXh0Lm9wdGlvbnNbMF0uY2FzZVNlbnNpdGl2ZSAhPT0gZmFsc2UpO1xuXG4gICAgICBjb25zdCByZXNvbHZlZFBhdGggPSByZXNvbHZlKHNvdXJjZS52YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChyZXNvbHZlZFBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChzb3VyY2UsXG4gICAgICAgICAgYFVuYWJsZSB0byByZXNvbHZlIHBhdGggdG8gbW9kdWxlICcke3NvdXJjZS52YWx1ZX0nLmApO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChzaG91bGRDaGVja0Nhc2UpIHtcbiAgICAgICAgY29uc3QgY2FjaGVTZXR0aW5ncyA9IE1vZHVsZUNhY2hlLmdldFNldHRpbmdzKGNvbnRleHQuc2V0dGluZ3MpO1xuICAgICAgICBpZiAoIWZpbGVFeGlzdHNXaXRoQ2FzZVN5bmMocmVzb2x2ZWRQYXRoLCBjYWNoZVNldHRpbmdzKSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHNvdXJjZSxcbiAgICAgICAgICAgIGBDYXNpbmcgb2YgJHtzb3VyY2UudmFsdWV9IGRvZXMgbm90IG1hdGNoIHRoZSB1bmRlcmx5aW5nIGZpbGVzeXN0ZW0uYCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVWaXNpdG9yKGNoZWNrU291cmNlVmFsdWUsIGNvbnRleHQub3B0aW9uc1swXSk7XG5cbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js b/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js index d75c7ef1e..df417818c 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js @@ -63,8 +63,8 @@ const IMPORT_DEFAULT_SPECIFIER = 'ImportDefaultSpecifier'; const VARIABLE_DECLARATION = 'VariableDeclaration'; const FUNCTION_DECLARATION = 'FunctionDeclaration'; const CLASS_DECLARATION = 'ClassDeclaration'; -const INTERFACE_DECLARATION = 'InterfaceDeclaration'; -const TYPE_ALIAS = 'TypeAlias'; +const IDENTIFIER = 'Identifier'; +const OBJECT_PATTERN = 'ObjectPattern'; const TS_INTERFACE_DECLARATION = 'TSInterfaceDeclaration'; const TS_TYPE_ALIAS_DECLARATION = 'TSTypeAliasDeclaration'; const TS_ENUM_DECLARATION = 'TSEnumDeclaration'; @@ -75,8 +75,6 @@ function forEachDeclarationIdentifier(declaration, cb) { if ( declaration.type === FUNCTION_DECLARATION || declaration.type === CLASS_DECLARATION || - declaration.type === INTERFACE_DECLARATION || - declaration.type === TYPE_ALIAS || declaration.type === TS_INTERFACE_DECLARATION || declaration.type === TS_TYPE_ALIAS_DECLARATION || declaration.type === TS_ENUM_DECLARATION) @@ -84,7 +82,15 @@ function forEachDeclarationIdentifier(declaration, cb) { cb(declaration.id.name); } else if (declaration.type === VARIABLE_DECLARATION) { declaration.declarations.forEach((_ref2) => {let id = _ref2.id; - cb(id.name); + if (id.type === OBJECT_PATTERN) { + (0, _ExportMap.recursivePatternCapture)(id, pattern => { + if (pattern.type === IDENTIFIER) { + cb(pattern.name); + } + }); + } else { + cb(id.name); + } }); } } @@ -118,7 +124,7 @@ const importList = new Map(); * keys are the paths to the modules containing the exports, while the * lower-level Map keys are the specific identifiers or special AST node names * being exported. The leaf-level metadata object at the moment only contains a - * `whereUsed` propoerty, which contains a Set of paths to modules that import + * `whereUsed` property, which contains a Set of paths to modules that import * the name. * * For example, if we have a file named bar.js containing the following exports: @@ -220,12 +226,10 @@ const prepareImportsAndExports = (srcFiles, context) => { if (isNodeModule(key)) { return; } - let localImport = imports.get(key); - if (typeof localImport !== 'undefined') { - localImport = new Set([].concat(_toConsumableArray(localImport), _toConsumableArray(value.importedSpecifiers))); - } else { - localImport = value.importedSpecifiers; - } + const localImport = imports.get(key) || new Set(); + value.declarations.forEach((_ref6) => {let importedSpecifiers = _ref6.importedSpecifiers;return ( + importedSpecifiers.forEach(specifier => localImport.add(specifier)));}); + imports.set(key, localImport); }); importList.set(file, imports); @@ -322,10 +326,10 @@ const doPreparation = (src, ignoreExports, context) => { }; const newNamespaceImportExists = specifiers => -specifiers.some((_ref6) => {let type = _ref6.type;return type === IMPORT_NAMESPACE_SPECIFIER;}); +specifiers.some((_ref7) => {let type = _ref7.type;return type === IMPORT_NAMESPACE_SPECIFIER;}); const newDefaultImportExists = specifiers => -specifiers.some((_ref7) => {let type = _ref7.type;return type === IMPORT_DEFAULT_SPECIFIER;}); +specifiers.some((_ref8) => {let type = _ref8.type;return type === IMPORT_DEFAULT_SPECIFIER;}); const fileIsInPkg = file => {var _readPkgUp$sync = _readPkgUp2.default.sync({ cwd: file, normalize: false });const path = _readPkgUp$sync.path,pkg = _readPkgUp$sync.pkg; @@ -447,13 +451,13 @@ module.exports = { - create: context => {var _ref8 = + create: context => {var _ref9 = - context.options[0] || {};const src = _ref8.src;var _ref8$ignoreExports = _ref8.ignoreExports;const ignoreExports = _ref8$ignoreExports === undefined ? [] : _ref8$ignoreExports,missingExports = _ref8.missingExports,unusedExports = _ref8.unusedExports; + context.options[0] || {};const src = _ref9.src;var _ref9$ignoreExports = _ref9.ignoreExports;const ignoreExports = _ref9$ignoreExports === undefined ? [] : _ref9$ignoreExports,missingExports = _ref9.missingExports,unusedExports = _ref9.unusedExports; if (unusedExports) { doPreparation(src, ignoreExports, context); @@ -572,7 +576,7 @@ module.exports = { const newExports = new Map(); const newExportIdentifiers = new Set(); - node.body.forEach((_ref9) => {let type = _ref9.type,declaration = _ref9.declaration,specifiers = _ref9.specifiers; + node.body.forEach((_ref10) => {let type = _ref10.type,declaration = _ref10.declaration,specifiers = _ref10.specifiers; if (type === EXPORT_DEFAULT_DECLARATION) { newExportIdentifiers.add(IMPORT_DEFAULT_SPECIFIER); } @@ -605,7 +609,7 @@ module.exports = { }); // preserve information about namespace imports - let exportAll = exports.get(EXPORT_ALL_DECLARATION); + const exportAll = exports.get(EXPORT_ALL_DECLARATION); let namespaceImports = exports.get(IMPORT_NAMESPACE_SPECIFIER); if (typeof namespaceImports === 'undefined') { @@ -904,4 +908,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnVzZWQtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJsaXN0RmlsZXNUb1Byb2Nlc3MiLCJGaWxlRW51bWVyYXRvciIsInJlcXVpcmUiLCJzcmMiLCJleHRlbnNpb25zIiwiZSIsIkFycmF5IiwiZnJvbSIsIml0ZXJhdGVGaWxlcyIsImZpbGVQYXRoIiwiaWdub3JlZCIsImZpbGVuYW1lIiwiZTEiLCJvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyIsImUyIiwicGF0dGVybnMiLCJyZWR1Y2UiLCJjYXJyeSIsInBhdHRlcm4iLCJjb25jYXQiLCJtYXAiLCJleHRlbnNpb24iLCJ0ZXN0Iiwic2xpY2UiLCJFWFBPUlRfREVGQVVMVF9ERUNMQVJBVElPTiIsIkVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTiIsIkVYUE9SVF9BTExfREVDTEFSQVRJT04iLCJJTVBPUlRfREVDTEFSQVRJT04iLCJJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiIsIklNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OIiwiRlVOQ1RJT05fREVDTEFSQVRJT04iLCJDTEFTU19ERUNMQVJBVElPTiIsIklOVEVSRkFDRV9ERUNMQVJBVElPTiIsIlRZUEVfQUxJQVMiLCJUU19JTlRFUkZBQ0VfREVDTEFSQVRJT04iLCJUU19UWVBFX0FMSUFTX0RFQ0xBUkFUSU9OIiwiVFNfRU5VTV9ERUNMQVJBVElPTiIsIkRFRkFVTFQiLCJmb3JFYWNoRGVjbGFyYXRpb25JZGVudGlmaWVyIiwiZGVjbGFyYXRpb24iLCJjYiIsInR5cGUiLCJpZCIsIm5hbWUiLCJkZWNsYXJhdGlvbnMiLCJmb3JFYWNoIiwiaW1wb3J0TGlzdCIsIk1hcCIsImV4cG9ydExpc3QiLCJpZ25vcmVkRmlsZXMiLCJTZXQiLCJmaWxlc091dHNpZGVTcmMiLCJpc05vZGVNb2R1bGUiLCJwYXRoIiwicmVzb2x2ZUZpbGVzIiwiaWdub3JlRXhwb3J0cyIsImNvbnRleHQiLCJzZXR0aW5ncyIsInNyY0ZpbGVzIiwic3JjRmlsZUxpc3QiLCJpZ25vcmVkRmlsZXNMaXN0IiwiYWRkIiwiZmlsdGVyIiwicHJlcGFyZUltcG9ydHNBbmRFeHBvcnRzIiwiZXhwb3J0QWxsIiwiZmlsZSIsImV4cG9ydHMiLCJpbXBvcnRzIiwiY3VycmVudEV4cG9ydHMiLCJFeHBvcnRzIiwiZ2V0IiwiZGVwZW5kZW5jaWVzIiwicmVleHBvcnRzIiwibG9jYWxJbXBvcnRMaXN0IiwibmFtZXNwYWNlIiwiY3VycmVudEV4cG9ydEFsbCIsImdldERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5Iiwic2V0IiwidmFsdWUiLCJrZXkiLCJ3aGVyZVVzZWQiLCJyZWV4cG9ydCIsImdldEltcG9ydCIsImxvY2FsSW1wb3J0IiwiY3VycmVudFZhbHVlIiwibG9jYWwiLCJpbXBvcnRlZFNwZWNpZmllcnMiLCJoYXMiLCJ2YWwiLCJjdXJyZW50RXhwb3J0IiwiZGV0ZXJtaW5lVXNhZ2UiLCJsaXN0VmFsdWUiLCJsaXN0S2V5IiwiY3VycmVudEltcG9ydCIsInNwZWNpZmllciIsImV4cG9ydFN0YXRlbWVudCIsImdldFNyYyIsInByb2Nlc3MiLCJjd2QiLCJsYXN0UHJlcGFyZUtleSIsImRvUHJlcGFyYXRpb24iLCJwcmVwYXJlS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsInNvcnQiLCJjbGVhciIsIm5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyIsInNwZWNpZmllcnMiLCJzb21lIiwibmV3RGVmYXVsdEltcG9ydEV4aXN0cyIsImZpbGVJc0luUGtnIiwicmVhZFBrZ1VwIiwic3luYyIsIm5vcm1hbGl6ZSIsInBrZyIsImJhc2VQYXRoIiwiY2hlY2tQa2dGaWVsZFN0cmluZyIsInBrZ0ZpZWxkIiwiY2hlY2tQa2dGaWVsZE9iamVjdCIsInBrZ0ZpZWxkRmlsZXMiLCJjaGVja1BrZ0ZpZWxkIiwicHJpdmF0ZSIsImJpbiIsImJyb3dzZXIiLCJtYWluIiwibW9kdWxlIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiZGVzY3JpcHRpb24iLCJtaW5JdGVtcyIsIml0ZW1zIiwibWluTGVuZ3RoIiwibWlzc2luZ0V4cG9ydHMiLCJ1bnVzZWRFeHBvcnRzIiwibm90IiwiZW51bSIsImFueU9mIiwicmVxdWlyZWQiLCJjcmVhdGUiLCJvcHRpb25zIiwiZ2V0RmlsZW5hbWUiLCJjaGVja0V4cG9ydFByZXNlbmNlIiwibm9kZSIsImV4cG9ydENvdW50IiwibmFtZXNwYWNlSW1wb3J0cyIsImRlbGV0ZSIsInNpemUiLCJyZXBvcnQiLCJib2R5IiwiY2hlY2tVc2FnZSIsImV4cG9ydGVkVmFsdWUiLCJleHBvcnRzS2V5IiwidXBkYXRlRXhwb3J0VXNhZ2UiLCJuZXdFeHBvcnRzIiwibmV3RXhwb3J0SWRlbnRpZmllcnMiLCJsZW5ndGgiLCJleHBvcnRlZCIsInVwZGF0ZUltcG9ydFVzYWdlIiwib2xkSW1wb3J0UGF0aHMiLCJvbGROYW1lc3BhY2VJbXBvcnRzIiwibmV3TmFtZXNwYWNlSW1wb3J0cyIsIm9sZEV4cG9ydEFsbCIsIm5ld0V4cG9ydEFsbCIsIm9sZERlZmF1bHRJbXBvcnRzIiwibmV3RGVmYXVsdEltcG9ydHMiLCJvbGRJbXBvcnRzIiwibmV3SW1wb3J0cyIsImFzdE5vZGUiLCJyZXNvbHZlZFBhdGgiLCJzb3VyY2UiLCJyYXciLCJyZXBsYWNlIiwiaW1wb3J0ZWQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BLHlDO0FBQ0E7QUFDQSxzRDtBQUNBLHFDO0FBQ0E7QUFDQSx3QztBQUNBLHVDO0FBQ0EsK0MsbVZBYkE7Ozs7c1lBZUE7QUFDQTtBQUNBLElBQUlBLGtCQUFKLENBQ0EsSUFBSSxDQUNGLE1BQU1DLGlCQUFpQkMsUUFBUSx1Q0FBUixFQUFpREQsY0FBeEU7QUFDQUQsdUJBQXFCLFVBQVVHLEdBQVYsRUFBZUMsVUFBZixFQUEyQjtBQUM5QyxVQUFNQyxJQUFJLElBQUlKLGNBQUosQ0FBbUI7QUFDM0JHLGtCQUFZQSxVQURlLEVBQW5CLENBQVY7O0FBR0EsV0FBT0UsTUFBTUMsSUFBTixD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cEYsSUFBL0I7QUFDRDtBQUNGO0FBQ0Y7QUFDRixPQWJEO0FBY0QsS0FyUUQ7O0FBdVFBLFdBQU87QUFDTCxzQkFBZ0JpRixRQUFRO0FBQ3RCVSwwQkFBa0JWLElBQWxCO0FBQ0FlLDBCQUFrQmYsSUFBbEI7QUFDQUQsNEJBQW9CQyxJQUFwQjtBQUNELE9BTEk7QUFNTCxrQ0FBNEJBLFFBQVE7QUFDbENPLG1CQUFXUCxJQUFYLEVBQWlCdEgsd0JBQWpCO0FBQ0QsT0FSSTtBQVNMLGdDQUEwQnNILFFBQVE7QUFDaENBLGFBQUt0QyxVQUFMLENBQWdCL0QsT0FBaEIsQ0FBd0JrRCxhQUFhO0FBQ2pDMEQscUJBQVdQLElBQVgsRUFBaUJuRCxVQUFVaUUsUUFBVixDQUFtQnJILElBQXBDO0FBQ0gsU0FGRDtBQUdBTCxxQ0FBNkI0RyxLQUFLM0csV0FBbEMsRUFBZ0RJLElBQUQsSUFBVTtBQUN2RDhHLHFCQUFXUCxJQUFYLEVBQWlCdkcsSUFBakI7QUFDRCxTQUZEO0FBR0QsT0FoQkksRUFBUDs7QUFrQkQsR0E1Z0JjLEVBQWpCIiwiZmlsZSI6Im5vLXVudXNlZC1tb2R1bGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZU92ZXJ2aWV3IEVuc3VyZXMgdGhhdCBtb2R1bGVzIGNvbnRhaW4gZXhwb3J0cyBhbmQvb3IgYWxsXG4gKiBtb2R1bGVzIGFyZSBjb25zdW1lZCB3aXRoaW4gb3RoZXIgbW9kdWxlcy5cbiAqIEBhdXRob3IgUmVuw6kgRmVybWFublxuICovXG5cbmltcG9ydCBFeHBvcnRzIGZyb20gJy4uL0V4cG9ydE1hcCdcbmltcG9ydCB7IGdldEZpbGVFeHRlbnNpb25zIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9pZ25vcmUnXG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnXG5pbXBvcnQgcmVhZFBrZ1VwIGZyb20gJ3JlYWQtcGtnLXVwJ1xuaW1wb3J0IHZhbHVlcyBmcm9tICdvYmplY3QudmFsdWVzJ1xuaW1wb3J0IGluY2x1ZGVzIGZyb20gJ2FycmF5LWluY2x1ZGVzJ1xuXG4vLyBlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsIGhhcyBiZWVuIG1vdmVkIHRvIGVzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzIHdpdGggdmVyc2lvbiA1LjNcbi8vIGFuZCBoYXMgYmVlbiBtb3ZlZCB0byBlc2xpbnQvbGliL2NsaS1lbmdpbmUvZmlsZS1lbnVtZXJhdG9yIGluIHZlcnNpb24gNlxubGV0IGxpc3RGaWxlc1RvUHJvY2Vzc1xudHJ5IHtcbiAgY29uc3QgRmlsZUVudW1lcmF0b3IgPSByZXF1aXJlKCdlc2xpbnQvbGliL2NsaS1lbmdpbmUvZmlsZS1lbnVtZXJhdG9yJykuRmlsZUVudW1lcmF0b3JcbiAgbGlzdEZpbGVzVG9Qcm9jZXNzID0gZnVuY3Rpb24gKHNyYywgZXh0ZW5zaW9ucykge1xuICAgIGNvbnN0IGUgPSBuZXcgRmlsZUVudW1lcmF0b3Ioe1xuICAgICAgZXh0ZW5zaW9uczogZXh0ZW5zaW9ucyxcbiAgICB9KVxuICAgIHJldHVybiBBcnJheS5mcm9tKGUuaXRlcmF0ZUZpbGVzKHNyYyksICh7IGZpbGVQYXRoLCBpZ25vcmVkIH0pID0+ICh7XG4gICAgICBpZ25vcmVkLFxuICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgIH0pKVxuICB9XG59IGNhdGNoIChlMSkge1xuICAvLyBQcmV2ZW50IHBhc3NpbmcgaW52YWxpZCBvcHRpb25zIChleHRlbnNpb25zIGFycmF5KSB0byBvbGQgdmVyc2lvbnMgb2YgdGhlIGZ1bmN0aW9uLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZXNsaW50L2VzbGludC9ibG9iL3Y1LjE2LjAvbGliL3V0aWwvZ2xvYi11dGlscy5qcyNMMTc4LUwyODBcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvYmxvYi92NS4yLjAvbGliL3V0aWwvZ2xvYi11dGlsLmpzI0wxNzQtTDI2OVxuICBsZXQgb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3NcbiAgdHJ5IHtcbiAgICBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyA9IHJlcXVpcmUoJ2VzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzJykubGlzdEZpbGVzVG9Qcm9jZXNzXG4gICAgbGlzdEZpbGVzVG9Qcm9jZXNzID0gZnVuY3Rpb24gKHNyYywgZXh0ZW5zaW9ucykge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsTGlzdEZpbGVzVG9Qcm9jZXNzKHNyYywge1xuICAgICAgICBleHRlbnNpb25zOiBleHRlbnNpb25zLFxuICAgICAgfSlcbiAgICB9XG4gIH0gY2F0Y2ggKGUyKSB7XG4gICAgb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3MgPSByZXF1aXJlKCdlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsJykubGlzdEZpbGVzVG9Qcm9jZXNzXG5cbiAgICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgICBjb25zdCBwYXR0ZXJucyA9IHNyYy5yZWR1Y2UoKGNhcnJ5LCBwYXR0ZXJuKSA9PiB7XG4gICAgICAgIHJldHVybiBjYXJyeS5jb25jYXQoZXh0ZW5zaW9ucy5tYXAoKGV4dGVuc2lvbikgPT4ge1xuICAgICAgICAgIHJldHVybiAvXFwqXFwqfFxcKlxcLi8udGVzdChwYXR0ZXJuKSA/IHBhdHRlcm4gOiBgJHtwYXR0ZXJufS8qKi8qJHtleHRlbnNpb259YFxuICAgICAgICB9KSlcbiAgICAgIH0sIHNyYy5zbGljZSgpKVxuXG4gICAgICByZXR1cm4gb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3MocGF0dGVybnMpXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IEVYUE9SVF9ERUZBVUxUX0RFQ0xBUkFUSU9OID0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbidcbmNvbnN0IEVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTiA9ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJ1xuY29uc3QgRVhQT1JUX0FMTF9ERUNMQVJBVElPTiA9ICdFeHBvcnRBbGxEZWNsYXJhdGlvbidcbmNvbnN0IElNUE9SVF9ERUNMQVJBVElPTiA9ICdJbXBvcnREZWNsYXJhdGlvbidcbmNvbnN0IElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSID0gJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcidcbmNvbnN0IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiA9ICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJ1xuY29uc3QgVkFSSUFCTEVfREVDTEFSQVRJT04gPSAnVmFyaWFibGVEZWNsYXJhdGlvbidcbmNvbnN0IEZVTkNUSU9OX0RFQ0xBUkFUSU9OID0gJ0Z1bmN0aW9uRGVjbGFyYXRpb24nXG5jb25zdCBDTEFTU19ERUNMQVJBVElPTiA9ICdDbGFzc0RlY2xhcmF0aW9uJ1xuY29uc3QgSU5URVJGQUNFX0RFQ0xBUkFUSU9OID0gJ0ludGVyZmFjZURlY2xhcmF0aW9uJ1xuY29uc3QgVFlQRV9BTElBUyA9ICdUeXBlQWxpYXMnXG5jb25zdCBUU19JTlRFUkZBQ0VfREVDTEFSQVRJT04gPSAnVFNJbnRlcmZhY2VEZWNsYXJhdGlvbidcbmNvbnN0IFRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04gPSAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbidcbmNvbnN0IFRTX0VOVU1fREVDTEFSQVRJT04gPSAnVFNFbnVtRGVjbGFyYXRpb24nXG5jb25zdCBERUZBVUxUID0gJ2RlZmF1bHQnXG5cbmZ1bmN0aW9uIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIGNiKSB7XG4gIGlmIChkZWNsYXJhdGlvbikge1xuICAgIGlmIChcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IEZVTkNUSU9OX0RFQ0xBUkFUSU9OIHx8XG4gICAgICBkZWNsYXJhdGlvbi50eXBlID09PSBDTEFTU19ERUNMQVJBVElPTiB8fFxuICAgICAgZGVjbGFyYXRpb24udHlwZSA9PT0gSU5URVJGQUNFX0RFQ0xBUkFUSU9OIHx8XG4gICAgICBkZWNsYXJhdGlvbi50eXBlID09PSBUWVBFX0FMSUFTIHx8XG4gICAgICBkZWNsYXJhdGlvbi50eXBlID09PSBUU19JTlRFUkZBQ0VfREVDTEFSQVRJT04gfHxcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04gfHxcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFRTX0VOVU1fREVDTEFSQVRJT05cbiAgICApIHtcbiAgICAgIGNiKGRlY2xhcmF0aW9uLmlkLm5hbWUpXG4gICAgfSBlbHNlIGlmIChkZWNsYXJhdGlvbi50eXBlID09PSBWQVJJQUJMRV9ERUNMQVJBVElPTikge1xuICAgICAgZGVjbGFyYXRpb24uZGVjbGFyYXRpb25zLmZvckVhY2goKHsgaWQgfSkgPT4ge1xuICAgICAgICBjYihpZC5uYW1lKVxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0IG9mIGltcG9ydHMgcGVyIGZpbGUuXG4gKlxuICogUmVwcmVzZW50ZWQgYnkgYSB0d28tbGV2ZWwgTWFwIHRvIGEgU2V0IG9mIGlkZW50aWZpZXJzLiBUaGUgdXBwZXItbGV2ZWwgTWFwXG4gKiBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIG1vZHVsZXMgY29udGFpbmluZyB0aGUgaW1wb3J0cywgd2hpbGUgdGhlXG4gKiBsb3dlci1sZXZlbCBNYXAga2V5cyBhcmUgdGhlIHBhdGhzIHRvIHRoZSBmaWxlcyB3aGljaCBhcmUgYmVpbmcgaW1wb3J0ZWRcbiAqIGZyb20uIExhc3RseSwgdGhlIFNldCBvZiBpZGVudGlmaWVycyBjb250YWlucyBlaXRoZXIgbmFtZXMgYmVpbmcgaW1wb3J0ZWRcbiAqIG9yIGEgc3BlY2lhbCBBU1Qgbm9kZSBuYW1lIGxpc3RlZCBhYm92ZSAoZS5nIEltcG9ydERlZmF1bHRTcGVjaWZpZXIpLlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiB3ZSBoYXZlIGEgZmlsZSBuYW1lZCBmb28uanMgY29udGFpbmluZzpcbiAqXG4gKiAgIGltcG9ydCB7IG8yIH0gZnJvbSAnLi9iYXIuanMnO1xuICpcbiAqIFRoZW4gd2Ugd2lsbCBoYXZlIGEgc3RydWN0dXJlIHRoYXQgbG9va3MgbGlrZTpcbiAqXG4gKiAgIE1hcCB7ICdmb28uanMnID0+IE1hcCB7ICdiYXIuanMnID0+IFNldCB7ICdvMicgfSB9IH1cbiAqXG4gKiBAdHlwZSB7TWFwPHN0cmluZywgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+Pn1cbiAqL1xuY29uc3QgaW1wb3J0TGlzdCA9IG5ldyBNYXAoKVxuXG4vKipcbiAqIExpc3Qgb2YgZXhwb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYW4gb2JqZWN0IG9mIG1ldGFkYXRhLiBUaGUgdXBwZXItbGV2ZWwgTWFwXG4gKiBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIG1vZHVsZXMgY29udGFpbmluZyB0aGUgZXhwb3J0cywgd2hpbGUgdGhlXG4gKiBsb3dlci1sZXZlbCBNYXAga2V5cyBhcmUgdGhlIHNwZWNpZmljIGlkZW50aWZpZXJzIG9yIHNwZWNpYWwgQVNUIG5vZGUgbmFtZXNcbiAqIGJlaW5nIGV4cG9ydGVkLiBUaGUgbGVhZi1sZXZlbCBtZXRhZGF0YSBvYmplY3QgYXQgdGhlIG1vbWVudCBvbmx5IGNvbnRhaW5zIGFcbiAqIGB3aGVyZVVzZWRgIHByb3BvZXJ0eSwgd2hpY2ggY29udGFpbnMgYSBTZXQgb2YgcGF0aHMgdG8gbW9kdWxlcyB0aGF0IGltcG9ydFxuICogdGhlIG5hbWUuXG4gKlxuICogRm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUgYSBmaWxlIG5hbWVkIGJhci5qcyBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgZXhwb3J0czpcbiAqXG4gKiAgIGNvbnN0IG8yID0gJ2Jhcic7XG4gKiAgIGV4cG9ydCB7IG8yIH07XG4gKlxuICogQW5kIGEgZmlsZSBuYW1lZCBmb28uanMgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIGltcG9ydDpcbiAqXG4gKiAgIGltcG9ydCB7IG8yIH0gZnJvbSAnLi9iYXIuanMnO1xuICpcbiAqIFRoZW4gd2Ugd2lsbCBoYXZlIGEgc3RydWN0dXJlIHRoYXQgbG9va3MgbGlrZTpcbiAqXG4gKiAgIE1hcCB7ICdiYXIuanMnID0+IE1hcCB7ICdvMicgPT4geyB3aGVyZVVzZWQ6IFNldCB7ICdmb28uanMnIH0gfSB9IH1cbiAqXG4gKiBAdHlwZSB7TWFwPHN0cmluZywgTWFwPHN0cmluZywgb2JqZWN0Pj59XG4gKi9cbmNvbnN0IGV4cG9ydExpc3QgPSBuZXcgTWFwKClcblxuY29uc3QgaWdub3JlZEZpbGVzID0gbmV3IFNldCgpXG5jb25zdCBmaWxlc091dHNpZGVTcmMgPSBuZXcgU2V0KClcblxuY29uc3QgaXNOb2RlTW9kdWxlID0gcGF0aCA9PiB7XG4gIHJldHVybiAvXFwvKG5vZGVfbW9kdWxlcylcXC8vLnRlc3QocGF0aClcbn1cblxuLyoqXG4gKiByZWFkIGFsbCBmaWxlcyBtYXRjaGluZyB0aGUgcGF0dGVybnMgaW4gc3JjIGFuZCBpZ25vcmVFeHBvcnRzXG4gKlxuICogcmV0dXJuIGFsbCBmaWxlcyBtYXRjaGluZyBzcmMgcGF0dGVybiwgd2hpY2ggYXJlIG5vdCBtYXRjaGluZyB0aGUgaWdub3JlRXhwb3J0cyBwYXR0ZXJuXG4gKi9cbmNvbnN0IHJlc29sdmVGaWxlcyA9IChzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgZXh0ZW5zaW9ucyA9IEFycmF5LmZyb20oZ2V0RmlsZUV4dGVuc2lvbnMoY29udGV4dC5zZXR0aW5ncykpXG5cbiAgY29uc3Qgc3JjRmlsZXMgPSBuZXcgU2V0KClcbiAgY29uc3Qgc3JjRmlsZUxpc3QgPSBsaXN0RmlsZXNUb1Byb2Nlc3Moc3JjLCBleHRlbnNpb25zKVxuXG4gIC8vIHByZXBhcmUgbGlzdCBvZiBpZ25vcmVkIGZpbGVzXG4gIGNvbnN0IGlnbm9yZWRGaWxlc0xpc3QgPSAgbGlzdEZpbGVzVG9Qcm9jZXNzKGlnbm9yZUV4cG9ydHMsIGV4dGVuc2lvbnMpXG4gIGlnbm9yZWRGaWxlc0xpc3QuZm9yRWFjaCgoeyBmaWxlbmFtZSB9KSA9PiBpZ25vcmVkRmlsZXMuYWRkKGZpbGVuYW1lKSlcblxuICAvLyBwcmVwYXJlIGxpc3Qgb2Ygc291cmNlIGZpbGVzLCBkb24ndCBjb25zaWRlciBmaWxlcyBmcm9tIG5vZGVfbW9kdWxlc1xuICBzcmNGaWxlTGlzdC5maWx0ZXIoKHsgZmlsZW5hbWUgfSkgPT4gIWlzTm9kZU1vZHVsZShmaWxlbmFtZSkpLmZvckVhY2goKHsgZmlsZW5hbWUgfSkgPT4ge1xuICAgIHNyY0ZpbGVzLmFkZChmaWxlbmFtZSlcbiAgfSlcbiAgcmV0dXJuIHNyY0ZpbGVzXG59XG5cbi8qKlxuICogcGFyc2UgYWxsIHNvdXJjZSBmaWxlcyBhbmQgYnVpbGQgdXAgMiBtYXBzIGNvbnRhaW5pbmcgdGhlIGV4aXN0aW5nIGltcG9ydHMgYW5kIGV4cG9ydHNcbiAqL1xuY29uc3QgcHJlcGFyZUltcG9ydHNBbmRFeHBvcnRzID0gKHNyY0ZpbGVzLCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IGV4cG9ydEFsbCA9IG5ldyBNYXAoKVxuICBzcmNGaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgIGNvbnN0IGV4cG9ydHMgPSBuZXcgTWFwKClcbiAgICBjb25zdCBpbXBvcnRzID0gbmV3IE1hcCgpXG4gICAgY29uc3QgY3VycmVudEV4cG9ydHMgPSBFeHBvcnRzLmdldChmaWxlLCBjb250ZXh0KVxuICAgIGlmIChjdXJyZW50RXhwb3J0cykge1xuICAgICAgY29uc3QgeyBkZXBlbmRlbmNpZXMsIHJlZXhwb3J0cywgaW1wb3J0czogbG9jYWxJbXBvcnRMaXN0LCBuYW1lc3BhY2UgIH0gPSBjdXJyZW50RXhwb3J0c1xuXG4gICAgICAvLyBkZXBlbmRlbmNpZXMgPT09IGV4cG9ydCAqIGZyb21cbiAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnRBbGwgPSBuZXcgU2V0KClcbiAgICAgIGRlcGVuZGVuY2llcy5mb3JFYWNoKGdldERlcGVuZGVuY3kgPT4ge1xuICAgICAgICBjb25zdCBkZXBlbmRlbmN5ID0gZ2V0RGVwZW5kZW5jeSgpXG4gICAgICAgIGlmIChkZXBlbmRlbmN5ID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RXhwb3J0QWxsLmFkZChkZXBlbmRlbmN5LnBhdGgpXG4gICAgICB9KVxuICAgICAgZXhwb3J0QWxsLnNldChmaWxlLCBjdXJyZW50RXhwb3J0QWxsKVxuXG4gICAgICByZWV4cG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVleHBvcnQgPSAgdmFsdWUuZ2V0SW1wb3J0KClcbiAgICAgICAgaWYgKCFyZWV4cG9ydCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGxldCBsb2NhbEltcG9ydCA9IGltcG9ydHMuZ2V0KHJlZXhwb3J0LnBhdGgpXG4gICAgICAgIGxldCBjdXJyZW50VmFsdWVcbiAgICAgICAgaWYgKHZhbHVlLmxvY2FsID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gdmFsdWUubG9jYWxcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGxvY2FsSW1wb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGxvY2FsSW1wb3J0ID0gbmV3IFNldChbLi4ubG9jYWxJbXBvcnQsIGN1cnJlbnRWYWx1ZV0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFtjdXJyZW50VmFsdWVdKVxuICAgICAgICB9XG4gICAgICAgIGltcG9ydHMuc2V0KHJlZXhwb3J0LnBhdGgsIGxvY2FsSW1wb3J0KVxuICAgICAgfSlcblxuICAgICAgbG9jYWxJbXBvcnRMaXN0LmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGlzTm9kZU1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxvY2FsSW1wb3J0ID0gaW1wb3J0cy5nZXQoa2V5KVxuICAgICAgICBpZiAodHlwZW9mIGxvY2FsSW1wb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGxvY2FsSW1wb3J0ID0gbmV3IFNldChbLi4ubG9jYWxJbXBvcnQsIC4uLnZhbHVlLmltcG9ydGVkU3BlY2lmaWVyc10pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSB2YWx1ZS5pbXBvcnRlZFNwZWNpZmllcnNcbiAgICAgICAgfVxuICAgICAgICBpbXBvcnRzLnNldChrZXksIGxvY2FsSW1wb3J0KVxuICAgICAgfSlcbiAgICAgIGltcG9ydExpc3Quc2V0KGZpbGUsIGltcG9ydHMpXG5cbiAgICAgIC8vIGJ1aWxkIHVwIGV4cG9ydCBsaXN0IG9ubHksIGlmIGZpbGUgaXMgbm90IGlnbm9yZWRcbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgbmFtZXNwYWNlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gREVGQVVMVCkge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICBleHBvcnRzLnNldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pXG4gICAgZXhwb3J0cy5zZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfSlcbiAgICBleHBvcnRMaXN0LnNldChmaWxlLCBleHBvcnRzKVxuICB9KVxuICBleHBvcnRBbGwuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgIHZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsKVxuICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGN1cnJlbnRFeHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKVxuICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGtleSlcbiAgICB9KVxuICB9KVxufVxuXG4vKipcbiAqIHRyYXZlcnNlIHRocm91Z2ggYWxsIGltcG9ydHMgYW5kIGFkZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHRvIHRoZSB3aGVyZVVzZWQtbGlzdFxuICogb2YgdGhlIGNvcnJlc3BvbmRpbmcgZXhwb3J0XG4gKi9cbmNvbnN0IGRldGVybWluZVVzYWdlID0gKCkgPT4ge1xuICBpbXBvcnRMaXN0LmZvckVhY2goKGxpc3RWYWx1ZSwgbGlzdEtleSkgPT4ge1xuICAgIGxpc3RWYWx1ZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoa2V5KVxuICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGN1cnJlbnRJbXBvcnQgPT4ge1xuICAgICAgICAgIGxldCBzcGVjaWZpZXJcbiAgICAgICAgICBpZiAoY3VycmVudEltcG9ydCA9PT0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgIHNwZWNpZmllciA9IElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSXG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgIHNwZWNpZmllciA9IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzcGVjaWZpZXIgPSBjdXJyZW50SW1wb3J0XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2Ygc3BlY2lmaWVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0U3RhdGVtZW50ID0gZXhwb3J0cy5nZXQoc3BlY2lmaWVyKVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgd2hlcmVVc2VkIH0gPSBleHBvcnRTdGF0ZW1lbnRcbiAgICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChsaXN0S2V5KVxuICAgICAgICAgICAgICBleHBvcnRzLnNldChzcGVjaWZpZXIsIHsgd2hlcmVVc2VkIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gIH0pXG59XG5cbmNvbnN0IGdldFNyYyA9IHNyYyA9PiB7XG4gIGlmIChzcmMpIHtcbiAgICByZXR1cm4gc3JjXG4gIH1cbiAgcmV0dXJuIFtwcm9jZXNzLmN3ZCgpXVxufVxuXG4vKipcbiAqIHByZXBhcmUgdGhlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgYW5kIGV4cG9ydHMgLSBzaG91bGQgb25seSBiZSBleGVjdXRlZCBvbmNlIGF0XG4gKiB0aGUgc3RhcnQgb2YgYSBuZXcgZXNsaW50IHJ1blxuICovXG5sZXQgc3JjRmlsZXNcbmxldCBsYXN0UHJlcGFyZUtleVxuY29uc3QgZG9QcmVwYXJhdGlvbiA9IChzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgcHJlcGFyZUtleSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBzcmM6IChzcmMgfHwgW10pLnNvcnQoKSxcbiAgICBpZ25vcmVFeHBvcnRzOiAoaWdub3JlRXhwb3J0cyB8fCBbXSkuc29ydCgpLFxuICAgIGV4dGVuc2lvbnM6IEFycmF5LmZyb20oZ2V0RmlsZUV4dGVuc2lvbnMoY29udGV4dC5zZXR0aW5ncykpLnNvcnQoKSxcbiAgfSlcbiAgaWYgKHByZXBhcmVLZXkgPT09IGxhc3RQcmVwYXJlS2V5KSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpbXBvcnRMaXN0LmNsZWFyKClcbiAgZXhwb3J0TGlzdC5jbGVhcigpXG4gIGlnbm9yZWRGaWxlcy5jbGVhcigpXG4gIGZpbGVzT3V0c2lkZVNyYy5jbGVhcigpXG5cbiAgc3JjRmlsZXMgPSByZXNvbHZlRmlsZXMoZ2V0U3JjKHNyYyksIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpXG4gIHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyhzcmNGaWxlcywgY29udGV4dClcbiAgZGV0ZXJtaW5lVXNhZ2UoKVxuICBsYXN0UHJlcGFyZUtleSA9IHByZXBhcmVLZXlcbn1cblxuY29uc3QgbmV3TmFtZXNwYWNlSW1wb3J0RXhpc3RzID0gc3BlY2lmaWVycyA9PlxuICBzcGVjaWZpZXJzLnNvbWUoKHsgdHlwZSB9KSA9PiB0eXBlID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUilcblxuY29uc3QgbmV3RGVmYXVsdEltcG9ydEV4aXN0cyA9IHNwZWNpZmllcnMgPT5cbiAgc3BlY2lmaWVycy5zb21lKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKVxuXG5jb25zdCBmaWxlSXNJblBrZyA9IGZpbGUgPT4ge1xuICBjb25zdCB7IHBhdGgsIHBrZyB9ID0gcmVhZFBrZ1VwLnN5bmMoe2N3ZDogZmlsZSwgbm9ybWFsaXplOiBmYWxzZX0pXG4gIGNvbnN0IGJhc2VQYXRoID0gZGlybmFtZShwYXRoKVxuXG4gIGNvbnN0IGNoZWNrUGtnRmllbGRTdHJpbmcgPSBwa2dGaWVsZCA9PiB7XG4gICAgaWYgKGpvaW4oYmFzZVBhdGgsIHBrZ0ZpZWxkKSA9PT0gZmlsZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICB9XG5cbiAgY29uc3QgY2hlY2tQa2dGaWVsZE9iamVjdCA9IHBrZ0ZpZWxkID0+IHtcbiAgICAgIGNvbnN0IHBrZ0ZpZWxkRmlsZXMgPSB2YWx1ZXMocGtnRmllbGQpLm1hcCh2YWx1ZSA9PiBqb2luKGJhc2VQYXRoLCB2YWx1ZSkpXG4gICAgICBpZiAoaW5jbHVkZXMocGtnRmllbGRGaWxlcywgZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNoZWNrUGtnRmllbGQgPSBwa2dGaWVsZCA9PiB7XG4gICAgaWYgKHR5cGVvZiBwa2dGaWVsZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBjaGVja1BrZ0ZpZWxkU3RyaW5nKHBrZ0ZpZWxkKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcGtnRmllbGQgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gY2hlY2tQa2dGaWVsZE9iamVjdChwa2dGaWVsZClcbiAgICB9XG4gIH1cblxuICBpZiAocGtnLnByaXZhdGUgPT09IHRydWUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGlmIChwa2cuYmluKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGQocGtnLmJpbikpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgaWYgKHBrZy5icm93c2VyKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGQocGtnLmJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIGlmIChwa2cubWFpbikge1xuICAgIGlmIChjaGVja1BrZ0ZpZWxkU3RyaW5nKHBrZy5tYWluKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczogeyB1cmw6IGRvY3NVcmwoJ25vLXVudXNlZC1tb2R1bGVzJykgfSxcbiAgICBzY2hlbWE6IFt7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNyYzoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnZmlsZXMvcGF0aHMgdG8gYmUgYW5hbHl6ZWQgKG9ubHkgZm9yIHVudXNlZCBleHBvcnRzKScsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaWdub3JlRXhwb3J0czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ2ZpbGVzL3BhdGhzIGZvciB3aGljaCB1bnVzZWQgZXhwb3J0cyB3aWxsIG5vdCBiZSByZXBvcnRlZCAoZS5nIG1vZHVsZSBlbnRyeSBwb2ludHMpJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtaXNzaW5nRXhwb3J0czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAncmVwb3J0IG1vZHVsZXMgd2l0aG91dCBhbnkgZXhwb3J0cycsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICB1bnVzZWRFeHBvcnRzOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdyZXBvcnQgZXhwb3J0cyB3aXRob3V0IGFueSB1c2FnZScsXG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5vdDoge1xuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdW51c2VkRXhwb3J0czogeyBlbnVtOiBbZmFsc2VdIH0sXG4gICAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHsgZW51bTogW2ZhbHNlXSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGFueU9mOlt7XG4gICAgICAgIG5vdDoge1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVudXNlZEV4cG9ydHM6IHsgZW51bTogW3RydWVdIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnbWlzc2luZ0V4cG9ydHMnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgbm90OiB7XG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHsgZW51bTogW3RydWVdIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsndW51c2VkRXhwb3J0cyddLFxuICAgICAgfSwge1xuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdW51c2VkRXhwb3J0czogeyBlbnVtOiBbdHJ1ZV0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsndW51c2VkRXhwb3J0cyddLFxuICAgICAgfSwge1xuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHsgZW51bTogW3RydWVdIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ21pc3NpbmdFeHBvcnRzJ10sXG4gICAgICB9XSxcbiAgICB9XSxcbiAgfSxcblxuICBjcmVhdGU6IGNvbnRleHQgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHNyYyxcbiAgICAgIGlnbm9yZUV4cG9ydHMgPSBbXSxcbiAgICAgIG1pc3NpbmdFeHBvcnRzLFxuICAgICAgdW51c2VkRXhwb3J0cyxcbiAgICB9ID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9XG5cbiAgICBpZiAodW51c2VkRXhwb3J0cykge1xuICAgICAgZG9QcmVwYXJhdGlvbihzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpXG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKVxuXG4gICAgY29uc3QgY2hlY2tFeHBvcnRQcmVzZW5jZSA9IG5vZGUgPT4ge1xuICAgICAgaWYgKCFtaXNzaW5nRXhwb3J0cykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV4cG9ydENvdW50ID0gZXhwb3J0TGlzdC5nZXQoZmlsZSlcbiAgICAgIGNvbnN0IGV4cG9ydEFsbCA9IGV4cG9ydENvdW50LmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKVxuICAgICAgY29uc3QgbmFtZXNwYWNlSW1wb3J0cyA9IGV4cG9ydENvdW50LmdldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUilcblxuICAgICAgZXhwb3J0Q291bnQuZGVsZXRlKEVYUE9SVF9BTExfREVDTEFSQVRJT04pXG4gICAgICBleHBvcnRDb3VudC5kZWxldGUoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpXG4gICAgICBpZiAoZXhwb3J0Q291bnQuc2l6ZSA8IDEpIHtcbiAgICAgICAgLy8gbm9kZS5ib2R5WzBdID09PSAndW5kZWZpbmVkJyBvbmx5IGhhcHBlbnMsIGlmIGV2ZXJ5dGhpbmcgaXMgY29tbWVudGVkIG91dCBpbiB0aGUgZmlsZVxuICAgICAgICAvLyBiZWluZyBsaW50ZWRcbiAgICAgICAgY29udGV4dC5yZXBvcnQobm9kZS5ib2R5WzBdID8gbm9kZS5ib2R5WzBdIDogbm9kZSwgJ05vIGV4cG9ydHMgZm91bmQnKVxuICAgICAgfVxuICAgICAgZXhwb3J0Q291bnQuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIGV4cG9ydEFsbClcbiAgICAgIGV4cG9ydENvdW50LnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cylcbiAgICB9XG5cbiAgICBjb25zdCBjaGVja1VzYWdlID0gKG5vZGUsIGV4cG9ydGVkVmFsdWUpID0+IHtcbiAgICAgIGlmICghdW51c2VkRXhwb3J0cykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlSXNJblBrZyhmaWxlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbGVzT3V0c2lkZVNyYy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIG1ha2Ugc3VyZSBmaWxlIHRvIGJlIGxpbnRlZCBpcyBpbmNsdWRlZCBpbiBzb3VyY2UgZmlsZXNcbiAgICAgIGlmICghc3JjRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHNyY0ZpbGVzID0gcmVzb2x2ZUZpbGVzKGdldFNyYyhzcmMpLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KVxuICAgICAgICBpZiAoIXNyY0ZpbGVzLmhhcyhmaWxlKSkge1xuICAgICAgICAgIGZpbGVzT3V0c2lkZVNyYy5hZGQoZmlsZSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoZmlsZSlcblxuICAgICAgLy8gc3BlY2lhbCBjYXNlOiBleHBvcnQgKiBmcm9tXG4gICAgICBjb25zdCBleHBvcnRBbGwgPSBleHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKVxuICAgICAgaWYgKHR5cGVvZiBleHBvcnRBbGwgIT09ICd1bmRlZmluZWQnICYmIGV4cG9ydGVkVmFsdWUgIT09IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUikge1xuICAgICAgICBpZiAoZXhwb3J0QWxsLndoZXJlVXNlZC5zaXplID4gMCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNwZWNpYWwgY2FzZTogbmFtZXNwYWNlIGltcG9ydFxuICAgICAgY29uc3QgbmFtZXNwYWNlSW1wb3J0cyA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKVxuICAgICAgaWYgKHR5cGVvZiBuYW1lc3BhY2VJbXBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAobmFtZXNwYWNlSW1wb3J0cy53aGVyZVVzZWQuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBleHBvcnRzTGlzdCB3aWxsIGFsd2F5cyBtYXAgYW55IGltcG9ydGVkIHZhbHVlIG9mICdkZWZhdWx0JyB0byAnSW1wb3J0RGVmYXVsdFNwZWNpZmllcidcbiAgICAgIGNvbnN0IGV4cG9ydHNLZXkgPSBleHBvcnRlZFZhbHVlID09PSBERUZBVUxUID8gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSIDogZXhwb3J0ZWRWYWx1ZVxuXG4gICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChleHBvcnRzS2V5KVxuXG4gICAgICBjb25zdCB2YWx1ZSA9IGV4cG9ydHNLZXkgPT09IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiA/IERFRkFVTFQgOiBleHBvcnRzS2V5XG5cbiAgICAgIGlmICh0eXBlb2YgZXhwb3J0U3RhdGVtZW50ICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICAgIGlmIChleHBvcnRTdGF0ZW1lbnQud2hlcmVVc2VkLnNpemUgPCAxKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZXh0LnJlcG9ydChcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIGBleHBvcnRlZCBkZWNsYXJhdGlvbiAnJHt2YWx1ZX0nIG5vdCB1c2VkIHdpdGhpbiBvdGhlciBtb2R1bGVzYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGV4cG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVFeHBvcnRVc2FnZSA9IG5vZGUgPT4ge1xuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoZmlsZSlcblxuICAgICAgLy8gbmV3IG1vZHVsZSBoYXMgYmVlbiBjcmVhdGVkIGR1cmluZyBydW50aW1lXG4gICAgICAvLyBpbmNsdWRlIGl0IGluIGZ1cnRoZXIgcHJvY2Vzc2luZ1xuICAgICAgaWYgKHR5cGVvZiBleHBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0V4cG9ydHMgPSBuZXcgTWFwKClcbiAgICAgIGNvbnN0IG5ld0V4cG9ydElkZW50aWZpZXJzID0gbmV3IFNldCgpXG5cbiAgICAgIG5vZGUuYm9keS5mb3JFYWNoKCh7IHR5cGUsIGRlY2xhcmF0aW9uLCBzcGVjaWZpZXJzIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGUgPT09IEVYUE9SVF9ERUZBVUxUX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgbmV3RXhwb3J0SWRlbnRpZmllcnMuYWRkKElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUilcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgaWYgKHNwZWNpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3BlY2lmaWVycy5mb3JFYWNoKHNwZWNpZmllciA9PiB7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXIuZXhwb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQoc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQobmFtZSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICAvLyBvbGQgZXhwb3J0cyBleGlzdCB3aXRoaW4gbGlzdCBvZiBuZXcgZXhwb3J0cyBpZGVudGlmaWVyczogYWRkIHRvIG1hcCBvZiBuZXcgZXhwb3J0c1xuICAgICAgZXhwb3J0cy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChuZXdFeHBvcnRJZGVudGlmaWVycy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgdmFsdWUpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIG5ldyBleHBvcnQgaWRlbnRpZmllcnMgYWRkZWQ6IGFkZCB0byBtYXAgb2YgbmV3IGV4cG9ydHNcbiAgICAgIG5ld0V4cG9ydElkZW50aWZpZXJzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKCFleHBvcnRzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgbmV3RXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIHByZXNlcnZlIGluZm9ybWF0aW9uIGFib3V0IG5hbWVzcGFjZSBpbXBvcnRzXG4gICAgICBsZXQgZXhwb3J0QWxsID0gZXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTilcbiAgICAgIGxldCBuYW1lc3BhY2VJbXBvcnRzID0gZXhwb3J0cy5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpXG5cbiAgICAgIGlmICh0eXBlb2YgbmFtZXNwYWNlSW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgbmFtZXNwYWNlSW1wb3J0cyA9IHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfVxuICAgICAgfVxuXG4gICAgICBuZXdFeHBvcnRzLnNldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OLCBleHBvcnRBbGwpXG4gICAgICBuZXdFeHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cylcbiAgICAgIGV4cG9ydExpc3Quc2V0KGZpbGUsIG5ld0V4cG9ydHMpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVJbXBvcnRVc2FnZSA9IG5vZGUgPT4ge1xuICAgICAgaWYgKCF1bnVzZWRFeHBvcnRzKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBsZXQgb2xkSW1wb3J0UGF0aHMgPSBpbXBvcnRMaXN0LmdldChmaWxlKVxuICAgICAgaWYgKHR5cGVvZiBvbGRJbXBvcnRQYXRocyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgb2xkSW1wb3J0UGF0aHMgPSBuZXcgTWFwKClcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb2xkTmFtZXNwYWNlSW1wb3J0cyA9IG5ldyBTZXQoKVxuICAgICAgY29uc3QgbmV3TmFtZXNwYWNlSW1wb3J0cyA9IG5ldyBTZXQoKVxuXG4gICAgICBjb25zdCBvbGRFeHBvcnRBbGwgPSBuZXcgU2V0KClcbiAgICAgIGNvbnN0IG5ld0V4cG9ydEFsbCA9IG5ldyBTZXQoKVxuXG4gICAgICBjb25zdCBvbGREZWZhdWx0SW1wb3J0cyA9IG5ldyBTZXQoKVxuICAgICAgY29uc3QgbmV3RGVmYXVsdEltcG9ydHMgPSBuZXcgU2V0KClcblxuICAgICAgY29uc3Qgb2xkSW1wb3J0cyA9IG5ldyBNYXAoKVxuICAgICAgY29uc3QgbmV3SW1wb3J0cyA9IG5ldyBNYXAoKVxuICAgICAgb2xkSW1wb3J0UGF0aHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuaGFzKEVYUE9SVF9BTExfREVDTEFSQVRJT04pKSB7XG4gICAgICAgICAgb2xkRXhwb3J0QWxsLmFkZChrZXkpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmhhcyhJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUikpIHtcbiAgICAgICAgICBvbGROYW1lc3BhY2VJbXBvcnRzLmFkZChrZXkpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmhhcyhJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpKSB7XG4gICAgICAgICAgb2xkRGVmYXVsdEltcG9ydHMuYWRkKGtleSlcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZS5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgICAgaWYgKHZhbCAhPT0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIgJiZcbiAgICAgICAgICAgICAgdmFsICE9PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgICAgIG9sZEltcG9ydHMuc2V0KHZhbCwga2V5KVxuICAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIG5vZGUuYm9keS5mb3JFYWNoKGFzdE5vZGUgPT4ge1xuICAgICAgICBsZXQgcmVzb2x2ZWRQYXRoXG5cbiAgICAgICAgLy8gc3VwcG9ydCBmb3IgZXhwb3J0IHsgdmFsdWUgfSBmcm9tICdtb2R1bGUnXG4gICAgICAgIGlmIChhc3ROb2RlLnR5cGUgPT09IEVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTikge1xuICAgICAgICAgIGlmIChhc3ROb2RlLnNvdXJjZSkge1xuICAgICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dClcbiAgICAgICAgICAgIGFzdE5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKHNwZWNpZmllciA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBzcGVjaWZpZXIubG9jYWwubmFtZVxuICAgICAgICAgICAgICBpZiAoc3BlY2lmaWVyLmxvY2FsLm5hbWUgPT09IERFRkFVTFQpIHtcbiAgICAgICAgICAgICAgICBuZXdEZWZhdWx0SW1wb3J0cy5hZGQocmVzb2x2ZWRQYXRoKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld0ltcG9ydHMuc2V0KG5hbWUsIHJlc29sdmVkUGF0aClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXN0Tm9kZS50eXBlID09PSBFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dClcbiAgICAgICAgICBuZXdFeHBvcnRBbGwuYWRkKHJlc29sdmVkUGF0aClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhc3ROb2RlLnR5cGUgPT09IElNUE9SVF9ERUNMQVJBVElPTikge1xuICAgICAgICAgIHJlc29sdmVkUGF0aCA9IHJlc29sdmUoYXN0Tm9kZS5zb3VyY2UucmF3LnJlcGxhY2UoLygnfFwiKS9nLCAnJyksIGNvbnRleHQpXG4gICAgICAgICAgaWYgKCFyZXNvbHZlZFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc05vZGVNb2R1bGUocmVzb2x2ZWRQYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyhhc3ROb2RlLnNwZWNpZmllcnMpKSB7XG4gICAgICAgICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmFkZChyZXNvbHZlZFBhdGgpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5ld0RlZmF1bHRJbXBvcnRFeGlzdHMoYXN0Tm9kZS5zcGVjaWZpZXJzKSkge1xuICAgICAgICAgICAgbmV3RGVmYXVsdEltcG9ydHMuYWRkKHJlc29sdmVkUGF0aClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhc3ROb2RlLnNwZWNpZmllcnMuZm9yRWFjaChzcGVjaWZpZXIgPT4ge1xuICAgICAgICAgICAgaWYgKHNwZWNpZmllci50eXBlID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgfHxcbiAgICAgICAgICAgICAgICBzcGVjaWZpZXIudHlwZSA9PT0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdJbXBvcnRzLnNldChzcGVjaWZpZXIuaW1wb3J0ZWQubmFtZSwgcmVzb2x2ZWRQYXRoKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIG5ld0V4cG9ydEFsbC5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKCFvbGRFeHBvcnRBbGwuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGxldCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKVxuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KClcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTilcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpXG5cbiAgICAgICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKVxuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKClcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmFkZChmaWxlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB3aGVyZVVzZWQgPSBuZXcgU2V0KClcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSlcbiAgICAgICAgICAgIGV4cG9ydHMuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIHsgd2hlcmVVc2VkIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBvbGRFeHBvcnRBbGwuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghbmV3RXhwb3J0QWxsLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKVxuICAgICAgICAgIGltcG9ydHMuZGVsZXRlKEVYUE9SVF9BTExfREVDTEFSQVRJT04pXG5cbiAgICAgICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpXG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pXG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgbmV3RGVmYXVsdEltcG9ydHMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghb2xkRGVmYXVsdEltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGxldCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKVxuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KClcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKVxuICAgICAgICAgIG9sZEltcG9ydFBhdGhzLnNldCh2YWx1ZSwgaW1wb3J0cylcblxuICAgICAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpXG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnRcbiAgICAgICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0ID0gZXhwb3J0cy5nZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpXG4gICAgICAgICAgICBleHBvcnRMaXN0LnNldCh2YWx1ZSwgZXhwb3J0cylcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgd2hlcmVVc2VkID0gbmV3IFNldCgpXG4gICAgICAgICAgICB3aGVyZVVzZWQuYWRkKGZpbGUpXG4gICAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBvbGREZWZhdWx0SW1wb3J0cy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKCFuZXdEZWZhdWx0SW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSlcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpXG5cbiAgICAgICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpXG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUilcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuZGVsZXRlKGZpbGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBpZiAoIW9sZE5hbWVzcGFjZUltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGxldCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKVxuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KClcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpXG4gICAgICAgICAgb2xkSW1wb3J0UGF0aHMuc2V0KHZhbHVlLCBpbXBvcnRzKVxuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSlcbiAgICAgICAgICBsZXQgY3VycmVudEV4cG9ydFxuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUilcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKVxuICAgICAgICAgICAgZXhwb3J0TGlzdC5zZXQodmFsdWUsIGV4cG9ydHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKVxuICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChmaWxlKVxuICAgICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBvbGROYW1lc3BhY2VJbXBvcnRzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBpZiAoIW5ld05hbWVzcGFjZUltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpXG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpXG5cbiAgICAgICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpXG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5kZWxldGUoZmlsZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIG5ld0ltcG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIW9sZEltcG9ydHMuaGFzKGtleSkpIHtcbiAgICAgICAgICBsZXQgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSlcbiAgICAgICAgICBpZiAodHlwZW9mIGltcG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBpbXBvcnRzID0gbmV3IFNldCgpXG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKGtleSlcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpXG5cbiAgICAgICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKVxuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KGtleSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKVxuICAgICAgICAgICAgZXhwb3J0TGlzdC5zZXQodmFsdWUsIGV4cG9ydHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKVxuICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChmaWxlKVxuICAgICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgb2xkSW1wb3J0cy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmICghbmV3SW1wb3J0cy5oYXMoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpXG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoa2V5KVxuXG4gICAgICAgICAgY29uc3QgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKVxuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChrZXkpXG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ1Byb2dyYW06ZXhpdCc6IG5vZGUgPT4ge1xuICAgICAgICB1cGRhdGVFeHBvcnRVc2FnZShub2RlKVxuICAgICAgICB1cGRhdGVJbXBvcnRVc2FnZShub2RlKVxuICAgICAgICBjaGVja0V4cG9ydFByZXNlbmNlKG5vZGUpXG4gICAgICB9LFxuICAgICAgJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic6IG5vZGUgPT4ge1xuICAgICAgICBjaGVja1VzYWdlKG5vZGUsIElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUilcbiAgICAgIH0sXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IG5vZGUgPT4ge1xuICAgICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaChzcGVjaWZpZXIgPT4ge1xuICAgICAgICAgICAgY2hlY2tVc2FnZShub2RlLCBzcGVjaWZpZXIuZXhwb3J0ZWQubmFtZSlcbiAgICAgICAgfSlcbiAgICAgICAgZm9yRWFjaERlY2xhcmF0aW9uSWRlbnRpZmllcihub2RlLmRlY2xhcmF0aW9uLCAobmFtZSkgPT4ge1xuICAgICAgICAgIGNoZWNrVXNhZ2Uobm9kZSwgbmFtZSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnVzZWQtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJsaXN0RmlsZXNUb1Byb2Nlc3MiLCJGaWxlRW51bWVyYXRvciIsInJlcXVpcmUiLCJzcmMiLCJleHRlbnNpb25zIiwiZSIsIkFycmF5IiwiZnJvbSIsIml0ZXJhdGVGaWxlcyIsImZpbGVQYXRoIiwiaWdub3JlZCIsImZpbGVuYW1lIiwiZTEiLCJvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyIsImUyIiwicGF0dGVybnMiLCJyZWR1Y2UiLCJjYXJyeSIsInBhdHRlcm4iLCJjb25jYXQiLCJtYXAiLCJleHRlbnNpb24iLCJ0ZXN0Iiwic2xpY2UiLCJFWFBPUlRfREVGQVVMVF9ERUNMQVJBVElPTiIsIkVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTiIsIkVYUE9SVF9BTExfREVDTEFSQVRJT04iLCJJTVBPUlRfREVDTEFSQVRJT04iLCJJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiIsIklNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OIiwiRlVOQ1RJT05fREVDTEFSQVRJT04iLCJDTEFTU19ERUNMQVJBVElPTiIsIklERU5USUZJRVIiLCJPQkpFQ1RfUEFUVEVSTiIsIlRTX0lOVEVSRkFDRV9ERUNMQVJBVElPTiIsIlRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04iLCJUU19FTlVNX0RFQ0xBUkFUSU9OIiwiREVGQVVMVCIsImZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIiLCJkZWNsYXJhdGlvbiIsImNiIiwidHlwZSIsImlkIiwibmFtZSIsImRlY2xhcmF0aW9ucyIsImZvckVhY2giLCJpbXBvcnRMaXN0IiwiTWFwIiwiZXhwb3J0TGlzdCIsImlnbm9yZWRGaWxlcyIsIlNldCIsImZpbGVzT3V0c2lkZVNyYyIsImlzTm9kZU1vZHVsZSIsInBhdGgiLCJyZXNvbHZlRmlsZXMiLCJpZ25vcmVFeHBvcnRzIiwiY29udGV4dCIsInNldHRpbmdzIiwic3JjRmlsZXMiLCJzcmNGaWxlTGlzdCIsImlnbm9yZWRGaWxlc0xpc3QiLCJhZGQiLCJmaWx0ZXIiLCJwcmVwYXJlSW1wb3J0c0FuZEV4cG9ydHMiLCJleHBvcnRBbGwiLCJmaWxlIiwiZXhwb3J0cyIsImltcG9ydHMiLCJjdXJyZW50RXhwb3J0cyIsIkV4cG9ydHMiLCJnZXQiLCJkZXBlbmRlbmNpZXMiLCJyZWV4cG9ydHMiLCJsb2NhbEltcG9ydExpc3QiLCJuYW1lc3BhY2UiLCJjdXJyZW50RXhwb3J0QWxsIiwiZ2V0RGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJzZXQiLCJ2YWx1ZSIsImtleSIsIndoZXJlVXNlZCIsInJlZXhwb3J0IiwiZ2V0SW1wb3J0IiwibG9jYWxJbXBvcnQiLCJjdXJyZW50VmFsdWUiLCJsb2NhbCIsImltcG9ydGVkU3BlY2lmaWVycyIsInNwZWNpZmllciIsImhhcyIsInZhbCIsImN1cnJlbnRFeHBvcnQiLCJkZXRlcm1pbmVVc2FnZSIsImxpc3RWYWx1ZSIsImxpc3RLZXkiLCJjdXJyZW50SW1wb3J0IiwiZXhwb3J0U3RhdGVtZW50IiwiZ2V0U3JjIiwicHJvY2VzcyIsImN3ZCIsImxhc3RQcmVwYXJlS2V5IiwiZG9QcmVwYXJhdGlvbiIsInByZXBhcmVLZXkiLCJKU09OIiwic3RyaW5naWZ5Iiwic29ydCIsImNsZWFyIiwibmV3TmFtZXNwYWNlSW1wb3J0RXhpc3RzIiwic3BlY2lmaWVycyIsInNvbWUiLCJuZXdEZWZhdWx0SW1wb3J0RXhpc3RzIiwiZmlsZUlzSW5Qa2ciLCJyZWFkUGtnVXAiLCJzeW5jIiwibm9ybWFsaXplIiwicGtnIiwiYmFzZVBhdGgiLCJjaGVja1BrZ0ZpZWxkU3RyaW5nIiwicGtnRmllbGQiLCJjaGVja1BrZ0ZpZWxkT2JqZWN0IiwicGtnRmllbGRGaWxlcyIsImNoZWNrUGtnRmllbGQiLCJwcml2YXRlIiwiYmluIiwiYnJvd3NlciIsIm1haW4iLCJtb2R1bGUiLCJtZXRhIiwiZG9jcyIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJkZXNjcmlwdGlvbiIsIm1pbkl0ZW1zIiwiaXRlbXMiLCJtaW5MZW5ndGgiLCJtaXNzaW5nRXhwb3J0cyIsInVudXNlZEV4cG9ydHMiLCJub3QiLCJlbnVtIiwiYW55T2YiLCJyZXF1aXJlZCIsImNyZWF0ZSIsIm9wdGlvbnMiLCJnZXRGaWxlbmFtZSIsImNoZWNrRXhwb3J0UHJlc2VuY2UiLCJub2RlIiwiZXhwb3J0Q291bnQiLCJuYW1lc3BhY2VJbXBvcnRzIiwiZGVsZXRlIiwic2l6ZSIsInJlcG9ydCIsImJvZHkiLCJjaGVja1VzYWdlIiwiZXhwb3J0ZWRWYWx1ZSIsImV4cG9ydHNLZXkiLCJ1cGRhdGVFeHBvcnRVc2FnZSIsIm5ld0V4cG9ydHMiLCJuZXdFeHBvcnRJZGVudGlmaWVycyIsImxlbmd0aCIsImV4cG9ydGVkIiwidXBkYXRlSW1wb3J0VXNhZ2UiLCJvbGRJbXBvcnRQYXRocyIsIm9sZE5hbWVzcGFjZUltcG9ydHMiLCJuZXdOYW1lc3BhY2VJbXBvcnRzIiwib2xkRXhwb3J0QWxsIiwibmV3RXhwb3J0QWxsIiwib2xkRGVmYXVsdEltcG9ydHMiLCJuZXdEZWZhdWx0SW1wb3J0cyIsIm9sZEltcG9ydHMiLCJuZXdJbXBvcnRzIiwiYXN0Tm9kZSIsInJlc29sdmVkUGF0aCIsInNvdXJjZSIsInJhdyIsInJlcGxhY2UiLCJpbXBvcnRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEseUM7QUFDQTtBQUNBLHNEO0FBQ0EscUM7QUFDQTtBQUNBLHdDO0FBQ0EsdUM7QUFDQSwrQyxtVkFiQTs7OztzWUFlQTtBQUNBO0FBQ0EsSUFBSUEsa0JBQUosQ0FDQSxJQUFJLENBQ0YsTUFBTUMsaUJBQWlCQyxRQUFRLHVDQUFSLEVBQWlERCxjQUF4RTtBQUNBRCx1QkFBcUIsVUFBVUcsR0FBVixFQUFlQyxVQUFmLEVBQTJCO0FBQzlDLFVBQU1DLElBQUksSUFBSUosY0FBSixDQUFtQjtBQUMzQkcsa0JBQVlBLFVBRGUsRUFBbkIsQ0FBVjs7QUFHQSxXQUFPRSxNQUFNQyxJQUFOLENBQVdGLEVB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QyxrQkFBTXlCLGdCQUFnQnpCLFFBQVFJLEdBQVIsQ0FBWVUsR0FBWixDQUF0QjtBQUNBLGdCQUFJLE9BQU9XLGFBQVAsS0FBeUIsV0FBN0IsRUFBMEM7QUFDeENBLDRCQUFjVixTQUFkLENBQXdCb0UsTUFBeEIsQ0FBK0JwRixJQUEvQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGLE9BYkQ7QUFjRCxLQXJRRDs7QUF1UUEsV0FBTztBQUNMLHNCQUFnQmlGLFFBQVE7QUFDdEJVLDBCQUFrQlYsSUFBbEI7QUFDQWUsMEJBQWtCZixJQUFsQjtBQUNBRCw0QkFBb0JDLElBQXBCO0FBQ0QsT0FMSTtBQU1MLGtDQUE0QkEsUUFBUTtBQUNsQ08sbUJBQVdQLElBQVgsRUFBaUJ0SCx3QkFBakI7QUFDRCxPQVJJO0FBU0wsZ0NBQTBCc0gsUUFBUTtBQUNoQ0EsYUFBS3RDLFVBQUwsQ0FBZ0IvRCxPQUFoQixDQUF3QjJDLGFBQWE7QUFDbkNpRSxxQkFBV1AsSUFBWCxFQUFpQjFELFVBQVV3RSxRQUFWLENBQW1CckgsSUFBcEM7QUFDRCxTQUZEO0FBR0FMLHFDQUE2QjRHLEtBQUszRyxXQUFsQyxFQUFnREksSUFBRCxJQUFVO0FBQ3ZEOEcscUJBQVdQLElBQVgsRUFBaUJ2RyxJQUFqQjtBQUNELFNBRkQ7QUFHRCxPQWhCSSxFQUFQOztBQWtCRCxHQTVnQmMsRUFBakIiLCJmaWxlIjoibm8tdW51c2VkLW1vZHVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IG1vZHVsZXMgY29udGFpbiBleHBvcnRzIGFuZC9vciBhbGxcbiAqIG1vZHVsZXMgYXJlIGNvbnN1bWVkIHdpdGhpbiBvdGhlciBtb2R1bGVzLlxuICogQGF1dGhvciBSZW7DqSBGZXJtYW5uXG4gKi9cblxuaW1wb3J0IEV4cG9ydHMsIHsgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUgfSBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IHsgZ2V0RmlsZUV4dGVuc2lvbnMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2lnbm9yZSc7XG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgcmVhZFBrZ1VwIGZyb20gJ3JlYWQtcGtnLXVwJztcbmltcG9ydCB2YWx1ZXMgZnJvbSAnb2JqZWN0LnZhbHVlcyc7XG5pbXBvcnQgaW5jbHVkZXMgZnJvbSAnYXJyYXktaW5jbHVkZXMnO1xuXG4vLyBlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsIGhhcyBiZWVuIG1vdmVkIHRvIGVzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzIHdpdGggdmVyc2lvbiA1LjNcbi8vIGFuZCBoYXMgYmVlbiBtb3ZlZCB0byBlc2xpbnQvbGliL2NsaS1lbmdpbmUvZmlsZS1lbnVtZXJhdG9yIGluIHZlcnNpb24gNlxubGV0IGxpc3RGaWxlc1RvUHJvY2VzcztcbnRyeSB7XG4gIGNvbnN0IEZpbGVFbnVtZXJhdG9yID0gcmVxdWlyZSgnZXNsaW50L2xpYi9jbGktZW5naW5lL2ZpbGUtZW51bWVyYXRvcicpLkZpbGVFbnVtZXJhdG9yO1xuICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgY29uc3QgZSA9IG5ldyBGaWxlRW51bWVyYXRvcih7XG4gICAgICBleHRlbnNpb25zOiBleHRlbnNpb25zLFxuICAgIH0pO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGUuaXRlcmF0ZUZpbGVzKHNyYyksICh7IGZpbGVQYXRoLCBpZ25vcmVkIH0pID0+ICh7XG4gICAgICBpZ25vcmVkLFxuICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgIH0pKTtcbiAgfTtcbn0gY2F0Y2ggKGUxKSB7XG4gIC8vIFByZXZlbnQgcGFzc2luZyBpbnZhbGlkIG9wdGlvbnMgKGV4dGVuc2lvbnMgYXJyYXkpIHRvIG9sZCB2ZXJzaW9ucyBvZiB0aGUgZnVuY3Rpb24uXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2Jsb2IvdjUuMTYuMC9saWIvdXRpbC9nbG9iLXV0aWxzLmpzI0wxNzgtTDI4MFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZXNsaW50L2VzbGludC9ibG9iL3Y1LjIuMC9saWIvdXRpbC9nbG9iLXV0aWwuanMjTDE3NC1MMjY5XG4gIGxldCBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcztcbiAgdHJ5IHtcbiAgICBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyA9IHJlcXVpcmUoJ2VzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzJykubGlzdEZpbGVzVG9Qcm9jZXNzO1xuICAgIGxpc3RGaWxlc1RvUHJvY2VzcyA9IGZ1bmN0aW9uIChzcmMsIGV4dGVuc2lvbnMpIHtcbiAgICAgIHJldHVybiBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyhzcmMsIHtcbiAgICAgICAgZXh0ZW5zaW9uczogZXh0ZW5zaW9ucyxcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gY2F0Y2ggKGUyKSB7XG4gICAgb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3MgPSByZXF1aXJlKCdlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsJykubGlzdEZpbGVzVG9Qcm9jZXNzO1xuXG4gICAgbGlzdEZpbGVzVG9Qcm9jZXNzID0gZnVuY3Rpb24gKHNyYywgZXh0ZW5zaW9ucykge1xuICAgICAgY29uc3QgcGF0dGVybnMgPSBzcmMucmVkdWNlKChjYXJyeSwgcGF0dGVybikgPT4ge1xuICAgICAgICByZXR1cm4gY2FycnkuY29uY2F0KGV4dGVuc2lvbnMubWFwKChleHRlbnNpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gL1xcKlxcKnxcXCpcXC4vLnRlc3QocGF0dGVybikgPyBwYXR0ZXJuIDogYCR7cGF0dGVybn0vKiovKiR7ZXh0ZW5zaW9ufWA7XG4gICAgICAgIH0pKTtcbiAgICAgIH0sIHNyYy5zbGljZSgpKTtcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsTGlzdEZpbGVzVG9Qcm9jZXNzKHBhdHRlcm5zKTtcbiAgICB9O1xuICB9XG59XG5cbmNvbnN0IEVYUE9SVF9ERUZBVUxUX0RFQ0xBUkFUSU9OID0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic7XG5jb25zdCBFWFBPUlRfTkFNRURfREVDTEFSQVRJT04gPSAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic7XG5jb25zdCBFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OID0gJ0V4cG9ydEFsbERlY2xhcmF0aW9uJztcbmNvbnN0IElNUE9SVF9ERUNMQVJBVElPTiA9ICdJbXBvcnREZWNsYXJhdGlvbic7XG5jb25zdCBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiA9ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInO1xuY29uc3QgSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSID0gJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInO1xuY29uc3QgVkFSSUFCTEVfREVDTEFSQVRJT04gPSAnVmFyaWFibGVEZWNsYXJhdGlvbic7XG5jb25zdCBGVU5DVElPTl9ERUNMQVJBVElPTiA9ICdGdW5jdGlvbkRlY2xhcmF0aW9uJztcbmNvbnN0IENMQVNTX0RFQ0xBUkFUSU9OID0gJ0NsYXNzRGVjbGFyYXRpb24nO1xuY29uc3QgSURFTlRJRklFUiA9ICdJZGVudGlmaWVyJztcbmNvbnN0IE9CSkVDVF9QQVRURVJOID0gJ09iamVjdFBhdHRlcm4nO1xuY29uc3QgVFNfSU5URVJGQUNFX0RFQ0xBUkFUSU9OID0gJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb24nO1xuY29uc3QgVFNfVFlQRV9BTElBU19ERUNMQVJBVElPTiA9ICdUU1R5cGVBbGlhc0RlY2xhcmF0aW9uJztcbmNvbnN0IFRTX0VOVU1fREVDTEFSQVRJT04gPSAnVFNFbnVtRGVjbGFyYXRpb24nO1xuY29uc3QgREVGQVVMVCA9ICdkZWZhdWx0JztcblxuZnVuY3Rpb24gZm9yRWFjaERlY2xhcmF0aW9uSWRlbnRpZmllcihkZWNsYXJhdGlvbiwgY2IpIHtcbiAgaWYgKGRlY2xhcmF0aW9uKSB7XG4gICAgaWYgKFxuICAgICAgZGVjbGFyYXRpb24udHlwZSA9PT0gRlVOQ1RJT05fREVDTEFSQVRJT04gfHxcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IENMQVNTX0RFQ0xBUkFUSU9OIHx8XG4gICAgICBkZWNsYXJhdGlvbi50eXBlID09PSBUU19JTlRFUkZBQ0VfREVDTEFSQVRJT04gfHxcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04gfHxcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFRTX0VOVU1fREVDTEFSQVRJT05cbiAgICApIHtcbiAgICAgIGNiKGRlY2xhcmF0aW9uLmlkLm5hbWUpO1xuICAgIH0gZWxzZSBpZiAoZGVjbGFyYXRpb24udHlwZSA9PT0gVkFSSUFCTEVfREVDTEFSQVRJT04pIHtcbiAgICAgIGRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucy5mb3JFYWNoKCh7IGlkIH0pID0+IHtcbiAgICAgICAgaWYgKGlkLnR5cGUgPT09IE9CSkVDVF9QQVRURVJOKSB7XG4gICAgICAgICAgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUoaWQsIChwYXR0ZXJuKSA9PiB7XG4gICAgICAgICAgICBpZiAocGF0dGVybi50eXBlID09PSBJREVOVElGSUVSKSB7XG4gICAgICAgICAgICAgIGNiKHBhdHRlcm4ubmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2IoaWQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExpc3Qgb2YgaW1wb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYSBTZXQgb2YgaWRlbnRpZmllcnMuIFRoZSB1cHBlci1sZXZlbCBNYXBcbiAqIGtleXMgYXJlIHRoZSBwYXRocyB0byB0aGUgbW9kdWxlcyBjb250YWluaW5nIHRoZSBpbXBvcnRzLCB3aGlsZSB0aGVcbiAqIGxvd2VyLWxldmVsIE1hcCBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIGZpbGVzIHdoaWNoIGFyZSBiZWluZyBpbXBvcnRlZFxuICogZnJvbS4gTGFzdGx5LCB0aGUgU2V0IG9mIGlkZW50aWZpZXJzIGNvbnRhaW5zIGVpdGhlciBuYW1lcyBiZWluZyBpbXBvcnRlZFxuICogb3IgYSBzcGVjaWFsIEFTVCBub2RlIG5hbWUgbGlzdGVkIGFib3ZlIChlLmcgSW1wb3J0RGVmYXVsdFNwZWNpZmllcikuXG4gKlxuICogRm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nOlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Zvby5qcycgPT4gTWFwIHsgJ2Jhci5qcycgPT4gU2V0IHsgJ28yJyB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4+fVxuICovXG5jb25zdCBpbXBvcnRMaXN0ID0gbmV3IE1hcCgpO1xuXG4vKipcbiAqIExpc3Qgb2YgZXhwb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYW4gb2JqZWN0IG9mIG1ldGFkYXRhLiBUaGUgdXBwZXItbGV2ZWwgTWFwXG4gKiBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIG1vZHVsZXMgY29udGFpbmluZyB0aGUgZXhwb3J0cywgd2hpbGUgdGhlXG4gKiBsb3dlci1sZXZlbCBNYXAga2V5cyBhcmUgdGhlIHNwZWNpZmljIGlkZW50aWZpZXJzIG9yIHNwZWNpYWwgQVNUIG5vZGUgbmFtZXNcbiAqIGJlaW5nIGV4cG9ydGVkLiBUaGUgbGVhZi1sZXZlbCBtZXRhZGF0YSBvYmplY3QgYXQgdGhlIG1vbWVudCBvbmx5IGNvbnRhaW5zIGFcbiAqIGB3aGVyZVVzZWRgIHByb3BlcnR5LCB3aGljaCBjb250YWlucyBhIFNldCBvZiBwYXRocyB0byBtb2R1bGVzIHRoYXQgaW1wb3J0XG4gKiB0aGUgbmFtZS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgaWYgd2UgaGF2ZSBhIGZpbGUgbmFtZWQgYmFyLmpzIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBleHBvcnRzOlxuICpcbiAqICAgY29uc3QgbzIgPSAnYmFyJztcbiAqICAgZXhwb3J0IHsgbzIgfTtcbiAqXG4gKiBBbmQgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgaW1wb3J0OlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Jhci5qcycgPT4gTWFwIHsgJ28yJyA9PiB7IHdoZXJlVXNlZDogU2V0IHsgJ2Zvby5qcycgfSB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBvYmplY3Q+Pn1cbiAqL1xuY29uc3QgZXhwb3J0TGlzdCA9IG5ldyBNYXAoKTtcblxuY29uc3QgaWdub3JlZEZpbGVzID0gbmV3IFNldCgpO1xuY29uc3QgZmlsZXNPdXRzaWRlU3JjID0gbmV3IFNldCgpO1xuXG5jb25zdCBpc05vZGVNb2R1bGUgPSBwYXRoID0+IHtcbiAgcmV0dXJuIC9cXC8obm9kZV9tb2R1bGVzKVxcLy8udGVzdChwYXRoKTtcbn07XG5cbi8qKlxuICogcmVhZCBhbGwgZmlsZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm5zIGluIHNyYyBhbmQgaWdub3JlRXhwb3J0c1xuICpcbiAqIHJldHVybiBhbGwgZmlsZXMgbWF0Y2hpbmcgc3JjIHBhdHRlcm4sIHdoaWNoIGFyZSBub3QgbWF0Y2hpbmcgdGhlIGlnbm9yZUV4cG9ydHMgcGF0dGVyblxuICovXG5jb25zdCByZXNvbHZlRmlsZXMgPSAoc3JjLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbnMgPSBBcnJheS5mcm9tKGdldEZpbGVFeHRlbnNpb25zKGNvbnRleHQuc2V0dGluZ3MpKTtcblxuICBjb25zdCBzcmNGaWxlcyA9IG5ldyBTZXQoKTtcbiAgY29uc3Qgc3JjRmlsZUxpc3QgPSBsaXN0RmlsZXNUb1Byb2Nlc3Moc3JjLCBleHRlbnNpb25zKTtcblxuICAvLyBwcmVwYXJlIGxpc3Qgb2YgaWdub3JlZCBmaWxlc1xuICBjb25zdCBpZ25vcmVkRmlsZXNMaXN0ID0gIGxpc3RGaWxlc1RvUHJvY2VzcyhpZ25vcmVFeHBvcnRzLCBleHRlbnNpb25zKTtcbiAgaWdub3JlZEZpbGVzTGlzdC5mb3JFYWNoKCh7IGZpbGVuYW1lIH0pID0+IGlnbm9yZWRGaWxlcy5hZGQoZmlsZW5hbWUpKTtcblxuICAvLyBwcmVwYXJlIGxpc3Qgb2Ygc291cmNlIGZpbGVzLCBkb24ndCBjb25zaWRlciBmaWxlcyBmcm9tIG5vZGVfbW9kdWxlc1xuICBzcmNGaWxlTGlzdC5maWx0ZXIoKHsgZmlsZW5hbWUgfSkgPT4gIWlzTm9kZU1vZHVsZShmaWxlbmFtZSkpLmZvckVhY2goKHsgZmlsZW5hbWUgfSkgPT4ge1xuICAgIHNyY0ZpbGVzLmFkZChmaWxlbmFtZSk7XG4gIH0pO1xuICByZXR1cm4gc3JjRmlsZXM7XG59O1xuXG4vKipcbiAqIHBhcnNlIGFsbCBzb3VyY2UgZmlsZXMgYW5kIGJ1aWxkIHVwIDIgbWFwcyBjb250YWluaW5nIHRoZSBleGlzdGluZyBpbXBvcnRzIGFuZCBleHBvcnRzXG4gKi9cbmNvbnN0IHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyA9IChzcmNGaWxlcywgY29udGV4dCkgPT4ge1xuICBjb25zdCBleHBvcnRBbGwgPSBuZXcgTWFwKCk7XG4gIHNyY0ZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgY29uc3QgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCBpbXBvcnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGN1cnJlbnRFeHBvcnRzID0gRXhwb3J0cy5nZXQoZmlsZSwgY29udGV4dCk7XG4gICAgaWYgKGN1cnJlbnRFeHBvcnRzKSB7XG4gICAgICBjb25zdCB7IGRlcGVuZGVuY2llcywgcmVleHBvcnRzLCBpbXBvcnRzOiBsb2NhbEltcG9ydExpc3QsIG5hbWVzcGFjZSAgfSA9IGN1cnJlbnRFeHBvcnRzO1xuXG4gICAgICAvLyBkZXBlbmRlbmNpZXMgPT09IGV4cG9ydCAqIGZyb21cbiAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnRBbGwgPSBuZXcgU2V0KCk7XG4gICAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaChnZXREZXBlbmRlbmN5ID0+IHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeSA9IGdldERlcGVuZGVuY3koKTtcbiAgICAgICAgaWYgKGRlcGVuZGVuY3kgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RXhwb3J0QWxsLmFkZChkZXBlbmRlbmN5LnBhdGgpO1xuICAgICAgfSk7XG4gICAgICBleHBvcnRBbGwuc2V0KGZpbGUsIGN1cnJlbnRFeHBvcnRBbGwpO1xuXG4gICAgICByZWV4cG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZWV4cG9ydCA9ICB2YWx1ZS5nZXRJbXBvcnQoKTtcbiAgICAgICAgaWYgKCFyZWV4cG9ydCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbG9jYWxJbXBvcnQgPSBpbXBvcnRzLmdldChyZWV4cG9ydC5wYXRoKTtcbiAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlLmxvY2FsID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbHVlLmxvY2FsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbG9jYWxJbXBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFsuLi5sb2NhbEltcG9ydCwgY3VycmVudFZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFtjdXJyZW50VmFsdWVdKTtcbiAgICAgICAgfVxuICAgICAgICBpbXBvcnRzLnNldChyZWV4cG9ydC5wYXRoLCBsb2NhbEltcG9ydCk7XG4gICAgICB9KTtcblxuICAgICAgbG9jYWxJbXBvcnRMaXN0LmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGlzTm9kZU1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvY2FsSW1wb3J0ID0gaW1wb3J0cy5nZXQoa2V5KSB8fCBuZXcgU2V0KCk7XG4gICAgICAgIHZhbHVlLmRlY2xhcmF0aW9ucy5mb3JFYWNoKCh7IGltcG9ydGVkU3BlY2lmaWVycyB9KSA9PlxuICAgICAgICAgIGltcG9ydGVkU3BlY2lmaWVycy5mb3JFYWNoKHNwZWNpZmllciA9PiBsb2NhbEltcG9ydC5hZGQoc3BlY2lmaWVyKSlcbiAgICAgICAgKTtcbiAgICAgICAgaW1wb3J0cy5zZXQoa2V5LCBsb2NhbEltcG9ydCk7XG4gICAgICB9KTtcbiAgICAgIGltcG9ydExpc3Quc2V0KGZpbGUsIGltcG9ydHMpO1xuXG4gICAgICAvLyBidWlsZCB1cCBleHBvcnQgbGlzdCBvbmx5LCBpZiBmaWxlIGlzIG5vdCBpZ25vcmVkXG4gICAgICBpZiAoaWdub3JlZEZpbGVzLmhhcyhmaWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBuYW1lc3BhY2UuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGV4cG9ydHMuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfSk7XG4gICAgZXhwb3J0cy5zZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfSk7XG4gICAgZXhwb3J0TGlzdC5zZXQoZmlsZSwgZXhwb3J0cyk7XG4gIH0pO1xuICBleHBvcnRBbGwuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgIHZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnQgPSBjdXJyZW50RXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoa2V5KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIHRyYXZlcnNlIHRocm91Z2ggYWxsIGltcG9ydHMgYW5kIGFkZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHRvIHRoZSB3aGVyZVVzZWQtbGlzdFxuICogb2YgdGhlIGNvcnJlc3BvbmRpbmcgZXhwb3J0XG4gKi9cbmNvbnN0IGRldGVybWluZVVzYWdlID0gKCkgPT4ge1xuICBpbXBvcnRMaXN0LmZvckVhY2goKGxpc3RWYWx1ZSwgbGlzdEtleSkgPT4ge1xuICAgIGxpc3RWYWx1ZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoa2V5KTtcbiAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChjdXJyZW50SW1wb3J0ID0+IHtcbiAgICAgICAgICBsZXQgc3BlY2lmaWVyO1xuICAgICAgICAgIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUikge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVI7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgIHNwZWNpZmllciA9IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gY3VycmVudEltcG9ydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBzcGVjaWZpZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChzcGVjaWZpZXIpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgd2hlcmVVc2VkIH0gPSBleHBvcnRTdGF0ZW1lbnQ7XG4gICAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQobGlzdEtleSk7XG4gICAgICAgICAgICAgIGV4cG9ydHMuc2V0KHNwZWNpZmllciwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRTcmMgPSBzcmMgPT4ge1xuICBpZiAoc3JjKSB7XG4gICAgcmV0dXJuIHNyYztcbiAgfVxuICByZXR1cm4gW3Byb2Nlc3MuY3dkKCldO1xufTtcblxuLyoqXG4gKiBwcmVwYXJlIHRoZSBsaXN0cyBvZiBleGlzdGluZyBpbXBvcnRzIGFuZCBleHBvcnRzIC0gc2hvdWxkIG9ubHkgYmUgZXhlY3V0ZWQgb25jZSBhdFxuICogdGhlIHN0YXJ0IG9mIGEgbmV3IGVzbGludCBydW5cbiAqL1xubGV0IHNyY0ZpbGVzO1xubGV0IGxhc3RQcmVwYXJlS2V5O1xuY29uc3QgZG9QcmVwYXJhdGlvbiA9IChzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgcHJlcGFyZUtleSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBzcmM6IChzcmMgfHwgW10pLnNvcnQoKSxcbiAgICBpZ25vcmVFeHBvcnRzOiAoaWdub3JlRXhwb3J0cyB8fCBbXSkuc29ydCgpLFxuICAgIGV4dGVuc2lvbnM6IEFycmF5LmZyb20oZ2V0RmlsZUV4dGVuc2lvbnMoY29udGV4dC5zZXR0aW5ncykpLnNvcnQoKSxcbiAgfSk7XG4gIGlmIChwcmVwYXJlS2V5ID09PSBsYXN0UHJlcGFyZUtleSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGltcG9ydExpc3QuY2xlYXIoKTtcbiAgZXhwb3J0TGlzdC5jbGVhcigpO1xuICBpZ25vcmVkRmlsZXMuY2xlYXIoKTtcbiAgZmlsZXNPdXRzaWRlU3JjLmNsZWFyKCk7XG5cbiAgc3JjRmlsZXMgPSByZXNvbHZlRmlsZXMoZ2V0U3JjKHNyYyksIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpO1xuICBwcmVwYXJlSW1wb3J0c0FuZEV4cG9ydHMoc3JjRmlsZXMsIGNvbnRleHQpO1xuICBkZXRlcm1pbmVVc2FnZSgpO1xuICBsYXN0UHJlcGFyZUtleSA9IHByZXBhcmVLZXk7XG59O1xuXG5jb25zdCBuZXdOYW1lc3BhY2VJbXBvcnRFeGlzdHMgPSBzcGVjaWZpZXJzID0+XG4gIHNwZWNpZmllcnMuc29tZSgoeyB0eXBlIH0pID0+IHR5cGUgPT09IElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcblxuY29uc3QgbmV3RGVmYXVsdEltcG9ydEV4aXN0cyA9IHNwZWNpZmllcnMgPT5cbiAgc3BlY2lmaWVycy5zb21lKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcblxuY29uc3QgZmlsZUlzSW5Qa2cgPSBmaWxlID0+IHtcbiAgY29uc3QgeyBwYXRoLCBwa2cgfSA9IHJlYWRQa2dVcC5zeW5jKHsgY3dkOiBmaWxlLCBub3JtYWxpemU6IGZhbHNlIH0pO1xuICBjb25zdCBiYXNlUGF0aCA9IGRpcm5hbWUocGF0aCk7XG5cbiAgY29uc3QgY2hlY2tQa2dGaWVsZFN0cmluZyA9IHBrZ0ZpZWxkID0+IHtcbiAgICBpZiAoam9pbihiYXNlUGF0aCwgcGtnRmllbGQpID09PSBmaWxlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY2hlY2tQa2dGaWVsZE9iamVjdCA9IHBrZ0ZpZWxkID0+IHtcbiAgICBjb25zdCBwa2dGaWVsZEZpbGVzID0gdmFsdWVzKHBrZ0ZpZWxkKS5tYXAodmFsdWUgPT4gam9pbihiYXNlUGF0aCwgdmFsdWUpKTtcbiAgICBpZiAoaW5jbHVkZXMocGtnRmllbGRGaWxlcywgZmlsZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjaGVja1BrZ0ZpZWxkID0gcGtnRmllbGQgPT4ge1xuICAgIGlmICh0eXBlb2YgcGtnRmllbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gY2hlY2tQa2dGaWVsZFN0cmluZyhwa2dGaWVsZCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwa2dGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBjaGVja1BrZ0ZpZWxkT2JqZWN0KHBrZ0ZpZWxkKTtcbiAgICB9XG4gIH07XG5cbiAgaWYgKHBrZy5wcml2YXRlID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHBrZy5iaW4pIHtcbiAgICBpZiAoY2hlY2tQa2dGaWVsZChwa2cuYmluKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBrZy5icm93c2VyKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGQocGtnLmJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAocGtnLm1haW4pIHtcbiAgICBpZiAoY2hlY2tQa2dGaWVsZFN0cmluZyhwa2cubWFpbikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHsgdXJsOiBkb2NzVXJsKCduby11bnVzZWQtbW9kdWxlcycpIH0sXG4gICAgc2NoZW1hOiBbe1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBzcmM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ2ZpbGVzL3BhdGhzIHRvIGJlIGFuYWx5emVkIChvbmx5IGZvciB1bnVzZWQgZXhwb3J0cyknLFxuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlnbm9yZUV4cG9ydHM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdmaWxlcy9wYXRocyBmb3Igd2hpY2ggdW51c2VkIGV4cG9ydHMgd2lsbCBub3QgYmUgcmVwb3J0ZWQgKGUuZyBtb2R1bGUgZW50cnkgcG9pbnRzKScsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ3JlcG9ydCBtb2R1bGVzIHdpdGhvdXQgYW55IGV4cG9ydHMnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgdW51c2VkRXhwb3J0czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAncmVwb3J0IGV4cG9ydHMgd2l0aG91dCBhbnkgdXNhZ2UnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBub3Q6IHtcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHVudXNlZEV4cG9ydHM6IHsgZW51bTogW2ZhbHNlXSB9LFxuICAgICAgICAgIG1pc3NpbmdFeHBvcnRzOiB7IGVudW06IFtmYWxzZV0gfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhbnlPZjpbe1xuICAgICAgICBub3Q6IHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1bnVzZWRFeHBvcnRzOiB7IGVudW06IFt0cnVlXSB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ21pc3NpbmdFeHBvcnRzJ10sXG4gICAgICB9LCB7XG4gICAgICAgIG5vdDoge1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIG1pc3NpbmdFeHBvcnRzOiB7IGVudW06IFt0cnVlXSB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ3VudXNlZEV4cG9ydHMnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHVudXNlZEV4cG9ydHM6IHsgZW51bTogW3RydWVdIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ3VudXNlZEV4cG9ydHMnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIG1pc3NpbmdFeHBvcnRzOiB7IGVudW06IFt0cnVlXSB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWydtaXNzaW5nRXhwb3J0cyddLFxuICAgICAgfV0sXG4gICAgfV0sXG4gIH0sXG5cbiAgY3JlYXRlOiBjb250ZXh0ID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBzcmMsXG4gICAgICBpZ25vcmVFeHBvcnRzID0gW10sXG4gICAgICBtaXNzaW5nRXhwb3J0cyxcbiAgICAgIHVudXNlZEV4cG9ydHMsXG4gICAgfSA9IGNvbnRleHQub3B0aW9uc1swXSB8fCB7fTtcblxuICAgIGlmICh1bnVzZWRFeHBvcnRzKSB7XG4gICAgICBkb1ByZXBhcmF0aW9uKHNyYywgaWdub3JlRXhwb3J0cywgY29udGV4dCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcblxuICAgIGNvbnN0IGNoZWNrRXhwb3J0UHJlc2VuY2UgPSBub2RlID0+IHtcbiAgICAgIGlmICghbWlzc2luZ0V4cG9ydHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoaWdub3JlZEZpbGVzLmhhcyhmaWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV4cG9ydENvdW50ID0gZXhwb3J0TGlzdC5nZXQoZmlsZSk7XG4gICAgICBjb25zdCBleHBvcnRBbGwgPSBleHBvcnRDb3VudC5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBjb25zdCBuYW1lc3BhY2VJbXBvcnRzID0gZXhwb3J0Q291bnQuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcblxuICAgICAgZXhwb3J0Q291bnQuZGVsZXRlKEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgZXhwb3J0Q291bnQuZGVsZXRlKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgIGlmIChleHBvcnRDb3VudC5zaXplIDwgMSkge1xuICAgICAgICAvLyBub2RlLmJvZHlbMF0gPT09ICd1bmRlZmluZWQnIG9ubHkgaGFwcGVucywgaWYgZXZlcnl0aGluZyBpcyBjb21tZW50ZWQgb3V0IGluIHRoZSBmaWxlXG4gICAgICAgIC8vIGJlaW5nIGxpbnRlZFxuICAgICAgICBjb250ZXh0LnJlcG9ydChub2RlLmJvZHlbMF0gPyBub2RlLmJvZHlbMF0gOiBub2RlLCAnTm8gZXhwb3J0cyBmb3VuZCcpO1xuICAgICAgfVxuICAgICAgZXhwb3J0Q291bnQuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIGV4cG9ydEFsbCk7XG4gICAgICBleHBvcnRDb3VudC5zZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIsIG5hbWVzcGFjZUltcG9ydHMpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGVja1VzYWdlID0gKG5vZGUsIGV4cG9ydGVkVmFsdWUpID0+IHtcbiAgICAgIGlmICghdW51c2VkRXhwb3J0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpbGVJc0luUGtnKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpbGVzT3V0c2lkZVNyYy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgZmlsZSB0byBiZSBsaW50ZWQgaXMgaW5jbHVkZWQgaW4gc291cmNlIGZpbGVzXG4gICAgICBpZiAoIXNyY0ZpbGVzLmhhcyhmaWxlKSkge1xuICAgICAgICBzcmNGaWxlcyA9IHJlc29sdmVGaWxlcyhnZXRTcmMoc3JjKSwgaWdub3JlRXhwb3J0cywgY29udGV4dCk7XG4gICAgICAgIGlmICghc3JjRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgICAgZmlsZXNPdXRzaWRlU3JjLmFkZChmaWxlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KGZpbGUpO1xuXG4gICAgICAvLyBzcGVjaWFsIGNhc2U6IGV4cG9ydCAqIGZyb21cbiAgICAgIGNvbnN0IGV4cG9ydEFsbCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgaWYgKHR5cGVvZiBleHBvcnRBbGwgIT09ICd1bmRlZmluZWQnICYmIGV4cG9ydGVkVmFsdWUgIT09IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUikge1xuICAgICAgICBpZiAoZXhwb3J0QWxsLndoZXJlVXNlZC5zaXplID4gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBzcGVjaWFsIGNhc2U6IG5hbWVzcGFjZSBpbXBvcnRcbiAgICAgIGNvbnN0IG5hbWVzcGFjZUltcG9ydHMgPSBleHBvcnRzLmdldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUik7XG4gICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZUltcG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmIChuYW1lc3BhY2VJbXBvcnRzLndoZXJlVXNlZC5zaXplID4gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBleHBvcnRzTGlzdCB3aWxsIGFsd2F5cyBtYXAgYW55IGltcG9ydGVkIHZhbHVlIG9mICdkZWZhdWx0JyB0byAnSW1wb3J0RGVmYXVsdFNwZWNpZmllcidcbiAgICAgIGNvbnN0IGV4cG9ydHNLZXkgPSBleHBvcnRlZFZhbHVlID09PSBERUZBVUxUID8gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSIDogZXhwb3J0ZWRWYWx1ZTtcblxuICAgICAgY29uc3QgZXhwb3J0U3RhdGVtZW50ID0gZXhwb3J0cy5nZXQoZXhwb3J0c0tleSk7XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gZXhwb3J0c0tleSA9PT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSID8gREVGQVVMVCA6IGV4cG9ydHNLZXk7XG5cbiAgICAgIGlmICh0eXBlb2YgZXhwb3J0U3RhdGVtZW50ICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICAgIGlmIChleHBvcnRTdGF0ZW1lbnQud2hlcmVVc2VkLnNpemUgPCAxKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBgZXhwb3J0ZWQgZGVjbGFyYXRpb24gJyR7dmFsdWV9JyBub3QgdXNlZCB3aXRoaW4gb3RoZXIgbW9kdWxlc2BcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGV4cG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVFeHBvcnRVc2FnZSA9IG5vZGUgPT4ge1xuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KGZpbGUpO1xuXG4gICAgICAvLyBuZXcgbW9kdWxlIGhhcyBiZWVuIGNyZWF0ZWQgZHVyaW5nIHJ1bnRpbWVcbiAgICAgIC8vIGluY2x1ZGUgaXQgaW4gZnVydGhlciBwcm9jZXNzaW5nXG4gICAgICBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0V4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICBjb25zdCBuZXdFeHBvcnRJZGVudGlmaWVycyA9IG5ldyBTZXQoKTtcblxuICAgICAgbm9kZS5ib2R5LmZvckVhY2goKHsgdHlwZSwgZGVjbGFyYXRpb24sIHNwZWNpZmllcnMgfSkgPT4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gRVhQT1JUX0RFRkFVTFRfREVDTEFSQVRJT04pIHtcbiAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgaWYgKHNwZWNpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3BlY2lmaWVycy5mb3JFYWNoKHNwZWNpZmllciA9PiB7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXIuZXhwb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQoc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZm9yRWFjaERlY2xhcmF0aW9uSWRlbnRpZmllcihkZWNsYXJhdGlvbiwgKG5hbWUpID0+IHtcbiAgICAgICAgICAgIG5ld0V4cG9ydElkZW50aWZpZXJzLmFkZChuYW1lKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIG9sZCBleHBvcnRzIGV4aXN0IHdpdGhpbiBsaXN0IG9mIG5ldyBleHBvcnRzIGlkZW50aWZpZXJzOiBhZGQgdG8gbWFwIG9mIG5ldyBleHBvcnRzXG4gICAgICBleHBvcnRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKG5ld0V4cG9ydElkZW50aWZpZXJzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgbmV3RXhwb3J0cy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBuZXcgZXhwb3J0IGlkZW50aWZpZXJzIGFkZGVkOiBhZGQgdG8gbWFwIG9mIG5ldyBleHBvcnRzXG4gICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmICghZXhwb3J0cy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHByZXNlcnZlIGluZm9ybWF0aW9uIGFib3V0IG5hbWVzcGFjZSBpbXBvcnRzXG4gICAgICBjb25zdCBleHBvcnRBbGwgPSBleHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgIGxldCBuYW1lc3BhY2VJbXBvcnRzID0gZXhwb3J0cy5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuXG4gICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZUltcG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG5hbWVzcGFjZUltcG9ydHMgPSB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH07XG4gICAgICB9XG5cbiAgICAgIG5ld0V4cG9ydHMuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIGV4cG9ydEFsbCk7XG4gICAgICBuZXdFeHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cyk7XG4gICAgICBleHBvcnRMaXN0LnNldChmaWxlLCBuZXdFeHBvcnRzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVJbXBvcnRVc2FnZSA9IG5vZGUgPT4ge1xuICAgICAgaWYgKCF1bnVzZWRFeHBvcnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IG9sZEltcG9ydFBhdGhzID0gaW1wb3J0TGlzdC5nZXQoZmlsZSk7XG4gICAgICBpZiAodHlwZW9mIG9sZEltcG9ydFBhdGhzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBvbGRJbXBvcnRQYXRocyA9IG5ldyBNYXAoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb2xkTmFtZXNwYWNlSW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IG5ld05hbWVzcGFjZUltcG9ydHMgPSBuZXcgU2V0KCk7XG5cbiAgICAgIGNvbnN0IG9sZEV4cG9ydEFsbCA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IG5ld0V4cG9ydEFsbCA9IG5ldyBTZXQoKTtcblxuICAgICAgY29uc3Qgb2xkRGVmYXVsdEltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICBjb25zdCBuZXdEZWZhdWx0SW1wb3J0cyA9IG5ldyBTZXQoKTtcblxuICAgICAgY29uc3Qgb2xkSW1wb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgIGNvbnN0IG5ld0ltcG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICBvbGRJbXBvcnRQYXRocy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5oYXMoRVhQT1JUX0FMTF9ERUNMQVJBVElPTikpIHtcbiAgICAgICAgICBvbGRFeHBvcnRBbGwuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmhhcyhJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUikpIHtcbiAgICAgICAgICBvbGROYW1lc3BhY2VJbXBvcnRzLmFkZChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZS5oYXMoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKSkge1xuICAgICAgICAgIG9sZERlZmF1bHRJbXBvcnRzLmFkZChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgICAgICBpZiAodmFsICE9PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiAmJlxuICAgICAgICAgICAgICB2YWwgIT09IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUikge1xuICAgICAgICAgICAgb2xkSW1wb3J0cy5zZXQodmFsLCBrZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgbm9kZS5ib2R5LmZvckVhY2goYXN0Tm9kZSA9PiB7XG4gICAgICAgIGxldCByZXNvbHZlZFBhdGg7XG5cbiAgICAgICAgLy8gc3VwcG9ydCBmb3IgZXhwb3J0IHsgdmFsdWUgfSBmcm9tICdtb2R1bGUnXG4gICAgICAgIGlmIChhc3ROb2RlLnR5cGUgPT09IEVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTikge1xuICAgICAgICAgIGlmIChhc3ROb2RlLnNvdXJjZSkge1xuICAgICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dCk7XG4gICAgICAgICAgICBhc3ROb2RlLnNwZWNpZmllcnMuZm9yRWFjaChzcGVjaWZpZXIgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuYW1lID0gc3BlY2lmaWVyLmxvY2FsLm5hbWU7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXIubG9jYWwubmFtZSA9PT0gREVGQVVMVCkge1xuICAgICAgICAgICAgICAgIG5ld0RlZmF1bHRJbXBvcnRzLmFkZChyZXNvbHZlZFBhdGgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld0ltcG9ydHMuc2V0KG5hbWUsIHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhc3ROb2RlLnR5cGUgPT09IEVYUE9SVF9BTExfREVDTEFSQVRJT04pIHtcbiAgICAgICAgICByZXNvbHZlZFBhdGggPSByZXNvbHZlKGFzdE5vZGUuc291cmNlLnJhdy5yZXBsYWNlKC8oJ3xcIikvZywgJycpLCBjb250ZXh0KTtcbiAgICAgICAgICBuZXdFeHBvcnRBbGwuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXN0Tm9kZS50eXBlID09PSBJTVBPUlRfREVDTEFSQVRJT04pIHtcbiAgICAgICAgICByZXNvbHZlZFBhdGggPSByZXNvbHZlKGFzdE5vZGUuc291cmNlLnJhdy5yZXBsYWNlKC8oJ3xcIikvZywgJycpLCBjb250ZXh0KTtcbiAgICAgICAgICBpZiAoIXJlc29sdmVkUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc05vZGVNb2R1bGUocmVzb2x2ZWRQYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChuZXdOYW1lc3BhY2VJbXBvcnRFeGlzdHMoYXN0Tm9kZS5zcGVjaWZpZXJzKSkge1xuICAgICAgICAgICAgbmV3TmFtZXNwYWNlSW1wb3J0cy5hZGQocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobmV3RGVmYXVsdEltcG9ydEV4aXN0cyhhc3ROb2RlLnNwZWNpZmllcnMpKSB7XG4gICAgICAgICAgICBuZXdEZWZhdWx0SW1wb3J0cy5hZGQocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhc3ROb2RlLnNwZWNpZmllcnMuZm9yRWFjaChzcGVjaWZpZXIgPT4ge1xuICAgICAgICAgICAgaWYgKHNwZWNpZmllci50eXBlID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgfHxcbiAgICAgICAgICAgICAgICBzcGVjaWZpZXIudHlwZSA9PT0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3SW1wb3J0cy5zZXQoc3BlY2lmaWVyLmltcG9ydGVkLm5hbWUsIHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBuZXdFeHBvcnRBbGwuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghb2xkRXhwb3J0QWxsLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBsZXQgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpbXBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICAgICAgb2xkSW1wb3J0UGF0aHMuc2V0KHZhbHVlLCBpbXBvcnRzKTtcblxuICAgICAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0O1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgICBleHBvcnRzLnNldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OLCB7IHdoZXJlVXNlZCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBvbGRFeHBvcnRBbGwuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghbmV3RXhwb3J0QWxsLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5kZWxldGUoZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbmV3RGVmYXVsdEltcG9ydHMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghb2xkRGVmYXVsdEltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGxldCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpZiAodHlwZW9mIGltcG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBpbXBvcnRzID0gbmV3IFNldCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbXBvcnRzLmFkZChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgICAgIG9sZEltcG9ydFBhdGhzLnNldCh2YWx1ZSwgaW1wb3J0cyk7XG5cbiAgICAgICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBsZXQgY3VycmVudEV4cG9ydDtcbiAgICAgICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0ID0gZXhwb3J0cy5nZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG9sZERlZmF1bHRJbXBvcnRzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBpZiAoIW5ld0RlZmF1bHRJbXBvcnRzLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuXG4gICAgICAgICAgY29uc3QgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RXhwb3J0ID0gZXhwb3J0cy5nZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuZGVsZXRlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld05hbWVzcGFjZUltcG9ydHMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghb2xkTmFtZXNwYWNlSW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpO1xuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkTmFtZXNwYWNlSW1wb3J0cy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKCFuZXdOYW1lc3BhY2VJbXBvcnRzLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUik7XG5cbiAgICAgICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUik7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBuZXdJbXBvcnRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCFvbGRJbXBvcnRzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKGtleSk7XG4gICAgICAgICAgb2xkSW1wb3J0UGF0aHMuc2V0KHZhbHVlLCBpbXBvcnRzKTtcblxuICAgICAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0O1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChrZXkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZXhwb3J0TGlzdC5zZXQodmFsdWUsIGV4cG9ydHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgd2hlcmVVc2VkID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkSW1wb3J0cy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmICghbmV3SW1wb3J0cy5oYXMoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGltcG9ydHMuZGVsZXRlKGtleSk7XG5cbiAgICAgICAgICBjb25zdCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChrZXkpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5kZWxldGUoZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBub2RlID0+IHtcbiAgICAgICAgdXBkYXRlRXhwb3J0VXNhZ2Uobm9kZSk7XG4gICAgICAgIHVwZGF0ZUltcG9ydFVzYWdlKG5vZGUpO1xuICAgICAgICBjaGVja0V4cG9ydFByZXNlbmNlKG5vZGUpO1xuICAgICAgfSxcbiAgICAgICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nOiBub2RlID0+IHtcbiAgICAgICAgY2hlY2tVc2FnZShub2RlLCBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgfSxcbiAgICAgICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJzogbm9kZSA9PiB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKHNwZWNpZmllciA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShub2RlLCBzcGVjaWZpZXIuZXhwb3J0ZWQubmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JFYWNoRGVjbGFyYXRpb25JZGVudGlmaWVyKG5vZGUuZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShub2RlLCBuYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js b/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js index 10b65740c..dc38f31c8 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js @@ -97,7 +97,7 @@ module.exports = { // Try to find ambiguous imports if (parentDirectory !== '.' && parentDirectory !== '..') { - for (let fileExtension of fileExtensions) { + for (const fileExtension of fileExtensions) { if ((0, _resolve2.default)(`${parentDirectory}${fileExtension}`, context)) { return reportWithProposedPath(`${parentDirectory}/`); } @@ -142,4 +142,4 @@ module.exports = { return (0, _moduleVisitor2.default)(checkSourceValue, options); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMuanMiXSwibmFtZXMiOlsidG9SZWxhdGl2ZVBhdGgiLCJyZWxhdGl2ZVBhdGgiLCJzdHJpcHBlZCIsInJlcGxhY2UiLCJ0ZXN0Iiwibm9ybWFsaXplIiwiZm4iLCJwYXRoIiwicG9zaXgiLCJjb3VudFJlbGF0aXZlUGFyZW50cyIsInBhdGhTZWdtZW50cyIsInJlZHVjZSIsInN1bSIsInBhdGhTZWdtZW50IiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImZpeGFibGUiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiY29tbW9uanMiLCJub1VzZWxlc3NJbmRleCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiY3JlYXRlIiwiY29udGV4dCIsImN1cnJlbnREaXIiLCJkaXJuYW1lIiwiZ2V0RmlsZW5hbWUiLCJvcHRpb25zIiwiY2hlY2tTb3VyY2VWYWx1ZSIsInNvdXJjZSIsImltcG9ydFBhdGgiLCJ2YWx1ZSIsInJlcG9ydFdpdGhQcm9wb3NlZFBhdGgiLCJwcm9wb3NlZFBhdGgiLCJyZXBvcnQiLCJub2RlIiwibWVzc2FnZSIsImZpeCIsImZpeGVyIiwicmVwbGFjZVRleHQiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhcnRzV2l0aCIsInJlc29sdmVkUGF0aCIsIm5vcm1lZFBhdGgiLCJyZXNvbHZlZE5vcm1lZFBhdGgiLCJmaWxlRXh0ZW5zaW9ucyIsInNldHRpbmdzIiwicmVnZXhVbm5lY2Vzc2FyeUluZGV4IiwiUmVnRXhwIiwiQXJyYXkiLCJmcm9tIiwiam9pbiIsInBhcmVudERpcmVjdG9yeSIsImZpbGVFeHRlbnNpb24iLCJ1bmRlZmluZWQiLCJleHBlY3RlZCIsInJlbGF0aXZlIiwiZXhwZWN0ZWRTcGxpdCIsInNwbGl0Iiwic2VwIiwiaW1wb3J0UGF0aFNwbGl0IiwiY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzIiwiY291bnRFeHBl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O0FBRUdHLFlBRkgsQ0FFVUwsZ0JBQWdCSSxLQUFoQixDQUFzQkgsaUNBQWlDRSxJQUF2RCxDQUZWO0FBR0daLFVBSEgsQ0FHUSxHQUhSLENBREYsQ0FESyxDQUFQOzs7QUFRRDs7QUFFRCxXQUFPLDZCQUFjeEIsZ0JBQWQsRUFBZ0NELE9BQWhDLENBQVA7QUFDRCxHQXpHYyxFQUFqQiIsImZpbGUiOiJuby11c2VsZXNzLXBhdGgtc2VnbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IHRoZXJlIGFyZSBubyB1c2VsZXNzIHBhdGggc2VnbWVudHNcbiAqIEBhdXRob3IgVGhvbWFzIEdyYWluZ2VyXG4gKi9cblxuaW1wb3J0IHsgZ2V0RmlsZUV4dGVuc2lvbnMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2lnbm9yZSdcbmltcG9ydCBtb2R1bGVWaXNpdG9yIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvbW9kdWxlVmlzaXRvcidcbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSdcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG4vKipcbiAqIGNvbnZlcnQgYSBwb3RlbnRpYWxseSByZWxhdGl2ZSBwYXRoIGZyb20gbm9kZSB1dGlscyBpbnRvIGEgdHJ1ZVxuICogcmVsYXRpdmUgcGF0aC5cbiAqXG4gKiAuLi8gLT4gLi5cbiAqIC4vIC0+IC5cbiAqIC5mb28vYmFyIC0+IC4vLmZvby9iYXJcbiAqIC4uZm9vL2JhciAtPiAuLy4uZm9vL2JhclxuICogZm9vL2JhciAtPiAuL2Zvby9iYXJcbiAqXG4gKiBAcGFyYW0gcmVsYXRpdmVQYXRoIHtzdHJpbmd9IHJlbGF0aXZlIHBvc2l4IHBhdGggcG90ZW50aWFsbHkgbWlzc2luZyBsZWFkaW5nICcuLydcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHJlbGF0aXZlIHBvc2l4IHBhdGggdGhhdCBhbHdheXMgc3RhcnRzIHdpdGggYSAuL1xuICoqL1xuZnVuY3Rpb24gdG9SZWxhdGl2ZVBhdGgocmVsYXRpdmVQYXRoKSB7XG4gIGNvbnN0IHN0cmlwcGVkID0gcmVsYXRpdmVQYXRoLnJlcGxhY2UoL1xcLyQvZywgJycpIC8vIFJlbW92ZSB0cmFpbGluZyAvXG5cbiAgcmV0dXJuIC9eKChcXC5cXC4pfChcXC4pKSgkfFxcLykvLnRlc3Qoc3RyaXBwZWQpID8gc3RyaXBwZWQgOiBgLi8ke3N0cmlwcGVkfWBcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplKGZuKSB7XG4gIHJldHVybiB0b1JlbGF0aXZlUGF0aChwYXRoLnBvc2l4Lm5vcm1hbGl6ZShmbikpXG59XG5cbmZ1bmN0aW9uIGNvdW50UmVsYXRpdmVQYXJlbnRzKHBhdGhTZWdtZW50cykge1xuICByZXR1cm4gcGF0aFNlZ21lbnRzLnJlZHVjZSgoc3VtLCBwYXRoU2VnbWVudCkgPT4gcGF0aFNlZ21lbnQgPT09ICcuLicgPyBzdW0gKyAxIDogc3VtLCAwKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cycpLFxuICAgIH0sXG5cbiAgICBmaXhhYmxlOiAnY29kZScsXG5cbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBjb21tb25qczogeyB0eXBlOiAnYm9vbGVhbicgfSxcbiAgICAgICAgICBub1VzZWxlc3NJbmRleDogeyB0eXBlOiAnYm9vbGVhbicgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3QgY3VycmVudERpciA9IHBhdGguZGlybmFtZShjb250ZXh0LmdldEZpbGVuYW1lKCkpXG4gICAgY29uc3Qgb3B0aW9ucyA9IGNvbnRleHQub3B0aW9uc1swXVxuXG4gICAgZnVuY3Rpb24gY2hlY2tTb3VyY2VWYWx1ZShzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWU6IGltcG9ydFBhdGggfSA9IHNvdXJjZVxuXG4gICAgICBmdW5jdGlvbiByZXBvcnRXaXRoUHJvcG9zZWRQYXRoKHByb3Bvc2VkUGF0aCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZTogc291cmNlLFxuICAgICAgICAgIC8vIE5vdGU6IFVzaW5nIG1lc3NhZ2VJZHMgaXMgbm90IHBvc3NpYmxlIGR1ZSB0byB0aGUgc3VwcG9ydCBmb3IgRVNMaW50IDIgYW5kIDNcbiAgICAgICAgICBtZXNzYWdlOiBgVXNlbGVzcyBwYXRoIHNlZ21lbnRzIGZvciBcIiR7aW1wb3J0UGF0aH1cIiwgc2hvdWxkIGJlIFwiJHtwcm9wb3NlZFBhdGh9XCJgLFxuICAgICAgICAgIGZpeDogZml4ZXIgPT4gcHJvcG9zZWRQYXRoICYmIGZpeGVyLnJlcGxhY2VUZXh0KHNvdXJjZSwgSlNPTi5zdHJpbmdpZnkocHJvcG9zZWRQYXRoKSksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgcmVsYXRpdmUgaW1wb3J0cyBhcmUgcmVsZXZhbnQgZm9yIHRoaXMgcnVsZSAtLT4gU2tpcCBjaGVja2luZ1xuICAgICAgaWYgKCFpbXBvcnRQYXRoLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3J0IHJ1bGUgdmlvbGF0aW9uIGlmIHBhdGggaXMgbm90IHRoZSBzaG9ydGVzdCBwb3NzaWJsZVxuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShpbXBvcnRQYXRoLCBjb250ZXh0KVxuICAgICAgY29uc3Qgbm9ybWVkUGF0aCA9IG5vcm1hbGl6ZShpbXBvcnRQYXRoKVxuICAgICAgY29uc3QgcmVzb2x2ZWROb3JtZWRQYXRoID0gcmVzb2x2ZShub3JtZWRQYXRoLCBjb250ZXh0KVxuICAgICAgaWYgKG5vcm1lZFBhdGggIT09IGltcG9ydFBhdGggJiYgcmVzb2x2ZWRQYXRoID09PSByZXNvbHZlZE5vcm1lZFBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHJlcG9ydFdpdGhQcm9wb3NlZFBhdGgobm9ybWVkUGF0aClcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSBnZXRGaWxlRXh0ZW5zaW9ucyhjb250ZXh0LnNldHRpbmdzKVxuICAgICAgY29uc3QgcmVnZXhVbm5lY2Vzc2FyeUluZGV4ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgYC4qXFxcXC9pbmRleChcXFxcJHtBcnJheS5mcm9tKGZpbGVFeHRlbnNpb25zKS5qb2luKCd8XFxcXCcpfSk/JGBcbiAgICAgIClcblxuICAgICAgLy8gQ2hlY2sgaWYgcGF0aCBjb250YWlucyB1bm5lY2Vzc2FyeSBpbmRleCAoaW5jbHVkaW5nIGEgY29uZmlndXJlZCBleHRlbnNpb24pXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLm5vVXNlbGVzc0luZGV4ICYmIHJlZ2V4VW5uZWNlc3NhcnlJbmRleC50ZXN0KGltcG9ydFBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudERpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRQYXRoKVxuXG4gICAgICAgIC8vIFRyeSB0byBmaW5kIGFtYmlndW91cyBpbXBvcnRzXG4gICAgICAgIGlmIChwYXJlbnREaXJlY3RvcnkgIT09ICcuJyAmJiBwYXJlbnREaXJlY3RvcnkgIT09ICcuLicpIHtcbiAgICAgICAgICBmb3IgKGxldCBmaWxlRXh0ZW5zaW9uIG9mIGZpbGVFeHRlbnNpb25zKSB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZShgJHtwYXJlbnREaXJlY3Rvcnl9JHtmaWxlRXh0ZW5zaW9ufWAsIGNvbnRleHQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZXBvcnRXaXRoUHJvcG9zZWRQYXRoKGAke3BhcmVudERpcmVjdG9yeX0vYClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVwb3J0V2l0aFByb3Bvc2VkUGF0aChwYXJlbnREaXJlY3RvcnkpXG4gICAgICB9XG5cbiAgICAgIC8vIFBhdGggaXMgc2hvcnRlc3QgcG9zc2libGUgKyBzdGFydHMgZnJvbSB0aGUgY3VycmVudCBkaXJlY3RvcnkgLS0+IFJldHVybiBkaXJlY3RseVxuICAgICAgaWYgKGltcG9ydFBhdGguc3RhcnRzV2l0aCgnLi8nKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gUGF0aCBpcyBub3QgZXhpc3RpbmcgLS0+IFJldHVybiBkaXJlY3RseSAoZm9sbG93aW5nIGNvZGUgcmVxdWlyZXMgcGF0aCB0byBiZSBkZWZpbmVkKVxuICAgICAgaWYgKHJlc29sdmVkUGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBleHBlY3RlZCA9IHBhdGgucmVsYXRpdmUoY3VycmVudERpciwgcmVzb2x2ZWRQYXRoKSAvLyBFeHBlY3RlZCBpbXBvcnQgcGF0aFxuICAgICAgY29uc3QgZXhwZWN0ZWRTcGxpdCA9IGV4cGVjdGVkLnNwbGl0KHBhdGguc2VwKSAvLyBTcGxpdCBieSAvIG9yIFxcIChkZXBlbmRpbmcgb24gT1MpXG4gICAgICBjb25zdCBpbXBvcnRQYXRoU3BsaXQgPSBpbXBvcnRQYXRoLnJlcGxhY2UoL15cXC5cXC8vLCAnJykuc3BsaXQoJy8nKVxuICAgICAgY29uc3QgY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzID0gY291bnRSZWxhdGl2ZVBhcmVudHMoaW1wb3J0UGF0aFNwbGl0KVxuICAgICAgY29uc3QgY291bnRFeHBlY3RlZFJlbGF0aXZlUGFyZW50cyA9IGNvdW50UmVsYXRpdmVQYXJlbnRzKGV4cGVjdGVkU3BsaXQpXG4gICAgICBjb25zdCBkaWZmID0gY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzIC0gY291bnRFeHBlY3RlZFJlbGF0aXZlUGFyZW50c1xuXG4gICAgICAvLyBTYW1lIG51bWJlciBvZiByZWxhdGl2ZSBwYXJlbnRzIC0tPiBQYXRocyBhcmUgdGhlIHNhbWUgLS0+IFJldHVybiBkaXJlY3RseVxuICAgICAgaWYgKGRpZmYgPD0gMCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3J0IGFuZCBwcm9wb3NlIG1pbmltYWwgbnVtYmVyIG9mIHJlcXVpcmVkIHJlbGF0aXZlIHBhcmVudHNcbiAgICAgIHJldHVybiByZXBvcnRXaXRoUHJvcG9zZWRQYXRoKFxuICAgICAgICB0b1JlbGF0aXZlUGF0aChcbiAgICAgICAgICBpbXBvcnRQYXRoU3BsaXRcbiAgICAgICAgICAgIC5zbGljZSgwLCBjb3VudEV4cGVjdGVkUmVsYXRpdmVQYXJlbnRzKVxuICAgICAgICAgICAgLmNvbmNhdChpbXBvcnRQYXRoU3BsaXQuc2xpY2UoY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzICsgZGlmZikpXG4gICAgICAgICAgICAuam9pbignLycpXG4gICAgICAgIClcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcihjaGVja1NvdXJjZVZhbHVlLCBvcHRpb25zKVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMuanMiXSwibmFtZXMiOlsidG9SZWxhdGl2ZVBhdGgiLCJyZWxhdGl2ZVBhdGgiLCJzdHJpcHBlZCIsInJlcGxhY2UiLCJ0ZXN0Iiwibm9ybWFsaXplIiwiZm4iLCJwYXRoIiwicG9zaXgiLCJjb3VudFJlbGF0aXZlUGFyZW50cyIsInBhdGhTZWdtZW50cyIsInJlZHVjZSIsInN1bSIsInBhdGhTZWdtZW50IiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsImZpeGFibGUiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwiY29tbW9uanMiLCJub1VzZWxlc3NJbmRleCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiY3JlYXRlIiwiY29udGV4dCIsImN1cnJlbnREaXIiLCJkaXJuYW1lIiwiZ2V0RmlsZW5hbWUiLCJvcHRpb25zIiwiY2hlY2tTb3VyY2VWYWx1ZSIsInNvdXJjZSIsImltcG9ydFBhdGgiLCJ2YWx1ZSIsInJlcG9ydFdpdGhQcm9wb3NlZFBhdGgiLCJwcm9wb3NlZFBhdGgiLCJyZXBvcnQiLCJub2RlIiwibWVzc2FnZSIsImZpeCIsImZpeGVyIiwicmVwbGFjZVRleHQiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhcnRzV2l0aCIsInJlc29sdmVkUGF0aCIsIm5vcm1lZFBhdGgiLCJyZXNvbHZlZE5vcm1lZFBhdGgiLCJmaWxlRXh0ZW5zaW9ucyIsInNldHRpbmdzIiwicmVnZXhVbm5lY2Vzc2FyeUluZGV4IiwiUmVnRXhwIiwiQXJyYXkiLCJmcm9tIiwiam9pbiIsInBhcmVudERpcmVjdG9yeSIsImZpbGVFeHRlbnNpb24iLCJ1bmRlZmluZWQiLCJleHBlY3RlZCIsInJlbGF0aXZlIiwiZXhwZWN0ZWRTcGxpdCIsInNwbGl0Iiwic2VwIiwiaW1wb3J0UGF0aFNwbGl0IiwiY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzIiwiY291bnRFeHBl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WjtBQUVHRyxZQUZILENBRVVMLGdCQUFnQkksS0FBaEIsQ0FBc0JILGlDQUFpQ0UsSUFBdkQsQ0FGVjtBQUdHWixVQUhILENBR1EsR0FIUixDQURGLENBREssQ0FBUDs7O0FBUUQ7O0FBRUQsV0FBTyw2QkFBY3hCLGdCQUFkLEVBQWdDRCxPQUFoQyxDQUFQO0FBQ0QsR0F6R2MsRUFBakIiLCJmaWxlIjoibm8tdXNlbGVzcy1wYXRoLXNlZ21lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZU92ZXJ2aWV3IEVuc3VyZXMgdGhhdCB0aGVyZSBhcmUgbm8gdXNlbGVzcyBwYXRoIHNlZ21lbnRzXG4gKiBAYXV0aG9yIFRob21hcyBHcmFpbmdlclxuICovXG5cbmltcG9ydCB7IGdldEZpbGVFeHRlbnNpb25zIH0gZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9pZ25vcmUnO1xuaW1wb3J0IG1vZHVsZVZpc2l0b3IgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9tb2R1bGVWaXNpdG9yJztcbmltcG9ydCByZXNvbHZlIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVzb2x2ZSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnO1xuXG4vKipcbiAqIGNvbnZlcnQgYSBwb3RlbnRpYWxseSByZWxhdGl2ZSBwYXRoIGZyb20gbm9kZSB1dGlscyBpbnRvIGEgdHJ1ZVxuICogcmVsYXRpdmUgcGF0aC5cbiAqXG4gKiAuLi8gLT4gLi5cbiAqIC4vIC0+IC5cbiAqIC5mb28vYmFyIC0+IC4vLmZvby9iYXJcbiAqIC4uZm9vL2JhciAtPiAuLy4uZm9vL2JhclxuICogZm9vL2JhciAtPiAuL2Zvby9iYXJcbiAqXG4gKiBAcGFyYW0gcmVsYXRpdmVQYXRoIHtzdHJpbmd9IHJlbGF0aXZlIHBvc2l4IHBhdGggcG90ZW50aWFsbHkgbWlzc2luZyBsZWFkaW5nICcuLydcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHJlbGF0aXZlIHBvc2l4IHBhdGggdGhhdCBhbHdheXMgc3RhcnRzIHdpdGggYSAuL1xuICoqL1xuZnVuY3Rpb24gdG9SZWxhdGl2ZVBhdGgocmVsYXRpdmVQYXRoKSB7XG4gIGNvbnN0IHN0cmlwcGVkID0gcmVsYXRpdmVQYXRoLnJlcGxhY2UoL1xcLyQvZywgJycpOyAvLyBSZW1vdmUgdHJhaWxpbmcgL1xuXG4gIHJldHVybiAvXigoXFwuXFwuKXwoXFwuKSkoJHxcXC8pLy50ZXN0KHN0cmlwcGVkKSA/IHN0cmlwcGVkIDogYC4vJHtzdHJpcHBlZH1gO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemUoZm4pIHtcbiAgcmV0dXJuIHRvUmVsYXRpdmVQYXRoKHBhdGgucG9zaXgubm9ybWFsaXplKGZuKSk7XG59XG5cbmZ1bmN0aW9uIGNvdW50UmVsYXRpdmVQYXJlbnRzKHBhdGhTZWdtZW50cykge1xuICByZXR1cm4gcGF0aFNlZ21lbnRzLnJlZHVjZSgoc3VtLCBwYXRoU2VnbWVudCkgPT4gcGF0aFNlZ21lbnQgPT09ICcuLicgPyBzdW0gKyAxIDogc3VtLCAwKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby11c2VsZXNzLXBhdGgtc2VnbWVudHMnKSxcbiAgICB9LFxuXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgY29tbW9uanM6IHsgdHlwZTogJ2Jvb2xlYW4nIH0sXG4gICAgICAgICAgbm9Vc2VsZXNzSW5kZXg6IHsgdHlwZTogJ2Jvb2xlYW4nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGN1cnJlbnREaXIgPSBwYXRoLmRpcm5hbWUoY29udGV4dC5nZXRGaWxlbmFtZSgpKTtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdO1xuXG4gICAgZnVuY3Rpb24gY2hlY2tTb3VyY2VWYWx1ZShzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWU6IGltcG9ydFBhdGggfSA9IHNvdXJjZTtcblxuICAgICAgZnVuY3Rpb24gcmVwb3J0V2l0aFByb3Bvc2VkUGF0aChwcm9wb3NlZFBhdGgpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHNvdXJjZSxcbiAgICAgICAgICAvLyBOb3RlOiBVc2luZyBtZXNzYWdlSWRzIGlzIG5vdCBwb3NzaWJsZSBkdWUgdG8gdGhlIHN1cHBvcnQgZm9yIEVTTGludCAyIGFuZCAzXG4gICAgICAgICAgbWVzc2FnZTogYFVzZWxlc3MgcGF0aCBzZWdtZW50cyBmb3IgXCIke2ltcG9ydFBhdGh9XCIsIHNob3VsZCBiZSBcIiR7cHJvcG9zZWRQYXRofVwiYCxcbiAgICAgICAgICBmaXg6IGZpeGVyID0+IHByb3Bvc2VkUGF0aCAmJiBmaXhlci5yZXBsYWNlVGV4dChzb3VyY2UsIEpTT04uc3RyaW5naWZ5KHByb3Bvc2VkUGF0aCkpLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gT25seSByZWxhdGl2ZSBpbXBvcnRzIGFyZSByZWxldmFudCBmb3IgdGhpcyBydWxlIC0tPiBTa2lwIGNoZWNraW5nXG4gICAgICBpZiAoIWltcG9ydFBhdGguc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3J0IHJ1bGUgdmlvbGF0aW9uIGlmIHBhdGggaXMgbm90IHRoZSBzaG9ydGVzdCBwb3NzaWJsZVxuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShpbXBvcnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IG5vcm1lZFBhdGggPSBub3JtYWxpemUoaW1wb3J0UGF0aCk7XG4gICAgICBjb25zdCByZXNvbHZlZE5vcm1lZFBhdGggPSByZXNvbHZlKG5vcm1lZFBhdGgsIGNvbnRleHQpO1xuICAgICAgaWYgKG5vcm1lZFBhdGggIT09IGltcG9ydFBhdGggJiYgcmVzb2x2ZWRQYXRoID09PSByZXNvbHZlZE5vcm1lZFBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHJlcG9ydFdpdGhQcm9wb3NlZFBhdGgobm9ybWVkUGF0aCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb25zID0gZ2V0RmlsZUV4dGVuc2lvbnMoY29udGV4dC5zZXR0aW5ncyk7XG4gICAgICBjb25zdCByZWdleFVubmVjZXNzYXJ5SW5kZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICBgLipcXFxcL2luZGV4KFxcXFwke0FycmF5LmZyb20oZmlsZUV4dGVuc2lvbnMpLmpvaW4oJ3xcXFxcJyl9KT8kYFxuICAgICAgKTtcblxuICAgICAgLy8gQ2hlY2sgaWYgcGF0aCBjb250YWlucyB1bm5lY2Vzc2FyeSBpbmRleCAoaW5jbHVkaW5nIGEgY29uZmlndXJlZCBleHRlbnNpb24pXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLm5vVXNlbGVzc0luZGV4ICYmIHJlZ2V4VW5uZWNlc3NhcnlJbmRleC50ZXN0KGltcG9ydFBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudERpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRQYXRoKTtcblxuICAgICAgICAvLyBUcnkgdG8gZmluZCBhbWJpZ3VvdXMgaW1wb3J0c1xuICAgICAgICBpZiAocGFyZW50RGlyZWN0b3J5ICE9PSAnLicgJiYgcGFyZW50RGlyZWN0b3J5ICE9PSAnLi4nKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWxlRXh0ZW5zaW9uIG9mIGZpbGVFeHRlbnNpb25zKSB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZShgJHtwYXJlbnREaXJlY3Rvcnl9JHtmaWxlRXh0ZW5zaW9ufWAsIGNvbnRleHQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZXBvcnRXaXRoUHJvcG9zZWRQYXRoKGAke3BhcmVudERpcmVjdG9yeX0vYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcG9ydFdpdGhQcm9wb3NlZFBhdGgocGFyZW50RGlyZWN0b3J5KTtcbiAgICAgIH1cblxuICAgICAgLy8gUGF0aCBpcyBzaG9ydGVzdCBwb3NzaWJsZSArIHN0YXJ0cyBmcm9tIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAtLT4gUmV0dXJuIGRpcmVjdGx5XG4gICAgICBpZiAoaW1wb3J0UGF0aC5zdGFydHNXaXRoKCcuLycpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gUGF0aCBpcyBub3QgZXhpc3RpbmcgLS0+IFJldHVybiBkaXJlY3RseSAoZm9sbG93aW5nIGNvZGUgcmVxdWlyZXMgcGF0aCB0byBiZSBkZWZpbmVkKVxuICAgICAgaWYgKHJlc29sdmVkUGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXhwZWN0ZWQgPSBwYXRoLnJlbGF0aXZlKGN1cnJlbnREaXIsIHJlc29sdmVkUGF0aCk7IC8vIEV4cGVjdGVkIGltcG9ydCBwYXRoXG4gICAgICBjb25zdCBleHBlY3RlZFNwbGl0ID0gZXhwZWN0ZWQuc3BsaXQocGF0aC5zZXApOyAvLyBTcGxpdCBieSAvIG9yIFxcIChkZXBlbmRpbmcgb24gT1MpXG4gICAgICBjb25zdCBpbXBvcnRQYXRoU3BsaXQgPSBpbXBvcnRQYXRoLnJlcGxhY2UoL15cXC5cXC8vLCAnJykuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGNvdW50SW1wb3J0UGF0aFJlbGF0aXZlUGFyZW50cyA9IGNvdW50UmVsYXRpdmVQYXJlbnRzKGltcG9ydFBhdGhTcGxpdCk7XG4gICAgICBjb25zdCBjb3VudEV4cGVjdGVkUmVsYXRpdmVQYXJlbnRzID0gY291bnRSZWxhdGl2ZVBhcmVudHMoZXhwZWN0ZWRTcGxpdCk7XG4gICAgICBjb25zdCBkaWZmID0gY291bnRJbXBvcnRQYXRoUmVsYXRpdmVQYXJlbnRzIC0gY291bnRFeHBlY3RlZFJlbGF0aXZlUGFyZW50cztcblxuICAgICAgLy8gU2FtZSBudW1iZXIgb2YgcmVsYXRpdmUgcGFyZW50cyAtLT4gUGF0aHMgYXJlIHRoZSBzYW1lIC0tPiBSZXR1cm4gZGlyZWN0bHlcbiAgICAgIGlmIChkaWZmIDw9IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXBvcnQgYW5kIHByb3Bvc2UgbWluaW1hbCBudW1iZXIgb2YgcmVxdWlyZWQgcmVsYXRpdmUgcGFyZW50c1xuICAgICAgcmV0dXJuIHJlcG9ydFdpdGhQcm9wb3NlZFBhdGgoXG4gICAgICAgIHRvUmVsYXRpdmVQYXRoKFxuICAgICAgICAgIGltcG9ydFBhdGhTcGxpdFxuICAgICAgICAgICAgLnNsaWNlKDAsIGNvdW50RXhwZWN0ZWRSZWxhdGl2ZVBhcmVudHMpXG4gICAgICAgICAgICAuY29uY2F0KGltcG9ydFBhdGhTcGxpdC5zbGljZShjb3VudEltcG9ydFBhdGhSZWxhdGl2ZVBhcmVudHMgKyBkaWZmKSlcbiAgICAgICAgICAgIC5qb2luKCcvJylcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kdWxlVmlzaXRvcihjaGVja1NvdXJjZVZhbHVlLCBvcHRpb25zKTtcbiAgfSxcbn07XG4iXX0= \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js b/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js index df99f18a5..54ec37e51 100644 --- a/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +++ b/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js @@ -1,8 +1,8 @@ -'use strict';var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire); +'use strict';var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor); var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} function reportIfNonStandard(context, node, name) { - if (name.indexOf('!') !== -1) { + if (name && name.indexOf('!') !== -1) { context.report(node, `Unexpected '!' in '${name}'. ` + 'Do not use import syntax to configure webpack loaders.'); @@ -19,15 +19,8 @@ module.exports = { create: function (context) { - return { - ImportDeclaration: function handleImports(node) { - reportIfNonStandard(context, node, node.source.value); - }, - CallExpression: function handleRequires(node) { - if ((0, _staticRequire2.default)(node)) { - reportIfNonStandard(context, node, node.arguments[0].value); - } - } }; - + return (0, _moduleVisitor2.default)((source, node) => { + reportIfNonStandard(context, node, source.value); + }, { commonjs: true }); } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby13ZWJwYWNrLWxvYWRlci1zeW50YXguanMiXSwibmFtZXMiOlsicmVwb3J0SWZOb25TdGFuZGFyZCIsImNvbnRleHQiLCJub2RlIiwibmFtZSIsImluZGV4T2YiLCJyZXBvcnQiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiSW1wb3J0RGVjbGFyYXRpb24iLCJoYW5kbGVJbXBvcnRzIiwic291cmNlIiwidmFsdWUiLCJDYWxsRXhwcmVzc2lvbiIsImhhbmRsZVJlcXVpcmVzIiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxzRDtBQUNBLHFDOztBQUVBLFNBQVNBLG1CQUFULENBQTZCQyxPQUE3QixFQUFzQ0MsSUFBdEMsRUFBNENDLElBQTVDLEVBQWtEO0FBQ2hELE1BQUlBLEtBQUtDLE9BQUwsQ0FBYSxHQUFiLE1BQXNCLENBQUMsQ0FBM0IsRUFBOEI7QUFDNUJILFlBQVFJLE1BQVIsQ0FBZUgsSUFBZixFQUFzQixzQkFBcUJDLElBQUssS0FBM0I7QUFDbkIsNERBREY7O0FBR0Q7QUFDRjs7QUFFREcsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sU0FERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsMEJBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBVVosT0FBVixFQUFtQjtBQUN6QixXQUFPO0FBQ0xhLHlCQUFtQixTQUFTQyxhQUFULENBQXVCYixJQUF2QixFQUE2QjtBQUM5Q0YsNEJBQW9CQyxPQUFwQixFQUE2QkMsSUFBN0IsRUFBbUNBLEtBQUtjLE1BQUwsQ0FBWUMsS0FBL0M7QUFDRCxPQUhJO0FBSUxDLHNCQUFnQixTQUFTQyxjQUFULENBQXdCakIsSUFBeEIsRUFBOEI7QUFDNUMsWUFBSSw2QkFBZ0JBLElBQWhCLENBQUosRUFBMkI7QUFDekJGLDhCQUFvQkMsT0FBcEIsRUFBNkJDLElBQTdCLEVBQW1DQSxLQUFLa0IsU0FBTCxDQUFlLENBQWYsRUFBa0JILEtBQXJEO0FBQ0Q7QUFDRixPQVJJLEVBQVA7O0FBVUQsR0FwQmMsRUFBakIiLCJmaWxlIjoibm8td2VicGFjay1sb2FkZXItc3ludGF4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzU3RhdGljUmVxdWlyZSBmcm9tICcuLi9jb3JlL3N0YXRpY1JlcXVpcmUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5mdW5jdGlvbiByZXBvcnRJZk5vblN0YW5kYXJkKGNvbnRleHQsIG5vZGUsIG5hbWUpIHtcbiAgaWYgKG5hbWUuaW5kZXhPZignIScpICE9PSAtMSkge1xuICAgIGNvbnRleHQucmVwb3J0KG5vZGUsIGBVbmV4cGVjdGVkICchJyBpbiAnJHtuYW1lfScuIGAgK1xuICAgICAgJ0RvIG5vdCB1c2UgaW1wb3J0IHN5bnRheCB0byBjb25maWd1cmUgd2VicGFjayBsb2FkZXJzLidcbiAgICApXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAncHJvYmxlbScsXG4gICAgZG9jczoge1xuICAgICAgdXJsOiBkb2NzVXJsKCduby13ZWJwYWNrLWxvYWRlci1zeW50YXgnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogZnVuY3Rpb24gaGFuZGxlSW1wb3J0cyhub2RlKSB7XG4gICAgICAgIHJlcG9ydElmTm9uU3RhbmRhcmQoY29udGV4dCwgbm9kZSwgbm9kZS5zb3VyY2UudmFsdWUpXG4gICAgICB9LFxuICAgICAgQ2FsbEV4cHJlc3Npb246IGZ1bmN0aW9uIGhhbmRsZVJlcXVpcmVzKG5vZGUpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljUmVxdWlyZShub2RlKSkge1xuICAgICAgICAgIHJlcG9ydElmTm9uU3RhbmRhcmQoY29udGV4dCwgbm9kZSwgbm9kZS5hcmd1bWVudHNbMF0udmFsdWUpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby13ZWJwYWNrLWxvYWRlci1zeW50YXguanMiXSwibmFtZXMiOlsicmVwb3J0SWZOb25TdGFuZGFyZCIsImNvbnRleHQiLCJub2RlIiwibmFtZSIsImluZGV4T2YiLCJyZXBvcnQiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwic291cmNlIiwidmFsdWUiLCJjb21tb25qcyJdLCJtYXBwaW5ncyI6ImFBQUEsa0U7QUFDQSxxQzs7QUFFQSxTQUFTQSxtQkFBVCxDQUE2QkMsT0FBN0IsRUFBc0NDLElBQXRDLEVBQTRDQyxJQUE1QyxFQUFrRDtBQUNoRCxNQUFJQSxRQUFRQSxLQUFLQyxPQUFMLENBQWEsR0FBYixNQUFzQixDQUFDLENBQW5DLEVBQXNDO0FBQ3BDSCxZQUFRSSxNQUFSLENBQWVILElBQWYsRUFBc0Isc0JBQXFCQyxJQUFLLEtBQTNCO0FBQ25CLDREQURGOztBQUdEO0FBQ0Y7O0FBRURHLE9BQU9DLE9BQVAsR0FBaUI7QUFDZkMsUUFBTTtBQUNKQyxVQUFNLFNBREY7QUFFSkMsVUFBTTtBQUNKQyxXQUFLLHVCQUFRLDBCQUFSLENBREQsRUFGRjs7QUFLSkMsWUFBUSxFQUxKLEVBRFM7OztBQVNmQyxVQUFRLFVBQVVaLE9BQVYsRUFBbUI7QUFDekIsV0FBTyw2QkFBYyxDQUFDYSxNQUFELEVBQVNaLElBQVQsS0FBa0I7QUFDckNGLDBCQUFvQkMsT0FBcEIsRUFBNkJDLElBQTdCLEVBQW1DWSxPQUFPQyxLQUExQztBQUNELEtBRk0sRUFFSixFQUFFQyxVQUFVLElBQVosRUFGSSxDQUFQO0FBR0QsR0FiYyxFQUFqQiIsImZpbGUiOiJuby13ZWJwYWNrLWxvYWRlci1zeW50YXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kdWxlVmlzaXRvciBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL21vZHVsZVZpc2l0b3InO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmZ1bmN0aW9uIHJlcG9ydElmTm9uU3RhbmRhcmQoY29udGV4dCwgbm9kZSwgbmFtZSkge1xuICBpZiAobmFtZSAmJiBuYW1lLmluZGV4T2YoJyEnKSAhPT0gLTEpIHtcbiAgICBjb250ZXh0LnJlcG9ydChub2RlLCBgVW5leHBlY3RlZCAnIScgaW4gJyR7bmFtZX0nLiBgICtcbiAgICAgICdEbyBub3QgdXNlIGltcG9ydCBzeW50YXggdG8gY29uZmlndXJlIHdlYnBhY2sgbG9hZGVycy4nXG4gICAgKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdwcm9ibGVtJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ25vLXdlYnBhY2stbG9hZGVyLXN5bnRheCcpLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgcmV0dXJuIG1vZHVsZVZpc2l0b3IoKHNvdXJjZSwgbm9kZSkgPT4ge1xuICAgICAgcmVwb3J0SWZOb25TdGFuZGFyZChjb250ZXh0LCBub2RlLCBzb3VyY2UudmFsdWUpO1xuICAgIH0sIHsgY29tbW9uanM6IHRydWUgfSk7XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/order.js b/node_modules/eslint-plugin-import/lib/rules/order.js index d3cd44217..c12206446 100644 --- a/node_modules/eslint-plugin-import/lib/rules/order.js +++ b/node_modules/eslint-plugin-import/lib/rules/order.js @@ -93,7 +93,7 @@ function findRootNode(node) { function findEndOfLineWithComments(sourceCode, node) { const tokensToEndOfLine = takeTokensAfterWhile(sourceCode, node, commentOnSameLineAs(node)); - let endOfTokens = tokensToEndOfLine.length > 0 ? + const endOfTokens = tokensToEndOfLine.length > 0 ? tokensToEndOfLine[tokensToEndOfLine.length - 1].range[1] : node.range[1]; let result = endOfTokens; @@ -118,7 +118,7 @@ function commentOnSameLineAs(node) { function findStartOfLineWithComments(sourceCode, node) { const tokensToEndOfLine = takeTokensBeforeWhile(sourceCode, node, commentOnSameLineAs(node)); - let startOfTokens = tokensToEndOfLine.length > 0 ? tokensToEndOfLine[0].range[0] : node.range[0]; + const startOfTokens = tokensToEndOfLine.length > 0 ? tokensToEndOfLine[0].range[0] : node.range[0]; let result = startOfTokens; for (let i = startOfTokens - 1; i > 0; i--) { if (sourceCode.text[i] !== ' ' && sourceCode.text[i] !== '\t') { @@ -168,7 +168,7 @@ function canReorderItems(firstNode, secondNode) { parent.body.indexOf(secondNode)]. sort(),_sort2 = _slicedToArray(_sort, 2);const firstIndex = _sort2[0],secondIndex = _sort2[1]; const nodesBetween = parent.body.slice(firstIndex, secondIndex + 1); - for (var nodeBetween of nodesBetween) { + for (const nodeBetween of nodesBetween) { if (!canCrossNodeWhileReorder(nodeBetween)) { return false; } @@ -265,14 +265,17 @@ function mutateRanksToAlphabetize(imported, alphabetizeOptions) { if (!Array.isArray(acc[importedItem.rank])) { acc[importedItem.rank] = []; } - acc[importedItem.rank].push(importedItem.value); + acc[importedItem.rank].push(importedItem); return acc; }, {}); const groupRanks = Object.keys(groupedByRanks); const sorterFn = getSorter(alphabetizeOptions.order === 'asc'); - const comparator = alphabetizeOptions.caseInsensitive ? (a, b) => sorterFn(String(a).toLowerCase(), String(b).toLowerCase()) : (a, b) => sorterFn(a, b); + const comparator = alphabetizeOptions.caseInsensitive ? + (a, b) => sorterFn(String(a.value).toLowerCase(), String(b.value).toLowerCase()) : + (a, b) => sorterFn(a.value, b.value); + // sort imports locally within their group groupRanks.forEach(function (groupRank) { groupedByRanks[groupRank].sort(comparator); @@ -281,8 +284,8 @@ function mutateRanksToAlphabetize(imported, alphabetizeOptions) { // assign globally unique rank to each import let newRank = 0; const alphabetizedRanks = groupRanks.sort().reduce(function (acc, groupRank) { - groupedByRanks[groupRank].forEach(function (importedItemName) { - acc[importedItemName] = parseInt(groupRank, 10) + newRank; + groupedByRanks[groupRank].forEach(function (importedItem) { + acc[`${importedItem.value}|${importedItem.node.importKind}`] = parseInt(groupRank, 10) + newRank; newRank += 1; }); return acc; @@ -290,7 +293,7 @@ function mutateRanksToAlphabetize(imported, alphabetizeOptions) { // mutate the original group-rank with alphabetized-rank imported.forEach(function (importedItem) { - importedItem.rank = alphabetizedRanks[importedItem.value]; + importedItem.rank = alphabetizedRanks[`${importedItem.value}|${importedItem.node.importKind}`]; }); } @@ -310,6 +313,8 @@ function computeRank(context, ranks, importEntry, excludedImportTypes) { let rank; if (importEntry.type === 'import:object') { impType = 'object'; + } else if (importEntry.node.importKind === 'type' && ranks.omittedTypes.indexOf('type') === -1) { + impType = 'type'; } else { impType = (0, _importType2.default)(importEntry.value, context); } @@ -333,12 +338,24 @@ function registerNode(context, importEntry, ranks, imported, excludedImportTypes } } -function isInVariableDeclarator(node) { - return node && ( - node.type === 'VariableDeclarator' || isInVariableDeclarator(node.parent)); +function isModuleLevelRequire(node) { + let n = node; + // Handle cases like `const baz = require('foo').bar.baz` + // and `const foo = require('foo')()` + while ( + n.parent.type === 'MemberExpression' && n.parent.object === n || + n.parent.type === 'CallExpression' && n.parent.callee === n) + { + n = n.parent; + } + return ( + n.parent.type === 'VariableDeclarator' && + n.parent.parent.type === 'VariableDeclaration' && + n.parent.parent.parent.type === 'Program'); + } -const types = ['builtin', 'external', 'internal', 'unknown', 'parent', 'sibling', 'index', 'object']; +const types = ['builtin', 'external', 'internal', 'unknown', 'parent', 'sibling', 'index', 'object', 'type']; // Creates an object with type-rank pairs. // Example: { index: 0, sibling: 1, parent: 1, external: 1, builtin: 2, internal: 2 } @@ -365,10 +382,12 @@ function convertGroupsToRanks(groups) { return rankObject[type] === undefined; }); - return omittedTypes.reduce(function (res, type) { + const ranks = omittedTypes.reduce(function (res, type) { res[type] = groups.length; return res; }, rankObject); + + return { groups: ranks, omittedTypes }; } function convertPathGroupsForRanks(pathGroups) { @@ -552,7 +571,11 @@ module.exports = { default: 'ignore' } }, - additionalProperties: false } }, + additionalProperties: false }, + + warnOnUnassignedImports: { + type: 'boolean', + default: false } }, additionalProperties: false }] }, @@ -568,9 +591,11 @@ module.exports = { let ranks; try {var _convertPathGroupsFor = - convertPathGroupsForRanks(options.pathGroups || []);const pathGroups = _convertPathGroupsFor.pathGroups,maxPosition = _convertPathGroupsFor.maxPosition; + convertPathGroupsForRanks(options.pathGroups || []);const pathGroups = _convertPathGroupsFor.pathGroups,maxPosition = _convertPathGroupsFor.maxPosition;var _convertGroupsToRanks = + convertGroupsToRanks(options.groups || defaultGroups);const groups = _convertGroupsToRanks.groups,omittedTypes = _convertGroupsToRanks.omittedTypes; ranks = { - groups: convertGroupsToRanks(options.groups || defaultGroups), + groups, + omittedTypes, pathGroups, maxPosition }; @@ -583,18 +608,11 @@ module.exports = { } let imported = []; - let level = 0; - - function incrementLevel() { - level++; - } - function decrementLevel() { - level--; - } return { ImportDeclaration: function handleImports(node) { - if (node.specifiers.length) {// Ignoring unassigned imports + // Ignoring unassigned imports unless warnOnUnassignedImports is set + if (node.specifiers.length || options.warnOnUnassignedImports) { const name = node.source.value; registerNode( context, @@ -641,7 +659,7 @@ module.exports = { }, CallExpression: function handleRequires(node) { - if (level !== 0 || !(0, _staticRequire2.default)(node) || !isInVariableDeclarator(node.parent)) { + if (!(0, _staticRequire2.default)(node) || !isModuleLevelRequire(node)) { return; } const name = node.arguments[0].value; @@ -670,17 +688,7 @@ module.exports = { makeOutOfOrderReport(context, imported); imported = []; - }, - FunctionDeclaration: incrementLevel, - FunctionExpression: incrementLevel, - ArrowFunctionExpression: incrementLevel, - BlockStatement: incrementLevel, - ObjectExpression: incrementLevel, - 'FunctionDeclaration:exit': decrementLevel, - 'FunctionExpression:exit': decrementLevel, - 'ArrowFunctionExpression:exit': decrementLevel, - 'BlockStatement:exit': decrementLevel, - 'ObjectExpression:exit': decrementLevel }; + } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9vcmRlci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0R3JvdXBzIiwicmV2ZXJzZSIsImFycmF5IiwibWFwIiwidiIsIk9iamVjdCIsImFzc2lnbiIsInJhbmsiLCJnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIiLCJzb3VyY2VDb2RlIiwibm9kZSIsImNvdW50IiwiY3VycmVudE5vZGVPclRva2VuIiwicmVzdWx0IiwiaSIsImdldFRva2VuT3JDb21tZW50QWZ0ZXIiLCJwdXNoIiwiZ2V0VG9rZW5zT3JDb21tZW50c0JlZm9yZSIsImdldFRva2VuT3JDb21tZW50QmVmb3JlIiwidGFrZVRva2Vuc0FmdGVyV2hpbGUiLCJjb25kaXRpb24iLCJ0b2tlbnMiLCJsZW5ndGgiLCJ0YWtlVG9rZW5zQmVmb3JlV2hpbGUiLCJmaW5kT3V0T2ZPcmRlciIsImltcG9ydGVkIiwibWF4U2VlblJhbmtOb2RlIiwiZmlsdGVyIiwiaW1wb3J0ZWRNb2R1bGUiLCJyZXMiLCJmaW5kUm9vdE5vZGUiLCJwYXJlbnQiLCJib2R5IiwiZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyIsInRva2Vuc1RvRW5kT2ZMaW5lIiwiY29tbWVudE9uU2FtZUxpbmVBcyIsImVuZE9mVG9rZW5zIiwicmFuZ2UiLCJ0ZXh0IiwidG9rZW4iLCJ0eXBlIiwibG9jIiwic3RhcnQiLCJsaW5lIiwiZW5kIiwiZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzIiwic3RhcnRPZlRva2VucyIsImlzUGxhaW5SZXF1aXJlTW9kdWxlIiwiZGVjbGFyYXRpb25zIiwiZGVjbCIsImlkIiwiaW5pdCIsImNhbGxlZSIsIm5hbWUiLCJhcmd1bWVudHMiLCJpc1BsYWluSW1wb3J0TW9kdWxlIiwic3BlY2lmaWVycyIsImlzUGxhaW5JbXBvcnRFcXVhbHMiLCJtb2R1bGVSZWZlcmVuY2UiLCJleHByZXNzaW9uIiwiY2FuQ3Jvc3NOb2RlV2hpbGVSZW9yZGVyIiwiY2FuUmVvcmRlckl0ZW1zIiwiZmlyc3ROb2RlIiwic2Vjb25kTm9kZSIsImluZGV4T2YiLCJzb3J0IiwiZmlyc3RJbmRleCIsInNlY29uZEluZGV4Iiwibm9kZXNCZXR3ZWVuIiwic2xpY2UiLCJub2RlQmV0d2VlbiIsImZpeE91dE9mT3JkZXIiLCJjb250ZXh0Iiwib3JkZXIiLCJnZXRTb3VyY2VDb2RlIiwiZmlyc3RSb290IiwiZmlyc3RSb290U3RhcnQiLCJmaXJzdFJvb3RFbmQiLCJzZWNvbmRSb290Iiwic2Vjb25kUm9vdFN0YXJ0Iiwic2Vjb25kUm9vdEVuZCIsImNhbkZpeCIsIm5ld0NvZGUiLCJzdWJzdHJpbmciLCJtZXNzYWdlIiwiZGlzcGxheU5hbWUiLCJyZXBvcnQiLCJmaXgiLCJmaXhlciIsInJlcGxhY2VUZXh0UmFuZ2UiLCJyZXBvcnRPdXRPZk9yZGVyIiwib3V0T2ZPcmRlciIsImZvckVhY2giLCJpbXAiLCJmb3VuZCIsImZpbmQiLCJoYXNIaWdoZXJSYW5rIiwiaW1wb3J0ZWRJdGVtIiwibWFrZU91dE9mT3JkZXJSZXBvcnQiLCJyZXZlcnNlZEltcG9ydGVkIiwicmV2ZXJzZWRPcmRlciIsImdldFNvcnRlciIsImFzY2VuZGluZyIsIm11bHRpcGxpZXIiLCJpbXBvcnRzU29ydGVyIiwiaW1wb3J0QSIsImltcG9ydEIiLCJtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUiLCJhbHBoYWJldGl6ZU9wdGlvbnMiLCJncm91cGVkQnlSYW5rcyIsInJlZHVjZSIsImFjYyIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlIiwiZ3JvdXBSYW5rcyIsImtleXMiLCJzb3J0ZXJGbiIsImNvbXBhcmF0b3IiLCJjYXNlSW5zZW5zaXRpdmUiLCJhIiwiYiIsIlN0cmluZyIsInRvTG93ZXJDYXNlIiwiZ3JvdXBSYW5rIiwibmV3UmFuayIsImFscGhhYmV0aXplZFJhbmtzIiwiaW1wb3J0ZWRJdGVtTmFtZSIsInBhcnNlSW50IiwiY29tcHV0ZVBhdGhSYW5rIiwicmFua3MiLCJwYXRoR3JvdXBzIiwicGF0aCIsIm1heFBvc2l0aW9uIiwibCIsInBhdHRlcm4iLCJwYXR0ZXJuT3B0aW9ucyIsImdyb3VwIiwicG9zaXRpb24iLCJub2NvbW1lbnQiLCJjb21wdXRlUmFuayIsImltcG9ydEVudHJ5IiwiZXhjbHVkZWRJbXBvcnRUeXBlcyIsImltcFR5cGUiLCJoYXMiLCJncm91cHMiLCJzdGFydHNXaXRoIiwicmVnaXN0ZXJOb2RlIiwiaXNJblZhcmlhYmxlRGVjbGFyYXRvciIsInR5cGVzIiwiY29udmVydEdyb3Vwc1RvUmFua3MiLCJyYW5rT2JqZWN0IiwiaW5kZXgiLCJncm91cEl0ZW0iLCJFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1bmRlZmluZWQiLCJvbWl0dGVkVHlwZXMiLCJjb252ZXJ0UGF0aEdyb3Vwc0ZvclJhbmtzIiwiYWZ0ZXIiLCJiZWZvcmUiLCJ0cmFuc2Zvcm1lZCIsInBhdGhHcm91cCIsInBvc2l0aW9uU3RyaW5nIiwiZ3JvdXBMZW5ndGgiLCJncm91cEluZGV4IiwiTWF0aCIsIm1heCIsImtleSIsImdyb3VwTmV4dFBvc2l0aW9uIiwicG93IiwiY2VpbCIsImxvZzEwIiwiZml4TmV3TGluZUFmdGVySW1wb3J0IiwicHJldmlvdXNJbXBvcnQiLCJwcmV2Um9vdCIsImVuZE9mTGluZSIsImluc2VydFRleHRBZnRlclJhbmdlIiwicmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0IiwiY3VycmVudEltcG9ydCIsImN1cnJSb290IiwicmFuZ2VUb1JlbW92ZSIsInRlc3QiLCJyZW1vdmVSYW5nZSIsIm1ha2VOZXdsaW5lc0JldHdlZW5SZXBvcnQiLCJuZXdsaW5lc0JldHdlZW5JbXBvcnRzIiwiZ2V0TnVtYmVyT2ZFbXB0eUxpbmVzQmV0d2VlbiIsImxpbmVzQmV0d2VlbkltcG9ydHMiLCJsaW5lcyIsInRyaW0iLCJlbXB0eUxpbmVzQmV0d2VlbiIsImdldEFscGhhYmV0aXplQ29uZmlnIiwib3B0aW9ucyIsImFscGhhYmV0aXplIiwibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJkb2NzIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyIsIml0ZW1zIiwiZW51bSIsInJlcXVpcmVkIiwiZGVmYXVsdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiY3JlYXRlIiwiaW1wb3J0T3JkZXJSdWxlIiwiU2V0IiwiZXJyb3IiLCJQcm9ncmFtIiwibGV2ZWwiLCJpbmNyZW1lbnRMZXZlbCIsImRlY3JlbWVudExldmVsIiwiSW1wb3J0RGVjbGFyYXRpb24iLCJoYW5kbGVJbXBvcnRzIiwic291cmNlIiwiVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbiIsImlzRXhwb3J0IiwiZ2V0VGV4dCIsIkNhbGxFeHByZXNzaW9uIiwiaGFuZGxlUmVxdWlyZXMiLCJyZXBvcnRBbmRSZXNldCIsIkZ1bmN0aW9uRGVjbGFyYXRpb24iLCJGdW5jdGlvbkV4cHJlc3Npb24iLCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsIkJsb2NrU3RhdGVtZW50IiwiT2JqZWN0RXhwcmVzc2lvbiJdLCJtYXBwaW5ncyI6IkFBQUEsYTs7QUFFQSxzQztBQUNBLGdEO0FBQ0Esc0Q7QUFDQSxxQzs7QUFFQSxNQUFNQSxnQkFBZ0IsQ0FBQyxTQUFELEVBQVksVUFBWixFQUF3QixRQUF4QixFQUFrQyxTQUFsQyxFQUE2QyxPQUE3QyxDQUF0Qjs7QUFFQTs7QUFFQSxTQUFTQyxPQUFULENBQWlCQyxLQUFqQixFQUF3QjtBQUN0QixTQUFPQSxNQUFNQyxHQUFOLENBQVUsVUFBVUMsQ0FBVixFQUFhO0FBQzVCLFdBQU9DLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCRixDQUFsQixFQUFxQixFQUFFRyxNQUFNLENBQUNILEVBQUVHLElBQVgsRUFBckIsQ0FBUDtBQUNELEdBRk0sRUFFSk4sT0FGSSxFQUFQO0FBR0Q7O0FBRUQsU0FBU08sd0JBQVQsQ0FBa0NDLFVBQWxDLEVBQThDQyxJQUE5QyxFQUFvREMsS0FBcEQsRUFBMkQ7QUFDekQsTUFBSUMscUJBQXFCRixJQUF6QjtBQUNBLFFBQU1HLFNBQVMsRUFB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c0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJ1xuaW1wb3J0IGltcG9ydFR5cGUgZnJvbSAnLi4vY29yZS9pbXBvcnRUeXBlJ1xuaW1wb3J0IGlzU3RhdGljUmVxdWlyZSBmcm9tICcuLi9jb3JlL3N0YXRpY1JlcXVpcmUnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5jb25zdCBkZWZhdWx0R3JvdXBzID0gWydidWlsdGluJywgJ2V4dGVybmFsJywgJ3BhcmVudCcsICdzaWJsaW5nJywgJ2luZGV4J11cblxuLy8gUkVQT1JUSU5HIEFORCBGSVhJTkdcblxuZnVuY3Rpb24gcmV2ZXJzZShhcnJheSkge1xuICByZXR1cm4gYXJyYXkubWFwKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHYsIHsgcmFuazogLXYucmFuayB9KVxuICB9KS5yZXZlcnNlKClcbn1cblxuZnVuY3Rpb24gZ2V0VG9rZW5zT3JDb21tZW50c0FmdGVyKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlXG4gIGNvbnN0IHJlc3VsdCA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGN1cnJlbnROb2RlT3JUb2tlbiA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5PckNvbW1lbnRBZnRlcihjdXJyZW50Tm9kZU9yVG9rZW4pXG4gICAgaWYgKGN1cnJlbnROb2RlT3JUb2tlbiA9PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXN1bHQucHVzaChjdXJyZW50Tm9kZU9yVG9rZW4pXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5mdW5jdGlvbiBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlXG4gIGNvbnN0IHJlc3VsdCA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGN1cnJlbnROb2RlT3JUb2tlbiA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5PckNvbW1lbnRCZWZvcmUoY3VycmVudE5vZGVPclRva2VuKVxuICAgIGlmIChjdXJyZW50Tm9kZU9yVG9rZW4gPT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY3VycmVudE5vZGVPclRva2VuKVxuICB9XG4gIHJldHVybiByZXN1bHQucmV2ZXJzZSgpXG59XG5cbmZ1bmN0aW9uIHRha2VUb2tlbnNBZnRlcldoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIoc291cmNlQ29kZSwgbm9kZSwgMTAwKVxuICBjb25zdCByZXN1bHQgPSBbXVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChjb25kaXRpb24odG9rZW5zW2ldKSkge1xuICAgICAgcmVzdWx0LnB1c2godG9rZW5zW2ldKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gdGFrZVRva2Vuc0JlZm9yZVdoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIDEwMClcbiAgY29uc3QgcmVzdWx0ID0gW11cbiAgZm9yIChsZXQgaSA9IHRva2Vucy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGlmIChjb25kaXRpb24odG9rZW5zW2ldKSkge1xuICAgICAgcmVzdWx0LnB1c2godG9rZW5zW2ldKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQucmV2ZXJzZSgpXG59XG5cbmZ1bmN0aW9uIGZpbmRPdXRPZk9yZGVyKGltcG9ydGVkKSB7XG4gIGlmIChpbXBvcnRlZC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICBsZXQgbWF4U2VlblJhbmtOb2RlID0gaW1wb3J0ZWRbMF1cbiAgcmV0dXJuIGltcG9ydGVkLmZpbHRlcihmdW5jdGlvbiAoaW1wb3J0ZWRNb2R1bGUpIHtcbiAgICBjb25zdCByZXMgPSBpbXBvcnRlZE1vZHVsZS5yYW5rIDwgbWF4U2VlblJhbmtOb2RlLnJhbmtcbiAgICBpZiAobWF4U2VlblJhbmtOb2RlLnJhbmsgPCBpbXBvcnRlZE1vZHVsZS5yYW5rKSB7XG4gICAgICBtYXhTZWVuUmFua05vZGUgPSBpbXBvcnRlZE1vZHVsZVxuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH0pXG59XG5cbmZ1bmN0aW9uIGZpbmRSb290Tm9kZShub2RlKSB7XG4gIGxldCBwYXJlbnQgPSBub2RlXG4gIHdoaWxlIChwYXJlbnQucGFyZW50ICE9IG51bGwgJiYgcGFyZW50LnBhcmVudC5ib2R5ID09IG51bGwpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50XG4gIH1cbiAgcmV0dXJuIHBhcmVudFxufVxuXG5mdW5jdGlvbiBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQWZ0ZXJXaGlsZShzb3VyY2VDb2RlLCBub2RlLCBjb21tZW50T25TYW1lTGluZUFzKG5vZGUpKVxuICBsZXQgZW5kT2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwXG4gICAgPyB0b2tlbnNUb0VuZE9mTGluZVt0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggLSAxXS5yYW5nZVsxXVxuICAgIDogbm9kZS5yYW5nZVsxXVxuICBsZXQgcmVzdWx0ID0gZW5kT2ZUb2tlbnNcbiAgZm9yIChsZXQgaSA9IGVuZE9mVG9rZW5zOyBpIDwgc291cmNlQ29kZS50ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSA9PT0gJ1xcbicpIHtcbiAgICAgIHJlc3VsdCA9IGkgKyAxXG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAoc291cmNlQ29kZS50ZXh0W2ldICE9PSAnICcgJiYgc291cmNlQ29kZS50ZXh0W2ldICE9PSAnXFx0JyAmJiBzb3VyY2VDb2RlLnRleHRbaV0gIT09ICdcXHInKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXN1bHQgPSBpICsgMVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gY29tbWVudE9uU2FtZUxpbmVBcyhub2RlKSB7XG4gIHJldHVybiB0b2tlbiA9PiAodG9rZW4udHlwZSA9PT0gJ0Jsb2NrJyB8fCAgdG9rZW4udHlwZSA9PT0gJ0xpbmUnKSAmJlxuICAgICAgdG9rZW4ubG9jLnN0YXJ0LmxpbmUgPT09IHRva2VuLmxvYy5lbmQubGluZSAmJlxuICAgICAgdG9rZW4ubG9jLmVuZC5saW5lID09PSBub2RlLmxvYy5lbmQubGluZVxufVxuXG5mdW5jdGlvbiBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgbm9kZSkge1xuICBjb25zdCB0b2tlbnNUb0VuZE9mTGluZSA9IHRha2VUb2tlbnNCZWZvcmVXaGlsZShzb3VyY2VDb2RlLCBub2RlLCBjb21tZW50T25TYW1lTGluZUFzKG5vZGUpKVxuICBsZXQgc3RhcnRPZlRva2VucyA9IHRva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCA+IDAgPyB0b2tlbnNUb0VuZE9mTGluZVswXS5yYW5nZVswXSA6IG5vZGUucmFuZ2VbMF1cbiAgbGV0IHJlc3VsdCA9IHN0YXJ0T2ZUb2tlbnNcbiAgZm9yIChsZXQgaSA9IHN0YXJ0T2ZUb2tlbnMgLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIHJlc3VsdCA9IGlcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5SZXF1aXJlTW9kdWxlKG5vZGUpIHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gJ1ZhcmlhYmxlRGVjbGFyYXRpb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgaWYgKG5vZGUuZGVjbGFyYXRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGNvbnN0IGRlY2wgPSBub2RlLmRlY2xhcmF0aW9uc1swXVxuICBjb25zdCByZXN1bHQgPSBkZWNsLmlkICYmXG4gICAgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKSAmJlxuICAgIGRlY2wuaW5pdCAhPSBudWxsICYmXG4gICAgZGVjbC5pbml0LnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicgJiZcbiAgICBkZWNsLmluaXQuY2FsbGVlICE9IG51bGwgJiZcbiAgICBkZWNsLmluaXQuY2FsbGVlLm5hbWUgPT09ICdyZXF1aXJlJyAmJlxuICAgIGRlY2wuaW5pdC5hcmd1bWVudHMgIT0gbnVsbCAmJlxuICAgIGRlY2wuaW5pdC5hcmd1bWVudHMubGVuZ3RoID09PSAxICYmXG4gICAgZGVjbC5pbml0LmFyZ3VtZW50c1swXS50eXBlID09PSAnTGl0ZXJhbCdcbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5mdW5jdGlvbiBpc1BsYWluSW1wb3J0TW9kdWxlKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ0ltcG9ydERlY2xhcmF0aW9uJyAmJiBub2RlLnNwZWNpZmllcnMgIT0gbnVsbCAmJiBub2RlLnNwZWNpZmllcnMubGVuZ3RoID4gMFxufVxuXG5mdW5jdGlvbiBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nICYmIG5vZGUubW9kdWxlUmVmZXJlbmNlLmV4cHJlc3Npb25cbn1cblxuZnVuY3Rpb24gY2FuQ3Jvc3NOb2RlV2hpbGVSZW9yZGVyKG5vZGUpIHtcbiAgcmV0dXJuIGlzUGxhaW5SZXF1aXJlTW9kdWxlKG5vZGUpIHx8IGlzUGxhaW5JbXBvcnRNb2R1bGUobm9kZSkgfHwgaXNQbGFpbkltcG9ydEVxdWFscyhub2RlKVxufVxuXG5mdW5jdGlvbiBjYW5SZW9yZGVySXRlbXMoZmlyc3ROb2RlLCBzZWNvbmROb2RlKSB7XG4gIGNvbnN0IHBhcmVudCA9IGZpcnN0Tm9kZS5wYXJlbnRcbiAgY29uc3QgW2ZpcnN0SW5kZXgsIHNlY29uZEluZGV4XSA9IFtcbiAgICBwYXJlbnQuYm9keS5pbmRleE9mKGZpcnN0Tm9kZSksXG4gICAgcGFyZW50LmJvZHkuaW5kZXhPZihzZWNvbmROb2RlKSxcbiAgXS5zb3J0KClcbiAgY29uc3Qgbm9kZXNCZXR3ZWVuID0gcGFyZW50LmJvZHkuc2xpY2UoZmlyc3RJbmRleCwgc2Vjb25kSW5kZXggKyAxKVxuICBmb3IgKHZhciBub2RlQmV0d2VlbiBvZiBub2Rlc0JldHdlZW4pIHtcbiAgICBpZiAoIWNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlcihub2RlQmV0d2VlbikpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZVxufVxuXG5mdW5jdGlvbiBmaXhPdXRPZk9yZGVyKGNvbnRleHQsIGZpcnN0Tm9kZSwgc2Vjb25kTm9kZSwgb3JkZXIpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpXG5cbiAgY29uc3QgZmlyc3RSb290ID0gZmluZFJvb3ROb2RlKGZpcnN0Tm9kZS5ub2RlKVxuICBjb25zdCBmaXJzdFJvb3RTdGFydCA9IGZpbmRTdGFydE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBmaXJzdFJvb3QpXG4gIGNvbnN0IGZpcnN0Um9vdEVuZCA9IGZpbmRFbmRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgZmlyc3RSb290KVxuXG4gIGNvbnN0IHNlY29uZFJvb3QgPSBmaW5kUm9vdE5vZGUoc2Vjb25kTm9kZS5ub2RlKVxuICBjb25zdCBzZWNvbmRSb290U3RhcnQgPSBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgc2Vjb25kUm9vdClcbiAgY29uc3Qgc2Vjb25kUm9vdEVuZCA9IGZpbmRFbmRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgc2Vjb25kUm9vdClcbiAgY29uc3QgY2FuRml4ID0gY2FuUmVvcmRlckl0ZW1zKGZpcnN0Um9vdCwgc2Vjb25kUm9vdClcblxuICBsZXQgbmV3Q29kZSA9IHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcoc2Vjb25kUm9vdFN0YXJ0LCBzZWNvbmRSb290RW5kKVxuICBpZiAobmV3Q29kZVtuZXdDb2RlLmxlbmd0aCAtIDFdICE9PSAnXFxuJykge1xuICAgIG5ld0NvZGUgPSBuZXdDb2RlICsgJ1xcbidcbiAgfVxuXG4gIGNvbnN0IG1lc3NhZ2UgPSBgXFxgJHtzZWNvbmROb2RlLmRpc3BsYXlOYW1lfVxcYCBpbXBvcnQgc2hvdWxkIG9jY3VyICR7b3JkZXJ9IGltcG9ydCBvZiBcXGAke2ZpcnN0Tm9kZS5kaXNwbGF5TmFtZX1cXGBgXG5cbiAgaWYgKG9yZGVyID09PSAnYmVmb3JlJykge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG5vZGU6IHNlY29uZE5vZGUubm9kZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICBmaXg6IGNhbkZpeCAmJiAoZml4ZXIgPT5cbiAgICAgICAgZml4ZXIucmVwbGFjZVRleHRSYW5nZShcbiAgICAgICAgICBbZmlyc3RSb290U3RhcnQsIHNlY29uZFJvb3RFbmRdLFxuICAgICAgICAgIG5ld0NvZGUgKyBzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKGZpcnN0Um9vdFN0YXJ0LCBzZWNvbmRSb290U3RhcnQpXG4gICAgICAgICkpLFxuICAgIH0pXG4gIH0gZWxzZSBpZiAob3JkZXIgPT09ICdhZnRlcicpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBub2RlOiBzZWNvbmROb2RlLm5vZGUsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZml4OiBjYW5GaXggJiYgKGZpeGVyID0+XG4gICAgICAgIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UoXG4gICAgICAgICAgW3NlY29uZFJvb3RTdGFydCwgZmlyc3RSb290RW5kXSxcbiAgICAgICAgICBzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKHNlY29uZFJvb3RFbmQsIGZpcnN0Um9vdEVuZCkgKyBuZXdDb2RlXG4gICAgICAgICkpLFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCBpbXBvcnRlZCwgb3V0T2ZPcmRlciwgb3JkZXIpIHtcbiAgb3V0T2ZPcmRlci5mb3JFYWNoKGZ1bmN0aW9uIChpbXApIHtcbiAgICBjb25zdCBmb3VuZCA9IGltcG9ydGVkLmZpbmQoZnVuY3Rpb24gaGFzSGlnaGVyUmFuayhpbXBvcnRlZEl0ZW0pIHtcbiAgICAgIHJldHVybiBpbXBvcnRlZEl0ZW0ucmFuayA+IGltcC5yYW5rXG4gICAgfSlcbiAgICBmaXhPdXRPZk9yZGVyKGNvbnRleHQsIGZvdW5kLCBpbXAsIG9yZGVyKVxuICB9KVxufVxuXG5mdW5jdGlvbiBtYWtlT3V0T2ZPcmRlclJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCkge1xuICBjb25zdCBvdXRPZk9yZGVyID0gZmluZE91dE9mT3JkZXIoaW1wb3J0ZWQpXG4gIGlmICghb3V0T2ZPcmRlci5sZW5ndGgpIHtcbiAgICByZXR1cm5cbiAgfVxuICAvLyBUaGVyZSBhcmUgdGhpbmdzIHRvIHJlcG9ydC4gVHJ5IHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YgcmVwb3J0ZWQgZXJyb3JzLlxuICBjb25zdCByZXZlcnNlZEltcG9ydGVkID0gcmV2ZXJzZShpbXBvcnRlZClcbiAgY29uc3QgcmV2ZXJzZWRPcmRlciA9IGZpbmRPdXRPZk9yZGVyKHJldmVyc2VkSW1wb3J0ZWQpXG4gIGlmIChyZXZlcnNlZE9yZGVyLmxlbmd0aCA8IG91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCByZXZlcnNlZEltcG9ydGVkLCByZXZlcnNlZE9yZGVyLCAnYWZ0ZXInKVxuICAgIHJldHVyblxuICB9XG4gIHJlcG9ydE91dE9mT3JkZXIoY29udGV4dCwgaW1wb3J0ZWQsIG91dE9mT3JkZXIsICdiZWZvcmUnKVxufVxuXG5mdW5jdGlvbiBnZXRTb3J0ZXIoYXNjZW5kaW5nKSB7XG4gIGNvbnN0IG11bHRpcGxpZXIgPSBhc2NlbmRpbmcgPyAxIDogLTFcblxuICByZXR1cm4gZnVuY3Rpb24gaW1wb3J0c1NvcnRlcihpbXBvcnRBLCBpbXBvcnRCKSB7XG4gICAgbGV0IHJlc3VsdFxuXG4gICAgaWYgKGltcG9ydEEgPCBpbXBvcnRCKSB7XG4gICAgICByZXN1bHQgPSAtMVxuICAgIH0gZWxzZSBpZiAoaW1wb3J0QSA+IGltcG9ydEIpIHtcbiAgICAgIHJlc3VsdCA9IDFcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gMFxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgKiBtdWx0aXBsaWVyXG4gIH1cbn1cblxuZnVuY3Rpb24gbXV0YXRlUmFua3NUb0FscGhhYmV0aXplKGltcG9ydGVkLCBhbHBoYWJldGl6ZU9wdGlvbnMpIHtcbiAgY29uc3QgZ3JvdXBlZEJ5UmFua3MgPSBpbXBvcnRlZC5yZWR1Y2UoZnVuY3Rpb24oYWNjLCBpbXBvcnRlZEl0ZW0pIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWNjW2ltcG9ydGVkSXRlbS5yYW5rXSkpIHtcbiAgICAgIGFjY1tpbXBvcnRlZEl0ZW0ucmFua10gPSBbXVxuICAgIH1cbiAgICBhY2NbaW1wb3J0ZWRJdGVtLnJhbmtdLnB1c2goaW1wb3J0ZWRJdGVtLnZhbHVlKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgY29uc3QgZ3JvdXBSYW5rcyA9IE9iamVjdC5rZXlzKGdyb3VwZWRCeVJhbmtzKVxuXG4gIGNvbnN0IHNvcnRlckZuID0gZ2V0U29ydGVyKGFscGhhYmV0aXplT3B0aW9ucy5vcmRlciA9PT0gJ2FzYycpXG4gIGNvbnN0IGNvbXBhcmF0b3IgPSBhbHBoYWJldGl6ZU9wdGlvbnMuY2FzZUluc2Vuc2l0aXZlID8gKGEsIGIpID0+IHNvcnRlckZuKFN0cmluZyhhKS50b0xvd2VyQ2FzZSgpLCBTdHJpbmcoYikudG9Mb3dlckNhc2UoKSkgOiAoYSwgYikgPT4gc29ydGVyRm4oYSwgYilcbiAgLy8gc29ydCBpbXBvcnRzIGxvY2FsbHkgd2l0aGluIHRoZWlyIGdyb3VwXG4gIGdyb3VwUmFua3MuZm9yRWFjaChmdW5jdGlvbihncm91cFJhbmspIHtcbiAgICBncm91cGVkQnlSYW5rc1tncm91cFJhbmtdLnNvcnQoY29tcGFyYXRvcilcbiAgfSlcblxuICAvLyBhc3NpZ24gZ2xvYmFsbHkgdW5pcXVlIHJhbmsgdG8gZWFjaCBpbXBvcnRcbiAgbGV0IG5ld1JhbmsgPSAwXG4gIGNvbnN0IGFscGhhYmV0aXplZFJhbmtzID0gZ3JvdXBSYW5rcy5zb3J0KCkucmVkdWNlKGZ1bmN0aW9uKGFjYywgZ3JvdXBSYW5rKSB7XG4gICAgZ3JvdXBlZEJ5UmFua3NbZ3JvdXBSYW5rXS5mb3JFYWNoKGZ1bmN0aW9uKGltcG9ydGVkSXRlbU5hbWUpIHtcbiAgICAgIGFjY1tpbXBvcnRlZEl0ZW1OYW1lXSA9IHBhcnNlSW50KGdyb3VwUmFuaywgMTApICsgbmV3UmFua1xuICAgICAgbmV3UmFuayArPSAxXG4gICAgfSlcbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG4gIC8vIG11dGF0ZSB0aGUgb3JpZ2luYWwgZ3JvdXAtcmFuayB3aXRoIGFscGhhYmV0aXplZC1yYW5rXG4gIGltcG9ydGVkLmZvckVhY2goZnVuY3Rpb24oaW1wb3J0ZWRJdGVtKSB7XG4gICAgaW1wb3J0ZWRJdGVtLnJhbmsgPSBhbHBoYWJldGl6ZWRSYW5rc1tpbXBvcnRlZEl0ZW0udmFsdWVdXG4gIH0pXG59XG5cbi8vIERFVEVDVElOR1xuXG5mdW5jdGlvbiBjb21wdXRlUGF0aFJhbmsocmFua3MsIHBhdGhHcm91cHMsIHBhdGgsIG1heFBvc2l0aW9uKSB7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gcGF0aEdyb3Vwcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb25zdCB7IHBhdHRlcm4sIHBhdHRlcm5PcHRpb25zLCBncm91cCwgcG9zaXRpb24gPSAxIH0gPSBwYXRoR3JvdXBzW2ldXG4gICAgaWYgKG1pbmltYXRjaChwYXRoLCBwYXR0ZXJuLCBwYXR0ZXJuT3B0aW9ucyB8fCB7IG5vY29tbWVudDogdHJ1ZSB9KSkge1xuICAgICAgcmV0dXJuIHJhbmtzW2dyb3VwXSArIChwb3NpdGlvbiAvIG1heFBvc2l0aW9uKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21wdXRlUmFuayhjb250ZXh0LCByYW5rcywgaW1wb3J0RW50cnksIGV4Y2x1ZGVkSW1wb3J0VHlwZXMpIHtcbiAgbGV0IGltcFR5cGVcbiAgbGV0IHJhbmtcbiAgaWYgKGltcG9ydEVudHJ5LnR5cGUgPT09ICdpbXBvcnQ6b2JqZWN0Jykge1xuICAgIGltcFR5cGUgPSAnb2JqZWN0J1xuICB9IGVsc2Uge1xuICAgIGltcFR5cGUgPSBpbXBvcnRUeXBlKGltcG9ydEVudHJ5LnZhbHVlLCBjb250ZXh0KVxuICB9XG4gIGlmICghZXhjbHVkZWRJbXBvcnRUeXBlcy5oYXMoaW1wVHlwZSkpIHtcbiAgICByYW5rID0gY29tcHV0ZVBhdGhSYW5rKHJhbmtzLmdyb3VwcywgcmFua3MucGF0aEdyb3VwcywgaW1wb3J0RW50cnkudmFsdWUsIHJhbmtzLm1heFBvc2l0aW9uKVxuICB9XG4gIGlmICh0eXBlb2YgcmFuayA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByYW5rID0gcmFua3MuZ3JvdXBzW2ltcFR5cGVdXG4gIH1cbiAgaWYgKGltcG9ydEVudHJ5LnR5cGUgIT09ICdpbXBvcnQnICYmICFpbXBvcnRFbnRyeS50eXBlLnN0YXJ0c1dpdGgoJ2ltcG9ydDonKSkge1xuICAgIHJhbmsgKz0gMTAwXG4gIH1cblxuICByZXR1cm4gcmFua1xufVxuXG5mdW5jdGlvbiByZWdpc3Rlck5vZGUoY29udGV4dCwgaW1wb3J0RW50cnksIHJhbmtzLCBpbXBvcnRlZCwgZXhjbHVkZWRJbXBvcnRUeXBlcykge1xuICBjb25zdCByYW5rID0gY29tcHV0ZVJhbmsoY29udGV4dCwgcmFua3MsIGltcG9ydEVudHJ5LCBleGNsdWRlZEltcG9ydFR5cGVzKVxuICBpZiAocmFuayAhPT0gLTEpIHtcbiAgICBpbXBvcnRlZC5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGltcG9ydEVudHJ5LCB7IHJhbmsgfSkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJblZhcmlhYmxlRGVjbGFyYXRvcihub2RlKSB7XG4gIHJldHVybiBub2RlICYmXG4gICAgKG5vZGUudHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicgfHwgaXNJblZhcmlhYmxlRGVjbGFyYXRvcihub2RlLnBhcmVudCkpXG59XG5cbmNvbnN0IHR5cGVzID0gWydidWlsdGluJywgJ2V4dGVybmFsJywgJ2ludGVybmFsJywgJ3Vua25vd24nLCAncGFyZW50JywgJ3NpYmxpbmcnLCAnaW5kZXgnLCAnb2JqZWN0J11cblxuLy8gQ3JlYXRlcyBhbiBvYmplY3Qgd2l0aCB0eXBlLXJhbmsgcGFpcnMuXG4vLyBFeGFtcGxlOiB7IGluZGV4OiAwLCBzaWJsaW5nOiAxLCBwYXJlbnQ6IDEsIGV4dGVybmFsOiAxLCBidWlsdGluOiAyLCBpbnRlcm5hbDogMiB9XG4vLyBXaWxsIHRocm93IGFuIGVycm9yIGlmIGl0IGNvbnRhaW5zIGEgdHlwZSB0aGF0IGRvZXMgbm90IGV4aXN0LCBvciBoYXMgYSBkdXBsaWNhdGVcbmZ1bmN0aW9uIGNvbnZlcnRHcm91cHNUb1JhbmtzKGdyb3Vwcykge1xuICBjb25zdCByYW5rT2JqZWN0ID0gZ3JvdXBzLnJlZHVjZShmdW5jdGlvbihyZXMsIGdyb3VwLCBpbmRleCkge1xuICAgIGlmICh0eXBlb2YgZ3JvdXAgPT09ICdzdHJpbmcnKSB7XG4gICAgICBncm91cCA9IFtncm91cF1cbiAgICB9XG4gICAgZ3JvdXAuZm9yRWFjaChmdW5jdGlvbihncm91cEl0ZW0pIHtcbiAgICAgIGlmICh0eXBlcy5pbmRleE9mKGdyb3VwSXRlbSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHJ1bGU6IFVua25vd24gdHlwZSBgJyArXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZ3JvdXBJdGVtKSArICdgJylcbiAgICAgIH1cbiAgICAgIGlmIChyZXNbZ3JvdXBJdGVtXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHJ1bGU6IGAnICsgZ3JvdXBJdGVtICsgJ2AgaXMgZHVwbGljYXRlZCcpXG4gICAgICB9XG4gICAgICByZXNbZ3JvdXBJdGVtXSA9IGluZGV4XG4gICAgfSlcbiAgICByZXR1cm4gcmVzXG4gIH0sIHt9KVxuXG4gIGNvbnN0IG9taXR0ZWRUeXBlcyA9IHR5cGVzLmZpbHRlcihmdW5jdGlvbih0eXBlKSB7XG4gICAgcmV0dXJuIHJhbmtPYmplY3RbdHlwZV0gPT09IHVuZGVmaW5lZFxuICB9KVxuXG4gIHJldHVybiBvbWl0dGVkVHlwZXMucmVkdWNlKGZ1bmN0aW9uKHJlcywgdHlwZSkge1xuICAgIHJlc1t0eXBlXSA9IGdyb3Vwcy5sZW5ndGhcbiAgICByZXR1cm4gcmVzXG4gIH0sIHJhbmtPYmplY3QpXG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRQYXRoR3JvdXBzRm9yUmFua3MocGF0aEdyb3Vwcykge1xuICBjb25zdCBhZnRlciA9IHt9XG4gIGNvbnN0IGJlZm9yZSA9IHt9XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSBwYXRoR3JvdXBzLm1hcCgocGF0aEdyb3VwLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHsgZ3JvdXAsIHBvc2l0aW9uOiBwb3NpdGlvblN0cmluZyB9ID0gcGF0aEdyb3VwXG4gICAgbGV0IHBvc2l0aW9uID0gMFxuICAgIGlmIChwb3NpdGlvblN0cmluZyA9PT0gJ2FmdGVyJykge1xuICAgICAgaWYgKCFhZnRlcltncm91cF0pIHtcbiAgICAgICAgYWZ0ZXJbZ3JvdXBdID0gMVxuICAgICAgfVxuICAgICAgcG9zaXRpb24gPSBhZnRlcltncm91cF0rK1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb25TdHJpbmcgPT09ICdiZWZvcmUnKSB7XG4gICAgICBpZiAoIWJlZm9yZVtncm91cF0pIHtcbiAgICAgICAgYmVmb3JlW2dyb3VwXSA9IFtdXG4gICAgICB9XG4gICAgICBiZWZvcmVbZ3JvdXBdLnB1c2goaW5kZXgpXG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHBhdGhHcm91cCwgeyBwb3NpdGlvbiB9KVxuICB9KVxuXG4gIGxldCBtYXhQb3NpdGlvbiA9IDFcblxuICBPYmplY3Qua2V5cyhiZWZvcmUpLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBMZW5ndGggPSBiZWZvcmVbZ3JvdXBdLmxlbmd0aFxuICAgIGJlZm9yZVtncm91cF0uZm9yRWFjaCgoZ3JvdXBJbmRleCwgaW5kZXgpID0+IHtcbiAgICAgIHRyYW5zZm9ybWVkW2dyb3VwSW5kZXhdLnBvc2l0aW9uID0gLTEgKiAoZ3JvdXBMZW5ndGggLSBpbmRleClcbiAgICB9KVxuICAgIG1heFBvc2l0aW9uID0gTWF0aC5tYXgobWF4UG9zaXRpb24sIGdyb3VwTGVuZ3RoKVxuICB9KVxuXG4gIE9iamVjdC5rZXlzKGFmdGVyKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCBncm91cE5leHRQb3NpdGlvbiA9IGFmdGVyW2tleV1cbiAgICBtYXhQb3NpdGlvbiA9IE1hdGgubWF4KG1heFBvc2l0aW9uLCBncm91cE5leHRQb3NpdGlvbiAtIDEpXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoR3JvdXBzOiB0cmFuc2Zvcm1lZCxcbiAgICBtYXhQb3NpdGlvbjogbWF4UG9zaXRpb24gPiAxMCA/IE1hdGgucG93KDEwLCBNYXRoLmNlaWwoTWF0aC5sb2cxMChtYXhQb3NpdGlvbikpKSA6IDEwLFxuICB9XG59XG5cbmZ1bmN0aW9uIGZpeE5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBwcmV2aW91c0ltcG9ydCkge1xuICBjb25zdCBwcmV2Um9vdCA9IGZpbmRSb290Tm9kZShwcmV2aW91c0ltcG9ydC5ub2RlKVxuICBjb25zdCB0b2tlbnNUb0VuZE9mTGluZSA9IHRha2VUb2tlbnNBZnRlcldoaWxlKFxuICAgIGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLCBwcmV2Um9vdCwgY29tbWVudE9uU2FtZUxpbmVBcyhwcmV2Um9vdCkpXG5cbiAgbGV0IGVuZE9mTGluZSA9IHByZXZSb290LnJhbmdlWzFdXG4gIGlmICh0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwKSB7XG4gICAgZW5kT2ZMaW5lID0gdG9rZW5zVG9FbmRPZkxpbmVbdG9rZW5zVG9FbmRPZkxpbmUubGVuZ3RoIC0gMV0ucmFuZ2VbMV1cbiAgfVxuICByZXR1cm4gKGZpeGVyKSA9PiBmaXhlci5pbnNlcnRUZXh0QWZ0ZXJSYW5nZShbcHJldlJvb3QucmFuZ2VbMF0sIGVuZE9mTGluZV0sICdcXG4nKVxufVxuXG5mdW5jdGlvbiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpXG4gIGNvbnN0IHByZXZSb290ID0gZmluZFJvb3ROb2RlKHByZXZpb3VzSW1wb3J0Lm5vZGUpXG4gIGNvbnN0IGN1cnJSb290ID0gZmluZFJvb3ROb2RlKGN1cnJlbnRJbXBvcnQubm9kZSlcbiAgY29uc3QgcmFuZ2VUb1JlbW92ZSA9IFtcbiAgICBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHByZXZSb290KSxcbiAgICBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgY3VyclJvb3QpLFxuICBdXG4gIGlmICgvXlxccyokLy50ZXN0KHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcocmFuZ2VUb1JlbW92ZVswXSwgcmFuZ2VUb1JlbW92ZVsxXSkpKSB7XG4gICAgcmV0dXJuIChmaXhlcikgPT4gZml4ZXIucmVtb3ZlUmFuZ2UocmFuZ2VUb1JlbW92ZSlcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIG1ha2VOZXdsaW5lc0JldHdlZW5SZXBvcnQgKGNvbnRleHQsIGltcG9ydGVkLCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzKSB7XG4gIGNvbnN0IGdldE51bWJlck9mRW1wdHlMaW5lc0JldHdlZW4gPSAoY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpID0+IHtcbiAgICBjb25zdCBsaW5lc0JldHdlZW5JbXBvcnRzID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCkubGluZXMuc2xpY2UoXG4gICAgICBwcmV2aW91c0ltcG9ydC5ub2RlLmxvYy5lbmQubGluZSxcbiAgICAgIGN1cnJlbnRJbXBvcnQubm9kZS5sb2Muc3RhcnQubGluZSAtIDFcbiAgICApXG5cbiAgICByZXR1cm4gbGluZXNCZXR3ZWVuSW1wb3J0cy5maWx0ZXIoKGxpbmUpID0+ICFsaW5lLnRyaW0oKS5sZW5ndGgpLmxlbmd0aFxuICB9XG4gIGxldCBwcmV2aW91c0ltcG9ydCA9IGltcG9ydGVkWzBdXG5cbiAgaW1wb3J0ZWQuc2xpY2UoMSkuZm9yRWFjaChmdW5jdGlvbihjdXJyZW50SW1wb3J0KSB7XG4gICAgY29uc3QgZW1wdHlMaW5lc0JldHdlZW4gPSBnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuKGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KVxuXG4gICAgaWYgKG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgPT09ICdhbHdheXMnXG4gICAgICAgIHx8IG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgPT09ICdhbHdheXMtYW5kLWluc2lkZS1ncm91cHMnKSB7XG4gICAgICBpZiAoY3VycmVudEltcG9ydC5yYW5rICE9PSBwcmV2aW91c0ltcG9ydC5yYW5rICYmIGVtcHR5TGluZXNCZXR3ZWVuID09PSAwKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlOiBwcmV2aW91c0ltcG9ydC5ub2RlLFxuICAgICAgICAgIG1lc3NhZ2U6ICdUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3Qgb25lIGVtcHR5IGxpbmUgYmV0d2VlbiBpbXBvcnQgZ3JvdXBzJyxcbiAgICAgICAgICBmaXg6IGZpeE5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBwcmV2aW91c0ltcG9ydCksXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRJbXBvcnQucmFuayA9PT0gcHJldmlvdXNJbXBvcnQucmFua1xuICAgICAgICAmJiBlbXB0eUxpbmVzQmV0d2VlbiA+IDBcbiAgICAgICAgJiYgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyAhPT0gJ2Fsd2F5cy1hbmQtaW5zaWRlLWdyb3VwcycpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogJ1RoZXJlIHNob3VsZCBiZSBubyBlbXB0eSBsaW5lIHdpdGhpbiBpbXBvcnQgZ3JvdXAnLFxuICAgICAgICAgIGZpeDogcmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0KGNvbnRleHQsIGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVtcHR5TGluZXNCZXR3ZWVuID4gMCkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBub2RlOiBwcmV2aW91c0ltcG9ydC5ub2RlLFxuICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIG5vIGVtcHR5IGxpbmUgYmV0d2VlbiBpbXBvcnQgZ3JvdXBzJyxcbiAgICAgICAgZml4OiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBwcmV2aW91c0ltcG9ydCA9IGN1cnJlbnRJbXBvcnRcbiAgfSlcbn1cblxuZnVuY3Rpb24gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucykge1xuICBjb25zdCBhbHBoYWJldGl6ZSA9IG9wdGlvbnMuYWxwaGFiZXRpemUgfHwge31cbiAgY29uc3Qgb3JkZXIgPSBhbHBoYWJldGl6ZS5vcmRlciB8fCAnaWdub3JlJ1xuICBjb25zdCBjYXNlSW5zZW5zaXRpdmUgPSBhbHBoYWJldGl6ZS5jYXNlSW5zZW5zaXRpdmUgfHwgZmFsc2VcblxuICByZXR1cm4ge29yZGVyLCBjYXNlSW5zZW5zaXRpdmV9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgnb3JkZXInKSxcbiAgICB9LFxuXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGdyb3Vwczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGF0aEdyb3Vwczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgcGF0dGVybjoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYXR0ZXJuT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBncm91cDoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiB0eXBlcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgIGVudW06IFsnYWZ0ZXInLCAnYmVmb3JlJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IFsncGF0dGVybicsICdncm91cCddLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICduZXdsaW5lcy1iZXR3ZWVuJzoge1xuICAgICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgICAnaWdub3JlJyxcbiAgICAgICAgICAgICAgJ2Fsd2F5cycsXG4gICAgICAgICAgICAgICdhbHdheXMtYW5kLWluc2lkZS1ncm91cHMnLFxuICAgICAgICAgICAgICAnbmV2ZXInLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFscGhhYmV0aXplOiB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgY2FzZUluc2Vuc2l0aXZlOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcmRlcjoge1xuICAgICAgICAgICAgICAgIGVudW06IFsnaWdub3JlJywgJ2FzYycsICdkZXNjJ10sXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogJ2lnbm9yZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGU6IGZ1bmN0aW9uIGltcG9ydE9yZGVyUnVsZSAoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cbiAgICBjb25zdCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzID0gb3B0aW9uc1snbmV3bGluZXMtYmV0d2VlbiddIHx8ICdpZ25vcmUnXG4gICAgY29uc3QgcGF0aEdyb3Vwc0V4Y2x1ZGVkSW1wb3J0VHlwZXMgPSBuZXcgU2V0KG9wdGlvbnNbJ3BhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzJ10gfHwgWydidWlsdGluJywgJ2V4dGVybmFsJywgJ29iamVjdCddKVxuICAgIGNvbnN0IGFscGhhYmV0aXplID0gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucylcbiAgICBsZXQgcmFua3NcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHBhdGhHcm91cHMsIG1heFBvc2l0aW9uIH0gPSBjb252ZXJ0UGF0aEdyb3Vwc0ZvclJhbmtzKG9wdGlvbnMucGF0aEdyb3VwcyB8fCBbXSlcbiAgICAgIHJhbmtzID0ge1xuICAgICAgICBncm91cHM6IGNvbnZlcnRHcm91cHNUb1JhbmtzKG9wdGlvbnMuZ3JvdXBzIHx8IGRlZmF1bHRHcm91cHMpLFxuICAgICAgICBwYXRoR3JvdXBzLFxuICAgICAgICBtYXhQb3NpdGlvbixcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gTWFsZm9ybWVkIGNvbmZpZ3VyYXRpb25cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFByb2dyYW06IGZ1bmN0aW9uKG5vZGUpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChub2RlLCBlcnJvci5tZXNzYWdlKVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgaW1wb3J0ZWQgPSBbXVxuICAgIGxldCBsZXZlbCA9IDBcblxuICAgIGZ1bmN0aW9uIGluY3JlbWVudExldmVsKCkge1xuICAgICAgbGV2ZWwrK1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWNyZW1lbnRMZXZlbCgpIHtcbiAgICAgIGxldmVsLS1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb246IGZ1bmN0aW9uIGhhbmRsZUltcG9ydHMobm9kZSkge1xuICAgICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCkgeyAvLyBJZ25vcmluZyB1bmFzc2lnbmVkIGltcG9ydHNcbiAgICAgICAgICBjb25zdCBuYW1lID0gbm9kZS5zb3VyY2UudmFsdWVcbiAgICAgICAgICByZWdpc3Rlck5vZGUoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICB2YWx1ZTogbmFtZSxcbiAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgIHR5cGU6ICdpbXBvcnQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJhbmtzLFxuICAgICAgICAgICAgaW1wb3J0ZWQsXG4gICAgICAgICAgICBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlc1xuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246IGZ1bmN0aW9uIGhhbmRsZUltcG9ydHMobm9kZSkge1xuICAgICAgICBsZXQgZGlzcGxheU5hbWVcbiAgICAgICAgbGV0IHZhbHVlXG4gICAgICAgIGxldCB0eXBlXG4gICAgICAgIC8vIHNraXAgXCJleHBvcnQgaW1wb3J0XCJzXG4gICAgICAgIGlmIChub2RlLmlzRXhwb3J0KSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUubW9kdWxlUmVmZXJlbmNlLnR5cGUgPT09ICdUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlJykge1xuICAgICAgICAgIHZhbHVlID0gbm9kZS5tb2R1bGVSZWZlcmVuY2UuZXhwcmVzc2lvbi52YWx1ZVxuICAgICAgICAgIGRpc3BsYXlOYW1lID0gdmFsdWVcbiAgICAgICAgICB0eXBlID0gJ2ltcG9ydCdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9ICcnXG4gICAgICAgICAgZGlzcGxheU5hbWUgPSBjb250ZXh0LmdldFNvdXJjZUNvZGUoKS5nZXRUZXh0KG5vZGUubW9kdWxlUmVmZXJlbmNlKVxuICAgICAgICAgIHR5cGUgPSAnaW1wb3J0Om9iamVjdCdcbiAgICAgICAgfVxuICAgICAgICByZWdpc3Rlck5vZGUoXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByYW5rcyxcbiAgICAgICAgICBpbXBvcnRlZCxcbiAgICAgICAgICBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlc1xuICAgICAgICApXG4gICAgICB9LFxuICAgICAgQ2FsbEV4cHJlc3Npb246IGZ1bmN0aW9uIGhhbmRsZVJlcXVpcmVzKG5vZGUpIHtcbiAgICAgICAgaWYgKGxldmVsICE9PSAwIHx8ICFpc1N0YXRpY1JlcXVpcmUobm9kZSkgfHwgIWlzSW5WYXJpYWJsZURlY2xhcmF0b3Iobm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZSA9IG5vZGUuYXJndW1lbnRzWzBdLnZhbHVlXG4gICAgICAgIHJlZ2lzdGVyTm9kZShcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICB2YWx1ZTogbmFtZSxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBuYW1lLFxuICAgICAgICAgICAgdHlwZTogJ3JlcXVpcmUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmFua3MsXG4gICAgICAgICAgaW1wb3J0ZWQsXG4gICAgICAgICAgcGF0aEdyb3Vwc0V4Y2x1ZGVkSW1wb3J0VHlwZXNcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiByZXBvcnRBbmRSZXNldCgpIHtcbiAgICAgICAgaWYgKG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgIT09ICdpZ25vcmUnKSB7XG4gICAgICAgICAgbWFrZU5ld2xpbmVzQmV0d2VlblJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbHBoYWJldGl6ZS5vcmRlciAhPT0gJ2lnbm9yZScpIHtcbiAgICAgICAgICBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplKVxuICAgICAgICB9XG5cbiAgICAgICAgbWFrZU91dE9mT3JkZXJSZXBvcnQoY29udGV4dCwgaW1wb3J0ZWQpXG5cbiAgICAgICAgaW1wb3J0ZWQgPSBbXVxuICAgICAgfSxcbiAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb246IGluY3JlbWVudExldmVsLFxuICAgICAgRnVuY3Rpb25FeHByZXNzaW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIEFycm93RnVuY3Rpb25FeHByZXNzaW9uOiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIEJsb2NrU3RhdGVtZW50OiBpbmNyZW1lbnRMZXZlbCxcbiAgICAgIE9iamVjdEV4cHJlc3Npb246IGluY3JlbWVudExldmVsLFxuICAgICAgJ0Z1bmN0aW9uRGVjbGFyYXRpb246ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZGVjcmVtZW50TGV2ZWwsXG4gICAgICAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246ZXhpdCc6IGRlY3JlbWVudExldmVsLFxuICAgICAgJ0Jsb2NrU3RhdGVtZW50OmV4aXQnOiBkZWNyZW1lbnRMZXZlbCxcbiAgICAgICdPYmplY3RFeHByZXNzaW9uOmV4aXQnOiBkZWNyZW1lbnRMZXZlbCxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9vcmRlci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0R3JvdXBzIiwicmV2ZXJzZSIsImFycmF5IiwibWFwIiwidiIsIk9iamVjdCIsImFzc2lnbiIsInJhbmsiLCJnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIiLCJzb3VyY2VDb2RlIiwibm9kZSIsImNvdW50IiwiY3VycmVudE5vZGVPclRva2VuIiwicmVzdWx0IiwiaSIsImdldFRva2VuT3JDb21tZW50QWZ0ZXIiLCJwdXNoIiwiZ2V0VG9rZW5zT3JDb21tZW50c0JlZm9yZSIsImdldFRva2VuT3JDb21tZW50QmVmb3JlIiwidGFrZVRva2Vuc0FmdGVyV2hpbGUiLCJjb25kaXRpb24iLCJ0b2tlbnMiLCJsZW5ndGgiLCJ0YWtlVG9rZW5zQmVmb3JlV2hpbGUiLCJmaW5kT3V0T2ZPcmRlciIsImltcG9ydGVkIiwibWF4U2VlblJhbmtOb2RlIiwiZmlsdGVyIiwiaW1wb3J0ZWRNb2R1bGUiLCJyZXMiLCJmaW5kUm9vdE5vZGUiLCJwYXJlbnQiLCJib2R5IiwiZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyIsInRva2Vuc1RvRW5kT2ZMaW5lIiwiY29tbWVudE9uU2FtZUxpbmVBcyIsImVuZE9mVG9rZW5zIiwicmFuZ2UiLCJ0ZXh0IiwidG9rZW4iLCJ0eXBlIiwibG9jIiwic3RhcnQiLCJsaW5lIiwiZW5kIiwiZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzIiwic3RhcnRPZlRva2VucyIsImlzUGxhaW5SZXF1aXJlTW9kdWxlIiwiZGVjbGFyYXRpb25zIiwiZGVjbCIsImlkIiwiaW5pdCIsImNhbGxlZSIsIm5hbWUiLCJhcmd1bWVudHMiLCJpc1BsYWluSW1wb3J0TW9kdWxlIiwic3BlY2lmaWVycyIsImlzUGxhaW5JbXBvcnRFcXVhbHMiLCJtb2R1bGVSZWZlcmVuY2UiLCJleHByZXNzaW9uIiwiY2FuQ3Jvc3NOb2RlV2hpbGVSZW9yZGVyIiwiY2FuUmVvcmRlckl0ZW1zIiwiZmlyc3ROb2RlIiwic2Vjb25kTm9kZSIsImluZGV4T2YiLCJzb3J0IiwiZmlyc3RJbmRleCIsInNlY29uZEluZGV4Iiwibm9kZXNCZXR3ZWVuIiwic2xpY2UiLCJub2RlQmV0d2VlbiIsImZpeE91dE9mT3JkZXIiLCJjb250ZXh0Iiwib3JkZXIiLCJnZXRTb3VyY2VDb2RlIiwiZmlyc3RSb290IiwiZmlyc3RSb290U3RhcnQiLCJmaXJzdFJvb3RFbmQiLCJzZWNvbmRSb290Iiwic2Vjb25kUm9vdFN0YXJ0Iiwic2Vjb25kUm9vdEVuZCIsImNhbkZpeCIsIm5ld0NvZGUiLCJzdWJzdHJpbmciLCJtZXNzYWdlIiwiZGlzcGxheU5hbWUiLCJyZXBvcnQiLCJmaXgiLCJmaXhlciIsInJlcGxhY2VUZXh0UmFuZ2UiLCJyZXBvcnRPdXRPZk9yZGVyIiwib3V0T2ZPcmRlciIsImZvckVhY2giLCJpbXAiLCJmb3VuZCIsImZpbmQiLCJoYXNIaWdoZXJSYW5rIiwiaW1wb3J0ZWRJdGVtIiwibWFrZU91dE9mT3JkZXJSZXBvcnQiLCJyZXZlcnNlZEltcG9ydGVkIiwicmV2ZXJzZWRPcmRlciIsImdldFNvcnRlciIsImFzY2VuZGluZyIsIm11bHRpcGxpZXIiLCJpbXBvcnRzU29ydGVyIiwiaW1wb3J0QSIsImltcG9ydEIiLCJtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUiLCJhbHBoYWJldGl6ZU9wdGlvbnMiLCJncm91cGVkQnlSYW5rcyIsInJlZHVjZSIsImFjYyIsIkFycmF5IiwiaXNBcnJheSIsImdyb3VwUmFua3MiLCJrZXlzIiwic29ydGVyRm4iLCJjb21wYXJhdG9yIiwiY2FzZUluc2Vuc2l0aXZlIiwiYSIsImIiLCJTdHJpbmciLCJ2YWx1ZSIsInRvTG93ZXJDYXNlIiwiZ3JvdXBSYW5rIiwibmV3UmFuayIsImFscGhhYmV0aXplZFJhbmtzIiwiaW1wb3J0S2luZCIsInBhcnNlSW50IiwiY29tcHV0ZVBhdGhSYW5rIiwicmFua3MiLCJwYXRoR3JvdXBzIiwicGF0aCIsIm1heFBvc2l0aW9uIiwibCIsInBhdHRlcm4iLCJwYXR0ZXJuT3B0aW9ucyIsImdyb3VwIiwicG9zaXRpb24iLCJub2NvbW1lbnQiLCJjb21wdXRlUmFuayIsImltcG9ydEVudHJ5IiwiZXhjbHVkZWRJbXBvcnRUeXBlcyIsImltcFR5cGUiLCJvbWl0dGVkVHlwZXMiLCJoYXMiLCJncm91cHMiLCJzdGFydHNXaXRoIiwicmVnaXN0ZXJOb2RlIiwiaXNNb2R1bGVMZXZlbFJlcXVpcmUiLCJuIiwib2JqZWN0IiwidHlwZXMiLCJjb252ZXJ0R3JvdXBzVG9SYW5rcyIsInJhbmtPYmplY3QiLCJpbmRleCIsImdyb3VwSXRlbSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInVuZGVmaW5lZCIsImNvbnZlcnRQYXRoR3JvdXBzRm9yUmFua3MiLCJhZnRlciIsImJlZm9yZSIsInRyYW5zZm9ybWVkIiwicGF0aEdyb3VwIiwicG9zaXRpb25TdHJpbmciLCJncm91cExlbmd0aCIsImdyb3VwSW5kZXgiLCJNYXRoIiwibWF4Iiwia2V5IiwiZ3JvdXBOZXh0UG9zaXRpb24iLCJwb3ciLCJjZWlsIiwibG9nMTAiLCJmaXhOZXdMaW5lQWZ0ZXJJbXBvcnQiLCJwcmV2aW91c0ltcG9ydCIsInByZXZSb290IiwiZW5kT2ZMaW5lIiwiaW5zZXJ0VGV4dEFmdGVyUmFuZ2UiLCJyZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQiLCJjdXJyZW50SW1wb3J0IiwiY3VyclJvb3QiLCJyYW5nZVRvUmVtb3ZlIiwidGVzdCIsInJlbW92ZVJhbmdlIiwibWFrZU5ld2xpbmVzQmV0d2VlblJlcG9ydCIsIm5ld2xpbmVzQmV0d2VlbkltcG9ydHMiLCJnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuIiwibGluZXNCZXR3ZWVuSW1wb3J0cyIsImxpbmVzIiwidHJpbSIsImVtcHR5TGluZXNCZXR3ZWVuIiwiZ2V0QWxwaGFiZXRpemVDb25maWciLCJvcHRpb25zIiwiYWxwaGFiZXRpemUiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJ1cmwiLCJmaXhhYmxlIiwic2NoZW1hIiwicHJvcGVydGllcyIsInBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzIiwiaXRlbXMiLCJlbnVtIiwicmVxdWlyZWQiLCJkZWZhdWx0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJ3YXJuT25VbmFzc2lnbmVkSW1wb3J0cyIsImNyZWF0ZSIsImltcG9ydE9yZGVyUnVsZSIsIlNldCIsImVycm9yIiwiUHJvZ3JhbSIsIkltcG9ydERlY2xhcmF0aW9uIiwiaGFuZGxlSW1wb3J0cyIsInNvdXJjZSIsIlRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24iLCJpc0V4cG9ydCIsImdldFRleHQiLCJDYWxsRXhwcmVzc2lvbiIsImhhbmRsZVJlcXVpcmVzIiwicmVwb3J0QW5kUmVzZXQiXSwibWFwcGluZ3MiOiJBQUFBLGE7O0FBRUEsc0M7QUFDQSxnRDtBQUNBLHNEO0FBQ0EscUM7O0FBRUEsTUFBTUEsZ0JBQWdCLENBQUMsU0FBRCxFQUFZLFVBQVosRUFBd0IsUUFBeEIsRUFBa0MsU0FBbEMsRUFBNkMsT0FBN0MsQ0FBdEI7O0FBRUE7O0FBRUEsU0FBU0MsT0FBVCxDQUFpQkMsS0FBakIsRUFBd0I7QUFDdEIsU0FBT0EsTUFBTUMsR0FBTixDQUFVLFVBQVVDLENBQVYsRUFBYTtBQUM1QixXQUFPQyxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkYsQ0FBbEIsRUFBcUIsRUFBRUcsTUFBTSxDQUFDSCxFQUFFRyxJQUFYLEVBQXJCLENBQVA7QUFDRCxHQUZNLEVBRUpOLE9BRkksRUFBUDtBQUdEOztBQUVELFNBQVNPLHdCQUFULENBQWtDQyxVQUFsQyxFQUE4Q0MsSUFBOUMsRUFBb0RDLEtBQXBELEVBQTJEO0FBQ3pELE1BQUlDLHFCQUFxQkYsSUFBekI7QUFDQSxRQUFNRyxTQUFTLEVBQWY7QUFDQSxPQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUgsS0FBcEIsRUFBMkJHLEdBQTNCLEVBQWdDO0FBQzlCRix5QkFBcUJILFdBQVdNLHNCQUFYLENBQWtDSCxrQkFBbEMsQ0FBckI7QUFD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QVFFMEYsYUFSRjtBQVNFekcsZ0JBVEY7QUFVRW9MLHFDQVZGOztBQVlELE9BbEVJO0FBbUVMLHNCQUFnQixTQUFTb0IsY0FBVCxHQUEwQjtBQUN4QyxZQUFJckMsMkJBQTJCLFFBQS9CLEVBQXlDO0FBQ3ZDRCxvQ0FBMEJuSCxPQUExQixFQUFtQy9DLFFBQW5DLEVBQTZDbUssc0JBQTdDO0FBQ0Q7O0FBRUQsWUFBSVEsWUFBWTNILEtBQVosS0FBc0IsUUFBMUIsRUFBb0M7QUFDbENrQyxtQ0FBeUJsRixRQUF6QixFQUFtQzJLLFdBQW5DO0FBQ0Q7O0FBRURsRyw2QkFBcUIxQixPQUFyQixFQUE4Qi9DLFFBQTlCOztBQUVBQSxtQkFBVyxFQUFYO0FBQ0QsT0EvRUksRUFBUDs7QUFpRkQsR0FwTGMsRUFBakIiLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJztcbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuY29uc3QgZGVmYXVsdEdyb3VwcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdwYXJlbnQnLCAnc2libGluZycsICdpbmRleCddO1xuXG4vLyBSRVBPUlRJTkcgQU5EIEZJWElOR1xuXG5mdW5jdGlvbiByZXZlcnNlKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5tYXAoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdiwgeyByYW5rOiAtdi5yYW5rIH0pO1xuICB9KS5yZXZlcnNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFRva2Vuc09yQ29tbWVudHNBZnRlcihzb3VyY2VDb2RlLCBub2RlLCBjb3VudCkge1xuICBsZXQgY3VycmVudE5vZGVPclRva2VuID0gbm9kZTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGN1cnJlbnROb2RlT3JUb2tlbiA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5PckNvbW1lbnRBZnRlcihjdXJyZW50Tm9kZU9yVG9rZW4pO1xuICAgIGlmIChjdXJyZW50Tm9kZU9yVG9rZW4gPT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdC5wdXNoKGN1cnJlbnROb2RlT3JUb2tlbik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZ2V0VG9rZW5zT3JDb21tZW50c0JlZm9yZShzb3VyY2VDb2RlLCBub2RlLCBjb3VudCkge1xuICBsZXQgY3VycmVudE5vZGVPclRva2VuID0gbm9kZTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGN1cnJlbnROb2RlT3JUb2tlbiA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5PckNvbW1lbnRCZWZvcmUoY3VycmVudE5vZGVPclRva2VuKTtcbiAgICBpZiAoY3VycmVudE5vZGVPclRva2VuID09IG51bGwpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXN1bHQucHVzaChjdXJyZW50Tm9kZU9yVG9rZW4pO1xuICB9XG4gIHJldHVybiByZXN1bHQucmV2ZXJzZSgpO1xufVxuXG5mdW5jdGlvbiB0YWtlVG9rZW5zQWZ0ZXJXaGlsZShzb3VyY2VDb2RlLCBub2RlLCBjb25kaXRpb24pIHtcbiAgY29uc3QgdG9rZW5zID0gZ2V0VG9rZW5zT3JDb21tZW50c0FmdGVyKHNvdXJjZUNvZGUsIG5vZGUsIDEwMCk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChjb25kaXRpb24odG9rZW5zW2ldKSkge1xuICAgICAgcmVzdWx0LnB1c2godG9rZW5zW2ldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdGFrZVRva2Vuc0JlZm9yZVdoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIDEwMCk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBpID0gdG9rZW5zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGNvbmRpdGlvbih0b2tlbnNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbnNbaV0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0LnJldmVyc2UoKTtcbn1cblxuZnVuY3Rpb24gZmluZE91dE9mT3JkZXIoaW1wb3J0ZWQpIHtcbiAgaWYgKGltcG9ydGVkLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBsZXQgbWF4U2VlblJhbmtOb2RlID0gaW1wb3J0ZWRbMF07XG4gIHJldHVybiBpbXBvcnRlZC5maWx0ZXIoZnVuY3Rpb24gKGltcG9ydGVkTW9kdWxlKSB7XG4gICAgY29uc3QgcmVzID0gaW1wb3J0ZWRNb2R1bGUucmFuayA8IG1heFNlZW5SYW5rTm9kZS5yYW5rO1xuICAgIGlmIChtYXhTZWVuUmFua05vZGUucmFuayA8IGltcG9ydGVkTW9kdWxlLnJhbmspIHtcbiAgICAgIG1heFNlZW5SYW5rTm9kZSA9IGltcG9ydGVkTW9kdWxlO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZmluZFJvb3ROb2RlKG5vZGUpIHtcbiAgbGV0IHBhcmVudCA9IG5vZGU7XG4gIHdoaWxlIChwYXJlbnQucGFyZW50ICE9IG51bGwgJiYgcGFyZW50LnBhcmVudC5ib2R5ID09IG51bGwpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICB9XG4gIHJldHVybiBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIGZpbmRFbmRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgbm9kZSkge1xuICBjb25zdCB0b2tlbnNUb0VuZE9mTGluZSA9IHRha2VUb2tlbnNBZnRlcldoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbW1lbnRPblNhbWVMaW5lQXMobm9kZSkpO1xuICBjb25zdCBlbmRPZlRva2VucyA9IHRva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCA+IDBcbiAgICA/IHRva2Vuc1RvRW5kT2ZMaW5lW3Rva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCAtIDFdLnJhbmdlWzFdXG4gICAgOiBub2RlLnJhbmdlWzFdO1xuICBsZXQgcmVzdWx0ID0gZW5kT2ZUb2tlbnM7XG4gIGZvciAobGV0IGkgPSBlbmRPZlRva2VuczsgaSA8IHNvdXJjZUNvZGUudGV4dC5sZW5ndGg7IGkrKykge1xuICAgIGlmIChzb3VyY2VDb2RlLnRleHRbaV0gPT09ICdcXG4nKSB7XG4gICAgICByZXN1bHQgPSBpICsgMTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoc291cmNlQ29kZS50ZXh0W2ldICE9PSAnICcgJiYgc291cmNlQ29kZS50ZXh0W2ldICE9PSAnXFx0JyAmJiBzb3VyY2VDb2RlLnRleHRbaV0gIT09ICdcXHInKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcmVzdWx0ID0gaSArIDE7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gY29tbWVudE9uU2FtZUxpbmVBcyhub2RlKSB7XG4gIHJldHVybiB0b2tlbiA9PiAodG9rZW4udHlwZSA9PT0gJ0Jsb2NrJyB8fCAgdG9rZW4udHlwZSA9PT0gJ0xpbmUnKSAmJlxuICAgICAgdG9rZW4ubG9jLnN0YXJ0LmxpbmUgPT09IHRva2VuLmxvYy5lbmQubGluZSAmJlxuICAgICAgdG9rZW4ubG9jLmVuZC5saW5lID09PSBub2RlLmxvYy5lbmQubGluZTtcbn1cblxuZnVuY3Rpb24gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQmVmb3JlV2hpbGUoc291cmNlQ29kZSwgbm9kZSwgY29tbWVudE9uU2FtZUxpbmVBcyhub2RlKSk7XG4gIGNvbnN0IHN0YXJ0T2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwID8gdG9rZW5zVG9FbmRPZkxpbmVbMF0ucmFuZ2VbMF0gOiBub2RlLnJhbmdlWzBdO1xuICBsZXQgcmVzdWx0ID0gc3RhcnRPZlRva2VucztcbiAgZm9yIChsZXQgaSA9IHN0YXJ0T2ZUb2tlbnMgLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXN1bHQgPSBpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5SZXF1aXJlTW9kdWxlKG5vZGUpIHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gJ1ZhcmlhYmxlRGVjbGFyYXRpb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChub2RlLmRlY2xhcmF0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgZGVjbCA9IG5vZGUuZGVjbGFyYXRpb25zWzBdO1xuICBjb25zdCByZXN1bHQgPSBkZWNsLmlkICYmXG4gICAgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKSAmJlxuICAgIGRlY2wuaW5pdCAhPSBudWxsICYmXG4gICAgZGVjbC5pbml0LnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicgJiZcbiAgICBkZWNsLmluaXQuY2FsbGVlICE9IG51bGwgJiZcbiAgICBkZWNsLmluaXQuY2FsbGVlLm5hbWUgPT09ICdyZXF1aXJlJyAmJlxuICAgIGRlY2wuaW5pdC5hcmd1bWVudHMgIT0gbnVsbCAmJlxuICAgIGRlY2wuaW5pdC5hcmd1bWVudHMubGVuZ3RoID09PSAxICYmXG4gICAgZGVjbC5pbml0LmFyZ3VtZW50c1swXS50eXBlID09PSAnTGl0ZXJhbCc7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5JbXBvcnRNb2R1bGUobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nICYmIG5vZGUuc3BlY2lmaWVycyAhPSBudWxsICYmIG5vZGUuc3BlY2lmaWVycy5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nICYmIG5vZGUubW9kdWxlUmVmZXJlbmNlLmV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlcihub2RlKSB7XG4gIHJldHVybiBpc1BsYWluUmVxdWlyZU1vZHVsZShub2RlKSB8fCBpc1BsYWluSW1wb3J0TW9kdWxlKG5vZGUpIHx8IGlzUGxhaW5JbXBvcnRFcXVhbHMobm9kZSk7XG59XG5cbmZ1bmN0aW9uIGNhblJlb3JkZXJJdGVtcyhmaXJzdE5vZGUsIHNlY29uZE5vZGUpIHtcbiAgY29uc3QgcGFyZW50ID0gZmlyc3ROb2RlLnBhcmVudDtcbiAgY29uc3QgW2ZpcnN0SW5kZXgsIHNlY29uZEluZGV4XSA9IFtcbiAgICBwYXJlbnQuYm9keS5pbmRleE9mKGZpcnN0Tm9kZSksXG4gICAgcGFyZW50LmJvZHkuaW5kZXhPZihzZWNvbmROb2RlKSxcbiAgXS5zb3J0KCk7XG4gIGNvbnN0IG5vZGVzQmV0d2VlbiA9IHBhcmVudC5ib2R5LnNsaWNlKGZpcnN0SW5kZXgsIHNlY29uZEluZGV4ICsgMSk7XG4gIGZvciAoY29uc3Qgbm9kZUJldHdlZW4gb2Ygbm9kZXNCZXR3ZWVuKSB7XG4gICAgaWYgKCFjYW5Dcm9zc05vZGVXaGlsZVJlb3JkZXIobm9kZUJldHdlZW4pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBmaXhPdXRPZk9yZGVyKGNvbnRleHQsIGZpcnN0Tm9kZSwgc2Vjb25kTm9kZSwgb3JkZXIpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpO1xuXG4gIGNvbnN0IGZpcnN0Um9vdCA9IGZpbmRSb290Tm9kZShmaXJzdE5vZGUubm9kZSk7XG4gIGNvbnN0IGZpcnN0Um9vdFN0YXJ0ID0gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIGZpcnN0Um9vdCk7XG4gIGNvbnN0IGZpcnN0Um9vdEVuZCA9IGZpbmRFbmRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgZmlyc3RSb290KTtcblxuICBjb25zdCBzZWNvbmRSb290ID0gZmluZFJvb3ROb2RlKHNlY29uZE5vZGUubm9kZSk7XG4gIGNvbnN0IHNlY29uZFJvb3RTdGFydCA9IGZpbmRTdGFydE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBzZWNvbmRSb290KTtcbiAgY29uc3Qgc2Vjb25kUm9vdEVuZCA9IGZpbmRFbmRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgc2Vjb25kUm9vdCk7XG4gIGNvbnN0IGNhbkZpeCA9IGNhblJlb3JkZXJJdGVtcyhmaXJzdFJvb3QsIHNlY29uZFJvb3QpO1xuXG4gIGxldCBuZXdDb2RlID0gc291cmNlQ29kZS50ZXh0LnN1YnN0cmluZyhzZWNvbmRSb290U3RhcnQsIHNlY29uZFJvb3RFbmQpO1xuICBpZiAobmV3Q29kZVtuZXdDb2RlLmxlbmd0aCAtIDFdICE9PSAnXFxuJykge1xuICAgIG5ld0NvZGUgPSBuZXdDb2RlICsgJ1xcbic7XG4gIH1cblxuICBjb25zdCBtZXNzYWdlID0gYFxcYCR7c2Vjb25kTm9kZS5kaXNwbGF5TmFtZX1cXGAgaW1wb3J0IHNob3VsZCBvY2N1ciAke29yZGVyfSBpbXBvcnQgb2YgXFxgJHtmaXJzdE5vZGUuZGlzcGxheU5hbWV9XFxgYDtcblxuICBpZiAob3JkZXIgPT09ICdiZWZvcmUnKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgbm9kZTogc2Vjb25kTm9kZS5ub2RlLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIGZpeDogY2FuRml4ICYmIChmaXhlciA9PlxuICAgICAgICBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFxuICAgICAgICAgIFtmaXJzdFJvb3RTdGFydCwgc2Vjb25kUm9vdEVuZF0sXG4gICAgICAgICAgbmV3Q29kZSArIHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcoZmlyc3RSb290U3RhcnQsIHNlY29uZFJvb3RTdGFydClcbiAgICAgICAgKSksXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAob3JkZXIgPT09ICdhZnRlcicpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBub2RlOiBzZWNvbmROb2RlLm5vZGUsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZml4OiBjYW5GaXggJiYgKGZpeGVyID0+XG4gICAgICAgIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UoXG4gICAgICAgICAgW3NlY29uZFJvb3RTdGFydCwgZmlyc3RSb290RW5kXSxcbiAgICAgICAgICBzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKHNlY29uZFJvb3RFbmQsIGZpcnN0Um9vdEVuZCkgKyBuZXdDb2RlXG4gICAgICAgICkpLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcG9ydE91dE9mT3JkZXIoY29udGV4dCwgaW1wb3J0ZWQsIG91dE9mT3JkZXIsIG9yZGVyKSB7XG4gIG91dE9mT3JkZXIuZm9yRWFjaChmdW5jdGlvbiAoaW1wKSB7XG4gICAgY29uc3QgZm91bmQgPSBpbXBvcnRlZC5maW5kKGZ1bmN0aW9uIGhhc0hpZ2hlclJhbmsoaW1wb3J0ZWRJdGVtKSB7XG4gICAgICByZXR1cm4gaW1wb3J0ZWRJdGVtLnJhbmsgPiBpbXAucmFuaztcbiAgICB9KTtcbiAgICBmaXhPdXRPZk9yZGVyKGNvbnRleHQsIGZvdW5kLCBpbXAsIG9yZGVyKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VPdXRPZk9yZGVyUmVwb3J0KGNvbnRleHQsIGltcG9ydGVkKSB7XG4gIGNvbnN0IG91dE9mT3JkZXIgPSBmaW5kT3V0T2ZPcmRlcihpbXBvcnRlZCk7XG4gIGlmICghb3V0T2ZPcmRlci5sZW5ndGgpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gVGhlcmUgYXJlIHRoaW5ncyB0byByZXBvcnQuIFRyeSB0byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHJlcG9ydGVkIGVycm9ycy5cbiAgY29uc3QgcmV2ZXJzZWRJbXBvcnRlZCA9IHJldmVyc2UoaW1wb3J0ZWQpO1xuICBjb25zdCByZXZlcnNlZE9yZGVyID0gZmluZE91dE9mT3JkZXIocmV2ZXJzZWRJbXBvcnRlZCk7XG4gIGlmIChyZXZlcnNlZE9yZGVyLmxlbmd0aCA8IG91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCByZXZlcnNlZEltcG9ydGVkLCByZXZlcnNlZE9yZGVyLCAnYWZ0ZXInKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCBpbXBvcnRlZCwgb3V0T2ZPcmRlciwgJ2JlZm9yZScpO1xufVxuXG5mdW5jdGlvbiBnZXRTb3J0ZXIoYXNjZW5kaW5nKSB7XG4gIGNvbnN0IG11bHRpcGxpZXIgPSBhc2NlbmRpbmcgPyAxIDogLTE7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIGltcG9ydHNTb3J0ZXIoaW1wb3J0QSwgaW1wb3J0Qikge1xuICAgIGxldCByZXN1bHQ7XG5cbiAgICBpZiAoaW1wb3J0QSA8IGltcG9ydEIpIHtcbiAgICAgIHJlc3VsdCA9IC0xO1xuICAgIH0gZWxzZSBpZiAoaW1wb3J0QSA+IGltcG9ydEIpIHtcbiAgICAgIHJlc3VsdCA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCAqIG11bHRpcGxpZXI7XG4gIH07XG59XG5cbmZ1bmN0aW9uIG11dGF0ZVJhbmtzVG9BbHBoYWJldGl6ZShpbXBvcnRlZCwgYWxwaGFiZXRpemVPcHRpb25zKSB7XG4gIGNvbnN0IGdyb3VwZWRCeVJhbmtzID0gaW1wb3J0ZWQucmVkdWNlKGZ1bmN0aW9uKGFjYywgaW1wb3J0ZWRJdGVtKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFjY1tpbXBvcnRlZEl0ZW0ucmFua10pKSB7XG4gICAgICBhY2NbaW1wb3J0ZWRJdGVtLnJhbmtdID0gW107XG4gICAgfVxuICAgIGFjY1tpbXBvcnRlZEl0ZW0ucmFua10ucHVzaChpbXBvcnRlZEl0ZW0pO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcblxuICBjb25zdCBncm91cFJhbmtzID0gT2JqZWN0LmtleXMoZ3JvdXBlZEJ5UmFua3MpO1xuXG4gIGNvbnN0IHNvcnRlckZuID0gZ2V0U29ydGVyKGFscGhhYmV0aXplT3B0aW9ucy5vcmRlciA9PT0gJ2FzYycpO1xuICBjb25zdCBjb21wYXJhdG9yID0gYWxwaGFiZXRpemVPcHRpb25zLmNhc2VJbnNlbnNpdGl2ZVxuICAgID8gKGEsIGIpID0+IHNvcnRlckZuKFN0cmluZyhhLnZhbHVlKS50b0xvd2VyQ2FzZSgpLCBTdHJpbmcoYi52YWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICA6IChhLCBiKSA9PiBzb3J0ZXJGbihhLnZhbHVlLCBiLnZhbHVlKTtcblxuICAvLyBzb3J0IGltcG9ydHMgbG9jYWxseSB3aXRoaW4gdGhlaXIgZ3JvdXBcbiAgZ3JvdXBSYW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGdyb3VwUmFuaykge1xuICAgIGdyb3VwZWRCeVJhbmtzW2dyb3VwUmFua10uc29ydChjb21wYXJhdG9yKTtcbiAgfSk7XG5cbiAgLy8gYXNzaWduIGdsb2JhbGx5IHVuaXF1ZSByYW5rIHRvIGVhY2ggaW1wb3J0XG4gIGxldCBuZXdSYW5rID0gMDtcbiAgY29uc3QgYWxwaGFiZXRpemVkUmFua3MgPSBncm91cFJhbmtzLnNvcnQoKS5yZWR1Y2UoZnVuY3Rpb24oYWNjLCBncm91cFJhbmspIHtcbiAgICBncm91cGVkQnlSYW5rc1tncm91cFJhbmtdLmZvckVhY2goZnVuY3Rpb24oaW1wb3J0ZWRJdGVtKSB7XG4gICAgICBhY2NbYCR7aW1wb3J0ZWRJdGVtLnZhbHVlfXwke2ltcG9ydGVkSXRlbS5ub2RlLmltcG9ydEtpbmR9YF0gPSBwYXJzZUludChncm91cFJhbmssIDEwKSArIG5ld1Jhbms7XG4gICAgICBuZXdSYW5rICs9IDE7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIC8vIG11dGF0ZSB0aGUgb3JpZ2luYWwgZ3JvdXAtcmFuayB3aXRoIGFscGhhYmV0aXplZC1yYW5rXG4gIGltcG9ydGVkLmZvckVhY2goZnVuY3Rpb24oaW1wb3J0ZWRJdGVtKSB7XG4gICAgaW1wb3J0ZWRJdGVtLnJhbmsgPSBhbHBoYWJldGl6ZWRSYW5rc1tgJHtpbXBvcnRlZEl0ZW0udmFsdWV9fCR7aW1wb3J0ZWRJdGVtLm5vZGUuaW1wb3J0S2luZH1gXTtcbiAgfSk7XG59XG5cbi8vIERFVEVDVElOR1xuXG5mdW5jdGlvbiBjb21wdXRlUGF0aFJhbmsocmFua3MsIHBhdGhHcm91cHMsIHBhdGgsIG1heFBvc2l0aW9uKSB7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gcGF0aEdyb3Vwcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb25zdCB7IHBhdHRlcm4sIHBhdHRlcm5PcHRpb25zLCBncm91cCwgcG9zaXRpb24gPSAxIH0gPSBwYXRoR3JvdXBzW2ldO1xuICAgIGlmIChtaW5pbWF0Y2gocGF0aCwgcGF0dGVybiwgcGF0dGVybk9wdGlvbnMgfHwgeyBub2NvbW1lbnQ6IHRydWUgfSkpIHtcbiAgICAgIHJldHVybiByYW5rc1tncm91cF0gKyAocG9zaXRpb24gLyBtYXhQb3NpdGlvbik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVSYW5rKGNvbnRleHQsIHJhbmtzLCBpbXBvcnRFbnRyeSwgZXhjbHVkZWRJbXBvcnRUeXBlcykge1xuICBsZXQgaW1wVHlwZTtcbiAgbGV0IHJhbms7XG4gIGlmIChpbXBvcnRFbnRyeS50eXBlID09PSAnaW1wb3J0Om9iamVjdCcpIHtcbiAgICBpbXBUeXBlID0gJ29iamVjdCc7XG4gIH0gZWxzZSBpZiAoaW1wb3J0RW50cnkubm9kZS5pbXBvcnRLaW5kID09PSAndHlwZScgJiYgcmFua3Mub21pdHRlZFR5cGVzLmluZGV4T2YoJ3R5cGUnKSA9PT0gLTEpIHtcbiAgICBpbXBUeXBlID0gJ3R5cGUnO1xuICB9IGVsc2Uge1xuICAgIGltcFR5cGUgPSBpbXBvcnRUeXBlKGltcG9ydEVudHJ5LnZhbHVlLCBjb250ZXh0KTtcbiAgfVxuICBpZiAoIWV4Y2x1ZGVkSW1wb3J0VHlwZXMuaGFzKGltcFR5cGUpKSB7XG4gICAgcmFuayA9IGNvbXB1dGVQYXRoUmFuayhyYW5rcy5ncm91cHMsIHJhbmtzLnBhdGhHcm91cHMsIGltcG9ydEVudHJ5LnZhbHVlLCByYW5rcy5tYXhQb3NpdGlvbik7XG4gIH1cbiAgaWYgKHR5cGVvZiByYW5rID09PSAndW5kZWZpbmVkJykge1xuICAgIHJhbmsgPSByYW5rcy5ncm91cHNbaW1wVHlwZV07XG4gIH1cbiAgaWYgKGltcG9ydEVudHJ5LnR5cGUgIT09ICdpbXBvcnQnICYmICFpbXBvcnRFbnRyeS50eXBlLnN0YXJ0c1dpdGgoJ2ltcG9ydDonKSkge1xuICAgIHJhbmsgKz0gMTAwO1xuICB9XG5cbiAgcmV0dXJuIHJhbms7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyTm9kZShjb250ZXh0LCBpbXBvcnRFbnRyeSwgcmFua3MsIGltcG9ydGVkLCBleGNsdWRlZEltcG9ydFR5cGVzKSB7XG4gIGNvbnN0IHJhbmsgPSBjb21wdXRlUmFuayhjb250ZXh0LCByYW5rcywgaW1wb3J0RW50cnksIGV4Y2x1ZGVkSW1wb3J0VHlwZXMpO1xuICBpZiAocmFuayAhPT0gLTEpIHtcbiAgICBpbXBvcnRlZC5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGltcG9ydEVudHJ5LCB7IHJhbmsgfSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTW9kdWxlTGV2ZWxSZXF1aXJlKG5vZGUpIHtcbiAgbGV0IG4gPSBub2RlO1xuICAvLyBIYW5kbGUgY2FzZXMgbGlrZSBgY29uc3QgYmF6ID0gcmVxdWlyZSgnZm9vJykuYmFyLmJhemBcbiAgLy8gYW5kIGBjb25zdCBmb28gPSByZXF1aXJlKCdmb28nKSgpYFxuICB3aGlsZSAoXG4gICAgKG4ucGFyZW50LnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJyAmJiBuLnBhcmVudC5vYmplY3QgPT09IG4pIHx8XG4gICAgKG4ucGFyZW50LnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicgJiYgbi5wYXJlbnQuY2FsbGVlID09PSBuKVxuICApIHtcbiAgICBuID0gbi5wYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBuLnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdG9yJyAmJlxuICAgIG4ucGFyZW50LnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdGlvbicgJiZcbiAgICBuLnBhcmVudC5wYXJlbnQucGFyZW50LnR5cGUgPT09ICdQcm9ncmFtJ1xuICApO1xufVxuXG5jb25zdCB0eXBlcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdpbnRlcm5hbCcsICd1bmtub3duJywgJ3BhcmVudCcsICdzaWJsaW5nJywgJ2luZGV4JywgJ29iamVjdCcsICd0eXBlJ107XG5cbi8vIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdHlwZS1yYW5rIHBhaXJzLlxuLy8gRXhhbXBsZTogeyBpbmRleDogMCwgc2libGluZzogMSwgcGFyZW50OiAxLCBleHRlcm5hbDogMSwgYnVpbHRpbjogMiwgaW50ZXJuYWw6IDIgfVxuLy8gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiBpdCBjb250YWlucyBhIHR5cGUgdGhhdCBkb2VzIG5vdCBleGlzdCwgb3IgaGFzIGEgZHVwbGljYXRlXG5mdW5jdGlvbiBjb252ZXJ0R3JvdXBzVG9SYW5rcyhncm91cHMpIHtcbiAgY29uc3QgcmFua09iamVjdCA9IGdyb3Vwcy5yZWR1Y2UoZnVuY3Rpb24ocmVzLCBncm91cCwgaW5kZXgpIHtcbiAgICBpZiAodHlwZW9mIGdyb3VwID09PSAnc3RyaW5nJykge1xuICAgICAgZ3JvdXAgPSBbZ3JvdXBdO1xuICAgIH1cbiAgICBncm91cC5mb3JFYWNoKGZ1bmN0aW9uKGdyb3VwSXRlbSkge1xuICAgICAgaWYgKHR5cGVzLmluZGV4T2YoZ3JvdXBJdGVtKSA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgY29uZmlndXJhdGlvbiBvZiB0aGUgcnVsZTogVW5rbm93biB0eXBlIGAnICtcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShncm91cEl0ZW0pICsgJ2AnKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXNbZ3JvdXBJdGVtXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHJ1bGU6IGAnICsgZ3JvdXBJdGVtICsgJ2AgaXMgZHVwbGljYXRlZCcpO1xuICAgICAgfVxuICAgICAgcmVzW2dyb3VwSXRlbV0gPSBpbmRleDtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzO1xuICB9LCB7fSk7XG5cbiAgY29uc3Qgb21pdHRlZFR5cGVzID0gdHlwZXMuZmlsdGVyKGZ1bmN0aW9uKHR5cGUpIHtcbiAgICByZXR1cm4gcmFua09iamVjdFt0eXBlXSA9PT0gdW5kZWZpbmVkO1xuICB9KTtcblxuICBjb25zdCByYW5rcyA9IG9taXR0ZWRUeXBlcy5yZWR1Y2UoZnVuY3Rpb24ocmVzLCB0eXBlKSB7XG4gICAgcmVzW3R5cGVdID0gZ3JvdXBzLmxlbmd0aDtcbiAgICByZXR1cm4gcmVzO1xuICB9LCByYW5rT2JqZWN0KTtcblxuICByZXR1cm4geyBncm91cHM6IHJhbmtzLCBvbWl0dGVkVHlwZXMgfTtcbn1cblxuZnVuY3Rpb24gY29udmVydFBhdGhHcm91cHNGb3JSYW5rcyhwYXRoR3JvdXBzKSB7XG4gIGNvbnN0IGFmdGVyID0ge307XG4gIGNvbnN0IGJlZm9yZSA9IHt9O1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcGF0aEdyb3Vwcy5tYXAoKHBhdGhHcm91cCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IGdyb3VwLCBwb3NpdGlvbjogcG9zaXRpb25TdHJpbmcgfSA9IHBhdGhHcm91cDtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuICAgIGlmIChwb3NpdGlvblN0cmluZyA9PT0gJ2FmdGVyJykge1xuICAgICAgaWYgKCFhZnRlcltncm91cF0pIHtcbiAgICAgICAgYWZ0ZXJbZ3JvdXBdID0gMTtcbiAgICAgIH1cbiAgICAgIHBvc2l0aW9uID0gYWZ0ZXJbZ3JvdXBdKys7XG4gICAgfSBlbHNlIGlmIChwb3NpdGlvblN0cmluZyA9PT0gJ2JlZm9yZScpIHtcbiAgICAgIGlmICghYmVmb3JlW2dyb3VwXSkge1xuICAgICAgICBiZWZvcmVbZ3JvdXBdID0gW107XG4gICAgICB9XG4gICAgICBiZWZvcmVbZ3JvdXBdLnB1c2goaW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBwYXRoR3JvdXAsIHsgcG9zaXRpb24gfSk7XG4gIH0pO1xuXG4gIGxldCBtYXhQb3NpdGlvbiA9IDE7XG5cbiAgT2JqZWN0LmtleXMoYmVmb3JlKS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwTGVuZ3RoID0gYmVmb3JlW2dyb3VwXS5sZW5ndGg7XG4gICAgYmVmb3JlW2dyb3VwXS5mb3JFYWNoKChncm91cEluZGV4LCBpbmRleCkgPT4ge1xuICAgICAgdHJhbnNmb3JtZWRbZ3JvdXBJbmRleF0ucG9zaXRpb24gPSAtMSAqIChncm91cExlbmd0aCAtIGluZGV4KTtcbiAgICB9KTtcbiAgICBtYXhQb3NpdGlvbiA9IE1hdGgubWF4KG1heFBvc2l0aW9uLCBncm91cExlbmd0aCk7XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGFmdGVyKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCBncm91cE5leHRQb3NpdGlvbiA9IGFmdGVyW2tleV07XG4gICAgbWF4UG9zaXRpb24gPSBNYXRoLm1heChtYXhQb3NpdGlvbiwgZ3JvdXBOZXh0UG9zaXRpb24gLSAxKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoR3JvdXBzOiB0cmFuc2Zvcm1lZCxcbiAgICBtYXhQb3NpdGlvbjogbWF4UG9zaXRpb24gPiAxMCA/IE1hdGgucG93KDEwLCBNYXRoLmNlaWwoTWF0aC5sb2cxMChtYXhQb3NpdGlvbikpKSA6IDEwLFxuICB9O1xufVxuXG5mdW5jdGlvbiBmaXhOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3QgcHJldlJvb3QgPSBmaW5kUm9vdE5vZGUocHJldmlvdXNJbXBvcnQubm9kZSk7XG4gIGNvbnN0IHRva2Vuc1RvRW5kT2ZMaW5lID0gdGFrZVRva2Vuc0FmdGVyV2hpbGUoXG4gICAgY29udGV4dC5nZXRTb3VyY2VDb2RlKCksIHByZXZSb290LCBjb21tZW50T25TYW1lTGluZUFzKHByZXZSb290KSk7XG5cbiAgbGV0IGVuZE9mTGluZSA9IHByZXZSb290LnJhbmdlWzFdO1xuICBpZiAodG9rZW5zVG9FbmRPZkxpbmUubGVuZ3RoID4gMCkge1xuICAgIGVuZE9mTGluZSA9IHRva2Vuc1RvRW5kT2ZMaW5lW3Rva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCAtIDFdLnJhbmdlWzFdO1xuICB9XG4gIHJldHVybiAoZml4ZXIpID0+IGZpeGVyLmluc2VydFRleHRBZnRlclJhbmdlKFtwcmV2Um9vdC5yYW5nZVswXSwgZW5kT2ZMaW5lXSwgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpO1xuICBjb25zdCBwcmV2Um9vdCA9IGZpbmRSb290Tm9kZShwcmV2aW91c0ltcG9ydC5ub2RlKTtcbiAgY29uc3QgY3VyclJvb3QgPSBmaW5kUm9vdE5vZGUoY3VycmVudEltcG9ydC5ub2RlKTtcbiAgY29uc3QgcmFuZ2VUb1JlbW92ZSA9IFtcbiAgICBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHByZXZSb290KSxcbiAgICBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgY3VyclJvb3QpLFxuICBdO1xuICBpZiAoL15cXHMqJC8udGVzdChzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKHJhbmdlVG9SZW1vdmVbMF0sIHJhbmdlVG9SZW1vdmVbMV0pKSkge1xuICAgIHJldHVybiAoZml4ZXIpID0+IGZpeGVyLnJlbW92ZVJhbmdlKHJhbmdlVG9SZW1vdmUpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIG1ha2VOZXdsaW5lc0JldHdlZW5SZXBvcnQgKGNvbnRleHQsIGltcG9ydGVkLCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzKSB7XG4gIGNvbnN0IGdldE51bWJlck9mRW1wdHlMaW5lc0JldHdlZW4gPSAoY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpID0+IHtcbiAgICBjb25zdCBsaW5lc0JldHdlZW5JbXBvcnRzID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCkubGluZXMuc2xpY2UoXG4gICAgICBwcmV2aW91c0ltcG9ydC5ub2RlLmxvYy5lbmQubGluZSxcbiAgICAgIGN1cnJlbnRJbXBvcnQubm9kZS5sb2Muc3RhcnQubGluZSAtIDFcbiAgICApO1xuXG4gICAgcmV0dXJuIGxpbmVzQmV0d2VlbkltcG9ydHMuZmlsdGVyKChsaW5lKSA9PiAhbGluZS50cmltKCkubGVuZ3RoKS5sZW5ndGg7XG4gIH07XG4gIGxldCBwcmV2aW91c0ltcG9ydCA9IGltcG9ydGVkWzBdO1xuXG4gIGltcG9ydGVkLnNsaWNlKDEpLmZvckVhY2goZnVuY3Rpb24oY3VycmVudEltcG9ydCkge1xuICAgIGNvbnN0IGVtcHR5TGluZXNCZXR3ZWVuID0gZ2V0TnVtYmVyT2ZFbXB0eUxpbmVzQmV0d2VlbihjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCk7XG5cbiAgICBpZiAobmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cydcbiAgICAgICAgfHwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cy1hbmQtaW5zaWRlLWdyb3VwcycpIHtcbiAgICAgIGlmIChjdXJyZW50SW1wb3J0LnJhbmsgIT09IHByZXZpb3VzSW1wb3J0LnJhbmsgJiYgZW1wdHlMaW5lc0JldHdlZW4gPT09IDApIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogJ1RoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgZW1wdHkgbGluZSBiZXR3ZWVuIGltcG9ydCBncm91cHMnLFxuICAgICAgICAgIGZpeDogZml4TmV3TGluZUFmdGVySW1wb3J0KGNvbnRleHQsIHByZXZpb3VzSW1wb3J0KSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRJbXBvcnQucmFuayA9PT0gcHJldmlvdXNJbXBvcnQucmFua1xuICAgICAgICAmJiBlbXB0eUxpbmVzQmV0d2VlbiA+IDBcbiAgICAgICAgJiYgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyAhPT0gJ2Fsd2F5cy1hbmQtaW5zaWRlLWdyb3VwcycpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgbWVzc2FnZTogJ1RoZXJlIHNob3VsZCBiZSBubyBlbXB0eSBsaW5lIHdpdGhpbiBpbXBvcnQgZ3JvdXAnLFxuICAgICAgICAgIGZpeDogcmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0KGNvbnRleHQsIGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbXB0eUxpbmVzQmV0d2VlbiA+IDApIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZTogcHJldmlvdXNJbXBvcnQubm9kZSxcbiAgICAgICAgbWVzc2FnZTogJ1RoZXJlIHNob3VsZCBiZSBubyBlbXB0eSBsaW5lIGJldHdlZW4gaW1wb3J0IGdyb3VwcycsXG4gICAgICAgIGZpeDogcmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0KGNvbnRleHQsIGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByZXZpb3VzSW1wb3J0ID0gY3VycmVudEltcG9ydDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldEFscGhhYmV0aXplQ29uZmlnKG9wdGlvbnMpIHtcbiAgY29uc3QgYWxwaGFiZXRpemUgPSBvcHRpb25zLmFscGhhYmV0aXplIHx8IHt9O1xuICBjb25zdCBvcmRlciA9IGFscGhhYmV0aXplLm9yZGVyIHx8ICdpZ25vcmUnO1xuICBjb25zdCBjYXNlSW5zZW5zaXRpdmUgPSBhbHBoYWJldGl6ZS5jYXNlSW5zZW5zaXRpdmUgfHwgZmFsc2U7XG5cbiAgcmV0dXJuIHsgb3JkZXIsIGNhc2VJbnNlbnNpdGl2ZSB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ29yZGVyJyksXG4gICAgfSxcblxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBncm91cHM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhdGhHcm91cHM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHBhdHRlcm46IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcGF0dGVybk9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgZW51bTogdHlwZXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiBbJ2FmdGVyJywgJ2JlZm9yZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3BhdHRlcm4nLCAnZ3JvdXAnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnbmV3bGluZXMtYmV0d2Vlbic6IHtcbiAgICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICAgJ2lnbm9yZScsXG4gICAgICAgICAgICAgICdhbHdheXMnLFxuICAgICAgICAgICAgICAnYWx3YXlzLWFuZC1pbnNpZGUtZ3JvdXBzJyxcbiAgICAgICAgICAgICAgJ25ldmVyJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbHBoYWJldGl6ZToge1xuICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGNhc2VJbnNlbnNpdGl2ZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ2lnbm9yZScsICdhc2MnLCAnZGVzYyddLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICdpZ25vcmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHdhcm5PblVuYXNzaWduZWRJbXBvcnRzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiBpbXBvcnRPcmRlclJ1bGUgKGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5vcHRpb25zWzBdIHx8IHt9O1xuICAgIGNvbnN0IG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgPSBvcHRpb25zWyduZXdsaW5lcy1iZXR3ZWVuJ10gfHwgJ2lnbm9yZSc7XG4gICAgY29uc3QgcGF0aEdyb3Vwc0V4Y2x1ZGVkSW1wb3J0VHlwZXMgPSBuZXcgU2V0KG9wdGlvbnNbJ3BhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzJ10gfHwgWydidWlsdGluJywgJ2V4dGVybmFsJywgJ29iamVjdCddKTtcbiAgICBjb25zdCBhbHBoYWJldGl6ZSA9IGdldEFscGhhYmV0aXplQ29uZmlnKG9wdGlvbnMpO1xuICAgIGxldCByYW5rcztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHBhdGhHcm91cHMsIG1heFBvc2l0aW9uIH0gPSBjb252ZXJ0UGF0aEdyb3Vwc0ZvclJhbmtzKG9wdGlvbnMucGF0aEdyb3VwcyB8fCBbXSk7XG4gICAgICBjb25zdCB7IGdyb3Vwcywgb21pdHRlZFR5cGVzIH0gPSBjb252ZXJ0R3JvdXBzVG9SYW5rcyhvcHRpb25zLmdyb3VwcyB8fCBkZWZhdWx0R3JvdXBzKTtcbiAgICAgIHJhbmtzID0ge1xuICAgICAgICBncm91cHMsXG4gICAgICAgIG9taXR0ZWRUeXBlcyxcbiAgICAgICAgcGF0aEdyb3VwcyxcbiAgICAgICAgbWF4UG9zaXRpb24sXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBNYWxmb3JtZWQgY29uZmlndXJhdGlvblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUHJvZ3JhbTogZnVuY3Rpb24obm9kZSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KG5vZGUsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGltcG9ydGVkID0gW107XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb246IGZ1bmN0aW9uIGhhbmRsZUltcG9ydHMobm9kZSkge1xuICAgICAgICAvLyBJZ25vcmluZyB1bmFzc2lnbmVkIGltcG9ydHMgdW5sZXNzIHdhcm5PblVuYXNzaWduZWRJbXBvcnRzIGlzIHNldFxuICAgICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCB8fCBvcHRpb25zLndhcm5PblVuYXNzaWduZWRJbXBvcnRzKSB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IG5vZGUuc291cmNlLnZhbHVlO1xuICAgICAgICAgIHJlZ2lzdGVyTm9kZShcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogJ2ltcG9ydCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmFua3MsXG4gICAgICAgICAgICBpbXBvcnRlZCxcbiAgICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246IGZ1bmN0aW9uIGhhbmRsZUltcG9ydHMobm9kZSkge1xuICAgICAgICBsZXQgZGlzcGxheU5hbWU7XG4gICAgICAgIGxldCB2YWx1ZTtcbiAgICAgICAgbGV0IHR5cGU7XG4gICAgICAgIC8vIHNraXAgXCJleHBvcnQgaW1wb3J0XCJzXG4gICAgICAgIGlmIChub2RlLmlzRXhwb3J0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLm1vZHVsZVJlZmVyZW5jZS50eXBlID09PSAnVFNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZScpIHtcbiAgICAgICAgICB2YWx1ZSA9IG5vZGUubW9kdWxlUmVmZXJlbmNlLmV4cHJlc3Npb24udmFsdWU7XG4gICAgICAgICAgZGlzcGxheU5hbWUgPSB2YWx1ZTtcbiAgICAgICAgICB0eXBlID0gJ2ltcG9ydCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgICBkaXNwbGF5TmFtZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLmdldFRleHQobm9kZS5tb2R1bGVSZWZlcmVuY2UpO1xuICAgICAgICAgIHR5cGUgPSAnaW1wb3J0Om9iamVjdCc7XG4gICAgICAgIH1cbiAgICAgICAgcmVnaXN0ZXJOb2RlKFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzcGxheU5hbWUsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmFua3MsXG4gICAgICAgICAgaW1wb3J0ZWQsXG4gICAgICAgICAgcGF0aEdyb3Vwc0V4Y2x1ZGVkSW1wb3J0VHlwZXNcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBDYWxsRXhwcmVzc2lvbjogZnVuY3Rpb24gaGFuZGxlUmVxdWlyZXMobm9kZSkge1xuICAgICAgICBpZiAoIWlzU3RhdGljUmVxdWlyZShub2RlKSB8fCAhaXNNb2R1bGVMZXZlbFJlcXVpcmUobm9kZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZSA9IG5vZGUuYXJndW1lbnRzWzBdLnZhbHVlO1xuICAgICAgICByZWdpc3Rlck5vZGUoXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgdmFsdWU6IG5hbWUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogbmFtZSxcbiAgICAgICAgICAgIHR5cGU6ICdyZXF1aXJlJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJhbmtzLFxuICAgICAgICAgIGltcG9ydGVkLFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uIHJlcG9ydEFuZFJlc2V0KCkge1xuICAgICAgICBpZiAobmV3bGluZXNCZXR3ZWVuSW1wb3J0cyAhPT0gJ2lnbm9yZScpIHtcbiAgICAgICAgICBtYWtlTmV3bGluZXNCZXR3ZWVuUmVwb3J0KGNvbnRleHQsIGltcG9ydGVkLCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbHBoYWJldGl6ZS5vcmRlciAhPT0gJ2lnbm9yZScpIHtcbiAgICAgICAgICBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1ha2VPdXRPZk9yZGVyUmVwb3J0KGNvbnRleHQsIGltcG9ydGVkKTtcblxuICAgICAgICBpbXBvcnRlZCA9IFtdO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js b/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js index da0c31ee2..f6a1066d2 100644 --- a/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +++ b/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js @@ -19,13 +19,13 @@ module.exports = { let namedExportNode = null; function captureDeclaration(identifierOrPattern) { - if (identifierOrPattern.type === 'ObjectPattern') { + if (identifierOrPattern && identifierOrPattern.type === 'ObjectPattern') { // recursively capture identifierOrPattern.properties. forEach(function (property) { captureDeclaration(property.value); }); - } else if (identifierOrPattern.type === 'ArrayPattern') { + } else if (identifierOrPattern && identifierOrPattern.type === 'ArrayPattern') { identifierOrPattern.elements. forEach(captureDeclaration); } else { @@ -93,4 +93,4 @@ module.exports = { } }; } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9wcmVmZXItZGVmYXVsdC1leHBvcnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJzcGVjaWZpZXJFeHBvcnRDb3VudCIsImhhc0RlZmF1bHRFeHBvcnQiLCJoYXNTdGFyRXhwb3J0IiwiaGFzVHlwZUV4cG9ydCIsIm5hbWVkRXhwb3J0Tm9kZSIsImNhcHR1cmVEZWNsYXJhdGlvbiIsImlkZW50aWZpZXJPclBhdHRlcm4iLCJwcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3BlcnR5IiwidmFsdWUiLCJlbGVtZW50cyIsIm5vZGUiLCJleHBvcnRlZCIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImRlY2xhcmF0aW9ucyIsImlkIiwicmVwb3J0Il0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsdUJBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBU0MsT0FBVCxFQUFrQjtBQUN4QixRQUFJQyx1QkFBdUIsQ0FBM0I7QUFDQSxRQUFJQyxtQkFBbUIsS0FBdkI7QUFDQSxRQUFJQyxnQkFBZ0IsS0FBcEI7QUFDQSxRQUFJQyxnQkFBZ0IsS0FBcEI7QUFDQSxRQUFJQyxrQkFBa0IsSUFBdEI7O0FBRUEsYUFBU0Msa0JBQVQsQ0FBNEJDLG1CQUE1QixFQUFpRDtBQUMvQyxVQUFJQSxvQkFBb0JaLElBQXBCLEtBQTZCLGVBQWpDLEVBQWtEO0FBQ2hEO0FBQ0FZLDRCQUFvQkMsVUFBcEI7QUFDR0MsZUFESCxDQUNXLFVBQVNDLFFBQVQsRUFBbUI7QUFDMUJKLDZCQUFtQkksU0FBU0MsS0FBNUI7QUFDRCxTQUhIO0FBSUQsT0FORCxNQU1PLElBQUlKLG9CQUFvQlosSUFBcEIsS0FBNkIsY0FBakMsRUFBaUQ7QUFDdERZLDRCQUFvQkssUUFBcEI7QUFDR0gsZUFESCxDQUNXSCxrQkFEWDtBQUVELE9BSE0sTUFHQztBQUNSO0FBQ0VMO0FBQ0Q7QUFDRjs7QUFFRCxXQUFPO0FBQ0wsZ0NBQTBCLFlBQVc7QUFDbkNDLDJCQUFtQixJQUFuQjtBQUNELE9BSEk7O0FBS0wseUJBQW1CLFVBQVNXLElBQVQsRUFBZTtBQUNoQyxZQUFJQSxLQUFLQyxRQUFMLENBQWNDLElBQWQsS0FBdUIsU0FBM0IsRUFBc0M7QUFDcENiLDZCQUFtQixJQUFuQjtBQUNELFNBRkQsTUFFTztBQUNMRDtBQUNBSSw0QkFBa0JRLElBQWxCO0FBQ0Q7QUFDRixPQVpJOztBQWNMLGdDQUEwQixVQUFTQSxJQUFULEVBQWU7QUFDdkM7QUFDQSxZQUFJLENBQUNBLEtBQUtHLFdBQVYsRUFBdUIsT0FGZ0I7O0FBSS9CckIsWUFKK0IsR0FJdEJrQixLQUFLRyxXQUppQixDQUkvQnJCLElBSitCOztBQU12QztBQUNFQSxpQkFBUyx3QkFBVDtBQUNBQSxpQkFBUyxXQURUO0FBRUFBLGlCQUFTLHdCQUZUO0FBR0FBLGlCQUFTLHNCQUpYO0FBS0U7QUFDQU07QUFDQUcsMEJBQWdCLElBQWhCO0FBQ0E7QUFDRDs7QUFFRCxZQUFJUyxLQUFLRyxXQUFMLENBQWlCQyxZQUFyQixFQUFtQztBQUNqQ0osZUFBS0csV0FBTCxDQUFpQkMsWUFBakIsQ0FBOEJSLE9BQTlCLENBQXNDLFVBQVNPLFdBQVQsRUFBc0I7QUFDMURWLCtCQUFtQlUsWUFBWUUsRUFBL0I7QUFDRCxXQUZEO0FBR0QsU0FKRDtBQUtLO0FBQ0g7QUFDQWpCO0FBQ0Q7O0FBRURJLDBCQUFrQlEsSUFBbEI7QUFDRCxPQTFDSTs7QUE0Q0wsa0NBQTRCLFlBQVc7QUFDckNYLDJCQUFtQixJQUFuQjtBQUNELE9BOUNJOztBQWdETCw4QkFBd0IsWUFBVztBQUNqQ0Msd0JBQWdCLElBQWhCO0FBQ0QsT0FsREk7O0FBb0RMLHNCQUFnQixZQUFXO0FBQ3pCLFlBQUlGLHlCQUF5QixDQUF6QixJQUE4QixDQUFDQyxnQkFBL0IsSUFBbUQsQ0FBQ0MsYUFBcEQsSUFBcUUsQ0FBQ0MsYUFBMUUsRUFBeUY7QUFDdkZKLGtCQUFRbUIsTUFBUixDQUFlZCxlQUFmLEVBQWdDLHdCQUFoQztBQUNEO0FBQ0YsT0F4REksRUFBUDs7QUEwREQsR0ExRmMsRUFBakIiLCJmaWxlIjoicHJlZmVyLWRlZmF1bHQtZXhwb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBkb2NzVXJsIGZyb20gJy4uL2RvY3NVcmwnXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgncHJlZmVyLWRlZmF1bHQtZXhwb3J0JyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGxldCBzcGVjaWZpZXJFeHBvcnRDb3VudCA9IDBcbiAgICBsZXQgaGFzRGVmYXVsdEV4cG9ydCA9IGZhbHNlXG4gICAgbGV0IGhhc1N0YXJFeHBvcnQgPSBmYWxzZVxuICAgIGxldCBoYXNUeXBlRXhwb3J0ID0gZmFsc2VcbiAgICBsZXQgbmFtZWRFeHBvcnROb2RlID0gbnVsbFxuXG4gICAgZnVuY3Rpb24gY2FwdHVyZURlY2xhcmF0aW9uKGlkZW50aWZpZXJPclBhdHRlcm4pIHtcbiAgICAgIGlmIChpZGVudGlmaWVyT3JQYXR0ZXJuLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgICAgICAvLyByZWN1cnNpdmVseSBjYXB0dXJlXG4gICAgICAgIGlkZW50aWZpZXJPclBhdHRlcm4ucHJvcGVydGllc1xuICAgICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uKHByb3BlcnR5KSB7XG4gICAgICAgICAgICBjYXB0dXJlRGVjbGFyYXRpb24ocHJvcGVydHkudmFsdWUpXG4gICAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoaWRlbnRpZmllck9yUGF0dGVybi50eXBlID09PSAnQXJyYXlQYXR0ZXJuJykge1xuICAgICAgICBpZGVudGlmaWVyT3JQYXR0ZXJuLmVsZW1lbnRzXG4gICAgICAgICAgLmZvckVhY2goY2FwdHVyZURlY2xhcmF0aW9uKVxuICAgICAgfSBlbHNlICB7XG4gICAgICAvLyBhc3N1bWUgaXQncyBhIHNpbmdsZSBzdGFuZGFyZCBpZGVudGlmaWVyXG4gICAgICAgIHNwZWNpZmllckV4cG9ydENvdW50KytcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0V4cG9ydERlZmF1bHRTcGVjaWZpZXInOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaGFzRGVmYXVsdEV4cG9ydCA9IHRydWVcbiAgICAgIH0sXG5cbiAgICAgICdFeHBvcnRTcGVjaWZpZXInOiBmdW5jdGlvbihub2RlKSB7XG4gICAgICAgIGlmIChub2RlLmV4cG9ydGVkLm5hbWUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICAgIGhhc0RlZmF1bHRFeHBvcnQgPSB0cnVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3BlY2lmaWVyRXhwb3J0Q291bnQrK1xuICAgICAgICAgIG5hbWVkRXhwb3J0Tm9kZSA9IG5vZGVcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nOiBmdW5jdGlvbihub2RlKSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSBzcGVjaWZpZXJzLCBub2RlLmRlY2xhcmF0aW9uIHNob3VsZCBiZSBudWxsXG4gICAgICAgIGlmICghbm9kZS5kZWNsYXJhdGlvbikgcmV0dXJuXG5cbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSBub2RlLmRlY2xhcmF0aW9uXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGUgPT09ICdUU1R5cGVBbGlhc0RlY2xhcmF0aW9uJyB8fFxuICAgICAgICAgIHR5cGUgPT09ICdUeXBlQWxpYXMnIHx8XG4gICAgICAgICAgdHlwZSA9PT0gJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb24nIHx8XG4gICAgICAgICAgdHlwZSA9PT0gJ0ludGVyZmFjZURlY2xhcmF0aW9uJ1xuICAgICAgICApIHtcbiAgICAgICAgICBzcGVjaWZpZXJFeHBvcnRDb3VudCsrXG4gICAgICAgICAgaGFzVHlwZUV4cG9ydCA9IHRydWVcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlLmRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucykge1xuICAgICAgICAgIG5vZGUuZGVjbGFyYXRpb24uZGVjbGFyYXRpb25zLmZvckVhY2goZnVuY3Rpb24oZGVjbGFyYXRpb24pIHtcbiAgICAgICAgICAgIGNhcHR1cmVEZWNsYXJhdGlvbihkZWNsYXJhdGlvbi5pZClcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIC8vIGNhcHR1cmVzICdleHBvcnQgZnVuY3Rpb24gZm9vKCkge30nIHN5bnRheFxuICAgICAgICAgIHNwZWNpZmllckV4cG9ydENvdW50KytcbiAgICAgICAgfVxuXG4gICAgICAgIG5hbWVkRXhwb3J0Tm9kZSA9IG5vZGVcbiAgICAgIH0sXG5cbiAgICAgICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaGFzRGVmYXVsdEV4cG9ydCA9IHRydWVcbiAgICAgIH0sXG5cbiAgICAgICdFeHBvcnRBbGxEZWNsYXJhdGlvbic6IGZ1bmN0aW9uKCkge1xuICAgICAgICBoYXNTdGFyRXhwb3J0ID0gdHJ1ZVxuICAgICAgfSxcblxuICAgICAgJ1Byb2dyYW06ZXhpdCc6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoc3BlY2lmaWVyRXhwb3J0Q291bnQgPT09IDEgJiYgIWhhc0RlZmF1bHRFeHBvcnQgJiYgIWhhc1N0YXJFeHBvcnQgJiYgIWhhc1R5cGVFeHBvcnQpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydChuYW1lZEV4cG9ydE5vZGUsICdQcmVmZXIgZGVmYXVsdCBleHBvcnQuJylcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9wcmVmZXItZGVmYXVsdC1leHBvcnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1ldGEiLCJ0eXBlIiwiZG9jcyIsInVybCIsInNjaGVtYSIsImNyZWF0ZSIsImNvbnRleHQiLCJzcGVjaWZpZXJFeHBvcnRDb3VudCIsImhhc0RlZmF1bHRFeHBvcnQiLCJoYXNTdGFyRXhwb3J0IiwiaGFzVHlwZUV4cG9ydCIsIm5hbWVkRXhwb3J0Tm9kZSIsImNhcHR1cmVEZWNsYXJhdGlvbiIsImlkZW50aWZpZXJPclBhdHRlcm4iLCJwcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3BlcnR5IiwidmFsdWUiLCJlbGVtZW50cyIsIm5vZGUiLCJleHBvcnRlZCIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImRlY2xhcmF0aW9ucyIsImlkIiwicmVwb3J0Il0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxxQzs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQjtBQUNmQyxRQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsdUJBQVIsQ0FERCxFQUZGOztBQUtKQyxZQUFRLEVBTEosRUFEUzs7O0FBU2ZDLFVBQVEsVUFBU0MsT0FBVCxFQUFrQjtBQUN4QixRQUFJQyx1QkFBdUIsQ0FBM0I7QUFDQSxRQUFJQyxtQkFBbUIsS0FBdkI7QUFDQSxRQUFJQyxnQkFBZ0IsS0FBcEI7QUFDQSxRQUFJQyxnQkFBZ0IsS0FBcEI7QUFDQSxRQUFJQyxrQkFBa0IsSUFBdEI7O0FBRUEsYUFBU0Msa0JBQVQsQ0FBNEJDLG1CQUE1QixFQUFpRDtBQUMvQyxVQUFJQSx1QkFBdUJBLG9CQUFvQlosSUFBcEIsS0FBNkIsZUFBeEQsRUFBeUU7QUFDdkU7QUFDQVksNEJBQW9CQyxVQUFwQjtBQUNHQyxlQURILENBQ1csVUFBU0MsUUFBVCxFQUFtQjtBQUMxQkosNkJBQW1CSSxTQUFTQyxLQUE1QjtBQUNELFNBSEg7QUFJRCxPQU5ELE1BTU8sSUFBSUosdUJBQXVCQSxvQkFBb0JaLElBQXBCLEtBQTZCLGNBQXhELEVBQXdFO0FBQzdFWSw0QkFBb0JLLFFBQXBCO0FBQ0dILGVBREgsQ0FDV0gsa0JBRFg7QUFFRCxPQUhNLE1BR0M7QUFDUjtBQUNFTDtBQUNEO0FBQ0Y7O0FBRUQsV0FBTztBQUNMLGdDQUEwQixZQUFXO0FBQ25DQywyQkFBbUIsSUFBbkI7QUFDRCxPQUhJOztBQUtMLHlCQUFtQixVQUFTVyxJQUFULEVBQWU7QUFDaEMsWUFBSUEsS0FBS0MsUUFBTCxDQUFjQyxJQUFkLEtBQXVCLFNBQTNCLEVBQXNDO0FBQ3BDYiw2QkFBbUIsSUFBbkI7QUFDRCxTQUZELE1BRU87QUFDTEQ7QUFDQUksNEJBQWtCUSxJQUFsQjtBQUNEO0FBQ0YsT0FaSTs7QUFjTCxnQ0FBMEIsVUFBU0EsSUFBVCxFQUFlO0FBQ3ZDO0FBQ0EsWUFBSSxDQUFDQSxLQUFLRyxXQUFWLEVBQXVCLE9BRmdCOztBQUkvQnJCLFlBSitCLEdBSXRCa0IsS0FBS0csV0FKaUIsQ0FJL0JyQixJQUorQjs7QUFNdkM7QUFDRUEsaUJBQVMsd0JBQVQ7QUFDQUEsaUJBQVMsV0FEVDtBQUVBQSxpQkFBUyx3QkFGVDtBQUdBQSxpQkFBUyxzQkFKWDtBQUtFO0FBQ0FNO0FBQ0FHLDBCQUFnQixJQUFoQjtBQUNBO0FBQ0Q7O0FBRUQsWUFBSVMsS0FBS0csV0FBTCxDQUFpQkMsWUFBckIsRUFBbUM7QUFDakNKLGVBQUtHLFdBQUwsQ0FBaUJDLFlBQWpCLENBQThCUixPQUE5QixDQUFzQyxVQUFTTyxXQUFULEVBQXNCO0FBQzFEViwrQkFBbUJVLFlBQVlFLEVBQS9CO0FBQ0QsV0FGRDtBQUdELFNBSkQ7QUFLSztBQUNIO0FBQ0FqQjtBQUNEOztBQUVESSwwQkFBa0JRLElBQWxCO0FBQ0QsT0ExQ0k7O0FBNENMLGtDQUE0QixZQUFXO0FBQ3JDWCwyQkFBbUIsSUFBbkI7QUFDRCxPQTlDSTs7QUFnREwsOEJBQXdCLFlBQVc7QUFDakNDLHdCQUFnQixJQUFoQjtBQUNELE9BbERJOztBQW9ETCxzQkFBZ0IsWUFBVztBQUN6QixZQUFJRix5QkFBeUIsQ0FBekIsSUFBOEIsQ0FBQ0MsZ0JBQS9CLElBQW1ELENBQUNDLGFBQXBELElBQXFFLENBQUNDLGFBQTFFLEVBQXlGO0FBQ3ZGSixrQkFBUW1CLE1BQVIsQ0FBZWQsZUFBZixFQUFnQyx3QkFBaEM7QUFDRDtBQUNGLE9BeERJLEVBQVA7O0FBMERELEdBMUZjLEVBQWpCIiwiZmlsZSI6InByZWZlci1kZWZhdWx0LWV4cG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgncHJlZmVyLWRlZmF1bHQtZXhwb3J0JyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGxldCBzcGVjaWZpZXJFeHBvcnRDb3VudCA9IDA7XG4gICAgbGV0IGhhc0RlZmF1bHRFeHBvcnQgPSBmYWxzZTtcbiAgICBsZXQgaGFzU3RhckV4cG9ydCA9IGZhbHNlO1xuICAgIGxldCBoYXNUeXBlRXhwb3J0ID0gZmFsc2U7XG4gICAgbGV0IG5hbWVkRXhwb3J0Tm9kZSA9IG51bGw7XG5cbiAgICBmdW5jdGlvbiBjYXB0dXJlRGVjbGFyYXRpb24oaWRlbnRpZmllck9yUGF0dGVybikge1xuICAgICAgaWYgKGlkZW50aWZpZXJPclBhdHRlcm4gJiYgaWRlbnRpZmllck9yUGF0dGVybi50eXBlID09PSAnT2JqZWN0UGF0dGVybicpIHtcbiAgICAgICAgLy8gcmVjdXJzaXZlbHkgY2FwdHVyZVxuICAgICAgICBpZGVudGlmaWVyT3JQYXR0ZXJuLnByb3BlcnRpZXNcbiAgICAgICAgICAuZm9yRWFjaChmdW5jdGlvbihwcm9wZXJ0eSkge1xuICAgICAgICAgICAgY2FwdHVyZURlY2xhcmF0aW9uKHByb3BlcnR5LnZhbHVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaWRlbnRpZmllck9yUGF0dGVybiAmJiBpZGVudGlmaWVyT3JQYXR0ZXJuLnR5cGUgPT09ICdBcnJheVBhdHRlcm4nKSB7XG4gICAgICAgIGlkZW50aWZpZXJPclBhdHRlcm4uZWxlbWVudHNcbiAgICAgICAgICAuZm9yRWFjaChjYXB0dXJlRGVjbGFyYXRpb24pO1xuICAgICAgfSBlbHNlICB7XG4gICAgICAvLyBhc3N1bWUgaXQncyBhIHNpbmdsZSBzdGFuZGFyZCBpZGVudGlmaWVyXG4gICAgICAgIHNwZWNpZmllckV4cG9ydENvdW50Kys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdFeHBvcnREZWZhdWx0U3BlY2lmaWVyJzogZnVuY3Rpb24oKSB7XG4gICAgICAgIGhhc0RlZmF1bHRFeHBvcnQgPSB0cnVlO1xuICAgICAgfSxcblxuICAgICAgJ0V4cG9ydFNwZWNpZmllcic6IGZ1bmN0aW9uKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUuZXhwb3J0ZWQubmFtZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgaGFzRGVmYXVsdEV4cG9ydCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3BlY2lmaWVyRXhwb3J0Q291bnQrKztcbiAgICAgICAgICBuYW1lZEV4cG9ydE5vZGUgPSBub2RlO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbic6IGZ1bmN0aW9uKG5vZGUpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIHNwZWNpZmllcnMsIG5vZGUuZGVjbGFyYXRpb24gc2hvdWxkIGJlIG51bGxcbiAgICAgICAgaWYgKCFub2RlLmRlY2xhcmF0aW9uKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSBub2RlLmRlY2xhcmF0aW9uO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0eXBlID09PSAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbicgfHxcbiAgICAgICAgICB0eXBlID09PSAnVHlwZUFsaWFzJyB8fFxuICAgICAgICAgIHR5cGUgPT09ICdUU0ludGVyZmFjZURlY2xhcmF0aW9uJyB8fFxuICAgICAgICAgIHR5cGUgPT09ICdJbnRlcmZhY2VEZWNsYXJhdGlvbidcbiAgICAgICAgKSB7XG4gICAgICAgICAgc3BlY2lmaWVyRXhwb3J0Q291bnQrKztcbiAgICAgICAgICBoYXNUeXBlRXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobm9kZS5kZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgICBub2RlLmRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRlY2xhcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXB0dXJlRGVjbGFyYXRpb24oZGVjbGFyYXRpb24uaWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIC8vIGNhcHR1cmVzICdleHBvcnQgZnVuY3Rpb24gZm9vKCkge30nIHN5bnRheFxuICAgICAgICAgIHNwZWNpZmllckV4cG9ydENvdW50Kys7XG4gICAgICAgIH1cblxuICAgICAgICBuYW1lZEV4cG9ydE5vZGUgPSBub2RlO1xuICAgICAgfSxcblxuICAgICAgJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic6IGZ1bmN0aW9uKCkge1xuICAgICAgICBoYXNEZWZhdWx0RXhwb3J0ID0gdHJ1ZTtcbiAgICAgIH0sXG5cbiAgICAgICdFeHBvcnRBbGxEZWNsYXJhdGlvbic6IGZ1bmN0aW9uKCkge1xuICAgICAgICBoYXNTdGFyRXhwb3J0ID0gdHJ1ZTtcbiAgICAgIH0sXG5cbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHNwZWNpZmllckV4cG9ydENvdW50ID09PSAxICYmICFoYXNEZWZhdWx0RXhwb3J0ICYmICFoYXNTdGFyRXhwb3J0ICYmICFoYXNUeXBlRXhwb3J0KSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQobmFtZWRFeHBvcnROb2RlLCAnUHJlZmVyIGRlZmF1bHQgZXhwb3J0LicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19 \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/lib/rules/unambiguous.js b/node_modules/eslint-plugin-import/lib/rules/unambiguous.js index 68a12f845..3693bd2c4 100644 --- a/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +++ b/node_modules/eslint-plugin-import/lib/rules/unambiguous.js @@ -33,4 +33,4 @@ var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_doc } }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy91bmFtYmlndW91cy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsInBhcnNlck9wdGlvbnMiLCJzb3VyY2VUeXBlIiwiUHJvZ3JhbSIsImFzdCIsInJlcG9ydCIsIm5vZGUiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBO0FBQ0EscUMsK0lBTkE7Ozt1TEFRQUEsT0FBT0MsT0FBUCxHQUFpQixFQUNmQyxNQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsYUFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCO0FBQ0EsUUFBSUEsUUFBUUMsYUFBUixDQUFzQkMsVUFBdEIsS0FBcUMsUUFBekMsRUFBbUQ7QUFDakQsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsV0FBTztBQUNMQyxlQUFTLFVBQVVDLEdBQVYsRUFBZTtBQUN0QixZQUFJLENBQUMsMkJBQVNBLEdBQVQsQ0FBTCxFQUFvQjtBQUNsQkosa0JBQVFLLE1BQVIsQ0FBZTtBQUNiQyxrQkFBTUYsR0FETztBQUViRyxxQkFBUyxnREFGSSxFQUFmOztBQUlEO0FBQ0YsT0FSSSxFQUFQOzs7QUFXRCxHQTFCYyxFQUFqQiIsImZpbGUiOiJ1bmFtYmlndW91cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVPdmVydmlldyBSZXBvcnQgbW9kdWxlcyB0aGF0IGNvdWxkIHBhcnNlIGluY29ycmVjdGx5IGFzIHNjcmlwdHMuXG4gKiBAYXV0aG9yIEJlbiBNb3NoZXJcbiAqL1xuXG5pbXBvcnQgeyBpc01vZHVsZSB9IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvdW5hbWJpZ3VvdXMnXG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJ1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGRvY3NVcmwoJ3VuYW1iaWd1b3VzJyksXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZTogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAvLyBpZ25vcmUgbm9uLW1vZHVsZXNcbiAgICBpZiAoY29udGV4dC5wYXJzZXJPcHRpb25zLnNvdXJjZVR5cGUgIT09ICdtb2R1bGUnKSB7XG4gICAgICByZXR1cm4ge31cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgUHJvZ3JhbTogZnVuY3Rpb24gKGFzdCkge1xuICAgICAgICBpZiAoIWlzTW9kdWxlKGFzdCkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlOiBhc3QsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhpcyBtb2R1bGUgY291bGQgYmUgcGFyc2VkIGFzIGEgdmFsaWQgc2NyaXB0LicsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG5cbiAgfSxcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy91bmFtYmlndW91cy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsInR5cGUiLCJkb2NzIiwidXJsIiwic2NoZW1hIiwiY3JlYXRlIiwiY29udGV4dCIsInBhcnNlck9wdGlvbnMiLCJzb3VyY2VUeXBlIiwiUHJvZ3JhbSIsImFzdCIsInJlcG9ydCIsIm5vZGUiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBO0FBQ0EscUMsK0lBTkE7Ozt1TEFRQUEsT0FBT0MsT0FBUCxHQUFpQixFQUNmQyxNQUFNO0FBQ0pDLFVBQU0sWUFERjtBQUVKQyxVQUFNO0FBQ0pDLFdBQUssdUJBQVEsYUFBUixDQURELEVBRkY7O0FBS0pDLFlBQVEsRUFMSixFQURTOzs7QUFTZkMsVUFBUSxVQUFVQyxPQUFWLEVBQW1CO0FBQ3pCO0FBQ0EsUUFBSUEsUUFBUUMsYUFBUixDQUFzQkMsVUFBdEIsS0FBcUMsUUFBekMsRUFBbUQ7QUFDakQsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsV0FBTztBQUNMQyxlQUFTLFVBQVVDLEdBQVYsRUFBZTtBQUN0QixZQUFJLENBQUMsMkJBQVNBLEdBQVQsQ0FBTCxFQUFvQjtBQUNsQkosa0JBQVFLLE1BQVIsQ0FBZTtBQUNiQyxrQkFBTUYsR0FETztBQUViRyxxQkFBUyxnREFGSSxFQUFmOztBQUlEO0FBQ0YsT0FSSSxFQUFQOzs7QUFXRCxHQTFCYyxFQUFqQiIsImZpbGUiOiJ1bmFtYmlndW91cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVPdmVydmlldyBSZXBvcnQgbW9kdWxlcyB0aGF0IGNvdWxkIHBhcnNlIGluY29ycmVjdGx5IGFzIHNjcmlwdHMuXG4gKiBAYXV0aG9yIEJlbiBNb3NoZXJcbiAqL1xuXG5pbXBvcnQgeyBpc01vZHVsZSB9IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvdW5hbWJpZ3VvdXMnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBtZXRhOiB7XG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nLFxuICAgIGRvY3M6IHtcbiAgICAgIHVybDogZG9jc1VybCgndW5hbWJpZ3VvdXMnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIC8vIGlnbm9yZSBub24tbW9kdWxlc1xuICAgIGlmIChjb250ZXh0LnBhcnNlck9wdGlvbnMuc291cmNlVHlwZSAhPT0gJ21vZHVsZScpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgUHJvZ3JhbTogZnVuY3Rpb24gKGFzdCkge1xuICAgICAgICBpZiAoIWlzTW9kdWxlKGFzdCkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlOiBhc3QsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhpcyBtb2R1bGUgY291bGQgYmUgcGFyc2VkIGFzIGEgdmFsaWQgc2NyaXB0LicsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcblxuICB9LFxufTtcbiJdfQ== \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/memo-parser/index.js b/node_modules/eslint-plugin-import/memo-parser/index.js index b64f85421..de558ffa3 100644 --- a/node_modules/eslint-plugin-import/memo-parser/index.js +++ b/node_modules/eslint-plugin-import/memo-parser/index.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const crypto = require('crypto') - , moduleRequire = require('eslint-module-utils/module-require').default - , hashObject = require('eslint-module-utils/hash').hashObject +const crypto = require('crypto'); +const moduleRequire = require('eslint-module-utils/module-require').default; +const hashObject = require('eslint-module-utils/hash').hashObject; -const cache = new Map() +const cache = new Map(); // must match ESLint default options or we'll miss the cache every time const parserOptions = { @@ -14,28 +14,28 @@ const parserOptions = { tokens: true, comment: true, attachComment: true, -} +}; exports.parse = function parse(content, options) { - options = Object.assign({}, options, parserOptions) + options = Object.assign({}, options, parserOptions); if (!options.filePath) { - throw new Error('no file path provided!') + throw new Error('no file path provided!'); } - const keyHash = crypto.createHash('sha256') - keyHash.update(content) - hashObject(options, keyHash) + const keyHash = crypto.createHash('sha256'); + keyHash.update(content); + hashObject(options, keyHash); - const key = keyHash.digest('hex') + const key = keyHash.digest('hex'); - let ast = cache.get(key) - if (ast != null) return ast + let ast = cache.get(key); + if (ast != null) return ast; - const realParser = moduleRequire(options.parser) + const realParser = moduleRequire(options.parser); - ast = realParser.parse(content, options) - cache.set(key, ast) + ast = realParser.parse(content, options); + cache.set(key, ast); - return ast -} + return ast; +}; diff --git a/node_modules/eslint-plugin-import/memo-parser/package.json b/node_modules/eslint-plugin-import/memo-parser/package.json deleted file mode 100644 index d101752ed..000000000 --- a/node_modules/eslint-plugin-import/memo-parser/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "memo-parser", - "version": "0.2.1", - "engines": { - "node": ">=4" - }, - "description": "Memoizing wrapper for any ESLint-compatible parser module.", - "main": "index.js", - "scripts": { - "prepublishOnly": "cp ../{LICENSE,.npmrc} ./", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/benmosher/eslint-plugin-import.git" - }, - "keywords": [ - "eslint", - "eslint-plugin-import", - "parser" - ], - "author": "Ben Mosher (me@benmosher.com)", - "license": "MIT", - "bugs": { - "url": "https://github.com/benmosher/eslint-plugin-import/issues" - }, - "homepage": "https://github.com/benmosher/eslint-plugin-import#readme", - "peerDependencies": { - "eslint": ">=3.5.0" - }, - "dependencies": { - "eslint-module-utils": "^2.5.0" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/doctrine/CHANGELOG.md b/node_modules/eslint-plugin-import/node_modules/doctrine/CHANGELOG.md deleted file mode 100644 index 63fa77cfe..000000000 --- a/node_modules/eslint-plugin-import/node_modules/doctrine/CHANGELOG.md +++ /dev/null @@ -1,70 +0,0 @@ -v1.5.0 - October 13, 2016 - -* e33c6bb Update: Add support for BooleanLiteralType (#173) (Erik Arvidsson) - -v1.4.0 - September 13, 2016 - -* d7426e5 Update: add ability to parse optional properties in typedefs (refs #5) (#174) (ikokostya) - -v1.3.0 - August 22, 2016 - -* 12c7ad9 Update: Add support for numeric and string literal types (fixes #156) (#172) (Andrew Walter) - -v1.2.3 - August 16, 2016 - -* b96a884 Build: Add CI release script (Nicholas C. Zakas) -* 8d9b3c7 Upgrade: Upgrade esutils to v2.0.2 (fixes #170) (#171) (Emeegeemee) - -v1.2.2 - May 19, 2016 - -* ebe0b08 Fix: Support case insensitive tags (fixes #163) (#164) (alberto) -* 8e6d81e Chore: Remove copyright and license from headers (Nicholas C. Zakas) -* 79035c6 Chore: Include jQuery Foundation copyright (Nicholas C. Zakas) -* 06910a7 Fix: Preserve whitespace in default param string values (fixes #157) (Kai Cataldo) - -v1.2.1 - March 29, 2016 - -* 1f54014 Fix: allow hyphens in names (fixes #116) (Kai Cataldo) -* bbee469 Docs: Add issue template (Nicholas C. Zakas) - -v1.2.0 - February 19, 2016 - -* 18136c5 Build: Cleanup build system (Nicholas C. Zakas) -* b082f85 Update: Add support for slash in namepaths (fixes #100) (Ryan Duffy) -* def53a2 Docs: Fix typo in option lineNumbers (Daniel Tschinder) -* e2cbbc5 Update: Bump isarray to v1.0.0 (Shinnosuke Watanabe) -* ae07aa8 Fix: Allow whitespace in optional param with default value (fixes #141) (chris) - -v1.1.0 - January 6, 2016 - -* Build: Switch to Makefile.js (Nicholas C. Zakas) -* New: support name expression for @this tag (fixes #143) (Tim Schaub) -* Build: Update ESLint settings (Nicholas C. Zakas) - -v1.0.0 - December 21, 2015 - -* New: parse caption tags in examples into separate property. (fixes #131) (Tom MacWright) - -v0.7.2 - November 27, 2015 - -* Fix: Line numbers for some tags (fixes #138) Fixing issue where input was not consumed via advance() but was skipped when parsing tags resulting in sometimes incorrect reported lineNumber. (TEHEK) -* Build: Add missing linefix package (Nicholas C. Zakas) - -v0.7.1 - November 13, 2015 - -* Update: Begin switch to Makefile.js (Nicholas C. Zakas) -* Fix: permit return tag without type (fixes #136) (Tom MacWright) -* Fix: package.json homepage field (Bogdan Chadkin) -* Fix: Parse array default syntax. Fixes #133 (Tom MacWright) -* Fix: Last tag always has \n in the description (fixes #87) (Burak Yigit Kaya) -* Docs: Add changelog (Nicholas C. Zakas) - -v0.7.0 - September 21, 2015 - -* Docs: Update README with new info (fixes #127) (Nicholas C. Zakas) -* Fix: Parsing fix for param with arrays and properties (fixes #111) (Gyandeep Singh) -* Build: Add travis build (fixes #123) (Gyandeep Singh) -* Fix: Parsing of parameter name without a type (fixes #120) (Gyandeep Singh) -* New: added preserveWhitespace option (Aleks Totic) -* New: Add "files" entry to only deploy select files (Rob Loach) -* New: Add support and tests for typedefs. Refs #5 (Tom MacWright) diff --git a/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD b/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD deleted file mode 100644 index 1e03b5df5..000000000 --- a/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD +++ /dev/null @@ -1,22 +0,0 @@ -Doctrine -Copyright jQuery Foundation and other contributors, https://jquery.org/ - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/eslint-plugin-import/node_modules/doctrine/README.md b/node_modules/eslint-plugin-import/node_modules/doctrine/README.md deleted file mode 100644 index bc6dcf919..000000000 --- a/node_modules/eslint-plugin-import/node_modules/doctrine/README.md +++ /dev/null @@ -1,174 +0,0 @@ -[![NPM version][npm-image]][npm-url] -[![build status][travis-image]][travis-url] -[![Test coverage][coveralls-image]][coveralls-url] -[![Downloads][downloads-image]][downloads-url] -[![Join the chat at https://gitter.im/eslint/doctrine](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/eslint/doctrine?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -# Doctrine - -Doctrine is a [JSDoc](http://usejsdoc.org) parser that parses documentation comments from JavaScript (you need to pass in the comment, not a whole JavaScript file). - -## Installation - -You can install Doctrine using [npm](https://npmjs.com): - -``` -$ npm install doctrine --save-dev -``` - -Doctrine can also be used in web browsers using [Browserify](http://browserify.org). - -## Usage - -Require doctrine inside of your JavaScript: - -```js -var doctrine = require("doctrine"); -``` - -### parse() - -The primary method is `parse()`, which accepts two arguments: the JSDoc comment to parse and an optional options object. The available options are: - -* `unwrap` - set to `true` to delete the leading `/**`, any `*` that begins a line, and the trailing `*/` from the source text. Default: `false`. -* `tags` - an array of tags to return. When specified, Doctrine returns only tags in this array. For example, if `tags` is `["param"]`, then only `@param` tags will be returned. Default: `null`. -* `recoverable` - set to `true` to keep parsing even when syntax errors occur. Default: `false`. -* `sloppy` - set to `true` to allow optional parameters to be specified in brackets (`@param {string} [foo]`). Default: `false`. -* `lineNumbers` - set to `true` to add `lineNumber` to each node, specifying the line on which the node is found in the source. Default: `false`. - -Here's a simple example: - -```js -var ast = doctrine.parse( - [ - "/**", - " * This function comment is parsed by doctrine", - " * @param {{ok:String}} userName", - "*/" - ].join('\n'), { unwrap: true }); -``` - -This example returns the following AST: - - { - "description": "This function comment is parsed by doctrine", - "tags": [ - { - "title": "param", - "description": null, - "type": { - "type": "RecordType", - "fields": [ - { - "type": "FieldType", - "key": "ok", - "value": { - "type": "NameExpression", - "name": "String" - } - } - ] - }, - "name": "userName" - } - ] - } - -See the [demo page](http://eslint.org/doctrine/demo/) more detail. - -## Team - -These folks keep the project moving and are resources for help: - -* Nicholas C. Zakas ([@nzakas](https://github.com/nzakas)) - project lead -* Yusuke Suzuki ([@constellation](https://github.com/constellation)) - reviewer - -## Contributing - -Issues and pull requests will be triaged and responded to as quickly as possible. We operate under the [ESLint Contributor Guidelines](http://eslint.org/docs/developer-guide/contributing), so please be sure to read them before contributing. If you're not sure where to dig in, check out the [issues](https://github.com/eslint/doctrine/issues). - -## Frequently Asked Questions - -### Can I pass a whole JavaScript file to Doctrine? - -No. Doctrine can only parse JSDoc comments, so you'll need to pass just the JSDoc comment to Doctrine in order to work. - - -### License - -#### doctrine - -Copyright (C) 2012 [Yusuke Suzuki](http://github.com/Constellation) - (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#### esprima - -some of functions is derived from esprima - -Copyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about) - (twitter: [@ariyahidayat](http://twitter.com/ariyahidayat)) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -#### closure-compiler - -some of extensions is derived from closure-compiler - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - - -### Where to ask for help? - -Join our [Chatroom](https://gitter.im/eslint/doctrine) - -[npm-image]: https://img.shields.io/npm/v/doctrine.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/doctrine -[travis-image]: https://img.shields.io/travis/eslint/doctrine/master.svg?style=flat-square -[travis-url]: https://travis-ci.org/eslint/doctrine -[coveralls-image]: https://img.shields.io/coveralls/eslint/doctrine/master.svg?style=flat-square -[coveralls-url]: https://coveralls.io/r/eslint/doctrine?branch=master -[downloads-image]: http://img.shields.io/npm/dm/doctrine.svg?style=flat-square -[downloads-url]: https://www.npmjs.com/package/doctrine diff --git a/node_modules/eslint-plugin-import/node_modules/doctrine/package.json b/node_modules/eslint-plugin-import/node_modules/doctrine/package.json deleted file mode 100644 index 4454768df..000000000 --- a/node_modules/eslint-plugin-import/node_modules/doctrine/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "doctrine", - "description": "JSDoc parser", - "homepage": "https://github.com/eslint/doctrine", - "main": "lib/doctrine.js", - "version": "1.5.0", - "engines": { - "node": ">=0.10.0" - }, - "directories": { - "lib": "./lib" - }, - "files": [ - "lib", - "LICENSE.BSD", - "LICENSE.closure-compiler", - "LICENSE.esprima", - "README.md" - ], - "maintainers": [ - { - "name": "Nicholas C. Zakas", - "email": "nicholas+npm@nczconsulting.com", - "web": "https://www.nczonline.net" - }, - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "web": "https://github.com/Constellation" - } - ], - "repository": "eslint/doctrine", - "devDependencies": { - "coveralls": "^2.11.2", - "dateformat": "^1.0.11", - "eslint": "^1.10.3", - "eslint-release": "^0.10.0", - "istanbul": "^0.4.1", - "linefix": "^0.1.1", - "mocha": "^2.3.3", - "npm-license": "^0.3.1", - "semver": "^5.0.3", - "shelljs": "^0.5.3", - "shelljs-nodecli": "^0.1.1", - "should": "^5.0.1" - }, - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/eslint/doctrine/raw/master/LICENSE.BSD" - } - ], - "scripts": { - "test": "npm run lint && node Makefile.js test", - "lint": "eslint lib/", - "release": "eslint-release", - "ci-release": "eslint-ci-release", - "alpharelease": "eslint-prerelease alpha", - "betarelease": "eslint-prerelease beta" - }, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/find-up/index.js b/node_modules/eslint-plugin-import/node_modules/find-up/index.js new file mode 100644 index 000000000..939c9553d --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/find-up/index.js @@ -0,0 +1,48 @@ +'use strict'; +const path = require('path'); +const locatePath = require('locate-path'); + +module.exports = (filename, opts) => { + opts = opts || {}; + + const startDir = path.resolve(opts.cwd || ''); + const root = path.parse(startDir).root; + + const filenames = [].concat(filename); + + return new Promise(resolve => { + (function find(dir) { + locatePath(filenames, {cwd: dir}).then(file => { + if (file) { + resolve(path.join(dir, file)); + } else if (dir === root) { + resolve(null); + } else { + find(path.dirname(dir)); + } + }); + })(startDir); + }); +}; + +module.exports.sync = (filename, opts) => { + opts = opts || {}; + + let dir = path.resolve(opts.cwd || ''); + const root = path.parse(dir).root; + + const filenames = [].concat(filename); + + // eslint-disable-next-line no-constant-condition + while (true) { + const file = locatePath.sync(filenames, {cwd: dir}); + + if (file) { + return path.join(dir, file); + } else if (dir === root) { + return null; + } + + dir = path.dirname(dir); + } +}; diff --git a/node_modules/table/node_modules/is-fullwidth-code-point/license b/node_modules/eslint-plugin-import/node_modules/find-up/license similarity index 100% rename from node_modules/table/node_modules/is-fullwidth-code-point/license rename to node_modules/eslint-plugin-import/node_modules/find-up/license diff --git a/node_modules/eslint-plugin-import/node_modules/find-up/package.json b/node_modules/eslint-plugin-import/node_modules/find-up/package.json new file mode 100644 index 000000000..7ec1b7ef8 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/find-up/package.json @@ -0,0 +1,53 @@ +{ + "name": "find-up", + "version": "2.1.0", + "description": "Find a file by walking up parent directories", + "license": "MIT", + "repository": "sindresorhus/find-up", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "find", + "up", + "find-up", + "findup", + "look-up", + "look", + "file", + "search", + "match", + "package", + "resolve", + "parent", + "parents", + "folder", + "directory", + "dir", + "walk", + "walking", + "path" + ], + "dependencies": { + "locate-path": "^2.0.0" + }, + "devDependencies": { + "ava": "*", + "tempfile": "^1.1.1", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/find-up/readme.md b/node_modules/eslint-plugin-import/node_modules/find-up/readme.md new file mode 100644 index 000000000..b5ad69455 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/find-up/readme.md @@ -0,0 +1,85 @@ +# find-up [![Build Status: Linux and macOS](https://travis-ci.org/sindresorhus/find-up.svg?branch=master)](https://travis-ci.org/sindresorhus/find-up) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/l0cyjmvh5lq72vq2/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/find-up/branch/master) + +> Find a file by walking up parent directories + + +## Install + +``` +$ npm install --save find-up +``` + + +## Usage + +``` +/ +└── Users + └── sindresorhus + ├── unicorn.png + └── foo + └── bar + ├── baz + └── example.js +``` + +```js +// example.js +const findUp = require('find-up'); + +findUp('unicorn.png').then(filepath => { + console.log(filepath); + //=> '/Users/sindresorhus/unicorn.png' +}); + +findUp(['rainbow.png', 'unicorn.png']).then(filepath => { + console.log(filepath); + //=> '/Users/sindresorhus/unicorn.png' +}); +``` + + +## API + +### findUp(filename, [options]) + +Returns a `Promise` for the filepath or `null`. + +### findUp([filenameA, filenameB], [options]) + +Returns a `Promise` for the first filepath found (by respecting the order) or `null`. + +### findUp.sync(filename, [options]) + +Returns a filepath or `null`. + +### findUp.sync([filenameA, filenameB], [options]) + +Returns the first filepath found (by respecting the order) or `null`. + +#### filename + +Type: `string` + +Filename of the file to find. + +#### options + +##### cwd + +Type: `string`
+Default: `process.cwd()` + +Directory to start from. + + +## Related + +- [find-up-cli](https://github.com/sindresorhus/find-up-cli) - CLI for this module +- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file +- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/.npmignore b/node_modules/eslint-plugin-import/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e64..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/.travis.yml b/node_modules/eslint-plugin-import/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba29d..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/Makefile b/node_modules/eslint-plugin-import/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e1e..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/README.md b/node_modules/eslint-plugin-import/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59c6..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/component.json b/node_modules/eslint-plugin-import/node_modules/isarray/component.json deleted file mode 100644 index 9e31b6838..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/index.js b/node_modules/eslint-plugin-import/node_modules/isarray/index.js deleted file mode 100644 index a57f63495..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/package.json b/node_modules/eslint-plugin-import/node_modules/isarray/package.json deleted file mode 100644 index a732aec72..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "isarray", - "description": "Array#isArray for older browsers", - "version": "1.0.0", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "homepage": "https://github.com/juliangruber/isarray", - "main": "index.js", - "dependencies": {}, - "devDependencies": { - "tape": "~2.13.4" - }, - "keywords": [ - "browser", - "isarray", - "array" - ], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT", - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "scripts": { - "test": "tape test.js" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/isarray/test.js b/node_modules/eslint-plugin-import/node_modules/isarray/test.js deleted file mode 100644 index e0c3444d8..000000000 --- a/node_modules/eslint-plugin-import/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/node_modules/eslint-plugin-import/node_modules/locate-path/index.js b/node_modules/eslint-plugin-import/node_modules/locate-path/index.js new file mode 100644 index 000000000..32b108d19 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/locate-path/index.js @@ -0,0 +1,24 @@ +'use strict'; +const path = require('path'); +const pathExists = require('path-exists'); +const pLocate = require('p-locate'); + +module.exports = (iterable, opts) => { + opts = Object.assign({ + cwd: process.cwd() + }, opts); + + return pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts); +}; + +module.exports.sync = (iterable, opts) => { + opts = Object.assign({ + cwd: process.cwd() + }, opts); + + for (const el of iterable) { + if (pathExists.sync(path.resolve(opts.cwd, el))) { + return el; + } + } +}; diff --git a/node_modules/eslint-plugin-import/node_modules/locate-path/license b/node_modules/eslint-plugin-import/node_modules/locate-path/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/locate-path/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/locate-path/package.json b/node_modules/eslint-plugin-import/node_modules/locate-path/package.json new file mode 100644 index 000000000..e05a6304b --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/locate-path/package.json @@ -0,0 +1,47 @@ +{ + "name": "locate-path", + "version": "2.0.0", + "description": "Get the first path that exists on disk of multiple paths", + "license": "MIT", + "repository": "sindresorhus/locate-path", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "locate", + "path", + "paths", + "file", + "files", + "exists", + "find", + "finder", + "search", + "searcher", + "array", + "iterable", + "iterator" + ], + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/locate-path/readme.md b/node_modules/eslint-plugin-import/node_modules/locate-path/readme.md new file mode 100644 index 000000000..f7b337bb2 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/locate-path/readme.md @@ -0,0 +1,99 @@ +# locate-path [![Build Status](https://travis-ci.org/sindresorhus/locate-path.svg?branch=master)](https://travis-ci.org/sindresorhus/locate-path) + +> Get the first path that exists on disk of multiple paths + + +## Install + +``` +$ npm install --save locate-path +``` + + +## Usage + +Here we find the first file that exists on disk, in array order. + +```js +const locatePath = require('locate-path'); + +const files = [ + 'unicorn.png', + 'rainbow.png', // only this one actually exists on disk + 'pony.png' +]; + +locatePath(files).then(foundPath => { + console.log(foundPath); + //=> 'rainbow' +}); +``` + + +## API + +### locatePath(input, [options]) + +Returns a `Promise` for the first path that exists or `undefined` if none exists. + +#### input + +Type: `Iterable` + +Paths to check. + +#### options + +Type: `Object` + +##### concurrency + +Type: `number`
+Default: `Infinity`
+Minimum: `1` + +Number of concurrently pending promises. + +##### preserveOrder + +Type: `boolean`
+Default: `true` + +Preserve `input` order when searching. + +Disable this to improve performance if you don't care about the order. + +##### cwd + +Type: `string`
+Default: `process.cwd()` + +Current working directory. + +### locatePath.sync(input, [options]) + +Returns the first path that exists or `undefined` if none exists. + +#### input + +Type: `Iterable` + +Paths to check. + +#### options + +Type: `Object` + +##### cwd + +Same as above. + + +## Related + +- [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/p-limit/index.js b/node_modules/eslint-plugin-import/node_modules/p-limit/index.js new file mode 100644 index 000000000..873f0e70d --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-limit/index.js @@ -0,0 +1,42 @@ +'use strict'; +const pTry = require('p-try'); + +module.exports = concurrency => { + if (concurrency < 1) { + throw new TypeError('Expected `concurrency` to be a number from 1 and up'); + } + + const queue = []; + let activeCount = 0; + + const next = () => { + activeCount--; + + if (queue.length > 0) { + queue.shift()(); + } + }; + + return fn => new Promise((resolve, reject) => { + const run = () => { + activeCount++; + + pTry(fn).then( + val => { + resolve(val); + next(); + }, + err => { + reject(err); + next(); + } + ); + }; + + if (activeCount < concurrency) { + run(); + } else { + queue.push(run); + } + }); +}; diff --git a/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license b/node_modules/eslint-plugin-import/node_modules/p-limit/license similarity index 100% rename from node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license rename to node_modules/eslint-plugin-import/node_modules/p-limit/license diff --git a/node_modules/eslint-plugin-import/node_modules/p-limit/package.json b/node_modules/eslint-plugin-import/node_modules/p-limit/package.json new file mode 100644 index 000000000..275cb73ae --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-limit/package.json @@ -0,0 +1,49 @@ +{ + "name": "p-limit", + "version": "1.3.0", + "description": "Run multiple promise-returning & async functions with limited concurrency", + "license": "MIT", + "repository": "sindresorhus/p-limit", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "limit", + "limited", + "concurrency", + "throttle", + "throat", + "rate", + "batch", + "ratelimit", + "task", + "queue", + "async", + "await", + "promises", + "bluebird" + ], + "dependencies": { + "p-try": "^1.0.0" + }, + "devDependencies": { + "ava": "*", + "delay": "^2.0.0", + "in-range": "^1.0.0", + "random-int": "^1.0.0", + "time-span": "^2.0.0", + "xo": "*" + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/p-limit/readme.md b/node_modules/eslint-plugin-import/node_modules/p-limit/readme.md new file mode 100644 index 000000000..90129925c --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-limit/readme.md @@ -0,0 +1,69 @@ +# p-limit [![Build Status](https://travis-ci.org/sindresorhus/p-limit.svg?branch=master)](https://travis-ci.org/sindresorhus/p-limit) + +> Run multiple promise-returning & async functions with limited concurrency + + +## Install + +``` +$ npm install p-limit +``` + + +## Usage + +```js +const pLimit = require('p-limit'); + +const limit = pLimit(1); + +const input = [ + limit(() => fetchSomething('foo')), + limit(() => fetchSomething('bar')), + limit(() => doSomething()) +]; + +(async () => { + // Only one promise is run at once + const result = await Promise.all(input); + console.log(result); +})(); +``` + + +## API + +### pLimit(concurrency) + +Returns a `limit` function. + +#### concurrency + +Type: `number`
+Minimum: `1` + +Concurrency limit. + +### limit(fn) + +Returns the promise returned by calling `fn`. + +#### fn + +Type: `Function` + +Promise-returning/async function. + + +## Related + +- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control +- [p-throttle](https://github.com/sindresorhus/p-throttle) - Throttle promise-returning & async functions +- [p-debounce](https://github.com/sindresorhus/p-debounce) - Debounce promise-returning & async functions +- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/p-locate/index.js b/node_modules/eslint-plugin-import/node_modules/p-locate/index.js new file mode 100644 index 000000000..7461d665b --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-locate/index.js @@ -0,0 +1,31 @@ +'use strict'; +const pLimit = require('p-limit'); + +class EndError extends Error { + constructor(value) { + super(); + this.value = value; + } +} + +// the input can also be a promise, so we `Promise.all()` them both +const finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0]))); + +module.exports = (iterable, tester, opts) => { + opts = Object.assign({ + concurrency: Infinity, + preserveOrder: true + }, opts); + + const limit = pLimit(opts.concurrency); + + // start all the promises concurrently with optional limit + const items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]); + + // check the promises either serially or concurrently + const checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity); + + return Promise.all(items.map(el => checkLimit(() => finder(el)))) + .then(() => {}) + .catch(err => err instanceof EndError ? err.value : Promise.reject(err)); +}; diff --git a/node_modules/eslint-plugin-import/node_modules/p-locate/license b/node_modules/eslint-plugin-import/node_modules/p-locate/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-locate/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/p-locate/package.json b/node_modules/eslint-plugin-import/node_modules/p-locate/package.json new file mode 100644 index 000000000..b938aa4c5 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-locate/package.json @@ -0,0 +1,54 @@ +{ + "name": "p-locate", + "version": "2.0.0", + "description": "Get the first fulfilled promise that satisfies the provided testing function", + "license": "MIT", + "repository": "sindresorhus/p-locate", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "locate", + "find", + "finder", + "search", + "searcher", + "test", + "array", + "collection", + "iterable", + "iterator", + "race", + "fulfilled", + "fastest", + "async", + "await", + "promises", + "bluebird" + ], + "dependencies": { + "p-limit": "^1.1.0" + }, + "devDependencies": { + "ava": "*", + "delay": "^1.3.1", + "in-range": "^1.0.0", + "time-span": "^1.0.0", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/p-locate/readme.md b/node_modules/eslint-plugin-import/node_modules/p-locate/readme.md new file mode 100644 index 000000000..68b96a47e --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-locate/readme.md @@ -0,0 +1,86 @@ +# p-locate [![Build Status](https://travis-ci.org/sindresorhus/p-locate.svg?branch=master)](https://travis-ci.org/sindresorhus/p-locate) + +> Get the first fulfilled promise that satisfies the provided testing function + +Think of it like an async version of [`Array#find`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find). + + +## Install + +``` +$ npm install --save p-locate +``` + + +## Usage + +Here we find the first file that exists on disk, in array order. + +```js +const pathExists = require('path-exists'); +const pLocate = require('p-locate'); + +const files = [ + 'unicorn.png', + 'rainbow.png', // only this one actually exists on disk + 'pony.png' +]; + +pLocate(files, file => pathExists(file)).then(foundPath => { + console.log(foundPath); + //=> 'rainbow' +}); +``` + +*The above is just an example. Use [`locate-path`](https://github.com/sindresorhus/locate-path) if you need this.* + + +## API + +### pLocate(input, tester, [options]) + +Returns a `Promise` that is fulfilled when `tester` resolves to `true` or the iterable is done, or rejects if any of the promises reject. The fulfilled value is the current iterable value or `undefined` if `tester` never resolved to `true`. + +#### input + +Type: `Iterable` + +#### tester(element) + +Type: `Function` + +Expected to return a `Promise` or boolean. + +#### options + +Type: `Object` + +##### concurrency + +Type: `number`
+Default: `Infinity`
+Minimum: `1` + +Number of concurrently pending promises returned by `tester`. + +##### preserveOrder + +Type: `boolean`
+Default: `true` + +Preserve `input` order when searching. + +Disable this to improve performance if you don't care about the order. + + +## Related + +- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently +- [p-filter](https://github.com/sindresorhus/p-filter) - Filter promises concurrently +- [p-any](https://github.com/sindresorhus/p-any) - Wait for any promise to be fulfilled +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/p-try/index.js b/node_modules/eslint-plugin-import/node_modules/p-try/index.js new file mode 100644 index 000000000..efa2f7433 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-try/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = cb => new Promise(resolve => { + resolve(cb()); +}); diff --git a/node_modules/eslint-plugin-import/node_modules/p-try/license b/node_modules/eslint-plugin-import/node_modules/p-try/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-try/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/p-try/package.json b/node_modules/eslint-plugin-import/node_modules/p-try/package.json new file mode 100644 index 000000000..a4623262b --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-try/package.json @@ -0,0 +1,43 @@ +{ + "name": "p-try", + "version": "1.0.0", + "description": "`Promise#try()` ponyfill - Starts a promise chain", + "license": "MIT", + "repository": "sindresorhus/p-try", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "try", + "resolve", + "function", + "catch", + "async", + "await", + "promises", + "settled", + "ponyfill", + "polyfill", + "shim", + "bluebird" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/p-try/readme.md b/node_modules/eslint-plugin-import/node_modules/p-try/readme.md new file mode 100644 index 000000000..8e5fdddbe --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/p-try/readme.md @@ -0,0 +1,38 @@ +# p-try [![Build Status](https://travis-ci.org/sindresorhus/p-try.svg?branch=master)](https://travis-ci.org/sindresorhus/p-try) + +> [`Promise#try()`](https://github.com/ljharb/proposal-promise-try) [ponyfill](https://ponyfill.com) - Starts a promise chain + +[How is it useful?](http://cryto.net/~joepie91/blog/2016/05/11/what-is-promise-try-and-why-does-it-matter/) + + +## Install + +``` +$ npm install --save p-try +``` + + +## Usage + +```js +const pTry = require('p-try'); + +pTry(() => { + return synchronousFunctionThatMightThrow(); +}).then(value => { + console.log(value); +}).catch(error => { + console.error(error); +}); +``` + + +## Related + +- [p-finally](https://github.com/sindresorhus/p-finally) - `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/path-exists/index.js b/node_modules/eslint-plugin-import/node_modules/path-exists/index.js new file mode 100644 index 000000000..16ae60acb --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/path-exists/index.js @@ -0,0 +1,17 @@ +'use strict'; +const fs = require('fs'); + +module.exports = fp => new Promise(resolve => { + fs.access(fp, err => { + resolve(!err); + }); +}); + +module.exports.sync = fp => { + try { + fs.accessSync(fp); + return true; + } catch (err) { + return false; + } +}; diff --git a/node_modules/eslint-plugin-import/node_modules/path-exists/license b/node_modules/eslint-plugin-import/node_modules/path-exists/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/path-exists/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/path-exists/package.json b/node_modules/eslint-plugin-import/node_modules/path-exists/package.json new file mode 100644 index 000000000..ed507545d --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/path-exists/package.json @@ -0,0 +1,40 @@ +{ + "name": "path-exists", + "version": "3.0.0", + "description": "Check if a path exists", + "license": "MIT", + "repository": "sindresorhus/path-exists", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "path", + "exists", + "exist", + "file", + "filepath", + "fs", + "filesystem", + "file-system", + "access", + "stat" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/path-exists/readme.md b/node_modules/eslint-plugin-import/node_modules/path-exists/readme.md new file mode 100644 index 000000000..1b65fa705 --- /dev/null +++ b/node_modules/eslint-plugin-import/node_modules/path-exists/readme.md @@ -0,0 +1,50 @@ +# path-exists [![Build Status](https://travis-ci.org/sindresorhus/path-exists.svg?branch=master)](https://travis-ci.org/sindresorhus/path-exists) + +> Check if a path exists + +Because [`fs.exists()`](https://nodejs.org/api/fs.html#fs_fs_exists_path_callback) is being [deprecated](https://github.com/iojs/io.js/issues/103), but there's still a genuine use-case of being able to check if a path exists for other purposes than doing IO with it. + +Never use this before handling a file though: + +> In particular, checking if a file exists before opening it is an anti-pattern that leaves you vulnerable to race conditions: another process may remove the file between the calls to `fs.exists()` and `fs.open()`. Just open the file and handle the error when it's not there. + + +## Install + +``` +$ npm install --save path-exists +``` + + +## Usage + +```js +// foo.js +const pathExists = require('path-exists'); + +pathExists('foo.js').then(exists => { + console.log(exists); + //=> true +}); +``` + + +## API + +### pathExists(path) + +Returns a promise for a boolean of whether the path exists. + +### pathExists.sync(path) + +Returns a boolean of whether the path exists. + + +## Related + +- [path-exists-cli](https://github.com/sindresorhus/path-exists-cli) - CLI for this module + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/.eslintignore b/node_modules/eslint-plugin-import/node_modules/resolve/.eslintignore deleted file mode 100644 index 3c3629e64..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/.eslintrc b/node_modules/eslint-plugin-import/node_modules/resolve/.eslintrc deleted file mode 100644 index a22863c8c..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/.eslintrc +++ /dev/null @@ -1,39 +0,0 @@ -{ - "extends": "@ljharb", - "root": true, - "rules": { - "array-bracket-newline": 0, - "array-element-newline": 0, - "indent": [2, 4], - "strict": 0, - "complexity": 0, - "consistent-return": 0, - "curly": 0, - "dot-notation": [2, { "allowKeywords": true }], - "func-name-matching": 0, - "func-style": 0, - "global-require": 0, - "id-length": [2, { "min": 1, "max": 30 }], - "max-lines-per-function": 0, - "max-nested-callbacks": 0, - "max-params": 0, - "max-statements-per-line": [2, { "max": 2 }], - "max-statements": 0, - "no-magic-numbers": 0, - "no-console": 0, - "no-shadow": 0, - "no-unused-vars": [2, { "vars": "all", "args": "none" }], - "no-use-before-define": 0, - "object-curly-newline": 0, - "operator-linebreak": [2, "before"], - "sort-keys": 0, - }, - "overrides": [ - { - "files": "test/resolver/nested_symlinks/mylib/*.js", - "rules": { - "no-throw-literal": 0, - }, - }, - ], -} diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/.travis.yml b/node_modules/eslint-plugin-import/node_modules/resolve/.travis.yml deleted file mode 100644 index 5ed0fa52f..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE b/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE deleted file mode 100644 index ff4fce28a..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2012 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/appveyor.yml b/node_modules/eslint-plugin-import/node_modules/resolve/appveyor.yml deleted file mode 100644 index 9458fb82b..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/appveyor.yml +++ /dev/null @@ -1,54 +0,0 @@ -version: 1.0.{build} -skip_branch_with_pr: true -build: off - -environment: - matrix: - - nodejs_version: "12" - - nodejs_version: "11" - - nodejs_version: "10" - - nodejs_version: "9" - - nodejs_version: "8" - - nodejs_version: "7" - - nodejs_version: "6" - - nodejs_version: "5" - - nodejs_version: "4" - - nodejs_version: "3" - - nodejs_version: "2" - - nodejs_version: "1" - - nodejs_version: "0.12" - - nodejs_version: "0.10" - - nodejs_version: "0.8" - - nodejs_version: "0.6" -matrix: - # fast_finish: true - allow_failures: - - nodejs_version: "5" # due to windows npm bug, registry-side - - nodejs_version: "0.8" - - nodejs_version: "0.6" - -platform: - - x86 - - x64 - -# Install scripts. (runs after repo cloning) -install: - # Fix symlinks in working copy (see https://github.com/appveyor/ci/issues/650#issuecomment-186592582) / https://github.com/charleskorn/batect/commit/d08986802ec43086902958c4ee7e57ff3e71dbef - - git config core.symlinks true - - git reset --hard - # Get the latest stable version of Node.js or io.js - - ps: Install-Product node $env:nodejs_version $env:platform - - IF %nodejs_version% EQU 0.6 npm config set strict-ssl false && npm -g install npm@1.3 - - IF %nodejs_version% EQU 0.8 npm config set strict-ssl false && npm -g install npm@1.4.28 && npm install -g npm@4.5 - - set PATH=%APPDATA%\npm;%PATH% - #- IF %nodejs_version% NEQ 0.6 AND %nodejs_version% NEQ 0.8 npm -g install npm - # install modules - - npm install - -# Post-install test scripts. -test_script: - # Output useful info for debugging. - - node --version - - npm --version - # run tests - - npm run tests-only diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/example/async.js b/node_modules/eslint-plugin-import/node_modules/resolve/example/async.js deleted file mode 100644 index 20e65dc28..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/example/async.js +++ /dev/null @@ -1,5 +0,0 @@ -var resolve = require('../'); -resolve('tap', { basedir: __dirname }, function (err, res) { - if (err) console.error(err); - else console.log(res); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/example/sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/example/sync.js deleted file mode 100644 index 54b2cc100..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/example/sync.js +++ /dev/null @@ -1,3 +0,0 @@ -var resolve = require('../'); -var res = resolve.sync('tap', { basedir: __dirname }); -console.log(res); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/index.js deleted file mode 100644 index 125d81464..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/index.js +++ /dev/null @@ -1,6 +0,0 @@ -var async = require('./lib/async'); -async.core = require('./lib/core'); -async.isCore = require('./lib/is-core'); -async.sync = require('./lib/sync'); - -module.exports = async; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/async.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/async.js deleted file mode 100644 index 06aa45883..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/async.js +++ /dev/null @@ -1,298 +0,0 @@ -var fs = require('fs'); -var path = require('path'); -var caller = require('./caller.js'); -var nodeModulesPaths = require('./node-modules-paths.js'); -var normalizeOptions = require('./normalize-options.js'); -var isCore = require('./is-core'); - -var realpathFS = fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath; - -var defaultIsFile = function isFile(file, cb) { - fs.stat(file, function (err, stat) { - if (!err) { - return cb(null, stat.isFile() || stat.isFIFO()); - } - if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false); - return cb(err); - }); -}; - -var defaultIsDir = function isDirectory(dir, cb) { - fs.stat(dir, function (err, stat) { - if (!err) { - return cb(null, stat.isDirectory()); - } - if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false); - return cb(err); - }); -}; - -var defaultRealpath = function realpath(x, cb) { - realpathFS(x, function (realpathErr, realPath) { - if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr); - else cb(null, realpathErr ? x : realPath); - }); -}; - -var maybeRealpath = function maybeRealpath(realpath, x, opts, cb) { - if (opts && opts.preserveSymlinks === false) { - realpath(x, cb); - } else { - cb(null, x); - } -}; - -var getPackageCandidates = function getPackageCandidates(x, start, opts) { - var dirs = nodeModulesPaths(start, opts, x); - for (var i = 0; i < dirs.length; i++) { - dirs[i] = path.join(dirs[i], x); - } - return dirs; -}; - -module.exports = function resolve(x, options, callback) { - var cb = callback; - var opts = options; - if (typeof options === 'function') { - cb = opts; - opts = {}; - } - if (typeof x !== 'string') { - var err = new TypeError('Path must be a string.'); - return process.nextTick(function () { - cb(err); - }); - } - - opts = normalizeOptions(x, opts); - - var isFile = opts.isFile || defaultIsFile; - var isDirectory = opts.isDirectory || defaultIsDir; - var readFile = opts.readFile || fs.readFile; - var realpath = opts.realpath || defaultRealpath; - var packageIterator = opts.packageIterator; - - var extensions = opts.extensions || ['.js']; - var basedir = opts.basedir || path.dirname(caller()); - var parent = opts.filename || basedir; - - opts.paths = opts.paths || []; - - // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory - var absoluteStart = path.resolve(basedir); - - maybeRealpath( - realpath, - absoluteStart, - opts, - function (err, realStart) { - if (err) cb(err); - else init(realStart); - } - ); - - var res; - function init(basedir) { - if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) { - res = path.resolve(basedir, x); - if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/'; - if ((/\/$/).test(x) && res === basedir) { - loadAsDirectory(res, opts.package, onfile); - } else loadAsFile(res, opts.package, onfile); - } else if (isCore(x)) { - return cb(null, x); - } else loadNodeModules(x, basedir, function (err, n, pkg) { - if (err) cb(err); - else if (n) { - return maybeRealpath(realpath, n, opts, function (err, realN) { - if (err) { - cb(err); - } else { - cb(null, realN, pkg); - } - }); - } else { - var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - moduleError.code = 'MODULE_NOT_FOUND'; - cb(moduleError); - } - }); - } - - function onfile(err, m, pkg) { - if (err) cb(err); - else if (m) cb(null, m, pkg); - else loadAsDirectory(res, function (err, d, pkg) { - if (err) cb(err); - else if (d) { - maybeRealpath(realpath, d, opts, function (err, realD) { - if (err) { - cb(err); - } else { - cb(null, realD, pkg); - } - }); - } else { - var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - moduleError.code = 'MODULE_NOT_FOUND'; - cb(moduleError); - } - }); - } - - function loadAsFile(x, thePackage, callback) { - var loadAsFilePackage = thePackage; - var cb = callback; - if (typeof loadAsFilePackage === 'function') { - cb = loadAsFilePackage; - loadAsFilePackage = undefined; - } - - var exts = [''].concat(extensions); - load(exts, x, loadAsFilePackage); - - function load(exts, x, loadPackage) { - if (exts.length === 0) return cb(null, undefined, loadPackage); - var file = x + exts[0]; - - var pkg = loadPackage; - if (pkg) onpkg(null, pkg); - else loadpkg(path.dirname(file), onpkg); - - function onpkg(err, pkg_, dir) { - pkg = pkg_; - if (err) return cb(err); - if (dir && pkg && opts.pathFilter) { - var rfile = path.relative(dir, file); - var rel = rfile.slice(0, rfile.length - exts[0].length); - var r = opts.pathFilter(pkg, x, rel); - if (r) return load( - [''].concat(extensions.slice()), - path.resolve(dir, r), - pkg - ); - } - isFile(file, onex); - } - function onex(err, ex) { - if (err) return cb(err); - if (ex) return cb(null, file, pkg); - load(exts.slice(1), x, pkg); - } - } - } - - function loadpkg(dir, cb) { - if (dir === '' || dir === '/') return cb(null); - if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) { - return cb(null); - } - if ((/[/\\]node_modules[/\\]*$/).test(dir)) return cb(null); - - maybeRealpath(realpath, dir, opts, function (unwrapErr, pkgdir) { - if (unwrapErr) return loadpkg(path.dirname(dir), cb); - var pkgfile = path.join(pkgdir, 'package.json'); - isFile(pkgfile, function (err, ex) { - // on err, ex is false - if (!ex) return loadpkg(path.dirname(dir), cb); - - readFile(pkgfile, function (err, body) { - if (err) cb(err); - try { var pkg = JSON.parse(body); } catch (jsonErr) {} - - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, pkgfile); - } - cb(null, pkg, dir); - }); - }); - }); - } - - function loadAsDirectory(x, loadAsDirectoryPackage, callback) { - var cb = callback; - var fpkg = loadAsDirectoryPackage; - if (typeof fpkg === 'function') { - cb = fpkg; - fpkg = opts.package; - } - - maybeRealpath(realpath, x, opts, function (unwrapErr, pkgdir) { - if (unwrapErr) return cb(unwrapErr); - var pkgfile = path.join(pkgdir, 'package.json'); - isFile(pkgfile, function (err, ex) { - if (err) return cb(err); - if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb); - - readFile(pkgfile, function (err, body) { - if (err) return cb(err); - try { - var pkg = JSON.parse(body); - } catch (jsonErr) {} - - if (pkg && opts.packageFilter) { - pkg = opts.packageFilter(pkg, pkgfile); - } - - if (pkg && pkg.main) { - if (typeof pkg.main !== 'string') { - var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string'); - mainError.code = 'INVALID_PACKAGE_MAIN'; - return cb(mainError); - } - if (pkg.main === '.' || pkg.main === './') { - pkg.main = 'index'; - } - loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) { - if (err) return cb(err); - if (m) return cb(null, m, pkg); - if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb); - - var dir = path.resolve(x, pkg.main); - loadAsDirectory(dir, pkg, function (err, n, pkg) { - if (err) return cb(err); - if (n) return cb(null, n, pkg); - loadAsFile(path.join(x, 'index'), pkg, cb); - }); - }); - return; - } - - loadAsFile(path.join(x, '/index'), pkg, cb); - }); - }); - }); - } - - function processDirs(cb, dirs) { - if (dirs.length === 0) return cb(null, undefined); - var dir = dirs[0]; - - isDirectory(path.dirname(dir), isdir); - - function isdir(err, isdir) { - if (err) return cb(err); - if (!isdir) return processDirs(cb, dirs.slice(1)); - loadAsFile(dir, opts.package, onfile); - } - - function onfile(err, m, pkg) { - if (err) return cb(err); - if (m) return cb(null, m, pkg); - loadAsDirectory(dir, opts.package, ondir); - } - - function ondir(err, n, pkg) { - if (err) return cb(err); - if (n) return cb(null, n, pkg); - processDirs(cb, dirs.slice(1)); - } - } - function loadNodeModules(x, start, cb) { - var thunk = function () { return getPackageCandidates(x, start, opts); }; - processDirs( - cb, - packageIterator ? packageIterator(x, start, thunk, opts) : thunk() - ); - } -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/caller.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/caller.js deleted file mode 100644 index b14a2804a..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/caller.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = function () { - // see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi - var origPrepareStackTrace = Error.prepareStackTrace; - Error.prepareStackTrace = function (_, stack) { return stack; }; - var stack = (new Error()).stack; - Error.prepareStackTrace = origPrepareStackTrace; - return stack[2].getFileName(); -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.js deleted file mode 100644 index 0877650cc..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.js +++ /dev/null @@ -1,53 +0,0 @@ -var current = (process.versions && process.versions.node && process.versions.node.split('.')) || []; - -function specifierIncluded(specifier) { - var parts = specifier.split(' '); - var op = parts.length > 1 ? parts[0] : '='; - var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.'); - - for (var i = 0; i < 3; ++i) { - var cur = Number(current[i] || 0); - var ver = Number(versionParts[i] || 0); - if (cur === ver) { - continue; // eslint-disable-line no-restricted-syntax, no-continue - } - if (op === '<') { - return cur < ver; - } else if (op === '>=') { - return cur >= ver; - } else { - return false; - } - } - return op === '>='; -} - -function matchesRange(range) { - var specifiers = range.split(/ ?&& ?/); - if (specifiers.length === 0) { return false; } - for (var i = 0; i < specifiers.length; ++i) { - if (!specifierIncluded(specifiers[i])) { return false; } - } - return true; -} - -function versionIncluded(specifierValue) { - if (typeof specifierValue === 'boolean') { return specifierValue; } - if (specifierValue && typeof specifierValue === 'object') { - for (var i = 0; i < specifierValue.length; ++i) { - if (matchesRange(specifierValue[i])) { return true; } - } - return false; - } - return matchesRange(specifierValue); -} - -var data = require('./core.json'); - -var core = {}; -for (var mod in data) { // eslint-disable-line no-restricted-syntax - if (Object.prototype.hasOwnProperty.call(data, mod)) { - core[mod] = versionIncluded(data[mod]); - } -} -module.exports = core; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.json b/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.json deleted file mode 100644 index d51b70b14..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/core.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "assert": true, - "async_hooks": ">= 8", - "buffer_ieee754": "< 0.9.7", - "buffer": true, - "child_process": true, - "cluster": true, - "console": true, - "constants": true, - "crypto": true, - "_debug_agent": ">= 1 && < 8", - "_debugger": "< 8", - "dgram": true, - "dns": true, - "domain": true, - "events": true, - "freelist": "< 6", - "fs": true, - "fs/promises": [">= 10 && < 10.1", ">= 14"], - "_http_agent": ">= 0.11.1", - "_http_client": ">= 0.11.1", - "_http_common": ">= 0.11.1", - "_http_incoming": ">= 0.11.1", - "_http_outgoing": ">= 0.11.1", - "_http_server": ">= 0.11.1", - "http": true, - "http2": ">= 8.8", - "https": true, - "inspector": ">= 8.0.0", - "_linklist": "< 8", - "module": true, - "net": true, - "node-inspect/lib/_inspect": ">= 7.6.0 && < 12", - "node-inspect/lib/internal/inspect_client": ">= 7.6.0 && < 12", - "node-inspect/lib/internal/inspect_repl": ">= 7.6.0 && < 12", - "os": true, - "path": true, - "perf_hooks": ">= 8.5", - "process": ">= 1", - "punycode": true, - "querystring": true, - "readline": true, - "repl": true, - "smalloc": ">= 0.11.5 && < 3", - "_stream_duplex": ">= 0.9.4", - "_stream_transform": ">= 0.9.4", - "_stream_wrap": ">= 1.4.1", - "_stream_passthrough": ">= 0.9.4", - "_stream_readable": ">= 0.9.4", - "_stream_writable": ">= 0.9.4", - "stream": true, - "string_decoder": true, - "sys": true, - "timers": true, - "_tls_common": ">= 0.11.13", - "_tls_legacy": ">= 0.11.3 && < 10", - "_tls_wrap": ">= 0.11.3", - "tls": true, - "trace_events": ">= 10", - "tty": true, - "url": true, - "util": true, - "v8/tools/arguments": ">= 10 && < 12", - "v8/tools/codemap": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8/tools/consarray": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8/tools/csvparser": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8/tools/logreader": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8/tools/profile_view": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8/tools/splaytree": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"], - "v8": ">= 1", - "vm": true, - "wasi": ">= 13.4 && < 13.5", - "worker_threads": ">= 11.7", - "zlib": true -} diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/is-core.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/is-core.js deleted file mode 100644 index 48bc96c47..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/is-core.js +++ /dev/null @@ -1,5 +0,0 @@ -var core = require('./core'); - -module.exports = function isCore(x) { - return Object.prototype.hasOwnProperty.call(core, x); -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/node-modules-paths.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/node-modules-paths.js deleted file mode 100644 index 2b43813a7..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/node-modules-paths.js +++ /dev/null @@ -1,42 +0,0 @@ -var path = require('path'); -var parse = path.parse || require('path-parse'); - -var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { - var prefix = '/'; - if ((/^([A-Za-z]:)/).test(absoluteStart)) { - prefix = ''; - } else if ((/^\\\\/).test(absoluteStart)) { - prefix = '\\\\'; - } - - var paths = [absoluteStart]; - var parsed = parse(absoluteStart); - while (parsed.dir !== paths[paths.length - 1]) { - paths.push(parsed.dir); - parsed = parse(parsed.dir); - } - - return paths.reduce(function (dirs, aPath) { - return dirs.concat(modules.map(function (moduleDir) { - return path.resolve(prefix, aPath, moduleDir); - })); - }, []); -}; - -module.exports = function nodeModulesPaths(start, opts, request) { - var modules = opts && opts.moduleDirectory - ? [].concat(opts.moduleDirectory) - : ['node_modules']; - - if (opts && typeof opts.paths === 'function') { - return opts.paths( - request, - start, - function () { return getNodeModulesDirs(start, modules); }, - opts - ); - } - - var dirs = getNodeModulesDirs(start, modules); - return opts && opts.paths ? dirs.concat(opts.paths) : dirs; -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/normalize-options.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/normalize-options.js deleted file mode 100644 index 4b56904ea..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/normalize-options.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = function (x, opts) { - /** - * This file is purposefully a passthrough. It's expected that third-party - * environments will override it at runtime in order to inject special logic - * into `resolve` (by manipulating the options). One such example is the PnP - * code path in Yarn. - */ - - return opts || {}; -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/lib/sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/lib/sync.js deleted file mode 100644 index da74e19d0..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/lib/sync.js +++ /dev/null @@ -1,191 +0,0 @@ -var isCore = require('./is-core'); -var fs = require('fs'); -var path = require('path'); -var caller = require('./caller.js'); -var nodeModulesPaths = require('./node-modules-paths.js'); -var normalizeOptions = require('./normalize-options.js'); - -var realpathFS = fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync; - -var defaultIsFile = function isFile(file) { - try { - var stat = fs.statSync(file); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false; - throw e; - } - return stat.isFile() || stat.isFIFO(); -}; - -var defaultIsDir = function isDirectory(dir) { - try { - var stat = fs.statSync(dir); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false; - throw e; - } - return stat.isDirectory(); -}; - -var defaultRealpathSync = function realpathSync(x) { - try { - return realpathFS(x); - } catch (realpathErr) { - if (realpathErr.code !== 'ENOENT') { - throw realpathErr; - } - } - return x; -}; - -var maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) { - if (opts && opts.preserveSymlinks === false) { - return realpathSync(x); - } - return x; -}; - -var getPackageCandidates = function getPackageCandidates(x, start, opts) { - var dirs = nodeModulesPaths(start, opts, x); - for (var i = 0; i < dirs.length; i++) { - dirs[i] = path.join(dirs[i], x); - } - return dirs; -}; - -module.exports = function resolveSync(x, options) { - if (typeof x !== 'string') { - throw new TypeError('Path must be a string.'); - } - var opts = normalizeOptions(x, options); - - var isFile = opts.isFile || defaultIsFile; - var readFileSync = opts.readFileSync || fs.readFileSync; - var isDirectory = opts.isDirectory || defaultIsDir; - var realpathSync = opts.realpathSync || defaultRealpathSync; - var packageIterator = opts.packageIterator; - - var extensions = opts.extensions || ['.js']; - var basedir = opts.basedir || path.dirname(caller()); - var parent = opts.filename || basedir; - - opts.paths = opts.paths || []; - - // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory - var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts); - - if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) { - var res = path.resolve(absoluteStart, x); - if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/'; - var m = loadAsFileSync(res) || loadAsDirectorySync(res); - if (m) return maybeRealpathSync(realpathSync, m, opts); - } else if (isCore(x)) { - return x; - } else { - var n = loadNodeModulesSync(x, absoluteStart); - if (n) return maybeRealpathSync(realpathSync, n, opts); - } - - var err = new Error("Cannot find module '" + x + "' from '" + parent + "'"); - err.code = 'MODULE_NOT_FOUND'; - throw err; - - function loadAsFileSync(x) { - var pkg = loadpkg(path.dirname(x)); - - if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) { - var rfile = path.relative(pkg.dir, x); - var r = opts.pathFilter(pkg.pkg, x, rfile); - if (r) { - x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign - } - } - - if (isFile(x)) { - return x; - } - - for (var i = 0; i < extensions.length; i++) { - var file = x + extensions[i]; - if (isFile(file)) { - return file; - } - } - } - - function loadpkg(dir) { - if (dir === '' || dir === '/') return; - if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) { - return; - } - if ((/[/\\]node_modules[/\\]*$/).test(dir)) return; - - var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), 'package.json'); - - if (!isFile(pkgfile)) { - return loadpkg(path.dirname(dir)); - } - - var body = readFileSync(pkgfile); - - try { - var pkg = JSON.parse(body); - } catch (jsonErr) {} - - if (pkg && opts.packageFilter) { - // v2 will pass pkgfile - pkg = opts.packageFilter(pkg, /*pkgfile,*/ dir); // eslint-disable-line spaced-comment - } - - return { pkg: pkg, dir: dir }; - } - - function loadAsDirectorySync(x) { - var pkgfile = path.join(maybeRealpathSync(realpathSync, x, opts), '/package.json'); - if (isFile(pkgfile)) { - try { - var body = readFileSync(pkgfile, 'UTF8'); - var pkg = JSON.parse(body); - } catch (e) {} - - if (pkg && opts.packageFilter) { - // v2 will pass pkgfile - pkg = opts.packageFilter(pkg, /*pkgfile,*/ x); // eslint-disable-line spaced-comment - } - - if (pkg && pkg.main) { - if (typeof pkg.main !== 'string') { - var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string'); - mainError.code = 'INVALID_PACKAGE_MAIN'; - throw mainError; - } - if (pkg.main === '.' || pkg.main === './') { - pkg.main = 'index'; - } - try { - var m = loadAsFileSync(path.resolve(x, pkg.main)); - if (m) return m; - var n = loadAsDirectorySync(path.resolve(x, pkg.main)); - if (n) return n; - } catch (e) {} - } - } - - return loadAsFileSync(path.join(x, '/index')); - } - - function loadNodeModulesSync(x, start) { - var thunk = function () { return getPackageCandidates(x, start, opts); }; - var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk(); - - for (var i = 0; i < dirs.length; i++) { - var dir = dirs[i]; - if (isDirectory(path.dirname(dir))) { - var m = loadAsFileSync(dir); - if (m) return m; - var n = loadAsDirectorySync(dir); - if (n) return n; - } - } - } -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/package.json deleted file mode 100644 index d895eda5c..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "resolve", - "description": "resolve like require.resolve() on behalf of files asynchronously and synchronously", - "version": "1.17.0", - "repository": { - "type": "git", - "url": "git://github.com/browserify/resolve.git" - }, - "main": "index.js", - "keywords": [ - "resolve", - "require", - "node", - "module" - ], - "scripts": { - "prepublish": "safe-publish-latest", - "lint": "eslint .", - "pretests-only": "cd ./test/resolver/nested_symlinks && node mylib/sync && node mylib/async", - "tests-only": "tape test/*.js", - "pretest": "npm run lint", - "test": "npm run --silent tests-only", - "posttest": "npm run test:multirepo", - "test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test" - }, - "devDependencies": { - "@ljharb/eslint-config": "^16.0.0", - "array.prototype.map": "^1.0.2", - "eslint": "^6.8.0", - "object-keys": "^1.1.1", - "safe-publish-latest": "^1.1.4", - "tap": "0.4.13", - "tape": "^5.0.0-next.5" - }, - "license": "MIT", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "dependencies": { - "path-parse": "^1.0.6" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/readme.markdown b/node_modules/eslint-plugin-import/node_modules/resolve/readme.markdown deleted file mode 100644 index 5e1aea331..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/readme.markdown +++ /dev/null @@ -1,242 +0,0 @@ -# resolve - -implements the [node `require.resolve()` -algorithm](https://nodejs.org/api/modules.html#modules_all_together) -such that you can `require.resolve()` on behalf of a file asynchronously and -synchronously - -[![build status](https://secure.travis-ci.org/browserify/resolve.png)](http://travis-ci.org/browserify/resolve) - -# example - -asynchronously resolve: - -```js -var resolve = require('resolve'); -resolve('tap', { basedir: __dirname }, function (err, res) { - if (err) console.error(err); - else console.log(res); -}); -``` - -``` -$ node example/async.js -/home/substack/projects/node-resolve/node_modules/tap/lib/main.js -``` - -synchronously resolve: - -```js -var resolve = require('resolve'); -var res = resolve.sync('tap', { basedir: __dirname }); -console.log(res); -``` - -``` -$ node example/sync.js -/home/substack/projects/node-resolve/node_modules/tap/lib/main.js -``` - -# methods - -```js -var resolve = require('resolve'); -``` - -## resolve(id, opts={}, cb) - -Asynchronously resolve the module path string `id` into `cb(err, res [, pkg])`, where `pkg` (if defined) is the data from `package.json`. - -options are: - -* opts.basedir - directory to begin resolving from - -* opts.package - `package.json` data applicable to the module being loaded - -* opts.extensions - array of file extensions to search in order - -* opts.readFile - how to read files asynchronously - -* opts.isFile - function to asynchronously test whether a file exists - -* opts.isDirectory - function to asynchronously test whether a directory exists - -* opts.realpath - function to asynchronously resolve a potential symlink to its real path - -* `opts.packageFilter(pkg, pkgfile, dir)` - transform the parsed package.json contents before looking at the "main" field - * pkg - package data - * pkgfile - path to package.json - * dir - directory for package.json - -* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package - * pkg - package data - * path - the path being resolved - * relativePath - the path relative from the package.json location - * returns - a relative path that will be joined from the package.json location - -* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this) - - For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function - * request - the import specifier being resolved - * start - lookup path - * getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution - * opts - the resolution options - -* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this) - * request - the import specifier being resolved - * start - lookup path - * getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution - * opts - the resolution options - -* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"` - -* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving. -This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag. -**Note:** this property is currently `true` by default but it will be changed to -`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*. - -default `opts` values: - -```js -{ - paths: [], - basedir: __dirname, - extensions: ['.js'], - readFile: fs.readFile, - isFile: function isFile(file, cb) { - fs.stat(file, function (err, stat) { - if (!err) { - return cb(null, stat.isFile() || stat.isFIFO()); - } - if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false); - return cb(err); - }); - }, - isDirectory: function isDirectory(dir, cb) { - fs.stat(dir, function (err, stat) { - if (!err) { - return cb(null, stat.isDirectory()); - } - if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false); - return cb(err); - }); - }, - realpath: function realpath(file, cb) { - var realpath = typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath; - realpath(file, function (realPathErr, realPath) { - if (realPathErr && realPathErr.code !== 'ENOENT') cb(realPathErr); - else cb(null, realPathErr ? file : realPath); - }); - }, - moduleDirectory: 'node_modules', - preserveSymlinks: true -} -``` - -## resolve.sync(id, opts) - -Synchronously resolve the module path string `id`, returning the result and -throwing an error when `id` can't be resolved. - -options are: - -* opts.basedir - directory to begin resolving from - -* opts.extensions - array of file extensions to search in order - -* opts.readFile - how to read files synchronously - -* opts.isFile - function to synchronously test whether a file exists - -* opts.isDirectory - function to synchronously test whether a directory exists - -* opts.realpathSync - function to synchronously resolve a potential symlink to its real path - -* `opts.packageFilter(pkg, dir)` - transform the parsed package.json contents before looking at the "main" field - * pkg - package data - * dir - directory for package.json (Note: the second argument will change to "pkgfile" in v2) - -* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package - * pkg - package data - * path - the path being resolved - * relativePath - the path relative from the package.json location - * returns - a relative path that will be joined from the package.json location - -* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this) - - For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function - * request - the import specifier being resolved - * start - lookup path - * getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution - * opts - the resolution options - -* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this) - * request - the import specifier being resolved - * start - lookup path - * getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution - * opts - the resolution options - -* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"` - -* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving. -This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag. -**Note:** this property is currently `true` by default but it will be changed to -`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*. - -default `opts` values: - -```js -{ - paths: [], - basedir: __dirname, - extensions: ['.js'], - readFileSync: fs.readFileSync, - isFile: function isFile(file) { - try { - var stat = fs.statSync(file); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false; - throw e; - } - return stat.isFile() || stat.isFIFO(); - }, - isDirectory: function isDirectory(dir) { - try { - var stat = fs.statSync(dir); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false; - throw e; - } - return stat.isDirectory(); - }, - realpathSync: function realpathSync(file) { - try { - var realpath = typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync; - return realpath(file); - } catch (realPathErr) { - if (realPathErr.code !== 'ENOENT') { - throw realPathErr; - } - } - return file; - }, - moduleDirectory: 'node_modules', - preserveSymlinks: true -} -``` - -## resolve.isCore(pkg) - -Return whether a package is in core. - -# install - -With [npm](https://npmjs.org) do: - -```sh -npm install resolve -``` - -# license - -MIT diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/.eslintrc b/node_modules/eslint-plugin-import/node_modules/resolve/test/.eslintrc deleted file mode 100644 index ddd262df5..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "max-lines": 0 - } -} diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/core.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/core.js deleted file mode 100644 index 4c111e1dd..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/core.js +++ /dev/null @@ -1,85 +0,0 @@ -var test = require('tape'); -var keys = require('object-keys'); -var resolve = require('../'); - -test('core modules', function (t) { - t.test('isCore()', function (st) { - st.ok(resolve.isCore('fs')); - st.ok(resolve.isCore('net')); - st.ok(resolve.isCore('http')); - - st.ok(!resolve.isCore('seq')); - st.ok(!resolve.isCore('../')); - - st.ok(!resolve.isCore('toString')); - - st.end(); - }); - - t.test('core list', function (st) { - var cores = keys(resolve.core); - st.plan(cores.length); - - for (var i = 0; i < cores.length; ++i) { - var mod = cores[i]; - if (resolve.core[mod]) { - st.doesNotThrow( - function () { require(mod); }, // eslint-disable-line no-loop-func - mod + ' supported; requiring does not throw' - ); - } else { - st.throws( - function () { require(mod); }, // eslint-disable-line no-loop-func - mod + ' not supported; requiring throws' - ); - } - } - - st.end(); - }); - - t.test('core via repl module', { skip: !resolve.core.repl }, function (st) { - var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle - if (!libs) { - st.skip('module.builtinModules does not exist'); - return st.end(); - } - for (var i = 0; i < libs.length; ++i) { - var mod = libs[i]; - st.ok(resolve.core[mod], mod + ' is a core module'); - st.doesNotThrow( - function () { require(mod); }, // eslint-disable-line no-loop-func - 'requiring ' + mod + ' does not throw' - ); - } - st.end(); - }); - - t.test('core via builtinModules list', { skip: !resolve.core.module }, function (st) { - var libs = require('module').builtinModules; - if (!libs) { - st.skip('module.builtinModules does not exist'); - return st.end(); - } - var blacklist = [ - '_debug_agent', - 'v8/tools/tickprocessor-driver', - 'v8/tools/SourceMap', - 'v8/tools/tickprocessor', - 'v8/tools/profile' - ]; - for (var i = 0; i < libs.length; ++i) { - var mod = libs[i]; - if (blacklist.indexOf(mod) === -1) { - st.ok(resolve.core[mod], mod + ' is a core module'); - st.doesNotThrow( - function () { require(mod); }, // eslint-disable-line no-loop-func - 'requiring ' + mod + ' does not throw' - ); - } - } - st.end(); - }); - - t.end(); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot.js deleted file mode 100644 index 30806659b..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot.js +++ /dev/null @@ -1,29 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('dotdot', function (t) { - t.plan(4); - var dir = path.join(__dirname, '/dotdot/abc'); - - resolve('..', { basedir: dir }, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(__dirname, 'dotdot/index.js')); - }); - - resolve('.', { basedir: dir }, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, 'index.js')); - }); -}); - -test('dotdot sync', function (t) { - t.plan(2); - var dir = path.join(__dirname, '/dotdot/abc'); - - var a = resolve.sync('..', { basedir: dir }); - t.equal(a, path.join(__dirname, 'dotdot/index.js')); - - var b = resolve.sync('.', { basedir: dir }); - t.equal(b, path.join(dir, 'index.js')); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/abc/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/abc/index.js deleted file mode 100644 index 67f2534eb..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/abc/index.js +++ /dev/null @@ -1,2 +0,0 @@ -var x = require('..'); -console.log(x); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/index.js deleted file mode 100644 index 643f9fcc6..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/dotdot/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'whatever'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/faulty_basedir.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/faulty_basedir.js deleted file mode 100644 index 5f2141a67..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/faulty_basedir.js +++ /dev/null @@ -1,29 +0,0 @@ -var test = require('tape'); -var path = require('path'); -var resolve = require('../'); - -test('faulty basedir must produce error in windows', { skip: process.platform !== 'win32' }, function (t) { - t.plan(1); - - var resolverDir = 'C:\\a\\b\\c\\d'; - - resolve('tape/lib/test.js', { basedir: resolverDir }, function (err, res, pkg) { - t.equal(!!err, true); - }); -}); - -test('non-existent basedir should not throw when preserveSymlinks is false', function (t) { - t.plan(2); - - var opts = { - basedir: path.join(path.sep, 'unreal', 'path', 'that', 'does', 'not', 'exist'), - preserveSymlinks: false - }; - - var module = './dotdot/abc'; - - resolve(module, opts, function (err, res) { - t.equal(err.code, 'MODULE_NOT_FOUND'); - t.equal(res, undefined); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/filter.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/filter.js deleted file mode 100644 index 8f8cccdb2..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/filter.js +++ /dev/null @@ -1,34 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('filter', function (t) { - t.plan(4); - var dir = path.join(__dirname, 'resolver'); - var packageFilterArgs; - resolve('./baz', { - basedir: dir, - packageFilter: function (pkg, pkgfile) { - pkg.main = 'doom'; // eslint-disable-line no-param-reassign - packageFilterArgs = [pkg, pkgfile]; - return pkg; - } - }, function (err, res, pkg) { - if (err) t.fail(err); - - t.equal(res, path.join(dir, 'baz/doom.js'), 'changing the package "main" works'); - - var packageData = packageFilterArgs[0]; - t.equal(pkg, packageData, 'first packageFilter argument is "pkg"'); - t.equal(packageData.main, 'doom', 'package "main" was altered'); - - var packageFile = packageFilterArgs[1]; - t.equal( - packageFile, - path.join(dir, 'baz/package.json'), - 'second packageFilter argument is "pkgfile"' - ); - - t.end(); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/filter_sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/filter_sync.js deleted file mode 100644 index 8a43b9818..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/filter_sync.js +++ /dev/null @@ -1,33 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('filter', function (t) { - var dir = path.join(__dirname, 'resolver'); - var packageFilterArgs; - var res = resolve.sync('./baz', { - basedir: dir, - // NOTE: in v2.x, this will be `pkg, pkgfile, dir`, but must remain "broken" here in v1.x for compatibility - packageFilter: function (pkg, /*pkgfile,*/ dir) { // eslint-disable-line spaced-comment - pkg.main = 'doom'; // eslint-disable-line no-param-reassign - packageFilterArgs = 'is 1.x' ? [pkg, dir] : [pkg, pkgfile, dir]; // eslint-disable-line no-constant-condition, no-undef - return pkg; - } - }); - - t.equal(res, path.join(dir, 'baz/doom.js'), 'changing the package "main" works'); - - var packageData = packageFilterArgs[0]; - t.equal(packageData.main, 'doom', 'package "main" was altered'); - - if (!'is 1.x') { // eslint-disable-line no-constant-condition - var packageFile = packageFilterArgs[1]; - t.equal(packageFile, path.join(dir, 'baz', 'package.json'), 'package.json path is correct'); - } - - var packageDir = packageFilterArgs['is 1.x' ? 1 : 2]; // eslint-disable-line no-constant-condition - // eslint-disable-next-line no-constant-condition - t.equal(packageDir, path.join(dir, 'baz'), ('is 1.x' ? 'second' : 'third') + ' packageFilter argument is "dir"'); - - t.end(); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/mock.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/mock.js deleted file mode 100644 index b9f17fe23..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/mock.js +++ /dev/null @@ -1,239 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('mock', function (t) { - t.plan(8); - - var files = {}; - files[path.resolve('/foo/bar/baz.js')] = 'beep'; - - var dirs = {}; - dirs[path.resolve('/foo/bar')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file, cb) { - cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); - }, - isDirectory: function (dir, cb) { - cb(null, !!dirs[path.resolve(dir)]); - }, - readFile: function (file, cb) { - cb(null, files[path.resolve(file)]); - }, - realpath: function (file, cb) { - cb(null, file); - } - }; - } - - resolve('./baz', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/baz.js')); - t.equal(pkg, undefined); - }); - - resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/baz.js')); - t.equal(pkg, undefined); - }); - - resolve('baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); - - resolve('../baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); -}); - -test('mock from package', function (t) { - t.plan(8); - - var files = {}; - files[path.resolve('/foo/bar/baz.js')] = 'beep'; - - var dirs = {}; - dirs[path.resolve('/foo/bar')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file, cb) { - cb(null, Object.prototype.hasOwnProperty.call(files, file)); - }, - isDirectory: function (dir, cb) { - cb(null, !!dirs[path.resolve(dir)]); - }, - 'package': { main: 'bar' }, - readFile: function (file, cb) { - cb(null, files[file]); - }, - realpath: function (file, cb) { - cb(null, file); - } - }; - } - - resolve('./baz', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/baz.js')); - t.equal(pkg && pkg.main, 'bar'); - }); - - resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/baz.js')); - t.equal(pkg && pkg.main, 'bar'); - }); - - resolve('baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); - - resolve('../baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); -}); - -test('mock package', function (t) { - t.plan(2); - - var files = {}; - files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep'; - files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({ - main: './baz.js' - }); - - var dirs = {}; - dirs[path.resolve('/foo')] = true; - dirs[path.resolve('/foo/node_modules')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file, cb) { - cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); - }, - isDirectory: function (dir, cb) { - cb(null, !!dirs[path.resolve(dir)]); - }, - readFile: function (file, cb) { - cb(null, files[path.resolve(file)]); - }, - realpath: function (file, cb) { - cb(null, file); - } - }; - } - - resolve('bar', opts('/foo'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/node_modules/bar/baz.js')); - t.equal(pkg && pkg.main, './baz.js'); - }); -}); - -test('mock package from package', function (t) { - t.plan(2); - - var files = {}; - files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep'; - files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({ - main: './baz.js' - }); - - var dirs = {}; - dirs[path.resolve('/foo')] = true; - dirs[path.resolve('/foo/node_modules')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file, cb) { - cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); - }, - isDirectory: function (dir, cb) { - cb(null, !!dirs[path.resolve(dir)]); - }, - 'package': { main: 'bar' }, - readFile: function (file, cb) { - cb(null, files[path.resolve(file)]); - }, - realpath: function (file, cb) { - cb(null, file); - } - }; - } - - resolve('bar', opts('/foo'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/node_modules/bar/baz.js')); - t.equal(pkg && pkg.main, './baz.js'); - }); -}); - -test('symlinked', function (t) { - t.plan(4); - - var files = {}; - files[path.resolve('/foo/bar/baz.js')] = 'beep'; - files[path.resolve('/foo/bar/symlinked/baz.js')] = 'beep'; - - var dirs = {}; - dirs[path.resolve('/foo/bar')] = true; - dirs[path.resolve('/foo/bar/symlinked')] = true; - - function opts(basedir) { - return { - preserveSymlinks: false, - basedir: path.resolve(basedir), - isFile: function (file, cb) { - cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); - }, - isDirectory: function (dir, cb) { - cb(null, !!dirs[path.resolve(dir)]); - }, - readFile: function (file, cb) { - cb(null, files[path.resolve(file)]); - }, - realpath: function (file, cb) { - var resolved = path.resolve(file); - - if (resolved.indexOf('symlinked') >= 0) { - cb(null, resolved); - return; - } - - var ext = path.extname(resolved); - - if (ext) { - var dir = path.dirname(resolved); - var base = path.basename(resolved); - cb(null, path.join(dir, 'symlinked', base)); - } else { - cb(null, path.join(resolved, 'symlinked')); - } - } - }; - } - - resolve('./baz', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/symlinked/baz.js')); - t.equal(pkg, undefined); - }); - - resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) { - if (err) return t.fail(err); - t.equal(res, path.resolve('/foo/bar/symlinked/baz.js')); - t.equal(pkg, undefined); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/mock_sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/mock_sync.js deleted file mode 100644 index fcf811444..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/mock_sync.js +++ /dev/null @@ -1,141 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('mock', function (t) { - t.plan(4); - - var files = {}; - files[path.resolve('/foo/bar/baz.js')] = 'beep'; - - var dirs = {}; - dirs[path.resolve('/foo/bar')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file) { - return Object.prototype.hasOwnProperty.call(files, path.resolve(file)); - }, - isDirectory: function (dir) { - return !!dirs[path.resolve(dir)]; - }, - readFileSync: function (file) { - return files[path.resolve(file)]; - }, - realpathSync: function (file) { - return file; - } - }; - } - - t.equal( - resolve.sync('./baz', opts('/foo/bar')), - path.resolve('/foo/bar/baz.js') - ); - - t.equal( - resolve.sync('./baz.js', opts('/foo/bar')), - path.resolve('/foo/bar/baz.js') - ); - - t.throws(function () { - resolve.sync('baz', opts('/foo/bar')); - }); - - t.throws(function () { - resolve.sync('../baz', opts('/foo/bar')); - }); -}); - -test('mock package', function (t) { - t.plan(1); - - var files = {}; - files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep'; - files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({ - main: './baz.js' - }); - - var dirs = {}; - dirs[path.resolve('/foo')] = true; - dirs[path.resolve('/foo/node_modules')] = true; - - function opts(basedir) { - return { - basedir: path.resolve(basedir), - isFile: function (file) { - return Object.prototype.hasOwnProperty.call(files, path.resolve(file)); - }, - isDirectory: function (dir) { - return !!dirs[path.resolve(dir)]; - }, - readFileSync: function (file) { - return files[path.resolve(file)]; - }, - realpathSync: function (file) { - return file; - } - }; - } - - t.equal( - resolve.sync('bar', opts('/foo')), - path.resolve('/foo/node_modules/bar/baz.js') - ); -}); - -test('symlinked', function (t) { - t.plan(2); - - var files = {}; - files[path.resolve('/foo/bar/baz.js')] = 'beep'; - files[path.resolve('/foo/bar/symlinked/baz.js')] = 'beep'; - - var dirs = {}; - dirs[path.resolve('/foo/bar')] = true; - dirs[path.resolve('/foo/bar/symlinked')] = true; - - function opts(basedir) { - return { - preserveSymlinks: false, - basedir: path.resolve(basedir), - isFile: function (file) { - return Object.prototype.hasOwnProperty.call(files, path.resolve(file)); - }, - isDirectory: function (dir) { - return !!dirs[path.resolve(dir)]; - }, - readFileSync: function (file) { - return files[path.resolve(file)]; - }, - realpathSync: function (file) { - var resolved = path.resolve(file); - - if (resolved.indexOf('symlinked') >= 0) { - return resolved; - } - - var ext = path.extname(resolved); - - if (ext) { - var dir = path.dirname(resolved); - var base = path.basename(resolved); - return path.join(dir, 'symlinked', base); - } else { - return path.join(resolved, 'symlinked'); - } - } - }; - } - - t.equal( - resolve.sync('./baz', opts('/foo/bar')), - path.resolve('/foo/bar/symlinked/baz.js') - ); - - t.equal( - resolve.sync('./baz.js', opts('/foo/bar')), - path.resolve('/foo/bar/symlinked/baz.js') - ); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir.js deleted file mode 100644 index b50e5bb17..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir.js +++ /dev/null @@ -1,56 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('moduleDirectory strings', function (t) { - t.plan(4); - var dir = path.join(__dirname, 'module_dir'); - var xopts = { - basedir: dir, - moduleDirectory: 'xmodules' - }; - resolve('aaa', xopts, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, '/xmodules/aaa/index.js')); - }); - - var yopts = { - basedir: dir, - moduleDirectory: 'ymodules' - }; - resolve('aaa', yopts, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, '/ymodules/aaa/index.js')); - }); -}); - -test('moduleDirectory array', function (t) { - t.plan(6); - var dir = path.join(__dirname, 'module_dir'); - var aopts = { - basedir: dir, - moduleDirectory: ['xmodules', 'ymodules', 'zmodules'] - }; - resolve('aaa', aopts, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, '/xmodules/aaa/index.js')); - }); - - var bopts = { - basedir: dir, - moduleDirectory: ['zmodules', 'ymodules', 'xmodules'] - }; - resolve('aaa', bopts, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, '/ymodules/aaa/index.js')); - }); - - var copts = { - basedir: dir, - moduleDirectory: ['xmodules', 'ymodules', 'zmodules'] - }; - resolve('bbb', copts, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, '/zmodules/bbb/main.js')); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/xmodules/aaa/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/xmodules/aaa/index.js deleted file mode 100644 index dd7cf7b2d..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = function (x) { return x * 100; }; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/ymodules/aaa/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/ymodules/aaa/index.js deleted file mode 100644 index ef2d4d4bf..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = function (x) { return x + 100; }; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/main.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/main.js deleted file mode 100644 index e8ba62993..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = function (n) { return n * 111; }; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/package.json deleted file mode 100644 index a60376465..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "main.js" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node-modules-paths.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node-modules-paths.js deleted file mode 100644 index 675441db2..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node-modules-paths.js +++ /dev/null @@ -1,143 +0,0 @@ -var test = require('tape'); -var path = require('path'); -var parse = path.parse || require('path-parse'); -var keys = require('object-keys'); - -var nodeModulesPaths = require('../lib/node-modules-paths'); - -var verifyDirs = function verifyDirs(t, start, dirs, moduleDirectories, paths) { - var moduleDirs = [].concat(moduleDirectories || 'node_modules'); - if (paths) { - for (var k = 0; k < paths.length; ++k) { - moduleDirs.push(path.basename(paths[k])); - } - } - - var foundModuleDirs = {}; - var uniqueDirs = {}; - var parsedDirs = {}; - for (var i = 0; i < dirs.length; ++i) { - var parsed = parse(dirs[i]); - if (!foundModuleDirs[parsed.base]) { foundModuleDirs[parsed.base] = 0; } - foundModuleDirs[parsed.base] += 1; - parsedDirs[parsed.dir] = true; - uniqueDirs[dirs[i]] = true; - } - t.equal(keys(parsedDirs).length >= start.split(path.sep).length, true, 'there are >= dirs than "start" has'); - var foundModuleDirNames = keys(foundModuleDirs); - t.deepEqual(foundModuleDirNames, moduleDirs, 'all desired module dirs were found'); - t.equal(keys(uniqueDirs).length, dirs.length, 'all dirs provided were unique'); - - var counts = {}; - for (var j = 0; j < foundModuleDirNames.length; ++j) { - counts[foundModuleDirs[j]] = true; - } - t.equal(keys(counts).length, 1, 'all found module directories had the same count'); -}; - -test('node-modules-paths', function (t) { - t.test('no options', function (t) { - var start = path.join(__dirname, 'resolver'); - var dirs = nodeModulesPaths(start); - - verifyDirs(t, start, dirs); - - t.end(); - }); - - t.test('empty options', function (t) { - var start = path.join(__dirname, 'resolver'); - var dirs = nodeModulesPaths(start, {}); - - verifyDirs(t, start, dirs); - - t.end(); - }); - - t.test('with paths=array option', function (t) { - var start = path.join(__dirname, 'resolver'); - var paths = ['a', 'b']; - var dirs = nodeModulesPaths(start, { paths: paths }); - - verifyDirs(t, start, dirs, null, paths); - - t.end(); - }); - - t.test('with paths=function option', function (t) { - var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) { - return getNodeModulesDirs().concat(path.join(absoluteStart, 'not node modules', request)); - }; - - var start = path.join(__dirname, 'resolver'); - var dirs = nodeModulesPaths(start, { paths: paths }, 'pkg'); - - verifyDirs(t, start, dirs, null, [path.join(start, 'not node modules', 'pkg')]); - - t.end(); - }); - - t.test('with paths=function skipping node modules resolution', function (t) { - var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) { - return []; - }; - var start = path.join(__dirname, 'resolver'); - var dirs = nodeModulesPaths(start, { paths: paths }); - t.deepEqual(dirs, [], 'no node_modules was computed'); - t.end(); - }); - - t.test('with moduleDirectory option', function (t) { - var start = path.join(__dirname, 'resolver'); - var moduleDirectory = 'not node modules'; - var dirs = nodeModulesPaths(start, { moduleDirectory: moduleDirectory }); - - verifyDirs(t, start, dirs, moduleDirectory); - - t.end(); - }); - - t.test('with 1 moduleDirectory and paths options', function (t) { - var start = path.join(__dirname, 'resolver'); - var paths = ['a', 'b']; - var moduleDirectory = 'not node modules'; - var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectory }); - - verifyDirs(t, start, dirs, moduleDirectory, paths); - - t.end(); - }); - - t.test('with 1+ moduleDirectory and paths options', function (t) { - var start = path.join(__dirname, 'resolver'); - var paths = ['a', 'b']; - var moduleDirectories = ['not node modules', 'other modules']; - var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories }); - - verifyDirs(t, start, dirs, moduleDirectories, paths); - - t.end(); - }); - - t.test('combine paths correctly on Windows', function (t) { - var start = 'C:\\Users\\username\\myProject\\src'; - var paths = []; - var moduleDirectories = ['node_modules', start]; - var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories }); - - t.equal(dirs.indexOf(path.resolve(start)) > -1, true, 'should contain start dir'); - - t.end(); - }); - - t.test('combine paths correctly on non-Windows', { skip: process.platform === 'win32' }, function (t) { - var start = '/Users/username/git/myProject/src'; - var paths = []; - var moduleDirectories = ['node_modules', '/Users/username/git/myProject/src']; - var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories }); - - t.equal(dirs.indexOf(path.resolve(start)) > -1, true, 'should contain start dir'); - - t.end(); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path.js deleted file mode 100644 index d06aa4eaf..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path.js +++ /dev/null @@ -1,70 +0,0 @@ -var fs = require('fs'); -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('$NODE_PATH', function (t) { - t.plan(8); - - var isDir = function (dir, cb) { - if (dir === '/node_path' || dir === 'node_path/x') { - return cb(null, true); - } - fs.stat(dir, function (err, stat) { - if (!err) { - return cb(null, stat.isDirectory()); - } - if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false); - return cb(err); - }); - }; - - resolve('aaa', { - paths: [ - path.join(__dirname, '/node_path/x'), - path.join(__dirname, '/node_path/y') - ], - basedir: __dirname, - isDirectory: isDir - }, function (err, res) { - t.error(err); - t.equal(res, path.join(__dirname, '/node_path/x/aaa/index.js'), 'aaa resolves'); - }); - - resolve('bbb', { - paths: [ - path.join(__dirname, '/node_path/x'), - path.join(__dirname, '/node_path/y') - ], - basedir: __dirname, - isDirectory: isDir - }, function (err, res) { - t.error(err); - t.equal(res, path.join(__dirname, '/node_path/y/bbb/index.js'), 'bbb resolves'); - }); - - resolve('ccc', { - paths: [ - path.join(__dirname, '/node_path/x'), - path.join(__dirname, '/node_path/y') - ], - basedir: __dirname, - isDirectory: isDir - }, function (err, res) { - t.error(err); - t.equal(res, path.join(__dirname, '/node_path/x/ccc/index.js'), 'ccc resolves'); - }); - - // ensure that relative paths still resolve against the regular `node_modules` correctly - resolve('tap', { - paths: [ - 'node_path' - ], - basedir: path.join(__dirname, 'node_path/x'), - isDirectory: isDir - }, function (err, res) { - var root = require('tap/package.json').main; - t.error(err); - t.equal(res, path.resolve(__dirname, '..', 'node_modules/tap', root), 'tap resolves'); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/aaa/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/aaa/index.js deleted file mode 100644 index ad70d0bb0..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/aaa/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'A'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/ccc/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/ccc/index.js deleted file mode 100644 index a64132e4c..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/x/ccc/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'C'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/bbb/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/bbb/index.js deleted file mode 100644 index 4d0f32e24..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/bbb/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'B'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/ccc/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/ccc/index.js deleted file mode 100644 index 793315e84..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/node_path/y/ccc/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'CY'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/nonstring.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/nonstring.js deleted file mode 100644 index ef63c40f9..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/nonstring.js +++ /dev/null @@ -1,9 +0,0 @@ -var test = require('tape'); -var resolve = require('../'); - -test('nonstring', function (t) { - t.plan(1); - resolve(555, function (err, res, pkg) { - t.ok(err); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/pathfilter.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/pathfilter.js deleted file mode 100644 index 16519aeae..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/pathfilter.js +++ /dev/null @@ -1,75 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -var resolverDir = path.join(__dirname, '/pathfilter/deep_ref'); - -var pathFilterFactory = function (t) { - return function (pkg, x, remainder) { - t.equal(pkg.version, '1.2.3'); - t.equal(x, path.join(resolverDir, 'node_modules/deep/ref')); - t.equal(remainder, 'ref'); - return 'alt'; - }; -}; - -test('#62: deep module references and the pathFilter', function (t) { - t.test('deep/ref.js', function (st) { - st.plan(3); - - resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) { - if (err) st.fail(err); - - st.equal(pkg.version, '1.2.3'); - st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); - }); - - var res = resolve.sync('deep/ref', { basedir: resolverDir }); - st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); - }); - - t.test('deep/deeper/ref', function (st) { - st.plan(4); - - resolve( - 'deep/deeper/ref', - { basedir: resolverDir }, - function (err, res, pkg) { - if (err) t.fail(err); - st.notEqual(pkg, undefined); - st.equal(pkg.version, '1.2.3'); - st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); - } - ); - - var res = resolve.sync( - 'deep/deeper/ref', - { basedir: resolverDir } - ); - st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); - }); - - t.test('deep/ref alt', function (st) { - st.plan(8); - - var pathFilter = pathFilterFactory(st); - - var res = resolve.sync( - 'deep/ref', - { basedir: resolverDir, pathFilter: pathFilter } - ); - st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); - - resolve( - 'deep/ref', - { basedir: resolverDir, pathFilter: pathFilter }, - function (err, res, pkg) { - if (err) st.fail(err); - st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); - st.end(); - } - ); - }); - - t.end(); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/pathfilter/deep_ref/main.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/pathfilter/deep_ref/main.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence.js deleted file mode 100644 index 2febb598f..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence.js +++ /dev/null @@ -1,23 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('precedence', function (t) { - t.plan(3); - var dir = path.join(__dirname, 'precedence/aaa'); - - resolve('./', { basedir: dir }, function (err, res, pkg) { - t.ifError(err); - t.equal(res, path.join(dir, 'index.js')); - t.equal(pkg.name, 'resolve'); - }); -}); - -test('./ should not load ${dir}.js', function (t) { // eslint-disable-line no-template-curly-in-string - t.plan(1); - var dir = path.join(__dirname, 'precedence/bbb'); - - resolve('./', { basedir: dir }, function (err, res, pkg) { - t.ok(err); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa.js deleted file mode 100644 index b83a3e7ad..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'wtf'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/index.js deleted file mode 100644 index e0f8f6abf..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'okok'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/main.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/main.js deleted file mode 100644 index 93542a965..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/aaa/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log(require('./')); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb.js deleted file mode 100644 index 2298f47fd..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = '>_<'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb/main.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb/main.js deleted file mode 100644 index 716b81d4b..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/precedence/bbb/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log(require('./')); // should throw diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver.js deleted file mode 100644 index aa36ee114..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver.js +++ /dev/null @@ -1,450 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('async foo', function (t) { - t.plan(12); - var dir = path.join(__dirname, 'resolver'); - - resolve('./foo', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo.js')); - t.equal(pkg && pkg.name, 'resolve'); - }); - - resolve('./foo.js', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo.js')); - t.equal(pkg && pkg.name, 'resolve'); - }); - - resolve('./foo', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo.js')); - t.equal(pkg && pkg.main, 'resolver'); - }); - - resolve('./foo.js', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo.js')); - t.equal(pkg.main, 'resolver'); - }); - - resolve('./foo', { basedir: dir, filename: path.join(dir, 'baz.js') }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo.js')); - }); - - resolve('foo', { basedir: dir }, function (err) { - t.equal(err.message, "Cannot find module 'foo' from '" + path.resolve(dir) + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); - - // Test that filename is reported as the "from" value when passed. - resolve('foo', { basedir: dir, filename: path.join(dir, 'baz.js') }, function (err) { - t.equal(err.message, "Cannot find module 'foo' from '" + path.join(dir, 'baz.js') + "'"); - }); -}); - -test('bar', function (t) { - t.plan(6); - var dir = path.join(__dirname, 'resolver'); - - resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); - t.equal(pkg, undefined); - }); - - resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); - t.equal(pkg, undefined); - }); - - resolve('foo', { basedir: dir + '/bar', 'package': { main: 'bar' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); - t.equal(pkg.main, 'bar'); - }); -}); - -test('baz', function (t) { - t.plan(4); - var dir = path.join(__dirname, 'resolver'); - - resolve('./baz', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'baz/quux.js')); - t.equal(pkg.main, 'quux.js'); - }); - - resolve('./baz', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'baz/quux.js')); - t.equal(pkg.main, 'quux.js'); - }); -}); - -test('biz', function (t) { - t.plan(24); - var dir = path.join(__dirname, 'resolver/biz/node_modules'); - - resolve('./grux', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'grux/index.js')); - t.equal(pkg, undefined); - }); - - resolve('./grux', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'grux/index.js')); - t.equal(pkg.main, 'biz'); - }); - - resolve('./garply', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'garply/lib/index.js')); - t.equal(pkg.main, './lib'); - }); - - resolve('./garply', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'garply/lib/index.js')); - t.equal(pkg.main, './lib'); - }); - - resolve('tiv', { basedir: dir + '/grux' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'tiv/index.js')); - t.equal(pkg, undefined); - }); - - resolve('tiv', { basedir: dir + '/grux', 'package': { main: 'grux' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'tiv/index.js')); - t.equal(pkg.main, 'grux'); - }); - - resolve('tiv', { basedir: dir + '/garply' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'tiv/index.js')); - t.equal(pkg, undefined); - }); - - resolve('tiv', { basedir: dir + '/garply', 'package': { main: './lib' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'tiv/index.js')); - t.equal(pkg.main, './lib'); - }); - - resolve('grux', { basedir: dir + '/tiv' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'grux/index.js')); - t.equal(pkg, undefined); - }); - - resolve('grux', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'grux/index.js')); - t.equal(pkg.main, 'tiv'); - }); - - resolve('garply', { basedir: dir + '/tiv' }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'garply/lib/index.js')); - t.equal(pkg.main, './lib'); - }); - - resolve('garply', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'garply/lib/index.js')); - t.equal(pkg.main, './lib'); - }); -}); - -test('quux', function (t) { - t.plan(2); - var dir = path.join(__dirname, 'resolver/quux'); - - resolve('./foo', { basedir: dir, 'package': { main: 'quux' } }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'foo/index.js')); - t.equal(pkg.main, 'quux'); - }); -}); - -test('normalize', function (t) { - t.plan(2); - var dir = path.join(__dirname, 'resolver/biz/node_modules/grux'); - - resolve('../grux', { basedir: dir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'index.js')); - t.equal(pkg, undefined); - }); -}); - -test('cup', function (t) { - t.plan(5); - var dir = path.join(__dirname, 'resolver'); - - resolve('./cup', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'cup.coffee')); - }); - - resolve('./cup.coffee', { basedir: dir }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'cup.coffee')); - }); - - resolve('./cup', { basedir: dir, extensions: ['.js'] }, function (err, res) { - t.equal(err.message, "Cannot find module './cup' from '" + path.resolve(dir) + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); - - // Test that filename is reported as the "from" value when passed. - resolve('./cup', { basedir: dir, extensions: ['.js'], filename: path.join(dir, 'cupboard.js') }, function (err, res) { - t.equal(err.message, "Cannot find module './cup' from '" + path.join(dir, 'cupboard.js') + "'"); - }); -}); - -test('mug', function (t) { - t.plan(3); - var dir = path.join(__dirname, 'resolver'); - - resolve('./mug', { basedir: dir }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'mug.js')); - }); - - resolve('./mug', { basedir: dir, extensions: ['.coffee', '.js'] }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(dir, '/mug.coffee')); - }); - - resolve('./mug', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) { - t.equal(res, path.join(dir, '/mug.js')); - }); -}); - -test('other path', function (t) { - t.plan(6); - var resolverDir = path.join(__dirname, 'resolver'); - var dir = path.join(resolverDir, 'bar'); - var otherDir = path.join(resolverDir, 'other_path'); - - resolve('root', { basedir: dir, paths: [otherDir] }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(resolverDir, 'other_path/root.js')); - }); - - resolve('lib/other-lib', { basedir: dir, paths: [otherDir] }, function (err, res) { - if (err) t.fail(err); - t.equal(res, path.join(resolverDir, 'other_path/lib/other-lib.js')); - }); - - resolve('root', { basedir: dir }, function (err, res) { - t.equal(err.message, "Cannot find module 'root' from '" + path.resolve(dir) + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); - - resolve('zzz', { basedir: dir, paths: [otherDir] }, function (err, res) { - t.equal(err.message, "Cannot find module 'zzz' from '" + path.resolve(dir) + "'"); - t.equal(err.code, 'MODULE_NOT_FOUND'); - }); -}); - -test('path iterator', function (t) { - t.plan(2); - - var resolverDir = path.join(__dirname, 'resolver'); - - var exactIterator = function (x, start, getPackageCandidates, opts) { - return [path.join(resolverDir, x)]; - }; - - resolve('baz', { packageIterator: exactIterator }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(resolverDir, 'baz/quux.js')); - t.equal(pkg && pkg.name, 'baz'); - }); -}); - -test('incorrect main', function (t) { - t.plan(1); - - var resolverDir = path.join(__dirname, 'resolver'); - var dir = path.join(resolverDir, 'incorrect_main'); - - resolve('./incorrect_main', { basedir: resolverDir }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'index.js')); - }); -}); - -test('without basedir', function (t) { - t.plan(1); - - var dir = path.join(__dirname, 'resolver/without_basedir'); - var tester = require(path.join(dir, 'main.js')); - - tester(t, function (err, res, pkg) { - if (err) { - t.fail(err); - } else { - t.equal(res, path.join(dir, 'node_modules/mymodule.js')); - } - }); -}); - -test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) { - t.plan(2); - - var dir = path.join(__dirname, 'resolver'); - - resolve('./foo', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'same_names/foo.js')); - }); - - resolve('./foo/', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'same_names/foo/index.js')); - }); -}); - -test('#211 - incorrectly resolves module-paths like "." when from inside a folder with a sibling file of the same name', function (t) { - t.plan(2); - - var dir = path.join(__dirname, 'resolver'); - - resolve('./', { basedir: path.join(dir, 'same_names/foo') }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'same_names/foo/index.js')); - }); - - resolve('.', { basedir: path.join(dir, 'same_names/foo') }, function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'same_names/foo/index.js')); - }); -}); - -test('async: #121 - treating an existing file as a dir when no basedir', function (t) { - var testFile = path.basename(__filename); - - t.test('sanity check', function (st) { - st.plan(1); - resolve('./' + testFile, function (err, res, pkg) { - if (err) t.fail(err); - st.equal(res, __filename, 'sanity check'); - }); - }); - - t.test('with a fake directory', function (st) { - st.plan(4); - - resolve('./' + testFile + '/blah', function (err, res, pkg) { - st.ok(err, 'there is an error'); - st.notOk(res, 'no result'); - - st.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve'); - st.equal( - err && err.message, - 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'', - 'can not find nonexistent module' - ); - st.end(); - }); - }); - - t.end(); -}); - -test('async dot main', function (t) { - var start = new Date(); - t.plan(3); - resolve('./resolver/dot_main', function (err, ret) { - t.notOk(err); - t.equal(ret, path.join(__dirname, 'resolver/dot_main/index.js')); - t.ok(new Date() - start < 50, 'resolve.sync timedout'); - t.end(); - }); -}); - -test('async dot slash main', function (t) { - var start = new Date(); - t.plan(3); - resolve('./resolver/dot_slash_main', function (err, ret) { - t.notOk(err); - t.equal(ret, path.join(__dirname, 'resolver/dot_slash_main/index.js')); - t.ok(new Date() - start < 50, 'resolve.sync timedout'); - t.end(); - }); -}); - -test('not a directory', function (t) { - t.plan(6); - var path = './foo'; - resolve(path, { basedir: __filename }, function (err, res, pkg) { - t.ok(err, 'a non-directory errors'); - t.equal(arguments.length, 1); - t.equal(res, undefined); - t.equal(pkg, undefined); - - t.equal(err && err.message, 'Cannot find module \'' + path + '\' from \'' + __filename + '\''); - t.equal(err && err.code, 'MODULE_NOT_FOUND'); - }); -}); - -test('non-string "main" field in package.json', function (t) { - t.plan(5); - - var dir = path.join(__dirname, 'resolver'); - resolve('./invalid_main', { basedir: dir }, function (err, res, pkg) { - t.ok(err, 'errors on non-string main'); - t.equal(err.message, 'package “invalid main” `main` must be a string'); - t.equal(err.code, 'INVALID_PACKAGE_MAIN'); - t.equal(res, undefined, 'res is undefined'); - t.equal(pkg, undefined, 'pkg is undefined'); - }); -}); - -test('non-string "main" field in package.json', function (t) { - t.plan(5); - - var dir = path.join(__dirname, 'resolver'); - resolve('./invalid_main', { basedir: dir }, function (err, res, pkg) { - t.ok(err, 'errors on non-string main'); - t.equal(err.message, 'package “invalid main” `main` must be a string'); - t.equal(err.code, 'INVALID_PACKAGE_MAIN'); - t.equal(res, undefined, 'res is undefined'); - t.equal(pkg, undefined, 'pkg is undefined'); - }); -}); - -test('browser field in package.json', function (t) { - t.plan(3); - - var dir = path.join(__dirname, 'resolver'); - resolve( - './browser_field', - { - basedir: dir, - packageFilter: function packageFilter(pkg) { - if (pkg.browser) { - pkg.main = pkg.browser; // eslint-disable-line no-param-reassign - delete pkg.browser; // eslint-disable-line no-param-reassign - } - return pkg; - } - }, - function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, path.join(dir, 'browser_field', 'b.js')); - t.equal(pkg && pkg.main, 'b'); - t.equal(pkg && pkg.browser, undefined); - } - ); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/doom.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/doom.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/package.json deleted file mode 100644 index 6ba9318a0..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "baz", - "main": "quux.js" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/quux.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/quux.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/baz/quux.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/a.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/a.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/b.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/b.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/package.json deleted file mode 100644 index 291ab03bc..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/browser_field/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "browser_field", - "main": "a", - "browser": "b" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/cup.coffee b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/cup.coffee deleted file mode 100644 index 8b1378917..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/cup.coffee +++ /dev/null @@ -1 +0,0 @@ - diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/index.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/package.json deleted file mode 100644 index d08e00e9d..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_main/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "." -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/index.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/package.json deleted file mode 100644 index a92bfd7b1..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/dot_slash_main/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "./" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/foo.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/foo.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/foo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/index.js deleted file mode 100644 index bc1fb0a6f..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/index.js +++ /dev/null @@ -1,2 +0,0 @@ -// this is the actual main file 'index.js', not 'wrong.js' like the package.json would indicate -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/package.json deleted file mode 100644 index b3b73da08..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/incorrect_main/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "wrong.js" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/invalid_main/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/invalid_main/package.json deleted file mode 100644 index 3158504f6..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/invalid_main/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "invalid main", - "main": [ - "why is this a thing", - "srsly omg wtf" - ] -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/mug.coffee b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/mug.coffee deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/mug.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/mug.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/lerna.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/lerna.json deleted file mode 100644 index d6707ca0c..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/lerna.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "packages": [ - "packages/*" - ], - "version": "0.0.0" -} diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/package.json deleted file mode 100644 index 9c6d56b61..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "monorepo-symlink-test", - "private": true, - "version": "0.0.0", - "description": "", - "main": "index.js", - "scripts": { - "postinstall": "lerna bootstrap", - "test": "node packages/package-a" - }, - "author": "", - "license": "MIT", - "dependencies": { - "jquery": "^3.3.1", - "resolve": "../../../" - }, - "devDependencies": { - "lerna": "^3.4.3" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js deleted file mode 100644 index 8875a32df..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var assert = require('assert'); -var path = require('path'); -var resolve = require('resolve'); - -var basedir = __dirname + '/node_modules/@my-scope/package-b'; - -var expected = path.join(__dirname, '../../node_modules/jquery/dist/jquery.js'); - -/* - * preserveSymlinks === false - * will search NPM package from - * - packages/package-b/node_modules - * - packages/node_modules - * - node_modules - */ -assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: false }), expected); -assert.equal(resolve.sync('../../node_modules/jquery', { basedir: basedir, preserveSymlinks: false }), expected); - -/* - * preserveSymlinks === true - * will search NPM package from - * - packages/package-a/node_modules/@my-scope/packages/package-b/node_modules - * - packages/package-a/node_modules/@my-scope/packages/node_modules - * - packages/package-a/node_modules/@my-scope/node_modules - * - packages/package-a/node_modules/node_modules - * - packages/package-a/node_modules - * - packages/node_modules - * - node_modules - */ -assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: true }), expected); -assert.equal(resolve.sync('../../../../../node_modules/jquery', { basedir: basedir, preserveSymlinks: true }), expected); - -console.log(' * all monorepo paths successfully resolved through symlinks'); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json deleted file mode 100644 index a2bbfff89..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@my-scope/package-a", - "version": "0.0.0", - "private": true, - "description": "", - "license": "MIT", - "main": "index.js", - "scripts": { - "test": "echo \"Error: run tests from root\" && exit 1" - }, - "dependencies": { - "@my-scope/package-b": "^0.0.0" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json deleted file mode 100644 index f7adacdeb..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@my-scope/package-b", - "private": true, - "version": "0.0.0", - "description": "", - "license": "MIT", - "main": "index.js", - "scripts": { - "test": "echo \"Error: run tests from root\" && exit 1" - }, - "dependencies": { - "@my-scope/package-a": "^0.0.0" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js deleted file mode 100644 index 9b4846a82..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +++ /dev/null @@ -1,26 +0,0 @@ -var a = require.resolve('buffer/').replace(process.cwd(), '$CWD'); -var b; -var c; - -var test = function test() { - console.log(a, ': require.resolve, preserveSymlinks ' + (process.execArgv.indexOf('preserve-symlinks') > -1 ? 'true' : 'false')); - console.log(b, ': preserveSymlinks true'); - console.log(c, ': preserveSymlinks false'); - - if (a !== b && a !== c) { - throw 'async: no match'; - } - console.log('async: success! a matched either b or c\n'); -}; - -require('resolve')('buffer/', { preserveSymlinks: true }, function (err, result) { - if (err) { throw err; } - b = result.replace(process.cwd(), '$CWD'); - if (b && c) { test(); } -}); -require('resolve')('buffer/', { preserveSymlinks: false }, function (err, result) { - if (err) { throw err; } - c = result.replace(process.cwd(), '$CWD'); - if (b && c) { test(); } -}); - diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json deleted file mode 100644 index f3fffe71c..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "mylib", - "version": "0.0.0", - "description": "", - "private": true, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "buffer": "*" - } -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js deleted file mode 100644 index 3283efc2e..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +++ /dev/null @@ -1,12 +0,0 @@ -var a = require.resolve('buffer/').replace(process.cwd(), '$CWD'); -var b = require('resolve').sync('buffer/', { preserveSymlinks: true }).replace(process.cwd(), '$CWD'); -var c = require('resolve').sync('buffer/', { preserveSymlinks: false }).replace(process.cwd(), '$CWD'); - -console.log(a, ': require.resolve, preserveSymlinks ' + (process.execArgv.indexOf('preserve-symlinks') > -1 ? 'true' : 'false')); -console.log(b, ': preserveSymlinks true'); -console.log(c, ': preserveSymlinks false'); - -if (a !== b && a !== c) { - throw 'sync: no match'; -} -console.log('sync: success! a matched either b or c\n'); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/other_path/lib/other-lib.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/other_path/lib/other-lib.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/other_path/root.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/other_path/root.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/quux/foo/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/quux/foo/index.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/quux/foo/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo.js deleted file mode 100644 index 888cae37a..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 42; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo/index.js deleted file mode 100644 index bd816eaba..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/same_names/foo/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 1; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/bar.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/bar.js deleted file mode 100644 index cb1c2c01e..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/bar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'bar'; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/package.json b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/package.json deleted file mode 100644 index b6e6d85fd..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/symlinked/package/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "bar.js" -} \ No newline at end of file diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/without_basedir/main.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/without_basedir/main.js deleted file mode 100644 index 5b31975be..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver/without_basedir/main.js +++ /dev/null @@ -1,5 +0,0 @@ -var resolve = require('../../../'); - -module.exports = function (t, cb) { - resolve('mymodule', null, cb); -}; diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver_sync.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver_sync.js deleted file mode 100644 index 3082c96e5..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/resolver_sync.js +++ /dev/null @@ -1,358 +0,0 @@ -var path = require('path'); -var test = require('tape'); -var resolve = require('../'); - -test('foo', function (t) { - var dir = path.join(__dirname, 'resolver'); - - t.equal( - resolve.sync('./foo', { basedir: dir }), - path.join(dir, 'foo.js') - ); - - t.equal( - resolve.sync('./foo.js', { basedir: dir }), - path.join(dir, 'foo.js') - ); - - t.equal( - resolve.sync('./foo.js', { basedir: dir, filename: path.join(dir, 'bar.js') }), - path.join(dir, 'foo.js') - ); - - t.throws(function () { - resolve.sync('foo', { basedir: dir }); - }); - - // Test that filename is reported as the "from" value when passed. - t.throws( - function () { - resolve.sync('foo', { basedir: dir, filename: path.join(dir, 'bar.js') }); - }, - { - name: 'Error', - message: "Cannot find module 'foo' from '" + path.join(dir, 'bar.js') + "'" - } - ); - - t.end(); -}); - -test('bar', function (t) { - var dir = path.join(__dirname, 'resolver'); - - t.equal( - resolve.sync('foo', { basedir: path.join(dir, 'bar') }), - path.join(dir, 'bar/node_modules/foo/index.js') - ); - t.end(); -}); - -test('baz', function (t) { - var dir = path.join(__dirname, 'resolver'); - - t.equal( - resolve.sync('./baz', { basedir: dir }), - path.join(dir, 'baz/quux.js') - ); - t.end(); -}); - -test('biz', function (t) { - var dir = path.join(__dirname, 'resolver/biz/node_modules'); - t.equal( - resolve.sync('./grux', { basedir: dir }), - path.join(dir, 'grux/index.js') - ); - - t.equal( - resolve.sync('tiv', { basedir: path.join(dir, 'grux') }), - path.join(dir, 'tiv/index.js') - ); - - t.equal( - resolve.sync('grux', { basedir: path.join(dir, 'tiv') }), - path.join(dir, 'grux/index.js') - ); - t.end(); -}); - -test('normalize', function (t) { - var dir = path.join(__dirname, 'resolver/biz/node_modules/grux'); - t.equal( - resolve.sync('../grux', { basedir: dir }), - path.join(dir, 'index.js') - ); - t.end(); -}); - -test('cup', function (t) { - var dir = path.join(__dirname, 'resolver'); - t.equal( - resolve.sync('./cup', { - basedir: dir, - extensions: ['.js', '.coffee'] - }), - path.join(dir, 'cup.coffee') - ); - - t.equal( - resolve.sync('./cup.coffee', { basedir: dir }), - path.join(dir, 'cup.coffee') - ); - - t.throws(function () { - resolve.sync('./cup', { - basedir: dir, - extensions: ['.js'] - }); - }); - - t.end(); -}); - -test('mug', function (t) { - var dir = path.join(__dirname, 'resolver'); - t.equal( - resolve.sync('./mug', { basedir: dir }), - path.join(dir, 'mug.js') - ); - - t.equal( - resolve.sync('./mug', { - basedir: dir, - extensions: ['.coffee', '.js'] - }), - path.join(dir, 'mug.coffee') - ); - - t.equal( - resolve.sync('./mug', { - basedir: dir, - extensions: ['.js', '.coffee'] - }), - path.join(dir, 'mug.js') - ); - - t.end(); -}); - -test('other path', function (t) { - var resolverDir = path.join(__dirname, 'resolver'); - var dir = path.join(resolverDir, 'bar'); - var otherDir = path.join(resolverDir, 'other_path'); - - t.equal( - resolve.sync('root', { - basedir: dir, - paths: [otherDir] - }), - path.join(resolverDir, 'other_path/root.js') - ); - - t.equal( - resolve.sync('lib/other-lib', { - basedir: dir, - paths: [otherDir] - }), - path.join(resolverDir, 'other_path/lib/other-lib.js') - ); - - t.throws(function () { - resolve.sync('root', { basedir: dir }); - }); - - t.throws(function () { - resolve.sync('zzz', { - basedir: dir, - paths: [otherDir] - }); - }); - - t.end(); -}); - -test('path iterator', function (t) { - var resolverDir = path.join(__dirname, 'resolver'); - - var exactIterator = function (x, start, getPackageCandidates, opts) { - return [path.join(resolverDir, x)]; - }; - - t.equal( - resolve.sync('baz', { packageIterator: exactIterator }), - path.join(resolverDir, 'baz/quux.js') - ); - - t.end(); -}); - -test('incorrect main', function (t) { - var resolverDir = path.join(__dirname, 'resolver'); - var dir = path.join(resolverDir, 'incorrect_main'); - - t.equal( - resolve.sync('./incorrect_main', { basedir: resolverDir }), - path.join(dir, 'index.js') - ); - - t.end(); -}); - -var stubStatSync = function stubStatSync(fn) { - var fs = require('fs'); - var statSync = fs.statSync; - try { - fs.statSync = function () { - throw new EvalError('Unknown Error'); - }; - return fn(); - } finally { - fs.statSync = statSync; - } -}; - -test('#79 - re-throw non ENOENT errors from stat', function (t) { - var dir = path.join(__dirname, 'resolver'); - - stubStatSync(function () { - t.throws(function () { - resolve.sync('foo', { basedir: dir }); - }, /Unknown Error/); - }); - - t.end(); -}); - -test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) { - var dir = path.join(__dirname, 'resolver'); - - t.equal( - resolve.sync('./foo', { basedir: path.join(dir, 'same_names') }), - path.join(dir, 'same_names/foo.js') - ); - t.equal( - resolve.sync('./foo/', { basedir: path.join(dir, 'same_names') }), - path.join(dir, 'same_names/foo/index.js') - ); - t.end(); -}); - -test('#211 - incorrectly resolves module-paths like "." when from inside a folder with a sibling file of the same name', function (t) { - var dir = path.join(__dirname, 'resolver'); - - t.equal( - resolve.sync('./', { basedir: path.join(dir, 'same_names/foo') }), - path.join(dir, 'same_names/foo/index.js') - ); - t.equal( - resolve.sync('.', { basedir: path.join(dir, 'same_names/foo') }), - path.join(dir, 'same_names/foo/index.js') - ); - t.end(); -}); - -test('sync: #121 - treating an existing file as a dir when no basedir', function (t) { - var testFile = path.basename(__filename); - - t.test('sanity check', function (st) { - st.equal( - resolve.sync('./' + testFile), - __filename, - 'sanity check' - ); - st.end(); - }); - - t.test('with a fake directory', function (st) { - function run() { return resolve.sync('./' + testFile + '/blah'); } - - st.throws(run, 'throws an error'); - - try { - run(); - } catch (e) { - st.equal(e.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve'); - st.equal( - e.message, - 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'', - 'can not find nonexistent module' - ); - } - - st.end(); - }); - - t.end(); -}); - -test('sync dot main', function (t) { - var start = new Date(); - t.equal(resolve.sync('./resolver/dot_main'), path.join(__dirname, 'resolver/dot_main/index.js')); - t.ok(new Date() - start < 50, 'resolve.sync timedout'); - t.end(); -}); - -test('sync dot slash main', function (t) { - var start = new Date(); - t.equal(resolve.sync('./resolver/dot_slash_main'), path.join(__dirname, 'resolver/dot_slash_main/index.js')); - t.ok(new Date() - start < 50, 'resolve.sync timedout'); - t.end(); -}); - -test('not a directory', function (t) { - var path = './foo'; - try { - resolve.sync(path, { basedir: __filename }); - t.fail(); - } catch (err) { - t.ok(err, 'a non-directory errors'); - t.equal(err && err.message, 'Cannot find module \'' + path + "' from '" + __filename + "'"); - t.equal(err && err.code, 'MODULE_NOT_FOUND'); - } - t.end(); -}); - -test('non-string "main" field in package.json', function (t) { - var dir = path.join(__dirname, 'resolver'); - try { - var result = resolve.sync('./invalid_main', { basedir: dir }); - t.equal(result, undefined, 'result should not exist'); - t.fail('should not get here'); - } catch (err) { - t.ok(err, 'errors on non-string main'); - t.equal(err.message, 'package “invalid main” `main` must be a string'); - t.equal(err.code, 'INVALID_PACKAGE_MAIN'); - } - t.end(); -}); - -test('non-string "main" field in package.json', function (t) { - var dir = path.join(__dirname, 'resolver'); - try { - var result = resolve.sync('./invalid_main', { basedir: dir }); - t.equal(result, undefined, 'result should not exist'); - t.fail('should not get here'); - } catch (err) { - t.ok(err, 'errors on non-string main'); - t.equal(err.message, 'package “invalid main” `main` must be a string'); - t.equal(err.code, 'INVALID_PACKAGE_MAIN'); - } - t.end(); -}); - -test('browser field in package.json', function (t) { - var dir = path.join(__dirname, 'resolver'); - var res = resolve.sync('./browser_field', { - basedir: dir, - packageFilter: function packageFilter(pkg) { - if (pkg.browser) { - pkg.main = pkg.browser; // eslint-disable-line no-param-reassign - delete pkg.browser; // eslint-disable-line no-param-reassign - } - return pkg; - } - }); - t.equal(res, path.join(dir, 'browser_field', 'b.js')); - t.end(); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/shadowed_core.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/shadowed_core.js deleted file mode 100644 index 98c52a760..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/shadowed_core.js +++ /dev/null @@ -1,38 +0,0 @@ -var test = require('tape'); -var resolve = require('../'); -var path = require('path'); - -test('shadowed core modules still return core module', function (t) { - t.plan(2); - - resolve('util', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) { - t.ifError(err); - t.equal(res, 'util'); - }); -}); - -test('shadowed core modules still return core module [sync]', function (t) { - t.plan(1); - - var res = resolve.sync('util', { basedir: path.join(__dirname, 'shadowed_core') }); - - t.equal(res, 'util'); -}); - -test('shadowed core modules return shadow when appending `/`', function (t) { - t.plan(2); - - resolve('util/', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) { - t.ifError(err); - t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js')); - }); -}); - -test('shadowed core modules return shadow when appending `/` [sync]', function (t) { - t.plan(1); - - var res = resolve.sync('util/', { basedir: path.join(__dirname, 'shadowed_core') }); - - t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js')); -}); - diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/shadowed_core/node_modules/util/index.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/shadowed_core/node_modules/util/index.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/subdirs.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/subdirs.js deleted file mode 100644 index b7b8450a9..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/subdirs.js +++ /dev/null @@ -1,13 +0,0 @@ -var test = require('tape'); -var resolve = require('../'); -var path = require('path'); - -test('subdirs', function (t) { - t.plan(2); - - var dir = path.join(__dirname, '/subdirs'); - resolve('a/b/c/x.json', { basedir: dir }, function (err, res) { - t.ifError(err); - t.equal(res, path.join(dir, 'node_modules/a/b/c/x.json')); - }); -}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/test/symlinks.js b/node_modules/eslint-plugin-import/node_modules/resolve/test/symlinks.js deleted file mode 100644 index 152d14ef2..000000000 --- a/node_modules/eslint-plugin-import/node_modules/resolve/test/symlinks.js +++ /dev/null @@ -1,173 +0,0 @@ -var path = require('path'); -var fs = require('fs'); -var test = require('tape'); -var map = require('array.prototype.map'); -var resolve = require('../'); - -var symlinkDir = path.join(__dirname, 'resolver', 'symlinked', 'symlink'); -var packageDir = path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'package'); -var modADir = path.join(__dirname, 'symlinks', 'source', 'node_modules', 'mod-a'); -var symlinkModADir = path.join(__dirname, 'symlinks', 'dest', 'node_modules', 'mod-a'); -try { - fs.unlinkSync(symlinkDir); -} catch (err) {} -try { - fs.unlinkSync(packageDir); -} catch (err) {} -try { - fs.unlinkSync(modADir); -} catch (err) {} -try { - fs.unlinkSync(symlinkModADir); -} catch (err) {} - -try { - fs.symlinkSync('./_/symlink_target', symlinkDir, 'dir'); -} catch (err) { - // if fails then it is probably on Windows and lets try to create a junction - fs.symlinkSync(path.join(__dirname, 'resolver', 'symlinked', '_', 'symlink_target') + '\\', symlinkDir, 'junction'); -} -try { - fs.symlinkSync('../../package', packageDir, 'dir'); -} catch (err) { - // if fails then it is probably on Windows and lets try to create a junction - fs.symlinkSync(path.join(__dirname, '..', '..', 'package') + '\\', packageDir, 'junction'); -} -try { - fs.symlinkSync('../../source/node_modules/mod-a', symlinkModADir, 'dir'); -} catch (err) { - // if fails then it is probably on Windows and lets try to create a junction - fs.symlinkSync(path.join(__dirname, '..', '..', 'source', 'node_modules', 'mod-a') + '\\', symlinkModADir, 'junction'); -} - -test('symlink', function (t) { - t.plan(2); - - resolve('foo', { basedir: symlinkDir, preserveSymlinks: false }, function (err, res, pkg) { - t.error(err); - t.equal(res, path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js')); - }); -}); - -test('sync symlink when preserveSymlinks = true', function (t) { - t.plan(4); - - resolve('foo', { basedir: symlinkDir }, function (err, res, pkg) { - t.ok(err, 'there is an error'); - t.notOk(res, 'no result'); - - t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve'); - t.equal( - err && err.message, - 'Cannot find module \'foo\' from \'' + symlinkDir + '\'', - 'can not find nonexistent module' - ); - }); -}); - -test('sync symlink', function (t) { - var start = new Date(); - t.doesNotThrow(function () { - t.equal(resolve.sync('foo', { basedir: symlinkDir, preserveSymlinks: false }), path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js')); - }); - t.ok(new Date() - start < 50, 'resolve.sync timedout'); - t.end(); -}); - -test('sync symlink when preserveSymlinks = true', function (t) { - t.throws(function () { - resolve.sync('foo', { basedir: symlinkDir }); - }, /Cannot find module 'foo'/); - t.end(); -}); - -test('sync symlink from node_modules to other dir when preserveSymlinks = false', function (t) { - var basedir = path.join(__dirname, 'resolver', 'symlinked', '_'); - var fn = resolve.sync('package', { basedir: basedir, preserveSymlinks: false }); - - t.equal(fn, path.resolve(__dirname, 'resolver/symlinked/package/bar.js')); - t.end(); -}); - -test('async symlink from node_modules to other dir when preserveSymlinks = false', function (t) { - t.plan(2); - var basedir = path.join(__dirname, 'resolver', 'symlinked', '_'); - resolve('package', { basedir: basedir, preserveSymlinks: false }, function (err, result) { - t.notOk(err, 'no error'); - t.equal(result, path.resolve(__dirname, 'resolver/symlinked/package/bar.js')); - }); -}); - -test('packageFilter', function (t) { - function relative(x) { - return path.relative(__dirname, x); - } - - function testPackageFilter(preserveSymlinks) { - return function (st) { - st.plan('is 1.x' ? 3 : 5); // eslint-disable-line no-constant-condition - - var destMain = 'symlinks/dest/node_modules/mod-a/index.js'; - var destPkg = 'symlinks/dest/node_modules/mod-a/package.json'; - var sourceMain = 'symlinks/source/node_modules/mod-a/index.js'; - var sourcePkg = 'symlinks/source/node_modules/mod-a/package.json'; - var destDir = path.join(__dirname, 'symlinks', 'dest'); - - /* eslint multiline-comment-style: 0 */ - /* v2.x will restore these tests - var packageFilterPath = []; - var actualPath = resolve.sync('mod-a', { - basedir: destDir, - preserveSymlinks: preserveSymlinks, - packageFilter: function (pkg, pkgfile, dir) { - packageFilterPath.push(pkgfile); - } - }); - st.equal( - relative(actualPath), - path.normalize(preserveSymlinks ? destMain : sourceMain), - 'sync: actual path is correct' - ); - st.deepEqual( - map(packageFilterPath, relative), - map(preserveSymlinks ? [destPkg, destPkg] : [sourcePkg, sourcePkg], path.normalize), - 'sync: packageFilter pkgfile arg is correct' - ); - */ - - var asyncPackageFilterPath = []; - resolve( - 'mod-a', - { - basedir: destDir, - preserveSymlinks: preserveSymlinks, - packageFilter: function (pkg, pkgfile) { - asyncPackageFilterPath.push(pkgfile); - } - }, - function (err, actualPath) { - st.error(err, 'no error'); - st.equal( - relative(actualPath), - path.normalize(preserveSymlinks ? destMain : sourceMain), - 'async: actual path is correct' - ); - st.deepEqual( - map(asyncPackageFilterPath, relative), - map( - preserveSymlinks ? [destPkg, destPkg, destPkg] : [sourcePkg, sourcePkg, sourcePkg], - path.normalize - ), - 'async: packageFilter pkgfile arg is correct' - ); - } - ); - }; - } - - t.test('preserveSymlinks: false', testPackageFilter(false)); - - t.test('preserveSymlinks: true', testPackageFilter(true)); - - t.end(); -}); diff --git a/node_modules/eslint-plugin-import/package.json b/node_modules/eslint-plugin-import/package.json index 4010e37a3..00fc54695 100644 --- a/node_modules/eslint-plugin-import/package.json +++ b/node_modules/eslint-plugin-import/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-import", - "version": "2.22.0", + "version": "2.23.4", "description": "Import with sanity.", "engines": { "node": ">=4" @@ -30,7 +30,8 @@ "test": "npm run tests-only", "test-compiled": "npm run prepublish && BABEL_ENV=testCompiled mocha --compilers js:babel-register tests/src", "test-all": "node --require babel-register ./scripts/testAll", - "prepublish": "not-in-publish || npm run build", + "prepublishOnly": "safe-publish-latest && npm run build", + "prepublish": "not-in-publish || npm run prepublishOnly", "coveralls": "nyc report --reporter lcovonly && coveralls < ./coverage/lcov.info" }, "repository": { @@ -56,30 +57,30 @@ "@eslint/import-test-order-redirect-scoped": "file:./tests/files/order-redirect-scoped", "@test-scope/some-module": "file:./tests/files/symlinked-module", "@typescript-eslint/parser": "^2.23.0 || ^3.3.0", - "array.prototype.flatmap": "^1.2.3", + "array.prototype.flatmap": "^1.2.4", "babel-cli": "^6.26.0", "babel-core": "^6.26.3", - "babel-eslint": "^8.2.6", + "babel-eslint": "=8.0.3 || ^8.2.6", "babel-plugin-istanbul": "^4.1.6", "babel-plugin-module-resolver": "^2.7.1", "babel-preset-es2015-argon": "latest", "babel-preset-flow": "^6.23.0", "babel-register": "^6.26.0", "babylon": "^6.18.0", - "chai": "^4.2.0", - "coveralls": "^3.0.6", + "chai": "^4.3.4", + "coveralls": "^3.1.0", "cross-env": "^4.0.0", "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint-import-resolver-node": "file:./resolvers/node", - "eslint-import-resolver-typescript": "^1.0.2", + "eslint-import-resolver-typescript": "^1.0.2 || ^1.1.1", "eslint-import-resolver-webpack": "file:./resolvers/webpack", "eslint-import-test-order-redirect": "file:./tests/files/order-redirect", "eslint-module-utils": "file:./utils", - "eslint-plugin-eslint-plugin": "^2.2.1", + "eslint-plugin-eslint-plugin": "^2.3.0", "eslint-plugin-import": "2.x", - "eslint-plugin-json": "^2.1.1", + "eslint-plugin-json": "^2.1.2", "fs-copy-file-sync": "^1.1.1", - "glob": "^7.1.6", + "glob": "^7.1.7", "in-publish": "^2.0.1", "linklocal": "^2.8.2", "lodash.isarray": "^4.0.0", @@ -88,38 +89,30 @@ "nyc": "^11.9.0", "redux": "^3.7.2", "rimraf": "^2.7.1", + "safe-publish-latest": "^1.1.4", "semver": "^6.3.0", "sinon": "^2.4.1", - "typescript": "~3.9.5", - "typescript-eslint-parser": "^22.0.0" + "typescript": "^2.8.1 || ~3.9.5", + "typescript-eslint-parser": "^15 || ^22.0.0" }, "peerDependencies": { "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" }, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.4.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", "tsconfig-paths": "^3.9.0" - }, - "nyc": { - "require": [ - "babel-register" - ], - "sourceMap": false, - "instrument": false, - "include": [ - "src/", - "resolvers/" - ] } } \ No newline at end of file diff --git a/node_modules/eslint-plugin-prettier/CHANGELOG.md b/node_modules/eslint-plugin-prettier/CHANGELOG.md index 3e32d3c07..d1f6652be 100644 --- a/node_modules/eslint-plugin-prettier/CHANGELOG.md +++ b/node_modules/eslint-plugin-prettier/CHANGELOG.md @@ -1,5 +1,36 @@ # Changelog +## v3.4.0 (2021-04-15) + +* feat: support processor virtual filename ([#401](git@github.com:prettier/eslint-plugin-prettier/issues/401)) ([ee0ccc6](git@github.com:prettier/eslint-plugin-prettier/commit/ee0ccc6ac06d13cd546e78b444e53164f59eb27f)) +* Simplify report logic ([#380](git@github.com:prettier/eslint-plugin-prettier/issues/380)) ([d993f24](git@github.com:prettier/eslint-plugin-prettier/commit/d993f247b5661683af031ab3b93955a0dfe448fa)) +* Update: README.md ([#375](git@github.com:prettier/eslint-plugin-prettier/issues/375)) ([3ea4242](git@github.com:prettier/eslint-plugin-prettier/commit/3ea4242a8d4acdb76eb7e7dca9e44d3e87db70e3)) + +## v3.3.1 (2021-01-04) + +* fix: add eslint-config-prettier as an optional peer dependency ([#374](git@github.com:prettier/eslint-plugin-prettier/issues/374)) ([d59df27](git@github.com:prettier/eslint-plugin-prettier/commit/d59df27890aaffec9e528ceb3155831a0261848d)) +* build(deps-dev): bump eslint from 7.16.0 to 7.17.0 ([b87985d](git@github.com:prettier/eslint-plugin-prettier/commit/b87985d8b1986743374b56691bcc1633df8f4eae)) +* build(deps-dev): bump eslint from 7.15.0 to 7.16.0 ([11e427e](git@github.com:prettier/eslint-plugin-prettier/commit/11e427e5d6cedeb26e3e03c8143be3496a24955a)) + +## v3.3.0 (2020-12-13) + +* Minor: Perf improvement: Do not clear the config cache on each run ([#368](git@github.com:prettier/eslint-plugin-prettier/issues/368)) ([1b90ea7](git@github.com:prettier/eslint-plugin-prettier/commit/1b90ea752636959babb27ebca5d67093c346dab9)) +* Add peerDependenciesMeta block ([#367](git@github.com:prettier/eslint-plugin-prettier/issues/367)) ([86608d5](git@github.com:prettier/eslint-plugin-prettier/commit/86608d5084692ab0d1f2f49a3df4909d04c39ae7)) +* build(deps-dev): bump eslint from 7.14.0 to 7.15.0 ([885f484](git@github.com:prettier/eslint-plugin-prettier/commit/885f48405e0fc9f312acdd3e3487c824bd59c102)) +* build(deps-dev): bump eslint from 7.3.1 to 7.14.0 ([cebc80b](git@github.com:prettier/eslint-plugin-prettier/commit/cebc80b39d3d09f957a73536e54f6d8dd4567080)) + +## v3.2.0 (2020-12-03) + +* Skip CI for eslint 6 + node 8 ([#364](git@github.com:prettier/eslint-plugin-prettier/issues/364)) ([f8f08e4](git@github.com:prettier/eslint-plugin-prettier/commit/f8f08e483522d74bc4dd93d9813914aa7ba9314b)) +* Turn off problematic rules in recommended config (prepare for next eslint-config-prettier version) ([#360](git@github.com:prettier/eslint-plugin-prettier/issues/360)) ([a1e5591](git@github.com:prettier/eslint-plugin-prettier/commit/a1e559112073eedfb0dd2041b9c2f6ef775844ec)) +* Create dependabot.yml ([f58b6c7](git@github.com:prettier/eslint-plugin-prettier/commit/f58b6c7c356a37b437593cd6ff8d1dca1c437b13)) +* docs(README): fix prettier getFileInfo link ([#335](git@github.com:prettier/eslint-plugin-prettier/issues/335)) ([5a690f1](git@github.com:prettier/eslint-plugin-prettier/commit/5a690f14d793ba5a08c55287fa3d6338dcda21ba)) +* build(deps-dev): bump eslint-plugin-eslint-plugin from 2.2.2 to 2.3.0 ([8614c45](git@github.com:prettier/eslint-plugin-prettier/commit/8614c458ed284bc126034d432b49b07d7d67ef06)) +* build(deps-dev): bump eslint from 7.3.0 to 7.3.1 ([12d9ed8](git@github.com:prettier/eslint-plugin-prettier/commit/12d9ed877aacfad2c27f01161cc2eb28a445725f)) +* build(deps-dev): bump eslint from 7.2.0 to 7.3.0 ([5a6f42e](git@github.com:prettier/eslint-plugin-prettier/commit/5a6f42e4eda871a294da1eb55f214c475450faa6)) +* chore: update CI badge in readme ([5012b66](git@github.com:prettier/eslint-plugin-prettier/commit/5012b665f981edbc21feaaccb3cd297f49ca40d3)) +* Use Github Actions for CI ([#305](git@github.com:prettier/eslint-plugin-prettier/issues/305)) ([41eb64f](git@github.com:prettier/eslint-plugin-prettier/commit/41eb64fda33663ed1c43a85218f390c6cd4b6191)) + ## v3.1.4 (2020-06-14) * Avoid clearing Prettier cache when not using prettierrc ([#303](git@github.com:prettier/eslint-plugin-prettier/issues/303)) ([3c8e2d9](git@github.com:prettier/eslint-plugin-prettier/commit/3c8e2d9871d86a82b10fe3d54f32bb5a54f2913b)) diff --git a/node_modules/eslint-plugin-prettier/README.md b/node_modules/eslint-plugin-prettier/README.md index 2ebde9bdf..d6f2e28c6 100644 --- a/node_modules/eslint-plugin-prettier/README.md +++ b/node_modules/eslint-plugin-prettier/README.md @@ -1,7 +1,11 @@ -# eslint-plugin-prettier [![Build Status](https://travis-ci.org/prettier/eslint-plugin-prettier.svg?branch=master)](https://travis-ci.org/prettier/eslint-plugin-prettier) +# eslint-plugin-prettier [![Build Status](https://github.com/prettier/eslint-plugin-prettier/workflows/CI/badge.svg?branch=master)](https://github.com/prettier/eslint-plugin-prettier/actions?query=workflow%3ACI+branch%3Amaster) Runs [Prettier](https://github.com/prettier/prettier) as an [ESLint](http://eslint.org) rule and reports differences as individual ESLint issues. +If your desired formatting does not match Prettier’s output, you should use a different tool such as [prettier-eslint](https://github.com/prettier/prettier-eslint) instead. + +Please read [Integrating with linters](https://prettier.io/docs/en/integrating-with-linters.html) before installing. + ## Sample ```js @@ -52,11 +56,9 @@ Then, in your `.eslintrc.json`: ## Recommended Configuration -This plugin works best if you disable all other ESLint rules relating to code formatting, and only enable rules that detect patterns in the AST. (If another active ESLint rule disagrees with `prettier` about how code should be formatted, it will be impossible to avoid lint errors.) You can use [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to disable all formatting-related ESLint rules. +This plugin works best if you disable all other ESLint rules relating to code formatting, and only enable rules that detect potential bugs. (If another active ESLint rule disagrees with `prettier` about how code should be formatted, it will be impossible to avoid lint errors.) You can use [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to disable all formatting-related ESLint rules. -If your desired formatting does not match the `prettier` output, you should use a different tool such as [prettier-eslint](https://github.com/prettier/prettier-eslint) instead. - -To integrate this plugin with `eslint-config-prettier`, you can use the `"recommended"` configuration: +This plugin ships with a `plugin:prettier/recommended` config that sets up both the plugin and `eslint-config-prettier` in one go. 1. In addition to the above installation instructions, install `eslint-config-prettier`: @@ -64,7 +66,7 @@ To integrate this plugin with `eslint-config-prettier`, you can use the `"recomm npm install --save-dev eslint-config-prettier ``` -2. Then you need to add `plugin:prettier/recommended` as the last extension in your `.eslintrc.json`: +2. Then you need to add `plugin:prettier/recommended` as the _last_ extension in your `.eslintrc.json`: ```json { @@ -72,28 +74,36 @@ To integrate this plugin with `eslint-config-prettier`, you can use the `"recomm } ``` -This does three things: + You can then set Prettier's own options inside a `.prettierrc` file. -- Enables `eslint-plugin-prettier`. -- Sets the `prettier/prettier` rule to `"error"`. -- Extends the `eslint-config-prettier` configuration. - -You can then set Prettier's own options inside a `.prettierrc` file. - -3. In order to support special ESLint plugins (e.g. [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react)), add extra exclusions for the plugins you use like so: +Exactly what does `plugin:prettier/recommended` do? Well, this is what it expands to: ```json { - "extends": [ - "plugin:prettier/recommended", - "prettier/flowtype", - "prettier/react", - "prettier/standard" - ] + "extends": ["prettier"], + "plugins": ["prettier"], + "rules": { + "prettier/prettier": "error", + "arrow-body-style": "off", + "prefer-arrow-callback": "off" + } } ``` -For the list of every available exclusion rule set, please see the [readme of eslint-config-prettier](https://github.com/prettier/eslint-config-prettier/blob/master/README.md). +- `"extends": ["prettier"]` enables the config from `eslint-config-prettier`, which turns off some ESLint rules that conflict with Prettier. +- `"plugins": ["prettier"]` registers this plugin. +- `"prettier/prettier": "error"` turns on the rule provided by this plugin, which runs Prettier from within ESLint. +- `"arrow-body-style": "off"` and `"prefer-arrow-callback": "off"` turns off two ESLint core rules that unfortunately are problematic with this plugin – see the next section. + +## `arrow-body-style` and `prefer-arrow-callback` issue + +If you use [arrow-body-style](https://eslint.org/docs/rules/arrow-body-style) or [prefer-arrow-callback](https://eslint.org/docs/rules/prefer-arrow-callback) together with the `prettier/prettier` rule from this plugin, you can in some cases end up with invalid code due to a bug in ESLint’s autofix – see [issue #65](https://github.com/prettier/eslint-plugin-prettier/issues/65). + +For this reason, it’s recommended to turn off these rules. The `plugin:prettier/recommended` config does that for you. + +You _can_ still use these rules together with this plugin if you want, because the bug does not occur _all the time._ But if you do, you need to keep in mind that you might end up with invalid code, where you manually have to insert a missing closing parenthesis to get going again. + +If you’re fixing large of amounts of previously unformatted code, consider temporarily disabling the `prettier/prettier` rule and running `eslint --fix` and `prettier --write` separately. ## Options @@ -121,7 +131,7 @@ For the list of every available exclusion rule set, please see the [readme of es }] ``` - - `fileInfoOptions`: Options that are passed to [prettier.getFileInfo](https://prettier.io/docs/en/api.html#prettiergetfileinfofilepath-options) to decide whether a file needs to be formatted. Can be used for example to opt-out from ignoring files located in `node_modules` directories. + - `fileInfoOptions`: Options that are passed to [prettier.getFileInfo](https://prettier.io/docs/en/api.html#prettiergetfileinfofilepath--options) to decide whether a file needs to be formatted. Can be used for example to opt-out from ignoring files located in `node_modules` directories. ```json "prettier/prettier": ["error", {}, { diff --git a/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js b/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js index 4735e8fc7..3f050f078 100644 --- a/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +++ b/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js @@ -9,6 +9,9 @@ // Requirements // ------------------------------------------------------------------------------ +const fs = require('fs'); +const path = require('path'); + const { showInvisibles, generateDifferences @@ -25,6 +28,9 @@ const { INSERT, DELETE, REPLACE } = generateDifferences; // ------------------------------------------------------------------------------ // Lazily-loaded Prettier. +/** + * @type {import('prettier')} + */ let prettier; // ------------------------------------------------------------------------------ @@ -32,74 +38,51 @@ let prettier; // ------------------------------------------------------------------------------ /** - * Reports an "Insert ..." issue where text must be inserted. - * @param {RuleContext} context - The ESLint rule context. - * @param {number} offset - The source offset where to insert text. - * @param {string} text - The text to be inserted. + * Reports a difference. + * @param {import('eslint').Rule.RuleContext} context - The ESLint rule context. + * @param {import('prettier-linter-helpers').Difference} difference - The difference object. * @returns {void} */ -function reportInsert(context, offset, text) { - const pos = context.getSourceCode().getLocFromIndex(offset); - const range = [offset, offset]; - context.report({ - message: 'Insert `{{ code }}`', - data: { code: showInvisibles(text) }, - loc: { start: pos, end: pos }, - fix(fixer) { - return fixer.insertTextAfterRange(range, text); - } - }); -} - -/** - * Reports a "Delete ..." issue where text must be deleted. - * @param {RuleContext} context - The ESLint rule context. - * @param {number} offset - The source offset where to delete text. - * @param {string} text - The text to be deleted. - * @returns {void} - */ -function reportDelete(context, offset, text) { - const start = context.getSourceCode().getLocFromIndex(offset); - const end = context.getSourceCode().getLocFromIndex(offset + text.length); - const range = [offset, offset + text.length]; - context.report({ - message: 'Delete `{{ code }}`', - data: { code: showInvisibles(text) }, - loc: { start, end }, - fix(fixer) { - return fixer.removeRange(range); - } - }); -} - -/** - * Reports a "Replace ... with ..." issue where text must be replaced. - * @param {RuleContext} context - The ESLint rule context. - * @param {number} offset - The source offset where to replace deleted text - with inserted text. - * @param {string} deleteText - The text to be deleted. - * @param {string} insertText - The text to be inserted. - * @returns {void} - */ -function reportReplace(context, offset, deleteText, insertText) { - const start = context.getSourceCode().getLocFromIndex(offset); - const end = context - .getSourceCode() - .getLocFromIndex(offset + deleteText.length); +function reportDifference(context, difference) { + const { operation, offset, deleteText = '', insertText = '' } = difference; const range = [offset, offset + deleteText.length]; + const [start, end] = range.map(index => + context.getSourceCode().getLocFromIndex(index) + ); + context.report({ - message: 'Replace `{{ deleteCode }}` with `{{ insertCode }}`', + messageId: operation, data: { - deleteCode: showInvisibles(deleteText), - insertCode: showInvisibles(insertText) + deleteText: showInvisibles(deleteText), + insertText: showInvisibles(insertText) }, loc: { start, end }, - fix(fixer) { - return fixer.replaceTextRange(range, insertText); - } + fix: fixer => fixer.replaceTextRange(range, insertText) }); } +/** + * Given a filepath, get the nearest path that is a regular file. + * The filepath provided by eslint may be a virtual filepath rather than a file + * on disk. This attempts to transform a virtual path into an on-disk path + * @param {string} filepath + * @returns {string} + */ +function getOnDiskFilepath(filepath) { + try { + if (fs.statSync(filepath).isFile()) { + return filepath; + } + } catch (err) { + // https://github.com/eslint/eslint/issues/11989 + if (err.code === 'ENOTDIR') { + return getOnDiskFilepath(path.dirname(filepath)); + } + } + + return filepath; +} + // ------------------------------------------------------------------------------ // Module Definition // ------------------------------------------------------------------------------ @@ -110,7 +93,9 @@ module.exports = { extends: ['prettier'], plugins: ['prettier'], rules: { - 'prettier/prettier': 'error' + 'prettier/prettier': 'error', + 'arrow-body-style': 'off', + 'prefer-arrow-callback': 'off' } } }, @@ -141,7 +126,12 @@ module.exports = { }, additionalProperties: true } - ] + ], + messages: { + [INSERT]: 'Insert `{{ insertText }}`', + [DELETE]: 'Delete `{{ deleteText }}`', + [REPLACE]: 'Replace `{{ deleteText }}` with `{{ insertText }}`' + } }, create(context) { const usePrettierrc = @@ -150,17 +140,16 @@ module.exports = { (context.options[1] && context.options[1].fileInfoOptions) || {}; const sourceCode = context.getSourceCode(); const filepath = context.getFilename(); + // Processors that extract content from a file, such as the markdown + // plugin extracting fenced code blocks may choose to specify virtual + // file paths. If this is the case then we need to resolve prettier + // config and file info using the on-disk path instead of the virtual + // path. + // See https://github.com/eslint/eslint/issues/11989 for ideas around + // being able to get this value directly from eslint in the future. + const onDiskFilepath = getOnDiskFilepath(filepath); const source = sourceCode.text; - // This allows long-running ESLint processes (e.g. vscode-eslint) to - // pick up changes to .prettierrc without restarting the editor. This - // will invalidate the prettier plugin cache on every file as well which - // will make ESLint very slow, so it would probably be a good idea to - // find a better way to do this. - if (usePrettierrc && prettier && prettier.clearConfigCache) { - prettier.clearConfigCache(); - } - return { Program() { if (!prettier) { @@ -171,13 +160,13 @@ module.exports = { const eslintPrettierOptions = context.options[0] || {}; const prettierRcOptions = usePrettierrc - ? prettier.resolveConfig.sync(filepath, { + ? prettier.resolveConfig.sync(onDiskFilepath, { editorconfig: true }) : null; const prettierFileInfo = prettier.getFileInfo.sync( - filepath, + onDiskFilepath, Object.assign( {}, { resolveConfig: true, ignorePath: '.prettierignore' }, @@ -192,7 +181,7 @@ module.exports = { const initialOptions = {}; - // ESLint suppports processors that let you extract and lint JS + // ESLint supports processors that let you extract and lint JS // fragments within a non-JS language. In the cases where prettier // supports the same language as a processor, we want to process // the provided source code as javascript (as ESLint provides the @@ -200,9 +189,14 @@ module.exports = { // based off the filename. Otherwise, for instance, on a .md file we // end up trying to run prettier over a fragment of JS using the // markdown parser, which throws an error. - // If we can't infer the parser from from the filename, either - // because no filename was provided or because there is no parser - // found for the filename, use javascript. + // Processors may set virtual filenames for these extracted blocks. + // If they do so then we want to trust the file extension they + // provide, and no override is needed. + // If the processor does not set any virtual filename (signified by + // `filepath` and `onDiskFilepath` being equal) AND we can't + // infer the parser from the filename, either because no filename + // was provided or because there is no parser found for the + // filename, use javascript. // This is added to the options first, so that // prettierRcOptions and eslintPrettierOptions can still override // the parser. @@ -214,6 +208,7 @@ module.exports = { // from the file type. const parserBlocklist = [null, 'graphql', 'markdown', 'html']; if ( + filepath === onDiskFilepath && parserBlocklist.indexOf(prettierFileInfo.inferredParser) !== -1 ) { // Prettier v1.16.0 renamed the `babylon` parser to `babel` @@ -234,7 +229,7 @@ module.exports = { ); // prettier.format() may throw a SyntaxError if it cannot parse the - // source code it is given. Ususally for JS files this isn't a + // source code it is given. Usually for JS files this isn't a // problem as ESLint will report invalid syntax before trying to // pass it to the prettier plugin. However this might be a problem // for non-JS languages that are handled by a plugin. Notably Vue @@ -252,7 +247,7 @@ module.exports = { let message = 'Parsing error: ' + err.message; // Prettier's message contains a codeframe style preview of the - // invalid code and the line/column at which the error occured. + // invalid code and the line/column at which the error occurred. // ESLint shows those pieces of information elsewhere already so // remove them from the message if (err.codeFrame) { @@ -270,32 +265,9 @@ module.exports = { if (source !== prettierSource) { const differences = generateDifferences(source, prettierSource); - differences.forEach(difference => { - switch (difference.operation) { - case INSERT: - reportInsert( - context, - difference.offset, - difference.insertText - ); - break; - case DELETE: - reportDelete( - context, - difference.offset, - difference.deleteText - ); - break; - case REPLACE: - reportReplace( - context, - difference.offset, - difference.deleteText, - difference.insertText - ); - break; - } - }); + for (const difference of differences) { + reportDifference(context, difference); + } } } }; diff --git a/node_modules/eslint-plugin-prettier/package.json b/node_modules/eslint-plugin-prettier/package.json index 5b42531a7..1f2c8546f 100644 --- a/node_modules/eslint-plugin-prettier/package.json +++ b/node_modules/eslint-plugin-prettier/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-prettier", - "version": "3.1.4", + "version": "3.4.0", "description": "Runs prettier as an eslint rule", "keywords": [ "eslint", @@ -46,6 +46,11 @@ "prettier": "^1.15.3", "vue-eslint-parser": "^6.0.0" }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + }, "engines": { "node": ">=6.0.0" }, diff --git a/node_modules/eslint/CHANGELOG.md b/node_modules/eslint/CHANGELOG.md index 289852651..bd7fb6b5e 100644 --- a/node_modules/eslint/CHANGELOG.md +++ b/node_modules/eslint/CHANGELOG.md @@ -1,3 +1,339 @@ +v7.31.0 - July 17, 2021 + +* [`efdbb12`](https://github.com/eslint/eslint/commit/efdbb1227019427ec2d968a8d6e9151dd8a77c35) Upgrade: @eslint/eslintrc to v0.4.3 (#14808) (Brandon Mills) +* [`a96b05f`](https://github.com/eslint/eslint/commit/a96b05f6c5649cfee112d605c91d95aa191e2f78) Update: add end location to report in `consistent-return` (refs #12334) (#14798) (Nitin Kumar) +* [`e0e8e30`](https://github.com/eslint/eslint/commit/e0e8e308929c9c66612505f2da89043f8592eea7) Docs: update BUG_REPORT template (#14787) (Nitin Kumar) +* [`39115c8`](https://github.com/eslint/eslint/commit/39115c8b71d2629161359f6456f47fdbd552fddd) Docs: provide more context to no-eq-null (#14801) (gfyoung) +* [`9a3c73c`](https://github.com/eslint/eslint/commit/9a3c73c130d437a65f4edba0dcb63390e68cac41) Docs: fix a broken link (#14790) (Sam Chen) +* [`ddffa8a`](https://github.com/eslint/eslint/commit/ddffa8ad58b4b124b08061e9045fdb5370cbdbe3) Update: Indicating the operator in question (#14764) (Paul Smith) +* [`bba714c`](https://github.com/eslint/eslint/commit/bba714c2ed813821ed288fbc07722cdde6e534fe) Update: Clarifying what changes need to be made in no-mixed-operators (#14765) (Paul Smith) +* [`b0d22e3`](https://github.com/eslint/eslint/commit/b0d22e3eff18ea7f08189134c07cddceaec69a09) Docs: Mention benefit of providing `meta.docs.url` (#14774) (Bryan Mishkin) +* [`000cc79`](https://github.com/eslint/eslint/commit/000cc796fd487e7b9ba8bcc5857dd691044479cc) Sponsors: Sync README with website (ESLint Jenkins) +* [`a6a7438`](https://github.com/eslint/eslint/commit/a6a7438502abc6a1e29ec35cfbe2058ffc0803b1) Chore: pin fs-teardown@0.1.1 (#14771) (Milos Djermanovic) + +v7.30.0 - July 2, 2021 + +* [`5f74642`](https://github.com/eslint/eslint/commit/5f746420700d457b92dd86659de588d272937b79) Chore: don't check Program.start in SourceCode#getComments (refs #14744) (#14748) (Milos Djermanovic) +* [`19a871a`](https://github.com/eslint/eslint/commit/19a871a35ae9997ce352624b1081c96c54b73a9f) Docs: Suggest linting plugins for ESLint plugin developers (#14754) (Bryan Mishkin) +* [`aa87329`](https://github.com/eslint/eslint/commit/aa87329d919f569404ca573b439934552006572f) Docs: fix broken links (#14756) (Sam Chen) +* [`278813a`](https://github.com/eslint/eslint/commit/278813a6e759f6b5512ac64c7530c9c51732e692) Docs: fix and add more examples for new-cap rule (fixes #12874) (#14725) (Nitin Kumar) +* [`ed1da5d`](https://github.com/eslint/eslint/commit/ed1da5d96af2587b7211854e45cf8657ef808710) Update: ecmaVersion allows "latest" (#14720) (薛定谔的猫) +* [`104c0b5`](https://github.com/eslint/eslint/commit/104c0b592f203d315a108d311c58375357e40b24) Update: improve use-isnan rule to detect `Number.NaN` (fixes #14715) (#14718) (Nitin Kumar) +* [`b08170b`](https://github.com/eslint/eslint/commit/b08170b92beb22db6ec612ebdfff930f9e0582ab) Update: Implement FlatConfigArray (refs #13481) (#14321) (Nicholas C. Zakas) +* [`f113cdd`](https://github.com/eslint/eslint/commit/f113cdd872257d72bbd66d95e4eaf13623323b24) Chore: upgrade eslint-plugin-eslint-plugin (#14738) (薛定谔的猫) +* [`1b8997a`](https://github.com/eslint/eslint/commit/1b8997ab63781f4ebf87e3269400b2ef4c7d2973) Docs: Fix getRulesMetaForResults link syntax (#14723) (Brandon Mills) +* [`aada733`](https://github.com/eslint/eslint/commit/aada733d2aee830aa32cccb9828cd72db4ccd6bd) Docs: fix two broken links (#14726) (Sam Chen) +* [`8972529`](https://github.com/eslint/eslint/commit/8972529f82d13bd04059ee8852b4ebb9b5350962) Docs: Update README team and sponsors (ESLint Jenkins) + +v7.29.0 - June 18, 2021 + +* [`bfbfe5c`](https://github.com/eslint/eslint/commit/bfbfe5c1fd4c39a06d5e159dbe48479ca4305fc0) New: Add only to RuleTester (refs eslint/rfcs#73) (#14677) (Brandon Mills) +* [`c2cd7b4`](https://github.com/eslint/eslint/commit/c2cd7b4a18057ca6067bdfc16de771dc5d90c0ea) New: Add ESLint#getRulesMetaForResults() (refs #13654) (#14716) (Nicholas C. Zakas) +* [`eea7e0d`](https://github.com/eslint/eslint/commit/eea7e0d09d6ef43d6663cbe424e7974764a5f7fe) Chore: remove duplicate code (#14719) (Nitin Kumar) +* [`6a1c7a0`](https://github.com/eslint/eslint/commit/6a1c7a0dac050ea5876972c50563a7eb867b38d3) Fix: allow fallthrough comment inside block (fixes #14701) (#14702) (Kevin Gibbons) +* [`a47e5e3`](https://github.com/eslint/eslint/commit/a47e5e30b0da364593b6881f6826c595da8696f5) Docs: Add Mega-Linter to the list of integrations (#14707) (Nicolas Vuillamy) +* [`353ddf9`](https://github.com/eslint/eslint/commit/353ddf965078030794419b089994373e27ffc86e) Chore: enable reportUnusedDisableDirectives in eslint-config-eslint (#14699) (薛定谔的猫) +* [`757c495`](https://github.com/eslint/eslint/commit/757c49584a5852c468c1b4a0b74ad3aa39d954e5) Chore: add some rules to eslint-config-eslint (#14692) (薛定谔的猫) +* [`c93a222`](https://github.com/eslint/eslint/commit/c93a222563177a9b5bc7a59aa106bc0a6d31e063) Docs: fix a broken link (#14697) (Sam Chen) +* [`655c118`](https://github.com/eslint/eslint/commit/655c1187fc845bac61ae8d06c556f1a59ee2071b) Sponsors: Sync README with website (ESLint Jenkins) +* [`e2bed2e`](https://github.com/eslint/eslint/commit/e2bed2ead22b575d55ccaeed94eecd3a979dd871) Sponsors: Sync README with website (ESLint Jenkins) +* [`8490fb4`](https://github.com/eslint/eslint/commit/8490fb42e559ef0b3c34ac60be4e05e0d879a9cb) Sponsors: Sync README with website (ESLint Jenkins) +* [`ddbe877`](https://github.com/eslint/eslint/commit/ddbe877c95224e127215d35562a175c6f2b7ba22) Sponsors: Sync README with website (ESLint Jenkins) + +v7.28.0 - June 4, 2021 + +* [`1237705`](https://github.com/eslint/eslint/commit/1237705dd08c209c5e3136045ec51a4ba87a3abe) Upgrade: @eslint/eslintrc to 0.4.2 (#14672) (Milos Djermanovic) +* [`123fb86`](https://github.com/eslint/eslint/commit/123fb8648731c2c23313c544ffa1872d3024fe68) Docs: Add Feedback Needed triage description (#14670) (Nicholas C. Zakas) +* [`c545163`](https://github.com/eslint/eslint/commit/c5451635b4e89827cfc8d8d77083647c74506e42) Update: support multiline /*eslint-env*/ directives (fixes #14652) (#14660) (薛定谔的猫) +* [`8d1e75a`](https://github.com/eslint/eslint/commit/8d1e75a31b3e3d67130709a219bdd07ce6f3cf74) Upgrade: glob-parent version in package.json (#14658) (Hamza Najeeb) +* [`1f048cb`](https://github.com/eslint/eslint/commit/1f048cb0eec660d2052f1758f4b2ad7b1cb424e1) Fix: no-implicit-coercion false positive with `String()` (fixes #14623) (#14641) (Milos Djermanovic) +* [`d709abf`](https://github.com/eslint/eslint/commit/d709abfdde087325d4578b6709dc61040b8ca9d8) Chore: fix comment location in no-unused-vars (#14648) (Milos Djermanovic) +* [`e44ce0a`](https://github.com/eslint/eslint/commit/e44ce0a8acfaad513c385150c25e76e82a1b8f12) Fix: no-duplicate-imports allow unmergeable (fixes #12758, fixes #12760) (#14238) (Soufiane Boutahlil) +* [`bb66a3d`](https://github.com/eslint/eslint/commit/bb66a3d91af426dac9a7ffdbe47bdbbc0ffd4dd7) New: add `getPhysicalFilename()` method to rule context (fixes #11989) (#14616) (Nitin Kumar) +* [`2e43dac`](https://github.com/eslint/eslint/commit/2e43dacd24337a82d4184fac9b44d497675f46ef) Docs: fix `no-sequences` example (#14643) (Nitin Kumar) +* [`958ff4e`](https://github.com/eslint/eslint/commit/958ff4e8a5102f204f1484d09985e28a79790996) Docs: add note for arrow functions in no-seq rule (#14578) (Nitin Kumar) +* [`e4f111b`](https://github.com/eslint/eslint/commit/e4f111b67d114adbf76a9c9dbb18fa4f49bc91b6) Fix: arrow-body-style crash with object pattern (fixes #14633) (#14635) (Milos Djermanovic) +* [`ec28b5a`](https://github.com/eslint/eslint/commit/ec28b5a2bdc69f34ce29d670f5e84d2446774a00) Chore: upgrade eslint-plugin-eslint-plugin (#14590) (薛定谔的猫) +* [`85a2725`](https://github.com/eslint/eslint/commit/85a2725b1fade5538e727102d9701ccb503e54d4) Docs: Update README team and sponsors (ESLint Jenkins) + +v7.27.0 - May 21, 2021 + +* [`2c0868c`](https://github.com/eslint/eslint/commit/2c0868cbeadc9f42716fa1178ebdc6b4cee6d31e) Chore: merge all html formatter files into `html.js` (#14612) (Milos Djermanovic) +* [`9e9b5e0`](https://github.com/eslint/eslint/commit/9e9b5e07475564813b62cd1d7562a93c5fb4bc74) Update: no-unused-vars false negative with comma operator (fixes #14325) (#14354) (Nitin Kumar) +* [`afe9569`](https://github.com/eslint/eslint/commit/afe95693e1e4316a1c6f01d39345061d4c5921c7) Chore: use includes instead of indexOf (#14607) (Mikhail Bodrov) +* [`c0f418e`](https://github.com/eslint/eslint/commit/c0f418e2476df98519bc156b81d20431984e8704) Chore: Remove lodash (#14287) (Stephen Wade) +* [`52655dd`](https://github.com/eslint/eslint/commit/52655dd54925ee02af2ba3a0ebc09de959ae3101) Update: no-restricted-imports custom message for patterns (fixes #11843) (#14580) (Alex Holden) +* [`967b1c4`](https://github.com/eslint/eslint/commit/967b1c4ceca8f5248378477da94ff118dafaa647) Chore: Fix typo in large.js (#14589) (Ikko Ashimine) +* [`2466a05`](https://github.com/eslint/eslint/commit/2466a05160de60958457d984b79fd445c12ebc98) Sponsors: Sync README with website (ESLint Jenkins) +* [`fe29f18`](https://github.com/eslint/eslint/commit/fe29f18227fd02fd7c3da033417d621275b00d0a) Sponsors: Sync README with website (ESLint Jenkins) +* [`086c1d6`](https://github.com/eslint/eslint/commit/086c1d6e8593cf8e7851daa8f2a890c213cf6999) Chore: add more test cases for `no-sequences` (#14579) (Nitin Kumar) +* [`6a2ced8`](https://github.com/eslint/eslint/commit/6a2ced892c0dc43fa4942293b9f1c4b9151c3741) Docs: Update README team and sponsors (ESLint Jenkins) + +v7.26.0 - May 7, 2021 + +* [`aaf65e6`](https://github.com/eslint/eslint/commit/aaf65e629adb74401092c3ccc9cb4e4bd1c8609b) Upgrade: eslintrc for ModuleResolver fix (#14577) (Brandon Mills) +* [`ae6dbd1`](https://github.com/eslint/eslint/commit/ae6dbd148aaca83e4bd04b9351b54029c50fac8a) Fix: track variables, not names in require-atomic-updates (fixes #14208) (#14282) (Patrick Ahmetovic) +* [`6a86e50`](https://github.com/eslint/eslint/commit/6a86e5018a3733049c09261bcabae422fbea893d) Chore: remove loose-parser tests (fixes #14315) (#14569) (Milos Djermanovic) +* [`ee3a3ea`](https://github.com/eslint/eslint/commit/ee3a3ead893d185cc4b1ae9041940cb0968767e1) Fix: create `.eslintrc.cjs` for `module` type (#14304) (Nitin Kumar) +* [`6791dec`](https://github.com/eslint/eslint/commit/6791decfc58b7b09cfd0aabd15a3d14148aae073) Docs: fix example for require-atomic-updates (#14562) (Milos Djermanovic) +* [`388eb7e`](https://github.com/eslint/eslint/commit/388eb7e14039b8951462b311d6121002ca5232cb) Sponsors: Sync README with website (ESLint Jenkins) +* [`f071d1e`](https://github.com/eslint/eslint/commit/f071d1ef91286bf2e3fb63d9b679ff7702819a1e) Update: Add automated suggestion to `radix` rule for parsing decimals (#14291) (Bryan Mishkin) +* [`0b6a3f3`](https://github.com/eslint/eslint/commit/0b6a3f31e6e78825114f82d4e0aed9cd72f784ac) New: Include XO style guide in `eslint --init` (#14193) (Federico Brigante) + +v7.25.0 - April 23, 2021 + +* [`5df5e4a`](https://github.com/eslint/eslint/commit/5df5e4a9976964fcf4dc67e241d4e22ec1370fe0) Update: highlight last write reference for no-unused-vars (fixes #14324) (#14335) (Nitin Kumar) +* [`0023872`](https://github.com/eslint/eslint/commit/00238729329b86b4f8af89ebfe278da3095a6075) Docs: Add deprecated note to `working-with-rules-deprecated` page (#14344) (Michael Novotny) +* [`36fca70`](https://github.com/eslint/eslint/commit/36fca70fa29ab65080076810de98e09133254b8a) Chore: Upgrade eslump to 3.0.0 (#14350) (Stephen Wade) +* [`59b689a`](https://github.com/eslint/eslint/commit/59b689a0b3fa658b8380431007cc1facb4617a3b) Chore: add node v16 (#14355) (薛定谔的猫) +* [`35a1f5e`](https://github.com/eslint/eslint/commit/35a1f5e967e4e87360d3e70d3fca0f7adeeaa1d7) Sponsors: Sync README with website (ESLint Jenkins) +* [`fb0a92b`](https://github.com/eslint/eslint/commit/fb0a92b3d2fed4a17bc39b7f02c540cd1175ec7d) Chore: rename misspelled identifier in test (#14346) (Tobias Nießen) +* [`f2babb1`](https://github.com/eslint/eslint/commit/f2babb1069194166e0ac1afd1269bbd06ac299b6) Docs: update pull request template (#14336) (Nitin Kumar) +* [`02dde29`](https://github.com/eslint/eslint/commit/02dde29eeb523ca24bc4ae7797d38627c3ba9fe9) Docs: Fix anchor in 'docs/developer-guide/working-with-rules.md' (#14332) (Nate-Wilkins) +* [`07d14c3`](https://github.com/eslint/eslint/commit/07d14c304c358fbc9c3d318e1377d2b2bda9179f) Chore: remove extraneous command from lint-staged config (#14314) (James George) +* [`41b3570`](https://github.com/eslint/eslint/commit/41b3570b6c014c534bb3208ed00050fd99842101) Update: lint code block with same extension but different content (#14227) (JounQin) +* [`eb29996`](https://github.com/eslint/eslint/commit/eb299966bdc3920dd2c6f9774d95103d242fc409) Docs: add more examples with arrow functions for no-sequences rule (#14313) (Nitin Kumar) + +v7.24.0 - April 9, 2021 + +* [`0c346c8`](https://github.com/eslint/eslint/commit/0c346c87fa83c6d1184fdafb9c0748c2e15a423d) Chore: ignore `pnpm-lock.yaml` (#14303) (Nitin Kumar) +* [`f06ecdf`](https://github.com/eslint/eslint/commit/f06ecdf78b6d6f366434d73a6acfe7041d575223) Update: Add disallowTemplateShorthand option in no-implicit-coercion (#13579) (Remco Haszing) +* [`71a80e3`](https://github.com/eslint/eslint/commit/71a80e38aab2dada01b808ed43d9b0e806d863c4) Docs: fix broken links in Node.js API docs toc (#14296) (u-sho (Shouhei Uechi)) +* [`bd46dc4`](https://github.com/eslint/eslint/commit/bd46dc4647faa4c3bbb5f60d4c00616a64081398) Docs: Fix incorrect reference to "braces" in arrow-parens (#14300) (emclain) +* [`0d6235e`](https://github.com/eslint/eslint/commit/0d6235ea201b8b90761ee69bb4d46ae18899c28d) Docs: update header in max-lines (#14273) (Shinigami) +* [`70c9216`](https://github.com/eslint/eslint/commit/70c92164017238e329e3a2d1654a0227b8f953f7) Docs: Update issue triage to include blocked column (#14275) (Nicholas C. Zakas) +* [`abca186`](https://github.com/eslint/eslint/commit/abca186a845200fd7728c4e5f220973e640054f9) Docs: Fix typo in suggestions section (#14293) (Kevin Partington) +* [`c4d8b0d`](https://github.com/eslint/eslint/commit/c4d8b0db62b859e721105d4bc0f4044ce346995e) Fix: no-unused-vars ignoreRestSiblings check assignments (fixes #14163) (#14264) (YeonJuan) +* [`b51d077`](https://github.com/eslint/eslint/commit/b51d0778d76c2aa27578caca3ea82c867dced3e4) Update: add ignoreNonDeclaration to no-multi-assign rule (fixes #12545) (#14185) (t-mangoe) +* [`c981fb1`](https://github.com/eslint/eslint/commit/c981fb1994cd04914042ced1980aa86b68ba7be9) Chore: Upgrade mocha to 8.3.2 (#14278) (Stephen Wade) +* [`147fc04`](https://github.com/eslint/eslint/commit/147fc045e699811fab33dddf77498324ddf7e9d6) Docs: Fix `repro:needed` label in bug report template (#14285) (Milos Djermanovic) +* [`e1cfde9`](https://github.com/eslint/eslint/commit/e1cfde93eec71a15c2df1ad660a7a6171204ba80) Docs: Update bug report template (#14276) (Nicholas C. Zakas) +* [`c85c2f1`](https://github.com/eslint/eslint/commit/c85c2f1138a9e952655f19ee780ab0c8e35431a8) Docs: Add fatal to Node.js API LintMessage type (#14251) (Brandon Mills) + +v7.23.0 - March 26, 2021 + +* [`687ccae`](https://github.com/eslint/eslint/commit/687ccae517b8b815cf21e948f80d22e2bf118a99) Update: add option "allowInParentheses" to no-sequences (fixes #14197) (#14199) (Daniel Rentz) +* [`dbf2529`](https://github.com/eslint/eslint/commit/dbf252964d9a2b8957cfe0aed5c87a6d4a5cce24) Sponsors: Sync README with website (ESLint Jenkins) +* [`4bdf2c1`](https://github.com/eslint/eslint/commit/4bdf2c1dade27625b601080687ce95b8c229e491) Sponsors: Sync README with website (ESLint Jenkins) +* [`49d1697`](https://github.com/eslint/eslint/commit/49d16977d969070e5240074e76036f56631a90d3) Chore: Upgrade eslint-plugin-jsdoc to v25 and remove --legacy-peer-deps (#14244) (Brandon Mills) +* [`43f1685`](https://github.com/eslint/eslint/commit/43f1685356b9840e09631843ad9ccf0440a498b0) Update: `--quiet` should not supress `--max-warnings` (fixes #14202) (#14242) (Milos Djermanovic) +* [`909c727`](https://github.com/eslint/eslint/commit/909c7271b8d294bd884827ad5df02615b6ec5e82) Docs: Add valid example that shows vars in a block scope (#14230) (Ed S) +* [`28583eb`](https://github.com/eslint/eslint/commit/28583eb8ada20f32579841bec3fbd60a018d5931) Fix: no-mixed-operators false positives with `? :` (fixes #14223) (#14226) (Milos Djermanovic) +* [`a99eb2d`](https://github.com/eslint/eslint/commit/a99eb2dc2a297d16e40a9feef3956668716c4eb5) Fix: Clarify line breaks in object-curly-newline (fixes #14024) (#14063) (armin yahya) +* [`8984c91`](https://github.com/eslint/eslint/commit/8984c91372e64d1e8dd2ce21b87b80977d57bff9) Update: eslint --env-info output os info (#14059) (薛定谔的猫) +* [`2a79306`](https://github.com/eslint/eslint/commit/2a79306f71c4c80f1e3e73be2a140d07cf55c63d) Sponsors: Sync README with website (ESLint Jenkins) +* [`ebd7026`](https://github.com/eslint/eslint/commit/ebd70263f6e6fe597613d90f4b8de84710c2f3d6) Docs: Fix typo (#14225) (Greg Finley) +* [`a2013fc`](https://github.com/eslint/eslint/commit/a2013fcf996c8651bc760df21d900442828a6884) Sponsors: Sync README with website (ESLint Jenkins) + +v7.22.0 - March 12, 2021 + +* [`3a432d8`](https://github.com/eslint/eslint/commit/3a432d82b3a5710aff7da20302fe0b94fedc46c2) Docs: Improve documentation for indent rule (#14168) (Serkan Özel) +* [`f62ec8d`](https://github.com/eslint/eslint/commit/f62ec8d30d925e70e4d0d40640857c587ac2e116) Update: throw error when fix range is invalid (#14142) (Jacob Bandes-Storch) +* [`0eecad2`](https://github.com/eslint/eslint/commit/0eecad271358f753730741fcfcb2f7cc915c1fa7) Upgrade: Update lodash in package.json to V 4.17.21 (#14159) (Basem Al-Nabulsi) +* [`5ad91aa`](https://github.com/eslint/eslint/commit/5ad91aa7df3d6bc185786e6eccd9e055fd951055) Update: report es2021 globals in no-extend-native (refs #13602) (#14177) (Milos Djermanovic) +* [`c295581`](https://github.com/eslint/eslint/commit/c295581aca4e08ec4ae8e5ee5726a6f454a3ee26) Chore: remove leftover JSDoc from lint-result-cache (#14176) (Milos Djermanovic) +* [`0d541f9`](https://github.com/eslint/eslint/commit/0d541f9d9d58966372e2055a8f69fb9483d56a4b) Chore: Reduce lodash usage (#14178) (Stephen Wade) +* [`27a67d7`](https://github.com/eslint/eslint/commit/27a67d71ffa9bbd7af02ae448844e127bcf956dc) Sponsors: Sync README with website (ESLint Jenkins) +* [`459d821`](https://github.com/eslint/eslint/commit/459d821f4a599501ceb002f9d7a5034fc45ffbb0) Chore: upgrade dependencies of browser test (#14127) (Pig Fang) +* [`ebfb63a`](https://github.com/eslint/eslint/commit/ebfb63a682004a008f2707dbad616e5ae1630b2c) Sponsors: Sync README with website (ESLint Jenkins) +* [`3ba029f`](https://github.com/eslint/eslint/commit/3ba029fbffd44068be93254890fc2aec3e92c212) Docs: Remove Extraneous Dash (#14164) (Danny Hurlburt) +* [`6f4540e`](https://github.com/eslint/eslint/commit/6f4540ea7ea39775906526506fd7abd7ea97610c) Sponsors: Sync README with website (ESLint Jenkins) +* [`ddf361c`](https://github.com/eslint/eslint/commit/ddf361ca2a2a01a9974f421e5f62270df282d0e8) Docs: Fix Formatting (#14154) (Danny Hurlburt) +* [`c0d2ac1`](https://github.com/eslint/eslint/commit/c0d2ac16f8f9c75c62c78e9fe6a24a25ba0d7828) Sponsors: Sync README with website (ESLint Jenkins) +* [`a8df03e`](https://github.com/eslint/eslint/commit/a8df03efe3bc47665d2112c2cdd5bead337d475d) Docs: Clarify triage process (#14117) (Nicholas C. Zakas) + +v7.21.0 - February 27, 2021 + +* [`3cd5440`](https://github.com/eslint/eslint/commit/3cd5440b94d5fa4f11a09f50b685f6150f0c2d41) Upgrade: @eslint/eslintrc to 0.4.0 (#14147) (Brandon Mills) +* [`c0b8c71`](https://github.com/eslint/eslint/commit/c0b8c71df4d0b3f54b20587432d9133741985d5c) Upgrade: Puppeteer to 7.1.0 (#14122) (Tim van der Lippe) +* [`08ae31e`](https://github.com/eslint/eslint/commit/08ae31e539e381cd0eabf6393fa5c20f1d59125f) New: Implement cacheStrategy (refs eslint/rfcs#63) (#14119) (Manu Chambon) +* [`5e51fd2`](https://github.com/eslint/eslint/commit/5e51fd28dc773c11c924450d24088f97f2824f00) Update: do not ignore symbolic links (fixes #13551, fixes #13615) (#14126) (Pig Fang) +* [`87c43a5`](https://github.com/eslint/eslint/commit/87c43a5d7ea2018cffd6d9b5c431ecb60caaf0d6) Chore: improve a few comments and fix typos (#14125) (Tobias Nießen) +* [`e19c51e`](https://github.com/eslint/eslint/commit/e19c51ea2ef2cf666d94218c66f6b223bb2e9dae) Sponsors: Sync README with website (ESLint Jenkins) +* [`b8aea99`](https://github.com/eslint/eslint/commit/b8aea9988b6451b6a05af4f3ede8d6ed5c1d9926) Fix: pluralize 'line' to 'lines' in max-lines-per-function description (#14115) (Trevin Hofmann) +* [`f5b53e2`](https://github.com/eslint/eslint/commit/f5b53e285ab5286ea382d73b379b820f649c20d0) Sponsors: Sync README with website (ESLint Jenkins) +* [`eee1213`](https://github.com/eslint/eslint/commit/eee12134ce0956e9f825c1630776b1731551a948) Sponsors: Sync README with website (ESLint Jenkins) +* [`5c4d7ea`](https://github.com/eslint/eslint/commit/5c4d7ea8d2e8d137c42b918dc99a84b4a5fed9b3) Sponsors: Sync README with website (ESLint Jenkins) + +v7.20.0 - February 12, 2021 + +* [`f4ac3b0`](https://github.com/eslint/eslint/commit/f4ac3b0e7072fbd3c14e9c64ff0c2c255a4eb730) Docs: fix sibling selector descriptions (#14099) (Milos Djermanovic) +* [`9d6063a`](https://github.com/eslint/eslint/commit/9d6063add931f0803cae1676d5df307baf114360) Fix: Crash with esquery when using JSX (fixes #13639) (#14072) (Yosuke Ota) +* [`a0871f1`](https://github.com/eslint/eslint/commit/a0871f1840060bd23cfe0952a096b107142db2f0) Docs: Triage process (#14014) (Nicholas C. Zakas) +* [`ad90761`](https://github.com/eslint/eslint/commit/ad9076183bc2c2029525edfc4596e403999348d1) Update: add enforceForJSX option to no-unused-expressions rule (#14012) (Duncan Beevers) +* [`d6c84af`](https://github.com/eslint/eslint/commit/d6c84af67318537177ffac0120a81af08e3e9df4) Fix: `--init` autoconfig shouldn't add deprecated rules (fixes #14017) (#14060) (Milos Djermanovic) +* [`9b277a1`](https://github.com/eslint/eslint/commit/9b277a16a7261e51b7ba36d6de7f996e9203a6a4) Fix: Support ENOTDIR error code in the folder existence checking utility (#13973) (Constantine Genchevsky) +* [`7aeb127`](https://github.com/eslint/eslint/commit/7aeb12798f2b9da706f3593f26a02e717929c9af) Upgrade: pin @babel/code-frame@7.12.11 (#14067) (Milos Djermanovic) +* [`b4e2af5`](https://github.com/eslint/eslint/commit/b4e2af5db1c29343ffec2cd104b04bf39b77ee56) Docs: Add more fields to bug report template (#14039) (Nicholas C. Zakas) +* [`96f1d49`](https://github.com/eslint/eslint/commit/96f1d49a4647e59f2fb918be096654e290513adc) Sponsors: Sync README with website (ESLint Jenkins) +* [`cb27b0a`](https://github.com/eslint/eslint/commit/cb27b0abeda6dfee55dd43b9cbe12afad321f55d) Build: package.json update for eslint-config-eslint release (ESLint Jenkins) +* [`4cab165`](https://github.com/eslint/eslint/commit/4cab165bf4e6e5e9f42a59a37a8ff2548c0af87d) Sponsors: Sync README with website (ESLint Jenkins) + +v7.19.0 - January 30, 2021 + +* [`ce7f061`](https://github.com/eslint/eslint/commit/ce7f06121d9eb9cc2b3da24b4456b4d382e1413b) Update: add shadowed variable loc to message in no-shadow (fixes #13646) (#13841) (t-mangoe) +* [`c60e23f`](https://github.com/eslint/eslint/commit/c60e23ff306a14ca6eabcadb275ed27995fcc6e4) Update: fix `let` logic in for-in and for-of loops in no-extra-parens (#14011) (Milos Djermanovic) +* [`d76e8f6`](https://github.com/eslint/eslint/commit/d76e8f69bd791357c67ada7b5c55608acf29b622) Fix: no-useless-rename invalid autofix with parenthesized identifiers (#14032) (Milos Djermanovic) +* [`5800d92`](https://github.com/eslint/eslint/commit/5800d921144ec330b6ee7cd03364434007331354) Docs: Clarify stylistic rule update policy (#14052) (Brandon Mills) +* [`0ccf6d2`](https://github.com/eslint/eslint/commit/0ccf6d200147437b338cadb34546451972befd75) Docs: remove configuring.md (#14036) (Milos Djermanovic) +* [`65bb0ab`](https://github.com/eslint/eslint/commit/65bb0abde56f72586036fff151aa2d13f1b7be6c) Chore: Clean up new issue workflow (#14040) (Nicholas C. Zakas) +* [`e1da90f`](https://github.com/eslint/eslint/commit/e1da90fc414a3c9c16f52db4a5bd81bd4f9532a4) Fix: nested indenting for offsetTernaryExpressions: true (fixes #13971) (#13972) (Chris Brody) +* [`1a078b9`](https://github.com/eslint/eslint/commit/1a078b9166f29cb3760435ddbc1a0da4a0974d4a) Update: check ternary `:` even if `?` was reported in space-infix-ops (#13963) (Milos Djermanovic) +* [`fb27422`](https://github.com/eslint/eslint/commit/fb274226242eaebc1480fc9c901202986afc3c8a) Fix: extend prefer-const fixer range to whole declaration (fixes #13899) (#14033) (Nitin Kumar) +* [`e0b05c7`](https://github.com/eslint/eslint/commit/e0b05c704f3ce6f549d14718236d22fe49fcb611) Docs: add a correct example to no-unsafe-optional-chaining (refs #14029) (#14050) (armin yahya) +* [`46e836d`](https://github.com/eslint/eslint/commit/46e836d46442d2ec756038a2e12ba19b74394dbd) Sponsors: Sync README with website (ESLint Jenkins) +* [`3fc4fa4`](https://github.com/eslint/eslint/commit/3fc4fa485ca9ccd5e16dbc7e53ba31452d22dc4a) Docs: update configuring links (#14038) (Milos Djermanovic) +* [`8561c21`](https://github.com/eslint/eslint/commit/8561c2116ef89e53ebffb750066f1b00a4acdb76) Docs: fix broken links in configuring/README.md (#14046) (Milos Djermanovic) +* [`1c309eb`](https://github.com/eslint/eslint/commit/1c309ebca4a81a0faf397103dbc621019dea8c9c) Update: fix no-invalid-regexp false negatives with no flags specified (#14018) (Milos Djermanovic) +* [`f6602d5`](https://github.com/eslint/eslint/commit/f6602d569427e9e2a4f3b5ca3fc3a8bffb28d15e) Docs: Reorganize Configuration Documentation (#13837) (klkhan) +* [`c753b44`](https://github.com/eslint/eslint/commit/c753b442ef67867a178ffc2ad29b4e0534f72469) Sponsors: Sync README with website (ESLint Jenkins) +* [`a4fdb70`](https://github.com/eslint/eslint/commit/a4fdb7001aa41b9ad8bb92cc8a47b9135c94afc7) Docs: Fixed Typo (#14007) (Yash Singh) +* [`f7ca481`](https://github.com/eslint/eslint/commit/f7ca48165d025e01c38698352cff24d1de87cc8b) Docs: Explain why we disable lock files (refs eslint/tsc-meetings#234) (#14006) (Brandon Mills) + +v7.18.0 - January 15, 2021 + +* [`e3264b2`](https://github.com/eslint/eslint/commit/e3264b26a625d926a1ea96df1c4b643af5c3797c) Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic) +* [`f17c3c3`](https://github.com/eslint/eslint/commit/f17c3c371789ffa84f0cda57101e8193899adbe6) Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic) +* [`672deb0`](https://github.com/eslint/eslint/commit/672deb057a14a7acad8c669189870009f1edb8a6) Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic) +* [`179a910`](https://github.com/eslint/eslint/commit/179a910b32e853bc12a9dd71f7c10e762cbeac44) Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic) +* [`292b1c0`](https://github.com/eslint/eslint/commit/292b1c0017bc442d399f67e01d699c59e6b71453) Fix: no-extra-parens false positive with `let` identifier in for-loop (#13981) (Milos Djermanovic) +* [`de61f94`](https://github.com/eslint/eslint/commit/de61f9444cf58a4d70e126ab3d10bf20851de7c9) Sponsors: Sync README with website (ESLint Jenkins) +* [`9250d16`](https://github.com/eslint/eslint/commit/9250d167ceb5684669eabe93dae326e33f0684f2) Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck) +* [`75fea9b`](https://github.com/eslint/eslint/commit/75fea9bcdd3dde5a07e0089d9011a4df518cdbe3) Sponsors: Sync README with website (ESLint Jenkins) +* [`f2687e7`](https://github.com/eslint/eslint/commit/f2687e71f9e2a2773f821c4dc1a02abe95b97df4) Docs: update space-in-parens related rules (#13985) (Chris Brody) +* [`4a38bbe`](https://github.com/eslint/eslint/commit/4a38bbe81b4b29ca1a4e62d0a0cc8d525455b063) Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody) +* [`3e49169`](https://github.com/eslint/eslint/commit/3e491698687aa08b3b798cee0931f0872ca1bc55) Sponsors: Sync README with website (ESLint Jenkins) +* [`c5bf1f2`](https://github.com/eslint/eslint/commit/c5bf1f2150a9fbbb9e74c04808dc3bfeda1ed321) Sponsors: Sync README with website (ESLint Jenkins) +* [`98a729c`](https://github.com/eslint/eslint/commit/98a729c9def54cee9e5478e75e8bd6f28167d5e8) Sponsors: Sync README with website (ESLint Jenkins) +* [`e83a696`](https://github.com/eslint/eslint/commit/e83a6962b51b05c2ddfe42b0748b405d515eeb9d) Sponsors: Sync README with website (ESLint Jenkins) +* [`78cb483`](https://github.com/eslint/eslint/commit/78cb48345c725e9f90fd0e631c476802244df4a4) Chore: test `foo( )` with space-in-parens option "always" (#13986) (Chris Brody) +* [`f6948f6`](https://github.com/eslint/eslint/commit/f6948f6bdc763dca0787bb2786bc9f6f9ed88f43) Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas) +* [`0688212`](https://github.com/eslint/eslint/commit/068821248e2d2eff11152f270102d537d8fa8126) Sponsors: Sync README with website (ESLint Jenkins) +* [`aeba5e5`](https://github.com/eslint/eslint/commit/aeba5e5e6062095a06d9b867d7e7ee75422f25b9) Chore: fix typo (#13975) (Nitin Kumar) +* [`4ee1134`](https://github.com/eslint/eslint/commit/4ee113414bdcbea240a5d9db27da6a10df472005) Sponsors: Sync README with website (ESLint Jenkins) + +v7.17.0 - January 1, 2021 + +* [`e128e77`](https://github.com/eslint/eslint/commit/e128e775e9fa116a0ad68a071f1f0997589f8cd4) Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic) +* [`cc48713`](https://github.com/eslint/eslint/commit/cc4871369645c3409dc56ded7a555af8a9f63d51) Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic) +* [`535fe47`](https://github.com/eslint/eslint/commit/535fe47fee6544b4957378f9408117c8318d4762) Update: use regexpp's default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic) +* [`83e98cd`](https://github.com/eslint/eslint/commit/83e98cd48ce3d1acf729f4fb9be40cff332abd6e) Fix: use regexpp's default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic) +* [`7297363`](https://github.com/eslint/eslint/commit/7297363ea355d0e3b2a74aaec586126deb91fd93) Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic) +* [`0649871`](https://github.com/eslint/eslint/commit/06498716bfba65ed8c7217917a29a07ad267193a) Update: add autofix to rule multiline-ternary (#13958) (薛定谔的猫) +* [`f6e7e32`](https://github.com/eslint/eslint/commit/f6e7e3231bc43c989f8c953de8e0d328bac5eea0) Fix: no-useless-escape wrong loc and fix with CRLF in template elements (#13953) (Milos Djermanovic) +* [`19c69c0`](https://github.com/eslint/eslint/commit/19c69c0293a98634ff0d4884a0cdabc1213ebcb4) Fix: one-var shouldn't split declaration if it isn't in a statement list (#13959) (Milos Djermanovic) +* [`e451b96`](https://github.com/eslint/eslint/commit/e451b9664aface32ad9321eaf5619c875dc76553) Docs: update build tool for webpack (#13962) (Sam Chen) +* [`c3e9acc`](https://github.com/eslint/eslint/commit/c3e9accce2f61b04ab699fd37c90703305281aa3) Chore: fix typos (#13960) (YeonJuan) +* [`7289ecf`](https://github.com/eslint/eslint/commit/7289ecf58ed0d2e7f0ad7f1e5004c8927a7bf805) Sponsors: Sync README with website (ESLint Jenkins) + +v7.16.0 - December 18, 2020 + +* [`a62ad6f`](https://github.com/eslint/eslint/commit/a62ad6f03151358b93b5fede022a30d67310705c) Update: fix false negative of no-extra-parens with NewExpression (#13930) (Milos Djermanovic) +* [`f85b4c7`](https://github.com/eslint/eslint/commit/f85b4c72668c95c79fdb342b74dbd53d21baa93f) Fix: require-atomic-updates false positive across await (fixes #11954) (#13915) (buhi) +* [`301d0c0`](https://github.com/eslint/eslint/commit/301d0c05229dbd6cfb1045d716524e8ec46fa2c1) Fix: no-constant-condition false positives with unary expressions (#13927) (Milos Djermanovic) +* [`555c128`](https://github.com/eslint/eslint/commit/555c128b49ae6d9c100a9f8429416417edb40d13) Fix: false positive with await and ** in no-extra-parens (fixes #12739) (#13923) (Milos Djermanovic) +* [`d93c935`](https://github.com/eslint/eslint/commit/d93c9350361d2aa1a1976c553e47ab399e51e8c9) Docs: update JSON Schema links (#13936) (Milos Djermanovic) +* [`8d0c93a`](https://github.com/eslint/eslint/commit/8d0c93a7ef9449c7b7d082bbb4b7d8465b0d6bac) Upgrade: table@6.0.4 (#13920) (Rouven Weßling) +* [`9247683`](https://github.com/eslint/eslint/commit/924768377a4935a95a6ff3866f9545a5a6178b53) Docs: Remove for deleted npm run profile script (#13931) (Brandon Mills) +* [`ab240d4`](https://github.com/eslint/eslint/commit/ab240d49833b4e6e594667c1abe5b0caa8a9cf70) Fix: prefer-exponentiation-operator invalid autofix with await (#13924) (Milos Djermanovic) +* [`dc76911`](https://github.com/eslint/eslint/commit/dc7691103554a99bdb2142561cb507f50f547e3b) Chore: Add .pre-commit-hooks.yaml file (#13628) (Álvaro Mondéjar) +* [`2124e1b`](https://github.com/eslint/eslint/commit/2124e1b5dad30a905dc26bde9da472bf622d3f50) Docs: Fix wrong rule name (#13913) (noisyboy25) +* [`06b5809`](https://github.com/eslint/eslint/commit/06b58096975935ec016d96dd5f333f059c270f26) Sponsors: Sync README with website (ESLint Jenkins) +* [`26fc12f`](https://github.com/eslint/eslint/commit/26fc12f88109af9d4081bf0e16364c411bce3009) Docs: Update README team and sponsors (ESLint Jenkins) + +v7.15.0 - December 5, 2020 + +* [`5c11aab`](https://github.com/eslint/eslint/commit/5c11aabbe8249aeb8cad29bc6a33fc20c8c683ef) Upgrade: @eslint/esintrc and espree for bug fixes (refs #13878) (#13908) (Brandon Mills) +* [`0eb7957`](https://github.com/eslint/eslint/commit/0eb7957e27fd521317bd5c8479ce7abc1399169c) Upgrade: file-entry-cache@6.0.0 (#13877) (Rouven Weßling) +* [`683ad00`](https://github.com/eslint/eslint/commit/683ad00c41e1ae4d889deff82b2a94318e8c2129) New: no-unsafe-optional-chaining rule (fixes #13431) (#13859) (YeonJuan) +* [`cbc57fb`](https://github.com/eslint/eslint/commit/cbc57fb7d07c00663ed5781f5e6bc8f534cc2d76) Fix: one-var autofixing for export (fixes #13834) (#13891) (Anix) +* [`110cf96`](https://github.com/eslint/eslint/commit/110cf962d05625a8a1bf7b5f4ec2194db150eb32) Docs: Fix a broken link in working-with-rules.md (#13875) (Anton Niklasson) + +v7.14.0 - November 20, 2020 + +* [`5f09073`](https://github.com/eslint/eslint/commit/5f0907399a9666dec78c74384c8969c01483c30e) Update: fix 'skip' options in no-irregular-whitespace (fixes #13852) (#13853) (Milos Djermanovic) +* [`1861b40`](https://github.com/eslint/eslint/commit/1861b4086f1018f43ab19744d866d5da986c500d) Docs: correct the function-call-argument-newline 'default' descriptions (#13866) (Trevin Hofmann) +* [`98c00c4`](https://github.com/eslint/eslint/commit/98c00c41d2aecb3a990393d430694f4ce6b47de5) New: Add no-nonoctal-decimal-escape rule (fixes #13765) (#13845) (Milos Djermanovic) +* [`95d2fe6`](https://github.com/eslint/eslint/commit/95d2fe6057498fc1cc2193d28c8c2d1593224b33) Chore: remove eslint comment from no-octal-escape tests (#13846) (Milos Djermanovic) +* [`2004b7e`](https://github.com/eslint/eslint/commit/2004b7ecd3db0d4e7376cc3344246f7b9ada5801) Fix: enable debug logs for @eslint/eslintrc (fixes #13850) (#13861) (Milos Djermanovic) +* [`d2239a1`](https://github.com/eslint/eslint/commit/d2239a1fdec452e24ede04e990d16d42516fa538) Fix: no-useless-constructor crash on bodyless constructor (fixes #13830) (#13842) (Ari Perkkiö) +* [`eda0aa1`](https://github.com/eslint/eslint/commit/eda0aa18498dd85eb618873e8e0f4ac97032cfca) Docs: no-restricted-imports is only for static imports (#13863) (Robat Williams) +* [`042ae44`](https://github.com/eslint/eslint/commit/042ae44682a8a6c5037d920689124e2304056dd8) Docs: Fix JS syntax and doc URL in working-with-custom-formatters.md (#13828) (Raphael LANG) +* [`038dc73`](https://github.com/eslint/eslint/commit/038dc73c99ae68eae2035ef303f3a947053c8f05) Chore: Test on Node.js 15 (#13844) (Brandon Mills) +* [`37a06d6`](https://github.com/eslint/eslint/commit/37a06d633d3669f0f43236141dc43465b8bc7ec5) Sponsors: Sync README with website (ESLint Jenkins) + +v7.13.0 - November 6, 2020 + +* [`254e00f`](https://github.com/eslint/eslint/commit/254e00fea8745ff5a8bcc8cb874fcfd02996d81b) New: Configurable List Size For Per-Rule Performance Metrics (#13812) (Bryan Mishkin) +* [`6c3c710`](https://github.com/eslint/eslint/commit/6c3c710ade7cd8654990f1adb55b58f038eab92d) Docs: fix broken url in docs (#13815) (SaintMalik) +* [`4a09149`](https://github.com/eslint/eslint/commit/4a091495a236d231a5065ece972719a0c4dd1b77) Sponsors: Sync README with website (ESLint Jenkins) +* [`fb6fcbf`](https://github.com/eslint/eslint/commit/fb6fcbfe0a8c41b92f0a33ab90f159037bd195e2) Docs: Fix reference to Code of Conduct (#13797) (Tobias Nießen) +* [`1b89ebe`](https://github.com/eslint/eslint/commit/1b89ebe1bdbef7de6001100945b8f71429df302c) Sponsors: Sync README with website (ESLint Jenkins) + +v7.12.1 - October 26, 2020 + +* [`08f33e8`](https://github.com/eslint/eslint/commit/08f33e8b9a353c3183be6f937785db7a30fb90eb) Upgrade: @eslint/eslintrc to fix rule schema validation (fixes #13793) (#13794) (Brandon Mills) +* [`aeef485`](https://github.com/eslint/eslint/commit/aeef485dc790571b1a82ac09904329e0226b66a9) Fix: Pass internal config paths in FileEnumerator default (fixes #13789) (#13792) (Brandon Mills) +* [`631ae8b`](https://github.com/eslint/eslint/commit/631ae8b50e5f7975f10860e9e763b70b4f25182e) Sponsors: Sync README with website (ESLint Jenkins) + +v7.12.0 - October 23, 2020 + +* [`cbf3585`](https://github.com/eslint/eslint/commit/cbf3585f1d6c60414c07380367a8b4505ee3538d) Update: skip keyword check for fns in space-before-blocks (fixes #13553) (#13712) (Milos Djermanovic) +* [`256f656`](https://github.com/eslint/eslint/commit/256f656455b47bcf9ed3fc30fbf72532678f97da) Fix: autofix shouldn't produce template literals with `\8` or `\9` (#13737) (Milos Djermanovic) +* [`b165aa5`](https://github.com/eslint/eslint/commit/b165aa5f4d4d19328f13ab80e5f058cbce94c3a6) Fix: yoda rule autofix produces syntax errors with adjacent tokens (#13760) (Milos Djermanovic) +* [`3175316`](https://github.com/eslint/eslint/commit/3175316db26aebef4b19e269aca90c8ce3955363) Fix: prefer-destructuring invalid autofix with comma operator (#13761) (Milos Djermanovic) +* [`1a9f171`](https://github.com/eslint/eslint/commit/1a9f17151a4e93eb17c8a2bf4f0a5320cce616de) Chore: Remove more ESLintRC-related files (refs #13481) (#13762) (Nicholas C. Zakas) +* [`bfddced`](https://github.com/eslint/eslint/commit/bfddcedace5587d662c840c2edf33062b54a178e) Update: remove suggestion if it didn't provide a fix (fixes #13723) (#13772) (Milos Djermanovic) +* [`5183b14`](https://github.com/eslint/eslint/commit/5183b14a2420b42b4089fb134a61ae57142f31fd) Update: check template literal in no-script-url (#13775) (YeonJuan) +* [`bfe97d2`](https://github.com/eslint/eslint/commit/bfe97d2332e711ca76b1fd2e7f8548b0cc84cb1c) Sponsors: Sync README with website (ESLint Jenkins) +* [`6c51ade`](https://github.com/eslint/eslint/commit/6c51adeb86f1de292cd02d2ee19f7b56182e358b) Sponsors: Sync README with website (ESLint Jenkins) +* [`603de04`](https://github.com/eslint/eslint/commit/603de04cab5e700df12999af2918decd4da9d11b) Update: treat all literals like boolean literal in no-constant-condition (#13245) (Zen) +* [`289aa6f`](https://github.com/eslint/eslint/commit/289aa6fcef3874ba5f86455f9302dc4209ea83e5) Sponsors: Sync README with website (ESLint Jenkins) +* [`9a1f669`](https://github.com/eslint/eslint/commit/9a1f6694e59eb3e584d4c5a98b98675c895a9783) Sponsors: Sync README with website (ESLint Jenkins) +* [`637f818`](https://github.com/eslint/eslint/commit/637f8187404ded600fb3d4013b3cd495d5ae675b) Docs: add more examples for no-func-assign (fixes #13705) (#13777) (Nitin Kumar) +* [`17cc0dd`](https://github.com/eslint/eslint/commit/17cc0dd9b5d2d500359c36881cd3e5637443c133) Chore: add test case for no-func-assign (refs #13705) (#13783) (Nitin Kumar) +* [`dee0f77`](https://github.com/eslint/eslint/commit/dee0f7764a1d5a323c89b22c4db94acee2b3c718) Docs: add TOC to user-guide/configuring.md (#13727) (metasean) +* [`0510621`](https://github.com/eslint/eslint/commit/05106212985cb1ffa1e6fa996a57f6fd2fc3c970) Update: Fix && vs || short-circuiting false negatives (fixes #13634) (#13769) (Brandon Mills) +* [`8b6ed69`](https://github.com/eslint/eslint/commit/8b6ed691c48189b7d096339441a78cb5874d4137) Sponsors: Sync README with website (ESLint Jenkins) +* [`1457509`](https://github.com/eslint/eslint/commit/145750991b04fd4cfb3fff3c5d4211a4428e011c) Docs: fix broken links in Node.js API docs (#13771) (Laura Barluzzi) +* [`7c813d4`](https://github.com/eslint/eslint/commit/7c813d458f9aedf7a94351d137728a4647542879) Docs: Fix typo in v7 migration page (#13778) (Yusuke Sasaki) +* [`b025795`](https://github.com/eslint/eslint/commit/b0257953be704d0bb387fc15afd7859fd6f19ba5) Docs: Fix the format option name in the document (#13770) (Hideki Igarashi) +* [`84fd591`](https://github.com/eslint/eslint/commit/84fd591c234accc41bb5af555f178825012fd35d) Chore: Increase Mocha timeout for copying fixtures (#13768) (Brandon Mills) +* [`1faeb84`](https://github.com/eslint/eslint/commit/1faeb84e663d88c5d85a3cb3f15cd224cc552c2d) Docs: clarify that space-unary-ops doesn't apply when space is required (#13767) (Taylor Morgan) +* [`67c0605`](https://github.com/eslint/eslint/commit/67c06059dd1ddcee6f369c650ce71220da1510c3) Update: check computed keys in no-prototype-builtins (fixes #13088) (#13755) (Milos Djermanovic) +* [`b5e011c`](https://github.com/eslint/eslint/commit/b5e011c865e95d700d29cb9a4ba71c671d99e423) Sponsors: Sync README with website (ESLint Jenkins) + +v7.11.0 - October 9, 2020 + +* [`23e966f`](https://github.com/eslint/eslint/commit/23e966f6cf2a6c6b699dff5d6950ece3cc396498) Chore: Refactor CLIEngine tests (refs #13481) (#13709) (Nicholas C. Zakas) +* [`fa9429a`](https://github.com/eslint/eslint/commit/fa9429aac0ffed505f3f02e8fc75f646c69f5c61) Fix: don't count line after EOF in max-lines (#13735) (Milos Djermanovic) +* [`d973675`](https://github.com/eslint/eslint/commit/d973675a5c06a2bd4f8ce640c78b67842cfebfd4) Docs: Update anchor links to use existing linkrefs (refs #13715) (#13741) (Brandon Mills) +* [`2c6d774`](https://github.com/eslint/eslint/commit/2c6d774c89dcd14f386bd9d73d451fa2a892c3ef) Docs: Fix typos (#13730) (Frieder Bluemle) +* [`cc468c0`](https://github.com/eslint/eslint/commit/cc468c01021385a028de727eefcd442e7f34875c) Upgrade: eslint-visitor-keys@2.0.0 (#13732) (Milos Djermanovic) +* [`ab0ac6c`](https://github.com/eslint/eslint/commit/ab0ac6c532fb7b7d49779c8913146244d680743b) Docs: Fix anchor links (#13715) (Gary Moore) +* [`27f0de6`](https://github.com/eslint/eslint/commit/27f0de62e6281c28043be38ef051818c9edc15cd) Fix: account for linebreaks before postfix `++`/`--` in no-extra-parens (#13731) (Milos Djermanovic) +* [`da78fa1`](https://github.com/eslint/eslint/commit/da78fa11632a2908db4ac494012a16f5d5a88a64) Update: support async arrow fn in function-paren-newline (fixes #13728) (#13729) (Michal Dziekonski) +* [`fe301b8`](https://github.com/eslint/eslint/commit/fe301b8cc0762d7f4edd59603ca51ed0ec0c2a43) Docs: Add configuration comments in examples (#13738) (YeonJuan) +* [`504408c`](https://github.com/eslint/eslint/commit/504408cd65e9d8827b2b8bbeb8f589df90eee523) Sponsors: Sync README with website (ESLint Jenkins) +* [`3900659`](https://github.com/eslint/eslint/commit/390065985b2289ad4412a83598e3e833c382d27e) Sponsors: Sync README with website (ESLint Jenkins) +* [`c1974b3`](https://github.com/eslint/eslint/commit/c1974b3f7169a8e5fab7007df92d02d8c1a8d5a3) Sponsors: Sync README with website (ESLint Jenkins) +* [`6f4abe5`](https://github.com/eslint/eslint/commit/6f4abe5d5ade2711cc4c21bc8485af952763c2d3) Sponsors: Sync README with website (ESLint Jenkins) + +v7.10.0 - September 26, 2020 + +* [`6919fbb`](https://github.com/eslint/eslint/commit/6919fbb83f86552b0f49ae749da866e4edc7c46a) Docs: Clarify that ignorePattern should be a string (refs #13029) (#13718) (Brandon Mills) +* [`07d9bea`](https://github.com/eslint/eslint/commit/07d9bea7c6f953e8f754afffc9752edcee799431) Update: Add ignorePattern to no-inline-comments (#13029) (Edie Lemoine) +* [`d79bbe9`](https://github.com/eslint/eslint/commit/d79bbe982930b53358d34ad91cc6e5eaac8ddede) Docs: fix typo (#13717) (Alexander Liu) +* [`9b8490e`](https://github.com/eslint/eslint/commit/9b8490ee6391c986b1314540a92b71d8c1e0efc4) Docs: grammatical error (#13687) (rajdeep) +* [`cb44e93`](https://github.com/eslint/eslint/commit/cb44e93f4780e925a75a68ce2f7f6d065b5f756c) Fix: prefer-destructuring invalid autofix with computed property access (#13704) (Milos Djermanovic) +* [`46c73b1`](https://github.com/eslint/eslint/commit/46c73b159a5ceed2f7f26f254fd97e459fb0e81a) Upgrade: eslint-scope@5.1.1 (#13716) (Milos Djermanovic) +* [`b7b12ba`](https://github.com/eslint/eslint/commit/b7b12ba0bd4e9c66883f11e97de8ed84b600cdaa) Chore: Move comment to make tests more organized (#13707) (Yusuke Tanaka) +* [`51674a4`](https://github.com/eslint/eslint/commit/51674a4113a1ca877094606bbf4938ab06cc1aad) Docs: Add missing quotes (#13714) (Lucio Paiva) +* [`7c34a98`](https://github.com/eslint/eslint/commit/7c34a982aaf93a02348f56c9ce887c7dcf51b5bd) Chore: remove mistakenly added file (#13710) (Milos Djermanovic) +* [`30b76c9`](https://github.com/eslint/eslint/commit/30b76c9a13fae3dff59f7db406d6c66f11152973) Docs: Clarify package.json requirement in Getting Started (refs #13549) (#13696) (Nicholas C. Zakas) +* [`044560d`](https://github.com/eslint/eslint/commit/044560dcc74db98b28e293da2e2f3b41ecbf5884) Sponsors: Sync README with website (ESLint Jenkins) +* [`54000d1`](https://github.com/eslint/eslint/commit/54000d13f27d5255851b5ac0606ad027e2b8d331) Sponsors: Sync README with website (ESLint Jenkins) + v7.9.0 - September 12, 2020 * [`3ca2700`](https://github.com/eslint/eslint/commit/3ca27004ece5016ba7aed775f01ad13bc9282296) Fix: Corrected notice for invalid (:) plugin names (#13473) (Josh Goldberg) diff --git a/node_modules/eslint/README.md b/node_modules/eslint/README.md index f5081d2f7..68982812e 100644 --- a/node_modules/eslint/README.md +++ b/node_modules/eslint/README.md @@ -1,4 +1,4 @@ -[![NPM version](https://img.shields.io/npm/v/eslint.svg)](https://www.npmjs.com/package/eslint) +[![npm version](https://img.shields.io/npm/v/eslint.svg)](https://www.npmjs.com/package/eslint) [![Downloads](https://img.shields.io/npm/dm/eslint.svg)](https://www.npmjs.com/package/eslint) [![Build Status](https://github.com/eslint/eslint/workflows/CI/badge.svg)](https://github.com/eslint/eslint/actions) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint?ref=badge_shield) @@ -14,7 +14,7 @@ [Rules](https://eslint.org/docs/rules/) | [Contributing](https://eslint.org/docs/developer-guide/contributing) | [Reporting Bugs](https://eslint.org/docs/developer-guide/contributing/reporting-bugs) | -[Code of Conduct](https://js.foundation/community/code-of-conduct) | +[Code of Conduct](https://eslint.org/conduct) | [Twitter](https://twitter.com/geteslint) | [Mailing List](https://groups.google.com/group/eslint) | [Chat Room](https://eslint.org/chat) @@ -35,10 +35,11 @@ ESLint is a tool for identifying and reporting on patterns found in ECMAScript/J 6. [Releases](#releases) 7. [Security Policy](#security-policy) 8. [Semantic Versioning Policy](#semantic-versioning-policy) -9. [License](#license) -10. [Team](#team) -11. [Sponsors](#sponsors) -12. [Technology Sponsors](#technology-sponsors) +9. [Stylistic Rule Updates](#stylistic-rule-updates) +10. [License](#license) +11. [Team](#team) +12. [Sponsors](#sponsors) +13. [Technology Sponsors](#technology-sponsors) ## Installation and Usage @@ -85,7 +86,7 @@ The three error levels allow you fine-grained control over how ESLint applies ru ## Code of Conduct -ESLint adheres to the [JS Foundation Code of Conduct](https://js.foundation/community/code-of-conduct). +ESLint adheres to the [JS Foundation Code of Conduct](https://eslint.org/conduct). ## Filing Issues @@ -136,6 +137,16 @@ Once a language feature has been adopted into the ECMAScript standard (stage 4 a Join our [Mailing List](https://groups.google.com/group/eslint) or [Chatroom](https://eslint.org/chat). +### Why doesn't ESLint lock dependency versions? + +Lock files like `package-lock.json` are helpful for deployed applications. They ensure that dependencies are consistent between environments and across deployments. + +Packages like `eslint` that get published to the npm registry do not include lock files. `npm install eslint` as a user will respect version constraints in ESLint's `package.json`. ESLint and its dependencies will be included in the user's lock file if one exists, but ESLint's own lock file would not be used. + +We intentionally don't lock dependency versions so that we have the latest compatible dependency versions in development and CI that our users get when installing ESLint in a project. + +The Twilio blog has a [deeper dive](https://www.twilio.com/blog/lockfiles-nodejs) to learn more. + ## Releases We have scheduled releases every two weeks on Friday or Saturday. You can follow a [release issue](https://github.com/eslint/eslint/issues?q=is%3Aopen+is%3Aissue+label%3Arelease) for updates about the scheduling of any particular release. @@ -158,6 +169,7 @@ ESLint follows [semantic versioning](https://semver.org). However, due to the na * A bug fix in a rule that results in ESLint reporting more linting errors. * A new rule is created. * A new option to an existing rule that does not result in ESLint reporting more linting errors by default. + * A new addition to an existing rule to support a newly-added language feature (within the last 12 months) that will result in ESLint reporting more linting errors by default. * An existing rule is deprecated. * A new CLI capability is created. * New capabilities to the public API are added (new classes, new methods, new arguments to existing methods, etc.). @@ -176,6 +188,15 @@ ESLint follows [semantic versioning](https://semver.org). However, due to the na According to our policy, any minor update may report more linting errors than the previous release (ex: from a bug fix). As such, we recommend using the tilde (`~`) in `package.json` e.g. `"eslint": "~3.1.0"` to guarantee the results of your builds. +## Stylistic Rule Updates + +Stylistic rules are frozen according to [our policy](https://eslint.org/blog/2020/05/changes-to-rules-policies) on how we evaluate new rules and rule changes. +This means: + +* **Bug fixes**: We will still fix bugs in stylistic rules. +* **New ECMAScript features**: We will also make sure stylistic rules are compatible with new ECMAScript features. +* **New options**: We will **not** add any new options to stylistic rules unless an option is the only way to fix a bug or support a newly-added ECMAScript feature. + ## License [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint?ref=badge_large) @@ -202,16 +223,6 @@ Nicholas C. Zakas Brandon Mills - -
-Toru Nagashima -
- - -
-Kai Cataldo -
-
Milos Djermanovic @@ -224,6 +235,11 @@ Milos Djermanovic The people who review and implement new features.
+ +
+Toru Nagashima +
+

薛定谔的猫 @@ -252,6 +268,11 @@ Anix
YeonJuan
+
+ +
+Nitin Kumar +
@@ -263,10 +284,11 @@ The following companies, organizations, and individuals support ESLint's ongoing -

Gold Sponsors

-

Salesforce Airbnb Microsoft FOSS Fund Sponsorships

Silver Sponsors

-

Liftoff AMP Project

Bronze Sponsors

-

Buy.Fineproxy.Org Veikkaajat.com Nettikasinot.media My True Media Norgekasino Japanesecasino CasinoTop.com Casino Topp Anagram Solver Kasinot.fi Pelisivut Nettikasinot.org BonusFinder Deutschland Bugsnag Stability Monitoring Mixpanel VPS Server Icons8: free icons, photos, illustrations, and music Discord ThemeIsle Marfeel Fire Stick Tricks

+

Platinum Sponsors

+

Automattic

Gold Sponsors

+

Nx (by Nrwl) Chrome's Web Framework & Tools Performance Fund Salesforce Airbnb Coinbase Substack

Silver Sponsors

+

Retool Liftoff

Bronze Sponsors

+

Anagram Solver Bugsnag Stability Monitoring Mixpanel VPS Server Icons8: free icons, photos, illustrations, and music Discord ThemeIsle Fire Stick Tricks Practice Ignition

## Technology Sponsors diff --git a/node_modules/eslint/bin/eslint.js b/node_modules/eslint/bin/eslint.js index 75b413148..5fa576682 100755 --- a/node_modules/eslint/bin/eslint.js +++ b/node_modules/eslint/bin/eslint.js @@ -14,7 +14,7 @@ require("v8-compile-cache"); // must do this initialization *before* other requires in order to work if (process.argv.includes("--debug")) { - require("debug").enable("eslint:*,-eslint:code-path"); + require("debug").enable("eslint:*,-eslint:code-path,eslintrc:*"); } //------------------------------------------------------------------------------ @@ -66,11 +66,8 @@ function readStdin() { */ function getErrorMessage(error) { - // Lazy loading because those are used only if error happened. - const fs = require("fs"); - const path = require("path"); + // Lazy loading because this is used only if an error happened. const util = require("util"); - const lodash = require("lodash"); // Foolproof -- thirdparty module might throw non-object. if (typeof error !== "object" || error === null) { @@ -80,14 +77,7 @@ function getErrorMessage(error) { // Use templates if `error.messageTemplate` is present. if (typeof error.messageTemplate === "string") { try { - const templateFilePath = path.resolve( - __dirname, - `../messages/${error.messageTemplate}.txt` - ); - - // Use sync API because Node.js should exit at this tick. - const templateText = fs.readFileSync(templateFilePath, "utf-8"); - const template = lodash.template(templateText); + const template = require(`../messages/${error.messageTemplate}.js`); return template(error.messageData || {}); } catch { diff --git a/node_modules/eslint/conf/default-cli-options.js b/node_modules/eslint/conf/default-cli-options.js index e09a829d1..dad03d89e 100644 --- a/node_modules/eslint/conf/default-cli-options.js +++ b/node_modules/eslint/conf/default-cli-options.js @@ -24,6 +24,7 @@ module.exports = { */ cacheLocation: "", cacheFile: ".eslintcache", + cacheStrategy: "metadata", fix: false, allowInlineConfig: true, reportUnusedDisableDirectives: void 0, diff --git a/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js b/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js deleted file mode 100644 index df49c2777..000000000 --- a/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js +++ /dev/null @@ -1,502 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `CascadingConfigArrayFactory` class. - * - * `CascadingConfigArrayFactory` class has a responsibility: - * - * 1. Handles cascading of config files. - * - * It provides two methods: - * - * - `getConfigArrayForFile(filePath)` - * Get the corresponded configuration of a given file. This method doesn't - * throw even if the given file didn't exist. - * - `clearCache()` - * Clear the internal cache. You have to call this method when - * `additionalPluginPool` was updated if `baseConfig` or `cliConfig` depends - * on the additional plugins. (`CLIEngine#addPlugin()` method calls this.) - * - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const os = require("os"); -const path = require("path"); -const { validateConfigArray } = require("../shared/config-validator"); -const { emitDeprecationWarning } = require("../shared/deprecation-warnings"); -const { ConfigArrayFactory } = require("./config-array-factory"); -const { ConfigArray, ConfigDependency, IgnorePattern } = require("./config-array"); -const loadRules = require("./load-rules"); -const debug = require("debug")("eslint:cascading-config-array-factory"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -// Define types for VSCode IntelliSense. -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").Parser} Parser */ -/** @typedef {import("../shared/types").Plugin} Plugin */ -/** @typedef {ReturnType} ConfigArray */ - -/** - * @typedef {Object} CascadingConfigArrayFactoryOptions - * @property {Map} [additionalPluginPool] The map for additional plugins. - * @property {ConfigData} [baseConfig] The config by `baseConfig` option. - * @property {ConfigData} [cliConfig] The config by CLI options (`--env`, `--global`, `--ignore-pattern`, `--parser`, `--parser-options`, `--plugin`, and `--rule`). CLI options overwrite the setting in config files. - * @property {string} [cwd] The base directory to start lookup. - * @property {string} [ignorePath] The path to the alternative file of `.eslintignore`. - * @property {string[]} [rulePaths] The value of `--rulesdir` option. - * @property {string} [specificConfigPath] The value of `--config` option. - * @property {boolean} [useEslintrc] if `false` then it doesn't load config files. - */ - -/** - * @typedef {Object} CascadingConfigArrayFactoryInternalSlots - * @property {ConfigArray} baseConfigArray The config array of `baseConfig` option. - * @property {ConfigData} baseConfigData The config data of `baseConfig` option. This is used to reset `baseConfigArray`. - * @property {ConfigArray} cliConfigArray The config array of CLI options. - * @property {ConfigData} cliConfigData The config data of CLI options. This is used to reset `cliConfigArray`. - * @property {ConfigArrayFactory} configArrayFactory The factory for config arrays. - * @property {Map} configCache The cache from directory paths to config arrays. - * @property {string} cwd The base directory to start lookup. - * @property {WeakMap} finalizeCache The cache from config arrays to finalized config arrays. - * @property {string} [ignorePath] The path to the alternative file of `.eslintignore`. - * @property {string[]|null} rulePaths The value of `--rulesdir` option. This is used to reset `baseConfigArray`. - * @property {string|null} specificConfigPath The value of `--config` option. This is used to reset `cliConfigArray`. - * @property {boolean} useEslintrc if `false` then it doesn't load config files. - */ - -/** @type {WeakMap} */ -const internalSlotsMap = new WeakMap(); - -/** - * Create the config array from `baseConfig` and `rulePaths`. - * @param {CascadingConfigArrayFactoryInternalSlots} slots The slots. - * @returns {ConfigArray} The config array of the base configs. - */ -function createBaseConfigArray({ - configArrayFactory, - baseConfigData, - rulePaths, - cwd -}) { - const baseConfigArray = configArrayFactory.create( - baseConfigData, - { name: "BaseConfig" } - ); - - /* - * Create the config array element for the default ignore patterns. - * This element has `ignorePattern` property that ignores the default - * patterns in the current working directory. - */ - baseConfigArray.unshift(configArrayFactory.create( - { ignorePatterns: IgnorePattern.DefaultPatterns }, - { name: "DefaultIgnorePattern" } - )[0]); - - /* - * Load rules `--rulesdir` option as a pseudo plugin. - * Use a pseudo plugin to define rules of `--rulesdir`, so we can validate - * the rule's options with only information in the config array. - */ - if (rulePaths && rulePaths.length > 0) { - baseConfigArray.push({ - type: "config", - name: "--rulesdir", - filePath: "", - plugins: { - "": new ConfigDependency({ - definition: { - rules: rulePaths.reduce( - (map, rulesPath) => Object.assign( - map, - loadRules(rulesPath, cwd) - ), - {} - ) - }, - filePath: "", - id: "", - importerName: "--rulesdir", - importerPath: "" - }) - } - }); - } - - return baseConfigArray; -} - -/** - * Create the config array from CLI options. - * @param {CascadingConfigArrayFactoryInternalSlots} slots The slots. - * @returns {ConfigArray} The config array of the base configs. - */ -function createCLIConfigArray({ - cliConfigData, - configArrayFactory, - cwd, - ignorePath, - specificConfigPath -}) { - const cliConfigArray = configArrayFactory.create( - cliConfigData, - { name: "CLIOptions" } - ); - - cliConfigArray.unshift( - ...(ignorePath - ? configArrayFactory.loadESLintIgnore(ignorePath) - : configArrayFactory.loadDefaultESLintIgnore()) - ); - - if (specificConfigPath) { - cliConfigArray.unshift( - ...configArrayFactory.loadFile( - specificConfigPath, - { name: "--config", basePath: cwd } - ) - ); - } - - return cliConfigArray; -} - -/** - * The error type when there are files matched by a glob, but all of them have been ignored. - */ -class ConfigurationNotFoundError extends Error { - - // eslint-disable-next-line jsdoc/require-description - /** - * @param {string} directoryPath The directory path. - */ - constructor(directoryPath) { - super(`No ESLint configuration found in ${directoryPath}.`); - this.messageTemplate = "no-config-found"; - this.messageData = { directoryPath }; - } -} - -/** - * This class provides the functionality that enumerates every file which is - * matched by given glob patterns and that configuration. - */ -class CascadingConfigArrayFactory { - - /** - * Initialize this enumerator. - * @param {CascadingConfigArrayFactoryOptions} options The options. - */ - constructor({ - additionalPluginPool = new Map(), - baseConfig: baseConfigData = null, - cliConfig: cliConfigData = null, - cwd = process.cwd(), - ignorePath, - resolvePluginsRelativeTo, - rulePaths = [], - specificConfigPath = null, - useEslintrc = true - } = {}) { - const configArrayFactory = new ConfigArrayFactory({ - additionalPluginPool, - cwd, - resolvePluginsRelativeTo - }); - - internalSlotsMap.set(this, { - baseConfigArray: createBaseConfigArray({ - baseConfigData, - configArrayFactory, - cwd, - rulePaths - }), - baseConfigData, - cliConfigArray: createCLIConfigArray({ - cliConfigData, - configArrayFactory, - cwd, - ignorePath, - specificConfigPath - }), - cliConfigData, - configArrayFactory, - configCache: new Map(), - cwd, - finalizeCache: new WeakMap(), - ignorePath, - rulePaths, - specificConfigPath, - useEslintrc - }); - } - - /** - * The path to the current working directory. - * This is used by tests. - * @type {string} - */ - get cwd() { - const { cwd } = internalSlotsMap.get(this); - - return cwd; - } - - /** - * Get the config array of a given file. - * If `filePath` was not given, it returns the config which contains only - * `baseConfigData` and `cliConfigData`. - * @param {string} [filePath] The file path to a file. - * @param {Object} [options] The options. - * @param {boolean} [options.ignoreNotFoundError] If `true` then it doesn't throw `ConfigurationNotFoundError`. - * @returns {ConfigArray} The config array of the file. - */ - getConfigArrayForFile(filePath, { ignoreNotFoundError = false } = {}) { - const { - baseConfigArray, - cliConfigArray, - cwd - } = internalSlotsMap.get(this); - - if (!filePath) { - return new ConfigArray(...baseConfigArray, ...cliConfigArray); - } - - const directoryPath = path.dirname(path.resolve(cwd, filePath)); - - debug(`Load config files for ${directoryPath}.`); - - return this._finalizeConfigArray( - this._loadConfigInAncestors(directoryPath), - directoryPath, - ignoreNotFoundError - ); - } - - /** - * Set the config data to override all configs. - * Require to call `clearCache()` method after this method is called. - * @param {ConfigData} configData The config data to override all configs. - * @returns {void} - */ - setOverrideConfig(configData) { - const slots = internalSlotsMap.get(this); - - slots.cliConfigData = configData; - } - - /** - * Clear config cache. - * @returns {void} - */ - clearCache() { - const slots = internalSlotsMap.get(this); - - slots.baseConfigArray = createBaseConfigArray(slots); - slots.cliConfigArray = createCLIConfigArray(slots); - slots.configCache.clear(); - } - - /** - * Load and normalize config files from the ancestor directories. - * @param {string} directoryPath The path to a leaf directory. - * @param {boolean} configsExistInSubdirs `true` if configurations exist in subdirectories. - * @returns {ConfigArray} The loaded config. - * @private - */ - _loadConfigInAncestors(directoryPath, configsExistInSubdirs = false) { - const { - baseConfigArray, - configArrayFactory, - configCache, - cwd, - useEslintrc - } = internalSlotsMap.get(this); - - if (!useEslintrc) { - return baseConfigArray; - } - - let configArray = configCache.get(directoryPath); - - // Hit cache. - if (configArray) { - debug(`Cache hit: ${directoryPath}.`); - return configArray; - } - debug(`No cache found: ${directoryPath}.`); - - const homePath = os.homedir(); - - // Consider this is root. - if (directoryPath === homePath && cwd !== homePath) { - debug("Stop traversing because of considered root."); - if (configsExistInSubdirs) { - const filePath = ConfigArrayFactory.getPathToConfigFileInDirectory(directoryPath); - - if (filePath) { - emitDeprecationWarning( - filePath, - "ESLINT_PERSONAL_CONFIG_SUPPRESS" - ); - } - } - return this._cacheConfig(directoryPath, baseConfigArray); - } - - // Load the config on this directory. - try { - configArray = configArrayFactory.loadInDirectory(directoryPath); - } catch (error) { - /* istanbul ignore next */ - if (error.code === "EACCES") { - debug("Stop traversing because of 'EACCES' error."); - return this._cacheConfig(directoryPath, baseConfigArray); - } - throw error; - } - - if (configArray.length > 0 && configArray.isRoot()) { - debug("Stop traversing because of 'root:true'."); - configArray.unshift(...baseConfigArray); - return this._cacheConfig(directoryPath, configArray); - } - - // Load from the ancestors and merge it. - const parentPath = path.dirname(directoryPath); - const parentConfigArray = parentPath && parentPath !== directoryPath - ? this._loadConfigInAncestors( - parentPath, - configsExistInSubdirs || configArray.length > 0 - ) - : baseConfigArray; - - if (configArray.length > 0) { - configArray.unshift(...parentConfigArray); - } else { - configArray = parentConfigArray; - } - - // Cache and return. - return this._cacheConfig(directoryPath, configArray); - } - - /** - * Freeze and cache a given config. - * @param {string} directoryPath The path to a directory as a cache key. - * @param {ConfigArray} configArray The config array as a cache value. - * @returns {ConfigArray} The `configArray` (frozen). - */ - _cacheConfig(directoryPath, configArray) { - const { configCache } = internalSlotsMap.get(this); - - Object.freeze(configArray); - configCache.set(directoryPath, configArray); - - return configArray; - } - - /** - * Finalize a given config array. - * Concatenate `--config` and other CLI options. - * @param {ConfigArray} configArray The parent config array. - * @param {string} directoryPath The path to the leaf directory to find config files. - * @param {boolean} ignoreNotFoundError If `true` then it doesn't throw `ConfigurationNotFoundError`. - * @returns {ConfigArray} The loaded config. - * @private - */ - _finalizeConfigArray(configArray, directoryPath, ignoreNotFoundError) { - const { - cliConfigArray, - configArrayFactory, - finalizeCache, - useEslintrc - } = internalSlotsMap.get(this); - - let finalConfigArray = finalizeCache.get(configArray); - - if (!finalConfigArray) { - finalConfigArray = configArray; - - // Load the personal config if there are no regular config files. - if ( - useEslintrc && - configArray.every(c => !c.filePath) && - cliConfigArray.every(c => !c.filePath) // `--config` option can be a file. - ) { - const homePath = os.homedir(); - - debug("Loading the config file of the home directory:", homePath); - - const personalConfigArray = configArrayFactory.loadInDirectory( - homePath, - { name: "PersonalConfig" } - ); - - if ( - personalConfigArray.length > 0 && - !directoryPath.startsWith(homePath) - ) { - const lastElement = - personalConfigArray[personalConfigArray.length - 1]; - - emitDeprecationWarning( - lastElement.filePath, - "ESLINT_PERSONAL_CONFIG_LOAD" - ); - } - - finalConfigArray = finalConfigArray.concat(personalConfigArray); - } - - // Apply CLI options. - if (cliConfigArray.length > 0) { - finalConfigArray = finalConfigArray.concat(cliConfigArray); - } - - // Validate rule settings and environments. - validateConfigArray(finalConfigArray); - - // Cache it. - Object.freeze(finalConfigArray); - finalizeCache.set(configArray, finalConfigArray); - - debug( - "Configuration was determined: %o on %s", - finalConfigArray, - directoryPath - ); - } - - // At least one element (the default ignore patterns) exists. - if (!ignoreNotFoundError && useEslintrc && finalConfigArray.length <= 1) { - throw new ConfigurationNotFoundError(directoryPath); - } - - return finalConfigArray; - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { CascadingConfigArrayFactory }; diff --git a/node_modules/eslint/lib/cli-engine/cli-engine.js b/node_modules/eslint/lib/cli-engine/cli-engine.js index 70c6f6f39..ca298f9c3 100644 --- a/node_modules/eslint/lib/cli-engine/cli-engine.js +++ b/node_modules/eslint/lib/cli-engine/cli-engine.js @@ -19,14 +19,24 @@ const fs = require("fs"); const path = require("path"); const defaultOptions = require("../../conf/default-cli-options"); const pkg = require("../../package.json"); -const ConfigOps = require("@eslint/eslintrc/lib/shared/config-ops"); -const naming = require("@eslint/eslintrc/lib/shared/naming"); -const ModuleResolver = require("../shared/relative-module-resolver"); + + +const { + Legacy: { + ConfigOps, + naming, + CascadingConfigArrayFactory, + IgnorePattern, + getUsedExtractedConfigs, + ModuleResolver + } +} = require("@eslint/eslintrc"); + +const { FileEnumerator } = require("./file-enumerator"); + const { Linter } = require("../linter"); const builtInRules = require("../rules"); -const { CascadingConfigArrayFactory } = require("./cascading-config-array-factory"); -const { IgnorePattern, getUsedExtractedConfigs } = require("./config-array"); -const { FileEnumerator } = require("./file-enumerator"); +const loadRules = require("./load-rules"); const hash = require("./hash"); const LintResultCache = require("./lint-result-cache"); @@ -516,7 +526,7 @@ function directoryExists(resolvedPath) { try { return fs.statSync(resolvedPath).isDirectory(); } catch (error) { - if (error && error.code === "ENOENT") { + if (error && (error.code === "ENOENT" || error.code === "ENOTDIR")) { return false; } throw error; @@ -559,7 +569,11 @@ class CLIEngine { resolvePluginsRelativeTo: options.resolvePluginsRelativeTo, rulePaths: options.rulePaths, specificConfigPath: options.configFile, - useEslintrc: options.useEslintrc + useEslintrc: options.useEslintrc, + builtInRules, + loadRules, + eslintRecommendedPath: path.resolve(__dirname, "../../conf/eslint-recommended.js"), + eslintAllPath: path.resolve(__dirname, "../../conf/eslint-all.js") }); const fileEnumerator = new FileEnumerator({ configArrayFactory, @@ -570,7 +584,7 @@ class CLIEngine { ignore: options.ignore }); const lintResultCache = - options.cache ? new LintResultCache(cacheFilePath) : null; + options.cache ? new LintResultCache(cacheFilePath, options.cacheStrategy) : null; const linter = new Linter({ cwd: options.cwd }); /** @type {ConfigArray[]} */ diff --git a/node_modules/eslint/lib/cli-engine/config-array-factory.js b/node_modules/eslint/lib/cli-engine/config-array-factory.js deleted file mode 100644 index 2c7a79b49..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array-factory.js +++ /dev/null @@ -1,1092 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview The factory of `ConfigArray` objects. - * - * This class provides methods to create `ConfigArray` instance. - * - * - `create(configData, options)` - * Create a `ConfigArray` instance from a config data. This is to handle CLI - * options except `--config`. - * - `loadFile(filePath, options)` - * Create a `ConfigArray` instance from a config file. This is to handle - * `--config` option. If the file was not found, throws the following error: - * - If the filename was `*.js`, a `MODULE_NOT_FOUND` error. - * - If the filename was `package.json`, an IO error or an - * `ESLINT_CONFIG_FIELD_NOT_FOUND` error. - * - Otherwise, an IO error such as `ENOENT`. - * - `loadInDirectory(directoryPath, options)` - * Create a `ConfigArray` instance from a config file which is on a given - * directory. This tries to load `.eslintrc.*` or `package.json`. If not - * found, returns an empty `ConfigArray`. - * - `loadESLintIgnore(filePath)` - * Create a `ConfigArray` instance from a config file that is `.eslintignore` - * format. This is to handle `--ignore-path` option. - * - `loadDefaultESLintIgnore()` - * Create a `ConfigArray` instance from `.eslintignore` or `package.json` in - * the current working directory. - * - * `ConfigArrayFactory` class has the responsibility that loads configuration - * files, including loading `extends`, `parser`, and `plugins`. The created - * `ConfigArray` instance has the loaded `extends`, `parser`, and `plugins`. - * - * But this class doesn't handle cascading. `CascadingConfigArrayFactory` class - * handles cascading and hierarchy. - * - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("fs"); -const path = require("path"); -const importFresh = require("import-fresh"); -const stripComments = require("strip-json-comments"); -const { validateConfigSchema } = require("../shared/config-validator"); -const naming = require("@eslint/eslintrc/lib/shared/naming"); -const ModuleResolver = require("../shared/relative-module-resolver"); -const { - ConfigArray, - ConfigDependency, - IgnorePattern, - OverrideTester -} = require("./config-array"); -const debug = require("debug")("eslint:config-array-factory"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const eslintRecommendedPath = path.resolve(__dirname, "../../conf/eslint-recommended.js"); -const eslintAllPath = path.resolve(__dirname, "../../conf/eslint-all.js"); -const configFilenames = [ - ".eslintrc.js", - ".eslintrc.cjs", - ".eslintrc.yaml", - ".eslintrc.yml", - ".eslintrc.json", - ".eslintrc", - "package.json" -]; - -// Define types for VSCode IntelliSense. -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").OverrideConfigData} OverrideConfigData */ -/** @typedef {import("../shared/types").Parser} Parser */ -/** @typedef {import("../shared/types").Plugin} Plugin */ -/** @typedef {import("./config-array/config-dependency").DependentParser} DependentParser */ -/** @typedef {import("./config-array/config-dependency").DependentPlugin} DependentPlugin */ -/** @typedef {ConfigArray[0]} ConfigArrayElement */ - -/** - * @typedef {Object} ConfigArrayFactoryOptions - * @property {Map} [additionalPluginPool] The map for additional plugins. - * @property {string} [cwd] The path to the current working directory. - * @property {string} [resolvePluginsRelativeTo] A path to the directory that plugins should be resolved from. Defaults to `cwd`. - */ - -/** - * @typedef {Object} ConfigArrayFactoryInternalSlots - * @property {Map} additionalPluginPool The map for additional plugins. - * @property {string} cwd The path to the current working directory. - * @property {string | undefined} resolvePluginsRelativeTo An absolute path the the directory that plugins should be resolved from. - */ - -/** - * @typedef {Object} ConfigArrayFactoryLoadingContext - * @property {string} filePath The path to the current configuration. - * @property {string} matchBasePath The base path to resolve relative paths in `overrides[].files`, `overrides[].excludedFiles`, and `ignorePatterns`. - * @property {string} name The name of the current configuration. - * @property {string} pluginBasePath The base path to resolve plugins. - * @property {"config" | "ignore" | "implicit-processor"} type The type of the current configuration. This is `"config"` in normal. This is `"ignore"` if it came from `.eslintignore`. This is `"implicit-processor"` if it came from legacy file-extension processors. - */ - -/** - * @typedef {Object} ConfigArrayFactoryLoadingContext - * @property {string} filePath The path to the current configuration. - * @property {string} matchBasePath The base path to resolve relative paths in `overrides[].files`, `overrides[].excludedFiles`, and `ignorePatterns`. - * @property {string} name The name of the current configuration. - * @property {"config" | "ignore" | "implicit-processor"} type The type of the current configuration. This is `"config"` in normal. This is `"ignore"` if it came from `.eslintignore`. This is `"implicit-processor"` if it came from legacy file-extension processors. - */ - -/** @type {WeakMap} */ -const internalSlotsMap = new WeakMap(); - -/** - * Check if a given string is a file path. - * @param {string} nameOrPath A module name or file path. - * @returns {boolean} `true` if the `nameOrPath` is a file path. - */ -function isFilePath(nameOrPath) { - return ( - /^\.{1,2}[/\\]/u.test(nameOrPath) || - path.isAbsolute(nameOrPath) - ); -} - -/** - * Convenience wrapper for synchronously reading file contents. - * @param {string} filePath The filename to read. - * @returns {string} The file contents, with the BOM removed. - * @private - */ -function readFile(filePath) { - return fs.readFileSync(filePath, "utf8").replace(/^\ufeff/u, ""); -} - -/** - * Loads a YAML configuration from a file. - * @param {string} filePath The filename to load. - * @returns {ConfigData} The configuration object from the file. - * @throws {Error} If the file cannot be read. - * @private - */ -function loadYAMLConfigFile(filePath) { - debug(`Loading YAML config file: ${filePath}`); - - // lazy load YAML to improve performance when not used - const yaml = require("js-yaml"); - - try { - - // empty YAML file can be null, so always use - return yaml.safeLoad(readFile(filePath)) || {}; - } catch (e) { - debug(`Error reading YAML file: ${filePath}`); - e.message = `Cannot read config file: ${filePath}\nError: ${e.message}`; - throw e; - } -} - -/** - * Loads a JSON configuration from a file. - * @param {string} filePath The filename to load. - * @returns {ConfigData} The configuration object from the file. - * @throws {Error} If the file cannot be read. - * @private - */ -function loadJSONConfigFile(filePath) { - debug(`Loading JSON config file: ${filePath}`); - - try { - return JSON.parse(stripComments(readFile(filePath))); - } catch (e) { - debug(`Error reading JSON file: ${filePath}`); - e.message = `Cannot read config file: ${filePath}\nError: ${e.message}`; - e.messageTemplate = "failed-to-read-json"; - e.messageData = { - path: filePath, - message: e.message - }; - throw e; - } -} - -/** - * Loads a legacy (.eslintrc) configuration from a file. - * @param {string} filePath The filename to load. - * @returns {ConfigData} The configuration object from the file. - * @throws {Error} If the file cannot be read. - * @private - */ -function loadLegacyConfigFile(filePath) { - debug(`Loading legacy config file: ${filePath}`); - - // lazy load YAML to improve performance when not used - const yaml = require("js-yaml"); - - try { - return yaml.safeLoad(stripComments(readFile(filePath))) || /* istanbul ignore next */ {}; - } catch (e) { - debug("Error reading YAML file: %s\n%o", filePath, e); - e.message = `Cannot read config file: ${filePath}\nError: ${e.message}`; - throw e; - } -} - -/** - * Loads a JavaScript configuration from a file. - * @param {string} filePath The filename to load. - * @returns {ConfigData} The configuration object from the file. - * @throws {Error} If the file cannot be read. - * @private - */ -function loadJSConfigFile(filePath) { - debug(`Loading JS config file: ${filePath}`); - try { - return importFresh(filePath); - } catch (e) { - debug(`Error reading JavaScript file: ${filePath}`); - e.message = `Cannot read config file: ${filePath}\nError: ${e.message}`; - throw e; - } -} - -/** - * Loads a configuration from a package.json file. - * @param {string} filePath The filename to load. - * @returns {ConfigData} The configuration object from the file. - * @throws {Error} If the file cannot be read. - * @private - */ -function loadPackageJSONConfigFile(filePath) { - debug(`Loading package.json config file: ${filePath}`); - try { - const packageData = loadJSONConfigFile(filePath); - - if (!Object.hasOwnProperty.call(packageData, "eslintConfig")) { - throw Object.assign( - new Error("package.json file doesn't have 'eslintConfig' field."), - { code: "ESLINT_CONFIG_FIELD_NOT_FOUND" } - ); - } - - return packageData.eslintConfig; - } catch (e) { - debug(`Error reading package.json file: ${filePath}`); - e.message = `Cannot read config file: ${filePath}\nError: ${e.message}`; - throw e; - } -} - -/** - * Loads a `.eslintignore` from a file. - * @param {string} filePath The filename to load. - * @returns {string[]} The ignore patterns from the file. - * @private - */ -function loadESLintIgnoreFile(filePath) { - debug(`Loading .eslintignore file: ${filePath}`); - - try { - return readFile(filePath) - .split(/\r?\n/gu) - .filter(line => line.trim() !== "" && !line.startsWith("#")); - } catch (e) { - debug(`Error reading .eslintignore file: ${filePath}`); - e.message = `Cannot read .eslintignore file: ${filePath}\nError: ${e.message}`; - throw e; - } -} - -/** - * Creates an error to notify about a missing config to extend from. - * @param {string} configName The name of the missing config. - * @param {string} importerName The name of the config that imported the missing config - * @param {string} messageTemplate The text template to source error strings from. - * @returns {Error} The error object to throw - * @private - */ -function configInvalidError(configName, importerName, messageTemplate) { - return Object.assign( - new Error(`Failed to load config "${configName}" to extend from.`), - { - messageTemplate, - messageData: { configName, importerName } - } - ); -} - -/** - * Loads a configuration file regardless of the source. Inspects the file path - * to determine the correctly way to load the config file. - * @param {string} filePath The path to the configuration. - * @returns {ConfigData|null} The configuration information. - * @private - */ -function loadConfigFile(filePath) { - switch (path.extname(filePath)) { - case ".js": - case ".cjs": - return loadJSConfigFile(filePath); - - case ".json": - if (path.basename(filePath) === "package.json") { - return loadPackageJSONConfigFile(filePath); - } - return loadJSONConfigFile(filePath); - - case ".yaml": - case ".yml": - return loadYAMLConfigFile(filePath); - - default: - return loadLegacyConfigFile(filePath); - } -} - -/** - * Write debug log. - * @param {string} request The requested module name. - * @param {string} relativeTo The file path to resolve the request relative to. - * @param {string} filePath The resolved file path. - * @returns {void} - */ -function writeDebugLogForLoading(request, relativeTo, filePath) { - /* istanbul ignore next */ - if (debug.enabled) { - let nameAndVersion = null; - - try { - const packageJsonPath = ModuleResolver.resolve( - `${request}/package.json`, - relativeTo - ); - const { version = "unknown" } = require(packageJsonPath); - - nameAndVersion = `${request}@${version}`; - } catch (error) { - debug("package.json was not found:", error.message); - nameAndVersion = request; - } - - debug("Loaded: %s (%s)", nameAndVersion, filePath); - } -} - -/** - * Create a new context with default values. - * @param {ConfigArrayFactoryInternalSlots} slots The internal slots. - * @param {"config" | "ignore" | "implicit-processor" | undefined} providedType The type of the current configuration. Default is `"config"`. - * @param {string | undefined} providedName The name of the current configuration. Default is the relative path from `cwd` to `filePath`. - * @param {string | undefined} providedFilePath The path to the current configuration. Default is empty string. - * @param {string | undefined} providedMatchBasePath The type of the current configuration. Default is the directory of `filePath` or `cwd`. - * @returns {ConfigArrayFactoryLoadingContext} The created context. - */ -function createContext( - { cwd, resolvePluginsRelativeTo }, - providedType, - providedName, - providedFilePath, - providedMatchBasePath -) { - const filePath = providedFilePath - ? path.resolve(cwd, providedFilePath) - : ""; - const matchBasePath = - (providedMatchBasePath && path.resolve(cwd, providedMatchBasePath)) || - (filePath && path.dirname(filePath)) || - cwd; - const name = - providedName || - (filePath && path.relative(cwd, filePath)) || - ""; - const pluginBasePath = - resolvePluginsRelativeTo || - (filePath && path.dirname(filePath)) || - cwd; - const type = providedType || "config"; - - return { filePath, matchBasePath, name, pluginBasePath, type }; -} - -/** - * Normalize a given plugin. - * - Ensure the object to have four properties: configs, environments, processors, and rules. - * - Ensure the object to not have other properties. - * @param {Plugin} plugin The plugin to normalize. - * @returns {Plugin} The normalized plugin. - */ -function normalizePlugin(plugin) { - return { - configs: plugin.configs || {}, - environments: plugin.environments || {}, - processors: plugin.processors || {}, - rules: plugin.rules || {} - }; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * The factory of `ConfigArray` objects. - */ -class ConfigArrayFactory { - - /** - * Initialize this instance. - * @param {ConfigArrayFactoryOptions} [options] The map for additional plugins. - */ - constructor({ - additionalPluginPool = new Map(), - cwd = process.cwd(), - resolvePluginsRelativeTo - } = {}) { - internalSlotsMap.set(this, { - additionalPluginPool, - cwd, - resolvePluginsRelativeTo: - resolvePluginsRelativeTo && - path.resolve(cwd, resolvePluginsRelativeTo) - }); - } - - /** - * Create `ConfigArray` instance from a config data. - * @param {ConfigData|null} configData The config data to create. - * @param {Object} [options] The options. - * @param {string} [options.basePath] The base path to resolve relative paths in `overrides[].files`, `overrides[].excludedFiles`, and `ignorePatterns`. - * @param {string} [options.filePath] The path to this config data. - * @param {string} [options.name] The config name. - * @returns {ConfigArray} Loaded config. - */ - create(configData, { basePath, filePath, name } = {}) { - if (!configData) { - return new ConfigArray(); - } - - const slots = internalSlotsMap.get(this); - const ctx = createContext(slots, "config", name, filePath, basePath); - const elements = this._normalizeConfigData(configData, ctx); - - return new ConfigArray(...elements); - } - - /** - * Load a config file. - * @param {string} filePath The path to a config file. - * @param {Object} [options] The options. - * @param {string} [options.basePath] The base path to resolve relative paths in `overrides[].files`, `overrides[].excludedFiles`, and `ignorePatterns`. - * @param {string} [options.name] The config name. - * @returns {ConfigArray} Loaded config. - */ - loadFile(filePath, { basePath, name } = {}) { - const slots = internalSlotsMap.get(this); - const ctx = createContext(slots, "config", name, filePath, basePath); - - return new ConfigArray(...this._loadConfigData(ctx)); - } - - /** - * Load the config file on a given directory if exists. - * @param {string} directoryPath The path to a directory. - * @param {Object} [options] The options. - * @param {string} [options.basePath] The base path to resolve relative paths in `overrides[].files`, `overrides[].excludedFiles`, and `ignorePatterns`. - * @param {string} [options.name] The config name. - * @returns {ConfigArray} Loaded config. An empty `ConfigArray` if any config doesn't exist. - */ - loadInDirectory(directoryPath, { basePath, name } = {}) { - const slots = internalSlotsMap.get(this); - - for (const filename of configFilenames) { - const ctx = createContext( - slots, - "config", - name, - path.join(directoryPath, filename), - basePath - ); - - if (fs.existsSync(ctx.filePath)) { - let configData; - - try { - configData = loadConfigFile(ctx.filePath); - } catch (error) { - if (!error || error.code !== "ESLINT_CONFIG_FIELD_NOT_FOUND") { - throw error; - } - } - - if (configData) { - debug(`Config file found: ${ctx.filePath}`); - return new ConfigArray( - ...this._normalizeConfigData(configData, ctx) - ); - } - } - } - - debug(`Config file not found on ${directoryPath}`); - return new ConfigArray(); - } - - /** - * Check if a config file on a given directory exists or not. - * @param {string} directoryPath The path to a directory. - * @returns {string | null} The path to the found config file. If not found then null. - */ - static getPathToConfigFileInDirectory(directoryPath) { - for (const filename of configFilenames) { - const filePath = path.join(directoryPath, filename); - - if (fs.existsSync(filePath)) { - if (filename === "package.json") { - try { - loadPackageJSONConfigFile(filePath); - return filePath; - } catch { /* ignore */ } - } else { - return filePath; - } - } - } - return null; - } - - /** - * Load `.eslintignore` file. - * @param {string} filePath The path to a `.eslintignore` file to load. - * @returns {ConfigArray} Loaded config. An empty `ConfigArray` if any config doesn't exist. - */ - loadESLintIgnore(filePath) { - const slots = internalSlotsMap.get(this); - const ctx = createContext( - slots, - "ignore", - void 0, - filePath, - slots.cwd - ); - const ignorePatterns = loadESLintIgnoreFile(ctx.filePath); - - return new ConfigArray( - ...this._normalizeESLintIgnoreData(ignorePatterns, ctx) - ); - } - - /** - * Load `.eslintignore` file in the current working directory. - * @returns {ConfigArray} Loaded config. An empty `ConfigArray` if any config doesn't exist. - */ - loadDefaultESLintIgnore() { - const slots = internalSlotsMap.get(this); - const eslintIgnorePath = path.resolve(slots.cwd, ".eslintignore"); - const packageJsonPath = path.resolve(slots.cwd, "package.json"); - - if (fs.existsSync(eslintIgnorePath)) { - return this.loadESLintIgnore(eslintIgnorePath); - } - if (fs.existsSync(packageJsonPath)) { - const data = loadJSONConfigFile(packageJsonPath); - - if (Object.hasOwnProperty.call(data, "eslintIgnore")) { - if (!Array.isArray(data.eslintIgnore)) { - throw new Error("Package.json eslintIgnore property requires an array of paths"); - } - const ctx = createContext( - slots, - "ignore", - "eslintIgnore in package.json", - packageJsonPath, - slots.cwd - ); - - return new ConfigArray( - ...this._normalizeESLintIgnoreData(data.eslintIgnore, ctx) - ); - } - } - - return new ConfigArray(); - } - - /** - * Load a given config file. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} Loaded config. - * @private - */ - _loadConfigData(ctx) { - return this._normalizeConfigData(loadConfigFile(ctx.filePath), ctx); - } - - /** - * Normalize a given `.eslintignore` data to config array elements. - * @param {string[]} ignorePatterns The patterns to ignore files. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - *_normalizeESLintIgnoreData(ignorePatterns, ctx) { - const elements = this._normalizeObjectConfigData( - { ignorePatterns }, - ctx - ); - - // Set `ignorePattern.loose` flag for backward compatibility. - for (const element of elements) { - if (element.ignorePattern) { - element.ignorePattern.loose = true; - } - yield element; - } - } - - /** - * Normalize a given config to an array. - * @param {ConfigData} configData The config data to normalize. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - _normalizeConfigData(configData, ctx) { - validateConfigSchema(configData, ctx.name || ctx.filePath); - return this._normalizeObjectConfigData(configData, ctx); - } - - /** - * Normalize a given config to an array. - * @param {ConfigData|OverrideConfigData} configData The config data to normalize. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - *_normalizeObjectConfigData(configData, ctx) { - const { files, excludedFiles, ...configBody } = configData; - const criteria = OverrideTester.create( - files, - excludedFiles, - ctx.matchBasePath - ); - const elements = this._normalizeObjectConfigDataBody(configBody, ctx); - - // Apply the criteria to every element. - for (const element of elements) { - - /* - * Merge the criteria. - * This is for the `overrides` entries that came from the - * configurations of `overrides[].extends`. - */ - element.criteria = OverrideTester.and(criteria, element.criteria); - - /* - * Remove `root` property to ignore `root` settings which came from - * `extends` in `overrides`. - */ - if (element.criteria) { - element.root = void 0; - } - - yield element; - } - } - - /** - * Normalize a given config to an array. - * @param {ConfigData} configData The config data to normalize. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - *_normalizeObjectConfigDataBody( - { - env, - extends: extend, - globals, - ignorePatterns, - noInlineConfig, - parser: parserName, - parserOptions, - plugins: pluginList, - processor, - reportUnusedDisableDirectives, - root, - rules, - settings, - overrides: overrideList = [] - }, - ctx - ) { - const extendList = Array.isArray(extend) ? extend : [extend]; - const ignorePattern = ignorePatterns && new IgnorePattern( - Array.isArray(ignorePatterns) ? ignorePatterns : [ignorePatterns], - ctx.matchBasePath - ); - - // Flatten `extends`. - for (const extendName of extendList.filter(Boolean)) { - yield* this._loadExtends(extendName, ctx); - } - - // Load parser & plugins. - const parser = parserName && this._loadParser(parserName, ctx); - const plugins = pluginList && this._loadPlugins(pluginList, ctx); - - // Yield pseudo config data for file extension processors. - if (plugins) { - yield* this._takeFileExtensionProcessors(plugins, ctx); - } - - // Yield the config data except `extends` and `overrides`. - yield { - - // Debug information. - type: ctx.type, - name: ctx.name, - filePath: ctx.filePath, - - // Config data. - criteria: null, - env, - globals, - ignorePattern, - noInlineConfig, - parser, - parserOptions, - plugins, - processor, - reportUnusedDisableDirectives, - root, - rules, - settings - }; - - // Flatten `overries`. - for (let i = 0; i < overrideList.length; ++i) { - yield* this._normalizeObjectConfigData( - overrideList[i], - { ...ctx, name: `${ctx.name}#overrides[${i}]` } - ); - } - } - - /** - * Load configs of an element in `extends`. - * @param {string} extendName The name of a base config. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - _loadExtends(extendName, ctx) { - debug("Loading {extends:%j} relative to %s", extendName, ctx.filePath); - try { - if (extendName.startsWith("eslint:")) { - return this._loadExtendedBuiltInConfig(extendName, ctx); - } - if (extendName.startsWith("plugin:")) { - return this._loadExtendedPluginConfig(extendName, ctx); - } - return this._loadExtendedShareableConfig(extendName, ctx); - } catch (error) { - error.message += `\nReferenced from: ${ctx.filePath || ctx.name}`; - throw error; - } - } - - /** - * Load configs of an element in `extends`. - * @param {string} extendName The name of a base config. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - _loadExtendedBuiltInConfig(extendName, ctx) { - if (extendName === "eslint:recommended") { - return this._loadConfigData({ - ...ctx, - filePath: eslintRecommendedPath, - name: `${ctx.name} » ${extendName}` - }); - } - if (extendName === "eslint:all") { - return this._loadConfigData({ - ...ctx, - filePath: eslintAllPath, - name: `${ctx.name} » ${extendName}` - }); - } - - throw configInvalidError(extendName, ctx.name, "extend-config-missing"); - } - - /** - * Load configs of an element in `extends`. - * @param {string} extendName The name of a base config. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - _loadExtendedPluginConfig(extendName, ctx) { - const slashIndex = extendName.lastIndexOf("/"); - - if (slashIndex === -1) { - throw configInvalidError(extendName, ctx.filePath, "plugin-invalid"); - } - - const pluginName = extendName.slice("plugin:".length, slashIndex); - const configName = extendName.slice(slashIndex + 1); - - if (isFilePath(pluginName)) { - throw new Error("'extends' cannot use a file path for plugins."); - } - - const plugin = this._loadPlugin(pluginName, ctx); - const configData = - plugin.definition && - plugin.definition.configs[configName]; - - if (configData) { - return this._normalizeConfigData(configData, { - ...ctx, - filePath: plugin.filePath || ctx.filePath, - name: `${ctx.name} » plugin:${plugin.id}/${configName}` - }); - } - - throw plugin.error || configInvalidError(extendName, ctx.filePath, "extend-config-missing"); - } - - /** - * Load configs of an element in `extends`. - * @param {string} extendName The name of a base config. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The normalized config. - * @private - */ - _loadExtendedShareableConfig(extendName, ctx) { - const { cwd } = internalSlotsMap.get(this); - const relativeTo = ctx.filePath || path.join(cwd, "__placeholder__.js"); - let request; - - if (isFilePath(extendName)) { - request = extendName; - } else if (extendName.startsWith(".")) { - request = `./${extendName}`; // For backward compatibility. A ton of tests depended on this behavior. - } else { - request = naming.normalizePackageName( - extendName, - "eslint-config" - ); - } - - let filePath; - - try { - filePath = ModuleResolver.resolve(request, relativeTo); - } catch (error) { - /* istanbul ignore else */ - if (error && error.code === "MODULE_NOT_FOUND") { - throw configInvalidError(extendName, ctx.filePath, "extend-config-missing"); - } - throw error; - } - - writeDebugLogForLoading(request, relativeTo, filePath); - return this._loadConfigData({ - ...ctx, - filePath, - name: `${ctx.name} » ${request}` - }); - } - - /** - * Load given plugins. - * @param {string[]} names The plugin names to load. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {Record} The loaded parser. - * @private - */ - _loadPlugins(names, ctx) { - return names.reduce((map, name) => { - if (isFilePath(name)) { - throw new Error("Plugins array cannot includes file paths."); - } - const plugin = this._loadPlugin(name, ctx); - - map[plugin.id] = plugin; - - return map; - }, {}); - } - - /** - * Load a given parser. - * @param {string} nameOrPath The package name or the path to a parser file. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {DependentParser} The loaded parser. - */ - _loadParser(nameOrPath, ctx) { - debug("Loading parser %j from %s", nameOrPath, ctx.filePath); - - const { cwd } = internalSlotsMap.get(this); - const relativeTo = ctx.filePath || path.join(cwd, "__placeholder__.js"); - - try { - const filePath = ModuleResolver.resolve(nameOrPath, relativeTo); - - writeDebugLogForLoading(nameOrPath, relativeTo, filePath); - - return new ConfigDependency({ - definition: require(filePath), - filePath, - id: nameOrPath, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } catch (error) { - - // If the parser name is "espree", load the espree of ESLint. - if (nameOrPath === "espree") { - debug("Fallback espree."); - return new ConfigDependency({ - definition: require("espree"), - filePath: require.resolve("espree"), - id: nameOrPath, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } - - debug("Failed to load parser '%s' declared in '%s'.", nameOrPath, ctx.name); - error.message = `Failed to load parser '${nameOrPath}' declared in '${ctx.name}': ${error.message}`; - - return new ConfigDependency({ - error, - id: nameOrPath, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } - } - - /** - * Load a given plugin. - * @param {string} name The plugin name to load. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {DependentPlugin} The loaded plugin. - * @private - */ - _loadPlugin(name, ctx) { - debug("Loading plugin %j from %s", name, ctx.filePath); - - const { additionalPluginPool } = internalSlotsMap.get(this); - const request = naming.normalizePackageName(name, "eslint-plugin"); - const id = naming.getShorthandName(request, "eslint-plugin"); - const relativeTo = path.join(ctx.pluginBasePath, "__placeholder__.js"); - - if (name.match(/\s+/u)) { - const error = Object.assign( - new Error(`Whitespace found in plugin name '${name}'`), - { - messageTemplate: "whitespace-found", - messageData: { pluginName: request } - } - ); - - return new ConfigDependency({ - error, - id, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } - - // Check for additional pool. - const plugin = - additionalPluginPool.get(request) || - additionalPluginPool.get(id); - - if (plugin) { - return new ConfigDependency({ - definition: normalizePlugin(plugin), - filePath: "", // It's unknown where the plugin came from. - id, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } - - let filePath; - let error; - - try { - filePath = ModuleResolver.resolve(request, relativeTo); - } catch (resolveError) { - error = resolveError; - /* istanbul ignore else */ - if (error && error.code === "MODULE_NOT_FOUND") { - error.messageTemplate = "plugin-missing"; - error.messageData = { - pluginName: request, - resolvePluginsRelativeTo: ctx.pluginBasePath, - importerName: ctx.name - }; - } - } - - if (filePath) { - try { - writeDebugLogForLoading(request, relativeTo, filePath); - - const startTime = Date.now(); - const pluginDefinition = require(filePath); - - debug(`Plugin ${filePath} loaded in: ${Date.now() - startTime}ms`); - - return new ConfigDependency({ - definition: normalizePlugin(pluginDefinition), - filePath, - id, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } catch (loadError) { - error = loadError; - } - } - - debug("Failed to load plugin '%s' declared in '%s'.", name, ctx.name); - error.message = `Failed to load plugin '${name}' declared in '${ctx.name}': ${error.message}`; - return new ConfigDependency({ - error, - id, - importerName: ctx.name, - importerPath: ctx.filePath - }); - } - - /** - * Take file expression processors as config array elements. - * @param {Record} plugins The plugin definitions. - * @param {ConfigArrayFactoryLoadingContext} ctx The loading context. - * @returns {IterableIterator} The config array elements of file expression processors. - * @private - */ - *_takeFileExtensionProcessors(plugins, ctx) { - for (const pluginId of Object.keys(plugins)) { - const processors = - plugins[pluginId] && - plugins[pluginId].definition && - plugins[pluginId].definition.processors; - - if (!processors) { - continue; - } - - for (const processorId of Object.keys(processors)) { - if (processorId.startsWith(".")) { - yield* this._normalizeObjectConfigData( - { - files: [`*${processorId}`], - processor: `${pluginId}/${processorId}` - }, - { - ...ctx, - type: "implicit-processor", - name: `${ctx.name}#processors["${pluginId}/${processorId}"]` - } - ); - } - } - } - } -} - -module.exports = { ConfigArrayFactory, createContext }; diff --git a/node_modules/eslint/lib/cli-engine/config-array/config-array.js b/node_modules/eslint/lib/cli-engine/config-array/config-array.js deleted file mode 100644 index c2ef6c94a..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/config-array.js +++ /dev/null @@ -1,536 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `ConfigArray` class. - * - * `ConfigArray` class expresses the full of a configuration. It has the entry - * config file, base config files that were extended, loaded parsers, and loaded - * plugins. - * - * `ConfigArray` class provides three properties and two methods. - * - * - `pluginEnvironments` - * - `pluginProcessors` - * - `pluginRules` - * The `Map` objects that contain the members of all plugins that this - * config array contains. Those map objects don't have mutation methods. - * Those keys are the member ID such as `pluginId/memberName`. - * - `isRoot()` - * If `true` then this configuration has `root:true` property. - * - `extractConfig(filePath)` - * Extract the final configuration for a given file. This means merging - * every config array element which that `criteria` property matched. The - * `filePath` argument must be an absolute path. - * - * `ConfigArrayFactory` provides the loading logic of config files. - * - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { ExtractedConfig } = require("./extracted-config"); -const { IgnorePattern } = require("./ignore-pattern"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -// Define types for VSCode IntelliSense. -/** @typedef {import("../../shared/types").Environment} Environment */ -/** @typedef {import("../../shared/types").GlobalConf} GlobalConf */ -/** @typedef {import("../../shared/types").RuleConf} RuleConf */ -/** @typedef {import("../../shared/types").Rule} Rule */ -/** @typedef {import("../../shared/types").Plugin} Plugin */ -/** @typedef {import("../../shared/types").Processor} Processor */ -/** @typedef {import("./config-dependency").DependentParser} DependentParser */ -/** @typedef {import("./config-dependency").DependentPlugin} DependentPlugin */ -/** @typedef {import("./override-tester")["OverrideTester"]} OverrideTester */ - -/** - * @typedef {Object} ConfigArrayElement - * @property {string} name The name of this config element. - * @property {string} filePath The path to the source file of this config element. - * @property {InstanceType|null} criteria The tester for the `files` and `excludedFiles` of this config element. - * @property {Record|undefined} env The environment settings. - * @property {Record|undefined} globals The global variable settings. - * @property {IgnorePattern|undefined} ignorePattern The ignore patterns. - * @property {boolean|undefined} noInlineConfig The flag that disables directive comments. - * @property {DependentParser|undefined} parser The parser loader. - * @property {Object|undefined} parserOptions The parser options. - * @property {Record|undefined} plugins The plugin loaders. - * @property {string|undefined} processor The processor name to refer plugin's processor. - * @property {boolean|undefined} reportUnusedDisableDirectives The flag to report unused `eslint-disable` comments. - * @property {boolean|undefined} root The flag to express root. - * @property {Record|undefined} rules The rule settings - * @property {Object|undefined} settings The shared settings. - * @property {"config" | "ignore" | "implicit-processor"} type The element type. - */ - -/** - * @typedef {Object} ConfigArrayInternalSlots - * @property {Map} cache The cache to extract configs. - * @property {ReadonlyMap|null} envMap The map from environment ID to environment definition. - * @property {ReadonlyMap|null} processorMap The map from processor ID to environment definition. - * @property {ReadonlyMap|null} ruleMap The map from rule ID to rule definition. - */ - -/** @type {WeakMap} */ -const internalSlotsMap = new class extends WeakMap { - get(key) { - let value = super.get(key); - - if (!value) { - value = { - cache: new Map(), - envMap: null, - processorMap: null, - ruleMap: null - }; - super.set(key, value); - } - - return value; - } -}(); - -/** - * Get the indices which are matched to a given file. - * @param {ConfigArrayElement[]} elements The elements. - * @param {string} filePath The path to a target file. - * @returns {number[]} The indices. - */ -function getMatchedIndices(elements, filePath) { - const indices = []; - - for (let i = elements.length - 1; i >= 0; --i) { - const element = elements[i]; - - if (!element.criteria || (filePath && element.criteria.test(filePath))) { - indices.push(i); - } - } - - return indices; -} - -/** - * Check if a value is a non-null object. - * @param {any} x The value to check. - * @returns {boolean} `true` if the value is a non-null object. - */ -function isNonNullObject(x) { - return typeof x === "object" && x !== null; -} - -/** - * Merge two objects. - * - * Assign every property values of `y` to `x` if `x` doesn't have the property. - * If `x`'s property value is an object, it does recursive. - * @param {Object} target The destination to merge - * @param {Object|undefined} source The source to merge. - * @returns {void} - */ -function mergeWithoutOverwrite(target, source) { - if (!isNonNullObject(source)) { - return; - } - - for (const key of Object.keys(source)) { - if (key === "__proto__") { - continue; - } - - if (isNonNullObject(target[key])) { - mergeWithoutOverwrite(target[key], source[key]); - } else if (target[key] === void 0) { - if (isNonNullObject(source[key])) { - target[key] = Array.isArray(source[key]) ? [] : {}; - mergeWithoutOverwrite(target[key], source[key]); - } else if (source[key] !== void 0) { - target[key] = source[key]; - } - } - } -} - -/** - * The error for plugin conflicts. - */ -class PluginConflictError extends Error { - - /** - * Initialize this error object. - * @param {string} pluginId The plugin ID. - * @param {{filePath:string, importerName:string}[]} plugins The resolved plugins. - */ - constructor(pluginId, plugins) { - super(`Plugin "${pluginId}" was conflicted between ${plugins.map(p => `"${p.importerName}"`).join(" and ")}.`); - this.messageTemplate = "plugin-conflict"; - this.messageData = { pluginId, plugins }; - } -} - -/** - * Merge plugins. - * `target`'s definition is prior to `source`'s. - * @param {Record} target The destination to merge - * @param {Record|undefined} source The source to merge. - * @returns {void} - */ -function mergePlugins(target, source) { - if (!isNonNullObject(source)) { - return; - } - - for (const key of Object.keys(source)) { - if (key === "__proto__") { - continue; - } - const targetValue = target[key]; - const sourceValue = source[key]; - - // Adopt the plugin which was found at first. - if (targetValue === void 0) { - if (sourceValue.error) { - throw sourceValue.error; - } - target[key] = sourceValue; - } else if (sourceValue.filePath !== targetValue.filePath) { - throw new PluginConflictError(key, [ - { - filePath: targetValue.filePath, - importerName: targetValue.importerName - }, - { - filePath: sourceValue.filePath, - importerName: sourceValue.importerName - } - ]); - } - } -} - -/** - * Merge rule configs. - * `target`'s definition is prior to `source`'s. - * @param {Record} target The destination to merge - * @param {Record|undefined} source The source to merge. - * @returns {void} - */ -function mergeRuleConfigs(target, source) { - if (!isNonNullObject(source)) { - return; - } - - for (const key of Object.keys(source)) { - if (key === "__proto__") { - continue; - } - const targetDef = target[key]; - const sourceDef = source[key]; - - // Adopt the rule config which was found at first. - if (targetDef === void 0) { - if (Array.isArray(sourceDef)) { - target[key] = [...sourceDef]; - } else { - target[key] = [sourceDef]; - } - - /* - * If the first found rule config is severity only and the current rule - * config has options, merge the severity and the options. - */ - } else if ( - targetDef.length === 1 && - Array.isArray(sourceDef) && - sourceDef.length >= 2 - ) { - targetDef.push(...sourceDef.slice(1)); - } - } -} - -/** - * Create the extracted config. - * @param {ConfigArray} instance The config elements. - * @param {number[]} indices The indices to use. - * @returns {ExtractedConfig} The extracted config. - */ -function createConfig(instance, indices) { - const config = new ExtractedConfig(); - const ignorePatterns = []; - - // Merge elements. - for (const index of indices) { - const element = instance[index]; - - // Adopt the parser which was found at first. - if (!config.parser && element.parser) { - if (element.parser.error) { - throw element.parser.error; - } - config.parser = element.parser; - } - - // Adopt the processor which was found at first. - if (!config.processor && element.processor) { - config.processor = element.processor; - } - - // Adopt the noInlineConfig which was found at first. - if (config.noInlineConfig === void 0 && element.noInlineConfig !== void 0) { - config.noInlineConfig = element.noInlineConfig; - config.configNameOfNoInlineConfig = element.name; - } - - // Adopt the reportUnusedDisableDirectives which was found at first. - if (config.reportUnusedDisableDirectives === void 0 && element.reportUnusedDisableDirectives !== void 0) { - config.reportUnusedDisableDirectives = element.reportUnusedDisableDirectives; - } - - // Collect ignorePatterns - if (element.ignorePattern) { - ignorePatterns.push(element.ignorePattern); - } - - // Merge others. - mergeWithoutOverwrite(config.env, element.env); - mergeWithoutOverwrite(config.globals, element.globals); - mergeWithoutOverwrite(config.parserOptions, element.parserOptions); - mergeWithoutOverwrite(config.settings, element.settings); - mergePlugins(config.plugins, element.plugins); - mergeRuleConfigs(config.rules, element.rules); - } - - // Create the predicate function for ignore patterns. - if (ignorePatterns.length > 0) { - config.ignores = IgnorePattern.createIgnore(ignorePatterns.reverse()); - } - - return config; -} - -/** - * Collect definitions. - * @template T, U - * @param {string} pluginId The plugin ID for prefix. - * @param {Record} defs The definitions to collect. - * @param {Map} map The map to output. - * @param {function(T): U} [normalize] The normalize function for each value. - * @returns {void} - */ -function collect(pluginId, defs, map, normalize) { - if (defs) { - const prefix = pluginId && `${pluginId}/`; - - for (const [key, value] of Object.entries(defs)) { - map.set( - `${prefix}${key}`, - normalize ? normalize(value) : value - ); - } - } -} - -/** - * Normalize a rule definition. - * @param {Function|Rule} rule The rule definition to normalize. - * @returns {Rule} The normalized rule definition. - */ -function normalizePluginRule(rule) { - return typeof rule === "function" ? { create: rule } : rule; -} - -/** - * Delete the mutation methods from a given map. - * @param {Map} map The map object to delete. - * @returns {void} - */ -function deleteMutationMethods(map) { - Object.defineProperties(map, { - clear: { configurable: true, value: void 0 }, - delete: { configurable: true, value: void 0 }, - set: { configurable: true, value: void 0 } - }); -} - -/** - * Create `envMap`, `processorMap`, `ruleMap` with the plugins in the config array. - * @param {ConfigArrayElement[]} elements The config elements. - * @param {ConfigArrayInternalSlots} slots The internal slots. - * @returns {void} - */ -function initPluginMemberMaps(elements, slots) { - const processed = new Set(); - - slots.envMap = new Map(); - slots.processorMap = new Map(); - slots.ruleMap = new Map(); - - for (const element of elements) { - if (!element.plugins) { - continue; - } - - for (const [pluginId, value] of Object.entries(element.plugins)) { - const plugin = value.definition; - - if (!plugin || processed.has(pluginId)) { - continue; - } - processed.add(pluginId); - - collect(pluginId, plugin.environments, slots.envMap); - collect(pluginId, plugin.processors, slots.processorMap); - collect(pluginId, plugin.rules, slots.ruleMap, normalizePluginRule); - } - } - - deleteMutationMethods(slots.envMap); - deleteMutationMethods(slots.processorMap); - deleteMutationMethods(slots.ruleMap); -} - -/** - * Create `envMap`, `processorMap`, `ruleMap` with the plugins in the config array. - * @param {ConfigArray} instance The config elements. - * @returns {ConfigArrayInternalSlots} The extracted config. - */ -function ensurePluginMemberMaps(instance) { - const slots = internalSlotsMap.get(instance); - - if (!slots.ruleMap) { - initPluginMemberMaps(instance, slots); - } - - return slots; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * The Config Array. - * - * `ConfigArray` instance contains all settings, parsers, and plugins. - * You need to call `ConfigArray#extractConfig(filePath)` method in order to - * extract, merge and get only the config data which is related to an arbitrary - * file. - * @extends {Array} - */ -class ConfigArray extends Array { - - /** - * Get the plugin environments. - * The returned map cannot be mutated. - * @type {ReadonlyMap} The plugin environments. - */ - get pluginEnvironments() { - return ensurePluginMemberMaps(this).envMap; - } - - /** - * Get the plugin processors. - * The returned map cannot be mutated. - * @type {ReadonlyMap} The plugin processors. - */ - get pluginProcessors() { - return ensurePluginMemberMaps(this).processorMap; - } - - /** - * Get the plugin rules. - * The returned map cannot be mutated. - * @returns {ReadonlyMap} The plugin rules. - */ - get pluginRules() { - return ensurePluginMemberMaps(this).ruleMap; - } - - /** - * Check if this config has `root` flag. - * @returns {boolean} `true` if this config array is root. - */ - isRoot() { - for (let i = this.length - 1; i >= 0; --i) { - const root = this[i].root; - - if (typeof root === "boolean") { - return root; - } - } - return false; - } - - /** - * Extract the config data which is related to a given file. - * @param {string} filePath The absolute path to the target file. - * @returns {ExtractedConfig} The extracted config data. - */ - extractConfig(filePath) { - const { cache } = internalSlotsMap.get(this); - const indices = getMatchedIndices(this, filePath); - const cacheKey = indices.join(","); - - if (!cache.has(cacheKey)) { - cache.set(cacheKey, createConfig(this, indices)); - } - - return cache.get(cacheKey); - } - - /** - * Check if a given path is an additional lint target. - * @param {string} filePath The absolute path to the target file. - * @returns {boolean} `true` if the file is an additional lint target. - */ - isAdditionalTargetPath(filePath) { - for (const { criteria, type } of this) { - if ( - type === "config" && - criteria && - !criteria.endsWithWildcard && - criteria.test(filePath) - ) { - return true; - } - } - return false; - } -} - -const exportObject = { - ConfigArray, - - /** - * Get the used extracted configs. - * CLIEngine will use this method to collect used deprecated rules. - * @param {ConfigArray} instance The config array object to get. - * @returns {ExtractedConfig[]} The used extracted configs. - * @private - */ - getUsedExtractedConfigs(instance) { - const { cache } = internalSlotsMap.get(instance); - - return Array.from(cache.values()); - } -}; - -module.exports = exportObject; diff --git a/node_modules/eslint/lib/cli-engine/config-array/config-dependency.js b/node_modules/eslint/lib/cli-engine/config-array/config-dependency.js deleted file mode 100644 index 9fc67b010..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/config-dependency.js +++ /dev/null @@ -1,128 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `ConfigDependency` class. - * - * `ConfigDependency` class expresses a loaded parser or plugin. - * - * If the parser or plugin was loaded successfully, it has `definition` property - * and `filePath` property. Otherwise, it has `error` property. - * - * When `JSON.stringify()` converted a `ConfigDependency` object to a JSON, it - * omits `definition` property. - * - * `ConfigArrayFactory` creates `ConfigDependency` objects when it loads parsers - * or plugins. - * - * @author Toru Nagashima - */ -"use strict"; - -const util = require("util"); - -/** - * The class is to store parsers or plugins. - * This class hides the loaded object from `JSON.stringify()` and `console.log`. - * @template T - */ -class ConfigDependency { - - /** - * Initialize this instance. - * @param {Object} data The dependency data. - * @param {T} [data.definition] The dependency if the loading succeeded. - * @param {Error} [data.error] The error object if the loading failed. - * @param {string} [data.filePath] The actual path to the dependency if the loading succeeded. - * @param {string} data.id The ID of this dependency. - * @param {string} data.importerName The name of the config file which loads this dependency. - * @param {string} data.importerPath The path to the config file which loads this dependency. - */ - constructor({ - definition = null, - error = null, - filePath = null, - id, - importerName, - importerPath - }) { - - /** - * The loaded dependency if the loading succeeded. - * @type {T|null} - */ - this.definition = definition; - - /** - * The error object if the loading failed. - * @type {Error|null} - */ - this.error = error; - - /** - * The loaded dependency if the loading succeeded. - * @type {string|null} - */ - this.filePath = filePath; - - /** - * The ID of this dependency. - * @type {string} - */ - this.id = id; - - /** - * The name of the config file which loads this dependency. - * @type {string} - */ - this.importerName = importerName; - - /** - * The path to the config file which loads this dependency. - * @type {string} - */ - this.importerPath = importerPath; - } - - // eslint-disable-next-line jsdoc/require-description - /** - * @returns {Object} a JSON compatible object. - */ - toJSON() { - const obj = this[util.inspect.custom](); - - // Display `error.message` (`Error#message` is unenumerable). - if (obj.error instanceof Error) { - obj.error = { ...obj.error, message: obj.error.message }; - } - - return obj; - } - - // eslint-disable-next-line jsdoc/require-description - /** - * @returns {Object} an object to display by `console.log()`. - */ - [util.inspect.custom]() { - const { - definition: _ignore, // eslint-disable-line no-unused-vars - ...obj - } = this; - - return obj; - } -} - -/** @typedef {ConfigDependency} DependentParser */ -/** @typedef {ConfigDependency} DependentPlugin */ - -module.exports = { ConfigDependency }; diff --git a/node_modules/eslint/lib/cli-engine/config-array/extracted-config.js b/node_modules/eslint/lib/cli-engine/config-array/extracted-config.js deleted file mode 100644 index fd7cabab3..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/extracted-config.js +++ /dev/null @@ -1,158 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `ExtractedConfig` class. - * - * `ExtractedConfig` class expresses a final configuration for a specific file. - * - * It provides one method. - * - * - `toCompatibleObjectAsConfigFileContent()` - * Convert this configuration to the compatible object as the content of - * config files. It converts the loaded parser and plugins to strings. - * `CLIEngine#getConfigForFile(filePath)` method uses this method. - * - * `ConfigArray#extractConfig(filePath)` creates a `ExtractedConfig` instance. - * - * @author Toru Nagashima - */ -"use strict"; - -const { IgnorePattern } = require("./ignore-pattern"); - -// For VSCode intellisense -/** @typedef {import("../../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../../shared/types").GlobalConf} GlobalConf */ -/** @typedef {import("../../shared/types").SeverityConf} SeverityConf */ -/** @typedef {import("./config-dependency").DependentParser} DependentParser */ -/** @typedef {import("./config-dependency").DependentPlugin} DependentPlugin */ - -/** - * Check if `xs` starts with `ys`. - * @template T - * @param {T[]} xs The array to check. - * @param {T[]} ys The array that may be the first part of `xs`. - * @returns {boolean} `true` if `xs` starts with `ys`. - */ -function startsWith(xs, ys) { - return xs.length >= ys.length && ys.every((y, i) => y === xs[i]); -} - -/** - * The class for extracted config data. - */ -class ExtractedConfig { - constructor() { - - /** - * The config name what `noInlineConfig` setting came from. - * @type {string} - */ - this.configNameOfNoInlineConfig = ""; - - /** - * Environments. - * @type {Record} - */ - this.env = {}; - - /** - * Global variables. - * @type {Record} - */ - this.globals = {}; - - /** - * The glob patterns that ignore to lint. - * @type {(((filePath:string, dot?:boolean) => boolean) & { basePath:string; patterns:string[] }) | undefined} - */ - this.ignores = void 0; - - /** - * The flag that disables directive comments. - * @type {boolean|undefined} - */ - this.noInlineConfig = void 0; - - /** - * Parser definition. - * @type {DependentParser|null} - */ - this.parser = null; - - /** - * Options for the parser. - * @type {Object} - */ - this.parserOptions = {}; - - /** - * Plugin definitions. - * @type {Record} - */ - this.plugins = {}; - - /** - * Processor ID. - * @type {string|null} - */ - this.processor = null; - - /** - * The flag that reports unused `eslint-disable` directive comments. - * @type {boolean|undefined} - */ - this.reportUnusedDisableDirectives = void 0; - - /** - * Rule settings. - * @type {Record} - */ - this.rules = {}; - - /** - * Shared settings. - * @type {Object} - */ - this.settings = {}; - } - - /** - * Convert this config to the compatible object as a config file content. - * @returns {ConfigData} The converted object. - */ - toCompatibleObjectAsConfigFileContent() { - const { - /* eslint-disable no-unused-vars */ - configNameOfNoInlineConfig: _ignore1, - processor: _ignore2, - /* eslint-enable no-unused-vars */ - ignores, - ...config - } = this; - - config.parser = config.parser && config.parser.filePath; - config.plugins = Object.keys(config.plugins).filter(Boolean).reverse(); - config.ignorePatterns = ignores ? ignores.patterns : []; - - // Strip the default patterns from `ignorePatterns`. - if (startsWith(config.ignorePatterns, IgnorePattern.DefaultPatterns)) { - config.ignorePatterns = - config.ignorePatterns.slice(IgnorePattern.DefaultPatterns.length); - } - - return config; - } -} - -module.exports = { ExtractedConfig }; diff --git a/node_modules/eslint/lib/cli-engine/config-array/ignore-pattern.js b/node_modules/eslint/lib/cli-engine/config-array/ignore-pattern.js deleted file mode 100644 index 37d686dd1..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/ignore-pattern.js +++ /dev/null @@ -1,249 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `IgnorePattern` class. - * - * `IgnorePattern` class has the set of glob patterns and the base path. - * - * It provides two static methods. - * - * - `IgnorePattern.createDefaultIgnore(cwd)` - * Create the default predicate function. - * - `IgnorePattern.createIgnore(ignorePatterns)` - * Create the predicate function from multiple `IgnorePattern` objects. - * - * It provides two properties and a method. - * - * - `patterns` - * The glob patterns that ignore to lint. - * - `basePath` - * The base path of the glob patterns. If absolute paths existed in the - * glob patterns, those are handled as relative paths to the base path. - * - `getPatternsRelativeTo(basePath)` - * Get `patterns` as modified for a given base path. It modifies the - * absolute paths in the patterns as prepending the difference of two base - * paths. - * - * `ConfigArrayFactory` creates `IgnorePattern` objects when it processes - * `ignorePatterns` properties. - * - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const assert = require("assert"); -const path = require("path"); -const ignore = require("ignore"); -const debug = require("debug")("eslint:ignore-pattern"); - -/** @typedef {ReturnType} Ignore */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Get the path to the common ancestor directory of given paths. - * @param {string[]} sourcePaths The paths to calculate the common ancestor. - * @returns {string} The path to the common ancestor directory. - */ -function getCommonAncestorPath(sourcePaths) { - let result = sourcePaths[0]; - - for (let i = 1; i < sourcePaths.length; ++i) { - const a = result; - const b = sourcePaths[i]; - - // Set the shorter one (it's the common ancestor if one includes the other). - result = a.length < b.length ? a : b; - - // Set the common ancestor. - for (let j = 0, lastSepPos = 0; j < a.length && j < b.length; ++j) { - if (a[j] !== b[j]) { - result = a.slice(0, lastSepPos); - break; - } - if (a[j] === path.sep) { - lastSepPos = j; - } - } - } - - let resolvedResult = result || path.sep; - - // if Windows common ancestor is root of drive must have trailing slash to be absolute. - if (resolvedResult && resolvedResult.endsWith(":") && process.platform === "win32") { - resolvedResult += path.sep; - } - return resolvedResult; -} - -/** - * Make relative path. - * @param {string} from The source path to get relative path. - * @param {string} to The destination path to get relative path. - * @returns {string} The relative path. - */ -function relative(from, to) { - const relPath = path.relative(from, to); - - if (path.sep === "/") { - return relPath; - } - return relPath.split(path.sep).join("/"); -} - -/** - * Get the trailing slash if existed. - * @param {string} filePath The path to check. - * @returns {string} The trailing slash if existed. - */ -function dirSuffix(filePath) { - const isDir = ( - filePath.endsWith(path.sep) || - (process.platform === "win32" && filePath.endsWith("/")) - ); - - return isDir ? "/" : ""; -} - -const DefaultPatterns = Object.freeze(["/**/node_modules/*"]); -const DotPatterns = Object.freeze([".*", "!.eslintrc.*", "!../"]); - -//------------------------------------------------------------------------------ -// Public -//------------------------------------------------------------------------------ - -class IgnorePattern { - - /** - * The default patterns. - * @type {string[]} - */ - static get DefaultPatterns() { - return DefaultPatterns; - } - - /** - * Create the default predicate function. - * @param {string} cwd The current working directory. - * @returns {((filePath:string, dot:boolean) => boolean) & {basePath:string; patterns:string[]}} - * The preficate function. - * The first argument is an absolute path that is checked. - * The second argument is the flag to not ignore dotfiles. - * If the predicate function returned `true`, it means the path should be ignored. - */ - static createDefaultIgnore(cwd) { - return this.createIgnore([new IgnorePattern(DefaultPatterns, cwd)]); - } - - /** - * Create the predicate function from multiple `IgnorePattern` objects. - * @param {IgnorePattern[]} ignorePatterns The list of ignore patterns. - * @returns {((filePath:string, dot?:boolean) => boolean) & {basePath:string; patterns:string[]}} - * The preficate function. - * The first argument is an absolute path that is checked. - * The second argument is the flag to not ignore dotfiles. - * If the predicate function returned `true`, it means the path should be ignored. - */ - static createIgnore(ignorePatterns) { - debug("Create with: %o", ignorePatterns); - - const basePath = getCommonAncestorPath(ignorePatterns.map(p => p.basePath)); - const patterns = [].concat( - ...ignorePatterns.map(p => p.getPatternsRelativeTo(basePath)) - ); - const ig = ignore().add([...DotPatterns, ...patterns]); - const dotIg = ignore().add(patterns); - - debug(" processed: %o", { basePath, patterns }); - - return Object.assign( - (filePath, dot = false) => { - assert(path.isAbsolute(filePath), "'filePath' should be an absolute path."); - const relPathRaw = relative(basePath, filePath); - const relPath = relPathRaw && (relPathRaw + dirSuffix(filePath)); - const adoptedIg = dot ? dotIg : ig; - const result = relPath !== "" && adoptedIg.ignores(relPath); - - debug("Check", { filePath, dot, relativePath: relPath, result }); - return result; - }, - { basePath, patterns } - ); - } - - /** - * Initialize a new `IgnorePattern` instance. - * @param {string[]} patterns The glob patterns that ignore to lint. - * @param {string} basePath The base path of `patterns`. - */ - constructor(patterns, basePath) { - assert(path.isAbsolute(basePath), "'basePath' should be an absolute path."); - - /** - * The glob patterns that ignore to lint. - * @type {string[]} - */ - this.patterns = patterns; - - /** - * The base path of `patterns`. - * @type {string} - */ - this.basePath = basePath; - - /** - * If `true` then patterns which don't start with `/` will match the paths to the outside of `basePath`. Defaults to `false`. - * - * It's set `true` for `.eslintignore`, `package.json`, and `--ignore-path` for backward compatibility. - * It's `false` as-is for `ignorePatterns` property in config files. - * @type {boolean} - */ - this.loose = false; - } - - /** - * Get `patterns` as modified for a given base path. It modifies the - * absolute paths in the patterns as prepending the difference of two base - * paths. - * @param {string} newBasePath The base path. - * @returns {string[]} Modifired patterns. - */ - getPatternsRelativeTo(newBasePath) { - assert(path.isAbsolute(newBasePath), "'newBasePath' should be an absolute path."); - const { basePath, loose, patterns } = this; - - if (newBasePath === basePath) { - return patterns; - } - const prefix = `/${relative(newBasePath, basePath)}`; - - return patterns.map(pattern => { - const negative = pattern.startsWith("!"); - const head = negative ? "!" : ""; - const body = negative ? pattern.slice(1) : pattern; - - if (body.startsWith("/") || body.startsWith("../")) { - return `${head}${prefix}${body}`; - } - return loose ? pattern : `${head}${prefix}/**/${body}`; - }); - } -} - -module.exports = { IgnorePattern }; diff --git a/node_modules/eslint/lib/cli-engine/config-array/index.js b/node_modules/eslint/lib/cli-engine/config-array/index.js deleted file mode 100644 index 146c6f892..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `ConfigArray` class. - * @author Toru Nagashima - */ -"use strict"; - -const { ConfigArray, getUsedExtractedConfigs } = require("./config-array"); -const { ConfigDependency } = require("./config-dependency"); -const { ExtractedConfig } = require("./extracted-config"); -const { IgnorePattern } = require("./ignore-pattern"); -const { OverrideTester } = require("./override-tester"); - -module.exports = { - ConfigArray, - ConfigDependency, - ExtractedConfig, - IgnorePattern, - OverrideTester, - getUsedExtractedConfigs -}; diff --git a/node_modules/eslint/lib/cli-engine/config-array/override-tester.js b/node_modules/eslint/lib/cli-engine/config-array/override-tester.js deleted file mode 100644 index 75dffe235..000000000 --- a/node_modules/eslint/lib/cli-engine/config-array/override-tester.js +++ /dev/null @@ -1,235 +0,0 @@ -/* - * STOP!!! DO NOT MODIFY. - * - * This file is part of the ongoing work to move the eslintrc-style config - * system into the @eslint/eslintrc package. This file needs to remain - * unchanged in order for this work to proceed. - * - * If you think you need to change this file, please contact @nzakas first. - * - * Thanks in advance for your cooperation. - */ - -/** - * @fileoverview `OverrideTester` class. - * - * `OverrideTester` class handles `files` property and `excludedFiles` property - * of `overrides` config. - * - * It provides one method. - * - * - `test(filePath)` - * Test if a file path matches the pair of `files` property and - * `excludedFiles` property. The `filePath` argument must be an absolute - * path. - * - * `ConfigArrayFactory` creates `OverrideTester` objects when it processes - * `overrides` properties. - * - * @author Toru Nagashima - */ -"use strict"; - -const assert = require("assert"); -const path = require("path"); -const util = require("util"); -const { Minimatch } = require("minimatch"); -const minimatchOpts = { dot: true, matchBase: true }; - -/** - * @typedef {Object} Pattern - * @property {InstanceType[] | null} includes The positive matchers. - * @property {InstanceType[] | null} excludes The negative matchers. - */ - -/** - * Normalize a given pattern to an array. - * @param {string|string[]|undefined} patterns A glob pattern or an array of glob patterns. - * @returns {string[]|null} Normalized patterns. - * @private - */ -function normalizePatterns(patterns) { - if (Array.isArray(patterns)) { - return patterns.filter(Boolean); - } - if (typeof patterns === "string" && patterns) { - return [patterns]; - } - return []; -} - -/** - * Create the matchers of given patterns. - * @param {string[]} patterns The patterns. - * @returns {InstanceType[] | null} The matchers. - */ -function toMatcher(patterns) { - if (patterns.length === 0) { - return null; - } - return patterns.map(pattern => { - if (/^\.[/\\]/u.test(pattern)) { - return new Minimatch( - pattern.slice(2), - - // `./*.js` should not match with `subdir/foo.js` - { ...minimatchOpts, matchBase: false } - ); - } - return new Minimatch(pattern, minimatchOpts); - }); -} - -/** - * Convert a given matcher to string. - * @param {Pattern} matchers The matchers. - * @returns {string} The string expression of the matcher. - */ -function patternToJson({ includes, excludes }) { - return { - includes: includes && includes.map(m => m.pattern), - excludes: excludes && excludes.map(m => m.pattern) - }; -} - -/** - * The class to test given paths are matched by the patterns. - */ -class OverrideTester { - - /** - * Create a tester with given criteria. - * If there are no criteria, returns `null`. - * @param {string|string[]} files The glob patterns for included files. - * @param {string|string[]} excludedFiles The glob patterns for excluded files. - * @param {string} basePath The path to the base directory to test paths. - * @returns {OverrideTester|null} The created instance or `null`. - */ - static create(files, excludedFiles, basePath) { - const includePatterns = normalizePatterns(files); - const excludePatterns = normalizePatterns(excludedFiles); - let endsWithWildcard = false; - - if (includePatterns.length === 0) { - return null; - } - - // Rejects absolute paths or relative paths to parents. - for (const pattern of includePatterns) { - if (path.isAbsolute(pattern) || pattern.includes("..")) { - throw new Error(`Invalid override pattern (expected relative path not containing '..'): ${pattern}`); - } - if (pattern.endsWith("*")) { - endsWithWildcard = true; - } - } - for (const pattern of excludePatterns) { - if (path.isAbsolute(pattern) || pattern.includes("..")) { - throw new Error(`Invalid override pattern (expected relative path not containing '..'): ${pattern}`); - } - } - - const includes = toMatcher(includePatterns); - const excludes = toMatcher(excludePatterns); - - return new OverrideTester( - [{ includes, excludes }], - basePath, - endsWithWildcard - ); - } - - /** - * Combine two testers by logical and. - * If either of the testers was `null`, returns the other tester. - * The `basePath` property of the two must be the same value. - * @param {OverrideTester|null} a A tester. - * @param {OverrideTester|null} b Another tester. - * @returns {OverrideTester|null} Combined tester. - */ - static and(a, b) { - if (!b) { - return a && new OverrideTester( - a.patterns, - a.basePath, - a.endsWithWildcard - ); - } - if (!a) { - return new OverrideTester( - b.patterns, - b.basePath, - b.endsWithWildcard - ); - } - - assert.strictEqual(a.basePath, b.basePath); - return new OverrideTester( - a.patterns.concat(b.patterns), - a.basePath, - a.endsWithWildcard || b.endsWithWildcard - ); - } - - /** - * Initialize this instance. - * @param {Pattern[]} patterns The matchers. - * @param {string} basePath The base path. - * @param {boolean} endsWithWildcard If `true` then a pattern ends with `*`. - */ - constructor(patterns, basePath, endsWithWildcard = false) { - - /** @type {Pattern[]} */ - this.patterns = patterns; - - /** @type {string} */ - this.basePath = basePath; - - /** @type {boolean} */ - this.endsWithWildcard = endsWithWildcard; - } - - /** - * Test if a given path is matched or not. - * @param {string} filePath The absolute path to the target file. - * @returns {boolean} `true` if the path was matched. - */ - test(filePath) { - if (typeof filePath !== "string" || !path.isAbsolute(filePath)) { - throw new Error(`'filePath' should be an absolute path, but got ${filePath}.`); - } - const relativePath = path.relative(this.basePath, filePath); - - return this.patterns.every(({ includes, excludes }) => ( - (!includes || includes.some(m => m.match(relativePath))) && - (!excludes || !excludes.some(m => m.match(relativePath))) - )); - } - - // eslint-disable-next-line jsdoc/require-description - /** - * @returns {Object} a JSON compatible object. - */ - toJSON() { - if (this.patterns.length === 1) { - return { - ...patternToJson(this.patterns[0]), - basePath: this.basePath - }; - } - return { - AND: this.patterns.map(patternToJson), - basePath: this.basePath - }; - } - - // eslint-disable-next-line jsdoc/require-description - /** - * @returns {Object} an object to display by `console.log()`. - */ - [util.inspect.custom]() { - return this.toJSON(); - } -} - -module.exports = { OverrideTester }; diff --git a/node_modules/eslint/lib/cli-engine/file-enumerator.js b/node_modules/eslint/lib/cli-engine/file-enumerator.js index 7c433d32f..ade28517b 100644 --- a/node_modules/eslint/lib/cli-engine/file-enumerator.js +++ b/node_modules/eslint/lib/cli-engine/file-enumerator.js @@ -38,10 +38,15 @@ const fs = require("fs"); const path = require("path"); const getGlobParent = require("glob-parent"); const isGlob = require("is-glob"); -const { escapeRegExp } = require("lodash"); +const escapeRegExp = require("escape-string-regexp"); const { Minimatch } = require("minimatch"); -const { IgnorePattern } = require("./config-array"); -const { CascadingConfigArrayFactory } = require("./cascading-config-array-factory"); + +const { + Legacy: { + IgnorePattern, + CascadingConfigArrayFactory + } +} = require("@eslint/eslintrc"); const debug = require("debug")("eslint:file-enumerator"); //------------------------------------------------------------------------------ @@ -208,7 +213,11 @@ class FileEnumerator { */ constructor({ cwd = process.cwd(), - configArrayFactory = new CascadingConfigArrayFactory({ cwd }), + configArrayFactory = new CascadingConfigArrayFactory({ + cwd, + eslintRecommendedPath: path.resolve(__dirname, "../../conf/eslint-recommended.js"), + eslintAllPath: path.resolve(__dirname, "../../conf/eslint-all.js") + }), extensions = null, globInputPaths = true, errorOnUnmatchedPattern = true, @@ -424,9 +433,14 @@ class FileEnumerator { // Enumerate the files of this directory. for (const entry of readdirSafeSync(directoryPath)) { const filePath = path.join(directoryPath, entry.name); + const fileInfo = entry.isSymbolicLink() ? statSafeSync(filePath) : entry; + + if (!fileInfo) { + continue; + } // Check if the file is matched. - if (entry.isFile()) { + if (fileInfo.isFile()) { if (!config) { config = configArrayFactory.getConfigArrayForFile( filePath, @@ -462,7 +476,7 @@ class FileEnumerator { } // Dive into the sub directory. - } else if (options.recursive && entry.isDirectory()) { + } else if (options.recursive && fileInfo.isDirectory()) { if (!config) { config = configArrayFactory.getConfigArrayForFile( filePath, diff --git a/node_modules/eslint/lib/cli-engine/formatters/html-template-message.html b/node_modules/eslint/lib/cli-engine/formatters/html-template-message.html deleted file mode 100644 index 93795a1bd..000000000 --- a/node_modules/eslint/lib/cli-engine/formatters/html-template-message.html +++ /dev/null @@ -1,8 +0,0 @@ - - <%= lineNumber %>:<%= columnNumber %> - <%= severityName %> - <%- message %> - - <%= ruleId %> - - diff --git a/node_modules/eslint/lib/cli-engine/formatters/html-template-page.html b/node_modules/eslint/lib/cli-engine/formatters/html-template-page.html deleted file mode 100644 index 4016576fa..000000000 --- a/node_modules/eslint/lib/cli-engine/formatters/html-template-page.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - ESLint Report - - - -
-

ESLint Report

-
- <%= reportSummary %> - Generated on <%= date %> -
-
- - - <%= results %> - -
- - - diff --git a/node_modules/eslint/lib/cli-engine/formatters/html-template-result.html b/node_modules/eslint/lib/cli-engine/formatters/html-template-result.html deleted file mode 100644 index f4a55933c..000000000 --- a/node_modules/eslint/lib/cli-engine/formatters/html-template-result.html +++ /dev/null @@ -1,6 +0,0 @@ - - - [+] <%- filePath %> - <%- summary %> - - diff --git a/node_modules/eslint/lib/cli-engine/formatters/html.js b/node_modules/eslint/lib/cli-engine/formatters/html.js index 69f739555..baddb6307 100644 --- a/node_modules/eslint/lib/cli-engine/formatters/html.js +++ b/node_modules/eslint/lib/cli-engine/formatters/html.js @@ -4,17 +4,153 @@ */ "use strict"; -const lodash = require("lodash"); -const fs = require("fs"); -const path = require("path"); - //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ -const pageTemplate = lodash.template(fs.readFileSync(path.join(__dirname, "html-template-page.html"), "utf-8")); -const messageTemplate = lodash.template(fs.readFileSync(path.join(__dirname, "html-template-message.html"), "utf-8")); -const resultTemplate = lodash.template(fs.readFileSync(path.join(__dirname, "html-template-result.html"), "utf-8")); +const encodeHTML = (function() { + const encodeHTMLRules = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'" + }; + const matchHTML = /[&<>"']/ug; + + return function(code) { + return code + ? code.toString().replace(matchHTML, m => encodeHTMLRules[m] || m) + : ""; + }; +}()); + +/** + * Get the final HTML document. + * @param {Object} it data for the document. + * @returns {string} HTML document. + */ +function pageTemplate(it) { + const { reportColor, reportSummary, date, results } = it; + + return ` + + + + + ESLint Report + + + +
+

ESLint Report

+
+ ${reportSummary} - Generated on ${date} +
+
+ + + ${results} + +
+ + + +`.trimLeft(); +} /** * Given a word and a count, append an s if count is not one. @@ -58,6 +194,35 @@ function renderColor(totalErrors, totalWarnings) { return 0; } +/** + * Get HTML (table row) describing a single message. + * @param {Object} it data for the message. + * @returns {string} HTML (table row) describing the message. + */ +function messageTemplate(it) { + const { + parentIndex, + lineNumber, + columnNumber, + severityNumber, + severityName, + message, + ruleUrl, + ruleId + } = it; + + return ` + + ${lineNumber}:${columnNumber} + ${severityName} + ${encodeHTML(message)} + + ${ruleId ? ruleId : ""} + + +`.trimLeft(); +} + /** * Get HTML (table rows) describing the messages. * @param {Array} messages Messages. @@ -72,7 +237,7 @@ function renderMessages(messages, parentIndex, rulesMeta) { * @param {Object} message Message. * @returns {string} HTML (table row) describing a message. */ - return lodash.map(messages, message => { + return messages.map(message => { const lineNumber = message.line || 0; const columnNumber = message.column || 0; let ruleUrl; @@ -80,7 +245,9 @@ function renderMessages(messages, parentIndex, rulesMeta) { if (rulesMeta) { const meta = rulesMeta[message.ruleId]; - ruleUrl = lodash.get(meta, "docs.url", null); + if (meta && meta.docs && meta.docs.url) { + ruleUrl = meta.docs.url; + } } return messageTemplate({ @@ -96,6 +263,24 @@ function renderMessages(messages, parentIndex, rulesMeta) { }).join("\n"); } +/** + * Get HTML (table row) describing the result for a single file. + * @param {Object} it data for the file. + * @returns {string} HTML (table row) describing the result for the file. + */ +function resultTemplate(it) { + const { color, index, filePath, summary } = it; + + return ` + + + [+] ${encodeHTML(filePath)} + ${encodeHTML(summary)} + + +`.trimLeft(); +} + // eslint-disable-next-line jsdoc/require-description /** * @param {Array} results Test results. @@ -103,12 +288,11 @@ function renderMessages(messages, parentIndex, rulesMeta) { * @returns {string} HTML string describing the results. */ function renderResults(results, rulesMeta) { - return lodash.map(results, (result, index) => resultTemplate({ + return results.map((result, index) => resultTemplate({ index, color: renderColor(result.errorCount, result.warningCount), filePath: result.filePath, summary: renderSummary(result.errorCount, result.warningCount) - }) + renderMessages(result.messages, index, rulesMeta)).join("\n"); } diff --git a/node_modules/eslint/lib/cli-engine/lint-result-cache.js b/node_modules/eslint/lib/cli-engine/lint-result-cache.js index 23a142097..3304d429d 100644 --- a/node_modules/eslint/lib/cli-engine/lint-result-cache.js +++ b/node_modules/eslint/lib/cli-engine/lint-result-cache.js @@ -15,6 +15,8 @@ const stringify = require("json-stable-stringify-without-jsonify"); const pkg = require("../../package.json"); const hash = require("./hash"); +const debug = require("debug")("eslint:lint-result-cache"); + //----------------------------------------------------------------------------- // Helpers //----------------------------------------------------------------------------- @@ -22,6 +24,22 @@ const hash = require("./hash"); const configHashCache = new WeakMap(); const nodeVersion = process && process.version; +const validCacheStrategies = ["metadata", "content"]; +const invalidCacheStrategyErrorMessage = `Cache strategy must be one of: ${validCacheStrategies + .map(strategy => `"${strategy}"`) + .join(", ")}`; + +/** + * Tests whether a provided cacheStrategy is valid + * @param {string} cacheStrategy The cache strategy to use + * @returns {boolean} true if `cacheStrategy` is one of `validCacheStrategies`; false otherwise + */ +function isValidCacheStrategy(cacheStrategy) { + return ( + validCacheStrategies.indexOf(cacheStrategy) !== -1 + ); +} + /** * Calculates the hash of the config * @param {ConfigArray} config The config. @@ -49,12 +67,30 @@ class LintResultCache { /** * Creates a new LintResultCache instance. * @param {string} cacheFileLocation The cache file location. - * configuration lookup by file path). + * @param {"metadata" | "content"} cacheStrategy The cache strategy to use. */ - constructor(cacheFileLocation) { + constructor(cacheFileLocation, cacheStrategy) { assert(cacheFileLocation, "Cache file location is required"); + assert(cacheStrategy, "Cache strategy is required"); + assert( + isValidCacheStrategy(cacheStrategy), + invalidCacheStrategyErrorMessage + ); - this.fileEntryCache = fileEntryCache.create(cacheFileLocation); + debug(`Caching results to ${cacheFileLocation}`); + + const useChecksum = cacheStrategy === "content"; + + debug( + `Using "${cacheStrategy}" strategy to detect changes` + ); + + this.fileEntryCache = fileEntryCache.create( + cacheFileLocation, + void 0, + useChecksum + ); + this.cacheFileLocation = cacheFileLocation; } /** @@ -76,17 +112,28 @@ class LintResultCache { * was previously linted * If any of these are not true, we will not reuse the lint results. */ - const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); const hashOfConfig = hashOfConfigFor(config); - const changed = fileDescriptor.changed || fileDescriptor.meta.hashOfConfig !== hashOfConfig; + const changed = + fileDescriptor.changed || + fileDescriptor.meta.hashOfConfig !== hashOfConfig; - if (fileDescriptor.notFound || changed) { + if (fileDescriptor.notFound) { + debug(`File not found on the file system: ${filePath}`); + return null; + } + + if (changed) { + debug(`Cache entry not found or no longer valid: ${filePath}`); return null; } // If source is present but null, need to reread the file from the filesystem. - if (fileDescriptor.meta.results && fileDescriptor.meta.results.source === null) { + if ( + fileDescriptor.meta.results && + fileDescriptor.meta.results.source === null + ) { + debug(`Rereading cached result source from filesystem: ${filePath}`); fileDescriptor.meta.results.source = fs.readFileSync(filePath, "utf-8"); } @@ -112,6 +159,7 @@ class LintResultCache { const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); if (fileDescriptor && !fileDescriptor.notFound) { + debug(`Updating cached result: ${filePath}`); // Serialize the result, except that we want to remove the file source if present. const resultToSerialize = Object.assign({}, result); @@ -135,6 +183,7 @@ class LintResultCache { * @returns {void} */ reconcile() { + debug(`Persisting cached results: ${this.cacheFileLocation}`); this.fileEntryCache.reconcile(); } } diff --git a/node_modules/eslint/lib/cli.js b/node_modules/eslint/lib/cli.js index ce1187800..f76676454 100644 --- a/node_modules/eslint/lib/cli.js +++ b/node_modules/eslint/lib/cli.js @@ -32,6 +32,7 @@ const debug = require("debug")("eslint:cli"); /** @typedef {import("./eslint/eslint").ESLintOptions} ESLintOptions */ /** @typedef {import("./eslint/eslint").LintMessage} LintMessage */ /** @typedef {import("./eslint/eslint").LintResult} LintResult */ +/** @typedef {import("./options").ParsedCLIOptions} ParsedCLIOptions */ //------------------------------------------------------------------------------ // Helpers @@ -54,7 +55,7 @@ function quietFixPredicate(message) { /** * Translates the CLI options into the options expected by the CLIEngine. - * @param {Object} cliOptions The CLI options to translate. + * @param {ParsedCLIOptions} cliOptions The CLI options to translate. * @returns {ESLintOptions} The options object for the CLIEngine. * @private */ @@ -62,6 +63,7 @@ function translateOptions({ cache, cacheFile, cacheLocation, + cacheStrategy, config, env, errorOnUnmatchedPattern, @@ -88,6 +90,7 @@ function translateOptions({ allowInlineConfig: inlineConfig, cache, cacheLocation: cacheLocation || cacheFile, + cacheStrategy, errorOnUnmatchedPattern, extensions: ext, fix: (fix || fixDryRun) && (quiet ? quietFixPredicate : true), @@ -219,6 +222,8 @@ const cli = { if (Array.isArray(args)) { debug("CLI args: %o", args.slice(2)); } + + /** @type {ParsedCLIOptions} */ let options; try { @@ -299,12 +304,16 @@ const cli = { await ESLint.outputFixes(results); } + let resultsToPrint = results; + if (options.quiet) { debug("Quiet mode enabled - filtering out warnings"); - results = ESLint.getErrorResults(results); + resultsToPrint = ESLint.getErrorResults(resultsToPrint); } - if (await printResults(engine, results, options.format, options.outputFile)) { + if (await printResults(engine, resultsToPrint, options.format, options.outputFile)) { + + // Errors and warnings from the original unfiltered results should determine the exit code const { errorCount, warningCount } = countErrors(results); const tooManyWarnings = options.maxWarnings >= 0 && warningCount > options.maxWarnings; diff --git a/node_modules/eslint/lib/config/default-config.js b/node_modules/eslint/lib/config/default-config.js new file mode 100644 index 000000000..cb6f40338 --- /dev/null +++ b/node_modules/eslint/lib/config/default-config.js @@ -0,0 +1,52 @@ +/** + * @fileoverview Default configuration + * @author Nicholas C. Zakas + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const Rules = require("../rules"); + +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + + +exports.defaultConfig = [ + { + plugins: { + "@": { + parsers: { + espree: require("espree") + }, + + /* + * Because we try to delay loading rules until absolutely + * necessary, a proxy allows us to hook into the lazy-loading + * aspect of the rules map while still keeping all of the + * relevant configuration inside of the config array. + */ + rules: new Proxy({}, { + get(target, property) { + return Rules.get(property); + }, + + has(target, property) { + return Rules.has(property); + } + }) + } + }, + ignores: [ + "**/node_modules/**", + ".git/**" + ], + languageOptions: { + parser: "@/espree" + } + } +]; diff --git a/node_modules/eslint/lib/config/flat-config-array.js b/node_modules/eslint/lib/config/flat-config-array.js new file mode 100644 index 000000000..ecf396a33 --- /dev/null +++ b/node_modules/eslint/lib/config/flat-config-array.js @@ -0,0 +1,125 @@ +/** + * @fileoverview Flat Config Array + * @author Nicholas C. Zakas + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const { ConfigArray, ConfigArraySymbol } = require("@humanwhocodes/config-array"); +const { flatConfigSchema } = require("./flat-config-schema"); +const { RuleValidator } = require("./rule-validator"); +const { defaultConfig } = require("./default-config"); +const recommendedConfig = require("../../conf/eslint-recommended"); +const allConfig = require("../../conf/eslint-all"); + +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + +const ruleValidator = new RuleValidator(); + +/** + * Splits a plugin identifier in the form a/b/c into two parts: a/b and c. + * @param {string} identifier The identifier to parse. + * @returns {{objectName: string, pluginName: string}} The parts of the plugin + * name. + */ +function splitPluginIdentifier(identifier) { + const parts = identifier.split("/"); + + return { + objectName: parts.pop(), + pluginName: parts.join("/") + }; +} + +//----------------------------------------------------------------------------- +// Exports +//----------------------------------------------------------------------------- + +/** + * Represents an array containing configuration information for ESLint. + */ +class FlatConfigArray extends ConfigArray { + + /** + * Creates a new instance. + * @param {*[]} configs An array of configuration information. + * @param {{basePath: string, baseConfig: FlatConfig}} options The options + * to use for the config array instance. + */ + constructor(configs, { basePath, baseConfig = defaultConfig }) { + super(configs, { + basePath, + schema: flatConfigSchema + }); + + this.unshift(baseConfig); + } + + /* eslint-disable class-methods-use-this */ + /** + * Replaces a config with another config to allow us to put strings + * in the config array that will be replaced by objects before + * normalization. + * @param {Object} config The config to preprocess. + * @returns {Object} The preprocessed config. + */ + [ConfigArraySymbol.preprocessConfig](config) { + if (config === "eslint:recommended") { + return recommendedConfig; + } + + if (config === "eslint:all") { + return allConfig; + } + + return config; + } + + /** + * Finalizes the config by replacing plugin references with their objects + * and validating rule option schemas. + * @param {Object} config The config to finalize. + * @returns {Object} The finalized config. + * @throws {TypeError} If the config is invalid. + */ + [ConfigArraySymbol.finalizeConfig](config) { + + const { plugins, languageOptions, processor } = config; + + // Check parser value + if (languageOptions && languageOptions.parser && typeof languageOptions.parser === "string") { + const { pluginName, objectName: parserName } = splitPluginIdentifier(languageOptions.parser); + + if (!plugins || !plugins[pluginName] || !plugins[pluginName].parsers || !plugins[pluginName].parsers[parserName]) { + throw new TypeError(`Key "parser": Could not find "${parserName}" in plugin "${pluginName}".`); + } + + languageOptions.parser = plugins[pluginName].parsers[parserName]; + } + + // Check processor value + if (processor && typeof processor === "string") { + const { pluginName, objectName: processorName } = splitPluginIdentifier(processor); + + if (!plugins || !plugins[pluginName] || !plugins[pluginName].processors || !plugins[pluginName].processors[processorName]) { + throw new TypeError(`Key "processor": Could not find "${processorName}" in plugin "${pluginName}".`); + } + + config.processor = plugins[pluginName].processors[processorName]; + } + + ruleValidator.validate(config); + + return config; + } + /* eslint-enable class-methods-use-this */ + +} + +exports.FlatConfigArray = FlatConfigArray; diff --git a/node_modules/eslint/lib/config/flat-config-schema.js b/node_modules/eslint/lib/config/flat-config-schema.js new file mode 100644 index 000000000..807854761 --- /dev/null +++ b/node_modules/eslint/lib/config/flat-config-schema.js @@ -0,0 +1,452 @@ +/** + * @fileoverview Flat config schema + * @author Nicholas C. Zakas + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Type Definitions +//----------------------------------------------------------------------------- + +/** + * @typedef ObjectPropertySchema + * @property {Function|string} merge The function or name of the function to call + * to merge multiple objects with this property. + * @property {Function|string} validate The function or name of the function to call + * to validate the value of this property. + */ + +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + +const ruleSeverities = new Map([ + [0, 0], ["off", 0], + [1, 1], ["warn", 1], + [2, 2], ["error", 2] +]); + +const globalVariablesValues = new Set([ + true, "true", "writable", "writeable", + false, "false", "readonly", "readable", null, + "off" +]); + +/** + * Check if a value is a non-null object. + * @param {any} value The value to check. + * @returns {boolean} `true` if the value is a non-null object. + */ +function isNonNullObject(value) { + return typeof value === "object" && value !== null; +} + +/** + * Check if a value is undefined. + * @param {any} value The value to check. + * @returns {boolean} `true` if the value is undefined. + */ +function isUndefined(value) { + return typeof value === "undefined"; +} + +/** + * Deeply merges two objects. + * @param {Object} first The base object. + * @param {Object} second The overrides object. + * @returns {Object} An object with properties from both first and second. + */ +function deepMerge(first = {}, second = {}) { + + /* + * If the second value is an array, just return it. We don't merge + * arrays because order matters and we can't know the correct order. + */ + if (Array.isArray(second)) { + return second; + } + + /* + * First create a result object where properties from the second object + * overwrite properties from the first. This sets up a baseline to use + * later rather than needing to inspect and change every property + * individually. + */ + const result = { + ...first, + ...second + }; + + for (const key of Object.keys(second)) { + + // avoid hairy edge case + if (key === "__proto__") { + continue; + } + + const firstValue = first[key]; + const secondValue = second[key]; + + if (isNonNullObject(firstValue)) { + result[key] = deepMerge(firstValue, secondValue); + } else if (isUndefined(firstValue)) { + if (isNonNullObject(secondValue)) { + result[key] = deepMerge( + Array.isArray(secondValue) ? [] : {}, + secondValue + ); + } else if (!isUndefined(secondValue)) { + result[key] = secondValue; + } + } + } + + return result; + +} + +/** + * Normalizes the rule options config for a given rule by ensuring that + * it is an array and that the first item is 0, 1, or 2. + * @param {Array|string|number} ruleOptions The rule options config. + * @returns {Array} An array of rule options. + */ +function normalizeRuleOptions(ruleOptions) { + + const finalOptions = Array.isArray(ruleOptions) + ? ruleOptions.slice(0) + : [ruleOptions]; + + finalOptions[0] = ruleSeverities.get(finalOptions[0]); + return finalOptions; +} + +//----------------------------------------------------------------------------- +// Assertions +//----------------------------------------------------------------------------- + +/** + * Validates that a value is a valid rule options entry. + * @param {any} value The value to check. + * @returns {void} + * @throws {TypeError} If the value isn't a valid rule options. + */ +function assertIsRuleOptions(value) { + + if (typeof value !== "string" && typeof value !== "number" && !Array.isArray(value)) { + throw new TypeError("Expected a string, number, or array."); + } +} + +/** + * Validates that a value is valid rule severity. + * @param {any} value The value to check. + * @returns {void} + * @throws {TypeError} If the value isn't a valid rule severity. + */ +function assertIsRuleSeverity(value) { + const severity = typeof value === "string" + ? ruleSeverities.get(value.toLowerCase()) + : ruleSeverities.get(value); + + if (typeof severity === "undefined") { + throw new TypeError("Expected severity of \"off\", 0, \"warn\", 1, \"error\", or 2."); + } +} + +/** + * Validates that a given string is the form pluginName/objectName. + * @param {string} value The string to check. + * @returns {void} + * @throws {TypeError} If the string isn't in the correct format. + */ +function assertIsPluginMemberName(value) { + if (!/[@a-z0-9-_$]+(?:\/(?:[a-z0-9-_$]+))+$/iu.test(value)) { + throw new TypeError(`Expected string in the form "pluginName/objectName" but found "${value}".`); + } +} + +/** + * Validates that a value is an object. + * @param {any} value The value to check. + * @returns {void} + * @throws {TypeError} If the value isn't an object. + */ +function assertIsObject(value) { + if (!isNonNullObject(value)) { + throw new TypeError("Expected an object."); + } +} + +/** + * Validates that a value is an object or a string. + * @param {any} value The value to check. + * @returns {void} + * @throws {TypeError} If the value isn't an object or a string. + */ +function assertIsObjectOrString(value) { + if ((!value || typeof value !== "object") && typeof value !== "string") { + throw new TypeError("Expected an object or string."); + } +} + +//----------------------------------------------------------------------------- +// Low-Level Schemas +//----------------------------------------------------------------------------- + + +/** @type {ObjectPropertySchema} */ +const numberSchema = { + merge: "replace", + validate: "number" +}; + +/** @type {ObjectPropertySchema} */ +const booleanSchema = { + merge: "replace", + validate: "boolean" +}; + +/** @type {ObjectPropertySchema} */ +const deepObjectAssignSchema = { + merge(first = {}, second = {}) { + return deepMerge(first, second); + }, + validate: "object" +}; + +//----------------------------------------------------------------------------- +// High-Level Schemas +//----------------------------------------------------------------------------- + +/** @type {ObjectPropertySchema} */ +const globalsSchema = { + merge: "assign", + validate(value) { + + assertIsObject(value); + + for (const key of Object.keys(value)) { + + // avoid hairy edge case + if (key === "__proto__") { + continue; + } + + if (key !== key.trim()) { + throw new TypeError(`Global "${key}" has leading or trailing whitespace.`); + } + + if (!globalVariablesValues.has(value[key])) { + throw new TypeError(`Key "${key}": Expected "readonly", "writable", or "off".`); + } + } + } +}; + +/** @type {ObjectPropertySchema} */ +const parserSchema = { + merge: "replace", + validate(value) { + assertIsObjectOrString(value); + + if (typeof value === "object" && typeof value.parse !== "function" && typeof value.parseForESLint !== "function") { + throw new TypeError("Expected object to have a parse() or parseForESLint() method."); + } + + if (typeof value === "string") { + assertIsPluginMemberName(value); + } + } +}; + +/** @type {ObjectPropertySchema} */ +const pluginsSchema = { + merge(first = {}, second = {}) { + const keys = new Set([...Object.keys(first), ...Object.keys(second)]); + const result = {}; + + // manually validate that plugins are not redefined + for (const key of keys) { + + // avoid hairy edge case + if (key === "__proto__") { + continue; + } + + if (key in first && key in second && first[key] !== second[key]) { + throw new TypeError(`Cannot redefine plugin "${key}".`); + } + + result[key] = second[key] || first[key]; + } + + return result; + }, + validate(value) { + + // first check the value to be sure it's an object + if (value === null || typeof value !== "object") { + throw new TypeError("Expected an object."); + } + + // second check the keys to make sure they are objects + for (const key of Object.keys(value)) { + + // avoid hairy edge case + if (key === "__proto__") { + continue; + } + + if (value[key] === null || typeof value[key] !== "object") { + throw new TypeError(`Key "${key}": Expected an object.`); + } + } + } +}; + +/** @type {ObjectPropertySchema} */ +const processorSchema = { + merge: "replace", + validate(value) { + if (typeof value === "string") { + assertIsPluginMemberName(value); + } else if (value && typeof value === "object") { + if (typeof value.preprocess !== "function" || typeof value.postprocess !== "function") { + throw new TypeError("Object must have a preprocess() and a postprocess() method."); + } + } else { + throw new TypeError("Expected an object or a string."); + } + } +}; + +/** @type {ObjectPropertySchema} */ +const rulesSchema = { + merge(first = {}, second = {}) { + + const result = { + ...first, + ...second + }; + + for (const ruleId of Object.keys(result)) { + + // avoid hairy edge case + if (ruleId === "__proto__") { + + /* eslint-disable-next-line no-proto */ + delete result.__proto__; + continue; + } + + result[ruleId] = normalizeRuleOptions(result[ruleId]); + + /* + * If either rule config is missing, then the correct + * config is already present and we just need to normalize + * the severity. + */ + if (!(ruleId in first) || !(ruleId in second)) { + continue; + } + + const firstRuleOptions = normalizeRuleOptions(first[ruleId]); + const secondRuleOptions = normalizeRuleOptions(second[ruleId]); + + /* + * If the second rule config only has a severity (length of 1), + * then use that severity and keep the rest of the options from + * the first rule config. + */ + if (secondRuleOptions.length === 1) { + result[ruleId] = [secondRuleOptions[0], ...firstRuleOptions.slice(1)]; + continue; + } + + /* + * In any other situation, then the second rule config takes + * precedence. That means the value at `result[ruleId]` is + * already correct and no further work is necessary. + */ + } + + return result; + }, + + validate(value) { + assertIsObject(value); + + let lastRuleId; + + // Performance: One try-catch has less overhead than one per loop iteration + try { + + /* + * We are not checking the rule schema here because there is no + * guarantee that the rule definition is present at this point. Instead + * we wait and check the rule schema during the finalization step + * of calculating a config. + */ + for (const ruleId of Object.keys(value)) { + + // avoid hairy edge case + if (ruleId === "__proto__") { + continue; + } + + lastRuleId = ruleId; + + const ruleOptions = value[ruleId]; + + assertIsRuleOptions(ruleOptions); + + if (Array.isArray(ruleOptions)) { + assertIsRuleSeverity(ruleOptions[0]); + } else { + assertIsRuleSeverity(ruleOptions); + } + } + } catch (error) { + error.message = `Key "${lastRuleId}": ${error.message}`; + throw error; + } + } +}; + +/** @type {ObjectPropertySchema} */ +const sourceTypeSchema = { + merge: "replace", + validate(value) { + if (typeof value !== "string" || !/^(?:script|module|commonjs)$/u.test(value)) { + throw new TypeError("Expected \"script\", \"module\", or \"commonjs\"."); + } + } +}; + +//----------------------------------------------------------------------------- +// Full schema +//----------------------------------------------------------------------------- + +exports.flatConfigSchema = { + settings: deepObjectAssignSchema, + linterOptions: { + schema: { + noInlineConfig: booleanSchema, + reportUnusedDisableDirectives: booleanSchema + } + }, + languageOptions: { + schema: { + ecmaVersion: numberSchema, + sourceType: sourceTypeSchema, + globals: globalsSchema, + parser: parserSchema, + parserOptions: deepObjectAssignSchema + } + }, + processor: processorSchema, + plugins: pluginsSchema, + rules: rulesSchema +}; diff --git a/node_modules/eslint/lib/config/rule-validator.js b/node_modules/eslint/lib/config/rule-validator.js new file mode 100644 index 000000000..f162dd81a --- /dev/null +++ b/node_modules/eslint/lib/config/rule-validator.js @@ -0,0 +1,169 @@ +/** + * @fileoverview Rule Validator + * @author Nicholas C. Zakas + */ + +"use strict"; + +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + +const ajv = require("../shared/ajv")(); + +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + +/** + * Finds a rule with the given ID in the given config. + * @param {string} ruleId The ID of the rule to find. + * @param {Object} config The config to search in. + * @returns {{create: Function, schema: (Array|null)}} THe rule object. + */ +function findRuleDefinition(ruleId, config) { + const ruleIdParts = ruleId.split("/"); + let pluginName, ruleName; + + // built-in rule + if (ruleIdParts.length === 1) { + pluginName = "@"; + ruleName = ruleIdParts[0]; + } else { + ruleName = ruleIdParts.pop(); + pluginName = ruleIdParts.join("/"); + } + + if (!config.plugins || !config.plugins[pluginName]) { + throw new TypeError(`Key "rules": Key "${ruleId}": Could not find plugin "${pluginName}".`); + } + + if (!config.plugins[pluginName].rules || !config.plugins[pluginName].rules[ruleName]) { + throw new TypeError(`Key "rules": Key "${ruleId}": Could not find "${ruleName}" in plugin "${pluginName}".`); + } + + return config.plugins[pluginName].rules[ruleName]; + +} + +/** + * Gets a complete options schema for a rule. + * @param {{create: Function, schema: (Array|null)}} rule A new-style rule object + * @returns {Object} JSON Schema for the rule's options. + */ +function getRuleOptionsSchema(rule) { + + if (!rule) { + return null; + } + + const schema = rule.schema || rule.meta && rule.meta.schema; + + if (Array.isArray(schema)) { + if (schema.length) { + return { + type: "array", + items: schema, + minItems: 0, + maxItems: schema.length + }; + } + return { + type: "array", + minItems: 0, + maxItems: 0 + }; + + } + + // Given a full schema, leave it alone + return schema || null; +} + +//----------------------------------------------------------------------------- +// Exports +//----------------------------------------------------------------------------- + +/** + * Implements validation functionality for the rules portion of a config. + */ +class RuleValidator { + + /** + * Creates a new instance. + */ + constructor() { + + /** + * A collection of compiled validators for rules that have already + * been validated. + * @type {WeakMap} + * @property validators + */ + this.validators = new WeakMap(); + } + + /** + * Validates all of the rule configurations in a config against each + * rule's schema. + * @param {Object} config The full config to validate. This object must + * contain both the rules section and the plugins section. + * @returns {void} + * @throws {Error} If a rule's configuration does not match its schema. + */ + validate(config) { + + if (!config.rules) { + return; + } + + for (const [ruleId, ruleOptions] of Object.entries(config.rules)) { + + // check for edge case + if (ruleId === "__proto__") { + continue; + } + + /* + * If a rule is disabled, we don't do any validation. This allows + * users to safely set any value to 0 or "off" without worrying + * that it will cause a validation error. + * + * Note: ruleOptions is always an array at this point because + * this validation occurs after FlatConfigArray has merged and + * normalized values. + */ + if (ruleOptions[0] === 0) { + continue; + } + + const rule = findRuleDefinition(ruleId, config); + + // Precompile and cache validator the first time + if (!this.validators.has(rule)) { + const schema = getRuleOptionsSchema(rule); + + if (schema) { + this.validators.set(rule, ajv.compile(schema)); + } + } + + const validateRule = this.validators.get(rule); + + if (validateRule) { + + validateRule(ruleOptions.slice(1)); + + if (validateRule.errors) { + throw new Error(`Key "rules": Key "${ruleId}": ${ + validateRule.errors.map( + error => `\tValue ${JSON.stringify(error.data)} ${error.message}.\n` + ).join("") + }`); + } + } + } + } +} + +exports.RuleValidator = RuleValidator; diff --git a/node_modules/eslint/lib/eslint/eslint.js b/node_modules/eslint/lib/eslint/eslint.js index a51ffbfe4..056e04b59 100644 --- a/node_modules/eslint/lib/eslint/eslint.js +++ b/node_modules/eslint/lib/eslint/eslint.js @@ -43,6 +43,7 @@ const { version } = require("../../package.json"); * @property {ConfigData} [baseConfig] Base config object, extended by all configs used with this instance * @property {boolean} [cache] Enable result caching. * @property {string} [cacheLocation] The cache file to use instead of .eslintcache. + * @property {"metadata" | "content"} [cacheStrategy] The strategy used to detect changed files. * @property {string} [cwd] The value to use for the current working directory. * @property {boolean} [errorOnUnmatchedPattern] If `false` then `ESLint#lintFiles()` doesn't throw even if no target files found. Defaults to `true`. * @property {string[]} [extensions] An array of file extensions to check. @@ -157,6 +158,7 @@ function processOptions({ baseConfig = null, cache = false, cacheLocation = ".eslintcache", + cacheStrategy = "metadata", cwd = process.cwd(), errorOnUnmatchedPattern = true, extensions = null, // ← should be null by default because if it's an array then it suppresses RFC20 feature. @@ -216,6 +218,12 @@ function processOptions({ if (!isNonEmptyString(cacheLocation)) { errors.push("'cacheLocation' must be a non-empty string."); } + if ( + cacheStrategy !== "metadata" && + cacheStrategy !== "content" + ) { + errors.push("'cacheStrategy' must be any of \"metadata\", \"content\"."); + } if (!isNonEmptyString(cwd) || !path.isAbsolute(cwd)) { errors.push("'cwd' must be an absolute path."); } @@ -272,7 +280,7 @@ function processOptions({ errors.push("'rulePaths' must be an array of non-empty strings."); } if (typeof useEslintrc !== "boolean") { - errors.push("'useElintrc' must be a boolean."); + errors.push("'useEslintrc' must be a boolean."); } if (errors.length > 0) { @@ -284,6 +292,7 @@ function processOptions({ baseConfig, cache, cacheLocation, + cacheStrategy, configFile: overrideConfigFile, cwd, errorOnUnmatchedPattern, @@ -505,6 +514,39 @@ class ESLint { return CLIEngine.getErrorResults(results); } + /** + * Returns meta objects for each rule represented in the lint results. + * @param {LintResult[]} results The results to fetch rules meta for. + * @returns {Object} A mapping of ruleIds to rule meta objects. + */ + getRulesMetaForResults(results) { + + const resultRuleIds = new Set(); + + // first gather all ruleIds from all results + + for (const result of results) { + for (const { ruleId } of result.messages) { + resultRuleIds.add(ruleId); + } + } + + // create a map of all rules in the results + + const { cliEngine } = privateMembersMap.get(this); + const rules = cliEngine.getRules(); + const resultRules = new Map(); + + for (const [ruleId, rule] of rules) { + if (resultRuleIds.has(ruleId)) { + resultRules.set(ruleId, rule); + } + } + + return createRulesMeta(resultRules); + + } + /** * Executes the current configuration on an array of file and directory names. * @param {string[]} patterns An array of file and directory names. @@ -543,9 +585,12 @@ class ESLint { ...unknownOptions } = options || {}; - for (const key of Object.keys(unknownOptions)) { - throw new Error(`'options' must not include the unknown option '${key}'`); + const unknownOptionKeys = Object.keys(unknownOptions); + + if (unknownOptionKeys.length > 0) { + throw new Error(`'options' must not include the unknown option(s): ${unknownOptionKeys.join(", ")}`); } + if (filePath !== void 0 && !isNonEmptyString(filePath)) { throw new Error("'options.filePath' must be a non-empty string or undefined"); } @@ -563,7 +608,7 @@ class ESLint { /** * Returns the formatter representing the given formatter name. - * @param {string} [name] The name of the formattter to load. + * @param {string} [name] The name of the formatter to load. * The following values are allowed: * - `undefined` ... Load `stylish` builtin formatter. * - A builtin formatter name ... Load the builtin formatter. diff --git a/node_modules/eslint/lib/init/autoconfig.js b/node_modules/eslint/lib/init/autoconfig.js index 0ace177aa..054c53849 100644 --- a/node_modules/eslint/lib/init/autoconfig.js +++ b/node_modules/eslint/lib/init/autoconfig.js @@ -9,7 +9,7 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"), +const equal = require("fast-deep-equal"), recConfig = require("../../conf/eslint-recommended"), ConfigOps = require("@eslint/eslintrc/lib/shared/config-ops"), { Linter } = require("../linter"), @@ -85,7 +85,7 @@ class Registry { * @returns {void} */ populateFromCoreRules() { - const rulesConfig = configRule.createCoreRuleConfigs(); + const rulesConfig = configRule.createCoreRuleConfigs(/* noDeprecated = */ true); this.rules = makeRegistryItems(rulesConfig); } @@ -329,7 +329,7 @@ function extendFromRecommended(config) { const recRules = Object.keys(recConfig.rules).filter(ruleId => ConfigOps.isErrorSeverity(recConfig.rules[ruleId])); recRules.forEach(ruleId => { - if (lodash.isEqual(recConfig.rules[ruleId], newConfig.rules[ruleId])) { + if (equal(recConfig.rules[ruleId], newConfig.rules[ruleId])) { delete newConfig.rules[ruleId]; } }); diff --git a/node_modules/eslint/lib/init/config-file.js b/node_modules/eslint/lib/init/config-file.js index fc62b8152..4c648ac05 100644 --- a/node_modules/eslint/lib/init/config-file.js +++ b/node_modules/eslint/lib/init/config-file.js @@ -117,6 +117,7 @@ function writeJSConfigFile(config, filePath) { function write(config, filePath) { switch (path.extname(filePath)) { case ".js": + case ".cjs": writeJSConfigFile(config, filePath); break; diff --git a/node_modules/eslint/lib/init/config-initializer.js b/node_modules/eslint/lib/init/config-initializer.js index f7d4cc7a1..3c7f2ba09 100644 --- a/node_modules/eslint/lib/init/config-initializer.js +++ b/node_modules/eslint/lib/init/config-initializer.js @@ -12,6 +12,7 @@ const util = require("util"), path = require("path"), + fs = require("fs"), enquirer = require("enquirer"), ProgressBar = require("progress"), semver = require("semver"), @@ -48,6 +49,16 @@ function writeFile(config, format) { extname = ".yml"; } else if (format === "JSON") { extname = ".json"; + } else if (format === "JavaScript") { + const pkgJSONPath = npmUtils.findPackageJson(); + + if (pkgJSONPath) { + const pkgJSONContents = JSON.parse(fs.readFileSync(pkgJSONPath, "utf8")); + + if (pkgJSONContents.type === "module") { + extname = ".cjs"; + } + } } const installedESLint = config.installedESLint; @@ -531,7 +542,8 @@ function promptUser() { choices: [ { message: "Airbnb: https://github.com/airbnb/javascript", name: "airbnb" }, { message: "Standard: https://github.com/standard/standard", name: "standard" }, - { message: "Google: https://github.com/google/eslint-config-google", name: "google" } + { message: "Google: https://github.com/google/eslint-config-google", name: "google" }, + { message: "XO: https://github.com/xojs/eslint-config-xo", name: "xo" } ], skip() { this.state.answers.packageJsonExists = npmUtils.checkPackageJson(); @@ -565,7 +577,8 @@ function promptUser() { { type: "toggle", name: "installESLint", - message(answers) { + message() { + const { answers } = this.state; const verb = semver.ltr(answers.localESLintVersion, answers.requiredESLintVersionRange) ? "upgrade" : "downgrade"; @@ -682,6 +695,7 @@ const init = { hasESLintVersionConflict, installModules, processAnswers, + writeFile, /* istanbul ignore next */initializeConfig() { return promptUser(); } diff --git a/node_modules/eslint/lib/init/npm-utils.js b/node_modules/eslint/lib/init/npm-utils.js index 555ea2b2b..b91a824b1 100644 --- a/node_modules/eslint/lib/init/npm-utils.js +++ b/node_modules/eslint/lib/init/npm-utils.js @@ -50,8 +50,7 @@ function findPackageJson(startDir) { */ function installSyncSaveDev(packages) { const packageList = Array.isArray(packages) ? packages : [packages]; - const npmProcess = spawn.sync("npm", ["i", "--save-dev"].concat(packageList), - { stdio: "inherit" }); + const npmProcess = spawn.sync("npm", ["i", "--save-dev"].concat(packageList), { stdio: "inherit" }); const error = npmProcess.error; if (error && error.code === "ENOENT") { @@ -172,6 +171,7 @@ function checkPackageJson(startDir) { module.exports = { installSyncSaveDev, fetchPeerDependencies, + findPackageJson, checkDeps, checkDevDeps, checkPackageJson diff --git a/node_modules/eslint/lib/linter/apply-disable-directives.js b/node_modules/eslint/lib/linter/apply-disable-directives.js index 41d6934ab..0ba69ca9c 100644 --- a/node_modules/eslint/lib/linter/apply-disable-directives.js +++ b/node_modules/eslint/lib/linter/apply-disable-directives.js @@ -5,8 +5,6 @@ "use strict"; -const lodash = require("lodash"); - /** * Compares the locations of two objects in a source file * @param {{line: number, column: number}} itemA The first object @@ -124,7 +122,21 @@ module.exports = ({ directives, problems, reportUnusedDisableDirectives = "off" .map(directive => Object.assign({}, directive, { unprocessedDirective: directive })) .sort(compareLocations); - const lineDirectives = lodash.flatMap(directives, directive => { + /** + * Returns a new array formed by applying a given callback function to each element of the array, and then flattening the result by one level. + * TODO(stephenwade): Replace this with array.flatMap when we drop support for Node v10 + * @param {any[]} array The array to process + * @param {Function} fn The function to use + * @returns {any[]} The result array + */ + function flatMap(array, fn) { + const mapped = array.map(fn); + const flattened = [].concat(...mapped); + + return flattened; + } + + const lineDirectives = flatMap(directives, directive => { switch (directive.type) { case "disable": case "enable": diff --git a/node_modules/eslint/lib/linter/linter.js b/node_modules/eslint/lib/linter/linter.js index 5c1a8d78a..4e80926a8 100644 --- a/node_modules/eslint/lib/linter/linter.js +++ b/node_modules/eslint/lib/linter/linter.js @@ -15,7 +15,7 @@ const eslintScope = require("eslint-scope"), evk = require("eslint-visitor-keys"), espree = require("espree"), - lodash = require("lodash"), + merge = require("lodash.merge"), BuiltInEnvironments = require("@eslint/eslintrc/conf/environments"), pkg = require("../../package.json"), astUtils = require("../shared/ast-utils"), @@ -37,8 +37,10 @@ const const debug = require("debug")("eslint:linter"); const MAX_AUTOFIX_PASSES = 10; const DEFAULT_PARSER_NAME = "espree"; +const DEFAULT_ECMA_VERSION = 5; const commentParser = new ConfigCommentParser(); const DEFAULT_ERROR_LOC = { start: { line: 1, column: 0 }, end: { line: 1, column: 1 } }; +const parserSymbol = Symbol.for("eslint.RuleTester.parser"); //------------------------------------------------------------------------------ // Typedefs @@ -432,10 +434,16 @@ function getDirectiveComments(filename, ast, ruleMapper, warnInlineConfig) { /** * Normalize ECMAScript version from the initial config - * @param {number} ecmaVersion ECMAScript version from the initial config + * @param {Parser} parser The parser which uses this options. + * @param {number} ecmaVersion ECMAScript version from the initial config * @returns {number} normalized ECMAScript version */ -function normalizeEcmaVersion(ecmaVersion) { +function normalizeEcmaVersion(parser, ecmaVersion) { + if ((parser[parserSymbol] || parser) === espree) { + if (ecmaVersion === "latest") { + return espree.latestEcmaVersion; + } + } /* * Calculate ECMAScript edition number from official year version starting with @@ -444,7 +452,7 @@ function normalizeEcmaVersion(ecmaVersion) { return ecmaVersion >= 2015 ? ecmaVersion - 2009 : ecmaVersion; } -const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)\*\//gu; +const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)\*\//gsu; /** * Checks whether or not there is a comment which has "eslint-env *" in a given text. @@ -521,16 +529,17 @@ function normalizeVerifyOptions(providedOptions, config) { /** * Combines the provided parserOptions with the options from environments - * @param {string} parserName The parser name which uses this options. + * @param {Parser} parser The parser which uses this options. * @param {ParserOptions} providedOptions The provided 'parserOptions' key in a config * @param {Environment[]} enabledEnvironments The environments enabled in configuration and with inline comments * @returns {ParserOptions} Resulting parser options after merge */ -function resolveParserOptions(parserName, providedOptions, enabledEnvironments) { +function resolveParserOptions(parser, providedOptions, enabledEnvironments) { + const parserOptionsFromEnv = enabledEnvironments .filter(env => env.parserOptions) - .reduce((parserOptions, env) => lodash.merge(parserOptions, env.parserOptions), {}); - const mergedParserOptions = lodash.merge(parserOptionsFromEnv, providedOptions || {}); + .reduce((parserOptions, env) => merge(parserOptions, env.parserOptions), {}); + const mergedParserOptions = merge(parserOptionsFromEnv, providedOptions || {}); const isModule = mergedParserOptions.sourceType === "module"; if (isModule) { @@ -542,12 +551,7 @@ function resolveParserOptions(parserName, providedOptions, enabledEnvironments) mergedParserOptions.ecmaFeatures = Object.assign({}, mergedParserOptions.ecmaFeatures, { globalReturn: false }); } - /* - * TODO: @aladdin-add - * 1. for a 3rd-party parser, do not normalize parserOptions - * 2. for espree, no need to do this (espree will do it) - */ - mergedParserOptions.ecmaVersion = normalizeEcmaVersion(mergedParserOptions.ecmaVersion); + mergedParserOptions.ecmaVersion = normalizeEcmaVersion(parser, mergedParserOptions.ecmaVersion); return mergedParserOptions; } @@ -606,7 +610,7 @@ function getRuleOptions(ruleConfig) { */ function analyzeScope(ast, parserOptions, visitorKeys) { const ecmaFeatures = parserOptions.ecmaFeatures || {}; - const ecmaVersion = parserOptions.ecmaVersion || 5; + const ecmaVersion = parserOptions.ecmaVersion || DEFAULT_ECMA_VERSION; return eslintScope.analyze(ast, { ignoreEval: true, @@ -828,9 +832,10 @@ const BASE_TRAVERSAL_CONTEXT = Object.freeze( * @param {string} filename The reported filename of the code * @param {boolean} disableFixes If true, it doesn't make `fix` properties. * @param {string | undefined} cwd cwd of the cli + * @param {string} physicalFilename The full path of the file on disk without any code block information * @returns {Problem[]} An array of reported problems */ -function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parserName, settings, filename, disableFixes, cwd) { +function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parserName, settings, filename, disableFixes, cwd, physicalFilename) { const emitter = createEmitter(); const nodeQueue = []; let currentNode = sourceCode.ast; @@ -859,6 +864,7 @@ function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parser getDeclaredVariables: sourceCode.scopeManager.getDeclaredVariables.bind(sourceCode.scopeManager), getCwd: () => cwd, getFilename: () => filename, + getPhysicalFilename: () => physicalFilename || filename, getScope: () => getScope(sourceCode.scopeManager, currentNode), getSourceCode: () => sourceCode, markVariableAsUsed: name => markVariableAsUsed(sourceCode.scopeManager, currentNode, parserOptions, name), @@ -942,7 +948,9 @@ function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parser }); // only run code path analyzer if the top level node is "Program", skip otherwise - const eventGenerator = nodeQueue[0].node.type === "Program" ? new CodePathAnalyzer(new NodeEventGenerator(emitter)) : new NodeEventGenerator(emitter); + const eventGenerator = nodeQueue[0].node.type === "Program" + ? new CodePathAnalyzer(new NodeEventGenerator(emitter, { visitorKeys: sourceCode.visitorKeys, fallback: Traverser.getKeys })) + : new NodeEventGenerator(emitter, { visitorKeys: sourceCode.visitorKeys, fallback: Traverser.getKeys }); nodeQueue.forEach(traversalInfo => { currentNode = traversalInfo.node; @@ -1119,7 +1127,7 @@ class Linter { .map(envName => getEnv(slots, envName)) .filter(env => env); - const parserOptions = resolveParserOptions(parserName, config.parserOptions || {}, enabledEnvs); + const parserOptions = resolveParserOptions(parser, config.parserOptions || {}, enabledEnvs); const configuredGlobals = resolveGlobals(config.globals || {}, enabledEnvs); const settings = config.settings || {}; @@ -1179,7 +1187,8 @@ class Linter { settings, options.filename, options.disableFixes, - slots.cwd + slots.cwd, + providedOptions.physicalFilename ); } catch (err) { err.message += `\nOccurred while linting ${options.filename}`; @@ -1282,9 +1291,12 @@ class Linter { _verifyWithProcessor(textOrSourceCode, config, options, configForRecursive) { const filename = options.filename || ""; const filenameToExpose = normalizeFilename(filename); + const physicalFilename = options.physicalFilename || filenameToExpose; const text = ensureText(textOrSourceCode); const preprocess = options.preprocess || (rawText => [rawText]); - const postprocess = options.postprocess || lodash.flatten; + + // TODO(stephenwade): Replace this with array.flat() when we drop support for Node v10 + const postprocess = options.postprocess || (array => [].concat(...array)); const filterCodeBlock = options.filterCodeBlock || (blockFilename => blockFilename.endsWith(".js")); @@ -1306,13 +1318,13 @@ class Linter { return []; } - // Resolve configuration again if the file extension was changed. - if (configForRecursive && path.extname(blockName) !== originalExtname) { - debug("Resolving configuration again because the file extension was changed."); + // Resolve configuration again if the file content or extension was changed. + if (configForRecursive && (text !== blockText || path.extname(blockName) !== originalExtname)) { + debug("Resolving configuration again because the file content or extension was changed."); return this._verifyWithConfigArray( blockText, configForRecursive, - { ...options, filename: blockName } + { ...options, filename: blockName, physicalFilename } ); } @@ -1320,7 +1332,7 @@ class Linter { return this._verifyWithoutProcessors( blockText, config, - { ...options, filename: blockName } + { ...options, filename: blockName, physicalFilename } ); }); diff --git a/node_modules/eslint/lib/linter/node-event-generator.js b/node_modules/eslint/lib/linter/node-event-generator.js index 6f3b25139..8b619fdff 100644 --- a/node_modules/eslint/lib/linter/node-event-generator.js +++ b/node_modules/eslint/lib/linter/node-event-generator.js @@ -10,7 +10,6 @@ //------------------------------------------------------------------------------ const esquery = require("esquery"); -const lodash = require("lodash"); //------------------------------------------------------------------------------ // Typedefs @@ -32,6 +31,35 @@ const lodash = require("lodash"); // Helpers //------------------------------------------------------------------------------ +/** + * Computes the union of one or more arrays + * @param {...any[]} arrays One or more arrays to union + * @returns {any[]} The union of the input arrays + */ +function union(...arrays) { + + // TODO(stephenwade): Replace this with arrays.flat() when we drop support for Node v10 + return [...new Set([].concat(...arrays))]; +} + +/** + * Computes the intersection of one or more arrays + * @param {...any[]} arrays One or more arrays to intersect + * @returns {any[]} The intersection of the input arrays + */ +function intersection(...arrays) { + if (arrays.length === 0) { + return []; + } + + let result = [...new Set(arrays[0])]; + + for (const array of arrays.slice(1)) { + result = result.filter(x => array.includes(x)); + } + return result; +} + /** * Gets the possible types of a selector * @param {Object} parsedSelector An object (from esquery) describing the matching behavior of the selector @@ -46,7 +74,7 @@ function getPossibleTypes(parsedSelector) { const typesForComponents = parsedSelector.selectors.map(getPossibleTypes); if (typesForComponents.every(Boolean)) { - return lodash.union(...typesForComponents); + return union(...typesForComponents); } return null; } @@ -63,7 +91,7 @@ function getPossibleTypes(parsedSelector) { * If at least one of the components could only match a particular type, the compound could only match * the intersection of those types. */ - return lodash.intersection(...typesForComponents); + return intersection(...typesForComponents); } case "child": @@ -166,15 +194,21 @@ function tryParseSelector(rawSelector) { } } +const selectorCache = new Map(); + /** * Parses a raw selector string, and returns the parsed selector along with specificity and type information. * @param {string} rawSelector A raw AST selector * @returns {ASTSelector} A selector descriptor */ -const parseSelector = lodash.memoize(rawSelector => { +function parseSelector(rawSelector) { + if (selectorCache.has(rawSelector)) { + return selectorCache.get(rawSelector); + } + const parsedSelector = tryParseSelector(rawSelector); - return { + const result = { rawSelector, isExit: rawSelector.endsWith(":exit"), parsedSelector, @@ -182,7 +216,10 @@ const parseSelector = lodash.memoize(rawSelector => { attributeCount: countClassAttributes(parsedSelector), identifierCount: countIdentifiers(parsedSelector) }; -}); + + selectorCache.set(rawSelector, result); + return result; +} //------------------------------------------------------------------------------ // Public Interface @@ -208,10 +245,12 @@ class NodeEventGenerator { * An SafeEmitter which is the destination of events. This emitter must already * have registered listeners for all of the events that it needs to listen for. * (See lib/linter/safe-emitter.js for more details on `SafeEmitter`.) + * @param {ESQueryOptions} esqueryOptions `esquery` options for traversing custom nodes. * @returns {NodeEventGenerator} new instance */ - constructor(emitter) { + constructor(emitter, esqueryOptions) { this.emitter = emitter; + this.esqueryOptions = esqueryOptions; this.currentAncestry = []; this.enterSelectorsByNodeType = new Map(); this.exitSelectorsByNodeType = new Map(); @@ -250,7 +289,7 @@ class NodeEventGenerator { * @returns {void} */ applySelector(node, selector) { - if (esquery.matches(node, selector.parsedSelector, this.currentAncestry)) { + if (esquery.matches(node, selector.parsedSelector, this.currentAncestry, this.esqueryOptions)) { this.emitter.emit(selector.rawSelector, node); } } diff --git a/node_modules/eslint/lib/linter/report-translator.js b/node_modules/eslint/lib/linter/report-translator.js index eef516558..75005c16e 100644 --- a/node_modules/eslint/lib/linter/report-translator.js +++ b/node_modules/eslint/lib/linter/report-translator.js @@ -115,6 +115,17 @@ function normalizeReportLoc(descriptor) { return descriptor.node.loc; } +/** + * Check that a fix has a valid range. + * @param {Fix|null} fix The fix to validate. + * @returns {void} + */ +function assertValidFix(fix) { + if (fix) { + assert(fix.range && typeof fix.range[0] === "number" && typeof fix.range[1] === "number", `Fix has invalid range: ${JSON.stringify(fix, null, 2)}`); + } +} + /** * Compares items in a fixes array by range. * @param {Fix} a The first message. @@ -133,6 +144,10 @@ function compareFixesByRange(a, b) { * @returns {{text: string, range: number[]}} The merged fixes */ function mergeFixes(fixes, sourceCode) { + for (const fix of fixes) { + assertValidFix(fix); + } + if (fixes.length === 0) { return null; } @@ -181,6 +196,8 @@ function normalizeFixes(descriptor, sourceCode) { if (fix && Symbol.iterator in fix) { return mergeFixes(Array.from(fix), sourceCode); } + + assertValidFix(fix); return fix; } @@ -196,15 +213,19 @@ function mapSuggestions(descriptor, sourceCode, messages) { return []; } - return descriptor.suggest.map(suggestInfo => { - const computedDesc = suggestInfo.desc || messages[suggestInfo.messageId]; + return descriptor.suggest + .map(suggestInfo => { + const computedDesc = suggestInfo.desc || messages[suggestInfo.messageId]; - return { - ...suggestInfo, - desc: interpolate(computedDesc, suggestInfo.data), - fix: normalizeFixes(suggestInfo, sourceCode) - }; - }); + return { + ...suggestInfo, + desc: interpolate(computedDesc, suggestInfo.data), + fix: normalizeFixes(suggestInfo, sourceCode) + }; + }) + + // Remove suggestions that didn't provide a fix + .filter(({ fix }) => fix); } /** diff --git a/node_modules/eslint/lib/linter/timing.js b/node_modules/eslint/lib/linter/timing.js index 8396d9215..582303068 100644 --- a/node_modules/eslint/lib/linter/timing.js +++ b/node_modules/eslint/lib/linter/timing.js @@ -44,6 +44,26 @@ const enabled = !!process.env.TIMING; const HEADERS = ["Rule", "Time (ms)", "Relative"]; const ALIGN = [alignLeft, alignRight, alignRight]; +/** + * Decide how many rules to show in the output list. + * @returns {number} the number of rules to show + */ +function getListSize() { + const MINIMUM_SIZE = 10; + + if (typeof process.env.TIMING !== "string") { + return MINIMUM_SIZE; + } + + if (process.env.TIMING.toLowerCase() === "all") { + return Number.POSITIVE_INFINITY; + } + + const TIMING_ENV_VAR_AS_INTEGER = Number.parseInt(process.env.TIMING, 10); + + return TIMING_ENV_VAR_AS_INTEGER > 10 ? TIMING_ENV_VAR_AS_INTEGER : MINIMUM_SIZE; +} + /* istanbul ignore next */ /** * display the data @@ -61,7 +81,7 @@ function display(data) { return [key, time]; }) .sort((a, b) => b[1] - a[1]) - .slice(0, 10); + .slice(0, getListSize()); rows.forEach(row => { row.push(`${(row[1] * 100 / total).toFixed(1)}%`); @@ -133,7 +153,8 @@ module.exports = (function() { return { time, - enabled + enabled, + getListSize }; }()); diff --git a/node_modules/eslint/lib/options.js b/node_modules/eslint/lib/options.js index 1681f1dbd..92c140bd3 100644 --- a/node_modules/eslint/lib/options.js +++ b/node_modules/eslint/lib/options.js @@ -11,6 +11,53 @@ const optionator = require("optionator"); +//------------------------------------------------------------------------------ +// Typedefs +//------------------------------------------------------------------------------ + +/** + * The options object parsed by Optionator. + * @typedef {Object} ParsedCLIOptions + * @property {boolean} cache Only check changed files + * @property {string} cacheFile Path to the cache file. Deprecated: use --cache-location + * @property {string} [cacheLocation] Path to the cache file or directory + * @property {"metadata" | "content"} cacheStrategy Strategy to use for detecting changed files in the cache + * @property {boolean} [color] Force enabling/disabling of color + * @property {string} [config] Use this configuration, overriding .eslintrc.* config options if present + * @property {boolean} debug Output debugging information + * @property {string[]} [env] Specify environments + * @property {boolean} envInfo Output execution environment information + * @property {boolean} errorOnUnmatchedPattern Prevent errors when pattern is unmatched + * @property {boolean} eslintrc Disable use of configuration from .eslintrc.* + * @property {string[]} [ext] Specify JavaScript file extensions + * @property {boolean} fix Automatically fix problems + * @property {boolean} fixDryRun Automatically fix problems without saving the changes to the file system + * @property {("problem" | "suggestion" | "layout")[]} [fixType] Specify the types of fixes to apply (problem, suggestion, layout) + * @property {string} format Use a specific output format + * @property {string[]} [global] Define global variables + * @property {boolean} [help] Show help + * @property {boolean} ignore Disable use of ignore files and patterns + * @property {string} [ignorePath] Specify path of ignore file + * @property {string[]} [ignorePattern] Pattern of files to ignore (in addition to those in .eslintignore) + * @property {boolean} init Run config initialization wizard + * @property {boolean} inlineConfig Prevent comments from changing config or rules + * @property {number} maxWarnings Number of warnings to trigger nonzero exit code + * @property {string} [outputFile] Specify file to write report to + * @property {string} [parser] Specify the parser to be used + * @property {Object} [parserOptions] Specify parser options + * @property {string[]} [plugin] Specify plugins + * @property {string} [printConfig] Print the configuration for the given file + * @property {boolean | undefined} reportUnusedDisableDirectives Adds reported errors for unused eslint-disable directives + * @property {string} [resolvePluginsRelativeTo] A folder where plugins should be resolved from, CWD by default + * @property {Object} [rule] Specify rules + * @property {string[]} [rulesdir] Use additional rules from this directory + * @property {boolean} stdin Lint code provided on + * @property {string} [stdinFilename] Specify filename to process STDIN as + * @property {boolean} quiet Report errors only + * @property {boolean} [version] Output the version number + * @property {string[]} _ Positional filenames or patterns + */ + //------------------------------------------------------------------------------ // Initialization and Public Interface //------------------------------------------------------------------------------ @@ -214,6 +261,14 @@ module.exports = optionator({ type: "path::String", description: "Path to the cache file or directory" }, + { + option: "cache-strategy", + dependsOn: ["cache"], + type: "String", + default: "metadata", + enum: ["metadata", "content"], + description: "Strategy to use for detecting changed files in the cache" + }, { heading: "Miscellaneous" }, diff --git a/node_modules/eslint/lib/rule-tester/rule-tester.js b/node_modules/eslint/lib/rule-tester/rule-tester.js index 905f34181..2b5524923 100644 --- a/node_modules/eslint/lib/rule-tester/rule-tester.js +++ b/node_modules/eslint/lib/rule-tester/rule-tester.js @@ -44,7 +44,8 @@ const assert = require("assert"), path = require("path"), util = require("util"), - lodash = require("lodash"), + merge = require("lodash.merge"), + equal = require("fast-deep-equal"), Traverser = require("../../lib/shared/traverser"), { getRuleOptionsSchema, validate } = require("../shared/config-validator"), { Linter, SourceCodeFixer, interpolate } = require("../linter"); @@ -52,6 +53,7 @@ const const ajv = require("../shared/ajv")({ strictDefaults: true }); const espreePath = require.resolve("espree"); +const parserSymbol = Symbol.for("eslint.RuleTester.parser"); //------------------------------------------------------------------------------ // Typedefs @@ -70,6 +72,7 @@ const espreePath = require.resolve("espree"); * @property {{ [name: string]: any }} [parserOptions] Options for the parser. * @property {{ [name: string]: "readonly" | "writable" | "off" }} [globals] The additional global variables. * @property {{ [name: string]: boolean }} [env] Environments for the test case. + * @property {boolean} [only] Run only this test case or the subset of test cases with this property. */ /** @@ -85,6 +88,7 @@ const espreePath = require.resolve("espree"); * @property {{ [name: string]: any }} [parserOptions] Options for the parser. * @property {{ [name: string]: "readonly" | "writable" | "off" }} [globals] The additional global variables. * @property {{ [name: string]: boolean }} [env] Environments for the test case. + * @property {boolean} [only] Run only this test case or the subset of test cases with this property. */ /** @@ -120,7 +124,8 @@ const RuleTesterParameters = [ "filename", "options", "errors", - "output" + "output", + "only" ]; /* @@ -235,6 +240,7 @@ function defineStartEndAsError(objName, node) { }); } + /** * Define `start`/`end` properties of all nodes of the given AST as throwing error. * @param {ASTNode} ast The root node to errorize `start`/`end` properties. @@ -254,8 +260,10 @@ function defineStartEndAsErrorInTree(ast, visitorKeys) { * @returns {Parser} Wrapped parser object. */ function wrapParser(parser) { + if (typeof parser.parseForESLint === "function") { return { + [parserSymbol]: parser, parseForESLint(...args) { const ret = parser.parseForESLint(...args); @@ -264,7 +272,9 @@ function wrapParser(parser) { } }; } + return { + [parserSymbol]: parser, parse(...args) { const ast = parser.parse(...args); @@ -281,6 +291,7 @@ function wrapParser(parser) { // default separators for testing const DESCRIBE = Symbol("describe"); const IT = Symbol("it"); +const IT_ONLY = Symbol("itOnly"); /** * This is `it` default handler if `it` don't exist. @@ -324,10 +335,9 @@ class RuleTester { * configuration and the default configuration. * @type {Object} */ - this.testerConfig = lodash.merge( - - // we have to clone because merge uses the first argument for recipient - lodash.cloneDeep(defaultConfig), + this.testerConfig = merge( + {}, + defaultConfig, testerConfig, { rules: { "rule-tester/validate-ast": "error" } } ); @@ -369,7 +379,7 @@ class RuleTester { * @returns {void} */ static resetDefaultConfig() { - defaultConfig = lodash.cloneDeep(testerDefaultConfig); + defaultConfig = merge({}, testerDefaultConfig); } @@ -400,6 +410,46 @@ class RuleTester { this[IT] = value; } + /** + * Adds the `only` property to a test to run it in isolation. + * @param {string | ValidTestCase | InvalidTestCase} item A single test to run by itself. + * @returns {ValidTestCase | InvalidTestCase} The test with `only` set. + */ + static only(item) { + if (typeof item === "string") { + return { code: item, only: true }; + } + + return { ...item, only: true }; + } + + static get itOnly() { + if (typeof this[IT_ONLY] === "function") { + return this[IT_ONLY]; + } + if (typeof this[IT] === "function" && typeof this[IT].only === "function") { + return Function.bind.call(this[IT].only, this[IT]); + } + if (typeof it === "function" && typeof it.only === "function") { + return Function.bind.call(it.only, it); + } + + if (typeof this[DESCRIBE] === "function" || typeof this[IT] === "function") { + throw new Error( + "Set `RuleTester.itOnly` to use `only` with a custom test framework.\n" + + "See https://eslint.org/docs/developer-guide/nodejs-api#customizing-ruletester for more." + ); + } + if (typeof it === "function") { + throw new Error("The current test framework does not support exclusive tests with `only`."); + } + throw new Error("To use `only`, use RuleTester with a test framework that provides `it.only()` like Mocha."); + } + + static set itOnly(value) { + this[IT_ONLY] = value; + } + /** * Define a rule for one particular run of tests. * @param {string} name The name of the rule to define. @@ -427,12 +477,12 @@ class RuleTester { scenarioErrors = [], linter = this.linter; - if (lodash.isNil(test) || typeof test !== "object") { + if (!test || typeof test !== "object") { throw new TypeError(`Test Scenarios for rule ${ruleName} : Could not find test scenario object`); } requiredScenarios.forEach(scenarioType => { - if (lodash.isNil(test[scenarioType])) { + if (!test[scenarioType]) { scenarioErrors.push(`Could not find any ${scenarioType} test scenarios`); } }); @@ -465,7 +515,7 @@ class RuleTester { * @private */ function runRuleForItem(item) { - let config = lodash.cloneDeep(testerConfig), + let config = merge({}, testerConfig), code, filename, output, beforeAST, afterAST; if (typeof item === "string") { @@ -477,13 +527,17 @@ class RuleTester { * Assumes everything on the item is a config except for the * parameters used by this tester */ - const itemConfig = lodash.omit(item, RuleTesterParameters); + const itemConfig = { ...item }; + + for (const parameter of RuleTesterParameters) { + delete itemConfig[parameter]; + } /* * Create the config object from the tester config and this item * specific configurations. */ - config = lodash.merge( + config = merge( config, itemConfig ); @@ -589,7 +643,7 @@ class RuleTester { * @private */ function assertASTDidntChange(beforeAST, afterAST) { - if (!lodash.isEqual(beforeAST, afterAST)) { + if (!equal(beforeAST, afterAST)) { assert.fail("Rule should not modify AST."); } } @@ -606,7 +660,8 @@ class RuleTester { const messages = result.messages; assert.strictEqual(messages.length, 0, util.format("Should have no errors but had %d: %s", - messages.length, util.inspect(messages))); + messages.length, + util.inspect(messages))); assertASTDidntChange(result.beforeAST, result.afterAST); } @@ -661,13 +716,18 @@ class RuleTester { } assert.strictEqual(messages.length, item.errors, util.format("Should have %d error%s but had %d: %s", - item.errors, item.errors === 1 ? "" : "s", messages.length, util.inspect(messages))); + item.errors, + item.errors === 1 ? "" : "s", + messages.length, + util.inspect(messages))); } else { assert.strictEqual( - messages.length, item.errors.length, - util.format( + messages.length, item.errors.length, util.format( "Should have %d error%s but had %d: %s", - item.errors.length, item.errors.length === 1 ? "" : "s", messages.length, util.inspect(messages) + item.errors.length, + item.errors.length === 1 ? "" : "s", + messages.length, + util.inspect(messages) ) ); @@ -881,23 +941,29 @@ class RuleTester { RuleTester.describe(ruleName, () => { RuleTester.describe("valid", () => { test.valid.forEach(valid => { - RuleTester.it(sanitize(typeof valid === "object" ? valid.code : valid), () => { - testValidTemplate(valid); - }); + RuleTester[valid.only ? "itOnly" : "it"]( + sanitize(typeof valid === "object" ? valid.code : valid), + () => { + testValidTemplate(valid); + } + ); }); }); RuleTester.describe("invalid", () => { test.invalid.forEach(invalid => { - RuleTester.it(sanitize(invalid.code), () => { - testInvalidTemplate(invalid); - }); + RuleTester[invalid.only ? "itOnly" : "it"]( + sanitize(invalid.code), + () => { + testInvalidTemplate(invalid); + } + ); }); }); }); } } -RuleTester[DESCRIBE] = RuleTester[IT] = null; +RuleTester[DESCRIBE] = RuleTester[IT] = RuleTester[IT_ONLY] = null; module.exports = RuleTester; diff --git a/node_modules/eslint/lib/rules/arrow-body-style.js b/node_modules/eslint/lib/rules/arrow-body-style.js index 7b318ea8b..5b8a5f011 100644 --- a/node_modules/eslint/lib/rules/arrow-body-style.js +++ b/node_modules/eslint/lib/rules/arrow-body-style.js @@ -87,17 +87,17 @@ module.exports = { } /** - * Gets the closing parenthesis which is the pair of the given opening parenthesis. - * @param {Token} token The opening parenthesis token to get. + * Gets the closing parenthesis by the given node. + * @param {ASTNode} node first node after an opening parenthesis. * @returns {Token} The found closing parenthesis token. */ - function findClosingParen(token) { - let node = sourceCode.getNodeByRangeIndex(token.range[0]); + function findClosingParen(node) { + let nodeToCheck = node; - while (!astUtils.isParenthesised(sourceCode, node)) { - node = node.parent; + while (!astUtils.isParenthesised(sourceCode, nodeToCheck)) { + nodeToCheck = nodeToCheck.parent; } - return sourceCode.getTokenAfter(node); + return sourceCode.getTokenAfter(nodeToCheck); } /** @@ -191,7 +191,7 @@ module.exports = { } /* - * If the first token of the reutrn value is `{` or the return value is a sequence expression, + * If the first token of the return value is `{` or the return value is a sequence expression, * enclose the return value by parentheses to avoid syntax error. */ if (astUtils.isOpeningBraceToken(firstValueToken) || blockBody[0].argument.type === "SequenceExpression" || (funcInfo.hasInOperator && isInsideForLoopInitializer(node))) { @@ -226,12 +226,22 @@ module.exports = { const arrowToken = sourceCode.getTokenBefore(arrowBody, astUtils.isArrowToken); const [firstTokenAfterArrow, secondTokenAfterArrow] = sourceCode.getTokensAfter(arrowToken, { count: 2 }); const lastToken = sourceCode.getLastToken(node); - const isParenthesisedObjectLiteral = + + let parenthesisedObjectLiteral = null; + + if ( astUtils.isOpeningParenToken(firstTokenAfterArrow) && - astUtils.isOpeningBraceToken(secondTokenAfterArrow); + astUtils.isOpeningBraceToken(secondTokenAfterArrow) + ) { + const braceNode = sourceCode.getNodeByRangeIndex(secondTokenAfterArrow.range[0]); + + if (braceNode.type === "ObjectExpression") { + parenthesisedObjectLiteral = braceNode; + } + } // If the value is object literal, remove parentheses which were forced by syntax. - if (isParenthesisedObjectLiteral) { + if (parenthesisedObjectLiteral) { const openingParenToken = firstTokenAfterArrow; const openingBraceToken = secondTokenAfterArrow; @@ -247,7 +257,7 @@ module.exports = { } // Closing paren for the object doesn't have to be lastToken, e.g.: () => ({}).foo() - fixes.push(fixer.remove(findClosingParen(openingBraceToken))); + fixes.push(fixer.remove(findClosingParen(parenthesisedObjectLiteral))); fixes.push(fixer.insertTextAfter(lastToken, "}")); } else { diff --git a/node_modules/eslint/lib/rules/callback-return.js b/node_modules/eslint/lib/rules/callback-return.js index ba13c9a64..fa66e6383 100644 --- a/node_modules/eslint/lib/rules/callback-return.js +++ b/node_modules/eslint/lib/rules/callback-return.js @@ -59,9 +59,9 @@ module.exports = { } /** - * Check to see if a node contains only identifers + * Check to see if a node contains only identifiers * @param {ASTNode} node The node to check - * @returns {boolean} Whether or not the node contains only identifers + * @returns {boolean} Whether or not the node contains only identifiers */ function containsOnlyIdentifiers(node) { if (node.type === "Identifier") { diff --git a/node_modules/eslint/lib/rules/comma-dangle.js b/node_modules/eslint/lib/rules/comma-dangle.js index e22b7f355..798c111ec 100644 --- a/node_modules/eslint/lib/rules/comma-dangle.js +++ b/node_modules/eslint/lib/rules/comma-dangle.js @@ -9,7 +9,6 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ @@ -144,23 +143,33 @@ module.exports = { * @returns {ASTNode|null} The last node or null. */ function getLastItem(node) { + + /** + * Returns the last element of an array + * @param {any[]} array The input array + * @returns {any} The last element + */ + function last(array) { + return array[array.length - 1]; + } + switch (node.type) { case "ObjectExpression": case "ObjectPattern": - return lodash.last(node.properties); + return last(node.properties); case "ArrayExpression": case "ArrayPattern": - return lodash.last(node.elements); + return last(node.elements); case "ImportDeclaration": case "ExportNamedDeclaration": - return lodash.last(node.specifiers); + return last(node.specifiers); case "FunctionDeclaration": case "FunctionExpression": case "ArrowFunctionExpression": - return lodash.last(node.params); + return last(node.params); case "CallExpression": case "NewExpression": - return lodash.last(node.arguments); + return last(node.arguments); default: return null; } @@ -316,7 +325,7 @@ module.exports = { "always-multiline": forceTrailingCommaIfMultiline, "only-multiline": allowTrailingCommaIfMultiline, never: forbidTrailingComma, - ignore: lodash.noop + ignore: () => {} }; return { diff --git a/node_modules/eslint/lib/rules/comma-spacing.js b/node_modules/eslint/lib/rules/comma-spacing.js index 73c10a771..2bf41a00b 100644 --- a/node_modules/eslint/lib/rules/comma-spacing.js +++ b/node_modules/eslint/lib/rules/comma-spacing.js @@ -181,7 +181,7 @@ module.exports = { validateCommaItemSpacing({ comma: token, - left: astUtils.isCommaToken(previousToken) || commaTokensToIgnore.indexOf(token) > -1 ? null : previousToken, + left: astUtils.isCommaToken(previousToken) || commaTokensToIgnore.includes(token) ? null : previousToken, right: astUtils.isCommaToken(nextToken) ? null : nextToken }, token); }); diff --git a/node_modules/eslint/lib/rules/comma-style.js b/node_modules/eslint/lib/rules/comma-style.js index f1a23d63b..fbdecccaa 100644 --- a/node_modules/eslint/lib/rules/comma-style.js +++ b/node_modules/eslint/lib/rules/comma-style.js @@ -207,8 +207,7 @@ module.exports = { * they are always valid regardless of an undefined item. */ if (astUtils.isCommaToken(commaToken)) { - validateCommaItemSpacing(previousItemToken, commaToken, - currentItemToken, reportItem); + validateCommaItemSpacing(previousItemToken, commaToken, currentItemToken, reportItem); } if (item) { diff --git a/node_modules/eslint/lib/rules/complexity.js b/node_modules/eslint/lib/rules/complexity.js index 7fc8bf9bc..116c8ad0a 100644 --- a/node_modules/eslint/lib/rules/complexity.js +++ b/node_modules/eslint/lib/rules/complexity.js @@ -10,9 +10,8 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); - const astUtils = require("./utils/ast-utils"); +const { upperCaseFirst } = require("../shared/string-utils"); //------------------------------------------------------------------------------ // Rule Definition @@ -95,7 +94,7 @@ module.exports = { * @private */ function endFunction(node) { - const name = lodash.upperFirst(astUtils.getFunctionNameWithKind(node)); + const name = upperCaseFirst(astUtils.getFunctionNameWithKind(node)); const complexity = fns.pop(); if (complexity > THRESHOLD) { @@ -153,7 +152,13 @@ module.exports = { IfStatement: increaseComplexity, SwitchCase: increaseSwitchComplexity, WhileStatement: increaseComplexity, - DoWhileStatement: increaseComplexity + DoWhileStatement: increaseComplexity, + + AssignmentExpression(node) { + if (astUtils.isLogicalAssignmentOperator(node.operator)) { + increaseComplexity(); + } + } }; } diff --git a/node_modules/eslint/lib/rules/consistent-return.js b/node_modules/eslint/lib/rules/consistent-return.js index 94db253d2..0e20209af 100644 --- a/node_modules/eslint/lib/rules/consistent-return.js +++ b/node_modules/eslint/lib/rules/consistent-return.js @@ -8,8 +8,8 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); const astUtils = require("./utils/ast-utils"); +const { upperCaseFirst } = require("../shared/string-utils"); //------------------------------------------------------------------------------ // Helpers @@ -104,18 +104,18 @@ module.exports = { } else if (node.type === "ArrowFunctionExpression") { // `=>` token - loc = context.getSourceCode().getTokenBefore(node.body, astUtils.isArrowToken).loc.start; + loc = context.getSourceCode().getTokenBefore(node.body, astUtils.isArrowToken).loc; } else if ( node.parent.type === "MethodDefinition" || (node.parent.type === "Property" && node.parent.method) ) { // Method name. - loc = node.parent.key.loc.start; + loc = node.parent.key.loc; } else { // Function name or `function` keyword. - loc = (node.id || node).loc.start; + loc = (node.id || context.getSourceCode().getFirstToken(node)).loc; } if (!name) { @@ -164,7 +164,7 @@ module.exports = { funcInfo.data = { name: funcInfo.node.type === "Program" ? "Program" - : lodash.upperFirst(astUtils.getFunctionNameWithKind(funcInfo.node)) + : upperCaseFirst(astUtils.getFunctionNameWithKind(funcInfo.node)) }; } else if (funcInfo.hasReturnValue !== hasReturnValue) { context.report({ diff --git a/node_modules/eslint/lib/rules/constructor-super.js b/node_modules/eslint/lib/rules/constructor-super.js index 8787fc569..dfec18fb6 100644 --- a/node_modules/eslint/lib/rules/constructor-super.js +++ b/node_modules/eslint/lib/rules/constructor-super.js @@ -79,6 +79,17 @@ function isPossibleConstructor(node) { return false; case "LogicalExpression": + + /* + * If the && operator short-circuits, the left side was falsy and therefore not a constructor, and if + * it doesn't short-circuit, it takes the value from the right side, so the right side must always be a + * possible constructor. A future improvement could verify that the left side could be truthy by + * excluding falsy literals. + */ + if (node.operator === "&&") { + return isPossibleConstructor(node.right); + } + return ( isPossibleConstructor(node.left) || isPossibleConstructor(node.right) diff --git a/node_modules/eslint/lib/rules/dot-location.js b/node_modules/eslint/lib/rules/dot-location.js index 0a739b171..a8d5a7605 100644 --- a/node_modules/eslint/lib/rules/dot-location.js +++ b/node_modules/eslint/lib/rules/dot-location.js @@ -46,7 +46,7 @@ module.exports = { const sourceCode = context.getSourceCode(); /** - * Reports if the dot between object and property is on the correct loccation. + * Reports if the dot between object and property is on the correct location. * @param {ASTNode} node The `MemberExpression` node. * @returns {void} */ diff --git a/node_modules/eslint/lib/rules/dot-notation.js b/node_modules/eslint/lib/rules/dot-notation.js index 751b4628e..3aa9f3110 100644 --- a/node_modules/eslint/lib/rules/dot-notation.js +++ b/node_modules/eslint/lib/rules/dot-notation.js @@ -94,7 +94,7 @@ module.exports = { // Don't perform any fixes if there are comments inside the brackets. if (sourceCode.commentsExistBetween(leftBracket, rightBracket)) { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } // Replace the brackets by an identifier. @@ -154,12 +154,12 @@ module.exports = { // A statement that starts with `let[` is parsed as a destructuring variable declaration, not a MemberExpression. if (node.object.type === "Identifier" && node.object.name === "let" && !node.optional) { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } // Don't perform any fixes if there are comments between the dot and the property name. if (sourceCode.commentsExistBetween(dotToken, node.property)) { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } // Replace the identifier to brackets. diff --git a/node_modules/eslint/lib/rules/eol-last.js b/node_modules/eslint/lib/rules/eol-last.js index fbba6c8f5..24b0c9279 100644 --- a/node_modules/eslint/lib/rules/eol-last.js +++ b/node_modules/eslint/lib/rules/eol-last.js @@ -4,12 +4,6 @@ */ "use strict"; -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const lodash = require("lodash"); - //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -48,13 +42,14 @@ module.exports = { Program: function checkBadEOF(node) { const sourceCode = context.getSourceCode(), src = sourceCode.getText(), + lastLine = sourceCode.lines[sourceCode.lines.length - 1], location = { - column: lodash.last(sourceCode.lines).length, + column: lastLine.length, line: sourceCode.lines.length }, LF = "\n", CRLF = `\r${LF}`, - endsWithNewline = lodash.endsWith(src, LF); + endsWithNewline = src.endsWith(LF); /* * Empty source is always valid: No content in file so we don't diff --git a/node_modules/eslint/lib/rules/func-call-spacing.js b/node_modules/eslint/lib/rules/func-call-spacing.js index 8fe690d4a..132a58331 100644 --- a/node_modules/eslint/lib/rules/func-call-spacing.js +++ b/node_modules/eslint/lib/rules/func-call-spacing.js @@ -131,7 +131,7 @@ module.exports = { return null; } - // If `?.` exsits, it doesn't hide no-undexpected-multiline errors + // If `?.` exists, it doesn't hide no-unexpected-multiline errors if (node.optional) { return fixer.replaceTextRange([leftToken.range[1], rightToken.range[0]], "?."); } @@ -177,7 +177,7 @@ module.exports = { /* * Only autofix if there is no newline * https://github.com/eslint/eslint/issues/7787 - * But if `?.` exsits, it doesn't hide no-undexpected-multiline errors + * But if `?.` exists, it doesn't hide no-unexpected-multiline errors */ if (!node.optional) { return null; diff --git a/node_modules/eslint/lib/rules/function-paren-newline.js b/node_modules/eslint/lib/rules/function-paren-newline.js index 894c8e331..9d8d67ba1 100644 --- a/node_modules/eslint/lib/rules/function-paren-newline.js +++ b/node_modules/eslint/lib/rules/function-paren-newline.js @@ -218,7 +218,7 @@ module.exports = { } case "ArrowFunctionExpression": { - const firstToken = sourceCode.getFirstToken(node); + const firstToken = sourceCode.getFirstToken(node, { skip: (node.async ? 1 : 0) }); if (!astUtils.isOpeningParenToken(firstToken)) { diff --git a/node_modules/eslint/lib/rules/indent-legacy.js b/node_modules/eslint/lib/rules/indent-legacy.js index 50010d3f7..a26ee87b1 100644 --- a/node_modules/eslint/lib/rules/indent-legacy.js +++ b/node_modules/eslint/lib/rules/indent-legacy.js @@ -954,7 +954,7 @@ module.exports = { } /** - * Checks wether a return statement is wrapped in () + * Checks whether a return statement is wrapped in () * @param {ASTNode} node node to examine * @returns {boolean} the result */ diff --git a/node_modules/eslint/lib/rules/indent.js b/node_modules/eslint/lib/rules/indent.js index 1c0dccc5c..04f41db9e 100644 --- a/node_modules/eslint/lib/rules/indent.js +++ b/node_modules/eslint/lib/rules/indent.js @@ -12,10 +12,10 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); -const astUtils = require("./utils/ast-utils"); const createTree = require("functional-red-black-tree"); +const astUtils = require("./utils/ast-utils"); + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -1068,7 +1068,7 @@ module.exports = { const baseOffsetListeners = { "ArrayExpression, ArrayPattern"(node) { const openingBracket = sourceCode.getFirstToken(node); - const closingBracket = sourceCode.getTokenAfter(lodash.findLast(node.elements) || openingBracket, astUtils.isClosingBracketToken); + const closingBracket = sourceCode.getTokenAfter([...node.elements].reverse().find(_ => _) || openingBracket, astUtils.isClosingBracketToken); addElementListIndent(node.elements, openingBracket, closingBracket, options.ArrayExpression); }, @@ -1177,7 +1177,7 @@ module.exports = { offsets.setDesiredOffset(questionMarkToken, firstToken, 1); offsets.setDesiredOffset(colonToken, firstToken, 1); - offsets.setDesiredOffset(firstConsequentToken, firstToken, + offsets.setDesiredOffset(firstConsequentToken, firstToken, firstConsequentToken.type === "Punctuator" && options.offsetTernaryExpressions ? 2 : 1); /* @@ -1203,8 +1203,7 @@ module.exports = { * If `baz` were aligned with `bar` rather than being offset by 1 from `foo`, `baz` would end up * having no expected indentation. */ - offsets.setDesiredOffset(firstAlternateToken, firstToken, - firstAlternateToken.type === "Punctuator" && + offsets.setDesiredOffset(firstAlternateToken, firstToken, firstAlternateToken.type === "Punctuator" && options.offsetTernaryExpressions ? 2 : 1); } } @@ -1559,8 +1558,9 @@ module.exports = { * 2. Don't set any offsets against the first token of the node. * 3. Call `ignoreNode` on the node sometime after exiting it and before validating offsets. */ - const offsetListeners = lodash.mapValues( - baseOffsetListeners, + const offsetListeners = {}; + + for (const [selector, listener] of Object.entries(baseOffsetListeners)) { /* * Offset listener calls are deferred until traversal is finished, and are called as @@ -1578,10 +1578,8 @@ module.exports = { * To avoid this, the `Identifier` listener isn't called until traversal finishes and all * ignored nodes are known. */ - listener => - node => - listenerCallQueue.push({ listener, node }) - ); + offsetListeners[selector] = node => listenerCallQueue.push({ listener, node }); + } // For each ignored node selector, set up a listener to collect it into the `ignoredNodes` set. const ignoredNodes = new Set(); diff --git a/node_modules/eslint/lib/rules/index.js b/node_modules/eslint/lib/rules/index.js index 3cf26e51b..35af38fd1 100644 --- a/node_modules/eslint/lib/rules/index.js +++ b/node_modules/eslint/lib/rules/index.js @@ -169,6 +169,7 @@ module.exports = new LazyLoadingRuleMap(Object.entries({ "no-new-require": () => require("./no-new-require"), "no-new-symbol": () => require("./no-new-symbol"), "no-new-wrappers": () => require("./no-new-wrappers"), + "no-nonoctal-decimal-escape": () => require("./no-nonoctal-decimal-escape"), "no-obj-calls": () => require("./no-obj-calls"), "no-octal": () => require("./no-octal"), "no-octal-escape": () => require("./no-octal-escape"), @@ -217,6 +218,7 @@ module.exports = new LazyLoadingRuleMap(Object.entries({ "no-unreachable-loop": () => require("./no-unreachable-loop"), "no-unsafe-finally": () => require("./no-unsafe-finally"), "no-unsafe-negation": () => require("./no-unsafe-negation"), + "no-unsafe-optional-chaining": () => require("./no-unsafe-optional-chaining"), "no-unused-expressions": () => require("./no-unused-expressions"), "no-unused-labels": () => require("./no-unused-labels"), "no-unused-vars": () => require("./no-unused-vars"), diff --git a/node_modules/eslint/lib/rules/lines-around-comment.js b/node_modules/eslint/lib/rules/lines-around-comment.js index 5e1b83cdd..6806e793c 100644 --- a/node_modules/eslint/lib/rules/lines-around-comment.js +++ b/node_modules/eslint/lib/rules/lines-around-comment.js @@ -8,8 +8,7 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"), - astUtils = require("./utils/ast-utils"); +const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ // Helpers @@ -347,7 +346,7 @@ module.exports = { const nextTokenOrComment = sourceCode.getTokenAfter(token, { includeComments: true }); // check for newline before - if (!exceptionStartAllowed && before && !lodash.includes(commentAndEmptyLines, prevLineNum) && + if (!exceptionStartAllowed && before && !commentAndEmptyLines.includes(prevLineNum) && !(astUtils.isCommentToken(previousTokenOrComment) && astUtils.isTokenOnSameLine(previousTokenOrComment, token))) { const lineStart = token.range[0] - token.loc.start.column; const range = [lineStart, lineStart]; @@ -362,7 +361,7 @@ module.exports = { } // check for newline after - if (!exceptionEndAllowed && after && !lodash.includes(commentAndEmptyLines, nextLineNum) && + if (!exceptionEndAllowed && after && !commentAndEmptyLines.includes(nextLineNum) && !(astUtils.isCommentToken(nextTokenOrComment) && astUtils.isTokenOnSameLine(token, nextTokenOrComment))) { context.report({ node: token, diff --git a/node_modules/eslint/lib/rules/max-lines-per-function.js b/node_modules/eslint/lib/rules/max-lines-per-function.js index aa423a60a..60e2e879f 100644 --- a/node_modules/eslint/lib/rules/max-lines-per-function.js +++ b/node_modules/eslint/lib/rules/max-lines-per-function.js @@ -9,8 +9,7 @@ //------------------------------------------------------------------------------ const astUtils = require("./utils/ast-utils"); - -const lodash = require("lodash"); +const { upperCaseFirst } = require("../shared/string-utils"); //------------------------------------------------------------------------------ // Constants @@ -71,7 +70,7 @@ module.exports = { type: "suggestion", docs: { - description: "enforce a maximum number of line of code in a function", + description: "enforce a maximum number of lines of code in a function", category: "Stylistic Issues", recommended: false, url: "https://eslint.org/docs/rules/max-lines-per-function" @@ -191,7 +190,7 @@ module.exports = { } if (lineCount > maxLines) { - const name = lodash.upperFirst(astUtils.getFunctionNameWithKind(funcNode)); + const name = upperCaseFirst(astUtils.getFunctionNameWithKind(funcNode)); context.report({ node, diff --git a/node_modules/eslint/lib/rules/max-lines.js b/node_modules/eslint/lib/rules/max-lines.js index f33adbdb5..8bd5a1c95 100644 --- a/node_modules/eslint/lib/rules/max-lines.js +++ b/node_modules/eslint/lib/rules/max-lines.js @@ -8,9 +8,22 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); const astUtils = require("./utils/ast-utils"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +/** + * Creates an array of numbers from `start` up to, but not including, `end` + * @param {number} start The start of the range + * @param {number} end The end of the range + * @returns {number[]} The range of numbers + */ +function range(start, end) { + return [...Array(end - start).keys()].map(x => x + start); +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -119,11 +132,25 @@ module.exports = { } if (start <= end) { - return lodash.range(start, end + 1); + return range(start, end + 1); } return []; } + /** + * Returns a new array formed by applying a given callback function to each element of the array, and then flattening the result by one level. + * TODO(stephenwade): Replace this with array.flatMap when we drop support for Node v10 + * @param {any[]} array The array to process + * @param {Function} fn The function to use + * @returns {any[]} The result array + */ + function flatMap(array, fn) { + const mapped = array.map(fn); + const flattened = [].concat(...mapped); + + return flattened; + } + return { "Program:exit"() { let lines = sourceCode.lines.map((text, i) => ({ @@ -131,6 +158,14 @@ module.exports = { text })); + /* + * If file ends with a linebreak, `sourceCode.lines` will have one extra empty line at the end. + * That isn't a real line, so we shouldn't count it. + */ + if (lines.length > 1 && lines[lines.length - 1].text === "") { + lines.pop(); + } + if (skipBlankLines) { lines = lines.filter(l => l.text.trim() !== ""); } @@ -138,12 +173,10 @@ module.exports = { if (skipComments) { const comments = sourceCode.getAllComments(); - const commentLines = lodash.flatten( - comments.map(comment => getLinesWithoutCode(comment)) - ); + const commentLines = flatMap(comments, comment => getLinesWithoutCode(comment)); lines = lines.filter( - l => !lodash.includes(commentLines, l.lineNumber) + l => !commentLines.includes(l.lineNumber) ); } @@ -155,7 +188,7 @@ module.exports = { }, end: { line: sourceCode.lines.length, - column: lodash.last(sourceCode.lines).length + column: sourceCode.lines[sourceCode.lines.length - 1].length } }; diff --git a/node_modules/eslint/lib/rules/max-params.js b/node_modules/eslint/lib/rules/max-params.js index 4eebe2d95..8fb798401 100644 --- a/node_modules/eslint/lib/rules/max-params.js +++ b/node_modules/eslint/lib/rules/max-params.js @@ -9,9 +9,8 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); - const astUtils = require("./utils/ast-utils"); +const { upperCaseFirst } = require("../shared/string-utils"); //------------------------------------------------------------------------------ // Rule Definition @@ -85,7 +84,7 @@ module.exports = { node, messageId: "exceed", data: { - name: lodash.upperFirst(astUtils.getFunctionNameWithKind(node)), + name: upperCaseFirst(astUtils.getFunctionNameWithKind(node)), count: node.params.length, max: numParams } diff --git a/node_modules/eslint/lib/rules/max-statements.js b/node_modules/eslint/lib/rules/max-statements.js index 437b393a5..65d553955 100644 --- a/node_modules/eslint/lib/rules/max-statements.js +++ b/node_modules/eslint/lib/rules/max-statements.js @@ -9,9 +9,8 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); - const astUtils = require("./utils/ast-utils"); +const { upperCaseFirst } = require("../shared/string-utils"); //------------------------------------------------------------------------------ // Rule Definition @@ -97,7 +96,7 @@ module.exports = { */ function reportIfTooManyStatements(node, count, max) { if (count > max) { - const name = lodash.upperFirst(astUtils.getFunctionNameWithKind(node)); + const name = upperCaseFirst(astUtils.getFunctionNameWithKind(node)); context.report({ node, diff --git a/node_modules/eslint/lib/rules/multiline-ternary.js b/node_modules/eslint/lib/rules/multiline-ternary.js index 6668bff48..98360b9ca 100644 --- a/node_modules/eslint/lib/rules/multiline-ternary.js +++ b/node_modules/eslint/lib/rules/multiline-ternary.js @@ -27,19 +27,22 @@ module.exports = { enum: ["always", "always-multiline", "never"] } ], + messages: { expectedTestCons: "Expected newline between test and consequent of ternary expression.", expectedConsAlt: "Expected newline between consequent and alternate of ternary expression.", unexpectedTestCons: "Unexpected newline between test and consequent of ternary expression.", unexpectedConsAlt: "Unexpected newline between consequent and alternate of ternary expression." - } + }, + + fixable: "whitespace" }, create(context) { + const sourceCode = context.getSourceCode(); const option = context.options[0]; const multiline = option !== "never"; const allowSingleLine = option === "always-multiline"; - const sourceCode = context.getSourceCode(); //-------------------------------------------------------------------------- // Public @@ -59,6 +62,8 @@ module.exports = { const areTestAndConsequentOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfTest, firstTokenOfConsequent); const areConsequentAndAlternateOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfConsequent, firstTokenOfAlternate); + const hasComments = !!sourceCode.getCommentsInside(node).length; + if (!multiline) { if (!areTestAndConsequentOnSameLine) { context.report({ @@ -67,7 +72,24 @@ module.exports = { start: firstTokenOfTest.loc.start, end: lastTokenOfTest.loc.end }, - messageId: "unexpectedTestCons" + messageId: "unexpectedTestCons", + fix: fixer => { + if (hasComments) { + return null; + } + const fixers = []; + const areTestAndQuestionOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfTest, questionToken); + const areQuestionAndConsOnSameLine = astUtils.isTokenOnSameLine(questionToken, firstTokenOfConsequent); + + if (!areTestAndQuestionOnSameLine) { + fixers.push(fixer.removeRange([lastTokenOfTest.range[1], questionToken.range[0]])); + } + if (!areQuestionAndConsOnSameLine) { + fixers.push(fixer.removeRange([questionToken.range[1], firstTokenOfConsequent.range[0]])); + } + + return fixers; + } }); } @@ -78,7 +100,24 @@ module.exports = { start: firstTokenOfConsequent.loc.start, end: lastTokenOfConsequent.loc.end }, - messageId: "unexpectedConsAlt" + messageId: "unexpectedConsAlt", + fix: fixer => { + if (hasComments) { + return null; + } + const fixers = []; + const areConsAndColonOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfConsequent, colonToken); + const areColonAndAltOnSameLine = astUtils.isTokenOnSameLine(colonToken, firstTokenOfAlternate); + + if (!areConsAndColonOnSameLine) { + fixers.push(fixer.removeRange([lastTokenOfConsequent.range[1], colonToken.range[0]])); + } + if (!areColonAndAltOnSameLine) { + fixers.push(fixer.removeRange([colonToken.range[1], firstTokenOfAlternate.range[0]])); + } + + return fixers; + } }); } } else { @@ -93,7 +132,16 @@ module.exports = { start: firstTokenOfTest.loc.start, end: lastTokenOfTest.loc.end }, - messageId: "expectedTestCons" + messageId: "expectedTestCons", + fix: fixer => (hasComments ? null : ( + fixer.replaceTextRange( + [ + lastTokenOfTest.range[1], + questionToken.range[0] + ], + "\n" + ) + )) }); } @@ -104,7 +152,16 @@ module.exports = { start: firstTokenOfConsequent.loc.start, end: lastTokenOfConsequent.loc.end }, - messageId: "expectedConsAlt" + messageId: "expectedConsAlt", + fix: (fixer => (hasComments ? null : ( + fixer.replaceTextRange( + [ + lastTokenOfConsequent.range[1], + colonToken.range[0] + ], + "\n" + ) + ))) }); } } diff --git a/node_modules/eslint/lib/rules/no-constant-condition.js b/node_modules/eslint/lib/rules/no-constant-condition.js index 5e5838641..3c2d68cbf 100644 --- a/node_modules/eslint/lib/rules/no-constant-condition.js +++ b/node_modules/eslint/lib/rules/no-constant-condition.js @@ -9,9 +9,6 @@ // Helpers //------------------------------------------------------------------------------ -const EQUALITY_OPERATORS = ["===", "!==", "==", "!="]; -const RELATIONAL_OPERATORS = [">", "<", ">=", "<=", "in", "instanceof"]; - //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -56,6 +53,35 @@ module.exports = { // Helpers //-------------------------------------------------------------------------- + /** + * Returns literal's value converted to the Boolean type + * @param {ASTNode} node any `Literal` node + * @returns {boolean | null} `true` when node is truthy, `false` when node is falsy, + * `null` when it cannot be determined. + */ + function getBooleanValue(node) { + if (node.value === null) { + + /* + * it might be a null literal or bigint/regex literal in unsupported environments . + * https://github.com/estree/estree/blob/14df8a024956ea289bd55b9c2226a1d5b8a473ee/es5.md#regexpliteral + * https://github.com/estree/estree/blob/14df8a024956ea289bd55b9c2226a1d5b8a473ee/es2020.md#bigintliteral + */ + + if (node.raw === "null") { + return false; + } + + // regex is always truthy + if (typeof node.regex === "object") { + return true; + } + + return null; + } + + return !!node.value; + } /** * Checks if a branch node of LogicalExpression short circuits the whole condition @@ -66,15 +92,28 @@ module.exports = { function isLogicalIdentity(node, operator) { switch (node.type) { case "Literal": - return (operator === "||" && node.value === true) || - (operator === "&&" && node.value === false); + return (operator === "||" && getBooleanValue(node) === true) || + (operator === "&&" && getBooleanValue(node) === false); case "UnaryExpression": return (operator === "&&" && node.operator === "void"); case "LogicalExpression": - return isLogicalIdentity(node.left, node.operator) || - isLogicalIdentity(node.right, node.operator); + + /* + * handles `a && false || b` + * `false` is an identity element of `&&` but not `||` + */ + return operator === node.operator && + ( + isLogicalIdentity(node.left, operator) || + isLogicalIdentity(node.right, operator) + ); + + case "AssignmentExpression": + return ["||=", "&&="].includes(node.operator) && + operator === node.operator.slice(0, -1) && + isLogicalIdentity(node.right, operator); // no default } @@ -113,12 +152,18 @@ module.exports = { } case "UnaryExpression": - if (node.operator === "void") { + if ( + node.operator === "void" || + node.operator === "typeof" && inBooleanPosition + ) { return true; } - return (node.operator === "typeof" && inBooleanPosition) || - isConstant(node.argument, true); + if (node.operator === "!") { + return isConstant(node.argument, true); + } + + return isConstant(node.argument, false); case "BinaryExpression": return isConstant(node.left, false) && @@ -129,27 +174,23 @@ module.exports = { const isLeftConstant = isConstant(node.left, inBooleanPosition); const isRightConstant = isConstant(node.right, inBooleanPosition); const isLeftShortCircuit = (isLeftConstant && isLogicalIdentity(node.left, node.operator)); - const isRightShortCircuit = (isRightConstant && isLogicalIdentity(node.right, node.operator)); + const isRightShortCircuit = (inBooleanPosition && isRightConstant && isLogicalIdentity(node.right, node.operator)); return (isLeftConstant && isRightConstant) || - ( - - // in the case of an "OR", we need to know if the right constant value is truthy - node.operator === "||" && - isRightConstant && - node.right.value && - ( - !node.parent || - node.parent.type !== "BinaryExpression" || - !(EQUALITY_OPERATORS.includes(node.parent.operator) || RELATIONAL_OPERATORS.includes(node.parent.operator)) - ) - ) || isLeftShortCircuit || isRightShortCircuit; } case "AssignmentExpression": - return (node.operator === "=") && isConstant(node.right, inBooleanPosition); + if (node.operator === "=") { + return isConstant(node.right, inBooleanPosition); + } + + if (["||=", "&&="].includes(node.operator) && inBooleanPosition) { + return isLogicalIdentity(node.right, node.operator.slice(0, -1)); + } + + return false; case "SequenceExpression": return isConstant(node.expressions[node.expressions.length - 1], inBooleanPosition); diff --git a/node_modules/eslint/lib/rules/no-control-regex.js b/node_modules/eslint/lib/rules/no-control-regex.js index 146c4f22d..6feeb6419 100644 --- a/node_modules/eslint/lib/rules/no-control-regex.js +++ b/node_modules/eslint/lib/rules/no-control-regex.js @@ -8,7 +8,6 @@ const RegExpValidator = require("regexpp").RegExpValidator; const collector = new (class { constructor() { - this.ecmaVersion = 2018; this._source = ""; this._controlChars = []; this._validator = new RegExpValidator(this); diff --git a/node_modules/eslint/lib/rules/no-duplicate-imports.js b/node_modules/eslint/lib/rules/no-duplicate-imports.js index 7218dc64a..cc3da1d5a 100644 --- a/node_modules/eslint/lib/rules/no-duplicate-imports.js +++ b/node_modules/eslint/lib/rules/no-duplicate-imports.js @@ -4,42 +4,183 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const NAMED_TYPES = ["ImportSpecifier", "ExportSpecifier"]; +const NAMESPACE_TYPES = [ + "ImportNamespaceSpecifier", + "ExportNamespaceSpecifier" +]; + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ +/** + * Check if an import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier). + * @param {string} importExportType An import/export type to check. + * @param {string} type Can be "named" or "namespace" + * @returns {boolean} True if import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier) and false if it doesn't. + */ +function isImportExportSpecifier(importExportType, type) { + const arrayToCheck = type === "named" ? NAMED_TYPES : NAMESPACE_TYPES; + + return arrayToCheck.includes(importExportType); +} + +/** + * Return the type of (import|export). + * @param {ASTNode} node A node to get. + * @returns {string} The type of the (import|export). + */ +function getImportExportType(node) { + if (node.specifiers && node.specifiers.length > 0) { + const nodeSpecifiers = node.specifiers; + const index = nodeSpecifiers.findIndex( + ({ type }) => + isImportExportSpecifier(type, "named") || + isImportExportSpecifier(type, "namespace") + ); + const i = index > -1 ? index : 0; + + return nodeSpecifiers[i].type; + } + if (node.type === "ExportAllDeclaration") { + if (node.exported) { + return "ExportNamespaceSpecifier"; + } + return "ExportAll"; + } + return "SideEffectImport"; +} + +/** + * Returns a boolean indicates if two (import|export) can be merged + * @param {ASTNode} node1 A node to check. + * @param {ASTNode} node2 A node to check. + * @returns {boolean} True if two (import|export) can be merged, false if they can't. + */ +function isImportExportCanBeMerged(node1, node2) { + const importExportType1 = getImportExportType(node1); + const importExportType2 = getImportExportType(node2); + + if ( + (importExportType1 === "ExportAll" && + importExportType2 !== "ExportAll" && + importExportType2 !== "SideEffectImport") || + (importExportType1 !== "ExportAll" && + importExportType1 !== "SideEffectImport" && + importExportType2 === "ExportAll") + ) { + return false; + } + if ( + (isImportExportSpecifier(importExportType1, "namespace") && + isImportExportSpecifier(importExportType2, "named")) || + (isImportExportSpecifier(importExportType2, "namespace") && + isImportExportSpecifier(importExportType1, "named")) + ) { + return false; + } + return true; +} + +/** + * Returns a boolean if we should report (import|export). + * @param {ASTNode} node A node to be reported or not. + * @param {[ASTNode]} previousNodes An array contains previous nodes of the module imported or exported. + * @returns {boolean} True if the (import|export) should be reported. + */ +function shouldReportImportExport(node, previousNodes) { + let i = 0; + + while (i < previousNodes.length) { + if (isImportExportCanBeMerged(node, previousNodes[i])) { + return true; + } + i++; + } + return false; +} + +/** + * Returns array contains only nodes with declarations types equal to type. + * @param {[{node: ASTNode, declarationType: string}]} nodes An array contains objects, each object contains a node and a declaration type. + * @param {string} type Declaration type. + * @returns {[ASTNode]} An array contains only nodes with declarations types equal to type. + */ +function getNodesByDeclarationType(nodes, type) { + return nodes + .filter(({ declarationType }) => declarationType === type) + .map(({ node }) => node); +} + /** * Returns the name of the module imported or re-exported. * @param {ASTNode} node A node to get. - * @returns {string} the name of the module, or empty string if no name. + * @returns {string} The name of the module, or empty string if no name. */ -function getValue(node) { +function getModule(node) { if (node && node.source && node.source.value) { return node.source.value.trim(); } - return ""; } /** - * Checks if the name of the import or export exists in the given array, and reports if so. + * Checks if the (import|export) can be merged with at least one import or one export, and reports if so. * @param {RuleContext} context The ESLint rule context object. * @param {ASTNode} node A node to get. - * @param {string} value The name of the imported or exported module. - * @param {string[]} array The array containing other imports or exports in the file. - * @param {string} messageId A messageId to be reported after the name of the module - * - * @returns {void} No return value + * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. + * @param {string} declarationType A declaration type can be an import or export. + * @param {boolean} includeExports Whether or not to check for exports in addition to imports. + * @returns {void} No return value. */ -function checkAndReport(context, node, value, array, messageId) { - if (array.indexOf(value) !== -1) { - context.report({ - node, - messageId, - data: { - module: value +function checkAndReport( + context, + node, + modules, + declarationType, + includeExports +) { + const module = getModule(node); + + if (modules.has(module)) { + const previousNodes = modules.get(module); + const messagesIds = []; + const importNodes = getNodesByDeclarationType(previousNodes, "import"); + let exportNodes; + + if (includeExports) { + exportNodes = getNodesByDeclarationType(previousNodes, "export"); + } + if (declarationType === "import") { + if (shouldReportImportExport(node, importNodes)) { + messagesIds.push("import"); } - }); + if (includeExports) { + if (shouldReportImportExport(node, exportNodes)) { + messagesIds.push("importAs"); + } + } + } else if (declarationType === "export") { + if (shouldReportImportExport(node, exportNodes)) { + messagesIds.push("export"); + } + if (shouldReportImportExport(node, importNodes)) { + messagesIds.push("exportAs"); + } + } + messagesIds.forEach(messageId => + context.report({ + node, + messageId, + data: { + module + } + })); } } @@ -49,47 +190,39 @@ function checkAndReport(context, node, value, array, messageId) { */ /** - * Returns a function handling the imports of a given file + * Returns a function handling the (imports|exports) of a given file * @param {RuleContext} context The ESLint rule context object. + * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. + * @param {string} declarationType A declaration type can be an import or export. * @param {boolean} includeExports Whether or not to check for exports in addition to imports. - * @param {string[]} importsInFile The array containing other imports in the file. - * @param {string[]} exportsInFile The array containing other exports in the file. - * * @returns {nodeCallback} A function passed to ESLint to handle the statement. */ -function handleImports(context, includeExports, importsInFile, exportsInFile) { +function handleImportsExports( + context, + modules, + declarationType, + includeExports +) { return function(node) { - const value = getValue(node); + const module = getModule(node); - if (value) { - checkAndReport(context, node, value, importsInFile, "import"); + if (module) { + checkAndReport( + context, + node, + modules, + declarationType, + includeExports + ); + const currentNode = { node, declarationType }; + let nodes = [currentNode]; - if (includeExports) { - checkAndReport(context, node, value, exportsInFile, "importAs"); + if (modules.has(module)) { + const previousNodes = modules.get(module); + + nodes = [...previousNodes, currentNode]; } - - importsInFile.push(value); - } - }; -} - -/** - * Returns a function handling the exports of a given file - * @param {RuleContext} context The ESLint rule context object. - * @param {string[]} importsInFile The array containing other imports in the file. - * @param {string[]} exportsInFile The array containing other exports in the file. - * - * @returns {nodeCallback} A function passed to ESLint to handle the statement. - */ -function handleExports(context, importsInFile, exportsInFile) { - return function(node) { - const value = getValue(node); - - if (value) { - checkAndReport(context, node, value, exportsInFile, "export"); - checkAndReport(context, node, value, importsInFile, "exportAs"); - - exportsInFile.push(value); + modules.set(module, nodes); } }; } @@ -105,16 +238,19 @@ module.exports = { url: "https://eslint.org/docs/rules/no-duplicate-imports" }, - schema: [{ - type: "object", - properties: { - includeExports: { - type: "boolean", - default: false - } - }, - additionalProperties: false - }], + schema: [ + { + type: "object", + properties: { + includeExports: { + type: "boolean", + default: false + } + }, + additionalProperties: false + } + ], + messages: { import: "'{{module}}' import is duplicated.", importAs: "'{{module}}' import is duplicated as export.", @@ -125,18 +261,30 @@ module.exports = { create(context) { const includeExports = (context.options[0] || {}).includeExports, - importsInFile = [], - exportsInFile = []; - + modules = new Map(); const handlers = { - ImportDeclaration: handleImports(context, includeExports, importsInFile, exportsInFile) + ImportDeclaration: handleImportsExports( + context, + modules, + "import", + includeExports + ) }; if (includeExports) { - handlers.ExportNamedDeclaration = handleExports(context, importsInFile, exportsInFile); - handlers.ExportAllDeclaration = handleExports(context, importsInFile, exportsInFile); + handlers.ExportNamedDeclaration = handleImportsExports( + context, + modules, + "export", + includeExports + ); + handlers.ExportAllDeclaration = handleImportsExports( + context, + modules, + "export", + includeExports + ); } - return handlers; } }; diff --git a/node_modules/eslint/lib/rules/no-extend-native.js b/node_modules/eslint/lib/rules/no-extend-native.js index db365b509..2a804b563 100644 --- a/node_modules/eslint/lib/rules/no-extend-native.js +++ b/node_modules/eslint/lib/rules/no-extend-native.js @@ -138,7 +138,7 @@ module.exports = { } /* - * `identifierNode.parent` is a MamberExpression `*.prototype`. + * `identifierNode.parent` is a MemberExpression `*.prototype`. * If it's an optional member access, it may be wrapped by a `ChainExpression` node. */ const prototypeNode = diff --git a/node_modules/eslint/lib/rules/no-extra-parens.js b/node_modules/eslint/lib/rules/no-extra-parens.js index e9d394c61..307e340c9 100644 --- a/node_modules/eslint/lib/rules/no-extra-parens.js +++ b/node_modules/eslint/lib/rules/no-extra-parens.js @@ -472,20 +472,34 @@ module.exports = { const callee = node.callee; if (hasExcessParensWithPrecedence(callee, precedence(node))) { - const hasNewParensException = callee.type === "NewExpression" && !isNewExpressionWithParens(callee); - if ( hasDoubleExcessParens(callee) || - !isIIFE(node) && - !hasNewParensException && !( + isIIFE(node) || - // Allow extra parens around a new expression if they are intervening parentheses. - node.type === "NewExpression" && - callee.type === "MemberExpression" && - doesMemberExpressionContainCallExpression(callee) - ) && - !(!node.optional && callee.type === "ChainExpression") + // (new A)(); new (new A)(); + ( + callee.type === "NewExpression" && + !isNewExpressionWithParens(callee) && + !( + node.type === "NewExpression" && + !isNewExpressionWithParens(node) + ) + ) || + + // new (a().b)(); new (a.b().c); + ( + node.type === "NewExpression" && + callee.type === "MemberExpression" && + doesMemberExpressionContainCallExpression(callee) + ) || + + // (a?.b)(); (a?.())(); + ( + !node.optional && + callee.type === "ChainExpression" + ) + ) ) { report(node.callee); } @@ -511,7 +525,7 @@ module.exports = { if (!shouldSkipLeft && hasExcessParens(node.left)) { if ( - !(node.left.type === "UnaryExpression" && isExponentiation) && + !(["AwaitExpression", "UnaryExpression"].includes(node.left.type) && isExponentiation) && !astUtils.isMixedLogicalAndCoalesceExpressions(node.left, node) && (leftPrecedence > prec || (leftPrecedence === prec && !isExponentiation)) || isParenthesisedTwice(node.left) @@ -830,45 +844,49 @@ module.exports = { ExportDefaultDeclaration: node => checkExpressionOrExportStatement(node.declaration), ExpressionStatement: node => checkExpressionOrExportStatement(node.expression), - "ForInStatement, ForOfStatement"(node) { - if (node.left.type !== "VariableDeclarator") { + ForInStatement(node) { + if (node.left.type !== "VariableDeclaration") { const firstLeftToken = sourceCode.getFirstToken(node.left, astUtils.isNotOpeningParenToken); if ( - firstLeftToken.value === "let" && ( - - /* - * If `let` is the only thing on the left side of the loop, it's the loop variable: `for ((let) of foo);` - * Removing it will cause a syntax error, because it will be parsed as the start of a VariableDeclarator. - */ - (firstLeftToken.range[1] === node.left.range[1] || /* - * If `let` is followed by a `[` token, it's a property access on the `let` value: `for ((let[foo]) of bar);` - * Removing it will cause the property access to be parsed as a destructuring declaration of `foo` instead. - */ - astUtils.isOpeningBracketToken( - sourceCode.getTokenAfter(firstLeftToken, astUtils.isNotClosingParenToken) - )) + firstLeftToken.value === "let" && + astUtils.isOpeningBracketToken( + sourceCode.getTokenAfter(firstLeftToken, astUtils.isNotClosingParenToken) ) ) { + + // ForInStatement#left expression cannot start with `let[`. tokensToIgnore.add(firstLeftToken); } } - if (node.type === "ForOfStatement") { - const hasExtraParens = node.right.type === "SequenceExpression" - ? hasDoubleExcessParens(node.right) - : hasExcessParens(node.right); + if (hasExcessParens(node.left)) { + report(node.left); + } - if (hasExtraParens) { - report(node.right); - } - } else if (hasExcessParens(node.right)) { + if (hasExcessParens(node.right)) { report(node.right); } + }, + + ForOfStatement(node) { + if (node.left.type !== "VariableDeclaration") { + const firstLeftToken = sourceCode.getFirstToken(node.left, astUtils.isNotOpeningParenToken); + + if (firstLeftToken.value === "let") { + + // ForOfStatement#left expression cannot start with `let`. + tokensToIgnore.add(firstLeftToken); + } + } if (hasExcessParens(node.left)) { report(node.left); } + + if (hasExcessParensWithPrecedence(node.right, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { + report(node.right); + } }, ForStatement(node) { @@ -881,6 +899,22 @@ module.exports = { } if (node.init) { + + if (node.init.type !== "VariableDeclaration") { + const firstToken = sourceCode.getFirstToken(node.init, astUtils.isNotOpeningParenToken); + + if ( + firstToken.value === "let" && + astUtils.isOpeningBracketToken( + sourceCode.getTokenAfter(firstToken, astUtils.isNotClosingParenToken) + ) + ) { + + // ForStatement#init expression cannot start with `let[`. + tokensToIgnore.add(firstToken); + } + } + startNewReportsBuffering(); if (hasExcessParens(node.init)) { @@ -1109,7 +1143,22 @@ module.exports = { }, UnaryExpression: checkArgumentWithPrecedence, - UpdateExpression: checkArgumentWithPrecedence, + UpdateExpression(node) { + if (node.prefix) { + checkArgumentWithPrecedence(node); + } else { + const { argument } = node; + const operatorToken = sourceCode.getLastToken(node); + + if (argument.loc.end.line === operatorToken.loc.start.line) { + checkArgumentWithPrecedence(node); + } else { + if (hasDoubleExcessParens(argument)) { + report(argument); + } + } + } + }, AwaitExpression: checkArgumentWithPrecedence, VariableDeclarator(node) { diff --git a/node_modules/eslint/lib/rules/no-fallthrough.js b/node_modules/eslint/lib/rules/no-fallthrough.js index dd1f3ed9d..3b949acd1 100644 --- a/node_modules/eslint/lib/rules/no-fallthrough.js +++ b/node_modules/eslint/lib/rules/no-fallthrough.js @@ -4,12 +4,6 @@ */ "use strict"; -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const lodash = require("lodash"); - //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ @@ -17,15 +11,26 @@ const lodash = require("lodash"); const DEFAULT_FALLTHROUGH_COMMENT = /falls?\s?through/iu; /** - * Checks whether or not a given node has a fallthrough comment. - * @param {ASTNode} node A SwitchCase node to get comments. + * Checks whether or not a given case has a fallthrough comment. + * @param {ASTNode} caseWhichFallsThrough SwitchCase node which falls through. + * @param {ASTNode} subsequentCase The case after caseWhichFallsThrough. * @param {RuleContext} context A rule context which stores comments. * @param {RegExp} fallthroughCommentPattern A pattern to match comment to. - * @returns {boolean} `true` if the node has a valid fallthrough comment. + * @returns {boolean} `true` if the case has a valid fallthrough comment. */ -function hasFallthroughComment(node, context, fallthroughCommentPattern) { +function hasFallthroughComment(caseWhichFallsThrough, subsequentCase, context, fallthroughCommentPattern) { const sourceCode = context.getSourceCode(); - const comment = lodash.last(sourceCode.getCommentsBefore(node)); + + if (caseWhichFallsThrough.consequent.length === 1 && caseWhichFallsThrough.consequent[0].type === "BlockStatement") { + const trailingCloseBrace = sourceCode.getLastToken(caseWhichFallsThrough.consequent[0]); + const commentInBlock = sourceCode.getCommentsBefore(trailingCloseBrace).pop(); + + if (commentInBlock && fallthroughCommentPattern.test(commentInBlock.value)) { + return true; + } + } + + const comment = sourceCode.getCommentsBefore(subsequentCase).pop(); return Boolean(comment && fallthroughCommentPattern.test(comment.value)); } @@ -114,7 +119,7 @@ module.exports = { * Checks whether or not there is a fallthrough comment. * And reports the previous fallthrough node if that does not exist. */ - if (fallthroughCase && !hasFallthroughComment(node, context, fallthroughCommentPattern)) { + if (fallthroughCase && !hasFallthroughComment(fallthroughCase, node, context, fallthroughCommentPattern)) { context.report({ messageId: node.test ? "case" : "default", node @@ -133,7 +138,7 @@ module.exports = { */ if (currentCodePath.currentSegments.some(isReachable) && (node.consequent.length > 0 || hasBlankLinesBetween(node, nextToken)) && - lodash.last(node.parent.cases) !== node) { + node.parent.cases[node.parent.cases.length - 1] !== node) { fallthroughCase = node; } } diff --git a/node_modules/eslint/lib/rules/no-implicit-coercion.js b/node_modules/eslint/lib/rules/no-implicit-coercion.js index a639711ec..993b8d1f1 100644 --- a/node_modules/eslint/lib/rules/no-implicit-coercion.js +++ b/node_modules/eslint/lib/rules/no-implicit-coercion.js @@ -24,6 +24,7 @@ function parseOptions(options) { boolean: "boolean" in options ? options.boolean : true, number: "number" in options ? options.number : true, string: "string" in options ? options.string : true, + disallowTemplateShorthand: "disallowTemplateShorthand" in options ? options.disallowTemplateShorthand : false, allow: options.allow || [] }; } @@ -108,6 +109,20 @@ function getNonNumericOperand(node) { return null; } +/** + * Checks whether an expression evaluates to a string. + * @param {ASTNode} node node that represents the expression to check. + * @returns {boolean} Whether or not the expression evaluates to a string. + */ +function isStringType(node) { + return astUtils.isStringLiteral(node) || + ( + node.type === "CallExpression" && + node.callee.type === "Identifier" && + node.callee.name === "String" + ); +} + /** * Checks whether a node is an empty string literal or not. * @param {ASTNode} node The node to check. @@ -125,8 +140,8 @@ function isEmptyString(node) { */ function isConcatWithEmptyString(node) { return node.operator === "+" && ( - (isEmptyString(node.left) && !astUtils.isStringLiteral(node.right)) || - (isEmptyString(node.right) && !astUtils.isStringLiteral(node.left)) + (isEmptyString(node.left) && !isStringType(node.right)) || + (isEmptyString(node.right) && !isStringType(node.left)) ); } @@ -180,6 +195,10 @@ module.exports = { type: "boolean", default: true }, + disallowTemplateShorthand: { + type: "boolean", + default: false + }, allow: { type: "array", items: { @@ -299,6 +318,43 @@ module.exports = { report(node, recommendation, true); } + }, + + TemplateLiteral(node) { + if (!options.disallowTemplateShorthand) { + return; + } + + // tag`${foo}` + if (node.parent.type === "TaggedTemplateExpression") { + return; + } + + // `` or `${foo}${bar}` + if (node.expressions.length !== 1) { + return; + } + + + // `prefix${foo}` + if (node.quasis[0].value.cooked !== "") { + return; + } + + // `${foo}postfix` + if (node.quasis[1].value.cooked !== "") { + return; + } + + // if the expression is already a string, then this isn't a coercion + if (isStringType(node.expressions[0])) { + return; + } + + const code = sourceCode.getText(node.expressions[0]); + const recommendation = `String(${code})`; + + report(node, recommendation, true); } }; } diff --git a/node_modules/eslint/lib/rules/no-import-assign.js b/node_modules/eslint/lib/rules/no-import-assign.js index 7a349bb73..41060d8ac 100644 --- a/node_modules/eslint/lib/rules/no-import-assign.js +++ b/node_modules/eslint/lib/rules/no-import-assign.js @@ -97,10 +97,10 @@ function isIterationVariable(node) { * - `Object.defineProperties` * - `Object.freeze` * - `Object.setPrototypeOf` - * - `Refrect.defineProperty` - * - `Refrect.deleteProperty` - * - `Refrect.set` - * - `Refrect.setPrototypeOf` + * - `Reflect.defineProperty` + * - `Reflect.deleteProperty` + * - `Reflect.set` + * - `Reflect.setPrototypeOf` * @param {ASTNode} node The node to check. * @param {Scope} scope A `escope.Scope` object to find variable (whichever). * @returns {boolean} `true` if the node is at the first argument of a well-known mutation function. diff --git a/node_modules/eslint/lib/rules/no-inline-comments.js b/node_modules/eslint/lib/rules/no-inline-comments.js index 41b0f1e66..dec278615 100644 --- a/node_modules/eslint/lib/rules/no-inline-comments.js +++ b/node_modules/eslint/lib/rules/no-inline-comments.js @@ -21,7 +21,17 @@ module.exports = { url: "https://eslint.org/docs/rules/no-inline-comments" }, - schema: [], + schema: [ + { + type: "object", + properties: { + ignorePattern: { + type: "string" + } + }, + additionalProperties: false + } + ], messages: { unexpectedInlineComment: "Unexpected comment inline with code." @@ -30,6 +40,12 @@ module.exports = { create(context) { const sourceCode = context.getSourceCode(); + const options = context.options[0]; + let customIgnoreRegExp; + + if (options && options.ignorePattern) { + customIgnoreRegExp = new RegExp(options.ignorePattern, "u"); + } /** * Will check that comments are not on lines starting with or ending with code @@ -51,6 +67,11 @@ module.exports = { return; } + // Matches the ignore pattern + if (customIgnoreRegExp && customIgnoreRegExp.test(node.value)) { + return; + } + // JSX Exception if ( (isPreambleEmpty || preamble === "{") && @@ -80,9 +101,9 @@ module.exports = { return { Program() { - const comments = sourceCode.getAllComments(); - - comments.filter(token => token.type !== "Shebang").forEach(testCodeAroundComment); + sourceCode.getAllComments() + .filter(token => token.type !== "Shebang") + .forEach(testCodeAroundComment); } }; } diff --git a/node_modules/eslint/lib/rules/no-invalid-regexp.js b/node_modules/eslint/lib/rules/no-invalid-regexp.js index 48b7188d4..94ad5ba6d 100644 --- a/node_modules/eslint/lib/rules/no-invalid-regexp.js +++ b/node_modules/eslint/lib/rules/no-invalid-regexp.js @@ -9,7 +9,7 @@ //------------------------------------------------------------------------------ const RegExpValidator = require("regexpp").RegExpValidator; -const validator = new RegExpValidator({ ecmaVersion: 2018 }); +const validator = new RegExpValidator(); const validFlags = /[gimuys]/gu; const undefined1 = void 0; @@ -69,6 +69,28 @@ module.exports = { return node && node.type === "Literal" && typeof node.value === "string"; } + /** + * Gets flags of a regular expression created by the given `RegExp()` or `new RegExp()` call + * Examples: + * new RegExp(".") // => "" + * new RegExp(".", "gu") // => "gu" + * new RegExp(".", flags) // => null + * @param {ASTNode} node `CallExpression` or `NewExpression` node + * @returns {string|null} flags if they can be determined, `null` otherwise + * @private + */ + function getFlags(node) { + if (node.arguments.length < 2) { + return ""; + } + + if (isString(node.arguments[1])) { + return node.arguments[1].value; + } + + return null; + } + /** * Check syntax error in a given pattern. * @param {string} pattern The RegExp pattern to validate. @@ -104,18 +126,23 @@ module.exports = { return; } const pattern = node.arguments[0].value; - let flags = isString(node.arguments[1]) ? node.arguments[1].value : ""; + let flags = getFlags(node); - if (allowedFlags) { + if (flags && allowedFlags) { flags = flags.replace(allowedFlags, ""); } - // If flags are unknown, check both are errored or not. - const message = validateRegExpFlags(flags) || ( - flags - ? validateRegExpPattern(pattern, flags.indexOf("u") !== -1) - : validateRegExpPattern(pattern, true) && validateRegExpPattern(pattern, false) - ); + const message = + ( + flags && validateRegExpFlags(flags) + ) || + ( + + // If flags are unknown, report the regex only if its pattern is invalid both with and without the "u" flag + flags === null + ? validateRegExpPattern(pattern, true) && validateRegExpPattern(pattern, false) + : validateRegExpPattern(pattern, flags.includes("u")) + ); if (message) { context.report({ diff --git a/node_modules/eslint/lib/rules/no-irregular-whitespace.js b/node_modules/eslint/lib/rules/no-irregular-whitespace.js index 0bf69b128..15711c615 100644 --- a/node_modules/eslint/lib/rules/no-irregular-whitespace.js +++ b/node_modules/eslint/lib/rules/no-irregular-whitespace.js @@ -82,7 +82,7 @@ module.exports = { const commentNodes = sourceCode.getAllComments(); /** - * Removes errors that occur inside a string node + * Removes errors that occur inside the given node * @param {ASTNode} node to check for matching errors. * @returns {void} * @private @@ -91,14 +91,12 @@ module.exports = { const locStart = node.loc.start; const locEnd = node.loc.end; - errors = errors.filter(({ loc: { start: errorLoc } }) => { - if (errorLoc.line >= locStart.line && errorLoc.line <= locEnd.line) { - if (errorLoc.column >= locStart.column && (errorLoc.column <= locEnd.column || errorLoc.line < locEnd.line)) { - return false; - } - } - return true; - }); + errors = errors.filter(({ loc: { start: errorLocStart } }) => ( + errorLocStart.line < locStart.line || + errorLocStart.line === locStart.line && errorLocStart.column < locStart.column || + errorLocStart.line === locEnd.line && errorLocStart.column >= locEnd.column || + errorLocStart.line > locEnd.line + )); } /** diff --git a/node_modules/eslint/lib/rules/no-loss-of-precision.js b/node_modules/eslint/lib/rules/no-loss-of-precision.js index 9e2811809..2d0c61842 100644 --- a/node_modules/eslint/lib/rules/no-loss-of-precision.js +++ b/node_modules/eslint/lib/rules/no-loss-of-precision.js @@ -105,9 +105,9 @@ module.exports = { } /** - * Converts an integer to to an object containing the the integer's coefficient and order of magnitude + * Converts an integer to to an object containing the integer's coefficient and order of magnitude * @param {string} stringInteger the string representation of the integer being converted - * @returns {Object} the object containing the the integer's coefficient and order of magnitude + * @returns {Object} the object containing the integer's coefficient and order of magnitude */ function normalizeInteger(stringInteger) { const significantDigits = removeTrailingZeros(removeLeadingZeros(stringInteger)); @@ -120,9 +120,9 @@ module.exports = { /** * - * Converts a float to to an object containing the the floats's coefficient and order of magnitude + * Converts a float to to an object containing the floats's coefficient and order of magnitude * @param {string} stringFloat the string representation of the float being converted - * @returns {Object} the object containing the the integer's coefficient and order of magnitude + * @returns {Object} the object containing the integer's coefficient and order of magnitude */ function normalizeFloat(stringFloat) { const trimmedFloat = removeLeadingZeros(stringFloat); diff --git a/node_modules/eslint/lib/rules/no-mixed-operators.js b/node_modules/eslint/lib/rules/no-mixed-operators.js index f0290e93e..5a2e139a6 100644 --- a/node_modules/eslint/lib/rules/no-mixed-operators.js +++ b/node_modules/eslint/lib/rules/no-mixed-operators.js @@ -117,7 +117,7 @@ module.exports = { ], messages: { - unexpectedMixedOperator: "Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'." + unexpectedMixedOperator: "Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations." } }, @@ -161,17 +161,6 @@ module.exports = { ); } - /** - * Checks whether the operator of a given node is mixed with a - * conditional expression. - * @param {ASTNode} node A node to check. This is a conditional - * expression node - * @returns {boolean} `true` if the node was mixed. - */ - function isMixedWithConditionalParent(node) { - return !astUtils.isParenthesised(sourceCode, node) && !astUtils.isParenthesised(sourceCode, node.test); - } - /** * Gets the operator token of a given node. * @param {ASTNode} node A node to check. This is a BinaryExpression @@ -220,19 +209,13 @@ module.exports = { * @returns {void} */ function check(node) { - if (TARGET_NODE_TYPE.test(node.parent.type)) { - if (node.parent.type === "ConditionalExpression" && !shouldIgnore(node) && isMixedWithConditionalParent(node.parent)) { - reportBothOperators(node); - } else { - if (TARGET_NODE_TYPE.test(node.parent.type) && - isMixedWithParent(node) && - !shouldIgnore(node) - ) { - reportBothOperators(node); - } - } + if ( + TARGET_NODE_TYPE.test(node.parent.type) && + isMixedWithParent(node) && + !shouldIgnore(node) + ) { + reportBothOperators(node); } - } return { diff --git a/node_modules/eslint/lib/rules/no-multi-assign.js b/node_modules/eslint/lib/rules/no-multi-assign.js index ab6430c19..d2606a150 100644 --- a/node_modules/eslint/lib/rules/no-multi-assign.js +++ b/node_modules/eslint/lib/rules/no-multi-assign.js @@ -21,7 +21,16 @@ module.exports = { url: "https://eslint.org/docs/rules/no-multi-assign" }, - schema: [], + schema: [{ + type: "object", + properties: { + ignoreNonDeclaration: { + type: "boolean", + default: false + } + }, + additionalProperties: false + }], messages: { unexpectedChain: "Unexpected chained assignment." @@ -33,10 +42,14 @@ module.exports = { //-------------------------------------------------------------------------- // Public //-------------------------------------------------------------------------- + const options = context.options[0] || { + ignoreNonDeclaration: false + }; + const targetParent = options.ignoreNonDeclaration ? ["VariableDeclarator"] : ["AssignmentExpression", "VariableDeclarator"]; return { AssignmentExpression(node) { - if (["AssignmentExpression", "VariableDeclarator"].indexOf(node.parent.type) !== -1) { + if (targetParent.indexOf(node.parent.type) !== -1) { context.report({ node, messageId: "unexpectedChain" diff --git a/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js b/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js new file mode 100644 index 000000000..a4b46d959 --- /dev/null +++ b/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js @@ -0,0 +1,147 @@ +/** + * @fileoverview Rule to disallow `\8` and `\9` escape sequences in string literals. + * @author Milos Djermanovic + */ + +"use strict"; + +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const QUICK_TEST_REGEX = /\\[89]/u; + +/** + * Returns unicode escape sequence that represents the given character. + * @param {string} character A single code unit. + * @returns {string} "\uXXXX" sequence. + */ +function getUnicodeEscape(character) { + return `\\u${character.charCodeAt(0).toString(16).padStart(4, "0")}`; +} + +//------------------------------------------------------------------------------ +// Rule Definition +//------------------------------------------------------------------------------ + +module.exports = { + meta: { + type: "suggestion", + + docs: { + description: "disallow `\\8` and `\\9` escape sequences in string literals", + category: "Best Practices", + recommended: false, + url: "https://eslint.org/docs/rules/no-nonoctal-decimal-escape", + suggestion: true + }, + + schema: [], + + messages: { + decimalEscape: "Don't use '{{decimalEscape}}' escape sequence.", + + // suggestions + refactor: "Replace '{{original}}' with '{{replacement}}'. This maintains the current functionality.", + escapeBackslash: "Replace '{{original}}' with '{{replacement}}' to include the actual backslash character." + } + }, + + create(context) { + const sourceCode = context.getSourceCode(); + + /** + * Creates a new Suggestion object. + * @param {string} messageId "refactor" or "escapeBackslash". + * @param {int[]} range The range to replace. + * @param {string} replacement New text for the range. + * @returns {Object} Suggestion + */ + function createSuggestion(messageId, range, replacement) { + return { + messageId, + data: { + original: sourceCode.getText().slice(...range), + replacement + }, + fix(fixer) { + return fixer.replaceTextRange(range, replacement); + } + }; + } + + return { + Literal(node) { + if (typeof node.value !== "string") { + return; + } + + if (!QUICK_TEST_REGEX.test(node.raw)) { + return; + } + + const regex = /(?:[^\\]|(?\\.))*?(?\\[89])/suy; + let match; + + while ((match = regex.exec(node.raw))) { + const { previousEscape, decimalEscape } = match.groups; + const decimalEscapeRangeEnd = node.range[0] + match.index + match[0].length; + const decimalEscapeRangeStart = decimalEscapeRangeEnd - decimalEscape.length; + const decimalEscapeRange = [decimalEscapeRangeStart, decimalEscapeRangeEnd]; + const suggest = []; + + // When `regex` is matched, `previousEscape` can only capture characters adjacent to `decimalEscape` + if (previousEscape === "\\0") { + + /* + * Now we have a NULL escape "\0" immediately followed by a decimal escape, e.g.: "\0\8". + * Fixing this to "\08" would turn "\0" into a legacy octal escape. To avoid producing + * an octal escape while fixing a decimal escape, we provide different suggestions. + */ + suggest.push( + createSuggestion( // "\0\8" -> "\u00008" + "refactor", + [decimalEscapeRangeStart - previousEscape.length, decimalEscapeRangeEnd], + `${getUnicodeEscape("\0")}${decimalEscape[1]}` + ), + createSuggestion( // "\8" -> "\u0038" + "refactor", + decimalEscapeRange, + getUnicodeEscape(decimalEscape[1]) + ) + ); + } else { + suggest.push( + createSuggestion( // "\8" -> "8" + "refactor", + decimalEscapeRange, + decimalEscape[1] + ) + ); + } + + suggest.push( + createSuggestion( // "\8" -> "\\8" + "escapeBackslash", + decimalEscapeRange, + `\\${decimalEscape}` + ) + ); + + context.report({ + node, + loc: { + start: sourceCode.getLocFromIndex(decimalEscapeRangeStart), + end: sourceCode.getLocFromIndex(decimalEscapeRangeEnd) + }, + messageId: "decimalEscape", + data: { + decimalEscape + }, + suggest + }); + } + } + }; + } +}; diff --git a/node_modules/eslint/lib/rules/no-prototype-builtins.js b/node_modules/eslint/lib/rules/no-prototype-builtins.js index ccec86c30..c5e4d4925 100644 --- a/node_modules/eslint/lib/rules/no-prototype-builtins.js +++ b/node_modules/eslint/lib/rules/no-prototype-builtins.js @@ -46,15 +46,15 @@ module.exports = { */ function disallowBuiltIns(node) { - // TODO: just use `astUtils.getStaticPropertyName(node.callee)` const callee = astUtils.skipChainExpression(node.callee); - if (callee.type !== "MemberExpression" || callee.computed) { + if (callee.type !== "MemberExpression") { return; } - const propName = callee.property.name; - if (DISALLOWED_PROPS.indexOf(propName) > -1) { + const propName = astUtils.getStaticPropertyName(callee); + + if (propName !== null && DISALLOWED_PROPS.indexOf(propName) > -1) { context.report({ messageId: "prototypeBuildIn", loc: callee.property.loc, diff --git a/node_modules/eslint/lib/rules/no-restricted-exports.js b/node_modules/eslint/lib/rules/no-restricted-exports.js index 6031e26de..f0df0ffae 100644 --- a/node_modules/eslint/lib/rules/no-restricted-exports.js +++ b/node_modules/eslint/lib/rules/no-restricted-exports.js @@ -45,7 +45,7 @@ module.exports = { /** * Checks and reports given exported identifier. - * @param {ASTNode} node exported `Identifer` node to check. + * @param {ASTNode} node exported `Identifier` node to check. * @returns {void} */ function checkExportedName(node) { diff --git a/node_modules/eslint/lib/rules/no-restricted-imports.js b/node_modules/eslint/lib/rules/no-restricted-imports.js index c205dad8b..414164d29 100644 --- a/node_modules/eslint/lib/rules/no-restricted-imports.js +++ b/node_modules/eslint/lib/rules/no-restricted-imports.js @@ -10,12 +10,6 @@ const ignore = require("ignore"); -const arrayOfStrings = { - type: "array", - items: { type: "string" }, - uniqueItems: true -}; - const arrayOfStringsOrObjects = { type: "array", items: { @@ -44,6 +38,41 @@ const arrayOfStringsOrObjects = { uniqueItems: true }; +const arrayOfStringsOrObjectPatterns = { + anyOf: [ + { + type: "array", + items: { + type: "string" + }, + uniqueItems: true + }, + { + type: "array", + items: { + type: "object", + properties: { + group: { + type: "array", + items: { + type: "string" + }, + minItems: 1, + uniqueItems: true + }, + message: { + type: "string", + minLength: 1 + } + }, + additionalProperties: false, + required: ["group"] + }, + uniqueItems: true + } + ] +}; + module.exports = { meta: { type: "suggestion", @@ -61,6 +90,8 @@ module.exports = { pathWithCustomMessage: "'{{importSource}}' import is restricted from being used. {{customMessage}}", patterns: "'{{importSource}}' import is restricted from being used by a pattern.", + // eslint-disable-next-line eslint-plugin/report-message-format + patternWithCustomMessage: "'{{importSource}}' import is restricted from being used by a pattern. {{customMessage}}", everything: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted.", // eslint-disable-next-line eslint-plugin/report-message-format @@ -80,7 +111,7 @@ module.exports = { type: "object", properties: { paths: arrayOfStringsOrObjects, - patterns: arrayOfStrings + patterns: arrayOfStringsOrObjectPatterns }, additionalProperties: false }], @@ -98,13 +129,6 @@ module.exports = { (Object.prototype.hasOwnProperty.call(options[0], "paths") || Object.prototype.hasOwnProperty.call(options[0], "patterns")); const restrictedPaths = (isPathAndPatternsObject ? options[0].paths : context.options) || []; - const restrictedPatterns = (isPathAndPatternsObject ? options[0].patterns : []) || []; - - // if no imports are restricted we don"t need to check - if (Object.keys(restrictedPaths).length === 0 && restrictedPatterns.length === 0) { - return {}; - } - const restrictedPathMessages = restrictedPaths.reduce((memo, importSource) => { if (typeof importSource === "string") { memo[importSource] = { message: null }; @@ -117,7 +141,16 @@ module.exports = { return memo; }, {}); - const restrictedPatternsMatcher = ignore().add(restrictedPatterns); + // Handle patterns too, either as strings or groups + const restrictedPatterns = (isPathAndPatternsObject ? options[0].patterns : []) || []; + const restrictedPatternGroups = restrictedPatterns.length > 0 && typeof restrictedPatterns[0] === "string" + ? [{ matcher: ignore().add(restrictedPatterns) }] + : restrictedPatterns.map(({ group, message }) => ({ matcher: ignore().add(group), customMessage: message })); + + // if no imports are restricted we don"t need to check + if (Object.keys(restrictedPaths).length === 0 && restrictedPatternGroups.length === 0) { + return {}; + } /** * Report a restricted path. @@ -184,17 +217,19 @@ module.exports = { /** * Report a restricted path specifically for patterns. * @param {node} node representing the restricted path reference + * @param {Object} group contains a Ignore instance for paths, and the customMessage to show if it fails * @returns {void} * @private */ - function reportPathForPatterns(node) { + function reportPathForPatterns(node, group) { const importSource = node.source.value.trim(); context.report({ node, - messageId: "patterns", + messageId: group.customMessage ? "patternWithCustomMessage" : "patterns", data: { - importSource + importSource, + customMessage: group.customMessage } }); } @@ -202,11 +237,12 @@ module.exports = { /** * Check if the given importSource is restricted by a pattern. * @param {string} importSource path of the import + * @param {Object} group contains a Ignore instance for paths, and the customMessage to show if it fails * @returns {boolean} whether the variable is a restricted pattern or not * @private */ - function isRestrictedPattern(importSource) { - return restrictedPatterns.length > 0 && restrictedPatternsMatcher.ignores(importSource); + function isRestrictedPattern(importSource, group) { + return group.matcher.ignores(importSource); } /** @@ -249,10 +285,11 @@ module.exports = { } checkRestrictedPathAndReport(importSource, importNames, node); - - if (isRestrictedPattern(importSource)) { - reportPathForPatterns(node); - } + restrictedPatternGroups.forEach(group => { + if (isRestrictedPattern(importSource, group)) { + reportPathForPatterns(node, group); + } + }); } return { diff --git a/node_modules/eslint/lib/rules/no-script-url.js b/node_modules/eslint/lib/rules/no-script-url.js index 2078fc1dc..0c8205244 100644 --- a/node_modules/eslint/lib/rules/no-script-url.js +++ b/node_modules/eslint/lib/rules/no-script-url.js @@ -7,6 +7,8 @@ "use strict"; +const astUtils = require("./utils/ast-utils"); + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -31,18 +33,30 @@ module.exports = { create(context) { - return { + /** + * Check whether a node's static value starts with "javascript:" or not. + * And report an error for unexpected script URL. + * @param {ASTNode} node node to check + * @returns {void} + */ + function check(node) { + const value = astUtils.getStaticStringValue(node); + if (typeof value === "string" && value.toLowerCase().indexOf("javascript:") === 0) { + context.report({ node, messageId: "unexpectedScriptURL" }); + } + } + return { Literal(node) { if (node.value && typeof node.value === "string") { - const value = node.value.toLowerCase(); - - if (value.indexOf("javascript:") === 0) { - context.report({ node, messageId: "unexpectedScriptURL" }); - } + check(node); + } + }, + TemplateLiteral(node) { + if (!(node.parent && node.parent.type === "TaggedTemplateExpression")) { + check(node); } } }; - } }; diff --git a/node_modules/eslint/lib/rules/no-sequences.js b/node_modules/eslint/lib/rules/no-sequences.js index d67635d11..fe516975f 100644 --- a/node_modules/eslint/lib/rules/no-sequences.js +++ b/node_modules/eslint/lib/rules/no-sequences.js @@ -11,6 +11,14 @@ const astUtils = require("./utils/ast-utils"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const DEFAULT_OPTIONS = { + allowInParentheses: true +}; + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -26,7 +34,15 @@ module.exports = { url: "https://eslint.org/docs/rules/no-sequences" }, - schema: [], + schema: [{ + properties: { + allowInParentheses: { + type: "boolean", + default: true + } + }, + additionalProperties: false + }], messages: { unexpectedCommaExpression: "Unexpected use of comma operator." @@ -34,6 +50,7 @@ module.exports = { }, create(context) { + const options = Object.assign({}, DEFAULT_OPTIONS, context.options[0]); const sourceCode = context.getSourceCode(); /** @@ -99,13 +116,15 @@ module.exports = { } // Wrapping a sequence in extra parens indicates intent - if (requiresExtraParens(node)) { - if (isParenthesisedTwice(node)) { - return; - } - } else { - if (isParenthesised(node)) { - return; + if (options.allowInParentheses) { + if (requiresExtraParens(node)) { + if (isParenthesisedTwice(node)) { + return; + } + } else { + if (isParenthesised(node)) { + return; + } } } diff --git a/node_modules/eslint/lib/rules/no-shadow.js b/node_modules/eslint/lib/rules/no-shadow.js index 1be8590e4..a0b1db50c 100644 --- a/node_modules/eslint/lib/rules/no-shadow.js +++ b/node_modules/eslint/lib/rules/no-shadow.js @@ -44,7 +44,8 @@ module.exports = { ], messages: { - noShadow: "'{{name}}' is already declared in the upper scope." + noShadow: "'{{name}}' is already declared in the upper scope on line {{shadowedLine}} column {{shadowedColumn}}.", + noShadowGlobal: "'{{name}}' is already a global variable." } }, @@ -117,6 +118,29 @@ module.exports = { return def && def.name.range; } + /** + * Get declared line and column of a variable. + * @param {eslint-scope.Variable} variable The variable to get. + * @returns {Object} The declared line and column of the variable. + */ + function getDeclaredLocation(variable) { + const identifier = variable.identifiers[0]; + let obj; + + if (identifier) { + obj = { + global: false, + line: identifier.loc.start.line, + column: identifier.loc.start.column + 1 + }; + } else { + obj = { + global: true + }; + } + return obj; + } + /** * Checks if a variable is in TDZ of scopeVar. * @param {Object} variable The variable to check. @@ -165,10 +189,18 @@ module.exports = { !isOnInitializer(variable, shadowed) && !(options.hoist !== "all" && isInTdz(variable, shadowed)) ) { + const location = getDeclaredLocation(shadowed); + const messageId = location.global ? "noShadowGlobal" : "noShadow"; + const data = { name: variable.name }; + + if (!location.global) { + data.shadowedLine = location.line; + data.shadowedColumn = location.column; + } context.report({ node: variable.identifiers[0], - messageId: "noShadow", - data: variable + messageId, + data }); } } diff --git a/node_modules/eslint/lib/rules/no-this-before-super.js b/node_modules/eslint/lib/rules/no-this-before-super.js index 44288c0c9..5bfba66fc 100644 --- a/node_modules/eslint/lib/rules/no-this-before-super.js +++ b/node_modules/eslint/lib/rules/no-this-before-super.js @@ -171,7 +171,7 @@ module.exports = { /** * Removes the top of stack item. * - * And this treverses all segments of this code path then reports every + * And this traverses all segments of this code path then reports every * invalid node. * @param {CodePath} codePath A code path which was ended. * @returns {void} diff --git a/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js b/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js new file mode 100644 index 000000000..2eafc1ad8 --- /dev/null +++ b/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js @@ -0,0 +1,205 @@ +/** + * @fileoverview Rule to disallow unsafe optional chaining + * @author Yeon JuAn + */ + +"use strict"; + +const UNSAFE_ARITHMETIC_OPERATORS = new Set(["+", "-", "/", "*", "%", "**"]); +const UNSAFE_ASSIGNMENT_OPERATORS = new Set(["+=", "-=", "/=", "*=", "%=", "**="]); +const UNSAFE_RELATIONAL_OPERATORS = new Set(["in", "instanceof"]); + +/** + * Checks whether a node is a destructuring pattern or not + * @param {ASTNode} node node to check + * @returns {boolean} `true` if a node is a destructuring pattern, otherwise `false` + */ +function isDestructuringPattern(node) { + return node.type === "ObjectPattern" || node.type === "ArrayPattern"; +} + +module.exports = { + meta: { + type: "problem", + + docs: { + description: "disallow use of optional chaining in contexts where the `undefined` value is not allowed", + category: "Possible Errors", + recommended: false, + url: "https://eslint.org/docs/rules/no-unsafe-optional-chaining" + }, + schema: [{ + type: "object", + properties: { + disallowArithmeticOperators: { + type: "boolean", + default: false + } + }, + additionalProperties: false + }], + fixable: null, + messages: { + unsafeOptionalChain: "Unsafe usage of optional chaining. If it short-circuits with 'undefined' the evaluation will throw TypeError.", + unsafeArithmetic: "Unsafe arithmetic operation on optional chaining. It can result in NaN." + } + }, + + create(context) { + const options = context.options[0] || {}; + const disallowArithmeticOperators = (options.disallowArithmeticOperators) || false; + + /** + * Reports unsafe usage of optional chaining + * @param {ASTNode} node node to report + * @returns {void} + */ + function reportUnsafeUsage(node) { + context.report({ + messageId: "unsafeOptionalChain", + node + }); + } + + /** + * Reports unsafe arithmetic operation on optional chaining + * @param {ASTNode} node node to report + * @returns {void} + */ + function reportUnsafeArithmetic(node) { + context.report({ + messageId: "unsafeArithmetic", + node + }); + } + + /** + * Checks and reports if a node can short-circuit with `undefined` by optional chaining. + * @param {ASTNode} [node] node to check + * @param {Function} reportFunc report function + * @returns {void} + */ + function checkUndefinedShortCircuit(node, reportFunc) { + if (!node) { + return; + } + switch (node.type) { + case "LogicalExpression": + if (node.operator === "||" || node.operator === "??") { + checkUndefinedShortCircuit(node.right, reportFunc); + } else if (node.operator === "&&") { + checkUndefinedShortCircuit(node.left, reportFunc); + checkUndefinedShortCircuit(node.right, reportFunc); + } + break; + case "SequenceExpression": + checkUndefinedShortCircuit( + node.expressions[node.expressions.length - 1], + reportFunc + ); + break; + case "ConditionalExpression": + checkUndefinedShortCircuit(node.consequent, reportFunc); + checkUndefinedShortCircuit(node.alternate, reportFunc); + break; + case "AwaitExpression": + checkUndefinedShortCircuit(node.argument, reportFunc); + break; + case "ChainExpression": + reportFunc(node); + break; + default: + break; + } + } + + /** + * Checks unsafe usage of optional chaining + * @param {ASTNode} node node to check + * @returns {void} + */ + function checkUnsafeUsage(node) { + checkUndefinedShortCircuit(node, reportUnsafeUsage); + } + + /** + * Checks unsafe arithmetic operations on optional chaining + * @param {ASTNode} node node to check + * @returns {void} + */ + function checkUnsafeArithmetic(node) { + checkUndefinedShortCircuit(node, reportUnsafeArithmetic); + } + + return { + "AssignmentExpression, AssignmentPattern"(node) { + if (isDestructuringPattern(node.left)) { + checkUnsafeUsage(node.right); + } + }, + "ClassDeclaration, ClassExpression"(node) { + checkUnsafeUsage(node.superClass); + }, + CallExpression(node) { + if (!node.optional) { + checkUnsafeUsage(node.callee); + } + }, + NewExpression(node) { + checkUnsafeUsage(node.callee); + }, + VariableDeclarator(node) { + if (isDestructuringPattern(node.id)) { + checkUnsafeUsage(node.init); + } + }, + MemberExpression(node) { + if (!node.optional) { + checkUnsafeUsage(node.object); + } + }, + TaggedTemplateExpression(node) { + checkUnsafeUsage(node.tag); + }, + ForOfStatement(node) { + checkUnsafeUsage(node.right); + }, + SpreadElement(node) { + if (node.parent && node.parent.type !== "ObjectExpression") { + checkUnsafeUsage(node.argument); + } + }, + BinaryExpression(node) { + if (UNSAFE_RELATIONAL_OPERATORS.has(node.operator)) { + checkUnsafeUsage(node.right); + } + if ( + disallowArithmeticOperators && + UNSAFE_ARITHMETIC_OPERATORS.has(node.operator) + ) { + checkUnsafeArithmetic(node.right); + checkUnsafeArithmetic(node.left); + } + }, + WithStatement(node) { + checkUnsafeUsage(node.object); + }, + UnaryExpression(node) { + if ( + disallowArithmeticOperators && + UNSAFE_ARITHMETIC_OPERATORS.has(node.operator) + ) { + checkUnsafeArithmetic(node.argument); + } + }, + AssignmentExpression(node) { + if ( + disallowArithmeticOperators && + UNSAFE_ASSIGNMENT_OPERATORS.has(node.operator) + ) { + checkUnsafeArithmetic(node.right); + } + } + }; + } +}; diff --git a/node_modules/eslint/lib/rules/no-unused-expressions.js b/node_modules/eslint/lib/rules/no-unused-expressions.js index 882a0fd1c..58c9b3341 100644 --- a/node_modules/eslint/lib/rules/no-unused-expressions.js +++ b/node_modules/eslint/lib/rules/no-unused-expressions.js @@ -50,6 +50,10 @@ module.exports = { allowTaggedTemplates: { type: "boolean", default: false + }, + enforceForJSX: { + type: "boolean", + default: false } }, additionalProperties: false @@ -65,7 +69,8 @@ module.exports = { const config = context.options[0] || {}, allowShortCircuit = config.allowShortCircuit || false, allowTernary = config.allowTernary || false, - allowTaggedTemplates = config.allowTaggedTemplates || false; + allowTaggedTemplates = config.allowTaggedTemplates || false, + enforceForJSX = config.enforceForJSX || false; // eslint-disable-next-line jsdoc/require-description /** @@ -140,6 +145,12 @@ module.exports = { }, FunctionExpression: alwaysTrue, Identifier: alwaysTrue, + JSXElement() { + return enforceForJSX; + }, + JSXFragment() { + return enforceForJSX; + }, Literal: alwaysTrue, LogicalExpression(node) { if (allowShortCircuit) { diff --git a/node_modules/eslint/lib/rules/no-unused-vars.js b/node_modules/eslint/lib/rules/no-unused-vars.js index 4dc6dc2ba..f04818f8e 100644 --- a/node_modules/eslint/lib/rules/no-unused-vars.js +++ b/node_modules/eslint/lib/rules/no-unused-vars.js @@ -196,6 +196,17 @@ module.exports = { } + /** + * Checks whether a node is a sibling of the rest property or not. + * @param {ASTNode} node a node to check + * @returns {boolean} True if the node is a sibling of the rest property, otherwise false. + */ + function hasRestSibling(node) { + return node.type === "Property" && + node.parent.type === "ObjectPattern" && + REST_PROPERTY_TYPE.test(node.parent.properties[node.parent.properties.length - 1].type); + } + /** * Determines if a variable has a sibling rest property * @param {Variable} variable eslint-scope variable object. @@ -204,16 +215,10 @@ module.exports = { */ function hasRestSpreadSibling(variable) { if (config.ignoreRestSiblings) { - return variable.defs.some(def => { - const propertyNode = def.name.parent; - const patternNode = propertyNode.parent; + const hasRestSiblingDefinition = variable.defs.some(def => hasRestSibling(def.name.parent)); + const hasRestSiblingReference = variable.references.some(ref => hasRestSibling(ref.identifier.parent)); - return ( - propertyNode.type === "Property" && - patternNode.type === "ObjectPattern" && - REST_PROPERTY_TYPE.test(patternNode.properties[patternNode.properties.length - 1].type) - ); - }); + return hasRestSiblingDefinition || hasRestSiblingReference; } return false; @@ -405,6 +410,31 @@ module.exports = { ); } + /** + * Checks whether a given node is unused expression or not. + * @param {ASTNode} node The node itself + * @returns {boolean} The node is an unused expression. + * @private + */ + function isUnusedExpression(node) { + const parent = node.parent; + + if (parent.type === "ExpressionStatement") { + return true; + } + + if (parent.type === "SequenceExpression") { + const isLastExpression = parent.expressions[parent.expressions.length - 1] === node; + + if (!isLastExpression) { + return true; + } + return isUnusedExpression(parent); + } + + return false; + } + /** * Checks whether a given reference is a read to update itself or not. * @param {eslint-scope.Reference} ref A reference to check. @@ -415,23 +445,28 @@ module.exports = { function isReadForItself(ref, rhsNode) { const id = ref.identifier; const parent = id.parent; - const grandparent = parent.parent; return ref.isRead() && ( // self update. e.g. `a += 1`, `a++` - (// in RHS of an assignment for itself. e.g. `a = a + 1` - (( - parent.type === "AssignmentExpression" && - grandparent.type === "ExpressionStatement" && - parent.left === id - ) || ( - parent.type === "UpdateExpression" && - grandparent.type === "ExpressionStatement" - ) || rhsNode && - isInside(id, rhsNode) && - !isInsideOfStorableFunction(id, rhsNode))) + ( + parent.type === "AssignmentExpression" && + parent.left === id && + isUnusedExpression(parent) + ) || + ( + parent.type === "UpdateExpression" && + isUnusedExpression(parent) + ) + ) || + + // in RHS of an assignment for itself. e.g. `a = a + 1` + ( + rhsNode && + isInside(id, rhsNode) && + !isInsideOfStorableFunction(id, rhsNode) + ) ); } @@ -619,10 +654,18 @@ module.exports = { // Report the first declaration. if (unusedVar.defs.length > 0) { + + // report last write reference, https://github.com/eslint/eslint/issues/14324 + const writeReferences = unusedVar.references.filter(ref => ref.isWrite() && ref.from.variableScope === unusedVar.scope.variableScope); + + let referenceToReport; + + if (writeReferences.length > 0) { + referenceToReport = writeReferences[writeReferences.length - 1]; + } + context.report({ - node: unusedVar.references.length ? unusedVar.references[ - unusedVar.references.length - 1 - ].identifier : unusedVar.identifiers[0], + node: referenceToReport ? referenceToReport.identifier : unusedVar.identifiers[0], messageId: "unusedVar", data: unusedVar.references.some(ref => ref.isWrite()) ? getAssignedMessageData(unusedVar) diff --git a/node_modules/eslint/lib/rules/no-useless-backreference.js b/node_modules/eslint/lib/rules/no-useless-backreference.js index 958e3d5dd..529c16439 100644 --- a/node_modules/eslint/lib/rules/no-useless-backreference.js +++ b/node_modules/eslint/lib/rules/no-useless-backreference.js @@ -11,7 +11,6 @@ const { CALL, CONSTRUCT, ReferenceTracker, getStringIfConstant } = require("eslint-utils"); const { RegExpParser, visitRegExpAST } = require("regexpp"); -const lodash = require("lodash"); //------------------------------------------------------------------------------ // Helpers @@ -137,7 +136,7 @@ module.exports = { // the opposite of the previous when the regex is matching backward in a lookbehind context. messageId = "backward"; - } else if (lodash.last(groupCut).type === "Alternative") { + } else if (groupCut[groupCut.length - 1].type === "Alternative") { // group's and bref's ancestor nodes below the lowest common ancestor are sibling alternatives => they're disjunctive. messageId = "disjunctive"; diff --git a/node_modules/eslint/lib/rules/no-useless-computed-key.js b/node_modules/eslint/lib/rules/no-useless-computed-key.js index e0505a318..a1cacc296 100644 --- a/node_modules/eslint/lib/rules/no-useless-computed-key.js +++ b/node_modules/eslint/lib/rules/no-useless-computed-key.js @@ -8,7 +8,6 @@ // Requirements //------------------------------------------------------------------------------ -const lodash = require("lodash"); const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ @@ -95,9 +94,16 @@ module.exports = { } } + /** + * A no-op function to act as placeholder for checking a node when the `enforceForClassMembers` option is `false`. + * @returns {void} + * @private + */ + function noop() {} + return { Property: check, - MethodDefinition: enforceForClassMembers ? check : lodash.noop + MethodDefinition: enforceForClassMembers ? check : noop }; } }; diff --git a/node_modules/eslint/lib/rules/no-useless-constructor.js b/node_modules/eslint/lib/rules/no-useless-constructor.js index 4c34aeda7..baabe7ec8 100644 --- a/node_modules/eslint/lib/rules/no-useless-constructor.js +++ b/node_modules/eslint/lib/rules/no-useless-constructor.js @@ -162,6 +162,14 @@ module.exports = { return; } + /* + * Prevent crashing on parsers which do not require class constructor + * to have a body, e.g. typescript and flow + */ + if (!node.value.body) { + return; + } + const body = node.value.body.body; const ctorParams = node.value.params; const superClass = node.parent.parent.superClass; diff --git a/node_modules/eslint/lib/rules/no-useless-escape.js b/node_modules/eslint/lib/rules/no-useless-escape.js index 8057e44dd..512c93a8b 100644 --- a/node_modules/eslint/lib/rules/no-useless-escape.js +++ b/node_modules/eslint/lib/rules/no-useless-escape.js @@ -109,9 +109,9 @@ module.exports = { * @returns {void} */ function report(node, startOffset, character) { - const start = sourceCode.getLocFromIndex(sourceCode.getIndexFromLoc(node.loc.start) + startOffset); - const rangeStart = sourceCode.getIndexFromLoc(node.loc.start) + startOffset; + const rangeStart = node.range[0] + startOffset; const range = [rangeStart, rangeStart + 1]; + const start = sourceCode.getLocFromIndex(rangeStart); context.report({ node, @@ -172,7 +172,7 @@ module.exports = { } if (isUnnecessaryEscape && !isQuoteEscape) { - report(node, match.index + 1, match[0].slice(1)); + report(node, match.index, match[0].slice(1)); } } @@ -206,7 +206,7 @@ module.exports = { return; } - const value = isTemplateElement ? node.value.raw : node.raw.slice(1, -1); + const value = isTemplateElement ? sourceCode.getText(node) : node.raw; const pattern = /\\[^\d]/gu; let match; diff --git a/node_modules/eslint/lib/rules/no-useless-rename.js b/node_modules/eslint/lib/rules/no-useless-rename.js index fa88f37f5..a7cec025d 100644 --- a/node_modules/eslint/lib/rules/no-useless-rename.js +++ b/node_modules/eslint/lib/rules/no-useless-rename.js @@ -5,6 +5,12 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +const astUtils = require("./utils/ast-utils"); + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -54,11 +60,10 @@ module.exports = { * Reports error for unnecessarily renamed assignments * @param {ASTNode} node node to report * @param {ASTNode} initial node with initial name value - * @param {ASTNode} result node with new name value * @param {string} type the type of the offending node * @returns {void} */ - function reportError(node, initial, result, type) { + function reportError(node, initial, type) { const name = initial.type === "Identifier" ? initial.name : initial.value; return context.report({ @@ -69,18 +74,21 @@ module.exports = { type }, fix(fixer) { - if (sourceCode.commentsExistBetween(initial, result)) { + const replacementNode = node.type === "Property" ? node.value : node.local; + + if (sourceCode.getCommentsInside(node).length > sourceCode.getCommentsInside(replacementNode).length) { return null; } - const replacementText = result.type === "AssignmentPattern" - ? sourceCode.getText(result) - : name; + // Don't autofix code such as `({foo: (foo) = a} = obj);`, parens are not allowed in shorthand properties. + if ( + replacementNode.type === "AssignmentPattern" && + astUtils.isParenthesised(sourceCode, replacementNode.left) + ) { + return null; + } - return fixer.replaceTextRange([ - initial.range[0], - result.range[1] - ], replacementText); + return fixer.replaceText(node, sourceCode.getText(replacementNode)); } }); } @@ -97,19 +105,11 @@ module.exports = { for (const property of node.properties) { - /* - * TODO: Remove after babel-eslint removes ExperimentalRestProperty - * https://github.com/eslint/eslint/issues/12335 - */ - if (property.type === "ExperimentalRestProperty") { - continue; - } - /** * Properties using shorthand syntax and rest elements can not be renamed. * If the property is computed, we have no idea if a rename is useless or not. */ - if (property.shorthand || property.type === "RestElement" || property.computed) { + if (property.type !== "Property" || property.shorthand || property.computed) { continue; } @@ -117,7 +117,7 @@ module.exports = { const renamedKey = property.value.type === "AssignmentPattern" ? property.value.left.name : property.value.name; if (key === renamedKey) { - reportError(property, property.key, property.value, "Destructuring assignment"); + reportError(property, property.key, "Destructuring assignment"); } } } @@ -134,7 +134,7 @@ module.exports = { if (node.imported.name === node.local.name && node.imported.range[0] !== node.local.range[0]) { - reportError(node, node.imported, node.local, "Import"); + reportError(node, node.imported, "Import"); } } @@ -150,7 +150,7 @@ module.exports = { if (node.local.name === node.exported.name && node.local.range[0] !== node.exported.range[0]) { - reportError(node, node.local, node.exported, "Export"); + reportError(node, node.local, "Export"); } } diff --git a/node_modules/eslint/lib/rules/no-warning-comments.js b/node_modules/eslint/lib/rules/no-warning-comments.js index 0691a31f7..e5f702bc7 100644 --- a/node_modules/eslint/lib/rules/no-warning-comments.js +++ b/node_modules/eslint/lib/rules/no-warning-comments.js @@ -5,7 +5,7 @@ "use strict"; -const { escapeRegExp } = require("lodash"); +const escapeRegExp = require("escape-string-regexp"); const astUtils = require("./utils/ast-utils"); const CHAR_LIMIT = 40; diff --git a/node_modules/eslint/lib/rules/object-curly-newline.js b/node_modules/eslint/lib/rules/object-curly-newline.js index 616d59851..1fbea00c5 100644 --- a/node_modules/eslint/lib/rules/object-curly-newline.js +++ b/node_modules/eslint/lib/rules/object-curly-newline.js @@ -10,7 +10,6 @@ //------------------------------------------------------------------------------ const astUtils = require("./utils/ast-utils"); -const lodash = require("lodash"); //------------------------------------------------------------------------------ // Helpers @@ -69,6 +68,24 @@ function normalizeOptionValue(value) { return { multiline, minProperties, consistent }; } +/** + * Checks if a value is an object. + * @param {any} value The value to check + * @returns {boolean} `true` if the value is an object, otherwise `false` + */ +function isObject(value) { + return typeof value === "object" && value !== null; +} + +/** + * Checks if an option is a node-specific option + * @param {any} option The option to check + * @returns {boolean} `true` if the option is node-specific, otherwise `false` + */ +function isNodeSpecificOption(option) { + return isObject(option) || typeof option === "string"; +} + /** * Normalizes a given option value. * @param {string|Object|undefined} options An option value to parse. @@ -80,9 +97,7 @@ function normalizeOptionValue(value) { * }} Normalized option object. */ function normalizeOptions(options) { - const isNodeSpecificOption = lodash.overSome([lodash.isPlainObject, lodash.isString]); - - if (lodash.isPlainObject(options) && lodash.some(options, isNodeSpecificOption)) { + if (isObject(options) && Object.values(options).some(isNodeSpecificOption)) { return { ObjectExpression: normalizeOptionValue(options.ObjectExpression), ObjectPattern: normalizeOptionValue(options.ObjectPattern), @@ -134,7 +149,7 @@ module.exports = { type: "layout", docs: { - description: "enforce consistent line breaks inside braces", + description: "enforce consistent line breaks after opening and before closing braces", category: "Stylistic Issues", recommended: false, url: "https://eslint.org/docs/rules/object-curly-newline" diff --git a/node_modules/eslint/lib/rules/one-var.js b/node_modules/eslint/lib/rules/one-var.js index c31a0d2b1..e3df8320f 100644 --- a/node_modules/eslint/lib/rules/one-var.js +++ b/node_modules/eslint/lib/rules/one-var.js @@ -5,6 +5,25 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +const astUtils = require("./utils/ast-utils"); + +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +/** + * Determines whether the given node is in a statement list. + * @param {ASTNode} node node to check + * @returns {boolean} `true` if the given node is in a statement list + */ +function isInStatementList(node) { + return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type); +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -268,8 +287,8 @@ module.exports = { /** * Fixer to join VariableDeclaration's into a single declaration - * @param {VariableDeclarator[]} declarations The `VariableDeclaration` to join - * @returns {Function} The fixer function + * @param {VariableDeclarator[]} declarations The `VariableDeclaration` to join + * @returns {Function} The fixer function */ function joinDeclarations(declarations) { const declaration = declarations[0]; @@ -297,10 +316,17 @@ module.exports = { /** * Fixer to split a VariableDeclaration into individual declarations - * @param {VariableDeclaration} declaration The `VariableDeclaration` to split - * @returns {Function} The fixer function + * @param {VariableDeclaration} declaration The `VariableDeclaration` to split + * @returns {Function|null} The fixer function */ function splitDeclarations(declaration) { + const { parent } = declaration; + + // don't autofix code such as: if (foo) var x, y; + if (!isInStatementList(parent.type === "ExportNamedDeclaration" ? parent : declaration)) { + return null; + } + return fixer => declaration.declarations.map(declarator => { const tokenAfterDeclarator = sourceCode.getTokenAfter(declarator); @@ -314,12 +340,14 @@ module.exports = { return null; } + const exportPlacement = declaration.parent.type === "ExportNamedDeclaration" ? "export " : ""; + /* * `var x,y` * tokenAfterDeclarator ^^ afterComma */ if (afterComma.range[0] === tokenAfterDeclarator.range[1]) { - return fixer.replaceText(tokenAfterDeclarator, `; ${declaration.kind} `); + return fixer.replaceText(tokenAfterDeclarator, `; ${exportPlacement}${declaration.kind} `); } /* @@ -341,11 +369,11 @@ module.exports = { return fixer.replaceTextRange( [tokenAfterDeclarator.range[0], lastComment.range[0]], - `;${sourceCode.text.slice(tokenAfterDeclarator.range[1], lastComment.range[0])}${declaration.kind} ` + `;${sourceCode.text.slice(tokenAfterDeclarator.range[1], lastComment.range[0])}${exportPlacement}${declaration.kind} ` ); } - return fixer.replaceText(tokenAfterDeclarator, `; ${declaration.kind}`); + return fixer.replaceText(tokenAfterDeclarator, `; ${exportPlacement}${declaration.kind}`); }).filter(x => x); } diff --git a/node_modules/eslint/lib/rules/operator-assignment.js b/node_modules/eslint/lib/rules/operator-assignment.js index fdb088492..a48d27251 100644 --- a/node_modules/eslint/lib/rules/operator-assignment.js +++ b/node_modules/eslint/lib/rules/operator-assignment.js @@ -76,8 +76,8 @@ module.exports = { fixable: "code", messages: { - replaced: "Assignment can be replaced with operator assignment.", - unexpected: "Unexpected operator assignment shorthand." + replaced: "Assignment (=) can be replaced with operator assignment ({{operator}}=).", + unexpected: "Unexpected operator assignment ({{operator}}=) shorthand." } }, @@ -113,6 +113,7 @@ module.exports = { context.report({ node, messageId: "replaced", + data: { operator }, fix(fixer) { if (canBeFixed(left) && canBeFixed(expr.left)) { const equalsToken = getOperatorToken(node); @@ -139,7 +140,8 @@ module.exports = { */ context.report({ node, - messageId: "replaced" + messageId: "replaced", + data: { operator } }); } } @@ -155,6 +157,7 @@ module.exports = { context.report({ node, messageId: "unexpected", + data: { operator: node.operator }, fix(fixer) { if (canBeFixed(node.left)) { const firstToken = sourceCode.getFirstToken(node); diff --git a/node_modules/eslint/lib/rules/prefer-arrow-callback.js b/node_modules/eslint/lib/rules/prefer-arrow-callback.js index ee5cfe3c8..a01c03408 100644 --- a/node_modules/eslint/lib/rules/prefer-arrow-callback.js +++ b/node_modules/eslint/lib/rules/prefer-arrow-callback.js @@ -295,7 +295,7 @@ module.exports = { * If the callback function has duplicates in its list of parameters (possible in sloppy mode), * don't replace it with an arrow function, because this is a SyntaxError with arrow functions. */ - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } // Remove `.bind(this)` if exists. @@ -307,7 +307,7 @@ module.exports = { * E.g. `(foo || function(){}).bind(this)` */ if (memberNode.type !== "MemberExpression") { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } const callNode = memberNode.parent; @@ -320,12 +320,12 @@ module.exports = { * ^^^^^^^^^^^^ */ if (astUtils.isParenthesised(sourceCode, memberNode)) { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } // If comments exist in the `.bind(this)`, don't remove those. if (sourceCode.commentsExistBetween(firstTokenToRemove, lastTokenToRemove)) { - return; // eslint-disable-line eslint-plugin/fixer-return -- false positive + return; } yield fixer.removeRange([firstTokenToRemove.range[0], lastTokenToRemove.range[1]]); diff --git a/node_modules/eslint/lib/rules/prefer-const.js b/node_modules/eslint/lib/rules/prefer-const.js index 439a4db3c..f6e79e71c 100644 --- a/node_modules/eslint/lib/rules/prefer-const.js +++ b/node_modules/eslint/lib/rules/prefer-const.js @@ -5,6 +5,11 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +const FixTracker = require("./utils/fix-tracker"); const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ @@ -451,10 +456,18 @@ module.exports = { messageId: "useConst", data: node, fix: shouldFix - ? fixer => fixer.replaceText( - sourceCode.getFirstToken(varDeclParent, t => t.value === varDeclParent.kind), - "const" - ) + ? fixer => { + const letKeywordToken = sourceCode.getFirstToken(varDeclParent, t => t.value === varDeclParent.kind); + + /** + * Extend the replacement range to the whole declaration, + * in order to prevent other fixes in the same pass + * https://github.com/eslint/eslint/issues/13899 + */ + return new FixTracker(fixer, sourceCode) + .retainRange(varDeclParent.range) + .replaceTextRange(letKeywordToken.range, "const"); + } : null }); }); diff --git a/node_modules/eslint/lib/rules/prefer-destructuring.js b/node_modules/eslint/lib/rules/prefer-destructuring.js index d3314dc7e..f82bb75c1 100644 --- a/node_modules/eslint/lib/rules/prefer-destructuring.js +++ b/node_modules/eslint/lib/rules/prefer-destructuring.js @@ -4,6 +4,18 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +const astUtils = require("./utils/ast-utils"); + +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const PRECEDENCE_OF_ASSIGNMENT_EXPR = astUtils.getPrecedence({ type: "AssignmentExpression" }); + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -156,13 +168,15 @@ module.exports = { * Assignment expression is not fixed. * Array destructuring is not fixed. * Renamed property is not fixed. - * @param {ASTNode} node the the node to evaluate + * @param {ASTNode} node the node to evaluate * @returns {boolean} whether or not the node should be fixed */ function shouldFix(node) { return node.type === "VariableDeclarator" && node.id.type === "Identifier" && node.init.type === "MemberExpression" && + !node.init.computed && + node.init.property.type === "Identifier" && node.id.name === node.init.property.name; } @@ -183,9 +197,15 @@ module.exports = { return null; } + let objectText = sourceCode.getText(rightNode.object); + + if (astUtils.getPrecedence(rightNode.object) < PRECEDENCE_OF_ASSIGNMENT_EXPR) { + objectText = `(${objectText})`; + } + return fixer.replaceText( node, - `{${rightNode.property.name}} = ${sourceCode.getText(rightNode.object)}` + `{${rightNode.property.name}} = ${objectText}` ); } @@ -259,7 +279,7 @@ module.exports = { * @param {ASTNode} node the AssignmentExpression node * @returns {void} */ - function checkAssigmentExpression(node) { + function checkAssignmentExpression(node) { if (node.operator === "=") { performCheck(node.left, node.right, node); } @@ -271,7 +291,7 @@ module.exports = { return { VariableDeclarator: checkVariableDeclarator, - AssignmentExpression: checkAssigmentExpression + AssignmentExpression: checkAssignmentExpression }; } }; diff --git a/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js b/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js index d1a00d620..6121af889 100644 --- a/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +++ b/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js @@ -30,6 +30,7 @@ function doesBaseNeedParens(base) { astUtils.getPrecedence(base) <= PRECEDENCE_OF_EXPONENTIATION_EXPR || // An unary operator cannot be used immediately before an exponentiation expression + base.type === "AwaitExpression" || base.type === "UnaryExpression" ); } diff --git a/node_modules/eslint/lib/rules/prefer-reflect.js b/node_modules/eslint/lib/rules/prefer-reflect.js index fb2de923b..156d61251 100644 --- a/node_modules/eslint/lib/rules/prefer-reflect.js +++ b/node_modules/eslint/lib/rules/prefer-reflect.js @@ -105,10 +105,10 @@ module.exports = { CallExpression(node) { const methodName = (node.callee.property || {}).name; const isReflectCall = (node.callee.object || {}).name === "Reflect"; - const hasReflectSubsitute = Object.prototype.hasOwnProperty.call(reflectSubstitutes, methodName); + const hasReflectSubstitute = Object.prototype.hasOwnProperty.call(reflectSubstitutes, methodName); const userConfiguredException = exceptions.indexOf(methodName) !== -1; - if (hasReflectSubsitute && !isReflectCall && !userConfiguredException) { + if (hasReflectSubstitute && !isReflectCall && !userConfiguredException) { report(node, existingNames[methodName], reflectSubstitutes[methodName]); } }, diff --git a/node_modules/eslint/lib/rules/prefer-template.js b/node_modules/eslint/lib/rules/prefer-template.js index e8f980ebd..cb967660a 100644 --- a/node_modules/eslint/lib/rules/prefer-template.js +++ b/node_modules/eslint/lib/rules/prefer-template.js @@ -39,33 +39,25 @@ function getTopConcatBinaryExpression(node) { } /** - * Determines whether a given node is a octal escape sequence + * Checks whether or not a node contains a string literal with an octal or non-octal decimal escape sequence * @param {ASTNode} node A node to check - * @returns {boolean} `true` if the node is an octal escape sequence + * @returns {boolean} `true` if at least one string literal within the node contains + * an octal or non-octal decimal escape sequence */ -function isOctalEscapeSequence(node) { - - // No need to check TemplateLiterals – would throw error with octal escape - const isStringLiteral = node.type === "Literal" && typeof node.value === "string"; - - if (!isStringLiteral) { - return false; - } - - return astUtils.hasOctalEscapeSequence(node.raw); -} - -/** - * Checks whether or not a node contains a octal escape sequence - * @param {ASTNode} node A node to check - * @returns {boolean} `true` if the node contains an octal escape sequence - */ -function hasOctalEscapeSequence(node) { +function hasOctalOrNonOctalDecimalEscapeSequence(node) { if (isConcatenation(node)) { - return hasOctalEscapeSequence(node.left) || hasOctalEscapeSequence(node.right); + return ( + hasOctalOrNonOctalDecimalEscapeSequence(node.left) || + hasOctalOrNonOctalDecimalEscapeSequence(node.right) + ); } - return isOctalEscapeSequence(node); + // No need to check TemplateLiterals – would throw parsing error + if (node.type === "Literal" && typeof node.value === "string") { + return astUtils.hasOctalOrNonOctalDecimalEscapeSequence(node.raw); + } + + return false; } /** @@ -237,7 +229,7 @@ module.exports = { function fixNonStringBinaryExpression(fixer, node) { const topBinaryExpr = getTopConcatBinaryExpression(node.parent); - if (hasOctalEscapeSequence(topBinaryExpr)) { + if (hasOctalOrNonOctalDecimalEscapeSequence(topBinaryExpr)) { return null; } diff --git a/node_modules/eslint/lib/rules/quotes.js b/node_modules/eslint/lib/rules/quotes.js index d1f4443b9..da7e12749 100644 --- a/node_modules/eslint/lib/rules/quotes.js +++ b/node_modules/eslint/lib/rules/quotes.js @@ -282,9 +282,12 @@ module.exports = { description: settings.description }, fix(fixer) { - if (quoteOption === "backtick" && astUtils.hasOctalEscapeSequence(rawVal)) { + if (quoteOption === "backtick" && astUtils.hasOctalOrNonOctalDecimalEscapeSequence(rawVal)) { - // An octal escape sequence in a template literal would produce syntax error, even in non-strict mode. + /* + * An octal or non-octal decimal escape sequence in a template literal would + * produce syntax error, even in non-strict mode. + */ return null; } diff --git a/node_modules/eslint/lib/rules/radix.js b/node_modules/eslint/lib/rules/radix.js index e32256623..d1b67e5e2 100644 --- a/node_modules/eslint/lib/rules/radix.js +++ b/node_modules/eslint/lib/rules/radix.js @@ -82,7 +82,8 @@ module.exports = { description: "enforce the consistent use of the radix argument when using `parseInt()`", category: "Best Practices", recommended: false, - url: "https://eslint.org/docs/rules/radix" + url: "https://eslint.org/docs/rules/radix", + suggestion: true }, schema: [ @@ -95,7 +96,8 @@ module.exports = { missingParameters: "Missing parameters.", redundantRadix: "Redundant radix parameter.", missingRadix: "Missing radix parameter.", - invalidRadix: "Invalid radix parameter, must be an integer between 2 and 36." + invalidRadix: "Invalid radix parameter, must be an integer between 2 and 36.", + addRadixParameter10: "Add radix parameter `10` for parsing decimal numbers." } }, @@ -123,7 +125,21 @@ module.exports = { if (mode === MODE_ALWAYS) { context.report({ node, - messageId: "missingRadix" + messageId: "missingRadix", + suggest: [ + { + messageId: "addRadixParameter10", + fix(fixer) { + const sourceCode = context.getSourceCode(); + const tokens = sourceCode.getTokens(node); + const lastToken = tokens[tokens.length - 1]; // Parenthesis. + const secondToLastToken = tokens[tokens.length - 2]; // May or may not be a comma. + const hasTrailingComma = secondToLastToken.type === "Punctuator" && secondToLastToken.value === ","; + + return fixer.insertTextBefore(lastToken, hasTrailingComma ? " 10," : ", 10"); + } + } + ] }); } break; diff --git a/node_modules/eslint/lib/rules/require-atomic-updates.js b/node_modules/eslint/lib/rules/require-atomic-updates.js index 4f6acceab..b3df90742 100644 --- a/node_modules/eslint/lib/rules/require-atomic-updates.js +++ b/node_modules/eslint/lib/rules/require-atomic-updates.js @@ -13,6 +13,10 @@ */ function createReferenceMap(scope, outReferenceMap = new Map()) { for (const reference of scope.references) { + if (reference.resolved === null) { + continue; + } + outReferenceMap.set(reference.identifier, reference); } for (const childScope of scope.childScopes) { @@ -86,39 +90,42 @@ class SegmentInfo { * @returns {void} */ initialize(segment) { - const outdatedReadVariableNames = new Set(); - const freshReadVariableNames = new Set(); + const outdatedReadVariables = new Set(); + const freshReadVariables = new Set(); for (const prevSegment of segment.prevSegments) { const info = this.info.get(prevSegment); if (info) { - info.outdatedReadVariableNames.forEach(Set.prototype.add, outdatedReadVariableNames); - info.freshReadVariableNames.forEach(Set.prototype.add, freshReadVariableNames); + info.outdatedReadVariables.forEach(Set.prototype.add, outdatedReadVariables); + info.freshReadVariables.forEach(Set.prototype.add, freshReadVariables); } } - this.info.set(segment, { outdatedReadVariableNames, freshReadVariableNames }); + this.info.set(segment, { outdatedReadVariables, freshReadVariables }); } /** * Mark a given variable as read on given segments. * @param {PathSegment[]} segments The segments that it read the variable on. - * @param {string} variableName The variable name to be read. + * @param {Variable} variable The variable to be read. * @returns {void} */ - markAsRead(segments, variableName) { + markAsRead(segments, variable) { for (const segment of segments) { const info = this.info.get(segment); if (info) { - info.freshReadVariableNames.add(variableName); + info.freshReadVariables.add(variable); + + // If a variable is freshly read again, then it's no more out-dated. + info.outdatedReadVariables.delete(variable); } } } /** - * Move `freshReadVariableNames` to `outdatedReadVariableNames`. + * Move `freshReadVariables` to `outdatedReadVariables`. * @param {PathSegment[]} segments The segments to process. * @returns {void} */ @@ -127,8 +134,8 @@ class SegmentInfo { const info = this.info.get(segment); if (info) { - info.freshReadVariableNames.forEach(Set.prototype.add, info.outdatedReadVariableNames); - info.freshReadVariableNames.clear(); + info.freshReadVariables.forEach(Set.prototype.add, info.outdatedReadVariables); + info.freshReadVariables.clear(); } } } @@ -136,14 +143,14 @@ class SegmentInfo { /** * Check if a given variable is outdated on the current segments. * @param {PathSegment[]} segments The current segments. - * @param {string} variableName The variable name to check. + * @param {Variable} variable The variable to check. * @returns {boolean} `true` if the variable is outdated on the segments. */ - isOutdated(segments, variableName) { + isOutdated(segments, variable) { for (const segment of segments) { const info = this.info.get(segment); - if (info && info.outdatedReadVariableNames.has(variableName)) { + if (info && info.outdatedReadVariables.has(variable)) { return true; } } @@ -211,14 +218,13 @@ module.exports = { if (!reference) { return; } - const name = reference.identifier.name; const variable = reference.resolved; const writeExpr = getWriteExpr(reference); const isMemberAccess = reference.identifier.parent.type === "MemberExpression"; // Add a fresh read variable. if (reference.isRead() && !(writeExpr && writeExpr.parent.operator === "=")) { - segmentInfo.markAsRead(codePath.currentSegments, name); + segmentInfo.markAsRead(codePath.currentSegments, variable); } /* @@ -242,7 +248,7 @@ module.exports = { /* * Verify assignments. - * If the reference exists in `outdatedReadVariableNames` list, report it. + * If the reference exists in `outdatedReadVariables` list, report it. */ ":expression:exit"(node) { const { codePath, referenceMap } = stack; @@ -264,9 +270,9 @@ module.exports = { assignmentReferences.delete(node); for (const reference of references) { - const name = reference.identifier.name; + const variable = reference.resolved; - if (segmentInfo.isOutdated(codePath.currentSegments, name)) { + if (segmentInfo.isOutdated(codePath.currentSegments, variable)) { context.report({ node: node.parent, messageId: "nonAtomicUpdate", diff --git a/node_modules/eslint/lib/rules/space-before-blocks.js b/node_modules/eslint/lib/rules/space-before-blocks.js index 9b56481bf..87ef9bfd8 100644 --- a/node_modules/eslint/lib/rules/space-before-blocks.js +++ b/node_modules/eslint/lib/rules/space-before-blocks.js @@ -5,8 +5,31 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const astUtils = require("./utils/ast-utils"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +/** + * Checks whether the given node represents the body of a function. + * @param {ASTNode} node the node to check. + * @returns {boolean} `true` if the node is function body. + */ +function isFunctionBody(node) { + const parent = node.parent; + + return ( + node.type === "BlockStatement" && + astUtils.isFunction(parent) && + parent.body === node + ); +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -82,13 +105,16 @@ module.exports = { } /** - * Checks whether or not a given token is an arrow operator (=>) or a keyword - * in order to avoid to conflict with `arrow-spacing` and `keyword-spacing`. - * @param {Token} token A token to check. - * @returns {boolean} `true` if the token is an arrow operator. + * Checks whether the spacing before the given block is already controlled by another rule: + * - `arrow-spacing` checks spaces after `=>`. + * - `keyword-spacing` checks spaces after keywords in certain contexts. + * @param {Token} precedingToken first token before the block. + * @param {ASTNode|Token} node `BlockStatement` node or `{` token of a `SwitchStatement` node. + * @returns {boolean} `true` if requiring or disallowing spaces before the given block could produce conflicts with other rules. */ - function isConflicted(token) { - return (token.type === "Punctuator" && token.value === "=>") || token.type === "Keyword"; + function isConflicted(precedingToken, node) { + return astUtils.isArrowToken(precedingToken) || + astUtils.isKeywordToken(precedingToken) && !isFunctionBody(node); } /** @@ -99,13 +125,12 @@ module.exports = { function checkPrecedingSpace(node) { const precedingToken = sourceCode.getTokenBefore(node); - if (precedingToken && !isConflicted(precedingToken) && astUtils.isTokenOnSameLine(precedingToken, node)) { + if (precedingToken && !isConflicted(precedingToken, node) && astUtils.isTokenOnSameLine(precedingToken, node)) { const hasSpace = sourceCode.isSpaceBetweenTokens(precedingToken, node); - const parent = context.getAncestors().pop(); let requireSpace; let requireNoSpace; - if (parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration") { + if (isFunctionBody(node)) { requireSpace = alwaysFunctions; requireNoSpace = neverFunctions; } else if (node.type === "ClassBody") { diff --git a/node_modules/eslint/lib/rules/space-infix-ops.js b/node_modules/eslint/lib/rules/space-infix-ops.js index 471c22210..3c550984f 100644 --- a/node_modules/eslint/lib/rules/space-infix-ops.js +++ b/node_modules/eslint/lib/rules/space-infix-ops.js @@ -132,7 +132,9 @@ module.exports = { if (nonSpacedConsequentNode) { report(node, nonSpacedConsequentNode); - } else if (nonSpacedAlternateNode) { + } + + if (nonSpacedAlternateNode) { report(node, nonSpacedAlternateNode); } } diff --git a/node_modules/eslint/lib/rules/space-unary-ops.js b/node_modules/eslint/lib/rules/space-unary-ops.js index f417eea58..57f6e7845 100644 --- a/node_modules/eslint/lib/rules/space-unary-ops.js +++ b/node_modules/eslint/lib/rules/space-unary-ops.js @@ -1,5 +1,5 @@ /** - * @fileoverview This rule shoud require or disallow spaces before or after unary operations. + * @fileoverview This rule should require or disallow spaces before or after unary operations. * @author Marcin Kumorek */ "use strict"; diff --git a/node_modules/eslint/lib/rules/spaced-comment.js b/node_modules/eslint/lib/rules/spaced-comment.js index d3221f0ea..226a2d447 100644 --- a/node_modules/eslint/lib/rules/spaced-comment.js +++ b/node_modules/eslint/lib/rules/spaced-comment.js @@ -4,7 +4,7 @@ */ "use strict"; -const lodash = require("lodash"); +const escapeRegExp = require("escape-string-regexp"); const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ @@ -17,7 +17,7 @@ const astUtils = require("./utils/ast-utils"); * @returns {string} An escaped string. */ function escape(s) { - return `(?:${lodash.escapeRegExp(s)})`; + return `(?:${escapeRegExp(s)})`; } /** diff --git a/node_modules/eslint/lib/rules/use-isnan.js b/node_modules/eslint/lib/rules/use-isnan.js index 53ffeb7e6..ef95b2131 100644 --- a/node_modules/eslint/lib/rules/use-isnan.js +++ b/node_modules/eslint/lib/rules/use-isnan.js @@ -21,7 +21,10 @@ const astUtils = require("./utils/ast-utils"); * @returns {boolean} `true` if the node is 'NaN' identifier. */ function isNaNIdentifier(node) { - return Boolean(node) && node.type === "Identifier" && node.name === "NaN"; + return Boolean(node) && ( + astUtils.isSpecificId(node, "NaN") || + astUtils.isSpecificMemberAccess(node, "Number", "NaN") + ); } //------------------------------------------------------------------------------ @@ -101,7 +104,7 @@ module.exports = { } /** - * Checks the the given `CallExpression` node for `.indexOf(NaN)` and `.lastIndexOf(NaN)`. + * Checks the given `CallExpression` node for `.indexOf(NaN)` and `.lastIndexOf(NaN)`. * @param {ASTNode} node The node to check. * @returns {void} */ diff --git a/node_modules/eslint/lib/rules/utils/ast-utils.js b/node_modules/eslint/lib/rules/utils/ast-utils.js index fb8beb252..6b8530011 100644 --- a/node_modules/eslint/lib/rules/utils/ast-utils.js +++ b/node_modules/eslint/lib/rules/utils/ast-utils.js @@ -11,7 +11,7 @@ const esutils = require("esutils"); const espree = require("espree"); -const lodash = require("lodash"); +const escapeRegExp = require("escape-string-regexp"); const { breakableTypePattern, createGlobalLinebreakMatcher, @@ -38,7 +38,9 @@ const LINEBREAKS = new Set(["\r\n", "\r", "\n", "\u2028", "\u2029"]); const STATEMENT_LIST_PARENTS = new Set(["Program", "BlockStatement", "SwitchCase"]); const DECIMAL_INTEGER_PATTERN = /^(?:0|0[0-7]*[89]\d*|[1-9](?:_?\d)*)$/u; -const OCTAL_ESCAPE_PATTERN = /^(?:[^\\]|\\[^0-7]|\\0(?![0-9]))*\\(?:[1-7]|0[0-9])/u; + +// Tests the presence of at least one LegacyOctalEscapeSequence or NonOctalDecimalEscapeSequence in a raw string +const OCTAL_OR_NON_OCTAL_DECIMAL_ESCAPE_PATTERN = /^(?:[^\\]|\\.)*\\(?:[1-9]|0[0-9])/su; const LOGICAL_ASSIGNMENT_OPERATORS = new Set(["&&=", "||=", "??="]); @@ -80,7 +82,7 @@ function startsWithUpperCase(s) { /** * Checks whether or not a node is a constructor. * @param {ASTNode} node A function node to check. - * @returns {boolean} Wehether or not a node is a constructor. + * @returns {boolean} Whether or not a node is a constructor. */ function isES5Constructor(node) { return (node.id && startsWithUpperCase(node.id.name)); @@ -1572,7 +1574,7 @@ module.exports = { }, /* - * Determine if a node has a possiblity to be an Error object + * Determine if a node has a possibility to be an Error object * @param {ASTNode} node ASTNode to check * @returns {boolean} True if there is a chance it contains an Error obj */ @@ -1611,6 +1613,17 @@ module.exports = { } case "LogicalExpression": + + /* + * If the && operator short-circuits, the left side was falsy and therefore not an error, and if it + * doesn't short-circuit, it takes the value from the right side, so the right side must always be + * a plausible error. A future improvement could verify that the left side could be truthy by + * excluding falsy literals. + */ + if (node.operator === "&&") { + return module.exports.couldBeError(node.right); + } + return module.exports.couldBeError(node.left) || module.exports.couldBeError(node.right); case "ConditionalExpression": @@ -1743,7 +1756,7 @@ module.exports = { * @returns {SourceLocation} The `loc` object. */ getNameLocationInGlobalDirectiveComment(sourceCode, comment, name) { - const namePattern = new RegExp(`[\\s,]${lodash.escapeRegExp(name)}(?:$|[\\s,:])`, "gu"); + const namePattern = new RegExp(`[\\s,]${escapeRegExp(name)}(?:$|[\\s,:])`, "gu"); // To ignore the first text "global". namePattern.lastIndex = comment.value.indexOf("global") + 6; @@ -1766,17 +1779,19 @@ module.exports = { }, /** - * Determines whether the given raw string contains an octal escape sequence. + * Determines whether the given raw string contains an octal escape sequence + * or a non-octal decimal escape sequence ("\8", "\9"). * - * "\1", "\2" ... "\7" - * "\00", "\01" ... "\09" + * "\1", "\2" ... "\7", "\8", "\9" + * "\00", "\01" ... "\07", "\08", "\09" * * "\0", when not followed by a digit, is not an octal escape sequence. * @param {string} rawString A string in its raw representation. - * @returns {boolean} `true` if the string contains at least one octal escape sequence. + * @returns {boolean} `true` if the string contains at least one octal escape sequence + * or at least one non-octal decimal escape sequence. */ - hasOctalEscapeSequence(rawString) { - return OCTAL_ESCAPE_PATTERN.test(rawString); + hasOctalOrNonOctalDecimalEscapeSequence(rawString) { + return OCTAL_OR_NON_OCTAL_DECIMAL_ESCAPE_PATTERN.test(rawString); }, isLogicalExpression, diff --git a/node_modules/eslint/lib/rules/yoda.js b/node_modules/eslint/lib/rules/yoda.js index 87dd5ed6c..2fca75711 100644 --- a/node_modules/eslint/lib/rules/yoda.js +++ b/node_modules/eslint/lib/rules/yoda.js @@ -265,36 +265,37 @@ module.exports = { * @returns {string} A string representation of the node with the sides and operator flipped */ function getFlippedString(node) { - const tokenBefore = sourceCode.getTokenBefore(node); const operatorToken = sourceCode.getFirstTokenBetween( node.left, node.right, token => token.value === node.operator ); - const textBeforeOperator = sourceCode - .getText() - .slice( - sourceCode.getTokenBefore(operatorToken).range[1], - operatorToken.range[0] - ); - const textAfterOperator = sourceCode - .getText() - .slice( - operatorToken.range[1], - sourceCode.getTokenAfter(operatorToken).range[0] - ); - const leftText = sourceCode - .getText() - .slice( - node.range[0], - sourceCode.getTokenBefore(operatorToken).range[1] - ); + const lastLeftToken = sourceCode.getTokenBefore(operatorToken); const firstRightToken = sourceCode.getTokenAfter(operatorToken); - const rightText = sourceCode - .getText() - .slice(firstRightToken.range[0], node.range[1]); + const source = sourceCode.getText(); + + const leftText = source.slice( + node.range[0], + lastLeftToken.range[1] + ); + const textBeforeOperator = source.slice( + lastLeftToken.range[1], + operatorToken.range[0] + ); + const textAfterOperator = source.slice( + operatorToken.range[1], + firstRightToken.range[0] + ); + const rightText = source.slice( + firstRightToken.range[0], + node.range[1] + ); + + const tokenBefore = sourceCode.getTokenBefore(node); + const tokenAfter = sourceCode.getTokenAfter(node); let prefix = ""; + let suffix = ""; if ( tokenBefore && @@ -304,13 +305,22 @@ module.exports = { prefix = " "; } + if ( + tokenAfter && + node.range[1] === tokenAfter.range[0] && + !astUtils.canTokensBeAdjacent(lastLeftToken, tokenAfter) + ) { + suffix = " "; + } + return ( prefix + rightText + textBeforeOperator + OPERATOR_FLIP_MAP[operatorToken.value] + textAfterOperator + - leftText + leftText + + suffix ); } diff --git a/node_modules/eslint/lib/shared/deprecation-warnings.js b/node_modules/eslint/lib/shared/deprecation-warnings.js index e1481a2e9..1a0501ab0 100644 --- a/node_modules/eslint/lib/shared/deprecation-warnings.js +++ b/node_modules/eslint/lib/shared/deprecation-warnings.js @@ -9,13 +9,12 @@ //------------------------------------------------------------------------------ const path = require("path"); -const lodash = require("lodash"); //------------------------------------------------------------------------------ // Private //------------------------------------------------------------------------------ -// Defitions for deprecation warnings. +// Definitions for deprecation warnings. const deprecationWarningMessages = { ESLINT_LEGACY_ECMAFEATURES: "The 'ecmaFeatures' config file property is deprecated and has no effect.", @@ -28,6 +27,8 @@ const deprecationWarningMessages = { "projects in order to avoid loading '~/.eslintrc.*' accidentally." }; +const sourceFileErrorCache = new Set(); + /** * Emits a deprecation warning containing a given filepath. A new deprecation warning is emitted * for each unique file path, but repeated invocations with the same file path have no effect. @@ -36,7 +37,15 @@ const deprecationWarningMessages = { * @param {string} errorCode The warning message to show. * @returns {void} */ -const emitDeprecationWarning = lodash.memoize((source, errorCode) => { +function emitDeprecationWarning(source, errorCode) { + const cacheKey = JSON.stringify({ source, errorCode }); + + if (sourceFileErrorCache.has(cacheKey)) { + return; + } + + sourceFileErrorCache.add(cacheKey); + const rel = path.relative(process.cwd(), source); const message = deprecationWarningMessages[errorCode]; @@ -45,7 +54,7 @@ const emitDeprecationWarning = lodash.memoize((source, errorCode) => { "DeprecationWarning", errorCode ); -}, (...args) => JSON.stringify(args)); +} //------------------------------------------------------------------------------ // Public Interface diff --git a/node_modules/eslint/lib/shared/runtime-info.js b/node_modules/eslint/lib/shared/runtime-info.js index feed00533..aa5eff756 100644 --- a/node_modules/eslint/lib/shared/runtime-info.js +++ b/node_modules/eslint/lib/shared/runtime-info.js @@ -11,7 +11,7 @@ const path = require("path"); const spawn = require("cross-spawn"); -const { isEmpty } = require("lodash"); +const os = require("os"); const log = require("../shared/logging"); const packageJson = require("../../package.json"); @@ -107,7 +107,7 @@ function environment() { * Checking globally returns an empty JSON object, while local checks * include the name and version of the local project. */ - if (isEmpty(parsedStdout) || !(parsedStdout.dependencies && parsedStdout.dependencies.eslint)) { + if (Object.keys(parsedStdout).length === 0 || !(parsedStdout.dependencies && parsedStdout.dependencies.eslint)) { return "Not found"; } @@ -141,7 +141,8 @@ function environment() { `Node version: ${getBinVersion("node")}`, `npm version: ${getBinVersion("npm")}`, `Local ESLint version: ${getNpmPackageVersion("eslint", { global: false })}`, - `Global ESLint version: ${getNpmPackageVersion("eslint", { global: true })}` + `Global ESLint version: ${getNpmPackageVersion("eslint", { global: true })}`, + `Operating System: ${os.platform()} ${os.release()}` ].join("\n"); } diff --git a/node_modules/eslint/lib/shared/string-utils.js b/node_modules/eslint/lib/shared/string-utils.js new file mode 100644 index 000000000..e4a55d799 --- /dev/null +++ b/node_modules/eslint/lib/shared/string-utils.js @@ -0,0 +1,22 @@ +/** + * @fileoverview Utilities to operate on strings. + * @author Stephen Wade + */ + +"use strict"; + +/** + * Converts the first letter of a string to uppercase. + * @param {string} string The string to operate on + * @returns {string} The converted string + */ +function upperCaseFirst(string) { + if (string.length <= 1) { + return string.toUpperCase(); + } + return string[0].toUpperCase() + string.slice(1); +} + +module.exports = { + upperCaseFirst +}; diff --git a/node_modules/eslint/lib/shared/types.js b/node_modules/eslint/lib/shared/types.js index 8ad3b1b64..c3b76e42d 100644 --- a/node_modules/eslint/lib/shared/types.js +++ b/node_modules/eslint/lib/shared/types.js @@ -46,9 +46,9 @@ module.exports = {}; /** * @typedef {Object} OverrideConfigData * @property {Record} [env] The environment settings. - * @property {string | string[]} [excludedFiles] The glob pattarns for excluded files. + * @property {string | string[]} [excludedFiles] The glob patterns for excluded files. * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs. - * @property {string | string[]} files The glob pattarns for target files. + * @property {string | string[]} files The glob patterns for target files. * @property {Record} [globals] The global variable settings. * @property {boolean} [noInlineConfig] The flag that disables directive comments. * @property {OverrideConfigData[]} [overrides] The override settings per kind of files. diff --git a/node_modules/eslint/lib/source-code/source-code.js b/node_modules/eslint/lib/source-code/source-code.js index 6b20495b6..cc4524fa7 100644 --- a/node_modules/eslint/lib/source-code/source-code.js +++ b/node_modules/eslint/lib/source-code/source-code.js @@ -12,8 +12,7 @@ const { isCommentToken } = require("eslint-utils"), TokenStore = require("./token-store"), astUtils = require("../shared/ast-utils"), - Traverser = require("../shared/traverser"), - lodash = require("lodash"); + Traverser = require("../shared/traverser"); //------------------------------------------------------------------------------ // Private @@ -350,7 +349,7 @@ class SourceCode extends TokenStore { let currentToken = this.getTokenBefore(node, { includeComments: true }); while (currentToken && isCommentToken(currentToken)) { - if (node.parent && (currentToken.start < node.parent.start)) { + if (node.parent && node.parent.type !== "Program" && (currentToken.start < node.parent.start)) { break; } comments.leading.push(currentToken); @@ -362,7 +361,7 @@ class SourceCode extends TokenStore { currentToken = this.getTokenAfter(node, { includeComments: true }); while (currentToken && isCommentToken(currentToken)) { - if (node.parent && (currentToken.end > node.parent.end)) { + if (node.parent && node.parent.type !== "Program" && (currentToken.end > node.parent.end)) { break; } comments.trailing.push(currentToken); @@ -531,10 +530,12 @@ class SourceCode extends TokenStore { } /* - * To figure out which line rangeIndex is on, determine the last index at which rangeIndex could - * be inserted into lineIndices to keep the list sorted. + * To figure out which line index is on, determine the last place at which index could + * be inserted into lineStartIndices to keep the list sorted. */ - const lineNumber = lodash.sortedLastIndex(this.lineStartIndices, index); + const lineNumber = index >= this.lineStartIndices[this.lineStartIndices.length - 1] + ? this.lineStartIndices.length + : this.lineStartIndices.findIndex(el => index < el); return { line: lineNumber, column: index - this.lineStartIndices[lineNumber - 1] }; } diff --git a/node_modules/eslint/lib/source-code/token-store/utils.js b/node_modules/eslint/lib/source-code/token-store/utils.js index 21e1d6ff7..a2bd77de7 100644 --- a/node_modules/eslint/lib/source-code/token-store/utils.js +++ b/node_modules/eslint/lib/source-code/token-store/utils.js @@ -4,12 +4,6 @@ */ "use strict"; -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const lodash = require("lodash"); - //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ @@ -29,18 +23,16 @@ function getStartLocation(token) { //------------------------------------------------------------------------------ /** - * Binary-searches the index of the first token which is after the given location. + * Finds the index of the first token which is after the given location. * If it was not found, this returns `tokens.length`. * @param {(Token|Comment)[]} tokens It searches the token in this list. * @param {number} location The location to search. * @returns {number} The found index or `tokens.length`. */ exports.search = function search(tokens, location) { - return lodash.sortedIndexBy( - tokens, - { range: [location] }, - getStartLocation - ); + const index = tokens.findIndex(el => location <= getStartLocation(el)); + + return index === -1 ? tokens.length : index; }; /** diff --git a/node_modules/eslint/messages/all-files-ignored.js b/node_modules/eslint/messages/all-files-ignored.js new file mode 100644 index 000000000..d85828d36 --- /dev/null +++ b/node_modules/eslint/messages/all-files-ignored.js @@ -0,0 +1,16 @@ +"use strict"; + +module.exports = function(it) { + const { pattern } = it; + + return ` +You are linting "${pattern}", but all of the files matching the glob pattern "${pattern}" are ignored. + +If you don't want to lint these files, remove the pattern "${pattern}" from the list of arguments passed to ESLint. + +If you do want to lint these files, try the following solutions: + +* Check your .eslintignore file, or the eslintIgnore property in package.json, to ensure that the files are not configured to be ignored. +* Explicitly list the files from this glob that you'd like to lint on the command-line, rather than providing a glob as an argument. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/all-files-ignored.txt b/node_modules/eslint/messages/all-files-ignored.txt deleted file mode 100644 index 3f4c8ced4..000000000 --- a/node_modules/eslint/messages/all-files-ignored.txt +++ /dev/null @@ -1,8 +0,0 @@ -You are linting "<%= pattern %>", but all of the files matching the glob pattern "<%= pattern %>" are ignored. - -If you don't want to lint these files, remove the pattern "<%= pattern %>" from the list of arguments passed to ESLint. - -If you do want to lint these files, try the following solutions: - -* Check your .eslintignore file, or the eslintIgnore property in package.json, to ensure that the files are not configured to be ignored. -* Explicitly list the files from this glob that you'd like to lint on the command-line, rather than providing a glob as an argument. diff --git a/node_modules/eslint/messages/extend-config-missing.js b/node_modules/eslint/messages/extend-config-missing.js new file mode 100644 index 000000000..db8a5c64b --- /dev/null +++ b/node_modules/eslint/messages/extend-config-missing.js @@ -0,0 +1,13 @@ +"use strict"; + +module.exports = function(it) { + const { configName, importerName } = it; + + return ` +ESLint couldn't find the config "${configName}" to extend from. Please check that the name of the config is correct. + +The config "${configName}" was referenced from the config file in "${importerName}". + +If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/extend-config-missing.txt b/node_modules/eslint/messages/extend-config-missing.txt deleted file mode 100644 index 4defd7ac4..000000000 --- a/node_modules/eslint/messages/extend-config-missing.txt +++ /dev/null @@ -1,5 +0,0 @@ -ESLint couldn't find the config "<%- configName %>" to extend from. Please check that the name of the config is correct. - -The config "<%- configName %>" was referenced from the config file in "<%- importerName %>". - -If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. diff --git a/node_modules/eslint/messages/failed-to-read-json.js b/node_modules/eslint/messages/failed-to-read-json.js new file mode 100644 index 000000000..5114de309 --- /dev/null +++ b/node_modules/eslint/messages/failed-to-read-json.js @@ -0,0 +1,11 @@ +"use strict"; + +module.exports = function(it) { + const { path, message } = it; + + return ` +Failed to read JSON file at ${path}: + +${message} +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/failed-to-read-json.txt b/node_modules/eslint/messages/failed-to-read-json.txt deleted file mode 100644 index b5e2b861c..000000000 --- a/node_modules/eslint/messages/failed-to-read-json.txt +++ /dev/null @@ -1,3 +0,0 @@ -Failed to read JSON file at <%= path %>: - -<%= message %> diff --git a/node_modules/eslint/messages/file-not-found.js b/node_modules/eslint/messages/file-not-found.js new file mode 100644 index 000000000..26a5d57ef --- /dev/null +++ b/node_modules/eslint/messages/file-not-found.js @@ -0,0 +1,10 @@ +"use strict"; + +module.exports = function(it) { + const { pattern, globDisabled } = it; + + return ` +No files matching the pattern "${pattern}"${globDisabled ? " (with disabling globs)" : ""} were found. +Please check for typing mistakes in the pattern. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/file-not-found.txt b/node_modules/eslint/messages/file-not-found.txt deleted file mode 100644 index 639498eb5..000000000 --- a/node_modules/eslint/messages/file-not-found.txt +++ /dev/null @@ -1,2 +0,0 @@ -No files matching the pattern "<%= pattern %>"<% if (globDisabled) { %> (with disabling globs)<% } %> were found. -Please check for typing mistakes in the pattern. diff --git a/node_modules/eslint/messages/no-config-found.js b/node_modules/eslint/messages/no-config-found.js new file mode 100644 index 000000000..1042143f9 --- /dev/null +++ b/node_modules/eslint/messages/no-config-found.js @@ -0,0 +1,15 @@ +"use strict"; + +module.exports = function(it) { + const { directoryPath } = it; + + return ` +ESLint couldn't find a configuration file. To set up a configuration file for this project, please run: + + eslint --init + +ESLint looked for configuration files in ${directoryPath} and its ancestors. If it found none, it then looked in your home directory. + +If you think you already have a configuration file or if you need more help, please stop by the ESLint chat room: https://eslint.org/chat/help +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/no-config-found.txt b/node_modules/eslint/messages/no-config-found.txt deleted file mode 100644 index b46a7e5a7..000000000 --- a/node_modules/eslint/messages/no-config-found.txt +++ /dev/null @@ -1,7 +0,0 @@ -ESLint couldn't find a configuration file. To set up a configuration file for this project, please run: - - eslint --init - -ESLint looked for configuration files in <%= directoryPath %> and its ancestors. If it found none, it then looked in your home directory. - -If you think you already have a configuration file or if you need more help, please stop by the ESLint chat room: https://eslint.org/chat/help diff --git a/node_modules/eslint/messages/plugin-conflict.js b/node_modules/eslint/messages/plugin-conflict.js new file mode 100644 index 000000000..c8c060e2f --- /dev/null +++ b/node_modules/eslint/messages/plugin-conflict.js @@ -0,0 +1,22 @@ +"use strict"; + +module.exports = function(it) { + const { pluginId, plugins } = it; + + let result = `ESLint couldn't determine the plugin "${pluginId}" uniquely. +`; + + for (const { filePath, importerName } of plugins) { + result += ` +- ${filePath} (loaded in "${importerName}")`; + } + + result += ` + +Please remove the "plugins" setting from either config or remove either plugin installation. + +If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. +`; + + return result; +}; diff --git a/node_modules/eslint/messages/plugin-conflict.txt b/node_modules/eslint/messages/plugin-conflict.txt deleted file mode 100644 index 3ab4b340e..000000000 --- a/node_modules/eslint/messages/plugin-conflict.txt +++ /dev/null @@ -1,7 +0,0 @@ -ESLint couldn't determine the plugin "<%- pluginId %>" uniquely. -<% for (const { filePath, importerName } of plugins) { %> -- <%= filePath %> (loaded in "<%= importerName %>")<% } %> - -Please remove the "plugins" setting from either config or remove either plugin installation. - -If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. diff --git a/node_modules/eslint/messages/plugin-invalid.js b/node_modules/eslint/messages/plugin-invalid.js new file mode 100644 index 000000000..7913576f0 --- /dev/null +++ b/node_modules/eslint/messages/plugin-invalid.js @@ -0,0 +1,16 @@ +"use strict"; + +module.exports = function(it) { + const { configName, importerName } = it; + + return ` +"${configName}" is invalid syntax for a config specifier. + +* If your intention is to extend from a configuration exported from the plugin, add the configuration name after a slash: e.g. "${configName}/myConfig". +* If this is the name of a shareable config instead of a plugin, remove the "plugin:" prefix: i.e. "${configName.slice("plugin:".length)}". + +"${configName}" was referenced from the config file in "${importerName}". + +If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/plugin-invalid.txt b/node_modules/eslint/messages/plugin-invalid.txt deleted file mode 100644 index 3ee251821..000000000 --- a/node_modules/eslint/messages/plugin-invalid.txt +++ /dev/null @@ -1,8 +0,0 @@ -"<%- configName %>" is invalid syntax for a config specifier. - -* If your intention is to extend from a configuration exported from the plugin, add the configuration name after a slash: e.g. "<%- configName %>/myConfig". -* If this is the name of a shareable config instead of a plugin, remove the "plugin:" prefix: i.e. "<%- configName.slice("plugin:".length) %>". - -"<%- configName %>" was referenced from the config file in "<%- importerName %>". - -If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. diff --git a/node_modules/eslint/messages/plugin-missing.js b/node_modules/eslint/messages/plugin-missing.js new file mode 100644 index 000000000..f58c78ceb --- /dev/null +++ b/node_modules/eslint/messages/plugin-missing.js @@ -0,0 +1,19 @@ +"use strict"; + +module.exports = function(it) { + const { pluginName, resolvePluginsRelativeTo, importerName } = it; + + return ` +ESLint couldn't find the plugin "${pluginName}". + +(The package "${pluginName}" was not found when loaded as a Node module from the directory "${resolvePluginsRelativeTo}".) + +It's likely that the plugin isn't installed correctly. Try reinstalling by running the following: + + npm install ${pluginName}@latest --save-dev + +The plugin "${pluginName}" was referenced from the config file in "${importerName}". + +If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/plugin-missing.txt b/node_modules/eslint/messages/plugin-missing.txt deleted file mode 100644 index aa25f59ac..000000000 --- a/node_modules/eslint/messages/plugin-missing.txt +++ /dev/null @@ -1,11 +0,0 @@ -ESLint couldn't find the plugin "<%- pluginName %>". - -(The package "<%- pluginName %>" was not found when loaded as a Node module from the directory "<%- resolvePluginsRelativeTo %>".) - -It's likely that the plugin isn't installed correctly. Try reinstalling by running the following: - - npm install <%- pluginName %>@latest --save-dev - -The plugin "<%- pluginName %>" was referenced from the config file in "<%- importerName %>". - -If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. diff --git a/node_modules/eslint/messages/print-config-with-directory-path.js b/node_modules/eslint/messages/print-config-with-directory-path.js new file mode 100644 index 000000000..6a5d571dd --- /dev/null +++ b/node_modules/eslint/messages/print-config-with-directory-path.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = function() { + return ` +The '--print-config' CLI option requires a path to a source code file rather than a directory. +See also: https://eslint.org/docs/user-guide/command-line-interface#--print-config +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/print-config-with-directory-path.txt b/node_modules/eslint/messages/print-config-with-directory-path.txt deleted file mode 100644 index 1afc9b1e8..000000000 --- a/node_modules/eslint/messages/print-config-with-directory-path.txt +++ /dev/null @@ -1,2 +0,0 @@ -The '--print-config' CLI option requires a path to a source code file rather than a directory. -See also: https://eslint.org/docs/user-guide/command-line-interface#--print-config diff --git a/node_modules/eslint/messages/whitespace-found.js b/node_modules/eslint/messages/whitespace-found.js new file mode 100644 index 000000000..4ce49ca3a --- /dev/null +++ b/node_modules/eslint/messages/whitespace-found.js @@ -0,0 +1,11 @@ +"use strict"; + +module.exports = function(it) { + const { pluginName } = it; + + return ` +ESLint couldn't find the plugin "${pluginName}". because there is whitespace in the name. Please check your configuration and remove all whitespace from the plugin name. + +If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. +`.trimLeft(); +}; diff --git a/node_modules/eslint/messages/whitespace-found.txt b/node_modules/eslint/messages/whitespace-found.txt deleted file mode 100644 index 3eed1af58..000000000 --- a/node_modules/eslint/messages/whitespace-found.txt +++ /dev/null @@ -1,3 +0,0 @@ -ESLint couldn't find the plugin "<%- pluginName %>". because there is whitespace in the name. Please check your configuration and remove all whitespace from the plugin name. - -If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. diff --git a/node_modules/eslint/node_modules/escape-string-regexp/index.d.ts b/node_modules/eslint/node_modules/escape-string-regexp/index.d.ts new file mode 100644 index 000000000..7d34edc7c --- /dev/null +++ b/node_modules/eslint/node_modules/escape-string-regexp/index.d.ts @@ -0,0 +1,18 @@ +/** +Escape RegExp special characters. + +You can also use this to escape a string that is inserted into the middle of a regex, for example, into a character class. + +@example +``` +import escapeStringRegexp = require('escape-string-regexp'); + +const escapedString = escapeStringRegexp('How much $ for a 🦄?'); +//=> 'How much \\$ for a 🦄\\?' + +new RegExp(escapedString); +``` +*/ +declare const escapeStringRegexp: (string: string) => string; + +export = escapeStringRegexp; diff --git a/node_modules/eslint/node_modules/escape-string-regexp/index.js b/node_modules/eslint/node_modules/escape-string-regexp/index.js new file mode 100644 index 000000000..387c5615a --- /dev/null +++ b/node_modules/eslint/node_modules/escape-string-regexp/index.js @@ -0,0 +1,13 @@ +'use strict'; + +module.exports = string => { + if (typeof string !== 'string') { + throw new TypeError('Expected a string'); + } + + // Escape characters with special meaning either inside or outside character sets. + // Use a simple backslash escape when it’s always valid, and a \unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar. + return string + .replace(/[|\\{}()[\]^$+*?.]/g, '\\$&') + .replace(/-/g, '\\x2d'); +}; diff --git a/node_modules/eslint/node_modules/escape-string-regexp/license b/node_modules/eslint/node_modules/escape-string-regexp/license new file mode 100644 index 000000000..fa7ceba3e --- /dev/null +++ b/node_modules/eslint/node_modules/escape-string-regexp/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/eslint/node_modules/escape-string-regexp/package.json b/node_modules/eslint/node_modules/escape-string-regexp/package.json new file mode 100644 index 000000000..053b31334 --- /dev/null +++ b/node_modules/eslint/node_modules/escape-string-regexp/package.json @@ -0,0 +1,38 @@ +{ + "name": "escape-string-regexp", + "version": "4.0.0", + "description": "Escape RegExp special characters", + "license": "MIT", + "repository": "sindresorhus/escape-string-regexp", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "engines": { + "node": ">=10" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "escape", + "regex", + "regexp", + "regular", + "expression", + "string", + "special", + "characters" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.11.0", + "xo": "^0.28.3" + } +} \ No newline at end of file diff --git a/node_modules/eslint/node_modules/escape-string-regexp/readme.md b/node_modules/eslint/node_modules/escape-string-regexp/readme.md new file mode 100644 index 000000000..2945dfcb2 --- /dev/null +++ b/node_modules/eslint/node_modules/escape-string-regexp/readme.md @@ -0,0 +1,34 @@ +# escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp) + +> Escape RegExp special characters + +## Install + +``` +$ npm install escape-string-regexp +``` + +## Usage + +```js +const escapeStringRegexp = require('escape-string-regexp'); + +const escapedString = escapeStringRegexp('How much $ for a 🦄?'); +//=> 'How much \\$ for a 🦄\\?' + +new RegExp(escapedString); +``` + +You can also use this to escape a string that is inserted into the middle of a regex, for example, into a character class. + +--- + +
+ + Get professional support for this package with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/CHANGELOG.md b/node_modules/eslint/node_modules/eslint-visitor-keys/CHANGELOG.md deleted file mode 100644 index dc1d4b5ec..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/CHANGELOG.md +++ /dev/null @@ -1,25 +0,0 @@ -v1.3.0 - June 19, 2020 - -* [`c92dd7f`](https://github.com/eslint/eslint-visitor-keys/commit/c92dd7ff96f0044dba12d681406a025b92b4c437) Update: add `ChainExpression` node (#12) (Toru Nagashima) - -v1.2.0 - June 4, 2020 - -* [`21f28bf`](https://github.com/eslint/eslint-visitor-keys/commit/21f28bf11be5329d740a8bf6bdbcd0ef13bbf1a2) Update: added exported in exportAllDeclaration key (#10) (Anix) - -v1.1.0 - August 13, 2019 - -* [`9331cc0`](https://github.com/eslint/eslint-visitor-keys/commit/9331cc09e756e65b9044c9186445a474b037fac6) Update: add ImportExpression (#8) (Toru Nagashima) -* [`5967f58`](https://github.com/eslint/eslint-visitor-keys/commit/5967f583b04f17fba9226aaa394e45d476d2b8af) Chore: add supported Node.js versions to CI (#7) (Kai Cataldo) -* [`6f7c60f`](https://github.com/eslint/eslint-visitor-keys/commit/6f7c60fef2ceec9f6323202df718321cec45cab0) Upgrade: eslint-release@1.0.0 (#5) (Teddy Katz) - -v1.0.0 - December 18, 2017 - -* 1f6bd38 Breaking: update keys (#4) (Toru Nagashima) - -v0.1.0 - November 17, 2017 - -* 17b4a88 Chore: update `repository` field in package.json (#3) (Toru Nagashima) -* a5a026b New: eslint-visitor-keys (#1) (Toru Nagashima) -* a1a48b8 Update: Change license to Apache 2 (#2) (Ilya Volodin) -* 2204715 Initial commit (Toru Nagashima) - diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/LICENSE b/node_modules/eslint/node_modules/eslint-visitor-keys/LICENSE deleted file mode 100644 index 17a25538d..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright contributors - - 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. diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/README.md b/node_modules/eslint/node_modules/eslint-visitor-keys/README.md deleted file mode 100644 index 250f5fa31..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# eslint-visitor-keys - -[![npm version](https://img.shields.io/npm/v/eslint-visitor-keys.svg)](https://www.npmjs.com/package/eslint-visitor-keys) -[![Downloads/month](https://img.shields.io/npm/dm/eslint-visitor-keys.svg)](http://www.npmtrends.com/eslint-visitor-keys) -[![Build Status](https://travis-ci.org/eslint/eslint-visitor-keys.svg?branch=master)](https://travis-ci.org/eslint/eslint-visitor-keys) -[![Dependency Status](https://david-dm.org/eslint/eslint-visitor-keys.svg)](https://david-dm.org/eslint/eslint-visitor-keys) - -Constants and utilities about visitor keys to traverse AST. - -## 💿 Installation - -Use [npm] to install. - -```bash -$ npm install eslint-visitor-keys -``` - -### Requirements - -- [Node.js] 4.0.0 or later. - -## 📖 Usage - -```js -const evk = require("eslint-visitor-keys") -``` - -### evk.KEYS - -> type: `{ [type: string]: string[] | undefined }` - -Visitor keys. This keys are frozen. - -This is an object. Keys are the type of [ESTree] nodes. Their values are an array of property names which have child nodes. - -For example: - -``` -console.log(evk.KEYS.AssignmentExpression) // → ["left", "right"] -``` - -### evk.getKeys(node) - -> type: `(node: object) => string[]` - -Get the visitor keys of a given AST node. - -This is similar to `Object.keys(node)` of ES Standard, but some keys are excluded: `parent`, `leadingComments`, `trailingComments`, and names which start with `_`. - -This will be used to traverse unknown nodes. - -For example: - -``` -const node = { - type: "AssignmentExpression", - left: { type: "Identifier", name: "foo" }, - right: { type: "Literal", value: 0 } -} -console.log(evk.getKeys(node)) // → ["type", "left", "right"] -``` - -### evk.unionWith(additionalKeys) - -> type: `(additionalKeys: object) => { [type: string]: string[] | undefined }` - -Make the union set with `evk.KEYS` and the given keys. - -- The order of keys is, `additionalKeys` is at first, then `evk.KEYS` is concatenated after that. -- It removes duplicated keys as keeping the first one. - -For example: - -``` -console.log(evk.unionWith({ - MethodDefinition: ["decorators"] -})) // → { ..., MethodDefinition: ["decorators", "key", "value"], ... } -``` - -## 📰 Change log - -See [GitHub releases](https://github.com/eslint/eslint-visitor-keys/releases). - -## 🍻 Contributing - -Welcome. See [ESLint contribution guidelines](https://eslint.org/docs/developer-guide/contributing/). - -### Development commands - -- `npm test` runs tests and measures code coverage. -- `npm run lint` checks source codes with ESLint. -- `npm run coverage` opens the code coverage report of the previous test with your default browser. -- `npm run release` publishes this package to [npm] registory. - - -[npm]: https://www.npmjs.com/ -[Node.js]: https://nodejs.org/en/ -[ESTree]: https://github.com/estree/estree diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/lib/index.js b/node_modules/eslint/node_modules/eslint-visitor-keys/lib/index.js deleted file mode 100644 index cd8a32608..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/lib/index.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @author Toru Nagashima - * See LICENSE file in root directory for full license. - */ -"use strict"; - -const KEYS = require("./visitor-keys.json"); - -// Types. -const NODE_TYPES = Object.freeze(Object.keys(KEYS)); - -// Freeze the keys. -for (const type of NODE_TYPES) { - Object.freeze(KEYS[type]); -} -Object.freeze(KEYS); - -// List to ignore keys. -const KEY_BLACKLIST = new Set([ - "parent", - "leadingComments", - "trailingComments" -]); - -/** - * Check whether a given key should be used or not. - * @param {string} key The key to check. - * @returns {boolean} `true` if the key should be used. - */ -function filterKey(key) { - return !KEY_BLACKLIST.has(key) && key[0] !== "_"; -} - -//------------------------------------------------------------------------------ -// Public interfaces -//------------------------------------------------------------------------------ - -module.exports = Object.freeze({ - - /** - * Visitor keys. - * @type {{ [type: string]: string[] | undefined }} - */ - KEYS, - - /** - * Get visitor keys of a given node. - * @param {Object} node The AST node to get keys. - * @returns {string[]} Visitor keys of the node. - */ - getKeys(node) { - return Object.keys(node).filter(filterKey); - }, - - // Disable valid-jsdoc rule because it reports syntax error on the type of @returns. - // eslint-disable-next-line valid-jsdoc - /** - * Make the union set with `KEYS` and given keys. - * @param {Object} additionalKeys The additional keys. - * @returns {{ [type: string]: string[] | undefined }} The union set. - */ - unionWith(additionalKeys) { - const retv = Object.assign({}, KEYS); - - for (const type of Object.keys(additionalKeys)) { - if (retv.hasOwnProperty(type)) { - const keys = new Set(additionalKeys[type]); - - for (const key of retv[type]) { - keys.add(key); - } - - retv[type] = Object.freeze(Array.from(keys)); - } else { - retv[type] = Object.freeze(Array.from(additionalKeys[type])); - } - } - - return Object.freeze(retv); - } -}); diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json b/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json deleted file mode 100644 index a33bbc660..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json +++ /dev/null @@ -1,284 +0,0 @@ -{ - "AssignmentExpression": [ - "left", - "right" - ], - "AssignmentPattern": [ - "left", - "right" - ], - "ArrayExpression": [ - "elements" - ], - "ArrayPattern": [ - "elements" - ], - "ArrowFunctionExpression": [ - "params", - "body" - ], - "AwaitExpression": [ - "argument" - ], - "BlockStatement": [ - "body" - ], - "BinaryExpression": [ - "left", - "right" - ], - "BreakStatement": [ - "label" - ], - "CallExpression": [ - "callee", - "arguments" - ], - "CatchClause": [ - "param", - "body" - ], - "ChainExpression": [ - "expression" - ], - "ClassBody": [ - "body" - ], - "ClassDeclaration": [ - "id", - "superClass", - "body" - ], - "ClassExpression": [ - "id", - "superClass", - "body" - ], - "ConditionalExpression": [ - "test", - "consequent", - "alternate" - ], - "ContinueStatement": [ - "label" - ], - "DebuggerStatement": [], - "DoWhileStatement": [ - "body", - "test" - ], - "EmptyStatement": [], - "ExportAllDeclaration": [ - "exported", - "source" - ], - "ExportDefaultDeclaration": [ - "declaration" - ], - "ExportNamedDeclaration": [ - "declaration", - "specifiers", - "source" - ], - "ExportSpecifier": [ - "exported", - "local" - ], - "ExpressionStatement": [ - "expression" - ], - "ExperimentalRestProperty": [ - "argument" - ], - "ExperimentalSpreadProperty": [ - "argument" - ], - "ForStatement": [ - "init", - "test", - "update", - "body" - ], - "ForInStatement": [ - "left", - "right", - "body" - ], - "ForOfStatement": [ - "left", - "right", - "body" - ], - "FunctionDeclaration": [ - "id", - "params", - "body" - ], - "FunctionExpression": [ - "id", - "params", - "body" - ], - "Identifier": [], - "IfStatement": [ - "test", - "consequent", - "alternate" - ], - "ImportDeclaration": [ - "specifiers", - "source" - ], - "ImportDefaultSpecifier": [ - "local" - ], - "ImportExpression": [ - "source" - ], - "ImportNamespaceSpecifier": [ - "local" - ], - "ImportSpecifier": [ - "imported", - "local" - ], - "JSXAttribute": [ - "name", - "value" - ], - "JSXClosingElement": [ - "name" - ], - "JSXElement": [ - "openingElement", - "children", - "closingElement" - ], - "JSXEmptyExpression": [], - "JSXExpressionContainer": [ - "expression" - ], - "JSXIdentifier": [], - "JSXMemberExpression": [ - "object", - "property" - ], - "JSXNamespacedName": [ - "namespace", - "name" - ], - "JSXOpeningElement": [ - "name", - "attributes" - ], - "JSXSpreadAttribute": [ - "argument" - ], - "JSXText": [], - "JSXFragment": [ - "openingFragment", - "children", - "closingFragment" - ], - "Literal": [], - "LabeledStatement": [ - "label", - "body" - ], - "LogicalExpression": [ - "left", - "right" - ], - "MemberExpression": [ - "object", - "property" - ], - "MetaProperty": [ - "meta", - "property" - ], - "MethodDefinition": [ - "key", - "value" - ], - "NewExpression": [ - "callee", - "arguments" - ], - "ObjectExpression": [ - "properties" - ], - "ObjectPattern": [ - "properties" - ], - "Program": [ - "body" - ], - "Property": [ - "key", - "value" - ], - "RestElement": [ - "argument" - ], - "ReturnStatement": [ - "argument" - ], - "SequenceExpression": [ - "expressions" - ], - "SpreadElement": [ - "argument" - ], - "Super": [], - "SwitchStatement": [ - "discriminant", - "cases" - ], - "SwitchCase": [ - "test", - "consequent" - ], - "TaggedTemplateExpression": [ - "tag", - "quasi" - ], - "TemplateElement": [], - "TemplateLiteral": [ - "quasis", - "expressions" - ], - "ThisExpression": [], - "ThrowStatement": [ - "argument" - ], - "TryStatement": [ - "block", - "handler", - "finalizer" - ], - "UnaryExpression": [ - "argument" - ], - "UpdateExpression": [ - "argument" - ], - "VariableDeclaration": [ - "declarations" - ], - "VariableDeclarator": [ - "id", - "init" - ], - "WhileStatement": [ - "test", - "body" - ], - "WithStatement": [ - "object", - "body" - ], - "YieldExpression": [ - "argument" - ] -} diff --git a/node_modules/eslint/node_modules/eslint-visitor-keys/package.json b/node_modules/eslint/node_modules/eslint-visitor-keys/package.json deleted file mode 100644 index 98262a15c..000000000 --- a/node_modules/eslint/node_modules/eslint-visitor-keys/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "eslint-visitor-keys", - "version": "1.3.0", - "description": "Constants and utilities about visitor keys to traverse AST.", - "main": "lib/index.js", - "files": [ - "lib" - ], - "engines": { - "node": ">=4" - }, - "dependencies": {}, - "devDependencies": { - "eslint": "^4.7.2", - "eslint-config-eslint": "^4.0.0", - "eslint-release": "^1.0.0", - "mocha": "^3.5.3", - "nyc": "^11.2.1", - "opener": "^1.4.3" - }, - "scripts": { - "lint": "eslint lib tests/lib", - "pretest": "npm run -s lint", - "test": "nyc mocha tests/lib", - "coverage": "nyc report --reporter lcov && opener coverage/lcov-report/index.html", - "generate-release": "eslint-generate-release", - "generate-alpharelease": "eslint-generate-prerelease alpha", - "generate-betarelease": "eslint-generate-prerelease beta", - "generate-rcrelease": "eslint-generate-prerelease rc", - "publish-release": "eslint-publish-release" - }, - "repository": "eslint/eslint-visitor-keys", - "keywords": [], - "author": "Toru Nagashima (https://github.com/mysticatea)", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/eslint/eslint-visitor-keys/issues" - }, - "homepage": "https://github.com/eslint/eslint-visitor-keys#readme" -} \ No newline at end of file diff --git a/node_modules/eslint/package.json b/node_modules/eslint/package.json index b85ca52cb..cf15eddca 100644 --- a/node_modules/eslint/package.json +++ b/node_modules/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "7.9.0", + "version": "7.31.0", "author": "Nicholas C. Zakas ", "description": "An AST-based pattern checker for JavaScript.", "bin": { @@ -27,10 +27,7 @@ "pre-commit": "lint-staged" }, "lint-staged": { - "*.js": [ - "eslint --fix", - "git add" - ], + "*.js": "eslint --fix", "*.md": "markdownlint" }, "files": [ @@ -46,24 +43,27 @@ "homepage": "https://eslint.org", "bugs": "https://github.com/eslint/eslint/issues/", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.1.3", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "eslint-scope": "^5.1.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^1.3.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -71,7 +71,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -80,14 +80,13 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^5.2.3", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "devDependencies": { "@babel/core": "^7.4.3", "@babel/preset-env": "^7.4.3", - "acorn": "^7.2.0", "babel-loader": "^8.0.5", "chai": "^4.0.1", "cheerio": "^0.22.0", @@ -95,41 +94,42 @@ "core-js": "^3.1.3", "dateformat": "^3.0.3", "ejs": "^3.0.2", - "escape-string-regexp": "^3.0.0", "eslint": "file:.", "eslint-config-eslint": "file:packages/eslint-config-eslint", - "eslint-plugin-eslint-plugin": "^2.2.1", + "eslint-plugin-eslint-plugin": "^3.2.0", "eslint-plugin-internal-rules": "file:tools/internal-rules", - "eslint-plugin-jsdoc": "^22.1.0", + "eslint-plugin-jsdoc": "^25.4.3", "eslint-plugin-node": "^11.1.0", "eslint-release": "^2.0.0", - "eslump": "^2.0.0", + "eslump": "^3.0.0", "esprima": "^4.0.1", + "fs-teardown": "0.1.1", "glob": "^7.1.6", "jsdoc": "^3.5.5", - "karma": "^4.0.1", + "karma": "^6.1.1", "karma-chrome-launcher": "^3.1.0", - "karma-mocha": "^1.3.0", - "karma-mocha-reporter": "^2.2.3", - "karma-webpack": "^4.0.0-rc.6", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-webpack": "^5.0.0", "lint-staged": "^10.1.2", "load-perf": "^0.2.0", "markdownlint": "^0.19.0", "markdownlint-cli": "^0.22.0", "memfs": "^3.0.1", - "mocha": "^7.1.1", - "mocha-junit-reporter": "^1.23.0", + "mocha": "^8.3.2", + "mocha-junit-reporter": "^2.0.0", + "node-polyfill-webpack-plugin": "^1.0.3", "npm-license": "^0.3.3", "nyc": "^15.0.1", "proxyquire": "^2.0.1", - "puppeteer": "^4.0.0", + "puppeteer": "^7.1.0", "recast": "^0.19.0", "regenerator-runtime": "^0.13.2", "shelljs": "^0.8.2", "sinon": "^9.0.1", "temp": "^0.9.0", - "webpack": "^4.35.0", - "webpack-cli": "^3.3.5", + "webpack": "^5.23.0", + "webpack-cli": "^4.5.0", "yorkie": "^2.0.0" }, "keywords": [ diff --git a/node_modules/espree/CHANGELOG.md b/node_modules/espree/CHANGELOG.md index 5bfd6148a..85409ca47 100644 --- a/node_modules/espree/CHANGELOG.md +++ b/node_modules/espree/CHANGELOG.md @@ -1,3 +1,9 @@ +v7.3.1 - December 5, 2020 + +* [`fef6f4a`](https://github.com/eslint/espree/commit/fef6f4a2803d959304c6961527044bd9da39ac92) Upgrade: acorn-jsx@5.3.1 (#459) (Milos Djermanovic) +* [`0e09d9a`](https://github.com/eslint/espree/commit/0e09d9a4f213cb87073a6a87cb7d6317b77d1a23) Chore: Add tests for ecmaVersion default value (#460) (Milos Djermanovic) +* [`4c70052`](https://github.com/eslint/espree/commit/4c70052df0b0ba903602c1f838918cbc07ee5eca) Docs: Fix some minor typos in the READMEs (#455) (Noah Doersing) + v7.3.0 - August 22, 2020 * [`4ba3eef`](https://github.com/eslint/espree/commit/4ba3eefdc4b32784565822b34f11977e99ca1a19) Chore: move to GitHub Actions (#449) (Kai Cataldo) diff --git a/node_modules/espree/README.md b/node_modules/espree/README.md index e7b5064cb..72d88f833 100644 --- a/node_modules/espree/README.md +++ b/node_modules/espree/README.md @@ -27,10 +27,10 @@ const ast = espree.parse(code); ### `parse()` -`parse` parses the given code and returns a abstract syntax tree (AST). It takes two paramenter. +`parse` parses the given code and returns a abstract syntax tree (AST). It takes two parameters. - `code` [string]() - the code which needs to be parsed. -- `options (Optional)` [Object]() - read more about this [here](#options) +- `options (Optional)` [Object]() - read more about this [here](#options). ```javascript const espree = require("espree"); @@ -71,10 +71,10 @@ Node { ### `tokenize()` -`tokenize` returns the tokens of a give code. It takes two paramenter. +`tokenize` returns the tokens of a given code. It takes two parameters. - `code` [string]() - the code which needs to be parsed. -- `options (Optional)` [Object]() - read more about this [here](#options) +- `options (Optional)` [Object]() - read more about this [here](#options). Even if `options` is empty or undefined or `options.tokens` is `false`, it assigns it to `true` in order to get the `tokens` array @@ -112,7 +112,7 @@ Returns the latest ECMAScript supported by `espree` ### `supportedEcmaVersions` -Returns an array of all supported ECMAScript version +Returns an array of all supported ECMAScript versions ## Options diff --git a/node_modules/espree/node_modules/.bin/acorn b/node_modules/espree/node_modules/.bin/acorn deleted file mode 120000 index cf7676038..000000000 --- a/node_modules/espree/node_modules/.bin/acorn +++ /dev/null @@ -1 +0,0 @@ -../acorn/bin/acorn \ No newline at end of file diff --git a/node_modules/espree/node_modules/acorn/CHANGELOG.md b/node_modules/espree/node_modules/acorn/CHANGELOG.md deleted file mode 100644 index 164fd27c6..000000000 --- a/node_modules/espree/node_modules/acorn/CHANGELOG.md +++ /dev/null @@ -1,620 +0,0 @@ -## 7.4.0 (2020-08-03) - -### New features - -Add support for logical assignment operators. - -Add support for numeric separators. - -## 7.3.1 (2020-06-11) - -### Bug fixes - -Make the string in the `version` export match the actual library version. - -## 7.3.0 (2020-06-11) - -### Bug fixes - -Fix a bug that caused parsing of object patterns with a property named `set` that had a default value to fail. - -### New features - -Add support for optional chaining (`?.`). - -## 7.2.0 (2020-05-09) - -### Bug fixes - -Fix precedence issue in parsing of async arrow functions. - -### New features - -Add support for nullish coalescing. - -Add support for `import.meta`. - -Support `export * as ...` syntax. - -Upgrade to Unicode 13. - -## 6.4.1 (2020-03-09) - -### Bug fixes - -More carefully check for valid UTF16 surrogate pairs in regexp validator. - -## 7.1.1 (2020-03-01) - -### Bug fixes - -Treat `\8` and `\9` as invalid escapes in template strings. - -Allow unicode escapes in property names that are keywords. - -Don't error on an exponential operator expression as argument to `await`. - -More carefully check for valid UTF16 surrogate pairs in regexp validator. - -## 7.1.0 (2019-09-24) - -### Bug fixes - -Disallow trailing object literal commas when ecmaVersion is less than 5. - -### New features - -Add a static `acorn` property to the `Parser` class that contains the entire module interface, to allow plugins to access the instance of the library that they are acting on. - -## 7.0.0 (2019-08-13) - -### Breaking changes - -Changes the node format for dynamic imports to use the `ImportExpression` node type, as defined in [ESTree](https://github.com/estree/estree/blob/master/es2020.md#importexpression). - -Makes 10 (ES2019) the default value for the `ecmaVersion` option. - -## 6.3.0 (2019-08-12) - -### New features - -`sourceType: "module"` can now be used even when `ecmaVersion` is less than 6, to parse module-style code that otherwise conforms to an older standard. - -## 6.2.1 (2019-07-21) - -### Bug fixes - -Fix bug causing Acorn to treat some characters as identifier characters that shouldn't be treated as such. - -Fix issue where setting the `allowReserved` option to `"never"` allowed reserved words in some circumstances. - -## 6.2.0 (2019-07-04) - -### Bug fixes - -Improve valid assignment checking in `for`/`in` and `for`/`of` loops. - -Disallow binding `let` in patterns. - -### New features - -Support bigint syntax with `ecmaVersion` >= 11. - -Support dynamic `import` syntax with `ecmaVersion` >= 11. - -Upgrade to Unicode version 12. - -## 6.1.1 (2019-02-27) - -### Bug fixes - -Fix bug that caused parsing default exports of with names to fail. - -## 6.1.0 (2019-02-08) - -### Bug fixes - -Fix scope checking when redefining a `var` as a lexical binding. - -### New features - -Split up `parseSubscripts` to use an internal `parseSubscript` method to make it easier to extend with plugins. - -## 6.0.7 (2019-02-04) - -### Bug fixes - -Check that exported bindings are defined. - -Don't treat `\u180e` as a whitespace character. - -Check for duplicate parameter names in methods. - -Don't allow shorthand properties when they are generators or async methods. - -Forbid binding `await` in async arrow function's parameter list. - -## 6.0.6 (2019-01-30) - -### Bug fixes - -The content of class declarations and expressions is now always parsed in strict mode. - -Don't allow `let` or `const` to bind the variable name `let`. - -Treat class declarations as lexical. - -Don't allow a generator function declaration as the sole body of an `if` or `else`. - -Ignore `"use strict"` when after an empty statement. - -Allow string line continuations with special line terminator characters. - -Treat `for` bodies as part of the `for` scope when checking for conflicting bindings. - -Fix bug with parsing `yield` in a `for` loop initializer. - -Implement special cases around scope checking for functions. - -## 6.0.5 (2019-01-02) - -### Bug fixes - -Fix TypeScript type for `Parser.extend` and add `allowAwaitOutsideFunction` to options type. - -Don't treat `let` as a keyword when the next token is `{` on the next line. - -Fix bug that broke checking for parentheses around an object pattern in a destructuring assignment when `preserveParens` was on. - -## 6.0.4 (2018-11-05) - -### Bug fixes - -Further improvements to tokenizing regular expressions in corner cases. - -## 6.0.3 (2018-11-04) - -### Bug fixes - -Fix bug in tokenizing an expression-less return followed by a function followed by a regular expression. - -Remove stray symlink in the package tarball. - -## 6.0.2 (2018-09-26) - -### Bug fixes - -Fix bug where default expressions could fail to parse inside an object destructuring assignment expression. - -## 6.0.1 (2018-09-14) - -### Bug fixes - -Fix wrong value in `version` export. - -## 6.0.0 (2018-09-14) - -### Bug fixes - -Better handle variable-redefinition checks for catch bindings and functions directly under if statements. - -Forbid `new.target` in top-level arrow functions. - -Fix issue with parsing a regexp after `yield` in some contexts. - -### New features - -The package now comes with TypeScript definitions. - -### Breaking changes - -The default value of the `ecmaVersion` option is now 9 (2018). - -Plugins work differently, and will have to be rewritten to work with this version. - -The loose parser and walker have been moved into separate packages (`acorn-loose` and `acorn-walk`). - -## 5.7.3 (2018-09-10) - -### Bug fixes - -Fix failure to tokenize regexps after expressions like `x.of`. - -Better error message for unterminated template literals. - -## 5.7.2 (2018-08-24) - -### Bug fixes - -Properly handle `allowAwaitOutsideFunction` in for statements. - -Treat function declarations at the top level of modules like let bindings. - -Don't allow async function declarations as the only statement under a label. - -## 5.7.0 (2018-06-15) - -### New features - -Upgraded to Unicode 11. - -## 5.6.0 (2018-05-31) - -### New features - -Allow U+2028 and U+2029 in string when ECMAVersion >= 10. - -Allow binding-less catch statements when ECMAVersion >= 10. - -Add `allowAwaitOutsideFunction` option for parsing top-level `await`. - -## 5.5.3 (2018-03-08) - -### Bug fixes - -A _second_ republish of the code in 5.5.1, this time with yarn, to hopefully get valid timestamps. - -## 5.5.2 (2018-03-08) - -### Bug fixes - -A republish of the code in 5.5.1 in an attempt to solve an issue with the file timestamps in the npm package being 0. - -## 5.5.1 (2018-03-06) - -### Bug fixes - -Fix misleading error message for octal escapes in template strings. - -## 5.5.0 (2018-02-27) - -### New features - -The identifier character categorization is now based on Unicode version 10. - -Acorn will now validate the content of regular expressions, including new ES9 features. - -## 5.4.0 (2018-02-01) - -### Bug fixes - -Disallow duplicate or escaped flags on regular expressions. - -Disallow octal escapes in strings in strict mode. - -### New features - -Add support for async iteration. - -Add support for object spread and rest. - -## 5.3.0 (2017-12-28) - -### Bug fixes - -Fix parsing of floating point literals with leading zeroes in loose mode. - -Allow duplicate property names in object patterns. - -Don't allow static class methods named `prototype`. - -Disallow async functions directly under `if` or `else`. - -Parse right-hand-side of `for`/`of` as an assignment expression. - -Stricter parsing of `for`/`in`. - -Don't allow unicode escapes in contextual keywords. - -### New features - -Parsing class members was factored into smaller methods to allow plugins to hook into it. - -## 5.2.1 (2017-10-30) - -### Bug fixes - -Fix a token context corruption bug. - -## 5.2.0 (2017-10-30) - -### Bug fixes - -Fix token context tracking for `class` and `function` in property-name position. - -Make sure `%*` isn't parsed as a valid operator. - -Allow shorthand properties `get` and `set` to be followed by default values. - -Disallow `super` when not in callee or object position. - -### New features - -Support [`directive` property](https://github.com/estree/estree/compare/b3de58c9997504d6fba04b72f76e6dd1619ee4eb...1da8e603237144f44710360f8feb7a9977e905e0) on directive expression statements. - -## 5.1.2 (2017-09-04) - -### Bug fixes - -Disable parsing of legacy HTML-style comments in modules. - -Fix parsing of async methods whose names are keywords. - -## 5.1.1 (2017-07-06) - -### Bug fixes - -Fix problem with disambiguating regexp and division after a class. - -## 5.1.0 (2017-07-05) - -### Bug fixes - -Fix tokenizing of regexps in an object-desctructuring `for`/`of` loop and after `yield`. - -Parse zero-prefixed numbers with non-octal digits as decimal. - -Allow object/array patterns in rest parameters. - -Don't error when `yield` is used as a property name. - -Allow `async` as a shorthand object property. - -### New features - -Implement the [template literal revision proposal](https://github.com/tc39/proposal-template-literal-revision) for ES9. - -## 5.0.3 (2017-04-01) - -### Bug fixes - -Fix spurious duplicate variable definition errors for named functions. - -## 5.0.2 (2017-03-30) - -### Bug fixes - -A binary operator after a parenthesized arrow expression is no longer incorrectly treated as an error. - -## 5.0.0 (2017-03-28) - -### Bug fixes - -Raise an error for duplicated lexical bindings. - -Fix spurious error when an assignement expression occurred after a spread expression. - -Accept regular expressions after `of` (in `for`/`of`), `yield` (in a generator), and braced arrow functions. - -Allow labels in front or `var` declarations, even in strict mode. - -### Breaking changes - -Parse declarations following `export default` as declaration nodes, not expressions. This means that class and function declarations nodes can now have `null` as their `id`. - -## 4.0.11 (2017-02-07) - -### Bug fixes - -Allow all forms of member expressions to be parenthesized as lvalue. - -## 4.0.10 (2017-02-07) - -### Bug fixes - -Don't expect semicolons after default-exported functions or classes, even when they are expressions. - -Check for use of `'use strict'` directives in non-simple parameter functions, even when already in strict mode. - -## 4.0.9 (2017-02-06) - -### Bug fixes - -Fix incorrect error raised for parenthesized simple assignment targets, so that `(x) = 1` parses again. - -## 4.0.8 (2017-02-03) - -### Bug fixes - -Solve spurious parenthesized pattern errors by temporarily erring on the side of accepting programs that our delayed errors don't handle correctly yet. - -## 4.0.7 (2017-02-02) - -### Bug fixes - -Accept invalidly rejected code like `(x).y = 2` again. - -Don't raise an error when a function _inside_ strict code has a non-simple parameter list. - -## 4.0.6 (2017-02-02) - -### Bug fixes - -Fix exponential behavior (manifesting itself as a complete hang for even relatively small source files) introduced by the new 'use strict' check. - -## 4.0.5 (2017-02-02) - -### Bug fixes - -Disallow parenthesized pattern expressions. - -Allow keywords as export names. - -Don't allow the `async` keyword to be parenthesized. - -Properly raise an error when a keyword contains a character escape. - -Allow `"use strict"` to appear after other string literal expressions. - -Disallow labeled declarations. - -## 4.0.4 (2016-12-19) - -### Bug fixes - -Fix crash when `export` was followed by a keyword that can't be -exported. - -## 4.0.3 (2016-08-16) - -### Bug fixes - -Allow regular function declarations inside single-statement `if` branches in loose mode. Forbid them entirely in strict mode. - -Properly parse properties named `async` in ES2017 mode. - -Fix bug where reserved words were broken in ES2017 mode. - -## 4.0.2 (2016-08-11) - -### Bug fixes - -Don't ignore period or 'e' characters after octal numbers. - -Fix broken parsing for call expressions in default parameter values of arrow functions. - -## 4.0.1 (2016-08-08) - -### Bug fixes - -Fix false positives in duplicated export name errors. - -## 4.0.0 (2016-08-07) - -### Breaking changes - -The default `ecmaVersion` option value is now 7. - -A number of internal method signatures changed, so plugins might need to be updated. - -### Bug fixes - -The parser now raises errors on duplicated export names. - -`arguments` and `eval` can now be used in shorthand properties. - -Duplicate parameter names in non-simple argument lists now always produce an error. - -### New features - -The `ecmaVersion` option now also accepts year-style version numbers -(2015, etc). - -Support for `async`/`await` syntax when `ecmaVersion` is >= 8. - -Support for trailing commas in call expressions when `ecmaVersion` is >= 8. - -## 3.3.0 (2016-07-25) - -### Bug fixes - -Fix bug in tokenizing of regexp operator after a function declaration. - -Fix parser crash when parsing an array pattern with a hole. - -### New features - -Implement check against complex argument lists in functions that enable strict mode in ES7. - -## 3.2.0 (2016-06-07) - -### Bug fixes - -Improve handling of lack of unicode regexp support in host -environment. - -Properly reject shorthand properties whose name is a keyword. - -### New features - -Visitors created with `visit.make` now have their base as _prototype_, rather than copying properties into a fresh object. - -## 3.1.0 (2016-04-18) - -### Bug fixes - -Properly tokenize the division operator directly after a function expression. - -Allow trailing comma in destructuring arrays. - -## 3.0.4 (2016-02-25) - -### Fixes - -Allow update expressions as left-hand-side of the ES7 exponential operator. - -## 3.0.2 (2016-02-10) - -### Fixes - -Fix bug that accidentally made `undefined` a reserved word when parsing ES7. - -## 3.0.0 (2016-02-10) - -### Breaking changes - -The default value of the `ecmaVersion` option is now 6 (used to be 5). - -Support for comprehension syntax (which was dropped from the draft spec) has been removed. - -### Fixes - -`let` and `yield` are now “contextual keywords”, meaning you can mostly use them as identifiers in ES5 non-strict code. - -A parenthesized class or function expression after `export default` is now parsed correctly. - -### New features - -When `ecmaVersion` is set to 7, Acorn will parse the exponentiation operator (`**`). - -The identifier character ranges are now based on Unicode 8.0.0. - -Plugins can now override the `raiseRecoverable` method to override the way non-critical errors are handled. - -## 2.7.0 (2016-01-04) - -### Fixes - -Stop allowing rest parameters in setters. - -Disallow `y` rexexp flag in ES5. - -Disallow `\00` and `\000` escapes in strict mode. - -Raise an error when an import name is a reserved word. - -## 2.6.2 (2015-11-10) - -### Fixes - -Don't crash when no options object is passed. - -## 2.6.0 (2015-11-09) - -### Fixes - -Add `await` as a reserved word in module sources. - -Disallow `yield` in a parameter default value for a generator. - -Forbid using a comma after a rest pattern in an array destructuring. - -### New features - -Support parsing stdin in command-line tool. - -## 2.5.0 (2015-10-27) - -### Fixes - -Fix tokenizer support in the command-line tool. - -Stop allowing `new.target` outside of functions. - -Remove legacy `guard` and `guardedHandler` properties from try nodes. - -Stop allowing multiple `__proto__` properties on an object literal in strict mode. - -Don't allow rest parameters to be non-identifier patterns. - -Check for duplicate paramter names in arrow functions. diff --git a/node_modules/espree/node_modules/acorn/LICENSE b/node_modules/espree/node_modules/acorn/LICENSE deleted file mode 100644 index cc5272c96..000000000 --- a/node_modules/espree/node_modules/acorn/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (C) 2012-2018 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/espree/node_modules/acorn/README.md b/node_modules/espree/node_modules/acorn/README.md deleted file mode 100644 index 52d2e9b71..000000000 --- a/node_modules/espree/node_modules/acorn/README.md +++ /dev/null @@ -1,269 +0,0 @@ -# Acorn - -A tiny, fast JavaScript parser written in JavaScript. - -## Community - -Acorn is open source software released under an -[MIT license](https://github.com/acornjs/acorn/blob/master/acorn/LICENSE). - -You are welcome to -[report bugs](https://github.com/acornjs/acorn/issues) or create pull -requests on [github](https://github.com/acornjs/acorn). For questions -and discussion, please use the -[Tern discussion forum](https://discuss.ternjs.net). - -## Installation - -The easiest way to install acorn is from [`npm`](https://www.npmjs.com/): - -```sh -npm install acorn -``` - -Alternately, you can download the source and build acorn yourself: - -```sh -git clone https://github.com/acornjs/acorn.git -cd acorn -npm install -``` - -## Interface - -**parse**`(input, options)` is the main interface to the library. The -`input` parameter is a string, `options` can be undefined or an object -setting some of the options listed below. The return value will be an -abstract syntax tree object as specified by the [ESTree -spec](https://github.com/estree/estree). - -```javascript -let acorn = require("acorn"); -console.log(acorn.parse("1 + 1")); -``` - -When encountering a syntax error, the parser will raise a -`SyntaxError` object with a meaningful message. The error object will -have a `pos` property that indicates the string offset at which the -error occurred, and a `loc` object that contains a `{line, column}` -object referring to that same position. - -Options can be provided by passing a second argument, which should be -an object containing any of these fields: - -- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be - either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), 10 (2019) or 11 - (2020, partial support). This influences support for strict mode, - the set of reserved words, and support for new syntax features. - Default is 10. - - **NOTE**: Only 'stage 4' (finalized) ECMAScript features are being - implemented by Acorn. Other proposed new features can be implemented - through plugins. - -- **sourceType**: Indicate the mode the code should be parsed in. Can be - either `"script"` or `"module"`. This influences global strict mode - and parsing of `import` and `export` declarations. - - **NOTE**: If set to `"module"`, then static `import` / `export` syntax - will be valid, even if `ecmaVersion` is less than 6. - -- **onInsertedSemicolon**: If given a callback, that callback will be - called whenever a missing semicolon is inserted by the parser. The - callback will be given the character offset of the point where the - semicolon is inserted as argument, and if `locations` is on, also a - `{line, column}` object representing this position. - -- **onTrailingComma**: Like `onInsertedSemicolon`, but for trailing - commas. - -- **allowReserved**: If `false`, using a reserved word will generate - an error. Defaults to `true` for `ecmaVersion` 3, `false` for higher - versions. When given the value `"never"`, reserved words and - keywords can also not be used as property names (as in Internet - Explorer's old parser). - -- **allowReturnOutsideFunction**: By default, a return statement at - the top level raises an error. Set this to `true` to accept such - code. - -- **allowImportExportEverywhere**: By default, `import` and `export` - declarations can only appear at a program's top level. Setting this - option to `true` allows them anywhere where a statement is allowed. - -- **allowAwaitOutsideFunction**: By default, `await` expressions can - only appear inside `async` functions. Setting this option to - `true` allows to have top-level `await` expressions. They are - still not allowed in non-`async` functions, though. - -- **allowHashBang**: When this is enabled (off by default), if the - code starts with the characters `#!` (as in a shellscript), the - first line will be treated as a comment. - -- **locations**: When `true`, each node has a `loc` object attached - with `start` and `end` subobjects, each of which contains the - one-based line and zero-based column numbers in `{line, column}` - form. Default is `false`. - -- **onToken**: If a function is passed for this option, each found - token will be passed in same format as tokens returned from - `tokenizer().getToken()`. - - If array is passed, each found token is pushed to it. - - Note that you are not allowed to call the parser from the - callback—that will corrupt its internal state. - -- **onComment**: If a function is passed for this option, whenever a - comment is encountered the function will be called with the - following parameters: - - - `block`: `true` if the comment is a block comment, false if it - is a line comment. - - `text`: The content of the comment. - - `start`: Character offset of the start of the comment. - - `end`: Character offset of the end of the comment. - - When the `locations` options is on, the `{line, column}` locations - of the comment’s start and end are passed as two additional - parameters. - - If array is passed for this option, each found comment is pushed - to it as object in Esprima format: - - ```javascript - { - "type": "Line" | "Block", - "value": "comment text", - "start": Number, - "end": Number, - // If `locations` option is on: - "loc": { - "start": {line: Number, column: Number} - "end": {line: Number, column: Number} - }, - // If `ranges` option is on: - "range": [Number, Number] - } - ``` - - Note that you are not allowed to call the parser from the - callback—that will corrupt its internal state. - -- **ranges**: Nodes have their start and end characters offsets - recorded in `start` and `end` properties (directly on the node, - rather than the `loc` object, which holds line/column data. To also - add a - [semi-standardized](https://bugzilla.mozilla.org/show_bug.cgi?id=745678) - `range` property holding a `[start, end]` array with the same - numbers, set the `ranges` option to `true`. - -- **program**: It is possible to parse multiple files into a single - AST by passing the tree produced by parsing the first file as the - `program` option in subsequent parses. This will add the toplevel - forms of the parsed file to the "Program" (top) node of an existing - parse tree. - -- **sourceFile**: When the `locations` option is `true`, you can pass - this option to add a `source` attribute in every node’s `loc` - object. Note that the contents of this option are not examined or - processed in any way; you are free to use whatever format you - choose. - -- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property - will be added (regardless of the `location` option) directly to the - nodes, rather than the `loc` object. - -- **preserveParens**: If this option is `true`, parenthesized expressions - are represented by (non-standard) `ParenthesizedExpression` nodes - that have a single `expression` property containing the expression - inside parentheses. - -**parseExpressionAt**`(input, offset, options)` will parse a single -expression in a string, and return its AST. It will not complain if -there is more of the string left after the expression. - -**tokenizer**`(input, options)` returns an object with a `getToken` -method that can be called repeatedly to get the next token, a `{start, -end, type, value}` object (with added `loc` property when the -`locations` option is enabled and `range` property when the `ranges` -option is enabled). When the token's type is `tokTypes.eof`, you -should stop calling the method, since it will keep returning that same -token forever. - -In ES6 environment, returned result can be used as any other -protocol-compliant iterable: - -```javascript -for (let token of acorn.tokenizer(str)) { - // iterate over the tokens -} - -// transform code to array of tokens: -var tokens = [...acorn.tokenizer(str)]; -``` - -**tokTypes** holds an object mapping names to the token type objects -that end up in the `type` properties of tokens. - -**getLineInfo**`(input, offset)` can be used to get a `{line, -column}` object for a given program string and offset. - -### The `Parser` class - -Instances of the **`Parser`** class contain all the state and logic -that drives a parse. It has static methods `parse`, -`parseExpressionAt`, and `tokenizer` that match the top-level -functions by the same name. - -When extending the parser with plugins, you need to call these methods -on the extended version of the class. To extend a parser with plugins, -you can use its static `extend` method. - -```javascript -var acorn = require("acorn"); -var jsx = require("acorn-jsx"); -var JSXParser = acorn.Parser.extend(jsx()); -JSXParser.parse("foo()"); -``` - -The `extend` method takes any number of plugin values, and returns a -new `Parser` class that includes the extra parser logic provided by -the plugins. - -## Command line interface - -The `bin/acorn` utility can be used to parse a file from the command -line. It accepts as arguments its input file and the following -options: - -- `--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|--ecma10`: Sets the ECMAScript version - to parse. Default is version 9. - -- `--module`: Sets the parsing mode to `"module"`. Is set to `"script"` otherwise. - -- `--locations`: Attaches a "loc" object to each node with "start" and - "end" subobjects, each of which contains the one-based line and - zero-based column numbers in `{line, column}` form. - -- `--allow-hash-bang`: If the code starts with the characters #! (as - in a shellscript), the first line will be treated as a comment. - -- `--compact`: No whitespace is used in the AST output. - -- `--silent`: Do not output the AST, just return the exit status. - -- `--help`: Print the usage information and quit. - -The utility spits out the syntax tree as JSON data. - -## Existing plugins - - - [`acorn-jsx`](https://github.com/RReverser/acorn-jsx): Parse [Facebook JSX syntax extensions](https://github.com/facebook/jsx) - -Plugins for ECMAScript proposals: - - - [`acorn-stage3`](https://github.com/acornjs/acorn-stage3): Parse most stage 3 proposals, bundling: - - [`acorn-class-fields`](https://github.com/acornjs/acorn-class-fields): Parse [class fields proposal](https://github.com/tc39/proposal-class-fields) - - [`acorn-import-meta`](https://github.com/acornjs/acorn-import-meta): Parse [import.meta proposal](https://github.com/tc39/proposal-import-meta) - - [`acorn-private-methods`](https://github.com/acornjs/acorn-private-methods): parse [private methods, getters and setters proposal](https://github.com/tc39/proposal-private-methods)n diff --git a/node_modules/espree/node_modules/acorn/bin/acorn b/node_modules/espree/node_modules/acorn/bin/acorn deleted file mode 100755 index cf7df4689..000000000 --- a/node_modules/espree/node_modules/acorn/bin/acorn +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -require('../dist/bin.js'); diff --git a/node_modules/espree/node_modules/acorn/dist/acorn.d.ts b/node_modules/espree/node_modules/acorn/dist/acorn.d.ts deleted file mode 100644 index bda5f803c..000000000 --- a/node_modules/espree/node_modules/acorn/dist/acorn.d.ts +++ /dev/null @@ -1,209 +0,0 @@ -export as namespace acorn -export = acorn - -declare namespace acorn { - function parse(input: string, options?: Options): Node - - function parseExpressionAt(input: string, pos?: number, options?: Options): Node - - function tokenizer(input: string, options?: Options): { - getToken(): Token - [Symbol.iterator](): Iterator - } - - interface Options { - ecmaVersion?: 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 - sourceType?: 'script' | 'module' - onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void - onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void - allowReserved?: boolean | 'never' - allowReturnOutsideFunction?: boolean - allowImportExportEverywhere?: boolean - allowAwaitOutsideFunction?: boolean - allowHashBang?: boolean - locations?: boolean - onToken?: ((token: Token) => any) | Token[] - onComment?: (( - isBlock: boolean, text: string, start: number, end: number, startLoc?: Position, - endLoc?: Position - ) => void) | Comment[] - ranges?: boolean - program?: Node - sourceFile?: string - directSourceFile?: string - preserveParens?: boolean - } - - class Parser { - constructor(options: Options, input: string, startPos?: number) - parse(this: Parser): Node - static parse(this: typeof Parser, input: string, options?: Options): Node - static parseExpressionAt(this: typeof Parser, input: string, pos: number, options?: Options): Node - static tokenizer(this: typeof Parser, input: string, options?: Options): { - getToken(): Token - [Symbol.iterator](): Iterator - } - static extend(this: typeof Parser, ...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]): typeof Parser - } - - interface Position { line: number; column: number; offset: number } - - const defaultOptions: Options - - function getLineInfo(input: string, offset: number): Position - - class SourceLocation { - start: Position - end: Position - source?: string | null - constructor(p: Parser, start: Position, end: Position) - } - - class Node { - type: string - start: number - end: number - loc?: SourceLocation - sourceFile?: string - range?: [number, number] - constructor(parser: Parser, pos: number, loc?: SourceLocation) - } - - class TokenType { - label: string - keyword: string - beforeExpr: boolean - startsExpr: boolean - isLoop: boolean - isAssign: boolean - prefix: boolean - postfix: boolean - binop: number - updateContext?: (prevType: TokenType) => void - constructor(label: string, conf?: any) - } - - const tokTypes: { - num: TokenType - regexp: TokenType - string: TokenType - name: TokenType - eof: TokenType - bracketL: TokenType - bracketR: TokenType - braceL: TokenType - braceR: TokenType - parenL: TokenType - parenR: TokenType - comma: TokenType - semi: TokenType - colon: TokenType - dot: TokenType - question: TokenType - arrow: TokenType - template: TokenType - ellipsis: TokenType - backQuote: TokenType - dollarBraceL: TokenType - eq: TokenType - assign: TokenType - incDec: TokenType - prefix: TokenType - logicalOR: TokenType - logicalAND: TokenType - bitwiseOR: TokenType - bitwiseXOR: TokenType - bitwiseAND: TokenType - equality: TokenType - relational: TokenType - bitShift: TokenType - plusMin: TokenType - modulo: TokenType - star: TokenType - slash: TokenType - starstar: TokenType - _break: TokenType - _case: TokenType - _catch: TokenType - _continue: TokenType - _debugger: TokenType - _default: TokenType - _do: TokenType - _else: TokenType - _finally: TokenType - _for: TokenType - _function: TokenType - _if: TokenType - _return: TokenType - _switch: TokenType - _throw: TokenType - _try: TokenType - _var: TokenType - _const: TokenType - _while: TokenType - _with: TokenType - _new: TokenType - _this: TokenType - _super: TokenType - _class: TokenType - _extends: TokenType - _export: TokenType - _import: TokenType - _null: TokenType - _true: TokenType - _false: TokenType - _in: TokenType - _instanceof: TokenType - _typeof: TokenType - _void: TokenType - _delete: TokenType - } - - class TokContext { - constructor(token: string, isExpr: boolean, preserveSpace: boolean, override?: (p: Parser) => void) - } - - const tokContexts: { - b_stat: TokContext - b_expr: TokContext - b_tmpl: TokContext - p_stat: TokContext - p_expr: TokContext - q_tmpl: TokContext - f_expr: TokContext - } - - function isIdentifierStart(code: number, astral?: boolean): boolean - - function isIdentifierChar(code: number, astral?: boolean): boolean - - interface AbstractToken { - } - - interface Comment extends AbstractToken { - type: string - value: string - start: number - end: number - loc?: SourceLocation - range?: [number, number] - } - - class Token { - type: TokenType - value: any - start: number - end: number - loc?: SourceLocation - range?: [number, number] - constructor(p: Parser) - } - - function isNewLine(code: number): boolean - - const lineBreak: RegExp - - const lineBreakG: RegExp - - const version: string -} diff --git a/node_modules/espree/node_modules/acorn/dist/acorn.js b/node_modules/espree/node_modules/acorn/dist/acorn.js deleted file mode 100644 index 798c66795..000000000 --- a/node_modules/espree/node_modules/acorn/dist/acorn.js +++ /dev/null @@ -1,5186 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.acorn = {})); -}(this, (function (exports) { 'use strict'; - - // Reserved word lists for various dialects of the language - - var reservedWords = { - 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", - 5: "class enum extends super const export import", - 6: "enum", - strict: "implements interface let package private protected public static yield", - strictBind: "eval arguments" - }; - - // And the keywords - - var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"; - - var keywords = { - 5: ecma5AndLessKeywords, - "5module": ecma5AndLessKeywords + " export import", - 6: ecma5AndLessKeywords + " const class extends export import super" - }; - - var keywordRelationalOperator = /^in(stanceof)?$/; - - // ## Character categories - - // Big ugly regular expressions that match characters in the - // whitespace, identifier, and identifier-start categories. These - // are only applied when a character is found to actually have a - // code point above 128. - // Generated by `bin/generate-identifier-regex.js`. - var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; - var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; - - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; - - // These are a run-length and offset encoded representation of the - // >0xffff code points that are a valid part of identifiers. The - // offset starts at 0x10000, and each pair of numbers represents an - // offset to the next range, and then a size of the range. They were - // generated by bin/generate-identifier-regex.js - - // eslint-disable-next-line comma-spacing - var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938]; - - // eslint-disable-next-line comma-spacing - var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239]; - - // This has a complexity linear to the value of the code. The - // assumption is that looking up astral identifier characters is - // rare. - function isInAstralSet(code, set) { - var pos = 0x10000; - for (var i = 0; i < set.length; i += 2) { - pos += set[i]; - if (pos > code) { return false } - pos += set[i + 1]; - if (pos >= code) { return true } - } - } - - // Test whether a given character code starts an identifier. - - function isIdentifierStart(code, astral) { - if (code < 65) { return code === 36 } - if (code < 91) { return true } - if (code < 97) { return code === 95 } - if (code < 123) { return true } - if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) } - if (astral === false) { return false } - return isInAstralSet(code, astralIdentifierStartCodes) - } - - // Test whether a given character is part of an identifier. - - function isIdentifierChar(code, astral) { - if (code < 48) { return code === 36 } - if (code < 58) { return true } - if (code < 65) { return false } - if (code < 91) { return true } - if (code < 97) { return code === 95 } - if (code < 123) { return true } - if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) } - if (astral === false) { return false } - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes) - } - - // ## Token types - - // The assignment of fine-grained, information-carrying type objects - // allows the tokenizer to store the information it has about a - // token in a way that is very cheap for the parser to look up. - - // All token type variables start with an underscore, to make them - // easy to recognize. - - // The `beforeExpr` property is used to disambiguate between regular - // expressions and divisions. It is set on all token types that can - // be followed by an expression (thus, a slash after them would be a - // regular expression). - // - // The `startsExpr` property is used to check if the token ends a - // `yield` expression. It is set on all token types that either can - // directly start an expression (like a quotation mark) or can - // continue an expression (like the body of a string). - // - // `isLoop` marks a keyword as starting a loop, which is important - // to know when parsing a label, in order to allow or disallow - // continue jumps to that label. - - var TokenType = function TokenType(label, conf) { - if ( conf === void 0 ) conf = {}; - - this.label = label; - this.keyword = conf.keyword; - this.beforeExpr = !!conf.beforeExpr; - this.startsExpr = !!conf.startsExpr; - this.isLoop = !!conf.isLoop; - this.isAssign = !!conf.isAssign; - this.prefix = !!conf.prefix; - this.postfix = !!conf.postfix; - this.binop = conf.binop || null; - this.updateContext = null; - }; - - function binop(name, prec) { - return new TokenType(name, {beforeExpr: true, binop: prec}) - } - var beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true}; - - // Map keyword names to token types. - - var keywords$1 = {}; - - // Succinct definitions of keyword token types - function kw(name, options) { - if ( options === void 0 ) options = {}; - - options.keyword = name; - return keywords$1[name] = new TokenType(name, options) - } - - var types = { - num: new TokenType("num", startsExpr), - regexp: new TokenType("regexp", startsExpr), - string: new TokenType("string", startsExpr), - name: new TokenType("name", startsExpr), - eof: new TokenType("eof"), - - // Punctuation token types. - bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}), - bracketR: new TokenType("]"), - braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}), - braceR: new TokenType("}"), - parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}), - parenR: new TokenType(")"), - comma: new TokenType(",", beforeExpr), - semi: new TokenType(";", beforeExpr), - colon: new TokenType(":", beforeExpr), - dot: new TokenType("."), - question: new TokenType("?", beforeExpr), - questionDot: new TokenType("?."), - arrow: new TokenType("=>", beforeExpr), - template: new TokenType("template"), - invalidTemplate: new TokenType("invalidTemplate"), - ellipsis: new TokenType("...", beforeExpr), - backQuote: new TokenType("`", startsExpr), - dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}), - - // Operators. These carry several kinds of properties to help the - // parser use them properly (the presence of these properties is - // what categorizes them as operators). - // - // `binop`, when present, specifies that this operator is a binary - // operator, and will refer to its precedence. - // - // `prefix` and `postfix` mark the operator as a prefix or postfix - // unary operator. - // - // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as - // binary operators with a very low precedence, that should result - // in AssignmentExpression nodes. - - eq: new TokenType("=", {beforeExpr: true, isAssign: true}), - assign: new TokenType("_=", {beforeExpr: true, isAssign: true}), - incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}), - prefix: new TokenType("!/~", {beforeExpr: true, prefix: true, startsExpr: true}), - logicalOR: binop("||", 1), - logicalAND: binop("&&", 2), - bitwiseOR: binop("|", 3), - bitwiseXOR: binop("^", 4), - bitwiseAND: binop("&", 5), - equality: binop("==/!=/===/!==", 6), - relational: binop("/<=/>=", 7), - bitShift: binop("<>/>>>", 8), - plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}), - modulo: binop("%", 10), - star: binop("*", 10), - slash: binop("/", 10), - starstar: new TokenType("**", {beforeExpr: true}), - coalesce: binop("??", 1), - - // Keyword token types. - _break: kw("break"), - _case: kw("case", beforeExpr), - _catch: kw("catch"), - _continue: kw("continue"), - _debugger: kw("debugger"), - _default: kw("default", beforeExpr), - _do: kw("do", {isLoop: true, beforeExpr: true}), - _else: kw("else", beforeExpr), - _finally: kw("finally"), - _for: kw("for", {isLoop: true}), - _function: kw("function", startsExpr), - _if: kw("if"), - _return: kw("return", beforeExpr), - _switch: kw("switch"), - _throw: kw("throw", beforeExpr), - _try: kw("try"), - _var: kw("var"), - _const: kw("const"), - _while: kw("while", {isLoop: true}), - _with: kw("with"), - _new: kw("new", {beforeExpr: true, startsExpr: true}), - _this: kw("this", startsExpr), - _super: kw("super", startsExpr), - _class: kw("class", startsExpr), - _extends: kw("extends", beforeExpr), - _export: kw("export"), - _import: kw("import", startsExpr), - _null: kw("null", startsExpr), - _true: kw("true", startsExpr), - _false: kw("false", startsExpr), - _in: kw("in", {beforeExpr: true, binop: 7}), - _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}), - _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}), - _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}), - _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true}) - }; - - // Matches a whole line break (where CRLF is considered a single - // line break). Used to count lines. - - var lineBreak = /\r\n?|\n|\u2028|\u2029/; - var lineBreakG = new RegExp(lineBreak.source, "g"); - - function isNewLine(code, ecma2019String) { - return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029)) - } - - var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/; - - var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; - - var ref = Object.prototype; - var hasOwnProperty = ref.hasOwnProperty; - var toString = ref.toString; - - // Checks if an object has a property. - - function has(obj, propName) { - return hasOwnProperty.call(obj, propName) - } - - var isArray = Array.isArray || (function (obj) { return ( - toString.call(obj) === "[object Array]" - ); }); - - function wordsRegexp(words) { - return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$") - } - - // These are used when `options.locations` is on, for the - // `startLoc` and `endLoc` properties. - - var Position = function Position(line, col) { - this.line = line; - this.column = col; - }; - - Position.prototype.offset = function offset (n) { - return new Position(this.line, this.column + n) - }; - - var SourceLocation = function SourceLocation(p, start, end) { - this.start = start; - this.end = end; - if (p.sourceFile !== null) { this.source = p.sourceFile; } - }; - - // The `getLineInfo` function is mostly useful when the - // `locations` option is off (for performance reasons) and you - // want to find the line/column position for a given character - // offset. `input` should be the code string that the offset refers - // into. - - function getLineInfo(input, offset) { - for (var line = 1, cur = 0;;) { - lineBreakG.lastIndex = cur; - var match = lineBreakG.exec(input); - if (match && match.index < offset) { - ++line; - cur = match.index + match[0].length; - } else { - return new Position(line, offset - cur) - } - } - } - - // A second optional argument can be given to further configure - // the parser process. These options are recognized: - - var defaultOptions = { - // `ecmaVersion` indicates the ECMAScript version to parse. Must be - // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10 - // (2019). This influences support for strict mode, the set of - // reserved words, and support for new syntax features. The default - // is 10. - ecmaVersion: 10, - // `sourceType` indicates the mode the code should be parsed in. - // Can be either `"script"` or `"module"`. This influences global - // strict mode and parsing of `import` and `export` declarations. - sourceType: "script", - // `onInsertedSemicolon` can be a callback that will be called - // when a semicolon is automatically inserted. It will be passed - // the position of the comma as an offset, and if `locations` is - // enabled, it is given the location as a `{line, column}` object - // as second argument. - onInsertedSemicolon: null, - // `onTrailingComma` is similar to `onInsertedSemicolon`, but for - // trailing commas. - onTrailingComma: null, - // By default, reserved words are only enforced if ecmaVersion >= 5. - // Set `allowReserved` to a boolean value to explicitly turn this on - // an off. When this option has the value "never", reserved words - // and keywords can also not be used as property names. - allowReserved: null, - // When enabled, a return at the top level is not considered an - // error. - allowReturnOutsideFunction: false, - // When enabled, import/export statements are not constrained to - // appearing at the top of the program. - allowImportExportEverywhere: false, - // When enabled, await identifiers are allowed to appear at the top-level scope, - // but they are still not allowed in non-async functions. - allowAwaitOutsideFunction: false, - // When enabled, hashbang directive in the beginning of file - // is allowed and treated as a line comment. - allowHashBang: false, - // When `locations` is on, `loc` properties holding objects with - // `start` and `end` properties in `{line, column}` form (with - // line being 1-based and column 0-based) will be attached to the - // nodes. - locations: false, - // A function can be passed as `onToken` option, which will - // cause Acorn to call that function with object in the same - // format as tokens returned from `tokenizer().getToken()`. Note - // that you are not allowed to call the parser from the - // callback—that will corrupt its internal state. - onToken: null, - // A function can be passed as `onComment` option, which will - // cause Acorn to call that function with `(block, text, start, - // end)` parameters whenever a comment is skipped. `block` is a - // boolean indicating whether this is a block (`/* */`) comment, - // `text` is the content of the comment, and `start` and `end` are - // character offsets that denote the start and end of the comment. - // When the `locations` option is on, two more parameters are - // passed, the full `{line, column}` locations of the start and - // end of the comments. Note that you are not allowed to call the - // parser from the callback—that will corrupt its internal state. - onComment: null, - // Nodes have their start and end characters offsets recorded in - // `start` and `end` properties (directly on the node, rather than - // the `loc` object, which holds line/column data. To also add a - // [semi-standardized][range] `range` property holding a `[start, - // end]` array with the same numbers, set the `ranges` option to - // `true`. - // - // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678 - ranges: false, - // It is possible to parse multiple files into a single AST by - // passing the tree produced by parsing the first file as - // `program` option in subsequent parses. This will add the - // toplevel forms of the parsed file to the `Program` (top) node - // of an existing parse tree. - program: null, - // When `locations` is on, you can pass this to record the source - // file in every node's `loc` object. - sourceFile: null, - // This value, if given, is stored in every node, whether - // `locations` is on or off. - directSourceFile: null, - // When enabled, parenthesized expressions are represented by - // (non-standard) ParenthesizedExpression nodes - preserveParens: false - }; - - // Interpret and default an options object - - function getOptions(opts) { - var options = {}; - - for (var opt in defaultOptions) - { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; } - - if (options.ecmaVersion >= 2015) - { options.ecmaVersion -= 2009; } - - if (options.allowReserved == null) - { options.allowReserved = options.ecmaVersion < 5; } - - if (isArray(options.onToken)) { - var tokens = options.onToken; - options.onToken = function (token) { return tokens.push(token); }; - } - if (isArray(options.onComment)) - { options.onComment = pushComment(options, options.onComment); } - - return options - } - - function pushComment(options, array) { - return function(block, text, start, end, startLoc, endLoc) { - var comment = { - type: block ? "Block" : "Line", - value: text, - start: start, - end: end - }; - if (options.locations) - { comment.loc = new SourceLocation(this, startLoc, endLoc); } - if (options.ranges) - { comment.range = [start, end]; } - array.push(comment); - } - } - - // Each scope gets a bitset that may contain these flags - var - SCOPE_TOP = 1, - SCOPE_FUNCTION = 2, - SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION, - SCOPE_ASYNC = 4, - SCOPE_GENERATOR = 8, - SCOPE_ARROW = 16, - SCOPE_SIMPLE_CATCH = 32, - SCOPE_SUPER = 64, - SCOPE_DIRECT_SUPER = 128; - - function functionFlags(async, generator) { - return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0) - } - - // Used in checkLVal and declareName to determine the type of a binding - var - BIND_NONE = 0, // Not a binding - BIND_VAR = 1, // Var-style binding - BIND_LEXICAL = 2, // Let- or const-style binding - BIND_FUNCTION = 3, // Function declaration - BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding - BIND_OUTSIDE = 5; // Special case for function names as bound inside the function - - var Parser = function Parser(options, input, startPos) { - this.options = options = getOptions(options); - this.sourceFile = options.sourceFile; - this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]); - var reserved = ""; - if (options.allowReserved !== true) { - for (var v = options.ecmaVersion;; v--) - { if (reserved = reservedWords[v]) { break } } - if (options.sourceType === "module") { reserved += " await"; } - } - this.reservedWords = wordsRegexp(reserved); - var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict; - this.reservedWordsStrict = wordsRegexp(reservedStrict); - this.reservedWordsStrictBind = wordsRegexp(reservedStrict + " " + reservedWords.strictBind); - this.input = String(input); - - // Used to signal to callers of `readWord1` whether the word - // contained any escape sequences. This is needed because words with - // escape sequences must not be interpreted as keywords. - this.containsEsc = false; - - // Set up token state - - // The current position of the tokenizer in the input. - if (startPos) { - this.pos = startPos; - this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1; - this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; - } else { - this.pos = this.lineStart = 0; - this.curLine = 1; - } - - // Properties of the current token: - // Its type - this.type = types.eof; - // For tokens that include more information than their type, the value - this.value = null; - // Its start and end offset - this.start = this.end = this.pos; - // And, if locations are used, the {line, column} object - // corresponding to those offsets - this.startLoc = this.endLoc = this.curPosition(); - - // Position information for the previous token - this.lastTokEndLoc = this.lastTokStartLoc = null; - this.lastTokStart = this.lastTokEnd = this.pos; - - // The context stack is used to superficially track syntactic - // context to predict whether a regular expression is allowed in a - // given position. - this.context = this.initialContext(); - this.exprAllowed = true; - - // Figure out if it's a module code. - this.inModule = options.sourceType === "module"; - this.strict = this.inModule || this.strictDirective(this.pos); - - // Used to signify the start of a potential arrow function - this.potentialArrowAt = -1; - - // Positions to delayed-check that yield/await does not exist in default parameters. - this.yieldPos = this.awaitPos = this.awaitIdentPos = 0; - // Labels in scope. - this.labels = []; - // Thus-far undefined exports. - this.undefinedExports = {}; - - // If enabled, skip leading hashbang line. - if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!") - { this.skipLineComment(2); } - - // Scope tracking for duplicate variable names (see scope.js) - this.scopeStack = []; - this.enterScope(SCOPE_TOP); - - // For RegExp validation - this.regexpState = null; - }; - - var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } }; - - Parser.prototype.parse = function parse () { - var node = this.options.program || this.startNode(); - this.nextToken(); - return this.parseTopLevel(node) - }; - - prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 }; - prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 }; - prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 }; - prototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 }; - prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 }; - prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) }; - - // Switch to a getter for 7.0.0. - Parser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 }; - - Parser.extend = function extend () { - var plugins = [], len = arguments.length; - while ( len-- ) plugins[ len ] = arguments[ len ]; - - var cls = this; - for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); } - return cls - }; - - Parser.parse = function parse (input, options) { - return new this(options, input).parse() - }; - - Parser.parseExpressionAt = function parseExpressionAt (input, pos, options) { - var parser = new this(options, input, pos); - parser.nextToken(); - return parser.parseExpression() - }; - - Parser.tokenizer = function tokenizer (input, options) { - return new this(options, input) - }; - - Object.defineProperties( Parser.prototype, prototypeAccessors ); - - var pp = Parser.prototype; - - // ## Parser utilities - - var literal = /^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)")/; - pp.strictDirective = function(start) { - for (;;) { - // Try to find string literal. - skipWhiteSpace.lastIndex = start; - start += skipWhiteSpace.exec(this.input)[0].length; - var match = literal.exec(this.input.slice(start)); - if (!match) { return false } - if ((match[1] || match[2]) === "use strict") { - skipWhiteSpace.lastIndex = start + match[0].length; - var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length; - var next = this.input.charAt(end); - return next === ";" || next === "}" || - (lineBreak.test(spaceAfter[0]) && - !(/[(`.[+\-/*%<>=,?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "=")) - } - start += match[0].length; - - // Skip semicolon, if any. - skipWhiteSpace.lastIndex = start; - start += skipWhiteSpace.exec(this.input)[0].length; - if (this.input[start] === ";") - { start++; } - } - }; - - // Predicate that tests whether the next token is of the given - // type, and if yes, consumes it as a side effect. - - pp.eat = function(type) { - if (this.type === type) { - this.next(); - return true - } else { - return false - } - }; - - // Tests whether parsed token is a contextual keyword. - - pp.isContextual = function(name) { - return this.type === types.name && this.value === name && !this.containsEsc - }; - - // Consumes contextual keyword if possible. - - pp.eatContextual = function(name) { - if (!this.isContextual(name)) { return false } - this.next(); - return true - }; - - // Asserts that following token is given contextual keyword. - - pp.expectContextual = function(name) { - if (!this.eatContextual(name)) { this.unexpected(); } - }; - - // Test whether a semicolon can be inserted at the current position. - - pp.canInsertSemicolon = function() { - return this.type === types.eof || - this.type === types.braceR || - lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) - }; - - pp.insertSemicolon = function() { - if (this.canInsertSemicolon()) { - if (this.options.onInsertedSemicolon) - { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); } - return true - } - }; - - // Consume a semicolon, or, failing that, see if we are allowed to - // pretend that there is a semicolon at this position. - - pp.semicolon = function() { - if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); } - }; - - pp.afterTrailingComma = function(tokType, notNext) { - if (this.type === tokType) { - if (this.options.onTrailingComma) - { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); } - if (!notNext) - { this.next(); } - return true - } - }; - - // Expect a token of a given type. If found, consume it, otherwise, - // raise an unexpected token error. - - pp.expect = function(type) { - this.eat(type) || this.unexpected(); - }; - - // Raise an unexpected token error. - - pp.unexpected = function(pos) { - this.raise(pos != null ? pos : this.start, "Unexpected token"); - }; - - function DestructuringErrors() { - this.shorthandAssign = - this.trailingComma = - this.parenthesizedAssign = - this.parenthesizedBind = - this.doubleProto = - -1; - } - - pp.checkPatternErrors = function(refDestructuringErrors, isAssign) { - if (!refDestructuringErrors) { return } - if (refDestructuringErrors.trailingComma > -1) - { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); } - var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind; - if (parens > -1) { this.raiseRecoverable(parens, "Parenthesized pattern"); } - }; - - pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) { - if (!refDestructuringErrors) { return false } - var shorthandAssign = refDestructuringErrors.shorthandAssign; - var doubleProto = refDestructuringErrors.doubleProto; - if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 } - if (shorthandAssign >= 0) - { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); } - if (doubleProto >= 0) - { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); } - }; - - pp.checkYieldAwaitInDefaultParams = function() { - if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos)) - { this.raise(this.yieldPos, "Yield expression cannot be a default value"); } - if (this.awaitPos) - { this.raise(this.awaitPos, "Await expression cannot be a default value"); } - }; - - pp.isSimpleAssignTarget = function(expr) { - if (expr.type === "ParenthesizedExpression") - { return this.isSimpleAssignTarget(expr.expression) } - return expr.type === "Identifier" || expr.type === "MemberExpression" - }; - - var pp$1 = Parser.prototype; - - // ### Statement parsing - - // Parse a program. Initializes the parser, reads any number of - // statements, and wraps them in a Program node. Optionally takes a - // `program` argument. If present, the statements will be appended - // to its body instead of creating a new node. - - pp$1.parseTopLevel = function(node) { - var exports = {}; - if (!node.body) { node.body = []; } - while (this.type !== types.eof) { - var stmt = this.parseStatement(null, true, exports); - node.body.push(stmt); - } - if (this.inModule) - { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1) - { - var name = list[i]; - - this.raiseRecoverable(this.undefinedExports[name].start, ("Export '" + name + "' is not defined")); - } } - this.adaptDirectivePrologue(node.body); - this.next(); - node.sourceType = this.options.sourceType; - return this.finishNode(node, "Program") - }; - - var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}; - - pp$1.isLet = function(context) { - if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false } - skipWhiteSpace.lastIndex = this.pos; - var skip = skipWhiteSpace.exec(this.input); - var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); - // For ambiguous cases, determine if a LexicalDeclaration (or only a - // Statement) is allowed here. If context is not empty then only a Statement - // is allowed. However, `let [` is an explicit negative lookahead for - // ExpressionStatement, so special-case it first. - if (nextCh === 91) { return true } // '[' - if (context) { return false } - - if (nextCh === 123) { return true } // '{' - if (isIdentifierStart(nextCh, true)) { - var pos = next + 1; - while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; } - var ident = this.input.slice(next, pos); - if (!keywordRelationalOperator.test(ident)) { return true } - } - return false - }; - - // check 'async [no LineTerminator here] function' - // - 'async /*foo*/ function' is OK. - // - 'async /*\n*/ function' is invalid. - pp$1.isAsyncFunction = function() { - if (this.options.ecmaVersion < 8 || !this.isContextual("async")) - { return false } - - skipWhiteSpace.lastIndex = this.pos; - var skip = skipWhiteSpace.exec(this.input); - var next = this.pos + skip[0].length; - return !lineBreak.test(this.input.slice(this.pos, next)) && - this.input.slice(next, next + 8) === "function" && - (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8))) - }; - - // Parse a single statement. - // - // If expecting a statement and finding a slash operator, parse a - // regular expression literal. This is to handle cases like - // `if (foo) /blah/.exec(foo)`, where looking at the previous token - // does not help. - - pp$1.parseStatement = function(context, topLevel, exports) { - var starttype = this.type, node = this.startNode(), kind; - - if (this.isLet(context)) { - starttype = types._var; - kind = "let"; - } - - // Most types of statements are recognized by the keyword they - // start with. Many are trivial to parse, some require a bit of - // complexity. - - switch (starttype) { - case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword) - case types._debugger: return this.parseDebuggerStatement(node) - case types._do: return this.parseDoStatement(node) - case types._for: return this.parseForStatement(node) - case types._function: - // Function as sole body of either an if statement or a labeled statement - // works, but not when it is part of a labeled statement that is the sole - // body of an if statement. - if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); } - return this.parseFunctionStatement(node, false, !context) - case types._class: - if (context) { this.unexpected(); } - return this.parseClass(node, true) - case types._if: return this.parseIfStatement(node) - case types._return: return this.parseReturnStatement(node) - case types._switch: return this.parseSwitchStatement(node) - case types._throw: return this.parseThrowStatement(node) - case types._try: return this.parseTryStatement(node) - case types._const: case types._var: - kind = kind || this.value; - if (context && kind !== "var") { this.unexpected(); } - return this.parseVarStatement(node, kind) - case types._while: return this.parseWhileStatement(node) - case types._with: return this.parseWithStatement(node) - case types.braceL: return this.parseBlock(true, node) - case types.semi: return this.parseEmptyStatement(node) - case types._export: - case types._import: - if (this.options.ecmaVersion > 10 && starttype === types._import) { - skipWhiteSpace.lastIndex = this.pos; - var skip = skipWhiteSpace.exec(this.input); - var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); - if (nextCh === 40 || nextCh === 46) // '(' or '.' - { return this.parseExpressionStatement(node, this.parseExpression()) } - } - - if (!this.options.allowImportExportEverywhere) { - if (!topLevel) - { this.raise(this.start, "'import' and 'export' may only appear at the top level"); } - if (!this.inModule) - { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); } - } - return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports) - - // If the statement does not start with a statement keyword or a - // brace, it's an ExpressionStatement or LabeledStatement. We - // simply start parsing an expression, and afterwards, if the - // next token is a colon and the expression was a simple - // Identifier node, we switch to interpreting it as a label. - default: - if (this.isAsyncFunction()) { - if (context) { this.unexpected(); } - this.next(); - return this.parseFunctionStatement(node, true, !context) - } - - var maybeName = this.value, expr = this.parseExpression(); - if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon)) - { return this.parseLabeledStatement(node, maybeName, expr, context) } - else { return this.parseExpressionStatement(node, expr) } - } - }; - - pp$1.parseBreakContinueStatement = function(node, keyword) { - var isBreak = keyword === "break"; - this.next(); - if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; } - else if (this.type !== types.name) { this.unexpected(); } - else { - node.label = this.parseIdent(); - this.semicolon(); - } - - // Verify that there is an actual destination to break or - // continue to. - var i = 0; - for (; i < this.labels.length; ++i) { - var lab = this.labels[i]; - if (node.label == null || lab.name === node.label.name) { - if (lab.kind != null && (isBreak || lab.kind === "loop")) { break } - if (node.label && isBreak) { break } - } - } - if (i === this.labels.length) { this.raise(node.start, "Unsyntactic " + keyword); } - return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement") - }; - - pp$1.parseDebuggerStatement = function(node) { - this.next(); - this.semicolon(); - return this.finishNode(node, "DebuggerStatement") - }; - - pp$1.parseDoStatement = function(node) { - this.next(); - this.labels.push(loopLabel); - node.body = this.parseStatement("do"); - this.labels.pop(); - this.expect(types._while); - node.test = this.parseParenExpression(); - if (this.options.ecmaVersion >= 6) - { this.eat(types.semi); } - else - { this.semicolon(); } - return this.finishNode(node, "DoWhileStatement") - }; - - // Disambiguating between a `for` and a `for`/`in` or `for`/`of` - // loop is non-trivial. Basically, we have to parse the init `var` - // statement or expression, disallowing the `in` operator (see - // the second parameter to `parseExpression`), and then check - // whether the next token is `in` or `of`. When there is no init - // part (semicolon immediately after the opening parenthesis), it - // is a regular `for` loop. - - pp$1.parseForStatement = function(node) { - this.next(); - var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual("await")) ? this.lastTokStart : -1; - this.labels.push(loopLabel); - this.enterScope(0); - this.expect(types.parenL); - if (this.type === types.semi) { - if (awaitAt > -1) { this.unexpected(awaitAt); } - return this.parseFor(node, null) - } - var isLet = this.isLet(); - if (this.type === types._var || this.type === types._const || isLet) { - var init$1 = this.startNode(), kind = isLet ? "let" : this.value; - this.next(); - this.parseVar(init$1, true, kind); - this.finishNode(init$1, "VariableDeclaration"); - if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) { - if (this.options.ecmaVersion >= 9) { - if (this.type === types._in) { - if (awaitAt > -1) { this.unexpected(awaitAt); } - } else { node.await = awaitAt > -1; } - } - return this.parseForIn(node, init$1) - } - if (awaitAt > -1) { this.unexpected(awaitAt); } - return this.parseFor(node, init$1) - } - var refDestructuringErrors = new DestructuringErrors; - var init = this.parseExpression(true, refDestructuringErrors); - if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) { - if (this.options.ecmaVersion >= 9) { - if (this.type === types._in) { - if (awaitAt > -1) { this.unexpected(awaitAt); } - } else { node.await = awaitAt > -1; } - } - this.toAssignable(init, false, refDestructuringErrors); - this.checkLVal(init); - return this.parseForIn(node, init) - } else { - this.checkExpressionErrors(refDestructuringErrors, true); - } - if (awaitAt > -1) { this.unexpected(awaitAt); } - return this.parseFor(node, init) - }; - - pp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) { - this.next(); - return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync) - }; - - pp$1.parseIfStatement = function(node) { - this.next(); - node.test = this.parseParenExpression(); - // allow function declarations in branches, but only in non-strict mode - node.consequent = this.parseStatement("if"); - node.alternate = this.eat(types._else) ? this.parseStatement("if") : null; - return this.finishNode(node, "IfStatement") - }; - - pp$1.parseReturnStatement = function(node) { - if (!this.inFunction && !this.options.allowReturnOutsideFunction) - { this.raise(this.start, "'return' outside of function"); } - this.next(); - - // In `return` (and `break`/`continue`), the keywords with - // optional arguments, we eagerly look for a semicolon or the - // possibility to insert one. - - if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; } - else { node.argument = this.parseExpression(); this.semicolon(); } - return this.finishNode(node, "ReturnStatement") - }; - - pp$1.parseSwitchStatement = function(node) { - this.next(); - node.discriminant = this.parseParenExpression(); - node.cases = []; - this.expect(types.braceL); - this.labels.push(switchLabel); - this.enterScope(0); - - // Statements under must be grouped (by label) in SwitchCase - // nodes. `cur` is used to keep the node that we are currently - // adding statements to. - - var cur; - for (var sawDefault = false; this.type !== types.braceR;) { - if (this.type === types._case || this.type === types._default) { - var isCase = this.type === types._case; - if (cur) { this.finishNode(cur, "SwitchCase"); } - node.cases.push(cur = this.startNode()); - cur.consequent = []; - this.next(); - if (isCase) { - cur.test = this.parseExpression(); - } else { - if (sawDefault) { this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"); } - sawDefault = true; - cur.test = null; - } - this.expect(types.colon); - } else { - if (!cur) { this.unexpected(); } - cur.consequent.push(this.parseStatement(null)); - } - } - this.exitScope(); - if (cur) { this.finishNode(cur, "SwitchCase"); } - this.next(); // Closing brace - this.labels.pop(); - return this.finishNode(node, "SwitchStatement") - }; - - pp$1.parseThrowStatement = function(node) { - this.next(); - if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) - { this.raise(this.lastTokEnd, "Illegal newline after throw"); } - node.argument = this.parseExpression(); - this.semicolon(); - return this.finishNode(node, "ThrowStatement") - }; - - // Reused empty array added for node fields that are always empty. - - var empty = []; - - pp$1.parseTryStatement = function(node) { - this.next(); - node.block = this.parseBlock(); - node.handler = null; - if (this.type === types._catch) { - var clause = this.startNode(); - this.next(); - if (this.eat(types.parenL)) { - clause.param = this.parseBindingAtom(); - var simple = clause.param.type === "Identifier"; - this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0); - this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL); - this.expect(types.parenR); - } else { - if (this.options.ecmaVersion < 10) { this.unexpected(); } - clause.param = null; - this.enterScope(0); - } - clause.body = this.parseBlock(false); - this.exitScope(); - node.handler = this.finishNode(clause, "CatchClause"); - } - node.finalizer = this.eat(types._finally) ? this.parseBlock() : null; - if (!node.handler && !node.finalizer) - { this.raise(node.start, "Missing catch or finally clause"); } - return this.finishNode(node, "TryStatement") - }; - - pp$1.parseVarStatement = function(node, kind) { - this.next(); - this.parseVar(node, false, kind); - this.semicolon(); - return this.finishNode(node, "VariableDeclaration") - }; - - pp$1.parseWhileStatement = function(node) { - this.next(); - node.test = this.parseParenExpression(); - this.labels.push(loopLabel); - node.body = this.parseStatement("while"); - this.labels.pop(); - return this.finishNode(node, "WhileStatement") - }; - - pp$1.parseWithStatement = function(node) { - if (this.strict) { this.raise(this.start, "'with' in strict mode"); } - this.next(); - node.object = this.parseParenExpression(); - node.body = this.parseStatement("with"); - return this.finishNode(node, "WithStatement") - }; - - pp$1.parseEmptyStatement = function(node) { - this.next(); - return this.finishNode(node, "EmptyStatement") - }; - - pp$1.parseLabeledStatement = function(node, maybeName, expr, context) { - for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1) - { - var label = list[i$1]; - - if (label.name === maybeName) - { this.raise(expr.start, "Label '" + maybeName + "' is already declared"); - } } - var kind = this.type.isLoop ? "loop" : this.type === types._switch ? "switch" : null; - for (var i = this.labels.length - 1; i >= 0; i--) { - var label$1 = this.labels[i]; - if (label$1.statementStart === node.start) { - // Update information about previous labels on this node - label$1.statementStart = this.start; - label$1.kind = kind; - } else { break } - } - this.labels.push({name: maybeName, kind: kind, statementStart: this.start}); - node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); - this.labels.pop(); - node.label = expr; - return this.finishNode(node, "LabeledStatement") - }; - - pp$1.parseExpressionStatement = function(node, expr) { - node.expression = expr; - this.semicolon(); - return this.finishNode(node, "ExpressionStatement") - }; - - // Parse a semicolon-enclosed block of statements, handling `"use - // strict"` declarations when `allowStrict` is true (used for - // function bodies). - - pp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) { - if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true; - if ( node === void 0 ) node = this.startNode(); - - node.body = []; - this.expect(types.braceL); - if (createNewLexicalScope) { this.enterScope(0); } - while (this.type !== types.braceR) { - var stmt = this.parseStatement(null); - node.body.push(stmt); - } - if (exitStrict) { this.strict = false; } - this.next(); - if (createNewLexicalScope) { this.exitScope(); } - return this.finishNode(node, "BlockStatement") - }; - - // Parse a regular `for` loop. The disambiguation code in - // `parseStatement` will already have parsed the init statement or - // expression. - - pp$1.parseFor = function(node, init) { - node.init = init; - this.expect(types.semi); - node.test = this.type === types.semi ? null : this.parseExpression(); - this.expect(types.semi); - node.update = this.type === types.parenR ? null : this.parseExpression(); - this.expect(types.parenR); - node.body = this.parseStatement("for"); - this.exitScope(); - this.labels.pop(); - return this.finishNode(node, "ForStatement") - }; - - // Parse a `for`/`in` and `for`/`of` loop, which are almost - // same from parser's perspective. - - pp$1.parseForIn = function(node, init) { - var isForIn = this.type === types._in; - this.next(); - - if ( - init.type === "VariableDeclaration" && - init.declarations[0].init != null && - ( - !isForIn || - this.options.ecmaVersion < 8 || - this.strict || - init.kind !== "var" || - init.declarations[0].id.type !== "Identifier" - ) - ) { - this.raise( - init.start, - ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer") - ); - } else if (init.type === "AssignmentPattern") { - this.raise(init.start, "Invalid left-hand side in for-loop"); - } - node.left = init; - node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign(); - this.expect(types.parenR); - node.body = this.parseStatement("for"); - this.exitScope(); - this.labels.pop(); - return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement") - }; - - // Parse a list of variable declarations. - - pp$1.parseVar = function(node, isFor, kind) { - node.declarations = []; - node.kind = kind; - for (;;) { - var decl = this.startNode(); - this.parseVarId(decl, kind); - if (this.eat(types.eq)) { - decl.init = this.parseMaybeAssign(isFor); - } else if (kind === "const" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) { - this.unexpected(); - } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types._in || this.isContextual("of")))) { - this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value"); - } else { - decl.init = null; - } - node.declarations.push(this.finishNode(decl, "VariableDeclarator")); - if (!this.eat(types.comma)) { break } - } - return node - }; - - pp$1.parseVarId = function(decl, kind) { - decl.id = this.parseBindingAtom(); - this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false); - }; - - var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4; - - // Parse a function declaration or literal (depending on the - // `statement & FUNC_STATEMENT`). - - // Remove `allowExpressionBody` for 7.0.0, as it is only called with false - pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) { - this.initFunction(node); - if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) { - if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT)) - { this.unexpected(); } - node.generator = this.eat(types.star); - } - if (this.options.ecmaVersion >= 8) - { node.async = !!isAsync; } - - if (statement & FUNC_STATEMENT) { - node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent(); - if (node.id && !(statement & FUNC_HANGING_STATEMENT)) - // If it is a regular function declaration in sloppy mode, then it is - // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding - // mode depends on properties of the current scope (see - // treatFunctionsAsVar). - { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); } - } - - var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; - this.yieldPos = 0; - this.awaitPos = 0; - this.awaitIdentPos = 0; - this.enterScope(functionFlags(node.async, node.generator)); - - if (!(statement & FUNC_STATEMENT)) - { node.id = this.type === types.name ? this.parseIdent() : null; } - - this.parseFunctionParams(node); - this.parseFunctionBody(node, allowExpressionBody, false); - - this.yieldPos = oldYieldPos; - this.awaitPos = oldAwaitPos; - this.awaitIdentPos = oldAwaitIdentPos; - return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression") - }; - - pp$1.parseFunctionParams = function(node) { - this.expect(types.parenL); - node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8); - this.checkYieldAwaitInDefaultParams(); - }; - - // Parse a class declaration or literal (depending on the - // `isStatement` parameter). - - pp$1.parseClass = function(node, isStatement) { - this.next(); - - // ecma-262 14.6 Class Definitions - // A class definition is always strict mode code. - var oldStrict = this.strict; - this.strict = true; - - this.parseClassId(node, isStatement); - this.parseClassSuper(node); - var classBody = this.startNode(); - var hadConstructor = false; - classBody.body = []; - this.expect(types.braceL); - while (this.type !== types.braceR) { - var element = this.parseClassElement(node.superClass !== null); - if (element) { - classBody.body.push(element); - if (element.type === "MethodDefinition" && element.kind === "constructor") { - if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); } - hadConstructor = true; - } - } - } - this.strict = oldStrict; - this.next(); - node.body = this.finishNode(classBody, "ClassBody"); - return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") - }; - - pp$1.parseClassElement = function(constructorAllowsSuper) { - var this$1 = this; - - if (this.eat(types.semi)) { return null } - - var method = this.startNode(); - var tryContextual = function (k, noLineBreak) { - if ( noLineBreak === void 0 ) noLineBreak = false; - - var start = this$1.start, startLoc = this$1.startLoc; - if (!this$1.eatContextual(k)) { return false } - if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true } - if (method.key) { this$1.unexpected(); } - method.computed = false; - method.key = this$1.startNodeAt(start, startLoc); - method.key.name = k; - this$1.finishNode(method.key, "Identifier"); - return false - }; - - method.kind = "method"; - method.static = tryContextual("static"); - var isGenerator = this.eat(types.star); - var isAsync = false; - if (!isGenerator) { - if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) { - isAsync = true; - isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star); - } else if (tryContextual("get")) { - method.kind = "get"; - } else if (tryContextual("set")) { - method.kind = "set"; - } - } - if (!method.key) { this.parsePropertyName(method); } - var key = method.key; - var allowsDirectSuper = false; - if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" || - key.type === "Literal" && key.value === "constructor")) { - if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); } - if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); } - if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); } - method.kind = "constructor"; - allowsDirectSuper = constructorAllowsSuper; - } else if (method.static && key.type === "Identifier" && key.name === "prototype") { - this.raise(key.start, "Classes may not have a static property named prototype"); - } - this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper); - if (method.kind === "get" && method.value.params.length !== 0) - { this.raiseRecoverable(method.value.start, "getter should have no params"); } - if (method.kind === "set" && method.value.params.length !== 1) - { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); } - if (method.kind === "set" && method.value.params[0].type === "RestElement") - { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } - return method - }; - - pp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) { - method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper); - return this.finishNode(method, "MethodDefinition") - }; - - pp$1.parseClassId = function(node, isStatement) { - if (this.type === types.name) { - node.id = this.parseIdent(); - if (isStatement) - { this.checkLVal(node.id, BIND_LEXICAL, false); } - } else { - if (isStatement === true) - { this.unexpected(); } - node.id = null; - } - }; - - pp$1.parseClassSuper = function(node) { - node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null; - }; - - // Parses module export declaration. - - pp$1.parseExport = function(node, exports) { - this.next(); - // export * from '...' - if (this.eat(types.star)) { - if (this.options.ecmaVersion >= 11) { - if (this.eatContextual("as")) { - node.exported = this.parseIdent(true); - this.checkExport(exports, node.exported.name, this.lastTokStart); - } else { - node.exported = null; - } - } - this.expectContextual("from"); - if (this.type !== types.string) { this.unexpected(); } - node.source = this.parseExprAtom(); - this.semicolon(); - return this.finishNode(node, "ExportAllDeclaration") - } - if (this.eat(types._default)) { // export default ... - this.checkExport(exports, "default", this.lastTokStart); - var isAsync; - if (this.type === types._function || (isAsync = this.isAsyncFunction())) { - var fNode = this.startNode(); - this.next(); - if (isAsync) { this.next(); } - node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync); - } else if (this.type === types._class) { - var cNode = this.startNode(); - node.declaration = this.parseClass(cNode, "nullableID"); - } else { - node.declaration = this.parseMaybeAssign(); - this.semicolon(); - } - return this.finishNode(node, "ExportDefaultDeclaration") - } - // export var|const|let|function|class ... - if (this.shouldParseExportStatement()) { - node.declaration = this.parseStatement(null); - if (node.declaration.type === "VariableDeclaration") - { this.checkVariableExport(exports, node.declaration.declarations); } - else - { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); } - node.specifiers = []; - node.source = null; - } else { // export { x, y as z } [from '...'] - node.declaration = null; - node.specifiers = this.parseExportSpecifiers(exports); - if (this.eatContextual("from")) { - if (this.type !== types.string) { this.unexpected(); } - node.source = this.parseExprAtom(); - } else { - for (var i = 0, list = node.specifiers; i < list.length; i += 1) { - // check for keywords used as local names - var spec = list[i]; - - this.checkUnreserved(spec.local); - // check if export is defined - this.checkLocalExport(spec.local); - } - - node.source = null; - } - this.semicolon(); - } - return this.finishNode(node, "ExportNamedDeclaration") - }; - - pp$1.checkExport = function(exports, name, pos) { - if (!exports) { return } - if (has(exports, name)) - { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); } - exports[name] = true; - }; - - pp$1.checkPatternExport = function(exports, pat) { - var type = pat.type; - if (type === "Identifier") - { this.checkExport(exports, pat.name, pat.start); } - else if (type === "ObjectPattern") - { for (var i = 0, list = pat.properties; i < list.length; i += 1) - { - var prop = list[i]; - - this.checkPatternExport(exports, prop); - } } - else if (type === "ArrayPattern") - { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) { - var elt = list$1[i$1]; - - if (elt) { this.checkPatternExport(exports, elt); } - } } - else if (type === "Property") - { this.checkPatternExport(exports, pat.value); } - else if (type === "AssignmentPattern") - { this.checkPatternExport(exports, pat.left); } - else if (type === "RestElement") - { this.checkPatternExport(exports, pat.argument); } - else if (type === "ParenthesizedExpression") - { this.checkPatternExport(exports, pat.expression); } - }; - - pp$1.checkVariableExport = function(exports, decls) { - if (!exports) { return } - for (var i = 0, list = decls; i < list.length; i += 1) - { - var decl = list[i]; - - this.checkPatternExport(exports, decl.id); - } - }; - - pp$1.shouldParseExportStatement = function() { - return this.type.keyword === "var" || - this.type.keyword === "const" || - this.type.keyword === "class" || - this.type.keyword === "function" || - this.isLet() || - this.isAsyncFunction() - }; - - // Parses a comma-separated list of module exports. - - pp$1.parseExportSpecifiers = function(exports) { - var nodes = [], first = true; - // export { x, y as z } [from '...'] - this.expect(types.braceL); - while (!this.eat(types.braceR)) { - if (!first) { - this.expect(types.comma); - if (this.afterTrailingComma(types.braceR)) { break } - } else { first = false; } - - var node = this.startNode(); - node.local = this.parseIdent(true); - node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local; - this.checkExport(exports, node.exported.name, node.exported.start); - nodes.push(this.finishNode(node, "ExportSpecifier")); - } - return nodes - }; - - // Parses import declaration. - - pp$1.parseImport = function(node) { - this.next(); - // import '...' - if (this.type === types.string) { - node.specifiers = empty; - node.source = this.parseExprAtom(); - } else { - node.specifiers = this.parseImportSpecifiers(); - this.expectContextual("from"); - node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected(); - } - this.semicolon(); - return this.finishNode(node, "ImportDeclaration") - }; - - // Parses a comma-separated list of module imports. - - pp$1.parseImportSpecifiers = function() { - var nodes = [], first = true; - if (this.type === types.name) { - // import defaultObj, { x, y as z } from '...' - var node = this.startNode(); - node.local = this.parseIdent(); - this.checkLVal(node.local, BIND_LEXICAL); - nodes.push(this.finishNode(node, "ImportDefaultSpecifier")); - if (!this.eat(types.comma)) { return nodes } - } - if (this.type === types.star) { - var node$1 = this.startNode(); - this.next(); - this.expectContextual("as"); - node$1.local = this.parseIdent(); - this.checkLVal(node$1.local, BIND_LEXICAL); - nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier")); - return nodes - } - this.expect(types.braceL); - while (!this.eat(types.braceR)) { - if (!first) { - this.expect(types.comma); - if (this.afterTrailingComma(types.braceR)) { break } - } else { first = false; } - - var node$2 = this.startNode(); - node$2.imported = this.parseIdent(true); - if (this.eatContextual("as")) { - node$2.local = this.parseIdent(); - } else { - this.checkUnreserved(node$2.imported); - node$2.local = node$2.imported; - } - this.checkLVal(node$2.local, BIND_LEXICAL); - nodes.push(this.finishNode(node$2, "ImportSpecifier")); - } - return nodes - }; - - // Set `ExpressionStatement#directive` property for directive prologues. - pp$1.adaptDirectivePrologue = function(statements) { - for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { - statements[i].directive = statements[i].expression.raw.slice(1, -1); - } - }; - pp$1.isDirectiveCandidate = function(statement) { - return ( - statement.type === "ExpressionStatement" && - statement.expression.type === "Literal" && - typeof statement.expression.value === "string" && - // Reject parenthesized strings. - (this.input[statement.start] === "\"" || this.input[statement.start] === "'") - ) - }; - - var pp$2 = Parser.prototype; - - // Convert existing expression atom to assignable pattern - // if possible. - - pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) { - if (this.options.ecmaVersion >= 6 && node) { - switch (node.type) { - case "Identifier": - if (this.inAsync && node.name === "await") - { this.raise(node.start, "Cannot use 'await' as identifier inside an async function"); } - break - - case "ObjectPattern": - case "ArrayPattern": - case "RestElement": - break - - case "ObjectExpression": - node.type = "ObjectPattern"; - if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } - for (var i = 0, list = node.properties; i < list.length; i += 1) { - var prop = list[i]; - - this.toAssignable(prop, isBinding); - // Early error: - // AssignmentRestProperty[Yield, Await] : - // `...` DestructuringAssignmentTarget[Yield, Await] - // - // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|. - if ( - prop.type === "RestElement" && - (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern") - ) { - this.raise(prop.argument.start, "Unexpected token"); - } - } - break - - case "Property": - // AssignmentProperty has type === "Property" - if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); } - this.toAssignable(node.value, isBinding); - break - - case "ArrayExpression": - node.type = "ArrayPattern"; - if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } - this.toAssignableList(node.elements, isBinding); - break - - case "SpreadElement": - node.type = "RestElement"; - this.toAssignable(node.argument, isBinding); - if (node.argument.type === "AssignmentPattern") - { this.raise(node.argument.start, "Rest elements cannot have a default value"); } - break - - case "AssignmentExpression": - if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); } - node.type = "AssignmentPattern"; - delete node.operator; - this.toAssignable(node.left, isBinding); - // falls through to AssignmentPattern - - case "AssignmentPattern": - break - - case "ParenthesizedExpression": - this.toAssignable(node.expression, isBinding, refDestructuringErrors); - break - - case "ChainExpression": - this.raiseRecoverable(node.start, "Optional chaining cannot appear in left-hand side"); - break - - case "MemberExpression": - if (!isBinding) { break } - - default: - this.raise(node.start, "Assigning to rvalue"); - } - } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } - return node - }; - - // Convert list of expression atoms to binding list. - - pp$2.toAssignableList = function(exprList, isBinding) { - var end = exprList.length; - for (var i = 0; i < end; i++) { - var elt = exprList[i]; - if (elt) { this.toAssignable(elt, isBinding); } - } - if (end) { - var last = exprList[end - 1]; - if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") - { this.unexpected(last.argument.start); } - } - return exprList - }; - - // Parses spread element. - - pp$2.parseSpread = function(refDestructuringErrors) { - var node = this.startNode(); - this.next(); - node.argument = this.parseMaybeAssign(false, refDestructuringErrors); - return this.finishNode(node, "SpreadElement") - }; - - pp$2.parseRestBinding = function() { - var node = this.startNode(); - this.next(); - - // RestElement inside of a function parameter must be an identifier - if (this.options.ecmaVersion === 6 && this.type !== types.name) - { this.unexpected(); } - - node.argument = this.parseBindingAtom(); - - return this.finishNode(node, "RestElement") - }; - - // Parses lvalue (assignable) atom. - - pp$2.parseBindingAtom = function() { - if (this.options.ecmaVersion >= 6) { - switch (this.type) { - case types.bracketL: - var node = this.startNode(); - this.next(); - node.elements = this.parseBindingList(types.bracketR, true, true); - return this.finishNode(node, "ArrayPattern") - - case types.braceL: - return this.parseObj(true) - } - } - return this.parseIdent() - }; - - pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) { - var elts = [], first = true; - while (!this.eat(close)) { - if (first) { first = false; } - else { this.expect(types.comma); } - if (allowEmpty && this.type === types.comma) { - elts.push(null); - } else if (allowTrailingComma && this.afterTrailingComma(close)) { - break - } else if (this.type === types.ellipsis) { - var rest = this.parseRestBinding(); - this.parseBindingListItem(rest); - elts.push(rest); - if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); } - this.expect(close); - break - } else { - var elem = this.parseMaybeDefault(this.start, this.startLoc); - this.parseBindingListItem(elem); - elts.push(elem); - } - } - return elts - }; - - pp$2.parseBindingListItem = function(param) { - return param - }; - - // Parses assignment pattern around given atom if possible. - - pp$2.parseMaybeDefault = function(startPos, startLoc, left) { - left = left || this.parseBindingAtom(); - if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left } - var node = this.startNodeAt(startPos, startLoc); - node.left = left; - node.right = this.parseMaybeAssign(); - return this.finishNode(node, "AssignmentPattern") - }; - - // Verify that a node is an lval — something that can be assigned - // to. - // bindingType can be either: - // 'var' indicating that the lval creates a 'var' binding - // 'let' indicating that the lval creates a lexical ('let' or 'const') binding - // 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references - - pp$2.checkLVal = function(expr, bindingType, checkClashes) { - if ( bindingType === void 0 ) bindingType = BIND_NONE; - - switch (expr.type) { - case "Identifier": - if (bindingType === BIND_LEXICAL && expr.name === "let") - { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); } - if (this.strict && this.reservedWordsStrictBind.test(expr.name)) - { this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); } - if (checkClashes) { - if (has(checkClashes, expr.name)) - { this.raiseRecoverable(expr.start, "Argument name clash"); } - checkClashes[expr.name] = true; - } - if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); } - break - - case "ChainExpression": - this.raiseRecoverable(expr.start, "Optional chaining cannot appear in left-hand side"); - break - - case "MemberExpression": - if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); } - break - - case "ObjectPattern": - for (var i = 0, list = expr.properties; i < list.length; i += 1) - { - var prop = list[i]; - - this.checkLVal(prop, bindingType, checkClashes); - } - break - - case "Property": - // AssignmentProperty has type === "Property" - this.checkLVal(expr.value, bindingType, checkClashes); - break - - case "ArrayPattern": - for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) { - var elem = list$1[i$1]; - - if (elem) { this.checkLVal(elem, bindingType, checkClashes); } - } - break - - case "AssignmentPattern": - this.checkLVal(expr.left, bindingType, checkClashes); - break - - case "RestElement": - this.checkLVal(expr.argument, bindingType, checkClashes); - break - - case "ParenthesizedExpression": - this.checkLVal(expr.expression, bindingType, checkClashes); - break - - default: - this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue"); - } - }; - - // A recursive descent parser operates by defining functions for all - - var pp$3 = Parser.prototype; - - // Check if property name clashes with already added. - // Object/class getters and setters are not allowed to clash — - // either with each other or with an init property — and in - // strict mode, init properties are also not allowed to be repeated. - - pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) { - if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement") - { return } - if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) - { return } - var key = prop.key; - var name; - switch (key.type) { - case "Identifier": name = key.name; break - case "Literal": name = String(key.value); break - default: return - } - var kind = prop.kind; - if (this.options.ecmaVersion >= 6) { - if (name === "__proto__" && kind === "init") { - if (propHash.proto) { - if (refDestructuringErrors) { - if (refDestructuringErrors.doubleProto < 0) - { refDestructuringErrors.doubleProto = key.start; } - // Backwards-compat kludge. Can be removed in version 6.0 - } else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); } - } - propHash.proto = true; - } - return - } - name = "$" + name; - var other = propHash[name]; - if (other) { - var redefinition; - if (kind === "init") { - redefinition = this.strict && other.init || other.get || other.set; - } else { - redefinition = other.init || other[kind]; - } - if (redefinition) - { this.raiseRecoverable(key.start, "Redefinition of property"); } - } else { - other = propHash[name] = { - init: false, - get: false, - set: false - }; - } - other[kind] = true; - }; - - // ### Expression parsing - - // These nest, from the most general expression type at the top to - // 'atomic', nondivisible expression types at the bottom. Most of - // the functions will simply let the function(s) below them parse, - // and, *if* the syntactic construct they handle is present, wrap - // the AST node that the inner parser gave them in another node. - - // Parse a full expression. The optional arguments are used to - // forbid the `in` operator (in for loops initalization expressions) - // and provide reference for storing '=' operator inside shorthand - // property assignment in contexts where both object expression - // and object pattern might appear (so it's possible to raise - // delayed syntax error at correct position). - - pp$3.parseExpression = function(noIn, refDestructuringErrors) { - var startPos = this.start, startLoc = this.startLoc; - var expr = this.parseMaybeAssign(noIn, refDestructuringErrors); - if (this.type === types.comma) { - var node = this.startNodeAt(startPos, startLoc); - node.expressions = [expr]; - while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); } - return this.finishNode(node, "SequenceExpression") - } - return expr - }; - - // Parse an assignment expression. This includes applications of - // operators like `+=`. - - pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) { - if (this.isContextual("yield")) { - if (this.inGenerator) { return this.parseYield(noIn) } - // The tokenizer will assume an expression is allowed after - // `yield`, but this isn't that kind of yield - else { this.exprAllowed = false; } - } - - var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1; - if (refDestructuringErrors) { - oldParenAssign = refDestructuringErrors.parenthesizedAssign; - oldTrailingComma = refDestructuringErrors.trailingComma; - refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1; - } else { - refDestructuringErrors = new DestructuringErrors; - ownDestructuringErrors = true; - } - - var startPos = this.start, startLoc = this.startLoc; - if (this.type === types.parenL || this.type === types.name) - { this.potentialArrowAt = this.start; } - var left = this.parseMaybeConditional(noIn, refDestructuringErrors); - if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); } - if (this.type.isAssign) { - var node = this.startNodeAt(startPos, startLoc); - node.operator = this.value; - node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left; - if (!ownDestructuringErrors) { - refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1; - } - if (refDestructuringErrors.shorthandAssign >= node.left.start) - { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly - this.checkLVal(left); - this.next(); - node.right = this.parseMaybeAssign(noIn); - return this.finishNode(node, "AssignmentExpression") - } else { - if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); } - } - if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; } - if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; } - return left - }; - - // Parse a ternary conditional (`?:`) operator. - - pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) { - var startPos = this.start, startLoc = this.startLoc; - var expr = this.parseExprOps(noIn, refDestructuringErrors); - if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } - if (this.eat(types.question)) { - var node = this.startNodeAt(startPos, startLoc); - node.test = expr; - node.consequent = this.parseMaybeAssign(); - this.expect(types.colon); - node.alternate = this.parseMaybeAssign(noIn); - return this.finishNode(node, "ConditionalExpression") - } - return expr - }; - - // Start the precedence parser. - - pp$3.parseExprOps = function(noIn, refDestructuringErrors) { - var startPos = this.start, startLoc = this.startLoc; - var expr = this.parseMaybeUnary(refDestructuringErrors, false); - if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } - return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn) - }; - - // Parse binary operators with the operator precedence parsing - // algorithm. `left` is the left-hand side of the operator. - // `minPrec` provides context that allows the function to stop and - // defer further parser to one of its callers when it encounters an - // operator that has a lower precedence than the set it is parsing. - - pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) { - var prec = this.type.binop; - if (prec != null && (!noIn || this.type !== types._in)) { - if (prec > minPrec) { - var logical = this.type === types.logicalOR || this.type === types.logicalAND; - var coalesce = this.type === types.coalesce; - if (coalesce) { - // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions. - // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error. - prec = types.logicalAND.binop; - } - var op = this.value; - this.next(); - var startPos = this.start, startLoc = this.startLoc; - var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn); - var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce); - if ((logical && this.type === types.coalesce) || (coalesce && (this.type === types.logicalOR || this.type === types.logicalAND))) { - this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"); - } - return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn) - } - } - return left - }; - - pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) { - var node = this.startNodeAt(startPos, startLoc); - node.left = left; - node.operator = op; - node.right = right; - return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression") - }; - - // Parse unary operators, both prefix and postfix. - - pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) { - var startPos = this.start, startLoc = this.startLoc, expr; - if (this.isContextual("await") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) { - expr = this.parseAwait(); - sawUnary = true; - } else if (this.type.prefix) { - var node = this.startNode(), update = this.type === types.incDec; - node.operator = this.value; - node.prefix = true; - this.next(); - node.argument = this.parseMaybeUnary(null, true); - this.checkExpressionErrors(refDestructuringErrors, true); - if (update) { this.checkLVal(node.argument); } - else if (this.strict && node.operator === "delete" && - node.argument.type === "Identifier") - { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); } - else { sawUnary = true; } - expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); - } else { - expr = this.parseExprSubscripts(refDestructuringErrors); - if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } - while (this.type.postfix && !this.canInsertSemicolon()) { - var node$1 = this.startNodeAt(startPos, startLoc); - node$1.operator = this.value; - node$1.prefix = false; - node$1.argument = expr; - this.checkLVal(expr); - this.next(); - expr = this.finishNode(node$1, "UpdateExpression"); - } - } - - if (!sawUnary && this.eat(types.starstar)) - { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false) } - else - { return expr } - }; - - // Parse call, dot, and `[]`-subscript expressions. - - pp$3.parseExprSubscripts = function(refDestructuringErrors) { - var startPos = this.start, startLoc = this.startLoc; - var expr = this.parseExprAtom(refDestructuringErrors); - if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") - { return expr } - var result = this.parseSubscripts(expr, startPos, startLoc); - if (refDestructuringErrors && result.type === "MemberExpression") { - if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; } - if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; } - } - return result - }; - - pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) { - var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && - this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && - this.potentialArrowAt === base.start; - var optionalChained = false; - - while (true) { - var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained); - - if (element.optional) { optionalChained = true; } - if (element === base || element.type === "ArrowFunctionExpression") { - if (optionalChained) { - var chainNode = this.startNodeAt(startPos, startLoc); - chainNode.expression = element; - element = this.finishNode(chainNode, "ChainExpression"); - } - return element - } - - base = element; - } - }; - - pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) { - var optionalSupported = this.options.ecmaVersion >= 11; - var optional = optionalSupported && this.eat(types.questionDot); - if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); } - - var computed = this.eat(types.bracketL); - if (computed || (optional && this.type !== types.parenL && this.type !== types.backQuote) || this.eat(types.dot)) { - var node = this.startNodeAt(startPos, startLoc); - node.object = base; - node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never"); - node.computed = !!computed; - if (computed) { this.expect(types.bracketR); } - if (optionalSupported) { - node.optional = optional; - } - base = this.finishNode(node, "MemberExpression"); - } else if (!noCalls && this.eat(types.parenL)) { - var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; - this.yieldPos = 0; - this.awaitPos = 0; - this.awaitIdentPos = 0; - var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors); - if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types.arrow)) { - this.checkPatternErrors(refDestructuringErrors, false); - this.checkYieldAwaitInDefaultParams(); - if (this.awaitIdentPos > 0) - { this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"); } - this.yieldPos = oldYieldPos; - this.awaitPos = oldAwaitPos; - this.awaitIdentPos = oldAwaitIdentPos; - return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true) - } - this.checkExpressionErrors(refDestructuringErrors, true); - this.yieldPos = oldYieldPos || this.yieldPos; - this.awaitPos = oldAwaitPos || this.awaitPos; - this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos; - var node$1 = this.startNodeAt(startPos, startLoc); - node$1.callee = base; - node$1.arguments = exprList; - if (optionalSupported) { - node$1.optional = optional; - } - base = this.finishNode(node$1, "CallExpression"); - } else if (this.type === types.backQuote) { - if (optional || optionalChained) { - this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions"); - } - var node$2 = this.startNodeAt(startPos, startLoc); - node$2.tag = base; - node$2.quasi = this.parseTemplate({isTagged: true}); - base = this.finishNode(node$2, "TaggedTemplateExpression"); - } - return base - }; - - // Parse an atomic expression — either a single token that is an - // expression, an expression started by a keyword like `function` or - // `new`, or an expression wrapped in punctuation like `()`, `[]`, - // or `{}`. - - pp$3.parseExprAtom = function(refDestructuringErrors) { - // If a division operator appears in an expression position, the - // tokenizer got confused, and we force it to read a regexp instead. - if (this.type === types.slash) { this.readRegexp(); } - - var node, canBeArrow = this.potentialArrowAt === this.start; - switch (this.type) { - case types._super: - if (!this.allowSuper) - { this.raise(this.start, "'super' keyword outside a method"); } - node = this.startNode(); - this.next(); - if (this.type === types.parenL && !this.allowDirectSuper) - { this.raise(node.start, "super() call outside constructor of a subclass"); } - // The `super` keyword can appear at below: - // SuperProperty: - // super [ Expression ] - // super . IdentifierName - // SuperCall: - // super ( Arguments ) - if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL) - { this.unexpected(); } - return this.finishNode(node, "Super") - - case types._this: - node = this.startNode(); - this.next(); - return this.finishNode(node, "ThisExpression") - - case types.name: - var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc; - var id = this.parseIdent(false); - if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function)) - { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) } - if (canBeArrow && !this.canInsertSemicolon()) { - if (this.eat(types.arrow)) - { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) } - if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) { - id = this.parseIdent(false); - if (this.canInsertSemicolon() || !this.eat(types.arrow)) - { this.unexpected(); } - return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true) - } - } - return id - - case types.regexp: - var value = this.value; - node = this.parseLiteral(value.value); - node.regex = {pattern: value.pattern, flags: value.flags}; - return node - - case types.num: case types.string: - return this.parseLiteral(this.value) - - case types._null: case types._true: case types._false: - node = this.startNode(); - node.value = this.type === types._null ? null : this.type === types._true; - node.raw = this.type.keyword; - this.next(); - return this.finishNode(node, "Literal") - - case types.parenL: - var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow); - if (refDestructuringErrors) { - if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr)) - { refDestructuringErrors.parenthesizedAssign = start; } - if (refDestructuringErrors.parenthesizedBind < 0) - { refDestructuringErrors.parenthesizedBind = start; } - } - return expr - - case types.bracketL: - node = this.startNode(); - this.next(); - node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors); - return this.finishNode(node, "ArrayExpression") - - case types.braceL: - return this.parseObj(false, refDestructuringErrors) - - case types._function: - node = this.startNode(); - this.next(); - return this.parseFunction(node, 0) - - case types._class: - return this.parseClass(this.startNode(), false) - - case types._new: - return this.parseNew() - - case types.backQuote: - return this.parseTemplate() - - case types._import: - if (this.options.ecmaVersion >= 11) { - return this.parseExprImport() - } else { - return this.unexpected() - } - - default: - this.unexpected(); - } - }; - - pp$3.parseExprImport = function() { - var node = this.startNode(); - - // Consume `import` as an identifier for `import.meta`. - // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`. - if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); } - var meta = this.parseIdent(true); - - switch (this.type) { - case types.parenL: - return this.parseDynamicImport(node) - case types.dot: - node.meta = meta; - return this.parseImportMeta(node) - default: - this.unexpected(); - } - }; - - pp$3.parseDynamicImport = function(node) { - this.next(); // skip `(` - - // Parse node.source. - node.source = this.parseMaybeAssign(); - - // Verify ending. - if (!this.eat(types.parenR)) { - var errorPos = this.start; - if (this.eat(types.comma) && this.eat(types.parenR)) { - this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()"); - } else { - this.unexpected(errorPos); - } - } - - return this.finishNode(node, "ImportExpression") - }; - - pp$3.parseImportMeta = function(node) { - this.next(); // skip `.` - - var containsEsc = this.containsEsc; - node.property = this.parseIdent(true); - - if (node.property.name !== "meta") - { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); } - if (containsEsc) - { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); } - if (this.options.sourceType !== "module") - { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); } - - return this.finishNode(node, "MetaProperty") - }; - - pp$3.parseLiteral = function(value) { - var node = this.startNode(); - node.value = value; - node.raw = this.input.slice(this.start, this.end); - if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); } - this.next(); - return this.finishNode(node, "Literal") - }; - - pp$3.parseParenExpression = function() { - this.expect(types.parenL); - var val = this.parseExpression(); - this.expect(types.parenR); - return val - }; - - pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { - var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8; - if (this.options.ecmaVersion >= 6) { - this.next(); - - var innerStartPos = this.start, innerStartLoc = this.startLoc; - var exprList = [], first = true, lastIsComma = false; - var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart; - this.yieldPos = 0; - this.awaitPos = 0; - // Do not save awaitIdentPos to allow checking awaits nested in parameters - while (this.type !== types.parenR) { - first ? first = false : this.expect(types.comma); - if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) { - lastIsComma = true; - break - } else if (this.type === types.ellipsis) { - spreadStart = this.start; - exprList.push(this.parseParenItem(this.parseRestBinding())); - if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); } - break - } else { - exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem)); - } - } - var innerEndPos = this.start, innerEndLoc = this.startLoc; - this.expect(types.parenR); - - if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) { - this.checkPatternErrors(refDestructuringErrors, false); - this.checkYieldAwaitInDefaultParams(); - this.yieldPos = oldYieldPos; - this.awaitPos = oldAwaitPos; - return this.parseParenArrowList(startPos, startLoc, exprList) - } - - if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); } - if (spreadStart) { this.unexpected(spreadStart); } - this.checkExpressionErrors(refDestructuringErrors, true); - this.yieldPos = oldYieldPos || this.yieldPos; - this.awaitPos = oldAwaitPos || this.awaitPos; - - if (exprList.length > 1) { - val = this.startNodeAt(innerStartPos, innerStartLoc); - val.expressions = exprList; - this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); - } else { - val = exprList[0]; - } - } else { - val = this.parseParenExpression(); - } - - if (this.options.preserveParens) { - var par = this.startNodeAt(startPos, startLoc); - par.expression = val; - return this.finishNode(par, "ParenthesizedExpression") - } else { - return val - } - }; - - pp$3.parseParenItem = function(item) { - return item - }; - - pp$3.parseParenArrowList = function(startPos, startLoc, exprList) { - return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList) - }; - - // New's precedence is slightly tricky. It must allow its argument to - // be a `[]` or dot subscript expression, but not a call — at least, - // not without wrapping it in parentheses. Thus, it uses the noCalls - // argument to parseSubscripts to prevent it from consuming the - // argument list. - - var empty$1 = []; - - pp$3.parseNew = function() { - if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); } - var node = this.startNode(); - var meta = this.parseIdent(true); - if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) { - node.meta = meta; - var containsEsc = this.containsEsc; - node.property = this.parseIdent(true); - if (node.property.name !== "target") - { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); } - if (containsEsc) - { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); } - if (!this.inNonArrowFunction()) - { this.raiseRecoverable(node.start, "'new.target' can only be used in functions"); } - return this.finishNode(node, "MetaProperty") - } - var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types._import; - node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); - if (isImport && node.callee.type === "ImportExpression") { - this.raise(startPos, "Cannot use new with import()"); - } - if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false); } - else { node.arguments = empty$1; } - return this.finishNode(node, "NewExpression") - }; - - // Parse template expression. - - pp$3.parseTemplateElement = function(ref) { - var isTagged = ref.isTagged; - - var elem = this.startNode(); - if (this.type === types.invalidTemplate) { - if (!isTagged) { - this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"); - } - elem.value = { - raw: this.value, - cooked: null - }; - } else { - elem.value = { - raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"), - cooked: this.value - }; - } - this.next(); - elem.tail = this.type === types.backQuote; - return this.finishNode(elem, "TemplateElement") - }; - - pp$3.parseTemplate = function(ref) { - if ( ref === void 0 ) ref = {}; - var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false; - - var node = this.startNode(); - this.next(); - node.expressions = []; - var curElt = this.parseTemplateElement({isTagged: isTagged}); - node.quasis = [curElt]; - while (!curElt.tail) { - if (this.type === types.eof) { this.raise(this.pos, "Unterminated template literal"); } - this.expect(types.dollarBraceL); - node.expressions.push(this.parseExpression()); - this.expect(types.braceR); - node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged})); - } - this.next(); - return this.finishNode(node, "TemplateLiteral") - }; - - pp$3.isAsyncProp = function(prop) { - return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && - (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) && - !lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) - }; - - // Parse an object literal or binding pattern. - - pp$3.parseObj = function(isPattern, refDestructuringErrors) { - var node = this.startNode(), first = true, propHash = {}; - node.properties = []; - this.next(); - while (!this.eat(types.braceR)) { - if (!first) { - this.expect(types.comma); - if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types.braceR)) { break } - } else { first = false; } - - var prop = this.parseProperty(isPattern, refDestructuringErrors); - if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); } - node.properties.push(prop); - } - return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression") - }; - - pp$3.parseProperty = function(isPattern, refDestructuringErrors) { - var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc; - if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) { - if (isPattern) { - prop.argument = this.parseIdent(false); - if (this.type === types.comma) { - this.raise(this.start, "Comma is not permitted after the rest element"); - } - return this.finishNode(prop, "RestElement") - } - // To disallow parenthesized identifier via `this.toAssignable()`. - if (this.type === types.parenL && refDestructuringErrors) { - if (refDestructuringErrors.parenthesizedAssign < 0) { - refDestructuringErrors.parenthesizedAssign = this.start; - } - if (refDestructuringErrors.parenthesizedBind < 0) { - refDestructuringErrors.parenthesizedBind = this.start; - } - } - // Parse argument. - prop.argument = this.parseMaybeAssign(false, refDestructuringErrors); - // To disallow trailing comma via `this.toAssignable()`. - if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) { - refDestructuringErrors.trailingComma = this.start; - } - // Finish - return this.finishNode(prop, "SpreadElement") - } - if (this.options.ecmaVersion >= 6) { - prop.method = false; - prop.shorthand = false; - if (isPattern || refDestructuringErrors) { - startPos = this.start; - startLoc = this.startLoc; - } - if (!isPattern) - { isGenerator = this.eat(types.star); } - } - var containsEsc = this.containsEsc; - this.parsePropertyName(prop); - if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { - isAsync = true; - isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star); - this.parsePropertyName(prop, refDestructuringErrors); - } else { - isAsync = false; - } - this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc); - return this.finishNode(prop, "Property") - }; - - pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { - if ((isGenerator || isAsync) && this.type === types.colon) - { this.unexpected(); } - - if (this.eat(types.colon)) { - prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors); - prop.kind = "init"; - } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) { - if (isPattern) { this.unexpected(); } - prop.kind = "init"; - prop.method = true; - prop.value = this.parseMethod(isGenerator, isAsync); - } else if (!isPattern && !containsEsc && - this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && - (prop.key.name === "get" || prop.key.name === "set") && - (this.type !== types.comma && this.type !== types.braceR && this.type !== types.eq)) { - if (isGenerator || isAsync) { this.unexpected(); } - prop.kind = prop.key.name; - this.parsePropertyName(prop); - prop.value = this.parseMethod(false); - var paramCount = prop.kind === "get" ? 0 : 1; - if (prop.value.params.length !== paramCount) { - var start = prop.value.start; - if (prop.kind === "get") - { this.raiseRecoverable(start, "getter should have no params"); } - else - { this.raiseRecoverable(start, "setter should have exactly one param"); } - } else { - if (prop.kind === "set" && prop.value.params[0].type === "RestElement") - { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); } - } - } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") { - if (isGenerator || isAsync) { this.unexpected(); } - this.checkUnreserved(prop.key); - if (prop.key.name === "await" && !this.awaitIdentPos) - { this.awaitIdentPos = startPos; } - prop.kind = "init"; - if (isPattern) { - prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); - } else if (this.type === types.eq && refDestructuringErrors) { - if (refDestructuringErrors.shorthandAssign < 0) - { refDestructuringErrors.shorthandAssign = this.start; } - prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); - } else { - prop.value = prop.key; - } - prop.shorthand = true; - } else { this.unexpected(); } - }; - - pp$3.parsePropertyName = function(prop) { - if (this.options.ecmaVersion >= 6) { - if (this.eat(types.bracketL)) { - prop.computed = true; - prop.key = this.parseMaybeAssign(); - this.expect(types.bracketR); - return prop.key - } else { - prop.computed = false; - } - } - return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never") - }; - - // Initialize empty function node. - - pp$3.initFunction = function(node) { - node.id = null; - if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; } - if (this.options.ecmaVersion >= 8) { node.async = false; } - }; - - // Parse object or class method. - - pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) { - var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; - - this.initFunction(node); - if (this.options.ecmaVersion >= 6) - { node.generator = isGenerator; } - if (this.options.ecmaVersion >= 8) - { node.async = !!isAsync; } - - this.yieldPos = 0; - this.awaitPos = 0; - this.awaitIdentPos = 0; - this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); - - this.expect(types.parenL); - node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8); - this.checkYieldAwaitInDefaultParams(); - this.parseFunctionBody(node, false, true); - - this.yieldPos = oldYieldPos; - this.awaitPos = oldAwaitPos; - this.awaitIdentPos = oldAwaitIdentPos; - return this.finishNode(node, "FunctionExpression") - }; - - // Parse arrow function expression with given parameters. - - pp$3.parseArrowExpression = function(node, params, isAsync) { - var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; - - this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW); - this.initFunction(node); - if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; } - - this.yieldPos = 0; - this.awaitPos = 0; - this.awaitIdentPos = 0; - - node.params = this.toAssignableList(params, true); - this.parseFunctionBody(node, true, false); - - this.yieldPos = oldYieldPos; - this.awaitPos = oldAwaitPos; - this.awaitIdentPos = oldAwaitIdentPos; - return this.finishNode(node, "ArrowFunctionExpression") - }; - - // Parse function body and check parameters. - - pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) { - var isExpression = isArrowFunction && this.type !== types.braceL; - var oldStrict = this.strict, useStrict = false; - - if (isExpression) { - node.body = this.parseMaybeAssign(); - node.expression = true; - this.checkParams(node, false); - } else { - var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params); - if (!oldStrict || nonSimple) { - useStrict = this.strictDirective(this.end); - // If this is a strict mode function, verify that argument names - // are not repeated, and it does not try to bind the words `eval` - // or `arguments`. - if (useStrict && nonSimple) - { this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list"); } - } - // Start a new scope with regard to labels and the `inFunction` - // flag (restore them to their old value afterwards). - var oldLabels = this.labels; - this.labels = []; - if (useStrict) { this.strict = true; } - - // Add the params to varDeclaredNames to ensure that an error is thrown - // if a let/const declaration in the function clashes with one of the params. - this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params)); - // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval' - if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); } - node.body = this.parseBlock(false, undefined, useStrict && !oldStrict); - node.expression = false; - this.adaptDirectivePrologue(node.body.body); - this.labels = oldLabels; - } - this.exitScope(); - }; - - pp$3.isSimpleParamList = function(params) { - for (var i = 0, list = params; i < list.length; i += 1) - { - var param = list[i]; - - if (param.type !== "Identifier") { return false - } } - return true - }; - - // Checks function params for various disallowed patterns such as using "eval" - // or "arguments" and duplicate parameters. - - pp$3.checkParams = function(node, allowDuplicates) { - var nameHash = {}; - for (var i = 0, list = node.params; i < list.length; i += 1) - { - var param = list[i]; - - this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash); - } - }; - - // Parses a comma-separated list of expressions, and returns them as - // an array. `close` is the token type that ends the list, and - // `allowEmpty` can be turned on to allow subsequent commas with - // nothing in between them to be parsed as `null` (which is needed - // for array literals). - - pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) { - var elts = [], first = true; - while (!this.eat(close)) { - if (!first) { - this.expect(types.comma); - if (allowTrailingComma && this.afterTrailingComma(close)) { break } - } else { first = false; } - - var elt = (void 0); - if (allowEmpty && this.type === types.comma) - { elt = null; } - else if (this.type === types.ellipsis) { - elt = this.parseSpread(refDestructuringErrors); - if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0) - { refDestructuringErrors.trailingComma = this.start; } - } else { - elt = this.parseMaybeAssign(false, refDestructuringErrors); - } - elts.push(elt); - } - return elts - }; - - pp$3.checkUnreserved = function(ref) { - var start = ref.start; - var end = ref.end; - var name = ref.name; - - if (this.inGenerator && name === "yield") - { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); } - if (this.inAsync && name === "await") - { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); } - if (this.keywords.test(name)) - { this.raise(start, ("Unexpected keyword '" + name + "'")); } - if (this.options.ecmaVersion < 6 && - this.input.slice(start, end).indexOf("\\") !== -1) { return } - var re = this.strict ? this.reservedWordsStrict : this.reservedWords; - if (re.test(name)) { - if (!this.inAsync && name === "await") - { this.raiseRecoverable(start, "Cannot use keyword 'await' outside an async function"); } - this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); - } - }; - - // Parse the next token as an identifier. If `liberal` is true (used - // when parsing properties), it will also convert keywords into - // identifiers. - - pp$3.parseIdent = function(liberal, isBinding) { - var node = this.startNode(); - if (this.type === types.name) { - node.name = this.value; - } else if (this.type.keyword) { - node.name = this.type.keyword; - - // To fix https://github.com/acornjs/acorn/issues/575 - // `class` and `function` keywords push new context into this.context. - // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name. - // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword - if ((node.name === "class" || node.name === "function") && - (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) { - this.context.pop(); - } - } else { - this.unexpected(); - } - this.next(!!liberal); - this.finishNode(node, "Identifier"); - if (!liberal) { - this.checkUnreserved(node); - if (node.name === "await" && !this.awaitIdentPos) - { this.awaitIdentPos = node.start; } - } - return node - }; - - // Parses yield expression inside generator. - - pp$3.parseYield = function(noIn) { - if (!this.yieldPos) { this.yieldPos = this.start; } - - var node = this.startNode(); - this.next(); - if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) { - node.delegate = false; - node.argument = null; - } else { - node.delegate = this.eat(types.star); - node.argument = this.parseMaybeAssign(noIn); - } - return this.finishNode(node, "YieldExpression") - }; - - pp$3.parseAwait = function() { - if (!this.awaitPos) { this.awaitPos = this.start; } - - var node = this.startNode(); - this.next(); - node.argument = this.parseMaybeUnary(null, false); - return this.finishNode(node, "AwaitExpression") - }; - - var pp$4 = Parser.prototype; - - // This function is used to raise exceptions on parse errors. It - // takes an offset integer (into the current `input`) to indicate - // the location of the error, attaches the position to the end - // of the error message, and then raises a `SyntaxError` with that - // message. - - pp$4.raise = function(pos, message) { - var loc = getLineInfo(this.input, pos); - message += " (" + loc.line + ":" + loc.column + ")"; - var err = new SyntaxError(message); - err.pos = pos; err.loc = loc; err.raisedAt = this.pos; - throw err - }; - - pp$4.raiseRecoverable = pp$4.raise; - - pp$4.curPosition = function() { - if (this.options.locations) { - return new Position(this.curLine, this.pos - this.lineStart) - } - }; - - var pp$5 = Parser.prototype; - - var Scope = function Scope(flags) { - this.flags = flags; - // A list of var-declared names in the current lexical scope - this.var = []; - // A list of lexically-declared names in the current lexical scope - this.lexical = []; - // A list of lexically-declared FunctionDeclaration names in the current lexical scope - this.functions = []; - }; - - // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names. - - pp$5.enterScope = function(flags) { - this.scopeStack.push(new Scope(flags)); - }; - - pp$5.exitScope = function() { - this.scopeStack.pop(); - }; - - // The spec says: - // > At the top level of a function, or script, function declarations are - // > treated like var declarations rather than like lexical declarations. - pp$5.treatFunctionsAsVarInScope = function(scope) { - return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP) - }; - - pp$5.declareName = function(name, bindingType, pos) { - var redeclared = false; - if (bindingType === BIND_LEXICAL) { - var scope = this.currentScope(); - redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1; - scope.lexical.push(name); - if (this.inModule && (scope.flags & SCOPE_TOP)) - { delete this.undefinedExports[name]; } - } else if (bindingType === BIND_SIMPLE_CATCH) { - var scope$1 = this.currentScope(); - scope$1.lexical.push(name); - } else if (bindingType === BIND_FUNCTION) { - var scope$2 = this.currentScope(); - if (this.treatFunctionsAsVar) - { redeclared = scope$2.lexical.indexOf(name) > -1; } - else - { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; } - scope$2.functions.push(name); - } else { - for (var i = this.scopeStack.length - 1; i >= 0; --i) { - var scope$3 = this.scopeStack[i]; - if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) || - !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) { - redeclared = true; - break - } - scope$3.var.push(name); - if (this.inModule && (scope$3.flags & SCOPE_TOP)) - { delete this.undefinedExports[name]; } - if (scope$3.flags & SCOPE_VAR) { break } - } - } - if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); } - }; - - pp$5.checkLocalExport = function(id) { - // scope.functions must be empty as Module code is always strict. - if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && - this.scopeStack[0].var.indexOf(id.name) === -1) { - this.undefinedExports[id.name] = id; - } - }; - - pp$5.currentScope = function() { - return this.scopeStack[this.scopeStack.length - 1] - }; - - pp$5.currentVarScope = function() { - for (var i = this.scopeStack.length - 1;; i--) { - var scope = this.scopeStack[i]; - if (scope.flags & SCOPE_VAR) { return scope } - } - }; - - // Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`. - pp$5.currentThisScope = function() { - for (var i = this.scopeStack.length - 1;; i--) { - var scope = this.scopeStack[i]; - if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope } - } - }; - - var Node = function Node(parser, pos, loc) { - this.type = ""; - this.start = pos; - this.end = 0; - if (parser.options.locations) - { this.loc = new SourceLocation(parser, loc); } - if (parser.options.directSourceFile) - { this.sourceFile = parser.options.directSourceFile; } - if (parser.options.ranges) - { this.range = [pos, 0]; } - }; - - // Start an AST node, attaching a start offset. - - var pp$6 = Parser.prototype; - - pp$6.startNode = function() { - return new Node(this, this.start, this.startLoc) - }; - - pp$6.startNodeAt = function(pos, loc) { - return new Node(this, pos, loc) - }; - - // Finish an AST node, adding `type` and `end` properties. - - function finishNodeAt(node, type, pos, loc) { - node.type = type; - node.end = pos; - if (this.options.locations) - { node.loc.end = loc; } - if (this.options.ranges) - { node.range[1] = pos; } - return node - } - - pp$6.finishNode = function(node, type) { - return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc) - }; - - // Finish node at given position - - pp$6.finishNodeAt = function(node, type, pos, loc) { - return finishNodeAt.call(this, node, type, pos, loc) - }; - - // The algorithm used to determine whether a regexp can appear at a - - var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) { - this.token = token; - this.isExpr = !!isExpr; - this.preserveSpace = !!preserveSpace; - this.override = override; - this.generator = !!generator; - }; - - var types$1 = { - b_stat: new TokContext("{", false), - b_expr: new TokContext("{", true), - b_tmpl: new TokContext("${", false), - p_stat: new TokContext("(", false), - p_expr: new TokContext("(", true), - q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }), - f_stat: new TokContext("function", false), - f_expr: new TokContext("function", true), - f_expr_gen: new TokContext("function", true, false, null, true), - f_gen: new TokContext("function", false, false, null, true) - }; - - var pp$7 = Parser.prototype; - - pp$7.initialContext = function() { - return [types$1.b_stat] - }; - - pp$7.braceIsBlock = function(prevType) { - var parent = this.curContext(); - if (parent === types$1.f_expr || parent === types$1.f_stat) - { return true } - if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr)) - { return !parent.isExpr } - - // The check for `tt.name && exprAllowed` detects whether we are - // after a `yield` or `of` construct. See the `updateContext` for - // `tt.name`. - if (prevType === types._return || prevType === types.name && this.exprAllowed) - { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) } - if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow) - { return true } - if (prevType === types.braceL) - { return parent === types$1.b_stat } - if (prevType === types._var || prevType === types._const || prevType === types.name) - { return false } - return !this.exprAllowed - }; - - pp$7.inGeneratorContext = function() { - for (var i = this.context.length - 1; i >= 1; i--) { - var context = this.context[i]; - if (context.token === "function") - { return context.generator } - } - return false - }; - - pp$7.updateContext = function(prevType) { - var update, type = this.type; - if (type.keyword && prevType === types.dot) - { this.exprAllowed = false; } - else if (update = type.updateContext) - { update.call(this, prevType); } - else - { this.exprAllowed = type.beforeExpr; } - }; - - // Token-specific context update code - - types.parenR.updateContext = types.braceR.updateContext = function() { - if (this.context.length === 1) { - this.exprAllowed = true; - return - } - var out = this.context.pop(); - if (out === types$1.b_stat && this.curContext().token === "function") { - out = this.context.pop(); - } - this.exprAllowed = !out.isExpr; - }; - - types.braceL.updateContext = function(prevType) { - this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr); - this.exprAllowed = true; - }; - - types.dollarBraceL.updateContext = function() { - this.context.push(types$1.b_tmpl); - this.exprAllowed = true; - }; - - types.parenL.updateContext = function(prevType) { - var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while; - this.context.push(statementParens ? types$1.p_stat : types$1.p_expr); - this.exprAllowed = true; - }; - - types.incDec.updateContext = function() { - // tokExprAllowed stays unchanged - }; - - types._function.updateContext = types._class.updateContext = function(prevType) { - if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else && - !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) && - !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat)) - { this.context.push(types$1.f_expr); } - else - { this.context.push(types$1.f_stat); } - this.exprAllowed = false; - }; - - types.backQuote.updateContext = function() { - if (this.curContext() === types$1.q_tmpl) - { this.context.pop(); } - else - { this.context.push(types$1.q_tmpl); } - this.exprAllowed = false; - }; - - types.star.updateContext = function(prevType) { - if (prevType === types._function) { - var index = this.context.length - 1; - if (this.context[index] === types$1.f_expr) - { this.context[index] = types$1.f_expr_gen; } - else - { this.context[index] = types$1.f_gen; } - } - this.exprAllowed = true; - }; - - types.name.updateContext = function(prevType) { - var allowed = false; - if (this.options.ecmaVersion >= 6 && prevType !== types.dot) { - if (this.value === "of" && !this.exprAllowed || - this.value === "yield" && this.inGeneratorContext()) - { allowed = true; } - } - this.exprAllowed = allowed; - }; - - // This file contains Unicode properties extracted from the ECMAScript - // specification. The lists are extracted like so: - // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText) - - // #table-binary-unicode-properties - var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS"; - var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic"; - var ecma11BinaryProperties = ecma10BinaryProperties; - var unicodeBinaryProperties = { - 9: ecma9BinaryProperties, - 10: ecma10BinaryProperties, - 11: ecma11BinaryProperties - }; - - // #table-unicode-general-category-values - var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu"; - - // #table-unicode-script-values - var ecma9ScriptValues = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb"; - var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd"; - var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"; - var unicodeScriptValues = { - 9: ecma9ScriptValues, - 10: ecma10ScriptValues, - 11: ecma11ScriptValues - }; - - var data = {}; - function buildUnicodeData(ecmaVersion) { - var d = data[ecmaVersion] = { - binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues), - nonBinary: { - General_Category: wordsRegexp(unicodeGeneralCategoryValues), - Script: wordsRegexp(unicodeScriptValues[ecmaVersion]) - } - }; - d.nonBinary.Script_Extensions = d.nonBinary.Script; - - d.nonBinary.gc = d.nonBinary.General_Category; - d.nonBinary.sc = d.nonBinary.Script; - d.nonBinary.scx = d.nonBinary.Script_Extensions; - } - buildUnicodeData(9); - buildUnicodeData(10); - buildUnicodeData(11); - - var pp$8 = Parser.prototype; - - var RegExpValidationState = function RegExpValidationState(parser) { - this.parser = parser; - this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : ""); - this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion]; - this.source = ""; - this.flags = ""; - this.start = 0; - this.switchU = false; - this.switchN = false; - this.pos = 0; - this.lastIntValue = 0; - this.lastStringValue = ""; - this.lastAssertionIsQuantifiable = false; - this.numCapturingParens = 0; - this.maxBackReference = 0; - this.groupNames = []; - this.backReferenceNames = []; - }; - - RegExpValidationState.prototype.reset = function reset (start, pattern, flags) { - var unicode = flags.indexOf("u") !== -1; - this.start = start | 0; - this.source = pattern + ""; - this.flags = flags; - this.switchU = unicode && this.parser.options.ecmaVersion >= 6; - this.switchN = unicode && this.parser.options.ecmaVersion >= 9; - }; - - RegExpValidationState.prototype.raise = function raise (message) { - this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message)); - }; - - // If u flag is given, this returns the code point at the index (it combines a surrogate pair). - // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair). - RegExpValidationState.prototype.at = function at (i, forceU) { - if ( forceU === void 0 ) forceU = false; - - var s = this.source; - var l = s.length; - if (i >= l) { - return -1 - } - var c = s.charCodeAt(i); - if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { - return c - } - var next = s.charCodeAt(i + 1); - return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c - }; - - RegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) { - if ( forceU === void 0 ) forceU = false; - - var s = this.source; - var l = s.length; - if (i >= l) { - return l - } - var c = s.charCodeAt(i), next; - if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l || - (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) { - return i + 1 - } - return i + 2 - }; - - RegExpValidationState.prototype.current = function current (forceU) { - if ( forceU === void 0 ) forceU = false; - - return this.at(this.pos, forceU) - }; - - RegExpValidationState.prototype.lookahead = function lookahead (forceU) { - if ( forceU === void 0 ) forceU = false; - - return this.at(this.nextIndex(this.pos, forceU), forceU) - }; - - RegExpValidationState.prototype.advance = function advance (forceU) { - if ( forceU === void 0 ) forceU = false; - - this.pos = this.nextIndex(this.pos, forceU); - }; - - RegExpValidationState.prototype.eat = function eat (ch, forceU) { - if ( forceU === void 0 ) forceU = false; - - if (this.current(forceU) === ch) { - this.advance(forceU); - return true - } - return false - }; - - function codePointToString(ch) { - if (ch <= 0xFFFF) { return String.fromCharCode(ch) } - ch -= 0x10000; - return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00) - } - - /** - * Validate the flags part of a given RegExpLiteral. - * - * @param {RegExpValidationState} state The state to validate RegExp. - * @returns {void} - */ - pp$8.validateRegExpFlags = function(state) { - var validFlags = state.validFlags; - var flags = state.flags; - - for (var i = 0; i < flags.length; i++) { - var flag = flags.charAt(i); - if (validFlags.indexOf(flag) === -1) { - this.raise(state.start, "Invalid regular expression flag"); - } - if (flags.indexOf(flag, i + 1) > -1) { - this.raise(state.start, "Duplicate regular expression flag"); - } - } - }; - - /** - * Validate the pattern part of a given RegExpLiteral. - * - * @param {RegExpValidationState} state The state to validate RegExp. - * @returns {void} - */ - pp$8.validateRegExpPattern = function(state) { - this.regexp_pattern(state); - - // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of - // parsing contains a |GroupName|, reparse with the goal symbol - // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError* - // exception if _P_ did not conform to the grammar, if any elements of _P_ - // were not matched by the parse, or if any Early Error conditions exist. - if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) { - state.switchN = true; - this.regexp_pattern(state); - } - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern - pp$8.regexp_pattern = function(state) { - state.pos = 0; - state.lastIntValue = 0; - state.lastStringValue = ""; - state.lastAssertionIsQuantifiable = false; - state.numCapturingParens = 0; - state.maxBackReference = 0; - state.groupNames.length = 0; - state.backReferenceNames.length = 0; - - this.regexp_disjunction(state); - - if (state.pos !== state.source.length) { - // Make the same messages as V8. - if (state.eat(0x29 /* ) */)) { - state.raise("Unmatched ')'"); - } - if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) { - state.raise("Lone quantifier brackets"); - } - } - if (state.maxBackReference > state.numCapturingParens) { - state.raise("Invalid escape"); - } - for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) { - var name = list[i]; - - if (state.groupNames.indexOf(name) === -1) { - state.raise("Invalid named capture referenced"); - } - } - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction - pp$8.regexp_disjunction = function(state) { - this.regexp_alternative(state); - while (state.eat(0x7C /* | */)) { - this.regexp_alternative(state); - } - - // Make the same message as V8. - if (this.regexp_eatQuantifier(state, true)) { - state.raise("Nothing to repeat"); - } - if (state.eat(0x7B /* { */)) { - state.raise("Lone quantifier brackets"); - } - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative - pp$8.regexp_alternative = function(state) { - while (state.pos < state.source.length && this.regexp_eatTerm(state)) - { } - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term - pp$8.regexp_eatTerm = function(state) { - if (this.regexp_eatAssertion(state)) { - // Handle `QuantifiableAssertion Quantifier` alternative. - // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion - // is a QuantifiableAssertion. - if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) { - // Make the same message as V8. - if (state.switchU) { - state.raise("Invalid quantifier"); - } - } - return true - } - - if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) { - this.regexp_eatQuantifier(state); - return true - } - - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion - pp$8.regexp_eatAssertion = function(state) { - var start = state.pos; - state.lastAssertionIsQuantifiable = false; - - // ^, $ - if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) { - return true - } - - // \b \B - if (state.eat(0x5C /* \ */)) { - if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) { - return true - } - state.pos = start; - } - - // Lookahead / Lookbehind - if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) { - var lookbehind = false; - if (this.options.ecmaVersion >= 9) { - lookbehind = state.eat(0x3C /* < */); - } - if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) { - this.regexp_disjunction(state); - if (!state.eat(0x29 /* ) */)) { - state.raise("Unterminated group"); - } - state.lastAssertionIsQuantifiable = !lookbehind; - return true - } - } - - state.pos = start; - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier - pp$8.regexp_eatQuantifier = function(state, noError) { - if ( noError === void 0 ) noError = false; - - if (this.regexp_eatQuantifierPrefix(state, noError)) { - state.eat(0x3F /* ? */); - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix - pp$8.regexp_eatQuantifierPrefix = function(state, noError) { - return ( - state.eat(0x2A /* * */) || - state.eat(0x2B /* + */) || - state.eat(0x3F /* ? */) || - this.regexp_eatBracedQuantifier(state, noError) - ) - }; - pp$8.regexp_eatBracedQuantifier = function(state, noError) { - var start = state.pos; - if (state.eat(0x7B /* { */)) { - var min = 0, max = -1; - if (this.regexp_eatDecimalDigits(state)) { - min = state.lastIntValue; - if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) { - max = state.lastIntValue; - } - if (state.eat(0x7D /* } */)) { - // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term - if (max !== -1 && max < min && !noError) { - state.raise("numbers out of order in {} quantifier"); - } - return true - } - } - if (state.switchU && !noError) { - state.raise("Incomplete quantifier"); - } - state.pos = start; - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom - pp$8.regexp_eatAtom = function(state) { - return ( - this.regexp_eatPatternCharacters(state) || - state.eat(0x2E /* . */) || - this.regexp_eatReverseSolidusAtomEscape(state) || - this.regexp_eatCharacterClass(state) || - this.regexp_eatUncapturingGroup(state) || - this.regexp_eatCapturingGroup(state) - ) - }; - pp$8.regexp_eatReverseSolidusAtomEscape = function(state) { - var start = state.pos; - if (state.eat(0x5C /* \ */)) { - if (this.regexp_eatAtomEscape(state)) { - return true - } - state.pos = start; - } - return false - }; - pp$8.regexp_eatUncapturingGroup = function(state) { - var start = state.pos; - if (state.eat(0x28 /* ( */)) { - if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) { - this.regexp_disjunction(state); - if (state.eat(0x29 /* ) */)) { - return true - } - state.raise("Unterminated group"); - } - state.pos = start; - } - return false - }; - pp$8.regexp_eatCapturingGroup = function(state) { - if (state.eat(0x28 /* ( */)) { - if (this.options.ecmaVersion >= 9) { - this.regexp_groupSpecifier(state); - } else if (state.current() === 0x3F /* ? */) { - state.raise("Invalid group"); - } - this.regexp_disjunction(state); - if (state.eat(0x29 /* ) */)) { - state.numCapturingParens += 1; - return true - } - state.raise("Unterminated group"); - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom - pp$8.regexp_eatExtendedAtom = function(state) { - return ( - state.eat(0x2E /* . */) || - this.regexp_eatReverseSolidusAtomEscape(state) || - this.regexp_eatCharacterClass(state) || - this.regexp_eatUncapturingGroup(state) || - this.regexp_eatCapturingGroup(state) || - this.regexp_eatInvalidBracedQuantifier(state) || - this.regexp_eatExtendedPatternCharacter(state) - ) - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier - pp$8.regexp_eatInvalidBracedQuantifier = function(state) { - if (this.regexp_eatBracedQuantifier(state, true)) { - state.raise("Nothing to repeat"); - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter - pp$8.regexp_eatSyntaxCharacter = function(state) { - var ch = state.current(); - if (isSyntaxCharacter(ch)) { - state.lastIntValue = ch; - state.advance(); - return true - } - return false - }; - function isSyntaxCharacter(ch) { - return ( - ch === 0x24 /* $ */ || - ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ || - ch === 0x2E /* . */ || - ch === 0x3F /* ? */ || - ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ || - ch >= 0x7B /* { */ && ch <= 0x7D /* } */ - ) - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter - // But eat eager. - pp$8.regexp_eatPatternCharacters = function(state) { - var start = state.pos; - var ch = 0; - while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) { - state.advance(); - } - return state.pos !== start - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter - pp$8.regexp_eatExtendedPatternCharacter = function(state) { - var ch = state.current(); - if ( - ch !== -1 && - ch !== 0x24 /* $ */ && - !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) && - ch !== 0x2E /* . */ && - ch !== 0x3F /* ? */ && - ch !== 0x5B /* [ */ && - ch !== 0x5E /* ^ */ && - ch !== 0x7C /* | */ - ) { - state.advance(); - return true - } - return false - }; - - // GroupSpecifier :: - // [empty] - // `?` GroupName - pp$8.regexp_groupSpecifier = function(state) { - if (state.eat(0x3F /* ? */)) { - if (this.regexp_eatGroupName(state)) { - if (state.groupNames.indexOf(state.lastStringValue) !== -1) { - state.raise("Duplicate capture group name"); - } - state.groupNames.push(state.lastStringValue); - return - } - state.raise("Invalid group"); - } - }; - - // GroupName :: - // `<` RegExpIdentifierName `>` - // Note: this updates `state.lastStringValue` property with the eaten name. - pp$8.regexp_eatGroupName = function(state) { - state.lastStringValue = ""; - if (state.eat(0x3C /* < */)) { - if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) { - return true - } - state.raise("Invalid capture group name"); - } - return false - }; - - // RegExpIdentifierName :: - // RegExpIdentifierStart - // RegExpIdentifierName RegExpIdentifierPart - // Note: this updates `state.lastStringValue` property with the eaten name. - pp$8.regexp_eatRegExpIdentifierName = function(state) { - state.lastStringValue = ""; - if (this.regexp_eatRegExpIdentifierStart(state)) { - state.lastStringValue += codePointToString(state.lastIntValue); - while (this.regexp_eatRegExpIdentifierPart(state)) { - state.lastStringValue += codePointToString(state.lastIntValue); - } - return true - } - return false - }; - - // RegExpIdentifierStart :: - // UnicodeIDStart - // `$` - // `_` - // `\` RegExpUnicodeEscapeSequence[+U] - pp$8.regexp_eatRegExpIdentifierStart = function(state) { - var start = state.pos; - var forceU = this.options.ecmaVersion >= 11; - var ch = state.current(forceU); - state.advance(forceU); - - if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { - ch = state.lastIntValue; - } - if (isRegExpIdentifierStart(ch)) { - state.lastIntValue = ch; - return true - } - - state.pos = start; - return false - }; - function isRegExpIdentifierStart(ch) { - return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ - } - - // RegExpIdentifierPart :: - // UnicodeIDContinue - // `$` - // `_` - // `\` RegExpUnicodeEscapeSequence[+U] - // - // - pp$8.regexp_eatRegExpIdentifierPart = function(state) { - var start = state.pos; - var forceU = this.options.ecmaVersion >= 11; - var ch = state.current(forceU); - state.advance(forceU); - - if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { - ch = state.lastIntValue; - } - if (isRegExpIdentifierPart(ch)) { - state.lastIntValue = ch; - return true - } - - state.pos = start; - return false - }; - function isRegExpIdentifierPart(ch) { - return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */ - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape - pp$8.regexp_eatAtomEscape = function(state) { - if ( - this.regexp_eatBackReference(state) || - this.regexp_eatCharacterClassEscape(state) || - this.regexp_eatCharacterEscape(state) || - (state.switchN && this.regexp_eatKGroupName(state)) - ) { - return true - } - if (state.switchU) { - // Make the same message as V8. - if (state.current() === 0x63 /* c */) { - state.raise("Invalid unicode escape"); - } - state.raise("Invalid escape"); - } - return false - }; - pp$8.regexp_eatBackReference = function(state) { - var start = state.pos; - if (this.regexp_eatDecimalEscape(state)) { - var n = state.lastIntValue; - if (state.switchU) { - // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape - if (n > state.maxBackReference) { - state.maxBackReference = n; - } - return true - } - if (n <= state.numCapturingParens) { - return true - } - state.pos = start; - } - return false - }; - pp$8.regexp_eatKGroupName = function(state) { - if (state.eat(0x6B /* k */)) { - if (this.regexp_eatGroupName(state)) { - state.backReferenceNames.push(state.lastStringValue); - return true - } - state.raise("Invalid named reference"); - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape - pp$8.regexp_eatCharacterEscape = function(state) { - return ( - this.regexp_eatControlEscape(state) || - this.regexp_eatCControlLetter(state) || - this.regexp_eatZero(state) || - this.regexp_eatHexEscapeSequence(state) || - this.regexp_eatRegExpUnicodeEscapeSequence(state, false) || - (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) || - this.regexp_eatIdentityEscape(state) - ) - }; - pp$8.regexp_eatCControlLetter = function(state) { - var start = state.pos; - if (state.eat(0x63 /* c */)) { - if (this.regexp_eatControlLetter(state)) { - return true - } - state.pos = start; - } - return false - }; - pp$8.regexp_eatZero = function(state) { - if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) { - state.lastIntValue = 0; - state.advance(); - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape - pp$8.regexp_eatControlEscape = function(state) { - var ch = state.current(); - if (ch === 0x74 /* t */) { - state.lastIntValue = 0x09; /* \t */ - state.advance(); - return true - } - if (ch === 0x6E /* n */) { - state.lastIntValue = 0x0A; /* \n */ - state.advance(); - return true - } - if (ch === 0x76 /* v */) { - state.lastIntValue = 0x0B; /* \v */ - state.advance(); - return true - } - if (ch === 0x66 /* f */) { - state.lastIntValue = 0x0C; /* \f */ - state.advance(); - return true - } - if (ch === 0x72 /* r */) { - state.lastIntValue = 0x0D; /* \r */ - state.advance(); - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter - pp$8.regexp_eatControlLetter = function(state) { - var ch = state.current(); - if (isControlLetter(ch)) { - state.lastIntValue = ch % 0x20; - state.advance(); - return true - } - return false - }; - function isControlLetter(ch) { - return ( - (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) || - (ch >= 0x61 /* a */ && ch <= 0x7A /* z */) - ) - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence - pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) { - if ( forceU === void 0 ) forceU = false; - - var start = state.pos; - var switchU = forceU || state.switchU; - - if (state.eat(0x75 /* u */)) { - if (this.regexp_eatFixedHexDigits(state, 4)) { - var lead = state.lastIntValue; - if (switchU && lead >= 0xD800 && lead <= 0xDBFF) { - var leadSurrogateEnd = state.pos; - if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) { - var trail = state.lastIntValue; - if (trail >= 0xDC00 && trail <= 0xDFFF) { - state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; - return true - } - } - state.pos = leadSurrogateEnd; - state.lastIntValue = lead; - } - return true - } - if ( - switchU && - state.eat(0x7B /* { */) && - this.regexp_eatHexDigits(state) && - state.eat(0x7D /* } */) && - isValidUnicode(state.lastIntValue) - ) { - return true - } - if (switchU) { - state.raise("Invalid unicode escape"); - } - state.pos = start; - } - - return false - }; - function isValidUnicode(ch) { - return ch >= 0 && ch <= 0x10FFFF - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape - pp$8.regexp_eatIdentityEscape = function(state) { - if (state.switchU) { - if (this.regexp_eatSyntaxCharacter(state)) { - return true - } - if (state.eat(0x2F /* / */)) { - state.lastIntValue = 0x2F; /* / */ - return true - } - return false - } - - var ch = state.current(); - if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) { - state.lastIntValue = ch; - state.advance(); - return true - } - - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape - pp$8.regexp_eatDecimalEscape = function(state) { - state.lastIntValue = 0; - var ch = state.current(); - if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) { - do { - state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */); - state.advance(); - } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape - pp$8.regexp_eatCharacterClassEscape = function(state) { - var ch = state.current(); - - if (isCharacterClassEscape(ch)) { - state.lastIntValue = -1; - state.advance(); - return true - } - - if ( - state.switchU && - this.options.ecmaVersion >= 9 && - (ch === 0x50 /* P */ || ch === 0x70 /* p */) - ) { - state.lastIntValue = -1; - state.advance(); - if ( - state.eat(0x7B /* { */) && - this.regexp_eatUnicodePropertyValueExpression(state) && - state.eat(0x7D /* } */) - ) { - return true - } - state.raise("Invalid property name"); - } - - return false - }; - function isCharacterClassEscape(ch) { - return ( - ch === 0x64 /* d */ || - ch === 0x44 /* D */ || - ch === 0x73 /* s */ || - ch === 0x53 /* S */ || - ch === 0x77 /* w */ || - ch === 0x57 /* W */ - ) - } - - // UnicodePropertyValueExpression :: - // UnicodePropertyName `=` UnicodePropertyValue - // LoneUnicodePropertyNameOrValue - pp$8.regexp_eatUnicodePropertyValueExpression = function(state) { - var start = state.pos; - - // UnicodePropertyName `=` UnicodePropertyValue - if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) { - var name = state.lastStringValue; - if (this.regexp_eatUnicodePropertyValue(state)) { - var value = state.lastStringValue; - this.regexp_validateUnicodePropertyNameAndValue(state, name, value); - return true - } - } - state.pos = start; - - // LoneUnicodePropertyNameOrValue - if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) { - var nameOrValue = state.lastStringValue; - this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue); - return true - } - return false - }; - pp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) { - if (!has(state.unicodeProperties.nonBinary, name)) - { state.raise("Invalid property name"); } - if (!state.unicodeProperties.nonBinary[name].test(value)) - { state.raise("Invalid property value"); } - }; - pp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) { - if (!state.unicodeProperties.binary.test(nameOrValue)) - { state.raise("Invalid property name"); } - }; - - // UnicodePropertyName :: - // UnicodePropertyNameCharacters - pp$8.regexp_eatUnicodePropertyName = function(state) { - var ch = 0; - state.lastStringValue = ""; - while (isUnicodePropertyNameCharacter(ch = state.current())) { - state.lastStringValue += codePointToString(ch); - state.advance(); - } - return state.lastStringValue !== "" - }; - function isUnicodePropertyNameCharacter(ch) { - return isControlLetter(ch) || ch === 0x5F /* _ */ - } - - // UnicodePropertyValue :: - // UnicodePropertyValueCharacters - pp$8.regexp_eatUnicodePropertyValue = function(state) { - var ch = 0; - state.lastStringValue = ""; - while (isUnicodePropertyValueCharacter(ch = state.current())) { - state.lastStringValue += codePointToString(ch); - state.advance(); - } - return state.lastStringValue !== "" - }; - function isUnicodePropertyValueCharacter(ch) { - return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch) - } - - // LoneUnicodePropertyNameOrValue :: - // UnicodePropertyValueCharacters - pp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) { - return this.regexp_eatUnicodePropertyValue(state) - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass - pp$8.regexp_eatCharacterClass = function(state) { - if (state.eat(0x5B /* [ */)) { - state.eat(0x5E /* ^ */); - this.regexp_classRanges(state); - if (state.eat(0x5D /* ] */)) { - return true - } - // Unreachable since it threw "unterminated regular expression" error before. - state.raise("Unterminated character class"); - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges - // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges - // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash - pp$8.regexp_classRanges = function(state) { - while (this.regexp_eatClassAtom(state)) { - var left = state.lastIntValue; - if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) { - var right = state.lastIntValue; - if (state.switchU && (left === -1 || right === -1)) { - state.raise("Invalid character class"); - } - if (left !== -1 && right !== -1 && left > right) { - state.raise("Range out of order in character class"); - } - } - } - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom - // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash - pp$8.regexp_eatClassAtom = function(state) { - var start = state.pos; - - if (state.eat(0x5C /* \ */)) { - if (this.regexp_eatClassEscape(state)) { - return true - } - if (state.switchU) { - // Make the same message as V8. - var ch$1 = state.current(); - if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) { - state.raise("Invalid class escape"); - } - state.raise("Invalid escape"); - } - state.pos = start; - } - - var ch = state.current(); - if (ch !== 0x5D /* ] */) { - state.lastIntValue = ch; - state.advance(); - return true - } - - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape - pp$8.regexp_eatClassEscape = function(state) { - var start = state.pos; - - if (state.eat(0x62 /* b */)) { - state.lastIntValue = 0x08; /* */ - return true - } - - if (state.switchU && state.eat(0x2D /* - */)) { - state.lastIntValue = 0x2D; /* - */ - return true - } - - if (!state.switchU && state.eat(0x63 /* c */)) { - if (this.regexp_eatClassControlLetter(state)) { - return true - } - state.pos = start; - } - - return ( - this.regexp_eatCharacterClassEscape(state) || - this.regexp_eatCharacterEscape(state) - ) - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter - pp$8.regexp_eatClassControlLetter = function(state) { - var ch = state.current(); - if (isDecimalDigit(ch) || ch === 0x5F /* _ */) { - state.lastIntValue = ch % 0x20; - state.advance(); - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence - pp$8.regexp_eatHexEscapeSequence = function(state) { - var start = state.pos; - if (state.eat(0x78 /* x */)) { - if (this.regexp_eatFixedHexDigits(state, 2)) { - return true - } - if (state.switchU) { - state.raise("Invalid escape"); - } - state.pos = start; - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits - pp$8.regexp_eatDecimalDigits = function(state) { - var start = state.pos; - var ch = 0; - state.lastIntValue = 0; - while (isDecimalDigit(ch = state.current())) { - state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */); - state.advance(); - } - return state.pos !== start - }; - function isDecimalDigit(ch) { - return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */ - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits - pp$8.regexp_eatHexDigits = function(state) { - var start = state.pos; - var ch = 0; - state.lastIntValue = 0; - while (isHexDigit(ch = state.current())) { - state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch); - state.advance(); - } - return state.pos !== start - }; - function isHexDigit(ch) { - return ( - (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) || - (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) || - (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) - ) - } - function hexToInt(ch) { - if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) { - return 10 + (ch - 0x41 /* A */) - } - if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) { - return 10 + (ch - 0x61 /* a */) - } - return ch - 0x30 /* 0 */ - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence - // Allows only 0-377(octal) i.e. 0-255(decimal). - pp$8.regexp_eatLegacyOctalEscapeSequence = function(state) { - if (this.regexp_eatOctalDigit(state)) { - var n1 = state.lastIntValue; - if (this.regexp_eatOctalDigit(state)) { - var n2 = state.lastIntValue; - if (n1 <= 3 && this.regexp_eatOctalDigit(state)) { - state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue; - } else { - state.lastIntValue = n1 * 8 + n2; - } - } else { - state.lastIntValue = n1; - } - return true - } - return false - }; - - // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit - pp$8.regexp_eatOctalDigit = function(state) { - var ch = state.current(); - if (isOctalDigit(ch)) { - state.lastIntValue = ch - 0x30; /* 0 */ - state.advance(); - return true - } - state.lastIntValue = 0; - return false - }; - function isOctalDigit(ch) { - return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */ - } - - // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits - // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit - // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence - pp$8.regexp_eatFixedHexDigits = function(state, length) { - var start = state.pos; - state.lastIntValue = 0; - for (var i = 0; i < length; ++i) { - var ch = state.current(); - if (!isHexDigit(ch)) { - state.pos = start; - return false - } - state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch); - state.advance(); - } - return true - }; - - // Object type used to represent tokens. Note that normally, tokens - // simply exist as properties on the parser object. This is only - // used for the onToken callback and the external tokenizer. - - var Token = function Token(p) { - this.type = p.type; - this.value = p.value; - this.start = p.start; - this.end = p.end; - if (p.options.locations) - { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); } - if (p.options.ranges) - { this.range = [p.start, p.end]; } - }; - - // ## Tokenizer - - var pp$9 = Parser.prototype; - - // Move to the next token - - pp$9.next = function(ignoreEscapeSequenceInKeyword) { - if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc) - { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); } - if (this.options.onToken) - { this.options.onToken(new Token(this)); } - - this.lastTokEnd = this.end; - this.lastTokStart = this.start; - this.lastTokEndLoc = this.endLoc; - this.lastTokStartLoc = this.startLoc; - this.nextToken(); - }; - - pp$9.getToken = function() { - this.next(); - return new Token(this) - }; - - // If we're in an ES6 environment, make parsers iterable - if (typeof Symbol !== "undefined") - { pp$9[Symbol.iterator] = function() { - var this$1 = this; - - return { - next: function () { - var token = this$1.getToken(); - return { - done: token.type === types.eof, - value: token - } - } - } - }; } - - // Toggle strict mode. Re-reads the next number or string to please - // pedantic tests (`"use strict"; 010;` should fail). - - pp$9.curContext = function() { - return this.context[this.context.length - 1] - }; - - // Read a single token, updating the parser object's token-related - // properties. - - pp$9.nextToken = function() { - var curContext = this.curContext(); - if (!curContext || !curContext.preserveSpace) { this.skipSpace(); } - - this.start = this.pos; - if (this.options.locations) { this.startLoc = this.curPosition(); } - if (this.pos >= this.input.length) { return this.finishToken(types.eof) } - - if (curContext.override) { return curContext.override(this) } - else { this.readToken(this.fullCharCodeAtPos()); } - }; - - pp$9.readToken = function(code) { - // Identifier or keyword. '\uXXXX' sequences are allowed in - // identifiers, so '\' also dispatches to that. - if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */) - { return this.readWord() } - - return this.getTokenFromCode(code) - }; - - pp$9.fullCharCodeAtPos = function() { - var code = this.input.charCodeAt(this.pos); - if (code <= 0xd7ff || code >= 0xe000) { return code } - var next = this.input.charCodeAt(this.pos + 1); - return (code << 10) + next - 0x35fdc00 - }; - - pp$9.skipBlockComment = function() { - var startLoc = this.options.onComment && this.curPosition(); - var start = this.pos, end = this.input.indexOf("*/", this.pos += 2); - if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); } - this.pos = end + 2; - if (this.options.locations) { - lineBreakG.lastIndex = start; - var match; - while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) { - ++this.curLine; - this.lineStart = match.index + match[0].length; - } - } - if (this.options.onComment) - { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, - startLoc, this.curPosition()); } - }; - - pp$9.skipLineComment = function(startSkip) { - var start = this.pos; - var startLoc = this.options.onComment && this.curPosition(); - var ch = this.input.charCodeAt(this.pos += startSkip); - while (this.pos < this.input.length && !isNewLine(ch)) { - ch = this.input.charCodeAt(++this.pos); - } - if (this.options.onComment) - { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, - startLoc, this.curPosition()); } - }; - - // Called at the start of the parse and after every token. Skips - // whitespace and comments, and. - - pp$9.skipSpace = function() { - loop: while (this.pos < this.input.length) { - var ch = this.input.charCodeAt(this.pos); - switch (ch) { - case 32: case 160: // ' ' - ++this.pos; - break - case 13: - if (this.input.charCodeAt(this.pos + 1) === 10) { - ++this.pos; - } - case 10: case 8232: case 8233: - ++this.pos; - if (this.options.locations) { - ++this.curLine; - this.lineStart = this.pos; - } - break - case 47: // '/' - switch (this.input.charCodeAt(this.pos + 1)) { - case 42: // '*' - this.skipBlockComment(); - break - case 47: - this.skipLineComment(2); - break - default: - break loop - } - break - default: - if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { - ++this.pos; - } else { - break loop - } - } - } - }; - - // Called at the end of every token. Sets `end`, `val`, and - // maintains `context` and `exprAllowed`, and skips the space after - // the token, so that the next one's `start` will point at the - // right position. - - pp$9.finishToken = function(type, val) { - this.end = this.pos; - if (this.options.locations) { this.endLoc = this.curPosition(); } - var prevType = this.type; - this.type = type; - this.value = val; - - this.updateContext(prevType); - }; - - // ### Token reading - - // This is the function that is called to fetch the next token. It - // is somewhat obscure, because it works in character codes rather - // than characters, and because operator parsing has been inlined - // into it. - // - // All in the name of speed. - // - pp$9.readToken_dot = function() { - var next = this.input.charCodeAt(this.pos + 1); - if (next >= 48 && next <= 57) { return this.readNumber(true) } - var next2 = this.input.charCodeAt(this.pos + 2); - if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.' - this.pos += 3; - return this.finishToken(types.ellipsis) - } else { - ++this.pos; - return this.finishToken(types.dot) - } - }; - - pp$9.readToken_slash = function() { // '/' - var next = this.input.charCodeAt(this.pos + 1); - if (this.exprAllowed) { ++this.pos; return this.readRegexp() } - if (next === 61) { return this.finishOp(types.assign, 2) } - return this.finishOp(types.slash, 1) - }; - - pp$9.readToken_mult_modulo_exp = function(code) { // '%*' - var next = this.input.charCodeAt(this.pos + 1); - var size = 1; - var tokentype = code === 42 ? types.star : types.modulo; - - // exponentiation operator ** and **= - if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) { - ++size; - tokentype = types.starstar; - next = this.input.charCodeAt(this.pos + 2); - } - - if (next === 61) { return this.finishOp(types.assign, size + 1) } - return this.finishOp(tokentype, size) - }; - - pp$9.readToken_pipe_amp = function(code) { // '|&' - var next = this.input.charCodeAt(this.pos + 1); - if (next === code) { - if (this.options.ecmaVersion >= 12) { - var next2 = this.input.charCodeAt(this.pos + 2); - if (next2 === 61) { return this.finishOp(types.assign, 3) } - } - return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) - } - if (next === 61) { return this.finishOp(types.assign, 2) } - return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1) - }; - - pp$9.readToken_caret = function() { // '^' - var next = this.input.charCodeAt(this.pos + 1); - if (next === 61) { return this.finishOp(types.assign, 2) } - return this.finishOp(types.bitwiseXOR, 1) - }; - - pp$9.readToken_plus_min = function(code) { // '+-' - var next = this.input.charCodeAt(this.pos + 1); - if (next === code) { - if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && - (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) { - // A `-->` line comment - this.skipLineComment(3); - this.skipSpace(); - return this.nextToken() - } - return this.finishOp(types.incDec, 2) - } - if (next === 61) { return this.finishOp(types.assign, 2) } - return this.finishOp(types.plusMin, 1) - }; - - pp$9.readToken_lt_gt = function(code) { // '<>' - var next = this.input.charCodeAt(this.pos + 1); - var size = 1; - if (next === code) { - size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; - if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) } - return this.finishOp(types.bitShift, size) - } - if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && - this.input.charCodeAt(this.pos + 3) === 45) { - // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment - this.skipLineComment(3); - this.skipSpace(); - return this.nextToken() - } - return this.finishOp(types.incDec, 2) - } - if (next === 61) { return this.finishOp(types.assign, 2) } - return this.finishOp(types.plusMin, 1) -}; - -pp$9.readToken_lt_gt = function(code) { // '<>' - var next = this.input.charCodeAt(this.pos + 1); - var size = 1; - if (next === code) { - size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; - if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) } - return this.finishOp(types.bitShift, size) - } - if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && - this.input.charCodeAt(this.pos + 3) === 45) { - // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // ` -[downloads-image]: https://img.shields.io/npm/dm/glob-parent.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/glob-parent -[npm-image]: https://img.shields.io/npm/v/glob-parent.svg?style=flat-square - -[ci-url]: https://github.com/gulpjs/glob-parent/actions?query=workflow:dev -[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/glob-parent/dev?style=flat-square - -[coveralls-url]: https://coveralls.io/r/gulpjs/glob-parent -[coveralls-image]: https://img.shields.io/coveralls/gulpjs/glob-parent/master.svg?style=flat-square - - - [expand-braces]: https://github.com/jonschlinkert/expand-braces [expand-brackets]: https://github.com/jonschlinkert/expand-brackets - + +[downloads-image]: https://img.shields.io/npm/dm/glob-parent.svg +[npm-url]: https://www.npmjs.com/package/glob-parent +[npm-image]: https://img.shields.io/npm/v/glob-parent.svg + +[azure-pipelines-url]: https://dev.azure.com/gulpjs/gulp/_build/latest?definitionId=2&branchName=master +[azure-pipelines-image]: https://dev.azure.com/gulpjs/gulp/_apis/build/status/glob-parent?branchName=master + +[travis-url]: https://travis-ci.org/gulpjs/glob-parent +[travis-image]: https://img.shields.io/travis/gulpjs/glob-parent.svg?label=travis-ci + +[appveyor-url]: https://ci.appveyor.com/project/gulpjs/glob-parent +[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/glob-parent.svg?label=appveyor + +[coveralls-url]: https://coveralls.io/r/gulpjs/glob-parent +[coveralls-image]: https://img.shields.io/coveralls/gulpjs/glob-parent/master.svg + +[gitter-url]: https://gitter.im/gulpjs/gulp +[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/node_modules/glob-parent/index.js b/node_modules/glob-parent/index.js index 292d24f88..09e257ea3 100644 --- a/node_modules/glob-parent/index.js +++ b/node_modules/glob-parent/index.js @@ -6,13 +6,15 @@ var isWin32 = require('os').platform() === 'win32'; var slash = '/'; var backslash = /\\/g; -var globby = /(^|[^\\])([{[]|\([^)]+$)/; -var escaped = /\\([!*?|[\](){}])/g; +var enclosure = /[\{\[].*[\}\]]$/; +var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; /** * @param {string} str * @param {Object} opts * @param {boolean} [opts.flipBackslashes=true] + * @returns {string} */ module.exports = function globParent(str, opts) { var options = Object.assign({ flipBackslashes: true }, opts); @@ -23,7 +25,7 @@ module.exports = function globParent(str, opts) { } // special case for strings ending in enclosure containing path separator - if (isEnclosure(str)) { + if (enclosure.test(str)) { str += slash; } @@ -38,26 +40,3 @@ module.exports = function globParent(str, opts) { // remove escape chars and return result return str.replace(escaped, '$1'); }; - -function isEnclosure(str) { - var lastChar = str.slice(-1); - - var enclosureStart; - switch (lastChar) { - case '}': - enclosureStart = '{'; - break; - case ']': - enclosureStart = '['; - break; - default: - return false; - } - - var foundIndex = str.indexOf(enclosureStart); - if (foundIndex < 0) { - return false; - } - - return str.slice(foundIndex + 1, -1).includes(slash); -} diff --git a/node_modules/glob-parent/package.json b/node_modules/glob-parent/package.json index c191a73bc..97b835035 100644 --- a/node_modules/glob-parent/package.json +++ b/node_modules/glob-parent/package.json @@ -1,6 +1,6 @@ { "name": "glob-parent", - "version": "6.0.1", + "version": "5.1.2", "description": "Extract the non-magic parent path from a glob string.", "author": "Gulp Team (https://gulpjs.com/)", "contributors": [ @@ -10,7 +10,7 @@ "repository": "gulpjs/glob-parent", "license": "ISC", "engines": { - "node": ">=10.13.0" + "node": ">= 6" }, "main": "index.js", "files": [ @@ -20,26 +20,20 @@ "scripts": { "lint": "eslint .", "pretest": "npm run lint", - "test": "nyc mocha --async-only" + "test": "nyc mocha --async-only", + "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit", + "coveralls": "nyc report --reporter=text-lcov | coveralls" }, "dependencies": { "is-glob": "^4.0.1" }, "devDependencies": { - "eslint": "^7.0.0", - "eslint-config-gulp": "^5.0.0", - "expect": "^26.0.1", - "mocha": "^7.1.2", - "nyc": "^15.0.1" - }, - "nyc": { - "reporter": [ - "lcov", - "text-summary" - ] - }, - "prettier": { - "singleQuote": true + "coveralls": "^3.0.11", + "eslint": "^2.13.1", + "eslint-config-gulp": "^3.0.1", + "expect": "^1.20.2", + "mocha": "^6.0.2", + "nyc": "^13.3.0" }, "keywords": [ "glob", diff --git a/node_modules/globals/globals.json b/node_modules/globals/globals.json index b85dc3f80..334ff3e01 100644 --- a/node_modules/globals/globals.json +++ b/node_modules/globals/globals.json @@ -1,5 +1,6 @@ { "builtin": { + "AggregateError": false, "Array": false, "ArrayBuffer": false, "Atomics": false, @@ -18,6 +19,7 @@ "escape": false, "eval": false, "EvalError": false, + "FinalizationRegistry": false, "Float32Array": false, "Float64Array": false, "Function": false, @@ -62,6 +64,7 @@ "URIError": false, "valueOf": false, "WeakMap": false, + "WeakRef": false, "WeakSet": false }, "es5": { @@ -224,6 +227,139 @@ "WeakMap": false, "WeakSet": false }, + "es2020": { + "Array": false, + "ArrayBuffer": false, + "Atomics": false, + "BigInt": false, + "BigInt64Array": false, + "BigUint64Array": false, + "Boolean": false, + "constructor": false, + "DataView": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "Float32Array": false, + "Float64Array": false, + "Function": false, + "globalThis": false, + "hasOwnProperty": false, + "Infinity": false, + "Int16Array": false, + "Int32Array": false, + "Int8Array": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Map": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "Promise": false, + "propertyIsEnumerable": false, + "Proxy": false, + "RangeError": false, + "ReferenceError": false, + "Reflect": false, + "RegExp": false, + "Set": false, + "SharedArrayBuffer": false, + "String": false, + "Symbol": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "Uint16Array": false, + "Uint32Array": false, + "Uint8Array": false, + "Uint8ClampedArray": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false, + "WeakMap": false, + "WeakSet": false + }, + "es2021": { + "AggregateError": false, + "Array": false, + "ArrayBuffer": false, + "Atomics": false, + "BigInt": false, + "BigInt64Array": false, + "BigUint64Array": false, + "Boolean": false, + "constructor": false, + "DataView": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "FinalizationRegistry": false, + "Float32Array": false, + "Float64Array": false, + "Function": false, + "globalThis": false, + "hasOwnProperty": false, + "Infinity": false, + "Int16Array": false, + "Int32Array": false, + "Int8Array": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Map": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "Promise": false, + "propertyIsEnumerable": false, + "Proxy": false, + "RangeError": false, + "ReferenceError": false, + "Reflect": false, + "RegExp": false, + "Set": false, + "SharedArrayBuffer": false, + "String": false, + "Symbol": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "Uint16Array": false, + "Uint32Array": false, + "Uint8Array": false, + "Uint8ClampedArray": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false, + "WeakMap": false, + "WeakRef": false, + "WeakSet": false + }, "browser": { "AbortController": false, "AbortSignal": false, @@ -306,15 +442,24 @@ "CSSImportRule": false, "CSSKeyframeRule": false, "CSSKeyframesRule": false, + "CSSMatrixComponent": false, "CSSMediaRule": false, "CSSNamespaceRule": false, "CSSPageRule": false, + "CSSPerspective": false, + "CSSRotate": false, "CSSRule": false, "CSSRuleList": false, + "CSSScale": false, + "CSSSkew": false, + "CSSSkewX": false, + "CSSSkewY": false, "CSSStyleDeclaration": false, "CSSStyleRule": false, "CSSStyleSheet": false, "CSSSupportsRule": false, + "CSSTransformValue": false, + "CSSTranslate": false, "CustomElementRegistry": false, "customElements": false, "CustomEvent": false, @@ -342,6 +487,7 @@ "DOMPointReadOnly": false, "DOMQuad": false, "DOMRect": false, + "DOMRectList": false, "DOMRectReadOnly": false, "DOMStringList": false, "DOMStringMap": false, @@ -546,6 +692,7 @@ "OfflineAudioContext": false, "offscreenBuffering": false, "OffscreenCanvas": true, + "OffscreenCanvasRenderingContext2D": false, "onabort": true, "onafterprint": true, "onanimationend": true, @@ -650,6 +797,7 @@ "OscillatorNode": false, "outerHeight": false, "outerWidth": false, + "OverconstrainedError": false, "PageTransitionEvent": false, "pageXOffset": false, "pageYOffset": false, @@ -1007,6 +1155,7 @@ "node": { "__dirname": false, "__filename": false, + "AbortController": false, "Buffer": false, "clearImmediate": false, "clearInterval": false, @@ -1028,6 +1177,7 @@ "URLSearchParams": false }, "nodeBuiltin": { + "AbortController": false, "Buffer": false, "clearImmediate": false, "clearInterval": false, @@ -1203,20 +1353,19 @@ "quit": false }, "wsh": { - "ActiveXObject": true, - "CollectGarbage": true, - "Debug": true, - "Enumerator": true, - "GetObject": true, - "RuntimeObject": true, - "ScriptEngine": true, - "ScriptEngineBuildVersion": true, - "ScriptEngineMajorVersion": true, - "ScriptEngineMinorVersion": true, - "VBArray": true, - "WScript": true, - "WSH": true, - "XDomainRequest": true + "ActiveXObject": false, + "CollectGarbage": false, + "Debug": false, + "Enumerator": false, + "GetObject": false, + "RuntimeObject": false, + "ScriptEngine": false, + "ScriptEngineBuildVersion": false, + "ScriptEngineMajorVersion": false, + "ScriptEngineMinorVersion": false, + "VBArray": false, + "WScript": false, + "WSH": false }, "jquery": { "$": false, @@ -1299,7 +1448,6 @@ "Try": false }, "meteor": { - "_": false, "$": false, "Accounts": false, "AccountsClient": false, @@ -1485,6 +1633,7 @@ }, "atomtest": { "advanceClock": false, + "atom": false, "fakeClearInterval": false, "fakeClearTimeout": false, "fakeSetInterval": false, @@ -1539,17 +1688,25 @@ "exportFunction": false, "GM": false, "GM_addStyle": false, + "GM_addValueChangeListener": false, "GM_deleteValue": false, + "GM_download": false, "GM_getResourceText": false, "GM_getResourceURL": false, + "GM_getTab": false, + "GM_getTabs": false, "GM_getValue": false, "GM_info": false, "GM_listValues": false, "GM_log": false, + "GM_notification": false, "GM_openInTab": false, "GM_registerMenuCommand": false, + "GM_removeValueChangeListener": false, + "GM_saveTab": false, "GM_setClipboard": false, "GM_setValue": false, + "GM_unregisterMenuCommand": false, "GM_xmlhttpRequest": false, "unsafeWindow": false }, diff --git a/node_modules/globals/package.json b/node_modules/globals/package.json index eeeced780..cacf57f38 100644 --- a/node_modules/globals/package.json +++ b/node_modules/globals/package.json @@ -1,6 +1,6 @@ { "name": "globals", - "version": "12.4.0", + "version": "13.10.0", "description": "Global identifiers from different JavaScript environments", "license": "MIT", "repository": "sindresorhus/globals", @@ -32,17 +32,20 @@ "environments" ], "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "devDependencies": { - "ava": "^2.2.0", - "tsd": "^0.9.0", - "xo": "^0.25.3" + "ava": "^2.4.0", + "tsd": "^0.14.0", + "xo": "^0.36.1" }, "xo": { "ignores": [ "get-browser-globals.js" - ] + ], + "rules": { + "node/no-unsupported-features/es-syntax": "off" + } }, "tsd": { "compilerOptions": { diff --git a/node_modules/globals/readme.md b/node_modules/globals/readme.md index fdcfa087a..0ef22c304 100644 --- a/node_modules/globals/readme.md +++ b/node_modules/globals/readme.md @@ -1,12 +1,12 @@ -# globals [![Build Status](https://travis-ci.org/sindresorhus/globals.svg?branch=master)](https://travis-ci.org/sindresorhus/globals) +# globals > Global identifiers from different JavaScript environments -Extracted from [JSHint](https://github.com/jshint/jshint/blob/3a8efa979dbb157bfb5c10b5826603a55a33b9ad/src/vars.js) and [ESLint](https://github.com/eslint/eslint/blob/b648406218f8a2d7302b98f5565e23199f44eb31/conf/environments.json) and merged. +It's just a [JSON file](globals.json), so use it in any environment. -It's just a [JSON file](globals.json), so use it in whatever environment you like. +This package is used by ESLint. -**This module [no longer accepts](https://github.com/sindresorhus/globals/issues/82) new environments. If you need it for ESLint, just [create a plugin](http://eslint.org/docs/developer-guide/working-with-plugins#environments-in-plugins).** +**This package [no longer accepts](https://github.com/sindresorhus/globals/issues/82) new environments. If you need it for ESLint, just [create a plugin](http://eslint.org/docs/developer-guide/working-with-plugins#environments-in-plugins).** ## Install diff --git a/node_modules/globby/gitignore.js b/node_modules/globby/gitignore.js index 3feaad622..2f77baaaa 100644 --- a/node_modules/globby/gitignore.js +++ b/node_modules/globby/gitignore.js @@ -34,18 +34,21 @@ const parseGitIgnore = (content, options) => { }; const reduceIgnore = files => { - return files.reduce((ignores, file) => { + const ignores = gitIgnore(); + for (const file of files) { ignores.add(parseGitIgnore(file.content, { cwd: file.cwd, fileName: file.filePath })); - return ignores; - }, gitIgnore()); + } + + return ignores; }; const ensureAbsolutePathForCwd = (cwd, p) => { + cwd = slash(cwd); if (path.isAbsolute(p)) { - if (p.startsWith(cwd)) { + if (slash(p).startsWith(cwd)) { return p; } @@ -56,7 +59,7 @@ const ensureAbsolutePathForCwd = (cwd, p) => { }; const getIsIgnoredPredecate = (ignores, cwd) => { - return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); + return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p)))); }; const getFile = async (file, cwd) => { diff --git a/node_modules/globby/index.d.ts b/node_modules/globby/index.d.ts index c40e4fec4..2e563fc1d 100644 --- a/node_modules/globby/index.d.ts +++ b/node_modules/globby/index.d.ts @@ -1,4 +1,4 @@ -import {Options as FastGlobOptions} from 'fast-glob'; +import {Options as FastGlobOptions, Entry as FastGlobEntry} from 'fast-glob'; declare namespace globby { type ExpandDirectoriesOption = @@ -6,6 +6,8 @@ declare namespace globby { | readonly string[] | {files?: readonly string[]; extensions?: readonly string[]}; + type Entry = FastGlobEntry; + interface GlobbyOptions extends FastGlobOptions { /** If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `Object` with `files` and `extensions` like in the example below. @@ -43,7 +45,7 @@ declare namespace globby { interface GlobTask { readonly pattern: string; - readonly options: globby.GlobbyOptions; + readonly options: GlobbyOptions; } interface GitignoreOptions { @@ -55,6 +57,11 @@ declare namespace globby { } interface Gitignore { + /** + @returns A filter function indicating whether a given path is ignored via a `.gitignore` file. + */ + sync: (options?: globby.GitignoreOptions) => globby.FilterFunction; + /** `.gitignore` files matched by the ignore config are not used for the resulting filter function. @@ -71,11 +78,6 @@ interface Gitignore { ``` */ (options?: globby.GitignoreOptions): Promise; - - /** - @returns A filter function indicating whether a given path is ignored via a `.gitignore` file. - */ - sync(options?: globby.GitignoreOptions): globby.FilterFunction; } declare const globby: { @@ -84,6 +86,81 @@ declare const globby: { Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. + @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). + @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. + @returns The matching paths. + */ + sync: (( + patterns: string | readonly string[], + options: globby.GlobbyOptions & {objectMode: true} + ) => globby.Entry[]) & (( + patterns: string | readonly string[], + options?: globby.GlobbyOptions + ) => string[]); + + /** + Find files and directories using glob patterns. + + Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. + + @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). + @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. + @returns The stream of matching paths. + + @example + ``` + import globby = require('globby'); + + (async () => { + for await (const path of globby.stream('*.tmp')) { + console.log(path); + } + })(); + ``` + */ + stream: ( + patterns: string | readonly string[], + options?: globby.GlobbyOptions + ) => NodeJS.ReadableStream; + + /** + Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration. + + @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). + @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. + @returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages. + */ + generateGlobTasks: ( + patterns: string | readonly string[], + options?: globby.GlobbyOptions + ) => globby.GlobTask[]; + + /** + Note that the options affect the results. + + This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options). + + @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). + @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3). + @returns Whether there are any special glob characters in the `patterns`. + */ + hasMagic: ( + patterns: string | readonly string[], + options?: FastGlobOptions + ) => boolean; + + readonly gitignore: Gitignore; + + ( + patterns: string | readonly string[], + options: globby.GlobbyOptions & {objectMode: true} + ): Promise; + + /** + Find files and directories using glob patterns. + + Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. + @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. @returns The matching paths. @@ -104,73 +181,6 @@ declare const globby: { patterns: string | readonly string[], options?: globby.GlobbyOptions ): Promise; - - /** - Find files and directories using glob patterns. - - Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns The matching paths. - */ - sync( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): string[]; - - /** - Find files and directories using glob patterns. - - Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns The stream of matching paths. - - @example - ``` - import globby = require('globby'); - - (async () => { - for await (const path of globby.stream('*.tmp')) { - console.log(path); - } - })(); - ``` - */ - stream( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): NodeJS.ReadableStream; - - /** - Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration. - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package. - @returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages. - */ - generateGlobTasks( - patterns: string | readonly string[], - options?: globby.GlobbyOptions - ): globby.GlobTask[]; - - /** - Note that the options affect the results. - - This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options). - - @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns). - @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3). - @returns Whether there are any special glob characters in the `patterns`. - */ - hasMagic( - patterns: string | readonly string[], - options?: FastGlobOptions - ): boolean; - - readonly gitignore: Gitignore; }; export = globby; diff --git a/node_modules/globby/index.js b/node_modules/globby/index.js index 350405711..b2d503bb1 100644 --- a/node_modules/globby/index.js +++ b/node_modules/globby/index.js @@ -25,7 +25,7 @@ const checkCwdOption = (options = {}) => { let stat; try { stat = fs.statSync(options.cwd); - } catch (_) { + } catch { return; } @@ -56,7 +56,7 @@ const generateGlobTasks = (patterns, taskOptions) => { const ignore = patterns .slice(index) - .filter(isNegative) + .filter(pattern => isNegative(pattern)) .map(pattern => pattern.slice(1)); const options = { @@ -138,26 +138,30 @@ module.exports = async (patterns, options) => { module.exports.sync = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); - const tasks = globTasks.reduce((tasks, task) => { + const tasks = []; + for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); + tasks.push(...newTask); + } const filter = getFilterSync(options); - return tasks.reduce( - (matches, task) => arrayUnion(matches, fastGlob.sync(task.pattern, task.options)), - [] - ).filter(path_ => !filter(path_)); + let matches = []; + for (const task of tasks) { + matches = arrayUnion(matches, fastGlob.sync(task.pattern, task.options)); + } + + return matches.filter(path_ => !filter(path_)); }; module.exports.stream = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); - const tasks = globTasks.reduce((tasks, task) => { + const tasks = []; + for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); + tasks.push(...newTask); + } const filter = getFilterSync(options); const filterStream = new FilterStream(p => !filter(p)); diff --git a/node_modules/globby/package.json b/node_modules/globby/package.json index 08a3b169d..69561d523 100644 --- a/node_modules/globby/package.json +++ b/node_modules/globby/package.json @@ -1,6 +1,6 @@ { "name": "globby", - "version": "11.0.0", + "version": "11.0.4", "description": "User-friendly glob matching", "license": "MIT", "repository": "sindresorhus/globby", @@ -8,7 +8,7 @@ "author": { "email": "sindresorhus@gmail.com", "name": "Sindre Sorhus", - "url": "sindresorhus.com" + "url": "https://sindresorhus.com" }, "engines": { "node": ">=10" @@ -65,14 +65,14 @@ "slash": "^3.0.0" }, "devDependencies": { - "ava": "^2.1.0", - "get-stream": "^5.1.0", + "ava": "^3.13.0", + "get-stream": "^6.0.0", "glob-stream": "^6.1.0", - "globby": "sindresorhus/globby#master", + "globby": "sindresorhus/globby#main", "matcha": "^0.7.0", - "rimraf": "^3.0.0", - "tsd": "^0.11.0", - "xo": "^0.25.3" + "rimraf": "^3.0.2", + "tsd": "^0.13.1", + "xo": "^0.33.1" }, "xo": { "ignores": [ diff --git a/node_modules/globby/readme.md b/node_modules/globby/readme.md index 709e5aa8c..b39ae43e3 100644 --- a/node_modules/globby/readme.md +++ b/node_modules/globby/readme.md @@ -1,4 +1,4 @@ -# globby [![Build Status](https://travis-ci.org/sindresorhus/globby.svg?branch=master)](https://travis-ci.org/sindresorhus/globby) +# globby > User-friendly glob matching @@ -154,7 +154,7 @@ Just a quick overview. - `{}` allows for a comma-separated list of "or" expressions - `!` at the beginning of a pattern will negate the match -[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/master/test/test.js) +[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/main/test/test.js) ## globby for enterprise diff --git a/node_modules/has-bigints/.eslintignore b/node_modules/has-bigints/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/has-bigints/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/has-bigints/.eslintrc b/node_modules/has-bigints/.eslintrc new file mode 100644 index 000000000..699b23b6d --- /dev/null +++ b/node_modules/has-bigints/.eslintrc @@ -0,0 +1,9 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "operator-linebreak": [2, "before"], + }, +} diff --git a/node_modules/has-bigints/.github/FUNDING.yml b/node_modules/has-bigints/.github/FUNDING.yml new file mode 100644 index 000000000..5b597c846 --- /dev/null +++ b/node_modules/has-bigints/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/has-bigints +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/has-bigints/.nycrc b/node_modules/has-bigints/.nycrc new file mode 100644 index 000000000..1826526e0 --- /dev/null +++ b/node_modules/has-bigints/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/has-bigints/CHANGELOG.md b/node_modules/has-bigints/CHANGELOG.md new file mode 100644 index 000000000..48f9dc239 --- /dev/null +++ b/node_modules/has-bigints/CHANGELOG.md @@ -0,0 +1,43 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.1](https://github.com/inspect-js/has-bigints/compare/v1.0.0...v1.0.1) - 2020-12-13 + +### Commits + +- [Tests] use shared travis-ci configs [`46a0d6b`](https://github.com/inspect-js/has-bigints/commit/46a0d6be7ed83bd7f5ead11e4eab7fc91570a448) +- [Tests] migrate tests to Github Actions [`91a38fa`](https://github.com/inspect-js/has-bigints/commit/91a38fa4b85a420b8cf4926b3799e6ceb60d8690) +- [meta] do not publish github action workflow files [`69aacba`](https://github.com/inspect-js/has-bigints/commit/69aacba320c1221e7fee1c71bde600bce063f24b) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`64e2c08`](https://github.com/inspect-js/has-bigints/commit/64e2c0895b21ac91a137452fd2455932f62a2fc1) +- [Tests] run `nyc` on all tests; use `tape` runner [`8009375`](https://github.com/inspect-js/has-bigints/commit/8009375e5ec9faca6bbc09441002af5c5e59ff20) +- [actions] add automatic rebasing / merge commit blocking [`e599917`](https://github.com/inspect-js/has-bigints/commit/e599917fd1f751c9a6c0daac70acb243f8c3a01d) +- [actions] add "Allow Edits" workflow [`bd0126e`](https://github.com/inspect-js/has-bigints/commit/bd0126eba2d67e9b9d588bced34413f507698154) +- [readme] remove travis badge [`8e02a73`](https://github.com/inspect-js/has-bigints/commit/8e02a73db34827d24d2945f2db822973a0b49925) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `auto-changelog`, `safe-publish-latest` [`95859f2`](https://github.com/inspect-js/has-bigints/commit/95859f28f23f5733481c52a501063802cf64f75b) +- [Dev Deps] update `auto-changelog`, `in-publish`, `tape` [`0588f41`](https://github.com/inspect-js/has-bigints/commit/0588f415c6cc01d6b34668680044e03b2998e03f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`5b024a6`](https://github.com/inspect-js/has-bigints/commit/5b024a664a8b7d2d2f750a4c11ce20c395b6f12a) +- [meta] add `version` scripts [`4788d61`](https://github.com/inspect-js/has-bigints/commit/4788d61101c009e4e2c1b4d944c263de06192c6a) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`be0e0de`](https://github.com/inspect-js/has-bigints/commit/be0e0de08298dfe483c5d7a2675e5133abeabc53) +- [Dev Deps] update `auto-changelog`; add `aud` [`13a8d1b`](https://github.com/inspect-js/has-bigints/commit/13a8d1bf1f661871d890bfa174de9514f016cdd9) +- [actions] fix action name [`f873d9a`](https://github.com/inspect-js/has-bigints/commit/f873d9a2f10718662528a755b12c61202f4e4afa) +- [meta] add `funding` field [`1b51f49`](https://github.com/inspect-js/has-bigints/commit/1b51f4921df1faf85d2679a0e4ba97ef015a73b7) +- [Dev Deps] update `auto-changelog` [`2322461`](https://github.com/inspect-js/has-bigints/commit/2322461789810434c447439f155eb3ca23eb29fb) +- [Tests] only audit prod deps [`aabdade`](https://github.com/inspect-js/has-bigints/commit/aabdadeaa1e126b91a2fbd82263cc49651ff5e7b) + +## v1.0.0 - 2019-08-10 + +### Commits + +- [Tests] add `.travis.yml` [`9730412`](https://github.com/inspect-js/has-bigints/commit/973041241dc172474bb9457aad41790fe54fec88) +- Initial commit [`65f7c38`](https://github.com/inspect-js/has-bigints/commit/65f7c3889d9a98e214e26d650723cbfc49338463) +- [Tests] add tests [`e374a78`](https://github.com/inspect-js/has-bigints/commit/e374a78033d457badcd47e06752fdec7f62e6c39) +- readme [`5d39092`](https://github.com/inspect-js/has-bigints/commit/5d3909249da442867180fb747eef27543627d250) +- npm init [`1be2e3d`](https://github.com/inspect-js/has-bigints/commit/1be2e3d69db6718901e6845cfc38a07cc46dfd96) +- implementation [`b7bc812`](https://github.com/inspect-js/has-bigints/commit/b7bc8121db1fb1a827625c4cb0608935e3dcbe31) +- [Tests] add linting [`04533be`](https://github.com/inspect-js/has-bigints/commit/04533bef57f60e322238f71f32ee3ae0c988bac4) +- [meta] create FUNDING.yml [`cf824a7`](https://github.com/inspect-js/has-bigints/commit/cf824a7d02e867957d8db17ee0a4c70c8ee5ff23) +- Only apps should have lockfiles [`64e8242`](https://github.com/inspect-js/has-bigints/commit/64e82429f1dca99f624dc971ff13516dee28d353) diff --git a/node_modules/has-bigints/LICENSE b/node_modules/has-bigints/LICENSE new file mode 100644 index 000000000..3900dd7e2 --- /dev/null +++ b/node_modules/has-bigints/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/has-bigints/README.md b/node_modules/has-bigints/README.md new file mode 100644 index 000000000..384707985 --- /dev/null +++ b/node_modules/has-bigints/README.md @@ -0,0 +1,35 @@ +# has-bigints [![Version Badge][2]][1] + +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Determine if the JS environment has BigInt support. + +## Example + +```js +var hasBigInts = require('has-bigints'); + +hasBigInts() === true; // if the environment has native BigInt support. Not polyfillable, not forgeable. +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/has-bigints +[2]: https://versionbadg.es/ljharb/has-bigints.svg +[5]: https://david-dm.org/ljharb/has-bigints.svg +[6]: https://david-dm.org/ljharb/has-bigints +[7]: https://david-dm.org/ljharb/has-bigints/dev-status.svg +[8]: https://david-dm.org/ljharb/has-bigints#info=devDependencies +[9]: https://ci.testling.com/ljharb/has-bigints.png +[10]: https://ci.testling.com/ljharb/has-bigints +[11]: https://nodei.co/npm/has-bigints.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/has-bigints.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/has-bigints.svg +[downloads-url]: https://npm-stat.com/charts.html?package=has-bigints diff --git a/node_modules/has-bigints/index.js b/node_modules/has-bigints/index.js new file mode 100644 index 000000000..dd9af1df5 --- /dev/null +++ b/node_modules/has-bigints/index.js @@ -0,0 +1,10 @@ +'use strict'; + +var $BigInt = global.BigInt; + +module.exports = function hasNativeBigInts() { + return typeof $BigInt === 'function' + && typeof BigInt === 'function' + && typeof $BigInt(42) === 'bigint' // eslint-disable-line no-magic-numbers + && typeof BigInt(42) === 'bigint'; // eslint-disable-line no-magic-numbers +}; diff --git a/node_modules/has-bigints/package.json b/node_modules/has-bigints/package.json new file mode 100644 index 000000000..225e6d51e --- /dev/null +++ b/node_modules/has-bigints/package.json @@ -0,0 +1,53 @@ +{ + "name": "has-bigints", + "version": "1.0.1", + "description": "Determine if the JS environment has BigInt support.", + "main": "index.js", + "scripts": { + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"", + "prepublish": "not-in-publish || safe-publish-latest", + "lint": "eslint --ext=js,mjs .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/has-bigints.git" + }, + "keywords": [ + "BigInt", + "bigints", + "typeof", + "ES2020" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/has-bigints/issues" + }, + "homepage": "https://github.com/ljharb/has-bigints#readme", + "devDependencies": { + "@ljharb/eslint-config": "^17.3.0", + "aud": "^1.1.3", + "auto-changelog": "^2.2.1", + "eslint": "^7.15.0", + "in-publish": "^2.0.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "tape": "^5.0.1" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/node_modules/has-bigints/test/index.js b/node_modules/has-bigints/test/index.js new file mode 100644 index 000000000..efbc98b5b --- /dev/null +++ b/node_modules/has-bigints/test/index.js @@ -0,0 +1,44 @@ +'use strict'; + +var test = require('tape'); +var hasBigInts = require('..'); + +test('interface', function (t) { + t.equal(typeof hasBigInts, 'function', 'is a function'); + t.equal(typeof hasBigInts(), 'boolean', 'returns a boolean'); + t.end(); +}); + +test('BigInts are supported', { skip: !hasBigInts() }, function (t) { + t.equal(typeof BigInt, 'function', 'global BigInt is a function'); + if (typeof BigInt !== 'function') { + return; + } + + t.equal(BigInt(42), BigInt(42), '42n === 42n'); + t['throws']( + function () { BigInt(NaN); }, + RangeError, + 'NaN is not an integer; BigInt(NaN) throws' + ); + + t['throws']( + function () { BigInt(Infinity); }, + RangeError, + 'Infinity is not an integer; BigInt(Infinity) throws' + ); + + t['throws']( + function () { BigInt(1.1); }, + RangeError, + '1.1 is not an integer; BigInt(1.1) throws' + ); + + t.end(); +}); + +test('BigInts are not supported', { skip: hasBigInts() }, function (t) { + t.equal(typeof BigInt, 'undefined', 'global BigInt is undefined'); + + t.end(); +}); diff --git a/node_modules/has-symbols/.eslintignore b/node_modules/has-symbols/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/has-symbols/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/has-symbols/.github/workflows/rebase.yml b/node_modules/has-symbols/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/has-symbols/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/has-symbols/.nycrc b/node_modules/has-symbols/.nycrc new file mode 100644 index 000000000..1826526e0 --- /dev/null +++ b/node_modules/has-symbols/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/has-symbols/.travis.yml b/node_modules/has-symbols/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/has-symbols/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/has-symbols/CHANGELOG.md b/node_modules/has-symbols/CHANGELOG.md index 4dcac04ac..852ca0420 100644 --- a/node_modules/has-symbols/CHANGELOG.md +++ b/node_modules/has-symbols/CHANGELOG.md @@ -5,9 +5,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [v1.0.2](https://github.com/inspect-js/has-symbols/compare/v1.0.1...v1.0.2) - 2021-02-27 -## [v1.0.1](https://github.com/inspect-js/has-symbols/compare/v1.0.0...v1.0.1) - 2019-11-17 +### Fixed + +- [Fix] use a universal way to get the original Symbol [`#11`](https://github.com/inspect-js/has-symbols/issues/11) + +### Commits + +- [Tests] migrate tests to Github Actions [`90ae798`](https://github.com/inspect-js/has-symbols/commit/90ae79820bdfe7bc703d67f5f3c5e205f98556d3) +- [meta] do not publish github action workflow files [`29e60a1`](https://github.com/inspect-js/has-symbols/commit/29e60a1b7c25c7f1acf7acff4a9320d0d10c49b4) +- [Tests] run `nyc` on all tests [`8476b91`](https://github.com/inspect-js/has-symbols/commit/8476b915650d360915abe2522505abf4b0e8f0ae) +- [readme] fix repo URLs, remove defunct badges [`126288e`](https://github.com/inspect-js/has-symbols/commit/126288ecc1797c0a40247a6b78bcb2e0bc5d7036) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `core-js`, `get-own-property-symbols` [`d84bdfa`](https://github.com/inspect-js/has-symbols/commit/d84bdfa48ac5188abbb4904b42614cd6c030940a) +- [Tests] fix linting errors [`0df3070`](https://github.com/inspect-js/has-symbols/commit/0df3070b981b6c9f2ee530c09189a7f5c6def839) +- [actions] add "Allow Edits" workflow [`1e6bc29`](https://github.com/inspect-js/has-symbols/commit/1e6bc29b188f32b9648657b07eda08504be5aa9c) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`36cea2a`](https://github.com/inspect-js/has-symbols/commit/36cea2addd4e6ec435f35a2656b4e9ef82498e9b) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1278338`](https://github.com/inspect-js/has-symbols/commit/127833801865fbc2cc8979beb9ca869c7bfe8222) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1493254`](https://github.com/inspect-js/has-symbols/commit/1493254eda13db5fb8fc5e4a3e8324b3d196029d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `core-js` [`b090bf2`](https://github.com/inspect-js/has-symbols/commit/b090bf214d3679a30edc1e2d729d466ab5183e1d) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`4addb7a`](https://github.com/inspect-js/has-symbols/commit/4addb7ab4dc73f927ae99928d68817554fc21dc0) +- [Dev Deps] update `auto-changelog`, `tape` [`81d0baf`](https://github.com/inspect-js/has-symbols/commit/81d0baf3816096a89a8558e8043895f7a7d10d8b) +- [Dev Deps] update `auto-changelog`; add `aud` [`1a4e561`](https://github.com/inspect-js/has-symbols/commit/1a4e5612c25d91c3a03d509721d02630bc4fe3da) +- [readme] remove unused testling URLs [`3000941`](https://github.com/inspect-js/has-symbols/commit/3000941f958046e923ed8152edb1ef4a599e6fcc) +- [Tests] only audit prod deps [`692e974`](https://github.com/inspect-js/has-symbols/commit/692e9743c912410e9440207631a643a34b4741a1) +- [Dev Deps] update `@ljharb/eslint-config` [`51c946c`](https://github.com/inspect-js/has-symbols/commit/51c946c7f6baa793ec5390bb5a45cdce16b4ba76) + +## [v1.0.1](https://github.com/inspect-js/has-symbols/compare/v1.0.0...v1.0.1) - 2019-11-16 ### Commits diff --git a/node_modules/has-symbols/README.md b/node_modules/has-symbols/README.md index b27b31acb..3875d7e58 100644 --- a/node_modules/has-symbols/README.md +++ b/node_modules/has-symbols/README.md @@ -1,6 +1,5 @@ # has-symbols [![Version Badge][2]][1] -[![Build Status][3]][4] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -29,17 +28,13 @@ hasSymbolsKinda() === true; // if the environment has a Symbol sham that mostly Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/has-symbols -[2]: http://versionbadg.es/ljharb/has-symbols.svg -[3]: https://travis-ci.org/ljharb/has-symbols.svg -[4]: https://travis-ci.org/ljharb/has-symbols -[5]: https://david-dm.org/ljharb/has-symbols.svg -[6]: https://david-dm.org/ljharb/has-symbols -[7]: https://david-dm.org/ljharb/has-symbols/dev-status.svg -[8]: https://david-dm.org/ljharb/has-symbols#info=devDependencies -[9]: https://ci.testling.com/ljharb/has-symbols.png -[10]: https://ci.testling.com/ljharb/has-symbols +[2]: https://versionbadg.es/inspect-js/has-symbols.svg +[5]: https://david-dm.org/inspect-js/has-symbols.svg +[6]: https://david-dm.org/inspect-js/has-symbols +[7]: https://david-dm.org/inspect-js/has-symbols/dev-status.svg +[8]: https://david-dm.org/inspect-js/has-symbols#info=devDependencies [11]: https://nodei.co/npm/has-symbols.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/has-symbols.svg +[license-image]: https://img.shields.io/npm/l/has-symbols.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/has-symbols.svg -[downloads-url]: http://npm-stat.com/charts.html?package=has-symbols +[downloads-image]: https://img.shields.io/npm/dm/has-symbols.svg +[downloads-url]: https://npm-stat.com/charts.html?package=has-symbols diff --git a/node_modules/has-symbols/index.js b/node_modules/has-symbols/index.js index f72159e0a..17044fa21 100644 --- a/node_modules/has-symbols/index.js +++ b/node_modules/has-symbols/index.js @@ -1,6 +1,6 @@ 'use strict'; -var origSymbol = global.Symbol; +var origSymbol = typeof Symbol !== 'undefined' && Symbol; var hasSymbolSham = require('./shams'); module.exports = function hasNativeSymbols() { diff --git a/node_modules/has-symbols/package.json b/node_modules/has-symbols/package.json index 29a9176e5..5424451c2 100644 --- a/node_modules/has-symbols/package.json +++ b/node_modules/has-symbols/package.json @@ -1,6 +1,6 @@ { "name": "has-symbols", - "version": "1.0.1", + "version": "1.0.2", "author": { "name": "Jordan Harband", "email": "ljharb@gmail.com", @@ -22,21 +22,21 @@ "scripts": { "prepublish": "safe-publish-latest", "pretest": "npm run --silent lint", - "test": "npm run --silent tests-only", - "posttest": "npx aud", - "tests-only": "npm run --silent test:stock && npm run --silent test:staging && npm run --silent test:shams", - "test:stock": "node test", - "test:staging": "node --harmony --es-staging test", + "test": "npm run tests-only", + "posttest": "aud --production", + "tests-only": "npm run test:stock && npm run test:staging && npm run test:shams", + "test:stock": "nyc node test", + "test:staging": "nyc node --harmony --es-staging test", "test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs", - "test:shams:corejs": "node test/shams/core-js.js", - "test:shams:getownpropertysymbols": "node test/shams/get-own-property-symbols.js", - "lint": "eslint *.js", + "test:shams:corejs": "nyc node test/shams/core-js.js", + "test:shams:getownpropertysymbols": "nyc node test/shams/get-own-property-symbols.js", + "lint": "eslint --ext=js,mjs .", "version": "auto-changelog && git add CHANGELOG.md", "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" }, "repository": { "type": "git", - "url": "git://github.com/ljharb/has-symbols.git" + "url": "git://github.com/inspect-js/has-symbols.git" }, "keywords": [ "Symbol", @@ -48,15 +48,16 @@ "core-js", "ES6" ], - "dependencies": {}, "devDependencies": { - "@ljharb/eslint-config": "^15.0.1", - "auto-changelog": "^1.16.2", - "core-js": "^2.6.10", - "eslint": "^6.6.0", - "get-own-property-symbols": "^0.9.4", + "@ljharb/eslint-config": "^17.5.1", + "aud": "^1.1.4", + "auto-changelog": "^2.2.1", + "core-js": "^2.6.12", + "eslint": "^7.20.0", + "get-own-property-symbols": "^0.9.5", + "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", - "tape": "^4.11.0" + "tape": "^5.2.0" }, "testling": { "files": "test/index.js", @@ -84,6 +85,12 @@ "template": "keepachangelog", "unreleased": false, "commitLimit": false, - "backfillLimit": false + "backfillLimit": false, + "hideCredit": true + }, + "greenkeeper": { + "ignore": [ + "core-js" + ] } } \ No newline at end of file diff --git a/node_modules/has-symbols/shams.js b/node_modules/has-symbols/shams.js index 9f80f79e1..1285210ef 100644 --- a/node_modules/has-symbols/shams.js +++ b/node_modules/has-symbols/shams.js @@ -23,7 +23,7 @@ module.exports = function hasSymbols() { var symVal = 42; obj[sym] = symVal; - for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax + for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } diff --git a/node_modules/has-symbols/test/index.js b/node_modules/has-symbols/test/index.js index fc32aff94..352129ca3 100644 --- a/node_modules/has-symbols/test/index.js +++ b/node_modules/has-symbols/test/index.js @@ -5,7 +5,7 @@ var hasSymbols = require('../'); var runSymbolTests = require('./tests'); test('interface', function (t) { - t.equal(typeof hasSymbols, 'function', 'is a function'); + t.equal(typeof hasSymbols, 'function', 'is a function'); t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean'); t.end(); }); diff --git a/node_modules/has-symbols/test/tests.js b/node_modules/has-symbols/test/tests.js index 93ff0eae9..89edd1291 100644 --- a/node_modules/has-symbols/test/tests.js +++ b/node_modules/has-symbols/test/tests.js @@ -1,9 +1,10 @@ 'use strict'; +// eslint-disable-next-line consistent-return module.exports = function runSymbolTests(t) { t.equal(typeof Symbol, 'function', 'global Symbol is a function'); - if (typeof Symbol !== 'function') { return false }; + if (typeof Symbol !== 'function') { return false; } t.notEqual(Symbol(), Symbol(), 'two symbols are not equal'); @@ -15,9 +16,9 @@ module.exports = function runSymbolTests(t) { ); */ + /* var foo = Symbol('foo'); - /* t.notEqual( String(foo), String(Symbol('bar')), @@ -39,6 +40,7 @@ module.exports = function runSymbolTests(t) { var symVal = 42; obj[sym] = symVal; + // eslint-disable-next-line no-restricted-syntax for (sym in obj) { t.fail('symbol property key was found in for..in of object'); } t.deepEqual(Object.keys(obj), [], 'no enumerable own keys on symbol-valued object'); diff --git a/node_modules/import-fresh/index.d.ts b/node_modules/import-fresh/index.d.ts index 708737b2f..36d7e208b 100644 --- a/node_modules/import-fresh/index.d.ts +++ b/node_modules/import-fresh/index.d.ts @@ -21,8 +21,10 @@ importFresh('./foo')(); importFresh('./foo')(); //=> 1 + +const foo = importFresh('./foo'); ``` */ -declare function importFresh(moduleId: string): unknown; +declare function importFresh(moduleId: string): T; export = importFresh; diff --git a/node_modules/import-fresh/index.js b/node_modules/import-fresh/index.js index 425ed98c4..0a4c5d52f 100644 --- a/node_modules/import-fresh/index.js +++ b/node_modules/import-fresh/index.js @@ -10,7 +10,8 @@ module.exports = moduleId => { const parentPath = parentModule(__filename); - const filePath = resolveFrom(path.dirname(parentPath), moduleId); + const cwd = parentPath ? path.dirname(parentPath) : __dirname; + const filePath = resolveFrom(cwd, moduleId); const oldModule = require.cache[filePath]; // Delete itself from module parent diff --git a/node_modules/import-fresh/license b/node_modules/import-fresh/license index e7af2f771..fa7ceba3e 100644 --- a/node_modules/import-fresh/license +++ b/node_modules/import-fresh/license @@ -1,6 +1,6 @@ MIT License -Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/node_modules/import-fresh/package.json b/node_modules/import-fresh/package.json index d33a99e07..3111f17fb 100644 --- a/node_modules/import-fresh/package.json +++ b/node_modules/import-fresh/package.json @@ -1,13 +1,14 @@ { "name": "import-fresh", - "version": "3.2.1", + "version": "3.3.0", "description": "Import a module while bypassing the cache", "license": "MIT", "repository": "sindresorhus/import-fresh", + "funding": "https://github.com/sponsors/sindresorhus", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" + "url": "https://sindresorhus.com" }, "engines": { "node": ">=6" diff --git a/node_modules/import-fresh/readme.md b/node_modules/import-fresh/readme.md index 0bfa1c904..bd14c79c6 100644 --- a/node_modules/import-fresh/readme.md +++ b/node_modules/import-fresh/readme.md @@ -1,17 +1,15 @@ -# import-fresh [![Build Status](https://travis-ci.org/sindresorhus/import-fresh.svg?branch=master)](https://travis-ci.org/sindresorhus/import-fresh) +# import-fresh > Import a module while bypassing the [cache](https://nodejs.org/api/modules.html#modules_caching) Useful for testing purposes when you need to freshly import a module. - ## Install ``` $ npm install import-fresh ``` - ## Usage ```js @@ -36,14 +34,12 @@ importFresh('./foo')(); //=> 1 ``` - ## import-fresh for enterprise Available as part of the Tidelift Subscription. The maintainers of import-fresh and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-import-fresh?utm_source=npm-import-fresh&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - ## Related - [clear-module](https://github.com/sindresorhus/clear-module) - Clear a module from the import cache diff --git a/node_modules/is-bigint/.eslintignore b/node_modules/is-bigint/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-bigint/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-bigint/.eslintrc b/node_modules/is-bigint/.eslintrc new file mode 100644 index 000000000..c8872383e --- /dev/null +++ b/node_modules/is-bigint/.eslintrc @@ -0,0 +1,14 @@ +{ + "root": true, + + "extends": "@ljharb", + + "globals": { + "BigInt": true, + }, + + "rules": { + "new-cap": [2, { "capIsNewExceptions": ["BigInt"] }], + "operator-linebreak": [2, "before"], + }, +} diff --git a/node_modules/is-bigint/.github/FUNDING.yml b/node_modules/is-bigint/.github/FUNDING.yml new file mode 100644 index 000000000..59d03ba7d --- /dev/null +++ b/node_modules/is-bigint/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/is-bigint +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/is-bigint/.nycrc b/node_modules/is-bigint/.nycrc new file mode 100644 index 000000000..bdd626ce9 --- /dev/null +++ b/node_modules/is-bigint/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-bigint/CHANGELOG.md b/node_modules/is-bigint/CHANGELOG.md new file mode 100644 index 000000000..b62ddcf11 --- /dev/null +++ b/node_modules/is-bigint/CHANGELOG.md @@ -0,0 +1,54 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.2](https://github.com/inspect-js/is-bigint/compare/v1.0.1...v1.0.2) - 2021-05-04 + +### Commits + +- [meta] do not publish github action workflow files [`276d677`](https://github.com/inspect-js/is-bigint/commit/276d677d1eac61e990a2f2b523c7cdef70784865) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`cea7fb6`](https://github.com/inspect-js/is-bigint/commit/cea7fb6e882ad7e2f550de2bd9317a4409bcd735) +- [readme] fix repo URLs; remove travis badge [`c8e7c36`](https://github.com/inspect-js/is-bigint/commit/c8e7c3651f3303fddafa61cf29cfbb79ea2d5d4b) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-symbols`, `object-inspect`, `tape` [`32f3d90`](https://github.com/inspect-js/is-bigint/commit/32f3d909363045fe5d40dde9e4db354344ab4d50) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `object-inspect`, `tape` [`c2f20f5`](https://github.com/inspect-js/is-bigint/commit/c2f20f577d84e68b4e3224abb51024fbc4b9b2ba) +- [meta] remove unneeded token; update checkout action [`94e46e9`](https://github.com/inspect-js/is-bigint/commit/94e46e92a1a85ec022c8febf8d5d3c2369b46e97) +- [meta] use `prepublishOnly` script for npm 7+ [`3e663ec`](https://github.com/inspect-js/is-bigint/commit/3e663ecb09bfdc5dbaaa37aaef4adf28b5e49035) + +## [v1.0.1](https://github.com/inspect-js/is-bigint/compare/v1.0.0...v1.0.1) - 2020-11-30 + +### Commits + +- [Tests] use shared travis-ci configs [`28f1211`](https://github.com/inspect-js/is-bigint/commit/28f1211132ad2a6495d816140680fa16c12eb6f3) +- [Tests] migrate tests to Github Actions [`0998c64`](https://github.com/inspect-js/is-bigint/commit/0998c6443d603028f8b988bcdd52d23dbf513031) +- [meta] add `auto-changelog` [`2352de6`](https://github.com/inspect-js/is-bigint/commit/2352de6df8385b256d75ce50c360947243a599f6) +- [Tests] run `nyc` on all tests [`9c16a9a`](https://github.com/inspect-js/is-bigint/commit/9c16a9a5ddaf7c2c578542ab8f00dd4e72eff541) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `auto-changelog`, `object-inspect`, `tape` [`4cd0edd`](https://github.com/inspect-js/is-bigint/commit/4cd0edd1917f789501291315c9eac5f895fd719e) +- [actions] add automatic rebasing / merge commit blocking [`f0f4b91`](https://github.com/inspect-js/is-bigint/commit/f0f4b91dba029dbca5b3cd27ef91c4fb8e3ec51a) +- [actions] add "Allow Edits" workflow [`7f4f46e`](https://github.com/inspect-js/is-bigint/commit/7f4f46ec07679c00e22287ec55b39ff1e4f809cf) +- [meta] create FUNDING.yml [`2d0cb9a`](https://github.com/inspect-js/is-bigint/commit/2d0cb9ae8ddf635f2c472ce49f95f717f2c432bf) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud` [`0ee110e`](https://github.com/inspect-js/is-bigint/commit/0ee110effdcaa96d90f21a0ec6e625941f77c45a) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `has-symbols`, `object-inspect`, `tape` [`5bb7f3a`](https://github.com/inspect-js/is-bigint/commit/5bb7f3a8de6ec5ee2aa573c22e41884f3d2d1cc3) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`d3d67d0`](https://github.com/inspect-js/is-bigint/commit/d3d67d05f8a3f4cb07085811629f56ef872949c3) +- [Dev Deps] update `auto-changelog`, `tape` [`54e270f`](https://github.com/inspect-js/is-bigint/commit/54e270fa29856dba90f86785fa61bffc79a2825d) +- [Dev Deps] update `@ljharb/eslint-config`, `tape` [`d82bfe7`](https://github.com/inspect-js/is-bigint/commit/d82bfe75c63aeda40f7e473c57f26cea8790ba3a) +- [Dev Deps] update `auto-changelog`; add `aud` [`9c34bd1`](https://github.com/inspect-js/is-bigint/commit/9c34bd1873f08d77c82d8e54ad90c5a1a035e7ea) +- [Tests] add missing `posttest` script [`0690bd9`](https://github.com/inspect-js/is-bigint/commit/0690bd9868d4d8b43424b4224cdbb8659a1c6423) +- [meta] add `funding` field [`7ca36d0`](https://github.com/inspect-js/is-bigint/commit/7ca36d06ebcf6b01a592ecd6758bd2b39c0fb0db) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`5ffa8da`](https://github.com/inspect-js/is-bigint/commit/5ffa8dad9f634891cf739ee118f1b43142b0f01d) +- [Dev Deps] update `eslint` [`8512c2f`](https://github.com/inspect-js/is-bigint/commit/8512c2f29a9267fe8fe19209bcf77df94f127172) +- [Tests] only audit prod deps [`f2147dc`](https://github.com/inspect-js/is-bigint/commit/f2147dc54e72594985e8f6db3932a4f0819dc4db) +- [readme] fix header [`d6eff75`](https://github.com/inspect-js/is-bigint/commit/d6eff75d00471f465768deb92867e878c27733b3) + +## v1.0.0 - 2018-09-20 + +### Commits + +- [Tests] add tests [`847f12a`](https://github.com/inspect-js/is-bigint/commit/847f12af125fcefb75ed3517550feedf7dd73e88) +- Initial commit [`b53f3c6`](https://github.com/inspect-js/is-bigint/commit/b53f3c6754e7fd7a9982ff5b1466c4dc9799dad9) +- readme [`66c15fe`](https://github.com/inspect-js/is-bigint/commit/66c15fe1a0d965b8c78bf3a3bfc289dcfec53ee1) +- Implementation [`c2c0974`](https://github.com/inspect-js/is-bigint/commit/c2c0974397825a2a56e1ea8af0546171309d4805) +- package.json [`98b174c`](https://github.com/inspect-js/is-bigint/commit/98b174c24b070053f0548e58f9b87bc9dbdf922a) +- Only apps should have lockfiles [`a77c74b`](https://github.com/inspect-js/is-bigint/commit/a77c74bd8ca5f058f1e6165ae7b33bb84adef98c) diff --git a/node_modules/is-bigint/LICENSE b/node_modules/is-bigint/LICENSE new file mode 100644 index 000000000..9dd868f0f --- /dev/null +++ b/node_modules/is-bigint/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/is-bigint/README.md b/node_modules/is-bigint/README.md new file mode 100644 index 000000000..1bf8c5f93 --- /dev/null +++ b/node_modules/is-bigint/README.md @@ -0,0 +1,38 @@ +# is-bigint [![Version Badge][2]][1] + +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Is this an ES BigInt value? + +## Example + +```js +var isBigInt = require('is-bigint'); +assert(!isBigInt(function () {})); +assert(!isBigInt(null)); +assert(!isBigInt(function* () { yield 42; return Infinity; }); +assert(!isBigInt(Symbol('foo'))); + +assert(isBigInt(1n)); +assert(isBigInt(Object(1n))); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/is-bigint +[2]: https://versionbadg.es/inspect-js/is-bigint.svg +[5]: https://david-dm.org/inspect-js/is-bigint.svg +[6]: https://david-dm.org/inspect-js/is-bigint +[7]: https://david-dm.org/inspect-js/is-bigint/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-bigint#info=devDependencies +[11]: https://nodei.co/npm/is-bigint.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/is-bigint.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/is-bigint.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-bigint diff --git a/node_modules/is-bigint/index.js b/node_modules/is-bigint/index.js new file mode 100644 index 000000000..6ce59c8ac --- /dev/null +++ b/node_modules/is-bigint/index.js @@ -0,0 +1,36 @@ +'use strict'; + +if (typeof BigInt === 'function') { + var bigIntValueOf = BigInt.prototype.valueOf; + var tryBigInt = function tryBigIntObject(value) { + try { + bigIntValueOf.call(value); + return true; + } catch (e) { + } + return false; + }; + + module.exports = function isBigInt(value) { + if ( + value === null + || typeof value === 'undefined' + || typeof value === 'boolean' + || typeof value === 'string' + || typeof value === 'number' + || typeof value === 'symbol' + || typeof value === 'function' + ) { + return false; + } + if (typeof value === 'bigint') { + return true; + } + + return tryBigInt(value); + }; +} else { + module.exports = function isBigInt(value) { + return false && value; + }; +} diff --git a/node_modules/is-bigint/package.json b/node_modules/is-bigint/package.json new file mode 100644 index 000000000..f8200e692 --- /dev/null +++ b/node_modules/is-bigint/package.json @@ -0,0 +1,55 @@ +{ + "name": "is-bigint", + "version": "1.0.2", + "description": "Is this value an ES BigInt?", + "main": "index.js", + "scripts": { + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "lint": "eslint .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/is-bigint.git" + }, + "keywords": [ + "bigint", + "es", + "integer", + "is" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/is-bigint/issues" + }, + "homepage": "https://github.com/inspect-js/is-bigint#readme", + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "eslint": "^7.25.0", + "has-symbols": "^1.0.2", + "nyc": "^10.3.2", + "object-inspect": "^1.10.2", + "safe-publish-latest": "^1.1.4", + "tape": "^5.2.2" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/node_modules/is-bigint/test/.eslintrc b/node_modules/is-bigint/test/.eslintrc new file mode 100644 index 000000000..1ac0d47b3 --- /dev/null +++ b/node_modules/is-bigint/test/.eslintrc @@ -0,0 +1,7 @@ +{ + "rules": { + "max-statements-per-line": [2, { "max": 2 }], + "no-restricted-properties": 0, + "symbol-description": 0, + } +} diff --git a/node_modules/is-bigint/test/index.js b/node_modules/is-bigint/test/index.js new file mode 100644 index 000000000..069f73d76 --- /dev/null +++ b/node_modules/is-bigint/test/index.js @@ -0,0 +1,80 @@ +'use strict'; + +var test = require('tape'); +var inspect = require('object-inspect'); +var isBigInt = require('..'); + +var debug = function (v, m) { return inspect(v) + ' ' + m; }; + +var forEach = function (arr, func) { + var i; + for (i = 0; i < arr.length; ++i) { + func(arr[i], i, arr); + } +}; + +var hasSymbols = require('has-symbols')(); +var hasBigInts = typeof BigInt === 'function'; + +test('non-BigInt values', function (t) { + var nonBigInts = [ + true, + false, + Object(true), + Object(false), + null, + undefined, + {}, + [], + /a/g, + 'string', + 42, + new Date(), + function () {}, + NaN + ]; + if (hasSymbols) { + nonBigInts.push(Symbol.iterator, Symbol('foo')); + } + t.plan(nonBigInts.length); + forEach(nonBigInts, function (nonBigInt) { + t.equal(false, isBigInt(nonBigInt), debug(nonBigInt, 'is not a BigInt')); + }); + t.end(); +}); + +test('faked BigInt values', function (t) { + t.test('real BigInt valueOf', { skip: !hasBigInts }, function (st) { + var fakeBigInt = { valueOf: function () { return BigInt(42); } }; + st.equal(false, isBigInt(fakeBigInt), 'object with valueOf returning a BigInt is not a BigInt'); + st.end(); + }); + + t.test('faked @@toStringTag', { skip: !hasBigInts || !hasSymbols || !Symbol.toStringTag }, function (st) { + var fakeBigInt = { valueOf: function () { return BigInt(42); } }; + fakeBigInt[Symbol.toStringTag] = 'BigInt'; + st.equal(false, isBigInt(fakeBigInt), 'object with fake BigInt @@toStringTag and valueOf returning a BigInt is not a BigInt'); + + var notSoFakeBigInt = { valueOf: function () { return 42; } }; + notSoFakeBigInt[Symbol.toStringTag] = 'BigInt'; + st.equal(false, isBigInt(notSoFakeBigInt), 'object with fake BigInt @@toStringTag and valueOf not returning a BigInt is not a BigInt'); + st.end(); + }); + + var fakeBigIntString = { toString: function () { return '42n'; } }; + t.equal(false, isBigInt(fakeBigIntString), 'object with toString returning 42n is not a BigInt'); + + t.end(); +}); + +test('BigInt support', { skip: !hasBigInts }, function (t) { + forEach([ + Function('return 42n')(), // eslint-disable-line no-new-func + BigInt(42), + Object(BigInt(42)) + ], function (bigInt) { + t.equal(true, isBigInt(bigInt), debug(bigInt, 'is a BigInt')); + }); + + t.end(); +}); diff --git a/node_modules/is-boolean-object/.editorconfig b/node_modules/is-boolean-object/.editorconfig new file mode 100644 index 000000000..8d93cc1d1 --- /dev/null +++ b/node_modules/is-boolean-object/.editorconfig @@ -0,0 +1,22 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 150 + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[.github/workflows/*.yml] +indent_style = off +indent_size = off +max_line_length = off + +[{CHANGELOG.md,*.json}] +max_line_length = off diff --git a/node_modules/is-boolean-object/.eslintignore b/node_modules/is-boolean-object/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-boolean-object/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-boolean-object/.eslintrc b/node_modules/is-boolean-object/.eslintrc new file mode 100644 index 000000000..a0729161e --- /dev/null +++ b/node_modules/is-boolean-object/.eslintrc @@ -0,0 +1,22 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "max-nested-callbacks": [2, 3] + }, + + "overrides": [ + { + "files": "test/**", + "rules": { + "prefer-regex-literals": 0, + }, + }, + { + "files": "test-corejs.js", + "extends": "@ljharb/eslint-config/tests", + }, + ], +} diff --git a/node_modules/is-boolean-object/.github/FUNDING.yml b/node_modules/is-boolean-object/.github/FUNDING.yml new file mode 100644 index 000000000..fd049965b --- /dev/null +++ b/node_modules/is-boolean-object/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/is-boolean-object +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/is-boolean-object/.nycrc b/node_modules/is-boolean-object/.nycrc new file mode 100644 index 000000000..a69aa2d82 --- /dev/null +++ b/node_modules/is-boolean-object/.nycrc @@ -0,0 +1,10 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test", + "test-corejs.js" + ] +} diff --git a/node_modules/is-boolean-object/CHANGELOG.md b/node_modules/is-boolean-object/CHANGELOG.md new file mode 100644 index 000000000..25a891ad0 --- /dev/null +++ b/node_modules/is-boolean-object/CHANGELOG.md @@ -0,0 +1,100 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.1.1](https://github.com/inspect-js/is-boolean-object/compare/v1.1.0...v1.1.1) - 2021-05-07 + +### Commits + +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`7201c41`](https://github.com/inspect-js/is-boolean-object/commit/7201c41fc1fd9d64b51716b80fc63d95064a4a59) +- [Tests] run tests with core-js as well [`9590e61`](https://github.com/inspect-js/is-boolean-object/commit/9590e6135505e2e3f69c6d8785a539fca1b1e594) +- [meta] do not publish github action workflow files [`341472b`](https://github.com/inspect-js/is-boolean-object/commit/341472bbe9855030c7eda9340ee4284244f0a4ad) +- [readme] update repo URLs; remove travis badge [`9fdbbc6`](https://github.com/inspect-js/is-boolean-object/commit/9fdbbc64b2a70ee93fcfd95fc6c94c7ec2bbedd4) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1cd35c9`](https://github.com/inspect-js/is-boolean-object/commit/1cd35c9b9b0b4af203f20bda0d7fd60798e57f99) +- [readme] add actions and codecov badges [`03769fe`](https://github.com/inspect-js/is-boolean-object/commit/03769feb1466f03b1345882ca0e4f8cacbbce9ce) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`db6598c`](https://github.com/inspect-js/is-boolean-object/commit/db6598c4cabcd0ffd2ba9b4525b53907f8b2ff1f) +- [Fix] do not use `Object.prototype.toString` when `Symbol.toStringTag` is shammed [`e0b8a9f`](https://github.com/inspect-js/is-boolean-object/commit/e0b8a9f0fc1290a0a29c75967d56bc1c17eb8d2d) +- [readme] remove defunct testling badge [`986a621`](https://github.com/inspect-js/is-boolean-object/commit/986a6217da7385f7063e1d4e4bf5be2892d00c20) +- [meta] use `prepublishOnly` script for npm 7+ [`7bb3b29`](https://github.com/inspect-js/is-boolean-object/commit/7bb3b2902008ca07af4185ca98bc41b3222d579f) +- [Deps] update `call-bind` [`3af6a71`](https://github.com/inspect-js/is-boolean-object/commit/3af6a71e1004c79567630ac9944b9f2cc184ac77) +- [meta] do not publish corejs test file [`d911f03`](https://github.com/inspect-js/is-boolean-object/commit/d911f0368b6922645d15b9e28f3ed92e1badcef4) +- [actions] update workflows [`9bb3d90`](https://github.com/inspect-js/is-boolean-object/commit/9bb3d9015f377280324b162a3062d21936707216) + +## [v1.1.0](https://github.com/inspect-js/is-boolean-object/compare/v1.0.1...v1.1.0) - 2020-12-05 + +### Commits + +- [Tests] migrate tests to Github Actions [`6cdb652`](https://github.com/inspect-js/is-boolean-object/commit/6cdb652add3c6e44c2f7fe07c5ca4c0d14ddc2c1) +- [Tests] run `nyc` on all tests [`9a33076`](https://github.com/inspect-js/is-boolean-object/commit/9a33076d14869bf5120a6ca3903bcb9a008cf2e5) +- [Tests] add .editorconfig [`bb401c0`](https://github.com/inspect-js/is-boolean-object/commit/bb401c084416b010d64e0c5a74465b37addab31f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`5cb2405`](https://github.com/inspect-js/is-boolean-object/commit/5cb24052ca84d840e929f05cd1fe6c03b85ec032) +- [Robustness] use `call-bind` to avoid a dependency on `.call` [`76d87ae`](https://github.com/inspect-js/is-boolean-object/commit/76d87ae74235a9995d39bcf5783c04c744c34520) +- [actions] add "Allow Edits" workflow [`337206a`](https://github.com/inspect-js/is-boolean-object/commit/337206af74bd7c340bc938ab6dc0535c08490b3d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`11f0481`](https://github.com/inspect-js/is-boolean-object/commit/11f0481efca28a241a35d384e2a302b1bcdc9a37) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`b9602c8`](https://github.com/inspect-js/is-boolean-object/commit/b9602c8ca11be138722187c1fb0a5b25a57a4edc) +- [Dev Deps] update `auto-changelog`, `tape`; add `aud` [`999e9e2`](https://github.com/inspect-js/is-boolean-object/commit/999e9e224d4eec8b20fc9c3431e9ba42caad79c9) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`bbb6728`](https://github.com/inspect-js/is-boolean-object/commit/bbb6728b9410f9d3e2d266523a477127e5e4c16f) + +## [v1.0.1](https://github.com/inspect-js/is-boolean-object/compare/v1.0.0...v1.0.1) - 2019-12-18 + +### Commits + +- [Tests] use shared travis-ci configs [`a1778b8`](https://github.com/inspect-js/is-boolean-object/commit/a1778b81ab4fe4479176de854e4e233cc441f183) +- Update `eslint`; use my personal shared `eslint` config. [`2c42c50`](https://github.com/inspect-js/is-boolean-object/commit/2c42c50a0654044b6c7e2a4ab18227e8c275464b) +- [Tests] remove `jscs` [`3807025`](https://github.com/inspect-js/is-boolean-object/commit/380702504fabc47fe22f61c4847379023d31a657) +- [Tests] up to `node` `v8.4`, `v7.10`, `v6.11`, `v5.12`, `v4.8`; improve matrix; newer npm breaks in older node; improve scripts. [`a02b986`](https://github.com/inspect-js/is-boolean-object/commit/a02b98682b285de09e2c5a895627771d6a7f552c) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `is`, `jscs`, `nsp`, `semver`, `tape` [`d9030a9`](https://github.com/inspect-js/is-boolean-object/commit/d9030a99b8e274c76ae5f23f31d9d085a7e25272) +- Update `eslint`, `nsp` [`a1b6388`](https://github.com/inspect-js/is-boolean-object/commit/a1b6388fabd0de51a02c567953826344ef05890c) +- [Tests] up to `node` `v10.0`, `v9.11`, `v8.11`, `v6.14`, `v4.9`; use `nvm install-latest-npm` [`17a0fd3`](https://github.com/inspect-js/is-boolean-object/commit/17a0fd391e32635ec3434baca0d062f8abeeb592) +- [Tests] up to `node` `v12.10`, `v11.15`, `v10.16`, `v8.16`, `v6.17` [`0b1818f`](https://github.com/inspect-js/is-boolean-object/commit/0b1818fdcaebc6133e515dfe3b5a8930b38999b5) +- [meta] remove unused Makefile and associated utilities [`33dc0ae`](https://github.com/inspect-js/is-boolean-object/commit/33dc0ae35a03e91f81b1bb3db5ba763dacadbfa2) +- Update `covert`, `jscs`, `eslint`, `semver` [`7e513c1`](https://github.com/inspect-js/is-boolean-object/commit/7e513c12998a651c14f62b3ecfb7215a5cc5ee8f) +- [Tests] up to `node` `v11.4`, `v10.14`, `v8.14`, `v6.15` [`992b849`](https://github.com/inspect-js/is-boolean-object/commit/992b84933760e0fe6ba2cee74ad7fff507f28128) +- [meta] add `auto-changelog` [`63d71b8`](https://github.com/inspect-js/is-boolean-object/commit/63d71b8beb9aeb77cab3d2db2cf643f1b8b1a55c) +- Update `tape`, `eslint`, `semver` [`76aea69`](https://github.com/inspect-js/is-boolean-object/commit/76aea699fb315ac460799182d707c388b4a4e017) +- Update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`a6cbec0`](https://github.com/inspect-js/is-boolean-object/commit/a6cbec09940b6f2c7cf366526a94c0c4756508f5) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `replace`, `semver`, `tape`; add `safe-publish-latest` [`7cf6bb0`](https://github.com/inspect-js/is-boolean-object/commit/7cf6bb05ba7bac504df680dd9ca625fba6dccb5a) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest` [`57d713c`](https://github.com/inspect-js/is-boolean-object/commit/57d713cca2ccbbbf1da1142ee5e8236d12551f76) +- [actions] add automatic rebasing / merge commit blocking [`f7a2bdb`](https://github.com/inspect-js/is-boolean-object/commit/f7a2bdb905e07d75c65593359f81bfeda9fe9826) +- [meta] create FUNDING.yml [`9765e73`](https://github.com/inspect-js/is-boolean-object/commit/9765e738cccdd5ff6c89b21324119a2bf4064fbd) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `is`, `replace`, `semver`, `tape` [`5c16b56`](https://github.com/inspect-js/is-boolean-object/commit/5c16b56a5a2d36c6a70c1bd396b3a6c931f655db) +- [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`5717aad`](https://github.com/inspect-js/is-boolean-object/commit/5717aadd8b0e8c76ccb194d1845ad8cc120f29c6) +- [Dev Deps] update `is`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` [`80b924d`](https://github.com/inspect-js/is-boolean-object/commit/80b924dd270188e1e928f4141078bee14d810e9b) +- [Dev Deps] update `jscs` [`2e5479e`](https://github.com/inspect-js/is-boolean-object/commit/2e5479e56b6d33288582cfe8c254ca081e79500c) +- Test up to `io.js` `v2.2` [`93379a4`](https://github.com/inspect-js/is-boolean-object/commit/93379a4b48ba719113006ab08bbe6679c8a27293) +- [Tests] remove `nsp`; use `npm audit`; allow to fail for now [`36ae30a`](https://github.com/inspect-js/is-boolean-object/commit/36ae30acffe4a892ea0882a793b8a90f09d08fdf) +- [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`ef76976`](https://github.com/inspect-js/is-boolean-object/commit/ef76976db22f2867fca2ee377fdbc9da81f0d142) +- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`a1182bd`](https://github.com/inspect-js/is-boolean-object/commit/a1182bd99e5d31e113107241f0d697e71b27bf7b) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`4f79b47`](https://github.com/inspect-js/is-boolean-object/commit/4f79b474f0643fd2c9dbc863949a61cf01255b6f) +- [Tests] up to `node` `v10.3` [`5e96464`](https://github.com/inspect-js/is-boolean-object/commit/5e96464fc08eacc45f5f58fe7800ddbc45e40cea) +- [Dev Deps] update `eslint`, `nsp`, `semver`, `tape` [`e1eb3fa`](https://github.com/inspect-js/is-boolean-object/commit/e1eb3fad8bad65140db3bd2381bb3bea6a9c6242) +- Only apps should have lockfiles. [`c7f301f`](https://github.com/inspect-js/is-boolean-object/commit/c7f301ff368f9e04f7f64a2ce9b6ae1aec803e69) +- [meta] add `funding` field [`fad0366`](https://github.com/inspect-js/is-boolean-object/commit/fad03662becea5db7cef29d816d173ad771be86a) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`80d39d9`](https://github.com/inspect-js/is-boolean-object/commit/80d39d90205d3bb564acb80b0625e90c267347fd) +- [Tests] use `eclint` instead of `editorconfig-tools` [`980e91b`](https://github.com/inspect-js/is-boolean-object/commit/980e91b186a728f77366ba16b7bebc813b9cc3b0) +- [Dev Deps] Update `tape`, `eslint` [`9960830`](https://github.com/inspect-js/is-boolean-object/commit/9960830876a3672686c569fde3d43bb7983955f1) +- Test up to `io.js` `v3.0` [`a3c3cd0`](https://github.com/inspect-js/is-boolean-object/commit/a3c3cd087d7fcefbf4f3525c05f4cee3b6e5b0ef) +- [Dev Deps] update `tape` [`217fbd6`](https://github.com/inspect-js/is-boolean-object/commit/217fbd6bb2989f9304ad95cd49697da7fe03b8d5) +- [Tests] only audit prod deps [`89284ee`](https://github.com/inspect-js/is-boolean-object/commit/89284ee17dce1d044df0ca9e006072f25742bbaf) +- [Performance] only use toStringTag code path when the value has that property [`2863bc5`](https://github.com/inspect-js/is-boolean-object/commit/2863bc5b72680f05ace8e66fddcf48966b942d55) +- [Dev Deps] update `replace` [`53e72a5`](https://github.com/inspect-js/is-boolean-object/commit/53e72a5ceca5b3a82e6407829f9227df9df6d329) +- [Enhancement] slight optimization for `null` [`a90a3c4`](https://github.com/inspect-js/is-boolean-object/commit/a90a3c4464d0300e23384d96fb4281b55b7fd723) +- [Dev Deps] update `tape` [`9377bd5`](https://github.com/inspect-js/is-boolean-object/commit/9377bd5110e99d8ec550f24ef3f6ead62a8f1f50) +- Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. [`3085530`](https://github.com/inspect-js/is-boolean-object/commit/30855304841854f79e406372f524efe4bc7d8c04) +- Test on `io.js` `v2.4` [`8af335c`](https://github.com/inspect-js/is-boolean-object/commit/8af335ca82a0eeba4a0a593775e4caf744834ec4) +- Test on `io.js` `v2.3` [`1eb3424`](https://github.com/inspect-js/is-boolean-object/commit/1eb3424bef528551f5c99a754281a51d92e40ab1) + +## v1.0.0 - 2015-04-28 + +### Commits + +- Dotfiles [`6b9b998`](https://github.com/inspect-js/is-boolean-object/commit/6b9b998bb238a32d4829c9f9bf274e5ca15023ee) +- `make release` [`d5e50b3`](https://github.com/inspect-js/is-boolean-object/commit/d5e50b33a3cd8d8abe7de8ae36e2944c24ce76ba) +- package.json [`117676a`](https://github.com/inspect-js/is-boolean-object/commit/117676a48609e636d4257c1b35c695ff20939211) +- Read me [`ef327a7`](https://github.com/inspect-js/is-boolean-object/commit/ef327a74c7f73e64cfa3c20a9620ef7accf8b762) +- Initial commit [`2346886`](https://github.com/inspect-js/is-boolean-object/commit/2346886252b9637c1af6851a3fc2cbc98bc986aa) +- Tests [`67211f8`](https://github.com/inspect-js/is-boolean-object/commit/67211f8bff1a49e5df219935765b83573c097353) +- Implementation [`2d88bd6`](https://github.com/inspect-js/is-boolean-object/commit/2d88bd6e1ef0f07f5a639775eb89f3b78e12eb65) diff --git a/node_modules/is-boolean-object/LICENSE b/node_modules/is-boolean-object/LICENSE new file mode 100644 index 000000000..b43df444e --- /dev/null +++ b/node_modules/is-boolean-object/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/node_modules/is-boolean-object/README.md b/node_modules/is-boolean-object/README.md new file mode 100644 index 000000000..a77f3e9df --- /dev/null +++ b/node_modules/is-boolean-object/README.md @@ -0,0 +1,57 @@ +# is-boolean-object [![Version Badge][2]][1] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag. + +## Example + +```js +var isBoolean = require('is-boolean-object'); +var assert = require('assert'); + +assert.notOk(isBoolean(undefined)); +assert.notOk(isBoolean(null)); +assert.notOk(isBoolean('foo')); +assert.notOk(isBoolean(function () {})); +assert.notOk(isBoolean([])); +assert.notOk(isBoolean({})); +assert.notOk(isBoolean(/a/g)); +assert.notOk(isBoolean(new RegExp('a', 'g'))); +assert.notOk(isBoolean(new Date())); +assert.notOk(isBoolean(42)); +assert.notOk(isBoolean(NaN)); +assert.notOk(isBoolean(Infinity)); + +assert.ok(isBoolean(new Boolean(42))); +assert.ok(isBoolean(false)); +assert.ok(isBoolean(Object(false))); +assert.ok(isBoolean(true)); +assert.ok(isBoolean(Object(true))); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/is-boolean-object +[2]: https://versionbadg.es/inspect-js/is-boolean-object.svg +[5]: https://david-dm.org/inspect-js/is-boolean-object.svg +[6]: https://david-dm.org/inspect-js/is-boolean-object +[7]: https://david-dm.org/inspect-js/is-boolean-object/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-boolean-object#info=devDependencies +[11]: https://nodei.co/npm/is-boolean-object.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/is-boolean-object.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/is-boolean-object.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-boolean-object +[codecov-image]: https://codecov.io/gh/inspect-js/is-boolean-object/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-boolean-object/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-boolean-object +[actions-url]: https://github.com/inspect-js/is-boolean-object/actions diff --git a/node_modules/is-boolean-object/index.js b/node_modules/is-boolean-object/index.js new file mode 100644 index 000000000..0cd8e7777 --- /dev/null +++ b/node_modules/is-boolean-object/index.js @@ -0,0 +1,26 @@ +'use strict'; + +var callBound = require('call-bind/callBound'); +var $boolToStr = callBound('Boolean.prototype.toString'); +var $toString = callBound('Object.prototype.toString'); + +var tryBooleanObject = function booleanBrandCheck(value) { + try { + $boolToStr(value); + return true; + } catch (e) { + return false; + } +}; +var boolClass = '[object Boolean]'; +var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; + +module.exports = function isBoolean(value) { + if (typeof value === 'boolean') { + return true; + } + if (value === null || typeof value !== 'object') { + return false; + } + return hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : $toString(value) === boolClass; +}; diff --git a/node_modules/is-boolean-object/package.json b/node_modules/is-boolean-object/package.json new file mode 100644 index 000000000..19df27f17 --- /dev/null +++ b/node_modules/is-boolean-object/package.json @@ -0,0 +1,86 @@ +{ + "name": "is-boolean-object", + "version": "1.1.1", + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "description": "Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag.", + "license": "MIT", + "main": "index.js", + "scripts": { + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only && npm run test:harmony && npm run test:corejs", + "tests-only": "nyc tape 'test/**/*.js'", + "test:harmony": "node --harmony --es-staging test", + "test:corejs": "nyc tape test-corejs.js", + "posttest": "aud --production", + "prelint": "npm run eccheck", + "lint": "eslint --ext=js,mjs .", + "eccheck": "eclint check $(git ls-files)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git://github.com/inspect-js/is-boolean-object.git" + }, + "keywords": [ + "Boolean", + "ES6", + "toStringTag", + "@@toStringTag", + "Boolean object", + "true", + "false", + "is-boolean" + ], + "dependencies": { + "call-bind": "^1.0.2" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "core-js": "^3.12.0", + "eclint": "^2.8.1", + "eslint": "^7.25.0", + "foreach": "^2.0.5", + "indexof": "^0.0.1", + "is": "^3.3.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "tape": "^5.2.2" + }, + "testling": { + "files": "test.js", + "browsers": [ + "iexplore/6.0..latest", + "firefox/3.0..6.0", + "firefox/15.0..latest", + "firefox/nightly", + "chrome/4.0..10.0", + "chrome/20.0..latest", + "chrome/canary", + "opera/10.0..latest", + "opera/next", + "safari/4.0..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2" + ] + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/node_modules/is-boolean-object/test/index.js b/node_modules/is-boolean-object/test/index.js new file mode 100644 index 000000000..9ca4b34ec --- /dev/null +++ b/node_modules/is-boolean-object/test/index.js @@ -0,0 +1,48 @@ +'use strict'; + +var test = require('tape'); +var isBoolean = require('../'); +var hasSymbols = require('has-symbols/shams')(); + +test('not Booleans', function (t) { + t.test('primitives', function (st) { + st.notOk(isBoolean(), 'undefined is not Boolean'); + st.notOk(isBoolean(null), 'null is not Boolean'); + st.notOk(isBoolean(0), '0 is not Boolean'); + st.notOk(isBoolean(NaN), 'NaN is not Boolean'); + st.notOk(isBoolean(Infinity), 'Infinity is not Boolean'); + st.notOk(isBoolean('foo'), 'string is not Boolean'); + st.end(); + }); + + t.test('objects', function (st) { + st.notOk(isBoolean(Object(42)), 'number object is not Boolean'); + st.notOk(isBoolean([]), 'array is not Boolean'); + st.notOk(isBoolean({}), 'object is not Boolean'); + st.notOk(isBoolean(function () {}), 'function is not Boolean'); + st.notOk(isBoolean(/a/g), 'regex literal is not Boolean'); + st.notOk(isBoolean(new RegExp('a', 'g')), 'regex object is not Boolean'); + st.notOk(isBoolean(new Date()), 'new Date() is not Boolean'); + st.end(); + }); + + t.end(); +}); + +test('@@toStringTag', { skip: !hasSymbols || !Symbol.toStringTag }, function (t) { + var fakeBoolean = { + toString: function () { return 'true'; }, + valueOf: function () { return true; } + }; + fakeBoolean[Symbol.toStringTag] = 'Boolean'; + t.notOk(isBoolean(fakeBoolean), 'fake Boolean with @@toStringTag "Boolean" is not Boolean'); + t.end(); +}); + +test('Booleans', function (t) { + t.ok(isBoolean(true), 'true is Boolean'); + t.ok(isBoolean(false), 'false is Boolean'); + t.ok(isBoolean(Object(true)), 'Object(true) is Boolean'); + t.ok(isBoolean(Object(false)), 'Object(false) is Boolean'); + t.end(); +}); diff --git a/node_modules/is-callable/.eslintignore b/node_modules/is-callable/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-callable/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-callable/.eslintrc b/node_modules/is-callable/.eslintrc index bd4525cba..631b8f369 100644 --- a/node_modules/is-callable/.eslintrc +++ b/node_modules/is-callable/.eslintrc @@ -5,7 +5,7 @@ "rules": { "id-length": 0, - "max-statements": [2, 12], + "max-statements": [2, 14], "max-statements-per-line": [2, { "max": 2 }], "operator-linebreak": [2, "before"], }, diff --git a/node_modules/is-callable/.github/workflows/rebase.yml b/node_modules/is-callable/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/is-callable/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-callable/.nycrc b/node_modules/is-callable/.nycrc new file mode 100644 index 000000000..1826526e0 --- /dev/null +++ b/node_modules/is-callable/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-callable/.travis.yml b/node_modules/is-callable/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/is-callable/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/is-callable/CHANGELOG.md b/node_modules/is-callable/CHANGELOG.md index 34d2a0074..6b88f5b7f 100644 --- a/node_modules/is-callable/CHANGELOG.md +++ b/node_modules/is-callable/CHANGELOG.md @@ -1,3 +1,16 @@ +1.2.3 / 2021-01-31 +================= + * [Fix] `document.all` is callable (do not use `document.all`!) + * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` + * [Tests] migrate tests to Github Actions + * [actions] add "Allow Edits" workflow + * [actions] switch Automatic Rebase workflow to `pull_request_target` event + +1.2.2 / 2020-09-21 +================= + * [Fix] include actual fix from 579179e + * [Dev Deps] update `eslint` + 1.2.1 / 2020-09-09 ================= * [Fix] phantomjs‘ Reflect.apply does not throw properly on a bad array-like diff --git a/node_modules/is-callable/index.js b/node_modules/is-callable/index.js index a2d4adc10..f36d71db1 100644 --- a/node_modules/is-callable/index.js +++ b/node_modules/is-callable/index.js @@ -12,8 +12,12 @@ if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'func } }); isCallableMarker = {}; + // eslint-disable-next-line no-throw-literal + reflectApply(function () { throw 42; }, null, badArrayLike); } catch (_) { - reflectApply = null; + if (_ !== isCallableMarker) { + reflectApply = null; + } } } else { reflectApply = null; @@ -42,9 +46,12 @@ var toStr = Object.prototype.toString; var fnClass = '[object Function]'; var genClass = '[object GeneratorFunction]'; var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; +/* globals document: false */ +var documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {}; module.exports = reflectApply ? function isCallable(value) { + if (value === documentDotAll) { return true; } if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (typeof value === 'function' && !value.prototype) { return true; } @@ -56,6 +63,7 @@ module.exports = reflectApply return !isES6ClassFn(value); } : function isCallable(value) { + if (value === documentDotAll) { return true; } if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (typeof value === 'function' && !value.prototype) { return true; } diff --git a/node_modules/is-callable/package.json b/node_modules/is-callable/package.json index 937ad9352..b5f765593 100644 --- a/node_modules/is-callable/package.json +++ b/node_modules/is-callable/package.json @@ -1,6 +1,6 @@ { "name": "is-callable", - "version": "1.2.1", + "version": "1.2.3", "author": { "name": "Jordan Harband", "email": "ljharb@gmail.com", @@ -56,11 +56,11 @@ ], "dependencies": {}, "devDependencies": { - "@ljharb/eslint-config": "^17.2.0", - "aud": "^1.1.2", + "@ljharb/eslint-config": "^17.5.0", + "aud": "^1.1.3", "covert": "^1.1.1", "eclint": "^2.8.1", - "eslint": "^7.8.1", + "eslint": "^7.19.0", "foreach": "^2.0.5", "istanbul": "1.1.0-alpha.1", "istanbul-merge": "^1.1.1", @@ -69,7 +69,7 @@ "make-generator-function": "^2.0.0", "rimraf": "^2.7.1", "safe-publish-latest": "^1.1.4", - "tape": "^5.0.1" + "tape": "^5.1.1" }, "testling": { "files": "test/index.js", diff --git a/node_modules/is-callable/test/index.js b/node_modules/is-callable/test/index.js index d56366d0f..2eacb0ee5 100644 --- a/node_modules/is-callable/test/index.js +++ b/node_modules/is-callable/test/index.js @@ -188,3 +188,11 @@ test('throwing functions', function (t) { var thrower = function (a) { return a.b; }; t.ok(isCallable(thrower), 'a function that throws is callable'); }); + +/* globals document: false */ +test('document.all', { skip: typeof document !== 'object' }, function (t) { + t.notOk(isCallable(document), 'document is not callable'); + t.ok(isCallable(document.all), 'document.all is callable'); + + t.end(); +}); diff --git a/node_modules/is-core-module/.eslintignore b/node_modules/is-core-module/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-core-module/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-core-module/.eslintrc b/node_modules/is-core-module/.eslintrc new file mode 100644 index 000000000..9c7d5168a --- /dev/null +++ b/node_modules/is-core-module/.eslintrc @@ -0,0 +1,18 @@ +{ + "extends": "@ljharb", + "root": true, + "rules": { + "func-style": 1, + "operator-linebreak": [2, "before"], + }, + "overrides": [ + { + "files": "test/**", + "rules": { + "global-require": 0, + "max-lines-per-function": 0, + "no-negated-condition": 0, + }, + }, + ], +} diff --git a/node_modules/is-core-module/.nycrc b/node_modules/is-core-module/.nycrc new file mode 100644 index 000000000..bdd626ce9 --- /dev/null +++ b/node_modules/is-core-module/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-core-module/CHANGELOG.md b/node_modules/is-core-module/CHANGELOG.md new file mode 100644 index 000000000..1445627fb --- /dev/null +++ b/node_modules/is-core-module/CHANGELOG.md @@ -0,0 +1,90 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v2.5.0](https://github.com/inspect-js/is-core-module/compare/v2.4.0...v2.5.0) - 2021-07-12 + +### Commits + +- [Dev Deps] update `auto-changelog`, `eslint` [`6334cc9`](https://github.com/inspect-js/is-core-module/commit/6334cc94f3af7469685bd8f236740991baaf2705) +- [New] add `stream/web` to node v16.5+ [`17ac59b`](https://github.com/inspect-js/is-core-module/commit/17ac59b662d63e220a2e5728625f005c24f177b2) + +## [v2.4.0](https://github.com/inspect-js/is-core-module/compare/v2.3.0...v2.4.0) - 2021-05-09 + +### Commits + +- [readme] add actions and codecov badges [`82b7faa`](https://github.com/inspect-js/is-core-module/commit/82b7faa12b56dbe47fbea67e1a5b9e447027ba40) +- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`8096868`](https://github.com/inspect-js/is-core-module/commit/8096868c024a161ccd4d44110b136763e92eace8) +- [Dev Deps] update `eslint` [`6726824`](https://github.com/inspect-js/is-core-module/commit/67268249b88230018c510f6532a8046d7326346f) +- [New] add `diagnostics_channel` to node `^14.17` [`86c6563`](https://github.com/inspect-js/is-core-module/commit/86c65634201b8ff9b3e48a9a782594579c7f5c3c) +- [meta] fix prepublish script [`697a01e`](https://github.com/inspect-js/is-core-module/commit/697a01e3c9c0be074066520954f30fb28532ec57) + +## [v2.3.0](https://github.com/inspect-js/is-core-module/compare/v2.2.0...v2.3.0) - 2021-04-24 + +### Commits + +- [meta] do not publish github action workflow files [`060d4bb`](https://github.com/inspect-js/is-core-module/commit/060d4bb971a29451c19ff336eb56bee27f9fa95a) +- [New] add support for `node:` prefix, in node 16+ [`7341223`](https://github.com/inspect-js/is-core-module/commit/73412230a769f6e81c05eea50b6520cebf54ed2f) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`016269a`](https://github.com/inspect-js/is-core-module/commit/016269abae9f6657a5254adfbb813f09a05067f9) +- [patch] remove unneeded `.0` in version ranges [`cb466a6`](https://github.com/inspect-js/is-core-module/commit/cb466a6d89e52b8389e5c12715efcd550c41cea3) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`c9f9c39`](https://github.com/inspect-js/is-core-module/commit/c9f9c396ace60ef81906f98059c064e6452473ed) +- [actions] update workflows [`3ee4a89`](https://github.com/inspect-js/is-core-module/commit/3ee4a89fd5a02fccd43882d905448ea6a98e9a3c) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`dee4fed`](https://github.com/inspect-js/is-core-module/commit/dee4fed79690c1d43a22f7fa9426abebdc6d727f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`7d046ba`](https://github.com/inspect-js/is-core-module/commit/7d046ba07ae8c9292e43652694ca808d7b309de8) +- [meta] use `prepublishOnly` script for npm 7+ [`149e677`](https://github.com/inspect-js/is-core-module/commit/149e6771a5ede6d097e71785b467a9c4b4977cc7) +- [readme] remove travis badge [`903b51d`](https://github.com/inspect-js/is-core-module/commit/903b51d6b69b98abeabfbc3695c345b02646f19c) + +## [v2.2.0](https://github.com/inspect-js/is-core-module/compare/v2.1.0...v2.2.0) - 2020-11-26 + +### Commits + +- [Tests] migrate tests to Github Actions [`c919f57`](https://github.com/inspect-js/is-core-module/commit/c919f573c0a92d10a0acad0b650b5aecb033d426) +- [patch] `core.json`: %s/ /\t/g [`db3f685`](https://github.com/inspect-js/is-core-module/commit/db3f68581f53e73cc09cd675955eb1bdd6a5a39b) +- [Tests] run `nyc` on all tests [`b2f925f`](https://github.com/inspect-js/is-core-module/commit/b2f925f8866f210ef441f39fcc8cc42692ab89b1) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; add `safe-publish-latest` [`89f02a2`](https://github.com/inspect-js/is-core-module/commit/89f02a2b4162246dea303a6ee31bb9a550b05c72) +- [New] add `path/posix`, `path/win32`, `util/types` [`77f94f1`](https://github.com/inspect-js/is-core-module/commit/77f94f1e90ffd7c0be2a3f1aa8574ebf7fd981b3) + +## [v2.1.0](https://github.com/inspect-js/is-core-module/compare/v2.0.0...v2.1.0) - 2020-11-04 + +### Commits + +- [Dev Deps] update `eslint` [`5e0034e`](https://github.com/inspect-js/is-core-module/commit/5e0034eae57c09c8f1bd769f502486a00f56c6e4) +- [New] Add `diagnostics_channel` [`c2d83d0`](https://github.com/inspect-js/is-core-module/commit/c2d83d0a0225a1a658945d9bab7036ea347d29ec) + +## [v2.0.0](https://github.com/inspect-js/is-core-module/compare/v1.0.2...v2.0.0) - 2020-09-29 + +### Commits + +- v2 implementation [`865aeb5`](https://github.com/inspect-js/is-core-module/commit/865aeb5ca0e90248a3dfff5d7622e4751fdeb9cd) +- Only apps should have lockfiles [`5a5e660`](https://github.com/inspect-js/is-core-module/commit/5a5e660d568e37eb44e17fb1ebb12a105205fc2b) +- Initial commit for v2 [`5a51524`](https://github.com/inspect-js/is-core-module/commit/5a51524e06f92adece5fbb138c69b7b9748a2348) +- Tests [`116eae4`](https://github.com/inspect-js/is-core-module/commit/116eae4fccd01bc72c1fd3cc4b7561c387afc496) +- [meta] add `auto-changelog` [`c24388b`](https://github.com/inspect-js/is-core-module/commit/c24388bee828d223040519d1f5b226ca35beee63) +- [actions] add "Automatic Rebase" and "require allow edits" actions [`34292db`](https://github.com/inspect-js/is-core-module/commit/34292dbcbadae0868aff03c22dbd8b7b8a11558a) +- [Tests] add `npm run lint` [`4f9eeee`](https://github.com/inspect-js/is-core-module/commit/4f9eeee7ddff10698bbf528620f4dc8d4fa3e697) +- [readme] fix travis badges, https all URLs [`e516a73`](https://github.com/inspect-js/is-core-module/commit/e516a73b0dccce20938c432b1ba512eae8eff9e9) +- [meta] create FUNDING.yml [`1aabebc`](https://github.com/inspect-js/is-core-module/commit/1aabebca98d01f8a04e46bc2e2520fa93cf21ac6) +- [Fix] `domain`: domain landed sometime > v0.7.7 and <= v0.7.12 [`2df7d37`](https://github.com/inspect-js/is-core-module/commit/2df7d37595d41b15eeada732b706b926c2771655) +- [Fix] `sys`: worked in 0.6, not 0.7, and 0.8+ [`a75c134`](https://github.com/inspect-js/is-core-module/commit/a75c134229e1e9441801f6b73f6a52489346eb65) + +## [v1.0.2](https://github.com/inspect-js/is-core-module/compare/v1.0.1...v1.0.2) - 2014-09-28 + +### Commits + +- simpler [`66fe90f`](https://github.com/inspect-js/is-core-module/commit/66fe90f9771581b9adc0c3900baa52c21b5baea2) + +## [v1.0.1](https://github.com/inspect-js/is-core-module/compare/v1.0.0...v1.0.1) - 2014-09-28 + +### Commits + +- remove stupid [`f21f906`](https://github.com/inspect-js/is-core-module/commit/f21f906f882c2bd656a5fc5ed6fbe48ddaffb2ac) +- update readme [`1eff0ec`](https://github.com/inspect-js/is-core-module/commit/1eff0ec69798d1ec65771552d1562911e90a8027) + +## v1.0.0 - 2014-09-28 + +### Commits + +- init [`48e5e76`](https://github.com/inspect-js/is-core-module/commit/48e5e76cac378fddb8c1f7d4055b8dfc943d6b96) diff --git a/node_modules/is-core-module/LICENSE b/node_modules/is-core-module/LICENSE new file mode 100644 index 000000000..2e502872a --- /dev/null +++ b/node_modules/is-core-module/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Dave Justice + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/is-core-module/README.md b/node_modules/is-core-module/README.md new file mode 100644 index 000000000..062d9068e --- /dev/null +++ b/node_modules/is-core-module/README.md @@ -0,0 +1,40 @@ +# is-core-module [![Version Badge][2]][1] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Is this specifier a node.js core module? Optionally provide a node version to check; defaults to the current node version. + +## Example + +```js +var isCore = require('is-core-module'); +var assert = require('assert'); +assert(isCore('fs')); +assert(!isCore('butts')); +``` + +## Tests +Clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/is-core-module +[2]: https://versionbadg.es/inspect-js/is-core-module.svg +[5]: https://david-dm.org/inspect-js/is-core-module.svg +[6]: https://david-dm.org/inspect-js/is-core-module +[7]: https://david-dm.org/inspect-js/is-core-module/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-core-module#info=devDependencies +[11]: https://nodei.co/npm/is-core-module.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/is-core-module.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/is-core-module.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-core-module +[codecov-image]: https://codecov.io/gh/inspect-js/is-core-module/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-core-module/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-core-module +[actions-url]: https://github.com/inspect-js/is-core-module/actions diff --git a/node_modules/is-core-module/core.json b/node_modules/is-core-module/core.json new file mode 100644 index 000000000..773222f6b --- /dev/null +++ b/node_modules/is-core-module/core.json @@ -0,0 +1,148 @@ +{ + "assert": true, + "node:assert": ">= 16", + "assert/strict": ">= 15", + "node:assert/strict": ">= 16", + "async_hooks": ">= 8", + "node:async_hooks": ">= 16", + "buffer_ieee754": "< 0.9.7", + "buffer": true, + "node:buffer": ">= 16", + "child_process": true, + "node:child_process": ">= 16", + "cluster": true, + "node:cluster": ">= 16", + "console": true, + "node:console": ">= 16", + "constants": true, + "node:constants": ">= 16", + "crypto": true, + "node:crypto": ">= 16", + "_debug_agent": ">= 1 && < 8", + "_debugger": "< 8", + "dgram": true, + "node:dgram": ">= 16", + "diagnostics_channel": [">= 14.17 && < 15", ">= 15.1"], + "node:diagnostics_channel": ">= 16", + "dns": true, + "node:dns": ">= 16", + "dns/promises": ">= 15", + "node:dns/promises": ">= 16", + "domain": ">= 0.7.12", + "node:domain": ">= 16", + "events": true, + "node:events": ">= 16", + "freelist": "< 6", + "fs": true, + "node:fs": ">= 16", + "fs/promises": [">= 10 && < 10.1", ">= 14"], + "node:fs/promises": ">= 16", + "_http_agent": ">= 0.11.1", + "node:_http_agent": ">= 16", + "_http_client": ">= 0.11.1", + "node:_http_client": ">= 16", + "_http_common": ">= 0.11.1", + "node:_http_common": ">= 16", + "_http_incoming": ">= 0.11.1", + "node:_http_incoming": ">= 16", + "_http_outgoing": ">= 0.11.1", + "node:_http_outgoing": ">= 16", + "_http_server": ">= 0.11.1", + "node:_http_server": ">= 16", + "http": true, + "node:http": ">= 16", + "http2": ">= 8.8", + "node:http2": ">= 16", + "https": true, + "node:https": ">= 16", + "inspector": ">= 8", + "node:inspector": ">= 16", + "_linklist": "< 8", + "module": true, + "node:module": ">= 16", + "net": true, + "node:net": ">= 16", + "node-inspect/lib/_inspect": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", + "os": true, + "node:os": ">= 16", + "path": true, + "node:path": ">= 16", + "path/posix": ">= 15.3", + "node:path/posix": ">= 16", + "path/win32": ">= 15.3", + "node:path/win32": ">= 16", + "perf_hooks": ">= 8.5", + "node:perf_hooks": ">= 16", + "process": ">= 1", + "node:process": ">= 16", + "punycode": true, + "node:punycode": ">= 16", + "querystring": true, + "node:querystring": ">= 16", + "readline": true, + "node:readline": ">= 16", + "repl": true, + "node:repl": ">= 16", + "smalloc": ">= 0.11.5 && < 3", + "_stream_duplex": ">= 0.9.4", + "node:_stream_duplex": ">= 16", + "_stream_transform": ">= 0.9.4", + "node:_stream_transform": ">= 16", + "_stream_wrap": ">= 1.4.1", + "node:_stream_wrap": ">= 16", + "_stream_passthrough": ">= 0.9.4", + "node:_stream_passthrough": ">= 16", + "_stream_readable": ">= 0.9.4", + "node:_stream_readable": ">= 16", + "_stream_writable": ">= 0.9.4", + "node:_stream_writable": ">= 16", + "stream": true, + "node:stream": ">= 16", + "stream/promises": ">= 15", + "node:stream/promises": ">= 16", + "stream/web": ">= 16.5", + "node:stream/web": ">= 16.5", + "string_decoder": true, + "node:string_decoder": ">= 16", + "sys": [">= 0.6 && < 0.7", ">= 0.8"], + "node:sys": ">= 16", + "timers": true, + "node:timers": ">= 16", + "timers/promises": ">= 15", + "node:timers/promises": ">= 16", + "_tls_common": ">= 0.11.13", + "node:_tls_common": ">= 16", + "_tls_legacy": ">= 0.11.3 && < 10", + "_tls_wrap": ">= 0.11.3", + "node:_tls_wrap": ">= 16", + "tls": true, + "node:tls": ">= 16", + "trace_events": ">= 10", + "node:trace_events": ">= 16", + "tty": true, + "node:tty": ">= 16", + "url": true, + "node:url": ">= 16", + "util": true, + "node:util": ">= 16", + "util/types": ">= 15.3", + "node:util/types": ">= 16", + "v8/tools/arguments": ">= 10 && < 12", + "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8": ">= 1", + "node:v8": ">= 16", + "vm": true, + "node:vm": ">= 16", + "wasi": ">= 13.4 && < 13.5", + "worker_threads": ">= 11.7", + "node:worker_threads": ">= 16", + "zlib": true, + "node:zlib": ">= 16" +} diff --git a/node_modules/is-core-module/index.js b/node_modules/is-core-module/index.js new file mode 100644 index 000000000..f5a69cf76 --- /dev/null +++ b/node_modules/is-core-module/index.js @@ -0,0 +1,69 @@ +'use strict'; + +var has = require('has'); + +function specifierIncluded(current, specifier) { + var nodeParts = current.split('.'); + var parts = specifier.split(' '); + var op = parts.length > 1 ? parts[0] : '='; + var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.'); + + for (var i = 0; i < 3; ++i) { + var cur = parseInt(nodeParts[i] || 0, 10); + var ver = parseInt(versionParts[i] || 0, 10); + if (cur === ver) { + continue; // eslint-disable-line no-restricted-syntax, no-continue + } + if (op === '<') { + return cur < ver; + } + if (op === '>=') { + return cur >= ver; + } + return false; + } + return op === '>='; +} + +function matchesRange(current, range) { + var specifiers = range.split(/ ?&& ?/); + if (specifiers.length === 0) { + return false; + } + for (var i = 0; i < specifiers.length; ++i) { + if (!specifierIncluded(current, specifiers[i])) { + return false; + } + } + return true; +} + +function versionIncluded(nodeVersion, specifierValue) { + if (typeof specifierValue === 'boolean') { + return specifierValue; + } + + var current = typeof nodeVersion === 'undefined' + ? process.versions && process.versions.node && process.versions.node + : nodeVersion; + + if (typeof current !== 'string') { + throw new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required'); + } + + if (specifierValue && typeof specifierValue === 'object') { + for (var i = 0; i < specifierValue.length; ++i) { + if (matchesRange(current, specifierValue[i])) { + return true; + } + } + return false; + } + return matchesRange(current, specifierValue); +} + +var data = require('./core.json'); + +module.exports = function isCore(x, nodeVersion) { + return has(data, x) && versionIncluded(nodeVersion, data[x]); +}; diff --git a/node_modules/is-core-module/package.json b/node_modules/is-core-module/package.json new file mode 100644 index 000000000..0965e7114 --- /dev/null +++ b/node_modules/is-core-module/package.json @@ -0,0 +1,68 @@ +{ + "name": "is-core-module", + "version": "2.5.0", + "description": "Is this specifier a node.js core module?", + "main": "index.js", + "exports": { + ".": [ + { + "default": "./index.js" + }, + "./index.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "tests-only": "tape 'test/**/*.js'", + "test": "nyc npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/is-core-module.git" + }, + "keywords": [ + "core", + "modules", + "module", + "npm", + "node", + "dependencies" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/is-core-module/issues" + }, + "homepage": "https://github.com/inspect-js/is-core-module", + "dependencies": { + "has": "^1.0.3" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.3.0", + "eslint": "^7.30.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.2.2" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/node_modules/is-core-module/test/index.js b/node_modules/is-core-module/test/index.js new file mode 100644 index 000000000..281c7e9a4 --- /dev/null +++ b/node_modules/is-core-module/test/index.js @@ -0,0 +1,108 @@ +'use strict'; + +var test = require('tape'); +var keys = require('object-keys'); +var semver = require('semver'); +var isCore = require('../'); +var data = require('../core.json'); + +var supportsNodePrefix = semver.satisfies(process.versions.node, '>= 16'); + +test('core modules', function (t) { + t.test('isCore()', function (st) { + st.ok(isCore('fs')); + st.ok(isCore('net')); + st.ok(isCore('http')); + + st.ok(!isCore('seq')); + st.ok(!isCore('../')); + + st.ok(!isCore('toString')); + + st.end(); + }); + + t.test('core list', function (st) { + var cores = keys(data); + st.plan(cores.length); + + for (var i = 0; i < cores.length; ++i) { + var mod = cores[i]; + var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func + if (isCore(mod)) { + st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw'); + } else { + st['throws'](requireFunc, mod + ' not supported; requiring throws'); + } + } + + st.end(); + }); + + t.test('core via repl module', { skip: !data.repl }, function (st) { + var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle + if (!libs) { + st.skip('module.builtinModules does not exist'); + } else { + for (var i = 0; i < libs.length; ++i) { + var mod = libs[i]; + st.ok(data[mod], mod + ' is a core module'); + st.doesNotThrow( + function () { require(mod); }, // eslint-disable-line no-loop-func + 'requiring ' + mod + ' does not throw' + ); + if (supportsNodePrefix) { + st.doesNotThrow( + function () { require('node:' + mod); }, // eslint-disable-line no-loop-func + 'requiring node:' + mod + ' does not throw' + ); + } else { + st['throws']( + function () { require('node:' + mod); }, // eslint-disable-line no-loop-func + 'requiring node:' + mod + ' throws' + ); + } + } + } + st.end(); + }); + + t.test('core via builtinModules list', { skip: !data.module }, function (st) { + var libs = require('module').builtinModules; + if (!libs) { + st.skip('module.builtinModules does not exist'); + } else { + var excludeList = [ + '_debug_agent', + 'v8/tools/tickprocessor-driver', + 'v8/tools/SourceMap', + 'v8/tools/tickprocessor', + 'v8/tools/profile' + ]; + for (var i = 0; i < libs.length; ++i) { + var mod = libs[i]; + if (excludeList.indexOf(mod) === -1) { + st.ok(data[mod], mod + ' is a core module'); + st.doesNotThrow( + function () { require(mod); }, // eslint-disable-line no-loop-func + 'requiring ' + mod + ' does not throw' + ); + if (supportsNodePrefix) { + st.doesNotThrow( + function () { require('node:' + mod); }, // eslint-disable-line no-loop-func + 'requiring node:' + mod + ' does not throw' + ); + } else { + st['throws']( + function () { require('node:' + mod); }, // eslint-disable-line no-loop-func + 'requiring node:' + mod + ' throws' + ); + } + } + } + } + st.end(); + }); + + t.end(); +}); diff --git a/node_modules/eslint-plugin-import/node_modules/resolve/.editorconfig b/node_modules/is-date-object/.editorconfig similarity index 100% rename from node_modules/eslint-plugin-import/node_modules/resolve/.editorconfig rename to node_modules/is-date-object/.editorconfig diff --git a/node_modules/is-date-object/.eslintignore b/node_modules/is-date-object/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-date-object/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-date-object/.github/workflows/rebase.yml b/node_modules/is-date-object/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/is-date-object/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-date-object/.nycrc b/node_modules/is-date-object/.nycrc new file mode 100644 index 000000000..a69aa2d82 --- /dev/null +++ b/node_modules/is-date-object/.nycrc @@ -0,0 +1,10 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test", + "test-corejs.js" + ] +} diff --git a/node_modules/is-date-object/.travis.yml b/node_modules/is-date-object/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/is-date-object/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/is-date-object/CHANGELOG.md b/node_modules/is-date-object/CHANGELOG.md index ff802bb27..0f4fbbd95 100644 --- a/node_modules/is-date-object/CHANGELOG.md +++ b/node_modules/is-date-object/CHANGELOG.md @@ -5,9 +5,39 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [v1.0.4](https://github.com/inspect-js/is-date-object/compare/v1.0.3...v1.0.4) - 2021-05-07 -## [v1.0.2](https://github.com/inspect-js/is-date-object/compare/v1.0.1...v1.0.2) - 2019-12-19 +### Commits + +- [Fix] do not use `Object.prototype.toString` when `Symbol.toStringTag` is shammed [`8943a4a`](https://github.com/inspect-js/is-date-object/commit/8943a4a5035b3f2c8cee9a5edabb55579c16983d) +- [readme] make all URLs https [`1d4d6cd`](https://github.com/inspect-js/is-date-object/commit/1d4d6cd37365c3a36f98e3f82cfe6262227437db) +- [Dev Deps] update `eslint` [`a7abeaa`](https://github.com/inspect-js/is-date-object/commit/a7abeaa2409d3a34fccebcb5b362e0b90d0a8883) + +## [v1.0.3](https://github.com/inspect-js/is-date-object/compare/v1.0.2...v1.0.3) - 2021-05-05 + +### Commits + +- [Tests] migrate tests to Github Actions [`023504f`](https://github.com/inspect-js/is-date-object/commit/023504f4d48fc8788ff52ee525a1d9ec74fa7df5) +- [readme] add actions and codecov badges [`e63305f`](https://github.com/inspect-js/is-date-object/commit/e63305f2fb9ff3eb0dab7e0716585507a4f95a75) +- [meta] do not publish github action workflow files [`017d906`](https://github.com/inspect-js/is-date-object/commit/017d90679b6b1c16b398c0157904f91f56160219) +- [Tests] run `nyc` on all tests [`0376b6f`](https://github.com/inspect-js/is-date-object/commit/0376b6fb7a0ffcc42107c3c579ba0b3ab635b9e4) +- [readme] fix repo URLs; remove defunct badges [`1c148c6`](https://github.com/inspect-js/is-date-object/commit/1c148c6cb6eb0892b3186e814df3367dabb9732d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`c7a3f54`](https://github.com/inspect-js/is-date-object/commit/c7a3f54a207a6056ffafaa58178889ea1b1b77f7) +- [actions] add "Allow Edits" workflow [`e79b5b2`](https://github.com/inspect-js/is-date-object/commit/e79b5b25c173c3201e8b42a614d5f12c48b74a86) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`da28980`](https://github.com/inspect-js/is-date-object/commit/da28980c5fe86528585b2a420319ca8fc35f763a) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`5cabae9`](https://github.com/inspect-js/is-date-object/commit/5cabae9f00bf458a470bde68b734540b8ab78c3b) +- [readme] add actions and codecov badges [`33dfb88`](https://github.com/inspect-js/is-date-object/commit/33dfb881b7abf668cd3bf956e2947a1ece552f25) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`745eb04`](https://github.com/inspect-js/is-date-object/commit/745eb0462ef3838df65f41f4a95453cc4f0aa06e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`466c62b`](https://github.com/inspect-js/is-date-object/commit/466c62b45af5a5a83963f6ef8617da887b0ab272) +- [actions] use checkout v2; remove unneeded env [`ff87a16`](https://github.com/inspect-js/is-date-object/commit/ff87a161e36d76d081d70933bf801a357c3b25fe) +- [Dev Deps] update `auto-changelog`, `tape` [`93188f5`](https://github.com/inspect-js/is-date-object/commit/93188f58e4b2c2b5e978a61a45380101d01f9838) +- [meta] use `prepublishOnly` script for npm 7+ [`1d0e3ea`](https://github.com/inspect-js/is-date-object/commit/1d0e3ea672971f02bb48c88b49079789ab41f574) +- [actions] update workflows [`4d1a235`](https://github.com/inspect-js/is-date-object/commit/4d1a2358de35a9fbe23a1dee10735748ed276301) +- [Dev Deps] update `auto-changelog`; add `aud` [`67be59a`](https://github.com/inspect-js/is-date-object/commit/67be59aa3c0ba44b982aaefb7e42adfb14eb279b) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`a6661c2`](https://github.com/inspect-js/is-date-object/commit/a6661c26af701a7782f6e06ad1b34587ce2b09bc) +- [Tests] only audit prod deps [`dd4a47f`](https://github.com/inspect-js/is-date-object/commit/dd4a47f8bcf82c3090826d890a7766f50d6f7af9) + +## [v1.0.2](https://github.com/inspect-js/is-date-object/compare/v1.0.1...v1.0.2) - 2019-12-18 ### Commits diff --git a/node_modules/is-date-object/README.md b/node_modules/is-date-object/README.md index 55b0c5967..1c084add9 100644 --- a/node_modules/is-date-object/README.md +++ b/node_modules/is-date-object/README.md @@ -1,6 +1,7 @@ # is-date-object [![Version Badge][2]][1] -[![Build Status][3]][4] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -8,8 +9,6 @@ [![npm badge][11]][1] -[![browser support][9]][10] - Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag. ## Example @@ -37,17 +36,17 @@ assert.ok(isDate(new Date())); Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/is-date-object -[2]: http://versionbadg.es/ljharb/is-date-object.svg -[3]: https://travis-ci.org/ljharb/is-date-object.svg -[4]: https://travis-ci.org/ljharb/is-date-object -[5]: https://david-dm.org/ljharb/is-date-object.svg -[6]: https://david-dm.org/ljharb/is-date-object -[7]: https://david-dm.org/ljharb/is-date-object/dev-status.svg -[8]: https://david-dm.org/ljharb/is-date-object#info=devDependencies -[9]: https://ci.testling.com/ljharb/is-date-object.png -[10]: https://ci.testling.com/ljharb/is-date-object +[2]: https://versionbadg.es/inspect-js/is-date-object.svg +[5]: https://david-dm.org/inspect-js/is-date-object.svg +[6]: https://david-dm.org/inspect-js/is-date-object +[7]: https://david-dm.org/inspect-js/is-date-object/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-date-object#info=devDependencies [11]: https://nodei.co/npm/is-date-object.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/is-date-object.svg +[license-image]: https://img.shields.io/npm/l/is-date-object.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/is-date-object.svg -[downloads-url]: http://npm-stat.com/charts.html?package=is-date-object +[downloads-image]: https://img.shields.io/npm/dm/is-date-object.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-date-object +[codecov-image]: https://codecov.io/gh/inspect-js/is-date-object/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-date-object/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-date-object +[actions-url]: https://github.com/inspect-js/is-date-object/actions diff --git a/node_modules/is-date-object/index.js b/node_modules/is-date-object/index.js index 285ec4c2e..996c5bb16 100644 --- a/node_modules/is-date-object/index.js +++ b/node_modules/is-date-object/index.js @@ -12,7 +12,7 @@ var tryDateObject = function tryDateGetDayCall(value) { var toStr = Object.prototype.toString; var dateClass = '[object Date]'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; module.exports = function isDateObject(value) { if (typeof value !== 'object' || value === null) { diff --git a/node_modules/is-date-object/package.json b/node_modules/is-date-object/package.json index 5226a735c..43fba59ee 100644 --- a/node_modules/is-date-object/package.json +++ b/node_modules/is-date-object/package.json @@ -1,6 +1,6 @@ { "name": "is-date-object", - "version": "1.0.2", + "version": "1.0.4", "author": "Jordan Harband", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9,19 +9,20 @@ "license": "MIT", "main": "index.js", "scripts": { - "prepublish": "safe-publish-latest", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", "pretest": "npm run lint", - "test": "npm run tests-only", - "tests-only": "node --harmony --es-staging test", - "posttest": "npx aud", - "coverage": "covert test/index.js", + "test": "npm run tests-only && npm run test:corejs", + "tests-only": "nyc tape 'test/**/*.js'", + "test:corejs": "nyc tape test-corejs.js", + "posttest": "aud --production", "lint": "eslint .", "version": "auto-changelog && git add CHANGELOG.md", "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" }, "repository": { "type": "git", - "url": "git://github.com/ljharb/is-date-object.git" + "url": "git://github.com/inspect-js/is-date-object.git" }, "keywords": [ "Date", @@ -30,17 +31,18 @@ "@@toStringTag", "Date object" ], - "dependencies": {}, "devDependencies": { - "@ljharb/eslint-config": "^15.0.2", - "auto-changelog": "^1.16.2", - "covert": "^1.1.1", - "eslint": "^6.7.2", + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "core-js": "^3.12.0", + "eslint": "^7.26.0", "foreach": "^2.0.5", "indexof": "^0.0.1", "is": "^3.3.0", + "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", - "tape": "^4.12.0" + "tape": "^5.2.2" }, "testling": { "files": "test/index.js", @@ -68,6 +70,7 @@ "template": "keepachangelog", "unreleased": false, "commitLimit": false, - "backfillLimit": false + "backfillLimit": false, + "hideCredit": true } } \ No newline at end of file diff --git a/node_modules/is-date-object/test/index.js b/node_modules/is-date-object/test/index.js index b9d27c53e..3b2d93f5e 100644 --- a/node_modules/is-date-object/test/index.js +++ b/node_modules/is-date-object/test/index.js @@ -2,7 +2,7 @@ var test = require('tape'); var isDate = require('../'); -var hasSymbols = typeof Symbol === 'function' && typeof Symbol('') === 'symbol'; +var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator !== 'undefined'; test('not Dates', function (t) { t.notOk(isDate(), 'undefined is not Date'); diff --git a/node_modules/is-negative-zero/.editorconfig b/node_modules/is-negative-zero/.editorconfig new file mode 100644 index 000000000..aaac3258b --- /dev/null +++ b/node_modules/is-negative-zero/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/node_modules/is-negative-zero/.eslintignore b/node_modules/is-negative-zero/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-negative-zero/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-negative-zero/.eslintrc b/node_modules/is-negative-zero/.eslintrc index 955c22903..9079df723 100644 --- a/node_modules/is-negative-zero/.eslintrc +++ b/node_modules/is-negative-zero/.eslintrc @@ -5,6 +5,7 @@ "rules": { "max-statements": [2, 14], - "no-extra-parens": [1] + "no-extra-parens": [1], + "no-magic-numbers": 0 } } diff --git a/node_modules/is-negative-zero/.github/workflows/node-4+.yml b/node_modules/is-negative-zero/.github/workflows/node-4+.yml new file mode 100644 index 000000000..ba174e1d6 --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/node-4+.yml @@ -0,0 +1,54 @@ +name: 'Tests: node.js' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + latest: ${{ steps.set-matrix.outputs.requireds }} + minors: ${{ steps.set-matrix.outputs.optionals }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + preset: '>=4' + + latest: + needs: [matrix] + name: 'latest minors' + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.latest) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run tests-only' + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + minors: + needs: [matrix, latest] + name: 'non-latest minors' + continue-on-error: true + if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.minors) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + + node: + name: 'node 4+' + needs: [latest, minors] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/node_modules/is-negative-zero/.github/workflows/node-iojs.yml b/node_modules/is-negative-zero/.github/workflows/node-iojs.yml new file mode 100644 index 000000000..f707c3cfc --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/node-iojs.yml @@ -0,0 +1,58 @@ +name: 'Tests: node.js (io.js)' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + latest: ${{ steps.set-matrix.outputs.requireds }} + minors: ${{ steps.set-matrix.outputs.optionals }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + preset: 'iojs' + + latest: + needs: [matrix] + name: 'latest minors' + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.latest) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run tests-only' + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + skip-ls-check: true + + minors: + needs: [matrix, latest] + name: 'non-latest minors' + continue-on-error: true + if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.minors) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run tests-only' + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + skip-ls-check: true + + node: + name: 'io.js' + needs: [latest, minors] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/node_modules/is-negative-zero/.github/workflows/node-pretest.yml b/node_modules/is-negative-zero/.github/workflows/node-pretest.yml new file mode 100644 index 000000000..3921e0ae6 --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/node-pretest.yml @@ -0,0 +1,26 @@ +name: 'Tests: pretest/posttest' + +on: [pull_request, push] + +jobs: + pretest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run pretest' + with: + node-version: 'lts/*' + command: 'pretest' + + posttest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run posttest' + with: + node-version: 'lts/*' + command: 'posttest' diff --git a/node_modules/is-negative-zero/.github/workflows/node-zero.yml b/node_modules/is-negative-zero/.github/workflows/node-zero.yml new file mode 100644 index 000000000..2435bf2cc --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/node-zero.yml @@ -0,0 +1,60 @@ +name: 'Tests: node.js (0.x)' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + stable: ${{ steps.set-matrix.outputs.requireds }} + unstable: ${{ steps.set-matrix.outputs.optionals }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + preset: '0.x' + + stable: + needs: [matrix] + name: 'stable minors' + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.stable) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run tests-only' + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }} + skip-ls-check: true + + unstable: + needs: [matrix, stable] + name: 'unstable minors' + continue-on-error: true + if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} + runs-on: ubuntu-latest + + strategy: + matrix: ${{ fromJson(needs.matrix.outputs.unstable) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/run@main + name: 'npm install && npm run tests-only' + with: + node-version: ${{ matrix.node-version }} + command: 'tests-only' + cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }} + skip-ls-check: true + + node: + name: 'node 0.x' + needs: [stable, unstable] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/node_modules/is-negative-zero/.github/workflows/rebase.yml b/node_modules/is-negative-zero/.github/workflows/rebase.yml new file mode 100644 index 000000000..027aed079 --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/rebase.yml @@ -0,0 +1,15 @@ +name: Automatic Rebase + +on: [pull_request_target] + +jobs: + _: + name: "Automatic Rebase" + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/rebase@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-negative-zero/.github/workflows/require-allow-edits.yml b/node_modules/is-negative-zero/.github/workflows/require-allow-edits.yml new file mode 100644 index 000000000..549d7b482 --- /dev/null +++ b/node_modules/is-negative-zero/.github/workflows/require-allow-edits.yml @@ -0,0 +1,12 @@ +name: Require “Allow Edits” + +on: [pull_request_target] + +jobs: + _: + name: "Require “Allow Edits”" + + runs-on: ubuntu-latest + + steps: + - uses: ljharb/require-allow-edits@main diff --git a/node_modules/is-negative-zero/.jscs.json b/node_modules/is-negative-zero/.jscs.json deleted file mode 100644 index 7abfe0bf6..000000000 --- a/node_modules/is-negative-zero/.jscs.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "additionalRules": [], - - "requireSemicolons": true, - - "disallowMultipleSpaces": true, - - "disallowIdentifierNames": [], - - "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"], - - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], - - "disallowSpaceAfterKeywords": [], - - "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, - "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, - "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, - - "requireSpaceBetweenArguments": true, - - "disallowSpacesInsideParentheses": true, - - "disallowSpacesInsideArrayBrackets": true, - - "disallowQuotedKeysInObjects": "allButReserved", - - "disallowSpaceAfterObjectKeys": true, - - "requireCommaBeforeLineBreak": true, - - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], - "requireSpaceAfterPrefixUnaryOperators": [], - - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "requireSpaceBeforePostfixUnaryOperators": [], - - "disallowSpaceBeforeBinaryOperators": [], - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - - "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "disallowSpaceAfterBinaryOperators": [], - - "disallowImplicitTypeConversion": ["binary", "string"], - - "disallowKeywords": ["with", "eval"], - - "requireKeywordsOnNewLine": [], - "disallowKeywordsOnNewLine": ["else"], - - "requireLineFeedAtFileEnd": true, - - "disallowTrailingWhitespace": true, - - "disallowTrailingComma": true, - - "excludeFiles": ["node_modules/**", "vendor/**"], - - "disallowMultipleLineStrings": true, - - "requireDotNotation": true, - - "requireParenthesesAroundIIFE": true, - - "validateLineBreaks": "LF", - - "validateQuoteMarks": { - "escape": true, - "mark": "'" - }, - - "disallowOperatorBeforeLineBreak": [], - - "requireSpaceBeforeKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "finally", - "while", - "with", - "return" - ], - - "validateAlignedFunctionParameters": { - "lineBreakAfterOpeningBraces": true, - "lineBreakBeforeClosingBraces": true - }, - - "requirePaddingNewLinesBeforeExport": true, - - "validateNewlineAfterArrayElements": { - "maximum": 1 - }, - - "requirePaddingNewLinesAfterUseStrict": true -} - diff --git a/node_modules/is-negative-zero/.npmignore b/node_modules/is-negative-zero/.npmignore deleted file mode 100644 index a72b52ebe..000000000 --- a/node_modules/is-negative-zero/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -npm-debug.log -node_modules diff --git a/node_modules/is-negative-zero/.nycrc b/node_modules/is-negative-zero/.nycrc new file mode 100644 index 000000000..1826526e0 --- /dev/null +++ b/node_modules/is-negative-zero/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-negative-zero/.travis.yml b/node_modules/is-negative-zero/.travis.yml deleted file mode 100644 index a94508b03..000000000 --- a/node_modules/is-negative-zero/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -language: node_js -node_js: - - "iojs-v2.4" - - "iojs-v2.3" - - "iojs-v2.2" - - "iojs-v2.1" - - "iojs-v2.0" - - "iojs-v1.8" - - "iojs-v1.7" - - "iojs-v1.6" - - "iojs-v1.5" - - "iojs-v1.4" - - "iojs-v1.3" - - "iojs-v1.2" - - "iojs-v1.1" - - "iojs-v1.0" - - "0.12" - - "0.11" - - "0.10" - - "0.9" - - "0.8" - - "0.6" - - "0.4" -before_install: - - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] || npm install -g npm@1.4.28 && npm install -g npm' -sudo: false -matrix: - fast_finish: true - allow_failures: - - node_js: "iojs-v2.3" - - node_js: "iojs-v2.2" - - node_js: "iojs-v2.1" - - node_js: "iojs-v2.0" - - node_js: "iojs-v1.7" - - node_js: "iojs-v1.6" - - node_js: "iojs-v1.5" - - node_js: "iojs-v1.4" - - node_js: "iojs-v1.3" - - node_js: "iojs-v1.2" - - node_js: "iojs-v1.1" - - node_js: "iojs-v1.0" - - node_js: "0.11" - - node_js: "0.9" - - node_js: "0.8" - - node_js: "0.6" - - node_js: "0.4" diff --git a/node_modules/is-negative-zero/CHANGELOG.md b/node_modules/is-negative-zero/CHANGELOG.md new file mode 100644 index 000000000..71d9b9a94 --- /dev/null +++ b/node_modules/is-negative-zero/CHANGELOG.md @@ -0,0 +1,117 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v2.0.1](https://github.com/inspect-js/is-negative-zero/compare/v2.0.0...v2.0.1) - 2020-12-04 + +### Commits + +- [Tests] use shared travis-ci configs [`5b92482`](https://github.com/inspect-js/is-negative-zero/commit/5b92482ed26e55e1aafcc6b6310d279958af8204) +- [Tests] up to `node` `v11.7`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.16`, `v5.12`, `v4.9`; use `nvm install-latest-npm`; fix test scripts [`0f5d2f8`](https://github.com/inspect-js/is-negative-zero/commit/0f5d2f85ea7fe83de47f39b6b35e489b866d88a7) +- [Tests] migrate tests to Github Actions [`b80f05a`](https://github.com/inspect-js/is-negative-zero/commit/b80f05adb11a6a3232860fb50272b101aacb504f) +- [Tests] remove `jscs` [`7ccaf41`](https://github.com/inspect-js/is-negative-zero/commit/7ccaf4100281b614d61d7c9122e6f87943a89295) +- [meta] add missing changelog [`992bdde`](https://github.com/inspect-js/is-negative-zero/commit/992bddee362cbae71f2cdfd8666f4774b252412e) +- [readme] fix repo URLs; remove defunct badges [`80fd18d`](https://github.com/inspect-js/is-negative-zero/commit/80fd18d2b0191321afe0e1b572200e4c025eb664) +- [Tests] run `nyc` on all tests [`df26f14`](https://github.com/inspect-js/is-negative-zero/commit/df26f14b0b854d82b0d3ca7b4949811c9f151357) +- Update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`d7723aa`](https://github.com/inspect-js/is-negative-zero/commit/d7723aa70e5b478adc36d98e1338abe741c1906a) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`9fdaabe`](https://github.com/inspect-js/is-negative-zero/commit/9fdaabecfdb25e6e860e5007a91b60ee0f20734f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`f07eeb2`](https://github.com/inspect-js/is-negative-zero/commit/f07eeb2740037c53f270e95d2f62edc051cafc56) +- [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`bd5c751`](https://github.com/inspect-js/is-negative-zero/commit/bd5c751fa4850ba8726dc1c197ed6c843a227b05) +- [actions] add automatic rebasing / merge commit blocking [`5666a91`](https://github.com/inspect-js/is-negative-zero/commit/5666a917db6bdcee63c0a3e28e5e281359975abc) +- [meta] add `auto-changelog` [`f70fb2b`](https://github.com/inspect-js/is-negative-zero/commit/f70fb2b5b9ea53dc52729310717553648292189e) +- [actions] add "Allow Edits" workflow [`2b040a8`](https://github.com/inspect-js/is-negative-zero/commit/2b040a87d362f17d8cab2b0d48058b80e426ad4e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`; add `safe-publish-latest` [`09e2e53`](https://github.com/inspect-js/is-negative-zero/commit/09e2e537390225c1d1a6912be64267eaec6ea367) +- [Tests] use `npm audit` instead of `nsp` [`7df2669`](https://github.com/inspect-js/is-negative-zero/commit/7df2669013ac9328d424e9d8c82a53a0458f0888) +- [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`4ff97c5`](https://github.com/inspect-js/is-negative-zero/commit/4ff97c5891c7a241a91c03fb54bd83e78570ef22) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`9e8cb7b`](https://github.com/inspect-js/is-negative-zero/commit/9e8cb7bca46d325ecf202187c0fde7da8722bcab) +- [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `nsp` [`70b9888`](https://github.com/inspect-js/is-negative-zero/commit/70b988802a99c84ab7eb8da287bb8ff0efc5c055) +- [Dev Deps] update `jscs` [`59d0c42`](https://github.com/inspect-js/is-negative-zero/commit/59d0c42131020b74e68fd444798b9a3bf247fb2d) +- Add `npm run security` [`eb418ed`](https://github.com/inspect-js/is-negative-zero/commit/eb418ed7e79216808c206388fbd360cc7a75655f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`86a758d`](https://github.com/inspect-js/is-negative-zero/commit/86a758d42eb7d17a18f7f584c337d8820b842758) +- Only apps should have lockfiles [`a0ab621`](https://github.com/inspect-js/is-negative-zero/commit/a0ab6215590bf6adb3eaf1ff9e7c036d72e807ec) +- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`5c51349`](https://github.com/inspect-js/is-negative-zero/commit/5c513498fc5a8b2fd06f5e0c1b38b8e93c3477ac) +- [meta] add `funding` field [`1d0b2f4`](https://github.com/inspect-js/is-negative-zero/commit/1d0b2f43bf5bf75176859a440346b3e338ee510e) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`9b12367`](https://github.com/inspect-js/is-negative-zero/commit/9b12367706f1c269a3df406c8e2c211558671a15) +- [Dev Deps] update `auto-changelog`, `tape` [`6d98b8d`](https://github.com/inspect-js/is-negative-zero/commit/6d98b8d1f512c3844d4062215c793070084d1164) +- [Dev Deps] Update `tape`, `eslint` [`a258cdb`](https://github.com/inspect-js/is-negative-zero/commit/a258cdb86691725482d1d43a1f9e7953c3c6733f) +- [Dev Deps] update `auto-changelog`; add `aud` [`2ca2afb`](https://github.com/inspect-js/is-negative-zero/commit/2ca2afb9efef4ebc8b3c19046ab1ab3ad516ea9a) +- Test up to `io.js` `v3.0` [`1254ae8`](https://github.com/inspect-js/is-negative-zero/commit/1254ae80b7706616331ac914654d7a17bff31039) +- [Dev Deps] update `auto-changelog` [`4b54722`](https://github.com/inspect-js/is-negative-zero/commit/4b547228fceaae8f9eccabc9ad8a49046492348d) +- [Tests] only audit prod deps [`86d298b`](https://github.com/inspect-js/is-negative-zero/commit/86d298b56db90f81617ee5d942476eda34afb374) +- [Dev Deps] update `tape` [`3a47e27`](https://github.com/inspect-js/is-negative-zero/commit/3a47e2730f889539f666ef0eb09a93fb9c80bfd1) +- Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. [`128d9bd`](https://github.com/inspect-js/is-negative-zero/commit/128d9bd4c12385fb5e478ac3dd3138fa4360a777) + +## [v2.0.0](https://github.com/inspect-js/is-negative-zero/compare/v1.0.0...v2.0.0) - 2015-07-24 + +### Commits + +- Update `tape`, `eslint`; use my personal shared `eslint` config. [`648d002`](https://github.com/inspect-js/is-negative-zero/commit/648d0029b177886428a11b07307f233ae2d3175b) +- Add `npm run eslint` [`5a52d80`](https://github.com/inspect-js/is-negative-zero/commit/5a52d80ab052e377044b9b181991a32afaaa3090) +- Using my standard jscs.json file [`5a667d9`](https://github.com/inspect-js/is-negative-zero/commit/5a667d9f8b7402ca3bd134080cd4435b5c7f1462) +- Adding `npm run lint` [`9a85ed9`](https://github.com/inspect-js/is-negative-zero/commit/9a85ed934da65d8733a38bf6ad3c89fd62115194) +- Update `tape`, `covert`, `jscs` [`c6cd3a6`](https://github.com/inspect-js/is-negative-zero/commit/c6cd3a64ea5b98100e10537549f50a9eeadc30ec) +- Update `eslint` [`e9c9b6e`](https://github.com/inspect-js/is-negative-zero/commit/e9c9b6e9623f021b7f3ae4091bf9ea2571ab02b4) +- Test on latest `io.js` [`2f7c8a9`](https://github.com/inspect-js/is-negative-zero/commit/2f7c8a9d174066400c072841d7bcf02cf90f8ebf) +- Adding license and downloads badges [`717087a`](https://github.com/inspect-js/is-negative-zero/commit/717087a013b4cfc9dc7847d3d4a64faf19341be4) +- Remove Number type coercion. [`481295d`](https://github.com/inspect-js/is-negative-zero/commit/481295dbd09dbf81d196dc77382f1b92f534de3f) +- Test up to `io.js` `v2.1` [`139a84a`](https://github.com/inspect-js/is-negative-zero/commit/139a84a3dbdec29682044c6e7ac884a7382ae6e1) +- Update `eslint` [`2f5fbfb`](https://github.com/inspect-js/is-negative-zero/commit/2f5fbfbc436ccd8676fc36fcd9f0edcdda33a1e7) +- Update `eslint` [`53cb4c5`](https://github.com/inspect-js/is-negative-zero/commit/53cb4c5eccecdf2d874e78e5c38cca762ed76a9d) +- Test on `io.js` `v2.2` [`98a1824`](https://github.com/inspect-js/is-negative-zero/commit/98a1824c86366f8a03cf303f46acecd67409f94b) +- All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`. [`772d6cd`](https://github.com/inspect-js/is-negative-zero/commit/772d6cdf397e6fc1b26e5ed5f279d07a5ead6df8) +- Run `travis-ci` tests on `iojs` and `node` v0.12; speed up builds; allow 0.8 failures. [`3e6147e`](https://github.com/inspect-js/is-negative-zero/commit/3e6147ebb5ecdfda4a2bffa441572fe017c7bb73) +- Use SVG badges instead of PNG [`d986cb4`](https://github.com/inspect-js/is-negative-zero/commit/d986cb450e5bd4f373041255b69e18f47c252a1e) +- Update `tape`, `jscs` [`9f9d7e7`](https://github.com/inspect-js/is-negative-zero/commit/9f9d7e751bcf4ceeed8e36e75e31d29c76326b3f) +- Update `jscs` [`079eaf6`](https://github.com/inspect-js/is-negative-zero/commit/079eaf699d53e7e32c54e5233259a00f5f494d9a) +- Update `tape`, `jscs` [`cffe3fc`](https://github.com/inspect-js/is-negative-zero/commit/cffe3fc17c6bfaa6996bf7402446b160631a04b3) +- Update `tape`, `jscs` [`3a16616`](https://github.com/inspect-js/is-negative-zero/commit/3a166165ae8770d59c296794d28547379cebec58) +- Use consistent quotes [`9509a81`](https://github.com/inspect-js/is-negative-zero/commit/9509a8110027b12c5762ba48d03b649a921847d5) +- Test on `io.js` `v2.4` [`a9150a3`](https://github.com/inspect-js/is-negative-zero/commit/a9150a3397db339d992e9e4e6ddb52d1237fd617) +- Test on `io.js` `v2.3` [`36d7acf`](https://github.com/inspect-js/is-negative-zero/commit/36d7acf5bb9193a2b35585e2c49ae8be9f45a55e) +- Lock covert to v1.0.0. [`29d8917`](https://github.com/inspect-js/is-negative-zero/commit/29d89171c3aad69ace372edbf641ec3a5468c760) +- Updating jscs [`fe09c8a`](https://github.com/inspect-js/is-negative-zero/commit/fe09c8a6d16c637ecd83a9a8a7f6192faef0754a) +- Updating jscs [`5877bc7`](https://github.com/inspect-js/is-negative-zero/commit/5877bc7c2ed44c1ecc5d31e1c484c523450722d8) +- Running linter as part of tests [`9e77756`](https://github.com/inspect-js/is-negative-zero/commit/9e777563905f511d915ec7257e2637811b911bd6) +- Updating covert [`520a695`](https://github.com/inspect-js/is-negative-zero/commit/520a695164465b88c76860a638baafd4192bce5c) + +## [v1.0.0](https://github.com/inspect-js/is-negative-zero/compare/v0.1.1...v1.0.0) - 2014-08-08 + +### Commits + +- Updating tape [`31d1942`](https://github.com/inspect-js/is-negative-zero/commit/31d19422ecd9d453677851a9d5a8d9372a16fb39) +- Updating tape [`e7143bf`](https://github.com/inspect-js/is-negative-zero/commit/e7143bf3b67d8881b1b6ee0444637647d7bb1d2b) + +## [v0.1.1](https://github.com/inspect-js/is-negative-zero/compare/v0.1.0...v0.1.1) - 2014-05-13 + +### Merged + +- Simplify code [`#1`](https://github.com/inspect-js/is-negative-zero/pull/1) + +### Commits + +- Adding a trailing newline [`61fb37f`](https://github.com/inspect-js/is-negative-zero/commit/61fb37f677e871cca53d9309e765d808ddddfd5a) + +## [v0.1.0](https://github.com/inspect-js/is-negative-zero/compare/v0.0.0...v0.1.0) - 2014-05-13 + +### Commits + +- Make sure old and unstable nodes don't break Travis [`f627215`](https://github.com/inspect-js/is-negative-zero/commit/f627215527a95dc1ca014600650e00f15fe122c5) +- Updating deps [`b502f48`](https://github.com/inspect-js/is-negative-zero/commit/b502f48e807d7671cb07e2ca247ae2daa62e4165) +- Oops, negative numbers were negative zero! [`746cb97`](https://github.com/inspect-js/is-negative-zero/commit/746cb975d82c0fa0c5058e8e031807f9afcfd6db) +- Updating covert [`99ef4ed`](https://github.com/inspect-js/is-negative-zero/commit/99ef4ed97d2f76f2a5afbef029bf794f1b5bcffa) +- Updating tape [`ee9cfc2`](https://github.com/inspect-js/is-negative-zero/commit/ee9cfc2fd0039bdb65b6493ce0b8e47d18aa17cd) +- Testing on node 0.6 again [`6a9bf0a`](https://github.com/inspect-js/is-negative-zero/commit/6a9bf0a09e210cca09c7a8a225d08ef1e6789b5a) + +## v0.0.0 - 2014-01-19 + +### Commits + +- package.json [`8411d92`](https://github.com/inspect-js/is-negative-zero/commit/8411d92ec787fd522a1b5e65154ae88e9024a23f) +- read me [`5c8bf3c`](https://github.com/inspect-js/is-negative-zero/commit/5c8bf3ce4867dbf2997ef01ea6b712aa294ec959) +- Initial commit [`c06f7dc`](https://github.com/inspect-js/is-negative-zero/commit/c06f7dcf926f5b35ba678787a0f16cdd7b544054) +- Tests. [`5c554d4`](https://github.com/inspect-js/is-negative-zero/commit/5c554d405bfb323a7413fde395d8dc39c5316356) +- Travis CI [`334d000`](https://github.com/inspect-js/is-negative-zero/commit/334d000941fc926493cc7dbdb4e5f7ae481a311b) +- Implementation. [`4ef4491`](https://github.com/inspect-js/is-negative-zero/commit/4ef449189c36d471d283e40aa20a8ebfa4985882) diff --git a/node_modules/is-negative-zero/README.md b/node_modules/is-negative-zero/README.md index 18b06849d..b60b4d36f 100644 --- a/node_modules/is-negative-zero/README.md +++ b/node_modules/is-negative-zero/README.md @@ -1,6 +1,5 @@ -#is-negative-zero [![Version Badge][2]][1] +# is-negative-zero [![Version Badge][2]][1] -[![Build Status][3]][4] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -8,8 +7,6 @@ [![npm badge][11]][1] -[![browser support][9]][10] - Is this value negative zero? === will lie to you. ## Example @@ -39,15 +36,13 @@ assert.ok(isNegativeZero(-0)); Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/is-negative-zero -[2]: http://vb.teelaun.ch/ljharb/is-negative-zero.svg -[3]: https://travis-ci.org/ljharb/is-negative-zero.svg -[4]: https://travis-ci.org/ljharb/is-negative-zero -[5]: https://david-dm.org/ljharb/is-negative-zero.svg -[6]: https://david-dm.org/ljharb/is-negative-zero -[7]: https://david-dm.org/ljharb/is-negative-zero/dev-status.svg -[8]: https://david-dm.org/ljharb/is-negative-zero#info=devDependencies -[9]: https://ci.testling.com/ljharb/is-negative-zero.png -[10]: https://ci.testling.com/ljharb/is-negative-zero +[2]: http://versionbadg.es/inspect-js/is-negative-zero.svg +[3]: https://travis-ci.org/inspect-js/is-negative-zero.svg +[4]: https://travis-ci.org/inspect-js/is-negative-zero +[5]: https://david-dm.org/inspect-js/is-negative-zero.svg +[6]: https://david-dm.org/inspect-js/is-negative-zero +[7]: https://david-dm.org/inspect-js/is-negative-zero/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-negative-zero#info=devDependencies [11]: https://nodei.co/npm/is-negative-zero.png?downloads=true&stars=true [license-image]: http://img.shields.io/npm/l/is-negative-zero.svg [license-url]: LICENSE diff --git a/node_modules/is-negative-zero/package.json b/node_modules/is-negative-zero/package.json index addc9f894..c9e1d2f69 100644 --- a/node_modules/is-negative-zero/package.json +++ b/node_modules/is-negative-zero/package.json @@ -1,26 +1,31 @@ { "name": "is-negative-zero", - "version": "2.0.0", + "version": "2.0.1", "description": "Is this value negative zero? === will lie to you", - "author": "Jordan Harband", + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, "license": "MIT", "main": "index.js", "scripts": { - "test": "npm run lint && node test.js && npm run coverage-quiet", - "coverage": "covert test.js", - "coverage-quiet": "covert test.js --quiet", - "lint": "npm run jscs && npm run eslint", - "jscs": "jscs *.js", - "eslint": "eslint *.js" + "prepublish": "safe-publish-latest", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "npx aud --production", + "lint": "eslint .", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" }, "repository": { "type": "git", - "url": "git://github.com/ljharb/is-negative-zero.git" + "url": "git://github.com/inspect-js/is-negative-zero.git" }, "bugs": { - "url": "https://github.com/ljharb/is-negative-zero/issues" + "url": "https://github.com/inspect-js/is-negative-zero/issues" }, - "homepage": "https://github.com/ljharb/is-negative-zero", + "homepage": "https://github.com/inspect-js/is-negative-zero", "keywords": [ "is", "negative", @@ -33,14 +38,16 @@ ], "dependencies": {}, "devDependencies": { - "tape": "^4.0.1", - "covert": "^1.1.0", - "jscs": "^1.13.1", - "eslint": "^1.0.0-rc-3", - "@ljharb/eslint-config": "^1.0.3" + "@ljharb/eslint-config": "^17.3.0", + "aud": "^1.1.3", + "auto-changelog": "^2.2.1", + "eslint": "^7.14.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "tape": "^5.0.1" }, "testling": { - "files": "test.js", + "files": "test/index.js", "browsers": [ "iexplore/6.0..latest", "firefox/3.0..6.0", @@ -60,5 +67,13 @@ }, "engines": { "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true } } \ No newline at end of file diff --git a/node_modules/is-negative-zero/test.js b/node_modules/is-negative-zero/test.js deleted file mode 100644 index 18c3f7cdc..000000000 --- a/node_modules/is-negative-zero/test.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var test = require('tape'); -var isNegativeZero = require('./'); - -test('not negative zero', function (t) { - t.notOk(isNegativeZero(), 'undefined is not negative zero'); - t.notOk(isNegativeZero(null), 'null is not negative zero'); - t.notOk(isNegativeZero(false), 'false is not negative zero'); - t.notOk(isNegativeZero(true), 'true is not negative zero'); - t.notOk(isNegativeZero(0), 'positive zero is not negative zero'); - t.notOk(isNegativeZero(Infinity), 'Infinity is not negative zero'); - t.notOk(isNegativeZero(-Infinity), '-Infinity is not negative zero'); - t.notOk(isNegativeZero(NaN), 'NaN is not negative zero'); - t.notOk(isNegativeZero('foo'), 'string is not negative zero'); - t.notOk(isNegativeZero([]), 'array is not negative zero'); - t.notOk(isNegativeZero({}), 'object is not negative zero'); - t.notOk(isNegativeZero(function () {}), 'function is not negative zero'); - t.notOk(isNegativeZero(-1), '-1 is not negative zero'); - - t.end(); -}); - -test('negative zero', function (t) { - t.ok(isNegativeZero(-0), 'negative zero is negative zero'); - t.end(); -}); - diff --git a/node_modules/is-negative-zero/test/index.js b/node_modules/is-negative-zero/test/index.js new file mode 100644 index 000000000..8fd7d16bf --- /dev/null +++ b/node_modules/is-negative-zero/test/index.js @@ -0,0 +1,28 @@ +'use strict'; + +var test = require('tape'); +var isNegativeZero = require('../'); + +test('not negative zero', function (t) { + t.notOk(isNegativeZero(), 'undefined is not negative zero'); + t.notOk(isNegativeZero(null), 'null is not negative zero'); + t.notOk(isNegativeZero(false), 'false is not negative zero'); + t.notOk(isNegativeZero(true), 'true is not negative zero'); + t.notOk(isNegativeZero(0), 'positive zero is not negative zero'); + t.notOk(isNegativeZero(Infinity), 'Infinity is not negative zero'); + t.notOk(isNegativeZero(-Infinity), '-Infinity is not negative zero'); + t.notOk(isNegativeZero(NaN), 'NaN is not negative zero'); + t.notOk(isNegativeZero('foo'), 'string is not negative zero'); + t.notOk(isNegativeZero([]), 'array is not negative zero'); + t.notOk(isNegativeZero({}), 'object is not negative zero'); + t.notOk(isNegativeZero(function () {}), 'function is not negative zero'); + t.notOk(isNegativeZero(-1), '-1 is not negative zero'); + + t.end(); +}); + +test('negative zero', function (t) { + t.ok(isNegativeZero(-0), 'negative zero is negative zero'); + t.end(); +}); + diff --git a/node_modules/is-number-object/.editorconfig b/node_modules/is-number-object/.editorconfig new file mode 100644 index 000000000..bc228f826 --- /dev/null +++ b/node_modules/is-number-object/.editorconfig @@ -0,0 +1,20 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 150 + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[*.json] +max_line_length = off + +[Makefile] +max_line_length = off diff --git a/node_modules/is-number-object/.eslintignore b/node_modules/is-number-object/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-number-object/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-number-object/.eslintrc b/node_modules/is-number-object/.eslintrc new file mode 100644 index 000000000..a6dec9472 --- /dev/null +++ b/node_modules/is-number-object/.eslintrc @@ -0,0 +1,9 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-name-matching": 0, + }, +} diff --git a/node_modules/is-number-object/.github/FUNDING.yml b/node_modules/is-number-object/.github/FUNDING.yml new file mode 100644 index 000000000..17f4dc55d --- /dev/null +++ b/node_modules/is-number-object/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/is-number-object +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/is-number-object/.nycrc b/node_modules/is-number-object/.nycrc new file mode 100644 index 000000000..bdd626ce9 --- /dev/null +++ b/node_modules/is-number-object/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-number-object/CHANGELOG.md b/node_modules/is-number-object/CHANGELOG.md new file mode 100644 index 000000000..d6954eb12 --- /dev/null +++ b/node_modules/is-number-object/CHANGELOG.md @@ -0,0 +1,105 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.5](https://github.com/inspect-js/is-number-object/compare/v1.0.4...v1.0.5) - 2021-05-07 + +### Commits + +- [Tests] migrate tests to Github Actions [`9666737`](https://github.com/inspect-js/is-number-object/commit/96667372f8e36f70516218f86318f957f8c175ad) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`7815ce2`](https://github.com/inspect-js/is-number-object/commit/7815ce21cb5662c2d1651b3ec302f186aa8a016b) +- [meta] do not publish github action workflow files [`80ccb75`](https://github.com/inspect-js/is-number-object/commit/80ccb7509f91732675b018cc1a636d649a92889e) +- [Tests] run `nyc` on all tests [`c9ffb74`](https://github.com/inspect-js/is-number-object/commit/c9ffb74443690ef22f9aa7dd35855fd1e3be5184) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`7e84161`](https://github.com/inspect-js/is-number-object/commit/7e84161d089c87ef42e3639ac1889642624ebd28) +- [readme] add actions and codecov badges [`0c5ec7a`](https://github.com/inspect-js/is-number-object/commit/0c5ec7aa87dac27bdcda2365124c3aa0ccf9c278) +- [actions] add Require Allow Edits workflow [`dd0fb74`](https://github.com/inspect-js/is-number-object/commit/dd0fb74b2ecb630ea7778a6f06dcc017323a3c1d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-symbols`, `tape` [`2d36f80`](https://github.com/inspect-js/is-number-object/commit/2d36f809a7b9896958b0b0f3b69be0067caedb45) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`77d3140`](https://github.com/inspect-js/is-number-object/commit/77d3140557d483e467ce070b21bf384e9a7562d5) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`75d4abf`](https://github.com/inspect-js/is-number-object/commit/75d4abf34168e69d73f621c696a16179ddc0873c) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`0c2a917`](https://github.com/inspect-js/is-number-object/commit/0c2a917e4802b102888759fad912bd9faa5587f7) +- [Fix] do not use `Object.prototype.toString` when `Symbol.toStringTag` is shammed [`8b6ebc4`](https://github.com/inspect-js/is-number-object/commit/8b6ebc489db14a0c369214e081413f326fc0d598) +- [Dev Deps] update `auto-changelog`, `tape`; add `aud` [`62045fc`](https://github.com/inspect-js/is-number-object/commit/62045fcaddb9e4d3ef81068e99d07d21cd62023b) +- [actions] use checkout v2; remove unneeded env [`d48cd06`](https://github.com/inspect-js/is-number-object/commit/d48cd06720ea71f278a6d35c6f0a8ec04242a58f) +- [meta] use `prepublishOnly` script for npm 7+ [`827ab0d`](https://github.com/inspect-js/is-number-object/commit/827ab0d52d25f46d232ae7442ece270dec2de1df) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`bfed500`](https://github.com/inspect-js/is-number-object/commit/bfed500e6cc3cd3b9e7ffea78429c59857035791) +- [meta] remove explicit audit level config [`ce23e5e`](https://github.com/inspect-js/is-number-object/commit/ce23e5e49fbebe190267d8c99ddfd880a963b7ee) +- [meta] gitignore coverage output [`f1ad981`](https://github.com/inspect-js/is-number-object/commit/f1ad98106549c1c88322d8cb206068ea4c5bd424) + +## [v1.0.4](https://github.com/inspect-js/is-number-object/compare/v1.0.3...v1.0.4) - 2019-12-18 + +### Commits + +- [Tests] use shared travis-ci configs [`792b5aa`](https://github.com/inspect-js/is-number-object/commit/792b5aa5e7313ddf5507f7283bb7d5d5c646b11b) +- [Tests] up to `node` `v12.4`, `v11.15`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.17`, `v5.12`, `v4.9`; use `nvm install-latest-npm` [`dc66db7`](https://github.com/inspect-js/is-number-object/commit/dc66db7dd1eca0263f6602597eb40601519e912e) +- Update `eslint`, `tape`, `semver`; use my personal shared `eslint` config [`7660fed`](https://github.com/inspect-js/is-number-object/commit/7660fed03a7060eb5c91e74b9a17303d4fac1056) +- [Tests] remove `jscs` [`f1fee97`](https://github.com/inspect-js/is-number-object/commit/f1fee97423478bcc653c844fadda55138d9b9a54) +- [meta] add `auto-changelog` [`4b1c225`](https://github.com/inspect-js/is-number-object/commit/4b1c2253770eb18761a1e8b157772028d6f742c4) +- [meta] remove unused Makefile and associated utilities [`379b979`](https://github.com/inspect-js/is-number-object/commit/379b9793d9c61d7889e53bd9de9578dca9964ebc) +- Update `covert`, `jscs`, `eslint`, `semver` [`16d2af8`](https://github.com/inspect-js/is-number-object/commit/16d2af82a6c93aee614f7a4b2c468411c743e95f) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `is`, `replace`, `semver`, `tape` [`21c0f04`](https://github.com/inspect-js/is-number-object/commit/21c0f0431984b87443c6acb9f003368feb7b4368) +- Update `is`, `tape`, `covert`, `jscs`, `editorconfig-tools`, `nsp`, `eslint`, `semver`. Add `replace`. Use `^` instead of `~`. [`19d6ee3`](https://github.com/inspect-js/is-number-object/commit/19d6ee3a3d4a87764d57316804fd8b882ba5197c) +- Update `eslint` [`d32754b`](https://github.com/inspect-js/is-number-object/commit/d32754bcca0033e01eba531c4353d1239e992203) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `replace` [`1df8165`](https://github.com/inspect-js/is-number-object/commit/1df8165dd63d9f2f78ccb78e905d0a6b3e302884) +- Update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`675372b`](https://github.com/inspect-js/is-number-object/commit/675372b115fb20b5034f40bcbb5560c6c0512746) +- [readme] clean up readme; remove testling; fix repo URLs [`80e29c4`](https://github.com/inspect-js/is-number-object/commit/80e29c4d6d0811fc361e95ee83b81280bf3ae3f5) +- [Tests] up to `node` `v12.7`, `v10.16`, `v8.16` [`287a968`](https://github.com/inspect-js/is-number-object/commit/287a9687b1fc3d091ec231c06f19a19ff7b0e8f6) +- Test on latest `iojs` and `node` versions. [`11c98a2`](https://github.com/inspect-js/is-number-object/commit/11c98a23b232cb21c7daab797fd63875c2970681) +- [actions] add automatic rebasing / merge commit blocking [`022d026`](https://github.com/inspect-js/is-number-object/commit/022d026129df445f239ba2ecd8d47a2786242d75) +- [meta] create FUNDING.yml [`7f52710`](https://github.com/inspect-js/is-number-object/commit/7f527107168aad7108b7c262d295dcf44e03214d) +- [Dev Deps] update `is`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` [`bc8cd50`](https://github.com/inspect-js/is-number-object/commit/bc8cd508fe4440168f9b049be3ddf93c56c06c49) +- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`1f9200b`](https://github.com/inspect-js/is-number-object/commit/1f9200b7c56840dc23eeeca5d0ee4f64a0446e08) +- [Tests] up to `node` `v12.11` [`706d50a`](https://github.com/inspect-js/is-number-object/commit/706d50a779b90feb3f4d2ae88d8189d19b913073) +- [Dev Deps] update `jscs` [`e3591a4`](https://github.com/inspect-js/is-number-object/commit/e3591a445b1af25d46632eafea51efa07b4eb6dc) +- [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`baf4ee7`](https://github.com/inspect-js/is-number-object/commit/baf4ee749fb65ec12e9cab102e77aa0e14312109) +- Update `nsp`, `eslint` [`61b18d5`](https://github.com/inspect-js/is-number-object/commit/61b18d5b44542fddf4950534d506b20d8c8b1f44) +- Update `eslint`, `semver` [`52e61bd`](https://github.com/inspect-js/is-number-object/commit/52e61bd4334c0a1afacd147fd0bc1e2c1be10df5) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `has-symbols`; add `safe-publish-latest` [`79db7f6`](https://github.com/inspect-js/is-number-object/commit/79db7f610d2bcf5f0d6e8ca834f7402504101072) +- Only apps should have lockfiles [`677b9b4`](https://github.com/inspect-js/is-number-object/commit/677b9b4fb6ad9d7b984cb0f89c8b5a6df143b29a) +- Test on `io.js` `v2.2` [`e8a38b2`](https://github.com/inspect-js/is-number-object/commit/e8a38b2fe73b841b0ed55d9f60573d460a4f2a62) +- [meta] add `funding` field [`85315e7`](https://github.com/inspect-js/is-number-object/commit/85315e75c119a2aef70a766f2ddc1079b64d006b) +- [Dev Deps] update `eslint`, `tape` [`f3581aa`](https://github.com/inspect-js/is-number-object/commit/f3581aaea310546f6ee4612990468d39f058d320) +- [Tests] use `eclint` instead of `editorconfig-tools` [`7b53680`](https://github.com/inspect-js/is-number-object/commit/7b5368071000eb1c715aeeee5ff47ffdbee9fe5c) +- [Dev Deps] update `semver`, `tape` [`d6b524a`](https://github.com/inspect-js/is-number-object/commit/d6b524ac2e8c0240c436cbe8828671e383d51fd5) +- [Dev Deps] Update `tape`, `eslint` [`be19203`](https://github.com/inspect-js/is-number-object/commit/be19203dee0aa70ff8f09823bf880a38b824e1ed) +- Test up to `io.js` `v2.1` [`feb7ba6`](https://github.com/inspect-js/is-number-object/commit/feb7ba63a0816f1d36419ce240f96e9b4e4c90ba) +- Test up to `io.js` `v3.0` [`7be1f0a`](https://github.com/inspect-js/is-number-object/commit/7be1f0a25dc59b6606be9ee1ace38cb7039a59d2) +- [Dev Deps] update `tape` [`d9a2318`](https://github.com/inspect-js/is-number-object/commit/d9a2318bc82477e9321e961def11e28d364e5562) +- Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. [`a6cd411`](https://github.com/inspect-js/is-number-object/commit/a6cd411c6bd92691a48b52683afce584c2c6b21b) +- Test on `io.js` `v2.4` [`46c2e7f`](https://github.com/inspect-js/is-number-object/commit/46c2e7f2ce8ad7f8ab3c1da827d93fc2780eff06) +- Test on `io.js` `v2.3` [`9c344b0`](https://github.com/inspect-js/is-number-object/commit/9c344b0df83628908a1f776a3f2e5fc4fae1d4d2) +- Fix tests for faked @@toStringTag [`f8c446e`](https://github.com/inspect-js/is-number-object/commit/f8c446e9fc320c23807717356e259529f494b9f3) + +## [v1.0.3](https://github.com/inspect-js/is-number-object/compare/v1.0.2...v1.0.3) - 2015-01-29 + +### Commits + +- If @@toStringTag is not present, use the old-school Object#toString test. [`9b2a4df`](https://github.com/inspect-js/is-number-object/commit/9b2a4df6ccf903e89198d4244eeb7f47a7056327) + +## [v1.0.2](https://github.com/inspect-js/is-number-object/compare/v1.0.1...v1.0.2) - 2015-01-29 + +### Commits + +- Improve optimizability of the non-try/catch part. [`7e6be2f`](https://github.com/inspect-js/is-number-object/commit/7e6be2fd2346557fc81bd544ac8745021c50e266) +- Fix package.json [`4f2ebea`](https://github.com/inspect-js/is-number-object/commit/4f2ebeae09c45e1eefeb2c10a011ff2ef0aca921) + +## [v1.0.1](https://github.com/inspect-js/is-number-object/compare/v1.0.0...v1.0.1) - 2015-01-29 + +### Commits + +- Use Object() instead of new Number() [`1aaa746`](https://github.com/inspect-js/is-number-object/commit/1aaa746c26878a0f698aabea4d88215311f2a38d) +- Add early exits for typeof number, or typeof not "object". [`eae4337`](https://github.com/inspect-js/is-number-object/commit/eae43375d3f88e04bb10eabd954e5a6b66ad5305) + +## v1.0.0 - 2015-01-28 + +### Commits + +- Dotfiles. [`9c74e3e`](https://github.com/inspect-js/is-number-object/commit/9c74e3eb2b10398d4022de7c4015531e874f06c8) +- `make release` [`a99e5ae`](https://github.com/inspect-js/is-number-object/commit/a99e5aeb3995a7d543fc5833722bc02011fabad6) +- package.json [`4fed9ef`](https://github.com/inspect-js/is-number-object/commit/4fed9ef7c35ccfc45ca8acd3c92c9cb91c7daa6d) +- Read me [`c91d6ba`](https://github.com/inspect-js/is-number-object/commit/c91d6ba00de79eaaac5fec7c9d8866d61d0abb62) +- Initial commit [`629fb96`](https://github.com/inspect-js/is-number-object/commit/629fb969f076e0802c799b368c7b02556bb0750e) +- Tests. [`a39de62`](https://github.com/inspect-js/is-number-object/commit/a39de624785cc204ed7c0ea5518f1c878870ceb1) +- Implementation. [`aedd91e`](https://github.com/inspect-js/is-number-object/commit/aedd91e6fc23f00852ad1266b6c19f32b7f93a22) diff --git a/node_modules/is-number-object/LICENSE b/node_modules/is-number-object/LICENSE new file mode 100644 index 000000000..b43df444e --- /dev/null +++ b/node_modules/is-number-object/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/node_modules/is-number-object/README.md b/node_modules/is-number-object/README.md new file mode 100644 index 000000000..a5f1e5b1f --- /dev/null +++ b/node_modules/is-number-object/README.md @@ -0,0 +1,55 @@ +# is-number-object [![Version Badge][2]][1] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag. + +## Example + +```js +var isNumber = require('is-number-object'); +var assert = require('assert'); + +assert.notOk(isNumber(undefined)); +assert.notOk(isNumber(null)); +assert.notOk(isNumber(false)); +assert.notOk(isNumber(true)); +assert.notOk(isNumber('foo')); +assert.notOk(isNumber(function () {})); +assert.notOk(isNumber([])); +assert.notOk(isNumber({})); +assert.notOk(isNumber(/a/g)); +assert.notOk(isNumber(new RegExp('a', 'g'))); +assert.notOk(isNumber(new Date())); + +assert.ok(isNumber(42)); +assert.ok(isNumber(NaN)); +assert.ok(isNumber(Infinity)); +assert.ok(isNumber(new Number(42))); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/is-number-object +[2]: https://versionbadg.es/inspect-js/is-number-object.svg +[5]: https://david-dm.org/inspect-js/is-number-object.svg +[6]: https://david-dm.org/inspect-js/is-number-object +[7]: https://david-dm.org/inspect-js/is-number-object/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-number-object#info=devDependencies +[11]: https://nodei.co/npm/is-number-object.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/is-number-object.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/is-number-object.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-number-object +[codecov-image]: https://codecov.io/gh/inspect-js/is-number-object/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-number-object/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-number-object +[actions-url]: https://github.com/inspect-js/is-number-object/actions diff --git a/node_modules/is-number-object/index.js b/node_modules/is-number-object/index.js new file mode 100644 index 000000000..637a4b98e --- /dev/null +++ b/node_modules/is-number-object/index.js @@ -0,0 +1,24 @@ +'use strict'; + +var numToStr = Number.prototype.toString; +var tryNumberObject = function tryNumberObject(value) { + try { + numToStr.call(value); + return true; + } catch (e) { + return false; + } +}; +var toStr = Object.prototype.toString; +var numClass = '[object Number]'; +var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; + +module.exports = function isNumberObject(value) { + if (typeof value === 'number') { + return true; + } + if (typeof value !== 'object') { + return false; + } + return hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass; +}; diff --git a/node_modules/is-number-object/package.json b/node_modules/is-number-object/package.json new file mode 100644 index 000000000..6066d1d79 --- /dev/null +++ b/node_modules/is-number-object/package.json @@ -0,0 +1,78 @@ +{ + "name": "is-number-object", + "version": "1.0.5", + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "description": "Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.", + "license": "MIT", + "main": "index.js", + "scripts": { + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx aud --production", + "lint": "eslint .", + "eccheck": "eclint check *.js **/*.js > /dev/null", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git://github.com/inspect-js/is-number-object.git" + }, + "keywords": [ + "Number", + "ES6", + "toStringTag", + "@@toStringTag", + "Number object" + ], + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "core-js": "^3.12.0", + "eclint": "^2.8.1", + "eslint": "^7.25.0", + "foreach": "^2.0.5", + "has-symbols": "^1.0.2", + "indexof": "^0.0.1", + "is": "^3.3.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "tape": "^5.2.2" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "iexplore/6.0..latest", + "firefox/3.0..6.0", + "firefox/15.0..latest", + "firefox/nightly", + "chrome/4.0..10.0", + "chrome/20.0..latest", + "chrome/canary", + "opera/10.0..latest", + "opera/next", + "safari/4.0..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2" + ] + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/node_modules/is-number-object/test/corejs.js b/node_modules/is-number-object/test/corejs.js new file mode 100644 index 000000000..73f0c89cb --- /dev/null +++ b/node_modules/is-number-object/test/corejs.js @@ -0,0 +1,5 @@ +'use strict'; + +require('core-js'); + +require('./'); diff --git a/node_modules/is-number-object/test/index.js b/node_modules/is-number-object/test/index.js new file mode 100644 index 000000000..04ada7dd2 --- /dev/null +++ b/node_modules/is-number-object/test/index.js @@ -0,0 +1,38 @@ +'use strict'; + +var test = require('tape'); +var isNumber = require('../'); +var hasSymbols = require('has-symbols/shams')(); + +test('not Numbers', function (t) { + t.notOk(isNumber(), 'undefined is not Number'); + t.notOk(isNumber(null), 'null is not Number'); + t.notOk(isNumber(false), 'false is not Number'); + t.notOk(isNumber(true), 'true is not Number'); + t.notOk(isNumber('foo'), 'string is not Number'); + t.notOk(isNumber([]), 'array is not Number'); + t.notOk(isNumber({}), 'object is not Number'); + t.notOk(isNumber(function () {}), 'function is not Number'); + t.notOk(isNumber(/a/g), 'regex literal is not Number'); + t.notOk(isNumber(new RegExp('a', 'g')), 'regex object is not Number'); + t.notOk(isNumber(new Date()), 'new Date() is not Number'); + t.end(); +}); + +test('@@toStringTag', { skip: !hasSymbols || !Symbol.toStringTag }, function (t) { + var fakeNumber = { + toString: function () { return '7'; }, + valueOf: function () { return 42; } + }; + fakeNumber[Symbol.toStringTag] = 'Number'; + t.notOk(isNumber(fakeNumber), 'fake Number with @@toStringTag "Number" is not Number'); + t.end(); +}); + +test('Numbers', function (t) { + t.ok(isNumber(42), 'number is Number'); + t.ok(isNumber(Object(42)), 'number object is Number'); + t.ok(isNumber(NaN), 'NaN is Number'); + t.ok(isNumber(Infinity), 'Infinity is Number'); + t.end(); +}); diff --git a/node_modules/is-regex/.eslintignore b/node_modules/is-regex/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-regex/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-regex/.github/workflows/rebase.yml b/node_modules/is-regex/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/is-regex/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-regex/.nycrc b/node_modules/is-regex/.nycrc new file mode 100644 index 000000000..a69aa2d82 --- /dev/null +++ b/node_modules/is-regex/.nycrc @@ -0,0 +1,10 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test", + "test-corejs.js" + ] +} diff --git a/node_modules/is-regex/.travis.yml b/node_modules/is-regex/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/is-regex/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/is-regex/CHANGELOG.md b/node_modules/is-regex/CHANGELOG.md index 8e0f466d6..3b2a48c0d 100644 --- a/node_modules/is-regex/CHANGELOG.md +++ b/node_modules/is-regex/CHANGELOG.md @@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.1.3](https://github.com/inspect-js/is-regex/compare/v1.1.2...v1.1.3) - 2021-05-07 + +### Commits + +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`c681ab9`](https://github.com/inspect-js/is-regex/commit/c681ab99c07f8b3b7ae5f652b3105a30bce94f69) +- [Fix] do not use `Object.prototype.toString` when `Symbol.toStringTag` is shammed [`ca019fd`](https://github.com/inspect-js/is-regex/commit/ca019fdb828dc7d32e323213403ac9995d8604e3) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`605a66f`](https://github.com/inspect-js/is-regex/commit/605a66f278900f1c8ae9d1dfcec31e5f61b10ad3) +- [readme] add actions and codecov badges [`8d7c6f0`](https://github.com/inspect-js/is-regex/commit/8d7c6f0e007bd982f21b958e0abc98b8a84e2a24) +- [meta] use `prepublishOnly` script for npm 7+ [`8e50e91`](https://github.com/inspect-js/is-regex/commit/8e50e91f51aa5038745526710ef2e030527982a7) +- [Deps] update `has-symbols` [`4742c81`](https://github.com/inspect-js/is-regex/commit/4742c81260c3db9a8c9ef57110981fb6175f58e0) + +## [v1.1.2](https://github.com/inspect-js/is-regex/compare/v1.1.1...v1.1.2) - 2021-02-01 + +### Commits + +- [Tests] migrate tests to Github Actions [`cc1686e`](https://github.com/inspect-js/is-regex/commit/cc1686e25f446ca6948f43b3f180d6e55e31fb4e) +- [readme] fix repo URLs; remove travis badge [`d1d1da6`](https://github.com/inspect-js/is-regex/commit/d1d1da647bb4e91589606f12470cd27a47b3bb81) +- [meta] do not publish github action workflow files [`9f84b99`](https://github.com/inspect-js/is-regex/commit/9f84b993a995f057b4d2d097ef47b1ff9c84115d) +- [Tests] run `nyc` on all tests [`c37aab9`](https://github.com/inspect-js/is-regex/commit/c37aab9d332c4834b08ada94736c45ab1d39cd2f) +- [Robustness] use `call-bind` [`fbb61bf`](https://github.com/inspect-js/is-regex/commit/fbb61bf3e19ccc178e6ed1e0d7ab9cc7c7167393) +- [actions] add "Allow Edits" workflow [`9022b53`](https://github.com/inspect-js/is-regex/commit/9022b53cb05b0f105cd179800cf96e055b249f08) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`d60f28f`](https://github.com/inspect-js/is-regex/commit/d60f28f7f2fb21dade7bce302b3e0246206423d3) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`2c35c43`](https://github.com/inspect-js/is-regex/commit/2c35c437edf3eeb37129eea2404d8f465d27620f) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`1009e25`](https://github.com/inspect-js/is-regex/commit/1009e259d49a63753dc6e79e2b876a30c00c6de6) +- [meta] gitignore coverage output [`3b5fa9e`](https://github.com/inspect-js/is-regex/commit/3b5fa9ed2882c65ee81dff979f79f1a2751d3772) +- [actions] update workflows [`1843ef6`](https://github.com/inspect-js/is-regex/commit/1843ef65b8b8c24a44e91bc4ed5ee60dffc31c2d) + ## [v1.1.1](https://github.com/inspect-js/is-regex/compare/v1.1.0...v1.1.1) - 2020-08-03 ### Commits diff --git a/node_modules/is-regex/README.md b/node_modules/is-regex/README.md index 05baa0ebc..d61332bd2 100644 --- a/node_modules/is-regex/README.md +++ b/node_modules/is-regex/README.md @@ -1,6 +1,7 @@ -#is-regex [![Version Badge][2]][1] +# is-regex [![Version Badge][2]][1] -[![Build Status][3]][4] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -8,8 +9,6 @@ [![npm badge][11]][1] -[![browser support][9]][10] - Is this value a JS regex? This module works cross-realm/iframe, and despite ES6 @@toStringTag. @@ -37,18 +36,17 @@ assert.ok(isRegex(new RegExp('a', 'g'))); Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/is-regex -[2]: http://versionbadg.es/ljharb/is-regex.svg -[3]: https://travis-ci.org/ljharb/is-regex.svg -[4]: https://travis-ci.org/ljharb/is-regex -[5]: https://david-dm.org/ljharb/is-regex.svg -[6]: https://david-dm.org/ljharb/is-regex -[7]: https://david-dm.org/ljharb/is-regex/dev-status.svg -[8]: https://david-dm.org/ljharb/is-regex#info=devDependencies -[9]: https://ci.testling.com/ljharb/is-regex.png -[10]: https://ci.testling.com/ljharb/is-regex +[2]: https://versionbadg.es/inspect-js/is-regex.svg +[5]: https://david-dm.org/inspect-js/is-regex.svg +[6]: https://david-dm.org/inspect-js/is-regex +[7]: https://david-dm.org/inspect-js/is-regex/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-regex#info=devDependencies [11]: https://nodei.co/npm/is-regex.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/is-regex.svg +[license-image]: https://img.shields.io/npm/l/is-regex.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/is-regex.svg -[downloads-url]: http://npm-stat.com/charts.html?package=is-regex - +[downloads-image]: https://img.shields.io/npm/dm/is-regex.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-regex +[codecov-image]: https://codecov.io/gh/inspect-js/is-regex/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-regex/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-regex +[actions-url]: https://github.com/inspect-js/is-regex/actions diff --git a/node_modules/is-regex/index.js b/node_modules/is-regex/index.js index 3db4b9238..80a2d335f 100644 --- a/node_modules/is-regex/index.js +++ b/node_modules/is-regex/index.js @@ -1,15 +1,16 @@ 'use strict'; -var hasSymbols = require('has-symbols')(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; -var hasOwnProperty; -var regexExec; +var callBound = require('call-bind/callBound'); +var hasSymbols = require('has-symbols/shams')(); +var hasToStringTag = hasSymbols && !!Symbol.toStringTag; +var has; +var $exec; var isRegexMarker; var badStringifier; if (hasToStringTag) { - hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); - regexExec = Function.call.bind(RegExp.prototype.exec); + has = callBound('Object.prototype.hasOwnProperty'); + $exec = callBound('RegExp.prototype.exec'); isRegexMarker = {}; var throwRegexMarker = function () { @@ -25,7 +26,7 @@ if (hasToStringTag) { } } -var toStr = Object.prototype.toString; +var $toString = callBound('Object.prototype.toString'); var gOPD = Object.getOwnPropertyDescriptor; var regexClass = '[object RegExp]'; @@ -37,13 +38,13 @@ module.exports = hasToStringTag } var descriptor = gOPD(value, 'lastIndex'); - var hasLastIndexDataProperty = descriptor && hasOwnProperty(descriptor, 'value'); + var hasLastIndexDataProperty = descriptor && has(descriptor, 'value'); if (!hasLastIndexDataProperty) { return false; } try { - regexExec(value, badStringifier); + $exec(value, badStringifier); } catch (e) { return e === isRegexMarker; } @@ -54,5 +55,5 @@ module.exports = hasToStringTag return false; } - return toStr.call(value) === regexClass; + return $toString(value) === regexClass; }; diff --git a/node_modules/is-regex/package.json b/node_modules/is-regex/package.json index f6c38a7c6..b4e26fb67 100644 --- a/node_modules/is-regex/package.json +++ b/node_modules/is-regex/package.json @@ -1,6 +1,6 @@ { "name": "is-regex", - "version": "1.1.1", + "version": "1.1.3", "description": "Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag", "author": "Jordan Harband ", "funding": { @@ -9,12 +9,14 @@ "license": "MIT", "main": "index.js", "scripts": { - "prepublish": "safe-publish-latest", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", "pretest": "npm run lint", - "test": "npm run tests-only", - "tests-only": "node --harmony --es-staging test", + "test": "npm run tests-only && npm run test:harmony", + "tests-only": "nyc node test", + "test:harmony": "nyc node --harmony --es-staging test", + "test:corejs": "nyc tape test-corejs.js", "posttest": "npx aud --production", - "coverage": "covert test/index.js", "lint": "eslint .", "eccheck": "eclint check *.js **/*.js > /dev/null", "version": "auto-changelog && git add CHANGELOG.md", @@ -22,12 +24,12 @@ }, "repository": { "type": "git", - "url": "git://github.com/ljharb/is-regex.git" + "url": "git://github.com/inspect-js/is-regex.git" }, "bugs": { - "url": "https://github.com/ljharb/is-regex/issues" + "url": "https://github.com/inspect-js/is-regex/issues" }, - "homepage": "https://github.com/ljharb/is-regex", + "homepage": "https://github.com/inspect-js/is-regex", "keywords": [ "regex", "regexp", @@ -37,21 +39,23 @@ "expression" ], "dependencies": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" }, "devDependencies": { - "@ljharb/eslint-config": "^17.1.0", - "aud": "^1.1.2", - "auto-changelog": "^2.2.0", - "covert": "^1.1.1", + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "core-js": "^3.12.0", "eclint": "^2.8.1", - "eslint": "^7.6.0", + "eslint": "^7.26.0", "foreach": "^2.0.5", + "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", - "tape": "^5.0.1" + "tape": "^5.2.2" }, "testling": { - "files": "test.js", + "files": "test/index.js", "browsers": [ "iexplore/6.0..latest", "firefox/3.0..6.0", @@ -60,8 +64,7 @@ "chrome/4.0..10.0", "chrome/20.0..latest", "chrome/canary", - "opera/10.0..12.0", - "opera/15.0..latest", + "opera/10.0..latest", "opera/next", "safari/4.0..latest", "ipad/6.0..latest", diff --git a/node_modules/is-regex/test/index.js b/node_modules/is-regex/test/index.js index 934c3d9ea..93ea4e4ac 100644 --- a/node_modules/is-regex/test/index.js +++ b/node_modules/is-regex/test/index.js @@ -1,7 +1,7 @@ 'use strict'; -var hasSymbols = require('has-symbols')(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; +var hasSymbols = require('has-symbols/shams')(); +var hasToStringTag = hasSymbols && !!Symbol.toStringTag; var forEach = require('foreach'); var test = require('tape'); var isRegex = require('..'); diff --git a/node_modules/is-string/.eslintignore b/node_modules/is-string/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-string/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-string/.github/workflows/rebase.yml b/node_modules/is-string/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/is-string/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-string/.nycrc b/node_modules/is-string/.nycrc new file mode 100644 index 000000000..a69aa2d82 --- /dev/null +++ b/node_modules/is-string/.nycrc @@ -0,0 +1,10 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test", + "test-corejs.js" + ] +} diff --git a/node_modules/is-string/.travis.yml b/node_modules/is-string/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/is-string/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/is-string/CHANGELOG.md b/node_modules/is-string/CHANGELOG.md index 217c2ad6e..9334c53a0 100644 --- a/node_modules/is-string/CHANGELOG.md +++ b/node_modules/is-string/CHANGELOG.md @@ -7,7 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -## [v1.0.5](https://github.com/inspect-js/is-string/compare/v1.0.4...v1.0.5) - 2019-12-19 +## [v1.0.6](https://github.com/inspect-js/is-string/compare/v1.0.5...v1.0.6) - 2021-05-07 + +### Commits + +- [Tests] migrate tests to Github Actions [`c7790c8`](https://github.com/inspect-js/is-string/commit/c7790c89e5077251fe7ca32ac29eeee02f1b2751) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`1e52bbd`](https://github.com/inspect-js/is-string/commit/1e52bbd19b1608f6932c0335d9981824584c3186) +- [Fix] do not use `Object.prototype.toString` when `Symbol.toStringTag` is shammed [`83337eb`](https://github.com/inspect-js/is-string/commit/83337ebf55308b7bb9c1befae420760e0f8d8016) +- [meta] do not publish github action workflow files [`b25aea2`](https://github.com/inspect-js/is-string/commit/b25aea2e8a53ed9e9090cf96481590cdc00a0957) +- [readme] update badges [`759ccd9`](https://github.com/inspect-js/is-string/commit/759ccd94de4a2000231a179f91af6b5c12c11e00) +- [Tests] run `nyc` on all tests [`dc02f70`](https://github.com/inspect-js/is-string/commit/dc02f7080c355f0d24368c1622db09f7cc30cdbd) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `auto-changelog`, `tape`; add `aud` [`a0f76fa`](https://github.com/inspect-js/is-string/commit/a0f76fa1990bb580948f9e2daa89bdcda3fae7f0) +- [actions] add "Allow Edits" workflow [`9ec3902`](https://github.com/inspect-js/is-string/commit/9ec390295b4faef7744d2b579c1050be66168cb7) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`57fbe21`](https://github.com/inspect-js/is-string/commit/57fbe215da83a3b601855a9c6543ad1a96de5702) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`191e55f`](https://github.com/inspect-js/is-string/commit/191e55ff1fa782654ffcce2df922e23345b56690) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`1ea2b81`](https://github.com/inspect-js/is-string/commit/1ea2b81e866775a7890e75c44c742204124aa354) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`105d1b9`](https://github.com/inspect-js/is-string/commit/105d1b9851e366ef23c2a27d4064e0d36da25939) +- [Dev Deps] update `auto-changelog`, `tape`; add `aud` [`114cfad`](https://github.com/inspect-js/is-string/commit/114cfad854d8860421f847cd99a3bdb8ef1353dc) +- [meta] use `prepublishOnly` script for npm 7+ [`fc38f26`](https://github.com/inspect-js/is-string/commit/fc38f26adb486f50880c5771d145ab2bffb6247a) +- [meta] gitignore coverage output [`3419127`](https://github.com/inspect-js/is-string/commit/34191278f1fa09ba4da801a6fd7a32e31050e759) +- [actions] update rebase action to use checkout v2 [`334eca0`](https://github.com/inspect-js/is-string/commit/334eca02d40f4cf7dc15a8e7d5ff06852028abb5) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`7a332e9`](https://github.com/inspect-js/is-string/commit/7a332e963f1ab717fafa671e0fa8a1b20c53d861) +- [meta] remove explicit audit level config [`04630b1`](https://github.com/inspect-js/is-string/commit/04630b1b535084322ddeae8efb79a8810d7cf325) + +## [v1.0.5](https://github.com/inspect-js/is-string/compare/v1.0.4...v1.0.5) - 2019-12-18 ### Commits @@ -46,7 +69,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Test on `io.js` `v2.3` [`ca6e796`](https://github.com/inspect-js/is-string/commit/ca6e796f16ec433b88962162fde8012f28e18f1e) - Fix tests for faked @@toStringTag [`3cce832`](https://github.com/inspect-js/is-string/commit/3cce8329133dfd233987359df151018b3b136be1) -## [v1.0.4](https://github.com/inspect-js/is-string/compare/v1.0.3...v1.0.4) - 2015-01-30 +## [v1.0.4](https://github.com/inspect-js/is-string/compare/v1.0.3...v1.0.4) - 2015-01-29 ### Commits @@ -71,7 +94,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Fix eslint config. [`c4e05bd`](https://github.com/inspect-js/is-string/commit/c4e05bd171da6002d432e451fd48912db8b048e0) - Add early exits for typeof "string", or typeof not "object". [`82f41d3`](https://github.com/inspect-js/is-string/commit/82f41d36a599bc6a06152792c84c7683e412c513) -## v1.0.0 - 2015-01-28 +## v1.0.0 - 2015-01-29 ### Commits diff --git a/node_modules/is-string/README.md b/node_modules/is-string/README.md index 13895e5f4..d9d7edf8a 100644 --- a/node_modules/is-string/README.md +++ b/node_modules/is-string/README.md @@ -1,6 +1,7 @@ # is-string [![Version Badge][2]][1] -[![Build Status][3]][4] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -8,8 +9,6 @@ [![npm badge][11]][1] -[![browser support][9]][10] - Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag. ## Example @@ -41,17 +40,17 @@ assert.ok(isString(Object('foo'))); Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/is-string -[2]: http://versionbadg.es/ljharb/is-string.svg -[3]: https://travis-ci.org/ljharb/is-string.svg -[4]: https://travis-ci.org/ljharb/is-string -[5]: https://david-dm.org/ljharb/is-string.svg -[6]: https://david-dm.org/ljharb/is-string -[7]: https://david-dm.org/ljharb/is-string/dev-status.svg -[8]: https://david-dm.org/ljharb/is-string#info=devDependencies -[9]: https://ci.testling.com/ljharb/is-string.png -[10]: https://ci.testling.com/ljharb/is-string +[2]: https://versionbadg.es/inspect-js/is-string.svg +[5]: https://david-dm.org/inspect-js/is-string.svg +[6]: https://david-dm.org/inspect-js/is-string +[7]: https://david-dm.org/inspect-js/is-string/dev-status.svg +[8]: https://david-dm.org/inspect-js/is-string#info=devDependencies [11]: https://nodei.co/npm/is-string.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/is-string.svg +[license-image]: https://img.shields.io/npm/l/is-string.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/is-string.svg -[downloads-url]: http://npm-stat.com/charts.html?package=is-string +[downloads-image]: https://img.shields.io/npm/dm/is-string.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-string +[codecov-image]: https://codecov.io/gh/inspect-js/is-string/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-string/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-string +[actions-url]: https://github.com/inspect-js/is-string/actions diff --git a/node_modules/is-string/index.js b/node_modules/is-string/index.js index 95b7050cc..5f77f03d2 100644 --- a/node_modules/is-string/index.js +++ b/node_modules/is-string/index.js @@ -11,7 +11,7 @@ var tryStringObject = function tryStringObject(value) { }; var toStr = Object.prototype.toString; var strClass = '[object String]'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; +var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; module.exports = function isString(value) { if (typeof value === 'string') { diff --git a/node_modules/is-string/package.json b/node_modules/is-string/package.json index 0ef60f2e9..7ec9f5d1b 100644 --- a/node_modules/is-string/package.json +++ b/node_modules/is-string/package.json @@ -1,6 +1,6 @@ { "name": "is-string", - "version": "1.0.5", + "version": "1.0.6", "author": "Jordan Harband ", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9,12 +9,13 @@ "license": "MIT", "main": "index.js", "scripts": { - "prepublish": "safe-publish-latest", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", "pretest": "npm run lint", - "tests-only": "node --harmony --es-staging test", - "test": "npm run tests-only", - "posttest": "npx aud", - "coverage": "covert test/index.js", + "tests-only": "nyc tape 'test/**/*.js'", + "test:corejs": "nyc tape test-corejs.js", + "test": "npm run tests-only && npm run test:corejs", + "posttest": "npx aud --production", "lint": "eslint .", "eccheck": "eclint check *.js **/*.js > /dev/null", "version": "auto-changelog && git add CHANGELOG.md", @@ -32,18 +33,19 @@ "@@toStringTag", "String object" ], - "dependencies": {}, "devDependencies": { - "@ljharb/eslint-config": "^15.0.2", - "auto-changelog": "^1.16.2", - "covert": "^1.1.1", + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "core-js": "^3.12.0", "eclint": "^2.8.1", - "eslint": "^6.7.2", + "eslint": "^7.26.0", "foreach": "^2.0.5", "indexof": "^0.0.1", "is": "^3.3.0", + "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", - "tape": "^4.12.0" + "tape": "^5.2.2" }, "testling": { "files": "test/index.js", diff --git a/node_modules/is-string/test/index.js b/node_modules/is-string/test/index.js index 03c08747f..8fbba42a6 100644 --- a/node_modules/is-string/test/index.js +++ b/node_modules/is-string/test/index.js @@ -1,8 +1,8 @@ 'use strict'; var test = require('tape'); -var isString = require('..'); -var hasSymbols = typeof Symbol === 'function' && typeof Symbol('') === 'symbol'; +var isString = require('../'); +var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator !== 'undefined'; test('not Strings', function (t) { t.notOk(isString(), 'undefined is not String'); diff --git a/node_modules/is-symbol/.eslintignore b/node_modules/is-symbol/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/is-symbol/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/is-symbol/.github/workflows/rebase.yml b/node_modules/is-symbol/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/is-symbol/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/is-symbol/.nvmrc b/node_modules/is-symbol/.nvmrc deleted file mode 100644 index 64f5a0a68..000000000 --- a/node_modules/is-symbol/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -node diff --git a/node_modules/is-symbol/.nycrc b/node_modules/is-symbol/.nycrc new file mode 100644 index 000000000..bdd626ce9 --- /dev/null +++ b/node_modules/is-symbol/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/is-symbol/.travis.yml b/node_modules/is-symbol/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/is-symbol/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/is-symbol/CHANGELOG.md b/node_modules/is-symbol/CHANGELOG.md index 6c68c5981..ce8dd9912 100644 --- a/node_modules/is-symbol/CHANGELOG.md +++ b/node_modules/is-symbol/CHANGELOG.md @@ -5,9 +5,36 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [v1.0.4](https://github.com/inspect-js/is-symbol/compare/v1.0.3...v1.0.4) - 2021-05-08 -## [v1.0.3](https://github.com/inspect-js/is-symbol/compare/v1.0.2...v1.0.3) - 2019-11-21 +### Commits + +- [Tests] migrate tests to Github Actions [`997d43c`](https://github.com/inspect-js/is-symbol/commit/997d43c091d1f8d3a2b3d7dfb17a73cdc5a75dde) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`fe0ccb7`](https://github.com/inspect-js/is-symbol/commit/fe0ccb7b7b64e74e095ef782dcc1d24d6c4b0be4) +- [meta] remove unused Makefile and associated utilities [`3ab2748`](https://github.com/inspect-js/is-symbol/commit/3ab2748ab6c2de21fc24f131bb880c68ba0b7b34) +- [meta] do not publish github action workflow files [`f20fafe`](https://github.com/inspect-js/is-symbol/commit/f20fafeb21585c7b4871ea19f104fd7696734fe8) +- [Tests] run `nyc` on all tests [`5c332fc`](https://github.com/inspect-js/is-symbol/commit/5c332fc92cecbed4a2041bc0c52b991b4a593f34) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `object-inspect`, `tape` [`c5a58a8`](https://github.com/inspect-js/is-symbol/commit/c5a58a8bea390a9b02e1c8c4aac30c223370297b) +- [readme] fix repo URLs; remove travis badge [`bcd9258`](https://github.com/inspect-js/is-symbol/commit/bcd9258d161fe709148fcc47962df3372c544727) +- [actions] add "Allow Edits" workflow [`33ae2d3`](https://github.com/inspect-js/is-symbol/commit/33ae2d3940e9daa6003a84c232874ee558b2fb44) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `object-inspect`, `tape` [`e53def0`](https://github.com/inspect-js/is-symbol/commit/e53def0b77c38cbfae87fd8bbfd78953b845ea94) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `object-inspect` [`ae36504`](https://github.com/inspect-js/is-symbol/commit/ae365048c0c1b13457faa78658b80561f5a0bcd0) +- [readme] add actions and codecov badges [`aae7f09`](https://github.com/inspect-js/is-symbol/commit/aae7f09bd59d36df69d3b66d9b351c39fe072330) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`d993fae`](https://github.com/inspect-js/is-symbol/commit/d993fae6d89856d4ab7818874be597249cb8a8cc) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`51808a5`](https://github.com/inspect-js/is-symbol/commit/51808a55f272023201f40a59b2459ec6305bf73a) +- [Dev Deps] update `auto-changelog`, `tape` [`c90040f`](https://github.com/inspect-js/is-symbol/commit/c90040f0aeded8d0071a78d5cd593b385f8828ee) +- [Dev Deps] update `eslint`, `tape` [`9fee159`](https://github.com/inspect-js/is-symbol/commit/9fee159403d499a5ed2f5cb5db03747d09ab1766) +- [meta] use `prepublishOnly` script for npm 7+ [`b166afc`](https://github.com/inspect-js/is-symbol/commit/b166afc3ae3c6d11721a9558ddb112a28261688d) +- [meta] gitignore coverage output [`4a0fe3a`](https://github.com/inspect-js/is-symbol/commit/4a0fe3aa074b933074fcc231ce739005e1fec195) +- [actions] update workflows [`fbcbc9e`](https://github.com/inspect-js/is-symbol/commit/fbcbc9eb5bfe2cf9a77d5bd86bb1dece8e5f81d0) +- [Dev Deps] update `auto-changelog`; add `aud` [`e66ab98`](https://github.com/inspect-js/is-symbol/commit/e66ab989e48b81b48bd443d35dba0071950c5d7a) +- [Deps] update `has-symbols` [`6ce7de5`](https://github.com/inspect-js/is-symbol/commit/6ce7de53c866c068de2c28d97b3a64cf6d5f6a76) +- [actions] update rebase action to use checkout v2 [`1173c79`](https://github.com/inspect-js/is-symbol/commit/1173c79914076d73aec9aebc22dce4122e7bd3ae) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`94a6348`](https://github.com/inspect-js/is-symbol/commit/94a6348f6274eac9bf4c5a6057b4f6120fc7d1d1) +- [Tests] only audit prod deps [`0692681`](https://github.com/inspect-js/is-symbol/commit/06926811fa029fe0fded5d0af4553a7808c143d1) +- [meta] do not publish .nvmrc file [`ed47833`](https://github.com/inspect-js/is-symbol/commit/ed478333c72384f8dbeb51e5fd501238f52a4972) + +## [v1.0.3](https://github.com/inspect-js/is-symbol/compare/v1.0.2...v1.0.3) - 2019-11-20 ### Commits diff --git a/node_modules/is-symbol/Makefile b/node_modules/is-symbol/Makefile deleted file mode 100644 index b9e4fe1aa..000000000 --- a/node_modules/is-symbol/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# Since we rely on paths relative to the makefile location, abort if make isn't being run from there. -$(if $(findstring /,$(MAKEFILE_LIST)),$(error Please only invoke this makefile from the directory it resides in)) - - # The files that need updating when incrementing the version number. -VERSIONED_FILES := *.js *.json README* - - -# Add the local npm packages' bin folder to the PATH, so that `make` can find them, when invoked directly. -# Note that rather than using `$(npm bin)` the 'node_modules/.bin' path component is hard-coded, so that invocation works even from an environment -# where npm is (temporarily) unavailable due to having deactivated an nvm instance loaded into the calling shell in order to avoid interference with tests. -export PATH := $(shell printf '%s' "$$PWD/node_modules/.bin:$$PATH") -UTILS := semver -# Make sure that all required utilities can be located. -UTIL_CHECK := $(or $(shell PATH="$(PATH)" which $(UTILS) >/dev/null && echo 'ok'),$(error Did you forget to run `npm install` after cloning the repo? At least one of the required supporting utilities not found: $(UTILS))) - -# Default target (by virtue of being the first non '.'-prefixed in the file). -.PHONY: _no-target-specified -_no-target-specified: - $(error Please specify the target to make - `make list` shows targets. Alternatively, use `npm test` to run the default tests; `npm run` shows all tests) - -# Lists all targets defined in this makefile. -.PHONY: list -list: - @$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | command grep -v -e '^[^[:alnum:]]' -e '^$@$$command ' | sort - -# All-tests target: invokes the specified test suites for ALL shells defined in $(SHELLS). -.PHONY: test -test: - @npm test - -.PHONY: _ensure-tag -_ensure-tag: -ifndef TAG - $(error Please invoke with `make TAG= release`, where is either an increment specifier (patch, minor, major, prepatch, preminor, premajor, prerelease), or an explicit major.minor.patch version number) -endif - -CHANGELOG_ERROR = $(error No CHANGELOG specified) -.PHONY: _ensure-changelog -_ensure-changelog: - @ (git status -sb --porcelain | command grep -E '^( M|[MA] ) CHANGELOG.md' > /dev/null) || (echo no CHANGELOG.md specified && exit 2) - -# Ensures that the git workspace is clean. -.PHONY: _ensure-clean -_ensure-clean: - @[ -z "$$((git status --porcelain --untracked-files=no || echo err) | command grep -v 'CHANGELOG.md')" ] || { echo "Workspace is not clean; please commit changes first." >&2; exit 2; } - -# Makes a release; invoke with `make TAG= release`. -.PHONY: release -release: _ensure-tag _ensure-changelog _ensure-clean - @old_ver=`git describe --abbrev=0 --tags --match 'v[0-9]*.[0-9]*.[0-9]*'` || { echo "Failed to determine current version." >&2; exit 1; }; old_ver=$${old_ver#v}; \ - new_ver=`echo "$(TAG)" | sed 's/^v//'`; new_ver=$${new_ver:-patch}; \ - if printf "$$new_ver" | command grep -q '^[0-9]'; then \ - semver "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be major.minor.patch' >&2; exit 2; }; \ - semver -r "> $$old_ver" "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be HIGHER than current one.' >&2; exit 2; } \ - else \ - new_ver=`semver -i "$$new_ver" "$$old_ver"` || { echo 'Invalid version-increment specifier: $(TAG)' >&2; exit 2; } \ - fi; \ - printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \ - replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \ - git commit -m "v$$new_ver" $(VERSIONED_FILES) CHANGELOG.md && \ - git tag -a -m "v$$new_ver" "v$$new_ver" diff --git a/node_modules/is-symbol/README.md b/node_modules/is-symbol/README.md index e59d1cefb..5432594c7 100644 --- a/node_modules/is-symbol/README.md +++ b/node_modules/is-symbol/README.md @@ -1,6 +1,7 @@ -#is-symbol [![Version Badge][2]][1] +# is-symbol [![Version Badge][2]][1] -[![Build Status][3]][4] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] @@ -8,8 +9,6 @@ [![npm badge][11]][1] -[![browser support][9]][10] - Is this an ES6 Symbol value? ## Example @@ -30,15 +29,17 @@ assert(isSymbol(Object(Symbol('foo')))); Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/is-symbol -[2]: http://versionbadg.es/inspect-js/is-symbol.svg -[3]: https://travis-ci.org/inspect-js/is-symbol.svg -[4]: https://travis-ci.org/inspect-js/is-symbol +[2]: https://versionbadg.es/inspect-js/is-symbol.svg [5]: https://david-dm.org/inspect-js/is-symbol.svg [6]: https://david-dm.org/inspect-js/is-symbol [7]: https://david-dm.org/inspect-js/is-symbol/dev-status.svg [8]: https://david-dm.org/inspect-js/is-symbol#info=devDependencies [11]: https://nodei.co/npm/is-symbol.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/is-symbol.svg +[license-image]: https://img.shields.io/npm/l/is-symbol.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/is-symbol.svg -[downloads-url]: http://npm-stat.com/charts.html?package=is-symbol +[downloads-image]: https://img.shields.io/npm/dm/is-symbol.svg +[downloads-url]: https://npm-stat.com/charts.html?package=is-symbol +[codecov-image]: https://codecov.io/gh/inspect-js/is-symbol/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/is-symbol/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-symbol +[actions-url]: https://github.com/inspect-js/is-symbol/actions diff --git a/node_modules/is-symbol/package.json b/node_modules/is-symbol/package.json index f9e2cbd80..02aeab237 100644 --- a/node_modules/is-symbol/package.json +++ b/node_modules/is-symbol/package.json @@ -1,15 +1,15 @@ { "name": "is-symbol", - "version": "1.0.3", + "version": "1.0.4", "description": "Determine if a value is an ES6 Symbol or not.", "main": "index.js", "scripts": { - "prepublish": "safe-publish-latest", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", "pretest": "npm run lint", - "tests-only": "node --es-staging --harmony test", + "tests-only": "nyc tape 'test/**/*.js'", "test": "npm run tests-only", - "posttest": "npx aud", - "coverage": "covert test", + "posttest": "npx aud --production", "lint": "eslint .", "version": "auto-changelog && git add CHANGELOG.md", "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" @@ -33,17 +33,17 @@ "url": "https://github.com/inspect-js/is-symbol/issues" }, "dependencies": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" }, "devDependencies": { - "@ljharb/eslint-config": "^15.0.2", - "auto-changelog": "^1.16.2", - "covert": "^1.1.1", - "eslint": "^6.6.0", - "object-inspect": "^1.7.0", + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "eslint": "^7.26.0", + "nyc": "^10.3.2", + "object-inspect": "^1.10.3", "safe-publish-latest": "^1.1.4", - "semver": "^6.3.0", - "tape": "^4.11.0" + "tape": "^5.2.2" }, "testling": { "files": "test/index.js", @@ -71,6 +71,7 @@ "template": "keepachangelog", "unreleased": false, "commitLimit": false, - "backfillLimit": false + "backfillLimit": false, + "hideCredit": true } } \ No newline at end of file diff --git a/node_modules/lodash.truncate/LICENSE b/node_modules/lodash.truncate/LICENSE new file mode 100644 index 000000000..e0c69d560 --- /dev/null +++ b/node_modules/lodash.truncate/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/node_modules/lodash.truncate/README.md b/node_modules/lodash.truncate/README.md new file mode 100644 index 000000000..a2936e9af --- /dev/null +++ b/node_modules/lodash.truncate/README.md @@ -0,0 +1,18 @@ +# lodash.truncate v4.4.2 + +The [lodash](https://lodash.com/) method `_.truncate` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.truncate +``` + +In Node.js: +```js +var truncate = require('lodash.truncate'); +``` + +See the [documentation](https://lodash.com/docs#truncate) or [package source](https://github.com/lodash/lodash/blob/4.4.2-npm-packages/lodash.truncate) for more details. diff --git a/node_modules/lodash.truncate/index.js b/node_modules/lodash.truncate/index.js new file mode 100644 index 000000000..4f5449ecc --- /dev/null +++ b/node_modules/lodash.truncate/index.js @@ -0,0 +1,632 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as default options for `_.truncate`. */ +var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var regexpTag = '[object RegExp]', + symbolTag = '[object Symbol]'; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23', + rsComboSymbolsRange = '\\u20d0-\\u20f0', + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = baseProperty('length'); + +/** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function asciiToArray(string) { + return string.split(''); +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); +} + +/** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); +} + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + result++; + } + return result; +} + +/** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function unicodeToArray(string) { + return string.match(reUnicode) || []; +} + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var Symbol = root.Symbol; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ +function baseIsRegExp(value) { + return isObject(value) && objectToString.call(value) == regexpTag; +} + +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ +function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ +var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Truncates `string` if it's longer than the given maximum string length. + * The last characters of the truncated string are replaced with the omission + * string which defaults to "...". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to truncate. + * @param {Object} [options={}] The options object. + * @param {number} [options.length=30] The maximum string length. + * @param {string} [options.omission='...'] The string to indicate text is omitted. + * @param {RegExp|string} [options.separator] The separator pattern to truncate to. + * @returns {string} Returns the truncated string. + * @example + * + * _.truncate('hi-diddly-ho there, neighborino'); + * // => 'hi-diddly-ho there, neighbo...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': ' ' + * }); + * // => 'hi-diddly-ho there,...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': /,? +/ + * }); + * // => 'hi-diddly-ho there...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'omission': ' [...]' + * }); + * // => 'hi-diddly-ho there, neig [...]' + */ +function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, + omission = DEFAULT_TRUNC_OMISSION; + + if (isObject(options)) { + var separator = 'separator' in options ? options.separator : separator; + length = 'length' in options ? toInteger(options.length) : length; + omission = 'omission' in options ? baseToString(options.omission) : omission; + } + string = toString(string); + + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result = strSymbols + ? castSlice(strSymbols, 0, end).join('') + : string.slice(0, end); + + if (separator === undefined) { + return result + omission; + } + if (strSymbols) { + end += (result.length - end); + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, + substring = result; + + if (!separator.global) { + separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); + } + separator.lastIndex = 0; + while ((match = separator.exec(substring))) { + var newEnd = match.index; + } + result = result.slice(0, newEnd === undefined ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result.lastIndexOf(separator); + if (index > -1) { + result = result.slice(0, index); + } + } + return result + omission; +} + +module.exports = truncate; diff --git a/node_modules/lodash.truncate/package.json b/node_modules/lodash.truncate/package.json new file mode 100644 index 000000000..fc90c66c3 --- /dev/null +++ b/node_modules/lodash.truncate/package.json @@ -0,0 +1,19 @@ +{ + "name": "lodash.truncate", + "version": "4.4.2", + "description": "The lodash method `_.truncate` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, truncate", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" + } +} \ No newline at end of file diff --git a/node_modules/flat-cache/node_modules/rimraf/LICENSE b/node_modules/lru-cache/LICENSE similarity index 100% rename from node_modules/flat-cache/node_modules/rimraf/LICENSE rename to node_modules/lru-cache/LICENSE diff --git a/node_modules/lru-cache/README.md b/node_modules/lru-cache/README.md new file mode 100644 index 000000000..435dfebb7 --- /dev/null +++ b/node_modules/lru-cache/README.md @@ -0,0 +1,166 @@ +# lru cache + +A cache object that deletes the least-recently-used items. + +[![Build Status](https://travis-ci.org/isaacs/node-lru-cache.svg?branch=master)](https://travis-ci.org/isaacs/node-lru-cache) [![Coverage Status](https://coveralls.io/repos/isaacs/node-lru-cache/badge.svg?service=github)](https://coveralls.io/github/isaacs/node-lru-cache) + +## Installation: + +```javascript +npm install lru-cache --save +``` + +## Usage: + +```javascript +var LRU = require("lru-cache") + , options = { max: 500 + , length: function (n, key) { return n * 2 + key.length } + , dispose: function (key, n) { n.close() } + , maxAge: 1000 * 60 * 60 } + , cache = new LRU(options) + , otherCache = new LRU(50) // sets just the max size + +cache.set("key", "value") +cache.get("key") // "value" + +// non-string keys ARE fully supported +// but note that it must be THE SAME object, not +// just a JSON-equivalent object. +var someObject = { a: 1 } +cache.set(someObject, 'a value') +// Object keys are not toString()-ed +cache.set('[object Object]', 'a different value') +assert.equal(cache.get(someObject), 'a value') +// A similar object with same keys/values won't work, +// because it's a different object identity +assert.equal(cache.get({ a: 1 }), undefined) + +cache.reset() // empty the cache +``` + +If you put more stuff in it, then items will fall out. + +If you try to put an oversized thing in it, then it'll fall out right +away. + +## Options + +* `max` The maximum size of the cache, checked by applying the length + function to all values in the cache. Not setting this is kind of + silly, since that's the whole purpose of this lib, but it defaults + to `Infinity`. Setting it to a non-number or negative number will + throw a `TypeError`. Setting it to 0 makes it be `Infinity`. +* `maxAge` Maximum age in ms. Items are not pro-actively pruned out + as they age, but if you try to get an item that is too old, it'll + drop it and return undefined instead of giving it to you. + Setting this to a negative value will make everything seem old! + Setting it to a non-number will throw a `TypeError`. +* `length` Function that is used to calculate the length of stored + items. If you're storing strings or buffers, then you probably want + to do something like `function(n, key){return n.length}`. The default is + `function(){return 1}`, which is fine if you want to store `max` + like-sized things. The item is passed as the first argument, and + the key is passed as the second argumnet. +* `dispose` Function that is called on items when they are dropped + from the cache. This can be handy if you want to close file + descriptors or do other cleanup tasks when items are no longer + accessible. Called with `key, value`. It's called *before* + actually removing the item from the internal cache, so if you want + to immediately put it back in, you'll have to do that in a + `nextTick` or `setTimeout` callback or it won't do anything. +* `stale` By default, if you set a `maxAge`, it'll only actually pull + stale items out of the cache when you `get(key)`. (That is, it's + not pre-emptively doing a `setTimeout` or anything.) If you set + `stale:true`, it'll return the stale value before deleting it. If + you don't set this, then it'll return `undefined` when you try to + get a stale entry, as if it had already been deleted. +* `noDisposeOnSet` By default, if you set a `dispose()` method, then + it'll be called whenever a `set()` operation overwrites an existing + key. If you set this option, `dispose()` will only be called when a + key falls out of the cache, not when it is overwritten. +* `updateAgeOnGet` When using time-expiring entries with `maxAge`, + setting this to `true` will make each item's effective time update + to the current time whenever it is retrieved from cache, causing it + to not expire. (It can still fall out of cache based on recency of + use, of course.) + +## API + +* `set(key, value, maxAge)` +* `get(key) => value` + + Both of these will update the "recently used"-ness of the key. + They do what you think. `maxAge` is optional and overrides the + cache `maxAge` option if provided. + + If the key is not found, `get()` will return `undefined`. + + The key and val can be any value. + +* `peek(key)` + + Returns the key value (or `undefined` if not found) without + updating the "recently used"-ness of the key. + + (If you find yourself using this a lot, you *might* be using the + wrong sort of data structure, but there are some use cases where + it's handy.) + +* `del(key)` + + Deletes a key out of the cache. + +* `reset()` + + Clear the cache entirely, throwing away all values. + +* `has(key)` + + Check if a key is in the cache, without updating the recent-ness + or deleting it for being stale. + +* `forEach(function(value,key,cache), [thisp])` + + Just like `Array.prototype.forEach`. Iterates over all the keys + in the cache, in order of recent-ness. (Ie, more recently used + items are iterated over first.) + +* `rforEach(function(value,key,cache), [thisp])` + + The same as `cache.forEach(...)` but items are iterated over in + reverse order. (ie, less recently used items are iterated over + first.) + +* `keys()` + + Return an array of the keys in the cache. + +* `values()` + + Return an array of the values in the cache. + +* `length` + + Return total length of objects in cache taking into account + `length` options function. + +* `itemCount` + + Return total quantity of objects currently in cache. Note, that + `stale` (see options) items are returned as part of this item + count. + +* `dump()` + + Return an array of the cache entries ready for serialization and usage + with 'destinationCache.load(arr)`. + +* `load(cacheEntriesArray)` + + Loads another cache entries array, obtained with `sourceCache.dump()`, + into the cache. The destination cache is reset before loading new entries + +* `prune()` + + Manually iterates over the entire cache proactively pruning old entries diff --git a/node_modules/lru-cache/index.js b/node_modules/lru-cache/index.js new file mode 100644 index 000000000..573b6b85b --- /dev/null +++ b/node_modules/lru-cache/index.js @@ -0,0 +1,334 @@ +'use strict' + +// A linked list to keep track of recently-used-ness +const Yallist = require('yallist') + +const MAX = Symbol('max') +const LENGTH = Symbol('length') +const LENGTH_CALCULATOR = Symbol('lengthCalculator') +const ALLOW_STALE = Symbol('allowStale') +const MAX_AGE = Symbol('maxAge') +const DISPOSE = Symbol('dispose') +const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet') +const LRU_LIST = Symbol('lruList') +const CACHE = Symbol('cache') +const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet') + +const naiveLength = () => 1 + +// lruList is a yallist where the head is the youngest +// item, and the tail is the oldest. the list contains the Hit +// objects as the entries. +// Each Hit object has a reference to its Yallist.Node. This +// never changes. +// +// cache is a Map (or PseudoMap) that matches the keys to +// the Yallist.Node object. +class LRUCache { + constructor (options) { + if (typeof options === 'number') + options = { max: options } + + if (!options) + options = {} + + if (options.max && (typeof options.max !== 'number' || options.max < 0)) + throw new TypeError('max must be a non-negative number') + // Kind of weird to have a default max of Infinity, but oh well. + const max = this[MAX] = options.max || Infinity + + const lc = options.length || naiveLength + this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc + this[ALLOW_STALE] = options.stale || false + if (options.maxAge && typeof options.maxAge !== 'number') + throw new TypeError('maxAge must be a number') + this[MAX_AGE] = options.maxAge || 0 + this[DISPOSE] = options.dispose + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false + this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false + this.reset() + } + + // resize the cache when the max changes. + set max (mL) { + if (typeof mL !== 'number' || mL < 0) + throw new TypeError('max must be a non-negative number') + + this[MAX] = mL || Infinity + trim(this) + } + get max () { + return this[MAX] + } + + set allowStale (allowStale) { + this[ALLOW_STALE] = !!allowStale + } + get allowStale () { + return this[ALLOW_STALE] + } + + set maxAge (mA) { + if (typeof mA !== 'number') + throw new TypeError('maxAge must be a non-negative number') + + this[MAX_AGE] = mA + trim(this) + } + get maxAge () { + return this[MAX_AGE] + } + + // resize the cache when the lengthCalculator changes. + set lengthCalculator (lC) { + if (typeof lC !== 'function') + lC = naiveLength + + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC + this[LENGTH] = 0 + this[LRU_LIST].forEach(hit => { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key) + this[LENGTH] += hit.length + }) + } + trim(this) + } + get lengthCalculator () { return this[LENGTH_CALCULATOR] } + + get length () { return this[LENGTH] } + get itemCount () { return this[LRU_LIST].length } + + rforEach (fn, thisp) { + thisp = thisp || this + for (let walker = this[LRU_LIST].tail; walker !== null;) { + const prev = walker.prev + forEachStep(this, fn, walker, thisp) + walker = prev + } + } + + forEach (fn, thisp) { + thisp = thisp || this + for (let walker = this[LRU_LIST].head; walker !== null;) { + const next = walker.next + forEachStep(this, fn, walker, thisp) + walker = next + } + } + + keys () { + return this[LRU_LIST].toArray().map(k => k.key) + } + + values () { + return this[LRU_LIST].toArray().map(k => k.value) + } + + reset () { + if (this[DISPOSE] && + this[LRU_LIST] && + this[LRU_LIST].length) { + this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)) + } + + this[CACHE] = new Map() // hash of items by key + this[LRU_LIST] = new Yallist() // list of items in order of use recency + this[LENGTH] = 0 // length of items in the list + } + + dump () { + return this[LRU_LIST].map(hit => + isStale(this, hit) ? false : { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + }).toArray().filter(h => h) + } + + dumpLru () { + return this[LRU_LIST] + } + + set (key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE] + + if (maxAge && typeof maxAge !== 'number') + throw new TypeError('maxAge must be a number') + + const now = maxAge ? Date.now() : 0 + const len = this[LENGTH_CALCULATOR](value, key) + + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)) + return false + } + + const node = this[CACHE].get(key) + const item = node.value + + // dispose of the old one before overwriting + // split out into 2 ifs for better coverage tracking + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) + this[DISPOSE](key, item.value) + } + + item.now = now + item.maxAge = maxAge + item.value = value + this[LENGTH] += len - item.length + item.length = len + this.get(key) + trim(this) + return true + } + + const hit = new Entry(key, value, len, now, maxAge) + + // oversized objects fall out of cache automatically. + if (hit.length > this[MAX]) { + if (this[DISPOSE]) + this[DISPOSE](key, value) + + return false + } + + this[LENGTH] += hit.length + this[LRU_LIST].unshift(hit) + this[CACHE].set(key, this[LRU_LIST].head) + trim(this) + return true + } + + has (key) { + if (!this[CACHE].has(key)) return false + const hit = this[CACHE].get(key).value + return !isStale(this, hit) + } + + get (key) { + return get(this, key, true) + } + + peek (key) { + return get(this, key, false) + } + + pop () { + const node = this[LRU_LIST].tail + if (!node) + return null + + del(this, node) + return node.value + } + + del (key) { + del(this, this[CACHE].get(key)) + } + + load (arr) { + // reset the cache + this.reset() + + const now = Date.now() + // A previous serialized cache has the most recent items first + for (let l = arr.length - 1; l >= 0; l--) { + const hit = arr[l] + const expiresAt = hit.e || 0 + if (expiresAt === 0) + // the item was created without expiration in a non aged cache + this.set(hit.k, hit.v) + else { + const maxAge = expiresAt - now + // dont add already expired items + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge) + } + } + } + } + + prune () { + this[CACHE].forEach((value, key) => get(this, key, false)) + } +} + +const get = (self, key, doUse) => { + const node = self[CACHE].get(key) + if (node) { + const hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) + return undefined + } else { + if (doUse) { + if (self[UPDATE_AGE_ON_GET]) + node.value.now = Date.now() + self[LRU_LIST].unshiftNode(node) + } + } + return hit.value + } +} + +const isStale = (self, hit) => { + if (!hit || (!hit.maxAge && !self[MAX_AGE])) + return false + + const diff = Date.now() - hit.now + return hit.maxAge ? diff > hit.maxAge + : self[MAX_AGE] && (diff > self[MAX_AGE]) +} + +const trim = self => { + if (self[LENGTH] > self[MAX]) { + for (let walker = self[LRU_LIST].tail; + self[LENGTH] > self[MAX] && walker !== null;) { + // We know that we're about to delete this one, and also + // what the next least recently used key will be, so just + // go ahead and set it now. + const prev = walker.prev + del(self, walker) + walker = prev + } + } +} + +const del = (self, node) => { + if (node) { + const hit = node.value + if (self[DISPOSE]) + self[DISPOSE](hit.key, hit.value) + + self[LENGTH] -= hit.length + self[CACHE].delete(hit.key) + self[LRU_LIST].removeNode(node) + } +} + +class Entry { + constructor (key, value, length, now, maxAge) { + this.key = key + this.value = value + this.length = length + this.now = now + this.maxAge = maxAge || 0 + } +} + +const forEachStep = (self, fn, node, thisp) => { + let hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) + hit = undefined + } + if (hit) + fn.call(thisp, hit.value, hit.key, self) +} + +module.exports = LRUCache diff --git a/node_modules/lru-cache/package.json b/node_modules/lru-cache/package.json new file mode 100644 index 000000000..717e19bf3 --- /dev/null +++ b/node_modules/lru-cache/package.json @@ -0,0 +1,34 @@ +{ + "name": "lru-cache", + "description": "A cache object that deletes the least-recently-used items.", + "version": "6.0.0", + "author": "Isaac Z. Schlueter ", + "keywords": [ + "mru", + "lru", + "cache" + ], + "scripts": { + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" + }, + "main": "index.js", + "repository": "git://github.com/isaacs/node-lru-cache.git", + "devDependencies": { + "benchmark": "^2.1.4", + "tap": "^14.10.7" + }, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "files": [ + "index.js" + ], + "engines": { + "node": ">=10" + } +} \ No newline at end of file diff --git a/node_modules/mkdirp/LICENSE b/node_modules/mkdirp/LICENSE deleted file mode 100644 index 432d1aeb0..000000000 --- a/node_modules/mkdirp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/mkdirp/bin/cmd.js b/node_modules/mkdirp/bin/cmd.js deleted file mode 100755 index d95de15ae..000000000 --- a/node_modules/mkdirp/bin/cmd.js +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node - -var mkdirp = require('../'); -var minimist = require('minimist'); -var fs = require('fs'); - -var argv = minimist(process.argv.slice(2), { - alias: { m: 'mode', h: 'help' }, - string: [ 'mode' ] -}); -if (argv.help) { - fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout); - return; -} - -var paths = argv._.slice(); -var mode = argv.mode ? parseInt(argv.mode, 8) : undefined; - -(function next () { - if (paths.length === 0) return; - var p = paths.shift(); - - if (mode === undefined) mkdirp(p, cb) - else mkdirp(p, mode, cb) - - function cb (err) { - if (err) { - console.error(err.message); - process.exit(1); - } - else next(); - } -})(); diff --git a/node_modules/mkdirp/bin/usage.txt b/node_modules/mkdirp/bin/usage.txt deleted file mode 100644 index f952aa2c7..000000000 --- a/node_modules/mkdirp/bin/usage.txt +++ /dev/null @@ -1,12 +0,0 @@ -usage: mkdirp [DIR1,DIR2..] {OPTIONS} - - Create each supplied directory including any necessary parent directories that - don't yet exist. - - If the directory already exists, do nothing. - -OPTIONS are: - - -m, --mode If a directory needs to be created, set the mode as an octal - permission string. - diff --git a/node_modules/mkdirp/index.js b/node_modules/mkdirp/index.js deleted file mode 100644 index 2f1287071..000000000 --- a/node_modules/mkdirp/index.js +++ /dev/null @@ -1,99 +0,0 @@ -var path = require('path'); -var fs = require('fs'); -var _0777 = parseInt('0777', 8); - -module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; - -function mkdirP (p, opts, f, made) { - if (typeof opts === 'function') { - f = opts; - opts = {}; - } - else if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); - } - if (!made) made = null; - - var cb = f || function () {}; - p = path.resolve(p); - - xfs.mkdir(p, mode, function (er) { - if (!er) { - made = made || p; - return cb(null, made); - } - switch (er.code) { - case 'ENOENT': - if (path.dirname(p) === p) return cb(er); - mkdirP(path.dirname(p), opts, function (er, made) { - if (er) cb(er, made); - else mkdirP(p, opts, cb, made); - }); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - xfs.stat(p, function (er2, stat) { - // if the stat fails, then that's super weird. - // let the original error be the failure reason. - if (er2 || !stat.isDirectory()) cb(er, made) - else cb(null, made); - }); - break; - } - }); -} - -mkdirP.sync = function sync (p, opts, made) { - if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); - } - if (!made) made = null; - - p = path.resolve(p); - - try { - xfs.mkdirSync(p, mode); - made = made || p; - } - catch (err0) { - switch (err0.code) { - case 'ENOENT' : - made = sync(path.dirname(p), opts, made); - sync(p, opts, made); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - var stat; - try { - stat = xfs.statSync(p); - } - catch (err1) { - throw err0; - } - if (!stat.isDirectory()) throw err0; - break; - } - } - - return made; -}; diff --git a/node_modules/mkdirp/package.json b/node_modules/mkdirp/package.json deleted file mode 100644 index b335f1ae0..000000000 --- a/node_modules/mkdirp/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "mkdirp", - "description": "Recursively mkdir, like `mkdir -p`", - "version": "0.5.4", - "publishConfig": { - "tag": "legacy" - }, - "author": "James Halliday (http://substack.net)", - "main": "index.js", - "keywords": [ - "mkdir", - "directory" - ], - "repository": { - "type": "git", - "url": "https://github.com/substack/node-mkdirp.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "dependencies": { - "minimist": "^1.2.5" - }, - "devDependencies": { - "mock-fs": "^3.7.0", - "tap": "^5.4.2" - }, - "bin": "bin/cmd.js", - "license": "MIT", - "files": [ - "bin", - "index.js" - ] -} \ No newline at end of file diff --git a/node_modules/mkdirp/readme.markdown b/node_modules/mkdirp/readme.markdown deleted file mode 100644 index 3cc131538..000000000 --- a/node_modules/mkdirp/readme.markdown +++ /dev/null @@ -1,100 +0,0 @@ -# mkdirp - -Like `mkdir -p`, but in node.js! - -[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp) - -# example - -## pow.js - -```js -var mkdirp = require('mkdirp'); - -mkdirp('/tmp/foo/bar/baz', function (err) { - if (err) console.error(err) - else console.log('pow!') -}); -``` - -Output - -``` -pow! -``` - -And now /tmp/foo/bar/baz exists, huzzah! - -# methods - -```js -var mkdirp = require('mkdirp'); -``` - -## mkdirp(dir, opts, cb) - -Create a new directory and any necessary subdirectories at `dir` with octal -permission string `opts.mode`. If `opts` is a non-object, it will be treated as -the `opts.mode`. - -If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`. - -`cb(err, made)` fires with the error or the first directory `made` -that had to be created, if any. - -You can optionally pass in an alternate `fs` implementation by passing in -`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and -`opts.fs.stat(path, cb)`. - -## mkdirp.sync(dir, opts) - -Synchronously create a new directory and any necessary subdirectories at `dir` -with octal permission string `opts.mode`. If `opts` is a non-object, it will be -treated as the `opts.mode`. - -If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`. - -Returns the first directory that had to be created, if any. - -You can optionally pass in an alternate `fs` implementation by passing in -`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and -`opts.fs.statSync(path)`. - -# usage - -This package also ships with a `mkdirp` command. - -``` -usage: mkdirp [DIR1,DIR2..] {OPTIONS} - - Create each supplied directory including any necessary parent directories that - don't yet exist. - - If the directory already exists, do nothing. - -OPTIONS are: - - -m, --mode If a directory needs to be created, set the mode as an octal - permission string. - -``` - -# install - -With [npm](http://npmjs.org) do: - -``` -npm install mkdirp -``` - -to get the library, or - -``` -npm install -g mkdirp -``` - -to get the command. - -# license - -MIT diff --git a/node_modules/object-inspect/.eslintrc b/node_modules/object-inspect/.eslintrc index 6ba656ac8..8a2d30ecf 100644 --- a/node_modules/object-inspect/.eslintrc +++ b/node_modules/object-inspect/.eslintrc @@ -8,7 +8,7 @@ "max-lines": 1, "max-lines-per-function": 1, "max-params": [2, 4], - "max-statements": [2, 100], + "max-statements": 0, "max-statements-per-line": [2, { "max": 2 }], "no-magic-numbers": 0, "no-param-reassign": 1, diff --git a/node_modules/object-inspect/.github/FUNDING.yml b/node_modules/object-inspect/.github/FUNDING.yml new file mode 100644 index 000000000..730276bd1 --- /dev/null +++ b/node_modules/object-inspect/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/object-inspect +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/object-inspect/.github/workflows/rebase.yml b/node_modules/object-inspect/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/object-inspect/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/object-inspect/.nycrc b/node_modules/object-inspect/.nycrc index 84c1894c6..58a5db783 100644 --- a/node_modules/object-inspect/.nycrc +++ b/node_modules/object-inspect/.nycrc @@ -4,10 +4,6 @@ "instrumentation": false, "sourceMap": false, "reporter": ["text-summary", "text", "html", "json"], - "lines": 93, - "statements": 93, - "functions": 96, - "branches": 89, "exclude": [ "coverage", "example", diff --git a/node_modules/object-inspect/.travis.yml b/node_modules/object-inspect/.travis.yml deleted file mode 100644 index 79ccccc63..000000000 --- a/node_modules/object-inspect/.travis.yml +++ /dev/null @@ -1,53 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml -script: - - 'if [ -n "${COVERAGE-}" ]; then npm run coverage && bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi' -matrix: - include: - - node_js: "13.7" - env: COVERAGE=true - - node_js: "12.14" - env: COVERAGE=true - - node_js: "10.18" - env: COVERAGE=true - - node_js: "8.17" - env: COVERAGE=true - - node_js: "6.17" - env: COVERAGE=true - - node_js: "4.9" - env: COVERAGE=true - - node_js: "iojs-v1.8" - env: COVERAGE=true - - node_js: "0.12" - env: COVERAGE=true - - node_js: "0.10" - env: COVERAGE=true - - node_js: "0.8" - env: COVERAGE=true - exclude: - - node_js: "13.7" - env: TEST=true - - node_js: "12.14" - env: TEST=true - - node_js: "10.18" - env: TEST=true - - node_js: "8.17" - env: TEST=true - - node_js: "6.17" - env: TEST=true - - node_js: "4.9" - env: TEST=true - - node_js: "iojs-v1.8" - env: TEST=true - - node_js: "0.12" - env: TEST=true - - node_js: "0.10" - env: TEST=true - - node_js: "0.8" - env: TEST=true diff --git a/node_modules/object-inspect/index.js b/node_modules/object-inspect/index.js index 61176bb7f..3af7e562b 100644 --- a/node_modules/object-inspect/index.js +++ b/node_modules/object-inspect/index.js @@ -10,14 +10,29 @@ var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype; var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype; var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; +var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype; +var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; var booleanValueOf = Boolean.prototype.valueOf; var objectToString = Object.prototype.toString; var functionToString = Function.prototype.toString; var match = String.prototype.match; var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null; +var gOPS = Object.getOwnPropertySymbols; +var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null; +var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object'; +var isEnumerable = Object.prototype.propertyIsEnumerable; + +var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ( + [].__proto__ === Array.prototype // eslint-disable-line no-proto + ? function (O) { + return O.__proto__; // eslint-disable-line no-proto + } + : null +); var inspectCustom = require('./util.inspect').custom; var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null; +var toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag !== 'undefined' ? Symbol.toStringTag : null; module.exports = function inspect_(obj, options, depth, seen) { var opts = options || {}; @@ -34,8 +49,8 @@ module.exports = function inspect_(obj, options, depth, seen) { throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); } var customInspect = has(opts, 'customInspect') ? opts.customInspect : true; - if (typeof customInspect !== 'boolean') { - throw new TypeError('option "customInspect", if provided, must be `true` or `false`'); + if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') { + throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`'); } if ( @@ -66,7 +81,7 @@ module.exports = function inspect_(obj, options, depth, seen) { } return String(obj); } - if (typeof obj === 'bigint') { // eslint-disable-line valid-typeof + if (typeof obj === 'bigint') { return String(obj) + 'n'; } @@ -103,11 +118,12 @@ module.exports = function inspect_(obj, options, depth, seen) { if (typeof obj === 'function') { var name = nameOf(obj); - return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']'; + var keys = arrObjKeys(obj, inspect); + return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + keys.join(', ') + ' }' : ''); } if (isSymbol(obj)) { - var symString = Symbol.prototype.toString.call(obj); - return typeof obj === 'object' ? markBoxed(symString) : symString; + var symString = hasShammedSymbols ? String(obj).replace(/^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj); + return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString; } if (isElement(obj)) { var s = '<' + String(obj.nodeName).toLowerCase(); @@ -136,7 +152,7 @@ module.exports = function inspect_(obj, options, depth, seen) { if (typeof obj === 'object' && customInspect) { if (inspectSymbol && typeof obj[inspectSymbol] === 'function') { return obj[inspectSymbol](); - } else if (typeof obj.inspect === 'function') { + } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') { return obj.inspect(); } } @@ -160,6 +176,9 @@ module.exports = function inspect_(obj, options, depth, seen) { if (isWeakSet(obj)) { return weakCollectionOf('WeakSet'); } + if (isWeakRef(obj)) { + return weakCollectionOf('WeakRef'); + } if (isNumber(obj)) { return markBoxed(inspect(Number(obj))); } @@ -174,11 +193,16 @@ module.exports = function inspect_(obj, options, depth, seen) { } if (!isDate(obj) && !isRegExp(obj)) { var ys = arrObjKeys(obj, inspect); - if (ys.length === 0) { return '{}'; } + var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? '' : 'null prototype'; + var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? toStr(obj).slice(8, -1) : protoTag ? 'Object' : ''; + var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : ''; + var tag = constructorTag + (stringTag || protoTag ? '[' + [].concat(stringTag || [], protoTag || []).join(': ') + '] ' : ''); + if (ys.length === 0) { return tag + '{}'; } if (indent) { - return '{' + indentedJoin(ys, indent) + '}'; + return tag + '{' + indentedJoin(ys, indent) + '}'; } - return '{ ' + ys.join(', ') + ' }'; + return tag + '{ ' + ys.join(', ') + ' }'; } return String(obj); }; @@ -192,15 +216,42 @@ function quote(s) { return String(s).replace(/"/g, '"'); } -function isArray(obj) { return toStr(obj) === '[object Array]'; } -function isDate(obj) { return toStr(obj) === '[object Date]'; } -function isRegExp(obj) { return toStr(obj) === '[object RegExp]'; } -function isError(obj) { return toStr(obj) === '[object Error]'; } -function isSymbol(obj) { return toStr(obj) === '[object Symbol]'; } -function isString(obj) { return toStr(obj) === '[object String]'; } -function isNumber(obj) { return toStr(obj) === '[object Number]'; } -function isBigInt(obj) { return toStr(obj) === '[object BigInt]'; } -function isBoolean(obj) { return toStr(obj) === '[object Boolean]'; } +function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } + +// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives +function isSymbol(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === 'object' && obj instanceof Symbol; + } + if (typeof obj === 'symbol') { + return true; + } + if (!obj || typeof obj !== 'object' || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) {} + return false; +} + +function isBigInt(obj) { + if (!obj || typeof obj !== 'object' || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) {} + return false; +} var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; }; function has(obj, key) { @@ -258,6 +309,17 @@ function isWeakMap(x) { return false; } +function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== 'object') { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) {} + return false; +} + function isSet(x) { if (!setSize || !x || typeof x !== 'object') { return false; @@ -312,10 +374,14 @@ function inspectString(str, opts) { function lowbyte(c) { var n = c.charCodeAt(0); var x = { - 8: 'b', 9: 't', 10: 'n', 12: 'f', 13: 'r' + 8: 'b', + 9: 't', + 10: 'n', + 12: 'f', + 13: 'r' }[n]; if (x) { return '\\' + x; } - return '\\x' + (n < 0x10 ? '0' : '') + n.toString(16); + return '\\x' + (n < 0x10 ? '0' : '') + n.toString(16).toUpperCase(); } function markBoxed(str) { @@ -370,14 +436,33 @@ function arrObjKeys(obj, inspect) { xs[i] = has(obj, i) ? inspect(obj[i], obj) : ''; } } + var syms = typeof gOPS === 'function' ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap['$' + syms[k]] = syms[k]; + } + } + for (var key in obj) { // eslint-disable-line no-restricted-syntax if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue - if ((/[^\w$]/).test(key)) { + if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) { + // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section + continue; // eslint-disable-line no-restricted-syntax, no-continue + } else if ((/[^\w$]/).test(key)) { xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj)); } else { xs.push(key + ': ' + inspect(obj[key], obj)); } } + if (typeof gOPS === 'function') { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj)); + } + } + } return xs; } diff --git a/node_modules/object-inspect/package.json b/node_modules/object-inspect/package.json index cabd07a0e..e663f718e 100644 --- a/node_modules/object-inspect/package.json +++ b/node_modules/object-inspect/package.json @@ -1,28 +1,30 @@ { "name": "object-inspect", - "version": "1.8.0", + "version": "1.11.0", "description": "string representations of objects in node and the browser", "main": "index.js", "devDependencies": { - "@ljharb/eslint-config": "^17.1.0", - "aud": "^1.1.2", - "core-js": "^2.6.11", - "eslint": "^7.1.0", + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "core-js": "^2.6.12", + "eslint": "^7.30.0", "for-each": "^0.3.3", + "functions-have-names": "^1.2.2", + "make-arrow-function": "^1.2.0", "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", "string.prototype.repeat": "^1.0.0", - "tape": "^5.0.1" + "tape": "^5.2.2" }, "scripts": { - "prepublish": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", "pretest": "npm run lint", "lint": "eslint .", - "test": "npm run tests-only", - "pretests-only": "node test-core-js", - "tests-only": "tape test/*.js", - "posttest": "npx aud --production", - "coverage": "nyc npm run tests-only" + "test": "npm run tests-only && npm run test:corejs", + "tests-only": "nyc tape 'test/*.js'", + "test:corejs": "nyc tape test-core-js.js 'test/*.js'", + "posttest": "npx aud --production" }, "testling": { "files": [ diff --git a/node_modules/object-inspect/readme.markdown b/node_modules/object-inspect/readme.markdown index 61ec8e05d..4cbe08dff 100644 --- a/node_modules/object-inspect/readme.markdown +++ b/node_modules/object-inspect/readme.markdown @@ -1,8 +1,15 @@ -# object-inspect +# object-inspect [![Version Badge][2]][1] string representations of objects in node and the browser -[![build status](https://secure.travis-ci.com/inspect-js/object-inspect.png)](https://travis-ci.com/inspect-js/object-inspect) +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] # example @@ -46,7 +53,7 @@ Return a string `s` with the string representation of `obj` up to a depth of `op Additional options: - `quoteStyle`: must be "single" or "double", if present. Default `'single'` for strings, `'double'` for HTML elements. - `maxStringLength`: must be `0`, a positive integer, `Infinity`, or `null`, if present. Default `Infinity`. - - `customInspect`: When `true`, a custom inspect method function will be invoked. Default `true`. + - `customInspect`: When `true`, a custom inspect method function will be invoked (either undere the `util.inspect.custom` symbol, or the `inspect` property). When the string `'symbol'`, only the symbol method will be invoked. Default `true`. - `indent`: must be "\t", `null`, or a positive integer. Default `null`. # install @@ -60,3 +67,19 @@ npm install object-inspect # license MIT + +[1]: https://npmjs.org/package/object-inspect +[2]: https://versionbadg.es/inspect-js/object-inspect.svg +[5]: https://david-dm.org/inspect-js/object-inspect.svg +[6]: https://david-dm.org/inspect-js/object-inspect +[7]: https://david-dm.org/inspect-js/object-inspect/dev-status.svg +[8]: https://david-dm.org/inspect-js/object-inspect#info=devDependencies +[11]: https://nodei.co/npm/object-inspect.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/object-inspect.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/object-inspect.svg +[downloads-url]: https://npm-stat.com/charts.html?package=object-inspect +[codecov-image]: https://codecov.io/gh/inspect-js/object-inspect/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/object-inspect/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/object-inspect +[actions-url]: https://github.com/inspect-js/object-inspect/actions diff --git a/node_modules/object-inspect/test/bigint.js b/node_modules/object-inspect/test/bigint.js index 325914345..905643569 100644 --- a/node_modules/object-inspect/test/bigint.js +++ b/node_modules/object-inspect/test/bigint.js @@ -1,5 +1,8 @@ +'use strict'; + var inspect = require('../'); var test = require('tape'); +var hasSymbols = require('has-symbols/shams')(); test('bigint', { skip: typeof BigInt === 'undefined' }, function (t) { t.test('primitives', function (st) { @@ -27,5 +30,17 @@ test('bigint', { skip: typeof BigInt === 'undefined' }, function (t) { st.equal(inspect(Function('return 256n')()), '256n'); }); + t.test('toStringTag', { skip: !hasSymbols || typeof Symbol.toStringTag === 'undefined' }, function (st) { + st.plan(1); + + var faker = {}; + faker[Symbol.toStringTag] = 'BigInt'; + st.equal( + inspect(faker), + '{ [Symbol(Symbol.toStringTag)]: \'BigInt\' }', + 'object lying about being a BigInt inspects as an object' + ); + }); + t.end(); }); diff --git a/node_modules/object-inspect/test/circular.js b/node_modules/object-inspect/test/circular.js index e864cfee9..5df4233cb 100644 --- a/node_modules/object-inspect/test/circular.js +++ b/node_modules/object-inspect/test/circular.js @@ -2,8 +2,15 @@ var inspect = require('../'); var test = require('tape'); test('circular', function (t) { - t.plan(1); + t.plan(2); var obj = { a: 1, b: [3, 4] }; obj.c = obj; t.equal(inspect(obj), '{ a: 1, b: [ 3, 4 ], c: [Circular] }'); + + var double = {}; + double.a = [double]; + double.b = {}; + double.b.inner = double.b; + double.b.obj = double; + t.equal(inspect(double), '{ a: [ [Circular] ], b: { inner: [Circular], obj: [Circular] } }'); }); diff --git a/node_modules/object-inspect/test/deep.js b/node_modules/object-inspect/test/deep.js index ff1c7eac0..99ce32a08 100644 --- a/node_modules/object-inspect/test/deep.js +++ b/node_modules/object-inspect/test/deep.js @@ -2,8 +2,11 @@ var inspect = require('../'); var test = require('tape'); test('deep', function (t) { - t.plan(2); + t.plan(4); var obj = [[[[[[500]]]]]]; t.equal(inspect(obj), '[ [ [ [ [ [Array] ] ] ] ] ]'); + t.equal(inspect(obj, { depth: 4 }), '[ [ [ [ [Array] ] ] ] ]'); t.equal(inspect(obj, { depth: 2 }), '[ [ [Array] ] ]'); + + t.equal(inspect([[[{ a: 1 }]]], { depth: 3 }), '[ [ [ [Object] ] ] ]'); }); diff --git a/node_modules/object-inspect/test/fakes.js b/node_modules/object-inspect/test/fakes.js new file mode 100644 index 000000000..17225e2eb --- /dev/null +++ b/node_modules/object-inspect/test/fakes.js @@ -0,0 +1,29 @@ +'use strict'; + +var inspect = require('../'); +var test = require('tape'); +var hasSymbols = require('has-symbols/shams')(); +var forEach = require('for-each'); + +test('fakes', { skip: !hasSymbols || typeof Symbol.toStringTag === 'undefined' }, function (t) { + forEach([ + 'Array', + 'Boolean', + 'Date', + 'Error', + 'Number', + 'RegExp', + 'String' + ], function (expected) { + var faker = {}; + faker[Symbol.toStringTag] = expected; + + t.equal( + inspect(faker), + '{ [Symbol(Symbol.toStringTag)]: \'' + expected + '\' }', + 'faker masquerading as ' + expected + ' is not shown as one' + ); + }); + + t.end(); +}); diff --git a/node_modules/object-inspect/test/fn.js b/node_modules/object-inspect/test/fn.js index c69ef8e04..de3ca625e 100644 --- a/node_modules/object-inspect/test/fn.js +++ b/node_modules/object-inspect/test/fn.js @@ -1,5 +1,7 @@ var inspect = require('../'); var test = require('tape'); +var arrow = require('make-arrow-function')(); +var functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames(); test('function', function (t) { t.plan(1); @@ -12,9 +14,9 @@ test('function name', function (t) { var f = (function () { return function () {}; }()); - f.toString = function () { return 'function xxx () {}'; }; + f.toString = function toStr() { return 'function xxx () {}'; }; var obj = [1, 2, f, 4]; - t.equal(inspect(obj), '[ 1, 2, [Function (anonymous)], 4 ]'); + t.equal(inspect(obj), '[ 1, 2, [Function (anonymous)] { toString: [Function: toStr] }, 4 ]'); }); test('anon function', function (t) { @@ -26,3 +28,49 @@ test('anon function', function (t) { t.end(); }); + +test('arrow function', { skip: !arrow }, function (t) { + t.equal(inspect(arrow), '[Function (anonymous)]'); + + t.end(); +}); + +test('truly nameless function', { skip: !arrow || !functionsHaveConfigurableNames }, function (t) { + function f() {} + Object.defineProperty(f, 'name', { value: false }); + t.equal(f.name, false); + t.equal( + inspect(f), + '[Function: f]', + 'named function with falsy `.name` does not hide its original name' + ); + + function g() {} + Object.defineProperty(g, 'name', { value: true }); + t.equal(g.name, true); + t.equal( + inspect(g), + '[Function: true]', + 'named function with truthy `.name` hides its original name' + ); + + var anon = function () {}; // eslint-disable-line func-style + Object.defineProperty(anon, 'name', { value: null }); + t.equal(anon.name, null); + t.equal( + inspect(anon), + '[Function (anonymous)]', + 'anon function with falsy `.name` does not hide its anonymity' + ); + + var anon2 = function () {}; // eslint-disable-line func-style + Object.defineProperty(anon2, 'name', { value: 1 }); + t.equal(anon2.name, 1); + t.equal( + inspect(anon2), + '[Function: 1]', + 'anon function with truthy `.name` hides its anonymity' + ); + + t.end(); +}); diff --git a/node_modules/object-inspect/test/inspect.js b/node_modules/object-inspect/test/inspect.js index 2277e4c95..bcf264ec1 100644 --- a/node_modules/object-inspect/test/inspect.js +++ b/node_modules/object-inspect/test/inspect.js @@ -1,35 +1,102 @@ var test = require('tape'); -var hasSymbols = require('has-symbols')(); +var hasSymbols = require('has-symbols/shams')(); var utilInspect = require('../util.inspect'); var repeat = require('string.prototype.repeat'); var inspect = require('..'); test('inspect', function (t) { - t.plan(3); + t.plan(5); + var obj = [{ inspect: function xyzInspect() { return '!XYZ¡'; } }, []]; - t.equal(inspect(obj), '[ !XYZ¡, [] ]'); - t.equal(inspect(obj, { customInspect: true }), '[ !XYZ¡, [] ]'); - t.equal(inspect(obj, { customInspect: false }), '[ { inspect: [Function: xyzInspect] }, [] ]'); + var stringResult = '[ !XYZ¡, [] ]'; + var falseResult = '[ { inspect: [Function: xyzInspect] }, [] ]'; + + t.equal(inspect(obj), stringResult); + t.equal(inspect(obj, { customInspect: true }), stringResult); + t.equal(inspect(obj, { customInspect: 'symbol' }), falseResult); + t.equal(inspect(obj, { customInspect: false }), falseResult); + t['throws']( + function () { inspect(obj, { customInspect: 'not a boolean or "symbol"' }); }, + TypeError, + '`customInspect` must be a boolean or the string "symbol"' + ); }); test('inspect custom symbol', { skip: !hasSymbols || !utilInspect || !utilInspect.custom }, function (t) { - t.plan(3); + t.plan(4); var obj = { inspect: function stringInspect() { return 'string'; } }; obj[utilInspect.custom] = function custom() { return 'symbol'; }; - t.equal(inspect([obj, []]), '[ ' + (utilInspect.custom ? 'symbol' : 'string') + ', [] ]'); - t.equal(inspect([obj, []], { customInspect: true }), '[ ' + (utilInspect.custom ? 'symbol' : 'string') + ', [] ]'); - t.equal(inspect([obj, []], { customInspect: false }), '[ { inspect: [Function: stringInspect] }, [] ]'); + var symbolResult = '[ symbol, [] ]'; + var stringResult = '[ string, [] ]'; + var falseResult = '[ { inspect: [Function: stringInspect]' + (utilInspect.custom ? ', [' + inspect(utilInspect.custom) + ']: [Function: custom]' : '') + ' }, [] ]'; + + var symbolStringFallback = utilInspect.custom ? symbolResult : stringResult; + var symbolFalseFallback = utilInspect.custom ? symbolResult : falseResult; + + t.equal(inspect([obj, []]), symbolStringFallback); + t.equal(inspect([obj, []], { customInspect: true }), symbolStringFallback); + t.equal(inspect([obj, []], { customInspect: 'symbol' }), symbolFalseFallback); + t.equal(inspect([obj, []], { customInspect: false }), falseResult); +}); + +test('symbols', { skip: !hasSymbols }, function (t) { + t.plan(2); + + var obj = { a: 1 }; + obj[Symbol('test')] = 2; + obj[Symbol.iterator] = 3; + Object.defineProperty(obj, Symbol('non-enum'), { + enumerable: false, + value: 4 + }); + + if (typeof Symbol.iterator === 'symbol') { + t.equal(inspect(obj), '{ a: 1, [Symbol(test)]: 2, [Symbol(Symbol.iterator)]: 3 }', 'object with symbols'); + t.equal(inspect([obj, []]), '[ { a: 1, [Symbol(test)]: 2, [Symbol(Symbol.iterator)]: 3 }, [] ]', 'object with symbols in array'); + } else { + // symbol sham key ordering is unreliable + t.match( + inspect(obj), + /^(?:{ a: 1, \[Symbol\(test\)\]: 2, \[Symbol\(Symbol.iterator\)\]: 3 }|{ a: 1, \[Symbol\(Symbol.iterator\)\]: 3, \[Symbol\(test\)\]: 2 })$/, + 'object with symbols (nondeterministic symbol sham key ordering)' + ); + t.match( + inspect([obj, []]), + /^\[ (?:{ a: 1, \[Symbol\(test\)\]: 2, \[Symbol\(Symbol.iterator\)\]: 3 }|{ a: 1, \[Symbol\(Symbol.iterator\)\]: 3, \[Symbol\(test\)\]: 2 }), \[\] \]$/, + 'object with symbols in array (nondeterministic symbol sham key ordering)' + ); + } }); test('maxStringLength', function (t) { + t['throws']( + function () { inspect('', { maxStringLength: -1 }); }, + TypeError, + 'maxStringLength must be >= 0, or Infinity, not negative' + ); + + var str = repeat('a', 1e8); + t.equal( - inspect([repeat('a', 1e8)], { maxStringLength: 10 }), + inspect([str], { maxStringLength: 10 }), '[ \'aaaaaaaaaa\'... 99999990 more characters ]', 'maxStringLength option limits output' ); + t.equal( + inspect(['f'], { maxStringLength: null }), + '[ \'\'... 1 more character ]', + 'maxStringLength option accepts `null`' + ); + + t.equal( + inspect([str], { maxStringLength: Infinity }), + '[ \'' + str + '\' ]', + 'maxStringLength option accepts ∞' + ); + t.end(); }); diff --git a/node_modules/object-inspect/test/lowbyte.js b/node_modules/object-inspect/test/lowbyte.js index d23424252..68a345d85 100644 --- a/node_modules/object-inspect/test/lowbyte.js +++ b/node_modules/object-inspect/test/lowbyte.js @@ -7,6 +7,6 @@ test('interpolate low bytes', function (t) { t.plan(1); t.equal( inspect(obj), - "{ x: 'a\\r\\nb', y: '\\x05! \\x1f \\x12' }" + "{ x: 'a\\r\\nb', y: '\\x05! \\x1F \\x12' }" ); }); diff --git a/node_modules/object-inspect/test/toStringTag.js b/node_modules/object-inspect/test/toStringTag.js new file mode 100644 index 000000000..b7ddad374 --- /dev/null +++ b/node_modules/object-inspect/test/toStringTag.js @@ -0,0 +1,40 @@ +'use strict'; + +var test = require('tape'); +var hasSymbols = require('has-symbols/shams')(); + +var inspect = require('../'); + +test('Symbol.toStringTag', { skip: !hasSymbols || typeof Symbol.toStringTag === 'undefined' }, function (t) { + t.plan(4); + + var obj = { a: 1 }; + t.equal(inspect(obj), '{ a: 1 }', 'object, no Symbol.toStringTag'); + + obj[Symbol.toStringTag] = 'foo'; + t.equal(inspect(obj), '{ a: 1, [Symbol(Symbol.toStringTag)]: \'foo\' }', 'object with Symbol.toStringTag'); + + t.test('null objects', { skip: 'toString' in { __proto__: null } }, function (st) { + st.plan(2); + + var dict = { __proto__: null, a: 1 }; + st.equal(inspect(dict), '[Object: null prototype] { a: 1 }', 'null object with Symbol.toStringTag'); + + dict[Symbol.toStringTag] = 'Dict'; + st.equal(inspect(dict), '[Dict: null prototype] { a: 1, [Symbol(Symbol.toStringTag)]: \'Dict\' }', 'null object with Symbol.toStringTag'); + }); + + t.test('instances', function (st) { + st.plan(4); + + function C() { + this.a = 1; + } + st.equal(Object.prototype.toString.call(new C()), '[object Object]', 'instance, no toStringTag, Object.prototype.toString'); + st.equal(inspect(new C()), 'C { a: 1 }', 'instance, no toStringTag'); + + C.prototype[Symbol.toStringTag] = 'Class!'; + st.equal(Object.prototype.toString.call(new C()), '[object Class!]', 'instance, with toStringTag, Object.prototype.toString'); + st.equal(inspect(new C()), 'C [Class!] { a: 1 }', 'instance, with toStringTag'); + }); +}); diff --git a/node_modules/object-inspect/test/values.js b/node_modules/object-inspect/test/values.js index 0d40a5f26..ee64681b2 100644 --- a/node_modules/object-inspect/test/values.js +++ b/node_modules/object-inspect/test/values.js @@ -1,5 +1,8 @@ +'use strict'; + var inspect = require('../'); var test = require('tape'); +var hasSymbols = require('has-symbols/shams')(); test('values', function (t) { t.plan(1); @@ -65,10 +68,26 @@ test('seen seen seen', function (t) { ); }); -test('symbols', { skip: typeof Symbol !== 'function' }, function (t) { +test('symbols', { skip: !hasSymbols }, function (t) { var sym = Symbol('foo'); t.equal(inspect(sym), 'Symbol(foo)', 'Symbol("foo") should be "Symbol(foo)"'); - t.equal(inspect(Object(sym)), 'Object(Symbol(foo))', 'Object(Symbol("foo")) should be "Object(Symbol(foo))"'); + if (typeof sym === 'symbol') { + // Symbol shams are incapable of differentiating boxed from unboxed symbols + t.equal(inspect(Object(sym)), 'Object(Symbol(foo))', 'Object(Symbol("foo")) should be "Object(Symbol(foo))"'); + } + + t.test('toStringTag', { skip: !hasSymbols || typeof Symbol.toStringTag === 'undefined' }, function (st) { + st.plan(1); + + var faker = {}; + faker[Symbol.toStringTag] = 'Symbol'; + st.equal( + inspect(faker), + '{ [Symbol(Symbol.toStringTag)]: \'Symbol\' }', + 'object lying about being a Symbol inspects as an object' + ); + }); + t.end(); }); @@ -123,6 +142,22 @@ test('WeakSet', { skip: typeof WeakSet !== 'function' }, function (t) { t.end(); }); +test('WeakRef', { skip: typeof WeakRef !== 'function' }, function (t) { + var ref = new WeakRef({ a: 1 }); + var expectedString = 'WeakRef { ? }'; + t.equal(inspect(ref), expectedString, 'new WeakRef({ a: 1 }) should not show contents'); + + t.end(); +}); + +test('FinalizationRegistry', { skip: typeof FinalizationRegistry !== 'function' }, function (t) { + var registry = new FinalizationRegistry(function () {}); + var expectedString = 'FinalizationRegistry [FinalizationRegistry] {}'; + t.equal(inspect(registry), expectedString, 'new FinalizationRegistry(function () {}) should work normallys'); + + t.end(); +}); + test('Strings', function (t) { var str = 'abc'; @@ -167,5 +202,9 @@ test('RegExps', function (t) { t.equal(inspect(/a/g), '/a/g', 'regex shows properly'); t.equal(inspect(new RegExp('abc', 'i')), '/abc/i', 'new RegExp shows properly'); + var match = 'abc abc'.match(/[ab]+/); + delete match.groups; // for node < 10 + t.equal(inspect(match), '[ \'ab\', index: 0, input: \'abc abc\' ]', 'RegExp match object shows properly'); + t.end(); }); diff --git a/node_modules/object.assign/node_modules/es-abstract/.nycrc b/node_modules/object.assign/.nycrc similarity index 100% rename from node_modules/object.assign/node_modules/es-abstract/.nycrc rename to node_modules/object.assign/.nycrc diff --git a/node_modules/object.assign/CHANGELOG.md b/node_modules/object.assign/CHANGELOG.md index 87cc66b69..ac543d52b 100644 --- a/node_modules/object.assign/CHANGELOG.md +++ b/node_modules/object.assign/CHANGELOG.md @@ -1,3 +1,10 @@ +4.1.2 / 2020-10-30 +================== + * [Refactor] use extracted `call-bind` instead of full `es-abstract` + * [Dev Deps] update `eslint`, `ses`, `browserify` + * [Tests] run tests in SES + * [Tests] ses-compat: show error stacks + 4.1.1 / 2020-09-11 ================== * [Fix] avoid mutating `Object.assign` in modern engines diff --git a/node_modules/object.assign/dist/browser.js b/node_modules/object.assign/dist/browser.js index 4df0860af..15f0e20a1 100644 --- a/node_modules/object.assign/dist/browser.js +++ b/node_modules/object.assign/dist/browser.js @@ -10,7 +10,7 @@ module.exports = assign.shim(); delete assign.shim; -},{"./":3,"object-keys":16}],2:[function(require,module,exports){ +},{"./":3,"object-keys":14}],2:[function(require,module,exports){ 'use strict'; // modified from https://github.com/es-shims/es6-shim @@ -19,7 +19,7 @@ var canBeObject = function (obj) { return typeof obj !== 'undefined' && obj !== null; }; var hasSymbols = require('has-symbols/shams')(); -var callBound = require('es-abstract/helpers/callBound'); +var callBound = require('call-bind/callBound'); var toObject = Object; var $push = callBound('Array.prototype.push'); var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable'); @@ -54,11 +54,11 @@ module.exports = function assign(target, source1) { return objTarget; }; -},{"es-abstract/helpers/callBound":7,"has-symbols/shams":11,"object-keys":16}],3:[function(require,module,exports){ +},{"call-bind/callBound":4,"has-symbols/shams":11,"object-keys":14}],3:[function(require,module,exports){ 'use strict'; var defineProperties = require('define-properties'); -var callBind = require('es-abstract/helpers/callBind'); +var callBind = require('call-bind'); var implementation = require('./implementation'); var getPolyfill = require('./polyfill'); @@ -78,7 +78,59 @@ defineProperties(bound, { module.exports = bound; -},{"./implementation":2,"./polyfill":18,"./shim":19,"define-properties":4,"es-abstract/helpers/callBind":6}],4:[function(require,module,exports){ +},{"./implementation":2,"./polyfill":16,"./shim":17,"call-bind":5,"define-properties":6}],4:[function(require,module,exports){ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var callBind = require('./'); + +var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); + +module.exports = function callBoundIntrinsic(name, allowMissing) { + var intrinsic = GetIntrinsic(name, !!allowMissing); + if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { + return callBind(intrinsic); + } + return intrinsic; +}; + +},{"./":5,"get-intrinsic":9}],5:[function(require,module,exports){ +'use strict'; + +var bind = require('function-bind'); +var GetIntrinsic = require('get-intrinsic'); + +var $apply = GetIntrinsic('%Function.prototype.apply%'); +var $call = GetIntrinsic('%Function.prototype.call%'); +var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); + +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = null; + } +} + +module.exports = function callBind() { + return $reflectApply(bind, $call, arguments); +}; + +var applyBind = function applyBind() { + return $reflectApply(bind, $apply, arguments); +}; + +if ($defineProperty) { + $defineProperty(module.exports, 'apply', { value: applyBind }); +} else { + module.exports.apply = applyBind; +} + +},{"function-bind":8,"get-intrinsic":9}],6:[function(require,module,exports){ 'use strict'; var keys = require('object-keys'); @@ -138,7 +190,68 @@ defineProperties.supportsDescriptors = !!supportsDescriptors; module.exports = defineProperties; -},{"object-keys":16}],5:[function(require,module,exports){ +},{"object-keys":14}],7:[function(require,module,exports){ +'use strict'; + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var slice = Array.prototype.slice; +var toStr = Object.prototype.toString; +var funcType = '[object Function]'; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.call(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slice.call(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return this; + } else { + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + } + }; + + var boundLength = Math.max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs.push('$' + i); + } + + bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; + +},{}],8:[function(require,module,exports){ +'use strict'; + +var implementation = require('./implementation'); + +module.exports = Function.prototype.bind || implementation; + +},{"./implementation":7}],9:[function(require,module,exports){ 'use strict'; /* globals @@ -172,7 +285,9 @@ if ($gOPD) { } } -var throwTypeError = function () { throw new $TypeError(); }; +var throwTypeError = function () { + throw new $TypeError(); +}; var ThrowTypeError = $gOPD ? (function () { try { @@ -404,7 +519,18 @@ module.exports = function GetIntrinsic(name, allowMissing) { if (!allowMissing && !(part in value)) { throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); } - value = isOwn ? desc.get || desc.value : value[part]; + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } } else { isOwn = hasOwn(value, part); value = value[part]; @@ -418,105 +544,8 @@ module.exports = function GetIntrinsic(name, allowMissing) { return value; }; -},{"function-bind":9,"has":14,"has-symbols":10}],6:[function(require,module,exports){ -'use strict'; - -var bind = require('function-bind'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -module.exports = function callBind() { - return $reflectApply(bind, $call, arguments); -}; - -module.exports.apply = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -},{"../GetIntrinsic":5,"function-bind":9}],7:[function(require,module,exports){ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBind = require('./callBind'); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) { - return callBind(intrinsic); - } - return intrinsic; -}; - -},{"../GetIntrinsic":5,"./callBind":6}],8:[function(require,module,exports){ -'use strict'; - -/* eslint no-invalid-this: 1 */ - -var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; -var slice = Array.prototype.slice; -var toStr = Object.prototype.toString; -var funcType = '[object Function]'; - -module.exports = function bind(that) { - var target = this; - if (typeof target !== 'function' || toStr.call(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args = slice.call(arguments, 1); - - var bound; - var binder = function () { - if (this instanceof bound) { - var result = target.apply( - this, - args.concat(slice.call(arguments)) - ); - if (Object(result) === result) { - return result; - } - return this; - } else { - return target.apply( - that, - args.concat(slice.call(arguments)) - ); - } - }; - - var boundLength = Math.max(0, target.length - args.length); - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - boundArgs.push('$' + i); - } - - bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); - - if (target.prototype) { - var Empty = function Empty() {}; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - - return bound; -}; - -},{}],9:[function(require,module,exports){ -'use strict'; - -var implementation = require('./implementation'); - -module.exports = Function.prototype.bind || implementation; - -},{"./implementation":8}],10:[function(require,module,exports){ -(function (global){ +},{"function-bind":8,"has":12,"has-symbols":10}],10:[function(require,module,exports){ +(function (global){(function (){ 'use strict'; var origSymbol = global.Symbol; @@ -531,7 +560,7 @@ module.exports = function hasNativeSymbols() { return hasSymbolSham(); }; -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./shams":11}],11:[function(require,module,exports){ 'use strict'; @@ -577,17 +606,13 @@ module.exports = function hasSymbols() { }; },{}],12:[function(require,module,exports){ -arguments[4][8][0].apply(exports,arguments) -},{"dup":8}],13:[function(require,module,exports){ -arguments[4][9][0].apply(exports,arguments) -},{"./implementation":12,"dup":9}],14:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); -},{"function-bind":13}],15:[function(require,module,exports){ +},{"function-bind":8}],13:[function(require,module,exports){ 'use strict'; var keysShim; @@ -711,7 +736,7 @@ if (!Object.keys) { } module.exports = keysShim; -},{"./isArguments":17}],16:[function(require,module,exports){ +},{"./isArguments":15}],14:[function(require,module,exports){ 'use strict'; var slice = Array.prototype.slice; @@ -745,7 +770,7 @@ keysShim.shim = function shimObjectKeys() { module.exports = keysShim; -},{"./implementation":15,"./isArguments":17}],17:[function(require,module,exports){ +},{"./implementation":13,"./isArguments":15}],15:[function(require,module,exports){ 'use strict'; var toStr = Object.prototype.toString; @@ -764,7 +789,7 @@ module.exports = function isArguments(value) { return isArgs; }; -},{}],18:[function(require,module,exports){ +},{}],16:[function(require,module,exports){ 'use strict'; var implementation = require('./implementation'); @@ -821,7 +846,7 @@ module.exports = function getPolyfill() { return Object.assign; }; -},{"./implementation":2}],19:[function(require,module,exports){ +},{"./implementation":2}],17:[function(require,module,exports){ 'use strict'; var define = require('define-properties'); @@ -837,4 +862,4 @@ module.exports = function shimAssign() { return polyfill; }; -},{"./polyfill":18,"define-properties":4}]},{},[1]); +},{"./polyfill":16,"define-properties":6}]},{},[1]); diff --git a/node_modules/object.assign/implementation.js b/node_modules/object.assign/implementation.js index a1f46a66f..567efe905 100644 --- a/node_modules/object.assign/implementation.js +++ b/node_modules/object.assign/implementation.js @@ -6,7 +6,7 @@ var canBeObject = function (obj) { return typeof obj !== 'undefined' && obj !== null; }; var hasSymbols = require('has-symbols/shams')(); -var callBound = require('es-abstract/helpers/callBound'); +var callBound = require('call-bind/callBound'); var toObject = Object; var $push = callBound('Array.prototype.push'); var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable'); diff --git a/node_modules/object.assign/index.js b/node_modules/object.assign/index.js index 894f13845..9b5060376 100644 --- a/node_modules/object.assign/index.js +++ b/node_modules/object.assign/index.js @@ -1,7 +1,7 @@ 'use strict'; var defineProperties = require('define-properties'); -var callBind = require('es-abstract/helpers/callBind'); +var callBind = require('call-bind'); var implementation = require('./implementation'); var getPolyfill = require('./polyfill'); diff --git a/node_modules/object.assign/node_modules/es-abstract/.editorconfig b/node_modules/object.assign/node_modules/es-abstract/.editorconfig deleted file mode 100644 index eaa214161..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -root = true - -[*] -indent_style = tab; -insert_final_newline = true; -quote_type = auto; -space_after_anonymous_functions = true; -space_after_control_statements = true; -spaces_around_operators = true; -trim_trailing_whitespace = true; -spaces_in_brackets = false; -end_of_line = lf; - diff --git a/node_modules/object.assign/node_modules/es-abstract/.eslintignore b/node_modules/object.assign/node_modules/es-abstract/.eslintignore deleted file mode 100644 index 4ebc8aea5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -coverage diff --git a/node_modules/object.assign/node_modules/es-abstract/.eslintrc b/node_modules/object.assign/node_modules/es-abstract/.eslintrc deleted file mode 100644 index 666eeae70..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.eslintrc +++ /dev/null @@ -1,72 +0,0 @@ -{ - "root": true, - - "extends": "@ljharb", - - "env": { - "es6": true, - }, - - "rules": { - "array-bracket-newline": 0, - "array-element-newline": 0, - "complexity": 0, - "eqeqeq": [2, "allow-null"], - "func-name-matching": 0, - "id-length": [2, { "min": 1, "max": 40 }], - "max-params": [2, 4], - "max-statements-per-line": [2, { "max": 2 }], - "multiline-comment-style": 0, - "no-magic-numbers": 0, - "new-cap": 0, - "no-extra-parens": 1, - "operator-linebreak": [2, "before"], - "sort-keys": 0, - }, - - "overrides": [ - { - "files": "GetIntrinsic.js", - "rules": { - "max-statements": 0, - } - }, - { - "files": "operations/*", - "rules": { - "max-lines": 0, - }, - }, - { - "files": "operations/*.js", - "parserOptions": { - "ecmaVersion": 2020, - }, - "rules": { - "no-console": 0, - "no-multi-str": 0, - }, - }, - { - "files": "operations/getOps.js", - "rules": { - "no-console": 0, - "no-process-exit": 0, - }, - }, - { - "files": "test/**", - "rules": { - "id-length": 0, - "max-lines": 0, - "max-lines-per-function": 0, - "max-statements-per-line": [2, { "max": 3 }], - "max-statements": 0, - "no-implicit-coercion": 0, - "no-invalid-this": 1, - "object-curly-newline": 0, - "prefer-regex-literals": 0, - }, - }, - ], -} diff --git a/node_modules/object.assign/node_modules/es-abstract/.gitattributes b/node_modules/object.assign/node_modules/es-abstract/.gitattributes deleted file mode 100644 index 396a0ca33..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.gitattributes +++ /dev/null @@ -1,613 +0,0 @@ -2015/AbstractRelationalComparison.js spackled linguist-generated=true -2015/DateFromTime.js spackled linguist-generated=true -2015/Day.js spackled linguist-generated=true -2015/DayFromYear.js spackled linguist-generated=true -2015/DayWithinYear.js spackled linguist-generated=true -2015/DaysInYear.js spackled linguist-generated=true -2015/HourFromTime.js spackled linguist-generated=true -2015/InLeapYear.js spackled linguist-generated=true -2015/IsCallable.js spackled linguist-generated=true -2015/IsPropertyDescriptor.js spackled linguist-generated=true -2015/MakeDate.js spackled linguist-generated=true -2015/MakeDay.js spackled linguist-generated=true -2015/MakeTime.js spackled linguist-generated=true -2015/MinFromTime.js spackled linguist-generated=true -2015/MonthFromTime.js spackled linguist-generated=true -2015/SameValue.js spackled linguist-generated=true -2015/SecFromTime.js spackled linguist-generated=true -2015/StrictEqualityComparison.js spackled linguist-generated=true -2015/TimeClip.js spackled linguist-generated=true -2015/TimeFromYear.js spackled linguist-generated=true -2015/TimeWithinDay.js spackled linguist-generated=true -2015/ToBoolean.js spackled linguist-generated=true -2015/ToInt32.js spackled linguist-generated=true -2015/ToPropertyDescriptor.js spackled linguist-generated=true -2015/ToUint16.js spackled linguist-generated=true -2015/ToUint32.js spackled linguist-generated=true -2015/WeekDay.js spackled linguist-generated=true -2015/YearFromTime.js spackled linguist-generated=true -2015/abs.js spackled linguist-generated=true -2015/floor.js spackled linguist-generated=true -2015/modulo.js spackled linguist-generated=true -2015/msFromTime.js spackled linguist-generated=true -2016/AbstractEqualityComparison.js spackled linguist-generated=true -2016/AbstractRelationalComparison.js spackled linguist-generated=true -2016/AdvanceStringIndex.js spackled linguist-generated=true -2016/ArrayCreate.js spackled linguist-generated=true -2016/ArraySetLength.js spackled linguist-generated=true -2016/ArraySpeciesCreate.js spackled linguist-generated=true -2016/Call.js spackled linguist-generated=true -2016/CanonicalNumericIndexString.js spackled linguist-generated=true -2016/CompletePropertyDescriptor.js spackled linguist-generated=true -2016/CreateDataProperty.js spackled linguist-generated=true -2016/CreateDataPropertyOrThrow.js spackled linguist-generated=true -2016/CreateHTML.js spackled linguist-generated=true -2016/CreateIterResultObject.js spackled linguist-generated=true -2016/CreateListFromArrayLike.js spackled linguist-generated=true -2016/CreateMethodProperty.js spackled linguist-generated=true -2016/DateFromTime.js spackled linguist-generated=true -2016/Day.js spackled linguist-generated=true -2016/DayFromYear.js spackled linguist-generated=true -2016/DayWithinYear.js spackled linguist-generated=true -2016/DaysInYear.js spackled linguist-generated=true -2016/DefinePropertyOrThrow.js spackled linguist-generated=true -2016/DeletePropertyOrThrow.js spackled linguist-generated=true -2016/EnumerableOwnNames.js spackled linguist-generated=true -2016/FromPropertyDescriptor.js spackled linguist-generated=true -2016/Get.js spackled linguist-generated=true -2016/GetIterator.js spackled linguist-generated=true -2016/GetMethod.js spackled linguist-generated=true -2016/GetOwnPropertyKeys.js spackled linguist-generated=true -2016/GetPrototypeFromConstructor.js spackled linguist-generated=true -2016/GetSubstitution.js spackled linguist-generated=true -2016/GetV.js spackled linguist-generated=true -2016/HasOwnProperty.js spackled linguist-generated=true -2016/HasProperty.js spackled linguist-generated=true -2016/HourFromTime.js spackled linguist-generated=true -2016/InLeapYear.js spackled linguist-generated=true -2016/InstanceofOperator.js spackled linguist-generated=true -2016/Invoke.js spackled linguist-generated=true -2016/IsAccessorDescriptor.js spackled linguist-generated=true -2016/IsArray.js spackled linguist-generated=true -2016/IsCallable.js spackled linguist-generated=true -2016/IsConcatSpreadable.js spackled linguist-generated=true -2016/IsConstructor.js spackled linguist-generated=true -2016/IsDataDescriptor.js spackled linguist-generated=true -2016/IsExtensible.js spackled linguist-generated=true -2016/IsGenericDescriptor.js spackled linguist-generated=true -2016/IsInteger.js spackled linguist-generated=true -2016/IsPromise.js spackled linguist-generated=true -2016/IsPropertyDescriptor.js spackled linguist-generated=true -2016/IsPropertyKey.js spackled linguist-generated=true -2016/IsRegExp.js spackled linguist-generated=true -2016/IteratorClose.js spackled linguist-generated=true -2016/IteratorComplete.js spackled linguist-generated=true -2016/IteratorNext.js spackled linguist-generated=true -2016/IteratorStep.js spackled linguist-generated=true -2016/IteratorValue.js spackled linguist-generated=true -2016/MakeDate.js spackled linguist-generated=true -2016/MakeDay.js spackled linguist-generated=true -2016/MakeTime.js spackled linguist-generated=true -2016/MinFromTime.js spackled linguist-generated=true -2016/MonthFromTime.js spackled linguist-generated=true -2016/ObjectCreate.js spackled linguist-generated=true -2016/OrdinaryCreateFromConstructor.js spackled linguist-generated=true -2016/OrdinaryDefineOwnProperty.js spackled linguist-generated=true -2016/OrdinaryGetOwnProperty.js spackled linguist-generated=true -2016/OrdinaryHasInstance.js spackled linguist-generated=true -2016/OrdinaryHasProperty.js spackled linguist-generated=true -2016/QuoteJSONString.js spackled linguist-generated=true -2016/RegExpExec.js spackled linguist-generated=true -2016/RequireObjectCoercible.js spackled linguist-generated=true -2016/SameValue.js spackled linguist-generated=true -2016/SameValueZero.js spackled linguist-generated=true -2016/SecFromTime.js spackled linguist-generated=true -2016/Set.js spackled linguist-generated=true -2016/SetFunctionName.js spackled linguist-generated=true -2016/SetIntegrityLevel.js spackled linguist-generated=true -2016/SpeciesConstructor.js spackled linguist-generated=true -2016/StrictEqualityComparison.js spackled linguist-generated=true -2016/SymbolDescriptiveString.js spackled linguist-generated=true -2016/TestIntegrityLevel.js spackled linguist-generated=true -2016/TimeClip.js spackled linguist-generated=true -2016/TimeFromYear.js spackled linguist-generated=true -2016/TimeWithinDay.js spackled linguist-generated=true -2016/ToBoolean.js spackled linguist-generated=true -2016/ToDateString.js spackled linguist-generated=true -2016/ToInt16.js spackled linguist-generated=true -2016/ToInt32.js spackled linguist-generated=true -2016/ToInt8.js spackled linguist-generated=true -2016/ToInteger.js spackled linguist-generated=true -2016/ToLength.js spackled linguist-generated=true -2016/ToNumber.js spackled linguist-generated=true -2016/ToObject.js spackled linguist-generated=true -2016/ToPrimitive.js spackled linguist-generated=true -2016/ToPropertyDescriptor.js spackled linguist-generated=true -2016/ToPropertyKey.js spackled linguist-generated=true -2016/ToString.js spackled linguist-generated=true -2016/ToUint16.js spackled linguist-generated=true -2016/ToUint32.js spackled linguist-generated=true -2016/ToUint8.js spackled linguist-generated=true -2016/ToUint8Clamp.js spackled linguist-generated=true -2016/Type.js spackled linguist-generated=true -2016/ValidateAndApplyPropertyDescriptor.js spackled linguist-generated=true -2016/WeekDay.js spackled linguist-generated=true -2016/YearFromTime.js spackled linguist-generated=true -2016/abs.js spackled linguist-generated=true -2016/floor.js spackled linguist-generated=true -2016/modulo.js spackled linguist-generated=true -2016/msFromTime.js spackled linguist-generated=true -2016/thisBooleanValue.js spackled linguist-generated=true -2016/thisNumberValue.js spackled linguist-generated=true -2016/thisStringValue.js spackled linguist-generated=true -2016/thisTimeValue.js spackled linguist-generated=true -2017/AbstractEqualityComparison.js spackled linguist-generated=true -2017/AbstractRelationalComparison.js spackled linguist-generated=true -2017/AdvanceStringIndex.js spackled linguist-generated=true -2017/ArrayCreate.js spackled linguist-generated=true -2017/ArraySetLength.js spackled linguist-generated=true -2017/ArraySpeciesCreate.js spackled linguist-generated=true -2017/Call.js spackled linguist-generated=true -2017/CanonicalNumericIndexString.js spackled linguist-generated=true -2017/CompletePropertyDescriptor.js spackled linguist-generated=true -2017/CreateDataProperty.js spackled linguist-generated=true -2017/CreateDataPropertyOrThrow.js spackled linguist-generated=true -2017/CreateHTML.js spackled linguist-generated=true -2017/CreateIterResultObject.js spackled linguist-generated=true -2017/CreateListFromArrayLike.js spackled linguist-generated=true -2017/CreateMethodProperty.js spackled linguist-generated=true -2017/DateFromTime.js spackled linguist-generated=true -2017/Day.js spackled linguist-generated=true -2017/DayFromYear.js spackled linguist-generated=true -2017/DayWithinYear.js spackled linguist-generated=true -2017/DaysInYear.js spackled linguist-generated=true -2017/DefinePropertyOrThrow.js spackled linguist-generated=true -2017/DeletePropertyOrThrow.js spackled linguist-generated=true -2017/FromPropertyDescriptor.js spackled linguist-generated=true -2017/Get.js spackled linguist-generated=true -2017/GetIterator.js spackled linguist-generated=true -2017/GetMethod.js spackled linguist-generated=true -2017/GetOwnPropertyKeys.js spackled linguist-generated=true -2017/GetPrototypeFromConstructor.js spackled linguist-generated=true -2017/GetSubstitution.js spackled linguist-generated=true -2017/GetV.js spackled linguist-generated=true -2017/HasOwnProperty.js spackled linguist-generated=true -2017/HasProperty.js spackled linguist-generated=true -2017/HourFromTime.js spackled linguist-generated=true -2017/InLeapYear.js spackled linguist-generated=true -2017/InstanceofOperator.js spackled linguist-generated=true -2017/Invoke.js spackled linguist-generated=true -2017/IsAccessorDescriptor.js spackled linguist-generated=true -2017/IsArray.js spackled linguist-generated=true -2017/IsCallable.js spackled linguist-generated=true -2017/IsConcatSpreadable.js spackled linguist-generated=true -2017/IsConstructor.js spackled linguist-generated=true -2017/IsDataDescriptor.js spackled linguist-generated=true -2017/IsExtensible.js spackled linguist-generated=true -2017/IsGenericDescriptor.js spackled linguist-generated=true -2017/IsInteger.js spackled linguist-generated=true -2017/IsPromise.js spackled linguist-generated=true -2017/IsPropertyDescriptor.js spackled linguist-generated=true -2017/IsPropertyKey.js spackled linguist-generated=true -2017/IsRegExp.js spackled linguist-generated=true -2017/IteratorClose.js spackled linguist-generated=true -2017/IteratorComplete.js spackled linguist-generated=true -2017/IteratorNext.js spackled linguist-generated=true -2017/IteratorStep.js spackled linguist-generated=true -2017/IteratorValue.js spackled linguist-generated=true -2017/MakeDate.js spackled linguist-generated=true -2017/MakeDay.js spackled linguist-generated=true -2017/MakeTime.js spackled linguist-generated=true -2017/MinFromTime.js spackled linguist-generated=true -2017/MonthFromTime.js spackled linguist-generated=true -2017/ObjectCreate.js spackled linguist-generated=true -2017/OrdinaryCreateFromConstructor.js spackled linguist-generated=true -2017/OrdinaryDefineOwnProperty.js spackled linguist-generated=true -2017/OrdinaryGetOwnProperty.js spackled linguist-generated=true -2017/OrdinaryGetPrototypeOf.js spackled linguist-generated=true -2017/OrdinaryHasInstance.js spackled linguist-generated=true -2017/OrdinaryHasProperty.js spackled linguist-generated=true -2017/OrdinarySetPrototypeOf.js spackled linguist-generated=true -2017/QuoteJSONString.js spackled linguist-generated=true -2017/RegExpExec.js spackled linguist-generated=true -2017/RequireObjectCoercible.js spackled linguist-generated=true -2017/SameValue.js spackled linguist-generated=true -2017/SameValueNonNumber.js spackled linguist-generated=true -2017/SameValueZero.js spackled linguist-generated=true -2017/SecFromTime.js spackled linguist-generated=true -2017/Set.js spackled linguist-generated=true -2017/SetFunctionName.js spackled linguist-generated=true -2017/SetIntegrityLevel.js spackled linguist-generated=true -2017/SpeciesConstructor.js spackled linguist-generated=true -2017/StrictEqualityComparison.js spackled linguist-generated=true -2017/SymbolDescriptiveString.js spackled linguist-generated=true -2017/TestIntegrityLevel.js spackled linguist-generated=true -2017/TimeClip.js spackled linguist-generated=true -2017/TimeFromYear.js spackled linguist-generated=true -2017/TimeWithinDay.js spackled linguist-generated=true -2017/ToBoolean.js spackled linguist-generated=true -2017/ToDateString.js spackled linguist-generated=true -2017/ToInt16.js spackled linguist-generated=true -2017/ToInt32.js spackled linguist-generated=true -2017/ToInt8.js spackled linguist-generated=true -2017/ToInteger.js spackled linguist-generated=true -2017/ToLength.js spackled linguist-generated=true -2017/ToNumber.js spackled linguist-generated=true -2017/ToObject.js spackled linguist-generated=true -2017/ToPrimitive.js spackled linguist-generated=true -2017/ToPropertyDescriptor.js spackled linguist-generated=true -2017/ToPropertyKey.js spackled linguist-generated=true -2017/ToString.js spackled linguist-generated=true -2017/ToUint16.js spackled linguist-generated=true -2017/ToUint32.js spackled linguist-generated=true -2017/ToUint8.js spackled linguist-generated=true -2017/ToUint8Clamp.js spackled linguist-generated=true -2017/Type.js spackled linguist-generated=true -2017/UTF16Encoding.js spackled linguist-generated=true -2017/ValidateAndApplyPropertyDescriptor.js spackled linguist-generated=true -2017/WeekDay.js spackled linguist-generated=true -2017/YearFromTime.js spackled linguist-generated=true -2017/abs.js spackled linguist-generated=true -2017/floor.js spackled linguist-generated=true -2017/modulo.js spackled linguist-generated=true -2017/msFromTime.js spackled linguist-generated=true -2017/thisBooleanValue.js spackled linguist-generated=true -2017/thisNumberValue.js spackled linguist-generated=true -2017/thisStringValue.js spackled linguist-generated=true -2017/thisTimeValue.js spackled linguist-generated=true -2018/AbstractEqualityComparison.js spackled linguist-generated=true -2018/AbstractRelationalComparison.js spackled linguist-generated=true -2018/AdvanceStringIndex.js spackled linguist-generated=true -2018/ArrayCreate.js spackled linguist-generated=true -2018/ArraySetLength.js spackled linguist-generated=true -2018/ArraySpeciesCreate.js spackled linguist-generated=true -2018/Call.js spackled linguist-generated=true -2018/CanonicalNumericIndexString.js spackled linguist-generated=true -2018/CompletePropertyDescriptor.js spackled linguist-generated=true -2018/CreateDataProperty.js spackled linguist-generated=true -2018/CreateDataPropertyOrThrow.js spackled linguist-generated=true -2018/CreateHTML.js spackled linguist-generated=true -2018/CreateIterResultObject.js spackled linguist-generated=true -2018/CreateListFromArrayLike.js spackled linguist-generated=true -2018/CreateMethodProperty.js spackled linguist-generated=true -2018/DateFromTime.js spackled linguist-generated=true -2018/Day.js spackled linguist-generated=true -2018/DayFromYear.js spackled linguist-generated=true -2018/DayWithinYear.js spackled linguist-generated=true -2018/DaysInYear.js spackled linguist-generated=true -2018/DefinePropertyOrThrow.js spackled linguist-generated=true -2018/DeletePropertyOrThrow.js spackled linguist-generated=true -2018/FromPropertyDescriptor.js spackled linguist-generated=true -2018/Get.js spackled linguist-generated=true -2018/GetIterator.js spackled linguist-generated=true -2018/GetMethod.js spackled linguist-generated=true -2018/GetOwnPropertyKeys.js spackled linguist-generated=true -2018/GetPrototypeFromConstructor.js spackled linguist-generated=true -2018/GetV.js spackled linguist-generated=true -2018/HasOwnProperty.js spackled linguist-generated=true -2018/HasProperty.js spackled linguist-generated=true -2018/HourFromTime.js spackled linguist-generated=true -2018/InLeapYear.js spackled linguist-generated=true -2018/InstanceofOperator.js spackled linguist-generated=true -2018/Invoke.js spackled linguist-generated=true -2018/IsAccessorDescriptor.js spackled linguist-generated=true -2018/IsArray.js spackled linguist-generated=true -2018/IsCallable.js spackled linguist-generated=true -2018/IsConcatSpreadable.js spackled linguist-generated=true -2018/IsConstructor.js spackled linguist-generated=true -2018/IsDataDescriptor.js spackled linguist-generated=true -2018/IsExtensible.js spackled linguist-generated=true -2018/IsGenericDescriptor.js spackled linguist-generated=true -2018/IsInteger.js spackled linguist-generated=true -2018/IsPromise.js spackled linguist-generated=true -2018/IsPropertyKey.js spackled linguist-generated=true -2018/IsRegExp.js spackled linguist-generated=true -2018/IterableToList.js spackled linguist-generated=true -2018/IteratorClose.js spackled linguist-generated=true -2018/IteratorComplete.js spackled linguist-generated=true -2018/IteratorNext.js spackled linguist-generated=true -2018/IteratorStep.js spackled linguist-generated=true -2018/IteratorValue.js spackled linguist-generated=true -2018/MakeDate.js spackled linguist-generated=true -2018/MakeDay.js spackled linguist-generated=true -2018/MakeTime.js spackled linguist-generated=true -2018/MinFromTime.js spackled linguist-generated=true -2018/MonthFromTime.js spackled linguist-generated=true -2018/ObjectCreate.js spackled linguist-generated=true -2018/OrdinaryCreateFromConstructor.js spackled linguist-generated=true -2018/OrdinaryDefineOwnProperty.js spackled linguist-generated=true -2018/OrdinaryGetOwnProperty.js spackled linguist-generated=true -2018/OrdinaryGetPrototypeOf.js spackled linguist-generated=true -2018/OrdinaryHasInstance.js spackled linguist-generated=true -2018/OrdinaryHasProperty.js spackled linguist-generated=true -2018/OrdinarySetPrototypeOf.js spackled linguist-generated=true -2018/RegExpExec.js spackled linguist-generated=true -2018/RequireObjectCoercible.js spackled linguist-generated=true -2018/SameValue.js spackled linguist-generated=true -2018/SameValueNonNumber.js spackled linguist-generated=true -2018/SameValueZero.js spackled linguist-generated=true -2018/SecFromTime.js spackled linguist-generated=true -2018/Set.js spackled linguist-generated=true -2018/SetFunctionName.js spackled linguist-generated=true -2018/SetIntegrityLevel.js spackled linguist-generated=true -2018/SpeciesConstructor.js spackled linguist-generated=true -2018/StrictEqualityComparison.js spackled linguist-generated=true -2018/StringGetOwnProperty.js spackled linguist-generated=true -2018/SymbolDescriptiveString.js spackled linguist-generated=true -2018/TestIntegrityLevel.js spackled linguist-generated=true -2018/TimeClip.js spackled linguist-generated=true -2018/TimeFromYear.js spackled linguist-generated=true -2018/TimeWithinDay.js spackled linguist-generated=true -2018/ToBoolean.js spackled linguist-generated=true -2018/ToDateString.js spackled linguist-generated=true -2018/ToIndex.js spackled linguist-generated=true -2018/ToInt16.js spackled linguist-generated=true -2018/ToInt32.js spackled linguist-generated=true -2018/ToInt8.js spackled linguist-generated=true -2018/ToInteger.js spackled linguist-generated=true -2018/ToLength.js spackled linguist-generated=true -2018/ToNumber.js spackled linguist-generated=true -2018/ToObject.js spackled linguist-generated=true -2018/ToPrimitive.js spackled linguist-generated=true -2018/ToPropertyDescriptor.js spackled linguist-generated=true -2018/ToPropertyKey.js spackled linguist-generated=true -2018/ToString.js spackled linguist-generated=true -2018/ToUint16.js spackled linguist-generated=true -2018/ToUint32.js spackled linguist-generated=true -2018/ToUint8.js spackled linguist-generated=true -2018/ToUint8Clamp.js spackled linguist-generated=true -2018/Type.js spackled linguist-generated=true -2018/UTF16Encoding.js spackled linguist-generated=true -2018/ValidateAndApplyPropertyDescriptor.js spackled linguist-generated=true -2018/WeekDay.js spackled linguist-generated=true -2018/YearFromTime.js spackled linguist-generated=true -2018/abs.js spackled linguist-generated=true -2018/floor.js spackled linguist-generated=true -2018/modulo.js spackled linguist-generated=true -2018/msFromTime.js spackled linguist-generated=true -2018/thisBooleanValue.js spackled linguist-generated=true -2018/thisNumberValue.js spackled linguist-generated=true -2018/thisStringValue.js spackled linguist-generated=true -2018/thisTimeValue.js spackled linguist-generated=true -2019/AbstractEqualityComparison.js spackled linguist-generated=true -2019/AbstractRelationalComparison.js spackled linguist-generated=true -2019/AdvanceStringIndex.js spackled linguist-generated=true -2019/ArrayCreate.js spackled linguist-generated=true -2019/ArraySetLength.js spackled linguist-generated=true -2019/ArraySpeciesCreate.js spackled linguist-generated=true -2019/Call.js spackled linguist-generated=true -2019/CanonicalNumericIndexString.js spackled linguist-generated=true -2019/CompletePropertyDescriptor.js spackled linguist-generated=true -2019/CopyDataProperties.js spackled linguist-generated=true -2019/CreateDataProperty.js spackled linguist-generated=true -2019/CreateDataPropertyOrThrow.js spackled linguist-generated=true -2019/CreateHTML.js spackled linguist-generated=true -2019/CreateIterResultObject.js spackled linguist-generated=true -2019/CreateListFromArrayLike.js spackled linguist-generated=true -2019/CreateMethodProperty.js spackled linguist-generated=true -2019/DateFromTime.js spackled linguist-generated=true -2019/DateString.js spackled linguist-generated=true -2019/Day.js spackled linguist-generated=true -2019/DayFromYear.js spackled linguist-generated=true -2019/DayWithinYear.js spackled linguist-generated=true -2019/DaysInYear.js spackled linguist-generated=true -2019/DefinePropertyOrThrow.js spackled linguist-generated=true -2019/DeletePropertyOrThrow.js spackled linguist-generated=true -2019/EnumerableOwnPropertyNames.js spackled linguist-generated=true -2019/FromPropertyDescriptor.js spackled linguist-generated=true -2019/Get.js spackled linguist-generated=true -2019/GetIterator.js spackled linguist-generated=true -2019/GetMethod.js spackled linguist-generated=true -2019/GetOwnPropertyKeys.js spackled linguist-generated=true -2019/GetPrototypeFromConstructor.js spackled linguist-generated=true -2019/GetSubstitution.js spackled linguist-generated=true -2019/GetV.js spackled linguist-generated=true -2019/HasOwnProperty.js spackled linguist-generated=true -2019/HasProperty.js spackled linguist-generated=true -2019/HourFromTime.js spackled linguist-generated=true -2019/InLeapYear.js spackled linguist-generated=true -2019/InstanceofOperator.js spackled linguist-generated=true -2019/Invoke.js spackled linguist-generated=true -2019/IsAccessorDescriptor.js spackled linguist-generated=true -2019/IsArray.js spackled linguist-generated=true -2019/IsCallable.js spackled linguist-generated=true -2019/IsConcatSpreadable.js spackled linguist-generated=true -2019/IsConstructor.js spackled linguist-generated=true -2019/IsDataDescriptor.js spackled linguist-generated=true -2019/IsExtensible.js spackled linguist-generated=true -2019/IsGenericDescriptor.js spackled linguist-generated=true -2019/IsInteger.js spackled linguist-generated=true -2019/IsPromise.js spackled linguist-generated=true -2019/IsPropertyKey.js spackled linguist-generated=true -2019/IsRegExp.js spackled linguist-generated=true -2019/IsStringPrefix.js spackled linguist-generated=true -2019/IterableToList.js spackled linguist-generated=true -2019/IteratorClose.js spackled linguist-generated=true -2019/IteratorComplete.js spackled linguist-generated=true -2019/IteratorNext.js spackled linguist-generated=true -2019/IteratorStep.js spackled linguist-generated=true -2019/IteratorValue.js spackled linguist-generated=true -2019/MakeDate.js spackled linguist-generated=true -2019/MakeDay.js spackled linguist-generated=true -2019/MakeTime.js spackled linguist-generated=true -2019/MinFromTime.js spackled linguist-generated=true -2019/MonthFromTime.js spackled linguist-generated=true -2019/NumberToString.js spackled linguist-generated=true -2019/ObjectCreate.js spackled linguist-generated=true -2019/OrdinaryCreateFromConstructor.js spackled linguist-generated=true -2019/OrdinaryDefineOwnProperty.js spackled linguist-generated=true -2019/OrdinaryGetOwnProperty.js spackled linguist-generated=true -2019/OrdinaryGetPrototypeOf.js spackled linguist-generated=true -2019/OrdinaryHasInstance.js spackled linguist-generated=true -2019/OrdinaryHasProperty.js spackled linguist-generated=true -2019/OrdinarySetPrototypeOf.js spackled linguist-generated=true -2019/PromiseResolve.js spackled linguist-generated=true -2019/RegExpExec.js spackled linguist-generated=true -2019/RequireObjectCoercible.js spackled linguist-generated=true -2019/SameValue.js spackled linguist-generated=true -2019/SameValueNonNumber.js spackled linguist-generated=true -2019/SameValueZero.js spackled linguist-generated=true -2019/SecFromTime.js spackled linguist-generated=true -2019/Set.js spackled linguist-generated=true -2019/SetFunctionLength.js spackled linguist-generated=true -2019/SetFunctionName.js spackled linguist-generated=true -2019/SetIntegrityLevel.js spackled linguist-generated=true -2019/SpeciesConstructor.js spackled linguist-generated=true -2019/StrictEqualityComparison.js spackled linguist-generated=true -2019/StringGetOwnProperty.js spackled linguist-generated=true -2019/SymbolDescriptiveString.js spackled linguist-generated=true -2019/TestIntegrityLevel.js spackled linguist-generated=true -2019/TimeClip.js spackled linguist-generated=true -2019/TimeFromYear.js spackled linguist-generated=true -2019/TimeString.js spackled linguist-generated=true -2019/TimeWithinDay.js spackled linguist-generated=true -2019/ToBoolean.js spackled linguist-generated=true -2019/ToDateString.js spackled linguist-generated=true -2019/ToIndex.js spackled linguist-generated=true -2019/ToInt16.js spackled linguist-generated=true -2019/ToInt32.js spackled linguist-generated=true -2019/ToInt8.js spackled linguist-generated=true -2019/ToInteger.js spackled linguist-generated=true -2019/ToLength.js spackled linguist-generated=true -2019/ToNumber.js spackled linguist-generated=true -2019/ToObject.js spackled linguist-generated=true -2019/ToPrimitive.js spackled linguist-generated=true -2019/ToPropertyDescriptor.js spackled linguist-generated=true -2019/ToPropertyKey.js spackled linguist-generated=true -2019/ToString.js spackled linguist-generated=true -2019/ToUint16.js spackled linguist-generated=true -2019/ToUint32.js spackled linguist-generated=true -2019/ToUint8.js spackled linguist-generated=true -2019/ToUint8Clamp.js spackled linguist-generated=true -2019/Type.js spackled linguist-generated=true -2019/UTF16Encoding.js spackled linguist-generated=true -2019/UnicodeEscape.js spackled linguist-generated=true -2019/ValidateAndApplyPropertyDescriptor.js spackled linguist-generated=true -2019/WeekDay.js spackled linguist-generated=true -2019/YearFromTime.js spackled linguist-generated=true -2019/abs.js spackled linguist-generated=true -2019/floor.js spackled linguist-generated=true -2019/modulo.js spackled linguist-generated=true -2019/msFromTime.js spackled linguist-generated=true -2019/thisBooleanValue.js spackled linguist-generated=true -2019/thisNumberValue.js spackled linguist-generated=true -2019/thisStringValue.js spackled linguist-generated=true -2019/thisSymbolValue.js spackled linguist-generated=true -2020/AbstractEqualityComparison.js spackled linguist-generated=true -2020/AbstractRelationalComparison.js spackled linguist-generated=true -2020/AddEntriesFromIterable.js spackled linguist-generated=true -2020/ArrayCreate.js spackled linguist-generated=true -2020/ArraySetLength.js spackled linguist-generated=true -2020/ArraySpeciesCreate.js spackled linguist-generated=true -2020/Call.js spackled linguist-generated=true -2020/CanonicalNumericIndexString.js spackled linguist-generated=true -2020/CompletePropertyDescriptor.js spackled linguist-generated=true -2020/CopyDataProperties.js spackled linguist-generated=true -2020/CreateDataProperty.js spackled linguist-generated=true -2020/CreateDataPropertyOrThrow.js spackled linguist-generated=true -2020/CreateHTML.js spackled linguist-generated=true -2020/CreateIterResultObject.js spackled linguist-generated=true -2020/CreateMethodProperty.js spackled linguist-generated=true -2020/DateFromTime.js spackled linguist-generated=true -2020/DateString.js spackled linguist-generated=true -2020/Day.js spackled linguist-generated=true -2020/DayFromYear.js spackled linguist-generated=true -2020/DayWithinYear.js spackled linguist-generated=true -2020/DaysInYear.js spackled linguist-generated=true -2020/DefinePropertyOrThrow.js spackled linguist-generated=true -2020/DeletePropertyOrThrow.js spackled linguist-generated=true -2020/EnumerableOwnPropertyNames.js spackled linguist-generated=true -2020/FromPropertyDescriptor.js spackled linguist-generated=true -2020/Get.js spackled linguist-generated=true -2020/GetIterator.js spackled linguist-generated=true -2020/GetMethod.js spackled linguist-generated=true -2020/GetOwnPropertyKeys.js spackled linguist-generated=true -2020/GetPrototypeFromConstructor.js spackled linguist-generated=true -2020/GetSubstitution.js spackled linguist-generated=true -2020/GetV.js spackled linguist-generated=true -2020/HasOwnProperty.js spackled linguist-generated=true -2020/HasProperty.js spackled linguist-generated=true -2020/HourFromTime.js spackled linguist-generated=true -2020/InLeapYear.js spackled linguist-generated=true -2020/InstanceofOperator.js spackled linguist-generated=true -2020/Invoke.js spackled linguist-generated=true -2020/IsAccessorDescriptor.js spackled linguist-generated=true -2020/IsArray.js spackled linguist-generated=true -2020/IsCallable.js spackled linguist-generated=true -2020/IsConcatSpreadable.js spackled linguist-generated=true -2020/IsConstructor.js spackled linguist-generated=true -2020/IsDataDescriptor.js spackled linguist-generated=true -2020/IsExtensible.js spackled linguist-generated=true -2020/IsGenericDescriptor.js spackled linguist-generated=true -2020/IsInteger.js spackled linguist-generated=true -2020/IsPromise.js spackled linguist-generated=true -2020/IsPropertyKey.js spackled linguist-generated=true -2020/IsRegExp.js spackled linguist-generated=true -2020/IsStringPrefix.js spackled linguist-generated=true -2020/IterableToList.js spackled linguist-generated=true -2020/IteratorClose.js spackled linguist-generated=true -2020/IteratorComplete.js spackled linguist-generated=true -2020/IteratorNext.js spackled linguist-generated=true -2020/IteratorStep.js spackled linguist-generated=true -2020/IteratorValue.js spackled linguist-generated=true -2020/MakeDate.js spackled linguist-generated=true -2020/MakeDay.js spackled linguist-generated=true -2020/MakeTime.js spackled linguist-generated=true -2020/MinFromTime.js spackled linguist-generated=true -2020/MonthFromTime.js spackled linguist-generated=true -2020/OrdinaryDefineOwnProperty.js spackled linguist-generated=true -2020/OrdinaryGetOwnProperty.js spackled linguist-generated=true -2020/OrdinaryGetPrototypeOf.js spackled linguist-generated=true -2020/OrdinaryHasInstance.js spackled linguist-generated=true -2020/OrdinaryHasProperty.js spackled linguist-generated=true -2020/OrdinarySetPrototypeOf.js spackled linguist-generated=true -2020/PromiseResolve.js spackled linguist-generated=true -2020/RegExpExec.js spackled linguist-generated=true -2020/RequireObjectCoercible.js spackled linguist-generated=true -2020/SameValue.js spackled linguist-generated=true -2020/SameValueZero.js spackled linguist-generated=true -2020/SecFromTime.js spackled linguist-generated=true -2020/Set.js spackled linguist-generated=true -2020/SetFunctionName.js spackled linguist-generated=true -2020/SetIntegrityLevel.js spackled linguist-generated=true -2020/SpeciesConstructor.js spackled linguist-generated=true -2020/StrictEqualityComparison.js spackled linguist-generated=true -2020/StringGetOwnProperty.js spackled linguist-generated=true -2020/SymbolDescriptiveString.js spackled linguist-generated=true -2020/TestIntegrityLevel.js spackled linguist-generated=true -2020/TimeClip.js spackled linguist-generated=true -2020/TimeFromYear.js spackled linguist-generated=true -2020/TimeString.js spackled linguist-generated=true -2020/TimeWithinDay.js spackled linguist-generated=true -2020/ToBoolean.js spackled linguist-generated=true -2020/ToDateString.js spackled linguist-generated=true -2020/ToIndex.js spackled linguist-generated=true -2020/ToInt16.js spackled linguist-generated=true -2020/ToInt32.js spackled linguist-generated=true -2020/ToInt8.js spackled linguist-generated=true -2020/ToInteger.js spackled linguist-generated=true -2020/ToLength.js spackled linguist-generated=true -2020/ToNumber.js spackled linguist-generated=true -2020/ToObject.js spackled linguist-generated=true -2020/ToPrimitive.js spackled linguist-generated=true -2020/ToPropertyDescriptor.js spackled linguist-generated=true -2020/ToPropertyKey.js spackled linguist-generated=true -2020/ToString.js spackled linguist-generated=true -2020/ToUint16.js spackled linguist-generated=true -2020/ToUint32.js spackled linguist-generated=true -2020/ToUint8.js spackled linguist-generated=true -2020/ToUint8Clamp.js spackled linguist-generated=true -2020/TrimString.js spackled linguist-generated=true -2020/UTF16Encoding.js spackled linguist-generated=true -2020/ValidateAndApplyPropertyDescriptor.js spackled linguist-generated=true -2020/WeekDay.js spackled linguist-generated=true -2020/YearFromTime.js spackled linguist-generated=true -2020/abs.js spackled linguist-generated=true -2020/floor.js spackled linguist-generated=true -2020/modulo.js spackled linguist-generated=true -2020/msFromTime.js spackled linguist-generated=true -2020/thisBooleanValue.js spackled linguist-generated=true -2020/thisNumberValue.js spackled linguist-generated=true -2020/thisStringValue.js spackled linguist-generated=true -2020/thisSymbolValue.js spackled linguist-generated=true -2020/thisTimeValue.js spackled linguist-generated=true \ No newline at end of file diff --git a/node_modules/object.assign/node_modules/es-abstract/.github/FUNDING.yml b/node_modules/object.assign/node_modules/es-abstract/.github/FUNDING.yml deleted file mode 100644 index beeb7a288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: [ljharb] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: npm/es-abstract -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with a single custom sponsorship URL diff --git a/node_modules/object.assign/node_modules/es-abstract/.github/workflows/codeql-analysis.yml b/node_modules/object.assign/node_modules/es-abstract/.github/workflows/codeql-analysis.yml deleted file mode 100644 index e77ad6a7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: "Code scanning - action" - -on: - push: - pull_request: - schedule: - - cron: '0 17 * * 4' - -jobs: - CodeQL-Build: - - # CodeQL runs on ubuntu-latest and windows-latest - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - # Override language selection by uncommenting this and choosing your languages - # with: - # languages: go, javascript, csharp, python, cpp, java - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 diff --git a/node_modules/object.assign/node_modules/es-abstract/.github/workflows/rebase.yml b/node_modules/object.assign/node_modules/es-abstract/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/object.assign/node_modules/es-abstract/.travis.yml b/node_modules/object.assign/node_modules/es-abstract/.travis.yml deleted file mode 100644 index 5c340249c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -cache: - directories: - - "$HOME/.npm" - - "$(nvm cache dir)" - - "$(nvm_version_path $(nvm_version_remote 0.4))" - - "$(nvm_version_path $(nvm_version_remote 0.6))" - - "$(nvm_version_path $(nvm_version_remote 0.10))" -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml -script: - - 'if [ -n "${COVERAGE-}" ]; then npm run coverage && bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi' -matrix: - include: - - node_js: "8" - env: COVERAGE=true - - node_js: "4" - env: COVERAGE=true - - node_js: "0.12" - env: COVERAGE=true - - node_js: "0.8" - env: COVERAGE=true - exclude: - - node_js: "0.12" - env: TEST=true - - node_js: "0.8" - env: TEST=true diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2015/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2015/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2015/AdvanceStringIndex.js deleted file mode 100644 index 69dae1b7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/AdvanceStringIndex.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $charCodeAt = require('../helpers/callBound')('String.prototype.charCodeAt'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - - var first = $charCodeAt(S, index); - if (!isLeadingSurrogate(first)) { - return index + 1; - } - - var second = $charCodeAt(S, index + 1); - if (!isTrailingSurrogate(second)) { - return index + 1; - } - - return index + 2; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2015/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2015/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2015/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Call.js b/node_modules/object.assign/node_modules/es-abstract/2015/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2015/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateListFromArrayLike.js deleted file mode 100644 index d6b44b5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateListFromArrayLike.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = ToLength(Get(obj, 'length')); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Day.js b/node_modules/object.assign/node_modules/es-abstract/2015/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2015/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2015/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2015/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2015/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2015/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/EnumerableOwnNames.js b/node_modules/object.assign/node_modules/es-abstract/2015/EnumerableOwnNames.js deleted file mode 100644 index d06858488..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/EnumerableOwnNames.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var keys = require('object-keys'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-enumerableownnames - -module.exports = function EnumerableOwnNames(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - return keys(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Get.js b/node_modules/object.assign/node_modules/es-abstract/2015/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetSubstitution.js deleted file mode 100644 index 6497aaed4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetSubstitution.js +++ /dev/null @@ -1,104 +0,0 @@ - -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $parseInt = GetIntrinsic('%parseInt%'); - -var inspect = require('object-inspect'); - -var regexTester = require('../helpers/regexTester'); -var callBound = require('../helpers/callBound'); -var every = require('../helpers/every'); - -var isDigit = regexTester(/^[0-9]$/); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); - -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2015/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2015/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2015/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2015/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyDescriptor.js deleted file mode 100644 index 2a96c637b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyDescriptor.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var Type = require('./Type'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); - -// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type - -module.exports = function IsPropertyDescriptor(Desc) { - return isPropertyDescriptor({ - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor, - Type: Type - }, Desc); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2015/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2015/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2015/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2015/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2015/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2015/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ObjectCreate.js b/node_modules/object.assign/node_modules/es-abstract/2015/ObjectCreate.js deleted file mode 100644 index e2445b022..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ObjectCreate.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ObjectCreate = GetIntrinsic('%Object.create%', true); -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var Type = require('./Type'); - -var hasProto = !({ __proto__: null } instanceof Object); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate - -module.exports = function ObjectCreate(proto, internalSlotsList) { - if (proto !== null && Type(proto) !== 'Object') { - throw new $TypeError('Assertion failed: `proto` must be null or an object'); - } - var slots = arguments.length < 2 ? [] : internalSlotsList; - if (slots.length > 0) { - throw new $SyntaxError('es-abstract does not yet support internal slots'); - } - - if ($ObjectCreate) { - return $ObjectCreate(proto); - } - if (hasProto) { - return { __proto__: proto }; - } - - if (proto === null) { - throw new $SyntaxError('native Object.create support is required to create null objects'); - } - var T = function T() {}; - T.prototype = proto; - return new T(); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryCreateFromConstructor.js deleted file mode 100644 index e390a600a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var ObjectCreate = require('./ObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return ObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2015/QuoteJSONString.js deleted file mode 100644 index 5c2d6f05e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/QuoteJSONString.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); -var $strSlice = callBound('String.prototype.slice'); -var $strSplit = callBound('String.prototype.split'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring - -var escapes = { - '\u0008': 'b', - '\u000C': 'f', - '\u000A': 'n', - '\u000D': 'r', - '\u0009': 't' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach($strSplit(value), function (C) { - if (C === '"' || C === '\\') { - product += '\u005C' + C; - } else if (C === '\u0008' || C === '\u000C' || C === '\u000A' || C === '\u000D' || C === '\u0009') { - var abbrev = escapes[C]; - product += '\u005C' + abbrev; - } else { - var cCharCode = $charCodeAt(C, 0); - if (cCharCode < 0x20) { - product += '\u005Cu' + $toLowerCase($strSlice('0000' + $numberToString(cCharCode, 16), -4)); - } else { - product += C; - } - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2015/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2015/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Set.js b/node_modules/object.assign/node_modules/es-abstract/2015/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2015/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2015/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2015/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2015/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2015/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2015/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2015/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2015/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2015/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2015/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/Type.js b/node_modules/object.assign/node_modules/es-abstract/2015/Type.js deleted file mode 100644 index 0bd11659c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/Type.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2015/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/abs.js b/node_modules/object.assign/node_modules/es-abstract/2015/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/floor.js b/node_modules/object.assign/node_modules/es-abstract/2015/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2015/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2015/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2015/thisTimeValue.js b/node_modules/object.assign/node_modules/es-abstract/2015/thisTimeValue.js deleted file mode 100644 index d7cda28c9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2015/thisTimeValue.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $DateValueOf = require('../helpers/callBound')('Date.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object - -module.exports = function thisTimeValue(value) { - return $DateValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2016/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2016/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2016/AdvanceStringIndex.js deleted file mode 100644 index 69dae1b7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/AdvanceStringIndex.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $charCodeAt = require('../helpers/callBound')('String.prototype.charCodeAt'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - - var first = $charCodeAt(S, index); - if (!isLeadingSurrogate(first)) { - return index + 1; - } - - var second = $charCodeAt(S, index + 1); - if (!isTrailingSurrogate(second)) { - return index + 1; - } - - return index + 2; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2016/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2016/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2016/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Call.js b/node_modules/object.assign/node_modules/es-abstract/2016/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2016/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CompletePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/CompletePropertyDescriptor.js deleted file mode 100644 index 548bf415a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CompletePropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor - -module.exports = function CompletePropertyDescriptor(Desc) { - /* eslint no-param-reassign: 0 */ - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (!has(Desc, '[[Value]]')) { - Desc['[[Value]]'] = void 0; - } - if (!has(Desc, '[[Writable]]')) { - Desc['[[Writable]]'] = false; - } - } else { - if (!has(Desc, '[[Get]]')) { - Desc['[[Get]]'] = void 0; - } - if (!has(Desc, '[[Set]]')) { - Desc['[[Set]]'] = void 0; - } - } - if (!has(Desc, '[[Enumerable]]')) { - Desc['[[Enumerable]]'] = false; - } - if (!has(Desc, '[[Configurable]]')) { - Desc['[[Configurable]]'] = false; - } - return Desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateListFromArrayLike.js deleted file mode 100644 index d6b44b5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateListFromArrayLike.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = ToLength(Get(obj, 'length')); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Day.js b/node_modules/object.assign/node_modules/es-abstract/2016/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2016/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2016/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2016/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2016/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2016/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/EnumerableOwnNames.js b/node_modules/object.assign/node_modules/es-abstract/2016/EnumerableOwnNames.js deleted file mode 100644 index d06858488..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/EnumerableOwnNames.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var keys = require('object-keys'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-enumerableownnames - -module.exports = function EnumerableOwnNames(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - return keys(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Get.js b/node_modules/object.assign/node_modules/es-abstract/2016/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetSubstitution.js deleted file mode 100644 index 6497aaed4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetSubstitution.js +++ /dev/null @@ -1,104 +0,0 @@ - -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $parseInt = GetIntrinsic('%parseInt%'); - -var inspect = require('object-inspect'); - -var regexTester = require('../helpers/regexTester'); -var callBound = require('../helpers/callBound'); -var every = require('../helpers/every'); - -var isDigit = regexTester(/^[0-9]$/); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); - -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2016/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2016/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2016/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2016/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyDescriptor.js deleted file mode 100644 index 2a96c637b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyDescriptor.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var Type = require('./Type'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); - -// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type - -module.exports = function IsPropertyDescriptor(Desc) { - return isPropertyDescriptor({ - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor, - Type: Type - }, Desc); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2016/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IterableToArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2016/IterableToArrayLike.js deleted file mode 100644 index 885cade8f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IterableToArrayLike.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); -var $arrayPush = callBound('Array.prototype.push'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var GetIterator = require('./GetIterator'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); -var ToObject = require('./ToObject'); -var Type = require('./Type'); -var ES = { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type -}; - -// https://www.ecma-international.org/ecma-262/7.0/#sec-iterabletoarraylike -/** - * 1. Let usingIterator be ? GetMethod(items, @@iterator). - * 2. If usingIterator is not undefined, then - * 1. Let iterator be ? GetIterator(items, usingIterator). - * 2. Let values be a new empty List. - * 3. Let next be true. - * 4. Repeat, while next is not false - * 1. Let next be ? IteratorStep(iterator). - * 2. If next is not false, then - * 1. Let nextValue be ? IteratorValue(next). - * 2. Append nextValue to the end of the List values. - * 5. Return CreateArrayFromList(values). - * 3. NOTE: items is not an Iterable so assume it is already an array-like object. - * 4. Return ! ToObject(items). - */ - -module.exports = function IterableToArrayLike(items) { - var usingIterator = getIteratorMethod(ES, items); - if (typeof usingIterator !== 'undefined') { - var iterator = GetIterator(items, usingIterator); - var values = []; - var next = true; - while (next) { - next = IteratorStep(iterator); - if (next) { - var nextValue = IteratorValue(next); - $arrayPush(values, nextValue); - } - } - return values; - } - - return ToObject(items); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2016/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2016/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2016/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorStep.js b/node_modules/object.assign/node_modules/es-abstract/2016/IteratorStep.js deleted file mode 100644 index 41b9d1b25..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorStep.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var IteratorComplete = require('./IteratorComplete'); -var IteratorNext = require('./IteratorNext'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep - -module.exports = function IteratorStep(iterator) { - var result = IteratorNext(iterator); - var done = IteratorComplete(result); - return done === true ? false : result; -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2016/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2016/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ObjectCreate.js b/node_modules/object.assign/node_modules/es-abstract/2016/ObjectCreate.js deleted file mode 100644 index e2445b022..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ObjectCreate.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ObjectCreate = GetIntrinsic('%Object.create%', true); -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var Type = require('./Type'); - -var hasProto = !({ __proto__: null } instanceof Object); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate - -module.exports = function ObjectCreate(proto, internalSlotsList) { - if (proto !== null && Type(proto) !== 'Object') { - throw new $TypeError('Assertion failed: `proto` must be null or an object'); - } - var slots = arguments.length < 2 ? [] : internalSlotsList; - if (slots.length > 0) { - throw new $SyntaxError('es-abstract does not yet support internal slots'); - } - - if ($ObjectCreate) { - return $ObjectCreate(proto); - } - if (hasProto) { - return { __proto__: proto }; - } - - if (proto === null) { - throw new $SyntaxError('native Object.create support is required to create null objects'); - } - var T = function T() {}; - T.prototype = proto; - return new T(); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryCreateFromConstructor.js deleted file mode 100644 index e390a600a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var ObjectCreate = require('./ObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return ObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js deleted file mode 100644 index 344077a40..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $getProto = require('../helpers/getProto'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof - -module.exports = function OrdinaryGetPrototypeOf(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!$getProto) { - throw new $TypeError('This environment does not support fetching prototypes.'); - } - return $getProto(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js deleted file mode 100644 index 3541331ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $setProto = require('../helpers/setProto'); - -var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof - -module.exports = function OrdinarySetPrototypeOf(O, V) { - if (Type(V) !== 'Object' && Type(V) !== 'Null') { - throw new $TypeError('Assertion failed: V must be Object or Null'); - } - /* - var extensible = IsExtensible(O); - var current = OrdinaryGetPrototypeOf(O); - if (SameValue(V, current)) { - return true; - } - if (!extensible) { - return false; - } - */ - try { - $setProto(O, V); - } catch (e) { - return false; - } - return OrdinaryGetPrototypeOf(O) === V; - /* - var p = V; - var done = false; - while (!done) { - if (p === null) { - done = true; - } else if (SameValue(p, O)) { - return false; - } else { - if (wat) { - done = true; - } else { - p = p.[[Prototype]]; - } - } - } - O.[[Prototype]] = V; - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2016/QuoteJSONString.js deleted file mode 100644 index 5c2d6f05e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/QuoteJSONString.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); -var $strSlice = callBound('String.prototype.slice'); -var $strSplit = callBound('String.prototype.split'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring - -var escapes = { - '\u0008': 'b', - '\u000C': 'f', - '\u000A': 'n', - '\u000D': 'r', - '\u0009': 't' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach($strSplit(value), function (C) { - if (C === '"' || C === '\\') { - product += '\u005C' + C; - } else if (C === '\u0008' || C === '\u000C' || C === '\u000A' || C === '\u000D' || C === '\u0009') { - var abbrev = escapes[C]; - product += '\u005C' + abbrev; - } else { - var cCharCode = $charCodeAt(C, 0); - if (cCharCode < 0x20) { - product += '\u005Cu' + $toLowerCase($strSlice('0000' + $numberToString(cCharCode, 16), -4)); - } else { - product += C; - } - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2016/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/RequireObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/2016/RequireObjectCoercible.js deleted file mode 100644 index 9008359db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/RequireObjectCoercible.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../5/CheckObjectCoercible'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SameValueNonNumber.js b/node_modules/object.assign/node_modules/es-abstract/2016/SameValueNonNumber.js deleted file mode 100644 index 5668752e3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SameValueNonNumber.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); - -// https://www.ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber - -module.exports = function SameValueNonNumber(x, y) { - if (typeof x === 'number' || typeof x !== typeof y) { - throw new $TypeError('SameValueNonNumber requires two non-number values of the same type.'); - } - return SameValue(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2016/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Set.js b/node_modules/object.assign/node_modules/es-abstract/2016/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2016/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2016/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2016/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2016/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2016/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2016/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2016/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2016/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2016/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToLength.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToLength.js deleted file mode 100644 index 1bef9bed7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToLength.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var ToInteger = require('./ToInteger'); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8.js deleted file mode 100644 index 2dfd97cb3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/6.0/#sec-touint8 - -module.exports = function ToUint8(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x100); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/Type.js b/node_modules/object.assign/node_modules/es-abstract/2016/Type.js deleted file mode 100644 index 0bd11659c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/Type.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/UTF16Encoding.js b/node_modules/object.assign/node_modules/es-abstract/2016/UTF16Encoding.js deleted file mode 100644 index 7cedbb20f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/UTF16Encoding.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); - -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding - -module.exports = function UTF16Encoding(cp) { - if (typeof cp !== 'number' || cp < 0 || cp > 0x10FFFF) { - throw new $TypeError('Assertion failed: `cp` must be >= 0 and <= 0x10FFFF'); - } - if (cp <= 65535) { - return cp; - } - var cu1 = floor((cp - 65536) / 1024) + 0xD800; - var cu2 = modulo(cp - 65536, 1024) + 0xDC00; - return $fromCharCode(cu1) + $fromCharCode(cu2); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2016/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/abs.js b/node_modules/object.assign/node_modules/es-abstract/2016/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/floor.js b/node_modules/object.assign/node_modules/es-abstract/2016/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2016/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2016/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2016/thisTimeValue.js b/node_modules/object.assign/node_modules/es-abstract/2016/thisTimeValue.js deleted file mode 100644 index d7cda28c9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2016/thisTimeValue.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $DateValueOf = require('../helpers/callBound')('Date.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object - -module.exports = function thisTimeValue(value) { - return $DateValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2017/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2017/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2017/AdvanceStringIndex.js deleted file mode 100644 index 69dae1b7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/AdvanceStringIndex.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $charCodeAt = require('../helpers/callBound')('String.prototype.charCodeAt'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - - var first = $charCodeAt(S, index); - if (!isLeadingSurrogate(first)) { - return index + 1; - } - - var second = $charCodeAt(S, index + 1); - if (!isTrailingSurrogate(second)) { - return index + 1; - } - - return index + 2; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2017/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2017/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2017/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Call.js b/node_modules/object.assign/node_modules/es-abstract/2017/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2017/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CompletePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/CompletePropertyDescriptor.js deleted file mode 100644 index 548bf415a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CompletePropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor - -module.exports = function CompletePropertyDescriptor(Desc) { - /* eslint no-param-reassign: 0 */ - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (!has(Desc, '[[Value]]')) { - Desc['[[Value]]'] = void 0; - } - if (!has(Desc, '[[Writable]]')) { - Desc['[[Writable]]'] = false; - } - } else { - if (!has(Desc, '[[Get]]')) { - Desc['[[Get]]'] = void 0; - } - if (!has(Desc, '[[Set]]')) { - Desc['[[Set]]'] = void 0; - } - } - if (!has(Desc, '[[Enumerable]]')) { - Desc['[[Enumerable]]'] = false; - } - if (!has(Desc, '[[Configurable]]')) { - Desc['[[Configurable]]'] = false; - } - return Desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateListFromArrayLike.js deleted file mode 100644 index d6b44b5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateListFromArrayLike.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = ToLength(Get(obj, 'length')); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Day.js b/node_modules/object.assign/node_modules/es-abstract/2017/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2017/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2017/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2017/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2017/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2017/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/EnumerableOwnProperties.js b/node_modules/object.assign/node_modules/es-abstract/2017/EnumerableOwnProperties.js deleted file mode 100644 index e2ed7226c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/EnumerableOwnProperties.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var objectKeys = require('object-keys'); - -var callBound = require('../helpers/callBound'); - -var callBind = require('../helpers/callBind'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); -var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%')); - -var forEach = require('../helpers/forEach'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties - -module.exports = function EnumerableOwnProperties(O, kind) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - var keys = objectKeys(O); - if (kind === 'key') { - return keys; - } - if (kind === 'value' || kind === 'key+value') { - var results = []; - forEach(keys, function (key) { - if ($isEnumerable(O, key)) { - $pushApply(results, [ - kind === 'value' ? O[key] : [key, O[key]] - ]); - } - }); - return results; - } - throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Get.js b/node_modules/object.assign/node_modules/es-abstract/2017/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetSubstitution.js deleted file mode 100644 index 6497aaed4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetSubstitution.js +++ /dev/null @@ -1,104 +0,0 @@ - -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $parseInt = GetIntrinsic('%parseInt%'); - -var inspect = require('object-inspect'); - -var regexTester = require('../helpers/regexTester'); -var callBound = require('../helpers/callBound'); -var every = require('../helpers/every'); - -var isDigit = regexTester(/^[0-9]$/); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); - -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2017/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2017/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2017/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2017/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyDescriptor.js deleted file mode 100644 index 2a96c637b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyDescriptor.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var Type = require('./Type'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); - -// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type - -module.exports = function IsPropertyDescriptor(Desc) { - return isPropertyDescriptor({ - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor, - Type: Type - }, Desc); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2017/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IterableToList.js b/node_modules/object.assign/node_modules/es-abstract/2017/IterableToList.js deleted file mode 100644 index 0b8cdcfe3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IterableToList.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); -var $arrayPush = callBound('Array.prototype.push'); - -var GetIterator = require('./GetIterator'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-iterabletolist - -module.exports = function IterableToList(items, method) { - var iterator = GetIterator(items, method); - var values = []; - var next = true; - while (next) { - next = IteratorStep(iterator); - if (next) { - var nextValue = IteratorValue(next); - $arrayPush(values, nextValue); - } - } - return values; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2017/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2017/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2017/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorStep.js b/node_modules/object.assign/node_modules/es-abstract/2017/IteratorStep.js deleted file mode 100644 index 41b9d1b25..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorStep.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var IteratorComplete = require('./IteratorComplete'); -var IteratorNext = require('./IteratorNext'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep - -module.exports = function IteratorStep(iterator) { - var result = IteratorNext(iterator); - var done = IteratorComplete(result); - return done === true ? false : result; -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2017/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2017/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ObjectCreate.js b/node_modules/object.assign/node_modules/es-abstract/2017/ObjectCreate.js deleted file mode 100644 index e2445b022..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ObjectCreate.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ObjectCreate = GetIntrinsic('%Object.create%', true); -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var Type = require('./Type'); - -var hasProto = !({ __proto__: null } instanceof Object); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate - -module.exports = function ObjectCreate(proto, internalSlotsList) { - if (proto !== null && Type(proto) !== 'Object') { - throw new $TypeError('Assertion failed: `proto` must be null or an object'); - } - var slots = arguments.length < 2 ? [] : internalSlotsList; - if (slots.length > 0) { - throw new $SyntaxError('es-abstract does not yet support internal slots'); - } - - if ($ObjectCreate) { - return $ObjectCreate(proto); - } - if (hasProto) { - return { __proto__: proto }; - } - - if (proto === null) { - throw new $SyntaxError('native Object.create support is required to create null objects'); - } - var T = function T() {}; - T.prototype = proto; - return new T(); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryCreateFromConstructor.js deleted file mode 100644 index e390a600a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var ObjectCreate = require('./ObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return ObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js deleted file mode 100644 index 344077a40..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $getProto = require('../helpers/getProto'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof - -module.exports = function OrdinaryGetPrototypeOf(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!$getProto) { - throw new $TypeError('This environment does not support fetching prototypes.'); - } - return $getProto(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js deleted file mode 100644 index 3541331ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $setProto = require('../helpers/setProto'); - -var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof - -module.exports = function OrdinarySetPrototypeOf(O, V) { - if (Type(V) !== 'Object' && Type(V) !== 'Null') { - throw new $TypeError('Assertion failed: V must be Object or Null'); - } - /* - var extensible = IsExtensible(O); - var current = OrdinaryGetPrototypeOf(O); - if (SameValue(V, current)) { - return true; - } - if (!extensible) { - return false; - } - */ - try { - $setProto(O, V); - } catch (e) { - return false; - } - return OrdinaryGetPrototypeOf(O) === V; - /* - var p = V; - var done = false; - while (!done) { - if (p === null) { - done = true; - } else if (SameValue(p, O)) { - return false; - } else { - if (wat) { - done = true; - } else { - p = p.[[Prototype]]; - } - } - } - O.[[Prototype]] = V; - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2017/QuoteJSONString.js deleted file mode 100644 index 5c2d6f05e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/QuoteJSONString.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); -var $strSlice = callBound('String.prototype.slice'); -var $strSplit = callBound('String.prototype.split'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring - -var escapes = { - '\u0008': 'b', - '\u000C': 'f', - '\u000A': 'n', - '\u000D': 'r', - '\u0009': 't' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach($strSplit(value), function (C) { - if (C === '"' || C === '\\') { - product += '\u005C' + C; - } else if (C === '\u0008' || C === '\u000C' || C === '\u000A' || C === '\u000D' || C === '\u0009') { - var abbrev = escapes[C]; - product += '\u005C' + abbrev; - } else { - var cCharCode = $charCodeAt(C, 0); - if (cCharCode < 0x20) { - product += '\u005Cu' + $toLowerCase($strSlice('0000' + $numberToString(cCharCode, 16), -4)); - } else { - product += C; - } - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2017/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/RequireObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/2017/RequireObjectCoercible.js deleted file mode 100644 index 9008359db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/RequireObjectCoercible.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../5/CheckObjectCoercible'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SameValueNonNumber.js b/node_modules/object.assign/node_modules/es-abstract/2017/SameValueNonNumber.js deleted file mode 100644 index 5668752e3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SameValueNonNumber.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); - -// https://www.ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber - -module.exports = function SameValueNonNumber(x, y) { - if (typeof x === 'number' || typeof x !== typeof y) { - throw new $TypeError('SameValueNonNumber requires two non-number values of the same type.'); - } - return SameValue(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2017/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Set.js b/node_modules/object.assign/node_modules/es-abstract/2017/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2017/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2017/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2017/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2017/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/StringGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2017/StringGetOwnProperty.js deleted file mode 100644 index f8db320e2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/StringGetOwnProperty.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var $charAt = callBound('String.prototype.charAt'); -var $stringToString = callBound('String.prototype.toString'); - -var CanonicalNumericIndexString = require('./CanonicalNumericIndexString'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -var isNegativeZero = require('is-negative-zero'); - -// https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty - -module.exports = function StringGetOwnProperty(S, P) { - var str; - if (Type(S) === 'Object') { - try { - str = $stringToString(S); - } catch (e) { /**/ } - } - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a boxed string object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - if (Type(P) !== 'String') { - return void undefined; - } - var index = CanonicalNumericIndexString(P); - var len = str.length; - if (typeof index === 'undefined' || !IsInteger(index) || isNegativeZero(index) || index < 0 || len <= index) { - return void undefined; - } - var resultStr = $charAt(S, index); - return { - '[[Configurable]]': false, - '[[Enumerable]]': true, - '[[Value]]': resultStr, - '[[Writable]]': false - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2017/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2017/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2017/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2017/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2017/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToIndex.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToIndex.js deleted file mode 100644 index a55398d3e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToIndex.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); - -var ToInteger = require('./ToInteger'); -var ToLength = require('./ToLength'); -var SameValueZero = require('./SameValueZero'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-toindex - -module.exports = function ToIndex(value) { - if (typeof value === 'undefined') { - return 0; - } - var integerIndex = ToInteger(value); - if (integerIndex < 0) { - throw new $RangeError('index must be >= 0'); - } - var index = ToLength(integerIndex); - if (!SameValueZero(integerIndex, index)) { - throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1'); - } - return index; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToLength.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToLength.js deleted file mode 100644 index 1bef9bed7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToLength.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var ToInteger = require('./ToInteger'); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8.js deleted file mode 100644 index 2dfd97cb3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/6.0/#sec-touint8 - -module.exports = function ToUint8(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x100); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/Type.js b/node_modules/object.assign/node_modules/es-abstract/2017/Type.js deleted file mode 100644 index 0bd11659c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/Type.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/UTF16Encoding.js b/node_modules/object.assign/node_modules/es-abstract/2017/UTF16Encoding.js deleted file mode 100644 index 7cedbb20f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/UTF16Encoding.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); - -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding - -module.exports = function UTF16Encoding(cp) { - if (typeof cp !== 'number' || cp < 0 || cp > 0x10FFFF) { - throw new $TypeError('Assertion failed: `cp` must be >= 0 and <= 0x10FFFF'); - } - if (cp <= 65535) { - return cp; - } - var cu1 = floor((cp - 65536) / 1024) + 0xD800; - var cu2 = modulo(cp - 65536, 1024) + 0xDC00; - return $fromCharCode(cu1) + $fromCharCode(cu2); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2017/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/abs.js b/node_modules/object.assign/node_modules/es-abstract/2017/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/floor.js b/node_modules/object.assign/node_modules/es-abstract/2017/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2017/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2017/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2017/thisTimeValue.js b/node_modules/object.assign/node_modules/es-abstract/2017/thisTimeValue.js deleted file mode 100644 index d7cda28c9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2017/thisTimeValue.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $DateValueOf = require('../helpers/callBound')('Date.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object - -module.exports = function thisTimeValue(value) { - return $DateValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2018/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2018/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2018/AdvanceStringIndex.js deleted file mode 100644 index 69dae1b7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/AdvanceStringIndex.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $charCodeAt = require('../helpers/callBound')('String.prototype.charCodeAt'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - - var first = $charCodeAt(S, index); - if (!isLeadingSurrogate(first)) { - return index + 1; - } - - var second = $charCodeAt(S, index + 1); - if (!isTrailingSurrogate(second)) { - return index + 1; - } - - return index + 2; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2018/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2018/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2018/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Call.js b/node_modules/object.assign/node_modules/es-abstract/2018/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2018/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CompletePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/CompletePropertyDescriptor.js deleted file mode 100644 index 548bf415a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CompletePropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor - -module.exports = function CompletePropertyDescriptor(Desc) { - /* eslint no-param-reassign: 0 */ - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (!has(Desc, '[[Value]]')) { - Desc['[[Value]]'] = void 0; - } - if (!has(Desc, '[[Writable]]')) { - Desc['[[Writable]]'] = false; - } - } else { - if (!has(Desc, '[[Get]]')) { - Desc['[[Get]]'] = void 0; - } - if (!has(Desc, '[[Set]]')) { - Desc['[[Set]]'] = void 0; - } - } - if (!has(Desc, '[[Enumerable]]')) { - Desc['[[Enumerable]]'] = false; - } - if (!has(Desc, '[[Configurable]]')) { - Desc['[[Configurable]]'] = false; - } - return Desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CopyDataProperties.js b/node_modules/object.assign/node_modules/es-abstract/2018/CopyDataProperties.js deleted file mode 100644 index 402de282d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CopyDataProperties.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); -var OwnPropertyKeys = require('../helpers/OwnPropertyKeys'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var CreateDataProperty = require('./CreateDataProperty'); -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToObject = require('./ToObject'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-copydataproperties - -module.exports = function CopyDataProperties(target, source, excludedItems) { - if (Type(target) !== 'Object') { - throw new $TypeError('Assertion failed: "target" must be an Object'); - } - - if (!IsArray(excludedItems)) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - for (var i = 0; i < excludedItems.length; i += 1) { - if (!IsPropertyKey(excludedItems[i])) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - } - - if (typeof source === 'undefined' || source === null) { - return target; - } - - var fromObj = ToObject(source); - - var sourceKeys = OwnPropertyKeys(fromObj); - forEach(sourceKeys, function (nextKey) { - var excluded = false; - - forEach(excludedItems, function (e) { - if (SameValue(e, nextKey) === true) { - excluded = true; - } - }); - - var enumerable = $isEnumerable(fromObj, nextKey) || ( - // this is to handle string keys being non-enumerable in older engines - typeof source === 'string' - && nextKey >= 0 - && IsInteger(ToNumber(nextKey)) - ); - if (excluded === false && enumerable) { - var propValue = Get(fromObj, nextKey); - CreateDataProperty(target, nextKey, propValue); - } - }); - - return target; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateListFromArrayLike.js deleted file mode 100644 index d6b44b5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateListFromArrayLike.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = ToLength(Get(obj, 'length')); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DateString.js b/node_modules/object.assign/node_modules/es-abstract/2018/DateString.js deleted file mode 100644 index fc3032906..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DateString.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var Type = require('./Type'); -var WeekDay = require('./WeekDay'); -var MonthFromTime = require('./MonthFromTime'); -var YearFromTime = require('./YearFromTime'); -var DateFromTime = require('./DateFromTime'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-datestring - -module.exports = function DateString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var weekday = weekdays[WeekDay(tv)]; - var month = months[MonthFromTime(tv)]; - var day = padTimeComponent(DateFromTime(tv)); - var year = padTimeComponent(YearFromTime(tv), 4); - return weekday + '\x20' + month + '\x20' + day + '\x20' + year; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Day.js b/node_modules/object.assign/node_modules/es-abstract/2018/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2018/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2018/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2018/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2018/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2018/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js b/node_modules/object.assign/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js deleted file mode 100644 index e2ed7226c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var objectKeys = require('object-keys'); - -var callBound = require('../helpers/callBound'); - -var callBind = require('../helpers/callBind'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); -var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%')); - -var forEach = require('../helpers/forEach'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties - -module.exports = function EnumerableOwnProperties(O, kind) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - var keys = objectKeys(O); - if (kind === 'key') { - return keys; - } - if (kind === 'value' || kind === 'key+value') { - var results = []; - forEach(keys, function (key) { - if ($isEnumerable(O, key)) { - $pushApply(results, [ - kind === 'value' ? O[key] : [key, O[key]] - ]); - } - }); - return results; - } - throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Get.js b/node_modules/object.assign/node_modules/es-abstract/2018/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetSubstitution.js deleted file mode 100644 index cc72b39e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetSubstitution.js +++ /dev/null @@ -1,128 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var every = require('../helpers/every'); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); -var $indexOf = callBound('String.prototype.indexOf'); -var $parseInt = parseInt; - -var isDigit = regexTester(/^[0-9]$/); - -var inspect = require('object-inspect'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var ToObject = require('./ToObject'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// http://www.ecma-international.org/ecma-262/9.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, namedCaptures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - if (Type(namedCaptures) !== 'Undefined') { - namedCaptures = ToObject(namedCaptures); // eslint-disable-line no-param-reassign - } - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else if (next === '<') { - // eslint-disable-next-line max-depth - if (Type(namedCaptures) === 'Undefined') { - result += '$<'; - i += 2; - } else { - var endIndex = $indexOf(replacement, '>', i); - // eslint-disable-next-line max-depth - if (endIndex > -1) { - var groupName = $strSlice(replacement, i, endIndex); - var capture = Get(namedCaptures, groupName); - // eslint-disable-next-line max-depth - if (Type(capture) !== 'Undefined') { - result += ToString(capture); - } - i += '$<' + groupName + '>'.length; - } - } - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2018/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2018/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2018/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2018/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IsStringPrefix.js b/node_modules/object.assign/node_modules/es-abstract/2018/IsStringPrefix.js deleted file mode 100644 index f5e299623..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IsStringPrefix.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPrefixOf = require('../helpers/isPrefixOf'); - -// var callBound = require('../helpers/callBound'); - -// var $charAt = callBound('String.prototype.charAt'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-isstringprefix - -module.exports = function IsStringPrefix(p, q) { - if (Type(p) !== 'String') { - throw new $TypeError('Assertion failed: "p" must be a String'); - } - - if (Type(q) !== 'String') { - throw new $TypeError('Assertion failed: "q" must be a String'); - } - - return isPrefixOf(p, q); - /* - if (p === q || p === '') { - return true; - } - - var pLength = p.length; - var qLength = q.length; - if (pLength >= qLength) { - return false; - } - - // assert: pLength < qLength - - for (var i = 0; i < pLength; i += 1) { - if ($charAt(p, i) !== $charAt(q, i)) { - return false; - } - } - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IterableToList.js b/node_modules/object.assign/node_modules/es-abstract/2018/IterableToList.js deleted file mode 100644 index 0b8cdcfe3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IterableToList.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); -var $arrayPush = callBound('Array.prototype.push'); - -var GetIterator = require('./GetIterator'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-iterabletolist - -module.exports = function IterableToList(items, method) { - var iterator = GetIterator(items, method); - var values = []; - var next = true; - while (next) { - next = IteratorStep(iterator); - if (next) { - var nextValue = IteratorValue(next); - $arrayPush(values, nextValue); - } - } - return values; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2018/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2018/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2018/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorStep.js b/node_modules/object.assign/node_modules/es-abstract/2018/IteratorStep.js deleted file mode 100644 index 41b9d1b25..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorStep.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var IteratorComplete = require('./IteratorComplete'); -var IteratorNext = require('./IteratorNext'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep - -module.exports = function IteratorStep(iterator) { - var result = IteratorNext(iterator); - var done = IteratorComplete(result); - return done === true ? false : result; -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2018/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2018/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/NumberToString.js b/node_modules/object.assign/node_modules/es-abstract/2018/NumberToString.js deleted file mode 100644 index 741727c41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/NumberToString.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-tostring-applied-to-the-number-type - -module.exports = function NumberToString(m) { - if (Type(m) !== 'Number') { - throw new $TypeError('Assertion failed: "m" must be a String'); - } - - return $String(m); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ObjectCreate.js b/node_modules/object.assign/node_modules/es-abstract/2018/ObjectCreate.js deleted file mode 100644 index e2445b022..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ObjectCreate.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ObjectCreate = GetIntrinsic('%Object.create%', true); -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var Type = require('./Type'); - -var hasProto = !({ __proto__: null } instanceof Object); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate - -module.exports = function ObjectCreate(proto, internalSlotsList) { - if (proto !== null && Type(proto) !== 'Object') { - throw new $TypeError('Assertion failed: `proto` must be null or an object'); - } - var slots = arguments.length < 2 ? [] : internalSlotsList; - if (slots.length > 0) { - throw new $SyntaxError('es-abstract does not yet support internal slots'); - } - - if ($ObjectCreate) { - return $ObjectCreate(proto); - } - if (hasProto) { - return { __proto__: proto }; - } - - if (proto === null) { - throw new $SyntaxError('native Object.create support is required to create null objects'); - } - var T = function T() {}; - T.prototype = proto; - return new T(); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryCreateFromConstructor.js deleted file mode 100644 index e390a600a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var ObjectCreate = require('./ObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return ObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js deleted file mode 100644 index 344077a40..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $getProto = require('../helpers/getProto'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof - -module.exports = function OrdinaryGetPrototypeOf(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!$getProto) { - throw new $TypeError('This environment does not support fetching prototypes.'); - } - return $getProto(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js deleted file mode 100644 index 3541331ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $setProto = require('../helpers/setProto'); - -var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof - -module.exports = function OrdinarySetPrototypeOf(O, V) { - if (Type(V) !== 'Object' && Type(V) !== 'Null') { - throw new $TypeError('Assertion failed: V must be Object or Null'); - } - /* - var extensible = IsExtensible(O); - var current = OrdinaryGetPrototypeOf(O); - if (SameValue(V, current)) { - return true; - } - if (!extensible) { - return false; - } - */ - try { - $setProto(O, V); - } catch (e) { - return false; - } - return OrdinaryGetPrototypeOf(O) === V; - /* - var p = V; - var done = false; - while (!done) { - if (p === null) { - done = true; - } else if (SameValue(p, O)) { - return false; - } else { - if (wat) { - done = true; - } else { - p = p.[[Prototype]]; - } - } - } - O.[[Prototype]] = V; - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/PromiseResolve.js b/node_modules/object.assign/node_modules/es-abstract/2018/PromiseResolve.js deleted file mode 100644 index f70745df7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/PromiseResolve.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseResolve = callBound('Promise.resolve', true); - -// https://ecma-international.org/ecma-262/9.0/#sec-promise-resolve - -module.exports = function PromiseResolve(C, x) { - if (!$PromiseResolve) { - throw new SyntaxError('This environment does not support Promises.'); - } - return $PromiseResolve(C, x); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2018/QuoteJSONString.js deleted file mode 100644 index 26133dcc5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/QuoteJSONString.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $strSplit = callBound('String.prototype.split'); - -var Type = require('./Type'); -var UnicodeEscape = require('./UnicodeEscape'); - -var has = require('has'); - -// https://ecma-international.org/ecma-262/9.0/#sec-quotejsonstring - -var escapes = { - '\u0008': '\\b', - '\u0009': '\\t', - '\u000A': '\\n', - '\u000C': '\\f', - '\u000D': '\\r', - '\u0022': '\\"', - '\u005c': '\\\\' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach($strSplit(value), function (C) { - if (has(escapes, C)) { - product += escapes[C]; - } else if ($charCodeAt(C, 0) < 0x20) { - product += UnicodeEscape(C); - } else { - product += C; - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2018/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/RequireObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/2018/RequireObjectCoercible.js deleted file mode 100644 index 9008359db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/RequireObjectCoercible.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../5/CheckObjectCoercible'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SameValueNonNumber.js b/node_modules/object.assign/node_modules/es-abstract/2018/SameValueNonNumber.js deleted file mode 100644 index 5668752e3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SameValueNonNumber.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); - -// https://www.ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber - -module.exports = function SameValueNonNumber(x, y) { - if (typeof x === 'number' || typeof x !== typeof y) { - throw new $TypeError('SameValueNonNumber requires two non-number values of the same type.'); - } - return SameValue(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2018/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Set.js b/node_modules/object.assign/node_modules/es-abstract/2018/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionLength.js b/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionLength.js deleted file mode 100644 index cb2449655..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionLength.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var HasOwnProperty = require('./HasOwnProperty'); -var IsExtensible = require('./IsExtensible'); -var ToInteger = require('./ToInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/9.0/#sec-setfunctionlength - -module.exports = function SetFunctionLength(F, length) { - if (typeof F !== 'function' || !IsExtensible(F) || HasOwnProperty(F, 'length')) { - throw new $TypeError('Assertion failed: `F` must be an extensible function and lack an own `length` property'); - } - if (Type(length) !== 'Number') { - throw new $TypeError('Assertion failed: `length` must be a Number'); - } - if (length < 0 || ToInteger(length) !== length) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0'); - } - return DefinePropertyOrThrow(F, 'length', { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': false - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2018/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2018/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2018/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/StringGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2018/StringGetOwnProperty.js deleted file mode 100644 index f8db320e2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/StringGetOwnProperty.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var $charAt = callBound('String.prototype.charAt'); -var $stringToString = callBound('String.prototype.toString'); - -var CanonicalNumericIndexString = require('./CanonicalNumericIndexString'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -var isNegativeZero = require('is-negative-zero'); - -// https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty - -module.exports = function StringGetOwnProperty(S, P) { - var str; - if (Type(S) === 'Object') { - try { - str = $stringToString(S); - } catch (e) { /**/ } - } - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a boxed string object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - if (Type(P) !== 'String') { - return void undefined; - } - var index = CanonicalNumericIndexString(P); - var len = str.length; - if (typeof index === 'undefined' || !IsInteger(index) || isNegativeZero(index) || index < 0 || len <= index) { - return void undefined; - } - var resultStr = $charAt(S, index); - return { - '[[Configurable]]': false, - '[[Enumerable]]': true, - '[[Value]]': resultStr, - '[[Writable]]': false - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2018/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2018/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2018/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2018/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/TimeString.js b/node_modules/object.assign/node_modules/es-abstract/2018/TimeString.js deleted file mode 100644 index 87642eb54..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/TimeString.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var HourFromTime = require('./HourFromTime'); -var MinFromTime = require('./MinFromTime'); -var SecFromTime = require('./SecFromTime'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-timestring - -module.exports = function TimeString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var hour = HourFromTime(tv); - var minute = MinFromTime(tv); - var second = SecFromTime(tv); - return padTimeComponent(hour) + ':' + padTimeComponent(minute) + ':' + padTimeComponent(second) + '\x20GMT'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2018/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToIndex.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToIndex.js deleted file mode 100644 index a55398d3e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToIndex.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); - -var ToInteger = require('./ToInteger'); -var ToLength = require('./ToLength'); -var SameValueZero = require('./SameValueZero'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-toindex - -module.exports = function ToIndex(value) { - if (typeof value === 'undefined') { - return 0; - } - var integerIndex = ToInteger(value); - if (integerIndex < 0) { - throw new $RangeError('index must be >= 0'); - } - var index = ToLength(integerIndex); - if (!SameValueZero(integerIndex, index)) { - throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1'); - } - return index; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToLength.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToLength.js deleted file mode 100644 index 1bef9bed7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToLength.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var ToInteger = require('./ToInteger'); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8.js deleted file mode 100644 index 2dfd97cb3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/6.0/#sec-touint8 - -module.exports = function ToUint8(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x100); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/Type.js b/node_modules/object.assign/node_modules/es-abstract/2018/Type.js deleted file mode 100644 index 0bd11659c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/Type.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/UTF16Encoding.js b/node_modules/object.assign/node_modules/es-abstract/2018/UTF16Encoding.js deleted file mode 100644 index 7cedbb20f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/UTF16Encoding.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); - -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding - -module.exports = function UTF16Encoding(cp) { - if (typeof cp !== 'number' || cp < 0 || cp > 0x10FFFF) { - throw new $TypeError('Assertion failed: `cp` must be >= 0 and <= 0x10FFFF'); - } - if (cp <= 65535) { - return cp; - } - var cu1 = floor((cp - 65536) / 1024) + 0xD800; - var cu2 = modulo(cp - 65536, 1024) + 0xDC00; - return $fromCharCode(cu1) + $fromCharCode(cu2); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/UnicodeEscape.js b/node_modules/object.assign/node_modules/es-abstract/2018/UnicodeEscape.js deleted file mode 100644 index aeca437ea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/UnicodeEscape.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); -var $strSlice = callBound('String.prototype.slice'); - -// https://tc39.es/ecma262/2020/#sec-unicodeescape - -module.exports = function UnicodeEscape(C) { - if (typeof C !== 'string' || C.length !== 1) { - throw new $TypeError('Assertion failed: `C` must be a single code unit'); - } - var n = $charCodeAt(C, 0); - if (n > 0xFFFF) { - throw new $TypeError('`Assertion failed: numeric value of `C` must be <= 0xFFFF'); - } - - return '\\u' + $strSlice('0000' + $toLowerCase($numberToString(n, 16)), -4); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2018/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/abs.js b/node_modules/object.assign/node_modules/es-abstract/2018/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/floor.js b/node_modules/object.assign/node_modules/es-abstract/2018/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2018/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2018/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/thisSymbolValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/thisSymbolValue.js deleted file mode 100644 index 3c3b3475d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/thisSymbolValue.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/9.0/#sec-thissymbolvalue - -module.exports = function thisSymbolValue(value) { - if (!$SymbolValueOf) { - throw new SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object'); - } - if (Type(value) === 'Symbol') { - return value; - } - return $SymbolValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2018/thisTimeValue.js b/node_modules/object.assign/node_modules/es-abstract/2018/thisTimeValue.js deleted file mode 100644 index d7cda28c9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2018/thisTimeValue.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $DateValueOf = require('../helpers/callBound')('Date.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object - -module.exports = function thisTimeValue(value) { - return $DateValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2019/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2019/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/AddEntriesFromIterable.js b/node_modules/object.assign/node_modules/es-abstract/2019/AddEntriesFromIterable.js deleted file mode 100644 index 5aed44753..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/AddEntriesFromIterable.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var inspect = require('object-inspect'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var Get = require('./Get'); -var GetIterator = require('./GetIterator'); -var IsCallable = require('./IsCallable'); -var IteratorClose = require('./IteratorClose'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); -var Type = require('./Type'); - -// https://tc39.es/ecma262/#sec-add-entries-from-iterable - -module.exports = function AddEntriesFromIterable(target, iterable, adder) { - if (!IsCallable(adder)) { - throw new $TypeError('Assertion failed: `adder` is not callable'); - } - if (iterable == null) { - throw new $TypeError('Assertion failed: `iterable` is present, and not nullish'); - } - var iteratorRecord = GetIterator(iterable); - while (true) { // eslint-disable-line no-constant-condition - var next = IteratorStep(iteratorRecord); - if (!next) { - return target; - } - var nextItem = IteratorValue(next); - if (Type(nextItem) !== 'Object') { - var error = new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)); - return IteratorClose( - iteratorRecord, - function () { throw error; } // eslint-disable-line no-loop-func - ); - } - try { - var k = Get(nextItem, '0'); - var v = Get(nextItem, '1'); - Call(adder, target, [k, v]); - } catch (e) { - return IteratorClose( - iteratorRecord, - function () { throw e; } - ); - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2019/AdvanceStringIndex.js deleted file mode 100644 index 69dae1b7c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/AdvanceStringIndex.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $charCodeAt = require('../helpers/callBound')('String.prototype.charCodeAt'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - - var first = $charCodeAt(S, index); - if (!isLeadingSurrogate(first)) { - return index + 1; - } - - var second = $charCodeAt(S, index + 1); - if (!isTrailingSurrogate(second)) { - return index + 1; - } - - return index + 2; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2019/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2019/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2019/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Call.js b/node_modules/object.assign/node_modules/es-abstract/2019/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2019/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CompletePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/CompletePropertyDescriptor.js deleted file mode 100644 index 548bf415a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CompletePropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor - -module.exports = function CompletePropertyDescriptor(Desc) { - /* eslint no-param-reassign: 0 */ - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (!has(Desc, '[[Value]]')) { - Desc['[[Value]]'] = void 0; - } - if (!has(Desc, '[[Writable]]')) { - Desc['[[Writable]]'] = false; - } - } else { - if (!has(Desc, '[[Get]]')) { - Desc['[[Get]]'] = void 0; - } - if (!has(Desc, '[[Set]]')) { - Desc['[[Set]]'] = void 0; - } - } - if (!has(Desc, '[[Enumerable]]')) { - Desc['[[Enumerable]]'] = false; - } - if (!has(Desc, '[[Configurable]]')) { - Desc['[[Configurable]]'] = false; - } - return Desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CopyDataProperties.js b/node_modules/object.assign/node_modules/es-abstract/2019/CopyDataProperties.js deleted file mode 100644 index 402de282d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CopyDataProperties.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); -var OwnPropertyKeys = require('../helpers/OwnPropertyKeys'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var CreateDataProperty = require('./CreateDataProperty'); -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToObject = require('./ToObject'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-copydataproperties - -module.exports = function CopyDataProperties(target, source, excludedItems) { - if (Type(target) !== 'Object') { - throw new $TypeError('Assertion failed: "target" must be an Object'); - } - - if (!IsArray(excludedItems)) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - for (var i = 0; i < excludedItems.length; i += 1) { - if (!IsPropertyKey(excludedItems[i])) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - } - - if (typeof source === 'undefined' || source === null) { - return target; - } - - var fromObj = ToObject(source); - - var sourceKeys = OwnPropertyKeys(fromObj); - forEach(sourceKeys, function (nextKey) { - var excluded = false; - - forEach(excludedItems, function (e) { - if (SameValue(e, nextKey) === true) { - excluded = true; - } - }); - - var enumerable = $isEnumerable(fromObj, nextKey) || ( - // this is to handle string keys being non-enumerable in older engines - typeof source === 'string' - && nextKey >= 0 - && IsInteger(ToNumber(nextKey)) - ); - if (excluded === false && enumerable) { - var propValue = Get(fromObj, nextKey); - CreateDataProperty(target, nextKey, propValue); - } - }); - - return target; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateListFromArrayLike.js deleted file mode 100644 index d6b44b5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateListFromArrayLike.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = ToLength(Get(obj, 'length')); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DateString.js b/node_modules/object.assign/node_modules/es-abstract/2019/DateString.js deleted file mode 100644 index fc3032906..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DateString.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var Type = require('./Type'); -var WeekDay = require('./WeekDay'); -var MonthFromTime = require('./MonthFromTime'); -var YearFromTime = require('./YearFromTime'); -var DateFromTime = require('./DateFromTime'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-datestring - -module.exports = function DateString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var weekday = weekdays[WeekDay(tv)]; - var month = months[MonthFromTime(tv)]; - var day = padTimeComponent(DateFromTime(tv)); - var year = padTimeComponent(YearFromTime(tv), 4); - return weekday + '\x20' + month + '\x20' + day + '\x20' + year; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Day.js b/node_modules/object.assign/node_modules/es-abstract/2019/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2019/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2019/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2019/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2019/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2019/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js b/node_modules/object.assign/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js deleted file mode 100644 index e2ed7226c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var objectKeys = require('object-keys'); - -var callBound = require('../helpers/callBound'); - -var callBind = require('../helpers/callBind'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); -var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%')); - -var forEach = require('../helpers/forEach'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties - -module.exports = function EnumerableOwnProperties(O, kind) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - var keys = objectKeys(O); - if (kind === 'key') { - return keys; - } - if (kind === 'value' || kind === 'key+value') { - var results = []; - forEach(keys, function (key) { - if ($isEnumerable(O, key)) { - $pushApply(results, [ - kind === 'value' ? O[key] : [key, O[key]] - ]); - } - }); - return results; - } - throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/FlattenIntoArray.js b/node_modules/object.assign/node_modules/es-abstract/2019/FlattenIntoArray.js deleted file mode 100644 index 5d6254e79..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/FlattenIntoArray.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var Call = require('./Call'); -var CreateDataPropertyOrThrow = require('./CreateDataPropertyOrThrow'); -var Get = require('./Get'); -var HasProperty = require('./HasProperty'); -var IsArray = require('./IsArray'); -var ToLength = require('./ToLength'); -var ToString = require('./ToString'); - -// https://ecma-international.org/ecma-262/10.0/#sec-flattenintoarray - -// eslint-disable-next-line max-params -module.exports = function FlattenIntoArray(target, source, sourceLen, start, depth) { - var mapperFunction; - if (arguments.length > 5) { - mapperFunction = arguments[5]; - } - - var targetIndex = start; - var sourceIndex = 0; - while (sourceIndex < sourceLen) { - var P = ToString(sourceIndex); - var exists = HasProperty(source, P); - if (exists === true) { - var element = Get(source, P); - if (typeof mapperFunction !== 'undefined') { - if (arguments.length <= 6) { - throw new $TypeError('Assertion failed: thisArg is required when mapperFunction is provided'); - } - element = Call(mapperFunction, arguments[6], [element, sourceIndex, source]); - } - var shouldFlatten = false; - if (depth > 0) { - shouldFlatten = IsArray(element); - } - if (shouldFlatten) { - var elementLen = ToLength(Get(element, 'length')); - targetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1); - } else { - if (targetIndex >= MAX_SAFE_INTEGER) { - throw new $TypeError('index too large'); - } - CreateDataPropertyOrThrow(target, ToString(targetIndex), element); - targetIndex += 1; - } - } - sourceIndex += 1; - } - - return targetIndex; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Get.js b/node_modules/object.assign/node_modules/es-abstract/2019/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetSubstitution.js deleted file mode 100644 index cc72b39e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetSubstitution.js +++ /dev/null @@ -1,128 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var every = require('../helpers/every'); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); -var $indexOf = callBound('String.prototype.indexOf'); -var $parseInt = parseInt; - -var isDigit = regexTester(/^[0-9]$/); - -var inspect = require('object-inspect'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var ToObject = require('./ToObject'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// http://www.ecma-international.org/ecma-262/9.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, namedCaptures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - if (Type(namedCaptures) !== 'Undefined') { - namedCaptures = ToObject(namedCaptures); // eslint-disable-line no-param-reassign - } - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else if (next === '<') { - // eslint-disable-next-line max-depth - if (Type(namedCaptures) === 'Undefined') { - result += '$<'; - i += 2; - } else { - var endIndex = $indexOf(replacement, '>', i); - // eslint-disable-next-line max-depth - if (endIndex > -1) { - var groupName = $strSlice(replacement, i, endIndex); - var capture = Get(namedCaptures, groupName); - // eslint-disable-next-line max-depth - if (Type(capture) !== 'Undefined') { - result += ToString(capture); - } - i += '$<' + groupName + '>'.length; - } - } - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2019/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2019/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2019/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2019/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IsStringPrefix.js b/node_modules/object.assign/node_modules/es-abstract/2019/IsStringPrefix.js deleted file mode 100644 index f5e299623..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IsStringPrefix.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPrefixOf = require('../helpers/isPrefixOf'); - -// var callBound = require('../helpers/callBound'); - -// var $charAt = callBound('String.prototype.charAt'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-isstringprefix - -module.exports = function IsStringPrefix(p, q) { - if (Type(p) !== 'String') { - throw new $TypeError('Assertion failed: "p" must be a String'); - } - - if (Type(q) !== 'String') { - throw new $TypeError('Assertion failed: "q" must be a String'); - } - - return isPrefixOf(p, q); - /* - if (p === q || p === '') { - return true; - } - - var pLength = p.length; - var qLength = q.length; - if (pLength >= qLength) { - return false; - } - - // assert: pLength < qLength - - for (var i = 0; i < pLength; i += 1) { - if ($charAt(p, i) !== $charAt(q, i)) { - return false; - } - } - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IterableToList.js b/node_modules/object.assign/node_modules/es-abstract/2019/IterableToList.js deleted file mode 100644 index 0b8cdcfe3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IterableToList.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); -var $arrayPush = callBound('Array.prototype.push'); - -var GetIterator = require('./GetIterator'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-iterabletolist - -module.exports = function IterableToList(items, method) { - var iterator = GetIterator(items, method); - var values = []; - var next = true; - while (next) { - next = IteratorStep(iterator); - if (next) { - var nextValue = IteratorValue(next); - $arrayPush(values, nextValue); - } - } - return values; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2019/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2019/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2019/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorStep.js b/node_modules/object.assign/node_modules/es-abstract/2019/IteratorStep.js deleted file mode 100644 index 41b9d1b25..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorStep.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var IteratorComplete = require('./IteratorComplete'); -var IteratorNext = require('./IteratorNext'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep - -module.exports = function IteratorStep(iterator) { - var result = IteratorNext(iterator); - var done = IteratorComplete(result); - return done === true ? false : result; -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2019/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2019/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/NumberToString.js b/node_modules/object.assign/node_modules/es-abstract/2019/NumberToString.js deleted file mode 100644 index 741727c41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/NumberToString.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-tostring-applied-to-the-number-type - -module.exports = function NumberToString(m) { - if (Type(m) !== 'Number') { - throw new $TypeError('Assertion failed: "m" must be a String'); - } - - return $String(m); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ObjectCreate.js b/node_modules/object.assign/node_modules/es-abstract/2019/ObjectCreate.js deleted file mode 100644 index e2445b022..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ObjectCreate.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ObjectCreate = GetIntrinsic('%Object.create%', true); -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var Type = require('./Type'); - -var hasProto = !({ __proto__: null } instanceof Object); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate - -module.exports = function ObjectCreate(proto, internalSlotsList) { - if (proto !== null && Type(proto) !== 'Object') { - throw new $TypeError('Assertion failed: `proto` must be null or an object'); - } - var slots = arguments.length < 2 ? [] : internalSlotsList; - if (slots.length > 0) { - throw new $SyntaxError('es-abstract does not yet support internal slots'); - } - - if ($ObjectCreate) { - return $ObjectCreate(proto); - } - if (hasProto) { - return { __proto__: proto }; - } - - if (proto === null) { - throw new $SyntaxError('native Object.create support is required to create null objects'); - } - var T = function T() {}; - T.prototype = proto; - return new T(); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryCreateFromConstructor.js deleted file mode 100644 index e390a600a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var ObjectCreate = require('./ObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return ObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js deleted file mode 100644 index 344077a40..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $getProto = require('../helpers/getProto'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof - -module.exports = function OrdinaryGetPrototypeOf(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!$getProto) { - throw new $TypeError('This environment does not support fetching prototypes.'); - } - return $getProto(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js deleted file mode 100644 index 3541331ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $setProto = require('../helpers/setProto'); - -var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof - -module.exports = function OrdinarySetPrototypeOf(O, V) { - if (Type(V) !== 'Object' && Type(V) !== 'Null') { - throw new $TypeError('Assertion failed: V must be Object or Null'); - } - /* - var extensible = IsExtensible(O); - var current = OrdinaryGetPrototypeOf(O); - if (SameValue(V, current)) { - return true; - } - if (!extensible) { - return false; - } - */ - try { - $setProto(O, V); - } catch (e) { - return false; - } - return OrdinaryGetPrototypeOf(O) === V; - /* - var p = V; - var done = false; - while (!done) { - if (p === null) { - done = true; - } else if (SameValue(p, O)) { - return false; - } else { - if (wat) { - done = true; - } else { - p = p.[[Prototype]]; - } - } - } - O.[[Prototype]] = V; - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/PromiseResolve.js b/node_modules/object.assign/node_modules/es-abstract/2019/PromiseResolve.js deleted file mode 100644 index f70745df7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/PromiseResolve.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseResolve = callBound('Promise.resolve', true); - -// https://ecma-international.org/ecma-262/9.0/#sec-promise-resolve - -module.exports = function PromiseResolve(C, x) { - if (!$PromiseResolve) { - throw new SyntaxError('This environment does not support Promises.'); - } - return $PromiseResolve(C, x); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2019/QuoteJSONString.js deleted file mode 100644 index 3ddb60fb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/QuoteJSONString.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $strSplit = callBound('String.prototype.split'); - -var Type = require('./Type'); -var UnicodeEscape = require('./UnicodeEscape'); -var UTF16Encoding = require('./UTF16Encoding'); - -var has = require('has'); - -// https://ecma-international.org/ecma-262/10.0/#sec-quotejsonstring - -var escapes = { - '\u0008': '\\b', - '\u0009': '\\t', - '\u000A': '\\n', - '\u000C': '\\f', - '\u000D': '\\r', - '\u0022': '\\"', - '\u005c': '\\\\' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach($strSplit(value), function (C) { - if (has(escapes, C)) { - product += escapes[C]; - } else { - var cCharCode = $charCodeAt(C, 0); - if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) { - product += UnicodeEscape(C); - } else { - product += $fromCharCode(UTF16Encoding(cCharCode)); - } - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2019/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/RequireObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/2019/RequireObjectCoercible.js deleted file mode 100644 index 9008359db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/RequireObjectCoercible.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../5/CheckObjectCoercible'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SameValueNonNumber.js b/node_modules/object.assign/node_modules/es-abstract/2019/SameValueNonNumber.js deleted file mode 100644 index 5668752e3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SameValueNonNumber.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); - -// https://www.ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber - -module.exports = function SameValueNonNumber(x, y) { - if (typeof x === 'number' || typeof x !== typeof y) { - throw new $TypeError('SameValueNonNumber requires two non-number values of the same type.'); - } - return SameValue(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2019/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Set.js b/node_modules/object.assign/node_modules/es-abstract/2019/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionLength.js b/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionLength.js deleted file mode 100644 index cb2449655..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionLength.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var HasOwnProperty = require('./HasOwnProperty'); -var IsExtensible = require('./IsExtensible'); -var ToInteger = require('./ToInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/9.0/#sec-setfunctionlength - -module.exports = function SetFunctionLength(F, length) { - if (typeof F !== 'function' || !IsExtensible(F) || HasOwnProperty(F, 'length')) { - throw new $TypeError('Assertion failed: `F` must be an extensible function and lack an own `length` property'); - } - if (Type(length) !== 'Number') { - throw new $TypeError('Assertion failed: `length` must be a Number'); - } - if (length < 0 || ToInteger(length) !== length) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0'); - } - return DefinePropertyOrThrow(F, 'length', { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': false - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2019/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2019/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2019/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/StringGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2019/StringGetOwnProperty.js deleted file mode 100644 index f8db320e2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/StringGetOwnProperty.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var $charAt = callBound('String.prototype.charAt'); -var $stringToString = callBound('String.prototype.toString'); - -var CanonicalNumericIndexString = require('./CanonicalNumericIndexString'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -var isNegativeZero = require('is-negative-zero'); - -// https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty - -module.exports = function StringGetOwnProperty(S, P) { - var str; - if (Type(S) === 'Object') { - try { - str = $stringToString(S); - } catch (e) { /**/ } - } - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a boxed string object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - if (Type(P) !== 'String') { - return void undefined; - } - var index = CanonicalNumericIndexString(P); - var len = str.length; - if (typeof index === 'undefined' || !IsInteger(index) || isNegativeZero(index) || index < 0 || len <= index) { - return void undefined; - } - var resultStr = $charAt(S, index); - return { - '[[Configurable]]': false, - '[[Enumerable]]': true, - '[[Value]]': resultStr, - '[[Writable]]': false - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2019/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2019/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2019/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2019/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TimeString.js b/node_modules/object.assign/node_modules/es-abstract/2019/TimeString.js deleted file mode 100644 index 87642eb54..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TimeString.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var HourFromTime = require('./HourFromTime'); -var MinFromTime = require('./MinFromTime'); -var SecFromTime = require('./SecFromTime'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-timestring - -module.exports = function TimeString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var hour = HourFromTime(tv); - var minute = MinFromTime(tv); - var second = SecFromTime(tv); - return padTimeComponent(hour) + ':' + padTimeComponent(minute) + ':' + padTimeComponent(second) + '\x20GMT'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2019/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToIndex.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToIndex.js deleted file mode 100644 index a55398d3e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToIndex.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); - -var ToInteger = require('./ToInteger'); -var ToLength = require('./ToLength'); -var SameValueZero = require('./SameValueZero'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-toindex - -module.exports = function ToIndex(value) { - if (typeof value === 'undefined') { - return 0; - } - var integerIndex = ToInteger(value); - if (integerIndex < 0) { - throw new $RangeError('index must be >= 0'); - } - var index = ToLength(integerIndex); - if (!SameValueZero(integerIndex, index)) { - throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1'); - } - return index; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToLength.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToLength.js deleted file mode 100644 index 1bef9bed7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToLength.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var ToInteger = require('./ToInteger'); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8.js deleted file mode 100644 index 2dfd97cb3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/6.0/#sec-touint8 - -module.exports = function ToUint8(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x100); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/TrimString.js b/node_modules/object.assign/node_modules/es-abstract/2019/TrimString.js deleted file mode 100644 index b27112cd5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/TrimString.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var trimStart = require('string.prototype.trimstart'); -var trimEnd = require('string.prototype.trimend'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); - -// https://ecma-international.org/ecma-262/10.0/#sec-trimstring - -module.exports = function TrimString(string, where) { - var str = RequireObjectCoercible(string); - var S = ToString(str); - var T; - if (where === 'start') { - T = trimStart(S); - } else if (where === 'end') { - T = trimEnd(S); - } else if (where === 'start+end') { - T = trimStart(trimEnd(S)); - } else { - throw new $TypeError('Assertion failed: invalid `where` value; must be "start", "end", or "start+end"'); - } - return T; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/Type.js b/node_modules/object.assign/node_modules/es-abstract/2019/Type.js deleted file mode 100644 index 0bd11659c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/Type.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/UTF16Encoding.js b/node_modules/object.assign/node_modules/es-abstract/2019/UTF16Encoding.js deleted file mode 100644 index 7cedbb20f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/UTF16Encoding.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); - -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding - -module.exports = function UTF16Encoding(cp) { - if (typeof cp !== 'number' || cp < 0 || cp > 0x10FFFF) { - throw new $TypeError('Assertion failed: `cp` must be >= 0 and <= 0x10FFFF'); - } - if (cp <= 65535) { - return cp; - } - var cu1 = floor((cp - 65536) / 1024) + 0xD800; - var cu2 = modulo(cp - 65536, 1024) + 0xDC00; - return $fromCharCode(cu1) + $fromCharCode(cu2); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/UnicodeEscape.js b/node_modules/object.assign/node_modules/es-abstract/2019/UnicodeEscape.js deleted file mode 100644 index aeca437ea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/UnicodeEscape.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); -var $strSlice = callBound('String.prototype.slice'); - -// https://tc39.es/ecma262/2020/#sec-unicodeescape - -module.exports = function UnicodeEscape(C) { - if (typeof C !== 'string' || C.length !== 1) { - throw new $TypeError('Assertion failed: `C` must be a single code unit'); - } - var n = $charCodeAt(C, 0); - if (n > 0xFFFF) { - throw new $TypeError('`Assertion failed: numeric value of `C` must be <= 0xFFFF'); - } - - return '\\u' + $strSlice('0000' + $toLowerCase($numberToString(n, 16)), -4); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2019/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/abs.js b/node_modules/object.assign/node_modules/es-abstract/2019/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/floor.js b/node_modules/object.assign/node_modules/es-abstract/2019/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2019/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2019/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2019/thisSymbolValue.js b/node_modules/object.assign/node_modules/es-abstract/2019/thisSymbolValue.js deleted file mode 100644 index 3c3b3475d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2019/thisSymbolValue.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/9.0/#sec-thissymbolvalue - -module.exports = function thisSymbolValue(value) { - if (!$SymbolValueOf) { - throw new SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object'); - } - if (Type(value) === 'Symbol') { - return value; - } - return $SymbolValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2020/AbstractEqualityComparison.js deleted file mode 100644 index 40b390986..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/2020/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/AddEntriesFromIterable.js b/node_modules/object.assign/node_modules/es-abstract/2020/AddEntriesFromIterable.js deleted file mode 100644 index 5aed44753..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/AddEntriesFromIterable.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var inspect = require('object-inspect'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var Get = require('./Get'); -var GetIterator = require('./GetIterator'); -var IsCallable = require('./IsCallable'); -var IteratorClose = require('./IteratorClose'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); -var Type = require('./Type'); - -// https://tc39.es/ecma262/#sec-add-entries-from-iterable - -module.exports = function AddEntriesFromIterable(target, iterable, adder) { - if (!IsCallable(adder)) { - throw new $TypeError('Assertion failed: `adder` is not callable'); - } - if (iterable == null) { - throw new $TypeError('Assertion failed: `iterable` is present, and not nullish'); - } - var iteratorRecord = GetIterator(iterable); - while (true) { // eslint-disable-line no-constant-condition - var next = IteratorStep(iteratorRecord); - if (!next) { - return target; - } - var nextItem = IteratorValue(next); - if (Type(nextItem) !== 'Object') { - var error = new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)); - return IteratorClose( - iteratorRecord, - function () { throw error; } // eslint-disable-line no-loop-func - ); - } - try { - var k = Get(nextItem, '0'); - var v = Get(nextItem, '1'); - Call(adder, target, [k, v]); - } catch (e) { - return IteratorClose( - iteratorRecord, - function () { throw e; } - ); - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/AdvanceStringIndex.js b/node_modules/object.assign/node_modules/es-abstract/2020/AdvanceStringIndex.js deleted file mode 100644 index 79eb78906..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/AdvanceStringIndex.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var CodePointAt = require('./CodePointAt'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex - -module.exports = function AdvanceStringIndex(S, index, unicode) { - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53'); - } - if (Type(unicode) !== 'Boolean') { - throw new $TypeError('Assertion failed: `unicode` must be a Boolean'); - } - if (!unicode) { - return index + 1; - } - var length = S.length; - if ((index + 1) >= length) { - return index + 1; - } - var cp = CodePointAt(S, index); - return index + cp['[[CodeUnitCount]]']; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ArrayCreate.js b/node_modules/object.assign/node_modules/es-abstract/2020/ArrayCreate.js deleted file mode 100644 index fc9a7cf82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ArrayCreate.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); -var $RangeError = GetIntrinsic('%RangeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsInteger = require('./IsInteger'); - -var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; - -var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayPrototype - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraycreate - -module.exports = function ArrayCreate(length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); - } - if (length > MAX_ARRAY_LENGTH) { - throw new $RangeError('length is greater than (2**32 - 1)'); - } - var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; - var A = []; // steps 5 - 7, and 9 - if (proto !== $ArrayPrototype) { // step 8 - if (!$setProto) { - throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); - } - $setProto(A, proto); - } - if (length !== 0) { // bypasses the need for step 2 - A.length = length; - } - /* step 10, the above as a shortcut for the below - OrdinaryDefineOwnProperty(A, 'length', { - '[[Configurable]]': false, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': true - }); - */ - return A; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ArraySetLength.js b/node_modules/object.assign/node_modules/es-abstract/2020/ArraySetLength.js deleted file mode 100644 index c9134c6e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ArraySetLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var assign = require('object.assign'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsArray = require('./IsArray'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var ToUint32 = require('./ToUint32'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-arraysetlength - -// eslint-disable-next-line max-statements, max-lines-per-function -module.exports = function ArraySetLength(A, Desc) { - if (!IsArray(A)) { - throw new $TypeError('Assertion failed: A must be an Array'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!('[[Value]]' in Desc)) { - return OrdinaryDefineOwnProperty(A, 'length', Desc); - } - var newLenDesc = assign({}, Desc); - var newLen = ToUint32(Desc['[[Value]]']); - var numberLen = ToNumber(Desc['[[Value]]']); - if (newLen !== numberLen) { - throw new $RangeError('Invalid array length'); - } - newLenDesc['[[Value]]'] = newLen; - var oldLenDesc = OrdinaryGetOwnProperty(A, 'length'); - if (!IsDataDescriptor(oldLenDesc)) { - throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`'); - } - var oldLen = oldLenDesc['[[Value]]']; - if (newLen >= oldLen) { - return OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - } - if (!oldLenDesc['[[Writable]]']) { - return false; - } - var newWritable; - if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) { - newWritable = true; - } else { - newWritable = false; - newLenDesc['[[Writable]]'] = true; - } - var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - if (!succeeded) { - return false; - } - while (newLen < oldLen) { - oldLen -= 1; - // eslint-disable-next-line no-param-reassign - var deleteSucceeded = delete A[ToString(oldLen)]; - if (!deleteSucceeded) { - newLenDesc['[[Value]]'] = oldLen + 1; - if (!newWritable) { - newLenDesc['[[Writable]]'] = false; - OrdinaryDefineOwnProperty(A, 'length', newLenDesc); - return false; - } - } - } - if (!newWritable) { - return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ArraySpeciesCreate.js b/node_modules/object.assign/node_modules/es-abstract/2020/ArraySpeciesCreate.js deleted file mode 100644 index 98b9b561d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ArraySpeciesCreate.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsConstructor = require('./IsConstructor'); -var IsInteger = require('./IsInteger'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryAnd.js b/node_modules/object.assign/node_modules/es-abstract/2020/BinaryAnd.js deleted file mode 100644 index f06d41c34..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryAnd.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://tc39.es/ecma262/2020/#sec-binaryand - -module.exports = function BinaryAnd(x, y) { - if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) { - throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1'); - } - return x & y; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryOr.js b/node_modules/object.assign/node_modules/es-abstract/2020/BinaryOr.js deleted file mode 100644 index 043cccbe0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryOr.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://tc39.es/ecma262/2020/#sec-binaryor - -module.exports = function BinaryOr(x, y) { - if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) { - throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1'); - } - return x | y; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryXor.js b/node_modules/object.assign/node_modules/es-abstract/2020/BinaryXor.js deleted file mode 100644 index d86f1edf2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/BinaryXor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://tc39.es/ecma262/2020/#sec-binaryxor - -module.exports = function BinaryXor(x, y) { - if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) { - throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1'); - } - return x ^ y; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Call.js b/node_modules/object.assign/node_modules/es-abstract/2020/Call.js deleted file mode 100644 index f0f045174..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Call.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-call - -module.exports = function Call(F, V) { - var args = arguments.length > 2 ? arguments[2] : []; - return $apply(F, V, args); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CanonicalNumericIndexString.js b/node_modules/object.assign/node_modules/es-abstract/2020/CanonicalNumericIndexString.js deleted file mode 100644 index 625f8539a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CanonicalNumericIndexString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring - -module.exports = function CanonicalNumericIndexString(argument) { - if (Type(argument) !== 'String') { - throw new $TypeError('Assertion failed: `argument` must be a String'); - } - if (argument === '-0') { return -0; } - var n = ToNumber(argument); - if (SameValue(ToString(n), argument)) { return n; } - return void 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CompletePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/CompletePropertyDescriptor.js deleted file mode 100644 index 548bf415a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CompletePropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor - -module.exports = function CompletePropertyDescriptor(Desc) { - /* eslint no-param-reassign: 0 */ - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (!has(Desc, '[[Value]]')) { - Desc['[[Value]]'] = void 0; - } - if (!has(Desc, '[[Writable]]')) { - Desc['[[Writable]]'] = false; - } - } else { - if (!has(Desc, '[[Get]]')) { - Desc['[[Get]]'] = void 0; - } - if (!has(Desc, '[[Set]]')) { - Desc['[[Set]]'] = void 0; - } - } - if (!has(Desc, '[[Enumerable]]')) { - Desc['[[Enumerable]]'] = false; - } - if (!has(Desc, '[[Configurable]]')) { - Desc['[[Configurable]]'] = false; - } - return Desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CopyDataProperties.js b/node_modules/object.assign/node_modules/es-abstract/2020/CopyDataProperties.js deleted file mode 100644 index 402de282d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CopyDataProperties.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); -var OwnPropertyKeys = require('../helpers/OwnPropertyKeys'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var CreateDataProperty = require('./CreateDataProperty'); -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToNumber = require('./ToNumber'); -var ToObject = require('./ToObject'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-copydataproperties - -module.exports = function CopyDataProperties(target, source, excludedItems) { - if (Type(target) !== 'Object') { - throw new $TypeError('Assertion failed: "target" must be an Object'); - } - - if (!IsArray(excludedItems)) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - for (var i = 0; i < excludedItems.length; i += 1) { - if (!IsPropertyKey(excludedItems[i])) { - throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); - } - } - - if (typeof source === 'undefined' || source === null) { - return target; - } - - var fromObj = ToObject(source); - - var sourceKeys = OwnPropertyKeys(fromObj); - forEach(sourceKeys, function (nextKey) { - var excluded = false; - - forEach(excludedItems, function (e) { - if (SameValue(e, nextKey) === true) { - excluded = true; - } - }); - - var enumerable = $isEnumerable(fromObj, nextKey) || ( - // this is to handle string keys being non-enumerable in older engines - typeof source === 'string' - && nextKey >= 0 - && IsInteger(ToNumber(nextKey)) - ); - if (excluded === false && enumerable) { - var propValue = Get(fromObj, nextKey); - CreateDataProperty(target, nextKey, propValue); - } - }); - - return target; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataProperty.js deleted file mode 100644 index 32a86ef04..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js deleted file mode 100644 index 9feaec8d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var CreateDataProperty = require('./CreateDataProperty'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow - -module.exports = function CreateDataPropertyOrThrow(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var success = CreateDataProperty(O, P, V); - if (!success) { - throw new $TypeError('unable to create data property'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateHTML.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateHTML.js deleted file mode 100644 index 536c92db8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateHTML.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $replace = callBound('String.prototype.replace'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createhtml - -module.exports = function CreateHTML(string, tag, attribute, value) { - if (Type(tag) !== 'String' || Type(attribute) !== 'String') { - throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings'); - } - var str = RequireObjectCoercible(string); - var S = ToString(str); - var p1 = '<' + tag; - if (attribute !== '') { - var V = ToString(value); - var escapedV = $replace(V, /\x22/g, '"'); - p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22'; - } - return p1 + '>' + S + ''; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateIterResultObject.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateIterResultObject.js deleted file mode 100644 index aef1d2200..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateIterResultObject.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject - -module.exports = function CreateIterResultObject(value, done) { - if (Type(done) !== 'Boolean') { - throw new $TypeError('Assertion failed: Type(done) is not Boolean'); - } - return { - value: value, - done: done - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateListFromArrayLike.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateListFromArrayLike.js deleted file mode 100644 index f26d8ad33..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateListFromArrayLike.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf'); -var $push = callBound('Array.prototype.push'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var LengthOfArrayLike = require('./LengthOfArrayLike'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -// https://tc39.es/ecma262/2020/#sec-createlistfromarraylike - -module.exports = function CreateListFromArrayLike(obj) { - var elementTypes = arguments.length > 1 - ? arguments[1] - : ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object']; - - if (Type(obj) !== 'Object') { - throw new $TypeError('Assertion failed: `obj` must be an Object'); - } - if (!IsArray(elementTypes)) { - throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array'); - } - var len = LengthOfArrayLike(obj); - var list = []; - var index = 0; - while (index < len) { - var indexName = ToString(index); - var next = Get(obj, indexName); - var nextType = Type(next); - if ($indexOf(elementTypes, nextType) < 0) { - throw new $TypeError('item type ' + nextType + ' is not a valid elementType'); - } - $push(list, next); - index += 1; - } - return list; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/CreateMethodProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/CreateMethodProperty.js deleted file mode 100644 index 5b599aea1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/CreateMethodProperty.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty - -module.exports = function CreateMethodProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var newDesc = { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': V, - '[[Writable]]': true - }; - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - newDesc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DateString.js b/node_modules/object.assign/node_modules/es-abstract/2020/DateString.js deleted file mode 100644 index fc3032906..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DateString.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var Type = require('./Type'); -var WeekDay = require('./WeekDay'); -var MonthFromTime = require('./MonthFromTime'); -var YearFromTime = require('./YearFromTime'); -var DateFromTime = require('./DateFromTime'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-datestring - -module.exports = function DateString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var weekday = weekdays[WeekDay(tv)]; - var month = months[MonthFromTime(tv)]; - var day = padTimeComponent(DateFromTime(tv)); - var year = padTimeComponent(YearFromTime(tv), 4); - return weekday + '\x20' + month + '\x20' + day + '\x20' + year; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Day.js b/node_modules/object.assign/node_modules/es-abstract/2020/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2020/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/2020/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/2020/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DefinePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2020/DefinePropertyOrThrow.js deleted file mode 100644 index 7977f6e18..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DefinePropertyOrThrow.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow - -module.exports = function DefinePropertyOrThrow(O, P, desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - var Desc = isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, desc) ? desc : ToPropertyDescriptor(desc); - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor'); - } - - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/DeletePropertyOrThrow.js b/node_modules/object.assign/node_modules/es-abstract/2020/DeletePropertyOrThrow.js deleted file mode 100644 index b47681797..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/DeletePropertyOrThrow.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow - -module.exports = function DeletePropertyOrThrow(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // eslint-disable-next-line no-param-reassign - var success = delete O[P]; - if (!success) { - throw new $TypeError('Attempt to delete property failed.'); - } - return success; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js b/node_modules/object.assign/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js deleted file mode 100644 index e2ed7226c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var objectKeys = require('object-keys'); - -var callBound = require('../helpers/callBound'); - -var callBind = require('../helpers/callBind'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); -var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%')); - -var forEach = require('../helpers/forEach'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties - -module.exports = function EnumerableOwnProperties(O, kind) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - - var keys = objectKeys(O); - if (kind === 'key') { - return keys; - } - if (kind === 'value' || kind === 'key+value') { - var results = []; - forEach(keys, function (key) { - if ($isEnumerable(O, key)) { - $pushApply(results, [ - kind === 'value' ? O[key] : [key, O[key]] - ]); - } - }); - return results; - } - throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/FlattenIntoArray.js b/node_modules/object.assign/node_modules/es-abstract/2020/FlattenIntoArray.js deleted file mode 100644 index 6ff55657f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/FlattenIntoArray.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var Call = require('./Call'); -var CreateDataPropertyOrThrow = require('./CreateDataPropertyOrThrow'); -var Get = require('./Get'); -var HasProperty = require('./HasProperty'); -var IsArray = require('./IsArray'); -var LengthOfArrayLike = require('./LengthOfArrayLike'); -var ToString = require('./ToString'); - -// https://tc39.es/ecma262/2020/#sec-flattenintoarray - -// eslint-disable-next-line max-params, max-statements -module.exports = function FlattenIntoArray(target, source, sourceLen, start, depth) { - var mapperFunction; - if (arguments.length > 5) { - mapperFunction = arguments[5]; - } - - var targetIndex = start; - var sourceIndex = 0; - while (sourceIndex < sourceLen) { - var P = ToString(sourceIndex); - var exists = HasProperty(source, P); - if (exists === true) { - var element = Get(source, P); - if (typeof mapperFunction !== 'undefined') { - if (arguments.length <= 6) { - throw new $TypeError('Assertion failed: thisArg is required when mapperFunction is provided'); - } - element = Call(mapperFunction, arguments[6], [element, sourceIndex, source]); - } - var shouldFlatten = false; - if (depth > 0) { - shouldFlatten = IsArray(element); - } - if (shouldFlatten) { - var elementLen = LengthOfArrayLike(element); - targetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1); - } else { - if (targetIndex >= MAX_SAFE_INTEGER) { - throw new $TypeError('index too large'); - } - CreateDataPropertyOrThrow(target, ToString(targetIndex), element); - targetIndex += 1; - } - } - sourceIndex += 1; - } - - return targetIndex; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/FromPropertyDescriptor.js deleted file mode 100644 index 5ec200edb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/FromPropertyDescriptor.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - var obj = {}; - if ('[[Value]]' in Desc) { - obj.value = Desc['[[Value]]']; - } - if ('[[Writable]]' in Desc) { - obj.writable = Desc['[[Writable]]']; - } - if ('[[Get]]' in Desc) { - obj.get = Desc['[[Get]]']; - } - if ('[[Set]]' in Desc) { - obj.set = Desc['[[Set]]']; - } - if ('[[Enumerable]]' in Desc) { - obj.enumerable = Desc['[[Enumerable]]']; - } - if ('[[Configurable]]' in Desc) { - obj.configurable = Desc['[[Configurable]]']; - } - return obj; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Get.js b/node_modules/object.assign/node_modules/es-abstract/2020/Get.js deleted file mode 100644 index 5b9ad7860..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Get.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = require('object-inspect'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetIterator.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetIterator.js deleted file mode 100644 index 7beddacc0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetIterator.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getIteratorMethod = require('../helpers/getIteratorMethod'); -var AdvanceStringIndex = require('./AdvanceStringIndex'); -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsArray = require('./IsArray'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getiterator - -module.exports = function GetIterator(obj, method) { - var actualMethod = method; - if (arguments.length < 2) { - actualMethod = getIteratorMethod( - { - AdvanceStringIndex: AdvanceStringIndex, - GetMethod: GetMethod, - IsArray: IsArray, - Type: Type - }, - obj - ); - } - var iterator = Call(actualMethod, obj); - if (Type(iterator) !== 'Object') { - throw new $TypeError('iterator must return an object'); - } - - return iterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetMethod.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetMethod.js deleted file mode 100644 index aef8cbc4a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetMethod.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetV = require('./GetV'); -var IsCallable = require('./IsCallable'); -var IsPropertyKey = require('./IsPropertyKey'); - -/** - * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let func be GetV(O, P). - * 3. ReturnIfAbrupt(func). - * 4. If func is either undefined or null, return undefined. - * 5. If IsCallable(func) is false, throw a TypeError exception. - * 6. Return func. - */ - -module.exports = function GetMethod(O, P) { - // 7.3.9.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.9.2 - var func = GetV(O, P); - - // 7.3.9.4 - if (func == null) { - return void 0; - } - - // 7.3.9.5 - if (!IsCallable(func)) { - throw new $TypeError(P + 'is not a function'); - } - - // 7.3.9.6 - return func; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetOwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetOwnPropertyKeys.js deleted file mode 100644 index 8d7e5eee5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetOwnPropertyKeys.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var hasSymbols = require('has-symbols')(); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%'); -var keys = require('object-keys'); - -var esType = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys - -module.exports = function GetOwnPropertyKeys(O, Type) { - if (esType(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (Type === 'Symbol') { - return $gOPS ? $gOPS(O) : []; - } - if (Type === 'String') { - if (!$gOPN) { - return keys(O); - } - return $gOPN(O); - } - throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js deleted file mode 100644 index 62da8fb5f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Function = GetIntrinsic('%Function%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor - -module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) { - var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - if (!IsConstructor(constructor)) { - throw new $TypeError('Assertion failed: `constructor` must be a constructor'); - } - var proto = Get(constructor, 'prototype'); - if (Type(proto) !== 'Object') { - if (!(constructor instanceof $Function)) { - // ignore other realms, for now - throw new $TypeError('cross-realm constructors not currently supported'); - } - proto = intrinsic; - } - return proto; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetSubstitution.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetSubstitution.js deleted file mode 100644 index cc72b39e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetSubstitution.js +++ /dev/null @@ -1,128 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var every = require('../helpers/every'); - -var $charAt = callBound('String.prototype.charAt'); -var $strSlice = callBound('String.prototype.slice'); -var $indexOf = callBound('String.prototype.indexOf'); -var $parseInt = parseInt; - -var isDigit = regexTester(/^[0-9]$/); - -var inspect = require('object-inspect'); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var IsInteger = require('./IsInteger'); -var ToObject = require('./ToObject'); -var ToString = require('./ToString'); -var Type = require('./Type'); - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -var isStringOrHole = function (capture, index, arr) { - return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined'); -}; - -// http://www.ecma-international.org/ecma-262/9.0/#sec-getsubstitution - -// eslint-disable-next-line max-statements, max-params, max-lines-per-function -module.exports = function GetSubstitution(matched, str, position, captures, namedCaptures, replacement) { - if (Type(matched) !== 'String') { - throw new $TypeError('Assertion failed: `matched` must be a String'); - } - var matchLength = matched.length; - - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `str` must be a String'); - } - var stringLength = str.length; - - if (!IsInteger(position) || position < 0 || position > stringLength) { - throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position)); - } - - if (!IsArray(captures) || !every(captures, isStringOrHole)) { - throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures)); - } - - if (Type(replacement) !== 'String') { - throw new $TypeError('Assertion failed: `replacement` must be a String'); - } - - var tailPos = position + matchLength; - var m = captures.length; - if (Type(namedCaptures) !== 'Undefined') { - namedCaptures = ToObject(namedCaptures); // eslint-disable-line no-param-reassign - } - - var result = ''; - for (var i = 0; i < replacement.length; i += 1) { - // if this is a $, and it's not the end of the replacement - var current = $charAt(replacement, i); - var isLast = (i + 1) >= replacement.length; - var nextIsLast = (i + 2) >= replacement.length; - if (current === '$' && !isLast) { - var next = $charAt(replacement, i + 1); - if (next === '$') { - result += '$'; - i += 1; - } else if (next === '&') { - result += matched; - i += 1; - } else if (next === '`') { - result += position === 0 ? '' : $strSlice(str, 0, position - 1); - i += 1; - } else if (next === "'") { - result += tailPos >= stringLength ? '' : $strSlice(str, tailPos); - i += 1; - } else { - var nextNext = nextIsLast ? null : $charAt(replacement, i + 2); - if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) { - // $1 through $9, and not followed by a digit - var n = $parseInt(next, 10); - // if (n > m, impl-defined) - result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1]; - i += 1; - } else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) { - // $00 through $99 - var nn = next + nextNext; - var nnI = $parseInt(nn, 10) - 1; - // if nn === '00' or nn > m, impl-defined - result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI]; - i += 2; - } else if (next === '<') { - // eslint-disable-next-line max-depth - if (Type(namedCaptures) === 'Undefined') { - result += '$<'; - i += 2; - } else { - var endIndex = $indexOf(replacement, '>', i); - // eslint-disable-next-line max-depth - if (endIndex > -1) { - var groupName = $strSlice(replacement, i, endIndex); - var capture = Get(namedCaptures, groupName); - // eslint-disable-next-line max-depth - if (Type(capture) !== 'Undefined') { - result += ToString(capture); - } - i += '$<' + groupName + '>'.length; - } - } - } else { - result += '$'; - } - } - } else { - // the final $, or else not a $ - result += $charAt(replacement, i); - } - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/GetV.js b/node_modules/object.assign/node_modules/es-abstract/2020/GetV.js deleted file mode 100644 index 7b5139ace..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/GetV.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var ToObject = require('./ToObject'); - -/** - * 7.3.2 GetV (V, P) - * 1. Assert: IsPropertyKey(P) is true. - * 2. Let O be ToObject(V). - * 3. ReturnIfAbrupt(O). - * 4. Return O.[[Get]](P, V). - */ - -module.exports = function GetV(V, P) { - // 7.3.2.1 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - - // 7.3.2.2-3 - var O = ToObject(V); - - // 7.3.2.4 - return O[P]; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/HasOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/HasOwnProperty.js deleted file mode 100644 index 679059f2e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/HasOwnProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var has = require('has'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty - -module.exports = function HasOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return has(O, P); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/HasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/HasProperty.js deleted file mode 100644 index 5f2d2122a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/HasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty - -module.exports = function HasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/2020/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/InstanceofOperator.js b/node_modules/object.assign/node_modules/es-abstract/2020/InstanceofOperator.js deleted file mode 100644 index ebd308c4b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/InstanceofOperator.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $hasInstance = GetIntrinsic('Symbol.hasInstance', true); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var OrdinaryHasInstance = require('./OrdinaryHasInstance'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-instanceofoperator - -module.exports = function InstanceofOperator(O, C) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0; - if (typeof instOfHandler !== 'undefined') { - return ToBoolean(Call(instOfHandler, C, [O])); - } - if (!IsCallable(C)) { - throw new $TypeError('`C` is not Callable'); - } - return OrdinaryHasInstance(C, O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Invoke.js b/node_modules/object.assign/node_modules/es-abstract/2020/Invoke.js deleted file mode 100644 index 769f0e308..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Invoke.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $arraySlice = require('../helpers/callBound')('Array.prototype.slice'); - -var Call = require('./Call'); -var GetV = require('./GetV'); -var IsPropertyKey = require('./IsPropertyKey'); - -// https://ecma-international.org/ecma-262/6.0/#sec-invoke - -module.exports = function Invoke(O, P) { - if (!IsPropertyKey(P)) { - throw new $TypeError('P must be a Property Key'); - } - var argumentsList = $arraySlice(arguments, 2); - var func = GetV(O, P); - return Call(func, O, argumentsList); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsAccessorDescriptor.js deleted file mode 100644 index 513946462..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsArray.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsArray.js deleted file mode 100644 index 7b25f37b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsArray.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Array = GetIntrinsic('%Array%'); - -// eslint-disable-next-line global-require -var toStr = !$Array.isArray && require('../helpers/callBound')('Object.prototype.toString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray - -module.exports = $Array.isArray || function IsArray(argument) { - return toStr(argument) === '[object Array]'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsBigIntElementType.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsBigIntElementType.js deleted file mode 100644 index ad35fba6a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsBigIntElementType.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://tc39.es/ecma262/2020/#sec-isbigintelementtype - -module.exports = function IsBigIntElementType(type) { - return type === 'BigUint64' || type === 'BigInt64'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsConcatSpreadable.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsConcatSpreadable.js deleted file mode 100644 index dc8aae1e6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsConcatSpreadable.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true); - -var Get = require('./Get'); -var IsArray = require('./IsArray'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable - -module.exports = function IsConcatSpreadable(O) { - if (Type(O) !== 'Object') { - return false; - } - if ($isConcatSpreadable) { - var spreadable = Get(O, $isConcatSpreadable); - if (typeof spreadable !== 'undefined') { - return ToBoolean(spreadable); - } - } - return IsArray(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsConstructor.js deleted file mode 100644 index 8ba9fe55b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsConstructor.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic.js'); - -var $construct = GetIntrinsic('%Reflect.construct%', true); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -try { - DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} }); -} catch (e) { - // Accessor properties aren't supported - DefinePropertyOrThrow = null; -} - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor - -if (DefinePropertyOrThrow && $construct) { - var isConstructorMarker = {}; - var badArrayLike = {}; - DefinePropertyOrThrow(badArrayLike, 'length', { - '[[Get]]': function () { - throw isConstructorMarker; - }, - '[[Enumerable]]': true - }); - - module.exports = function IsConstructor(argument) { - try { - // `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`: - $construct(argument, badArrayLike); - } catch (err) { - return err === isConstructorMarker; - } - }; -} else { - module.exports = function IsConstructor(argument) { - // unfortunately there's no way to truly check this without try/catch `new argument` in old environments - return typeof argument === 'function' && !!argument.prototype; - }; -} diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsDataDescriptor.js deleted file mode 100644 index 0ad304585..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var assertRecord = require('../helpers/assertRecord'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsExtensible.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsExtensible.js deleted file mode 100644 index 0c4c8a60c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsExtensible.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var isPrimitive = require('../helpers/isPrimitive'); - -var $preventExtensions = $Object.preventExtensions; -var $isExtensible = $Object.isExtensible; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isextensible-o - -module.exports = $preventExtensions - ? function IsExtensible(obj) { - return !isPrimitive(obj) && $isExtensible(obj); - } - : function IsExtensible(obj) { - return !isPrimitive(obj); - }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsGenericDescriptor.js deleted file mode 100644 index 8618ce414..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var assertRecord = require('../helpers/assertRecord'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsInteger.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsInteger.js deleted file mode 100644 index e9bc8424e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsInteger.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsNonNegativeInteger.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsNonNegativeInteger.js deleted file mode 100644 index c042eb5ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsNonNegativeInteger.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var IsInteger = require('./IsInteger'); - -// https://tc39.es/ecma262/2020/#sec-isnonnegativeinteger - -module.exports = function IsNonNegativeInteger(argument) { - return !!IsInteger(argument) && argument >= 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsPromise.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsPromise.js deleted file mode 100644 index e8e92a2b8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsPromise.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseThen = callBound('Promise.prototype.then', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispromise - -module.exports = function IsPromise(x) { - if (Type(x) !== 'Object') { - return false; - } - if (!$PromiseThen) { // Promises are not supported - return false; - } - try { - $PromiseThen(x); // throws if not a promise - } catch (e) { - return false; - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsPropertyKey.js deleted file mode 100644 index 74b8d95d4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsPropertyKey.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey - -module.exports = function IsPropertyKey(argument) { - return typeof argument === 'string' || typeof argument === 'symbol'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsRegExp.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsRegExp.js deleted file mode 100644 index fdf2323ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsRegExp.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $match = GetIntrinsic('%Symbol.match%', true); - -var hasRegExpMatcher = require('is-regex'); - -var ToBoolean = require('./ToBoolean'); - -// https://ecma-international.org/ecma-262/6.0/#sec-isregexp - -module.exports = function IsRegExp(argument) { - if (!argument || typeof argument !== 'object') { - return false; - } - if ($match) { - var isRegExp = argument[$match]; - if (typeof isRegExp !== 'undefined') { - return ToBoolean(isRegExp); - } - } - return hasRegExpMatcher(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IsStringPrefix.js b/node_modules/object.assign/node_modules/es-abstract/2020/IsStringPrefix.js deleted file mode 100644 index f5e299623..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IsStringPrefix.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPrefixOf = require('../helpers/isPrefixOf'); - -// var callBound = require('../helpers/callBound'); - -// var $charAt = callBound('String.prototype.charAt'); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-isstringprefix - -module.exports = function IsStringPrefix(p, q) { - if (Type(p) !== 'String') { - throw new $TypeError('Assertion failed: "p" must be a String'); - } - - if (Type(q) !== 'String') { - throw new $TypeError('Assertion failed: "q" must be a String'); - } - - return isPrefixOf(p, q); - /* - if (p === q || p === '') { - return true; - } - - var pLength = p.length; - var qLength = q.length; - if (pLength >= qLength) { - return false; - } - - // assert: pLength < qLength - - for (var i = 0; i < pLength; i += 1) { - if ($charAt(p, i) !== $charAt(q, i)) { - return false; - } - } - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IterableToList.js b/node_modules/object.assign/node_modules/es-abstract/2020/IterableToList.js deleted file mode 100644 index 0b8cdcfe3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IterableToList.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); -var $arrayPush = callBound('Array.prototype.push'); - -var GetIterator = require('./GetIterator'); -var IteratorStep = require('./IteratorStep'); -var IteratorValue = require('./IteratorValue'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-iterabletolist - -module.exports = function IterableToList(items, method) { - var iterator = GetIterator(items, method); - var values = []; - var next = true; - while (next) { - next = IteratorStep(iterator); - if (next) { - var nextValue = IteratorValue(next); - $arrayPush(values, nextValue); - } - } - return values; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorClose.js b/node_modules/object.assign/node_modules/es-abstract/2020/IteratorClose.js deleted file mode 100644 index 35c8c2bea..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorClose.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Call = require('./Call'); -var GetMethod = require('./GetMethod'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose - -module.exports = function IteratorClose(iterator, completion) { - if (Type(iterator) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterator) is not Object'); - } - if (!IsCallable(completion)) { - throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record'); - } - var completionThunk = completion; - - var iteratorReturn = GetMethod(iterator, 'return'); - - if (typeof iteratorReturn === 'undefined') { - return completionThunk(); - } - - var completionRecord; - try { - var innerResult = Call(iteratorReturn, iterator, []); - } catch (e) { - // if we hit here, then "e" is the innerResult completion that needs re-throwing - - // if the completion is of type "throw", this will throw. - completionThunk(); - completionThunk = null; // ensure it's not called twice. - - // if not, then return the innerResult completion - throw e; - } - completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does - completionThunk = null; // ensure it's not called twice. - - if (Type(innerResult) !== 'Object') { - throw new $TypeError('iterator .return must return an object'); - } - - return completionRecord; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorComplete.js b/node_modules/object.assign/node_modules/es-abstract/2020/IteratorComplete.js deleted file mode 100644 index a62b9bfc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorComplete.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var ToBoolean = require('./ToBoolean'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete - -module.exports = function IteratorComplete(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return ToBoolean(Get(iterResult, 'done')); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorNext.js b/node_modules/object.assign/node_modules/es-abstract/2020/IteratorNext.js deleted file mode 100644 index 7e5991561..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorNext.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Invoke = require('./Invoke'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext - -module.exports = function IteratorNext(iterator, value) { - var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); - if (Type(result) !== 'Object') { - throw new $TypeError('iterator next must return an object'); - } - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorStep.js b/node_modules/object.assign/node_modules/es-abstract/2020/IteratorStep.js deleted file mode 100644 index 41b9d1b25..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorStep.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var IteratorComplete = require('./IteratorComplete'); -var IteratorNext = require('./IteratorNext'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep - -module.exports = function IteratorStep(iterator) { - var result = IteratorNext(iterator); - var done = IteratorComplete(result); - return done === true ? false : result; -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/IteratorValue.js deleted file mode 100644 index 5e71a4463..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/IteratorValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue - -module.exports = function IteratorValue(iterResult) { - if (Type(iterResult) !== 'Object') { - throw new $TypeError('Assertion failed: Type(iterResult) is not Object'); - } - return Get(iterResult, 'value'); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/2020/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/2020/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/NumberBitwiseOp.js b/node_modules/object.assign/node_modules/es-abstract/2020/NumberBitwiseOp.js deleted file mode 100644 index 2b7d47186..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/NumberBitwiseOp.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var ToInt32 = require('./ToInt32'); -var ToUint32 = require('./ToUint32'); - -// https://tc39.es/ecma262/2020/#sec-numberbitwiseop - -module.exports = function NumberBitwiseOp(op, x, y) { - if (op !== '&' && op !== '|' && op !== '^') { - throw new $TypeError('Assertion failed: `op` must be `&`, `|`, or `^`'); - } - var lnum = ToInt32(x); - var rnum = ToUint32(y); - if (op === '&') { - return lnum & rnum; - } - if (op === '|') { - return lnum | rnum; - } - return lnum ^ rnum; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryCreateFromConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryCreateFromConstructor.js deleted file mode 100644 index 979777abe..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryCreateFromConstructor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor'); -var IsArray = require('./IsArray'); -var OrdinaryObjectCreate = require('./OrdinaryObjectCreate'); - -// https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor - -module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) { - GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic - var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto); - var slots = arguments.length < 3 ? [] : arguments[2]; - if (!IsArray(slots)) { - throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List'); - } - return OrdinaryObjectCreate(proto, slots); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js deleted file mode 100644 index 59780b3bb..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var IsPropertyKey = require('./IsPropertyKey'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); -var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty - -module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (!$gOPD) { - // ES3/IE 8 fallback - if (IsAccessorDescriptor(Desc)) { - throw new $SyntaxError('This environment does not support accessor property descriptors.'); - } - var creatingNormalDataProperty = !(P in O) - && Desc['[[Writable]]'] - && Desc['[[Enumerable]]'] - && Desc['[[Configurable]]'] - && '[[Value]]' in Desc; - var settingExistingDataProperty = (P in O) - && (!('[[Configurable]]' in Desc) || Desc['[[Configurable]]']) - && (!('[[Enumerable]]' in Desc) || Desc['[[Enumerable]]']) - && (!('[[Writable]]' in Desc) || Desc['[[Writable]]']) - && '[[Value]]' in Desc; - if (creatingNormalDataProperty || settingExistingDataProperty) { - O[P] = Desc['[[Value]]']; // eslint-disable-line no-param-reassign - return SameValue(O[P], Desc['[[Value]]']); - } - throw new $SyntaxError('This environment does not support defining non-writable, non-enumerable, or non-configurable properties'); - } - var desc = $gOPD(O, P); - var current = desc && ToPropertyDescriptor(desc); - var extensible = IsExtensible(O); - return ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js deleted file mode 100644 index b9882e5dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -var has = require('has'); - -var IsArray = require('./IsArray'); -var IsPropertyKey = require('./IsPropertyKey'); -var IsRegExp = require('./IsRegExp'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty - -module.exports = function OrdinaryGetOwnProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - if (!has(O, P)) { - return void 0; - } - if (!$gOPD) { - // ES3 / IE 8 fallback - var arrayLength = IsArray(O) && P === 'length'; - var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; - return { - '[[Configurable]]': !(arrayLength || regexLastIndex), - '[[Enumerable]]': $isEnumerable(O, P), - '[[Value]]': O[P], - '[[Writable]]': true - }; - } - return ToPropertyDescriptor($gOPD(O, P)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js deleted file mode 100644 index 344077a40..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $getProto = require('../helpers/getProto'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof - -module.exports = function OrdinaryGetPrototypeOf(O) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: O must be an Object'); - } - if (!$getProto) { - throw new $TypeError('This environment does not support fetching prototypes.'); - } - return $getProto(O); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasInstance.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasInstance.js deleted file mode 100644 index 51abe26d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasInstance.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance - -module.exports = function OrdinaryHasInstance(C, O) { - if (IsCallable(C) === false) { - return false; - } - if (Type(O) !== 'Object') { - return false; - } - var P = Get(C, 'prototype'); - if (Type(P) !== 'Object') { - throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); - } - return O instanceof C; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasProperty.js deleted file mode 100644 index 076c25ac5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinaryHasProperty.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty - -module.exports = function OrdinaryHasProperty(O, P) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: P must be a Property Key'); - } - return P in O; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js b/node_modules/object.assign/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js deleted file mode 100644 index 3541331ca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $setProto = require('../helpers/setProto'); - -var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof - -module.exports = function OrdinarySetPrototypeOf(O, V) { - if (Type(V) !== 'Object' && Type(V) !== 'Null') { - throw new $TypeError('Assertion failed: V must be Object or Null'); - } - /* - var extensible = IsExtensible(O); - var current = OrdinaryGetPrototypeOf(O); - if (SameValue(V, current)) { - return true; - } - if (!extensible) { - return false; - } - */ - try { - $setProto(O, V); - } catch (e) { - return false; - } - return OrdinaryGetPrototypeOf(O) === V; - /* - var p = V; - var done = false; - while (!done) { - if (p === null) { - done = true; - } else if (SameValue(p, O)) { - return false; - } else { - if (wat) { - done = true; - } else { - p = p.[[Prototype]]; - } - } - } - O.[[Prototype]] = V; - return true; - */ -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/PromiseResolve.js b/node_modules/object.assign/node_modules/es-abstract/2020/PromiseResolve.js deleted file mode 100644 index f70745df7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/PromiseResolve.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $PromiseResolve = callBound('Promise.resolve', true); - -// https://ecma-international.org/ecma-262/9.0/#sec-promise-resolve - -module.exports = function PromiseResolve(C, x) { - if (!$PromiseResolve) { - throw new SyntaxError('This environment does not support Promises.'); - } - return $PromiseResolve(C, x); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/QuoteJSONString.js b/node_modules/object.assign/node_modules/es-abstract/2020/QuoteJSONString.js deleted file mode 100644 index 8e8a2bef8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/QuoteJSONString.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var forEach = require('../helpers/forEach'); -var isLeadingSurrogate = require('../helpers/isLeadingSurrogate'); -var isTrailingSurrogate = require('../helpers/isTrailingSurrogate'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); - -var Type = require('./Type'); -var UnicodeEscape = require('./UnicodeEscape'); -var UTF16Encoding = require('./UTF16Encoding'); -var UTF16DecodeString = require('./UTF16DecodeString'); - -var has = require('has'); - -// https://ecma-international.org/ecma-262/10.0/#sec-quotejsonstring - -var escapes = { - '\u0008': '\\b', - '\u0009': '\\t', - '\u000A': '\\n', - '\u000C': '\\f', - '\u000D': '\\r', - '\u0022': '\\"', - '\u005c': '\\\\' -}; - -module.exports = function QuoteJSONString(value) { - if (Type(value) !== 'String') { - throw new $TypeError('Assertion failed: `value` must be a String'); - } - var product = '"'; - if (value) { - forEach(UTF16DecodeString(value), function (C) { - if (has(escapes, C)) { - product += escapes[C]; - } else { - var cCharCode = $charCodeAt(C, 0); - if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) { - product += UnicodeEscape(C); - } else { - product += $fromCharCode(UTF16Encoding(cCharCode)); - } - } - }); - } - product += '"'; - return product; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/RegExpExec.js b/node_modules/object.assign/node_modules/es-abstract/2020/RegExpExec.js deleted file mode 100644 index 15c91867d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/RegExpExec.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var regexExec = require('../helpers/callBound')('RegExp.prototype.exec'); - -var Call = require('./Call'); -var Get = require('./Get'); -var IsCallable = require('./IsCallable'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec - -module.exports = function RegExpExec(R, S) { - if (Type(R) !== 'Object') { - throw new $TypeError('Assertion failed: `R` must be an Object'); - } - if (Type(S) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a String'); - } - var exec = Get(R, 'exec'); - if (IsCallable(exec)) { - var result = Call(exec, R, [S]); - if (result === null || Type(result) === 'Object') { - return result; - } - throw new $TypeError('"exec" method must return `null` or an Object'); - } - return regexExec(R, S); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/RequireObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/2020/RequireObjectCoercible.js deleted file mode 100644 index 9008359db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/RequireObjectCoercible.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../5/CheckObjectCoercible'); diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SameValueZero.js b/node_modules/object.assign/node_modules/es-abstract/2020/SameValueZero.js deleted file mode 100644 index 0dedcd2c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SameValueZero.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero - -module.exports = function SameValueZero(x, y) { - return (x === y) || ($isNaN(x) && $isNaN(y)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Set.js b/node_modules/object.assign/node_modules/es-abstract/2020/Set.js deleted file mode 100644 index 9545b1325..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Set.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - return false; - } -}()); - -// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw - -module.exports = function Set(O, P, V, Throw) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: `O` must be an Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: `P` must be a Property Key'); - } - if (Type(Throw) !== 'Boolean') { - throw new $TypeError('Assertion failed: `Throw` must be a Boolean'); - } - if (Throw) { - O[P] = V; // eslint-disable-line no-param-reassign - if (noThrowOnStrictViolation && !SameValue(O[P], V)) { - throw new $TypeError('Attempted to assign to readonly property.'); - } - return true; - } else { - try { - O[P] = V; // eslint-disable-line no-param-reassign - return noThrowOnStrictViolation ? SameValue(O[P], V) : true; - } catch (e) { - return false; - } - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionLength.js b/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionLength.js deleted file mode 100644 index ec3ee96bd..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionLength.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var HasOwnProperty = require('./HasOwnProperty'); -var IsExtensible = require('./IsExtensible'); -var IsNonNegativeInteger = require('./IsNonNegativeInteger'); -var Type = require('./Type'); - -// https://tc39.es/ecma262/2020/#sec-setfunctionlength - -module.exports = function SetFunctionLength(F, length) { - if (typeof F !== 'function' || !IsExtensible(F) || HasOwnProperty(F, 'length')) { - throw new $TypeError('Assertion failed: `F` must be an extensible function and lack an own `length` property'); - } - if (Type(length) !== 'Number') { - throw new $TypeError('Assertion failed: `length` must be a Number'); - } - if (!IsNonNegativeInteger(length)) { - throw new $TypeError('Assertion failed: `length` must be an integer >= 0'); - } - return DefinePropertyOrThrow(F, 'length', { - '[[Configurable]]': true, - '[[Enumerable]]': false, - '[[Value]]': length, - '[[Writable]]': false - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionName.js b/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionName.js deleted file mode 100644 index f93324a73..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SetFunctionName.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var getSymbolDescription = require('../helpers/getSymbolDescription'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsExtensible = require('./IsExtensible'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname - -module.exports = function SetFunctionName(F, name) { - if (typeof F !== 'function') { - throw new $TypeError('Assertion failed: `F` must be a function'); - } - if (!IsExtensible(F) || has(F, 'name')) { - throw new $TypeError('Assertion failed: `F` must be extensible, and must not have a `name` own property'); - } - var nameType = Type(name); - if (nameType !== 'Symbol' && nameType !== 'String') { - throw new $TypeError('Assertion failed: `name` must be a Symbol or a String'); - } - if (nameType === 'Symbol') { - var description = getSymbolDescription(name); - // eslint-disable-next-line no-param-reassign - name = typeof description === 'undefined' ? '' : '[' + description + ']'; - } - if (arguments.length > 2) { - var prefix = arguments[2]; - // eslint-disable-next-line no-param-reassign - name = prefix + ' ' + name; - } - return DefinePropertyOrThrow(F, 'name', { - '[[Value]]': name, - '[[Writable]]': false, - '[[Enumerable]]': false, - '[[Configurable]]': true - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SetIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2020/SetIntegrityLevel.js deleted file mode 100644 index 3d5c81d56..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SetIntegrityLevel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var $TypeError = GetIntrinsic('%TypeError%'); -var $preventExtensions = GetIntrinsic('%Object.preventExtensions%'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); - -var forEach = require('../helpers/forEach'); - -var DefinePropertyOrThrow = require('./DefinePropertyOrThrow'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-setintegritylevel - -module.exports = function SetIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - if (!$preventExtensions) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.preventExtensions` support'); - } - var status = $preventExtensions(O); - if (!status) { - return false; - } - if (!$gOPN) { - throw new $SyntaxError('SetIntegrityLevel requires native `Object.getOwnPropertyNames` support'); - } - var theKeys = $gOPN(O); - if (level === 'sealed') { - forEach(theKeys, function (k) { - DefinePropertyOrThrow(O, k, { configurable: false }); - }); - } else if (level === 'frozen') { - forEach(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - var desc; - if (IsAccessorDescriptor(ToPropertyDescriptor(currentDesc))) { - desc = { configurable: false }; - } else { - desc = { configurable: false, writable: false }; - } - DefinePropertyOrThrow(O, k, desc); - } - }); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SpeciesConstructor.js b/node_modules/object.assign/node_modules/es-abstract/2020/SpeciesConstructor.js deleted file mode 100644 index 3cdcd747d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SpeciesConstructor.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var IsConstructor = require('./IsConstructor'); -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor - -module.exports = function SpeciesConstructor(O, defaultConstructor) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - var C = O.constructor; - if (typeof C === 'undefined') { - return defaultConstructor; - } - if (Type(C) !== 'Object') { - throw new $TypeError('O.constructor is not an Object'); - } - var S = $species ? C[$species] : void 0; - if (S == null) { - return defaultConstructor; - } - if (IsConstructor(S)) { - return S; - } - throw new $TypeError('no constructor found'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/2020/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/StringGetOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/2020/StringGetOwnProperty.js deleted file mode 100644 index f8db320e2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/StringGetOwnProperty.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); -var $charAt = callBound('String.prototype.charAt'); -var $stringToString = callBound('String.prototype.toString'); - -var CanonicalNumericIndexString = require('./CanonicalNumericIndexString'); -var IsInteger = require('./IsInteger'); -var IsPropertyKey = require('./IsPropertyKey'); -var Type = require('./Type'); - -var isNegativeZero = require('is-negative-zero'); - -// https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty - -module.exports = function StringGetOwnProperty(S, P) { - var str; - if (Type(S) === 'Object') { - try { - str = $stringToString(S); - } catch (e) { /**/ } - } - if (Type(str) !== 'String') { - throw new $TypeError('Assertion failed: `S` must be a boxed string object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - if (Type(P) !== 'String') { - return void undefined; - } - var index = CanonicalNumericIndexString(P); - var len = str.length; - if (typeof index === 'undefined' || !IsInteger(index) || isNegativeZero(index) || index < 0 || len <= index) { - return void undefined; - } - var resultStr = $charAt(S, index); - return { - '[[Configurable]]': false, - '[[Enumerable]]': true, - '[[Value]]': resultStr, - '[[Writable]]': false - }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/SymbolDescriptiveString.js b/node_modules/object.assign/node_modules/es-abstract/2020/SymbolDescriptiveString.js deleted file mode 100644 index 7bd8191ad..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/SymbolDescriptiveString.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $SymbolToString = callBound('Symbol.prototype.toString', true); - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring - -module.exports = function SymbolDescriptiveString(sym) { - if (Type(sym) !== 'Symbol') { - throw new $TypeError('Assertion failed: `sym` must be a Symbol'); - } - return $SymbolToString(sym); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TestIntegrityLevel.js b/node_modules/object.assign/node_modules/es-abstract/2020/TestIntegrityLevel.js deleted file mode 100644 index 7a57397d5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TestIntegrityLevel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var every = require('../helpers/every'); - -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsExtensible = require('./IsExtensible'); -var ToPropertyDescriptor = require('./ToPropertyDescriptor'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-testintegritylevel - -module.exports = function TestIntegrityLevel(O, level) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (level !== 'sealed' && level !== 'frozen') { - throw new $TypeError('Assertion failed: `level` must be `"sealed"` or `"frozen"`'); - } - var status = IsExtensible(O); - if (status) { - return false; - } - var theKeys = $gOPN(O); - return theKeys.length === 0 || every(theKeys, function (k) { - var currentDesc = $gOPD(O, k); - if (typeof currentDesc !== 'undefined') { - if (currentDesc.configurable) { - return false; - } - if (level === 'frozen' && IsDataDescriptor(ToPropertyDescriptor(currentDesc)) && currentDesc.writable) { - return false; - } - } - return true; - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/2020/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/2020/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TimeString.js b/node_modules/object.assign/node_modules/es-abstract/2020/TimeString.js deleted file mode 100644 index 87642eb54..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TimeString.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var padTimeComponent = require('../helpers/padTimeComponent'); - -var HourFromTime = require('./HourFromTime'); -var MinFromTime = require('./MinFromTime'); -var SecFromTime = require('./SecFromTime'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/9.0/#sec-timestring - -module.exports = function TimeString(tv) { - if (Type(tv) !== 'Number' || $isNaN(tv)) { - throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number'); - } - var hour = HourFromTime(tv); - var minute = MinFromTime(tv); - var second = SecFromTime(tv); - return padTimeComponent(hour) + ':' + padTimeComponent(minute) + ':' + padTimeComponent(second) + '\x20GMT'; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/2020/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToDateString.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToDateString.js deleted file mode 100644 index 7a6d4c4e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToDateString.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Date = GetIntrinsic('%Date%'); - -var $isNaN = require('../helpers/isNaN'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-todatestring - -module.exports = function ToDateString(tv) { - if (Type(tv) !== 'Number') { - throw new $TypeError('Assertion failed: `tv` must be a Number'); - } - if ($isNaN(tv)) { - return 'Invalid Date'; - } - return $Date(tv); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToIndex.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToIndex.js deleted file mode 100644 index a55398d3e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToIndex.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $RangeError = GetIntrinsic('%RangeError%'); - -var ToInteger = require('./ToInteger'); -var ToLength = require('./ToLength'); -var SameValueZero = require('./SameValueZero'); - -// https://www.ecma-international.org/ecma-262/8.0/#sec-toindex - -module.exports = function ToIndex(value) { - if (typeof value === 'undefined') { - return 0; - } - var integerIndex = ToInteger(value); - if (integerIndex < 0) { - throw new $RangeError('index must be >= 0'); - } - var index = ToLength(integerIndex); - if (!SameValueZero(integerIndex, index)) { - throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1'); - } - return index; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt16.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToInt16.js deleted file mode 100644 index 5a112c237..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt16.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint16 = require('./ToUint16'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint16 - -module.exports = function ToInt16(argument) { - var int16bit = ToUint16(argument); - return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt8.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToInt8.js deleted file mode 100644 index d103123a9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToInt8.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var ToUint8 = require('./ToUint8'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toint8 - -module.exports = function ToInt8(argument) { - var int8bit = ToUint8(argument); - return int8bit >= 0x80 ? int8bit - 0x100 : int8bit; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToInteger.js deleted file mode 100644 index 16f7db9c3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToInteger.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var ES5ToInteger = require('../5/ToInteger'); - -var ToNumber = require('./ToNumber'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToLength.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToLength.js deleted file mode 100644 index 1bef9bed7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToLength.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger'); - -var ToInteger = require('./ToInteger'); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToNumber.js deleted file mode 100644 index 7a3cdc89e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToNumber.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = require('../helpers/callBound'); -var regexTester = require('../helpers/regexTester'); -var isPrimitive = require('../helpers/isPrimitive'); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = require('./ToPrimitive'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToObject.js deleted file mode 100644 index 50d5b94a4..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToPrimitive.js deleted file mode 100644 index 81c655d41..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToPrimitive.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var toPrimitive = require('es-to-primitive/es2015'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyKey.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyKey.js deleted file mode 100644 index 38f40dd80..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToPropertyKey.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -var ToPrimitive = require('./ToPrimitive'); -var ToString = require('./ToString'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-topropertykey - -module.exports = function ToPropertyKey(argument) { - var key = ToPrimitive(argument, $String); - return typeof key === 'symbol' ? key : ToString(key); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToString.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToString.js deleted file mode 100644 index a34543126..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToString.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8.js deleted file mode 100644 index 2dfd97cb3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/6.0/#sec-touint8 - -module.exports = function ToUint8(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x100); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8Clamp.js b/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8Clamp.js deleted file mode 100644 index 95fcc3928..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ToUint8Clamp.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var floor = require('./floor'); - -var $isNaN = require('../helpers/isNaN'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp - -module.exports = function ToUint8Clamp(argument) { - var number = ToNumber(argument); - if ($isNaN(number) || number <= 0) { return 0; } - if (number >= 0xFF) { return 0xFF; } - var f = floor(argument); - if (f + 0.5 < number) { return f + 1; } - if (number < f + 0.5) { return f; } - if (f % 2 !== 0) { return f + 1; } - return f; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/TrimString.js b/node_modules/object.assign/node_modules/es-abstract/2020/TrimString.js deleted file mode 100644 index b27112cd5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/TrimString.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var trimStart = require('string.prototype.trimstart'); -var trimEnd = require('string.prototype.trimend'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var RequireObjectCoercible = require('./RequireObjectCoercible'); -var ToString = require('./ToString'); - -// https://ecma-international.org/ecma-262/10.0/#sec-trimstring - -module.exports = function TrimString(string, where) { - var str = RequireObjectCoercible(string); - var S = ToString(str); - var T; - if (where === 'start') { - T = trimStart(S); - } else if (where === 'end') { - T = trimEnd(S); - } else if (where === 'start+end') { - T = trimStart(trimEnd(S)); - } else { - throw new $TypeError('Assertion failed: invalid `where` value; must be "start", "end", or "start+end"'); - } - return T; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/Type.js b/node_modules/object.assign/node_modules/es-abstract/2020/Type.js deleted file mode 100644 index 93333cc66..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/Type.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var ES5Type = require('../5/Type'); - -// https://tc39.es/ecma262/2020/#sec-ecmascript-data-types-and-values - -module.exports = function Type(x) { - if (typeof x === 'symbol') { - return 'Symbol'; - } - if (typeof x === 'bigint') { - return 'BigInt'; - } - return ES5Type(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/UTF16Encoding.js b/node_modules/object.assign/node_modules/es-abstract/2020/UTF16Encoding.js deleted file mode 100644 index 7cedbb20f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/UTF16Encoding.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); - -var floor = require('./floor'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding - -module.exports = function UTF16Encoding(cp) { - if (typeof cp !== 'number' || cp < 0 || cp > 0x10FFFF) { - throw new $TypeError('Assertion failed: `cp` must be >= 0 and <= 0x10FFFF'); - } - if (cp <= 65535) { - return cp; - } - var cu1 = floor((cp - 65536) / 1024) + 0xD800; - var cu2 = modulo(cp - 65536, 1024) + 0xDC00; - return $fromCharCode(cu1) + $fromCharCode(cu2); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/UnicodeEscape.js b/node_modules/object.assign/node_modules/es-abstract/2020/UnicodeEscape.js deleted file mode 100644 index 29cf923d8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/UnicodeEscape.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var callBound = require('../helpers/callBound'); - -var $charCodeAt = callBound('String.prototype.charCodeAt'); -var $numberToString = callBound('Number.prototype.toString'); -var $toLowerCase = callBound('String.prototype.toLowerCase'); - -var StringPad = require('./StringPad'); - -// https://tc39.es/ecma262/2020/#sec-unicodeescape - -module.exports = function UnicodeEscape(C) { - if (typeof C !== 'string' || C.length !== 1) { - throw new $TypeError('Assertion failed: `C` must be a single code unit'); - } - var n = $charCodeAt(C, 0); - if (n > 0xFFFF) { - throw new $TypeError('`Assertion failed: numeric value of `C` must be <= 0xFFFF'); - } - - return '\\u' + StringPad($toLowerCase($numberToString(n, 16)), 4, '0', 'start'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js deleted file mode 100644 index d4b900700..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = require('../helpers/DefineOwnProperty'); -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); -var isSamePropertyDescriptor = require('../helpers/isSamePropertyDescriptor'); - -var FromPropertyDescriptor = require('./FromPropertyDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsGenericDescriptor = require('./IsGenericDescriptor'); -var IsPropertyKey = require('./IsPropertyKey'); -var SameValue = require('./SameValue'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor -// https://www.ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor - -// eslint-disable-next-line max-lines-per-function, max-statements, max-params -module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) { - // this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic. - var oType = Type(O); - if (oType !== 'Undefined' && oType !== 'Object') { - throw new $TypeError('Assertion failed: O must be undefined or an Object'); - } - if (Type(extensible) !== 'Boolean') { - throw new $TypeError('Assertion failed: extensible must be a Boolean'); - } - if (!isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, Desc)) { - throw new $TypeError('Assertion failed: Desc must be a Property Descriptor'); - } - if (Type(current) !== 'Undefined' && !isPropertyDescriptor({ - Type: Type, - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor - }, current)) { - throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined'); - } - if (oType !== 'Undefined' && !IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key'); - } - if (Type(current) === 'Undefined') { - if (!extensible) { - return false; - } - if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': Desc['[[Configurable]]'], - '[[Enumerable]]': Desc['[[Enumerable]]'], - '[[Value]]': Desc['[[Value]]'], - '[[Writable]]': Desc['[[Writable]]'] - } - ); - } - } else { - if (!IsAccessorDescriptor(Desc)) { - throw new $TypeError('Assertion failed: Desc is not an accessor descriptor'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - } - return true; - } - if (IsGenericDescriptor(Desc) && !('[[Configurable]]' in Desc) && !('[[Enumerable]]' in Desc)) { - return true; - } - if (isSamePropertyDescriptor({ SameValue: SameValue }, Desc, current)) { - return true; // removed by ES2017, but should still be correct - } - // "if every field in Desc is absent, return true" can't really match the assertion that it's a Property Descriptor - if (!current['[[Configurable]]']) { - if (Desc['[[Configurable]]']) { - return false; - } - if ('[[Enumerable]]' in Desc && !Desc['[[Enumerable]]'] === !!current['[[Enumerable]]']) { - return false; - } - } - if (IsGenericDescriptor(Desc)) { - // no further validation is required. - } else if (IsDataDescriptor(current) !== IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - return false; - } - if (IsDataDescriptor(current)) { - if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Get]]': undefined - } - ); - } - } else if (oType !== 'Undefined') { - DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': current['[[Configurable]]'], - '[[Enumerable]]': current['[[Enumerable]]'], - '[[Value]]': undefined - } - ); - } - } else if (IsDataDescriptor(current) && IsDataDescriptor(Desc)) { - if (!current['[[Configurable]]'] && !current['[[Writable]]']) { - if ('[[Writable]]' in Desc && Desc['[[Writable]]']) { - return false; - } - if ('[[Value]]' in Desc && !SameValue(Desc['[[Value]]'], current['[[Value]]'])) { - return false; - } - return true; - } - } else if (IsAccessorDescriptor(current) && IsAccessorDescriptor(Desc)) { - if (!current['[[Configurable]]']) { - if ('[[Set]]' in Desc && !SameValue(Desc['[[Set]]'], current['[[Set]]'])) { - return false; - } - if ('[[Get]]' in Desc && !SameValue(Desc['[[Get]]'], current['[[Get]]'])) { - return false; - } - return true; - } - } else { - throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.'); - } - if (oType !== 'Undefined') { - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - Desc - ); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/2020/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/abs.js b/node_modules/object.assign/node_modules/es-abstract/2020/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/floor.js b/node_modules/object.assign/node_modules/es-abstract/2020/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/modulo.js b/node_modules/object.assign/node_modules/es-abstract/2020/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/2020/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisBigIntValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisBigIntValue.js deleted file mode 100644 index 1389247a3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisBigIntValue.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('../helpers/callBound'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true); - -var Type = require('./Type'); - -// https://tc39.es/ecma262/2020/#sec-thisbigintvalue - -module.exports = function thisBigIntValue(value) { - var type = Type(value); - if (type === 'BigInt') { - return value; - } - if (!$bigIntValueOf) { - throw new $TypeError('BigInt is not supported'); - } - return $bigIntValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisBooleanValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisBooleanValue.js deleted file mode 100644 index 3ffac9cdf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisBooleanValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $BooleanValueOf = require('../helpers/callBound')('Boolean.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object - -module.exports = function thisBooleanValue(value) { - if (Type(value) === 'Boolean') { - return value; - } - - return $BooleanValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisNumberValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisNumberValue.js deleted file mode 100644 index 0345e523f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisNumberValue.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var Type = require('./Type'); - -var $NumberValueOf = callBound('Number.prototype.valueOf'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object - -module.exports = function thisNumberValue(value) { - if (Type(value) === 'Number') { - return value; - } - - return $NumberValueOf(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisStringValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisStringValue.js deleted file mode 100644 index 3b99b6e3c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisStringValue.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var $StringValueOf = require('../helpers/callBound')('String.prototype.valueOf'); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object - -module.exports = function thisStringValue(value) { - if (Type(value) === 'String') { - return value; - } - - return $StringValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisSymbolValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisSymbolValue.js deleted file mode 100644 index 3c3b3475d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisSymbolValue.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true); - -var Type = require('./Type'); - -// https://ecma-international.org/ecma-262/9.0/#sec-thissymbolvalue - -module.exports = function thisSymbolValue(value) { - if (!$SymbolValueOf) { - throw new SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object'); - } - if (Type(value) === 'Symbol') { - return value; - } - return $SymbolValueOf(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/2020/thisTimeValue.js b/node_modules/object.assign/node_modules/es-abstract/2020/thisTimeValue.js deleted file mode 100644 index a9a47ace2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/2020/thisTimeValue.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../2018/thisTimeValue'); diff --git a/node_modules/object.assign/node_modules/es-abstract/5/AbstractEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/5/AbstractEqualityComparison.js deleted file mode 100644 index e55c7647f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/AbstractEqualityComparison.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 - -module.exports = function AbstractEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType === yType) { - return x === y; // ES6+ specified this shortcut anyways. - } - if (x == null && y == null) { - return true; - } - if (xType === 'Number' && yType === 'String') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if (xType === 'String' && yType === 'Number') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (xType === 'Boolean') { - return AbstractEqualityComparison(ToNumber(x), y); - } - if (yType === 'Boolean') { - return AbstractEqualityComparison(x, ToNumber(y)); - } - if ((xType === 'String' || xType === 'Number') && yType === 'Object') { - return AbstractEqualityComparison(x, ToPrimitive(y)); - } - if (xType === 'Object' && (yType === 'String' || yType === 'Number')) { - return AbstractEqualityComparison(ToPrimitive(x), y); - } - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/AbstractRelationalComparison.js b/node_modules/object.assign/node_modules/es-abstract/5/AbstractRelationalComparison.js deleted file mode 100644 index bc7ca8324..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/AbstractRelationalComparison.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Number = GetIntrinsic('%Number%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var isPrefixOf = require('../helpers/isPrefixOf'); - -var ToNumber = require('./ToNumber'); -var ToPrimitive = require('./ToPrimitive'); -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 - -// eslint-disable-next-line max-statements -module.exports = function AbstractRelationalComparison(x, y, LeftFirst) { - if (Type(LeftFirst) !== 'Boolean') { - throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean'); - } - var px; - var py; - if (LeftFirst) { - px = ToPrimitive(x, $Number); - py = ToPrimitive(y, $Number); - } else { - py = ToPrimitive(y, $Number); - px = ToPrimitive(x, $Number); - } - var bothStrings = Type(px) === 'String' && Type(py) === 'String'; - if (!bothStrings) { - var nx = ToNumber(px); - var ny = ToNumber(py); - if ($isNaN(nx) || $isNaN(ny)) { - return undefined; - } - if ($isFinite(nx) && $isFinite(ny) && nx === ny) { - return false; - } - if (nx === 0 && ny === 0) { - return false; - } - if (nx === Infinity) { - return false; - } - if (ny === Infinity) { - return true; - } - if (ny === -Infinity) { - return false; - } - if (nx === -Infinity) { - return true; - } - return nx < ny; // by now, these are both nonzero, finite, and not equal - } - if (isPrefixOf(py, px)) { - return false; - } - if (isPrefixOf(px, py)) { - return true; - } - return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/CheckObjectCoercible.js b/node_modules/object.assign/node_modules/es-abstract/5/CheckObjectCoercible.js deleted file mode 100644 index f02b28911..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/CheckObjectCoercible.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.10 - -module.exports = function CheckObjectCoercible(value, optMessage) { - if (value == null) { - throw new $TypeError(optMessage || ('Cannot call method on ' + value)); - } - return value; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/DateFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/DateFromTime.js deleted file mode 100644 index 962dba168..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/DateFromTime.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); -var MonthFromTime = require('./MonthFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5 - -module.exports = function DateFromTime(t) { - var m = MonthFromTime(t); - var d = DayWithinYear(t); - if (m === 0) { - return d + 1; - } - if (m === 1) { - return d - 30; - } - var leap = InLeapYear(t); - if (m === 2) { - return d - 58 - leap; - } - if (m === 3) { - return d - 89 - leap; - } - if (m === 4) { - return d - 119 - leap; - } - if (m === 5) { - return d - 150 - leap; - } - if (m === 6) { - return d - 180 - leap; - } - if (m === 7) { - return d - 211 - leap; - } - if (m === 8) { - return d - 242 - leap; - } - if (m === 9) { - return d - 272 - leap; - } - if (m === 10) { - return d - 303 - leap; - } - if (m === 11) { - return d - 333 - leap; - } - throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/Day.js b/node_modules/object.assign/node_modules/es-abstract/5/Day.js deleted file mode 100644 index 66c0f0637..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/Day.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function Day(t) { - return floor(t / msPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/DayFromYear.js b/node_modules/object.assign/node_modules/es-abstract/5/DayFromYear.js deleted file mode 100644 index 672aadcdc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/DayFromYear.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var floor = require('./floor'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DayFromYear(y) { - return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/5/DayWithinYear.js b/node_modules/object.assign/node_modules/es-abstract/5/DayWithinYear.js deleted file mode 100644 index cfc400288..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/DayWithinYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var DayFromYear = require('./DayFromYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function DayWithinYear(t) { - return Day(t) - DayFromYear(YearFromTime(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/DaysInYear.js b/node_modules/object.assign/node_modules/es-abstract/5/DaysInYear.js deleted file mode 100644 index 5f20f6d7e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/DaysInYear.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function DaysInYear(y) { - if (modulo(y, 4) !== 0) { - return 365; - } - if (modulo(y, 100) !== 0) { - return 366; - } - if (modulo(y, 400) !== 0) { - return 365; - } - return 366; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/FromPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/FromPropertyDescriptor.js deleted file mode 100644 index a3cefbe51..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/FromPropertyDescriptor.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); - -var assertRecord = require('../helpers/assertRecord'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.4 - -module.exports = function FromPropertyDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return Desc; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (IsDataDescriptor(Desc)) { - return { - value: Desc['[[Value]]'], - writable: !!Desc['[[Writable]]'], - enumerable: !!Desc['[[Enumerable]]'], - configurable: !!Desc['[[Configurable]]'] - }; - } else if (IsAccessorDescriptor(Desc)) { - return { - get: Desc['[[Get]]'], - set: Desc['[[Set]]'], - enumerable: !!Desc['[[Enumerable]]'], - configurable: !!Desc['[[Configurable]]'] - }; - } else { - throw new $TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor'); - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/HourFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/HourFromTime.js deleted file mode 100644 index 15ad1a9bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/HourFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerHour = timeConstants.msPerHour; -var HoursPerDay = timeConstants.HoursPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function HourFromTime(t) { - return modulo(floor(t / msPerHour), HoursPerDay); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/InLeapYear.js b/node_modules/object.assign/node_modules/es-abstract/5/InLeapYear.js deleted file mode 100644 index 38ba8fdc8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/InLeapYear.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $EvalError = GetIntrinsic('%EvalError%'); - -var DaysInYear = require('./DaysInYear'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function InLeapYear(t) { - var days = DaysInYear(YearFromTime(t)); - if (days === 365) { - return 0; - } - if (days === 366) { - return 1; - } - throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/IsAccessorDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/IsAccessorDescriptor.js deleted file mode 100644 index 561382a10..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/IsAccessorDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var Type = require('./Type'); - -var assertRecord = require('../helpers/assertRecord'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.1 - -module.exports = function IsAccessorDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/IsCallable.js b/node_modules/object.assign/node_modules/es-abstract/5/IsCallable.js deleted file mode 100644 index e4bfa365c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/IsCallable.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = require('is-callable'); diff --git a/node_modules/object.assign/node_modules/es-abstract/5/IsDataDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/IsDataDescriptor.js deleted file mode 100644 index 783e2dc6a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/IsDataDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var has = require('has'); - -var Type = require('./Type'); - -var assertRecord = require('../helpers/assertRecord'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.2 - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/IsGenericDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/IsGenericDescriptor.js deleted file mode 100644 index 93340e987..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/IsGenericDescriptor.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var Type = require('./Type'); - -var assertRecord = require('../helpers/assertRecord'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.3 - -module.exports = function IsGenericDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) { - return true; - } - - return false; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/IsPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/IsPropertyDescriptor.js deleted file mode 100644 index 2a96c637b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/IsPropertyDescriptor.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var isPropertyDescriptor = require('../helpers/isPropertyDescriptor'); - -var Type = require('./Type'); -var IsDataDescriptor = require('./IsDataDescriptor'); -var IsAccessorDescriptor = require('./IsAccessorDescriptor'); - -// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type - -module.exports = function IsPropertyDescriptor(Desc) { - return isPropertyDescriptor({ - IsDataDescriptor: IsDataDescriptor, - IsAccessorDescriptor: IsAccessorDescriptor, - Type: Type - }, Desc); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/MakeDate.js b/node_modules/object.assign/node_modules/es-abstract/5/MakeDate.js deleted file mode 100644 index 7b592d136..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/MakeDate.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13 - -module.exports = function MakeDate(day, time) { - if (!$isFinite(day) || !$isFinite(time)) { - return NaN; - } - return (day * msPerDay) + time; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/MakeDay.js b/node_modules/object.assign/node_modules/es-abstract/5/MakeDay.js deleted file mode 100644 index 614c0fcb9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/MakeDay.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $DateUTC = GetIntrinsic('%Date.UTC%'); - -var $isFinite = require('../helpers/isFinite'); - -var DateFromTime = require('./DateFromTime'); -var Day = require('./Day'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var MonthFromTime = require('./MonthFromTime'); -var ToInteger = require('./ToInteger'); -var YearFromTime = require('./YearFromTime'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12 - -module.exports = function MakeDay(year, month, date) { - if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) { - return NaN; - } - var y = ToInteger(year); - var m = ToInteger(month); - var dt = ToInteger(date); - var ym = y + floor(m / 12); - var mn = modulo(m, 12); - var t = $DateUTC(ym, mn, 1); - if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) { - return NaN; - } - return Day(t) + dt - 1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/MakeTime.js b/node_modules/object.assign/node_modules/es-abstract/5/MakeTime.js deleted file mode 100644 index e11850040..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/MakeTime.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var $isFinite = require('../helpers/isFinite'); -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var msPerMinute = timeConstants.msPerMinute; -var msPerHour = timeConstants.msPerHour; - -var ToInteger = require('./ToInteger'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 - -module.exports = function MakeTime(hour, min, sec, ms) { - if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { - return NaN; - } - var h = ToInteger(hour); - var m = ToInteger(min); - var s = ToInteger(sec); - var milli = ToInteger(ms); - var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; - return t; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/MinFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/MinFromTime.js deleted file mode 100644 index c2fdd3b62..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/MinFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerMinute = timeConstants.msPerMinute; -var MinutesPerHour = timeConstants.MinutesPerHour; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function MinFromTime(t) { - return modulo(floor(t / msPerMinute), MinutesPerHour); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/MonthFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/MonthFromTime.js deleted file mode 100644 index 4f120f2c2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/MonthFromTime.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var DayWithinYear = require('./DayWithinYear'); -var InLeapYear = require('./InLeapYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4 - -module.exports = function MonthFromTime(t) { - var day = DayWithinYear(t); - if (0 <= day && day < 31) { - return 0; - } - var leap = InLeapYear(t); - if (31 <= day && day < (59 + leap)) { - return 1; - } - if ((59 + leap) <= day && day < (90 + leap)) { - return 2; - } - if ((90 + leap) <= day && day < (120 + leap)) { - return 3; - } - if ((120 + leap) <= day && day < (151 + leap)) { - return 4; - } - if ((151 + leap) <= day && day < (181 + leap)) { - return 5; - } - if ((181 + leap) <= day && day < (212 + leap)) { - return 6; - } - if ((212 + leap) <= day && day < (243 + leap)) { - return 7; - } - if ((243 + leap) <= day && day < (273 + leap)) { - return 8; - } - if ((273 + leap) <= day && day < (304 + leap)) { - return 9; - } - if ((304 + leap) <= day && day < (334 + leap)) { - return 10; - } - if ((334 + leap) <= day && day < (365 + leap)) { - return 11; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/SameValue.js b/node_modules/object.assign/node_modules/es-abstract/5/SameValue.js deleted file mode 100644 index 47c936d76..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/SameValue.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $isNaN = require('../helpers/isNaN'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/SecFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/SecFromTime.js deleted file mode 100644 index 5e2038638..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/SecFromTime.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var floor = require('./floor'); -var modulo = require('./modulo'); - -var timeConstants = require('../helpers/timeConstants'); -var msPerSecond = timeConstants.msPerSecond; -var SecondsPerMinute = timeConstants.SecondsPerMinute; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function SecFromTime(t) { - return modulo(floor(t / msPerSecond), SecondsPerMinute); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/StrictEqualityComparison.js b/node_modules/object.assign/node_modules/es-abstract/5/StrictEqualityComparison.js deleted file mode 100644 index eea5df388..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/StrictEqualityComparison.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var Type = require('./Type'); - -// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 - -module.exports = function StrictEqualityComparison(x, y) { - var xType = Type(x); - var yType = Type(y); - if (xType !== yType) { - return false; - } - if (xType === 'Undefined' || xType === 'Null') { - return true; - } - return x === y; // shortcut for steps 4-7 -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/TimeClip.js b/node_modules/object.assign/node_modules/es-abstract/5/TimeClip.js deleted file mode 100644 index 23726bb9a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/TimeClip.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); -var $Number = GetIntrinsic('%Number%'); - -var $isFinite = require('../helpers/isFinite'); - -var abs = require('./abs'); -var ToNumber = require('./ToNumber'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14 - -module.exports = function TimeClip(time) { - if (!$isFinite(time) || abs(time) > 8.64e15) { - return NaN; - } - return $Number(new $Date(ToNumber(time))); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/5/TimeFromYear.js b/node_modules/object.assign/node_modules/es-abstract/5/TimeFromYear.js deleted file mode 100644 index df646c36e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/TimeFromYear.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -var DayFromYear = require('./DayFromYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function TimeFromYear(y) { - return msPerDay * DayFromYear(y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/TimeWithinDay.js b/node_modules/object.assign/node_modules/es-abstract/5/TimeWithinDay.js deleted file mode 100644 index f6a1290f5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/TimeWithinDay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerDay = require('../helpers/timeConstants').msPerDay; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2 - -module.exports = function TimeWithinDay(t) { - return modulo(t, msPerDay); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToBoolean.js b/node_modules/object.assign/node_modules/es-abstract/5/ToBoolean.js deleted file mode 100644 index 65d87376d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 - -module.exports = function ToBoolean(value) { return !!value; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToInt32.js b/node_modules/object.assign/node_modules/es-abstract/5/ToInt32.js deleted file mode 100644 index a8d268070..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToInt32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5 - -module.exports = function ToInt32(x) { - return ToNumber(x) >> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToInteger.js b/node_modules/object.assign/node_modules/es-abstract/5/ToInteger.js deleted file mode 100644 index c29fff599..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToInteger.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.4 - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - if ($isNaN(number)) { return 0; } - if (number === 0 || !$isFinite(number)) { return number; } - return $sign(number) * floor(abs(number)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToNumber.js b/node_modules/object.assign/node_modules/es-abstract/5/ToNumber.js deleted file mode 100644 index 4a7a3b885..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToNumber.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.3 - -module.exports = function ToNumber(value) { - return +value; // eslint-disable-line no-implicit-coercion -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToObject.js b/node_modules/object.assign/node_modules/es-abstract/5/ToObject.js deleted file mode 100644 index 1d27a134b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToObject.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Object = GetIntrinsic('%Object%'); - -var CheckObjectCoercible = require('./CheckObjectCoercible'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.9 - -module.exports = function ToObject(value) { - CheckObjectCoercible(value); - return $Object(value); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/5/ToPrimitive.js deleted file mode 100644 index 071df7049..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToPrimitive.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.1 - -module.exports = require('es-to-primitive/es5'); diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/5/ToPropertyDescriptor.js deleted file mode 100644 index 7c401360f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToPropertyDescriptor.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var has = require('has'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var Type = require('./Type'); -var ToBoolean = require('./ToBoolean'); -var IsCallable = require('./IsCallable'); - -// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5 - -module.exports = function ToPropertyDescriptor(Obj) { - if (Type(Obj) !== 'Object') { - throw new $TypeError('ToPropertyDescriptor requires an object'); - } - - var desc = {}; - if (has(Obj, 'enumerable')) { - desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); - } - if (has(Obj, 'configurable')) { - desc['[[Configurable]]'] = ToBoolean(Obj.configurable); - } - if (has(Obj, 'value')) { - desc['[[Value]]'] = Obj.value; - } - if (has(Obj, 'writable')) { - desc['[[Writable]]'] = ToBoolean(Obj.writable); - } - if (has(Obj, 'get')) { - var getter = Obj.get; - if (typeof getter !== 'undefined' && !IsCallable(getter)) { - throw new $TypeError('getter must be a function'); - } - desc['[[Get]]'] = getter; - } - if (has(Obj, 'set')) { - var setter = Obj.set; - if (typeof setter !== 'undefined' && !IsCallable(setter)) { - throw new $TypeError('setter must be a function'); - } - desc['[[Set]]'] = setter; - } - - if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { - throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); - } - return desc; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToString.js b/node_modules/object.assign/node_modules/es-abstract/5/ToString.js deleted file mode 100644 index 80ece429b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToString.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $String = GetIntrinsic('%String%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.8 - -module.exports = function ToString(value) { - return $String(value); -}; - diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToUint16.js b/node_modules/object.assign/node_modules/es-abstract/5/ToUint16.js deleted file mode 100644 index b10e3ed31..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToUint16.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var abs = require('./abs'); -var floor = require('./floor'); -var modulo = require('./modulo'); -var ToNumber = require('./ToNumber'); - -var $isNaN = require('../helpers/isNaN'); -var $isFinite = require('../helpers/isFinite'); -var $sign = require('../helpers/sign'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7 - -module.exports = function ToUint16(value) { - var number = ToNumber(value); - if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } - var posInt = $sign(number) * floor(abs(number)); - return modulo(posInt, 0x10000); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/ToUint32.js b/node_modules/object.assign/node_modules/es-abstract/5/ToUint32.js deleted file mode 100644 index 3660f6209..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/ToUint32.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var ToNumber = require('./ToNumber'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6 - -module.exports = function ToUint32(x) { - return ToNumber(x) >>> 0; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/Type.js b/node_modules/object.assign/node_modules/es-abstract/5/Type.js deleted file mode 100644 index 9cc750cd5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/Type.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -// https://www.ecma-international.org/ecma-262/5.1/#sec-8 - -module.exports = function Type(x) { - if (x === null) { - return 'Null'; - } - if (typeof x === 'undefined') { - return 'Undefined'; - } - if (typeof x === 'function' || typeof x === 'object') { - return 'Object'; - } - if (typeof x === 'number') { - return 'Number'; - } - if (typeof x === 'boolean') { - return 'Boolean'; - } - if (typeof x === 'string') { - return 'String'; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/WeekDay.js b/node_modules/object.assign/node_modules/es-abstract/5/WeekDay.js deleted file mode 100644 index 51d072201..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/WeekDay.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var Day = require('./Day'); -var modulo = require('./modulo'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 - -module.exports = function WeekDay(t) { - return modulo(Day(t) + 4, 7); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/YearFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/YearFromTime.js deleted file mode 100644 index ff5339f24..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/YearFromTime.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Date = GetIntrinsic('%Date%'); - -var callBound = require('../helpers/callBound'); - -var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear'); - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 - -module.exports = function YearFromTime(t) { - // largest y such that this.TimeFromYear(y) <= t - return $getUTCFullYear(new $Date(t)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/abs.js b/node_modules/object.assign/node_modules/es-abstract/5/abs.js deleted file mode 100644 index b32d0c9ff..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/abs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $abs = GetIntrinsic('%Math.abs%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function abs(x) { - return $abs(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/floor.js b/node_modules/object.assign/node_modules/es-abstract/5/floor.js deleted file mode 100644 index 66d616d4d..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/floor.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -// var modulo = require('./modulo'); -var $floor = Math.floor; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/modulo.js b/node_modules/object.assign/node_modules/es-abstract/5/modulo.js deleted file mode 100644 index bc04c0628..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/modulo.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mod = require('../helpers/mod'); - -// https://ecma-international.org/ecma-262/5.1/#sec-5.2 - -module.exports = function modulo(x, y) { - return mod(x, y); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/5/msFromTime.js b/node_modules/object.assign/node_modules/es-abstract/5/msFromTime.js deleted file mode 100644 index ebe5f5855..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/5/msFromTime.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var modulo = require('./modulo'); - -var msPerSecond = require('../helpers/timeConstants').msPerSecond; - -// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10 - -module.exports = function msFromTime(t) { - return modulo(t, msPerSecond); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/CHANGELOG.md b/node_modules/object.assign/node_modules/es-abstract/CHANGELOG.md deleted file mode 100644 index c0c58abcc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/CHANGELOG.md +++ /dev/null @@ -1,374 +0,0 @@ -1.18.0-next.0 / 2020-08-14 -================= - * [New] add `ES2020` - * [New] `GetIntrinsic`: add `%AggregateError%`, `%FinalizationRegistry%`, and `%WeakRef%` - * [New] `ES5`+: add `abs`, `floor`; use `modulo` consistently - * [New] `GetIntrinsic`: Cache accessed intrinsics (#98) - * [New] `GetIntrinsic`: Add ES201x function intrinsics (#97) - * [New] `ES2015`+: add `QuoteJSONString`, `OrdinaryCreateFromConstructor` - * [New] `ES2017`+: add `StringGetOwnProperty` - * [New] `ES2016`+: add `UTF16Encoding` - * [New] `ES2018`+: add `SetFunctionLength`, `UnicodeEscape` - * [New] add `isLeadingSurrogate`/`isTrailingSurrogate` helpers - * [Fix] `ES5`+: `ToPropertyDescriptor`: use intrinsic TypeError - * [Fix] `ES2018+`: `CopyDataProperties`/`NumberToString`: use intrinsic TypeError - * [Deps] update `is-regex`, `object-inspect` - * [Dev Deps] update `eslint` - -1.17.6 / 2020-06-13 -================= - * [Fix] `helpers/getSymbolDescription`: use the global Symbol registry when available (#92) - * [Fix] `ES2015+`: `IsConstructor`: when `Reflect.construct` is available, be spec-accurate (#93) - * [Fix] `ES2015+`: `Set`: Always return boolean value (#101) - * [Fix] `ES2015+`: `Set`: ensure exceptions are thrown in IE 9 when requested - * [Fix] Use `Reflect.apply(…)` if available (#99) - * [Fix] `helpers/floor`: module-cache `Math.floor` - * [Fix] `helpers/getSymbolDescription`: Prefer bound `description` getter when present - * [Fix] `2016`: Use `getIteratorMethod` in `IterableToArrayLike` (#94) - * [Fix] `helpers/OwnPropertyKeys`: Use `Reflect.ownKeys(…)` if available (#91) - * [Fix] `2018+`: Fix `CopyDataProperties` depending on `this` (#95) - * [meta] mark spackled files as autogenerated - * [meta] `Type`: fix spec URL - * [meta] `ES2015`: complete ops list - * [Deps] update `is‑callable`, `is‑regex` - * [Deps] switch from `string.prototype.trimleft`/`string.prototype.trimright` to `string.prototype.trimstart`/`string.prototype.trimend` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `in-publish`, `object-is`, `tape`; add `aud` - * [eslint] `helpers/isPropertyDescriptor`: fix indentation - * [Tests] `helpers/getSymbolDescription`: add test cases; some envs have `Symbol.for` but can not infer a name (#92) - * [Tests] try out CodeQL analysis - * [Tests] reformat expected missing ops - * [Tests] Run tests with `undefined` this (#96) - -1.17.5 / 2020-03-22 -================= - * [Fix] `CreateDataProperty`: update an existing property - * [Fix] run missing spackle from cd7504701879ddea0f5981e99cbcf93bfea9171d - * [Dev Deps] update `make-arrow-function`, `tape`, `@ljharb/eslint-config` - -1.17.4 / 2020-01-21 -================= - * [Fix] `2015+`: add code to handle IE 8’s problems - * [Tests] fix tests for IE 8 - -1.17.3 / 2020-01-19 -================= - * [Fix] `ObjectCreate` `2015+`: Fall back to `__proto__` and normal `new` in older browsers - * [Fix] `GetIntrinsic`: ensure the `allowMissing` property actually works on dotted intrinsics - -1.17.2 / 2020-01-14 -================= - * [Fix] `helpers/OwnPropertyKeys`: include non-enumerables too - -1.17.1 / 2020-01-14 -================= - * [Refactor] add `OwnPropertyKeys` helper, use it in `CopyDataProperties` - * [Refactor] `IteratorClose`: remove useless assignment - * [Dev Deps] update `eslint`, `tape`, `diff` - -1.17.0 / 2019-12-20 -================= - * [New] Split up each operation into its own file (prereleased) - * [Fix] `GetIntrinsic`: IE 8 has a broken `Object.getOwnPropertyDescriptor` - * [Fix] `object.assign` is a runtime dep (prereleased) - * [Refactor] `GetIntrinsic`: remove the internal property salts, since % already handles that - * [Refactor] `GetIntrinsic`: further simplification - * [Deps] update `is-callable`, `string.prototype.trimleft`, `string.prototype.trimright`, `is-regex` - * [Dev Deps] update `@ljharb/eslint-config`, `object-is`, `object.fromentries`, `tape` - * [Tests] add `.eslintignore` - * [meta] remove unused Makefile and associated utils - * [meta] only run spackle script in publish (#78) (prereleased) - -1.17.0-next.1 / 2019-12-11 -================= - * [Fix] `object.assign` is a runtime dep - * [meta] only run spackle script in publish (#78) - -1.17.0-next.0 / 2019-12-11 -================= - * [New] Split up each operation into its own file - -1.16.3 / 2019-12-04 -================= - * [Fix] `GetIntrinsic`: when given a path to a getter, return the actual getter - * [Dev Deps] update `eslint` - -1.16.2 / 2019-11-24 -================= - * [Fix] IE 6-7 lack JSON - * [Fix] IE 6-8 strings can’t use array slice, they need string slice - * [Dev Deps] update `eslint` - -1.16.1 / 2019-11-24 -================= - * [Fix] `GetIntrinsics`: turns out IE 8 throws when `Object.getOwnPropertyDescriptor(arguments);`, and does not throw on `callee` anyways - * [Deps] update `es-to-primitive`, `has-symbols`, `object-inspect` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest` - * [meta] re-include year files inside `operations` - * [meta] add `funding` field - * [actions] add Automatic Rebase github action - * [Tests] use shared travis-ci config - * [Tests] disable `check-coverage`, and let codecov do it - -1.16.0 / 2019-10-18 -================= - * [New] `ES2015+`: add `SetFunctionName` - * [New] `ES2015+`: add `GetPrototypeFromConstructor`, with caveats - * [New] `ES2015+`: add `CreateListFromArrayLike` - * [New] `ES2016+`: add `OrdinarySetPrototypeOf` - * [New] `ES2016+`: add `OrdinaryGetPrototypeOf` - * [New] add `getSymbolDescription` and `getInferredName` helpers - * [Fix] `GetIterator`: add fallback for pre-Symbol environments, tests - * [Dev Deps] update `object.fromentries` - * [Tests] add `node` `v12.2` - -1.15.0 / 2019-10-02 -================= - * [New] `ES2018`+: add `DateString`, `TimeString` - * [New] `ES2015`+: add `ToDateString` - * [New] `ES5`+: add `msFromTime`, `SecFromTime`, `MinFromTime`, `HourFromTime`, `TimeWithinDay`, `Day`, `DayFromYear`, `TimeFromYear`, `YearFromTime`, `WeekDay`, `DaysInYear`, `InLeapYear`, `DayWithinYear`, `MonthFromTime`, `DateFromTime`, `MakeDay`, `MakeDate`, `MakeTime`, `TimeClip`, `modulo` - * [New] add `regexTester` helper - * [New] add `callBound` helper - * [New] add ES2020’s intrinsic dot notation - * [New] add `isPrefixOf` helper - * [New] add `maxSafeInteger` helper - * [Deps] update `string.prototype.trimleft`, `string.prototype.trimright` - * [Dev Deps] update `eslint` - * [Tests] on `node` `v12.11` - * [meta] npmignore operations scripts; add "deltas" - -1.14.2 / 2019-09-08 -================= - * [Fix] `ES2016`: `IterableToArrayLike`: add proper fallback for strings, pre-Symbols - * [Tests] on `node` `v12.10` - -1.14.1 / 2019-09-03 -================= - * [meta] republish with some extra files removed - -1.14.0 / 2019-09-02 -================= - * [New] add ES2019 - * [New] `ES2017+`: add `IterableToList` - * [New] `ES2016`: add `IterableToArrayLike` - * [New] `ES2015+`: add `ArrayCreate`, `ArraySetLength`, `OrdinaryDefineOwnProperty`, `OrdinaryGetOwnProperty`, `OrdinaryHasProperty`, `CreateHTML`, `GetOwnPropertyKeys`, `InstanceofOperator`, `SymbolDescriptiveString`, `GetSubstitution`, `ValidateAndApplyPropertyDescriptor`, `IsPromise`, `OrdinaryHasInstance`, `TestIntegrityLevel`, `SetIntegrityLevel` - * [New] add `callBind` helper, and use it - * [New] add helpers: `isPropertyDescriptor`, `every` - * [New] ES5+: add `Abstract Relational Comparison` - * [New] ES5+: add `Abstract Equality Comparison`, `Strict Equality Comparison` - * [Fix] `ES2015+`: `GetIterator`: only require native Symbols when `method` is omitted - * [Fix] `ES2015`: `Call`: error message now properly displays Symbols using `object-inspect` - * [Fix] `ES2015+`: `ValidateAndApplyPropertyDescriptor`: use ES2017 logic to bypass spec bugs - * [Fix] `ES2015+`: `CreateDataProperty`, `DefinePropertyOrThrow`, `ValidateAndApplyPropertyDescriptor`: add fallbacks for ES3 - * [Fix] `ES2015+`: `FromPropertyDescriptor`: no longer requires a fully complete Property Descriptor - * [Fix] `ES5`: `IsPropertyDescriptor`: call into `IsDataDescriptor` and `IsAccessorDescriptor` - * [Refactor] use `has-symbols` for Symbol detection - * [Fix] `helpers/assertRecord`: remove `console.log` - * [Deps] update `object-keys` - * [readme] add security note - * [meta] change http URLs to https - * [meta] linter cleanup - * [meta] fix getOps script - * [meta] add FUNDING.yml - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `semver`, `replace`, `cheerio`, `tape` - * [Tests] up to `node` `v12.9`, `v11.15`, `v10.16`, `v8.16`, `v6.17` - * [Tests] temporarily allow node 0.6 to fail; segfaulting in travis - * [Tests] use the values helper more in es5 tests - * [Tests] fix linting to apply to all files - * [Tests] run `npx aud` only on prod deps - * [Tests] add v.descriptors helpers - * [Tests] use `npx aud` instead of `npm audit` with hoops - * [Tests] use `eclint` instead of `editorconfig-tools` - * [Tests] some intrinsic cleanup - * [Tests] migrate es5 tests to use values helper - * [Tests] add some missing ES2015 ops - -1.13.0 / 2019-01-02 -================= - * [New] add ES2018 - * [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties - * [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue` - * [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty` - * [New] add `assertRecord` helper - * [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace` - * [Tests] use `npm audit` instead of `nsp` - * [Tests] remove `jscs` - * [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16` - * [Tests] move descriptor factories to `values` helper - * [Tests] add `getOps` to programmatically fetch abstract operation names - -1.12.0 / 2018-05-31 -================= - * [New] add `GetIntrinsic` entry point - * [New] `ES2015`+: add `ObjectCreate` - * [Robustness]: `ES2015+`: ensure `Math.{abs,floor}` and `Function.call` are cached - -1.11.0 / 2018-03-21 -================= - * [New] `ES2015+`: add iterator abstract ops - * [Dev Deps] update `eslint`, `nsp`, `object.assign`, `semver`, `tape` - * [Tests] up to `node` `v9.8`, `v8.10`, `v6.13` - -1.10.0 / 2017-11-24 -================= - * [New] ES2015+: `AdvanceStringIndex` - * [Dev Deps] update `eslint`, `nsp` - * [Tests] require node 0.6 to pass again - * [Tests] up to `node` `v9.2`, `v8.9`, `v6.12`; use `nvm install-latest-npm`; pin included builds to LTS - -1.9.0 / 2017-09-30 -================= - * [New] `es2015+`: add `ArraySpeciesCreate` - * [New] ES2015+: add `CreateDataProperty` and `CreateDataPropertyOrThrow` - * [Tests] consolidate duplicated tests - * [Tests] increase coverage - * [Dev Deps] update `nsp`, `eslint` - -1.8.2 / 2017-09-03 -================= - * [Fix] `es2015`+: `ToNumber`: provide the proper hint for Date objects (#27) - * [Dev Deps] update `eslint` - -1.8.1 / 2017-08-30 -================= - * [Fix] ES2015+: `ToPropertyKey`: should return a symbol for Symbols (#26) - * [Deps] update `function-bind` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config` - * [Docs] github broke markdown parsing - -1.8.0 / 2017-08-04 -================= - * [New] add ES2017 - * [New] move es6+ to es2015+; leave es6/es7 as aliases - * [New] ES5+: add `IsPropertyDescriptor`, `IsAccessorDescriptor`, `IsDataDescriptor`, `IsGenericDescriptor`, `FromPropertyDescriptor`, `ToPropertyDescriptor` - * [New] ES2015+: add `CompletePropertyDescriptor`, `Set`, `HasOwnProperty`, `HasProperty`, `IsConcatSpreadable`, `Invoke`, `CreateIterResultObject`, `RegExpExec` - * [Fix] es7/es2016: do not mutate ES6 - * [Fix] assign helper only supports one source - * [Deps] update `is-regex` - * [Dev Deps] update `nsp`, `eslint`, `@ljharb/eslint-config` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `semver`, `tape` - * [Tests] add tests for missing and excess operations - * [Tests] add codecov for coverage - * [Tests] up to `node` `v8.2`, `v7.10`, `v6.11`, `v4.8`; newer npm breaks on older node - * [Tests] use same lists of value types across tests; ensure tests are the same when ops are the same - * [Tests] ES2015: add ToNumber symbol tests - * [Tests] switch to `nyc` for code coverage - * [Tests] make IsRegExp tests consistent across editions - -1.7.0 / 2017-01-22 -================= - * [New] ES6: Add `GetMethod` (#16) - * [New] ES6: Add `GetV` (#16) - * [New] ES6: Add `Get` (#17) - * [Tests] up to `node` `v7.4`, `v6.9`, `v4.6`; improve test matrix - * [Dev Deps] update `tape`, `nsp`, `eslint`, `@ljharb/eslint-config`, `safe-publish-latest` - -1.6.1 / 2016-08-21 -================= - * [Fix] ES6: IsConstructor should return true for `class` constructors. - -1.6.0 / 2016-08-20 -================= - * [New] ES5 / ES6: add `Type` - * [New] ES6: `SpeciesConstructor` - * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`; add `safe-publish-latest` - * [Tests] up to `node` `v6.4`, `v5.12`, `v4.5` - -1.5.1 / 2016-05-30 -================= - * [Fix] `ES.IsRegExp`: actually look up `Symbol.match` on the argument - * [Refactor] create `isNaN` helper - * [Deps] update `is-callable`, `function-bind` - * [Deps] update `es-to-primitive`, fix ES5 tests - * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`, `nsp` - * [Tests] up to `node` `v6.2`, `v5.11`, `v4.4` - * [Tests] use pretest/posttest for linting/security - -1.5.0 / 2015-12-27 -================= - * [New] adds `Symbol.toPrimitive` support via `es-to-primitive` - * [Deps] update `is-callable`, `es-to-primitive` - * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `tape` - * [Tests] up to `node` `v5.3` - -1.4.3 / 2015-11-04 -================= - * [Fix] `ES6.ToNumber`: should give `NaN` for explicitly signed hex strings (#4) - * [Refactor] `ES6.ToNumber`: No need to double-trim - * [Refactor] group tests better - * [Tests] should still pass on `node` `v0.8` - -1.4.2 / 2015-11-02 -================= - * [Fix] ensure `ES.ToNumber` trims whitespace, and does not trim non-whitespace (#3) - -1.4.1 / 2015-10-31 -================= - * [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2) - * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` - * [Tests] on `node` `v5.0` - * [Tests] fix npm upgrades for older node versions - * package.json: use object form of "authors", add "contributors" - -1.4.0 / 2015-09-26 -================= - * [Deps] update `is-callable` - * [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` - * [Tests] on `node` `v4.2` - * [New] Add `SameValueNonNumber` to ES7 - -1.3.2 / 2015-09-26 -================= - * [Fix] Fix `ES6.IsRegExp` to properly handle `Symbol.match`, per spec. - * [Tests] up to `io.js` `v3.3`, `node` `v4.1` - * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` - -1.3.1 / 2015-08-15 -================= - * [Fix] Ensure that objects that `toString` to a binary or octal literal also convert properly - -1.3.0 / 2015-08-15 -================= - * [New] ES6’s ToNumber now supports binary and octal literals. - * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape` - * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG - * [Tests] up to `io.js` `v3.0` - -1.2.2 / 2015-07-28 -================= - * [Fix] Both `ES5.CheckObjectCoercible` and `ES6.RequireObjectCoercible` return the value if they don't throw. - * [Tests] Test on latest `io.js` versions. - * [Dev Deps] Update `eslint`, `jscs`, `tape`, `semver`, `covert`, `nsp` - -1.2.1 / 2015-03-20 -================= - * Fix `isFinite` helper. - -1.2.0 / 2015-03-19 -================= - * Use `es-to-primitive` for ToPrimitive methods. - * Test on latest `io.js` versions; allow failures on all but 2 latest `node`/`io.js` versions. - -1.1.2 / 2015-03-20 -================= - * Fix isFinite helper. - -1.1.1 / 2015-03-19 -================= - * Fix isPrimitive check for functions - * Update `eslint`, `editorconfig-tools`, `semver`, `nsp` - -1.1.0 / 2015-02-17 -================= - * Add ES7 export (non-default). - * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`. - * Test on `iojs-v1.2`. - -1.0.1 / 2015-01-30 -================= - * Use `is-callable` instead of an internal function. - * Update `tape`, `jscs`, `nsp`, `eslint` - -1.0.0 / 2015-01-10 -================= - * v1.0.0 diff --git a/node_modules/object.assign/node_modules/es-abstract/GetIntrinsic.js b/node_modules/object.assign/node_modules/es-abstract/GetIntrinsic.js deleted file mode 100644 index a21eea7f8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/GetIntrinsic.js +++ /dev/null @@ -1,278 +0,0 @@ -'use strict'; - -/* globals - AggregateError, - Atomics, - FinalizationRegistry, - SharedArrayBuffer, - WeakRef, -*/ - -var undefined; - -var $SyntaxError = SyntaxError; -var $Function = Function; -var $TypeError = TypeError; - -// eslint-disable-next-line consistent-return -var getEvalledConstructor = function (expressionSyntax) { - try { - // eslint-disable-next-line no-new-func - return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} -}; - -var $gOPD = Object.getOwnPropertyDescriptor; -if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } -} - -var throwTypeError = function () { throw new $TypeError(); }; -var ThrowTypeError = $gOPD - ? (function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }()) - : throwTypeError; - -var hasSymbols = require('has-symbols')(); - -var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto - -var asyncGenFunction = getEvalledConstructor('async function* () {}'); -var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; -var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; - -var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - -var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': getEvalledConstructor('async function () {}'), - '%AsyncGenerator%': asyncGenFunctionPrototype, - '%AsyncGeneratorFunction%': asyncGenFunction, - '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': getEvalledConstructor('function* () {}'), - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet -}; - -var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] -}; - -var bind = require('function-bind'); -var hasOwn = require('has'); -var $concat = bind.call(Function.call, Array.prototype.concat); -var $spliceApply = bind.call(Function.apply, Array.prototype.splice); -var $replace = bind.call(Function.call, String.prototype.replace); - -/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ -var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; -var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ -var stringToPath = function stringToPath(string) { - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; -}; -/* end adaptation */ - -var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value - }; - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); -}; - -module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if ($gOPD && (i + 1) >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - if (!allowMissing && !(part in value)) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - value = isOwn ? desc.get || desc.value : value[part]; - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/LICENSE b/node_modules/object.assign/node_modules/es-abstract/LICENSE deleted file mode 100644 index 8c271c14b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (C) 2015 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/object.assign/node_modules/es-abstract/README.md b/node_modules/object.assign/node_modules/es-abstract/README.md deleted file mode 100644 index 20342d118..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# es-abstract [![Version Badge][npm-version-svg]][package-url] - -[![Build Status][travis-svg]][travis-url] -[![dependency status][deps-svg]][deps-url] -[![dev dependency status][dev-deps-svg]][dev-deps-url] -[![License][license-image]][license-url] -[![Downloads][downloads-image]][downloads-url] - -[![npm badge][npm-badge-png]][package-url] - -[![browser support][testling-svg]][testling-url] - -ECMAScript spec abstract operations. -When different versions of the spec conflict, the default export will be the latest version of the abstract operation. -All abstract operations will also be available under an `es5`/`es2015`/`es2016`/`es2017`/`es2018`/`es2019` entry point, and exported property, if you require a specific version. - -## Example - -```js -var ES = require('es-abstract'); -var assert = require('assert'); - -assert(ES.isCallable(function () {})); -assert(!ES.isCallable(/a/g)); -``` - -## Tests -Simply clone the repo, `npm install`, and run `npm test` - -## Security - -Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. - -[package-url]: https://npmjs.org/package/es-abstract -[npm-version-svg]: http://versionbadg.es/ljharb/es-abstract.svg -[travis-svg]: https://travis-ci.org/ljharb/es-abstract.svg -[travis-url]: https://travis-ci.org/ljharb/es-abstract -[deps-svg]: https://david-dm.org/ljharb/es-abstract.svg -[deps-url]: https://david-dm.org/ljharb/es-abstract -[dev-deps-svg]: https://david-dm.org/ljharb/es-abstract/dev-status.svg -[dev-deps-url]: https://david-dm.org/ljharb/es-abstract#info=devDependencies -[testling-svg]: https://ci.testling.com/ljharb/es-abstract.png -[testling-url]: https://ci.testling.com/ljharb/es-abstract -[npm-badge-png]: https://nodei.co/npm/es-abstract.png?downloads=true&stars=true -[license-image]: https://img.shields.io/npm/l/es-abstract.svg -[license-url]: LICENSE -[downloads-image]: https://img.shields.io/npm/dm/es-abstract.svg -[downloads-url]: https://npm-stat.com/charts.html?package=es-abstract diff --git a/node_modules/object.assign/node_modules/es-abstract/es2015.js b/node_modules/object.assign/node_modules/es-abstract/es2015.js deleted file mode 100644 index ffa85b70a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2015.js +++ /dev/null @@ -1,119 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-operations -var ES6 = { - 'Abstract Equality Comparison': require('./2015/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2015/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2015/StrictEqualityComparison'), - abs: require('./2015/abs'), - AdvanceStringIndex: require('./2015/AdvanceStringIndex'), - ArrayCreate: require('./2015/ArrayCreate'), - ArraySetLength: require('./2015/ArraySetLength'), - ArraySpeciesCreate: require('./2015/ArraySpeciesCreate'), - Call: require('./2015/Call'), - CanonicalNumericIndexString: require('./2015/CanonicalNumericIndexString'), - CompletePropertyDescriptor: require('./2015/CompletePropertyDescriptor'), - CreateDataProperty: require('./2015/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2015/CreateDataPropertyOrThrow'), - CreateHTML: require('./2015/CreateHTML'), - CreateIterResultObject: require('./2015/CreateIterResultObject'), - CreateListFromArrayLike: require('./2015/CreateListFromArrayLike'), - CreateMethodProperty: require('./2015/CreateMethodProperty'), - DateFromTime: require('./2015/DateFromTime'), - Day: require('./2015/Day'), - DayFromYear: require('./2015/DayFromYear'), - DaysInYear: require('./2015/DaysInYear'), - DayWithinYear: require('./2015/DayWithinYear'), - DefinePropertyOrThrow: require('./2015/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2015/DeletePropertyOrThrow'), - EnumerableOwnNames: require('./2015/EnumerableOwnNames'), - floor: require('./2015/floor'), - FromPropertyDescriptor: require('./2015/FromPropertyDescriptor'), - Get: require('./2015/Get'), - GetIterator: require('./2015/GetIterator'), - GetMethod: require('./2015/GetMethod'), - GetOwnPropertyKeys: require('./2015/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2015/GetPrototypeFromConstructor'), - GetSubstitution: require('./2015/GetSubstitution'), - GetV: require('./2015/GetV'), - HasOwnProperty: require('./2015/HasOwnProperty'), - HasProperty: require('./2015/HasProperty'), - HourFromTime: require('./2015/HourFromTime'), - InLeapYear: require('./2015/InLeapYear'), - InstanceofOperator: require('./2015/InstanceofOperator'), - Invoke: require('./2015/Invoke'), - IsAccessorDescriptor: require('./2015/IsAccessorDescriptor'), - IsArray: require('./2015/IsArray'), - IsCallable: require('./2015/IsCallable'), - IsConcatSpreadable: require('./2015/IsConcatSpreadable'), - IsConstructor: require('./2015/IsConstructor'), - IsDataDescriptor: require('./2015/IsDataDescriptor'), - IsExtensible: require('./2015/IsExtensible'), - IsGenericDescriptor: require('./2015/IsGenericDescriptor'), - IsInteger: require('./2015/IsInteger'), - IsPromise: require('./2015/IsPromise'), - IsPropertyDescriptor: require('./2015/IsPropertyDescriptor'), - IsPropertyKey: require('./2015/IsPropertyKey'), - IsRegExp: require('./2015/IsRegExp'), - IteratorClose: require('./2015/IteratorClose'), - IteratorComplete: require('./2015/IteratorComplete'), - IteratorNext: require('./2015/IteratorNext'), - IteratorStep: require('./2015/IteratorStep'), - IteratorValue: require('./2015/IteratorValue'), - MakeDate: require('./2015/MakeDate'), - MakeDay: require('./2015/MakeDay'), - MakeTime: require('./2015/MakeTime'), - MinFromTime: require('./2015/MinFromTime'), - modulo: require('./2015/modulo'), - MonthFromTime: require('./2015/MonthFromTime'), - msFromTime: require('./2015/msFromTime'), - ObjectCreate: require('./2015/ObjectCreate'), - OrdinaryCreateFromConstructor: require('./2015/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2015/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2015/OrdinaryGetOwnProperty'), - OrdinaryHasInstance: require('./2015/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2015/OrdinaryHasProperty'), - QuoteJSONString: require('./2015/QuoteJSONString'), - RegExpExec: require('./2015/RegExpExec'), - RequireObjectCoercible: require('./2015/RequireObjectCoercible'), - SameValue: require('./2015/SameValue'), - SameValueZero: require('./2015/SameValueZero'), - SecFromTime: require('./2015/SecFromTime'), - Set: require('./2015/Set'), - SetFunctionName: require('./2015/SetFunctionName'), - SetIntegrityLevel: require('./2015/SetIntegrityLevel'), - SpeciesConstructor: require('./2015/SpeciesConstructor'), - SymbolDescriptiveString: require('./2015/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2015/TestIntegrityLevel'), - thisBooleanValue: require('./2015/thisBooleanValue'), - thisNumberValue: require('./2015/thisNumberValue'), - thisStringValue: require('./2015/thisStringValue'), - thisTimeValue: require('./2015/thisTimeValue'), - TimeClip: require('./2015/TimeClip'), - TimeFromYear: require('./2015/TimeFromYear'), - TimeWithinDay: require('./2015/TimeWithinDay'), - ToBoolean: require('./2015/ToBoolean'), - ToDateString: require('./2015/ToDateString'), - ToInt16: require('./2015/ToInt16'), - ToInt32: require('./2015/ToInt32'), - ToInt8: require('./2015/ToInt8'), - ToInteger: require('./2015/ToInteger'), - ToLength: require('./2015/ToLength'), - ToNumber: require('./2015/ToNumber'), - ToObject: require('./2015/ToObject'), - ToPrimitive: require('./2015/ToPrimitive'), - ToPropertyDescriptor: require('./2015/ToPropertyDescriptor'), - ToPropertyKey: require('./2015/ToPropertyKey'), - ToString: require('./2015/ToString'), - ToUint16: require('./2015/ToUint16'), - ToUint32: require('./2015/ToUint32'), - ToUint8: require('./2015/ToUint8'), - ToUint8Clamp: require('./2015/ToUint8Clamp'), - Type: require('./2015/Type'), - ValidateAndApplyPropertyDescriptor: require('./2015/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2015/WeekDay'), - YearFromTime: require('./2015/YearFromTime') -}; - -module.exports = ES6; diff --git a/node_modules/object.assign/node_modules/es-abstract/es2016.js b/node_modules/object.assign/node_modules/es-abstract/es2016.js deleted file mode 100644 index 75e68f16f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2016.js +++ /dev/null @@ -1,124 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/7.0/#sec-abstract-operations -var ES2016 = { - 'Abstract Equality Comparison': require('./2016/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2016/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2016/StrictEqualityComparison'), - abs: require('./2016/abs'), - AdvanceStringIndex: require('./2016/AdvanceStringIndex'), - ArrayCreate: require('./2016/ArrayCreate'), - ArraySetLength: require('./2016/ArraySetLength'), - ArraySpeciesCreate: require('./2016/ArraySpeciesCreate'), - Call: require('./2016/Call'), - CanonicalNumericIndexString: require('./2016/CanonicalNumericIndexString'), - CompletePropertyDescriptor: require('./2016/CompletePropertyDescriptor'), - CreateDataProperty: require('./2016/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2016/CreateDataPropertyOrThrow'), - CreateHTML: require('./2016/CreateHTML'), - CreateIterResultObject: require('./2016/CreateIterResultObject'), - CreateListFromArrayLike: require('./2016/CreateListFromArrayLike'), - CreateMethodProperty: require('./2016/CreateMethodProperty'), - DateFromTime: require('./2016/DateFromTime'), - Day: require('./2016/Day'), - DayFromYear: require('./2016/DayFromYear'), - DaysInYear: require('./2016/DaysInYear'), - DayWithinYear: require('./2016/DayWithinYear'), - DefinePropertyOrThrow: require('./2016/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2016/DeletePropertyOrThrow'), - EnumerableOwnNames: require('./2016/EnumerableOwnNames'), - floor: require('./2016/floor'), - FromPropertyDescriptor: require('./2016/FromPropertyDescriptor'), - Get: require('./2016/Get'), - GetIterator: require('./2016/GetIterator'), - GetMethod: require('./2016/GetMethod'), - GetOwnPropertyKeys: require('./2016/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2016/GetPrototypeFromConstructor'), - GetSubstitution: require('./2016/GetSubstitution'), - GetV: require('./2016/GetV'), - HasOwnProperty: require('./2016/HasOwnProperty'), - HasProperty: require('./2016/HasProperty'), - HourFromTime: require('./2016/HourFromTime'), - InLeapYear: require('./2016/InLeapYear'), - InstanceofOperator: require('./2016/InstanceofOperator'), - Invoke: require('./2016/Invoke'), - IsAccessorDescriptor: require('./2016/IsAccessorDescriptor'), - IsArray: require('./2016/IsArray'), - IsCallable: require('./2016/IsCallable'), - IsConcatSpreadable: require('./2016/IsConcatSpreadable'), - IsConstructor: require('./2016/IsConstructor'), - IsDataDescriptor: require('./2016/IsDataDescriptor'), - IsExtensible: require('./2016/IsExtensible'), - IsGenericDescriptor: require('./2016/IsGenericDescriptor'), - IsInteger: require('./2016/IsInteger'), - IsPromise: require('./2016/IsPromise'), - IsPropertyDescriptor: require('./2016/IsPropertyDescriptor'), - IsPropertyKey: require('./2016/IsPropertyKey'), - IsRegExp: require('./2016/IsRegExp'), - IterableToArrayLike: require('./2016/IterableToArrayLike'), - IteratorClose: require('./2016/IteratorClose'), - IteratorComplete: require('./2016/IteratorComplete'), - IteratorNext: require('./2016/IteratorNext'), - IteratorStep: require('./2016/IteratorStep'), - IteratorValue: require('./2016/IteratorValue'), - MakeDate: require('./2016/MakeDate'), - MakeDay: require('./2016/MakeDay'), - MakeTime: require('./2016/MakeTime'), - MinFromTime: require('./2016/MinFromTime'), - modulo: require('./2016/modulo'), - MonthFromTime: require('./2016/MonthFromTime'), - msFromTime: require('./2016/msFromTime'), - ObjectCreate: require('./2016/ObjectCreate'), - OrdinaryCreateFromConstructor: require('./2016/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2016/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2016/OrdinaryGetOwnProperty'), - OrdinaryGetPrototypeOf: require('./2016/OrdinaryGetPrototypeOf'), - OrdinaryHasInstance: require('./2016/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2016/OrdinaryHasProperty'), - OrdinarySetPrototypeOf: require('./2016/OrdinarySetPrototypeOf'), - QuoteJSONString: require('./2016/QuoteJSONString'), - RegExpExec: require('./2016/RegExpExec'), - RequireObjectCoercible: require('./2016/RequireObjectCoercible'), - SameValue: require('./2016/SameValue'), - SameValueNonNumber: require('./2016/SameValueNonNumber'), - SameValueZero: require('./2016/SameValueZero'), - SecFromTime: require('./2016/SecFromTime'), - Set: require('./2016/Set'), - SetFunctionName: require('./2016/SetFunctionName'), - SetIntegrityLevel: require('./2016/SetIntegrityLevel'), - SpeciesConstructor: require('./2016/SpeciesConstructor'), - SymbolDescriptiveString: require('./2016/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2016/TestIntegrityLevel'), - thisBooleanValue: require('./2016/thisBooleanValue'), - thisNumberValue: require('./2016/thisNumberValue'), - thisStringValue: require('./2016/thisStringValue'), - thisTimeValue: require('./2016/thisTimeValue'), - TimeClip: require('./2016/TimeClip'), - TimeFromYear: require('./2016/TimeFromYear'), - TimeWithinDay: require('./2016/TimeWithinDay'), - ToBoolean: require('./2016/ToBoolean'), - ToDateString: require('./2016/ToDateString'), - ToInt16: require('./2016/ToInt16'), - ToInt32: require('./2016/ToInt32'), - ToInt8: require('./2016/ToInt8'), - ToInteger: require('./2016/ToInteger'), - ToLength: require('./2016/ToLength'), - ToNumber: require('./2016/ToNumber'), - ToObject: require('./2016/ToObject'), - ToPrimitive: require('./2016/ToPrimitive'), - ToPropertyDescriptor: require('./2016/ToPropertyDescriptor'), - ToPropertyKey: require('./2016/ToPropertyKey'), - ToString: require('./2016/ToString'), - ToUint16: require('./2016/ToUint16'), - ToUint32: require('./2016/ToUint32'), - ToUint8: require('./2016/ToUint8'), - ToUint8Clamp: require('./2016/ToUint8Clamp'), - Type: require('./2016/Type'), - UTF16Encoding: require('./2016/UTF16Encoding'), - ValidateAndApplyPropertyDescriptor: require('./2016/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2016/WeekDay'), - YearFromTime: require('./2016/YearFromTime') -}; - -module.exports = ES2016; diff --git a/node_modules/object.assign/node_modules/es-abstract/es2017.js b/node_modules/object.assign/node_modules/es-abstract/es2017.js deleted file mode 100644 index ba01619d7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2017.js +++ /dev/null @@ -1,126 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/8.0/#sec-abstract-operations -var ES2017 = { - 'Abstract Equality Comparison': require('./2017/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2017/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2017/StrictEqualityComparison'), - abs: require('./2017/abs'), - AdvanceStringIndex: require('./2017/AdvanceStringIndex'), - ArrayCreate: require('./2017/ArrayCreate'), - ArraySetLength: require('./2017/ArraySetLength'), - ArraySpeciesCreate: require('./2017/ArraySpeciesCreate'), - Call: require('./2017/Call'), - CanonicalNumericIndexString: require('./2017/CanonicalNumericIndexString'), - CompletePropertyDescriptor: require('./2017/CompletePropertyDescriptor'), - CreateDataProperty: require('./2017/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2017/CreateDataPropertyOrThrow'), - CreateHTML: require('./2017/CreateHTML'), - CreateIterResultObject: require('./2017/CreateIterResultObject'), - CreateListFromArrayLike: require('./2017/CreateListFromArrayLike'), - CreateMethodProperty: require('./2017/CreateMethodProperty'), - DateFromTime: require('./2017/DateFromTime'), - Day: require('./2017/Day'), - DayFromYear: require('./2017/DayFromYear'), - DaysInYear: require('./2017/DaysInYear'), - DayWithinYear: require('./2017/DayWithinYear'), - DefinePropertyOrThrow: require('./2017/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2017/DeletePropertyOrThrow'), - EnumerableOwnProperties: require('./2017/EnumerableOwnProperties'), - floor: require('./2017/floor'), - FromPropertyDescriptor: require('./2017/FromPropertyDescriptor'), - Get: require('./2017/Get'), - GetIterator: require('./2017/GetIterator'), - GetMethod: require('./2017/GetMethod'), - GetOwnPropertyKeys: require('./2017/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2017/GetPrototypeFromConstructor'), - GetSubstitution: require('./2017/GetSubstitution'), - GetV: require('./2017/GetV'), - HasOwnProperty: require('./2017/HasOwnProperty'), - HasProperty: require('./2017/HasProperty'), - HourFromTime: require('./2017/HourFromTime'), - InLeapYear: require('./2017/InLeapYear'), - InstanceofOperator: require('./2017/InstanceofOperator'), - Invoke: require('./2017/Invoke'), - IsAccessorDescriptor: require('./2017/IsAccessorDescriptor'), - IsArray: require('./2017/IsArray'), - IsCallable: require('./2017/IsCallable'), - IsConcatSpreadable: require('./2017/IsConcatSpreadable'), - IsConstructor: require('./2017/IsConstructor'), - IsDataDescriptor: require('./2017/IsDataDescriptor'), - IsExtensible: require('./2017/IsExtensible'), - IsGenericDescriptor: require('./2017/IsGenericDescriptor'), - IsInteger: require('./2017/IsInteger'), - IsPromise: require('./2017/IsPromise'), - IsPropertyDescriptor: require('./2017/IsPropertyDescriptor'), - IsPropertyKey: require('./2017/IsPropertyKey'), - IsRegExp: require('./2017/IsRegExp'), - IterableToList: require('./2017/IterableToList'), - IteratorClose: require('./2017/IteratorClose'), - IteratorComplete: require('./2017/IteratorComplete'), - IteratorNext: require('./2017/IteratorNext'), - IteratorStep: require('./2017/IteratorStep'), - IteratorValue: require('./2017/IteratorValue'), - MakeDate: require('./2017/MakeDate'), - MakeDay: require('./2017/MakeDay'), - MakeTime: require('./2017/MakeTime'), - MinFromTime: require('./2017/MinFromTime'), - modulo: require('./2017/modulo'), - MonthFromTime: require('./2017/MonthFromTime'), - msFromTime: require('./2017/msFromTime'), - ObjectCreate: require('./2017/ObjectCreate'), - OrdinaryCreateFromConstructor: require('./2017/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2017/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2017/OrdinaryGetOwnProperty'), - OrdinaryGetPrototypeOf: require('./2017/OrdinaryGetPrototypeOf'), - OrdinaryHasInstance: require('./2017/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2017/OrdinaryHasProperty'), - OrdinarySetPrototypeOf: require('./2017/OrdinarySetPrototypeOf'), - QuoteJSONString: require('./2017/QuoteJSONString'), - RegExpExec: require('./2017/RegExpExec'), - RequireObjectCoercible: require('./2017/RequireObjectCoercible'), - SameValue: require('./2017/SameValue'), - SameValueNonNumber: require('./2017/SameValueNonNumber'), - SameValueZero: require('./2017/SameValueZero'), - SecFromTime: require('./2017/SecFromTime'), - Set: require('./2017/Set'), - SetFunctionName: require('./2017/SetFunctionName'), - SetIntegrityLevel: require('./2017/SetIntegrityLevel'), - SpeciesConstructor: require('./2017/SpeciesConstructor'), - StringGetOwnProperty: require('./2017/StringGetOwnProperty'), - SymbolDescriptiveString: require('./2017/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2017/TestIntegrityLevel'), - thisBooleanValue: require('./2017/thisBooleanValue'), - thisNumberValue: require('./2017/thisNumberValue'), - thisStringValue: require('./2017/thisStringValue'), - thisTimeValue: require('./2017/thisTimeValue'), - TimeClip: require('./2017/TimeClip'), - TimeFromYear: require('./2017/TimeFromYear'), - TimeWithinDay: require('./2017/TimeWithinDay'), - ToBoolean: require('./2017/ToBoolean'), - ToDateString: require('./2017/ToDateString'), - ToIndex: require('./2017/ToIndex'), - ToInt16: require('./2017/ToInt16'), - ToInt32: require('./2017/ToInt32'), - ToInt8: require('./2017/ToInt8'), - ToInteger: require('./2017/ToInteger'), - ToLength: require('./2017/ToLength'), - ToNumber: require('./2017/ToNumber'), - ToObject: require('./2017/ToObject'), - ToPrimitive: require('./2017/ToPrimitive'), - ToPropertyDescriptor: require('./2017/ToPropertyDescriptor'), - ToPropertyKey: require('./2017/ToPropertyKey'), - ToString: require('./2017/ToString'), - ToUint16: require('./2017/ToUint16'), - ToUint32: require('./2017/ToUint32'), - ToUint8: require('./2017/ToUint8'), - ToUint8Clamp: require('./2017/ToUint8Clamp'), - Type: require('./2017/Type'), - UTF16Encoding: require('./2017/UTF16Encoding'), - ValidateAndApplyPropertyDescriptor: require('./2017/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2017/WeekDay'), - YearFromTime: require('./2017/YearFromTime') -}; - -module.exports = ES2017; diff --git a/node_modules/object.assign/node_modules/es-abstract/es2018.js b/node_modules/object.assign/node_modules/es-abstract/es2018.js deleted file mode 100644 index 6d4fd082e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2018.js +++ /dev/null @@ -1,134 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/9.0/#sec-abstract-operations -var ES2018 = { - 'Abstract Equality Comparison': require('./2018/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2018/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2018/StrictEqualityComparison'), - abs: require('./2018/abs'), - AdvanceStringIndex: require('./2018/AdvanceStringIndex'), - ArrayCreate: require('./2018/ArrayCreate'), - ArraySetLength: require('./2018/ArraySetLength'), - ArraySpeciesCreate: require('./2018/ArraySpeciesCreate'), - Call: require('./2018/Call'), - CanonicalNumericIndexString: require('./2018/CanonicalNumericIndexString'), - CompletePropertyDescriptor: require('./2018/CompletePropertyDescriptor'), - CopyDataProperties: require('./2018/CopyDataProperties'), - CreateDataProperty: require('./2018/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2018/CreateDataPropertyOrThrow'), - CreateHTML: require('./2018/CreateHTML'), - CreateIterResultObject: require('./2018/CreateIterResultObject'), - CreateListFromArrayLike: require('./2018/CreateListFromArrayLike'), - CreateMethodProperty: require('./2018/CreateMethodProperty'), - DateFromTime: require('./2018/DateFromTime'), - DateString: require('./2018/DateString'), - Day: require('./2018/Day'), - DayFromYear: require('./2018/DayFromYear'), - DaysInYear: require('./2018/DaysInYear'), - DayWithinYear: require('./2018/DayWithinYear'), - DefinePropertyOrThrow: require('./2018/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2018/DeletePropertyOrThrow'), - EnumerableOwnPropertyNames: require('./2018/EnumerableOwnPropertyNames'), - floor: require('./2018/floor'), - FromPropertyDescriptor: require('./2018/FromPropertyDescriptor'), - Get: require('./2018/Get'), - GetIterator: require('./2018/GetIterator'), - GetMethod: require('./2018/GetMethod'), - GetOwnPropertyKeys: require('./2018/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2018/GetPrototypeFromConstructor'), - GetSubstitution: require('./2018/GetSubstitution'), - GetV: require('./2018/GetV'), - HasOwnProperty: require('./2018/HasOwnProperty'), - HasProperty: require('./2018/HasProperty'), - HourFromTime: require('./2018/HourFromTime'), - InLeapYear: require('./2018/InLeapYear'), - InstanceofOperator: require('./2018/InstanceofOperator'), - Invoke: require('./2018/Invoke'), - IsAccessorDescriptor: require('./2018/IsAccessorDescriptor'), - IsArray: require('./2018/IsArray'), - IsCallable: require('./2018/IsCallable'), - IsConcatSpreadable: require('./2018/IsConcatSpreadable'), - IsConstructor: require('./2018/IsConstructor'), - IsDataDescriptor: require('./2018/IsDataDescriptor'), - IsExtensible: require('./2018/IsExtensible'), - IsGenericDescriptor: require('./2018/IsGenericDescriptor'), - IsInteger: require('./2018/IsInteger'), - IsPromise: require('./2018/IsPromise'), - IsPropertyKey: require('./2018/IsPropertyKey'), - IsRegExp: require('./2018/IsRegExp'), - IsStringPrefix: require('./2018/IsStringPrefix'), - IterableToList: require('./2018/IterableToList'), - IteratorClose: require('./2018/IteratorClose'), - IteratorComplete: require('./2018/IteratorComplete'), - IteratorNext: require('./2018/IteratorNext'), - IteratorStep: require('./2018/IteratorStep'), - IteratorValue: require('./2018/IteratorValue'), - MakeDate: require('./2018/MakeDate'), - MakeDay: require('./2018/MakeDay'), - MakeTime: require('./2018/MakeTime'), - MinFromTime: require('./2018/MinFromTime'), - modulo: require('./2018/modulo'), - MonthFromTime: require('./2018/MonthFromTime'), - msFromTime: require('./2018/msFromTime'), - NumberToString: require('./2018/NumberToString'), - ObjectCreate: require('./2018/ObjectCreate'), - OrdinaryCreateFromConstructor: require('./2018/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2018/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2018/OrdinaryGetOwnProperty'), - OrdinaryGetPrototypeOf: require('./2018/OrdinaryGetPrototypeOf'), - OrdinaryHasInstance: require('./2018/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2018/OrdinaryHasProperty'), - OrdinarySetPrototypeOf: require('./2018/OrdinarySetPrototypeOf'), - PromiseResolve: require('./2018/PromiseResolve'), - QuoteJSONString: require('./2018/QuoteJSONString'), - RegExpExec: require('./2018/RegExpExec'), - RequireObjectCoercible: require('./2018/RequireObjectCoercible'), - SameValue: require('./2018/SameValue'), - SameValueNonNumber: require('./2018/SameValueNonNumber'), - SameValueZero: require('./2018/SameValueZero'), - SecFromTime: require('./2018/SecFromTime'), - Set: require('./2018/Set'), - SetFunctionLength: require('./2018/SetFunctionLength'), - SetFunctionName: require('./2018/SetFunctionName'), - SetIntegrityLevel: require('./2018/SetIntegrityLevel'), - SpeciesConstructor: require('./2018/SpeciesConstructor'), - StringGetOwnProperty: require('./2018/StringGetOwnProperty'), - SymbolDescriptiveString: require('./2018/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2018/TestIntegrityLevel'), - thisBooleanValue: require('./2018/thisBooleanValue'), - thisNumberValue: require('./2018/thisNumberValue'), - thisStringValue: require('./2018/thisStringValue'), - thisSymbolValue: require('./2018/thisSymbolValue'), - thisTimeValue: require('./2018/thisTimeValue'), - TimeClip: require('./2018/TimeClip'), - TimeFromYear: require('./2018/TimeFromYear'), - TimeString: require('./2018/TimeString'), - TimeWithinDay: require('./2018/TimeWithinDay'), - ToBoolean: require('./2018/ToBoolean'), - ToDateString: require('./2018/ToDateString'), - ToIndex: require('./2018/ToIndex'), - ToInt16: require('./2018/ToInt16'), - ToInt32: require('./2018/ToInt32'), - ToInt8: require('./2018/ToInt8'), - ToInteger: require('./2018/ToInteger'), - ToLength: require('./2018/ToLength'), - ToNumber: require('./2018/ToNumber'), - ToObject: require('./2018/ToObject'), - ToPrimitive: require('./2018/ToPrimitive'), - ToPropertyDescriptor: require('./2018/ToPropertyDescriptor'), - ToPropertyKey: require('./2018/ToPropertyKey'), - ToString: require('./2018/ToString'), - ToUint16: require('./2018/ToUint16'), - ToUint32: require('./2018/ToUint32'), - ToUint8: require('./2018/ToUint8'), - ToUint8Clamp: require('./2018/ToUint8Clamp'), - Type: require('./2018/Type'), - UnicodeEscape: require('./2018/UnicodeEscape'), - UTF16Encoding: require('./2018/UTF16Encoding'), - ValidateAndApplyPropertyDescriptor: require('./2018/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2018/WeekDay'), - YearFromTime: require('./2018/YearFromTime') -}; - -module.exports = ES2018; diff --git a/node_modules/object.assign/node_modules/es-abstract/es2019.js b/node_modules/object.assign/node_modules/es-abstract/es2019.js deleted file mode 100644 index 789aafaa5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2019.js +++ /dev/null @@ -1,137 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/10.0/#sec-abstract-operations -var ES2019 = { - 'Abstract Equality Comparison': require('./2019/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2019/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2019/StrictEqualityComparison'), - abs: require('./2019/abs'), - AddEntriesFromIterable: require('./2019/AddEntriesFromIterable'), - AdvanceStringIndex: require('./2019/AdvanceStringIndex'), - ArrayCreate: require('./2019/ArrayCreate'), - ArraySetLength: require('./2019/ArraySetLength'), - ArraySpeciesCreate: require('./2019/ArraySpeciesCreate'), - Call: require('./2019/Call'), - CanonicalNumericIndexString: require('./2019/CanonicalNumericIndexString'), - CompletePropertyDescriptor: require('./2019/CompletePropertyDescriptor'), - CopyDataProperties: require('./2019/CopyDataProperties'), - CreateDataProperty: require('./2019/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2019/CreateDataPropertyOrThrow'), - CreateHTML: require('./2019/CreateHTML'), - CreateIterResultObject: require('./2019/CreateIterResultObject'), - CreateListFromArrayLike: require('./2019/CreateListFromArrayLike'), - CreateMethodProperty: require('./2019/CreateMethodProperty'), - DateFromTime: require('./2019/DateFromTime'), - DateString: require('./2019/DateString'), - Day: require('./2019/Day'), - DayFromYear: require('./2019/DayFromYear'), - DaysInYear: require('./2019/DaysInYear'), - DayWithinYear: require('./2019/DayWithinYear'), - DefinePropertyOrThrow: require('./2019/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2019/DeletePropertyOrThrow'), - EnumerableOwnPropertyNames: require('./2019/EnumerableOwnPropertyNames'), - FlattenIntoArray: require('./2019/FlattenIntoArray'), - floor: require('./2019/floor'), - FromPropertyDescriptor: require('./2019/FromPropertyDescriptor'), - Get: require('./2019/Get'), - GetIterator: require('./2019/GetIterator'), - GetMethod: require('./2019/GetMethod'), - GetOwnPropertyKeys: require('./2019/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2019/GetPrototypeFromConstructor'), - GetSubstitution: require('./2019/GetSubstitution'), - GetV: require('./2019/GetV'), - HasOwnProperty: require('./2019/HasOwnProperty'), - HasProperty: require('./2019/HasProperty'), - HourFromTime: require('./2019/HourFromTime'), - InLeapYear: require('./2019/InLeapYear'), - InstanceofOperator: require('./2019/InstanceofOperator'), - Invoke: require('./2019/Invoke'), - IsAccessorDescriptor: require('./2019/IsAccessorDescriptor'), - IsArray: require('./2019/IsArray'), - IsCallable: require('./2019/IsCallable'), - IsConcatSpreadable: require('./2019/IsConcatSpreadable'), - IsConstructor: require('./2019/IsConstructor'), - IsDataDescriptor: require('./2019/IsDataDescriptor'), - IsExtensible: require('./2019/IsExtensible'), - IsGenericDescriptor: require('./2019/IsGenericDescriptor'), - IsInteger: require('./2019/IsInteger'), - IsPromise: require('./2019/IsPromise'), - IsPropertyKey: require('./2019/IsPropertyKey'), - IsRegExp: require('./2019/IsRegExp'), - IsStringPrefix: require('./2019/IsStringPrefix'), - IterableToList: require('./2019/IterableToList'), - IteratorClose: require('./2019/IteratorClose'), - IteratorComplete: require('./2019/IteratorComplete'), - IteratorNext: require('./2019/IteratorNext'), - IteratorStep: require('./2019/IteratorStep'), - IteratorValue: require('./2019/IteratorValue'), - MakeDate: require('./2019/MakeDate'), - MakeDay: require('./2019/MakeDay'), - MakeTime: require('./2019/MakeTime'), - MinFromTime: require('./2019/MinFromTime'), - modulo: require('./2019/modulo'), - MonthFromTime: require('./2019/MonthFromTime'), - msFromTime: require('./2019/msFromTime'), - NumberToString: require('./2019/NumberToString'), - ObjectCreate: require('./2019/ObjectCreate'), - OrdinaryCreateFromConstructor: require('./2019/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2019/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2019/OrdinaryGetOwnProperty'), - OrdinaryGetPrototypeOf: require('./2019/OrdinaryGetPrototypeOf'), - OrdinaryHasInstance: require('./2019/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2019/OrdinaryHasProperty'), - OrdinarySetPrototypeOf: require('./2019/OrdinarySetPrototypeOf'), - PromiseResolve: require('./2019/PromiseResolve'), - QuoteJSONString: require('./2019/QuoteJSONString'), - RegExpExec: require('./2019/RegExpExec'), - RequireObjectCoercible: require('./2019/RequireObjectCoercible'), - SameValue: require('./2019/SameValue'), - SameValueNonNumber: require('./2019/SameValueNonNumber'), - SameValueZero: require('./2019/SameValueZero'), - SecFromTime: require('./2019/SecFromTime'), - Set: require('./2019/Set'), - SetFunctionLength: require('./2019/SetFunctionLength'), - SetFunctionName: require('./2019/SetFunctionName'), - SetIntegrityLevel: require('./2019/SetIntegrityLevel'), - SpeciesConstructor: require('./2019/SpeciesConstructor'), - StringGetOwnProperty: require('./2019/StringGetOwnProperty'), - SymbolDescriptiveString: require('./2019/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2019/TestIntegrityLevel'), - thisBooleanValue: require('./2019/thisBooleanValue'), - thisNumberValue: require('./2019/thisNumberValue'), - thisStringValue: require('./2019/thisStringValue'), - thisSymbolValue: require('./2019/thisSymbolValue'), - thisTimeValue: require('./2019/thisTimeValue'), - TimeClip: require('./2019/TimeClip'), - TimeFromYear: require('./2019/TimeFromYear'), - TimeString: require('./2019/TimeString'), - TimeWithinDay: require('./2019/TimeWithinDay'), - ToBoolean: require('./2019/ToBoolean'), - ToDateString: require('./2019/ToDateString'), - ToIndex: require('./2019/ToIndex'), - ToInt16: require('./2019/ToInt16'), - ToInt32: require('./2019/ToInt32'), - ToInt8: require('./2019/ToInt8'), - ToInteger: require('./2019/ToInteger'), - ToLength: require('./2019/ToLength'), - ToNumber: require('./2019/ToNumber'), - ToObject: require('./2019/ToObject'), - ToPrimitive: require('./2019/ToPrimitive'), - ToPropertyDescriptor: require('./2019/ToPropertyDescriptor'), - ToPropertyKey: require('./2019/ToPropertyKey'), - ToString: require('./2019/ToString'), - ToUint16: require('./2019/ToUint16'), - ToUint32: require('./2019/ToUint32'), - ToUint8: require('./2019/ToUint8'), - ToUint8Clamp: require('./2019/ToUint8Clamp'), - TrimString: require('./2019/TrimString'), - Type: require('./2019/Type'), - UnicodeEscape: require('./2019/UnicodeEscape'), - UTF16Encoding: require('./2019/UTF16Encoding'), - ValidateAndApplyPropertyDescriptor: require('./2019/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2019/WeekDay'), - YearFromTime: require('./2019/YearFromTime') -}; - -module.exports = ES2019; diff --git a/node_modules/object.assign/node_modules/es-abstract/es2020.js b/node_modules/object.assign/node_modules/es-abstract/es2020.js deleted file mode 100644 index d1ed6c823..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es2020.js +++ /dev/null @@ -1,153 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ -// https://www.ecma-international.org/ecma-262/10.0/#sec-abstract-operations -var ES2020 = { - 'Abstract Equality Comparison': require('./2020/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./2020/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./2020/StrictEqualityComparison'), - abs: require('./2020/abs'), - AddEntriesFromIterable: require('./2020/AddEntriesFromIterable'), - AdvanceStringIndex: require('./2020/AdvanceStringIndex'), - ArrayCreate: require('./2020/ArrayCreate'), - ArraySetLength: require('./2020/ArraySetLength'), - ArraySpeciesCreate: require('./2020/ArraySpeciesCreate'), - BigIntBitwiseOp: require('./2020/BigIntBitwiseOp'), - BinaryAnd: require('./2020/BinaryAnd'), - BinaryOr: require('./2020/BinaryOr'), - BinaryXor: require('./2020/BinaryXor'), - Call: require('./2020/Call'), - CanonicalNumericIndexString: require('./2020/CanonicalNumericIndexString'), - CodePointAt: require('./2020/CodePointAt'), - CompletePropertyDescriptor: require('./2020/CompletePropertyDescriptor'), - CopyDataProperties: require('./2020/CopyDataProperties'), - CreateDataProperty: require('./2020/CreateDataProperty'), - CreateDataPropertyOrThrow: require('./2020/CreateDataPropertyOrThrow'), - CreateHTML: require('./2020/CreateHTML'), - CreateIterResultObject: require('./2020/CreateIterResultObject'), - CreateListFromArrayLike: require('./2020/CreateListFromArrayLike'), - CreateMethodProperty: require('./2020/CreateMethodProperty'), - DateFromTime: require('./2020/DateFromTime'), - DateString: require('./2020/DateString'), - Day: require('./2020/Day'), - DayFromYear: require('./2020/DayFromYear'), - DaysInYear: require('./2020/DaysInYear'), - DayWithinYear: require('./2020/DayWithinYear'), - DefinePropertyOrThrow: require('./2020/DefinePropertyOrThrow'), - DeletePropertyOrThrow: require('./2020/DeletePropertyOrThrow'), - EnumerableOwnPropertyNames: require('./2020/EnumerableOwnPropertyNames'), - FlattenIntoArray: require('./2020/FlattenIntoArray'), - floor: require('./2020/floor'), - FromPropertyDescriptor: require('./2020/FromPropertyDescriptor'), - Get: require('./2020/Get'), - GetIterator: require('./2020/GetIterator'), - GetMethod: require('./2020/GetMethod'), - GetOwnPropertyKeys: require('./2020/GetOwnPropertyKeys'), - GetPrototypeFromConstructor: require('./2020/GetPrototypeFromConstructor'), - GetSubstitution: require('./2020/GetSubstitution'), - GetV: require('./2020/GetV'), - HasOwnProperty: require('./2020/HasOwnProperty'), - HasProperty: require('./2020/HasProperty'), - HourFromTime: require('./2020/HourFromTime'), - InLeapYear: require('./2020/InLeapYear'), - InstanceofOperator: require('./2020/InstanceofOperator'), - Invoke: require('./2020/Invoke'), - IsAccessorDescriptor: require('./2020/IsAccessorDescriptor'), - IsArray: require('./2020/IsArray'), - IsBigIntElementType: require('./2020/IsBigIntElementType'), - IsCallable: require('./2020/IsCallable'), - IsConcatSpreadable: require('./2020/IsConcatSpreadable'), - IsConstructor: require('./2020/IsConstructor'), - IsDataDescriptor: require('./2020/IsDataDescriptor'), - IsExtensible: require('./2020/IsExtensible'), - IsGenericDescriptor: require('./2020/IsGenericDescriptor'), - IsInteger: require('./2020/IsInteger'), - IsNonNegativeInteger: require('./2020/IsNonNegativeInteger'), - IsNoTearConfiguration: require('./2020/IsNoTearConfiguration'), - IsPromise: require('./2020/IsPromise'), - IsPropertyKey: require('./2020/IsPropertyKey'), - IsRegExp: require('./2020/IsRegExp'), - IsStringPrefix: require('./2020/IsStringPrefix'), - IsUnclampedIntegerElementType: require('./2020/IsUnclampedIntegerElementType'), - IsUnsignedElementType: require('./2020/IsUnsignedElementType'), - IterableToList: require('./2020/IterableToList'), - IteratorClose: require('./2020/IteratorClose'), - IteratorComplete: require('./2020/IteratorComplete'), - IteratorNext: require('./2020/IteratorNext'), - IteratorStep: require('./2020/IteratorStep'), - IteratorValue: require('./2020/IteratorValue'), - LengthOfArrayLike: require('./2020/LengthOfArrayLike'), - MakeDate: require('./2020/MakeDate'), - MakeDay: require('./2020/MakeDay'), - MakeTime: require('./2020/MakeTime'), - MinFromTime: require('./2020/MinFromTime'), - modulo: require('./2020/modulo'), - MonthFromTime: require('./2020/MonthFromTime'), - msFromTime: require('./2020/msFromTime'), - NumberBitwiseOp: require('./2020/NumberBitwiseOp'), - OrdinaryCreateFromConstructor: require('./2020/OrdinaryCreateFromConstructor'), - OrdinaryDefineOwnProperty: require('./2020/OrdinaryDefineOwnProperty'), - OrdinaryGetOwnProperty: require('./2020/OrdinaryGetOwnProperty'), - OrdinaryGetPrototypeOf: require('./2020/OrdinaryGetPrototypeOf'), - OrdinaryHasInstance: require('./2020/OrdinaryHasInstance'), - OrdinaryHasProperty: require('./2020/OrdinaryHasProperty'), - OrdinaryObjectCreate: require('./2020/OrdinaryObjectCreate'), - OrdinarySetPrototypeOf: require('./2020/OrdinarySetPrototypeOf'), - PromiseResolve: require('./2020/PromiseResolve'), - QuoteJSONString: require('./2020/QuoteJSONString'), - RegExpExec: require('./2020/RegExpExec'), - RequireObjectCoercible: require('./2020/RequireObjectCoercible'), - SameValue: require('./2020/SameValue'), - SameValueNonNumeric: require('./2020/SameValueNonNumeric'), - SameValueZero: require('./2020/SameValueZero'), - SecFromTime: require('./2020/SecFromTime'), - Set: require('./2020/Set'), - SetFunctionLength: require('./2020/SetFunctionLength'), - SetFunctionName: require('./2020/SetFunctionName'), - SetIntegrityLevel: require('./2020/SetIntegrityLevel'), - SpeciesConstructor: require('./2020/SpeciesConstructor'), - StringGetOwnProperty: require('./2020/StringGetOwnProperty'), - StringPad: require('./2020/StringPad'), - SymbolDescriptiveString: require('./2020/SymbolDescriptiveString'), - TestIntegrityLevel: require('./2020/TestIntegrityLevel'), - thisBigIntValue: require('./2020/thisBigIntValue'), - thisBooleanValue: require('./2020/thisBooleanValue'), - thisNumberValue: require('./2020/thisNumberValue'), - thisStringValue: require('./2020/thisStringValue'), - thisSymbolValue: require('./2020/thisSymbolValue'), - thisTimeValue: require('./2020/thisTimeValue'), - TimeClip: require('./2020/TimeClip'), - TimeFromYear: require('./2020/TimeFromYear'), - TimeString: require('./2020/TimeString'), - TimeWithinDay: require('./2020/TimeWithinDay'), - ToBoolean: require('./2020/ToBoolean'), - ToDateString: require('./2020/ToDateString'), - ToIndex: require('./2020/ToIndex'), - ToInt16: require('./2020/ToInt16'), - ToInt32: require('./2020/ToInt32'), - ToInt8: require('./2020/ToInt8'), - ToInteger: require('./2020/ToInteger'), - ToLength: require('./2020/ToLength'), - ToNumber: require('./2020/ToNumber'), - ToNumeric: require('./2020/ToNumeric'), - ToObject: require('./2020/ToObject'), - ToPrimitive: require('./2020/ToPrimitive'), - ToPropertyDescriptor: require('./2020/ToPropertyDescriptor'), - ToPropertyKey: require('./2020/ToPropertyKey'), - ToString: require('./2020/ToString'), - ToUint16: require('./2020/ToUint16'), - ToUint32: require('./2020/ToUint32'), - ToUint8: require('./2020/ToUint8'), - ToUint8Clamp: require('./2020/ToUint8Clamp'), - TrimString: require('./2020/TrimString'), - Type: require('./2020/Type'), - UnicodeEscape: require('./2020/UnicodeEscape'), - UTF16DecodeString: require('./2020/UTF16DecodeString'), - UTF16DecodeSurrogatePair: require('./2020/UTF16DecodeSurrogatePair'), - UTF16Encoding: require('./2020/UTF16Encoding'), - ValidateAndApplyPropertyDescriptor: require('./2020/ValidateAndApplyPropertyDescriptor'), - WeekDay: require('./2020/WeekDay'), - YearFromTime: require('./2020/YearFromTime') -}; - -module.exports = ES2020; diff --git a/node_modules/object.assign/node_modules/es-abstract/es5.js b/node_modules/object.assign/node_modules/es-abstract/es5.js deleted file mode 100644 index 46eb6e17b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es5.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -/* eslint global-require: 0 */ - -// https://es5.github.io/#x9 -module.exports = { - 'Abstract Equality Comparison': require('./5/AbstractEqualityComparison'), - 'Abstract Relational Comparison': require('./5/AbstractRelationalComparison'), - 'Strict Equality Comparison': require('./5/StrictEqualityComparison'), - abs: require('./5/abs'), - CheckObjectCoercible: require('./5/CheckObjectCoercible'), - DateFromTime: require('./5/DateFromTime'), - Day: require('./5/Day'), - DayFromYear: require('./5/DayFromYear'), - DaysInYear: require('./5/DaysInYear'), - DayWithinYear: require('./5/DayWithinYear'), - floor: require('./5/floor'), - FromPropertyDescriptor: require('./5/FromPropertyDescriptor'), - HourFromTime: require('./5/HourFromTime'), - InLeapYear: require('./5/InLeapYear'), - IsAccessorDescriptor: require('./5/IsAccessorDescriptor'), - IsCallable: require('./5/IsCallable'), - IsDataDescriptor: require('./5/IsDataDescriptor'), - IsGenericDescriptor: require('./5/IsGenericDescriptor'), - IsPropertyDescriptor: require('./5/IsPropertyDescriptor'), - MakeDate: require('./5/MakeDate'), - MakeDay: require('./5/MakeDay'), - MakeTime: require('./5/MakeTime'), - MinFromTime: require('./5/MinFromTime'), - modulo: require('./5/modulo'), - MonthFromTime: require('./5/MonthFromTime'), - msFromTime: require('./5/msFromTime'), - SameValue: require('./5/SameValue'), - SecFromTime: require('./5/SecFromTime'), - TimeClip: require('./5/TimeClip'), - TimeFromYear: require('./5/TimeFromYear'), - TimeWithinDay: require('./5/TimeWithinDay'), - ToBoolean: require('./5/ToBoolean'), - ToInt32: require('./5/ToInt32'), - ToInteger: require('./5/ToInteger'), - ToNumber: require('./5/ToNumber'), - ToObject: require('./5/ToObject'), - ToPrimitive: require('./5/ToPrimitive'), - ToPropertyDescriptor: require('./5/ToPropertyDescriptor'), - ToString: require('./5/ToString'), - ToUint16: require('./5/ToUint16'), - ToUint32: require('./5/ToUint32'), - Type: require('./5/Type'), - WeekDay: require('./5/WeekDay'), - YearFromTime: require('./5/YearFromTime') -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/es6.js b/node_modules/object.assign/node_modules/es-abstract/es6.js deleted file mode 100644 index 2d1f4dc92..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es6.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('./es2015'); diff --git a/node_modules/object.assign/node_modules/es-abstract/es7.js b/node_modules/object.assign/node_modules/es-abstract/es7.js deleted file mode 100644 index f2f15c0a8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/es7.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('./es2016'); diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/DefineOwnProperty.js b/node_modules/object.assign/node_modules/es-abstract/helpers/DefineOwnProperty.js deleted file mode 100644 index 99ace1077..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/DefineOwnProperty.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -var callBound = require('../helpers/callBound'); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -// eslint-disable-next-line max-params -module.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) { - if (!$defineProperty) { - if (!IsDataDescriptor(desc)) { - // ES3 does not support getters/setters - return false; - } - if (!desc['[[Configurable]]'] || !desc['[[Writable]]']) { - return false; - } - - // fallback for ES3 - if (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) { - // a non-enumerable existing property - return false; - } - - // property does not exist at all, or exists but is enumerable - var V = desc['[[Value]]']; - // eslint-disable-next-line no-param-reassign - O[P] = V; // will use [[Define]] - return SameValue(O[P], V); - } - $defineProperty(O, P, FromPropertyDescriptor(desc)); - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/OwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/helpers/OwnPropertyKeys.js deleted file mode 100644 index 4a06ce344..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/OwnPropertyKeys.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBind = require('./callBind'); -var callBound = require('./callBound'); - -var $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true); -var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%')); -var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true); -var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true); -var $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null; - -var keys = require('object-keys'); - -module.exports = $ownKeys || function OwnPropertyKeys(source) { - var ownKeys = ($gOPN || keys)(source); - if ($gOPS) { - $pushApply(ownKeys, $gOPS(source)); - } - return ownKeys; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/assertRecord.js b/node_modules/object.assign/node_modules/es-abstract/helpers/assertRecord.js deleted file mode 100644 index 45e115a44..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/assertRecord.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $SyntaxError = GetIntrinsic('%SyntaxError%'); - -var has = require('has'); - -var predicates = { - // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type - 'Property Descriptor': function isPropertyDescriptor(Type, Desc) { - if (Type(Desc) !== 'Object') { - return false; - } - var allowed = { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Get]]': true, - '[[Set]]': true, - '[[Value]]': true, - '[[Writable]]': true - }; - - for (var key in Desc) { // eslint-disable-line - if (has(Desc, key) && !allowed[key]) { - return false; - } - } - - var isData = has(Desc, '[[Value]]'); - var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]'); - if (isData && IsAccessor) { - throw new $TypeError('Property Descriptors may not be both accessor and data descriptors'); - } - return true; - } -}; - -module.exports = function assertRecord(Type, recordType, argumentName, value) { - var predicate = predicates[recordType]; - if (typeof predicate !== 'function') { - throw new $SyntaxError('unknown record type: ' + recordType); - } - if (!predicate(Type, value)) { - throw new $TypeError(argumentName + ' must be a ' + recordType); - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/assign.js b/node_modules/object.assign/node_modules/es-abstract/helpers/assign.js deleted file mode 100644 index 7e6666e7a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/assign.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); - -var $assign = GetIntrinsic('%Object%').assign; - -module.exports = function assign(target, source) { - if ($assign) { - return $assign(target, source); - } - - // eslint-disable-next-line no-restricted-syntax - for (var key in source) { - if (has(source, key)) { - // eslint-disable-next-line no-param-reassign - target[key] = source[key]; - } - } - return target; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/callBind.js b/node_modules/object.assign/node_modules/es-abstract/helpers/callBind.js deleted file mode 100644 index 81b02ec93..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/callBind.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var bind = require('function-bind'); - -var GetIntrinsic = require('../GetIntrinsic'); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -module.exports = function callBind() { - return $reflectApply(bind, $call, arguments); -}; - -module.exports.apply = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/callBound.js b/node_modules/object.assign/node_modules/es-abstract/helpers/callBound.js deleted file mode 100644 index 9dc8fc518..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/callBound.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBind = require('./callBind'); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) { - return callBind(intrinsic); - } - return intrinsic; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/every.js b/node_modules/object.assign/node_modules/es-abstract/helpers/every.js deleted file mode 100644 index 42a458211..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/every.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -module.exports = function every(array, predicate) { - for (var i = 0; i < array.length; i += 1) { - if (!predicate(array[i], i, array)) { - return false; - } - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/forEach.js b/node_modules/object.assign/node_modules/es-abstract/helpers/forEach.js deleted file mode 100644 index 35915a656..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/forEach.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = function forEach(array, callback) { - for (var i = 0; i < array.length; i += 1) { - callback(array[i], i, array); // eslint-disable-line callback-return - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/getInferredName.js b/node_modules/object.assign/node_modules/es-abstract/helpers/getInferredName.js deleted file mode 100644 index 2dab6e77b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/getInferredName.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var getInferredName; -try { - // eslint-disable-next-line no-new-func - getInferredName = Function('s', 'return { [s]() {} }[s].name;'); -} catch (e) {} - -var inferred = function () {}; -module.exports = getInferredName && inferred.name === 'inferred' ? getInferredName : null; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/getIteratorMethod.js b/node_modules/object.assign/node_modules/es-abstract/helpers/getIteratorMethod.js deleted file mode 100644 index 02f932c19..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/getIteratorMethod.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var hasSymbols = require('has-symbols')(); -var GetIntrinsic = require('../GetIntrinsic'); -var callBound = require('./callBound'); - -var $iterator = GetIntrinsic('%Symbol.iterator%', true); -var $stringSlice = callBound('String.prototype.slice'); - -module.exports = function getIteratorMethod(ES, iterable) { - var usingIterator; - if (hasSymbols) { - usingIterator = ES.GetMethod(iterable, $iterator); - } else if (ES.IsArray(iterable)) { - usingIterator = function () { - var i = -1; - var arr = this; // eslint-disable-line no-invalid-this - return { - next: function () { - i += 1; - return { - done: i >= arr.length, - value: arr[i] - }; - } - }; - }; - } else if (ES.Type(iterable) === 'String') { - usingIterator = function () { - var i = 0; - return { - next: function () { - var nextIndex = ES.AdvanceStringIndex(iterable, i, true); - var value = $stringSlice(iterable, i, nextIndex); - i = nextIndex; - return { - done: nextIndex > iterable.length, - value: value - }; - } - }; - }; - } - return usingIterator; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js deleted file mode 100644 index 71168e93e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%'); -if ($gOPD) { - try { - $gOPD([], 'length'); - } catch (e) { - // IE 8 has a broken gOPD - $gOPD = null; - } -} - -module.exports = $gOPD; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/getProto.js b/node_modules/object.assign/node_modules/es-abstract/helpers/getProto.js deleted file mode 100644 index af10fd8a1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/getProto.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var originalGetProto = GetIntrinsic('%Object.getPrototypeOf%', true); -var $ArrayProto = GetIntrinsic('%Array.prototype%'); - -module.exports = originalGetProto || ( - // eslint-disable-next-line no-proto - [].__proto__ === $ArrayProto - ? function (O) { - return O.__proto__; // eslint-disable-line no-proto - } - : null -); diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/getSymbolDescription.js b/node_modules/object.assign/node_modules/es-abstract/helpers/getSymbolDescription.js deleted file mode 100644 index 45d80d253..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/getSymbolDescription.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var callBound = require('./callBound'); - -var $SyntaxError = GetIntrinsic('%SyntaxError%'); -var getGlobalSymbolDescription = GetIntrinsic('%Symbol.keyFor%', true); -var thisSymbolValue = callBound('%Symbol.prototype.valueOf%', true); -var symToStr = callBound('Symbol.prototype.toString', true); - -var getInferredName = require('./getInferredName'); - -/* eslint-disable consistent-return */ -module.exports = callBound('%Symbol.prototype.description%', true) || function getSymbolDescription(symbol) { - if (!thisSymbolValue) { - throw new $SyntaxError('Symbols are not supported in this environment'); - } - - // will throw if not a symbol primitive or wrapper object - var sym = thisSymbolValue(symbol); - - if (getInferredName) { - var name = getInferredName(sym); - if (name === '') { return; } - return name.slice(1, -1); // name.slice('['.length, -']'.length); - } - - var desc; - if (getGlobalSymbolDescription) { - desc = getGlobalSymbolDescription(sym); - if (typeof desc === 'string') { - return desc; - } - } - - desc = symToStr(sym).slice(7, -1); // str.slice('Symbol('.length, -')'.length); - if (desc) { - return desc; - } -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isFinite.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isFinite.js deleted file mode 100644 index 9e7cd4f82..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isFinite.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var $isNaN = Number.isNaN || function (a) { return a !== a; }; - -module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; }; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isNaN.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isNaN.js deleted file mode 100644 index cb8631dca..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isNaN.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = Number.isNaN || function isNaN(a) { - return a !== a; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isPrefixOf.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isPrefixOf.js deleted file mode 100644 index b67d64056..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isPrefixOf.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var $strSlice = require('../helpers/callBound')('String.prototype.slice'); - -module.exports = function isPrefixOf(prefix, string) { - if (prefix === string) { - return true; - } - if (prefix.length > string.length) { - return false; - } - return $strSlice(string, 0, prefix.length) === prefix; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isPrimitive.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isPrimitive.js deleted file mode 100644 index 06f0bf042..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isPrimitive.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function isPrimitive(value) { - return value === null || (typeof value !== 'function' && typeof value !== 'object'); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isPropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isPropertyDescriptor.js deleted file mode 100644 index 3eff7eb8f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isPropertyDescriptor.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var has = require('has'); -var $TypeError = GetIntrinsic('%TypeError%'); - -module.exports = function IsPropertyDescriptor(ES, Desc) { - if (ES.Type(Desc) !== 'Object') { - return false; - } - var allowed = { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Get]]': true, - '[[Set]]': true, - '[[Value]]': true, - '[[Writable]]': true - }; - - for (var key in Desc) { // eslint-disable-line no-restricted-syntax - if (has(Desc, key) && !allowed[key]) { - return false; - } - } - - if (ES.IsDataDescriptor(Desc) && ES.IsAccessorDescriptor(Desc)) { - throw new $TypeError('Property Descriptors may not be both accessor and data descriptors'); - } - return true; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/isSamePropertyDescriptor.js b/node_modules/object.assign/node_modules/es-abstract/helpers/isSamePropertyDescriptor.js deleted file mode 100644 index a6162a1d3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/isSamePropertyDescriptor.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var every = require('./every'); - -module.exports = function isSamePropertyDescriptor(ES, D1, D2) { - var fields = [ - '[[Configurable]]', - '[[Enumerable]]', - '[[Get]]', - '[[Set]]', - '[[Value]]', - '[[Writable]]' - ]; - return every(fields, function (field) { - if ((field in D1) !== (field in D2)) { - return false; - } - return ES.SameValue(D1[field], D2[field]); - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/maxSafeInteger.js b/node_modules/object.assign/node_modules/es-abstract/helpers/maxSafeInteger.js deleted file mode 100644 index 2fe8f38e1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/maxSafeInteger.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $Math = GetIntrinsic('%Math%'); -var $Number = GetIntrinsic('%Number%'); - -module.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/mod.js b/node_modules/object.assign/node_modules/es-abstract/helpers/mod.js deleted file mode 100644 index 67c8b78a2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/mod.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var $floor = Math.floor; - -module.exports = function mod(number, modulo) { - var remain = number % modulo; - return $floor(remain >= 0 ? remain : remain + modulo); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/padTimeComponent.js b/node_modules/object.assign/node_modules/es-abstract/helpers/padTimeComponent.js deleted file mode 100644 index cbd8d0612..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/padTimeComponent.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var callBound = require('../helpers/callBound'); - -var $strSlice = callBound('String.prototype.slice'); - -module.exports = function padTimeComponent(c, count) { - return $strSlice('00' + c, -(count || 2)); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/regexTester.js b/node_modules/object.assign/node_modules/es-abstract/helpers/regexTester.js deleted file mode 100644 index 982cc9f77..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/regexTester.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var $test = GetIntrinsic('RegExp.prototype.test'); - -var callBind = require('./callBind'); - -module.exports = function regexTester(regex) { - return callBind($test, regex); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/setProto.js b/node_modules/object.assign/node_modules/es-abstract/helpers/setProto.js deleted file mode 100644 index 29ec9914b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/setProto.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var originalSetProto = GetIntrinsic('%Object.setPrototypeOf%', true); -var $ArrayProto = GetIntrinsic('%Array.prototype%'); - -module.exports = originalSetProto || ( - // eslint-disable-next-line no-proto, no-negated-condition - [].__proto__ !== $ArrayProto - ? null - : function (O, proto) { - O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign - return O; - } -); diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/sign.js b/node_modules/object.assign/node_modules/es-abstract/helpers/sign.js deleted file mode 100644 index 598ea7d8b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/sign.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function sign(number) { - return number >= 0 ? 1 : -1; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/helpers/timeConstants.js b/node_modules/object.assign/node_modules/es-abstract/helpers/timeConstants.js deleted file mode 100644 index c275b40e7..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/helpers/timeConstants.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var HoursPerDay = 24; -var MinutesPerHour = 60; -var SecondsPerMinute = 60; -var msPerSecond = 1e3; -var msPerMinute = msPerSecond * SecondsPerMinute; -var msPerHour = msPerMinute * MinutesPerHour; -var msPerDay = 86400000; - -module.exports = { - HoursPerDay: HoursPerDay, - MinutesPerHour: MinutesPerHour, - SecondsPerMinute: SecondsPerMinute, - msPerSecond: msPerSecond, - msPerMinute: msPerMinute, - msPerHour: msPerHour, - msPerDay: msPerDay -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/index.js b/node_modules/object.assign/node_modules/es-abstract/index.js deleted file mode 100644 index 5cd529294..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/index.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var assign = require('./helpers/assign'); - -var ES5 = require('./es5'); -var ES2015 = require('./es2015'); -var ES2016 = require('./es2016'); -var ES2017 = require('./es2017'); -var ES2018 = require('./es2018'); -var ES2019 = require('./es2019'); -var ES2020 = require('./es2020'); - -var ES = { - ES5: ES5, - ES6: ES2015, - ES2015: ES2015, - ES7: ES2016, - ES2016: ES2016, - ES2017: ES2017, - ES2018: ES2018, - ES2019: ES2019, - ES2020: ES2020 -}; -assign(ES, ES5); -delete ES.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible -assign(ES, ES2015); - -module.exports = ES; diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/.eslintrc b/node_modules/object.assign/node_modules/es-abstract/operations/.eslintrc deleted file mode 100644 index bcd76f767..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "id-length": 0, - }, -} diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/2015.js b/node_modules/object.assign/node_modules/es-abstract/operations/2015.js deleted file mode 100644 index 6c508918e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/2015.js +++ /dev/null @@ -1,249 +0,0 @@ -'use strict'; - -module.exports = { - IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op - - abs: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - 'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison', - 'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-relational-comparison', - AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/6.0/#sec-addrestrictedfunctionproperties', - AdvanceStringIndex: 'https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex', - AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-allocatearraybuffer', - AllocateTypedArray: 'https://ecma-international.org/ecma-262/6.0/#sec-allocatetypedarray', - ArrayCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arraycreate', - ArraySetLength: 'https://ecma-international.org/ecma-262/6.0/#sec-arraysetlength', - ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate', - BoundFunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-boundfunctioncreate', - Call: 'https://ecma-international.org/ecma-262/6.0/#sec-call', - Canonicalize: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-canonicalize-ch', - CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring', - CharacterRange: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-characterrange-abstract-operation', - CharacterSetMatcher: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation', - CloneArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-clonearraybuffer', - CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor', - Completion: 'https://ecma-international.org/ecma-262/6.0/#sec-implicit-completion-values', - Construct: 'https://ecma-international.org/ecma-262/6.0/#sec-construct', - CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/6.0/#sec-copydatablockbytes', - CreateArrayFromList: 'https://ecma-international.org/ecma-262/6.0/#sec-createarrayfromlist', - CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-createbuiltinfunction', - CreateByteDataBlock: 'https://ecma-international.org/ecma-262/6.0/#sec-createbytedatablock', - CreateDataProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty', - CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow', - CreateDynamicFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-createdynamicfunction', - CreateHTML: 'https://ecma-international.org/ecma-262/6.0/#sec-createhtml', - CreateIntrinsics: 'https://ecma-international.org/ecma-262/6.0/#sec-createintrinsics', - CreateIterResultObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject', - CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike', - CreateListIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistiterator', - CreateMapIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createmapiterator', - CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createmappedargumentsobject', - CreateMethodProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createmethodproperty', - CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-createperiterationenvironment', - CreateRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-createrealm', - CreateSetIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createsetiterator', - CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createunmappedargumentsobject', - DateFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-date-number', - Day: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day', - DayFromYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number', - DaysInYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number', - DayWithinYear: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number', - Decode: 'https://ecma-international.org/ecma-262/6.0/#sec-decode', - DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow', - DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow', - DetachArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-detacharraybuffer', - Encode: 'https://ecma-international.org/ecma-262/6.0/#sec-encode', - EnqueueJob: 'https://ecma-international.org/ecma-262/6.0/#sec-enqueuejob', - EnumerableOwnNames: 'https://ecma-international.org/ecma-262/6.0/#sec-enumerableownnames', - EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern', - EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/6.0/#sec-evaldeclarationinstantiation', - EvaluateCall: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatecall', - EvaluateDirectCall: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatedirectcall', - EvaluateNew: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatenew', - floor: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - ForBodyEvaluation: 'https://ecma-international.org/ecma-262/6.0/#sec-forbodyevaluation', - 'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset', - 'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind', - FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor', - FulfillPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-fulfillpromise', - FunctionAllocate: 'https://ecma-international.org/ecma-262/6.0/#sec-functionallocate', - FunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-functioncreate', - FunctionInitialize: 'https://ecma-international.org/ecma-262/6.0/#sec-functioninitialize', - GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorfunctioncreate', - GeneratorResume: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorresume', - GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorresumeabrupt', - GeneratorStart: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorstart', - GeneratorValidate: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorvalidate', - GeneratorYield: 'https://ecma-international.org/ecma-262/6.0/#sec-generatoryield', - Get: 'https://ecma-international.org/ecma-262/6.0/#sec-get-o-p', - GetBase: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - GetFunctionRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-getfunctionrealm', - GetGlobalObject: 'https://ecma-international.org/ecma-262/6.0/#sec-getglobalobject', - GetIdentifierReference: 'https://ecma-international.org/ecma-262/6.0/#sec-getidentifierreference', - GetIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-getiterator', - GetMethod: 'https://ecma-international.org/ecma-262/6.0/#sec-getmethod', - GetModuleNamespace: 'https://ecma-international.org/ecma-262/6.0/#sec-getmodulenamespace', - GetNewTarget: 'https://ecma-international.org/ecma-262/6.0/#sec-getnewtarget', - GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys', - GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor', - GetReferencedName: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - GetSubstitution: 'https://ecma-international.org/ecma-262/6.0/#sec-getsubstitution', - GetSuperConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-getsuperconstructor', - GetTemplateObject: 'https://ecma-international.org/ecma-262/6.0/#sec-gettemplateobject', - GetThisEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-getthisenvironment', - GetThisValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getthisvalue', - GetV: 'https://ecma-international.org/ecma-262/6.0/#sec-getv', - GetValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getvalue', - GetValueFromBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-getvaluefrombuffer', - GetViewValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getviewvalue', - HasOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty', - HasPrimitiveBase: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - HasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasproperty', - HostResolveImportedModule: 'sec-hostresolveimportedmodule', - HourFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds', - ImportedLocalNames: 'https://ecma-international.org/ecma-262/6.0/#sec-importedlocalnames', - InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-initializehostdefinedrealm', - InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-initializereferencedbinding', - InLeapYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number', - InstanceofOperator: 'https://ecma-international.org/ecma-262/6.0/#sec-instanceofoperator', - IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedelementget', - IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedelementset', - IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedobjectcreate', - InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-internalizejsonproperty', - Invoke: 'https://ecma-international.org/ecma-262/6.0/#sec-invoke', - IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor', - IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/6.0/#sec-isanonymousfunctiondefinition', - IsArray: 'https://ecma-international.org/ecma-262/6.0/#sec-isarray', - IsCallable: 'https://ecma-international.org/ecma-262/6.0/#sec-iscallable', - IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-iscompatiblepropertydescriptor', - IsConcatSpreadable: 'https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable', - IsConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-isconstructor', - IsDataDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor', - IsDetachedBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-isdetachedbuffer', - IsExtensible: 'https://ecma-international.org/ecma-262/6.0/#sec-isextensible-o', - IsGenericDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor', - IsInTailPosition: 'https://ecma-international.org/ecma-262/6.0/#sec-isintailposition', - IsInteger: 'https://ecma-international.org/ecma-262/6.0/#sec-isinteger', - IsLabelledFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-islabelledfunction', - IsPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-ispromise', - IsPropertyKey: 'https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey', - IsPropertyReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - IsRegExp: 'https://ecma-international.org/ecma-262/6.0/#sec-isregexp', - IsStrictReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - IsSuperReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - IsUnresolvableReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues', - IsWordChar: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-iswordchar-abstract-operation', - IteratorClose: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose', - IteratorComplete: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete', - IteratorNext: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratornext', - IteratorStep: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep', - IteratorValue: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue', - LocalTime: 'https://ecma-international.org/ecma-262/6.0/#sec-localtime', - LoopContinues: 'https://ecma-international.org/ecma-262/6.0/#sec-loopcontinues', - MakeArgGetter: 'https://ecma-international.org/ecma-262/6.0/#sec-makearggetter', - MakeArgSetter: 'https://ecma-international.org/ecma-262/6.0/#sec-makeargsetter', - MakeClassConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-makeclassconstructor', - MakeConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-makeconstructor', - MakeDate: 'https://ecma-international.org/ecma-262/6.0/#sec-makedate', - MakeDay: 'https://ecma-international.org/ecma-262/6.0/#sec-makeday', - MakeMethod: 'https://ecma-international.org/ecma-262/6.0/#sec-makemethod', - MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/6.0/#sec-makesuperpropertyreference', - MakeTime: 'https://ecma-international.org/ecma-262/6.0/#sec-maketime', - max: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - min: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - MinFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds', - ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-modulenamespacecreate', - modulo: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - MonthFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number', - msFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds', - msPerDay: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day', - NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newdeclarativeenvironment', - NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newfunctionenvironment', - NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newglobalenvironment', - NewModuleEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newmoduleenvironment', - NewObjectEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newobjectenvironment', - NewPromiseCapability: 'https://ecma-international.org/ecma-262/6.0/#sec-newpromisecapability', - NormalCompletion: 'https://ecma-international.org/ecma-262/6.0/#sec-normalcompletion', - ObjectCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-objectcreate', - ObjectDefineProperties: 'https://ecma-international.org/ecma-262/6.0/#sec-objectdefineproperties', - OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycallbindthis', - OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycallevaluatebody', - OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor', - OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty', - OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty', - OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance', - OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty', - ParseModule: 'https://ecma-international.org/ecma-262/6.0/#sec-parsemodule', - PerformEval: 'https://ecma-international.org/ecma-262/6.0/#sec-performeval', - PerformPromiseAll: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromiseall', - PerformPromiseRace: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromiserace', - PerformPromiseThen: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromisethen', - PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/6.0/#sec-prepareforordinarycall', - PrepareForTailCall: 'https://ecma-international.org/ecma-262/6.0/#sec-preparefortailcall', - ProxyCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-proxycreate', - PutValue: 'https://ecma-international.org/ecma-262/6.0/#sec-putvalue', - QuoteJSONString: 'https://ecma-international.org/ecma-262/6.0/#sec-quotejsonstring', - RegExpAlloc: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpalloc', - RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpbuiltinexec', - RegExpCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpcreate', - RegExpExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpexec', - RegExpInitialize: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpinitialize', - RejectPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-rejectpromise', - RepeatMatcher: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-repeatmatcher-abstract-operation', - RequireObjectCoercible: 'https://ecma-international.org/ecma-262/6.0/#sec-requireobjectcoercible', - ResolveBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-resolvebinding', - ResolveThisBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-resolvethisbinding', - SameValue: 'https://ecma-international.org/ecma-262/6.0/#sec-samevalue', - SameValueZero: 'https://ecma-international.org/ecma-262/6.0/#sec-samevaluezero', - SecFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds', - SerializeJSONArray: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonarray', - SerializeJSONObject: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonobject', - SerializeJSONProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonproperty', - Set: 'https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw', - SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/6.0/#sec-setdefaultglobalbindings', - SetFunctionName: 'https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname', - SetIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-setintegritylevel', - SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/6.0/#sec-setrealmglobalobject', - SetValueInBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-setvalueinbuffer', - SetViewValue: 'https://ecma-international.org/ecma-262/6.0/#sec-setviewvalue', - sign: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions', - SortCompare: 'https://ecma-international.org/ecma-262/6.0/#sec-sortcompare', - SpeciesConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor', - SplitMatch: 'https://ecma-international.org/ecma-262/6.0/#sec-splitmatch', - 'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-strict-equality-comparison', - StringCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-stringcreate', - StringGetIndexProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-stringgetindexproperty', - SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring', - TestIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-testintegritylevel', - thisBooleanValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object', - thisNumberValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object', - thisStringValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object', - thisTimeValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object', - TimeClip: 'https://ecma-international.org/ecma-262/6.0/#sec-timeclip', - TimeFromYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number', - TimeWithinDay: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day', - ToBoolean: 'https://ecma-international.org/ecma-262/6.0/#sec-toboolean', - ToDateString: 'https://ecma-international.org/ecma-262/6.0/#sec-todatestring', - ToInt16: 'https://ecma-international.org/ecma-262/6.0/#sec-toint16', - ToInt32: 'https://ecma-international.org/ecma-262/6.0/#sec-toint32', - ToInt8: 'https://ecma-international.org/ecma-262/6.0/#sec-toint8', - ToInteger: 'https://ecma-international.org/ecma-262/6.0/#sec-tointeger', - ToLength: 'https://ecma-international.org/ecma-262/6.0/#sec-tolength', - ToNumber: 'https://ecma-international.org/ecma-262/6.0/#sec-tonumber', - ToObject: 'https://ecma-international.org/ecma-262/6.0/#sec-toobject', - ToPrimitive: 'https://ecma-international.org/ecma-262/6.0/#sec-toprimitive', - ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-topropertydescriptor', - ToPropertyKey: 'https://ecma-international.org/ecma-262/6.0/#sec-topropertykey', - ToString: 'https://ecma-international.org/ecma-262/6.0/#sec-tostring', - ToUint16: 'https://ecma-international.org/ecma-262/6.0/#sec-touint16', - ToUint32: 'https://ecma-international.org/ecma-262/6.0/#sec-touint32', - ToUint8: 'https://ecma-international.org/ecma-262/6.0/#sec-touint8', - ToUint8Clamp: 'https://ecma-international.org/ecma-262/6.0/#sec-touint8clamp', - TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/6.0/#sec-triggerpromisereactions', - Type: 'https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values', - TypedArrayFrom: 'https://ecma-international.org/ecma-262/6.0/#sec-typedarrayfrom', - UpdateEmpty: 'https://ecma-international.org/ecma-262/6.0/#sec-updateempty', - UTC: 'https://ecma-international.org/ecma-262/6.0/#sec-utc-t', - ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor', - WeekDay: 'https://ecma-international.org/ecma-262/6.0/#sec-week-day', - YearFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number' -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/2016.js b/node_modules/object.assign/node_modules/es-abstract/operations/2016.js deleted file mode 100644 index 6a58b9cc1..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/2016.js +++ /dev/null @@ -1,276 +0,0 @@ -'use strict'; - -module.exports = { - IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op - - abs: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions', - 'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-equality-comparison', - 'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-relational-comparison', - AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-addrestrictedfunctionproperties', - AdvanceStringIndex: 'https://ecma-international.org/ecma-262/7.0/#sec-advancestringindex', - AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatearraybuffer', - AllocateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarray', - AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarraybuffer', - ArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arraycreate', - ArraySetLength: 'https://ecma-international.org/ecma-262/7.0/#sec-arraysetlength', - ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arrayspeciescreate', - BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-blockdeclarationinstantiation', - BoundFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-boundfunctioncreate', - Call: 'https://ecma-international.org/ecma-262/7.0/#sec-call', - Canonicalize: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-canonicalize-ch', - CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/7.0/#sec-canonicalnumericindexstring', - CharacterRange: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrange-abstract-operation', - CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation', - CharacterSetMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation', - CloneArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-clonearraybuffer', - CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-completepropertydescriptor', - Completion: 'https://ecma-international.org/ecma-262/7.0/#sec-completion-record-specification-type', - Construct: 'https://ecma-international.org/ecma-262/7.0/#sec-construct', - CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/7.0/#sec-copydatablockbytes', - CreateArrayFromList: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayfromlist', - CreateArrayIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayiterator', - CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createbuiltinfunction', - CreateByteDataBlock: 'https://ecma-international.org/ecma-262/7.0/#sec-createbytedatablock', - CreateDataProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createdataproperty', - CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-createdatapropertyorthrow', - CreateDynamicFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createdynamicfunction', - CreateHTML: 'https://ecma-international.org/ecma-262/7.0/#sec-createhtml', - CreateIntrinsics: 'https://ecma-international.org/ecma-262/7.0/#sec-createintrinsics', - CreateIterResultObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createiterresultobject', - CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistfromarraylike', - CreateListIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistiterator', - CreateMapIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createmapiterator', - CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createmappedargumentsobject', - CreateMethodProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createmethodproperty', - CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-createperiterationenvironment', - CreateRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-createrealm', - CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/7.0/#sec-createresolvingfunctions', - CreateSetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createsetiterator', - CreateStringIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createstringiterator', - CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createunmappedargumentsobject', - DateFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-date-number', - Day: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day', - DayFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number', - DaysInYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number', - DayWithinYear: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number', - Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-decode', - DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-definepropertyorthrow', - DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-deletepropertyorthrow', - DetachArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-detacharraybuffer', - Encode: 'https://ecma-international.org/ecma-262/7.0/#sec-encode', - EnqueueJob: 'https://ecma-international.org/ecma-262/7.0/#sec-enqueuejob', - EnumerableOwnNames: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerableownnames', - EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerate-object-properties', - EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/7.0/#sec-escaperegexppattern', - EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-evaldeclarationinstantiation', - EvaluateCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatecall', - EvaluateDirectCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatedirectcall', - EvaluateNew: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatenew', - floor: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions', - ForBodyEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-forbodyevaluation', - 'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset', - 'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind', - FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-frompropertydescriptor', - FulfillPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-fulfillpromise', - FunctionAllocate: 'https://ecma-international.org/ecma-262/7.0/#sec-functionallocate', - FunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-functioncreate', - FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-functiondeclarationinstantiation', - FunctionInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-functioninitialize', - GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorfunctioncreate', - GeneratorResume: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresume', - GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresumeabrupt', - GeneratorStart: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorstart', - GeneratorValidate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorvalidate', - GeneratorYield: 'https://ecma-international.org/ecma-262/7.0/#sec-generatoryield', - Get: 'https://ecma-international.org/ecma-262/7.0/#sec-get-o-p', - GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/7.0/#sec-getactivescriptormodule', - GetFunctionRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-getfunctionrealm', - GetGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-getglobalobject', - GetIdentifierReference: 'https://ecma-international.org/ecma-262/7.0/#sec-getidentifierreference', - GetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-getiterator', - GetMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-getmethod', - GetModuleNamespace: 'https://ecma-international.org/ecma-262/7.0/#sec-getmodulenamespace', - GetNewTarget: 'https://ecma-international.org/ecma-262/7.0/#sec-getnewtarget', - GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-getownpropertykeys', - GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getprototypefromconstructor', - GetSubstitution: 'https://ecma-international.org/ecma-262/7.0/#sec-getsubstitution', - GetSuperConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getsuperconstructor', - GetTemplateObject: 'https://ecma-international.org/ecma-262/7.0/#sec-gettemplateobject', - GetThisEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisenvironment', - GetThisValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisvalue', - GetV: 'https://ecma-international.org/ecma-262/7.0/#sec-getv', - GetValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getvalue', - GetValueFromBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-getvaluefrombuffer', - GetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getviewvalue', - GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-globaldeclarationinstantiation', - HasOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasownproperty', - HasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasproperty', - HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/7.0/#sec-host-promise-rejection-tracker', - HostReportErrors: 'https://ecma-international.org/ecma-262/7.0/#sec-host-report-errors', - HostResolveImportedModule: 'https://ecma-international.org/ecma-262/7.0/#sec-hostresolveimportedmodule', - HourFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds', - IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ifabruptrejectpromise', - ImportedLocalNames: 'https://ecma-international.org/ecma-262/7.0/#sec-importedlocalnames', - InitializeBoundName: 'https://ecma-international.org/ecma-262/7.0/#sec-initializeboundname', - InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-initializehostdefinedrealm', - InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-initializereferencedbinding', - InLeapYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number', - InstanceofOperator: 'https://ecma-international.org/ecma-262/7.0/#sec-instanceofoperator', - IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementget', - IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementset', - IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedobjectcreate', - InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-internalizejsonproperty', - Invoke: 'https://ecma-international.org/ecma-262/7.0/#sec-invoke', - IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isaccessordescriptor', - IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/7.0/#sec-isanonymousfunctiondefinition', - IsArray: 'https://ecma-international.org/ecma-262/7.0/#sec-isarray', - IsCallable: 'https://ecma-international.org/ecma-262/7.0/#sec-iscallable', - IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-iscompatiblepropertydescriptor', - IsConcatSpreadable: 'https://ecma-international.org/ecma-262/7.0/#sec-isconcatspreadable', - IsConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-isconstructor', - IsDataDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isdatadescriptor', - IsDetachedBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-isdetachedbuffer', - IsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-isextensible-o', - IsGenericDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isgenericdescriptor', - IsInTailPosition: 'https://ecma-international.org/ecma-262/7.0/#sec-isintailposition', - IsInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-isinteger', - IsLabelledFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-islabelledfunction', - IsPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ispromise', - IsPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-ispropertykey', - IsRegExp: 'https://ecma-international.org/ecma-262/7.0/#sec-isregexp', - IsWordChar: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-iswordchar-abstract-operation', - IterableToArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-iterabletoarraylike', - IteratorClose: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorclose', - IteratorComplete: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorcomplete', - IteratorNext: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratornext', - IteratorStep: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorstep', - IteratorValue: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorvalue', - LocalTime: 'https://ecma-international.org/ecma-262/7.0/#sec-localtime', - LoopContinues: 'https://ecma-international.org/ecma-262/7.0/#sec-loopcontinues', - MakeArgGetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makearggetter', - MakeArgSetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makeargsetter', - MakeClassConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeclassconstructor', - MakeConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeconstructor', - MakeDate: 'https://ecma-international.org/ecma-262/7.0/#sec-makedate', - MakeDay: 'https://ecma-international.org/ecma-262/7.0/#sec-makeday', - MakeMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-makemethod', - MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/7.0/#sec-makesuperpropertyreference', - MakeTime: 'https://ecma-international.org/ecma-262/7.0/#sec-maketime', - max: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions', - min: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions', - MinFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds', - ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-modulenamespacecreate', - modulo: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions', - MonthFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number', - msFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds', - NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newdeclarativeenvironment', - NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newfunctionenvironment', - NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newglobalenvironment', - NewModuleEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newmoduleenvironment', - NewObjectEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newobjectenvironment', - NewPromiseCapability: 'https://ecma-international.org/ecma-262/7.0/#sec-newpromisecapability', - NextJob: 'https://ecma-international.org/ecma-262/7.0/#sec-nextjob-result', - NormalCompletion: 'https://ecma-international.org/ecma-262/7.0/#sec-normalcompletion', - ObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-objectcreate', - ObjectDefineProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-objectdefineproperties', - OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallbindthis', - OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallevaluatebody', - OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycreatefromconstructor', - OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydefineownproperty', - OrdinaryDelete: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydelete', - OrdinaryGet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryget', - OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetownproperty', - OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof', - OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasinstance', - OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasproperty', - OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryisextensible', - OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryownpropertykeys', - OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarypreventextensions', - OrdinarySet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryset', - OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof', - ParseModule: 'https://ecma-international.org/ecma-262/7.0/#sec-parsemodule', - ParseScript: 'https://ecma-international.org/ecma-262/7.0/#sec-parse-script', - PerformEval: 'https://ecma-international.org/ecma-262/7.0/#sec-performeval', - PerformPromiseAll: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiseall', - PerformPromiseRace: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiserace', - PerformPromiseThen: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromisethen', - PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/7.0/#sec-prepareforordinarycall', - PrepareForTailCall: 'https://ecma-international.org/ecma-262/7.0/#sec-preparefortailcall', - PromiseReactionJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promisereactionjob', - PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promiseresolvethenablejob', - ProxyCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-proxycreate', - PutValue: 'https://ecma-international.org/ecma-262/7.0/#sec-putvalue', - QuoteJSONString: 'https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring', - RegExpAlloc: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpalloc', - RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpbuiltinexec', - RegExpCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpcreate', - RegExpExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpexec', - RegExpInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpinitialize', - RejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-rejectpromise', - RepeatMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-repeatmatcher-abstract-operation', - RequireObjectCoercible: 'https://ecma-international.org/ecma-262/7.0/#sec-requireobjectcoercible', - ResolveBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvebinding', - ResolveThisBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvethisbinding', - ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-returnifabrupt', - SameValue: 'https://ecma-international.org/ecma-262/7.0/#sec-samevalue', - SameValueNonNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber', - SameValueZero: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluezero', - ScriptEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-scriptevaluation', - ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-scriptevaluationjob', - SecFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds', - SerializeJSONArray: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonarray', - SerializeJSONObject: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonobject', - SerializeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonproperty', - Set: 'https://ecma-international.org/ecma-262/7.0/#sec-set-o-p-v-throw', - SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/7.0/#sec-setdefaultglobalbindings', - SetFunctionName: 'https://ecma-international.org/ecma-262/7.0/#sec-setfunctionname', - SetIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-setintegritylevel', - SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-setrealmglobalobject', - SetValueInBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-setvalueinbuffer', - SetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-setviewvalue', - SortCompare: 'https://ecma-international.org/ecma-262/7.0/#sec-sortcompare', - SpeciesConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-speciesconstructor', - SplitMatch: 'https://ecma-international.org/ecma-262/7.0/#sec-splitmatch', - 'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-strict-equality-comparison', - StringCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-stringcreate', - SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/7.0/#sec-symboldescriptivestring', - TestIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-testintegritylevel', - thisBooleanValue: 'https://ecma-international.org/ecma-262/7.0/#sec-thisbooleanvalue', - thisNumberValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-number-prototype-object', - thisStringValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-string-prototype-object', - thisTimeValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-date-prototype-object', - TimeClip: 'https://ecma-international.org/ecma-262/7.0/#sec-timeclip', - TimeFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number', - TimeWithinDay: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day', - ToBoolean: 'https://ecma-international.org/ecma-262/7.0/#sec-toboolean', - ToDateString: 'https://ecma-international.org/ecma-262/7.0/#sec-todatestring', - ToInt16: 'https://ecma-international.org/ecma-262/7.0/#sec-toint16', - ToInt32: 'https://ecma-international.org/ecma-262/7.0/#sec-toint32', - ToInt8: 'https://ecma-international.org/ecma-262/7.0/#sec-toint8', - ToInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-tointeger', - ToLength: 'https://ecma-international.org/ecma-262/7.0/#sec-tolength', - ToNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-tonumber', - ToObject: 'https://ecma-international.org/ecma-262/7.0/#sec-toobject', - TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-toplevelmoduleevaluationjob', - ToPrimitive: 'https://ecma-international.org/ecma-262/7.0/#sec-toprimitive', - ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertydescriptor', - ToPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertykey', - ToString: 'https://ecma-international.org/ecma-262/7.0/#sec-tostring', - 'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/7.0/#sec-tostring-applied-to-the-number-type', - ToUint16: 'https://ecma-international.org/ecma-262/7.0/#sec-touint16', - ToUint32: 'https://ecma-international.org/ecma-262/7.0/#sec-touint32', - ToUint8: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8', - ToUint8Clamp: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8clamp', - TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/7.0/#sec-triggerpromisereactions', - Type: 'https://ecma-international.org/ecma-262/7.0/#sec-ecmascript-data-types-and-values', - TypedArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-create', - TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-species-create', - UpdateEmpty: 'https://ecma-international.org/ecma-262/7.0/#sec-updateempty', - UTC: 'https://ecma-international.org/ecma-262/7.0/#sec-utc-t', - UTF16Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16decode', - UTF16Encoding: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding', - ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-validateandapplypropertydescriptor', - ValidateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-validatetypedarray', - WeekDay: 'https://ecma-international.org/ecma-262/7.0/#sec-week-day', - YearFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number' -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/2017.js b/node_modules/object.assign/node_modules/es-abstract/operations/2017.js deleted file mode 100644 index 896fcee50..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/2017.js +++ /dev/null @@ -1,324 +0,0 @@ -'use strict'; - -module.exports = { - IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op - - abs: 'https://ecma-international.org/ecma-262/8.0/#eqn-abs', - 'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-equality-comparison', - 'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-relational-comparison', - AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-addrestrictedfunctionproperties', - AddWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-addwaiter', - AdvanceStringIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-advancestringindex', - 'agent-order': 'https://ecma-international.org/ecma-262/8.0/#sec-agent-order', - AgentCanSuspend: 'https://ecma-international.org/ecma-262/8.0/#sec-agentcansuspend', - AgentSignifier: 'https://ecma-international.org/ecma-262/8.0/#sec-agentsignifier', - AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatearraybuffer', - AllocateSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatesharedarraybuffer', - AllocateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarray', - AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarraybuffer', - ArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arraycreate', - ArraySetLength: 'https://ecma-international.org/ecma-262/8.0/#sec-arraysetlength', - ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arrayspeciescreate', - AsyncFunctionAwait: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-await', - AsyncFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-create', - AsyncFunctionStart: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-start', - AtomicLoad: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicload', - AtomicReadModifyWrite: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicreadmodifywrite', - BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-blockdeclarationinstantiation', - BoundFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-boundfunctioncreate', - Call: 'https://ecma-international.org/ecma-262/8.0/#sec-call', - Canonicalize: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-canonicalize-ch', - CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/8.0/#sec-canonicalnumericindexstring', - CharacterRange: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrange-abstract-operation', - CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation', - CharacterSetMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation', - CloneArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-clonearraybuffer', - CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-completepropertydescriptor', - Completion: 'https://ecma-international.org/ecma-262/8.0/#sec-completion-record-specification-type', - ComposeWriteEventBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-composewriteeventbytes', - Construct: 'https://ecma-international.org/ecma-262/8.0/#sec-construct', - CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-copydatablockbytes', - CreateArrayFromList: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayfromlist', - CreateArrayIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayiterator', - CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createbuiltinfunction', - CreateByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createbytedatablock', - CreateDataProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createdataproperty', - CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-createdatapropertyorthrow', - CreateDynamicFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createdynamicfunction', - CreateHTML: 'https://ecma-international.org/ecma-262/8.0/#sec-createhtml', - CreateIntrinsics: 'https://ecma-international.org/ecma-262/8.0/#sec-createintrinsics', - CreateIterResultObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createiterresultobject', - CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistfromarraylike', - CreateListIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistiterator', - CreateMapIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createmapiterator', - CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createmappedargumentsobject', - CreateMethodProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createmethodproperty', - CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-createperiterationenvironment', - CreateRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-createrealm', - CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/8.0/#sec-createresolvingfunctions', - CreateSetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createsetiterator', - CreateSharedByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createsharedbytedatablock', - CreateStringIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createstringiterator', - CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createunmappedargumentsobject', - DateFromTime: 'https://ecma-international.org/ecma-262/8.0/#sec-date-number', - Day: 'https://ecma-international.org/ecma-262/8.0/#eqn-Day', - DayFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysFromYear', - DaysInYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysInYear', - DayWithinYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DayWithinYear', - Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-decode', - DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-definepropertyorthrow', - DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-deletepropertyorthrow', - DetachArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-detacharraybuffer', - Encode: 'https://ecma-international.org/ecma-262/8.0/#sec-encode', - EnqueueJob: 'https://ecma-international.org/ecma-262/8.0/#sec-enqueuejob', - EnterCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-entercriticalsection', - EnumerableOwnProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties', - EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerate-object-properties', - EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/8.0/#sec-escaperegexppattern', - EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-evaldeclarationinstantiation', - EvaluateCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatecall', - EvaluateDirectCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatedirectcall', - EvaluateNew: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatenew', - EventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-event-set', - floor: 'https://ecma-international.org/ecma-262/8.0/#eqn-floor', - ForBodyEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-forbodyevaluation', - 'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset', - 'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind', - FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-frompropertydescriptor', - FulfillPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-fulfillpromise', - FunctionAllocate: 'https://ecma-international.org/ecma-262/8.0/#sec-functionallocate', - FunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-functioncreate', - FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-functiondeclarationinstantiation', - FunctionInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-functioninitialize', - GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorfunctioncreate', - GeneratorResume: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresume', - GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresumeabrupt', - GeneratorStart: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorstart', - GeneratorValidate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorvalidate', - GeneratorYield: 'https://ecma-international.org/ecma-262/8.0/#sec-generatoryield', - Get: 'https://ecma-international.org/ecma-262/8.0/#sec-get-o-p', - GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/8.0/#sec-getactivescriptormodule', - GetBase: 'https://ecma-international.org/ecma-262/8.0/#ao-getbase', - GetFunctionRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-getfunctionrealm', - GetGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-getglobalobject', - GetIdentifierReference: 'https://ecma-international.org/ecma-262/8.0/#sec-getidentifierreference', - GetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-getiterator', - GetMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-getmethod', - GetModifySetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodifysetvalueinbuffer', - GetModuleNamespace: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodulenamespace', - GetNewTarget: 'https://ecma-international.org/ecma-262/8.0/#sec-getnewtarget', - GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-getownpropertykeys', - GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getprototypefromconstructor', - GetReferencedName: 'https://ecma-international.org/ecma-262/8.0/#ao-getreferencedname', - GetSubstitution: 'https://ecma-international.org/ecma-262/8.0/#sec-getsubstitution', - GetSuperConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getsuperconstructor', - GetTemplateObject: 'https://ecma-international.org/ecma-262/8.0/#sec-gettemplateobject', - GetThisEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisenvironment', - GetThisValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisvalue', - GetV: 'https://ecma-international.org/ecma-262/8.0/#sec-getv', - GetValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getvalue', - GetValueFromBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getvaluefrombuffer', - GetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getviewvalue', - GetWaiterList: 'https://ecma-international.org/ecma-262/8.0/#sec-getwaiterlist', - GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-globaldeclarationinstantiation', - 'happens-before': 'https://ecma-international.org/ecma-262/8.0/#sec-happens-before', - HasOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasownproperty', - HasPrimitiveBase: 'https://ecma-international.org/ecma-262/8.0/#ao-hasprimitivebase', - HasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasproperty', - 'host-synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-host-synchronizes-with', - HostEnsureCanCompileStrings: 'https://ecma-international.org/ecma-262/8.0/#sec-hostensurecancompilestrings', - HostEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-hosteventset', - HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/8.0/#sec-host-promise-rejection-tracker', - HostReportErrors: 'https://ecma-international.org/ecma-262/8.0/#sec-host-report-errors', - HostResolveImportedModule: 'https://ecma-international.org/ecma-262/8.0/#sec-hostresolveimportedmodule', - HourFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-HourFromTime', - IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ifabruptrejectpromise', - ImportedLocalNames: 'https://ecma-international.org/ecma-262/8.0/#sec-importedlocalnames', - InitializeBoundName: 'https://ecma-international.org/ecma-262/8.0/#sec-initializeboundname', - InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-initializehostdefinedrealm', - InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-initializereferencedbinding', - InLeapYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-InLeapYear', - InstanceofOperator: 'https://ecma-international.org/ecma-262/8.0/#sec-instanceofoperator', - IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementget', - IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementset', - IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedobjectcreate', - InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-internalizejsonproperty', - Invoke: 'https://ecma-international.org/ecma-262/8.0/#sec-invoke', - IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isaccessordescriptor', - IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/8.0/#sec-isanonymousfunctiondefinition', - IsArray: 'https://ecma-international.org/ecma-262/8.0/#sec-isarray', - IsCallable: 'https://ecma-international.org/ecma-262/8.0/#sec-iscallable', - IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-iscompatiblepropertydescriptor', - IsConcatSpreadable: 'https://ecma-international.org/ecma-262/8.0/#sec-isconcatspreadable', - IsConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-isconstructor', - IsDataDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isdatadescriptor', - IsDetachedBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-isdetachedbuffer', - IsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-isextensible-o', - IsGenericDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isgenericdescriptor', - IsInTailPosition: 'https://ecma-international.org/ecma-262/8.0/#sec-isintailposition', - IsInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-isinteger', - IsLabelledFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-islabelledfunction', - IsPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ispromise', - IsPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-ispropertykey', - IsPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#ao-ispropertyreference', - IsRegExp: 'https://ecma-international.org/ecma-262/8.0/#sec-isregexp', - IsSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-issharedarraybuffer', - IsStrictReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isstrictreference', - IsSuperReference: 'https://ecma-international.org/ecma-262/8.0/#ao-issuperreference', - IsUnresolvableReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isunresolvablereference', - IsWordChar: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-iswordchar-abstract-operation', - IterableToList: 'https://ecma-international.org/ecma-262/8.0/#sec-iterabletolist', - IteratorClose: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorclose', - IteratorComplete: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorcomplete', - IteratorNext: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratornext', - IteratorStep: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorstep', - IteratorValue: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorvalue', - LeaveCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-leavecriticalsection', - LocalTime: 'https://ecma-international.org/ecma-262/8.0/#sec-localtime', - LoopContinues: 'https://ecma-international.org/ecma-262/8.0/#sec-loopcontinues', - MakeArgGetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makearggetter', - MakeArgSetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makeargsetter', - MakeClassConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeclassconstructor', - MakeConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeconstructor', - MakeDate: 'https://ecma-international.org/ecma-262/8.0/#sec-makedate', - MakeDay: 'https://ecma-international.org/ecma-262/8.0/#sec-makeday', - MakeMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-makemethod', - MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#sec-makesuperpropertyreference', - MakeTime: 'https://ecma-international.org/ecma-262/8.0/#sec-maketime', - max: 'https://ecma-international.org/ecma-262/8.0/#eqn-max', - 'memory-order': 'https://ecma-international.org/ecma-262/8.0/#sec-memory-order', - min: 'https://ecma-international.org/ecma-262/8.0/#eqn-min', - MinFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MinFromTime', - ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-modulenamespacecreate', - modulo: 'https://ecma-international.org/ecma-262/8.0/#eqn-modulo', - MonthFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MonthFromTime', - msFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-msFromTime', - NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newdeclarativeenvironment', - NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newfunctionenvironment', - NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newglobalenvironment', - NewModuleEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newmoduleenvironment', - NewObjectEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newobjectenvironment', - NewPromiseCapability: 'https://ecma-international.org/ecma-262/8.0/#sec-newpromisecapability', - NormalCompletion: 'https://ecma-international.org/ecma-262/8.0/#sec-normalcompletion', - NumberToRawBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-numbertorawbytes', - ObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-objectcreate', - ObjectDefineProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-objectdefineproperties', - OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallbindthis', - OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallevaluatebody', - OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycreatefromconstructor', - OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydefineownproperty', - OrdinaryDelete: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydelete', - OrdinaryGet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryget', - OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetownproperty', - OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetprototypeof', - OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasinstance', - OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasproperty', - OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryisextensible', - OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryownpropertykeys', - OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarypreventextensions', - OrdinarySet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryset', - OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarysetprototypeof', - OrdinaryToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarytoprimitive', - ParseModule: 'https://ecma-international.org/ecma-262/8.0/#sec-parsemodule', - ParseScript: 'https://ecma-international.org/ecma-262/8.0/#sec-parse-script', - PerformEval: 'https://ecma-international.org/ecma-262/8.0/#sec-performeval', - PerformPromiseAll: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiseall', - PerformPromiseRace: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiserace', - PerformPromiseThen: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromisethen', - PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/8.0/#sec-prepareforordinarycall', - PrepareForTailCall: 'https://ecma-international.org/ecma-262/8.0/#sec-preparefortailcall', - PromiseReactionJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promisereactionjob', - PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promiseresolvethenablejob', - ProxyCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-proxycreate', - PutValue: 'https://ecma-international.org/ecma-262/8.0/#sec-putvalue', - QuoteJSONString: 'https://ecma-international.org/ecma-262/8.0/#sec-quotejsonstring', - RawBytesToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-rawbytestonumber', - 'reads-bytes-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-bytes-from', - 'reads-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-from', - RegExpAlloc: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpalloc', - RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpbuiltinexec', - RegExpCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpcreate', - RegExpExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpexec', - RegExpInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpinitialize', - RejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-rejectpromise', - RemoveWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiter', - RemoveWaiters: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiters', - RepeatMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-repeatmatcher-abstract-operation', - RequireObjectCoercible: 'https://ecma-international.org/ecma-262/8.0/#sec-requireobjectcoercible', - ResolveBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvebinding', - ResolveThisBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvethisbinding', - ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-returnifabrupt', - RunJobs: 'https://ecma-international.org/ecma-262/8.0/#sec-runjobs', - SameValue: 'https://ecma-international.org/ecma-262/8.0/#sec-samevalue', - SameValueNonNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluenonnumber', - SameValueZero: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluezero', - ScriptEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-scriptevaluation', - ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-scriptevaluationjob', - SecFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-SecFromTime', - SerializeJSONArray: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonarray', - SerializeJSONObject: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonobject', - SerializeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonproperty', - Set: 'https://ecma-international.org/ecma-262/8.0/#sec-set-o-p-v-throw', - SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/8.0/#sec-setdefaultglobalbindings', - SetFunctionName: 'https://ecma-international.org/ecma-262/8.0/#sec-setfunctionname', - SetImmutablePrototype: 'https://ecma-international.org/ecma-262/8.0/#sec-set-immutable-prototype', - SetIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-setintegritylevel', - SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-setrealmglobalobject', - SetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-setvalueinbuffer', - SetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-setviewvalue', - SharedDataBlockEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-sharedatablockeventset', - SortCompare: 'https://ecma-international.org/ecma-262/8.0/#sec-sortcompare', - SpeciesConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-speciesconstructor', - SplitMatch: 'https://ecma-international.org/ecma-262/8.0/#sec-splitmatch', - 'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-strict-equality-comparison', - StringCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-stringcreate', - StringGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty', - Suspend: 'https://ecma-international.org/ecma-262/8.0/#sec-suspend', - SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/8.0/#sec-symboldescriptivestring', - 'synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-synchronizes-with', - TestIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-testintegritylevel', - thisBooleanValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisbooleanvalue', - thisNumberValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisnumbervalue', - thisStringValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisstringvalue', - thisTimeValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thistimevalue', - TimeClip: 'https://ecma-international.org/ecma-262/8.0/#sec-timeclip', - TimeFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeFromYear', - TimeWithinDay: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeWithinDay', - ToBoolean: 'https://ecma-international.org/ecma-262/8.0/#sec-toboolean', - ToDateString: 'https://ecma-international.org/ecma-262/8.0/#sec-todatestring', - ToIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-toindex', - ToInt16: 'https://ecma-international.org/ecma-262/8.0/#sec-toint16', - ToInt32: 'https://ecma-international.org/ecma-262/8.0/#sec-toint32', - ToInt8: 'https://ecma-international.org/ecma-262/8.0/#sec-toint8', - ToInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-tointeger', - ToLength: 'https://ecma-international.org/ecma-262/8.0/#sec-tolength', - ToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-tonumber', - ToObject: 'https://ecma-international.org/ecma-262/8.0/#sec-toobject', - TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-toplevelmoduleevaluationjob', - ToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-toprimitive', - ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertydescriptor', - ToPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertykey', - ToString: 'https://ecma-international.org/ecma-262/8.0/#sec-tostring', - 'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/8.0/#sec-tostring-applied-to-the-number-type', - ToUint16: 'https://ecma-international.org/ecma-262/8.0/#sec-touint16', - ToUint32: 'https://ecma-international.org/ecma-262/8.0/#sec-touint32', - ToUint8: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8', - ToUint8Clamp: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8clamp', - TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/8.0/#sec-triggerpromisereactions', - Type: 'https://ecma-international.org/ecma-262/8.0/#sec-ecmascript-data-types-and-values', - TypedArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-create', - TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-species-create', - UpdateEmpty: 'https://ecma-international.org/ecma-262/8.0/#sec-updateempty', - UTC: 'https://ecma-international.org/ecma-262/8.0/#sec-utc-t', - UTF16Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16decode', - UTF16Encoding: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16encoding', - ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor', - ValidateAtomicAccess: 'https://ecma-international.org/ecma-262/8.0/#sec-validateatomicaccess', - ValidateSharedIntegerTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatesharedintegertypedarray', - ValidateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatetypedarray', - ValueOfReadEvent: 'https://ecma-international.org/ecma-262/8.0/#sec-valueofreadevent', - WakeWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-wakewaiter', - WeekDay: 'https://ecma-international.org/ecma-262/8.0/#sec-week-day', - WordCharacters: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-wordcharacters-abstract-operation', - YearFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-YearFromTime' -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/2018.js b/node_modules/object.assign/node_modules/es-abstract/operations/2018.js deleted file mode 100644 index c93b561d6..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/2018.js +++ /dev/null @@ -1,350 +0,0 @@ -'use strict'; - -module.exports = { - abs: 'https://ecma-international.org/ecma-262/9.0/#eqn-abs', - 'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/9.0/#sec-abstract-equality-comparison', - 'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/9.0/#sec-abstract-relational-comparison', - AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/9.0/#sec-addrestrictedfunctionproperties', - AddWaiter: 'https://ecma-international.org/ecma-262/9.0/#sec-addwaiter', - AdvanceStringIndex: 'https://ecma-international.org/ecma-262/9.0/#sec-advancestringindex', - 'agent-order': 'https://ecma-international.org/ecma-262/9.0/#sec-agent-order', - AgentCanSuspend: 'https://ecma-international.org/ecma-262/9.0/#sec-agentcansuspend', - AgentSignifier: 'https://ecma-international.org/ecma-262/9.0/#sec-agentsignifier', - AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-allocatearraybuffer', - AllocateSharedArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-allocatesharedarraybuffer', - AllocateTypedArray: 'https://ecma-international.org/ecma-262/9.0/#sec-allocatetypedarray', - AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-allocatetypedarraybuffer', - ArrayCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-arraycreate', - ArraySetLength: 'https://ecma-international.org/ecma-262/9.0/#sec-arraysetlength', - ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-arrayspeciescreate', - AsyncFunctionCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-async-functions-abstract-operations-async-function-create', - AsyncFunctionStart: 'https://ecma-international.org/ecma-262/9.0/#sec-async-functions-abstract-operations-async-function-start', - AsyncGeneratorEnqueue: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorenqueue', - AsyncGeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorfunctioncreate', - AsyncGeneratorReject: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorreject', - AsyncGeneratorResolve: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorresolve', - AsyncGeneratorResumeNext: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorresumenext', - AsyncGeneratorStart: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratorstart', - AsyncGeneratorYield: 'https://ecma-international.org/ecma-262/9.0/#sec-asyncgeneratoryield', - AsyncIteratorClose: 'https://ecma-international.org/ecma-262/9.0/#sec-asynciteratorclose', - AtomicLoad: 'https://ecma-international.org/ecma-262/9.0/#sec-atomicload', - AtomicReadModifyWrite: 'https://ecma-international.org/ecma-262/9.0/#sec-atomicreadmodifywrite', - Await: 'https://ecma-international.org/ecma-262/9.0/#await', - BackreferenceMatcher: 'https://ecma-international.org/ecma-262/9.0/#sec-backreference-matcher', - BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/9.0/#sec-blockdeclarationinstantiation', - BoundFunctionCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-boundfunctioncreate', - Call: 'https://ecma-international.org/ecma-262/9.0/#sec-call', - Canonicalize: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-canonicalize-ch', - CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/9.0/#sec-canonicalnumericindexstring', - CaseClauseIsSelected: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-caseclauseisselected', - CharacterRange: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-characterrange-abstract-operation', - CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation', - CharacterSetMatcher: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation', - CloneArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-clonearraybuffer', - CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-completepropertydescriptor', - Completion: 'https://ecma-international.org/ecma-262/9.0/#sec-completion-record-specification-type', - ComposeWriteEventBytes: 'https://ecma-international.org/ecma-262/9.0/#sec-composewriteeventbytes', - Construct: 'https://ecma-international.org/ecma-262/9.0/#sec-construct', - CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/9.0/#sec-copydatablockbytes', - CopyDataProperties: 'https://ecma-international.org/ecma-262/9.0/#sec-copydataproperties', - CreateArrayFromList: 'https://ecma-international.org/ecma-262/9.0/#sec-createarrayfromlist', - CreateArrayIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-createarrayiterator', - CreateAsyncFromSyncIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-createasyncfromsynciterator', - CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/9.0/#sec-createbuiltinfunction', - CreateByteDataBlock: 'https://ecma-international.org/ecma-262/9.0/#sec-createbytedatablock', - CreateDataProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-createdataproperty', - CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/9.0/#sec-createdatapropertyorthrow', - CreateDynamicFunction: 'https://ecma-international.org/ecma-262/9.0/#sec-createdynamicfunction', - CreateHTML: 'https://ecma-international.org/ecma-262/9.0/#sec-createhtml', - CreateIntrinsics: 'https://ecma-international.org/ecma-262/9.0/#sec-createintrinsics', - CreateIterResultObject: 'https://ecma-international.org/ecma-262/9.0/#sec-createiterresultobject', - CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/9.0/#sec-createlistfromarraylike', - CreateListIteratorRecord: 'https://ecma-international.org/ecma-262/9.0/#sec-createlistiteratorRecord', - CreateMapIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-createmapiterator', - CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/9.0/#sec-createmappedargumentsobject', - CreateMethodProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-createmethodproperty', - CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-createperiterationenvironment', - CreateRealm: 'https://ecma-international.org/ecma-262/9.0/#sec-createrealm', - CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/9.0/#sec-createresolvingfunctions', - CreateSetIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-createsetiterator', - CreateSharedByteDataBlock: 'https://ecma-international.org/ecma-262/9.0/#sec-createsharedbytedatablock', - CreateStringIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-createstringiterator', - CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/9.0/#sec-createunmappedargumentsobject', - DateFromTime: 'https://ecma-international.org/ecma-262/9.0/#sec-date-number', - DateString: 'https://ecma-international.org/ecma-262/9.0/#sec-datestring', - Day: 'https://ecma-international.org/ecma-262/9.0/#eqn-Day', - DayFromYear: 'https://ecma-international.org/ecma-262/9.0/#eqn-DaysFromYear', - DaysInYear: 'https://ecma-international.org/ecma-262/9.0/#eqn-DaysInYear', - DayWithinYear: 'https://ecma-international.org/ecma-262/9.0/#eqn-DayWithinYear', - Decode: 'https://ecma-international.org/ecma-262/9.0/#sec-decode', - DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/9.0/#sec-definepropertyorthrow', - DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/9.0/#sec-deletepropertyorthrow', - DetachArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-detacharraybuffer', - Encode: 'https://ecma-international.org/ecma-262/9.0/#sec-encode', - EnqueueJob: 'https://ecma-international.org/ecma-262/9.0/#sec-enqueuejob', - EnterCriticalSection: 'https://ecma-international.org/ecma-262/9.0/#sec-entercriticalsection', - EnumerableOwnPropertyNames: 'https://ecma-international.org/ecma-262/9.0/#sec-enumerableownpropertynames', - EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/9.0/#sec-enumerate-object-properties', - EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/9.0/#sec-escaperegexppattern', - EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/9.0/#sec-evaldeclarationinstantiation', - EvaluateCall: 'https://ecma-international.org/ecma-262/9.0/#sec-evaluatecall', - EvaluateNew: 'https://ecma-international.org/ecma-262/9.0/#sec-evaluatenew', - EventSet: 'https://ecma-international.org/ecma-262/9.0/#sec-event-set', - floor: 'https://ecma-international.org/ecma-262/9.0/#eqn-floor', - ForBodyEvaluation: 'https://ecma-international.org/ecma-262/9.0/#sec-forbodyevaluation', - 'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset', - 'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind', - FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-frompropertydescriptor', - FulfillPromise: 'https://ecma-international.org/ecma-262/9.0/#sec-fulfillpromise', - FunctionAllocate: 'https://ecma-international.org/ecma-262/9.0/#sec-functionallocate', - FunctionCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-functioncreate', - FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/9.0/#sec-functiondeclarationinstantiation', - FunctionInitialize: 'https://ecma-international.org/ecma-262/9.0/#sec-functioninitialize', - GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-generatorfunctioncreate', - GeneratorResume: 'https://ecma-international.org/ecma-262/9.0/#sec-generatorresume', - GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/9.0/#sec-generatorresumeabrupt', - GeneratorStart: 'https://ecma-international.org/ecma-262/9.0/#sec-generatorstart', - GeneratorValidate: 'https://ecma-international.org/ecma-262/9.0/#sec-generatorvalidate', - GeneratorYield: 'https://ecma-international.org/ecma-262/9.0/#sec-generatoryield', - Get: 'https://ecma-international.org/ecma-262/9.0/#sec-get-o-p', - GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/9.0/#sec-getactivescriptormodule', - GetBase: 'https://ecma-international.org/ecma-262/9.0/#sec-getbase', - GetFunctionRealm: 'https://ecma-international.org/ecma-262/9.0/#sec-getfunctionrealm', - GetGeneratorKind: 'https://ecma-international.org/ecma-262/9.0/#sec-getgeneratorkind', - GetGlobalObject: 'https://ecma-international.org/ecma-262/9.0/#sec-getglobalobject', - GetIdentifierReference: 'https://ecma-international.org/ecma-262/9.0/#sec-getidentifierreference', - GetIterator: 'https://ecma-international.org/ecma-262/9.0/#sec-getiterator', - GetMethod: 'https://ecma-international.org/ecma-262/9.0/#sec-getmethod', - GetModifySetValueInBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-getmodifysetvalueinbuffer', - GetModuleNamespace: 'https://ecma-international.org/ecma-262/9.0/#sec-getmodulenamespace', - GetNewTarget: 'https://ecma-international.org/ecma-262/9.0/#sec-getnewtarget', - GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/9.0/#sec-getownpropertykeys', - GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-getprototypefromconstructor', - GetReferencedName: 'https://ecma-international.org/ecma-262/9.0/#sec-getreferencedname', - GetSubstitution: 'https://ecma-international.org/ecma-262/9.0/#sec-getsubstitution', - GetSuperConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-getsuperconstructor', - GetTemplateObject: 'https://ecma-international.org/ecma-262/9.0/#sec-gettemplateobject', - GetThisEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-getthisenvironment', - GetThisValue: 'https://ecma-international.org/ecma-262/9.0/#sec-getthisvalue', - GetV: 'https://ecma-international.org/ecma-262/9.0/#sec-getv', - GetValue: 'https://ecma-international.org/ecma-262/9.0/#sec-getvalue', - GetValueFromBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-getvaluefrombuffer', - GetViewValue: 'https://ecma-international.org/ecma-262/9.0/#sec-getviewvalue', - GetWaiterList: 'https://ecma-international.org/ecma-262/9.0/#sec-getwaiterlist', - GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/9.0/#sec-globaldeclarationinstantiation', - 'happens-before': 'https://ecma-international.org/ecma-262/9.0/#sec-happens-before', - HasOwnProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-hasownproperty', - HasPrimitiveBase: 'https://ecma-international.org/ecma-262/9.0/#sec-hasprimitivebase', - HasProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-hasproperty', - 'host-synchronizes-with': 'https://ecma-international.org/ecma-262/9.0/#sec-host-synchronizes-with', - HostEnsureCanCompileStrings: 'https://ecma-international.org/ecma-262/9.0/#sec-hostensurecancompilestrings', - HostEventSet: 'https://ecma-international.org/ecma-262/9.0/#sec-hosteventset', - HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/9.0/#sec-host-promise-rejection-tracker', - HostReportErrors: 'https://ecma-international.org/ecma-262/9.0/#sec-host-report-errors', - HostResolveImportedModule: 'https://ecma-international.org/ecma-262/9.0/#sec-hostresolveimportedmodule', - HourFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-HourFromTime', - IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/9.0/#sec-ifabruptrejectpromise', - ImportedLocalNames: 'https://ecma-international.org/ecma-262/9.0/#sec-importedlocalnames', - InitializeBoundName: 'https://ecma-international.org/ecma-262/9.0/#sec-initializeboundname', - InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/9.0/#sec-initializehostdefinedrealm', - InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/9.0/#sec-initializereferencedbinding', - InLeapYear: 'https://ecma-international.org/ecma-262/9.0/#eqn-InLeapYear', - InnerModuleEvaluation: 'https://ecma-international.org/ecma-262/9.0/#sec-innermoduleevaluation', - InnerModuleInstantiation: 'https://ecma-international.org/ecma-262/9.0/#sec-innermoduleinstantiation', - InstanceofOperator: 'https://ecma-international.org/ecma-262/9.0/#sec-instanceofoperator', - IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/9.0/#sec-integerindexedelementget', - IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/9.0/#sec-integerindexedelementset', - IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-integerindexedobjectcreate', - InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-internalizejsonproperty', - Invoke: 'https://ecma-international.org/ecma-262/9.0/#sec-invoke', - IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-isaccessordescriptor', - IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/9.0/#sec-isanonymousfunctiondefinition', - IsArray: 'https://ecma-international.org/ecma-262/9.0/#sec-isarray', - IsCallable: 'https://ecma-international.org/ecma-262/9.0/#sec-iscallable', - IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-iscompatiblepropertydescriptor', - IsConcatSpreadable: 'https://ecma-international.org/ecma-262/9.0/#sec-isconcatspreadable', - IsConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-isconstructor', - IsDataDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-isdatadescriptor', - IsDetachedBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-isdetachedbuffer', - IsExtensible: 'https://ecma-international.org/ecma-262/9.0/#sec-isextensible-o', - IsGenericDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-isgenericdescriptor', - IsInTailPosition: 'https://ecma-international.org/ecma-262/9.0/#sec-isintailposition', - IsInteger: 'https://ecma-international.org/ecma-262/9.0/#sec-isinteger', - IsLabelledFunction: 'https://ecma-international.org/ecma-262/9.0/#sec-islabelledfunction', - IsPromise: 'https://ecma-international.org/ecma-262/9.0/#sec-ispromise', - IsPropertyKey: 'https://ecma-international.org/ecma-262/9.0/#sec-ispropertykey', - IsPropertyReference: 'https://ecma-international.org/ecma-262/9.0/#sec-ispropertyreference', - IsRegExp: 'https://ecma-international.org/ecma-262/9.0/#sec-isregexp', - IsSharedArrayBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-issharedarraybuffer', - IsStrictReference: 'https://ecma-international.org/ecma-262/9.0/#sec-isstrictreference', - IsStringPrefix: 'https://ecma-international.org/ecma-262/9.0/#sec-isstringprefix', - IsSuperReference: 'https://ecma-international.org/ecma-262/9.0/#sec-issuperreference', - IsUnresolvableReference: 'https://ecma-international.org/ecma-262/9.0/#sec-isunresolvablereference', - IsWordChar: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-iswordchar-abstract-operation', - IterableToList: 'https://ecma-international.org/ecma-262/9.0/#sec-iterabletolist', - IteratorClose: 'https://ecma-international.org/ecma-262/9.0/#sec-iteratorclose', - IteratorComplete: 'https://ecma-international.org/ecma-262/9.0/#sec-iteratorcomplete', - IteratorNext: 'https://ecma-international.org/ecma-262/9.0/#sec-iteratornext', - IteratorStep: 'https://ecma-international.org/ecma-262/9.0/#sec-iteratorstep', - IteratorValue: 'https://ecma-international.org/ecma-262/9.0/#sec-iteratorvalue', - LeaveCriticalSection: 'https://ecma-international.org/ecma-262/9.0/#sec-leavecriticalsection', - LocalTime: 'https://ecma-international.org/ecma-262/9.0/#sec-localtime', - LoopContinues: 'https://ecma-international.org/ecma-262/9.0/#sec-loopcontinues', - MakeArgGetter: 'https://ecma-international.org/ecma-262/9.0/#sec-makearggetter', - MakeArgSetter: 'https://ecma-international.org/ecma-262/9.0/#sec-makeargsetter', - MakeClassConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-makeclassconstructor', - MakeConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-makeconstructor', - MakeDate: 'https://ecma-international.org/ecma-262/9.0/#sec-makedate', - MakeDay: 'https://ecma-international.org/ecma-262/9.0/#sec-makeday', - MakeMethod: 'https://ecma-international.org/ecma-262/9.0/#sec-makemethod', - MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/9.0/#sec-makesuperpropertyreference', - MakeTime: 'https://ecma-international.org/ecma-262/9.0/#sec-maketime', - max: 'https://ecma-international.org/ecma-262/9.0/#eqn-max', - 'memory-order': 'https://ecma-international.org/ecma-262/9.0/#sec-memory-order', - min: 'https://ecma-international.org/ecma-262/9.0/#eqn-min', - MinFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-MinFromTime', - ModuleDeclarationEnvironmentSetup: 'https://ecma-international.org/ecma-262/9.0/#sec-moduledeclarationenvironmentsetup', - ModuleExecution: 'https://ecma-international.org/ecma-262/9.0/#sec-moduleexecution', - ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-modulenamespacecreate', - modulo: 'https://ecma-international.org/ecma-262/9.0/#eqn-modulo', - MonthFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-MonthFromTime', - msFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-msFromTime', - NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-newdeclarativeenvironment', - NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-newfunctionenvironment', - NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-newglobalenvironment', - NewModuleEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-newmoduleenvironment', - NewObjectEnvironment: 'https://ecma-international.org/ecma-262/9.0/#sec-newobjectenvironment', - NewPromiseCapability: 'https://ecma-international.org/ecma-262/9.0/#sec-newpromisecapability', - NormalCompletion: 'https://ecma-international.org/ecma-262/9.0/#sec-normalcompletion', - NumberToRawBytes: 'https://ecma-international.org/ecma-262/9.0/#sec-numbertorawbytes', - NumberToString: 'https://ecma-international.org/ecma-262/9.0/#sec-tostring-applied-to-the-number-type', - ObjectCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-objectcreate', - ObjectDefineProperties: 'https://ecma-international.org/ecma-262/9.0/#sec-objectdefineproperties', - OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarycallbindthis', - OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarycallevaluatebody', - OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarycreatefromconstructor', - OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarydefineownproperty', - OrdinaryDelete: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarydelete', - OrdinaryGet: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryget', - OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarygetownproperty', - OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarygetprototypeof', - OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryhasinstance', - OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryhasproperty', - OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryisextensible', - OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryownpropertykeys', - OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarypreventextensions', - OrdinarySet: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinaryset', - OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarysetprototypeof', - OrdinarySetWithOwnDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarysetwithowndescriptor', - OrdinaryToPrimitive: 'https://ecma-international.org/ecma-262/9.0/#sec-ordinarytoprimitive', - ParseModule: 'https://ecma-international.org/ecma-262/9.0/#sec-parsemodule', - ParseScript: 'https://ecma-international.org/ecma-262/9.0/#sec-parse-script', - PerformEval: 'https://ecma-international.org/ecma-262/9.0/#sec-performeval', - PerformPromiseAll: 'https://ecma-international.org/ecma-262/9.0/#sec-performpromiseall', - PerformPromiseRace: 'https://ecma-international.org/ecma-262/9.0/#sec-performpromiserace', - PerformPromiseThen: 'https://ecma-international.org/ecma-262/9.0/#sec-performpromisethen', - PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/9.0/#sec-prepareforordinarycall', - PrepareForTailCall: 'https://ecma-international.org/ecma-262/9.0/#sec-preparefortailcall', - PromiseReactionJob: 'https://ecma-international.org/ecma-262/9.0/#sec-promisereactionjob', - PromiseResolve: 'https://ecma-international.org/ecma-262/9.0/#sec-promise-resolve', - PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/9.0/#sec-promiseresolvethenablejob', - ProxyCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-proxycreate', - PutValue: 'https://ecma-international.org/ecma-262/9.0/#sec-putvalue', - QuoteJSONString: 'https://ecma-international.org/ecma-262/9.0/#sec-quotejsonstring', - RawBytesToNumber: 'https://ecma-international.org/ecma-262/9.0/#sec-rawbytestonumber', - 'reads-bytes-from': 'https://ecma-international.org/ecma-262/9.0/#sec-reads-bytes-from', - 'reads-from': 'https://ecma-international.org/ecma-262/9.0/#sec-reads-from', - RegExpAlloc: 'https://ecma-international.org/ecma-262/9.0/#sec-regexpalloc', - RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/9.0/#sec-regexpbuiltinexec', - RegExpCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-regexpcreate', - RegExpExec: 'https://ecma-international.org/ecma-262/9.0/#sec-regexpexec', - RegExpInitialize: 'https://ecma-international.org/ecma-262/9.0/#sec-regexpinitialize', - RejectPromise: 'https://ecma-international.org/ecma-262/9.0/#sec-rejectpromise', - RemoveWaiter: 'https://ecma-international.org/ecma-262/9.0/#sec-removewaiter', - RemoveWaiters: 'https://ecma-international.org/ecma-262/9.0/#sec-removewaiters', - RepeatMatcher: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-repeatmatcher-abstract-operation', - RequireObjectCoercible: 'https://ecma-international.org/ecma-262/9.0/#sec-requireobjectcoercible', - ResolveBinding: 'https://ecma-international.org/ecma-262/9.0/#sec-resolvebinding', - ResolveThisBinding: 'https://ecma-international.org/ecma-262/9.0/#sec-resolvethisbinding', - ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/9.0/#sec-returnifabrupt', - RunJobs: 'https://ecma-international.org/ecma-262/9.0/#sec-runjobs', - SameValue: 'https://ecma-international.org/ecma-262/9.0/#sec-samevalue', - SameValueNonNumber: 'https://ecma-international.org/ecma-262/9.0/#sec-samevaluenonnumber', - SameValueZero: 'https://ecma-international.org/ecma-262/9.0/#sec-samevaluezero', - ScriptEvaluation: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-scriptevaluation', - ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/9.0/#sec-scriptevaluationjob', - SecFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-SecFromTime', - SerializeJSONArray: 'https://ecma-international.org/ecma-262/9.0/#sec-serializejsonarray', - SerializeJSONObject: 'https://ecma-international.org/ecma-262/9.0/#sec-serializejsonobject', - SerializeJSONProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-serializejsonproperty', - Set: 'https://ecma-international.org/ecma-262/9.0/#sec-set-o-p-v-throw', - SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/9.0/#sec-setdefaultglobalbindings', - SetFunctionLength: 'https://ecma-international.org/ecma-262/9.0/#sec-setfunctionlength', - SetFunctionName: 'https://ecma-international.org/ecma-262/9.0/#sec-setfunctionname', - SetImmutablePrototype: 'https://ecma-international.org/ecma-262/9.0/#sec-set-immutable-prototype', - SetIntegrityLevel: 'https://ecma-international.org/ecma-262/9.0/#sec-setintegritylevel', - SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/9.0/#sec-setrealmglobalobject', - SetValueInBuffer: 'https://ecma-international.org/ecma-262/9.0/#sec-setvalueinbuffer', - SetViewValue: 'https://ecma-international.org/ecma-262/9.0/#sec-setviewvalue', - SharedDataBlockEventSet: 'https://ecma-international.org/ecma-262/9.0/#sec-sharedatablockeventset', - SortCompare: 'https://ecma-international.org/ecma-262/9.0/#sec-sortcompare', - SpeciesConstructor: 'https://ecma-international.org/ecma-262/9.0/#sec-speciesconstructor', - SplitMatch: 'https://ecma-international.org/ecma-262/9.0/#sec-splitmatch', - 'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/9.0/#sec-strict-equality-comparison', - StringCreate: 'https://ecma-international.org/ecma-262/9.0/#sec-stringcreate', - StringGetOwnProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-stringgetownproperty', - Suspend: 'https://ecma-international.org/ecma-262/9.0/#sec-suspend', - SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/9.0/#sec-symboldescriptivestring', - 'synchronizes-with': 'https://ecma-international.org/ecma-262/9.0/#sec-synchronizes-with', - TestIntegrityLevel: 'https://ecma-international.org/ecma-262/9.0/#sec-testintegritylevel', - thisBooleanValue: 'https://ecma-international.org/ecma-262/9.0/#sec-thisbooleanvalue', - thisNumberValue: 'https://ecma-international.org/ecma-262/9.0/#sec-thisnumbervalue', - thisStringValue: 'https://ecma-international.org/ecma-262/9.0/#sec-thisstringvalue', - thisSymbolValue: 'https://ecma-international.org/ecma-262/9.0/#sec-thissymbolvalue', - thisTimeValue: 'https://ecma-international.org/ecma-262/9.0/#sec-thistimevalue', - ThrowCompletion: 'https://ecma-international.org/ecma-262/9.0/#sec-throwcompletion', - TimeClip: 'https://ecma-international.org/ecma-262/9.0/#sec-timeclip', - TimeFromYear: 'https://ecma-international.org/ecma-262/9.0/#eqn-TimeFromYear', - TimeString: 'https://ecma-international.org/ecma-262/9.0/#sec-timestring', - TimeWithinDay: 'https://ecma-international.org/ecma-262/9.0/#eqn-TimeWithinDay', - TimeZoneString: 'https://ecma-international.org/ecma-262/9.0/#sec-timezoneestring', - ToBoolean: 'https://ecma-international.org/ecma-262/9.0/#sec-toboolean', - ToDateString: 'https://ecma-international.org/ecma-262/9.0/#sec-todatestring', - ToIndex: 'https://ecma-international.org/ecma-262/9.0/#sec-toindex', - ToInt16: 'https://ecma-international.org/ecma-262/9.0/#sec-toint16', - ToInt32: 'https://ecma-international.org/ecma-262/9.0/#sec-toint32', - ToInt8: 'https://ecma-international.org/ecma-262/9.0/#sec-toint8', - ToInteger: 'https://ecma-international.org/ecma-262/9.0/#sec-tointeger', - ToLength: 'https://ecma-international.org/ecma-262/9.0/#sec-tolength', - ToNumber: 'https://ecma-international.org/ecma-262/9.0/#sec-tonumber', - ToObject: 'https://ecma-international.org/ecma-262/9.0/#sec-toobject', - TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/9.0/#sec-toplevelmoduleevaluationjob', - ToPrimitive: 'https://ecma-international.org/ecma-262/9.0/#sec-toprimitive', - ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-topropertydescriptor', - ToPropertyKey: 'https://ecma-international.org/ecma-262/9.0/#sec-topropertykey', - ToString: 'https://ecma-international.org/ecma-262/9.0/#sec-tostring', - ToUint16: 'https://ecma-international.org/ecma-262/9.0/#sec-touint16', - ToUint32: 'https://ecma-international.org/ecma-262/9.0/#sec-touint32', - ToUint8: 'https://ecma-international.org/ecma-262/9.0/#sec-touint8', - ToUint8Clamp: 'https://ecma-international.org/ecma-262/9.0/#sec-touint8clamp', - TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/9.0/#sec-triggerpromisereactions', - Type: 'https://ecma-international.org/ecma-262/9.0/#sec-ecmascript-data-types-and-values', - TypedArrayCreate: 'https://ecma-international.org/ecma-262/9.0/#typedarray-create', - TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/9.0/#typedarray-species-create', - UnicodeEscape: 'https://ecma-international.org/ecma-262/9.0/#sec-unicodeescape', - UnicodeMatchProperty: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-unicodematchproperty-p', - UnicodeMatchPropertyValue: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-unicodematchpropertyvalue-p-v', - UpdateEmpty: 'https://ecma-international.org/ecma-262/9.0/#sec-updateempty', - UTC: 'https://ecma-international.org/ecma-262/9.0/#sec-utc-t', - UTF16Decode: 'https://ecma-international.org/ecma-262/9.0/#sec-utf16decode', - UTF16Encoding: 'https://ecma-international.org/ecma-262/9.0/#sec-utf16encoding', - ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/9.0/#sec-validateandapplypropertydescriptor', - ValidateAtomicAccess: 'https://ecma-international.org/ecma-262/9.0/#sec-validateatomicaccess', - ValidateSharedIntegerTypedArray: 'https://ecma-international.org/ecma-262/9.0/#sec-validatesharedintegertypedarray', - ValidateTypedArray: 'https://ecma-international.org/ecma-262/9.0/#sec-validatetypedarray', - ValueOfReadEvent: 'https://ecma-international.org/ecma-262/9.0/#sec-valueofreadevent', - WakeWaiter: 'https://ecma-international.org/ecma-262/9.0/#sec-wakewaiter', - WeekDay: 'https://ecma-international.org/ecma-262/9.0/#sec-week-day', - WordCharacters: 'https://ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-wordcharacters-abstract-operation', - YearFromTime: 'https://ecma-international.org/ecma-262/9.0/#eqn-YearFromTime' -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/operations/2019.js b/node_modules/object.assign/node_modules/es-abstract/operations/2019.js deleted file mode 100644 index 73f05e8db..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/operations/2019.js +++ /dev/null @@ -1,355 +0,0 @@ -'use strict'; - -module.exports = { - abs: 'https://ecma-international.org/ecma-262/10.0/#eqn-abs', - 'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/10.0/#sec-abstract-equality-comparison', - 'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/10.0/#sec-abstract-relational-comparison', - AddEntriesFromIterable: 'https://ecma-international.org/ecma-262/10.0/#sec-add-entries-from-iterable', - AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/10.0/#sec-addrestrictedfunctionproperties', - AddWaiter: 'https://ecma-international.org/ecma-262/10.0/#sec-addwaiter', - AdvanceStringIndex: 'https://ecma-international.org/ecma-262/10.0/#sec-advancestringindex', - 'agent-order': 'https://ecma-international.org/ecma-262/10.0/#sec-agent-order', - AgentCanSuspend: 'https://ecma-international.org/ecma-262/10.0/#sec-agentcansuspend', - AgentSignifier: 'https://ecma-international.org/ecma-262/10.0/#sec-agentsignifier', - AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-allocatearraybuffer', - AllocateSharedArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-allocatesharedarraybuffer', - AllocateTypedArray: 'https://ecma-international.org/ecma-262/10.0/#sec-allocatetypedarray', - AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-allocatetypedarraybuffer', - ArrayCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-arraycreate', - ArraySetLength: 'https://ecma-international.org/ecma-262/10.0/#sec-arraysetlength', - ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-arrayspeciescreate', - AsyncFromSyncIteratorContinuation: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncfromsynciteratorcontinuation', - AsyncFunctionCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-async-functions-abstract-operations-async-function-create', - AsyncFunctionStart: 'https://ecma-international.org/ecma-262/10.0/#sec-async-functions-abstract-operations-async-function-start', - AsyncGeneratorEnqueue: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorenqueue', - AsyncGeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorfunctioncreate', - AsyncGeneratorReject: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorreject', - AsyncGeneratorResolve: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorresolve', - AsyncGeneratorResumeNext: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorresumenext', - AsyncGeneratorStart: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratorstart', - AsyncGeneratorYield: 'https://ecma-international.org/ecma-262/10.0/#sec-asyncgeneratoryield', - AsyncIteratorClose: 'https://ecma-international.org/ecma-262/10.0/#sec-asynciteratorclose', - AtomicLoad: 'https://ecma-international.org/ecma-262/10.0/#sec-atomicload', - AtomicReadModifyWrite: 'https://ecma-international.org/ecma-262/10.0/#sec-atomicreadmodifywrite', - Await: 'https://ecma-international.org/ecma-262/10.0/#await', - BackreferenceMatcher: 'https://ecma-international.org/ecma-262/10.0/#sec-backreference-matcher', - BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/10.0/#sec-blockdeclarationinstantiation', - BoundFunctionCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-boundfunctioncreate', - Call: 'https://ecma-international.org/ecma-262/10.0/#sec-call', - Canonicalize: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-canonicalize-ch', - CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/10.0/#sec-canonicalnumericindexstring', - CaseClauseIsSelected: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-caseclauseisselected', - CharacterRange: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-characterrange-abstract-operation', - CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation', - CharacterSetMatcher: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation', - CloneArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-clonearraybuffer', - CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-completepropertydescriptor', - Completion: 'https://ecma-international.org/ecma-262/10.0/#sec-completion-record-specification-type', - ComposeWriteEventBytes: 'https://ecma-international.org/ecma-262/10.0/#sec-composewriteeventbytes', - Construct: 'https://ecma-international.org/ecma-262/10.0/#sec-construct', - CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/10.0/#sec-copydatablockbytes', - CopyDataProperties: 'https://ecma-international.org/ecma-262/10.0/#sec-copydataproperties', - CreateArrayFromList: 'https://ecma-international.org/ecma-262/10.0/#sec-createarrayfromlist', - CreateArrayIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-createarrayiterator', - CreateAsyncFromSyncIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-createasyncfromsynciterator', - CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/10.0/#sec-createbuiltinfunction', - CreateByteDataBlock: 'https://ecma-international.org/ecma-262/10.0/#sec-createbytedatablock', - CreateDataProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-createdataproperty', - CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/10.0/#sec-createdatapropertyorthrow', - CreateDynamicFunction: 'https://ecma-international.org/ecma-262/10.0/#sec-createdynamicfunction', - CreateHTML: 'https://ecma-international.org/ecma-262/10.0/#sec-createhtml', - CreateIntrinsics: 'https://ecma-international.org/ecma-262/10.0/#sec-createintrinsics', - CreateIterResultObject: 'https://ecma-international.org/ecma-262/10.0/#sec-createiterresultobject', - CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/10.0/#sec-createlistfromarraylike', - CreateListIteratorRecord: 'https://ecma-international.org/ecma-262/10.0/#sec-createlistiteratorRecord', - CreateMapIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-createmapiterator', - CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/10.0/#sec-createmappedargumentsobject', - CreateMethodProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-createmethodproperty', - CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-createperiterationenvironment', - CreateRealm: 'https://ecma-international.org/ecma-262/10.0/#sec-createrealm', - CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/10.0/#sec-createresolvingfunctions', - CreateSetIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-createsetiterator', - CreateSharedByteDataBlock: 'https://ecma-international.org/ecma-262/10.0/#sec-createsharedbytedatablock', - CreateStringIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-createstringiterator', - CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/10.0/#sec-createunmappedargumentsobject', - DateFromTime: 'https://ecma-international.org/ecma-262/10.0/#sec-date-number', - DateString: 'https://ecma-international.org/ecma-262/10.0/#sec-datestring', - Day: 'https://ecma-international.org/ecma-262/10.0/#eqn-Day', - DayFromYear: 'https://ecma-international.org/ecma-262/10.0/#eqn-DaysFromYear', - DaysInYear: 'https://ecma-international.org/ecma-262/10.0/#eqn-DaysInYear', - DayWithinYear: 'https://ecma-international.org/ecma-262/10.0/#eqn-DayWithinYear', - Decode: 'https://ecma-international.org/ecma-262/10.0/#sec-decode', - DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/10.0/#sec-definepropertyorthrow', - DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/10.0/#sec-deletepropertyorthrow', - DetachArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-detacharraybuffer', - Encode: 'https://ecma-international.org/ecma-262/10.0/#sec-encode', - EnqueueJob: 'https://ecma-international.org/ecma-262/10.0/#sec-enqueuejob', - EnterCriticalSection: 'https://ecma-international.org/ecma-262/10.0/#sec-entercriticalsection', - EnumerableOwnPropertyNames: 'https://ecma-international.org/ecma-262/10.0/#sec-enumerableownpropertynames', - EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/10.0/#sec-enumerate-object-properties', - EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/10.0/#sec-escaperegexppattern', - EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/10.0/#sec-evaldeclarationinstantiation', - EvaluateCall: 'https://ecma-international.org/ecma-262/10.0/#sec-evaluatecall', - EvaluateNew: 'https://ecma-international.org/ecma-262/10.0/#sec-evaluatenew', - EventSet: 'https://ecma-international.org/ecma-262/10.0/#sec-event-set', - ExecuteModule: 'https://ecma-international.org/ecma-262/10.0/#sec-source-text-module-record-execute-module', - FlattenIntoArray: 'https://ecma-international.org/ecma-262/10.0/#sec-flattenintoarray', - floor: 'https://ecma-international.org/ecma-262/10.0/#eqn-floor', - ForBodyEvaluation: 'https://ecma-international.org/ecma-262/10.0/#sec-forbodyevaluation', - 'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset', - 'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind', - FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-frompropertydescriptor', - FulfillPromise: 'https://ecma-international.org/ecma-262/10.0/#sec-fulfillpromise', - FunctionAllocate: 'https://ecma-international.org/ecma-262/10.0/#sec-functionallocate', - FunctionCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-functioncreate', - FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/10.0/#sec-functiondeclarationinstantiation', - FunctionInitialize: 'https://ecma-international.org/ecma-262/10.0/#sec-functioninitialize', - GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-generatorfunctioncreate', - GeneratorResume: 'https://ecma-international.org/ecma-262/10.0/#sec-generatorresume', - GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/10.0/#sec-generatorresumeabrupt', - GeneratorStart: 'https://ecma-international.org/ecma-262/10.0/#sec-generatorstart', - GeneratorValidate: 'https://ecma-international.org/ecma-262/10.0/#sec-generatorvalidate', - GeneratorYield: 'https://ecma-international.org/ecma-262/10.0/#sec-generatoryield', - Get: 'https://ecma-international.org/ecma-262/10.0/#sec-get-o-p', - GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/10.0/#sec-getactivescriptormodule', - GetBase: 'https://ecma-international.org/ecma-262/10.0/#sec-getbase', - GetFunctionRealm: 'https://ecma-international.org/ecma-262/10.0/#sec-getfunctionrealm', - GetGeneratorKind: 'https://ecma-international.org/ecma-262/10.0/#sec-getgeneratorkind', - GetGlobalObject: 'https://ecma-international.org/ecma-262/10.0/#sec-getglobalobject', - GetIdentifierReference: 'https://ecma-international.org/ecma-262/10.0/#sec-getidentifierreference', - GetIterator: 'https://ecma-international.org/ecma-262/10.0/#sec-getiterator', - GetMethod: 'https://ecma-international.org/ecma-262/10.0/#sec-getmethod', - GetModifySetValueInBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-getmodifysetvalueinbuffer', - GetModuleNamespace: 'https://ecma-international.org/ecma-262/10.0/#sec-getmodulenamespace', - GetNewTarget: 'https://ecma-international.org/ecma-262/10.0/#sec-getnewtarget', - GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/10.0/#sec-getownpropertykeys', - GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-getprototypefromconstructor', - GetReferencedName: 'https://ecma-international.org/ecma-262/10.0/#sec-getreferencedname', - GetSubstitution: 'https://ecma-international.org/ecma-262/10.0/#sec-getsubstitution', - GetSuperConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-getsuperconstructor', - GetTemplateObject: 'https://ecma-international.org/ecma-262/10.0/#sec-gettemplateobject', - GetThisEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-getthisenvironment', - GetThisValue: 'https://ecma-international.org/ecma-262/10.0/#sec-getthisvalue', - GetV: 'https://ecma-international.org/ecma-262/10.0/#sec-getv', - GetValue: 'https://ecma-international.org/ecma-262/10.0/#sec-getvalue', - GetValueFromBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-getvaluefrombuffer', - GetViewValue: 'https://ecma-international.org/ecma-262/10.0/#sec-getviewvalue', - GetWaiterList: 'https://ecma-international.org/ecma-262/10.0/#sec-getwaiterlist', - GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/10.0/#sec-globaldeclarationinstantiation', - 'happens-before': 'https://ecma-international.org/ecma-262/10.0/#sec-happens-before', - HasOwnProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-hasownproperty', - HasPrimitiveBase: 'https://ecma-international.org/ecma-262/10.0/#sec-hasprimitivebase', - HasProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-hasproperty', - 'host-synchronizes-with': 'https://ecma-international.org/ecma-262/10.0/#sec-host-synchronizes-with', - HostEnsureCanCompileStrings: 'https://ecma-international.org/ecma-262/10.0/#sec-hostensurecancompilestrings', - HostEventSet: 'https://ecma-international.org/ecma-262/10.0/#sec-hosteventset', - HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/10.0/#sec-host-promise-rejection-tracker', - HostReportErrors: 'https://ecma-international.org/ecma-262/10.0/#sec-host-report-errors', - HostResolveImportedModule: 'https://ecma-international.org/ecma-262/10.0/#sec-hostresolveimportedmodule', - HourFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-HourFromTime', - IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/10.0/#sec-ifabruptrejectpromise', - ImportedLocalNames: 'https://ecma-international.org/ecma-262/10.0/#sec-importedlocalnames', - InitializeBoundName: 'https://ecma-international.org/ecma-262/10.0/#sec-initializeboundname', - InitializeEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-source-text-module-record-initialize-environment', - InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/10.0/#sec-initializehostdefinedrealm', - InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/10.0/#sec-initializereferencedbinding', - InLeapYear: 'https://ecma-international.org/ecma-262/10.0/#eqn-InLeapYear', - InnerModuleEvaluation: 'https://ecma-international.org/ecma-262/10.0/#sec-innermoduleevaluation', - InnerModuleInstantiation: 'https://ecma-international.org/ecma-262/10.0/#sec-innermoduleinstantiation', - InstanceofOperator: 'https://ecma-international.org/ecma-262/10.0/#sec-instanceofoperator', - IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/10.0/#sec-integerindexedelementget', - IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/10.0/#sec-integerindexedelementset', - IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-integerindexedobjectcreate', - InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-internalizejsonproperty', - Invoke: 'https://ecma-international.org/ecma-262/10.0/#sec-invoke', - IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-isaccessordescriptor', - IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/10.0/#sec-isanonymousfunctiondefinition', - IsArray: 'https://ecma-international.org/ecma-262/10.0/#sec-isarray', - IsCallable: 'https://ecma-international.org/ecma-262/10.0/#sec-iscallable', - IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-iscompatiblepropertydescriptor', - IsConcatSpreadable: 'https://ecma-international.org/ecma-262/10.0/#sec-isconcatspreadable', - IsConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-isconstructor', - IsDataDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-isdatadescriptor', - IsDetachedBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-isdetachedbuffer', - IsExtensible: 'https://ecma-international.org/ecma-262/10.0/#sec-isextensible-o', - IsGenericDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-isgenericdescriptor', - IsInTailPosition: 'https://ecma-international.org/ecma-262/10.0/#sec-isintailposition', - IsInteger: 'https://ecma-international.org/ecma-262/10.0/#sec-isinteger', - IsLabelledFunction: 'https://ecma-international.org/ecma-262/10.0/#sec-islabelledfunction', - IsPromise: 'https://ecma-international.org/ecma-262/10.0/#sec-ispromise', - IsPropertyKey: 'https://ecma-international.org/ecma-262/10.0/#sec-ispropertykey', - IsPropertyReference: 'https://ecma-international.org/ecma-262/10.0/#sec-ispropertyreference', - IsRegExp: 'https://ecma-international.org/ecma-262/10.0/#sec-isregexp', - IsSharedArrayBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-issharedarraybuffer', - IsStrictReference: 'https://ecma-international.org/ecma-262/10.0/#sec-isstrictreference', - IsStringPrefix: 'https://ecma-international.org/ecma-262/10.0/#sec-isstringprefix', - IsSuperReference: 'https://ecma-international.org/ecma-262/10.0/#sec-issuperreference', - IsUnresolvableReference: 'https://ecma-international.org/ecma-262/10.0/#sec-isunresolvablereference', - IsWordChar: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-iswordchar-abstract-operation', - IterableToList: 'https://ecma-international.org/ecma-262/10.0/#sec-iterabletolist', - IteratorClose: 'https://ecma-international.org/ecma-262/10.0/#sec-iteratorclose', - IteratorComplete: 'https://ecma-international.org/ecma-262/10.0/#sec-iteratorcomplete', - IteratorNext: 'https://ecma-international.org/ecma-262/10.0/#sec-iteratornext', - IteratorStep: 'https://ecma-international.org/ecma-262/10.0/#sec-iteratorstep', - IteratorValue: 'https://ecma-international.org/ecma-262/10.0/#sec-iteratorvalue', - LeaveCriticalSection: 'https://ecma-international.org/ecma-262/10.0/#sec-leavecriticalsection', - LocalTime: 'https://ecma-international.org/ecma-262/10.0/#sec-localtime', - LoopContinues: 'https://ecma-international.org/ecma-262/10.0/#sec-loopcontinues', - MakeArgGetter: 'https://ecma-international.org/ecma-262/10.0/#sec-makearggetter', - MakeArgSetter: 'https://ecma-international.org/ecma-262/10.0/#sec-makeargsetter', - MakeClassConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-makeclassconstructor', - MakeConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-makeconstructor', - MakeDate: 'https://ecma-international.org/ecma-262/10.0/#sec-makedate', - MakeDay: 'https://ecma-international.org/ecma-262/10.0/#sec-makeday', - MakeMethod: 'https://ecma-international.org/ecma-262/10.0/#sec-makemethod', - MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/10.0/#sec-makesuperpropertyreference', - MakeTime: 'https://ecma-international.org/ecma-262/10.0/#sec-maketime', - max: 'https://ecma-international.org/ecma-262/10.0/#eqn-max', - 'memory-order': 'https://ecma-international.org/ecma-262/10.0/#sec-memory-order', - min: 'https://ecma-international.org/ecma-262/10.0/#eqn-min', - MinFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-MinFromTime', - ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-modulenamespacecreate', - modulo: 'https://ecma-international.org/ecma-262/10.0/#eqn-modulo', - MonthFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-MonthFromTime', - msFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-msFromTime', - NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-newdeclarativeenvironment', - NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-newfunctionenvironment', - NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-newglobalenvironment', - NewModuleEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-newmoduleenvironment', - NewObjectEnvironment: 'https://ecma-international.org/ecma-262/10.0/#sec-newobjectenvironment', - NewPromiseCapability: 'https://ecma-international.org/ecma-262/10.0/#sec-newpromisecapability', - NormalCompletion: 'https://ecma-international.org/ecma-262/10.0/#sec-normalcompletion', - NotifyWaiter: 'https://ecma-international.org/ecma-262/10.0/#sec-notifywaiter', - NumberToRawBytes: 'https://ecma-international.org/ecma-262/10.0/#sec-numbertorawbytes', - NumberToString: 'https://ecma-international.org/ecma-262/10.0/#sec-tostring-applied-to-the-number-type', - ObjectCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-objectcreate', - ObjectDefineProperties: 'https://ecma-international.org/ecma-262/10.0/#sec-objectdefineproperties', - OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarycallbindthis', - OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarycallevaluatebody', - OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarycreatefromconstructor', - OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarydefineownproperty', - OrdinaryDelete: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarydelete', - OrdinaryGet: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryget', - OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarygetownproperty', - OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarygetprototypeof', - OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryhasinstance', - OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryhasproperty', - OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryisextensible', - OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryownpropertykeys', - OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarypreventextensions', - OrdinarySet: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinaryset', - OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarysetprototypeof', - OrdinarySetWithOwnDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarysetwithowndescriptor', - OrdinaryToPrimitive: 'https://ecma-international.org/ecma-262/10.0/#sec-ordinarytoprimitive', - ParseModule: 'https://ecma-international.org/ecma-262/10.0/#sec-parsemodule', - ParseScript: 'https://ecma-international.org/ecma-262/10.0/#sec-parse-script', - PerformEval: 'https://ecma-international.org/ecma-262/10.0/#sec-performeval', - PerformPromiseAll: 'https://ecma-international.org/ecma-262/10.0/#sec-performpromiseall', - PerformPromiseRace: 'https://ecma-international.org/ecma-262/10.0/#sec-performpromiserace', - PerformPromiseThen: 'https://ecma-international.org/ecma-262/10.0/#sec-performpromisethen', - PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/10.0/#sec-prepareforordinarycall', - PrepareForTailCall: 'https://ecma-international.org/ecma-262/10.0/#sec-preparefortailcall', - PromiseReactionJob: 'https://ecma-international.org/ecma-262/10.0/#sec-promisereactionjob', - PromiseResolve: 'https://ecma-international.org/ecma-262/10.0/#sec-promise-resolve', - PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/10.0/#sec-promiseresolvethenablejob', - ProxyCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-proxycreate', - PutValue: 'https://ecma-international.org/ecma-262/10.0/#sec-putvalue', - QuoteJSONString: 'https://ecma-international.org/ecma-262/10.0/#sec-quotejsonstring', - RawBytesToNumber: 'https://ecma-international.org/ecma-262/10.0/#sec-rawbytestonumber', - 'reads-bytes-from': 'https://ecma-international.org/ecma-262/10.0/#sec-reads-bytes-from', - 'reads-from': 'https://ecma-international.org/ecma-262/10.0/#sec-reads-from', - RegExpAlloc: 'https://ecma-international.org/ecma-262/10.0/#sec-regexpalloc', - RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/10.0/#sec-regexpbuiltinexec', - RegExpCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-regexpcreate', - RegExpExec: 'https://ecma-international.org/ecma-262/10.0/#sec-regexpexec', - RegExpInitialize: 'https://ecma-international.org/ecma-262/10.0/#sec-regexpinitialize', - RejectPromise: 'https://ecma-international.org/ecma-262/10.0/#sec-rejectpromise', - RemoveWaiter: 'https://ecma-international.org/ecma-262/10.0/#sec-removewaiter', - RemoveWaiters: 'https://ecma-international.org/ecma-262/10.0/#sec-removewaiters', - RepeatMatcher: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-repeatmatcher-abstract-operation', - RequireObjectCoercible: 'https://ecma-international.org/ecma-262/10.0/#sec-requireobjectcoercible', - ResolveBinding: 'https://ecma-international.org/ecma-262/10.0/#sec-resolvebinding', - ResolveThisBinding: 'https://ecma-international.org/ecma-262/10.0/#sec-resolvethisbinding', - ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/10.0/#sec-returnifabrupt', - RunJobs: 'https://ecma-international.org/ecma-262/10.0/#sec-runjobs', - SameValue: 'https://ecma-international.org/ecma-262/10.0/#sec-samevalue', - SameValueNonNumber: 'https://ecma-international.org/ecma-262/10.0/#sec-samevaluenonnumber', - SameValueZero: 'https://ecma-international.org/ecma-262/10.0/#sec-samevaluezero', - ScriptEvaluation: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-scriptevaluation', - ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/10.0/#sec-scriptevaluationjob', - SecFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-SecFromTime', - SerializeJSONArray: 'https://ecma-international.org/ecma-262/10.0/#sec-serializejsonarray', - SerializeJSONObject: 'https://ecma-international.org/ecma-262/10.0/#sec-serializejsonobject', - SerializeJSONProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-serializejsonproperty', - Set: 'https://ecma-international.org/ecma-262/10.0/#sec-set-o-p-v-throw', - SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/10.0/#sec-setdefaultglobalbindings', - SetFunctionLength: 'https://ecma-international.org/ecma-262/10.0/#sec-setfunctionlength', - SetFunctionName: 'https://ecma-international.org/ecma-262/10.0/#sec-setfunctionname', - SetImmutablePrototype: 'https://ecma-international.org/ecma-262/10.0/#sec-set-immutable-prototype', - SetIntegrityLevel: 'https://ecma-international.org/ecma-262/10.0/#sec-setintegritylevel', - SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/10.0/#sec-setrealmglobalobject', - SetValueInBuffer: 'https://ecma-international.org/ecma-262/10.0/#sec-setvalueinbuffer', - SetViewValue: 'https://ecma-international.org/ecma-262/10.0/#sec-setviewvalue', - SharedDataBlockEventSet: 'https://ecma-international.org/ecma-262/10.0/#sec-sharedatablockeventset', - SortCompare: 'https://ecma-international.org/ecma-262/10.0/#sec-sortcompare', - SpeciesConstructor: 'https://ecma-international.org/ecma-262/10.0/#sec-speciesconstructor', - SplitMatch: 'https://ecma-international.org/ecma-262/10.0/#sec-splitmatch', - 'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/10.0/#sec-strict-equality-comparison', - StringCreate: 'https://ecma-international.org/ecma-262/10.0/#sec-stringcreate', - StringGetOwnProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-stringgetownproperty', - Suspend: 'https://ecma-international.org/ecma-262/10.0/#sec-suspend', - SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/10.0/#sec-symboldescriptivestring', - SynchronizeEventSet: 'https://ecma-international.org/ecma-262/10.0/#sec-synchronizeeventset', - 'synchronizes-with': 'https://ecma-international.org/ecma-262/10.0/#sec-synchronizes-with', - TestIntegrityLevel: 'https://ecma-international.org/ecma-262/10.0/#sec-testintegritylevel', - thisBooleanValue: 'https://ecma-international.org/ecma-262/10.0/#sec-thisbooleanvalue', - thisNumberValue: 'https://ecma-international.org/ecma-262/10.0/#sec-thisnumbervalue', - thisStringValue: 'https://ecma-international.org/ecma-262/10.0/#sec-thisstringvalue', - thisSymbolValue: 'https://ecma-international.org/ecma-262/10.0/#sec-thissymbolvalue', - thisTimeValue: 'https://ecma-international.org/ecma-262/10.0/#sec-thistimevalue', - ThrowCompletion: 'https://ecma-international.org/ecma-262/10.0/#sec-throwcompletion', - TimeClip: 'https://ecma-international.org/ecma-262/10.0/#sec-timeclip', - TimeFromYear: 'https://ecma-international.org/ecma-262/10.0/#eqn-TimeFromYear', - TimeString: 'https://ecma-international.org/ecma-262/10.0/#sec-timestring', - TimeWithinDay: 'https://ecma-international.org/ecma-262/10.0/#eqn-TimeWithinDay', - TimeZoneString: 'https://ecma-international.org/ecma-262/10.0/#sec-timezoneestring', - ToBoolean: 'https://ecma-international.org/ecma-262/10.0/#sec-toboolean', - ToDateString: 'https://ecma-international.org/ecma-262/10.0/#sec-todatestring', - ToIndex: 'https://ecma-international.org/ecma-262/10.0/#sec-toindex', - ToInt16: 'https://ecma-international.org/ecma-262/10.0/#sec-toint16', - ToInt32: 'https://ecma-international.org/ecma-262/10.0/#sec-toint32', - ToInt8: 'https://ecma-international.org/ecma-262/10.0/#sec-toint8', - ToInteger: 'https://ecma-international.org/ecma-262/10.0/#sec-tointeger', - ToLength: 'https://ecma-international.org/ecma-262/10.0/#sec-tolength', - ToNumber: 'https://ecma-international.org/ecma-262/10.0/#sec-tonumber', - ToObject: 'https://ecma-international.org/ecma-262/10.0/#sec-toobject', - TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/10.0/#sec-toplevelmoduleevaluationjob', - ToPrimitive: 'https://ecma-international.org/ecma-262/10.0/#sec-toprimitive', - ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-topropertydescriptor', - ToPropertyKey: 'https://ecma-international.org/ecma-262/10.0/#sec-topropertykey', - ToString: 'https://ecma-international.org/ecma-262/10.0/#sec-tostring', - ToUint16: 'https://ecma-international.org/ecma-262/10.0/#sec-touint16', - ToUint32: 'https://ecma-international.org/ecma-262/10.0/#sec-touint32', - ToUint8: 'https://ecma-international.org/ecma-262/10.0/#sec-touint8', - ToUint8Clamp: 'https://ecma-international.org/ecma-262/10.0/#sec-touint8clamp', - TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/10.0/#sec-triggerpromisereactions', - TrimString: 'https://ecma-international.org/ecma-262/10.0/#sec-trimstring', - Type: 'https://ecma-international.org/ecma-262/10.0/#sec-ecmascript-data-types-and-values', - TypedArrayCreate: 'https://ecma-international.org/ecma-262/10.0/#typedarray-create', - TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/10.0/#typedarray-species-create', - UnicodeEscape: 'https://ecma-international.org/ecma-262/10.0/#sec-unicodeescape', - UnicodeMatchProperty: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-unicodematchproperty-p', - UnicodeMatchPropertyValue: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-unicodematchpropertyvalue-p-v', - UpdateEmpty: 'https://ecma-international.org/ecma-262/10.0/#sec-updateempty', - UTC: 'https://ecma-international.org/ecma-262/10.0/#sec-utc-t', - UTF16Decode: 'https://ecma-international.org/ecma-262/10.0/#sec-utf16decode', - UTF16Encoding: 'https://ecma-international.org/ecma-262/10.0/#sec-utf16encoding', - ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/10.0/#sec-validateandapplypropertydescriptor', - ValidateAtomicAccess: 'https://ecma-international.org/ecma-262/10.0/#sec-validateatomicaccess', - ValidateSharedIntegerTypedArray: 'https://ecma-international.org/ecma-262/10.0/#sec-validatesharedintegertypedarray', - ValidateTypedArray: 'https://ecma-international.org/ecma-262/10.0/#sec-validatetypedarray', - ValueOfReadEvent: 'https://ecma-international.org/ecma-262/10.0/#sec-valueofreadevent', - WeekDay: 'https://ecma-international.org/ecma-262/10.0/#sec-week-day', - WordCharacters: 'https://ecma-international.org/ecma-262/10.0/#sec-runtime-semantics-wordcharacters-abstract-operation', - YearFromTime: 'https://ecma-international.org/ecma-262/10.0/#eqn-YearFromTime' -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/package.json b/node_modules/object.assign/node_modules/es-abstract/package.json deleted file mode 100644 index df6c20ac0..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "name": "es-abstract", - "version": "1.18.0-next.0", - "author": { - "name": "Jordan Harband", - "email": "ljharb@gmail.com", - "url": "http://ljharb.codes" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "contributors": [ - { - "name": "Jordan Harband", - "email": "ljharb@gmail.com", - "url": "http://ljharb.codes" - } - ], - "description": "ECMAScript spec abstract operations.", - "license": "MIT", - "main": "index.js", - "scripts": { - "prespackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs rm || true", - "spackle": "node operations/spackle 1", - "postspackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs git add", - "prepublish": "safe-publish-latest && (not-in-publish || npm run spackle)", - "pretest": "npm run lint", - "test": "npm run tests-only", - "posttest": "aud --production", - "tests-only": "node test", - "coverage": "nyc npm run tests-only >/dev/null", - "postcoverage": "nyc report", - "lint": "eslint .", - "eccheck": "eclint check *.js **/*.js > /dev/null" - }, - "repository": { - "type": "git", - "url": "git://github.com/ljharb/es-abstract.git" - }, - "keywords": [ - "ECMAScript", - "ES", - "abstract", - "operation", - "abstract operation", - "JavaScript", - "ES5", - "ES6", - "ES7" - ], - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "devDependencies": { - "@ljharb/eslint-config": "^17.1.0", - "array.prototype.indexof": "^1.0.0", - "aud": "^1.1.2", - "cheerio": "^1.0.0-rc.3", - "diff": "^4.0.2", - "eclint": "^2.8.1", - "eslint": "^7.7.0", - "foreach": "^2.0.5", - "functions-have-names": "^1.2.1", - "has-bigints": "^1.0.0", - "has-strict-mode": "^1.0.0", - "in-publish": "^2.0.1", - "make-arrow-function": "^1.2.0", - "make-async-function": "^1.0.0", - "make-async-generator-function": "^1.0.0", - "make-generator-function": "^2.0.0", - "nyc": "^10.3.2", - "object-is": "^1.1.2", - "object.fromentries": "^2.0.2", - "safe-publish-latest": "^1.1.4", - "tape": "^5.0.1" - }, - "testling": { - "files": "test/index.js", - "browsers": [ - "iexplore/6.0..latest", - "firefox/3.0..6.0", - "firefox/15.0..latest", - "firefox/nightly", - "chrome/4.0..10.0", - "chrome/20.0..latest", - "chrome/canary", - "opera/10.0..latest", - "opera/next", - "safari/4.0..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2" - ] - }, - "engines": { - "node": ">= 0.4" - }, - "greenkeeper": { - "//": "nyc is ignored because it requires node 4+, and we support older than that", - "ignore": [ - "nyc" - ] - } -} \ No newline at end of file diff --git a/node_modules/object.assign/node_modules/es-abstract/test/GetIntrinsic.js b/node_modules/object.assign/node_modules/es-abstract/test/GetIntrinsic.js deleted file mode 100644 index 4fda1231a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/GetIntrinsic.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -var GetIntrinsic = require('../GetIntrinsic'); - -var test = require('tape'); -var forEach = require('foreach'); -var debug = require('object-inspect'); -var generatorFns = require('make-generator-function')(); -var asyncFns = require('make-async-function').list(); -var asyncGenFns = require('make-async-generator-function')(); - -var callBound = require('../helpers/callBound'); -var v = require('./helpers/values'); -var $gOPD = require('../helpers/getOwnPropertyDescriptor'); - -var $isProto = callBound('%Object.prototype.isPrototypeOf%'); - -test('export', function (t) { - t.equal(typeof GetIntrinsic, 'function', 'it is a function'); - t.equal(GetIntrinsic.length, 2, 'function has length of 2'); - - t.end(); -}); - -test('throws', function (t) { - t['throws']( - function () { GetIntrinsic('not an intrinsic'); }, - SyntaxError, - 'nonexistent intrinsic throws a syntax error' - ); - - t['throws']( - function () { GetIntrinsic(''); }, - TypeError, - 'empty string intrinsic throws a type error' - ); - - t['throws']( - function () { GetIntrinsic('.'); }, - SyntaxError, - '"just a dot" intrinsic throws a syntax error' - ); - - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { GetIntrinsic(nonString); }, - TypeError, - debug(nonString) + ' is not a String' - ); - }); - - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { GetIntrinsic('%', nonBoolean); }, - TypeError, - debug(nonBoolean) + ' is not a Boolean' - ); - }); - - forEach([ - 'toString', - 'propertyIsEnumerable', - 'hasOwnProperty' - ], function (objectProtoMember) { - t['throws']( - function () { GetIntrinsic(objectProtoMember); }, - SyntaxError, - debug(objectProtoMember) + ' is not an intrinsic' - ); - }); - - t.end(); -}); - -test('base intrinsics', function (t) { - t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object'); - t.equal(GetIntrinsic('Object'), Object, 'Object yields Object'); - t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array'); - t.equal(GetIntrinsic('Array'), Array, 'Array yields Array'); - - t.end(); -}); - -test('dotted paths', function (t) { - t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString'); - t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString'); - t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push'); - t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push'); - - test('underscore paths are aliases for dotted paths', function (st) { - var original = GetIntrinsic('%ObjProto_toString%'); - - forEach([ - '%Object.prototype.toString%', - 'Object.prototype.toString', - '%ObjectPrototype.toString%', - 'ObjectPrototype.toString', - '%ObjProto_toString%', - 'ObjProto_toString' - ], function (name) { - // eslint-disable-next-line no-extend-native - Object.prototype.toString = function toString() { - return original.apply(this, arguments); - }; - st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString'); - }); - - // eslint-disable-next-line no-extend-native - Object.prototype.toString = original; - st.end(); - }); - - test('dotted paths cache', function (st) { - var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%'); - - forEach([ - '%Object.prototype.propertyIsEnumerable%', - 'Object.prototype.propertyIsEnumerable', - '%ObjectPrototype.propertyIsEnumerable%', - 'ObjectPrototype.propertyIsEnumerable' - ], function (name) { - // eslint-disable-next-line no-extend-native - Object.prototype.propertyIsEnumerable = function propertyIsEnumerable() { - return original.apply(this, arguments); - }; - st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable'); - }); - - // eslint-disable-next-line no-extend-native - Object.prototype.propertyIsEnumerable = original; - st.end(); - }); - - test('dotted path reports correct error', function (st) { - st['throws'](function () { - GetIntrinsic('%NonExistentIntrinsic.prototype.property%'); - }, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%'); - - st['throws'](function () { - GetIntrinsic('%NonExistentIntrinsicPrototype.property%'); - }, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%'); - - st.end(); - }); - - t.end(); -}); - -test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) { - var actual = $gOPD(Map.prototype, 'size'); - t.ok(actual, 'Map.prototype.size has a descriptor'); - t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function'); - t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it'); - t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it'); - - t.end(); -}); - -test('generator functions', { skip: !generatorFns.length }, function (t) { - var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%'); - var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%'); - var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%'); - - forEach(generatorFns, function (genFn) { - var fnName = genFn.name; - fnName = fnName ? "'" + fnName + "'" : 'genFn'; - - t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%'); - t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName); - t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype'); - }); - - t.end(); -}); - -test('async functions', { skip: !asyncFns.length }, function (t) { - var $AsyncFunction = GetIntrinsic('%AsyncFunction%'); - var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%'); - - forEach(asyncFns, function (asyncFn) { - var fnName = asyncFn.name; - fnName = fnName ? "'" + fnName + "'" : 'asyncFn'; - - t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%'); - t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName); - }); - - t.end(); -}); - -test('async generator functions', { skip: !asyncGenFns.length }, function (t) { - var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%'); - var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%'); - var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%'); - - forEach(asyncGenFns, function (asyncGenFn) { - var fnName = asyncGenFn.name; - fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn'; - - t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%'); - t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName); - t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype'); - }); - - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/diffOps.js b/node_modules/object.assign/node_modules/es-abstract/test/diffOps.js deleted file mode 100644 index 602098dd3..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/diffOps.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var keys = require('object-keys'); -var forEach = require('foreach'); -var indexOf = require('array.prototype.indexof'); - -module.exports = function diffOperations(actual, expected, expectedMissing) { - var actualKeys = keys(actual); - var expectedKeys = keys(expected); - - var extra = []; - var missing = []; - forEach(actualKeys, function (op) { - if (!(op in expected)) { - extra.push(op); - } else if (indexOf(expectedMissing, op) !== -1) { - extra.push(op); - } - }); - forEach(expectedKeys, function (op) { - if (typeof actual[op] !== 'function' && indexOf(expectedMissing, op) === -1) { - missing.push(op); - } - }); - - return { missing: missing, extra: extra }; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2015.js b/node_modules/object.assign/node_modules/es-abstract/test/es2015.js deleted file mode 100644 index d26738483..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2015.js +++ /dev/null @@ -1,146 +0,0 @@ -'use strict'; - -var ES = require('../').ES2015; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2015'); - -var expectedMissing = [ - 'AddRestrictedFunctionProperties', - 'AllocateArrayBuffer', - 'AllocateTypedArray', - 'BoundFunctionCreate', - 'Canonicalize', - 'CharacterRange', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateIntrinsics', - 'CreateListIterator', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateSetIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateDirectCall', - 'EvaluateNew', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetBase', - 'GetFunctionRealm', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetReferencedName', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'HasPrimitiveBase', - 'HostResolveImportedModule', - 'ImportedLocalNames', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsPropertyReference', - 'IsStrictReference', - 'IsSuperReference', - 'IsUnresolvableReference', - 'IsWordChar', - 'LocalTime', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'min', - 'ModuleNamespaceCreate', - 'msPerDay', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NormalCompletion', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'ParseModule', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'ProxyCreate', - 'PutValue', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RepeatMatcher', - 'ResolveBinding', - 'ResolveThisBinding', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'sign', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'StringGetIndexProperty', - 'TriggerPromiseReactions', - 'TypedArrayFrom', - 'UpdateEmpty', - 'UTC' -]; - -require('./tests').es2015(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2015); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2016.js b/node_modules/object.assign/node_modules/es-abstract/test/es2016.js deleted file mode 100644 index 8815db64a..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2016.js +++ /dev/null @@ -1,168 +0,0 @@ -'use strict'; - -var ES = require('../').ES2016; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2016'); - -var expectedMissing = [ - 'AddRestrictedFunctionProperties', - 'AllocateArrayBuffer', - 'AllocateTypedArray', - 'AllocateTypedArrayBuffer', - 'BlockDeclarationInstantiation', - 'BoundFunctionCreate', - 'Canonicalize', - 'CharacterRange', - 'CharacterRangeOrUnion', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateArrayIterator', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateIntrinsics', - 'CreateListIterator', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateResolvingFunctions', - 'CreateSetIterator', - 'CreateStringIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EnumerateObjectProperties', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateDirectCall', - 'EvaluateNew', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionDeclarationInstantiation', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetActiveScriptOrModule', - 'GetFunctionRealm', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'GlobalDeclarationInstantiation', - 'HostPromiseRejectionTracker', - 'HostReportErrors', - 'HostResolveImportedModule', - 'IfAbruptRejectPromise', - 'ImportedLocalNames', - 'InitializeBoundName', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsWordChar', - 'LocalTime', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'min', - 'ModuleNamespaceCreate', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NextJob', - 'NormalCompletion', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'OrdinaryDelete', - 'OrdinaryGet', - 'OrdinaryIsExtensible', - 'OrdinaryOwnPropertyKeys', - 'OrdinaryPreventExtensions', - 'OrdinarySet', - 'ParseModule', - 'ParseScript', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'PromiseReactionJob', - 'PromiseResolveThenableJob', - 'ProxyCreate', - 'PutValue', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RepeatMatcher', - 'ResolveBinding', - 'ResolveThisBinding', - 'ReturnIfAbrupt', - 'ScriptEvaluation', - 'ScriptEvaluationJob', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'TopLevelModuleEvaluationJob', - 'ToString Applied to the Number Type', - 'TriggerPromiseReactions', - 'TypedArrayCreate', - 'TypedArraySpeciesCreate', - 'UpdateEmpty', - 'UTC', // depends on LocalTZA - 'UTF16Decode', - 'ValidateTypedArray' -]; - -require('./tests').es2016(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2016); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2017.js b/node_modules/object.assign/node_modules/es-abstract/test/es2017.js deleted file mode 100644 index e11c5d40c..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2017.js +++ /dev/null @@ -1,214 +0,0 @@ -'use strict'; - -var ES = require('../').ES2017; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2017'); - -var expectedMissing = [ - 'AddWaiter', - 'agent-order', - 'AgentCanSuspend', - 'AgentSignifier', - 'AllocateArrayBuffer', - 'AllocateSharedArrayBuffer', - 'AllocateTypedArray', - 'AllocateTypedArrayBuffer', - 'AsyncFunctionAwait', - 'AsyncFunctionCreate', - 'AsyncFunctionStart', - 'AtomicLoad', - 'AtomicReadModifyWrite', - 'BlockDeclarationInstantiation', - 'BoundFunctionCreate', - 'Canonicalize', - 'CharacterRange', - 'CharacterRangeOrUnion', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'ComposeWriteEventBytes', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateArrayIterator', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateIntrinsics', - 'CreateListIterator', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateResolvingFunctions', - 'CreateSetIterator', - 'CreateSharedByteDataBlock', - 'CreateStringIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EnterCriticalSection', - 'EnumerateObjectProperties', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateDirectCall', - 'EvaluateNew', - 'EventSet', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionDeclarationInstantiation', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetActiveScriptOrModule', - 'GetBase', - 'GetFunctionRealm', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModifySetValueInBuffer', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetReferencedName', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'GetWaiterList', - 'GlobalDeclarationInstantiation', - 'happens-before', - 'HasPrimitiveBase', - 'host-synchronizes-with', - 'HostEnsureCanCompileStrings', - 'HostEventSet', - 'HostPromiseRejectionTracker', - 'HostReportErrors', - 'HostResolveImportedModule', - 'IfAbruptRejectPromise', - 'ImportedLocalNames', - 'InitializeBoundName', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsPropertyReference', - 'IsSharedArrayBuffer', - 'IsStrictReference', - 'IsSuperReference', - 'IsUnresolvableReference', - 'IsWordChar', - 'LeaveCriticalSection', - 'LocalTime', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'memory-order', - 'min', - 'ModuleNamespaceCreate', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NormalCompletion', - 'NumberToRawBytes', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'OrdinaryDelete', - 'OrdinaryGet', - 'OrdinaryIsExtensible', - 'OrdinaryOwnPropertyKeys', - 'OrdinaryPreventExtensions', - 'OrdinarySet', - 'OrdinaryToPrimitive', - 'ParseModule', - 'ParseScript', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'PromiseReactionJob', - 'PromiseResolveThenableJob', - 'ProxyCreate', - 'PutValue', - 'RawBytesToNumber', - 'reads-bytes-from', - 'reads-from', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RemoveWaiter', - 'RemoveWaiters', - 'RepeatMatcher', - 'ResolveBinding', - 'ResolveThisBinding', - 'ReturnIfAbrupt', - 'RunJobs', - 'ScriptEvaluation', - 'ScriptEvaluationJob', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetImmutablePrototype', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'SharedDataBlockEventSet', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'Suspend', - 'TopLevelModuleEvaluationJob', - 'ToString Applied to the Number Type', - 'TriggerPromiseReactions', - 'TypedArrayCreate', - 'TypedArraySpeciesCreate', - 'UpdateEmpty', - 'UTC', // depends on LocalTZA'UTC', - 'UTF16Decode', - 'ValidateAtomicAccess', - 'ValidateSharedIntegerTypedArray', - 'ValidateTypedArray', - 'ValueOfReadEvent', - 'WakeWaiter', - 'WordCharacters', // depends on Canonicalize - 'AddRestrictedFunctionProperties', - 'synchronizes-with' -]; - -require('./tests').es2017(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2017); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2018.js b/node_modules/object.assign/node_modules/es-abstract/test/es2018.js deleted file mode 100644 index 36a19226e..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2018.js +++ /dev/null @@ -1,233 +0,0 @@ -'use strict'; - -var ES = require('../').ES2018; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2018'); - -var expectedMissing = [ - 'AddRestrictedFunctionProperties', - 'AddWaiter', - 'agent-order', - 'AgentCanSuspend', - 'AgentSignifier', - 'AllocateArrayBuffer', - 'AllocateSharedArrayBuffer', - 'AllocateTypedArray', - 'AllocateTypedArrayBuffer', - 'AsyncFunctionCreate', - 'AsyncFunctionStart', - 'AsyncGeneratorEnqueue', - 'AsyncGeneratorFunctionCreate', - 'AsyncGeneratorReject', - 'AsyncGeneratorResolve', - 'AsyncGeneratorResumeNext', - 'AsyncGeneratorStart', - 'AsyncGeneratorYield', - 'AsyncIteratorClose', - 'AtomicLoad', - 'AtomicReadModifyWrite', - 'Await', - 'BackreferenceMatcher', - 'BlockDeclarationInstantiation', - 'BoundFunctionCreate', - 'Canonicalize', - 'CaseClauseIsSelected', - 'CharacterRange', - 'CharacterRangeOrUnion', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'ComposeWriteEventBytes', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateArrayIterator', - 'CreateAsyncFromSyncIterator', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateIntrinsics', - 'CreateListIteratorRecord', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateResolvingFunctions', - 'CreateSetIterator', - 'CreateSharedByteDataBlock', - 'CreateStringIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EnterCriticalSection', - 'EnumerateObjectProperties', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateNew', - 'EventSet', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionDeclarationInstantiation', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetActiveScriptOrModule', - 'GetBase', - 'GetFunctionRealm', - 'GetGeneratorKind', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModifySetValueInBuffer', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetReferencedName', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'GetWaiterList', - 'GlobalDeclarationInstantiation', - 'happens-before', - 'HasPrimitiveBase', - 'host-synchronizes-with', - 'HostEnsureCanCompileStrings', - 'HostEventSet', - 'HostPromiseRejectionTracker', - 'HostReportErrors', - 'HostResolveImportedModule', - 'IfAbruptRejectPromise', - 'ImportedLocalNames', - 'InitializeBoundName', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'InnerModuleEvaluation', - 'InnerModuleInstantiation', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsPropertyReference', - 'IsSharedArrayBuffer', - 'IsStrictReference', - 'IsSuperReference', - 'IsUnresolvableReference', - 'IsWordChar', - 'LeaveCriticalSection', - 'LocalTime', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'memory-order', - 'min', - 'ModuleDeclarationEnvironmentSetup', - 'ModuleExecution', - 'ModuleNamespaceCreate', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NormalCompletion', - 'NumberToRawBytes', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'OrdinaryDelete', - 'OrdinaryGet', - 'OrdinaryIsExtensible', - 'OrdinaryOwnPropertyKeys', - 'OrdinaryPreventExtensions', - 'OrdinarySet', - 'OrdinarySetWithOwnDescriptor', - 'OrdinaryToPrimitive', - 'ParseModule', - 'ParseScript', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'PromiseReactionJob', - 'PromiseResolveThenableJob', - 'ProxyCreate', - 'PutValue', - 'RawBytesToNumber', - 'reads-bytes-from', - 'reads-from', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RemoveWaiter', - 'RemoveWaiters', - 'RepeatMatcher', - 'ResolveBinding', - 'ResolveThisBinding', - 'ReturnIfAbrupt', - 'RunJobs', - 'ScriptEvaluation', - 'ScriptEvaluationJob', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetImmutablePrototype', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'SharedDataBlockEventSet', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'Suspend', - 'synchronizes-with', - 'ThrowCompletion', - 'TimeZoneString', - 'TopLevelModuleEvaluationJob', - 'TriggerPromiseReactions', - 'TypedArrayCreate', - 'TypedArraySpeciesCreate', - 'UnicodeMatchProperty', - 'UnicodeMatchPropertyValue', - 'UpdateEmpty', - 'UTC', // depends on LocalTZA'UTC', - 'UTF16Decode', - 'ValidateAtomicAccess', - 'ValidateSharedIntegerTypedArray', - 'ValidateTypedArray', - 'ValueOfReadEvent', - 'WakeWaiter', - 'WordCharacters' // depends on Canonicalize -]; - -require('./tests').es2018(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2018); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2019.js b/node_modules/object.assign/node_modules/es-abstract/test/es2019.js deleted file mode 100644 index 1a738e4b5..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2019.js +++ /dev/null @@ -1,238 +0,0 @@ -'use strict'; - -var ES = require('../').ES2019; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2019'); - -var expectedMissing = [ - 'AddRestrictedFunctionProperties', - 'AddWaiter', - 'agent-order', - 'AgentCanSuspend', - 'AgentSignifier', - 'AllocateArrayBuffer', - 'AllocateSharedArrayBuffer', - 'AllocateTypedArray', - 'AllocateTypedArrayBuffer', - 'AsyncFromSyncIteratorContinuation', - 'AsyncFunctionCreate', - 'AsyncFunctionStart', - 'AsyncGeneratorEnqueue', - 'AsyncGeneratorFunctionCreate', - 'AsyncGeneratorReject', - 'AsyncGeneratorResolve', - 'AsyncGeneratorResumeNext', - 'AsyncGeneratorStart', - 'AsyncGeneratorYield', - 'AsyncIteratorClose', - 'AtomicLoad', - 'AtomicReadModifyWrite', - 'Await', - 'BackreferenceMatcher', - 'BlockDeclarationInstantiation', - 'BoundFunctionCreate', - 'Canonicalize', - 'CaseClauseIsSelected', - 'CharacterRange', - 'CharacterRangeOrUnion', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'ComposeWriteEventBytes', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateArrayIterator', - 'CreateAsyncFromSyncIterator', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateIntrinsics', - 'CreateListIteratorRecord', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateResolvingFunctions', - 'CreateSetIterator', - 'CreateSharedByteDataBlock', - 'CreateStringIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EnterCriticalSection', - 'EnumerateObjectProperties', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateNew', - 'EventSet', - 'ExecuteModule', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionDeclarationInstantiation', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetActiveScriptOrModule', - 'GetBase', - 'GetFunctionRealm', - 'GetGeneratorKind', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModifySetValueInBuffer', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetReferencedName', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'GetWaiterList', - 'GlobalDeclarationInstantiation', - 'happens-before', - 'HasPrimitiveBase', - 'host-synchronizes-with', - 'HostEnsureCanCompileStrings', - 'HostEventSet', - 'HostPromiseRejectionTracker', - 'HostReportErrors', - 'HostResolveImportedModule', - 'IfAbruptRejectPromise', - 'ImportedLocalNames', - 'InitializeBoundName', - 'InitializeEnvironment', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'InnerModuleEvaluation', - 'InnerModuleInstantiation', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsPropertyReference', - 'IsSharedArrayBuffer', - 'IsStrictReference', - 'IsSuperReference', - 'IsUnresolvableReference', - 'IsWordChar', - 'LeaveCriticalSection', - 'LocalTime', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'memory-order', - 'min', - 'ModuleDeclarationEnvironmentSetup', - 'ModuleExecution', - 'ModuleNamespaceCreate', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NormalCompletion', - 'NotifyWaiter', - 'NumberToRawBytes', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'OrdinaryDelete', - 'OrdinaryGet', - 'OrdinaryIsExtensible', - 'OrdinaryOwnPropertyKeys', - 'OrdinaryPreventExtensions', - 'OrdinarySet', - 'OrdinarySetWithOwnDescriptor', - 'OrdinaryToPrimitive', - 'ParseModule', - 'ParseScript', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'PromiseReactionJob', - 'PromiseResolveThenableJob', - 'ProxyCreate', - 'PutValue', - 'RawBytesToNumber', - 'reads-bytes-from', - 'reads-from', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RemoveWaiter', - 'RemoveWaiters', - 'RepeatMatcher', - 'ResolveBinding', - 'ResolveThisBinding', - 'ReturnIfAbrupt', - 'RunJobs', - 'ScriptEvaluation', - 'ScriptEvaluationJob', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetImmutablePrototype', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'SharedDataBlockEventSet', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'Suspend', - 'SynchronizeEventSet', - 'synchronizes-with', - 'ThrowCompletion', - 'TimeZoneString', - 'TopLevelModuleEvaluationJob', - 'TriggerPromiseReactions', - 'TypedArrayCreate', - 'TypedArraySpeciesCreate', - 'UnicodeMatchProperty', - 'UnicodeMatchPropertyValue', - 'UpdateEmpty', - 'UTC', // depends on LocalTZA'UTC', - 'UTF16Decode', - 'ValidateAtomicAccess', - 'ValidateSharedIntegerTypedArray', - 'ValidateTypedArray', - 'ValueOfReadEvent', - 'WakeWaiter', - 'WordCharacters' // depends on Canonicalize -]; - -require('./tests').es2019(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2019); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es2020.js b/node_modules/object.assign/node_modules/es-abstract/test/es2020.js deleted file mode 100644 index 3b9cd5cda..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es2020.js +++ /dev/null @@ -1,267 +0,0 @@ -'use strict'; - -var ES = require('../').ES2020; -var boundES = require('./helpers/createBoundESNamespace')(ES); - -var ops = require('../operations/2020'); - -var expectedMissing = [ - 'AddRestrictedFunctionProperties', - 'AddWaiter', - 'agent-order', - 'AgentCanSuspend', - 'AgentSignifier', - 'AllocateArrayBuffer', - 'AllocateSharedArrayBuffer', - 'AllocateTypedArray', - 'AllocateTypedArrayBuffer', - 'AsyncFromSyncIteratorContinuation', - 'AsyncFunctionCreate', - 'AsyncFunctionStart', - 'AsyncGeneratorEnqueue', - 'AsyncGeneratorFunctionCreate', - 'AsyncGeneratorReject', - 'AsyncGeneratorResolve', - 'AsyncGeneratorResumeNext', - 'AsyncGeneratorStart', - 'AsyncGeneratorYield', - 'AsyncIteratorClose', - 'AtomicLoad', - 'AtomicReadModifyWrite', - 'Await', - 'BackreferenceMatcher', - 'BigInt::toString', - 'BlockDeclarationInstantiation', - 'BoundFunctionCreate', - 'Canonicalize', - 'CaseClauseIsSelected', - 'CharacterRange', - 'CharacterRangeOrUnion', - 'CharacterSetMatcher', - 'CloneArrayBuffer', - 'Completion', - 'ComposeWriteEventBytes', - 'Construct', - 'CopyDataBlockBytes', - 'CreateArrayFromList', - 'CreateArrayIterator', - 'CreateAsyncFromSyncIterator', - 'CreateBuiltinFunction', - 'CreateByteDataBlock', - 'CreateDynamicFunction', - 'CreateForInIterator', - 'CreateIntrinsics', - 'CreateListIteratorRecord', - 'CreateMapIterator', - 'CreateMappedArgumentsObject', - 'CreatePerIterationEnvironment', - 'CreateRealm', - 'CreateRegExpStringIterator', - 'CreateResolvingFunctions', - 'CreateSetIterator', - 'CreateSharedByteDataBlock', - 'CreateStringIterator', - 'CreateUnmappedArgumentsObject', - 'Decode', - 'DetachArrayBuffer', - 'Encode', - 'EnqueueJob', - 'EnterCriticalSection', - 'EnumerateObjectProperties', - 'EscapeRegExpPattern', - 'EvalDeclarationInstantiation', - 'EvaluateCall', - 'EvaluateNew', - 'EvaluatePropertyAccessWithExpressionKey', - 'EvaluatePropertyAccessWithIdentifierKey', - 'EventSet', - 'ExecuteModule', - 'FinishDynamicImport', - 'ForBodyEvaluation', - 'ForIn/OfBodyEvaluation', - 'ForIn/OfHeadEvaluation', - 'FulfillPromise', - 'FunctionAllocate', - 'FunctionCreate', - 'FunctionDeclarationInstantiation', - 'FunctionInitialize', - 'GeneratorFunctionCreate', - 'GeneratorResume', - 'GeneratorResumeAbrupt', - 'GeneratorStart', - 'GeneratorValidate', - 'GeneratorYield', - 'GetActiveScriptOrModule', - 'GetBase', - 'GetFunctionRealm', - 'GetGeneratorKind', - 'GetGlobalObject', - 'GetIdentifierReference', - 'GetModifySetValueInBuffer', - 'GetModuleNamespace', - 'GetNewTarget', - 'GetReferencedName', - 'GetSuperConstructor', - 'GetTemplateObject', - 'GetThisEnvironment', - 'GetThisValue', - 'GetValue', - 'GetValueFromBuffer', - 'GetViewValue', - 'GetWaiterList', - 'GlobalDeclarationInstantiation', - 'happens-before', - 'HasPrimitiveBase', - 'host-synchronizes-with', - 'HostEnqueuePromiseJob', - 'HostEnsureCanCompileStrings', - 'HostEventSet', - 'HostFinalizeImportMeta', - 'HostGetImportMetaProperties', - 'HostImportModuleDynamically', - 'HostPromiseRejectionTracker', - 'HostReportErrors', - 'HostResolveImportedModule', - 'IfAbruptRejectPromise', - 'ImportedLocalNames', - 'InitializeBoundName', - 'InitializeEnvironment', - 'InitializeHostDefinedRealm', - 'InitializeReferencedBinding', - 'InnerModuleEvaluation', - 'InnerModuleInstantiation', - 'InnerModuleLinking', - 'IntegerIndexedElementGet', - 'IntegerIndexedElementSet', - 'IntegerIndexedObjectCreate', - 'InternalizeJSONProperty', - 'IsAnonymousFunctionDefinition', - 'IsCompatiblePropertyDescriptor', - 'IsDetachedBuffer', - 'IsInTailPosition', - 'IsLabelledFunction', - 'IsPropertyReference', - 'IsSharedArrayBuffer', - 'IsStrictReference', - 'IsSuperReference', - 'IsUnresolvableReference', - 'IsValidIntegerIndex', - 'IsValidRegularExpressionLiteral', - 'IsWordChar', - 'LeaveCriticalSection', - 'LocalTime', - 'LocalTZA', - 'LoopContinues', - 'MakeArgGetter', - 'MakeArgSetter', - 'MakeBasicObject', - 'MakeClassConstructor', - 'MakeConstructor', - 'MakeMethod', - 'MakeSuperPropertyReference', - 'max', - 'memory-order', - 'min', - 'ModuleDeclarationEnvironmentSetup', - 'ModuleExecution', - 'ModuleNamespaceCreate', - 'NewDeclarativeEnvironment', - 'NewFunctionEnvironment', - 'NewGlobalEnvironment', - 'NewModuleEnvironment', - 'NewObjectEnvironment', - 'NewPromiseCapability', - 'NewPromiseReactionJob', - 'NewPromiseResolveThenableJob', - 'NormalCompletion', - 'NotifyWaiter', - 'Number::toString', - 'NumberToBigInt', - 'NumberToRawBytes', - 'NumericToRawBytes', - 'ObjectDefineProperties', - 'OrdinaryCallBindThis', - 'OrdinaryCallEvaluateBody', - 'OrdinaryDelete', - 'OrdinaryFunctionCreate', - 'OrdinaryGet', - 'OrdinaryIsExtensible', - 'OrdinaryOwnPropertyKeys', - 'OrdinaryPreventExtensions', - 'OrdinarySet', - 'OrdinarySetWithOwnDescriptor', - 'OrdinaryToPrimitive', - 'ParseModule', - 'ParseScript', - 'PerformEval', - 'PerformPromiseAll', - 'PerformPromiseAllSettled', - 'PerformPromiseRace', - 'PerformPromiseThen', - 'PrepareForOrdinaryCall', - 'PrepareForTailCall', - 'PromiseReactionJob', - 'PromiseResolveThenableJob', - 'ProxyCreate', - 'PutValue', - 'RawBytesToNumber', - 'RawBytesToNumeric', - 'reads-bytes-from', - 'reads-from', - 'RegExpAlloc', - 'RegExpBuiltinExec', - 'RegExpCreate', - 'RegExpInitialize', - 'RejectPromise', - 'RemoveWaiter', - 'RemoveWaiters', - 'RepeatMatcher', - 'RequireInternalSlot', - 'ResolveBinding', - 'ResolveThisBinding', - 'ReturnIfAbrupt', - 'RunJobs', - 'ScriptEvaluation', - 'ScriptEvaluationJob', - 'SerializeJSONArray', - 'SerializeJSONObject', - 'SerializeJSONProperty', - 'SetDefaultGlobalBindings', - 'SetImmutablePrototype', - 'SetRealmGlobalObject', - 'SetValueInBuffer', - 'SetViewValue', - 'SharedDataBlockEventSet', - 'SortCompare', - 'SplitMatch', - 'StringCreate', - 'StringToBigInt', - 'Suspend', - 'SynchronizeEventSet', - 'synchronizes-with', - 'ThrowCompletion', - 'TimeZoneString', - 'ToBigInt', - 'ToBigInt64', - 'ToBigUint64', - 'TopLevelModuleEvaluationJob', - 'TriggerPromiseReactions', - 'TypedArrayCreate', - 'TypedArraySpeciesCreate', - 'UnicodeMatchProperty', - 'UnicodeMatchPropertyValue', - 'UpdateEmpty', - 'UTC', // depends on LocalTZA - 'UTF16Decode', - 'UTF16Encode', - 'ValidateAtomicAccess', - 'ValidateSharedIntegerTypedArray', - 'ValidateTypedArray', - 'ValueOfReadEvent', - 'WakeWaiter', - 'WordCharacters' // depends on Canonicalize -]; - -require('./tests').es2020(boundES, ops, expectedMissing); - -require('./helpers/runManifestTest')(require('tape'), ES, 2020); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es5.js b/node_modules/object.assign/node_modules/es-abstract/test/es5.js deleted file mode 100644 index 6647a1b2f..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es5.js +++ /dev/null @@ -1,786 +0,0 @@ -'use strict'; - -var ES = require('../').ES5; -var test = require('tape'); - -var forEach = require('foreach'); -var is = require('object-is'); -var debug = require('object-inspect'); - -var v = require('./helpers/values'); - -require('./helpers/runManifestTest')(test, ES, 5); - -ES = require('./helpers/createBoundESNamespace')(ES); - -test('ToPrimitive', function (t) { - t.test('primitives', function (st) { - var testPrimitive = function (primitive) { - st.ok(is(ES.ToPrimitive(primitive), primitive), debug(primitive) + ' is returned correctly'); - }; - forEach(v.primitives, testPrimitive); - st.end(); - }); - - t.test('objects', function (st) { - st.equal(ES.ToPrimitive(v.coercibleObject), v.coercibleObject.valueOf(), 'coercibleObject coerces to valueOf'); - st.equal(ES.ToPrimitive(v.coercibleObject, Number), v.coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf'); - st.equal(ES.ToPrimitive(v.coercibleObject, String), v.coercibleObject.toString(), 'coercibleObject with hint String coerces to toString'); - st.equal(ES.ToPrimitive(v.coercibleFnObject), v.coercibleFnObject.toString(), 'coercibleFnObject coerces to toString'); - st.equal(ES.ToPrimitive(v.toStringOnlyObject), v.toStringOnlyObject.toString(), 'toStringOnlyObject returns toString'); - st.equal(ES.ToPrimitive(v.valueOfOnlyObject), v.valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf'); - st.equal(ES.ToPrimitive({}), '[object Object]', '{} with no hint coerces to Object#toString'); - st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString'); - st.equal(ES.ToPrimitive({}, Number), '[object Object]', '{} with hint Number coerces to Object#toString'); - st['throws'](function () { return ES.ToPrimitive(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError'); - st['throws'](function () { return ES.ToPrimitive(v.uncoercibleFnObject); }, TypeError, 'uncoercibleFnObject throws a TypeError'); - st.end(); - }); - - t.end(); -}); - -test('ToBoolean', function (t) { - t.equal(false, ES.ToBoolean(undefined), 'undefined coerces to false'); - t.equal(false, ES.ToBoolean(null), 'null coerces to false'); - t.equal(false, ES.ToBoolean(false), 'false returns false'); - t.equal(true, ES.ToBoolean(true), 'true returns true'); - forEach([0, -0, NaN], function (falsyNumber) { - t.equal(false, ES.ToBoolean(falsyNumber), 'falsy number ' + falsyNumber + ' coerces to false'); - }); - forEach([Infinity, 42, 1, -Infinity], function (truthyNumber) { - t.equal(true, ES.ToBoolean(truthyNumber), 'truthy number ' + truthyNumber + ' coerces to true'); - }); - t.equal(false, ES.ToBoolean(''), 'empty string coerces to false'); - t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true'); - forEach(v.objects, function (obj) { - t.equal(true, ES.ToBoolean(obj), 'object coerces to true'); - }); - t.equal(true, ES.ToBoolean(v.uncoercibleObject), 'uncoercibleObject coerces to true'); - t.end(); -}); - -test('ToNumber', function (t) { - t.ok(is(NaN, ES.ToNumber(undefined)), 'undefined coerces to NaN'); - t.ok(is(ES.ToNumber(null), 0), 'null coerces to +0'); - t.ok(is(ES.ToNumber(false), 0), 'false coerces to +0'); - t.equal(1, ES.ToNumber(true), 'true coerces to 1'); - t.ok(is(NaN, ES.ToNumber(NaN)), 'NaN returns itself'); - forEach([0, -0, 42, Infinity, -Infinity], function (num) { - t.equal(num, ES.ToNumber(num), num + ' returns itself'); - }); - forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) { - t.ok(is(+numString, ES.ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString)); - }); - forEach(v.objects, function (object) { - t.ok(is(ES.ToNumber(object), ES.ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does'); - }); - t['throws'](function () { return ES.ToNumber(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.end(); -}); - -test('ToInteger', function (t) { - t.ok(is(0, ES.ToInteger(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity, 42], function (num) { - t.ok(is(num, ES.ToInteger(num)), num + ' returns itself'); - t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself'); - }); - t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3'); - t['throws'](function () { return ES.ToInteger(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.end(); -}); - -test('ToInt32', function (t) { - t.ok(is(0, ES.ToInt32(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToInt32(num)), num + ' returns +0'); - t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToInt32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1'); - t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31'); - t.ok(is(ES.ToInt32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1'); - forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) { - t.ok(is(ES.ToInt32(num), ES.ToInt32(ES.ToUint32(num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for 0x' + num.toString(16)); - t.ok(is(ES.ToInt32(-num), ES.ToInt32(ES.ToUint32(-num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for -0x' + num.toString(16)); - }); - t.end(); -}); - -test('ToUint32', function (t) { - t.ok(is(0, ES.ToUint32(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToUint32(num)), num + ' returns +0'); - t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToUint32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1'); - t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31'); - t.ok(is(ES.ToUint32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1'); - forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) { - t.ok(is(ES.ToUint32(num), ES.ToUint32(ES.ToInt32(num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for 0x' + num.toString(16)); - t.ok(is(ES.ToUint32(-num), ES.ToUint32(ES.ToInt32(-num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for -0x' + num.toString(16)); - }); - t.end(); -}); - -test('ToUint16', function (t) { - t.ok(is(0, ES.ToUint16(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToUint16(num)), num + ' returns +0'); - t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToUint16(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1'); - t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0'); - t.ok(is(ES.ToUint16(0x80000000 - 1), 0x10000 - 1), '2^31 - 1 returns 2^16 - 1'); - t.ok(is(ES.ToUint16(0x10000), 0), '2^16 returns +0'); - t.ok(is(ES.ToUint16(0x10000 - 1), 0x10000 - 1), '2^16 - 1 returns 2^16 - 1'); - t.end(); -}); - -test('ToString', function (t) { - t['throws'](function () { return ES.ToString(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.end(); -}); - -test('ToObject', function (t) { - t['throws'](function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws'); - t['throws'](function () { return ES.ToObject(null); }, TypeError, 'null throws'); - forEach(v.numbers, function (number) { - var obj = ES.ToObject(number); - t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object'); - t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object'); - t.ok(is(obj.valueOf(), number), 'object of ' + number + ' coerces to ' + number); - }); - t.end(); -}); - -test('CheckObjectCoercible', function (t) { - t['throws'](function () { return ES.CheckObjectCoercible(undefined); }, TypeError, 'undefined throws'); - t['throws'](function () { return ES.CheckObjectCoercible(null); }, TypeError, 'null throws'); - var checkCoercible = function (value) { - t.doesNotThrow(function () { return ES.CheckObjectCoercible(value); }, debug(value) + ' does not throw'); - }; - forEach(v.objects.concat(v.nonNullPrimitives), checkCoercible); - t.end(); -}); - -test('IsCallable', function (t) { - t.equal(true, ES.IsCallable(function () {}), 'function is callable'); - var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(v.primitives); - forEach(nonCallables, function (nonCallable) { - t.equal(false, ES.IsCallable(nonCallable), debug(nonCallable) + ' is not callable'); - }); - t.end(); -}); - -test('SameValue', function (t) { - t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN'); - t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0'); - forEach(v.objects.concat(v.primitives), function (val) { - t.equal(val === val, ES.SameValue(val, val), debug(val) + ' is SameValue to itself'); - }); - t.end(); -}); - -test('Type', function (t) { - t.equal(ES.Type(), 'Undefined', 'Type() is Undefined'); - t.equal(ES.Type(undefined), 'Undefined', 'Type(undefined) is Undefined'); - t.equal(ES.Type(null), 'Null', 'Type(null) is Null'); - t.equal(ES.Type(true), 'Boolean', 'Type(true) is Boolean'); - t.equal(ES.Type(false), 'Boolean', 'Type(false) is Boolean'); - t.equal(ES.Type(0), 'Number', 'Type(0) is Number'); - t.equal(ES.Type(NaN), 'Number', 'Type(NaN) is Number'); - t.equal(ES.Type('abc'), 'String', 'Type("abc") is String'); - t.equal(ES.Type(function () {}), 'Object', 'Type(function () {}) is Object'); - t.equal(ES.Type({}), 'Object', 'Type({}) is Object'); - t.end(); -}); - -test('IsPropertyDescriptor', function (t) { - forEach(v.primitives, function (primitive) { - t.equal(ES.IsPropertyDescriptor(primitive), false, debug(primitive) + ' is not a Property Descriptor'); - }); - - t.equal(ES.IsPropertyDescriptor({ invalid: true }), false, 'invalid keys not allowed on a Property Descriptor'); - - t.equal(ES.IsPropertyDescriptor({}), true, 'empty object is an incomplete Property Descriptor'); - - t.equal(ES.IsPropertyDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.dataDescriptor()), true, 'data descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.genericDescriptor()), true, 'generic descriptor is a Property Descriptor'); - - t['throws']( - function () { ES.IsPropertyDescriptor(v.bothDescriptor()); }, - TypeError, - 'a Property Descriptor can not be both a Data and an Accessor Descriptor' - ); - - t['throws']( - function () { ES.IsPropertyDescriptor(v.bothDescriptorWritable()); }, - TypeError, - 'a Property Descriptor can not be both a Data and an Accessor Descriptor' - ); - - t.end(); -}); - -test('IsAccessorDescriptor', function (t) { - forEach(v.nonNullPrimitives.concat(null), function (primitive) { - t['throws'](function () { ES.IsAccessorDescriptor(primitive); }, TypeError, debug(primitive) + ' is not a Property Descriptor'); - }); - - t.equal(ES.IsAccessorDescriptor(), false, 'no value is not an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(undefined), false, 'undefined value is not an Accessor Descriptor'); - - t.equal(ES.IsAccessorDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor'); - - t.end(); -}); - -test('IsDataDescriptor', function (t) { - forEach(v.nonNullPrimitives.concat(null), function (primitive) { - t['throws'](function () { ES.IsDataDescriptor(primitive); }, TypeError, debug(primitive) + ' is not a Property Descriptor'); - }); - - t.equal(ES.IsDataDescriptor(), false, 'no value is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(undefined), false, 'undefined value is not a Data Descriptor'); - - t.equal(ES.IsDataDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.dataDescriptor()), true, 'data descriptor is a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.genericDescriptor()), false, 'generic descriptor is not a Data Descriptor'); - - t.end(); -}); - -test('IsGenericDescriptor', function (t) { - forEach(v.nonNullPrimitives.concat(null), function (primitive) { - t['throws']( - function () { ES.IsGenericDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.equal(ES.IsGenericDescriptor(), false, 'no value is not a Data Descriptor'); - t.equal(ES.IsGenericDescriptor(undefined), false, 'undefined value is not a Data Descriptor'); - - t.equal(ES.IsGenericDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor'); - t.equal(ES.IsGenericDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor'); - t.equal(ES.IsGenericDescriptor(v.dataDescriptor()), false, 'data descriptor is not a generic Descriptor'); - - t.equal(ES.IsGenericDescriptor(v.genericDescriptor()), true, 'generic descriptor is a generic Descriptor'); - - t.end(); -}); - -test('FromPropertyDescriptor', function (t) { - t.equal(ES.FromPropertyDescriptor(), undefined, 'no value begets undefined'); - t.equal(ES.FromPropertyDescriptor(undefined), undefined, 'undefined value begets undefined'); - - forEach(v.nonNullPrimitives.concat(null), function (primitive) { - t['throws']( - function () { ES.FromPropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - var accessor = v.accessorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(accessor), { - get: accessor['[[Get]]'], - set: accessor['[[Set]]'], - enumerable: !!accessor['[[Enumerable]]'], - configurable: !!accessor['[[Configurable]]'] - }); - - var mutator = v.mutatorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(mutator), { - get: mutator['[[Get]]'], - set: mutator['[[Set]]'], - enumerable: !!mutator['[[Enumerable]]'], - configurable: !!mutator['[[Configurable]]'] - }); - var data = v.dataDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(data), { - value: data['[[Value]]'], - writable: data['[[Writable]]'], - enumerable: !!data['[[Enumerable]]'], - configurable: !!data['[[Configurable]]'] - }); - - t['throws']( - function () { ES.FromPropertyDescriptor(v.genericDescriptor()); }, - TypeError, - 'a complete Property Descriptor is required' - ); - - t.end(); -}); - -test('ToPropertyDescriptor', function (t) { - forEach(v.nonNullPrimitives.concat(null), function (primitive) { - t['throws']( - function () { ES.ToPropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - var accessor = v.accessorDescriptor(); - t.deepEqual(ES.ToPropertyDescriptor({ - get: accessor['[[Get]]'], - enumerable: !!accessor['[[Enumerable]]'], - configurable: !!accessor['[[Configurable]]'] - }), accessor); - - var mutator = v.mutatorDescriptor(); - t.deepEqual(ES.ToPropertyDescriptor({ - set: mutator['[[Set]]'], - enumerable: !!mutator['[[Enumerable]]'], - configurable: !!mutator['[[Configurable]]'] - }), mutator); - - var data = v.descriptors.nonConfigurable(v.dataDescriptor()); - t.deepEqual(ES.ToPropertyDescriptor({ - value: data['[[Value]]'], - writable: data['[[Writable]]'], - configurable: !!data['[[Configurable]]'] - }), data); - - var both = v.bothDescriptor(); - t['throws']( - function () { - ES.ToPropertyDescriptor({ get: both['[[Get]]'], value: both['[[Value]]'] }); - }, - TypeError, - 'data and accessor descriptors are mutually exclusive' - ); - - t['throws']( - function () { ES.ToPropertyDescriptor({ get: 'not callable' }); }, - TypeError, - '"get" must be undefined or callable' - ); - - t['throws']( - function () { ES.ToPropertyDescriptor({ set: 'not callable' }); }, - TypeError, - '"set" must be undefined or callable' - ); - - t.end(); -}); - -test('Abstract Equality Comparison', function (t) { - t.test('same types use ===', function (st) { - forEach(v.primitives.concat(v.objects), function (value) { - st.equal(ES['Abstract Equality Comparison'](value, value), value === value, debug(value) + ' is abstractly equal to itself'); - }); - st.end(); - }); - - t.test('different types coerce', function (st) { - var pairs = [ - [null, undefined], - [3, '3'], - [true, '3'], - [true, 3], - [false, 0], - [false, '0'], - [3, [3]], - ['3', [3]], - [true, [1]], - [false, [0]], - [String(v.coercibleObject), v.coercibleObject], - [Number(String(v.coercibleObject)), v.coercibleObject], - [Number(v.coercibleObject), v.coercibleObject], - [String(Number(v.coercibleObject)), v.coercibleObject] - ]; - forEach(pairs, function (pair) { - var a = pair[0]; - var b = pair[1]; - // eslint-disable-next-line eqeqeq - st.equal(ES['Abstract Equality Comparison'](a, b), a == b, debug(a) + ' == ' + debug(b)); - // eslint-disable-next-line eqeqeq - st.equal(ES['Abstract Equality Comparison'](b, a), b == a, debug(b) + ' == ' + debug(a)); - }); - st.end(); - }); - - t.end(); -}); - -test('Strict Equality Comparison', function (t) { - t.test('same types use ===', function (st) { - forEach(v.primitives.concat(v.objects), function (value) { - st.equal(ES['Strict Equality Comparison'](value, value), value === value, debug(value) + ' is strictly equal to itself'); - }); - st.end(); - }); - - t.test('different types are not ===', function (st) { - var pairs = [ - [null, undefined], - [3, '3'], - [true, '3'], - [true, 3], - [false, 0], - [false, '0'], - [3, [3]], - ['3', [3]], - [true, [1]], - [false, [0]], - [String(v.coercibleObject), v.coercibleObject], - [Number(String(v.coercibleObject)), v.coercibleObject], - [Number(v.coercibleObject), v.coercibleObject], - [String(Number(v.coercibleObject)), v.coercibleObject] - ]; - forEach(pairs, function (pair) { - var a = pair[0]; - var b = pair[1]; - st.equal(ES['Strict Equality Comparison'](a, b), a === b, debug(a) + ' === ' + debug(b)); - st.equal(ES['Strict Equality Comparison'](b, a), b === a, debug(b) + ' === ' + debug(a)); - }); - st.end(); - }); - - t.end(); -}); - -test('Abstract Relational Comparison', function (t) { - t.test('at least one operand is NaN', function (st) { - st.equal(ES['Abstract Relational Comparison'](NaN, {}, true), undefined, 'LeftFirst: first is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison']({}, NaN, true), undefined, 'LeftFirst: second is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison'](NaN, {}, false), undefined, '!LeftFirst: first is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison']({}, NaN, false), undefined, '!LeftFirst: second is NaN, returns undefined'); - st.end(); - }); - - t.equal(ES['Abstract Relational Comparison'](3, 4, true), true, 'LeftFirst: 3 is less than 4'); - t.equal(ES['Abstract Relational Comparison'](4, 3, true), false, 'LeftFirst: 3 is not less than 4'); - t.equal(ES['Abstract Relational Comparison'](3, 4, false), true, '!LeftFirst: 3 is less than 4'); - t.equal(ES['Abstract Relational Comparison'](4, 3, false), false, '!LeftFirst: 3 is not less than 4'); - - t.equal(ES['Abstract Relational Comparison']('3', '4', true), true, 'LeftFirst: "3" is less than "4"'); - t.equal(ES['Abstract Relational Comparison']('4', '3', true), false, 'LeftFirst: "3" is not less than "4"'); - t.equal(ES['Abstract Relational Comparison']('3', '4', false), true, '!LeftFirst: "3" is less than "4"'); - t.equal(ES['Abstract Relational Comparison']('4', '3', false), false, '!LeftFirst: "3" is not less than "4"'); - - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, true), true, 'LeftFirst: coercible object is less than 42'); - t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, true), false, 'LeftFirst: 42 is not less than coercible object'); - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, false), true, '!LeftFirst: coercible object is less than 42'); - t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, false), false, '!LeftFirst: 42 is not less than coercible object'); - - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', true), false, 'LeftFirst: coercible object is not less than "3"'); - t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, true), false, 'LeftFirst: "3" is not less than coercible object'); - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', false), false, '!LeftFirst: coercible object is not less than "3"'); - t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, false), false, '!LeftFirst: "3" is not less than coercible object'); - - t.end(); -}); - -test('FromPropertyDescriptor', function (t) { - t.equal(ES.FromPropertyDescriptor(), undefined, 'no value begets undefined'); - t.equal(ES.FromPropertyDescriptor(undefined), undefined, 'undefined value begets undefined'); - - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.FromPropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - var accessor = v.accessorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(accessor), { - get: accessor['[[Get]]'], - set: accessor['[[Set]]'], - enumerable: !!accessor['[[Enumerable]]'], - configurable: !!accessor['[[Configurable]]'] - }); - - var mutator = v.mutatorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(mutator), { - get: mutator['[[Get]]'], - set: mutator['[[Set]]'], - enumerable: !!mutator['[[Enumerable]]'], - configurable: !!mutator['[[Configurable]]'] - }); - var data = v.dataDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(data), { - value: data['[[Value]]'], - writable: data['[[Writable]]'], - enumerable: !!data['[[Enumerable]]'], - configurable: !!data['[[Configurable]]'] - }); - - t['throws']( - function () { ES.FromPropertyDescriptor(v.genericDescriptor()); }, - TypeError, - 'a complete Property Descriptor is required' - ); - - t.end(); -}); - -test('SecFromTime', function (t) { - var now = new Date(); - t.equal(ES.SecFromTime(now.getTime()), now.getUTCSeconds(), 'second from Date timestamp matches getUTCSeconds'); - t.end(); -}); - -test('MinFromTime', function (t) { - var now = new Date(); - t.equal(ES.MinFromTime(now.getTime()), now.getUTCMinutes(), 'minute from Date timestamp matches getUTCMinutes'); - t.end(); -}); - -test('HourFromTime', function (t) { - var now = new Date(); - t.equal(ES.HourFromTime(now.getTime()), now.getUTCHours(), 'hour from Date timestamp matches getUTCHours'); - t.end(); -}); - -test('msFromTime', function (t) { - var now = new Date(); - t.equal(ES.msFromTime(now.getTime()), now.getUTCMilliseconds(), 'ms from Date timestamp matches getUTCMilliseconds'); - t.end(); -}); - -var msPerSecond = 1e3; -var msPerMinute = 60 * msPerSecond; -var msPerHour = 60 * msPerMinute; -var msPerDay = 24 * msPerHour; - -test('Day', function (t) { - var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5); - var add = 2.5; - var later = new Date(time + (add * msPerDay)); - - t.equal(ES.Day(later.getTime()), ES.Day(time) + Math.floor(add), 'adding 2.5 days worth of ms, gives a Day delta of 2'); - t.end(); -}); - -test('TimeWithinDay', function (t) { - var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5); - var add = 2.5; - var later = new Date(time + (add * msPerDay)); - - t.equal(ES.TimeWithinDay(later.getTime()), ES.TimeWithinDay(time) + (0.5 * msPerDay), 'adding 2.5 days worth of ms, gives a TimeWithinDay delta of +0.5'); - t.end(); -}); - -test('DayFromYear', function (t) { - t.equal(ES.DayFromYear(2021) - ES.DayFromYear(2020), 366, '2021 is a leap year, has 366 days'); - t.equal(ES.DayFromYear(2020) - ES.DayFromYear(2019), 365, '2020 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2019) - ES.DayFromYear(2018), 365, '2019 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2018) - ES.DayFromYear(2017), 365, '2018 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2017) - ES.DayFromYear(2016), 366, '2017 is a leap year, has 366 days'); - - t.end(); -}); - -test('TimeFromYear', function (t) { - for (var i = 1900; i < 2100; i += 1) { - t.equal(ES.TimeFromYear(i), Date.UTC(i, 0, 1), 'TimeFromYear matches a Date object’s year: ' + i); - } - t.end(); -}); - -test('YearFromTime', function (t) { - for (var i = 1900; i < 2100; i += 1) { - t.equal(ES.YearFromTime(Date.UTC(i, 0, 1)), i, 'YearFromTime matches a Date object’s year on 1/1: ' + i); - t.equal(ES.YearFromTime(Date.UTC(i, 10, 1)), i, 'YearFromTime matches a Date object’s year on 10/1: ' + i); - } - t.end(); -}); - -test('WeekDay', function (t) { - var now = new Date(); - var today = now.getUTCDay(); - for (var i = 0; i < 7; i += 1) { - var weekDay = ES.WeekDay(now.getTime() + (i * msPerDay)); - t.equal(weekDay, (today + i) % 7, i + ' days after today (' + today + '), WeekDay is ' + weekDay); - } - t.end(); -}); - -test('DaysInYear', function (t) { - t.equal(ES.DaysInYear(2021), 365, '2021 is not a leap year'); - t.equal(ES.DaysInYear(2020), 366, '2020 is a leap year'); - t.equal(ES.DaysInYear(2019), 365, '2019 is not a leap year'); - t.equal(ES.DaysInYear(2018), 365, '2018 is not a leap year'); - t.equal(ES.DaysInYear(2017), 365, '2017 is not a leap year'); - t.equal(ES.DaysInYear(2016), 366, '2016 is a leap year'); - - t.end(); -}); - -test('InLeapYear', function (t) { - t.equal(ES.InLeapYear(Date.UTC(2021, 0, 1)), 0, '2021 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2020, 0, 1)), 1, '2020 is a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2019, 0, 1)), 0, '2019 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2018, 0, 1)), 0, '2018 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2017, 0, 1)), 0, '2017 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2016, 0, 1)), 1, '2016 is a leap year'); - - t.end(); -}); - -test('DayWithinYear', function (t) { - t.equal(ES.DayWithinYear(Date.UTC(2019, 0, 1)), 0, '1/1 is the 1st day'); - t.equal(ES.DayWithinYear(Date.UTC(2019, 11, 31)), 364, '12/31 is the 365th day in a non leap year'); - t.equal(ES.DayWithinYear(Date.UTC(2016, 11, 31)), 365, '12/31 is the 366th day in a leap year'); - - t.end(); -}); - -test('MonthFromTime', function (t) { - t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 1)), 0, 'non-leap: 1/1 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 31)), 0, 'non-leap: 1/31 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 1)), 1, 'non-leap: 2/1 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 28)), 1, 'non-leap: 2/28 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 29)), 2, 'non-leap: 2/29 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 1)), 2, 'non-leap: 3/1 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 31)), 2, 'non-leap: 3/31 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 1)), 3, 'non-leap: 4/1 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 30)), 3, 'non-leap: 4/30 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 1)), 4, 'non-leap: 5/1 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 31)), 4, 'non-leap: 5/31 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 1)), 5, 'non-leap: 6/1 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 30)), 5, 'non-leap: 6/30 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 1)), 6, 'non-leap: 7/1 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 31)), 6, 'non-leap: 7/31 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 1)), 7, 'non-leap: 8/1 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 30)), 7, 'non-leap: 8/30 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 1)), 8, 'non-leap: 9/1 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 30)), 8, 'non-leap: 9/30 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 1)), 9, 'non-leap: 10/1 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 31)), 9, 'non-leap: 10/31 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 1)), 10, 'non-leap: 11/1 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 30)), 10, 'non-leap: 11/30 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 1)), 11, 'non-leap: 12/1 gives December'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 31)), 11, 'non-leap: 12/31 gives December'); - - t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 1)), 0, 'leap: 1/1 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 31)), 0, 'leap: 1/31 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 1)), 1, 'leap: 2/1 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 28)), 1, 'leap: 2/28 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 29)), 1, 'leap: 2/29 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 1)), 2, 'leap: 3/1 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 31)), 2, 'leap: 3/31 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 1)), 3, 'leap: 4/1 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 30)), 3, 'leap: 4/30 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 1)), 4, 'leap: 5/1 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 31)), 4, 'leap: 5/31 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 1)), 5, 'leap: 6/1 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 30)), 5, 'leap: 6/30 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 1)), 6, 'leap: 7/1 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 31)), 6, 'leap: 7/31 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 1)), 7, 'leap: 8/1 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 30)), 7, 'leap: 8/30 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 1)), 8, 'leap: 9/1 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 30)), 8, 'leap: 9/30 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 1)), 9, 'leap: 10/1 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 31)), 9, 'leap: 10/31 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 1)), 10, 'leap: 11/1 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 30)), 10, 'leap: 11/30 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 1)), 11, 'leap: 12/1 gives December'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 31)), 11, 'leap: 12/31 gives December'); - t.end(); -}); - -test('DateFromTime', function (t) { - var i; - for (i = 1; i <= 28; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 1, i)), i, '2019.02.' + i + ' is date ' + i); - } - for (i = 1; i <= 29; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2016, 1, i)), i, '2016.02.' + i + ' is date ' + i); - } - for (i = 1; i <= 30; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 8, i)), i, '2019.09.' + i + ' is date ' + i); - } - for (i = 1; i <= 31; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 9, i)), i, '2019.10.' + i + ' is date ' + i); - } - t.end(); -}); - -test('MakeDay', function (t) { - var day2015 = 16687; - t.equal(ES.MakeDay(2015, 8, 9), day2015, '2015.09.09 is day 16687'); - var day2016 = day2015 + 366; // 2016 is a leap year - t.equal(ES.MakeDay(2016, 8, 9), day2016, '2015.09.09 is day 17053'); - var day2017 = day2016 + 365; - t.equal(ES.MakeDay(2017, 8, 9), day2017, '2017.09.09 is day 17418'); - var day2018 = day2017 + 365; - t.equal(ES.MakeDay(2018, 8, 9), day2018, '2018.09.09 is day 17783'); - var day2019 = day2018 + 365; - t.equal(ES.MakeDay(2019, 8, 9), day2019, '2019.09.09 is day 18148'); - t.end(); -}); - -test('MakeDate', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.MakeDate(nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `day`'); - t.ok(is(ES.MakeDate(0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`'); - }); - t.equal(ES.MakeDate(0, 0), 0, 'zero day and zero time is zero date'); - t.equal(ES.MakeDate(0, 123), 123, 'zero day and nonzero time is a date of the "time"'); - t.equal(ES.MakeDate(1, 0), msPerDay, 'day of 1 and zero time is a date of "ms per day"'); - t.equal(ES.MakeDate(3, 0), 3 * msPerDay, 'day of 3 and zero time is a date of thrice "ms per day"'); - t.equal(ES.MakeDate(1, 123), msPerDay + 123, 'day of 1 and nonzero time is a date of "ms per day" plus the "time"'); - t.equal(ES.MakeDate(3, 123), (3 * msPerDay) + 123, 'day of 3 and nonzero time is a date of thrice "ms per day" plus the "time"'); - - t.end(); -}); - -test('MakeTime', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.MakeTime(nonFiniteNumber, 0, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `hour`'); - t.ok(is(ES.MakeTime(0, nonFiniteNumber, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `min`'); - t.ok(is(ES.MakeTime(0, 0, nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `sec`'); - t.ok(is(ES.MakeTime(0, 0, 0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `ms`'); - }); - - t.equal( - ES.MakeTime(1.2, 2.3, 3.4, 4.5), - (1 * msPerHour) + (2 * msPerMinute) + (3 * msPerSecond) + 4, - 'all numbers are converted to integer, multiplied by the right number of ms, and summed' - ); - t.end(); -}); - -test('TimeClip', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.TimeClip(nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`'); - }); - t.ok(is(ES.TimeClip(8.64e15 + 1), NaN), '8.64e15 is the largest magnitude considered "finite"'); - t.ok(is(ES.TimeClip(-8.64e15 - 1), NaN), '-8.64e15 is the largest magnitude considered "finite"'); - - forEach(v.zeroes.concat([-10, 10, +new Date()]), function (time) { - t.looseEqual(ES.TimeClip(time), time, debug(time) + ' is a time of ' + debug(time)); - }); - - t.end(); -}); - -test('modulo', function (t) { - t.equal(3 % 2, 1, '+3 % 2 is +1'); - t.equal(ES.modulo(3, 2), 1, '+3 mod 2 is +1'); - - t.equal(-3 % 2, -1, '-3 % 2 is -1'); - t.equal(ES.modulo(-3, 2), 1, '-3 mod 2 is +1'); - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es6.js b/node_modules/object.assign/node_modules/es-abstract/test/es6.js deleted file mode 100644 index e7c9d98a2..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es6.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var test = require('tape'); - -var ES = require('../'); -var ES6 = ES.ES6; -var ES2015 = ES.ES2015; -var ES6entry = require('../es6'); - -test('legacy es6 export', function (t) { - t.equal(ES6, ES2015, 'main ES6 === main ES2015'); - t.end(); -}); - -test('legacy es6 entry point', function (t) { - t.equal(ES6, ES6entry, 'main ES6 === ES6 entry point'); - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/es7.js b/node_modules/object.assign/node_modules/es-abstract/test/es7.js deleted file mode 100644 index ee57e153b..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/es7.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var test = require('tape'); - -var ES = require('../'); -var ES7 = ES.ES7; -var ES2016 = ES.ES2016; -var ES7entry = require('../es7'); - -test('legacy es7 export', function (t) { - t.equal(ES7, ES2016, 'main ES7 === main ES2016'); - t.end(); -}); - -test('legacy es7 entry point', function (t) { - t.equal(ES7, ES7entry, 'main ES7 === ES7 entry point'); - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/OwnPropertyKeys.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/OwnPropertyKeys.js deleted file mode 100644 index 9c2b4fc44..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/OwnPropertyKeys.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var test = require('tape'); -var hasSymbols = require('has-symbols')(); - -var OwnPropertyKeys = require('../../helpers/OwnPropertyKeys'); -var defineProperty = require('./defineProperty'); - -test('OwnPropertyKeys', function (t) { - t.deepEqual(OwnPropertyKeys({ a: 1, b: 2 }).sort(), ['a', 'b'].sort(), 'returns own string keys'); - - t.test('Symbols', { skip: !hasSymbols }, function (st) { - var o = { a: 1 }; - var sym = Symbol(); - o[sym] = 2; - - st.deepEqual(OwnPropertyKeys(o), ['a', sym], 'returns own string and symbol keys'); - - st.end(); - }); - - t.test('non-enumerables', { skip: !defineProperty.oDP }, function (st) { - var o = { a: 1, b: 42, c: NaN }; - defineProperty(o, 'b', { enumerable: false, value: 42 }); - defineProperty(o, 'c', { enumerable: false, get: function () { return NaN; } }); - - if (hasSymbols) { - defineProperty(o, 'd', { enumerable: false, value: true }); - defineProperty(o, 'e', { enumerable: false, get: function () { return true; } }); - } - - st.deepEqual( - OwnPropertyKeys(o).sort(), - (hasSymbols ? ['a', 'b', 'c', 'd', 'e'] : ['a', 'b', 'c']).sort(), - 'returns non-enumerable own keys, including accessors and symbols if available' - ); - - st.end(); - }); - - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/assertRecord.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/assertRecord.js deleted file mode 100644 index d6a80c2bf..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/assertRecord.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -var forEach = require('foreach'); -var debug = require('object-inspect'); - -var assertRecord = require('../../helpers/assertRecord'); -var v = require('./values'); - -module.exports = function assertRecordTests(ES, test) { - test('Property Descriptor', function (t) { - var record = 'Property Descriptor'; - - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { assertRecord(ES.Type, record, 'arg', primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t['throws']( - function () { assertRecord(ES.Type, record, 'arg', { invalid: true }); }, - TypeError, - 'invalid keys not allowed on a Property Descriptor' - ); - - t.doesNotThrow( - function () { assertRecord(ES.Type, record, 'arg', {}); }, - 'empty object is an incomplete Property Descriptor' - ); - - t.doesNotThrow( - function () { assertRecord(ES.Type, record, 'arg', v.accessorDescriptor()); }, - 'accessor descriptor is a Property Descriptor' - ); - - t.doesNotThrow( - function () { assertRecord(ES.Type, record, 'arg', v.mutatorDescriptor()); }, - 'mutator descriptor is a Property Descriptor' - ); - - t.doesNotThrow( - function () { assertRecord(ES.Type, record, 'arg', v.dataDescriptor()); }, - 'data descriptor is a Property Descriptor' - ); - - t.doesNotThrow( - function () { assertRecord(ES.Type, record, 'arg', v.genericDescriptor()); }, - 'generic descriptor is a Property Descriptor' - ); - - t['throws']( - function () { assertRecord(ES.Type, record, 'arg', v.bothDescriptor()); }, - TypeError, - 'a Property Descriptor can not be both a Data and an Accessor Descriptor' - ); - - t.end(); - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/createBoundESNamespace.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/createBoundESNamespace.js deleted file mode 100644 index 880ba3d51..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/createBoundESNamespace.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var bind = require('function-bind'); - -var OwnPropertyKeys = require('../../helpers/OwnPropertyKeys'); - -module.exports = function createBoundESNamespace(ES) { - var keys = OwnPropertyKeys(ES); - var result = {}; - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var prop = ES[key]; - if (typeof prop === 'function') { - prop = bind.call(prop, undefined); - } - result[key] = prop; - } - - return result; -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/defineProperty.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/defineProperty.js deleted file mode 100644 index 8f925bea8..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/defineProperty.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var oDP = Object.defineProperty; -try { - oDP({}, 'a', { value: 1 }); -} catch (e) { - // IE 8 - oDP = null; -} - -module.exports = function defineProperty(O, P, Desc) { - if (oDP) { - return oDP(O, P, Desc); - } - if ((Desc.enumerable && Desc.configurable && Desc.writable) || !(P in O)) { - O[P] = Desc.value; // eslint-disable-line no-param-reassign - return O; - } - - throw new SyntaxError('helper does not yet support this configuration'); -}; -module.exports.oDP = oDP; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/getSymbolDescription.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/getSymbolDescription.js deleted file mode 100644 index fbe7a7b29..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/getSymbolDescription.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -var test = require('tape'); -var debug = require('object-inspect'); -var forEach = require('foreach'); -var has = require('has'); - -var v = require('./values'); -var getSymbolDescription = require('../../helpers/getSymbolDescription'); -var getInferredName = require('../../helpers/getInferredName'); - -test('getSymbolDescription', function (t) { - t.test('no symbols', { skip: v.hasSymbols }, function (st) { - st['throws']( - getSymbolDescription, - SyntaxError, - 'requires Symbol support' - ); - - st.end(); - }); - - forEach(v.nonSymbolPrimitives.concat(v.objects), function (nonSymbol) { - t['throws']( - function () { getSymbolDescription(nonSymbol); }, - v.hasSymbols ? TypeError : SyntaxError, - debug(nonSymbol) + ' is not a Symbol' - ); - }); - - t.test('with symbols', { skip: !v.hasSymbols }, function (st) { - forEach( - [ - [Symbol(), undefined], - [Symbol(undefined), undefined], - [Symbol(null), 'null'], - [Symbol.iterator, 'Symbol.iterator'], - [Symbol('foo'), 'foo'] - ], - function (pair) { - var sym = pair[0]; - var desc = pair[1]; - st.equal(getSymbolDescription(sym), desc, debug(sym) + ' description is ' + debug(desc)); - } - ); - - st.test('only possible when inference or native `Symbol.prototype.description` is supported', { - skip: !getInferredName && !has(Symbol.prototype, 'description') - }, function (s2t) { - s2t.equal(getSymbolDescription(Symbol('')), '', 'Symbol("") description is ""'); - - s2t.end(); - }); - - st.test('only possible when global symbols are supported', { - skip: !has(Symbol, 'for') || !has(Symbol, 'keyFor') - }, function (s2t) { - // eslint-disable-next-line no-restricted-properties - s2t.equal(getSymbolDescription(Symbol['for']('')), '', 'Symbol.for("") description is ""'); - s2t.end(); - }); - - st.end(); - }); - - t.end(); -}); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/runManifestTest.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/runManifestTest.js deleted file mode 100644 index 2fdb4f216..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/runManifestTest.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var path = require('path'); -var fs = require('fs'); - -var forEach = require('foreach'); -var keys = require('object-keys'); - -module.exports = function runManifestTest(test, ES, edition) { - test('ES' + edition + ' manifest', { skip: !fs.readdirSync }, function (t) { - var files = fs.readdirSync(path.join(__dirname, '../../' + edition), 'utf-8'); - var map = { - AbstractEqualityComparison: 'Abstract Equality Comparison', - AbstractRelationalComparison: 'Abstract Relational Comparison', - StrictEqualityComparison: 'Strict Equality Comparison' - }; - forEach(files, function (file) { - var name = path.basename(file, path.extname(file)); - var actual = ES[map[name] || name]; - var expected = require(path.join(__dirname, '../../' + edition + '/', file)); // eslint-disable-line global-require - t.equal(actual, expected, 'ES["' + name + '"] === ' + file); - }); - var actualCount = keys(ES).length; - t.equal(actualCount, files.length, 'expected ' + files.length + ' files, got ' + actualCount); - t.end(); - }); -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/helpers/values.js b/node_modules/object.assign/node_modules/es-abstract/test/helpers/values.js deleted file mode 100644 index f955873e9..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/helpers/values.js +++ /dev/null @@ -1,127 +0,0 @@ -'use strict'; - -var assign = require('../../helpers/assign'); - -var hasSymbols = require('has-symbols')(); -var hasBigInts = require('has-bigints')(); - -var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } }; -var coercibleFnObject = { - valueOf: function () { return function valueOfFn() {}; }, - toString: function () { return 42; } -}; -var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } }; -var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } }; -var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } }; -var uncoercibleFnObject = { - valueOf: function () { return function valueOfFn() {}; }, - toString: function () { return function toStrFn() {}; } -}; -var objects = [{}, coercibleObject, coercibleFnObject, toStringOnlyObject, valueOfOnlyObject]; -var nullPrimitives = [undefined, null]; -var nonIntegerNumbers = [-1.3, 0.2, 1.8, 1 / 3]; -var integerNumbers = [1, 7, 42, 1e17]; -var zeroes = [0, -0]; -var infinities = [Infinity, -Infinity]; -var numbers = zeroes.concat([42], infinities, nonIntegerNumbers); -var strings = ['', 'foo', 'a\uD83D\uDCA9c']; -var booleans = [true, false]; -var symbols = hasSymbols ? [Symbol.iterator, Symbol('foo')] : []; -var bigints = hasBigInts ? [BigInt(42), BigInt(0)] : []; -var nonSymbolPrimitives = [].concat(nullPrimitives, booleans, strings, numbers, bigints); -var nonNumberPrimitives = [].concat(nullPrimitives, booleans, strings, symbols); -var nonNullPrimitives = [].concat(booleans, strings, numbers, symbols, bigints); -var nonUndefinedPrimitives = [].concat(null, nonNullPrimitives); -var nonStrings = [].concat(nullPrimitives, booleans, numbers, symbols, objects, bigints); -var primitives = [].concat(nullPrimitives, nonNullPrimitives); -var nonPropertyKeys = [].concat(nullPrimitives, booleans, numbers, objects); -var propertyKeys = [].concat(strings, symbols); -var nonBooleans = [].concat(nullPrimitives, strings, symbols, numbers, objects); -var falsies = [].concat(nullPrimitives, false, '', 0, -0, NaN); -var truthies = [].concat(true, 'foo', 42, symbols, objects); -var timestamps = [].concat(0, 946713600000, 1546329600000); -var nonFunctions = [].concat(primitives, objects, [42]); -var nonArrays = [].concat(nonFunctions); -var nonBigInts = [].concat(nonNumberPrimitives, numbers); - -var descriptors = { - configurable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Configurable]]': true }); - }, - nonConfigurable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Configurable]]': false }); - }, - enumerable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Enumerable]]': true }); - }, - nonEnumerable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Enumerable]]': false }); - }, - writable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Writable]]': true }); - }, - nonWritable: function (descriptor) { - return assign(assign({}, descriptor), { '[[Writable]]': false }); - } -}; - -module.exports = { - booleans: booleans, - coercibleFnObject: coercibleFnObject, - coercibleObject: coercibleObject, - falsies: falsies, - hasSymbols: hasSymbols, - infinities: infinities, - integerNumbers: integerNumbers, - nonArrays: nonArrays, - nonBigInts: nonBigInts, - nonBooleans: nonBooleans, - nonFunctions: nonFunctions, - nonIntegerNumbers: nonIntegerNumbers, - nonNullPrimitives: nonNullPrimitives, - nonNumberPrimitives: nonNumberPrimitives, - nonNumbers: nonNumberPrimitives.concat(objects), - nonPropertyKeys: nonPropertyKeys, - nonStrings: nonStrings, - nonSymbolPrimitives: nonSymbolPrimitives, - nonUndefinedPrimitives: nonUndefinedPrimitives, - nullPrimitives: nullPrimitives, - numbers: numbers, - objects: objects, - primitives: primitives, - propertyKeys: propertyKeys, - strings: strings, - symbols: symbols, - timestamps: timestamps, - toStringOnlyObject: toStringOnlyObject, - truthies: truthies, - uncoercibleFnObject: uncoercibleFnObject, - uncoercibleObject: uncoercibleObject, - valueOfOnlyObject: valueOfOnlyObject, - zeroes: zeroes, - bothDescriptor: function () { - return { '[[Get]]': function () {}, '[[Value]]': true }; - }, - bothDescriptorWritable: function () { - return descriptors.writable({ '[[Get]]': function () {} }); - }, - accessorDescriptor: function (value) { - return descriptors.enumerable(descriptors.configurable({ - '[[Get]]': function get() { return value; } - })); - }, - mutatorDescriptor: function () { - return descriptors.enumerable(descriptors.configurable({ - '[[Set]]': function () {} - })); - }, - dataDescriptor: function (value) { - return descriptors.nonWritable({ - '[[Value]]': arguments.length > 0 ? value : 42 - }); - }, - genericDescriptor: function () { - return descriptors.configurable(descriptors.nonEnumerable()); - }, - descriptors: descriptors -}; diff --git a/node_modules/object.assign/node_modules/es-abstract/test/index.js b/node_modules/object.assign/node_modules/es-abstract/test/index.js deleted file mode 100644 index 85a73f0dc..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/index.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var ES = require('../'); -var test = require('tape'); -var keys = require('object-keys'); -var forEach = require('foreach'); - -var ESkeys = keys(ES).sort(); -var ES6keys = keys(ES.ES6).sort(); - -test('exposed properties', function (t) { - t.deepEqual(ESkeys, ES6keys.concat(['ES2020', 'ES2019', 'ES2018', 'ES2017', 'ES7', 'ES2016', 'ES6', 'ES2015', 'ES5']).sort(), 'main ES object keys match ES6 keys'); - t.end(); -}); - -test('methods match', function (t) { - forEach(ES6keys, function (key) { - t.equal(ES.ES6[key], ES[key], 'method ' + key + ' on main ES object is ES6 method'); - }); - t.end(); -}); - -require('./GetIntrinsic'); - -require('./helpers/getSymbolDescription'); -require('./helpers/OwnPropertyKeys'); - -require('./es5'); -require('./es6'); -require('./es2015'); -require('./es7'); -require('./es2016'); -require('./es2017'); -require('./es2018'); -require('./es2019'); -require('./es2020'); diff --git a/node_modules/object.assign/node_modules/es-abstract/test/tests.js b/node_modules/object.assign/node_modules/es-abstract/test/tests.js deleted file mode 100644 index e6f294897..000000000 --- a/node_modules/object.assign/node_modules/es-abstract/test/tests.js +++ /dev/null @@ -1,4913 +0,0 @@ -'use strict'; - -var test = require('tape'); - -var forEach = require('foreach'); -var is = require('object-is'); -var debug = require('object-inspect'); -var assign = require('object.assign'); -var keys = require('object-keys'); -var has = require('has'); -var arrowFns = require('make-arrow-function').list(); -var hasStrictMode = require('has-strict-mode')(); -var functionsHaveNames = require('functions-have-names')(); -var functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames(); -var hasBigInts = require('has-bigints')(); - -var $getProto = require('../helpers/getProto'); -var $setProto = require('../helpers/setProto'); -var defineProperty = require('./helpers/defineProperty'); -var getInferredName = require('../helpers/getInferredName'); -var getOwnPropertyDescriptor = require('../helpers/getOwnPropertyDescriptor'); -var assertRecordTests = require('./helpers/assertRecord'); -var v = require('./helpers/values'); -var diffOps = require('./diffOps'); - -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1; - -var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false - -// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated -var noThrowOnStrictViolation = (function () { - try { - delete [].length; - return true; - } catch (e) { - } - return false; -}()); - -var leadingPoo = '\uD83D'; -var trailingPoo = '\uDCA9'; -var wholePoo = leadingPoo + trailingPoo; - -var getArraySubclassWithSpeciesConstructor = function getArraySubclass(speciesConstructor) { - var Bar = function Bar() { - var inst = []; - Object.setPrototypeOf(inst, Bar.prototype); - defineProperty(inst, 'constructor', { value: Bar }); - return inst; - }; - Bar.prototype = Object.create(Array.prototype); - Object.setPrototypeOf(Bar, Array); - defineProperty(Bar, Symbol.species, { value: speciesConstructor }); - - return Bar; -}; - -var testIterator = function (t, iterator, expected) { - var resultCount = 0; - var result; - while (result = iterator.next(), !result.done) { // eslint-disable-line no-sequences - t.deepEqual(result, { done: false, value: expected[resultCount] }, 'result ' + resultCount); - resultCount += 1; - } - t.equal(resultCount, expected.length, 'expected ' + expected.length + ', got ' + resultCount); -}; - -var hasSpecies = v.hasSymbols && Symbol.species; - -var hasLastIndex = 'lastIndex' in (/a/).exec('a'); // IE 8 -var hasGroups = 'groups' in (/a/).exec('a'); // modern engines -var kludgeMatch = function kludgeMatch(R, matchObject) { - if (hasGroups) { - assign(matchObject, { groups: matchObject.groups }); - } - if (hasLastIndex) { - assign(matchObject, { lastIndex: R.lastIndex }); - } - return matchObject; -}; - -var testEnumerableOwnNames = function (t, enumerableOwnNames) { - forEach(v.primitives, function (nonObject) { - t['throws']( - function () { enumerableOwnNames(nonObject); }, - debug(nonObject) + ' is not an Object' - ); - }); - - var Child = function Child() { - this.own = {}; - }; - Child.prototype = { - inherited: {} - }; - - var obj = new Child(); - - t.equal('own' in obj, true, 'has "own"'); - t.equal(has(obj, 'own'), true, 'has own "own"'); - t.equal(Object.prototype.propertyIsEnumerable.call(obj, 'own'), true, 'has enumerable "own"'); - - t.equal('inherited' in obj, true, 'has "inherited"'); - t.equal(has(obj, 'inherited'), false, 'has non-own "inherited"'); - t.equal(has(Child.prototype, 'inherited'), true, 'Child.prototype has own "inherited"'); - t.equal(Child.prototype.inherited, obj.inherited, 'Child.prototype.inherited === obj.inherited'); - t.equal(Object.prototype.propertyIsEnumerable.call(Child.prototype, 'inherited'), true, 'has enumerable "inherited"'); - - t.equal('toString' in obj, true, 'has "toString"'); - t.equal(has(obj, 'toString'), false, 'has non-own "toString"'); - t.equal(has(Object.prototype, 'toString'), true, 'Object.prototype has own "toString"'); - t.equal(Object.prototype.toString, obj.toString, 'Object.prototype.toString === obj.toString'); - // eslint-disable-next-line no-useless-call - t.equal(Object.prototype.propertyIsEnumerable.call(Object.prototype, 'toString'), false, 'has non-enumerable "toString"'); - - return obj; -}; - -var testToNumber = function (t, ES, ToNumber) { - t.ok(is(NaN, ToNumber(undefined)), 'undefined coerces to NaN'); - t.ok(is(ToNumber(null), 0), 'null coerces to +0'); - t.ok(is(ToNumber(false), 0), 'false coerces to +0'); - t.equal(1, ToNumber(true), 'true coerces to 1'); - - t.test('numbers', function (st) { - st.ok(is(NaN, ToNumber(NaN)), 'NaN returns itself'); - forEach(v.zeroes.concat(v.infinities, 42), function (num) { - st.equal(num, ToNumber(num), num + ' returns itself'); - }); - forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) { - st.ok(is(+numString, ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString)); - }); - st.end(); - }); - - t.test('objects', function (st) { - forEach(v.objects, function (object) { - st.ok(is(ToNumber(object), ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does'); - }); - st['throws'](function () { return ToNumber(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - st.end(); - }); - - t.test('binary literals', function (st) { - st.equal(ToNumber('0b10'), 2, '0b10 is 2'); - st.equal(ToNumber({ toString: function () { return '0b11'; } }), 3, 'Object that toStrings to 0b11 is 3'); - - st.equal(true, is(ToNumber('0b12'), NaN), '0b12 is NaN'); - st.equal(true, is(ToNumber({ toString: function () { return '0b112'; } }), NaN), 'Object that toStrings to 0b112 is NaN'); - st.end(); - }); - - t.test('octal literals', function (st) { - st.equal(ToNumber('0o10'), 8, '0o10 is 8'); - st.equal(ToNumber({ toString: function () { return '0o11'; } }), 9, 'Object that toStrings to 0o11 is 9'); - - st.equal(true, is(ToNumber('0o18'), NaN), '0o18 is NaN'); - st.equal(true, is(ToNumber({ toString: function () { return '0o118'; } }), NaN), 'Object that toStrings to 0o118 is NaN'); - st.end(); - }); - - t.test('signed hex numbers', function (st) { - st.equal(true, is(ToNumber('-0xF'), NaN), '-0xF is NaN'); - st.equal(true, is(ToNumber(' -0xF '), NaN), 'space-padded -0xF is NaN'); - st.equal(true, is(ToNumber('+0xF'), NaN), '+0xF is NaN'); - st.equal(true, is(ToNumber(' +0xF '), NaN), 'space-padded +0xF is NaN'); - - st.end(); - }); - - t.test('trimming of whitespace and non-whitespace characters', function (st) { - var whitespace = ' \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000'; - st.equal(0, ToNumber(whitespace + 0 + whitespace), 'whitespace is trimmed'); - - // Zero-width space (zws), next line character (nel), and non-character (bom) are not whitespace. - var nonWhitespaces = { - '\\u0085': '\u0085', - '\\u200b': '\u200b', - '\\ufffe': '\ufffe' - }; - - forEach(nonWhitespaces, function (desc, nonWS) { - st.equal(true, is(ToNumber(nonWS + 0 + nonWS), NaN), 'non-whitespace ' + desc + ' not trimmed'); - }); - - st.end(); - }); - - forEach(v.symbols, function (symbol) { - t['throws']( - function () { ToNumber(symbol); }, - TypeError, - 'Symbols can’t be converted to a Number: ' + debug(symbol) - ); - }); - - t.test('dates', function (st) { - var invalid = new Date(NaN); - st.ok(is(ToNumber(invalid), NaN), 'invalid Date coerces to NaN'); - var now = +new Date(); - st.equal(ToNumber(new Date(now)), now, 'Date coerces to timestamp'); - st.end(); - }); -}; - -var es2015 = function ES2015(ES, ops, expectedMissing, skips) { - test('has expected operations', function (t) { - var diff = diffOps(ES, ops, expectedMissing); - - t.deepEqual(diff.extra, [], 'no extra ops'); - - t.deepEqual(diff.missing, [], 'no unexpected missing ops'); - - t.end(); - }); - - test('ToPrimitive', function (t) { - t.test('primitives', function (st) { - var testPrimitive = function (primitive) { - st.ok(is(ES.ToPrimitive(primitive), primitive), debug(primitive) + ' is returned correctly'); - }; - forEach(v.primitives, testPrimitive); - st.end(); - }); - - t.test('objects', function (st) { - st.equal(ES.ToPrimitive(v.coercibleObject), 3, 'coercibleObject with no hint coerces to valueOf'); - st.ok(is(ES.ToPrimitive({}), '[object Object]'), '{} with no hint coerces to Object#toString'); - st.equal(ES.ToPrimitive(v.coercibleObject, Number), 3, 'coercibleObject with hint Number coerces to valueOf'); - st.ok(is(ES.ToPrimitive({}, Number), '[object Object]'), '{} with hint Number coerces to NaN'); - st.equal(ES.ToPrimitive(v.coercibleObject, String), 42, 'coercibleObject with hint String coerces to nonstringified toString'); - st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString'); - st.equal(ES.ToPrimitive(v.toStringOnlyObject), 7, 'toStringOnlyObject returns non-stringified toString'); - st.equal(ES.ToPrimitive(v.valueOfOnlyObject), 4, 'valueOfOnlyObject returns valueOf'); - st['throws'](function () { return ES.ToPrimitive(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError'); - st.end(); - }); - - t.test('dates', function (st) { - var invalid = new Date(NaN); - st.equal(ES.ToPrimitive(invalid), Date.prototype.toString.call(invalid), 'invalid Date coerces to Date#toString'); - var now = new Date(); - st.equal(ES.ToPrimitive(now), Date.prototype.toString.call(now), 'Date coerces to Date#toString'); - st.end(); - }); - - t.end(); - }); - - test('ToBoolean', function (t) { - t.equal(false, ES.ToBoolean(undefined), 'undefined coerces to false'); - t.equal(false, ES.ToBoolean(null), 'null coerces to false'); - t.equal(false, ES.ToBoolean(false), 'false returns false'); - t.equal(true, ES.ToBoolean(true), 'true returns true'); - - t.test('numbers', function (st) { - forEach(v.zeroes.concat(NaN), function (falsyNumber) { - st.equal(false, ES.ToBoolean(falsyNumber), 'falsy number ' + falsyNumber + ' coerces to false'); - }); - forEach(v.infinities.concat([42, 1]), function (truthyNumber) { - st.equal(true, ES.ToBoolean(truthyNumber), 'truthy number ' + truthyNumber + ' coerces to true'); - }); - - st.end(); - }); - - t.equal(false, ES.ToBoolean(''), 'empty string coerces to false'); - t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true'); - - t.test('objects', function (st) { - forEach(v.objects, function (obj) { - st.equal(true, ES.ToBoolean(obj), 'object coerces to true'); - }); - st.equal(true, ES.ToBoolean(v.uncoercibleObject), 'uncoercibleObject coerces to true'); - - st.end(); - }); - - t.end(); - }); - - test('ToNumber', function (t) { - testToNumber(t, ES, ES.ToNumber); - - t.end(); - }); - - test('ToInteger', function (t) { - t.ok(is(0, ES.ToInteger(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity, 42], function (num) { - t.ok(is(num, ES.ToInteger(num)), num + ' returns itself'); - t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself'); - }); - t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3'); - t['throws'](function () { return ES.ToInteger(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.end(); - }); - - test('ToInt32', function (t) { - t.ok(is(0, ES.ToInt32(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToInt32(num)), num + ' returns +0'); - t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToInt32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1'); - t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31'); - t.ok(is(ES.ToInt32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1'); - forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) { - t.ok(is(ES.ToInt32(num), ES.ToInt32(ES.ToUint32(num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for 0x' + num.toString(16)); - t.ok(is(ES.ToInt32(-num), ES.ToInt32(ES.ToUint32(-num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for -0x' + num.toString(16)); - }); - t.end(); - }); - - test('ToUint32', function (t) { - t.ok(is(0, ES.ToUint32(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToUint32(num)), num + ' returns +0'); - t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToUint32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1'); - t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31'); - t.ok(is(ES.ToUint32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1'); - forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) { - t.ok(is(ES.ToUint32(num), ES.ToUint32(ES.ToInt32(num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for 0x' + num.toString(16)); - t.ok(is(ES.ToUint32(-num), ES.ToUint32(ES.ToInt32(-num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for -0x' + num.toString(16)); - }); - t.end(); - }); - - test('ToInt16', function (t) { - t.ok(is(0, ES.ToInt16(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToInt16(num)), num + ' returns +0'); - t.ok(is(0, ES.ToInt16(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToInt16(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToInt16(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToInt16(0x100000000 - 1), -1), '2^32 - 1 returns -1'); - t.ok(is(ES.ToInt16(0x80000000), 0), '2^31 returns +0'); - t.ok(is(ES.ToInt16(0x80000000 - 1), -1), '2^31 - 1 returns -1'); - t.ok(is(ES.ToInt16(0x10000), 0), '2^16 returns +0'); - t.ok(is(ES.ToInt16(0x10000 - 1), -1), '2^16 - 1 returns -1'); - t.end(); - }); - - test('ToUint16', function (t) { - t.ok(is(0, ES.ToUint16(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToUint16(num)), num + ' returns +0'); - t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToUint16(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1'); - t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0'); - t.ok(is(ES.ToUint16(0x80000000 - 1), 0x10000 - 1), '2^31 - 1 returns 2^16 - 1'); - t.ok(is(ES.ToUint16(0x10000), 0), '2^16 returns +0'); - t.ok(is(ES.ToUint16(0x10000 - 1), 0x10000 - 1), '2^16 - 1 returns 2^16 - 1'); - t.end(); - }); - - test('ToInt8', function (t) { - t.ok(is(0, ES.ToInt8(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToInt8(num)), num + ' returns +0'); - t.ok(is(0, ES.ToInt8(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToInt8(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToInt8(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToInt8(0x100000000 - 1), -1), '2^32 - 1 returns -1'); - t.ok(is(ES.ToInt8(0x80000000), 0), '2^31 returns +0'); - t.ok(is(ES.ToInt8(0x80000000 - 1), -1), '2^31 - 1 returns -1'); - t.ok(is(ES.ToInt8(0x10000), 0), '2^16 returns +0'); - t.ok(is(ES.ToInt8(0x10000 - 1), -1), '2^16 - 1 returns -1'); - t.ok(is(ES.ToInt8(0x100), 0), '2^8 returns +0'); - t.ok(is(ES.ToInt8(0x100 - 1), -1), '2^8 - 1 returns -1'); - t.ok(is(ES.ToInt8(0x10), 0x10), '2^4 returns 2^4'); - t.end(); - }); - - test('ToUint8', function (t) { - t.ok(is(0, ES.ToUint8(NaN)), 'NaN coerces to +0'); - forEach([0, Infinity], function (num) { - t.ok(is(0, ES.ToUint8(num)), num + ' returns +0'); - t.ok(is(0, ES.ToUint8(-num)), '-' + num + ' returns +0'); - }); - t['throws'](function () { return ES.ToUint8(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - t.ok(is(ES.ToUint8(0x100000000), 0), '2^32 returns +0'); - t.ok(is(ES.ToUint8(0x100000000 - 1), 0x100 - 1), '2^32 - 1 returns 2^8 - 1'); - t.ok(is(ES.ToUint8(0x80000000), 0), '2^31 returns +0'); - t.ok(is(ES.ToUint8(0x80000000 - 1), 0x100 - 1), '2^31 - 1 returns 2^8 - 1'); - t.ok(is(ES.ToUint8(0x10000), 0), '2^16 returns +0'); - t.ok(is(ES.ToUint8(0x10000 - 1), 0x100 - 1), '2^16 - 1 returns 2^8 - 1'); - t.ok(is(ES.ToUint8(0x100), 0), '2^8 returns +0'); - t.ok(is(ES.ToUint8(0x100 - 1), 0x100 - 1), '2^8 - 1 returns 2^16 - 1'); - t.ok(is(ES.ToUint8(0x10), 0x10), '2^4 returns 2^4'); - t.ok(is(ES.ToUint8(0x10 - 1), 0x10 - 1), '2^4 - 1 returns 2^4 - 1'); - t.end(); - }); - - test('ToUint8Clamp', function (t) { - t.ok(is(0, ES.ToUint8Clamp(NaN)), 'NaN coerces to +0'); - t.ok(is(0, ES.ToUint8Clamp(0)), '+0 returns +0'); - t.ok(is(0, ES.ToUint8Clamp(-0)), '-0 returns +0'); - t.ok(is(0, ES.ToUint8Clamp(-Infinity)), '-Infinity returns +0'); - t['throws'](function () { return ES.ToUint8Clamp(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - forEach([255, 256, 0x100000, Infinity], function (number) { - t.ok(is(255, ES.ToUint8Clamp(number)), number + ' coerces to 255'); - }); - t.equal(1, ES.ToUint8Clamp(1.49), '1.49 coerces to 1'); - t.equal(2, ES.ToUint8Clamp(1.5), '1.5 coerces to 2, because 2 is even'); - t.equal(2, ES.ToUint8Clamp(1.51), '1.51 coerces to 2'); - - t.equal(2, ES.ToUint8Clamp(2.49), '2.49 coerces to 2'); - t.equal(2, ES.ToUint8Clamp(2.5), '2.5 coerces to 2, because 2 is even'); - t.equal(3, ES.ToUint8Clamp(2.51), '2.51 coerces to 3'); - t.end(); - }); - - test('ToString', function (t) { - forEach(v.objects.concat(v.nonSymbolPrimitives), function (item) { - t.equal(ES.ToString(item), String(item), 'ES.ToString(' + debug(item) + ') ToStrings to String(' + debug(item) + ')'); - }); - - t['throws'](function () { return ES.ToString(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws'); - - forEach(v.symbols, function (symbol) { - t['throws'](function () { return ES.ToString(symbol); }, TypeError, debug(symbol) + ' throws'); - }); - t.end(); - }); - - test('ToObject', function (t) { - t['throws'](function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws'); - t['throws'](function () { return ES.ToObject(null); }, TypeError, 'null throws'); - forEach(v.numbers, function (number) { - var obj = ES.ToObject(number); - t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object'); - t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object'); - t.ok(is(obj.valueOf(), number), 'object of ' + number + ' coerces to ' + number); - }); - t.end(); - }); - - test('RequireObjectCoercible', function (t) { - t.equal(false, 'CheckObjectCoercible' in ES, 'CheckObjectCoercible -> RequireObjectCoercible in ES6'); - t['throws'](function () { return ES.RequireObjectCoercible(undefined); }, TypeError, 'undefined throws'); - t['throws'](function () { return ES.RequireObjectCoercible(null); }, TypeError, 'null throws'); - var isCoercible = function (value) { - t.doesNotThrow(function () { return ES.RequireObjectCoercible(value); }, debug(value) + ' does not throw'); - }; - forEach(v.objects.concat(v.nonNullPrimitives), isCoercible); - t.end(); - }); - - test('IsCallable', function (t) { - t.equal(true, ES.IsCallable(function () {}), 'function is callable'); - var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(v.nonFunctions); - forEach(nonCallables, function (nonCallable) { - t.equal(false, ES.IsCallable(nonCallable), debug(nonCallable) + ' is not callable'); - }); - t.end(); - }); - - test('SameValue', function (t) { - t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN'); - t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0'); - forEach(v.objects.concat(v.primitives), function (val) { - t.equal(val === val, ES.SameValue(val, val), debug(val) + ' is SameValue to itself'); - }); - t.end(); - }); - - test('SameValueZero', function (t) { - t.equal(true, ES.SameValueZero(NaN, NaN), 'NaN is SameValueZero as NaN'); - t.equal(true, ES.SameValueZero(0, -0), '+0 is SameValueZero as -0'); - forEach(v.objects.concat(v.primitives), function (val) { - t.equal(val === val, ES.SameValueZero(val, val), debug(val) + ' is SameValueZero to itself'); - }); - t.end(); - }); - - test('ToPropertyKey', function (t) { - forEach(v.objects.concat(v.nonSymbolPrimitives), function (value) { - t.equal(ES.ToPropertyKey(value), String(value), 'ToPropertyKey(value) === String(value) for non-Symbols'); - }); - - forEach(v.symbols, function (symbol) { - t.equal( - ES.ToPropertyKey(symbol), - symbol, - 'ToPropertyKey(' + debug(symbol) + ') === ' + debug(symbol) - ); - t.equal( - ES.ToPropertyKey(Object(symbol)), - symbol, - 'ToPropertyKey(' + debug(Object(symbol)) + ') === ' + debug(symbol) - ); - }); - - t.end(); - }); - - test('ToLength', function (t) { - t['throws'](function () { return ES.ToLength(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError'); - t.equal(3, ES.ToLength(v.coercibleObject), 'coercibleObject coerces to 3'); - t.equal(42, ES.ToLength('42.5'), '"42.5" coerces to 42'); - t.equal(7, ES.ToLength(7.3), '7.3 coerces to 7'); - forEach([-0, -1, -42, -Infinity], function (negative) { - t.ok(is(0, ES.ToLength(negative)), negative + ' coerces to +0'); - }); - t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 1), '2^53 coerces to 2^53 - 1'); - t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 3), '2^53 + 2 coerces to 2^53 - 1'); - t.end(); - }); - - test('IsArray', function (t) { - t.equal(true, ES.IsArray([]), '[] is array'); - t.equal(false, ES.IsArray({}), '{} is not array'); - t.equal(false, ES.IsArray({ length: 1, 0: true }), 'arraylike object is not array'); - forEach(v.objects.concat(v.primitives), function (value) { - t.equal(false, ES.IsArray(value), debug(value) + ' is not array'); - }); - t.end(); - }); - - test('IsRegExp', function (t) { - forEach([/a/g, new RegExp('a', 'g')], function (regex) { - t.equal(true, ES.IsRegExp(regex), regex + ' is regex'); - }); - - forEach(v.objects.concat(v.primitives), function (nonRegex) { - t.equal(false, ES.IsRegExp(nonRegex), debug(nonRegex) + ' is not regex'); - }); - - t.test('Symbol.match', { skip: !v.hasSymbols || !Symbol.match }, function (st) { - var obj = {}; - obj[Symbol.match] = true; - st.equal(true, ES.IsRegExp(obj), 'object with truthy Symbol.match is regex'); - - var regex = /a/; - regex[Symbol.match] = false; - st.equal(false, ES.IsRegExp(regex), 'regex with falsy Symbol.match is not regex'); - - st.end(); - }); - - t.end(); - }); - - test('IsPropertyKey', function (t) { - forEach(v.numbers.concat(v.objects), function (notKey) { - t.equal(false, ES.IsPropertyKey(notKey), debug(notKey) + ' is not property key'); - }); - - t.equal(true, ES.IsPropertyKey('foo'), 'string is property key'); - - forEach(v.symbols, function (symbol) { - t.equal(true, ES.IsPropertyKey(symbol), debug(symbol) + ' is property key'); - }); - t.end(); - }); - - test('IsInteger', function (t) { - for (var i = -100; i < 100; i += 10) { - t.equal(true, ES.IsInteger(i), i + ' is integer'); - t.equal(false, ES.IsInteger(i + 0.2), (i + 0.2) + ' is not integer'); - } - t.equal(true, ES.IsInteger(-0), '-0 is integer'); - var notInts = v.nonNumbers.concat(v.nonIntegerNumbers, v.infinities, [NaN, [], new Date()]); - forEach(notInts, function (notInt) { - t.equal(false, ES.IsInteger(notInt), debug(notInt) + ' is not integer'); - }); - t.equal(false, ES.IsInteger(v.uncoercibleObject), 'uncoercibleObject is not integer'); - t.end(); - }); - - test('IsExtensible', function (t) { - forEach(v.objects, function (object) { - t.equal(true, ES.IsExtensible(object), debug(object) + ' object is extensible'); - }); - forEach(v.primitives, function (primitive) { - t.equal(false, ES.IsExtensible(primitive), debug(primitive) + ' is not extensible'); - }); - if (Object.preventExtensions) { - t.equal(false, ES.IsExtensible(Object.preventExtensions({})), 'object with extensions prevented is not extensible'); - } - t.end(); - }); - - test('CanonicalNumericIndexString', function (t) { - var throwsOnNonString = function (notString) { - t['throws']( - function () { return ES.CanonicalNumericIndexString(notString); }, - TypeError, - debug(notString) + ' is not a string' - ); - }; - forEach(v.objects.concat(v.numbers), throwsOnNonString); - t.ok(is(-0, ES.CanonicalNumericIndexString('-0')), '"-0" returns -0'); - for (var i = -50; i < 50; i += 10) { - t.equal(i, ES.CanonicalNumericIndexString(String(i)), '"' + i + '" returns ' + i); - t.equal(undefined, ES.CanonicalNumericIndexString(String(i) + 'a'), '"' + i + 'a" returns undefined'); - } - t.end(); - }); - - test('IsConstructor', function (t) { - t.equal(true, ES.IsConstructor(function () {}), 'function is constructor'); - t.equal(false, ES.IsConstructor(/a/g), 'regex is not constructor'); - forEach(v.objects, function (object) { - t.equal(false, ES.IsConstructor(object), object + ' object is not constructor'); - }); - - try { - var arrow = Function('return () => {}')(); // eslint-disable-line no-new-func - t.equal(ES.IsConstructor(arrow), false, 'arrow function is not constructor'); - } catch (e) { - t.comment('SKIP: arrow function syntax not supported.'); - } - - try { - var foo = Function('return class Foo {}')(); // eslint-disable-line no-new-func - t.equal(ES.IsConstructor(foo), true, 'class is constructor'); - } catch (e) { - t.comment('SKIP: class syntax not supported.'); - } - - if (typeof Reflect !== 'object' || typeof Proxy !== 'function' || has(Proxy, 'prototype')) { - t.comment('SKIP: Proxy is constructor'); - } else { - t.equal(ES.IsConstructor(Proxy), true, 'Proxy is constructor'); - } - - t.end(); - }); - - test('Call', function (t) { - var receiver = {}; - var notFuncs = v.nonFunctions.concat([/a/g, new RegExp('a', 'g')]); - t.plan(notFuncs.length + 5); - var throwsIfNotCallable = function (notFunc) { - t['throws']( - function () { return ES.Call(notFunc, receiver); }, - TypeError, - debug(notFunc) + ' (' + typeof notFunc + ') is not callable' - ); - }; - forEach(notFuncs, throwsIfNotCallable); - ES.Call( - function (a, b) { - t.equal(this, receiver, 'context matches expected'); - t.deepEqual([a, b], [1, 2], 'named args are correct'); - t.equal(arguments.length, 3, 'extra argument was passed'); - t.equal(arguments[2], 3, 'extra argument was correct'); - }, - receiver, - [1, 2, 3] - ); - - t.test('Call doesn’t use func.apply', function (st) { - st.plan(4); - - var bad = function (a, b) { - st.equal(this, receiver, 'context matches expected'); - st.deepEqual([a, b], [1, 2], 'named args are correct'); - st.equal(arguments.length, 3, 'extra argument was passed'); - st.equal(arguments[2], 3, 'extra argument was correct'); - }; - - bad.apply = function () { - st.fail('bad.apply shouldn’t get called'); - }; - - ES.Call(bad, receiver, [1, 2, 3]); - st.end(); - }); - - t.end(); - }); - - test('GetV', function (t) { - t['throws'](function () { return ES.GetV({ 7: 7 }, 7); }, TypeError, 'Throws a TypeError if `P` is not a property key'); - var obj = { a: function () {} }; - t.equal(ES.GetV(obj, 'a'), obj.a, 'returns property if it exists'); - t.equal(ES.GetV(obj, 'b'), undefined, 'returns undefiend if property does not exist'); - t.end(); - }); - - test('GetMethod', function (t) { - t['throws'](function () { return ES.GetMethod({ 7: 7 }, 7); }, TypeError, 'Throws a TypeError if `P` is not a property key'); - t.equal(ES.GetMethod({}, 'a'), undefined, 'returns undefined in property is undefined'); - t.equal(ES.GetMethod({ a: null }, 'a'), undefined, 'returns undefined if property is null'); - t.equal(ES.GetMethod({ a: undefined }, 'a'), undefined, 'returns undefined if property is undefined'); - var obj = { a: function () {} }; - t['throws'](function () { ES.GetMethod({ a: 'b' }, 'a'); }, TypeError, 'throws TypeError if property exists and is not callable'); - t.equal(ES.GetMethod(obj, 'a'), obj.a, 'returns property if it is callable'); - t.end(); - }); - - test('Get', function (t) { - t['throws'](function () { return ES.Get('a', 'a'); }, TypeError, 'Throws a TypeError if `O` is not an Object'); - t['throws'](function () { return ES.Get({ 7: 7 }, 7); }, TypeError, 'Throws a TypeError if `P` is not a property key'); - - var value = {}; - t.test('Symbols', { skip: !v.hasSymbols }, function (st) { - var sym = Symbol('sym'); - var obj = {}; - obj[sym] = value; - st.equal(ES.Get(obj, sym), value, 'returns property `P` if it exists on object `O`'); - st.end(); - }); - t.equal(ES.Get({ a: value }, 'a'), value, 'returns property `P` if it exists on object `O`'); - t.end(); - }); - - test('Type', { skip: !v.hasSymbols }, function (t) { - t.equal(ES.Type(Symbol.iterator), 'Symbol', 'Type(Symbol.iterator) is Symbol'); - t.end(); - }); - - test('SpeciesConstructor', function (t) { - t['throws'](function () { ES.SpeciesConstructor(null); }, TypeError); - t['throws'](function () { ES.SpeciesConstructor(undefined); }, TypeError); - - var defaultConstructor = function Foo() {}; - - t.equal( - ES.SpeciesConstructor({ constructor: undefined }, defaultConstructor), - defaultConstructor, - 'undefined constructor returns defaultConstructor' - ); - - t['throws']( - function () { return ES.SpeciesConstructor({ constructor: null }, defaultConstructor); }, - TypeError, - 'non-undefined non-object constructor throws' - ); - - t.test('with Symbol.species', { skip: !hasSpecies }, function (st) { - var Bar = function Bar() {}; - Bar[Symbol.species] = null; - - st.equal( - ES.SpeciesConstructor(new Bar(), defaultConstructor), - defaultConstructor, - 'undefined/null Symbol.species returns default constructor' - ); - - var Baz = function Baz() {}; - Baz[Symbol.species] = Bar; - st.equal( - ES.SpeciesConstructor(new Baz(), defaultConstructor), - Bar, - 'returns Symbol.species constructor value' - ); - - Baz[Symbol.species] = {}; - st['throws']( - function () { ES.SpeciesConstructor(new Baz(), defaultConstructor); }, - TypeError, - 'throws when non-constructor non-null non-undefined species value found' - ); - - st.end(); - }); - - t.end(); - }); - - test('IsPropertyDescriptor', { skip: skips && skips.IsPropertyDescriptor }, function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t.equal( - ES.IsPropertyDescriptor(primitive), - false, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.equal(ES.IsPropertyDescriptor({ invalid: true }), false, 'invalid keys not allowed on a Property Descriptor'); - - t.equal(ES.IsPropertyDescriptor({}), true, 'empty object is an incomplete Property Descriptor'); - - t.equal(ES.IsPropertyDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.dataDescriptor()), true, 'data descriptor is a Property Descriptor'); - t.equal(ES.IsPropertyDescriptor(v.genericDescriptor()), true, 'generic descriptor is a Property Descriptor'); - - t['throws']( - function () { ES.IsPropertyDescriptor(v.bothDescriptor()); }, - TypeError, - 'a Property Descriptor can not be both a Data and an Accessor Descriptor' - ); - - t.end(); - }); - - assertRecordTests(ES, test); - - test('IsAccessorDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.IsAccessorDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.equal(ES.IsAccessorDescriptor(), false, 'no value is not an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(undefined), false, 'undefined value is not an Accessor Descriptor'); - - t.equal(ES.IsAccessorDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor'); - t.equal(ES.IsAccessorDescriptor(v.genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor'); - - t.end(); - }); - - test('IsDataDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.IsDataDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.equal(ES.IsDataDescriptor(), false, 'no value is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(undefined), false, 'undefined value is not a Data Descriptor'); - - t.equal(ES.IsDataDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.dataDescriptor()), true, 'data descriptor is a Data Descriptor'); - t.equal(ES.IsDataDescriptor(v.genericDescriptor()), false, 'generic descriptor is not a Data Descriptor'); - - t.end(); - }); - - test('IsGenericDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.IsGenericDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.equal(ES.IsGenericDescriptor(), false, 'no value is not a Data Descriptor'); - t.equal(ES.IsGenericDescriptor(undefined), false, 'undefined value is not a Data Descriptor'); - - t.equal(ES.IsGenericDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor'); - t.equal(ES.IsGenericDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor'); - t.equal(ES.IsGenericDescriptor(v.dataDescriptor()), false, 'data descriptor is not a generic Descriptor'); - - t.equal(ES.IsGenericDescriptor(v.genericDescriptor()), true, 'generic descriptor is a generic Descriptor'); - - t.end(); - }); - - test('FromPropertyDescriptor', function (t) { - t.equal(ES.FromPropertyDescriptor(), undefined, 'no value begets undefined'); - t.equal(ES.FromPropertyDescriptor(undefined), undefined, 'undefined value begets undefined'); - - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.FromPropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - var accessor = v.accessorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(accessor), { - get: accessor['[[Get]]'], - enumerable: !!accessor['[[Enumerable]]'], - configurable: !!accessor['[[Configurable]]'] - }); - - var mutator = v.mutatorDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(mutator), { - set: mutator['[[Set]]'], - enumerable: !!mutator['[[Enumerable]]'], - configurable: !!mutator['[[Configurable]]'] - }); - var data = v.dataDescriptor(); - t.deepEqual(ES.FromPropertyDescriptor(data), { - value: data['[[Value]]'], - writable: data['[[Writable]]'] - }); - - t.deepEqual(ES.FromPropertyDescriptor(v.genericDescriptor()), { - enumerable: false, - configurable: true - }); - - t.end(); - }); - - test('ToPropertyDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.ToPropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - var accessor = v.accessorDescriptor(); - t.deepEqual(ES.ToPropertyDescriptor({ - get: accessor['[[Get]]'], - enumerable: !!accessor['[[Enumerable]]'], - configurable: !!accessor['[[Configurable]]'] - }), accessor); - - var mutator = v.mutatorDescriptor(); - t.deepEqual(ES.ToPropertyDescriptor({ - set: mutator['[[Set]]'], - enumerable: !!mutator['[[Enumerable]]'], - configurable: !!mutator['[[Configurable]]'] - }), mutator); - - var data = v.dataDescriptor(); - t.deepEqual(ES.ToPropertyDescriptor({ - value: data['[[Value]]'], - writable: data['[[Writable]]'], - configurable: !!data['[[Configurable]]'] - }), assign(data, { '[[Configurable]]': false })); - - var both = v.bothDescriptor(); - t['throws']( - function () { - ES.FromPropertyDescriptor({ get: both['[[Get]]'], value: both['[[Value]]'] }); - }, - TypeError, - 'data and accessor descriptors are mutually exclusive' - ); - - t.end(); - }); - - test('CompletePropertyDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.CompletePropertyDescriptor(primitive); }, - TypeError, - debug(primitive) + ' is not a Property Descriptor' - ); - }); - - var generic = v.genericDescriptor(); - t.deepEqual( - ES.CompletePropertyDescriptor(generic), - { - '[[Configurable]]': !!generic['[[Configurable]]'], - '[[Enumerable]]': !!generic['[[Enumerable]]'], - '[[Value]]': undefined, - '[[Writable]]': false - }, - 'completes a Generic Descriptor' - ); - - var data = v.dataDescriptor(); - t.deepEqual( - ES.CompletePropertyDescriptor(data), - { - '[[Configurable]]': !!data['[[Configurable]]'], - '[[Enumerable]]': false, - '[[Value]]': data['[[Value]]'], - '[[Writable]]': !!data['[[Writable]]'] - }, - 'completes a Data Descriptor' - ); - - var accessor = v.accessorDescriptor(); - t.deepEqual( - ES.CompletePropertyDescriptor(accessor), - { - '[[Get]]': accessor['[[Get]]'], - '[[Enumerable]]': !!accessor['[[Enumerable]]'], - '[[Configurable]]': !!accessor['[[Configurable]]'], - '[[Set]]': undefined - }, - 'completes an Accessor Descriptor' - ); - - var mutator = v.mutatorDescriptor(); - t.deepEqual( - ES.CompletePropertyDescriptor(mutator), - { - '[[Set]]': mutator['[[Set]]'], - '[[Enumerable]]': !!mutator['[[Enumerable]]'], - '[[Configurable]]': !!mutator['[[Configurable]]'], - '[[Get]]': undefined - }, - 'completes a mutator Descriptor' - ); - - t['throws']( - function () { ES.CompletePropertyDescriptor(v.bothDescriptor()); }, - TypeError, - 'data and accessor descriptors are mutually exclusive' - ); - - t.end(); - }); - - test('Set', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.Set(primitive, '', null, false); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonKey) { - t['throws']( - function () { ES.Set({}, nonKey, null, false); }, - TypeError, - debug(nonKey) + ' is not a Property Key' - ); - }); - - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { ES.Set({}, '', null, nonBoolean); }, - TypeError, - debug(nonBoolean) + ' is not a Boolean' - ); - }); - - var o = {}; - var value = {}; - ES.Set(o, 'key', value, true); - t.deepEqual(o, { key: value }, 'key is set'); - - t.test('nonwritable', { skip: !defineProperty.oDP }, function (st) { - var obj = { a: value }; - defineProperty(obj, 'a', { writable: false }); - - st['throws']( - function () { ES.Set(obj, 'a', {}, true); }, - TypeError, - 'can not Set nonwritable property' - ); - - st.doesNotThrow( - function () { - st.equal(ES.Set(obj, 'a', {}, false), false, 'unsuccessful Set returns false'); - }, - 'setting Throw to false prevents an exception' - ); - - st.end(); - }); - - t.test('nonconfigurable', { skip: !defineProperty.oDP }, function (st) { - var obj = { a: value }; - defineProperty(obj, 'a', { configurable: false }); - - st.equal(ES.Set(obj, 'a', value, true), true, 'successful Set returns true'); - st.deepEqual(obj, { a: value }, 'key is set'); - - st.end(); - }); - - t.test('doesn’t call [[Get]] in conforming strict mode environments', { skip: noThrowOnStrictViolation }, function (st) { - var getterCalled = false; - var setterCalls = 0; - var obj = {}; - defineProperty(obj, 'a', { - get: function () { - getterCalled = true; - }, - set: function () { - setterCalls += 1; - } - }); - - st.equal(ES.Set(obj, 'a', value, false), true, 'successful Set returns true'); - st.equal(setterCalls, 1, 'setter was called once'); - st.equal(getterCalled, false, 'getter was not called'); - - st.end(); - }); - - t.end(); - }); - - test('HasOwnProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.HasOwnProperty(primitive, 'key'); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonKey) { - t['throws']( - function () { ES.HasOwnProperty({}, nonKey); }, - TypeError, - debug(nonKey) + ' is not a Property Key' - ); - }); - - t.equal(ES.HasOwnProperty({}, 'toString'), false, 'inherited properties are not own'); - t.equal( - ES.HasOwnProperty({ toString: 1 }, 'toString'), - true, - 'shadowed inherited own properties are own' - ); - t.equal(ES.HasOwnProperty({ a: 1 }, 'a'), true, 'own properties are own'); - - t.end(); - }); - - test('HasProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.HasProperty(primitive, 'key'); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonKey) { - t['throws']( - function () { ES.HasProperty({}, nonKey); }, - TypeError, - debug(nonKey) + ' is not a Property Key' - ); - }); - - t.equal(ES.HasProperty({}, 'nope'), false, 'object does not have nonexistent properties'); - t.equal(ES.HasProperty({}, 'toString'), true, 'object has inherited properties'); - t.equal( - ES.HasProperty({ toString: 1 }, 'toString'), - true, - 'object has shadowed inherited own properties' - ); - t.equal(ES.HasProperty({ a: 1 }, 'a'), true, 'object has own properties'); - - t.end(); - }); - - test('IsConcatSpreadable', function (t) { - forEach(v.primitives, function (primitive) { - t.equal(ES.IsConcatSpreadable(primitive), false, debug(primitive) + ' is not an Object'); - }); - - var hasSymbolConcatSpreadable = v.hasSymbols && Symbol.isConcatSpreadable; - t.test('Symbol.isConcatSpreadable', { skip: !hasSymbolConcatSpreadable }, function (st) { - forEach(v.falsies, function (falsy) { - var obj = {}; - obj[Symbol.isConcatSpreadable] = falsy; - st.equal( - ES.IsConcatSpreadable(obj), - false, - 'an object with ' + debug(falsy) + ' as Symbol.isConcatSpreadable is not concat spreadable' - ); - }); - - forEach(v.truthies, function (truthy) { - var obj = {}; - obj[Symbol.isConcatSpreadable] = truthy; - st.equal( - ES.IsConcatSpreadable(obj), - true, - 'an object with ' + debug(truthy) + ' as Symbol.isConcatSpreadable is concat spreadable' - ); - }); - - st.end(); - }); - - forEach(v.objects, function (object) { - t.equal( - ES.IsConcatSpreadable(object), - false, - 'non-array without Symbol.isConcatSpreadable is not concat spreadable' - ); - }); - - t.equal(ES.IsConcatSpreadable([]), true, 'arrays are concat spreadable'); - - t.end(); - }); - - test('Invoke', function (t) { - forEach(v.nonPropertyKeys, function (nonKey) { - t['throws']( - function () { ES.Invoke({}, nonKey); }, - TypeError, - debug(nonKey) + ' is not a Property Key' - ); - }); - - t['throws'](function () { ES.Invoke({ o: false }, 'o'); }, TypeError, 'fails on a non-function'); - - t.test('invoked callback', function (st) { - var aValue = {}; - var bValue = {}; - var obj = { - f: function (a) { - st.equal(arguments.length, 2, '2 args passed'); - st.equal(a, aValue, 'first arg is correct'); - st.equal(arguments[1], bValue, 'second arg is correct'); - } - }; - st.plan(3); - ES.Invoke(obj, 'f', aValue, bValue); - }); - - t.end(); - }); - - test('GetIterator', function (t) { - var arr = [1, 2]; - testIterator(t, ES.GetIterator(arr), arr); - - testIterator(t, ES.GetIterator('abc'), 'abc'.split('')); - - t.test('Symbol.iterator', { skip: !v.hasSymbols }, function (st) { - var m = new Map(); - m.set(1, 'a'); - m.set(2, 'b'); - - testIterator(st, ES.GetIterator(m), [[1, 'a'], [2, 'b']]); - - st.end(); - }); - - t.end(); - }); - - test('IteratorNext', { skip: true }); - - test('IteratorComplete', { skip: true }); - - test('IteratorValue', { skip: true }); - - test('IteratorStep', { skip: true }); - - test('IteratorClose', { skip: true }); - - test('CreateIterResultObject', function (t) { - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { ES.CreateIterResultObject({}, nonBoolean); }, - TypeError, - '"done" argument must be a boolean; ' + debug(nonBoolean) + ' is not' - ); - }); - - var value = {}; - t.deepEqual( - ES.CreateIterResultObject(value, true), - { value: value, done: true }, - 'creates a "done" iteration result' - ); - t.deepEqual( - ES.CreateIterResultObject(value, false), - { value: value, done: false }, - 'creates a "not done" iteration result' - ); - - t.end(); - }); - - test('RegExpExec', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.RegExpExec(primitive); }, - TypeError, - '"R" argument must be an object; ' + debug(primitive) + ' is not' - ); - }); - - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.RegExpExec({}, nonString); }, - TypeError, - '"S" argument must be a String; ' + debug(nonString) + ' is not' - ); - }); - - t.test('gets and calls a callable "exec"', function (st) { - var str = '123'; - var o = { - exec: function (S) { - st.equal(this, o, '"exec" receiver is R'); - st.equal(S, str, '"exec" argument is S'); - - return null; - } - }; - st.plan(2); - ES.RegExpExec(o, str); - st.end(); - }); - - t.test('throws if a callable "exec" returns a non-null non-object', function (st) { - var str = '123'; - st.plan(v.nonNullPrimitives.length); - forEach(v.nonNullPrimitives, function (nonNullPrimitive) { - st['throws']( - function () { ES.RegExpExec({ exec: function () { return nonNullPrimitive; } }, str); }, - TypeError, - '"exec" method must return `null` or an Object; ' + debug(nonNullPrimitive) + ' is not' - ); - }); - st.end(); - }); - - t.test('actual regex that should match against a string', function (st) { - var S = 'aabc'; - var R = /a/g; - var match1 = ES.RegExpExec(R, S); - var expected1 = assign(['a'], kludgeMatch(R, { index: 0, input: S })); - var match2 = ES.RegExpExec(R, S); - var expected2 = assign(['a'], kludgeMatch(R, { index: 1, input: S })); - var match3 = ES.RegExpExec(R, S); - st.deepEqual(match1, expected1, 'match object 1 is as expected'); - st.deepEqual(match2, expected2, 'match object 2 is as expected'); - st.equal(match3, null, 'match 3 is null as expected'); - st.end(); - }); - - t.test('actual regex that should match against a string, with shadowed "exec"', function (st) { - var S = 'aabc'; - var R = /a/g; - R.exec = undefined; - var match1 = ES.RegExpExec(R, S); - var expected1 = assign(['a'], kludgeMatch(R, { index: 0, input: S })); - var match2 = ES.RegExpExec(R, S); - var expected2 = assign(['a'], kludgeMatch(R, { index: 1, input: S })); - var match3 = ES.RegExpExec(R, S); - st.deepEqual(match1, expected1, 'match object 1 is as expected'); - st.deepEqual(match2, expected2, 'match object 2 is as expected'); - st.equal(match3, null, 'match 3 is null as expected'); - st.end(); - }); - t.end(); - }); - - test('ArraySpeciesCreate', function (t) { - t.test('errors', function (st) { - var testNonNumber = function (nonNumber) { - st['throws']( - function () { ES.ArraySpeciesCreate([], nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a number' - ); - }; - forEach(v.nonNumbers, testNonNumber); - - st['throws']( - function () { ES.ArraySpeciesCreate([], -1); }, - TypeError, - '-1 is not >= 0' - ); - st['throws']( - function () { ES.ArraySpeciesCreate([], -Infinity); }, - TypeError, - '-Infinity is not >= 0' - ); - - var testNonIntegers = function (nonInteger) { - st['throws']( - function () { ES.ArraySpeciesCreate([], nonInteger); }, - TypeError, - debug(nonInteger) + ' is not an integer' - ); - }; - forEach(v.nonIntegerNumbers, testNonIntegers); - - st.end(); - }); - - t.test('works with a non-array', function (st) { - forEach(v.objects.concat(v.primitives), function (nonArray) { - var arr = ES.ArraySpeciesCreate(nonArray, 0); - st.ok(ES.IsArray(arr), 'is an array'); - st.equal(arr.length, 0, 'length is correct'); - st.equal(arr.constructor, Array, 'constructor is correct'); - }); - - st.end(); - }); - - t.test('works with a normal array', function (st) { - var len = 2; - var orig = [1, 2, 3]; - var arr = ES.ArraySpeciesCreate(orig, len); - - st.ok(ES.IsArray(arr), 'is an array'); - st.equal(arr.length, len, 'length is correct'); - st.equal(arr.constructor, orig.constructor, 'constructor is correct'); - - st.end(); - }); - - t.test('-0 length produces +0 length', function (st) { - var len = -0; - st.ok(is(len, -0), '-0 is negative zero'); - st.notOk(is(len, 0), '-0 is not positive zero'); - - var orig = [1, 2, 3]; - var arr = ES.ArraySpeciesCreate(orig, len); - - st.equal(ES.IsArray(arr), true); - st.ok(is(arr.length, 0)); - st.equal(arr.constructor, orig.constructor); - - st.end(); - }); - - t.test('works with species construtor', { skip: !hasSpecies }, function (st) { - var sentinel = {}; - var Foo = function Foo(len) { - this.length = len; - this.sentinel = sentinel; - }; - var Bar = getArraySubclassWithSpeciesConstructor(Foo); - var bar = new Bar(); - - st.equal(ES.IsArray(bar), true, 'Bar instance is an array'); - - var arr = ES.ArraySpeciesCreate(bar, 3); - st.equal(arr.constructor, Foo, 'result used species constructor'); - st.equal(arr.length, 3, 'length property is correct'); - st.equal(arr.sentinel, sentinel, 'Foo constructor was exercised'); - - st.end(); - }); - - t.test('works with null species constructor', { skip: !hasSpecies }, function (st) { - var Bar = getArraySubclassWithSpeciesConstructor(null); - var bar = new Bar(); - - st.equal(ES.IsArray(bar), true, 'Bar instance is an array'); - - var arr = ES.ArraySpeciesCreate(bar, 3); - st.equal(arr.constructor, Array, 'result used default constructor'); - st.equal(arr.length, 3, 'length property is correct'); - - st.end(); - }); - - t.test('works with undefined species constructor', { skip: !hasSpecies }, function (st) { - var Bar = getArraySubclassWithSpeciesConstructor(); - var bar = new Bar(); - - st.equal(ES.IsArray(bar), true, 'Bar instance is an array'); - - var arr = ES.ArraySpeciesCreate(bar, 3); - st.equal(arr.constructor, Array, 'result used default constructor'); - st.equal(arr.length, 3, 'length property is correct'); - - st.end(); - }); - - t.test('throws with object non-construtor species constructor', { skip: !hasSpecies }, function (st) { - forEach(v.objects, function (obj) { - var Bar = getArraySubclassWithSpeciesConstructor(obj); - var bar = new Bar(); - - st.equal(ES.IsArray(bar), true, 'Bar instance is an array'); - - st['throws']( - function () { ES.ArraySpeciesCreate(bar, 3); }, - TypeError, - debug(obj) + ' is not a constructor' - ); - }); - - st.end(); - }); - - t.end(); - }); - - test('CreateDataProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.CreateDataProperty(primitive); }, - TypeError, - debug(primitive) + ' is not an object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.CreateDataProperty({}, nonPropertyKey); }, - TypeError, - debug(nonPropertyKey) + ' is not a property key' - ); - }); - - var sentinel = { id: 'sentinel' }; - var secondSentinel = { id: 'second sentinel' }; - forEach(v.propertyKeys, function (propertyKey) { - var obj = {}; - var status = ES.CreateDataProperty(obj, propertyKey, sentinel); - t.equal(status, true, 'status is true'); - t.equal( - obj[propertyKey], - sentinel, - debug(sentinel) + ' is installed on "' + debug(propertyKey) + '" on the object' - ); - var secondStatus = ES.CreateDataProperty(obj, propertyKey, secondSentinel); - t.equal(secondStatus, true, 'second status is true'); - t.equal( - obj[propertyKey], - secondSentinel, - debug(secondSentinel) + ' is installed on "' + debug(propertyKey) + '" on the object' - ); - - t.test('with defineProperty', { skip: !defineProperty.oDP }, function (st) { - var nonWritable = defineProperty({}, propertyKey, { configurable: true, writable: false }); - - var nonWritableStatus = ES.CreateDataProperty(nonWritable, propertyKey, sentinel); - st.equal(nonWritableStatus, false, 'create data property failed'); - st.notEqual( - nonWritable[propertyKey], - sentinel, - debug(sentinel) + ' is not installed on "' + debug(propertyKey) + '" on the object when key is nonwritable' - ); - - var nonConfigurable = defineProperty({}, propertyKey, { configurable: false, writable: true }); - - var nonConfigurableStatus = ES.CreateDataProperty(nonConfigurable, propertyKey, sentinel); - st.equal(nonConfigurableStatus, false, 'create data property failed'); - st.notEqual( - nonConfigurable[propertyKey], - sentinel, - debug(sentinel) + ' is not installed on "' + debug(propertyKey) + '" on the object when key is nonconfigurable' - ); - st.end(); - }); - }); - - t.end(); - }); - - test('CreateDataPropertyOrThrow', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.CreateDataPropertyOrThrow(primitive); }, - TypeError, - debug(primitive) + ' is not an object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.CreateDataPropertyOrThrow({}, nonPropertyKey); }, - TypeError, - debug(nonPropertyKey) + ' is not a property key' - ); - }); - - var sentinel = {}; - forEach(v.propertyKeys, function (propertyKey) { - var obj = {}; - var status = ES.CreateDataPropertyOrThrow(obj, propertyKey, sentinel); - t.equal(status, true, 'status is true'); - t.equal( - obj[propertyKey], - sentinel, - debug(sentinel) + ' is installed on "' + debug(propertyKey) + '" on the object' - ); - - if (typeof Object.preventExtensions === 'function') { - var notExtensible = {}; - Object.preventExtensions(notExtensible); - - t['throws']( - function () { ES.CreateDataPropertyOrThrow(notExtensible, propertyKey, sentinel); }, - TypeError, - 'can not install ' + debug(propertyKey) + ' on non-extensible object' - ); - t.notEqual( - notExtensible[propertyKey], - sentinel, - debug(sentinel) + ' is not installed on "' + debug(propertyKey) + '" on the object' - ); - } - }); - - t.end(); - }); - - test('ObjectCreate', { skip: skips && skips.ObjectCreate }, function (t) { - forEach(v.nonNullPrimitives, function (value) { - t['throws']( - function () { ES.ObjectCreate(value); }, - TypeError, - debug(value) + ' is not null, or an object' - ); - }); - - t.test('proto arg', function (st) { - var Parent = function Parent() {}; - Parent.prototype.foo = {}; - var child = ES.ObjectCreate(Parent.prototype); - st.equal(child instanceof Parent, true, 'child is instanceof Parent'); - st.equal(child.foo, Parent.prototype.foo, 'child inherits properties from Parent.prototype'); - - st.end(); - }); - - t.test('internal slots arg', function (st) { - st.doesNotThrow(function () { ES.ObjectCreate({}, []); }, 'an empty slot list is valid'); - - st['throws']( - function () { ES.ObjectCreate({}, ['a']); }, - SyntaxError, - 'internal slots are not supported' - ); - - st.end(); - }); - - t.test('null proto', { skip: !Object.create && !$setProto }, function (st) { - st.equal('toString' in {}, true, 'normal objects have toString'); - st.equal('toString' in ES.ObjectCreate(null), false, 'makes a null object'); - - st.end(); - }); - - t.test('null proto when no native Object.create', { skip: Object.create || $setProto }, function (st) { - st['throws']( - function () { ES.ObjectCreate(null); }, - SyntaxError, - 'without a native Object.create, can not create null objects' - ); - - st.end(); - }); - - t.end(); - }); - - test('AdvanceStringIndex', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.AdvanceStringIndex(nonString); }, - TypeError, - '"S" argument must be a String; ' + debug(nonString) + ' is not' - ); - }); - - var notInts = v.nonNumbers.concat( - v.nonIntegerNumbers, - v.infinities, - [NaN, [], new Date(), Math.pow(2, 53), -1] - ); - forEach(notInts, function (nonInt) { - t['throws']( - function () { ES.AdvanceStringIndex('abc', nonInt); }, - TypeError, - '"index" argument must be an integer, ' + debug(nonInt) + ' is not.' - ); - }); - - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { ES.AdvanceStringIndex('abc', 0, nonBoolean); }, - TypeError, - debug(nonBoolean) + ' is not a Boolean' - ); - }); - - var str = 'a' + wholePoo + 'c'; - - t.test('non-unicode mode', function (st) { - for (var i = 0; i < str.length + 2; i += 1) { - st.equal(ES.AdvanceStringIndex(str, i, false), i + 1, i + ' advances to ' + (i + 1)); - } - - st.end(); - }); - - t.test('unicode mode', function (st) { - st.equal(ES.AdvanceStringIndex(str, 0, true), 1, '0 advances to 1'); - st.equal(ES.AdvanceStringIndex(str, 1, true), 3, '1 advances to 3'); - st.equal(ES.AdvanceStringIndex(str, 2, true), 3, '2 advances to 3'); - st.equal(ES.AdvanceStringIndex(str, 3, true), 4, '3 advances to 4'); - st.equal(ES.AdvanceStringIndex(str, 4, true), 5, '4 advances to 5'); - - st.end(); - }); - - t.test('lone surrogates', function (st) { - var halfPoo = 'a' + leadingPoo + 'c'; - - st.equal(ES.AdvanceStringIndex(halfPoo, 0, true), 1, '0 advances to 1'); - st.equal(ES.AdvanceStringIndex(halfPoo, 1, true), 2, '1 advances to 2'); - st.equal(ES.AdvanceStringIndex(halfPoo, 2, true), 3, '2 advances to 3'); - st.equal(ES.AdvanceStringIndex(halfPoo, 3, true), 4, '3 advances to 4'); - - st.end(); - }); - - t.test('surrogate pairs', function (st) { - var lowestPair = String.fromCharCode('0xD800') + String.fromCharCode('0xDC00'); - var highestPair = String.fromCharCode('0xDBFF') + String.fromCharCode('0xDFFF'); - - st.equal(ES.AdvanceStringIndex(lowestPair, 0, true), 2, 'lowest surrogate pair, 0 -> 2'); - st.equal(ES.AdvanceStringIndex(highestPair, 0, true), 2, 'highest surrogate pair, 0 -> 2'); - st.equal(ES.AdvanceStringIndex(wholePoo, 0, true), 2, 'poop, 0 -> 2'); - - st.end(); - }); - - t.end(); - }); - - test('CreateMethodProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.CreateMethodProperty(primitive, 'key'); }, - TypeError, - 'O must be an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.CreateMethodProperty({}, nonPropertyKey); }, - TypeError, - debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.test('defines correctly', function (st) { - var obj = {}; - var key = 'the key'; - var value = { foo: 'bar' }; - - st.equal(ES.CreateMethodProperty(obj, key, value), true, 'defines property successfully'); - st.test('property descriptor', { skip: !getOwnPropertyDescriptor }, function (s2t) { - s2t.deepEqual( - getOwnPropertyDescriptor(obj, key), - { - configurable: true, - enumerable: false, - value: value, - writable: true - }, - 'sets the correct property descriptor' - ); - - s2t.end(); - }); - st.equal(obj[key], value, 'sets the correct value'); - - st.end(); - }); - - t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) { - var obj = Object.freeze({ foo: 'bar' }); - st['throws']( - function () { ES.CreateMethodProperty(obj, 'foo', { value: 'baz' }); }, - TypeError, - 'nonconfigurable key can not be defined' - ); - - st.end(); - }); - - t.test('fails as expected on a function with a nonconfigurable name', { skip: !functionsHaveNames || functionsHaveConfigurableNames }, function (st) { - st['throws']( - function () { ES.CreateMethodProperty(function () {}, 'name', { value: 'baz' }); }, - TypeError, - 'nonconfigurable function name can not be defined' - ); - st.end(); - }); - - t.end(); - }); - - test('DefinePropertyOrThrow', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.DefinePropertyOrThrow(primitive, 'key', {}); }, - TypeError, - 'O must be an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.DefinePropertyOrThrow({}, nonPropertyKey, {}); }, - TypeError, - debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.test('defines correctly', function (st) { - var obj = {}; - var key = 'the key'; - var descriptor = { - configurable: true, - enumerable: false, - value: { foo: 'bar' }, - writable: true - }; - - st.equal(ES.DefinePropertyOrThrow(obj, key, descriptor), true, 'defines property successfully'); - st.test('property descriptor', { skip: !getOwnPropertyDescriptor }, function (s2t) { - s2t.deepEqual( - getOwnPropertyDescriptor(obj, key), - descriptor, - 'sets the correct property descriptor' - ); - - s2t.end(); - }); - st.deepEqual(obj[key], descriptor.value, 'sets the correct value'); - - st.end(); - }); - - t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) { - var obj = Object.freeze({ foo: 'bar' }); - st['throws']( - function () { - ES.DefinePropertyOrThrow(obj, 'foo', { configurable: true, value: 'baz' }); - }, - TypeError, - 'nonconfigurable key can not be defined' - ); - - st.end(); - }); - - t.test('fails as expected on a function with a nonconfigurable name', { skip: !functionsHaveNames || functionsHaveConfigurableNames }, function (st) { - st['throws']( - function () { - ES.DefinePropertyOrThrow(function () {}, 'name', { configurable: true, value: 'baz' }); - }, - TypeError, - 'nonconfigurable function name can not be defined' - ); - st.end(); - }); - - t.end(); - }); - - test('DeletePropertyOrThrow', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.DeletePropertyOrThrow(primitive, 'key', {}); }, - TypeError, - 'O must be an Object' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.DeletePropertyOrThrow({}, nonPropertyKey, {}); }, - TypeError, - debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.test('defines correctly', function (st) { - var obj = { 'the key': 42 }; - var key = 'the key'; - - st.equal(ES.DeletePropertyOrThrow(obj, key), true, 'deletes property successfully'); - st.equal(key in obj, false, 'key is no longer in the object'); - - st.end(); - }); - - t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) { - var obj = Object.freeze({ foo: 'bar' }); - st['throws']( - function () { ES.DeletePropertyOrThrow(obj, 'foo'); }, - TypeError, - 'nonconfigurable key can not be deleted' - ); - - st.end(); - }); - - t.test('fails as expected on a function with a nonconfigurable name', { skip: !functionsHaveNames || functionsHaveConfigurableNames }, function (st) { - st['throws']( - function () { ES.DeletePropertyOrThrow(function () {}, 'name'); }, - TypeError, - 'nonconfigurable function name can not be deleted' - ); - st.end(); - }); - - t.end(); - }); - - test('EnumerableOwnNames', { skip: skips && skips.EnumerableOwnNames }, function (t) { - var obj = testEnumerableOwnNames(t, function (O) { return ES.EnumerableOwnNames(O); }); - - t.deepEqual( - ES.EnumerableOwnNames(obj), - ['own'], - 'returns enumerable own names' - ); - - t.end(); - }); - - test('thisNumberValue', function (t) { - forEach(v.nonNumbers, function (nonNumber) { - t['throws']( - function () { ES.thisNumberValue(nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a Number' - ); - }); - - forEach(v.numbers, function (number) { - t.equal(ES.thisNumberValue(number), number, debug(number) + ' is its own thisNumberValue'); - var obj = Object(number); - t.equal(ES.thisNumberValue(obj), number, debug(obj) + ' is the boxed thisNumberValue'); - }); - - t.end(); - }); - - test('thisBooleanValue', function (t) { - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { ES.thisBooleanValue(nonBoolean); }, - TypeError, - debug(nonBoolean) + ' is not a Boolean' - ); - }); - - forEach(v.booleans, function (boolean) { - t.equal(ES.thisBooleanValue(boolean), boolean, debug(boolean) + ' is its own thisBooleanValue'); - var obj = Object(boolean); - t.equal(ES.thisBooleanValue(obj), boolean, debug(obj) + ' is the boxed thisBooleanValue'); - }); - - t.end(); - }); - - test('thisStringValue', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.thisStringValue(nonString); }, - TypeError, - debug(nonString) + ' is not a String' - ); - }); - - forEach(v.strings, function (string) { - t.equal(ES.thisStringValue(string), string, debug(string) + ' is its own thisStringValue'); - var obj = Object(string); - t.equal(ES.thisStringValue(obj), string, debug(obj) + ' is the boxed thisStringValue'); - }); - - t.end(); - }); - - test('thisTimeValue', function (t) { - forEach(v.primitives.concat(v.objects), function (nonDate) { - t['throws']( - function () { ES.thisTimeValue(nonDate); }, - TypeError, - debug(nonDate) + ' is not a Date' - ); - }); - - forEach(v.timestamps, function (timestamp) { - var date = new Date(timestamp); - - t.equal(ES.thisTimeValue(date), timestamp, debug(date) + ' is its own thisTimeValue'); - }); - - t.end(); - }); - - test('SetIntegrityLevel', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.SetIntegrityLevel(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - t['throws']( - function () { ES.SetIntegrityLevel({}); }, - /^TypeError: Assertion failed: `level` must be `"sealed"` or `"frozen"`$/, - '`level` must be `"sealed"` or `"frozen"`' - ); - - var O = { a: 1 }; - t.test('sealed', { skip: !Object.preventExtensions || noThrowOnStrictViolation }, function (st) { - st.equal(ES.SetIntegrityLevel(O, 'sealed'), true); - st['throws']( - function () { O.b = 2; }, - /^TypeError: (Cannot|Can't) add property b, object is not extensible$/, - 'sealing prevent new properties from being added' - ); - O.a = 2; - st.equal(O.a, 2, 'pre-frozen, existing properties are mutable'); - st.end(); - }); - - t.test('frozen', { skip: !Object.freeze || noThrowOnStrictViolation }, function (st) { - st.equal(ES.SetIntegrityLevel(O, 'frozen'), true); - st['throws']( - function () { O.a = 3; }, - /^TypeError: Cannot assign to read only property 'a' of /, - 'freezing prevents existing properties from being mutated' - ); - st.end(); - }); - - t.end(); - }); - - test('TestIntegrityLevel', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.TestIntegrityLevel(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - t['throws']( - function () { ES.TestIntegrityLevel({ a: 1 }); }, - /^TypeError: Assertion failed: `level` must be `"sealed"` or `"frozen"`$/, - '`level` must be `"sealed"` or `"frozen"`' - ); - - t.equal(ES.TestIntegrityLevel({ a: 1 }, 'sealed'), false, 'basic object is not sealed'); - t.equal(ES.TestIntegrityLevel({ a: 1 }, 'frozen'), false, 'basic object is not frozen'); - - t.test('preventExtensions', { skip: !Object.preventExtensions }, function (st) { - var o = Object.preventExtensions({ a: 1 }); - st.equal(ES.TestIntegrityLevel(o, 'sealed'), false, 'nonextensible object is not sealed'); - st.equal(ES.TestIntegrityLevel(o, 'frozen'), false, 'nonextensible object is not frozen'); - - var empty = Object.preventExtensions({}); - st.equal(ES.TestIntegrityLevel(empty, 'sealed'), true, 'empty nonextensible object is sealed'); - st.equal(ES.TestIntegrityLevel(empty, 'frozen'), true, 'empty nonextensible object is frozen'); - st.end(); - }); - - t.test('seal', { skip: !Object.seal }, function (st) { - var o = Object.seal({ a: 1 }); - st.equal(ES.TestIntegrityLevel(o, 'sealed'), true, 'sealed object is sealed'); - st.equal(ES.TestIntegrityLevel(o, 'frozen'), false, 'sealed object is not frozen'); - - var empty = Object.seal({}); - st.equal(ES.TestIntegrityLevel(empty, 'sealed'), true, 'empty sealed object is sealed'); - st.equal(ES.TestIntegrityLevel(empty, 'frozen'), true, 'empty sealed object is frozen'); - - st.end(); - }); - - t.test('freeze', { skip: !Object.freeze }, function (st) { - var o = Object.freeze({ a: 1 }); - st.equal(ES.TestIntegrityLevel(o, 'sealed'), true, 'frozen object is sealed'); - st.equal(ES.TestIntegrityLevel(o, 'frozen'), true, 'frozen object is frozen'); - - var empty = Object.freeze({}); - st.equal(ES.TestIntegrityLevel(empty, 'sealed'), true, 'empty frozen object is sealed'); - st.equal(ES.TestIntegrityLevel(empty, 'frozen'), true, 'empty frozen object is frozen'); - - st.end(); - }); - - t.end(); - }); - - test('OrdinaryHasInstance', function (t) { - forEach(v.nonFunctions, function (nonFunction) { - t.equal(ES.OrdinaryHasInstance(nonFunction, {}), false, debug(nonFunction) + ' is not callable'); - }); - - forEach(v.primitives, function (primitive) { - t.equal(ES.OrdinaryHasInstance(function () {}, primitive), false, debug(primitive) + ' is not an object'); - }); - - var C = function C() {}; - var D = function D() {}; - t.equal(ES.OrdinaryHasInstance(C, new C()), true, 'constructor function has an instance of itself'); - t.equal(ES.OrdinaryHasInstance(C, new D()), false, 'constructor/instance mismatch is false'); - t.equal(ES.OrdinaryHasInstance(D, new C()), false, 'instance/constructor mismatch is false'); - t.equal(ES.OrdinaryHasInstance(C, {}), false, 'plain object is not an instance of a constructor'); - t.equal(ES.OrdinaryHasInstance(Object, {}), true, 'plain object is an instance of Object'); - - t.end(); - }); - - test('OrdinaryHasProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.OrdinaryHasProperty(primitive, ''); }, - TypeError, - debug(primitive) + ' is not an object' - ); - }); - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.OrdinaryHasProperty({}, nonPropertyKey); }, - TypeError, - 'P: ' + debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.equal(ES.OrdinaryHasProperty({ a: 1 }, 'a'), true, 'own property is true'); - t.equal(ES.OrdinaryHasProperty({}, 'toString'), true, 'inherited property is true'); - t.equal(ES.OrdinaryHasProperty({}, 'nope'), false, 'absent property is false'); - - t.end(); - }); - - test('InstanceofOperator', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.InstanceofOperator(primitive, function () {}); }, - TypeError, - debug(primitive) + ' is not an object' - ); - }); - - forEach(v.nonFunctions, function (nonFunction) { - t['throws']( - function () { ES.InstanceofOperator({}, nonFunction); }, - TypeError, - debug(nonFunction) + ' is not callable' - ); - }); - - var C = function C() {}; - var D = function D() {}; - - t.equal(ES.InstanceofOperator(new C(), C), true, 'constructor function has an instance of itself'); - t.equal(ES.InstanceofOperator(new D(), C), false, 'constructor/instance mismatch is false'); - t.equal(ES.InstanceofOperator(new C(), D), false, 'instance/constructor mismatch is false'); - t.equal(ES.InstanceofOperator({}, C), false, 'plain object is not an instance of a constructor'); - t.equal(ES.InstanceofOperator({}, Object), true, 'plain object is an instance of Object'); - - t.test('Symbol.hasInstance', { skip: !v.hasSymbols || !Symbol.hasInstance }, function (st) { - st.plan(4); - - var O = {}; - var C2 = function () {}; - st.equal(ES.InstanceofOperator(O, C2), false, 'O is not an instance of C2'); - - defineProperty(C2, Symbol.hasInstance, { - value: function (obj) { - st.equal(this, C2, 'hasInstance receiver is C2'); - st.equal(obj, O, 'hasInstance argument is O'); - - return {}; // testing coercion to boolean - } - }); - - st.equal(ES.InstanceofOperator(O, C2), true, 'O is now an instance of C2'); - - st.end(); - }); - - t.end(); - }); - - test('Abstract Equality Comparison', function (t) { - t.test('same types use ===', function (st) { - forEach(v.primitives.concat(v.objects), function (value) { - st.equal(ES['Abstract Equality Comparison'](value, value), value === value, debug(value) + ' is abstractly equal to itself'); - }); - st.end(); - }); - - t.test('different types coerce', function (st) { - var pairs = [ - [null, undefined], - [3, '3'], - [true, '3'], - [true, 3], - [false, 0], - [false, '0'], - [3, [3]], - ['3', [3]], - [true, [1]], - [false, [0]], - [String(v.coercibleObject), v.coercibleObject], - [Number(String(v.coercibleObject)), v.coercibleObject], - [Number(v.coercibleObject), v.coercibleObject], - [String(Number(v.coercibleObject)), v.coercibleObject] - ]; - forEach(pairs, function (pair) { - var a = pair[0]; - var b = pair[1]; - // eslint-disable-next-line eqeqeq - st.equal(ES['Abstract Equality Comparison'](a, b), a == b, debug(a) + ' == ' + debug(b)); - // eslint-disable-next-line eqeqeq - st.equal(ES['Abstract Equality Comparison'](b, a), b == a, debug(b) + ' == ' + debug(a)); - }); - st.end(); - }); - - t.end(); - }); - - test('Strict Equality Comparison', function (t) { - t.test('same types use ===', function (st) { - forEach(v.primitives.concat(v.objects), function (value) { - st.equal(ES['Strict Equality Comparison'](value, value), value === value, debug(value) + ' is strictly equal to itself'); - }); - st.end(); - }); - - t.test('different types are not ===', function (st) { - var pairs = [ - [null, undefined], - [3, '3'], - [true, '3'], - [true, 3], - [false, 0], - [false, '0'], - [3, [3]], - ['3', [3]], - [true, [1]], - [false, [0]], - [String(v.coercibleObject), v.coercibleObject], - [Number(String(v.coercibleObject)), v.coercibleObject], - [Number(v.coercibleObject), v.coercibleObject], - [String(Number(v.coercibleObject)), v.coercibleObject] - ]; - forEach(pairs, function (pair) { - var a = pair[0]; - var b = pair[1]; - st.equal(ES['Strict Equality Comparison'](a, b), a === b, debug(a) + ' === ' + debug(b)); - st.equal(ES['Strict Equality Comparison'](b, a), b === a, debug(b) + ' === ' + debug(a)); - }); - st.end(); - }); - - t.end(); - }); - - test('Abstract Relational Comparison', function (t) { - t.test('at least one operand is NaN', function (st) { - st.equal(ES['Abstract Relational Comparison'](NaN, {}, true), undefined, 'LeftFirst: first is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison']({}, NaN, true), undefined, 'LeftFirst: second is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison'](NaN, {}, false), undefined, '!LeftFirst: first is NaN, returns undefined'); - st.equal(ES['Abstract Relational Comparison']({}, NaN, false), undefined, '!LeftFirst: second is NaN, returns undefined'); - st.end(); - }); - - t.equal(ES['Abstract Relational Comparison'](3, 4, true), true, 'LeftFirst: 3 is less than 4'); - t.equal(ES['Abstract Relational Comparison'](4, 3, true), false, 'LeftFirst: 3 is not less than 4'); - t.equal(ES['Abstract Relational Comparison'](3, 4, false), true, '!LeftFirst: 3 is less than 4'); - t.equal(ES['Abstract Relational Comparison'](4, 3, false), false, '!LeftFirst: 3 is not less than 4'); - - t.equal(ES['Abstract Relational Comparison']('3', '4', true), true, 'LeftFirst: "3" is less than "4"'); - t.equal(ES['Abstract Relational Comparison']('4', '3', true), false, 'LeftFirst: "3" is not less than "4"'); - t.equal(ES['Abstract Relational Comparison']('3', '4', false), true, '!LeftFirst: "3" is less than "4"'); - t.equal(ES['Abstract Relational Comparison']('4', '3', false), false, '!LeftFirst: "3" is not less than "4"'); - - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, true), true, 'LeftFirst: coercible object is less than 42'); - t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, true), false, 'LeftFirst: 42 is not less than coercible object'); - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, false), true, '!LeftFirst: coercible object is less than 42'); - t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, false), false, '!LeftFirst: 42 is not less than coercible object'); - - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', true), false, 'LeftFirst: coercible object is not less than "3"'); - t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, true), false, 'LeftFirst: "3" is not less than coercible object'); - t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', false), false, '!LeftFirst: coercible object is not less than "3"'); - t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, false), false, '!LeftFirst: "3" is not less than coercible object'); - - t.end(); - }); - - test('ValidateAndApplyPropertyDescriptor', function (t) { - forEach(v.nonUndefinedPrimitives, function (nonUndefinedPrimitive) { - t['throws']( - function () { ES.ValidateAndApplyPropertyDescriptor(nonUndefinedPrimitive, '', false, v.genericDescriptor(), v.genericDescriptor()); }, - TypeError, - 'O: ' + debug(nonUndefinedPrimitive) + ' is not undefined or an Object' - ); - }); - - forEach(v.nonBooleans, function (nonBoolean) { - t['throws']( - function () { - return ES.ValidateAndApplyPropertyDescriptor( - undefined, - null, - nonBoolean, - v.genericDescriptor(), - v.genericDescriptor() - ); - }, - TypeError, - 'extensible: ' + debug(nonBoolean) + ' is not a Boolean' - ); - }); - - forEach(v.primitives, function (primitive) { - // Desc must be a Property Descriptor - t['throws']( - function () { - return ES.ValidateAndApplyPropertyDescriptor( - undefined, - null, - false, - primitive, - v.genericDescriptor() - ); - }, - TypeError, - 'Desc: ' + debug(primitive) + ' is not a Property Descriptor' - ); - }); - - forEach(v.nonUndefinedPrimitives, function (primitive) { - // current must be undefined or a Property Descriptor - t['throws']( - function () { - return ES.ValidateAndApplyPropertyDescriptor( - undefined, - null, - false, - v.genericDescriptor(), - primitive - ); - }, - TypeError, - 'current: ' + debug(primitive) + ' is not a Property Descriptor or undefined' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - // if O is an object, P must be a property key - t['throws']( - function () { - return ES.ValidateAndApplyPropertyDescriptor( - {}, - nonPropertyKey, - false, - v.genericDescriptor(), - v.genericDescriptor() - ); - }, - TypeError, - 'P: ' + debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.test('current is undefined', function (st) { - var propertyKey = 'howdy'; - - st.test('generic descriptor', function (s2t) { - var generic = v.genericDescriptor(); - generic['[[Enumerable]]'] = true; - var O = {}; - ES.ValidateAndApplyPropertyDescriptor(undefined, propertyKey, true, generic); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, false, generic), - false, - 'when extensible is false, nothing happens' - ); - s2t.deepEqual(O, {}, 'no changes applied when O is undefined or extensible is false'); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, true, generic), - true, - 'operation is successful' - ); - var expected = {}; - expected[propertyKey] = undefined; - s2t.deepEqual(O, expected, 'generic descriptor has been defined as an own data property'); - s2t.end(); - }); - - st.test('data descriptor', function (s2t) { - var data = v.dataDescriptor(); - data['[[Enumerable]]'] = true; - - var O = {}; - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(undefined, propertyKey, true, data), - true, - 'noop when O is undefined' - ); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, false, data), - false, - 'when extensible is false, nothing happens' - ); - s2t.deepEqual(O, {}, 'no changes applied when O is undefined or extensible is false'); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, true, data), - true, - 'operation is successful' - ); - var expected = {}; - expected[propertyKey] = data['[[Value]]']; - s2t.deepEqual(O, expected, 'data descriptor has been defined as an own data property'); - s2t.end(); - }); - - st.test('accessor descriptor', { skip: !defineProperty.oDP }, function (s2t) { - var count = 0; - var accessor = v.accessorDescriptor(); - accessor['[[Enumerable]]'] = true; - accessor['[[Get]]'] = function () { - count += 1; - return count; - }; - - var O = {}; - ES.ValidateAndApplyPropertyDescriptor(undefined, propertyKey, true, accessor); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, false, accessor), - false, - 'when extensible is false, nothing happens' - ); - s2t.deepEqual(O, {}, 'no changes applied when O is undefined or extensible is false'); - s2t.equal( - ES.ValidateAndApplyPropertyDescriptor(O, propertyKey, true, accessor), - true, - 'operation is successful' - ); - var expected = {}; - expected[propertyKey] = accessor['[[Get]]']() + 1; - s2t.deepEqual(O, expected, 'accessor descriptor has been defined as an own accessor property'); - s2t.end(); - }); - - st.end(); - }); - - t.test('every field in Desc is absent', { skip: 'it is unclear if having no fields qualifies Desc to be a Property Descriptor' }); - - forEach([v.dataDescriptor, v.accessorDescriptor, v.mutatorDescriptor], function (getDescriptor) { - t.equal( - ES.ValidateAndApplyPropertyDescriptor(undefined, 'property key', true, getDescriptor(), getDescriptor()), - true, - 'when Desc and current are the same, early return true' - ); - }); - - t.test('current is nonconfigurable', function (st) { - // note: these must not be generic descriptors, or else the algorithm returns an early true - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.configurable(v.dataDescriptor()), - v.descriptors.nonConfigurable(v.dataDescriptor()) - ), - false, - 'false if Desc is configurable' - ); - - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.enumerable(v.dataDescriptor()), - v.descriptors.nonEnumerable(v.dataDescriptor()) - ), - false, - 'false if Desc is Enumerable and current is not' - ); - - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.nonEnumerable(v.dataDescriptor()), - v.descriptors.enumerable(v.dataDescriptor()) - ), - false, - 'false if Desc is not Enumerable and current is' - ); - - var descLackingEnumerable = v.accessorDescriptor(); - delete descLackingEnumerable['[[Enumerable]]']; - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - descLackingEnumerable, - v.descriptors.enumerable(v.accessorDescriptor()) - ), - true, - 'not false if Desc lacks Enumerable' - ); - - st.end(); - }); - - t.test('Desc and current: one is a data descriptor, one is not', { skip: !defineProperty || !getOwnPropertyDescriptor }, function (st) { - // note: Desc must be configurable if current is nonconfigurable, to hit this branch - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.configurable(v.accessorDescriptor()), - v.descriptors.nonConfigurable(v.dataDescriptor()) - ), - false, - 'false if current (data) is nonconfigurable' - ); - - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.configurable(v.dataDescriptor()), - v.descriptors.nonConfigurable(v.accessorDescriptor()) - ), - false, - 'false if current (not data) is nonconfigurable' - ); - - // one is data and one is not, - // // if current is data, convert to accessor - // // else convert to data - - var startsWithData = { - 'property key': 42 - }; - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - startsWithData, - 'property key', - true, - v.descriptors.enumerable(v.descriptors.configurable(v.accessorDescriptor())), - v.descriptors.enumerable(v.descriptors.configurable(v.dataDescriptor())) - ), - true, - 'operation is successful: current is data, Desc is accessor' - ); - var shouldBeAccessor = getOwnPropertyDescriptor(startsWithData, 'property key'); - st.equal(typeof shouldBeAccessor.get, 'function', 'has a getter'); - - var key = 'property key'; - var startsWithAccessor = {}; - defineProperty(startsWithAccessor, key, { - configurable: true, - enumerable: true, - get: function get() { return 42; } - }); - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - startsWithAccessor, - key, - true, - v.descriptors.enumerable(v.descriptors.configurable(v.dataDescriptor())), - v.descriptors.enumerable(v.descriptors.configurable(v.accessorDescriptor(42))) - ), - true, - 'operation is successful: current is accessor, Desc is data' - ); - var shouldBeData = getOwnPropertyDescriptor(startsWithAccessor, 'property key'); - st.deepEqual(shouldBeData, { configurable: true, enumerable: true, value: 42, writable: false }, 'is a data property'); - - st.end(); - }); - - t.test('Desc and current are both data descriptors', function (st) { - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.writable(v.dataDescriptor()), - v.descriptors.nonWritable(v.descriptors.nonConfigurable(v.dataDescriptor())) - ), - false, - 'false if frozen current and writable Desc' - ); - - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.descriptors.configurable({ '[[Value]]': 42 }), - v.descriptors.nonWritable({ '[[Value]]': 7 }) - ), - false, - 'false if nonwritable current has a different value than Desc' - ); - - st.end(); - }); - - t.test('current is nonconfigurable; Desc and current are both accessor descriptors', function (st) { - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.mutatorDescriptor(), - v.descriptors.nonConfigurable(v.mutatorDescriptor()) - ), - false, - 'false if both Sets are not equal' - ); - - st.equal( - ES.ValidateAndApplyPropertyDescriptor( - undefined, - 'property key', - true, - v.accessorDescriptor(), - v.descriptors.nonConfigurable(v.accessorDescriptor()) - ), - false, - 'false if both Gets are not equal' - ); - - st.end(); - }); - - t.end(); - }); - - test('OrdinaryGetOwnProperty', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.OrdinaryGetOwnProperty(primitive, ''); }, - TypeError, - 'O: ' + debug(primitive) + ' is not an Object' - ); - }); - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.OrdinaryGetOwnProperty({}, nonPropertyKey); }, - TypeError, - 'P: ' + debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.equal(ES.OrdinaryGetOwnProperty({}, 'not in the object'), undefined, 'missing property yields undefined'); - t.equal(ES.OrdinaryGetOwnProperty({}, 'toString'), undefined, 'inherited non-own property yields undefined'); - - t.deepEqual( - ES.OrdinaryGetOwnProperty({ a: 1 }, 'a'), - ES.ToPropertyDescriptor({ - configurable: true, - enumerable: true, - value: 1, - writable: true - }), - 'own assigned data property yields expected descriptor' - ); - - t.deepEqual( - ES.OrdinaryGetOwnProperty(/a/, 'lastIndex'), - ES.ToPropertyDescriptor({ - configurable: false, - enumerable: false, - value: 0, - writable: true - }), - 'regex lastIndex yields expected descriptor' - ); - - t.deepEqual( - ES.OrdinaryGetOwnProperty([], 'length'), - ES.ToPropertyDescriptor({ - configurable: false, - enumerable: false, - value: 0, - writable: true - }), - 'array length yields expected descriptor' - ); - - t.deepEqual( - ES.OrdinaryGetOwnProperty(Object.prototype, 'toString'), - ES.ToPropertyDescriptor({ - configurable: true, - enumerable: false, - value: Object.prototype.toString, - writable: true - }), - 'own non-enumerable data property yields expected descriptor' - ); - - t.test('ES5+', { skip: !defineProperty.oDP }, function (st) { - var O = {}; - defineProperty(O, 'foo', { - configurable: false, - enumerable: false, - value: O, - writable: true - }); - - st.deepEqual( - ES.OrdinaryGetOwnProperty(O, 'foo'), - ES.ToPropertyDescriptor({ - configurable: false, - enumerable: false, - value: O, - writable: true - }), - 'defined own property yields expected descriptor' - ); - - st.end(); - }); - - t.end(); - }); - - test('OrdinaryDefineOwnProperty', { skip: !getOwnPropertyDescriptor }, function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.CopyDataProperties(primitive, {}, []); }, - TypeError, - 'O: ' + debug(primitive) + ' is not an Object' - ); - }); - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.OrdinaryDefineOwnProperty({}, nonPropertyKey, v.genericDescriptor()); }, - TypeError, - 'P: ' + debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.OrdinaryDefineOwnProperty(primitive, '', v.genericDescriptor()); }, - TypeError, - 'Desc: ' + debug(primitive) + ' is not a Property Descriptor' - ); - }); - - var O = {}; - var P = 'property key'; - var Desc = v.accessorDescriptor(); - t.equal( - ES.OrdinaryDefineOwnProperty(O, P, Desc), - true, - 'operation is successful' - ); - t.deepEqual( - getOwnPropertyDescriptor(O, P), - ES.FromPropertyDescriptor(ES.CompletePropertyDescriptor(Desc)), - 'expected property descriptor is defined' - ); - - t.end(); - }); - - test('ArrayCreate', function (t) { - forEach(v.nonIntegerNumbers.concat([-1]), function (nonIntegerNumber) { - t['throws']( - function () { ES.ArrayCreate(nonIntegerNumber); }, - TypeError, - 'length must be an integer number >= 0' - ); - }); - - t['throws']( - function () { ES.ArrayCreate(Math.pow(2, 32)); }, - RangeError, - 'length must be < 2**32' - ); - - t.deepEqual(ES.ArrayCreate(-0), [], 'length of -0 creates an empty array'); - t.deepEqual(ES.ArrayCreate(0), [], 'length of +0 creates an empty array'); - // eslint-disable-next-line no-sparse-arrays, comma-spacing - t.deepEqual(ES.ArrayCreate(1), [,], 'length of 1 creates a sparse array of length 1'); - // eslint-disable-next-line no-sparse-arrays, comma-spacing - t.deepEqual(ES.ArrayCreate(2), [,,], 'length of 2 creates a sparse array of length 2'); - - t.test('proto argument', { skip: !$setProto }, function (st) { - var fakeProto = { - push: { toString: function () { return 'not array push'; } } - }; - st.equal(ES.ArrayCreate(0, fakeProto).push, fakeProto.push, 'passing the proto argument works'); - st.end(); - }); - - t.end(); - }); - - test('ArraySetLength', function (t) { - forEach(v.primitives.concat(v.objects), function (nonArray) { - t['throws']( - function () { ES.ArraySetLength(nonArray, 0); }, - TypeError, - 'A: ' + debug(nonArray) + ' is not an Array' - ); - }); - - forEach(v.nonUndefinedPrimitives, function (primitive) { - t['throws']( - function () { ES.ArraySetLength([], primitive); }, - TypeError, - 'Desc: ' + debug(primitive) + ' is not a Property Descriptor' - ); - }); - - t.test('making length nonwritable', { skip: !getOwnPropertyDescriptor }, function (st) { - var a = []; - ES.ArraySetLength(a, { '[[Writable]]': false }); - st.deepEqual( - getOwnPropertyDescriptor(a, 'length'), - { - configurable: false, - enumerable: false, - value: 0, - writable: false - }, - 'without a value, length becomes nonwritable' - ); - st.end(); - }); - - var arr = []; - ES.ArraySetLength(arr, { '[[Value]]': 7 }); - t.equal(arr.length, 7, 'array now has a length of 7'); - - t.end(); - }); - - test('CreateHTML', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.CreateHTML('', nonString, '', ''); }, - TypeError, - 'tag: ' + debug(nonString) + ' is not a String' - ); - t['throws']( - function () { ES.CreateHTML('', '', nonString, ''); }, - TypeError, - 'attribute: ' + debug(nonString) + ' is not a String' - ); - }); - - t.equal( - ES.CreateHTML( - { toString: function () { return 'the string'; } }, - 'some HTML tag!', - '' - ), - 'the string', - 'works with an empty string attribute value' - ); - - t.equal( - ES.CreateHTML( - { toString: function () { return 'the string'; } }, - 'some HTML tag!', - 'attr', - 'value "with quotes"' - ), - 'the string', - 'works with an attribute, and a value with quotes' - ); - - t.end(); - }); - - test('GetOwnPropertyKeys', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.GetOwnPropertyKeys(primitive, 'String'); }, - TypeError, - 'O: ' + debug(primitive) + ' is not an Object' - ); - }); - - t['throws']( - function () { ES.GetOwnPropertyKeys({}, 'not string or symbol'); }, - TypeError, - 'Type: must be "String" or "Symbol"' - ); - - t.test('Symbols', { skip: !v.hasSymbols }, function (st) { - var O = { a: 1 }; - O[Symbol.iterator] = true; - var s = Symbol('test'); - defineProperty(O, s, { enumerable: false, value: true }); - - st.deepEqual( - ES.GetOwnPropertyKeys(O, 'Symbol'), - [Symbol.iterator, s], - 'works with Symbols, enumerable or not' - ); - - st.end(); - }); - - t.test('non-enumerable names', { skip: !defineProperty.oDP }, function (st) { - var O = { a: 1 }; - defineProperty(O, 'b', { enumerable: false, value: 2 }); - if (v.hasSymbols) { - O[Symbol.iterator] = true; - } - - st.deepEqual( - ES.GetOwnPropertyKeys(O, 'String').sort(), - ['a', 'b'].sort(), - 'works with Strings, enumerable or not' - ); - - st.end(); - }); - - t.deepEqual( - ES.GetOwnPropertyKeys({ a: 1, b: 2 }, 'String').sort(), - ['a', 'b'].sort(), - 'works with enumerable keys' - ); - - t.end(); - }); - - test('SymbolDescriptiveString', function (t) { - forEach(v.nonSymbolPrimitives.concat(v.objects), function (nonSymbol) { - t['throws']( - function () { ES.SymbolDescriptiveString(nonSymbol); }, - TypeError, - debug(nonSymbol) + ' is not a Symbol' - ); - }); - - t.test('Symbols', { skip: !v.hasSymbols }, function (st) { - st.equal(ES.SymbolDescriptiveString(Symbol()), 'Symbol()', 'undefined description'); - st.equal(ES.SymbolDescriptiveString(Symbol('')), 'Symbol()', 'empty string description'); - st.equal(ES.SymbolDescriptiveString(Symbol.iterator), 'Symbol(Symbol.iterator)', 'well-known symbol'); - st.equal(ES.SymbolDescriptiveString(Symbol('foo')), 'Symbol(foo)', 'string description'); - - st.end(); - }); - - t.end(); - }); - - test('GetSubstitution', { skip: skips && skips.GetSubstitution }, function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.GetSubstitution(nonString, '', 0, [], ''); }, - TypeError, - '`matched`: ' + debug(nonString) + ' is not a String' - ); - - t['throws']( - function () { ES.GetSubstitution('', nonString, 0, [], ''); }, - TypeError, - '`str`: ' + debug(nonString) + ' is not a String' - ); - - t['throws']( - function () { ES.GetSubstitution('', '', 0, [], nonString); }, - TypeError, - '`replacement`: ' + debug(nonString) + ' is not a String' - ); - - if (canDistinguishSparseFromUndefined || typeof nonString !== 'undefined') { - t['throws']( - function () { ES.GetSubstitution('', '', 0, [nonString], ''); }, - TypeError, - '`captures`: ' + debug([nonString]) + ' is not an Array of strings' - ); - } - }); - - forEach(v.nonIntegerNumbers.concat([-1, -42, -Infinity]), function (nonNonNegativeInteger) { - t['throws']( - function () { ES.GetSubstitution('', '', nonNonNegativeInteger, [], ''); }, - TypeError, - '`position`: ' + debug(nonNonNegativeInteger) + ' is not a non-negative integer' - ); - }); - - forEach(v.nonArrays, function (nonArray) { - t['throws']( - function () { ES.GetSubstitution('', '', 0, nonArray, ''); }, - TypeError, - '`captures`: ' + debug(nonArray) + ' is not an Array' - ); - }); - - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], '123'), - '123', - 'returns the substitution' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '$$2$'), - '$2$', - 'supports $$, and trailing $' - ); - - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$&<'), - '>abcdef<', - 'supports $&' - ); - - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$`<'), - '><', - 'supports $` at position 0' - ); - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], '>$`<'), - '>ab<', - 'supports $` at position > 0' - ); - - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 7, [], ">$'<"), - '><', - "supports $' at a position where there's less than `matched.length` chars left" - ); - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], ">$'<"), - '>ghi<', - "supports $' at a position where there's more than `matched.length` chars left" - ); - - for (var i = 0; i < 100; i += 1) { - var captures = []; - captures[i] = 'test'; - if (i > 0) { - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$' + i + '<'), - '>undefined<', - 'supports $' + i + ' with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$' + i), - '>undefined', - 'supports $' + i + ' at the end of the replacement, with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, '>$' + i + '<'), - '><', - 'supports $' + i + ' with a capture at that index' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, '>$' + i), - '>', - 'supports $' + i + ' at the end of the replacement, with a capture at that index' - ); - } - if (i < 10) { - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$0' + i + '<'), - i === 0 ? '><' : '>undefined<', - 'supports $0' + i + ' with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], '>$0' + i), - i === 0 ? '>' : '>undefined', - 'supports $0' + i + ' at the end of the replacement, with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, '>$0' + i + '<'), - '><', - 'supports $0' + i + ' with a capture at that index' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, '>$0' + i), - '>', - 'supports $0' + i + ' at the end of the replacement, with a capture at that index' - ); - } - } - - t.end(); - }); - - test('SecFromTime', function (t) { - var now = new Date(); - t.equal(ES.SecFromTime(now.getTime()), now.getUTCSeconds(), 'second from Date timestamp matches getUTCSeconds'); - t.end(); - }); - - test('MinFromTime', function (t) { - var now = new Date(); - t.equal(ES.MinFromTime(now.getTime()), now.getUTCMinutes(), 'minute from Date timestamp matches getUTCMinutes'); - t.end(); - }); - - test('HourFromTime', function (t) { - var now = new Date(); - t.equal(ES.HourFromTime(now.getTime()), now.getUTCHours(), 'hour from Date timestamp matches getUTCHours'); - t.end(); - }); - - test('msFromTime', function (t) { - var now = new Date(); - t.equal(ES.msFromTime(now.getTime()), now.getUTCMilliseconds(), 'ms from Date timestamp matches getUTCMilliseconds'); - t.end(); - }); - - var msPerSecond = 1e3; - var msPerMinute = 60 * msPerSecond; - var msPerHour = 60 * msPerMinute; - var msPerDay = 24 * msPerHour; - - test('Day', function (t) { - var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5); - var add = 2.5; - var later = new Date(time + (add * msPerDay)); - - t.equal(ES.Day(later.getTime()), ES.Day(time) + Math.floor(add), 'adding 2.5 days worth of ms, gives a Day delta of 2'); - t.end(); - }); - - test('TimeWithinDay', function (t) { - var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5); - var add = 2.5; - var later = new Date(time + (add * msPerDay)); - - t.equal(ES.TimeWithinDay(later.getTime()), ES.TimeWithinDay(time) + (0.5 * msPerDay), 'adding 2.5 days worth of ms, gives a TimeWithinDay delta of +0.5'); - t.end(); - }); - - test('DayFromYear', function (t) { - t.equal(ES.DayFromYear(2021) - ES.DayFromYear(2020), 366, '2021 is a leap year, has 366 days'); - t.equal(ES.DayFromYear(2020) - ES.DayFromYear(2019), 365, '2020 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2019) - ES.DayFromYear(2018), 365, '2019 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2018) - ES.DayFromYear(2017), 365, '2018 is not a leap year, has 365 days'); - t.equal(ES.DayFromYear(2017) - ES.DayFromYear(2016), 366, '2017 is a leap year, has 366 days'); - - t.end(); - }); - - test('TimeFromYear', function (t) { - for (var i = 1900; i < 2100; i += 1) { - t.equal(ES.TimeFromYear(i), Date.UTC(i, 0, 1), 'TimeFromYear matches a Date object’s year: ' + i); - } - t.end(); - }); - - test('YearFromTime', function (t) { - for (var i = 1900; i < 2100; i += 1) { - t.equal(ES.YearFromTime(Date.UTC(i, 0, 1)), i, 'YearFromTime matches a Date object’s year on 1/1: ' + i); - t.equal(ES.YearFromTime(Date.UTC(i, 10, 1)), i, 'YearFromTime matches a Date object’s year on 10/1: ' + i); - } - t.end(); - }); - - test('WeekDay', function (t) { - var now = new Date(); - var today = now.getUTCDay(); - for (var i = 0; i < 7; i += 1) { - var weekDay = ES.WeekDay(now.getTime() + (i * msPerDay)); - t.equal(weekDay, (today + i) % 7, i + ' days after today (' + today + '), WeekDay is ' + weekDay); - } - t.end(); - }); - - test('DaysInYear', function (t) { - t.equal(ES.DaysInYear(2021), 365, '2021 is not a leap year'); - t.equal(ES.DaysInYear(2020), 366, '2020 is a leap year'); - t.equal(ES.DaysInYear(2019), 365, '2019 is not a leap year'); - t.equal(ES.DaysInYear(2018), 365, '2018 is not a leap year'); - t.equal(ES.DaysInYear(2017), 365, '2017 is not a leap year'); - t.equal(ES.DaysInYear(2016), 366, '2016 is a leap year'); - - t.end(); - }); - - test('InLeapYear', function (t) { - t.equal(ES.InLeapYear(Date.UTC(2021, 0, 1)), 0, '2021 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2020, 0, 1)), 1, '2020 is a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2019, 0, 1)), 0, '2019 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2018, 0, 1)), 0, '2018 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2017, 0, 1)), 0, '2017 is not a leap year'); - t.equal(ES.InLeapYear(Date.UTC(2016, 0, 1)), 1, '2016 is a leap year'); - - t.end(); - }); - - test('DayWithinYear', function (t) { - t.equal(ES.DayWithinYear(Date.UTC(2019, 0, 1)), 0, '1/1 is the 1st day'); - t.equal(ES.DayWithinYear(Date.UTC(2019, 11, 31)), 364, '12/31 is the 365th day in a non leap year'); - t.equal(ES.DayWithinYear(Date.UTC(2016, 11, 31)), 365, '12/31 is the 366th day in a leap year'); - - t.end(); - }); - - test('MonthFromTime', function (t) { - t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 1)), 0, 'non-leap: 1/1 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 31)), 0, 'non-leap: 1/31 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 1)), 1, 'non-leap: 2/1 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 28)), 1, 'non-leap: 2/28 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 29)), 2, 'non-leap: 2/29 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 1)), 2, 'non-leap: 3/1 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 31)), 2, 'non-leap: 3/31 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 1)), 3, 'non-leap: 4/1 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 30)), 3, 'non-leap: 4/30 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 1)), 4, 'non-leap: 5/1 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 31)), 4, 'non-leap: 5/31 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 1)), 5, 'non-leap: 6/1 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 30)), 5, 'non-leap: 6/30 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 1)), 6, 'non-leap: 7/1 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 31)), 6, 'non-leap: 7/31 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 1)), 7, 'non-leap: 8/1 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 30)), 7, 'non-leap: 8/30 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 1)), 8, 'non-leap: 9/1 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 30)), 8, 'non-leap: 9/30 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 1)), 9, 'non-leap: 10/1 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 31)), 9, 'non-leap: 10/31 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 1)), 10, 'non-leap: 11/1 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 30)), 10, 'non-leap: 11/30 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 1)), 11, 'non-leap: 12/1 gives December'); - t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 31)), 11, 'non-leap: 12/31 gives December'); - - t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 1)), 0, 'leap: 1/1 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 31)), 0, 'leap: 1/31 gives January'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 1)), 1, 'leap: 2/1 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 28)), 1, 'leap: 2/28 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 29)), 1, 'leap: 2/29 gives February'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 1)), 2, 'leap: 3/1 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 31)), 2, 'leap: 3/31 gives March'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 1)), 3, 'leap: 4/1 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 30)), 3, 'leap: 4/30 gives April'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 1)), 4, 'leap: 5/1 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 31)), 4, 'leap: 5/31 gives May'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 1)), 5, 'leap: 6/1 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 30)), 5, 'leap: 6/30 gives June'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 1)), 6, 'leap: 7/1 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 31)), 6, 'leap: 7/31 gives July'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 1)), 7, 'leap: 8/1 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 30)), 7, 'leap: 8/30 gives August'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 1)), 8, 'leap: 9/1 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 30)), 8, 'leap: 9/30 gives September'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 1)), 9, 'leap: 10/1 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 31)), 9, 'leap: 10/31 gives October'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 1)), 10, 'leap: 11/1 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 30)), 10, 'leap: 11/30 gives November'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 1)), 11, 'leap: 12/1 gives December'); - t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 31)), 11, 'leap: 12/31 gives December'); - t.end(); - }); - - test('DateFromTime', function (t) { - var i; - for (i = 1; i <= 28; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 1, i)), i, '2019.02.' + i + ' is date ' + i); - } - for (i = 1; i <= 29; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2016, 1, i)), i, '2016.02.' + i + ' is date ' + i); - } - for (i = 1; i <= 30; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 8, i)), i, '2019.09.' + i + ' is date ' + i); - } - for (i = 1; i <= 31; i += 1) { - t.equal(ES.DateFromTime(Date.UTC(2019, 9, i)), i, '2019.10.' + i + ' is date ' + i); - } - t.end(); - }); - - test('MakeDay', function (t) { - var day2015 = 16687; - t.equal(ES.MakeDay(2015, 8, 9), day2015, '2015.09.09 is day 16687'); - var day2016 = day2015 + 366; // 2016 is a leap year - t.equal(ES.MakeDay(2016, 8, 9), day2016, '2015.09.09 is day 17053'); - var day2017 = day2016 + 365; - t.equal(ES.MakeDay(2017, 8, 9), day2017, '2017.09.09 is day 17418'); - var day2018 = day2017 + 365; - t.equal(ES.MakeDay(2018, 8, 9), day2018, '2018.09.09 is day 17783'); - var day2019 = day2018 + 365; - t.equal(ES.MakeDay(2019, 8, 9), day2019, '2019.09.09 is day 18148'); - t.end(); - }); - - test('MakeDate', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.MakeDate(nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `day`'); - t.ok(is(ES.MakeDate(0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`'); - }); - t.equal(ES.MakeDate(0, 0), 0, 'zero day and zero time is zero date'); - t.equal(ES.MakeDate(0, 123), 123, 'zero day and nonzero time is a date of the "time"'); - t.equal(ES.MakeDate(1, 0), msPerDay, 'day of 1 and zero time is a date of "ms per day"'); - t.equal(ES.MakeDate(3, 0), 3 * msPerDay, 'day of 3 and zero time is a date of thrice "ms per day"'); - t.equal(ES.MakeDate(1, 123), msPerDay + 123, 'day of 1 and nonzero time is a date of "ms per day" plus the "time"'); - t.equal(ES.MakeDate(3, 123), (3 * msPerDay) + 123, 'day of 3 and nonzero time is a date of thrice "ms per day" plus the "time"'); - - t.end(); - }); - - test('MakeTime', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.MakeTime(nonFiniteNumber, 0, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `hour`'); - t.ok(is(ES.MakeTime(0, nonFiniteNumber, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `min`'); - t.ok(is(ES.MakeTime(0, 0, nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `sec`'); - t.ok(is(ES.MakeTime(0, 0, 0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `ms`'); - }); - - t.equal( - ES.MakeTime(1.2, 2.3, 3.4, 4.5), - (1 * msPerHour) + (2 * msPerMinute) + (3 * msPerSecond) + 4, - 'all numbers are converted to integer, multiplied by the right number of ms, and summed' - ); - - t.end(); - }); - - test('TimeClip', function (t) { - forEach(v.infinities.concat(NaN), function (nonFiniteNumber) { - t.ok(is(ES.TimeClip(nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`'); - }); - t.ok(is(ES.TimeClip(8.64e15 + 1), NaN), '8.64e15 is the largest magnitude considered "finite"'); - t.ok(is(ES.TimeClip(-8.64e15 - 1), NaN), '-8.64e15 is the largest magnitude considered "finite"'); - - forEach(v.zeroes.concat([-10, 10, +new Date()]), function (time) { - t.looseEqual(ES.TimeClip(time), time, debug(time) + ' is a time of ' + debug(time)); - }); - - t.end(); - }); - - test('modulo', function (t) { - t.equal(3 % 2, 1, '+3 % 2 is +1'); - t.equal(ES.modulo(3, 2), 1, '+3 mod 2 is +1'); - - t.equal(-3 % 2, -1, '-3 % 2 is -1'); - t.equal(ES.modulo(-3, 2), 1, '-3 mod 2 is +1'); - t.end(); - }); - - test('ToDateString', function (t) { - forEach(v.nonNumbers, function (nonNumber) { - t['throws']( - function () { ES.ToDateString(nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a Number' - ); - }); - - t.equal(ES.ToDateString(NaN), 'Invalid Date', 'NaN becomes "Invalid Date"'); - var now = +new Date(); - t.equal(ES.ToDateString(now), Date(now), 'any timestamp becomes `Date(timestamp)`'); - t.end(); - }); - - test('CreateListFromArrayLike', function (t) { - forEach(v.primitives, function (nonObject) { - t['throws']( - function () { ES.CreateListFromArrayLike(nonObject); }, - TypeError, - debug(nonObject) + ' is not an Object' - ); - }); - forEach(v.nonArrays, function (nonArray) { - t['throws']( - function () { ES.CreateListFromArrayLike({}, nonArray); }, - TypeError, - debug(nonArray) + ' is not an Array' - ); - }); - - t.deepEqual( - ES.CreateListFromArrayLike({ length: 2, 0: 'a', 1: 'b', 2: 'c' }), - ['a', 'b'], - 'arraylike stops at the length' - ); - - t.end(); - }); - - test('GetPrototypeFromConstructor', function (t) { - forEach(v.nonFunctions, function (nonFunction) { - t['throws']( - function () { ES.GetPrototypeFromConstructor(nonFunction, '%Array%'); }, - TypeError, - debug(nonFunction) + ' is not a constructor' - ); - }); - - forEach(arrowFns, function (arrowFn) { - t['throws']( - function () { ES.GetPrototypeFromConstructor(arrowFn, '%Array%'); }, - TypeError, - debug(arrowFn) + ' is not a constructor' - ); - }); - - var f = function () {}; - t.equal( - ES.GetPrototypeFromConstructor(f, '%Array.prototype%'), - f.prototype, - 'function with normal `prototype` property returns it' - ); - forEach([true, 'foo', 42], function (truthyPrimitive) { - f.prototype = truthyPrimitive; - t.equal( - ES.GetPrototypeFromConstructor(f, '%Array.prototype%'), - Array.prototype, - 'function with non-object `prototype` property (' + debug(truthyPrimitive) + ') returns default intrinsic' - ); - }); - - t.end(); - }); - - var getNamelessFunction = function () { - var f = Object(function () {}); - try { - delete f.name; - } catch (e) { /**/ } - return f; - }; - - test('SetFunctionName', function (t) { - t.test('non-extensible function', { skip: !Object.preventExtensions }, function (st) { - var f = getNamelessFunction(); - Object.preventExtensions(f); - st['throws']( - function () { ES.SetFunctionName(f, ''); }, - TypeError, - 'throws on a non-extensible function' - ); - st.end(); - }); - - t.test('has an own name property', { skip: !functionsHaveNames }, function (st) { - st['throws']( - function () { ES.SetFunctionName(function g() {}, ''); }, - TypeError, - 'throws if function has an own `name` property' - ); - st.end(); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.SetFunctionName(getNamelessFunction(), nonPropertyKey); }, - TypeError, - debug(nonPropertyKey) + ' is not a Symbol or String' - ); - }); - - t.test('symbols', { skip: !v.hasSymbols || has(getNamelessFunction(), 'name') }, function (st) { - var pairs = [ - [Symbol(), ''], - [Symbol(undefined), ''], - [Symbol(null), '[null]'], - [Symbol(''), getInferredName ? '[]' : ''], - [Symbol.iterator, '[Symbol.iterator]'], - [Symbol('foo'), '[foo]'] - ]; - forEach(pairs, function (pair) { - var sym = pair[0]; - var desc = pair[1]; - var f = getNamelessFunction(); - ES.SetFunctionName(f, sym); - st.equal(f.name, desc, debug(sym) + ' yields a name of ' + debug(desc)); - }); - - st.end(); - }); - - var f = getNamelessFunction(); - t.test('when names are configurable', { skip: !functionsHaveConfigurableNames || has(f, 'name') }, function (st) { - // without prefix - st.notEqual(f.name, 'foo', 'precondition'); - ES.SetFunctionName(f, 'foo'); - st.equal(f.name, 'foo', 'function name is set without a prefix'); - - // with prefix - var g = getNamelessFunction(); - st.notEqual(g.name, 'pre- foo', 'precondition'); - ES.SetFunctionName(g, 'foo', 'pre-'); - st.equal(g.name, 'pre- foo', 'function name is set with a prefix'); - - st.end(); - }); - - t.end(); - }); - - test('OrdinaryCreateFromConstructor', function (t) { - forEach(v.nonFunctions, function (nonFunction) { - t['throws']( - function () { ES.OrdinaryCreateFromConstructor(nonFunction, '%Array.prototype%'); }, - TypeError, - debug(nonFunction) + ' is not a constructor' - ); - }); - - forEach(arrowFns, function (arrowFn) { - t['throws']( - function () { ES.OrdinaryCreateFromConstructor(arrowFn, '%Array.prototype%'); }, - TypeError, - debug(arrowFn) + ' is not a constructor' - ); - }); - - t.test('proto arg', function (st) { - var Parent = function Parent() {}; - Parent.prototype.foo = {}; - var child = ES.OrdinaryCreateFromConstructor(Parent, '%Array.prototype%'); - st.equal(child instanceof Parent, true, 'child is instanceof Parent'); - st.equal(child instanceof Array, false, 'child is not instanceof Array'); - st.equal(child.foo, Parent.prototype.foo, 'child inherits properties from Parent.prototype'); - - st.end(); - }); - - t.test('internal slots arg', function (st) { - st.doesNotThrow( - function () { ES.OrdinaryCreateFromConstructor(function () {}, '%Array.prototype%', []); }, - 'an empty slot list is valid' - ); - - st['throws']( - function () { ES.OrdinaryCreateFromConstructor(function () {}, '%Array.prototype%', ['a']); }, - SyntaxError, - 'internal slots are not supported' - ); - - st.end(); - }); - - t.end(); - }); -}; - -var es2016 = function ES2016(ES, ops, expectedMissing, skips) { - es2015(ES, ops, expectedMissing, skips); - - test('SameValueNonNumber', { skip: skips && skips.SameValueNonNumber }, function (t) { - var willThrow = [ - [3, 4], - [NaN, 4], - [4, ''], - ['abc', true], - [{}, false] - ]; - forEach(willThrow, function (nums) { - t['throws'](function () { return ES.SameValueNonNumber.apply(ES, nums); }, TypeError, 'value must be same type and non-number'); - }); - - forEach(v.objects.concat(v.nonNumberPrimitives), function (val) { - t.equal(val === val, ES.SameValueNonNumber(val, val), debug(val) + ' is SameValueNonNumber to itself'); - }); - - t.end(); - }); - - test('IterableToArrayLike', { skip: skips && skips.IterableToArrayLike }, function (t) { - t.test('custom iterables', { skip: !v.hasSymbols }, function (st) { - var O = {}; - O[Symbol.iterator] = function () { - var i = -1; - return { - next: function () { - i += 1; - return { - done: i >= 5, - value: i - }; - } - }; - }; - st.deepEqual( - ES.IterableToArrayLike(O), - [0, 1, 2, 3, 4], - 'Symbol.iterator method is called and values collected' - ); - - st.end(); - }); - - t.deepEqual(ES.IterableToArrayLike('abc'), ['a', 'b', 'c'], 'a string of code units spreads'); - t.deepEqual(ES.IterableToArrayLike('💩'), ['💩'], 'a string of code points spreads'); - t.deepEqual(ES.IterableToArrayLike('a💩c'), ['a', '💩', 'c'], 'a string of code points and units spreads'); - - var arr = [1, 2, 3]; - t.deepEqual(ES.IterableToArrayLike(arr), arr, 'an array becomes a similar array'); - t.notEqual(ES.IterableToArrayLike(arr), arr, 'an array becomes a different, but similar, array'); - - var O = {}; - t.equal(ES.IterableToArrayLike(O), O, 'a non-iterable non-array non-string object is returned directly'); - - t.end(); - }); - - test('OrdinaryGetPrototypeOf', function (t) { - t.test('values', { skip: !$getProto }, function (st) { - st.equal(ES.OrdinaryGetPrototypeOf([]), Array.prototype, 'array [[Prototype]] is Array.prototype'); - st.equal(ES.OrdinaryGetPrototypeOf({}), Object.prototype, 'object [[Prototype]] is Object.prototype'); - st.equal(ES.OrdinaryGetPrototypeOf(/a/g), RegExp.prototype, 'regex [[Prototype]] is RegExp.prototype'); - st.equal(ES.OrdinaryGetPrototypeOf(Object('')), String.prototype, 'boxed string [[Prototype]] is String.prototype'); - st.equal(ES.OrdinaryGetPrototypeOf(Object(42)), Number.prototype, 'boxed number [[Prototype]] is Number.prototype'); - st.equal(ES.OrdinaryGetPrototypeOf(Object(true)), Boolean.prototype, 'boxed boolean [[Prototype]] is Boolean.prototype'); - if (v.hasSymbols) { - st.equal(ES.OrdinaryGetPrototypeOf(Object(Symbol.iterator)), Symbol.prototype, 'boxed symbol [[Prototype]] is Symbol.prototype'); - } - st.end(); - }); - - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.OrdinaryGetPrototypeOf(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - t.end(); - }); - - test('OrdinarySetPrototypeOf', { skip: !$getProto || !$setProto }, function (t) { - var a = []; - var proto = {}; - - t.equal(ES.OrdinaryGetPrototypeOf(a), Array.prototype, 'precondition'); - t.equal(ES.OrdinarySetPrototypeOf(a, proto), true, 'setting prototype is successful'); - t.equal(ES.OrdinaryGetPrototypeOf(a), proto, 'postcondition'); - - t.end(); - }); - - test('UTF16Encoding', function (t) { - forEach(v.nonNumbers, function (nonNumber) { - t['throws']( - function () { ES.UTF16Encoding(nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a Number' - ); - }); - - t['throws']( - function () { ES.UTF16Encoding(-1); }, - TypeError, - '-1 is < 0' - ); - - t['throws']( - function () { ES.UTF16Encoding(0x10FFFF + 1); }, - TypeError, - '0x10FFFF + 1 is > 0x10FFFF' - ); - - t.equal(ES.UTF16Encoding(0xd83d), leadingPoo.charCodeAt(0), '0xD83D is the first half of ' + wholePoo); - t.equal(ES.UTF16Encoding(0xdca9), trailingPoo.charCodeAt(0), '0xD83D is the last half of ' + wholePoo); - - t.end(); - }); - - test('QuoteJSONString', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.QuoteJSONString(nonString); }, - TypeError, - debug(nonString) + ' is not a String' - ); - }); - - t.equal(ES.QuoteJSONString(''), '""', '"" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('a'), '"a"', '"a" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('"'), '"\\""', '"\\"" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\b'), '"\\b"', '"\\b" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\t'), '"\\t"', '"\\t" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\n'), '"\\n"', '"\\n" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\f'), '"\\f"', '"\\f" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\r'), '"\\r"', '"\\r" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\\'), '"\\\\"', '"\\\\" gets properly JSON-quoted'); - t.equal(ES.QuoteJSONString('\\'), '"\\\\"', '"\\\\" gets properly JSON-quoted'); - - t.end(); - }); -}; - -var es2017 = function ES2017(ES, ops, expectedMissing, skips) { - es2016(ES, ops, expectedMissing, assign({}, skips, { - EnumerableOwnNames: true, - IterableToArrayLike: true - })); - - test('ToIndex', function (t) { - t.ok(is(ES.ToIndex(), 0), 'no value gives 0'); - t.ok(is(ES.ToIndex(undefined), 0), 'undefined value gives 0'); - - t['throws'](function () { ES.ToIndex(-1); }, RangeError, 'negative numbers throw'); - - t['throws'](function () { ES.ToIndex(MAX_SAFE_INTEGER + 1); }, RangeError, 'too large numbers throw'); - - t.equal(ES.ToIndex(3), 3, 'numbers work'); - t.equal(ES.ToIndex(v.valueOfOnlyObject), 4, 'coercible objects are coerced'); - - t.end(); - }); - - test('EnumerableOwnProperties', { skip: skips && skips.EnumerableOwnProperties }, function (t) { - var obj = testEnumerableOwnNames(t, function (O) { - return ES.EnumerableOwnProperties(O, 'key'); - }); - - t.deepEqual( - ES.EnumerableOwnProperties(obj, 'value'), - [obj.own], - 'returns enumerable own values' - ); - - t.deepEqual( - ES.EnumerableOwnProperties(obj, 'key+value'), - [['own', obj.own]], - 'returns enumerable own entries' - ); - - t.end(); - }); - - test('IterableToList', function (t) { - var customIterator = function () { - var i = -1; - return { - next: function () { - i += 1; - return { - done: i >= 5, - value: i - }; - } - }; - }; - - t.deepEqual( - ES.IterableToList({}, customIterator), - [0, 1, 2, 3, 4], - 'iterator method is called and values collected' - ); - - t.test('Symbol support', { skip: !v.hasSymbols }, function (st) { - st.deepEqual(ES.IterableToList('abc', String.prototype[Symbol.iterator]), ['a', 'b', 'c'], 'a string of code units spreads'); - st.deepEqual(ES.IterableToList('☃', String.prototype[Symbol.iterator]), ['☃'], 'a string of code points spreads'); - - var arr = [1, 2, 3]; - st.deepEqual(ES.IterableToList(arr, arr[Symbol.iterator]), arr, 'an array becomes a similar array'); - st.notEqual(ES.IterableToList(arr, arr[Symbol.iterator]), arr, 'an array becomes a different, but similar, array'); - - st.end(); - }); - - t['throws']( - function () { ES.IterableToList({}, void 0); }, - TypeError, - 'non-function iterator method' - ); - - t.end(); - }); - - test('StringGetOwnProperty', function (t) { - forEach(v.nonStrings.concat(v.strings), function (nonBoxedString) { - t['throws']( - function () { ES.StringGetOwnProperty(nonBoxedString, '0'); }, - TypeError, - debug(nonBoxedString) + ' is not a boxed String' - ); - }); - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - t['throws']( - function () { ES.StringGetOwnProperty(Object(''), nonPropertyKey); }, - TypeError, - debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - t.equal(ES.StringGetOwnProperty(Object(''), '0'), undefined, 'empty boxed string yields undefined'); - - forEach(v.strings, function (string) { - if (string) { - var S = Object(string); - for (var i = 0; i < string.length; i += 1) { - var descriptor = ES.StringGetOwnProperty(S, String(i)); - t.deepEqual( - descriptor, - { - '[[Configurable]]': false, - '[[Enumerable]]': true, - '[[Value]]': string.charAt(i), - '[[Writable]]': false - }, - debug(string) + ': property ' + debug(String(i)) + ': returns expected descriptor' - ); - } - } - }); - - t.end(); - }); -}; - -var es2018 = function ES2018(ES, ops, expectedMissing, skips) { - es2017(ES, ops, expectedMissing, assign({}, skips, { - EnumerableOwnProperties: true, - GetSubstitution: true, - IsPropertyDescriptor: true - })); - - test('thisSymbolValue', function (t) { - forEach(v.nonSymbolPrimitives.concat(v.objects), function (nonSymbol) { - t['throws']( - function () { ES.thisSymbolValue(nonSymbol); }, - v.hasSymbols ? TypeError : SyntaxError, - debug(nonSymbol) + ' is not a Symbol' - ); - }); - - t.test('no native Symbols', { skip: v.hasSymbols }, function (st) { - forEach(v.objects.concat(v.primitives), function (value) { - st['throws']( - function () { ES.thisSymbolValue(value); }, - SyntaxError, - 'Symbols are not supported' - ); - }); - st.end(); - }); - - t.test('symbol values', { skip: !v.hasSymbols }, function (st) { - forEach(v.symbols, function (symbol) { - st.equal(ES.thisSymbolValue(symbol), symbol, 'Symbol value of ' + debug(symbol) + ' is same symbol'); - - st.equal( - ES.thisSymbolValue(Object(symbol)), - symbol, - 'Symbol value of ' + debug(Object(symbol)) + ' is ' + debug(symbol) - ); - }); - - st.end(); - }); - - t.end(); - }); - - test('IsStringPrefix', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.IsStringPrefix(nonString, 'a'); }, - TypeError, - 'first arg: ' + debug(nonString) + ' is not a string' - ); - t['throws']( - function () { ES.IsStringPrefix('a', nonString); }, - TypeError, - 'second arg: ' + debug(nonString) + ' is not a string' - ); - }); - - forEach(v.strings, function (string) { - t.equal(ES.IsStringPrefix(string, string), true, debug(string) + ' is a prefix of itself'); - - t.equal(ES.IsStringPrefix('', string), true, 'the empty string is a prefix of everything'); - }); - - t.equal(ES.IsStringPrefix('abc', 'abcd'), true, '"abc" is a prefix of "abcd"'); - t.equal(ES.IsStringPrefix('abcd', 'abc'), false, '"abcd" is not a prefix of "abc"'); - - t.equal(ES.IsStringPrefix('a', 'bc'), false, '"a" is not a prefix of "bc"'); - - t.end(); - }); - - test('NumberToString', { skip: skips && skips.NumberToString }, function (t) { - forEach(v.nonNumbers, function (nonNumber) { - t['throws']( - function () { ES.NumberToString(nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a Number' - ); - }); - - forEach(v.numbers, function (number) { - t.equal(ES.NumberToString(number), String(number), debug(number) + ' stringifies to ' + number); - }); - - t.end(); - }); - - test('CopyDataProperties', function (t) { - t.test('first argument: target', function (st) { - forEach(v.primitives, function (primitive) { - st['throws']( - function () { ES.CopyDataProperties(primitive, {}, []); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - st.end(); - }); - - t.test('second argument: source', function (st) { - var frozenTarget = Object.freeze ? Object.freeze({}) : {}; - forEach(v.nullPrimitives, function (nullish) { - st.equal( - ES.CopyDataProperties(frozenTarget, nullish, []), - frozenTarget, - debug(nullish) + ' "source" yields identical, unmodified target' - ); - }); - - forEach(v.nonNullPrimitives, function (objectCoercible) { - var target = {}; - var result = ES.CopyDataProperties(target, objectCoercible, []); - st.equal(result, target, 'result === target'); - st.deepEqual(keys(result), keys(Object(objectCoercible)), 'target ends up with keys of ' + debug(objectCoercible)); - }); - - st.test('enumerable accessor property', { skip: !defineProperty.oDP }, function (s2t) { - var target = {}; - var source = {}; - defineProperty(source, 'a', { - enumerable: true, - get: function () { return 42; } - }); - var result = ES.CopyDataProperties(target, source, []); - s2t.equal(result, target, 'result === target'); - s2t.deepEqual(result, { a: 42 }, 'target ends up with enumerable accessor of source'); - s2t.end(); - }); - - st.end(); - }); - - t.test('third argument: excludedItems', function (st) { - forEach(v.objects.concat(v.primitives), function (nonArray) { - st['throws']( - function () { ES.CopyDataProperties({}, {}, nonArray); }, - TypeError, - debug(nonArray) + ' is not an Array' - ); - }); - - forEach(v.nonPropertyKeys, function (nonPropertyKey) { - st['throws']( - function () { ES.CopyDataProperties({}, {}, [nonPropertyKey]); }, - TypeError, - debug(nonPropertyKey) + ' is not a Property Key' - ); - }); - - var result = ES.CopyDataProperties({}, { a: 1, b: 2, c: 3 }, ['b']); - st.deepEqual(keys(result).sort(), ['a', 'c'].sort(), 'excluded string keys are excluded'); - - st.test('excluding symbols', { skip: !v.hasSymbols }, function (s2t) { - var source = {}; - forEach(v.symbols, function (symbol) { - source[symbol] = true; - }); - - var includedSymbols = v.symbols.slice(1); - var excludedSymbols = v.symbols.slice(0, 1); - var target = ES.CopyDataProperties({}, source, excludedSymbols); - - forEach(includedSymbols, function (symbol) { - s2t.equal(has(target, symbol), true, debug(symbol) + ' is included'); - }); - - forEach(excludedSymbols, function (symbol) { - s2t.equal(has(target, symbol), false, debug(symbol) + ' is excluded'); - }); - - s2t.end(); - }); - - st.end(); - }); - - t.end(); - }); - - test('PromiseResolve', function (t) { - t.test('Promises unsupported', { skip: typeof Promise === 'function' }, function (st) { - st['throws']( - function () { ES.PromiseResolve(); }, - SyntaxError, - 'Promises are not supported' - ); - st.end(); - }); - - t.test('Promises supported', { skip: typeof Promise !== 'function' }, function (st) { - st.plan(2); - - var a = {}; - var b = {}; - var fulfilled = Promise.resolve(a); - var rejected = Promise.reject(b); - - ES.PromiseResolve(Promise, fulfilled).then(function (x) { - st.equal(x, a, 'fulfilled promise resolves to fulfilled'); - }); - - ES.PromiseResolve(Promise, rejected)['catch'](function (e) { - st.equal(e, b, 'rejected promise resolves to rejected'); - }); - }); - - t.end(); - }); - - test('EnumerableOwnPropertyNames', { skip: skips && skips.EnumerableOwnPropertyNames }, function (t) { - var obj = testEnumerableOwnNames(t, function (O) { - return ES.EnumerableOwnPropertyNames(O, 'key'); - }); - - t.deepEqual( - ES.EnumerableOwnPropertyNames(obj, 'value'), - [obj.own], - 'returns enumerable own values' - ); - - t.deepEqual( - ES.EnumerableOwnPropertyNames(obj, 'key+value'), - [['own', obj.own]], - 'returns enumerable own entries' - ); - - t.end(); - }); - - test('IsPromise', { skip: typeof Promise !== 'function' }, function (t) { - forEach(v.objects.concat(v.primitives), function (nonPromise) { - t.equal(ES.IsPromise(nonPromise), false, debug(nonPromise) + ' is not a Promise'); - }); - - var thenable = { then: Promise.prototype.then }; - t.equal(ES.IsPromise(thenable), false, 'generic thenable is not a Promise'); - - t.equal(ES.IsPromise(Promise.resolve()), true, 'Promise is a Promise'); - - t.end(); - }); - - test('GetSubstitution (ES2018+)', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.GetSubstitution(nonString, '', 0, [], undefined, ''); }, - TypeError, - '`matched`: ' + debug(nonString) + ' is not a String' - ); - - t['throws']( - function () { ES.GetSubstitution('', nonString, 0, [], undefined, ''); }, - TypeError, - '`str`: ' + debug(nonString) + ' is not a String' - ); - - t['throws']( - function () { ES.GetSubstitution('', '', 0, [], undefined, nonString); }, - TypeError, - '`replacement`: ' + debug(nonString) + ' is not a String' - ); - - t['throws']( - function () { ES.GetSubstitution('', '', 0, [nonString], undefined, ''); }, - TypeError, - '`captures`: ' + debug([nonString]) + ' is not an Array of strings' - ); - }); - - forEach(v.nonIntegerNumbers.concat([-1, -42, -Infinity]), function (nonNonNegativeInteger) { - t['throws']( - function () { ES.GetSubstitution('', '', nonNonNegativeInteger, [], undefined, ''); }, - TypeError, - '`position`: ' + debug(nonNonNegativeInteger) + ' is not a non-negative integer' - ); - }); - - forEach(v.nonArrays, function (nonArray) { - t['throws']( - function () { ES.GetSubstitution('', '', 0, nonArray, undefined, ''); }, - TypeError, - '`captures`: ' + debug(nonArray) + ' is not an Array' - ); - }); - - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], undefined, '123'), - '123', - 'returns the substitution' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '$$2$'), - '$2$', - 'supports $$, and trailing $' - ); - - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$&<'), - '>abcdef<', - 'supports $&' - ); - - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$`<'), - '><', - 'supports $` at position 0' - ); - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], undefined, '>$`<'), - '>ab<', - 'supports $` at position > 0' - ); - - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 7, [], undefined, ">$'<"), - '><', - "supports $' at a position where there's less than `matched.length` chars left" - ); - t.equal( - ES.GetSubstitution('def', 'abcdefghi', 3, [], undefined, ">$'<"), - '>ghi<', - "supports $' at a position where there's more than `matched.length` chars left" - ); - - for (var i = 0; i < 100; i += 1) { - var captures = []; - captures[i] = 'test'; - if (i > 0) { - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$' + i + '<'), - '>undefined<', - 'supports $' + i + ' with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$' + i), - '>undefined', - 'supports $' + i + ' at the end of the replacement, with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, undefined, '>$' + i + '<'), - '><', - 'supports $' + i + ' with a capture at that index' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, undefined, '>$' + i), - '>', - 'supports $' + i + ' at the end of the replacement, with a capture at that index' - ); - } - if (i < 10) { - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$0' + i + '<'), - i === 0 ? '><' : '>undefined<', - 'supports $0' + i + ' with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, [], undefined, '>$0' + i), - i === 0 ? '>' : '>undefined', - 'supports $0' + i + ' at the end of the replacement, with no captures' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, undefined, '>$0' + i + '<'), - '><', - 'supports $0' + i + ' with a capture at that index' - ); - t.equal( - ES.GetSubstitution('abcdef', 'abcdefghi', 0, captures, undefined, '>$0' + i), - '>', - 'supports $0' + i + ' at the end of the replacement, with a capture at that index' - ); - } - } - - t.end(); - }); - - test('DateString', function (t) { - forEach(v.nonNumbers.concat(NaN), function (nonNumberOrNaN) { - t['throws']( - function () { ES.DateString(nonNumberOrNaN); }, - TypeError, - debug(nonNumberOrNaN) + ' is not a non-NaN Number' - ); - }); - - t.equal(ES.DateString(Date.UTC(2019, 8, 10, 7, 8, 9)), 'Tue Sep 10 2019'); - t.equal(ES.DateString(Date.UTC(2016, 1, 29, 7, 8, 9)), 'Mon Feb 29 2016'); // leap day - t.end(); - }); - - test('TimeString', function (t) { - forEach(v.nonNumbers.concat(NaN), function (nonNumberOrNaN) { - t['throws']( - function () { ES.TimeString(nonNumberOrNaN); }, - TypeError, - debug(nonNumberOrNaN) + ' is not a non-NaN Number' - ); - }); - - var tv = Date.UTC(2019, 8, 10, 7, 8, 9); - t.equal(ES.TimeString(tv), '07:08:09 GMT'); - t.end(); - }); - - test('SetFunctionLength', function (t) { - forEach(v.nonFunctions, function (nonFunction) { - t['throws']( - function () { ES.SetFunctionLength(nonFunction, 0); }, - TypeError, - debug(nonFunction) + ' is not a Function' - ); - }); - - t.test('non-extensible function', { skip: !Object.preventExtensions }, function (st) { - var F = function F() {}; - Object.preventExtensions(F); - - st['throws']( - function () { ES.SetFunctionLength(F, 0); }, - TypeError, - 'non-extensible function throws' - ); - st.end(); - }); - - var HasLength = function HasLength(_) { return _; }; - t.equal(has(HasLength, 'length'), true, 'precondition: `HasLength` has own length'); - t['throws']( - function () { ES.SetFunctionLength(HasLength, 0); }, - TypeError, - 'function with own length throws' - ); - - t.test('no length', { skip: !functionsHaveConfigurableNames }, function (st) { - var HasNoLength = function HasNoLength() {}; - delete HasNoLength.length; - - st.equal(has(HasNoLength, 'length'), false, 'precondition: `HasNoLength` has no own length'); - - forEach(v.nonNumbers, function (nonNumber) { - st['throws']( - function () { ES.SetFunctionLength(HasNoLength, nonNumber); }, - TypeError, - debug(nonNumber) + ' is not a Number' - ); - }); - - forEach([-1, -42].concat(v.nonIntegerNumbers), function (nonPositiveInteger) { - st['throws']( - function () { ES.SetFunctionLength(HasNoLength, nonPositiveInteger); }, - TypeError, - debug(nonPositiveInteger) + ' is not a positive integer Number' - ); - }); - - st.end(); - }); - - // defines an own configurable non-enum non-write length property - - t.end(); - }); - - test('UnicodeEscape', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.UnicodeEscape(nonString); }, - TypeError, - debug(nonString) + ' is not a String' - ); - }); - t['throws']( - function () { ES.UnicodeEscape(''); }, - TypeError, - 'empty string does not have length 1' - ); - t['throws']( - function () { ES.UnicodeEscape('ab'); }, - TypeError, - '2-char string does not have length 1' - ); - - t.equal(ES.UnicodeEscape(' '), '\\u0020'); - t.equal(ES.UnicodeEscape('a'), '\\u0061'); - t.equal(ES.UnicodeEscape(leadingPoo), '\\ud83d'); - t.equal(ES.UnicodeEscape(trailingPoo), '\\udca9'); - - t.end(); - }); -}; - -var es2019 = function ES2018(ES, ops, expectedMissing, skips) { - es2018(ES, ops, expectedMissing, assign({}, skips, { - })); - - test('AddEntriesFromIterable', function (t) { - t['throws']( - function () { ES.AddEntriesFromIterable({}, undefined, function () {}); }, - TypeError, - 'iterable must not be undefined' - ); - t['throws']( - function () { ES.AddEntriesFromIterable({}, null, function () {}); }, - TypeError, - 'iterable must not be null' - ); - forEach(v.nonFunctions, function (nonFunction) { - t['throws']( - function () { ES.AddEntriesFromIterable({}, {}, nonFunction); }, - TypeError, - debug(nonFunction) + ' is not a function' - ); - }); - - t.test('Symbol support', { skip: !v.hasSymbols }, function (st) { - st.plan(4); - - var O = {}; - st.equal(ES.AddEntriesFromIterable(O, [], function () {}), O, 'returns the target'); - - var adder = function (key, value) { - st.equal(this, O, 'adder gets proper receiver'); - st.equal(key, 0, 'k is key'); - st.equal(value, 'a', 'v is value'); - }; - ES.AddEntriesFromIterable(O, ['a'].entries(), adder); - - st.end(); - }); - - t.end(); - }); - - test('FlattenIntoArray', function (t) { - t.test('no mapper function', function (st) { - var testDepth = function testDepth(tt, depth, expected) { - var a = []; - var o = [[1], 2, , [[3]], [], 4, [[[[5]]]]]; // eslint-disable-line no-sparse-arrays - ES.FlattenIntoArray(a, o, o.length, 0, depth); - tt.deepEqual(a, expected, 'depth: ' + depth); - }; - - testDepth(st, 1, [1, 2, [3], 4, [[[5]]]]); - testDepth(st, 2, [1, 2, 3, 4, [[5]]]); - testDepth(st, 3, [1, 2, 3, 4, [5]]); - testDepth(st, 4, [1, 2, 3, 4, 5]); - testDepth(st, Infinity, [1, 2, 3, 4, 5]); - st.end(); - }); - - t.test('mapper function', function (st) { - var testMapper = function testMapper(tt, mapper, expected, thisArg) { - var a = []; - var o = [[1], 2, , [[3]], [], 4, [[[[5]]]]]; // eslint-disable-line no-sparse-arrays - ES.FlattenIntoArray(a, o, o.length, 0, 1, mapper, thisArg); - tt.deepEqual(a, expected); - }; - - var double = function double(x) { - return typeof x === 'number' ? 2 * x : x; - }; - testMapper( - st, - double, - [1, 4, [3], 8, [[[5]]]] - ); - var receiver = hasStrictMode ? 42 : Object(42); - testMapper( - st, - function (x) { return [this, double(x)]; }, - [receiver, [1], receiver, 4, receiver, [[3]], receiver, [], receiver, 8, receiver, [[[[5]]]]], - 42 - ); - st.end(); - }); - - t.end(); - }); - - test('TrimString', function (t) { - t.test('non-object string', function (st) { - forEach(v.nullPrimitives, function (nullish) { - st['throws']( - function () { ES.TrimString(nullish); }, - debug(nullish) + ' is not an Object' - ); - }); - st.end(); - }); - - var string = ' \n abc \n '; - t.equal(ES.TrimString(string, 'start'), string.slice(string.indexOf('a'))); - t.equal(ES.TrimString(string, 'end'), string.slice(0, string.lastIndexOf('c') + 1)); - t.equal(ES.TrimString(string, 'start+end'), string.slice(string.indexOf('a'), string.lastIndexOf('c') + 1)); - - t.end(); - }); -}; - -var es2020 = function ES2019(ES, ops, expectedMissing, skips) { - es2019(ES, ops, expectedMissing, assign({}, skips, { - NumberToString: true, - ObjectCreate: true, - SameValueNonNumber: true - })); - - test('BinaryAnd', function (t) { - t.equal(ES.BinaryAnd(0, 0), 0); - t.equal(ES.BinaryAnd(0, 1), 0); - t.equal(ES.BinaryAnd(1, 0), 0); - t.equal(ES.BinaryAnd(1, 1), 1); - - forEach(v.nonIntegerNumbers.concat(v.nonNumberPrimitives, v.objects), function (nonBit) { - t['throws']( - function () { ES.BinaryAnd(0, nonBit); }, - TypeError - ); - t['throws']( - function () { ES.BinaryAnd(nonBit, 1); }, - TypeError - ); - }); - t.end(); - }); - - test('BinaryOr', function (t) { - t.equal(ES.BinaryOr(0, 0), 0); - t.equal(ES.BinaryOr(0, 1), 1); - t.equal(ES.BinaryOr(1, 0), 1); - t.equal(ES.BinaryOr(1, 1), 1); - - forEach(v.nonIntegerNumbers.concat(v.nonNumberPrimitives, v.objects), function (nonBit) { - t['throws']( - function () { ES.BinaryOr(0, nonBit); }, - TypeError - ); - t['throws']( - function () { ES.BinaryOr(nonBit, 1); }, - TypeError - ); - }); - t.end(); - }); - - test('BinaryXor', function (t) { - t.equal(ES.BinaryXor(0, 0), 0); - t.equal(ES.BinaryXor(0, 1), 1); - t.equal(ES.BinaryXor(1, 0), 1); - t.equal(ES.BinaryXor(1, 1), 0); - - forEach(v.nonIntegerNumbers.concat(v.nonNumberPrimitives, v.objects), function (nonBit) { - t['throws']( - function () { ES.BinaryXor(0, nonBit); }, - TypeError - ); - t['throws']( - function () { ES.BinaryXor(nonBit, 1); }, - TypeError - ); - }); - t.end(); - }); - - test('OrdinaryObjectCreate', function (t) { - forEach(v.nonNullPrimitives, function (value) { - t['throws']( - function () { ES.OrdinaryObjectCreate(value); }, - TypeError, - debug(value) + ' is not null, or an object' - ); - }); - - t.test('proto arg', function (st) { - var Parent = function Parent() {}; - Parent.prototype.foo = {}; - var child = ES.OrdinaryObjectCreate(Parent.prototype); - st.equal(child instanceof Parent, true, 'child is instanceof Parent'); - st.equal(child.foo, Parent.prototype.foo, 'child inherits properties from Parent.prototype'); - - st.end(); - }); - - t.test('internal slots arg', function (st) { - st.doesNotThrow(function () { ES.OrdinaryObjectCreate({}, []); }, 'an empty slot list is valid'); - - st['throws']( - function () { ES.OrdinaryObjectCreate({}, ['a']); }, - SyntaxError, - 'internal slots are not supported' - ); - - st.end(); - }); - - t.test('null proto', { skip: !$setProto }, function (st) { - st.equal('toString' in {}, true, 'normal objects have toString'); - st.equal('toString' in ES.OrdinaryObjectCreate(null), false, 'makes a null object'); - - st.end(); - }); - - t.test('null proto when no native Object.create', { skip: $setProto }, function (st) { - st['throws']( - function () { ES.OrdinaryObjectCreate(null); }, - SyntaxError, - 'without a native Object.create, can not create null objects' - ); - - st.end(); - }); - - t.end(); - }); - - test('SameValueNonNumeric', function (t) { - var willThrow = [ - [3, 4], - [NaN, 4], - [4, ''], - ['abc', true], - [{}, false] - ]; - forEach(willThrow, function (nums) { - t['throws'](function () { return ES.SameValueNonNumeric.apply(ES, nums); }, TypeError, 'value must be same type and non-number'); - }); - - forEach(v.objects.concat(v.nonNumberPrimitives), function (val) { - t.equal(val === val, ES.SameValueNonNumeric(val, val), debug(val) + ' is SameValueNonNumeric to itself'); - }); - - t.end(); - }); - - test('StringPad', function (t) { - t.equal(ES.StringPad('a', 3, undefined, 'start'), ' a'); - t.equal(ES.StringPad('a', 3, undefined, 'end'), 'a '); - t.equal(ES.StringPad('a', 3, '0', 'start'), '00a'); - t.equal(ES.StringPad('a', 3, '0', 'end'), 'a00'); - t.equal(ES.StringPad('a', 3, '012', 'start'), '01a'); - t.equal(ES.StringPad('a', 3, '012', 'end'), 'a01'); - t.equal(ES.StringPad('a', 7, '012', 'start'), '012012a'); - t.equal(ES.StringPad('a', 7, '012', 'end'), 'a012012'); - - t.end(); - }); - - test('thisBigIntValue', { skip: !hasBigInts }, function (t) { - t.equal(ES.thisBigIntValue(BigInt(42)), BigInt(42)); - t.equal(ES.thisBigIntValue(Object(BigInt(42))), BigInt(42)); - - forEach(v.nonBigInts, function (nonBigInt) { - t['throws']( - function () { ES.thisBigIntValue(nonBigInt); }, - TypeError, - debug(nonBigInt) + ' is not a BigInt' - ); - }); - - t.end(); - }); - - test('CodePointAt', function (t) { - t['throws']( - function () { ES.CodePointAt('abc', -1); }, - TypeError, - 'requires an index >= 0' - ); - t['throws']( - function () { ES.CodePointAt('abc', 3); }, - TypeError, - 'requires an index < string length' - ); - - t.deepEqual(ES.CodePointAt('abc', 0), { - '[[CodePoint]]': 'a', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - t.deepEqual(ES.CodePointAt('abc', 1), { - '[[CodePoint]]': 'b', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - t.deepEqual(ES.CodePointAt('abc', 2), { - '[[CodePoint]]': 'c', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - - var strWithHalfPoo = 'a' + leadingPoo + 'c'; - var strWithWholePoo = 'a' + wholePoo + 'd'; - - t.deepEqual(ES.CodePointAt(strWithHalfPoo, 0), { - '[[CodePoint]]': 'a', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - t.deepEqual(ES.CodePointAt(strWithHalfPoo, 1), { - '[[CodePoint]]': leadingPoo, - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': true - }); - t.deepEqual(ES.CodePointAt(strWithHalfPoo, 2), { - '[[CodePoint]]': 'c', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - - t.deepEqual(ES.CodePointAt(strWithWholePoo, 0), { - '[[CodePoint]]': 'a', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - t.deepEqual(ES.CodePointAt(strWithWholePoo, 1), { - '[[CodePoint]]': wholePoo, - '[[CodeUnitCount]]': 2, - '[[IsUnpairedSurrogate]]': false - }); - t.deepEqual(ES.CodePointAt(strWithWholePoo, 2), { - '[[CodePoint]]': trailingPoo, - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': true - }); - t.deepEqual(ES.CodePointAt(strWithWholePoo, 3), { - '[[CodePoint]]': 'd', - '[[CodeUnitCount]]': 1, - '[[IsUnpairedSurrogate]]': false - }); - - t.end(); - }); - - test('UTF16DecodeSurrogatePair', function (t) { - t['throws']( - function () { ES.UTF16DecodeSurrogatePair('a'.charCodeAt(0), trailingPoo.charCodeAt(0)); }, - TypeError, - '"a" is not a leading surrogate' - ); - t['throws']( - function () { ES.UTF16DecodeSurrogatePair(leadingPoo.charCodeAt(0), 'b'.charCodeAt(0)); }, - TypeError, - '"b" is not a trailing surrogate' - ); - - t.equal(ES.UTF16DecodeSurrogatePair(leadingPoo.charCodeAt(0), trailingPoo.charCodeAt(0)), wholePoo); - - t.end(); - }); - - test('LengthOfArrayLike', function (t) { - forEach(v.primitives, function (primitive) { - t['throws']( - function () { ES.LengthOfArrayLike(primitive); }, - TypeError, - debug(primitive) + ' is not an Object' - ); - }); - - t.equal(ES.LengthOfArrayLike([]), 0); - t.equal(ES.LengthOfArrayLike([1]), 1); - t.equal(ES.LengthOfArrayLike({ length: 42 }), 42); - - t.end(); - }); - - test('IsNonNegativeInteger', function (t) { - forEach(v.nonNumbers, function (nonNumber) { - t.equal( - ES.IsNonNegativeInteger(nonNumber), - false, - debug(nonNumber) + ' is not a non-negative integer' - ); - }); - - forEach(v.nonIntegerNumbers, function (nonIntegerNumber) { - t.equal( - ES.IsNonNegativeInteger(nonIntegerNumber), - false, - debug(nonIntegerNumber) + ' is not a non-negative integer' - ); - }); - - forEach(v.zeroes.concat(v.integerNumbers), function (nonNegativeInteger) { - t.equal( - ES.IsNonNegativeInteger(nonNegativeInteger), - true, - debug(nonNegativeInteger) + ' is a non-negative integer' - ); - }); - - t.end(); - }); - - var unclampedUnsignedIntegerTypes = [ - 'Int8', - 'Int16', - 'Int32' - ]; - var clampedTypes = [ - 'Uint8C' - ]; - var unclampedSignedIntegerTypes = [ - 'Uint8', - 'Uint16', - 'Uint32' - ]; - var unclampedIntegerTypes = unclampedUnsignedIntegerTypes.concat(unclampedSignedIntegerTypes); - var floatTypes = [ - 'Float32', - 'Float64' - ]; - var integerTypes = unclampedIntegerTypes.concat(clampedTypes, floatTypes); - var bigIntTypes = [ - 'BigInt64', - 'BigUint64' - ]; - var numberTypes = floatTypes.concat(integerTypes); - var nonIntegerTypes = floatTypes.concat(bigIntTypes); - var unsignedElementTypes = unclampedSignedIntegerTypes.concat([ - 'BigUint64' - ]); - var signedElementTypes = unclampedUnsignedIntegerTypes; - - test('IsBigIntElementType', function (t) { - forEach(bigIntTypes, function (type) { - t.equal( - ES.IsBigIntElementType(type), - true, - debug(type) + ' is a BigInt element type' - ); - }); - - forEach(numberTypes, function (type) { - t.equal( - ES.IsBigIntElementType(type), - false, - debug(type) + ' is not a BigInt element type' - ); - }); - - t.end(); - }); - - test('IsUnsignedElementType', function (t) { - forEach(unsignedElementTypes, function (type) { - t.equal( - ES.IsUnsignedElementType(type), - true, - debug(type) + ' is an unsigned element type' - ); - }); - - forEach(signedElementTypes, function (type) { - t.equal( - ES.IsUnsignedElementType(type), - false, - debug(type) + ' is not an unsigned element type' - ); - }); - - t.end(); - }); - - test('IsUnclampedIntegerElementType', function (t) { - forEach(unclampedIntegerTypes, function (type) { - t.equal( - ES.IsUnclampedIntegerElementType(type), - true, - debug(type) + ' is an unclamped integer element type' - ); - }); - - forEach(clampedTypes.concat(nonIntegerTypes), function (type) { - t.equal( - ES.IsUnclampedIntegerElementType(type), - false, - debug(type) + ' is not an unclamped integer element type' - ); - }); - - t.end(); - }); - - test('IsNoTearConfiguration', function (t) { - forEach(unclampedIntegerTypes, function (type) { - t.equal( - ES.IsNoTearConfiguration(type), - true, - debug(type) + ' with any order is a no-tear configuration' - ); - }); - - forEach(bigIntTypes, function (type) { - t.equal( - ES.IsNoTearConfiguration(type, 'Init'), - false, - debug(type) + ' with ' + debug('Init') + ' is not a no-tear configuration' - ); - - t.equal( - ES.IsNoTearConfiguration(type, 'Unordered'), - false, - debug(type) + ' with ' + debug('Unordered') + ' is not a no-tear configuration' - ); - - t.equal( - ES.IsNoTearConfiguration(type), - true, - debug(type) + ' with any other order is a no-tear configuration' - ); - }); - - forEach(clampedTypes, function (type) { - t.equal( - ES.IsNoTearConfiguration(type), - false, - debug(type) + ' with any order is not a no-tear configuration' - ); - }); - - t.end(); - }); - - test('NumberBitwiseOp', function (t) { - t['throws']( - function () { ES.NumberBitwiseOp('invalid', 0, 0); }, - TypeError, - 'throws with an invalid op' - ); - - t.equal(ES.NumberBitwiseOp('&', 1, 2), 1 & 2); - t.equal(ES.NumberBitwiseOp('|', 1, 2), 1 | 2); - t.equal(ES.NumberBitwiseOp('^', 1, 2), 1 ^ 2); - - t.end(); - }); - - test('ToNumeric', function (t) { - testToNumber(t, ES, ES.ToNumeric); - - t.test('BigInts', { skip: !hasBigInts }, function (st) { - st.equal(ES.ToNumeric(BigInt(42)), BigInt(42), debug(BigInt(42)) + ' is ' + debug(BigInt(42))); - st.equal(ES.ToNumeric(Object(BigInt(42))), BigInt(42), debug(Object(BigInt(42))) + ' is ' + debug(BigInt(42))); - - var valueOf = { valueOf: function () { return BigInt(7); } }; - st.equal(ES.ToNumeric(valueOf), valueOf.valueOf(), debug(valueOf) + ' is ' + debug(valueOf.valueOf())); - - var toPrimitive = {}; - var value = BigInt(-2); - toPrimitive[Symbol.toPrimitive] = function () { return value; }; - st.equal(ES.ToNumeric(toPrimitive), value, debug(toPrimitive) + ' is ' + debug(value)); - - st.end(); - }); - - t.end(); - }); - - test('UTF16DecodeString', function (t) { - forEach(v.nonStrings, function (nonString) { - t['throws']( - function () { ES.UTF16DecodeString(nonString); }, - TypeError, - debug(nonString) + ' is not a String' - ); - }); - - t.deepEqual(ES.UTF16DecodeString('abc'), ['a', 'b', 'c'], 'code units get split'); - t.deepEqual(ES.UTF16DecodeString('a' + wholePoo + 'c'), ['a', wholePoo, 'c'], 'code points get split too'); - - t.end(); - }); - - test('BigIntBitwiseOp', { skip: !hasBigInts }, function (t) { - t['throws']( - function () { ES.BigIntBitwiseOp('invalid', BigInt(0), BigInt(0)); }, - TypeError, - 'throws with an invalid op' - ); - - t.equal(ES.BigIntBitwiseOp('&', BigInt(1), BigInt(2)), BigInt(1) & BigInt(2)); - t.equal(ES.BigIntBitwiseOp('|', BigInt(1), BigInt(2)), BigInt(1) | BigInt(2)); - t.equal(ES.BigIntBitwiseOp('^', BigInt(1), BigInt(2)), BigInt(1) ^ BigInt(2)); - - t.end(); - }); -}; - -module.exports = { - es2015: es2015, - es2016: es2016, - es2017: es2017, - es2018: es2018, - es2019: es2019, - es2020: es2020 -}; diff --git a/node_modules/object.assign/package.json b/node_modules/object.assign/package.json index 8f5fa3968..a294eeee8 100644 --- a/node_modules/object.assign/package.json +++ b/node_modules/object.assign/package.json @@ -1,6 +1,6 @@ { "name": "object.assign", - "version": "4.1.1", + "version": "4.1.2", "author": "Jordan Harband", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9,15 +9,14 @@ "license": "MIT", "main": "index.js", "scripts": { - "pretest": "npm run --silent lint && es-shim-api --bound", - "test": "npm run --silent tests-only && npm run test:ses", + "pretest": "npm run lint && es-shim-api --bound", + "test": "npm run tests-only && npm run test:ses", "posttest": "aud --production", - "tests-only": "npm run --silent test:implementation && npm run --silent test:shim", - "test:native": "node test/native", - "test:shim": "node test/shimmed", - "test:implementation": "node test", + "tests-only": "npm run test:implementation && npm run test:shim", + "test:native": "nyc node test/native", + "test:shim": "nyc node test/shimmed", + "test:implementation": "nyc node test", "test:ses": "node test/ses-compat", - "coverage": "covert test/*.js", "lint": "eslint .", "build": "mkdir -p dist && browserify browserShim.js > dist/browser.js", "prepublish": "safe-publish-latest && npm run build" @@ -40,8 +39,8 @@ "shim" ], "dependencies": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, @@ -49,15 +48,15 @@ "@es-shims/api": "^2.1.2", "@ljharb/eslint-config": "^17.2.0", "aud": "^1.1.2", - "browserify": "^16.5.0", - "covert": "^1.1.1", - "eslint": "^7.8.1", + "browserify": "^16.5.2", + "eslint": "^7.12.1", "for-each": "^0.3.3", "functions-have-names": "^1.2.1", "has": "^1.0.3", "is": "^3.3.0", + "nyc": "^10.3.2", "safe-publish-latest": "^1.1.4", - "ses": "^0.10.3", + "ses": "^0.10.4", "tape": "^5.0.1" }, "testling": { diff --git a/node_modules/object.assign/test/ses-compat.js b/node_modules/object.assign/test/ses-compat.js index 5b14cba5b..9669eb9a9 100644 --- a/node_modules/object.assign/test/ses-compat.js +++ b/node_modules/object.assign/test/ses-compat.js @@ -1,15 +1,12 @@ 'use strict'; +/* globals lockdown */ + // requiring ses exposes "lockdown" on the global require('ses'); -/* - * lockdown freezes the primordials - * disabling the error taming makes debugging much easier - * lockdown({ errorTaming: 'unsafe' }); - */ -// eslint-disable-next-line no-undef -lockdown(); +// lockdown freezes the primordials +lockdown({ errorTaming: 'unsafe' }); // initialize the module -require('..'); +require('./'); diff --git a/node_modules/object.assign/test/tests.js b/node_modules/object.assign/test/tests.js index 994a8de85..81b132634 100644 --- a/node_modules/object.assign/test/tests.js +++ b/node_modules/object.assign/test/tests.js @@ -159,7 +159,7 @@ module.exports = function (assign, t) { st.end(); }); - t.test('does not fail when symbols are not present', function (st) { + t.test('does not fail when symbols are not present', { skip: !Object.isFrozen || Object.isFrozen(Object) }, function (st) { var getSyms; if (hasSymbols) { getSyms = Object.getOwnPropertySymbols; diff --git a/node_modules/object.values/.editorconfig b/node_modules/object.values/.editorconfig new file mode 100644 index 000000000..bc228f826 --- /dev/null +++ b/node_modules/object.values/.editorconfig @@ -0,0 +1,20 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 150 + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[*.json] +max_line_length = off + +[Makefile] +max_line_length = off diff --git a/node_modules/object.values/.eslintignore b/node_modules/object.values/.eslintignore new file mode 100644 index 000000000..404abb221 --- /dev/null +++ b/node_modules/object.values/.eslintignore @@ -0,0 +1 @@ +coverage/ diff --git a/node_modules/object.values/.github/workflows/rebase.yml b/node_modules/object.values/.github/workflows/rebase.yml deleted file mode 100644 index 436cb79dc..000000000 --- a/node_modules/object.values/.github/workflows/rebase.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Automatic Rebase - -on: [pull_request] - -jobs: - _: - name: "Automatic Rebase" - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - uses: ljharb/rebase@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/node_modules/object.values/.nycrc b/node_modules/object.values/.nycrc new file mode 100644 index 000000000..bdd626ce9 --- /dev/null +++ b/node_modules/object.values/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/object.values/.travis.yml b/node_modules/object.values/.travis.yml deleted file mode 100644 index 2d1c1d25f..000000000 --- a/node_modules/object.values/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/all.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml - - ljharb/travis-ci:node/coverage.yml -matrix: - allow_failures: - - env: COVERAGE=true diff --git a/node_modules/object.values/CHANGELOG.md b/node_modules/object.values/CHANGELOG.md index 475358f85..b6c68412b 100644 --- a/node_modules/object.values/CHANGELOG.md +++ b/node_modules/object.values/CHANGELOG.md @@ -1,44 +1,151 @@ -1.1.1 / 2019-12-12 -================= - * [Refactor] use split-up `es-abstract` (85% bundle size decrease) - * [Deps] update `es-abstract` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `functions-have-names`, `tape`, `object-keys` - * [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops - * [Tests] use shared travis-ci configs - * [Tests] use `functions-have-names` - * [meta] add `funding` field - * [actions] add automatic rebasing / merge commit blocking +# Changelog -1.1.0 / 2019-01-01 -================= - * [New] add `auto` entry point` - * [Deps] update `define-properties`, `es-abstract`, `function-bind`, `has` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` - * [Tests] up to `node` `v11.6`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.16`, `v4.9`; use `nvm install-latest-npm` - * [Tests] use `npm audit` instead of `nsp` - * [Tests] remove `jscs` +All notable changes to this project will be documented in this file. -1.0.4 / 2016-12-04 -================= - * [Docs] update to reflect ES2017 inclusion - * [Deps] update `es-abstract`, `function-bind`, `define-properties` - * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` - * [Tests] up to `node` `v7.2`, `v6.9`, `v4.6`; improve test matrix. +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -1.0.3 / 2015-10-06 -================= - * [Fix] Not-yet-visited keys made non-enumerable on a `[[Get]]` must not show up in the output (https://github.com/ljharb/proposal-object-values-entries/issues/5) +## [v1.1.4](https://github.com/ljharb/Object.values/compare/v1.1.3...v1.1.4) - 2021-05-26 -1.0.2 / 2015-09-25 -================= - * [Fix] Not-yet-visited keys deleted on a `[[Get]]` must not show up in the output (#1) +### Commits -1.0.1 / 2015-09-21 -================= - * [Docs] update version badge URL - * [Tests] on `io.js` `v3.3`, up to `node` `v4.1` - * [Dev Deps] update `eslint`, `@ljharb/eslint-config` +- [meta] add `auto-changelog` [`01ee3ac`](https://github.com/ljharb/Object.values/commit/01ee3acb5c767559ce37a3b24bbd30253eae280c) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`f403cba`](https://github.com/ljharb/Object.values/commit/f403cba8852664d82bbf744cd36ad019742a14b5) +- [readme] add actions and codecov badges [`bee5cd2`](https://github.com/ljharb/Object.values/commit/bee5cd21770c9dffa874a2d18d728cf8478e3e7d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; switch `array-map` for `array.prototype.map` [`8c49dbe`](https://github.com/ljharb/Object.values/commit/8c49dbeed8e3312081d88848abe6bb04383d46ae) +- [Refactor] `propertyIsEnumerable` checks own-ness; remove `has` [`3cb48cf`](https://github.com/ljharb/Object.values/commit/3cb48cf8655504fee0d226036e9582be0fd3fbb0) +- [actions] update workflows [`eb1d757`](https://github.com/ljharb/Object.values/commit/eb1d7574489b86d5d276cf58e3faf77271d0a6f7) +- [Dev Deps] update `eslint`, `tape` [`0abdb2d`](https://github.com/ljharb/Object.values/commit/0abdb2d576aba1074075c1fb25de01ef943aaa77) +- [Tests] increase coverage [`8ca19a3`](https://github.com/ljharb/Object.values/commit/8ca19a3472a9e7883de91d4623fbbce978a0c535) +- [meta] use `prepublishOnly` script for npm 7+ [`88998c8`](https://github.com/ljharb/Object.values/commit/88998c80f21c0aaf7a640ad14caa7b9c08aa1e7c) +- [Deps] update `es-abstract` [`12515ab`](https://github.com/ljharb/Object.values/commit/12515ab54f055c42904caaadecce8d13edd673d8) +- [Deps] update `es-abstract` [`3083ce7`](https://github.com/ljharb/Object.values/commit/3083ce7cd7263cb2570d894947c5d6a4f64feffa) +- [meta] gitignore coverage output [`7aef22b`](https://github.com/ljharb/Object.values/commit/7aef22b2c623b756a3302c6df2265b69b1bb3e10) -1.0.0 / 2015-09-02 -================= - * v1.0.0 +## [v1.1.3](https://github.com/ljharb/Object.values/compare/v1.1.2...v1.1.3) - 2021-02-22 + +### Commits + +- [meta] do not publish github action workflow files [`208c71c`](https://github.com/ljharb/Object.values/commit/208c71c6b34125317ea7784cd05f72c2c511fdfb) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `functions-have-names`, `has-strict-mode`, `tape` [`88849ab`](https://github.com/ljharb/Object.values/commit/88849abd1607d5e80cd4252246ad3d9d0876c431) +- [readme] remove travis badge [`0a9a67f`](https://github.com/ljharb/Object.values/commit/0a9a67f3f33fd82a8c45db6ec0059996c19b54cd) +- [actions] update workflows [`4ecb890`](https://github.com/ljharb/Object.values/commit/4ecb8909b6b5dead0a5ce65489f71c626a569826) +- [Deps] update `call-bind`, `es-abstract` [`28845c7`](https://github.com/ljharb/Object.values/commit/28845c737b5aa665344c39bcf87799484891fe47) + +## [v1.1.2](https://github.com/ljharb/Object.values/compare/v1.1.1...v1.1.2) - 2020-11-26 + +### Commits + +- [Tests] migrate tests to Github Actions [`6ab9d79`](https://github.com/ljharb/Object.values/commit/6ab9d798482ad84fbcb874b085820b6830d0d4e3) +- [Tests] add `implementation` test; run `es-shim-api` in postlint; use `tape` runner [`65667b7`](https://github.com/ljharb/Object.values/commit/65667b7b346a13f91ce6e541871a7687ff4673a4) +- [Tests] run `nyc` on all tests [`b83f36c`](https://github.com/ljharb/Object.values/commit/b83f36ce151a31a78f7e0b763a0b3a118be76256) +- [actions] add "Allow Edits" workflow [`44c7de1`](https://github.com/ljharb/Object.values/commit/44c7de155a409bda38215c32ce616eb33b0cf1cf) +- [Deps] update `es-abstract`; use `call-bind` where applicable [`35f88b0`](https://github.com/ljharb/Object.values/commit/35f88b0f8c7243238058640518446d09f3abe319) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `functions-have-names`; add `safe-publish-latest` [`2495030`](https://github.com/ljharb/Object.values/commit/2495030adccb3f3af615395f364950d76390517d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1cc1742`](https://github.com/ljharb/Object.values/commit/1cc17421906a8afa3d2ece4ebb745c6b501cba0e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`; add `aud` [`f42bc75`](https://github.com/ljharb/Object.values/commit/f42bc75fc7c3a61a09eb0a2e5b4ae003f92d0023) +- [Fix] do not mutate the native function when present [`ea2a273`](https://github.com/ljharb/Object.values/commit/ea2a273cbd8f60f91cf9bb6528b8d5d1cae25f47) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`5040d09`](https://github.com/ljharb/Object.values/commit/5040d09bee5c3ea77694f76ff95c6d4b09bf4a0c) +- [Tests] only audit prod deps [`2803c92`](https://github.com/ljharb/Object.values/commit/2803c924114308f261e4c38dfc81706458046e7b) +- [Deps] update `es-abstract` [`d15d0e5`](https://github.com/ljharb/Object.values/commit/d15d0e5e0ac5342588aa558477e56a075b4b130f) +- [Dev Deps] update `tape` [`e83fe3a`](https://github.com/ljharb/Object.values/commit/e83fe3a4c38dc678866cd0905445d59ea7c58b5b) +- [Deps] update `es-abstract` [`cfab489`](https://github.com/ljharb/Object.values/commit/cfab48956d88dbf4a2659672c648465ca0cc3fc8) + +## [v1.1.1](https://github.com/ljharb/Object.values/compare/v1.1.0...v1.1.1) - 2019-12-12 + +### Commits + +- [Tests] use shared travis-ci configs [`2a82dea`](https://github.com/ljharb/Object.values/commit/2a82dea7bbde9773c0fbae64f7a70f9236effd86) +- [Tests] up to `node` `v12.7`, `v11.15`, `v10.16`, `v8.16`, `v6.17`; use `nvm install-latest-npm` [`58a4209`](https://github.com/ljharb/Object.values/commit/58a420950f906d62b9b62b6ad5881216f7585be2) +- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`80080cd`](https://github.com/ljharb/Object.values/commit/80080cdd93f8dbceb3383864e4d18f8cbb4947c0) +- [actions] add automatic rebasing / merge commit blocking [`e8a9297`](https://github.com/ljharb/Object.values/commit/e8a92975258fd674a2c00380f7ee7c2adb6ee009) +- [Refactor] use split-up `es-abstract` (85% bundle size decrease) [`a8ac36f`](https://github.com/ljharb/Object.values/commit/a8ac36fcad70e86a42d08cf0163f7b23945a3f45) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `functions-have-names` [`c74ad8a`](https://github.com/ljharb/Object.values/commit/c74ad8adcb78173f8e9cec541366c21307587de4) +- [Dev Deps] update `object-keys`, `tape`, `eslint` [`10adf18`](https://github.com/ljharb/Object.values/commit/10adf18de8784be02de042b7c8eec5dd911f4f1a) +- [meta] add `funding` field [`110dbca`](https://github.com/ljharb/Object.values/commit/110dbca51bc0413bab11fe56dabc5d0a373415a7) +- [Tests] use `functions-have-names` [`40746e5`](https://github.com/ljharb/Object.values/commit/40746e5311298d61385e3e316e3f0bc2956d9053) +- [Deps] update `es-abstract` [`9b7c99b`](https://github.com/ljharb/Object.values/commit/9b7c99b9881a3af022ec002cedd72a9aa64f34d2) + +## [v1.1.0](https://github.com/ljharb/Object.values/compare/v1.0.4...v1.1.0) - 2019-01-01 + +### Commits + +- [Tests] remove `jscs` [`a9d5f94`](https://github.com/ljharb/Object.values/commit/a9d5f94000ae6efb44cd964dcdfa5b986596392f) +- [Tests] up to `node` `v11.1`, `v10.13`, `v9.11`, `v8.12`, `v7.10`, `v6.14`, `v4.9`; use `nvm install-latest-npm` [`103a907`](https://github.com/ljharb/Object.values/commit/103a907829c29fabf16e880b178341d3b6832e32) +- [Tests] up to `node` `v7.4`, `v4.7`; improve test matrix [`66caa4a`](https://github.com/ljharb/Object.values/commit/66caa4a74e08de777c1b00185f796e609704bb83) +- [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16` [`81de647`](https://github.com/ljharb/Object.values/commit/81de647b1eede60d69f49cf4ccbf970e3224528e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `tape` [`13c5dd1`](https://github.com/ljharb/Object.values/commit/13c5dd1fa7762cf509deafde12b14fe65e6c0c17) +- [Dev Deps] add missing `object-keys` dev dep [`7cbc7f3`](https://github.com/ljharb/Object.values/commit/7cbc7f38ac6b13738af8b42b62d0c89c5dce6bc6) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`1bf1dbe`](https://github.com/ljharb/Object.values/commit/1bf1dbe0b1fa1c646ef2c6c1bc3a14f5d4045f92) +- [Deps] update `define-properties`, `es-abstract`, `function-bind`, `has` [`faa4051`](https://github.com/ljharb/Object.values/commit/faa40515ff43662e3f381147a902e978cf250bdc) +- [Tests] use `npm audit` instead of `nsp` [`428fb50`](https://github.com/ljharb/Object.values/commit/428fb50c79cc0ef1e62fc053dc959a8848b0d190) +- Only apps should have lockfiles [`f35eb85`](https://github.com/ljharb/Object.values/commit/f35eb8520052bb4dd27ccfd4a399c6011c2ec157) +- [New] add `auto` entry point [`ed730e3`](https://github.com/ljharb/Object.values/commit/ed730e3b2508e4d89691b57d00fc63eebce7130e) + +## [v1.0.4](https://github.com/ljharb/Object.values/compare/v1.0.3...v1.0.4) - 2016-12-04 + +### Commits + +- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `@es-shims/api` [`b0db351`](https://github.com/ljharb/Object.values/commit/b0db351280cfebad008eedff99556cead33a2f37) +- [Tests] up to `node` `v7.2`, `v6.9`, `v4.6`; improve test matrix. [`89362d3`](https://github.com/ljharb/Object.values/commit/89362d30ccee1a27f8d85c114adb14937b4ca7d0) +- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` [`883dce4`](https://github.com/ljharb/Object.values/commit/883dce455bcab08a045561554055003c3f06a917) +- [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` [`67e83b8`](https://github.com/ljharb/Object.values/commit/67e83b8a84ff77f29c99b924760256e05e358dd8) +- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` [`2c1c6c7`](https://github.com/ljharb/Object.values/commit/2c1c6c759725418806d079abf828fd16b3df0aba) +- [Dev Deps] update `jscs`, `nsp`, `eslint`, `@es-shims/api` [`d878ea6`](https://github.com/ljharb/Object.values/commit/d878ea62dc98952e62136de5a42a8caab2a66e84) +- [Tests] up to `node` `v5.6`, `v4.3` [`f37757e`](https://github.com/ljharb/Object.values/commit/f37757e78526e060d7fe2a7ba11414690bbbaa98) +- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` [`348a2a3`](https://github.com/ljharb/Object.values/commit/348a2a386b791fe090a08b7f33111d531277a3ab) +- [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config` [`b1e915e`](https://github.com/ljharb/Object.values/commit/b1e915ed9b35bdb9bb2b7ea35cdd5c78e62636d9) +- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` [`015b78d`](https://github.com/ljharb/Object.values/commit/015b78db57c4cc46d06b1b4f04f4ea2fdb35fc0c) +- [Tests] up to `node` `v5.9`, `v4.4` [`b33686e`](https://github.com/ljharb/Object.values/commit/b33686ea45a842c84e5186416fb52be31a60cc7e) +- [Dev Deps] update `jscs` [`0a44aa3`](https://github.com/ljharb/Object.values/commit/0a44aa30ab2fd5fe4a15070237c700172e517b3f) +- [Docs] update to reflect ES2017 inclusion. [`c01085b`](https://github.com/ljharb/Object.values/commit/c01085b134408bffadafa060bd1585a61674dd57) +- [Tests] use pretest/posttest for linting/security. [`8f9c6c7`](https://github.com/ljharb/Object.values/commit/8f9c6c7104d5694aaf266a6e6d12a92b9731a709) +- [Tests] fix npm upgrades on older nodes [`68c195f`](https://github.com/ljharb/Object.values/commit/68c195fe88677667002e5102c4efcfcc7bef059b) +- [Tests] up to `node` `v6.2` [`48fac8d`](https://github.com/ljharb/Object.values/commit/48fac8de7265142acb1554b28a29322baf53be20) +- [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config` [`471a794`](https://github.com/ljharb/Object.values/commit/471a7940a7dff28a6544c6c253b90daa60ff3c65) +- [Deps] update `es-abstract` [`7e644f1`](https://github.com/ljharb/Object.values/commit/7e644f1bb7c6db533ed137d88de7856e7b9c55b1) +- [Deps] update `es-abstract` [`1856267`](https://github.com/ljharb/Object.values/commit/18562676e8aa606a47116753c323dd28619dea50) +- [Tests] on `node` `v5.12` [`8a4e0c0`](https://github.com/ljharb/Object.values/commit/8a4e0c03415fb67fc2ac420eba6ece5b660cbfe7) +- [Tests] on `node` `v5.10` [`aaeb1a7`](https://github.com/ljharb/Object.values/commit/aaeb1a7a176eca1e69f4df7a8979f0ba40b12c29) +- [Deps] update `function-bind` [`14d2e88`](https://github.com/ljharb/Object.values/commit/14d2e88045d8f92877e9a31f31a2b624267de54f) +- [Deps] update `es-abstract` [`63e46a9`](https://github.com/ljharb/Object.values/commit/63e46a9efd3081872e92ec94a2ed6dbaae3c615a) +- [Deps] update `es-abstract` [`7c40db6`](https://github.com/ljharb/Object.values/commit/7c40db6381bad3232be3e1c24ef79839b6edaba7) +- [Deps] update `define-properties` [`0a86270`](https://github.com/ljharb/Object.values/commit/0a86270bda6478c4e08045b1fb3f2eb72b2207cd) +- [Tests] on `node` `v4.2` [`8ee831d`](https://github.com/ljharb/Object.values/commit/8ee831dae76ef522d6acaae9869a1a7b465361a4) +- [Tests] on `node` `v5.0` [`b9c88c7`](https://github.com/ljharb/Object.values/commit/b9c88c74f2cbb280cfc1c88064c9cd514b4876ae) + +## [v1.0.3](https://github.com/ljharb/Object.values/compare/v1.0.2...v1.0.3) - 2015-10-06 + +### Commits + +- Add test case to cover non-enumerable keys made enumerable by a previous getter. [`9d61739`](https://github.com/ljharb/Object.values/commit/9d617395f0ec81cbdcbc50a46e4489c95253f80b) +- [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config` [`cf6dff8`](https://github.com/ljharb/Object.values/commit/cf6dff84131cef953498988249c5306c71c1fe9f) +- [Dev Deps] update `jscs`, `eslint` [`f439029`](https://github.com/ljharb/Object.values/commit/f439029b228e0dab0542caa63e1d032889d53705) +- [Deps] update `es-abstract` [`6879994`](https://github.com/ljharb/Object.values/commit/6879994fec305490b5550d25ce390e4b64c74fe0) + +## [v1.0.2](https://github.com/ljharb/Object.values/compare/v1.0.1...v1.0.2) - 2015-09-25 + +### Fixed + +- Not-yet-visited keys deleted on a [[Get]] must not show up in the output [`#1`](https://github.com/ljharb/Object.values/issues/1) + +## [v1.0.1](https://github.com/ljharb/Object.values/compare/v1.0.0...v1.0.1) - 2015-09-21 + +### Commits + +- [Tests] on `io.js` `v3.3`, up to `node` `v4.1` [`27aac5f`](https://github.com/ljharb/Object.values/commit/27aac5f80c05f66d584056931b63eed637059621) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`83cde5c`](https://github.com/ljharb/Object.values/commit/83cde5c685db366f769d738bc30f7a6d273bcc3a) +- Add es-shim API keyword [`2c6b885`](https://github.com/ljharb/Object.values/commit/2c6b88550c155b4f9a7c6ece609b8d97d77b2942) +- [Docs] update version badge URL [`626bf99`](https://github.com/ljharb/Object.values/commit/626bf991d9b0f5720819537698918b295c6ea0d0) + +## v1.0.0 - 2015-09-02 + +### Commits + +- Dotfiles [`5251629`](https://github.com/ljharb/Object.values/commit/5251629c47404fa0dec7b6d230eda10da0f47eea) +- Tests [`b02e54e`](https://github.com/ljharb/Object.values/commit/b02e54ef157c56117b390cb1db95f7d48163a838) +- package.json [`7b84f4e`](https://github.com/ljharb/Object.values/commit/7b84f4e839f75b227a5233325f064900a6032f9a) +- Read me [`31e115b`](https://github.com/ljharb/Object.values/commit/31e115b31af2eabf4db518343310f2bb42e7fa04) +- Initial commit [`01271a5`](https://github.com/ljharb/Object.values/commit/01271a51976524c62bac00d8af9af3ede72831dd) +- Implementation. [`9a0c315`](https://github.com/ljharb/Object.values/commit/9a0c31554899f411d31d3b8343c754eb2c19842e) +- Clarifying tests that only Symbol *properties* are omitted. [`16b3abb`](https://github.com/ljharb/Object.values/commit/16b3abb7c15790cb63e9b2b842b75fdc4210ad69) diff --git a/node_modules/object.values/README.md b/node_modules/object.values/README.md index 17fcf07a5..153b53427 100644 --- a/node_modules/object.values/README.md +++ b/node_modules/object.values/README.md @@ -1,6 +1,7 @@ # object.values [![Version Badge][npm-version-svg]][package-url] -[![Build Status][travis-svg]][travis-url] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] @@ -8,8 +9,6 @@ [![npm badge][npm-badge-png]][package-url] -[![browser support][testling-svg]][testling-url] - An ES2017 spec-compliant `Object.values` shim. Invoke its "shim" method to shim `Object.values` if it is unavailable or noncompliant. This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](https://tc39.github.io/ecma262/#sec-object.values). @@ -43,17 +42,17 @@ assert.deepEqual(Object.values(obj), expected); Simply clone the repo, `npm install`, and run `npm test` [package-url]: https://npmjs.com/package/object.values -[npm-version-svg]: http://versionbadg.es/es-shims/Object.values.svg -[travis-svg]: https://travis-ci.org/es-shims/Object.values.svg -[travis-url]: https://travis-ci.org/es-shims/Object.values +[npm-version-svg]: https://versionbadg.es/es-shims/Object.values.svg [deps-svg]: https://david-dm.org/es-shims/Object.values.svg [deps-url]: https://david-dm.org/es-shims/Object.values [dev-deps-svg]: https://david-dm.org/es-shims/Object.values/dev-status.svg [dev-deps-url]: https://david-dm.org/es-shims/Object.values#info=devDependencies -[testling-svg]: https://ci.testling.com/es-shims/Object.values.png -[testling-url]: https://ci.testling.com/es-shims/Object.values [npm-badge-png]: https://nodei.co/npm/object.values.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/object.values.svg +[license-image]: https://img.shields.io/npm/l/object.values.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/object.values.svg -[downloads-url]: http://npm-stat.com/charts.html?package=object.values +[downloads-image]: https://img.shields.io/npm/dm/object.values.svg +[downloads-url]: https://npm-stat.com/charts.html?package=object.values +[codecov-image]: https://codecov.io/gh/es-shims/Object.values/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/es-shims/Object.values/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/es-shims/Object.values +[actions-url]: https://github.com/es-shims/Object.values/actions diff --git a/node_modules/object.values/implementation.js b/node_modules/object.values/implementation.js index dd3bc0720..edac901a0 100644 --- a/node_modules/object.values/implementation.js +++ b/node_modules/object.values/implementation.js @@ -1,8 +1,7 @@ 'use strict'; -var has = require('has'); -var RequireObjectCoercible = require('es-abstract/2019/RequireObjectCoercible'); -var callBound = require('es-abstract/helpers/callBound'); +var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible'); +var callBound = require('call-bind/callBound'); var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); @@ -10,7 +9,7 @@ module.exports = function values(O) { var obj = RequireObjectCoercible(O); var vals = []; for (var key in obj) { - if (has(obj, key) && $isEnumerable(obj, key)) { + if ($isEnumerable(obj, key)) { // checks own-ness as well vals.push(obj[key]); } } diff --git a/node_modules/object.values/index.js b/node_modules/object.values/index.js index b8ba09101..abf0449c9 100644 --- a/node_modules/object.values/index.js +++ b/node_modules/object.values/index.js @@ -1,12 +1,13 @@ 'use strict'; var define = require('define-properties'); +var callBind = require('call-bind'); var implementation = require('./implementation'); var getPolyfill = require('./polyfill'); var shim = require('./shim'); -var polyfill = getPolyfill(); +var polyfill = callBind(getPolyfill(), Object); define(polyfill, { getPolyfill: getPolyfill, diff --git a/node_modules/object.values/package.json b/node_modules/object.values/package.json index 6ecd95947..2529393e0 100644 --- a/node_modules/object.values/package.json +++ b/node_modules/object.values/package.json @@ -1,6 +1,6 @@ { "name": "object.values", - "version": "1.1.1", + "version": "1.1.4", "author": "Jordan Harband ", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9,14 +9,16 @@ "license": "MIT", "main": "index.js", "scripts": { + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", "pretest": "npm run lint", "test": "npm run tests-only", - "posttest": "npx aud", - "tests-only": "es-shim-api && npm run test:shimmed && npm run test:module", - "test:shimmed": "node test/shimmed", - "test:module": "node test/index", - "coverage": "covert test/*.js", - "lint": "eslint ." + "posttest": "npx aud --production", + "tests-only": "nyc tape 'test/**/*.js'", + "lint": "eslint .", + "postlint": "es-shim-api --bound", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" }, "repository": { "type": "git", @@ -38,20 +40,23 @@ "es-shim API" ], "dependencies": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "es-abstract": "^1.18.2" }, "devDependencies": { "@es-shims/api": "^2.1.2", - "@ljharb/eslint-config": "^15.0.2", - "array-map": "^0.0.0", - "covert": "^1.1.1", - "eslint": "^6.7.2", - "functions-have-names": "^1.2.0", + "@ljharb/eslint-config": "^17.6.0", + "array.prototype.map": "^1.0.3", + "aud": "^1.1.5", + "auto-changelog": "^2.3.0", + "eslint": "^7.27.0", + "functions-have-names": "^1.2.2", + "has-strict-mode": "^1.0.1", + "nyc": "^10.3.2", "object-keys": "^1.1.1", - "tape": "^4.11.0" + "safe-publish-latest": "^1.1.4", + "tape": "^5.2.2" }, "testling": { "files": "test/index.js", @@ -73,5 +78,13 @@ }, "engines": { "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true } } \ No newline at end of file diff --git a/node_modules/object.values/test/implementation.js b/node_modules/object.values/test/implementation.js new file mode 100644 index 000000000..e3a1e4655 --- /dev/null +++ b/node_modules/object.values/test/implementation.js @@ -0,0 +1,20 @@ +'use strict'; + +var implementation = require('../implementation'); +var callBind = require('call-bind'); +var test = require('tape'); +var hasStrictMode = require('has-strict-mode')(); +var runTests = require('./tests'); + +test('as a function', function (t) { + t.test('bad array/this value', { skip: !hasStrictMode }, function (st) { + /* eslint no-useless-call: 0 */ + st['throws'](function () { implementation.call(undefined); }, TypeError, 'undefined is not an object'); + st['throws'](function () { implementation.call(null); }, TypeError, 'null is not an object'); + st.end(); + }); + + runTests(callBind(implementation, Object), t); + + t.end(); +}); diff --git a/node_modules/object.values/test/shimmed.js b/node_modules/object.values/test/shimmed.js index c5db49b54..2fc74cd27 100644 --- a/node_modules/object.values/test/shimmed.js +++ b/node_modules/object.values/test/shimmed.js @@ -1,7 +1,6 @@ 'use strict'; -var values = require('../'); -values.shim(); +require('../auto'); var test = require('tape'); var defineProperties = require('define-properties'); diff --git a/node_modules/object.values/test/tests.js b/node_modules/object.values/test/tests.js index 605598374..2dacfd0aa 100644 --- a/node_modules/object.values/test/tests.js +++ b/node_modules/object.values/test/tests.js @@ -1,7 +1,7 @@ 'use strict'; var keys = require('object-keys'); -var map = require('array-map'); +var map = require('array.prototype.map'); var define = require('define-properties'); var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol'; diff --git a/node_modules/pkg-up/index.js b/node_modules/pkg-up/index.js new file mode 100644 index 000000000..19aeaea38 --- /dev/null +++ b/node_modules/pkg-up/index.js @@ -0,0 +1,5 @@ +'use strict'; +const findUp = require('find-up'); + +module.exports = cwd => findUp('package.json', {cwd}); +module.exports.sync = cwd => findUp.sync('package.json', {cwd}); diff --git a/node_modules/pkg-up/license b/node_modules/pkg-up/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/find-up/index.js b/node_modules/pkg-up/node_modules/find-up/index.js new file mode 100644 index 000000000..939c9553d --- /dev/null +++ b/node_modules/pkg-up/node_modules/find-up/index.js @@ -0,0 +1,48 @@ +'use strict'; +const path = require('path'); +const locatePath = require('locate-path'); + +module.exports = (filename, opts) => { + opts = opts || {}; + + const startDir = path.resolve(opts.cwd || ''); + const root = path.parse(startDir).root; + + const filenames = [].concat(filename); + + return new Promise(resolve => { + (function find(dir) { + locatePath(filenames, {cwd: dir}).then(file => { + if (file) { + resolve(path.join(dir, file)); + } else if (dir === root) { + resolve(null); + } else { + find(path.dirname(dir)); + } + }); + })(startDir); + }); +}; + +module.exports.sync = (filename, opts) => { + opts = opts || {}; + + let dir = path.resolve(opts.cwd || ''); + const root = path.parse(dir).root; + + const filenames = [].concat(filename); + + // eslint-disable-next-line no-constant-condition + while (true) { + const file = locatePath.sync(filenames, {cwd: dir}); + + if (file) { + return path.join(dir, file); + } else if (dir === root) { + return null; + } + + dir = path.dirname(dir); + } +}; diff --git a/node_modules/pkg-up/node_modules/find-up/license b/node_modules/pkg-up/node_modules/find-up/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/node_modules/find-up/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/find-up/package.json b/node_modules/pkg-up/node_modules/find-up/package.json new file mode 100644 index 000000000..7ec1b7ef8 --- /dev/null +++ b/node_modules/pkg-up/node_modules/find-up/package.json @@ -0,0 +1,53 @@ +{ + "name": "find-up", + "version": "2.1.0", + "description": "Find a file by walking up parent directories", + "license": "MIT", + "repository": "sindresorhus/find-up", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "find", + "up", + "find-up", + "findup", + "look-up", + "look", + "file", + "search", + "match", + "package", + "resolve", + "parent", + "parents", + "folder", + "directory", + "dir", + "walk", + "walking", + "path" + ], + "dependencies": { + "locate-path": "^2.0.0" + }, + "devDependencies": { + "ava": "*", + "tempfile": "^1.1.1", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/find-up/readme.md b/node_modules/pkg-up/node_modules/find-up/readme.md new file mode 100644 index 000000000..b5ad69455 --- /dev/null +++ b/node_modules/pkg-up/node_modules/find-up/readme.md @@ -0,0 +1,85 @@ +# find-up [![Build Status: Linux and macOS](https://travis-ci.org/sindresorhus/find-up.svg?branch=master)](https://travis-ci.org/sindresorhus/find-up) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/l0cyjmvh5lq72vq2/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/find-up/branch/master) + +> Find a file by walking up parent directories + + +## Install + +``` +$ npm install --save find-up +``` + + +## Usage + +``` +/ +└── Users + └── sindresorhus + ├── unicorn.png + └── foo + └── bar + ├── baz + └── example.js +``` + +```js +// example.js +const findUp = require('find-up'); + +findUp('unicorn.png').then(filepath => { + console.log(filepath); + //=> '/Users/sindresorhus/unicorn.png' +}); + +findUp(['rainbow.png', 'unicorn.png']).then(filepath => { + console.log(filepath); + //=> '/Users/sindresorhus/unicorn.png' +}); +``` + + +## API + +### findUp(filename, [options]) + +Returns a `Promise` for the filepath or `null`. + +### findUp([filenameA, filenameB], [options]) + +Returns a `Promise` for the first filepath found (by respecting the order) or `null`. + +### findUp.sync(filename, [options]) + +Returns a filepath or `null`. + +### findUp.sync([filenameA, filenameB], [options]) + +Returns the first filepath found (by respecting the order) or `null`. + +#### filename + +Type: `string` + +Filename of the file to find. + +#### options + +##### cwd + +Type: `string`
+Default: `process.cwd()` + +Directory to start from. + + +## Related + +- [find-up-cli](https://github.com/sindresorhus/find-up-cli) - CLI for this module +- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file +- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/node_modules/locate-path/index.js b/node_modules/pkg-up/node_modules/locate-path/index.js new file mode 100644 index 000000000..32b108d19 --- /dev/null +++ b/node_modules/pkg-up/node_modules/locate-path/index.js @@ -0,0 +1,24 @@ +'use strict'; +const path = require('path'); +const pathExists = require('path-exists'); +const pLocate = require('p-locate'); + +module.exports = (iterable, opts) => { + opts = Object.assign({ + cwd: process.cwd() + }, opts); + + return pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts); +}; + +module.exports.sync = (iterable, opts) => { + opts = Object.assign({ + cwd: process.cwd() + }, opts); + + for (const el of iterable) { + if (pathExists.sync(path.resolve(opts.cwd, el))) { + return el; + } + } +}; diff --git a/node_modules/pkg-up/node_modules/locate-path/license b/node_modules/pkg-up/node_modules/locate-path/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/node_modules/locate-path/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/locate-path/package.json b/node_modules/pkg-up/node_modules/locate-path/package.json new file mode 100644 index 000000000..e05a6304b --- /dev/null +++ b/node_modules/pkg-up/node_modules/locate-path/package.json @@ -0,0 +1,47 @@ +{ + "name": "locate-path", + "version": "2.0.0", + "description": "Get the first path that exists on disk of multiple paths", + "license": "MIT", + "repository": "sindresorhus/locate-path", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "locate", + "path", + "paths", + "file", + "files", + "exists", + "find", + "finder", + "search", + "searcher", + "array", + "iterable", + "iterator" + ], + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/locate-path/readme.md b/node_modules/pkg-up/node_modules/locate-path/readme.md new file mode 100644 index 000000000..f7b337bb2 --- /dev/null +++ b/node_modules/pkg-up/node_modules/locate-path/readme.md @@ -0,0 +1,99 @@ +# locate-path [![Build Status](https://travis-ci.org/sindresorhus/locate-path.svg?branch=master)](https://travis-ci.org/sindresorhus/locate-path) + +> Get the first path that exists on disk of multiple paths + + +## Install + +``` +$ npm install --save locate-path +``` + + +## Usage + +Here we find the first file that exists on disk, in array order. + +```js +const locatePath = require('locate-path'); + +const files = [ + 'unicorn.png', + 'rainbow.png', // only this one actually exists on disk + 'pony.png' +]; + +locatePath(files).then(foundPath => { + console.log(foundPath); + //=> 'rainbow' +}); +``` + + +## API + +### locatePath(input, [options]) + +Returns a `Promise` for the first path that exists or `undefined` if none exists. + +#### input + +Type: `Iterable` + +Paths to check. + +#### options + +Type: `Object` + +##### concurrency + +Type: `number`
+Default: `Infinity`
+Minimum: `1` + +Number of concurrently pending promises. + +##### preserveOrder + +Type: `boolean`
+Default: `true` + +Preserve `input` order when searching. + +Disable this to improve performance if you don't care about the order. + +##### cwd + +Type: `string`
+Default: `process.cwd()` + +Current working directory. + +### locatePath.sync(input, [options]) + +Returns the first path that exists or `undefined` if none exists. + +#### input + +Type: `Iterable` + +Paths to check. + +#### options + +Type: `Object` + +##### cwd + +Same as above. + + +## Related + +- [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/node_modules/p-limit/index.js b/node_modules/pkg-up/node_modules/p-limit/index.js new file mode 100644 index 000000000..873f0e70d --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-limit/index.js @@ -0,0 +1,42 @@ +'use strict'; +const pTry = require('p-try'); + +module.exports = concurrency => { + if (concurrency < 1) { + throw new TypeError('Expected `concurrency` to be a number from 1 and up'); + } + + const queue = []; + let activeCount = 0; + + const next = () => { + activeCount--; + + if (queue.length > 0) { + queue.shift()(); + } + }; + + return fn => new Promise((resolve, reject) => { + const run = () => { + activeCount++; + + pTry(fn).then( + val => { + resolve(val); + next(); + }, + err => { + reject(err); + next(); + } + ); + }; + + if (activeCount < concurrency) { + run(); + } else { + queue.push(run); + } + }); +}; diff --git a/node_modules/get-stdin/license b/node_modules/pkg-up/node_modules/p-limit/license similarity index 100% rename from node_modules/get-stdin/license rename to node_modules/pkg-up/node_modules/p-limit/license diff --git a/node_modules/pkg-up/node_modules/p-limit/package.json b/node_modules/pkg-up/node_modules/p-limit/package.json new file mode 100644 index 000000000..275cb73ae --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-limit/package.json @@ -0,0 +1,49 @@ +{ + "name": "p-limit", + "version": "1.3.0", + "description": "Run multiple promise-returning & async functions with limited concurrency", + "license": "MIT", + "repository": "sindresorhus/p-limit", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "limit", + "limited", + "concurrency", + "throttle", + "throat", + "rate", + "batch", + "ratelimit", + "task", + "queue", + "async", + "await", + "promises", + "bluebird" + ], + "dependencies": { + "p-try": "^1.0.0" + }, + "devDependencies": { + "ava": "*", + "delay": "^2.0.0", + "in-range": "^1.0.0", + "random-int": "^1.0.0", + "time-span": "^2.0.0", + "xo": "*" + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/p-limit/readme.md b/node_modules/pkg-up/node_modules/p-limit/readme.md new file mode 100644 index 000000000..90129925c --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-limit/readme.md @@ -0,0 +1,69 @@ +# p-limit [![Build Status](https://travis-ci.org/sindresorhus/p-limit.svg?branch=master)](https://travis-ci.org/sindresorhus/p-limit) + +> Run multiple promise-returning & async functions with limited concurrency + + +## Install + +``` +$ npm install p-limit +``` + + +## Usage + +```js +const pLimit = require('p-limit'); + +const limit = pLimit(1); + +const input = [ + limit(() => fetchSomething('foo')), + limit(() => fetchSomething('bar')), + limit(() => doSomething()) +]; + +(async () => { + // Only one promise is run at once + const result = await Promise.all(input); + console.log(result); +})(); +``` + + +## API + +### pLimit(concurrency) + +Returns a `limit` function. + +#### concurrency + +Type: `number`
+Minimum: `1` + +Concurrency limit. + +### limit(fn) + +Returns the promise returned by calling `fn`. + +#### fn + +Type: `Function` + +Promise-returning/async function. + + +## Related + +- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control +- [p-throttle](https://github.com/sindresorhus/p-throttle) - Throttle promise-returning & async functions +- [p-debounce](https://github.com/sindresorhus/p-debounce) - Debounce promise-returning & async functions +- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/node_modules/p-locate/index.js b/node_modules/pkg-up/node_modules/p-locate/index.js new file mode 100644 index 000000000..7461d665b --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-locate/index.js @@ -0,0 +1,31 @@ +'use strict'; +const pLimit = require('p-limit'); + +class EndError extends Error { + constructor(value) { + super(); + this.value = value; + } +} + +// the input can also be a promise, so we `Promise.all()` them both +const finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0]))); + +module.exports = (iterable, tester, opts) => { + opts = Object.assign({ + concurrency: Infinity, + preserveOrder: true + }, opts); + + const limit = pLimit(opts.concurrency); + + // start all the promises concurrently with optional limit + const items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]); + + // check the promises either serially or concurrently + const checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity); + + return Promise.all(items.map(el => checkLimit(() => finder(el)))) + .then(() => {}) + .catch(err => err instanceof EndError ? err.value : Promise.reject(err)); +}; diff --git a/node_modules/pkg-up/node_modules/p-locate/license b/node_modules/pkg-up/node_modules/p-locate/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-locate/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/p-locate/package.json b/node_modules/pkg-up/node_modules/p-locate/package.json new file mode 100644 index 000000000..b938aa4c5 --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-locate/package.json @@ -0,0 +1,54 @@ +{ + "name": "p-locate", + "version": "2.0.0", + "description": "Get the first fulfilled promise that satisfies the provided testing function", + "license": "MIT", + "repository": "sindresorhus/p-locate", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "locate", + "find", + "finder", + "search", + "searcher", + "test", + "array", + "collection", + "iterable", + "iterator", + "race", + "fulfilled", + "fastest", + "async", + "await", + "promises", + "bluebird" + ], + "dependencies": { + "p-limit": "^1.1.0" + }, + "devDependencies": { + "ava": "*", + "delay": "^1.3.1", + "in-range": "^1.0.0", + "time-span": "^1.0.0", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/p-locate/readme.md b/node_modules/pkg-up/node_modules/p-locate/readme.md new file mode 100644 index 000000000..68b96a47e --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-locate/readme.md @@ -0,0 +1,86 @@ +# p-locate [![Build Status](https://travis-ci.org/sindresorhus/p-locate.svg?branch=master)](https://travis-ci.org/sindresorhus/p-locate) + +> Get the first fulfilled promise that satisfies the provided testing function + +Think of it like an async version of [`Array#find`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find). + + +## Install + +``` +$ npm install --save p-locate +``` + + +## Usage + +Here we find the first file that exists on disk, in array order. + +```js +const pathExists = require('path-exists'); +const pLocate = require('p-locate'); + +const files = [ + 'unicorn.png', + 'rainbow.png', // only this one actually exists on disk + 'pony.png' +]; + +pLocate(files, file => pathExists(file)).then(foundPath => { + console.log(foundPath); + //=> 'rainbow' +}); +``` + +*The above is just an example. Use [`locate-path`](https://github.com/sindresorhus/locate-path) if you need this.* + + +## API + +### pLocate(input, tester, [options]) + +Returns a `Promise` that is fulfilled when `tester` resolves to `true` or the iterable is done, or rejects if any of the promises reject. The fulfilled value is the current iterable value or `undefined` if `tester` never resolved to `true`. + +#### input + +Type: `Iterable` + +#### tester(element) + +Type: `Function` + +Expected to return a `Promise` or boolean. + +#### options + +Type: `Object` + +##### concurrency + +Type: `number`
+Default: `Infinity`
+Minimum: `1` + +Number of concurrently pending promises returned by `tester`. + +##### preserveOrder + +Type: `boolean`
+Default: `true` + +Preserve `input` order when searching. + +Disable this to improve performance if you don't care about the order. + + +## Related + +- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently +- [p-filter](https://github.com/sindresorhus/p-filter) - Filter promises concurrently +- [p-any](https://github.com/sindresorhus/p-any) - Wait for any promise to be fulfilled +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/node_modules/p-try/index.js b/node_modules/pkg-up/node_modules/p-try/index.js new file mode 100644 index 000000000..efa2f7433 --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-try/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = cb => new Promise(resolve => { + resolve(cb()); +}); diff --git a/node_modules/pkg-up/node_modules/p-try/license b/node_modules/pkg-up/node_modules/p-try/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-try/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/p-try/package.json b/node_modules/pkg-up/node_modules/p-try/package.json new file mode 100644 index 000000000..a4623262b --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-try/package.json @@ -0,0 +1,43 @@ +{ + "name": "p-try", + "version": "1.0.0", + "description": "`Promise#try()` ponyfill - Starts a promise chain", + "license": "MIT", + "repository": "sindresorhus/p-try", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "try", + "resolve", + "function", + "catch", + "async", + "await", + "promises", + "settled", + "ponyfill", + "polyfill", + "shim", + "bluebird" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/p-try/readme.md b/node_modules/pkg-up/node_modules/p-try/readme.md new file mode 100644 index 000000000..8e5fdddbe --- /dev/null +++ b/node_modules/pkg-up/node_modules/p-try/readme.md @@ -0,0 +1,38 @@ +# p-try [![Build Status](https://travis-ci.org/sindresorhus/p-try.svg?branch=master)](https://travis-ci.org/sindresorhus/p-try) + +> [`Promise#try()`](https://github.com/ljharb/proposal-promise-try) [ponyfill](https://ponyfill.com) - Starts a promise chain + +[How is it useful?](http://cryto.net/~joepie91/blog/2016/05/11/what-is-promise-try-and-why-does-it-matter/) + + +## Install + +``` +$ npm install --save p-try +``` + + +## Usage + +```js +const pTry = require('p-try'); + +pTry(() => { + return synchronousFunctionThatMightThrow(); +}).then(value => { + console.log(value); +}).catch(error => { + console.error(error); +}); +``` + + +## Related + +- [p-finally](https://github.com/sindresorhus/p-finally) - `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/node_modules/path-exists/index.js b/node_modules/pkg-up/node_modules/path-exists/index.js new file mode 100644 index 000000000..16ae60acb --- /dev/null +++ b/node_modules/pkg-up/node_modules/path-exists/index.js @@ -0,0 +1,17 @@ +'use strict'; +const fs = require('fs'); + +module.exports = fp => new Promise(resolve => { + fs.access(fp, err => { + resolve(!err); + }); +}); + +module.exports.sync = fp => { + try { + fs.accessSync(fp); + return true; + } catch (err) { + return false; + } +}; diff --git a/node_modules/pkg-up/node_modules/path-exists/license b/node_modules/pkg-up/node_modules/path-exists/license new file mode 100644 index 000000000..654d0bfe9 --- /dev/null +++ b/node_modules/pkg-up/node_modules/path-exists/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/pkg-up/node_modules/path-exists/package.json b/node_modules/pkg-up/node_modules/path-exists/package.json new file mode 100644 index 000000000..ed507545d --- /dev/null +++ b/node_modules/pkg-up/node_modules/path-exists/package.json @@ -0,0 +1,40 @@ +{ + "name": "path-exists", + "version": "3.0.0", + "description": "Check if a path exists", + "license": "MIT", + "repository": "sindresorhus/path-exists", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "path", + "exists", + "exist", + "file", + "filepath", + "fs", + "filesystem", + "file-system", + "access", + "stat" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/node_modules/path-exists/readme.md b/node_modules/pkg-up/node_modules/path-exists/readme.md new file mode 100644 index 000000000..1b65fa705 --- /dev/null +++ b/node_modules/pkg-up/node_modules/path-exists/readme.md @@ -0,0 +1,50 @@ +# path-exists [![Build Status](https://travis-ci.org/sindresorhus/path-exists.svg?branch=master)](https://travis-ci.org/sindresorhus/path-exists) + +> Check if a path exists + +Because [`fs.exists()`](https://nodejs.org/api/fs.html#fs_fs_exists_path_callback) is being [deprecated](https://github.com/iojs/io.js/issues/103), but there's still a genuine use-case of being able to check if a path exists for other purposes than doing IO with it. + +Never use this before handling a file though: + +> In particular, checking if a file exists before opening it is an anti-pattern that leaves you vulnerable to race conditions: another process may remove the file between the calls to `fs.exists()` and `fs.open()`. Just open the file and handle the error when it's not there. + + +## Install + +``` +$ npm install --save path-exists +``` + + +## Usage + +```js +// foo.js +const pathExists = require('path-exists'); + +pathExists('foo.js').then(exists => { + console.log(exists); + //=> true +}); +``` + + +## API + +### pathExists(path) + +Returns a promise for a boolean of whether the path exists. + +### pathExists.sync(path) + +Returns a boolean of whether the path exists. + + +## Related + +- [path-exists-cli](https://github.com/sindresorhus/path-exists-cli) - CLI for this module + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/pkg-up/package.json b/node_modules/pkg-up/package.json new file mode 100644 index 000000000..5a9647218 --- /dev/null +++ b/node_modules/pkg-up/package.json @@ -0,0 +1,50 @@ +{ + "name": "pkg-up", + "version": "2.0.0", + "description": "Find the closest package.json file", + "license": "MIT", + "repository": "sindresorhus/pkg-up", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "pkg", + "package", + "file", + "find", + "up", + "find-up", + "findup", + "look-up", + "look", + "search", + "match", + "resolve", + "parent", + "parents", + "folder", + "directory", + "dir", + "walk", + "walking", + "path" + ], + "dependencies": { + "find-up": "^2.1.0" + }, + "devDependencies": { + "ava": "*", + "xo": "*" + } +} \ No newline at end of file diff --git a/node_modules/pkg-up/readme.md b/node_modules/pkg-up/readme.md new file mode 100644 index 000000000..e61d70b1c --- /dev/null +++ b/node_modules/pkg-up/readme.md @@ -0,0 +1,64 @@ +# pkg-up [![Build Status](https://travis-ci.org/sindresorhus/pkg-up.svg?branch=master)](https://travis-ci.org/sindresorhus/pkg-up) + +> Find the closest package.json file + + +## Install + +``` +$ npm install --save pkg-up +``` + + +## Usage + +``` +/ +└── Users + └── sindresorhus + └── foo + ├── package.json + └── bar + ├── baz + └── example.js +``` + +```js +// example.js +const pkgUp = require('pkg-up'); + +pkgUp().then(filepath => { + console.log(filepath); + //=> '/Users/sindresorhus/foo/package.json' +}); +``` + + +## API + +### pkgUp([cwd]) + +Returns a `Promise` for either the filepath or `null` if it could be found. + +### pkgUp.sync([cwd]) + +Returns the filepath or `null`. + +#### cwd + +Type: `string` +Default: `process.cwd()` + +Directory to start from. + + +## Related + +- [read-pkg-up](https://github.com/sindresorhus/read-pkg-up) - Read the closest package.json file +- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package +- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/prettier/README.md b/node_modules/prettier/README.md index 76f2e0406..189df95a6 100644 --- a/node_modules/prettier/README.md +++ b/node_modules/prettier/README.md @@ -37,11 +37,11 @@

- + Github Actions Build Status - + Github Actions Build Status - + Github Actions Build Status Codecov Coverage Status diff --git a/node_modules/prettier/bin-prettier.js b/node_modules/prettier/bin-prettier.js index 409506547..89abafd61 100755 --- a/node_modules/prettier/bin-prettier.js +++ b/node_modules/prettier/bin-prettier.js @@ -1,25 +1,27 @@ #!/usr/bin/env node 'use strict'; -var path = require('path'); -var fs$2 = require('fs'); -var readline = require('readline'); +var path$1 = require('path'); +var fs$4 = require('fs'); var os = require('os'); var tty = require('tty'); -var util$2 = require('util'); -var stream$4 = require('stream'); -var events = require('events'); +var util$1 = require('util'); +var stream_1 = require('stream'); +var events_1 = require('events'); +var readline = require('readline'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } -var path__default = /*#__PURE__*/_interopDefaultLegacy(path); -var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$2); -var readline__default = /*#__PURE__*/_interopDefaultLegacy(readline); +var path__default = /*#__PURE__*/_interopDefaultLegacy(path$1); +var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$4); var os__default = /*#__PURE__*/_interopDefaultLegacy(os); var tty__default = /*#__PURE__*/_interopDefaultLegacy(tty); -var util__default = /*#__PURE__*/_interopDefaultLegacy(util$2); -var stream__default = /*#__PURE__*/_interopDefaultLegacy(stream$4); -var events__default = /*#__PURE__*/_interopDefaultLegacy(events); +var util__default = /*#__PURE__*/_interopDefaultLegacy(util$1); +var stream_1__default = /*#__PURE__*/_interopDefaultLegacy(stream_1); +var events_1__default = /*#__PURE__*/_interopDefaultLegacy(events_1); +var readline__default = /*#__PURE__*/_interopDefaultLegacy(readline); + +var packageJson = require("./package.json"); var semverCompare = function cmp(a, b) { var pa = a.split('.'); @@ -57,198 +59,727 @@ var pleaseUpgradeNode = function pleaseUpgradeNode(pkg, opts) { } }; -var name = "prettier"; -var version = "2.1.1"; -var description = "Prettier is an opinionated code formatter"; -var bin = "./bin/prettier.js"; -var repository = "prettier/prettier"; -var homepage = "https://prettier.io"; -var author = "James Long"; -var license = "MIT"; -var main = "./index.js"; -var browser = "./standalone.js"; -var unpkg = "./standalone.js"; -var engines = { - node: ">=10.13.0" -}; -var files = [ - "index.js", - "standalone.js", - "src", - "bin" -]; -var dependencies = { - "@angular/compiler": "10.0.12", - "@babel/code-frame": "7.10.4", - "@babel/parser": "7.11.2", - "@glimmer/syntax": "0.59.0", - "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "3.10.0", - "angular-estree-parser": "2.2.0", - "angular-html-parser": "1.7.1", - camelcase: "6.0.0", - chalk: "4.1.0", - "ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540", - "cjk-regex": "2.0.0", - cosmiconfig: "7.0.0", - dashify: "2.0.0", - diff: "4.0.2", - editorconfig: "0.15.3", - "editorconfig-to-prettier": "0.1.1", - "escape-string-regexp": "4.0.0", - esutils: "2.0.3", - "fast-glob": "3.2.4", - "fast-json-stable-stringify": "2.1.0", - "find-parent-dir": "0.3.0", - "flow-parser": "0.132.0", - "get-stream": "6.0.0", - globby: "11.0.1", - graphql: "15.3.0", - "html-element-attributes": "2.2.1", - "html-styles": "1.0.0", - "html-tag-names": "1.1.5", - "html-void-elements": "1.0.5", - ignore: "4.0.6", - "jest-docblock": "26.0.0", - json5: "2.1.3", - leven: "3.1.0", - "lines-and-columns": "1.1.6", - "linguist-languages": "7.10.0", - lodash: "4.17.20", - mem: "6.1.0", - minimatch: "3.0.4", - minimist: "1.2.5", - "n-readlines": "1.0.0", - outdent: "0.7.1", - "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", - "please-upgrade-node": "3.2.0", - "postcss-less": "3.1.4", - "postcss-media-query-parser": "0.2.3", - "postcss-scss": "2.1.1", - "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "2.0.1", - "regexp-util": "1.2.2", - "remark-footnotes": "2.0.0", - "remark-math": "1.0.6", - "remark-parse": "8.0.3", - resolve: "1.17.0", - semver: "7.3.2", - "string-width": "4.2.0", - typescript: "4.0.2", - "unicode-regex": "3.0.0", - unified: "9.2.0", - vnopts: "1.0.2", - "yaml-unist-parser": "1.3.0" -}; -var devDependencies = { - "@babel/core": "7.11.4", - "@babel/preset-env": "7.11.0", - "@babel/types": "7.11.0", - "@glimmer/reference": "0.59.0", - "@rollup/plugin-alias": "3.1.1", - "@rollup/plugin-babel": "5.2.0", - "@rollup/plugin-commonjs": "14.0.0", - "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "9.0.0", - "@rollup/plugin-replace": "2.3.3", - "@types/estree": "0.0.45", - "@types/node": "14.6.0", - "@typescript-eslint/types": "3.10.0", - "babel-loader": "8.1.0", - benchmark: "2.1.4", - "builtin-modules": "3.1.0", - "cross-env": "7.0.2", - cspell: "4.1.0", - eslint: "7.7.0", - "eslint-config-prettier": "6.11.0", - "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-import": "2.22.0", - "eslint-plugin-jest": "23.20.0", - "eslint-plugin-prettier-internal-rules": "file:scripts/tools/eslint-plugin-prettier-internal-rules", - "eslint-plugin-react": "7.20.6", - "eslint-plugin-unicorn": "21.0.0", - execa: "4.0.3", - jest: "26.4.2", - "jest-snapshot-serializer-ansi": "1.0.0", - "jest-snapshot-serializer-raw": "1.1.0", - "jest-watch-typeahead": "0.6.0", - "npm-run-all": "4.1.5", - prettier: "2.1.0", - rimraf: "3.0.2", - rollup: "2.26.5", - "rollup-plugin-node-globals": "1.4.0", - "rollup-plugin-terser": "7.0.0", - shelljs: "0.8.4", - "snapshot-diff": "0.8.1", - "strip-ansi": "6.0.0", - "synchronous-promise": "2.0.13", - tempy: "0.6.0", - "terser-webpack-plugin": "4.1.0", - webpack: "4.44.1" -}; -var scripts = { - prepublishOnly: "echo \"Error: must publish from dist/\" && exit 1", - "prepare-release": "yarn && yarn build && yarn test:dist", - test: "jest", - "test:dev-package": "cross-env INSTALL_PACKAGE=1 jest", - "test:dist": "cross-env NODE_ENV=production jest", - "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", - "test:integration": "jest tests_integration", - "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - lint: "run-p lint:*", - "lint:typecheck": "tsc", - "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", - "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2016 \"dist/!(bin-prettier|index|third-party).js\"", - "lint:spellcheck": "cspell \"**/*\" \".github/**/*\"", - "lint:deps": "node ./scripts/check-deps.js", - fix: "run-s fix:eslint fix:prettier", - "fix:eslint": "yarn lint:eslint --fix", - "fix:prettier": "yarn lint:prettier --write", - build: "node ./scripts/build/build.js", - "build-docs": "node ./scripts/build-docs.js" -}; -var _package = { - name: name, - version: version, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts +var check = function (it) { + return it && it.Math == Math && it; }; -var _package$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name, - version: version, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts, - 'default': _package +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global$1 = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global$1 == 'object' && global$1) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + +var fails = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +// Detect IE8's incomplete defineProperty implementation +var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$1(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +var objectPropertyIsEnumerable = { + f: f$4 +}; + +var createPropertyDescriptor = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +var toString$1 = {}.toString; + +var classofRaw = function (it) { + return toString$1.call(it).slice(8, -1); +}; + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var indexedObject = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classofRaw(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +var requireObjectCoercible = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +// toObject with fallback for non-array-like ES3 strings + + + +var toIndexedObject = function (it) { + return indexedObject(requireObjectCoercible(it)); +}; + +var isObject$3 = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +var toPrimitive = function (input, PREFERRED_STRING) { + if (!isObject$3(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$3(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject$3(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$3(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +var toObject = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +var hasOwnProperty$b = {}.hasOwnProperty; + +var has$1 = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty$b.call(toObject(it), key); +}; + +var document = global$1.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject$3(document) && isObject$3(document.createElement); + +var documentCreateElement = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +// Thank's IE8 for his funny defineProperty +var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(documentCreateElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (ie8DomDefine) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); +}; + +var objectGetOwnPropertyDescriptor = { + f: f$3 +}; + +var anObject = function (it) { + if (!isObject$3(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (ie8DomDefine) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +var objectDefineProperty = { + f: f$2 +}; + +var createNonEnumerableProperty = descriptors ? function (object, key, value) { + return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +function createCommonjsModule(fn) { + var module = { exports: {} }; + return fn(module, module.exports), module.exports; +} + +var setGlobal = function (key, value) { + try { + createNonEnumerableProperty(global$1, key, value); + } catch (error) { + global$1[key] = value; + } return value; +}; + +var SHARED = '__core-js_shared__'; +var store$1 = global$1[SHARED] || setGlobal(SHARED, {}); + +var sharedStore = store$1; + +var functionToString = Function.toString; + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (typeof sharedStore.inspectSource != 'function') { + sharedStore.inspectSource = function (it) { + return functionToString.call(it); + }; +} + +var inspectSource = sharedStore.inspectSource; + +var WeakMap$3 = global$1.WeakMap; + +var nativeWeakMap = typeof WeakMap$3 === 'function' && /native code/.test(inspectSource(WeakMap$3)); + +var shared = createCommonjsModule(function (module) { +(module.exports = function (key, value) { + return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.14.0', + mode: 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); +}); + +var id = 0; +var postfix = Math.random(); + +var uid = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + +var keys$1 = shared('keys'); + +var sharedKey = function (key) { + return keys$1[key] || (keys$1[key] = uid(key)); +}; + +var hiddenKeys$1 = {}; + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var WeakMap$2 = global$1.WeakMap; +var set, get$1, has; + +var enforce = function (it) { + return has(it) ? get$1(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject$3(it) || (state = get$1(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (nativeWeakMap || sharedStore.state) { + var store = sharedStore.state || (sharedStore.state = new WeakMap$2()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset.call(store, it, metadata); + return metadata; + }; + get$1 = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys$1[STATE] = true; + set = function (it, metadata) { + if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get$1 = function (it) { + return has$1(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return has$1(it, STATE); + }; +} + +var internalState = { + set: set, + get: get$1, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +var redefine = createCommonjsModule(function (module) { +var getInternalState = internalState.get; +var enforceInternalState = internalState.enforce; +var TEMPLATE = String(String).split('String'); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var state; + if (typeof value == 'function') { + if (typeof key == 'string' && !has$1(value, 'name')) { + createNonEnumerableProperty(value, 'name', key); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + } + if (O === global$1) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); +}); +}); + +var path = global$1; + +var aFunction$1 = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +var getBuiltIn = function (namespace, method) { + return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace]) + : path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method]; +}; + +var ceil = Math.ceil; +var floor$1 = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.es/ecma262/#sec-tointeger +var toInteger = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument); +}; + +var min$1 = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +var toLength = function (argument) { + return argument > 0 ? min$1(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +var toAbsoluteIndex = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +var arrayIncludes = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +var indexOf = arrayIncludes.indexOf; + + +var objectKeysInternal = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has$1(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + +// IE8- don't enum bug keys +var enumBugKeys = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return objectKeysInternal(O, hiddenKeys); +}; + +var objectGetOwnPropertyNames = { + f: f$1 +}; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +var f = Object.getOwnPropertySymbols; + +var objectGetOwnPropertySymbols = { + f: f +}; + +// all object keys, includes non-enumerable and symbols +var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = objectGetOwnPropertyNames.f(anObject(it)); + var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + +var copyConstructorProperties = function (target, source) { + var keys = ownKeys(source); + var defineProperty = objectDefineProperty.f; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +var isForced_1 = isForced; + +var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + + + + + + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +var _export = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global$1; + } else if (STATIC) { + target = global$1[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global$1[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + +var aFunction = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + +// TODO: use something more complex like timsort? +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge$1( + mergeSort(array.slice(0, middle), comparefn), + mergeSort(array.slice(middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge$1 = function (left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + var result = []; + + while (lindex < llength || rindex < rlength) { + if (lindex < llength && rindex < rlength) { + result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]); + } else { + result.push(lindex < llength ? left[lindex++] : right[rindex++]); + } + } return result; +}; + +var arraySort = mergeSort; + +var arrayMethodIsStrict = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; + +var firefox = engineUserAgent.match(/firefox\/(\d+)/i); + +var engineFfVersion = !!firefox && +firefox[1]; + +var engineIsIeOrEdge = /MSIE|Trident/.test(engineUserAgent); + +var process$1 = global$1.process; +var versions = process$1 && process$1.versions; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + version = match[0] < 4 ? 1 : match[0] + match[1]; +} else if (engineUserAgent) { + match = engineUserAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = engineUserAgent.match(/Chrome\/(\d+)/); + if (match) version = match[1]; + } +} + +var engineV8Version = version && +version; + +var webkit = engineUserAgent.match(/AppleWebKit\/(\d+)\./); + +var engineWebkitVersion = !!webkit && +webkit[1]; + +var test$1 = []; +var nativeSort = test$1.sort; + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test$1.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test$1.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (engineV8Version) return engineV8Version < 70; + if (engineFfVersion && engineFfVersion > 3) return; + if (engineIsIeOrEdge) return true; + if (engineWebkitVersion) return engineWebkitVersion < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test$1.push({ k: chr + index, v: value }); + } + } + + test$1.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test$1.length; index++) { + chr = test$1[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return String(x) > String(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +_export({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aFunction(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn); + + var items = []; + var arrayLength = toLength(array.length); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) items.push(array[index]); + } + + items = arraySort(items, getSortCompare(comparefn)); + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } }); var fastJsonStableStringify = function (data, opts) { @@ -320,106 +851,7 @@ var fastJsonStableStringify = function (data, opts) { }(data); }; -var src = require("./index"); - -const preserveCamelCase = string => { - let isLastCharLower = false; - let isLastCharUpper = false; - let isLastLastCharUpper = false; - - for (let i = 0; i < string.length; i++) { - const character = string[i]; - - if (isLastCharLower && /[\p{Lu}]/u.test(character)) { - string = string.slice(0, i) + '-' + string.slice(i); - isLastCharLower = false; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = true; - i++; - } else if (isLastCharUpper && isLastLastCharUpper && /[\p{Ll}]/u.test(character)) { - string = string.slice(0, i - 1) + '-' + string.slice(i - 1); - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = false; - isLastCharLower = true; - } else { - isLastCharLower = character.toLocaleLowerCase() === character && character.toLocaleUpperCase() !== character; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = character.toLocaleUpperCase() === character && character.toLocaleLowerCase() !== character; - } - } - - return string; -}; - -const camelCase = (input, options) => { - if (!(typeof input === 'string' || Array.isArray(input))) { - throw new TypeError('Expected the input to be `string | string[]`'); - } - - options = Object.assign({}, { - pascalCase: false - }, options); - - const postProcess = x => options.pascalCase ? x.charAt(0).toLocaleUpperCase() + x.slice(1) : x; - - if (Array.isArray(input)) { - input = input.map(x => x.trim()).filter(x => x.length).join('-'); - } else { - input = input.trim(); - } - - if (input.length === 0) { - return ''; - } - - if (input.length === 1) { - return options.pascalCase ? input.toLocaleUpperCase() : input.toLocaleLowerCase(); - } - - const hasUpperCase = input !== input.toLocaleLowerCase(); - - if (hasUpperCase) { - input = preserveCamelCase(input); - } - - input = input.replace(/^[_.\- ]+/, '').toLocaleLowerCase().replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase()).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toLocaleUpperCase()); - return postProcess(input); -}; - -var camelcase = camelCase; // TODO: Remove this for the next major release - -var _default = camelCase; -camelcase.default = _default; - -/*! - * dashify - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -var dashify = (str, options) => { - if (typeof str !== 'string') throw new TypeError('expected a string'); - return str.trim().replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\W/g, m => /[À-ž]/.test(m) ? m : '-').replace(/^-+|-+$/g, '').replace(/-{2,}/g, m => options && options.condense ? '-' : m).toLowerCase(); -}; - -function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); - } - }, fn(module, module.exports), module.exports; -} - -function getCjsExportFromNamespace (n) { - return n && n['default'] || n; -} - -function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); -} +var prettier$1 = require("./index.js"); var colorName = { "aliceblue": [240, 248, 255], @@ -573,7 +1005,6 @@ var colorName = { }; /* MIT license */ - /* eslint-disable no-mixed-operators */ // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). @@ -585,7 +1016,7 @@ for (const key of Object.keys(colorName)) { reverseKeywords[colorName[key]] = key; } -const convert = { +const convert$1 = { rgb: { channels: 3, labels: 'rgb' @@ -647,36 +1078,36 @@ const convert = { labels: ['gray'] } }; -var conversions = convert; // Hide .channels and .labels properties +var conversions = convert$1; // Hide .channels and .labels properties -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { +for (const model of Object.keys(convert$1)) { + if (!('channels' in convert$1[model])) { throw new Error('missing channels property: ' + model); } - if (!('labels' in convert[model])) { + if (!('labels' in convert$1[model])) { throw new Error('missing channel labels property: ' + model); } - if (convert[model].labels.length !== convert[model].channels) { + if (convert$1[model].labels.length !== convert$1[model].channels) { throw new Error('channel and label counts mismatch: ' + model); } const { channels, labels - } = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', { + } = convert$1[model]; + delete convert$1[model].channels; + delete convert$1[model].labels; + Object.defineProperty(convert$1[model], 'channels', { value: channels }); - Object.defineProperty(convert[model], 'labels', { + Object.defineProperty(convert$1[model], 'labels', { value: labels }); } -convert.rgb.hsl = function (rgb) { +convert$1.rgb.hsl = function (rgb) { const r = rgb[0] / 255; const g = rgb[1] / 255; const b = rgb[2] / 255; @@ -715,7 +1146,7 @@ convert.rgb.hsl = function (rgb) { return [h, s * 100, l * 100]; }; -convert.rgb.hsv = function (rgb) { +convert$1.rgb.hsv = function (rgb) { let rdif; let gdif; let bdif; @@ -758,17 +1189,17 @@ convert.rgb.hsv = function (rgb) { return [h * 360, s * 100, v * 100]; }; -convert.rgb.hwb = function (rgb) { +convert$1.rgb.hwb = function (rgb) { const r = rgb[0]; const g = rgb[1]; let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; + const h = convert$1.rgb.hsl(rgb)[0]; const w = 1 / 255 * Math.min(r, Math.min(g, b)); b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); return [h, w * 100, b * 100]; }; -convert.rgb.cmyk = function (rgb) { +convert$1.rgb.cmyk = function (rgb) { const r = rgb[0] / 255; const g = rgb[1] / 255; const b = rgb[2] / 255; @@ -786,7 +1217,7 @@ function comparativeDistance(x, y) { return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; } -convert.rgb.keyword = function (rgb) { +convert$1.rgb.keyword = function (rgb) { const reversed = reverseKeywords[rgb]; if (reversed) { @@ -810,11 +1241,11 @@ convert.rgb.keyword = function (rgb) { return currentClosestKeyword; }; -convert.keyword.rgb = function (keyword) { +convert$1.keyword.rgb = function (keyword) { return colorName[keyword]; }; -convert.rgb.xyz = function (rgb) { +convert$1.rgb.xyz = function (rgb) { let r = rgb[0] / 255; let g = rgb[1] / 255; let b = rgb[2] / 255; // Assume sRGB @@ -828,8 +1259,8 @@ convert.rgb.xyz = function (rgb) { return [x * 100, y * 100, z * 100]; }; -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); +convert$1.rgb.lab = function (rgb) { + const xyz = convert$1.rgb.xyz(rgb); let x = xyz[0]; let y = xyz[1]; let z = xyz[2]; @@ -845,7 +1276,7 @@ convert.rgb.lab = function (rgb) { return [l, a, b]; }; -convert.hsl.rgb = function (hsl) { +convert$1.hsl.rgb = function (hsl) { const h = hsl[0] / 360; const s = hsl[1] / 100; const l = hsl[2] / 100; @@ -894,7 +1325,7 @@ convert.hsl.rgb = function (hsl) { return rgb; }; -convert.hsl.hsv = function (hsl) { +convert$1.hsl.hsv = function (hsl) { const h = hsl[0]; let s = hsl[1] / 100; let l = hsl[2] / 100; @@ -908,7 +1339,7 @@ convert.hsl.hsv = function (hsl) { return [h, sv * 100, v * 100]; }; -convert.hsv.rgb = function (hsv) { +convert$1.hsv.rgb = function (hsv) { const h = hsv[0] / 60; const s = hsv[1] / 100; let v = hsv[2] / 100; @@ -940,7 +1371,7 @@ convert.hsv.rgb = function (hsv) { } }; -convert.hsv.hsl = function (hsv) { +convert$1.hsv.hsl = function (hsv) { const h = hsv[0]; const s = hsv[1] / 100; const v = hsv[2] / 100; @@ -957,7 +1388,7 @@ convert.hsv.hsl = function (hsv) { }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { +convert$1.hwb.rgb = function (hwb) { const h = hwb[0] / 360; let wh = hwb[1] / 100; let bl = hwb[2] / 100; @@ -1029,7 +1460,7 @@ convert.hwb.rgb = function (hwb) { return [r * 255, g * 255, b * 255]; }; -convert.cmyk.rgb = function (cmyk) { +convert$1.cmyk.rgb = function (cmyk) { const c = cmyk[0] / 100; const m = cmyk[1] / 100; const y = cmyk[2] / 100; @@ -1040,7 +1471,7 @@ convert.cmyk.rgb = function (cmyk) { return [r * 255, g * 255, b * 255]; }; -convert.xyz.rgb = function (xyz) { +convert$1.xyz.rgb = function (xyz) { const x = xyz[0] / 100; const y = xyz[1] / 100; const z = xyz[2] / 100; @@ -1060,7 +1491,7 @@ convert.xyz.rgb = function (xyz) { return [r * 255, g * 255, b * 255]; }; -convert.xyz.lab = function (xyz) { +convert$1.xyz.lab = function (xyz) { let x = xyz[0]; let y = xyz[1]; let z = xyz[2]; @@ -1076,7 +1507,7 @@ convert.xyz.lab = function (xyz) { return [l, a, b]; }; -convert.lab.xyz = function (lab) { +convert$1.lab.xyz = function (lab) { const l = lab[0]; const a = lab[1]; const b = lab[2]; @@ -1098,7 +1529,7 @@ convert.lab.xyz = function (lab) { return [x, y, z]; }; -convert.lab.lch = function (lab) { +convert$1.lab.lch = function (lab) { const l = lab[0]; const a = lab[1]; const b = lab[2]; @@ -1114,7 +1545,7 @@ convert.lab.lch = function (lab) { return [l, c, h]; }; -convert.lch.lab = function (lch) { +convert$1.lch.lab = function (lch) { const l = lch[0]; const c = lch[1]; const h = lch[2]; @@ -1124,9 +1555,9 @@ convert.lch.lab = function (lch) { return [l, a, b]; }; -convert.rgb.ansi16 = function (args, saturation = null) { +convert$1.rgb.ansi16 = function (args, saturation = null) { const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization + let value = saturation === null ? convert$1.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization value = Math.round(value / 50); @@ -1143,13 +1574,13 @@ convert.rgb.ansi16 = function (args, saturation = null) { return ansi; }; -convert.hsv.ansi16 = function (args) { +convert$1.hsv.ansi16 = function (args) { // Optimization here; we already know the value and don't need to get // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]); }; -convert.rgb.ansi256 = function (args) { +convert$1.rgb.ansi256 = function (args) { const r = args[0]; const g = args[1]; const b = args[2]; // We use the extended greyscale palette here, with the exception of @@ -1171,7 +1602,7 @@ convert.rgb.ansi256 = function (args) { return ansi; }; -convert.ansi16.rgb = function (args) { +convert$1.ansi16.rgb = function (args) { let color = args % 10; // Handle greyscale if (color === 0 || color === 7) { @@ -1190,7 +1621,7 @@ convert.ansi16.rgb = function (args) { return [r, g, b]; }; -convert.ansi256.rgb = function (args) { +convert$1.ansi256.rgb = function (args) { // Handle greyscale if (args >= 232) { const c = (args - 232) * 10 + 8; @@ -1205,13 +1636,13 @@ convert.ansi256.rgb = function (args) { return [r, g, b]; }; -convert.rgb.hex = function (args) { +convert$1.rgb.hex = function (args) { const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); const string = integer.toString(16).toUpperCase(); return '000000'.substring(string.length) + string; }; -convert.hex.rgb = function (args) { +convert$1.hex.rgb = function (args) { const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); if (!match) { @@ -1233,7 +1664,7 @@ convert.hex.rgb = function (args) { return [r, g, b]; }; -convert.rgb.hcg = function (rgb) { +convert$1.rgb.hcg = function (rgb) { const r = rgb[0] / 255; const g = rgb[1] / 255; const b = rgb[2] / 255; @@ -1264,7 +1695,7 @@ convert.rgb.hcg = function (rgb) { return [hue * 360, chroma * 100, grayscale * 100]; }; -convert.hsl.hcg = function (hsl) { +convert$1.hsl.hcg = function (hsl) { const s = hsl[1] / 100; const l = hsl[2] / 100; const c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l); @@ -1277,7 +1708,7 @@ convert.hsl.hcg = function (hsl) { return [hsl[0], c * 100, f * 100]; }; -convert.hsv.hcg = function (hsv) { +convert$1.hsv.hcg = function (hsv) { const s = hsv[1] / 100; const v = hsv[2] / 100; const c = s * v; @@ -1290,7 +1721,7 @@ convert.hsv.hcg = function (hsv) { return [hsv[0], c * 100, f * 100]; }; -convert.hcg.rgb = function (hcg) { +convert$1.hcg.rgb = function (hcg) { const h = hcg[0] / 360; const c = hcg[1] / 100; const g = hcg[2] / 100; @@ -1349,7 +1780,7 @@ convert.hcg.rgb = function (hcg) { return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; }; -convert.hcg.hsv = function (hcg) { +convert$1.hcg.hsv = function (hcg) { const c = hcg[1] / 100; const g = hcg[2] / 100; const v = c + g * (1.0 - c); @@ -1362,7 +1793,7 @@ convert.hcg.hsv = function (hcg) { return [hcg[0], f * 100, v * 100]; }; -convert.hcg.hsl = function (hcg) { +convert$1.hcg.hsl = function (hcg) { const c = hcg[1] / 100; const g = hcg[2] / 100; const l = g * (1.0 - c) + 0.5 * c; @@ -1377,14 +1808,14 @@ convert.hcg.hsl = function (hcg) { return [hcg[0], s * 100, l * 100]; }; -convert.hcg.hwb = function (hcg) { +convert$1.hcg.hwb = function (hcg) { const c = hcg[1] / 100; const g = hcg[2] / 100; const v = c + g * (1.0 - c); return [hcg[0], (v - c) * 100, (1 - v) * 100]; }; -convert.hwb.hcg = function (hwb) { +convert$1.hwb.hcg = function (hwb) { const w = hwb[1] / 100; const b = hwb[2] / 100; const v = 1 - b; @@ -1398,44 +1829,44 @@ convert.hwb.hcg = function (hwb) { return [hwb[0], c * 100, g * 100]; }; -convert.apple.rgb = function (apple) { +convert$1.apple.rgb = function (apple) { return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; }; -convert.rgb.apple = function (rgb) { +convert$1.rgb.apple = function (rgb) { return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; }; -convert.gray.rgb = function (args) { +convert$1.gray.rgb = function (args) { return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; }; -convert.gray.hsl = function (args) { +convert$1.gray.hsl = function (args) { return [0, 0, args[0]]; }; -convert.gray.hsv = convert.gray.hsl; +convert$1.gray.hsv = convert$1.gray.hsl; -convert.gray.hwb = function (gray) { +convert$1.gray.hwb = function (gray) { return [0, 100, gray[0]]; }; -convert.gray.cmyk = function (gray) { +convert$1.gray.cmyk = function (gray) { return [0, 0, 0, gray[0]]; }; -convert.gray.lab = function (gray) { +convert$1.gray.lab = function (gray) { return [gray[0], 0, 0]; }; -convert.gray.hex = function (gray) { +convert$1.gray.hex = function (gray) { const val = Math.round(gray[0] / 100 * 255) & 0xFF; const integer = (val << 16) + (val << 8) + val; const string = integer.toString(16).toUpperCase(); return '000000'.substring(string.length) + string; }; -convert.rgb.gray = function (rgb) { +convert$1.rgb.gray = function (rgb) { const val = (rgb[0] + rgb[1] + rgb[2]) / 3; return [val / 255 * 100]; }; @@ -1535,7 +1966,7 @@ var route = function (fromModel) { return conversion; }; -const convert$1 = {}; +const convert = {}; const models = Object.keys(conversions); function wrapRaw(fn) { @@ -1595,22 +2026,22 @@ function wrapRounded(fn) { } models.forEach(fromModel => { - convert$1[fromModel] = {}; - Object.defineProperty(convert$1[fromModel], 'channels', { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], 'channels', { value: conversions[fromModel].channels }); - Object.defineProperty(convert$1[fromModel], 'labels', { + Object.defineProperty(convert[fromModel], 'labels', { value: conversions[fromModel].labels }); const routes = route(fromModel); const routeModels = Object.keys(routes); routeModels.forEach(toModel => { const fn = routes[toModel]; - convert$1[fromModel][toModel] = wrapRounded(fn); - convert$1[fromModel][toModel].raw = wrapRaw(fn); + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); }); }); -var colorConvert = convert$1; +var colorConvert = convert; var ansiStyles = createCommonjsModule(function (module) { @@ -1848,7 +2279,7 @@ function supportsColor(haveStream, streamIsTTY) { } if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { return 1; } @@ -1859,10 +2290,6 @@ function supportsColor(haveStream, streamIsTTY) { return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; } - if ('GITHUB_ACTIONS' in env) { - return 1; - } - if (env.COLORTERM === 'truecolor') { return 3; } @@ -1906,7 +2333,7 @@ var supportsColor_1 = { stderr: translateLevel(supportsColor(true, tty__default['default'].isatty(2))) }; -const stringReplaceAll = (string, substring, replacer) => { +const stringReplaceAll$1 = (string, substring, replacer) => { let index = string.indexOf(substring); if (index === -1) { @@ -1927,7 +2354,7 @@ const stringReplaceAll = (string, substring, replacer) => { return returnValue; }; -const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { +const stringEncaseCRLFWithFirstIndex$1 = (string, prefix, postfix, index) => { let endIndex = 0; let returnValue = ''; @@ -1943,8 +2370,8 @@ const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { }; var util = { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex + stringReplaceAll: stringReplaceAll$1, + stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 }; const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; @@ -2076,11 +2503,11 @@ const { stderr: stderrColor } = supportsColor_1; const { - stringReplaceAll: stringReplaceAll$1, - stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 + stringReplaceAll, + stringEncaseCRLFWithFirstIndex } = util; const { - isArray + isArray: isArray$2 } = Array; // `supportsColor.level` → `ansiStyles.color[name]` mapping const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; @@ -2181,7 +2608,7 @@ for (const model of usedModels) { }; } -const proto = Object.defineProperties(() => {}, Object.assign({}, styles, { +const proto = Object.defineProperties(() => {}, Object.assign(Object.assign({}, styles), {}, { level: { enumerable: true, @@ -2219,7 +2646,7 @@ const createStyler = (open, close, parent) => { const createBuilder = (self, _styler, _isEmpty) => { const builder = (...arguments_) => { - if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { + if (isArray$2(arguments_[0]) && isArray$2(arguments_[0].raw)) { // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` return applyStyle(builder, chalkTag(builder, ...arguments_)); } // Single argument is hot path, implicit coercion is faster than anything @@ -2259,7 +2686,7 @@ const applyStyle = (self, string) => { // Replace any instances already present with a re-opening code // otherwise only the part of the string until said closing code // will be colored, and the rest will simply be 'plain'. - string = stringReplaceAll$1(string, styler.close, styler.open); + string = stringReplaceAll(string, styler.close, styler.open); styler = styler.parent; } } // We can move both next actions out of loop, because remaining actions in loop won't have @@ -2270,7 +2697,7 @@ const applyStyle = (self, string) => { const lfIndex = string.indexOf('\n'); if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex$1(string, closeAll, openAll, lfIndex); + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); } return openAll + string + closeAll; @@ -2281,7 +2708,7 @@ let template; const chalkTag = (chalk, ...strings) => { const [firstString] = strings; - if (!isArray(firstString) || !isArray(firstString.raw)) { + if (!isArray$2(firstString) || !isArray$2(firstString.raw)) { // If chalk() was called by itself or with a string, // return the string itself as a string. return strings.join(' '); @@ -2312,3905 +2739,132 @@ chalk.stderr = Chalk({ chalk.stderr.supportsColor = stderrColor; var source = chalk; -/** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ -function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; +var require$$1 = require("./third-party.js"); - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } +var prettierInternal = prettier$1.__internal; - return result; -} - -var fromPairs_1 = fromPairs; - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray$1 = Array.isArray; -var isArray_1 = isArray$1; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; -var _freeGlobal = freeGlobal; - -/** Detect free variable `self`. */ - -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; -/** Used as a reference to the global object. */ - -var root = _freeGlobal || freeSelf || Function('return this')(); -var _root = root; - -/** Built-in value references. */ - -var Symbol$1 = _root.Symbol; -var _Symbol = Symbol$1; - -/** Used for built-in method references. */ - -var objectProto = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString = objectProto.toString; -/** Built-in value references. */ - -var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - - return result; -} - -var _getRawTag = getRawTag; - -/** Used for built-in method references. */ -var objectProto$1 = Object.prototype; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString$1 = objectProto$1.toString; -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - -function objectToString(value) { - return nativeObjectToString$1.call(value); -} - -var _objectToString = objectToString; - -/** `Object#toString` result references. */ - -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; -/** Built-in value references. */ - -var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined; -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - - return symToStringTag$1 && symToStringTag$1 in Object(value) ? _getRawTag(value) : _objectToString(value); -} - -var _baseGetTag = baseGetTag; - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -var isObjectLike_1 = isObjectLike; - -/** `Object#toString` result references. */ - -var symbolTag = '[object Symbol]'; -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - -function isSymbol(value) { - return typeof value == 'symbol' || isObjectLike_1(value) && _baseGetTag(value) == symbolTag; -} - -var isSymbol_1 = isSymbol; - -/** Used to match property names within property paths. */ - -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - -function isKey(value, object) { - if (isArray_1(value)) { - return false; - } - - var type = typeof value; - - if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol_1(value)) { - return true; - } - - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); -} - -var _isKey = isKey; - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); -} - -var isObject_1 = isObject; - -/** `Object#toString` result references. */ - -var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - proxyTag = '[object Proxy]'; -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - -function isFunction(value) { - if (!isObject_1(value)) { - return false; - } // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - - - var tag = _baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; -} - -var isFunction_1 = isFunction; - -/** Used to detect overreaching core-js shims. */ - -var coreJsData = _root['__core-js_shared__']; -var _coreJsData = coreJsData; - -/** Used to detect methods masquerading as native. */ - -var maskSrcKey = function () { - var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || ''); - return uid ? 'Symbol(src)_1.' + uid : ''; -}(); -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - - -function isMasked(func) { - return !!maskSrcKey && maskSrcKey in func; -} - -var _isMasked = isMasked; - -/** Used for built-in method references. */ -var funcProto = Function.prototype; -/** Used to resolve the decompiled source of functions. */ - -var funcToString = funcProto.toString; -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - -function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - - try { - return func + ''; - } catch (e) {} - } - - return ''; -} - -var _toSource = toSource; - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -/** Used to detect host constructors (Safari). */ - -var reIsHostCtor = /^\[object .+?Constructor\]$/; -/** Used for built-in method references. */ - -var funcProto$1 = Function.prototype, - objectProto$2 = Object.prototype; -/** Used to resolve the decompiled source of functions. */ - -var funcToString$1 = funcProto$1.toString; -/** Used to check objects for own properties. */ - -var hasOwnProperty$1 = objectProto$2.hasOwnProperty; -/** Used to detect if a method is native. */ - -var reIsNative = RegExp('^' + funcToString$1.call(hasOwnProperty$1).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - -function baseIsNative(value) { - if (!isObject_1(value) || _isMasked(value)) { - return false; - } - - var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor; - return pattern.test(_toSource(value)); -} - -var _baseIsNative = baseIsNative; - -/** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function getValue(object, key) { - return object == null ? undefined : object[key]; -} - -var _getValue = getValue; - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - -function getNative(object, key) { - var value = _getValue(object, key); - return _baseIsNative(value) ? value : undefined; -} - -var _getNative = getNative; - -/* Built-in method references that are verified to be native. */ - -var nativeCreate = _getNative(Object, 'create'); -var _nativeCreate = nativeCreate; - -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - -function hashClear() { - this.__data__ = _nativeCreate ? _nativeCreate(null) : {}; - this.size = 0; -} - -var _hashClear = hashClear; - -/** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; -} - -var _hashDelete = hashDelete; - -/** Used to stand-in for `undefined` hash values. */ - -var HASH_UNDEFINED = '__lodash_hash_undefined__'; -/** Used for built-in method references. */ - -var objectProto$3 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$2 = objectProto$3.hasOwnProperty; -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function hashGet(key) { - var data = this.__data__; - - if (_nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - - return hasOwnProperty$2.call(data, key) ? data[key] : undefined; -} - -var _hashGet = hashGet; - -/** Used for built-in method references. */ - -var objectProto$4 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$3 = objectProto$4.hasOwnProperty; -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function hashHas(key) { - var data = this.__data__; - return _nativeCreate ? data[key] !== undefined : hasOwnProperty$3.call(data, key); -} - -var _hashHas = hashHas; - -/** Used to stand-in for `undefined` hash values. */ - -var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = _nativeCreate && value === undefined ? HASH_UNDEFINED$1 : value; - return this; -} - -var _hashSet = hashSet; - -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `Hash`. - - -Hash.prototype.clear = _hashClear; -Hash.prototype['delete'] = _hashDelete; -Hash.prototype.get = _hashGet; -Hash.prototype.has = _hashHas; -Hash.prototype.set = _hashSet; -var _Hash = Hash; - -/** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ -function listCacheClear() { - this.__data__ = []; - this.size = 0; -} - -var _listCacheClear = listCacheClear; - -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || value !== value && other !== other; -} - -var eq_1 = eq; - -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - -function assocIndexOf(array, key) { - var length = array.length; - - while (length--) { - if (eq_1(array[length][0], key)) { - return length; - } - } - - return -1; -} - -var _assocIndexOf = assocIndexOf; - -/** Used for built-in method references. */ - -var arrayProto = Array.prototype; -/** Built-in value references. */ - -var splice = arrayProto.splice; -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - -function listCacheDelete(key) { - var data = this.__data__, - index = _assocIndexOf(data, key); - - if (index < 0) { - return false; - } - - var lastIndex = data.length - 1; - - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - - --this.size; - return true; -} - -var _listCacheDelete = listCacheDelete; - -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function listCacheGet(key) { - var data = this.__data__, - index = _assocIndexOf(data, key); - return index < 0 ? undefined : data[index][1]; -} - -var _listCacheGet = listCacheGet; - -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function listCacheHas(key) { - return _assocIndexOf(this.__data__, key) > -1; -} - -var _listCacheHas = listCacheHas; - -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - -function listCacheSet(key, value) { - var data = this.__data__, - index = _assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - - return this; -} - -var _listCacheSet = listCacheSet; - -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `ListCache`. - - -ListCache.prototype.clear = _listCacheClear; -ListCache.prototype['delete'] = _listCacheDelete; -ListCache.prototype.get = _listCacheGet; -ListCache.prototype.has = _listCacheHas; -ListCache.prototype.set = _listCacheSet; -var _ListCache = ListCache; - -/* Built-in method references that are verified to be native. */ - -var Map$1 = _getNative(_root, 'Map'); -var _Map = Map$1; - -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - -function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new _Hash(), - 'map': new (_Map || _ListCache)(), - 'string': new _Hash() - }; -} - -var _mapCacheClear = mapCacheClear; - -/** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ -function isKeyable(value) { - var type = typeof value; - return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null; -} - -var _isKeyable = isKeyable; - -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - -function getMapData(map, key) { - var data = map.__data__; - return _isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; -} - -var _getMapData = getMapData; - -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - -function mapCacheDelete(key) { - var result = _getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; -} - -var _mapCacheDelete = mapCacheDelete; - -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function mapCacheGet(key) { - return _getMapData(this, key).get(key); -} - -var _mapCacheGet = mapCacheGet; - -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function mapCacheHas(key) { - return _getMapData(this, key).has(key); -} - -var _mapCacheHas = mapCacheHas; - -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - -function mapCacheSet(key, value) { - var data = _getMapData(this, key), - size = data.size; - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; -} - -var _mapCacheSet = mapCacheSet; - -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `MapCache`. - - -MapCache.prototype.clear = _mapCacheClear; -MapCache.prototype['delete'] = _mapCacheDelete; -MapCache.prototype.get = _mapCacheGet; -MapCache.prototype.has = _mapCacheHas; -MapCache.prototype.set = _mapCacheSet; -var _MapCache = MapCache; - -/** Error message constants. */ - -var FUNC_ERROR_TEXT = 'Expected a function'; -/** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - -function memoize(func, resolver) { - if (typeof func != 'function' || resolver != null && typeof resolver != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - - var memoized = function () { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - - memoized.cache = new (memoize.Cache || _MapCache)(); - return memoized; -} // Expose `MapCache`. - - -memoize.Cache = _MapCache; -var memoize_1 = memoize; - -/** Used as the maximum memoize cache size. */ - -var MAX_MEMOIZE_SIZE = 500; -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - -function memoizeCapped(func) { - var result = memoize_1(func, function (key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - - return key; - }); - var cache = result.cache; - return result; -} - -var _memoizeCapped = memoizeCapped; - -/** Used to match property names within property paths. */ - -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; -/** Used to match backslashes in property paths. */ - -var reEscapeChar = /\\(\\)?/g; -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - -var stringToPath = _memoizeCapped(function (string) { - var result = []; - - if (string.charCodeAt(0) === 46 - /* . */ - ) { - result.push(''); - } - - string.replace(rePropName, function (match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match); - }); - return result; -}); -var _stringToPath = stringToPath; - -/** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - - return result; -} - -var _arrayMap = arrayMap; - -/** Used as references for various `Number` constants. */ - -var INFINITY = 1 / 0; -/** Used to convert symbols to primitives and strings. */ - -var symbolProto = _Symbol ? _Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - - if (isArray_1(value)) { - // Recursively convert values (susceptible to call stack limits). - return _arrayMap(value, baseToString) + ''; - } - - if (isSymbol_1(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - - var result = value + ''; - return result == '0' && 1 / value == -INFINITY ? '-0' : result; -} - -var _baseToString = baseToString; - -/** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - -function toString(value) { - return value == null ? '' : _baseToString(value); -} - -var toString_1 = toString; - -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - -function castPath(value, object) { - if (isArray_1(value)) { - return value; - } - - return _isKey(value, object) ? [value] : _stringToPath(toString_1(value)); -} - -var _castPath = castPath; - -/** Used as references for various `Number` constants. */ - -var INFINITY$1 = 1 / 0; -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - -function toKey(value) { - if (typeof value == 'string' || isSymbol_1(value)) { - return value; - } - - var result = value + ''; - return result == '0' && 1 / value == -INFINITY$1 ? '-0' : result; -} - -var _toKey = toKey; - -/** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - -function baseGet(object, path) { - path = _castPath(path, object); - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[_toKey(path[index++])]; - } - - return index && index == length ? object : undefined; -} - -var _baseGet = baseGet; - -var defineProperty = function () { - try { - var func = _getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} -}(); - -var _defineProperty = defineProperty; - -/** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - -function baseAssignValue(object, key, value) { - if (key == '__proto__' && _defineProperty) { - _defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } -} - -var _baseAssignValue = baseAssignValue; - -/** Used for built-in method references. */ - -var objectProto$5 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$4 = objectProto$5.hasOwnProperty; -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - -function assignValue(object, key, value) { - var objValue = object[key]; - - if (!(hasOwnProperty$4.call(object, key) && eq_1(objValue, value)) || value === undefined && !(key in object)) { - _baseAssignValue(object, key, value); - } -} - -var _assignValue = assignValue; - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; -/** Used to detect unsigned integer values. */ - -var reIsUint = /^(?:0|[1-9]\d*)$/; -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - -function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; -} - -var _isIndex = isIndex; - -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - -function baseSet(object, path, value, customizer) { - if (!isObject_1(object)) { - return object; - } - - path = _castPath(path, object); - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = _toKey(path[index]), - newValue = value; - - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { - return object; - } - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - - if (newValue === undefined) { - newValue = isObject_1(objValue) ? objValue : _isIndex(path[index + 1]) ? [] : {}; - } - } - - _assignValue(nested, key, newValue); - nested = nested[key]; - } - - return object; -} - -var _baseSet = baseSet; - -/** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - -function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = _baseGet(object, path); - - if (predicate(value, path)) { - _baseSet(result, _castPath(path, object), value); - } - } - - return result; -} - -var _basePickBy = basePickBy; - -/** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHasIn(object, key) { - return object != null && key in Object(object); -} - -var _baseHasIn = baseHasIn; - -/** `Object#toString` result references. */ - -var argsTag = '[object Arguments]'; -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - -function baseIsArguments(value) { - return isObjectLike_1(value) && _baseGetTag(value) == argsTag; -} - -var _baseIsArguments = baseIsArguments; - -/** Used for built-in method references. */ - -var objectProto$6 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$5 = objectProto$6.hasOwnProperty; -/** Built-in value references. */ - -var propertyIsEnumerable = objectProto$6.propertyIsEnumerable; -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - -var isArguments = _baseIsArguments(function () { - return arguments; -}()) ? _baseIsArguments : function (value) { - return isObjectLike_1(value) && hasOwnProperty$5.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray$1 = Array.isArray || function isArray(arg) { + return classofRaw(arg) == 'Array'; }; -var isArguments_1 = isArguments; -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER$1 = 9007199254740991; -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1; -} - -var isLength_1 = isLength; - -/** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - -function hasPath(object, path, hasFunc) { - path = _castPath(path, object); - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = _toKey(path[index]); - - if (!(result = object != null && hasFunc(object, key))) { - break; - } - - object = object[key]; +// optional / simple context binding +var functionBindContext = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; - if (result || ++index != length) { - return result; - } +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false; + var element; - length = object == null ? 0 : object.length; - return !!length && isLength_1(length) && _isIndex(key, length) && (isArray_1(object) || isArguments_1(object)); -} + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; -var _hasPath = hasPath; - -/** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - -function hasIn(object, path) { - return object != null && _hasPath(object, path, _baseHasIn); -} - -var hasIn_1 = hasIn; - -/** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - -function basePick(object, paths) { - return _basePickBy(object, paths, function (value, path) { - return hasIn_1(object, path); - }); -} - -var _basePick = basePick; - -/** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ -function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - - return array; -} - -var _arrayPush = arrayPush; - -/** Built-in value references. */ - -var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : undefined; -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - -function isFlattenable(value) { - return isArray_1(value) || isArguments_1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); -} - -var _isFlattenable = isFlattenable; - -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - -function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - predicate || (predicate = _isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); + if (depth > 0 && isArray$1(element)) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; } else { - _arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - - return result; -} - -var _baseFlatten = baseFlatten; - -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - -function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? _baseFlatten(array, 1) : []; -} - -var flatten_1 = flatten; - -/** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ -function apply(func, thisArg, args) { - switch (args.length) { - case 0: - return func.call(thisArg); - - case 1: - return func.call(thisArg, args[0]); - - case 2: - return func.call(thisArg, args[0], args[1]); - - case 3: - return func.call(thisArg, args[0], args[1], args[2]); - } - - return func.apply(thisArg, args); -} - -var _apply = apply; - -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeMax = Math.max; -/** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - -function overRest(func, start, transform) { - start = nativeMax(start === undefined ? func.length - 1 : start, 0); - return function () { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - - index = -1; - var otherArgs = Array(start + 1); - - while (++index < start) { - otherArgs[index] = args[index]; - } - - otherArgs[start] = transform(array); - return _apply(func, this, otherArgs); - }; -} - -var _overRest = overRest; - -/** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ -function constant(value) { - return function () { - return value; - }; -} - -var constant_1 = constant; - -/** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ -function identity(value) { - return value; -} - -var identity_1 = identity; - -/** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - -var baseSetToString = !_defineProperty ? identity_1 : function (func, string) { - return _defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant_1(string), - 'writable': true - }); -}; -var _baseSetToString = baseSetToString; - -/** Used to detect hot functions by number of calls within a span of milliseconds. */ -var HOT_COUNT = 800, - HOT_SPAN = 16; -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeNow = Date.now; -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - -function shortOut(func) { - var count = 0, - lastCalled = 0; - return function () { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - lastCalled = stamp; - - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - - return func.apply(undefined, arguments); - }; -} - -var _shortOut = shortOut; - -/** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - -var setToString = _shortOut(_baseSetToString); -var _setToString = setToString; - -/** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - -function flatRest(func) { - return _setToString(_overRest(func, undefined, flatten_1), func + ''); -} - -var _flatRest = flatRest; - -/** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - -var pick = _flatRest(function (object, paths) { - return object == null ? {} : _basePick(object, paths); -}); -var pick_1 = pick; - -/** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - - return accumulator; -} - -var _arrayAggregator = arrayAggregator; - -/** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function (object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - - return object; - }; -} - -var _createBaseFor = createBaseFor; - -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - -var baseFor = _createBaseFor(); -var _baseFor = baseFor; - -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - - return result; -} - -var _baseTimes = baseTimes; - -/** - * This method returns `false`. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {boolean} Returns `false`. - * @example - * - * _.times(2, _.stubFalse); - * // => [false, false] - */ -function stubFalse() { - return false; -} - -var stubFalse_1 = stubFalse; - -var isBuffer_1 = createCommonjsModule(function (module, exports) { - /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; - /** Detect free variable `module`. */ - - var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; - /** Detect the popular CommonJS extension `module.exports`. */ - - var moduleExports = freeModule && freeModule.exports === freeExports; - /** Built-in value references. */ - - var Buffer = moduleExports ? _root.Buffer : undefined; - /* Built-in method references for those with the same name as other `lodash` methods. */ - - var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - - var isBuffer = nativeIsBuffer || stubFalse_1; - module.exports = isBuffer; -}); - -/** `Object#toString` result references. */ - -var argsTag$1 = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag$1 = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; -/** Used to identify `toStringTag` values of typed arrays. */ - -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - -function baseIsTypedArray(value) { - return isObjectLike_1(value) && isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)]; -} - -var _baseIsTypedArray = baseIsTypedArray; - -/** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ -function baseUnary(func) { - return function (value) { - return func(value); - }; -} - -var _baseUnary = baseUnary; - -var _nodeUtil = createCommonjsModule(function (module, exports) { - /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; - /** Detect free variable `module`. */ - - var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; - /** Detect the popular CommonJS extension `module.exports`. */ - - var moduleExports = freeModule && freeModule.exports === freeExports; - /** Detect free variable `process` from Node.js. */ - - var freeProcess = moduleExports && _freeGlobal.process; - /** Used to access faster Node.js helpers. */ - - var nodeUtil = function () { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } // Legacy `process.binding('util')` for Node.js < 10. - - - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }(); - - module.exports = nodeUtil; -}); - -/* Node.js helper references. */ - -var nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray; -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - -var isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray; -var isTypedArray_1 = isTypedArray; - -/** Used for built-in method references. */ - -var objectProto$7 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$6 = objectProto$7.hasOwnProperty; -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - -function arrayLikeKeys(value, inherited) { - var isArr = isArray_1(value), - isArg = !isArr && isArguments_1(value), - isBuff = !isArr && !isArg && isBuffer_1(value), - isType = !isArr && !isArg && !isBuff && isTypedArray_1(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? _baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty$6.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. - isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays. - isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties. - _isIndex(key, length)))) { - result.push(key); - } - } - - return result; -} - -var _arrayLikeKeys = arrayLikeKeys; - -/** Used for built-in method references. */ -var objectProto$8 = Object.prototype; -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$8; - return value === proto; -} - -var _isPrototype = isPrototype; - -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function (arg) { - return func(transform(arg)); - }; -} - -var _overArg = overArg; - -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeKeys = _overArg(Object.keys, Object); -var _nativeKeys = nativeKeys; - -/** Used for built-in method references. */ - -var objectProto$9 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$7 = objectProto$9.hasOwnProperty; -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - -function baseKeys(object) { - if (!_isPrototype(object)) { - return _nativeKeys(object); - } - - var result = []; - - for (var key in Object(object)) { - if (hasOwnProperty$7.call(object, key) && key != 'constructor') { - result.push(key); - } - } - - return result; -} - -var _baseKeys = baseKeys; - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - -function isArrayLike(value) { - return value != null && isLength_1(value.length) && !isFunction_1(value); -} - -var isArrayLike_1 = isArrayLike; - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - -function keys(object) { - return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object); -} - -var keys_1 = keys; - -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - -function baseForOwn(object, iteratee) { - return object && _baseFor(object, iteratee, keys_1); -} - -var _baseForOwn = baseForOwn; - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - -function createBaseEach(eachFunc, fromRight) { - return function (collection, iteratee) { - if (collection == null) { - return collection; - } - - if (!isArrayLike_1(collection)) { - return eachFunc(collection, iteratee); - } - - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while (fromRight ? index-- : ++index < length) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - - return collection; - }; -} - -var _createBaseEach = createBaseEach; - -/** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - -var baseEach = _createBaseEach(_baseForOwn); -var _baseEach = baseEach; - -/** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - -function baseAggregator(collection, setter, iteratee, accumulator) { - _baseEach(collection, function (value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; -} - -var _baseAggregator = baseAggregator; - -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - -function stackClear() { - this.__data__ = new _ListCache(); - this.size = 0; -} - -var _stackClear = stackClear; - -/** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - this.size = data.size; - return result; -} - -var _stackDelete = stackDelete; - -/** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function stackGet(key) { - return this.__data__.get(key); -} - -var _stackGet = stackGet; - -/** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function stackHas(key) { - return this.__data__.has(key); -} - -var _stackHas = stackHas; - -/** Used as the size to enable large array optimizations. */ - -var LARGE_ARRAY_SIZE = 200; -/** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - -function stackSet(key, value) { - var data = this.__data__; - - if (data instanceof _ListCache) { - var pairs = data.__data__; - - if (!_Map || pairs.length < LARGE_ARRAY_SIZE - 1) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - - data = this.__data__ = new _MapCache(pairs); - } - - data.set(key, value); - this.size = data.size; - return this; -} - -var _stackSet = stackSet; - -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function Stack(entries) { - var data = this.__data__ = new _ListCache(entries); - this.size = data.size; -} // Add methods to `Stack`. - - -Stack.prototype.clear = _stackClear; -Stack.prototype['delete'] = _stackDelete; -Stack.prototype.get = _stackGet; -Stack.prototype.has = _stackHas; -Stack.prototype.set = _stackSet; -var _Stack = Stack; - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; -/** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED$2); - - return this; -} - -var _setCacheAdd = setCacheAdd; - -/** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ -function setCacheHas(value) { - return this.__data__.has(value); -} - -var _setCacheHas = setCacheHas; - -/** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - -function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - this.__data__ = new _MapCache(); - - while (++index < length) { - this.add(values[index]); - } -} // Add methods to `SetCache`. - - -SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd; -SetCache.prototype.has = _setCacheHas; -var _SetCache = SetCache; - -/** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - - return false; -} - -var _arraySome = arraySome; - -/** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function cacheHas(cache, key) { - return cache.has(key); -} - -var _cacheHas = cacheHas; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } // Check that cyclic values are equal. - - - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - - var index = -1, - result = true, - seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache() : undefined; - stack.set(array, other); - stack.set(other, array); // Ignore non-index properties. - - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); - } - - if (compared !== undefined) { - if (compared) { - continue; + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); + target[targetIndex] = element; } - result = false; - break; - } // Recursively compare arrays (susceptible to call stack limits). - - - if (seen) { - if (!_arraySome(other, function (othValue, othIndex) { - if (!_cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - result = false; - break; + targetIndex++; } + sourceIndex++; } - - stack['delete'](array); - stack['delete'](other); - return result; -} - -var _equalArrays = equalArrays; - -/** Built-in value references. */ - -var Uint8Array = _root.Uint8Array; -var _Uint8Array = Uint8Array; - -/** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ -function mapToArray(map) { - var index = -1, - result = Array(map.size); - map.forEach(function (value, key) { - result[++index] = [key, value]; - }); - return result; -} - -var _mapToArray = mapToArray; - -/** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ -function setToArray(set) { - var index = -1, - result = Array(set.size); - set.forEach(function (value) { - result[++index] = value; - }); - return result; -} - -var _setToArray = setToArray; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$1 = 1, - COMPARE_UNORDERED_FLAG$1 = 2; -/** `Object#toString` result references. */ - -var boolTag$1 = '[object Boolean]', - dateTag$1 = '[object Date]', - errorTag$1 = '[object Error]', - mapTag$1 = '[object Map]', - numberTag$1 = '[object Number]', - regexpTag$1 = '[object RegExp]', - setTag$1 = '[object Set]', - stringTag$1 = '[object String]', - symbolTag$1 = '[object Symbol]'; -var arrayBufferTag$1 = '[object ArrayBuffer]', - dataViewTag$1 = '[object DataView]'; -/** Used to convert symbols to primitives and strings. */ - -var symbolProto$1 = _Symbol ? _Symbol.prototype : undefined, - symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag$1: - if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { - return false; - } - - object = object.buffer; - other = other.buffer; - - case arrayBufferTag$1: - if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) { - return false; - } - - return true; - - case boolTag$1: - case dateTag$1: - case numberTag$1: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq_1(+object, +other); - - case errorTag$1: - return object.name == other.name && object.message == other.message; - - case regexpTag$1: - case stringTag$1: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == other + ''; - - case mapTag$1: - var convert = _mapToArray; - - case setTag$1: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1; - convert || (convert = _setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } // Assume cyclic values are equal. - - - var stacked = stack.get(object); - - if (stacked) { - return stacked == other; - } - - bitmask |= COMPARE_UNORDERED_FLAG$1; // Recursively compare objects (susceptible to call stack limits). - - stack.set(object, other); - var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag$1: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - - } - - return false; -} - -var _equalByTag = equalByTag; - -/** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object)); -} - -var _baseGetAllKeys = baseGetAllKeys; - -/** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - - return result; -} - -var _arrayFilter = arrayFilter; - -/** - * This method returns a new empty array. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {Array} Returns the new empty array. - * @example - * - * var arrays = _.times(2, _.stubArray); - * - * console.log(arrays); - * // => [[], []] - * - * console.log(arrays[0] === arrays[1]); - * // => false - */ -function stubArray() { - return []; -} - -var stubArray_1 = stubArray; - -/** Used for built-in method references. */ - -var objectProto$a = Object.prototype; -/** Built-in value references. */ - -var propertyIsEnumerable$1 = objectProto$a.propertyIsEnumerable; -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeGetSymbols = Object.getOwnPropertySymbols; -/** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - -var getSymbols = !nativeGetSymbols ? stubArray_1 : function (object) { - if (object == null) { - return []; - } - - object = Object(object); - return _arrayFilter(nativeGetSymbols(object), function (symbol) { - return propertyIsEnumerable$1.call(object, symbol); - }); -}; -var _getSymbols = getSymbols; - -/** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - -function getAllKeys(object) { - return _baseGetAllKeys(object, keys_1, _getSymbols); -} - -var _getAllKeys = getAllKeys; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$2 = 1; -/** Used for built-in method references. */ - -var objectProto$b = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$8 = objectProto$b.hasOwnProperty; -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2, - objProps = _getAllKeys(object), - objLength = objProps.length, - othProps = _getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - - var index = objLength; - - while (index--) { - var key = objProps[index]; - - if (!(isPartial ? key in other : hasOwnProperty$8.call(other, key))) { - return false; - } - } // Check that cyclic values are equal. - - - var objStacked = stack.get(object); - var othStacked = stack.get(other); - - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - - var result = true; - stack.set(object, other); - stack.set(other, object); - var skipCtor = isPartial; - - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); - } // Recursively compare objects (susceptible to call stack limits). - - - if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { - result = false; - break; - } - - skipCtor || (skipCtor = key == 'constructor'); - } - - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. - - if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - - stack['delete'](object); - stack['delete'](other); - return result; -} - -var _equalObjects = equalObjects; - -/* Built-in method references that are verified to be native. */ - -var DataView = _getNative(_root, 'DataView'); -var _DataView = DataView; - -/* Built-in method references that are verified to be native. */ - -var Promise$1 = _getNative(_root, 'Promise'); -var _Promise = Promise$1; - -/* Built-in method references that are verified to be native. */ - -var Set$1 = _getNative(_root, 'Set'); -var _Set = Set$1; - -/* Built-in method references that are verified to be native. */ - -var WeakMap$1 = _getNative(_root, 'WeakMap'); -var _WeakMap = WeakMap$1; - -/** `Object#toString` result references. */ - -var mapTag$2 = '[object Map]', - objectTag$1 = '[object Object]', - promiseTag = '[object Promise]', - setTag$2 = '[object Set]', - weakMapTag$1 = '[object WeakMap]'; -var dataViewTag$2 = '[object DataView]'; -/** Used to detect maps, sets, and weakmaps. */ - -var dataViewCtorString = _toSource(_DataView), - mapCtorString = _toSource(_Map), - promiseCtorString = _toSource(_Promise), - setCtorString = _toSource(_Set), - weakMapCtorString = _toSource(_WeakMap); -/** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -var getTag = _baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - -if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2 || _Map && getTag(new _Map()) != mapTag$2 || _Promise && getTag(_Promise.resolve()) != promiseTag || _Set && getTag(new _Set()) != setTag$2 || _WeakMap && getTag(new _WeakMap()) != weakMapTag$1) { - getTag = function (value) { - var result = _baseGetTag(value), - Ctor = result == objectTag$1 ? value.constructor : undefined, - ctorString = Ctor ? _toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: - return dataViewTag$2; - - case mapCtorString: - return mapTag$2; - - case promiseCtorString: - return promiseTag; - - case setCtorString: - return setTag$2; - - case weakMapCtorString: - return weakMapTag$1; - } - } - - return result; - }; -} - -var _getTag = getTag; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$3 = 1; -/** `Object#toString` result references. */ - -var argsTag$2 = '[object Arguments]', - arrayTag$1 = '[object Array]', - objectTag$2 = '[object Object]'; -/** Used for built-in method references. */ - -var objectProto$c = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$9 = objectProto$c.hasOwnProperty; -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray_1(object), - othIsArr = isArray_1(other), - objTag = objIsArr ? arrayTag$1 : _getTag(object), - othTag = othIsArr ? arrayTag$1 : _getTag(other); - objTag = objTag == argsTag$2 ? objectTag$2 : objTag; - othTag = othTag == argsTag$2 ? objectTag$2 : othTag; - var objIsObj = objTag == objectTag$2, - othIsObj = othTag == objectTag$2, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer_1(object)) { - if (!isBuffer_1(other)) { - return false; - } - - objIsArr = true; - objIsObj = false; - } - - if (isSameTag && !objIsObj) { - stack || (stack = new _Stack()); - return objIsArr || isTypedArray_1(object) ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - - if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) { - var objIsWrapped = objIsObj && hasOwnProperty$9.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty$9.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - stack || (stack = new _Stack()); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - - if (!isSameTag) { - return false; - } - - stack || (stack = new _Stack()); - return _equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} - -var _baseIsEqualDeep = baseIsEqualDeep; - -/** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - - if (value == null || other == null || !isObjectLike_1(value) && !isObjectLike_1(other)) { - return value !== value && other !== other; - } - - return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} - -var _baseIsEqual = baseIsEqual; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$4 = 1, - COMPARE_UNORDERED_FLAG$2 = 2; -/** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - - object = Object(object); - - while (index--) { - var data = matchData[index]; - - if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { - return false; - } - } - - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new _Stack(); - - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - - if (!(result === undefined ? _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$4 | COMPARE_UNORDERED_FLAG$2, customizer, stack) : result)) { - return false; - } - } - } - - return true; -} - -var _baseIsMatch = baseIsMatch; - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - -function isStrictComparable(value) { - return value === value && !isObject_1(value); -} - -var _isStrictComparable = isStrictComparable; - -/** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - -function getMatchData(object) { - var result = keys_1(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - result[length] = [key, value, _isStrictComparable(value)]; - } - - return result; -} - -var _getMatchData = getMatchData; - -/** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function matchesStrictComparable(key, srcValue) { - return function (object) { - if (object == null) { - return false; - } - - return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); - }; -} - -var _matchesStrictComparable = matchesStrictComparable; - -/** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - -function baseMatches(source) { - var matchData = _getMatchData(source); - - if (matchData.length == 1 && matchData[0][2]) { - return _matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - - return function (object) { - return object === source || _baseIsMatch(object, source, matchData); - }; -} - -var _baseMatches = baseMatches; - -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - -function get(object, path, defaultValue) { - var result = object == null ? undefined : _baseGet(object, path); - return result === undefined ? defaultValue : result; -} - -var get_1 = get; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$5 = 1, - COMPARE_UNORDERED_FLAG$3 = 2; -/** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - -function baseMatchesProperty(path, srcValue) { - if (_isKey(path) && _isStrictComparable(srcValue)) { - return _matchesStrictComparable(_toKey(path), srcValue); - } - - return function (object) { - var objValue = get_1(object, path); - return objValue === undefined && objValue === srcValue ? hasIn_1(object, path) : _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$5 | COMPARE_UNORDERED_FLAG$3); - }; -} - -var _baseMatchesProperty = baseMatchesProperty; - -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function (object) { - return object == null ? undefined : object[key]; - }; -} - -var _baseProperty = baseProperty; - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - -function basePropertyDeep(path) { - return function (object) { - return _baseGet(object, path); - }; -} - -var _basePropertyDeep = basePropertyDeep; - -/** - * Creates a function that returns the value at `path` of a given object. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - * @example - * - * var objects = [ - * { 'a': { 'b': 2 } }, - * { 'a': { 'b': 1 } } - * ]; - * - * _.map(objects, _.property('a.b')); - * // => [2, 1] - * - * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); - * // => [1, 2] - */ - -function property(path) { - return _isKey(path) ? _baseProperty(_toKey(path)) : _basePropertyDeep(path); -} - -var property_1 = property; - -/** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - -function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - - if (value == null) { - return identity_1; - } - - if (typeof value == 'object') { - return isArray_1(value) ? _baseMatchesProperty(value[0], value[1]) : _baseMatches(value); - } - - return property_1(value); -} - -var _baseIteratee = baseIteratee; - -/** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - -function createAggregator(setter, initializer) { - return function (collection, iteratee) { - var func = isArray_1(collection) ? _arrayAggregator : _baseAggregator, - accumulator = initializer ? initializer() : {}; - return func(collection, setter, _baseIteratee(iteratee), accumulator); - }; -} - -var _createAggregator = createAggregator; - -/** Used for built-in method references. */ - -var objectProto$d = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$a = objectProto$d.hasOwnProperty; -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - -var groupBy = _createAggregator(function (result, value, key) { - if (hasOwnProperty$a.call(result, key)) { - result[key].push(value); - } else { - _baseAssignValue(result, key, [value]); - } -}); -var groupBy_1 = groupBy; - -/** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - -var partition = _createAggregator(function (result, value, key) { - result[key ? 0 : 1].push(value); -}, function () { - return [[], []]; -}); -var partition_1 = partition; - -var thirdParty = require("./third-party"); - -var prettierInternal = src.__internal; - -var minimist = function (args, opts) { - if (!opts) opts = {}; - var flags = { - bools: {}, - strings: {}, - unknownFn: null - }; - - if (typeof opts['unknown'] === 'function') { - flags.unknownFn = opts['unknown']; - } - - if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { - flags.allBools = true; - } else { - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - } - - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function (key) { - aliases[key] = [].concat(opts.alias[key]); - aliases[key].forEach(function (x) { - aliases[x] = [key].concat(aliases[key].filter(function (y) { - return x !== y; - })); - }); - }); - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - - if (aliases[key]) { - flags.strings[aliases[key]] = true; - } - }); - var defaults = opts['default'] || {}; - var argv = { - _: [] - }; - Object.keys(flags.bools).forEach(function (key) { - setArg(key, defaults[key] === undefined ? false : defaults[key]); - }); - var notFlags = []; - - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--') + 1); - args = args.slice(0, args.indexOf('--')); - } - - function argDefined(key, arg) { - return flags.allBools && /^--[^=]+$/.test(arg) || flags.strings[key] || flags.bools[key] || aliases[key]; - } - - function setArg(key, val, arg) { - if (arg && flags.unknownFn && !argDefined(key, arg)) { - if (flags.unknownFn(arg) === false) return; - } - - var value = !flags.strings[key] && isNumber(val) ? Number(val) : val; - setKey(argv, key.split('.'), value); - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), value); - }); - } - - function setKey(obj, keys, value) { - var o = obj; - - for (var i = 0; i < keys.length - 1; i++) { - var key = keys[i]; - if (key === '__proto__') return; - if (o[key] === undefined) o[key] = {}; - if (o[key] === Object.prototype || o[key] === Number.prototype || o[key] === String.prototype) o[key] = {}; - if (o[key] === Array.prototype) o[key] = []; - o = o[key]; - } - - var key = keys[keys.length - 1]; - if (key === '__proto__') return; - if (o === Object.prototype || o === Number.prototype || o === String.prototype) o = {}; - if (o === Array.prototype) o = []; - - if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { - o[key] = value; - } else if (Array.isArray(o[key])) { - o[key].push(value); - } else { - o[key] = [o[key], value]; - } - } - - function aliasIsBoolean(key) { - return aliases[key].some(function (x) { - return flags.bools[x]; - }); - } - - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - - if (/^--.+=/.test(arg)) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - var key = m[1]; - var value = m[2]; - - if (flags.bools[key]) { - value = value !== 'false'; - } - - setArg(key, value, arg); - } else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false, arg); - } else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - - if (next !== undefined && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, next, arg); - i++; - } else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true', arg); - i++; - } else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1, -1).split(''); - var broken = false; - - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j + 2); - - if (next === '-') { - setArg(letters[j], next, arg); - continue; - } - - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split('=')[1], arg); - broken = true; - break; - } - - if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next, arg); - broken = true; - break; - } - - if (letters[j + 1] && letters[j + 1].match(/\W/)) { - setArg(letters[j], arg.slice(j + 2), arg); - broken = true; - break; - } else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); - } - } - - var key = arg.slice(-1)[0]; - - if (!broken && key !== '-') { - if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, args[i + 1], arg); - i++; - } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { - setArg(key, args[i + 1] === 'true', arg); - i++; - } else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - } else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push(flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)); - } - - if (opts.stopEarly) { - argv._.push.apply(argv._, args.slice(i + 1)); - - break; - } - } - } - - Object.keys(defaults).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) { - setKey(argv, key.split('.'), defaults[key]); - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), defaults[key]); - }); - } - }); - - if (opts['--']) { - argv['--'] = new Array(); - notFlags.forEach(function (key) { - argv['--'].push(key); - }); - } else { - notFlags.forEach(function (key) { - argv._.push(key); - }); - } - - return argv; + return targetIndex; }; -function hasKey(obj, keys) { - var o = obj; - keys.slice(0, -1).forEach(function (key) { - o = o[key] || {}; - }); - var key = keys[keys.length - 1]; - return key in o; -} +var flattenIntoArray_1 = flattenIntoArray; -function isNumber(x) { - if (typeof x === 'number') return true; - if (/^0x[0-9a-f]+$/i.test(x)) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); -} +/* eslint-disable es/no-symbol -- required for testing */ -const PLACEHOLDER = null; -/** - * unspecified boolean flag without default value is parsed as `undefined` instead of `false` - */ +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && engineV8Version && engineV8Version < 41; +}); -var minimist_1 = function (args, options) { - const boolean = options.boolean || []; - const defaults = options.default || {}; - const booleanWithoutDefault = boolean.filter(key => !(key in defaults)); - const newDefaults = Object.assign({}, defaults, fromPairs_1(booleanWithoutDefault.map(key => [key, PLACEHOLDER]))); - const parsed = minimist(args, Object.assign({}, options, { - default: newDefaults - })); - return fromPairs_1(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER)); +/* eslint-disable es/no-symbol -- required for testing */ + +var useSymbolAsUid = nativeSymbol + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + +var WellKnownSymbolsStore = shared('wks'); +var Symbol$2 = global$1.Symbol; +var createWellKnownSymbol = useSymbolAsUid ? Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid; + +var wellKnownSymbol = function (name) { + if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) { + if (nativeSymbol && has$1(Symbol$2, name)) { + WellKnownSymbolsStore[name] = Symbol$2[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } return WellKnownSymbolsStore[name]; }; -var array = createCommonjsModule(function (module, exports) { +var SPECIES = wellKnownSymbol('species'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +var arraySpeciesCreate = function (originalArray, length) { + var C; + if (isArray$1(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray$1(C.prototype))) C = undefined; + else if (isObject$3(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); +}; + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +_export({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = toLength(O.length); + var A; + aFunction(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + +var array$2 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -6256,7 +2910,7 @@ var errno = createCommonjsModule(function (module, exports) { exports.isEnoentCodeError = isEnoentCodeError; }); -var fs = createCommonjsModule(function (module, exports) { +var fs$3 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -6359,7 +3013,6 @@ var isExtglob = function isExtglob(str) { * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ - var chars = { '{': '}', '(': ')', @@ -6410,13 +3063,14 @@ var pathPosixDirname = path__default['default'].posix.dirname; var isWin32 = os__default['default'].platform() === 'win32'; var slash = '/'; var backslash = /\\/g; -var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; +var enclosure = /[\{\[].*[\}\]]$/; var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; /** * @param {string} str * @param {Object} opts * @param {boolean} [opts.flipBackslashes=true] + * @returns {string} */ var globParent = function globParent(str, opts) { @@ -6444,7 +3098,7 @@ var globParent = function globParent(str, opts) { return str.replace(escaped, '$1'); }; -var utils = createCommonjsModule(function (module, exports) { +var utils$3 = createCommonjsModule(function (module, exports) { exports.isInteger = num => { if (typeof num === 'number') { @@ -6569,14 +3223,14 @@ var utils = createCommonjsModule(function (module, exports) { }; }); -var stringify = (ast, options = {}) => { +var stringify$1 = (ast, options = {}) => { let stringify = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); + let invalidBlock = options.escapeInvalid && utils$3.isInvalidBrace(parent); let invalidNode = node.invalid === true && options.escapeInvalid === true; let output = ''; if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { + if ((invalidBlock || invalidNode) && utils$3.isOpenOrClose(node)) { return '\\' + node.value; } @@ -6606,7 +3260,7 @@ var stringify = (ast, options = {}) => { * Released under the MIT License. */ -var isNumber$1 = function (num) { +var isNumber$2 = function (num) { if (typeof num === 'number') { return num - num === 0; } @@ -6619,7 +3273,7 @@ var isNumber$1 = function (num) { }; const toRegexRange = (min, max, options) => { - if (isNumber$1(min) === false) { + if (isNumber$2(min) === false) { throw new TypeError('toRegexRange: expected the first argument to be a number'); } @@ -6627,7 +3281,7 @@ const toRegexRange = (min, max, options) => { return String(min); } - if (isNumber$1(max) === false) { + if (isNumber$2(max) === false) { throw new TypeError('toRegexRange: expected the second argument to be a number.'); } @@ -6923,7 +3577,7 @@ toRegexRange.clearCache = () => toRegexRange.cache = {}; var toRegexRange_1 = toRegexRange; -const isObject$1 = val => val !== null && typeof val === 'object' && !Array.isArray(val); +const isObject$2 = val => val !== null && typeof val === 'object' && !Array.isArray(val); const transform = toNumber => { return value => toNumber === true ? Number(value) : String(value); @@ -6933,7 +3587,7 @@ const isValidValue = value => { return typeof value === 'number' || typeof value === 'string' && value !== ''; }; -const isNumber$2 = num => Number.isInteger(+num); +const isNumber$1 = num => Number.isInteger(+num); const zeros = input => { let value = `${input}`; @@ -6946,7 +3600,7 @@ const zeros = input => { return index > 0; }; -const stringify$1 = (start, end, options) => { +const stringify = (start, end, options) => { if (typeof start === 'string' || typeof end === 'string') { return true; } @@ -7069,7 +3723,7 @@ const fillNumbers = (start, end, step = 1, options = {}) => { step = Math.max(Math.abs(step), 1); let padded = zeros(startString) || zeros(endString) || zeros(stepString); let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify$1(start, end, options) === false; + let toNumber = padded === false && stringify(start, end, options) === false; let format = options.transform || transform(toNumber); if (options.toRegex && step === 1) { @@ -7107,7 +3761,7 @@ const fillNumbers = (start, end, step = 1, options = {}) => { }; const fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber$2(start) && start.length > 1 || !isNumber$2(end) && end.length > 1) { + if (!isNumber$1(start) && start.length > 1 || !isNumber$1(end) && end.length > 1) { return invalidRange(start, end, options); } @@ -7157,7 +3811,7 @@ const fill = (start, end, step, options = {}) => { }); } - if (isObject$1(step)) { + if (isObject$2(step)) { return fill(start, end, 0, step); } @@ -7165,12 +3819,12 @@ const fill = (start, end, step, options = {}) => { if (opts.capture === true) opts.wrap = true; step = step || opts.step || 1; - if (!isNumber$2(step)) { - if (step != null && !isObject$1(step)) return invalidStep(step, opts); + if (!isNumber$1(step)) { + if (step != null && !isObject$2(step)) return invalidStep(step, opts); return fill(start, end, 1, step); } - if (isNumber$2(start) && isNumber$2(end)) { + if (isNumber$1(start) && isNumber$1(end)) { return fillNumbers(start, end, step, opts); } @@ -7181,7 +3835,7 @@ var fillRange = fill; const compile = (ast, options = {}) => { let walk = (node, parent = {}) => { - let invalidBlock = utils.isInvalidBrace(parent); + let invalidBlock = utils$3.isInvalidBrace(parent); let invalidNode = node.invalid === true && options.escapeInvalid === true; let invalid = invalidBlock === true || invalidNode === true; let prefix = options.escapeInvalid === true ? '\\' : ''; @@ -7212,8 +3866,8 @@ const compile = (ast, options = {}) => { } if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - let range = fillRange(...args, Object.assign({}, options, { + let args = utils$3.reduce(node.nodes); + let range = fillRange(...args, Object.assign(Object.assign({}, options), {}, { wrap: false, toRegex: true })); @@ -7244,7 +3898,7 @@ const append = (queue = '', stash = '', enclose = false) => { if (!stash.length) return queue; if (!queue.length) { - return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash; + return enclose ? utils$3.flatten(stash).map(ele => `{${ele}}`) : stash; } for (let item of queue) { @@ -7260,7 +3914,7 @@ const append = (queue = '', stash = '', enclose = false) => { } } - return utils.flatten(result); + return utils$3.flatten(result); }; const expand = (ast, options = {}) => { @@ -7277,7 +3931,7 @@ const expand = (ast, options = {}) => { } if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify(node, options))); + q.push(append(q.pop(), stringify$1(node, options))); return; } @@ -7287,16 +3941,16 @@ const expand = (ast, options = {}) => { } if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); + let args = utils$3.reduce(node.nodes); - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { + if (utils$3.exceedsLimit(...args, options.step, rangeLimit)) { throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); } let range = fillRange(...args, options); if (range.length === 0) { - range = stringify(node, options); + range = stringify$1(node, options); } q.push(append(q.pop(), range)); @@ -7304,7 +3958,7 @@ const expand = (ast, options = {}) => { return; } - let enclose = utils.encloseBrace(node); + let enclose = utils$3.encloseBrace(node); let queue = node.queue; let block = node; @@ -7340,12 +3994,12 @@ const expand = (ast, options = {}) => { return queue; }; - return utils.flatten(walk(ast)); + return utils$3.flatten(walk(ast)); }; var expand_1 = expand; -var constants = { +var constants$2 = { MAX_LENGTH: 1024 * 64, // Digits CHAR_0: '0', @@ -7490,35 +4144,35 @@ var constants = { const { - MAX_LENGTH, + MAX_LENGTH: MAX_LENGTH$1, CHAR_BACKSLASH, /* \ */ CHAR_BACKTICK, /* ` */ - CHAR_COMMA, + CHAR_COMMA: CHAR_COMMA$1, /* , */ - CHAR_DOT, + CHAR_DOT: CHAR_DOT$1, /* . */ - CHAR_LEFT_PARENTHESES, + CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, /* ( */ - CHAR_RIGHT_PARENTHESES, + CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, /* ) */ - CHAR_LEFT_CURLY_BRACE, + CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, /* { */ - CHAR_RIGHT_CURLY_BRACE, + CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, /* } */ - CHAR_LEFT_SQUARE_BRACKET, + CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, /* [ */ - CHAR_RIGHT_SQUARE_BRACKET, + CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1, /* ] */ CHAR_DOUBLE_QUOTE, @@ -7529,18 +4183,18 @@ const { /* ' */ CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_NOBREAK_SPACE -} = constants; +} = constants$2; /** * parse */ -const parse = (input, options = {}) => { +const parse$2 = (input, options = {}) => { if (typeof input !== 'string') { throw new TypeError('Expected a string'); } let opts = options || {}; - let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; if (input.length > max) { throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); @@ -7613,7 +4267,7 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_RIGHT_SQUARE_BRACKET) { + if (value === CHAR_RIGHT_SQUARE_BRACKET$1) { push({ type: 'text', value: '\\' + value @@ -7625,14 +4279,14 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_LEFT_SQUARE_BRACKET) { + if (value === CHAR_LEFT_SQUARE_BRACKET$1) { brackets++; let next; while (index < length && (next = advance())) { value += next; - if (next === CHAR_LEFT_SQUARE_BRACKET) { + if (next === CHAR_LEFT_SQUARE_BRACKET$1) { brackets++; continue; } @@ -7642,7 +4296,7 @@ const parse = (input, options = {}) => { continue; } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { + if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { brackets--; if (brackets === 0) { @@ -7662,7 +4316,7 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_LEFT_PARENTHESES) { + if (value === CHAR_LEFT_PARENTHESES$1) { block = push({ type: 'paren', nodes: [] @@ -7675,7 +4329,7 @@ const parse = (input, options = {}) => { continue; } - if (value === CHAR_RIGHT_PARENTHESES) { + if (value === CHAR_RIGHT_PARENTHESES$1) { if (block.type !== 'paren') { push({ type: 'text', @@ -7730,7 +4384,7 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_LEFT_CURLY_BRACE) { + if (value === CHAR_LEFT_CURLY_BRACE$1) { depth++; let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; let brace = { @@ -7756,7 +4410,7 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_RIGHT_CURLY_BRACE) { + if (value === CHAR_RIGHT_CURLY_BRACE$1) { if (block.type !== 'brace') { push({ type: 'text', @@ -7781,13 +4435,13 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_COMMA && depth > 0) { + if (value === CHAR_COMMA$1 && depth > 0) { if (block.ranges > 0) { block.ranges = 0; let open = block.nodes.shift(); block.nodes = [open, { type: 'text', - value: stringify(block) + value: stringify$1(block) }]; } @@ -7803,7 +4457,7 @@ const parse = (input, options = {}) => { */ - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { + if (value === CHAR_DOT$1 && depth > 0 && block.commas === 0) { let siblings = block.nodes; if (depth === 0 || siblings.length === 0) { @@ -7884,7 +4538,7 @@ const parse = (input, options = {}) => { return ast; }; -var parse_1 = parse; +var parse_1$1 = parse$2; /** * Expand the given pattern or create a regex-compatible string. @@ -7939,7 +4593,7 @@ const braces = (input, options = {}) => { */ -braces.parse = (input, options = {}) => parse_1(input, options); +braces.parse = (input, options = {}) => parse_1$1(input, options); /** * Creates a braces string from an AST, or an AST node. * @@ -7957,10 +4611,10 @@ braces.parse = (input, options = {}) => parse_1(input, options); braces.stringify = (input, options = {}) => { if (typeof input === 'string') { - return stringify(braces.parse(input, options), options); + return stringify$1(braces.parse(input, options), options); } - return stringify(input, options); + return stringify$1(input, options); }; /** * Compiles a brace pattern into a regex-compatible, optimized string. @@ -8094,7 +4748,7 @@ const POSIX_CHARS = { * Windows glob regex */ -const WINDOWS_CHARS = Object.assign({}, POSIX_CHARS, { +const WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, { SLASH_LITERAL: `[${WIN_SLASH}]`, QMARK: WIN_NO_SLASH, STAR: `${WIN_NO_SLASH}*?`, @@ -8111,7 +4765,7 @@ const WINDOWS_CHARS = Object.assign({}, POSIX_CHARS, { * POSIX Bracket Regex */ -const POSIX_REGEX_SOURCE = { +const POSIX_REGEX_SOURCE$1 = { alnum: 'a-zA-Z0-9', alpha: 'a-zA-Z', ascii: '\\x00-\\x7F', @@ -8129,7 +4783,7 @@ const POSIX_REGEX_SOURCE = { }; var constants$1 = { MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, + POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, // regular expressions REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, @@ -8319,7 +4973,7 @@ var constants$1 = { }; -var utils$1 = createCommonjsModule(function (module, exports) { +var utils$2 = createCommonjsModule(function (module, exports) { const win32 = process.platform === 'win32'; const { @@ -8404,10 +5058,10 @@ const { CHAR_BACKWARD_SLASH, /* \ */ - CHAR_COMMA: CHAR_COMMA$1, + CHAR_COMMA, /* , */ - CHAR_DOT: CHAR_DOT$1, + CHAR_DOT, /* . */ CHAR_EXCLAMATION_MARK, @@ -8416,13 +5070,13 @@ const { CHAR_FORWARD_SLASH, /* / */ - CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, + CHAR_LEFT_CURLY_BRACE, /* { */ - CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, + CHAR_LEFT_PARENTHESES, /* ( */ - CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, + CHAR_LEFT_SQUARE_BRACKET, /* [ */ CHAR_PLUS, @@ -8431,13 +5085,13 @@ const { CHAR_QUESTION_MARK, /* ? */ - CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, + CHAR_RIGHT_CURLY_BRACE, /* } */ - CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, + CHAR_RIGHT_PARENTHESES, /* ) */ - CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1 + CHAR_RIGHT_SQUARE_BRACKET /* ] */ } = constants$1; @@ -8454,7 +5108,8 @@ const depth = token => { /** * Quickly scans a glob pattern and returns an object with a handful of * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), - * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). + * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not + * with `!(`) and `negatedExtglob` (true if the path starts with `!(`). * * ```js * const pm = require('picomatch'); @@ -8487,6 +5142,7 @@ const scan = (input, options) => { let braceEscaped = false; let backslashes = false; let negated = false; + let negatedExtglob = false; let finished = false; let braces = 0; let prev; @@ -8514,14 +5170,14 @@ const scan = (input, options) => { backslashes = token.backslashes = true; code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE$1) { + if (code === CHAR_LEFT_CURLY_BRACE) { braceEscaped = true; } continue; } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE$1) { + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { braces++; while (eos() !== true && (code = advance())) { @@ -8531,12 +5187,12 @@ const scan = (input, options) => { continue; } - if (code === CHAR_LEFT_CURLY_BRACE$1) { + if (code === CHAR_LEFT_CURLY_BRACE) { braces++; continue; } - if (braceEscaped !== true && code === CHAR_DOT$1 && (code = advance()) === CHAR_DOT$1) { + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; @@ -8548,7 +5204,7 @@ const scan = (input, options) => { break; } - if (braceEscaped !== true && code === CHAR_COMMA$1) { + if (braceEscaped !== true && code === CHAR_COMMA) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; @@ -8560,7 +5216,7 @@ const scan = (input, options) => { break; } - if (code === CHAR_RIGHT_CURLY_BRACE$1) { + if (code === CHAR_RIGHT_CURLY_BRACE) { braces--; if (braces === 0) { @@ -8589,7 +5245,7 @@ const scan = (input, options) => { }; if (finished === true) continue; - if (prev === CHAR_DOT$1 && index === start + 1) { + if (prev === CHAR_DOT && index === start + 1) { start += 2; continue; } @@ -8601,11 +5257,15 @@ const scan = (input, options) => { if (opts.noext !== true) { const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES$1) { + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; isExtglob = token.isExtglob = true; finished = true; + if (code === CHAR_EXCLAMATION_MARK && index === start) { + negatedExtglob = true; + } + if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { @@ -8614,7 +5274,7 @@ const scan = (input, options) => { continue; } - if (code === CHAR_RIGHT_PARENTHESES$1) { + if (code === CHAR_RIGHT_PARENTHESES) { isGlob = token.isGlob = true; finished = true; break; @@ -8651,7 +5311,7 @@ const scan = (input, options) => { break; } - if (code === CHAR_LEFT_SQUARE_BRACKET$1) { + if (code === CHAR_LEFT_SQUARE_BRACKET) { while (eos() !== true && (next = advance())) { if (next === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; @@ -8659,18 +5319,19 @@ const scan = (input, options) => { continue; } - if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { + if (next === CHAR_RIGHT_SQUARE_BRACKET) { isBracket = token.isBracket = true; isGlob = token.isGlob = true; finished = true; - - if (scanToEnd === true) { - continue; - } - break; } } + + if (scanToEnd === true) { + continue; + } + + break; } if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { @@ -8679,18 +5340,18 @@ const scan = (input, options) => { continue; } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES$1) { + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; if (scanToEnd === true) { while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES$1) { + if (code === CHAR_LEFT_PARENTHESES) { backslashes = token.backslashes = true; code = advance(); continue; } - if (code === CHAR_RIGHT_PARENTHESES$1) { + if (code === CHAR_RIGHT_PARENTHESES) { finished = true; break; } @@ -8745,10 +5406,10 @@ const scan = (input, options) => { } if (opts.unescape === true) { - if (glob) glob = utils$1.removeBackslashes(glob); + if (glob) glob = utils$2.removeBackslashes(glob); if (base && backslashes === true) { - base = utils$1.removeBackslashes(base); + base = utils$2.removeBackslashes(base); } } @@ -8763,7 +5424,8 @@ const scan = (input, options) => { isGlob, isExtglob, isGlobstar, - negated + negated, + negatedExtglob }; if (opts.tokens === true) { @@ -8829,8 +5491,8 @@ var scan_1 = scan; const { - MAX_LENGTH: MAX_LENGTH$1, - POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, + MAX_LENGTH, + POSIX_REGEX_SOURCE, REGEX_NON_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_BACKREF, REPLACEMENTS @@ -8851,7 +5513,7 @@ const expandRange = (args, options) => { /* eslint-disable-next-line no-new */ new RegExp(value); } catch (ex) { - return args.map(v => utils$1.escapeRegex(v)).join('..'); + return args.map(v => utils$2.escapeRegex(v)).join('..'); } return value; @@ -8879,7 +5541,7 @@ const parse$1 = (input, options) => { input = REPLACEMENTS[input] || input; const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; let len = input.length; if (len > max) { @@ -8893,7 +5555,7 @@ const parse$1 = (input, options) => { }; const tokens = [bos]; const capture = opts.capture ? '' : '?:'; - const win32 = utils$1.isWindows(options); // create constants based on platform, for windows or posix + const win32 = utils$2.isWindows(options); // create constants based on platform, for windows or posix const PLATFORM_CHARS = constants$1.globChars(win32); const EXTGLOB_CHARS = constants$1.extglobChars(PLATFORM_CHARS); @@ -8946,7 +5608,7 @@ const parse$1 = (input, options) => { globstar: false, tokens }; - input = utils$1.removePrefix(input, state); + input = utils$2.removePrefix(input, state); len = input.length; const extglobs = []; const braces = []; @@ -8961,7 +5623,7 @@ const parse$1 = (input, options) => { const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index]; + const advance = state.advance = () => input[++state.index] || ''; const remaining = () => input.slice(state.index + 1); @@ -9025,7 +5687,7 @@ const parse$1 = (input, options) => { } } - if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { + if (extglobs.length && tok.type !== 'paren') { extglobs[extglobs.length - 1].inner += tok.value; } @@ -9043,7 +5705,7 @@ const parse$1 = (input, options) => { }; const extglobOpen = (type, value) => { - const token = Object.assign({}, EXTGLOB_CHARS[value], { + const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value]), {}, { conditions: 1, inner: '' }); @@ -9068,6 +5730,7 @@ const parse$1 = (input, options) => { const extglobClose = token => { let output = token.close + (opts.capture ? ')' : ''); + let rest; if (token.type === 'negate') { let extglobStar = star; @@ -9080,7 +5743,11 @@ const parse$1 = (input, options) => { output = token.close = `)$))${extglobStar}`; } - if (token.prev.type === 'bos' && eos()) { + if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { + output = token.close = `)${rest})${extglobStar})`; + } + + if (token.prev.type === 'bos') { state.negatedExtglob = true; } } @@ -9148,7 +5815,7 @@ const parse$1 = (input, options) => { return state; } - state.output = utils$1.wrapOutput(output, state, options); + state.output = utils$2.wrapOutput(output, state, options); return state; } /** @@ -9201,9 +5868,9 @@ const parse$1 = (input, options) => { } if (opts.unescape === true) { - value = advance() || ''; + value = advance(); } else { - value += advance() || ''; + value += advance(); } if (state.brackets === 0) { @@ -9231,7 +5898,7 @@ const parse$1 = (input, options) => { const idx = prev.value.lastIndexOf('['); const pre = prev.value.slice(0, idx); const rest = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE$1[rest]; + const posix = POSIX_REGEX_SOURCE[rest]; if (posix) { prev.value = pre + posix; @@ -9273,7 +5940,7 @@ const parse$1 = (input, options) => { if (state.quotes === 1 && value !== '"') { - value = utils$1.escapeRegex(value); + value = utils$2.escapeRegex(value); prev.value += value; append({ value @@ -9390,11 +6057,11 @@ const parse$1 = (input, options) => { }); // when literal brackets are explicitly disabled // assume we should match with a regex character class - if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) { + if (opts.literalBrackets === false || utils$2.hasRegexChars(prevValue)) { continue; } - const escaped = utils$1.escapeRegex(prev.value); + const escaped = utils$2.escapeRegex(prev.value); state.output = state.output.slice(0, -prev.value.length); // when literal brackets are explicitly enabled // assume we should escape the brackets to match literal characters @@ -9596,7 +6263,7 @@ const parse$1 = (input, options) => { const next = peek(); let output = value; - if (next === '<' && !utils$1.supportsLookbehinds()) { + if (next === '<' && !utils$2.supportsLookbehinds()) { throw new Error('Node.js v10 or higher is required for regex lookbehinds'); } @@ -9906,19 +6573,19 @@ const parse$1 = (input, options) => { while (state.brackets > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); - state.output = utils$1.escapeLast(state.output, '['); + state.output = utils$2.escapeLast(state.output, '['); decrement('brackets'); } while (state.parens > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); - state.output = utils$1.escapeLast(state.output, '('); + state.output = utils$2.escapeLast(state.output, '('); decrement('parens'); } while (state.braces > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); - state.output = utils$1.escapeLast(state.output, '{'); + state.output = utils$2.escapeLast(state.output, '{'); decrement('braces'); } @@ -9954,7 +6621,7 @@ const parse$1 = (input, options) => { parse$1.fastpaths = (input, options) => { const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; const len = input.length; if (len > max) { @@ -9962,7 +6629,7 @@ parse$1.fastpaths = (input, options) => { } input = REPLACEMENTS[input] || input; - const win32 = utils$1.isWindows(options); // create constants based on platform, for windows or posix + const win32 = utils$2.isWindows(options); // create constants based on platform, for windows or posix const { DOT_LITERAL, @@ -10030,7 +6697,7 @@ parse$1.fastpaths = (input, options) => { } }; - const output = utils$1.removePrefix(input, state); + const output = utils$2.removePrefix(input, state); let source = create(output); if (source && opts.strictSlashes !== true) { @@ -10040,9 +6707,9 @@ parse$1.fastpaths = (input, options) => { return source; }; -var parse_1$1 = parse$1; +var parse_1 = parse$1; -const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); +const isObject$1 = val => val && typeof val === 'object' && !Array.isArray(val); /** * Creates a matcher function from one or more glob patterns. The * returned function takes a string to match as its first argument, @@ -10066,9 +6733,9 @@ const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); */ -const picomatch = (glob, options, returnState = false) => { +const picomatch$1 = (glob, options, returnState = false) => { if (Array.isArray(glob)) { - const fns = glob.map(input => picomatch(input, options, returnState)); + const fns = glob.map(input => picomatch$1(input, options, returnState)); const arrayMatcher = str => { for (const isMatch of fns) { @@ -10082,27 +6749,27 @@ const picomatch = (glob, options, returnState = false) => { return arrayMatcher; } - const isState = isObject$2(glob) && glob.tokens && glob.input; + const isState = isObject$1(glob) && glob.tokens && glob.input; if (glob === '' || typeof glob !== 'string' && !isState) { throw new TypeError('Expected pattern to be a non-empty string'); } const opts = options || {}; - const posix = utils$1.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); + const posix = utils$2.isWindows(options); + const regex = isState ? picomatch$1.compileRe(glob, options) : picomatch$1.makeRe(glob, options, false, true); const state = regex.state; delete regex.state; let isIgnored = () => false; if (opts.ignore) { - const ignoreOpts = Object.assign({}, options, { + const ignoreOpts = Object.assign(Object.assign({}, options), {}, { ignore: null, onMatch: null, onResult: null }); - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); + isIgnored = picomatch$1(opts.ignore, ignoreOpts, returnState); } const matcher = (input, returnObject = false) => { @@ -10110,7 +6777,7 @@ const picomatch = (glob, options, returnState = false) => { isMatch, match, output - } = picomatch.test(input, regex, options, { + } = picomatch$1.test(input, regex, options, { glob, posix }); @@ -10174,7 +6841,7 @@ const picomatch = (glob, options, returnState = false) => { */ -picomatch.test = (input, regex, options, { +picomatch$1.test = (input, regex, options, { glob, posix } = {}) => { @@ -10190,7 +6857,7 @@ picomatch.test = (input, regex, options, { } const opts = options || {}; - const format = opts.format || (posix ? utils$1.toPosixSlashes : null); + const format = opts.format || (posix ? utils$2.toPosixSlashes : null); let match = input === glob; let output = match && format ? format(input) : input; @@ -10201,7 +6868,7 @@ picomatch.test = (input, regex, options, { if (match === false || opts.capture === true) { if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); + match = picomatch$1.matchBase(input, regex, options, posix); } else { match = regex.exec(output); } @@ -10228,8 +6895,8 @@ picomatch.test = (input, regex, options, { */ -picomatch.matchBase = (input, glob, options, posix = utils$1.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); +picomatch$1.matchBase = (input, glob, options, posix = utils$2.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options); return regex.test(path__default['default'].basename(input)); }; /** @@ -10250,7 +6917,7 @@ picomatch.matchBase = (input, glob, options, posix = utils$1.isWindows(options)) */ -picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); +picomatch$1.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); /** * Parse a glob pattern to create the source string for a regular * expression. @@ -10266,9 +6933,9 @@ picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str */ -picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); - return parse_1$1(pattern, Object.assign({}, options, { +picomatch$1.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch$1.parse(p, options)); + return parse_1(pattern, Object.assign(Object.assign({}, options), {}, { fastpaths: false })); }; @@ -10300,7 +6967,42 @@ picomatch.parse = (pattern, options) => { */ -picomatch.scan = (input, options) => scan_1(input, options); +picomatch$1.scan = (input, options) => scan_1(input, options); +/** + * Compile a regular expression from the `state` object returned by the + * [parse()](#parse) method. + * + * @param {Object} `state` + * @param {Object} `options` + * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser. + * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging. + * @return {RegExp} + * @api public + */ + + +picomatch$1.compileRe = (state, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return state.output; + } + + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; + let source = `${prepend}(?:${state.output})${append}`; + + if (state && state.negated === true) { + source = `^(?!${source}).*$`; + } + + const regex = picomatch$1.toRegex(source, options); + + if (returnState === true) { + regex.state = state; + } + + return regex; +}; /** * Create a regular expression from a parsed glob pattern. * @@ -10314,64 +7016,32 @@ picomatch.scan = (input, options) => scan_1(input, options); * ``` * @param {String} `state` The object returned from the `.parse` method. * @param {Object} `options` + * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result. + * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression. * @return {RegExp} Returns a regex created from the given pattern. * @api public */ -picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return parsed.output; - } - - const opts = options || {}; - const prepend = opts.contains ? '' : '^'; - const append = opts.contains ? '' : '$'; - let source = `${prepend}(?:${parsed.output})${append}`; - - if (parsed && parsed.negated === true) { - source = `^(?!${source}).*$`; - } - - const regex = picomatch.toRegex(source, options); - - if (returnState === true) { - regex.state = parsed; - } - - return regex; -}; - -picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { +picomatch$1.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { if (!input || typeof input !== 'string') { throw new TypeError('Expected a non-empty string'); } - const opts = options || {}; let parsed = { negated: false, fastpaths: true }; - let prefix = ''; - let output; - if (input.startsWith('./')) { - input = input.slice(2); - prefix = parsed.prefix = './'; + if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + parsed.output = parse_1.fastpaths(input, options); } - if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { - output = parse_1$1.fastpaths(input, options); + if (!parsed.output) { + parsed = parse_1(input, options); } - if (output === undefined) { - parsed = parse_1$1(input, options); - parsed.prefix = prefix + (parsed.prefix || ''); - } else { - parsed.output = output; - } - - return picomatch.compileRe(parsed, options, returnOutput, returnState); + return picomatch$1.compileRe(parsed, options, returnOutput, returnState); }; /** * Create a regular expression from the given regex source string. @@ -10391,7 +7061,7 @@ picomatch.makeRe = (input, options, returnOutput = false, returnState = false) = */ -picomatch.toRegex = (source, options) => { +picomatch$1.toRegex = (source, options) => { try { const opts = options || {}; return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); @@ -10406,16 +7076,16 @@ picomatch.toRegex = (source, options) => { */ -picomatch.constants = constants$1; +picomatch$1.constants = constants$1; /** * Expose "picomatch" */ -var picomatch_1 = picomatch; +var picomatch_1 = picomatch$1; -var picomatch$1 = picomatch_1; +var picomatch = picomatch_1; -const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); +const isEmptyString = val => val === '' || val === './'; /** * Returns an array of strings that match one or more glob patterns. * @@ -10426,9 +7096,9 @@ const isEmptyString = val => typeof val === 'string' && (val === '' || val === ' * console.log(mm(['a.js', 'a.txt'], ['*.js'])); * //=> [ 'a.js' ] * ``` - * @param {String|Array} list List of strings to match. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} options See available [options](#options) + * @param {String|Array} `list` List of strings to match. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) * @return {Array} Returns an array of matches * @summary false * @api public @@ -10452,7 +7122,7 @@ const micromatch = (list, patterns, options) => { }; for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch$1(String(patterns[i]), Object.assign({}, options, { + let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, { onResult }), true); let negated = isMatch.state.negated || isMatch.state.negatedExtglob; @@ -10512,7 +7182,7 @@ micromatch.match = micromatch; * @api public */ -micromatch.matcher = (pattern, options) => picomatch$1(pattern, options); +micromatch.matcher = (pattern, options) => picomatch(pattern, options); /** * Returns true if **any** of the given glob `patterns` match the specified `string`. * @@ -10523,15 +7193,15 @@ micromatch.matcher = (pattern, options) => picomatch$1(pattern, options); * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true * console.log(mm.isMatch('a.a', 'b.*')); //=> false * ``` - * @param {String} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). + * @param {String} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `[options]` See available [options](#options). * @return {Boolean} Returns true if any patterns match `str` * @api public */ -micromatch.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); +micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); /** * Backwards compatibility */ @@ -10565,7 +7235,7 @@ micromatch.not = (list, patterns, options = {}) => { items.push(state.output); }; - let matches = micromatch(list, patterns, Object.assign({}, options, { + let matches = micromatch(list, patterns, Object.assign(Object.assign({}, options), {}, { onResult })); @@ -10593,7 +7263,7 @@ micromatch.not = (list, patterns, options = {}) => { * @param {String} `str` The string to match. * @param {String|Array} `patterns` Glob pattern to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if the patter matches any part of `str`. + * @return {Boolean} Returns true if any of the patterns matches any part of `str`. * @api public */ @@ -10617,7 +7287,7 @@ micromatch.contains = (str, pattern, options) => { } } - return micromatch.isMatch(str, pattern, Object.assign({}, options, { + return micromatch.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, { contains: true })); }; @@ -10643,7 +7313,7 @@ micromatch.contains = (str, pattern, options) => { micromatch.matchKeys = (obj, patterns, options) => { - if (!utils$1.isObject(obj)) { + if (!utils$2.isObject(obj)) { throw new TypeError('Expected the first argument to be an object'); } @@ -10669,7 +7339,7 @@ micromatch.matchKeys = (obj, patterns, options) => { * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. * @param {String|Array} `patterns` One or more glob patterns to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` + * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list` * @api public */ @@ -10678,7 +7348,7 @@ micromatch.some = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); + let isMatch = picomatch(String(pattern), options); if (items.some(item => isMatch(item))) { return true; @@ -10707,7 +7377,7 @@ micromatch.some = (list, patterns, options) => { * @param {String|Array} `list` The string or array of strings to test. * @param {String|Array} `patterns` One or more glob patterns to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` + * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list` * @api public */ @@ -10716,7 +7386,7 @@ micromatch.every = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); + let isMatch = picomatch(String(pattern), options); if (!items.every(item => isMatch(item))) { return false; @@ -10758,7 +7428,7 @@ micromatch.all = (str, patterns, options) => { throw new TypeError(`Expected a string: "${util__default['default'].inspect(str)}"`); } - return [].concat(patterns).every(p => picomatch$1(p, options)(str)); + return [].concat(patterns).every(p => picomatch(p, options)(str)); }; /** * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. @@ -10775,17 +7445,17 @@ micromatch.all = (str, patterns, options) => { * @param {String} `glob` Glob pattern to use for matching. * @param {String} `input` String to match * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns an array of captures if the input matches the glob pattern, otherwise `null`. + * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`. * @api public */ micromatch.capture = (glob, input, options) => { - let posix = utils$1.isWindows(options); - let regex = picomatch$1.makeRe(String(glob), Object.assign({}, options, { + let posix = utils$2.isWindows(options); + let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, { capture: true })); - let match = regex.exec(posix ? utils$1.toPosixSlashes(input) : input); + let match = regex.exec(posix ? utils$2.toPosixSlashes(input) : input); if (match) { return match.slice(1).map(v => v === void 0 ? '' : v); @@ -10808,7 +7478,7 @@ micromatch.capture = (glob, input, options) => { */ -micromatch.makeRe = (...args) => picomatch$1.makeRe(...args); +micromatch.makeRe = (...args) => picomatch.makeRe(...args); /** * Scan a glob pattern to separate the pattern into segments. Used * by the [split](#split) method. @@ -10824,7 +7494,7 @@ micromatch.makeRe = (...args) => picomatch$1.makeRe(...args); */ -micromatch.scan = (...args) => picomatch$1.scan(...args); +micromatch.scan = (...args) => picomatch.scan(...args); /** * Parse a glob pattern to create the source string for a regular * expression. @@ -10845,7 +7515,7 @@ micromatch.parse = (patterns, options) => { for (let pattern of [].concat(patterns || [])) { for (let str of braces_1(String(pattern), options)) { - res.push(picomatch$1.parse(str, options)); + res.push(picomatch.parse(str, options)); } } @@ -10885,7 +7555,7 @@ micromatch.braces = (pattern, options) => { micromatch.braceExpand = (pattern, options) => { if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - return micromatch.braces(pattern, Object.assign({}, options, { + return micromatch.braces(pattern, Object.assign(Object.assign({}, options), {}, { expand: true })); }; @@ -11035,7 +7705,7 @@ var pattern = createCommonjsModule(function (module, exports) { function getPatternParts(pattern, options) { let { parts - } = picomatch$1.scan(pattern, Object.assign(Object.assign({}, options), { + } = picomatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); /** @@ -11090,7 +7760,7 @@ var pattern = createCommonjsModule(function (module, exports) { */ -const PassThrough = stream__default['default'].PassThrough; +const PassThrough = stream_1__default['default'].PassThrough; const slice = Array.prototype.slice; var merge2_1 = merge2; @@ -11243,7 +7913,7 @@ function pauseStreams(streams, options) { return streams; } -var stream = createCommonjsModule(function (module, exports) { +var stream$3 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -11287,18 +7957,18 @@ var string = createCommonjsModule(function (module, exports) { exports.isEmpty = isEmpty; }); -var utils$2 = createCommonjsModule(function (module, exports) { +var utils$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; - exports.array = array; + exports.array = array$2; exports.errno = errno; - exports.fs = fs; + exports.fs = fs$3; exports.path = path_1; exports.pattern = pattern; - exports.stream = stream; + exports.stream = stream$3; exports.string = string; }); @@ -11312,8 +7982,8 @@ var tasks = createCommonjsModule(function (module, exports) { function generate(patterns, settings) { const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter(pattern => utils$2.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter(pattern => utils$2.pattern.isDynamicPattern(pattern, settings)); + const staticPatterns = positivePatterns.filter(pattern => utils$1.pattern.isStaticPattern(pattern, settings)); + const dynamicPatterns = positivePatterns.filter(pattern => utils$1.pattern.isDynamicPattern(pattern, settings)); const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false); @@ -11340,14 +8010,14 @@ var tasks = createCommonjsModule(function (module, exports) { exports.convertPatternsToTasks = convertPatternsToTasks; function getPositivePatterns(patterns) { - return utils$2.pattern.getPositivePatterns(patterns); + return utils$1.pattern.getPositivePatterns(patterns); } exports.getPositivePatterns = getPositivePatterns; function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils$2.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils$2.pattern.convertToPositivePattern); + const negative = utils$1.pattern.getNegativePatterns(patterns).concat(ignore); + const positive = negative.map(utils$1.pattern.convertToPositivePattern); return positive; } @@ -11356,7 +8026,7 @@ var tasks = createCommonjsModule(function (module, exports) { function groupPatternsByBaseDirectory(patterns) { const group = {}; return patterns.reduce((collection, pattern) => { - const base = utils$2.pattern.getBaseDirectory(pattern); + const base = utils$1.pattern.getBaseDirectory(pattern); if (base in collection) { collection[base].push(pattern); @@ -11384,36 +8054,41 @@ var tasks = createCommonjsModule(function (module, exports) { positive, negative, base, - patterns: [].concat(positive, negative.map(utils$2.pattern.convertToNegativePattern)) + patterns: [].concat(positive, negative.map(utils$1.pattern.convertToNegativePattern)) }; } exports.convertPatternGroupToTask = convertPatternGroupToTask; }); -var async = createCommonjsModule(function (module, exports) { +var async$4 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.read = void 0; function read(path, settings, callback) { settings.fs.lstat(path, (lstatError, lstat) => { if (lstatError !== null) { - return callFailureCallback(callback, lstatError); + callFailureCallback(callback, lstatError); + return; } if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return callSuccessCallback(callback, lstat); + callSuccessCallback(callback, lstat); + return; } settings.fs.stat(path, (statError, stat) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { - return callFailureCallback(callback, statError); + callFailureCallback(callback, statError); + return; } - return callSuccessCallback(callback, lstat); + callSuccessCallback(callback, lstat); + return; } if (settings.markSymbolicLink) { @@ -11436,11 +8111,12 @@ var async = createCommonjsModule(function (module, exports) { } }); -var sync = createCommonjsModule(function (module, exports) { +var sync$5 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.read = void 0; function read(path, settings) { const lstat = settings.fs.lstatSync(path); @@ -11469,11 +8145,12 @@ var sync = createCommonjsModule(function (module, exports) { exports.read = read; }); -var fs_1 = createCommonjsModule(function (module, exports) { +var fs_1$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; exports.FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, stat: fs__default['default'].stat, @@ -11492,68 +8169,76 @@ var fs_1 = createCommonjsModule(function (module, exports) { exports.createFileSystemAdapter = createFileSystemAdapter; }); -var settings = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs_1.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - +class Settings$2 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); + this.fs = fs_1$1.createFileSystemAdapter(this._options.fs); + this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); } - exports.default = Settings; + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$m = Settings$2; +var settings$3 = /*#__PURE__*/Object.defineProperty({ + default: _default$m +}, '__esModule', { + value: true }); -var out = createCommonjsModule(function (module, exports) { +var out$3 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = settings.default; + exports.statSync = exports.stat = exports.Settings = void 0; + exports.Settings = settings$3.default; function stat(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return async.read(path, getSettings(), optionsOrSettingsOrCallback); + async$4.read(path, getSettings(), optionsOrSettingsOrCallback); + return; } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); + async$4.read(path, getSettings(optionsOrSettingsOrCallback), callback); } exports.stat = stat; function statSync(path, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); + return sync$5.read(path, settings); } exports.statSync = statSync; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings.default) { + if (settingsOrOptions instanceof settings$3.default) { return settingsOrOptions; } - return new settings.default(settingsOrOptions); + return new settings$3.default(settingsOrOptions); } }); +/*! queue-microtask. MIT License. Feross Aboukhadijeh */ +let promise$1; +var queueMicrotask_1 = typeof queueMicrotask === 'function' ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global) // reuse resolved promise, and allocate it lazily +: cb => (promise$1 || (promise$1 = Promise.resolve())).then(cb).catch(err => setTimeout(() => { + throw err; +}, 0)); + +/*! run-parallel. MIT License. Feross Aboukhadijeh */ var runParallel_1 = runParallel; function runParallel(tasks, cb) { - var results, pending, keys; - var isSync = true; + let results, pending, keys; + let isSync = true; if (Array.isArray(tasks)) { results = []; @@ -11570,7 +8255,7 @@ function runParallel(tasks, cb) { cb = null; } - if (isSync) process.nextTick(end);else end(); + if (isSync) queueMicrotask_1(end);else end(); } function each(i, err, result) { @@ -11603,30 +8288,37 @@ function runParallel(tasks, cb) { isSync = false; } -var constants$2 = createCommonjsModule(function (module, exports) { +var constants = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); - const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); + + if (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) { + throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); + } + + const MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); + const MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); const SUPPORTED_MAJOR_VERSION = 10; const SUPPORTED_MINOR_VERSION = 10; const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - /** - * IS `true` for Node.js 10.10 and greater. + /** + * IS `true` for Node.js 10.10 and greater. */ exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; }); -var fs$1 = createCommonjsModule(function (module, exports) { +var fs$2 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createDirentFromStats = void 0; class DirentFromStats { constructor(name, stats) { @@ -11649,26 +8341,50 @@ var fs$1 = createCommonjsModule(function (module, exports) { exports.createDirentFromStats = createDirentFromStats; }); -var utils$3 = createCommonjsModule(function (module, exports) { +var utils = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.fs = fs$1; + exports.fs = void 0; + exports.fs = fs$2; }); -var async$1 = createCommonjsModule(function (module, exports) { +var common$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.joinPathSegments = void 0; - function read(directory, settings, callback) { - if (!settings.stats && constants$2.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings, callback); + function joinPathSegments(a, b, separator) { + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + if (a.endsWith(separator)) { + return a + b; } - return readdir(directory, settings, callback); + return a + separator + b; + } + + exports.joinPathSegments = joinPathSegments; +}); + +var async$3 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; + + function read(directory, settings, callback) { + if (!settings.stats && constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + readdirWithFileTypes(directory, settings, callback); + return; + } + + readdir(directory, settings, callback); } exports.read = read; @@ -11678,23 +8394,26 @@ var async$1 = createCommonjsModule(function (module, exports) { withFileTypes: true }, (readdirError, dirents) => { if (readdirError !== null) { - return callFailureCallback(callback, readdirError); + callFailureCallback(callback, readdirError); + return; } const entries = dirents.map(dirent => ({ dirent, name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + path: common$1.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) })); if (!settings.followSymbolicLinks) { - return callSuccessCallback(callback, entries); + callSuccessCallback(callback, entries); + return; } const tasks = entries.map(entry => makeRplTaskEntry(entry, settings)); runParallel_1(tasks, (rplError, rplEntries) => { if (rplError !== null) { - return callFailureCallback(callback, rplError); + callFailureCallback(callback, rplError); + return; } callSuccessCallback(callback, rplEntries); @@ -11707,20 +8426,23 @@ var async$1 = createCommonjsModule(function (module, exports) { function makeRplTaskEntry(entry, settings) { return done => { if (!entry.dirent.isSymbolicLink()) { - return done(null, entry); + done(null, entry); + return; } settings.fs.stat(entry.path, (statError, stats) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { - return done(statError); + done(statError); + return; } - return done(null, entry); + done(null, entry); + return; } - entry.dirent = utils$3.fs.createDirentFromStats(entry.name, stats); - return done(null, entry); + entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); + done(null, entry); }); }; } @@ -11728,33 +8450,39 @@ var async$1 = createCommonjsModule(function (module, exports) { function readdir(directory, settings, callback) { settings.fs.readdir(directory, (readdirError, names) => { if (readdirError !== null) { - return callFailureCallback(callback, readdirError); + callFailureCallback(callback, readdirError); + return; } - const filepaths = names.map(name => `${directory}${settings.pathSegmentSeparator}${name}`); - const tasks = filepaths.map(filepath => { - return done => out.stat(filepath, settings.fsStatSettings, done); + const tasks = names.map(name => { + const path = common$1.joinPathSegments(directory, name, settings.pathSegmentSeparator); + return done => { + out$3.stat(path, settings.fsStatSettings, (error, stats) => { + if (error !== null) { + done(error); + return; + } + + const entry = { + name, + path, + dirent: utils.fs.createDirentFromStats(name, stats) + }; + + if (settings.stats) { + entry.stats = stats; + } + + done(null, entry); + }); + }; }); - runParallel_1(tasks, (rplError, results) => { + runParallel_1(tasks, (rplError, entries) => { if (rplError !== null) { - return callFailureCallback(callback, rplError); + callFailureCallback(callback, rplError); + return; } - const entries = []; - names.forEach((name, index) => { - const stats = results[index]; - const entry = { - name, - path: filepaths[index], - dirent: utils$3.fs.createDirentFromStats(name, stats) - }; - - if (settings.stats) { - entry.stats = stats; - } - - entries.push(entry); - }); callSuccessCallback(callback, entries); }); }); @@ -11771,14 +8499,15 @@ var async$1 = createCommonjsModule(function (module, exports) { } }); -var sync$1 = createCommonjsModule(function (module, exports) { +var sync$4 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; function read(directory, settings) { - if (!settings.stats && constants$2.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + if (!settings.stats && constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings); } @@ -11795,13 +8524,13 @@ var sync$1 = createCommonjsModule(function (module, exports) { const entry = { dirent, name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + path: common$1.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) }; if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { try { const stats = settings.fs.statSync(entry.path); - entry.dirent = utils$3.fs.createDirentFromStats(entry.name, stats); + entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); } catch (error) { if (settings.throwErrorOnBrokenSymbolicLink) { throw error; @@ -11818,12 +8547,12 @@ var sync$1 = createCommonjsModule(function (module, exports) { function readdir(directory, settings) { const names = settings.fs.readdirSync(directory); return names.map(name => { - const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`; - const stats = out.statSync(entryPath, settings.fsStatSettings); + const entryPath = common$1.joinPathSegments(directory, name, settings.pathSegmentSeparator); + const stats = out$3.statSync(entryPath, settings.fsStatSettings); const entry = { name, path: entryPath, - dirent: utils$3.fs.createDirentFromStats(name, stats) + dirent: utils.fs.createDirentFromStats(name, stats) }; if (settings.stats) { @@ -11837,11 +8566,12 @@ var sync$1 = createCommonjsModule(function (module, exports) { exports.readdir = readdir; }); -var fs_1$1 = createCommonjsModule(function (module, exports) { +var fs_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; exports.FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, stat: fs__default['default'].stat, @@ -11862,66 +8592,66 @@ var fs_1$1 = createCommonjsModule(function (module, exports) { exports.createFileSystemAdapter = createFileSystemAdapter; }); -var settings$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs_1$1.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new out.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - +class Settings$1 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); + this.fs = fs_1.createFileSystemAdapter(this._options.fs); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); + this.stats = this._getValue(this._options.stats, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + this.fsStatSettings = new out$3.Settings({ + followSymbolicLink: this.followSymbolicLinks, + fs: this.fs, + throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink + }); } - exports.default = Settings; + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$l = Settings$1; +var settings$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$l +}, '__esModule', { + value: true }); -var out$1 = createCommonjsModule(function (module, exports) { +var out$2 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = settings$1.default; + exports.Settings = exports.scandirSync = exports.scandir = void 0; + exports.Settings = settings$2.default; function scandir(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return async$1.read(path, getSettings(), optionsOrSettingsOrCallback); + async$3.read(path, getSettings(), optionsOrSettingsOrCallback); + return; } - async$1.read(path, getSettings(optionsOrSettingsOrCallback), callback); + async$3.read(path, getSettings(optionsOrSettingsOrCallback), callback); } exports.scandir = scandir; function scandirSync(path, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync$1.read(path, settings); + return sync$4.read(path, settings); } exports.scandirSync = scandirSync; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$1.default) { + if (settingsOrOptions instanceof settings$2.default) { return settingsOrOptions; } - return new settings$1.default(settingsOrOptions); + return new settings$2.default(settingsOrOptions); } }); @@ -11963,10 +8693,15 @@ function fastqueue(context, worker, concurrency) { context = null; } + if (concurrency < 1) { + throw new Error('fastqueue concurrency must be greater than 1'); + } + var cache = reusify_1(Task); var queueHead = null; var queueTail = null; var _running = 0; + var errorHandler = null; var self = { push: push, drain: noop, @@ -11982,7 +8717,8 @@ function fastqueue(context, worker, concurrency) { unshift: unshift, empty: noop, kill: kill, - killAndDrain: killAndDrain + killAndDrain: killAndDrain, + error: error }; return self; @@ -12038,6 +8774,7 @@ function fastqueue(context, worker, concurrency) { current.release = release; current.value = value; current.callback = done || noop; + current.errorHandler = errorHandler; if (_running === self.concurrency || self.paused) { if (queueTail) { @@ -12116,6 +8853,10 @@ function fastqueue(context, worker, concurrency) { self.drain(); self.drain = noop; } + + function error(handler) { + errorHandler = handler; + } } function noop() {} @@ -12126,24 +8867,82 @@ function Task() { this.next = null; this.release = noop; this.context = null; + this.errorHandler = null; var self = this; this.worked = function worked(err, result) { var callback = self.callback; + var errorHandler = self.errorHandler; + var val = self.value; self.value = null; self.callback = noop; + + if (self.errorHandler) { + errorHandler(err, val); + } + callback.call(self.context, err, result); self.release(self); }; } +function queueAsPromised(context, worker, concurrency) { + if (typeof context === 'function') { + concurrency = worker; + worker = context; + context = null; + } + + function asyncWrapper(arg, cb) { + worker.call(this, arg).then(function (res) { + cb(null, res); + }, cb); + } + + var queue = fastqueue(context, asyncWrapper, concurrency); + var pushCb = queue.push; + var unshiftCb = queue.unshift; + queue.push = push; + queue.unshift = unshift; + return queue; + + function push(value) { + return new Promise(function (resolve, reject) { + pushCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); + } + + function unshift(value) { + return new Promise(function (resolve, reject) { + unshiftCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); + } +} + var queue = fastqueue; +var promise = queueAsPromised; +queue.promise = promise; var common = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0; function isFatalError(settings, error) { if (settings.errorFilter === null) { @@ -12162,7 +8961,7 @@ var common = createCommonjsModule(function (module, exports) { exports.isAppliedFilter = isAppliedFilter; function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[\\/]/).join(separator); + return filepath.split(/[/\\]/).join(separator); } exports.replacePathSegmentSeparator = replacePathSegmentSeparator; @@ -12171,6 +8970,14 @@ var common = createCommonjsModule(function (module, exports) { if (a === '') { return b; } + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + + + if (a.endsWith(separator)) { + return a + b; + } return a + separator + b; } @@ -12178,384 +8985,382 @@ var common = createCommonjsModule(function (module, exports) { exports.joinPathSegments = joinPathSegments; }); -var reader = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - +class Reader$1 { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); } - exports.default = Reader; +} + +var _default$k = Reader$1; +var reader$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$k +}, '__esModule', { + value: true }); -var async$2 = createCommonjsModule(function (module, exports) { +class AsyncReader extends reader$1.default { + constructor(_root, _settings) { + super(_root, _settings); + this._settings = _settings; + this._scandir = out$2.scandir; + this._emitter = new events_1__default['default'].EventEmitter(); + this._queue = queue(this._worker.bind(this), this._settings.concurrency); + this._isFatalError = false; + this._isDestroyed = false; - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncReader extends reader.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = out$1.scandir; - this._emitter = new events__default['default'].EventEmitter(); - this._queue = queue(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit('end'); - } - }; - } - - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - - destroy() { - if (this._isDestroyed) { - throw new Error('The reader is already destroyed'); + this._queue.drain = () => { + if (!this._isFatalError) { + this._emitter.emit('end'); } - - this._isDestroyed = true; - - this._queue.killAndDrain(); - } - - onEntry(callback) { - this._emitter.on('entry', callback); - } - - onError(callback) { - this._emitter.once('error', callback); - } - - onEnd(callback) { - this._emitter.once('end', callback); - } - - _pushToQueue(directory, base) { - const queueItem = { - directory, - base - }; - - this._queue.push(queueItem, error => { - if (error !== null) { - this._handleError(error); - } - }); - } - - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - return done(error, undefined); - } - - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - - done(null, undefined); - }); - } - - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - - this._isFatalError = true; - this._isDestroyed = true; - - this._emitter.emit('error', error); - } - - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - - const fullpath = entry.path; - - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } - } - - _emitEntry(entry) { - this._emitter.emit('entry', entry); - } - + }; } - exports.default = AsyncReader; -}); - -var async$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$2.default(this._root, this._settings); - this._storage = new Set(); - } - - read(callback) { - this._reader.onError(error => { - callFailureCallback(callback, error); - }); - - this._reader.onEntry(entry => { - this._storage.add(entry); - }); - - this._reader.onEnd(() => { - callSuccessCallback(callback, [...this._storage]); - }); - - this._reader.read(); - } - - } - - exports.default = AsyncProvider; - - function callFailureCallback(callback, error) { - callback(error); - } - - function callSuccessCallback(callback, entries) { - callback(null, entries); - } -}); - -var stream$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class StreamProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$2.default(this._root, this._settings); - this._stream = new stream__default['default'].Readable({ - objectMode: true, - read: () => {}, - destroy: this._reader.destroy.bind(this._reader) - }); - } - - read() { - this._reader.onError(error => { - this._stream.emit('error', error); - }); - - this._reader.onEntry(entry => { - this._stream.push(entry); - }); - - this._reader.onEnd(() => { - this._stream.push(null); - }); - - this._reader.read(); - - return this._stream; - } - - } - - exports.default = StreamProvider; -}); - -var sync$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class SyncReader extends reader.default { - constructor() { - super(...arguments); - this._scandir = out$1.scandirSync; - this._storage = new Set(); - this._queue = new Set(); - } - - read() { + read() { + this._isFatalError = false; + this._isDestroyed = false; + setImmediate(() => { this._pushToQueue(this._root, this._settings.basePath); + }); + return this._emitter; + } - this._handleQueue(); + get isDestroyed() { + return this._isDestroyed; + } - return [...this._storage]; + destroy() { + if (this._isDestroyed) { + throw new Error('The reader is already destroyed'); } - _pushToQueue(directory, base) { - this._queue.add({ - directory, - base - }); - } + this._isDestroyed = true; - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } + this._queue.killAndDrain(); + } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); + onEntry(callback) { + this._emitter.on('entry', callback); + } - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { + onError(callback) { + this._emitter.once('error', callback); + } + + onEnd(callback) { + this._emitter.once('end', callback); + } + + _pushToQueue(directory, base) { + const queueItem = { + directory, + base + }; + + this._queue.push(queueItem, error => { + if (error !== null) { this._handleError(error); } - } + }); + } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { + _worker(item, done) { + this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { + if (error !== null) { + done(error, undefined); return; } - throw error; + for (const entry of entries) { + this._handleEntry(entry, item.base); + } + + done(null, undefined); + }); + } + + _handleError(error) { + if (this._isDestroyed || !common.isFatalError(this._settings, error)) { + return; } - _handleEntry(entry, base) { - const fullpath = entry.path; + this._isFatalError = true; + this._isDestroyed = true; - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } + this._emitter.emit('error', error); + } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } + _handleEntry(entry, base) { + if (this._isDestroyed || this._isFatalError) { + return; } - _pushToStorage(entry) { + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._emitEntry(entry); + } + + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + + _emitEntry(entry) { + this._emitter.emit('entry', entry); + } + +} + +var _default$j = AsyncReader; +var async$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$j +}, '__esModule', { + value: true +}); + +class AsyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async$2.default(this._root, this._settings); + this._storage = new Set(); + } + + read(callback) { + this._reader.onError(error => { + callFailureCallback(callback, error); + }); + + this._reader.onEntry(entry => { this._storage.add(entry); - } + }); + this._reader.onEnd(() => { + callSuccessCallback(callback, [...this._storage]); + }); + + this._reader.read(); } - exports.default = SyncReader; +} + +var _default$i = AsyncProvider; + +function callFailureCallback(callback, error) { + callback(error); +} + +function callSuccessCallback(callback, entries) { + callback(null, entries); +} + +var async$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$i +}, '__esModule', { + value: true }); -var sync$3 = createCommonjsModule(function (module, exports) { +class StreamProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async$2.default(this._root, this._settings); + this._stream = new stream_1__default['default'].Readable({ + objectMode: true, + read: () => {}, + destroy: () => { + if (!this._reader.isDestroyed) { + this._reader.destroy(); + } + } + }); + } + + read() { + this._reader.onError(error => { + this._stream.emit('error', error); + }); + + this._reader.onEntry(entry => { + this._stream.push(entry); + }); + + this._reader.onEnd(() => { + this._stream.push(null); + }); + + this._reader.read(); + + return this._stream; + } + +} + +var _default$h = StreamProvider; +var stream$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$h +}, '__esModule', { + value: true +}); + +class SyncReader extends reader$1.default { + constructor() { + super(...arguments); + this._scandir = out$2.scandirSync; + this._storage = new Set(); + this._queue = new Set(); + } + + read() { + this._pushToQueue(this._root, this._settings.basePath); + + this._handleQueue(); + + return [...this._storage]; + } + + _pushToQueue(directory, base) { + this._queue.add({ + directory, + base + }); + } + + _handleQueue() { + for (const item of this._queue.values()) { + this._handleDirectory(item.directory, item.base); + } + } + + _handleDirectory(directory, base) { + try { + const entries = this._scandir(directory, this._settings.fsScandirSettings); + + for (const entry of entries) { + this._handleEntry(entry, base); + } + } catch (error) { + this._handleError(error); + } + } + + _handleError(error) { + if (!common.isFatalError(this._settings, error)) { + return; + } + + throw error; + } + + _handleEntry(entry, base) { + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._pushToStorage(entry); + } + + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + + _pushToStorage(entry) { + this._storage.add(entry); + } + +} + +var _default$g = SyncReader; +var sync$3 = /*#__PURE__*/Object.defineProperty({ + default: _default$g +}, '__esModule', { + value: true +}); + +class SyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new sync$3.default(this._root, this._settings); + } + + read() { + return this._reader.read(); + } + +} + +var _default$f = SyncProvider; +var sync$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$f +}, '__esModule', { + value: true +}); + +class Settings { + constructor(_options = {}) { + this._options = _options; + this.basePath = this._getValue(this._options.basePath, undefined); + this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); + this.deepFilter = this._getValue(this._options.deepFilter, null); + this.entryFilter = this._getValue(this._options.entryFilter, null); + this.errorFilter = this._getValue(this._options.errorFilter, null); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); + this.fsScandirSettings = new out$2.Settings({ + followSymbolicLinks: this._options.followSymbolicLinks, + fs: this._options.fs, + pathSegmentSeparator: this._options.pathSegmentSeparator, + stats: this._options.stats, + throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink + }); + } + + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$e = Settings; +var settings$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$e +}, '__esModule', { + value: true +}); + +var out$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - - class SyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync$2.default(this._root, this._settings); - } - - read() { - return this._reader.read(); - } - - } - - exports.default = SyncProvider; -}); - -var settings$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, undefined); - this.concurrency = this._getValue(this._options.concurrency, Infinity); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.fsScandirSettings = new out$1.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - } - - exports.default = Settings; -}); - -var out$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Settings = settings$2.default; + exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0; + exports.Settings = settings$1.default; function walk(directory, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return new async$3.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + new async$1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + return; } - new async$3.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); + new async$1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); } exports.walk = walk; function walkSync(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - const provider = new sync$3.default(directory, settings); + const provider = new sync$2.default(directory, settings); return provider.read(); } @@ -12563,711 +9368,690 @@ var out$2 = createCommonjsModule(function (module, exports) { function walkStream(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - const provider = new stream$1.default(directory, settings); + const provider = new stream$2.default(directory, settings); return provider.read(); } exports.walkStream = walkStream; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$2.default) { + if (settingsOrOptions instanceof settings$1.default) { return settingsOrOptions; } - return new settings$2.default(settingsOrOptions); + return new settings$1.default(settingsOrOptions); } }); -var reader$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new out.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - - _getFullEntryPath(filepath) { - return path__default['default'].resolve(this._settings.cwd, filepath); - } - - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils$2.fs.createDirentFromStats(pattern, stats) - }; - - if (this._settings.stats) { - entry.stats = stats; - } - - return entry; - } - - _isFatalError(error) { - return !utils$2.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - +class Reader { + constructor(_settings) { + this._settings = _settings; + this._fsStatSettings = new out$3.Settings({ + followSymbolicLink: this._settings.followSymbolicLinks, + fs: this._settings.fs, + throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks + }); } - exports.default = Reader; + _getFullEntryPath(filepath) { + return path__default['default'].resolve(this._settings.cwd, filepath); + } + + _makeEntry(stats, pattern) { + const entry = { + name: pattern, + path: pattern, + dirent: utils$1.fs.createDirentFromStats(pattern, stats) + }; + + if (this._settings.stats) { + entry.stats = stats; + } + + return entry; + } + + _isFatalError(error) { + return !utils$1.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; + } + +} + +var _default$d = Reader; +var reader = /*#__PURE__*/Object.defineProperty({ + default: _default$d +}, '__esModule', { + value: true }); -var stream$2 = createCommonjsModule(function (module, exports) { +class ReaderStream extends reader.default { + constructor() { + super(...arguments); + this._walkStream = out$1.walkStream; + this._stat = out$3.stat; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + dynamic(root, options) { + return this._walkStream(root, options); + } - class ReaderStream extends reader$1.default { - constructor() { - super(...arguments); - this._walkStream = out$2.walkStream; - this._stat = out.stat; - } + static(patterns, options) { + const filepaths = patterns.map(this._getFullEntryPath, this); + const stream = new stream_1__default['default'].PassThrough({ + objectMode: true + }); - dynamic(root, options) { - return this._walkStream(root, options); - } - - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream__default['default'].PassThrough({ - objectMode: true - }); - - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then(entry => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - - if (index === filepaths.length - 1) { - stream.end(); - } - - done(); - }).catch(done); - }; - - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - - return stream; - } - - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { - if (options.errorFilter(error)) { - return null; + stream._write = (index, _enc, done) => { + return this._getEntry(filepaths[index], patterns[index], options).then(entry => { + if (entry !== null && options.entryFilter(entry)) { + stream.push(entry); } - throw error; - }); - } - - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - - } - - exports.default = ReaderStream; -}); - -var matcher = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Matcher { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - - this._fillStorage(); - } - - _fillStorage() { - /** - * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). - * So, before expand patterns with brace expansion into separated patterns. - */ - const patterns = utils$2.pattern.expandPatternsWithBraceExpansion(this._patterns); - - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - - const sections = this._splitSegmentsIntoSections(segments); - - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - - _getPatternSegments(pattern) { - const parts = utils$2.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map(part => { - const dynamic = utils$2.pattern.isDynamicPattern(part, this._settings); - - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; + if (index === filepaths.length - 1) { + stream.end(); } + done(); + }).catch(done); + }; + + for (let i = 0; i < filepaths.length; i++) { + stream.write(i); + } + + return stream; + } + + _getEntry(filepath, pattern, options) { + return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { + if (options.errorFilter(error)) { + return null; + } + + throw error; + }); + } + + _getStat(filepath) { + return new Promise((resolve, reject) => { + this._stat(filepath, this._fsStatSettings, (error, stats) => { + return error === null ? resolve(stats) : reject(error); + }); + }); + } + +} + +var _default$c = ReaderStream; +var stream$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$c +}, '__esModule', { + value: true +}); + +class Matcher { + constructor(_patterns, _settings, _micromatchOptions) { + this._patterns = _patterns; + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this._storage = []; + + this._fillStorage(); + } + + _fillStorage() { + /** + * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). + * So, before expand patterns with brace expansion into separated patterns. + */ + const patterns = utils$1.pattern.expandPatternsWithBraceExpansion(this._patterns); + + for (const pattern of patterns) { + const segments = this._getPatternSegments(pattern); + + const sections = this._splitSegmentsIntoSections(segments); + + this._storage.push({ + complete: sections.length <= 1, + pattern, + segments, + sections + }); + } + } + + _getPatternSegments(pattern) { + const parts = utils$1.pattern.getPatternParts(pattern, this._micromatchOptions); + return parts.map(part => { + const dynamic = utils$1.pattern.isDynamicPattern(part, this._settings); + + if (!dynamic) { return { - dynamic: true, - pattern: part, - patternRe: utils$2.pattern.makeRe(part, this._micromatchOptions) + dynamic: false, + pattern: part }; - }); - } - - _splitSegmentsIntoSections(segments) { - return utils$2.array.splitWhen(segments, segment => segment.dynamic && utils$2.pattern.hasGlobStar(segment.pattern)); - } - - } - - exports.default = Matcher; -}); - -var partial = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class PartialMatcher extends matcher.default { - match(filepath) { - const parts = filepath.split('/'); - const levels = parts.length; - - const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); - - for (const pattern of patterns) { - const section = pattern.sections[0]; - /** - * In this case, the pattern has a globstar and we must read all directories unconditionally, - * but only if the level has reached the end of the first group. - * - * fixtures/{a,b}/** - * ^ true/false ^ always true - */ - - if (!pattern.complete && levels > section.length) { - return true; - } - - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - - if (!segment.dynamic && segment.pattern === part) { - return true; - } - - return false; - }); - - if (match) { - return true; - } } + return { + dynamic: true, + pattern: part, + patternRe: utils$1.pattern.makeRe(part, this._micromatchOptions) + }; + }); + } + + _splitSegmentsIntoSections(segments) { + return utils$1.array.splitWhen(segments, segment => segment.dynamic && utils$1.pattern.hasGlobStar(segment.pattern)); + } + +} + +var _default$b = Matcher; +var matcher = /*#__PURE__*/Object.defineProperty({ + default: _default$b +}, '__esModule', { + value: true +}); + +class PartialMatcher extends matcher.default { + match(filepath) { + const parts = filepath.split('/'); + const levels = parts.length; + + const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); + + for (const pattern of patterns) { + const section = pattern.sections[0]; + /** + * In this case, the pattern has a globstar and we must read all directories unconditionally, + * but only if the level has reached the end of the first group. + * + * fixtures/{a,b}/** + * ^ true/false ^ always true + */ + + if (!pattern.complete && levels > section.length) { + return true; + } + + const match = parts.every((part, index) => { + const segment = pattern.segments[index]; + + if (segment.dynamic && segment.patternRe.test(part)) { + return true; + } + + if (!segment.dynamic && segment.pattern === part) { + return true; + } + + return false; + }); + + if (match) { + return true; + } + } + + return false; + } + +} + +var _default$a = PartialMatcher; +var partial = /*#__PURE__*/Object.defineProperty({ + default: _default$a +}, '__esModule', { + value: true +}); + +class DeepFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + } + + getFilter(basePath, positive, negative) { + const matcher = this._getMatcher(positive); + + const negativeRe = this._getNegativePatternsRe(negative); + + return entry => this._filter(basePath, entry, matcher, negativeRe); + } + + _getMatcher(patterns) { + return new partial.default(patterns, this._settings, this._micromatchOptions); + } + + _getNegativePatternsRe(patterns) { + const affectDepthOfReadingPatterns = patterns.filter(utils$1.pattern.isAffectDepthOfReadingPattern); + return utils$1.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); + } + + _filter(basePath, entry, matcher, negativeRe) { + if (this._isSkippedByDeep(basePath, entry.path)) { return false; } + if (this._isSkippedSymbolicLink(entry)) { + return false; + } + + const filepath = utils$1.path.removeLeadingDotSegment(entry.path); + + if (this._isSkippedByPositivePatterns(filepath, matcher)) { + return false; + } + + return this._isSkippedByNegativePatterns(filepath, negativeRe); } - exports.default = PartialMatcher; -}); - -var deep = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class DeepFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - - const negativeRe = this._getNegativePatternsRe(negative); - - return entry => this._filter(basePath, entry, matcher, negativeRe); - } - - _getMatcher(patterns) { - return new partial.default(patterns, this._settings, this._micromatchOptions); - } - - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils$2.pattern.isAffectDepthOfReadingPattern); - return utils$2.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - - const filepath = utils$2.path.removeLeadingDotSegment(entry.path); - - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - - _isSkippedByDeep(basePath, entryPath) { - /** - * Avoid unnecessary depth calculations when it doesn't matter. - */ - if (this._settings.deep === Infinity) { - return false; - } - - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split('/').length; - - if (basePath === '') { - return entryPathDepth; - } - - const basePathDepth = basePath.split('/').length; - return entryPathDepth - basePathDepth; - } - - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils$2.pattern.matchAny(entryPath, patternsRe); + _isSkippedByDeep(basePath, entryPath) { + /** + * Avoid unnecessary depth calculations when it doesn't matter. + */ + if (this._settings.deep === Infinity) { + return false; } + return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; } - exports.default = DeepFilter; -}); + _getEntryLevel(basePath, entryPath) { + const entryPathDepth = entryPath.split('/').length; -var entry = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = new Map(); - } - - getFilter(positive, negative) { - const positiveRe = utils$2.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils$2.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return entry => this._filter(entry, positiveRe, negativeRe); - } - - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique && this._isDuplicateEntry(entry)) { - return false; - } - - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - - if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { - return false; - } - - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - - if (this._settings.unique && isMatched) { - this._createIndexRecord(entry); - } - - return isMatched; - } - - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - - _createIndexRecord(entry) { - this.index.set(entry.path, undefined); - } - - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - - _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { - if (!this._settings.absolute) { - return false; - } - - const fullpath = utils$2.path.makeAbsolute(this._settings.cwd, entryPath); - return utils$2.pattern.matchAny(fullpath, patternsRe); - } - - _isMatchToPatterns(entryPath, patternsRe) { - const filepath = utils$2.path.removeLeadingDotSegment(entryPath); - return utils$2.pattern.matchAny(filepath, patternsRe); + if (basePath === '') { + return entryPathDepth; } + const basePathDepth = basePath.split('/').length; + return entryPathDepth - basePathDepth; } - exports.default = EntryFilter; -}); - -var error = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ErrorFilter { - constructor(_settings) { - this._settings = _settings; - } - - getFilter() { - return error => this._isNonFatalError(error); - } - - _isNonFatalError(error) { - return utils$2.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - + _isSkippedSymbolicLink(entry) { + return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); } - exports.default = ErrorFilter; -}); - -var entry$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryTransformer { - constructor(_settings) { - this._settings = _settings; - } - - getTransformer() { - return entry => this._transform(entry); - } - - _transform(entry) { - let filepath = entry.path; - - if (this._settings.absolute) { - filepath = utils$2.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils$2.path.unixify(filepath); - } - - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += '/'; - } - - if (!this._settings.objectMode) { - return filepath; - } - - return Object.assign(Object.assign({}, entry), { - path: filepath - }); - } - + _isSkippedByPositivePatterns(entryPath, matcher) { + return !this._settings.baseNameMatch && !matcher.match(entryPath); } - exports.default = EntryTransformer; -}); - -var provider = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Provider { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error.default(this._settings); - this.entryFilter = new entry.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry$1.default(this._settings); - } - - _getRootDirectory(task) { - return path__default['default'].resolve(this._settings.cwd, task.base); - } - - _getReaderOptions(task) { - const basePath = task.base === '.' ? '' : task.base; - return { - basePath, - pathSegmentSeparator: '/', - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - + _isSkippedByNegativePatterns(entryPath, patternsRe) { + return !utils$1.pattern.matchAny(entryPath, patternsRe); } - exports.default = Provider; +} + +var _default$9 = DeepFilter; +var deep = /*#__PURE__*/Object.defineProperty({ + default: _default$9 +}, '__esModule', { + value: true }); -var async$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderAsync extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$2.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = []; - return new Promise((resolve, reject) => { - const stream = this.api(root, task, options); - stream.once('error', reject); - stream.on('data', entry => entries.push(options.transform(entry))); - stream.once('end', () => resolve(entries)); - }); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - +class EntryFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this.index = new Map(); } - exports.default = ProviderAsync; -}); - -var stream$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderStream extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$2.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const source = this.api(root, task, options); - const destination = new stream__default['default'].Readable({ - objectMode: true, - read: () => {} - }); - source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); - destination.once('close', () => source.destroy()); - return destination; - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - + getFilter(positive, negative) { + const positiveRe = utils$1.pattern.convertPatternsToRe(positive, this._micromatchOptions); + const negativeRe = utils$1.pattern.convertPatternsToRe(negative, this._micromatchOptions); + return entry => this._filter(entry, positiveRe, negativeRe); } - exports.default = ProviderStream; -}); - -var sync$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ReaderSync extends reader$1.default { - constructor() { - super(...arguments); - this._walkSync = out$2.walkSync; - this._statSync = out.statSync; + _filter(entry, positiveRe, negativeRe) { + if (this._settings.unique && this._isDuplicateEntry(entry)) { + return false; } - dynamic(root, options) { - return this._walkSync(root, options); + if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { + return false; } - static(patterns, options) { - const entries = []; - - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - - const entry = this._getEntry(filepath, pattern, options); - - if (entry === null || !options.entryFilter(entry)) { - continue; - } - - entries.push(entry); - } - - return entries; + if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { + return false; } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); + const filepath = this._settings.baseNameMatch ? entry.name : entry.path; + const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - - throw error; - } - } - - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); + if (this._settings.unique && isMatched) { + this._createIndexRecord(entry); } + return isMatched; } - exports.default = ReaderSync; -}); - -var sync$5 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderSync extends provider.default { - constructor() { - super(...arguments); - this._reader = new sync$4.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - + _isDuplicateEntry(entry) { + return this.index.has(entry.path); } - exports.default = ProviderSync; + _createIndexRecord(entry) { + this.index.set(entry.path, undefined); + } + + _onlyFileFilter(entry) { + return this._settings.onlyFiles && !entry.dirent.isFile(); + } + + _onlyDirectoryFilter(entry) { + return this._settings.onlyDirectories && !entry.dirent.isDirectory(); + } + + _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { + if (!this._settings.absolute) { + return false; + } + + const fullpath = utils$1.path.makeAbsolute(this._settings.cwd, entryPath); + return utils$1.pattern.matchAny(fullpath, patternsRe); + } + + _isMatchToPatterns(entryPath, patternsRe) { + const filepath = utils$1.path.removeLeadingDotSegment(entryPath); + return utils$1.pattern.matchAny(filepath, patternsRe); + } + +} + +var _default$8 = EntryFilter; +var entry$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$8 +}, '__esModule', { + value: true }); -var settings$3 = createCommonjsModule(function (module, exports) { +class ErrorFilter { + constructor(_settings) { + this._settings = _settings; + } + + getFilter() { + return error => this._isNonFatalError(error); + } + + _isNonFatalError(error) { + return utils$1.errno.isEnoentCodeError(error) || this._settings.suppressErrors; + } + +} + +var _default$7 = ErrorFilter; +var error = /*#__PURE__*/Object.defineProperty({ + default: _default$7 +}, '__esModule', { + value: true +}); + +class EntryTransformer { + constructor(_settings) { + this._settings = _settings; + } + + getTransformer() { + return entry => this._transform(entry); + } + + _transform(entry) { + let filepath = entry.path; + + if (this._settings.absolute) { + filepath = utils$1.path.makeAbsolute(this._settings.cwd, filepath); + filepath = utils$1.path.unixify(filepath); + } + + if (this._settings.markDirectories && entry.dirent.isDirectory()) { + filepath += '/'; + } + + if (!this._settings.objectMode) { + return filepath; + } + + return Object.assign(Object.assign({}, entry), { + path: filepath + }); + } + +} + +var _default$6 = EntryTransformer; +var entry = /*#__PURE__*/Object.defineProperty({ + default: _default$6 +}, '__esModule', { + value: true +}); + +class Provider { + constructor(_settings) { + this._settings = _settings; + this.errorFilter = new error.default(this._settings); + this.entryFilter = new entry$1.default(this._settings, this._getMicromatchOptions()); + this.deepFilter = new deep.default(this._settings, this._getMicromatchOptions()); + this.entryTransformer = new entry.default(this._settings); + } + + _getRootDirectory(task) { + return path__default['default'].resolve(this._settings.cwd, task.base); + } + + _getReaderOptions(task) { + const basePath = task.base === '.' ? '' : task.base; + return { + basePath, + pathSegmentSeparator: '/', + concurrency: this._settings.concurrency, + deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), + entryFilter: this.entryFilter.getFilter(task.positive, task.negative), + errorFilter: this.errorFilter.getFilter(), + followSymbolicLinks: this._settings.followSymbolicLinks, + fs: this._settings.fs, + stats: this._settings.stats, + throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, + transform: this.entryTransformer.getTransformer() + }; + } + + _getMicromatchOptions() { + return { + dot: this._settings.dot, + matchBase: this._settings.baseNameMatch, + nobrace: !this._settings.braceExpansion, + nocase: !this._settings.caseSensitiveMatch, + noext: !this._settings.extglob, + noglobstar: !this._settings.globstar, + posix: true, + strictSlashes: false + }; + } + +} + +var _default$5 = Provider; +var provider = /*#__PURE__*/Object.defineProperty({ + default: _default$5 +}, '__esModule', { + value: true +}); + +class ProviderAsync extends provider.default { + constructor() { + super(...arguments); + this._reader = new stream$1.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = []; + return new Promise((resolve, reject) => { + const stream = this.api(root, task, options); + stream.once('error', reject); + stream.on('data', entry => entries.push(options.transform(entry))); + stream.once('end', () => resolve(entries)); + }); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default$4 = ProviderAsync; +var async = /*#__PURE__*/Object.defineProperty({ + default: _default$4 +}, '__esModule', { + value: true +}); + +class ProviderStream extends provider.default { + constructor() { + super(...arguments); + this._reader = new stream$1.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const source = this.api(root, task, options); + const destination = new stream_1__default['default'].Readable({ + objectMode: true, + read: () => {} + }); + source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); + destination.once('close', () => source.destroy()); + return destination; + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default$3 = ProviderStream; +var stream = /*#__PURE__*/Object.defineProperty({ + default: _default$3 +}, '__esModule', { + value: true +}); + +class ReaderSync extends reader.default { + constructor() { + super(...arguments); + this._walkSync = out$1.walkSync; + this._statSync = out$3.statSync; + } + + dynamic(root, options) { + return this._walkSync(root, options); + } + + static(patterns, options) { + const entries = []; + + for (const pattern of patterns) { + const filepath = this._getFullEntryPath(pattern); + + const entry = this._getEntry(filepath, pattern, options); + + if (entry === null || !options.entryFilter(entry)) { + continue; + } + + entries.push(entry); + } + + return entries; + } + + _getEntry(filepath, pattern, options) { + try { + const stats = this._getStat(filepath); + + return this._makeEntry(stats, pattern); + } catch (error) { + if (options.errorFilter(error)) { + return null; + } + + throw error; + } + } + + _getStat(filepath) { + return this._statSync(filepath, this._fsStatSettings); + } + +} + +var _default$2 = ReaderSync; +var sync$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$2 +}, '__esModule', { + value: true +}); + +class ProviderSync extends provider.default { + constructor() { + super(...arguments); + this._reader = new sync$1.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = this.api(root, task, options); + return entries.map(options.transform); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default$1 = ProviderSync; +var sync = /*#__PURE__*/Object.defineProperty({ + default: _default$1 +}, '__esModule', { + value: true +}); + +var settings = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - const CPU_COUNT = os__default['default'].cpus().length; + /** + * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. + * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 + */ + + const CPU_COUNT = Math.max(os__default['default'].cpus().length, 1); exports.DEFAULT_FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, lstatSync: fs__default['default'].lstatSync, @@ -13326,56 +10110,56 @@ var settings$3 = createCommonjsModule(function (module, exports) { async function FastGlob(source, options) { assertPatternsInput(source); - const works = getWorks(source, async$4.default, options); + const works = getWorks(source, async.default, options); const result = await Promise.all(works); - return utils$2.array.flatten(result); + return utils$1.array.flatten(result); } // https://github.com/typescript-eslint/typescript-eslint/issues/60 // eslint-disable-next-line no-redeclare (function (FastGlob) { - function sync(source, options) { + function sync$1(source, options) { assertPatternsInput(source); - const works = getWorks(source, sync$5.default, options); - return utils$2.array.flatten(works); + const works = getWorks(source, sync.default, options); + return utils$1.array.flatten(works); } - FastGlob.sync = sync; + FastGlob.sync = sync$1; - function stream(source, options) { + function stream$1(source, options) { assertPatternsInput(source); - const works = getWorks(source, stream$3.default, options); + const works = getWorks(source, stream.default, options); /** * The stream returned by the provider cannot work with an asynchronous iterator. * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. * This affects performance (+25%). I don't see best solution right now. */ - return utils$2.stream.merge(works); + return utils$1.stream.merge(works); } - FastGlob.stream = stream; + FastGlob.stream = stream$1; function generateTasks(source, options) { assertPatternsInput(source); const patterns = [].concat(source); - const settings = new settings$3.default(options); - return tasks.generate(patterns, settings); + const settings$1 = new settings.default(options); + return tasks.generate(patterns, settings$1); } FastGlob.generateTasks = generateTasks; function isDynamicPattern(source, options) { assertPatternsInput(source); - const settings = new settings$3.default(options); - return utils$2.pattern.isDynamicPattern(source, settings); + const settings$1 = new settings.default(options); + return utils$1.pattern.isDynamicPattern(source, settings$1); } FastGlob.isDynamicPattern = isDynamicPattern; function escapePath(source) { assertPatternsInput(source); - return utils$2.path.escape(source); + return utils$1.path.escape(source); } FastGlob.escapePath = escapePath; @@ -13383,36 +10167,38 @@ async function FastGlob(source, options) { function getWorks(source, _Provider, options) { const patterns = [].concat(source); - const settings = new settings$3.default(options); - const tasks$1 = tasks.generate(patterns, settings); - const provider = new _Provider(settings); + const settings$1 = new settings.default(options); + const tasks$1 = tasks.generate(patterns, settings$1); + const provider = new _Provider(settings$1); return tasks$1.map(provider.read, provider); } function assertPatternsInput(input) { const source = [].concat(input); - const isValidSource = source.every(item => utils$2.string.isString(item) && !utils$2.string.isEmpty(item)); + const isValidSource = source.every(item => utils$1.string.isString(item) && !utils$1.string.isEmpty(item)); if (!isValidSource) { throw new TypeError('Patterns must be a string (non empty) or an array of strings'); } } -var out$3 = FastGlob; +var out = FastGlob; -/** @typedef {import('./util').Context} Context */ +const { + promises: fs$1 +} = fs__default['default']; +/** @typedef {import('./context').Context} Context */ /** * @param {Context} context */ - -function* expandPatterns(context) { +async function* expandPatterns$1(context) { const cwd = process.cwd(); const seen = new Set(); let noResults = true; - for (const pathOrError of expandPatternsInternal(context)) { + for await (const pathOrError of expandPatternsInternal(context)) { noResults = false; if (typeof pathOrError !== "string") { @@ -13430,7 +10216,7 @@ function* expandPatterns(context) { yield relativePath; } - if (noResults) { + if (noResults && context.argv["error-on-unmatched-pattern"] !== false) { // If there was no files and no other errors, let's yield a general error. yield { error: `No matching files. Patterns: ${context.filePatterns.join(" ")}` @@ -13442,17 +10228,17 @@ function* expandPatterns(context) { */ -function* expandPatternsInternal(context) { +async function* expandPatternsInternal(context) { // Ignores files in version control systems directories and `node_modules` - const silentlyIgnoredDirs = { - ".git": true, - ".svn": true, - ".hg": true, - node_modules: context.argv["with-node-modules"] !== true - }; + const silentlyIgnoredDirs = [".git", ".svn", ".hg"]; + + if (context.argv["with-node-modules"] !== true) { + silentlyIgnoredDirs.push("node_modules"); + } + const globOptions = { dot: true, - ignore: Object.keys(silentlyIgnoredDirs).filter(dir => silentlyIgnoredDirs[dir]).map(dir => "**/" + dir) + ignore: silentlyIgnoredDirs.map(dir => "**/" + dir) }; let supportedFilesGlob; const cwd = process.cwd(); @@ -13467,29 +10253,35 @@ function* expandPatternsInternal(context) { continue; } - const stat = statSafeSync(absolutePath); + const stat = await statSafe(absolutePath); if (stat) { if (stat.isFile()) { entries.push({ type: "file", - glob: escapePathForGlob(fixWindowsSlashes(pattern)), + glob: escapePathForGlob(fixWindowsSlashes$1(pattern)), input: pattern }); } else if (stat.isDirectory()) { + /* + 1. Remove trailing `/`, `fast-glob` can't find files for `src//*.js` pattern + 2. Cleanup dirname, when glob `src/../*.js` pattern with `fast-glob`, + it returns files like 'src/../index.js' + */ + const relativePath = path__default['default'].relative(cwd, absolutePath) || "."; entries.push({ type: "dir", - glob: escapePathForGlob(fixWindowsSlashes(pattern)) + "/" + getSupportedFilesGlob(), + glob: escapePathForGlob(fixWindowsSlashes$1(relativePath)) + "/" + getSupportedFilesGlob(), input: pattern }); } } else if (pattern[0] === "!") { // convert negative patterns to `ignore` entries - globOptions.ignore.push(fixWindowsSlashes(pattern.slice(1))); + globOptions.ignore.push(fixWindowsSlashes$1(pattern.slice(1))); } else { entries.push({ type: "glob", - glob: fixWindowsSlashes(pattern), + glob: fixWindowsSlashes$1(pattern), input: pattern }); } @@ -13503,7 +10295,7 @@ function* expandPatternsInternal(context) { let result; try { - result = out$3.sync(glob, globOptions); + result = await out(glob, globOptions); } catch ({ message }) { @@ -13517,9 +10309,11 @@ function* expandPatternsInternal(context) { } if (result.length === 0) { - yield { - error: `${errorMessages.emptyResults[type]}: "${input}".` - }; + if (context.argv["error-on-unmatched-pattern"] !== false) { + yield { + error: `${errorMessages.emptyResults[type]}: "${input}".` + }; + } } else { yield* sortPaths(result); } @@ -13527,9 +10321,9 @@ function* expandPatternsInternal(context) { function getSupportedFilesGlob() { if (!supportedFilesGlob) { - const extensions = flatten_1(context.languages.map(lang => lang.extensions || [])); - const filenames = flatten_1(context.languages.map(lang => lang.filenames || [])); - supportedFilesGlob = `**/{${extensions.map(ext => "*" + (ext[0] === "." ? ext : "." + ext)).concat(filenames)}}`; + const extensions = context.languages.flatMap(lang => lang.extensions || []); + const filenames = context.languages.flatMap(lang => lang.filenames || []); + supportedFilesGlob = `**/{${[...extensions.map(ext => "*" + (ext[0] === "." ? ext : "." + ext)), ...filenames]}}`; } return supportedFilesGlob; @@ -13551,11 +10345,11 @@ const errorMessages = { /** * @param {string} absolutePath * @param {string} cwd - * @param {Record} ignoredDirectories + * @param {string[]} ignoredDirectories */ function containsIgnoredPathSegment(absolutePath, cwd, ignoredDirectories) { - return path__default['default'].relative(cwd, absolutePath).split(path__default['default'].sep).some(dir => ignoredDirectories[dir]); + return path__default['default'].relative(cwd, absolutePath).split(path__default['default'].sep).some(dir => ignoredDirectories.includes(dir)); } /** * @param {string[]} paths @@ -13568,13 +10362,13 @@ function sortPaths(paths) { /** * Get stats of a given path. * @param {string} filePath The path to target file. - * @returns {fs.Stats | undefined} The stats. + * @returns {Promise} The stats. */ -function statSafeSync(filePath) { +async function statSafe(filePath) { try { - return fs__default['default'].statSync(filePath); + return await fs$1.stat(filePath); } catch (error) { /* istanbul ignore next */ if (error.code !== "ENOENT") { @@ -13591,7 +10385,7 @@ function statSafeSync(filePath) { function escapePathForGlob(path) { - return out$3.escapePath(path.replace(/\\/g, "\0") // Workaround for fast-glob#262 (part 1) + return out.escapePath(path.replace(/\\/g, "\0") // Workaround for fast-glob#262 (part 1) ).replace(/\\!/g, "@(!)") // Workaround for fast-glob#261 .replace(/\0/g, "@(\\\\)"); // Workaround for fast-glob#262 (part 2) } @@ -13605,444 +10399,3666 @@ const isWindows = path__default['default'].sep === "\\"; * @param {string} pattern */ -function fixWindowsSlashes(pattern) { +function fixWindowsSlashes$1(pattern) { return isWindows ? pattern.replace(/\\/g, "/") : pattern; } var expandPatterns_1 = { - expandPatterns, - fixWindowsSlashes + expandPatterns: expandPatterns$1, + fixWindowsSlashes: fixWindowsSlashes$1 }; -var lib = createCommonjsModule(function (module, exports) { +var iterators = {}; - Object.defineProperty(exports, "__esModule", { - value: true - }); // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. +var ITERATOR$1 = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; - function noop() { - var args = []; +// check on default Array iterator +var isArrayIteratorMethod = function (it) { + return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$1] === it); +}; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; +var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG$1] = 'z'; + +var toStringTagSupport = String(test) === '[object z]'; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +var classof = toStringTagSupport ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + +var ITERATOR = wellKnownSymbol('iterator'); + +var getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || iterators[classof(it)]; +}; + +var iteratorClose = function (iterator) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return anObject(returnMethod.call(iterator)).value; + } +}; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var iterate = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = callFn(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); } + iterator = iterFn.call(iterable); } - function createWeakMap() { - if (typeof WeakMap !== 'undefined') { - return new WeakMap(); - } else { - return fakeSetOrMap(); - } - } - /** - * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. - */ - - - function fakeSetOrMap() { - return { - add: noop, - delete: noop, - get: noop, - set: noop, - has: function (k) { - return false; - } - }; - } // Safe hasOwnProperty - - - var hop = Object.prototype.hasOwnProperty; - - var has = function (obj, prop) { - return hop.call(obj, prop); - }; // Copy all own enumerable properties from source to target - - - function extend(target, source) { - for (var prop in source) { - if (has(source, prop)) { - target[prop] = source[prop]; - } - } - - return target; - } - - var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; - var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; - var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; - var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; - var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; - - function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { - // If first interpolated value is a reference to outdent, - // determine indentation level from the indentation of the interpolated value. - var indentationLevel = 0; - var match = strings[0].match(reDetectIndentation); - - if (match) { - indentationLevel = match[1].length; - } - - var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, 'g'); - - if (firstInterpolatedValueSetsIndentationLevel) { - strings = strings.slice(1); - } - - var newline = options.newline, - trimLeadingNewline = options.trimLeadingNewline, - trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === 'string'; - var l = strings.length; - var outdentedStrings = strings.map(function (v, i) { - // Remove leading indentation from all lines - v = v.replace(reMatchIndent, '$1'); // Trim a leading newline from the first string - - if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ''); - } // Trim a trailing newline from the last string - - - if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ''); - } // Normalize newlines - - - if (normalizeNewlines) { - v = v.replace(/\r\n|\n|\r/g, function (_) { - return newline; - }); - } - - return v; - }); - return outdentedStrings; - } - - function concatStringsAndValues(strings, values) { - var ret = ''; - - for (var i = 0, l = strings.length; i < l; i++) { - ret += strings[i]; - - if (i < l - 1) { - ret += values[i]; - } - } - - return ret; - } - - function isTemplateStringsArray(v) { - return has(v, 'raw') && has(v, 'length'); - } - /** - * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to - * makeInstance - * @param options - * @return {outdent} - */ - - - function createInstance(options) { - /** Cache of pre-processed template literal arrays */ - var arrayAutoIndentCache = createWeakMap(); - /** - * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, - * before interpolated values are injected. - */ - - var arrayFirstInterpSetsIndentCache = createWeakMap(); - - function outdent(stringsOrOptions) { - var values = []; - - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - /* tslint:enable:no-shadowed-variable */ - - - if (isTemplateStringsArray(stringsOrOptions)) { - var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? - - var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation - - var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; - var renderedArray = cache.get(strings); - - if (!renderedArray) { - renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); - cache.set(strings, renderedArray); - } - /** If no interpolated values, skip concatenation step */ - - - if (values.length === 0) { - return renderedArray[0]; - } - /** Concatenate string literals with interpolated values */ - - - var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); - return rendered; - } else { - // Create and return a new instance of outdent with the given options - return createInstance(extend(extend({}, options), stringsOrOptions || {})); - } - } - - var fullOutdent = extend(outdent, { - string: function (str) { - return _outdentArray([str], false, options)[0]; - } - }); - return fullOutdent; - } - - var defaultOutdent = createInstance({ - trimLeadingNewline: true, - trimTrailingNewline: true - }); - exports.outdent = defaultOutdent; // Named exports. Simple and preferred. - // import outdent from 'outdent'; - - exports.default = defaultOutdent; - - { - // In webpack harmony-modules environments, module.exports is read-only, - // so we fail gracefully. + next = iterator.next; + while (!(step = next.call(iterator)).done) { try { - module.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, '__esModule', { - value: true - }); - defaultOutdent.default = defaultOutdent; - defaultOutdent.outdent = defaultOutdent; - } catch (e) {} + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator); + throw error; + } + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); +}; + +var createProperty = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +_export({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; } }); -const { - outdent -} = lib; -const { - coreOptions -} = prettierInternal; -const categoryOrder = [coreOptions.CATEGORY_OUTPUT, coreOptions.CATEGORY_FORMAT, coreOptions.CATEGORY_CONFIG, coreOptions.CATEGORY_EDITOR, coreOptions.CATEGORY_OTHER]; -/** - * { - * [optionName]: { - * // The type of the option. For 'choice', see also `choices` below. - * // When passing a type other than the ones listed below, the option is - * // treated as taking any string as argument, and `--option <${type}>` will - * // be displayed in --help. - * type: "boolean" | "choice" | "int" | string; +/*! + * dashify * - * // Default value to be passed to the minimist option `default`. - * default?: any; - * - * // Alias name to be passed to the minimist option `alias`. - * alias?: string; - * - * // For grouping options by category in --help. - * category?: string; - * - * // Description to be displayed in --help. If omitted, the option won't be - * // shown at all in --help (but see also `oppositeDescription` below). - * description?: string; - * - * // Description for `--no-${name}` to be displayed in --help. If omitted, - * // `--no-${name}` won't be shown. - * oppositeDescription?: string; - * - * // Indicate if this option is simply passed to the API. - * // true: use camelified name as the API option name. - * // string: use this value as the API option name. - * forwardToApi?: boolean | string; - * - * // Indicate that a CLI flag should be an array when forwarded to the API. - * array?: boolean; - * - * // Specify available choices for validation. They will also be displayed - * // in --help as . - * // Use an object instead of a string if a choice is deprecated and should - * // be treated as `redirect` instead, or if you'd like to add description for - * // the choice. - * choices?: Array< - * | string - * | { value: string, description?: string, deprecated?: boolean, redirect?: string } - * >; - * - * // If the option has a value that is an exception to the regular value - * // constraints, indicate that value here (or use a function for more - * // flexibility). - * exception?: ((value: any) => boolean); - * - * // Indicate that the option is deprecated. Use a string to add an extra - * // message to --help for the option, for example to suggest a replacement - * // option. - * deprecated?: true | string; - * } - * } - * - * Note: The options below are sorted alphabetically. + * Copyright (c) 2015-2017, Jon Schlinkert. + * Released under the MIT License. */ -const options = { - check: { - type: "boolean", - category: coreOptions.CATEGORY_OUTPUT, - alias: "c", - description: outdent` - Check if the given files are formatted, print a human-friendly summary - message and paths to unformatted files (see also --list-different). - ` - }, - color: { - // The supports-color package (a sub sub dependency) looks directly at - // `process.argv` for `--no-color` and such-like options. The reason it is - // listed here is to avoid "Ignored unknown option: --no-color" warnings. - // See https://github.com/chalk/supports-color/#info for more information. - type: "boolean", - default: true, - description: "Colorize error messages.", - oppositeDescription: "Do not colorize error messages." - }, - config: { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).", - oppositeDescription: "Do not look for a configuration file.", - exception: value => value === false - }, - "config-precedence": { - type: "choice", - category: coreOptions.CATEGORY_CONFIG, - default: "cli-override", - choices: [{ - value: "cli-override", - description: "CLI options take precedence over config file" - }, { - value: "file-override", - description: "Config file take precedence over CLI options" - }, { - value: "prefer-file", - description: outdent` - If a config file is found will evaluate it and ignore other CLI options. - If no config file is found CLI options will evaluate as normal. - ` - }], - description: "Define in which order config files and CLI options should be evaluated." - }, - "debug-benchmark": { - // Run the formatting benchmarks. Requires 'benchmark' module to be installed. - type: "boolean" - }, - "debug-check": { - // Run the formatting once again on the formatted output, throw if different. - type: "boolean" - }, - "debug-print-doc": { - type: "boolean" - }, - "debug-repeat": { - // Repeat the formatting a few times and measure the average duration. - type: "int", - default: 0 - }, - editorconfig: { - type: "boolean", - category: coreOptions.CATEGORY_CONFIG, - description: "Take .editorconfig into account when parsing configuration.", - oppositeDescription: "Don't take .editorconfig into account when parsing configuration.", - default: true - }, - "find-config-path": { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - description: "Find and print the path to a configuration file for the given input file." - }, - "file-info": { - type: "path", - description: outdent` - Extract the following info (as JSON) for a given file path. Reported fields: - * ignored (boolean) - true if file path is filtered by --ignore-path - * inferredParser (string | null) - name of parser inferred from file path - ` - }, - help: { - type: "flag", - alias: "h", - description: outdent` - Show CLI usage, or details about the given flag. - Example: --help write - `, - exception: value => value === "" - }, - "ignore-path": { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - default: ".prettierignore", - description: "Path to a file with patterns describing files to ignore." - }, - "ignore-unknown": { - type: "boolean", - alias: "u", - description: "Ignore unknown files." - }, - "list-different": { - type: "boolean", - category: coreOptions.CATEGORY_OUTPUT, - alias: "l", - description: "Print the names of files that are different from Prettier's formatting (see also --check)." - }, - loglevel: { - type: "choice", - description: "What level of logs to report.", - default: "log", - choices: ["silent", "error", "warn", "log", "debug"] - }, - "support-info": { - type: "boolean", - description: "Print support information as JSON." - }, - version: { - type: "boolean", - alias: "v", - description: "Print Prettier version." - }, - "with-node-modules": { - type: "boolean", - category: coreOptions.CATEGORY_CONFIG, - description: "Process files inside 'node_modules' directory." - }, - write: { - type: "boolean", - alias: "w", - category: coreOptions.CATEGORY_OUTPUT, - description: "Edit files in-place. (Beware!)" - } +var dashify = (str, options) => { + if (typeof str !== 'string') throw new TypeError('expected a string'); + return str.trim().replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\W/g, m => /[À-ž]/.test(m) ? m : '-').replace(/^-+|-+$/g, '').replace(/-{2,}/g, m => options && options.condense ? '-' : m).toLowerCase(); }; -const usageSummary = outdent` - Usage: prettier [options] [file/dir/glob ...] - By default, output is written to stdout. - Stdin is read if it is piped to Prettier and no files are given. -`; -var constant$1 = { - categoryOrder, - options, - usageSummary +var minimist = function (args, opts) { + if (!opts) opts = {}; + var flags = { + bools: {}, + strings: {}, + unknownFn: null + }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + var defaults = opts['default'] || {}; + var argv = { + _: [] + }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + var notFlags = []; + + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--') + 1); + args = args.slice(0, args.indexOf('--')); + } + + function argDefined(key, arg) { + return flags.allBools && /^--[^=]+$/.test(arg) || flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg(key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + + var value = !flags.strings[key] && isNumber(val) ? Number(val) : val; + setKey(argv, key.split('.'), value); + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } + + function setKey(obj, keys, value) { + var o = obj; + + for (var i = 0; i < keys.length - 1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } else if (Array.isArray(o[key])) { + o[key].push(value); + } else { + o[key] = [o[key], value]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + + if (flags.bools[key]) { + value = value !== 'false'; + } + + setArg(key, value, arg); + } else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + + if (next !== undefined && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1, -1).split(''); + var broken = false; + + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j + 2); + + if (next === '-') { + setArg(letters[j], next, arg); + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j + 1] && letters[j + 1].match(/\W/)) { + setArg(letters[j], arg.slice(j + 2), arg); + broken = true; + break; + } else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + + if (!broken && key !== '-') { + if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i + 1], arg); + i++; + } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { + setArg(key, args[i + 1] === 'true', arg); + i++; + } else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push(flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)); + } + + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function (key) { + argv['--'].push(key); + }); + } else { + notFlags.forEach(function (key) { + argv._.push(key); + }); + } + + return argv; +}; + +function hasKey(obj, keys) { + var o = obj; + keys.slice(0, -1).forEach(function (key) { + o = o[key] || {}; + }); + var key = keys[keys.length - 1]; + return key in o; +} + +function isNumber(x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} + +const PLACEHOLDER = null; +/** + * unspecified boolean flag without default value is parsed as `undefined` instead of `false` + */ + +var minimist_1 = function (args, options) { + const boolean = options.boolean || []; + const defaults = options.default || {}; + const booleanWithoutDefault = boolean.filter(key => !(key in defaults)); + const newDefaults = Object.assign(Object.assign({}, defaults), Object.fromEntries(booleanWithoutDefault.map(key => [key, PLACEHOLDER]))); + const parsed = minimist(args, Object.assign(Object.assign({}, options), {}, { + default: newDefaults + })); + return Object.fromEntries(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER)); +}; + +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + + return accumulator; +} + +var _arrayAggregator = arrayAggregator; + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function (object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + + return object; + }; +} + +var _createBaseFor = createBaseFor; + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + +var baseFor = _createBaseFor(); +var _baseFor = baseFor; + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + + return result; +} + +var _baseTimes = baseTimes; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; +var _freeGlobal = freeGlobal; + +/** Detect free variable `self`. */ + +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; +/** Used as a reference to the global object. */ + +var root = _freeGlobal || freeSelf || Function('return this')(); +var _root = root; + +/** Built-in value references. */ + +var Symbol$1 = _root.Symbol; +var _Symbol = Symbol$1; + +/** Used for built-in method references. */ + +var objectProto$d = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$a = objectProto$d.hasOwnProperty; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString$1 = objectProto$d.toString; +/** Built-in value references. */ + +var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined; +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + +function getRawTag(value) { + var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), + tag = value[symToStringTag$1]; + + try { + value[symToStringTag$1] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString$1.call(value); + + if (unmasked) { + if (isOwn) { + value[symToStringTag$1] = tag; + } else { + delete value[symToStringTag$1]; + } + } + + return result; +} + +var _getRawTag = getRawTag; + +/** Used for built-in method references. */ +var objectProto$c = Object.prototype; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString = objectProto$c.toString; +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + +function objectToString(value) { + return nativeObjectToString.call(value); +} + +var _objectToString = objectToString; + +/** `Object#toString` result references. */ + +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; +/** Built-in value references. */ + +var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + + return symToStringTag && symToStringTag in Object(value) ? _getRawTag(value) : _objectToString(value); +} + +var _baseGetTag = baseGetTag; + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +var isObjectLike_1 = isObjectLike; + +/** `Object#toString` result references. */ + +var argsTag$2 = '[object Arguments]'; +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + +function baseIsArguments(value) { + return isObjectLike_1(value) && _baseGetTag(value) == argsTag$2; +} + +var _baseIsArguments = baseIsArguments; + +/** Used for built-in method references. */ + +var objectProto$b = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$9 = objectProto$b.hasOwnProperty; +/** Built-in value references. */ + +var propertyIsEnumerable$1 = objectProto$b.propertyIsEnumerable; +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + +var isArguments = _baseIsArguments(function () { + return arguments; +}()) ? _baseIsArguments : function (value) { + return isObjectLike_1(value) && hasOwnProperty$9.call(value, 'callee') && !propertyIsEnumerable$1.call(value, 'callee'); +}; +var isArguments_1 = isArguments; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; +var isArray_1 = isArray; + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +var stubFalse_1 = stubFalse; + +var isBuffer_1 = createCommonjsModule(function (module, exports) { + /** Detect free variable `exports`. */ + var freeExports = exports && !exports.nodeType && exports; + /** Detect free variable `module`. */ + + var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; + /** Detect the popular CommonJS extension `module.exports`. */ + + var moduleExports = freeModule && freeModule.exports === freeExports; + /** Built-in value references. */ + + var Buffer = moduleExports ? _root.Buffer : undefined; + /* Built-in method references for those with the same name as other `lodash` methods. */ + + var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + + var isBuffer = nativeIsBuffer || stubFalse_1; + module.exports = isBuffer; +}); + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER$1 = 9007199254740991; +/** Used to detect unsigned integer values. */ + +var reIsUint = /^(?:0|[1-9]\d*)$/; +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER$1 : length; + return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; +} + +var _isIndex = isIndex; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + +function isLength(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +var isLength_1 = isLength; + +/** `Object#toString` result references. */ + +var argsTag$1 = '[object Arguments]', + arrayTag$1 = '[object Array]', + boolTag$1 = '[object Boolean]', + dateTag$1 = '[object Date]', + errorTag$1 = '[object Error]', + funcTag$1 = '[object Function]', + mapTag$2 = '[object Map]', + numberTag$1 = '[object Number]', + objectTag$2 = '[object Object]', + regexpTag$1 = '[object RegExp]', + setTag$2 = '[object Set]', + stringTag$1 = '[object String]', + weakMapTag$1 = '[object WeakMap]'; +var arrayBufferTag$1 = '[object ArrayBuffer]', + dataViewTag$2 = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; +/** Used to identify `toStringTag` values of typed arrays. */ + +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false; +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + +function baseIsTypedArray(value) { + return isObjectLike_1(value) && isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)]; +} + +var _baseIsTypedArray = baseIsTypedArray; + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function (value) { + return func(value); + }; +} + +var _baseUnary = baseUnary; + +var _nodeUtil = createCommonjsModule(function (module, exports) { + /** Detect free variable `exports`. */ + var freeExports = exports && !exports.nodeType && exports; + /** Detect free variable `module`. */ + + var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; + /** Detect the popular CommonJS extension `module.exports`. */ + + var moduleExports = freeModule && freeModule.exports === freeExports; + /** Detect free variable `process` from Node.js. */ + + var freeProcess = moduleExports && _freeGlobal.process; + /** Used to access faster Node.js helpers. */ + + var nodeUtil = function () { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } // Legacy `process.binding('util')` for Node.js < 10. + + + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }(); + + module.exports = nodeUtil; +}); + +/* Node.js helper references. */ + +var nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray; +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + +var isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray; +var isTypedArray_1 = isTypedArray; + +/** Used for built-in method references. */ + +var objectProto$a = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$8 = objectProto$a.hasOwnProperty; +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + +function arrayLikeKeys(value, inherited) { + var isArr = isArray_1(value), + isArg = !isArr && isArguments_1(value), + isBuff = !isArr && !isArg && isBuffer_1(value), + isType = !isArr && !isArg && !isBuff && isTypedArray_1(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? _baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty$8.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties. + _isIndex(key, length)))) { + result.push(key); + } + } + + return result; +} + +var _arrayLikeKeys = arrayLikeKeys; + +/** Used for built-in method references. */ +var objectProto$9 = Object.prototype; +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$9; + return value === proto; +} + +var _isPrototype = isPrototype; + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function (arg) { + return func(transform(arg)); + }; +} + +var _overArg = overArg; + +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeKeys = _overArg(Object.keys, Object); +var _nativeKeys = nativeKeys; + +/** Used for built-in method references. */ + +var objectProto$8 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$7 = objectProto$8.hasOwnProperty; +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + +function baseKeys(object) { + if (!_isPrototype(object)) { + return _nativeKeys(object); + } + + var result = []; + + for (var key in Object(object)) { + if (hasOwnProperty$7.call(object, key) && key != 'constructor') { + result.push(key); + } + } + + return result; +} + +var _baseKeys = baseKeys; + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +var isObject_1 = isObject; + +/** `Object#toString` result references. */ + +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + +function isFunction(value) { + if (!isObject_1(value)) { + return false; + } // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + + + var tag = _baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +var isFunction_1 = isFunction; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + +function isArrayLike(value) { + return value != null && isLength_1(value.length) && !isFunction_1(value); +} + +var isArrayLike_1 = isArrayLike; + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + +function keys(object) { + return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object); +} + +var keys_1 = keys; + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + +function baseForOwn(object, iteratee) { + return object && _baseFor(object, iteratee, keys_1); +} + +var _baseForOwn = baseForOwn; + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + +function createBaseEach(eachFunc, fromRight) { + return function (collection, iteratee) { + if (collection == null) { + return collection; + } + + if (!isArrayLike_1(collection)) { + return eachFunc(collection, iteratee); + } + + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while (fromRight ? index-- : ++index < length) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + + return collection; + }; +} + +var _createBaseEach = createBaseEach; + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + +var baseEach = _createBaseEach(_baseForOwn); +var _baseEach = baseEach; + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + +function baseAggregator(collection, setter, iteratee, accumulator) { + _baseEach(collection, function (value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +var _baseAggregator = baseAggregator; + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +var _listCacheClear = listCacheClear; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || value !== value && other !== other; +} + +var eq_1 = eq; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + +function assocIndexOf(array, key) { + var length = array.length; + + while (length--) { + if (eq_1(array[length][0], key)) { + return length; + } + } + + return -1; +} + +var _assocIndexOf = assocIndexOf; + +/** Used for built-in method references. */ + +var arrayProto = Array.prototype; +/** Built-in value references. */ + +var splice = arrayProto.splice; +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function listCacheDelete(key) { + var data = this.__data__, + index = _assocIndexOf(data, key); + + if (index < 0) { + return false; + } + + var lastIndex = data.length - 1; + + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + + --this.size; + return true; +} + +var _listCacheDelete = listCacheDelete; + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function listCacheGet(key) { + var data = this.__data__, + index = _assocIndexOf(data, key); + return index < 0 ? undefined : data[index][1]; +} + +var _listCacheGet = listCacheGet; + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function listCacheHas(key) { + return _assocIndexOf(this.__data__, key) > -1; +} + +var _listCacheHas = listCacheHas; + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + +function listCacheSet(key, value) { + var data = this.__data__, + index = _assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + + return this; +} + +var _listCacheSet = listCacheSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `ListCache`. + + +ListCache.prototype.clear = _listCacheClear; +ListCache.prototype['delete'] = _listCacheDelete; +ListCache.prototype.get = _listCacheGet; +ListCache.prototype.has = _listCacheHas; +ListCache.prototype.set = _listCacheSet; +var _ListCache = ListCache; + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + +function stackClear() { + this.__data__ = new _ListCache(); + this.size = 0; +} + +var _stackClear = stackClear; + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + this.size = data.size; + return result; +} + +var _stackDelete = stackDelete; + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +var _stackGet = stackGet; + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +var _stackHas = stackHas; + +/** Used to detect overreaching core-js shims. */ + +var coreJsData = _root['__core-js_shared__']; +var _coreJsData = coreJsData; + +/** Used to detect methods masquerading as native. */ + +var maskSrcKey = function () { + var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || ''); + return uid ? 'Symbol(src)_1.' + uid : ''; +}(); +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + + +function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; +} + +var _isMasked = isMasked; + +/** Used for built-in method references. */ +var funcProto$1 = Function.prototype; +/** Used to resolve the decompiled source of functions. */ + +var funcToString$1 = funcProto$1.toString; +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + +function toSource(func) { + if (func != null) { + try { + return funcToString$1.call(func); + } catch (e) {} + + try { + return func + ''; + } catch (e) {} + } + + return ''; +} + +var _toSource = toSource; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +/** Used to detect host constructors (Safari). */ + +var reIsHostCtor = /^\[object .+?Constructor\]$/; +/** Used for built-in method references. */ + +var funcProto = Function.prototype, + objectProto$7 = Object.prototype; +/** Used to resolve the decompiled source of functions. */ + +var funcToString = funcProto.toString; +/** Used to check objects for own properties. */ + +var hasOwnProperty$6 = objectProto$7.hasOwnProperty; +/** Used to detect if a method is native. */ + +var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty$6).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + +function baseIsNative(value) { + if (!isObject_1(value) || _isMasked(value)) { + return false; + } + + var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor; + return pattern.test(_toSource(value)); +} + +var _baseIsNative = baseIsNative; + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +var _getValue = getValue; + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + +function getNative(object, key) { + var value = _getValue(object, key); + return _baseIsNative(value) ? value : undefined; +} + +var _getNative = getNative; + +/* Built-in method references that are verified to be native. */ + +var Map$1 = _getNative(_root, 'Map'); +var _Map = Map$1; + +/* Built-in method references that are verified to be native. */ + +var nativeCreate = _getNative(Object, 'create'); +var _nativeCreate = nativeCreate; + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + +function hashClear() { + this.__data__ = _nativeCreate ? _nativeCreate(null) : {}; + this.size = 0; +} + +var _hashClear = hashClear; + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +var _hashDelete = hashDelete; + +/** Used to stand-in for `undefined` hash values. */ + +var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; +/** Used for built-in method references. */ + +var objectProto$6 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$5 = objectProto$6.hasOwnProperty; +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function hashGet(key) { + var data = this.__data__; + + if (_nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED$2 ? undefined : result; + } + + return hasOwnProperty$5.call(data, key) ? data[key] : undefined; +} + +var _hashGet = hashGet; + +/** Used for built-in method references. */ + +var objectProto$5 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$4 = objectProto$5.hasOwnProperty; +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function hashHas(key) { + var data = this.__data__; + return _nativeCreate ? data[key] !== undefined : hasOwnProperty$4.call(data, key); +} + +var _hashHas = hashHas; + +/** Used to stand-in for `undefined` hash values. */ + +var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = _nativeCreate && value === undefined ? HASH_UNDEFINED$1 : value; + return this; +} + +var _hashSet = hashSet; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `Hash`. + + +Hash.prototype.clear = _hashClear; +Hash.prototype['delete'] = _hashDelete; +Hash.prototype.get = _hashGet; +Hash.prototype.has = _hashHas; +Hash.prototype.set = _hashSet; +var _Hash = Hash; + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new _Hash(), + 'map': new (_Map || _ListCache)(), + 'string': new _Hash() + }; +} + +var _mapCacheClear = mapCacheClear; + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null; +} + +var _isKeyable = isKeyable; + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + +function getMapData(map, key) { + var data = map.__data__; + return _isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; +} + +var _getMapData = getMapData; + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + +function mapCacheDelete(key) { + var result = _getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +var _mapCacheDelete = mapCacheDelete; + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + +function mapCacheGet(key) { + return _getMapData(this, key).get(key); +} + +var _mapCacheGet = mapCacheGet; + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + +function mapCacheHas(key) { + return _getMapData(this, key).has(key); +} + +var _mapCacheHas = mapCacheHas; + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + +function mapCacheSet(key, value) { + var data = _getMapData(this, key), + size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +var _mapCacheSet = mapCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} // Add methods to `MapCache`. + + +MapCache.prototype.clear = _mapCacheClear; +MapCache.prototype['delete'] = _mapCacheDelete; +MapCache.prototype.get = _mapCacheGet; +MapCache.prototype.has = _mapCacheHas; +MapCache.prototype.set = _mapCacheSet; +var _MapCache = MapCache; + +/** Used as the size to enable large array optimizations. */ + +var LARGE_ARRAY_SIZE = 200; +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + +function stackSet(key, value) { + var data = this.__data__; + + if (data instanceof _ListCache) { + var pairs = data.__data__; + + if (!_Map || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + + data = this.__data__ = new _MapCache(pairs); + } + + data.set(key, value); + this.size = data.size; + return this; +} + +var _stackSet = stackSet; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + +function Stack(entries) { + var data = this.__data__ = new _ListCache(entries); + this.size = data.size; +} // Add methods to `Stack`. + + +Stack.prototype.clear = _stackClear; +Stack.prototype['delete'] = _stackDelete; +Stack.prototype.get = _stackGet; +Stack.prototype.has = _stackHas; +Stack.prototype.set = _stackSet; +var _Stack = Stack; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + + return this; +} + +var _setCacheAdd = setCacheAdd; + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +var _setCacheHas = setCacheHas; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + this.__data__ = new _MapCache(); + + while (++index < length) { + this.add(values[index]); + } +} // Add methods to `SetCache`. + + +SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd; +SetCache.prototype.has = _setCacheHas; +var _SetCache = SetCache; + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + + return false; +} + +var _arraySome = arraySome; + +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +var _cacheHas = cacheHas; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$5 = 1, + COMPARE_UNORDERED_FLAG$3 = 2; +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } // Check that cyclic values are equal. + + + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + + var index = -1, + result = true, + seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new _SetCache() : undefined; + stack.set(array, other); + stack.set(other, array); // Ignore non-index properties. + + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + + if (compared !== undefined) { + if (compared) { + continue; + } + + result = false; + break; + } // Recursively compare arrays (susceptible to call stack limits). + + + if (seen) { + if (!_arraySome(other, function (othValue, othIndex) { + if (!_cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + + stack['delete'](array); + stack['delete'](other); + return result; +} + +var _equalArrays = equalArrays; + +/** Built-in value references. */ + +var Uint8Array = _root.Uint8Array; +var _Uint8Array = Uint8Array; + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + map.forEach(function (value, key) { + result[++index] = [key, value]; + }); + return result; +} + +var _mapToArray = mapToArray; + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + set.forEach(function (value) { + result[++index] = value; + }); + return result; +} + +var _setToArray = setToArray; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$4 = 1, + COMPARE_UNORDERED_FLAG$2 = 2; +/** `Object#toString` result references. */ + +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag$1 = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag$1 = '[object Set]', + stringTag = '[object String]', + symbolTag$1 = '[object Symbol]'; +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag$1 = '[object DataView]'; +/** Used to convert symbols to primitives and strings. */ + +var symbolProto$1 = _Symbol ? _Symbol.prototype : undefined, + symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag$1: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) { + return false; + } + + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq_1(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == other + ''; + + case mapTag$1: + var convert = _mapToArray; + + case setTag$1: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; + convert || (convert = _setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } // Assume cyclic values are equal. + + + var stacked = stack.get(object); + + if (stacked) { + return stacked == other; + } + + bitmask |= COMPARE_UNORDERED_FLAG$2; // Recursively compare objects (susceptible to call stack limits). + + stack.set(object, other); + var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag$1: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + + } + + return false; +} + +var _equalByTag = equalByTag; + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + + return array; +} + +var _arrayPush = arrayPush; + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object)); +} + +var _baseGetAllKeys = baseGetAllKeys; + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + + return result; +} + +var _arrayFilter = arrayFilter; + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +var stubArray_1 = stubArray; + +/** Used for built-in method references. */ + +var objectProto$4 = Object.prototype; +/** Built-in value references. */ + +var propertyIsEnumerable = objectProto$4.propertyIsEnumerable; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeGetSymbols = Object.getOwnPropertySymbols; +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + +var getSymbols = !nativeGetSymbols ? stubArray_1 : function (object) { + if (object == null) { + return []; + } + + object = Object(object); + return _arrayFilter(nativeGetSymbols(object), function (symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; +var _getSymbols = getSymbols; + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + +function getAllKeys(object) { + return _baseGetAllKeys(object, keys_1, _getSymbols); +} + +var _getAllKeys = getAllKeys; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$3 = 1; +/** Used for built-in method references. */ + +var objectProto$3 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$3 = objectProto$3.hasOwnProperty; +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, + objProps = _getAllKeys(object), + objLength = objProps.length, + othProps = _getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + + var index = objLength; + + while (index--) { + var key = objProps[index]; + + if (!(isPartial ? key in other : hasOwnProperty$3.call(other, key))) { + return false; + } + } // Check that cyclic values are equal. + + + var objStacked = stack.get(object); + var othStacked = stack.get(other); + + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } // Recursively compare objects (susceptible to call stack limits). + + + if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + + skipCtor || (skipCtor = key == 'constructor'); + } + + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. + + if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + + stack['delete'](object); + stack['delete'](other); + return result; +} + +var _equalObjects = equalObjects; + +/* Built-in method references that are verified to be native. */ + +var DataView = _getNative(_root, 'DataView'); +var _DataView = DataView; + +/* Built-in method references that are verified to be native. */ + +var Promise$1 = _getNative(_root, 'Promise'); +var _Promise = Promise$1; + +/* Built-in method references that are verified to be native. */ + +var Set$1 = _getNative(_root, 'Set'); +var _Set = Set$1; + +/* Built-in method references that are verified to be native. */ + +var WeakMap$1 = _getNative(_root, 'WeakMap'); +var _WeakMap = WeakMap$1; + +/** `Object#toString` result references. */ + +var mapTag = '[object Map]', + objectTag$1 = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; +var dataViewTag = '[object DataView]'; +/** Used to detect maps, sets, and weakmaps. */ + +var dataViewCtorString = _toSource(_DataView), + mapCtorString = _toSource(_Map), + promiseCtorString = _toSource(_Promise), + setCtorString = _toSource(_Set), + weakMapCtorString = _toSource(_WeakMap); +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + +var getTag = _baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + +if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag || _Map && getTag(new _Map()) != mapTag || _Promise && getTag(_Promise.resolve()) != promiseTag || _Set && getTag(new _Set()) != setTag || _WeakMap && getTag(new _WeakMap()) != weakMapTag) { + getTag = function (value) { + var result = _baseGetTag(value), + Ctor = result == objectTag$1 ? value.constructor : undefined, + ctorString = Ctor ? _toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + + case mapCtorString: + return mapTag; + + case promiseCtorString: + return promiseTag; + + case setCtorString: + return setTag; + + case weakMapCtorString: + return weakMapTag; + } + } + + return result; + }; +} + +var _getTag = getTag; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$2 = 1; +/** `Object#toString` result references. */ + +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; +/** Used for built-in method references. */ + +var objectProto$2 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$2 = objectProto$2.hasOwnProperty; +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray_1(object), + othIsArr = isArray_1(other), + objTag = objIsArr ? arrayTag : _getTag(object), + othTag = othIsArr ? arrayTag : _getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer_1(object)) { + if (!isBuffer_1(other)) { + return false; + } + + objIsArr = true; + objIsObj = false; + } + + if (isSameTag && !objIsObj) { + stack || (stack = new _Stack()); + return objIsArr || isTypedArray_1(object) ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + + if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { + var objIsWrapped = objIsObj && hasOwnProperty$2.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty$2.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new _Stack()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + + if (!isSameTag) { + return false; + } + + stack || (stack = new _Stack()); + return _equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +var _baseIsEqualDeep = baseIsEqualDeep; + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + + if (value == null || other == null || !isObjectLike_1(value) && !isObjectLike_1(other)) { + return value !== value && other !== other; + } + + return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +var _baseIsEqual = baseIsEqual; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG$1 = 1, + COMPARE_UNORDERED_FLAG$1 = 2; +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + + object = Object(object); + + while (index--) { + var data = matchData[index]; + + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new _Stack(); + + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + + if (!(result === undefined ? _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { + return false; + } + } + } + + return true; +} + +var _baseIsMatch = baseIsMatch; + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + +function isStrictComparable(value) { + return value === value && !isObject_1(value); +} + +var _isStrictComparable = isStrictComparable; + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + +function getMatchData(object) { + var result = keys_1(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + result[length] = [key, value, _isStrictComparable(value)]; + } + + return result; +} + +var _getMatchData = getMatchData; + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function (object) { + if (object == null) { + return false; + } + + return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); + }; +} + +var _matchesStrictComparable = matchesStrictComparable; + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + +function baseMatches(source) { + var matchData = _getMatchData(source); + + if (matchData.length == 1 && matchData[0][2]) { + return _matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + + return function (object) { + return object === source || _baseIsMatch(object, source, matchData); + }; +} + +var _baseMatches = baseMatches; + +/** `Object#toString` result references. */ + +var symbolTag = '[object Symbol]'; +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + +function isSymbol(value) { + return typeof value == 'symbol' || isObjectLike_1(value) && _baseGetTag(value) == symbolTag; +} + +var isSymbol_1 = isSymbol; + +/** Used to match property names within property paths. */ + +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + +function isKey(value, object) { + if (isArray_1(value)) { + return false; + } + + var type = typeof value; + + if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol_1(value)) { + return true; + } + + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); +} + +var _isKey = isKey; + +/** Error message constants. */ + +var FUNC_ERROR_TEXT = 'Expected a function'; +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + +function memoize(func, resolver) { + if (typeof func != 'function' || resolver != null && typeof resolver != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + + var memoized = function () { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + + memoized.cache = new (memoize.Cache || _MapCache)(); + return memoized; +} // Expose `MapCache`. + + +memoize.Cache = _MapCache; +var memoize_1 = memoize; + +/** Used as the maximum memoize cache size. */ + +var MAX_MEMOIZE_SIZE = 500; +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + +function memoizeCapped(func) { + var result = memoize_1(func, function (key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + + return key; + }); + var cache = result.cache; + return result; +} + +var _memoizeCapped = memoizeCapped; + +/** Used to match property names within property paths. */ + +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; +/** Used to match backslashes in property paths. */ + +var reEscapeChar = /\\(\\)?/g; +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + +var stringToPath = _memoizeCapped(function (string) { + var result = []; + + if (string.charCodeAt(0) === 46 + /* . */ + ) { + result.push(''); + } + + string.replace(rePropName, function (match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match); + }); + return result; +}); +var _stringToPath = stringToPath; + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + + return result; +} + +var _arrayMap = arrayMap; + +/** Used as references for various `Number` constants. */ + +var INFINITY$1 = 1 / 0; +/** Used to convert symbols to primitives and strings. */ + +var symbolProto = _Symbol ? _Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + + if (isArray_1(value)) { + // Recursively convert values (susceptible to call stack limits). + return _arrayMap(value, baseToString) + ''; + } + + if (isSymbol_1(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY$1 ? '-0' : result; +} + +var _baseToString = baseToString; + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + +function toString(value) { + return value == null ? '' : _baseToString(value); +} + +var toString_1 = toString; + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + +function castPath(value, object) { + if (isArray_1(value)) { + return value; + } + + return _isKey(value, object) ? [value] : _stringToPath(toString_1(value)); +} + +var _castPath = castPath; + +/** Used as references for various `Number` constants. */ + +var INFINITY = 1 / 0; +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + +function toKey(value) { + if (typeof value == 'string' || isSymbol_1(value)) { + return value; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; +} + +var _toKey = toKey; + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + +function baseGet(object, path) { + path = _castPath(path, object); + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[_toKey(path[index++])]; + } + + return index && index == length ? object : undefined; +} + +var _baseGet = baseGet; + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + +function get(object, path, defaultValue) { + var result = object == null ? undefined : _baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +var get_1 = get; + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +var _baseHasIn = baseHasIn; + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + +function hasPath(object, path, hasFunc) { + path = _castPath(path, object); + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = _toKey(path[index]); + + if (!(result = object != null && hasFunc(object, key))) { + break; + } + + object = object[key]; + } + + if (result || ++index != length) { + return result; + } + + length = object == null ? 0 : object.length; + return !!length && isLength_1(length) && _isIndex(key, length) && (isArray_1(object) || isArguments_1(object)); +} + +var _hasPath = hasPath; + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + +function hasIn(object, path) { + return object != null && _hasPath(object, path, _baseHasIn); +} + +var hasIn_1 = hasIn; + +/** Used to compose bitmasks for value comparisons. */ + +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + +function baseMatchesProperty(path, srcValue) { + if (_isKey(path) && _isStrictComparable(srcValue)) { + return _matchesStrictComparable(_toKey(path), srcValue); + } + + return function (object) { + var objValue = get_1(object, path); + return objValue === undefined && objValue === srcValue ? hasIn_1(object, path) : _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +var _baseMatchesProperty = baseMatchesProperty; + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +var identity_1 = identity; + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function (object) { + return object == null ? undefined : object[key]; + }; +} + +var _baseProperty = baseProperty; + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + +function basePropertyDeep(path) { + return function (object) { + return _baseGet(object, path); + }; +} + +var _basePropertyDeep = basePropertyDeep; + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ + +function property(path) { + return _isKey(path) ? _baseProperty(_toKey(path)) : _basePropertyDeep(path); +} + +var property_1 = property; + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + + if (value == null) { + return identity_1; + } + + if (typeof value == 'object') { + return isArray_1(value) ? _baseMatchesProperty(value[0], value[1]) : _baseMatches(value); + } + + return property_1(value); +} + +var _baseIteratee = baseIteratee; + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + +function createAggregator(setter, initializer) { + return function (collection, iteratee) { + var func = isArray_1(collection) ? _arrayAggregator : _baseAggregator, + accumulator = initializer ? initializer() : {}; + return func(collection, setter, _baseIteratee(iteratee), accumulator); + }; +} + +var _createAggregator = createAggregator; + +/** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + +var partition = _createAggregator(function (result, value, key) { + result[key ? 0 : 1].push(value); +}, function () { + return [[], []]; +}); +var partition_1 = partition; + +var createMinimistOptions = function createMinimistOptions(detailedOptions) { + const [boolean, string] = partition_1(detailedOptions, ({ + type + }) => type === "boolean").map(detailedOptions => detailedOptions.flatMap(({ + name, + alias + }) => alias ? [name, alias] : [name])); + const defaults = Object.fromEntries(detailedOptions.filter(option => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== undefined).map(option => [option.name, option.default])); + return { + // we use vnopts' AliasSchema to handle aliases for better error messages + alias: {}, + boolean, + string, + default: defaults + }; +}; + +const { + optionsNormalizer +} = prettierInternal; + +function getOptions(argv, detailedOptions) { + return Object.fromEntries(detailedOptions.filter(({ + forwardToApi + }) => forwardToApi).map(({ + forwardToApi, + name + }) => [forwardToApi, argv[name]])); +} + +function cliifyOptions(object, apiDetailedOptionMap) { + return Object.fromEntries(Object.entries(object || {}).map(([key, value]) => { + const apiOption = apiDetailedOptionMap[key]; + const cliKey = apiOption ? apiOption.name : key; + return [dashify(cliKey), value]; + })); +} + +function createApiDetailedOptionMap(detailedOptions) { + return Object.fromEntries(detailedOptions.filter(option => option.forwardToApi && option.forwardToApi !== option.name).map(option => [option.forwardToApi, option])); +} + +function parseArgsToOptions(context, overrideDefaults) { + const minimistOptions = createMinimistOptions(context.detailedOptions); + const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions); + return getOptions(optionsNormalizer.normalizeCliOptions(minimist_1(context.rawArguments, { + string: minimistOptions.string, + boolean: minimistOptions.boolean, + default: cliifyOptions(overrideDefaults, apiDetailedOptionMap) + }), context.detailedOptions, { + logger: false + }), context.detailedOptions); +} + +async function getOptionsOrDie(context, filePath) { + try { + if (context.argv.config === false) { + context.logger.debug("'--no-config' option found, skip loading config file."); + return null; + } + + context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`); + const options = await prettier$1.resolveConfig(filePath, { + editorconfig: context.argv.editorconfig, + config: context.argv.config + }); + context.logger.debug("loaded options `" + JSON.stringify(options) + "`"); + return options; + } catch (error) { + context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message); + process.exit(2); + } +} + +function applyConfigPrecedence(context, options) { + try { + switch (context.argv["config-precedence"]) { + case "cli-override": + return parseArgsToOptions(context, options); + + case "file-override": + return Object.assign(Object.assign({}, parseArgsToOptions(context)), options); + + case "prefer-file": + return options || parseArgsToOptions(context); + } + } catch (error) { + /* istanbul ignore next */ + context.logger.error(error.toString()); + /* istanbul ignore next */ + + process.exit(2); + } +} + +async function getOptionsForFile$1(context, filepath) { + const options = await getOptionsOrDie(context, filepath); + const hasPlugins = options && options.plugins; + + if (hasPlugins) { + context.pushContextPlugins(options.plugins); + } + + const appliedOptions = Object.assign({ + filepath + }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, { + logger: context.logger + }))); + context.logger.debug(`applied config-precedence (${context.argv["config-precedence"]}): ` + `${JSON.stringify(appliedOptions)}`); + + if (hasPlugins) { + context.popContextPlugins(); + } + + return appliedOptions; +} + +var option = { + getOptionsForFile: getOptionsForFile$1, + createMinimistOptions }; const { isCI -} = thirdParty; // Some CI pipelines incorrectly report process.stdout.isTTY status, +} = require$$1; // Some CI pipelines incorrectly report process.stdout.isTTY status, // which causes unwanted lines in the output. An additional check for isCI() helps. // See https://github.com/prettier/prettier/issues/5801 @@ -14050,268 +14066,360 @@ var isTty = function isTTY() { return process.stdout.isTTY && !isCI(); }; -function Diff() {} +/*istanbul ignore start*/ +var base = createCommonjsModule(function (module, exports) { -Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var callback = options.callback; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = Diff; + /*istanbul ignore end*/ - if (typeof options === 'function') { - callback = options; - options = {}; - } + function Diff() {} + + Diff.prototype = { + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + diff: function diff(oldString, newString) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ + newPos: -1, + components: [] + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Main worker method. checks all permutations of a given edit length for acceptance. + + + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = + /*istanbul ignore start*/ + void 0 + /*istanbul ignore end*/ + ; + + var addPath = bestPath[diagonalPath - 1], + removePath = bestPath[diagonalPath + 1], + _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + + if (addPath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = addPath && addPath.newPos + 1 < newLen, + canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the new string is the farthest from the origin + // and does not pass the bounds of the diff graph + + + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, undefined, true); + } else { + basePath = addPath; // No need to clone, we've pulled it from the list + + basePath.newPos++; + self.pushComponent(basePath.components, true, undefined); + } + + _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done + + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); + } else { + // Otherwise track this path as a potential candidate and continue. + bestPath[diagonalPath] = basePath; + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced. - this.options = options; - var self = this; - function done(value) { if (callback) { - setTimeout(function () { - callback(undefined, value); - }, 0); - return true; + (function exec() { + setTimeout(function () { + // This should not happen, but we want to be safe. + + /* istanbul ignore next */ + if (editLength > maxEditLength) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); } else { - return value; - } - } // Allow subclasses to massage the input prior to running + while (editLength <= maxEditLength) { + var ret = execEditLength(); - - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, - oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - var bestPath = [{ - newPos: -1, - components: [] - }]; // Seed editLength = 0, i.e. the content starts with the same values - - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - // Identity per the equality and tokenizer - return done([{ - value: this.join(newString), - count: newString.length - }]); - } // Main worker method. checks all permutations of a given edit length for acceptance. - - - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - - var addPath = bestPath[diagonalPath - 1], - removePath = bestPath[diagonalPath + 1], - _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - - if (addPath) { - // No one else is going to attempt to use this value, clear it - bestPath[diagonalPath - 1] = undefined; - } - - var canAdd = addPath && addPath.newPos + 1 < newLen, - canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - - if (!canAdd && !canRemove) { - // If this path is a terminal then prune - bestPath[diagonalPath] = undefined; - continue; - } // Select the diagonal that we want to branch from. We select the prior - // path whose position in the new string is the farthest from the origin - // and does not pass the bounds of the diff graph - - - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self.pushComponent(basePath.components, undefined, true); - } else { - basePath = addPath; // No need to clone, we've pulled it from the list - - basePath.newPos++; - self.pushComponent(basePath.components, true, undefined); - } - - _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done - - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); - } else { - // Otherwise track this path as a potential candidate and continue. - bestPath[diagonalPath] = basePath; - } - } - - editLength++; - } // Performs the length of edit iteration. Is a bit fugly as this has to support the - // sync and async mode which is never fun. Loops over execEditLength until a value - // is produced. - - - if (callback) { - (function exec() { - setTimeout(function () { - // This should not happen, but we want to be safe. - - /* istanbul ignore next */ - if (editLength > maxEditLength) { - return callback(); + if (ret) { + return ret; } - - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - - if (ret) { - return ret; } } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; + }, - if (last && last.added === added && last.removed === removed) { - // We need to clone here as the component clone operation is just - // as shallow array clone - components[components.length - 1] = { - count: last.count + 1, - added: added, - removed: removed - }; - } else { - components.push({ - count: 1, - added: added, - removed: removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, - oldLen = oldString.length, - newPos = basePath.newPos, - oldPos = newPos - diagonalPath, - commonCount = 0; + /*istanbul ignore start*/ - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } + /*istanbul ignore end*/ + pushComponent: function pushComponent(components, added, removed) { + var last = components[components.length - 1]; - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array) { - var ret = []; - - for (var i = 0; i < array.length; i++) { - if (array[i]) { - ret.push(array[i]); - } - } - - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(''); - }, - join: function join(chars) { - return chars.join(''); - } -}; - -function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, - componentLen = components.length, - newPos = 0, - oldPos = 0; - - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function (value, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value.length ? oldValue : value; + if (last && last.added === added && last.removed === removed) { + // We need to clone here as the component clone operation is just + // as shallow array clone + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed + }; + } else { + components.push({ + count: 1, + added: added, + removed: removed }); - component.value = diff.join(value); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + newPos = basePath.newPos, + oldPos = newPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + + basePath.newPos = newPos; + return oldPos; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } } - newPos += component.count; // Common case + return ret; + }, - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; // Reverse add and remove so removes are output first to match common convention - // The diffing algorithm is tied to add then remove output and this is the simplest - // route to get the desired output with minimal overhead. + /*istanbul ignore start*/ - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } + /*istanbul ignore end*/ + castInput: function castInput(value) { + return value; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + tokenize: function tokenize(value) { + return value.split(''); + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + join: function join(chars) { + return chars.join(''); } - } // Special case handle for when one terminal is ignored (i.e. whitespace). - // For this case we merge the terminal into the prior string and drop the change. - // This is only available for string mode. + }; + + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. - var lastComponent = components[componentLen - 1]; + var lastComponent = components[componentLen - 1]; - if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); + if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + + return components; } - return components; -} + function clonePath(path) { + return { + newPos: path.newPos, + components: path.components.slice(0) + }; + } +}); -function clonePath(path) { - return { - newPos: path.newPos, - components: path.components.slice(0) - }; -} +/*istanbul ignore start*/ +var character = createCommonjsModule(function (module, exports) { -var characterDiff = new Diff(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffChars = diffChars; + exports.characterDiff = void 0; + /*istanbul ignore end*/ -function diffChars(oldStr, newStr, options) { - return characterDiff.diff(oldStr, newStr, options); -} + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var characterDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.characterDiff = characterDiff; + /*istanbul ignore end*/ + + function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); + } +}); + +/*istanbul ignore start*/ + +var generateOptions_1 = generateOptions; +/*istanbul ignore end*/ function generateOptions(options, defaults) { if (typeof options === 'function') { @@ -14326,267 +14434,553 @@ function generateOptions(options, defaults) { } return defaults; -} // -// Ranges and exceptions: -// Latin-1 Supplement, 0080–00FF -// - U+00D7 × Multiplication sign -// - U+00F7 ÷ Division sign -// Latin Extended-A, 0100–017F -// Latin Extended-B, 0180–024F -// IPA Extensions, 0250–02AF -// Spacing Modifier Letters, 02B0–02FF -// - U+02C7 ˇ ˇ Caron -// - U+02D8 ˘ ˘ Breve -// - U+02D9 ˙ ˙ Dot Above -// - U+02DA ˚ ˚ Ring Above -// - U+02DB ˛ ˛ Ogonek -// - U+02DC ˜ ˜ Small Tilde -// - U+02DD ˝ ˝ Double Acute Accent -// Latin Extended Additional, 1E00–1EFF +} +var params = /*#__PURE__*/Object.defineProperty({ + generateOptions: generateOptions_1 +}, '__esModule', { + value: true +}); -var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; -var reWhitespace = /\S/; -var wordDiff = new Diff(); +/*istanbul ignore start*/ +var word = createCommonjsModule(function (module, exports) { -wordDiff.equals = function (left, right) { - if (this.options.ignoreCase) { - left = left.toLowerCase(); - right = right.toLowerCase(); - } - - return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); -}; - -wordDiff.tokenize = function (value) { - var tokens = value.split(/(\s+|[()[\]{}'"]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. - - for (var i = 0; i < tokens.length - 1; i++) { - // If we have an empty string in the next field and we have only word chars before and after, merge - if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { - tokens[i] += tokens[i + 2]; - tokens.splice(i + 1, 2); - i--; - } - } - - return tokens; -}; - -function diffWords(oldStr, newStr, options) { - options = generateOptions(options, { - ignoreWhitespace: true + Object.defineProperty(exports, "__esModule", { + value: true }); - return wordDiff.diff(oldStr, newStr, options); -} + exports.diffWords = diffWords; + exports.diffWordsWithSpace = diffWordsWithSpace; + exports.wordDiff = void 0; + /*istanbul ignore end*/ -function diffWordsWithSpace(oldStr, newStr, options) { - return wordDiff.diff(oldStr, newStr, options); -} - -var lineDiff = new Diff(); - -lineDiff.tokenize = function (value) { - var retLines = [], - linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line - - if (!linesAndNewlines[linesAndNewlines.length - 1]) { - linesAndNewlines.pop(); - } // Merge the content and line separators into single tokens + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ - for (var i = 0; i < linesAndNewlines.length; i++) { - var line = linesAndNewlines[i]; + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + // Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode + // + // Ranges and exceptions: + // Latin-1 Supplement, 0080–00FF + // - U+00D7 × Multiplication sign + // - U+00F7 ÷ Division sign + // Latin Extended-A, 0100–017F + // Latin Extended-B, 0180–024F + // IPA Extensions, 0250–02AF + // Spacing Modifier Letters, 02B0–02FF + // - U+02C7 ˇ ˇ Caron + // - U+02D8 ˘ ˘ Breve + // - U+02D9 ˙ ˙ Dot Above + // - U+02DA ˚ ˚ Ring Above + // - U+02DB ˛ ˛ Ogonek + // - U+02DC ˜ ˜ Small Tilde + // - U+02DD ˝ ˝ Double Acute Accent + // Latin Extended Additional, 1E00–1EFF - if (i % 2 && !this.options.newlineIsToken) { - retLines[retLines.length - 1] += line; + + var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; + var reWhitespace = /\S/; + var wordDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.wordDiff = wordDiff; + /*istanbul ignore end*/ + + wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + }; + + wordDiff.tokenize = function (value) { + // All whitespace symbols except newline group into one token, each newline - in separate token + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; + }; + + function diffWords(oldStr, newStr, options) { + options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); + } + + function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); + } +}); + +/*istanbul ignore start*/ +var line = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffLines = diffLines; + exports.diffTrimmedLines = diffTrimmedLines; + exports.lineDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var lineDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.lineDiff = lineDiff; + /*istanbul ignore end*/ + + lineDiff.tokenize = function (value) { + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; + }; + + function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); + } + + function diffTrimmedLines(oldStr, newStr, callback) { + var options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); + } +}); + +/*istanbul ignore start*/ +var sentence = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffSentences = diffSentences; + exports.sentenceDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var sentenceDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.sentenceDiff = sentenceDiff; + /*istanbul ignore end*/ + + sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); + }; + + function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); + } +}); + +/*istanbul ignore start*/ +var css = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffCss = diffCss; + exports.cssDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var cssDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.cssDiff = cssDiff; + /*istanbul ignore end*/ + + cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); + }; + + function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); + } +}); + +var json = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffJson = diffJson; + exports.canonicalize = canonicalize; + exports.jsonDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + + function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; } else { - if (this.options.ignoreWhitespace) { - line = line.trim(); + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); + } + /*istanbul ignore end*/ + + + var objectPrototypeToString = Object.prototype.toString; + var jsonDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a + // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + + /*istanbul ignore start*/ + + exports.jsonDiff = jsonDiff; + /*istanbul ignore end*/ + + jsonDiff.useLongestToken = true; + jsonDiff.tokenize = + /*istanbul ignore start*/ + line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + lineDiff + /*istanbul ignore end*/ + .tokenize; + + jsonDiff.castInput = function (value) { + /*istanbul ignore start*/ + var _this$options = + /*istanbul ignore end*/ + this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + typeof v === 'undefined' ? undefinedReplacement : v + ); + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); + }; + + jsonDiff.equals = function (left, right) { + return ( + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')) + ); + }; + + function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); + } // This function handles the presence of circular references by bailing out when encountering an + // object that is already on the "stack" of items being processed. Accepts an optional replacer + + + function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); } - retLines.push(line); - } - } - - return retLines; -}; - -function diffLines(oldStr, newStr, callback) { - return lineDiff.diff(oldStr, newStr, callback); -} - -function diffTrimmedLines(oldStr, newStr, callback) { - var options = generateOptions(callback, { - ignoreWhitespace: true - }); - return lineDiff.diff(oldStr, newStr, options); -} - -var sentenceDiff = new Diff(); - -sentenceDiff.tokenize = function (value) { - return value.split(/(\S.+?[.!?])(?=\s+|$)/); -}; - -function diffSentences(oldStr, newStr, callback) { - return sentenceDiff.diff(oldStr, newStr, callback); -} - -var cssDiff = new Diff(); - -cssDiff.tokenize = function (value) { - return value.split(/([{}:;,]|\s+)/); -}; - -function diffCss(oldStr, newStr, callback) { - return cssDiff.diff(oldStr, newStr, callback); -} - -function _typeof(obj) { - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { - return typeof obj; - }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); -} - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - - return arr2; - } -} - -function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); -} - -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); -} - -var objectPrototypeToString = Object.prototype.toString; -var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a -// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: - -jsonDiff.useLongestToken = true; -jsonDiff.tokenize = lineDiff.tokenize; - -jsonDiff.castInput = function (value) { - var _this$options = this.options, - undefinedReplacement = _this$options.undefinedReplacement, - _this$options$stringi = _this$options.stringifyReplacer, - stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) { - return typeof v === 'undefined' ? undefinedReplacement : v; - } : _this$options$stringi; - return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); -}; - -jsonDiff.equals = function (left, right) { - return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); -}; - -function diffJson(oldObj, newObj, options) { - return jsonDiff.diff(oldObj, newObj, options); -} // This function handles the presence of circular references by bailing out when encountering an -// object that is already on the "stack" of items being processed. Accepts an optional replacer - - -function canonicalize(obj, stack, replacementStack, replacer, key) { - stack = stack || []; - replacementStack = replacementStack || []; - - if (replacer) { - obj = replacer(key, obj); - } - - var i; - - for (i = 0; i < stack.length; i += 1) { - if (stack[i] === obj) { - return replacementStack[i]; - } - } - - var canonicalizedObj; - - if ('[object Array]' === objectPrototypeToString.call(obj)) { - stack.push(obj); - canonicalizedObj = new Array(obj.length); - replacementStack.push(canonicalizedObj); - - for (i = 0; i < obj.length; i += 1) { - canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if ( + /*istanbul ignore start*/ + _typeof( + /*istanbul ignore end*/ + obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; } - stack.pop(); - replacementStack.pop(); return canonicalizedObj; } +}); - if (obj && obj.toJSON) { - obj = obj.toJSON(); +/*istanbul ignore start*/ +var array$1 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffArrays = diffArrays; + exports.arrayDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; } + /*istanbul ignore end*/ - if (_typeof(obj) === 'object' && obj !== null) { - stack.push(obj); - canonicalizedObj = {}; - replacementStack.push(canonicalizedObj); - var sortedKeys = [], - _key; + var arrayDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ - for (_key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(_key)) { - sortedKeys.push(_key); - } - } + exports.arrayDiff = arrayDiff; + /*istanbul ignore end*/ - sortedKeys.sort(); + arrayDiff.tokenize = function (value) { + return value.slice(); + }; - for (i = 0; i < sortedKeys.length; i += 1) { - _key = sortedKeys[i]; - canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); - } + arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; + }; - stack.pop(); - replacementStack.pop(); - } else { - canonicalizedObj = obj; + function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); } +}); - return canonicalizedObj; -} +/*istanbul ignore start*/ -var arrayDiff = new Diff(); - -arrayDiff.tokenize = function (value) { - return value.slice(); -}; - -arrayDiff.join = arrayDiff.removeEmpty = function (value) { - return value; -}; - -function diffArrays(oldArr, newArr, callback) { - return arrayDiff.diff(oldArr, newArr, callback); -} +var parsePatch_1 = parsePatch; +/*istanbul ignore end*/ function parsePatch(uniDiff) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], list = [], @@ -14664,12 +15058,23 @@ function parsePatch(uniDiff) { chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); var hunk = { oldStart: +chunkHeader[1], - oldLines: +chunkHeader[2] || 1, + oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], newStart: +chunkHeader[3], - newLines: +chunkHeader[4] || 1, + newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], lines: [], linedelimiters: [] - }; + }; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + var addCount = 0, removeCount = 0; @@ -14727,57 +15132,113 @@ function parsePatch(uniDiff) { } return list; -} // Iterator that traverses in the range of [min, max], stepping -// by distance from a given start position. I.e. for [0, 4], with -// start of 2, this will iterate 2, 3, 1, 4, 0. - - -function distanceIterator(start, minLine, maxLine) { - var wantForward = true, - backwardExhausted = false, - forwardExhausted = false, - localOffset = 1; - return function iterator() { - if (wantForward && !forwardExhausted) { - if (backwardExhausted) { - localOffset++; - } else { - wantForward = false; - } // Check if trying to fit beyond text length, and if not, check it fits - // after offset location (or desired location on first iteration) - - - if (start + localOffset <= maxLine) { - return localOffset; - } - - forwardExhausted = true; - } - - if (!backwardExhausted) { - if (!forwardExhausted) { - wantForward = true; - } // Check if trying to fit before text beginning, and if not, check it fits - // before offset location - - - if (minLine <= start - localOffset) { - return -localOffset++; - } - - backwardExhausted = true; - return iterator(); - } // We tried to fit hunk before text beginning and beyond text length, then - // hunk can't fit on the text. Return undefined - - }; } +var parse = /*#__PURE__*/Object.defineProperty({ + parsePatch: parsePatch_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ +var distanceIterator = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = _default; + /*istanbul ignore end*/ + // Iterator that traverses in the range of [min, max], stepping + // by distance from a given start position. I.e. for [0, 4], with + // start of 2, this will iterate 2, 3, 1, 4, 0. + + function + /*istanbul ignore start*/ + _default + /*istanbul ignore end*/ + (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; + } +}); + +/*istanbul ignore start*/ + +var applyPatch_1 = applyPatch; +var applyPatches_1 = applyPatches; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_distanceIterator = _interopRequireDefault(distanceIterator) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + function applyPatch(source, uniDiff) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); } if (Array.isArray(uniDiff)) { @@ -14792,8 +15253,13 @@ function applyPatch(source, uniDiff) { var lines = source.split(/\r\n|[\n\v\f\r\x85]/), delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], hunks = uniDiff.hunks, - compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) { - return line === patchContent; + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + line === patchContent + ); }, errorCount = 0, fuzzFactor = options.fuzzFactor || 0, @@ -14835,7 +15301,18 @@ function applyPatch(source, uniDiff) { maxLine = lines.length - hunk.oldLines, localOffset = 0, toPos = offset + hunk.oldStart - 1; - var iterator = distanceIterator(toPos, minLine, maxLine); + var iterator = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _distanceIterator + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ])(toPos, minLine, maxLine); for (; localOffset !== undefined; localOffset = iterator()) { if (hunkFits(hunk, toPos + localOffset)) { @@ -14862,11 +15339,6 @@ function applyPatch(source, uniDiff) { diffOffset += _hunk.newLines - _hunk.oldLines; - if (_toPos < 0) { - // Creating a new file - _toPos = 0; - } - for (var j = 0; j < _hunk.lines.length; j++) { var line = _hunk.lines[j], operation = line.length > 0 ? line[0] : ' ', @@ -14916,7 +15388,18 @@ function applyPatch(source, uniDiff) { function applyPatches(uniDiff, options) { if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); } var currentIndex = 0; @@ -14947,6 +15430,60 @@ function applyPatches(uniDiff, options) { processIndex(); } +var apply$1 = /*#__PURE__*/Object.defineProperty({ + applyPatch: applyPatch_1, + applyPatches: applyPatches_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var structuredPatch_1 = structuredPatch; +var formatPatch_1 = formatPatch; +var createTwoFilesPatch_1 = createTwoFilesPatch; +var createPatch_1 = createPatch; +/*istanbul ignore end*/ + +/*istanbul ignore start*/ + +function _toConsumableArray$1(arr) { + return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); +} + +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray$1(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); +} + +function _iterableToArray$1(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles$1(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); +} + +function _arrayLikeToArray$1(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { if (!options) { options = {}; @@ -14956,7 +15493,18 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne options.context = 4; } - var diff = diffLines(oldStr, newStr, options); + var diff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + diffLines + /*istanbul ignore end*/ + )(oldStr, newStr, options); diff.push({ value: '', lines: [] @@ -14974,14 +15522,20 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne curRange = [], oldLine = 1, newLine = 1; + /*istanbul ignore start*/ - var _loop = function _loop(i) { + var _loop = function _loop( + /*istanbul ignore end*/ + i) { var current = diff[i], lines = current.lines || current.value.replace(/\n$/, '').split('\n'); current.lines = lines; if (current.added || current.removed) { - var _curRange; // If we have previous context, start with that + /*istanbul ignore start*/ + var _curRange; + /*istanbul ignore end*/ + // If we have previous context, start with that if (!oldRangeStart) { @@ -14996,8 +15550,24 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne } } // Output our changes + /*istanbul ignore start*/ - (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) { + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_curRange = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + lines.map(function (entry) { return (current.added ? '+' : '-') + entry; }))); // Track the updated file position @@ -15012,17 +15582,54 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne if (oldRangeStart) { // Close out any changes that have been output (or join overlapping) if (lines.length <= options.context * 2 && i < diff.length - 2) { - var _curRange2; // Overlapping + /*istanbul ignore start*/ + var _curRange2; + /*istanbul ignore end*/ + // Overlapping + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + (_curRange2 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines))); } else { - var _curRange3; // end the range and output + /*istanbul ignore start*/ + var _curRange3; + /*istanbul ignore end*/ + // end the range and output var contextSize = Math.min(lines.length, options.context); + /*istanbul ignore start*/ - (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + (_curRange3 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines.slice(0, contextSize)))); var hunk = { oldStart: oldRangeStart, @@ -15038,8 +15645,9 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne var newEOFNewline = /\n$/.test(newStr); var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; - if (!oldEOFNewline && noNlBeforeAdds) { + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); } @@ -15061,7 +15669,10 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne }; for (var i = 0; i < diff.length; i++) { - _loop(i); + /*istanbul ignore start*/ + _loop( + /*istanbul ignore end*/ + i); } return { @@ -15073,12 +15684,11 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne }; } -function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - var diff = structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options); +function formatPatch(diff) { var ret = []; - if (oldFileName == newFileName) { - ret.push('Index: ' + oldFileName); + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); } ret.push('==================================================================='); @@ -15086,7 +15696,18 @@ function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); for (var i = 0; i < diff.hunks.length; i++) { - var hunk = diff.hunks[i]; + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); ret.push.apply(ret, hunk.lines); } @@ -15094,10 +15715,29 @@ function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader return ret.join('\n') + '\n'; } +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} + function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); } +var create = /*#__PURE__*/Object.defineProperty({ + structuredPatch: structuredPatch_1, + formatPatch: formatPatch_1, + createTwoFilesPatch: createTwoFilesPatch_1, + createPatch: createPatch_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var arrayEqual_1 = arrayEqual; +var arrayStartsWith_1 = arrayStartsWith; +/*istanbul ignore end*/ + function arrayEqual(a, b) { if (a.length !== b.length) { return false; @@ -15120,8 +15760,63 @@ function arrayStartsWith(array, start) { return true; } +var array = /*#__PURE__*/Object.defineProperty({ + arrayEqual: arrayEqual_1, + arrayStartsWith: arrayStartsWith_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var calcLineCount_1 = calcLineCount; +var merge_2 = merge; +/*istanbul ignore end*/ + +/*istanbul ignore start*/ + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + function calcLineCount(hunk) { - var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), + /*istanbul ignore start*/ + var _calcOldNewLineCount = + /*istanbul ignore end*/ + calcOldNewLineCount(hunk.lines), oldLines = _calcOldNewLineCount.oldLines, newLines = _calcOldNewLineCount.newLines; @@ -15217,14 +15912,38 @@ function merge(mine, theirs, base) { function loadPatch(param, base) { if (typeof param === 'string') { if (/^@@/m.test(param) || /^Index:/m.test(param)) { - return parsePatch(param)[0]; + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(param)[0] + ); } if (!base) { throw new Error('Must provide a base reference or pass in a patch'); } - return structuredPatch(undefined, undefined, base, param); + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, create + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + structuredPatch + /*istanbul ignore end*/ + )(undefined, undefined, base, param) + ); } return param; @@ -15285,15 +16004,53 @@ function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { // Both modified ... mutualChange(hunk, mine, their); } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { - var _hunk$lines; // Mine inserted + /*istanbul ignore start*/ + var _hunk$lines; + /*istanbul ignore end*/ + // Mine inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); + (_hunk$lines = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(mine))); } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { - var _hunk$lines2; // Theirs inserted + /*istanbul ignore start*/ + var _hunk$lines2; + /*istanbul ignore end*/ + // Theirs inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); + (_hunk$lines2 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(their))); } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { // Mine removed or edited removal(hunk, mine, their); @@ -15323,23 +16080,113 @@ function mutualChange(hunk, mine, their) { if (allRemoves(myChanges) && allRemoves(theirChanges)) { // Special case for remove changes that are supersets of one another - if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { - var _hunk$lines3; + if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); + /*istanbul ignore start*/ + 0, array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines3; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines3 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); return; - } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { - var _hunk$lines4; + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); + /*istanbul ignore start*/ + 0, array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines4; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines4 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines4 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges)); return; } - } else if (arrayEqual(myChanges, theirChanges)) { - var _hunk$lines5; + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); + /*istanbul ignore start*/ + 0, array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayEqual + /*istanbul ignore end*/ + )(myChanges, theirChanges)) { + /*istanbul ignore start*/ + var _hunk$lines5; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines5 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines5 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); return; } @@ -15352,9 +16199,28 @@ function removal(hunk, mine, their, swap) { theirChanges = collectContext(their, myChanges); if (theirChanges.merged) { + /*istanbul ignore start*/ var _hunk$lines6; + /*istanbul ignore end*/ - (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines6 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines6 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges.merged)); } else { conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); } @@ -15517,8 +16383,20 @@ function calcOldNewLineCount(lines) { oldLines: oldLines, newLines: newLines }; -} // See: http://code.google.com/p/google-diff-match-patch/wiki/API +} +var merge_1 = /*#__PURE__*/Object.defineProperty({ + calcLineCount: calcLineCount_1, + merge: merge_2 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var convertChangesToDMP_1 = convertChangesToDMP; +/*istanbul ignore end*/ +// See: http://code.google.com/p/google-diff-match-patch/wiki/API function convertChangesToDMP(changes) { var ret = [], @@ -15542,6 +16420,17 @@ function convertChangesToDMP(changes) { return ret; } +var dmp = /*#__PURE__*/Object.defineProperty({ + convertChangesToDMP: convertChangesToDMP_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var convertChangesToXML_1 = convertChangesToXML; +/*istanbul ignore end*/ + function convertChangesToXML(changes) { var ret = []; @@ -15575,88 +16464,190 @@ function escapeHTML(s) { return n; } -var index_es6 = /*#__PURE__*/Object.freeze({ - __proto__: null, - Diff: Diff, - diffChars: diffChars, - diffWords: diffWords, - diffWordsWithSpace: diffWordsWithSpace, - diffLines: diffLines, - diffTrimmedLines: diffTrimmedLines, - diffSentences: diffSentences, - diffCss: diffCss, - diffJson: diffJson, - diffArrays: diffArrays, - structuredPatch: structuredPatch, - createTwoFilesPatch: createTwoFilesPatch, - createPatch: createPatch, - applyPatch: applyPatch, - applyPatches: applyPatches, - parsePatch: parsePatch, - merge: merge, - convertChangesToDMP: convertChangesToDMP, - convertChangesToXML: convertChangesToXML, - canonicalize: canonicalize +var xml = /*#__PURE__*/Object.defineProperty({ + convertChangesToXML: convertChangesToXML_1 +}, '__esModule', { + value: true }); -var require$$3 = getCjsExportFromNamespace(index_es6); +/*istanbul ignore start*/ +var lib$1 = createCommonjsModule(function (module, exports) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "Diff", { + enumerable: true, + get: function get() { + return _base["default"]; + } + }); + Object.defineProperty(exports, "diffChars", { + enumerable: true, + get: function get() { + return character.diffChars; + } + }); + Object.defineProperty(exports, "diffWords", { + enumerable: true, + get: function get() { + return word.diffWords; + } + }); + Object.defineProperty(exports, "diffWordsWithSpace", { + enumerable: true, + get: function get() { + return word.diffWordsWithSpace; + } + }); + Object.defineProperty(exports, "diffLines", { + enumerable: true, + get: function get() { + return line.diffLines; + } + }); + Object.defineProperty(exports, "diffTrimmedLines", { + enumerable: true, + get: function get() { + return line.diffTrimmedLines; + } + }); + Object.defineProperty(exports, "diffSentences", { + enumerable: true, + get: function get() { + return sentence.diffSentences; + } + }); + Object.defineProperty(exports, "diffCss", { + enumerable: true, + get: function get() { + return css.diffCss; + } + }); + Object.defineProperty(exports, "diffJson", { + enumerable: true, + get: function get() { + return json.diffJson; + } + }); + Object.defineProperty(exports, "canonicalize", { + enumerable: true, + get: function get() { + return json.canonicalize; + } + }); + Object.defineProperty(exports, "diffArrays", { + enumerable: true, + get: function get() { + return array$1.diffArrays; + } + }); + Object.defineProperty(exports, "applyPatch", { + enumerable: true, + get: function get() { + return apply$1.applyPatch; + } + }); + Object.defineProperty(exports, "applyPatches", { + enumerable: true, + get: function get() { + return apply$1.applyPatches; + } + }); + Object.defineProperty(exports, "parsePatch", { + enumerable: true, + get: function get() { + return parse.parsePatch; + } + }); + Object.defineProperty(exports, "merge", { + enumerable: true, + get: function get() { + return merge_1.merge; + } + }); + Object.defineProperty(exports, "structuredPatch", { + enumerable: true, + get: function get() { + return create.structuredPatch; + } + }); + Object.defineProperty(exports, "createTwoFilesPatch", { + enumerable: true, + get: function get() { + return create.createTwoFilesPatch; + } + }); + Object.defineProperty(exports, "createPatch", { + enumerable: true, + get: function get() { + return create.createPatch; + } + }); + Object.defineProperty(exports, "convertChangesToDMP", { + enumerable: true, + get: function get() { + return dmp.convertChangesToDMP; + } + }); + Object.defineProperty(exports, "convertChangesToXML", { + enumerable: true, + get: function get() { + return xml.convertChangesToXML; + } + }); + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + +}); + +const { + promises: fs +} = fs__default['default']; // eslint-disable-next-line no-restricted-modules // eslint-disable-next-line no-restricted-modules - const { - getStream -} = thirdParty; + getStdin +} = require$$1; const { createIgnorer, - errors, - coreOptions: coreOptions$1, - optionsModule, - optionsNormalizer, - utils: { - arrayify - } + errors } = prettierInternal; const { - expandPatterns: expandPatterns$1, - fixWindowsSlashes: fixWindowsSlashes$1 + expandPatterns, + fixWindowsSlashes } = expandPatterns_1; -const OPTION_USAGE_THRESHOLD = 25; -const CHOICE_USAGE_MARGIN = 3; -const CHOICE_USAGE_INDENTATION = 2; - -function getOptions(argv, detailedOptions) { - return fromPairs_1(detailedOptions.filter(({ - forwardToApi - }) => forwardToApi).map(({ - forwardToApi, - name - }) => [forwardToApi, argv[name]])); -} - -function cliifyOptions(object, apiDetailedOptionMap) { - return Object.keys(object || {}).reduce((output, key) => { - const apiOption = apiDetailedOptionMap[key]; - const cliKey = apiOption ? apiOption.name : key; - output[dashify(cliKey)] = object[key]; - return output; - }, {}); -} +const { + getOptionsForFile +} = option; function diff(a, b) { - return require$$3.createTwoFilesPatch("", "", a, b, "", "", { + return lib$1.createTwoFilesPatch("", "", a, b, "", "", { context: 2 }); } -function handleError(context, filename, error) { +function handleError(context, filename, error, printedFilename) { if (error instanceof errors.UndefinedParserError) { // Can't test on CI, `isTTY()` is always false, see ./is-tty.js /* istanbul ignore next */ - if ((context.argv.write || context.argv["ignore-unknown"]) && isTty()) { - readline__default['default'].clearLine(process.stdout, 0); - readline__default['default'].cursorTo(process.stdout, 0, null); + if ((context.argv.write || context.argv["ignore-unknown"]) && printedFilename) { + printedFilename.clear(); } if (context.argv["ignore-unknown"]) { @@ -15701,29 +16692,6 @@ function handleError(context, filename, error) { process.exitCode = 2; } -function logResolvedConfigPathOrDie(context) { - const configFile = src.resolveConfigFile.sync(context.argv["find-config-path"]); - - if (configFile) { - context.logger.log(path__default['default'].relative(process.cwd(), configFile)); - } else { - process.exit(1); - } -} - -function logFileInfoOrDie(context) { - const options = { - ignorePath: context.argv["ignore-path"], - withNodeModules: context.argv["with-node-modules"], - plugins: context.argv.plugin, - pluginSearchDirs: context.argv["plugin-search-dir"], - resolveConfig: context.argv.config !== false - }; - context.logger.log(src.format(fastJsonStableStringify(src.getFileInfo.sync(context.argv["file-info"], options)), { - parser: "json" - })); -} - function writeOutput(context, result, options) { // Don't use `console.log` here since it adds an extra newline at the end. process.stdout.write(context.argv["debug-check"] ? result.filepath : result.formatted); @@ -15743,7 +16711,7 @@ function listDifferent(context, input, options, filename) { throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); } - if (!src.check(input, options)) { + if (!prettier$1.check(input, options)) { if (!context.argv.write) { context.logger.log(filename); process.exitCode = 1; @@ -15756,32 +16724,40 @@ function listDifferent(context, input, options, filename) { return true; } -function format(context, input, opt) { +function format$1(context, input, opt) { if (!opt.parser && !opt.filepath) { throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); } if (context.argv["debug-print-doc"]) { - const doc = src.__debug.printToDoc(input, opt); + const doc = prettier$1.__debug.printToDoc(input, opt); return { - formatted: src.__debug.formatDoc(doc) + formatted: prettier$1.__debug.formatDoc(doc) + "\n" + }; + } + + if (context.argv["debug-print-comments"]) { + return { + formatted: prettier$1.format(JSON.stringify(prettier$1.formatWithCursor(input, opt).comments || []), { + parser: "json" + }) }; } if (context.argv["debug-check"]) { - const pp = src.format(input, opt); - const pppp = src.format(pp, opt); + const pp = prettier$1.format(input, opt); + const pppp = prettier$1.format(pp, opt); if (pp !== pppp) { throw new errors.DebugError("prettier(input) !== prettier(prettier(input))\n" + diff(pp, pppp)); } else { const stringify = obj => JSON.stringify(obj, null, 2); - const ast = stringify(src.__debug.parse(input, opt, + const ast = stringify(prettier$1.__debug.parse(input, opt, /* massage */ true).ast); - const past = stringify(src.__debug.parse(pp, opt, + const past = stringify(prettier$1.__debug.parse(pp, opt, /* massage */ true).ast); /* istanbul ignore next */ @@ -15806,8 +16782,9 @@ function format(context, input, opt) { let benchmark; try { + // eslint-disable-next-line import/no-extraneous-dependencies benchmark = require("benchmark"); - } catch (err) { + } catch { context.logger.debug("'--debug-benchmark' requires the 'benchmark' package to be installed."); process.exit(2); } @@ -15815,7 +16792,7 @@ function format(context, input, opt) { context.logger.debug("'--debug-benchmark' option found, measuring formatWithCursor with 'benchmark' module."); const suite = new benchmark.Suite(); suite.add("format", () => { - src.formatWithCursor(input, opt); + prettier$1.formatWithCursor(input, opt); }).on("cycle", event => { const results = { benchmark: String(event.target), @@ -15828,15 +16805,14 @@ function format(context, input, opt) { }); } else if (context.argv["debug-repeat"] > 0) { const repeat = context.argv["debug-repeat"]; - context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times."); // should be using `performance.now()`, but only `Date` is cross-platform enough - - const now = Date.now ? () => Date.now() : () => +new Date(); + context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times."); let totalMs = 0; for (let i = 0; i < repeat; ++i) { - const startMs = now(); - src.formatWithCursor(input, opt); - totalMs += now() - startMs; + // should be using `performance.now()`, but only `Date` is cross-platform enough + const startMs = Date.now(); + prettier$1.formatWithCursor(input, opt); + totalMs += Date.now() - startMs; } const averageMs = totalMs / repeat; @@ -15848,130 +16824,58 @@ function format(context, input, opt) { context.logger.debug("'--debug-repeat' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); } - return src.formatWithCursor(input, opt); + return prettier$1.formatWithCursor(input, opt); } -function getOptionsOrDie(context, filePath) { +async function createIgnorerFromContextOrDie(context) { try { - if (context.argv.config === false) { - context.logger.debug("'--no-config' option found, skip loading config file."); - return null; - } - - context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`); - const options = src.resolveConfig.sync(filePath, { - editorconfig: context.argv.editorconfig, - config: context.argv.config - }); - context.logger.debug("loaded options `" + JSON.stringify(options) + "`"); - return options; - } catch (error) { - context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message); - process.exit(2); - } -} - -function getOptionsForFile(context, filepath) { - const options = getOptionsOrDie(context, filepath); - const hasPlugins = options && options.plugins; - - if (hasPlugins) { - pushContextPlugins(context, options.plugins); - } - - const appliedOptions = Object.assign({ - filepath - }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, { - logger: context.logger - }))); - context.logger.debug(`applied config-precedence (${context.argv["config-precedence"]}): ` + `${JSON.stringify(appliedOptions)}`); - - if (hasPlugins) { - popContextPlugins(context); - } - - return appliedOptions; -} - -function parseArgsToOptions(context, overrideDefaults) { - const minimistOptions = createMinimistOptions(context.detailedOptions); - const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions); - return getOptions(optionsNormalizer.normalizeCliOptions(minimist_1(context.args, { - string: minimistOptions.string, - boolean: minimistOptions.boolean, - default: cliifyOptions(overrideDefaults, apiDetailedOptionMap) - }), context.detailedOptions, { - logger: false - }), context.detailedOptions); -} - -function applyConfigPrecedence(context, options) { - try { - switch (context.argv["config-precedence"]) { - case "cli-override": - return parseArgsToOptions(context, options); - - case "file-override": - return Object.assign({}, parseArgsToOptions(context), options); - - case "prefer-file": - return options || parseArgsToOptions(context); - } - } catch (error) { - /* istanbul ignore next */ - context.logger.error(error.toString()); - /* istanbul ignore next */ - - process.exit(2); - } -} - -function formatStdin(context) { - const filepath = context.argv["stdin-filepath"] ? path__default['default'].resolve(process.cwd(), context.argv["stdin-filepath"]) : process.cwd(); - const ignorer = createIgnorerFromContextOrDie(context); // If there's an ignore-path set, the filename must be relative to the - // ignore path, not the current working directory. - - const relativeFilepath = context.argv["ignore-path"] ? path__default['default'].relative(path__default['default'].dirname(context.argv["ignore-path"]), filepath) : path__default['default'].relative(process.cwd(), filepath); - getStream(process.stdin).then(input => { - if (relativeFilepath && ignorer.ignores(fixWindowsSlashes$1(relativeFilepath))) { - writeOutput(context, { - formatted: input - }); - return; - } - - const options = getOptionsForFile(context, filepath); - - if (listDifferent(context, input, options, "(stdin)")) { - return; - } - - writeOutput(context, format(context, input, options), options); - }).catch(error => { - handleError(context, relativeFilepath || "stdin", error); - }); -} - -function createIgnorerFromContextOrDie(context) { - try { - return createIgnorer.sync(context.argv["ignore-path"], context.argv["with-node-modules"]); + return await createIgnorer(context.argv["ignore-path"], context.argv["with-node-modules"]); } catch (e) { context.logger.error(e.message); process.exit(2); } } -function formatFiles(context) { +async function formatStdin$1(context) { + const filepath = context.argv["stdin-filepath"] ? path__default['default'].resolve(process.cwd(), context.argv["stdin-filepath"]) : process.cwd(); + const ignorer = await createIgnorerFromContextOrDie(context); // If there's an ignore-path set, the filename must be relative to the + // ignore path, not the current working directory. + + const relativeFilepath = context.argv["ignore-path"] ? path__default['default'].relative(path__default['default'].dirname(context.argv["ignore-path"]), filepath) : path__default['default'].relative(process.cwd(), filepath); + + try { + const input = await getStdin(); + + if (relativeFilepath && ignorer.ignores(fixWindowsSlashes(relativeFilepath))) { + writeOutput(context, { + formatted: input + }); + return; + } + + const options = await getOptionsForFile(context, filepath); + + if (listDifferent(context, input, options, "(stdin)")) { + return; + } + + writeOutput(context, format$1(context, input, options), options); + } catch (error) { + handleError(context, relativeFilepath || "stdin", error); + } +} + +async function formatFiles$1(context) { // The ignorer will be used to filter file paths after the glob is checked, // before any files are actually written - const ignorer = createIgnorerFromContextOrDie(context); + const ignorer = await createIgnorerFromContextOrDie(context); let numberOfUnformattedFilesFound = 0; if (context.argv.check) { context.logger.log("Checking formatting..."); } - for (const pathOrError of expandPatterns$1(context)) { + for await (const pathOrError of expandPatterns(context)) { if (typeof pathOrError === "object") { context.logger.error(pathOrError.error); // Don't exit, but set the exit code to 2 @@ -15983,26 +16887,28 @@ function formatFiles(context) { // ignore path, not the current working directory. const ignoreFilename = context.argv["ignore-path"] ? path__default['default'].relative(path__default['default'].dirname(context.argv["ignore-path"]), filename) : filename; - const fileIgnored = ignorer.ignores(fixWindowsSlashes$1(ignoreFilename)); + const fileIgnored = ignorer.ignores(fixWindowsSlashes(ignoreFilename)); if (fileIgnored && (context.argv["debug-check"] || context.argv.write || context.argv.check || context.argv["list-different"])) { continue; } - const options = Object.assign({}, getOptionsForFile(context, filename), { + const options = Object.assign(Object.assign({}, await getOptionsForFile(context, filename)), {}, { filepath: filename }); + let printedFilename; if (isTty()) { - context.logger.log(filename, { - newline: false + printedFilename = context.logger.log(filename, { + newline: false, + clearable: true }); } let input; try { - input = fs__default['default'].readFileSync(filename, "utf8"); + input = await fs.readFile(filename, "utf8"); } catch (error) { // Add newline to split errors from filename line. @@ -16032,19 +16938,18 @@ function formatFiles(context) { let output; try { - result = format(context, input, options); + result = format$1(context, input, options); output = result.formatted; } catch (error) { - handleError(context, filename, error); + handleError(context, filename, error, printedFilename); continue; } const isDifferent = output !== input; - if (isTty()) { + if (printedFilename) { // Remove previously printed filename to log it with duration. - readline__default['default'].clearLine(process.stdout, 0); - readline__default['default'].cursorTo(process.stdout, 0, null); + printedFilename.clear(); } if (context.argv.write) { @@ -16056,7 +16961,7 @@ function formatFiles(context) { } try { - fs__default['default'].writeFileSync(filename, output, "utf8"); + await fs.writeFile(filename, output, "utf8"); } catch (error) { /* istanbul ignore next */ context.logger.error(`Unable to write file: ${filename}\n${error.message}`); // Don't exit the process if one file failed @@ -16105,41 +17010,1221 @@ function formatFiles(context) { } } -function getOptionsWithOpposites(options) { - // Add --no-foo after --foo. - const optionsWithOpposites = options.map(option => [option.description ? option : null, option.oppositeDescription ? Object.assign({}, option, { - name: `no-${option.name}`, - type: "boolean", - description: option.oppositeDescription - }) : null]); - return flatten_1(optionsWithOpposites).filter(Boolean); +var format_1 = { + format: format$1, + formatStdin: formatStdin$1, + formatFiles: formatFiles$1 +}; + +var defineProperty = function () { + try { + var func = _getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}(); + +var _defineProperty = defineProperty; + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + +function baseAssignValue(object, key, value) { + if (key == '__proto__' && _defineProperty) { + _defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } } -function createUsage(context) { - const options = getOptionsWithOpposites(context.detailedOptions).filter( // remove unnecessary option (e.g. `semi`, `color`, etc.), which is only used for --help - option => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-"))); - const groupedOptions = groupBy_1(options, option => option.category); - const firstCategories = constant$1.categoryOrder.slice(0, -1); - const lastCategories = constant$1.categoryOrder.slice(-1); - const restCategories = Object.keys(groupedOptions).filter(category => !constant$1.categoryOrder.includes(category)); - const allCategories = [...firstCategories, ...restCategories, ...lastCategories]; - const optionsUsage = allCategories.map(category => { - const categoryOptions = groupedOptions[category].map(option => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n"); - return `${category} options:\n\n${indent(categoryOptions, 2)}`; +var _baseAssignValue = baseAssignValue; + +/** Used for built-in method references. */ + +var objectProto$1 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$1 = objectProto$1.hasOwnProperty; +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + +function assignValue(object, key, value) { + var objValue = object[key]; + + if (!(hasOwnProperty$1.call(object, key) && eq_1(objValue, value)) || value === undefined && !(key in object)) { + _baseAssignValue(object, key, value); + } +} + +var _assignValue = assignValue; + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + +function baseSet(object, path, value, customizer) { + if (!isObject_1(object)) { + return object; + } + + path = _castPath(path, object); + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = _toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + + if (newValue === undefined) { + newValue = isObject_1(objValue) ? objValue : _isIndex(path[index + 1]) ? [] : {}; + } + } + + _assignValue(nested, key, newValue); + nested = nested[key]; + } + + return object; +} + +var _baseSet = baseSet; + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = _baseGet(object, path); + + if (predicate(value, path)) { + _baseSet(result, _castPath(path, object), value); + } + } + + return result; +} + +var _basePickBy = basePickBy; + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + +function basePick(object, paths) { + return _basePickBy(object, paths, function (value, path) { + return hasIn_1(object, path); }); - return [constant$1.usageSummary].concat(optionsUsage, [""]).join("\n\n"); } -function createOptionUsage(context, option, threshold) { - const header = createOptionUsageHeader(option); - const optionDefaultValue = getOptionDefaultValue(context, option.name); - return createOptionUsageRow(header, `${option.description}${optionDefaultValue === undefined ? "" : `\nDefaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold); +var _basePick = basePick; + +/** Built-in value references. */ + +var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : undefined; +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + +function isFlattenable(value) { + return isArray_1(value) || isArguments_1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +var _isFlattenable = isFlattenable; + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + predicate || (predicate = _isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + _arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + + return result; +} + +var _baseFlatten = baseFlatten; + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? _baseFlatten(array, 1) : []; +} + +var flatten_1 = flatten; + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + + case 1: + return func.call(thisArg, args[0]); + + case 2: + return func.call(thisArg, args[0], args[1]); + + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + + return func.apply(thisArg, args); +} + +var _apply = apply; + +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeMax = Math.max; +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? func.length - 1 : start, 0); + return function () { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + + index = -1; + var otherArgs = Array(start + 1); + + while (++index < start) { + otherArgs[index] = args[index]; + } + + otherArgs[start] = transform(array); + return _apply(func, this, otherArgs); + }; +} + +var _overRest = overRest; + +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant$1(value) { + return function () { + return value; + }; +} + +var constant_1 = constant$1; + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + +var baseSetToString = !_defineProperty ? identity_1 : function (func, string) { + return _defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant_1(string), + 'writable': true + }); +}; +var _baseSetToString = baseSetToString; + +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; +/* Built-in method references for those with the same name as other `lodash` methods. */ + +var nativeNow = Date.now; +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + +function shortOut(func) { + var count = 0, + lastCalled = 0; + return function () { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + + return func.apply(undefined, arguments); + }; +} + +var _shortOut = shortOut; + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + +var setToString = _shortOut(_baseSetToString); +var _setToString = setToString; + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + +function flatRest(func) { + return _setToString(_overRest(func, undefined, flatten_1), func + ''); +} + +var _flatRest = flatRest; + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + +var pick = _flatRest(function (object, paths) { + return object == null ? {} : _basePick(object, paths); +}); +var pick_1 = pick; + +var lib = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.outdent = void 0; // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. + + function noop() { + var args = []; + + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + } + + function createWeakMap() { + if (typeof WeakMap !== "undefined") { + return new WeakMap(); + } else { + return fakeSetOrMap(); + } + } + /** + * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. + */ + + + function fakeSetOrMap() { + return { + add: noop, + delete: noop, + get: noop, + set: noop, + has: function (k) { + return false; + } + }; + } // Safe hasOwnProperty + + + var hop = Object.prototype.hasOwnProperty; + + var has = function (obj, prop) { + return hop.call(obj, prop); + }; // Copy all own enumerable properties from source to target + + + function extend(target, source) { + for (var prop in source) { + if (has(source, prop)) { + target[prop] = source[prop]; + } + } + + return target; + } + + var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; + var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; + var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; + var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; + var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; + + function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { + // If first interpolated value is a reference to outdent, + // determine indentation level from the indentation of the interpolated value. + var indentationLevel = 0; + var match = strings[0].match(reDetectIndentation); + + if (match) { + indentationLevel = match[1].length; + } + + var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; + var reMatchIndent = new RegExp(reSource, "g"); + + if (firstInterpolatedValueSetsIndentationLevel) { + strings = strings.slice(1); + } + + var newline = options.newline, + trimLeadingNewline = options.trimLeadingNewline, + trimTrailingNewline = options.trimTrailingNewline; + var normalizeNewlines = typeof newline === "string"; + var l = strings.length; + var outdentedStrings = strings.map(function (v, i) { + // Remove leading indentation from all lines + v = v.replace(reMatchIndent, "$1"); // Trim a leading newline from the first string + + if (i === 0 && trimLeadingNewline) { + v = v.replace(reLeadingNewline, ""); + } // Trim a trailing newline from the last string + + + if (i === l - 1 && trimTrailingNewline) { + v = v.replace(reTrailingNewline, ""); + } // Normalize newlines + + + if (normalizeNewlines) { + v = v.replace(/\r\n|\n|\r/g, function (_) { + return newline; + }); + } + + return v; + }); + return outdentedStrings; + } + + function concatStringsAndValues(strings, values) { + var ret = ""; + + for (var i = 0, l = strings.length; i < l; i++) { + ret += strings[i]; + + if (i < l - 1) { + ret += values[i]; + } + } + + return ret; + } + + function isTemplateStringsArray(v) { + return has(v, "raw") && has(v, "length"); + } + /** + * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to + * makeInstance + * @param options + * @return {outdent} + */ + + + function createInstance(options) { + /** Cache of pre-processed template literal arrays */ + var arrayAutoIndentCache = createWeakMap(); + /** + * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, + * before interpolated values are injected. + */ + + var arrayFirstInterpSetsIndentCache = createWeakMap(); + + function outdent(stringsOrOptions) { + var values = []; + + for (var _i = 1; _i < arguments.length; _i++) { + values[_i - 1] = arguments[_i]; + } + /* tslint:enable:no-shadowed-variable */ + + + if (isTemplateStringsArray(stringsOrOptions)) { + var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? + + var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation + + var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; + var renderedArray = cache.get(strings); + + if (!renderedArray) { + renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); + cache.set(strings, renderedArray); + } + /** If no interpolated values, skip concatenation step */ + + + if (values.length === 0) { + return renderedArray[0]; + } + /** Concatenate string literals with interpolated values */ + + + var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); + return rendered; + } else { + // Create and return a new instance of outdent with the given options + return createInstance(extend(extend({}, options), stringsOrOptions || {})); + } + } + + var fullOutdent = extend(outdent, { + string: function (str) { + return _outdentArray([str], false, options)[0]; + } + }); + return fullOutdent; + } + + var defaultOutdent = createInstance({ + trimLeadingNewline: true, + trimTrailingNewline: true + }); + exports.outdent = defaultOutdent; // Named exports. Simple and preferred. + // import outdent from 'outdent'; + + exports.default = defaultOutdent; + + { + // In webpack harmony-modules environments, module.exports is read-only, + // so we fail gracefully. + try { + module.exports = defaultOutdent; + Object.defineProperty(defaultOutdent, "__esModule", { + value: true + }); + defaultOutdent.default = defaultOutdent; + defaultOutdent.outdent = defaultOutdent; + } catch (e) {} + } +}); + +const { + outdent +} = lib; +const { + coreOptions: coreOptions$1 +} = prettierInternal; +const categoryOrder = [coreOptions$1.CATEGORY_OUTPUT, coreOptions$1.CATEGORY_FORMAT, coreOptions$1.CATEGORY_CONFIG, coreOptions$1.CATEGORY_EDITOR, coreOptions$1.CATEGORY_OTHER]; +/** + * { + * [optionName]: { + * // The type of the option. For 'choice', see also `choices` below. + * // When passing a type other than the ones listed below, the option is + * // treated as taking any string as argument, and `--option <${type}>` will + * // be displayed in --help. + * type: "boolean" | "choice" | "int" | string; + * + * // Default value to be passed to the minimist option `default`. + * default?: any; + * + * // Alias name to be passed to the minimist option `alias`. + * alias?: string; + * + * // For grouping options by category in --help. + * category?: string; + * + * // Description to be displayed in --help. If omitted, the option won't be + * // shown at all in --help (but see also `oppositeDescription` below). + * description?: string; + * + * // Description for `--no-${name}` to be displayed in --help. If omitted, + * // `--no-${name}` won't be shown. + * oppositeDescription?: string; + * + * // Indicate if this option is simply passed to the API. + * // true: use camelified name as the API option name. + * // string: use this value as the API option name. + * forwardToApi?: boolean | string; + * + * // Indicate that a CLI flag should be an array when forwarded to the API. + * array?: boolean; + * + * // Specify available choices for validation. They will also be displayed + * // in --help as . + * // Use an object instead of a string if a choice is deprecated and should + * // be treated as `redirect` instead, or if you'd like to add description for + * // the choice. + * choices?: Array< + * | string + * | { value: string, description?: string, deprecated?: boolean, redirect?: string } + * >; + * + * // If the option has a value that is an exception to the regular value + * // constraints, indicate that value here (or use a function for more + * // flexibility). + * exception?: ((value: any) => boolean); + * + * // Indicate that the option is deprecated. Use a string to add an extra + * // message to --help for the option, for example to suggest a replacement + * // option. + * deprecated?: true | string; + * } + * } + * + * Note: The options below are sorted alphabetically. + */ + +const options = { + check: { + type: "boolean", + category: coreOptions$1.CATEGORY_OUTPUT, + alias: "c", + description: outdent` + Check if the given files are formatted, print a human-friendly summary + message and paths to unformatted files (see also --list-different). + ` + }, + color: { + // The supports-color package (a sub sub dependency) looks directly at + // `process.argv` for `--no-color` and such-like options. The reason it is + // listed here is to avoid "Ignored unknown option: --no-color" warnings. + // See https://github.com/chalk/supports-color/#info for more information. + type: "boolean", + default: true, + description: "Colorize error messages.", + oppositeDescription: "Do not colorize error messages." + }, + config: { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).", + oppositeDescription: "Do not look for a configuration file.", + exception: value => value === false + }, + "config-precedence": { + type: "choice", + category: coreOptions$1.CATEGORY_CONFIG, + default: "cli-override", + choices: [{ + value: "cli-override", + description: "CLI options take precedence over config file" + }, { + value: "file-override", + description: "Config file take precedence over CLI options" + }, { + value: "prefer-file", + description: outdent` + If a config file is found will evaluate it and ignore other CLI options. + If no config file is found CLI options will evaluate as normal. + ` + }], + description: "Define in which order config files and CLI options should be evaluated." + }, + "debug-benchmark": { + // Run the formatting benchmarks. Requires 'benchmark' module to be installed. + type: "boolean" + }, + "debug-check": { + // Run the formatting once again on the formatted output, throw if different. + type: "boolean" + }, + "debug-print-doc": { + type: "boolean" + }, + "debug-print-comments": { + type: "boolean" + }, + "debug-repeat": { + // Repeat the formatting a few times and measure the average duration. + type: "int", + default: 0 + }, + editorconfig: { + type: "boolean", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Take .editorconfig into account when parsing configuration.", + oppositeDescription: "Don't take .editorconfig into account when parsing configuration.", + default: true + }, + "error-on-unmatched-pattern": { + type: "boolean", + oppositeDescription: "Prevent errors when pattern is unmatched." + }, + "find-config-path": { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Find and print the path to a configuration file for the given input file." + }, + "file-info": { + type: "path", + description: outdent` + Extract the following info (as JSON) for a given file path. Reported fields: + * ignored (boolean) - true if file path is filtered by --ignore-path + * inferredParser (string | null) - name of parser inferred from file path + ` + }, + help: { + type: "flag", + alias: "h", + description: outdent` + Show CLI usage, or details about the given flag. + Example: --help write + `, + exception: value => value === "" + }, + "ignore-path": { + type: "path", + category: coreOptions$1.CATEGORY_CONFIG, + default: ".prettierignore", + description: "Path to a file with patterns describing files to ignore." + }, + "ignore-unknown": { + type: "boolean", + alias: "u", + description: "Ignore unknown files." + }, + "list-different": { + type: "boolean", + category: coreOptions$1.CATEGORY_OUTPUT, + alias: "l", + description: "Print the names of files that are different from Prettier's formatting (see also --check)." + }, + loglevel: { + type: "choice", + description: "What level of logs to report.", + default: "log", + choices: ["silent", "error", "warn", "log", "debug"] + }, + "support-info": { + type: "boolean", + description: "Print support information as JSON." + }, + version: { + type: "boolean", + alias: "v", + description: "Print Prettier version." + }, + "with-node-modules": { + type: "boolean", + category: coreOptions$1.CATEGORY_CONFIG, + description: "Process files inside 'node_modules' directory." + }, + write: { + type: "boolean", + alias: "w", + category: coreOptions$1.CATEGORY_OUTPUT, + description: "Edit files in-place. (Beware!)" + } +}; +const usageSummary = outdent` + Usage: prettier [options] [file/dir/glob ...] + + By default, output is written to stdout. + Stdin is read if it is piped to Prettier and no files are given. +`; +var constant = { + categoryOrder, + options, + usageSummary +}; + +const { + coreOptions +} = prettierInternal; + +function normalizeDetailedOption(name, option) { + return Object.assign(Object.assign({ + category: coreOptions.CATEGORY_OTHER + }, option), {}, { + choices: option.choices && option.choices.map(choice => { + const newChoice = Object.assign({ + description: "", + deprecated: false + }, typeof choice === "object" ? choice : { + value: choice + }); + /* istanbul ignore next */ + + if (newChoice.value === true) { + newChoice.value = ""; // backward compatibility for original boolean option + } + + return newChoice; + }) + }); +} + +function normalizeDetailedOptionMap$2(detailedOptionMap) { + return Object.fromEntries(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)])); +} + +function createDetailedOptionMap$2(supportOptions) { + return Object.fromEntries(supportOptions.map(option => { + const newOption = Object.assign(Object.assign({}, option), {}, { + name: option.cliName || dashify(option.name), + description: option.cliDescription || option.description, + category: option.cliCategory || coreOptions.CATEGORY_FORMAT, + forwardToApi: option.name + }); + /* istanbul ignore next */ + + if (option.deprecated) { + delete newOption.forwardToApi; + delete newOption.description; + delete newOption.oppositeDescription; + newOption.deprecated = true; + } + + return [newOption.name, newOption]; + })); +} + +var optionMap = { + normalizeDetailedOptionMap: normalizeDetailedOptionMap$2, + createDetailedOptionMap: createDetailedOptionMap$2 +}; + +const { + optionsModule, + optionsNormalizer: { + normalizeCliOptions + }, + utils: { + arrayify + } +} = prettierInternal; +const { + createDetailedOptionMap: createDetailedOptionMap$1, + normalizeDetailedOptionMap: normalizeDetailedOptionMap$1 +} = optionMap; +/** + * @typedef {Object} Context + * @property logger + * @property {string[]} rawArguments + * @property argv + * @property {string[]} filePatterns + * @property {any[]} supportOptions + * @property detailedOptions + * @property detailedOptionMap + * @property apiDefaultOptions + * @property languages + * @property {Partial[]} stack + * @property pushContextPlugins + * @property popContextPlugins + */ + +class Context$1 { + constructor({ + rawArguments, + logger + }) { + this.rawArguments = rawArguments; + this.logger = logger; + this.stack = []; + const { + plugin: plugins, + "plugin-search-dir": pluginSearchDirs + } = parseArgvWithoutPlugins$1(rawArguments, logger, ["plugin", "plugin-search-dir"]); + this.pushContextPlugins(plugins, pluginSearchDirs); + const argv = parseArgv(rawArguments, this.detailedOptions, logger); + this.argv = argv; + this.filePatterns = argv._.map(file => String(file)); + } + /** + * @param {string[]} plugins + * @param {string[]=} pluginSearchDirs + */ + + + pushContextPlugins(plugins, pluginSearchDirs) { + this.stack.push(pick_1(this, ["supportOptions", "detailedOptions", "detailedOptionMap", "apiDefaultOptions", "languages"])); + Object.assign(this, getContextOptions(plugins, pluginSearchDirs)); + } + + popContextPlugins() { + Object.assign(this, this.stack.pop()); + } + +} + +function getContextOptions(plugins, pluginSearchDirs) { + const { + options: supportOptions, + languages + } = prettier$1.getSupportInfo({ + showDeprecated: true, + showUnreleased: true, + showInternal: true, + plugins, + pluginSearchDirs + }); + const detailedOptionMap = normalizeDetailedOptionMap$1(Object.assign(Object.assign({}, createDetailedOptionMap$1(supportOptions)), constant.options)); + const detailedOptions = arrayify(detailedOptionMap, "name"); + const apiDefaultOptions = Object.assign(Object.assign({}, optionsModule.hiddenDefaults), Object.fromEntries(supportOptions.filter(({ + deprecated + }) => !deprecated).map(option => [option.name, option.default]))); + return { + supportOptions, + detailedOptions, + detailedOptionMap, + apiDefaultOptions, + languages + }; +} + +function parseArgv(rawArguments, detailedOptions, logger, keys) { + const minimistOptions = createMinimistOptions(detailedOptions); + let argv = minimist_1(rawArguments, minimistOptions); + + if (keys) { + detailedOptions = detailedOptions.filter(option => keys.includes(option.name)); + argv = pick_1(argv, keys); + } + + return normalizeCliOptions(argv, detailedOptions, { + logger + }); +} + +const detailedOptionsWithoutPlugins = getContextOptions().detailedOptions; + +function parseArgvWithoutPlugins$1(rawArguments, logger, keys) { + return parseArgv(rawArguments, detailedOptionsWithoutPlugins, logger, typeof keys === "string" ? [keys] : keys); +} + +var context = { + Context: Context$1, + parseArgvWithoutPlugins: parseArgvWithoutPlugins$1 +}; + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +_export({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +/** Used for built-in method references. */ + +var objectProto = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty = objectProto.hasOwnProperty; +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + +var groupBy = _createAggregator(function (result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + _baseAssignValue(result, key, [value]); + } +}); +var groupBy_1 = groupBy; + +const preserveCamelCase = (string, locale) => { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < string.length; i++) { + const character = string[i]; + + if (isLastCharLower && /[\p{Lu}]/u.test(character)) { + string = string.slice(0, i) + '-' + string.slice(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && /[\p{Ll}]/u.test(character)) { + string = string.slice(0, i - 1) + '-' + string.slice(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character; + } + } + + return string; +}; + +const preserveConsecutiveUppercase = input => { + return input.replace(/^[\p{Lu}](?![\p{Lu}])/gu, m1 => m1.toLowerCase()); +}; + +const postProcess = (input, options) => { + return input.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase(options.locale)).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toLocaleUpperCase(options.locale)); +}; + +const camelCase = (input, options) => { + if (!(typeof input === 'string' || Array.isArray(input))) { + throw new TypeError('Expected the input to be `string | string[]`'); + } + + options = Object.assign({ + pascalCase: false, + preserveConsecutiveUppercase: false + }, options); + + if (Array.isArray(input)) { + input = input.map(x => x.trim()).filter(x => x.length).join('-'); + } else { + input = input.trim(); + } + + if (input.length === 0) { + return ''; + } + + if (input.length === 1) { + return options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale); + } + + const hasUpperCase = input !== input.toLocaleLowerCase(options.locale); + + if (hasUpperCase) { + input = preserveCamelCase(input, options.locale); + } + + input = input.replace(/^[_.\- ]+/, ''); + + if (options.preserveConsecutiveUppercase) { + input = preserveConsecutiveUppercase(input); + } else { + input = input.toLocaleLowerCase(); + } + + if (options.pascalCase) { + input = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1); + } + + return postProcess(input, options); +}; + +var camelcase = camelCase; // TODO: Remove this for the next major release + +var _default = camelCase; +camelcase.default = _default; + +const OPTION_USAGE_THRESHOLD = 25; +const CHOICE_USAGE_MARGIN = 3; +const CHOICE_USAGE_INDENTATION = 2; + +function indent(str, spaces) { + return str.replace(/^/gm, " ".repeat(spaces)); } function createDefaultValueDisplay(value) { return Array.isArray(value) ? `[${value.map(createDefaultValueDisplay).join(", ")}]` : value; } +function getOptionDefaultValue(context, optionName) { + // --no-option + if (!(optionName in context.detailedOptionMap)) { + return; + } + + const option = context.detailedOptionMap[optionName]; + + if (option.default !== undefined) { + return option.default; + } + + const optionCamelName = camelcase(optionName); + + if (optionCamelName in context.apiDefaultOptions) { + return context.apiDefaultOptions[optionCamelName]; + } +} + function createOptionUsageHeader(option) { const name = `--${option.name}`; const alias = option.alias ? `-${option.alias},` : null; @@ -16168,46 +18253,356 @@ function createOptionUsageType(option) { function createChoiceUsages(choices, margin, indentation) { const activeChoices = choices.filter(choice => !choice.deprecated && choice.since !== null); - const threshold = activeChoices.map(choice => choice.value.length).reduce((current, length) => Math.max(current, length), 0) + margin; + const threshold = Math.max(0, ...activeChoices.map(choice => choice.value.length)) + margin; return activeChoices.map(choice => indent(createOptionUsageRow(choice.value, choice.description, threshold), indentation)); } -function createDetailedUsage(context, flag) { +function createOptionUsage(context, option, threshold) { + const header = createOptionUsageHeader(option); + const optionDefaultValue = getOptionDefaultValue(context, option.name); + return createOptionUsageRow(header, `${option.description}${optionDefaultValue === undefined ? "" : `\nDefaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold); +} + +function getOptionsWithOpposites(options) { + // Add --no-foo after --foo. + const optionsWithOpposites = options.map(option => [option.description ? option : null, option.oppositeDescription ? Object.assign(Object.assign({}, option), {}, { + name: `no-${option.name}`, + type: "boolean", + description: option.oppositeDescription + }) : null]); + return optionsWithOpposites.flat().filter(Boolean); +} + +function createUsage$1(context) { + const options = getOptionsWithOpposites(context.detailedOptions).filter( // remove unnecessary option (e.g. `semi`, `color`, etc.), which is only used for --help + option => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-"))); + const groupedOptions = groupBy_1(options, option => option.category); + const firstCategories = constant.categoryOrder.slice(0, -1); + const lastCategories = constant.categoryOrder.slice(-1); + const restCategories = Object.keys(groupedOptions).filter(category => !constant.categoryOrder.includes(category)); + const allCategories = [...firstCategories, ...restCategories, ...lastCategories]; + const optionsUsage = allCategories.map(category => { + const categoryOptions = groupedOptions[category].map(option => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n"); + return `${category} options:\n\n${indent(categoryOptions, 2)}`; + }); + return [constant.usageSummary, ...optionsUsage, ""].join("\n\n"); +} + +function createDetailedUsage$1(context, flag) { const option = getOptionsWithOpposites(context.detailedOptions).find(option => option.name === flag || option.alias === flag); const header = createOptionUsageHeader(option); const description = `\n\n${indent(option.description, 2)}`; const choices = option.type !== "choice" ? "" : `\n\nValid options:\n\n${createChoiceUsages(option.choices, CHOICE_USAGE_MARGIN, CHOICE_USAGE_INDENTATION).join("\n")}`; const optionDefaultValue = getOptionDefaultValue(context, option.name); const defaults = optionDefaultValue !== undefined ? `\n\nDefault: ${createDefaultValueDisplay(optionDefaultValue)}` : ""; - const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length ? `\nPlugin defaults:${Object.keys(option.pluginDefaults).map(key => `\n* ${key}: ${createDefaultValueDisplay(option.pluginDefaults[key])}`)}` : ""; + const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length > 0 ? `\nPlugin defaults:${Object.entries(option.pluginDefaults).map(([key, value]) => `\n* ${key}: ${createDefaultValueDisplay(value)}`)}` : ""; return `${header}${description}${choices}${defaults}${pluginDefaults}`; } -function getOptionDefaultValue(context, optionName) { - // --no-option - if (!(optionName in context.detailedOptionMap)) { - return; +var usage = { + createUsage: createUsage$1, + createDetailedUsage: createDetailedUsage$1 +}; + +var ansiRegex = ({ + onlyFirst = false +} = {}) => { + const pattern = ['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +}; + +var stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; + +var clone_1 = createCommonjsModule(function (module) { + var clone = function () { + /** + * Clones (copies) an Object using deep copying. + * + * This function supports circular references by default, but if you are certain + * there are no circular references in your object, you can save some CPU time + * by calling clone(obj, false). + * + * Caution: if `circular` is false and `parent` contains circular references, + * your program may enter an infinite loop and crash. + * + * @param `parent` - the object to be cloned + * @param `circular` - set to true if the object to be cloned may contain + * circular references. (optional - true by default) + * @param `depth` - set to a number if the object is only to be cloned to + * a particular depth. (optional - defaults to Infinity) + * @param `prototype` - sets the prototype to be used when cloning an object. + * (optional - defaults to parent prototype). + */ + + function clone(parent, circular, depth, prototype) { + + if (typeof circular === 'object') { + depth = circular.depth; + prototype = circular.prototype; + circular = circular.circular; + } // maintain two arrays for circular references, where corresponding parents + // and children have the same index + + + var allParents = []; + var allChildren = []; + var useBuffer = typeof Buffer != 'undefined'; + if (typeof circular == 'undefined') circular = true; + if (typeof depth == 'undefined') depth = Infinity; // recurse this function so we don't reset allParents and allChildren + + function _clone(parent, depth) { + // cloning null always returns null + if (parent === null) return null; + if (depth == 0) return parent; + var child; + var proto; + + if (typeof parent != 'object') { + return parent; + } + + if (clone.__isArray(parent)) { + child = []; + } else if (clone.__isRegExp(parent)) { + child = new RegExp(parent.source, __getRegExpFlags(parent)); + if (parent.lastIndex) child.lastIndex = parent.lastIndex; + } else if (clone.__isDate(parent)) { + child = new Date(parent.getTime()); + } else if (useBuffer && Buffer.isBuffer(parent)) { + if (Buffer.allocUnsafe) { + // Node.js >= 4.5.0 + child = Buffer.allocUnsafe(parent.length); + } else { + // Older Node.js versions + child = new Buffer(parent.length); + } + + parent.copy(child); + return child; + } else { + if (typeof prototype == 'undefined') { + proto = Object.getPrototypeOf(parent); + child = Object.create(proto); + } else { + child = Object.create(prototype); + proto = prototype; + } + } + + if (circular) { + var index = allParents.indexOf(parent); + + if (index != -1) { + return allChildren[index]; + } + + allParents.push(parent); + allChildren.push(child); + } + + for (var i in parent) { + var attrs; + + if (proto) { + attrs = Object.getOwnPropertyDescriptor(proto, i); + } + + if (attrs && attrs.set == null) { + continue; + } + + child[i] = _clone(parent[i], depth - 1); + } + + return child; + } + + return _clone(parent, depth); + } + /** + * Simple flat clone using prototype, accepts only objects, usefull for property + * override on FLAT configuration object (no nested props). + * + * USE WITH CAUTION! This may not behave as you wish if you do not know how this + * works. + */ + + + clone.clonePrototype = function clonePrototype(parent) { + if (parent === null) return null; + + var c = function () {}; + + c.prototype = parent; + return new c(); + }; // private utility functions + + + function __objToStr(o) { + return Object.prototype.toString.call(o); + } + clone.__objToStr = __objToStr; + + function __isDate(o) { + return typeof o === 'object' && __objToStr(o) === '[object Date]'; + } + clone.__isDate = __isDate; + + function __isArray(o) { + return typeof o === 'object' && __objToStr(o) === '[object Array]'; + } + clone.__isArray = __isArray; + + function __isRegExp(o) { + return typeof o === 'object' && __objToStr(o) === '[object RegExp]'; + } + clone.__isRegExp = __isRegExp; + + function __getRegExpFlags(re) { + var flags = ''; + if (re.global) flags += 'g'; + if (re.ignoreCase) flags += 'i'; + if (re.multiline) flags += 'm'; + return flags; + } + clone.__getRegExpFlags = __getRegExpFlags; + return clone; + }(); + + if (module.exports) { + module.exports = clone; + } +}); + +var defaults = function (options, defaults) { + options = options || {}; + Object.keys(defaults).forEach(function (key) { + if (typeof options[key] === 'undefined') { + options[key] = clone_1(defaults[key]); + } + }); + return options; +}; + +var combining = [[0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489], [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2], [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603], [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670], [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED], [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A], [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902], [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D], [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981], [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD], [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C], [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D], [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC], [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD], [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C], [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D], [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0], [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48], [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC], [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD], [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D], [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6], [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E], [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC], [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35], [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E], [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97], [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030], [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039], [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F], [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753], [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD], [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD], [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922], [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B], [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34], [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42], [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF], [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063], [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F], [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B], [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F], [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB], [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F], [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169], [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD], [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F], [0xE0100, 0xE01EF]]; + +var DEFAULTS = { + nul: 0, + control: 0 +}; + +var wcwidth_1 = function wcwidth(str) { + return wcswidth(str, DEFAULTS); +}; + +var config = function (opts) { + opts = defaults(opts || {}, DEFAULTS); + return function wcwidth(str) { + return wcswidth(str, opts); + }; +}; +/* + * The following functions define the column width of an ISO 10646 + * character as follows: + * - The null character (U+0000) has a column width of 0. + * - Other C0/C1 control characters and DEL will lead to a return value + * of -1. + * - Non-spacing and enclosing combining characters (general category + * code Mn or Me in the + * Unicode database) have a column width of 0. + * - SOFT HYPHEN (U+00AD) has a column width of 1. + * - Other format characters (general category code Cf in the Unicode + * database) and ZERO WIDTH + * SPACE (U+200B) have a column width of 0. + * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) + * have a column width of 0. + * - Spacing characters in the East Asian Wide (W) or East Asian + * Full-width (F) category as + * defined in Unicode Technical Report #11 have a column width of 2. + * - All remaining characters (including all printable ISO 8859-1 and + * WGL4 characters, Unicode control characters, etc.) have a column + * width of 1. + * This implementation assumes that characters are encoded in ISO 10646. +*/ + + +function wcswidth(str, opts) { + if (typeof str !== 'string') return wcwidth(str, opts); + var s = 0; + + for (var i = 0; i < str.length; i++) { + var n = wcwidth(str.charCodeAt(i), opts); + if (n < 0) return -1; + s += n; } - const option = context.detailedOptionMap[optionName]; - - if (option.default !== undefined) { - return option.default; - } - - const optionCamelName = camelcase(optionName); - - if (optionCamelName in context.apiDefaultOptions) { - return context.apiDefaultOptions[optionCamelName]; - } + return s; } -function indent(str, spaces) { - return str.replace(/^/gm, " ".repeat(spaces)); +function wcwidth(ucs, opts) { + // test for 8-bit control characters + if (ucs === 0) return opts.nul; + if (ucs < 32 || ucs >= 0x7f && ucs < 0xa0) return opts.control; // binary search in table of non-spacing characters + + if (bisearch(ucs)) return 0; // if we arrive here, ucs is not a combining or C0/C1 control character + + return 1 + (ucs >= 0x1100 && (ucs <= 0x115f || // Hangul Jamo init. consonants + ucs == 0x2329 || ucs == 0x232a || ucs >= 0x2e80 && ucs <= 0xa4cf && ucs != 0x303f || // CJK ... Yi + ucs >= 0xac00 && ucs <= 0xd7a3 || // Hangul Syllables + ucs >= 0xf900 && ucs <= 0xfaff || // CJK Compatibility Ideographs + ucs >= 0xfe10 && ucs <= 0xfe19 || // Vertical forms + ucs >= 0xfe30 && ucs <= 0xfe6f || // CJK Compatibility Forms + ucs >= 0xff00 && ucs <= 0xff60 || // Fullwidth Forms + ucs >= 0xffe0 && ucs <= 0xffe6 || ucs >= 0x20000 && ucs <= 0x2fffd || ucs >= 0x30000 && ucs <= 0x3fffd)); } -function createLogger(logLevel) { +function bisearch(ucs) { + var min = 0; + var max = combining.length - 1; + var mid; + if (ucs < combining[0][0] || ucs > combining[max][1]) return false; + + while (max >= min) { + mid = Math.floor((min + max) / 2); + if (ucs > combining[mid][1]) min = mid + 1;else if (ucs < combining[mid][0]) max = mid - 1;else return true; + } + + return false; +} +wcwidth_1.config = config; + +const countLines = (stream, text) => { + const columns = stream.columns || 80; + let lineCount = 0; + + for (const line of stripAnsi(text).split("\n")) { + lineCount += Math.max(1, Math.ceil(wcwidth_1(line) / columns)); + } + + return lineCount; +}; + +const clear = (stream, text) => () => { + const lineCount = countLines(stream, text); + + for (let line = 0; line < lineCount; line++) { + if (line > 0) { + readline__default['default'].moveCursor(stream, 0, -1); + } + + readline__default['default'].clearLine(stream, 0); + readline__default['default'].cursorTo(stream, 0); + } +}; + +const emptyLogResult = { + clear() {} + +}; + +function createLogger$1(logLevel = "log") { return { + logLevel, warn: createLogFunc("warn", "yellow"), error: createLogFunc("error", "red"), debug: createLogFunc("debug", "blue"), @@ -16216,16 +18611,24 @@ function createLogger(logLevel) { function createLogFunc(loggerName, color) { if (!shouldLog(loggerName)) { - return () => {}; + return () => emptyLogResult; } const prefix = color ? `[${source[color](loggerName)}] ` : ""; - return function (message, opts) { - opts = Object.assign({ - newline: true - }, opts); - const stream = process[loggerName === "log" ? "stdout" : "stderr"]; - stream.write(message.replace(/^/gm, prefix) + (opts.newline ? "\n" : "")); + const stream = process[loggerName === "log" ? "stdout" : "stderr"]; + return (message, options) => { + options = Object.assign({ + newline: true, + clearable: false + }, options); + message = message.replace(/^/gm, prefix) + (options.newline ? "\n" : ""); + stream.write(message); + + if (options.clearable) { + return { + clear: clear(stream, message) + }; + } }; } @@ -16261,258 +18664,145 @@ function createLogger(logLevel) { } } -function normalizeDetailedOption(name, option) { - return Object.assign({ - category: coreOptions$1.CATEGORY_OTHER - }, option, { - choices: option.choices && option.choices.map(choice => { - const newChoice = Object.assign({ - description: "", - deprecated: false - }, typeof choice === "object" ? choice : { - value: choice - }); - /* istanbul ignore next */ +var logger = { + createLogger: createLogger$1 +}; - if (newChoice.value === true) { - newChoice.value = ""; // backward compatibility for original boolean option - } +const { + format, + formatStdin, + formatFiles +} = format_1; +const { + Context, + parseArgvWithoutPlugins +} = context; +const { + normalizeDetailedOptionMap, + createDetailedOptionMap +} = optionMap; +const { + createDetailedUsage, + createUsage +} = usage; +const { + createLogger +} = logger; - return newChoice; - }) - }); +async function logResolvedConfigPathOrDie(context) { + const file = context.argv["find-config-path"]; + const configFile = await prettier$1.resolveConfigFile(file); + + if (configFile) { + context.logger.log(path__default['default'].relative(process.cwd(), configFile)); + } else { + throw new Error(`Can not find configure file for "${file}"`); + } } -function normalizeDetailedOptionMap(detailedOptionMap) { - return fromPairs_1(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)])); -} - -function createMinimistOptions(detailedOptions) { - const [boolean, string] = partition_1(detailedOptions, ({ - type - }) => type === "boolean").map(detailedOptions => flatten_1(detailedOptions.map(({ - name, - alias - }) => alias ? [name, alias] : [name]))); - const defaults = fromPairs_1(detailedOptions.filter(option => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== undefined).map(option => [option.name, option.default])); - return { - // we use vnopts' AliasSchema to handle aliases for better error messages - alias: {}, - boolean, - string, - default: defaults +async function logFileInfoOrDie(context) { + const options = { + ignorePath: context.argv["ignore-path"], + withNodeModules: context.argv["with-node-modules"], + plugins: context.argv.plugin, + pluginSearchDirs: context.argv["plugin-search-dir"], + resolveConfig: context.argv.config !== false }; -} - -function createApiDetailedOptionMap(detailedOptions) { - return fromPairs_1(detailedOptions.filter(option => option.forwardToApi && option.forwardToApi !== option.name).map(option => [option.forwardToApi, option])); -} - -function createDetailedOptionMap(supportOptions) { - return fromPairs_1(supportOptions.map(option => { - const newOption = Object.assign({}, option, { - name: option.cliName || dashify(option.name), - description: option.cliDescription || option.description, - category: option.cliCategory || coreOptions$1.CATEGORY_FORMAT, - forwardToApi: option.name - }); - /* istanbul ignore next */ - - if (option.deprecated) { - delete newOption.forwardToApi; - delete newOption.description; - delete newOption.oppositeDescription; - newOption.deprecated = true; - } - - return [newOption.name, newOption]; + context.logger.log(prettier$1.format(fastJsonStableStringify(await prettier$1.getFileInfo(context.argv["file-info"], options)), { + parser: "json" })); -} //-----------------------------context-util-start------------------------------- - -/** - * @typedef {Object} Context - * @property logger - * @property {string[]} args - * @property argv - * @property {string[]} filePatterns - * @property {any[]} supportOptions - * @property detailedOptions - * @property detailedOptionMap - * @property apiDefaultOptions - * @property languages - * @property {Partial[]} stack - */ - -/** @returns {Context} */ - - -function createContext(args) { - const context = { - args, - stack: [] - }; - updateContextArgv(context); - normalizeContextArgv(context, ["loglevel", "plugin", "plugin-search-dir"]); - context.logger = createLogger(context.argv.loglevel); - updateContextArgv(context, context.argv.plugin, context.argv["plugin-search-dir"]); - return ( - /** @type {Context} */ - context - ); } -function initContext(context) { - // split into 2 step so that we could wrap this in a `try..catch` in cli/index.js - normalizeContextArgv(context); -} -/** - * @param {Context} context - * @param {string[]} plugins - * @param {string[]=} pluginSearchDirs - */ - - -function updateContextOptions(context, plugins, pluginSearchDirs) { - const { - options: supportOptions, - languages - } = src.getSupportInfo({ - showDeprecated: true, - showUnreleased: true, - showInternal: true, - plugins, - pluginSearchDirs - }); - const detailedOptionMap = normalizeDetailedOptionMap(Object.assign({}, createDetailedOptionMap(supportOptions), constant$1.options)); - const detailedOptions = arrayify(detailedOptionMap, "name"); - const apiDefaultOptions = Object.assign({}, optionsModule.hiddenDefaults, fromPairs_1(supportOptions.filter(({ - deprecated - }) => !deprecated).map(option => [option.name, option.default]))); - Object.assign(context, { - supportOptions, - detailedOptions, - detailedOptionMap, - apiDefaultOptions, - languages - }); -} -/** - * @param {Context} context - * @param {string[]} plugins - * @param {string[]=} pluginSearchDirs - */ - - -function pushContextPlugins(context, plugins, pluginSearchDirs) { - context.stack.push(pick_1(context, ["supportOptions", "detailedOptions", "detailedOptionMap", "apiDefaultOptions", "languages"])); - updateContextOptions(context, plugins, pluginSearchDirs); -} -/** - * @param {Context} context - */ - - -function popContextPlugins(context) { - Object.assign(context, context.stack.pop()); -} - -function updateContextArgv(context, plugins, pluginSearchDirs) { - pushContextPlugins(context, plugins, pluginSearchDirs); - const minimistOptions = createMinimistOptions(context.detailedOptions); - const argv = minimist_1(context.args, minimistOptions); - context.argv = argv; - context.filePatterns = argv._; -} - -function normalizeContextArgv(context, keys) { - const detailedOptions = !keys ? context.detailedOptions : context.detailedOptions.filter(option => keys.includes(option.name)); - const argv = !keys ? context.argv : pick_1(context.argv, keys); - context.argv = optionsNormalizer.normalizeCliOptions(argv, detailedOptions, { - logger: context.logger - }); -} //------------------------------context-util-end-------------------------------- - - -var util$1 = { - createContext, +var core = { + Context, createDetailedOptionMap, createDetailedUsage, createUsage, format, formatFiles, formatStdin, - initContext, logResolvedConfigPathOrDie, logFileInfoOrDie, - normalizeDetailedOptionMap + normalizeDetailedOptionMap, + parseArgvWithoutPlugins, + createLogger }; -var require$$1 = getCjsExportFromNamespace(_package$1); +pleaseUpgradeNode(packageJson); // eslint-disable-next-line import/order +// eslint-disable-next-line no-restricted-modules -pleaseUpgradeNode(require$$1); // eslint-disable-next-line no-restricted-modules - -function run(args) { - const context = util$1.createContext(args); +async function run(rawArguments) { + // Create a default level logger, so we can log errors during `logLevel` parsing + let logger = core.createLogger(); try { - util$1.initContext(context); - context.logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`); + const logLevel = core.parseArgvWithoutPlugins(rawArguments, logger, "loglevel").loglevel; - if (context.argv.check && context.argv["list-different"]) { - context.logger.error("Cannot use --check and --list-different together."); - process.exit(1); + if (logLevel !== logger.logLevel) { + logger = core.createLogger(logLevel); } - if (context.argv.write && context.argv["debug-check"]) { - context.logger.error("Cannot use --write and --debug-check together."); - process.exit(1); - } - - if (context.argv["find-config-path"] && context.filePatterns.length) { - context.logger.error("Cannot use --find-config-path with multiple files"); - process.exit(1); - } - - if (context.argv["file-info"] && context.filePatterns.length) { - context.logger.error("Cannot use --file-info with multiple files"); - process.exit(1); - } - - if (context.argv.version) { - context.logger.log(src.version); - process.exit(0); - } - - if (context.argv.help !== undefined) { - context.logger.log(typeof context.argv.help === "string" && context.argv.help !== "" ? util$1.createDetailedUsage(context, context.argv.help) : util$1.createUsage(context)); - process.exit(0); - } - - if (context.argv["support-info"]) { - context.logger.log(src.format(fastJsonStableStringify(src.getSupportInfo()), { - parser: "json" - })); - process.exit(0); - } - - const hasFilePatterns = context.filePatterns.length !== 0; - const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.args["stdin-filepath"]); - - if (context.argv["find-config-path"]) { - util$1.logResolvedConfigPathOrDie(context); - } else if (context.argv["file-info"]) { - util$1.logFileInfoOrDie(context); - } else if (useStdin) { - util$1.formatStdin(context); - } else if (hasFilePatterns) { - util$1.formatFiles(context); - } else { - context.logger.log(util$1.createUsage(context)); - process.exit(1); - } + await main(rawArguments, logger); } catch (error) { - context.logger.error(error.message); - process.exit(1); + logger.error(error.message); + process.exitCode = 1; + } +} + +async function main(rawArguments, logger) { + const context = new core.Context({ + rawArguments, + logger + }); + logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`); + + if (context.argv.check && context.argv["list-different"]) { + throw new Error("Cannot use --check and --list-different together."); + } + + if (context.argv.write && context.argv["debug-check"]) { + throw new Error("Cannot use --write and --debug-check together."); + } + + if (context.argv["find-config-path"] && context.filePatterns.length > 0) { + throw new Error("Cannot use --find-config-path with multiple files"); + } + + if (context.argv["file-info"] && context.filePatterns.length > 0) { + throw new Error("Cannot use --file-info with multiple files"); + } + + if (context.argv.version) { + logger.log(prettier$1.version); + return; + } + + if (context.argv.help !== undefined) { + logger.log(typeof context.argv.help === "string" && context.argv.help !== "" ? core.createDetailedUsage(context, context.argv.help) : core.createUsage(context)); + return; + } + + if (context.argv["support-info"]) { + logger.log(prettier$1.format(fastJsonStableStringify(prettier$1.getSupportInfo()), { + parser: "json" + })); + return; + } + + const hasFilePatterns = context.filePatterns.length > 0; + const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.argv["stdin-filepath"]); + + if (context.argv["find-config-path"]) { + await core.logResolvedConfigPathOrDie(context); + } else if (context.argv["file-info"]) { + await core.logFileInfoOrDie(context); + } else if (useStdin) { + await core.formatStdin(context); + } else if (hasFilePatterns) { + await core.formatFiles(context); + } else { + logger.log(core.createUsage(context)); + process.exitCode = 1; } } @@ -16520,4 +18810,6 @@ var cli = { run }; -cli.run(process.argv.slice(2)); +var prettier = cli.run(process.argv.slice(2)); + +module.exports = prettier; diff --git a/node_modules/prettier/doc.js b/node_modules/prettier/doc.js index bab01056e..ce91300fe 100644 --- a/node_modules/prettier/doc.js +++ b/node_modules/prettier/doc.js @@ -29,7 +29,7 @@ */ - function indent(contents) { + function indent$1(contents) { return { type: "indent", @@ -37,18 +37,18 @@ }; } /** - * @param {number | string} n + * @param {number | string} widthOrString * @param {Doc} contents * @returns Doc */ - function align(n, contents) { + function align(widthOrString, contents) { return { type: "align", contents, - n + n: widthOrString }; } /** @@ -58,14 +58,13 @@ */ - function group(contents, opts) { - opts = opts || {}; + function group(contents, opts = {}) { return { type: "group", id: opts.id, contents, - break: !!opts.shouldBreak, + break: Boolean(opts.shouldBreak), expandedStates: opts.expandedStates }; } @@ -76,7 +75,7 @@ function dedentToRoot(contents) { - return align(-Infinity, contents); + return align(Number.NEGATIVE_INFINITY, contents); } /** * @param {Doc} contents @@ -107,7 +106,7 @@ function conditionalGroup(states, opts) { - return group(states[0], Object.assign({}, opts, { + return group(states[0], Object.assign(Object.assign({}, opts), {}, { expandedStates: states })); } @@ -117,7 +116,7 @@ */ - function fill(parts) { + function fill$1(parts) { return { type: "fill", @@ -132,8 +131,7 @@ */ - function ifBreak(breakContents, flatContents, opts) { - opts = opts || {}; + function ifBreak(breakContents, flatContents, opts = {}) { return { type: "if-break", @@ -142,6 +140,22 @@ groupId: opts.groupId }; } + /** + * Optimized version of `ifBreak(indent(doc), doc, { groupId: ... })` + * @param {Doc} contents + * @param {{ groupId: symbol, negate?: boolean }} opts + * @returns Doc + */ + + + function indentIfBreak(contents, opts) { + return { + type: "indent-if-break", + contents, + groupId: opts.groupId, + negate: opts.negate + }; + } /** * @param {Doc} contents * @returns Doc @@ -162,26 +176,30 @@ const breakParent = { type: "break-parent" }; - const trim = { + const trim$1 = { type: "trim" }; + const hardlineWithoutBreakParent = { + type: "line", + hard: true + }; + const literallineWithoutBreakParent = { + type: "line", + hard: true, + literal: true + }; const line = { type: "line" }; const softline = { type: "line", soft: true - }; - const hardline = concat([{ - type: "line", - hard: true - }, breakParent]); - const literalline = concat([{ - type: "line", - hard: true, - literal: true - }, breakParent]); - const cursor = { + }; // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + + const hardline = concat([hardlineWithoutBreakParent, breakParent]); // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + + const literalline$1 = concat([literallineWithoutBreakParent, breakParent]); + const cursor$1 = { type: "cursor", placeholder: Symbol("cursor") }; @@ -191,7 +209,7 @@ * @returns Doc */ - function join(sep, arr) { + function join$1(sep, arr) { const res = []; for (let i = 0; i < arr.length; i++) { @@ -200,7 +218,8 @@ } res.push(arr[i]); - } + } // eslint-disable-next-line prettier-internal-rules/no-doc-builder-concat + return concat(res); } @@ -217,41 +236,53 @@ if (size > 0) { // Use indent to add tabs for all the levels of tabs we need for (let i = 0; i < Math.floor(size / tabWidth); ++i) { - aligned = indent(aligned); + aligned = indent$1(aligned); } // Use align for all the spaces that are needed aligned = align(size % tabWidth, aligned); // size is absolute from 0 and not relative to the current // indentation, so we use -Infinity to reset the indentation to 0 - aligned = align(-Infinity, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); } return aligned; } + function label(label, contents) { + return { + type: "label", + label, + contents + }; + } + var docBuilders = { concat, - join, + join: join$1, line, softline, hardline, - literalline, + literalline: literalline$1, group, conditionalGroup, - fill, + fill: fill$1, lineSuffix, lineSuffixBoundary, - cursor, + cursor: cursor$1, breakParent, ifBreak, - trim, - indent, + trim: trim$1, + indent: indent$1, + indentIfBreak, align, addAlignmentToDoc, markAsRoot, dedentToRoot, - dedent + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label }; var ansiRegex = ({ @@ -295,22 +326,26 @@ }; var isFullwidthCodePoint_1 = isFullwidthCodePoint; - var _default = isFullwidthCodePoint; - isFullwidthCodePoint_1.default = _default; + var _default$1 = isFullwidthCodePoint; + isFullwidthCodePoint_1.default = _default$1; - var emojiRegex = function emojiRegex() { + var emojiRegex = function () { // https://mths.be/emoji return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; const stringWidth = string => { - string = string.replace(emojiRegex(), ' '); - if (typeof string !== 'string' || string.length === 0) { return 0; } string = stripAnsi(string); + + if (string.length === 0) { + return 0; + } + + string = string.replace(emojiRegex(), ' '); let width = 0; for (let i = 0; i < string.length; i++) { @@ -338,8 +373,8 @@ var stringWidth_1 = stringWidth; // TODO: remove this in the next major version - var _default$1 = stringWidth; - stringWidth_1.default = _default$1; + var _default = stringWidth; + stringWidth_1.default = _default; var escapeStringRegexp = string => { if (typeof string !== 'string') { @@ -351,7 +386,9 @@ return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'); }; - var getLast = arr => arr[arr.length - 1]; + const getLast$1 = arr => arr[arr.length - 1]; + + var getLast_1 = getLast$1; function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; @@ -368,177 +405,1141 @@ return target; } - function _taggedTemplateLiteral(strings, raw) { - if (!raw) { - raw = strings.slice(0); + function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } } - return Object.freeze(Object.defineProperties(strings, { - raw: { - value: Object.freeze(raw) - } - })); + return target; } - var global$1 = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}; + var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + function createCommonjsModule(fn) { + var module = { exports: {} }; + return fn(module, module.exports), module.exports; + } + + var check = function (it) { + return it && it.Math == Math && it; + }; + + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global$2 = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + var fails = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } + }; + + // Detect IE8's incomplete defineProperty implementation + var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + }); + + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + + // Nashorn ~ JDK8 bug + var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); + + // `Object.prototype.propertyIsEnumerable` method implementation + // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable + var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$1(this, V); + return !!descriptor && descriptor.enumerable; + } : $propertyIsEnumerable; + + var objectPropertyIsEnumerable = { + f: f$4 + }; + + var createPropertyDescriptor = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var toString = {}.toString; + + var classofRaw = function (it) { + return toString.call(it).slice(8, -1); + }; + + var split = ''.split; + + // fallback for non-array-like ES3 and non-enumerable old V8 strings + var indexedObject = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); + }) ? function (it) { + return classofRaw(it) == 'String' ? split.call(it, '') : Object(it); + } : Object; + + // `RequireObjectCoercible` abstract operation + // https://tc39.es/ecma262/#sec-requireobjectcoercible + var requireObjectCoercible = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; + }; + + // toObject with fallback for non-array-like ES3 strings + + + + var toIndexedObject = function (it) { + return indexedObject(requireObjectCoercible(it)); + }; + + var isObject = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + + // `ToPrimitive` abstract operation + // https://tc39.es/ecma262/#sec-toprimitive + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + var toPrimitive = function (input, PREFERRED_STRING) { + if (!isObject(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); + }; + + // `ToObject` abstract operation + // https://tc39.es/ecma262/#sec-toobject + var toObject = function (argument) { + return Object(requireObjectCoercible(argument)); + }; + + var hasOwnProperty = {}.hasOwnProperty; + + var has$1 = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty.call(toObject(it), key); + }; + + var document$1 = global$2.document; + // typeof document.createElement is 'object' in old IE + var EXISTS = isObject(document$1) && isObject(document$1.createElement); + + var documentCreateElement = function (it) { + return EXISTS ? document$1.createElement(it) : {}; + }; + + // Thank's IE8 for his funny defineProperty + var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(documentCreateElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; + }); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor + var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (ie8DomDefine) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); + }; + + var objectGetOwnPropertyDescriptor = { + f: f$3 + }; + + var anObject = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; + }; + + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; + + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (ie8DomDefine) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; + }; + + var objectDefineProperty = { + f: f$2 + }; + + var createNonEnumerableProperty = descriptors ? function (object, key, value) { + return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + + var setGlobal = function (key, value) { + try { + createNonEnumerableProperty(global$2, key, value); + } catch (error) { + global$2[key] = value; + } return value; + }; + + var SHARED = '__core-js_shared__'; + var store$1 = global$2[SHARED] || setGlobal(SHARED, {}); + + var sharedStore = store$1; + + var functionToString = Function.toString; + + // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper + if (typeof sharedStore.inspectSource != 'function') { + sharedStore.inspectSource = function (it) { + return functionToString.call(it); + }; + } + + var inspectSource = sharedStore.inspectSource; + + var WeakMap$2 = global$2.WeakMap; + + var nativeWeakMap = typeof WeakMap$2 === 'function' && /native code/.test(inspectSource(WeakMap$2)); + + var shared = createCommonjsModule(function (module) { + (module.exports = function (key, value) { + return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); + })('versions', []).push({ + version: '3.14.0', + mode: 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' + }); + }); + + var id = 0; + var postfix = Math.random(); + + var uid = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); + }; + + var keys = shared('keys'); + + var sharedKey = function (key) { + return keys[key] || (keys[key] = uid(key)); + }; + + var hiddenKeys$1 = {}; + + var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; + var WeakMap$1 = global$2.WeakMap; + var set, get, has; + + var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); + }; + + var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; + }; + + if (nativeWeakMap || sharedStore.state) { + var store = sharedStore.state || (sharedStore.state = new WeakMap$1()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; + } else { + var STATE = sharedKey('state'); + hiddenKeys$1[STATE] = true; + set = function (it, metadata) { + if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return has$1(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return has$1(it, STATE); + }; + } + + var internalState = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor + }; + + var redefine = createCommonjsModule(function (module) { + var getInternalState = internalState.get; + var enforceInternalState = internalState.enforce; + var TEMPLATE = String(String).split('String'); + + (module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var state; + if (typeof value == 'function') { + if (typeof key == 'string' && !has$1(value, 'name')) { + createNonEnumerableProperty(value, 'name', key); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + } + if (O === global$2) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); + }); + }); + + var path = global$2; + + var aFunction$1 = function (variable) { + return typeof variable == 'function' ? variable : undefined; + }; + + var getBuiltIn = function (namespace, method) { + return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$2[namespace]) + : path[namespace] && path[namespace][method] || global$2[namespace] && global$2[namespace][method]; + }; + + var ceil = Math.ceil; + var floor$1 = Math.floor; + + // `ToInteger` abstract operation + // https://tc39.es/ecma262/#sec-tointeger + var toInteger = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument); + }; + + var min$1 = Math.min; + + // `ToLength` abstract operation + // https://tc39.es/ecma262/#sec-tolength + var toLength = function (argument) { + return argument > 0 ? min$1(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 + }; + + var max = Math.max; + var min = Math.min; + + // Helper for a popular repeating case of the spec: + // Let integer be ? ToInteger(index). + // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). + var toAbsoluteIndex = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); + }; + + // `Array.prototype.{ indexOf, includes }` methods implementation + var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; + }; + + var arrayIncludes = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) + }; + + var indexOf = arrayIncludes.indexOf; + + + var objectKeysInternal = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has$1(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; + }; + + // IE8- don't enum bug keys + var enumBugKeys = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' + ]; + + var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe + var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return objectKeysInternal(O, hiddenKeys); + }; + + var objectGetOwnPropertyNames = { + f: f$1 + }; + + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe + var f = Object.getOwnPropertySymbols; + + var objectGetOwnPropertySymbols = { + f: f + }; + + // all object keys, includes non-enumerable and symbols + var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = objectGetOwnPropertyNames.f(anObject(it)); + var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; + }; + + var copyConstructorProperties = function (target, source) { + var keys = ownKeys(source); + var defineProperty = objectDefineProperty.f; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + }; + + var replacement = /#|\.prototype\./; + + var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; + }; + + var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); + }; + + var data = isForced.data = {}; + var NATIVE = isForced.NATIVE = 'N'; + var POLYFILL = isForced.POLYFILL = 'P'; + + var isForced_1 = isForced; + + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + + + + + + + /* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target + */ + var _export = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global$2; + } else if (STATIC) { + target = global$2[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global$2[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } + }; + + // `IsArray` abstract operation + // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe + var isArray = Array.isArray || function isArray(arg) { + return classofRaw(arg) == 'Array'; + }; + + var aFunction = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; + }; + + // optional / simple context binding + var functionBindContext = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; + }; + + // `FlattenIntoArray` abstract operation + // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray + var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false; + var element; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; + }; + + var flattenIntoArray_1 = flattenIntoArray; + + var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; + + var process = global$2.process; + var versions$1 = process && process.versions; + var v8 = versions$1 && versions$1.v8; + var match, version$2; + + if (v8) { + match = v8.split('.'); + version$2 = match[0] < 4 ? 1 : match[0] + match[1]; + } else if (engineUserAgent) { + match = engineUserAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = engineUserAgent.match(/Chrome\/(\d+)/); + if (match) version$2 = match[1]; + } + } + + var engineV8Version = version$2 && +version$2; + + /* eslint-disable es/no-symbol -- required for testing */ + + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing + var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && engineV8Version && engineV8Version < 41; + }); + + /* eslint-disable es/no-symbol -- required for testing */ + + var useSymbolAsUid = nativeSymbol + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + var WellKnownSymbolsStore = shared('wks'); + var Symbol$1 = global$2.Symbol; + var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid; + + var wellKnownSymbol = function (name) { + if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) { + if (nativeSymbol && has$1(Symbol$1, name)) { + WellKnownSymbolsStore[name] = Symbol$1[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } return WellKnownSymbolsStore[name]; + }; + + var SPECIES = wellKnownSymbol('species'); + + // `ArraySpeciesCreate` abstract operation + // https://tc39.es/ecma262/#sec-arrayspeciescreate + var arraySpeciesCreate = function (originalArray, length) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); + }; + + // `Array.prototype.flatMap` method + // https://tc39.es/ecma262/#sec-array.prototype.flatmap + _export({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = toLength(O.length); + var A; + aFunction(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } + }); + + // TODO: use something more complex like timsort? + var floor = Math.floor; + + var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge( + mergeSort(array.slice(0, middle), comparefn), + mergeSort(array.slice(middle), comparefn), + comparefn + ); + }; + + var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; + }; + + var merge = function (left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + var result = []; + + while (lindex < llength || rindex < rlength) { + if (lindex < llength && rindex < rlength) { + result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]); + } else { + result.push(lindex < llength ? left[lindex++] : right[rindex++]); + } + } return result; + }; + + var arraySort = mergeSort; + + var arrayMethodIsStrict = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); + }; + + var firefox = engineUserAgent.match(/firefox\/(\d+)/i); + + var engineFfVersion = !!firefox && +firefox[1]; + + var engineIsIeOrEdge = /MSIE|Trident/.test(engineUserAgent); + + var webkit = engineUserAgent.match(/AppleWebKit\/(\d+)\./); + + var engineWebkitVersion = !!webkit && +webkit[1]; + + var test$1 = []; + var nativeSort = test$1.sort; + + // IE8- + var FAILS_ON_UNDEFINED = fails(function () { + test$1.sort(undefined); + }); + // V8 bug + var FAILS_ON_NULL = fails(function () { + test$1.sort(null); + }); + // Old WebKit + var STRICT_METHOD = arrayMethodIsStrict('sort'); + + var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (engineV8Version) return engineV8Version < 70; + if (engineFfVersion && engineFfVersion > 3) return; + if (engineIsIeOrEdge) return true; + if (engineWebkitVersion) return engineWebkitVersion < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test$1.push({ k: chr + index, v: value }); + } + } + + test$1.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test$1.length; index++) { + chr = test$1[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; + }); + + var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + + var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return String(x) > String(y) ? 1 : -1; + }; + }; + + // `Array.prototype.sort` method + // https://tc39.es/ecma262/#sec-array.prototype.sort + _export({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aFunction(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn); + + var items = []; + var arrayLength = toLength(array.length); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) items.push(array[index]); + } + + items = arraySort(items, getSortCompare(comparefn)); + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } + }); + + var iterators = {}; + + var ITERATOR$1 = wellKnownSymbol('iterator'); + var ArrayPrototype = Array.prototype; + + // check on default Array iterator + var isArrayIteratorMethod = function (it) { + return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$1] === it); + }; + + var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); + var test = {}; + + test[TO_STRING_TAG$1] = 'z'; + + var toStringTagSupport = String(test) === '[object z]'; + + var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + // ES3 wrong here + var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + + // fallback for IE11 Script Access Denied error + var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } + }; + + // getting tag from ES6+ `Object.prototype.toString` + var classof = toStringTagSupport ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; + }; + + var ITERATOR = wellKnownSymbol('iterator'); + + var getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || iterators[classof(it)]; + }; + + var iteratorClose = function (iterator) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return anObject(returnMethod.call(iterator)).value; + } + }; + + var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; + }; + + var iterate = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = callFn(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); + } + iterator = iterFn.call(iterable); + } + + next = iterator.next; + while (!(step = next.call(iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator); + throw error; + } + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); + }; + + var createProperty = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; + }; + + // `Object.fromEntries` method + // https://github.com/tc39/proposal-object-from-entries + _export({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } + }); + + var global$1 = (typeof global$1 !== "undefined" ? global$1 : + typeof self !== "undefined" ? self : + typeof window !== "undefined" ? window : {}); + + // shim for using process in browser // based off https://github.com/defunctzombie/node-process/blob/master/browser.js function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); + throw new Error('setTimeout has not been defined'); } - - function defaultClearTimeout() { - throw new Error('clearTimeout has not been defined'); + function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); } - var cachedSetTimeout = defaultSetTimout; var cachedClearTimeout = defaultClearTimeout; - if (typeof global$1.setTimeout === 'function') { - cachedSetTimeout = setTimeout; + cachedSetTimeout = setTimeout; } - if (typeof global$1.clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; + cachedClearTimeout = clearTimeout; } function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } // if setTimeout wasn't available but was latter defined - - - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } } - } - } + + } function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } // if clearTimeout wasn't available but was latter defined - - - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } } - } - } + + + } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - - draining = false; - - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - - if (queue.length) { - drainQueue(); - } + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } } function drainQueue() { - if (draining) { - return; - } - - var timeout = runTimeout(cleanUpNextTick); - draining = true; - var len = queue.length; - - while (len) { - currentQueue = queue; - queue = []; - - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } + if (draining) { + return; } + var timeout = runTimeout(cleanUpNextTick); + draining = true; - queueIndex = -1; - len = queue.length; - } - - currentQueue = null; - draining = false; - runClearTimeout(timeout); + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); } - function nextTick(fun) { - var args = new Array(arguments.length - 1); - - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); } - } - - queue.push(new Item(fun, args)); - - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } - } // v8 likes predictible objects - - function Item(fun, array) { - this.fun = fun; - this.array = array; } - + // v8 likes predictible objects + function Item(fun, array) { + this.fun = fun; + this.array = array; + } Item.prototype.run = function () { - this.fun.apply(null, this.array); + this.fun.apply(null, this.array); }; - var title = 'browser'; var platform = 'browser'; - var browser = true; + var browser$1 = true; var env = {}; var argv = []; - var version = ''; // empty string to avoid regexp issues - + var version$1 = ''; // empty string to avoid regexp issues var versions = {}; var release = {}; var config = {}; @@ -552,57 +1553,57 @@ var removeListener = noop; var removeAllListeners = noop; var emit = noop; + function binding(name) { - throw new Error('process.binding is not supported'); + throw new Error('process.binding is not supported'); } - function cwd() { - return '/'; - } - function chdir(dir) { - throw new Error('process.chdir is not supported'); - } - function umask() { - return 0; - } // from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js + function cwd () { return '/' } + function chdir (dir) { + throw new Error('process.chdir is not supported'); + }function umask() { return 0; } + + // from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js var performance = global$1.performance || {}; + var performanceNow = + performance.now || + performance.mozNow || + performance.msNow || + performance.oNow || + performance.webkitNow || + function(){ return (new Date()).getTime() }; - var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function () { - return new Date().getTime(); - }; // generate timestamp or delta + // generate timestamp or delta // see http://nodejs.org/api/process.html#process_process_hrtime - - - function hrtime(previousTimestamp) { - var clocktime = performanceNow.call(performance) * 1e-3; + function hrtime(previousTimestamp){ + var clocktime = performanceNow.call(performance)*1e-3; var seconds = Math.floor(clocktime); - var nanoseconds = Math.floor(clocktime % 1 * 1e9); - + var nanoseconds = Math.floor((clocktime%1)*1e9); if (previousTimestamp) { seconds = seconds - previousTimestamp[0]; nanoseconds = nanoseconds - previousTimestamp[1]; - - if (nanoseconds < 0) { + if (nanoseconds<0) { seconds--; nanoseconds += 1e9; } } - - return [seconds, nanoseconds]; + return [seconds,nanoseconds] } + var startTime = new Date(); function uptime() { var currentTime = new Date(); var dif = currentTime - startTime; return dif / 1000; } - var process = { + + var browser$1$1 = { nextTick: nextTick, title: title, - browser: browser, + browser: browser$1, env: env, argv: argv, - version: version, + version: version$1, versions: versions, on: on, addListener: addListener, @@ -622,43 +1623,25 @@ uptime: uptime }; - const debug = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error('SEMVER', ...args) : () => {}; + const debug = typeof browser$1$1 === 'object' && browser$1$1.env && browser$1$1.env.NODE_DEBUG && /\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG) ? (...args) => console.error('SEMVER', ...args) : () => {}; var debug_1 = debug; // Note: this is the semver.org version of the spec that it implements // Not necessarily the package version of this code. const SEMVER_SPEC_VERSION = '2.0.0'; - const MAX_LENGTH = 256; - const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || + const MAX_LENGTH$1 = 256; + const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ 9007199254740991; // Max safe segment length for coercion. const MAX_SAFE_COMPONENT_LENGTH = 16; var constants = { SEMVER_SPEC_VERSION, - MAX_LENGTH, - MAX_SAFE_INTEGER, + MAX_LENGTH: MAX_LENGTH$1, + MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, MAX_SAFE_COMPONENT_LENGTH }; - function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); - } - }, fn(module, module.exports), module.exports; - } - - function getCjsExportFromNamespace (n) { - return n && n['default'] || n; - } - - function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); - } - var re_1 = createCommonjsModule(function (module, exports) { const { MAX_SAFE_COMPONENT_LENGTH @@ -690,24 +1673,24 @@ createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version // Three dot-separated numeric identifiers. - createToken('MAINVERSION', "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")")); - createToken('MAINVERSIONLOOSE', "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")")); // ## Pre-release Version Identifier + createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`); + createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`); // ## Pre-release Version Identifier // A numeric identifier, or a non-numeric identifier. - createToken('PRERELEASEIDENTIFIER', "(?:".concat(src[t.NUMERICIDENTIFIER], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); - createToken('PRERELEASEIDENTIFIERLOOSE', "(?:".concat(src[t.NUMERICIDENTIFIERLOOSE], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); // ## Pre-release Version + createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); + createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); // ## Pre-release Version // Hyphen, followed by one or more dot-separated pre-release version // identifiers. - createToken('PRERELEASE', "(?:-(".concat(src[t.PRERELEASEIDENTIFIER], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIER], ")*))")); - createToken('PRERELEASELOOSE', "(?:-?(".concat(src[t.PRERELEASEIDENTIFIERLOOSE], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIERLOOSE], ")*))")); // ## Build Metadata Identifier + createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); + createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); // ## Build Metadata Identifier // Any combination of digits, letters, or hyphens. createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata // Plus sign, followed by one or more period-separated build metadata // identifiers. - createToken('BUILD', "(?:\\+(".concat(src[t.BUILDIDENTIFIER], "(?:\\.").concat(src[t.BUILDIDENTIFIER], ")*))")); // ## Full Version String + createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); // ## Full Version String // A main version, followed optionally by a pre-release version and // build metadata. // Note that the only major, minor, patch, and pre-release sections of @@ -715,54 +1698,54 @@ // capturing group, because it should not ever be used in version // comparison. - createToken('FULLPLAIN', "v?".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], "?").concat(src[t.BUILD], "?")); - createToken('FULL', "^".concat(src[t.FULLPLAIN], "$")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. + createToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); + createToken('FULL', `^${src[t.FULLPLAIN]}$`); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty // common in the npm registry. - createToken('LOOSEPLAIN', "[v=\\s]*".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], "?").concat(src[t.BUILD], "?")); - createToken('LOOSE', "^".concat(src[t.LOOSEPLAIN], "$")); + createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); + createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`); createToken('GTLT', '((?:<|>)?=?)'); // Something like "2.*" or "1.2.x". // Note that "x.x" is a valid xRange identifer, meaning "any version" // Only the first item is strictly required. - createToken('XRANGEIDENTIFIERLOOSE', "".concat(src[t.NUMERICIDENTIFIERLOOSE], "|x|X|\\*")); - createToken('XRANGEIDENTIFIER', "".concat(src[t.NUMERICIDENTIFIER], "|x|X|\\*")); - createToken('XRANGEPLAIN', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:".concat(src[t.PRERELEASE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGEPLAINLOOSE', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:".concat(src[t.PRERELEASELOOSE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAIN], "$")); - createToken('XRANGELOOSE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAINLOOSE], "$")); // Coercion. + createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); + createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); + createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`); + createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`); + createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); + createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); // Coercion. // Extract anything that could conceivably be a part of a valid semver - createToken('COERCE', "".concat('(^|[^\\d])' + '(\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, "})") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:$|[^\\d])"); + createToken('COERCE', `${'(^|[^\\d])' + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:$|[^\\d])`); createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges. // Meaning is "reasonably at or greater than" createToken('LONETILDE', '(?:~>?)'); - createToken('TILDETRIM', "(\\s*)".concat(src[t.LONETILDE], "\\s+"), true); + createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true); exports.tildeTrimReplace = '$1~'; - createToken('TILDE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], "$")); - createToken('TILDELOOSE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], "$")); // Caret ranges. + createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); + createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); // Caret ranges. // Meaning is "at least and backwards compatible with" createToken('LONECARET', '(?:\\^)'); - createToken('CARETTRIM', "(\\s*)".concat(src[t.LONECARET], "\\s+"), true); + createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true); exports.caretTrimReplace = '$1^'; - createToken('CARET', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], "$")); - createToken('CARETLOOSE', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], "$")); // A simple gt/lt/eq thing, or just "" to indicate "any version" + createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); + createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); // A simple gt/lt/eq thing, or just "" to indicate "any version" - createToken('COMPARATORLOOSE', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], ")$|^$")); - createToken('COMPARATOR', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.FULLPLAIN], ")$|^$")); // An expression to strip any whitespace between the gtlt and the thing + createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); + createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); // An expression to strip any whitespace between the gtlt and the thing // it modifies, so that `> 1.2.3` ==> `>1.2.3` - createToken('COMPARATORTRIM', "(\\s*)".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], "|").concat(src[t.XRANGEPLAIN], ")"), true); + createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` // Note that these all use the loose form, because they'll be // checked against either the strict or loose comparator form // later. - createToken('HYPHENRANGE', "^\\s*(".concat(src[t.XRANGEPLAIN], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAIN], ")") + "\\s*$"); - createToken('HYPHENRANGELOOSE', "^\\s*(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s*$"); // Star ranges basically just allow anything at all. + createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`); + createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`); // Star ranges basically just allow anything at all. createToken('STAR', '(<|>)?=?\\s*\\*'); // >=0.0.0 is like a star @@ -770,9 +1753,22 @@ createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$'); }); + // parse out just the options we care about so we always get a consistent + // obj with keys in a consistent order. + const opts = ['includePrerelease', 'loose', 'rtl']; + + const parseOptions = options => !options ? {} : typeof options !== 'object' ? { + loose: true + } : opts.filter(k => options[k]).reduce((options, k) => { + options[k] = true; + return options; + }, {}); + + var parseOptions_1 = parseOptions; + const numeric = /^[0-9]+$/; - const compareIdentifiers = (a, b) => { + const compareIdentifiers$1 = (a, b) => { const anum = numeric.test(a); const bnum = numeric.test(b); @@ -784,33 +1780,28 @@ return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; }; - const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); + const rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); var identifiers = { - compareIdentifiers, + compareIdentifiers: compareIdentifiers$1, rcompareIdentifiers }; const { - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1 + MAX_LENGTH, + MAX_SAFE_INTEGER } = constants; const { re, t } = re_1; const { - compareIdentifiers: compareIdentifiers$1 + compareIdentifiers } = identifiers; class SemVer { constructor(version, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } + options = parseOptions_1(options); if (version instanceof SemVer) { if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { @@ -819,11 +1810,11 @@ version = version.version; } } else if (typeof version !== 'string') { - throw new TypeError("Invalid Version: ".concat(version)); + throw new TypeError(`Invalid Version: ${version}`); } - if (version.length > MAX_LENGTH$1) { - throw new TypeError("version is longer than ".concat(MAX_LENGTH$1, " characters")); + if (version.length > MAX_LENGTH) { + throw new TypeError(`version is longer than ${MAX_LENGTH} characters`); } debug_1('SemVer', version, options); @@ -835,7 +1826,7 @@ const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); if (!m) { - throw new TypeError("Invalid Version: ".concat(version)); + throw new TypeError(`Invalid Version: ${version}`); } this.raw = version; // these are actually numbers @@ -844,15 +1835,15 @@ this.minor = +m[2]; this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER$1 || this.major < 0) { + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { throw new TypeError('Invalid major version'); } - if (this.minor > MAX_SAFE_INTEGER$1 || this.minor < 0) { + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { throw new TypeError('Invalid minor version'); } - if (this.patch > MAX_SAFE_INTEGER$1 || this.patch < 0) { + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { throw new TypeError('Invalid patch version'); } // numberify any prerelease numeric ids @@ -864,7 +1855,7 @@ if (/^[0-9]+$/.test(id)) { const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER$1) { + if (num >= 0 && num < MAX_SAFE_INTEGER) { return num; } } @@ -878,10 +1869,10 @@ } format() { - this.version = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); + this.version = `${this.major}.${this.minor}.${this.patch}`; if (this.prerelease.length) { - this.version += "-".concat(this.prerelease.join('.')); + this.version += `-${this.prerelease.join('.')}`; } return this.version; @@ -914,7 +1905,7 @@ other = new SemVer(other, this.options); } - return compareIdentifiers$1(this.major, other.major) || compareIdentifiers$1(this.minor, other.minor) || compareIdentifiers$1(this.patch, other.patch); + return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); } comparePre(other) { @@ -947,7 +1938,7 @@ } else if (a === b) { continue; } else { - return compareIdentifiers$1(a, b); + return compareIdentifiers(a, b); } } while (++i); } @@ -973,7 +1964,7 @@ } else if (a === b) { continue; } else { - return compareIdentifiers$1(a, b); + return compareIdentifiers(a, b); } } while (++i); } // preminor will bump the version up to the next minor release, and immediately @@ -1091,7 +2082,7 @@ break; default: - throw new Error("invalid increment argument: ".concat(release)); + throw new Error(`invalid increment argument: ${release}`); } this.format(); @@ -1101,9 +2092,9 @@ } - var semver = SemVer; + var semver$1 = SemVer; - const compare = (a, b, loose) => new semver(a, loose).compare(new semver(b, loose)); + const compare = (a, b, loose) => new semver$1(a, loose).compare(new semver$1(b, loose)); var compare_1 = compare; @@ -1120,7 +2111,7 @@ }, value)); var name = "prettier"; - var version$1 = "2.1.1"; + var version = "2.3.2"; var description = "Prettier is an opinionated code formatter"; var bin = "./bin/prettier.js"; var repository = "prettier/prettier"; @@ -1128,10 +2119,10 @@ var author = "James Long"; var license = "MIT"; var main = "./index.js"; - var browser$1 = "./standalone.js"; + var browser = "./standalone.js"; var unpkg = "./standalone.js"; var engines = { - node: ">=10.13.0" + node: ">=12.17.0" }; var files = [ "index.js", @@ -1140,48 +2131,50 @@ "bin" ]; var dependencies = { - "@angular/compiler": "10.0.12", - "@babel/code-frame": "7.10.4", - "@babel/parser": "7.11.2", - "@glimmer/syntax": "0.59.0", + "@angular/compiler": "12.0.5", + "@babel/code-frame": "7.14.5", + "@babel/parser": "7.14.6", + "@glimmer/syntax": "0.79.3", "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "3.10.0", - "angular-estree-parser": "2.2.0", - "angular-html-parser": "1.7.1", - camelcase: "6.0.0", - chalk: "4.1.0", - "ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540", - "cjk-regex": "2.0.0", + "@typescript-eslint/typescript-estree": "4.27.0", + "angular-estree-parser": "2.4.0", + "angular-html-parser": "1.8.0", + camelcase: "6.2.0", + chalk: "4.1.1", + "ci-info": "3.2.0", + "cjk-regex": "2.0.1", cosmiconfig: "7.0.0", dashify: "2.0.0", - diff: "4.0.2", + diff: "5.0.0", editorconfig: "0.15.3", - "editorconfig-to-prettier": "0.1.1", + "editorconfig-to-prettier": "0.2.0", "escape-string-regexp": "4.0.0", + espree: "7.3.1", esutils: "2.0.3", - "fast-glob": "3.2.4", + "fast-glob": "3.2.5", "fast-json-stable-stringify": "2.1.0", - "find-parent-dir": "0.3.0", - "flow-parser": "0.132.0", - "get-stream": "6.0.0", - globby: "11.0.1", - graphql: "15.3.0", - "html-element-attributes": "2.2.1", + "find-parent-dir": "0.3.1", + "flow-parser": "0.153.0", + "get-stdin": "8.0.0", + globby: "11.0.4", + graphql: "15.5.0", + "html-element-attributes": "2.3.0", "html-styles": "1.0.0", "html-tag-names": "1.1.5", "html-void-elements": "1.0.5", ignore: "4.0.6", - "jest-docblock": "26.0.0", - json5: "2.1.3", + "jest-docblock": "27.0.1", + json5: "2.2.0", leven: "3.1.0", "lines-and-columns": "1.1.6", - "linguist-languages": "7.10.0", - lodash: "4.17.20", - mem: "6.1.0", + "linguist-languages": "7.15.0", + lodash: "4.17.21", + mem: "8.1.1", + meriyah: "4.1.5", minimatch: "3.0.4", minimist: "1.2.5", - "n-readlines": "1.0.0", - outdent: "0.7.1", + "n-readlines": "1.0.1", + outdent: "0.8.0", "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", "please-upgrade-node": "3.2.0", "postcss-less": "3.1.4", @@ -1191,62 +2184,66 @@ "postcss-values-parser": "2.0.1", "regexp-util": "1.2.2", "remark-footnotes": "2.0.0", - "remark-math": "1.0.6", + "remark-math": "3.0.1", "remark-parse": "8.0.3", - resolve: "1.17.0", - semver: "7.3.2", - "string-width": "4.2.0", - typescript: "4.0.2", + resolve: "1.20.0", + semver: "7.3.5", + "string-width": "4.2.2", + "strip-ansi": "6.0.0", + typescript: "4.3.4", "unicode-regex": "3.0.0", - unified: "9.2.0", + unified: "9.2.1", vnopts: "1.0.2", - "yaml-unist-parser": "1.3.0" + wcwidth: "1.0.1", + "yaml-unist-parser": "1.3.1" }; var devDependencies = { - "@babel/core": "7.11.4", - "@babel/preset-env": "7.11.0", - "@babel/types": "7.11.0", - "@glimmer/reference": "0.59.0", - "@rollup/plugin-alias": "3.1.1", - "@rollup/plugin-babel": "5.2.0", - "@rollup/plugin-commonjs": "14.0.0", + "@babel/core": "7.14.6", + "@babel/preset-env": "7.14.5", + "@babel/types": "7.14.5", + "@glimmer/reference": "0.79.3", + "@rollup/plugin-alias": "3.1.2", + "@rollup/plugin-babel": "5.3.0", + "@rollup/plugin-commonjs": "18.1.0", "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "9.0.0", - "@rollup/plugin-replace": "2.3.3", - "@types/estree": "0.0.45", - "@types/node": "14.6.0", - "@typescript-eslint/types": "3.10.0", - "babel-loader": "8.1.0", + "@rollup/plugin-node-resolve": "13.0.0", + "@rollup/plugin-replace": "2.4.2", + "@types/estree": "0.0.48", + "babel-jest": "27.0.2", + "babel-loader": "8.2.2", benchmark: "2.1.4", - "builtin-modules": "3.1.0", - "cross-env": "7.0.2", - cspell: "4.1.0", - eslint: "7.7.0", - "eslint-config-prettier": "6.11.0", + "builtin-modules": "3.2.0", + "core-js": "3.14.0", + "cross-env": "7.0.3", + cspell: "4.2.8", + eslint: "7.29.0", + "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-import": "2.22.0", - "eslint-plugin-jest": "23.20.0", - "eslint-plugin-prettier-internal-rules": "file:scripts/tools/eslint-plugin-prettier-internal-rules", - "eslint-plugin-react": "7.20.6", - "eslint-plugin-unicorn": "21.0.0", - execa: "4.0.3", - jest: "26.4.2", + "eslint-plugin-import": "2.23.4", + "eslint-plugin-jest": "24.3.6", + "eslint-plugin-prettier-internal-rules": "link:scripts/tools/eslint-plugin-prettier-internal-rules", + "eslint-plugin-react": "7.24.0", + "eslint-plugin-regexp": "0.12.1", + "eslint-plugin-unicorn": "33.0.1", + "esm-utils": "1.1.0", + execa: "5.1.1", + jest: "27.0.4", "jest-snapshot-serializer-ansi": "1.0.0", - "jest-snapshot-serializer-raw": "1.1.0", - "jest-watch-typeahead": "0.6.0", + "jest-snapshot-serializer-raw": "1.2.0", + "jest-watch-typeahead": "0.6.4", "npm-run-all": "4.1.5", - prettier: "2.1.0", + "path-browserify": "1.0.1", + prettier: "2.3.1", + "pretty-bytes": "5.6.0", rimraf: "3.0.2", - rollup: "2.26.5", - "rollup-plugin-node-globals": "1.4.0", - "rollup-plugin-terser": "7.0.0", + rollup: "2.52.1", + "rollup-plugin-polyfill-node": "0.6.2", + "rollup-plugin-terser": "7.0.2", shelljs: "0.8.4", - "snapshot-diff": "0.8.1", - "strip-ansi": "6.0.0", - "synchronous-promise": "2.0.13", - tempy: "0.6.0", - "terser-webpack-plugin": "4.1.0", - webpack: "4.44.1" + "snapshot-diff": "0.9.0", + tempy: "1.0.1", + "terser-webpack-plugin": "5.1.3", + webpack: "5.39.1" }; var scripts = { prepublishOnly: "echo \"Error: must publish from dist/\" && exit 1", @@ -1255,27 +2252,27 @@ "test:dev-package": "cross-env INSTALL_PACKAGE=1 jest", "test:dist": "cross-env NODE_ENV=production jest", "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", - "test:integration": "jest tests_integration", + "test:integration": "jest tests/integration", "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", lint: "run-p lint:*", "lint:typecheck": "tsc", "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", + "lint:changelog": "node ./scripts/lint-changelog.mjs", "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2016 \"dist/!(bin-prettier|index|third-party).js\"", + "lint:dist": "eslint --no-eslintrc --no-ignore --no-inline-config --env=es6,browser --parser-options=ecmaVersion:2019 \"dist/!(bin-prettier|index|third-party).js\"", "lint:spellcheck": "cspell \"**/*\" \".github/**/*\"", - "lint:deps": "node ./scripts/check-deps.js", + "lint:deps": "node ./scripts/check-deps.mjs", fix: "run-s fix:eslint fix:prettier", "fix:eslint": "yarn lint:eslint --fix", "fix:prettier": "yarn lint:prettier --write", - build: "node ./scripts/build/build.js", - "build-docs": "node ./scripts/build-docs.js" + build: "node --max-old-space-size=3072 ./scripts/build/build.mjs", + "build-docs": "node ./scripts/build-docs.mjs" }; - var _package = { + var require$$3 = { name: name, - version: version$1, + version: version, description: description, bin: bin, repository: repository, @@ -1283,7 +2280,7 @@ author: author, license: license, main: main, - browser: browser$1, + browser: browser, unpkg: unpkg, engines: engines, files: files, @@ -1292,32 +2289,12 @@ scripts: scripts }; - var _package$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name, - version: version$1, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser$1, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts, - 'default': _package - }); - var lib = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true - }); // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. + }); + exports.outdent = void 0; // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. function noop() { var args = []; @@ -1328,7 +2305,7 @@ } function createWeakMap() { - if (typeof WeakMap !== 'undefined') { + if (typeof WeakMap !== "undefined") { return new WeakMap(); } else { return fakeSetOrMap(); @@ -1345,7 +2322,7 @@ delete: noop, get: noop, set: noop, - has: function has(k) { + has: function (k) { return false; } }; @@ -1354,7 +2331,7 @@ var hop = Object.prototype.hasOwnProperty; - var has = function has(obj, prop) { + var has = function (obj, prop) { return hop.call(obj, prop); }; // Copy all own enumerable properties from source to target @@ -1386,7 +2363,7 @@ } var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, 'g'); + var reMatchIndent = new RegExp(reSource, "g"); if (firstInterpolatedValueSetsIndentationLevel) { strings = strings.slice(1); @@ -1395,19 +2372,19 @@ var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === 'string'; + var normalizeNewlines = typeof newline === "string"; var l = strings.length; var outdentedStrings = strings.map(function (v, i) { // Remove leading indentation from all lines - v = v.replace(reMatchIndent, '$1'); // Trim a leading newline from the first string + v = v.replace(reMatchIndent, "$1"); // Trim a leading newline from the first string if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ''); + v = v.replace(reLeadingNewline, ""); } // Trim a trailing newline from the last string if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ''); + v = v.replace(reTrailingNewline, ""); } // Normalize newlines @@ -1423,7 +2400,7 @@ } function concatStringsAndValues(strings, values) { - var ret = ''; + var ret = ""; for (var i = 0, l = strings.length; i < l; i++) { ret += strings[i]; @@ -1437,7 +2414,7 @@ } function isTemplateStringsArray(v) { - return has(v, 'raw') && has(v, 'length'); + return has(v, "raw") && has(v, "length"); } /** * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to @@ -1451,9 +2428,9 @@ /** Cache of pre-processed template literal arrays */ var arrayAutoIndentCache = createWeakMap(); /** - * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, - * before interpolated values are injected. - */ + * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, + * before interpolated values are injected. + */ var arrayFirstInterpSetsIndentCache = createWeakMap(); @@ -1496,7 +2473,7 @@ } var fullOutdent = extend(outdent, { - string: function string(str) { + string: function (str) { return _outdentArray([str], false, options)[0]; } }); @@ -1517,7 +2494,7 @@ // so we fail gracefully. try { module.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, '__esModule', { + Object.defineProperty(defaultOutdent, "__esModule", { value: true }); defaultOutdent.default = defaultOutdent; @@ -1526,66 +2503,6 @@ } }); - function _templateObject6() { - const data = _taggedTemplateLiteral(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]); - - _templateObject6 = function _templateObject6() { - return data; - }; - - return data; - } - - function _templateObject5() { - const data = _taggedTemplateLiteral(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]); - - _templateObject5 = function _templateObject5() { - return data; - }; - - return data; - } - - function _templateObject4() { - const data = _taggedTemplateLiteral(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]); - - _templateObject4 = function _templateObject4() { - return data; - }; - - return data; - } - - function _templateObject3() { - const data = _taggedTemplateLiteral(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]); - - _templateObject3 = function _templateObject3() { - return data; - }; - - return data; - } - - function _templateObject2() { - const data = _taggedTemplateLiteral(["\n Maintain existing\n (mixed values within one file are normalised by looking at what's used after the first line)\n "]); - - _templateObject2 = function _templateObject2() { - return data; - }; - - return data; - } - - function _templateObject() { - const data = _taggedTemplateLiteral(["\n Print (to stderr) where a cursor at the given position would move to after formatting.\n This option cannot be used with --range-start and --range-end.\n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; - } - const { outdent } = lib; @@ -1643,10 +2560,13 @@ default: -1, range: { start: -1, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, - description: outdent(_templateObject()), + description: outdent` + Print (to stderr) where a cursor at the given position would move to after formatting. + This option cannot be used with --range-start and --range-end. + `, cliCategory: CATEGORY_EDITOR }, endOfLine: { @@ -1672,7 +2592,10 @@ description: "Carriage Return character only (\\r), used very rarely" }, { value: "auto", - description: outdent(_templateObject2()) + description: outdent` + Maintain existing + (mixed values within one file are normalised by looking at what's used after the first line) + ` }] }, filepath: { @@ -1724,6 +2647,14 @@ value: "typescript", since: "1.4.0", description: "TypeScript" + }, { + value: "espree", + since: "2.2.0", + description: "JavaScript" + }, { + value: "meriyah", + since: "2.2.0", + description: "JavaScript" }, { value: "css", since: "1.7.1", @@ -1770,8 +2701,8 @@ description: "YAML" }, { value: "glimmer", - since: null, - description: "Handlebars" + since: "2.3.0", + description: "Ember / Handlebars" }, { value: "html", since: "1.15.0", @@ -1807,7 +2738,11 @@ value: [] }], category: CATEGORY_GLOBAL, - description: outdent(_templateObject3()), + description: outdent` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `, exception: value => typeof value === "string" || typeof value === "object", cliName: "plugin-search-dir", cliCategory: CATEGORY_CONFIG @@ -1820,7 +2755,7 @@ description: "The line length where Prettier will try wrap.", range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 } }, @@ -1828,13 +2763,17 @@ since: "1.4.0", category: CATEGORY_SPECIAL, type: "int", - default: Infinity, + default: Number.POSITIVE_INFINITY, range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, - description: outdent(_templateObject4()), + description: outdent` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `, cliCategory: CATEGORY_EDITOR }, rangeStart: { @@ -1844,10 +2783,14 @@ default: 0, range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, - description: outdent(_templateObject5()), + description: outdent` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `, cliCategory: CATEGORY_EDITOR }, requirePragma: { @@ -1855,7 +2798,10 @@ category: CATEGORY_SPECIAL, type: "boolean", default: false, - description: outdent(_templateObject6()), + description: outdent` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `, cliCategory: CATEGORY_OTHER }, tabWidth: { @@ -1865,7 +2811,7 @@ description: "Number of spaces per indentation level.", range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 } }, @@ -1894,7 +2840,7 @@ }] } }; - var coreOptions = { + var coreOptions$1 = { CATEGORY_CONFIG, CATEGORY_EDITOR, CATEGORY_FORMAT, @@ -1905,15 +2851,15 @@ options }; - var require$$3 = getCjsExportFromNamespace(_package$1); + const _excluded = ["cliName", "cliCategory", "cliDescription"]; - const semver$1 = { + const semver = { compare: compare_1, lt: lt_1, gte: gte_1 }; const currentVersion = require$$3.version; - const coreOptions$1 = coreOptions.options; + const coreOptions = coreOptions$1.options; /** * Strings in `plugins` and `pluginSearchDirs` are handled by a wrapped version * of this function created by `withPlugins`. Don't pass them here directly. @@ -1925,7 +2871,7 @@ * @param {boolean=} param0.showInternal */ - function getSupportInfo({ + function getSupportInfo$1({ plugins = [], showUnreleased = false, showDeprecated = false, @@ -1934,14 +2880,14 @@ // pre-release version is smaller than the normal version in semver, // we need to treat it as the normal one so as to test new features. const version = currentVersion.split("-", 1)[0]; - const languages = plugins.reduce((all, plugin) => all.concat(plugin.languages || []), []).filter(filterSince); + const languages = plugins.flatMap(plugin => plugin.languages || []).filter(filterSince); const options = arrayify(Object.assign({}, ...plugins.map(({ options - }) => options), coreOptions$1), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { + }) => options), coreOptions), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { option = Object.assign({}, option); if (Array.isArray(option.default)) { - option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver$1.compare(info2.since, info1.since))[0].value; + option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver.compare(info2.since, info1.since))[0].value; } if (Array.isArray(option.choices)) { @@ -1952,11 +2898,8 @@ } } - const pluginDefaults = plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).reduce((reduced, plugin) => { - reduced[plugin.name] = plugin.defaultOptions[option.name]; - return reduced; - }, {}); - return Object.assign({}, option, { + const pluginDefaults = Object.fromEntries(plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).map(plugin => [plugin.name, plugin.defaultOptions[option.name]])); + return Object.assign(Object.assign({}, option), {}, { pluginDefaults }); }); @@ -1966,11 +2909,11 @@ }; function filterSince(object) { - return showUnreleased || !("since" in object) || object.since && semver$1.gte(version, object.since); + return showUnreleased || !("since" in object) || object.since && semver.gte(version, object.since); } function filterDeprecated(object) { - return showDeprecated || !("deprecated" in object) || object.deprecated && semver$1.lt(version, object.deprecated); + return showDeprecated || !("deprecated" in object) || object.deprecated && semver.lt(version, object.deprecated); } function mapInternal(object) { @@ -1978,7 +2921,7 @@ return object; } - const newObject = _objectWithoutPropertiesLoose(object, ["cliName", "cliCategory", "cliDescription"]); + const newObject = _objectWithoutProperties(object, _excluded); return newObject; } @@ -1996,7 +2939,7 @@ let description = language.name; if (plugin && plugin.name) { - description += " (plugin: ".concat(plugin.name, ")"); + description += ` (plugin: ${plugin.name})`; } option.choices.push({ @@ -2010,9 +2953,12 @@ } var support = { - getSupportInfo + getSupportInfo: getSupportInfo$1 }; + const { + getSupportInfo + } = support; const notAsciiRegex = /[^\x20-\x7F]/; const getPenultimate = arr => arr[arr.length - 2]; @@ -2183,8 +3129,7 @@ */ - function hasNewline(text, index, opts) { - opts = opts || {}; + function hasNewline(text, index, opts = {}) { const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); const idx2 = skipNewline(text, idx, opts); return idx !== idx2; @@ -2330,8 +3275,7 @@ */ - function hasSpaces(text, index, opts) { - opts = opts || {}; + function hasSpaces(text, index, opts = {}) { const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); return idx !== index; } @@ -2343,8 +3287,7 @@ */ - function getAlignmentSize(value, tabWidth, startIndex) { - startIndex = startIndex || 0; + function getAlignmentSize(value, tabWidth, startIndex = 0) { let size = 0; for (let i = startIndex; i < value.length; ++i) { @@ -2421,33 +3364,18 @@ return result; } - function printString(raw, options, isDirectiveLiteral) { + function printString(raw, options) { // `rawContent` is the string exactly like it appeared in the input source // code, without its enclosing quotes. - const rawContent = raw.slice(1, -1); // Check for the alternate quote, to determine if we're allowed to swap - // the quotes on a DirectiveLiteral. - - const canChangeDirectiveQuotes = !rawContent.includes('"') && !rawContent.includes("'"); + const rawContent = raw.slice(1, -1); /** @type {Quote} */ - const enclosingQuote = options.parser === "json" ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(raw, options.singleQuote ? "'" : '"'); // Directives are exact code unit sequences, which means that you can't - // change the escape sequences they use. - // See https://github.com/prettier/prettier/issues/1555 - // and https://tc39.github.io/ecma262/#directive-prologue - - if (isDirectiveLiteral) { - if (canChangeDirectiveQuotes) { - return enclosingQuote + rawContent + enclosingQuote; - } - - return raw; - } // It might sound unnecessary to use `makeString` even if the string already + const enclosingQuote = options.parser === "json" || options.parser === "json5" && options.quoteProps === "preserve" && !options.singleQuote ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(raw, options.singleQuote ? "'" : '"'); // It might sound unnecessary to use `makeString` even if the string already // is enclosed with `enclosingQuote`, but it isn't. The string could contain // unnecessary escapes (such as in `"\'"`). Always using `makeString` makes // sure that we consistently output the minimum amount of escaped quotes. - - return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.embeddedInHtml)); + return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.__embeddedInHtml)); } /** * @param {string} rawContent @@ -2460,7 +3388,7 @@ function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { const otherQuote = enclosingQuote === '"' ? "'" : '"'; // Matches _any_ escape and unescaped quotes (both single and double). - const regex = /\\([\S\s])|(["'])/g; // Escape and unescape single and double quotes as needed to be able to + const regex = /\\(.)|(["'])/gs; // Escape and unescape single and double quotes as needed to be able to // enclose `rawContent` with `enclosingQuote`. const newContent = rawContent.replace(regex, (match, escaped, quote) => { @@ -2505,7 +3433,7 @@ function getMaxContinuousCount(str, target) { - const results = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); + const results = str.match(new RegExp(`(${escapeStringRegexp(target)})+`, "g")); if (results === null) { return 0; @@ -2515,7 +3443,7 @@ } function getMinNotPresentContinuousCount(str, target) { - const matches = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); + const matches = str.match(new RegExp(`(${escapeStringRegexp(target)})+`, "g")); if (matches === null) { return 0; @@ -2547,7 +3475,7 @@ */ - function getStringWidth(text) { + function getStringWidth$1(text) { if (!text) { return 0; } // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` @@ -2560,31 +3488,11 @@ return stringWidth_1(text); } - function hasIgnoreComment(path) { - const node = path.getValue(); - return hasNodeIgnoreComment(node); - } - - function hasNodeIgnoreComment(node) { - return node && (node.comments && node.comments.length > 0 && node.comments.some(comment => isNodeIgnoreComment(comment) && !comment.unignore) || node.prettierIgnore); - } - - function isNodeIgnoreComment(comment) { - return comment.value.trim() === "prettier-ignore"; - } - function addCommentHelper(node, comment) { const comments = node.comments || (node.comments = []); comments.push(comment); - comment.printed = false; // For some reason, TypeScript parses `// x` inside of JSXText as a comment - // We already "print" it via the raw text, we don't need to re-print it as a - // comment - - /* istanbul ignore next */ - - if (node.type === "JSXText") { - comment.printed = true; - } + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); } function addLeadingComment(node, comment) { @@ -2608,52 +3516,22 @@ comment.leading = false; comment.trailing = true; addCommentHelper(node, comment); - } // Not using - - /* istanbul ignore next */ - - - function isWithinParentArrayProperty(path, propertyName) { - const node = path.getValue(); - const parent = path.getParentNode(); - - if (parent == null) { - return false; - } - - if (!Array.isArray(parent[propertyName])) { - return false; - } - - const key = path.getName(); - return parent[propertyName][key] === node; } - function replaceEndOfLineWith(text, replacement) { - const parts = []; - - for (const part of text.split("\n")) { - if (parts.length !== 0) { - parts.push(replacement); - } - - parts.push(part); - } - - return parts; - } - - function getParserName(lang, options) { - const supportInfo = support.getSupportInfo({ + function inferParserByLanguage(language, options) { + const { + languages + } = getSupportInfo({ plugins: options.plugins }); - const language = supportInfo.languages.find(language => language.name.toLowerCase() === lang || language.aliases && language.aliases.includes(lang) || language.extensions && language.extensions.some(ext => ext === ".".concat(lang))); - - if (language) { - return language.parsers[0]; - } - - return null; + const matched = languages.find(({ + name + }) => name.toLowerCase() === language) || languages.find(({ + aliases + }) => Array.isArray(aliases) && aliases.includes(language)) || languages.find(({ + extensions + }) => Array.isArray(extensions) && extensions.includes(`.${language}`)); + return matched && matched.parsers[0]; } function isFrontMatterNode(node) { @@ -2673,15 +3551,50 @@ return text.slice(0, index); } + /** + * @param {any} object + * @returns {object is Array} + */ + + + function isNonEmptyArray(object) { + return Array.isArray(object) && object.length > 0; + } + /** + * @param {string} description + * @returns {(node: any) => symbol} + */ + + + function createGroupIdMapper(description) { + const groupIds = new WeakMap(); + return function (node) { + if (!groupIds.has(node)) { + groupIds.set(node, Symbol(description)); + } + + return groupIds.get(node); + }; + } + + function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String(node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || ""); + + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "…"; + } + + return nodeType + (nodeName ? " " + nodeName : ""); + } var util = { - replaceEndOfLineWith, - getStringWidth, + inferParserByLanguage, + getStringWidth: getStringWidth$1, getMaxContinuousCount, getMinNotPresentContinuousCount, - getParserName, getPenultimate, - getLast, + getLast: getLast_1, getNextNonSpaceNonCommentCharacterIndexWithStartIndex, getNextNonSpaceNonCommentCharacterIndex, getNextNonSpaceNonCommentCharacter, @@ -2704,16 +3617,14 @@ getPreferredQuote, printString, printNumber, - hasIgnoreComment, - hasNodeIgnoreComment, - isNodeIgnoreComment, makeString, addLeadingComment, addDanglingComment, addTrailingComment, - isWithinParentArrayProperty, isFrontMatterNode, - getShebang + getShebang, + isNonEmptyArray, + createGroupIdMapper }; function guessEndOfLine(text) { @@ -2726,7 +3637,7 @@ return "lf"; } - function convertEndOfLineToChars(value) { + function convertEndOfLineToChars$1(value) { switch (value) { case "cr": return "\r"; @@ -2750,7 +3661,7 @@ } else if (eol === "\r\n") { regex = /\r\n/g; } else { - throw new Error("Unexpected \"eol\" ".concat(JSON.stringify(eol), ".")); + throw new Error(`Unexpected "eol" ${JSON.stringify(eol)}.`); } const endOfLines = text.match(regex); @@ -2763,596 +3674,39 @@ var endOfLine = { guessEndOfLine, - convertEndOfLineToChars, + convertEndOfLineToChars: convertEndOfLineToChars$1, countEndOfLineChars, normalizeEndOfLine }; const { - getStringWidth: getStringWidth$1 - } = util; - const { - convertEndOfLineToChars: convertEndOfLineToChars$1 - } = endOfLine; - const { - concat: concat$1, - fill: fill$1, - cursor: cursor$1 + literalline, + join } = docBuilders; - /** @type {Record} */ - let groupModeMap; - const MODE_BREAK = 1; - const MODE_FLAT = 2; + const isConcat$2 = doc => Array.isArray(doc) || doc && doc.type === "concat"; - function rootIndent() { - return { - value: "", - length: 0, - queue: [] - }; - } + const getDocParts$2 = doc => { + if (Array.isArray(doc)) { + return doc; + } + /* istanbul ignore next */ - function makeIndent(ind, options) { - return generateInd(ind, { - type: "indent" - }, options); - } - function makeAlign(indent, n, options) { - if (n === -Infinity) { - return indent.root || rootIndent(); + if (doc.type !== "concat" && doc.type !== "fill") { + throw new Error("Expect doc type to be `concat` or `fill`."); } - if (n < 0) { - return generateInd(indent, { - type: "dedent" - }, options); - } + return doc.parts; + }; // Using a unique object to compare by reference. - if (!n) { - return indent; - } - - if (n.type === "root") { - return Object.assign({}, indent, { - root: indent - }); - } - - const alignType = typeof n === "string" ? "stringAlign" : "numberAlign"; - return generateInd(indent, { - type: alignType, - n - }, options); - } - - function generateInd(ind, newPart, options) { - const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : ind.queue.concat(newPart); - let value = ""; - let length = 0; - let lastTabs = 0; - let lastSpaces = 0; - - for (const part of queue) { - switch (part.type) { - case "indent": - flush(); - - if (options.useTabs) { - addTabs(1); - } else { - addSpaces(options.tabWidth); - } - - break; - - case "stringAlign": - flush(); - value += part.n; - length += part.n.length; - break; - - case "numberAlign": - lastTabs += 1; - lastSpaces += part.n; - break; - - /* istanbul ignore next */ - - default: - throw new Error("Unexpected type '".concat(part.type, "'")); - } - } - - flushSpaces(); - return Object.assign({}, ind, { - value, - length, - queue - }); - - function addTabs(count) { - value += "\t".repeat(count); - length += options.tabWidth * count; - } - - function addSpaces(count) { - value += " ".repeat(count); - length += count; - } - - function flush() { - if (options.useTabs) { - flushTabs(); - } else { - flushSpaces(); - } - } - - function flushTabs() { - if (lastTabs > 0) { - addTabs(lastTabs); - } - - resetLast(); - } - - function flushSpaces() { - if (lastSpaces > 0) { - addSpaces(lastSpaces); - } - - resetLast(); - } - - function resetLast() { - lastTabs = 0; - lastSpaces = 0; - } - } - - function trim$1(out) { - if (out.length === 0) { - return 0; - } - - let trimCount = 0; // Trim whitespace at the end of line - - while (out.length > 0 && typeof out[out.length - 1] === "string" && out[out.length - 1].match(/^[\t ]*$/)) { - trimCount += out.pop().length; - } - - if (out.length && typeof out[out.length - 1] === "string") { - const trimmed = out[out.length - 1].replace(/[\t ]*$/, ""); - trimCount += out[out.length - 1].length - trimmed.length; - out[out.length - 1] = trimmed; - } - - return trimCount; - } - - function fits(next, restCommands, width, options, mustBeFlat) { - let restIdx = restCommands.length; - const cmds = [next]; // `out` is only used for width counting because `trim` requires to look - // backwards for space characters. - - const out = []; - - while (width >= 0) { - if (cmds.length === 0) { - if (restIdx === 0) { - return true; - } - - cmds.push(restCommands[restIdx - 1]); - restIdx--; - continue; - } - - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - out.push(doc); - width -= getStringWidth$1(doc); - } else { - switch (doc.type) { - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - width += trim$1(out); - break; - - case "group": - if (mustBeFlat && doc.break) { - return false; - } - - cmds.push([ind, doc.break ? MODE_BREAK : mode, doc.contents]); - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - - case "fill": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; - } - - case "line": - switch (mode) { - // fallthrough - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - width -= 1; - } - - break; - } - - return true; - - case MODE_BREAK: - return true; - } - - break; - } - } - } - - return false; - } - - function printDocToString(doc, options) { - groupModeMap = {}; - const width = options.printWidth; - const newLine = convertEndOfLineToChars$1(options.endOfLine); - let pos = 0; // cmds is basically a stack. We've turned a recursive call into a - // while loop which is much faster. The while loop below adds new - // cmds to the array instead of recursively calling `print`. - - const cmds = [[rootIndent(), MODE_BREAK, doc]]; - const out = []; - let shouldRemeasure = false; - let lineSuffix = []; - - while (cmds.length !== 0) { - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - const formatted = newLine !== "\n" && doc.includes("\n") ? doc.replace(/\n/g, newLine) : doc; - out.push(formatted); - pos += getStringWidth$1(formatted); - } else { - switch (doc.type) { - case "cursor": - out.push(cursor$1.placeholder); - break; - - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - pos -= trim$1(out); - break; - - case "group": - switch (mode) { - case MODE_FLAT: - if (!shouldRemeasure) { - cmds.push([ind, doc.break ? MODE_BREAK : MODE_FLAT, doc.contents]); - break; - } - - // fallthrough - - case MODE_BREAK: - { - shouldRemeasure = false; - const next = [ind, MODE_FLAT, doc.contents]; - const rem = width - pos; - - if (!doc.break && fits(next, cmds, rem, options)) { - cmds.push(next); - } else { - // Expanded states are a rare case where a document - // can manually provide multiple representations of - // itself. It provides an array of documents - // going from the least expanded (most flattened) - // representation first to the most expanded. If a - // group has these, we need to manually go through - // these states and find the first one that fits. - if (doc.expandedStates) { - const mostExpanded = doc.expandedStates[doc.expandedStates.length - 1]; - - if (doc.break) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - for (let i = 1; i < doc.expandedStates.length + 1; i++) { - if (i >= doc.expandedStates.length) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - const state = doc.expandedStates[i]; - const cmd = [ind, MODE_FLAT, state]; - - if (fits(cmd, cmds, rem, options)) { - cmds.push(cmd); - break; - } - } - } - } - } else { - cmds.push([ind, MODE_BREAK, doc.contents]); - } - } - - break; - } - } - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - // Fills each line with as much code as possible before moving to a new - // line with the same indentation. - // - // Expects doc.parts to be an array of alternating content and - // whitespace. The whitespace contains the linebreaks. - // - // For example: - // ["I", line, "love", line, "monkeys"] - // or - // [{ type: group, ... }, softline, { type: group, ... }] - // - // It uses this parts structure to handle three main layout cases: - // * The first two content items fit on the same line without - // breaking - // -> output the first content item and the whitespace "flat". - // * Only the first content item fits on the line without breaking - // -> output the first content item "flat" and the whitespace with - // "break". - // * Neither content item fits on the line without breaking - // -> output the first content item and the whitespace with "break". - - case "fill": - { - const rem = width - pos; - const { - parts - } = doc; - - if (parts.length === 0) { - break; - } - - const [content, whitespace] = parts; - const contentFlatCmd = [ind, MODE_FLAT, content]; - const contentBreakCmd = [ind, MODE_BREAK, content]; - const contentFits = fits(contentFlatCmd, [], rem, options, true); - - if (parts.length === 1) { - if (contentFits) { - cmds.push(contentFlatCmd); - } else { - cmds.push(contentBreakCmd); - } - - break; - } - - const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; - const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; - - if (parts.length === 2) { - if (contentFits) { - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); - } - - break; - } // At this point we've handled the first pair (context, separator) - // and will create a new fill doc for the rest of the content. - // Ideally we wouldn't mutate the array here but copying all the - // elements to a new array would make this algorithm quadratic, - // which is unusable for large arrays (e.g. large texts in JSX). - - - parts.splice(0, 2); - const remainingCmd = [ind, mode, fill$1(parts)]; - const secondContent = parts[0]; - const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, concat$1([content, whitespace, secondContent])]; - const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, true); - - if (firstAndSecondContentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else if (contentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); - } - - break; - } - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; - } - - case "line-suffix": - lineSuffix.push([ind, mode, doc.contents]); - break; - - case "line-suffix-boundary": - if (lineSuffix.length > 0) { - cmds.push([ind, mode, { - type: "line", - hard: true - }]); - } - - break; - - case "line": - switch (mode) { - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - pos += 1; - } - - break; - } else { - // This line was forced into the output even if we - // were in flattened mode, so we need to tell the next - // group that no matter what, it needs to remeasure - // because the previous measurement didn't accurately - // capture the entire expression (this is necessary - // for nested groups) - shouldRemeasure = true; - } - - // fallthrough - - case MODE_BREAK: - if (lineSuffix.length) { - cmds.push([ind, mode, doc]); - cmds.push(...lineSuffix.reverse()); - lineSuffix = []; - break; - } - - if (doc.literal) { - if (ind.root) { - out.push(newLine, ind.root.value); - pos = ind.root.length; - } else { - out.push(newLine); - pos = 0; - } - } else { - pos -= trim$1(out); - out.push(newLine + ind.value); - pos = ind.length; - } - - break; - } - - break; - } - } - } - - const cursorPlaceholderIndex = out.indexOf(cursor$1.placeholder); - - if (cursorPlaceholderIndex !== -1) { - const otherCursorPlaceholderIndex = out.indexOf(cursor$1.placeholder, cursorPlaceholderIndex + 1); - const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); - const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); - const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); - return { - formatted: beforeCursor + aroundCursor + afterCursor, - cursorNodeStart: beforeCursor.length, - cursorNodeText: aroundCursor - }; - } - - return { - formatted: out.join("") - }; - } - - var docPrinter = { - printDocToString - }; const traverseDocOnExitStackMarker = {}; function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { const docsStack = [doc]; - while (docsStack.length !== 0) { + while (docsStack.length > 0) { const doc = docsStack.pop(); if (doc === traverseDocOnExitStackMarker) { @@ -3370,9 +3724,11 @@ // the parts need to be pushed onto the stack in reverse order, // so that they are processed in the original order // when the stack is popped. - if (doc.type === "concat" || doc.type === "fill") { - for (let ic = doc.parts.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc.parts[i]); + if (isConcat$2(doc) || doc.type === "fill") { + const parts = getDocParts$2(doc); + + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); } } else if (doc.type === "if-break") { if (doc.flatContents) { @@ -3398,26 +3754,63 @@ } function mapDoc(doc, cb) { - if (doc.type === "concat" || doc.type === "fill") { - const parts = doc.parts.map(part => mapDoc(part, cb)); - return cb(Object.assign({}, doc, { - parts - })); - } else if (doc.type === "if-break") { - const breakContents = doc.breakContents && mapDoc(doc.breakContents, cb); - const flatContents = doc.flatContents && mapDoc(doc.flatContents, cb); - return cb(Object.assign({}, doc, { - breakContents, - flatContents - })); - } else if (doc.contents) { - const contents = mapDoc(doc.contents, cb); - return cb(Object.assign({}, doc, { - contents - })); + // Within a doc tree, the same subtrees can be found multiple times. + // E.g., often this happens in conditional groups. + // As an optimization (those subtrees can be huge) and to maintain the + // reference structure of the tree, the mapping results are cached in + // a map and reused. + const mapped = new Map(); + return rec(doc); + + function rec(doc) { + if (mapped.has(doc)) { + return mapped.get(doc); + } + + const result = process(doc); + mapped.set(doc, result); + return result; } - return cb(doc); + function process(doc) { + if (Array.isArray(doc)) { + return cb(doc.map(rec)); + } + + if (doc.type === "concat" || doc.type === "fill") { + const parts = doc.parts.map(rec); + return cb(Object.assign(Object.assign({}, doc), {}, { + parts + })); + } + + if (doc.type === "if-break") { + const breakContents = doc.breakContents && rec(doc.breakContents); + const flatContents = doc.flatContents && rec(doc.flatContents); + return cb(Object.assign(Object.assign({}, doc), {}, { + breakContents, + flatContents + })); + } + + if (doc.type === "group" && doc.expandedStates) { + const expandedStates = doc.expandedStates.map(rec); + const contents = expandedStates[0]; + return cb(Object.assign(Object.assign({}, doc), {}, { + contents, + expandedStates + })); + } + + if (doc.contents) { + const contents = rec(doc.contents); + return cb(Object.assign(Object.assign({}, doc), {}, { + contents + })); + } + + return cb(doc); + } } function findInDoc(doc, fn, defaultValue) { @@ -3441,24 +3834,6 @@ return result; } - function isEmpty(n) { - return typeof n === "string" && n.length === 0; - } - - function isLineNextFn(doc) { - if (typeof doc === "string") { - return false; - } - - if (doc.type === "line") { - return true; - } - } - - function isLineNext(doc) { - return findInDoc(doc, isLineNextFn, false); - } - function willBreakFn(doc) { if (doc.type === "group" && doc.break) { return true; @@ -3479,11 +3854,13 @@ function breakParentGroup(groupStack) { if (groupStack.length > 0) { - const parentGroup = groupStack[groupStack.length - 1]; // Breaks are not propagated through conditional groups because + const parentGroup = getLast_1(groupStack); // Breaks are not propagated through conditional groups because // the user is expected to manually handle what breaks. - if (!parentGroup.expandedStates) { - parentGroup.break = true; + if (!parentGroup.expandedStates && !parentGroup.break) { + // An alternative truthy value allows to distinguish propagated group breaks + // and not to print them as `group(..., { break: true })` in `--debug-print-doc`. + parentGroup.break = "propagated"; } } @@ -3532,7 +3909,9 @@ // of breaking existing assumptions otherwise. if (doc.type === "line" && !doc.hard) { return doc.soft ? "" : " "; - } else if (doc.type === "if-break") { + } + + if (doc.type === "if-break") { return doc.flatContents || ""; } @@ -3543,64 +3922,162 @@ return mapDoc(doc, removeLinesFn); } - function getInnerParts(doc) { - let { - parts - } = doc; - let lastPart; // Avoid a falsy element like "" + const isHardline = (doc, nextDoc) => doc && doc.type === "line" && doc.hard && nextDoc && nextDoc.type === "break-parent"; - for (let i = doc.parts.length; i > 0 && !lastPart; i--) { - lastPart = parts[i - 1]; + function stripDocTrailingHardlineFromDoc(doc) { + if (!doc) { + return doc; } - if (lastPart.type === "group") { - parts = lastPart.contents.parts; + if (isConcat$2(doc) || doc.type === "fill") { + const parts = getDocParts$2(doc); + + while (parts.length > 1 && isHardline(...parts.slice(-2))) { + parts.length -= 2; + } + + if (parts.length > 0) { + const lastPart = stripDocTrailingHardlineFromDoc(getLast_1(parts)); + parts[parts.length - 1] = lastPart; + } + + return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { + parts + }); } - return parts; - } - - function stripTrailingHardline(doc, withInnerParts = false) { - // HACK remove ending hardline, original PR: #1984 - if (doc.type === "concat" && doc.parts.length !== 0) { - const parts = withInnerParts ? getInnerParts(doc) : doc.parts; - const lastPart = parts[parts.length - 1]; - - if (lastPart.type === "concat") { - if (lastPart.parts.length === 2 && lastPart.parts[0].hard && lastPart.parts[1].type === "break-parent") { - return { - type: "concat", - parts: parts.slice(0, -1) - }; + switch (doc.type) { + case "align": + case "indent": + case "indent-if-break": + case "group": + case "line-suffix": + case "label": + { + const contents = stripDocTrailingHardlineFromDoc(doc.contents); + return Object.assign(Object.assign({}, doc), {}, { + contents + }); } - return { - type: "concat", - parts: doc.parts.slice(0, -1).concat(stripTrailingHardline(lastPart)) - }; - } + case "if-break": + { + const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents); + const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents); + return Object.assign(Object.assign({}, doc), {}, { + breakContents, + flatContents + }); + } } return doc; } + function stripTrailingHardline(doc) { + // HACK remove ending hardline, original PR: #1984 + return stripDocTrailingHardlineFromDoc(cleanDoc(doc)); + } + + function cleanDocFn(doc) { + switch (doc.type) { + case "fill": + if (doc.parts.length === 0 || doc.parts.every(part => part === "")) { + return ""; + } + + break; + + case "group": + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } // Remove nested only group + + + if (doc.contents.type === "group" && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + + break; + + case "align": + case "indent": + case "indent-if-break": + case "line-suffix": + if (!doc.contents) { + return ""; + } + + break; + + case "if-break": + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + + break; + } + + if (!isConcat$2(doc)) { + return doc; + } + + const parts = []; + + for (const part of getDocParts$2(doc)) { + if (!part) { + continue; + } + + const [currentPart, ...restParts] = isConcat$2(part) ? getDocParts$2(part) : [part]; + + if (typeof currentPart === "string" && typeof getLast_1(parts) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + + parts.push(...restParts); + } + + if (parts.length === 0) { + return ""; + } + + if (parts.length === 1) { + return parts[0]; + } + + return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, { + parts + }); + } // A safer version of `normalizeDoc` + // - `normalizeDoc` concat strings and flat "concat" in `fill`, while `cleanDoc` don't + // - On `concat` object, `normalizeDoc` always return object with `parts`, `cleanDoc` may return strings + // - `cleanDoc` also remove nested `group`s and empty `fill`/`align`/`indent`/`line-suffix`/`if-break` if possible + + + function cleanDoc(doc) { + return mapDoc(doc, currentDoc => cleanDocFn(currentDoc)); + } + function normalizeParts(parts) { const newParts = []; const restParts = parts.filter(Boolean); - while (restParts.length !== 0) { + while (restParts.length > 0) { const part = restParts.shift(); if (!part) { continue; } - if (part.type === "concat") { - restParts.unshift(...part.parts); + if (isConcat$2(part)) { + restParts.unshift(...getDocParts$2(part)); continue; } - if (newParts.length !== 0 && typeof newParts[newParts.length - 1] === "string" && typeof part === "string") { + if (newParts.length > 0 && typeof getLast_1(newParts) === "string" && typeof part === "string") { newParts[newParts.length - 1] += part; continue; } @@ -3613,20 +4090,34 @@ function normalizeDoc(doc) { return mapDoc(doc, currentDoc => { + if (Array.isArray(currentDoc)) { + return normalizeParts(currentDoc); + } + if (!currentDoc.parts) { return currentDoc; } - return Object.assign({}, currentDoc, { + return Object.assign(Object.assign({}, currentDoc), {}, { parts: normalizeParts(currentDoc.parts) }); }); } + function replaceNewlinesWithLiterallines(doc) { + return mapDoc(doc, currentDoc => typeof currentDoc === "string" && currentDoc.includes("\n") ? join(literalline, currentDoc.split("\n")) : currentDoc); + } // This function need return array + // TODO: remove `.parts` when we remove `docBuilders.concat()` + + + function replaceEndOfLineWith(text, replacement) { + return join(replacement, text.split("\n")).parts; + } + var docUtils = { - isEmpty, + isConcat: isConcat$2, + getDocParts: getDocParts$2, willBreak, - isLineNext, traverseDoc, findInDoc, mapDoc, @@ -3634,20 +4125,644 @@ removeLines, stripTrailingHardline, normalizeParts, - normalizeDoc + normalizeDoc, + cleanDoc, + replaceEndOfLineWith, + replaceNewlinesWithLiterallines }; + const { + getStringWidth, + getLast + } = util; + const { + convertEndOfLineToChars + } = endOfLine; + const { + fill, + cursor, + indent + } = docBuilders; + const { + isConcat: isConcat$1, + getDocParts: getDocParts$1 + } = docUtils; + /** @type {Record} */ + + let groupModeMap; + const MODE_BREAK = 1; + const MODE_FLAT = 2; + + function rootIndent() { + return { + value: "", + length: 0, + queue: [] + }; + } + + function makeIndent(ind, options) { + return generateInd(ind, { + type: "indent" + }, options); + } + + function makeAlign(indent, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent.root || rootIndent(); + } + + if (widthOrDoc < 0) { + return generateInd(indent, { + type: "dedent" + }, options); + } + + if (!widthOrDoc) { + return indent; + } + + if (widthOrDoc.type === "root") { + return Object.assign(Object.assign({}, indent), {}, { + root: indent + }); + } + + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent, { + type: alignType, + n: widthOrDoc + }, options); + } + + function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); + } + + break; + + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + + /* istanbul ignore next */ + + default: + throw new Error(`Unexpected type '${part.type}'`); + } + } + + flushSpaces(); + return Object.assign(Object.assign({}, ind), {}, { + value, + length, + queue + }); + + function addTabs(count) { + value += "\t".repeat(count); + length += options.tabWidth * count; + } + + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + + resetLast(); + } + + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + + resetLast(); + } + + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } + } + + function trim(out) { + if (out.length === 0) { + return 0; + } + + let trimCount = 0; // Trim whitespace at the end of line + + while (out.length > 0 && typeof getLast(out) === "string" && /^[\t ]*$/.test(getLast(out))) { + trimCount += out.pop().length; + } + + if (out.length > 0 && typeof getLast(out) === "string") { + const trimmed = getLast(out).replace(/[\t ]*$/, ""); + trimCount += getLast(out).length - trimmed.length; + out[out.length - 1] = trimmed; + } + + return trimCount; + } + + function fits(next, restCommands, width, options, hasLineSuffix, mustBeFlat) { + let restIdx = restCommands.length; + const cmds = [next]; // `out` is only used for width counting because `trim` requires to look + // backwards for space characters. + + const out = []; + + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + + cmds.push(restCommands[restIdx - 1]); + restIdx--; + continue; + } + + const [ind, mode, doc] = cmds.pop(); + + if (typeof doc === "string") { + out.push(doc); + width -= getStringWidth(doc); + } else if (isConcat$1(doc)) { + const parts = getDocParts$1(doc); + + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, parts[i]]); + } + } else { + switch (doc.type) { + case "indent": + cmds.push([makeIndent(ind, options), mode, doc.contents]); + break; + + case "align": + cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); + break; + + case "trim": + width += trim(out); + break; + + case "group": + { + if (mustBeFlat && doc.break) { + return false; + } + + const groupMode = doc.break ? MODE_BREAK : mode; + cmds.push([ind, groupMode, // The most expanded state takes up the least space on the current line. + doc.expandedStates && groupMode === MODE_BREAK ? getLast(doc.expandedStates) : doc.contents]); + + if (doc.id) { + groupModeMap[doc.id] = groupMode; + } + + break; + } + + case "fill": + for (let i = doc.parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, doc.parts[i]]); + } + + break; + + case "if-break": + case "indent-if-break": + { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; + + if (groupMode === MODE_BREAK) { + const breakContents = doc.type === "if-break" ? doc.breakContents : doc.negate ? doc.contents : indent(doc.contents); + + if (breakContents) { + cmds.push([ind, mode, breakContents]); + } + } + + if (groupMode === MODE_FLAT) { + const flatContents = doc.type === "if-break" ? doc.flatContents : doc.negate ? indent(doc.contents) : doc.contents; + + if (flatContents) { + cmds.push([ind, mode, flatContents]); + } + } + + break; + } + + case "line": + switch (mode) { + // fallthrough + case MODE_FLAT: + if (!doc.hard) { + if (!doc.soft) { + out.push(" "); + width -= 1; + } + + break; + } + + return true; + + case MODE_BREAK: + return true; + } + + break; + + case "line-suffix": + hasLineSuffix = true; + break; + + case "line-suffix-boundary": + if (hasLineSuffix) { + return false; + } + + break; + + case "label": + cmds.push([ind, mode, doc.contents]); + break; + } + } + } + + return false; + } + + function printDocToString(doc, options) { + groupModeMap = {}; + const width = options.printWidth; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; // cmds is basically a stack. We've turned a recursive call into a + // while loop which is much faster. The while loop below adds new + // cmds to the array instead of recursively calling `print`. + + const cmds = [[rootIndent(), MODE_BREAK, doc]]; + const out = []; + let shouldRemeasure = false; + let lineSuffix = []; + + while (cmds.length > 0) { + const [ind, mode, doc] = cmds.pop(); + + if (typeof doc === "string") { + const formatted = newLine !== "\n" ? doc.replace(/\n/g, newLine) : doc; + out.push(formatted); + pos += getStringWidth(formatted); + } else if (isConcat$1(doc)) { + const parts = getDocParts$1(doc); + + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, parts[i]]); + } + } else { + switch (doc.type) { + case "cursor": + out.push(cursor.placeholder); + break; + + case "indent": + cmds.push([makeIndent(ind, options), mode, doc.contents]); + break; + + case "align": + cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); + break; + + case "trim": + pos -= trim(out); + break; + + case "group": + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push([ind, doc.break ? MODE_BREAK : MODE_FLAT, doc.contents]); + break; + } + + // fallthrough + + case MODE_BREAK: + { + shouldRemeasure = false; + const next = [ind, MODE_FLAT, doc.contents]; + const rem = width - pos; + const hasLineSuffix = lineSuffix.length > 0; + + if (!doc.break && fits(next, cmds, rem, options, hasLineSuffix)) { + cmds.push(next); + } else { + // Expanded states are a rare case where a document + // can manually provide multiple representations of + // itself. It provides an array of documents + // going from the least expanded (most flattened) + // representation first to the most expanded. If a + // group has these, we need to manually go through + // these states and find the first one that fits. + if (doc.expandedStates) { + const mostExpanded = getLast(doc.expandedStates); + + if (doc.break) { + cmds.push([ind, MODE_BREAK, mostExpanded]); + break; + } else { + for (let i = 1; i < doc.expandedStates.length + 1; i++) { + if (i >= doc.expandedStates.length) { + cmds.push([ind, MODE_BREAK, mostExpanded]); + break; + } else { + const state = doc.expandedStates[i]; + const cmd = [ind, MODE_FLAT, state]; + + if (fits(cmd, cmds, rem, options, hasLineSuffix)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push([ind, MODE_BREAK, doc.contents]); + } + } + + break; + } + } + + if (doc.id) { + groupModeMap[doc.id] = getLast(cmds)[1]; + } + + break; + // Fills each line with as much code as possible before moving to a new + // line with the same indentation. + // + // Expects doc.parts to be an array of alternating content and + // whitespace. The whitespace contains the linebreaks. + // + // For example: + // ["I", line, "love", line, "monkeys"] + // or + // [{ type: group, ... }, softline, { type: group, ... }] + // + // It uses this parts structure to handle three main layout cases: + // * The first two content items fit on the same line without + // breaking + // -> output the first content item and the whitespace "flat". + // * Only the first content item fits on the line without breaking + // -> output the first content item "flat" and the whitespace with + // "break". + // * Neither content item fits on the line without breaking + // -> output the first content item and the whitespace with "break". + + case "fill": + { + const rem = width - pos; + const { + parts + } = doc; + + if (parts.length === 0) { + break; + } + + const [content, whitespace] = parts; + const contentFlatCmd = [ind, MODE_FLAT, content]; + const contentBreakCmd = [ind, MODE_BREAK, content]; + const contentFits = fits(contentFlatCmd, [], rem, options, lineSuffix.length > 0, true); + + if (parts.length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + + break; + } + + const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; + const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; + + if (parts.length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + + break; + } // At this point we've handled the first pair (context, separator) + // and will create a new fill doc for the rest of the content. + // Ideally we wouldn't mutate the array here but copying all the + // elements to a new array would make this algorithm quadratic, + // which is unusable for large arrays (e.g. large texts in JSX). + + + parts.splice(0, 2); + const remainingCmd = [ind, mode, fill(parts)]; + const secondContent = parts[0]; + const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, [content, whitespace, secondContent]]; + const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, lineSuffix.length > 0, true); + + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + + break; + } + + case "if-break": + case "indent-if-break": + { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; + + if (groupMode === MODE_BREAK) { + const breakContents = doc.type === "if-break" ? doc.breakContents : doc.negate ? doc.contents : indent(doc.contents); + + if (breakContents) { + cmds.push([ind, mode, breakContents]); + } + } + + if (groupMode === MODE_FLAT) { + const flatContents = doc.type === "if-break" ? doc.flatContents : doc.negate ? indent(doc.contents) : doc.contents; + + if (flatContents) { + cmds.push([ind, mode, flatContents]); + } + } + + break; + } + + case "line-suffix": + lineSuffix.push([ind, mode, doc.contents]); + break; + + case "line-suffix-boundary": + if (lineSuffix.length > 0) { + cmds.push([ind, mode, { + type: "line", + hard: true + }]); + } + + break; + + case "line": + switch (mode) { + case MODE_FLAT: + if (!doc.hard) { + if (!doc.soft) { + out.push(" "); + pos += 1; + } + + break; + } else { + // This line was forced into the output even if we + // were in flattened mode, so we need to tell the next + // group that no matter what, it needs to remeasure + // because the previous measurement didn't accurately + // capture the entire expression (this is necessary + // for nested groups) + shouldRemeasure = true; + } + + // fallthrough + + case MODE_BREAK: + if (lineSuffix.length > 0) { + cmds.push([ind, mode, doc], ...lineSuffix.reverse()); + lineSuffix = []; + break; + } + + if (doc.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim(out); + out.push(newLine + ind.value); + pos = ind.length; + } + + break; + } + + break; + + case "label": + cmds.push([ind, mode, doc.contents]); + break; + } + } // Flush remaining line-suffix contents at the end of the document, in case + // there is no new line after the line-suffix. + + + if (cmds.length === 0 && lineSuffix.length > 0) { + cmds.push(...lineSuffix.reverse()); + lineSuffix = []; + } + } + + const cursorPlaceholderIndex = out.indexOf(cursor.placeholder); + + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf(cursor.placeholder, cursorPlaceholderIndex + 1); + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + + return { + formatted: out.join("") + }; + } + + var docPrinter = { + printDocToString + }; + + const { + isConcat, + getDocParts + } = docUtils; + function flattenDoc(doc) { - if (doc.type === "concat") { + if (!doc) { + return ""; + } + + if (isConcat(doc)) { const res = []; - for (let i = 0; i < doc.parts.length; ++i) { - const doc2 = doc.parts[i]; - - if (typeof doc2 !== "string" && doc2.type === "concat") { - res.push(...flattenDoc(doc2).parts); + for (const part of getDocParts(doc)) { + if (isConcat(part)) { + res.push(...flattenDoc(part).parts); } else { - const flattened = flattenDoc(doc2); + const flattened = flattenDoc(part); if (flattened !== "") { res.push(flattened); @@ -3655,21 +4770,35 @@ } } - return Object.assign({}, doc, { + return { + type: "concat", parts: res + }; + } + + if (doc.type === "if-break") { + return Object.assign(Object.assign({}, doc), {}, { + breakContents: flattenDoc(doc.breakContents), + flatContents: flattenDoc(doc.flatContents) }); - } else if (doc.type === "if-break") { - return Object.assign({}, doc, { - breakContents: doc.breakContents != null ? flattenDoc(doc.breakContents) : null, - flatContents: doc.flatContents != null ? flattenDoc(doc.flatContents) : null - }); - } else if (doc.type === "group") { - return Object.assign({}, doc, { + } + + if (doc.type === "group") { + return Object.assign(Object.assign({}, doc), {}, { contents: flattenDoc(doc.contents), - expandedStates: doc.expandedStates ? doc.expandedStates.map(flattenDoc) : doc.expandedStates + expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc) }); - } else if (doc.contents) { - return Object.assign({}, doc, { + } + + if (doc.type === "fill") { + return { + type: "fill", + parts: doc.parts.map(flattenDoc) + }; + } + + if (doc.contents) { + return Object.assign(Object.assign({}, doc), {}, { contents: flattenDoc(doc.contents) }); } @@ -3677,79 +4806,142 @@ return doc; } - function printDoc(doc) { - if (typeof doc === "string") { - return JSON.stringify(doc); - } + function printDocToDebug(doc) { + /** @type Record */ + const printedSymbols = Object.create(null); + /** @type Set */ - if (doc.type === "line") { - if (doc.literal) { - return "literalline"; + const usedKeysForSymbols = new Set(); + return printDoc(flattenDoc(doc)); + + function printDoc(doc, index, parentParts) { + if (typeof doc === "string") { + return JSON.stringify(doc); } - if (doc.hard) { - return "hardline"; + if (isConcat(doc)) { + const printed = getDocParts(doc).map(printDoc).filter(Boolean); + return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`; } - if (doc.soft) { - return "softline"; + if (doc.type === "line") { + const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === "break-parent"; + + if (doc.literal) { + return withBreakParent ? "literalline" : "literallineWithoutBreakParent"; + } + + if (doc.hard) { + return withBreakParent ? "hardline" : "hardlineWithoutBreakParent"; + } + + if (doc.soft) { + return "softline"; + } + + return "line"; } - return "line"; - } - - if (doc.type === "break-parent") { - return "breakParent"; - } - - if (doc.type === "trim") { - return "trim"; - } - - if (doc.type === "concat") { - return "[" + doc.parts.map(printDoc).join(", ") + "]"; - } - - if (doc.type === "indent") { - return "indent(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "align") { - return doc.n === -Infinity ? "dedentToRoot(" + printDoc(doc.contents) + ")" : doc.n < 0 ? "dedent(" + printDoc(doc.contents) + ")" : doc.n.type === "root" ? "markAsRoot(" + printDoc(doc.contents) + ")" : "align(" + JSON.stringify(doc.n) + ", " + printDoc(doc.contents) + ")"; - } - - if (doc.type === "if-break") { - return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + ")"; - } - - if (doc.type === "group") { - if (doc.expandedStates) { - return "conditionalGroup(" + "[" + doc.expandedStates.map(printDoc).join(",") + "])"; + if (doc.type === "break-parent") { + const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === "line" && parentParts[index - 1].hard; + return afterHardline ? undefined : "breakParent"; } - return (doc.break ? "wrappedGroup" : "group") + "(" + printDoc(doc.contents) + ")"; + if (doc.type === "trim") { + return "trim"; + } + + if (doc.type === "indent") { + return "indent(" + printDoc(doc.contents) + ")"; + } + + if (doc.type === "align") { + return doc.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc.contents) + ")" : doc.n < 0 ? "dedent(" + printDoc(doc.contents) + ")" : doc.n.type === "root" ? "markAsRoot(" + printDoc(doc.contents) + ")" : "align(" + JSON.stringify(doc.n) + ", " + printDoc(doc.contents) + ")"; + } + + if (doc.type === "if-break") { + return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + (doc.groupId ? (!doc.flatContents ? ', ""' : "") + `, { groupId: ${printGroupId(doc.groupId)} }` : "") + ")"; + } + + if (doc.type === "indent-if-break") { + const optionsParts = []; + + if (doc.negate) { + optionsParts.push("negate: true"); + } + + if (doc.groupId) { + optionsParts.push(`groupId: ${printGroupId(doc.groupId)}`); + } + + const options = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; + return `indentIfBreak(${printDoc(doc.contents)}${options})`; + } + + if (doc.type === "group") { + const optionsParts = []; + + if (doc.break && doc.break !== "propagated") { + optionsParts.push("shouldBreak: true"); + } + + if (doc.id) { + optionsParts.push(`id: ${printGroupId(doc.id)}`); + } + + const options = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; + + if (doc.expandedStates) { + return `conditionalGroup([${doc.expandedStates.map(part => printDoc(part)).join(",")}]${options})`; + } + + return `group(${printDoc(doc.contents)}${options})`; + } + + if (doc.type === "fill") { + return `fill([${doc.parts.map(part => printDoc(part)).join(", ")}])`; + } + + if (doc.type === "line-suffix") { + return "lineSuffix(" + printDoc(doc.contents) + ")"; + } + + if (doc.type === "line-suffix-boundary") { + return "lineSuffixBoundary"; + } + + if (doc.type === "label") { + return `label(${JSON.stringify(doc.label)}, ${printDoc(doc.contents)})`; + } + + throw new Error("Unknown doc type " + doc.type); } - if (doc.type === "fill") { - return "fill" + "(" + doc.parts.map(printDoc).join(", ") + ")"; - } + function printGroupId(id) { + if (typeof id !== "symbol") { + return JSON.stringify(String(id)); + } - if (doc.type === "line-suffix") { - return "lineSuffix(" + printDoc(doc.contents) + ")"; - } + if (id in printedSymbols) { + return printedSymbols[id]; + } // TODO: use Symbol.prototype.description instead of slice once Node 10 is dropped - if (doc.type === "line-suffix-boundary") { - return "lineSuffixBoundary"; - } - throw new Error("Unknown doc type " + doc.type); + const prefix = String(id).slice(7, -1) || "symbol"; + + for (let counter = 0;; counter++) { + const key = prefix + (counter > 0 ? ` #${counter}` : ""); + + if (!usedKeysForSymbols.has(key)) { + usedKeysForSymbols.add(key); + return printedSymbols[id] = `Symbol.for(${JSON.stringify(key)})`; + } + } + } } var docDebug = { - printDocToDebug(doc) { - return printDoc(flattenDoc(doc)); - } - + printDocToDebug }; /** diff --git a/node_modules/prettier/esm/parser-angular.mjs b/node_modules/prettier/esm/parser-angular.mjs new file mode 100644 index 000000000..521db5de3 --- /dev/null +++ b/node_modules/prettier/esm/parser-angular.mjs @@ -0,0 +1,67 @@ +var e=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const t=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var r=t,n=t;r.default=n;const i=t=>{if("string"!=typeof t||0===t.length)return 0;if(0===(t=e(t)).length)return 0;t=t.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let n=0;for(let e=0;e=127&&i<=159||(i>=768&&i<=879||(i>65535&&e++,n+=r(i)?2:1))}return n};var s=i,u=i;s.default=u;var a=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var o=e=>e[e.length-1];function D(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e){var t={exports:{}};return e(t,t.exports),t.exports}var p=function(e){return e&&e.Math==Math&&e},h=p("object"==typeof globalThis&&globalThis)||p("object"==typeof window&&window)||p("object"==typeof self&&self)||p("object"==typeof c&&c)||function(){return this}()||Function("return this")(),d=function(e){try{return!!e()}catch(e){return!0}},f=!d((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),E={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,v={f:C&&!E.call({1:2},1)?function(e){var t=C(this,e);return!!t&&t.enumerable}:E},F=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g={}.toString,m=function(e){return g.call(e).slice(8,-1)},y="".split,x=d((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==m(e)?y.call(e,""):Object(e)}:Object,A=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},S=function(e){return x(A(e))},w=function(e){return"object"==typeof e?null!==e:"function"==typeof e},I=function(e,t){if(!w(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!w(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!w(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!w(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},O=function(e){return Object(A(e))},N={}.hasOwnProperty,b=Object.hasOwn||function(e,t){return N.call(O(e),t)},B=h.document,P=w(B)&&w(B.createElement),T=!f&&!d((function(){return 7!=Object.defineProperty((e="div",P?B.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),L=Object.getOwnPropertyDescriptor,R={f:f?L:function(e,t){if(e=S(e),t=I(t,!0),T)try{return L(e,t)}catch(e){}if(b(e,t))return F(!v.f.call(e,t),e[t])}},k=function(e){if(!w(e))throw TypeError(String(e)+" is not an object");return e},$=Object.defineProperty,_={f:f?$:function(e,t,r){if(k(e),t=I(t,!0),k(r),T)try{return $(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},M=f?function(e,t,r){return _.f(e,t,F(1,r))}:function(e,t,r){return e[t]=r,e},j=function(e,t){try{M(h,e,t)}catch(r){h[e]=t}return t},G=h["__core-js_shared__"]||j("__core-js_shared__",{}),K=Function.toString;"function"!=typeof G.inspectSource&&(G.inspectSource=function(e){return K.call(e)});var U,W,V,X,z=G.inspectSource,q=h.WeakMap,Q="function"==typeof q&&/native code/.test(z(q)),Y=l((function(e){(e.exports=function(e,t){return G[e]||(G[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),H=0,J=Math.random(),Z=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++H+J).toString(36)},ee=Y("keys"),te={},re=h.WeakMap;if(Q||G.state){var ne=G.state||(G.state=new re),ie=ne.get,se=ne.has,ue=ne.set;U=function(e,t){if(se.call(ne,e))throw new TypeError("Object already initialized");return t.facade=e,ue.call(ne,e,t),t},W=function(e){return ie.call(ne,e)||{}},V=function(e){return se.call(ne,e)}}else{var ae=ee[X="state"]||(ee[X]=Z(X));te[ae]=!0,U=function(e,t){if(b(e,ae))throw new TypeError("Object already initialized");return t.facade=e,M(e,ae,t),t},W=function(e){return b(e,ae)?e[ae]:{}},V=function(e){return b(e,ae)}}var oe,De,ce={set:U,get:W,has:V,enforce:function(e){return V(e)?W(e):U(e,{})},getterFor:function(e){return function(t){var r;if(!w(t)||(r=W(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},le=l((function(e){var t=ce.get,r=ce.enforce,n=String(String).split("String");(e.exports=function(e,t,i,s){var u,a=!!s&&!!s.unsafe,o=!!s&&!!s.enumerable,D=!!s&&!!s.noTargetGet;"function"==typeof i&&("string"!=typeof t||b(i,"name")||M(i,"name",t),(u=r(i)).source||(u.source=n.join("string"==typeof t?t:""))),e!==h?(a?!D&&e[t]&&(o=!0):delete e[t],o?e[t]=i:M(e,t,i)):o?e[t]=i:j(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||z(this)}))})),pe=h,he=function(e){return"function"==typeof e?e:void 0},de=function(e,t){return arguments.length<2?he(pe[e])||he(h[e]):pe[e]&&pe[e][t]||h[e]&&h[e][t]},fe=Math.ceil,Ee=Math.floor,Ce=function(e){return isNaN(e=+e)?0:(e>0?Ee:fe)(e)},ve=Math.min,Fe=function(e){return e>0?ve(Ce(e),9007199254740991):0},ge=Math.max,me=Math.min,ye=function(e){return function(t,r,n){var i,s=S(t),u=Fe(s.length),a=function(e,t){var r=Ce(e);return r<0?ge(r+t,0):me(r,t)}(n,u);if(e&&r!=r){for(;u>a;)if((i=s[a++])!=i)return!0}else for(;u>a;a++)if((e||a in s)&&s[a]===r)return e||a||0;return!e&&-1}},xe={includes:ye(!0),indexOf:ye(!1)}.indexOf,Ae=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Se={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=S(e),i=0,s=[];for(r in n)!b(te,r)&&b(n,r)&&s.push(r);for(;t.length>i;)b(n,r=t[i++])&&(~xe(s,r)||s.push(r));return s}(e,Ae)}},we={f:Object.getOwnPropertySymbols},Ie=de("Reflect","ownKeys")||function(e){var t=Se.f(k(e)),r=we.f;return r?t.concat(r(e)):t},Oe=function(e,t){for(var r=Ie(t),n=_.f,i=R.f,s=0;s0&&_e(o))D=Ge(e,t,o,Fe(o.length),D,s-1)-1;else{if(D>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[D]=o}D++}c++}return D},Ke=Ge,Ue=de("navigator","userAgent")||"",We=h.process,Ve=We&&We.versions,Xe=Ve&&Ve.v8;Xe?De=(oe=Xe.split("."))[0]<4?1:oe[0]+oe[1]:Ue&&(!(oe=Ue.match(/Edge\/(\d+)/))||oe[1]>=74)&&(oe=Ue.match(/Chrome\/(\d+)/))&&(De=oe[1]);var ze=De&&+De,qe=!!Object.getOwnPropertySymbols&&!d((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ze&&ze<41})),Qe=qe&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ye=Y("wks"),He=h.Symbol,Je=Qe?He:He&&He.withoutSetter||Z,Ze=function(e){return b(Ye,e)&&(qe||"string"==typeof Ye[e])||(qe&&b(He,e)?Ye[e]=He[e]:Ye[e]=Je("Symbol."+e)),Ye[e]},et=Ze("species"),tt=function(e,t){var r;return _e(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!_e(r.prototype)?w(r)&&null===(r=r[et])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)};$e({target:"Array",proto:!0},{flatMap:function(e){var t,r=O(this),n=Fe(r.length);return Me(e),(t=tt(r,0)).length=Ke(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var rt,nt,it=Math.floor,st=function(e,t){var r=e.length,n=it(r/2);return r<8?ut(e,t):at(st(e.slice(0,n),t),st(e.slice(n),t),t)},ut=function(e,t){for(var r,n,i=e.length,s=1;s0;)e[n]=e[--n];n!==s++&&(e[n]=r)}return e},at=function(e,t,r){for(var n=e.length,i=t.length,s=0,u=0,a=[];s3)){if(lt)return!0;if(ht)return ht<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)dt.push({k:t+n,v:r})}for(dt.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;ns;s++)if((a=C(e[s]))&&a instanceof bt)return a;return new bt(!1)}n=i.call(e)}for(o=n.next;!(D=o.call(n)).done;){try{a=C(D.value)}catch(e){throw Nt(n),e}if("object"==typeof a&&a&&a instanceof bt)return a}return new bt(!1)};$e({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Bt(e,(function(e,r){!function(e,t,r){var n=I(t);n in e?_.f(e,n,F(0,r)):e[n]=r}(t,e,r)}),{AS_ENTRIES:!0}),t}});var Pt=void 0!==Pt?Pt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Tt(){throw new Error("setTimeout has not been defined")}function Lt(){throw new Error("clearTimeout has not been defined")}var Rt=Tt,kt=Lt;function $t(e){if(Rt===setTimeout)return setTimeout(e,0);if((Rt===Tt||!Rt)&&setTimeout)return Rt=setTimeout,setTimeout(e,0);try{return Rt(e,0)}catch(t){try{return Rt.call(null,e,0)}catch(t){return Rt.call(this,e,0)}}}"function"==typeof Pt.setTimeout&&(Rt=setTimeout),"function"==typeof Pt.clearTimeout&&(kt=clearTimeout);var _t,Mt=[],jt=!1,Gt=-1;function Kt(){jt&&_t&&(jt=!1,_t.length?Mt=_t.concat(Mt):Gt=-1,Mt.length&&Ut())}function Ut(){if(!jt){var e=$t(Kt);jt=!0;for(var t=Mt.length;t;){for(_t=Mt,Mt=[];++Gt1)for(var r=1;rconsole.error("SEMVER",...e):()=>{};var ir={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},sr=l((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=ir,n=(t=e.exports={}).re=[],i=t.src=[],s=t.t={};let u=0;const a=(e,t,r)=>{const a=u++;nr(a,t),s[e]=a,i[a]=t,n[a]=new RegExp(t,r?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),a("FULL",`^${i[s.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),a("LOOSE",`^${i[s.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${i[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${i[s.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),a("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),a("COERCERTL",i[s.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",a("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",a("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const ur=["includePrerelease","loose","rtl"];var ar=e=>e?"object"!=typeof e?{loose:!0}:ur.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const or=/^[0-9]+$/,Dr=(e,t)=>{const r=or.test(e),n=or.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eDr(t,e)};const{MAX_LENGTH:lr,MAX_SAFE_INTEGER:pr}=ir,{re:hr,t:dr}=sr,{compareIdentifiers:fr}=cr;class Er{constructor(e,t){if(t=ar(t),e instanceof Er){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>lr)throw new TypeError(`version is longer than ${lr} characters`);nr("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?hr[dr.LOOSE]:hr[dr.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>pr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>pr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>pr||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var Cr=Er;var vr=(e,t,r)=>new Cr(e,r).compare(new Cr(t,r));var Fr=(e,t,r)=>vr(e,t,r)<0;var gr=(e,t,r)=>vr(e,t,r)>=0,mr="2.3.2",yr=l((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:xr` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xr` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xr` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:xr` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Sr=["cliName","cliCategory","cliDescription"],wr={compare:vr,lt:Fr,gte:gr},Ir=mr,Or={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Ar}.options;var Nr={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=Ir.split("-",1)[0],s=e.flatMap((e=>e.languages||[])).filter(c),u=(a=Object.assign({},...e.map((({options:e})=>e)),Or),o="name",Object.entries(a).map((([e,t])=>Object.assign({[o]:e},t)))).filter((e=>c(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(c).sort(((e,t)=>wr.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>c(e)&&l(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const s=r.find((e=>e.parsers&&e.parsers[t]));let u=i.name;s&&s.name&&(u+=` (plugin: ${s.name})`),e.choices.push({value:t,description:u})}}(t,s,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));var a,o;return{languages:s,options:u};function c(e){return t||!("since"in e)||e.since&&wr.gte(i,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&wr.lt(i,e.deprecated)}}};const{getSupportInfo:br}=Nr,Br=/[^\x20-\x7F]/;function Pr(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:s}=t;let u=r;for(;u>=0&&u(r.match(u.regex)||[]).length?u.quote:s.quote}return a}function Xr(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,s)=>i===n?i:s===t?"\\"+s:s||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function zr(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var qr={inferParserByLanguage:function(e,t){const{languages:r}=br({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?Br.test(e)?s(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(`(${a(t)})+`,"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(`(${a(t)})+`,"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:o,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Kr,getNextNonSpaceNonCommentCharacterIndex:Ur,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Ur(e,t,r))},skip:Pr,skipWhitespace:Tr,skipSpaces:Lr,skipToLineEnd:Rr,skipEverythingButNewLine:kr,skipInlineComment:$r,skipTrailingComment:_r,skipNewline:Mr,isNextLineEmptyAfterIndex:Gr,isNextLineEmpty:function(e,t,r){return Gr(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Lr(e,n,{backwards:!0}),n=Mr(e,n,{backwards:!0}),n=Lr(e,n,{backwards:!0}),n!==Mr(e,n,{backwards:!0})},hasNewline:jr,hasNewlineInRange:function(e,t,r){for(let n=t;n0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};const{isNonEmptyArray:Qr}=qr;function Yr(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Qr(t))return Yr(t[0])}return e.range?e.range[0]:e.start}function Hr(e){return e.range?e.range[1]:e.end}function Jr(e,t){return Yr(e)===Yr(t)}var Zr,en={locStart:Yr,locEnd:Hr,hasSameLocStart:Jr,hasSameLoc:function(e,t){return Jr(e,t)&&function(e,t){return Hr(e)===Hr(t)}(e,t)}},tn=l((function(e,t){var r="\n",n=function(){function e(e){this.string=e;for(var t=[0],n=0;nthis.string.length)return null;for(var t=0,r=this.offsets;r[t+1]<=e;)t++;return{line:t,column:e-r[t]}},e.prototype.indexForLocation=function(e){var t=e.line,r=e.column;return t<0||t>=this.offsets.length||r<0||r>this.lengthOfLine(t)?null:this.offsets[t]+r},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=n})),rn=l((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Context=void 0;t.Context=class{constructor(e){this.text=e,this.locator=new r(this.text)}};class r{constructor(e){this._lineAndColumn=new tn.default(e)}locationForIndex(e){const{line:t,column:r}=this._lineAndColumn.locationForIndex(e);return{line:t+1,column:r}}}})); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class nn{constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}}class sn{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new Bn(e+this.start,e+this.end)}}class un{constructor(e,t){this.span=e,this.sourceSpan=t}visit(e,t=null){return null}toString(){return"AST"}}class an extends un{constructor(e,t,r){super(e,t),this.nameSpan=r}}class on extends un{constructor(e,t,r,n,i){super(e,t),this.prefix=r,this.uninterpretedExpression=n,this.location=i}visit(e,t=null){return e.visitQuote(this,t)}toString(){return"Quote"}}class Dn extends un{visit(e,t=null){}}class cn extends un{visit(e,t=null){return e.visitImplicitReceiver(this,t)}}class ln extends cn{visit(e,t=null){var r;return null===(r=e.visitThisReceiver)||void 0===r?void 0:r.call(e,this,t)}}class pn extends un{constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitChain(this,t)}}class hn extends un{constructor(e,t,r,n,i){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}}class dn extends an{constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}}class fn extends an{constructor(e,t,r,n,i,s){super(e,t,r),this.receiver=n,this.name=i,this.value=s}visit(e,t=null){return e.visitPropertyWrite(this,t)}}class En extends an{constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}}class Cn extends un{constructor(e,t,r,n){super(e,t),this.obj=r,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}}class vn extends un{constructor(e,t,r,n,i){super(e,t),this.obj=r,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}}class Fn extends an{constructor(e,t,r,n,i,s){super(e,t,s),this.exp=r,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}}class gn extends un{constructor(e,t,r){super(e,t),this.value=r}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}}class mn extends un{constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitLiteralArray(this,t)}}class yn extends un{constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}}class xn extends un{constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}}class An extends un{constructor(e,t,r,n,i){super(e,t),this.operation=r,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}}class Sn extends An{constructor(e,t,r,n,i,s,u){super(e,t,i,s,u),this.operator=r,this.expr=n}static createMinus(e,t,r){return new Sn(e,t,"-",r,"-",new gn(e,t,0),r)}static createPlus(e,t,r){return new Sn(e,t,"+",r,"-",r,new gn(e,t,0))}visit(e,t=null){return void 0!==e.visitUnary?e.visitUnary(this,t):e.visitBinary(this,t)}}class wn extends un{constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitPrefixNot(this,t)}}class In extends un{constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitNonNullAssert(this,t)}}class On extends an{constructor(e,t,r,n,i,s,u){super(e,t,r),this.receiver=n,this.name=i,this.args=s,this.argumentSpan=u}visit(e,t=null){return e.visitMethodCall(this,t)}}class Nn extends an{constructor(e,t,r,n,i,s,u){super(e,t,r),this.receiver=n,this.name=i,this.args=s,this.argumentSpan=u}visit(e,t=null){return e.visitSafeMethodCall(this,t)}}class bn extends un{constructor(e,t,r,n){super(e,t),this.target=r,this.args=n}visit(e,t=null){return e.visitFunctionCall(this,t)}}class Bn{constructor(e,t){this.start=e,this.end=t}}class Pn extends un{constructor(e,t,r,n,i){super(new sn(0,null===t?0:t.length),new Bn(n,null===t?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}}class Tn{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}}class Ln{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}}class Rn{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.obj,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.obj,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitQuote(e,t){}visitAll(e,t){for(const r of e)this.visit(r,t)}}!function(e){e[e.DEFAULT=0]="DEFAULT",e[e.LITERAL_ATTR=1]="LITERAL_ATTR",e[e.ANIMATION=2]="ANIMATION"}(Zr||(Zr={}));var kn=Object.freeze({__proto__:null,ParserError:nn,ParseSpan:sn,AST:un,ASTWithName:an,Quote:on,EmptyExpr:Dn,ImplicitReceiver:cn,ThisReceiver:ln,Chain:pn,Conditional:hn,PropertyRead:dn,PropertyWrite:fn,SafePropertyRead:En,KeyedRead:Cn,KeyedWrite:vn,BindingPipe:Fn,LiteralPrimitive:gn,LiteralArray:mn,LiteralMap:yn,Interpolation:xn,Binary:An,Unary:Sn,PrefixNot:wn,NonNullAssert:In,MethodCall:On,SafeMethodCall:Nn,FunctionCall:bn,AbsoluteSourceSpan:Bn,ASTWithSource:Pn,VariableBinding:Tn,ExpressionBinding:Ln,RecursiveAstVisitor:Rn,AstTransformer:class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new xn(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new gn(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new dn(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new fn(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new En(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new On(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new Nn(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new bn(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new mn(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new yn(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return Sn.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return Sn.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error(`Unknown unary operator ${e.operator}`)}}visitBinary(e,t){return new An(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new wn(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new In(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new hn(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new Fn(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new Cn(e.span,e.sourceSpan,e.obj.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new vn(e.span,e.sourceSpan,e.obj.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){const t=[];for(let r=0;r=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const e=this.input,t=this.length;let r=this.peek,n=this.index;for(;r<=32;){if(++n>=t){r=0;break}r=e.charCodeAt(n)}if(this.peek=r,this.index=n,n>=t)return null;if(Vn(r))return this.scanIdentifier();if($n(r))return this.scanNumber(n);const i=n;switch(r){case 46:return this.advance(),$n(this.peek)?this.scanNumber(i):Gn(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,r);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(r));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(r),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(r),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;(s=this.peek)>=9&&s<=32||160==s;)this.advance();return this.scanToken()}var s;return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),Gn(e,this.index,t)}scanOperator(e,t){return this.advance(),Kn(e,this.index,t)}scanComplexOperator(e,t,r,n,i,s){this.advance();let u=t;return this.peek==r&&(this.advance(),u+=n),null!=i&&this.peek==i&&(this.advance(),u+=s),Kn(e,this.index,u)}scanIdentifier(){const e=this.index;for(this.advance();zn(this.peek);)this.advance();const t=this.input.substring(e,this.index);return Mn.indexOf(t)>-1?(r=e,n=this.index,i=t,new jn(r,n,_n.Keyword,0,i)):function(e,t,r){return new jn(e,t,_n.Identifier,0,r)}(e,this.index,t);var r,n,i}scanPrivateIdentifier(){const e=this.index;if(this.advance(),!Vn(this.peek))return this.error("Invalid character [#]",-1);for(;zn(this.peek);)this.advance();const t=this.input.substring(e,this.index);return r=e,n=this.index,i=t,new jn(r,n,_n.PrivateIdentifier,0,i);var r,n,i}scanNumber(e){let t=this.index===e;for(this.advance();;){if($n(this.peek));else if(46==this.peek)t=!1;else{if(101!=(r=this.peek)&&69!=r)break;if(this.advance(),qn(this.peek)&&this.advance(),!$n(this.peek))return this.error("Invalid exponent",-1);t=!1}this.advance()}var r;const n=this.input.substring(e,this.index),i=t?function(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}(n):parseFloat(n);return s=e,u=this.index,a=i,new jn(s,u,_n.Number,a,"");var s,u,a}scanString(){const e=this.index,t=this.peek;this.advance();let r="",n=this.index;const i=this.input;for(;this.peek!=t;)if(92==this.peek){let e;if(r+=i.substring(n,this.index),this.advance(),this.peek=this.peek,117==this.peek){const t=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(t))return this.error(`Invalid unicode escape [\\u${t}]`,0);e=parseInt(t,16);for(let e=0;e<5;e++)this.advance()}else e=Yn(this.peek),this.advance();r+=String.fromCharCode(e),n=this.index}else{if(0==this.peek)return this.error("Unterminated quote",0);this.advance()}const s=i.substring(n,this.index);return this.advance(),u=e,a=this.index,o=r+s,new jn(u,a,_n.String,0,o);var u,a,o}scanQuestion(e){this.advance();let t="?";return 63!==this.peek&&46!==this.peek||(t+=46===this.peek?".":"?",this.advance()),Kn(e,this.index,t)}error(e,t){const r=this.index+t;return function(e,t,r){return new jn(e,t,_n.Error,0,r)}(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}}function Vn(e){return 97<=e&&e<=122||65<=e&&e<=90||95==e||36==e}function Xn(e){if(0==e.length)return!1;const t=new Wn(e);if(!Vn(t.peek))return!1;for(t.advance();0!==t.peek;){if(!zn(t.peek))return!1;t.advance()}return!0}function zn(e){return function(e){return e>=97&&e<=122||e>=65&&e<=90}(e)||$n(e)||95==e||36==e}function qn(e){return 45==e||43==e}function Qn(e){return 39===e||34===e||96===e}function Yn(e){switch(e){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return e}}var Hn=Object.freeze({__proto__:null,get TokenType(){return _n},Lexer:class{tokenize(e){const t=new Wn(e),r=[];let n=t.scanToken();for(;null!=n;)r.push(n),n=t.scanToken();return r}},Token:jn,EOF:Un,isIdentifier:Xn,isQuote:Qn}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */const Jn=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class Zn{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(null!=t){const e=t[0],r=t[1];Jn.forEach((t=>{if(t.test(e)||t.test(r))throw new Error(`['${e}', '${r}'] contains unusable interpolation symbol.`)}))}}("interpolation",e),new Zn(e[0],e[1])):ei}}const ei=new Zn("{{","}}"); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */class ti{constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}}class ri{constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}}class ni{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=ui}parseAction(e,t,r,n=ei){this._checkNoInterpolation(e,t,n);const i=this._stripComments(e),s=this._lexer.tokenize(this._stripComments(e)),u=new si(e,t,r,s,i.length,!0,this.errors,e.length-i.length).parseChain();return new Pn(u,e,t,r,this.errors)}parseBinding(e,t,r,n=ei){const i=this._parseBindingAst(e,t,r,n);return new Pn(i,e,t,r,this.errors)}checkSimpleExpression(e){const t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,r,n=ei){const i=this._parseBindingAst(e,t,r,n),s=this.checkSimpleExpression(i);return s.length>0&&this._reportError(`Host binding expression cannot contain ${s.join(" ")}`,e,t),new Pn(i,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new nn(e,t,r,n))}_parseBindingAst(e,t,r,n){const i=this._parseQuote(e,t,r);if(null!=i)return i;this._checkNoInterpolation(e,t,n);const s=this._stripComments(e),u=this._lexer.tokenize(s);return new si(e,t,r,u,s.length,!1,this.errors,e.length-s.length).parseChain()}_parseQuote(e,t,r){if(null==e)return null;const n=e.indexOf(":");if(-1==n)return null;const i=e.substring(0,n).trim();if(!Xn(i))return null;const s=e.substring(n+1),u=new sn(0,e.length);return new on(u,u.toAbsolute(r),i,s,t)}parseTemplateBindings(e,t,r,n,i){const s=this._lexer.tokenize(t);return new si(t,r,i,s,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new Bn(n,n+e.length)})}parseInterpolation(e,t,r,n=ei){const{strings:i,expressions:s,offsets:u}=this.splitInterpolation(e,t,n);if(0===s.length)return null;const a=[];for(let n=0;ne.text)),a,e,t,r)}parseInterpolationExpression(e,t,r){const n=this._stripComments(e),i=this._lexer.tokenize(n),s=new si(e,t,r,i,n.length,!1,this.errors,0).parseChain();return this.createInterpolationAst(["",""],[s],e,t,r)}createInterpolationAst(e,t,r,n,i){const s=new sn(0,r.length),u=new xn(s,s.toAbsolute(i),e,t);return new Pn(u,r,n,i,this.errors)}splitInterpolation(e,t,r=ei){const n=[],i=[],s=[];let u=0,a=!1,o=!1,{start:D,end:c}=r;for(;u-1)break;i>-1&&s>-1&&this._reportError(`Got interpolation (${r}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,r){for(const n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){if(this.index>0){return this.peek(-1).end+this.offset}return 0===this.tokens.length?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(void 0!==t&&t>this.currentEndIndex&&(r=t),e>r){const t=r;r=e,e=t}return new sn(e,r)}sourceSpan(e,t){const r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;const r=t();return this.context^=e,r}consumeOptionalCharacter(e){return!!this.next.isCharacter(e)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return!!this.next.isOperator(e)&&(this.advance(),!0)}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Un?"end of input":`token ${e}`}expectIdentifierOrKeyword(){const e=this.next;return e.isIdentifier()||e.isKeyword()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null)}expectIdentifierOrKeywordOrString(){const e=this.next;return e.isIdentifier()||e.isKeyword()||e.isString()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),"")}parseChain(){const e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();const n=this.parseAdditive();t=new An(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){const e=this.inputIndex;let t=this.parseMultiplicative();for(;this.next.type==_n.Operator;){const r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new An(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){const e=this.inputIndex;let t=this.parsePrefix();for(;this.next.type==_n.Operator;){const r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new An(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==_n.Operator){const e=this.inputIndex;let t;switch(this.next.strValue){case"+":return this.advance(),t=this.parsePrefix(),Sn.createPlus(this.span(e),this.sourceSpan(e),t);case"-":return this.advance(),t=this.parsePrefix(),Sn.createMinus(this.span(e),this.sourceSpan(e),t);case"!":return this.advance(),t=this.parsePrefix(),new wn(this.span(e),this.sourceSpan(e),t)}}return this.parseCallChain()}parseCallChain(){const e=this.inputIndex;let t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(91))this.withContext(ii.Writable,(()=>{this.rbracketsExpected++;const r=this.parsePipe();if(r instanceof Dn&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("=")){const n=this.parseConditional();t=new vn(this.span(e),this.sourceSpan(e),t,r,n)}else t=new Cn(this.span(e),this.sourceSpan(e),t,r)}));else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new bn(this.span(e),this.sourceSpan(e),t,r)}else{if(!this.consumeOptionalOperator("!"))return t;t=new In(this.span(e),this.sourceSpan(e),t)}}parsePrimary(){const e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),e}if(this.next.isKeywordNull())return this.advance(),new gn(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new gn(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new gn(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new gn(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new ln(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new mn(this.span(e),this.sourceSpan(e),t)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new cn(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){const t=this.next.toNumber();return this.advance(),new gn(this.span(e),this.sourceSpan(e),t)}if(this.next.isString()){const t=this.next.toString();return this.advance(),new gn(this.span(e),this.sourceSpan(e),t)}return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new Dn(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new Dn(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new Dn(this.span(e),this.sourceSpan(e)))}parseExpressionList(e){const t=[];do{if(this.next.isCharacter(e))break;t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){const e=[],t=[],r=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{const r=this.next.isString(),n=this.expectIdentifierOrKeywordOrString();e.push({key:n,quoted:r}),this.expectCharacter(58),t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new yn(this.span(r),this.sourceSpan(r),e,t)}parseAccessMemberOrMethodCall(e,t,r=!1){const n=this.inputIndex,i=this.withContext(ii.Writable,(()=>{var t;const r=null!==(t=this.expectIdentifierOrKeyword())&&void 0!==t?t:"";return 0===r.length&&this.error("Expected identifier for property access",e.span.end),r})),s=this.sourceSpan(n);if(this.consumeOptionalCharacter(40)){const n=this.inputIndex;this.rparensExpected++;const u=this.parseCallArguments(),a=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;const o=this.span(t),D=this.sourceSpan(t);return r?new Nn(o,D,s,e,i,u,a):new On(o,D,s,e,i,u,a)}if(r)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Dn(this.span(t),this.sourceSpan(t))):new En(this.span(t),this.sourceSpan(t),s,e,i);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Dn(this.span(t),this.sourceSpan(t));const r=this.parseConditional();return new fn(this.span(t),this.sourceSpan(t),s,e,i,r)}return new dn(this.span(t),this.sourceSpan(t),s,e,i)}parseCallArguments(){if(this.next.isCharacter(41))return[];const e=[];do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1;const r=this.currentAbsoluteOffset;do{e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-")}while(t);return{source:e,span:new Bn(r,r+e.length)}}parseTemplateBindings(e){const t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.indexe.visit(this,t)))}visitChain(e,t){}visitQuote(e,t){}}class ai extends Rn{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}var oi=Object.freeze({__proto__:null,SplitInterpolation:ti,TemplateBindingParseResult:ri,Parser:ni,IvyParser:class extends ni{constructor(){super(...arguments),this.simpleExpressionChecker=ai}},_ParseAST:si}),Di=l((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getLast=t.toLowerCamelCase=t.findBackChar=t.findFrontChar=t.fitSpans=t.getNgType=t.parseNgInterpolation=t.parseNgTemplateBindings=t.parseNgAction=t.parseNgSimpleBinding=t.parseNgBinding=t.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;const r="angular-estree-parser";t.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";const n=[r,0];function i(){return new oi.Parser(new Hn.Lexer)}function s(e,t){const r=i(),{astInput:n,comments:s}=o(e,r),{ast:u,errors:D}=t(n,r);return a(D),{ast:u,comments:s}}function u(e,t){if(e&&"object"==typeof e){if(Array.isArray(e))return e.forEach((e=>u(e,t)));for(const r of Object.keys(e)){const n=e[r];"span"===r?t(n):u(n,t)}}}function a(e){if(0!==e.length){const[{message:t}]=e;throw new SyntaxError(t.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function o(e,t){const r=t._commentStart(e);return null===r?{astInput:e,comments:[]}:{astInput:e.slice(0,r),comments:[{type:"Comment",value:e.slice(r+"//".length),span:{start:r,end:e.length}}]}}function D({start:e,end:t},r){let n=e,i=t;for(;i!==n&&/\s/.test(r[i-1]);)i--;for(;n!==i&&/\s/.test(r[n]);)n++;return{start:n,end:i}}function c({start:e,end:t},r){let n=e,i=t;for(;i!==r.length&&/\s/.test(r[i]);)i++;for(;0!==n&&/\s/.test(r[n-1]);)n--;return{start:n,end:i}}function l(e,t){return"("===t[e.start-1]&&")"===t[e.end]?{start:e.start-1,end:e.end+1}:e}t.parseNgBinding=function(e){return s(e,((e,t)=>t.parseBinding(e,...n)))},t.parseNgSimpleBinding=function(e){return s(e,((e,t)=>t.parseSimpleBinding(e,...n)))},t.parseNgAction=function(e){return s(e,((e,t)=>t.parseAction(e,...n)))},t.parseNgTemplateBindings=function(e){const n=i(),{templateBindings:s,errors:u}=n.parseTemplateBindings(t.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,e,r,0,0);return a(u),s},t.parseNgInterpolation=function(e){const t=i(),{astInput:r,comments:s}=o(e,t),D="{{",{ast:c,errors:l}=t.parseInterpolation(D+r+"}}",...n);a(l);const p=c.expressions[0],h=new Set;return u(p,(e=>{h.has(e)||(e.start-=D.length,e.end-=D.length,h.add(e))})),{ast:p,comments:s}},t.getNgType=function(e){return kn.Unary&&e instanceof kn.Unary?"Unary":e instanceof kn.Binary?"Binary":e instanceof kn.BindingPipe?"BindingPipe":e instanceof kn.Chain?"Chain":e instanceof kn.Conditional?"Conditional":e instanceof kn.EmptyExpr?"EmptyExpr":e instanceof kn.FunctionCall?"FunctionCall":e instanceof kn.ImplicitReceiver?"ImplicitReceiver":e instanceof kn.KeyedRead?"KeyedRead":e instanceof kn.KeyedWrite?"KeyedWrite":e instanceof kn.LiteralArray?"LiteralArray":e instanceof kn.LiteralMap?"LiteralMap":e instanceof kn.LiteralPrimitive?"LiteralPrimitive":e instanceof kn.MethodCall?"MethodCall":e instanceof kn.NonNullAssert?"NonNullAssert":e instanceof kn.PrefixNot?"PrefixNot":e instanceof kn.PropertyRead?"PropertyRead":e instanceof kn.PropertyWrite?"PropertyWrite":e instanceof kn.Quote?"Quote":e instanceof kn.SafeMethodCall?"SafeMethodCall":e instanceof kn.SafePropertyRead?"SafePropertyRead":e.type},t.fitSpans=function(e,t,r){let n=0;const i={start:e.start,end:e.end};for(;;){const e=c(i,t),r=l(e,t);if(e.start===r.start&&e.end===r.end)break;i.start=r.start,i.end=r.end,n++}return{hasParens:0!==(r?n-1:n),outerSpan:D(r?{start:i.start+1,end:i.end-1}:i,t),innerSpan:D(e,t)}},t.findFrontChar=function(e,t,r){let n=t;for(;!e.test(r[n]);)if(--n<0)throw new Error(`Cannot find front char ${e} from index ${t} in ${JSON.stringify(r)}`);return n},t.findBackChar=function(e,t,r){let n=t;for(;!e.test(r[n]);)if(++n>=r.length)throw new Error(`Cannot find back char ${e} from index ${t} in ${JSON.stringify(r)}`);return n},t.toLowerCamelCase=function(e){return e.slice(0,1).toLowerCase()+e.slice(1)},t.getLast=function(e){return 0===e.length?void 0:e[e.length-1]}})),ci=l((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.transformSpan=t.transform=void 0;function r(e,t,r=!1,n=!1){if(!r){const{start:r,end:n}=e;return{start:r,end:n,loc:{start:t.locator.locationForIndex(r),end:t.locator.locationForIndex(n)}}}const{outerSpan:i,innerSpan:s,hasParens:u}=Di.fitSpans(e,t.text,n);return Object.assign({start:s.start,end:s.end,loc:{start:t.locator.locationForIndex(s.start),end:t.locator.locationForIndex(s.end)}},u&&{extra:{parenthesized:!0,parenStart:i.start,parenEnd:i.end}})}t.transform=(e,n,i=!1)=>{const s=Di.getNgType(e);switch(s){case"Unary":{const{operator:t,expr:r}=e;return o("UnaryExpression",{prefix:!0,argument:u(r),operator:t},e.span,{hasParentParens:i})}case"Binary":{const{left:t,operation:r,right:n}=e,s=n.span.start===n.span.end,a=t.span.start===t.span.end;if(s||a){const r=t.span.start===t.span.end?u(n):u(t);return o("UnaryExpression",{prefix:!0,argument:r,operator:s?"+":"-"},{start:e.span.start,end:E(r)},{hasParentParens:i})}const D=u(t),c=u(n);return o("&&"===r||"||"===r?"LogicalExpression":"BinaryExpression",{left:D,right:c,operator:r},{start:f(D),end:E(c)},{hasParentParens:i})}case"BindingPipe":{const{exp:t,name:r,args:n}=e,s=u(t),a=l(/\S/,l(/\|/,E(s))+1),D=o("Identifier",{name:r},{start:a,end:a+r.length}),c=n.map(u);return o("NGPipeExpression",{left:s,right:D,arguments:c},{start:f(s),end:E(0===c.length?D:Di.getLast(c))},{hasParentParens:i})}case"Chain":{const{expressions:t}=e;return o("NGChainedExpression",{expressions:t.map(u)},e.span,{hasParentParens:i})}case"Comment":{const{value:t}=e;return o("CommentLine",{value:t},e.span,{processSpan:!1})}case"Conditional":{const{condition:t,trueExp:r,falseExp:n}=e,s=u(t),a=u(r),D=u(n);return o("ConditionalExpression",{test:s,consequent:a,alternate:D},{start:f(s),end:E(D)},{hasParentParens:i})}case"EmptyExpr":return o("NGEmptyExpression",{},e.span,{hasParentParens:i});case"FunctionCall":{const{target:t,args:r}=e,n=1===r.length?[a(r[0])]:r.map(u),s=u(t);return o("CallExpression",{callee:s,arguments:n},{start:f(s),end:e.span.end},{hasParentParens:i})}case"ImplicitReceiver":return o("ThisExpression",{},e.span,{hasParentParens:i});case"KeyedRead":{const{obj:t,key:r}=e;return D(t,u(r),{computed:!0,optional:!1},{end:e.span.end,hasParentParens:i})}case"LiteralArray":{const{expressions:t}=e;return o("ArrayExpression",{elements:t.map(u)},e.span,{hasParentParens:i})}case"LiteralMap":{const{keys:t,values:r}=e,n=r.map((e=>u(e))),s=t.map((({key:t,quoted:r},i)=>{const s=n[i],u={start:l(/\S/,0===i?e.span.start+1:l(/,/,E(n[i-1]))+1),end:c(/\S/,c(/:/,f(s)-1)-1)+1},a=r?o("StringLiteral",{value:t},u):o("Identifier",{name:t},u);return o("ObjectProperty",{key:a,value:s,method:!1,shorthand:!1,computed:!1},{start:f(a),end:E(s)})}));return o("ObjectExpression",{properties:s},e.span,{hasParentParens:i})}case"LiteralPrimitive":{const{value:t}=e;switch(typeof t){case"boolean":return o("BooleanLiteral",{value:t},e.span,{hasParentParens:i});case"number":return o("NumericLiteral",{value:t},e.span,{hasParentParens:i});case"object":return o("NullLiteral",{},e.span,{hasParentParens:i});case"string":return o("StringLiteral",{value:t},e.span,{hasParentParens:i});case"undefined":return o("Identifier",{name:"undefined"},e.span,{hasParentParens:i});default:throw new Error("Unexpected LiteralPrimitive value type "+typeof t)}}case"MethodCall":case"SafeMethodCall":{const t="SafeMethodCall"===s,{receiver:r,name:n,args:l}=e,p=1===l.length?[a(l[0])]:l.map(u),d=c(/\S/,c(/\(/,(0===p.length?c(/\)/,e.span.end-1):f(p[0]))-1)-1)+1,E=D(r,o("Identifier",{name:n},{start:d-n.length,end:d}),{computed:!1,optional:t}),C=h(E);return o(t||C?"OptionalCallExpression":"CallExpression",{callee:E,arguments:p},{start:f(E),end:e.span.end},{hasParentParens:i})}case"NonNullAssert":{const{expression:t}=e,r=u(t);return o("TSNonNullExpression",{expression:r},{start:f(r),end:e.span.end},{hasParentParens:i})}case"PrefixNot":{const{expression:t}=e,r=u(t);return o("UnaryExpression",{prefix:!0,operator:"!",argument:r},{start:e.span.start,end:E(r)},{hasParentParens:i})}case"PropertyRead":case"SafePropertyRead":{const t="SafePropertyRead"===s,{receiver:r,name:n}=e,u=c(/\S/,e.span.end-1)+1;return D(r,o("Identifier",{name:n},{start:u-n.length,end:u},p(r)?{hasParentParens:i}:{}),{computed:!1,optional:t},{hasParentParens:i})}case"KeyedWrite":{const{obj:t,key:r,value:n}=e,s=u(r),a=u(n),c=D(t,s,{computed:!0,optional:!1},{end:l(/\]/,E(s))+1});return o("AssignmentExpression",{left:c,operator:"=",right:a},{start:f(c),end:E(a)},{hasParentParens:i})}case"PropertyWrite":{const{receiver:t,name:r,value:n}=e,s=u(n),a=c(/\S/,c(/=/,f(s)-1)-1)+1,l=D(t,o("Identifier",{name:r},{start:a-r.length,end:a}),{computed:!1,optional:!1});return o("AssignmentExpression",{left:l,operator:"=",right:s},{start:f(l),end:E(s)},{hasParentParens:i})}case"Quote":{const{prefix:t,uninterpretedExpression:r}=e;return o("NGQuotedExpression",{prefix:t,value:r},e.span,{hasParentParens:i})}default:throw new Error(`Unexpected node ${s}`)}function u(e){return t.transform(e,n)}function a(e){return t.transform(e,n,!0)}function o(e,t,i,{processSpan:s=!0,hasParentParens:u=!1}={}){const a=Object.assign(Object.assign({type:e},r(i,n,s,u)),t);switch(e){case"Identifier":{const e=a;e.loc.identifierName=e.name;break}case"NumericLiteral":{const e=a;e.extra=Object.assign(Object.assign({},e.extra),{raw:n.text.slice(e.start,e.end),rawValue:e.value});break}case"StringLiteral":{const e=a;e.extra=Object.assign(Object.assign({},e.extra),{raw:n.text.slice(e.start,e.end),rawValue:e.value});break}}return a}function D(e,t,r,{end:n=E(t),hasParentParens:i=!1}={}){if(p(e))return t;const s=u(e),a=h(s);return o(r.optional||a?"OptionalMemberExpression":"MemberExpression",Object.assign({object:s,property:t,computed:r.computed},r.optional?{optional:!0}:a?{optional:!1}:null),{start:f(s),end:n},{hasParentParens:i})}function c(e,t){return Di.findFrontChar(e,t,n.text)}function l(e,t){return Di.findBackChar(e,t,n.text)}function p(e){return e.span.start>=e.span.end||/^\s+$/.test(n.text.slice(e.span.start,e.span.end))}function h(e){return("OptionalCallExpression"===e.type||"OptionalMemberExpression"===e.type)&&!d(e)}function d(e){return e.extra&&e.extra.parenthesized}function f(e){return d(e)?e.extra.parenStart:e.start}function E(e){return d(e)?e.extra.parenEnd:e.end}},t.transformSpan=r})),li=l((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.transformTemplateBindings=void 0,t.transformTemplateBindings=function(e,t){e.forEach((function(e){h(e.key.span),p(e)&&e.value&&h(e.value.span)}));const[r]=e,{key:n}=r,i=0===t.text.slice(r.sourceSpan.start,r.sourceSpan.end).trim().length?e.slice(1):e,s=[];let u=null;for(let e=0;eObject.assign(Object.assign({},e),ci.transformSpan({start:e.start,end:r},t)),i=t=>Object.assign(Object.assign({},n(t,e.end)),{alias:e}),u=s.pop();if("NGMicrosyntaxExpression"===u.type)s.push(i(u));else{if("NGMicrosyntaxKeyedExpression"!==u.type)throw new Error(`Unexpected type ${u.type}`);{const e=i(u.expression);s.push(n(Object.assign(Object.assign({},u),{expression:e}),e.end))}}}else s.push(a(r,e));u=r}return D("NGMicrosyntax",{body:s},0===s.length?e[0].sourceSpan:{start:s[0].start,end:s[s.length-1].end});function a(e,r){if(l(e)){const{key:t,value:n}=e;return n?0===r?D("NGMicrosyntaxExpression",{expression:o(n.ast),alias:null},n.sourceSpan):D("NGMicrosyntaxKeyedExpression",{key:D("NGMicrosyntaxKey",{name:c(t.source)},t.span),expression:D("NGMicrosyntaxExpression",{expression:o(n.ast),alias:null},n.sourceSpan)},{start:t.span.start,end:n.sourceSpan.end}):D("NGMicrosyntaxKey",{name:c(t.source)},t.span)}{const{key:r,sourceSpan:n}=e;if(/^let\s$/.test(t.text.slice(n.start,n.start+4))){const{value:t}=e;return D("NGMicrosyntaxLet",{key:D("NGMicrosyntaxKey",{name:r.source},r.span),value:t?D("NGMicrosyntaxKey",{name:t.source},t.span):null},{start:n.start,end:t?t.span.end:r.span.end})}{const n=function(e){if(!e.value||e.value.source!==Di.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return e.value;const r=Di.findBackChar(/\S/,e.sourceSpan.start,t.text);return{source:"$implicit",span:{start:r,end:r}}}(e);return D("NGMicrosyntaxAs",{key:D("NGMicrosyntaxKey",{name:n.source},n.span),alias:D("NGMicrosyntaxKey",{name:r.source},r.span)},{start:n.span.start,end:r.span.end})}}}function o(e){return ci.transform(e,t)}function D(e,r,n,i=!0){return Object.assign(Object.assign({type:e},ci.transformSpan(n,t,i)),r)}function c(e){return Di.toLowerCamelCase(e.slice(n.source.length))}function l(e){return e instanceof kn.ExpressionBinding}function p(e){return e instanceof kn.VariableBinding}function h(e){if('"'!==t.text[e.start]&&"'"!==t.text[e.start])return;const r=t.text[e.start];let n=!1;for(let i=e.start+1;ici.transform(e,i),u=s(r);return u.comments=n.map(s),u}Object.defineProperty(t,"__esModule",{value:!0}),t.parseTemplateBindings=t.parseAction=t.parseInterpolation=t.parseSimpleBinding=t.parseBinding=void 0,t.parseBinding=function(e){return r(e,Di.parseNgBinding)},t.parseSimpleBinding=function(e){return r(e,Di.parseNgSimpleBinding)},t.parseInterpolation=function(e){return r(e,Di.parseNgInterpolation)},t.parseAction=function(e){return r(e,Di.parseNgAction)},t.parseTemplateBindings=function(e){return li.transformTemplateBindings(Di.parseNgTemplateBindings(e),new rn.Context(e))}}));const{locStart:hi,locEnd:di}=en;function fi(e){return{astFormat:"estree",parse:(t,r,n)=>{const i=e(t,pi);return{type:"NGRoot",node:"__ng_action"===n.parser&&"NGChainedExpression"!==i.type?Object.assign(Object.assign({},i),{},{type:"NGChainedExpression",expressions:[i]}):i}},locStart:hi,locEnd:di}}var Ei={parsers:{__ng_action:fi(((e,t)=>t.parseAction(e))),__ng_binding:fi(((e,t)=>t.parseBinding(e))),__ng_interpolation:fi(((e,t)=>t.parseInterpolation(e))),__ng_directive:fi(((e,t)=>t.parseTemplateBindings(e)))}};export default Ei; diff --git a/node_modules/prettier/esm/parser-babel.mjs b/node_modules/prettier/esm/parser-babel.mjs new file mode 100644 index 000000000..d74d040d8 --- /dev/null +++ b/node_modules/prettier/esm/parser-babel.mjs @@ -0,0 +1,22 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function s(e){var t={exports:{}};return e(t,t.exports),t.exports}var r=function(e){return e&&e.Math==Math&&e},i=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")(),a=function(e){try{return!!e()}catch(e){return!0}},n=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),o={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,h={f:u&&!o.call({1:2},1)?function(e){var t=u(this,e);return!!t&&t.enumerable}:o},c=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},p={}.toString,l=function(e){return p.call(e).slice(8,-1)},d="".split,D=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==l(e)?d.call(e,""):Object(e)}:Object,m=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},f=function(e){return D(m(e))},y=function(e){return"object"==typeof e?null!==e:"function"==typeof e},A=function(e,t){if(!y(e))return e;var s,r;if(t&&"function"==typeof(s=e.toString)&&!y(r=s.call(e)))return r;if("function"==typeof(s=e.valueOf)&&!y(r=s.call(e)))return r;if(!t&&"function"==typeof(s=e.toString)&&!y(r=s.call(e)))return r;throw TypeError("Can't convert object to primitive value")},E=function(e){return Object(m(e))},C={}.hasOwnProperty,x=Object.hasOwn||function(e,t){return C.call(E(e),t)},F=i.document,g=y(F)&&y(F.createElement),b=!n&&!a((function(){return 7!=Object.defineProperty((e="div",g?F.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),P=Object.getOwnPropertyDescriptor,T={f:n?P:function(e,t){if(e=f(e),t=A(t,!0),b)try{return P(e,t)}catch(e){}if(x(e,t))return c(!h.f.call(e,t),e[t])}},w=function(e){if(!y(e))throw TypeError(String(e)+" is not an object");return e},S=Object.defineProperty,B={f:n?S:function(e,t,s){if(w(e),t=A(t,!0),w(s),b)try{return S(e,t,s)}catch(e){}if("get"in s||"set"in s)throw TypeError("Accessors not supported");return"value"in s&&(e[t]=s.value),e}},N=n?function(e,t,s){return B.f(e,t,c(1,s))}:function(e,t,s){return e[t]=s,e},I=function(e,t){try{N(i,e,t)}catch(s){i[e]=t}return t},v=i["__core-js_shared__"]||I("__core-js_shared__",{}),k=Function.toString;"function"!=typeof v.inspectSource&&(v.inspectSource=function(e){return k.call(e)});var L,O,M,R,j=v.inspectSource,_=i.WeakMap,U="function"==typeof _&&/native code/.test(j(_)),q=s((function(e){(e.exports=function(e,t){return v[e]||(v[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),$=0,V=Math.random(),H=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++$+V).toString(36)},z=q("keys"),W={},G=i.WeakMap;if(U||v.state){var K=v.state||(v.state=new G),X=K.get,J=K.has,Y=K.set;L=function(e,t){if(J.call(K,e))throw new TypeError("Object already initialized");return t.facade=e,Y.call(K,e,t),t},O=function(e){return X.call(K,e)||{}},M=function(e){return J.call(K,e)}}else{var Q=z[R="state"]||(z[R]=H(R));W[Q]=!0,L=function(e,t){if(x(e,Q))throw new TypeError("Object already initialized");return t.facade=e,N(e,Q,t),t},O=function(e){return x(e,Q)?e[Q]:{}},M=function(e){return x(e,Q)}}var Z,ee,te={set:L,get:O,has:M,enforce:function(e){return M(e)?O(e):L(e,{})},getterFor:function(e){return function(t){var s;if(!y(t)||(s=O(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return s}}},se=s((function(e){var t=te.get,s=te.enforce,r=String(String).split("String");(e.exports=function(e,t,a,n){var o,u=!!n&&!!n.unsafe,h=!!n&&!!n.enumerable,c=!!n&&!!n.noTargetGet;"function"==typeof a&&("string"!=typeof t||x(a,"name")||N(a,"name",t),(o=s(a)).source||(o.source=r.join("string"==typeof t?t:""))),e!==i?(u?!c&&e[t]&&(h=!0):delete e[t],h?e[t]=a:N(e,t,a)):h?e[t]=a:I(t,a)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||j(this)}))})),re=i,ie=function(e){return"function"==typeof e?e:void 0},ae=function(e,t){return arguments.length<2?ie(re[e])||ie(i[e]):re[e]&&re[e][t]||i[e]&&i[e][t]},ne=Math.ceil,oe=Math.floor,ue=function(e){return isNaN(e=+e)?0:(e>0?oe:ne)(e)},he=Math.min,ce=function(e){return e>0?he(ue(e),9007199254740991):0},pe=Math.max,le=Math.min,de=function(e){return function(t,s,r){var i,a=f(t),n=ce(a.length),o=function(e,t){var s=ue(e);return s<0?pe(s+t,0):le(s,t)}(r,n);if(e&&s!=s){for(;n>o;)if((i=a[o++])!=i)return!0}else for(;n>o;o++)if((e||o in a)&&a[o]===s)return e||o||0;return!e&&-1}},De={includes:de(!0),indexOf:de(!1)}.indexOf,me=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),fe={f:Object.getOwnPropertyNames||function(e){return function(e,t){var s,r=f(e),i=0,a=[];for(s in r)!x(W,s)&&x(r,s)&&a.push(s);for(;t.length>i;)x(r,s=t[i++])&&(~De(a,s)||a.push(s));return a}(e,me)}},ye={f:Object.getOwnPropertySymbols},Ae=ae("Reflect","ownKeys")||function(e){var t=fe.f(w(e)),s=ye.f;return s?t.concat(s(e)):t},Ee=function(e,t){for(var s=Ae(t),r=B.f,i=T.f,a=0;a0&&Be(u))h=ve(e,t,u,ce(u.length),h,a-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[h]=u}h++}c++}return h},ke=ve,Le=ae("navigator","userAgent")||"",Oe=i.process,Me=Oe&&Oe.versions,Re=Me&&Me.v8;Re?ee=(Z=Re.split("."))[0]<4?1:Z[0]+Z[1]:Le&&(!(Z=Le.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Le.match(/Chrome\/(\d+)/))&&(ee=Z[1]);var je=ee&&+ee,_e=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&je&&je<41})),Ue=_e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,qe=q("wks"),$e=i.Symbol,Ve=Ue?$e:$e&&$e.withoutSetter||H,He=function(e){return x(qe,e)&&(_e||"string"==typeof qe[e])||(_e&&x($e,e)?qe[e]=$e[e]:qe[e]=Ve("Symbol."+e)),qe[e]},ze=He("species"),We=function(e,t){var s;return Be(e)&&("function"!=typeof(s=e.constructor)||s!==Array&&!Be(s.prototype)?y(s)&&null===(s=s[ze])&&(s=void 0):s=void 0),new(void 0===s?Array:s)(0===t?0:t)};Se({target:"Array",proto:!0},{flatMap:function(e){var t,s=E(this),r=ce(s.length);return Ne(e),(t=We(s,0)).length=ke(t,s,s,r,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Ge=function(...e){let t;for(const[s,r]of e.entries())try{return{result:r()}}catch(e){0===s&&(t=e)}return{error:t}},Ke=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const Xe=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var Je=Xe,Ye=Xe;Je.default=Ye;const Qe=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=Ke(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let s=0;s=127&&r<=159||(r>=768&&r<=879||(r>65535&&s++,t+=Je(r)?2:1))}return t};var Ze=Qe,et=Qe;Ze.default=et;var tt=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var st=e=>e[e.length-1];function rt(e,t){if(null==e)return{};var s,r,i=function(e,t){if(null==e)return{};var s,r,i={},a=Object.keys(e);for(r=0;r=0||(i[s]=e[s]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(i[s]=e[s])}return i}var it,at,nt=Math.floor,ot=function(e,t){var s=e.length,r=nt(s/2);return s<8?ut(e,t):ht(ot(e.slice(0,r),t),ot(e.slice(r),t),t)},ut=function(e,t){for(var s,r,i=e.length,a=1;a0;)e[r]=e[--r];r!==a++&&(e[r]=s)}return e},ht=function(e,t,s){for(var r=e.length,i=t.length,a=0,n=0,o=[];a3)){if(dt)return!0;if(mt)return mt<603;var e,t,s,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:s=3;break;case 68:case 71:s=4;break;default:s=2}for(r=0;r<47;r++)ft.push({k:t+r,v:s})}for(ft.sort((function(e,t){return t.v-e.v})),r=0;rString(s)?1:-1}}(e))).length,r=0;ra;a++)if((o=y(e[a]))&&o instanceof vt)return o;return new vt(!1)}r=i.call(e)}for(u=r.next;!(h=u.call(r)).done;){try{o=y(h.value)}catch(e){throw It(r),e}if("object"==typeof o&&o&&o instanceof vt)return o}return new vt(!1)};Se({target:"Object",stat:!0},{fromEntries:function(e){var t={};return kt(e,(function(e,s){!function(e,t,s){var r=A(t);r in e?B.f(e,r,c(0,s)):e[r]=s}(t,e,s)}),{AS_ENTRIES:!0}),t}});var Lt=void 0!==Lt?Lt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Ot(){throw new Error("setTimeout has not been defined")}function Mt(){throw new Error("clearTimeout has not been defined")}var Rt=Ot,jt=Mt;function _t(e){if(Rt===setTimeout)return setTimeout(e,0);if((Rt===Ot||!Rt)&&setTimeout)return Rt=setTimeout,setTimeout(e,0);try{return Rt(e,0)}catch(t){try{return Rt.call(null,e,0)}catch(t){return Rt.call(this,e,0)}}}"function"==typeof Lt.setTimeout&&(Rt=setTimeout),"function"==typeof Lt.clearTimeout&&(jt=clearTimeout);var Ut,qt=[],$t=!1,Vt=-1;function Ht(){$t&&Ut&&($t=!1,Ut.length?qt=Ut.concat(qt):Vt=-1,qt.length&&zt())}function zt(){if(!$t){var e=_t(Ht);$t=!0;for(var t=qt.length;t;){for(Ut=qt,qt=[];++Vt1)for(var s=1;sconsole.error("SEMVER",...e):()=>{};var ns={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},os=s((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:s}=ns,r=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let n=0;const o=(e,t,s)=>{const o=n++;as(o,t),a[e]=o,i[o]=t,r[o]=new RegExp(t,s?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*"),o("NUMERICIDENTIFIERLOOSE","[0-9]+"),o("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),o("MAINVERSION",`(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`),o("MAINVERSIONLOOSE",`(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`),o("PRERELEASEIDENTIFIER",`(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`),o("PRERELEASEIDENTIFIERLOOSE",`(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`),o("PRERELEASE",`(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`),o("PRERELEASELOOSE",`(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`),o("BUILDIDENTIFIER","[0-9A-Za-z-]+"),o("BUILD",`(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`),o("FULLPLAIN",`v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`),o("FULL",`^${i[a.FULLPLAIN]}$`),o("LOOSEPLAIN",`[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`),o("LOOSE",`^${i[a.LOOSEPLAIN]}$`),o("GTLT","((?:<|>)?=?)"),o("XRANGEIDENTIFIERLOOSE",`${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),o("XRANGEIDENTIFIER",`${i[a.NUMERICIDENTIFIER]}|x|X|\\*`),o("XRANGEPLAIN",`[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`),o("XRANGEPLAINLOOSE",`[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`),o("XRANGE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`),o("XRANGELOOSE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`),o("COERCE",`(^|[^\\d])(\\d{1,${s}})(?:\\.(\\d{1,${s}}))?(?:\\.(\\d{1,${s}}))?(?:$|[^\\d])`),o("COERCERTL",i[a.COERCE],!0),o("LONETILDE","(?:~>?)"),o("TILDETRIM",`(\\s*)${i[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",o("TILDE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`),o("TILDELOOSE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`),o("LONECARET","(?:\\^)"),o("CARETTRIM",`(\\s*)${i[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",o("CARET",`^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`),o("CARETLOOSE",`^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`),o("COMPARATORLOOSE",`^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`),o("COMPARATOR",`^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`),o("COMPARATORTRIM",`(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",o("HYPHENRANGE",`^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`),o("HYPHENRANGELOOSE",`^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`),o("STAR","(<|>)?=?\\s*\\*"),o("GTE0","^\\s*>=\\s*0.0.0\\s*$"),o("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const us=["includePrerelease","loose","rtl"];var hs=e=>e?"object"!=typeof e?{loose:!0}:us.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const cs=/^[0-9]+$/,ps=(e,t)=>{const s=cs.test(e),r=cs.test(t);return s&&r&&(e=+e,t=+t),e===t?0:s&&!r?-1:r&&!s?1:eps(t,e)};const{MAX_LENGTH:ds,MAX_SAFE_INTEGER:Ds}=ns,{re:ms,t:fs}=os,{compareIdentifiers:ys}=ls;class As{constructor(e,t){if(t=hs(t),e instanceof As){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>ds)throw new TypeError(`version is longer than ${ds} characters`);as("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const s=e.trim().match(t.loose?ms[fs.LOOSE]:ms[fs.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Ds||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ds||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ds||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var Es=As;var Cs=(e,t,s)=>new Es(e,s).compare(new Es(t,s));var xs=(e,t,s)=>Cs(e,t,s)<0;var Fs=(e,t,s)=>Cs(e,t,s)>=0,gs="2.3.2",bs=s((function(e,t){function s(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ps` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ps` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ps` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ps` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const ws=["cliName","cliCategory","cliDescription"],Ss={compare:Cs,lt:xs,gte:Fs},Bs=gs,Ns={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Ts}.options;var Is={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:s=!1,showInternal:r=!1}={}){const i=Bs.split("-",1)[0],a=e.flatMap((e=>e.languages||[])).filter(h),n=(o=Object.assign({},...e.map((({options:e})=>e)),Ns),u="name",Object.entries(o).map((([e,t])=>Object.assign({[u]:e},t)))).filter((e=>h(e)&&c(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(h).sort(((e,t)=>Ss.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>h(e)&&c(e))),"parser"===t.name&&function(e,t,s){const r=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!r.has(t)){r.add(t);const a=s.find((e=>e.parsers&&e.parsers[t]));let n=i.name;a&&a.name&&(n+=` (plugin: ${a.name})`),e.choices.push({value:t,description:n})}}(t,a,e));const s=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:s})}));var o,u;return{languages:a,options:n};function h(e){return t||!("since"in e)||e.since&&Ss.gte(i,e.since)}function c(e){return s||!("deprecated"in e)||e.deprecated&&Ss.lt(i,e.deprecated)}}};const{getSupportInfo:vs}=Is,ks=/[^\x20-\x7F]/;function Ls(e){return(t,s,r)=>{const i=r&&r.backwards;if(!1===s)return!1;const{length:a}=t;let n=s;for(;n>=0&&n(s.match(n.regex)||[]).length?n.quote:a.quote}return o}function Ks(e,t,s){const r='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,a)=>i===r?i:a===t?"\\"+a:a||(s&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function Xs(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let s=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");s.length>20&&(s=s.slice(0,19)+"\u2026");return t+(s?" "+s:"")}(e)}var Js={inferParserByLanguage:function(e,t){const{languages:s}=vs({plugins:t.plugins}),r=s.find((({name:t})=>t.toLowerCase()===e))||s.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||s.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return r&&r.parsers[0]},getStringWidth:function(e){return e?ks.test(e)?Ze(e):e.length:0},getMaxContinuousCount:function(e,t){const s=e.match(new RegExp(`(${tt(t)})+`,"g"));return null===s?0:s.reduce(((e,s)=>Math.max(e,s.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const s=e.match(new RegExp(`(${tt(t)})+`,"g"));if(null===s)return 0;const r=new Map;let i=0;for(const e of s){const s=e.length/t.length;r.set(s,!0),s>i&&(i=s)}for(let e=1;ee[e.length-2],getLast:st,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Hs,getNextNonSpaceNonCommentCharacterIndex:zs,getNextNonSpaceNonCommentCharacter:function(e,t,s){return e.charAt(zs(e,t,s))},skip:Ls,skipWhitespace:Os,skipSpaces:Ms,skipToLineEnd:Rs,skipEverythingButNewLine:js,skipInlineComment:_s,skipTrailingComment:Us,skipNewline:qs,isNextLineEmptyAfterIndex:Vs,isNextLineEmpty:function(e,t,s){return Vs(e,s(t))},isPreviousLineEmpty:function(e,t,s){let r=s(t)-1;return r=Ms(e,r,{backwards:!0}),r=qs(e,r,{backwards:!0}),r=Ms(e,r,{backwards:!0}),r!==qs(e,r,{backwards:!0})},hasNewline:$s,hasNewlineInRange:function(e,t,s){for(let r=t;r0},createGroupIdMapper:function(e){const t=new WeakMap;return function(s){return t.has(s)||t.set(s,Symbol(e)),t.get(s)}}};var Ys=function(e,t){const s=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return s.loc=t,s};const{isNonEmptyArray:Qs}=Js;function Zs(e,t){const{ignoreDecorators:s}=t||{};if(!s){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Qs(t))return Zs(t[0])}return e.range?e.range[0]:e.start}function er(e){return e.range?e.range[1]:e.end}function tr(e,t){return Zs(e)===Zs(t)}var sr={locStart:Zs,locEnd:er,hasSameLocStart:tr,hasSameLoc:function(e,t){return tr(e,t)&&function(e,t){return er(e)===er(t)}(e,t)}},rr=s((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function s(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=s(t)}while(t);return!1},trailingStatement:s}}()})),ir=s((function(e){!function(){var t,s,r,i,a,n;function o(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(s={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),n=0;n<128;++n)i[n]=n>=97&&n<=122||n>=65&&n<=90||36===n||95===n;for(a=new Array(128),n=0;n<128;++n)a[n]=n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||36===n||95===n;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:s.NonAsciiIdentifierStart.test(o(e))},isIdentifierPartES5:function(e){return e<128?a[e]:s.NonAsciiIdentifierPart.test(o(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(o(e))},isIdentifierPartES6:function(e){return e<128?a[e]:t.NonAsciiIdentifierPart.test(o(e))}}}()})),ar=s((function(e){!function(){var t=ir;function s(e,t){return!(!t&&"yield"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,t){return"null"===e||"true"===e||"false"===e||s(e,t)}function a(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function n(e){var s,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(s=1,r=e.length;s=r)return!1;if(!(56320<=(a=e.charCodeAt(s))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!n(i))return!1;n=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:s,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:a,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:n,isIdentifierNameES6:o,isIdentifierES5:function(e,t){return n(e)&&!i(e,t)},isIdentifierES6:function(e,t){return o(e)&&!a(e,t)}}}()}));const nr=s((function(e,t){t.ast=rr,t.code=ir,t.keyword=ar})).keyword.isIdentifierNameES5,{getLast:or,hasNewline:ur,skipWhitespace:hr,isNonEmptyArray:cr,isNextLineEmptyAfterIndex:pr}=Js,{locStart:lr,locEnd:dr,hasSameLocStart:Dr}=sr,mr=new RegExp("^(?:(?=.)\\s)*:"),fr=new RegExp("^(?:(?=.)\\s)*::");function yr(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function Ar(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const Er=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Cr(e){return e&&Er.has(e.type)}function xr(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Fr(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function gr(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function br(e){return Ir(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Pr(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Tr(e){return"get"===e.kind||"set"===e.kind}function wr(e){return Tr(e)||Dr(e,e.value)}const Sr=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Br=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Nr=/^(skip|[fx]?(it|describe|test))$/;function Ir(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function vr(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function kr(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Lr(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Or(e){return e.extra?e.extra.raw:e.raw}const Mr={"==":!0,"!=":!0,"===":!0,"!==":!0},Rr={"*":!0,"/":!0,"%":!0},jr={">>":!0,">>>":!0,"<<":!0};const _r={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const s of t)_r[s]=e;function Ur(e){return _r[e]}const qr=new WeakMap;function $r(e){if(qr.has(e))return qr.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),qr.set(e,t),t}const Vr=new WeakMap;function Hr(e){if(Vr.has(e))return Vr.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),Vr.set(e,t),t}function zr(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function Wr(e){return e&&(e.prettierIgnore||Xr(e,Gr.PrettierIgnore))}const Gr={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Kr=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(s,r,i)=>!(e&Gr.Leading&&!s.leading||e&Gr.Trailing&&!s.trailing||e&Gr.Dangling&&(s.leading||s.trailing)||e&Gr.Block&&!yr(s)||e&Gr.Line&&!Ar(s)||e&Gr.First&&0!==r||e&Gr.Last&&r!==i.length-1||e&Gr.PrettierIgnore&&!zr(s)||t&&!t(s))};function Xr(e,t,s){if(!e||!cr(e.comments))return!1;const r=Kr(t,s);return!r||e.comments.some(r)}function Jr(e,t,s){if(!e||!Array.isArray(e.comments))return[];const r=Kr(t,s);return r?e.comments.filter(r):e.comments}function Yr(e){return Ir(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Qr={getFunctionParameters:$r,iterateFunctionParametersPath:function(e,t){const s=e.getValue();let r=0;const i=e=>t(e,r++);s.this&&e.call(i,"this"),Array.isArray(s.parameters)?e.each(i,"parameters"):Array.isArray(s.params)&&e.each(i,"params"),s.rest&&e.call(i,"rest")},getCallArguments:Hr,iterateCallArgumentsPath:function(e,t){const s=e.getValue();"ImportExpression"===s.type?(e.call((e=>t(e,0)),"source"),s.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=$r(e);return t.length>0&&"RestElement"===or(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&Cr(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return e&&yr(e[0])&&fr.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&cr(e.trailingComments)&&yr(e.trailingComments[0])&&mr.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return Pr(t)?Wr(t):Xr(t,Gr.Leading,(t=>ur(e,dr(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||Ir(e)||vr(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,s){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,s)));const r=s(t);return"boolean"==typeof r?r:Object.values(t).some((t=>e(t,s)))},hasIgnoreComment:function(e){return Wr(e.getValue())},hasNodeIgnoreComment:Wr,identity:function(e){return e},isBinaryish:function(e){return Sr.has(e.type)},isBlockComment:yr,isCallLikeExpression:Yr,isLineComment:Ar,isPrettierIgnoreComment:zr,isCallExpression:Ir,isMemberExpression:vr,isExportDeclaration:Cr,isFlowAnnotationComment:function(e,t){const s=lr(t),r=hr(e,dr(t));return!1!==r&&"/*"===e.slice(s,s+2)&&"*/"===e.slice(r,r+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const s of e)if(gr(s)){if(t+=1,t>1)return!0}else if(Ir(s))for(const e of s.arguments)if(gr(e))return!0;return!1},isFunctionNotation:wr,isFunctionOrArrowExpression:gr,isGetterOrSetter:Tr,isJestEachTemplateLiteral:function(e,t){const s=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&s.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&s.test(t.tag.object.object.name))},isJsxNode:Pr,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),s=e.getParentNode();return Ir(t)&&Ir(s)&&s.callee===t&&t.arguments.length>s.arguments.length&&s.arguments.length>0},isSimpleCallArgument:function e(t,s){if(s>=2)return!1;const r=t=>e(t,s+1),i="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(i&&i.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(r):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&r(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||r(e))):Yr(t)?("ImportExpression"===t.type||e(t.callee,s))&&Hr(t).every(r):vr(t)?e(t.object,s)&&e(t.property,s):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,s):e(t.argument,s)))},isMemberish:function(e){return vr(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:xr,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&xr(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||wr(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Br.has(e.type))},isSimpleNumber:kr,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const s=e[t];return 0!==s.length&&s.every((e=>{if(Xr(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(vr(e)){let t=e;for(;vr(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,Xr(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:Fr,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&Fr(e.key)&&Or(e.key).slice(1,-1)===e.key.value&&(nr(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||kr(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&Lr(e)||"TaggedTemplateExpression"===e.type&&Lr(e.quasi))&&!ur(t,lr(e),{backwards:!0})},isTestCall:function e(t,s){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(br(t)&&s&&e(s))return gr(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return br(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&Nr.test(t.callee.name)||function(e){return vr(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&Nr.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||Fr(t.arguments[0])))return!(t.arguments[2]&&!xr(t.arguments[2]))&&((2===t.arguments.length?gr(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&$r(t.arguments[1]).length<=1)||br(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const s=t.getNode();if(!s.expression||!Pr(s.expression))return!1;const r=t.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||Dr(e,e.typeAnnotation))},isNextLineEmpty:(e,{originalText:t})=>pr(t,dr(e)),needsHardlineAfterDanglingComment:function(e){if(!Xr(e))return!1;const t=or(Jr(e,Gr.Dangling));return t&&!yr(t)},rawText:Or,shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(jr[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Ur(t)===Ur(e)&&("**"!==e&&((!Mr[e]||!Mr[t])&&(!("%"===t&&Rr[e]||"%"===e&&Rr[t])&&((t===e||!Rr[t]||!Rr[e])&&(!jr[e]||!jr[t])))))},startsWithNoLookaheadToken:function e(t,s){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return s;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,s);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,s);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,s);case"ConditionalExpression":return e(t.test,s);case"UpdateExpression":return!t.prefix&&e(t.argument,s);case"BindExpression":return t.object&&e(t.object,s);case"SequenceExpression":return e(t.expressions[0],s);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,s);default:return!1}},getPrecedence:Ur,hasComment:Xr,getComments:Jr,CommentCheckFlags:Gr};const{getLast:Zr,hasNewline:ei,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:ti,getNextNonSpaceNonCommentCharacter:si,hasNewlineInRange:ri,addLeadingComment:ii,addTrailingComment:ai,addDanglingComment:ni,getNextNonSpaceNonCommentCharacterIndex:oi,isNonEmptyArray:ui}=Js,{isBlockComment:hi,getFunctionParameters:ci,isPrettierIgnoreComment:pi,isJsxNode:li,hasFlowShorthandAnnotationComment:di,hasFlowAnnotationComment:Di,hasIgnoreComment:mi,isCallLikeExpression:fi,getCallArguments:yi,isCallExpression:Ai,isMemberExpression:Ei,isObjectProperty:Ci}=Qr,{locStart:xi,locEnd:Fi}=sr;function gi(e,t){const s=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));s?ii(s,t):ni(e,t)}function bi(e,t){"BlockStatement"===e.type?gi(e,t):ii(e,t)}function Pi({comment:e,followingNode:t}){return!(!t||!ea(e))&&(ii(t,e),!0)}function Ti({comment:e,precedingNode:t,enclosingNode:s,followingNode:r,text:i}){if(!s||"IfStatement"!==s.type||!r)return!1;return")"===si(i,e,Fi)?(ai(t,e),!0):t===s.consequent&&r===s.alternate?("BlockStatement"===t.type?ai(t,e):ni(s,e),!0):"BlockStatement"===r.type?(gi(r,e),!0):"IfStatement"===r.type?(bi(r.consequent,e),!0):s.consequent===r&&(ii(r,e),!0)}function wi({comment:e,precedingNode:t,enclosingNode:s,followingNode:r,text:i}){if(!s||"WhileStatement"!==s.type||!r)return!1;return")"===si(i,e,Fi)?(ai(t,e),!0):"BlockStatement"===r.type?(gi(r,e),!0):s.body===r&&(ii(r,e),!0)}function Si({comment:e,precedingNode:t,enclosingNode:s,followingNode:r}){return!(!s||"TryStatement"!==s.type&&"CatchClause"!==s.type||!r)&&("CatchClause"===s.type&&t?(ai(t,e),!0):"BlockStatement"===r.type?(gi(r,e),!0):"TryStatement"===r.type?(bi(r.finalizer,e),!0):"CatchClause"===r.type&&(bi(r.body,e),!0))}function Bi({comment:e,enclosingNode:t,followingNode:s}){return!(!Ei(t)||!s||"Identifier"!==s.type)&&(ii(t,e),!0)}function Ni({comment:e,precedingNode:t,enclosingNode:s,followingNode:r,text:i}){const a=t&&!ri(i,Fi(t),xi(e));return!(t&&a||!s||"ConditionalExpression"!==s.type&&"TSConditionalType"!==s.type||!r)&&(ii(r,e),!0)}function Ii({comment:e,precedingNode:t,enclosingNode:s}){return!(!Ci(s)||!s.shorthand||s.key!==t||"AssignmentPattern"!==s.value.type)&&(ai(s.value.left,e),!0)}function vi({comment:e,precedingNode:t,enclosingNode:s,followingNode:r}){if(s&&("ClassDeclaration"===s.type||"ClassExpression"===s.type||"DeclareClass"===s.type||"DeclareInterface"===s.type||"InterfaceDeclaration"===s.type||"TSInterfaceDeclaration"===s.type)){if(ui(s.decorators)&&(!r||"Decorator"!==r.type))return ai(Zr(s.decorators),e),!0;if(s.body&&r===s.body)return gi(s.body,e),!0;if(r)for(const i of["implements","extends","mixins"])if(s[i]&&r===s[i][0])return!t||t!==s.id&&t!==s.typeParameters&&t!==s.superClass?ni(s,e,i):ai(t,e),!0}return!1}function ki({comment:e,precedingNode:t,enclosingNode:s,text:r}){return(s&&t&&("Property"===s.type||"TSDeclareMethod"===s.type||"TSAbstractMethodDefinition"===s.type)&&"Identifier"===t.type&&s.key===t&&":"!==si(r,t,Fi)||!(!t||!s||"Decorator"!==t.type||"ClassMethod"!==s.type&&"ClassProperty"!==s.type&&"PropertyDefinition"!==s.type&&"TSAbstractClassProperty"!==s.type&&"TSAbstractMethodDefinition"!==s.type&&"TSDeclareMethod"!==s.type&&"MethodDefinition"!==s.type))&&(ai(t,e),!0)}function Li({comment:e,precedingNode:t,enclosingNode:s,text:r}){return"("===si(r,e,Fi)&&(!(!t||!s||"FunctionDeclaration"!==s.type&&"FunctionExpression"!==s.type&&"ClassMethod"!==s.type&&"MethodDefinition"!==s.type&&"ObjectMethod"!==s.type)&&(ai(t,e),!0))}function Oi({comment:e,enclosingNode:t,text:s}){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const r=oi(s,e,Fi);return!1!==r&&"=>"===s.slice(r,r+2)&&(ni(t,e),!0)}function Mi({comment:e,enclosingNode:t,text:s}){return")"===si(s,e,Fi)&&(t&&(Zi(t)&&0===ci(t).length||fi(t)&&0===yi(t).length)?(ni(t,e),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==ci(t.value).length)&&(ni(t.value,e),!0))}function Ri({comment:e,precedingNode:t,enclosingNode:s,followingNode:r,text:i}){if(t&&"FunctionTypeParam"===t.type&&s&&"FunctionTypeAnnotation"===s.type&&r&&"FunctionTypeParam"!==r.type)return ai(t,e),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&s&&Zi(s)&&")"===si(i,e,Fi))return ai(t,e),!0;if(s&&"FunctionDeclaration"===s.type&&r&&"BlockStatement"===r.type){const t=(()=>{const e=ci(s);if(e.length>0)return ti(i,Fi(Zr(e)));const t=ti(i,Fi(s.id));return!1!==t&&ti(i,t+1)})();if(xi(e)>t)return gi(r,e),!0}return!1}function ji({comment:e,enclosingNode:t}){return!(!t||"ImportSpecifier"!==t.type)&&(ii(t,e),!0)}function _i({comment:e,enclosingNode:t}){return!(!t||"LabeledStatement"!==t.type)&&(ii(t,e),!0)}function Ui({comment:e,enclosingNode:t}){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(ai(t,e),!0)}function qi({comment:e,precedingNode:t,enclosingNode:s}){return!!(Ai(s)&&t&&s.callee===t&&s.arguments.length>0)&&(ii(s.arguments[0],e),!0)}function $i({comment:e,precedingNode:t,enclosingNode:s,followingNode:r}){return!s||"UnionTypeAnnotation"!==s.type&&"TSUnionType"!==s.type?(r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&pi(e)&&(r.types[0].prettierIgnore=!0,e.unignore=!0),!1):(pi(e)&&(r.prettierIgnore=!0,e.unignore=!0),!!t&&(ai(t,e),!0))}function Vi({comment:e,enclosingNode:t}){return!!Ci(t)&&(ii(t,e),!0)}function Hi({comment:e,enclosingNode:t,followingNode:s,ast:r,isLastComment:i}){return r&&r.body&&0===r.body.length?(i?ni(r,e):ii(r,e),!0):t&&"Program"===t.type&&0===t.body.length&&!ui(t.directives)?(i?ni(t,e):ii(t,e),!0):!(!s||"Program"!==s.type||0!==s.body.length||!t||"ModuleExpression"!==t.type)&&(ni(s,e),!0)}function zi({comment:e,enclosingNode:t}){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(ii(t,e),!0)}function Wi({comment:e,precedingNode:t,enclosingNode:s,text:r}){return!!(t&&"ImportSpecifier"===t.type&&s&&"ImportDeclaration"===s.type&&ei(r,Fi(e)))&&(ai(t,e),!0)}function Gi({comment:e,enclosingNode:t}){return!(!t||"AssignmentPattern"!==t.type)&&(ii(t,e),!0)}function Ki({comment:e,enclosingNode:t}){return!(!t||"TypeAlias"!==t.type)&&(ii(t,e),!0)}function Xi({comment:e,enclosingNode:t,followingNode:s}){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!s||"ObjectExpression"!==s.type&&"ArrayExpression"!==s.type&&"TemplateLiteral"!==s.type&&"TaggedTemplateExpression"!==s.type&&!hi(e))&&(ii(s,e),!0)}function Ji({comment:e,enclosingNode:t,followingNode:s,text:r}){return!(s||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==si(r,e,Fi))&&(ai(t,e),!0)}function Yi({comment:e,enclosingNode:t,followingNode:s}){if(pi(e)&&t&&"TSMappedType"===t.type&&s&&"TSTypeParameter"===s.type&&s.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Qi({comment:e,precedingNode:t,enclosingNode:s,followingNode:r}){return!(!s||"TSMappedType"!==s.type)&&(r&&"TSTypeParameter"===r.type&&r.name?(ii(r.name,e),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(ai(t.constraint,e),!0))}function Zi(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function ea(e){return hi(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var ta={handleOwnLineComment:function(e){return[Yi,Ri,Bi,Ti,wi,Si,vi,ji,zi,$i,Hi,Wi,Gi,ki,_i].some((t=>t(e)))},handleEndOfLineComment:function(e){return[Pi,Ri,Ni,ji,Ti,wi,Si,vi,_i,qi,Vi,Hi,Ki,Xi].some((t=>t(e)))},handleRemainingComment:function(e){return[Yi,Ti,wi,Ii,Mi,ki,Hi,Oi,Li,Qi,Ui,Ji].some((t=>t(e)))},isTypeCastComment:ea,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===ci(e.value).length&&!e.value.returnType&&!ui(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),s=e.getParentNode();return(t&&(li(t)||di(t)||Ai(s)&&(Di(t.leadingComments)||Di(t.trailingComments)))||s&&("JSXSpreadAttribute"===s.type||"JSXSpreadChild"===s.type||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type||("ClassDeclaration"===s.type||"ClassExpression"===s.type)&&s.superClass===t))&&(!mi(e)||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type)}};const{getLast:sa,getNextNonSpaceNonCommentCharacter:ra}=Js,{locStart:ia,locEnd:aa}=sr,{isTypeCastComment:na}=ta;function oa(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=oa(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=oa(e.object)):"TSNonNullExpression"===e.type&&(e.expression=oa(e.expression)),e}function ua(e,t){let s;if(Array.isArray(e))s=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;s=Object.entries(e)}for(const[r,i]of s)e[r]=ua(i,t);return Array.isArray(e)?e:t(e)||e}function ha(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function ca(e){return ha(e)?ca({type:"LogicalExpression",operator:e.operator,left:ca({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[ia(e.left),aa(e.right.left)]}),right:e.right.right,range:[ia(e),aa(e)]}):e}var pa,la=function(e,t){if("typescript"===t.parser&&t.originalText.includes("@")){const{esTreeNodeToTSNodeMap:s,tsNodeToESTreeNodeMap:r}=t.tsParseResult;e=ua(e,(e=>{const t=s.get(e);if(!t)return;const i=t.decorators;if(!Array.isArray(i))return;const a=r.get(t);if(a!==e)return;const n=a.decorators;if(!Array.isArray(n)||n.length!==i.length||i.some((e=>{const t=r.get(e);return!t||!n.includes(t)}))){const{start:e,end:t}=a.loc;throw Ys("Leading decorators must be attached to a class declaration",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const t=new Set;e=ua(e,(e=>{e.leadingComments&&e.leadingComments.some(na)&&t.add(ia(e))})),e=ua(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:s}=e;if("TypeCastExpression"===s.type)return s.range=e.range,s;const r=ia(e);if(!t.has(r))return s.extra=Object.assign(Object.assign({},s.extra),{},{parenthesized:!0}),s}}))}return e=ua(e,(e=>{switch(e.type){case"ChainExpression":return oa(e.expression);case"LogicalExpression":if(ha(e))return ca(e);break;case"VariableDeclaration":{const s=sa(e.declarations);s&&s.init&&function(e,s){if(";"===t.originalText[aa(s)])return;e.range=[ia(e),aa(s)]}(e,s);break}case"TSParenthesizedType":return e.typeAnnotation.range=[ia(e),aa(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const t=ia(e);e.name={type:"Identifier",name:e.name,range:[t,t+e.name.length]}}break;case"SequenceExpression":{const t=sa(e.expressions);e.range=[ia(e),Math.min(aa(t),aa(e))];break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===ra(t.originalText,e.key,aa)&&(e.optional=!0)}}))};function da(){if(void 0===pa){var e=new ArrayBuffer(2),t=new Uint8Array(e),s=new Uint16Array(e);if(t[0]=1,t[1]=2,258===s[0])pa="BE";else{if(513!==s[0])throw new Error("unable to figure out endianess");pa="LE"}}return pa}function Da(){return void 0!==Lt.location?Lt.location.hostname:""}function ma(){return[]}function fa(){return 0}function ya(){return Number.MAX_VALUE}function Aa(){return Number.MAX_VALUE}function Ea(){return[]}function Ca(){return"Browser"}function xa(){return void 0!==Lt.navigator?Lt.navigator.appVersion:""}function Fa(){}function ga(){}function ba(){return"javascript"}function Pa(){return"browser"}function Ta(){return"/tmp"}var wa=Ta,Sa={EOL:"\n",arch:ba,platform:Pa,tmpdir:wa,tmpDir:Ta,networkInterfaces:Fa,getNetworkInterfaces:ga,release:xa,type:Ca,cpus:Ea,totalmem:Aa,freemem:ya,uptime:fa,loadavg:ma,hostname:Da,endianness:da},Ba=Object.freeze({__proto__:null,endianness:da,hostname:Da,loadavg:ma,uptime:fa,freemem:ya,totalmem:Aa,cpus:Ea,type:Ca,release:xa,networkInterfaces:Fa,getNetworkInterfaces:ga,arch:ba,platform:Pa,tmpDir:Ta,tmpdir:wa,EOL:"\n",default:Sa});const Na=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const s=t.filter((e=>"\r\n"===e)).length;return s>t.length-s?"\r\n":"\n"};var Ia=Na;Ia.graceful=e=>"string"==typeof e&&Na(e)||"\n";var va=t(Ba),ka=function(e){const t=e.match($a);return t?t[0].trimLeft():""},La=function(e){const t=e.match($a);return t&&t[0]?e.substring(t[0].length):e},Oa=function(e){return Xa(e).pragmas},Ma=Xa,Ra=function({comments:e="",pragmas:t={}}){const s=(0,_a().default)(e)||ja().EOL,r=" *",i=Object.keys(t),a=i.map((e=>Ja(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+s)).join("");if(!e){if(0===i.length)return"";if(1===i.length&&!Array.isArray(t[i[0]])){const e=t[i[0]];return`/** ${Ja(i[0],e)[0]} */`}}const n=e.split(s).map((e=>` * ${e}`)).join(s)+s;return"/**"+s+(e?n:"")+(e&&i.length?r+s:"")+a+" */"};function ja(){const e=va;return ja=function(){return e},e}function _a(){const e=(t=Ia)&&t.__esModule?t:{default:t};var t;return _a=function(){return e},e}const Ua=/\*\/$/,qa=/^\/\*\*/,$a=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Va=/(^|\s+)\/\/([^\r\n]*)/g,Ha=/^(\r?\n)+/,za=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Wa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Ga=/(\r?\n|^) *\* ?/g,Ka=[];function Xa(e){const t=(0,_a().default)(e)||ja().EOL;e=e.replace(qa,"").replace(Ua,"").replace(Ga,"$1");let s="";for(;s!==e;)s=e,e=e.replace(za,`${t}$1 $2${t}`);e=e.replace(Ha,"").trimRight();const r=Object.create(null),i=e.replace(Wa,"").replace(Ha,"").trimRight();let a;for(;a=Wa.exec(e);){const e=a[2].replace(Va,"");"string"==typeof r[a[1]]||Array.isArray(r[a[1]])?r[a[1]]=Ka.concat(r[a[1]],e):r[a[1]]=e}return{comments:i,pragmas:r}}function Ja(e,t){return Ka.concat(t).map((t=>`@${e} ${t}`.trim()))}var Ya=Object.defineProperty({extract:ka,strip:La,parse:Oa,parseWithComments:Ma,print:Ra},"__esModule",{value:!0});var Qa={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let s;if("\n"===t)s=/\n/g;else if("\r"===t)s=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);s=/\r\n/g}const r=e.match(s);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:Za,strip:en,extract:tn,print:sn}=Ya,{getShebang:rn}=Js,{normalizeEndOfLine:an}=Qa;function nn(e){const t=rn(e);t&&(e=e.slice(t.length+1));const s=tn(e),{pragmas:r,comments:i}=Za(s);return{shebang:t,text:e,pragmas:r,comments:i}}var on={hasPragma:function(e){const t=Object.keys(nn(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:s,pragmas:r,comments:i}=nn(e),a=en(s),n=sn({pragmas:Object.assign({format:""},r),comments:i.trimStart()});return(t?`${t}\n`:"")+an(n)+(a.startsWith("\n")?"\n":"\n\n")+a}};const{hasPragma:un}=on,{locStart:hn,locEnd:cn}=sr;var pn=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:un,locStart:hn,locEnd:cn},e)};var ln=function(e){const{message:t,loc:s}=e;return Ys(t.replace(/ \(.*\)/,""),{start:{line:s?s.line:0,column:s?s.column+1:0}})};class dn{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const Dn=new Map;function mn(e,t={}){t.keyword=e;const s=new dn(e,t);return Dn.set(e,s),s}function fn(e,t){return new dn(e,{beforeExpr:true,binop:t})}const yn={num:new dn("num",{startsExpr:true}),bigint:new dn("bigint",{startsExpr:true}),decimal:new dn("decimal",{startsExpr:true}),regexp:new dn("regexp",{startsExpr:true}),string:new dn("string",{startsExpr:true}),name:new dn("name",{startsExpr:true}),privateName:new dn("#name",{startsExpr:true}),eof:new dn("eof"),bracketL:new dn("[",{beforeExpr:true,startsExpr:true}),bracketHashL:new dn("#[",{beforeExpr:true,startsExpr:true}),bracketBarL:new dn("[|",{beforeExpr:true,startsExpr:true}),bracketR:new dn("]"),bracketBarR:new dn("|]"),braceL:new dn("{",{beforeExpr:true,startsExpr:true}),braceBarL:new dn("{|",{beforeExpr:true,startsExpr:true}),braceHashL:new dn("#{",{beforeExpr:true,startsExpr:true}),braceR:new dn("}",{beforeExpr:true}),braceBarR:new dn("|}"),parenL:new dn("(",{beforeExpr:true,startsExpr:true}),parenR:new dn(")"),comma:new dn(",",{beforeExpr:true}),semi:new dn(";",{beforeExpr:true}),colon:new dn(":",{beforeExpr:true}),doubleColon:new dn("::",{beforeExpr:true}),dot:new dn("."),question:new dn("?",{beforeExpr:true}),questionDot:new dn("?."),arrow:new dn("=>",{beforeExpr:true}),template:new dn("template"),ellipsis:new dn("...",{beforeExpr:true}),backQuote:new dn("`",{startsExpr:true}),dollarBraceL:new dn("${",{beforeExpr:true,startsExpr:true}),at:new dn("@"),hash:new dn("#",{startsExpr:true}),interpreterDirective:new dn("#!..."),eq:new dn("=",{beforeExpr:true,isAssign:true}),assign:new dn("_=",{beforeExpr:true,isAssign:true}),slashAssign:new dn("_=",{beforeExpr:true,isAssign:true}),incDec:new dn("++/--",{prefix:true,postfix:!0,startsExpr:true}),bang:new dn("!",{beforeExpr:true,prefix:true,startsExpr:true}),tilde:new dn("~",{beforeExpr:true,prefix:true,startsExpr:true}),pipeline:fn("|>",0),nullishCoalescing:fn("??",1),logicalOR:fn("||",1),logicalAND:fn("&&",2),bitwiseOR:fn("|",3),bitwiseXOR:fn("^",4),bitwiseAND:fn("&",5),equality:fn("==/!=/===/!==",6),relational:fn("/<=/>=",7),bitShift:fn("<>/>>>",8),plusMin:new dn("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:new dn("%",{beforeExpr:true,binop:10,startsExpr:true}),star:new dn("*",{binop:10}),slash:fn("/",10),exponent:new dn("**",{beforeExpr:true,binop:11,rightAssociative:!0}),_break:mn("break"),_case:mn("case",{beforeExpr:true}),_catch:mn("catch"),_continue:mn("continue"),_debugger:mn("debugger"),_default:mn("default",{beforeExpr:true}),_do:mn("do",{isLoop:true,beforeExpr:true}),_else:mn("else",{beforeExpr:true}),_finally:mn("finally"),_for:mn("for",{isLoop:true}),_function:mn("function",{startsExpr:true}),_if:mn("if"),_return:mn("return",{beforeExpr:true}),_switch:mn("switch"),_throw:mn("throw",{beforeExpr:true,prefix:true,startsExpr:true}),_try:mn("try"),_var:mn("var"),_const:mn("const"),_while:mn("while",{isLoop:true}),_with:mn("with"),_new:mn("new",{beforeExpr:true,startsExpr:true}),_this:mn("this",{startsExpr:true}),_super:mn("super",{startsExpr:true}),_class:mn("class",{startsExpr:true}),_extends:mn("extends",{beforeExpr:true}),_export:mn("export"),_import:mn("import",{startsExpr:true}),_null:mn("null",{startsExpr:true}),_true:mn("true",{startsExpr:true}),_false:mn("false",{startsExpr:true}),_in:mn("in",{beforeExpr:true,binop:7}),_instanceof:mn("instanceof",{beforeExpr:true,binop:7}),_typeof:mn("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:mn("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:mn("delete",{beforeExpr:true,prefix:true,startsExpr:true})},An=/\r\n?|[\n\u2028\u2029]/,En=new RegExp(An.source,"g");function Cn(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const xn=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function Fn(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class gn{constructor(e,t){this.line=void 0,this.column=void 0,this.line=e,this.column=t}}class bn{constructor(e,t){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=e,this.end=t}}function Pn(e){return e[e.length-1]}const Tn=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),wn=Bn({AccessorIsGenerator:"A %0ter cannot be a generator.",ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accesor must not have any formal parameters.",BadSetterArity:"A 'set' accesor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accesor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:"'%0' require an initialization value.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?",ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:"'%0' loop variable declaration may not have an initializer.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:"Unsyntactic %0.",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportBindingIsString:'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:"`import()` requires exactly %0.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidDecimal:"Invalid decimal.",InvalidDigit:"Expected number in radix %0.",InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:"Escape sequence in keyword %0.",InvalidIdentifier:"Invalid identifier %0.",InvalidLhs:"Invalid left-hand side in %0.",InvalidLhsBinding:"Binding invalid left-hand side in %0.",InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:"Unexpected character '%0'.",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:"Private name #%0 is not defined.",InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:"Label '%0' is already declared.",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:'Duplicate key "%0" is not allowed in module attributes.',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found '\\u%0'.",ModuleExportUndefined:"Export '%0' is not defined.",MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).",PrivateNameRedeclaration:"Duplicate private name #%0.",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:"Assigning to '%0' in strict mode.",StrictEvalArgumentsBinding:"Binding '%0' in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:"Unexpected keyword '%0'.",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'.",UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:"Unexpected token '%0'.",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1.",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",VarRedeclaration:"Identifier '%0' has already been declared.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Tn.SyntaxError),Sn=Bn({ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'"},Tn.SourceTypeModuleError);function Bn(e,t){const s={};return Object.keys(e).forEach((r=>{s[r]=Object.freeze({code:t,reasonCode:r,template:e[r]})})),Object.freeze(s)}class Nn{constructor(e,t){this.token=void 0,this.preserveSpace=void 0,this.token=e,this.preserveSpace=!!t}}const In={brace:new Nn("{"),templateQuasi:new Nn("${"),template:new Nn("`",!0)};yn.braceR.updateContext=e=>{e.length>1&&e.pop()},yn.braceL.updateContext=yn.braceHashL.updateContext=e=>{e.push(In.brace)},yn.dollarBraceL.updateContext=e=>{e.push(In.templateQuasi)},yn.backQuote.updateContext=e=>{e[e.length-1]===In.template?e.pop():e.push(In.template)};let vn="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",kn="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";const Ln=new RegExp("["+vn+"]"),On=new RegExp("["+vn+kn+"]");vn=kn=null;const Mn=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Rn=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function jn(e,t){let s=65536;for(let r=0,i=t.length;re)return!1;if(s+=t[r+1],s>=e)return!0}return!1}function _n(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Ln.test(String.fromCharCode(e)):jn(e,Mn)))}function Un(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&On.test(String.fromCharCode(e)):jn(e,Mn)||jn(e,Rn))))}const qn=["implements","interface","let","package","private","protected","public","static","yield"],$n=["eval","arguments"],Vn=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),Hn=new Set(qn),zn=new Set($n);function Wn(e,t){return t&&"await"===e||"enum"===e}function Gn(e,t){return Wn(e,t)||Hn.has(e)}function Kn(e){return zn.has(e)}function Xn(e,t){return Gn(e,t)||Kn(e)}function Jn(e){return Vn.has(e)}const Yn=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);class Qn{constructor(e){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=e}}class Zn{constructor(e,t){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=e,this.inModule=t}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const e=this.currentThisScopeFlags();return(64&e)>0&&0==(2&e)}get inStaticBlock(){return(128&this.currentThisScopeFlags())>0}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new Qn(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(e){return!!(2&e.flags||!this.inModule&&1&e.flags)}declareName(e,t,s){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,s),16&t?r.functions.add(e):r.lexical.add(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,s),r.var.add(e),this.maybeExportDefined(r,e),!(259&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,s,r){this.isRedeclaredInScope(e,t,s)&&this.raise(r,wn.VarRedeclaration,t)}isRedeclaredInScope(e,t,s){return!!(1&s)&&(8&s?e.lexical.has(t)||e.functions.has(t)||e.var.has(t):16&s?e.lexical.has(t)||!this.treatFunctionsAsVarInScope(e)&&e.var.has(t):e.lexical.has(t)&&!(8&e.flags&&e.lexical.values().next().value===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.has(t))}checkLocalExport(e){const{name:t}=e,s=this.scopeStack[0];s.lexical.has(t)||s.var.has(t)||s.functions.has(t)||this.undefinedExports.set(t,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(259&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(323&t&&!(4&t))return t}}}class eo extends Qn{constructor(...e){super(...e),this.declareFunctions=new Set}}class to extends Zn{createScope(e){return new eo(e)}declareName(e,t,s){const r=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e),void r.declareFunctions.add(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,s){return!!super.isRedeclaredInScope(...arguments)||!!(2048&s)&&(!e.declareFunctions.has(t)&&(e.lexical.has(t)||e.functions.has(t)))}checkLocalExport(e){this.scopeStack[0].declareFunctions.has(e.name)||super.checkLocalExport(e)}}const so=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),ro=Bn({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:"Cannot overwrite reserved type %0.",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:"Unexpected reserved type %0.",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead.",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."},Tn.SyntaxError);function io(e){return"type"===e.importKind||"typeof"===e.importKind}function ao(e){return(e.type===yn.name||!!e.type.keyword)&&"from"!==e.value}const no={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const oo=/\*?\s*@((?:no)?flow)\b/;const uo={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"};class ho{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isAmbientContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=yn.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[In.brace],this.exprAllowed=!0,this.containsEsc=!1,this.strictErrors=new Map,this.tokensLength=0}init(e){this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.curLine=e.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new gn(this.curLine,this.pos-this.lineStart)}clone(e){const t=new ho,s=Object.keys(this);for(let r=0,i=s.length;r.",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"},Tn.SyntaxError);function Do(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function mo(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return mo(e.object)+"."+mo(e.property);throw new Error("Node had unexpected type: "+e.type)}In.j_oTag=new Nn("...",!0),yn.jsxName=new dn("jsxName"),yn.jsxText=new dn("jsxText",{beforeExpr:!0}),yn.jsxTagStart=new dn("jsxTagStart",{startsExpr:!0}),yn.jsxTagEnd=new dn("jsxTagEnd"),yn.jsxTagStart.updateContext=e=>{e.push(In.j_expr),e.push(In.j_oTag)};class fo extends Qn{constructor(...e){super(...e),this.types=new Set,this.enums=new Set,this.constEnums=new Set,this.classes=new Set,this.exportOnlyBindings=new Set}}class yo extends Zn{createScope(e){return new fo(e)}declareName(e,t,s){const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.add(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,s),this.maybeExportDefined(r,e)),r.types.add(e)),256&t&&r.enums.add(e),512&t&&r.constEnums.add(e),128&t&&r.classes.add(e)}isRedeclaredInScope(e,t,s){if(e.enums.has(t)){if(256&s){return!!(512&s)!==e.constEnums.has(t)}return!0}return 128&s&&e.classes.has(t)?!!e.lexical.has(t)&&!!(1&s):!!(2&s&&e.types.has(t))||super.isRedeclaredInScope(...arguments)}checkLocalExport(e){const t=this.scopeStack[0],{name:s}=e;t.types.has(s)||t.exportOnlyBindings.has(s)||super.checkLocalExport(e)}}class Ao{constructor(){this.stacks=[]}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function Eo(e,t){return(e?2:0)|(t?1:0)}function Co(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function xo(e){if(!e)throw new Error("Assert fail")}const Fo=Bn({AbstractMethodHasImplementation:"Method '%0' cannot have an implementation because it is marked abstract.",AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:"'declare' is not allowed in %0ters.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: '%0'.",EmptyHeritageClauseType:"'%0' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",IncompatibleModifiers:"'%0' modifier cannot be used with '%1' modifier.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0').",IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InvalidModifierOnTypeMember:"'%0' modifier cannot appear on a type member.",InvalidModifiersOrder:"'%0' modifier must precede '%1' modifier.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0').",ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0."},Tn.SyntaxError);function go(e){return"private"===e||"public"===e||"protected"===e}yn.placeholder=new dn("%%",{startsExpr:!0});const bo=Bn({ClassNameIsRequired:"A class name is required."},Tn.SyntaxError);function Po(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function To(e,t,s){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)?r[1][s]:null}const wo=["minimal","smart","fsharp"],So=["hash","bar"];const Bo={estree:e=>class extends e{parseRegExpLiteral({pattern:e,flags:t}){let s=null;try{s=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(s);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const s=this.estreeParseLiteral(t);return s.bigint=String(s.value||e),s}parseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){const t=e.value,s=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start);return r.value=t.extra.expressionValue,r.raw=t.extra.raw,s.expression=this.finishNodeAt(r,"Literal",t.end,t.loc.end),s.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null!=(t=e.expression.extra)&&t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),s=e.expression.value;return this.addExtra(t.value,"expressionValue",s),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const s=e.directives.map((e=>this.directiveToStmt(e)));e.body=s.concat(e.body),delete e.directives}pushClassMethod(e,t,s,r,i,a){this.parseMethod(t,s,r,i,a,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseMaybePrivateName(...e){const t=super.parseMaybePrivateName(...e);return"PrivateName"===t.type&&this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(t):t}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete(e=e).id,e.name=t,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?"PrivateIdentifier"===e.type:super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,t){const s=super.parseLiteral(e,t);return s.raw=s.extra.raw,delete s.extra,s}parseFunctionBody(e,t,s=!1){super.parseFunctionBody(e,t,s),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,s,r,i,a,n=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,s,r,i,a,n),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===a&&(e.computed=!1),a="MethodDefinition",this.finishNode(e,a)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition",t.computed=!1),t}parseObjectMethod(e,t,s,r,i){const a=super.parseObjectMethod(e,t,s,r,i);return a&&(a.type="Property","method"===a.kind&&(a.kind="init"),a.shorthand=!1),a}parseObjectProperty(e,t,s,r,i){const a=super.parseObjectProperty(e,t,s,r,i);return a&&(a.kind="init",a.type="Property"),a}toAssignable(e,t=!1){return null!=e&&this.isObjectProperty(e)?(this.toAssignable(e.value,t),e):super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,...t){"get"===e.kind||"set"===e.kind?this.raise(e.key.start,wn.PatternHasAccessor):e.method?this.raise(e.key.start,wn.PatternHasMethod):super.toAssignableObjectExpressionProp(e,...t)}finishCallExpression(e,t){if(super.finishCallExpression(e,t),"Import"===e.callee.type){var s;if(e.type="ImportExpression",e.source=e.arguments[0],this.hasPlugin("importAssertions"))e.attributes=null!=(s=e.arguments[1])?s:null;delete e.arguments,delete e.callee}return e}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e){switch(super.parseExport(e),e.type){case"ExportAllDeclaration":e.exported=null;break;case"ExportNamedDeclaration":1===e.specifiers.length&&"ExportNamespaceSpecifier"===e.specifiers[0].type&&(e.type="ExportAllDeclaration",e.exported=e.specifiers[0].exported,delete e.specifiers)}return e}parseSubscript(e,t,s,r,i){const a=super.parseSubscript(e,t,s,r,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==a.type&&"OptionalCallExpression"!==a.type||(a.type=a.type.substring(8)),i.stop){const e=this.startNodeAtNode(a);return e.expression=a,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==a.type&&"CallExpression"!==a.type||(a.optional=!1);return a}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isOptionalChain(e){return"ChainExpression"===e.type}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return e.method||"get"===e.kind||"set"===e.kind}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,lo.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(yn.jsxTagStart)):super.getTokenFromCode(s):(e+=this.input.slice(t,this.state.pos),this.finishToken(yn.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:default:Cn(s)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=e?"\n":"\r\n"):s=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,wn.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadEntity(),s=this.state.pos):Cn(r)?(t+=this.input.slice(s,this.state.pos),t+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return t+=this.input.slice(s,this.state.pos++),this.finishToken(yn.string,t)}jsxReadEntity(){let e,t="",s=0,r=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return to}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==yn.string&&e!==yn.semi&&e!==yn.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=oo.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||yn.colon);const s=this.flowParseType();return this.state.inType=t,s}flowParsePredicate(){const e=this.startNode(),t=this.state.start;return this.next(),this.expectContextual("checks"),this.state.lastTokStart>t+1&&this.raise(t,ro.UnexpectedSpaceBetweenModuloChecks),this.eat(yn.parenL)?(e.value=this.parseExpression(),this.expect(yn.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(yn.colon);let t=null,s=null;return this.match(yn.modulo)?(this.state.inType=e,s=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(yn.modulo)&&(s=this.flowParsePredicate())),[t,s]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(yn.parenL);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(yn.parenR),[s.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(yn._class))return this.flowParseDeclareClass(e);if(this.match(yn._function))return this.flowParseDeclareFunction(e);if(this.match(yn._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(yn.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,ro.NestedDeclareModule),this.flowParseDeclareModule(e));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(e);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(e);if(this.isContextual("interface"))return this.flowParseDeclareInterface(e);if(this.match(yn._export))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(yn.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),s=t.body=[];for(this.expect(yn.braceL);!this.match(yn.braceR);){let e=this.startNode();this.match(yn._import)?(this.next(),this.isContextual("type")||this.match(yn._typeof)||this.raise(this.state.lastTokStart,ro.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",ro.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),s.push(e)}this.scope.exit(),this.expect(yn.braceR),this.finishNode(t,"BlockStatement");let r=null,i=!1;return s.forEach((e=>{!function(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}(e)?"DeclareModuleExports"===e.type&&(i&&this.raise(e.start,ro.DuplicateDeclareModuleExports),"ES"===r&&this.raise(e.start,ro.AmbiguousDeclareModuleKind),r="CommonJS",i=!0):("CommonJS"===r&&this.raise(e.start,ro.AmbiguousDeclareModuleKind),r="ES")})),e.kind=r||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(yn._export),this.eat(yn._default))return this.match(yn._function)||this.match(yn._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(yn._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=no[e];throw this.raise(this.state.start,ro.UnsupportedDeclareExportKind,e,t)}if(this.match(yn._var)||this.match(yn._function)||this.match(yn._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(yn.star)||this.match(yn.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(e=this.parseExport(e)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t=!1){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(yn._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(yn.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(yn.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(yn.comma))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(this.state.start,ro.UnexpectedReservedUnderscore)}checkReservedType(e,t,s){so.has(e)&&this.raise(t,s?ro.AssignReservedType:ro.UnexpectedReservedType,e)}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.start,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(yn.eq),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(yn.colon)&&(e.supertype=this.flowParseTypeInitialiser(yn.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(yn.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(yn.eq)?(this.eat(yn.eq),s.default=this.flowParseType()):e&&this.raise(t,ro.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(yn.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const e=this.flowParseTypeParameter(s);t.params.push(e),e.default&&(s=!0),this.isRelational(">")||this.expect(yn.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expectRelational("<");const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(yn.comma);return this.state.noAnonFunctionType=s,this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(yn.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual("interface"),e.extends=[],this.eat(yn._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(yn.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(yn.num)||this.match(yn.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,s){return e.static=t,this.lookahead().type===yn.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(yn.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=s,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(yn.bracketR),this.expect(yn.bracketR),this.isRelational("<")||this.match(yn.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(yn.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(yn.parenL),this.match(yn._this)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(yn.parenR)||this.expect(yn.comma));!this.match(yn.parenR)&&!this.match(yn.ellipsis);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(yn.parenR)||this.expect(yn.comma);return this.eat(yn.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(yn.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const s=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(s),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:s,allowProto:r,allowInexact:i}){const a=this.state.inType;this.state.inType=!0;const n=this.startNode();let o,u;n.callProperties=[],n.properties=[],n.indexers=[],n.internalSlots=[];let h=!1;for(t&&this.match(yn.braceBarL)?(this.expect(yn.braceBarL),o=yn.braceBarR,u=!0):(this.expect(yn.braceL),o=yn.braceR,u=!1),n.exact=u;!this.match(o);){let t=!1,a=null,o=null;const c=this.startNode();if(r&&this.isContextual("proto")){const t=this.lookahead();t.type!==yn.colon&&t.type!==yn.question&&(this.next(),a=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==yn.colon&&e.type!==yn.question&&(this.next(),t=!0)}const p=this.flowParseVariance();if(this.eat(yn.bracketL))null!=a&&this.unexpected(a),this.eat(yn.bracketL)?(p&&this.unexpected(p.start),n.internalSlots.push(this.flowParseObjectTypeInternalSlot(c,t))):n.indexers.push(this.flowParseObjectTypeIndexer(c,t,p));else if(this.match(yn.parenL)||this.isRelational("<"))null!=a&&this.unexpected(a),p&&this.unexpected(p.start),n.callProperties.push(this.flowParseObjectTypeCallProperty(c,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==yn.name&&t.type!==yn.string&&t.type!==yn.num||(e=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(c,t,a,p,e,s,null!=i?i:!u);null===r?(h=!0,o=this.state.lastTokStart):n.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(yn.braceR)||this.match(yn.braceBarR)||this.raise(o,ro.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(n.inexact=h);const c=this.finishNode(n,"ObjectTypeAnnotation");return this.state.inType=a,c}flowParseObjectTypeProperty(e,t,s,r,i,a,n){if(this.eat(yn.ellipsis)){return this.match(yn.comma)||this.match(yn.semi)||this.match(yn.braceR)||this.match(yn.braceBarR)?(a?n||this.raise(this.state.lastTokStart,ro.InexactInsideExact):this.raise(this.state.lastTokStart,ro.InexactInsideNonObject),r&&this.raise(r.start,ro.InexactVariance),null):(a||this.raise(this.state.lastTokStart,ro.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,ro.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"))}{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=s,e.kind=i;let n=!1;return this.isRelational("<")||this.match(yn.parenL)?(e.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e),!a&&"constructor"===e.key.name&&e.value.this&&this.raise(e.value.this.start,ro.ThisParamBannedInConstructor)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(yn.question)&&(n=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=n,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,s=e.start,r=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.value.this.start,"get"===e.kind?ro.GetterMayNotHaveThisParam:ro.SetterMayNotHaveThisParam),r!==t&&("get"===e.kind?this.raise(s,wn.BadGetterArity):this.raise(s,wn.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(s,wn.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(yn.semi)||this.eat(yn.comma)||this.match(yn.braceR)||this.match(yn.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,s){e=e||this.state.start,t=t||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(yn.dot);){const s=this.startNodeAt(e,t);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(e,t,s){const r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(yn._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(yn.bracketL);this.state.possuper.parseFunctionBody(e,!0,s))):super.parseFunctionBody(e,!1,s)}parseFunctionBodyAndFinish(e,t,s=!1){if(this.match(yn.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,s)}parseStatement(e,t){if(this.state.strict&&this.match(yn.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===yn.name||Jn(e.value)){const e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}const s=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(yn._class)||this.match(yn.name)||this.match(yn._function)||this.match(yn._var)||this.match(yn._export))return this.flowParseDeclare(e)}else if(this.match(yn.name)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(yn.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,s,r){if(!this.match(yn.question))return e;if(r){const i=this.tryParse((()=>super.parseConditional(e,t,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,e)}this.expect(yn.question);const i=this.state.clone(),a=this.state.noArrowAt,n=this.startNodeAt(t,s);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[h,c]=this.getArrowLikeExpressions(o);if(u||c.length>0){const e=[...a];if(c.length>0){this.state=i,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(i.start,ro.AmbiguousConditionalArrow),u&&1===h.length&&(this.state=i,this.state.noArrowAt=e.concat(h[0].start),({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=a,this.expect(yn.colon),n.test=e,n.consequent=o,n.alternate=this.forwardNoArrowParamsConversionAt(n,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(n,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(yn.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const s=[e],r=[];for(;0!==s.length;){const e=s.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),s.push(e.body)):"ConditionalExpression"===e.type&&(s.push(e.consequent),s.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const s=[],r=[];for(let i=0;ie.params.every((e=>this.isAssignable(e,!0)))))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma,!1),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=t(),this.state.noArrowParamsConversionAt.pop()):s=t(),s}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(yn.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(yn.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExport(e){const t=super.parseExport(e);return"ExportNamedDeclaration"!==t.type&&"ExportAllDeclaration"!==t.type||(t.exportKind=t.exportKind||"value"),t}parseExportDeclaration(e){if(this.isContextual("type")){e.exportKind="type";const t=this.startNode();return this.next(),this.match(yn.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual("opaque")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual("interface")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){e.exportKind="value";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==yn.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,s=super.maybeParseExportNamespaceSpecifier(e);return s&&"type"===e.exportKind&&this.unexpected(t),s}parseClassId(e,t,s){super.parseClassId(e,t,s),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,s),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(r,ro.DeclareClassElement):t.value&&this.raise(t.value.start,ro.DeclareClassFieldInitializer))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){const e=super.readWord1(),t="@@"+e;this.isIterator(e)&&this.state.inType||this.raise(this.state.pos,wn.InvalidIdentifier,t),this.finishToken(yn.name,t)}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(yn.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(yn.questionDot,2):this.finishOp(yn.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(yn.relational,1)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every(((e,s)=>"ObjectMethod"!==e.type&&(s===t||"SpreadElement"===e.type)&&this.isAssignable(e)))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every((e=>this.isAssignable(e)));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toAssignable(e,t=!1){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e),t):super.toAssignable(e,t)}toAssignableList(e,t,s){for(let t=0;t1)&&t||this.raise(i.typeAnnotation.start,ro.TypeCastInPattern)}return e}parseArrayLike(e,t,s,r){const i=super.parseArrayLike(e,t,s,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(e,...t){if("TypeCastExpression"!==e.type)return super.checkLVal(e,...t)}parseClassProperty(e){return this.match(yn.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(yn.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(yn.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(yn.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,s,r,i,a){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,s,r,i,a),t.params&&i){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,ro.ThisParamBannedInConstructor)}else if("MethodDefinition"===t.type&&i&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,ro.ThisParamBannedInConstructor)}}pushClassPrivateMethod(e,t,s,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,s,r)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(yn.comma))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const s=t[0];this.isThisParam(s)&&"get"===e.kind?this.raise(s.start,ro.GetterMayNotHaveThisParam):this.isThisParam(s)&&this.raise(s.start,ro.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const s=this.flowParseVariance(),r=super.parsePropertyName(e,t);return e.variance=s,r}parseObjPropValue(e,t,s,r,i,a,n,o){let u;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!n&&(u=this.flowParseTypeParameterDeclaration(),this.match(yn.parenL)||this.unexpected()),super.parseObjPropValue(e,t,s,r,i,a,n,o),u&&((e.value||e).typeParameters=u)}parseAssignableListItemTypes(e){return this.eat(yn.question)&&("Identifier"!==e.type&&this.raise(e.start,ro.OptionalBindingPattern),this.isThisParam(e)&&this.raise(e.start,ro.ThisParamMayNotBeOptional),e.optional=!0),this.match(yn.colon)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(e.start,ro.ThisParamAnnotationRequired),this.match(yn.eq)&&this.isThisParam(e)&&this.raise(e.start,ro.ThisParamNoDefault),this.resetEndLocation(e),e}parseMaybeDefault(e,t,s){const r=super.parseMaybeDefault(e,t,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(e,t,s)),a),!i.error)return i.node;const{context:r}=this.state;r[r.length-1]===In.j_oTag?r.length-=2:r[r.length-1]===In.j_expr&&(r.length-=1)}if(null!=(r=i)&&r.error||this.isRelational("<")){var n,o;let r;a=a||this.state.clone();const u=this.tryParse((i=>{var a;r=this.flowParseTypeParameterDeclaration();const n=this.forwardNoArrowParamsConversionAt(r,(()=>{const i=super.parseMaybeAssign(e,t,s);return this.resetStartLocationFromNode(i,r),i}));"ArrowFunctionExpression"!==n.type&&null!=(a=n.extra)&&a.parenthesized&&i();const o=this.maybeUnwrapTypeCastExpression(n);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),n}),a);let h=null;if(u.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(r.start,ro.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;h=u.node}if(null!=(n=i)&&n.node)return this.state=i.failState,i.node;if(h)return this.state=u.failState,h;if(null!=(o=i)&&o.thrown)throw i.error;if(u.thrown)throw u.error;throw this.raise(r.start,ro.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,s)}parseArrow(e){if(this.match(yn.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(yn.arrow)||this.unexpected(),s}));if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(){return this.match(yn.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t0&&this.raise(e.params[t].start,ro.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,s,r){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const r=this.startNodeAt(t,s);r.callee=e,r.arguments=this.parseCallExpressionArguments(yn.parenR,!1),e=this.finishNode(r,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),a=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,s)||e()),i);if(!a.error&&!a.aborted)return a.node;const n=this.tryParse((()=>super.parseSubscripts(e,t,s,r)),i);if(n.node&&!n.error)return n.node;if(a.node)return this.state=a.failState,a.node;if(n.node)return this.state=n.failState,n.node;throw a.error||n.error}return super.parseSubscripts(e,t,s,r)}parseSubscript(e,t,s,r,i){if(this.match(yn.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,e;this.next();const a=this.startNodeAt(t,s);return a.callee=e,a.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(yn.parenL),a.arguments=this.parseCallExpressionArguments(yn.parenR,!1),a.optional=!0,this.finishCallExpression(a,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(t,s);r.callee=e;const a=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(yn.parenL),r.arguments=this.parseCallExpressionArguments(yn.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(a.node)return a.error&&(this.state=a.failState),a.node}return super.parseSubscript(e,t,s,r,i)}parseNewArguments(e){let t=null;this.shouldParseTypes()&&this.isRelational("<")&&(t=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),e.typeArguments=t,super.parseNewArguments(e)}parseAsyncArrowWithTypeParameters(e,t){const s=this.startNodeAt(e,t);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(yn.braceBarR,2)}parseTopLevel(e,t){const s=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,ro.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,ro.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const e=this.input.indexOf("*-/",this.state.pos+=2);if(-1===e)throw this.raise(this.state.pos-2,wn.UnterminatedComment);this.state.pos=e+3}else super.skipBlockComment()}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const s=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===s&&58===r?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===s&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,wn.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,ro.EnumBooleanMemberNotInitialized,s,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(e,ro.EnumInvalidMemberName,s,r,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:s}){this.raise(e,ro.EnumDuplicateMemberName,s,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,ro.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:s}){return this.raise(e,null===s?ro.EnumInvalidExplicitTypeUnknownSupplied:ro.EnumInvalidExplicitType,t,s)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:s,memberName:r}){let i=null;switch(s){case"boolean":case"number":case"string":i=ro.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=ro.EnumInvalidMemberInitializerSymbolType;break;default:i=ro.EnumInvalidMemberInitializerUnknownType}return this.raise(e,i,t,r,s)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:s}){this.raise(e,ro.EnumNumberMemberNotInitialized,t,s)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,ro.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(yn.comma)||this.match(yn.braceR);switch(this.state.type){case yn.num:{const s=this.parseNumericLiteral(this.state.value);return t()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:e}}case yn.string:{const s=this.parseStringLiteral(this.state.value);return t()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:e}}case yn._true:case yn._false:{const s=this.parseBooleanLiteral(this.match(yn._true));return t()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(yn.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,s){const{explicitType:r}=t;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;for(;!this.match(yn.braceR);){if(this.eat(yn.ellipsis)){i=!0;break}const a=this.startNode(),{id:n,init:o}=this.flowEnumMemberRaw(),u=n.name;if(""===u)continue;/^[a-z]/.test(u)&&this.flowEnumErrorInvalidMemberName(n.start,{enumName:e,memberName:u}),s.has(u)&&this.flowEnumErrorDuplicateMemberName(n.start,{enumName:e,memberName:u}),s.add(u);const h={enumName:e,explicitType:t,memberName:u};switch(a.id=n,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"boolean"),a.init=o.value,r.booleanMembers.push(this.finishNode(a,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"number"),a.init=o.value,r.numberMembers.push(this.finishNode(a,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"string"),a.init=o.value,r.stringMembers.push(this.finishNode(a,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,h);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,h);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,h);break;default:r.defaultedMembers.push(this.finishNode(a,"EnumDefaultedMember"))}}this.match(yn.braceR)||this.expect(yn.comma)}return{members:r,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:s}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(const t of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(t.start,{enumName:s});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:s});return e}flowEnumParseExplicitType({enumName:e}){if(this.eatContextual("of")){if(!this.match(yn.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:null});const{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:t}),t}return null}flowEnumBody(e,{enumName:t,nameLoc:s}){const r=this.flowEnumParseExplicitType({enumName:t});this.expect(yn.braceL);const{members:i,hasUnknownMembers:a}=this.flowEnumMembers({enumName:t,explicitType:r});switch(e.hasUnknownMembers=a,r){case"boolean":return e.explicitType=!0,e.members=i.booleanMembers,this.expect(yn.braceR),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=i.numberMembers,this.expect(yn.braceR),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(yn.braceR),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=i.defaultedMembers,this.expect(yn.braceR),this.finishNode(e,"EnumSymbolBody");default:{const r=()=>(e.members=[],this.expect(yn.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const a=i.booleanMembers.length,n=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(a||n||o||u){if(a||n){if(!n&&!o&&a>=u){for(const e of i.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.booleanMembers,this.expect(yn.braceR),this.finishNode(e,"EnumBooleanBody")}if(!a&&!o&&n>=u){for(const e of i.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.numberMembers,this.expect(yn.braceR),this.finishNode(e,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(s,{enumName:t}),r()}return e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(yn.braceR),this.finishNode(e,"EnumStringBody")}return r()}}}flowParseEnumDeclaration(e){const t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),{enumName:t.name,nameLoc:t.start}),this.finishNode(e,"EnumDeclaration")}isLookaheadToken_lt(){const e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){const t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}maybeUnwrapTypeCastExpression(e){return"TypeCastExpression"===e.type?e.expression:e}},typescript:e=>class extends e{getScopeHandler(){return yo}tsIsIdentifier(){return this.match(yn.name)}tsTokenCanFollowModifier(){return(this.match(yn.bracketL)||this.match(yn.braceL)||this.match(yn.star)||this.match(yn.ellipsis)||this.match(yn.privateName)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e){if(!this.match(yn.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t,s,r){const i=(t,s,r,i)=>{s===r&&e[i]&&this.raise(t,Fo.InvalidModifiersOrder,r,i)},a=(t,s,r,i)=>{(e[r]&&s===i||e[i]&&s===r)&&this.raise(t,Fo.IncompatibleModifiers,r,i)};for(;;){const n=this.state.start,o=this.tsParseModifier(t.concat(null!=s?s:[]));if(!o)break;go(o)?e.accessibility?this.raise(n,Fo.DuplicateAccessibilityModifier):(i(n,o,o,"override"),i(n,o,o,"static"),i(n,o,o,"readonly"),e.accessibility=o):(Object.hasOwnProperty.call(e,o)?this.raise(n,Fo.DuplicateModifier,o):(i(n,o,"static","readonly"),i(n,o,"static","override"),i(n,o,"override","readonly"),i(n,o,"abstract","override"),a(n,o,"declare","override"),a(n,o,"static","abstract")),e[o]=!0),null!=s&&s.includes(o)&&this.raise(n,r,o)}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(yn.braceR);case"HeritageClauseElement":return this.match(yn.braceL);case"TupleElementTypes":return this.match(yn.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const s=[];for(;!this.tsIsListTerminator(e);)s.push(t());return s}tsParseDelimitedList(e,t){return Co(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,s){const r=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(r.push(i),!this.eat(yn.comma)){if(this.tsIsListTerminator(e))break;return void(s&&this.expect(yn.comma))}}return r}tsParseBracketedList(e,t,s,r){r||(s?this.expect(yn.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return s?this.expect(yn.bracketR):this.expectRelational(">"),i}tsParseImportType(){const e=this.startNode();return this.expect(yn._import),this.expect(yn.parenL),this.match(yn.string)||this.raise(this.state.start,Fo.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(yn.parenR),this.eat(yn.dot)&&(e.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(e){let t=this.parseIdentifier();for(;this.eat(yn.dot);){const s=this.startNodeAtNode(t);s.left=t,s.right=this.parseIdentifier(e),t=this.finishNode(s,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(yn._typeof),this.match(yn._import)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(!0),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsEatThenParseType(yn._extends),e.default=this.tsEatThenParseType(yn.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(yn.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,Fo.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===yn._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const s=e===yn.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(yn.parenL),t.parameters=this.tsParseBindingListForSignature(),(s||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(yn.parenR,41).map((e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,Fo.UnsupportedSignatureParameterKind,e.type),e)))}tsParseTypeMemberSemicolon(){this.eat(yn.comma)||this.isLineTerminator()||this.expect(yn.semi)}tsParseSignatureMember(e,t){return this.tsFillSignature(yn.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(yn.name)&&this.match(yn.colon)}tsTryParseIndexSignature(e){if(!this.match(yn.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(yn.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(yn.bracketR),e.parameters=[t];const s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(yn.question)&&(e.optional=!0);const s=e;if(this.match(yn.parenL)||this.isRelational("<")){t&&this.raise(e.start,Fo.ReadonlyForMethodSignature);const r=s;if(r.kind&&this.isRelational("<")&&this.raise(this.state.pos,Fo.AccesorCannotHaveTypeParameters),this.tsFillSignature(yn.colon,r),this.tsParseTypeMemberSemicolon(),"get"===r.kind)r.parameters.length>0&&(this.raise(this.state.pos,wn.BadGetterArity),this.isThisParam(r.parameters[0])&&this.raise(this.state.pos,Fo.AccesorCannotDeclareThisParameter));else if("set"===r.kind){if(1!==r.parameters.length)this.raise(this.state.pos,wn.BadSetterArity);else{const e=r.parameters[0];this.isThisParam(e)&&this.raise(this.state.pos,Fo.AccesorCannotDeclareThisParameter),"Identifier"===e.type&&e.optional&&this.raise(this.state.pos,Fo.SetAccesorCannotHaveOptionalParameter),"RestElement"===e.type&&this.raise(this.state.pos,Fo.SetAccesorCannotHaveRestParameter)}r.typeAnnotation&&this.raise(r.typeAnnotation.start,Fo.SetAccesorCannotHaveReturnType)}else r.kind="method";return this.finishNode(r,"TSMethodSignature")}{const e=s;t&&(e.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(yn.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(yn._new)){const t=this.startNode();return this.next(),this.match(yn.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers(e,["readonly"],["declare","abstract","private","protected","public","static","override"],Fo.InvalidModifierOnTypeMember);const t=this.tsTryParseIndexSignature(e);return t||(this.parsePropertyName(e,!1),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,this.parsePropertyName(e,!1)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(yn.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(yn.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(yn.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(yn.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(yn._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(yn._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(yn.braceL),this.match(yn.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(yn.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(yn.bracketR),this.match(yn.plusMin)?(e.optional=this.state.value,this.next(),this.expect(yn.question)):this.eat(yn.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(yn.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,s=null;return e.elementTypes.forEach((e=>{var r;let{type:i}=e;!t||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&e.optional||this.raise(e.start,Fo.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===i&&e.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(e=e.typeAnnotation).type);const a="TSNamedTupleMember"===i;s=null!=(r=s)?r:a,s!==a&&this.raise(e.start,Fo.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,s=this.eat(yn.ellipsis);let r=this.tsParseType();const i=this.eat(yn.question);if(this.eat(yn.colon)){const e=this.startNodeAtNode(r);e.optional=i,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,Fo.InvalidTupleMemberLabel),e.label=r):e.label=r.typeName,e.elementType=this.tsParseType(),r=this.finishNode(e,"TSNamedTupleMember")}else if(i){const e=this.startNodeAtNode(r);e.typeAnnotation=r,r=this.finishNode(e,"TSOptionalType")}if(s){const s=this.startNodeAt(e,t);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const e=this.startNode();return this.expect(yn.parenL),e.typeAnnotation=this.tsParseType(),this.expect(yn.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const s=this.startNode();return"TSConstructorType"===e&&(s.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(yn.arrow,s),this.finishNode(s,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case yn.num:case yn.bigint:case yn.string:case yn._true:case yn._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){const e=this.startNode();return e.literal=this.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case yn.name:case yn._void:case yn._null:{const e=this.match(yn._void)?"TSVoidKeyword":this.match(yn._null)?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}case yn.string:case yn.num:case yn.bigint:case yn._true:case yn._false:return this.tsParseLiteralTypeNode();case yn.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==yn.num&&t.type!==yn.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case yn._this:return this.tsParseThisTypeOrThisTypePredicate();case yn._typeof:return this.tsParseTypeQuery();case yn._import:return this.tsParseImportType();case yn.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case yn.bracketL:return this.tsParseTupleType();case yn.parenL:return this.tsParseParenthesizedType();case yn.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(yn.bracketL);)if(this.match(yn.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(yn.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(yn.bracketR),e=this.finishNode(t,"TSIndexedAccessType")}return e}tsParseTypeOperator(e){const t=this.startNode();return this.expectContextual(e),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(e.start,Fo.UnexpectedReadonly)}}tsParseInferType(){const e=this.startNode();this.expectContextual("infer");const t=this.startNode();return t.name=this.parseIdentifierName(t.start),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseTypeOperatorOrHigher(){const e=["keyof","unique","readonly"].find((e=>this.isContextual(e)));return e?this.tsParseTypeOperator(e):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(e,t,s){const r=this.startNode(),i=this.eat(s),a=[];do{a.push(t())}while(this.eat(s));return 1!==a.length||i?(r.types=a,this.finishNode(r,e)):a[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),yn.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),yn.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(yn.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(yn.name)||this.match(yn._this))return this.next(),!0;if(this.match(yn.braceL)){let e=1;for(this.next();e>0;)this.match(yn.braceL)?++e:this.match(yn.braceR)&&--e,this.next();return!0}if(this.match(yn.bracketL)){let e=1;for(this.next();e>0;)this.match(yn.bracketL)?++e:this.match(yn.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(yn.parenR)||this.match(yn.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(yn.colon)||this.match(yn.comma)||this.match(yn.question)||this.match(yn.eq))return!0;if(this.match(yn.parenR)&&(this.next(),this.match(yn.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const s=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(yn._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(s.parameterName=e,s.asserts=!0,s.typeAnnotation=null,e=this.finishNode(s,"TSTypePredicate")):(this.resetStartLocationFromNode(e,s),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(s.parameterName=this.parseIdentifier(),s.asserts=r,s.typeAnnotation=null,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const a=this.tsParseTypeAnnotation(!1);return s.parameterName=i,s.typeAnnotation=a,s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(yn.colon)?this.tsParseTypeOrTypePredicateAnnotation(yn.colon):void 0}tsTryParseTypeAnnotation(){return this.match(yn.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(yn.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(yn.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(yn.name)&&!this.match(yn._this))&&(e&&this.raise(this.state.lastTokStart,wn.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(yn.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){xo(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(yn._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(yn.question),t.trueType=this.tsParseType(),this.expect(yn.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===yn._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(yn._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const e=this.startNode(),t=this.tsTryNextParseConstantContext();return e.typeAnnotation=t||this.tsNextThenParseType(),this.expectRelational(">"),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.start,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(t,Fo.EmptyHeritageClauseType,e),s}tsParseExpressionWithTypeArguments(){const e=this.startNode();return e.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(e){e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript interface declaration",130),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(yn._extends)&&(e.extends=this.tsParseHeritageClause("extends"));const t=this.startNode();return t.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(t,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript type alias",2),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType((()=>{if(this.expect(yn.eq),this.isContextual("intrinsic")&&this.lookahead().type!==yn.dot){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()})),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType((()=>this.expect(e)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(e){return this.tsInType((()=>(e(),this.tsParseType())))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(yn.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(yn.eq)&&(e.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t){return t&&(e.const=!0),e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript enum declaration",t?779:267),this.expect(yn.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(yn.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(yn.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,yn.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,"module or namespace declaration",1024),this.eat(yn.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual("global")?(e.global=!0,e.id=this.parseIdentifier()):this.match(yn.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(yn.braceL)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,"import equals declaration",9),this.expect(yn.eq);const s=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==s.type&&this.raise(s.start,Fo.ImportAliasHasImportType),e.moduleReference=s,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();if(this.expectContextual("require"),this.expect(yn.parenL),!this.match(yn.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(yn.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),s=e();return this.state=t,s}tsTryParseAndCatch(e){const t=this.tryParse((t=>e()||t()));if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),s=e();return void 0!==s&&!1!==s?s:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,s=this.state.type;return this.isContextual("let")&&(s=yn._var,t="let"),this.tsInAmbientContext((()=>{switch(s){case yn._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case yn._class:return e.declare=!0,this.parseClass(e,!0,!1);case yn._const:if(this.match(yn._const)&&this.isLookaheadContextual("enum"))return this.expect(yn._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case yn._var:return t=t||this.state.value,this.parseVarStatement(e,t);case yn.name:{const t=this.state.value;return"global"===t?this.tsParseAmbientExternalModuleDeclaration(e):this.tsParseDeclaration(e,t,!0)}}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(e,t){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);if(t)return t.declare=!0,t;break}case"global":if(this.match(yn.braceL)){this.scope.enter(256),this.prodParam.enter(0);const s=e;return s.global=!0,s.id=t,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,s){switch(t){case"abstract":if(this.tsCheckLineTerminator(s)&&(this.match(yn._class)||this.match(yn.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(s||this.match(yn.name))return s&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(s)&&this.match(yn.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(s)){if(this.match(yn.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(yn.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(s)&&this.match(yn.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(s)&&this.match(yn.name))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(e,t);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(yn.arrow),s}));return this.state.maybeInArrowParameters=s,r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))))),0===e.params.length&&this.raise(e.start,Fo.EmptyTypeArguments),this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(yn.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const s=this.state.start,r=this.state.startLoc;let i,a=!1,n=!1;if(void 0!==e){const t={};this.tsParseModifiers(t,["public","private","protected","override","readonly"]),i=t.accessibility,n=t.override,a=t.readonly,!1===e&&(i||a||n)&&this.raise(s,Fo.UnexpectedParameterModifier)}const o=this.parseMaybeDefault();this.parseAssignableListItemTypes(o);const u=this.parseMaybeDefault(o.start,o.loc.start,o);if(i||a||n){const e=this.startNodeAt(s,r);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),n&&(e.override=n),"Identifier"!==u.type&&"AssignmentPattern"!==u.type&&this.raise(e.start,Fo.UnsupportedParameterPropertyKind),e.parameter=u,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),u}parseFunctionBodyAndFinish(e,t,s=!1){this.match(yn.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(yn.colon));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;r&&!this.match(yn.braceL)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(e.start,Fo.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,r,s):super.parseFunctionBodyAndFinish(e,t,s)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,"function name",1024):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach((e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,Fo.UnexpectedTypeAnnotation)}))}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(...e){const t=super.parseArrayLike(...e);return"ArrayExpression"===t.type&&this.tsCheckForInvalidTypeCasts(t.elements),t}parseSubscript(e,t,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(yn.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(t,s);return r.expression=e,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const a=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,s);if(e)return e}const a=this.startNodeAt(t,s);a.callee=e;const n=this.tsParseTypeArguments();if(n){if(!r&&this.eat(yn.parenL))return a.arguments=this.parseCallExpressionArguments(yn.parenR,!1),this.tsCheckForInvalidTypeCasts(a.arguments),a.typeParameters=n,i.optionalChainMember&&(a.optional=!1),this.finishCallExpression(a,i.optionalChainMember);if(this.match(yn.backQuote)){const r=this.parseTaggedTemplateExpression(e,t,s,i);return r.typeParameters=n,r}}this.unexpected()}));if(a)return a}return super.parseSubscript(e,t,s,r,i)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(yn.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,s,r){if(Co(yn._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(t,s);i.expression=e;const a=this.tsTryNextParseConstantContext();return i.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,s,r)}return super.parseExprOp(e,t,s,r)}checkReservedWord(e,t,s,r){}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",this.match(yn.name)||this.match(yn.star)||this.match(yn.braceL)){let t=this.lookahead();if(!this.isContextual("type")||t.type===yn.comma||t.type===yn.name&&"from"===t.value||t.type===yn.eq||(e.importKind="type",this.next(),t=this.lookahead()),this.match(yn.name)&&t.type===yn.eq)return this.tsParseImportEqualsDeclaration(e)}const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,Fo.TypeImportCannotSpecifyDefaultAndNamed),t}parseExport(e){if(this.match(yn._import))return this.next(),this.isContextual("type")&&61!==this.lookaheadCharCode()?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(yn.eq)){const t=e;return t.expression=this.parseExpression(),this.semicolon(),this.finishNode(t,"TSExportAssignment")}if(this.eatContextual("as")){const t=e;return this.expectContextual("namespace"),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===yn.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===yn._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0),e}if("interface"===this.state.value){const e=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(e,t){if(this.state.type===yn._const){const e=this.lookahead();if(e.type===yn.name&&"enum"===e.value){const e=this.startNode();return this.expect(yn._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some((t=>go(t)?e.accessibility===t:!!e[t]))}parseClassMember(e,t,s){const r=["declare","private","public","protected","override","abstract","readonly"];this.tsParseModifiers(t,r.concat(["static"]));const i=()=>{const i=!!t.static;i&&this.eat(yn.braceL)?(this.tsHasSomeModifiers(t,r)&&this.raise(this.state.pos,Fo.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,s,i)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,s,r){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(t.start,Fo.IndexSignatureHasAbstract),t.accessibility&&this.raise(t.start,Fo.IndexSignatureHasAccessibility,t.accessibility),t.declare&&this.raise(t.start,Fo.IndexSignatureHasDeclare),void(t.override&&this.raise(t.start,Fo.IndexSignatureHasOverride));!this.state.inAbstractClass&&t.abstract&&this.raise(t.start,Fo.NonAbstractClassHasAbstractMethod),t.override&&(s.hadSuperClass||this.raise(t.start,Fo.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(e,t,s,r)}parsePostMemberNameModifiers(e){this.eat(yn.question)&&(e.optional=!0),e.readonly&&this.match(yn.parenL)&&this.raise(e.start,Fo.ClassMethodHasReadonly),e.declare&&this.match(yn.parenL)&&this.raise(e.start,Fo.ClassMethodHasDeclare)}parseExpressionStatement(e,t){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t):void 0)||super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,s,r){if(!r||!this.match(yn.question))return super.parseConditional(e,t,s,r);const i=this.tryParse((()=>super.parseConditional(e,t,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,e)}parseParenItem(e,t,s){if(e=super.parseParenItem(e,t,s),this.eat(yn.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(yn.colon)){const r=this.startNodeAt(t,s);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");if(r&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,Fo.ExpectedAmbientAfterExportDeclare);let i;return this.match(yn.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(e)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||r)&&(e.exportKind="type"),i&&r&&(this.resetStartLocation(i,t,s),i.declare=!0),i}parseClassId(e,t,s){if((!t||s)&&this.isContextual("implements"))return;super.parseClassId(e,t,s,e.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(yn.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&this.match(yn.eq)&&this.raise(this.state.start,Fo.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,Fo.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,Fo.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,s,r,i,a){const n=this.tsTryParseTypeParameters();n&&i&&this.raise(n.start,Fo.ConstructorHasTypeParameters),!t.declare||"get"!==t.kind&&"set"!==t.kind||this.raise(t.start,Fo.DeclareAccessor,t.kind),n&&(t.typeParameters=n),super.pushClassMethod(e,t,s,r,i,a)}pushClassPrivateMethod(e,t,s,r){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,s,r)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,...t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(yn.bang)&&(e.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(e.id.typeAnnotation=s,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(yn.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,s,r,i,a,n,o;let u,h,c,p;if(this.hasPlugin("jsx")&&(this.match(yn.jsxTagStart)||this.isRelational("<"))){if(u=this.state.clone(),h=this.tryParse((()=>super.parseMaybeAssign(...e)),u),!h.error)return h.node;const{context:t}=this.state;t[t.length-1]===In.j_oTag?t.length-=2:t[t.length-1]===In.j_expr&&(t.length-=1)}if(!(null!=(t=h)&&t.error||this.isRelational("<")))return super.parseMaybeAssign(...e);u=u||this.state.clone();const l=this.tryParse((t=>{var s,r;p=this.tsParseTypeParameters();const i=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==i.type||null!=(s=i.extra)&&s.parenthesized)&&t(),0!==(null==(r=p)?void 0:r.params.length)&&this.resetStartLocationFromNode(i,p),i.typeParameters=p,i}),u);if(!l.error&&!l.aborted)return l.node;if(!h&&(xo(!this.hasPlugin("jsx")),c=this.tryParse((()=>super.parseMaybeAssign(...e)),u),!c.error))return c.node;if(null!=(s=h)&&s.node)return this.state=h.failState,h.node;if(l.node)return this.state=l.failState,l.node;if(null!=(r=c)&&r.node)return this.state=c.failState,c.node;if(null!=(i=h)&&i.thrown)throw h.error;if(l.thrown)throw l.error;if(null!=(a=c)&&a.thrown)throw c.error;throw(null==(n=h)?void 0:n.error)||l.error||(null==(o=c)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(yn.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(yn.colon);return!this.canInsertSemicolon()&&this.match(yn.arrow)||e(),t}));if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e){this.eat(yn.question)&&("Identifier"===e.type||this.state.isAmbientContext||this.state.inType||this.raise(e.start,Fo.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e,t=!1){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e),t);case"TSParameterProperty":return super.toAssignable(e,t);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(e,t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}checkLVal(e,t,...s){var r;switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...s);case"TSAsExpression":case"TSTypeAssertion":if(!(s[0]||"parenthesized expression"===t||null!=(r=e.extra)&&r.parenthesized)){this.raise(e.start,wn.InvalidLhs,t);break}return void this.checkLVal(e.expression,"parenthesized expression",...s);case"TSNonNullExpression":return void this.checkLVal(e.expression,t,...s);default:return void super.checkLVal(e,t,...s)}}parseBindingAtom(){switch(this.state.type){case yn._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(yn.parenL)){const s=super.parseMaybeDecoratorArguments(e);return s.typeParameters=t,s}this.unexpected(this.state.start,yn.parenL)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){this.state.isAmbientContext&&this.match(yn.comma)&&this.lookaheadCharCode()===e?this.next():super.checkCommaAfterRest(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(yn.bang)||this.match(yn.colon)||super.isClassProperty()}parseMaybeDefault(...e){const t=super.parseMaybeDefault(...e);return"AssignmentPattern"===t.type&&t.typeAnnotation&&t.right.startthis.tsParseTypeArguments()));t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),s=this.getObjectOrClassMethodParams(e)[0];return s&&this.isThisParam(s)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}parseClass(e,...t){const s=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=s}}tsParseAbstractDeclaration(e){if(this.match(yn._class))return e.abstract=!0,this.parseClass(e,!0,!1);if(this.isContextual("interface")){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(e.start,Fo.NonClassMethodPropertyHasAbstractModifer),this.next(),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,yn._class)}parseMethod(...e){const t=super.parseMethod(...e);if(t.abstract){if(this.hasPlugin("estree")?!!t.value.body:!!t.body){const{key:e}=t;this.raise(t.start,Fo.AbstractMethodHasImplementation,"Identifier"===e.type?e.name:`[${this.input.slice(e.start,e.end)}]`)}}return t}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(yn.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(yn.modulo),this.match(yn.name)){const e=this.parseIdentifierName(this.state.start),s=this.createIdentifier(t,e);if(s.type="V8IntrinsicIdentifier",this.match(yn.parenL))return s}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(yn.placeholder)){const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),t.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(yn.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const s=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,s?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(yn.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(e){void 0!==e&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(e){"Placeholder"!==e.type&&super.checkLVal(...arguments)}toAssignable(e){return e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?(e.expectedNode="Pattern",e):super.toAssignable(...arguments)}isLet(e){if(super.isLet(e))return!0;if(!this.isContextual("let"))return!1;if(e)return!1;return this.lookahead().type===yn.placeholder}verifyBreakContinue(e){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra&&t.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(yn.colon)){const s=e;return s.label=this.finishPlaceholder(t,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(e,t,s){const r=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.state.strict,a=this.parsePlaceholder("Identifier");if(a)if(this.match(yn._extends)||this.match(yn.placeholder)||this.match(yn.braceL))e.id=a;else{if(s||!t)return e.id=null,e.body=this.finishPlaceholder(a,"ClassBody"),this.finishNode(e,r);this.unexpected(null,bo.ClassNameIsRequired)}else this.parseClassId(e,t,s);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(yn.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=t,e.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(yn._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(yn.placeholder.label,this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return!!(e.specifiers&&e.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(e){const{specifiers:t}=e;null!=t&&t.length&&(e.specifiers=t.filter((e=>"Placeholder"===e.exported.type))),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(...arguments);if(e.specifiers=[],!this.isContextual("from")&&!this.match(yn.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const s=this.startNodeAtNode(t);if(s.local=t,this.finishNode(s,"ImportDefaultSpecifier"),e.specifiers.push(s),this.eat(yn.comma)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},No=Object.keys(Bo),Io={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};var vo=function(e){return e>=48&&e<=57};const ko=new Set([103,109,115,105,121,117,100]),Lo={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Oo={bin:[48,49]};Oo.oct=[...Oo.bin,50,51,52,53,54,55],Oo.dec=[...Oo.oct,56,57],Oo.hex=[...Oo.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Mo{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new bn(e.startLoc,e.endLoc)}}class Ro{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class jo{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ro)}exit(){const e=this.stack.pop(),t=this.current();for(const[s,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(s)||t.undefinedPrivateNames.set(s,r):this.raise(r,wn.InvalidPrivateFieldResolution,s)}declarePrivateName(e,t,s){const r=this.current();let i=r.privateNames.has(e);if(3&t){const s=i&&r.loneAccessors.get(e);if(s){const a=4&s,n=4&t;i=(3&s)===(3&t)||a!==n,i||r.loneAccessors.delete(e)}else i||r.loneAccessors.set(e,t)}i&&this.raise(s,wn.PrivateNameRedeclaration,e),r.privateNames.add(e),r.undefinedPrivateNames.delete(e)}usePrivateName(e,t){let s;for(s of this.stack)if(s.privateNames.has(e))return;s?s.undefinedPrivateNames.set(e,t):this.raise(t,wn.InvalidPrivateFieldResolution,e)}}class _o{constructor(e=0){this.type=void 0,this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class Uo extends _o{constructor(e){super(e),this.errors=new Map}recordDeclarationError(e,t){this.errors.set(e,t)}clearDeclarationError(e){this.errors.delete(e)}iterateErrors(e){this.errors.forEach(e)}}class qo{constructor(e){this.stack=[new _o],this.raise=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const{stack:s}=this;let r=s.length-1,i=s[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(e,t),i=s[--r]}this.raise(e,t)}recordParenthesizedIdentifierError(e,t){const{stack:s}=this,r=s[s.length-1];if(r.isCertainlyParameterDeclaration())this.raise(e,t);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,t)}}recordAsyncArrowParametersError(e,t){const{stack:s}=this;let r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(e,t),i=s[--r]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(((t,s)=>{this.raise(s,t);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(s),i=e[--r]}))}}function $o(){return new _o}class Vo{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Ho{constructor(e,t,s){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=t,this.end=0,this.loc=new bn(s),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new Ho,t=Object.keys(this);for(let s=0,r=t.length;s"ParenthesizedExpression"===e.type?zo(e.expression):e;const Wo={kind:"loop"},Go={kind:"switch"},Ko=/[\uD800-\uDFFF]/u,Xo=/in(?:stanceof)?/y;class Jo extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(e){return this.plugins.has(e)}getPluginOption(e,t){if(this.hasPlugin(e))return this.plugins.get(e)[t]}}{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,s){if(0===this.state.leadingComments.length)return;let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];if(null===r)return;for(let e=0;e0?r.trailingComments=a:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let s,r,i,a,n;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const s=Pn(t);s.trailingComments&&s.trailingComments[0].start>=e.end&&(i=s.trailingComments,delete s.trailingComments)}for(t.length>0&&Pn(t).start>=e.start&&(s=t.pop());t.length>0&&Pn(t).start>=e.start;)r=t.pop();if(!r&&s&&(r=s),s)switch(e.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(e,e.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(e,e.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(e,e.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(e,e.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(e,e.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==e.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==e.type)&&this.adjustCommentsAfterTrailingComma(e,[this.state.commentPreviousNode]);if(r){if(r.leadingComments)if(r!==e&&r.leadingComments.length>0&&Pn(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,delete r.leadingComments;else for(a=r.leadingComments.length-2;a>=0;--a)if(r.leadingComments[a].end<=e.start){e.leadingComments=r.leadingComments.splice(0,a+1);break}}else if(this.state.leadingComments.length>0)if(Pn(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(n=0;n0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(a=0;ae.start);a++);const t=this.state.leadingComments.slice(0,a);t.length&&(e.leadingComments=t),i=this.state.leadingComments.slice(a),0===i.length&&(i=null)}if(this.state.commentPreviousNode=e,i)if(i.length&&i[0].start>=e.start&&Pn(i).end<=e.end)e.innerComments=i;else{const t=i.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=i.slice(0,t),e.trailingComments=i.slice(t)):e.trailingComments=i}t.push(e)}}{getLocationForPosition(e){let t;return t=e===this.state.start?this.state.startLoc:e===this.state.lastTokStart?this.state.lastTokStartLoc:e===this.state.end?this.state.endLoc:e===this.state.lastTokEnd?this.state.lastTokEndLoc:function(e,t){let s,r=1,i=0;for(En.lastIndex=0;(s=En.exec(e))&&s.indexr[t]))+` (${i.line}:${i.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let s=t.length-1;s>=0;s--){const r=t[s];if(r.pos===e)return Object.assign(r,{message:a});if(r.posr[t]))+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:e},t),a)}_raise(e,t){const s=new SyntaxError(t);if(Object.assign(s,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new ho,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Mo(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,lastTokEnd:e.end,context:[this.curContext()],inType:e.inType}}lookahead(){const e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){xn.lastIndex=e;return e+xn.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.raise(t,e))),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const e=this.curContext();e.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(yn.eof):e===In.template?this.readTmplToken():this.getTokenFromCode(this.codePointAtPos(this.state.pos))}pushComment(e,t,s,r,i,a){const n={type:e?"CommentBlock":"CommentLine",value:t,start:s,end:r,loc:new bn(i,a)};this.options.tokens&&this.pushToken(n),this.state.comments.push(n),this.addComment(n)}skipBlockComment(){let e;this.isLookahead||(e=this.state.curPosition());const t=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(t,wn.UnterminatedComment);let r;for(this.state.pos=s+2,En.lastIndex=t;(r=En.exec(this.input))&&r.index=48&&t<=57)throw this.raise(this.state.pos,wn.UnexpectedDigitAfterHash);if(123===t||91===t&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===t?wn.RecordExpressionHashIncorrectStartSyntaxType:wn.TupleExpressionHashIncorrectStartSyntaxType);this.state.pos+=2,123===t?this.finishToken(yn.braceHashL):this.finishToken(yn.bracketHashL)}else _n(t)?(++this.state.pos,this.finishToken(yn.privateName,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(yn.privateName,this.readWord1())):this.finishOp(yn.hash,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(yn.ellipsis)):(++this.state.pos,this.finishToken(yn.dot))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(yn.slashAssign,2):this.finishOp(yn.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!Cn(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(yn.question)):(this.state.pos+=2,this.finishToken(yn.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(yn.parenL);case 41:return++this.state.pos,void this.finishToken(yn.parenR);case 59:return++this.state.pos,void this.finishToken(yn.semi);case 44:return++this.state.pos,void this.finishToken(yn.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,wn.TupleExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(yn.bracketBarL)}else++this.state.pos,this.finishToken(yn.bracketL);return;case 93:return++this.state.pos,void this.finishToken(yn.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,wn.RecordExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(yn.braceBarL)}else++this.state.pos,this.finishToken(yn.braceL);return;case 125:return++this.state.pos,void this.finishToken(yn.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(yn.doubleColon,2):(++this.state.pos,this.finishToken(yn.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(yn.backQuote);case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:case 62:return void this.readToken_lt_gt(e);case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(yn.tilde,1);case 64:return++this.state.pos,void this.finishToken(yn.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(_n(e))return void this.readWord(e)}throw this.raise(this.state.pos,wn.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const s=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,s)}readRegexp(){const e=this.state.start+1;let t,s,{pos:r}=this.state;for(;;++r){if(r>=this.length)throw this.raise(e,wn.UnterminatedRegExp);const i=this.input.charCodeAt(r);if(Cn(i))throw this.raise(e,wn.UnterminatedRegExp);if(t)t=!1;else{if(91===i)s=!0;else if(93===i&&s)s=!1;else if(47===i&&!s)break;t=92===i}}const i=this.input.slice(e,r);++r;let a="";for(;r=97?t-97+10:t>=65?t-65+10:vo(t)?t-48:1/0,h>=e)if(this.options.errorRecovery&&h<=9)h=0,this.raise(this.state.start+i+2,wn.InvalidDigit,e);else{if(!s)break;h=0,o=!0}++this.state.pos,u=u*e+h}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===n.indexOf(t)||a.indexOf(e)>-1||a.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,wn.UnexpectedNumericSeparator),r||this.raise(this.state.pos,wn.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=t&&this.state.pos-i!==t||o?null:u}readRadixNumber(e){const t=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(this.state.start+2,wn.InvalidDigit,e);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,s=!0;else if(109===i)throw this.raise(t,wn.InvalidDecimal);if(_n(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,wn.NumberIdentifier);if(s){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(yn.bigint,e)}else this.finishToken(yn.num,r)}readNumber(e){const t=this.state.pos;let s=!1,r=!1,i=!1,a=!1,n=!1;e||null!==this.readInt(10)||this.raise(t,wn.InvalidNumber);const o=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(o){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(t,wn.StrictOctalLiteral),!this.state.strict){const s=e.indexOf("_");s>0&&this.raise(s+t,wn.ZeroDigitNumericSeparator)}n=o&&!/[89]/.test(e)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||n||(++this.state.pos,this.readInt(10),s=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||n||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(t,wn.InvalidOrMissingExponent),s=!0,a=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((s||o)&&this.raise(t,wn.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin("decimal",this.state.pos),(a||o)&&this.raise(t,wn.InvalidDecimal),++this.state.pos,i=!0),_n(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,wn.NumberIdentifier);const h=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(yn.bigint,h);if(i)return void this.finishToken(yn.decimal,h);const c=n?parseInt(h,8):parseFloat(h);this.finishToken(yn.num,c)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,e),++this.state.pos,null!==t&&t>1114111){if(!e)return null;this.raise(s,wn.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,wn.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;if(92===r)t+=this.input.slice(s,this.state.pos),t+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(Cn(r))throw this.raise(this.state.start,wn.UnterminatedString);++this.state.pos}}t+=this.input.slice(s,this.state.pos++),this.finishToken(yn.string,t)}readTmplToken(){let e="",t=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,wn.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(yn.template)?36===r?(this.state.pos+=2,void this.finishToken(yn.dollarBraceL)):(++this.state.pos,void this.finishToken(yn.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(yn.template,s?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:e+=r,t=this.state.pos}else if(Cn(r)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}}recordStrictModeErrors(e,t){this.state.strict&&!this.state.strictErrors.has(e)?this.raise(e,t):this.state.strictErrors.set(e,t)}readEscapedChar(e){const t=!e,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:{const e=this.readHexChar(2,!1,t);return null===e?null:String.fromCharCode(e)}case 117:{const e=this.readCodePoint(t);return null===e?null:String.fromCodePoint(e)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(e)return null;this.recordStrictModeErrors(this.state.pos-1,wn.StrictNumericEscape);default:if(s>=48&&s<=55){const t=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==s||56===i||57===i){if(e)return null;this.recordStrictModeErrors(t,wn.StrictNumericEscape)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(e,t,s){const r=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(s?this.raise(r,wn.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(e){this.state.containsEsc=!1;let t="";const s=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:Tn.SyntaxError,reasonCode:"UnexpectedSpace",template:e})}unexpected(e,t={code:Tn.SyntaxError,reasonCode:"UnexpectedToken",template:"Unexpected token"}){throw t instanceof dn&&(t={code:Tn.SyntaxError,reasonCode:"UnexpectedToken",template:`Unexpected token, expected "${t.label}"`}),this.raise(null!=e?e:this.state.start,t)}expectPlugin(e,t){if(!this.hasPlugin(e))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:[e]},`This experimental syntax requires enabling the parser plugin: '${e}'`);return!0}expectOnePlugin(e,t){if(!e.some((e=>this.hasPlugin(e))))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:e},`This experimental syntax requires enabling one of the following parser plugin(s): '${e.join(", ")}'`)}tryParse(e,t=this.state.clone()){const s={node:null};try{const r=e(((e=null)=>{throw s.node=e,s}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:s,doubleProto:r}=e;if(!t)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,wn.DuplicateProto)}isLiteralPropertyName(){return this.match(yn.name)||!!this.state.type.keyword||this.match(yn.string)||this.match(yn.num)||this.match(yn.bigint)||this.match(yn.decimal)}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isOptionalChain(e){return"OptionalMemberExpression"===e.type||"OptionalCallExpression"===e.type}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const s=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=e;const i=this.scope,a=this.getScopeHandler();this.scope=new a(this.raise.bind(this),this.inModule);const n=this.prodParam;this.prodParam=new Ao;const o=this.classScope;this.classScope=new jo(this.raise.bind(this));const u=this.expressionScope;return this.expressionScope=new qo(this.raise.bind(this)),()=>{this.state.labels=t,this.exportedIdentifiers=s,this.inModule=r,this.scope=i,this.prodParam=n,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}}{startNode(){return new Ho(this,this.state.start,this.state.startLoc)}startNodeAt(e,t){return new Ho(this,e,t)}startNodeAtNode(e){return this.startNodeAt(e.start,e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(e,t,s,r){return e.type=t,e.end=s,e.loc.end=r,this.options.ranges&&(e.range[1]=s),this.processComment(e),e}resetStartLocation(e,t,s){e.start=t,e.loc.start=s,this.options.ranges&&(e.range[0]=t)}resetEndLocation(e,t=this.state.lastTokEnd,s=this.state.lastTokEndLoc){e.end=t,e.loc.end=s,this.options.ranges&&(e.range[1]=t)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.start,t.loc.start)}}{toAssignable(e,t=!1){var s,r;let i;switch(("ParenthesizedExpression"===e.type||null!=(s=e.extra)&&s.parenthesized)&&(i=zo(e),t?"Identifier"===i.type?this.expressionScope.recordParenthesizedIdentifierError(e.start,wn.InvalidParenthesizedAssignment):"MemberExpression"!==i.type&&this.raise(e.start,wn.InvalidParenthesizedAssignment):this.raise(e.start,wn.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let s=0,r=e.properties.length,i=r-1;sthis.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(yn.comma)){const i=this.startNodeAt(t,s);for(i.expressions=[r];this.eat(yn.comma);)i.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(e,t,s){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssignAllowIn(e,t,s){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,s)))}parseMaybeAssign(e,t,s){const r=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){let e=this.parseYield();return t&&(e=t.call(this,e,r,i)),e}let a;e?a=!1:(e=new Vo,a=!0),(this.match(yn.parenL)||this.match(yn.name))&&(this.state.potentialArrowAt=this.state.start);let n=this.parseMaybeConditional(e,s);if(t&&(n=t.call(this,n,r,i)),this.state.type.isAssign){const t=this.startNodeAt(r,i),s=this.state.value;return t.operator=s,this.match(yn.eq)?(t.left=this.toAssignable(n,!0),e.doubleProto=-1):t.left=n,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(n,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return a&&this.checkExpressionErrors(e,!0),n}parseMaybeConditional(e,t){const s=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,a=this.parseExprOps(e);return this.shouldExitDescending(a,i)?a:this.parseConditional(a,s,r,t)}parseConditional(e,t,s,r){if(this.eat(yn.question)){const r=this.startNodeAt(t,s);return r.test=e,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(yn.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,t,s,-1)}parseExprOp(e,t,s,r){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(yn._in))&&i>r){const a=this.state.type;if(a===yn.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const n=this.startNodeAt(t,s);n.left=e,n.operator=this.state.value;const o=a===yn.logicalOR||a===yn.logicalAND,u=a===yn.nullishCoalescing;if(u&&(i=yn.logicalAND.binop),this.next(),a===yn.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(yn.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,wn.UnexpectedAwaitAfterPipelineBody);n.right=this.parseExprOpRightExpr(a,i),this.finishNode(n,o||u?"LogicalExpression":"BinaryExpression");const h=this.state.type;if(u&&(h===yn.logicalOR||h===yn.logicalAND)||o&&h===yn.nullishCoalescing)throw this.raise(this.state.start,wn.MixingCoalesceWithLogical);return this.parseExprOp(n,t,s,r)}return e}parseExprOpRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;switch(e){case yn.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,e.rightAssociative?t-1:t)}checkExponentialAfterUnary(e){this.match(yn.exponent)&&this.raise(e.argument.start,wn.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(e,t){const s=this.state.start,r=this.state.startLoc,i=this.isContextual("await");if(i&&this.isAwaitAllowed()){this.next();const e=this.parseAwait(s,r);return t||this.checkExponentialAfterUnary(e),e}if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const a=this.match(yn.incDec),n=this.startNode();if(this.state.type.prefix){n.operator=this.state.value,n.prefix=!0,this.match(yn._throw)&&this.expectPlugin("throwExpressions");const s=this.match(yn._delete);if(this.next(),n.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&s){const e=n.argument;"Identifier"===e.type?this.raise(n.start,wn.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(n.start,wn.DeletePrivateField)}if(!a)return t||this.checkExponentialAfterUnary(n),this.finishNode(n,"UnaryExpression")}const o=this.parseUpdate(n,a,e);if(i){if((this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(yn.modulo))&&!this.isAmbiguousAwait())return this.raiseOverwrite(s,this.hasPlugin("topLevelAwait")?wn.AwaitNotInAsyncContext:wn.AwaitNotInAsyncFunction),this.parseAwait(s,r)}return o}parseUpdate(e,t,s){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const r=this.state.start,i=this.state.startLoc;let a=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(r,i);e.operator=this.state.value,e.prefix=!1,e.argument=a,this.checkLVal(a,"postfix operation"),this.next(),a=this.finishNode(e,"UpdateExpression")}return a}parseExprSubscripts(e){const t=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(e);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,t,s)}parseSubscripts(e,t,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,s,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,s,r,i){if(!r&&this.eat(yn.doubleColon))return this.parseBind(e,t,s,r,i);if(this.match(yn.backQuote))return this.parseTaggedTemplateExpression(e,t,s,i);let a=!1;if(this.match(yn.questionDot)){if(r&&40===this.lookaheadCharCode())return i.stop=!0,e;i.optionalChainMember=a=!0,this.next()}return!r&&this.match(yn.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,s,i,a):a||this.match(yn.bracketL)||this.eat(yn.dot)?this.parseMember(e,t,s,i,a):(i.stop=!0,e)}parseMember(e,t,s,r,i){const a=this.startNodeAt(t,s),n=this.eat(yn.bracketL);a.object=e,a.computed=n;const o=!n&&this.match(yn.privateName)&&this.state.value,u=n?this.parseExpression():o?this.parsePrivateName():this.parseIdentifier(!0);return!1!==o&&("Super"===a.object.type&&this.raise(t,wn.SuperPrivateField),this.classScope.usePrivateName(o,u.start)),a.property=u,n&&this.expect(yn.bracketR),r.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(e,t,s,r,i){const a=this.startNodeAt(t,s);return a.object=e,a.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(a,"BindExpression"),t,s,r)}parseCoverCallAndAsyncArrowHead(e,t,s,r,i){const a=this.state.maybeInArrowParameters;let n=null;this.state.maybeInArrowParameters=!0,this.next();let o=this.startNodeAt(t,s);return o.callee=e,r.maybeAsyncArrow&&(this.expressionScope.enter(new Uo(2)),n=new Vo),r.optionalChainMember&&(o.optional=i),o.arguments=i?this.parseCallExpressionArguments(yn.parenR):this.parseCallExpressionArguments(yn.parenR,"Import"===e.type,"Super"!==e.type,o,n),this.finishCallExpression(o,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),o=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,s),o)):(r.maybeAsyncArrow&&(this.checkExpressionErrors(n,!0),this.expressionScope.exit()),this.toReferencedArguments(o)),this.state.maybeInArrowParameters=a,o}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,s,r){const i=this.startNodeAt(t,s);return i.tag=e,i.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(t,wn.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(2===e.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===e.arguments.length||e.arguments.length>2)this.raise(e.start,wn.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(t.start,wn.ImportCallSpreadArgument);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,s,r,i){const a=[];let n=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(n)n=!1;else if(this.expect(yn.comma),this.match(e)){!t||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,wn.ImportCallArgumentTrailingComma),r&&this.addExtra(r,"trailingComma",this.state.lastTokStart),this.next();break}a.push(this.parseExprListItem(!1,i,{start:0},s))}return this.state.inFSharpPipelineDirectBody=o,a}shouldParseAsyncArrow(){return this.match(yn.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var s;return this.expect(yn.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(s=t.extra)?void 0:s.trailingComma),e}parseNoCallExpr(){const e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)}parseExprAtom(e){let t;switch(this.state.type){case yn._super:return this.parseSuper();case yn._import:return t=this.startNode(),this.next(),this.match(yn.dot)?this.parseImportMetaProperty(t):(this.match(yn.parenL)||this.raise(this.state.lastTokStart,wn.UnsupportedImport),this.finishNode(t,"Import"));case yn._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case yn.name:{const e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,s=this.parseIdentifier();if(!t&&"async"===s.name&&!this.canInsertSemicolon()){if(this.match(yn._function))return this.next(),this.parseFunction(this.startNodeAtNode(s),void 0,!0);if(this.match(yn.name))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(s):s;if(this.match(yn._do))return this.parseDo(!0)}return e&&this.match(yn.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(s),[s],!1)):s}case yn._do:return this.parseDo(!1);case yn.slash:case yn.slashAssign:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case yn.num:return this.parseNumericLiteral(this.state.value);case yn.bigint:return this.parseBigIntLiteral(this.state.value);case yn.decimal:return this.parseDecimalLiteral(this.state.value);case yn.string:return this.parseStringLiteral(this.state.value);case yn._null:return this.parseNullLiteral();case yn._true:return this.parseBooleanLiteral(!0);case yn._false:return this.parseBooleanLiteral(!1);case yn.parenL:{const e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case yn.bracketBarL:case yn.bracketHashL:return this.parseArrayLike(this.state.type===yn.bracketBarL?yn.bracketBarR:yn.bracketR,!1,!0,e);case yn.bracketL:return this.parseArrayLike(yn.bracketR,!0,!1,e);case yn.braceBarL:case yn.braceHashL:return this.parseObjectLike(this.state.type===yn.braceBarL?yn.braceBarR:yn.braceR,!1,!0,e);case yn.braceL:return this.parseObjectLike(yn.braceR,!1,!1,e);case yn._function:return this.parseFunctionOrFunctionSent();case yn.at:this.parseDecorators();case yn._class:return t=this.startNode(),this.takeDecorators(t),this.parseClass(t,!1);case yn._new:return this.parseNewOrNewTarget();case yn.backQuote:return this.parseTemplate(!1);case yn.doubleColon:{t=this.startNode(),this.next(),t.object=null;const e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(e.start,wn.UnsupportedBind)}case yn.privateName:{const e=this.state.start,s=this.state.value;if(t=this.parsePrivateName(),this.match(yn._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(s,t.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,wn.PrivateInExpectedIn,s)}return t}case yn.hash:if(this.state.inPipeline)return t=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(t.start,wn.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(t.start,wn.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(t,"PipelinePrimaryTopicReference");case yn.relational:if("<"===this.state.value){const e=this.input.codePointAt(this.nextTokenStart());(_n(e)||62===e)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(e){const t=this.startNodeAtNode(e);this.prodParam.enter(Eo(!0,this.prodParam.hasYield));const s=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,wn.LineTerminatorBeforeArrow),this.expect(yn.arrow),this.parseArrowExpression(t,s,!0),t}parseDo(e){this.expectPlugin("doExpressions"),e&&this.expectPlugin("asyncDoExpressions");const t=this.startNode();t.async=e,this.next();const s=this.state.labels;return this.state.labels=[],e?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=s,this.finishNode(t,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(yn.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(e.start,wn.UnexpectedSuper):this.raise(e.start,wn.SuperNotAllowed),this.match(yn.parenL)||this.match(yn.bracketL)||this.match(yn.dot)||this.raise(e.start,wn.UnsupportedSuper),this.finishNode(e,"Super")}parseMaybePrivateName(e){return this.match(yn.privateName)?(e||this.raise(this.state.start+1,wn.UnexpectedPrivateField),this.parsePrivateName()):this.parseIdentifier(!0)}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(this.state.start+1,new gn(this.state.curLine,this.state.start+1-this.state.lineStart)),s=this.state.value;return this.next(),e.id=this.createIdentifier(t,s),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(yn.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,s){e.meta=t,"function"===t.name&&"sent"===s&&(this.isContextual(s)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==s||r)&&this.raise(e.property.start,wn.UnsupportedMetaProperty,t.name,s),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raise(t.start,Sn.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}parseLiteralAtNode(e,t,s){return this.addExtra(s,"rawValue",e),this.addExtra(s,"raw",this.input.slice(s.start,this.state.end)),s.value=e,this.next(),this.finishNode(s,t)}parseLiteral(e,t){const s=this.startNode();return this.parseLiteralAtNode(e,t,s)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){return this.parseLiteral(e,"BigIntLiteral")}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){const t=this.parseLiteral(e.value,"RegExpLiteral");return t.pattern=e.pattern,t.flags=e.flags,t}parseBooleanLiteral(e){const t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){const e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){const t=this.state.start,s=this.state.startLoc;let r;this.next(),this.expressionScope.enter(new Uo(1));const i=this.state.maybeInArrowParameters,a=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const n=this.state.start,o=this.state.startLoc,u=[],h=new Vo,c={start:0};let p,l,d=!0;for(;!this.match(yn.parenR);){if(d)d=!1;else if(this.expect(yn.comma,c.start||null),this.match(yn.parenR)){l=this.state.start;break}if(this.match(yn.ellipsis)){const e=this.state.start,t=this.state.startLoc;p=this.state.start,u.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}u.push(this.parseMaybeAssignAllowIn(h,this.parseParenItem,c))}const D=this.state.lastTokEnd,m=this.state.lastTokEndLoc;this.expect(yn.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=a;let f=this.startNodeAt(t,s);if(e&&this.shouldParseArrow()&&(f=this.parseArrow(f)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(f,u,!1),f;if(this.expressionScope.exit(),u.length||this.unexpected(this.state.lastTokStart),l&&this.unexpected(l),p&&this.unexpected(p),this.checkExpressionErrors(h,!0),c.start&&this.unexpected(c.start),this.toReferencedListDeep(u,!0),u.length>1?(r=this.startNodeAt(n,o),r.expressions=u,this.finishNodeAt(r,"SequenceExpression",D,m)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t),r;const y=this.startNodeAt(t,s);return y.expression=r,this.finishNode(y,"ParenthesizedExpression"),y}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(yn.arrow))return e}parseParenItem(e,t,s){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(yn.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const s=this.parseMetaProperty(e,t,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(s.start,wn.UnexpectedNewTarget),s}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,wn.ImportCallNotNewExpression):this.isOptionalChain(e.callee)?this.raise(this.state.lastTokEnd,wn.OptionalChainingNoNew):this.eat(yn.questionDot)&&this.raise(this.state.start,wn.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(yn.parenL)){const t=this.parseExprList(yn.parenR);this.toReferencedList(t),e.arguments=t}else e.arguments=[]}parseTemplateElement(e){const t=this.startNode();return null===this.state.value&&(e||this.raise(this.state.start+1,wn.InvalidEscapeSequenceTemplate)),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(yn.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let s=this.parseTemplateElement(e);for(t.quasis=[s];!s.tail;)this.expect(yn.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(yn.braceR),t.quasis.push(s=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const a=Object.create(null);let n=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(n)n=!1;else if(this.expect(yn.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(t,r);t||this.checkProto(i,s,a,r),s&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(i.start,wn.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return t?u="ObjectPattern":s&&(u="RecordExpression"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(yn.bracketL)||this.match(yn.star))}parsePropertyDefinition(e,t){let s=[];if(this.match(yn.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,wn.UnsupportedPropertyDecorator);this.match(yn.at);)s.push(this.parseDecorator());const r=this.startNode();let i,a,n=!1,o=!1,u=!1;if(this.match(yn.ellipsis))return s.length&&this.unexpected(),e?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(e||t)&&(i=this.state.start,a=this.state.startLoc),e||(n=this.eat(yn.star));const h=this.state.containsEsc,c=this.parsePropertyName(r,!1);if(!e&&!n&&!h&&this.maybeAsyncOrAccessorProp(r)){const e=c.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,n=this.eat(yn.star),this.parsePropertyName(r,!1)),"get"!==e&&"set"!==e||(u=!0,r.kind=e,this.match(yn.star)&&(n=!0,this.raise(this.state.pos,wn.AccessorIsGenerator,e),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,i,a,n,o,e,u,t),r}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const s=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e),i=e.start;r.length!==s&&("get"===e.kind?this.raise(i,wn.BadGetterArity):this.raise(i,wn.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(i,wn.BadSetterRestParameter)}parseObjectMethod(e,t,s,r,i){return i?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):s||t||this.match(yn.parenL)?(r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,s,r,i){return e.shorthand=!1,this.eat(yn.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!1),r?e.value=this.parseMaybeDefault(t,s,e.key.__clone()):this.match(yn.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,s,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,s,r,i,a,n,o){const u=this.parseObjectMethod(e,r,i,a,n)||this.parseObjectProperty(e,t,s,a,o);return u||this.unexpected(),u}parsePropertyName(e,t){if(this.eat(yn.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(yn.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0;const r=this.state.type;e.key=r===yn.num||r===yn.string||r===yn.bigint||r===yn.decimal?this.parseExprAtom():this.parseMaybePrivateName(t),r!==yn.privateName&&(e.computed=!1),this.state.inPropertyName=s}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,s,r,i,a,n=!1){this.initFunction(e,s),e.generator=!!t;const o=r;return this.scope.enter(18|(n?64:0)|(i?32:0)),this.prodParam.enter(Eo(s,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,a,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const a=this.startNode();return this.next(),a.elements=this.parseExprList(e,!s,r,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,s,r){this.scope.enter(6);let i=Eo(s,!1);!this.match(yn.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,s);const a=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,s){e.params=this.toAssignableList(t,s,!1)}parseFunctionBodyAndFinish(e,t,s=!1){this.parseFunctionBody(e,!1,s),this.finishNode(e,t)}parseFunctionBody(e,t,s=!1){const r=t&&!this.match(yn.braceL);if(this.expressionScope.enter($o()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(i=>{const a=!this.isSimpleParamList(e.params);if(i&&a){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,wn.IllegalLanguageModeDirective)}const n=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||s||a),t,n),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,n)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(e){for(let t=0,s=e.length;t10)return;if(!function(e){return Yn.has(e)}(e))return;if("yield"===e){if(this.prodParam.hasYield)return void this.raise(t,wn.YieldBindingIdentifier)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(t,wn.AwaitBindingIdentifier);if(this.scope.inStaticBlock&&!this.scope.inNonArrowFunction)return void this.raise(t,wn.AwaitBindingIdentifierInStaticBlock);this.expressionScope.recordAsyncArrowParametersError(t,wn.AwaitBindingIdentifier)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(t,wn.ArgumentsInClass);if(s&&Jn(e))return void this.raise(t,wn.UnexpectedKeyword,e);(this.state.strict?r?Xn:Gn:Wn)(e,this.inModule)&&this.raise(t,wn.UnexpectedReservedWord,e)}isAwaitAllowed(){return!!this.prodParam.hasAwait||!(!this.options.allowAwaitOutsideFunction||this.scope.inFunction)}parseAwait(e,t){const s=this.startNodeAt(e,t);return this.expressionScope.recordParameterInitializerError(s.start,wn.AwaitExpressionFormalParameter),this.eat(yn.star)&&this.raise(s.start,wn.ObsoleteAwaitStar),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(s.argument=this.parseMaybeUnary(null,!0)),this.finishNode(s,"AwaitExpression")}isAmbiguousAwait(){return this.hasPrecedingLineBreak()||this.match(yn.plusMin)||this.match(yn.parenL)||this.match(yn.bracketL)||this.match(yn.backQuote)||this.match(yn.regexp)||this.match(yn.slash)||this.hasPlugin("v8intrinsic")&&this.match(yn.modulo)}parseYield(){const e=this.startNode();this.expressionScope.recordParameterInitializerError(e.start,wn.YieldInParameter),this.next();let t=!1,s=null;if(!this.hasPrecedingLineBreak())switch(t=this.eat(yn.star),this.state.type){case yn.semi:case yn.eof:case yn.braceR:case yn.parenR:case yn.bracketR:case yn.braceBarR:case yn.colon:case yn.comma:if(!t)break;default:s=this.parseMaybeAssign()}return e.delegate=t,e.argument=s,this.finishNode(e,"YieldExpression")}checkPipelineAtInfixOperator(e,t){"smart"===this.getPluginOption("pipelineOperator","proposal")&&"SequenceExpression"===e.type&&this.raise(t,wn.PipelineHeadSequenceExpression)}parseSmartPipelineBody(e,t,s){return this.checkSmartPipelineBodyEarlyErrors(e,t),this.parseSmartPipelineBodyInStyle(e,t,s)}checkSmartPipelineBodyEarlyErrors(e,t){if(this.match(yn.arrow))throw this.raise(this.state.start,wn.PipelineBodyNoArrow);"SequenceExpression"===e.type&&this.raise(t,wn.PipelineBodySequenceExpression)}parseSmartPipelineBodyInStyle(e,t,s){const r=this.startNodeAt(t,s),i=this.isSimpleReference(e);return i?r.callee=e:(this.topicReferenceWasUsedInCurrentTopicContext()||this.raise(t,wn.PipelineTopicUnused),r.expression=e),this.finishNode(r,i?"PipelineBareFunction":"PipelineTopicExpression")}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}withTopicPermittingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withTopicForbiddingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){const t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){const t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}primaryTopicReferenceIsAllowedInCurrentTopicContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),t,s,e);return this.state.inFSharpPipelineDirectBody=r,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(yn.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const s=this.startNode();try{e.body=this.parseProgram(s,yn.braceR,"module")}finally{t()}return this.eat(yn.braceR),this.finishNode(e,"ModuleExpression")}}{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=function(e){for(let t=0;t0)for(const[e]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(e);this.raise(t,wn.ModuleExportUndefined,e)}return this.finishNode(e,"Program")}stmtToDirective(e){const t=e.expression,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),a=s.value=i.slice(1,-1);return this.addExtra(s,"raw",i),this.addExtra(s,"rawValue",a),r.value=this.finishNodeAt(s,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(r,"Directive",e.end,e.loc.end)}parseInterpreterDirective(){if(!this.match(yn.interpreterDirective))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(e){return!!this.isContextual("let")&&this.isLetKeyword(e)}isLetKeyword(e){const t=this.nextTokenStart(),s=this.codePointAtPos(t);if(92===s||91===s)return!0;if(e)return!1;if(123===s)return!0;if(_n(s)){Xo.lastIndex=t;const e=Xo.exec(this.input);if(null!==e){const s=this.codePointAtPos(t+e[0].length);if(!Un(s)&&92!==s)return!1}return!0}return!1}parseStatement(e,t){return this.match(yn.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let s=this.state.type;const r=this.startNode();let i;switch(this.isLet(e)&&(s=yn._var,i="let"),s){case yn._break:case yn._continue:return this.parseBreakContinueStatement(r,s.keyword);case yn._debugger:return this.parseDebuggerStatement(r);case yn._do:return this.parseDoStatement(r);case yn._for:return this.parseForStatement(r);case yn._function:if(46===this.lookaheadCharCode())break;return e&&(this.state.strict?this.raise(this.state.start,wn.StrictFunction):"if"!==e&&"label"!==e&&this.raise(this.state.start,wn.SloppyFunction)),this.parseFunctionStatement(r,!1,!e);case yn._class:return e&&this.unexpected(),this.parseClass(r,!0);case yn._if:return this.parseIfStatement(r);case yn._return:return this.parseReturnStatement(r);case yn._switch:return this.parseSwitchStatement(r);case yn._throw:return this.parseThrowStatement(r);case yn._try:return this.parseTryStatement(r);case yn._const:case yn._var:return i=i||this.state.value,e&&"var"!==i&&this.raise(this.state.start,wn.UnexpectedLexicalDeclaration),this.parseVarStatement(r,i);case yn._while:return this.parseWhileStatement(r);case yn._with:return this.parseWithStatement(r);case yn.braceL:return this.parseBlock();case yn.semi:return this.parseEmptyStatement(r);case yn._import:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case yn._export:{let e;return this.options.allowImportExportEverywhere||t||this.raise(this.state.start,wn.UnexpectedImportExport),this.next(),s===yn._import?(e=this.parseImport(r),"ImportDeclaration"!==e.type||e.importKind&&"value"!==e.importKind||(this.sawUnambiguousESM=!0)):(e=this.parseExport(r),("ExportNamedDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&("ExportAllDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&"ExportDefaultDeclaration"!==e.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(r),e}default:if(this.isAsyncFunction())return e&&this.raise(this.state.start,wn.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(r,!0,!e)}const a=this.state.value,n=this.parseExpression();return s===yn.name&&"Identifier"===n.type&&this.eat(yn.colon)?this.parseLabeledStatement(r,a,n,e):this.parseExpressionStatement(r,n)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(e.start,Sn.ImportOutsideModule)}takeDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];t.length&&(e.decorators=t,this.resetStartLocationFromNode(e,t[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(yn._class)}parseDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(yn.at);){const e=this.parseDecorator();t.push(e)}if(this.match(yn._export))e||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,wn.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,wn.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const t=this.state.start,s=this.state.startLoc;let r;if(this.eat(yn.parenL))r=this.parseExpression(),this.expect(yn.parenR);else for(r=this.parseIdentifier(!1);this.eat(yn.dot);){const e=this.startNodeAt(t,s);e.object=r,e.property=this.parseIdentifier(!0),e.computed=!1,r=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(r),this.state.decoratorStack.pop()}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e){if(this.eat(yn.parenL)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(yn.parenR,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}parseBreakContinueStatement(e,t){const s="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,s?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const s="break"===t;let r;for(r=0;rthis.parseStatement("do"))),this.state.labels.pop(),this.expect(yn._while),e.test=this.parseHeaderExpression(),this.eat(yn.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Wo);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(yn.parenL),this.match(yn.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const s=this.isContextual("let"),r=s&&this.isLetKeyword();if(this.match(yn._var)||this.match(yn._const)||r){const s=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,i),this.finishNode(s,"VariableDeclaration"),(this.match(yn._in)||this.isContextual("of"))&&1===s.declarations.length?this.parseForIn(e,s,t):(t>-1&&this.unexpected(t),this.parseFor(e,s))}const i=this.match(yn.name)&&!this.state.containsEsc,a=new Vo,n=this.parseExpression(!0,a),o=this.isContextual("of");if(o&&(s?this.raise(n.start,wn.ForOfLet):-1===t&&i&&"Identifier"===n.type&&"async"===n.name&&this.raise(n.start,wn.ForOfAsync)),o||this.match(yn._in)){this.toAssignable(n,!0);const s=o?"for-of statement":"for-in statement";return this.checkLVal(n,s),this.parseForIn(e,n,t)}return this.checkExpressionErrors(a,!0),t>-1&&this.unexpected(t),this.parseFor(e,n)}parseFunctionStatement(e,t,s){return this.next(),this.parseFunction(e,1|(s?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(yn._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,wn.IllegalReturn),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let s,r;for(this.expect(yn.braceL),this.state.labels.push(Go),this.scope.enter(0);!this.match(yn.braceR);)if(this.match(yn._case)||this.match(yn._default)){const e=this.match(yn._case);s&&this.finishNode(s,"SwitchCase"),t.push(s=this.startNode()),s.consequent=[],this.next(),e?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,wn.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(yn.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,wn.NewlineAfterThrow),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom(),t="Identifier"===e.type;return this.scope.enter(t?8:0),this.checkLVal(e,"catch clause",9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(yn._catch)){const t=this.startNode();this.next(),this.match(yn.parenL)?(this.expect(yn.parenL),t.param=this.parseCatchClauseParam(),this.expect(yn.parenR)):(t.param=null,this.scope.enter(0)),t.body=this.withTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(yn._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,wn.NoCatchOrFinally),this.finishNode(e,"TryStatement")}parseVarStatement(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Wo),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("while"))),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(this.state.start,wn.StrictWith),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("with"))),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,s,r){for(const e of this.state.labels)e.name===t&&this.raise(s.start,wn.LabelRedeclaration,t);const i=this.state.type.isLoop?"loop":this.match(yn._switch)?"switch":null;for(let t=this.state.labels.length-1;t>=0;t--){const s=this.state.labels[t];if(s.statementStart!==e.start)break;s.statementStart=this.state.start,s.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),e.label=s,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,s){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(yn.braceL),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,yn.braceR,s),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,s,r,i){const a=e.body=[],n=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?n:void 0,s,r,i)}parseBlockOrModuleBlockBody(e,t,s,r,i){const a=this.state.strict;let n=!1,o=!1;for(;!this.match(r);){const r=this.parseStatement(null,s);if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),n||"use strict"!==e.value.value||(n=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}i&&i.call(this,n),a||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(yn.semi)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(yn.parenR)?null:this.parseExpression(),this.expect(yn.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,s){const r=this.match(yn._in);return this.next(),r?s>-1&&this.unexpected(s):e.await=s>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||r&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type?"AssignmentPattern"===t.type&&this.raise(t.start,wn.InvalidLhs,"for-loop"):this.raise(t.start,wn.ForInOfLoopInitializer,r?"for-in":"for-of"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(yn.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,s){const r=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=s;;){const e=this.startNode();if(this.parseVarId(e,s),this.eat(yn.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(yn._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(yn._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,wn.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,wn.DeclarationMissingInitializer,"Const declarations"),e.init=null),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(yn.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"variable declaration","var"===t?5:9,void 0,"var"!==t)}parseFunction(e,t=0,s=!1){const r=1&t,i=2&t,a=!(!r||4&t);this.initFunction(e,s),this.match(yn.star)&&i&&this.raise(this.state.start,wn.GeneratorInSingleStatementContext),e.generator=this.eat(yn.star),r&&(e.id=this.parseFunctionId(a));const n=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(Eo(s,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(e,r?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=n,e}parseFunctionId(e){return e||this.match(yn.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(yn.parenL),this.expressionScope.enter(new _o(3)),e.params=this.parseBindingList(yn.parenR,41,!1,t),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:9:17,e.id.start)}parseClass(e,t,s){this.next(),this.takeDecorators(e);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,s),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(yn.eq)||this.match(yn.semi)||this.match(yn.braceR)}isClassMethod(){return this.match(yn.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const s={hadConstructor:!1,hadSuperClass:e};let r=[];const i=this.startNode();if(i.body=[],this.expect(yn.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(yn.braceR);){if(this.eat(yn.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,wn.DecoratorSemicolon);continue}if(this.match(yn.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,s),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,wn.DecoratorConstructor)}})),this.state.strict=t,this.next(),r.length)throw this.raise(this.state.start,wn.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=s,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(e,t,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(yn.braceL))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,s,r)}parseClassMemberWithIsStatic(e,t,s,r){const i=t,a=t,n=t,o=t,u=i,h=i;if(t.static=r,this.eat(yn.star)){u.kind="method";const t=this.match(yn.privateName);return this.parseClassElementName(u),t?void this.pushClassPrivateMethod(e,a,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,wn.ConstructorIsGenerator),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const c=this.state.containsEsc,p=this.match(yn.privateName),l=this.parseClassElementName(t),d="Identifier"===l.type,D=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(u.kind="method",p)return void this.pushClassPrivateMethod(e,a,!1,!1);const r=this.isNonstaticConstructor(i);let n=!1;r&&(i.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(l.start,wn.DuplicateConstructor),r&&this.hasPlugin("typescript")&&t.override&&this.raise(l.start,wn.OverrideOnConstructor),s.hadConstructor=!0,n=s.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,n)}else if(this.isClassProperty())p?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,n);else if(!d||"async"!==l.name||c||this.isLineTerminator())if(!d||"get"!==l.name&&"set"!==l.name||c||this.match(yn.star)&&this.isLineTerminator())this.isLineTerminator()?p?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,n):this.unexpected();else{u.kind=l.name;const t=this.match(yn.privateName);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,wn.ConstructorIsAccessor),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else{const t=this.eat(yn.star);h.optional&&this.unexpected(D),u.kind="method";const s=this.match(yn.privateName);this.parseClassElementName(u),this.parsePostMemberNameModifiers(h),s?this.pushClassPrivateMethod(e,a,t,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,wn.ConstructorIsAsync),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:s,start:r}=this.state;return t!==yn.name&&t!==yn.string||!e.static||"prototype"!==s||this.raise(r,wn.StaticPrototype),t===yn.privateName&&"constructor"===s&&this.raise(r,wn.ConstructorClassPrivateField),this.parsePropertyName(e,!0)}parseClassStaticBlock(e,t){var s;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const r=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,yn.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=r,e.body.push(this.finishNode(t,"StaticBlock")),null!=(s=t.decorators)&&s.length&&this.raise(t.start,wn.DecoratorStaticBlock)}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,wn.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const s=this.parseClassPrivateProperty(t);e.body.push(s),this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),0,s.key.start)}pushClassMethod(e,t,s,r,i,a){e.body.push(this.parseMethod(t,s,r,i,a,"ClassMethod",!0))}pushClassPrivateMethod(e,t,s,r){const i=this.parseMethod(t,s,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const a="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),a,i.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter($o()),this.prodParam.enter(0),e.value=this.eat(yn.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,s,r=139){this.match(yn.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",r)):s||!t?e.id=null:this.unexpected(null,wn.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(yn._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),s=!t||this.eat(yn.comma),r=s&&this.eatExportStar(e),i=r&&this.maybeParseExportNamespaceSpecifier(e),a=s&&(!i||this.eat(yn.comma)),n=t||r;if(r&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&s&&!r&&!o||i&&a&&!o)throw this.unexpected(null,yn.braceL);let u;if(n||o?(u=!1,this.parseExportFrom(e,n)):u=this.maybeParseExportDeclaration(e),n||o||u)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(yn._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,yn.braceL)}eatExportStar(e){return this.eat(yn.star)}maybeParseExportDefaultSpecifier(e){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const t=this.startNode();return t.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(t,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual("as")){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){return!!this.match(yn.braceL)&&(e.specifiers||(e.specifiers=[]),e.specifiers.push(...this.parseExportSpecifiers()),e.source=null,e.declaration=null,!0)}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const e=this.nextTokenStart();return!An.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(yn._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(yn._class))return this.parseClass(e,!0,!0);if(this.match(yn.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,wn.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(yn._const)||this.match(yn._var)||this.isLet())throw this.raise(this.state.start,wn.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(yn.name)){const e=this.state.value;if("async"===e&&!this.state.containsEsc||"let"===e)return!1;if(("type"===e||"interface"===e)&&!this.state.containsEsc){const e=this.lookahead();if(e.type===yn.name&&"from"!==e.value||e.type===yn.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(yn._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(yn.name)&&t)return!0;if(this.match(yn._default)&&t){const t=this.input.charCodeAt(this.nextTokenStartSince(e+4));return 34===t||39===t}return!1}parseExportFrom(e,t){if(this.eatContextual("from")){e.source=this.parseImportSource(),this.checkExport(e);const t=this.maybeParseImportAssertions();t&&(e.assertions=t)}else t?this.unexpected():e.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(yn.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,wn.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(e,t,s,r){if(t)if(s){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var i;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||null!=(i=t.extra)&&i.parenthesized||this.raise(t.start,wn.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(const t of e.specifiers){const{exported:e}=t,s="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,s),!r&&t.local){const{local:e}=t;"Identifier"!==e.type?this.raise(t.start,wn.ExportBindingIsString,e.value,s):(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type){const t=e.declaration.id;if(!t)throw new Error("Assertion failure");this.checkDuplicateExports(e,t.name)}else if("VariableDeclaration"===e.declaration.type)for(const t of e.declaration.declarations)this.checkDeclaration(t.id);if(this.state.decoratorStack[this.state.decoratorStack.length-1].length)throw this.raise(e.start,wn.UnsupportedDecoratorExport)}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&this.raise(e.start,"default"===t?wn.DuplicateDefaultExport:wn.DuplicateExport,t),this.exportedIdentifiers.add(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(yn.braceL);!this.eat(yn.braceR);){if(t)t=!1;else if(this.expect(yn.comma),this.eat(yn.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),e.push(this.finishNode(s,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(yn.string)){const e=this.parseStringLiteral(this.state.value),t=e.value.match(Ko);return t&&this.raise(e.start,wn.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(yn.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(yn.comma),s=t&&this.maybeParseStarImportSpecifier(e);t&&!s&&this.parseNamedImportSpecifiers(e),this.expectContextual("from")}e.source=this.parseImportSource();const t=this.maybeParseImportAssertions();if(t)e.assertions=t;else{const t=this.maybeParseModuleAttributes();t&&(e.attributes=t)}return this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(yn.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(yn.name)}parseImportSpecifierLocal(e,t,s,r){t.local=this.parseIdentifier(),this.checkLVal(t.local,r,9),e.specifiers.push(this.finishNode(t,s))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(yn.braceR))break;const s=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(this.state.start,wn.ModuleAttributesWithDuplicateKeys,r),t.add(r),this.match(yn.string)?s.key=this.parseStringLiteral(r):s.key=this.parseIdentifier(!0),this.expect(yn.colon),!this.match(yn.string))throw this.unexpected(this.state.start,wn.ModuleAttributeInvalidValue);s.value=this.parseStringLiteral(this.state.value),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(yn.comma));return e}maybeParseModuleAttributes(){if(!this.match(yn._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,wn.ModuleAttributeDifferentFromType,s.key.name),t.has(s.key.name)&&this.raise(s.key.start,wn.ModuleAttributesWithDuplicateKeys,s.key.name),t.add(s.key.name),this.expect(yn.colon),!this.match(yn.string))throw this.unexpected(this.state.start,wn.ModuleAttributeInvalidValue);s.value=this.parseStringLiteral(this.state.value),this.finishNode(s,"ImportAttribute"),e.push(s)}while(this.eat(yn.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(yn.braceL);const e=this.parseAssertEntries();return this.eat(yn.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(yn.star)){const t=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(yn.braceL);!this.eat(yn.braceR);){if(t)t=!1;else{if(this.eat(yn.colon))throw this.raise(this.state.start,wn.DestructureNamedImport);if(this.expect(yn.comma),this.eat(yn.braceR))break}this.parseImportSpecifier(e)}}parseImportSpecifier(e){const t=this.startNode(),s=this.match(yn.string);if(t.imported=this.parseModuleExportName(),this.eatContextual("as"))t.local=this.parseIdentifier();else{const{imported:e}=t;if(s)throw this.raise(t.start,wn.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,"import specifier",9),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}}{constructor(e,t){super(e=function(e){const t={};for(const s of Object.keys(Io))t[s]=e&&null!=e[s]?e[s]:Io[s];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const s of e){const[e,r]=Array.isArray(s)?s:[s,{}];t.has(e)||t.set(e,r||{})}return t}(this.options.plugins),this.filename=e.sourceFilename}getScopeHandler(){return Zn}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e}}function Yo(e,t){let s=Jo;return null!=e&&e.plugins&&(!function(e){if(Po(e,"decorators")){if(Po(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=To(e,"decorators","decoratorsBeforeExport");if(null==t)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(Po(e,"flow")&&Po(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Po(e,"placeholders")&&Po(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Po(e,"pipelineOperator")&&!wo.includes(To(e,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+wo.map((e=>`'${e}'`)).join(", "));if(Po(e,"moduleAttributes")){if(Po(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==To(e,"moduleAttributes","version"))throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Po(e,"recordAndTuple")&&!So.includes(To(e,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+So.map((e=>`'${e}'`)).join(", "));if(Po(e,"asyncDoExpressions")&&!Po(e,"doExpressions")){const e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}}(e.plugins),s=function(e){const t=No.filter((t=>Po(e,t))),s=t.join("/");let r=Qo[s];if(!r){r=Jo;for(const e of t)r=Bo[e](r);Qo[s]=r}return r}(e.plugins)),new s(e,t)}const Qo={};var Zo=function(e,t){var s;if("unambiguous"!==(null==(s=t)?void 0:s.sourceType))return Yo(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const s=Yo(t,e),r=s.parse();if(s.sawUnambiguousESM)return r;if(s.ambiguousScriptDifferentAst)try{return t.sourceType="script",Yo(t,e).parse()}catch(e){}else r.program.sourceType="script";return r}catch(s){try{return t.sourceType="script",Yo(t,e).parse()}catch(e){}throw s}},eu=function(e,t){const s=Yo(t,e);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()},tu=yn,su=Object.defineProperty({parse:Zo,parseExpression:eu,tokTypes:tu},"__esModule",{value:!0});const{isNonEmptyArray:ru}=Js;function iu(e={}){const{allowComments:t=!0}=e;return function(e){const{parseExpression:s}=su;let r;try{r=s(e,{tokens:!0,ranges:!0})}catch(e){throw ln(e)}if(!t&&ru(r.comments))throw au(r.comments[0],"Comment");return nu(r),r}}function au(e,t){const[s,r]=[e.loc.start,e.loc.end].map((({line:e,column:t})=>({line:e,column:t+1})));return Ys(`${t} is not allowed in JSON.`,{start:s,end:r})}function nu(e){switch(e.type){case"ArrayExpression":for(const t of e.elements)null!==t&&nu(t);return;case"ObjectExpression":for(const t of e.properties)nu(t);return;case"ObjectProperty":if(e.computed)throw au(e.key,"Computed key");if(e.shorthand)throw au(e.key,"Shorthand property");return"Identifier"!==e.key.type&&nu(e.key),void nu(e.value);case"UnaryExpression":{const{operator:t,argument:s}=e;if("+"!==t&&"-"!==t)throw au(e,`Operator '${e.operator}'`);if("NumericLiteral"===s.type||"Identifier"===s.type&&("Infinity"===s.name||"NaN"===s.name))return;throw au(s,`Operator '${t}' before '${s.type}'`)}case"Identifier":if("Infinity"!==e.name&&"NaN"!==e.name&&"undefined"!==e.name)throw au(e,`Identifier '${e.name}'`);return;case"TemplateLiteral":if(ru(e.expressions))throw au(e.expressions[0],"'TemplateLiteral' with expression");for(const t of e.quasis)nu(t);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw au(e,`'${e.type}'`)}}const ou=iu();var uu={json:pn({parse:ou,hasPragma:()=>!0}),json5:pn(ou),"json-stringify":pn({parse:iu({allowComments:!1}),astFormat:"estree-json"})};const{getNextNonSpaceNonCommentCharacterIndexWithStartIndex:hu,getShebang:cu}=Js,pu={sourceType:"module",allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","v8intrinsic","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"privateIn","importAssertions",["recordAndTuple",{syntaxType:"hash"}],"decimal","classStaticBlock","moduleBlocks","asyncDoExpressions"],tokens:!0,ranges:!0},lu=[["pipelineOperator",{proposal:"smart"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]],du=e=>Object.assign(Object.assign({},pu),{},{plugins:[...pu.plugins,...e]}),Du=/@(?:no)?flow\b/;function mu(e,...t){return(s,r,i={})=>{if(("babel"===i.parser||"__babel_estree"===i.parser)&&function(e,t){if(t.filepath&&t.filepath.endsWith(".js.flow"))return!0;const s=cu(e);s&&(e=e.slice(s.length));const r=hu(e,0);return!1!==r&&(e=e.slice(0,r)),Du.test(e)}(s,i))return i.parser="babel-flow",yu(s,r,i);let a=t;"script"===i.__babelSourceType&&(a=a.map((e=>Object.assign(Object.assign({},e),{},{sourceType:"script"})))),s.includes("|>")&&(a=lu.flatMap((e=>a.map((t=>Object.assign(Object.assign({},t),{},{plugins:[...t.plugins,e]}))))));const{result:n,error:o}=Ge(...a.map((t=>()=>function(e,t,s){const r=(0,su[e])(t,s),i=r.errors.find((e=>!xu.has(e.reasonCode)));if(i)throw i;return r}(e,s,t))));if(!n)throw ln(o);return la(n,Object.assign(Object.assign({},i),{},{originalText:s}))}}const fu=mu("parse",du(["jsx","flow"])),yu=mu("parse",du(["jsx",["flow",{all:!0,enums:!0}]])),Au=mu("parse",du(["jsx","typescript"]),du(["typescript"])),Eu=mu("parse",du(["jsx","flow","estree"])),Cu=mu("parseExpression",du(["jsx"])),xu=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","UnexpectedParameterModifier","MixedLabeledAndUnlabeledElements","InvalidTupleMemberLabel","NonClassMethodPropertyHasAbstractModifer","ReadonlyForMethodSignature","ClassMethodHasDeclare","ClassMethodHasReadonly","InvalidModifierOnTypeMember","DuplicateAccessibilityModifier","IndexSignatureHasDeclare","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","UnsupportedPropertyDecorator","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","DeclareFunctionHasImplementation","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport"]),Fu=pn(fu),gu=pn(Cu);var bu={parsers:Object.assign(Object.assign({babel:Fu,"babel-flow":pn(yu),"babel-ts":pn(Au)},uu),{},{__js_expression:gu,__vue_expression:gu,__vue_event_binding:Fu,__babel_estree:pn(Eu)})};export default bu; diff --git a/node_modules/prettier/esm/parser-espree.mjs b/node_modules/prettier/esm/parser-espree.mjs new file mode 100644 index 000000000..10389f19f --- /dev/null +++ b/node_modules/prettier/esm/parser-espree.mjs @@ -0,0 +1,22 @@ +var e=function(e,t){const u=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return u.loc=t,u};var t=function(...e){let t;for(const[u,i]of e.entries())try{return{result:i()}}catch(e){0===u&&(t=e)}return{error:t}},u=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const i=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var r=i,n=i;r.default=n;const s=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=u(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let u=0;u=127&&i<=159||(i>=768&&i<=879||(i>65535&&u++,t+=r(i)?2:1))}return t};var a=s,o=s;a.default=o;var c=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var p=e=>e[e.length-1];function D(e,t){if(null==e)return{};var u,i,r=function(e,t){if(null==e)return{};var u,i,r={},n=Object.keys(e);for(i=0;i=0||(r[u]=e[u]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,u)&&(r[u]=e[u])}return r}var h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function d(e){var t={exports:{}};return e(t,t.exports),t.exports}var f=function(e){return e&&e.Math==Math&&e},E=f("object"==typeof globalThis&&globalThis)||f("object"==typeof window&&window)||f("object"==typeof self&&self)||f("object"==typeof h&&h)||function(){return this}()||Function("return this")(),C=function(e){try{return!!e()}catch(e){return!0}},m=!C((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),A={}.propertyIsEnumerable,F=Object.getOwnPropertyDescriptor,g={f:F&&!A.call({1:2},1)?function(e){var t=F(this,e);return!!t&&t.enumerable}:A},y=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},x={}.toString,B=function(e){return x.call(e).slice(8,-1)},v="".split,S=C((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==B(e)?v.call(e,""):Object(e)}:Object,b=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},T=function(e){return S(b(e))},w=function(e){return"object"==typeof e?null!==e:"function"==typeof e},_=function(e,t){if(!w(e))return e;var u,i;if(t&&"function"==typeof(u=e.toString)&&!w(i=u.call(e)))return i;if("function"==typeof(u=e.valueOf)&&!w(i=u.call(e)))return i;if(!t&&"function"==typeof(u=e.toString)&&!w(i=u.call(e)))return i;throw TypeError("Can't convert object to primitive value")},I=function(e){return Object(b(e))},k={}.hasOwnProperty,N=Object.hasOwn||function(e,t){return k.call(I(e),t)},L=E.document,P=w(L)&&w(L.createElement),O=!m&&!C((function(){return 7!=Object.defineProperty((e="div",P?L.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),R=Object.getOwnPropertyDescriptor,j={f:m?R:function(e,t){if(e=T(e),t=_(t,!0),O)try{return R(e,t)}catch(e){}if(N(e,t))return y(!g.f.call(e,t),e[t])}},M=function(e){if(!w(e))throw TypeError(String(e)+" is not an object");return e},V=Object.defineProperty,U={f:m?V:function(e,t,u){if(M(e),t=_(t,!0),M(u),O)try{return V(e,t,u)}catch(e){}if("get"in u||"set"in u)throw TypeError("Accessors not supported");return"value"in u&&(e[t]=u.value),e}},$=m?function(e,t,u){return U.f(e,t,y(1,u))}:function(e,t,u){return e[t]=u,e},G=function(e,t){try{$(E,e,t)}catch(u){E[e]=t}return t},X=E["__core-js_shared__"]||G("__core-js_shared__",{}),q=Function.toString;"function"!=typeof X.inspectSource&&(X.inspectSource=function(e){return q.call(e)});var W,H,J,z,K=X.inspectSource,Q=E.WeakMap,Y="function"==typeof Q&&/native code/.test(K(Q)),Z=d((function(e){(e.exports=function(e,t){return X[e]||(X[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),ee=0,te=Math.random(),ue=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++ee+te).toString(36)},ie=Z("keys"),re={},ne=E.WeakMap;if(Y||X.state){var se=X.state||(X.state=new ne),ae=se.get,oe=se.has,ce=se.set;W=function(e,t){if(oe.call(se,e))throw new TypeError("Object already initialized");return t.facade=e,ce.call(se,e,t),t},H=function(e){return ae.call(se,e)||{}},J=function(e){return oe.call(se,e)}}else{var pe=ie[z="state"]||(ie[z]=ue(z));re[pe]=!0,W=function(e,t){if(N(e,pe))throw new TypeError("Object already initialized");return t.facade=e,$(e,pe,t),t},H=function(e){return N(e,pe)?e[pe]:{}},J=function(e){return N(e,pe)}}var De,he,le={set:W,get:H,has:J,enforce:function(e){return J(e)?H(e):W(e,{})},getterFor:function(e){return function(t){var u;if(!w(t)||(u=H(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return u}}},de=d((function(e){var t=le.get,u=le.enforce,i=String(String).split("String");(e.exports=function(e,t,r,n){var s,a=!!n&&!!n.unsafe,o=!!n&&!!n.enumerable,c=!!n&&!!n.noTargetGet;"function"==typeof r&&("string"!=typeof t||N(r,"name")||$(r,"name",t),(s=u(r)).source||(s.source=i.join("string"==typeof t?t:""))),e!==E?(a?!c&&e[t]&&(o=!0):delete e[t],o?e[t]=r:$(e,t,r)):o?e[t]=r:G(t,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||K(this)}))})),fe=E,Ee=function(e){return"function"==typeof e?e:void 0},Ce=function(e,t){return arguments.length<2?Ee(fe[e])||Ee(E[e]):fe[e]&&fe[e][t]||E[e]&&E[e][t]},me=Math.ceil,Ae=Math.floor,Fe=function(e){return isNaN(e=+e)?0:(e>0?Ae:me)(e)},ge=Math.min,ye=function(e){return e>0?ge(Fe(e),9007199254740991):0},xe=Math.max,Be=Math.min,ve=function(e){return function(t,u,i){var r,n=T(t),s=ye(n.length),a=function(e,t){var u=Fe(e);return u<0?xe(u+t,0):Be(u,t)}(i,s);if(e&&u!=u){for(;s>a;)if((r=n[a++])!=r)return!0}else for(;s>a;a++)if((e||a in n)&&n[a]===u)return e||a||0;return!e&&-1}},Se={includes:ve(!0),indexOf:ve(!1)}.indexOf,be=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Te={f:Object.getOwnPropertyNames||function(e){return function(e,t){var u,i=T(e),r=0,n=[];for(u in i)!N(re,u)&&N(i,u)&&n.push(u);for(;t.length>r;)N(i,u=t[r++])&&(~Se(n,u)||n.push(u));return n}(e,be)}},we={f:Object.getOwnPropertySymbols},_e=Ce("Reflect","ownKeys")||function(e){var t=Te.f(M(e)),u=we.f;return u?t.concat(u(e)):t},Ie=function(e,t){for(var u=_e(t),i=U.f,r=j.f,n=0;n0&&Ue(o))c=Xe(e,t,o,ye(o.length),c,n-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[c]=o}c++}p++}return c},qe=Xe,We=Ce("navigator","userAgent")||"",He=E.process,Je=He&&He.versions,ze=Je&&Je.v8;ze?he=(De=ze.split("."))[0]<4?1:De[0]+De[1]:We&&(!(De=We.match(/Edge\/(\d+)/))||De[1]>=74)&&(De=We.match(/Chrome\/(\d+)/))&&(he=De[1]);var Ke=he&&+he,Qe=!!Object.getOwnPropertySymbols&&!C((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ke&&Ke<41})),Ye=Qe&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ze=Z("wks"),et=E.Symbol,tt=Ye?et:et&&et.withoutSetter||ue,ut=function(e){return N(Ze,e)&&(Qe||"string"==typeof Ze[e])||(Qe&&N(et,e)?Ze[e]=et[e]:Ze[e]=tt("Symbol."+e)),Ze[e]},it=ut("species"),rt=function(e,t){var u;return Ue(e)&&("function"!=typeof(u=e.constructor)||u!==Array&&!Ue(u.prototype)?w(u)&&null===(u=u[it])&&(u=void 0):u=void 0),new(void 0===u?Array:u)(0===t?0:t)};Ve({target:"Array",proto:!0},{flatMap:function(e){var t,u=I(this),i=ye(u.length);return $e(e),(t=rt(u,0)).length=qe(t,u,u,i,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var nt,st,at=Math.floor,ot=function(e,t){var u=e.length,i=at(u/2);return u<8?ct(e,t):pt(ot(e.slice(0,i),t),ot(e.slice(i),t),t)},ct=function(e,t){for(var u,i,r=e.length,n=1;n0;)e[i]=e[--i];i!==n++&&(e[i]=u)}return e},pt=function(e,t,u){for(var i=e.length,r=t.length,n=0,s=0,a=[];n3)){if(dt)return!0;if(Et)return Et<603;var e,t,u,i,r="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:u=3;break;case 68:case 71:u=4;break;default:u=2}for(i=0;i<47;i++)Ct.push({k:t+i,v:u})}for(Ct.sort((function(e,t){return t.v-e.v})),i=0;iString(u)?1:-1}}(e))).length,i=0;in;n++)if((a=C(e[n]))&&a instanceof Nt)return a;return new Nt(!1)}i=r.call(e)}for(o=i.next;!(c=o.call(i)).done;){try{a=C(c.value)}catch(e){throw kt(i),e}if("object"==typeof a&&a&&a instanceof Nt)return a}return new Nt(!1)};Ve({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Lt(e,(function(e,u){!function(e,t,u){var i=_(t);i in e?U.f(e,i,y(0,u)):e[i]=u}(t,e,u)}),{AS_ENTRIES:!0}),t}});var Pt=void 0!==Pt?Pt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Ot(){throw new Error("setTimeout has not been defined")}function Rt(){throw new Error("clearTimeout has not been defined")}var jt=Ot,Mt=Rt;function Vt(e){if(jt===setTimeout)return setTimeout(e,0);if((jt===Ot||!jt)&&setTimeout)return jt=setTimeout,setTimeout(e,0);try{return jt(e,0)}catch(t){try{return jt.call(null,e,0)}catch(t){return jt.call(this,e,0)}}}"function"==typeof Pt.setTimeout&&(jt=setTimeout),"function"==typeof Pt.clearTimeout&&(Mt=clearTimeout);var Ut,$t=[],Gt=!1,Xt=-1;function qt(){Gt&&Ut&&(Gt=!1,Ut.length?$t=Ut.concat($t):Xt=-1,$t.length&&Wt())}function Wt(){if(!Gt){var e=Vt(qt);Gt=!0;for(var t=$t.length;t;){for(Ut=$t,$t=[];++Xt1)for(var u=1;uconsole.error("SEMVER",...e):()=>{};var au={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ou=d((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:u}=au,i=(t=e.exports={}).re=[],r=t.src=[],n=t.t={};let s=0;const a=(e,t,u)=>{const a=s++;su(a,t),n[e]=a,r[a]=t,i[a]=new RegExp(t,u?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${r[n.NUMERICIDENTIFIER]})\\.(${r[n.NUMERICIDENTIFIER]})\\.(${r[n.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${r[n.NUMERICIDENTIFIERLOOSE]})\\.(${r[n.NUMERICIDENTIFIERLOOSE]})\\.(${r[n.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${r[n.NUMERICIDENTIFIER]}|${r[n.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${r[n.NUMERICIDENTIFIERLOOSE]}|${r[n.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${r[n.PRERELEASEIDENTIFIER]}(?:\\.${r[n.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${r[n.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${r[n.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${r[n.BUILDIDENTIFIER]}(?:\\.${r[n.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${r[n.MAINVERSION]}${r[n.PRERELEASE]}?${r[n.BUILD]}?`),a("FULL",`^${r[n.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${r[n.MAINVERSIONLOOSE]}${r[n.PRERELEASELOOSE]}?${r[n.BUILD]}?`),a("LOOSE",`^${r[n.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${r[n.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${r[n.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${r[n.XRANGEIDENTIFIER]})(?:\\.(${r[n.XRANGEIDENTIFIER]})(?:\\.(${r[n.XRANGEIDENTIFIER]})(?:${r[n.PRERELEASE]})?${r[n.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${r[n.XRANGEIDENTIFIERLOOSE]})(?:\\.(${r[n.XRANGEIDENTIFIERLOOSE]})(?:\\.(${r[n.XRANGEIDENTIFIERLOOSE]})(?:${r[n.PRERELEASELOOSE]})?${r[n.BUILD]}?)?)?`),a("XRANGE",`^${r[n.GTLT]}\\s*${r[n.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${r[n.GTLT]}\\s*${r[n.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),a("COERCERTL",r[n.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${r[n.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",a("TILDE",`^${r[n.LONETILDE]}${r[n.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${r[n.LONETILDE]}${r[n.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${r[n.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",a("CARET",`^${r[n.LONECARET]}${r[n.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${r[n.LONECARET]}${r[n.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${r[n.GTLT]}\\s*(${r[n.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${r[n.GTLT]}\\s*(${r[n.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${r[n.GTLT]}\\s*(${r[n.LOOSEPLAIN]}|${r[n.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${r[n.XRANGEPLAIN]})\\s+-\\s+(${r[n.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${r[n.XRANGEPLAINLOOSE]})\\s+-\\s+(${r[n.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const cu=["includePrerelease","loose","rtl"];var pu=e=>e?"object"!=typeof e?{loose:!0}:cu.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const Du=/^[0-9]+$/,hu=(e,t)=>{const u=Du.test(e),i=Du.test(t);return u&&i&&(e=+e,t=+t),e===t?0:u&&!i?-1:i&&!u?1:ehu(t,e)};const{MAX_LENGTH:du,MAX_SAFE_INTEGER:fu}=au,{re:Eu,t:Cu}=ou,{compareIdentifiers:mu}=lu;class Au{constructor(e,t){if(t=pu(t),e instanceof Au){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>du)throw new TypeError(`version is longer than ${du} characters`);su("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const u=e.trim().match(t.loose?Eu[Cu.LOOSE]:Eu[Cu.FULL]);if(!u)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>fu||this.major<0)throw new TypeError("Invalid major version");if(this.minor>fu||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>fu||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var Fu=Au;var gu=(e,t,u)=>new Fu(e,u).compare(new Fu(t,u));var yu=(e,t,u)=>gu(e,t,u)<0;var xu=(e,t,u)=>gu(e,t,u)>=0,Bu="2.3.2",vu=d((function(e,t){function u(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Su` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Su` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Su` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Su` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Tu=["cliName","cliCategory","cliDescription"],wu={compare:gu,lt:yu,gte:xu},_u=Bu,Iu={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:bu}.options;var ku={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:u=!1,showInternal:i=!1}={}){const r=_u.split("-",1)[0],n=e.flatMap((e=>e.languages||[])).filter(c),s=(a=Object.assign({},...e.map((({options:e})=>e)),Iu),o="name",Object.entries(a).map((([e,t])=>Object.assign({[o]:e},t)))).filter((e=>c(e)&&p(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(c).sort(((e,t)=>wu.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>c(e)&&p(e))),"parser"===t.name&&function(e,t,u){const i=new Set(e.choices.map((e=>e.value)));for(const r of t)if(r.parsers)for(const t of r.parsers)if(!i.has(t)){i.add(t);const n=u.find((e=>e.parsers&&e.parsers[t]));let s=r.name;n&&n.name&&(s+=` (plugin: ${n.name})`),e.choices.push({value:t,description:s})}}(t,n,e));const u=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:u})}));var a,o;return{languages:n,options:s};function c(e){return t||!("since"in e)||e.since&&wu.gte(r,e.since)}function p(e){return u||!("deprecated"in e)||e.deprecated&&wu.lt(r,e.deprecated)}}};const{getSupportInfo:Nu}=ku,Lu=/[^\x20-\x7F]/;function Pu(e){return(t,u,i)=>{const r=i&&i.backwards;if(!1===u)return!1;const{length:n}=t;let s=u;for(;s>=0&&s(u.match(s.regex)||[]).length?s.quote:n.quote}return a}function zu(e,t,u){const i='"'===t?"'":'"',r=e.replace(/\\(.)|(["'])/gs,((e,r,n)=>r===i?r:n===t?"\\"+n:n||(u&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(r)?r:"\\"+r)));return t+r+t}function Ku(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let u=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");u.length>20&&(u=u.slice(0,19)+"\u2026");return t+(u?" "+u:"")}(e)}var Qu={inferParserByLanguage:function(e,t){const{languages:u}=Nu({plugins:t.plugins}),i=u.find((({name:t})=>t.toLowerCase()===e))||u.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||u.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return i&&i.parsers[0]},getStringWidth:function(e){return e?Lu.test(e)?a(e):e.length:0},getMaxContinuousCount:function(e,t){const u=e.match(new RegExp(`(${c(t)})+`,"g"));return null===u?0:u.reduce(((e,u)=>Math.max(e,u.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const u=e.match(new RegExp(`(${c(t)})+`,"g"));if(null===u)return 0;const i=new Map;let r=0;for(const e of u){const u=e.length/t.length;i.set(u,!0),u>r&&(r=u)}for(let e=1;ee[e.length-2],getLast:p,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:qu,getNextNonSpaceNonCommentCharacterIndex:Wu,getNextNonSpaceNonCommentCharacter:function(e,t,u){return e.charAt(Wu(e,t,u))},skip:Pu,skipWhitespace:Ou,skipSpaces:Ru,skipToLineEnd:ju,skipEverythingButNewLine:Mu,skipInlineComment:Vu,skipTrailingComment:Uu,skipNewline:$u,isNextLineEmptyAfterIndex:Xu,isNextLineEmpty:function(e,t,u){return Xu(e,u(t))},isPreviousLineEmpty:function(e,t,u){let i=u(t)-1;return i=Ru(e,i,{backwards:!0}),i=$u(e,i,{backwards:!0}),i=Ru(e,i,{backwards:!0}),i!==$u(e,i,{backwards:!0})},hasNewline:Gu,hasNewlineInRange:function(e,t,u){for(let i=t;i0},createGroupIdMapper:function(e){const t=new WeakMap;return function(u){return t.has(u)||t.set(u,Symbol(e)),t.get(u)}}};const{isNonEmptyArray:Yu}=Qu;function Zu(e,t){const{ignoreDecorators:u}=t||{};if(!u){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Yu(t))return Zu(t[0])}return e.range?e.range[0]:e.start}function ei(e){return e.range?e.range[1]:e.end}function ti(e,t){return Zu(e)===Zu(t)}var ui={locStart:Zu,locEnd:ei,hasSameLocStart:ti,hasSameLoc:function(e,t){return ti(e,t)&&function(e,t){return ei(e)===ei(t)}(e,t)}},ii=d((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function u(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=u(t)}while(t);return!1},trailingStatement:u}}()})),ri=d((function(e){!function(){var t,u,i,r,n,s;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},i=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(n=new Array(128),s=0;s<128;++s)n[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&i.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?r[e]:u.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?n[e]:u.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?r[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?n[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()})),ni=d((function(e){!function(){var t=ri;function u(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function r(e,t){return"null"===e||"true"===e||"false"===e||u(e,t)}function n(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function s(e){var u,i,r;if(0===e.length)return!1;if(r=e.charCodeAt(0),!t.isIdentifierStartES5(r))return!1;for(u=1,i=e.length;u=i)return!1;if(!(56320<=(n=e.charCodeAt(u))&&n<=57343))return!1;r=1024*(r-55296)+(n-56320)+65536}if(!s(r))return!1;s=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:u,isKeywordES6:i,isReservedWordES5:r,isReservedWordES6:n,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:s,isIdentifierNameES6:a,isIdentifierES5:function(e,t){return s(e)&&!r(e,t)},isIdentifierES6:function(e,t){return a(e)&&!n(e,t)}}}()}));const si=d((function(e,t){t.ast=ii,t.code=ri,t.keyword=ni})).keyword.isIdentifierNameES5,{getLast:ai,hasNewline:oi,skipWhitespace:ci,isNonEmptyArray:pi,isNextLineEmptyAfterIndex:Di}=Qu,{locStart:hi,locEnd:li,hasSameLocStart:di}=ui,fi=new RegExp("^(?:(?=.)\\s)*:"),Ei=new RegExp("^(?:(?=.)\\s)*::");function Ci(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function mi(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const Ai=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Fi(e){return e&&Ai.has(e.type)}function gi(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function yi(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function xi(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Bi(e){return Ii(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function vi(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Si(e){return"get"===e.kind||"set"===e.kind}function bi(e){return Si(e)||di(e,e.value)}const Ti=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const wi=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const _i=/^(skip|[fx]?(it|describe|test))$/;function Ii(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function ki(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function Ni(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Li(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Pi(e){return e.extra?e.extra.raw:e.raw}const Oi={"==":!0,"!=":!0,"===":!0,"!==":!0},Ri={"*":!0,"/":!0,"%":!0},ji={">>":!0,">>>":!0,"<<":!0};const Mi={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const u of t)Mi[u]=e;function Vi(e){return Mi[e]}const Ui=new WeakMap;function $i(e){if(Ui.has(e))return Ui.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),Ui.set(e,t),t}const Gi=new WeakMap;function Xi(e){if(Gi.has(e))return Gi.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),Gi.set(e,t),t}function qi(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function Wi(e){return e&&(e.prettierIgnore||zi(e,Hi.PrettierIgnore))}const Hi={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Ji=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(u,i,r)=>!(e&Hi.Leading&&!u.leading||e&Hi.Trailing&&!u.trailing||e&Hi.Dangling&&(u.leading||u.trailing)||e&Hi.Block&&!Ci(u)||e&Hi.Line&&!mi(u)||e&Hi.First&&0!==i||e&Hi.Last&&i!==r.length-1||e&Hi.PrettierIgnore&&!qi(u)||t&&!t(u))};function zi(e,t,u){if(!e||!pi(e.comments))return!1;const i=Ji(t,u);return!i||e.comments.some(i)}function Ki(e,t,u){if(!e||!Array.isArray(e.comments))return[];const i=Ji(t,u);return i?e.comments.filter(i):e.comments}function Qi(e){return Ii(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Yi={getFunctionParameters:$i,iterateFunctionParametersPath:function(e,t){const u=e.getValue();let i=0;const r=e=>t(e,i++);u.this&&e.call(r,"this"),Array.isArray(u.parameters)?e.each(r,"parameters"):Array.isArray(u.params)&&e.each(r,"params"),u.rest&&e.call(r,"rest")},getCallArguments:Xi,iterateCallArgumentsPath:function(e,t){const u=e.getValue();"ImportExpression"===u.type?(e.call((e=>t(e,0)),"source"),u.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=$i(e);return t.length>0&&"RestElement"===ai(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&Fi(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return e&&Ci(e[0])&&Ei.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&pi(e.trailingComments)&&Ci(e.trailingComments[0])&&fi.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return vi(t)?Wi(t):zi(t,Hi.Leading,(t=>oi(e,li(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||Ii(e)||ki(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,u){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,u)));const i=u(t);return"boolean"==typeof i?i:Object.values(t).some((t=>e(t,u)))},hasIgnoreComment:function(e){return Wi(e.getValue())},hasNodeIgnoreComment:Wi,identity:function(e){return e},isBinaryish:function(e){return Ti.has(e.type)},isBlockComment:Ci,isCallLikeExpression:Qi,isLineComment:mi,isPrettierIgnoreComment:qi,isCallExpression:Ii,isMemberExpression:ki,isExportDeclaration:Fi,isFlowAnnotationComment:function(e,t){const u=hi(t),i=ci(e,li(t));return!1!==i&&"/*"===e.slice(u,u+2)&&"*/"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const u of e)if(xi(u)){if(t+=1,t>1)return!0}else if(Ii(u))for(const e of u.arguments)if(xi(e))return!0;return!1},isFunctionNotation:bi,isFunctionOrArrowExpression:xi,isGetterOrSetter:Si,isJestEachTemplateLiteral:function(e,t){const u=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&u.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&u.test(t.tag.object.object.name))},isJsxNode:vi,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),u=e.getParentNode();return Ii(t)&&Ii(u)&&u.callee===t&&t.arguments.length>u.arguments.length&&u.arguments.length>0},isSimpleCallArgument:function e(t,u){if(u>=2)return!1;const i=t=>e(t,u+1),r="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(r&&r.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(i):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&i(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||i(e))):Qi(t)?("ImportExpression"===t.type||e(t.callee,u))&&Xi(t).every(i):ki(t)?e(t.object,u)&&e(t.property,u):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,u):e(t.argument,u)))},isMemberish:function(e){return ki(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:gi,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&gi(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||bi(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!wi.has(e.type))},isSimpleNumber:Ni,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const u=e[t];return 0!==u.length&&u.every((e=>{if(zi(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(ki(e)){let t=e;for(;ki(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,zi(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:yi,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&yi(e.key)&&Pi(e.key).slice(1,-1)===e.key.value&&(si(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||Ni(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&Li(e)||"TaggedTemplateExpression"===e.type&&Li(e.quasi))&&!oi(t,hi(e),{backwards:!0})},isTestCall:function e(t,u){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(Bi(t)&&u&&e(u))return xi(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return Bi(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&_i.test(t.callee.name)||function(e){return ki(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&_i.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||yi(t.arguments[0])))return!(t.arguments[2]&&!gi(t.arguments[2]))&&((2===t.arguments.length?xi(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&$i(t.arguments[1]).length<=1)||Bi(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const u=t.getNode();if(!u.expression||!vi(u.expression))return!1;const i=t.getParentNode();return"Program"===i.type&&1===i.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||di(e,e.typeAnnotation))},isNextLineEmpty:(e,{originalText:t})=>Di(t,li(e)),needsHardlineAfterDanglingComment:function(e){if(!zi(e))return!1;const t=ai(Ki(e,Hi.Dangling));return t&&!Ci(t)},rawText:Pi,shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(ji[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Vi(t)===Vi(e)&&("**"!==e&&((!Oi[e]||!Oi[t])&&(!("%"===t&&Ri[e]||"%"===e&&Ri[t])&&((t===e||!Ri[t]||!Ri[e])&&(!ji[e]||!ji[t])))))},startsWithNoLookaheadToken:function e(t,u){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return u;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,u);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,u);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,u);case"ConditionalExpression":return e(t.test,u);case"UpdateExpression":return!t.prefix&&e(t.argument,u);case"BindExpression":return t.object&&e(t.object,u);case"SequenceExpression":return e(t.expressions[0],u);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,u);default:return!1}},getPrecedence:Vi,hasComment:zi,getComments:Ki,CommentCheckFlags:Hi};const{getLast:Zi,hasNewline:er,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:tr,getNextNonSpaceNonCommentCharacter:ur,hasNewlineInRange:ir,addLeadingComment:rr,addTrailingComment:nr,addDanglingComment:sr,getNextNonSpaceNonCommentCharacterIndex:ar,isNonEmptyArray:or}=Qu,{isBlockComment:cr,getFunctionParameters:pr,isPrettierIgnoreComment:Dr,isJsxNode:hr,hasFlowShorthandAnnotationComment:lr,hasFlowAnnotationComment:dr,hasIgnoreComment:fr,isCallLikeExpression:Er,getCallArguments:Cr,isCallExpression:mr,isMemberExpression:Ar,isObjectProperty:Fr}=Yi,{locStart:gr,locEnd:yr}=ui;function xr(e,t){const u=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));u?rr(u,t):sr(e,t)}function Br(e,t){"BlockStatement"===e.type?xr(e,t):rr(e,t)}function vr({comment:e,followingNode:t}){return!(!t||!en(e))&&(rr(t,e),!0)}function Sr({comment:e,precedingNode:t,enclosingNode:u,followingNode:i,text:r}){if(!u||"IfStatement"!==u.type||!i)return!1;return")"===ur(r,e,yr)?(nr(t,e),!0):t===u.consequent&&i===u.alternate?("BlockStatement"===t.type?nr(t,e):sr(u,e),!0):"BlockStatement"===i.type?(xr(i,e),!0):"IfStatement"===i.type?(Br(i.consequent,e),!0):u.consequent===i&&(rr(i,e),!0)}function br({comment:e,precedingNode:t,enclosingNode:u,followingNode:i,text:r}){if(!u||"WhileStatement"!==u.type||!i)return!1;return")"===ur(r,e,yr)?(nr(t,e),!0):"BlockStatement"===i.type?(xr(i,e),!0):u.body===i&&(rr(i,e),!0)}function Tr({comment:e,precedingNode:t,enclosingNode:u,followingNode:i}){return!(!u||"TryStatement"!==u.type&&"CatchClause"!==u.type||!i)&&("CatchClause"===u.type&&t?(nr(t,e),!0):"BlockStatement"===i.type?(xr(i,e),!0):"TryStatement"===i.type?(Br(i.finalizer,e),!0):"CatchClause"===i.type&&(Br(i.body,e),!0))}function wr({comment:e,enclosingNode:t,followingNode:u}){return!(!Ar(t)||!u||"Identifier"!==u.type)&&(rr(t,e),!0)}function _r({comment:e,precedingNode:t,enclosingNode:u,followingNode:i,text:r}){const n=t&&!ir(r,yr(t),gr(e));return!(t&&n||!u||"ConditionalExpression"!==u.type&&"TSConditionalType"!==u.type||!i)&&(rr(i,e),!0)}function Ir({comment:e,precedingNode:t,enclosingNode:u}){return!(!Fr(u)||!u.shorthand||u.key!==t||"AssignmentPattern"!==u.value.type)&&(nr(u.value.left,e),!0)}function kr({comment:e,precedingNode:t,enclosingNode:u,followingNode:i}){if(u&&("ClassDeclaration"===u.type||"ClassExpression"===u.type||"DeclareClass"===u.type||"DeclareInterface"===u.type||"InterfaceDeclaration"===u.type||"TSInterfaceDeclaration"===u.type)){if(or(u.decorators)&&(!i||"Decorator"!==i.type))return nr(Zi(u.decorators),e),!0;if(u.body&&i===u.body)return xr(u.body,e),!0;if(i)for(const r of["implements","extends","mixins"])if(u[r]&&i===u[r][0])return!t||t!==u.id&&t!==u.typeParameters&&t!==u.superClass?sr(u,e,r):nr(t,e),!0}return!1}function Nr({comment:e,precedingNode:t,enclosingNode:u,text:i}){return(u&&t&&("Property"===u.type||"TSDeclareMethod"===u.type||"TSAbstractMethodDefinition"===u.type)&&"Identifier"===t.type&&u.key===t&&":"!==ur(i,t,yr)||!(!t||!u||"Decorator"!==t.type||"ClassMethod"!==u.type&&"ClassProperty"!==u.type&&"PropertyDefinition"!==u.type&&"TSAbstractClassProperty"!==u.type&&"TSAbstractMethodDefinition"!==u.type&&"TSDeclareMethod"!==u.type&&"MethodDefinition"!==u.type))&&(nr(t,e),!0)}function Lr({comment:e,precedingNode:t,enclosingNode:u,text:i}){return"("===ur(i,e,yr)&&(!(!t||!u||"FunctionDeclaration"!==u.type&&"FunctionExpression"!==u.type&&"ClassMethod"!==u.type&&"MethodDefinition"!==u.type&&"ObjectMethod"!==u.type)&&(nr(t,e),!0))}function Pr({comment:e,enclosingNode:t,text:u}){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const i=ar(u,e,yr);return!1!==i&&"=>"===u.slice(i,i+2)&&(sr(t,e),!0)}function Or({comment:e,enclosingNode:t,text:u}){return")"===ur(u,e,yr)&&(t&&(Zr(t)&&0===pr(t).length||Er(t)&&0===Cr(t).length)?(sr(t,e),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==pr(t.value).length)&&(sr(t.value,e),!0))}function Rr({comment:e,precedingNode:t,enclosingNode:u,followingNode:i,text:r}){if(t&&"FunctionTypeParam"===t.type&&u&&"FunctionTypeAnnotation"===u.type&&i&&"FunctionTypeParam"!==i.type)return nr(t,e),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&u&&Zr(u)&&")"===ur(r,e,yr))return nr(t,e),!0;if(u&&"FunctionDeclaration"===u.type&&i&&"BlockStatement"===i.type){const t=(()=>{const e=pr(u);if(e.length>0)return tr(r,yr(Zi(e)));const t=tr(r,yr(u.id));return!1!==t&&tr(r,t+1)})();if(gr(e)>t)return xr(i,e),!0}return!1}function jr({comment:e,enclosingNode:t}){return!(!t||"ImportSpecifier"!==t.type)&&(rr(t,e),!0)}function Mr({comment:e,enclosingNode:t}){return!(!t||"LabeledStatement"!==t.type)&&(rr(t,e),!0)}function Vr({comment:e,enclosingNode:t}){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(nr(t,e),!0)}function Ur({comment:e,precedingNode:t,enclosingNode:u}){return!!(mr(u)&&t&&u.callee===t&&u.arguments.length>0)&&(rr(u.arguments[0],e),!0)}function $r({comment:e,precedingNode:t,enclosingNode:u,followingNode:i}){return!u||"UnionTypeAnnotation"!==u.type&&"TSUnionType"!==u.type?(i&&("UnionTypeAnnotation"===i.type||"TSUnionType"===i.type)&&Dr(e)&&(i.types[0].prettierIgnore=!0,e.unignore=!0),!1):(Dr(e)&&(i.prettierIgnore=!0,e.unignore=!0),!!t&&(nr(t,e),!0))}function Gr({comment:e,enclosingNode:t}){return!!Fr(t)&&(rr(t,e),!0)}function Xr({comment:e,enclosingNode:t,followingNode:u,ast:i,isLastComment:r}){return i&&i.body&&0===i.body.length?(r?sr(i,e):rr(i,e),!0):t&&"Program"===t.type&&0===t.body.length&&!or(t.directives)?(r?sr(t,e):rr(t,e),!0):!(!u||"Program"!==u.type||0!==u.body.length||!t||"ModuleExpression"!==t.type)&&(sr(u,e),!0)}function qr({comment:e,enclosingNode:t}){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(rr(t,e),!0)}function Wr({comment:e,precedingNode:t,enclosingNode:u,text:i}){return!!(t&&"ImportSpecifier"===t.type&&u&&"ImportDeclaration"===u.type&&er(i,yr(e)))&&(nr(t,e),!0)}function Hr({comment:e,enclosingNode:t}){return!(!t||"AssignmentPattern"!==t.type)&&(rr(t,e),!0)}function Jr({comment:e,enclosingNode:t}){return!(!t||"TypeAlias"!==t.type)&&(rr(t,e),!0)}function zr({comment:e,enclosingNode:t,followingNode:u}){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!u||"ObjectExpression"!==u.type&&"ArrayExpression"!==u.type&&"TemplateLiteral"!==u.type&&"TaggedTemplateExpression"!==u.type&&!cr(e))&&(rr(u,e),!0)}function Kr({comment:e,enclosingNode:t,followingNode:u,text:i}){return!(u||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==ur(i,e,yr))&&(nr(t,e),!0)}function Qr({comment:e,enclosingNode:t,followingNode:u}){if(Dr(e)&&t&&"TSMappedType"===t.type&&u&&"TSTypeParameter"===u.type&&u.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Yr({comment:e,precedingNode:t,enclosingNode:u,followingNode:i}){return!(!u||"TSMappedType"!==u.type)&&(i&&"TSTypeParameter"===i.type&&i.name?(rr(i.name,e),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(nr(t.constraint,e),!0))}function Zr(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function en(e){return cr(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var tn={handleOwnLineComment:function(e){return[Qr,Rr,wr,Sr,br,Tr,kr,jr,qr,$r,Xr,Wr,Hr,Nr,Mr].some((t=>t(e)))},handleEndOfLineComment:function(e){return[vr,Rr,_r,jr,Sr,br,Tr,kr,Mr,Ur,Gr,Xr,Jr,zr].some((t=>t(e)))},handleRemainingComment:function(e){return[Qr,Sr,br,Ir,Or,Nr,Xr,Pr,Lr,Yr,Vr,Kr].some((t=>t(e)))},isTypeCastComment:en,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===pr(e.value).length&&!e.value.returnType&&!or(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),u=e.getParentNode();return(t&&(hr(t)||lr(t)||mr(u)&&(dr(t.leadingComments)||dr(t.trailingComments)))||u&&("JSXSpreadAttribute"===u.type||"JSXSpreadChild"===u.type||"UnionTypeAnnotation"===u.type||"TSUnionType"===u.type||("ClassDeclaration"===u.type||"ClassExpression"===u.type)&&u.superClass===t))&&(!fr(e)||"UnionTypeAnnotation"===u.type||"TSUnionType"===u.type)}};const{getLast:un,getNextNonSpaceNonCommentCharacter:rn}=Qu,{locStart:nn,locEnd:sn}=ui,{isTypeCastComment:an}=tn;function on(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=on(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=on(e.object)):"TSNonNullExpression"===e.type&&(e.expression=on(e.expression)),e}function cn(e,t){let u;if(Array.isArray(e))u=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;u=Object.entries(e)}for(const[i,r]of u)e[i]=cn(r,t);return Array.isArray(e)?e:t(e)||e}function pn(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Dn(e){return pn(e)?Dn({type:"LogicalExpression",operator:e.operator,left:Dn({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[nn(e.left),sn(e.right.left)]}),right:e.right.right,range:[nn(e),sn(e)]}):e}var hn,ln=function(t,u){if("typescript"===u.parser&&u.originalText.includes("@")){const{esTreeNodeToTSNodeMap:i,tsNodeToESTreeNodeMap:r}=u.tsParseResult;t=cn(t,(t=>{const u=i.get(t);if(!u)return;const n=u.decorators;if(!Array.isArray(n))return;const s=r.get(u);if(s!==t)return;const a=s.decorators;if(!Array.isArray(a)||a.length!==n.length||n.some((e=>{const t=r.get(e);return!t||!a.includes(t)}))){const{start:t,end:u}=s.loc;throw e("Leading decorators must be attached to a class declaration",{start:{line:t.line,column:t.column+1},end:{line:u.line,column:u.column+1}})}}))}if("typescript"!==u.parser&&"flow"!==u.parser&&"espree"!==u.parser&&"meriyah"!==u.parser){const e=new Set;t=cn(t,(t=>{t.leadingComments&&t.leadingComments.some(an)&&e.add(nn(t))})),t=cn(t,(t=>{if("ParenthesizedExpression"===t.type){const{expression:u}=t;if("TypeCastExpression"===u.type)return u.range=t.range,u;const i=nn(t);if(!e.has(i))return u.extra=Object.assign(Object.assign({},u.extra),{},{parenthesized:!0}),u}}))}return t=cn(t,(e=>{switch(e.type){case"ChainExpression":return on(e.expression);case"LogicalExpression":if(pn(e))return Dn(e);break;case"VariableDeclaration":{const t=un(e.declarations);t&&t.init&&function(e,t){if(";"===u.originalText[sn(t)])return;e.range=[nn(e),sn(t)]}(e,t);break}case"TSParenthesizedType":return e.typeAnnotation.range=[nn(e),sn(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const t=nn(e);e.name={type:"Identifier",name:e.name,range:[t,t+e.name.length]}}break;case"SequenceExpression":{const t=un(e.expressions);e.range=[nn(e),Math.min(sn(t),sn(e))];break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===rn(u.originalText,e.key,sn)&&(e.optional=!0)}}))};function dn(){if(void 0===hn){var e=new ArrayBuffer(2),t=new Uint8Array(e),u=new Uint16Array(e);if(t[0]=1,t[1]=2,258===u[0])hn="BE";else{if(513!==u[0])throw new Error("unable to figure out endianess");hn="LE"}}return hn}function fn(){return void 0!==Pt.location?Pt.location.hostname:""}function En(){return[]}function Cn(){return 0}function mn(){return Number.MAX_VALUE}function An(){return Number.MAX_VALUE}function Fn(){return[]}function gn(){return"Browser"}function yn(){return void 0!==Pt.navigator?Pt.navigator.appVersion:""}function xn(){}function Bn(){}function vn(){return"javascript"}function Sn(){return"browser"}function bn(){return"/tmp"}var Tn=bn,wn={EOL:"\n",arch:vn,platform:Sn,tmpdir:Tn,tmpDir:bn,networkInterfaces:xn,getNetworkInterfaces:Bn,release:yn,type:gn,cpus:Fn,totalmem:An,freemem:mn,uptime:Cn,loadavg:En,hostname:fn,endianness:dn},_n=Object.freeze({__proto__:null,endianness:dn,hostname:fn,loadavg:En,uptime:Cn,freemem:mn,totalmem:An,cpus:Fn,type:gn,release:yn,networkInterfaces:xn,getNetworkInterfaces:Bn,arch:vn,platform:Sn,tmpDir:bn,tmpdir:Tn,EOL:"\n",default:wn});const In=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const u=t.filter((e=>"\r\n"===e)).length;return u>t.length-u?"\r\n":"\n"};var kn=In;kn.graceful=e=>"string"==typeof e&&In(e)||"\n";var Nn=l(_n),Ln=function(e){const t=e.match(Gn);return t?t[0].trimLeft():""},Pn=function(e){const t=e.match(Gn);return t&&t[0]?e.substring(t[0].length):e},On=function(e){return Kn(e).pragmas},Rn=Kn,jn=function({comments:e="",pragmas:t={}}){const u=(0,Vn().default)(e)||Mn().EOL,i=" *",r=Object.keys(t),n=r.map((e=>Qn(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+u)).join("");if(!e){if(0===r.length)return"";if(1===r.length&&!Array.isArray(t[r[0]])){const e=t[r[0]];return`/** ${Qn(r[0],e)[0]} */`}}const s=e.split(u).map((e=>` * ${e}`)).join(u)+u;return"/**"+u+(e?s:"")+(e&&r.length?i+u:"")+n+" */"};function Mn(){const e=Nn;return Mn=function(){return e},e}function Vn(){const e=(t=kn)&&t.__esModule?t:{default:t};var t;return Vn=function(){return e},e}const Un=/\*\/$/,$n=/^\/\*\*/,Gn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Xn=/(^|\s+)\/\/([^\r\n]*)/g,qn=/^(\r?\n)+/,Wn=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Hn=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Jn=/(\r?\n|^) *\* ?/g,zn=[];function Kn(e){const t=(0,Vn().default)(e)||Mn().EOL;e=e.replace($n,"").replace(Un,"").replace(Jn,"$1");let u="";for(;u!==e;)u=e,e=e.replace(Wn,`${t}$1 $2${t}`);e=e.replace(qn,"").trimRight();const i=Object.create(null),r=e.replace(Hn,"").replace(qn,"").trimRight();let n;for(;n=Hn.exec(e);){const e=n[2].replace(Xn,"");"string"==typeof i[n[1]]||Array.isArray(i[n[1]])?i[n[1]]=zn.concat(i[n[1]],e):i[n[1]]=e}return{comments:r,pragmas:i}}function Qn(e,t){return zn.concat(t).map((t=>`@${e} ${t}`.trim()))}var Yn=Object.defineProperty({extract:Ln,strip:Pn,parse:On,parseWithComments:Rn,print:jn},"__esModule",{value:!0});var Zn={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let u;if("\n"===t)u=/\n/g;else if("\r"===t)u=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);u=/\r\n/g}const i=e.match(u);return i?i.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:es,strip:ts,extract:us,print:is}=Yn,{getShebang:rs}=Qu,{normalizeEndOfLine:ns}=Zn;function ss(e){const t=rs(e);t&&(e=e.slice(t.length+1));const u=us(e),{pragmas:i,comments:r}=es(u);return{shebang:t,text:e,pragmas:i,comments:r}}var as={hasPragma:function(e){const t=Object.keys(ss(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:u,pragmas:i,comments:r}=ss(e),n=ts(u),s=is({pragmas:Object.assign({format:""},i),comments:r.trimStart()});return(t?`${t}\n`:"")+ns(s)+(n.startsWith("\n")?"\n":"\n\n")+n}};const{hasPragma:os}=as,{locStart:cs,locEnd:ps}=ui;var Ds=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:os,locStart:cs,locEnd:ps},e)};var hs=function(e){return"#"===e.charAt(0)&&"!"===e.charAt(1)?"//"+e.slice(2):e},ls={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},ds="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",fs={5:ds,"5module":ds+" export import",6:ds+" const class extends export import super"},Es=/^in(stanceof)?$/,Cs="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",ms="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",As=new RegExp("["+Cs+"]"),Fs=new RegExp("["+Cs+ms+"]");Cs=ms=null;var gs=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],ys=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function xs(e,t){for(var u=65536,i=0;ie)return!1;if((u+=t[i+1])>=e)return!0}}function Bs(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&As.test(String.fromCharCode(e)):!1!==t&&xs(e,gs)))}function vs(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&Fs.test(String.fromCharCode(e)):!1!==t&&(xs(e,gs)||xs(e,ys)))))}var Ss=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function bs(e,t){return new Ss(e,{beforeExpr:!0,binop:t})}var Ts={beforeExpr:!0},ws={startsExpr:!0},_s={};function Is(e,t){return void 0===t&&(t={}),t.keyword=e,_s[e]=new Ss(e,t)}var ks={num:new Ss("num",ws),regexp:new Ss("regexp",ws),string:new Ss("string",ws),name:new Ss("name",ws),eof:new Ss("eof"),bracketL:new Ss("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ss("]"),braceL:new Ss("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ss("}"),parenL:new Ss("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ss(")"),comma:new Ss(",",Ts),semi:new Ss(";",Ts),colon:new Ss(":",Ts),dot:new Ss("."),question:new Ss("?",Ts),questionDot:new Ss("?."),arrow:new Ss("=>",Ts),template:new Ss("template"),invalidTemplate:new Ss("invalidTemplate"),ellipsis:new Ss("...",Ts),backQuote:new Ss("`",ws),dollarBraceL:new Ss("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ss("=",{beforeExpr:!0,isAssign:!0}),assign:new Ss("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ss("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ss("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:bs("||",1),logicalAND:bs("&&",2),bitwiseOR:bs("|",3),bitwiseXOR:bs("^",4),bitwiseAND:bs("&",5),equality:bs("==/!=/===/!==",6),relational:bs("/<=/>=",7),bitShift:bs("<>/>>>",8),plusMin:new Ss("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:bs("%",10),star:bs("*",10),slash:bs("/",10),starstar:new Ss("**",{beforeExpr:!0}),coalesce:bs("??",1),_break:Is("break"),_case:Is("case",Ts),_catch:Is("catch"),_continue:Is("continue"),_debugger:Is("debugger"),_default:Is("default",Ts),_do:Is("do",{isLoop:!0,beforeExpr:!0}),_else:Is("else",Ts),_finally:Is("finally"),_for:Is("for",{isLoop:!0}),_function:Is("function",ws),_if:Is("if"),_return:Is("return",Ts),_switch:Is("switch"),_throw:Is("throw",Ts),_try:Is("try"),_var:Is("var"),_const:Is("const"),_while:Is("while",{isLoop:!0}),_with:Is("with"),_new:Is("new",{beforeExpr:!0,startsExpr:!0}),_this:Is("this",ws),_super:Is("super",ws),_class:Is("class",ws),_extends:Is("extends",Ts),_export:Is("export"),_import:Is("import",ws),_null:Is("null",ws),_true:Is("true",ws),_false:Is("false",ws),_in:Is("in",{beforeExpr:!0,binop:7}),_instanceof:Is("instanceof",{beforeExpr:!0,binop:7}),_typeof:Is("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Is("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Is("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Ns=/\r\n?|\n|\u2028|\u2029/,Ls=new RegExp(Ns.source,"g");function Ps(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Os=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Rs=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,js=Object.prototype,Ms=js.hasOwnProperty,Vs=js.toString;function Us(e,t){return Ms.call(e,t)}var $s=Array.isArray||function(e){return"[object Array]"===Vs.call(e)};function Gs(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var Xs=function(e,t){this.line=e,this.column=t};Xs.prototype.offset=function(e){return new Xs(this.line,this.column+e)};var qs=function(e,t,u){this.start=t,this.end=u,null!==e.sourceFile&&(this.source=e.sourceFile)};function Ws(e,t){for(var u=1,i=0;;){Ls.lastIndex=i;var r=Ls.exec(e);if(!(r&&r.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),$s(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return $s(t.onComment)&&(t.onComment=function(e,t){return function(u,i,r,n,s,a){var o={type:u?"Block":"Line",value:i,start:r,end:n};e.locations&&(o.loc=new qs(this,s,a)),e.ranges&&(o.range=[r,n]),t.push(o)}}(t,t.onComment)),t}function zs(e,t){return 2|(e?4:0)|(t?8:0)}var Ks=function(e,t,u){this.options=e=Js(e),this.sourceFile=e.sourceFile,this.keywords=Gs(fs[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var i="";if(!0!==e.allowReserved){for(var r=e.ecmaVersion;!(i=ls[r]);r--);"module"===e.sourceType&&(i+=" await")}this.reservedWords=Gs(i);var n=(i?i+" ":"")+ls.strict;this.reservedWordsStrict=Gs(n),this.reservedWordsStrictBind=Gs(n+" "+ls.strictBind),this.input=String(t),this.containsEsc=!1,u?(this.pos=u,this.lineStart=this.input.lastIndexOf("\n",u-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Ns).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ks.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},Qs={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Ks.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},Qs.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},Qs.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},Qs.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},Qs.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},Qs.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},Qs.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Ks.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},Ks.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var u=this,i=0;i=,?^&]/.test(r)||"!"===r&&"="===this.input.charAt(i+1))}e+=t[0].length,Rs.lastIndex=e,e+=Rs.exec(this.input)[0].length,";"===this.input[e]&&e++}},Ys.eat=function(e){return this.type===e&&(this.next(),!0)},Ys.isContextual=function(e){return this.type===ks.name&&this.value===e&&!this.containsEsc},Ys.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},Ys.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},Ys.canInsertSemicolon=function(){return this.type===ks.eof||this.type===ks.braceR||Ns.test(this.input.slice(this.lastTokEnd,this.start))},Ys.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},Ys.semicolon=function(){this.eat(ks.semi)||this.insertSemicolon()||this.unexpected()},Ys.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},Ys.expect=function(e){this.eat(e)||this.unexpected()},Ys.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},Ys.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var u=t?e.parenthesizedAssign:e.parenthesizedBind;u>-1&&this.raiseRecoverable(u,"Parenthesized pattern")}},Ys.checkExpressionErrors=function(e,t){if(!e)return!1;var u=e.shorthandAssign,i=e.doubleProto;if(!t)return u>=0||i>=0;u>=0&&this.raise(u,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},Ys.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case ks._class:return e&&this.unexpected(),this.parseClass(n,!0);case ks._if:return this.parseIfStatement(n);case ks._return:return this.parseReturnStatement(n);case ks._switch:return this.parseSwitchStatement(n);case ks._throw:return this.parseThrowStatement(n);case ks._try:return this.parseTryStatement(n);case ks._const:case ks._var:return i=i||this.value,e&&"var"!==i&&this.unexpected(),this.parseVarStatement(n,i);case ks._while:return this.parseWhileStatement(n);case ks._with:return this.parseWithStatement(n);case ks.braceL:return this.parseBlock(!0,n);case ks.semi:return this.parseEmptyStatement(n);case ks._export:case ks._import:if(this.options.ecmaVersion>10&&r===ks._import){Rs.lastIndex=this.pos;var s=Rs.exec(this.input),a=this.pos+s[0].length,o=this.input.charCodeAt(a);if(40===o||46===o)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===ks._import?this.parseImport(n):this.parseExport(n,u);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var c=this.value,p=this.parseExpression();return r===ks.name&&"Identifier"===p.type&&this.eat(ks.colon)?this.parseLabeledStatement(n,c,p,e):this.parseExpressionStatement(n,p)}},ta.parseBreakContinueStatement=function(e,t){var u="break"===t;this.next(),this.eat(ks.semi)||this.insertSemicolon()?e.label=null:this.type!==ks.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(ks.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},ta.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ua),this.enterScope(0),this.expect(ks.parenL),this.type===ks.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var u=this.isLet();if(this.type===ks._var||this.type===ks._const||u){var i=this.startNode(),r=u?"let":this.value;return this.next(),this.parseVar(i,!0,r),this.finishNode(i,"VariableDeclaration"),(this.type===ks._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ks._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var n=new ea,s=this.parseExpression(!0,n);return this.type===ks._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===ks._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,n),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(n,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},ta.parseFunctionStatement=function(e,t,u){return this.next(),this.parseFunction(e,na|(u?0:sa),!1,t)},ta.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(ks._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},ta.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(ks.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},ta.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(ks.braceL),this.labels.push(ia),this.enterScope(0);for(var u=!1;this.type!==ks.braceR;)if(this.type===ks._case||this.type===ks._default){var i=this.type===ks._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(u&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),u=!0,t.test=null),this.expect(ks.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},ta.parseThrowStatement=function(e){return this.next(),Ns.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var ra=[];ta.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===ks._catch){var t=this.startNode();if(this.next(),this.eat(ks.parenL)){t.param=this.parseBindingAtom();var u="Identifier"===t.param.type;this.enterScope(u?32:0),this.checkLVal(t.param,u?4:2),this.expect(ks.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(ks._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},ta.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},ta.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ua),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},ta.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},ta.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},ta.parseLabeledStatement=function(e,t,u,i){for(var r=0,n=this.labels;r=0;a--){var o=this.labels[a];if(o.statementStart!==e.start)break;o.statementStart=this.start,o.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),e.label=u,this.finishNode(e,"LabeledStatement")},ta.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},ta.parseBlock=function(e,t,u){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(ks.braceL),e&&this.enterScope(0);this.type!==ks.braceR;){var i=this.parseStatement(null);t.body.push(i)}return u&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},ta.parseFor=function(e,t){return e.init=t,this.expect(ks.semi),e.test=this.type===ks.semi?null:this.parseExpression(),this.expect(ks.semi),e.update=this.type===ks.parenR?null:this.parseExpression(),this.expect(ks.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},ta.parseForIn=function(e,t){var u=this.type===ks._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!u||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)?this.raise(t.start,(u?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===t.type&&this.raise(t.start,"Invalid left-hand side in for-loop"),e.left=t,e.right=u?this.parseExpression():this.parseMaybeAssign(),this.expect(ks.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,u?"ForInStatement":"ForOfStatement")},ta.parseVar=function(e,t,u){for(e.declarations=[],e.kind=u;;){var i=this.startNode();if(this.parseVarId(i,u),this.eat(ks.eq)?i.init=this.parseMaybeAssign(t):"const"!==u||this.type===ks._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===i.id.type||t&&(this.type===ks._in||this.isContextual("of"))?i.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(ks.comma))break}return e},ta.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?1:2,!1)};var na=1,sa=2;ta.parseFunction=function(e,t,u,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ks.star&&t&sa&&this.unexpected(),e.generator=this.eat(ks.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&na&&(e.id=4&t&&this.type!==ks.name?null:this.parseIdent(),!e.id||t&sa||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var r=this.yieldPos,n=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(zs(e.async,e.generator)),t&na||(e.id=this.type===ks.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,u,!1),this.yieldPos=r,this.awaitPos=n,this.awaitIdentPos=s,this.finishNode(e,t&na?"FunctionDeclaration":"FunctionExpression")},ta.parseFunctionParams=function(e){this.expect(ks.parenL),e.params=this.parseBindingList(ks.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},ta.parseClass=function(e,t){this.next();var u=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),r=!1;for(i.body=[],this.expect(ks.braceL);this.type!==ks.braceR;){var n=this.parseClassElement(null!==e.superClass);n&&(i.body.push(n),"MethodDefinition"===n.type&&"constructor"===n.kind&&(r&&this.raise(n.start,"Duplicate constructor in the same class"),r=!0))}return this.strict=u,this.next(),e.body=this.finishNode(i,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},ta.parseClassElement=function(e){var t=this;if(this.eat(ks.semi))return null;var u=this.startNode(),i=function(e,i){void 0===i&&(i=!1);var r=t.start,n=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===ks.parenL||i&&t.canInsertSemicolon())||(u.key&&t.unexpected(),u.computed=!1,u.key=t.startNodeAt(r,n),u.key.name=e,t.finishNode(u.key,"Identifier"),!1))};u.kind="method",u.static=i("static");var r=this.eat(ks.star),n=!1;r||(this.options.ecmaVersion>=8&&i("async",!0)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(ks.star)):i("get")?u.kind="get":i("set")&&(u.kind="set")),u.key||this.parsePropertyName(u);var s=u.key,a=!1;return u.computed||u.static||!("Identifier"===s.type&&"constructor"===s.name||"Literal"===s.type&&"constructor"===s.value)?u.static&&"Identifier"===s.type&&"prototype"===s.name&&this.raise(s.start,"Classes may not have a static property named prototype"):("method"!==u.kind&&this.raise(s.start,"Constructor can't have get/set modifier"),r&&this.raise(s.start,"Constructor can't be a generator"),n&&this.raise(s.start,"Constructor can't be an async method"),u.kind="constructor",a=e),this.parseClassMethod(u,r,n,a),"get"===u.kind&&0!==u.value.params.length&&this.raiseRecoverable(u.value.start,"getter should have no params"),"set"===u.kind&&1!==u.value.params.length&&this.raiseRecoverable(u.value.start,"setter should have exactly one param"),"set"===u.kind&&"RestElement"===u.value.params[0].type&&this.raiseRecoverable(u.value.params[0].start,"Setter cannot use rest params"),u},ta.parseClassMethod=function(e,t,u,i){return e.value=this.parseMethod(t,u,i),this.finishNode(e,"MethodDefinition")},ta.parseClassId=function(e,t){this.type===ks.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},ta.parseClassSuper=function(e){e.superClass=this.eat(ks._extends)?this.parseExprSubscripts():null},ta.parseExport=function(e,t){if(this.next(),this.eat(ks.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==ks.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(ks._default)){var u;if(this.checkExport(t,"default",this.lastTokStart),this.type===ks._function||(u=this.isAsyncFunction())){var i=this.startNode();this.next(),u&&this.next(),e.declaration=this.parseFunction(i,4|na,!1,u)}else if(this.type===ks._class){var r=this.startNode();e.declaration=this.parseClass(r,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==ks.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var n=0,s=e.specifiers;n=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",u&&this.checkPatternErrors(u,!0);for(var i=0,r=e.properties;i=8&&!n&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(ks._function))return this.parseFunction(this.startNodeAt(i,r),0,!1,!0);if(u&&!this.canInsertSemicolon()){if(this.eat(ks.arrow))return this.parseArrowExpression(this.startNodeAt(i,r),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===ks.name&&!n)return s=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ks.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,r),[s],!0)}return s;case ks.regexp:var a=this.value;return(t=this.parseLiteral(a.value)).regex={pattern:a.pattern,flags:a.flags},t;case ks.num:case ks.string:return this.parseLiteral(this.value);case ks._null:case ks._true:case ks._false:return(t=this.startNode()).value=this.type===ks._null?null:this.type===ks._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case ks.parenL:var o=this.start,c=this.parseParenAndDistinguishExpression(u);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=o),e.parenthesizedBind<0&&(e.parenthesizedBind=o)),c;case ks.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(ks.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case ks.braceL:return this.parseObj(!1,e);case ks._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case ks._class:return this.parseClass(this.startNode(),!1);case ks._new:return this.parseNew();case ks.backQuote:return this.parseTemplate();case ks._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},oa.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case ks.parenL:return this.parseDynamicImport(e);case ks.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},oa.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(ks.parenR)){var t=this.start;this.eat(ks.comma)&&this.eat(ks.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},oa.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},oa.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},oa.parseParenExpression=function(){this.expect(ks.parenL);var e=this.parseExpression();return this.expect(ks.parenR),e},oa.parseParenAndDistinguishExpression=function(e){var t,u=this.start,i=this.startLoc,r=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,s=this.start,a=this.startLoc,o=[],c=!0,p=!1,D=new ea,h=this.yieldPos,l=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ks.parenR;){if(c?c=!1:this.expect(ks.comma),r&&this.afterTrailingComma(ks.parenR,!0)){p=!0;break}if(this.type===ks.ellipsis){n=this.start,o.push(this.parseParenItem(this.parseRestBinding())),this.type===ks.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}o.push(this.parseMaybeAssign(!1,D,this.parseParenItem))}var d=this.start,f=this.startLoc;if(this.expect(ks.parenR),e&&!this.canInsertSemicolon()&&this.eat(ks.arrow))return this.checkPatternErrors(D,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=l,this.parseParenArrowList(u,i,o);o.length&&!p||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(D,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=l||this.awaitPos,o.length>1?((t=this.startNodeAt(s,a)).expressions=o,this.finishNodeAt(t,"SequenceExpression",d,f)):t=o[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var E=this.startNodeAt(u,i);return E.expression=t,this.finishNode(E,"ParenthesizedExpression")}return t},oa.parseParenItem=function(e){return e},oa.parseParenArrowList=function(e,t,u){return this.parseArrowExpression(this.startNodeAt(e,t),u)};var ca=[];oa.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(ks.dot)){e.meta=t;var u=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),u&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"'new.target' can only be used in functions"),this.finishNode(e,"MetaProperty")}var i=this.start,r=this.startLoc,n=this.type===ks._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,r,!0),n&&"ImportExpression"===e.callee.type&&this.raise(i,"Cannot use new with import()"),this.eat(ks.parenL)?e.arguments=this.parseExprList(ks.parenR,this.options.ecmaVersion>=8,!1):e.arguments=ca,this.finishNode(e,"NewExpression")},oa.parseTemplateElement=function(e){var t=e.isTagged,u=this.startNode();return this.type===ks.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),u.value={raw:this.value,cooked:null}):u.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),u.tail=this.type===ks.backQuote,this.finishNode(u,"TemplateElement")},oa.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var u=this.startNode();this.next(),u.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(u.quasis=[i];!i.tail;)this.type===ks.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(ks.dollarBraceL),u.expressions.push(this.parseExpression()),this.expect(ks.braceR),u.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(u,"TemplateLiteral")},oa.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===ks.name||this.type===ks.num||this.type===ks.string||this.type===ks.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ks.star)&&!Ns.test(this.input.slice(this.lastTokEnd,this.start))},oa.parseObj=function(e,t){var u=this.startNode(),i=!0,r={};for(u.properties=[],this.next();!this.eat(ks.braceR);){if(i)i=!1;else if(this.expect(ks.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ks.braceR))break;var n=this.parseProperty(e,t);e||this.checkPropClash(n,r,t),u.properties.push(n)}return this.finishNode(u,e?"ObjectPattern":"ObjectExpression")},oa.parseProperty=function(e,t){var u,i,r,n,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ks.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===ks.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===ks.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===ks.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(r=this.start,n=this.startLoc),e||(u=this.eat(ks.star)));var a=this.containsEsc;return this.parsePropertyName(s),!e&&!a&&this.options.ecmaVersion>=8&&!u&&this.isAsyncProp(s)?(i=!0,u=this.options.ecmaVersion>=9&&this.eat(ks.star),this.parsePropertyName(s,t)):i=!1,this.parsePropertyValue(s,e,u,i,r,n,t,a),this.finishNode(s,"Property")},oa.parsePropertyValue=function(e,t,u,i,r,n,s,a){if((u||i)&&this.type===ks.colon&&this.unexpected(),this.eat(ks.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===ks.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(u,i);else if(t||a||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===ks.comma||this.type===ks.braceR||this.type===ks.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((u||i)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=r),e.kind="init",t?e.value=this.parseMaybeDefault(r,n,e.key):this.type===ks.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,n,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(u||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o="get"===e.kind?0:1;if(e.value.params.length!==o){var c=e.value.start;"get"===e.kind?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},oa.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(ks.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(ks.bracketR),e.key;e.computed=!1}return e.key=this.type===ks.num||this.type===ks.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},oa.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},oa.parseMethod=function(e,t,u){var i=this.startNode(),r=this.yieldPos,n=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|zs(t,i.generator)|(u?128:0)),this.expect(ks.parenL),i.params=this.parseBindingList(ks.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=r,this.awaitPos=n,this.awaitIdentPos=s,this.finishNode(i,"FunctionExpression")},oa.parseArrowExpression=function(e,t,u){var i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(16|zs(u,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!u),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(e,"ArrowFunctionExpression")},oa.parseFunctionBody=function(e,t,u){var i=t&&this.type!==ks.braceL,r=this.strict,n=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);r&&!s||(n=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(e,!r&&!n&&!t&&!u&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,n&&!r),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=a}this.exitScope()},oa.isSimpleParamList=function(e){for(var t=0,u=e;t-1||r.functions.indexOf(e)>-1||r.var.indexOf(e)>-1,r.lexical.push(e),this.inModule&&1&r.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var n=this.currentScope();i=this.treatFunctionsAsVar?n.lexical.indexOf(e)>-1:n.lexical.indexOf(e)>-1||n.var.indexOf(e)>-1,n.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var a=this.scopeStack[s];if(a.lexical.indexOf(e)>-1&&!(32&a.flags&&a.lexical[0]===e)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(e)>-1){i=!0;break}if(a.var.push(e),this.inModule&&1&a.flags&&delete this.undefinedExports[e],3&a.flags)break}i&&this.raiseRecoverable(u,"Identifier '"+e+"' has already been declared")},Da.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Da.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Da.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},Da.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags&&!(16&t.flags))return t}};var la=function(e,t,u){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new qs(e,u)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},da=Ks.prototype;function fa(e,t,u,i){return e.type=t,e.end=u,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=u),e}da.startNode=function(){return new la(this,this.start,this.startLoc)},da.startNodeAt=function(e,t){return new la(this,e,t)},da.finishNode=function(e,t){return fa.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},da.finishNodeAt=function(e,t,u,i){return fa.call(this,e,t,u,i)};var Ea=function(e,t,u,i,r){this.token=e,this.isExpr=!!t,this.preserveSpace=!!u,this.override=i,this.generator=!!r},Ca={b_stat:new Ea("{",!1),b_expr:new Ea("{",!0),b_tmpl:new Ea("${",!1),p_stat:new Ea("(",!1),p_expr:new Ea("(",!0),q_tmpl:new Ea("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Ea("function",!1),f_expr:new Ea("function",!0),f_expr_gen:new Ea("function",!0,!1,null,!0),f_gen:new Ea("function",!1,!1,null,!0)},ma=Ks.prototype;ma.initialContext=function(){return[Ca.b_stat]},ma.braceIsBlock=function(e){var t=this.curContext();return t===Ca.f_expr||t===Ca.f_stat||(e!==ks.colon||t!==Ca.b_stat&&t!==Ca.b_expr?e===ks._return||e===ks.name&&this.exprAllowed?Ns.test(this.input.slice(this.lastTokEnd,this.start)):e===ks._else||e===ks.semi||e===ks.eof||e===ks.parenR||e===ks.arrow||(e===ks.braceL?t===Ca.b_stat:e!==ks._var&&e!==ks._const&&e!==ks.name&&!this.exprAllowed):!t.isExpr)},ma.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},ma.updateContext=function(e){var t,u=this.type;u.keyword&&e===ks.dot?this.exprAllowed=!1:(t=u.updateContext)?t.call(this,e):this.exprAllowed=u.beforeExpr},ks.parenR.updateContext=ks.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Ca.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},ks.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Ca.b_stat:Ca.b_expr),this.exprAllowed=!0},ks.dollarBraceL.updateContext=function(){this.context.push(Ca.b_tmpl),this.exprAllowed=!0},ks.parenL.updateContext=function(e){var t=e===ks._if||e===ks._for||e===ks._with||e===ks._while;this.context.push(t?Ca.p_stat:Ca.p_expr),this.exprAllowed=!0},ks.incDec.updateContext=function(){},ks._function.updateContext=ks._class.updateContext=function(e){!e.beforeExpr||e===ks.semi||e===ks._else||e===ks._return&&Ns.test(this.input.slice(this.lastTokEnd,this.start))||(e===ks.colon||e===ks.braceL)&&this.curContext()===Ca.b_stat?this.context.push(Ca.f_stat):this.context.push(Ca.f_expr),this.exprAllowed=!1},ks.backQuote.updateContext=function(){this.curContext()===Ca.q_tmpl?this.context.pop():this.context.push(Ca.q_tmpl),this.exprAllowed=!1},ks.star.updateContext=function(e){if(e===ks._function){var t=this.context.length-1;this.context[t]===Ca.f_expr?this.context[t]=Ca.f_expr_gen:this.context[t]=Ca.f_gen}this.exprAllowed=!0},ks.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==ks.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var Aa="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Fa=Aa+" Extended_Pictographic",ga={9:Aa,10:Fa,11:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic"},ya="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",xa="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ba=xa+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",va={9:xa,10:Ba,11:"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},Sa={};function ba(e){var t=Sa[e]={binary:Gs(ga[e]+" "+ya),nonBinary:{General_Category:Gs(ya),Script:Gs(va[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}ba(9),ba(10),ba(11);var Ta=Ks.prototype,wa=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Sa[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function _a(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Ia(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function ka(e){return e>=65&&e<=90||e>=97&&e<=122}function Na(e){return ka(e)||95===e}function La(e){return Na(e)||Pa(e)}function Pa(e){return e>=48&&e<=57}function Oa(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ra(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function ja(e){return e>=48&&e<=55}wa.prototype.reset=function(e,t,u){var i=-1!==u.indexOf("u");this.start=0|e,this.source=t+"",this.flags=u,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},wa.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},wa.prototype.at=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return-1;var r=u.charCodeAt(e);if(!t&&!this.switchU||r<=55295||r>=57344||e+1>=i)return r;var n=u.charCodeAt(e+1);return n>=56320&&n<=57343?(r<<10)+n-56613888:r},wa.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return i;var r,n=u.charCodeAt(e);return!t&&!this.switchU||n<=55295||n>=57344||e+1>=i||(r=u.charCodeAt(e+1))<56320||r>57343?e+1:e+2},wa.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},wa.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},wa.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},wa.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},Ta.validateRegExpFlags=function(e){for(var t=e.validFlags,u=e.flags,i=0;i-1&&this.raise(e.start,"Duplicate regular expression flag")}},Ta.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Ta.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,u=e.backReferenceNames;t=9&&(u=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!u,!0}return e.pos=t,!1},Ta.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Ta.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Ta.regexp_eatBracedQuantifier=function(e,t){var u=e.pos;if(e.eat(123)){var i=0,r=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue),e.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},Ta.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Ta.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Ta.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!Ia(t)&&(e.lastIntValue=t,e.advance(),!0)},Ta.regexp_eatPatternCharacters=function(e){for(var t=e.pos,u=0;-1!==(u=e.current())&&!Ia(u);)e.advance();return e.pos!==t},Ta.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},Ta.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},Ta.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},Ta.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=_a(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=_a(e.lastIntValue);return!0}return!1},Ta.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return Bs(e,!0)||36===e||95===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Ta.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return vs(e,!0)||36===e||95===e||8204===e||8205===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Ta.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},Ta.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var u=e.lastIntValue;if(e.switchU)return u>e.maxBackReference&&(e.maxBackReference=u),!0;if(u<=e.numCapturingParens)return!0;e.pos=t}return!1},Ta.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},Ta.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Ta.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Ta.regexp_eatZero=function(e){return 48===e.current()&&!Pa(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Ta.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},Ta.regexp_eatControlLetter=function(e){var t=e.current();return!!ka(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Ta.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var u,i=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(r&&n>=55296&&n<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(a>=56320&&a<=57343)return e.lastIntValue=1024*(n-55296)+(a-56320)+65536,!0}e.pos=s,e.lastIntValue=n}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((u=e.lastIntValue)>=0&&u<=1114111))return!0;r&&e.raise("Invalid unicode escape"),e.pos=i}return!1},Ta.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},Ta.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},Ta.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},Ta.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var u=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,u,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,r),!0}return!1},Ta.regexp_validateUnicodePropertyNameAndValue=function(e,t,u){Us(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(u)||e.raise("Invalid property value")},Ta.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},Ta.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Na(t=e.current());)e.lastStringValue+=_a(t),e.advance();return""!==e.lastStringValue},Ta.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";La(t=e.current());)e.lastStringValue+=_a(t),e.advance();return""!==e.lastStringValue},Ta.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Ta.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},Ta.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var u=e.lastIntValue;!e.switchU||-1!==t&&-1!==u||e.raise("Invalid character class"),-1!==t&&-1!==u&&t>u&&e.raise("Range out of order in character class")}}},Ta.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var u=e.current();(99===u||ja(u))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var i=e.current();return 93!==i&&(e.lastIntValue=i,e.advance(),!0)},Ta.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Ta.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Pa(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},Ta.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},Ta.regexp_eatDecimalDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;Pa(u=e.current());)e.lastIntValue=10*e.lastIntValue+(u-48),e.advance();return e.pos!==t},Ta.regexp_eatHexDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;Oa(u=e.current());)e.lastIntValue=16*e.lastIntValue+Ra(u),e.advance();return e.pos!==t},Ta.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var u=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*u+e.lastIntValue:e.lastIntValue=8*t+u}else e.lastIntValue=t;return!0}return!1},Ta.regexp_eatOctalDigit=function(e){var t=e.current();return ja(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Ta.regexp_eatFixedHexDigits=function(e,t){var u=e.pos;e.lastIntValue=0;for(var i=0;i>10),56320+(1023&e)))}Va.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Ma(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Va.getToken=function(){return this.next(),new Ma(this)},"undefined"!=typeof Symbol&&(Va[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===ks.eof,value:t}}}}),Va.curContext=function(){return this.context[this.context.length-1]},Va.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(ks.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Va.readToken=function(e){return Bs(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Va.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},Va.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),u=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(-1===i&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(Ls.lastIndex=u;(e=Ls.exec(this.input))&&e.index8&&e<14||e>=5760&&Os.test(String.fromCharCode(e))))break e;++this.pos}}},Va.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var u=this.type;this.type=e,this.value=t,this.updateContext(u)},Va.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(ks.ellipsis)):(++this.pos,this.finishToken(ks.dot))},Va.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(ks.assign,2):this.finishOp(ks.slash,1)},Va.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),u=1,i=42===e?ks.star:ks.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++u,i=ks.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(ks.assign,u+1):this.finishOp(i,u)},Va.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ks.assign,3);return this.finishOp(124===e?ks.logicalOR:ks.logicalAND,2)}return 61===t?this.finishOp(ks.assign,2):this.finishOp(124===e?ks.bitwiseOR:ks.bitwiseAND,1)},Va.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ks.assign,2):this.finishOp(ks.bitwiseXOR,1)},Va.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!Ns.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ks.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(ks.assign,2):this.finishOp(ks.plusMin,1)},Va.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),u=1;return t===e?(u=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+u)?this.finishOp(ks.assign,u+1):this.finishOp(ks.bitShift,u)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(u=2),this.finishOp(ks.relational,u)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Va.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(ks.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ks.arrow)):this.finishOp(61===e?ks.eq:ks.prefix,1)},Va.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var u=this.input.charCodeAt(this.pos+2);if(u<48||u>57)return this.finishOp(ks.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ks.assign,3);return this.finishOp(ks.coalesce,2)}}return this.finishOp(ks.question,1)},Va.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ks.parenL);case 41:return++this.pos,this.finishToken(ks.parenR);case 59:return++this.pos,this.finishToken(ks.semi);case 44:return++this.pos,this.finishToken(ks.comma);case 91:return++this.pos,this.finishToken(ks.bracketL);case 93:return++this.pos,this.finishToken(ks.bracketR);case 123:return++this.pos,this.finishToken(ks.braceL);case 125:return++this.pos,this.finishToken(ks.braceR);case 58:return++this.pos,this.finishToken(ks.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ks.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(ks.prefix,1)}this.raise(this.pos,"Unexpected character '"+$a(e)+"'")},Va.finishOp=function(e,t){var u=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,u)},Va.readRegexp=function(){for(var e,t,u=this.pos;;){this.pos>=this.input.length&&this.raise(u,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(Ns.test(i)&&this.raise(u,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++this.pos}var r=this.input.slice(u,this.pos);++this.pos;var n=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(n);var a=this.regexpState||(this.regexpState=new wa(this));a.reset(u,r,s),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var o=null;try{o=new RegExp(r,s)}catch(e){}return this.finishToken(ks.regexp,{pattern:r,flags:s,value:o})},Va.readInt=function(e,t,u){for(var i=this.options.ecmaVersion>=12&&void 0===t,r=u&&48===this.input.charCodeAt(this.pos),n=this.pos,s=0,a=0,o=0,c=null==t?1/0:t;o=97?p-97+10:p>=65?p-65+10:p>=48&&p<=57?p-48:1/0)>=e)break;a=p,s=s*e+D}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===n||null!=t&&this.pos-n!==t?null:s},Va.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var u=this.readInt(e);return null==u&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(u=Ua(this.input.slice(t,this.pos)),++this.pos):Bs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ks.num,u)},Va.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var u=this.pos-t>=2&&48===this.input.charCodeAt(t);u&&this.strict&&this.raise(t,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!u&&!e&&this.options.ecmaVersion>=11&&110===i){var r=Ua(this.input.slice(t,this.pos));return++this.pos,Bs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ks.num,r)}u&&/[89]/.test(this.input.slice(t,this.pos))&&(u=!1),46!==i||u||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||u||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),Bs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var n,s=(n=this.input.slice(t,this.pos),u?parseInt(n,8):parseFloat(n.replace(/_/g,"")));return this.finishToken(ks.num,s)},Va.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},Va.readString=function(e){for(var t="",u=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(u,this.pos),t+=this.readEscapedChar(!1),u=this.pos):(Ps(i,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(u,this.pos++),this.finishToken(ks.string,t)};var Ga={};Va.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==Ga)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Va.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ga;this.raise(e,t)},Va.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var u=this.input.charCodeAt(this.pos);if(96===u||36===u&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==ks.template&&this.type!==ks.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(ks.template,e)):36===u?(this.pos+=2,this.finishToken(ks.dollarBraceL)):(++this.pos,this.finishToken(ks.backQuote));if(92===u)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Ps(u)){switch(e+=this.input.slice(t,this.pos),++this.pos,u){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(u)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Va.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(i,8);return r>255&&(i=i.slice(0,-1),r=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),"0"===i&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-i.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(r)}return Ps(t)?"":String.fromCharCode(t)}},Va.readHexChar=function(e){var t=this.pos,u=this.readInt(16,e);return null===u&&this.invalidStringToken(t,"Bad character escape sequence"),u},Va.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,u=this.pos,i=this.options.ecmaVersion>=6;this.pos",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},qa=l(Object.freeze({__proto__:null,Node:la,Parser:Ks,Position:Xs,SourceLocation:qs,TokContext:Ea,Token:Ma,TokenType:Ss,defaultOptions:Hs,getLineInfo:Ws,isIdentifierChar:vs,isIdentifierStart:Bs,isNewLine:Ps,keywordTypes:_s,lineBreak:Ns,lineBreakG:Ls,nonASCIIwhitespace:Os,parse:function(e,t){return Ks.parse(e,t)},parseExpressionAt:function(e,t,u){return Ks.parseExpressionAt(e,t,u)},tokContexts:Ca,tokTypes:ks,tokenizer:function(e,t){return Ks.tokenizer(e,t)},version:"7.4.1"})),Wa=d((function(e){const t=/^[\da-fA-F]+$/,u=/^\d+$/,i=new WeakMap;function r(e){e=e.Parser.acorn||e;let t=i.get(e);if(!t){const u=e.tokTypes,r=e.TokContext,n=e.TokenType,s=new r("...",!0,!0),c={tc_oTag:s,tc_cTag:a,tc_expr:o},p={jsxName:new n("jsxName"),jsxText:new n("jsxText",{beforeExpr:!0}),jsxTagStart:new n("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new n("jsxTagEnd")};p.jsxTagStart.updateContext=function(){this.context.push(o),this.context.push(s),this.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===u.slash||t===a?(this.context.pop(),this.exprAllowed=this.curContext()===o):this.exprAllowed=!0},t={tokContexts:c,tokTypes:p},i.set(e,t)}return t}function n(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?n(e.object)+"."+n(e.property):void 0:e}e.exports=function(e){return e=e||{},function(i){return function(e,i){const s=i.acorn||qa,a=r(s),o=s.tokTypes,c=a.tokTypes,p=s.tokContexts,D=a.tokContexts.tc_oTag,h=a.tokContexts.tc_cTag,l=a.tokContexts.tc_expr,d=s.isNewLine,f=s.isIdentifierStart,E=s.isIdentifierChar;return class extends i{static get acornJsx(){return a}jsx_readToken(){let e="",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let u=this.input.charCodeAt(this.pos);switch(u){case 60:case 123:return this.pos===this.start?60===u&&this.exprAllowed?(++this.pos,this.finishToken(c.jsxTagStart)):this.getTokenFromCode(u):(e+=this.input.slice(t,this.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(62===u?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:d(u)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,u=this.input.charCodeAt(this.pos);return++this.pos,13===u&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(u),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t="",u=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let i=this.input.charCodeAt(this.pos);if(i===e)break;38===i?(t+=this.input.slice(u,this.pos),t+=this.jsx_readEntity(),u=this.pos):d(i)?(t+=this.input.slice(u,this.pos),t+=this.jsx_readNewLine(!1),u=this.pos):++this.pos}return t+=this.input.slice(u,this.pos++),this.finishToken(o.string,t)}jsx_readEntity(){let e,i="",r=0,n=this.input[this.pos];"&"!==n&&this.raise(this.pos,"Entity must start with an ampersand");let s=++this.pos;for(;this.pos")}let a=r.name?"Element":"Fragment";return u["opening"+a]=r,u["closing"+a]=s,u.children=i,this.type===o.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(u,"JSX"+a)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type="JSXText",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===c.jsxText?this.jsx_parseText():this.type===c.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===l)return this.jsx_readToken();if(t===D||t===h){if(f(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(c.jsxTagEnd);if((34===e||39===e)&&t==D)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(c.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==o.braceL){var t=this.curContext();t==D?this.context.push(p.b_expr):t==l?this.context.push(p.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==o.slash||e!==c.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(h),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},i)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return r(qa).tokTypes},configurable:!0,enumerable:!0})})),Ha={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression",JSXIdentifier:"JSXIdentifier",JSXNamespacedName:"JSXNamespacedName",JSXMemberExpression:"JSXMemberExpression",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXElement:"JSXElement",JSXClosingElement:"JSXClosingElement",JSXOpeningElement:"JSXOpeningElement",JSXAttribute:"JSXAttribute",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportAllDeclaration:"ExportAllDeclaration",ExportSpecifier:"ExportSpecifier",ImportDeclaration:"ImportDeclaration",ImportSpecifier:"ImportSpecifier",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier"};const Ja="Boolean",za="Identifier",Ka="Keyword",Qa="Null",Ya="Numeric",Za="Punctuator",eo="String",to="RegularExpression",uo="Template",io="JSXIdentifier",ro="JSXText";function no(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}no.prototype={constructor:no,translate(e,t){const u=e.type,i=this._acornTokTypes;if(u===i.name)e.type=za,"static"===e.value&&(e.type=Ka),t.ecmaVersion>5&&("yield"===e.value||"let"===e.value)&&(e.type=Ka);else if(u===i.semi||u===i.comma||u===i.parenL||u===i.parenR||u===i.braceL||u===i.braceR||u===i.dot||u===i.bracketL||u===i.colon||u===i.question||u===i.bracketR||u===i.ellipsis||u===i.arrow||u===i.jsxTagStart||u===i.incDec||u===i.starstar||u===i.jsxTagEnd||u===i.prefix||u===i.questionDot||u.binop&&!u.keyword||u.isAssign)e.type=Za,e.value=this._code.slice(e.start,e.end);else if(u===i.jsxName)e.type=io;else if("jsxText"===u.label||u===i.jsxAttrValueToken)e.type=ro;else if(u.keyword)"true"===u.keyword||"false"===u.keyword?e.type=Ja:"null"===u.keyword?e.type=Qa:e.type=Ka;else if(u===i.num)e.type=Ya,e.value=this._code.slice(e.start,e.end);else if(u===i.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=ro):e.type=eo,e.value=this._code.slice(e.start,e.end);else if(u===i.regexp){e.type=to;const t=e.value;e.regex={flags:t.flags,pattern:t.pattern},e.value=`/${t.pattern}/${t.flags}`}return e},onToken(e,t){const u=this,i=this._acornTokTypes,r=t.tokens,n=this._tokens;function s(){r.push(function(e,t){const u=e[0],i=e[e.length-1],r={type:uo,value:t.slice(u.start,i.end)};return u.loc&&(r.loc={start:u.loc.start,end:i.loc.end}),u.range&&(r.start=u.range[0],r.end=i.range[1],r.range=[r.start,r.end]),r}(u._tokens,u._code)),u._tokens=[]}if(e.type!==i.eof){if(e.type===i.backQuote)return this._curlyBrace&&(r.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(e),void(n.length>1&&s());if(e.type===i.dollarBraceL)return n.push(e),void s();if(e.type===i.braceR)return this._curlyBrace&&r.push(this.translate(this._curlyBrace,t)),void(this._curlyBrace=e);if(e.type===i.template||e.type===i.invalidTemplate)return this._curlyBrace&&(n.push(this._curlyBrace),this._curlyBrace=null),void n.push(e);this._curlyBrace&&(r.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),r.push(this.translate(e,t))}else this._curlyBrace&&r.push(this.translate(this._curlyBrace,t))}};var so=no;const ao=[3,5,6,7,8,9,10,11,12];var oo={normalizeOptions:function(e){const t=function(e=5){if("number"!=typeof e)throw new Error(`ecmaVersion must be a number. Received value of type ${typeof e} instead.`);let t=e;if(t>=2015&&(t-=2009),!ao.includes(t))throw new Error("Invalid ecmaVersion.");return t}(e.ecmaVersion),u=function(e="script"){if("script"===e||"module"===e)return e;throw new Error("Invalid sourceType.")}(e.sourceType),i=!0===e.range,r=!0===e.loc;if("module"===u&&t<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},e,{ecmaVersion:t,sourceType:u,ranges:i,locations:r})},getLatestEcmaVersion:function(){return ao[ao.length-1]},getSupportedEcmaVersions:function(){return[...ao]}};const{normalizeOptions:co}=oo,po=Symbol("espree's internal state"),Do=Symbol("espree's esprimaFinishNode");var ho=()=>e=>{const t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(e,u){"object"==typeof e&&null!==e||(e={}),"string"==typeof u||u instanceof String||(u=String(u));const i=co(e),r=i.ecmaFeatures||{},n=!0===i.tokens?new so(t,u):null;super({ecmaVersion:i.ecmaVersion,sourceType:i.sourceType,ranges:i.ranges,locations:i.locations,allowReturnOutsideFunction:Boolean(r.globalReturn),onToken:e=>{n&&n.onToken(e,this[po]),e.type!==t.eof&&(this[po].lastToken=e)},onComment:(e,t,u,i,r,n)=>{if(this[po].comments){const s=function(e,t,u,i,r,n){const s={type:e?"Block":"Line",value:t};return"number"==typeof u&&(s.start=u,s.end=i,s.range=[u,i]),"object"==typeof r&&(s.loc={start:r,end:n}),s}(e,t,u,i,r,n);this[po].comments.push(s)}}},u),this[po]={tokens:n?[]:null,comments:!0===i.comment?[]:null,impliedStrict:!0===r.impliedStrict&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null}}tokenize(){do{this.next()}while(this.type!==t.eof);this.next();const e=this[po],u=e.tokens;return e.comments&&(u.comments=e.comments),u}finishNode(...e){const t=super.finishNode(...e);return this[Do](t)}finishNodeAt(...e){const t=super.finishNodeAt(...e);return this[Do](t)}parse(){const e=this[po],t=super.parse();return t.sourceType=this.options.sourceType,e.comments&&(t.comments=e.comments),e.tokens&&(t.tokens=e.tokens),t.range&&(t.range[0]=t.body.length?t.body[0].range[0]:t.range[0],t.range[1]=e.lastToken?e.lastToken.range[1]:t.range[1]),t.loc&&(t.loc.start=t.body.length?t.body[0].loc.start:t.loc.start,t.loc.end=e.lastToken?e.lastToken.loc.end:t.loc.end),t}parseTopLevel(e){return this[po].impliedStrict&&(this.strict=!0),super.parseTopLevel(e)}raise(t,u){const i=e.acorn.getLineInfo(this.input,t),r=new SyntaxError(u);throw r.index=t,r.lineNumber=i.line,r.column=i.column+1,r}raiseRecoverable(e,t){this.raise(e,t)}unexpected(e){let t="Unexpected token";if(null!=e){if(this.pos=e,this.options.locations)for(;this.posthis.start&&(t+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,t)}jsx_readString(e){const u=super.jsx_readString(e);return this.type===t.string&&(this[po].jsxAttrValueToken=!0),u}[Do](e){if("TemplateElement"===e.type){const t="${"===this.input.slice(e.end,e.end+2);e.range&&(e.range[0]--,e.range[1]+=t?2:1),e.loc&&(e.loc.start.column--,e.loc.end.column+=t?2:1)}return e.type.indexOf("Function")>-1&&!e.generator&&(e.generator=!1),e}}},lo="7.3.1",fo={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};const Eo=Object.freeze(Object.keys(fo));for(const e of Eo)Object.freeze(fo[e]);Object.freeze(fo);const Co=new Set(["parent","leadingComments","trailingComments"]);function mo(e){return!Co.has(e)&&"_"!==e[0]}var Ao=Object.freeze({KEYS:fo,getKeys:e=>Object.keys(e).filter(mo),unionWith(e){const t=Object.assign({},fo);for(const u of Object.keys(e))if(t.hasOwnProperty(u)){const i=new Set(e[u]);for(const e of t[u])i.add(e);t[u]=Object.freeze(Array.from(i))}else t[u]=Object.freeze(Array.from(e[u]));return Object.freeze(t)}});const{getLatestEcmaVersion:Fo,getSupportedEcmaVersions:go}=oo,yo={_regular:null,_jsx:null,get regular(){return null===this._regular&&(this._regular=qa.Parser.extend(ho())),this._regular},get jsx(){return null===this._jsx&&(this._jsx=qa.Parser.extend(Wa(),ho())),this._jsx},get(e){return Boolean(e&&e.ecmaFeatures&&e.ecmaFeatures.jsx)?this.jsx:this.regular}};var xo={version:lo,tokenize:function(e,t){const u=yo.get(t);return t&&!0===t.tokens||(t=Object.assign({},t,{tokens:!0})),new u(t,e).tokenize()},parse:function(e,t){return new(yo.get(t))(t,e).parse()},Syntax:function(){let e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),Ha)Object.hasOwnProperty.call(Ha,e)&&(t[e]=Ha[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}(),VisitorKeys:Ao.KEYS,latestEcmaVersion:Fo(),supportedEcmaVersions:go()};const Bo={range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};var vo={parsers:{espree:Ds((function(u,i,r){const{parse:n,latestEcmaVersion:s}=xo;Bo.ecmaVersion=s;const a=hs(u),{result:o,error:c}=t((()=>n(a,Object.assign(Object.assign({},Bo),{},{sourceType:"module"}))),(()=>n(a,Object.assign(Object.assign({},Bo),{},{sourceType:"script"}))));if(!o)throw function(t){const{message:u,lineNumber:i,column:r}=t;return"number"!=typeof i?t:e(u,{start:{line:i,column:r}})}(c);return ln(o,Object.assign(Object.assign({},r),{},{originalText:u}))}))}};export default vo; diff --git a/node_modules/prettier/esm/parser-flow.mjs b/node_modules/prettier/esm/parser-flow.mjs new file mode 100644 index 000000000..56407641b --- /dev/null +++ b/node_modules/prettier/esm/parser-flow.mjs @@ -0,0 +1,22 @@ +var r=function(r,t){const e=new SyntaxError(r+" ("+t.start.line+":"+t.start.column+")");return e.loc=t,e},t=r=>"string"==typeof r?r.replace((({onlyFirst:r=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,r?void 0:"g")})(),""):r;const e=r=>!Number.isNaN(r)&&(r>=4352&&(r<=4447||9001===r||9002===r||11904<=r&&r<=12871&&12351!==r||12880<=r&&r<=19903||19968<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65131||65281<=r&&r<=65376||65504<=r&&r<=65510||110592<=r&&r<=110593||127488<=r&&r<=127569||131072<=r&&r<=262141));var n=e,u=e;n.default=u;const a=r=>{if("string"!=typeof r||0===r.length)return 0;if(0===(r=t(r)).length)return 0;r=r.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let e=0;for(let t=0;t=127&&u<=159||(u>=768&&u<=879||(u>65535&&t++,e+=n(u)?2:1))}return e};var i=a,c=a;i.default=c;var f=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");return r.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var o=r=>r[r.length-1];function s(r,t){if(null==r)return{};var e,n,u=function(r,t){if(null==r)return{};var e,n,u={},a=Object.keys(r);for(n=0;n=0||(u[e]=r[e]);return u}(r,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(r,e)&&(u[e]=r[e])}return u}var v="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(r){return r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function D(r){var t={exports:{}};return r(t,t.exports),t.exports}var p=function(r){return r&&r.Math==Math&&r},b=p("object"==typeof globalThis&&globalThis)||p("object"==typeof window&&window)||p("object"==typeof self&&self)||p("object"==typeof v&&v)||function(){return this}()||Function("return this")(),E=function(r){try{return!!r()}catch(r){return!0}},F=!E((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),d={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,h={f:m&&!d.call({1:2},1)?function(r){var t=m(this,r);return!!t&&t.enumerable}:d},k=function(r,t){return{enumerable:!(1&r),configurable:!(2&r),writable:!(4&r),value:t}},y={}.toString,A=function(r){return y.call(r).slice(8,-1)},_="".split,C=E((function(){return!Object("z").propertyIsEnumerable(0)}))?function(r){return"String"==A(r)?_.call(r,""):Object(r)}:Object,w=function(r){if(null==r)throw TypeError("Can't call method on "+r);return r},S=function(r){return C(w(r))},g=function(r){return"object"==typeof r?null!==r:"function"==typeof r},B=function(r,t){if(!g(r))return r;var e,n;if(t&&"function"==typeof(e=r.toString)&&!g(n=e.call(r)))return n;if("function"==typeof(e=r.valueOf)&&!g(n=e.call(r)))return n;if(!t&&"function"==typeof(e=r.toString)&&!g(n=e.call(r)))return n;throw TypeError("Can't convert object to primitive value")},T=function(r){return Object(w(r))},I={}.hasOwnProperty,O=Object.hasOwn||function(r,t){return I.call(T(r),t)},N=b.document,x=g(N)&&g(N.createElement),L=!F&&!E((function(){return 7!=Object.defineProperty((r="div",x?N.createElement(r):{}),"a",{get:function(){return 7}}).a;var r})),P=Object.getOwnPropertyDescriptor,R={f:F?P:function(r,t){if(r=S(r),t=B(t,!0),L)try{return P(r,t)}catch(r){}if(O(r,t))return k(!h.f.call(r,t),r[t])}},M=function(r){if(!g(r))throw TypeError(String(r)+" is not an object");return r},G=Object.defineProperty,U={f:F?G:function(r,t,e){if(M(r),t=B(t,!0),M(e),L)try{return G(r,t,e)}catch(r){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(r[t]=e.value),r}},j=F?function(r,t,e){return U.f(r,t,k(1,e))}:function(r,t,e){return r[t]=e,r},X=function(r,t){try{j(b,r,t)}catch(e){b[r]=t}return t},H=b["__core-js_shared__"]||X("__core-js_shared__",{}),$=Function.toString;"function"!=typeof H.inspectSource&&(H.inspectSource=function(r){return $.call(r)});var Y,V,K,J,W=H.inspectSource,q=b.WeakMap,z="function"==typeof q&&/native code/.test(W(q)),Q=D((function(r){(r.exports=function(r,t){return H[r]||(H[r]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),Z=0,rr=Math.random(),tr=function(r){return"Symbol("+String(void 0===r?"":r)+")_"+(++Z+rr).toString(36)},er=Q("keys"),nr={},ur=b.WeakMap;if(z||H.state){var ar=H.state||(H.state=new ur),ir=ar.get,cr=ar.has,fr=ar.set;Y=function(r,t){if(cr.call(ar,r))throw new TypeError("Object already initialized");return t.facade=r,fr.call(ar,r,t),t},V=function(r){return ir.call(ar,r)||{}},K=function(r){return cr.call(ar,r)}}else{var or=er[J="state"]||(er[J]=tr(J));nr[or]=!0,Y=function(r,t){if(O(r,or))throw new TypeError("Object already initialized");return t.facade=r,j(r,or,t),t},V=function(r){return O(r,or)?r[or]:{}},K=function(r){return O(r,or)}}var sr,vr,lr={set:Y,get:V,has:K,enforce:function(r){return K(r)?V(r):Y(r,{})},getterFor:function(r){return function(t){var e;if(!g(t)||(e=V(t)).type!==r)throw TypeError("Incompatible receiver, "+r+" required");return e}}},Dr=D((function(r){var t=lr.get,e=lr.enforce,n=String(String).split("String");(r.exports=function(r,t,u,a){var i,c=!!a&&!!a.unsafe,f=!!a&&!!a.enumerable,o=!!a&&!!a.noTargetGet;"function"==typeof u&&("string"!=typeof t||O(u,"name")||j(u,"name",t),(i=e(u)).source||(i.source=n.join("string"==typeof t?t:""))),r!==b?(c?!o&&r[t]&&(f=!0):delete r[t],f?r[t]=u:j(r,t,u)):f?r[t]=u:X(t,u)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||W(this)}))})),pr=b,br=function(r){return"function"==typeof r?r:void 0},Er=function(r,t){return arguments.length<2?br(pr[r])||br(b[r]):pr[r]&&pr[r][t]||b[r]&&b[r][t]},Fr=Math.ceil,dr=Math.floor,mr=function(r){return isNaN(r=+r)?0:(r>0?dr:Fr)(r)},hr=Math.min,kr=function(r){return r>0?hr(mr(r),9007199254740991):0},yr=Math.max,Ar=Math.min,_r=function(r){return function(t,e,n){var u,a=S(t),i=kr(a.length),c=function(r,t){var e=mr(r);return e<0?yr(e+t,0):Ar(e,t)}(n,i);if(r&&e!=e){for(;i>c;)if((u=a[c++])!=u)return!0}else for(;i>c;c++)if((r||c in a)&&a[c]===e)return r||c||0;return!r&&-1}},Cr={includes:_r(!0),indexOf:_r(!1)}.indexOf,wr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Sr={f:Object.getOwnPropertyNames||function(r){return function(r,t){var e,n=S(r),u=0,a=[];for(e in n)!O(nr,e)&&O(n,e)&&a.push(e);for(;t.length>u;)O(n,e=t[u++])&&(~Cr(a,e)||a.push(e));return a}(r,wr)}},gr={f:Object.getOwnPropertySymbols},Br=Er("Reflect","ownKeys")||function(r){var t=Sr.f(M(r)),e=gr.f;return e?t.concat(e(r)):t},Tr=function(r,t){for(var e=Br(t),n=U.f,u=R.f,a=0;a0&&Ur(f))o=Hr(r,t,f,kr(f.length),o,a-1)-1;else{if(o>=9007199254740991)throw TypeError("Exceed the acceptable array length");r[o]=f}o++}s++}return o},$r=Hr,Yr=Er("navigator","userAgent")||"",Vr=b.process,Kr=Vr&&Vr.versions,Jr=Kr&&Kr.v8;Jr?vr=(sr=Jr.split("."))[0]<4?1:sr[0]+sr[1]:Yr&&(!(sr=Yr.match(/Edge\/(\d+)/))||sr[1]>=74)&&(sr=Yr.match(/Chrome\/(\d+)/))&&(vr=sr[1]);var Wr=vr&&+vr,qr=!!Object.getOwnPropertySymbols&&!E((function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Wr&&Wr<41})),zr=qr&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Qr=Q("wks"),Zr=b.Symbol,rt=zr?Zr:Zr&&Zr.withoutSetter||tr,tt=function(r){return O(Qr,r)&&(qr||"string"==typeof Qr[r])||(qr&&O(Zr,r)?Qr[r]=Zr[r]:Qr[r]=rt("Symbol."+r)),Qr[r]},et=tt("species"),nt=function(r,t){var e;return Ur(r)&&("function"!=typeof(e=r.constructor)||e!==Array&&!Ur(e.prototype)?g(e)&&null===(e=e[et])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===t?0:t)};Gr({target:"Array",proto:!0},{flatMap:function(r){var t,e=T(this),n=kr(e.length);return jr(r),(t=nt(e,0)).length=$r(t,e,e,n,0,1,r,arguments.length>1?arguments[1]:void 0),t}});var ut,at,it=Math.floor,ct=function(r,t){var e=r.length,n=it(e/2);return e<8?ft(r,t):ot(ct(r.slice(0,n),t),ct(r.slice(n),t),t)},ft=function(r,t){for(var e,n,u=r.length,a=1;a0;)r[n]=r[--n];n!==a++&&(r[n]=e)}return r},ot=function(r,t,e){for(var n=r.length,u=t.length,a=0,i=0,c=[];a3)){if(Dt)return!0;if(bt)return bt<603;var r,t,e,n,u="";for(r=65;r<76;r++){switch(t=String.fromCharCode(r),r){case 66:case 69:case 70:case 72:e=3;break;case 68:case 71:e=4;break;default:e=2}for(n=0;n<47;n++)Et.push({k:t+n,v:e})}for(Et.sort((function(r,t){return t.v-r.v})),n=0;nString(e)?1:-1}}(r))).length,n=0;na;a++)if((c=F(r[a]))&&c instanceof Ot)return c;return new Ot(!1)}n=u.call(r)}for(f=n.next;!(o=f.call(n)).done;){try{c=F(o.value)}catch(r){throw It(n),r}if("object"==typeof c&&c&&c instanceof Ot)return c}return new Ot(!1)};Gr({target:"Object",stat:!0},{fromEntries:function(r){var t={};return Nt(r,(function(r,e){!function(r,t,e){var n=B(t);n in r?U.f(r,n,k(0,e)):r[n]=e}(t,r,e)}),{AS_ENTRIES:!0}),t}});var xt=void 0!==xt?xt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Lt(){throw new Error("setTimeout has not been defined")}function Pt(){throw new Error("clearTimeout has not been defined")}var Rt=Lt,Mt=Pt;function Gt(r){if(Rt===setTimeout)return setTimeout(r,0);if((Rt===Lt||!Rt)&&setTimeout)return Rt=setTimeout,setTimeout(r,0);try{return Rt(r,0)}catch(t){try{return Rt.call(null,r,0)}catch(t){return Rt.call(this,r,0)}}}"function"==typeof xt.setTimeout&&(Rt=setTimeout),"function"==typeof xt.clearTimeout&&(Mt=clearTimeout);var Ut,jt=[],Xt=!1,Ht=-1;function $t(){Xt&&Ut&&(Xt=!1,Ut.length?jt=Ut.concat(jt):Ht=-1,jt.length&&Yt())}function Yt(){if(!Xt){var r=Gt($t);Xt=!0;for(var t=jt.length;t;){for(Ut=jt,jt=[];++Ht1)for(var e=1;econsole.error("SEMVER",...r):()=>{};var ie={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},ce=D((function(r,t){const{MAX_SAFE_COMPONENT_LENGTH:e}=ie,n=(t=r.exports={}).re=[],u=t.src=[],a=t.t={};let i=0;const c=(r,t,e)=>{const c=i++;ae(c,t),a[r]=c,u[c]=t,n[c]=new RegExp(t,e?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${u[a.NUMERICIDENTIFIER]})\\.(${u[a.NUMERICIDENTIFIER]})\\.(${u[a.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${u[a.NUMERICIDENTIFIERLOOSE]})\\.(${u[a.NUMERICIDENTIFIERLOOSE]})\\.(${u[a.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${u[a.NUMERICIDENTIFIER]}|${u[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${u[a.NUMERICIDENTIFIERLOOSE]}|${u[a.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${u[a.PRERELEASEIDENTIFIER]}(?:\\.${u[a.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${u[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[a.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${u[a.BUILDIDENTIFIER]}(?:\\.${u[a.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${u[a.MAINVERSION]}${u[a.PRERELEASE]}?${u[a.BUILD]}?`),c("FULL",`^${u[a.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${u[a.MAINVERSIONLOOSE]}${u[a.PRERELEASELOOSE]}?${u[a.BUILD]}?`),c("LOOSE",`^${u[a.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${u[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${u[a.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${u[a.XRANGEIDENTIFIER]})(?:\\.(${u[a.XRANGEIDENTIFIER]})(?:\\.(${u[a.XRANGEIDENTIFIER]})(?:${u[a.PRERELEASE]})?${u[a.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${u[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[a.XRANGEIDENTIFIERLOOSE]})(?:${u[a.PRERELEASELOOSE]})?${u[a.BUILD]}?)?)?`),c("XRANGE",`^${u[a.GTLT]}\\s*${u[a.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${u[a.GTLT]}\\s*${u[a.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${e}})(?:\\.(\\d{1,${e}}))?(?:\\.(\\d{1,${e}}))?(?:$|[^\\d])`),c("COERCERTL",u[a.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${u[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${u[a.LONETILDE]}${u[a.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${u[a.LONETILDE]}${u[a.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${u[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${u[a.LONECARET]}${u[a.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${u[a.LONECARET]}${u[a.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${u[a.GTLT]}\\s*(${u[a.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${u[a.GTLT]}\\s*(${u[a.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${u[a.GTLT]}\\s*(${u[a.LOOSEPLAIN]}|${u[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${u[a.XRANGEPLAIN]})\\s+-\\s+(${u[a.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${u[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[a.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const fe=["includePrerelease","loose","rtl"];var oe=r=>r?"object"!=typeof r?{loose:!0}:fe.filter((t=>r[t])).reduce(((r,t)=>(r[t]=!0,r)),{}):{};const se=/^[0-9]+$/,ve=(r,t)=>{const e=se.test(r),n=se.test(t);return e&&n&&(r=+r,t=+t),r===t?0:e&&!n?-1:n&&!e?1:rve(t,r)};const{MAX_LENGTH:De,MAX_SAFE_INTEGER:pe}=ie,{re:be,t:Ee}=ce,{compareIdentifiers:Fe}=le;class de{constructor(r,t){if(t=oe(t),r instanceof de){if(r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease)return r;r=r.version}else if("string"!=typeof r)throw new TypeError(`Invalid Version: ${r}`);if(r.length>De)throw new TypeError(`version is longer than ${De} characters`);ae("SemVer",r,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const e=r.trim().match(t.loose?be[Ee.LOOSE]:be[Ee.FULL]);if(!e)throw new TypeError(`Invalid Version: ${r}`);if(this.raw=r,this.major=+e[1],this.minor=+e[2],this.patch=+e[3],this.major>pe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>pe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>pe||this.patch<0)throw new TypeError("Invalid patch version");e[4]?this.prerelease=e[4].split(".").map((r=>{if(/^[0-9]+$/.test(r)){const t=+r;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${r}`)}return this.format(),this.raw=this.version,this}}var me=de;var he=(r,t,e)=>new me(r,e).compare(new me(t,e));var ke=(r,t,e)=>he(r,t,e)<0;var ye=(r,t,e)=>he(r,t,e)>=0,Ae="2.3.2",_e=D((function(r,t){function e(){for(var r=[],t=0;t"string"==typeof r||"function"==typeof r,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ce` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ce` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Ce` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ce` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Se=["cliName","cliCategory","cliDescription"],ge={compare:he,lt:ke,gte:ye},Be=Ae,Te={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:we}.options;var Ie={getSupportInfo:function({plugins:r=[],showUnreleased:t=!1,showDeprecated:e=!1,showInternal:n=!1}={}){const u=Be.split("-",1)[0],a=r.flatMap((r=>r.languages||[])).filter(o),i=(c=Object.assign({},...r.map((({options:r})=>r)),Te),f="name",Object.entries(c).map((([r,t])=>Object.assign({[f]:r},t)))).filter((r=>o(r)&&v(r))).sort(((r,t)=>r.name===t.name?0:r.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(o).sort(((r,t)=>ge.compare(t.since,r.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((r=>o(r)&&v(r))),"parser"===t.name&&function(r,t,e){const n=new Set(r.choices.map((r=>r.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const a=e.find((r=>r.parsers&&r.parsers[t]));let i=u.name;a&&a.name&&(i+=` (plugin: ${a.name})`),r.choices.push({value:t,description:i})}}(t,a,r));const e=Object.fromEntries(r.filter((r=>r.defaultOptions&&void 0!==r.defaultOptions[t.name])).map((r=>[r.name,r.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:e})}));var c,f;return{languages:a,options:i};function o(r){return t||!("since"in r)||r.since&&ge.gte(u,r.since)}function v(r){return e||!("deprecated"in r)||r.deprecated&&ge.lt(u,r.deprecated)}}};const{getSupportInfo:Oe}=Ie,Ne=/[^\x20-\x7F]/;function xe(r){return(t,e,n)=>{const u=n&&n.backwards;if(!1===e)return!1;const{length:a}=t;let i=e;for(;i>=0&&i(e.match(i.regex)||[]).length?i.quote:a.quote}return c}function Je(r,t,e){const n='"'===t?"'":'"',u=r.replace(/\\(.)|(["'])/gs,((r,u,a)=>u===n?u:a===t?"\\"+a:a||(e&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return t+u+t}function We(r,t){(r.comments||(r.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(r){const t=r.type||r.kind||"(unknown type)";let e=String(r.name||r.id&&("object"==typeof r.id?r.id.name:r.id)||r.key&&("object"==typeof r.key?r.key.name:r.key)||r.value&&("object"==typeof r.value?"":String(r.value))||r.operator||"");e.length>20&&(e=e.slice(0,19)+"\u2026");return t+(e?" "+e:"")}(r)}var qe={inferParserByLanguage:function(r,t){const{languages:e}=Oe({plugins:t.plugins}),n=e.find((({name:t})=>t.toLowerCase()===r))||e.find((({aliases:t})=>Array.isArray(t)&&t.includes(r)))||e.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${r}`)));return n&&n.parsers[0]},getStringWidth:function(r){return r?Ne.test(r)?i(r):r.length:0},getMaxContinuousCount:function(r,t){const e=r.match(new RegExp(`(${f(t)})+`,"g"));return null===e?0:e.reduce(((r,e)=>Math.max(r,e.length/t.length)),0)},getMinNotPresentContinuousCount:function(r,t){const e=r.match(new RegExp(`(${f(t)})+`,"g"));if(null===e)return 0;const n=new Map;let u=0;for(const r of e){const e=r.length/t.length;n.set(e,!0),e>u&&(u=e)}for(let r=1;rr[r.length-2],getLast:o,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:$e,getNextNonSpaceNonCommentCharacterIndex:Ye,getNextNonSpaceNonCommentCharacter:function(r,t,e){return r.charAt(Ye(r,t,e))},skip:xe,skipWhitespace:Le,skipSpaces:Pe,skipToLineEnd:Re,skipEverythingButNewLine:Me,skipInlineComment:Ge,skipTrailingComment:Ue,skipNewline:je,isNextLineEmptyAfterIndex:He,isNextLineEmpty:function(r,t,e){return He(r,e(t))},isPreviousLineEmpty:function(r,t,e){let n=e(t)-1;return n=Pe(r,n,{backwards:!0}),n=je(r,n,{backwards:!0}),n=Pe(r,n,{backwards:!0}),n!==je(r,n,{backwards:!0})},hasNewline:Xe,hasNewlineInRange:function(r,t,e){for(let n=t;n0},createGroupIdMapper:function(r){const t=new WeakMap;return function(e){return t.has(e)||t.set(e,Symbol(r)),t.get(e)}}};const{isNonEmptyArray:ze}=qe;function Qe(r,t){const{ignoreDecorators:e}=t||{};if(!e){const t=r.declaration&&r.declaration.decorators||r.decorators;if(ze(t))return Qe(t[0])}return r.range?r.range[0]:r.start}function Ze(r){return r.range?r.range[1]:r.end}function rn(r,t){return Qe(r)===Qe(t)}var tn={locStart:Qe,locEnd:Ze,hasSameLocStart:rn,hasSameLoc:function(r,t){return rn(r,t)&&function(r,t){return Ze(r)===Ze(t)}(r,t)}},en=D((function(r){!function(){function t(r){if(null==r)return!1;switch(r.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function e(r){switch(r.type){case"IfStatement":return null!=r.alternate?r.alternate:r.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return r.body}return null}r.exports={isExpression:function(r){if(null==r)return!1;switch(r.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(r){if(null==r)return!1;switch(r.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(r){return t(r)||null!=r&&"FunctionDeclaration"===r.type},isProblematicIfStatement:function(r){var t;if("IfStatement"!==r.type)return!1;if(null==r.alternate)return!1;t=r.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=e(t)}while(t);return!1},trailingStatement:e}}()})),nn=D((function(r){!function(){var t,e,n,u,a,i;function c(r){return r<=65535?String.fromCharCode(r):String.fromCharCode(Math.floor((r-65536)/1024)+55296)+String.fromCharCode((r-65536)%1024+56320)}for(e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(a=new Array(128),i=0;i<128;++i)a[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;r.exports={isDecimalDigit:function(r){return 48<=r&&r<=57},isHexDigit:function(r){return 48<=r&&r<=57||97<=r&&r<=102||65<=r&&r<=70},isOctalDigit:function(r){return r>=48&&r<=55},isWhiteSpace:function(r){return 32===r||9===r||11===r||12===r||160===r||r>=5760&&n.indexOf(r)>=0},isLineTerminator:function(r){return 10===r||13===r||8232===r||8233===r},isIdentifierStartES5:function(r){return r<128?u[r]:e.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES5:function(r){return r<128?a[r]:e.NonAsciiIdentifierPart.test(c(r))},isIdentifierStartES6:function(r){return r<128?u[r]:t.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES6:function(r){return r<128?a[r]:t.NonAsciiIdentifierPart.test(c(r))}}}()})),un=D((function(r){!function(){var t=nn;function e(r,t){return!(!t&&"yield"===r)&&n(r,t)}function n(r,t){if(t&&function(r){switch(r){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(r))return!0;switch(r.length){case 2:return"if"===r||"in"===r||"do"===r;case 3:return"var"===r||"for"===r||"new"===r||"try"===r;case 4:return"this"===r||"else"===r||"case"===r||"void"===r||"with"===r||"enum"===r;case 5:return"while"===r||"break"===r||"catch"===r||"throw"===r||"const"===r||"yield"===r||"class"===r||"super"===r;case 6:return"return"===r||"typeof"===r||"delete"===r||"switch"===r||"export"===r||"import"===r;case 7:return"default"===r||"finally"===r||"extends"===r;case 8:return"function"===r||"continue"===r||"debugger"===r;case 10:return"instanceof"===r;default:return!1}}function u(r,t){return"null"===r||"true"===r||"false"===r||e(r,t)}function a(r,t){return"null"===r||"true"===r||"false"===r||n(r,t)}function i(r){var e,n,u;if(0===r.length)return!1;if(u=r.charCodeAt(0),!t.isIdentifierStartES5(u))return!1;for(e=1,n=r.length;e=n)return!1;if(!(56320<=(a=r.charCodeAt(e))&&a<=57343))return!1;u=1024*(u-55296)+(a-56320)+65536}if(!i(u))return!1;i=t.isIdentifierPartES6}return!0}r.exports={isKeywordES5:e,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:a,isRestrictedWord:function(r){return"eval"===r||"arguments"===r},isIdentifierNameES5:i,isIdentifierNameES6:c,isIdentifierES5:function(r,t){return i(r)&&!u(r,t)},isIdentifierES6:function(r,t){return c(r)&&!a(r,t)}}}()}));const an=D((function(r,t){t.ast=en,t.code=nn,t.keyword=un})).keyword.isIdentifierNameES5,{getLast:cn,hasNewline:fn,skipWhitespace:on,isNonEmptyArray:sn,isNextLineEmptyAfterIndex:vn}=qe,{locStart:ln,locEnd:Dn,hasSameLocStart:pn}=tn,bn=new RegExp("^(?:(?=.)\\s)*:"),En=new RegExp("^(?:(?=.)\\s)*::");function Fn(r){return"Block"===r.type||"CommentBlock"===r.type||"MultiLine"===r.type}function dn(r){return"Line"===r.type||"CommentLine"===r.type||"SingleLine"===r.type||"HashbangComment"===r.type||"HTMLOpen"===r.type||"HTMLClose"===r.type}const mn=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function hn(r){return r&&mn.has(r.type)}function kn(r){return"NumericLiteral"===r.type||"Literal"===r.type&&"number"==typeof r.value}function yn(r){return"StringLiteral"===r.type||"Literal"===r.type&&"string"==typeof r.value}function An(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type}function _n(r){return In(r)&&"Identifier"===r.callee.type&&("async"===r.callee.name||"inject"===r.callee.name||"fakeAsync"===r.callee.name)}function Cn(r){return"JSXElement"===r.type||"JSXFragment"===r.type}function wn(r){return"get"===r.kind||"set"===r.kind}function Sn(r){return wn(r)||pn(r,r.value)}const gn=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Bn=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Tn=/^(skip|[fx]?(it|describe|test))$/;function In(r){return r&&("CallExpression"===r.type||"OptionalCallExpression"===r.type)}function On(r){return r&&("MemberExpression"===r.type||"OptionalMemberExpression"===r.type)}function Nn(r){return/^(\d+|\d+\.\d+)$/.test(r)}function xn(r){return r.quasis.some((r=>r.value.raw.includes("\n")))}function Ln(r){return r.extra?r.extra.raw:r.raw}const Pn={"==":!0,"!=":!0,"===":!0,"!==":!0},Rn={"*":!0,"/":!0,"%":!0},Mn={">>":!0,">>>":!0,"<<":!0};const Gn={};for(const[r,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const e of t)Gn[e]=r;function Un(r){return Gn[r]}const jn=new WeakMap;function Xn(r){if(jn.has(r))return jn.get(r);const t=[];return r.this&&t.push(r.this),Array.isArray(r.parameters)?t.push(...r.parameters):Array.isArray(r.params)&&t.push(...r.params),r.rest&&t.push(r.rest),jn.set(r,t),t}const Hn=new WeakMap;function $n(r){if(Hn.has(r))return Hn.get(r);let t=r.arguments;return"ImportExpression"===r.type&&(t=[r.source],r.attributes&&t.push(r.attributes)),Hn.set(r,t),t}function Yn(r){return"prettier-ignore"===r.value.trim()&&!r.unignore}function Vn(r){return r&&(r.prettierIgnore||Wn(r,Kn.PrettierIgnore))}const Kn={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Jn=(r,t)=>{if("function"==typeof r&&(t=r,r=0),r||t)return(e,n,u)=>!(r&Kn.Leading&&!e.leading||r&Kn.Trailing&&!e.trailing||r&Kn.Dangling&&(e.leading||e.trailing)||r&Kn.Block&&!Fn(e)||r&Kn.Line&&!dn(e)||r&Kn.First&&0!==n||r&Kn.Last&&n!==u.length-1||r&Kn.PrettierIgnore&&!Yn(e)||t&&!t(e))};function Wn(r,t,e){if(!r||!sn(r.comments))return!1;const n=Jn(t,e);return!n||r.comments.some(n)}function qn(r,t,e){if(!r||!Array.isArray(r.comments))return[];const n=Jn(t,e);return n?r.comments.filter(n):r.comments}function zn(r){return In(r)||"NewExpression"===r.type||"ImportExpression"===r.type}var Qn={getFunctionParameters:Xn,iterateFunctionParametersPath:function(r,t){const e=r.getValue();let n=0;const u=r=>t(r,n++);e.this&&r.call(u,"this"),Array.isArray(e.parameters)?r.each(u,"parameters"):Array.isArray(e.params)&&r.each(u,"params"),e.rest&&r.call(u,"rest")},getCallArguments:$n,iterateCallArgumentsPath:function(r,t){const e=r.getValue();"ImportExpression"===e.type?(r.call((r=>t(r,0)),"source"),e.attributes&&r.call((r=>t(r,1)),"attributes")):r.each(t,"arguments")},hasRestParameter:function(r){if(r.rest)return!0;const t=Xn(r);return t.length>0&&"RestElement"===cn(t).type},getLeftSide:function(r){return r.expressions?r.expressions[0]:r.left||r.test||r.callee||r.object||r.tag||r.argument||r.expression},getLeftSidePathName:function(r,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(r){const t=r.getParentNode();return"declaration"===r.getName()&&hn(t)?t:null},getTypeScriptMappedTypeModifier:function(r,t){return"+"===r?"+"+t:"-"===r?"-"+t:t},hasFlowAnnotationComment:function(r){return r&&Fn(r[0])&&En.test(r[0].value)},hasFlowShorthandAnnotationComment:function(r){return r.extra&&r.extra.parenthesized&&sn(r.trailingComments)&&Fn(r.trailingComments[0])&&bn.test(r.trailingComments[0].value)},hasLeadingOwnLineComment:function(r,t){return Cn(t)?Vn(t):Wn(t,Kn.Leading,(t=>fn(r,Dn(t))))},hasNakedLeftSide:function(r){return"AssignmentExpression"===r.type||"BinaryExpression"===r.type||"LogicalExpression"===r.type||"NGPipeExpression"===r.type||"ConditionalExpression"===r.type||In(r)||On(r)||"SequenceExpression"===r.type||"TaggedTemplateExpression"===r.type||"BindExpression"===r.type||"UpdateExpression"===r.type&&!r.prefix||"TSAsExpression"===r.type||"TSNonNullExpression"===r.type},hasNode:function r(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>r(t,e)));const n=e(t);return"boolean"==typeof n?n:Object.values(t).some((t=>r(t,e)))},hasIgnoreComment:function(r){return Vn(r.getValue())},hasNodeIgnoreComment:Vn,identity:function(r){return r},isBinaryish:function(r){return gn.has(r.type)},isBlockComment:Fn,isCallLikeExpression:zn,isLineComment:dn,isPrettierIgnoreComment:Yn,isCallExpression:In,isMemberExpression:On,isExportDeclaration:hn,isFlowAnnotationComment:function(r,t){const e=ln(t),n=on(r,Dn(t));return!1!==n&&"/*"===r.slice(e,e+2)&&"*/"===r.slice(n,n+2)},isFunctionCompositionArgs:function(r){if(r.length<=1)return!1;let t=0;for(const e of r)if(An(e)){if(t+=1,t>1)return!0}else if(In(e))for(const r of e.arguments)if(An(r))return!0;return!1},isFunctionNotation:Sn,isFunctionOrArrowExpression:An,isGetterOrSetter:wn,isJestEachTemplateLiteral:function(r,t){const e=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===r&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&e.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&e.test(t.tag.object.object.name))},isJsxNode:Cn,isLiteral:function(r){return"BooleanLiteral"===r.type||"DirectiveLiteral"===r.type||"Literal"===r.type||"NullLiteral"===r.type||"NumericLiteral"===r.type||"BigIntLiteral"===r.type||"DecimalLiteral"===r.type||"RegExpLiteral"===r.type||"StringLiteral"===r.type||"TemplateLiteral"===r.type||"TSTypeLiteral"===r.type||"JSXText"===r.type},isLongCurriedCallExpression:function(r){const t=r.getValue(),e=r.getParentNode();return In(t)&&In(e)&&e.callee===t&&t.arguments.length>e.arguments.length&&e.arguments.length>0},isSimpleCallArgument:function r(t,e){if(e>=2)return!1;const n=t=>r(t,e+1),u="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(u&&u.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((r=>!r.value.raw.includes("\n")))&&t.expressions.every(n):"ObjectExpression"===t.type?t.properties.every((r=>!r.computed&&(r.shorthand||r.value&&n(r.value)))):"ArrayExpression"===t.type?t.elements.every((r=>null===r||n(r))):zn(t)?("ImportExpression"===t.type||r(t.callee,e))&&$n(t).every(n):On(t)?r(t.object,e)&&r(t.property,e):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&r(t.expression,e):r(t.argument,e)))},isMemberish:function(r){return On(r)||"BindExpression"===r.type&&Boolean(r.object)},isNumericLiteral:kn,isSignedNumericLiteral:function(r){return"UnaryExpression"===r.type&&("+"===r.operator||"-"===r.operator)&&kn(r.argument)},isObjectProperty:function(r){return r&&("ObjectProperty"===r.type||"Property"===r.type&&!r.method&&"init"===r.kind)},isObjectType:function(r){return"ObjectTypeAnnotation"===r.type||"TSTypeLiteral"===r.type},isObjectTypePropertyAFunction:function(r){return!("ObjectTypeProperty"!==r.type&&"ObjectTypeInternalSlot"!==r.type||"FunctionTypeAnnotation"!==r.value.type||r.static||Sn(r))},isSimpleType:function(r){return!!r&&(!("GenericTypeAnnotation"!==r.type&&"TSTypeReference"!==r.type||r.typeParameters)||!!Bn.has(r.type))},isSimpleNumber:Nn,isSimpleTemplateLiteral:function(r){let t="expressions";"TSTemplateLiteralType"===r.type&&(t="types");const e=r[t];return 0!==e.length&&e.every((r=>{if(Wn(r))return!1;if("Identifier"===r.type||"ThisExpression"===r.type)return!0;if(On(r)){let t=r;for(;On(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,Wn(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:yn,isStringPropSafeToUnquote:function(r,t){return"json"!==t.parser&&yn(r.key)&&Ln(r.key).slice(1,-1)===r.key.value&&(an(r.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===r.type)||Nn(r.key.value)&&String(Number(r.key.value))===r.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(r,t){return("TemplateLiteral"===r.type&&xn(r)||"TaggedTemplateExpression"===r.type&&xn(r.quasi))&&!fn(t,ln(r),{backwards:!0})},isTestCall:function r(t,e){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(_n(t)&&e&&r(e))return An(t.arguments[0]);if(function(r){return"Identifier"===r.callee.type&&/^(before|after)(Each|All)$/.test(r.callee.name)&&1===r.arguments.length}(t))return _n(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&Tn.test(t.callee.name)||function(r){return On(r.callee)&&"Identifier"===r.callee.object.type&&"Identifier"===r.callee.property.type&&Tn.test(r.callee.object.name)&&("only"===r.callee.property.name||"skip"===r.callee.property.name)}(t))&&(function(r){return"TemplateLiteral"===r.type}(t.arguments[0])||yn(t.arguments[0])))return!(t.arguments[2]&&!kn(t.arguments[2]))&&((2===t.arguments.length?An(t.arguments[1]):function(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type&&"BlockStatement"===r.body.type}(t.arguments[1])&&Xn(t.arguments[1]).length<=1)||_n(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(r,t){if("markdown"!==r.parentParser&&"mdx"!==r.parentParser)return!1;const e=t.getNode();if(!e.expression||!Cn(e.expression))return!1;const n=t.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(r){return r.filepath&&/\.tsx$/i.test(r.filepath)},isTypeAnnotationAFunction:function(r){return!("TypeAnnotation"!==r.type&&"TSTypeAnnotation"!==r.type||"FunctionTypeAnnotation"!==r.typeAnnotation.type||r.static||pn(r,r.typeAnnotation))},isNextLineEmpty:(r,{originalText:t})=>vn(t,Dn(r)),needsHardlineAfterDanglingComment:function(r){if(!Wn(r))return!1;const t=cn(qn(r,Kn.Dangling));return t&&!Fn(t)},rawText:Ln,shouldPrintComma:function(r,t="es5"){return"es5"===r.trailingComma&&"es5"===t||"all"===r.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(r){return Boolean(Mn[r])||"|"===r||"^"===r||"&"===r},shouldFlatten:function(r,t){return Un(t)===Un(r)&&("**"!==r&&((!Pn[r]||!Pn[t])&&(!("%"===t&&Rn[r]||"%"===r&&Rn[t])&&((t===r||!Rn[t]||!Rn[r])&&(!Mn[r]||!Mn[t])))))},startsWithNoLookaheadToken:function r(t,e){switch((t=function(r){for(;r.left;)r=r.left;return r}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return e;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return r(t.object,e);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&r(t.tag,e);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&r(t.callee,e);case"ConditionalExpression":return r(t.test,e);case"UpdateExpression":return!t.prefix&&r(t.argument,e);case"BindExpression":return t.object&&r(t.object,e);case"SequenceExpression":return r(t.expressions[0],e);case"TSAsExpression":case"TSNonNullExpression":return r(t.expression,e);default:return!1}},getPrecedence:Un,hasComment:Wn,getComments:qn,CommentCheckFlags:Kn};const{getLast:Zn,hasNewline:ru,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:tu,getNextNonSpaceNonCommentCharacter:eu,hasNewlineInRange:nu,addLeadingComment:uu,addTrailingComment:au,addDanglingComment:iu,getNextNonSpaceNonCommentCharacterIndex:cu,isNonEmptyArray:fu}=qe,{isBlockComment:ou,getFunctionParameters:su,isPrettierIgnoreComment:vu,isJsxNode:lu,hasFlowShorthandAnnotationComment:Du,hasFlowAnnotationComment:pu,hasIgnoreComment:bu,isCallLikeExpression:Eu,getCallArguments:Fu,isCallExpression:du,isMemberExpression:mu,isObjectProperty:hu}=Qn,{locStart:ku,locEnd:yu}=tn;function Au(r,t){const e=(r.body||r.properties).find((({type:r})=>"EmptyStatement"!==r));e?uu(e,t):iu(r,t)}function _u(r,t){"BlockStatement"===r.type?Au(r,t):uu(r,t)}function Cu({comment:r,followingNode:t}){return!(!t||!ra(r))&&(uu(t,r),!0)}function wu({comment:r,precedingNode:t,enclosingNode:e,followingNode:n,text:u}){if(!e||"IfStatement"!==e.type||!n)return!1;return")"===eu(u,r,yu)?(au(t,r),!0):t===e.consequent&&n===e.alternate?("BlockStatement"===t.type?au(t,r):iu(e,r),!0):"BlockStatement"===n.type?(Au(n,r),!0):"IfStatement"===n.type?(_u(n.consequent,r),!0):e.consequent===n&&(uu(n,r),!0)}function Su({comment:r,precedingNode:t,enclosingNode:e,followingNode:n,text:u}){if(!e||"WhileStatement"!==e.type||!n)return!1;return")"===eu(u,r,yu)?(au(t,r),!0):"BlockStatement"===n.type?(Au(n,r),!0):e.body===n&&(uu(n,r),!0)}function gu({comment:r,precedingNode:t,enclosingNode:e,followingNode:n}){return!(!e||"TryStatement"!==e.type&&"CatchClause"!==e.type||!n)&&("CatchClause"===e.type&&t?(au(t,r),!0):"BlockStatement"===n.type?(Au(n,r),!0):"TryStatement"===n.type?(_u(n.finalizer,r),!0):"CatchClause"===n.type&&(_u(n.body,r),!0))}function Bu({comment:r,enclosingNode:t,followingNode:e}){return!(!mu(t)||!e||"Identifier"!==e.type)&&(uu(t,r),!0)}function Tu({comment:r,precedingNode:t,enclosingNode:e,followingNode:n,text:u}){const a=t&&!nu(u,yu(t),ku(r));return!(t&&a||!e||"ConditionalExpression"!==e.type&&"TSConditionalType"!==e.type||!n)&&(uu(n,r),!0)}function Iu({comment:r,precedingNode:t,enclosingNode:e}){return!(!hu(e)||!e.shorthand||e.key!==t||"AssignmentPattern"!==e.value.type)&&(au(e.value.left,r),!0)}function Ou({comment:r,precedingNode:t,enclosingNode:e,followingNode:n}){if(e&&("ClassDeclaration"===e.type||"ClassExpression"===e.type||"DeclareClass"===e.type||"DeclareInterface"===e.type||"InterfaceDeclaration"===e.type||"TSInterfaceDeclaration"===e.type)){if(fu(e.decorators)&&(!n||"Decorator"!==n.type))return au(Zn(e.decorators),r),!0;if(e.body&&n===e.body)return Au(e.body,r),!0;if(n)for(const u of["implements","extends","mixins"])if(e[u]&&n===e[u][0])return!t||t!==e.id&&t!==e.typeParameters&&t!==e.superClass?iu(e,r,u):au(t,r),!0}return!1}function Nu({comment:r,precedingNode:t,enclosingNode:e,text:n}){return(e&&t&&("Property"===e.type||"TSDeclareMethod"===e.type||"TSAbstractMethodDefinition"===e.type)&&"Identifier"===t.type&&e.key===t&&":"!==eu(n,t,yu)||!(!t||!e||"Decorator"!==t.type||"ClassMethod"!==e.type&&"ClassProperty"!==e.type&&"PropertyDefinition"!==e.type&&"TSAbstractClassProperty"!==e.type&&"TSAbstractMethodDefinition"!==e.type&&"TSDeclareMethod"!==e.type&&"MethodDefinition"!==e.type))&&(au(t,r),!0)}function xu({comment:r,precedingNode:t,enclosingNode:e,text:n}){return"("===eu(n,r,yu)&&(!(!t||!e||"FunctionDeclaration"!==e.type&&"FunctionExpression"!==e.type&&"ClassMethod"!==e.type&&"MethodDefinition"!==e.type&&"ObjectMethod"!==e.type)&&(au(t,r),!0))}function Lu({comment:r,enclosingNode:t,text:e}){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const n=cu(e,r,yu);return!1!==n&&"=>"===e.slice(n,n+2)&&(iu(t,r),!0)}function Pu({comment:r,enclosingNode:t,text:e}){return")"===eu(e,r,yu)&&(t&&(Zu(t)&&0===su(t).length||Eu(t)&&0===Fu(t).length)?(iu(t,r),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==su(t.value).length)&&(iu(t.value,r),!0))}function Ru({comment:r,precedingNode:t,enclosingNode:e,followingNode:n,text:u}){if(t&&"FunctionTypeParam"===t.type&&e&&"FunctionTypeAnnotation"===e.type&&n&&"FunctionTypeParam"!==n.type)return au(t,r),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&e&&Zu(e)&&")"===eu(u,r,yu))return au(t,r),!0;if(e&&"FunctionDeclaration"===e.type&&n&&"BlockStatement"===n.type){const t=(()=>{const r=su(e);if(r.length>0)return tu(u,yu(Zn(r)));const t=tu(u,yu(e.id));return!1!==t&&tu(u,t+1)})();if(ku(r)>t)return Au(n,r),!0}return!1}function Mu({comment:r,enclosingNode:t}){return!(!t||"ImportSpecifier"!==t.type)&&(uu(t,r),!0)}function Gu({comment:r,enclosingNode:t}){return!(!t||"LabeledStatement"!==t.type)&&(uu(t,r),!0)}function Uu({comment:r,enclosingNode:t}){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(au(t,r),!0)}function ju({comment:r,precedingNode:t,enclosingNode:e}){return!!(du(e)&&t&&e.callee===t&&e.arguments.length>0)&&(uu(e.arguments[0],r),!0)}function Xu({comment:r,precedingNode:t,enclosingNode:e,followingNode:n}){return!e||"UnionTypeAnnotation"!==e.type&&"TSUnionType"!==e.type?(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&vu(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0),!1):(vu(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!t&&(au(t,r),!0))}function Hu({comment:r,enclosingNode:t}){return!!hu(t)&&(uu(t,r),!0)}function $u({comment:r,enclosingNode:t,followingNode:e,ast:n,isLastComment:u}){return n&&n.body&&0===n.body.length?(u?iu(n,r):uu(n,r),!0):t&&"Program"===t.type&&0===t.body.length&&!fu(t.directives)?(u?iu(t,r):uu(t,r),!0):!(!e||"Program"!==e.type||0!==e.body.length||!t||"ModuleExpression"!==t.type)&&(iu(e,r),!0)}function Yu({comment:r,enclosingNode:t}){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(uu(t,r),!0)}function Vu({comment:r,precedingNode:t,enclosingNode:e,text:n}){return!!(t&&"ImportSpecifier"===t.type&&e&&"ImportDeclaration"===e.type&&ru(n,yu(r)))&&(au(t,r),!0)}function Ku({comment:r,enclosingNode:t}){return!(!t||"AssignmentPattern"!==t.type)&&(uu(t,r),!0)}function Ju({comment:r,enclosingNode:t}){return!(!t||"TypeAlias"!==t.type)&&(uu(t,r),!0)}function Wu({comment:r,enclosingNode:t,followingNode:e}){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!e||"ObjectExpression"!==e.type&&"ArrayExpression"!==e.type&&"TemplateLiteral"!==e.type&&"TaggedTemplateExpression"!==e.type&&!ou(r))&&(uu(e,r),!0)}function qu({comment:r,enclosingNode:t,followingNode:e,text:n}){return!(e||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==eu(n,r,yu))&&(au(t,r),!0)}function zu({comment:r,enclosingNode:t,followingNode:e}){if(vu(r)&&t&&"TSMappedType"===t.type&&e&&"TSTypeParameter"===e.type&&e.constraint)return t.prettierIgnore=!0,r.unignore=!0,!0}function Qu({comment:r,precedingNode:t,enclosingNode:e,followingNode:n}){return!(!e||"TSMappedType"!==e.type)&&(n&&"TSTypeParameter"===n.type&&n.name?(uu(n.name,r),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(au(t.constraint,r),!0))}function Zu(r){return"ArrowFunctionExpression"===r.type||"FunctionExpression"===r.type||"FunctionDeclaration"===r.type||"ObjectMethod"===r.type||"ClassMethod"===r.type||"TSDeclareFunction"===r.type||"TSCallSignatureDeclaration"===r.type||"TSConstructSignatureDeclaration"===r.type||"TSMethodSignature"===r.type||"TSConstructorType"===r.type||"TSFunctionType"===r.type||"TSDeclareMethod"===r.type}function ra(r){return ou(r)&&"*"===r.value[0]&&/@type\b/.test(r.value)}var ta={handleOwnLineComment:function(r){return[zu,Ru,Bu,wu,Su,gu,Ou,Mu,Yu,Xu,$u,Vu,Ku,Nu,Gu].some((t=>t(r)))},handleEndOfLineComment:function(r){return[Cu,Ru,Tu,Mu,wu,Su,gu,Ou,Gu,ju,Hu,$u,Ju,Wu].some((t=>t(r)))},handleRemainingComment:function(r){return[zu,wu,Su,Iu,Pu,Nu,$u,Lu,xu,Qu,Uu,qu].some((t=>t(r)))},isTypeCastComment:ra,getCommentChildNodes:function(r,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===r.type&&r.value&&"FunctionExpression"===r.value.type&&0===su(r.value).length&&!r.value.returnType&&!fu(r.value.typeParameters)&&r.value.body)return[...r.decorators||[],r.key,r.value.body]},willPrintOwnComments:function(r){const t=r.getValue(),e=r.getParentNode();return(t&&(lu(t)||Du(t)||du(e)&&(pu(t.leadingComments)||pu(t.trailingComments)))||e&&("JSXSpreadAttribute"===e.type||"JSXSpreadChild"===e.type||"UnionTypeAnnotation"===e.type||"TSUnionType"===e.type||("ClassDeclaration"===e.type||"ClassExpression"===e.type)&&e.superClass===t))&&(!bu(r)||"UnionTypeAnnotation"===e.type||"TSUnionType"===e.type)}};const{getLast:ea,getNextNonSpaceNonCommentCharacter:na}=qe,{locStart:ua,locEnd:aa}=tn,{isTypeCastComment:ia}=ta;function ca(r){return"CallExpression"===r.type?(r.type="OptionalCallExpression",r.callee=ca(r.callee)):"MemberExpression"===r.type?(r.type="OptionalMemberExpression",r.object=ca(r.object)):"TSNonNullExpression"===r.type&&(r.expression=ca(r.expression)),r}function fa(r,t){let e;if(Array.isArray(r))e=r.entries();else{if(!r||"object"!=typeof r||"string"!=typeof r.type)return r;e=Object.entries(r)}for(const[n,u]of e)r[n]=fa(u,t);return Array.isArray(r)?r:t(r)||r}function oa(r){return"LogicalExpression"===r.type&&"LogicalExpression"===r.right.type&&r.operator===r.right.operator}function sa(r){return oa(r)?sa({type:"LogicalExpression",operator:r.operator,left:sa({type:"LogicalExpression",operator:r.operator,left:r.left,right:r.right.left,range:[ua(r.left),aa(r.right.left)]}),right:r.right.right,range:[ua(r),aa(r)]}):r}var va,la=function(t,e){if("typescript"===e.parser&&e.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:u}=e.tsParseResult;t=fa(t,(t=>{const e=n.get(t);if(!e)return;const a=e.decorators;if(!Array.isArray(a))return;const i=u.get(e);if(i!==t)return;const c=i.decorators;if(!Array.isArray(c)||c.length!==a.length||a.some((r=>{const t=u.get(r);return!t||!c.includes(t)}))){const{start:t,end:e}=i.loc;throw r("Leading decorators must be attached to a class declaration",{start:{line:t.line,column:t.column+1},end:{line:e.line,column:e.column+1}})}}))}if("typescript"!==e.parser&&"flow"!==e.parser&&"espree"!==e.parser&&"meriyah"!==e.parser){const r=new Set;t=fa(t,(t=>{t.leadingComments&&t.leadingComments.some(ia)&&r.add(ua(t))})),t=fa(t,(t=>{if("ParenthesizedExpression"===t.type){const{expression:e}=t;if("TypeCastExpression"===e.type)return e.range=t.range,e;const n=ua(t);if(!r.has(n))return e.extra=Object.assign(Object.assign({},e.extra),{},{parenthesized:!0}),e}}))}return t=fa(t,(r=>{switch(r.type){case"ChainExpression":return ca(r.expression);case"LogicalExpression":if(oa(r))return sa(r);break;case"VariableDeclaration":{const t=ea(r.declarations);t&&t.init&&function(r,t){if(";"===e.originalText[aa(t)])return;r.range=[ua(r),aa(t)]}(r,t);break}case"TSParenthesizedType":return r.typeAnnotation.range=[ua(r),aa(r)],r.typeAnnotation;case"TSTypeParameter":if("string"==typeof r.name){const t=ua(r);r.name={type:"Identifier",name:r.name,range:[t,t+r.name.length]}}break;case"SequenceExpression":{const t=ea(r.expressions);r.range=[ua(r),Math.min(aa(t),aa(r))];break}case"ClassProperty":r.key&&"TSPrivateIdentifier"===r.key.type&&"?"===na(e.originalText,r.key,aa)&&(r.optional=!0)}}))};function Da(){if(void 0===va){var r=new ArrayBuffer(2),t=new Uint8Array(r),e=new Uint16Array(r);if(t[0]=1,t[1]=2,258===e[0])va="BE";else{if(513!==e[0])throw new Error("unable to figure out endianess");va="LE"}}return va}function pa(){return void 0!==xt.location?xt.location.hostname:""}function ba(){return[]}function Ea(){return 0}function Fa(){return Number.MAX_VALUE}function da(){return Number.MAX_VALUE}function ma(){return[]}function ha(){return"Browser"}function ka(){return void 0!==xt.navigator?xt.navigator.appVersion:""}function ya(){}function Aa(){}function _a(){return"javascript"}function Ca(){return"browser"}function wa(){return"/tmp"}var Sa=wa,ga={EOL:"\n",arch:_a,platform:Ca,tmpdir:Sa,tmpDir:wa,networkInterfaces:ya,getNetworkInterfaces:Aa,release:ka,type:ha,cpus:ma,totalmem:da,freemem:Fa,uptime:Ea,loadavg:ba,hostname:pa,endianness:Da},Ba=Object.freeze({__proto__:null,endianness:Da,hostname:pa,loadavg:ba,uptime:Ea,freemem:Fa,totalmem:da,cpus:ma,type:ha,release:ka,networkInterfaces:ya,getNetworkInterfaces:Aa,arch:_a,platform:Ca,tmpDir:wa,tmpdir:Sa,EOL:"\n",default:ga});const Ta=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");const t=r.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const e=t.filter((r=>"\r\n"===r)).length;return e>t.length-e?"\r\n":"\n"};var Ia=Ta;Ia.graceful=r=>"string"==typeof r&&Ta(r)||"\n";var Oa=l(Ba),Na=function(r){const t=r.match(Xa);return t?t[0].trimLeft():""},xa=function(r){const t=r.match(Xa);return t&&t[0]?r.substring(t[0].length):r},La=function(r){return Wa(r).pragmas},Pa=Wa,Ra=function({comments:r="",pragmas:t={}}){const e=(0,Ga().default)(r)||Ma().EOL,n=" *",u=Object.keys(t),a=u.map((r=>qa(r,t[r]))).reduce(((r,t)=>r.concat(t)),[]).map((r=>" * "+r+e)).join("");if(!r){if(0===u.length)return"";if(1===u.length&&!Array.isArray(t[u[0]])){const r=t[u[0]];return`/** ${qa(u[0],r)[0]} */`}}const i=r.split(e).map((r=>` * ${r}`)).join(e)+e;return"/**"+e+(r?i:"")+(r&&u.length?n+e:"")+a+" */"};function Ma(){const r=Oa;return Ma=function(){return r},r}function Ga(){const r=(t=Ia)&&t.__esModule?t:{default:t};var t;return Ga=function(){return r},r}const Ua=/\*\/$/,ja=/^\/\*\*/,Xa=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Ha=/(^|\s+)\/\/([^\r\n]*)/g,$a=/^(\r?\n)+/,Ya=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Va=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Ka=/(\r?\n|^) *\* ?/g,Ja=[];function Wa(r){const t=(0,Ga().default)(r)||Ma().EOL;r=r.replace(ja,"").replace(Ua,"").replace(Ka,"$1");let e="";for(;e!==r;)e=r,r=r.replace(Ya,`${t}$1 $2${t}`);r=r.replace($a,"").trimRight();const n=Object.create(null),u=r.replace(Va,"").replace($a,"").trimRight();let a;for(;a=Va.exec(r);){const r=a[2].replace(Ha,"");"string"==typeof n[a[1]]||Array.isArray(n[a[1]])?n[a[1]]=Ja.concat(n[a[1]],r):n[a[1]]=r}return{comments:u,pragmas:n}}function qa(r,t){return Ja.concat(t).map((t=>`@${r} ${t}`.trim()))}var za=Object.defineProperty({extract:Na,strip:xa,parse:La,parseWithComments:Pa,print:Ra},"__esModule",{value:!0});var Qa={guessEndOfLine:function(r){const t=r.indexOf("\r");return t>=0?"\n"===r.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(r){switch(r){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(r,t){let e;if("\n"===t)e=/\n/g;else if("\r"===t)e=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);e=/\r\n/g}const n=r.match(e);return n?n.length:0},normalizeEndOfLine:function(r){return r.replace(/\r\n?/g,"\n")}};const{parseWithComments:Za,strip:ri,extract:ti,print:ei}=za,{getShebang:ni}=qe,{normalizeEndOfLine:ui}=Qa;function ai(r){const t=ni(r);t&&(r=r.slice(t.length+1));const e=ti(r),{pragmas:n,comments:u}=Za(e);return{shebang:t,text:r,pragmas:n,comments:u}}var ii={hasPragma:function(r){const t=Object.keys(ai(r).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(r){const{shebang:t,text:e,pragmas:n,comments:u}=ai(r),a=ri(e),i=ei({pragmas:Object.assign({format:""},n),comments:u.trimStart()});return(t?`${t}\n`:"")+ui(i)+(a.startsWith("\n")?"\n":"\n\n")+a}};const{hasPragma:ci}=ii,{locStart:fi,locEnd:oi}=tn;var si=function(r){return r="function"==typeof r?{parse:r}:r,Object.assign({astFormat:"estree",hasPragma:ci,locStart:fi,locEnd:oi},r)};var vi=function(r){return"#"===r.charAt(0)&&"!"===r.charAt(1)?"//"+r.slice(2):r},li=Object.freeze({__proto__:null,default:{}}),Di="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",pi={RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:131072,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:1048576,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:4194304,O_SYMLINK:2097152,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:269488255,SSL_OP_ALL:2147485780,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:262144,SSL_OP_CIPHER_SERVER_PREFERENCE:4194304,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:2147483648,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:131072,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:33554432,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:67108864,SSL_OP_NO_TLSv1_1:268435456,SSL_OP_NO_TLSv1_2:134217728,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:8388608,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:Di,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},bi=Object.freeze({__proto__:null,RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:131072,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:1048576,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:4194304,O_SYMLINK:2097152,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:269488255,SSL_OP_ALL:2147485780,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:262144,SSL_OP_CIPHER_SERVER_PREFERENCE:4194304,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:2147483648,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:131072,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:33554432,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:67108864,SSL_OP_NO_TLSv1_1:268435456,SSL_OP_NO_TLSv1_2:134217728,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:8388608,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:Di,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6,default:pi}),Ei=l(li),Fi=l(bi),di=D((function(r,t){!function(r){var e="member_property_expression",n=8483,u=12538,a="??",i="children",c="predicate_expression",f="Identifier",o=68107,s=64311,v=192,l=71369,D=11710,p=43597,b=110947,E=67591,F="directive",d=121504,m=69871,h=12347,k=126553,y="block",A=68096,_="params",C=93071,w=72767,S=122,g="for_statement",B=128,T=70873,I="start",O=43867,N="_method",x=70414,L=">",P="catch_body",R=120121,M="the end of an expression statement (`;`)",G=126558,U="jsx_fragment",j=69733,X=42527,H="decorators",$=82943,Y=71039,V=8472,K="update",J=43205,W=12783,q=12438,z=12352,Q=8511,Z=120713,rr="method",tr=8191,er="function_param",nr=67871,ur="throw",ar="class_extends",ir=43470,cr=11507,fr="object_key_literal",or=71903,sr="_bigarray",vr=65437,lr=70840,Dr=119995,pr=43311,br="jsx_child",Er=67637,Fr=68116,dr=66204,mr=65470,hr=67391,kr=11631,yr=66729,Ar=69956,_r="tparams",Cr=66735,wr=42623,Sr=43697,gr=64217,Br="Invalid binary/octal ",Tr=70399,Ir=42864,Or=120487,Nr=73110,xr=43255,Lr="do",Pr=43301,Rr="jsx_attribute_value_literal",Mr="binding_pattern",Gr=72759,Ur=110878,jr="package",Xr=72750,Hr="interface_declaration",$r=119892,Yr="tail",Vr=111,Kr=8417,Jr=119807,Wr=65613,qr="type",zr=68159,Qr=55215,Zr="export_default_declaration_decl",rt=72970,tt=70416,et=72881,nt=43451,ut="function_this_param",at="module",it="try",ct=70143,ft=125183,ot=70412,st="@])",vt="binary",lt="infinity",Dt="private",pt=65500,bt="has_unknown_members",Et="pattern_array_rest_element",Ft="Property",dt=65343,mt="implements",ht=12548,kt="if_alternate_statement",yt=43395,At="src/parser/type_parser.ml",_t=126552,Ct=66915,wt=120712,St=126555,gt=68326,Bt=120596,Tt="raw",It=112,Ot=126624,Nt="statement",xt="meta_property",Lt=71235,Pt=44002,Rt=8467,Mt=8318,Gt="class_property_value",Ut=8203,jt=69816,Xt="optional_call",Ht=43761,$t="kind",Yt=71230,Vt="class_identifier",Kt=69955,Jt=68220,Wt=66378,qt=110,zt=123583,Qt=120512,Zt=119154,re="declare",te=71228,ee=11742,ne=70831,ue="catch_clause",ae=8468,ie=72886,ce=121343,fe="for_in_assignment_pattern",oe="object_",se=70499,ve=43262,le="mixins",De="visit_trailing_comment",pe="type_param",be=72147,Ee=69758,Fe=71839,de="expected *",me="boolean",he="call",ke=43010,ye="expression",Ae="column",_e=43258,Ce=43595,we=191456,Se=117,ge=43754,Be=126544,Te=8416,Ie="Assert_failure",Oe=66517,Ne=42863,xe="enum_number_member",Le="a string",Pe=119993,Re=43394,Me=65855,Ge="opaque",Ue=870530776,je=72880,Xe=67711,He="enum_symbol_body",$e="filter",Ye=126560,Ve=43615,Ke="get",Je=64316,We=122917,qe="exported",ze=71099,Qe="return",Ze=70516,rn="members",tn=256,en=64279,nn=67829,un="src/parser/expression_parser.ml",an="(global)",cn="Enum `",fn="object_property",on=67589,sn="pattern_object_property",vn=127343600,ln="template_literal_element",Dn=70452,pn="class_element",bn=71131,En=120137,Fn=94098,dn=72349,mn="function_identifier",hn=126543,kn=43487,yn="@[<2>{ ",An="jsx_attribute_name",_n=72849,Cn=70393,wn=72191,Sn=65908,gn=120513,Bn=92909,Tn=70195,In="bound",On=8399,Nn=43566,xn=120070,Ln="update_expression",Pn="enum_number_body",Rn=69941,Mn=123631,Gn="spread_element",Un="for_in_left_declaration",jn=70401,Xn=64319,Hn=12703,$n=11687,Yn="@,))@]",Vn="%d",Kn=42239,Jn="type_cast",Wn=42508,qn=71735,zn=43643,Qn="class_implements_interface",Zn=67640,ru="buffer.ml",tu=605857695,eu="handler",nu=66207,uu=11558,au=113775,iu=113,cu=126540,fu="collect_comments",ou="set",su="assignment_pattern",vu="right",lu=94087,Du=72751,pu="object_key_identifier",bu=120133,Eu="Invalid number ",Fu=8580,du=68023,mu=43798,hu=12539,ku=100,yu="pattern_literal",Au="generic_type",_u="Lookahead.peek failed",Cu=93017,wu=42890,Su=43766,gu=42783,Bu="else",Tu=70851,Iu="the start of a statement",Ou=113820,Nu="properties",xu=94094,Lu=71481,Pu=43696,Ru=70474,Mu="declare_function",Gu=120597,Uu=110959,ju="object_indexer_property_type",Xu=70492,Hu=173782,$u=43042,Yu=107,Vu="arguments",Ku="comments",Ju=67431,Wu="line",qu="pattern_identifier",zu="declaration",Qu="static",Zu=72883,ra=69958,ta=68100,ea=72783,na=11310,ua=43814,aa="annot",ia=119179,ca=65786,fa=66303,oa=64967,sa=64255,va=8584,la=71350,Da=120655,pa="Stack_overflow",ba=43700,Ea="syntax_opt",Fa=68921,da="comprehension",ma=65295,ha="Not_found",ka=68680,ya=64324,Aa=72966,_a=-1053382366,Ca="rest",wa="pattern_array_element",Sa="jsx_attribute_value_expression",ga=65595,Ba="pattern_array_e",Ta=122916,Ia=43711,Oa=69926,Na="symbol",xa=42725,La=70092,Pa=43741,Ra="typeParameters",Ma="const",Ga=72847,Ua=12341,ja=66271,Xa="false",Ha=71104,$a=106,Ya=120076,Va=128,Ka=125124,Ja=73460,Wa=11743,qa=67593,za=44031,Qa=43449,Za=92927,ri=68095,ti=42945,ei=8231,ni=121519,ui=43453,ai="object_key_computed",ii="labeled_statement",ci="function_param_pattern",fi=65481,oi=43442,si="collect_comments_opt",vi=126590,li="_",Di="variable_declarator",pi="compare: functional value",bi=67967,di="computed",mi="object_property_type",hi=126562,ki=114,yi="comment_bounds",Ai="id",_i=70853,Ci=42237,wi="class_private_field",Si=72329,gi=43001,Bi=8412,Ti="Invalid_argument",Ii=113770,Oi=120092,Ni="declare_class",xi=94031,Li=67839,Pi=43570,Ri=72250,Mi=92879,Gi="prototype",Ui=8287,ji=70370,Xi="`.",Hi=65344,$i=12542,Yi=123641,Vi=42950,Ki="Internal Error: Found private field in object props",Ji="sequence",Wi="debugger",qi="call_type_args",zi=12348,Qi=68863,Zi=70084,rc="label",tc=70193,ec=-45,nc="jsx_opening_attribute",uc=119364,ac=43583,ic="%F",cc=43784,fc="call_arguments",oc=113791,sc=126503,vc=43743,lc=917999,Dc="0",pc=93007,bc=119967,Ec=44012,Fc=42621,dc=126538,mc="new_",hc=449540197,kc=68466,yc=64109,Ac=177983,_c=248,Cc="@,]@]",wc="program",Sc=68031,gc="type_",Bc="function_type",Tc=67382,Ic=8484,Oc=8205,Nc=42537,xc=73022,Lc=66559,Pc=65074,Rc=11775,Mc=71236,Gc=64274,Uc=120069,jc=72105,Xc=126570,Hc="object",$c="for_of_statement",Yc="break",Vc=43047,Kc=43695,Jc=70501,Wc=126551,qc=126520,zc=70477,Qc=66045,Zc=66499,rf=1024,tf=43018,ef=73103,nf=71471,uf=126522,af=119140,cf="function_declaration",ff=73064,of=92728,sf=73105,vf=70418,lf="await",Df=68119,pf="function_rest_param",bf=73119,Ef=42653,Ff=11703,df="left",mf=70449,hf="declare_type_alias",kf=16777215,yf=121475,Af=70302,_f=119142,Cf=55242,wf=70470,Sf=126583,gf=124927,Bf=72959,Tf=65497,If="Invalid legacy octal ",Of="typeof",Nf="explicit_type",xf="statement_list",Lf=65495,Pf="class_method",Rf=119994,Mf=71935,Gf=67861,Uf=8526,jf=69762,Xf="enum",Hf=2147483647,$f=119170,Yf=11702,Vf="in",Kf=67638,Jf="super",Wf=126504,qf=8304,zf="import_specifier",Qf=177972,Zf=68324,ro=67646,to="expression_or_spread",eo=43792,no=74879,uo=-82,ao=43260,io="internal",co=93052,fo=125258,oo=65574,so=224,vo="instanceof",lo="jsx_element_name_member_expression",Do=69599,po=44007,bo=43560,Eo="function_expression",Fo=223,mo=121476,ho=72242,ko=11498,yo=126467,Ao=73112,_o=44008,Co=70107,wo=13311,So="jsx_children",go=126548,Bo=63743,To=43471,Io=113822,Oo=122887,No="jsx_expression",xo=69864,Lo=126591,Po=126578,Ro=12592,Mo="type_params",Go=119148,Uo=8420,jo=126537,Xo=123627,Ho="{ ",$o="jsx_spread_attribute",Yo=70161,Vo=70468,Ko="@,",Jo=42606,Wo=126500,qo="number_literal_type",zo="label_identifier",Qo=72884,Zo=42999,rs=64310,ts=-594953737,es="hasUnknownMembers",ns=92982,us="array",as=65615,is="enum_string_member",cs="void",fs=65135,os=")",ss="let",vs=70002,ls=70735,Ds=70271,ps="nan",bs="@[%s =@ ",Es=194559,Fs=42735,ds="/",ms="for_in_statement_lhs",hs=68154,ks=43503,ys=8516,As=65381,_s="TypeParameterInstantiation",Cs=83526,ws=71339,Ss="number",gs=70286,Bs=12447,Ts=72160,Is=43493,Os=70487,Ns=70280,xs="function",Ls=70162,Ps=255,Rs=67702,Ms=66771,Gs=42895,Us=121452,js=8432,Xs=40959,Hs="unreachable",$s=70312,Ys="End_of_file",Vs=93759,Ks=8494,Js=43709,Ws="new",qs="Failure",zs="local",Qs="with",Zs=8489,rv="enum_declaration",tv=121460,ev="member",nv=70457,uv=64325,av=8488,iv=70448,cv=69967,fv=126535,ov=71934,sv=65312,vv=43135,lv=12446,Dv="import_named_specifier",pv=126619,bv=44025,Ev=70196,Fv="type_annotation",dv=8188,mv=65071,hv=131071,kv=120770,yv=12440,Av="with_",_v="statement_fork_point",Cv="finalizer",wv=71133,Sv=12320,gv="elements",Bv="literal",Tv=68607,Iv=8507,Ov=122913,Nv="each",xv="Sys_error",Lv="bigint_literal_type",Pv=69818,Rv=11727,Mv=64829,Gv=120538,Uv="type_alias",jv="member_private_name",Xv=126556,Hv="tagged_template",$v="pattern_object_property_literal_key",Yv=72192,Vv=67826,Kv=44013,Jv=70745,Wv=72153,qv=66511,zv=43249,Qv=11646,Zv="None",rl="int_of_string",tl="FunctionTypeParam",el="name",nl=70285,ul=103,al=12288,il=120744,cl="intersection_type",fl=11679,ol=11559,sl=71295,vl=70205,ll="callee",Dl=70018,pl=11567,bl="predicate",El="expression_statement",Fl="regexp",dl=44011,ml=123209,hl=65479,kl=11389,yl=43568,Al="optional",_l=-602162310,Cl="@]",wl=92777,Sl=120003,gl=72249,Bl="Unexpected ",Tl=73008,Il="finally",Ol="toplevel_statement_list",Nl=178207,xl=65055,Ll=70301,Pl=72161,Rl=70460,Ml=12799,Gl="loc",Ul=65535,jl=69375,Xl=43518,Hl=65487,$l="while_",Yl=44004,Vl=183983,Kl=-673950933,Jl=42559,Wl=121398,ql=55291,zl="jsx_element_name_identifier",Ql=71452,Zl=70078,rD=8239,tD=-253313196,eD="mixed",nD=70403,uD=67827,aD=11734,iD=101106,cD=68287,fD=119976,oD=72151,sD=73129,vD=73102,lD=73017,DD=" =",pD=888960333,bD="tuple_type",ED=126602,FD=73111,dD=70726,mD=126529,hD="object_property_value_type",kD="%a",yD=69423,AD="static/",_D=120831,CD=120781,wD=11695,SD=11711,gD=12294,BD=67583,TD=122879,ID=126584,OD=72703,ND=68295,xD="prefix",LD=43871,PD=69415,RD=11492,MD="class",GD=12333,UD=65575,jD=42894,XD="continue",HD=119145,$D=65663,YD=68120,VD=782176664,KD=120779,JD=71247,WD=71086,qD=19967,zD=70849,QD=8486,ZD=" ",rp=66863,tp="RestElement",ep="Undefined_recursive_module",np=126634,up=74751,ap=66377,ip="jsx_element_name_namespaced",cp=43334,fp=43481,op=66815,sp=11311,vp="typeAnnotation",lp=120126,Dp=69743,pp="array_element",bp=64285,Ep="Set.bal",Fp=8578,dp=8543,mp="()",hp="declare_module",kp=122886,yp="export_batch_specifier",Ap=">>>=",_p=68029,Cp="importKind",wp="extends",Sp=72345,gp=64296,Bp=43259,Tp=71679,Ip=64913,Op=119969,Np=94175,xp=72440,Lp=65141,Pp=43071,Rp="function_",Mp=65391,Gp=44010,Up=42888,jp=69807,Xp="variance",Hp=123,$p=12730,Yp="import_default_specifier",Vp=43764,Kp="pattern",Jp=70655,Wp=70464,qp="consequent",zp=68447,Qp=65473,Zp="call_type_arg",rb=255,tb=8238,eb=73019,nb=121498,ub=68899,ab=93026,ib=44015,cb="@[<2>[",fb="comment",ob=65439,sb="switch_case",vb="do_while",lb=43215,Db="constructor",pb=43586,bb=43587,Eb="yield",Fb="target",db=72272,mb="var",hb=70108,kb="impltype",yb="0o",Ab=119972,_b=92991,Cb=43391,wb=70441,Sb=8450,gb=72278,Bb=120074,Tb=43044,Ib=66717,Ob="interface_type",Nb="%B",xb=70472,Lb=122914,Pb=111355,Rb=5760,Mb=11630,Gb=126499,Ub=40943,jb=108,Xb=120629,Hb="Popping lex mode from empty stack",$b=65103,Yb=42611,Vb=195101,Kb=42607,Jb=126539,Wb="([^/]*)",qb=126502,zb=125135,Qb="template_literal",Zb=68903,rE="src/parser/statement_parser.ml",tE=72758,eE=11519,nE=11387,uE="Out_of_memory",aE=12287,iE=120570,cE=72164,fE=126534,oE=65076,sE=44005,vE="index out of bounds",lE=73029,DE=72873,pE="_bigarr02",bE="for_statement_init",EE=126571,FE="supertype",dE="class_property",mE=92916,hE="this",kE="}",yE=71095,AE="declare_module_exports",_E="union_type",CE=65535,wE="variance_opt",SE=94032,gE=42124,BE="this_expression",TE="jsx_element",IE=65019,OE=125251,NE=64111,xE="typeArguments",LE=8254,PE=8471,RE=70497,ME=71359,GE=8202,UE="EnumDefaultedMember",jE="switch",XE=69634,HE="unary_expression",$E=71215,YE=126,VE=65597,KE=67679,JE=120686,WE=72163,qE=-983660142,zE=70197,QE=64262,ZE=124,rF=65279,tF=126495,eF=69456,nF=65342,uF="alternate",aF=92975,iF=65489,cF=252,fF=125142,oF=67807,sF=43187,vF="export",lF=68850,DF=66383,pF=".",bF="type_args",EF=72155,FF=70508,dF=92159,mF="jsx_element_name",hF=72283,kF=43644,yF=42737,AF=116,_F=75075,CF=70279,wF=65338,SF="function_params",gF=126627,BF=73065,TF=72872,IF=43762,OF=119970,NF=71352,xF=68158,LF=12295,PF=70005,RF=120771,MF=11557,GF=42191,UF="flags",jF=70088,XF=68437,HF=66368,$F="pattern_object_p",YF=70730,VF="optional_indexed_access",KF=42785,JF="nullable_type",WF="value",qF=12343,zF=71089,QF=68415,ZF=11694,rd=69887,td=917759,ed=11726,nd="syntax",ud=119964,ad=68497,id=73097,cd=126523,fd="null",od=120084,sd=126601,vd=8454,ld="expressions",Dd=72144,pd="(@[",bd=12448,Ed=121503,Fd=68786,dd="<",md=43443,hd="an identifier",kd=43309,yd=68799,Ad="leadingComments",_d=72969,Cd=100351,wd=42231,Sd="enum_defaulted_member",gd=69839,Bd=94026,Td=70724,Id=12336,Od=73018,Nd=42605,xd="empty",Ld=331416730,Pd=123199,Rd=70479,Md=43123,Gd=43494,Ud=8319,jd="object_type_property_setter",Xd=12591,Hd=12335,$d=125,Yd=92735,Vd="cases",Kd=70199,Jd=183969,Wd=71455,qd="bigint",zd="Division_by_zero",Qd=67071,Zd=12329,rm=43609,tm=120004,em=69414,nm="if",um=126519,am="immediately within another function.",im=55238,cm=12346,fm=126498,om=73031,sm=8504,vm=69940,lm=66256,Dm="@ }@]",pm=73106,bm=72765,Em=118,Fm=11565,dm=120122,mm=74862,hm=68099,km="'",ym="pattern_object_rest_property",Am=-26065557,_m=119,Cm="assignment",wm=42943,Sm=104,gm=8457,Bm="from",Tm=64321,Im=113817,Om=65629,Nm=43765,xm=70378,Lm=42655,Pm=102,Rm=43137,Mm=11502,Gm=";@ ",Um=101,jm="pattern_array_element_pattern",Xm="body",Hm="jsx_member_expression",$m=65547,Ym="jsx_attribute_value",Vm=72967,Km=126550,Jm="jsx_namespaced_name",Wm=254,qm=43807,zm=43738,Qm=126589,Zm=8455,rh=126628,th=11670,eh=120134,nh="conditional",uh=119965,ah=43599,ih=69890,ch=72817,fh=43822,oh=43638,sh=93047,vh=64322,lh="AssignmentPattern",Dh=123190,ph=72383,bh="object_spread_property_type",Eh=113663,Fh=70783,dh=42622,mh=43823,hh=70367,kh="init",yh=71461,Ah=109,_h=66503,Ch="proto",wh=74649,Sh="optional_member",gh=40981,Bh=120654,Th="@ ",Ih="enum_boolean_body",Oh=119361,Nh=73108,xh="export_named_specifier",Lh=123183,Ph="declare_interface",Rh=120539,Mh=70451,Gh=64317,Uh="pattern_object_property_computed_key",jh=12543,Xh="export_named_declaration_specifier",Hh=43359,$h=43967,Yh=113800,Vh=126530,Kh=72713,Jh=72103,Wh=70278,qh="if_consequent_statement",zh=8275,Qh=126496,Zh="try_catch",rk="computed_key",tk="class_",ek=173823,nk="pattern_object_property_identifier_key",uk=71913,ak=8485,ik="arrow_function",ck=68151,fk=126546,ok="enum_boolean_member",sk=94177,vk="delete",lk="blocks",Dk="pattern_array_rest_element_pattern",pk=78894,bk=69881,Ek=66512,Fk=94111,dk="test",mk="string",hk=71467,kk=66463,yk=66335,Ak=43263,_k=73061,Ck=72348,wk=":",Sk="enum_body",gk="function_this_param_type",Bk=77823,Tk="minus",Ik=119980,Ok="private_name",Nk=72263,xk="object_key",Lk="function_param_type",Pk=11718,Rk="as",Mk="delegate",Gk="true",Uk=119213,jk=71232,Xk=67413,Hk=73439,$k=70854,Yk=120628,Vk=43776,Kk=43513,Jk="jsx_attribute_name_namespaced",Wk=71723,qk=11505,zk=120127,Qk=73039,Zk="Map.bal",ry="any",ty=126559,ey=43596,ny="import",uy=70404,ay="jsx_spread_child",iy=67897,cy=8233,fy=119974,oy=68405,sy=66639,vy="attributes",ly="object_internal_slot_property_type",Dy=43225,py=71351,by=71349,Ey=70383,Fy=67643,dy="shorthand",my="for_in_statement",hy=126463,ky=71338,yy=69702,Ay=92767,_y=69445,Cy=65370,wy=73055,Sy=73021,gy=64911,By="pattern_object_property_pattern",Ty=70206,Iy=126579,Oy=72343,Ny=64286,xy=94030,Ly="explicitType",Py=67669,Ry=43866,My="Sys_blocked_io",Gy=71093,Uy=123197,jy="catch",Xy=64466,Hy=70463,$y=65140,Yy=73030,Vy=69404,Ky=66272,Jy="protected",Wy=43631,qy=120571,zy="array_type",Qy=43713,Zy="export_default_declaration",rA="quasi",tA="%S",eA=126515,nA=120485,uA=8525,aA=43519,iA=125263,cA=120745,fA=94178,oA=71229,sA=126588,vA=127,lA=19893,DA=66855,pA="visit_leading_comment",bA=67742,EA=120144,FA=43632,dA="returnType",mA=240,hA=-744106340,kA="-",yA=68911,AA=8469,_A="async",CA=126521,wA=72095,SA=" : file already exists",gA=70725,BA=65039,TA=178205,IA=8449,OA=94179,NA=42774,xA="case",LA=66431,PA="targs",RA="declare_export_declaration",MA="type_identifier",GA=43013,UA=64284,jA=43815,XA="function_body_any",HA=120687,$A="public",YA=70003,VA=68115,KA=125273,JA=65598,WA=72262,qA=43712,zA=126547,QA=70095,ZA=110591,r_="indexed_access",t_="interface",e_=-46,n_="string_literal_type",u_="import_namespace_specifier",a_=120132,i_=68102,c_=11735,f_=70751,o_=119893,s_="bool",v_=1e3,l_="default",D_="",p_="exportKind",b_="trailingComments",E_="^",F_=8348,d_=65594,m_="logical",h_="jsx_member_expression_identifier",k_="cooked",y_="for_of_left_declaration",A_="argument",__=63,C_=72202,w_=12442,S_=120085,g_=43645,B_=70749,T_=42539,I_=126468,O_="Match_failure",N_=68191,x_="src/parser/flow_ast.ml",L_=72280,P_=43572,R_=71102,M_=11647,G_="declare_variable",U_="+",j_=71127,X_=43740,H_=120145,$_=64318,Y_="declare_export_declaration_decl",V_=43755,K_="class_implements",J_="inexact",W_=119172,q_="a",z_=73062,Q_=8493,Z_=65100,rC=70863,tC=65278,eC="function_rest_param_type",nC=-696510241,uC=70066,aC=43714,iC=70480,cC=113788,fC=94207,oC="class_body",sC=126651,vC=119996,lC=70719,DC=68735,pC=43456,bC=43273,EC=119209,FC=67644,dC="boolean_literal_type",mC="catch_clause_pattern",hC=126554,kC=126536,yC=113807,AC=126557,_C=43046,CC="property",wC=123213,SC="for_of_assignment_pattern",gC="if_statement",BC=66421,TC=8505,IC="Literal",OC=100343,NC=71257,xC=42887,LC=115,PC=1255,RC=43574,MC=126566,GC=93823,UC=66719,jC="opaque_type",XC="jsx_attribute",HC="type_annotation_hint",$C=92911,YC=73727,VC=72871,KC="range",JC="jsError",WC=32768,qC=70458,zC=70006,QC=71726,ZC=43492,rw="@]}",tw="(Some ",ew=43345,nw=43231,uw=8477,aw=11359,iw=121461,cw=126564,fw=126514,ow=70080,sw="generic_identifier_type",vw=71738,lw=66811,Dw=8256,pw=43759,bw=65007,Ew="pattern_object_rest_property_pattern",Fw=70319,dw=66461,mw=11719,hw=72271,kw=70461,yw=-48,Aw="export_named_declaration",_w="enum_string_body",Cw=110930,ww=73014,Sw=70440,gw="while",Bw="camlinternalFormat.ml",Tw=43782,Iw=11263,Ow=11358,Nw=1114111,xw=73462,Lw=70750,Pw=70105,Rw="jsx_identifier",Mw=71101,Gw=43014,Uw=11564,jw="typeof_type",Xw=64847,Hw=92995,$w=71226,Yw=71167,Vw=42511,Kw=72712,Jw=121,Ww=43704,qw=12293,zw="object_call_property_type",Qw=64433,Zw="operator",rS=68296,tS="class_decorator",eS=120,nS="for_of_statement_lhs",uS=11623,aS=110927,iS=70708,cS=512,fS=71423,oS=93951,sS=12292,vS="object_type",lS="types",DS=69951,pS=8286,bS=126633,ES=12686,FS=73049,dS=72793,mS="0x",hS=70855,kS=70511,yS=70366,AS=65276,_S="variable_declaration",CS=43203,wS=119981,SS=69814,gS=43887,BS=105,TS=122922,IS=8335,OS=70187,NS=70190,xS=69631,LS="jsx_attribute_name_identifier",PS="source",RS="pattern_object_property_key",MS=70842,GS=65548,US=66175,jS=92766,XS="pattern_assignment_pattern",HS=42998,$S="object_type_property_getter",YS=8305,VS="generator",KS="for",JS=121402,WS=-36,qS=68223,zS=66044,QS=43757,ZS="generic_qualified_identifier_type",rg=122906,tg=43790,eg=11686,ng="jsx_closing_element",ug=69687,ag=72162,ig=66348,cg=43388,fg=72768,og=68351,sg="<2>",vg=70015,lg=64297,Dg=125259,pg=",@ ",bg=42651,Eg=70486,Fg=70281,dg=66426,mg=43347,hg=68149,kg=68111,yg="member_property_identifier",Ag=71450,_g=72254,Cg=43009,wg="member_property",Sg=73458,gg="identifier",Bg=67423,Tg=40980,Ig=66775,Og=110951,Ng="Internal Error: Found object private prop",xg=8276,Lg="super_expression",Pg="jsx_opening_element",Rg="variable_declarator_pattern",Mg="pattern_expression",Gg="jsx_member_expression_object",Ug=68252,jg=-835925911,Xg="import_declaration",Hg=55203,$g="key",Yg=126563,Vg=43702,Kg="spread_property",Jg=863850040,Wg=70106,qg=67592,zg="for_init_declaration",Qg=123214,Zg=68479,rB=43879,tB=65305,eB=43019,nB=123180,uB=69622,aB=8487,iB="specifiers",cB="function_body",fB=43641,oB="Unexpected token `",sB=122904,vB=123135,lB=120093,DB=119162,pB=65023,bB=8521,EB=43642;function FB(r,t){throw[0,r,t]}var dB=[0];function mB(r,t){if("function"==typeof t)return r.fun=t,0;if(t.fun)return r.fun=t.fun,0;for(var e=t.length;e--;)r[e]=t[e];return 0}function hB(r,t,e){var n=String.fromCharCode;if(0==t&&e<=4096&&e==r.length)return n.apply(null,r);for(var u=D_;0=e.l||2==e.t&&u>=e.c.length))e.c=4==r.t?hB(r.c,t,u):0==t&&r.c.length==u?r.c:r.c.substr(t,u),e.t=e.c.length==e.l?0:2;else if(2==e.t&&n==e.c.length)e.c+=4==r.t?hB(r.c,t,u):0==t&&r.c.length==u?r.c:r.c.substr(t,u),e.t=e.c.length==e.l?0:2;else{4!=e.t&&kB(e);var a=r.c,i=e.c;if(4==r.t)if(n<=t)for(var c=0;c=0;c--)i[n+c]=a[t+c];else{var f=Math.min(u,a.length-t);for(c=0;c>=1))return e;t+=t,9==++n&&t.slice(0,1)}}function CB(r){2==r.t?r.c+=_B(r.l-r.c.length,"\0"):r.c=hB(r.c,0,r.c.length),r.t=0}function wB(r){if(r.length<24){for(var t=0;tvA)return!1;return!0}return!/[^\x00-\x7f]/.test(r)}function SB(r){for(var t,e,n,u,a=D_,i=D_,c=0,f=r.length;ccS?(i.substr(0,1),a+=i,i=D_,a+=r.slice(c,o)):i+=r.slice(c,o),o==f)break;c=o}u=1,++c=55295&&u<57344)&&(u=2):(u=3,++c1114111)&&(u=3))))),u<4?(c-=u,i+="\ufffd"):i+=u>CE?String.fromCharCode(55232+(u>>10),56320+(1023&u)):String.fromCharCode(u),i.length>rf&&(i.substr(0,1),a+=i,i=D_)}return a+i}function gB(r,t,e){this.t=r,this.c=t,this.l=e}function BB(r){return new gB(0,r,r.length)}function TB(r){return BB(r)}function IB(r,t){FB(r,TB(t))}function OB(r){IB(dB.Invalid_argument,r)}function NB(){OB(vE)}function xB(r,t,e){if(e&=rb,4!=r.t){if(t==r.c.length)return r.c+=String.fromCharCode(e),t+1==r.l&&(r.t=0),0;kB(r)}return r.c[t]=e,0}function LB(r,t,e){return t>>>0>=r.l&&NB(),xB(r,t,e)}function PB(r,t){switch(6&r.t){default:if(t>=r.c.length)return 0;case 0:return r.c.charCodeAt(t);case 4:return r.c[t]}}function RB(r,t){if(r.fun)return RB(r.fun,t);if("function"!=typeof r)return r;var e=0|r.length;if(0===e)return r.apply(null,t);var n=e-(0|t.length)|0;return 0==n?r.apply(null,t):n<0?RB(r.apply(null,t.slice(0,e)),t.slice(e)):function(){for(var e=0==arguments.length?1:arguments.length,n=new Array(t.length+e),u=0;u>>0>=r.length-1&&MB(),r}function UB(r){return 0!=(6&r.t)&&CB(r),r.c}gB.prototype.toString=function(){switch(this.t){case 9:return this.c;default:CB(this);case 0:if(wB(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},gB.prototype.toUtf16=function(){var r=this.toString();return 9==this.t?r:SB(r)},gB.prototype.slice=function(){var r=4==this.t?this.c.slice():this.c;return new gB(this.t,r,this.l)};var jB=Math.log2&&1020==Math.log2(11235582092889474e291);function XB(t){var e=new r.Float32Array(1);return e[0]=t,0|new r.Int32Array(e.buffer)[0]}var HB=Math.pow(2,-24);function $B(r){throw r}function YB(){$B(dB.Division_by_zero)}function VB(r,t,e){this.lo=r&kf,this.mi=t&kf,this.hi=e&CE}function KB(r,t,e){return new VB(r,t,e)}function JB(r){if(!isFinite(r))return isNaN(r)?KB(1,0,32752):KB(0,0,r>0?32752:65520);var t=0==r&&1/r==-1/0?WC:r>=0?0:WC;t&&(r=-r);var e=function(r){if(jB)return Math.floor(Math.log2(r));var t=0;if(0==r)return-1/0;if(r>=1)for(;r>=2;)r/=2,t++;else for(;r<1;)r*=2,t--;return t}(r)+1023;e<=0?(e=0,r/=Math.pow(2,-1026)):((r/=Math.pow(2,e-1027))<16&&(r*=2,e-=1),0==e&&(r/=2));var n=Math.pow(2,24),u=0|r,a=0|(r=(r-u)*n);return KB(0|(r=(r-a)*n),a,u=15&u|t|e<<4)}function WB(r){return r.toArray()}function qB(r,t,e){if(r.write(32,t.dims.length),r.write(32,t.kind|t.layout<<8),t.caml_custom==pE)for(var n=0;n>4;if(2047==u)return 0==(t|e|15&n)?n&WC?-1/0:1/0:NaN;var a=Math.pow(2,-24),i=(t*a+e)*a+(15&n);return u>0?(i+=16,i*=Math.pow(2,u-1027)):i*=Math.pow(2,-1026),n&WC&&(i=-i),i}function tT(r){for(var t=r.length,e=1,n=0;nr.hi?1:this.hir.mi?1:this.mir.lo?1:this.loe?1:tr.mi?1:this.mir.lo?1:this.lo>24);return new VB(r,t,-this.hi+(t>>24))},VB.prototype.add=function(r){var t=this.lo+r.lo,e=this.mi+r.mi+(t>>24);return new VB(t,e,this.hi+r.hi+(e>>24))},VB.prototype.sub=function(r){var t=this.lo-r.lo,e=this.mi-r.mi+(t>>24);return new VB(t,e,this.hi-r.hi+(e>>24))},VB.prototype.mul=function(r){var t=this.lo*r.lo,e=(t*HB|0)+this.mi*r.lo+this.lo*r.mi;return new VB(t,e,(e*HB|0)+this.hi*r.lo+this.mi*r.mi+this.lo*r.hi)},VB.prototype.isZero=function(){return 0==(this.lo|this.mi|this.hi)},VB.prototype.isNeg=function(){return this.hi<<16<0},VB.prototype.and=function(r){return new VB(this.lo&r.lo,this.mi&r.mi,this.hi&r.hi)},VB.prototype.or=function(r){return new VB(this.lo|r.lo,this.mi|r.mi,this.hi|r.hi)},VB.prototype.xor=function(r){return new VB(this.lo^r.lo,this.mi^r.mi,this.hi^r.hi)},VB.prototype.shift_left=function(r){return 0==(r&=63)?this:r<24?new VB(this.lo<>24-r,this.hi<>24-r):r<48?new VB(0,this.lo<>48-r):new VB(0,0,this.lo<>r|this.mi<<24-r,this.mi>>r|this.hi<<24-r,this.hi>>r):r<48?new VB(this.mi>>r-24|this.hi<<48-r,this.hi>>r-24,0):new VB(this.hi>>r-48,0,0)},VB.prototype.shift_right=function(r){if(0==(r&=63))return this;var t=this.hi<<16>>16;if(r<24)return new VB(this.lo>>r|this.mi<<24-r,this.mi>>r|t<<24-r,this.hi<<16>>r>>>16);var e=this.hi<<16>>31;return r<48?new VB(this.mi>>r-24|this.hi<<48-r,this.hi<<16>>r-24>>16,e&CE):new VB(this.hi<<16>>r-32,e,e)},VB.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&kf,this.lo=this.lo<<1&kf},VB.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&kf,this.mi=(this.mi>>>1|this.hi<<23)&kf,this.hi=this.hi>>>1},VB.prototype.udivmod=function(r){for(var t=0,e=this.copy(),n=r.copy(),u=new VB(0,0,0);e.ucompare(n)>0;)t++,n.lsl1();for(;t>=0;)t--,u.lsl1(),e.ucompare(n)>=0&&(u.lo++,e=e.sub(n)),n.lsr1();return{quotient:u,modulus:e}},VB.prototype.div=function(r){var t=this;r.isZero()&&YB();var e=t.hi^r.hi;t.hi&WC&&(t=t.neg()),r.hi&WC&&(r=r.neg());var n=t.udivmod(r).quotient;return e&WC&&(n=n.neg()),n},VB.prototype.mod=function(r){var t=this;r.isZero()&&YB();var e=t.hi;t.hi&WC&&(t=t.neg()),r.hi&WC&&(r=r.neg());var n=t.udivmod(r).modulus;return e&WC&&(n=n.neg()),n},VB.prototype.toInt=function(){return this.lo|this.mi<<24},VB.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},VB.prototype.toArray=function(){return[this.hi>>8,this.hi&rb,this.mi>>16,this.mi>>8&rb,this.mi&rb,this.lo>>16,this.lo>>8&rb,this.lo&rb]},VB.prototype.lo32=function(){return this.lo|(this.mi&rb)<<24},VB.prototype.hi32=function(){return this.mi>>>8&CE|this.hi<<16};function uT(r,t,e,n){this.kind=r,this.layout=t,this.dims=e,this.data=n}function aT(r,t,e,n){this.kind=r,this.layout=t,this.dims=e,this.data=n}function iT(r,t,e,n){var u=zB(r);return tT(e)*u!=n.length&&OB("length doesn't match dims"),0==t&&1==e.length&&1==u?new aT(r,t,e,n):new uT(r,t,e,n)}function cT(r){IB(dB.Failure,r)}function fT(t,e,n){var u=t.read32s();(u<0||u>16)&&cT("input_value: wrong number of bigarray dimensions");var a=t.read32s(),i=a&rb,c=a>>8&1,f=[];if(n==pE)for(var o=0;o>>17,461845907))<<13|r>>>19)+(r<<2)|0)-430675100|0}function lT(r,t){return function(r,t){return r=vT(r,nT(t)),vT(r,eT(t))}(r,JB(t))}function DT(r){var t=tT(r.dims),e=0;switch(r.kind){case 2:case 3:case 12:t>tn&&(t=tn);var n=0,u=0;for(u=0;u+4<=r.data.length;u+=4)e=vT(e,n=r.data[u+0]|r.data[u+1]<<8|r.data[u+2]<<16|r.data[u+3]<<24);switch(n=0,3&t){case 3:n=r.data[u+2]<<16;case 2:n|=r.data[u+1]<<8;case 1:e=vT(e,n|=r.data[u+0])}break;case 4:case 5:t>B&&(t=B);n=0,u=0;for(u=0;u+2<=r.data.length;u+=2)e=vT(e,n=r.data[u+0]|r.data[u+1]<<16);0!=(1&t)&&(e=vT(e,r.data[u]));break;case 6:t>64&&(t=64);for(u=0;u64&&(t=64);for(u=0;u32&&(t=32),t*=2;for(u=0;u64&&(t=64);for(u=0;u32&&(t=32);for(u=0;u=this.dims[e])&&MB(),t=t*this.dims[e]+r[e];else for(e=this.dims.length-1;e>=0;e--)(r[e]<1||r[e]>this.dims[e])&&MB(),t=t*this.dims[e]+(r[e]-1);return t},uT.prototype.get=function(r){switch(this.kind){case 7:return function(r,t){return new VB(r&kf,r>>>24&rb|(t&CE)<<8,t>>>16&CE)}(this.data[2*r+0],this.data[2*r+1]);case 10:case 11:var t=this.data[2*r+0],e=this.data[2*r+1];return[Wm,t,e];default:return this.data[r]}},uT.prototype.set=function(r,t){switch(this.kind){case 7:this.data[2*r+0]=nT(t),this.data[2*r+1]=eT(t);break;case 10:case 11:this.data[2*r+0]=t[1],this.data[2*r+1]=t[2];break;default:this.data[r]=t}return 0},uT.prototype.fill=function(r){switch(this.kind){case 7:var t=nT(r),e=eT(r);if(t==e)this.data.fill(t);else for(var n=0;na)return 1;if(u!=a){if(!t)return NaN;if(u==u)return 1;if(a==a)return-1}}break;case 7:for(n=0;nr.data[n+1])return 1;if(this.data[n]>>>0>>0)return-1;if(this.data[n]>>>0>r.data[n]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(n=0;nr.data[n])return 1}}return 0},aT.prototype=new uT,aT.prototype.offset=function(r){return"number"!=typeof r&&(r instanceof Array&&1==r.length?r=r[0]:OB("Ml_Bigarray_c_1_1.offset")),(r<0||r>=this.dims[0])&&MB(),r},aT.prototype.get=function(r){return this.data[r]},aT.prototype.set=function(r,t){return this.data[r]=t,0},aT.prototype.fill=function(r){return this.data.fill(r),0};var pT={_j:{deserialize:function(r,t){for(var e=new Array(8),n=0;n<8;n++)e[n]=r.read8u();return t[0]=8,ZB(e)},serialize:function(r,t,e){for(var n=WB(t),u=0;u<8;u++)r.write(8,n[u]);e[0]=8,e[1]=8},fixed_length:8,compare:function(r,t,e){return r.compare(t)},hash:function(r){return r.lo32()^r.hi32()}},_i:{deserialize:function(r,t){return t[0]=4,r.read32s()},fixed_length:4},_n:{deserialize:function(r,t){switch(r.read8u()){case 1:return t[0]=4,r.read32s();case 2:cT("input_value: native integer value too large");default:cT("input_value: ill-formed native integer")}},fixed_length:4},_bigarray:{deserialize:function(r,t){return fT(r,t,sr)},serialize:qB,compare:oT,hash:DT},_bigarr02:{deserialize:function(r,t){return fT(r,t,pE)},serialize:qB,compare:oT,hash:DT}};function bT(r){return pT[r.caml_custom]&&pT[r.caml_custom].compare}function ET(r,t,e,n){var u=bT(t);if(u){var a=e>0?u(t,r,n):u(r,t,n);if(n&&a!=a)return e;if(+a!=+a)return+a;if(0!=(0|a))return 0|a}return e}function FT(r){return r instanceof gB}function dT(r){return FT(r)}function mT(r){if("number"==typeof r)return v_;if(FT(r))return cF;if(dT(r))return 1252;if(r instanceof Array&&r[0]===r[0]>>>0&&r[0]<=Ps){var t=0|r[0];return t==Wm?0:t}return r instanceof String||"string"==typeof r?12520:r instanceof Number?v_:r&&r.caml_custom?PC:r&&r.compare?1256:"function"==typeof r?1247:"symbol"==typeof r?1251:1001}function hT(r,t){return rt.c?1:0}function yT(r,t){return kT(r,t)}function AT(r,t,e){for(var n=[];;){if(!e||r!==t){var u=mT(r);if(250==u){r=r[1];continue}var a=mT(t);if(250==a){t=t[1];continue}if(u!==a)return u==v_?a==PC?ET(r,t,-1,e):-1:a==v_?u==PC?ET(t,r,1,e):1:ut)return 1;if(r!=t){if(!e)return NaN;if(r==r)return 1;if(t==t)return-1}break;case 1001:if(rt)return 1;if(r!=t){if(!e)return NaN;if(r==r)return 1;if(t==t)return-1}break;case 1251:if(r!==t)return e?1:NaN;break;case 1252:if((r=UB(r))!==(t=UB(t))){if(rt)return 1}break;case 12520:if((r=r.toString())!==(t=t.toString())){if(rt)return 1}break;case 246:case 254:default:if(r.length!=t.length)return r.length1&&n.push(r,t,1)}}if(0==n.length)return 0;var f=n.pop();t=n.pop(),f+1<(r=n.pop()).length&&n.push(r,t,f+1),r=r[f],t=t[f]}}function _T(r,t){return AT(r,t,!0)}function CT(r){return r<0&&OB("Bytes.create"),new gB(r?2:9,D_,r)}function wT(r,t){return+(0==AT(r,t,!1))}function ST(r){var t;if(t=+(r=UB(r)),r.length>0&&t==t)return t;if(t=+(r=r.replace(/_/g,D_)),r.length>0&&t==t||/^[+-]?nan$/i.test(r))return t;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(r);if(e){var n=e[3].replace(/0+$/,D_),u=parseInt(e[1]+e[2]+n,16),a=(0|e[4])-4*n.length;return t=u*Math.pow(2,a)}return/^\+?inf(inity)?$/i.test(r)?1/0:/^-inf(inity)?$/i.test(r)?-1/0:void cT("float_of_string")}function gT(r){var t=(r=UB(r)).length;t>31&&OB("format_int: format too long");for(var e={justify:U_,signstyle:kA,filler:ZD,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:"f"},n=0;n=0&&u<=9;)e.width=10*e.width+u,n++;n--;break;case".":for(e.prec=0,n++;(u=r.charCodeAt(n)-48)>=0&&u<=9;)e.prec=10*e.prec+u,n++;n--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=u;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=u.toLowerCase()}}return e}function BT(r,t){r.uppercase&&(t=t.toUpperCase());var e=t.length;r.signedconv&&(r.sign<0||r.signstyle!=kA)&&e++,r.alternate&&(8==r.base&&(e+=1),16==r.base&&(e+=2));var n=D_;if(r.justify==U_&&r.filler==ZD)for(var u=e;u20?(e-=20,r/=Math.pow(10,e),r+=new Array(e+1).join(Dc),t>0&&(r=r+pF+new Array(t+1).join(Dc)),r):r.toFixed(t)}(t,n);break;case"g":n=n||1;var i=(u=t.toExponential(n-1)).indexOf("e"),c=+u.slice(i+1);if(c<-4||t>=1e21||t.toFixed(0).length>n){for(a=i-1;u.charAt(a)==Dc;)a--;u.charAt(a)==pF&&a--,a=(u=u.slice(0,a+1)+u.slice(i)).length,"e"==u.charAt(a-3)&&(u=u.slice(0,a-1)+Dc+u.slice(a-1));break}var f=n;if(c<0)f-=c+1,u=t.toFixed(f);else for(;(u=t.toFixed(f)).length>n+1;)f--;if(f){for(a=u.length-1;u.charAt(a)==Dc;)a--;u.charAt(a)==pF&&a--,u=u.slice(0,a+1)}}else u="inf",e.filler=ZD;return BT(e,u)}function IT(r,t){if(UB(r)==Vn)return TB(D_+t);var e=gT(r);t<0&&(e.signedconv?(e.sign=-1,t=-t):t>>>=0);var n=t.toString(e.base);if(e.prec>=0){e.filler=ZD;var u=e.prec-n.length;u>0&&(n=_B(u,Dc)+n)}return BT(e,n)}var OT=0;function NT(){return OT++}var xT=[];function LT(r,t,e){var n=r[1],u=xT[e];if(null===u)for(var a=xT.length;a>1|1)+1]?f=i-2:c=i;return xT[e]=c+1,t==n[c+1]?n[c]:0}function PT(r){var t=9;return wB(r)||(t=8,r=function(r){for(var t,e,n=D_,u=n,a=0,i=r.length;acS?(u.substr(0,1),n+=u,u=D_,n+=r.slice(a,c)):u+=r.slice(a,c),c==i)break;a=c}t<2048?(u+=String.fromCharCode(192|t>>6),u+=String.fromCharCode(Va|t&__)):t<55296||t>=57343?u+=String.fromCharCode(224|t>>12,Va|t>>6&__,Va|t&__):t>=56319||a+1==i||(e=r.charCodeAt(a+1))<56320||e>57343?u+="\xef\xbf\xbd":(a++,t=(t<<10)+e-56613888,u+=String.fromCharCode(240|t>>18,Va|t>>12&__,Va|t>>6&__,Va|t&__)),u.length>rf&&(u.substr(0,1),n+=u,u=D_)}return n+u}(r)),new gB(t,r,r.length)}function RT(r){return PT(r)}function MT(r){return+r.isZero()}function GT(r){return new VB(r&kf,r>>24&kf,r>>31&CE)}function UT(r){return r.toInt()}function jT(r){return r.neg()}function XT(r){return r.l}function HT(r){return XT(r)}function $T(r,t){return PB(r,t)}function YT(r,t){return r.add(t)}function VT(r,t){return r.mul(t)}function KT(r,t){return r.ucompare(t)<0}function JT(r){var t=0,e=HT(r),n=10,u=1;if(e>0)switch($T(r,t)){case 45:t++,u=-1;break;case 43:t++,u=1}if(t+1=48&&r<=57?r-48:r>=65&&r<=90?r-55:r>=97&&r<=S?r-87:-1}function qT(r){var t=JT(r),e=t[0],n=t[1],u=t[2],a=GT(u),i=new VB(kf,268435455,CE).udivmod(a).quotient,c=$T(r,e),f=WT(c);(f<0||f>=u)&&cT(rl);for(var o=GT(f);;)if(95!=(c=$T(r,++e))){if((f=WT(c))<0||f>=u)break;KT(i,o)&&cT(rl),f=GT(f),KT(o=YT(VT(a,o),f),f)&&cT(rl)}return e!=HT(r)&&cT(rl),10==u&&KT(new VB(0,0,WC),o)&&cT(rl),n<0&&(o=jT(o)),o}function zT(r){return r.toFloat()}function QT(r){var t=JT(r),e=t[0],n=t[1],u=t[2],a=HT(r),i=e=u)&&cT(rl);var f=c;for(e++;e=u)break;(f=u*f+c)>4294967295&&cT(rl)}return e!=a&&cT(rl),f*=n,10==u&&(0|f)!=f&&cT(rl),0|f}function ZT(r){return r.slice(1)}function rI(r){return!!r}function tI(r){return r.toUtf16()}function eI(r){for(var t={},e=1;e=u){var a=CT(r+n),i=this.data;this.data=a,yB(i,0,this.data,0,u)}return AB(t,e,this.data,r,n),0},sI.prototype.read=function(r,t,e,n){return this.length(),yB(this.data,r,t,e,n),0},sI.prototype.read_one=function(r){return function(r,t){return t>>>0>=r.l&&NB(),PB(r,t)}(this.data,r)},sI.prototype.close=function(){},sI.prototype.constructor=sI,vI.prototype.nm=function(r){return this.root+r},vI.prototype.lookup=function(r){if(!this.content[r]&&this.lookupFun){var t=this.lookupFun(TB(this.root),TB(r));0!==t&&(this.content[r]=new sI(t[1]))}},vI.prototype.exists=function(r){if(r==D_)return 1;var t=new RegExp(E_+(r+ds));for(var e in this.content)if(e.match(t))return 1;return this.lookup(r),this.content[r]?1:0},vI.prototype.readdir=function(r){var t=new RegExp(E_+(r==D_?D_:r+ds)+Wb),e={},n=[];for(var u in this.content){var a=u.match(t);a&&!e[a[1]]&&(e[a[1]]=!0,n.push(a[1]))}return n},vI.prototype.is_dir=function(r){var t=new RegExp(E_+(r==D_?D_:r+ds)+Wb);for(var e in this.content){if(e.match(t))return 1}return 0},vI.prototype.unlink=function(r){var t=!!this.content[r];return delete this.content[r],t},vI.prototype.open=function(r,t){if(t.rdonly&&t.wronly&&aI(this.nm(r)+" : flags Open_rdonly and Open_wronly are not compatible"),t.text&&t.binary&&aI(this.nm(r)+" : flags Open_text and Open_binary are not compatible"),this.lookup(r),this.content[r]){this.is_dir(r)&&aI(this.nm(r)+" : is a directory"),t.create&&t.excl&&aI(this.nm(r)+SA);var e=this.content[r];return t.truncate&&e.truncate(),e}if(t.create)return this.content[r]=new sI(CT(0)),this.content[r];!function(r){aI((r=UB(r))+": No such file or directory")}(this.nm(r))},vI.prototype.register=function(r,t){if(this.content[r]&&aI(this.nm(r)+SA),FT(t)&&(this.content[r]=new sI(t)),dT(t))this.content[r]=new sI(t);else if(t instanceof Array)this.content[r]=new sI(function(r){return new gB(4,r,r.length)}(t));else if("string"==typeof t)this.content[r]=new sI(BB(t));else if(t.toString){var e=RT(t.toString());this.content[r]=new sI(e)}else aI(this.nm(r)+" : registering file with invalid content type")},vI.prototype.constructor=vI,lI.prototype=new oI,lI.prototype.truncate=function(r){try{this.fs.ftruncateSync(this.fd,0|r)}catch(r){aI(r.toString())}},lI.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(r){aI(r.toString())}},lI.prototype.write=function(t,e,n,u){var a=function(r){for(var t=HT(r),e=new Array(t),n=0;ndB.fd_last_idx)&&(dB.fd_last_idx=r),r}function FI(r){var t=dB.fds[r];t.flags.rdonly&&aI("fd "+r+" is readonly");var e={file:t.file,offset:t.offset,fd:r,opened:!0,out:!0,buffer:D_};return iI[e.fd]=e,e.fd}function dI(r,t,e,n){return function(r,t,e,n){var u,a=iI[r];a.opened||aI("Cannot output to a closed channel"),0==e&&XT(t)==n?u=t:yB(t,e,u=CT(n),0,n);var i=UB(u),c=i.lastIndexOf("\n");return c<0?a.buffer+=i:(a.buffer+=i.substr(0,c+1),cI(r),a.buffer+=i.substr(c+1)),0}(r,t,e,n)}function mI(r,t){return+(0!=AT(r,t,!1))}function hI(r,t){var e=new Array(t+1);e[0]=r;for(var n=1;n<=t;n++)e[n]=0;return e}function kI(r){return r instanceof Array&&r[0]==r[0]>>>0?r[0]:FT(r)||dT(r)?cF:r instanceof Function||"function"==typeof r?247:r&&r.caml_custom?Ps:v_}function yI(t,e,n){n&&r.toplevelReloc&&(t=r.toplevelReloc(n)),dB[t+1]=e,n&&(dB[n]=e)}void 0!==r.process&&void 0!==r.process.versions&&void 0!==r.process.versions.node&&"browser"!==r.process.platform?bI.push({path:pI,device:new DI(pI)}):bI.push({path:pI,device:new vI(pI)}),bI.push({path:pI+AD,device:new vI(pI+AD)}),EI(0,(function(r,t){var e=iI[r],n=TB(t),u=HT(n);return e.file.write(e.offset,n,0,u),e.offset+=u,0}),new sI(CT(0))),EI(1,(function(t){t=SB(t);var e=r;if(e.process&&e.process.stdout&&e.process.stdout.write)e.process.stdout.write(t);else{10==t.charCodeAt(t.length-1)&&(t=t.substr(0,t.length-1));var n=e.console;n&&n.log&&n.log(t)}}),new sI(CT(0))),EI(2,(function(t){t=SB(t);var e=r;if(e.process&&e.process.stdout&&e.process.stdout.write)e.process.stderr.write(t);else{10==t.charCodeAt(t.length-1)&&(t=t.substr(0,t.length-1));var n=e.console;n&&n.error&&n.error(t)}}),new sI(CT(0)));var AI={};function _I(r,t){return function(r,t){return r===t?1:(6&r.t&&CB(r),6&t.t&&CB(t),r.c==t.c?1:0)}(r,t)}function CI(r,t){return t>>>0>=HT(r)&&OB(vE),$T(r,t)}function wI(r,t){return 1-_I(r,t)}function SI(t){var e=r,n=tI(t);return e.process&&e.process.env&&null!=e.process.env[n]?RT(e.process.env[n]):r.jsoo_static_env&&r.jsoo_static_env[n]?RT(r.jsoo_static_env[n]):void $B(dB.Not_found)}function gI(r){for(;r&&r.joo_tramp;)r=r.joo_tramp.apply(null,r.joo_args);return r}function BI(r,t){return{joo_tramp:r,joo_args:t}}function TI(r){return AI[r]}function II(t){return t instanceof Array?t:r.RangeError&&t instanceof r.RangeError&&t.message&&t.message.match(/maximum call stack/i)||r.InternalError&&t instanceof r.InternalError&&t.message&&t.message.match(/too much recursion/i)?dB.Stack_overflow:t instanceof r.Error&&TI(JC)?[0,TI(JC),t]:[0,dB.Failure,RT(String(t))]}function OI(r,t){return 1==r.length?r(t):RB(r,[t])}function NI(r,t,e){return 2==r.length?r(t,e):RB(r,[t,e])}function xI(r,t,e,n){return 3==r.length?r(t,e,n):RB(r,[t,e,n])}function LI(r,t,e,n,u){return 4==r.length?r(t,e,n,u):RB(r,[t,e,n,u])}function PI(r,t,e,n,u,a){return 5==r.length?r(t,e,n,u,a):RB(r,[t,e,n,u,a])}var RI=[_c,TB(uE),-1],MI=[_c,TB(xv),-2],GI=[_c,TB(qs),-3],UI=[_c,TB(Ti),-4],jI=[_c,TB(ha),-7],XI=[_c,TB(O_),-8],HI=[_c,TB(pa),-9],$I=[_c,TB(Ie),-11],YI=[_c,TB(ep),-12],VI=[0,ul],KI=[0,[11,TB('File "'),[2,0,[11,TB('", line '),[4,0,0,0,[11,TB(", characters "),[4,0,0,0,[12,45,[4,0,0,0,[11,TB(": "),[2,0,0]]]]]]]]]],TB('File "%s", line %d, characters %d-%d: %s')],JI=[0,0,[0,0,0],[0,0,0]],WI=[0,0],qI=TB("\x01\x02"),zI=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),QI=[0,0,0,0,0,0,0,0,1,0],ZI=[0,TB(us),TB(pp),TB(zy),TB(ik),TB(Cm),TB(su),TB(Lv),TB(vt),TB(Mr),TB(y),TB(dC),TB(Yc),TB(he),TB(fc),TB(Zp),TB(qi),TB(P),TB(ue),TB(mC),TB(tk),TB(oC),TB(tS),TB(pn),TB(ar),TB(Vt),TB(K_),TB(Qn),TB(Pf),TB(wi),TB(dE),TB(Gt),TB(fb),TB(da),TB(rk),TB(nh),TB(XD),TB(Wi),TB(Ni),TB(RA),TB(Y_),TB(Mu),TB(Ph),TB(hp),TB(AE),TB(hf),TB(G_),TB(vb),TB(xd),TB(Sk),TB(Ih),TB(ok),TB(rv),TB(Sd),TB(Pn),TB(xe),TB(_w),TB(is),TB(He),TB(yp),TB(Zy),TB(Zr),TB(Aw),TB(Xh),TB(xh),TB(ye),TB(to),TB(El),TB(fe),TB(Un),TB(my),TB(ms),TB(zg),TB(SC),TB(y_),TB($c),TB(nS),TB(g),TB(bE),TB(Rp),TB(cB),TB(XA),TB(cf),TB(Eo),TB(mn),TB(er),TB(ci),TB(Lk),TB(SF),TB(pf),TB(eC),TB(ut),TB(gk),TB(Bc),TB(VS),TB(sw),TB(ZS),TB(Au),TB(gg),TB(kt),TB(qh),TB(gC),TB(ny),TB(Xg),TB(Yp),TB(Dv),TB(u_),TB(zf),TB(r_),TB(t_),TB(Hr),TB(Ob),TB(cl),TB(XC),TB(An),TB(LS),TB(Jk),TB(Ym),TB(Sa),TB(Rr),TB(br),TB(So),TB(ng),TB(TE),TB(mF),TB(zl),TB(lo),TB(ip),TB(No),TB(U),TB(Rw),TB(Hm),TB(h_),TB(Gg),TB(Jm),TB(nc),TB(Pg),TB($o),TB(ay),TB(zo),TB(ii),TB(Bv),TB(m_),TB(ev),TB(jv),TB(wg),TB(e),TB(yg),TB(xt),TB(mc),TB(JF),TB(qo),TB(oe),TB(zw),TB(ju),TB(ly),TB(xk),TB(ai),TB(pu),TB(fr),TB(fn),TB(mi),TB(hD),TB(bh),TB(vS),TB($S),TB(jd),TB(jC),TB(Xt),TB(VF),TB(Sh),TB(Kp),TB(Ba),TB(wa),TB(jm),TB(Et),TB(Dk),TB(XS),TB(Mg),TB(qu),TB(yu),TB($F),TB(sn),TB(Uh),TB(nk),TB(RS),TB($v),TB(By),TB(ym),TB(Ew),TB(bl),TB(c),TB(Ok),TB(wc),TB(Qe),TB(Ji),TB(Gn),TB(Kg),TB(Nt),TB(_v),TB(xf),TB(n_),TB(Lg),TB(jE),TB(sb),TB(nd),TB(Ea),TB(Hv),TB(Qb),TB(ln),TB(BE),TB(ur),TB(Ol),TB(Zh),TB(bD),TB(gc),TB(Uv),TB(Fv),TB(HC),TB(bF),TB(Jn),TB(MA),TB(pe),TB(Mo),TB(jw),TB(HE),TB(_E),TB(Ln),TB(_S),TB(Di),TB(Rg),TB(Xp),TB(wE),TB($l),TB(Av),TB(Eb)],rO=[0,TB("first_leading"),TB("last_trailing")],tO=[0,0,0],eO=[0,0];yI(11,YI,ep),yI(10,$I,Ie),yI(9,[_c,TB(My),-10],My),yI(8,HI,pa),yI(7,XI,O_),yI(6,jI,ha),yI(5,[_c,TB(zd),-6],zd),yI(4,[_c,TB(Ys),-5],Ys),yI(3,UI,Ti),yI(2,GI,qs),yI(1,MI,xv),yI(0,RI,uE);var nO=TB("output_substring"),uO=TB("%.12g"),aO=TB(pF),iO=TB(Gk),cO=TB(Xa),fO=TB("\\\\"),oO=TB("\\'"),sO=TB("\\b"),vO=TB("\\t"),lO=TB("\\n"),DO=TB("\\r"),pO=TB("Char.chr"),bO=TB(" is not an Unicode scalar value"),EO=TB("%X"),FO=TB("List.iter2"),dO=[0,TB("list.ml"),282,11],mO=TB("tl"),hO=TB("hd"),kO=TB("String.blit / Bytes.blit_string"),yO=TB("Bytes.blit"),AO=TB("String.sub / Bytes.sub"),_O=TB("Array.blit"),CO=TB("Array.sub"),wO=TB("Array.init"),SO=TB("Set.remove_min_elt"),gO=[0,0,0,0],BO=[0,0,0],TO=[0,TB("set.ml"),547,18],IO=TB(Ep),OO=TB(Ep),NO=TB(Ep),xO=TB(Ep),LO=TB("Map.remove_min_elt"),PO=[0,0,0,0],RO=[0,TB("map.ml"),398,10],MO=[0,0,0],GO=TB(Zk),UO=TB(Zk),jO=TB(Zk),XO=TB(Zk),HO=TB("Stdlib.Queue.Empty"),$O=TB("Buffer.add_substring/add_subbytes"),YO=TB("Buffer.add: cannot grow buffer"),VO=[0,TB(ru),93,2],KO=[0,TB(ru),94,2],JO=TB("Buffer.sub"),WO=TB("%c"),qO=TB("%s"),zO=TB("%i"),QO=TB("%li"),ZO=TB("%ni"),rN=TB("%Li"),tN=TB("%f"),eN=TB(Nb),nN=TB("%{"),uN=TB("%}"),aN=TB("%("),iN=TB("%)"),cN=TB(kD),fN=TB("%t"),oN=TB("%?"),sN=TB("%r"),vN=TB("%_r"),lN=[0,TB(Bw),847,23],DN=[0,TB(Bw),811,21],pN=[0,TB(Bw),812,21],bN=[0,TB(Bw),815,21],EN=[0,TB(Bw),816,21],FN=[0,TB(Bw),819,19],dN=[0,TB(Bw),820,19],mN=[0,TB(Bw),823,22],hN=[0,TB(Bw),824,22],kN=[0,TB(Bw),828,30],yN=[0,TB(Bw),829,30],AN=[0,TB(Bw),833,26],_N=[0,TB(Bw),834,26],CN=[0,TB(Bw),843,28],wN=[0,TB(Bw),844,28],SN=[0,TB(Bw),848,23],gN=TB("%u"),BN=[0,TB(Bw),1555,4],TN=TB("Printf: bad conversion %["),IN=[0,TB(Bw),1623,39],ON=[0,TB(Bw),1646,31],NN=[0,TB(Bw),1647,31],xN=TB("Printf: bad conversion %_"),LN=TB("@{"),PN=TB("@["),RN=[0,[11,TB("invalid box description "),[3,0,0]],TB("invalid box description %S")],MN=TB(D_),GN=[0,0,4],UN=TB(D_),jN=TB("b"),XN=TB("h"),HN=TB("hov"),$N=TB("hv"),YN=TB("v"),VN=TB(ps),KN=TB(pF),JN=TB("neg_infinity"),WN=TB(lt),qN=TB("%+nd"),zN=TB("% nd"),QN=TB("%+ni"),ZN=TB("% ni"),rx=TB("%nx"),tx=TB("%#nx"),ex=TB("%nX"),nx=TB("%#nX"),ux=TB("%no"),ax=TB("%#no"),ix=TB("%nd"),cx=TB("%ni"),fx=TB("%nu"),ox=TB("%+ld"),sx=TB("% ld"),vx=TB("%+li"),lx=TB("% li"),Dx=TB("%lx"),px=TB("%#lx"),bx=TB("%lX"),Ex=TB("%#lX"),Fx=TB("%lo"),dx=TB("%#lo"),mx=TB("%ld"),hx=TB("%li"),kx=TB("%lu"),yx=TB("%+Ld"),Ax=TB("% Ld"),_x=TB("%+Li"),Cx=TB("% Li"),wx=TB("%Lx"),Sx=TB("%#Lx"),gx=TB("%LX"),Bx=TB("%#LX"),Tx=TB("%Lo"),Ix=TB("%#Lo"),Ox=TB("%Ld"),Nx=TB("%Li"),xx=TB("%Lu"),Lx=TB("%+d"),Px=TB("% d"),Rx=TB("%+i"),Mx=TB("% i"),Gx=TB("%x"),Ux=TB("%#x"),jx=TB("%X"),Xx=TB("%#X"),Hx=TB("%o"),$x=TB("%#o"),Yx=TB(Vn),Vx=TB("%i"),Kx=TB("%u"),Jx=TB(Cl),Wx=TB("@}"),qx=TB("@?"),zx=TB("@\n"),Qx=TB("@."),Zx=TB("@@"),rL=TB("@%"),tL=TB("@"),eL=TB("CamlinternalFormat.Type_mismatch"),nL=TB(D_),uL=[0,[11,TB(", "),[2,0,[2,0,0]]],TB(", %s%s")],aL=TB("Out of memory"),iL=TB("Stack overflow"),cL=TB("Pattern matching failed"),fL=TB("Assertion failed"),oL=TB("Undefined recursive module"),sL=[0,[12,40,[2,0,[2,0,[12,41,0]]]],TB("(%s%s)")],vL=TB(D_),lL=TB(D_),DL=[0,[12,40,[2,0,[12,41,0]]],TB("(%s)")],pL=[0,[4,0,0,0,0],TB(Vn)],bL=[0,[3,0,0],TB(tA)],EL=TB(li),FL=[3,0,3],dL=TB(pF),mL=TB(L),hL=TB("Flow_ast.Function.BodyBlock@ ")],wP=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],SP=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],gP=[0,[17,0,[12,41,0]],TB(st)],BP=[0,[17,0,[12,41,0]],TB(st)],TP=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Function.BodyExpression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Function.BodyExpression@ ")],IP=[0,[17,0,[12,41,0]],TB(st)],OP=[0,[15,0],TB(kD)],NP=TB(mp),xP=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],LP=TB("Flow_ast.Function.id"),PP=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RP=TB(tw),MP=TB(os),GP=TB(Zv),UP=[0,[17,0,0],TB(Cl)],jP=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],XP=TB(_),HP=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$P=[0,[17,0,0],TB(Cl)],YP=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],VP=TB(Xm),KP=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],JP=[0,[17,0,0],TB(Cl)],WP=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qP=TB(_A),zP=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],QP=[0,[9,0,0],TB(Nb)],ZP=[0,[17,0,0],TB(Cl)],rR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tR=TB(VS),eR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nR=[0,[9,0,0],TB(Nb)],uR=[0,[17,0,0],TB(Cl)],aR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],iR=TB(bl),cR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],fR=TB(tw),oR=TB(os),sR=TB(Zv),vR=[0,[17,0,0],TB(Cl)],lR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],DR=TB(Qe),pR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],bR=[0,[17,0,0],TB(Cl)],ER=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],FR=TB(_r),dR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],mR=TB(tw),hR=TB(os),kR=TB(Zv),yR=[0,[17,0,0],TB(Cl)],AR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_R=TB(Ku),CR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wR=TB(tw),SR=TB(os),gR=TB(Zv),BR=[0,[17,0,0],TB(Cl)],TR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],IR=TB("sig_loc"),OR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],NR=[0,[17,0,0],TB(Cl)],xR=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],LR=[0,[15,0],TB(kD)],PR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],RR=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],MR=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],GR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],UR=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],jR=TB("Flow_ast.Function.Params.this_"),XR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HR=TB(tw),$R=TB(os),YR=TB(Zv),VR=[0,[17,0,0],TB(Cl)],KR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],JR=TB(_),WR=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qR=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],zR=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],QR=[0,[17,0,0],TB(Cl)],ZR=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rM=TB(Ca),tM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eM=TB(tw),nM=TB(os),uM=TB(Zv),aM=[0,[17,0,0],TB(Cl)],iM=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cM=TB(Ku),fM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],oM=TB(tw),sM=TB(os),vM=TB(Zv),lM=[0,[17,0,0],TB(Cl)],DM=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],pM=[0,[15,0],TB(kD)],bM=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],EM=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],FM=[0,[17,0,[12,41,0]],TB(st)],dM=[0,[15,0],TB(kD)],mM=TB(mp),hM=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kM=TB("Flow_ast.Function.ThisParam.annot"),yM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],AM=[0,[17,0,0],TB(Cl)],_M=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],CM=TB(Ku),wM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],SM=TB(tw),gM=TB(os),BM=TB(Zv),TM=[0,[17,0,0],TB(Cl)],IM=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],OM=[0,[15,0],TB(kD)],NM=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],xM=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],LM=[0,[17,0,[12,41,0]],TB(st)],PM=[0,[15,0],TB(kD)],RM=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],MM=TB("Flow_ast.Function.Param.argument"),GM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],UM=[0,[17,0,0],TB(Cl)],jM=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],XM=TB(l_),HM=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$M=TB(tw),YM=TB(os),VM=TB(Zv),KM=[0,[17,0,0],TB(Cl)],JM=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],WM=[0,[15,0],TB(kD)],qM=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],zM=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],QM=[0,[17,0,[12,41,0]],TB(st)],ZM=[0,[15,0],TB(kD)],rG=TB(mp),tG=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],eG=TB("Flow_ast.Function.RestParam.argument"),nG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uG=[0,[17,0,0],TB(Cl)],aG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],iG=TB(Ku),cG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],fG=TB(tw),oG=TB(os),sG=TB(Zv),vG=[0,[17,0,0],TB(Cl)],lG=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],DG=[0,[15,0],TB(kD)],pG=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],bG=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],EG=[0,[17,0,[12,41,0]],TB(st)],FG=[0,[15,0],TB(kD)],dG=TB(mp),mG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hG=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kG=TB("Flow_ast.Class.id"),yG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],AG=TB(tw),_G=TB(os),CG=TB(Zv),wG=[0,[17,0,0],TB(Cl)],SG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gG=TB(Xm),BG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TG=[0,[17,0,0],TB(Cl)],IG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],OG=TB(_r),NG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xG=TB(tw),LG=TB(os),PG=TB(Zv),RG=[0,[17,0,0],TB(Cl)],MG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GG=TB(wp),UG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jG=TB(tw),XG=TB(os),HG=TB(Zv),$G=[0,[17,0,0],TB(Cl)],YG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],VG=TB(mt),KG=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],JG=TB(tw),WG=TB(os),qG=TB(Zv),zG=[0,[17,0,0],TB(Cl)],QG=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ZG=TB("class_decorators"),rU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],tU=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],eU=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],nU=[0,[17,0,0],TB(Cl)],uU=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],aU=TB(Ku),iU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cU=TB(tw),fU=TB(os),oU=TB(Zv),sU=[0,[17,0,0],TB(Cl)],vU=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],lU=[0,[15,0],TB(kD)],DU=TB(mp),pU=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],bU=TB("Flow_ast.Class.Decorator.expression"),EU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],FU=[0,[17,0,0],TB(Cl)],dU=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],mU=TB(Ku),hU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],kU=TB(tw),yU=TB(os),AU=TB(Zv),_U=[0,[17,0,0],TB(Cl)],CU=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],wU=[0,[15,0],TB(kD)],SU=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],gU=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],BU=[0,[17,0,[12,41,0]],TB(st)],TU=[0,[15,0],TB(kD)],IU=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Class.Body.Method"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Class.Body.Method@ ")],OU=[0,[17,0,[12,41,0]],TB(st)],NU=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Class.Body.Property"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Class.Body.Property@ ")],xU=[0,[17,0,[12,41,0]],TB(st)],LU=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Class.Body.PrivateField"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],PU=[0,[17,0,[12,41,0]],TB(st)],RU=[0,[15,0],TB(kD)],MU=TB(mp),GU=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],UU=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],jU=TB("Flow_ast.Class.Body.body"),XU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HU=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],$U=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],YU=[0,[17,0,0],TB(Cl)],VU=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],KU=TB(Ku),JU=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],WU=TB(tw),qU=TB(os),zU=TB(Zv),QU=[0,[17,0,0],TB(Cl)],ZU=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],rj=[0,[15,0],TB(kD)],tj=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],ej=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],nj=[0,[17,0,[12,41,0]],TB(st)],uj=[0,[15,0],TB(kD)],aj=TB(mp),ij=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cj=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],fj=TB("Flow_ast.Class.Implements.interfaces"),oj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sj=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],vj=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],lj=[0,[17,0,0],TB(Cl)],Dj=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],pj=TB(Ku),bj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ej=TB(tw),Fj=TB(os),dj=TB(Zv),mj=[0,[17,0,0],TB(Cl)],hj=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],kj=[0,[15,0],TB(kD)],yj=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Aj=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],_j=[0,[17,0,[12,41,0]],TB(st)],Cj=[0,[15,0],TB(kD)],wj=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Sj=TB("Flow_ast.Class.Implements.Interface.id"),gj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Bj=[0,[17,0,0],TB(Cl)],Tj=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ij=TB(PA),Oj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Nj=TB(tw),xj=TB(os),Lj=TB(Zv),Pj=[0,[17,0,0],TB(Cl)],Rj=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Mj=[0,[15,0],TB(kD)],Gj=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Uj=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],jj=[0,[17,0,[12,41,0]],TB(st)],Xj=[0,[15,0],TB(kD)],Hj=TB(mp),$j=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Yj=TB("Flow_ast.Class.Extends.expr"),Vj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Kj=[0,[17,0,0],TB(Cl)],Jj=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Wj=TB(PA),qj=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zj=TB(tw),Qj=TB(os),Zj=TB(Zv),rX=[0,[17,0,0],TB(Cl)],tX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],eX=TB(Ku),nX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uX=TB(tw),aX=TB(os),iX=TB(Zv),cX=[0,[17,0,0],TB(Cl)],fX=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],oX=[0,[15,0],TB(kD)],sX=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],vX=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],lX=[0,[17,0,[12,41,0]],TB(st)],DX=[0,[15,0],TB(kD)],pX=TB(mp),bX=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],EX=TB("Flow_ast.Class.PrivateField.key"),FX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],dX=[0,[17,0,0],TB(Cl)],mX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hX=TB(WF),kX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],yX=[0,[17,0,0],TB(Cl)],AX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_X=TB(aa),CX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wX=[0,[17,0,0],TB(Cl)],SX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gX=TB(Qu),BX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TX=[0,[9,0,0],TB(Nb)],IX=[0,[17,0,0],TB(Cl)],OX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],NX=TB(Xp),xX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],LX=TB(tw),PX=TB(os),RX=TB(Zv),MX=[0,[17,0,0],TB(Cl)],GX=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],UX=TB(Ku),jX=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],XX=TB(tw),HX=TB(os),$X=TB(Zv),YX=[0,[17,0,0],TB(Cl)],VX=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],KX=[0,[15,0],TB(kD)],JX=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],WX=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],qX=[0,[17,0,[12,41,0]],TB(st)],zX=[0,[15,0],TB(kD)],QX=TB("Flow_ast.Class.Property.Uninitialized"),ZX=TB("Flow_ast.Class.Property.Declared"),rH=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Class.Property.Initialized"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Class.Property.Initialized@ ")],tH=[0,[17,0,[12,41,0]],TB(st)],eH=[0,[15,0],TB(kD)],nH=TB(mp),uH=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],aH=TB("Flow_ast.Class.Property.key"),iH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cH=[0,[17,0,0],TB(Cl)],fH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],oH=TB(WF),sH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],vH=[0,[17,0,0],TB(Cl)],lH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],DH=TB(aa),pH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],bH=[0,[17,0,0],TB(Cl)],EH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],FH=TB(Qu),dH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],mH=[0,[9,0,0],TB(Nb)],hH=[0,[17,0,0],TB(Cl)],kH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],yH=TB(Xp),AH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_H=TB(tw),CH=TB(os),wH=TB(Zv),SH=[0,[17,0,0],TB(Cl)],gH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],BH=TB(Ku),TH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],IH=TB(tw),OH=TB(os),NH=TB(Zv),xH=[0,[17,0,0],TB(Cl)],LH=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],PH=[0,[15,0],TB(kD)],RH=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],MH=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],GH=[0,[17,0,[12,41,0]],TB(st)],UH=[0,[15,0],TB(kD)],jH=TB(mp),XH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],HH=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],$H=TB("Flow_ast.Class.Method.kind"),YH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],VH=[0,[17,0,0],TB(Cl)],KH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],JH=TB($g),WH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qH=[0,[17,0,0],TB(Cl)],zH=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],QH=TB(WF),ZH=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],r$=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],t$=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],e$=[0,[17,0,[12,41,0]],TB(st)],n$=[0,[17,0,0],TB(Cl)],u$=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],a$=TB(Qu),i$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],c$=[0,[9,0,0],TB(Nb)],f$=[0,[17,0,0],TB(Cl)],o$=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],s$=TB(H),v$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],l$=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],D$=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],p$=[0,[17,0,0],TB(Cl)],b$=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],E$=TB(Ku),F$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],d$=TB(tw),m$=TB(os),h$=TB(Zv),k$=[0,[17,0,0],TB(Cl)],y$=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],A$=[0,[15,0],TB(kD)],_$=TB("Flow_ast.Class.Method.Constructor"),C$=TB("Flow_ast.Class.Method.Method"),w$=TB("Flow_ast.Class.Method.Get"),S$=TB("Flow_ast.Class.Method.Set"),g$=[0,[15,0],TB(kD)],B$=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],T$=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],I$=[0,[17,0,[12,41,0]],TB(st)],O$=[0,[15,0],TB(kD)],N$=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],x$=TB("Flow_ast.Comment.kind"),L$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],P$=[0,[17,0,0],TB(Cl)],R$=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],M$=TB("text"),G$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],U$=[0,[3,0,0],TB(tA)],j$=[0,[17,0,0],TB(Cl)],X$=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],H$=TB("on_newline"),$$=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Y$=[0,[9,0,0],TB(Nb)],V$=[0,[17,0,0],TB(Cl)],K$=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],J$=[0,[15,0],TB(kD)],W$=TB("Flow_ast.Comment.Line"),q$=TB("Flow_ast.Comment.Block"),z$=[0,[15,0],TB(kD)],Q$=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Z$=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],rY=[0,[17,0,[12,41,0]],TB(st)],tY=[0,[15,0],TB(kD)],eY=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object@ ")],nY=[0,[17,0,[12,41,0]],TB(st)],uY=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Array"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Array@ ")],aY=[0,[17,0,[12,41,0]],TB(st)],iY=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Identifier@ ")],cY=[0,[17,0,[12,41,0]],TB(st)],fY=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Expression@ ")],oY=[0,[17,0,[12,41,0]],TB(st)],sY=[0,[15,0],TB(kD)],vY=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],lY=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],DY=[0,[17,0,[12,41,0]],TB(st)],pY=[0,[15,0],TB(kD)],bY=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],EY=TB("Flow_ast.Pattern.Identifier.name"),FY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],dY=[0,[17,0,0],TB(Cl)],mY=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hY=TB(aa),kY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],yY=[0,[17,0,0],TB(Cl)],AY=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_Y=TB(Al),CY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wY=[0,[9,0,0],TB(Nb)],SY=[0,[17,0,0],TB(Cl)],gY=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],BY=[0,[15,0],TB(kD)],TY=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],IY=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],OY=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],NY=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xY=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],LY=TB("Flow_ast.Pattern.Array.elements"),PY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RY=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],MY=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],GY=[0,[17,0,0],TB(Cl)],UY=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jY=TB(aa),XY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HY=[0,[17,0,0],TB(Cl)],$Y=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],YY=TB(Ku),VY=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],KY=TB(tw),JY=TB(os),WY=TB(Zv),qY=[0,[17,0,0],TB(Cl)],zY=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],QY=[0,[15,0],TB(kD)],ZY=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Array.Element"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Array.Element@ ")],rV=[0,[17,0,[12,41,0]],TB(st)],tV=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Array.RestElement"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],eV=[0,[17,0,[12,41,0]],TB(st)],nV=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Array.Hole"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],uV=[0,[17,0,[12,41,0]],TB(st)],aV=[0,[15,0],TB(kD)],iV=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],cV=TB("Flow_ast.Pattern.Array.Element.argument"),fV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],oV=[0,[17,0,0],TB(Cl)],sV=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vV=TB(l_),lV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],DV=TB(tw),pV=TB(os),bV=TB(Zv),EV=[0,[17,0,0],TB(Cl)],FV=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],dV=[0,[15,0],TB(kD)],mV=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],hV=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],kV=[0,[17,0,[12,41,0]],TB(st)],yV=[0,[15,0],TB(kD)],AV=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_V=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],CV=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],wV=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],SV=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],gV=TB("Flow_ast.Pattern.Object.properties"),BV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TV=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],IV=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],OV=[0,[17,0,0],TB(Cl)],NV=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xV=TB(aa),LV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],PV=[0,[17,0,0],TB(Cl)],RV=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],MV=TB(Ku),GV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],UV=TB(tw),jV=TB(os),XV=TB(Zv),HV=[0,[17,0,0],TB(Cl)],$V=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],YV=[0,[15,0],TB(kD)],VV=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object.Property"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object.Property@ ")],KV=[0,[17,0,[12,41,0]],TB(st)],JV=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object.RestElement"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],WV=[0,[17,0,[12,41,0]],TB(st)],qV=[0,[15,0],TB(kD)],zV=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],QV=TB("Flow_ast.Pattern.Object.Property.key"),ZV=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rK=[0,[17,0,0],TB(Cl)],tK=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],eK=TB(Kp),nK=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uK=[0,[17,0,0],TB(Cl)],aK=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],iK=TB(l_),cK=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],fK=TB(tw),oK=TB(os),sK=TB(Zv),vK=[0,[17,0,0],TB(Cl)],lK=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],DK=TB(dy),pK=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],bK=[0,[9,0,0],TB(Nb)],EK=[0,[17,0,0],TB(Cl)],FK=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],dK=[0,[15,0],TB(kD)],mK=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],hK=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],kK=[0,[17,0,[12,41,0]],TB(st)],yK=[0,[15,0],TB(kD)],AK=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],_K=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],CK=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],wK=[0,[17,0,[12,41,0]],TB(st)],SK=[0,[17,0,[12,41,0]],TB(st)],gK=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],BK=[0,[17,0,[12,41,0]],TB(st)],TK=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],IK=[0,[17,0,[12,41,0]],TB(st)],OK=[0,[15,0],TB(kD)],NK=TB(mp),xK=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],LK=TB("Flow_ast.Pattern.RestElement.argument"),PK=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RK=[0,[17,0,0],TB(Cl)],MK=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GK=TB(Ku),UK=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jK=TB(tw),XK=TB(os),HK=TB(Zv),$K=[0,[17,0,0],TB(Cl)],YK=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],VK=[0,[15,0],TB(kD)],KK=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],JK=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],WK=[0,[17,0,[12,41,0]],TB(st)],qK=[0,[15,0],TB(kD)],zK=TB(mp),QK=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ZK=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],rJ=TB("Flow_ast.JSX.frag_opening_element"),tJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eJ=[0,[17,0,0],TB(Cl)],nJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],uJ=TB("frag_closing_element"),aJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],iJ=[0,[17,0,0],TB(Cl)],cJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fJ=TB("frag_children"),oJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sJ=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],vJ=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],lJ=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],DJ=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],pJ=[0,[17,0,[12,41,0]],TB(st)],bJ=[0,[17,0,0],TB(Cl)],EJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],FJ=TB("frag_comments"),dJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],mJ=TB(tw),hJ=TB(os),kJ=TB(Zv),yJ=[0,[17,0,0],TB(Cl)],AJ=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],_J=[0,[15,0],TB(kD)],CJ=TB(mp),wJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],SJ=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],gJ=TB("Flow_ast.JSX.opening_element"),BJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TJ=[0,[17,0,0],TB(Cl)],IJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],OJ=TB("closing_element"),NJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xJ=TB(tw),LJ=TB(os),PJ=TB(Zv),RJ=[0,[17,0,0],TB(Cl)],MJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GJ=TB(i),UJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jJ=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],XJ=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],HJ=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],$J=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],YJ=[0,[17,0,[12,41,0]],TB(st)],VJ=[0,[17,0,0],TB(Cl)],KJ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],JJ=TB(Ku),WJ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qJ=TB(tw),zJ=TB(os),QJ=TB(Zv),ZJ=[0,[17,0,0],TB(Cl)],rW=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],tW=[0,[15,0],TB(kD)],eW=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Element"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Element@ ")],nW=[0,[17,0,[12,41,0]],TB(st)],uW=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Fragment"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Fragment@ ")],aW=[0,[17,0,[12,41,0]],TB(st)],iW=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.ExpressionContainer"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],cW=[0,[17,0,[12,41,0]],TB(st)],fW=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.SpreadChild"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.SpreadChild@ ")],oW=[0,[17,0,[12,41,0]],TB(st)],sW=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Text"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Text@ ")],vW=[0,[17,0,[12,41,0]],TB(st)],lW=[0,[15,0],TB(kD)],DW=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],pW=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],bW=[0,[17,0,[12,41,0]],TB(st)],EW=[0,[15,0],TB(kD)],FW=TB(mp),dW=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],mW=TB("Flow_ast.JSX.SpreadChild.expression"),hW=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],kW=[0,[17,0,0],TB(Cl)],yW=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],AW=TB(Ku),_W=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],CW=TB(tw),wW=TB(os),SW=TB(Zv),gW=[0,[17,0,0],TB(Cl)],BW=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],TW=[0,[15,0],TB(kD)],IW=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],OW=TB("Flow_ast.JSX.Closing.name"),NW=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xW=[0,[17,0,0],TB(Cl)],LW=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],PW=[0,[15,0],TB(kD)],RW=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],MW=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],GW=[0,[17,0,[12,41,0]],TB(st)],UW=[0,[15,0],TB(kD)],jW=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],XW=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],HW=TB("Flow_ast.JSX.Opening.name"),$W=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YW=[0,[17,0,0],TB(Cl)],VW=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],KW=TB("self_closing"),JW=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],WW=[0,[9,0,0],TB(Nb)],qW=[0,[17,0,0],TB(Cl)],zW=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],QW=TB(vy),ZW=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rq=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],tq=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],eq=[0,[17,0,0],TB(Cl)],nq=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],uq=[0,[15,0],TB(kD)],aq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Opening.Attribute"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],iq=[0,[17,0,[12,41,0]],TB(st)],cq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],fq=[0,[17,0,[12,41,0]],TB(st)],oq=[0,[15,0],TB(kD)],sq=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],vq=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],lq=[0,[17,0,[12,41,0]],TB(st)],Dq=[0,[15,0],TB(kD)],pq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Identifier@ ")],bq=[0,[17,0,[12,41,0]],TB(st)],Eq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.NamespacedName"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.NamespacedName@ ")],Fq=[0,[17,0,[12,41,0]],TB(st)],dq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.MemberExpression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.MemberExpression@ ")],mq=[0,[17,0,[12,41,0]],TB(st)],hq=[0,[15,0],TB(kD)],kq=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],yq=TB("Flow_ast.JSX.MemberExpression._object"),Aq=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_q=[0,[17,0,0],TB(Cl)],Cq=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],wq=TB(CC),Sq=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],gq=[0,[17,0,0],TB(Cl)],Bq=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Tq=[0,[15,0],TB(kD)],Iq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],Oq=[0,[17,0,[12,41,0]],TB(st)],Nq=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],xq=[0,[17,0,[12,41,0]],TB(st)],Lq=[0,[15,0],TB(kD)],Pq=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Rq=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Mq=[0,[17,0,[12,41,0]],TB(st)],Gq=[0,[15,0],TB(kD)],Uq=TB(mp),jq=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Xq=TB("Flow_ast.JSX.SpreadAttribute.argument"),Hq=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$q=[0,[17,0,0],TB(Cl)],Yq=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Vq=TB(Ku),Kq=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Jq=TB(tw),Wq=TB(os),qq=TB(Zv),zq=[0,[17,0,0],TB(Cl)],Qq=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Zq=[0,[15,0],TB(kD)],rz=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],tz=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ez=[0,[17,0,[12,41,0]],TB(st)],nz=[0,[15,0],TB(kD)],uz=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],az=TB("Flow_ast.JSX.Attribute.name"),iz=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cz=[0,[17,0,0],TB(Cl)],fz=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],oz=TB(WF),sz=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],vz=TB(tw),lz=TB(os),Dz=TB(Zv),pz=[0,[17,0,0],TB(Cl)],bz=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Ez=[0,[15,0],TB(kD)],Fz=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Attribute.Literal ("),[17,[0,TB(Ko),0,0],0]]]],TB("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],dz=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],mz=[0,[17,[0,TB(Ko),0,0],[11,TB("))"),[17,0,0]]],TB(Yn)],hz=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,TB(Ko),0,0],0]]]],TB("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],kz=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],yz=[0,[17,[0,TB(Ko),0,0],[11,TB("))"),[17,0,0]]],TB(Yn)],Az=[0,[15,0],TB(kD)],_z=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Attribute.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],Cz=[0,[17,0,[12,41,0]],TB(st)],wz=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],Sz=[0,[17,0,[12,41,0]],TB(st)],gz=[0,[15,0],TB(kD)],Bz=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Tz=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Iz=[0,[17,0,[12,41,0]],TB(st)],Oz=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Nz=TB("Flow_ast.JSX.Text.value"),xz=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Lz=[0,[3,0,0],TB(tA)],Pz=[0,[17,0,0],TB(Cl)],Rz=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Mz=TB(Tt),Gz=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Uz=[0,[3,0,0],TB(tA)],jz=[0,[17,0,0],TB(Cl)],Xz=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Hz=[0,[15,0],TB(kD)],$z=[0,[15,0],TB(kD)],Yz=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],Vz=[0,[17,0,[12,41,0]],TB(st)],Kz=TB("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),Jz=[0,[15,0],TB(kD)],Wz=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qz=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],zz=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Qz=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Zz=TB("Flow_ast.JSX.ExpressionContainer.expression"),rQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],tQ=[0,[17,0,0],TB(Cl)],eQ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nQ=TB(Ku),uQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],aQ=TB(tw),iQ=TB(os),cQ=TB(Zv),fQ=[0,[17,0,0],TB(Cl)],oQ=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],sQ=[0,[15,0],TB(kD)],vQ=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],lQ=TB("Flow_ast.JSX.NamespacedName.namespace"),DQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],pQ=[0,[17,0,0],TB(Cl)],bQ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],EQ=TB(el),FQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],dQ=[0,[17,0,0],TB(Cl)],mQ=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],hQ=[0,[15,0],TB(kD)],kQ=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],yQ=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],AQ=[0,[17,0,[12,41,0]],TB(st)],_Q=[0,[15,0],TB(kD)],CQ=TB(mp),wQ=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],SQ=TB("Flow_ast.JSX.Identifier.name"),gQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],BQ=[0,[3,0,0],TB(tA)],TQ=[0,[17,0,0],TB(Cl)],IQ=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],OQ=TB(Ku),NQ=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xQ=TB(tw),LQ=TB(os),PQ=TB(Zv),RQ=[0,[17,0,0],TB(Cl)],MQ=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],GQ=[0,[15,0],TB(kD)],UQ=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],jQ=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],XQ=[0,[17,0,[12,41,0]],TB(st)],HQ=[0,[15,0],TB(kD)],$Q=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Array"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Array@ ")],YQ=[0,[17,0,[12,41,0]],TB(st)],VQ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.ArrowFunction"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],KQ=[0,[17,0,[12,41,0]],TB(st)],JQ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Assignment"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Assignment@ ")],WQ=[0,[17,0,[12,41,0]],TB(st)],qQ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Binary"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Binary@ ")],zQ=[0,[17,0,[12,41,0]],TB(st)],QQ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Call"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Call@ ")],ZQ=[0,[17,0,[12,41,0]],TB(st)],rZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Class"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Class@ ")],tZ=[0,[17,0,[12,41,0]],TB(st)],eZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Comprehension"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Comprehension@ ")],nZ=[0,[17,0,[12,41,0]],TB(st)],uZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Conditional"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Conditional@ ")],aZ=[0,[17,0,[12,41,0]],TB(st)],iZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Function"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Function@ ")],cZ=[0,[17,0,[12,41,0]],TB(st)],fZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Generator"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Generator@ ")],oZ=[0,[17,0,[12,41,0]],TB(st)],sZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Identifier@ ")],vZ=[0,[17,0,[12,41,0]],TB(st)],lZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Import"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Import@ ")],DZ=[0,[17,0,[12,41,0]],TB(st)],pZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.JSXElement"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.JSXElement@ ")],bZ=[0,[17,0,[12,41,0]],TB(st)],EZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.JSXFragment"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.JSXFragment@ ")],FZ=[0,[17,0,[12,41,0]],TB(st)],dZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Literal"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Literal@ ")],mZ=[0,[17,0,[12,41,0]],TB(st)],hZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Logical"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Logical@ ")],kZ=[0,[17,0,[12,41,0]],TB(st)],yZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Member"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Member@ ")],AZ=[0,[17,0,[12,41,0]],TB(st)],_Z=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.MetaProperty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.MetaProperty@ ")],CZ=[0,[17,0,[12,41,0]],TB(st)],wZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.New"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.New@ ")],SZ=[0,[17,0,[12,41,0]],TB(st)],gZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object@ ")],BZ=[0,[17,0,[12,41,0]],TB(st)],TZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.OptionalCall"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.OptionalCall@ ")],IZ=[0,[17,0,[12,41,0]],TB(st)],OZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.OptionalMember"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.OptionalMember@ ")],NZ=[0,[17,0,[12,41,0]],TB(st)],xZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Sequence"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Sequence@ ")],LZ=[0,[17,0,[12,41,0]],TB(st)],PZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Super"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Super@ ")],RZ=[0,[17,0,[12,41,0]],TB(st)],MZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.TaggedTemplate"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],GZ=[0,[17,0,[12,41,0]],TB(st)],UZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.TemplateLiteral"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],jZ=[0,[17,0,[12,41,0]],TB(st)],XZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.This"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.This@ ")],HZ=[0,[17,0,[12,41,0]],TB(st)],$Z=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.TypeCast"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.TypeCast@ ")],YZ=[0,[17,0,[12,41,0]],TB(st)],VZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Unary"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Unary@ ")],KZ=[0,[17,0,[12,41,0]],TB(st)],JZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Update"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Update@ ")],WZ=[0,[17,0,[12,41,0]],TB(st)],qZ=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Yield"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Yield@ ")],zZ=[0,[17,0,[12,41,0]],TB(st)],QZ=[0,[15,0],TB(kD)],ZZ=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],r0=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],t0=[0,[17,0,[12,41,0]],TB(st)],e0=[0,[15,0],TB(kD)],n0=TB(mp),u0=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],a0=TB("Flow_ast.Expression.Import.argument"),i0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],c0=[0,[17,0,0],TB(Cl)],f0=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],o0=TB(Ku),s0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],v0=TB(tw),l0=TB(os),D0=TB(Zv),p0=[0,[17,0,0],TB(Cl)],b0=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],E0=[0,[15,0],TB(kD)],F0=TB(mp),d0=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],m0=TB("Flow_ast.Expression.Super.comments"),h0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],k0=TB(tw),y0=TB(os),A0=TB(Zv),_0=[0,[17,0,0],TB(Cl)],C0=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],w0=[0,[15,0],TB(kD)],S0=TB(mp),g0=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],B0=TB("Flow_ast.Expression.This.comments"),T0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],I0=TB(tw),O0=TB(os),N0=TB(Zv),x0=[0,[17,0,0],TB(Cl)],L0=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],P0=[0,[15,0],TB(kD)],R0=TB(mp),M0=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],G0=TB("Flow_ast.Expression.MetaProperty.meta"),U0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],j0=[0,[17,0,0],TB(Cl)],X0=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],H0=TB(CC),$0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Y0=[0,[17,0,0],TB(Cl)],V0=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],K0=TB(Ku),J0=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],W0=TB(tw),q0=TB(os),z0=TB(Zv),Q0=[0,[17,0,0],TB(Cl)],Z0=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],r1=[0,[15,0],TB(kD)],t1=TB(mp),e1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],n1=TB("Flow_ast.Expression.TypeCast.expression"),u1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],a1=[0,[17,0,0],TB(Cl)],i1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],c1=TB(aa),f1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],o1=[0,[17,0,0],TB(Cl)],s1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],v1=TB(Ku),l1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],D1=TB(tw),p1=TB(os),b1=TB(Zv),E1=[0,[17,0,0],TB(Cl)],F1=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],d1=[0,[15,0],TB(kD)],m1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],h1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],k1=TB("Flow_ast.Expression.Generator.blocks"),y1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],A1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],_1=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],C1=[0,[17,0,0],TB(Cl)],w1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],S1=TB($e),g1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],B1=TB(tw),T1=TB(os),I1=TB(Zv),O1=[0,[17,0,0],TB(Cl)],N1=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],x1=[0,[15,0],TB(kD)],L1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],P1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],R1=TB("Flow_ast.Expression.Comprehension.blocks"),M1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],G1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],U1=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],j1=[0,[17,0,0],TB(Cl)],X1=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],H1=TB($e),$1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Y1=TB(tw),V1=TB(os),K1=TB(Zv),J1=[0,[17,0,0],TB(Cl)],W1=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],q1=[0,[15,0],TB(kD)],z1=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Q1=TB("Flow_ast.Expression.Comprehension.Block.left"),Z1=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],r2=[0,[17,0,0],TB(Cl)],t2=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],e2=TB(vu),n2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],u2=[0,[17,0,0],TB(Cl)],a2=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],i2=TB(Nv),c2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],f2=[0,[9,0,0],TB(Nb)],o2=[0,[17,0,0],TB(Cl)],s2=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],v2=[0,[15,0],TB(kD)],l2=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],D2=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],p2=[0,[17,0,[12,41,0]],TB(st)],b2=[0,[15,0],TB(kD)],E2=TB(mp),F2=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],d2=TB("Flow_ast.Expression.Yield.argument"),m2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],h2=TB(tw),k2=TB(os),y2=TB(Zv),A2=[0,[17,0,0],TB(Cl)],_2=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],C2=TB(Ku),w2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],S2=TB(tw),g2=TB(os),B2=TB(Zv),T2=[0,[17,0,0],TB(Cl)],I2=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],O2=TB(Mk),N2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],x2=[0,[9,0,0],TB(Nb)],L2=[0,[17,0,0],TB(Cl)],P2=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],R2=[0,[15,0],TB(kD)],M2=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],G2=TB("Flow_ast.Expression.OptionalMember.member"),U2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],j2=[0,[17,0,0],TB(Cl)],X2=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],H2=TB(Al),$2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Y2=[0,[9,0,0],TB(Nb)],V2=[0,[17,0,0],TB(Cl)],K2=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],J2=[0,[15,0],TB(kD)],W2=TB(mp),q2=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],z2=TB("Flow_ast.Expression.Member._object"),Q2=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Z2=[0,[17,0,0],TB(Cl)],r7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],t7=TB(CC),e7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],n7=[0,[17,0,0],TB(Cl)],u7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],a7=TB(Ku),i7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],c7=TB(tw),f7=TB(os),o7=TB(Zv),s7=[0,[17,0,0],TB(Cl)],v7=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],l7=[0,[15,0],TB(kD)],D7=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],p7=[0,[17,0,[12,41,0]],TB(st)],b7=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],E7=[0,[17,0,[12,41,0]],TB(st)],F7=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],d7=[0,[17,0,[12,41,0]],TB(st)],m7=[0,[15,0],TB(kD)],h7=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],k7=TB("Flow_ast.Expression.OptionalCall.call"),y7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],A7=[0,[17,0,0],TB(Cl)],_7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],C7=TB(Al),w7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],S7=[0,[9,0,0],TB(Nb)],g7=[0,[17,0,0],TB(Cl)],B7=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],T7=[0,[15,0],TB(kD)],I7=TB(mp),O7=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],N7=TB("Flow_ast.Expression.Call.callee"),x7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],L7=[0,[17,0,0],TB(Cl)],P7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],R7=TB(PA),M7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],G7=TB(tw),U7=TB(os),j7=TB(Zv),X7=[0,[17,0,0],TB(Cl)],H7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],$7=TB(Vu),Y7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],V7=[0,[17,0,0],TB(Cl)],K7=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],J7=TB(Ku),W7=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],q7=TB(tw),z7=TB(os),Q7=TB(Zv),Z7=[0,[17,0,0],TB(Cl)],r8=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],t8=[0,[15,0],TB(kD)],e8=TB(mp),n8=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],u8=TB("Flow_ast.Expression.New.callee"),a8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],i8=[0,[17,0,0],TB(Cl)],c8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],f8=TB(PA),o8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],s8=TB(tw),v8=TB(os),l8=TB(Zv),D8=[0,[17,0,0],TB(Cl)],p8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],b8=TB(Vu),E8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],F8=TB(tw),d8=TB(os),m8=TB(Zv),h8=[0,[17,0,0],TB(Cl)],k8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],y8=TB(Ku),A8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_8=TB(tw),C8=TB(os),w8=TB(Zv),S8=[0,[17,0,0],TB(Cl)],g8=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],B8=[0,[15,0],TB(kD)],T8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],I8=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],O8=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],N8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],x8=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],L8=TB("Flow_ast.Expression.ArgList.arguments"),P8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],R8=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],M8=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],G8=[0,[17,0,0],TB(Cl)],U8=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],j8=TB(Ku),X8=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],H8=TB(tw),$8=TB(os),Y8=TB(Zv),V8=[0,[17,0,0],TB(Cl)],K8=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],J8=[0,[15,0],TB(kD)],W8=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],q8=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],z8=[0,[17,0,[12,41,0]],TB(st)],Q8=[0,[15,0],TB(kD)],Z8=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Expression@ ")],r3=[0,[17,0,[12,41,0]],TB(st)],t3=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Spread"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Spread@ ")],e3=[0,[17,0,[12,41,0]],TB(st)],n3=[0,[15,0],TB(kD)],u3=TB(mp),a3=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],i3=TB("Flow_ast.Expression.Conditional.test"),c3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],f3=[0,[17,0,0],TB(Cl)],o3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],s3=TB(qp),v3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],l3=[0,[17,0,0],TB(Cl)],D3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],p3=TB(uF),b3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],E3=[0,[17,0,0],TB(Cl)],F3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],d3=TB(Ku),m3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],h3=TB(tw),k3=TB(os),y3=TB(Zv),A3=[0,[17,0,0],TB(Cl)],_3=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],C3=[0,[15,0],TB(kD)],w3=TB(mp),S3=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],g3=TB("Flow_ast.Expression.Logical.operator"),B3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],T3=[0,[17,0,0],TB(Cl)],I3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],O3=TB(df),N3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],x3=[0,[17,0,0],TB(Cl)],L3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],P3=TB(vu),R3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],M3=[0,[17,0,0],TB(Cl)],G3=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],U3=TB(Ku),j3=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],X3=TB(tw),H3=TB(os),$3=TB(Zv),Y3=[0,[17,0,0],TB(Cl)],V3=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],K3=[0,[15,0],TB(kD)],J3=TB("Flow_ast.Expression.Logical.Or"),W3=TB("Flow_ast.Expression.Logical.And"),q3=TB("Flow_ast.Expression.Logical.NullishCoalesce"),z3=[0,[15,0],TB(kD)],Q3=TB(mp),Z3=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],r4=TB("Flow_ast.Expression.Update.operator"),t4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],e4=[0,[17,0,0],TB(Cl)],n4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],u4=TB(A_),a4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],i4=[0,[17,0,0],TB(Cl)],c4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],f4=TB(xD),o4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],s4=[0,[9,0,0],TB(Nb)],v4=[0,[17,0,0],TB(Cl)],l4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],D4=TB(Ku),p4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],b4=TB(tw),E4=TB(os),F4=TB(Zv),d4=[0,[17,0,0],TB(Cl)],m4=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],h4=[0,[15,0],TB(kD)],k4=TB("Flow_ast.Expression.Update.Decrement"),y4=TB("Flow_ast.Expression.Update.Increment"),A4=[0,[15,0],TB(kD)],_4=TB(mp),C4=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],w4=TB("Flow_ast.Expression.Assignment.operator"),S4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],g4=TB(tw),B4=TB(os),T4=TB(Zv),I4=[0,[17,0,0],TB(Cl)],O4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],N4=TB(df),x4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],L4=[0,[17,0,0],TB(Cl)],P4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],R4=TB(vu),M4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],G4=[0,[17,0,0],TB(Cl)],U4=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],j4=TB(Ku),X4=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],H4=TB(tw),$4=TB(os),Y4=TB(Zv),V4=[0,[17,0,0],TB(Cl)],K4=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],J4=[0,[15,0],TB(kD)],W4=TB("Flow_ast.Expression.Assignment.PlusAssign"),q4=TB("Flow_ast.Expression.Assignment.MinusAssign"),z4=TB("Flow_ast.Expression.Assignment.MultAssign"),Q4=TB("Flow_ast.Expression.Assignment.ExpAssign"),Z4=TB("Flow_ast.Expression.Assignment.DivAssign"),r6=TB("Flow_ast.Expression.Assignment.ModAssign"),t6=TB("Flow_ast.Expression.Assignment.LShiftAssign"),e6=TB("Flow_ast.Expression.Assignment.RShiftAssign"),n6=TB("Flow_ast.Expression.Assignment.RShift3Assign"),u6=TB("Flow_ast.Expression.Assignment.BitOrAssign"),a6=TB("Flow_ast.Expression.Assignment.BitXorAssign"),i6=TB("Flow_ast.Expression.Assignment.BitAndAssign"),c6=[0,[15,0],TB(kD)],f6=TB(mp),o6=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],s6=TB("Flow_ast.Expression.Binary.operator"),v6=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],l6=[0,[17,0,0],TB(Cl)],D6=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],p6=TB(df),b6=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],E6=[0,[17,0,0],TB(Cl)],F6=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],d6=TB(vu),m6=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],h6=[0,[17,0,0],TB(Cl)],k6=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],y6=TB(Ku),A6=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_6=TB(tw),C6=TB(os),w6=TB(Zv),S6=[0,[17,0,0],TB(Cl)],g6=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],B6=[0,[15,0],TB(kD)],T6=TB("Flow_ast.Expression.Binary.Equal"),I6=TB("Flow_ast.Expression.Binary.NotEqual"),O6=TB("Flow_ast.Expression.Binary.StrictEqual"),N6=TB("Flow_ast.Expression.Binary.StrictNotEqual"),x6=TB("Flow_ast.Expression.Binary.LessThan"),L6=TB("Flow_ast.Expression.Binary.LessThanEqual"),P6=TB("Flow_ast.Expression.Binary.GreaterThan"),R6=TB("Flow_ast.Expression.Binary.GreaterThanEqual"),M6=TB("Flow_ast.Expression.Binary.LShift"),G6=TB("Flow_ast.Expression.Binary.RShift"),U6=TB("Flow_ast.Expression.Binary.RShift3"),j6=TB("Flow_ast.Expression.Binary.Plus"),X6=TB("Flow_ast.Expression.Binary.Minus"),H6=TB("Flow_ast.Expression.Binary.Mult"),$6=TB("Flow_ast.Expression.Binary.Exp"),Y6=TB("Flow_ast.Expression.Binary.Div"),V6=TB("Flow_ast.Expression.Binary.Mod"),K6=TB("Flow_ast.Expression.Binary.BitOr"),J6=TB("Flow_ast.Expression.Binary.Xor"),W6=TB("Flow_ast.Expression.Binary.BitAnd"),q6=TB("Flow_ast.Expression.Binary.In"),z6=TB("Flow_ast.Expression.Binary.Instanceof"),Q6=[0,[15,0],TB(kD)],Z6=TB(mp),r5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],t5=TB("Flow_ast.Expression.Unary.operator"),e5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],n5=[0,[17,0,0],TB(Cl)],u5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],a5=TB(A_),i5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],c5=[0,[17,0,0],TB(Cl)],f5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],o5=TB(Ku),s5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],v5=TB(tw),l5=TB(os),D5=TB(Zv),p5=[0,[17,0,0],TB(Cl)],b5=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],E5=[0,[15,0],TB(kD)],F5=TB("Flow_ast.Expression.Unary.Minus"),d5=TB("Flow_ast.Expression.Unary.Plus"),m5=TB("Flow_ast.Expression.Unary.Not"),h5=TB("Flow_ast.Expression.Unary.BitNot"),k5=TB("Flow_ast.Expression.Unary.Typeof"),y5=TB("Flow_ast.Expression.Unary.Void"),A5=TB("Flow_ast.Expression.Unary.Delete"),_5=TB("Flow_ast.Expression.Unary.Await"),C5=[0,[15,0],TB(kD)],w5=TB(mp),S5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],g5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],B5=TB("Flow_ast.Expression.Sequence.expressions"),T5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],I5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],O5=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],N5=[0,[17,0,0],TB(Cl)],x5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],L5=TB(Ku),P5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],R5=TB(tw),M5=TB(os),G5=TB(Zv),U5=[0,[17,0,0],TB(Cl)],j5=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],X5=[0,[15,0],TB(kD)],H5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],$5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Y5=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],V5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],K5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],J5=TB("Flow_ast.Expression.Object.properties"),W5=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],q5=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],z5=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Q5=[0,[17,0,0],TB(Cl)],Z5=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],r9=TB(Ku),t9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],e9=TB(tw),n9=TB(os),u9=TB(Zv),a9=[0,[17,0,0],TB(Cl)],i9=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],c9=[0,[15,0],TB(kD)],f9=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.Property@ ")],o9=[0,[17,0,[12,41,0]],TB(st)],s9=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],v9=[0,[17,0,[12,41,0]],TB(st)],l9=[0,[15,0],TB(kD)],D9=TB(mp),p9=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],b9=TB("Flow_ast.Expression.Object.SpreadProperty.argument"),E9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],F9=[0,[17,0,0],TB(Cl)],d9=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],m9=TB(Ku),h9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],k9=TB(tw),y9=TB(os),A9=TB(Zv),_9=[0,[17,0,0],TB(Cl)],C9=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],w9=[0,[15,0],TB(kD)],S9=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],g9=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],B9=[0,[17,0,[12,41,0]],TB(st)],T9=[0,[15,0],TB(kD)],I9=TB(mp),O9=TB(mp),N9=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Init {"),[17,[0,TB(Ko),0,0],0]]],TB("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],x9=TB($g),L9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],P9=[0,[17,0,0],TB(Cl)],R9=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],M9=TB(WF),G9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],U9=[0,[17,0,0],TB(Cl)],j9=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],X9=TB(dy),H9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$9=[0,[9,0,0],TB(Nb)],Y9=[0,[17,0,0],TB(Cl)],V9=[0,[17,0,[12,$d,0]],TB(rw)],K9=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Method {"),[17,[0,TB(Ko),0,0],0]]],TB("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],J9=TB($g),W9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],q9=[0,[17,0,0],TB(Cl)],z9=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Q9=TB(WF),Z9=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rrr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],trr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],err=[0,[17,0,[12,41,0]],TB(st)],nrr=[0,[17,0,0],TB(Cl)],urr=[0,[17,0,[12,$d,0]],TB(rw)],arr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Get {"),[17,[0,TB(Ko),0,0],0]]],TB("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],irr=TB($g),crr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],frr=[0,[17,0,0],TB(Cl)],orr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],srr=TB(WF),vrr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lrr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Drr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],prr=[0,[17,0,[12,41,0]],TB(st)],brr=[0,[17,0,0],TB(Cl)],Err=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Frr=TB(Ku),drr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],mrr=TB(tw),hrr=TB(os),krr=TB(Zv),yrr=[0,[17,0,0],TB(Cl)],Arr=[0,[17,0,[12,$d,0]],TB(rw)],_rr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Set {"),[17,[0,TB(Ko),0,0],0]]],TB("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],Crr=TB($g),wrr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Srr=[0,[17,0,0],TB(Cl)],grr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Brr=TB(WF),Trr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Irr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Orr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Nrr=[0,[17,0,[12,41,0]],TB(st)],xrr=[0,[17,0,0],TB(Cl)],Lrr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Prr=TB(Ku),Rrr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Mrr=TB(tw),Grr=TB(os),Urr=TB(Zv),jrr=[0,[17,0,0],TB(Cl)],Xrr=[0,[17,0,[12,$d,0]],TB(rw)],Hrr=[0,[15,0],TB(kD)],$rr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Yrr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Vrr=[0,[17,0,[12,41,0]],TB(st)],Krr=[0,[15,0],TB(kD)],Jrr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Literal"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],Wrr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],qrr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],zrr=[0,[17,0,[12,41,0]],TB(st)],Qrr=[0,[17,0,[12,41,0]],TB(st)],Zrr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],rtr=[0,[17,0,[12,41,0]],TB(st)],ttr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],etr=[0,[17,0,[12,41,0]],TB(st)],ntr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Object.Property.Computed"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],utr=[0,[17,0,[12,41,0]],TB(st)],atr=[0,[15,0],TB(kD)],itr=TB(mp),ctr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],ftr=TB("Flow_ast.Expression.TaggedTemplate.tag"),otr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],str=[0,[17,0,0],TB(Cl)],vtr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ltr=TB(rA),Dtr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ptr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],btr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Etr=[0,[17,0,[12,41,0]],TB(st)],Ftr=[0,[17,0,0],TB(Cl)],dtr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],mtr=TB(Ku),htr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ktr=TB(tw),ytr=TB(os),Atr=TB(Zv),_tr=[0,[17,0,0],TB(Cl)],Ctr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],wtr=[0,[15,0],TB(kD)],Str=TB(mp),gtr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Btr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ttr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Itr=TB("Flow_ast.Expression.TemplateLiteral.quasis"),Otr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ntr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],xtr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Ltr=[0,[17,0,0],TB(Cl)],Ptr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Rtr=TB(ld),Mtr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Gtr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Utr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],jtr=[0,[17,0,0],TB(Cl)],Xtr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Htr=TB(Ku),$tr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ytr=TB(tw),Vtr=TB(os),Ktr=TB(Zv),Jtr=[0,[17,0,0],TB(Cl)],Wtr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],qtr=[0,[15,0],TB(kD)],ztr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Qtr=TB("Flow_ast.Expression.TemplateLiteral.Element.value"),Ztr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rer=[0,[17,0,0],TB(Cl)],ter=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],eer=TB(Yr),ner=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uer=[0,[9,0,0],TB(Nb)],aer=[0,[17,0,0],TB(Cl)],ier=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],cer=[0,[15,0],TB(kD)],fer=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],oer=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ser=[0,[17,0,[12,41,0]],TB(st)],ver=[0,[15,0],TB(kD)],ler=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Der=TB("Flow_ast.Expression.TemplateLiteral.Element.raw"),per=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ber=[0,[3,0,0],TB(tA)],Eer=[0,[17,0,0],TB(Cl)],Fer=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],der=TB(k_),mer=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],her=[0,[3,0,0],TB(tA)],ker=[0,[17,0,0],TB(Cl)],yer=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Aer=[0,[15,0],TB(kD)],_er=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Cer=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],wer=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Ser=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ger=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ber=TB("Flow_ast.Expression.Array.elements"),Ter=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ier=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Oer=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Ner=[0,[17,0,0],TB(Cl)],xer=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ler=TB(Ku),Per=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rer=TB(tw),Mer=TB(os),Ger=TB(Zv),Uer=[0,[17,0,0],TB(Cl)],jer=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Xer=[0,[15,0],TB(kD)],Her=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Array.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Array.Expression@ ")],$er=[0,[17,0,[12,41,0]],TB(st)],Yer=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Array.Spread"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Array.Spread@ ")],Ver=[0,[17,0,[12,41,0]],TB(st)],Ker=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.Array.Hole"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.Array.Hole@ ")],Jer=[0,[17,0,[12,41,0]],TB(st)],Wer=[0,[15,0],TB(kD)],qer=TB(mp),zer=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Qer=TB("Flow_ast.Expression.SpreadElement.argument"),Zer=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rnr=[0,[17,0,0],TB(Cl)],tnr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],enr=TB(Ku),nnr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],unr=TB(tw),anr=TB(os),inr=TB(Zv),cnr=[0,[17,0,0],TB(Cl)],fnr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],onr=[0,[15,0],TB(kD)],snr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],vnr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],lnr=[0,[17,0,[12,41,0]],TB(st)],Dnr=[0,[15,0],TB(kD)],pnr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],bnr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Enr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Fnr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],dnr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],mnr=TB("Flow_ast.Expression.CallTypeArgs.arguments"),hnr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],knr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],ynr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Anr=[0,[17,0,0],TB(Cl)],_nr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Cnr=TB(Ku),wnr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Snr=TB(tw),gnr=TB(os),Bnr=TB(Zv),Tnr=[0,[17,0,0],TB(Cl)],Inr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Onr=[0,[15,0],TB(kD)],Nnr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],xnr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Lnr=[0,[17,0,[12,41,0]],TB(st)],Pnr=[0,[15,0],TB(kD)],Rnr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],Mnr=[0,[17,0,[12,41,0]],TB(st)],Gnr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],Unr=[0,[17,0,[12,41,0]],TB(st)],jnr=[0,[15,0],TB(kD)],Xnr=TB(mp),Hnr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],$nr=TB("Flow_ast.Expression.CallTypeArg.Implicit.comments"),Ynr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Vnr=TB(tw),Knr=TB(os),Jnr=TB(Zv),Wnr=[0,[17,0,0],TB(Cl)],qnr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],znr=[0,[15,0],TB(kD)],Qnr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Znr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],rur=[0,[17,0,[12,41,0]],TB(st)],tur=[0,[15,0],TB(kD)],eur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Block"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Block@ ")],nur=[0,[17,0,[12,41,0]],TB(st)],uur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Break"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Break@ ")],aur=[0,[17,0,[12,41,0]],TB(st)],iur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ClassDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],cur=[0,[17,0,[12,41,0]],TB(st)],fur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Continue"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Continue@ ")],our=[0,[17,0,[12,41,0]],TB(st)],sur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Debugger"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Debugger@ ")],vur=[0,[17,0,[12,41,0]],TB(st)],lur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareClass"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareClass@ ")],Dur=[0,[17,0,[12,41,0]],TB(st)],pur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],bur=[0,[17,0,[12,41,0]],TB(st)],Eur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareFunction"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],Fur=[0,[17,0,[12,41,0]],TB(st)],dur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareInterface"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],mur=[0,[17,0,[12,41,0]],TB(st)],hur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModule"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModule@ ")],kur=[0,[17,0,[12,41,0]],TB(st)],yur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModuleExports"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],Aur=[0,[17,0,[12,41,0]],TB(st)],_ur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],Cur=[0,[17,0,[12,41,0]],TB(st)],wur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],Sur=[0,[17,0,[12,41,0]],TB(st)],gur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareVariable"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],Bur=[0,[17,0,[12,41,0]],TB(st)],Tur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DoWhile"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DoWhile@ ")],Iur=[0,[17,0,[12,41,0]],TB(st)],Our=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Empty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Empty@ ")],Nur=[0,[17,0,[12,41,0]],TB(st)],xur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],Lur=[0,[17,0,[12,41,0]],TB(st)],Pur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],Rur=[0,[17,0,[12,41,0]],TB(st)],Mur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],Gur=[0,[17,0,[12,41,0]],TB(st)],Uur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Expression@ ")],jur=[0,[17,0,[12,41,0]],TB(st)],Xur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.For"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.For@ ")],Hur=[0,[17,0,[12,41,0]],TB(st)],$ur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForIn"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForIn@ ")],Yur=[0,[17,0,[12,41,0]],TB(st)],Vur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForOf"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForOf@ ")],Kur=[0,[17,0,[12,41,0]],TB(st)],Jur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.FunctionDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],Wur=[0,[17,0,[12,41,0]],TB(st)],qur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.If"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.If@ ")],zur=[0,[17,0,[12,41,0]],TB(st)],Qur=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ImportDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],Zur=[0,[17,0,[12,41,0]],TB(st)],rar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],tar=[0,[17,0,[12,41,0]],TB(st)],ear=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Labeled"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Labeled@ ")],nar=[0,[17,0,[12,41,0]],TB(st)],uar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Return"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Return@ ")],aar=[0,[17,0,[12,41,0]],TB(st)],iar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Switch"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Switch@ ")],car=[0,[17,0,[12,41,0]],TB(st)],far=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Throw"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Throw@ ")],oar=[0,[17,0,[12,41,0]],TB(st)],sar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.Try"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.Try@ ")],lar=[0,[17,0,[12,41,0]],TB(st)],Dar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.TypeAlias"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.TypeAlias@ ")],par=[0,[17,0,[12,41,0]],TB(st)],bar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.OpaqueType"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.OpaqueType@ ")],Ear=[0,[17,0,[12,41,0]],TB(st)],Far=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.VariableDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],dar=[0,[17,0,[12,41,0]],TB(st)],mar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.While"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.While@ ")],har=[0,[17,0,[12,41,0]],TB(st)],kar=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.With"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.With@ ")],yar=[0,[17,0,[12,41,0]],TB(st)],Aar=[0,[15,0],TB(kD)],_ar=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Car=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],war=[0,[17,0,[12,41,0]],TB(st)],Sar=[0,[15,0],TB(kD)],gar=TB("Flow_ast.Statement.ExportValue"),Bar=TB("Flow_ast.Statement.ExportType"),Tar=[0,[15,0],TB(kD)],Iar=TB(mp),Oar=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Nar=TB("Flow_ast.Statement.Empty.comments"),xar=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Lar=TB(tw),Par=TB(os),Rar=TB(Zv),Mar=[0,[17,0,0],TB(Cl)],Gar=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Uar=[0,[15,0],TB(kD)],jar=TB(mp),Xar=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Har=TB("Flow_ast.Statement.Expression.expression"),$ar=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Yar=[0,[17,0,0],TB(Cl)],Var=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Kar=TB(F),Jar=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],War=TB(tw),qar=[0,[3,0,0],TB(tA)],zar=TB(os),Qar=TB(Zv),Zar=[0,[17,0,0],TB(Cl)],rir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tir=TB(Ku),eir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nir=TB(tw),uir=TB(os),air=TB(Zv),iir=[0,[17,0,0],TB(Cl)],cir=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],fir=[0,[15,0],TB(kD)],oir=TB(mp),sir=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],vir=TB("Flow_ast.Statement.ImportDeclaration.import_kind"),lir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Dir=[0,[17,0,0],TB(Cl)],pir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],bir=TB(PS),Eir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Fir=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],dir=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],mir=[0,[17,0,[12,41,0]],TB(st)],hir=[0,[17,0,0],TB(Cl)],kir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],yir=TB(l_),Air=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_ir=TB(tw),Cir=TB(os),wir=TB(Zv),Sir=[0,[17,0,0],TB(Cl)],gir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Bir=TB(iB),Tir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Iir=TB(tw),Oir=TB(os),Nir=TB(Zv),xir=[0,[17,0,0],TB(Cl)],Lir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Pir=TB(Ku),Rir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Mir=TB(tw),Gir=TB(os),Uir=TB(Zv),jir=[0,[17,0,0],TB(Cl)],Xir=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Hir=[0,[15,0],TB(kD)],$ir=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Yir=TB("Flow_ast.Statement.ImportDeclaration.kind"),Vir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Kir=TB(tw),Jir=TB(os),Wir=TB(Zv),qir=[0,[17,0,0],TB(Cl)],zir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Qir=TB(zs),Zir=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rcr=TB(tw),tcr=TB(os),ecr=TB(Zv),ncr=[0,[17,0,0],TB(Cl)],ucr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],acr=TB("remote"),icr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ccr=[0,[17,0,0],TB(Cl)],fcr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],ocr=[0,[15,0],TB(kD)],scr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vcr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],lcr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Dcr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],pcr=[0,[17,0,[12,41,0]],TB(st)],bcr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],Ecr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Fcr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],dcr=[0,[17,0,[12,41,0]],TB(st)],mcr=[0,[17,0,[12,41,0]],TB(st)],hcr=[0,[15,0],TB(kD)],kcr=TB("Flow_ast.Statement.ImportDeclaration.ImportType"),ycr=TB("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),Acr=TB("Flow_ast.Statement.ImportDeclaration.ImportValue"),_cr=[0,[15,0],TB(kD)],Ccr=TB(mp),wcr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Scr=TB("Flow_ast.Statement.DeclareExportDeclaration.default"),gcr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Bcr=TB(tw),Tcr=TB(os),Icr=TB(Zv),Ocr=[0,[17,0,0],TB(Cl)],Ncr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xcr=TB(zu),Lcr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Pcr=TB(tw),Rcr=TB(os),Mcr=TB(Zv),Gcr=[0,[17,0,0],TB(Cl)],Ucr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jcr=TB(iB),Xcr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Hcr=TB(tw),$cr=TB(os),Ycr=TB(Zv),Vcr=[0,[17,0,0],TB(Cl)],Kcr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Jcr=TB(PS),Wcr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qcr=TB(tw),zcr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Qcr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Zcr=[0,[17,0,[12,41,0]],TB(st)],rfr=TB(os),tfr=TB(Zv),efr=[0,[17,0,0],TB(Cl)],nfr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ufr=TB(Ku),afr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ifr=TB(tw),cfr=TB(os),ffr=TB(Zv),ofr=[0,[17,0,0],TB(Cl)],sfr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],vfr=[0,[15,0],TB(kD)],lfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Dfr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],pfr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],bfr=[0,[17,0,[12,41,0]],TB(st)],Efr=[0,[17,0,[12,41,0]],TB(st)],Ffr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],dfr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],mfr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],hfr=[0,[17,0,[12,41,0]],TB(st)],kfr=[0,[17,0,[12,41,0]],TB(st)],yfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],Afr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],_fr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Cfr=[0,[17,0,[12,41,0]],TB(st)],wfr=[0,[17,0,[12,41,0]],TB(st)],Sfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],gfr=[0,[17,0,[12,41,0]],TB(st)],Bfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],Tfr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Ifr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Ofr=[0,[17,0,[12,41,0]],TB(st)],Nfr=[0,[17,0,[12,41,0]],TB(st)],xfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],Lfr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Pfr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Rfr=[0,[17,0,[12,41,0]],TB(st)],Mfr=[0,[17,0,[12,41,0]],TB(st)],Gfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],Ufr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],jfr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Xfr=[0,[17,0,[12,41,0]],TB(st)],Hfr=[0,[17,0,[12,41,0]],TB(st)],$fr=[0,[15,0],TB(kD)],Yfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],Vfr=[0,[17,0,[12,41,0]],TB(st)],Kfr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],Jfr=[0,[17,0,[12,41,0]],TB(st)],Wfr=[0,[15,0],TB(kD)],qfr=TB(mp),zfr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Qfr=TB("Flow_ast.Statement.ExportDefaultDeclaration.default"),Zfr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ror=[0,[17,0,0],TB(Cl)],tor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],eor=TB(zu),nor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uor=[0,[17,0,0],TB(Cl)],aor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ior=TB(Ku),cor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],oor=TB(tw),sor=TB(os),vor=TB(Zv),lor=[0,[17,0,0],TB(Cl)],Dor=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],por=[0,[15,0],TB(kD)],bor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Eor=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],For=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],dor=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],mor=[0,[17,0,[12,41,0]],TB(st)],hor=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ ")],kor=[0,[17,0,[12,41,0]],TB(st)],yor=[0,[15,0],TB(kD)],Aor=TB(mp),_or=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Cor=TB("Flow_ast.Statement.ExportNamedDeclaration.declaration"),wor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Sor=TB(tw),gor=TB(os),Bor=TB(Zv),Tor=[0,[17,0,0],TB(Cl)],Ior=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Oor=TB(iB),Nor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xor=TB(tw),Lor=TB(os),Por=TB(Zv),Ror=[0,[17,0,0],TB(Cl)],Mor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Gor=TB(PS),Uor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jor=TB(tw),Xor=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Hor=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],$or=[0,[17,0,[12,41,0]],TB(st)],Yor=TB(os),Vor=TB(Zv),Kor=[0,[17,0,0],TB(Cl)],Jor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Wor=TB("export_kind"),qor=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zor=[0,[17,0,0],TB(Cl)],Qor=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Zor=TB(Ku),rsr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],tsr=TB(tw),esr=TB(os),nsr=TB(Zv),usr=[0,[17,0,0],TB(Cl)],asr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],isr=[0,[15,0],TB(kD)],csr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],fsr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],osr=TB(tw),ssr=TB(os),vsr=TB(Zv),lsr=[0,[17,0,[12,41,0]],TB(st)],Dsr=[0,[15,0],TB(kD)],psr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],bsr=TB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),Esr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Fsr=[0,[17,0,0],TB(Cl)],dsr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],msr=TB(qe),hsr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ksr=TB(tw),ysr=TB(os),Asr=TB(Zv),_sr=[0,[17,0,0],TB(Cl)],Csr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],wsr=[0,[15,0],TB(kD)],Ssr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],gsr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Bsr=[0,[17,0,[12,41,0]],TB(st)],Tsr=[0,[15,0],TB(kD)],Isr=TB(mp),Osr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Nsr=TB("Flow_ast.Statement.DeclareModuleExports.annot"),xsr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Lsr=[0,[17,0,0],TB(Cl)],Psr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Rsr=TB(Ku),Msr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Gsr=TB(tw),Usr=TB(os),jsr=TB(Zv),Xsr=[0,[17,0,0],TB(Cl)],Hsr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],$sr=[0,[15,0],TB(kD)],Ysr=TB(mp),Vsr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ksr=TB("Flow_ast.Statement.DeclareModule.id"),Jsr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Wsr=[0,[17,0,0],TB(Cl)],qsr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zsr=TB(Xm),Qsr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Zsr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],rvr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],tvr=[0,[17,0,[12,41,0]],TB(st)],evr=[0,[17,0,0],TB(Cl)],nvr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],uvr=TB($t),avr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ivr=[0,[17,0,0],TB(Cl)],cvr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fvr=TB(Ku),ovr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],svr=TB(tw),vvr=TB(os),lvr=TB(Zv),Dvr=[0,[17,0,0],TB(Cl)],pvr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],bvr=[0,[15,0],TB(kD)],Evr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModule.CommonJS"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ ")],Fvr=[0,[17,0,[12,41,0]],TB(st)],dvr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModule.ES"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModule.ES@ ")],mvr=[0,[17,0,[12,41,0]],TB(st)],hvr=[0,[15,0],TB(kD)],kvr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],yvr=[0,[17,0,[12,41,0]],TB(st)],Avr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],_vr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Cvr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],wvr=[0,[17,0,[12,41,0]],TB(st)],Svr=[0,[17,0,[12,41,0]],TB(st)],gvr=[0,[15,0],TB(kD)],Bvr=TB(mp),Tvr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ivr=TB("Flow_ast.Statement.DeclareFunction.id"),Ovr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Nvr=[0,[17,0,0],TB(Cl)],xvr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Lvr=TB(aa),Pvr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rvr=[0,[17,0,0],TB(Cl)],Mvr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Gvr=TB(bl),Uvr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jvr=TB(tw),Xvr=TB(os),Hvr=TB(Zv),$vr=[0,[17,0,0],TB(Cl)],Yvr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Vvr=TB(Ku),Kvr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Jvr=TB(tw),Wvr=TB(os),qvr=TB(Zv),zvr=[0,[17,0,0],TB(Cl)],Qvr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Zvr=[0,[15,0],TB(kD)],rlr=TB(mp),tlr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],elr=TB("Flow_ast.Statement.DeclareVariable.id"),nlr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ulr=[0,[17,0,0],TB(Cl)],alr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ilr=TB(aa),clr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],flr=[0,[17,0,0],TB(Cl)],olr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],slr=TB(Ku),vlr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],llr=TB(tw),Dlr=TB(os),plr=TB(Zv),blr=[0,[17,0,0],TB(Cl)],Elr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Flr=[0,[15,0],TB(kD)],dlr=TB(mp),mlr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hlr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],klr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ylr=[0,[17,0,[12,41,0]],TB(st)],Alr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],_lr=TB("Flow_ast.Statement.DeclareClass.id"),Clr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wlr=[0,[17,0,0],TB(Cl)],Slr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],glr=TB(_r),Blr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Tlr=TB(tw),Ilr=TB(os),Olr=TB(Zv),Nlr=[0,[17,0,0],TB(Cl)],xlr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Llr=TB(Xm),Plr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rlr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Mlr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Glr=[0,[17,0,[12,41,0]],TB(st)],Ulr=[0,[17,0,0],TB(Cl)],jlr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Xlr=TB(wp),Hlr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$lr=TB(tw),Ylr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Vlr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Klr=[0,[17,0,[12,41,0]],TB(st)],Jlr=TB(os),Wlr=TB(Zv),qlr=[0,[17,0,0],TB(Cl)],zlr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Qlr=TB(le),Zlr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],rDr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],tDr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],eDr=[0,[17,0,0],TB(Cl)],nDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],uDr=TB(mt),aDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],iDr=TB(tw),cDr=TB(os),fDr=TB(Zv),oDr=[0,[17,0,0],TB(Cl)],sDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vDr=TB(Ku),lDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],DDr=TB(tw),pDr=TB(os),bDr=TB(Zv),EDr=[0,[17,0,0],TB(Cl)],FDr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],dDr=[0,[15,0],TB(kD)],mDr=TB(mp),hDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],kDr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],yDr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ADr=[0,[17,0,[12,41,0]],TB(st)],_Dr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],CDr=TB("Flow_ast.Statement.Interface.id"),wDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],SDr=[0,[17,0,0],TB(Cl)],gDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],BDr=TB(_r),TDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],IDr=TB(tw),ODr=TB(os),NDr=TB(Zv),xDr=[0,[17,0,0],TB(Cl)],LDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],PDr=TB(wp),RDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],MDr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],GDr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],UDr=[0,[17,0,0],TB(Cl)],jDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],XDr=TB(Xm),HDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$Dr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],YDr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],VDr=[0,[17,0,[12,41,0]],TB(st)],KDr=[0,[17,0,0],TB(Cl)],JDr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],WDr=TB(Ku),qDr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zDr=TB(tw),QDr=TB(os),ZDr=TB(Zv),rpr=[0,[17,0,0],TB(Cl)],tpr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],epr=[0,[15,0],TB(kD)],npr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],upr=[0,[17,0,[12,41,0]],TB(st)],apr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],ipr=[0,[17,0,[12,41,0]],TB(st)],cpr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],fpr=[0,[17,0,[12,41,0]],TB(st)],opr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],spr=[0,[17,0,[12,41,0]],TB(st)],vpr=[0,[15,0],TB(kD)],lpr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Dpr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ppr=[0,[17,0,[12,41,0]],TB(st)],bpr=[0,[15,0],TB(kD)],Epr=TB(mp),Fpr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],dpr=TB("Flow_ast.Statement.EnumDeclaration.id"),mpr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hpr=[0,[17,0,0],TB(Cl)],kpr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ypr=TB(Xm),Apr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_pr=[0,[17,0,0],TB(Cl)],Cpr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],wpr=TB(Ku),Spr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],gpr=TB(tw),Bpr=TB(os),Tpr=TB(Zv),Ipr=[0,[17,0,0],TB(Cl)],Opr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Npr=[0,[15,0],TB(kD)],xpr=TB(mp),Lpr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ppr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Rpr=TB("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),Mpr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Gpr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Upr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],jpr=[0,[17,0,0],TB(Cl)],Xpr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Hpr=TB(bt),$pr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ypr=[0,[9,0,0],TB(Nb)],Vpr=[0,[17,0,0],TB(Cl)],Kpr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Jpr=TB(Ku),Wpr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qpr=TB(tw),zpr=TB(os),Qpr=TB(Zv),Zpr=[0,[17,0,0],TB(Cl)],rbr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],tbr=[0,[15,0],TB(kD)],ebr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nbr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ubr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],abr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],ibr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],cbr=[0,[17,0,[12,41,0]],TB(st)],fbr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],obr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],sbr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],vbr=[0,[17,0,[12,41,0]],TB(st)],lbr=[0,[15,0],TB(kD)],Dbr=TB(mp),pbr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],bbr=TB("Flow_ast.Statement.EnumDeclaration.StringBody.members"),Ebr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Fbr=[0,[17,0,0],TB(Cl)],dbr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],mbr=TB(Nf),hbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],kbr=[0,[9,0,0],TB(Nb)],ybr=[0,[17,0,0],TB(Cl)],Abr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_br=TB(bt),Cbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wbr=[0,[9,0,0],TB(Nb)],Sbr=[0,[17,0,0],TB(Cl)],gbr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Bbr=TB(Ku),Tbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ibr=TB(tw),Obr=TB(os),Nbr=TB(Zv),xbr=[0,[17,0,0],TB(Cl)],Lbr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Pbr=[0,[15,0],TB(kD)],Rbr=TB(mp),Mbr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Gbr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ubr=TB("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),jbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Xbr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Hbr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],$br=[0,[17,0,0],TB(Cl)],Ybr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Vbr=TB(Nf),Kbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Jbr=[0,[9,0,0],TB(Nb)],Wbr=[0,[17,0,0],TB(Cl)],qbr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zbr=TB(bt),Qbr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Zbr=[0,[9,0,0],TB(Nb)],rEr=[0,[17,0,0],TB(Cl)],tEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],eEr=TB(Ku),nEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uEr=TB(tw),aEr=TB(os),iEr=TB(Zv),cEr=[0,[17,0,0],TB(Cl)],fEr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],oEr=[0,[15,0],TB(kD)],sEr=TB(mp),vEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],lEr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],DEr=TB("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),pEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],bEr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],EEr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],FEr=[0,[17,0,0],TB(Cl)],dEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],mEr=TB(Nf),hEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],kEr=[0,[9,0,0],TB(Nb)],yEr=[0,[17,0,0],TB(Cl)],AEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_Er=TB(bt),CEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wEr=[0,[9,0,0],TB(Nb)],SEr=[0,[17,0,0],TB(Cl)],gEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],BEr=TB(Ku),TEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],IEr=TB(tw),OEr=TB(os),NEr=TB(Zv),xEr=[0,[17,0,0],TB(Cl)],LEr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],PEr=[0,[15,0],TB(kD)],REr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],MEr=TB("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),GEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],UEr=[0,[17,0,0],TB(Cl)],jEr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],XEr=TB(kh),HEr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$Er=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],YEr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],VEr=[0,[17,0,[12,41,0]],TB(st)],KEr=[0,[17,0,0],TB(Cl)],JEr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],WEr=[0,[15,0],TB(kD)],qEr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],zEr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],QEr=[0,[17,0,[12,41,0]],TB(st)],ZEr=[0,[15,0],TB(kD)],rFr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tFr=TB("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),eFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nFr=[0,[17,0,0],TB(Cl)],uFr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],aFr=[0,[15,0],TB(kD)],iFr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],cFr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],fFr=[0,[17,0,[12,41,0]],TB(st)],oFr=[0,[15,0],TB(kD)],sFr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],vFr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],lFr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],DFr=[0,[17,0,[12,41,0]],TB(st)],pFr=[0,[17,0,[12,41,0]],TB(st)],bFr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],EFr=[0,[17,0,[12,41,0]],TB(st)],FFr=[0,[15,0],TB(kD)],dFr=TB(mp),mFr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],hFr=TB("Flow_ast.Statement.ForOf.left"),kFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],yFr=[0,[17,0,0],TB(Cl)],AFr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_Fr=TB(vu),CFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wFr=[0,[17,0,0],TB(Cl)],SFr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gFr=TB(Xm),BFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TFr=[0,[17,0,0],TB(Cl)],IFr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],OFr=TB(lf),NFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xFr=[0,[9,0,0],TB(Nb)],LFr=[0,[17,0,0],TB(Cl)],PFr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],RFr=TB(Ku),MFr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],GFr=TB(tw),UFr=TB(os),jFr=TB(Zv),XFr=[0,[17,0,0],TB(Cl)],HFr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],$Fr=[0,[15,0],TB(kD)],YFr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],VFr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],KFr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],JFr=[0,[17,0,[12,41,0]],TB(st)],WFr=[0,[17,0,[12,41,0]],TB(st)],qFr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],zFr=[0,[17,0,[12,41,0]],TB(st)],QFr=[0,[15,0],TB(kD)],ZFr=TB(mp),rdr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tdr=TB("Flow_ast.Statement.ForIn.left"),edr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ndr=[0,[17,0,0],TB(Cl)],udr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],adr=TB(vu),idr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cdr=[0,[17,0,0],TB(Cl)],fdr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],odr=TB(Xm),sdr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],vdr=[0,[17,0,0],TB(Cl)],ldr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ddr=TB(Nv),pdr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],bdr=[0,[9,0,0],TB(Nb)],Edr=[0,[17,0,0],TB(Cl)],Fdr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ddr=TB(Ku),mdr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hdr=TB(tw),kdr=TB(os),ydr=TB(Zv),Adr=[0,[17,0,0],TB(Cl)],_dr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Cdr=[0,[15,0],TB(kD)],wdr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.For.InitDeclaration"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],Sdr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],gdr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Bdr=[0,[17,0,[12,41,0]],TB(st)],Tdr=[0,[17,0,[12,41,0]],TB(st)],Idr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Statement.For.InitExpression"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],Odr=[0,[17,0,[12,41,0]],TB(st)],Ndr=[0,[15,0],TB(kD)],xdr=TB(mp),Ldr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Pdr=TB("Flow_ast.Statement.For.init"),Rdr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Mdr=TB(tw),Gdr=TB(os),Udr=TB(Zv),jdr=[0,[17,0,0],TB(Cl)],Xdr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Hdr=TB(dk),$dr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ydr=TB(tw),Vdr=TB(os),Kdr=TB(Zv),Jdr=[0,[17,0,0],TB(Cl)],Wdr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qdr=TB(K),zdr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Qdr=TB(tw),Zdr=TB(os),rmr=TB(Zv),tmr=[0,[17,0,0],TB(Cl)],emr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nmr=TB(Xm),umr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],amr=[0,[17,0,0],TB(Cl)],imr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cmr=TB(Ku),fmr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],omr=TB(tw),smr=TB(os),vmr=TB(Zv),lmr=[0,[17,0,0],TB(Cl)],Dmr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],pmr=[0,[15,0],TB(kD)],bmr=TB(mp),Emr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Fmr=TB("Flow_ast.Statement.DoWhile.body"),dmr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],mmr=[0,[17,0,0],TB(Cl)],hmr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],kmr=TB(dk),ymr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Amr=[0,[17,0,0],TB(Cl)],_mr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Cmr=TB(Ku),wmr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Smr=TB(tw),gmr=TB(os),Bmr=TB(Zv),Tmr=[0,[17,0,0],TB(Cl)],Imr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Omr=[0,[15,0],TB(kD)],Nmr=TB(mp),xmr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Lmr=TB("Flow_ast.Statement.While.test"),Pmr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rmr=[0,[17,0,0],TB(Cl)],Mmr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Gmr=TB(Xm),Umr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jmr=[0,[17,0,0],TB(Cl)],Xmr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Hmr=TB(Ku),$mr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ymr=TB(tw),Vmr=TB(os),Kmr=TB(Zv),Jmr=[0,[17,0,0],TB(Cl)],Wmr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],qmr=[0,[15,0],TB(kD)],zmr=TB("Flow_ast.Statement.VariableDeclaration.Var"),Qmr=TB("Flow_ast.Statement.VariableDeclaration.Let"),Zmr=TB("Flow_ast.Statement.VariableDeclaration.Const"),rhr=[0,[15,0],TB(kD)],thr=TB(mp),ehr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nhr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],uhr=TB("Flow_ast.Statement.VariableDeclaration.declarations"),ahr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ihr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],chr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],fhr=[0,[17,0,0],TB(Cl)],ohr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],shr=TB($t),vhr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lhr=[0,[17,0,0],TB(Cl)],Dhr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],phr=TB(Ku),bhr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ehr=TB(tw),Fhr=TB(os),dhr=TB(Zv),mhr=[0,[17,0,0],TB(Cl)],hhr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],khr=[0,[15,0],TB(kD)],yhr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ahr=TB("Flow_ast.Statement.VariableDeclaration.Declarator.id"),_hr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Chr=[0,[17,0,0],TB(Cl)],whr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Shr=TB(kh),ghr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Bhr=TB(tw),Thr=TB(os),Ihr=TB(Zv),Ohr=[0,[17,0,0],TB(Cl)],Nhr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],xhr=[0,[15,0],TB(kD)],Lhr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Phr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Rhr=[0,[17,0,[12,41,0]],TB(st)],Mhr=[0,[15,0],TB(kD)],Ghr=TB(mp),Uhr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],jhr=TB("Flow_ast.Statement.Try.block"),Xhr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Hhr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],$hr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Yhr=[0,[17,0,[12,41,0]],TB(st)],Vhr=[0,[17,0,0],TB(Cl)],Khr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Jhr=TB(eu),Whr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qhr=TB(tw),zhr=TB(os),Qhr=TB(Zv),Zhr=[0,[17,0,0],TB(Cl)],rkr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tkr=TB(Cv),ekr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nkr=TB(tw),ukr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],akr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ikr=[0,[17,0,[12,41,0]],TB(st)],ckr=TB(os),fkr=TB(Zv),okr=[0,[17,0,0],TB(Cl)],skr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vkr=TB(Ku),lkr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Dkr=TB(tw),pkr=TB(os),bkr=TB(Zv),Ekr=[0,[17,0,0],TB(Cl)],Fkr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],dkr=[0,[15,0],TB(kD)],mkr=TB(mp),hkr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kkr=TB("Flow_ast.Statement.Try.CatchClause.param"),ykr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Akr=TB(tw),_kr=TB(os),Ckr=TB(Zv),wkr=[0,[17,0,0],TB(Cl)],Skr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gkr=TB(Xm),Bkr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Tkr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Ikr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Okr=[0,[17,0,[12,41,0]],TB(st)],Nkr=[0,[17,0,0],TB(Cl)],xkr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Lkr=TB(Ku),Pkr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rkr=TB(tw),Mkr=TB(os),Gkr=TB(Zv),Ukr=[0,[17,0,0],TB(Cl)],jkr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Xkr=[0,[15,0],TB(kD)],Hkr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],$kr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Ykr=[0,[17,0,[12,41,0]],TB(st)],Vkr=[0,[15,0],TB(kD)],Kkr=TB(mp),Jkr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Wkr=TB("Flow_ast.Statement.Throw.argument"),qkr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zkr=[0,[17,0,0],TB(Cl)],Qkr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Zkr=TB(Ku),ryr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],tyr=TB(tw),eyr=TB(os),nyr=TB(Zv),uyr=[0,[17,0,0],TB(Cl)],ayr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],iyr=[0,[15,0],TB(kD)],cyr=TB(mp),fyr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],oyr=TB("Flow_ast.Statement.Return.argument"),syr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],vyr=TB(tw),lyr=TB(os),Dyr=TB(Zv),pyr=[0,[17,0,0],TB(Cl)],byr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Eyr=TB(Ku),Fyr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],dyr=TB(tw),myr=TB(os),hyr=TB(Zv),kyr=[0,[17,0,0],TB(Cl)],yyr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Ayr=[0,[15,0],TB(kD)],_yr=TB(mp),Cyr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],wyr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Syr=TB("Flow_ast.Statement.Switch.discriminant"),gyr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Byr=[0,[17,0,0],TB(Cl)],Tyr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Iyr=TB(Vd),Oyr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Nyr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],xyr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Lyr=[0,[17,0,0],TB(Cl)],Pyr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Ryr=TB(Ku),Myr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Gyr=TB(tw),Uyr=TB(os),jyr=TB(Zv),Xyr=[0,[17,0,0],TB(Cl)],Hyr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],$yr=[0,[15,0],TB(kD)],Yyr=TB(mp),Vyr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Kyr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Jyr=TB("Flow_ast.Statement.Switch.Case.test"),Wyr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qyr=TB(tw),zyr=TB(os),Qyr=TB(Zv),Zyr=[0,[17,0,0],TB(Cl)],rAr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tAr=TB(qp),eAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nAr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],uAr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],aAr=[0,[17,0,0],TB(Cl)],iAr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cAr=TB(Ku),fAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],oAr=TB(tw),sAr=TB(os),vAr=TB(Zv),lAr=[0,[17,0,0],TB(Cl)],DAr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],pAr=[0,[15,0],TB(kD)],bAr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],EAr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],FAr=[0,[17,0,[12,41,0]],TB(st)],dAr=[0,[15,0],TB(kD)],mAr=TB(mp),hAr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kAr=TB("Flow_ast.Statement.OpaqueType.id"),yAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],AAr=[0,[17,0,0],TB(Cl)],_Ar=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],CAr=TB(_r),wAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],SAr=TB(tw),gAr=TB(os),BAr=TB(Zv),TAr=[0,[17,0,0],TB(Cl)],IAr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],OAr=TB(kb),NAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xAr=TB(tw),LAr=TB(os),PAr=TB(Zv),RAr=[0,[17,0,0],TB(Cl)],MAr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GAr=TB(FE),UAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jAr=TB(tw),XAr=TB(os),HAr=TB(Zv),$Ar=[0,[17,0,0],TB(Cl)],YAr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],VAr=TB(Ku),KAr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],JAr=TB(tw),WAr=TB(os),qAr=TB(Zv),zAr=[0,[17,0,0],TB(Cl)],QAr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],ZAr=[0,[15,0],TB(kD)],r_r=TB(mp),t_r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],e_r=TB("Flow_ast.Statement.TypeAlias.id"),n_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],u_r=[0,[17,0,0],TB(Cl)],a_r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],i_r=TB(_r),c_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],f_r=TB(tw),o_r=TB(os),s_r=TB(Zv),v_r=[0,[17,0,0],TB(Cl)],l_r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],D_r=TB(vu),p_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],b_r=[0,[17,0,0],TB(Cl)],E_r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],F_r=TB(Ku),d_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],m_r=TB(tw),h_r=TB(os),k_r=TB(Zv),y_r=[0,[17,0,0],TB(Cl)],A_r=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],__r=[0,[15,0],TB(kD)],C_r=TB(mp),w_r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],S_r=TB("Flow_ast.Statement.With._object"),g_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],B_r=[0,[17,0,0],TB(Cl)],T_r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],I_r=TB(Xm),O_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],N_r=[0,[17,0,0],TB(Cl)],x_r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],L_r=TB(Ku),P_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],R_r=TB(tw),M_r=TB(os),G_r=TB(Zv),U_r=[0,[17,0,0],TB(Cl)],j_r=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],X_r=[0,[15,0],TB(kD)],H_r=TB(mp),$_r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Y_r=TB("Flow_ast.Statement.Debugger.comments"),V_r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],K_r=TB(tw),J_r=TB(os),W_r=TB(Zv),q_r=[0,[17,0,0],TB(Cl)],z_r=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Q_r=[0,[15,0],TB(kD)],Z_r=TB(mp),rCr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tCr=TB("Flow_ast.Statement.Continue.label"),eCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nCr=TB(tw),uCr=TB(os),aCr=TB(Zv),iCr=[0,[17,0,0],TB(Cl)],cCr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fCr=TB(Ku),oCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sCr=TB(tw),vCr=TB(os),lCr=TB(Zv),DCr=[0,[17,0,0],TB(Cl)],pCr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],bCr=[0,[15,0],TB(kD)],ECr=TB(mp),FCr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],dCr=TB("Flow_ast.Statement.Break.label"),mCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hCr=TB(tw),kCr=TB(os),yCr=TB(Zv),ACr=[0,[17,0,0],TB(Cl)],_Cr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],CCr=TB(Ku),wCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],SCr=TB(tw),gCr=TB(os),BCr=TB(Zv),TCr=[0,[17,0,0],TB(Cl)],ICr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],OCr=[0,[15,0],TB(kD)],NCr=TB(mp),xCr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],LCr=TB("Flow_ast.Statement.Labeled.label"),PCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RCr=[0,[17,0,0],TB(Cl)],MCr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GCr=TB(Xm),UCr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jCr=[0,[17,0,0],TB(Cl)],XCr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],HCr=TB(Ku),$Cr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YCr=TB(tw),VCr=TB(os),KCr=TB(Zv),JCr=[0,[17,0,0],TB(Cl)],WCr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],qCr=[0,[15,0],TB(kD)],zCr=TB(mp),QCr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],ZCr=TB("Flow_ast.Statement.If.test"),rwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],twr=[0,[17,0,0],TB(Cl)],ewr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nwr=TB(qp),uwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],awr=[0,[17,0,0],TB(Cl)],iwr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cwr=TB(uF),fwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],owr=TB(tw),swr=TB(os),vwr=TB(Zv),lwr=[0,[17,0,0],TB(Cl)],Dwr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],pwr=TB(Ku),bwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Ewr=TB(tw),Fwr=TB(os),dwr=TB(Zv),mwr=[0,[17,0,0],TB(Cl)],hwr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],kwr=[0,[15,0],TB(kD)],ywr=TB(mp),Awr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],_wr=TB("Flow_ast.Statement.If.Alternate.body"),Cwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wwr=[0,[17,0,0],TB(Cl)],Swr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gwr=TB(Ku),Bwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Twr=TB(tw),Iwr=TB(os),Owr=TB(Zv),Nwr=[0,[17,0,0],TB(Cl)],xwr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Lwr=[0,[15,0],TB(kD)],Pwr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Rwr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Mwr=[0,[17,0,[12,41,0]],TB(st)],Gwr=[0,[15,0],TB(kD)],Uwr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jwr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Xwr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Hwr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],$wr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ywr=TB("Flow_ast.Statement.Block.body"),Vwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Kwr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Jwr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Wwr=[0,[17,0,0],TB(Cl)],qwr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zwr=TB(Ku),Qwr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Zwr=TB(tw),rSr=TB(os),tSr=TB(Zv),eSr=[0,[17,0,0],TB(Cl)],nSr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],uSr=[0,[15,0],TB(kD)],aSr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Predicate.Declared"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],iSr=[0,[17,0,[12,41,0]],TB(st)],cSr=TB("Flow_ast.Type.Predicate.Inferred"),fSr=[0,[15,0],TB(kD)],oSr=TB(mp),sSr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],vSr=TB("Flow_ast.Type.Predicate.kind"),lSr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],DSr=[0,[17,0,0],TB(Cl)],pSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],bSr=TB(Ku),ESr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],FSr=TB(tw),dSr=TB(os),mSr=TB(Zv),hSr=[0,[17,0,0],TB(Cl)],kSr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],ySr=[0,[15,0],TB(kD)],ASr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],_Sr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],CSr=[0,[17,0,[12,41,0]],TB(st)],wSr=[0,[15,0],TB(kD)],SSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gSr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],BSr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],TSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ISr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],OSr=TB("Flow_ast.Type.TypeArgs.arguments"),NSr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],xSr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],LSr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],PSr=[0,[17,0,0],TB(Cl)],RSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],MSr=TB(Ku),GSr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],USr=TB(tw),jSr=TB(os),XSr=TB(Zv),HSr=[0,[17,0,0],TB(Cl)],$Sr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],YSr=[0,[15,0],TB(kD)],VSr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],KSr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],JSr=[0,[17,0,[12,41,0]],TB(st)],WSr=[0,[15,0],TB(kD)],qSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zSr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],QSr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],ZSr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rgr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tgr=TB("Flow_ast.Type.TypeParams.params"),egr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ngr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],ugr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],agr=[0,[17,0,0],TB(Cl)],igr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],cgr=TB(Ku),fgr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ogr=TB(tw),sgr=TB(os),vgr=TB(Zv),lgr=[0,[17,0,0],TB(Cl)],Dgr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],pgr=[0,[15,0],TB(kD)],bgr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Egr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Fgr=[0,[17,0,[12,41,0]],TB(st)],dgr=[0,[15,0],TB(kD)],mgr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],hgr=TB("Flow_ast.Type.TypeParam.name"),kgr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ygr=[0,[17,0,0],TB(Cl)],Agr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],_gr=TB(In),Cgr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],wgr=[0,[17,0,0],TB(Cl)],Sgr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ggr=TB(Xp),Bgr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Tgr=TB(tw),Igr=TB(os),Ogr=TB(Zv),Ngr=[0,[17,0,0],TB(Cl)],xgr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Lgr=TB(l_),Pgr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Rgr=TB(tw),Mgr=TB(os),Ggr=TB(Zv),Ugr=[0,[17,0,0],TB(Cl)],jgr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Xgr=[0,[15,0],TB(kD)],Hgr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],$gr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Ygr=[0,[17,0,[12,41,0]],TB(st)],Vgr=[0,[15,0],TB(kD)],Kgr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Missing"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Missing@ ")],Jgr=[0,[17,0,[12,41,0]],TB(st)],Wgr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Available"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Available@ ")],qgr=[0,[17,0,[12,41,0]],TB(st)],zgr=[0,[15,0],TB(kD)],Qgr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Zgr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],rBr=[0,[17,0,[12,41,0]],TB(st)],tBr=[0,[15,0],TB(kD)],eBr=TB(mp),nBr=TB(mp),uBr=TB(mp),aBr=TB(mp),iBr=TB(mp),cBr=TB(mp),fBr=TB(mp),oBr=TB(mp),sBr=TB(mp),vBr=TB(mp),lBr=TB(mp),DBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Any"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Any@ ")],pBr=TB(tw),bBr=TB(os),EBr=TB(Zv),FBr=[0,[17,0,[12,41,0]],TB(st)],dBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Mixed"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Mixed@ ")],mBr=TB(tw),hBr=TB(os),kBr=TB(Zv),yBr=[0,[17,0,[12,41,0]],TB(st)],ABr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Empty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Empty@ ")],_Br=TB(tw),CBr=TB(os),wBr=TB(Zv),SBr=[0,[17,0,[12,41,0]],TB(st)],gBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Void"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Void@ ")],BBr=TB(tw),TBr=TB(os),IBr=TB(Zv),OBr=[0,[17,0,[12,41,0]],TB(st)],NBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Null"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Null@ ")],xBr=TB(tw),LBr=TB(os),PBr=TB(Zv),RBr=[0,[17,0,[12,41,0]],TB(st)],MBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Number"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Number@ ")],GBr=TB(tw),UBr=TB(os),jBr=TB(Zv),XBr=[0,[17,0,[12,41,0]],TB(st)],HBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.BigInt"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.BigInt@ ")],$Br=TB(tw),YBr=TB(os),VBr=TB(Zv),KBr=[0,[17,0,[12,41,0]],TB(st)],JBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.String"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.String@ ")],WBr=TB(tw),qBr=TB(os),zBr=TB(Zv),QBr=[0,[17,0,[12,41,0]],TB(st)],ZBr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Boolean"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Boolean@ ")],rTr=TB(tw),tTr=TB(os),eTr=TB(Zv),nTr=[0,[17,0,[12,41,0]],TB(st)],uTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Symbol"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Symbol@ ")],aTr=TB(tw),iTr=TB(os),cTr=TB(Zv),fTr=[0,[17,0,[12,41,0]],TB(st)],oTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Exists"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Exists@ ")],sTr=TB(tw),vTr=TB(os),lTr=TB(Zv),DTr=[0,[17,0,[12,41,0]],TB(st)],pTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Nullable"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Nullable@ ")],bTr=[0,[17,0,[12,41,0]],TB(st)],ETr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Function"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Function@ ")],FTr=[0,[17,0,[12,41,0]],TB(st)],dTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object@ ")],mTr=[0,[17,0,[12,41,0]],TB(st)],hTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Interface"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Interface@ ")],kTr=[0,[17,0,[12,41,0]],TB(st)],yTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Array"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Array@ ")],ATr=[0,[17,0,[12,41,0]],TB(st)],_Tr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Generic"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Generic@ ")],CTr=[0,[17,0,[12,41,0]],TB(st)],wTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.IndexedAccess"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.IndexedAccess@ ")],STr=[0,[17,0,[12,41,0]],TB(st)],gTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.OptionalIndexedAccess"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.OptionalIndexedAccess@ ")],BTr=[0,[17,0,[12,41,0]],TB(st)],TTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Union"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Union@ ")],ITr=[0,[17,0,[12,41,0]],TB(st)],OTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Intersection"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Intersection@ ")],NTr=[0,[17,0,[12,41,0]],TB(st)],xTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Typeof"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Typeof@ ")],LTr=[0,[17,0,[12,41,0]],TB(st)],PTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Tuple"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Tuple@ ")],RTr=[0,[17,0,[12,41,0]],TB(st)],MTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.StringLiteral"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.StringLiteral@ ")],GTr=[0,[17,0,[12,41,0]],TB(st)],UTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.NumberLiteral"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.NumberLiteral@ ")],jTr=[0,[17,0,[12,41,0]],TB(st)],XTr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.BigIntLiteral"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],HTr=[0,[17,0,[12,41,0]],TB(st)],$Tr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.BooleanLiteral"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],YTr=[0,[17,0,[12,41,0]],TB(st)],VTr=[0,[15,0],TB(kD)],KTr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],JTr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],WTr=[0,[17,0,[12,41,0]],TB(st)],qTr=[0,[15,0],TB(kD)],zTr=TB(mp),QTr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ZTr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],rIr=TB("Flow_ast.Type.Intersection.types"),tIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eIr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],nIr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],uIr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],aIr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],iIr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],cIr=[0,[17,0,[12,41,0]],TB(st)],fIr=[0,[17,0,0],TB(Cl)],oIr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],sIr=TB(Ku),vIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lIr=TB(tw),DIr=TB(os),pIr=TB(Zv),bIr=[0,[17,0,0],TB(Cl)],EIr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],FIr=[0,[15,0],TB(kD)],dIr=TB(mp),mIr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hIr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kIr=TB("Flow_ast.Type.Union.types"),yIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],AIr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],_Ir=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],CIr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],wIr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],SIr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],gIr=[0,[17,0,[12,41,0]],TB(st)],BIr=[0,[17,0,0],TB(Cl)],TIr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],IIr=TB(Ku),OIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],NIr=TB(tw),xIr=TB(os),LIr=TB(Zv),PIr=[0,[17,0,0],TB(Cl)],RIr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],MIr=[0,[15,0],TB(kD)],GIr=TB(mp),UIr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],jIr=TB("Flow_ast.Type.Array.argument"),XIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HIr=[0,[17,0,0],TB(Cl)],$Ir=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],YIr=TB(Ku),VIr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],KIr=TB(tw),JIr=TB(os),WIr=TB(Zv),qIr=[0,[17,0,0],TB(Cl)],zIr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],QIr=[0,[15,0],TB(kD)],ZIr=TB(mp),rOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tOr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],eOr=TB("Flow_ast.Type.Tuple.types"),nOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],uOr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],aOr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],iOr=[0,[17,0,0],TB(Cl)],cOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fOr=TB(Ku),oOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sOr=TB(tw),vOr=TB(os),lOr=TB(Zv),DOr=[0,[17,0,0],TB(Cl)],pOr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],bOr=[0,[15,0],TB(kD)],EOr=TB(mp),FOr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],dOr=TB("Flow_ast.Type.Typeof.argument"),mOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hOr=[0,[17,0,0],TB(Cl)],kOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],yOr=TB(io),AOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_Or=[0,[9,0,0],TB(Nb)],COr=[0,[17,0,0],TB(Cl)],wOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],SOr=TB(Ku),gOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],BOr=TB(tw),TOr=TB(os),IOr=TB(Zv),OOr=[0,[17,0,0],TB(Cl)],NOr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],xOr=[0,[15,0],TB(kD)],LOr=TB(mp),POr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],ROr=TB("Flow_ast.Type.Nullable.argument"),MOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],GOr=[0,[17,0,0],TB(Cl)],UOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jOr=TB(Ku),XOr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HOr=TB(tw),$Or=TB(os),YOr=TB(Zv),VOr=[0,[17,0,0],TB(Cl)],KOr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],JOr=[0,[15,0],TB(kD)],WOr=TB(mp),qOr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zOr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],QOr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],ZOr=[0,[17,0,[12,41,0]],TB(st)],rNr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tNr=TB("Flow_ast.Type.Interface.body"),eNr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nNr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],uNr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],aNr=[0,[17,0,[12,41,0]],TB(st)],iNr=[0,[17,0,0],TB(Cl)],cNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fNr=TB(wp),oNr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sNr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],vNr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],lNr=[0,[17,0,0],TB(Cl)],DNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],pNr=TB(Ku),bNr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ENr=TB(tw),FNr=TB(os),dNr=TB(Zv),mNr=[0,[17,0,0],TB(Cl)],hNr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],kNr=[0,[15,0],TB(kD)],yNr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.Property"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.Property@ ")],ANr=[0,[17,0,[12,41,0]],TB(st)],_Nr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.SpreadProperty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],CNr=[0,[17,0,[12,41,0]],TB(st)],wNr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.Indexer"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.Indexer@ ")],SNr=[0,[17,0,[12,41,0]],TB(st)],gNr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.CallProperty"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],BNr=[0,[17,0,[12,41,0]],TB(st)],TNr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.InternalSlot"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],INr=[0,[17,0,[12,41,0]],TB(st)],ONr=[0,[15,0],TB(kD)],NNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xNr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],LNr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],PNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],RNr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],MNr=TB("Flow_ast.Type.Object.exact"),GNr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],UNr=[0,[9,0,0],TB(Nb)],jNr=[0,[17,0,0],TB(Cl)],XNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],HNr=TB(J_),$Nr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YNr=[0,[9,0,0],TB(Nb)],VNr=[0,[17,0,0],TB(Cl)],KNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],JNr=TB(Nu),WNr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],qNr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],zNr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],QNr=[0,[17,0,0],TB(Cl)],ZNr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rxr=TB(Ku),txr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],exr=TB(tw),nxr=TB(os),uxr=TB(Zv),axr=[0,[17,0,0],TB(Cl)],ixr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],cxr=[0,[15,0],TB(kD)],fxr=TB(mp),oxr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],sxr=TB("Flow_ast.Type.Object.InternalSlot.id"),vxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lxr=[0,[17,0,0],TB(Cl)],Dxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],pxr=TB(WF),bxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Exr=[0,[17,0,0],TB(Cl)],Fxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],dxr=TB(Al),mxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hxr=[0,[9,0,0],TB(Nb)],kxr=[0,[17,0,0],TB(Cl)],yxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Axr=TB(Qu),_xr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Cxr=[0,[9,0,0],TB(Nb)],wxr=[0,[17,0,0],TB(Cl)],Sxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gxr=TB(N),Bxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Txr=[0,[9,0,0],TB(Nb)],Ixr=[0,[17,0,0],TB(Cl)],Oxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Nxr=TB(Ku),xxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Lxr=TB(tw),Pxr=TB(os),Rxr=TB(Zv),Mxr=[0,[17,0,0],TB(Cl)],Gxr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Uxr=[0,[15,0],TB(kD)],jxr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Xxr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Hxr=[0,[17,0,[12,41,0]],TB(st)],$xr=[0,[15,0],TB(kD)],Yxr=TB(mp),Vxr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Kxr=TB("Flow_ast.Type.Object.CallProperty.value"),Jxr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Wxr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],qxr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],zxr=[0,[17,0,[12,41,0]],TB(st)],Qxr=[0,[17,0,0],TB(Cl)],Zxr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rLr=TB(Qu),tLr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eLr=[0,[9,0,0],TB(Nb)],nLr=[0,[17,0,0],TB(Cl)],uLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],aLr=TB(Ku),iLr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cLr=TB(tw),fLr=TB(os),oLr=TB(Zv),sLr=[0,[17,0,0],TB(Cl)],vLr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],lLr=[0,[15,0],TB(kD)],DLr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],pLr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],bLr=[0,[17,0,[12,41,0]],TB(st)],ELr=[0,[15,0],TB(kD)],FLr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],dLr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],mLr=[0,[17,0,[12,41,0]],TB(st)],hLr=[0,[15,0],TB(kD)],kLr=TB(mp),yLr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],ALr=TB("Flow_ast.Type.Object.Indexer.id"),_Lr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],CLr=TB(tw),wLr=TB(os),SLr=TB(Zv),gLr=[0,[17,0,0],TB(Cl)],BLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],TLr=TB($g),ILr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],OLr=[0,[17,0,0],TB(Cl)],NLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xLr=TB(WF),LLr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],PLr=[0,[17,0,0],TB(Cl)],RLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],MLr=TB(Qu),GLr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ULr=[0,[9,0,0],TB(Nb)],jLr=[0,[17,0,0],TB(Cl)],XLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],HLr=TB(Xp),$Lr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YLr=TB(tw),VLr=TB(os),KLr=TB(Zv),JLr=[0,[17,0,0],TB(Cl)],WLr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qLr=TB(Ku),zLr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],QLr=TB(tw),ZLr=TB(os),rPr=TB(Zv),tPr=[0,[17,0,0],TB(Cl)],ePr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],nPr=[0,[15,0],TB(kD)],uPr=TB(mp),aPr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],iPr=TB("Flow_ast.Type.Object.SpreadProperty.argument"),cPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],fPr=[0,[17,0,0],TB(Cl)],oPr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],sPr=TB(Ku),vPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lPr=TB(tw),DPr=TB(os),pPr=TB(Zv),bPr=[0,[17,0,0],TB(Cl)],EPr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],FPr=[0,[15,0],TB(kD)],dPr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],mPr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],hPr=[0,[17,0,[12,41,0]],TB(st)],kPr=[0,[15,0],TB(kD)],yPr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.Property.Init"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],APr=[0,[17,0,[12,41,0]],TB(st)],_Pr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.Property.Get"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],CPr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],wPr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],SPr=[0,[17,0,[12,41,0]],TB(st)],gPr=[0,[17,0,[12,41,0]],TB(st)],BPr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Object.Property.Set"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],TPr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],IPr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],OPr=[0,[17,0,[12,41,0]],TB(st)],NPr=[0,[17,0,[12,41,0]],TB(st)],xPr=[0,[15,0],TB(kD)],LPr=TB(mp),PPr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],RPr=TB("Flow_ast.Type.Object.Property.key"),MPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],GPr=[0,[17,0,0],TB(Cl)],UPr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jPr=TB(WF),XPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HPr=[0,[17,0,0],TB(Cl)],$Pr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],YPr=TB(Al),VPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],KPr=[0,[9,0,0],TB(Nb)],JPr=[0,[17,0,0],TB(Cl)],WPr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qPr=TB(Qu),zPr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],QPr=[0,[9,0,0],TB(Nb)],ZPr=[0,[17,0,0],TB(Cl)],rRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tRr=TB(Ch),eRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nRr=[0,[9,0,0],TB(Nb)],uRr=[0,[17,0,0],TB(Cl)],aRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],iRr=TB(N),cRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],fRr=[0,[9,0,0],TB(Nb)],oRr=[0,[17,0,0],TB(Cl)],sRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vRr=TB(Xp),lRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],DRr=TB(tw),pRr=TB(os),bRr=TB(Zv),ERr=[0,[17,0,0],TB(Cl)],FRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],dRr=TB(Ku),mRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hRr=TB(tw),kRr=TB(os),yRr=TB(Zv),ARr=[0,[17,0,0],TB(Cl)],_Rr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],CRr=[0,[15,0],TB(kD)],wRr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],SRr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],gRr=[0,[17,0,[12,41,0]],TB(st)],BRr=[0,[15,0],TB(kD)],TRr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],IRr=TB("Flow_ast.Type.OptionalIndexedAccess.indexed_access"),ORr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],NRr=[0,[17,0,0],TB(Cl)],xRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],LRr=TB(Al),PRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RRr=[0,[9,0,0],TB(Nb)],MRr=[0,[17,0,0],TB(Cl)],GRr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],URr=[0,[15,0],TB(kD)],jRr=TB(mp),XRr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],HRr=TB("Flow_ast.Type.IndexedAccess._object"),$Rr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YRr=[0,[17,0,0],TB(Cl)],VRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],KRr=TB("index"),JRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],WRr=[0,[17,0,0],TB(Cl)],qRr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],zRr=TB(Ku),QRr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],ZRr=TB(tw),rMr=TB(os),tMr=TB(Zv),eMr=[0,[17,0,0],TB(Cl)],nMr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],uMr=[0,[15,0],TB(kD)],aMr=TB(mp),iMr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],cMr=TB("Flow_ast.Type.Generic.id"),fMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],oMr=[0,[17,0,0],TB(Cl)],sMr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],vMr=TB(PA),lMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],DMr=TB(tw),pMr=TB(os),bMr=TB(Zv),EMr=[0,[17,0,0],TB(Cl)],FMr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],dMr=TB(Ku),mMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],hMr=TB(tw),kMr=TB(os),yMr=TB(Zv),AMr=[0,[17,0,0],TB(Cl)],_Mr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],CMr=[0,[15,0],TB(kD)],wMr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],SMr=TB("Flow_ast.Type.Generic.Identifier.qualification"),gMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],BMr=[0,[17,0,0],TB(Cl)],TMr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],IMr=TB(Ai),OMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],NMr=[0,[17,0,0],TB(Cl)],xMr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],LMr=[0,[15,0],TB(kD)],PMr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],RMr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],MMr=[0,[17,0,[12,41,0]],TB(st)],GMr=[0,[15,0],TB(kD)],UMr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],jMr=[0,[17,0,[12,41,0]],TB(st)],XMr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],HMr=[0,[17,0,[12,41,0]],TB(st)],$Mr=[0,[15,0],TB(kD)],YMr=TB(mp),VMr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],KMr=TB("Flow_ast.Type.Function.tparams"),JMr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],WMr=TB(tw),qMr=TB(os),zMr=TB(Zv),QMr=[0,[17,0,0],TB(Cl)],ZMr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rGr=TB(_),tGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eGr=[0,[17,0,0],TB(Cl)],nGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],uGr=TB(Qe),aGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],iGr=[0,[17,0,0],TB(Cl)],cGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],fGr=TB(Ku),oGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],sGr=TB(tw),vGr=TB(os),lGr=TB(Zv),DGr=[0,[17,0,0],TB(Cl)],pGr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],bGr=[0,[15,0],TB(kD)],EGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],FGr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],dGr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],mGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],hGr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],kGr=TB("Flow_ast.Type.Function.Params.this_"),yGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],AGr=TB(tw),_Gr=TB(os),CGr=TB(Zv),wGr=[0,[17,0,0],TB(Cl)],SGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],gGr=TB(_),BGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],TGr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],IGr=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],OGr=[0,[17,0,0],TB(Cl)],NGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],xGr=TB(Ca),LGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],PGr=TB(tw),RGr=TB(os),MGr=TB(Zv),GGr=[0,[17,0,0],TB(Cl)],UGr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],jGr=TB(Ku),XGr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],HGr=TB(tw),$Gr=TB(os),YGr=TB(Zv),VGr=[0,[17,0,0],TB(Cl)],KGr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],JGr=[0,[15,0],TB(kD)],WGr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],qGr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],zGr=[0,[17,0,[12,41,0]],TB(st)],QGr=[0,[15,0],TB(kD)],ZGr=TB(mp),rUr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],tUr=TB("Flow_ast.Type.Function.ThisParam.annot"),eUr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nUr=[0,[17,0,0],TB(Cl)],uUr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],aUr=TB(Ku),iUr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cUr=TB(tw),fUr=TB(os),oUr=TB(Zv),sUr=[0,[17,0,0],TB(Cl)],vUr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],lUr=[0,[15,0],TB(kD)],DUr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],pUr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],bUr=[0,[17,0,[12,41,0]],TB(st)],EUr=[0,[15,0],TB(kD)],FUr=TB(mp),dUr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],mUr=TB("Flow_ast.Type.Function.RestParam.argument"),hUr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],kUr=[0,[17,0,0],TB(Cl)],yUr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],AUr=TB(Ku),_Ur=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],CUr=TB(tw),wUr=TB(os),SUr=TB(Zv),gUr=[0,[17,0,0],TB(Cl)],BUr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],TUr=[0,[15,0],TB(kD)],IUr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],OUr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],NUr=[0,[17,0,[12,41,0]],TB(st)],xUr=[0,[15,0],TB(kD)],LUr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],PUr=TB("Flow_ast.Type.Function.Param.name"),RUr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],MUr=TB(tw),GUr=TB(os),UUr=TB(Zv),jUr=[0,[17,0,0],TB(Cl)],XUr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],HUr=TB(aa),$Ur=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],YUr=[0,[17,0,0],TB(Cl)],VUr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],KUr=TB(Al),JUr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],WUr=[0,[9,0,0],TB(Nb)],qUr=[0,[17,0,0],TB(Cl)],zUr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],QUr=[0,[15,0],TB(kD)],ZUr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],rjr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],tjr=[0,[17,0,[12,41,0]],TB(st)],ejr=[0,[15,0],TB(kD)],njr=TB(mp),ujr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],ajr=TB("Flow_ast.ComputedKey.expression"),ijr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cjr=[0,[17,0,0],TB(Cl)],fjr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ojr=TB(Ku),sjr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],vjr=TB(tw),ljr=TB(os),Djr=TB(Zv),pjr=[0,[17,0,0],TB(Cl)],bjr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],Ejr=[0,[15,0],TB(kD)],Fjr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],djr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],mjr=[0,[17,0,[12,41,0]],TB(st)],hjr=[0,[15,0],TB(kD)],kjr=TB(mp),yjr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],Ajr=TB("Flow_ast.Variance.kind"),_jr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Cjr=[0,[17,0,0],TB(Cl)],wjr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Sjr=TB(Ku),gjr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Bjr=TB(tw),Tjr=TB(os),Ijr=TB(Zv),Ojr=[0,[17,0,0],TB(Cl)],Njr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],xjr=[0,[15,0],TB(kD)],Ljr=TB("Flow_ast.Variance.Minus"),Pjr=TB("Flow_ast.Variance.Plus"),Rjr=[0,[15,0],TB(kD)],Mjr=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],Gjr=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],Ujr=[0,[17,0,[12,41,0]],TB(st)],jjr=[0,[15,0],TB(kD)],Xjr=TB(mp),Hjr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],$jr=TB("Flow_ast.BooleanLiteral.value"),Yjr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],Vjr=[0,[9,0,0],TB(Nb)],Kjr=[0,[17,0,0],TB(Cl)],Jjr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],Wjr=TB(Ku),qjr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zjr=TB(tw),Qjr=TB(os),Zjr=TB(Zv),rXr=[0,[17,0,0],TB(Cl)],tXr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],eXr=[0,[15,0],TB(kD)],nXr=TB(mp),uXr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],aXr=TB("Flow_ast.BigIntLiteral.approx_value"),iXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],cXr=[0,[8,[0,0,5],0,0,0],TB(ic)],fXr=[0,[17,0,0],TB(Cl)],oXr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],sXr=TB(qd),vXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],lXr=[0,[3,0,0],TB(tA)],DXr=[0,[17,0,0],TB(Cl)],pXr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],bXr=TB(Ku),EXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],FXr=TB(tw),dXr=TB(os),mXr=TB(Zv),hXr=[0,[17,0,0],TB(Cl)],kXr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],yXr=[0,[15,0],TB(kD)],AXr=TB(mp),_Xr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],CXr=TB("Flow_ast.NumberLiteral.value"),wXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],SXr=[0,[8,[0,0,5],0,0,0],TB(ic)],gXr=[0,[17,0,0],TB(Cl)],BXr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],TXr=TB(Tt),IXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],OXr=[0,[3,0,0],TB(tA)],NXr=[0,[17,0,0],TB(Cl)],xXr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],LXr=TB(Ku),PXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],RXr=TB(tw),MXr=TB(os),GXr=TB(Zv),UXr=[0,[17,0,0],TB(Cl)],jXr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],XXr=[0,[15,0],TB(kD)],HXr=TB(mp),$Xr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],YXr=TB("Flow_ast.StringLiteral.value"),VXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],KXr=[0,[3,0,0],TB(tA)],JXr=[0,[17,0,0],TB(Cl)],WXr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],qXr=TB(Tt),zXr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],QXr=[0,[3,0,0],TB(tA)],ZXr=[0,[17,0,0],TB(Cl)],rHr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],tHr=TB(Ku),eHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],nHr=TB(tw),uHr=TB(os),aHr=TB(Zv),iHr=[0,[17,0,0],TB(Cl)],cHr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],fHr=[0,[15,0],TB(kD)],oHr=TB("Flow_ast.Literal.Null"),sHr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Literal.String"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Literal.String@ ")],vHr=[0,[3,0,0],TB(tA)],lHr=[0,[17,0,[12,41,0]],TB(st)],DHr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Literal.Boolean"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Literal.Boolean@ ")],pHr=[0,[9,0,0],TB(Nb)],bHr=[0,[17,0,[12,41,0]],TB(st)],EHr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Literal.Number"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Literal.Number@ ")],FHr=[0,[8,[0,0,5],0,0,0],TB(ic)],dHr=[0,[17,0,[12,41,0]],TB(st)],mHr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Literal.BigInt"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Literal.BigInt@ ")],hHr=[0,[8,[0,0,5],0,0,0],TB(ic)],kHr=[0,[17,0,[12,41,0]],TB(st)],yHr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("Flow_ast.Literal.RegExp"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>Flow_ast.Literal.RegExp@ ")],AHr=[0,[17,0,[12,41,0]],TB(st)],_Hr=[0,[15,0],TB(kD)],CHr=TB(mp),wHr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],SHr=TB("Flow_ast.Literal.value"),gHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],BHr=[0,[17,0,0],TB(Cl)],THr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],IHr=TB(Tt),OHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],NHr=[0,[3,0,0],TB(tA)],xHr=[0,[17,0,0],TB(Cl)],LHr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],PHr=TB(Ku),RHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],MHr=TB(tw),GHr=TB(os),UHr=TB(Zv),jHr=[0,[17,0,0],TB(Cl)],XHr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],HHr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],$Hr=TB("Flow_ast.Literal.RegExp.pattern"),YHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],VHr=[0,[3,0,0],TB(tA)],KHr=[0,[17,0,0],TB(Cl)],JHr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],WHr=TB(UF),qHr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],zHr=[0,[3,0,0],TB(tA)],QHr=[0,[17,0,0],TB(Cl)],ZHr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],r$r=[0,[15,0],TB(kD)],t$r=[0,[15,0],TB(kD)],e$r=TB(mp),n$r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],u$r=TB("Flow_ast.PrivateName.id"),a$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],i$r=[0,[17,0,0],TB(Cl)],c$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],f$r=TB(Ku),o$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],s$r=TB(tw),v$r=TB(os),l$r=TB(Zv),D$r=[0,[17,0,0],TB(Cl)],p$r=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],b$r=[0,[15,0],TB(kD)],E$r=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],F$r=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],d$r=[0,[17,0,[12,41,0]],TB(st)],m$r=[0,[15,0],TB(kD)],h$r=TB(mp),k$r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],y$r=TB("Flow_ast.Identifier.name"),A$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],_$r=[0,[3,0,0],TB(tA)],C$r=[0,[17,0,0],TB(Cl)],w$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],S$r=TB(Ku),g$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],B$r=TB(tw),T$r=TB(os),I$r=TB(Zv),O$r=[0,[17,0,0],TB(Cl)],N$r=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],x$r=[0,[15,0],TB(kD)],L$r=[0,[12,40,[18,[1,[0,0,TB(D_)]],0]],TB(pd)],P$r=[0,[12,44,[17,[0,TB(Th),1,0],0]],TB(pg)],R$r=[0,[17,0,[12,41,0]],TB(st)],M$r=[0,[15,0],TB(kD)],G$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],U$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],j$r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],X$r=TB("Flow_ast.Syntax.leading"),H$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],$$r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],Y$r=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],V$r=[0,[17,0,0],TB(Cl)],K$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],J$r=TB("trailing"),W$r=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],q$r=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[12,91,0]],TB(cb)],z$r=[0,[17,[0,TB(Ko),0,0],[12,93,[17,0,0]]],TB(Cc)],Q$r=[0,[17,0,0],TB(Cl)],Z$r=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],rYr=TB(io),tYr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],eYr=[0,[17,0,0],TB(Cl)],nYr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],uYr=[0,[0,0,0]],aYr=[0,TB(x_),22,2],iYr=[0,[0,0,0,0,0]],cYr=[0,TB(x_),33,2],fYr=[0,[0,0,0,0,0]],oYr=[0,TB(x_),44,2],sYr=[0,[0,[0,[0,0,0]],0,0,0,0]],vYr=[0,TB(x_),71,2],lYr=[0,[0,0,0]],DYr=[0,TB(x_),81,2],pYr=[0,[0,0,0]],bYr=[0,TB(x_),91,2],EYr=[0,[0,0,0]],FYr=[0,TB(x_),Pm,2],dYr=[0,[0,0,0]],mYr=[0,TB(x_),Vr,2],hYr=[0,[0,0,0,0,0,0,0]],kYr=[0,TB(x_),YE,2],yYr=[0,[0,0,0,0,0]],AYr=[0,TB(x_),137,2],_Yr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],CYr=[0,TB(x_),475,2],wYr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],SYr=[0,TB(x_),1010,2],gYr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],BYr=[0,TB(x_),1442,2],TYr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],IYr=[0,TB(x_),1586,2],OYr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],NYr=[0,TB(x_),1671,2],xYr=[0,[0,0,0,0,0,0,0]],LYr=[0,TB(x_),1687,2],PYr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],RYr=[0,TB(x_),1810,2],MYr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],GYr=[0,TB(x_),1877,2],UYr=[0,[0,0,0,0,0]],jYr=[0,TB(x_),1889,2],XYr=[0,[0,0,0]],HYr=[0,[0,0,0,0,0]],$Yr=[0,[0,0,0,0,0]],YYr=[0,[0,[0,[0,0,0]],0,0,0,0]],VYr=[0,[0,0,0]],KYr=[0,[0,0,0]],JYr=[0,[0,0,0]],WYr=[0,[0,0,0]],qYr=[0,[0,0,0,0,0,0,0]],zYr=[0,[0,0,0,0,0]],QYr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],ZYr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],rVr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],tVr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],eVr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],nVr=[0,[0,0,0,0,0,0,0]],uVr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],aVr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],iVr=[0,[0,0,0,0,0]],cVr=[0,1],fVr=[0,0],oVr=[0,2],sVr=[0,0],vVr=[0,1],lVr=[0,1],DVr=[0,1],pVr=[0,1],bVr=[0,0,0],EVr=[0,0,0],FVr=[0,TB(Eb),TB(Av),TB($l),TB(wE),TB(Xp),TB(Rg),TB(Di),TB(_S),TB(Ln),TB(_E),TB(HE),TB(jw),TB(Mo),TB(pe),TB(MA),TB(Jn),TB(bF),TB(HC),TB(Fv),TB(Uv),TB(gc),TB(bD),TB(Zh),TB(Ol),TB(ur),TB(BE),TB(ln),TB(Qb),TB(Hv),TB(Ea),TB(nd),TB(sb),TB(jE),TB(Lg),TB(n_),TB(xf),TB(_v),TB(Nt),TB(Kg),TB(Gn),TB(Ji),TB(Qe),TB(wc),TB(Ok),TB(c),TB(bl),TB(Ew),TB(ym),TB(By),TB($v),TB(RS),TB(nk),TB(Uh),TB(sn),TB($F),TB(yu),TB(qu),TB(Mg),TB(XS),TB(Dk),TB(Et),TB(jm),TB(wa),TB(Ba),TB(Kp),TB(Sh),TB(VF),TB(Xt),TB(jC),TB(jd),TB($S),TB(vS),TB(bh),TB(hD),TB(mi),TB(fn),TB(fr),TB(pu),TB(ai),TB(xk),TB(ly),TB(ju),TB(zw),TB(oe),TB(qo),TB(JF),TB(mc),TB(xt),TB(yg),TB(e),TB(wg),TB(jv),TB(ev),TB(m_),TB(Bv),TB(ii),TB(zo),TB(ay),TB($o),TB(Pg),TB(nc),TB(Jm),TB(Gg),TB(h_),TB(Hm),TB(Rw),TB(U),TB(No),TB(ip),TB(lo),TB(zl),TB(mF),TB(TE),TB(ng),TB(So),TB(br),TB(Rr),TB(Sa),TB(Ym),TB(Jk),TB(LS),TB(An),TB(XC),TB(cl),TB(Ob),TB(Hr),TB(t_),TB(r_),TB(zf),TB(u_),TB(Dv),TB(Yp),TB(Xg),TB(ny),TB(gC),TB(qh),TB(kt),TB(gg),TB(Au),TB(ZS),TB(sw),TB(VS),TB(Bc),TB(gk),TB(ut),TB(eC),TB(pf),TB(SF),TB(Lk),TB(ci),TB(er),TB(mn),TB(Eo),TB(cf),TB(XA),TB(cB),TB(Rp),TB(bE),TB(g),TB(nS),TB($c),TB(y_),TB(SC),TB(zg),TB(ms),TB(my),TB(Un),TB(fe),TB(El),TB(to),TB(ye),TB(xh),TB(Xh),TB(Aw),TB(Zr),TB(Zy),TB(yp),TB(He),TB(is),TB(_w),TB(xe),TB(Pn),TB(Sd),TB(rv),TB(ok),TB(Ih),TB(Sk),TB(xd),TB(vb),TB(G_),TB(hf),TB(AE),TB(hp),TB(Ph),TB(Mu),TB(Y_),TB(RA),TB(Ni),TB(Wi),TB(XD),TB(nh),TB(rk),TB(da),TB(fb),TB(Gt),TB(dE),TB(wi),TB(Pf),TB(Qn),TB(K_),TB(Vt),TB(ar),TB(pn),TB(tS),TB(oC),TB(tk),TB(mC),TB(ue),TB(P),TB(qi),TB(Zp),TB(fc),TB(he),TB(Yc),TB(dC),TB(y),TB(Mr),TB(vt),TB(Lv),TB(su),TB(Cm),TB(ik),TB(zy),TB(pp),TB(us)],dVr=[0,TB(Nt),TB(Sa),TB(Lk),TB(Au),TB(he),TB(yu),TB(JF),TB(ai),TB(No),TB(Ob),TB(HC),TB(jE),TB(jd),TB(xh),TB(tS),TB(ng),TB(mc),TB(br),TB(Ih),TB(Av),TB(g),TB(Pg),TB(qo),TB(sw),TB(ok),TB(gg),TB(wE),TB(ms),TB(Uh),TB(Mu),TB(qi),TB(ci),TB(P),TB(mF),TB(He),TB(gk),TB(XS),TB(nS),TB(sb),TB(Lv),TB(xk),TB(qh),TB(xf),TB(Sk),TB($o),TB(xt),TB(ar),TB(dE),TB(Sh),TB(By),TB(pu),TB(ym),TB(Hm),TB(Qn),TB(vS),TB(bl),TB(fn),TB(eC),TB(yg),TB(ip),TB(TE),TB(ZS),TB(ii),TB(nh),TB(Uv),TB(xe),TB(fr),TB(Rw),TB(da),TB(zo),TB(SF),TB(nk),TB(zy),TB(hp),TB(Zy),TB(jv),TB(Ba),TB(pp),TB(Zp),TB(Ji),TB(Xp),TB(Ew),TB(gC),TB(vt),TB(bE),TB(Ol),TB(LS),TB(pn),TB(zw),TB(nd),TB(xd),TB(SC),TB(Fv),TB(Eb),TB(Zh),TB(RA),TB(jw),TB(jm),TB(wc),TB(HE),TB(Gt),TB(Y_),TB(_S),TB(So),TB($v),TB(cl),TB(Sd),TB(fe),TB($S),TB(Xh),TB(ay),TB(Et),TB(my),TB(pe),TB(bD),TB(Rg),TB(Kg),TB(Mo),TB(_E),TB(K_),TB($c),TB(wi),TB(m_),TB(pf),TB(Ln),TB(fb),TB(oe),TB(Jm),TB(su),TB(ev),TB(tk),TB(r_),TB(Dk),TB(VF),TB(Gg),TB(wg),TB(ny),TB(Qe),TB(dC),TB(Lg),TB(Mg),TB(ur),TB(Wi),TB(kt),TB(jC),TB(to),TB(Rr),TB(Kp),TB(Eo),TB(rv),TB(zf),TB(Pf),TB(er),TB(Bv),TB(Ym),TB(VS),TB(ut),TB(Pn),TB(c),TB(cB),TB(Yp),TB(_w),TB(Zr),TB(ju),TB(Gn),TB(u_),TB(hD),TB(sn),TB(gc),TB(mi),TB(MA),TB(fc),TB(AE),TB(mC),TB(Ph),TB(An),TB(Ea),TB(Bc),TB(Ok),TB(Xg),TB(oC),TB(ly),TB(zl),TB(Vt),TB(Hr),TB(vb),TB(bF),TB(us),TB(Di),TB(ue),TB(Jn),TB(G_),TB(lo),TB(Jk),TB(rk),TB(nc),TB($F),TB(XC),TB(Un),TB(h_),TB(Qb),TB(Cm),TB(qu),TB(Mr),TB(ye),TB(wa),TB(El),TB(cf),TB(XA),TB(_v),TB(XD),TB(mn),TB(RS),TB(yp),TB(hf),TB(ln),TB(Hv),TB(n_),TB(Rp),TB(Aw),TB(y_),TB(Xt),TB(y),TB(Dv),TB(U),TB(bh),TB(Ni),TB(is),TB(Yc),TB(ik),TB(t_),TB($l),TB(zg),TB(BE),TB(e)],mVr=TB("File_key.Builtins"),hVr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("File_key.LibFile"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>File_key.LibFile@ ")],kVr=[0,[3,0,0],TB(tA)],yVr=[0,[17,0,[12,41,0]],TB(st)],AVr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("File_key.SourceFile"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>File_key.SourceFile@ ")],_Vr=[0,[3,0,0],TB(tA)],CVr=[0,[17,0,[12,41,0]],TB(st)],wVr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("File_key.JsonFile"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>File_key.JsonFile@ ")],SVr=[0,[3,0,0],TB(tA)],gVr=[0,[17,0,[12,41,0]],TB(st)],BVr=[0,[12,40,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB("File_key.ResourceFile"),[17,[0,TB(Th),1,0],0]]]],TB("(@[<2>File_key.ResourceFile@ ")],TVr=[0,[3,0,0],TB(tA)],IVr=[0,[17,0,[12,41,0]],TB(st)],OVr=TB(an),NVr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],xVr=TB("Loc.line"),LVr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],PVr=[0,[4,0,0,0,0],TB(Vn)],RVr=[0,[17,0,0],TB(Cl)],MVr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],GVr=TB(Ae),UVr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],jVr=[0,[4,0,0,0,0],TB(Vn)],XVr=[0,[17,0,0],TB(Cl)],HVr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],$Vr=[0,[15,0],TB(kD)],YVr=[0,[18,[1,[0,[11,TB(sg),0],TB(sg)]],[11,TB(Ho),0]],TB(yn)],VVr=TB("Loc.source"),KVr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],JVr=TB(tw),WVr=TB(os),qVr=TB(Zv),zVr=[0,[17,0,0],TB(Cl)],QVr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],ZVr=TB(I),rKr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],tKr=[0,[17,0,0],TB(Cl)],eKr=[0,[12,59,[17,[0,TB(Th),1,0],0]],TB(Gm)],nKr=TB("_end"),uKr=[0,[18,[1,[0,0,TB(D_)]],[2,0,[11,TB(DD),[17,[0,TB(Th),1,0],0]]]],TB(bs)],aKr=[0,[17,0,0],TB(Cl)],iKr=[0,[17,[0,TB(Th),1,0],[12,$d,[17,0,0]]],TB(Dm)],cKr=TB("=="),fKr=TB("!="),oKr=TB("==="),sKr=TB("!=="),vKr=TB(dd),lKr=TB("<="),DKr=TB(L),pKr=TB(">="),bKr=TB("<<"),EKr=TB(">>"),FKr=TB(">>>"),dKr=TB(U_),mKr=TB(kA),hKr=TB("*"),kKr=TB("**"),yKr=TB(ds),AKr=TB("%"),_Kr=TB("|"),CKr=TB(E_),wKr=TB("&"),SKr=TB(Vf),gKr=TB(vo),BKr=TB("+="),TKr=TB("-="),IKr=TB("*="),OKr=TB("**="),NKr=TB("/="),xKr=TB("%="),LKr=TB("<<="),PKr=TB(">>="),RKr=TB(Ap),MKr=TB("|="),GKr=TB("^="),UKr=TB("&="),jKr=TB(me),XKr=TB(Ss),HKr=TB(mk),$Kr=TB(Na),YKr=TB("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),VKr=TB("Enum members are separated with `,`. Replace `;` with `,`."),KKr=TB("Unexpected reserved word"),JKr=TB("Unexpected reserved type"),WKr=TB("Unexpected `super` outside of a class method"),qKr=TB("`super()` is only valid in a class constructor"),zKr=TB("Unexpected end of input"),QKr=TB("Unexpected variance sigil"),ZKr=TB("Unexpected static modifier"),rJr=TB("Unexpected proto modifier"),tJr=TB("Type aliases are not allowed in untyped mode"),eJr=TB("Opaque type aliases are not allowed in untyped mode"),nJr=TB("Type annotations are not allowed in untyped mode"),uJr=TB("Type declarations are not allowed in untyped mode"),aJr=TB("Type imports are not allowed in untyped mode"),iJr=TB("Type exports are not allowed in untyped mode"),cJr=TB("Interfaces are not allowed in untyped mode"),fJr=TB("Spreading a type is only allowed inside an object type"),oJr=TB("Explicit inexact syntax must come at the end of an object type"),sJr=TB("Explicit inexact syntax cannot appear inside an explicit exact object type"),vJr=TB("Explicit inexact syntax can only appear inside an object type"),lJr=TB("Illegal newline after throw"),DJr=TB("A bigint literal must be an integer"),pJr=TB("A bigint literal cannot use exponential notation"),bJr=TB("Invalid regular expression"),EJr=TB("Invalid regular expression: missing /"),FJr=TB("Invalid left-hand side in assignment"),dJr=TB("Invalid left-hand side in exponentiation expression"),mJr=TB("Invalid left-hand side in for-in"),hJr=TB("Invalid left-hand side in for-of"),kJr=TB("Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`."),yJr=TB("found an expression instead"),AJr=TB("Expected an object pattern, array pattern, or an identifier but "),_Jr=TB("More than one default clause in switch statement"),CJr=TB("Missing catch or finally after try"),wJr=TB("Illegal continue statement"),SJr=TB("Illegal break statement"),gJr=TB("Illegal return statement"),BJr=TB("Illegal Unicode escape"),TJr=TB("Strict mode code may not include a with statement"),IJr=TB("Catch variable may not be eval or arguments in strict mode"),OJr=TB("Variable name may not be eval or arguments in strict mode"),NJr=TB("Parameter name eval or arguments is not allowed in strict mode"),xJr=TB("Strict mode function may not have duplicate parameter names"),LJr=TB("Function name may not be eval or arguments in strict mode"),PJr=TB("Octal literals are not allowed in strict mode."),RJr=TB("Number literals with leading zeros are not allowed in strict mode."),MJr=TB("Delete of an unqualified identifier in strict mode."),GJr=TB("Duplicate data property in object literal not allowed in strict mode"),UJr=TB("Object literal may not have data and accessor property with the same name"),jJr=TB("Object literal may not have multiple get/set accessors with the same name"),XJr=TB("Assignment to eval or arguments is not allowed in strict mode"),HJr=TB("Postfix increment/decrement may not have eval or arguments operand in strict mode"),$Jr=TB("Prefix increment/decrement may not have eval or arguments operand in strict mode"),YJr=TB("Use of future reserved word in strict mode"),VJr=TB("JSX attributes must only be assigned a non-empty expression"),KJr=TB("JSX value should be either an expression or a quoted JSX text"),JJr=TB("Const must be initialized"),WJr=TB("Destructuring assignment must be initialized"),qJr=TB("Illegal newline before arrow"),zJr=TB(am),QJr=TB("Async functions can only be declared at top level or "),ZJr=TB(am),rWr=TB("Generators can only be declared at top level or "),tWr=TB("elements must be wrapped in an enclosing parent tag"),eWr=TB("Unexpected token <. Remember, adjacent JSX "),nWr=TB("Rest parameter must be final parameter of an argument list"),uWr=TB("Rest element must be final element of an array pattern"),aWr=TB("Rest property must be final property of an object pattern"),iWr=TB("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),cWr=TB("`declare` modifier can only appear on class fields."),fWr=TB("Unexpected token `=`. Initializers are not allowed in a `declare`."),oWr=TB("Unexpected token `=`. Initializers are not allowed in a `declare opaque type`."),sWr=TB("`declare export let` is not supported. Use `declare export var` instead."),vWr=TB("`declare export const` is not supported. Use `declare export var` instead."),lWr=TB("`declare export type` is not supported. Use `export type` instead."),DWr=TB("`declare export interface` is not supported. Use `export interface` instead."),pWr=TB("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),bWr=TB("When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?"),EWr=TB("When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?"),FWr=TB("Found a decorator in an unsupported position."),dWr=TB("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),mWr=TB("Duplicate `declare module.exports` statement!"),hWr=TB("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),kWr=TB("Getter should have zero parameters"),yWr=TB("Setter should have exactly one parameter"),AWr=TB("`import type` or `import typeof`!"),_Wr=TB("Imports within a `declare module` body must always be "),CWr=TB("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),wWr=TB("Missing comma between import specifiers"),SWr=TB("Missing comma between export specifiers"),gWr=TB("Malformed unicode"),BWr=TB("Classes may only have one constructor"),TWr=TB("Classes may not have private methods."),IWr=TB("Private fields may not be deleted."),OWr=TB("Private fields can only be referenced from within a class."),NWr=TB("You may not access a private field through the `super` keyword."),xWr=TB("Yield expression not allowed in formal parameter"),LWr=TB("`await` is an invalid identifier in async functions"),PWr=TB("`yield` is an invalid identifier in generators"),RWr=TB("either a `let` binding pattern, or a member expression."),MWr=TB("`let [` is ambiguous in this position because it is "),GWr=TB("Literals cannot be used as shorthand properties."),UWr=TB("Computed properties must have a value."),jWr=TB("Object pattern can't contain methods"),XWr=TB("A trailing comma is not permitted after the rest element"),HWr=TB("The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option."),$Wr=TB("An optional chain may not be used in a `new` expression."),YWr=TB("Template literals may not be used in an optional chain."),VWr=TB("The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option."),KWr=TB("Unexpected whitespace between `#` and identifier"),JWr=TB("A type annotation is required for the `this` parameter."),WWr=TB("The `this` parameter must be the first function parameter."),qWr=TB("The `this` parameter cannot be optional."),zWr=TB("A getter cannot have a `this` parameter."),QWr=TB("A setter cannot have a `this` parameter."),ZWr=TB("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),rqr=TB("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),tqr=TB("Unexpected parser state: "),eqr=[0,[11,TB("Boolean enum members need to be initialized. Use either `"),[2,0,[11,TB(" = true,` or `"),[2,0,[11,TB(" = false,` in enum `"),[2,0,[11,TB(Xi),0]]]]]]],TB("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],nqr=[0,[11,TB("Enum member names need to be unique, but the name `"),[2,0,[11,TB("` has already been used before in enum `"),[2,0,[11,TB(Xi),0]]]]],TB("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],uqr=[0,[11,TB(cn),[2,0,[11,TB("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],TB("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],aqr=[0,[11,TB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,TB(Xi),0]]],TB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],iqr=[0,[11,TB("Enum type `"),[2,0,[11,TB("` is not valid. "),[2,0,0]]]],TB("Enum type `%s` is not valid. %s")],cqr=[0,[11,TB("Supplied enum type is not valid. "),[2,0,0]],TB("Supplied enum type is not valid. %s")],fqr=[0,[11,TB("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,TB(":` with `"),[2,0,[11,TB(" =`."),0]]]]],TB("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],oqr=[0,[11,TB("Symbol enum members cannot be initialized. Use `"),[2,0,[11,TB(",` in enum `"),[2,0,[11,TB(Xi),0]]]]],TB("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],sqr=[0,[11,TB(cn),[2,0,[11,TB("` has type `"),[2,0,[11,TB("`, so the initializer of `"),[2,0,[11,TB("` needs to be a "),[2,0,[11,TB(" literal."),0]]]]]]]]],TB("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],vqr=[0,[11,TB("The enum member initializer for `"),[2,0,[11,TB("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,TB(Xi),0]]]]],TB("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],lqr=[0,[11,TB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,TB("`, consider using `"),[2,0,[11,TB("`, in enum `"),[2,0,[11,TB(Xi),0]]]]]]],TB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],Dqr=TB("The `...` must come at the end of the enum body. Remove the trailing comma."),pqr=TB("The `...` must come after all enum members. Move it to the end of the enum body."),bqr=[0,[11,TB("Number enum members need to be initialized, e.g. `"),[2,0,[11,TB(" = 1,` in enum `"),[2,0,[11,TB(Xi),0]]]]],TB("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],Eqr=[0,[11,TB("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],TB("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],Fqr=[0,[11,TB(Bl),[2,0,0]],TB("Unexpected %s")],dqr=[0,[11,TB(Bl),[2,0,[11,TB(", expected "),[2,0,0]]]],TB("Unexpected %s, expected %s")],mqr=[0,[11,TB(oB),[2,0,[11,TB("`. Did you mean `"),[2,0,[11,TB("`?"),0]]]]],TB("Unexpected token `%s`. Did you mean `%s`?")],hqr=TB(km),kqr=TB("Invalid flags supplied to RegExp constructor '"),yqr=TB("Remove the period."),Aqr=TB("Indexed access uses bracket notation."),_qr=[0,[11,TB("Invalid indexed access. "),[2,0,[11,TB(" Use the format `T[K]`."),0]]],TB("Invalid indexed access. %s Use the format `T[K]`.")],Cqr=TB(km),wqr=TB("Undefined label '"),Sqr=TB("' has already been declared"),gqr=TB(" '"),Bqr=TB("Expected corresponding JSX closing tag for "),Tqr=TB(am),Iqr=TB("In strict mode code, functions can only be declared at top level or "),Oqr=TB("inside a block, or as the body of an if statement."),Nqr=TB("In non-strict mode code, functions can only be declared at top level, "),xqr=[0,[11,TB("Duplicate export for `"),[2,0,[12,96,0]]],TB("Duplicate export for `%s`")],Lqr=TB("` is declared more than once."),Pqr=TB("Private fields may only be declared once. `#"),Rqr=TB("static "),Mqr=TB(D_),Gqr=TB("#"),Uqr=TB(Xi),jqr=TB("fields named `"),Xqr=TB("Classes may not have "),Hqr=TB("` has not been declared."),$qr=TB("Private fields must be declared before they can be referenced. `#"),Yqr=[0,[11,TB(oB),[2,0,[11,TB("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],TB("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],Vqr=TB("Parse_error.Error"),Kqr=[0,1,0],Jqr=[0,0,[0,1,0],[0,1,0]],Wqr=[0,TB("end of input"),TB("the")],qqr=[0,TB("template literal part"),TB(q_)],zqr=[0,TB(Fl),TB(q_)],Qqr=TB("the"),Zqr=TB(q_),rzr=TB(Ss),tzr=TB(q_),ezr=TB(qd),nzr=TB(q_),uzr=TB(mk),azr=TB("an"),izr=TB(gg),czr=TB(ZD),fzr=[0,[11,TB("token `"),[2,0,[12,96,0]]],TB("token `%s`")],ozr=TB("{"),szr=TB(kE),vzr=TB("{|"),lzr=TB("|}"),Dzr=TB("("),pzr=TB(os),bzr=TB("["),Ezr=TB("]"),Fzr=TB(";"),dzr=TB(","),mzr=TB(pF),hzr=TB("=>"),kzr=TB("..."),yzr=TB("@"),Azr=TB("#"),_zr=TB(xs),Czr=TB(nm),wzr=TB(Vf),Szr=TB(vo),gzr=TB(Qe),Bzr=TB(jE),Tzr=TB(hE),Izr=TB(ur),Ozr=TB(it),Nzr=TB(mb),xzr=TB(gw),Lzr=TB(Qs),Pzr=TB(Ma),Rzr=TB(ss),Mzr=TB(fd),Gzr=TB(Xa),Uzr=TB(Gk),jzr=TB(Yc),Xzr=TB(xA),Hzr=TB(jy),$zr=TB(XD),Yzr=TB(l_),Vzr=TB(Lr),Kzr=TB(Il),Jzr=TB(KS),Wzr=TB(MD),qzr=TB(wp),zzr=TB(Qu),Qzr=TB(Bu),Zzr=TB(Ws),rQr=TB(vk),tQr=TB(Of),eQr=TB(cs),nQr=TB(Xf),uQr=TB(vF),aQr=TB(ny),iQr=TB(Jf),cQr=TB(mt),fQr=TB(t_),oQr=TB(jr),sQr=TB(Dt),vQr=TB(Jy),lQr=TB($A),DQr=TB(Eb),pQr=TB(Wi),bQr=TB(re),EQr=TB(qr),FQr=TB(Ge),dQr=TB("of"),mQr=TB(_A),hQr=TB(lf),kQr=TB("%checks"),yQr=TB(Ap),AQr=TB(">>="),_Qr=TB("<<="),CQr=TB("^="),wQr=TB("|="),SQr=TB("&="),gQr=TB("%="),BQr=TB("/="),TQr=TB("*="),IQr=TB("**="),OQr=TB("-="),NQr=TB("+="),xQr=TB("="),LQr=TB("?."),PQr=TB(a),RQr=TB("?"),MQr=TB(wk),GQr=TB("||"),UQr=TB("&&"),jQr=TB("|"),XQr=TB(E_),HQr=TB("&"),$Qr=TB("=="),YQr=TB("!="),VQr=TB("==="),KQr=TB("!=="),JQr=TB("<="),WQr=TB(">="),qQr=TB(dd),zQr=TB(L),QQr=TB("<<"),ZQr=TB(">>"),rZr=TB(">>>"),tZr=TB(U_),eZr=TB(kA),nZr=TB(ds),uZr=TB("*"),aZr=TB("**"),iZr=TB("%"),cZr=TB("!"),fZr=TB("~"),oZr=TB("++"),sZr=TB("--"),vZr=TB(D_),lZr=TB(ry),DZr=TB(eD),pZr=TB(xd),bZr=TB(Ss),EZr=TB(qd),FZr=TB(mk),dZr=TB(cs),mZr=TB(Na),hZr=TB(ds),kZr=TB(ds),yZr=TB(me),AZr=TB(s_),_Zr=TB("T_LCURLY"),CZr=TB("T_RCURLY"),wZr=TB("T_LCURLYBAR"),SZr=TB("T_RCURLYBAR"),gZr=TB("T_LPAREN"),BZr=TB("T_RPAREN"),TZr=TB("T_LBRACKET"),IZr=TB("T_RBRACKET"),OZr=TB("T_SEMICOLON"),NZr=TB("T_COMMA"),xZr=TB("T_PERIOD"),LZr=TB("T_ARROW"),PZr=TB("T_ELLIPSIS"),RZr=TB("T_AT"),MZr=TB("T_POUND"),GZr=TB("T_FUNCTION"),UZr=TB("T_IF"),jZr=TB("T_IN"),XZr=TB("T_INSTANCEOF"),HZr=TB("T_RETURN"),$Zr=TB("T_SWITCH"),YZr=TB("T_THIS"),VZr=TB("T_THROW"),KZr=TB("T_TRY"),JZr=TB("T_VAR"),WZr=TB("T_WHILE"),qZr=TB("T_WITH"),zZr=TB("T_CONST"),QZr=TB("T_LET"),ZZr=TB("T_NULL"),r0r=TB("T_FALSE"),t0r=TB("T_TRUE"),e0r=TB("T_BREAK"),n0r=TB("T_CASE"),u0r=TB("T_CATCH"),a0r=TB("T_CONTINUE"),i0r=TB("T_DEFAULT"),c0r=TB("T_DO"),f0r=TB("T_FINALLY"),o0r=TB("T_FOR"),s0r=TB("T_CLASS"),v0r=TB("T_EXTENDS"),l0r=TB("T_STATIC"),D0r=TB("T_ELSE"),p0r=TB("T_NEW"),b0r=TB("T_DELETE"),E0r=TB("T_TYPEOF"),F0r=TB("T_VOID"),d0r=TB("T_ENUM"),m0r=TB("T_EXPORT"),h0r=TB("T_IMPORT"),k0r=TB("T_SUPER"),y0r=TB("T_IMPLEMENTS"),A0r=TB("T_INTERFACE"),_0r=TB("T_PACKAGE"),C0r=TB("T_PRIVATE"),w0r=TB("T_PROTECTED"),S0r=TB("T_PUBLIC"),g0r=TB("T_YIELD"),B0r=TB("T_DEBUGGER"),T0r=TB("T_DECLARE"),I0r=TB("T_TYPE"),O0r=TB("T_OPAQUE"),N0r=TB("T_OF"),x0r=TB("T_ASYNC"),L0r=TB("T_AWAIT"),P0r=TB("T_CHECKS"),R0r=TB("T_RSHIFT3_ASSIGN"),M0r=TB("T_RSHIFT_ASSIGN"),G0r=TB("T_LSHIFT_ASSIGN"),U0r=TB("T_BIT_XOR_ASSIGN"),j0r=TB("T_BIT_OR_ASSIGN"),X0r=TB("T_BIT_AND_ASSIGN"),H0r=TB("T_MOD_ASSIGN"),$0r=TB("T_DIV_ASSIGN"),Y0r=TB("T_MULT_ASSIGN"),V0r=TB("T_EXP_ASSIGN"),K0r=TB("T_MINUS_ASSIGN"),J0r=TB("T_PLUS_ASSIGN"),W0r=TB("T_ASSIGN"),q0r=TB("T_PLING_PERIOD"),z0r=TB("T_PLING_PLING"),Q0r=TB("T_PLING"),Z0r=TB("T_COLON"),r1r=TB("T_OR"),t1r=TB("T_AND"),e1r=TB("T_BIT_OR"),n1r=TB("T_BIT_XOR"),u1r=TB("T_BIT_AND"),a1r=TB("T_EQUAL"),i1r=TB("T_NOT_EQUAL"),c1r=TB("T_STRICT_EQUAL"),f1r=TB("T_STRICT_NOT_EQUAL"),o1r=TB("T_LESS_THAN_EQUAL"),s1r=TB("T_GREATER_THAN_EQUAL"),v1r=TB("T_LESS_THAN"),l1r=TB("T_GREATER_THAN"),D1r=TB("T_LSHIFT"),p1r=TB("T_RSHIFT"),b1r=TB("T_RSHIFT3"),E1r=TB("T_PLUS"),F1r=TB("T_MINUS"),d1r=TB("T_DIV"),m1r=TB("T_MULT"),h1r=TB("T_EXP"),k1r=TB("T_MOD"),y1r=TB("T_NOT"),A1r=TB("T_BIT_NOT"),_1r=TB("T_INCR"),C1r=TB("T_DECR"),w1r=TB("T_EOF"),S1r=TB("T_ANY_TYPE"),g1r=TB("T_MIXED_TYPE"),B1r=TB("T_EMPTY_TYPE"),T1r=TB("T_NUMBER_TYPE"),I1r=TB("T_BIGINT_TYPE"),O1r=TB("T_STRING_TYPE"),N1r=TB("T_VOID_TYPE"),x1r=TB("T_SYMBOL_TYPE"),L1r=TB("T_NUMBER"),P1r=TB("T_BIGINT"),R1r=TB("T_STRING"),M1r=TB("T_TEMPLATE_PART"),G1r=TB("T_IDENTIFIER"),U1r=TB("T_REGEXP"),j1r=TB("T_ERROR"),X1r=TB("T_JSX_IDENTIFIER"),H1r=TB("T_JSX_TEXT"),$1r=TB("T_BOOLEAN_TYPE"),Y1r=TB("T_NUMBER_SINGLETON_TYPE"),V1r=TB("T_BIGINT_SINGLETON_TYPE"),K1r=TB("*-/"),J1r=TB("*/"),W1r=TB("*-/"),q1r=TB(Hs),z1r=TB(Hs),Q1r=TB("\\"),Z1r=TB(Hs),r2r=TB("${"),t2r=TB("\r\n"),e2r=TB("\r\n"),n2r=TB("\n"),u2r=TB(Hs),a2r=TB("\\\\"),i2r=TB(Hs),c2r=TB(D_),f2r=TB(D_),o2r=TB(D_),s2r=TB(D_),v2r=TB(Hs),l2r=TB(km),D2r=TB('"'),p2r=TB(dd),b2r=TB(L),E2r=TB("{"),F2r=TB(kE),d2r=TB("{'}'}"),m2r=TB(kE),h2r=TB("{'>'}"),k2r=TB(L),y2r=TB(mS),A2r=TB("iexcl"),_2r=TB("aelig"),C2r=TB("Nu"),w2r=TB("Eacute"),S2r=TB("Atilde"),g2r=TB("'int'"),B2r=TB("AElig"),T2r=TB("Aacute"),I2r=TB("Acirc"),O2r=TB("Agrave"),N2r=TB("Alpha"),x2r=TB("Aring"),L2r=[0,197],P2r=[0,913],R2r=[0,v],M2r=[0,194],G2r=[0,193],U2r=[0,198],j2r=[0,8747],X2r=TB("Auml"),H2r=TB("Beta"),$2r=TB("Ccedil"),Y2r=TB("Chi"),V2r=TB("Dagger"),K2r=TB("Delta"),J2r=TB("ETH"),W2r=[0,208],q2r=[0,916],z2r=[0,8225],Q2r=[0,935],Z2r=[0,199],r7r=[0,914],t7r=[0,196],e7r=[0,195],n7r=TB("Icirc"),u7r=TB("Ecirc"),a7r=TB("Egrave"),i7r=TB("Epsilon"),c7r=TB("Eta"),f7r=TB("Euml"),o7r=TB("Gamma"),s7r=TB("Iacute"),v7r=[0,205],l7r=[0,915],D7r=[0,203],p7r=[0,919],b7r=[0,917],E7r=[0,200],F7r=[0,202],d7r=TB("Igrave"),m7r=TB("Iota"),h7r=TB("Iuml"),k7r=TB("Kappa"),y7r=TB("Lambda"),A7r=TB("Mu"),_7r=TB("Ntilde"),C7r=[0,209],w7r=[0,924],S7r=[0,923],g7r=[0,922],B7r=[0,207],T7r=[0,921],I7r=[0,204],O7r=[0,206],N7r=[0,201],x7r=TB("Sigma"),L7r=TB("Otilde"),P7r=TB("OElig"),R7r=TB("Oacute"),M7r=TB("Ocirc"),G7r=TB("Ograve"),U7r=TB("Omega"),j7r=TB("Omicron"),X7r=TB("Oslash"),H7r=[0,216],$7r=[0,927],Y7r=[0,937],V7r=[0,210],K7r=[0,212],J7r=[0,211],W7r=[0,338],q7r=TB("Ouml"),z7r=TB("Phi"),Q7r=TB("Pi"),Z7r=TB("Prime"),r8r=TB("Psi"),t8r=TB("Rho"),e8r=TB("Scaron"),n8r=[0,352],u8r=[0,929],a8r=[0,936],i8r=[0,8243],c8r=[0,928],f8r=[0,934],o8r=[0,214],s8r=[0,213],v8r=TB("Uuml"),l8r=TB("THORN"),D8r=TB("Tau"),p8r=TB("Theta"),b8r=TB("Uacute"),E8r=TB("Ucirc"),F8r=TB("Ugrave"),d8r=TB("Upsilon"),m8r=[0,933],h8r=[0,217],k8r=[0,219],y8r=[0,218],A8r=[0,920],_8r=[0,932],C8r=[0,222],w8r=TB("Xi"),S8r=TB("Yacute"),g8r=TB("Yuml"),B8r=TB("Zeta"),T8r=TB("aacute"),I8r=TB("acirc"),O8r=TB("acute"),N8r=[0,180],x8r=[0,226],L8r=[0,225],P8r=[0,918],R8r=[0,376],M8r=[0,221],G8r=[0,926],U8r=[0,220],j8r=[0,931],X8r=[0,925],H8r=TB("delta"),$8r=TB("cap"),Y8r=TB("aring"),V8r=TB("agrave"),K8r=TB("alefsym"),J8r=TB("alpha"),W8r=TB("amp"),q8r=TB("and"),z8r=TB("ang"),Q8r=TB("apos"),Z8r=[0,39],r3r=[0,8736],t3r=[0,8743],e3r=[0,38],n3r=[0,945],u3r=[0,8501],a3r=[0,so],i3r=TB("asymp"),c3r=TB("atilde"),f3r=TB("auml"),o3r=TB("bdquo"),s3r=TB("beta"),v3r=TB("brvbar"),l3r=TB("bull"),D3r=[0,8226],p3r=[0,166],b3r=[0,946],E3r=[0,8222],F3r=[0,228],d3r=[0,227],m3r=[0,8776],h3r=[0,229],k3r=TB("copy"),y3r=TB("ccedil"),A3r=TB("cedil"),_3r=TB("cent"),C3r=TB("chi"),w3r=TB("circ"),S3r=TB("clubs"),g3r=TB("cong"),B3r=[0,8773],T3r=[0,9827],I3r=[0,710],O3r=[0,967],N3r=[0,162],x3r=[0,184],L3r=[0,231],P3r=TB("crarr"),R3r=TB("cup"),M3r=TB("curren"),G3r=TB("dArr"),U3r=TB("dagger"),j3r=TB("darr"),X3r=TB("deg"),H3r=[0,176],$3r=[0,8595],Y3r=[0,8224],V3r=[0,8659],K3r=[0,164],J3r=[0,8746],W3r=[0,8629],q3r=[0,169],z3r=[0,8745],Q3r=TB("fnof"),Z3r=TB("ensp"),r4r=TB("diams"),t4r=TB("divide"),e4r=TB("eacute"),n4r=TB("ecirc"),u4r=TB("egrave"),a4r=TB(xd),i4r=TB("emsp"),c4r=[0,8195],f4r=[0,8709],o4r=[0,232],s4r=[0,234],v4r=[0,233],l4r=[0,247],D4r=[0,9830],p4r=TB("epsilon"),b4r=TB("equiv"),E4r=TB("eta"),F4r=TB("eth"),d4r=TB("euml"),m4r=TB("euro"),h4r=TB("exist"),k4r=[0,8707],y4r=[0,8364],A4r=[0,235],_4r=[0,mA],C4r=[0,951],w4r=[0,8801],S4r=[0,949],g4r=[0,8194],B4r=TB("gt"),T4r=TB("forall"),I4r=TB("frac12"),O4r=TB("frac14"),N4r=TB("frac34"),x4r=TB("frasl"),L4r=TB("gamma"),P4r=TB("ge"),R4r=[0,8805],M4r=[0,947],G4r=[0,8260],U4r=[0,190],j4r=[0,188],X4r=[0,189],H4r=[0,8704],$4r=TB("hArr"),Y4r=TB("harr"),V4r=TB("hearts"),K4r=TB("hellip"),J4r=TB("iacute"),W4r=TB("icirc"),q4r=[0,238],z4r=[0,237],Q4r=[0,8230],Z4r=[0,9829],r6r=[0,8596],t6r=[0,8660],e6r=[0,62],n6r=[0,402],u6r=[0,948],a6r=[0,230],i6r=TB("prime"),c6r=TB("ndash"),f6r=TB("le"),o6r=TB("kappa"),s6r=TB("igrave"),v6r=TB("image"),l6r=TB("infin"),D6r=TB("iota"),p6r=TB("iquest"),b6r=TB("isin"),E6r=TB("iuml"),F6r=[0,239],d6r=[0,8712],m6r=[0,191],h6r=[0,953],k6r=[0,8734],y6r=[0,8465],A6r=[0,236],_6r=TB("lArr"),C6r=TB("lambda"),w6r=TB("lang"),S6r=TB("laquo"),g6r=TB("larr"),B6r=TB("lceil"),T6r=TB("ldquo"),I6r=[0,8220],O6r=[0,8968],N6r=[0,8592],x6r=[0,171],L6r=[0,10216],P6r=[0,955],R6r=[0,8656],M6r=[0,954],G6r=TB("macr"),U6r=TB("lfloor"),j6r=TB("lowast"),X6r=TB("loz"),H6r=TB("lrm"),$6r=TB("lsaquo"),Y6r=TB("lsquo"),V6r=TB("lt"),K6r=[0,60],J6r=[0,8216],W6r=[0,8249],q6r=[0,8206],z6r=[0,9674],Q6r=[0,8727],Z6r=[0,8970],r5r=TB("mdash"),t5r=TB("micro"),e5r=TB("middot"),n5r=TB(Tk),u5r=TB("mu"),a5r=TB("nabla"),i5r=TB("nbsp"),c5r=[0,160],f5r=[0,8711],o5r=[0,956],s5r=[0,8722],v5r=[0,183],l5r=[0,181],D5r=[0,8212],p5r=[0,175],b5r=[0,8804],E5r=TB("or"),F5r=TB("oacute"),d5r=TB("ne"),m5r=TB("ni"),h5r=TB("not"),k5r=TB("notin"),y5r=TB("nsub"),A5r=TB("ntilde"),_5r=TB("nu"),C5r=[0,957],w5r=[0,241],S5r=[0,8836],g5r=[0,8713],B5r=[0,172],T5r=[0,8715],I5r=[0,8800],O5r=TB("ocirc"),N5r=TB("oelig"),x5r=TB("ograve"),L5r=TB("oline"),P5r=TB("omega"),R5r=TB("omicron"),M5r=TB("oplus"),G5r=[0,8853],U5r=[0,959],j5r=[0,969],X5r=[0,LE],H5r=[0,242],$5r=[0,339],Y5r=[0,244],V5r=[0,243],K5r=TB("part"),J5r=TB("ordf"),W5r=TB("ordm"),q5r=TB("oslash"),z5r=TB("otilde"),Q5r=TB("otimes"),Z5r=TB("ouml"),r9r=TB("para"),t9r=[0,182],e9r=[0,246],n9r=[0,8855],u9r=[0,245],a9r=[0,_c],i9r=[0,186],c9r=[0,170],f9r=TB("permil"),o9r=TB("perp"),s9r=TB("phi"),v9r=TB("pi"),l9r=TB("piv"),D9r=TB("plusmn"),p9r=TB("pound"),b9r=[0,163],E9r=[0,177],F9r=[0,982],d9r=[0,960],m9r=[0,966],h9r=[0,8869],k9r=[0,8240],y9r=[0,8706],A9r=[0,8744],_9r=[0,8211],C9r=TB("sup1"),w9r=TB("rlm"),S9r=TB("raquo"),g9r=TB("prod"),B9r=TB("prop"),T9r=TB("psi"),I9r=TB("quot"),O9r=TB("rArr"),N9r=TB("radic"),x9r=TB("rang"),L9r=[0,10217],P9r=[0,8730],R9r=[0,8658],M9r=[0,34],G9r=[0,968],U9r=[0,8733],j9r=[0,8719],X9r=TB("rarr"),H9r=TB("rceil"),$9r=TB("rdquo"),Y9r=TB("real"),V9r=TB("reg"),K9r=TB("rfloor"),J9r=TB("rho"),W9r=[0,961],q9r=[0,8971],z9r=[0,174],Q9r=[0,8476],Z9r=[0,8221],rrt=[0,8969],trt=[0,8594],ert=[0,187],nrt=TB("sigma"),urt=TB("rsaquo"),art=TB("rsquo"),irt=TB("sbquo"),crt=TB("scaron"),frt=TB("sdot"),ort=TB("sect"),srt=TB("shy"),vrt=[0,173],lrt=[0,167],Drt=[0,8901],prt=[0,353],brt=[0,8218],Ert=[0,8217],Frt=[0,8250],drt=TB("sigmaf"),mrt=TB("sim"),hrt=TB("spades"),krt=TB("sub"),yrt=TB("sube"),Art=TB("sum"),_rt=TB("sup"),Crt=[0,8835],wrt=[0,8721],Srt=[0,8838],grt=[0,8834],Brt=[0,9824],Trt=[0,8764],Irt=[0,962],Ort=[0,963],Nrt=[0,8207],xrt=TB("uarr"),Lrt=TB("thetasym"),Prt=TB("sup2"),Rrt=TB("sup3"),Mrt=TB("supe"),Grt=TB("szlig"),Urt=TB("tau"),jrt=TB("there4"),Xrt=TB("theta"),Hrt=[0,952],$rt=[0,8756],Yrt=[0,964],Vrt=[0,Fo],Krt=[0,8839],Jrt=[0,179],Wrt=[0,178],qrt=TB("thinsp"),zrt=TB("thorn"),Qrt=TB("tilde"),Zrt=TB("times"),rtt=TB("trade"),ttt=TB("uArr"),ett=TB("uacute"),ntt=[0,250],utt=[0,8657],att=[0,8482],itt=[0,215],ctt=[0,732],ftt=[0,Wm],ott=[0,8201],stt=[0,977],vtt=TB("xi"),ltt=TB("ucirc"),Dtt=TB("ugrave"),ptt=TB("uml"),btt=TB("upsih"),Ett=TB("upsilon"),Ftt=TB("uuml"),dtt=TB("weierp"),mtt=[0,V],htt=[0,cF],ktt=[0,965],ytt=[0,978],Att=[0,168],_tt=[0,249],Ctt=[0,251],wtt=TB("yacute"),Stt=TB("yen"),gtt=TB("yuml"),Btt=TB("zeta"),Ttt=TB("zwj"),Itt=TB("zwnj"),Ott=[0,8204],Ntt=[0,Oc],xtt=[0,950],Ltt=[0,Ps],Ptt=[0,165],Rtt=[0,253],Mtt=[0,958],Gtt=[0,8593],Utt=[0,185],jtt=[0,8242],Xtt=[0,161],Htt=TB(";"),$tt=TB("&"),Ytt=TB(Hs),Vtt=TB(Hs),Ktt=TB(Hs),Jtt=TB(Hs),Wtt=TB(Hs),qtt=TB(Hs),ztt=TB(Hs),Qtt=TB(Hs),Ztt=TB(Hs),ret=TB(Hs),tet=TB(Hs),eet=TB(Hs),net=TB(Hs),uet=TB(Hs),aet=TB(wk),iet=TB(wk),cet=TB(de),fet=[9,0],oet=[9,1],set=TB(Hs),vet=TB(kE),Det=[0,TB(D_),TB(D_),TB(D_)],pet=TB(Hs),bet=TB(km),Eet=TB(Hs),Fet=TB(Hs),det=TB(Hs),met=TB(Hs),het=TB(Hs),ket=TB(Hs),yet=TB(Hs),Aet=TB(Hs),_et=TB(Hs),Cet=TB(Hs),wet=TB(Hs),Set=TB(Hs),get=TB(Hs),Bet=TB(Hs),Tet=TB(Hs),Iet=TB(wk),Oet=TB(wk),Net=TB(de),xet=[6,TB("#!")],Let=TB("expected ?"),Pet=TB(Hs),Ret=TB(Dc),Met=TB(yb),Get=TB(yb),Uet=TB(Dc),jet=TB("b"),Xet=TB("f"),Het=TB("n"),$et=TB("r"),Yet=TB("t"),Vet=TB("v"),Ket=TB(yb),Jet=TB(mS),Wet=TB(mS),qet=TB(Hs),zet=TB(mS),Qet=TB(mS),Zet=TB(Hs),rnt=TB("Invalid (lexer) bigint "),tnt=TB("Invalid (lexer) bigint binary/octal "),ent=TB(yb),nnt=TB(If),unt=TB(Br),ant=TB(Eu),int=[11,TB("token ILLEGAL")],cnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01"),fnt=TB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),ont=TB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),snt=TB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),vnt=TB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),lnt=TB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),Dnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01"),pnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),bnt=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x06\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07"),Ent=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Fnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),dnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),mnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02"),hnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),knt=TB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),ynt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Ant=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),_nt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Cnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),wnt=TB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Snt=TB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x05\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),gnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Bnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Tnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Int=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Ont=TB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\t\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01"),Nnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),xnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Lnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Pnt=TB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Rnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Mnt=TB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Gnt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Unt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),jnt=TB("\x01\0\0\x02"),Xnt=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x04\x02\x02\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05"),Hnt=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03"),$nt=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x07"),Ynt=TB("\x01\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Vnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Knt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),Jnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01"),Wnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),qnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),znt=TB("\x01\0\0\0\0\0\0\x02\0\x02\0\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Qnt=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Znt=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),rut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),tut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),eut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),nut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),uut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),aut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),iut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),cut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),fut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),out=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),sut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),vut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),lut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Dut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),put=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x05\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),but=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x05\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Eut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Fut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),dut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),mut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),hut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),kut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),yut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Aut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),_ut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Cut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),wut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Sut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),gut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),But=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x04\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Tut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Iut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Out=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Nut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),xut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Lut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Put=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Rut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Mut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Gut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Uut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),jut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Xut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Hut=TB("\x01\0\x02"),$ut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Yut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Vut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Kut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Jut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Wut=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),qut=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),zut=TB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Qut=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Zut=TB("\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),rat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04"),tat=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),eat=TB("\x01\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04"),nat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),uat=TB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),aat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x04\x01\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x01\x02\x02\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x01\x03\x03\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x01\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x01\x02\x02\x01\x01\x03\x01\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x02\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x01\x01\x01\x02\x02\x01\x01\x01\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x02\x02\x02\x02\x02\x01\x02\x01\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x03\x01\x03\x01\x01\x01\x01\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x01\x01\x01\x01\x02\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02"),iat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x06\x06\x06\x06\x06\x06\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\b\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\n\x02\x02\x02\v\x02\f\r\x0e\x02\x0f"),cat=TB("\x01\0\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),fat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03"),oat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04"),sat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\b\t\x06\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x13\x13\x13\x13\x13\x13\x13\x13\x14\x15\x16\x17\x18\x19\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1a\x1b\x1c\x02\x07\x02\x1d\x1e\x07\x07\x1f \x07\x07!\x07\x07\x07\"#\x07\x07\x07\x07$%\x07&\x07\x07\x07\x07'()\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x02\x02\x02\x07\x07\x02\x02\x02\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02"),vat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x06\x07\b\t\n\v\x07\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x15\x15\x15\x15\x15\x15\x15\x15\x16\x17\x18\x19\x1a\x1b\x1c\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x1d\x1e\x1f \t!\"#$%&'\t\t(\t\t)\t*+,\t-./\t01\t2\t3456\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\t\t\x02\x02\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\x02\x02\x02\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\t\t\t\x02\x02\x02\t\t\t\x02\t\t\t\t\x02\x02\x02\t\t\x02\t\x02\t\t\x02\x02\x02\t\t\x02\x02\x02\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\x02\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\t\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x03\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\t\t\t\t\t\t\x02\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\x02\t\x02\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\x02\x02\x02\t\t\t\x02\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\x02\t\t\t\t\t\t\t\x02\x02\x02"),lat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Dat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04"),pat=TB("\x01\0\0\0\0\x02"),bat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\x02\x02\x06\x02\x02\x02\x02\x02\x02\b\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\n\x02\v\f\r\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x0e\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x0f\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x02\x02\x02\x07\x07\x02\x02\x02\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02"),Eat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Fat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),dat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\x02"),mat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),hat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x03"),kat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),yat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Aat=TB("\x01\0\0\0\0\0\0\0\x02"),_at=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x07"),Cat=TB("\x01\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),wat=TB("\x01\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),Sat=TB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),gat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02"),Bat=TB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06"),Tat=TB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Iat=TB("\x01\0\0\0\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Oat=TB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Nat=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),xat=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Lat=TB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Pat=[0,[11,TB("the identifier `"),[2,0,[12,96,0]]],TB("the identifier `%s`")],Rat=[0,1],Mat=TB("@flow"),Gat=TB(Hb),Uat=TB(Hb),jat=TB("Peeking current location when not available"),Xat=TB(t_),Hat=TB(li),$at=TB(ry),Yat=TB(qd),Vat=TB(s_),Kat=TB(me),Jat=TB(xd),Wat=TB(wp),qat=TB(Xa),zat=TB(eD),Qat=TB(fd),Zat=TB(Ss),rit=TB(Qu),tit=TB(mk),eit=TB(Gk),nit=TB(Of),uit=TB(cs),ait=TB(Xa),iit=TB(fd),cit=TB(Gk),fit=TB(Xa),oit=TB(fd),sit=TB(Gk),vit=TB(Vu),lit=TB("eval"),Dit=TB(mt),pit=TB(t_),bit=TB(jr),Eit=TB(Dt),Fit=TB(Jy),dit=TB($A),mit=TB(Qu),hit=TB(Eb),kit=TB(Xf),yit=TB(nm),Ait=TB(l_),_it=TB(lf),Cit=TB(Yc),wit=TB(xA),Sit=TB(jy),git=TB(MD),Bit=TB(Ma),Tit=TB(XD),Iit=TB(Wi),Oit=TB(vk),Nit=TB(Lr),xit=TB(Bu),Lit=TB(vF),Pit=TB(wp),Rit=TB(Il),Mit=TB(KS),Git=TB(xs),Uit=TB(ur),jit=TB(ny),Xit=TB(Vf),Hit=TB(vo),$it=TB(Ws),Yit=TB(Qe),Vit=TB(Jf),Kit=TB(jE),Jit=TB(hE),Wit=TB(it),qit=TB(Of),zit=TB(mb),Qit=TB(cs),Zit=TB(gw),rct=TB(Qs),tct=TB(Eb),ect=[0,TB("src/parser/parser_env.ml"),361,2],nct=TB("Internal Error: Tried to add_declared_private with outside of class scope."),uct=TB("Internal Error: `exit_class` called before a matching `enter_class`"),act=TB(D_),ict=TB(D_),cct=[0,0,0],fct=[0,0,0],oct=TB(_u),sct=TB(_u),vct=TB("Parser_env.Try.Rollback"),lct=TB(D_),Dct=TB(D_),pct=[0,TB(De),TB(pA),TB(nd),TB(yi),TB(si),TB(fu),TB(y)],bct=[0,TB(Rg),TB(Di),TB(_E),TB(Mo),TB(Jn),TB(bF),TB(gc),TB(bD),TB(Qb),TB(Ea),TB(nd),TB(Ji),TB(bl),TB(vS),TB(oe),TB(mc),TB(wg),TB(ev),TB(m_),TB(U),TB(TE),TB(cl),TB(Ob),TB(ny),TB(gg),TB(sw),TB(Bc),TB(SF),TB(XA),TB(Rp),TB(ye),TB(nh),TB(rk),TB(Qn),TB(K_),TB(ar),TB(oC),TB(tk),TB(qi),TB(fc),TB(he),TB(y),TB(vt),TB(Cm),TB(zy),TB(us)],Ect=[0,TB(Nt),TB(Sa),TB(Lk),TB(Au),TB(he),TB(yu),TB(JF),TB(ai),TB(No),TB(Ob),TB(HC),TB(jE),TB(jd),TB(xh),TB(tS),TB(ng),TB(mc),TB(br),TB(Ih),TB(Av),TB(g),TB(Pg),TB(qo),TB(sw),TB(ok),TB(gg),TB(wE),TB(ms),TB(Uh),TB(Mu),TB(qi),TB(ci),TB(P),TB(mF),TB(He),TB(gk),TB(XS),TB(nS),TB(sb),TB(Lv),TB(xk),TB(qh),TB(xf),TB(Sk),TB($o),TB(xt),TB(ar),TB(dE),TB(Sh),TB(By),TB(pu),TB(ym),TB(Hm),TB(Qn),TB(vS),TB(bl),TB(fn),TB(eC),TB(yg),TB(ip),TB(TE),TB(ZS),TB(ii),TB(nh),TB(Uv),TB(xe),TB(fr),TB(Rw),TB(da),TB(zo),TB(SF),TB(nk),TB(zy),TB(hp),TB(Zy),TB(jv),TB(Ba),TB(pp),TB(Zp),TB(Ji),TB(Xp),TB(Ew),TB(gC),TB(vt),TB(bE),TB(Ol),TB(LS),TB(pn),TB(zw),TB(nd),TB(xd),TB(SC),TB(Fv),TB(Eb),TB(Zh),TB(RA),TB(jw),TB(jm),TB(wc),TB(HE),TB(Gt),TB(Y_),TB(_S),TB(So),TB($v),TB(cl),TB(Sd),TB(fe),TB($S),TB(Xh),TB(ay),TB(Et),TB(my),TB(pe),TB(bD),TB(Rg),TB(Kg),TB(Mo),TB(_E),TB(K_),TB($c),TB(wi),TB(m_),TB(pf),TB(Ln),TB(fb),TB(oe),TB(Jm),TB(su),TB(ev),TB(tk),TB(r_),TB(Dk),TB(VF),TB(Gg),TB(wg),TB(ny),TB(Qe),TB(dC),TB(Lg),TB(Mg),TB(ur),TB(Wi),TB(kt),TB(jC),TB(to),TB(Rr),TB(Kp),TB(Eo),TB(rv),TB(zf),TB(Pf),TB(er),TB(Bv),TB(Ym),TB(VS),TB(ut),TB(Pn),TB(c),TB(cB),TB(Yp),TB(_w),TB(Zr),TB(ju),TB(Gn),TB(u_),TB(hD),TB(sn),TB(gc),TB(mi),TB(MA),TB(fc),TB(AE),TB(mC),TB(Ph),TB(An),TB(Ea),TB(Bc),TB(Ok),TB(Xg),TB(oC),TB(ly),TB(zl),TB(Vt),TB(Hr),TB(vb),TB(bF),TB(us),TB(Di),TB(ue),TB(Jn),TB(G_),TB(lo),TB(Jk),TB(rk),TB(nc),TB($F),TB(XC),TB(Un),TB(h_),TB(Qb),TB(Cm),TB(qu),TB(Mr),TB(ye),TB(wa),TB(El),TB(cf),TB(XA),TB(_v),TB(XD),TB(mn),TB(RS),TB(yp),TB(hf),TB(ln),TB(Hv),TB(n_),TB(Rp),TB(Aw),TB(y_),TB(Xt),TB(y),TB(Dv),TB(U),TB(bh),TB(Ni),TB(is),TB(Yc),TB(ik),TB(t_),TB($l),TB(zg),TB(BE),TB(e)],Fct=[0,TB(Nt),TB(Sa),TB(Lk),TB(Au),TB(he),TB(yu),TB(JF),TB(ai),TB(No),TB(Ob),TB(HC),TB(jE),TB(jd),TB(xh),TB(tS),TB(ng),TB(mc),TB(br),TB(Ih),TB(Av),TB(g),TB(Pg),TB(qo),TB(sw),TB(ok),TB(gg),TB(wE),TB(pA),TB(ms),TB(Uh),TB(Mu),TB(qi),TB(ci),TB(P),TB(mF),TB(He),TB(gk),TB(XS),TB(nS),TB(sb),TB(Lv),TB(xk),TB(qh),TB(xf),TB(Sk),TB($o),TB(xt),TB(ar),TB(dE),TB(Sh),TB(By),TB(si),TB(pu),TB(ym),TB(Hm),TB(Qn),TB(vS),TB(bl),TB(fn),TB(eC),TB(yg),TB(ip),TB(TE),TB(ZS),TB(ii),TB(nh),TB(Uv),TB(xe),TB(fr),TB(Rw),TB(da),TB(zo),TB(SF),TB(nk),TB(zy),TB(hp),TB(Zy),TB(jv),TB(Ba),TB(pp),TB(Zp),TB(Ji),TB(Xp),TB(Ew),TB(gC),TB(vt),TB(bE),TB(Ol),TB(LS),TB(pn),TB(zw),TB(nd),TB(xd),TB(SC),TB(Fv),TB(Eb),TB(Zh),TB(RA),TB(jw),TB(jm),TB(wc),TB(HE),TB(Gt),TB(Y_),TB(_S),TB(So),TB($v),TB(cl),TB(Sd),TB(fe),TB($S),TB(Xh),TB(ay),TB(Et),TB(my),TB(pe),TB(bD),TB(Rg),TB(Kg),TB(Mo),TB(_E),TB(K_),TB($c),TB(wi),TB(m_),TB(pf),TB(Ln),TB(fb),TB(oe),TB(Jm),TB(su),TB(ev),TB(tk),TB(r_),TB(Dk),TB(VF),TB(Gg),TB(wg),TB(ny),TB(Qe),TB(dC),TB(Lg),TB(Mg),TB(ur),TB(Wi),TB(kt),TB(jC),TB(to),TB(Rr),TB(Kp),TB(Eo),TB(rv),TB(zf),TB(Pf),TB(er),TB(Bv),TB(Ym),TB(VS),TB(ut),TB(Pn),TB(c),TB(cB),TB(Yp),TB(_w),TB(Zr),TB(ju),TB(Gn),TB(u_),TB(hD),TB(sn),TB(gc),TB(mi),TB(MA),TB(fc),TB(AE),TB(mC),TB(Ph),TB(An),TB(fu),TB(Ea),TB(Bc),TB(Ok),TB(Xg),TB(oC),TB(ly),TB(zl),TB(Vt),TB(Hr),TB(vb),TB(bF),TB(yi),TB(us),TB(Di),TB(ue),TB(Jn),TB(De),TB(G_),TB(lo),TB(Jk),TB(rk),TB(nc),TB($F),TB(XC),TB(Un),TB(h_),TB(Qb),TB(Cm),TB(qu),TB(Mr),TB(ye),TB(wa),TB(El),TB(cf),TB(XA),TB(_v),TB(XD),TB(mn),TB(RS),TB(yp),TB(hf),TB(ln),TB(Hv),TB(n_),TB(Rp),TB(Aw),TB(y_),TB(Xt),TB(y),TB(Dv),TB(U),TB(bh),TB(Ni),TB(is),TB(Yc),TB(ik),TB(t_),TB($l),TB(zg),TB(BE),TB(e)],dct=TB(Wu),mct=TB(Ae),hct=[0,[11,TB("Failure while looking up "),[2,0,[11,TB(". Index: "),[4,0,0,0,[11,TB(". Length: "),[4,0,0,0,[12,46,0]]]]]]],TB("Failure while looking up %s. Index: %d. Length: %d.")],kct=[0,0,0,0],yct=TB("Offset_utils.Offset_lookup_failed"),Act=TB(KC),_ct=TB(Gl),Cct=TB(b_),wct=TB(Ad),Sct=TB(Ad),gct=TB(b_),Bct=TB(qr),Tct=TB(Ku),Ict=TB(Xm),Oct=TB(Xm),Nct=TB("Program"),xct=TB(rc),Lct=TB("BreakStatement"),Pct=TB(rc),Rct=TB("ContinueStatement"),Mct=TB("DebuggerStatement"),Gct=TB(PS),Uct=TB("DeclareExportAllDeclaration"),jct=TB(PS),Xct=TB(iB),Hct=TB(zu),$ct=TB(l_),Yct=TB("DeclareExportDeclaration"),Vct=TB($t),Kct=TB(Xm),Jct=TB(Ai),Wct=TB("DeclareModule"),qct=TB(vp),zct=TB("DeclareModuleExports"),Qct=TB(dk),Zct=TB(Xm),rft=TB("DoWhileStatement"),tft=TB("EmptyStatement"),eft=TB(p_),nft=TB(zu),uft=TB("ExportDefaultDeclaration"),aft=TB(p_),ift=TB(PS),cft=TB("ExportAllDeclaration"),fft=TB(p_),oft=TB(PS),sft=TB(iB),vft=TB(zu),lft=TB("ExportNamedDeclaration"),Dft=TB(F),pft=TB(ye),bft=TB("ExpressionStatement"),Eft=TB(Xm),Fft=TB(K),dft=TB(dk),mft=TB(kh),hft=TB("ForStatement"),kft=TB(Nv),yft=TB(Xm),Aft=TB(vu),_ft=TB(df),Cft=TB("ForInStatement"),wft=TB(lf),Sft=TB(Xm),gft=TB(vu),Bft=TB(df),Tft=TB("ForOfStatement"),Ift=TB(uF),Oft=TB(qp),Nft=TB(dk),xft=TB("IfStatement"),Lft=TB(qr),Pft=TB(Of),Rft=TB(WF),Mft=TB(Cp),Gft=TB(PS),Uft=TB(iB),jft=TB("ImportDeclaration"),Xft=TB(Xm),Hft=TB(rc),$ft=TB("LabeledStatement"),Yft=TB(A_),Vft=TB("ReturnStatement"),Kft=TB(Vd),Jft=TB("discriminant"),Wft=TB("SwitchStatement"),qft=TB(A_),zft=TB("ThrowStatement"),Qft=TB(Cv),Zft=TB(eu),rot=TB(y),tot=TB("TryStatement"),eot=TB(Xm),not=TB(dk),uot=TB("WhileStatement"),aot=TB(Xm),iot=TB(Hc),cot=TB("WithStatement"),fot=TB(gv),oot=TB("ArrayExpression"),sot=TB(Ra),vot=TB(dA),lot=TB(ye),Dot=TB(bl),pot=TB(VS),bot=TB(_A),Eot=TB(Xm),Fot=TB(_),dot=TB(Ai),mot=TB("ArrowFunctionExpression"),hot=TB("="),kot=TB(vu),yot=TB(df),Aot=TB(Zw),_ot=TB("AssignmentExpression"),Cot=TB(vu),wot=TB(df),Sot=TB(Zw),got=TB("BinaryExpression"),Bot=TB("CallExpression"),Tot=TB($e),Iot=TB(lk),Oot=TB("ComprehensionExpression"),Not=TB(uF),xot=TB(qp),Lot=TB(dk),Pot=TB("ConditionalExpression"),Rot=TB($e),Mot=TB(lk),Got=TB("GeneratorExpression"),Uot=TB(PS),jot=TB("ImportExpression"),Xot=TB("||"),Hot=TB("&&"),$ot=TB(a),Yot=TB(vu),Vot=TB(df),Kot=TB(Zw),Jot=TB("LogicalExpression"),Wot=TB("MemberExpression"),qot=TB(CC),zot=TB("meta"),Qot=TB("MetaProperty"),Zot=TB(Vu),rst=TB(xE),tst=TB(ll),est=TB("NewExpression"),nst=TB(Nu),ust=TB("ObjectExpression"),ast=TB(Al),ist=TB("OptionalCallExpression"),cst=TB(Al),fst=TB("OptionalMemberExpression"),ost=TB(ld),sst=TB("SequenceExpression"),vst=TB("Super"),lst=TB("ThisExpression"),Dst=TB(vp),pst=TB(ye),bst=TB("TypeCastExpression"),Est=TB(A_),Fst=TB("AwaitExpression"),dst=TB(kA),mst=TB(U_),hst=TB("!"),kst=TB("~"),yst=TB(Of),Ast=TB(cs),_st=TB(vk),Cst=TB("matched above"),wst=TB(A_),Sst=TB(xD),gst=TB(Zw),Bst=TB("UnaryExpression"),Tst=TB("--"),Ist=TB("++"),Ost=TB(xD),Nst=TB(A_),xst=TB(Zw),Lst=TB("UpdateExpression"),Pst=TB(Mk),Rst=TB(A_),Mst=TB("YieldExpression"),Gst=TB("Unexpected FunctionDeclaration with BodyExpression"),Ust=TB(Ra),jst=TB(dA),Xst=TB(ye),Hst=TB(bl),$st=TB(VS),Yst=TB(_A),Vst=TB(Xm),Kst=TB(_),Jst=TB(Ai),Wst=TB("FunctionDeclaration"),qst=TB("Unexpected FunctionExpression with BodyExpression"),zst=TB(Ra),Qst=TB(dA),Zst=TB(ye),rvt=TB(bl),tvt=TB(VS),evt=TB(_A),nvt=TB(Xm),uvt=TB(_),avt=TB(Ai),ivt=TB("FunctionExpression"),cvt=TB(Al),fvt=TB(vp),ovt=TB(el),svt=TB(f),vvt=TB(Ai),lvt=TB("PrivateName"),Dvt=TB(Al),pvt=TB(vp),bvt=TB(el),Evt=TB(f),Fvt=TB(qp),dvt=TB(dk),mvt=TB("SwitchCase"),hvt=TB(Xm),kvt=TB("param"),yvt=TB("CatchClause"),Avt=TB(Xm),_vt=TB("BlockStatement"),Cvt=TB(Ai),wvt=TB("DeclareVariable"),Svt=TB(bl),gvt=TB(Ai),Bvt=TB("DeclareFunction"),Tvt=TB(le),Ivt=TB(mt),Ovt=TB(wp),Nvt=TB(Xm),xvt=TB(Ra),Lvt=TB(Ai),Pvt=TB("DeclareClass"),Rvt=TB(wp),Mvt=TB(Xm),Gvt=TB(Ra),Uvt=TB(Ai),jvt=TB("DeclareInterface"),Xvt=TB(WF),Hvt=TB(qr),$vt=TB(qe),Yvt=TB("ExportNamespaceSpecifier"),Vvt=TB(vu),Kvt=TB(Ra),Jvt=TB(Ai),Wvt=TB("DeclareTypeAlias"),qvt=TB(vu),zvt=TB(Ra),Qvt=TB(Ai),Zvt=TB("TypeAlias"),rlt=TB("DeclareOpaqueType"),tlt=TB("OpaqueType"),elt=TB(FE),nlt=TB(kb),ult=TB(Ra),alt=TB(Ai),ilt=TB("ClassDeclaration"),clt=TB("ClassExpression"),flt=TB(H),olt=TB(mt),slt=TB("superTypeParameters"),vlt=TB("superClass"),llt=TB(Ra),Dlt=TB(Xm),plt=TB(Ai),blt=TB(ye),Elt=TB("Decorator"),Flt=TB(Ra),dlt=TB(Ai),mlt=TB("ClassImplements"),hlt=TB(Xm),klt=TB("ClassBody"),ylt=TB(Db),Alt=TB(rr),_lt=TB(Ke),Clt=TB(ou),wlt=TB(H),Slt=TB(di),glt=TB(Qu),Blt=TB($t),Tlt=TB(WF),Ilt=TB($g),Olt=TB("MethodDefinition"),Nlt=TB(re),xlt=TB(Xp),Llt=TB(Qu),Plt=TB(vp),Rlt=TB(WF),Mlt=TB($g),Glt=TB("ClassPrivateProperty"),Ult=TB("Internal Error: Private name found in class prop"),jlt=TB(re),Xlt=TB(Xp),Hlt=TB(Qu),$lt=TB(di),Ylt=TB(vp),Vlt=TB(WF),Klt=TB($g),Jlt=TB("ClassProperty"),Wlt=TB(Ai),qlt=TB(UE),zlt=TB(kh),Qlt=TB(Ai),Zlt=TB("EnumStringMember"),rDt=TB(Ai),tDt=TB(UE),eDt=TB(kh),nDt=TB(Ai),uDt=TB("EnumNumberMember"),aDt=TB(kh),iDt=TB(Ai),cDt=TB("EnumBooleanMember"),fDt=TB(es),oDt=TB(Ly),sDt=TB(rn),vDt=TB("EnumBooleanBody"),lDt=TB(es),DDt=TB(Ly),pDt=TB(rn),bDt=TB("EnumNumberBody"),EDt=TB(es),FDt=TB(Ly),dDt=TB(rn),mDt=TB("EnumStringBody"),hDt=TB(es),kDt=TB(rn),yDt=TB("EnumSymbolBody"),ADt=TB(Xm),_Dt=TB(Ai),CDt=TB("EnumDeclaration"),wDt=TB(wp),SDt=TB(Xm),gDt=TB(Ra),BDt=TB(Ai),TDt=TB("InterfaceDeclaration"),IDt=TB(Ra),ODt=TB(Ai),NDt=TB("InterfaceExtends"),xDt=TB(vp),LDt=TB(Nu),PDt=TB("ObjectPattern"),RDt=TB(vp),MDt=TB(gv),GDt=TB("ArrayPattern"),UDt=TB(vu),jDt=TB(df),XDt=TB(lh),HDt=TB(vp),$Dt=TB(el),YDt=TB(f),VDt=TB(A_),KDt=TB(tp),JDt=TB(A_),WDt=TB(tp),qDt=TB(vu),zDt=TB(df),QDt=TB(lh),ZDt=TB(kh),rpt=TB(kh),tpt=TB(Ke),ept=TB(ou),npt=TB(Ki),upt=TB(di),apt=TB(dy),ipt=TB(rr),cpt=TB($t),fpt=TB(WF),opt=TB($g),spt=TB(Ft),vpt=TB(A_),lpt=TB("SpreadProperty"),Dpt=TB(vu),ppt=TB(df),bpt=TB(lh),Ept=TB(di),Fpt=TB(dy),dpt=TB(rr),mpt=TB($t),hpt=TB(WF),kpt=TB($g),ypt=TB(Ft),Apt=TB(A_),_pt=TB("SpreadElement"),Cpt=TB(Nv),wpt=TB(vu),Spt=TB(df),gpt=TB("ComprehensionBlock"),Bpt=TB("We should not create Literal nodes for bigints"),Tpt=TB(UF),Ipt=TB(Kp),Opt=TB("regex"),Npt=TB(Tt),xpt=TB(WF),Lpt=TB(Tt),Ppt=TB(WF),Rpt=TB(IC),Mpt=TB(Tt),Gpt=TB(WF),Upt=TB(IC),jpt=TB(qd),Xpt=TB(WF),Hpt=TB("BigIntLiteral"),$pt=TB(Tt),Ypt=TB(WF),Vpt=TB(IC),Kpt=TB(Gk),Jpt=TB(Xa),Wpt=TB(Tt),qpt=TB(WF),zpt=TB(IC),Qpt=TB(ld),Zpt=TB("quasis"),rbt=TB("TemplateLiteral"),tbt=TB(k_),ebt=TB(Tt),nbt=TB(Yr),ubt=TB(WF),abt=TB("TemplateElement"),ibt=TB(rA),cbt=TB("tag"),fbt=TB("TaggedTemplateExpression"),obt=TB(mb),sbt=TB(ss),vbt=TB(Ma),lbt=TB($t),Dbt=TB("declarations"),pbt=TB("VariableDeclaration"),bbt=TB(kh),Ebt=TB(Ai),Fbt=TB("VariableDeclarator"),dbt=TB($t),mbt=TB("Variance"),hbt=TB("AnyTypeAnnotation"),kbt=TB("MixedTypeAnnotation"),ybt=TB("EmptyTypeAnnotation"),Abt=TB("VoidTypeAnnotation"),_bt=TB("NullLiteralTypeAnnotation"),Cbt=TB("SymbolTypeAnnotation"),wbt=TB("NumberTypeAnnotation"),Sbt=TB("BigIntTypeAnnotation"),gbt=TB("StringTypeAnnotation"),Bbt=TB("BooleanTypeAnnotation"),Tbt=TB(vp),Ibt=TB("NullableTypeAnnotation"),Obt=TB(Ra),Nbt=TB(Ca),xbt=TB(dA),Lbt=TB(hE),Pbt=TB(_),Rbt=TB("FunctionTypeAnnotation"),Mbt=TB(Al),Gbt=TB(vp),Ubt=TB(el),jbt=TB(tl),Xbt=TB(Al),Hbt=TB(vp),$bt=TB(el),Ybt=TB(tl),Vbt=[0,0,0,0,0],Kbt=TB("internalSlots"),Jbt=TB("callProperties"),Wbt=TB("indexers"),qbt=TB(Nu),zbt=TB("exact"),Qbt=TB(J_),Zbt=TB("ObjectTypeAnnotation"),rEt=TB(Ki),tEt=TB("There should not be computed object type property keys"),eEt=TB(kh),nEt=TB(Ke),uEt=TB(ou),aEt=TB($t),iEt=TB(Xp),cEt=TB(Ch),fEt=TB(Qu),oEt=TB(Al),sEt=TB(rr),vEt=TB(WF),lEt=TB($g),DEt=TB("ObjectTypeProperty"),pEt=TB(A_),bEt=TB("ObjectTypeSpreadProperty"),EEt=TB(Xp),FEt=TB(Qu),dEt=TB(WF),mEt=TB($g),hEt=TB(Ai),kEt=TB("ObjectTypeIndexer"),yEt=TB(Qu),AEt=TB(WF),_Et=TB("ObjectTypeCallProperty"),CEt=TB(WF),wEt=TB(rr),SEt=TB(Qu),gEt=TB(Al),BEt=TB(Ai),TEt=TB("ObjectTypeInternalSlot"),IEt=TB(Xm),OEt=TB(wp),NEt=TB("InterfaceTypeAnnotation"),xEt=TB("elementType"),LEt=TB("ArrayTypeAnnotation"),PEt=TB(Ai),REt=TB("qualification"),MEt=TB("QualifiedTypeIdentifier"),GEt=TB(Ra),UEt=TB(Ai),jEt=TB("GenericTypeAnnotation"),XEt=TB("indexType"),HEt=TB("objectType"),$Et=TB("IndexedAccessType"),YEt=TB(Al),VEt=TB("OptionalIndexedAccessType"),KEt=TB(lS),JEt=TB("UnionTypeAnnotation"),WEt=TB(lS),qEt=TB("IntersectionTypeAnnotation"),zEt=TB(A_),QEt=TB("TypeofTypeAnnotation"),ZEt=TB(lS),rFt=TB("TupleTypeAnnotation"),tFt=TB(Tt),eFt=TB(WF),nFt=TB("StringLiteralTypeAnnotation"),uFt=TB(Tt),aFt=TB(WF),iFt=TB("NumberLiteralTypeAnnotation"),cFt=TB(Tt),fFt=TB(WF),oFt=TB("BigIntLiteralTypeAnnotation"),sFt=TB(Gk),vFt=TB(Xa),lFt=TB(Tt),DFt=TB(WF),pFt=TB("BooleanLiteralTypeAnnotation"),bFt=TB("ExistsTypeAnnotation"),EFt=TB(vp),FFt=TB("TypeAnnotation"),dFt=TB(_),mFt=TB("TypeParameterDeclaration"),hFt=TB(l_),kFt=TB(Xp),yFt=TB(In),AFt=TB(el),_Ft=TB("TypeParameter"),CFt=TB(_),wFt=TB(_s),SFt=TB(_),gFt=TB(_s),BFt=TB(li),TFt=TB(i),IFt=TB("closingElement"),OFt=TB("openingElement"),NFt=TB("JSXElement"),xFt=TB("closingFragment"),LFt=TB(i),PFt=TB("openingFragment"),RFt=TB("JSXFragment"),MFt=TB("selfClosing"),GFt=TB(vy),UFt=TB(el),jFt=TB("JSXOpeningElement"),XFt=TB("JSXOpeningFragment"),HFt=TB(el),$Ft=TB("JSXClosingElement"),YFt=TB("JSXClosingFragment"),VFt=TB(WF),KFt=TB(el),JFt=TB("JSXAttribute"),WFt=TB(A_),qFt=TB("JSXSpreadAttribute"),zFt=TB("JSXEmptyExpression"),QFt=TB(ye),ZFt=TB("JSXExpressionContainer"),rdt=TB(ye),tdt=TB("JSXSpreadChild"),edt=TB(Tt),ndt=TB(WF),udt=TB("JSXText"),adt=TB(CC),idt=TB(Hc),cdt=TB("JSXMemberExpression"),fdt=TB(el),odt=TB("namespace"),sdt=TB("JSXNamespacedName"),vdt=TB(el),ldt=TB("JSXIdentifier"),Ddt=TB(qe),pdt=TB(zs),bdt=TB("ExportSpecifier"),Edt=TB(zs),Fdt=TB("ImportDefaultSpecifier"),ddt=TB(zs),mdt=TB("ImportNamespaceSpecifier"),hdt=TB(Cp),kdt=TB(zs),ydt=TB("imported"),Adt=TB("ImportSpecifier"),_dt=TB("Line"),Cdt=TB("Block"),wdt=TB(WF),Sdt=TB(WF),gdt=TB("DeclaredPredicate"),Bdt=TB("InferredPredicate"),Tdt=TB(Vu),Idt=TB(xE),Odt=TB(ll),Ndt=TB(di),xdt=TB(CC),Ldt=TB(Hc),Pdt=TB("message"),Rdt=TB(Gl),Mdt=TB("end"),Gdt=TB(I),Udt=TB(PS),jdt=TB(Ae),Xdt=TB(Wu),Hdt=TB(xs),$dt=TB(nm),Ydt=TB(Vf),Vdt=TB(vo),Kdt=TB(Qe),Jdt=TB(jE),Wdt=TB(hE),qdt=TB(ur),zdt=TB(it),Qdt=TB(mb),Zdt=TB(gw),rmt=TB(Qs),tmt=TB(Ma),emt=TB(ss),nmt=TB(fd),umt=TB(Xa),amt=TB(Gk),imt=TB(Yc),cmt=TB(xA),fmt=TB(jy),omt=TB(XD),smt=TB(l_),vmt=TB(Lr),lmt=TB(Il),Dmt=TB(KS),pmt=TB(MD),bmt=TB(wp),Emt=TB(Qu),Fmt=TB(Bu),dmt=TB(Ws),mmt=TB(vk),hmt=TB(Of),kmt=TB(cs),ymt=TB(Xf),Amt=TB(vF),_mt=TB(ny),Cmt=TB(Jf),wmt=TB(mt),Smt=TB(t_),gmt=TB(jr),Bmt=TB(Dt),Tmt=TB(Jy),Imt=TB($A),Omt=TB(Eb),Nmt=TB(Wi),xmt=TB(re),Lmt=TB(qr),Pmt=TB(Ge),Rmt=TB("of"),Mmt=TB(_A),Gmt=TB(lf),Umt=TB(ry),jmt=TB(eD),Xmt=TB(xd),Hmt=TB(Ss),$mt=TB(qd),Ymt=TB(mk),Vmt=TB(cs),Kmt=TB(Na),Jmt=TB(me),Wmt=TB(s_),qmt=[0,TB(hd)],zmt=TB(D_),Qmt=[8,0],Zmt=TB(D_),rht=[0,1],tht=[0,2],eht=[0,3],nht=[0,0],uht=[0,0],aht=[0,0,0,0,0],iht=[0,TB(At),850,6],cht=[0,TB(At),853,6],fht=[0,TB(At),956,8],oht=TB(Ch),sht=[0,TB(At),973,8],vht=TB("Can not have both `static` and `proto`"),lht=TB(Qu),Dht=TB(Ch),pht=TB(Ke),bht=TB(ou),Eht=TB(Ke),Fht=TB(Db),dht=TB(Gi),mht=[0,0,0,0],hht=[0,[0,0,0,0,0]],kht=TB(hE),yht=[0,0],Aht=[15,1],_ht=[15,0],Cht=[0,TB(At),138,15],wht=[0,TB(At),Sm,15],Sht=[0,43],ght=[0,43],Bht=[0,0,0],Tht=[0,0,0],Iht=[0,0,0],Oht=[0,41],Nht=TB(ds),xht=TB(ds),Lht=[0,TB(un),1495,13],Pht=[0,TB(un),1261,17],Rht=[0,TB("a template literal part")],Mht=[0,[0,TB(D_),TB(D_)],1],Ght=TB(fd),Uht=TB(fd),jht=TB(Gk),Xht=TB(Xa),Hht=TB("Invalid bigint "),$ht=TB("Invalid bigint binary/octal "),Yht=TB(yb),Vht=TB(If),Kht=TB(Eu),Jht=TB(Eu),Wht=TB(Br),qht=[0,43],zht=[0,1],Qht=[0,1],Zht=[0,1],rkt=[0,1],tkt=[0,0],ekt=TB(li),nkt=TB(li),ukt=TB(Ws),akt=TB(Fb),ikt=[0,TB("the identifier `target`")],ckt=[0,0],fkt=[0,80],okt=[0,0,0],skt=[0,1,0],vkt=[0,1,1],lkt=TB(Jf),Dkt=[0,0],pkt=[0,TB("either a call or access of `super`")],bkt=TB(Jf),Ekt=[0,0],Fkt=[0,1],dkt=[0,0],mkt=[0,1],hkt=[0,0],kkt=[0,1],ykt=[0,0],Akt=[0,2],_kt=[0,3],Ckt=[0,7],wkt=[0,6],Skt=[0,4],gkt=[0,5],Bkt=[0,[0,17,[0,2]]],Tkt=[0,[0,18,[0,3]]],Ikt=[0,[0,19,[0,4]]],Okt=[0,[0,0,[0,5]]],Nkt=[0,[0,1,[0,5]]],xkt=[0,[0,2,[0,5]]],Lkt=[0,[0,3,[0,5]]],Pkt=[0,[0,5,[0,6]]],Rkt=[0,[0,7,[0,6]]],Mkt=[0,[0,4,[0,6]]],Gkt=[0,[0,6,[0,6]]],Ukt=[0,[0,8,[0,7]]],jkt=[0,[0,9,[0,7]]],Xkt=[0,[0,10,[0,7]]],Hkt=[0,[0,11,[0,8]]],$kt=[0,[0,12,[0,8]]],Ykt=[0,[0,15,[0,9]]],Vkt=[0,[0,13,[0,9]]],Kkt=[0,[0,14,[1,10]]],Jkt=[0,[0,16,[0,9]]],Wkt=[0,[0,21,[0,6]]],qkt=[0,[0,20,[0,6]]],zkt=[24,TB(a)],Qkt=[0,[0,8]],Zkt=[0,[0,7]],ryt=[0,[0,6]],tyt=[0,[0,10]],eyt=[0,[0,9]],nyt=[0,[0,11]],uyt=[0,[0,5]],ayt=[0,[0,4]],iyt=[0,[0,2]],cyt=[0,[0,3]],fyt=[0,[0,1]],oyt=[0,[0,0]],syt=[0,0],vyt=TB(Ws),lyt=TB(Fb),Dyt=[0,5],pyt=TB(_A),byt=TB(Ws),Eyt=TB(Fb),Fyt=TB(wk),dyt=TB(pF),myt=[18,TB("JSX fragment")],hyt=[0,vn],kyt=[1,vn],yyt=TB(D_),Ayt=[0,TB(D_)],_yt=[0,TB(hd)],Cyt=TB(D_),wyt=TB("unexpected PrivateName in Property, expected a PrivateField"),Syt=TB(Db),gyt=TB(Gi),Byt=[0,0,0],Tyt=TB(Db),Iyt=TB(Db),Oyt=TB(Ke),Nyt=TB(ou),xyt=[0,1],Lyt=[0,1],Pyt=[0,1],Ryt=TB(Db),Myt=TB(Ke),Gyt=TB(ou),Uyt=TB("="),jyt=TB(Eb),Xyt=TB(lf),Hyt=TB("Internal Error: private name found in object props"),$yt=TB(Ng),Yyt=[0,TB(hd)],Vyt=TB(Eb),Kyt=TB(lf),Jyt=TB(Eb),Wyt=TB(lf),qyt=TB(Ng),zyt=[11,TB(gg)],Qyt=[0,1],Zyt=TB(Rk),rAt=TB(Bm),tAt=[0,TB(rE),1723,21],eAt=TB(Rk),nAt=TB(l_),uAt=TB("other than an interface declaration!"),aAt=TB("Internal Flow Error! Parsed `export interface` into something "),iAt=TB(Bm),cAt=TB("Internal Flow Error! Unexpected export statement declaration!"),fAt=[0,40],oAt=TB(Rk),sAt=TB(Bm),vAt=[0,TB(D_),TB(D_),0],lAt=[0,TB(Le)],DAt=TB(at),pAt=TB("exports"),bAt=[0,1],EAt=TB(at),FAt=[0,1],dAt=TB(le),mAt=[0,0],hAt=[0,1],kAt=[0,83],yAt=[0,0],AAt=[0,1],_At=TB(Rk),CAt=TB(Rk),wAt=TB(Bm),SAt=TB(Rk),gAt=[0,TB("the keyword `as`")],BAt=TB(Rk),TAt=TB(Bm),IAt=[0,TB(Le)],OAt=[0,TB("the keyword `from`")],NAt=[0,TB(D_),TB(D_),0],xAt=TB("Parser error: No such thing as an expression pattern!"),LAt=[0,TB(M)],PAt=TB("Label"),RAt=[0,TB(M)],MAt=[0,0,0],GAt=[0,29],UAt=[0,TB(rE),419,22],jAt=[0,28],XAt=[0,TB(rE),438,22],HAt=[0,0],$At=TB("the token `;`"),YAt=[0,0],VAt=[0,0],KAt=TB(lf),JAt=TB(ss),WAt=TB(Eb),qAt=[0,TB(Iu)],zAt=[15,[0,0]],QAt=[0,TB(Iu)],ZAt=TB("use strict"),r_t=[0,0,0],t_t=TB("\n"),e_t=TB("Nooo: "),n_t=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],u_t=[0,TB("src/parser/parser_flow.ml"),42,28],a_t=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],i_t=TB(WF),c_t=TB(KC),f_t=TB(Ae),o_t=TB(Wu),s_t=TB("end"),v_t=TB(Ae),l_t=TB(Wu),D_t=TB(I),p_t=TB(Gl),b_t=TB("normal"),E_t=TB(qr),F_t=TB("jsxTag"),d_t=TB("jsxChild"),m_t=TB("template"),h_t=TB(Fl),k_t=TB("context"),y_t=TB(qr),A_t=TB("use_strict"),__t=TB(lS),C_t=TB("esproposal_optional_chaining"),w_t=TB("esproposal_nullish_coalescing"),S_t=TB("esproposal_export_star_as"),g_t=TB("esproposal_decorators"),B_t=TB("esproposal_class_static_fields"),T_t=TB("esproposal_class_instance_fields"),I_t=TB("enums"),O_t=TB("Internal error: ");function N_t(r){if("number"==typeof r)return 0;switch(r[0]){case 0:return[0,N_t(r[1])];case 1:return[1,N_t(r[1])];case 2:return[2,N_t(r[1])];case 3:return[3,N_t(r[1])];case 4:return[4,N_t(r[1])];case 5:return[5,N_t(r[1])];case 6:return[6,N_t(r[1])];case 7:return[7,N_t(r[1])];case 8:return[8,r[1],N_t(r[2])];case 9:var t=r[1];return[9,t,t,N_t(r[3])];case 10:return[10,N_t(r[1])];case 11:return[11,N_t(r[1])];case 12:return[12,N_t(r[1])];case 13:return[13,N_t(r[1])];default:return[14,N_t(r[1])]}}function x_t(r,t){if("number"==typeof r)return t;switch(r[0]){case 0:return[0,x_t(r[1],t)];case 1:return[1,x_t(r[1],t)];case 2:return[2,x_t(r[1],t)];case 3:return[3,x_t(r[1],t)];case 4:return[4,x_t(r[1],t)];case 5:return[5,x_t(r[1],t)];case 6:return[6,x_t(r[1],t)];case 7:return[7,x_t(r[1],t)];case 8:return[8,r[1],x_t(r[2],t)];case 9:var e=r[2];return[9,r[1],e,x_t(r[3],t)];case 10:return[10,x_t(r[1],t)];case 11:return[11,x_t(r[1],t)];case 12:return[12,x_t(r[1],t)];case 13:return[13,x_t(r[1],t)];default:return[14,x_t(r[1],t)]}}function L_t(r,t){if("number"==typeof r)return t;switch(r[0]){case 0:return[0,L_t(r[1],t)];case 1:return[1,L_t(r[1],t)];case 2:return[2,r[1],L_t(r[2],t)];case 3:return[3,r[1],L_t(r[2],t)];case 4:var e=r[3],n=r[2];return[4,r[1],n,e,L_t(r[4],t)];case 5:var u=r[3],a=r[2];return[5,r[1],a,u,L_t(r[4],t)];case 6:var i=r[3],c=r[2];return[6,r[1],c,i,L_t(r[4],t)];case 7:var f=r[3],o=r[2];return[7,r[1],o,f,L_t(r[4],t)];case 8:var s=r[3],v=r[2];return[8,r[1],v,s,L_t(r[4],t)];case 9:return[9,r[1],L_t(r[2],t)];case 10:return[10,L_t(r[1],t)];case 11:return[11,r[1],L_t(r[2],t)];case 12:return[12,r[1],L_t(r[2],t)];case 13:var l=r[2];return[13,r[1],l,L_t(r[3],t)];case 14:var D=r[2];return[14,r[1],D,L_t(r[3],t)];case 15:return[15,L_t(r[1],t)];case 16:return[16,L_t(r[1],t)];case 17:return[17,r[1],L_t(r[2],t)];case 18:return[18,r[1],L_t(r[2],t)];case 19:return[19,L_t(r[1],t)];case 20:var p=r[2];return[20,r[1],p,L_t(r[3],t)];case 21:return[21,r[1],L_t(r[2],t)];case 22:return[22,L_t(r[1],t)];case 23:return[23,r[1],L_t(r[2],t)];default:var b=r[2];return[24,r[1],b,L_t(r[3],t)]}}function P_t(r){throw[0,GI,r]}function R_t(r){throw[0,UI,r]}function M_t(r){return 0<=r?r:0|-r}NT();function G_t(r,t){var e=HT(r),n=HT(t),u=CT(e+n|0);return AB(r,0,u,0,e),AB(t,0,u,e,n),u}function U_t(r){return r?iO:cO}function j_t(r,t){return r?[0,r[1],j_t(r[2],t)]:t}!function(r){var t=dB.fds[r];t.flags.wronly&&aI("fd "+r+" is writeonly");var e={file:t.file,offset:t.offset,fd:r,opened:!0,out:!1,refill:null};iI[e.fd]=e}(0);var X_t=FI(1),H_t=FI(2),$_t=[0,function(r){return function(r){for(var t=r;;){if(!t)return 0;var e=t[2],n=t[1];try{cI(n)}catch(t){if((t=II(t))[1]!==MI)throw t}t=e}}(function(){for(var r=0,t=0;t0)if(0==t&&(e>=r.l||2==r.t&&e>=r.c.length))0==n?(r.c=D_,r.t=2):(r.c=_B(e,String.fromCharCode(n)),r.t=e==r.l?0:2);else for(4!=r.t&&kB(r),e+=t;t=1;a--)e[n+a]=r[t+a];return 0}(r,t,e,n,u):R_t(_O)}function CCt(r,t){var e=t.length-1-1|0;if(!(e<0))for(var n=0;;){OI(r,t[1+n]);var u=n+1|0;if(e===n)break;n=u}return 0}function wCt(r,t){var e=t.length-1;if(0===e)return[0];var n=uI(e,OI(r,t[1])),u=e-1|0;if(!(u<1))for(var a=1;;){n[1+a]=OI(r,t[1+a]);var i=a+1|0;if(u===a)break;a=i}return n}function SCt(r){if(r)for(var t=0,e=r,n=r[2],u=r[1];;)if(e)t=t+1|0,e=e[2];else for(var a=uI(t,u),i=1,c=n;;){if(!c)return a;var f=c[2];a[1+i]=c[1];i=i+1|0,c=f}return[0]}function gCt(r){function t(r){return r?r[4]:0}function e(r,t,e){var n=r?r[4]:0,u=e?e[4]:0;return[0,r,t,e,u<=n?n+1|0:u+1|0]}function n(r,n,u){var a=r?r[4]:0,i=u?u[4]:0;if((i+2|0)>1,h=DCt(m,t),k=b(m,t),y=b(r-m|0,h),A=0;;){if(k){if(y){var _=y[2],C=y[1],w=k[2],S=k[1],g=NI(D,S,C);if(0===g){k=w,y=_,A=[0,S,A];continue}if(0<=g){y=_,A=[0,C,A];continue}k=w,A=[0,S,A];continue}return eCt(k,A)}return eCt(y,A)}},b=function(r,t){if(2===r){if(t){var e=t[2];if(e){var n=e[1],u=t[1],a=NI(D,u,n);return 0===a?[0,u,0]:0<=a?[0,n,[0,u,0]]:[0,u,[0,n,0]]}}}else if(3===r&&t){var i=t[2];if(i){var c=i[2];if(c){var f=c[1],o=i[1],s=t[1],v=NI(D,s,o);if(0===v){var l=NI(D,o,f);return 0===l?[0,o,0]:0<=l?[0,f,[0,o,0]]:[0,o,[0,f,0]]}if(0<=v){var b=NI(D,s,f);if(0===b)return[0,o,[0,s,0]];if(0<=b){var E=NI(D,o,f);return 0===E?[0,o,[0,s,0]]:0<=E?[0,f,[0,o,[0,s,0]]]:[0,o,[0,f,[0,s,0]]]}return[0,o,[0,s,[0,f,0]]]}var F=NI(D,o,f);if(0===F)return[0,s,[0,o,0]];if(0<=F){var d=NI(D,s,f);return 0===d?[0,s,[0,o,0]]:0<=d?[0,f,[0,s,[0,o,0]]]:[0,s,[0,f,[0,o,0]]]}return[0,s,[0,o,[0,f,0]]]}}}for(var m=r>>1,h=DCt(m,t),k=p(m,t),y=p(r-m|0,h),A=0;;){if(k){if(y){var _=y[2],C=y[1],w=k[2],S=k[1],g=NI(D,S,C);if(0===g){k=w,y=_,A=[0,S,A];continue}if(0>>0))switch(r){case 0:return[0,0,t];case 1:if(t)return[0,[0,0,t[1],0,1],t[2]];break;case 2:if(t){var n=t[2];if(n)return[0,[0,[0,0,t[1],0,1],n[1],0,2],n[2]]}break;default:if(t){var u=t[2];if(u){var a=u[2];if(a)return[0,[0,[0,0,t[1],0,1],u[1],[0,0,a[1],0,1],2],a[2]]}}}var i=r/2|0,c=d(i,t),f=c[2],o=c[1];if(f){var s=f[1],v=d((r-i|0)-1|0,f[2]),l=v[2];return[0,e(o,s,v[1]),l]}throw[0,$I,TO]};return d(Z_t(F),F)[1]}return u(v[1],u(l,u(s,u(f,a(i)))))}return u(l,u(s,u(f,a(i))))}return u(s,u(f,a(i)))}return u(f,a(i))}return a(i)}return 0},function(t,e){for(var n=e,u=0;;){if(n){var a=n[3],i=n[2],c=n[1],f=NI(r[1],i,t);if(0!==f){if(0<=f){n=c,u=[0,i,a,u];continue}n=a;continue}var o=[0,i,a,u]}else o=u;return function(r){return k(o)}}},function(r){var t=F(r,0);return function(r){return k(t)}},h,function(r){return h(r,0)}]}function BCt(r){function t(r){return r?r[5]:0}function e(r,e,n,u){var a=t(r),i=t(u);return[0,r,e,n,u,i<=a?a+1|0:i+1|0]}function n(r,t){return[0,0,r,t,0,1]}function u(r,n,u,a){var i=r?r[5]:0,c=a?a[5]:0;if((c+2|0)=0)}(a,n)?a:n);dCt(r[2],0,i,0,e),r[2]=i;var c=0}else c=u;return c}function YCt(r,t){return $Ct(r,1),LB(r[2],r[1],t),r[1]=r[1]+1|0,0}function VCt(r,t){var e=HT(t);return $Ct(r,e),mCt(t,0,r[2],r[1],e),r[1]=r[1]+e|0,0}function KCt(r){return FCt(r[2],0,r[1])}function JCt(r,t){for(var e=t;;){if("number"==typeof e)return 0;switch(e[0]){case 0:var n=e[1];VCt(r,WO);e=n;continue;case 1:var u=e[1];VCt(r,qO);e=u;continue;case 2:var a=e[1];VCt(r,zO);e=a;continue;case 3:var i=e[1];VCt(r,QO);e=i;continue;case 4:var c=e[1];VCt(r,ZO);e=c;continue;case 5:var f=e[1];VCt(r,rN);e=f;continue;case 6:var o=e[1];VCt(r,tN);e=o;continue;case 7:var s=e[1];VCt(r,eN);e=s;continue;case 8:var v=e[2],l=e[1];VCt(r,nN),JCt(r,l),VCt(r,uN);e=v;continue;case 9:var D=e[3],p=e[1];VCt(r,aN),JCt(r,p),VCt(r,iN);e=D;continue;case 10:var b=e[1];VCt(r,cN);e=b;continue;case 11:var E=e[1];VCt(r,fN);e=E;continue;case 12:var F=e[1];VCt(r,oN);e=F;continue;case 13:var d=e[1];VCt(r,sN);e=d;continue;default:var m=e[1];VCt(r,vN);e=m;continue}}}function WCt(r){if("number"==typeof r)return 0;switch(r[0]){case 0:return[0,WCt(r[1])];case 1:return[1,WCt(r[1])];case 2:return[2,WCt(r[1])];case 3:return[3,WCt(r[1])];case 4:return[4,WCt(r[1])];case 5:return[5,WCt(r[1])];case 6:return[6,WCt(r[1])];case 7:return[7,WCt(r[1])];case 8:return[8,r[1],WCt(r[2])];case 9:return[9,r[2],r[1],WCt(r[3])];case 10:return[10,WCt(r[1])];case 11:return[11,WCt(r[1])];case 12:return[12,WCt(r[1])];case 13:return[13,WCt(r[1])];default:return[14,WCt(r[1])]}}function qCt(r){if("number"==typeof r){return[0,function(r){return 0},function(r){return 0},function(r){return 0},function(r){return 0}]}switch(r[0]){case 0:var t=qCt(r[1]),e=t[4],n=t[3],u=t[2],a=t[1];return[0,function(r){return OI(a,0),0},function(r){return OI(u,0),0},n,e];case 1:var i=qCt(r[1]),c=i[4],f=i[3],o=i[2],s=i[1];return[0,function(r){return OI(s,0),0},function(r){return OI(o,0),0},f,c];case 2:var v=qCt(r[1]),l=v[4],D=v[3],p=v[2],b=v[1];return[0,function(r){return OI(b,0),0},function(r){return OI(p,0),0},D,l];case 3:var E=qCt(r[1]),F=E[4],d=E[3],m=E[2],h=E[1];return[0,function(r){return OI(h,0),0},function(r){return OI(m,0),0},d,F];case 4:var k=qCt(r[1]),y=k[4],A=k[3],_=k[2],C=k[1];return[0,function(r){return OI(C,0),0},function(r){return OI(_,0),0},A,y];case 5:var w=qCt(r[1]),S=w[4],g=w[3],B=w[2],T=w[1];return[0,function(r){return OI(T,0),0},function(r){return OI(B,0),0},g,S];case 6:var I=qCt(r[1]),O=I[4],N=I[3],x=I[2],L=I[1];return[0,function(r){return OI(L,0),0},function(r){return OI(x,0),0},N,O];case 7:var P=qCt(r[1]),R=P[4],M=P[3],G=P[2],U=P[1];return[0,function(r){return OI(U,0),0},function(r){return OI(G,0),0},M,R];case 8:var j=qCt(r[2]),X=j[4],H=j[3],$=j[2],Y=j[1];return[0,function(r){return OI(Y,0),0},function(r){return OI($,0),0},H,X];case 9:var V=r[2],K=r[1],J=qCt(r[3]),W=J[4],q=J[3],z=J[2],Q=J[1],Z=qCt(zCt(WCt(K),V)),rr=Z[4],tr=Z[3],er=Z[2],nr=Z[1];return[0,function(r){return OI(Q,0),OI(nr,0),0},function(r){return OI(er,0),OI(z,0),0},function(r){return OI(q,0),OI(tr,0),0},function(r){return OI(rr,0),OI(W,0),0}];case 10:var ur=qCt(r[1]),ar=ur[4],ir=ur[3],cr=ur[2],fr=ur[1];return[0,function(r){return OI(fr,0),0},function(r){return OI(cr,0),0},ir,ar];case 11:var or=qCt(r[1]),sr=or[4],vr=or[3],lr=or[2],Dr=or[1];return[0,function(r){return OI(Dr,0),0},function(r){return OI(lr,0),0},vr,sr];case 12:var pr=qCt(r[1]),br=pr[4],Er=pr[3],Fr=pr[2],dr=pr[1];return[0,function(r){return OI(dr,0),0},function(r){return OI(Fr,0),0},Er,br];case 13:var mr=qCt(r[1]),hr=mr[4],kr=mr[3],yr=mr[2],Ar=mr[1];return[0,function(r){return OI(Ar,0),0},function(r){return OI(yr,0),0},function(r){return OI(kr,0),0},function(r){return OI(hr,0),0}];default:var _r=qCt(r[1]),Cr=_r[4],wr=_r[3],Sr=_r[2],gr=_r[1];return[0,function(r){return OI(gr,0),0},function(r){return OI(Sr,0),0},function(r){return OI(wr,0),0},function(r){return OI(Cr,0),0}]}}function zCt(r,t){var e=0;if("number"==typeof r){if("number"==typeof t)return 0;switch(t[0]){case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;case 8:e=5;break;case 9:e=6;break;default:throw[0,$I,lN]}}else switch(r[0]){case 0:var n=0,u=r[1];if("number"!=typeof t)switch(t[0]){case 0:return[0,zCt(u,t[1])];case 8:e=5,n=1;break;case 9:e=6,n=1;break;case 10:n=1;break;case 11:e=1,n=1;break;case 12:e=2,n=1;break;case 13:e=3,n=1;break;case 14:e=4,n=1}n||(e=7);break;case 1:var a=0,i=r[1];if("number"!=typeof t)switch(t[0]){case 1:return[1,zCt(i,t[1])];case 8:e=5,a=1;break;case 9:e=6,a=1;break;case 10:a=1;break;case 11:e=1,a=1;break;case 12:e=2,a=1;break;case 13:e=3,a=1;break;case 14:e=4,a=1}a||(e=7);break;case 2:var c=0,f=r[1];if("number"==typeof t)c=1;else switch(t[0]){case 2:return[2,zCt(f,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:c=1}c&&(e=7);break;case 3:var o=0,s=r[1];if("number"==typeof t)o=1;else switch(t[0]){case 3:return[3,zCt(s,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:o=1}o&&(e=7);break;case 4:var v=0,l=r[1];if("number"==typeof t)v=1;else switch(t[0]){case 4:return[4,zCt(l,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:v=1}v&&(e=7);break;case 5:var D=0,p=r[1];if("number"==typeof t)D=1;else switch(t[0]){case 5:return[5,zCt(p,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:D=1}D&&(e=7);break;case 6:var b=0,E=r[1];if("number"==typeof t)b=1;else switch(t[0]){case 6:return[6,zCt(E,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:b=1}b&&(e=7);break;case 7:var F=0,d=r[1];if("number"==typeof t)F=1;else switch(t[0]){case 7:return[7,zCt(d,t[1])];case 8:e=5;break;case 9:e=6;break;case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:F=1}F&&(e=7);break;case 8:var m=0,h=r[2],k=r[1];if("number"==typeof t)m=1;else switch(t[0]){case 8:var y=t[1],A=zCt(h,t[2]);return[8,zCt(k,y),A];case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:m=1}if(m)throw[0,$I,AN];break;case 9:var _=0,C=r[3],w=r[2],S=r[1];if("number"==typeof t)_=1;else switch(t[0]){case 8:e=5;break;case 9:var g=t[3],B=t[2],T=t[1],I=qCt(zCt(WCt(w),T)),O=I[4];return OI(I[2],0),OI(O,0),[9,S,B,zCt(C,g)];case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:e=4;break;default:_=1}if(_)throw[0,$I,CN];break;case 10:var N=r[1];if("number"!=typeof t&&10===t[0])return[10,zCt(N,t[1])];throw[0,$I,DN];case 11:var x=0,L=r[1];if("number"==typeof t)x=1;else switch(t[0]){case 10:break;case 11:return[11,zCt(L,t[1])];default:x=1}if(x)throw[0,$I,bN];break;case 12:var P=0,R=r[1];if("number"==typeof t)P=1;else switch(t[0]){case 10:break;case 11:e=1;break;case 12:return[12,zCt(R,t[1])];default:P=1}if(P)throw[0,$I,FN];break;case 13:var M=0,G=r[1];if("number"==typeof t)M=1;else switch(t[0]){case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:return[13,zCt(G,t[1])];default:M=1}if(M)throw[0,$I,mN];break;default:var U=0,j=r[1];if("number"==typeof t)U=1;else switch(t[0]){case 10:break;case 11:e=1;break;case 12:e=2;break;case 13:e=3;break;case 14:return[14,zCt(j,t[1])];default:U=1}if(U)throw[0,$I,kN]}switch(e){case 0:throw[0,$I,pN];case 1:throw[0,$I,EN];case 2:throw[0,$I,dN];case 3:throw[0,$I,hN];case 4:throw[0,$I,yN];case 5:throw[0,$I,_N];case 6:throw[0,$I,wN];default:throw[0,$I,SN]}}NT(),NT(),NT();var QCt=[_c,eL,NT()];function ZCt(r,t){if("number"==typeof r)return[0,0,t];if(0===r[0])return[0,[0,r[1],r[2]],t];if("number"!=typeof t&&2===t[0])return[0,[1,r[1]],t[1]];throw QCt}function rwt(r,t,e){var n=ZCt(r,e);if("number"==typeof t){if(0===t)return[0,n[1],0,n[2]];var u=n[2];if("number"!=typeof u&&2===u[0])return[0,n[1],1,u[1]];throw QCt}return[0,n[1],[0,t[1]],n[2]]}function twt(r,t,e){if("number"==typeof r)return[0,0,ewt(t,e)];switch(r[0]){case 0:if("number"!=typeof e&&0===e[0]){var n=twt(r[1],t,e[1]);return[0,[0,n[1]],n[2]]}break;case 1:if("number"!=typeof e&&1===e[0]){var u=twt(r[1],t,e[1]);return[0,[1,u[1]],u[2]]}break;case 2:if("number"!=typeof e&&2===e[0]){var a=twt(r[1],t,e[1]);return[0,[2,a[1]],a[2]]}break;case 3:if("number"!=typeof e&&3===e[0]){var i=twt(r[1],t,e[1]);return[0,[3,i[1]],i[2]]}break;case 4:if("number"!=typeof e&&4===e[0]){var c=twt(r[1],t,e[1]);return[0,[4,c[1]],c[2]]}break;case 5:if("number"!=typeof e&&5===e[0]){var f=twt(r[1],t,e[1]);return[0,[5,f[1]],f[2]]}break;case 6:if("number"!=typeof e&&6===e[0]){var o=twt(r[1],t,e[1]);return[0,[6,o[1]],o[2]]}break;case 7:if("number"!=typeof e&&7===e[0]){var s=twt(r[1],t,e[1]);return[0,[7,s[1]],s[2]]}break;case 8:if("number"!=typeof e&&8===e[0]){var v=e[1],l=e[2],D=r[2];if(mI([0,r[1]],[0,v]))throw QCt;var p=twt(D,t,l);return[0,[8,v,p[1]],p[2]]}break;case 9:if("number"!=typeof e&&9===e[0]){var b=e[2],E=e[1],F=e[3],d=r[3],m=r[2],h=r[1],k=[0,N_t(E)];if(mI([0,N_t(h)],k))throw QCt;var y=[0,N_t(b)];if(mI([0,N_t(m)],y))throw QCt;var A=qCt(zCt(WCt(E),b)),_=A[4];OI(A[2],0),OI(_,0);var C=twt(N_t(d),t,F),w=C[2];return[0,[9,E,b,WCt(C[1])],w]}break;case 10:if("number"!=typeof e&&10===e[0]){var S=twt(r[1],t,e[1]);return[0,[10,S[1]],S[2]]}break;case 11:if("number"!=typeof e&&11===e[0]){var g=twt(r[1],t,e[1]);return[0,[11,g[1]],g[2]]}break;case 13:if("number"!=typeof e&&13===e[0]){var B=twt(r[1],t,e[1]);return[0,[13,B[1]],B[2]]}break;case 14:if("number"!=typeof e&&14===e[0]){var T=twt(r[1],t,e[1]);return[0,[14,T[1]],T[2]]}}throw QCt}function ewt(r,t){if("number"==typeof r)return[0,0,t];switch(r[0]){case 0:if("number"!=typeof t&&0===t[0]){var e=ewt(r[1],t[1]);return[0,[0,e[1]],e[2]]}break;case 1:if("number"!=typeof t&&0===t[0]){var n=ewt(r[1],t[1]);return[0,[1,n[1]],n[2]]}break;case 2:var u=r[2],a=ZCt(r[1],t),i=a[2],c=a[1];if("number"!=typeof i&&1===i[0]){var f=ewt(u,i[1]);return[0,[2,c,f[1]],f[2]]}throw QCt;case 3:var o=r[2],s=ZCt(r[1],t),v=s[2],l=s[1];if("number"!=typeof v&&1===v[0]){var D=ewt(o,v[1]);return[0,[3,l,D[1]],D[2]]}throw QCt;case 4:var p=r[4],b=r[1],E=rwt(r[2],r[3],t),F=E[3],d=E[2],m=E[1];if("number"!=typeof F&&2===F[0]){var h=ewt(p,F[1]);return[0,[4,b,m,d,h[1]],h[2]]}throw QCt;case 5:var k=r[4],y=r[1],A=rwt(r[2],r[3],t),_=A[3],C=A[2],w=A[1];if("number"!=typeof _&&3===_[0]){var S=ewt(k,_[1]);return[0,[5,y,w,C,S[1]],S[2]]}throw QCt;case 6:var g=r[4],B=r[1],T=rwt(r[2],r[3],t),I=T[3],O=T[2],N=T[1];if("number"!=typeof I&&4===I[0]){var x=ewt(g,I[1]);return[0,[6,B,N,O,x[1]],x[2]]}throw QCt;case 7:var L=r[4],P=r[1],R=rwt(r[2],r[3],t),M=R[3],G=R[2],U=R[1];if("number"!=typeof M&&5===M[0]){var j=ewt(L,M[1]);return[0,[7,P,U,G,j[1]],j[2]]}throw QCt;case 8:var X=r[4],H=r[1],$=rwt(r[2],r[3],t),Y=$[3],V=$[2],K=$[1];if("number"!=typeof Y&&6===Y[0]){var J=ewt(X,Y[1]);return[0,[8,H,K,V,J[1]],J[2]]}throw QCt;case 9:var W=r[2],q=ZCt(r[1],t),z=q[2],Q=q[1];if("number"!=typeof z&&7===z[0]){var Z=ewt(W,z[1]);return[0,[9,Q,Z[1]],Z[2]]}throw QCt;case 10:var rr=ewt(r[1],t);return[0,[10,rr[1]],rr[2]];case 11:var tr=r[1],er=ewt(r[2],t);return[0,[11,tr,er[1]],er[2]];case 12:var nr=r[1],ur=ewt(r[2],t);return[0,[12,nr,ur[1]],ur[2]];case 13:if("number"!=typeof t&&8===t[0]){var ar=t[1],ir=t[2],cr=r[3],fr=r[1];if(mI([0,r[2]],[0,ar]))throw QCt;var or=ewt(cr,ir);return[0,[13,fr,ar,or[1]],or[2]]}break;case 14:if("number"!=typeof t&&9===t[0]){var sr=t[1],vr=t[3],lr=r[3],Dr=r[2],pr=r[1],br=[0,N_t(sr)];if(mI([0,N_t(Dr)],br))throw QCt;var Er=ewt(lr,N_t(vr));return[0,[14,pr,sr,Er[1]],Er[2]]}break;case 15:if("number"!=typeof t&&10===t[0]){var Fr=ewt(r[1],t[1]);return[0,[15,Fr[1]],Fr[2]]}break;case 16:if("number"!=typeof t&&11===t[0]){var dr=ewt(r[1],t[1]);return[0,[16,dr[1]],dr[2]]}break;case 17:var mr=r[1],hr=ewt(r[2],t);return[0,[17,mr,hr[1]],hr[2]];case 18:var kr=r[2],yr=r[1];if(0===yr[0]){var Ar=yr[1],_r=Ar[2],Cr=ewt(Ar[1],t),wr=Cr[1],Sr=ewt(kr,Cr[2]);return[0,[18,[0,[0,wr,_r]],Sr[1]],Sr[2]]}var gr=yr[1],Br=gr[2],Tr=ewt(gr[1],t),Ir=Tr[1],Or=ewt(kr,Tr[2]);return[0,[18,[1,[0,Ir,Br]],Or[1]],Or[2]];case 19:if("number"!=typeof t&&13===t[0]){var Nr=ewt(r[1],t[1]);return[0,[19,Nr[1]],Nr[2]]}break;case 20:if("number"!=typeof t&&1===t[0]){var xr=r[2],Lr=r[1],Pr=ewt(r[3],t[1]);return[0,[20,Lr,xr,Pr[1]],Pr[2]]}break;case 21:if("number"!=typeof t&&2===t[0]){var Rr=r[1],Mr=ewt(r[2],t[1]);return[0,[21,Rr,Mr[1]],Mr[2]]}break;case 23:var Gr=r[2],Ur=r[1];if("number"==typeof Ur)switch(Ur){case 0:case 1:return nwt(Ur,Gr,t);case 2:if("number"!=typeof t&&14===t[0]){var jr=ewt(Gr,t[1]);return[0,[23,2,jr[1]],jr[2]]}throw QCt;default:return nwt(Ur,Gr,t)}else switch(Ur[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:return nwt(Ur,Gr,t);case 8:return nwt([8,Ur[1],Ur[2]],Gr,t);case 9:var Xr=Ur[1],Hr=twt(Ur[2],Gr,t),$r=Hr[2];return[0,[23,[9,Xr,Hr[1]],$r[1]],$r[2]];case 10:default:return nwt(Ur,Gr,t)}}throw QCt}function nwt(r,t,e){var n=ewt(t,e);return[0,[23,r,n[1]],n[2]]}function uwt(r,t,e){var n=HT(e),u=0<=t?r:0,a=M_t(t);if(a<=n)return e;var i=pCt(a,2===u?48:32);switch(u){case 0:mCt(e,0,i,0,n);break;case 1:mCt(e,0,i,a-n|0,n);break;default:var c=0;if(0>>0||(a=1):65<=u&&(a=1);else{var i=0;if(32!==u)if(43<=u)switch(u+-43|0){case 5:if(n<(e+2|0)&&1>>0?33<(u+-61|0)>>>0&&(a=1):2===u&&(a=1),!a){t=t+1|0;continue}var i=r,c=[0,0],f=XT(i)-1|0;if(!(f<0))for(var o=0;;){var s=PB(i,o),v=0;if(32<=s){var l=s-34|0,D=0;if(58>>0?93<=l&&(D=1):56<(l-1|0)>>>0&&(v=1,D=1),!D){var p=1;v=2}}else 11<=s?13===s&&(v=1):8<=s&&(v=1);switch(v){case 0:p=4;break;case 1:p=2}c[1]=c[1]+p|0;var b=o+1|0;if(f===o)break;o=b}if(c[1]===XT(i))var E=bCt(i);else{var F=CT(c[1]);c[1]=0;var d=XT(i)-1|0;if(!(d<0))for(var m=0;;){var h=PB(i,m),k=0;if(35<=h)k=92===h?2:vA<=h?1:3;else if(32<=h)k=34<=h?2:3;else if(14<=h)k=1;else switch(h){case 8:xB(F,c[1],92),c[1]++,xB(F,c[1],98);break;case 9:xB(F,c[1],92),c[1]++,xB(F,c[1],AF);break;case 10:xB(F,c[1],92),c[1]++,xB(F,c[1],qt);break;case 13:xB(F,c[1],92),c[1]++,xB(F,c[1],ki);break;default:k=1}switch(k){case 1:xB(F,c[1],92),c[1]++,xB(F,c[1],48+(h/ku|0)|0),c[1]++,xB(F,c[1],48+((h/10|0)%10|0)|0),c[1]++,xB(F,c[1],48+(h%10|0)|0);break;case 2:xB(F,c[1],92),c[1]++,xB(F,c[1],h);break;case 3:xB(F,c[1],h)}c[1]++;var y=m+1|0;if(d===m)break;m=y}E=F}n=E}var A=HT(n),_=pCt(A+2|0,34);return AB(n,0,_,1,A),_}}function cwt(r,t){if(13<=r){var e=[0,0],n=HT(t)-1|0;if(!(n<0))for(var u=0;;){9<($T(t,u)+yw|0)>>>0||e[1]++;var a=u+1|0;if(n===u)break;u=a}var i=e[1],c=CT(HT(t)+((i-1|0)/3|0)|0),f=[0,0],o=function(r){return LB(c,f[1],r),f[1]++,0},s=[0,1+((i-1|0)%3|0)|0],v=HT(t)-1|0;if(!(v<0))for(var l=0;;){var D=$T(t,l);9<(D+yw|0)>>>0||(0===s[1]&&(o(95),s[1]=3),s[1]+=-1),o(D);var p=l+1|0;if(v===l)break;l=p}return c}return t}function fwt(r,t){switch(r){case 1:var e=Lx;break;case 2:e=Px;break;case 4:e=Rx;break;case 5:e=Mx;break;case 6:e=Gx;break;case 7:e=Ux;break;case 8:e=jx;break;case 9:e=Xx;break;case 10:e=Hx;break;case 11:e=$x;break;case 0:case 13:e=Yx;break;case 3:case 14:e=Vx;break;default:e=Kx}return cwt(r,IT(e,t))}function owt(r,t){switch(r){case 1:var e=ox;break;case 2:e=sx;break;case 4:e=vx;break;case 5:e=lx;break;case 6:e=Dx;break;case 7:e=px;break;case 8:e=bx;break;case 9:e=Ex;break;case 10:e=Fx;break;case 11:e=dx;break;case 0:case 13:e=mx;break;case 3:case 14:e=hx;break;default:e=kx}return cwt(r,IT(e,t))}function swt(r,t){switch(r){case 1:var e=qN;break;case 2:e=zN;break;case 4:e=QN;break;case 5:e=ZN;break;case 6:e=rx;break;case 7:e=tx;break;case 8:e=ex;break;case 9:e=nx;break;case 10:e=ux;break;case 11:e=ax;break;case 0:case 13:e=ix;break;case 3:case 14:e=cx;break;default:e=fx}return cwt(r,IT(e,t))}function vwt(r,t){switch(r){case 1:var e=yx;break;case 2:e=Ax;break;case 4:e=_x;break;case 5:e=Cx;break;case 6:e=wx;break;case 7:e=Sx;break;case 8:e=gx;break;case 9:e=Bx;break;case 10:e=Tx;break;case 11:e=Ix;break;case 0:case 13:e=Ox;break;case 3:case 14:e=Nx;break;default:e=xx}return cwt(r,function(r,t){var e=gT(r);e.signedconv&&function(r){return+r.isNeg()}(t)&&(e.sign=-1,t=jT(t));var n=D_,u=GT(e.base);do{var a=t.udivmod(u);t=a.quotient,n="0123456789abcdef".charAt(UT(a.modulus))+n}while(!MT(t));if(e.prec>=0){e.filler=ZD;var i=e.prec-n.length;i>0&&(n=_B(i,Dc)+n)}return BT(e,n)}(e,t))}function lwt(r,t,e){if(6<=r[2]){switch(r[1]){case 0:var n=45;break;case 1:n=43;break;default:n=32}var u=function(r,t,e){if(!isFinite(r))return isNaN(r)?RT(ps):RT(r>0?lt:"-infinity");var n=0==r&&1/r==-1/0?1:r>=0?0:1;n&&(r=-r);var u=0;if(0==r);else if(r<1)for(;r<1&&u>-1022;)r*=2,u--;else for(;r>=2;)r/=2,u++;var a=u<0?D_:U_,i=D_;if(n)i=kA;else switch(e){case 43:i=U_;break;case 32:i=ZD}if(t>=0&&t<13){var c=Math.pow(2,4*t);r=Math.round(r*c)/c}var f=r.toString(16);if(t>=0){var o=f.indexOf(pF);if(o<0)f+=pF+_B(t,Dc);else{var s=o+1+t;f.length=22250738585072014e-324?0:0!=r?1:2:isNaN(r)?4:3}(e),d=HT(E);if(3===F)return e<0?JN:WN;if(4<=F)return VN;for(var m=0;;){if(m===d)var h=0;else{var k=CI(E,m)+e_|0,y=0;if(23>>0?55===k&&(y=1):21<(k-1|0)>>>0&&(y=1),!y){m=m+1|0;continue}h=1}return h?E:G_t(E,KN)}}return E}function Dwt(r,t,e,n){for(var u=t,a=e,i=n;;){if("number"==typeof i)return OI(u,a);switch(i[0]){case 0:var c=i[1];return function(r){return Fwt(u,[5,a,r],c)};case 1:var f=i[1];return function(r){var t=0;if(40<=r)if(92===r)var e=fO;else t=vA<=r?1:2;else if(32<=r)if(39<=r)e=oO;else t=2;else if(14<=r)t=1;else switch(r){case 8:e=sO;break;case 9:e=vO;break;case 10:e=lO;break;case 13:e=DO;break;default:t=1}switch(t){case 1:var n=CT(4);xB(n,0,92),xB(n,1,48+(r/ku|0)|0),xB(n,2,48+((r/10|0)%10|0)|0),xB(n,3,48+(r%10|0)|0);e=n;break;case 2:var i=CT(1);xB(i,0,r);e=i}var c=HT(e),o=pCt(c+2|0,39);return AB(e,0,o,1,c),Fwt(u,[4,a,o],f)};case 2:var o=i[2],s=i[1];return mwt(u,a,o,s,(function(r){return r}));case 3:return mwt(u,a,i[2],i[1],iwt);case 4:return hwt(u,a,i[4],i[2],i[3],fwt,i[1]);case 5:return hwt(u,a,i[4],i[2],i[3],owt,i[1]);case 6:return hwt(u,a,i[4],i[2],i[3],swt,i[1]);case 7:return hwt(u,a,i[4],i[2],i[3],vwt,i[1]);case 8:var v=i[4],l=i[3],D=i[2],p=i[1];if("number"==typeof D){if("number"==typeof l)return 0===l?function(r){return Fwt(u,[4,a,lwt(p,XCt(p),r)],v)}:function(r,t){return Fwt(u,[4,a,lwt(p,r,t)],v)};var b=l[1];return function(r){return Fwt(u,[4,a,lwt(p,b,r)],v)}}if(0===D[0]){var E=D[2],F=D[1];if("number"==typeof l)return 0===l?function(r){return Fwt(u,[4,a,uwt(F,E,lwt(p,XCt(p),r))],v)}:function(r,t){return Fwt(u,[4,a,uwt(F,E,lwt(p,r,t))],v)};var d=l[1];return function(r){return Fwt(u,[4,a,uwt(F,E,lwt(p,d,r))],v)}}var m=D[1];if("number"==typeof l)return 0===l?function(r,t){return Fwt(u,[4,a,uwt(m,r,lwt(p,XCt(p),t))],v)}:function(r,t,e){return Fwt(u,[4,a,uwt(m,r,lwt(p,t,e))],v)};var h=l[1];return function(r,t){return Fwt(u,[4,a,uwt(m,r,lwt(p,h,t))],v)};case 9:return mwt(u,a,i[2],i[1],U_t);case 10:a=[7,a],i=i[1];continue;case 11:a=[2,a,i[1]],i=i[2];continue;case 12:a=[3,a,i[1]],i=i[2];continue;case 13:var k=i[3],y=i[2],A=HCt(16);JCt(A,y);var _=KCt(A);return function(r){return Fwt(u,[4,a,_],k)};case 14:var C=i[3],w=i[2];return function(r){var t=ewt(r[1],N_t(WCt(w)));if("number"==typeof t[2])return Fwt(u,a,L_t(t[1],C));throw QCt};case 15:var S=i[1];return function(r,t){return Fwt(u,[6,a,function(e){return NI(r,e,t)}],S)};case 16:var g=i[1];return function(r){return Fwt(u,[6,a,r],g)};case 17:a=[0,a,i[1]],i=i[2];continue;case 18:var B=i[1];if(0===B[0]){var T=i[2],I=B[1][1];u=function(r,t,e){return function(n){return Fwt(t,[1,r,[0,n]],e)}}(a,u,T),a=0,i=I;continue}var O=i[2],N=B[1][1];u=function(r,t,e){return function(n){return Fwt(t,[1,r,[1,n]],e)}}(a,u,O),a=0,i=N;continue;case 19:throw[0,$I,BN];case 20:var x=i[3],L=[8,a,TN];return function(r){return Fwt(u,L,x)};case 21:var P=i[2];return function(r){return Fwt(u,[4,a,IT(gN,r)],P)};case 22:var R=i[1];return function(r){return Fwt(u,[5,a,r],R)};case 23:var M=i[2],G=i[1];if("number"==typeof G)switch(G){case 0:case 1:return r<50?bwt(r+1|0,u,a,M):BI(bwt,[0,u,a,M]);case 2:throw[0,$I,IN];default:return r<50?bwt(r+1|0,u,a,M):BI(bwt,[0,u,a,M])}else switch(G[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:return r<50?bwt(r+1|0,u,a,M):BI(bwt,[0,u,a,M]);case 9:var U=G[2];return r<50?pwt(r+1|0,u,a,U,M):BI(pwt,[0,u,a,U,M]);case 10:default:return r<50?bwt(r+1|0,u,a,M):BI(bwt,[0,u,a,M])}default:var j=i[3],X=i[1],H=OI(i[2],0);return r<50?Ewt(r+1|0,u,a,j,X,H):BI(Ewt,[0,u,a,j,X,H])}}}function pwt(r,t,e,n,u){if("number"==typeof n)return r<50?bwt(r+1|0,t,e,u):BI(bwt,[0,t,e,u]);switch(n[0]){case 0:var a=n[1];return function(r){return dwt(t,e,a,u)};case 1:var i=n[1];return function(r){return dwt(t,e,i,u)};case 2:var c=n[1];return function(r){return dwt(t,e,c,u)};case 3:var f=n[1];return function(r){return dwt(t,e,f,u)};case 4:var o=n[1];return function(r){return dwt(t,e,o,u)};case 5:var s=n[1];return function(r){return dwt(t,e,s,u)};case 6:var v=n[1];return function(r){return dwt(t,e,v,u)};case 7:var l=n[1];return function(r){return dwt(t,e,l,u)};case 8:var D=n[2];return function(r){return dwt(t,e,D,u)};case 9:var p=n[3],b=n[2],E=zCt(WCt(n[1]),b);return function(r){return dwt(t,e,x_t(E,p),u)};case 10:var F=n[1];return function(r,n){return dwt(t,e,F,u)};case 11:var d=n[1];return function(r){return dwt(t,e,d,u)};case 12:var m=n[1];return function(r){return dwt(t,e,m,u)};case 13:throw[0,$I,ON];default:throw[0,$I,NN]}}function bwt(r,t,e,n){var u=[8,e,xN];return r<50?Dwt(r+1|0,t,u,n):BI(Dwt,[0,t,u,n])}function Ewt(r,t,e,n,u,a){if(u){var i=u[1];return function(r){return function(r,t,e,n,u){return gI(Ewt(0,r,t,e,n,u))}(t,e,n,i,OI(a,r))}}var c=[4,e,a];return r<50?Dwt(r+1|0,t,c,n):BI(Dwt,[0,t,c,n])}function Fwt(r,t,e){return gI(Dwt(0,r,t,e))}function dwt(r,t,e,n){return gI(pwt(0,r,t,e,n))}function mwt(r,t,e,n,u){if("number"==typeof n)return function(n){return Fwt(r,[4,t,OI(u,n)],e)};if(0===n[0]){var a=n[2],i=n[1];return function(n){return Fwt(r,[4,t,uwt(i,a,OI(u,n))],e)}}var c=n[1];return function(n,a){return Fwt(r,[4,t,uwt(c,n,OI(u,a))],e)}}function hwt(r,t,e,n,u,a,i){if("number"==typeof n){if("number"==typeof u)return 0===u?function(n){return Fwt(r,[4,t,NI(a,i,n)],e)}:function(n,u){return Fwt(r,[4,t,awt(n,NI(a,i,u))],e)};var c=u[1];return function(n){return Fwt(r,[4,t,awt(c,NI(a,i,n))],e)}}if(0===n[0]){var f=n[2],o=n[1];if("number"==typeof u)return 0===u?function(n){return Fwt(r,[4,t,uwt(o,f,NI(a,i,n))],e)}:function(n,u){return Fwt(r,[4,t,uwt(o,f,awt(n,NI(a,i,u)))],e)};var s=u[1];return function(n){return Fwt(r,[4,t,uwt(o,f,awt(s,NI(a,i,n)))],e)}}var v=n[1];if("number"==typeof u)return 0===u?function(n,u){return Fwt(r,[4,t,uwt(v,n,NI(a,i,u))],e)}:function(n,u,c){return Fwt(r,[4,t,uwt(v,n,awt(u,NI(a,i,c)))],e)};var l=u[1];return function(n,u){return Fwt(r,[4,t,uwt(v,n,awt(l,NI(a,i,u)))],e)}}function kwt(r,t){for(var e=t;;){if("number"==typeof e)return 0;switch(e[0]){case 0:var n=e[2],u=e[1];if("number"==typeof n)switch(n){case 0:var a=Jx;break;case 1:a=Wx;break;case 2:a=qx;break;case 3:a=zx;break;case 4:a=Qx;break;case 5:a=Zx;break;default:a=rL}else switch(n[0]){case 0:a=n[1];break;case 1:a=n[1];break;default:a=G_t(tL,hCt(1,n[1]))}return kwt(r,u),jCt(r,a);case 1:var i=e[2],c=e[1];if(0===i[0]){var f=i[1];kwt(r,c),jCt(r,LN);e=f;continue}var o=i[1];kwt(r,c),jCt(r,PN);e=o;continue;case 6:var s=e[2];return kwt(r,e[1]),jCt(r,OI(s,0));case 7:e=e[1];continue;case 8:var v=e[2];return kwt(r,e[1]),R_t(v);case 2:case 4:var l=e[2];return kwt(r,e[1]),jCt(r,l);default:var D=e[2];return kwt(r,e[1]),UCt(r,D)}}}function ywt(r){if(_I(r,MN))return GN;var t=HT(r);function e(t){var e=RN[1],n=RCt(tn);return OI(Fwt((function(r){return kwt(n,r),P_t(MCt(n))}),0,e),r)}function n(e){for(var n=e;;){if(n===t)return n;var u=CI(r,n);if(9!==u&&32!==u)return n;n=n+1|0}}var u=n(0),a=function(e,n){for(var u=n;;){if(u===t)return u;if(25<(CI(r,u)+-97|0)>>>0)return u;u=u+1|0}}(0,u),i=kCt(r,u,a-u|0),c=n(a),f=function(e,n){for(var u=n;;){if(u===t)return u;var a=CI(r,u),i=0;if(48<=a?58<=a||(i=1):45===a&&(i=1),!i)return u;u=u+1|0}}(0,c);if(c===f)var o=0;else try{o=QT(kCt(r,c,f-c|0))}catch(r){if((r=II(r))[1]!==GI)throw r;o=e()}n(f)!==t&&e();var s=0;if(wI(i,UN)&&wI(i,jN))var v=wI(i,XN)?wI(i,HN)?wI(i,$N)?wI(i,YN)?e():1:2:3:0;else s=1;if(s)v=4;return[0,o,v]}function Awt(r){return Fwt((function(r){var t=RCt(64);return kwt(t,r),MCt(t)}),0,r[1])}var _wt=[0,0];function Cwt(r,t){var e=r[1+t];if(1-("number"==typeof e?1:0)){if(kI(e)===cF)return OI(Awt(bL),e);if(253===kI(e))for(var n=TT(uO,e),u=0,a=HT(n);;){if(a<=u)return G_t(n,aO);var i=CI(n,u),c=0;if(48<=i?58<=i||(c=1):45===i&&(c=1),!c)return n;u=u+1|0}return EL}return OI(Awt(pL),e)}function wwt(r,t){if(r.length-1<=t)return nL;var e=wwt(r,t+1|0),n=Cwt(r,t);return NI(Awt(uL),n,e)}function Swt(r){var t=function(t){for(var e=t;;){if(!e)return 0;var n=e[2],u=e[1];try{var a=0,i=OI(u,r);a=1}catch(r){}if(a&&i)return[0,i[1]];e=n}}(_wt[1]);if(t)return t[1];if(r===RI)return aL;if(r===HI)return iL;if(r[1]===XI){var e=r[2],n=e[3],u=e[2],a=e[1];return PI(Awt(KI),a,u,n,n+5|0,cL)}if(r[1]===$I){var i=r[2],c=i[3],f=i[2],o=i[1];return PI(Awt(KI),o,f,c,c+6|0,fL)}if(r[1]===YI){var s=r[2],v=s[3],l=s[2],D=s[1];return PI(Awt(KI),D,l,v,v+6|0,oL)}if(0===kI(r)){var p=r.length-1,b=r[1][1];if(2

>>0)var E=wwt(r,2),F=Cwt(r,1),d=NI(Awt(sL),F,E);else switch(p){case 0:d=vL;break;case 1:d=lL;break;default:var m=Cwt(r,1);d=OI(Awt(DL),m)}return G_t(b,d)}return r[1]}function gwt(r){return _wt[1]=[0,r,_wt[1]],0}var Bwt=[_c,RL,NT()];function Twt(r,t){return r[13]=r[13]+t[3]|0,PCt(t,r[28])}var Iwt=1000000010;function Owt(r,t){return xI(r[17],t,0,HT(t))}function Nwt(r){return OI(r[19],0)}function xwt(r,t,e){return r[9]=r[9]-t|0,Owt(r,e),r[11]=0,0}function Lwt(r,t){var e=wI(t,PL);return e?xwt(r,HT(t),t):e}function Pwt(r,t,e){var n=t[3],u=t[2];Lwt(r,t[1]),Nwt(r),r[11]=1;var a=(r[6]-e|0)+u|0,i=r[8],c=function(r,t){return+(AT(r,t,!1)<=0)}(i,a)?i:a;return r[10]=c,r[9]=r[6]-r[10]|0,OI(r[21],r[10]),Lwt(r,n)}function Rwt(r,t){return Pwt(r,LL,t)}function Mwt(r,t){var e=t[2],n=t[3];return Lwt(r,t[1]),r[9]=r[9]-e|0,OI(r[20],e),Lwt(r,n)}function Gwt(r){for(;;){var t=r[28][2],e=t?[0,t[1]]:0;if(e){var n=e[1],u=n[1],a=n[2],i=0<=u?1:0,c=n[3],f=r[13]-r[12]|0,o=i||(r[9]<=f?1:0);if(o){var s=r[28],v=s[2];if(v){var l=v[2];l?(s[1]=s[1]-1|0,s[2]=l):LCt(s);var D=0<=u?u:Iwt;if("number"==typeof a)switch(a){case 0:var p=NCt(r[3]);if(p){var b=p[1][1],E=function(r,t){if(t){var e=t[1],n=t[2];return nI(r,e)?[0,r,t]:[0,e,E(r,n)]}return[0,r,0]};b[1]=E(r[6]-r[9]|0,b[1])}break;case 1:OCt(r[2]);break;case 2:OCt(r[3]);break;case 3:var F=NCt(r[2]);F?Rwt(r,F[1][2]):Nwt(r);break;case 4:if(r[10]!==(r[6]-r[9]|0)){var d=r[28],m=d[2];if(m)var h=m[1],k=m[2],y=k?(d[1]=d[1]-1|0,d[2]=k,[0,h]):(LCt(d),[0,h]);else y=0;if(y){var A=y[1],_=A[1];r[12]=r[12]-A[3]|0,r[9]=r[9]+_|0}}break;default:var C=OCt(r[5]);C&&Owt(r,OI(r[25],C[1]))}else switch(a[0]){case 0:xwt(r,D,a[1]);break;case 1:var w=a[2],S=a[1],g=w[1],B=w[2],T=NCt(r[2]);if(T){var I=T[1],O=I[2];switch(I[1]){case 0:Mwt(r,S);break;case 1:case 2:Pwt(r,w,O);break;case 3:r[9]<(D+HT(g)|0)?Pwt(r,w,O):Mwt(r,S);break;case 4:r[11]||!(r[9]<(D+HT(g)|0)||((r[6]-O|0)+B|0)>>0)&&Rwt(r,q)}else Nwt(r)}var Q=r[9]-K|0;ICt([0,1===V?1:r[9]>>6|0)?1:0;if(p)var b=p;else b=(2!=(l>>>6|0)?1:0)||(2!=(D>>>6|0)?1:0);if(b)throw XSt;var E=(7&f)<<18|(63&s)<<12|(63&l)<<6|63&D}else if(so<=f){var F=CI(r,a+1|0),d=CI(r,a+2|0);if((2!=(F>>>6|0)?1:0)||(2!=(d>>>6|0)?1:0))throw XSt;var m=(15&f)<<12|(63&F)<<6|63&d,h=55296<=m?1:0;if(h?m<=57088?1:0:h)throw XSt;E=m}else{var k=CI(r,a+1|0);if(2!=(k>>>6|0))throw XSt;E=(31&f)<<6|63&k}else if(B<=f)o=1;else E=f;if(o)throw XSt;GB(u,i)[1+i]=E;var y=CI(r,a);a=a+GB(rgt,y)[1+y]|0,i=i+1|0,c=c-1|0}throw XSt}var A=CI(r,n),_=GB(rgt,A)[1+A];if(!(0<_))throw XSt;e=e+1|0,n=n+_|0}},sgt=function(r,t,e){for(var n=r[8]+t|0,u=r[2],a=RCt(4*e|0),i=n,c=e;;){if(!(0>>18|0)),UCt(a,V_t(B|63&(f>>>12|0))),UCt(a,V_t(B|63&(f>>>6|0))),UCt(a,V_t(B|63&f))}else{var o=55296<=f?1:0;if(o?f<57344?1:0:o)throw XSt;UCt(a,V_t(so|f>>>12|0)),UCt(a,V_t(B|63&(f>>>6|0))),UCt(a,V_t(B|63&f))}else UCt(a,V_t(v|f>>>6|0)),UCt(a,V_t(B|63&f));else UCt(a,V_t(f));i=i+1|0,c=c-1|0}},vgt=function(r){return sgt(r,0,r[5]-r[8]|0)},lgt=function(r,t){function e(t){return UCt(r,t)}return 65536<=t?(e(mA|t>>>18|0),e(B|63&(t>>>12|0)),e(B|63&(t>>>6|0)),e(B|63&t)):2048<=t?(e(so|t>>>12|0),e(B|63&(t>>>6|0)),e(B|63&t)):B<=t?(e(v|t>>>6|0),e(B|63&t)):e(t)},Dgt=r,pgt=null,bgt=void 0,Egt=function(r){return r!==bgt?1:0},Fgt=Dgt.Array,dgt=[_c,JL,NT()],mgt=Dgt.Error;FSt(WL,[0,dgt,{}]);var hgt=function(r){throw r};gwt((function(r){return r[1]===dgt?[0,RT(r[2].toString())]:0})),gwt((function(r){return r instanceof Fgt?0:[0,RT(r.toString())]}));var kgt=NI(jSt,aYr,uYr),ygt=NI(jSt,cYr,iYr),Agt=NI(jSt,oYr,fYr),_gt=NI(jSt,vYr,sYr),Cgt=NI(jSt,DYr,lYr),wgt=NI(jSt,bYr,pYr),Sgt=NI(jSt,FYr,EYr),ggt=NI(jSt,mYr,dYr),Bgt=NI(jSt,kYr,hYr),Tgt=NI(jSt,AYr,yYr),Igt=NI(jSt,CYr,_Yr),Ogt=NI(jSt,SYr,wYr),Ngt=NI(jSt,BYr,gYr),xgt=NI(jSt,IYr,TYr),Lgt=NI(jSt,NYr,OYr),Pgt=NI(jSt,LYr,xYr),Rgt=NI(jSt,RYr,PYr),Mgt=NI(jSt,GYr,MYr),Ggt=function r(t,e,n,u){return r.fun(t,e,n,u)},Ugt=function r(t,e,n){return r.fun(t,e,n)},jgt=NI(jSt,jYr,UYr);mB(Ggt,(function(r,t,e,n){OI(bSt(e),j$r),NI(bSt(e),H$r,X$r);var u=n[1];OI(bSt(e),$$r);fCt((function(t,n){return t&&OI(bSt(e),U$r),xI(Pgt[1],(function(t){return OI(r,t)}),e,n),1}),0,u),OI(bSt(e),Y$r),OI(bSt(e),V$r),OI(bSt(e),K$r),NI(bSt(e),W$r,J$r);var a=n[2];OI(bSt(e),q$r);return fCt((function(t,n){return t&&OI(bSt(e),G$r),xI(Pgt[1],(function(t){return OI(r,t)}),e,n),1}),0,a),OI(bSt(e),z$r),OI(bSt(e),Q$r),OI(bSt(e),Z$r),NI(bSt(e),tYr,rYr),NI(t,e,n[3]),OI(bSt(e),eYr),OI(bSt(e),nYr)})),mB(Ugt,(function(r,t,e){var n=NI(Ggt,r,t);return NI(ESt(M$r),n,e)})),xI(USt,XYr,kgt,[0,Ggt,Ugt]);var Xgt=function r(t,e,n,u){return r.fun(t,e,n,u)},Hgt=function r(t,e,n){return r.fun(t,e,n)},$gt=function r(t,e,n){return r.fun(t,e,n)},Ygt=function r(t,e){return r.fun(t,e)};mB(Xgt,(function(r,t,e,n){OI(bSt(e),L$r),NI(t,e,n[1]),OI(bSt(e),P$r);var u=n[2];return xI($gt,(function(t){return OI(r,t)}),e,u),OI(bSt(e),R$r)})),mB(Hgt,(function(r,t,e){var n=NI(Xgt,r,t);return NI(ESt(x$r),n,e)})),mB($gt,(function(r,t,e){OI(bSt(t),k$r),NI(bSt(t),A$r,y$r);var n=e[1];NI(bSt(t),_$r,n),OI(bSt(t),C$r),OI(bSt(t),w$r),NI(bSt(t),g$r,S$r);var u=e[2];if(u){zwt(t,B$r);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,h$r)}),t,a),zwt(t,T$r)}else zwt(t,I$r);return OI(bSt(t),O$r),OI(bSt(t),N$r)})),mB(Ygt,(function(r,t){var e=OI($gt,r);return NI(ESt(m$r),e,t)})),xI(USt,HYr,ygt,[0,Xgt,Hgt,$gt,Ygt]);var Vgt=function r(t,e,n){return r.fun(t,e,n)},Kgt=function r(t,e){return r.fun(t,e)},Jgt=function r(t,e,n){return r.fun(t,e,n)},Wgt=function r(t,e){return r.fun(t,e)};mB(Vgt,(function(r,t,e){OI(bSt(t),E$r),NI(r,t,e[1]),OI(bSt(t),F$r);var n=e[2];return xI(Jgt,(function(t){return OI(r,t)}),t,n),OI(bSt(t),d$r)})),mB(Kgt,(function(r,t){var e=OI(Vgt,r);return NI(ESt(b$r),e,t)})),mB(Jgt,(function(r,t,e){OI(bSt(t),n$r),NI(bSt(t),a$r,u$r);var n=e[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,n),OI(bSt(t),i$r),OI(bSt(t),c$r),NI(bSt(t),o$r,f$r);var u=e[2];if(u){zwt(t,s$r);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,e$r)}),t,a),zwt(t,v$r)}else zwt(t,l$r);return OI(bSt(t),D$r),OI(bSt(t),p$r)})),mB(Wgt,(function(r,t){var e=OI(Jgt,r);return NI(ESt(t$r),e,t)})),xI(USt,$Yr,Agt,[0,Vgt,Kgt,Jgt,Wgt]);var qgt=function(r,t){OI(bSt(r),HHr),NI(bSt(r),YHr,$Hr);var e=t[1];NI(bSt(r),VHr,e),OI(bSt(r),KHr),OI(bSt(r),JHr),NI(bSt(r),qHr,WHr);var n=t[2];return NI(bSt(r),zHr,n),OI(bSt(r),QHr),OI(bSt(r),ZHr)},zgt=[0,qgt,function(r){return NI(ESt(r$r),qgt,r)}],Qgt=function r(t,e,n){return r.fun(t,e,n)},Zgt=function r(t,e){return r.fun(t,e)},rBt=function r(t,e){return r.fun(t,e)},tBt=function r(t){return r.fun(t)};mB(Qgt,(function(r,t,e){OI(bSt(t),wHr),NI(bSt(t),gHr,SHr),NI(rBt,t,e[1]),OI(bSt(t),BHr),OI(bSt(t),THr),NI(bSt(t),OHr,IHr);var n=e[2];NI(bSt(t),NHr,n),OI(bSt(t),xHr),OI(bSt(t),LHr),NI(bSt(t),RHr,PHr);var u=e[3];if(u){zwt(t,MHr);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,CHr)}),t,a),zwt(t,GHr)}else zwt(t,UHr);return OI(bSt(t),jHr),OI(bSt(t),XHr)})),mB(Zgt,(function(r,t){var e=OI(Qgt,r);return NI(ESt(_Hr),e,t)})),mB(rBt,(function(r,t){if("number"==typeof t)return zwt(r,oHr);switch(t[0]){case 0:OI(bSt(r),sHr);var e=t[1];return NI(bSt(r),vHr,e),OI(bSt(r),lHr);case 1:OI(bSt(r),DHr);var n=t[1];return NI(bSt(r),pHr,n),OI(bSt(r),bHr);case 2:OI(bSt(r),EHr);var u=t[1];return NI(bSt(r),FHr,u),OI(bSt(r),dHr);case 3:OI(bSt(r),mHr);var a=t[1];return NI(bSt(r),hHr,a),OI(bSt(r),kHr);default:return OI(bSt(r),yHr),NI(zgt[1],r,t[1]),OI(bSt(r),AHr)}})),mB(tBt,(function(r){return NI(ESt(fHr),rBt,r)})),xI(USt,YYr,_gt,[0,zgt,Qgt,Zgt,rBt,tBt]);var eBt=function r(t,e,n){return r.fun(t,e,n)},nBt=function r(t,e){return r.fun(t,e)};mB(eBt,(function(r,t,e){OI(bSt(t),$Xr),NI(bSt(t),VXr,YXr);var n=e[1];NI(bSt(t),KXr,n),OI(bSt(t),JXr),OI(bSt(t),WXr),NI(bSt(t),zXr,qXr);var u=e[2];NI(bSt(t),QXr,u),OI(bSt(t),ZXr),OI(bSt(t),rHr),NI(bSt(t),eHr,tHr);var a=e[3];if(a){zwt(t,nHr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,HXr)}),t,i),zwt(t,uHr)}else zwt(t,aHr);return OI(bSt(t),iHr),OI(bSt(t),cHr)})),mB(nBt,(function(r,t){var e=OI(eBt,r);return NI(ESt(XXr),e,t)})),xI(USt,VYr,Cgt,[0,eBt,nBt]);var uBt=function r(t,e,n){return r.fun(t,e,n)},aBt=function r(t,e){return r.fun(t,e)};mB(uBt,(function(r,t,e){OI(bSt(t),_Xr),NI(bSt(t),wXr,CXr);var n=e[1];NI(bSt(t),SXr,n),OI(bSt(t),gXr),OI(bSt(t),BXr),NI(bSt(t),IXr,TXr);var u=e[2];NI(bSt(t),OXr,u),OI(bSt(t),NXr),OI(bSt(t),xXr),NI(bSt(t),PXr,LXr);var a=e[3];if(a){zwt(t,RXr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,AXr)}),t,i),zwt(t,MXr)}else zwt(t,GXr);return OI(bSt(t),UXr),OI(bSt(t),jXr)})),mB(aBt,(function(r,t){var e=OI(uBt,r);return NI(ESt(yXr),e,t)})),xI(USt,KYr,wgt,[0,uBt,aBt]);var iBt=function r(t,e,n){return r.fun(t,e,n)},cBt=function r(t,e){return r.fun(t,e)};mB(iBt,(function(r,t,e){OI(bSt(t),uXr),NI(bSt(t),iXr,aXr);var n=e[1];NI(bSt(t),cXr,n),OI(bSt(t),fXr),OI(bSt(t),oXr),NI(bSt(t),vXr,sXr);var u=e[2];NI(bSt(t),lXr,u),OI(bSt(t),DXr),OI(bSt(t),pXr),NI(bSt(t),EXr,bXr);var a=e[3];if(a){zwt(t,FXr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,nXr)}),t,i),zwt(t,dXr)}else zwt(t,mXr);return OI(bSt(t),hXr),OI(bSt(t),kXr)})),mB(cBt,(function(r,t){var e=OI(iBt,r);return NI(ESt(eXr),e,t)})),xI(USt,JYr,Sgt,[0,iBt,cBt]);var fBt=function r(t,e,n){return r.fun(t,e,n)},oBt=function r(t,e){return r.fun(t,e)};mB(fBt,(function(r,t,e){OI(bSt(t),Hjr),NI(bSt(t),Yjr,$jr);var n=e[1];NI(bSt(t),Vjr,n),OI(bSt(t),Kjr),OI(bSt(t),Jjr),NI(bSt(t),qjr,Wjr);var u=e[2];if(u){zwt(t,zjr);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Xjr)}),t,a),zwt(t,Qjr)}else zwt(t,Zjr);return OI(bSt(t),rXr),OI(bSt(t),tXr)})),mB(oBt,(function(r,t){var e=OI(fBt,r);return NI(ESt(jjr),e,t)})),xI(USt,WYr,ggt,[0,fBt,oBt]);var sBt=function r(t,e,n){return r.fun(t,e,n)},vBt=function r(t,e){return r.fun(t,e)},lBt=function r(t,e){return r.fun(t,e)},DBt=function r(t){return r.fun(t)},pBt=function r(t,e,n){return r.fun(t,e,n)},bBt=function r(t,e){return r.fun(t,e)};mB(sBt,(function(r,t,e){OI(bSt(t),Mjr),NI(r,t,e[1]),OI(bSt(t),Gjr);var n=e[2];return xI(pBt,(function(t){return OI(r,t)}),t,n),OI(bSt(t),Ujr)})),mB(vBt,(function(r,t){var e=OI(sBt,r);return NI(ESt(Rjr),e,t)})),mB(lBt,(function(r,t){return zwt(r,0===t?Pjr:Ljr)})),mB(DBt,(function(r){return NI(ESt(xjr),lBt,r)})),mB(pBt,(function(r,t,e){OI(bSt(t),yjr),NI(bSt(t),_jr,Ajr),NI(lBt,t,e[1]),OI(bSt(t),Cjr),OI(bSt(t),wjr),NI(bSt(t),gjr,Sjr);var n=e[2];if(n){zwt(t,Bjr);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,kjr)}),t,u),zwt(t,Tjr)}else zwt(t,Ijr);return OI(bSt(t),Ojr),OI(bSt(t),Njr)})),mB(bBt,(function(r,t){var e=OI(pBt,r);return NI(ESt(hjr),e,t)})),xI(USt,qYr,Bgt,[0,sBt,vBt,lBt,DBt,pBt,bBt]);var EBt=function r(t,e,n,u){return r.fun(t,e,n,u)},FBt=function r(t,e,n){return r.fun(t,e,n)},dBt=function r(t,e,n,u){return r.fun(t,e,n,u)},mBt=function r(t,e,n){return r.fun(t,e,n)};mB(EBt,(function(r,t,e,n){OI(bSt(e),Fjr),NI(r,e,n[1]),OI(bSt(e),djr);var u=n[2];return LI(Tgt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),mjr)})),mB(FBt,(function(r,t,e){var n=NI(EBt,r,t);return NI(ESt(Ejr),n,e)})),mB(dBt,(function(r,t,e,n){OI(bSt(e),ujr),NI(bSt(e),ijr,ajr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),cjr),OI(bSt(e),fjr),NI(bSt(e),sjr,ojr);var a=n[2];if(a){zwt(e,vjr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,njr)}),e,i),zwt(e,ljr)}else zwt(e,Djr);return OI(bSt(e),pjr),OI(bSt(e),bjr)})),mB(mBt,(function(r,t,e){var n=NI(dBt,r,t);return NI(ESt(ejr),n,e)})),xI(USt,zYr,Tgt,[0,EBt,FBt,dBt,mBt]);var hBt=function r(t,e,n,u){return r.fun(t,e,n,u)},kBt=function r(t,e,n){return r.fun(t,e,n)},yBt=function r(t,e,n,u){return r.fun(t,e,n,u)},ABt=function r(t,e,n){return r.fun(t,e,n)};mB(hBt,(function(r,t,e,n){OI(bSt(e),ZUr),NI(r,e,n[1]),OI(bSt(e),rjr);var u=n[2];return LI(yBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),tjr)})),mB(kBt,(function(r,t,e){var n=NI(hBt,r,t);return NI(ESt(QUr),n,e)})),mB(yBt,(function(r,t,e,n){OI(bSt(e),LUr),NI(bSt(e),RUr,PUr);var u=n[1];if(u){zwt(e,MUr);var a=u[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,GUr)}else zwt(e,UUr);OI(bSt(e),jUr),OI(bSt(e),XUr),NI(bSt(e),$Ur,HUr);var i=n[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),YUr),OI(bSt(e),VUr),NI(bSt(e),JUr,KUr);var c=n[3];return NI(bSt(e),WUr,c),OI(bSt(e),qUr),OI(bSt(e),zUr)})),mB(ABt,(function(r,t,e){var n=NI(yBt,r,t);return NI(ESt(xUr),n,e)}));var _Bt=[0,hBt,kBt,yBt,ABt],CBt=function r(t,e,n,u){return r.fun(t,e,n,u)},wBt=function r(t,e,n){return r.fun(t,e,n)},SBt=function r(t,e,n,u){return r.fun(t,e,n,u)},gBt=function r(t,e,n){return r.fun(t,e,n)};mB(CBt,(function(r,t,e,n){OI(bSt(e),IUr),NI(r,e,n[1]),OI(bSt(e),OUr);var u=n[2];return LI(SBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),NUr)})),mB(wBt,(function(r,t,e){var n=NI(CBt,r,t);return NI(ESt(TUr),n,e)})),mB(SBt,(function(r,t,e,n){OI(bSt(e),dUr),NI(bSt(e),hUr,mUr);var u=n[1];LI(_Bt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),kUr),OI(bSt(e),yUr),NI(bSt(e),_Ur,AUr);var a=n[2];if(a){zwt(e,CUr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,FUr)}),e,i),zwt(e,wUr)}else zwt(e,SUr);return OI(bSt(e),gUr),OI(bSt(e),BUr)})),mB(gBt,(function(r,t,e){var n=NI(SBt,r,t);return NI(ESt(EUr),n,e)}));var BBt=[0,CBt,wBt,SBt,gBt],TBt=function r(t,e,n,u){return r.fun(t,e,n,u)},IBt=function r(t,e,n){return r.fun(t,e,n)},OBt=function r(t,e,n,u){return r.fun(t,e,n,u)},NBt=function r(t,e,n){return r.fun(t,e,n)};mB(TBt,(function(r,t,e,n){OI(bSt(e),DUr),NI(r,e,n[1]),OI(bSt(e),pUr);var u=n[2];return LI(OBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),bUr)})),mB(IBt,(function(r,t,e){var n=NI(TBt,r,t);return NI(ESt(lUr),n,e)})),mB(OBt,(function(r,t,e,n){OI(bSt(e),rUr),NI(bSt(e),eUr,tUr);var u=n[1];LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),nUr),OI(bSt(e),uUr),NI(bSt(e),iUr,aUr);var a=n[2];if(a){zwt(e,cUr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,ZGr)}),e,i),zwt(e,fUr)}else zwt(e,oUr);return OI(bSt(e),sUr),OI(bSt(e),vUr)})),mB(NBt,(function(r,t,e){var n=NI(OBt,r,t);return NI(ESt(QGr),n,e)}));var xBt=[0,TBt,IBt,OBt,NBt],LBt=function r(t,e,n,u){return r.fun(t,e,n,u)},PBt=function r(t,e,n){return r.fun(t,e,n)},RBt=function r(t,e,n,u){return r.fun(t,e,n,u)},MBt=function r(t,e,n){return r.fun(t,e,n)};mB(LBt,(function(r,t,e,n){OI(bSt(e),WGr),NI(r,e,n[1]),OI(bSt(e),qGr);var u=n[2];return LI(RBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),zGr)})),mB(PBt,(function(r,t,e){var n=NI(LBt,r,t);return NI(ESt(JGr),n,e)})),mB(RBt,(function(r,t,e,n){OI(bSt(e),hGr),NI(bSt(e),yGr,kGr);var u=n[1];if(u){zwt(e,AGr);var a=u[1];LI(xBt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,_Gr)}else zwt(e,CGr);OI(bSt(e),wGr),OI(bSt(e),SGr),NI(bSt(e),BGr,gGr);var i=n[2];OI(bSt(e),TGr);fCt((function(n,u){return n&&OI(bSt(e),mGr),LI(_Bt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,i),OI(bSt(e),IGr),OI(bSt(e),OGr),OI(bSt(e),NGr),NI(bSt(e),LGr,xGr);var c=n[3];if(c){zwt(e,PGr);var f=c[1];LI(BBt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),zwt(e,RGr)}else zwt(e,MGr);OI(bSt(e),GGr),OI(bSt(e),UGr),NI(bSt(e),XGr,jGr);var o=n[4];if(o){zwt(e,HGr);var s=o[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),FGr);return fCt((function(e,n){return e&&OI(bSt(t),EGr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),dGr)}),e,s),zwt(e,$Gr)}else zwt(e,YGr);return OI(bSt(e),VGr),OI(bSt(e),KGr)})),mB(MBt,(function(r,t,e){var n=NI(RBt,r,t);return NI(ESt(bGr),n,e)}));var GBt=[0,LBt,PBt,RBt,MBt],UBt=function r(t,e,n,u){return r.fun(t,e,n,u)},jBt=function r(t,e,n){return r.fun(t,e,n)};mB(UBt,(function(r,t,e,n){OI(bSt(e),VMr),NI(bSt(e),JMr,KMr);var u=n[1];if(u){zwt(e,WMr);var a=u[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,qMr)}else zwt(e,zMr);OI(bSt(e),QMr),OI(bSt(e),ZMr),NI(bSt(e),tGr,rGr);var i=n[2];LI(GBt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),eGr),OI(bSt(e),nGr),NI(bSt(e),aGr,uGr);var c=n[3];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),iGr),OI(bSt(e),cGr),NI(bSt(e),oGr,fGr);var f=n[4];if(f){zwt(e,sGr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,YMr)}),e,o),zwt(e,vGr)}else zwt(e,lGr);return OI(bSt(e),DGr),OI(bSt(e),pGr)})),mB(jBt,(function(r,t,e){var n=NI(UBt,r,t);return NI(ESt($Mr),n,e)}));var XBt=[0,_Bt,BBt,xBt,GBt,UBt,jBt],HBt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Bt=function r(t,e,n){return r.fun(t,e,n)},YBt=function r(t,e,n,u){return r.fun(t,e,n,u)},VBt=function r(t,e,n){return r.fun(t,e,n)},KBt=function r(t,e,n,u){return r.fun(t,e,n,u)},JBt=function r(t,e,n){return r.fun(t,e,n)};mB(HBt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),UMr);var u=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),jMr)}OI(bSt(e),XMr);var a=n[1];return LI(YBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),HMr)})),mB($Bt,(function(r,t,e){var n=NI(HBt,r,t);return NI(ESt(GMr),n,e)})),mB(YBt,(function(r,t,e,n){OI(bSt(e),PMr),NI(r,e,n[1]),OI(bSt(e),RMr);var u=n[2];return LI(KBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),MMr)})),mB(VBt,(function(r,t,e){var n=NI(YBt,r,t);return NI(ESt(LMr),n,e)})),mB(KBt,(function(r,t,e,n){OI(bSt(e),wMr),NI(bSt(e),gMr,SMr);var u=n[1];LI(HBt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),BMr),OI(bSt(e),TMr),NI(bSt(e),OMr,IMr);var a=n[2];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),NMr),OI(bSt(e),xMr)})),mB(JBt,(function(r,t,e){var n=NI(KBt,r,t);return NI(ESt(CMr),n,e)}));var WBt=[0,HBt,$Bt,YBt,VBt,KBt,JBt],qBt=function r(t,e,n,u){return r.fun(t,e,n,u)},zBt=function r(t,e,n){return r.fun(t,e,n)};mB(qBt,(function(r,t,e,n){OI(bSt(e),iMr),NI(bSt(e),fMr,cMr);var u=n[1];LI(WBt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),oMr),OI(bSt(e),sMr),NI(bSt(e),lMr,vMr);var a=n[2];if(a){zwt(e,DMr);var i=a[1];LI(Igt[23][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,pMr)}else zwt(e,bMr);OI(bSt(e),EMr),OI(bSt(e),FMr),NI(bSt(e),mMr,dMr);var c=n[3];if(c){zwt(e,hMr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,aMr)}),e,f),zwt(e,kMr)}else zwt(e,yMr);return OI(bSt(e),AMr),OI(bSt(e),_Mr)})),mB(zBt,(function(r,t,e){var n=NI(qBt,r,t);return NI(ESt(uMr),n,e)}));var QBt=[0,WBt,qBt,zBt],ZBt=function r(t,e,n,u){return r.fun(t,e,n,u)},rTt=function r(t,e,n){return r.fun(t,e,n)};mB(ZBt,(function(r,t,e,n){OI(bSt(e),XRr),NI(bSt(e),$Rr,HRr);var u=n[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),YRr),OI(bSt(e),VRr),NI(bSt(e),JRr,KRr);var a=n[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),WRr),OI(bSt(e),qRr),NI(bSt(e),QRr,zRr);var i=n[3];if(i){zwt(e,ZRr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,jRr)}),e,c),zwt(e,rMr)}else zwt(e,tMr);return OI(bSt(e),eMr),OI(bSt(e),nMr)})),mB(rTt,(function(r,t,e){var n=NI(ZBt,r,t);return NI(ESt(URr),n,e)}));var tTt=[0,ZBt,rTt],eTt=function r(t,e,n,u){return r.fun(t,e,n,u)},nTt=function r(t,e,n){return r.fun(t,e,n)};mB(eTt,(function(r,t,e,n){OI(bSt(e),TRr),NI(bSt(e),ORr,IRr);var u=n[1];LI(tTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),NRr),OI(bSt(e),xRr),NI(bSt(e),PRr,LRr);var a=n[2];return NI(bSt(e),RRr,a),OI(bSt(e),MRr),OI(bSt(e),GRr)})),mB(nTt,(function(r,t,e){var n=NI(eTt,r,t);return NI(ESt(BRr),n,e)}));var uTt=[0,eTt,nTt],aTt=function r(t,e,n,u){return r.fun(t,e,n,u)},iTt=function r(t,e,n){return r.fun(t,e,n)},cTt=function r(t,e,n,u){return r.fun(t,e,n,u)},fTt=function r(t,e,n){return r.fun(t,e,n)},oTt=function r(t,e,n,u){return r.fun(t,e,n,u)},sTt=function r(t,e,n){return r.fun(t,e,n)};mB(aTt,(function(r,t,e,n){OI(bSt(e),wRr),NI(r,e,n[1]),OI(bSt(e),SRr);var u=n[2];return LI(cTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),gRr)})),mB(iTt,(function(r,t,e){var n=NI(aTt,r,t);return NI(ESt(CRr),n,e)})),mB(cTt,(function(r,t,e,n){OI(bSt(e),PPr),NI(bSt(e),MPr,RPr);var u=n[1];LI(Ngt[7][1][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),GPr),OI(bSt(e),UPr),NI(bSt(e),XPr,jPr);var a=n[2];LI(oTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),HPr),OI(bSt(e),$Pr),NI(bSt(e),VPr,YPr);var i=n[3];NI(bSt(e),KPr,i),OI(bSt(e),JPr),OI(bSt(e),WPr),NI(bSt(e),zPr,qPr);var c=n[4];NI(bSt(e),QPr,c),OI(bSt(e),ZPr),OI(bSt(e),rRr),NI(bSt(e),eRr,tRr);var f=n[5];NI(bSt(e),nRr,f),OI(bSt(e),uRr),OI(bSt(e),aRr),NI(bSt(e),cRr,iRr);var o=n[6];NI(bSt(e),fRr,o),OI(bSt(e),oRr),OI(bSt(e),sRr),NI(bSt(e),lRr,vRr);var s=n[7];if(s){zwt(e,DRr);var v=s[1];xI(Bgt[1],(function(t){return OI(r,t)}),e,v),zwt(e,pRr)}else zwt(e,bRr);OI(bSt(e),ERr),OI(bSt(e),FRr),NI(bSt(e),mRr,dRr);var l=n[8];if(l){zwt(e,hRr);var D=l[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,LPr)}),e,D),zwt(e,kRr)}else zwt(e,yRr);return OI(bSt(e),ARr),OI(bSt(e),_Rr)})),mB(fTt,(function(r,t,e){var n=NI(cTt,r,t);return NI(ESt(xPr),n,e)})),mB(oTt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),yPr);var u=n[1];return LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),APr);case 1:var a=n[1];OI(bSt(e),_Pr),OI(bSt(e),CPr),NI(r,e,a[1]),OI(bSt(e),wPr);var i=a[2];return LI(XBt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),SPr),OI(bSt(e),gPr);default:var c=n[1];OI(bSt(e),BPr),OI(bSt(e),TPr),NI(r,e,c[1]),OI(bSt(e),IPr);var f=c[2];return LI(XBt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),OPr),OI(bSt(e),NPr)}})),mB(sTt,(function(r,t,e){var n=NI(oTt,r,t);return NI(ESt(kPr),n,e)}));var vTt=[0,aTt,iTt,cTt,fTt,oTt,sTt],lTt=function r(t,e,n,u){return r.fun(t,e,n,u)},DTt=function r(t,e,n){return r.fun(t,e,n)},pTt=function r(t,e,n,u){return r.fun(t,e,n,u)},bTt=function r(t,e,n){return r.fun(t,e,n)};mB(lTt,(function(r,t,e,n){OI(bSt(e),dPr),NI(r,e,n[1]),OI(bSt(e),mPr);var u=n[2];return LI(pTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),hPr)})),mB(DTt,(function(r,t,e){var n=NI(lTt,r,t);return NI(ESt(FPr),n,e)})),mB(pTt,(function(r,t,e,n){OI(bSt(e),aPr),NI(bSt(e),cPr,iPr);var u=n[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),fPr),OI(bSt(e),oPr),NI(bSt(e),vPr,sPr);var a=n[2];if(a){zwt(e,lPr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,uPr)}),e,i),zwt(e,DPr)}else zwt(e,pPr);return OI(bSt(e),bPr),OI(bSt(e),EPr)})),mB(bTt,(function(r,t,e){var n=NI(pTt,r,t);return NI(ESt(nPr),n,e)}));var ETt=[0,lTt,DTt,pTt,bTt],FTt=function r(t,e,n,u){return r.fun(t,e,n,u)},dTt=function r(t,e,n){return r.fun(t,e,n)},mTt=function r(t,e,n,u){return r.fun(t,e,n,u)},hTt=function r(t,e,n){return r.fun(t,e,n)};mB(FTt,(function(r,t,e,n){OI(bSt(e),yLr),NI(bSt(e),_Lr,ALr);var u=n[1];if(u){zwt(e,CLr);var a=u[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),e,a),zwt(e,wLr)}else zwt(e,SLr);OI(bSt(e),gLr),OI(bSt(e),BLr),NI(bSt(e),ILr,TLr);var i=n[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),OLr),OI(bSt(e),NLr),NI(bSt(e),LLr,xLr);var c=n[3];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),PLr),OI(bSt(e),RLr),NI(bSt(e),GLr,MLr);var f=n[4];NI(bSt(e),ULr,f),OI(bSt(e),jLr),OI(bSt(e),XLr),NI(bSt(e),$Lr,HLr);var o=n[5];if(o){zwt(e,YLr);var s=o[1];xI(Bgt[1],(function(t){return OI(r,t)}),e,s),zwt(e,VLr)}else zwt(e,KLr);OI(bSt(e),JLr),OI(bSt(e),WLr),NI(bSt(e),zLr,qLr);var v=n[6];if(v){zwt(e,QLr);var l=v[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,kLr)}),e,l),zwt(e,ZLr)}else zwt(e,rPr);return OI(bSt(e),tPr),OI(bSt(e),ePr)})),mB(dTt,(function(r,t,e){var n=NI(FTt,r,t);return NI(ESt(hLr),n,e)})),mB(mTt,(function(r,t,e,n){OI(bSt(e),FLr),NI(r,e,n[1]),OI(bSt(e),dLr);var u=n[2];return LI(FTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),mLr)})),mB(hTt,(function(r,t,e){var n=NI(mTt,r,t);return NI(ESt(ELr),n,e)}));var kTt=[0,FTt,dTt,mTt,hTt],yTt=function r(t,e,n,u){return r.fun(t,e,n,u)},ATt=function r(t,e,n){return r.fun(t,e,n)},_Tt=function r(t,e,n,u){return r.fun(t,e,n,u)},CTt=function r(t,e,n){return r.fun(t,e,n)};mB(yTt,(function(r,t,e,n){OI(bSt(e),DLr),NI(r,e,n[1]),OI(bSt(e),pLr);var u=n[2];return LI(_Tt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),bLr)})),mB(ATt,(function(r,t,e){var n=NI(yTt,r,t);return NI(ESt(lLr),n,e)})),mB(_Tt,(function(r,t,e,n){OI(bSt(e),Vxr),NI(bSt(e),Jxr,Kxr);var u=n[1];OI(bSt(e),Wxr),NI(r,e,u[1]),OI(bSt(e),qxr);var a=u[2];LI(XBt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),zxr),OI(bSt(e),Qxr),OI(bSt(e),Zxr),NI(bSt(e),tLr,rLr);var i=n[2];NI(bSt(e),eLr,i),OI(bSt(e),nLr),OI(bSt(e),uLr),NI(bSt(e),iLr,aLr);var c=n[3];if(c){zwt(e,cLr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Yxr)}),e,f),zwt(e,fLr)}else zwt(e,oLr);return OI(bSt(e),sLr),OI(bSt(e),vLr)})),mB(CTt,(function(r,t,e){var n=NI(_Tt,r,t);return NI(ESt($xr),n,e)}));var wTt=[0,yTt,ATt,_Tt,CTt],STt=function r(t,e,n,u){return r.fun(t,e,n,u)},gTt=function r(t,e,n){return r.fun(t,e,n)},BTt=function r(t,e,n,u){return r.fun(t,e,n,u)},TTt=function r(t,e,n){return r.fun(t,e,n)};mB(STt,(function(r,t,e,n){OI(bSt(e),jxr),NI(r,e,n[1]),OI(bSt(e),Xxr);var u=n[2];return LI(BTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Hxr)})),mB(gTt,(function(r,t,e){var n=NI(STt,r,t);return NI(ESt(Uxr),n,e)})),mB(BTt,(function(r,t,e,n){OI(bSt(e),oxr),NI(bSt(e),vxr,sxr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),e,u),OI(bSt(e),lxr),OI(bSt(e),Dxr),NI(bSt(e),bxr,pxr);var a=n[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Exr),OI(bSt(e),Fxr),NI(bSt(e),mxr,dxr);var i=n[3];NI(bSt(e),hxr,i),OI(bSt(e),kxr),OI(bSt(e),yxr),NI(bSt(e),_xr,Axr);var c=n[4];NI(bSt(e),Cxr,c),OI(bSt(e),wxr),OI(bSt(e),Sxr),NI(bSt(e),Bxr,gxr);var f=n[5];NI(bSt(e),Txr,f),OI(bSt(e),Ixr),OI(bSt(e),Oxr),NI(bSt(e),xxr,Nxr);var o=n[6];if(o){zwt(e,Lxr);var s=o[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,fxr)}),e,s),zwt(e,Pxr)}else zwt(e,Rxr);return OI(bSt(e),Mxr),OI(bSt(e),Gxr)})),mB(TTt,(function(r,t,e){var n=NI(BTt,r,t);return NI(ESt(cxr),n,e)}));var ITt=[0,STt,gTt,BTt,TTt],OTt=function r(t,e,n,u){return r.fun(t,e,n,u)},NTt=function r(t,e,n){return r.fun(t,e,n)},xTt=function r(t,e,n,u){return r.fun(t,e,n,u)},LTt=function r(t,e,n){return r.fun(t,e,n)};mB(OTt,(function(r,t,e,n){OI(bSt(e),RNr),NI(bSt(e),GNr,MNr);var u=n[1];NI(bSt(e),UNr,u),OI(bSt(e),jNr),OI(bSt(e),XNr),NI(bSt(e),$Nr,HNr);var a=n[2];NI(bSt(e),YNr,a),OI(bSt(e),VNr),OI(bSt(e),KNr),NI(bSt(e),WNr,JNr);var i=n[3];OI(bSt(e),qNr);fCt((function(n,u){return n&&OI(bSt(e),PNr),LI(xTt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,i),OI(bSt(e),zNr),OI(bSt(e),QNr),OI(bSt(e),ZNr),NI(bSt(e),txr,rxr);var c=n[4];if(c){zwt(e,exr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),xNr);return fCt((function(e,n){return e&&OI(bSt(t),NNr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),LNr)}),e,f),zwt(e,nxr)}else zwt(e,uxr);return OI(bSt(e),axr),OI(bSt(e),ixr)})),mB(NTt,(function(r,t,e){var n=NI(OTt,r,t);return NI(ESt(ONr),n,e)})),mB(xTt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),yNr);var u=n[1];return LI(vTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),ANr);case 1:OI(bSt(e),_Nr);var a=n[1];return LI(ETt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),CNr);case 2:OI(bSt(e),wNr);var i=n[1];return LI(kTt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),SNr);case 3:OI(bSt(e),gNr);var c=n[1];return LI(wTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),BNr);default:OI(bSt(e),TNr);var f=n[1];return LI(ITt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),INr)}})),mB(LTt,(function(r,t,e){var n=NI(xTt,r,t);return NI(ESt(kNr),n,e)}));var PTt=[0,vTt,ETt,kTt,wTt,ITt,OTt,NTt,xTt,LTt],RTt=function r(t,e,n,u){return r.fun(t,e,n,u)},MTt=function r(t,e,n){return r.fun(t,e,n)};mB(RTt,(function(r,t,e,n){OI(bSt(e),rNr),NI(bSt(e),eNr,tNr);var u=n[1];OI(bSt(e),nNr),NI(r,e,u[1]),OI(bSt(e),uNr);var a=u[2];LI(PTt[6],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),aNr),OI(bSt(e),iNr),OI(bSt(e),cNr),NI(bSt(e),oNr,fNr);var i=n[2];OI(bSt(e),sNr);fCt((function(n,u){n&&OI(bSt(e),qOr),OI(bSt(e),zOr),NI(r,e,u[1]),OI(bSt(e),QOr);var a=u[2];return LI(QBt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),ZOr),1}),0,i),OI(bSt(e),vNr),OI(bSt(e),lNr),OI(bSt(e),DNr),NI(bSt(e),bNr,pNr);var c=n[3];if(c){zwt(e,ENr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,WOr)}),e,f),zwt(e,FNr)}else zwt(e,dNr);return OI(bSt(e),mNr),OI(bSt(e),hNr)})),mB(MTt,(function(r,t,e){var n=NI(RTt,r,t);return NI(ESt(JOr),n,e)}));var GTt=[0,RTt,MTt],UTt=function r(t,e,n,u){return r.fun(t,e,n,u)},jTt=function r(t,e,n){return r.fun(t,e,n)};mB(UTt,(function(r,t,e,n){OI(bSt(e),POr),NI(bSt(e),MOr,ROr);var u=n[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),GOr),OI(bSt(e),UOr),NI(bSt(e),XOr,jOr);var a=n[2];if(a){zwt(e,HOr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,LOr)}),e,i),zwt(e,$Or)}else zwt(e,YOr);return OI(bSt(e),VOr),OI(bSt(e),KOr)})),mB(jTt,(function(r,t,e){var n=NI(UTt,r,t);return NI(ESt(xOr),n,e)}));var XTt=[0,UTt,jTt],HTt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Tt=function r(t,e,n){return r.fun(t,e,n)};mB(HTt,(function(r,t,e,n){OI(bSt(e),FOr),NI(bSt(e),mOr,dOr);var u=n[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),hOr),OI(bSt(e),kOr),NI(bSt(e),AOr,yOr);var a=n[2];NI(bSt(e),_Or,a),OI(bSt(e),COr),OI(bSt(e),wOr),NI(bSt(e),gOr,SOr);var i=n[3];if(i){zwt(e,BOr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,EOr)}),e,c),zwt(e,TOr)}else zwt(e,IOr);return OI(bSt(e),OOr),OI(bSt(e),NOr)})),mB($Tt,(function(r,t,e){var n=NI(HTt,r,t);return NI(ESt(bOr),n,e)}));var YTt=[0,HTt,$Tt],VTt=function r(t,e,n,u){return r.fun(t,e,n,u)},KTt=function r(t,e,n){return r.fun(t,e,n)};mB(VTt,(function(r,t,e,n){OI(bSt(e),tOr),NI(bSt(e),nOr,eOr);var u=n[1];OI(bSt(e),uOr);fCt((function(n,u){return n&&OI(bSt(e),rOr),LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),aOr),OI(bSt(e),iOr),OI(bSt(e),cOr),NI(bSt(e),oOr,fOr);var a=n[2];if(a){zwt(e,sOr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,ZIr)}),e,i),zwt(e,vOr)}else zwt(e,lOr);return OI(bSt(e),DOr),OI(bSt(e),pOr)})),mB(KTt,(function(r,t,e){var n=NI(VTt,r,t);return NI(ESt(QIr),n,e)}));var JTt=[0,VTt,KTt],WTt=function r(t,e,n,u){return r.fun(t,e,n,u)},qTt=function r(t,e,n){return r.fun(t,e,n)};mB(WTt,(function(r,t,e,n){OI(bSt(e),UIr),NI(bSt(e),XIr,jIr);var u=n[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),HIr),OI(bSt(e),$Ir),NI(bSt(e),VIr,YIr);var a=n[2];if(a){zwt(e,KIr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,GIr)}),e,i),zwt(e,JIr)}else zwt(e,WIr);return OI(bSt(e),qIr),OI(bSt(e),zIr)})),mB(qTt,(function(r,t,e){var n=NI(WTt,r,t);return NI(ESt(MIr),n,e)}));var zTt=[0,WTt,qTt],QTt=function r(t,e,n,u){return r.fun(t,e,n,u)},ZTt=function r(t,e,n){return r.fun(t,e,n)};mB(QTt,(function(r,t,e,n){OI(bSt(e),hIr),NI(bSt(e),yIr,kIr);var u=n[1];OI(bSt(e),AIr);var a=u[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),_Ir);var i=u[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),CIr),OI(bSt(e),wIr);fCt((function(n,u){return n&&OI(bSt(e),mIr),LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u[3]),OI(bSt(e),SIr),OI(bSt(e),gIr),OI(bSt(e),BIr),OI(bSt(e),TIr),NI(bSt(e),OIr,IIr);var c=n[2];if(c){zwt(e,NIr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,dIr)}),e,f),zwt(e,xIr)}else zwt(e,LIr);return OI(bSt(e),PIr),OI(bSt(e),RIr)})),mB(ZTt,(function(r,t,e){var n=NI(QTt,r,t);return NI(ESt(FIr),n,e)}));var rIt=[0,QTt,ZTt],tIt=function r(t,e,n,u){return r.fun(t,e,n,u)},eIt=function r(t,e,n){return r.fun(t,e,n)};mB(tIt,(function(r,t,e,n){OI(bSt(e),ZTr),NI(bSt(e),tIr,rIr);var u=n[1];OI(bSt(e),eIr);var a=u[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),nIr);var i=u[2];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),uIr),OI(bSt(e),aIr);fCt((function(n,u){return n&&OI(bSt(e),QTr),LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u[3]),OI(bSt(e),iIr),OI(bSt(e),cIr),OI(bSt(e),fIr),OI(bSt(e),oIr),NI(bSt(e),vIr,sIr);var c=n[2];if(c){zwt(e,lIr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,zTr)}),e,f),zwt(e,DIr)}else zwt(e,pIr);return OI(bSt(e),bIr),OI(bSt(e),EIr)})),mB(eIt,(function(r,t,e){var n=NI(tIt,r,t);return NI(ESt(qTr),n,e)}));var nIt=[0,tIt,eIt],uIt=function r(t,e,n,u){return r.fun(t,e,n,u)},aIt=function r(t,e,n){return r.fun(t,e,n)},iIt=function r(t,e,n,u){return r.fun(t,e,n,u)},cIt=function r(t,e,n){return r.fun(t,e,n)},fIt=function r(t,e,n,u){return r.fun(t,e,n,u)},oIt=function r(t,e,n){return r.fun(t,e,n)},sIt=function r(t,e,n,u){return r.fun(t,e,n,u)},vIt=function r(t,e,n){return r.fun(t,e,n)};mB(uIt,(function(r,t,e,n){OI(bSt(e),KTr),NI(t,e,n[1]),OI(bSt(e),JTr);var u=n[2];return LI(iIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),WTr)})),mB(aIt,(function(r,t,e){var n=NI(uIt,r,t);return NI(ESt(VTr),n,e)})),mB(iIt,(function(r,t,e,n){switch(n[0]){case 0:var u=n[1];if(OI(bSt(e),DBr),u){zwt(e,pBr);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,lBr)}),e,a),zwt(e,bBr)}else zwt(e,EBr);return OI(bSt(e),FBr);case 1:var i=n[1];if(OI(bSt(e),dBr),i){zwt(e,mBr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,vBr)}),e,c),zwt(e,hBr)}else zwt(e,kBr);return OI(bSt(e),yBr);case 2:var f=n[1];if(OI(bSt(e),ABr),f){zwt(e,_Br);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,sBr)}),e,o),zwt(e,CBr)}else zwt(e,wBr);return OI(bSt(e),SBr);case 3:var s=n[1];if(OI(bSt(e),gBr),s){zwt(e,BBr);var v=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,oBr)}),e,v),zwt(e,TBr)}else zwt(e,IBr);return OI(bSt(e),OBr);case 4:var l=n[1];if(OI(bSt(e),NBr),l){zwt(e,xBr);var D=l[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,fBr)}),e,D),zwt(e,LBr)}else zwt(e,PBr);return OI(bSt(e),RBr);case 5:var p=n[1];if(OI(bSt(e),MBr),p){zwt(e,GBr);var b=p[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,cBr)}),e,b),zwt(e,UBr)}else zwt(e,jBr);return OI(bSt(e),XBr);case 6:var E=n[1];if(OI(bSt(e),HBr),E){zwt(e,$Br);var F=E[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,iBr)}),e,F),zwt(e,YBr)}else zwt(e,VBr);return OI(bSt(e),KBr);case 7:var d=n[1];if(OI(bSt(e),JBr),d){zwt(e,WBr);var m=d[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,aBr)}),e,m),zwt(e,qBr)}else zwt(e,zBr);return OI(bSt(e),QBr);case 8:var h=n[1];if(OI(bSt(e),ZBr),h){zwt(e,rTr);var k=h[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,uBr)}),e,k),zwt(e,tTr)}else zwt(e,eTr);return OI(bSt(e),nTr);case 9:var y=n[1];if(OI(bSt(e),uTr),y){zwt(e,aTr);var A=y[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,nBr)}),e,A),zwt(e,iTr)}else zwt(e,cTr);return OI(bSt(e),fTr);case 10:var _=n[1];if(OI(bSt(e),oTr),_){zwt(e,sTr);var C=_[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,eBr)}),e,C),zwt(e,vTr)}else zwt(e,lTr);return OI(bSt(e),DTr);case 11:OI(bSt(e),pTr);var w=n[1];return LI(XTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,w),OI(bSt(e),bTr);case 12:OI(bSt(e),ETr);var S=n[1];return LI(XBt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,S),OI(bSt(e),FTr);case 13:OI(bSt(e),dTr);var g=n[1];return LI(PTt[6],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,g),OI(bSt(e),mTr);case 14:OI(bSt(e),hTr);var B=n[1];return LI(GTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,B),OI(bSt(e),kTr);case 15:OI(bSt(e),yTr);var T=n[1];return LI(zTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,T),OI(bSt(e),ATr);case 16:OI(bSt(e),_Tr);var I=n[1];return LI(QBt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,I),OI(bSt(e),CTr);case 17:OI(bSt(e),wTr);var O=n[1];return LI(tTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,O),OI(bSt(e),STr);case 18:OI(bSt(e),gTr);var N=n[1];return LI(uTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,N),OI(bSt(e),BTr);case 19:OI(bSt(e),TTr);var x=n[1];return LI(rIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,x),OI(bSt(e),ITr);case 20:OI(bSt(e),OTr);var L=n[1];return LI(nIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,L),OI(bSt(e),NTr);case 21:OI(bSt(e),xTr);var P=n[1];return LI(YTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,P),OI(bSt(e),LTr);case 22:OI(bSt(e),PTr);var R=n[1];return LI(JTt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,R),OI(bSt(e),RTr);case 23:OI(bSt(e),MTr);var M=n[1];return xI(Cgt[1],(function(t){return OI(r,t)}),e,M),OI(bSt(e),GTr);case 24:OI(bSt(e),UTr);var G=n[1];return xI(wgt[1],(function(t){return OI(r,t)}),e,G),OI(bSt(e),jTr);case 25:OI(bSt(e),XTr);var U=n[1];return xI(Sgt[1],(function(t){return OI(r,t)}),e,U),OI(bSt(e),HTr);default:OI(bSt(e),$Tr);var j=n[1];return xI(ggt[1],(function(t){return OI(r,t)}),e,j),OI(bSt(e),YTr)}})),mB(cIt,(function(r,t,e){var n=NI(iIt,r,t);return NI(ESt(tBr),n,e)})),mB(fIt,(function(r,t,e,n){OI(bSt(e),Qgr),NI(r,e,n[1]),OI(bSt(e),Zgr);var u=n[2];return LI(uIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),rBr)})),mB(oIt,(function(r,t,e){var n=NI(fIt,r,t);return NI(ESt(zgr),n,e)})),mB(sIt,(function(r,t,e,n){if(0===n[0])return OI(bSt(e),Kgr),NI(t,e,n[1]),OI(bSt(e),Jgr);OI(bSt(e),Wgr);var u=n[1];return LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),qgr)})),mB(vIt,(function(r,t,e){var n=NI(sIt,r,t);return NI(ESt(Vgr),n,e)}));var lIt=function r(t,e,n,u){return r.fun(t,e,n,u)},DIt=function r(t,e,n){return r.fun(t,e,n)},pIt=function r(t,e,n,u){return r.fun(t,e,n,u)},bIt=function r(t,e,n){return r.fun(t,e,n)};mB(lIt,(function(r,t,e,n){OI(bSt(e),Hgr),NI(r,e,n[1]),OI(bSt(e),$gr);var u=n[2];return LI(pIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Ygr)})),mB(DIt,(function(r,t,e){var n=NI(lIt,r,t);return NI(ESt(Xgr),n,e)})),mB(pIt,(function(r,t,e,n){OI(bSt(e),mgr),NI(bSt(e),kgr,hgr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),e,u),OI(bSt(e),ygr),OI(bSt(e),Agr),NI(bSt(e),Cgr,_gr);var a=n[2];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),wgr),OI(bSt(e),Sgr),NI(bSt(e),Bgr,ggr);var i=n[3];if(i){zwt(e,Tgr);var c=i[1];xI(Bgt[1],(function(t){return OI(r,t)}),e,c),zwt(e,Igr)}else zwt(e,Ogr);OI(bSt(e),Ngr),OI(bSt(e),xgr),NI(bSt(e),Pgr,Lgr);var f=n[4];if(f){zwt(e,Rgr);var o=f[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),zwt(e,Mgr)}else zwt(e,Ggr);return OI(bSt(e),Ugr),OI(bSt(e),jgr)})),mB(bIt,(function(r,t,e){var n=NI(pIt,r,t);return NI(ESt(dgr),n,e)}));var EIt=[0,lIt,DIt,pIt,bIt],FIt=function r(t,e,n,u){return r.fun(t,e,n,u)},dIt=function r(t,e,n){return r.fun(t,e,n)},mIt=function r(t,e,n,u){return r.fun(t,e,n,u)},hIt=function r(t,e,n){return r.fun(t,e,n)};mB(FIt,(function(r,t,e,n){OI(bSt(e),bgr),NI(r,e,n[1]),OI(bSt(e),Egr);var u=n[2];return LI(mIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Fgr)})),mB(dIt,(function(r,t,e){var n=NI(FIt,r,t);return NI(ESt(pgr),n,e)})),mB(mIt,(function(r,t,e,n){OI(bSt(e),rgr),NI(bSt(e),egr,tgr);var u=n[1];OI(bSt(e),ngr);fCt((function(n,u){return n&&OI(bSt(e),ZSr),LI(EIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),ugr),OI(bSt(e),agr),OI(bSt(e),igr),NI(bSt(e),fgr,cgr);var a=n[2];if(a){zwt(e,ogr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),zSr);return fCt((function(e,n){return e&&OI(bSt(t),qSr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),QSr)}),e,i),zwt(e,sgr)}else zwt(e,vgr);return OI(bSt(e),lgr),OI(bSt(e),Dgr)})),mB(hIt,(function(r,t,e){var n=NI(mIt,r,t);return NI(ESt(WSr),n,e)}));var kIt=function r(t,e,n,u){return r.fun(t,e,n,u)},yIt=function r(t,e,n){return r.fun(t,e,n)},AIt=function r(t,e,n,u){return r.fun(t,e,n,u)},_It=function r(t,e,n){return r.fun(t,e,n)},CIt=[0,FIt,dIt,mIt,hIt];mB(kIt,(function(r,t,e,n){OI(bSt(e),VSr),NI(r,e,n[1]),OI(bSt(e),KSr);var u=n[2];return LI(AIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),JSr)})),mB(yIt,(function(r,t,e){var n=NI(kIt,r,t);return NI(ESt(YSr),n,e)})),mB(AIt,(function(r,t,e,n){OI(bSt(e),ISr),NI(bSt(e),NSr,OSr);var u=n[1];OI(bSt(e),xSr);fCt((function(n,u){return n&&OI(bSt(e),TSr),LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),LSr),OI(bSt(e),PSr),OI(bSt(e),RSr),NI(bSt(e),GSr,MSr);var a=n[2];if(a){zwt(e,USr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),gSr);return fCt((function(e,n){return e&&OI(bSt(t),SSr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),BSr)}),e,i),zwt(e,jSr)}else zwt(e,XSr);return OI(bSt(e),HSr),OI(bSt(e),$Sr)})),mB(_It,(function(r,t,e){var n=NI(AIt,r,t);return NI(ESt(wSr),n,e)}));var wIt=function r(t,e,n,u){return r.fun(t,e,n,u)},SIt=function r(t,e,n){return r.fun(t,e,n)},gIt=function r(t,e,n,u){return r.fun(t,e,n,u)},BIt=function r(t,e,n){return r.fun(t,e,n)},TIt=function r(t,e,n,u){return r.fun(t,e,n,u)},IIt=function r(t,e,n){return r.fun(t,e,n)},OIt=[0,kIt,yIt,AIt,_It];mB(wIt,(function(r,t,e,n){OI(bSt(e),ASr),NI(r,e,n[1]),OI(bSt(e),_Sr);var u=n[2];return LI(gIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),CSr)})),mB(SIt,(function(r,t,e){var n=NI(wIt,r,t);return NI(ESt(ySr),n,e)})),mB(gIt,(function(r,t,e,n){OI(bSt(e),sSr),NI(bSt(e),lSr,vSr);var u=n[1];LI(TIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),DSr),OI(bSt(e),pSr),NI(bSt(e),ESr,bSr);var a=n[2];if(a){zwt(e,FSr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,oSr)}),e,i),zwt(e,dSr)}else zwt(e,mSr);return OI(bSt(e),hSr),OI(bSt(e),kSr)})),mB(BIt,(function(r,t,e){var n=NI(gIt,r,t);return NI(ESt(fSr),n,e)})),mB(TIt,(function(r,t,e,n){if(n){OI(bSt(e),aSr);var u=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),iSr)}return zwt(e,cSr)})),mB(IIt,(function(r,t,e){var n=NI(TIt,r,t);return NI(ESt(uSr),n,e)})),xI(USt,QYr,Igt,[0,XBt,QBt,tTt,uTt,PTt,GTt,XTt,YTt,JTt,zTt,rIt,nIt,uIt,aIt,iIt,cIt,fIt,oIt,sIt,vIt,EIt,CIt,OIt,[0,wIt,SIt,gIt,BIt,TIt,IIt]]);var NIt=function r(t,e,n,u){return r.fun(t,e,n,u)},xIt=function r(t,e,n){return r.fun(t,e,n)};mB(NIt,(function(r,t,e,n){OI(bSt(e),$wr),NI(bSt(e),Vwr,Ywr);var u=n[1];OI(bSt(e),Kwr);fCt((function(n,u){return n&&OI(bSt(e),Hwr),LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),Jwr),OI(bSt(e),Wwr),OI(bSt(e),qwr),NI(bSt(e),Qwr,zwr);var a=n[2];if(a){zwt(e,Zwr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),jwr);return fCt((function(e,n){return e&&OI(bSt(t),Uwr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),Xwr)}),e,i),zwt(e,rSr)}else zwt(e,tSr);return OI(bSt(e),eSr),OI(bSt(e),nSr)})),mB(xIt,(function(r,t,e){var n=NI(NIt,r,t);return NI(ESt(Gwr),n,e)}));var LIt=[0,NIt,xIt],PIt=function r(t,e,n,u){return r.fun(t,e,n,u)},RIt=function r(t,e,n){return r.fun(t,e,n)},MIt=function r(t,e,n,u){return r.fun(t,e,n,u)},GIt=function r(t,e,n){return r.fun(t,e,n)};mB(PIt,(function(r,t,e,n){OI(bSt(e),Pwr),NI(r,e,n[1]),OI(bSt(e),Rwr);var u=n[2];return LI(MIt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Mwr)})),mB(RIt,(function(r,t,e){var n=NI(PIt,r,t);return NI(ESt(Lwr),n,e)})),mB(MIt,(function(r,t,e,n){OI(bSt(e),Awr),NI(bSt(e),Cwr,_wr);var u=n[1];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),wwr),OI(bSt(e),Swr),NI(bSt(e),Bwr,gwr);var a=n[2];if(a){zwt(e,Twr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,ywr)}),e,i),zwt(e,Iwr)}else zwt(e,Owr);return OI(bSt(e),Nwr),OI(bSt(e),xwr)})),mB(GIt,(function(r,t,e){var n=NI(MIt,r,t);return NI(ESt(kwr),n,e)}));var UIt=[0,PIt,RIt,MIt,GIt],jIt=function r(t,e,n,u){return r.fun(t,e,n,u)},XIt=function r(t,e,n){return r.fun(t,e,n)};mB(jIt,(function(r,t,e,n){OI(bSt(e),QCr),NI(bSt(e),rwr,ZCr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),twr),OI(bSt(e),ewr),NI(bSt(e),uwr,nwr);var a=n[2];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),awr),OI(bSt(e),iwr),NI(bSt(e),fwr,cwr);var i=n[3];if(i){zwt(e,owr);var c=i[1];LI(UIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,swr)}else zwt(e,vwr);OI(bSt(e),lwr),OI(bSt(e),Dwr),NI(bSt(e),bwr,pwr);var f=n[4];if(f){zwt(e,Ewr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,zCr)}),e,o),zwt(e,Fwr)}else zwt(e,dwr);return OI(bSt(e),mwr),OI(bSt(e),hwr)})),mB(XIt,(function(r,t,e){var n=NI(jIt,r,t);return NI(ESt(qCr),n,e)}));var HIt=[0,UIt,jIt,XIt],$It=function r(t,e,n,u){return r.fun(t,e,n,u)},YIt=function r(t,e,n){return r.fun(t,e,n)};mB($It,(function(r,t,e,n){OI(bSt(e),xCr),NI(bSt(e),PCr,LCr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),e,u),OI(bSt(e),RCr),OI(bSt(e),MCr),NI(bSt(e),UCr,GCr);var a=n[2];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),jCr),OI(bSt(e),XCr),NI(bSt(e),$Cr,HCr);var i=n[3];if(i){zwt(e,YCr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,NCr)}),e,c),zwt(e,VCr)}else zwt(e,KCr);return OI(bSt(e),JCr),OI(bSt(e),WCr)})),mB(YIt,(function(r,t,e){var n=NI($It,r,t);return NI(ESt(OCr),n,e)}));var VIt=[0,$It,YIt],KIt=function r(t,e,n){return r.fun(t,e,n)},JIt=function r(t,e){return r.fun(t,e)};mB(KIt,(function(r,t,e){OI(bSt(t),FCr),NI(bSt(t),mCr,dCr);var n=e[1];if(n){zwt(t,hCr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,u),zwt(t,kCr)}else zwt(t,yCr);OI(bSt(t),ACr),OI(bSt(t),_Cr),NI(bSt(t),wCr,CCr);var a=e[2];if(a){zwt(t,SCr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,ECr)}),t,i),zwt(t,gCr)}else zwt(t,BCr);return OI(bSt(t),TCr),OI(bSt(t),ICr)})),mB(JIt,(function(r,t){var e=OI(KIt,r);return NI(ESt(bCr),e,t)}));var WIt=[0,KIt,JIt],qIt=function r(t,e,n){return r.fun(t,e,n)},zIt=function r(t,e){return r.fun(t,e)};mB(qIt,(function(r,t,e){OI(bSt(t),rCr),NI(bSt(t),eCr,tCr);var n=e[1];if(n){zwt(t,nCr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,u),zwt(t,uCr)}else zwt(t,aCr);OI(bSt(t),iCr),OI(bSt(t),cCr),NI(bSt(t),oCr,fCr);var a=e[2];if(a){zwt(t,sCr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Z_r)}),t,i),zwt(t,vCr)}else zwt(t,lCr);return OI(bSt(t),DCr),OI(bSt(t),pCr)})),mB(zIt,(function(r,t){var e=OI(qIt,r);return NI(ESt(Q_r),e,t)}));var QIt=[0,qIt,zIt],ZIt=function r(t,e,n){return r.fun(t,e,n)},rOt=function r(t,e){return r.fun(t,e)};mB(ZIt,(function(r,t,e){OI(bSt(t),$_r),NI(bSt(t),V_r,Y_r);var n=e[1];if(n){zwt(t,K_r);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,H_r)}),t,u),zwt(t,J_r)}else zwt(t,W_r);return OI(bSt(t),q_r),OI(bSt(t),z_r)})),mB(rOt,(function(r,t){var e=OI(ZIt,r);return NI(ESt(X_r),e,t)}));var tOt=[0,ZIt,rOt],eOt=function r(t,e,n,u){return r.fun(t,e,n,u)},nOt=function r(t,e,n){return r.fun(t,e,n)};mB(eOt,(function(r,t,e,n){OI(bSt(e),w_r),NI(bSt(e),g_r,S_r);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),B_r),OI(bSt(e),T_r),NI(bSt(e),O_r,I_r);var a=n[2];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),N_r),OI(bSt(e),x_r),NI(bSt(e),P_r,L_r);var i=n[3];if(i){zwt(e,R_r);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,C_r)}),e,c),zwt(e,M_r)}else zwt(e,G_r);return OI(bSt(e),U_r),OI(bSt(e),j_r)})),mB(nOt,(function(r,t,e){var n=NI(eOt,r,t);return NI(ESt(__r),n,e)}));var uOt=[0,eOt,nOt],aOt=function r(t,e,n,u){return r.fun(t,e,n,u)},iOt=function r(t,e,n){return r.fun(t,e,n)};mB(aOt,(function(r,t,e,n){OI(bSt(e),t_r),NI(bSt(e),n_r,e_r);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),u_r),OI(bSt(e),a_r),NI(bSt(e),c_r,i_r);var a=n[2];if(a){zwt(e,f_r);var i=a[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,o_r)}else zwt(e,s_r);OI(bSt(e),v_r),OI(bSt(e),l_r),NI(bSt(e),p_r,D_r);var c=n[3];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),b_r),OI(bSt(e),E_r),NI(bSt(e),d_r,F_r);var f=n[4];if(f){zwt(e,m_r);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,r_r)}),e,o),zwt(e,h_r)}else zwt(e,k_r);return OI(bSt(e),y_r),OI(bSt(e),A_r)})),mB(iOt,(function(r,t,e){var n=NI(aOt,r,t);return NI(ESt(ZAr),n,e)}));var cOt=[0,aOt,iOt],fOt=function r(t,e,n,u){return r.fun(t,e,n,u)},oOt=function r(t,e,n){return r.fun(t,e,n)};mB(fOt,(function(r,t,e,n){OI(bSt(e),hAr),NI(bSt(e),yAr,kAr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),AAr),OI(bSt(e),_Ar),NI(bSt(e),wAr,CAr);var a=n[2];if(a){zwt(e,SAr);var i=a[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,gAr)}else zwt(e,BAr);OI(bSt(e),TAr),OI(bSt(e),IAr),NI(bSt(e),NAr,OAr);var c=n[3];if(c){zwt(e,xAr);var f=c[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),zwt(e,LAr)}else zwt(e,PAr);OI(bSt(e),RAr),OI(bSt(e),MAr),NI(bSt(e),UAr,GAr);var o=n[4];if(o){zwt(e,jAr);var s=o[1];LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),zwt(e,XAr)}else zwt(e,HAr);OI(bSt(e),$Ar),OI(bSt(e),YAr),NI(bSt(e),KAr,VAr);var v=n[5];if(v){zwt(e,JAr);var l=v[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,mAr)}),e,l),zwt(e,WAr)}else zwt(e,qAr);return OI(bSt(e),zAr),OI(bSt(e),QAr)})),mB(oOt,(function(r,t,e){var n=NI(fOt,r,t);return NI(ESt(dAr),n,e)}));var sOt=[0,fOt,oOt],vOt=function r(t,e,n,u){return r.fun(t,e,n,u)},lOt=function r(t,e,n){return r.fun(t,e,n)},DOt=function r(t,e,n,u){return r.fun(t,e,n,u)},pOt=function r(t,e,n){return r.fun(t,e,n)};mB(vOt,(function(r,t,e,n){OI(bSt(e),bAr),NI(r,e,n[1]),OI(bSt(e),EAr);var u=n[2];return LI(DOt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),FAr)})),mB(lOt,(function(r,t,e){var n=NI(vOt,r,t);return NI(ESt(pAr),n,e)})),mB(DOt,(function(r,t,e,n){OI(bSt(e),Kyr),NI(bSt(e),Wyr,Jyr);var u=n[1];if(u){zwt(e,qyr);var a=u[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,zyr)}else zwt(e,Qyr);OI(bSt(e),Zyr),OI(bSt(e),rAr),NI(bSt(e),eAr,tAr);var i=n[2];OI(bSt(e),nAr);fCt((function(n,u){return n&&OI(bSt(e),Vyr),LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,i),OI(bSt(e),uAr),OI(bSt(e),aAr),OI(bSt(e),iAr),NI(bSt(e),fAr,cAr);var c=n[3];if(c){zwt(e,oAr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Yyr)}),e,f),zwt(e,sAr)}else zwt(e,vAr);return OI(bSt(e),lAr),OI(bSt(e),DAr)})),mB(pOt,(function(r,t,e){var n=NI(DOt,r,t);return NI(ESt($yr),n,e)}));var bOt=[0,vOt,lOt,DOt,pOt],EOt=function r(t,e,n,u){return r.fun(t,e,n,u)},FOt=function r(t,e,n){return r.fun(t,e,n)};mB(EOt,(function(r,t,e,n){OI(bSt(e),wyr),NI(bSt(e),gyr,Syr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Byr),OI(bSt(e),Tyr),NI(bSt(e),Oyr,Iyr);var a=n[2];OI(bSt(e),Nyr);fCt((function(n,u){return n&&OI(bSt(e),Cyr),LI(bOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,a),OI(bSt(e),xyr),OI(bSt(e),Lyr),OI(bSt(e),Pyr),NI(bSt(e),Myr,Ryr);var i=n[3];if(i){zwt(e,Gyr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,_yr)}),e,c),zwt(e,Uyr)}else zwt(e,jyr);return OI(bSt(e),Xyr),OI(bSt(e),Hyr)})),mB(FOt,(function(r,t,e){var n=NI(EOt,r,t);return NI(ESt(Ayr),n,e)}));var dOt=[0,bOt,EOt,FOt],mOt=function r(t,e,n,u){return r.fun(t,e,n,u)},hOt=function r(t,e,n){return r.fun(t,e,n)};mB(mOt,(function(r,t,e,n){OI(bSt(e),fyr),NI(bSt(e),syr,oyr);var u=n[1];if(u){zwt(e,vyr);var a=u[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,lyr)}else zwt(e,Dyr);OI(bSt(e),pyr),OI(bSt(e),byr),NI(bSt(e),Fyr,Eyr);var i=n[2];if(i){zwt(e,dyr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,cyr)}),e,c),zwt(e,myr)}else zwt(e,hyr);return OI(bSt(e),kyr),OI(bSt(e),yyr)})),mB(hOt,(function(r,t,e){var n=NI(mOt,r,t);return NI(ESt(iyr),n,e)}));var kOt=[0,mOt,hOt],yOt=function r(t,e,n,u){return r.fun(t,e,n,u)},AOt=function r(t,e,n){return r.fun(t,e,n)};mB(yOt,(function(r,t,e,n){OI(bSt(e),Jkr),NI(bSt(e),qkr,Wkr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),zkr),OI(bSt(e),Qkr),NI(bSt(e),ryr,Zkr);var a=n[2];if(a){zwt(e,tyr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Kkr)}),e,i),zwt(e,eyr)}else zwt(e,nyr);return OI(bSt(e),uyr),OI(bSt(e),ayr)})),mB(AOt,(function(r,t,e){var n=NI(yOt,r,t);return NI(ESt(Vkr),n,e)}));var _Ot=[0,yOt,AOt],COt=function r(t,e,n,u){return r.fun(t,e,n,u)},wOt=function r(t,e,n){return r.fun(t,e,n)},SOt=function r(t,e,n,u){return r.fun(t,e,n,u)},gOt=function r(t,e,n){return r.fun(t,e,n)};mB(COt,(function(r,t,e,n){OI(bSt(e),Hkr),NI(r,e,n[1]),OI(bSt(e),$kr);var u=n[2];return LI(SOt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Ykr)})),mB(wOt,(function(r,t,e){var n=NI(COt,r,t);return NI(ESt(Xkr),n,e)})),mB(SOt,(function(r,t,e,n){OI(bSt(e),hkr),NI(bSt(e),ykr,kkr);var u=n[1];if(u){zwt(e,Akr);var a=u[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,_kr)}else zwt(e,Ckr);OI(bSt(e),wkr),OI(bSt(e),Skr),NI(bSt(e),Bkr,gkr);var i=n[2];OI(bSt(e),Tkr),NI(r,e,i[1]),OI(bSt(e),Ikr);var c=i[2];LI(LIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),Okr),OI(bSt(e),Nkr),OI(bSt(e),xkr),NI(bSt(e),Pkr,Lkr);var f=n[3];if(f){zwt(e,Rkr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,mkr)}),e,o),zwt(e,Mkr)}else zwt(e,Gkr);return OI(bSt(e),Ukr),OI(bSt(e),jkr)})),mB(gOt,(function(r,t,e){var n=NI(SOt,r,t);return NI(ESt(dkr),n,e)}));var BOt=[0,COt,wOt,SOt,gOt],TOt=function r(t,e,n,u){return r.fun(t,e,n,u)},IOt=function r(t,e,n){return r.fun(t,e,n)};mB(TOt,(function(r,t,e,n){OI(bSt(e),Uhr),NI(bSt(e),Xhr,jhr);var u=n[1];OI(bSt(e),Hhr),NI(r,e,u[1]),OI(bSt(e),$hr);var a=u[2];LI(LIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Yhr),OI(bSt(e),Vhr),OI(bSt(e),Khr),NI(bSt(e),Whr,Jhr);var i=n[2];if(i){zwt(e,qhr);var c=i[1];LI(BOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,zhr)}else zwt(e,Qhr);OI(bSt(e),Zhr),OI(bSt(e),rkr),NI(bSt(e),ekr,tkr);var f=n[3];if(f){var o=f[1];zwt(e,nkr),OI(bSt(e),ukr),NI(r,e,o[1]),OI(bSt(e),akr);var s=o[2];LI(LIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),OI(bSt(e),ikr),zwt(e,ckr)}else zwt(e,fkr);OI(bSt(e),okr),OI(bSt(e),skr),NI(bSt(e),lkr,vkr);var v=n[4];if(v){zwt(e,Dkr);var l=v[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Ghr)}),e,l),zwt(e,pkr)}else zwt(e,bkr);return OI(bSt(e),Ekr),OI(bSt(e),Fkr)})),mB(IOt,(function(r,t,e){var n=NI(TOt,r,t);return NI(ESt(Mhr),n,e)}));var OOt=[0,BOt,TOt,IOt],NOt=function r(t,e,n,u){return r.fun(t,e,n,u)},xOt=function r(t,e,n){return r.fun(t,e,n)},LOt=function r(t,e,n,u){return r.fun(t,e,n,u)},POt=function r(t,e,n){return r.fun(t,e,n)};mB(NOt,(function(r,t,e,n){OI(bSt(e),Lhr),NI(r,e,n[1]),OI(bSt(e),Phr);var u=n[2];return LI(LOt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Rhr)})),mB(xOt,(function(r,t,e){var n=NI(NOt,r,t);return NI(ESt(xhr),n,e)})),mB(LOt,(function(r,t,e,n){OI(bSt(e),yhr),NI(bSt(e),_hr,Ahr);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Chr),OI(bSt(e),whr),NI(bSt(e),ghr,Shr);var a=n[2];if(a){zwt(e,Bhr);var i=a[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,Thr)}else zwt(e,Ihr);return OI(bSt(e),Ohr),OI(bSt(e),Nhr)})),mB(POt,(function(r,t,e){var n=NI(LOt,r,t);return NI(ESt(khr),n,e)}));var ROt=[0,NOt,xOt,LOt,POt],MOt=function r(t,e,n,u){return r.fun(t,e,n,u)},GOt=function r(t,e,n){return r.fun(t,e,n)},UOt=function r(t,e){return r.fun(t,e)},jOt=function r(t){return r.fun(t)};mB(MOt,(function(r,t,e,n){OI(bSt(e),nhr),NI(bSt(e),ahr,uhr);var u=n[1];OI(bSt(e),ihr);fCt((function(n,u){return n&&OI(bSt(e),ehr),LI(ROt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),chr),OI(bSt(e),fhr),OI(bSt(e),ohr),NI(bSt(e),vhr,shr),NI(UOt,e,n[2]),OI(bSt(e),lhr),OI(bSt(e),Dhr),NI(bSt(e),bhr,phr);var a=n[3];if(a){zwt(e,Ehr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,thr)}),e,i),zwt(e,Fhr)}else zwt(e,dhr);return OI(bSt(e),mhr),OI(bSt(e),hhr)})),mB(GOt,(function(r,t,e){var n=NI(MOt,r,t);return NI(ESt(rhr),n,e)})),mB(UOt,(function(r,t){switch(t){case 0:return zwt(r,zmr);case 1:return zwt(r,Qmr);default:return zwt(r,Zmr)}})),mB(jOt,(function(r){return NI(ESt(qmr),UOt,r)}));var XOt=[0,ROt,MOt,GOt,UOt,jOt],HOt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Ot=function r(t,e,n){return r.fun(t,e,n)};mB(HOt,(function(r,t,e,n){OI(bSt(e),xmr),NI(bSt(e),Pmr,Lmr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Rmr),OI(bSt(e),Mmr),NI(bSt(e),Umr,Gmr);var a=n[2];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),jmr),OI(bSt(e),Xmr),NI(bSt(e),$mr,Hmr);var i=n[3];if(i){zwt(e,Ymr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Nmr)}),e,c),zwt(e,Vmr)}else zwt(e,Kmr);return OI(bSt(e),Jmr),OI(bSt(e),Wmr)})),mB($Ot,(function(r,t,e){var n=NI(HOt,r,t);return NI(ESt(Omr),n,e)}));var YOt=[0,HOt,$Ot],VOt=function r(t,e,n,u){return r.fun(t,e,n,u)},KOt=function r(t,e,n){return r.fun(t,e,n)};mB(VOt,(function(r,t,e,n){OI(bSt(e),Emr),NI(bSt(e),dmr,Fmr);var u=n[1];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),mmr),OI(bSt(e),hmr),NI(bSt(e),ymr,kmr);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Amr),OI(bSt(e),_mr),NI(bSt(e),wmr,Cmr);var i=n[3];if(i){zwt(e,Smr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,bmr)}),e,c),zwt(e,gmr)}else zwt(e,Bmr);return OI(bSt(e),Tmr),OI(bSt(e),Imr)})),mB(KOt,(function(r,t,e){var n=NI(VOt,r,t);return NI(ESt(pmr),n,e)}));var JOt=[0,VOt,KOt],WOt=function r(t,e,n,u){return r.fun(t,e,n,u)},qOt=function r(t,e,n){return r.fun(t,e,n)},zOt=function r(t,e,n,u){return r.fun(t,e,n,u)},QOt=function r(t,e,n){return r.fun(t,e,n)};mB(WOt,(function(r,t,e,n){OI(bSt(e),Ldr),NI(bSt(e),Rdr,Pdr);var u=n[1];if(u){zwt(e,Mdr);var a=u[1];LI(zOt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,Gdr)}else zwt(e,Udr);OI(bSt(e),jdr),OI(bSt(e),Xdr),NI(bSt(e),$dr,Hdr);var i=n[2];if(i){zwt(e,Ydr);var c=i[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,Vdr)}else zwt(e,Kdr);OI(bSt(e),Jdr),OI(bSt(e),Wdr),NI(bSt(e),zdr,qdr);var f=n[3];if(f){zwt(e,Qdr);var o=f[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),zwt(e,Zdr)}else zwt(e,rmr);OI(bSt(e),tmr),OI(bSt(e),emr),NI(bSt(e),umr,nmr);var s=n[4];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),OI(bSt(e),amr),OI(bSt(e),imr),NI(bSt(e),fmr,cmr);var v=n[5];if(v){zwt(e,omr);var l=v[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,xdr)}),e,l),zwt(e,smr)}else zwt(e,vmr);return OI(bSt(e),lmr),OI(bSt(e),Dmr)})),mB(qOt,(function(r,t,e){var n=NI(WOt,r,t);return NI(ESt(Ndr),n,e)})),mB(zOt,(function(r,t,e,n){if(0===n[0]){var u=n[1];OI(bSt(e),wdr),OI(bSt(e),Sdr),NI(r,e,u[1]),OI(bSt(e),gdr);var a=u[2];return LI(XOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Bdr),OI(bSt(e),Tdr)}OI(bSt(e),Idr);var i=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),Odr)})),mB(QOt,(function(r,t,e){var n=NI(zOt,r,t);return NI(ESt(Cdr),n,e)}));var ZOt=[0,WOt,qOt,zOt,QOt],rNt=function r(t,e,n,u){return r.fun(t,e,n,u)},tNt=function r(t,e,n){return r.fun(t,e,n)},eNt=function r(t,e,n,u){return r.fun(t,e,n,u)},nNt=function r(t,e,n){return r.fun(t,e,n)};mB(rNt,(function(r,t,e,n){OI(bSt(e),rdr),NI(bSt(e),edr,tdr);var u=n[1];LI(eNt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),ndr),OI(bSt(e),udr),NI(bSt(e),idr,adr);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),cdr),OI(bSt(e),fdr),NI(bSt(e),sdr,odr);var i=n[3];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),vdr),OI(bSt(e),ldr),NI(bSt(e),pdr,Ddr);var c=n[4];NI(bSt(e),bdr,c),OI(bSt(e),Edr),OI(bSt(e),Fdr),NI(bSt(e),mdr,ddr);var f=n[5];if(f){zwt(e,hdr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,ZFr)}),e,o),zwt(e,kdr)}else zwt(e,ydr);return OI(bSt(e),Adr),OI(bSt(e),_dr)})),mB(tNt,(function(r,t,e){var n=NI(rNt,r,t);return NI(ESt(QFr),n,e)})),mB(eNt,(function(r,t,e,n){if(0===n[0]){var u=n[1];OI(bSt(e),YFr),OI(bSt(e),VFr),NI(r,e,u[1]),OI(bSt(e),KFr);var a=u[2];return LI(XOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),JFr),OI(bSt(e),WFr)}OI(bSt(e),qFr);var i=n[1];return LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),zFr)})),mB(nNt,(function(r,t,e){var n=NI(eNt,r,t);return NI(ESt($Fr),n,e)}));var uNt=[0,rNt,tNt,eNt,nNt],aNt=function r(t,e,n,u){return r.fun(t,e,n,u)},iNt=function r(t,e,n){return r.fun(t,e,n)},cNt=function r(t,e,n,u){return r.fun(t,e,n,u)},fNt=function r(t,e,n){return r.fun(t,e,n)};mB(aNt,(function(r,t,e,n){OI(bSt(e),mFr),NI(bSt(e),kFr,hFr);var u=n[1];LI(cNt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),yFr),OI(bSt(e),AFr),NI(bSt(e),CFr,_Fr);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),wFr),OI(bSt(e),SFr),NI(bSt(e),BFr,gFr);var i=n[3];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),TFr),OI(bSt(e),IFr),NI(bSt(e),NFr,OFr);var c=n[4];NI(bSt(e),xFr,c),OI(bSt(e),LFr),OI(bSt(e),PFr),NI(bSt(e),MFr,RFr);var f=n[5];if(f){zwt(e,GFr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,dFr)}),e,o),zwt(e,UFr)}else zwt(e,jFr);return OI(bSt(e),XFr),OI(bSt(e),HFr)})),mB(iNt,(function(r,t,e){var n=NI(aNt,r,t);return NI(ESt(FFr),n,e)})),mB(cNt,(function(r,t,e,n){if(0===n[0]){var u=n[1];OI(bSt(e),sFr),OI(bSt(e),vFr),NI(r,e,u[1]),OI(bSt(e),lFr);var a=u[2];return LI(XOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),DFr),OI(bSt(e),pFr)}OI(bSt(e),bFr);var i=n[1];return LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),EFr)})),mB(fNt,(function(r,t,e){var n=NI(cNt,r,t);return NI(ESt(oFr),n,e)}));var oNt=[0,aNt,iNt,cNt,fNt],sNt=function r(t,e,n){return r.fun(t,e,n)},vNt=function r(t,e){return r.fun(t,e)},lNt=function r(t,e,n){return r.fun(t,e,n)},DNt=function r(t,e){return r.fun(t,e)};mB(sNt,(function(r,t,e){OI(bSt(t),iFr),NI(r,t,e[1]),OI(bSt(t),cFr);var n=e[2];return xI(lNt,(function(t){return OI(r,t)}),t,n),OI(bSt(t),fFr)})),mB(vNt,(function(r,t){var e=OI(sNt,r);return NI(ESt(aFr),e,t)})),mB(lNt,(function(r,t,e){OI(bSt(t),rFr),NI(bSt(t),eFr,tFr);var n=e[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,n),OI(bSt(t),nFr),OI(bSt(t),uFr)})),mB(DNt,(function(r,t){var e=OI(lNt,r);return NI(ESt(ZEr),e,t)}));var pNt=[0,sNt,vNt,lNt,DNt],bNt=function r(t,e,n,u){return r.fun(t,e,n,u)},ENt=function r(t,e,n){return r.fun(t,e,n)},FNt=function r(t,e,n,u){return r.fun(t,e,n,u)},dNt=function r(t,e,n){return r.fun(t,e,n)};mB(bNt,(function(r,t,e,n){OI(bSt(e),qEr),NI(t,e,n[1]),OI(bSt(e),zEr);var u=n[2];return LI(FNt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),QEr)})),mB(ENt,(function(r,t,e){var n=NI(bNt,r,t);return NI(ESt(WEr),n,e)})),mB(FNt,(function(r,t,e,n){OI(bSt(e),REr),NI(bSt(e),GEr,MEr);var u=n[1];LI(ygt[1],(function(r){return OI(t,r)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),UEr),OI(bSt(e),jEr),NI(bSt(e),HEr,XEr);var a=n[2];return OI(bSt(e),$Er),NI(t,e,a[1]),OI(bSt(e),YEr),NI(r,e,a[2]),OI(bSt(e),VEr),OI(bSt(e),KEr),OI(bSt(e),JEr)})),mB(dNt,(function(r,t,e){var n=NI(FNt,r,t);return NI(ESt(PEr),n,e)}));var mNt=[0,bNt,ENt,FNt,dNt],hNt=function r(t,e,n){return r.fun(t,e,n)},kNt=function r(t,e){return r.fun(t,e)};mB(hNt,(function(r,t,e){OI(bSt(t),lEr),NI(bSt(t),pEr,DEr);var n=e[1];OI(bSt(t),bEr);fCt((function(e,n){return e&&OI(bSt(t),vEr),LI(mNt[1],(function(t){return NI(ggt[1],(function(t){return OI(r,t)}),t)}),(function(t){return OI(r,t)}),t,n),1}),0,n),OI(bSt(t),EEr),OI(bSt(t),FEr),OI(bSt(t),dEr),NI(bSt(t),hEr,mEr);var u=e[2];NI(bSt(t),kEr,u),OI(bSt(t),yEr),OI(bSt(t),AEr),NI(bSt(t),CEr,_Er);var a=e[3];NI(bSt(t),wEr,a),OI(bSt(t),SEr),OI(bSt(t),gEr),NI(bSt(t),TEr,BEr);var i=e[4];if(i){zwt(t,IEr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,sEr)}),t,c),zwt(t,OEr)}else zwt(t,NEr);return OI(bSt(t),xEr),OI(bSt(t),LEr)})),mB(kNt,(function(r,t){var e=OI(hNt,r);return NI(ESt(oEr),e,t)}));var yNt=[0,hNt,kNt],ANt=function r(t,e,n){return r.fun(t,e,n)},_Nt=function r(t,e){return r.fun(t,e)};mB(ANt,(function(r,t,e){OI(bSt(t),Gbr),NI(bSt(t),jbr,Ubr);var n=e[1];OI(bSt(t),Xbr);fCt((function(e,n){return e&&OI(bSt(t),Mbr),LI(mNt[1],(function(t){return NI(wgt[1],(function(t){return OI(r,t)}),t)}),(function(t){return OI(r,t)}),t,n),1}),0,n),OI(bSt(t),Hbr),OI(bSt(t),$br),OI(bSt(t),Ybr),NI(bSt(t),Kbr,Vbr);var u=e[2];NI(bSt(t),Jbr,u),OI(bSt(t),Wbr),OI(bSt(t),qbr),NI(bSt(t),Qbr,zbr);var a=e[3];NI(bSt(t),Zbr,a),OI(bSt(t),rEr),OI(bSt(t),tEr),NI(bSt(t),nEr,eEr);var i=e[4];if(i){zwt(t,uEr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Rbr)}),t,c),zwt(t,aEr)}else zwt(t,iEr);return OI(bSt(t),cEr),OI(bSt(t),fEr)})),mB(_Nt,(function(r,t){var e=OI(ANt,r);return NI(ESt(Pbr),e,t)}));var CNt=[0,ANt,_Nt],wNt=function r(t,e,n){return r.fun(t,e,n)},SNt=function r(t,e){return r.fun(t,e)},gNt=function r(t,e,n,u){return r.fun(t,e,n,u)},BNt=function r(t,e,n){return r.fun(t,e,n)};mB(wNt,(function(r,t,e){OI(bSt(t),pbr),NI(bSt(t),Ebr,bbr);var n=e[1];LI(gNt,(function(t){return NI(Cgt[1],(function(t){return OI(r,t)}),t)}),(function(t){return OI(r,t)}),t,n),OI(bSt(t),Fbr),OI(bSt(t),dbr),NI(bSt(t),hbr,mbr);var u=e[2];NI(bSt(t),kbr,u),OI(bSt(t),ybr),OI(bSt(t),Abr),NI(bSt(t),Cbr,_br);var a=e[3];NI(bSt(t),wbr,a),OI(bSt(t),Sbr),OI(bSt(t),gbr),NI(bSt(t),Tbr,Bbr);var i=e[4];if(i){zwt(t,Ibr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Dbr)}),t,c),zwt(t,Obr)}else zwt(t,Nbr);return OI(bSt(t),xbr),OI(bSt(t),Lbr)})),mB(SNt,(function(r,t){var e=OI(wNt,r);return NI(ESt(lbr),e,t)})),mB(gNt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),ubr),OI(bSt(e),abr);return fCt((function(r,n){return r&&OI(bSt(e),nbr),xI(pNt[1],(function(r){return OI(t,r)}),e,n),1}),0,n[1]),OI(bSt(e),ibr),OI(bSt(e),cbr)}OI(bSt(e),fbr),OI(bSt(e),obr);return fCt((function(n,u){return n&&OI(bSt(e),ebr),LI(mNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,n[1]),OI(bSt(e),sbr),OI(bSt(e),vbr)})),mB(BNt,(function(r,t,e){var n=NI(gNt,r,t);return NI(ESt(tbr),n,e)}));var TNt=[0,wNt,SNt,gNt,BNt],INt=function r(t,e,n){return r.fun(t,e,n)},ONt=function r(t,e){return r.fun(t,e)};mB(INt,(function(r,t,e){OI(bSt(t),Ppr),NI(bSt(t),Mpr,Rpr);var n=e[1];OI(bSt(t),Gpr);fCt((function(e,n){return e&&OI(bSt(t),Lpr),xI(pNt[1],(function(t){return OI(r,t)}),t,n),1}),0,n),OI(bSt(t),Upr),OI(bSt(t),jpr),OI(bSt(t),Xpr),NI(bSt(t),$pr,Hpr);var u=e[2];NI(bSt(t),Ypr,u),OI(bSt(t),Vpr),OI(bSt(t),Kpr),NI(bSt(t),Wpr,Jpr);var a=e[3];if(a){zwt(t,qpr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,xpr)}),t,i),zwt(t,zpr)}else zwt(t,Qpr);return OI(bSt(t),Zpr),OI(bSt(t),rbr)})),mB(ONt,(function(r,t){var e=OI(INt,r);return NI(ESt(Npr),e,t)}));var NNt=[0,INt,ONt],xNt=function r(t,e,n,u){return r.fun(t,e,n,u)},LNt=function r(t,e,n){return r.fun(t,e,n)},PNt=function r(t,e,n){return r.fun(t,e,n)},RNt=function r(t,e){return r.fun(t,e)},MNt=function r(t,e,n){return r.fun(t,e,n)},GNt=function r(t,e){return r.fun(t,e)};mB(xNt,(function(r,t,e,n){OI(bSt(e),Fpr),NI(bSt(e),mpr,dpr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),hpr),OI(bSt(e),kpr),NI(bSt(e),Apr,ypr);var a=n[2];xI(PNt,(function(t){return OI(r,t)}),e,a),OI(bSt(e),_pr),OI(bSt(e),Cpr),NI(bSt(e),Spr,wpr);var i=n[3];if(i){zwt(e,gpr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Epr)}),e,c),zwt(e,Bpr)}else zwt(e,Tpr);return OI(bSt(e),Ipr),OI(bSt(e),Opr)})),mB(LNt,(function(r,t,e){var n=NI(xNt,r,t);return NI(ESt(bpr),n,e)})),mB(PNt,(function(r,t,e){OI(bSt(t),lpr),NI(r,t,e[1]),OI(bSt(t),Dpr);var n=e[2];return xI(MNt,(function(t){return OI(r,t)}),t,n),OI(bSt(t),ppr)})),mB(RNt,(function(r,t){var e=OI(PNt,r);return NI(ESt(vpr),e,t)})),mB(MNt,(function(r,t,e){switch(e[0]){case 0:OI(bSt(t),npr);var n=e[1];return xI(yNt[1],(function(t){return OI(r,t)}),t,n),OI(bSt(t),upr);case 1:OI(bSt(t),apr);var u=e[1];return xI(CNt[1],(function(t){return OI(r,t)}),t,u),OI(bSt(t),ipr);case 2:OI(bSt(t),cpr);var a=e[1];return xI(TNt[1],(function(t){return OI(r,t)}),t,a),OI(bSt(t),fpr);default:OI(bSt(t),opr);var i=e[1];return xI(NNt[1],(function(t){return OI(r,t)}),t,i),OI(bSt(t),spr)}})),mB(GNt,(function(r,t){var e=OI(MNt,r);return NI(ESt(epr),e,t)}));var UNt=[0,pNt,mNt,yNt,CNt,TNt,NNt,xNt,LNt,PNt,RNt,MNt,GNt],jNt=function r(t,e,n,u){return r.fun(t,e,n,u)},XNt=function r(t,e,n){return r.fun(t,e,n)};mB(jNt,(function(r,t,e,n){OI(bSt(e),_Dr),NI(bSt(e),wDr,CDr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),SDr),OI(bSt(e),gDr),NI(bSt(e),TDr,BDr);var a=n[2];if(a){zwt(e,IDr);var i=a[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,ODr)}else zwt(e,NDr);OI(bSt(e),xDr),OI(bSt(e),LDr),NI(bSt(e),RDr,PDr);var c=n[3];OI(bSt(e),MDr);fCt((function(n,u){n&&OI(bSt(e),hDr),OI(bSt(e),kDr),NI(r,e,u[1]),OI(bSt(e),yDr);var a=u[2];return LI(Igt[2][2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),ADr),1}),0,c),OI(bSt(e),GDr),OI(bSt(e),UDr),OI(bSt(e),jDr),NI(bSt(e),HDr,XDr);var f=n[4];OI(bSt(e),$Dr),NI(r,e,f[1]),OI(bSt(e),YDr);var o=f[2];LI(Igt[5][6],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),OI(bSt(e),VDr),OI(bSt(e),KDr),OI(bSt(e),JDr),NI(bSt(e),qDr,WDr);var s=n[5];if(s){zwt(e,zDr);var v=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,mDr)}),e,v),zwt(e,QDr)}else zwt(e,ZDr);return OI(bSt(e),rpr),OI(bSt(e),tpr)})),mB(XNt,(function(r,t,e){var n=NI(jNt,r,t);return NI(ESt(dDr),n,e)}));var HNt=[0,jNt,XNt],$Nt=function r(t,e,n,u){return r.fun(t,e,n,u)},YNt=function r(t,e,n){return r.fun(t,e,n)};mB($Nt,(function(r,t,e,n){OI(bSt(e),Alr),NI(bSt(e),Clr,_lr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),wlr),OI(bSt(e),Slr),NI(bSt(e),Blr,glr);var a=n[2];if(a){zwt(e,Tlr);var i=a[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,Ilr)}else zwt(e,Olr);OI(bSt(e),Nlr),OI(bSt(e),xlr),NI(bSt(e),Plr,Llr);var c=n[3];OI(bSt(e),Rlr),NI(r,e,c[1]),OI(bSt(e),Mlr);var f=c[2];LI(Igt[5][6],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),Glr),OI(bSt(e),Ulr),OI(bSt(e),jlr),NI(bSt(e),Hlr,Xlr);var o=n[4];if(o){var s=o[1];zwt(e,$lr),OI(bSt(e),Ylr),NI(r,e,s[1]),OI(bSt(e),Vlr);var v=s[2];LI(Igt[2][2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,v),OI(bSt(e),Klr),zwt(e,Jlr)}else zwt(e,Wlr);OI(bSt(e),qlr),OI(bSt(e),zlr),NI(bSt(e),Zlr,Qlr);var l=n[5];OI(bSt(e),rDr);fCt((function(n,u){n&&OI(bSt(e),mlr),OI(bSt(e),hlr),NI(r,e,u[1]),OI(bSt(e),klr);var a=u[2];return LI(Igt[2][2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),ylr),1}),0,l),OI(bSt(e),tDr),OI(bSt(e),eDr),OI(bSt(e),nDr),NI(bSt(e),aDr,uDr);var D=n[6];if(D){zwt(e,iDr);var p=D[1];LI(Rgt[5][2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,p),zwt(e,cDr)}else zwt(e,fDr);OI(bSt(e),oDr),OI(bSt(e),sDr),NI(bSt(e),lDr,vDr);var b=n[7];if(b){zwt(e,DDr);var E=b[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,dlr)}),e,E),zwt(e,pDr)}else zwt(e,bDr);return OI(bSt(e),EDr),OI(bSt(e),FDr)})),mB(YNt,(function(r,t,e){var n=NI($Nt,r,t);return NI(ESt(Flr),n,e)}));var VNt=[0,$Nt,YNt],KNt=function r(t,e,n,u){return r.fun(t,e,n,u)},JNt=function r(t,e,n){return r.fun(t,e,n)};mB(KNt,(function(r,t,e,n){OI(bSt(e),tlr),NI(bSt(e),nlr,elr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),ulr),OI(bSt(e),alr),NI(bSt(e),clr,ilr);var a=n[2];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),flr),OI(bSt(e),olr),NI(bSt(e),vlr,slr);var i=n[3];if(i){zwt(e,llr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,rlr)}),e,c),zwt(e,Dlr)}else zwt(e,plr);return OI(bSt(e),blr),OI(bSt(e),Elr)})),mB(JNt,(function(r,t,e){var n=NI(KNt,r,t);return NI(ESt(Zvr),n,e)}));var WNt=[0,KNt,JNt],qNt=function r(t,e,n,u){return r.fun(t,e,n,u)},zNt=function r(t,e,n){return r.fun(t,e,n)};mB(qNt,(function(r,t,e,n){OI(bSt(e),Tvr),NI(bSt(e),Ovr,Ivr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Nvr),OI(bSt(e),xvr),NI(bSt(e),Pvr,Lvr);var a=n[2];LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Rvr),OI(bSt(e),Mvr),NI(bSt(e),Uvr,Gvr);var i=n[3];if(i){zwt(e,jvr);var c=i[1];LI(Igt[24][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,Xvr)}else zwt(e,Hvr);OI(bSt(e),$vr),OI(bSt(e),Yvr),NI(bSt(e),Kvr,Vvr);var f=n[4];if(f){zwt(e,Jvr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Bvr)}),e,o),zwt(e,Wvr)}else zwt(e,qvr);return OI(bSt(e),zvr),OI(bSt(e),Qvr)})),mB(zNt,(function(r,t,e){var n=NI(qNt,r,t);return NI(ESt(gvr),n,e)}));var QNt=[0,qNt,zNt],ZNt=function r(t,e,n,u){return r.fun(t,e,n,u)},rxt=function r(t,e,n){return r.fun(t,e,n)},txt=function r(t,e,n){return r.fun(t,e,n)},ext=function r(t,e){return r.fun(t,e)},nxt=function r(t,e,n,u){return r.fun(t,e,n,u)},uxt=function r(t,e,n){return r.fun(t,e,n)};mB(ZNt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),kvr);var u=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),yvr)}var a=n[1];OI(bSt(e),Avr),OI(bSt(e),_vr),NI(t,e,a[1]),OI(bSt(e),Cvr);var i=a[2];return xI(Cgt[1],(function(t){return OI(r,t)}),e,i),OI(bSt(e),wvr),OI(bSt(e),Svr)})),mB(rxt,(function(r,t,e){var n=NI(ZNt,r,t);return NI(ESt(hvr),n,e)})),mB(txt,(function(r,t,e){return 0===e[0]?(OI(bSt(t),Evr),NI(r,t,e[1]),OI(bSt(t),Fvr)):(OI(bSt(t),dvr),NI(r,t,e[1]),OI(bSt(t),mvr))})),mB(ext,(function(r,t){var e=OI(txt,r);return NI(ESt(bvr),e,t)})),mB(nxt,(function(r,t,e,n){OI(bSt(e),Vsr),NI(bSt(e),Jsr,Ksr);var u=n[1];LI(ZNt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Wsr),OI(bSt(e),qsr),NI(bSt(e),Qsr,zsr);var a=n[2];OI(bSt(e),Zsr),NI(r,e,a[1]),OI(bSt(e),rvr);var i=a[2];LI(LIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),tvr),OI(bSt(e),evr),OI(bSt(e),nvr),NI(bSt(e),avr,uvr);var c=n[3];xI(txt,(function(t){return OI(r,t)}),e,c),OI(bSt(e),ivr),OI(bSt(e),cvr),NI(bSt(e),ovr,fvr);var f=n[4];if(f){zwt(e,svr);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Ysr)}),e,o),zwt(e,vvr)}else zwt(e,lvr);return OI(bSt(e),Dvr),OI(bSt(e),pvr)})),mB(uxt,(function(r,t,e){var n=NI(nxt,r,t);return NI(ESt($sr),n,e)}));var axt=[0,ZNt,rxt,txt,ext,nxt,uxt],ixt=function r(t,e,n,u){return r.fun(t,e,n,u)},cxt=function r(t,e,n){return r.fun(t,e,n)};mB(ixt,(function(r,t,e,n){OI(bSt(e),Osr),NI(bSt(e),xsr,Nsr);var u=n[1];LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Lsr),OI(bSt(e),Psr),NI(bSt(e),Msr,Rsr);var a=n[2];if(a){zwt(e,Gsr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Isr)}),e,i),zwt(e,Usr)}else zwt(e,jsr);return OI(bSt(e),Xsr),OI(bSt(e),Hsr)})),mB(cxt,(function(r,t,e){var n=NI(ixt,r,t);return NI(ESt(Tsr),n,e)}));var fxt=[0,ixt,cxt],oxt=function r(t,e,n){return r.fun(t,e,n)},sxt=function r(t,e){return r.fun(t,e)},vxt=function r(t,e,n){return r.fun(t,e,n)},lxt=function r(t,e){return r.fun(t,e)};mB(oxt,(function(r,t,e){OI(bSt(t),Ssr),NI(r,t,e[1]),OI(bSt(t),gsr);var n=e[2];return xI(vxt,(function(t){return OI(r,t)}),t,n),OI(bSt(t),Bsr)})),mB(sxt,(function(r,t){var e=OI(oxt,r);return NI(ESt(wsr),e,t)})),mB(vxt,(function(r,t,e){OI(bSt(t),psr),NI(bSt(t),Esr,bsr);var n=e[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,n),OI(bSt(t),Fsr),OI(bSt(t),dsr),NI(bSt(t),hsr,msr);var u=e[2];if(u){zwt(t,ksr);var a=u[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,a),zwt(t,ysr)}else zwt(t,Asr);return OI(bSt(t),_sr),OI(bSt(t),Csr)})),mB(lxt,(function(r,t){var e=OI(vxt,r);return NI(ESt(Dsr),e,t)}));var Dxt=[0,oxt,sxt,vxt,lxt],pxt=function r(t,e,n){return r.fun(t,e,n)},bxt=function r(t,e){return r.fun(t,e)};mB(pxt,(function(r,t,e){var n=e[2];if(OI(bSt(t),csr),NI(r,t,e[1]),OI(bSt(t),fsr),n){zwt(t,osr);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,u),zwt(t,ssr)}else zwt(t,vsr);return OI(bSt(t),lsr)})),mB(bxt,(function(r,t){var e=OI(pxt,r);return NI(ESt(isr),e,t)}));var Ext=[0,pxt,bxt],Fxt=function r(t,e,n,u){return r.fun(t,e,n,u)},dxt=function r(t,e,n){return r.fun(t,e,n)},mxt=function r(t,e,n){return r.fun(t,e,n)},hxt=function r(t,e){return r.fun(t,e)};mB(Fxt,(function(r,t,e,n){OI(bSt(e),_or),NI(bSt(e),wor,Cor);var u=n[1];if(u){zwt(e,Sor);var a=u[1];LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,gor)}else zwt(e,Bor);OI(bSt(e),Tor),OI(bSt(e),Ior),NI(bSt(e),Nor,Oor);var i=n[2];if(i){zwt(e,xor);var c=i[1];xI(mxt,(function(t){return OI(r,t)}),e,c),zwt(e,Lor)}else zwt(e,Por);OI(bSt(e),Ror),OI(bSt(e),Mor),NI(bSt(e),Uor,Gor);var f=n[3];if(f){var o=f[1];zwt(e,jor),OI(bSt(e),Xor),NI(r,e,o[1]),OI(bSt(e),Hor);var s=o[2];xI(Cgt[1],(function(t){return OI(r,t)}),e,s),OI(bSt(e),$or),zwt(e,Yor)}else zwt(e,Vor);OI(bSt(e),Kor),OI(bSt(e),Jor),NI(bSt(e),qor,Wor),NI(Ogt[33],e,n[4]),OI(bSt(e),zor),OI(bSt(e),Qor),NI(bSt(e),rsr,Zor);var v=n[5];if(v){zwt(e,tsr);var l=v[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Aor)}),e,l),zwt(e,esr)}else zwt(e,nsr);return OI(bSt(e),usr),OI(bSt(e),asr)})),mB(dxt,(function(r,t,e){var n=NI(Fxt,r,t);return NI(ESt(yor),n,e)})),mB(mxt,(function(r,t,e){if(0===e[0]){OI(bSt(t),Eor),OI(bSt(t),For);return fCt((function(e,n){return e&&OI(bSt(t),bor),xI(Dxt[1],(function(t){return OI(r,t)}),t,n),1}),0,e[1]),OI(bSt(t),dor),OI(bSt(t),mor)}OI(bSt(t),hor);var n=e[1];return xI(Ext[1],(function(t){return OI(r,t)}),t,n),OI(bSt(t),kor)})),mB(hxt,(function(r,t){var e=OI(mxt,r);return NI(ESt(por),e,t)}));var kxt=[0,Dxt,Ext,Fxt,dxt,mxt,hxt],yxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Axt=function r(t,e,n){return r.fun(t,e,n)},_xt=function r(t,e,n,u){return r.fun(t,e,n,u)},Cxt=function r(t,e,n){return r.fun(t,e,n)};mB(yxt,(function(r,t,e,n){OI(bSt(e),zfr),NI(bSt(e),Zfr,Qfr),NI(r,e,n[1]),OI(bSt(e),ror),OI(bSt(e),tor),NI(bSt(e),nor,eor);var u=n[2];LI(_xt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),uor),OI(bSt(e),aor),NI(bSt(e),cor,ior);var a=n[3];if(a){zwt(e,oor);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,qfr)}),e,i),zwt(e,sor)}else zwt(e,vor);return OI(bSt(e),lor),OI(bSt(e),Dor)})),mB(Axt,(function(r,t,e){var n=NI(yxt,r,t);return NI(ESt(Wfr),n,e)})),mB(_xt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),Yfr);var u=n[1];return LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Vfr)}OI(bSt(e),Kfr);var a=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Jfr)})),mB(Cxt,(function(r,t,e){var n=NI(_xt,r,t);return NI(ESt($fr),n,e)}));var wxt=[0,yxt,Axt,_xt,Cxt],Sxt=function r(t,e,n,u){return r.fun(t,e,n,u)},gxt=function r(t,e,n){return r.fun(t,e,n)},Bxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Txt=function r(t,e,n){return r.fun(t,e,n)};mB(Sxt,(function(r,t,e,n){switch(n[0]){case 0:var u=n[1];OI(bSt(e),lfr),OI(bSt(e),Dfr),NI(r,e,u[1]),OI(bSt(e),pfr);var a=u[2];return LI(WNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),bfr),OI(bSt(e),Efr);case 1:var i=n[1];OI(bSt(e),Ffr),OI(bSt(e),dfr),NI(r,e,i[1]),OI(bSt(e),mfr);var c=i[2];return LI(QNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),hfr),OI(bSt(e),kfr);case 2:var f=n[1];OI(bSt(e),yfr),OI(bSt(e),Afr),NI(r,e,f[1]),OI(bSt(e),_fr);var o=f[2];return LI(VNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),OI(bSt(e),Cfr),OI(bSt(e),wfr);case 3:OI(bSt(e),Sfr);var s=n[1];return LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),OI(bSt(e),gfr);case 4:var v=n[1];OI(bSt(e),Bfr),OI(bSt(e),Tfr),NI(r,e,v[1]),OI(bSt(e),Ifr);var l=v[2];return LI(cOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),OI(bSt(e),Ofr),OI(bSt(e),Nfr);case 5:var D=n[1];OI(bSt(e),xfr),OI(bSt(e),Lfr),NI(r,e,D[1]),OI(bSt(e),Pfr);var p=D[2];return LI(sOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,p),OI(bSt(e),Rfr),OI(bSt(e),Mfr);default:var b=n[1];OI(bSt(e),Gfr),OI(bSt(e),Ufr),NI(r,e,b[1]),OI(bSt(e),jfr);var E=b[2];return LI(HNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,E),OI(bSt(e),Xfr),OI(bSt(e),Hfr)}})),mB(gxt,(function(r,t,e){var n=NI(Sxt,r,t);return NI(ESt(vfr),n,e)})),mB(Bxt,(function(r,t,e,n){OI(bSt(e),wcr),NI(bSt(e),gcr,Scr);var u=n[1];u?(zwt(e,Bcr),NI(r,e,u[1]),zwt(e,Tcr)):zwt(e,Icr),OI(bSt(e),Ocr),OI(bSt(e),Ncr),NI(bSt(e),Lcr,xcr);var a=n[2];if(a){zwt(e,Pcr);var i=a[1];LI(Sxt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,Rcr)}else zwt(e,Mcr);OI(bSt(e),Gcr),OI(bSt(e),Ucr),NI(bSt(e),Xcr,jcr);var c=n[3];if(c){zwt(e,Hcr);var f=c[1];xI(kxt[5],(function(t){return OI(r,t)}),e,f),zwt(e,$cr)}else zwt(e,Ycr);OI(bSt(e),Vcr),OI(bSt(e),Kcr),NI(bSt(e),Wcr,Jcr);var o=n[4];if(o){var s=o[1];zwt(e,qcr),OI(bSt(e),zcr),NI(r,e,s[1]),OI(bSt(e),Qcr);var v=s[2];xI(Cgt[1],(function(t){return OI(r,t)}),e,v),OI(bSt(e),Zcr),zwt(e,rfr)}else zwt(e,tfr);OI(bSt(e),efr),OI(bSt(e),nfr),NI(bSt(e),afr,ufr);var l=n[5];if(l){zwt(e,ifr);var D=l[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Ccr)}),e,D),zwt(e,cfr)}else zwt(e,ffr);return OI(bSt(e),ofr),OI(bSt(e),sfr)})),mB(Txt,(function(r,t,e){var n=NI(Bxt,r,t);return NI(ESt(_cr),n,e)}));var Ixt=[0,Sxt,gxt,Bxt,Txt],Oxt=function r(t,e){return r.fun(t,e)},Nxt=function r(t){return r.fun(t)},xxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Lxt=function r(t,e,n){return r.fun(t,e,n)},Pxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Rxt=function r(t,e,n){return r.fun(t,e,n)},Mxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Gxt=function r(t,e,n){return r.fun(t,e,n)};mB(Oxt,(function(r,t){switch(t){case 0:return zwt(r,kcr);case 1:return zwt(r,ycr);default:return zwt(r,Acr)}})),mB(Nxt,(function(r){return NI(ESt(hcr),Oxt,r)})),mB(xxt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),vcr),OI(bSt(e),lcr);return fCt((function(n,u){return n&&OI(bSt(e),scr),LI(Pxt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,n[1]),OI(bSt(e),Dcr),OI(bSt(e),pcr)}var u=n[1];OI(bSt(e),bcr),OI(bSt(e),Ecr),NI(r,e,u[1]),OI(bSt(e),Fcr);var a=u[2];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),dcr),OI(bSt(e),mcr)})),mB(Lxt,(function(r,t,e){var n=NI(xxt,r,t);return NI(ESt(ocr),n,e)})),mB(Pxt,(function(r,t,e,n){OI(bSt(e),$ir),NI(bSt(e),Vir,Yir);var u=n[1];u?(zwt(e,Kir),NI(Oxt,e,u[1]),zwt(e,Jir)):zwt(e,Wir),OI(bSt(e),qir),OI(bSt(e),zir),NI(bSt(e),Zir,Qir);var a=n[2];if(a){zwt(e,rcr);var i=a[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,tcr)}else zwt(e,ecr);OI(bSt(e),ncr),OI(bSt(e),ucr),NI(bSt(e),icr,acr);var c=n[3];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),ccr),OI(bSt(e),fcr)})),mB(Rxt,(function(r,t,e){var n=NI(Pxt,r,t);return NI(ESt(Hir),n,e)})),mB(Mxt,(function(r,t,e,n){OI(bSt(e),sir),NI(bSt(e),lir,vir),NI(Oxt,e,n[1]),OI(bSt(e),Dir),OI(bSt(e),pir),NI(bSt(e),Eir,bir);var u=n[2];OI(bSt(e),Fir),NI(r,e,u[1]),OI(bSt(e),dir);var a=u[2];xI(Cgt[1],(function(t){return OI(r,t)}),e,a),OI(bSt(e),mir),OI(bSt(e),hir),OI(bSt(e),kir),NI(bSt(e),Air,yir);var i=n[3];if(i){zwt(e,_ir);var c=i[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,Cir)}else zwt(e,wir);OI(bSt(e),Sir),OI(bSt(e),gir),NI(bSt(e),Tir,Bir);var f=n[4];if(f){zwt(e,Iir);var o=f[1];LI(xxt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),zwt(e,Oir)}else zwt(e,Nir);OI(bSt(e),xir),OI(bSt(e),Lir),NI(bSt(e),Rir,Pir);var s=n[5];if(s){zwt(e,Mir);var v=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,oir)}),e,v),zwt(e,Gir)}else zwt(e,Uir);return OI(bSt(e),jir),OI(bSt(e),Xir)})),mB(Gxt,(function(r,t,e){var n=NI(Mxt,r,t);return NI(ESt(fir),n,e)}));var Uxt=[0,Oxt,Nxt,xxt,Lxt,Pxt,Rxt,Mxt,Gxt],jxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Xxt=function r(t,e,n){return r.fun(t,e,n)};mB(jxt,(function(r,t,e,n){OI(bSt(e),Xar),NI(bSt(e),$ar,Har);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Yar),OI(bSt(e),Var),NI(bSt(e),Jar,Kar);var a=n[2];if(a){zwt(e,War);var i=a[1];NI(bSt(e),qar,i),zwt(e,zar)}else zwt(e,Qar);OI(bSt(e),Zar),OI(bSt(e),rir),NI(bSt(e),eir,tir);var c=n[3];if(c){zwt(e,nir);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,jar)}),e,f),zwt(e,uir)}else zwt(e,air);return OI(bSt(e),iir),OI(bSt(e),cir)})),mB(Xxt,(function(r,t,e){var n=NI(jxt,r,t);return NI(ESt(Uar),n,e)}));var Hxt=[0,jxt,Xxt],$xt=function r(t,e,n){return r.fun(t,e,n)},Yxt=function r(t,e){return r.fun(t,e)};mB($xt,(function(r,t,e){OI(bSt(t),Oar),NI(bSt(t),xar,Nar);var n=e[1];if(n){zwt(t,Lar);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Iar)}),t,u),zwt(t,Par)}else zwt(t,Rar);return OI(bSt(t),Mar),OI(bSt(t),Gar)})),mB(Yxt,(function(r,t){var e=OI($xt,r);return NI(ESt(Tar),e,t)}));var Vxt=[0,$xt,Yxt],Kxt=function r(t,e){return r.fun(t,e)},Jxt=function r(t){return r.fun(t)},Wxt=function r(t,e,n,u){return r.fun(t,e,n,u)},qxt=function r(t,e,n){return r.fun(t,e,n)},zxt=function r(t,e,n,u){return r.fun(t,e,n,u)},Qxt=function r(t,e,n){return r.fun(t,e,n)};mB(Kxt,(function(r,t){return zwt(r,0===t?Bar:gar)})),mB(Jxt,(function(r){return NI(ESt(Sar),Kxt,r)})),mB(Wxt,(function(r,t,e,n){OI(bSt(e),_ar),NI(r,e,n[1]),OI(bSt(e),Car);var u=n[2];return LI(zxt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),war)})),mB(qxt,(function(r,t,e){var n=NI(Wxt,r,t);return NI(ESt(Aar),n,e)})),mB(zxt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),eur);var u=n[1];return LI(LIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),nur);case 1:OI(bSt(e),uur);var a=n[1];return xI(WIt[1],(function(t){return OI(r,t)}),e,a),OI(bSt(e),aur);case 2:OI(bSt(e),iur);var i=n[1];return LI(Rgt[8],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),cur);case 3:OI(bSt(e),fur);var c=n[1];return xI(QIt[1],(function(t){return OI(r,t)}),e,c),OI(bSt(e),our);case 4:OI(bSt(e),sur);var f=n[1];return xI(tOt[1],(function(t){return OI(r,t)}),e,f),OI(bSt(e),vur);case 5:OI(bSt(e),lur);var o=n[1];return LI(VNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),OI(bSt(e),Dur);case 6:OI(bSt(e),pur);var s=n[1];return LI(Ixt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),OI(bSt(e),bur);case 7:OI(bSt(e),Eur);var v=n[1];return LI(QNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,v),OI(bSt(e),Fur);case 8:OI(bSt(e),dur);var l=n[1];return LI(HNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),OI(bSt(e),mur);case 9:OI(bSt(e),hur);var D=n[1];return LI(axt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,D),OI(bSt(e),kur);case 10:OI(bSt(e),yur);var p=n[1];return LI(fxt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,p),OI(bSt(e),Aur);case 11:OI(bSt(e),_ur);var b=n[1];return LI(cOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,b),OI(bSt(e),Cur);case 12:OI(bSt(e),wur);var E=n[1];return LI(sOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,E),OI(bSt(e),Sur);case 13:OI(bSt(e),gur);var F=n[1];return LI(WNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,F),OI(bSt(e),Bur);case 14:OI(bSt(e),Tur);var d=n[1];return LI(JOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,d),OI(bSt(e),Iur);case 15:OI(bSt(e),Our);var m=n[1];return xI(Vxt[1],(function(t){return OI(r,t)}),e,m),OI(bSt(e),Nur);case 16:OI(bSt(e),xur);var h=n[1];return LI(UNt[7],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,h),OI(bSt(e),Lur);case 17:OI(bSt(e),Pur);var k=n[1];return LI(wxt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,k),OI(bSt(e),Rur);case 18:OI(bSt(e),Mur);var y=n[1];return LI(kxt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,y),OI(bSt(e),Gur);case 19:OI(bSt(e),Uur);var A=n[1];return LI(Hxt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,A),OI(bSt(e),jur);case 20:OI(bSt(e),Xur);var _=n[1];return LI(ZOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,_),OI(bSt(e),Hur);case 21:OI(bSt(e),$ur);var C=n[1];return LI(uNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,C),OI(bSt(e),Yur);case 22:OI(bSt(e),Vur);var w=n[1];return LI(oNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,w),OI(bSt(e),Kur);case 23:OI(bSt(e),Jur);var S=n[1];return LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,S),OI(bSt(e),Wur);case 24:OI(bSt(e),qur);var g=n[1];return LI(HIt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,g),OI(bSt(e),zur);case 25:OI(bSt(e),Qur);var B=n[1];return LI(Uxt[7],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,B),OI(bSt(e),Zur);case 26:OI(bSt(e),rar);var T=n[1];return LI(HNt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,T),OI(bSt(e),tar);case 27:OI(bSt(e),ear);var I=n[1];return LI(VIt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,I),OI(bSt(e),nar);case 28:OI(bSt(e),uar);var O=n[1];return LI(kOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,O),OI(bSt(e),aar);case 29:OI(bSt(e),iar);var N=n[1];return LI(dOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,N),OI(bSt(e),car);case 30:OI(bSt(e),far);var x=n[1];return LI(_Ot[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,x),OI(bSt(e),oar);case 31:OI(bSt(e),sar);var L=n[1];return LI(OOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,L),OI(bSt(e),lar);case 32:OI(bSt(e),Dar);var P=n[1];return LI(cOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,P),OI(bSt(e),par);case 33:OI(bSt(e),bar);var R=n[1];return LI(sOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,R),OI(bSt(e),Ear);case 34:OI(bSt(e),Far);var M=n[1];return LI(XOt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,M),OI(bSt(e),dar);case 35:OI(bSt(e),mar);var G=n[1];return LI(YOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,G),OI(bSt(e),har);default:OI(bSt(e),kar);var U=n[1];return LI(uOt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,U),OI(bSt(e),yar)}})),mB(Qxt,(function(r,t,e){var n=NI(zxt,r,t);return NI(ESt(tur),n,e)})),xI(USt,ZYr,Ogt,[0,LIt,HIt,VIt,WIt,QIt,tOt,uOt,cOt,sOt,dOt,kOt,_Ot,OOt,XOt,YOt,JOt,ZOt,uNt,oNt,UNt,HNt,VNt,WNt,QNt,axt,fxt,kxt,wxt,Ixt,Uxt,Hxt,Vxt,Kxt,Jxt,Wxt,qxt,zxt,Qxt]);var Zxt=function r(t,e,n,u){return r.fun(t,e,n,u)},rLt=function r(t,e,n){return r.fun(t,e,n)},tLt=function r(t,e,n){return r.fun(t,e,n)},eLt=function r(t,e){return r.fun(t,e)};mB(Zxt,(function(r,t,e,n){OI(bSt(e),Qnr),NI(t,e,n[1]),OI(bSt(e),Znr);var u=n[2];return xI(tLt,(function(t){return OI(r,t)}),e,u),OI(bSt(e),rur)})),mB(rLt,(function(r,t,e){var n=NI(Zxt,r,t);return NI(ESt(znr),n,e)})),mB(tLt,(function(r,t,e){OI(bSt(t),Hnr),NI(bSt(t),Ynr,$nr);var n=e[1];if(n){zwt(t,Vnr);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Xnr)}),t,u),zwt(t,Knr)}else zwt(t,Jnr);return OI(bSt(t),Wnr),OI(bSt(t),qnr)})),mB(eLt,(function(r,t){var e=OI(tLt,r);return NI(ESt(jnr),e,t)}));var nLt=[0,Zxt,rLt,tLt,eLt],uLt=function r(t,e,n,u){return r.fun(t,e,n,u)},aLt=function r(t,e,n){return r.fun(t,e,n)};mB(uLt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),Rnr);var u=n[1];return LI(Igt[13],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Mnr)}OI(bSt(e),Gnr);var a=n[1];return LI(nLt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Unr)})),mB(aLt,(function(r,t,e){var n=NI(uLt,r,t);return NI(ESt(Pnr),n,e)}));var iLt=[0,nLt,uLt,aLt],cLt=function r(t,e,n,u){return r.fun(t,e,n,u)},fLt=function r(t,e,n){return r.fun(t,e,n)},oLt=function r(t,e,n,u){return r.fun(t,e,n,u)},sLt=function r(t,e,n){return r.fun(t,e,n)};mB(cLt,(function(r,t,e,n){OI(bSt(e),Nnr),NI(r,e,n[1]),OI(bSt(e),xnr);var u=n[2];return LI(oLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Lnr)})),mB(fLt,(function(r,t,e){var n=NI(cLt,r,t);return NI(ESt(Onr),n,e)})),mB(oLt,(function(r,t,e,n){OI(bSt(e),dnr),NI(bSt(e),hnr,mnr);var u=n[1];OI(bSt(e),knr);fCt((function(n,u){return n&&OI(bSt(e),Fnr),LI(iLt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),ynr),OI(bSt(e),Anr),OI(bSt(e),_nr),NI(bSt(e),wnr,Cnr);var a=n[2];if(a){zwt(e,Snr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),bnr);return fCt((function(e,n){return e&&OI(bSt(t),pnr),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),Enr)}),e,i),zwt(e,gnr)}else zwt(e,Bnr);return OI(bSt(e),Tnr),OI(bSt(e),Inr)})),mB(sLt,(function(r,t,e){var n=NI(oLt,r,t);return NI(ESt(Dnr),n,e)}));var vLt=function r(t,e,n,u){return r.fun(t,e,n,u)},lLt=function r(t,e,n){return r.fun(t,e,n)},DLt=function r(t,e,n,u){return r.fun(t,e,n,u)},pLt=function r(t,e,n){return r.fun(t,e,n)},bLt=[0,cLt,fLt,oLt,sLt];mB(vLt,(function(r,t,e,n){OI(bSt(e),snr),NI(r,e,n[1]),OI(bSt(e),vnr);var u=n[2];return LI(DLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),lnr)})),mB(lLt,(function(r,t,e){var n=NI(vLt,r,t);return NI(ESt(onr),n,e)})),mB(DLt,(function(r,t,e,n){OI(bSt(e),zer),NI(bSt(e),Zer,Qer);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),rnr),OI(bSt(e),tnr),NI(bSt(e),nnr,enr);var a=n[2];if(a){zwt(e,unr);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,qer)}),e,i),zwt(e,anr)}else zwt(e,inr);return OI(bSt(e),cnr),OI(bSt(e),fnr)})),mB(pLt,(function(r,t,e){var n=NI(DLt,r,t);return NI(ESt(Wer),n,e)}));var ELt=[0,vLt,lLt,DLt,pLt],FLt=function r(t,e,n,u){return r.fun(t,e,n,u)},dLt=function r(t,e,n){return r.fun(t,e,n)};mB(FLt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),Her);var u=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),$er);case 1:OI(bSt(e),Yer);var a=n[1];return LI(ELt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Ver);default:return OI(bSt(e),Ker),NI(r,e,n[1]),OI(bSt(e),Jer)}})),mB(dLt,(function(r,t,e){var n=NI(FLt,r,t);return NI(ESt(Xer),n,e)}));var mLt=function r(t,e,n,u){return r.fun(t,e,n,u)},hLt=function r(t,e,n){return r.fun(t,e,n)};mB(mLt,(function(r,t,e,n){OI(bSt(e),ger),NI(bSt(e),Ter,Ber);var u=n[1];OI(bSt(e),Ier);fCt((function(n,u){return n&&OI(bSt(e),Ser),LI(FLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),Oer),OI(bSt(e),Ner),OI(bSt(e),xer),NI(bSt(e),Per,Ler);var a=n[2];if(a){zwt(e,Rer);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),Cer);return fCt((function(e,n){return e&&OI(bSt(t),_er),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),wer)}),e,i),zwt(e,Mer)}else zwt(e,Ger);return OI(bSt(e),Uer),OI(bSt(e),jer)})),mB(hLt,(function(r,t,e){var n=NI(mLt,r,t);return NI(ESt(Aer),n,e)}));var kLt=[0,FLt,dLt,mLt,hLt],yLt=function r(t,e){return r.fun(t,e)},ALt=function r(t){return r.fun(t)},_Lt=function r(t,e,n){return r.fun(t,e,n)},CLt=function r(t,e){return r.fun(t,e)},wLt=function r(t,e){return r.fun(t,e)},SLt=function r(t){return r.fun(t)};mB(yLt,(function(r,t){OI(bSt(r),ler),NI(bSt(r),per,Der);var e=t[1];NI(bSt(r),ber,e),OI(bSt(r),Eer),OI(bSt(r),Fer),NI(bSt(r),mer,der);var n=t[2];return NI(bSt(r),her,n),OI(bSt(r),ker),OI(bSt(r),yer)})),mB(ALt,(function(r){return NI(ESt(ver),yLt,r)})),mB(_Lt,(function(r,t,e){return OI(bSt(t),fer),NI(r,t,e[1]),OI(bSt(t),oer),NI(wLt,t,e[2]),OI(bSt(t),ser)})),mB(CLt,(function(r,t){var e=OI(_Lt,r);return NI(ESt(cer),e,t)})),mB(wLt,(function(r,t){OI(bSt(r),ztr),NI(bSt(r),Ztr,Qtr),NI(yLt,r,t[1]),OI(bSt(r),rer),OI(bSt(r),ter),NI(bSt(r),ner,eer);var e=t[2];return NI(bSt(r),uer,e),OI(bSt(r),aer),OI(bSt(r),ier)})),mB(SLt,(function(r){return NI(ESt(qtr),wLt,r)}));var gLt=[0,yLt,ALt,_Lt,CLt,wLt,SLt],BLt=function r(t,e,n,u){return r.fun(t,e,n,u)},TLt=function r(t,e,n){return r.fun(t,e,n)};mB(BLt,(function(r,t,e,n){OI(bSt(e),Ttr),NI(bSt(e),Otr,Itr);var u=n[1];OI(bSt(e),Ntr);fCt((function(t,n){return t&&OI(bSt(e),Btr),xI(gLt[3],(function(t){return OI(r,t)}),e,n),1}),0,u),OI(bSt(e),xtr),OI(bSt(e),Ltr),OI(bSt(e),Ptr),NI(bSt(e),Mtr,Rtr);var a=n[2];OI(bSt(e),Gtr);fCt((function(n,u){return n&&OI(bSt(e),gtr),LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,a),OI(bSt(e),Utr),OI(bSt(e),jtr),OI(bSt(e),Xtr),NI(bSt(e),$tr,Htr);var i=n[3];if(i){zwt(e,Ytr);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Str)}),e,c),zwt(e,Vtr)}else zwt(e,Ktr);return OI(bSt(e),Jtr),OI(bSt(e),Wtr)})),mB(TLt,(function(r,t,e){var n=NI(BLt,r,t);return NI(ESt(wtr),n,e)}));var ILt=[0,gLt,BLt,TLt],OLt=function r(t,e,n,u){return r.fun(t,e,n,u)},NLt=function r(t,e,n){return r.fun(t,e,n)};mB(OLt,(function(r,t,e,n){OI(bSt(e),ctr),NI(bSt(e),otr,ftr);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),str),OI(bSt(e),vtr),NI(bSt(e),Dtr,ltr);var a=n[2];OI(bSt(e),ptr),NI(r,e,a[1]),OI(bSt(e),btr);var i=a[2];LI(ILt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),Etr),OI(bSt(e),Ftr),OI(bSt(e),dtr),NI(bSt(e),htr,mtr);var c=n[3];if(c){zwt(e,ktr);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,itr)}),e,f),zwt(e,ytr)}else zwt(e,Atr);return OI(bSt(e),_tr),OI(bSt(e),Ctr)})),mB(NLt,(function(r,t,e){var n=NI(OLt,r,t);return NI(ESt(atr),n,e)}));var xLt=[0,OLt,NLt],LLt=function r(t,e,n,u){return r.fun(t,e,n,u)},PLt=function r(t,e,n){return r.fun(t,e,n)},RLt=function r(t,e,n,u){return r.fun(t,e,n,u)},MLt=function r(t,e,n){return r.fun(t,e,n)},GLt=function r(t,e,n,u){return r.fun(t,e,n,u)},ULt=function r(t,e,n){return r.fun(t,e,n)};mB(LLt,(function(r,t,e,n){switch(n[0]){case 0:var u=n[1];OI(bSt(e),Jrr),OI(bSt(e),Wrr),NI(t,e,u[1]),OI(bSt(e),qrr);var a=u[2];return xI(_gt[2],(function(t){return OI(r,t)}),e,a),OI(bSt(e),zrr),OI(bSt(e),Qrr);case 1:OI(bSt(e),Zrr);var i=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),rtr);case 2:OI(bSt(e),ttr);var c=n[1];return xI(Agt[1],(function(t){return OI(r,t)}),e,c),OI(bSt(e),etr);default:OI(bSt(e),ntr);var f=n[1];return LI(Tgt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),utr)}})),mB(PLt,(function(r,t,e){var n=NI(LLt,r,t);return NI(ESt(Krr),n,e)})),mB(RLt,(function(r,t,e,n){OI(bSt(e),$rr),NI(r,e,n[1]),OI(bSt(e),Yrr);var u=n[2];return LI(GLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Vrr)})),mB(MLt,(function(r,t,e){var n=NI(RLt,r,t);return NI(ESt(Hrr),n,e)})),mB(GLt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),N9),NI(bSt(e),L9,x9);var u=n[1];LI(LLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),P9),OI(bSt(e),R9),NI(bSt(e),G9,M9);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),U9),OI(bSt(e),j9),NI(bSt(e),H9,X9);var i=n[3];return NI(bSt(e),$9,i),OI(bSt(e),Y9),OI(bSt(e),V9);case 1:var c=n[2];OI(bSt(e),K9),NI(bSt(e),W9,J9);var f=n[1];LI(LLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),q9),OI(bSt(e),z9),NI(bSt(e),Z9,Q9),OI(bSt(e),rrr),NI(r,e,c[1]),OI(bSt(e),trr);var o=c[2];return LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),OI(bSt(e),err),OI(bSt(e),nrr),OI(bSt(e),urr);case 2:var s=n[3],v=n[2];OI(bSt(e),arr),NI(bSt(e),crr,irr);var l=n[1];LI(LLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),OI(bSt(e),frr),OI(bSt(e),orr),NI(bSt(e),vrr,srr),OI(bSt(e),lrr),NI(r,e,v[1]),OI(bSt(e),Drr);var D=v[2];if(LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,D),OI(bSt(e),prr),OI(bSt(e),brr),OI(bSt(e),Err),NI(bSt(e),drr,Frr),s){zwt(e,mrr);var p=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,O9)}),e,p),zwt(e,hrr)}else zwt(e,krr);return OI(bSt(e),yrr),OI(bSt(e),Arr);default:var b=n[3],E=n[2];OI(bSt(e),_rr),NI(bSt(e),wrr,Crr);var F=n[1];LI(LLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,F),OI(bSt(e),Srr),OI(bSt(e),grr),NI(bSt(e),Trr,Brr),OI(bSt(e),Irr),NI(r,e,E[1]),OI(bSt(e),Orr);var d=E[2];if(LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,d),OI(bSt(e),Nrr),OI(bSt(e),xrr),OI(bSt(e),Lrr),NI(bSt(e),Rrr,Prr),b){zwt(e,Mrr);var m=b[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,I9)}),e,m),zwt(e,Grr)}else zwt(e,Urr);return OI(bSt(e),jrr),OI(bSt(e),Xrr)}})),mB(ULt,(function(r,t,e){var n=NI(GLt,r,t);return NI(ESt(T9),n,e)}));var jLt=[0,LLt,PLt,RLt,MLt,GLt,ULt],XLt=function r(t,e,n,u){return r.fun(t,e,n,u)},HLt=function r(t,e,n){return r.fun(t,e,n)},$Lt=function r(t,e,n,u){return r.fun(t,e,n,u)},YLt=function r(t,e,n){return r.fun(t,e,n)};mB(XLt,(function(r,t,e,n){OI(bSt(e),S9),NI(r,e,n[1]),OI(bSt(e),g9);var u=n[2];return LI($Lt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),B9)})),mB(HLt,(function(r,t,e){var n=NI(XLt,r,t);return NI(ESt(w9),n,e)})),mB($Lt,(function(r,t,e,n){OI(bSt(e),p9),NI(bSt(e),E9,b9);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),F9),OI(bSt(e),d9),NI(bSt(e),h9,m9);var a=n[2];if(a){zwt(e,k9);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,D9)}),e,i),zwt(e,y9)}else zwt(e,A9);return OI(bSt(e),_9),OI(bSt(e),C9)})),mB(YLt,(function(r,t,e){var n=NI($Lt,r,t);return NI(ESt(l9),n,e)}));var VLt=[0,XLt,HLt,$Lt,YLt],KLt=function r(t,e,n,u){return r.fun(t,e,n,u)},JLt=function r(t,e,n){return r.fun(t,e,n)},WLt=function r(t,e,n,u){return r.fun(t,e,n,u)},qLt=function r(t,e,n){return r.fun(t,e,n)};mB(KLt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),f9);var u=n[1];return LI(jLt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),o9)}OI(bSt(e),s9);var a=n[1];return LI(VLt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),v9)})),mB(JLt,(function(r,t,e){var n=NI(KLt,r,t);return NI(ESt(c9),n,e)})),mB(WLt,(function(r,t,e,n){OI(bSt(e),K5),NI(bSt(e),W5,J5);var u=n[1];OI(bSt(e),q5);fCt((function(n,u){return n&&OI(bSt(e),V5),LI(KLt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),z5),OI(bSt(e),Q5),OI(bSt(e),Z5),NI(bSt(e),t9,r9);var a=n[2];if(a){zwt(e,e9);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),$5);return fCt((function(e,n){return e&&OI(bSt(t),H5),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),Y5)}),e,i),zwt(e,n9)}else zwt(e,u9);return OI(bSt(e),a9),OI(bSt(e),i9)})),mB(qLt,(function(r,t,e){var n=NI(WLt,r,t);return NI(ESt(X5),n,e)}));var zLt=[0,jLt,VLt,KLt,JLt,WLt,qLt],QLt=function r(t,e,n,u){return r.fun(t,e,n,u)},ZLt=function r(t,e,n){return r.fun(t,e,n)};mB(QLt,(function(r,t,e,n){OI(bSt(e),g5),NI(bSt(e),T5,B5);var u=n[1];OI(bSt(e),I5);fCt((function(n,u){return n&&OI(bSt(e),S5),LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),O5),OI(bSt(e),N5),OI(bSt(e),x5),NI(bSt(e),P5,L5);var a=n[2];if(a){zwt(e,R5);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,w5)}),e,i),zwt(e,M5)}else zwt(e,G5);return OI(bSt(e),U5),OI(bSt(e),j5)})),mB(ZLt,(function(r,t,e){var n=NI(QLt,r,t);return NI(ESt(C5),n,e)}));var rPt=[0,QLt,ZLt],tPt=function r(t,e){return r.fun(t,e)},ePt=function r(t){return r.fun(t)},nPt=function r(t,e,n,u){return r.fun(t,e,n,u)},uPt=function r(t,e,n){return r.fun(t,e,n)};mB(tPt,(function(r,t){switch(t){case 0:return zwt(r,F5);case 1:return zwt(r,d5);case 2:return zwt(r,m5);case 3:return zwt(r,h5);case 4:return zwt(r,k5);case 5:return zwt(r,y5);case 6:return zwt(r,A5);default:return zwt(r,_5)}})),mB(ePt,(function(r){return NI(ESt(E5),tPt,r)})),mB(nPt,(function(r,t,e,n){OI(bSt(e),r5),NI(bSt(e),e5,t5),NI(tPt,e,n[1]),OI(bSt(e),n5),OI(bSt(e),u5),NI(bSt(e),i5,a5);var u=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),c5),OI(bSt(e),f5),NI(bSt(e),s5,o5);var a=n[3];if(a){zwt(e,v5);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Z6)}),e,i),zwt(e,l5)}else zwt(e,D5);return OI(bSt(e),p5),OI(bSt(e),b5)})),mB(uPt,(function(r,t,e){var n=NI(nPt,r,t);return NI(ESt(Q6),n,e)}));var aPt=[0,tPt,ePt,nPt,uPt],iPt=function r(t,e){return r.fun(t,e)},cPt=function r(t){return r.fun(t)},fPt=function r(t,e,n,u){return r.fun(t,e,n,u)},oPt=function r(t,e,n){return r.fun(t,e,n)};mB(iPt,(function(r,t){switch(t){case 0:return zwt(r,T6);case 1:return zwt(r,I6);case 2:return zwt(r,O6);case 3:return zwt(r,N6);case 4:return zwt(r,x6);case 5:return zwt(r,L6);case 6:return zwt(r,P6);case 7:return zwt(r,R6);case 8:return zwt(r,M6);case 9:return zwt(r,G6);case 10:return zwt(r,U6);case 11:return zwt(r,j6);case 12:return zwt(r,X6);case 13:return zwt(r,H6);case 14:return zwt(r,$6);case 15:return zwt(r,Y6);case 16:return zwt(r,V6);case 17:return zwt(r,K6);case 18:return zwt(r,J6);case 19:return zwt(r,W6);case 20:return zwt(r,q6);default:return zwt(r,z6)}})),mB(cPt,(function(r){return NI(ESt(B6),iPt,r)})),mB(fPt,(function(r,t,e,n){OI(bSt(e),o6),NI(bSt(e),v6,s6),NI(iPt,e,n[1]),OI(bSt(e),l6),OI(bSt(e),D6),NI(bSt(e),b6,p6);var u=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),E6),OI(bSt(e),F6),NI(bSt(e),m6,d6);var a=n[3];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),h6),OI(bSt(e),k6),NI(bSt(e),A6,y6);var i=n[4];if(i){zwt(e,_6);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,f6)}),e,c),zwt(e,C6)}else zwt(e,w6);return OI(bSt(e),S6),OI(bSt(e),g6)})),mB(oPt,(function(r,t,e){var n=NI(fPt,r,t);return NI(ESt(c6),n,e)}));var sPt=[0,iPt,cPt,fPt,oPt],vPt=function r(t,e){return r.fun(t,e)},lPt=function r(t){return r.fun(t)},DPt=function r(t,e,n,u){return r.fun(t,e,n,u)},pPt=function r(t,e,n){return r.fun(t,e,n)};mB(vPt,(function(r,t){switch(t){case 0:return zwt(r,W4);case 1:return zwt(r,q4);case 2:return zwt(r,z4);case 3:return zwt(r,Q4);case 4:return zwt(r,Z4);case 5:return zwt(r,r6);case 6:return zwt(r,t6);case 7:return zwt(r,e6);case 8:return zwt(r,n6);case 9:return zwt(r,u6);case 10:return zwt(r,a6);default:return zwt(r,i6)}})),mB(lPt,(function(r){return NI(ESt(J4),vPt,r)})),mB(DPt,(function(r,t,e,n){OI(bSt(e),C4),NI(bSt(e),S4,w4);var u=n[1];u?(zwt(e,g4),NI(vPt,e,u[1]),zwt(e,B4)):zwt(e,T4),OI(bSt(e),I4),OI(bSt(e),O4),NI(bSt(e),x4,N4);var a=n[2];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),L4),OI(bSt(e),P4),NI(bSt(e),M4,R4);var i=n[3];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),G4),OI(bSt(e),U4),NI(bSt(e),X4,j4);var c=n[4];if(c){zwt(e,H4);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,_4)}),e,f),zwt(e,$4)}else zwt(e,Y4);return OI(bSt(e),V4),OI(bSt(e),K4)})),mB(pPt,(function(r,t,e){var n=NI(DPt,r,t);return NI(ESt(A4),n,e)}));var bPt=[0,vPt,lPt,DPt,pPt],EPt=function r(t,e){return r.fun(t,e)},FPt=function r(t){return r.fun(t)},dPt=function r(t,e,n,u){return r.fun(t,e,n,u)},mPt=function r(t,e,n){return r.fun(t,e,n)};mB(EPt,(function(r,t){return zwt(r,0===t?y4:k4)})),mB(FPt,(function(r){return NI(ESt(h4),EPt,r)})),mB(dPt,(function(r,t,e,n){OI(bSt(e),Z3),NI(bSt(e),t4,r4),NI(EPt,e,n[1]),OI(bSt(e),e4),OI(bSt(e),n4),NI(bSt(e),a4,u4);var u=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),i4),OI(bSt(e),c4),NI(bSt(e),o4,f4);var a=n[3];NI(bSt(e),s4,a),OI(bSt(e),v4),OI(bSt(e),l4),NI(bSt(e),p4,D4);var i=n[4];if(i){zwt(e,b4);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Q3)}),e,c),zwt(e,E4)}else zwt(e,F4);return OI(bSt(e),d4),OI(bSt(e),m4)})),mB(mPt,(function(r,t,e){var n=NI(dPt,r,t);return NI(ESt(z3),n,e)}));var hPt=[0,EPt,FPt,dPt,mPt],kPt=function r(t,e){return r.fun(t,e)},yPt=function r(t){return r.fun(t)},APt=function r(t,e,n,u){return r.fun(t,e,n,u)},_Pt=function r(t,e,n){return r.fun(t,e,n)};mB(kPt,(function(r,t){switch(t){case 0:return zwt(r,J3);case 1:return zwt(r,W3);default:return zwt(r,q3)}})),mB(yPt,(function(r){return NI(ESt(K3),kPt,r)})),mB(APt,(function(r,t,e,n){OI(bSt(e),S3),NI(bSt(e),B3,g3),NI(kPt,e,n[1]),OI(bSt(e),T3),OI(bSt(e),I3),NI(bSt(e),N3,O3);var u=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),x3),OI(bSt(e),L3),NI(bSt(e),R3,P3);var a=n[3];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),M3),OI(bSt(e),G3),NI(bSt(e),j3,U3);var i=n[4];if(i){zwt(e,X3);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,w3)}),e,c),zwt(e,H3)}else zwt(e,$3);return OI(bSt(e),Y3),OI(bSt(e),V3)})),mB(_Pt,(function(r,t,e){var n=NI(APt,r,t);return NI(ESt(C3),n,e)}));var CPt=[0,kPt,yPt,APt,_Pt],wPt=function r(t,e,n,u){return r.fun(t,e,n,u)},SPt=function r(t,e,n){return r.fun(t,e,n)};mB(wPt,(function(r,t,e,n){OI(bSt(e),a3),NI(bSt(e),c3,i3);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),f3),OI(bSt(e),o3),NI(bSt(e),v3,s3);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),l3),OI(bSt(e),D3),NI(bSt(e),b3,p3);var i=n[3];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),E3),OI(bSt(e),F3),NI(bSt(e),m3,d3);var c=n[4];if(c){zwt(e,h3);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,u3)}),e,f),zwt(e,k3)}else zwt(e,y3);return OI(bSt(e),A3),OI(bSt(e),_3)})),mB(SPt,(function(r,t,e){var n=NI(wPt,r,t);return NI(ESt(n3),n,e)}));var gPt=[0,wPt,SPt],BPt=function r(t,e,n,u){return r.fun(t,e,n,u)},TPt=function r(t,e,n){return r.fun(t,e,n)};mB(BPt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),Z8);var u=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),r3)}OI(bSt(e),t3);var a=n[1];return LI(ELt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),e3)})),mB(TPt,(function(r,t,e){var n=NI(BPt,r,t);return NI(ESt(Q8),n,e)}));var IPt=function r(t,e,n,u){return r.fun(t,e,n,u)},OPt=function r(t,e,n){return r.fun(t,e,n)},NPt=function r(t,e,n,u){return r.fun(t,e,n,u)},xPt=function r(t,e,n){return r.fun(t,e,n)};mB(IPt,(function(r,t,e,n){OI(bSt(e),W8),NI(r,e,n[1]),OI(bSt(e),q8);var u=n[2];return LI(NPt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),z8)})),mB(OPt,(function(r,t,e){var n=NI(IPt,r,t);return NI(ESt(J8),n,e)})),mB(NPt,(function(r,t,e,n){OI(bSt(e),x8),NI(bSt(e),P8,L8);var u=n[1];OI(bSt(e),R8);fCt((function(n,u){return n&&OI(bSt(e),N8),LI(BPt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),M8),OI(bSt(e),G8),OI(bSt(e),U8),NI(bSt(e),X8,j8);var a=n[2];if(a){zwt(e,H8);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),I8);return fCt((function(e,n){return e&&OI(bSt(t),T8),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),O8)}),e,i),zwt(e,$8)}else zwt(e,Y8);return OI(bSt(e),V8),OI(bSt(e),K8)})),mB(xPt,(function(r,t,e){var n=NI(NPt,r,t);return NI(ESt(B8),n,e)}));var LPt=[0,IPt,OPt,NPt,xPt],PPt=function r(t,e,n,u){return r.fun(t,e,n,u)},RPt=function r(t,e,n){return r.fun(t,e,n)};mB(PPt,(function(r,t,e,n){OI(bSt(e),n8),NI(bSt(e),a8,u8);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),i8),OI(bSt(e),c8),NI(bSt(e),o8,f8);var a=n[2];if(a){zwt(e,s8);var i=a[1];LI(Ngt[2][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,v8)}else zwt(e,l8);OI(bSt(e),D8),OI(bSt(e),p8),NI(bSt(e),E8,b8);var c=n[3];if(c){zwt(e,F8);var f=c[1];LI(LPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),zwt(e,d8)}else zwt(e,m8);OI(bSt(e),h8),OI(bSt(e),k8),NI(bSt(e),A8,y8);var o=n[4];if(o){zwt(e,_8);var s=o[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,e8)}),e,s),zwt(e,C8)}else zwt(e,w8);return OI(bSt(e),S8),OI(bSt(e),g8)})),mB(RPt,(function(r,t,e){var n=NI(PPt,r,t);return NI(ESt(t8),n,e)}));var MPt=[0,PPt,RPt],GPt=function r(t,e,n,u){return r.fun(t,e,n,u)},UPt=function r(t,e,n){return r.fun(t,e,n)};mB(GPt,(function(r,t,e,n){OI(bSt(e),O7),NI(bSt(e),x7,N7);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),L7),OI(bSt(e),P7),NI(bSt(e),M7,R7);var a=n[2];if(a){zwt(e,G7);var i=a[1];LI(Ngt[2][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,U7)}else zwt(e,j7);OI(bSt(e),X7),OI(bSt(e),H7),NI(bSt(e),Y7,$7);var c=n[3];LI(LPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),V7),OI(bSt(e),K7),NI(bSt(e),W7,J7);var f=n[4];if(f){zwt(e,q7);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,I7)}),e,o),zwt(e,z7)}else zwt(e,Q7);return OI(bSt(e),Z7),OI(bSt(e),r8)})),mB(UPt,(function(r,t,e){var n=NI(GPt,r,t);return NI(ESt(T7),n,e)}));var jPt=[0,GPt,UPt],XPt=function r(t,e,n,u){return r.fun(t,e,n,u)},HPt=function r(t,e,n){return r.fun(t,e,n)};mB(XPt,(function(r,t,e,n){OI(bSt(e),h7),NI(bSt(e),y7,k7);var u=n[1];LI(jPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),A7),OI(bSt(e),_7),NI(bSt(e),w7,C7);var a=n[2];return NI(bSt(e),S7,a),OI(bSt(e),g7),OI(bSt(e),B7)})),mB(HPt,(function(r,t,e){var n=NI(XPt,r,t);return NI(ESt(m7),n,e)}));var $Pt=[0,XPt,HPt],YPt=function r(t,e,n,u){return r.fun(t,e,n,u)},VPt=function r(t,e,n){return r.fun(t,e,n)},KPt=function r(t,e,n,u){return r.fun(t,e,n,u)},JPt=function r(t,e,n){return r.fun(t,e,n)};mB(YPt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),D7);var u=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),p7);case 1:OI(bSt(e),b7);var a=n[1];return xI(Agt[1],(function(t){return OI(r,t)}),e,a),OI(bSt(e),E7);default:OI(bSt(e),F7);var i=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),d7)}})),mB(VPt,(function(r,t,e){var n=NI(YPt,r,t);return NI(ESt(l7),n,e)})),mB(KPt,(function(r,t,e,n){OI(bSt(e),q2),NI(bSt(e),Q2,z2);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Z2),OI(bSt(e),r7),NI(bSt(e),e7,t7);var a=n[2];LI(YPt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),n7),OI(bSt(e),u7),NI(bSt(e),i7,a7);var i=n[3];if(i){zwt(e,c7);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,W2)}),e,c),zwt(e,f7)}else zwt(e,o7);return OI(bSt(e),s7),OI(bSt(e),v7)})),mB(JPt,(function(r,t,e){var n=NI(KPt,r,t);return NI(ESt(J2),n,e)}));var WPt=[0,YPt,VPt,KPt,JPt],qPt=function r(t,e,n,u){return r.fun(t,e,n,u)},zPt=function r(t,e,n){return r.fun(t,e,n)};mB(qPt,(function(r,t,e,n){OI(bSt(e),M2),NI(bSt(e),U2,G2);var u=n[1];LI(WPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),j2),OI(bSt(e),X2),NI(bSt(e),$2,H2);var a=n[2];return NI(bSt(e),Y2,a),OI(bSt(e),V2),OI(bSt(e),K2)})),mB(zPt,(function(r,t,e){var n=NI(qPt,r,t);return NI(ESt(R2),n,e)}));var QPt=[0,qPt,zPt],ZPt=function r(t,e,n,u){return r.fun(t,e,n,u)},rRt=function r(t,e,n){return r.fun(t,e,n)};mB(ZPt,(function(r,t,e,n){OI(bSt(e),F2),NI(bSt(e),m2,d2);var u=n[1];if(u){zwt(e,h2);var a=u[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,k2)}else zwt(e,y2);OI(bSt(e),A2),OI(bSt(e),_2),NI(bSt(e),w2,C2);var i=n[2];if(i){zwt(e,S2);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,E2)}),e,c),zwt(e,g2)}else zwt(e,B2);OI(bSt(e),T2),OI(bSt(e),I2),NI(bSt(e),N2,O2);var f=n[3];return NI(bSt(e),x2,f),OI(bSt(e),L2),OI(bSt(e),P2)})),mB(rRt,(function(r,t,e){var n=NI(ZPt,r,t);return NI(ESt(b2),n,e)}));var tRt=[0,ZPt,rRt],eRt=function r(t,e,n,u){return r.fun(t,e,n,u)},nRt=function r(t,e,n){return r.fun(t,e,n)},uRt=function r(t,e,n,u){return r.fun(t,e,n,u)},aRt=function r(t,e,n){return r.fun(t,e,n)};mB(eRt,(function(r,t,e,n){OI(bSt(e),l2),NI(r,e,n[1]),OI(bSt(e),D2);var u=n[2];return LI(uRt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),p2)})),mB(nRt,(function(r,t,e){var n=NI(eRt,r,t);return NI(ESt(v2),n,e)})),mB(uRt,(function(r,t,e,n){OI(bSt(e),z1),NI(bSt(e),Z1,Q1);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),r2),OI(bSt(e),t2),NI(bSt(e),n2,e2);var a=n[2];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),u2),OI(bSt(e),a2),NI(bSt(e),c2,i2);var i=n[3];return NI(bSt(e),f2,i),OI(bSt(e),o2),OI(bSt(e),s2)})),mB(aRt,(function(r,t,e){var n=NI(uRt,r,t);return NI(ESt(q1),n,e)}));var iRt=[0,eRt,nRt,uRt,aRt],cRt=function r(t,e,n,u){return r.fun(t,e,n,u)},fRt=function r(t,e,n){return r.fun(t,e,n)};mB(cRt,(function(r,t,e,n){OI(bSt(e),P1),NI(bSt(e),M1,R1);var u=n[1];OI(bSt(e),G1);fCt((function(n,u){return n&&OI(bSt(e),L1),LI(iRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),U1),OI(bSt(e),j1),OI(bSt(e),X1),NI(bSt(e),$1,H1);var a=n[2];if(a){zwt(e,Y1);var i=a[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,V1)}else zwt(e,K1);return OI(bSt(e),J1),OI(bSt(e),W1)})),mB(fRt,(function(r,t,e){var n=NI(cRt,r,t);return NI(ESt(x1),n,e)}));var oRt=[0,iRt,cRt,fRt],sRt=function r(t,e,n,u){return r.fun(t,e,n,u)},vRt=function r(t,e,n){return r.fun(t,e,n)};mB(sRt,(function(r,t,e,n){OI(bSt(e),h1),NI(bSt(e),y1,k1);var u=n[1];OI(bSt(e),A1);fCt((function(n,u){return n&&OI(bSt(e),m1),LI(oRt[1][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),_1),OI(bSt(e),C1),OI(bSt(e),w1),NI(bSt(e),g1,S1);var a=n[2];if(a){zwt(e,B1);var i=a[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,T1)}else zwt(e,I1);return OI(bSt(e),O1),OI(bSt(e),N1)})),mB(vRt,(function(r,t,e){var n=NI(sRt,r,t);return NI(ESt(d1),n,e)}));var lRt=[0,sRt,vRt],DRt=function r(t,e,n,u){return r.fun(t,e,n,u)},pRt=function r(t,e,n){return r.fun(t,e,n)};mB(DRt,(function(r,t,e,n){OI(bSt(e),e1),NI(bSt(e),u1,n1);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),a1),OI(bSt(e),i1),NI(bSt(e),f1,c1);var a=n[2];LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),o1),OI(bSt(e),s1),NI(bSt(e),l1,v1);var i=n[3];if(i){zwt(e,D1);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,t1)}),e,c),zwt(e,p1)}else zwt(e,b1);return OI(bSt(e),E1),OI(bSt(e),F1)})),mB(pRt,(function(r,t,e){var n=NI(DRt,r,t);return NI(ESt(r1),n,e)}));var bRt=[0,DRt,pRt],ERt=function r(t,e,n){return r.fun(t,e,n)},FRt=function r(t,e){return r.fun(t,e)};mB(ERt,(function(r,t,e){OI(bSt(t),M0),NI(bSt(t),U0,G0);var n=e[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,n),OI(bSt(t),j0),OI(bSt(t),X0),NI(bSt(t),$0,H0);var u=e[2];LI(ygt[1],(function(t){return OI(r,t)}),(function(t){return OI(r,t)}),t,u),OI(bSt(t),Y0),OI(bSt(t),V0),NI(bSt(t),J0,K0);var a=e[3];if(a){zwt(t,W0);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,R0)}),t,i),zwt(t,q0)}else zwt(t,z0);return OI(bSt(t),Q0),OI(bSt(t),Z0)})),mB(FRt,(function(r,t){var e=OI(ERt,r);return NI(ESt(P0),e,t)}));var dRt=[0,ERt,FRt],mRt=function r(t,e,n){return r.fun(t,e,n)},hRt=function r(t,e){return r.fun(t,e)};mB(mRt,(function(r,t,e){OI(bSt(t),g0),NI(bSt(t),T0,B0);var n=e[1];if(n){zwt(t,I0);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,S0)}),t,u),zwt(t,O0)}else zwt(t,N0);return OI(bSt(t),x0),OI(bSt(t),L0)})),mB(hRt,(function(r,t){var e=OI(mRt,r);return NI(ESt(w0),e,t)}));var kRt=[0,mRt,hRt],yRt=function r(t,e,n){return r.fun(t,e,n)},ARt=function r(t,e){return r.fun(t,e)};mB(yRt,(function(r,t,e){OI(bSt(t),d0),NI(bSt(t),h0,m0);var n=e[1];if(n){zwt(t,k0);var u=n[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,F0)}),t,u),zwt(t,y0)}else zwt(t,A0);return OI(bSt(t),_0),OI(bSt(t),C0)})),mB(ARt,(function(r,t){var e=OI(yRt,r);return NI(ESt(E0),e,t)}));var _Rt=[0,yRt,ARt],CRt=function r(t,e,n,u){return r.fun(t,e,n,u)},wRt=function r(t,e,n){return r.fun(t,e,n)};mB(CRt,(function(r,t,e,n){OI(bSt(e),u0),NI(bSt(e),i0,a0);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),c0),OI(bSt(e),f0),NI(bSt(e),s0,o0);var a=n[2];if(a){zwt(e,v0);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,n0)}),e,i),zwt(e,l0)}else zwt(e,D0);return OI(bSt(e),p0),OI(bSt(e),b0)})),mB(wRt,(function(r,t,e){var n=NI(CRt,r,t);return NI(ESt(e0),n,e)}));var SRt=[0,CRt,wRt],gRt=function r(t,e,n,u){return r.fun(t,e,n,u)},BRt=function r(t,e,n){return r.fun(t,e,n)},TRt=function r(t,e,n,u){return r.fun(t,e,n,u)},IRt=function r(t,e,n){return r.fun(t,e,n)};mB(gRt,(function(r,t,e,n){OI(bSt(e),ZZ),NI(t,e,n[1]),OI(bSt(e),r0);var u=n[2];return LI(TRt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),t0)})),mB(BRt,(function(r,t,e){var n=NI(gRt,r,t);return NI(ESt(QZ),n,e)})),mB(TRt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),$Q);var u=n[1];return LI(kLt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),YQ);case 1:OI(bSt(e),VQ);var a=n[1];return LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),KQ);case 2:OI(bSt(e),JQ);var i=n[1];return LI(bPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),WQ);case 3:OI(bSt(e),qQ);var c=n[1];return LI(sPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),zQ);case 4:OI(bSt(e),QQ);var f=n[1];return LI(jPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),OI(bSt(e),ZQ);case 5:OI(bSt(e),rZ);var o=n[1];return LI(Rgt[8],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,o),OI(bSt(e),tZ);case 6:OI(bSt(e),eZ);var s=n[1];return LI(oRt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),OI(bSt(e),nZ);case 7:OI(bSt(e),uZ);var v=n[1];return LI(gPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,v),OI(bSt(e),aZ);case 8:OI(bSt(e),iZ);var l=n[1];return LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),OI(bSt(e),cZ);case 9:OI(bSt(e),fZ);var D=n[1];return LI(lRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,D),OI(bSt(e),oZ);case 10:OI(bSt(e),sZ);var p=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,p),OI(bSt(e),vZ);case 11:OI(bSt(e),lZ);var b=n[1];return LI(SRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,b),OI(bSt(e),DZ);case 12:OI(bSt(e),pZ);var E=n[1];return LI(xgt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,E),OI(bSt(e),bZ);case 13:OI(bSt(e),EZ);var F=n[1];return LI(xgt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,F),OI(bSt(e),FZ);case 14:OI(bSt(e),dZ);var d=n[1];return xI(_gt[2],(function(t){return OI(r,t)}),e,d),OI(bSt(e),mZ);case 15:OI(bSt(e),hZ);var m=n[1];return LI(CPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,m),OI(bSt(e),kZ);case 16:OI(bSt(e),yZ);var h=n[1];return LI(WPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,h),OI(bSt(e),AZ);case 17:OI(bSt(e),_Z);var k=n[1];return xI(dRt[1],(function(t){return OI(r,t)}),e,k),OI(bSt(e),CZ);case 18:OI(bSt(e),wZ);var y=n[1];return LI(MPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,y),OI(bSt(e),SZ);case 19:OI(bSt(e),gZ);var A=n[1];return LI(zLt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,A),OI(bSt(e),BZ);case 20:OI(bSt(e),TZ);var _=n[1];return LI($Pt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,_),OI(bSt(e),IZ);case 21:OI(bSt(e),OZ);var C=n[1];return LI(QPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,C),OI(bSt(e),NZ);case 22:OI(bSt(e),xZ);var w=n[1];return LI(rPt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,w),OI(bSt(e),LZ);case 23:OI(bSt(e),PZ);var S=n[1];return xI(_Rt[1],(function(t){return OI(r,t)}),e,S),OI(bSt(e),RZ);case 24:OI(bSt(e),MZ);var g=n[1];return LI(xLt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,g),OI(bSt(e),GZ);case 25:OI(bSt(e),UZ);var B=n[1];return LI(ILt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,B),OI(bSt(e),jZ);case 26:OI(bSt(e),XZ);var T=n[1];return xI(kRt[1],(function(t){return OI(r,t)}),e,T),OI(bSt(e),HZ);case 27:OI(bSt(e),$Z);var I=n[1];return LI(bRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,I),OI(bSt(e),YZ);case 28:OI(bSt(e),VZ);var O=n[1];return LI(aPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,O),OI(bSt(e),KZ);case 29:OI(bSt(e),JZ);var N=n[1];return LI(hPt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,N),OI(bSt(e),WZ);default:OI(bSt(e),qZ);var x=n[1];return LI(tRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,x),OI(bSt(e),zZ)}})),mB(IRt,(function(r,t,e){var n=NI(TRt,r,t);return NI(ESt(HQ),n,e)})),xI(USt,rVr,Ngt,[0,iLt,bLt,ELt,kLt,ILt,xLt,zLt,rPt,aPt,sPt,bPt,hPt,CPt,gPt,BPt,TPt,LPt,MPt,jPt,$Pt,WPt,QPt,tRt,oRt,lRt,bRt,dRt,kRt,_Rt,SRt,gRt,BRt,TRt,IRt]);var ORt=function r(t,e,n,u){return r.fun(t,e,n,u)},NRt=function r(t,e,n){return r.fun(t,e,n)},xRt=function r(t,e,n){return r.fun(t,e,n)},LRt=function r(t,e){return r.fun(t,e)};mB(ORt,(function(r,t,e,n){OI(bSt(e),UQ),NI(t,e,n[1]),OI(bSt(e),jQ);var u=n[2];return xI(xRt,(function(t){return OI(r,t)}),e,u),OI(bSt(e),XQ)})),mB(NRt,(function(r,t,e){var n=NI(ORt,r,t);return NI(ESt(GQ),n,e)})),mB(xRt,(function(r,t,e){OI(bSt(t),wQ),NI(bSt(t),gQ,SQ);var n=e[1];NI(bSt(t),BQ,n),OI(bSt(t),TQ),OI(bSt(t),IQ),NI(bSt(t),NQ,OQ);var u=e[2];if(u){zwt(t,xQ);var a=u[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,CQ)}),t,a),zwt(t,LQ)}else zwt(t,PQ);return OI(bSt(t),RQ),OI(bSt(t),MQ)})),mB(LRt,(function(r,t){var e=OI(xRt,r);return NI(ESt(_Q),e,t)}));var PRt=[0,ORt,NRt,xRt,LRt],RRt=function r(t,e,n,u){return r.fun(t,e,n,u)},MRt=function r(t,e,n){return r.fun(t,e,n)},GRt=function r(t,e,n,u){return r.fun(t,e,n,u)},URt=function r(t,e,n){return r.fun(t,e,n)};mB(RRt,(function(r,t,e,n){OI(bSt(e),kQ),NI(r,e,n[1]),OI(bSt(e),yQ);var u=n[2];return LI(GRt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),AQ)})),mB(MRt,(function(r,t,e){var n=NI(RRt,r,t);return NI(ESt(hQ),n,e)})),mB(GRt,(function(r,t,e,n){OI(bSt(e),vQ),NI(bSt(e),DQ,lQ);var u=n[1];LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),pQ),OI(bSt(e),bQ),NI(bSt(e),FQ,EQ);var a=n[2];return LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),dQ),OI(bSt(e),mQ)})),mB(URt,(function(r,t,e){var n=NI(GRt,r,t);return NI(ESt(sQ),n,e)}));var jRt=[0,RRt,MRt,GRt,URt],XRt=function r(t,e,n,u){return r.fun(t,e,n,u)},HRt=function r(t,e,n){return r.fun(t,e,n)},$Rt=function r(t,e,n,u){return r.fun(t,e,n,u)},YRt=function r(t,e,n){return r.fun(t,e,n)};mB(XRt,(function(r,t,e,n){OI(bSt(e),Qz),NI(bSt(e),rQ,Zz);var u=n[1];LI($Rt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),tQ),OI(bSt(e),eQ),NI(bSt(e),uQ,nQ);var a=n[2];if(a){zwt(e,aQ);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),qz);return fCt((function(e,n){return e&&OI(bSt(t),Wz),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),zz)}),e,i),zwt(e,iQ)}else zwt(e,cQ);return OI(bSt(e),fQ),OI(bSt(e),oQ)})),mB(HRt,(function(r,t,e){var n=NI(XRt,r,t);return NI(ESt(Jz),n,e)})),mB($Rt,(function(r,t,e,n){if(n){OI(bSt(e),Yz);var u=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Vz)}return zwt(e,Kz)})),mB(YRt,(function(r,t,e){var n=NI($Rt,r,t);return NI(ESt($z),n,e)}));var VRt=[0,XRt,HRt,$Rt,YRt],KRt=function(r,t){OI(bSt(r),Oz),NI(bSt(r),xz,Nz);var e=t[1];NI(bSt(r),Lz,e),OI(bSt(r),Pz),OI(bSt(r),Rz),NI(bSt(r),Gz,Mz);var n=t[2];return NI(bSt(r),Uz,n),OI(bSt(r),jz),OI(bSt(r),Xz)},JRt=[0,KRt,function(r){return NI(ESt(Hz),KRt,r)}],WRt=function r(t,e,n,u){return r.fun(t,e,n,u)},qRt=function r(t,e,n){return r.fun(t,e,n)},zRt=function r(t,e,n,u){return r.fun(t,e,n,u)},QRt=function r(t,e,n){return r.fun(t,e,n)},ZRt=function r(t,e,n,u){return r.fun(t,e,n,u)},rMt=function r(t,e,n){return r.fun(t,e,n)},tMt=function r(t,e,n,u){return r.fun(t,e,n,u)},eMt=function r(t,e,n){return r.fun(t,e,n)};mB(WRt,(function(r,t,e,n){OI(bSt(e),Bz),NI(r,e,n[1]),OI(bSt(e),Tz);var u=n[2];return LI(tMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Iz)})),mB(qRt,(function(r,t,e){var n=NI(WRt,r,t);return NI(ESt(gz),n,e)})),mB(zRt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),_z);var u=n[1];return LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Cz)}OI(bSt(e),wz);var a=n[1];return LI(jRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Sz)})),mB(QRt,(function(r,t,e){var n=NI(zRt,r,t);return NI(ESt(Az),n,e)})),mB(ZRt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),Fz),NI(t,e,n[1]),OI(bSt(e),dz);var u=n[2];return xI(_gt[2],(function(t){return OI(r,t)}),e,u),OI(bSt(e),mz)}OI(bSt(e),hz),NI(t,e,n[1]),OI(bSt(e),kz);var a=n[2];return LI(VRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),yz)})),mB(rMt,(function(r,t,e){var n=NI(ZRt,r,t);return NI(ESt(Ez),n,e)})),mB(tMt,(function(r,t,e,n){OI(bSt(e),uz),NI(bSt(e),iz,az);var u=n[1];LI(zRt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),cz),OI(bSt(e),fz),NI(bSt(e),sz,oz);var a=n[2];if(a){zwt(e,vz);var i=a[1];LI(ZRt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,lz)}else zwt(e,Dz);return OI(bSt(e),pz),OI(bSt(e),bz)})),mB(eMt,(function(r,t,e){var n=NI(tMt,r,t);return NI(ESt(nz),n,e)}));var nMt=[0,WRt,qRt,zRt,QRt,ZRt,rMt,tMt,eMt],uMt=function r(t,e,n,u){return r.fun(t,e,n,u)},aMt=function r(t,e,n){return r.fun(t,e,n)},iMt=function r(t,e,n,u){return r.fun(t,e,n,u)},cMt=function r(t,e,n){return r.fun(t,e,n)};mB(uMt,(function(r,t,e,n){OI(bSt(e),rz),NI(r,e,n[1]),OI(bSt(e),tz);var u=n[2];return LI(iMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),ez)})),mB(aMt,(function(r,t,e){var n=NI(uMt,r,t);return NI(ESt(Zq),n,e)})),mB(iMt,(function(r,t,e,n){OI(bSt(e),jq),NI(bSt(e),Hq,Xq);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),$q),OI(bSt(e),Yq),NI(bSt(e),Kq,Vq);var a=n[2];if(a){zwt(e,Jq);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Uq)}),e,i),zwt(e,Wq)}else zwt(e,qq);return OI(bSt(e),zq),OI(bSt(e),Qq)})),mB(cMt,(function(r,t,e){var n=NI(iMt,r,t);return NI(ESt(Gq),n,e)}));var fMt=[0,uMt,aMt,iMt,cMt],oMt=function r(t,e,n,u){return r.fun(t,e,n,u)},sMt=function r(t,e,n){return r.fun(t,e,n)},vMt=function r(t,e,n,u){return r.fun(t,e,n,u)},lMt=function r(t,e,n){return r.fun(t,e,n)},DMt=function r(t,e,n,u){return r.fun(t,e,n,u)},pMt=function r(t,e,n){return r.fun(t,e,n)};mB(oMt,(function(r,t,e,n){OI(bSt(e),Pq),NI(r,e,n[1]),OI(bSt(e),Rq);var u=n[2];return LI(DMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Mq)})),mB(sMt,(function(r,t,e){var n=NI(oMt,r,t);return NI(ESt(Lq),n,e)})),mB(vMt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),Iq);var u=n[1];return LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Oq)}OI(bSt(e),Nq);var a=n[1];return LI(oMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),xq)})),mB(lMt,(function(r,t,e){var n=NI(vMt,r,t);return NI(ESt(Tq),n,e)})),mB(DMt,(function(r,t,e,n){OI(bSt(e),kq),NI(bSt(e),Aq,yq);var u=n[1];LI(vMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),_q),OI(bSt(e),Cq),NI(bSt(e),Sq,wq);var a=n[2];return LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),gq),OI(bSt(e),Bq)})),mB(pMt,(function(r,t,e){var n=NI(DMt,r,t);return NI(ESt(hq),n,e)}));var bMt=[0,oMt,sMt,vMt,lMt,DMt,pMt],EMt=function r(t,e,n,u){return r.fun(t,e,n,u)},FMt=function r(t,e,n){return r.fun(t,e,n)};mB(EMt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),pq);var u=n[1];return LI(PRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),bq);case 1:OI(bSt(e),Eq);var a=n[1];return LI(jRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),Fq);default:OI(bSt(e),dq);var i=n[1];return LI(bMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),mq)}})),mB(FMt,(function(r,t,e){var n=NI(EMt,r,t);return NI(ESt(Dq),n,e)}));var dMt=function r(t,e,n,u){return r.fun(t,e,n,u)},mMt=function r(t,e,n){return r.fun(t,e,n)},hMt=function r(t,e,n,u){return r.fun(t,e,n,u)},kMt=function r(t,e,n){return r.fun(t,e,n)},yMt=function r(t,e,n,u){return r.fun(t,e,n,u)},AMt=function r(t,e,n){return r.fun(t,e,n)};mB(dMt,(function(r,t,e,n){OI(bSt(e),sq),NI(r,e,n[1]),OI(bSt(e),vq);var u=n[2];return LI(yMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),lq)})),mB(mMt,(function(r,t,e){var n=NI(dMt,r,t);return NI(ESt(oq),n,e)})),mB(hMt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),aq);var u=n[1];return LI(nMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),iq)}OI(bSt(e),cq);var a=n[1];return LI(fMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),fq)})),mB(kMt,(function(r,t,e){var n=NI(hMt,r,t);return NI(ESt(uq),n,e)})),mB(yMt,(function(r,t,e,n){OI(bSt(e),XW),NI(bSt(e),$W,HW);var u=n[1];LI(EMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),YW),OI(bSt(e),VW),NI(bSt(e),JW,KW);var a=n[2];NI(bSt(e),WW,a),OI(bSt(e),qW),OI(bSt(e),zW),NI(bSt(e),ZW,QW);var i=n[3];OI(bSt(e),rq);return fCt((function(n,u){return n&&OI(bSt(e),jW),LI(hMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,i),OI(bSt(e),tq),OI(bSt(e),eq),OI(bSt(e),nq)})),mB(AMt,(function(r,t,e){var n=NI(yMt,r,t);return NI(ESt(UW),n,e)}));var _Mt=[0,dMt,mMt,hMt,kMt,yMt,AMt],CMt=function r(t,e,n,u){return r.fun(t,e,n,u)},wMt=function r(t,e,n){return r.fun(t,e,n)},SMt=function r(t,e,n,u){return r.fun(t,e,n,u)},gMt=function r(t,e,n){return r.fun(t,e,n)};mB(CMt,(function(r,t,e,n){OI(bSt(e),RW),NI(r,e,n[1]),OI(bSt(e),MW);var u=n[2];return LI(SMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),GW)})),mB(wMt,(function(r,t,e){var n=NI(CMt,r,t);return NI(ESt(PW),n,e)})),mB(SMt,(function(r,t,e,n){OI(bSt(e),IW),NI(bSt(e),NW,OW);var u=n[1];return LI(EMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),xW),OI(bSt(e),LW)})),mB(gMt,(function(r,t,e){var n=NI(SMt,r,t);return NI(ESt(TW),n,e)}));var BMt=[0,CMt,wMt,SMt,gMt],TMt=function r(t,e,n,u){return r.fun(t,e,n,u)},IMt=function r(t,e,n){return r.fun(t,e,n)};mB(TMt,(function(r,t,e,n){OI(bSt(e),dW),NI(bSt(e),hW,mW);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),kW),OI(bSt(e),yW),NI(bSt(e),_W,AW);var a=n[2];if(a){zwt(e,CW);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,FW)}),e,i),zwt(e,wW)}else zwt(e,SW);return OI(bSt(e),gW),OI(bSt(e),BW)})),mB(IMt,(function(r,t,e){var n=NI(TMt,r,t);return NI(ESt(EW),n,e)}));var OMt=[0,TMt,IMt],NMt=function r(t,e,n,u){return r.fun(t,e,n,u)},xMt=function r(t,e,n){return r.fun(t,e,n)},LMt=function r(t,e,n,u){return r.fun(t,e,n,u)},PMt=function r(t,e,n){return r.fun(t,e,n)},RMt=function r(t,e,n,u){return r.fun(t,e,n,u)},MMt=function r(t,e,n){return r.fun(t,e,n)},GMt=function r(t,e,n,u){return r.fun(t,e,n,u)},UMt=function r(t,e,n){return r.fun(t,e,n)};mB(NMt,(function(r,t,e,n){OI(bSt(e),DW),NI(r,e,n[1]),OI(bSt(e),pW);var u=n[2];return LI(LMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),bW)})),mB(xMt,(function(r,t,e){var n=NI(NMt,r,t);return NI(ESt(lW),n,e)})),mB(LMt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),eW);var u=n[1];return LI(RMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),nW);case 1:OI(bSt(e),uW);var a=n[1];return LI(GMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),aW);case 2:OI(bSt(e),iW);var i=n[1];return LI(VRt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),cW);case 3:OI(bSt(e),fW);var c=n[1];return LI(OMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),oW);default:return OI(bSt(e),sW),NI(JRt[1],e,n[1]),OI(bSt(e),vW)}})),mB(PMt,(function(r,t,e){var n=NI(LMt,r,t);return NI(ESt(tW),n,e)})),mB(RMt,(function(r,t,e,n){OI(bSt(e),SJ),NI(bSt(e),BJ,gJ);var u=n[1];LI(_Mt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),TJ),OI(bSt(e),IJ),NI(bSt(e),NJ,OJ);var a=n[2];if(a){zwt(e,xJ);var i=a[1];LI(BMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,LJ)}else zwt(e,PJ);OI(bSt(e),RJ),OI(bSt(e),MJ),NI(bSt(e),UJ,GJ);var c=n[3];OI(bSt(e),jJ),NI(r,e,c[1]),OI(bSt(e),XJ),OI(bSt(e),HJ);fCt((function(n,u){return n&&OI(bSt(e),wJ),LI(NMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,c[2]),OI(bSt(e),$J),OI(bSt(e),YJ),OI(bSt(e),VJ),OI(bSt(e),KJ),NI(bSt(e),WJ,JJ);var f=n[4];if(f){zwt(e,qJ);var o=f[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,CJ)}),e,o),zwt(e,zJ)}else zwt(e,QJ);return OI(bSt(e),ZJ),OI(bSt(e),rW)})),mB(MMt,(function(r,t,e){var n=NI(RMt,r,t);return NI(ESt(_J),n,e)})),mB(GMt,(function(r,t,e,n){OI(bSt(e),ZK),NI(bSt(e),tJ,rJ),NI(r,e,n[1]),OI(bSt(e),eJ),OI(bSt(e),nJ),NI(bSt(e),aJ,uJ),NI(r,e,n[2]),OI(bSt(e),iJ),OI(bSt(e),cJ),NI(bSt(e),oJ,fJ);var u=n[3];OI(bSt(e),sJ),NI(r,e,u[1]),OI(bSt(e),vJ),OI(bSt(e),lJ);fCt((function(n,u){return n&&OI(bSt(e),QK),LI(NMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u[2]),OI(bSt(e),DJ),OI(bSt(e),pJ),OI(bSt(e),bJ),OI(bSt(e),EJ),NI(bSt(e),dJ,FJ);var a=n[4];if(a){zwt(e,mJ);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,zK)}),e,i),zwt(e,hJ)}else zwt(e,kJ);return OI(bSt(e),yJ),OI(bSt(e),AJ)})),mB(UMt,(function(r,t,e){var n=NI(GMt,r,t);return NI(ESt(qK),n,e)})),xI(USt,tVr,xgt,[0,PRt,jRt,VRt,JRt,nMt,fMt,bMt,EMt,FMt,_Mt,BMt,OMt,NMt,xMt,LMt,PMt,RMt,MMt,GMt,UMt]);var jMt=function r(t,e,n,u){return r.fun(t,e,n,u)},XMt=function r(t,e,n){return r.fun(t,e,n)},HMt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Mt=function r(t,e,n){return r.fun(t,e,n)};mB(jMt,(function(r,t,e,n){OI(bSt(e),KK),NI(r,e,n[1]),OI(bSt(e),JK);var u=n[2];return LI(HMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),WK)})),mB(XMt,(function(r,t,e){var n=NI(jMt,r,t);return NI(ESt(VK),n,e)})),mB(HMt,(function(r,t,e,n){OI(bSt(e),xK),NI(bSt(e),PK,LK);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),RK),OI(bSt(e),MK),NI(bSt(e),UK,GK);var a=n[2];if(a){zwt(e,jK);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,NK)}),e,i),zwt(e,XK)}else zwt(e,HK);return OI(bSt(e),$K),OI(bSt(e),YK)})),mB($Mt,(function(r,t,e){var n=NI(HMt,r,t);return NI(ESt(OK),n,e)}));var YMt=[0,jMt,XMt,HMt,$Mt],VMt=function r(t,e,n,u){return r.fun(t,e,n,u)},KMt=function r(t,e,n){return r.fun(t,e,n)},JMt=function r(t,e,n,u){return r.fun(t,e,n,u)},WMt=function r(t,e,n){return r.fun(t,e,n)},qMt=function r(t,e,n,u){return r.fun(t,e,n,u)},zMt=function r(t,e,n){return r.fun(t,e,n)};mB(VMt,(function(r,t,e,n){switch(n[0]){case 0:var u=n[1];OI(bSt(e),AK),OI(bSt(e),_K),NI(r,e,u[1]),OI(bSt(e),CK);var a=u[2];return xI(_gt[2],(function(t){return OI(r,t)}),e,a),OI(bSt(e),wK),OI(bSt(e),SK);case 1:OI(bSt(e),gK);var i=n[1];return LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),BK);default:OI(bSt(e),TK);var c=n[1];return LI(Tgt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),IK)}})),mB(KMt,(function(r,t,e){var n=NI(VMt,r,t);return NI(ESt(yK),n,e)})),mB(JMt,(function(r,t,e,n){OI(bSt(e),mK),NI(r,e,n[1]),OI(bSt(e),hK);var u=n[2];return LI(qMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),kK)})),mB(WMt,(function(r,t,e){var n=NI(JMt,r,t);return NI(ESt(dK),n,e)})),mB(qMt,(function(r,t,e,n){OI(bSt(e),zV),NI(bSt(e),ZV,QV);var u=n[1];LI(VMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),rK),OI(bSt(e),tK),NI(bSt(e),nK,eK);var a=n[2];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),uK),OI(bSt(e),aK),NI(bSt(e),cK,iK);var i=n[3];if(i){zwt(e,fK);var c=i[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),zwt(e,oK)}else zwt(e,sK);OI(bSt(e),vK),OI(bSt(e),lK),NI(bSt(e),pK,DK);var f=n[4];return NI(bSt(e),bK,f),OI(bSt(e),EK),OI(bSt(e),FK)})),mB(zMt,(function(r,t,e){var n=NI(qMt,r,t);return NI(ESt(qV),n,e)}));var QMt=[0,VMt,KMt,JMt,WMt,qMt,zMt],ZMt=function r(t,e,n,u){return r.fun(t,e,n,u)},rGt=function r(t,e,n){return r.fun(t,e,n)},tGt=function r(t,e,n,u){return r.fun(t,e,n,u)},eGt=function r(t,e,n){return r.fun(t,e,n)};mB(ZMt,(function(r,t,e,n){if(0===n[0]){OI(bSt(e),VV);var u=n[1];return LI(QMt[3],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),KV)}OI(bSt(e),JV);var a=n[1];return LI(YMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),WV)})),mB(rGt,(function(r,t,e){var n=NI(ZMt,r,t);return NI(ESt(YV),n,e)})),mB(tGt,(function(r,t,e,n){OI(bSt(e),SV),NI(bSt(e),BV,gV);var u=n[1];OI(bSt(e),TV);fCt((function(n,u){return n&&OI(bSt(e),wV),LI(ZMt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),IV),OI(bSt(e),OV),OI(bSt(e),NV),NI(bSt(e),LV,xV);var a=n[2];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),PV),OI(bSt(e),RV),NI(bSt(e),GV,MV);var i=n[3];if(i){zwt(e,UV);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),_V);return fCt((function(e,n){return e&&OI(bSt(t),AV),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),CV)}),e,c),zwt(e,jV)}else zwt(e,XV);return OI(bSt(e),HV),OI(bSt(e),$V)})),mB(eGt,(function(r,t,e){var n=NI(tGt,r,t);return NI(ESt(yV),n,e)}));var nGt=[0,QMt,ZMt,rGt,tGt,eGt],uGt=function r(t,e,n,u){return r.fun(t,e,n,u)},aGt=function r(t,e,n){return r.fun(t,e,n)},iGt=function r(t,e,n,u){return r.fun(t,e,n,u)},cGt=function r(t,e,n){return r.fun(t,e,n)};mB(uGt,(function(r,t,e,n){OI(bSt(e),mV),NI(r,e,n[1]),OI(bSt(e),hV);var u=n[2];return LI(iGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),kV)})),mB(aGt,(function(r,t,e){var n=NI(uGt,r,t);return NI(ESt(dV),n,e)})),mB(iGt,(function(r,t,e,n){OI(bSt(e),iV),NI(bSt(e),fV,cV);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),oV),OI(bSt(e),sV),NI(bSt(e),lV,vV);var a=n[2];if(a){zwt(e,DV);var i=a[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,pV)}else zwt(e,bV);return OI(bSt(e),EV),OI(bSt(e),FV)})),mB(cGt,(function(r,t,e){var n=NI(iGt,r,t);return NI(ESt(aV),n,e)}));var fGt=[0,uGt,aGt,iGt,cGt],oGt=function r(t,e,n,u){return r.fun(t,e,n,u)},sGt=function r(t,e,n){return r.fun(t,e,n)},vGt=function r(t,e,n,u){return r.fun(t,e,n,u)},lGt=function r(t,e,n){return r.fun(t,e,n)};mB(oGt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),ZY);var u=n[1];return LI(fGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),rV);case 1:OI(bSt(e),tV);var a=n[1];return LI(YMt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),eV);default:return OI(bSt(e),nV),NI(r,e,n[1]),OI(bSt(e),uV)}})),mB(sGt,(function(r,t,e){var n=NI(oGt,r,t);return NI(ESt(QY),n,e)})),mB(vGt,(function(r,t,e,n){OI(bSt(e),xY),NI(bSt(e),PY,LY);var u=n[1];OI(bSt(e),RY);fCt((function(n,u){return n&&OI(bSt(e),NY),LI(oGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),MY),OI(bSt(e),GY),OI(bSt(e),UY),NI(bSt(e),XY,jY);var a=n[2];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),HY),OI(bSt(e),$Y),NI(bSt(e),VY,YY);var i=n[3];if(i){zwt(e,KY);var c=i[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),IY);return fCt((function(e,n){return e&&OI(bSt(t),TY),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),OY)}),e,c),zwt(e,JY)}else zwt(e,WY);return OI(bSt(e),qY),OI(bSt(e),zY)})),mB(lGt,(function(r,t,e){var n=NI(vGt,r,t);return NI(ESt(BY),n,e)}));var DGt=[0,fGt,oGt,sGt,vGt,lGt],pGt=function r(t,e,n,u){return r.fun(t,e,n,u)},bGt=function r(t,e,n){return r.fun(t,e,n)};mB(pGt,(function(r,t,e,n){OI(bSt(e),bY),NI(bSt(e),FY,EY);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),dY),OI(bSt(e),mY),NI(bSt(e),kY,hY);var a=n[2];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),yY),OI(bSt(e),AY),NI(bSt(e),CY,_Y);var i=n[3];return NI(bSt(e),wY,i),OI(bSt(e),SY),OI(bSt(e),gY)})),mB(bGt,(function(r,t,e){var n=NI(pGt,r,t);return NI(ESt(pY),n,e)}));var EGt=[0,pGt,bGt],FGt=function r(t,e,n,u){return r.fun(t,e,n,u)},dGt=function r(t,e,n){return r.fun(t,e,n)},mGt=function r(t,e,n,u){return r.fun(t,e,n,u)},hGt=function r(t,e,n){return r.fun(t,e,n)};mB(FGt,(function(r,t,e,n){OI(bSt(e),vY),NI(t,e,n[1]),OI(bSt(e),lY);var u=n[2];return LI(mGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),DY)})),mB(dGt,(function(r,t,e){var n=NI(FGt,r,t);return NI(ESt(sY),n,e)})),mB(mGt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),eY);var u=n[1];return LI(nGt[4],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),nY);case 1:OI(bSt(e),uY);var a=n[1];return LI(DGt[4],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),aY);case 2:OI(bSt(e),iY);var i=n[1];return LI(EGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),cY);default:OI(bSt(e),fY);var c=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),oY)}})),mB(hGt,(function(r,t,e){var n=NI(mGt,r,t);return NI(ESt(tY),n,e)})),xI(USt,eVr,Lgt,[0,YMt,nGt,DGt,EGt,FGt,dGt,mGt,hGt]);var kGt=function r(t,e,n){return r.fun(t,e,n)},yGt=function r(t,e){return r.fun(t,e)},AGt=function r(t,e){return r.fun(t,e)},_Gt=function r(t){return r.fun(t)},CGt=function r(t,e){return r.fun(t,e)},wGt=function r(t){return r.fun(t)};mB(kGt,(function(r,t,e){return OI(bSt(t),Q$),NI(r,t,e[1]),OI(bSt(t),Z$),NI(CGt,t,e[2]),OI(bSt(t),rY)})),mB(yGt,(function(r,t){var e=OI(kGt,r);return NI(ESt(z$),e,t)})),mB(AGt,(function(r,t){return zwt(r,0===t?q$:W$)})),mB(_Gt,(function(r){return NI(ESt(J$),AGt,r)})),mB(CGt,(function(r,t){OI(bSt(r),N$),NI(bSt(r),L$,x$),NI(AGt,r,t[1]),OI(bSt(r),P$),OI(bSt(r),R$),NI(bSt(r),G$,M$);var e=t[2];NI(bSt(r),U$,e),OI(bSt(r),j$),OI(bSt(r),X$),NI(bSt(r),$$,H$);var n=t[3];return NI(bSt(r),Y$,n),OI(bSt(r),V$),OI(bSt(r),K$)})),mB(wGt,(function(r){return NI(ESt(O$),CGt,r)})),xI(USt,nVr,Pgt,[0,kGt,yGt,AGt,_Gt,CGt,wGt]);var SGt=function r(t,e,n,u){return r.fun(t,e,n,u)},gGt=function r(t,e,n){return r.fun(t,e,n)},BGt=function r(t,e){return r.fun(t,e)},TGt=function r(t){return r.fun(t)},IGt=function r(t,e,n,u){return r.fun(t,e,n,u)},OGt=function r(t,e,n){return r.fun(t,e,n)};mB(SGt,(function(r,t,e,n){OI(bSt(e),B$),NI(t,e,n[1]),OI(bSt(e),T$);var u=n[2];return LI(IGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),I$)})),mB(gGt,(function(r,t,e){var n=NI(SGt,r,t);return NI(ESt(g$),n,e)})),mB(BGt,(function(r,t){switch(t){case 0:return zwt(r,_$);case 1:return zwt(r,C$);case 2:return zwt(r,w$);default:return zwt(r,S$)}})),mB(TGt,(function(r){return NI(ESt(A$),BGt,r)})),mB(IGt,(function(r,t,e,n){OI(bSt(e),HH),NI(bSt(e),YH,$H),NI(BGt,e,n[1]),OI(bSt(e),VH),OI(bSt(e),KH),NI(bSt(e),WH,JH);var u=n[2];LI(Ngt[7][1][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),qH),OI(bSt(e),zH),NI(bSt(e),ZH,QH);var a=n[3];OI(bSt(e),r$),NI(r,e,a[1]),OI(bSt(e),t$);var i=a[2];LI(Mgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),e$),OI(bSt(e),n$),OI(bSt(e),u$),NI(bSt(e),i$,a$);var c=n[4];NI(bSt(e),c$,c),OI(bSt(e),f$),OI(bSt(e),o$),NI(bSt(e),v$,s$);var f=n[5];OI(bSt(e),l$);fCt((function(n,u){return n&&OI(bSt(e),XH),LI(Rgt[7][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,f),OI(bSt(e),D$),OI(bSt(e),p$),OI(bSt(e),b$),NI(bSt(e),F$,E$);var o=n[6];if(o){zwt(e,d$);var s=o[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,jH)}),e,s),zwt(e,m$)}else zwt(e,h$);return OI(bSt(e),k$),OI(bSt(e),y$)})),mB(OGt,(function(r,t,e){var n=NI(IGt,r,t);return NI(ESt(UH),n,e)}));var NGt=[0,SGt,gGt,BGt,TGt,IGt,OGt],xGt=function r(t,e,n,u){return r.fun(t,e,n,u)},LGt=function r(t,e,n){return r.fun(t,e,n)},PGt=function r(t,e,n,u){return r.fun(t,e,n,u)},RGt=function r(t,e,n){return r.fun(t,e,n)},MGt=function r(t,e,n,u){return r.fun(t,e,n,u)},GGt=function r(t,e,n){return r.fun(t,e,n)};mB(xGt,(function(r,t,e,n){OI(bSt(e),RH),NI(t,e,n[1]),OI(bSt(e),MH);var u=n[2];return LI(PGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),GH)})),mB(LGt,(function(r,t,e){var n=NI(xGt,r,t);return NI(ESt(PH),n,e)})),mB(PGt,(function(r,t,e,n){OI(bSt(e),uH),NI(bSt(e),iH,aH);var u=n[1];LI(Ngt[7][1][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),cH),OI(bSt(e),fH),NI(bSt(e),sH,oH);var a=n[2];LI(MGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),vH),OI(bSt(e),lH),NI(bSt(e),pH,DH);var i=n[3];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),bH),OI(bSt(e),EH),NI(bSt(e),dH,FH);var c=n[4];NI(bSt(e),mH,c),OI(bSt(e),hH),OI(bSt(e),kH),NI(bSt(e),AH,yH);var f=n[5];if(f){zwt(e,_H);var o=f[1];xI(Bgt[1],(function(t){return OI(r,t)}),e,o),zwt(e,CH)}else zwt(e,wH);OI(bSt(e),SH),OI(bSt(e),gH),NI(bSt(e),TH,BH);var s=n[6];if(s){zwt(e,IH);var v=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,nH)}),e,v),zwt(e,OH)}else zwt(e,NH);return OI(bSt(e),xH),OI(bSt(e),LH)})),mB(RGt,(function(r,t,e){var n=NI(PGt,r,t);return NI(ESt(eH),n,e)})),mB(MGt,(function(r,t,e,n){if("number"==typeof n)return zwt(e,0===n?ZX:QX);OI(bSt(e),rH);var u=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),tH)})),mB(GGt,(function(r,t,e){var n=NI(MGt,r,t);return NI(ESt(zX),n,e)}));var UGt=[0,xGt,LGt,PGt,RGt,MGt,GGt],jGt=function r(t,e,n,u){return r.fun(t,e,n,u)},XGt=function r(t,e,n){return r.fun(t,e,n)},HGt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Gt=function r(t,e,n){return r.fun(t,e,n)};mB(jGt,(function(r,t,e,n){OI(bSt(e),JX),NI(t,e,n[1]),OI(bSt(e),WX);var u=n[2];return LI(HGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),qX)})),mB(XGt,(function(r,t,e){var n=NI(jGt,r,t);return NI(ESt(KX),n,e)})),mB(HGt,(function(r,t,e,n){OI(bSt(e),bX),NI(bSt(e),FX,EX);var u=n[1];xI(Agt[1],(function(t){return OI(r,t)}),e,u),OI(bSt(e),dX),OI(bSt(e),mX),NI(bSt(e),kX,hX);var a=n[2];LI(Rgt[2][5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),yX),OI(bSt(e),AX),NI(bSt(e),CX,_X);var i=n[3];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),wX),OI(bSt(e),SX),NI(bSt(e),BX,gX);var c=n[4];NI(bSt(e),TX,c),OI(bSt(e),IX),OI(bSt(e),OX),NI(bSt(e),xX,NX);var f=n[5];if(f){zwt(e,LX);var o=f[1];xI(Bgt[1],(function(t){return OI(r,t)}),e,o),zwt(e,PX)}else zwt(e,RX);OI(bSt(e),MX),OI(bSt(e),GX),NI(bSt(e),jX,UX);var s=n[6];if(s){zwt(e,XX);var v=s[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,pX)}),e,v),zwt(e,HX)}else zwt(e,$X);return OI(bSt(e),YX),OI(bSt(e),VX)})),mB($Gt,(function(r,t,e){var n=NI(HGt,r,t);return NI(ESt(DX),n,e)}));var YGt=[0,jGt,XGt,HGt,$Gt],VGt=function r(t,e,n,u){return r.fun(t,e,n,u)},KGt=function r(t,e,n){return r.fun(t,e,n)},JGt=function r(t,e,n,u){return r.fun(t,e,n,u)},WGt=function r(t,e,n){return r.fun(t,e,n)};mB(VGt,(function(r,t,e,n){OI(bSt(e),sX),NI(r,e,n[1]),OI(bSt(e),vX);var u=n[2];return LI(JGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),lX)})),mB(KGt,(function(r,t,e){var n=NI(VGt,r,t);return NI(ESt(oX),n,e)})),mB(JGt,(function(r,t,e,n){OI(bSt(e),$j),NI(bSt(e),Vj,Yj);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Kj),OI(bSt(e),Jj),NI(bSt(e),qj,Wj);var a=n[2];if(a){zwt(e,zj);var i=a[1];LI(Igt[23][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,Qj)}else zwt(e,Zj);OI(bSt(e),rX),OI(bSt(e),tX),NI(bSt(e),nX,eX);var c=n[3];if(c){zwt(e,uX);var f=c[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,Hj)}),e,f),zwt(e,aX)}else zwt(e,iX);return OI(bSt(e),cX),OI(bSt(e),fX)})),mB(WGt,(function(r,t,e){var n=NI(JGt,r,t);return NI(ESt(Xj),n,e)}));var qGt=[0,VGt,KGt,JGt,WGt],zGt=function r(t,e,n,u){return r.fun(t,e,n,u)},QGt=function r(t,e,n){return r.fun(t,e,n)},ZGt=function r(t,e,n,u){return r.fun(t,e,n,u)},rUt=function r(t,e,n){return r.fun(t,e,n)};mB(zGt,(function(r,t,e,n){OI(bSt(e),Gj),NI(r,e,n[1]),OI(bSt(e),Uj);var u=n[2];return LI(ZGt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),jj)})),mB(QGt,(function(r,t,e){var n=NI(zGt,r,t);return NI(ESt(Mj),n,e)})),mB(ZGt,(function(r,t,e,n){OI(bSt(e),wj),NI(bSt(e),gj,Sj);var u=n[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),Bj),OI(bSt(e),Tj),NI(bSt(e),Oj,Ij);var a=n[2];if(a){zwt(e,Nj);var i=a[1];LI(Igt[23][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,xj)}else zwt(e,Lj);return OI(bSt(e),Pj),OI(bSt(e),Rj)})),mB(rUt,(function(r,t,e){var n=NI(ZGt,r,t);return NI(ESt(Cj),n,e)}));var tUt=[0,zGt,QGt,ZGt,rUt],eUt=function r(t,e,n,u){return r.fun(t,e,n,u)},nUt=function r(t,e,n){return r.fun(t,e,n)},uUt=function r(t,e,n,u){return r.fun(t,e,n,u)},aUt=function r(t,e,n){return r.fun(t,e,n)};mB(eUt,(function(r,t,e,n){OI(bSt(e),yj),NI(r,e,n[1]),OI(bSt(e),Aj);var u=n[2];return LI(uUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),_j)})),mB(nUt,(function(r,t,e){var n=NI(eUt,r,t);return NI(ESt(kj),n,e)})),mB(uUt,(function(r,t,e,n){OI(bSt(e),cj),NI(bSt(e),oj,fj);var u=n[1];OI(bSt(e),sj);fCt((function(n,u){return n&&OI(bSt(e),ij),LI(tUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),vj),OI(bSt(e),lj),OI(bSt(e),Dj),NI(bSt(e),bj,pj);var a=n[2];if(a){zwt(e,Ej);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,aj)}),e,i),zwt(e,Fj)}else zwt(e,dj);return OI(bSt(e),mj),OI(bSt(e),hj)})),mB(aUt,(function(r,t,e){var n=NI(uUt,r,t);return NI(ESt(uj),n,e)}));var iUt=[0,tUt,eUt,nUt,uUt,aUt],cUt=function r(t,e,n,u){return r.fun(t,e,n,u)},fUt=function r(t,e,n){return r.fun(t,e,n)},oUt=function r(t,e,n,u){return r.fun(t,e,n,u)},sUt=function r(t,e,n){return r.fun(t,e,n)},vUt=function r(t,e,n,u){return r.fun(t,e,n,u)},lUt=function r(t,e,n){return r.fun(t,e,n)};mB(cUt,(function(r,t,e,n){OI(bSt(e),tj),NI(r,e,n[1]),OI(bSt(e),ej);var u=n[2];return LI(oUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),nj)})),mB(fUt,(function(r,t,e){var n=NI(cUt,r,t);return NI(ESt(rj),n,e)})),mB(oUt,(function(r,t,e,n){OI(bSt(e),UU),NI(bSt(e),XU,jU);var u=n[1];OI(bSt(e),HU);fCt((function(n,u){return n&&OI(bSt(e),GU),LI(vUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),$U),OI(bSt(e),YU),OI(bSt(e),VU),NI(bSt(e),JU,KU);var a=n[2];if(a){zwt(e,WU);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,MU)}),e,i),zwt(e,qU)}else zwt(e,zU);return OI(bSt(e),QU),OI(bSt(e),ZU)})),mB(sUt,(function(r,t,e){var n=NI(oUt,r,t);return NI(ESt(RU),n,e)})),mB(vUt,(function(r,t,e,n){switch(n[0]){case 0:OI(bSt(e),IU);var u=n[1];return LI(NGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),OU);case 1:OI(bSt(e),NU);var a=n[1];return LI(UGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),xU);default:OI(bSt(e),LU);var i=n[1];return LI(YGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),PU)}})),mB(lUt,(function(r,t,e){var n=NI(vUt,r,t);return NI(ESt(TU),n,e)}));var DUt=function r(t,e,n,u){return r.fun(t,e,n,u)},pUt=function r(t,e,n){return r.fun(t,e,n)},bUt=function r(t,e,n,u){return r.fun(t,e,n,u)},EUt=function r(t,e,n){return r.fun(t,e,n)},FUt=[0,cUt,fUt,oUt,sUt,vUt,lUt];mB(DUt,(function(r,t,e,n){OI(bSt(e),SU),NI(r,e,n[1]),OI(bSt(e),gU);var u=n[2];return LI(bUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),BU)})),mB(pUt,(function(r,t,e){var n=NI(DUt,r,t);return NI(ESt(wU),n,e)})),mB(bUt,(function(r,t,e,n){OI(bSt(e),pU),NI(bSt(e),EU,bU);var u=n[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),FU),OI(bSt(e),dU),NI(bSt(e),hU,mU);var a=n[2];if(a){zwt(e,kU);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,DU)}),e,i),zwt(e,yU)}else zwt(e,AU);return OI(bSt(e),_U),OI(bSt(e),CU)})),mB(EUt,(function(r,t,e){var n=NI(bUt,r,t);return NI(ESt(lU),n,e)}));var dUt=[0,DUt,pUt,bUt,EUt],mUt=function r(t,e,n,u){return r.fun(t,e,n,u)},hUt=function r(t,e,n){return r.fun(t,e,n)};mB(mUt,(function(r,t,e,n){OI(bSt(e),hG),NI(bSt(e),yG,kG);var u=n[1];if(u){zwt(e,AG);var a=u[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,_G)}else zwt(e,CG);OI(bSt(e),wG),OI(bSt(e),SG),NI(bSt(e),BG,gG);var i=n[2];LI(Rgt[6][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),TG),OI(bSt(e),IG),NI(bSt(e),NG,OG);var c=n[3];if(c){zwt(e,xG);var f=c[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),zwt(e,LG)}else zwt(e,PG);OI(bSt(e),RG),OI(bSt(e),MG),NI(bSt(e),UG,GG);var o=n[4];if(o){zwt(e,jG);var s=o[1];LI(qGt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,s),zwt(e,XG)}else zwt(e,HG);OI(bSt(e),$G),OI(bSt(e),YG),NI(bSt(e),KG,VG);var v=n[5];if(v){zwt(e,JG);var l=v[1];LI(iUt[2],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),zwt(e,WG)}else zwt(e,qG);OI(bSt(e),zG),OI(bSt(e),QG),NI(bSt(e),rU,ZG);var D=n[6];OI(bSt(e),tU);fCt((function(n,u){return n&&OI(bSt(e),mG),LI(dUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,D),OI(bSt(e),eU),OI(bSt(e),nU),OI(bSt(e),uU),NI(bSt(e),iU,aU);var p=n[7];if(p){zwt(e,cU);var b=p[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,dG)}),e,b),zwt(e,fU)}else zwt(e,oU);return OI(bSt(e),sU),OI(bSt(e),vU)})),mB(hUt,(function(r,t,e){var n=NI(mUt,r,t);return NI(ESt(FG),n,e)})),xI(USt,uVr,Rgt,[0,NGt,UGt,YGt,qGt,iUt,FUt,dUt,mUt,hUt]);var kUt=function r(t,e,n,u){return r.fun(t,e,n,u)},yUt=function r(t,e,n){return r.fun(t,e,n)},AUt=function r(t,e,n,u){return r.fun(t,e,n,u)},_Ut=function r(t,e,n){return r.fun(t,e,n)};mB(kUt,(function(r,t,e,n){OI(bSt(e),pG),NI(r,e,n[1]),OI(bSt(e),bG);var u=n[2];return LI(AUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),EG)})),mB(yUt,(function(r,t,e){var n=NI(kUt,r,t);return NI(ESt(DG),n,e)})),mB(AUt,(function(r,t,e,n){OI(bSt(e),tG),NI(bSt(e),nG,eG);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),uG),OI(bSt(e),aG),NI(bSt(e),cG,iG);var a=n[2];if(a){zwt(e,fG);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,rG)}),e,i),zwt(e,oG)}else zwt(e,sG);return OI(bSt(e),vG),OI(bSt(e),lG)})),mB(_Ut,(function(r,t,e){var n=NI(AUt,r,t);return NI(ESt(ZM),n,e)}));var CUt=[0,kUt,yUt,AUt,_Ut],wUt=function r(t,e,n,u){return r.fun(t,e,n,u)},SUt=function r(t,e,n){return r.fun(t,e,n)},gUt=function r(t,e,n,u){return r.fun(t,e,n,u)},BUt=function r(t,e,n){return r.fun(t,e,n)};mB(wUt,(function(r,t,e,n){OI(bSt(e),qM),NI(r,e,n[1]),OI(bSt(e),zM);var u=n[2];return LI(gUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),QM)})),mB(SUt,(function(r,t,e){var n=NI(wUt,r,t);return NI(ESt(WM),n,e)})),mB(gUt,(function(r,t,e,n){OI(bSt(e),RM),NI(bSt(e),GM,MM);var u=n[1];LI(Lgt[5],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),UM),OI(bSt(e),jM),NI(bSt(e),HM,XM);var a=n[2];if(a){zwt(e,$M);var i=a[1];LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),zwt(e,YM)}else zwt(e,VM);return OI(bSt(e),KM),OI(bSt(e),JM)})),mB(BUt,(function(r,t,e){var n=NI(gUt,r,t);return NI(ESt(PM),n,e)}));var TUt=[0,wUt,SUt,gUt,BUt],IUt=function r(t,e,n,u){return r.fun(t,e,n,u)},OUt=function r(t,e,n){return r.fun(t,e,n)},NUt=function r(t,e,n,u){return r.fun(t,e,n,u)},xUt=function r(t,e,n){return r.fun(t,e,n)};mB(IUt,(function(r,t,e,n){OI(bSt(e),NM),NI(r,e,n[1]),OI(bSt(e),xM);var u=n[2];return LI(NUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),LM)})),mB(OUt,(function(r,t,e){var n=NI(IUt,r,t);return NI(ESt(OM),n,e)})),mB(NUt,(function(r,t,e,n){OI(bSt(e),hM),NI(bSt(e),yM,kM);var u=n[1];LI(Igt[17],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),AM),OI(bSt(e),_M),NI(bSt(e),wM,CM);var a=n[2];if(a){zwt(e,SM);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,mM)}),e,i),zwt(e,gM)}else zwt(e,BM);return OI(bSt(e),TM),OI(bSt(e),IM)})),mB(xUt,(function(r,t,e){var n=NI(NUt,r,t);return NI(ESt(dM),n,e)}));var LUt=[0,IUt,OUt,NUt,xUt],PUt=function r(t,e,n,u){return r.fun(t,e,n,u)},RUt=function r(t,e,n){return r.fun(t,e,n)},MUt=function r(t,e,n,u){return r.fun(t,e,n,u)},GUt=function r(t,e,n){return r.fun(t,e,n)};mB(PUt,(function(r,t,e,n){OI(bSt(e),bM),NI(r,e,n[1]),OI(bSt(e),EM);var u=n[2];return LI(MUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),FM)})),mB(RUt,(function(r,t,e){var n=NI(PUt,r,t);return NI(ESt(pM),n,e)})),mB(MUt,(function(r,t,e,n){OI(bSt(e),UR),NI(bSt(e),XR,jR);var u=n[1];if(u){zwt(e,HR);var a=u[1];LI(LUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,$R)}else zwt(e,YR);OI(bSt(e),VR),OI(bSt(e),KR),NI(bSt(e),WR,JR);var i=n[2];OI(bSt(e),qR);fCt((function(n,u){return n&&OI(bSt(e),GR),LI(TUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,i),OI(bSt(e),zR),OI(bSt(e),QR),OI(bSt(e),ZR),NI(bSt(e),tM,rM);var c=n[3];if(c){zwt(e,eM);var f=c[1];LI(CUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,f),zwt(e,nM)}else zwt(e,uM);OI(bSt(e),aM),OI(bSt(e),iM),NI(bSt(e),fM,cM);var o=n[4];if(o){zwt(e,oM);var s=o[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(t,e){OI(bSt(t),RR);return fCt((function(e,n){return e&&OI(bSt(t),PR),xI(Pgt[1],(function(t){return OI(r,t)}),t,n),1}),0,e),OI(bSt(t),MR)}),e,s),zwt(e,sM)}else zwt(e,vM);return OI(bSt(e),lM),OI(bSt(e),DM)})),mB(GUt,(function(r,t,e){var n=NI(MUt,r,t);return NI(ESt(LR),n,e)}));var UUt=[0,PUt,RUt,MUt,GUt],jUt=function r(t,e,n,u){return r.fun(t,e,n,u)},XUt=function r(t,e,n){return r.fun(t,e,n)},HUt=function r(t,e,n,u){return r.fun(t,e,n,u)},$Ut=function r(t,e,n){return r.fun(t,e,n)};mB(jUt,(function(r,t,e,n){OI(bSt(e),xP),NI(bSt(e),PP,LP);var u=n[1];if(u){zwt(e,RP);var a=u[1];LI(ygt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),zwt(e,MP)}else zwt(e,GP);OI(bSt(e),UP),OI(bSt(e),jP),NI(bSt(e),HP,XP);var i=n[2];LI(UUt[1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),$P),OI(bSt(e),YP),NI(bSt(e),KP,VP);var c=n[3];LI(HUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,c),OI(bSt(e),JP),OI(bSt(e),WP),NI(bSt(e),zP,qP);var f=n[4];NI(bSt(e),QP,f),OI(bSt(e),ZP),OI(bSt(e),rR),NI(bSt(e),eR,tR);var o=n[5];NI(bSt(e),nR,o),OI(bSt(e),uR),OI(bSt(e),aR),NI(bSt(e),cR,iR);var s=n[6];if(s){zwt(e,fR);var v=s[1];LI(Igt[24][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,v),zwt(e,oR)}else zwt(e,sR);OI(bSt(e),vR),OI(bSt(e),lR),NI(bSt(e),pR,DR);var l=n[7];LI(Igt[19],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,l),OI(bSt(e),bR),OI(bSt(e),ER),NI(bSt(e),dR,FR);var D=n[8];if(D){zwt(e,mR);var p=D[1];LI(Igt[22][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,p),zwt(e,hR)}else zwt(e,kR);OI(bSt(e),yR),OI(bSt(e),AR),NI(bSt(e),CR,_R);var b=n[9];if(b){zwt(e,wR);var E=b[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,NP)}),e,E),zwt(e,SR)}else zwt(e,gR);return OI(bSt(e),BR),OI(bSt(e),TR),NI(bSt(e),OR,IR),NI(r,e,n[10]),OI(bSt(e),NR),OI(bSt(e),xR)})),mB(XUt,(function(r,t,e){var n=NI(jUt,r,t);return NI(ESt(OP),n,e)})),mB(HUt,(function(r,t,e,n){if(0===n[0]){var u=n[1];OI(bSt(e),CP),OI(bSt(e),wP),NI(r,e,u[1]),OI(bSt(e),SP);var a=u[2];return LI(Ogt[1][1],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,a),OI(bSt(e),gP),OI(bSt(e),BP)}OI(bSt(e),TP);var i=n[1];return LI(Ngt[31],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,i),OI(bSt(e),IP)})),mB($Ut,(function(r,t,e){var n=NI(HUt,r,t);return NI(ESt(_P),n,e)})),xI(USt,aVr,Mgt,[0,CUt,TUt,LUt,UUt,jUt,XUt,HUt,$Ut]);var YUt=function r(t,e,n,u){return r.fun(t,e,n,u)},VUt=function r(t,e,n){return r.fun(t,e,n)},KUt=function r(t,e,n,u){return r.fun(t,e,n,u)},JUt=function r(t,e,n){return r.fun(t,e,n)};mB(YUt,(function(r,t,e,n){OI(bSt(e),kP),NI(r,e,n[1]),OI(bSt(e),yP);var u=n[2];return LI(KUt,(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),OI(bSt(e),AP)})),mB(VUt,(function(r,t,e){var n=NI(YUt,r,t);return NI(ESt(hP),n,e)})),mB(KUt,(function(r,t,e,n){OI(bSt(e),rP),NI(bSt(e),eP,tP);var u=n[1];OI(bSt(e),nP);fCt((function(n,u){return n&&OI(bSt(e),ZL),LI(Ogt[35],(function(t){return OI(r,t)}),(function(r){return OI(t,r)}),e,u),1}),0,u),OI(bSt(e),uP),OI(bSt(e),aP),OI(bSt(e),iP),NI(bSt(e),fP,cP);var a=n[2];if(a){zwt(e,oP);var i=a[1];LI(kgt[1],(function(t){return OI(r,t)}),(function(r,t){return zwt(r,QL)}),e,i),zwt(e,sP)}else zwt(e,vP);OI(bSt(e),lP),OI(bSt(e),DP),NI(bSt(e),bP,pP);var c=n[3];OI(bSt(e),EP);return fCt((function(t,n){return t&&OI(bSt(e),zL),xI(Pgt[1],(function(t){return OI(r,t)}),e,n),1}),0,c),OI(bSt(e),FP),OI(bSt(e),dP),OI(bSt(e),mP)})),mB(JUt,(function(r,t,e){var n=NI(KUt,r,t);return NI(ESt(qL),n,e)})),xI(USt,iVr,jgt,[0,YUt,VUt,KUt,JUt]);var WUt=function(r,t){if(t){var e=t[1],n=OI(r,e);return e===n?t:[0,n]}return t},qUt=function(r,t,e,n,u){var a=NI(r,t,e);return e===a?n:OI(u,a)},zUt=function(r,t,e,n){var u=OI(r,t);return t===u?e:OI(n,u)},QUt=function(r,t){var e=t[1];return qUt(r,e,t[2],t,(function(r){return[0,e,r]}))},ZUt=function(r,t){var e=fCt((function(t,e){var n=OI(r,e),u=t[2]||(n!==e?1:0);return[0,[0,n,t[1]],u]}),EVr,t);return e[2]?nCt(e[1]):t},rjt=LSt(dVr,(function(r){var t=BSt(r,FVr),e=t[1],n=t[2],u=t[3],a=t[4],i=t[5],c=t[6],f=t[7],o=t[8],s=t[9],l=t[10],D=t[11],p=t[12],b=t[13],E=t[14],F=t[15],d=t[16],m=t[17],h=t[18],k=t[19],y=t[20],A=t[21],_=t[22],C=t[23],w=t[24],g=t[25],T=t[26],I=t[27],O=t[28],N=t[29],x=t[30],L=t[31],P=t[32],R=t[33],M=t[34],G=t[35],U=t[36],j=t[37],X=t[38],H=t[39],$=t[40],Y=t[41],V=t[42],K=t[44],J=t[45],W=t[46],q=t[47],z=t[48],Q=t[49],Z=t[50],rr=t[51],tr=t[52],er=t[53],nr=t[54],ur=t[55],ar=t[56],ir=t[57],cr=t[58],fr=t[60],or=t[61],sr=t[62],vr=t[63],lr=t[64],Dr=t[65],pr=t[66],br=t[67],Er=t[68],Fr=t[69],dr=t[70],mr=t[71],hr=t[72],kr=t[73],yr=t[74],Ar=t[75],_r=t[76],Cr=t[77],wr=t[78],Sr=t[79],gr=t[80],Br=t[81],Tr=t[82],Ir=t[83],Or=t[84],Nr=t[85],xr=t[86],Lr=t[87],Pr=t[88],Rr=t[89],Mr=t[90],Gr=t[91],Ur=t[92],jr=t[93],Xr=t[94],Hr=t[95],$r=t[96],Yr=t[97],Kr=t[98],Jr=t[99],Wr=t[ku],qr=t[Um],zr=t[Pm],Qr=t[ul],Zr=t[Sm],rt=t[BS],tt=t[$a],et=t[Yu],nt=t[jb],ut=t[Ah],at=t[qt],it=t[Vr],ct=t[It],ft=t[iu],ot=t[ki],st=t[LC],vt=t[AF],lt=t[Se],Dt=t[Em],pt=t[_m],bt=t[eS],Et=t[Jw],Ft=t[S],dt=t[Hp],mt=t[ZE],ht=t[$d],kt=t[YE],yt=t[vA],At=t[B],_t=t[129],Ct=t[130],wt=t[131],St=t[132],gt=t[133],Bt=t[134],Tt=t[135],Ot=t[136],Nt=t[137],xt=t[138],Lt=t[139],Pt=t[140],Rt=t[141],Mt=t[142],Gt=t[143],Ut=t[144],jt=t[145],Xt=t[146],Ht=t[147],$t=t[148],Yt=t[149],Vt=t[150],Kt=t[151],Jt=t[152],Wt=t[153],zt=t[154],Qt=t[155],Zt=t[156],re=t[157],te=t[158],ee=t[159],ne=t[160],ue=t[161],ae=t[162],ie=t[163],ce=t[164],fe=t[165],oe=t[166],se=t[167],ve=t[168],le=t[169],De=t[170],pe=t[171],be=t[172],Ee=t[173],Fe=t[174],de=t[175],me=t[176],he=t[177],ke=t[178],ye=t[179],Ae=t[180],_e=t[181],Ce=t[182],we=t[183],ge=t[184],Be=t[185],Te=t[186],Ie=t[187],Oe=t[188],Ne=t[189],xe=t[190],Le=t[191],Pe=t[v],Re=t[193],Me=t[194],Ge=t[195],Ue=t[196],je=t[197],Xe=t[198],He=t[199],$e=t[200],Ye=t[201],Ve=t[202],Ke=t[203],Je=t[204],We=t[205],qe=t[206],ze=t[207],Qe=t[208],Ze=t[209],rn=t[210],tn=t[211],en=t[212],nn=t[213],un=t[214],an=t[215],cn=t[216],fn=t[217],on=t[218],sn=t[219],vn=t[220],ln=t[221],Dn=t[222],pn=t[Fo],bn=t[so],En=t[225],Fn=t[226],dn=t[227],mn=t[228],hn=t[229],kn=t[230],yn=t[231],An=t[232],_n=t[233],Cn=t[234],wn=t[235],Sn=t[43],gn=t[59];return GSt(r,[0,Sn,function(r,t){var e=t[2],n=e[3],u=e[2],a=e[1],i=NI(r[1][1+w],r,a),c=NI(r[1][1+x],r,u),f=ZUt(OI(r[1][1+Je],r),n);return a===i&&u===c&&n===f?t:[0,t[1],[0,i,c,f]]},X,function(r,t){var e=t[2],a=t[1];switch(e[0]){case 0:var i=e[1];return qUt(OI(r[1][1+Fn],r),a,i,t,(function(r){return[0,a,[0,r]]}));case 1:var c=e[1];return qUt(OI(r[1][1+bn],r),a,c,t,(function(r){return[0,a,[1,r]]}));case 2:var f=e[1];return qUt(OI(r[1][1+cn],r),a,f,t,(function(r){return[0,a,[2,r]]}));case 3:var s=e[1];return qUt(OI(r[1][1+$e],r),a,s,t,(function(r){return[0,a,[3,r]]}));case 4:var v=e[1];return qUt(OI(r[1][1+He],r),a,v,t,(function(r){return[0,a,[4,r]]}));case 5:var l=e[1];return qUt(OI(r[1][1+Xe],r),a,l,t,(function(r){return[0,a,[5,r]]}));case 6:var D=e[1];return qUt(OI(r[1][1+je],r),a,D,t,(function(r){return[0,a,[6,r]]}));case 7:var p=e[1];return qUt(OI(r[1][1+Ge],r),a,p,t,(function(r){return[0,a,[7,r]]}));case 8:var b=e[1];return qUt(OI(r[1][1+Me],r),a,b,t,(function(r){return[0,a,[8,r]]}));case 9:var E=e[1];return qUt(OI(r[1][1+Re],r),a,E,t,(function(r){return[0,a,[9,r]]}));case 10:var F=e[1];return qUt(OI(r[1][1+Pe],r),a,F,t,(function(r){return[0,a,[10,r]]}));case 11:var d=e[1];return qUt(OI(r[1][1+Le],r),a,d,t,(function(r){return[0,a,[11,r]]}));case 12:var m=e[1];return qUt(OI(r[1][1+Fr],r),a,m,t,(function(r){return[0,a,[33,r]]}));case 13:var h=e[1];return qUt(OI(r[1][1+xe],r),a,h,t,(function(r){return[0,a,[13,r]]}));case 14:var k=e[1];return qUt(OI(r[1][1+Ne],r),a,k,t,(function(r){return[0,a,[14,r]]}));case 15:var A=e[1];return qUt(OI(r[1][1+Oe],r),a,A,t,(function(r){return[0,a,[15,r]]}));case 16:var _=e[1];return qUt(OI(r[1][1+ge],r),a,_,t,(function(r){return[0,a,[16,r]]}));case 17:var w=e[1];return qUt(OI(r[1][1+me],r),a,w,t,(function(r){return[0,a,[17,r]]}));case 18:var S=e[1];return qUt(OI(r[1][1+Fe],r),a,S,t,(function(r){return[0,a,[18,r]]}));case 19:var B=e[1];return qUt(OI(r[1][1+le],r),a,B,t,(function(r){return[0,a,[19,r]]}));case 20:var T=e[1];return qUt(OI(r[1][1+ee],r),a,T,t,(function(r){return[0,a,[20,r]]}));case 21:var I=e[1];return qUt(OI(r[1][1+oe],r),a,I,t,(function(r){return[0,a,[21,r]]}));case 22:var O=e[1];return qUt(OI(r[1][1+ue],r),a,O,t,(function(r){return[0,a,[22,r]]}));case 23:var N=e[1];return qUt(OI(r[1][1+zt],r),a,N,t,(function(r){return[0,a,[23,r]]}));case 24:var x=e[1];return qUt(OI(r[1][1+Tt],r),a,x,t,(function(r){return[0,a,[24,r]]}));case 25:var L=e[1];return qUt(OI(r[1][1+gt],r),a,L,t,(function(r){return[0,a,[25,r]]}));case 26:var P=e[1];return qUt(OI(r[1][1+kt],r),a,P,t,(function(r){return[0,a,[26,r]]}));case 27:var M=e[1];return qUt(OI(r[1][1+$r],r),a,M,t,(function(r){return[0,a,[27,r]]}));case 28:var G=e[1];return qUt(OI(r[1][1+V],r),a,G,t,(function(r){return[0,a,[28,r]]}));case 29:var U=e[1];return qUt(OI(r[1][1+R],r),a,U,t,(function(r){return[0,a,[29,r]]}));case 30:var j=e[1];return qUt(OI(r[1][1+g],r),a,j,t,(function(r){return[0,a,[30,r]]}));case 31:var X=e[1];return qUt(OI(r[1][1+C],r),a,X,t,(function(r){return[0,a,[31,r]]}));case 32:var H=e[1];return qUt(OI(r[1][1+y],r),a,H,t,(function(r){return[0,a,[32,r]]}));case 33:var $=e[1];return qUt(OI(r[1][1+Fr],r),a,$,t,(function(r){return[0,a,[33,r]]}));case 34:var Y=e[1];return qUt(OI(r[1][1+o],r),a,Y,t,(function(r){return[0,a,[34,r]]}));case 35:var K=e[1];return qUt(OI(r[1][1+u],r),a,K,t,(function(r){return[0,a,[35,r]]}));default:var J=e[1];return qUt(OI(r[1][1+n],r),a,J,t,(function(r){return[0,a,[36,r]]}))}},Je,function(r,t){return t},x,8,WUt,L,L,function(r,t){var e=t[2],n=t[1],u=ZUt(OI(r[1][1+Je],r),n),a=ZUt(OI(r[1][1+Je],r),e);return n===u&&e===a?t:[0,u,a,t[3]]},pe,function(r,t){var n=t[2],u=t[1];switch(n[0]){case 0:var a=n[1];return qUt(OI(r[1][1+wn],r),u,a,t,(function(r){return[0,u,[0,r]]}));case 1:var i=n[1];return qUt(OI(r[1][1+An],r),u,i,t,(function(r){return[0,u,[1,r]]}));case 2:var c=n[1];return qUt(OI(r[1][1+yn],r),u,c,t,(function(r){return[0,u,[2,r]]}));case 3:var f=n[1];return qUt(OI(r[1][1+mn],r),u,f,t,(function(r){return[0,u,[3,r]]}));case 4:var o=n[1];return qUt(OI(r[1][1+pn],r),u,o,t,(function(r){return[0,u,[4,r]]}));case 5:var v=n[1];return qUt(OI(r[1][1+cn],r),u,v,t,(function(r){return[0,u,[5,r]]}));case 6:var l=n[1];return qUt(OI(r[1][1+Ke],r),u,l,t,(function(r){return[0,u,[6,r]]}));case 7:var p=n[1];return qUt(OI(r[1][1+Ye],r),u,p,t,(function(r){return[0,u,[7,r]]}));case 8:var b=n[1];return qUt(OI(r[1][1+Wt],r),u,b,t,(function(r){return[0,u,[8,r]]}));case 9:var E=n[1];return qUt(OI(r[1][1+Mt],r),u,E,t,(function(r){return[0,u,[9,r]]}));case 10:var F=n[1];return zUt(OI(r[1][1+xt],r),F,t,(function(r){return[0,u,[10,r]]}));case 11:var m=n[1];return zUt(NI(r[1][1+Bt],r,u),m,t,(function(r){return[0,u,[11,r]]}));case 12:var h=n[1];return qUt(OI(r[1][1+ft],r),u,h,t,(function(r){return[0,u,[12,r]]}));case 13:var k=n[1];return qUt(OI(r[1][1+et],r),u,k,t,(function(r){return[0,u,[13,r]]}));case 14:var y=n[1];return qUt(OI(r[1][1+Hr],r),u,y,t,(function(r){return[0,u,[14,r]]}));case 15:var A=n[1];return qUt(OI(r[1][1+Xr],r),u,A,t,(function(r){return[0,u,[15,r]]}));case 16:var _=n[1];return qUt(OI(r[1][1+jr],r),u,_,t,(function(r){return[0,u,[16,r]]}));case 17:var C=n[1];return qUt(OI(r[1][1+Pr],r),u,C,t,(function(r){return[0,u,[17,r]]}));case 18:var w=n[1];return qUt(OI(r[1][1+Lr],r),u,w,t,(function(r){return[0,u,[18,r]]}));case 19:var S=n[1];return qUt(OI(r[1][1+Or],r),u,S,t,(function(r){return[0,u,[19,r]]}));case 20:var g=n[1];return zUt(NI(r[1][1+Er],r,u),g,t,(function(r){return[0,u,[20,r]]}));case 21:var B=n[1];return qUt(OI(r[1][1+pr],r),u,B,t,(function(r){return[0,u,[21,r]]}));case 22:var I=n[1];return qUt(OI(r[1][1+Y],r),u,I,t,(function(r){return[0,u,[22,r]]}));case 23:var x=n[1];return qUt(OI(r[1][1+M],r),u,x,t,(function(r){return[0,u,[23,r]]}));case 24:var L=n[1];return qUt(OI(r[1][1+N],r),u,L,t,(function(r){return[0,u,[24,r]]}));case 25:var P=n[1];return qUt(OI(r[1][1+O],r),u,P,t,(function(r){return[0,u,[25,r]]}));case 26:var R=n[1];return qUt(OI(r[1][1+T],r),u,R,t,(function(r){return[0,u,[26,r]]}));case 27:var G=n[1];return qUt(OI(r[1][1+d],r),u,G,t,(function(r){return[0,u,[27,r]]}));case 28:var U=n[1];return qUt(OI(r[1][1+D],r),u,U,t,(function(r){return[0,u,[28,r]]}));case 29:var j=n[1];return qUt(OI(r[1][1+s],r),u,j,t,(function(r){return[0,u,[29,r]]}));default:var X=n[1];return qUt(OI(r[1][1+e],r),u,X,t,(function(r){return[0,u,[30,r]]}))}},wn,function(r,t,e){var n=e[2],u=e[1],a=ZUt(OI(r[1][1+Cn],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},Cn,function(r,t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+pe],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+$],r),n,t,(function(r){return[1,r]}));default:return t}},An,function(r,t,e){return xI(r[1][1+re],r,t,e)},yn,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=NI(r[1][1+kn],r,a),c=NI(r[1][1+pe],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,e[1],i,c,f]},mn,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=NI(r[1][1+pe],r,a),c=NI(r[1][1+pe],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,e[1],i,c,f]},Fn,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+U],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},bn,function(r,t,e){var n=e[2],u=e[1],a=WUt(OI(r[1][1+Yr],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},pn,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+pe],r,i),f=WUt(OI(r[1][1+vn],r),a),o=NI(r[1][1+Dn],r,u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,c,f,o,s]},Dn,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+De],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Er,function(r,t,e){var n=e[1],u=xI(r[1][1+pn],r,t,n);return n===u?e:[0,u,e[2]]},vn,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+ln],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},ln,function(r,t){if(0===t[0]){var e=t[1],n=NI(r[1][1+A],r,e);return n===e?t:[0,n]}var u=t[1],a=u[2][1],i=NI(r[1][1+x],r,a);return a===i?t:[1,[0,u[1],[0,i]]]},sn,function(r,t){return QUt(OI(r[1][1+Fn],r),t)},on,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=WUt(OI(r[1][1+fn],r),a),c=NI(r[1][1+sn],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},cn,function(r,t,e){var n=e[7],u=e[6],a=e[5],i=e[4],c=e[2],f=e[1],o=WUt(OI(r[1][1+tn],r),f),s=NI(r[1][1+an],r,c),v=OI(r[1][1+en],r),l=WUt((function(r){return QUt(v,r)}),i),D=WUt(OI(r[1][1+rn],r),a),p=ZUt(OI(r[1][1+un],r),u),b=NI(r[1][1+x],r,n);return f===o&&c===s&&i===l&&a===D&&u===p&&wT(n,b)?e:[0,o,s,e[3],l,D,p,b]},en,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=WUt(OI(r[1][1+m],r),u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},tn,function(r,t){return xI(r[1][1+ir],r,cVr,t)},an,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+nn],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},un,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},nn,function(r,t){switch(t[0]){case 0:var e=t[1],n=e[1],u=e[2];return qUt(OI(r[1][1+Qe],r),n,u,t,(function(r){return[0,[0,n,r]]}));case 1:var a=t[1],i=a[1],c=a[2];return qUt(OI(r[1][1+qe],r),i,c,t,(function(r){return[1,[0,i,r]]}));default:var f=t[1],o=f[1],s=f[2];return qUt(OI(r[1][1+ze],r),o,s,t,(function(r){return[2,[0,o,r]]}))}},rn,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+Ze],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Ze,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+F],r,u),i=WUt(OI(r[1][1+m],r),n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Qe,function(r,t,e){var n=e[6],u=e[5],a=e[3],i=e[2],c=NI(r[1][1+gr],r,i),f=QUt(OI(r[1][1+Wt],r),a),o=ZUt(OI(r[1][1+un],r),u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,e[1],c,f,e[4],o,s]},qe,function(r,t,e){var n=e[6],u=e[5],i=e[3],c=e[2],f=e[1],o=NI(r[1][1+gr],r,f),s=NI(r[1][1+We],r,c),v=NI(r[1][1+h],r,i),l=NI(r[1][1+a],r,u),D=NI(r[1][1+x],r,n);return f===o&&c===s&&v===i&&l===u&&D===n?e:[0,o,s,v,e[4],l,D]},We,function(r,t){if("number"==typeof t)return t;var e=t[1],n=NI(r[1][1+pe],r,e);return e===n?t:[0,n]},ze,function(r,t,e){var n=e[6],u=e[5],i=e[3],c=e[2],f=e[1],o=NI(r[1][1+K],r,f),s=NI(r[1][1+We],r,c),v=NI(r[1][1+h],r,i),l=NI(r[1][1+a],r,u),D=NI(r[1][1+x],r,n);return f===o&&c===s&&v===i&&l===u&&D===n?e:[0,o,s,v,e[4],l,D]},Ke,function(r,t,e){return e},Ye,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+J],r,i),f=NI(r[1][1+pe],r,a),o=NI(r[1][1+pe],r,u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&wT(n,s)?e:[0,c,f,o,s]},$e,function(r,t,e){var n=e[2],u=e[1],a=WUt(OI(r[1][1+Yr],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},He,function(r,t,e){var n=e[1],u=NI(r[1][1+x],r,n);return n===u?e:[0,u]},Xe,function(r,t,e){var n=e[7],u=e[6],a=e[5],i=e[4],c=e[3],f=e[2],o=e[1],s=NI(r[1][1+tn],r,o),v=WUt(OI(r[1][1+b],r),f),l=QUt(OI(r[1][1+hr],r),c),D=OI(r[1][1+Lt],r),p=WUt((function(r){return QUt(D,r)}),i),E=OI(r[1][1+Lt],r),F=ZUt((function(r){return QUt(E,r)}),a),d=WUt(OI(r[1][1+rn],r),u),m=NI(r[1][1+x],r,n);return s===o&&v===f&&l===c&&p===i&&F===a&&d===u&&m===n?e:[0,s,v,l,p,F,d,m]},je,function(r,t,e){var n=e[5],u=e[3],a=e[2],i=WUt(OI(r[1][1+be],r),u),c=WUt(OI(r[1][1+Ue],r),a),f=NI(r[1][1+x],r,n);return u===i&&a===c&&n===f?e:[0,e[1],c,i,e[4],f]},Ue,function(r,t){switch(t[0]){case 0:var e=t[1],n=e[2],u=e[1],a=xI(r[1][1+xe],r,u,n);return a===n?t:[0,[0,u,a]];case 1:var i=t[1],c=i[2],f=i[1],o=xI(r[1][1+Ge],r,f,c);return o===c?t:[1,[0,f,o]];case 2:var s=t[1],v=s[2],l=s[1],D=xI(r[1][1+Xe],r,l,v);return D===v?t:[2,[0,l,D]];case 3:var p=t[1],b=NI(r[1][1+A],r,p);return b===p?t:[3,b];case 4:var E=t[1],F=E[2],d=E[1],m=xI(r[1][1+y],r,d,F);return m===F?t:[4,[0,d,m]];case 5:var h=t[1],k=h[2],_=h[1],C=xI(r[1][1+Fr],r,_,k);return C===k?t:[5,[0,_,C]];default:var w=t[1],S=w[2],g=w[1],B=xI(r[1][1+yt],r,g,S);return B===S?t:[6,[0,g,B]]}},Ge,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+Jt],r,i),f=NI(r[1][1+k],r,a),o=WUt(OI(r[1][1+W],r),u),s=NI(r[1][1+x],r,n);return c===i&&f===a&&o===u&&s===n?e:[0,c,f,o,s]},Me,function(r,t,e){return xI(r[1][1+yt],r,t,e)},Re,function(r,t,e){var n=e[4],u=e[2],a=QUt(OI(r[1][1+Fn],r),u),i=NI(r[1][1+x],r,n);return a===u&&wT(n,i)?e:[0,e[1],a,e[3],i]},Pe,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+k],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},Le,function(r,t,e){return xI(r[1][1+y],r,t,e)},xe,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=xI(r[1][1+ir],r,fVr,a),c=NI(r[1][1+h],r,u),f=NI(r[1][1+x],r,n);return i===a&&c===u&&f===n?e:[0,i,c,f]},Ne,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+X],r,a),c=NI(r[1][1+J],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},Oe,function(r,t,e){var n=e[1],u=NI(r[1][1+x],r,n);return n===u?e:[0,u]},ge,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=xI(r[1][1+ir],r,oVr,a),c=NI(r[1][1+Ie],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},Ie,function(r,t){var e=t[2],n=t[1];switch(e[0]){case 0:var u=e[1];return zUt(OI(r[1][1+Te],r),u,t,(function(r){return[0,n,[0,r]]}));case 1:var a=e[1];return zUt(OI(r[1][1+Ce],r),a,t,(function(r){return[0,n,[1,r]]}));case 2:var i=e[1];return zUt(OI(r[1][1+Ae],r),i,t,(function(r){return[0,n,[2,r]]}));default:var c=e[1];return zUt(OI(r[1][1+ke],r),c,t,(function(r){return[0,n,[3,r]]}))}},Te,function(r,t){var e=t[4],n=t[1],u=ZUt(OI(r[1][1+Be],r),n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,t[2],t[3],a]},Ce,function(r,t){var e=t[4],n=t[1],u=ZUt(OI(r[1][1+_e],r),n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,t[2],t[3],a]},Ae,function(r,t){var e=t[4],n=t[1];if(0===n[0])var u=n[1],a=[0,ZUt(OI(r[1][1+we],r),u)];else{var i=n[1];a=[1,ZUt(OI(r[1][1+ye],r),i)]}var c=NI(r[1][1+x],r,e);return n===a&&e===c?t:[0,a,t[2],t[3],c]},ke,function(r,t){var e=t[3],n=t[1],u=ZUt(OI(r[1][1+we],r),n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,t[2],a]},we,function(r,t){var e=t[2][1],n=NI(r[1][1+xt],r,e);return wT(e,n)?t:[0,t[1],[0,n]]},Be,function(r,t){var e=t[2],n=e[1],u=NI(r[1][1+xt],r,n);return wT(n,u)?t:[0,t[1],[0,u,e[2]]]},_e,function(r,t){var e=t[2],n=e[1],u=NI(r[1][1+xt],r,n);return wT(n,u)?t:[0,t[1],[0,u,e[2]]]},ye,function(r,t){var e=t[2],n=e[1],u=NI(r[1][1+xt],r,n);return wT(n,u)?t:[0,t[1],[0,u,e[2]]]},me,function(r,t,e){var n=e[3],u=e[2],a=NI(r[1][1+de],r,u),i=NI(r[1][1+x],r,n);return a===u&&i===n?e:[0,e[1],a,i]},de,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+X],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+pe],r),n,t,(function(r){return[1,r]}))},Fe,function(r,t,e){var n=e[5],u=e[2],a=e[1],i=WUt(OI(r[1][1+be],r),u),c=WUt(OI(r[1][1+X],r),a),f=NI(r[1][1+x],r,n);return u===i&&a===c&&n===f?e:[0,c,i,e[3],e[4],f]},Ee,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+xt],r,u),i=WUt(OI(r[1][1+xt],r),n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},he,function(r,t){var e=t[2],n=WUt(OI(r[1][1+xt],r),e);return e===n?t:[0,t[1],n]},be,function(r,t){if(0===t[0]){var e=t[1],n=ZUt(OI(r[1][1+Ee],r),e);return e===n?t:[0,n]}var u=t[1],a=NI(r[1][1+he],r,u);return u===a?t:[1,a]},le,function(r,t,e){var n=e[3],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,e[2],i]},De,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+pe],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+$],r),n,t,(function(r){return[1,r]}))},oe,function(r,t,e){var n=e[5],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+fe],r,i),f=NI(r[1][1+pe],r,a),o=NI(r[1][1+X],r,u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,c,f,o,e[4],s]},fe,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+se],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+ve],r),n,t,(function(r){return[1,r]}))},se,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+o],r),e,n,t,(function(r){return[0,e,r]}))},ue,function(r,t,e){var n=e[5],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+ne],r,i),f=NI(r[1][1+pe],r,a),o=NI(r[1][1+X],r,u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,c,f,o,e[4],s]},ne,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+ae],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+ie],r),n,t,(function(r){return[1,r]}))},ae,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+o],r),e,n,t,(function(r){return[0,e,r]}))},ee,function(r,t,e){var n=e[5],u=e[4],a=e[3],i=e[2],c=e[1],f=WUt(OI(r[1][1+te],r),c),o=WUt(OI(r[1][1+J],r),i),s=WUt(OI(r[1][1+pe],r),a),v=NI(r[1][1+X],r,u),l=NI(r[1][1+x],r,n);return c===f&&i===o&&a===s&&u===v&&n===l?e:[0,f,o,s,v,l]},te,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+ce],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+pe],r),n,t,(function(r){return[1,r]}))},ce,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+o],r),e,n,t,(function(r){return[0,e,r]}))},Yt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+A],r,n),i=WUt(OI(r[1][1+xt],r),u);return a===n&&i===u?t:[0,t[1],[0,i,a,e[3]]]},Xt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+Yt],r,u),i=NI(r[1][1+x],r,n);return a===u&&i===n?t:[0,t[1],[0,a,i]]},Ut,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+k],r,u),i=NI(r[1][1+x],r,n);return a===u&&i===n?t:[0,t[1],[0,a,i]]},Gt,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=a[2],c=i[4],f=i[3],o=i[2],s=i[1],v=e[1],l=WUt(OI(r[1][1+Ut],r),s),D=ZUt(OI(r[1][1+Yt],r),o),p=WUt(OI(r[1][1+Xt],r),f),E=NI(r[1][1+A],r,u),F=WUt(OI(r[1][1+b],r),v),d=NI(r[1][1+x],r,n),m=NI(r[1][1+x],r,c);return D===o&&p===f&&E===u&&F===v&&d===n&&m===c&&l===s?e:[0,F,[0,a[1],[0,l,D,p,m]],E,d]},Yr,function(r,t){return NI(r[1][1+xt],r,t)},yr,function(r,t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+A],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+mr],r),n,t,(function(r){return[1,r]}));default:var u=t[1];return zUt(OI(r[1][1+dr],r),u,t,(function(r){return[2,r]}))}},mr,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+Gt],r),e,n,t,(function(r){return[0,e,r]}))},dr,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+Gt],r),e,n,t,(function(r){return[0,e,r]}))},Ar,function(r,t){var e=t[2],n=e[8],u=e[7],i=e[2],c=e[1],f=NI(r[1][1+gr],r,c),o=NI(r[1][1+yr],r,i),s=NI(r[1][1+a],r,u),v=NI(r[1][1+x],r,n);return f===c&&o===i&&s===u&&v===n?t:[0,t[1],[0,f,o,e[3],e[4],e[5],e[6],s,v]]},kr,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+A],r,u),i=NI(r[1][1+x],r,n);return a===u&&n===i?t:[0,t[1],[0,a,i]]},Tr,function(r,t){var e=t[2],n=e[6],u=e[5],i=e[3],c=e[2],f=NI(r[1][1+A],r,c),o=NI(r[1][1+A],r,i),s=NI(r[1][1+a],r,u),v=NI(r[1][1+x],r,n);return f===c&&o===i&&s===u&&v===n?t:[0,t[1],[0,e[1],f,o,e[4],s,v]]},Br,function(r,t){var e=t[2],n=e[6],u=e[2],a=e[1],i=NI(r[1][1+xt],r,a),c=NI(r[1][1+A],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?t:[0,t[1],[0,i,c,e[3],e[4],e[5],f]]},Ir,function(r,t){var e=t[2],n=e[3],u=e[1],a=u[2],i=u[1],c=xI(r[1][1+Gt],r,i,a),f=NI(r[1][1+x],r,n);return a===c&&n===f?t:[0,t[1],[0,[0,i,c],e[2],f]]},hr,function(r,t,e){var n=e[4],u=e[3],a=ZUt((function(t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+Ar],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+kr],r),n,t,(function(r){return[1,r]}));case 2:var u=t[1];return zUt(OI(r[1][1+Tr],r),u,t,(function(r){return[2,r]}));case 3:var a=t[1];return zUt(OI(r[1][1+Ir],r),a,t,(function(r){return[3,r]}));default:var i=t[1];return zUt(OI(r[1][1+Br],r),i,t,(function(r){return[4,r]}))}}),u),i=NI(r[1][1+x],r,n);return a===u&&n===i?e:[0,e[1],e[2],a,i]},ht,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=OI(r[1][1+Lt],r),c=ZUt((function(r){return QUt(i,r)}),u),f=QUt(OI(r[1][1+hr],r),a),o=NI(r[1][1+x],r,n);return c===u&&f===a&&n===o?e:[0,f,c,o]},Rt,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+F],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+Pt],r),n,t,(function(r){return[1,r]}))},Pt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+Rt],r,u),i=NI(r[1][1+F],r,n);return a===u&&i===n?t:[0,t[1],[0,a,i]]},i,function(r,t){var e=t[2],n=e[2],u=NI(r[1][1+x],r,n);return n===u?t:[0,t[1],[0,e[1],u]]},a,function(r,t){return WUt(OI(r[1][1+i],r),t)},m,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+A],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},b,function(r,t){var e=t[2],n=e[2],u=e[1],a=ZUt(OI(r[1][1+E],r),u),i=NI(r[1][1+x],r,n);return a===u&&i===n?t:[0,t[1],[0,a,i]]},E,function(r,t){var e=t[2],n=e[4],u=e[3],i=e[2],c=e[1],f=NI(r[1][1+F],r,c),o=NI(r[1][1+h],r,i),s=NI(r[1][1+a],r,u),v=WUt(OI(r[1][1+A],r),n);return f===c&&o===i&&s===u&&v===n?t:[0,t[1],[0,f,o,s,v]]},Lt,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+Rt],r,a),c=WUt(OI(r[1][1+m],r),u),f=NI(r[1][1+x],r,n);return i===a&&c===u&&f===n?e:[0,i,c,f]},At,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+A],r,a),c=NI(r[1][1+A],r,u),f=NI(r[1][1+x],r,n);return i===a&&c===u&&f===n?e:[0,i,c,f]},br,function(r,t,e){var n=e[1],u=xI(r[1][1+At],r,t,n);return u===n?e:[0,u,e[2]]},G,function(r,t,e){var n=e[3],u=NI(r[1][1+x],r,n);return n===u?e:[0,e[1],e[2],u]},Nr,function(r,t,e){var n=e[3],u=NI(r[1][1+x],r,n);return n===u?e:[0,e[1],e[2],u]},hn,function(r,t,e){var n=e[3],u=NI(r[1][1+x],r,n);return n===u?e:[0,e[1],e[2],u]},En,function(r,t,e){var n=e[2],u=NI(r[1][1+x],r,n);return n===u?e:[0,e[1],u]},xr,function(r,t){var e=t[2],n=t[1],u=NI(r[1][1+A],r,n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,a]},p,function(r,t){var e=t[3],n=t[1],u=NI(r[1][1+A],r,n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,t[2],a]},_,function(r,t){var e=t[2],n=t[1],u=ZUt(OI(r[1][1+A],r),n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,a]},_n,function(r,t){var e=t[2],n=t[1],u=NI(r[1][1+A],r,n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,a]},l,function(r,t,e){var n=e[2],u=e[1],a=u[3],i=u[2],c=u[1],f=NI(r[1][1+A],r,c),o=NI(r[1][1+A],r,i),s=ZUt(OI(r[1][1+A],r),a),v=NI(r[1][1+x],r,n);return f===c&&o===i&&s===a&&v===n?e:[0,[0,f,o,s],v]},mt,function(r,t,e){var n=e[2],u=e[1],a=u[3],i=u[2],c=u[1],f=NI(r[1][1+A],r,c),o=NI(r[1][1+A],r,i),s=ZUt(OI(r[1][1+A],r),a),v=NI(r[1][1+x],r,n);return f===c&&o===i&&s===a&&v===n?e:[0,[0,f,o,s],v]},A,function(r,t){var e=t[2],n=t[1];switch(e[0]){case 0:var u=e[1];return zUt(OI(r[1][1+x],r),u,t,(function(r){return[0,n,[0,r]]}));case 1:var a=e[1];return zUt(OI(r[1][1+x],r),a,t,(function(r){return[0,n,[1,r]]}));case 2:var i=e[1];return zUt(OI(r[1][1+x],r),i,t,(function(r){return[0,n,[2,r]]}));case 3:var c=e[1];return zUt(OI(r[1][1+x],r),c,t,(function(r){return[0,n,[3,r]]}));case 4:var f=e[1];return zUt(OI(r[1][1+x],r),f,t,(function(r){return[0,n,[4,r]]}));case 5:var o=e[1];return zUt(OI(r[1][1+x],r),o,t,(function(r){return[0,n,[5,r]]}));case 6:var s=e[1];return zUt(OI(r[1][1+x],r),s,t,(function(r){return[0,n,[6,r]]}));case 7:var v=e[1];return zUt(OI(r[1][1+x],r),v,t,(function(r){return[0,n,[7,r]]}));case 8:var D=e[1];return zUt(OI(r[1][1+x],r),D,t,(function(r){return[0,n,[8,r]]}));case 9:var b=e[1];return zUt(OI(r[1][1+x],r),b,t,(function(r){return[0,n,[9,r]]}));case 10:var E=e[1];return zUt(OI(r[1][1+x],r),E,t,(function(r){return[0,n,[10,r]]}));case 11:var F=e[1];return zUt(OI(r[1][1+xr],r),F,t,(function(r){return[0,n,[11,r]]}));case 12:var d=e[1];return qUt(OI(r[1][1+Gt],r),n,d,t,(function(r){return[0,n,[12,r]]}));case 13:var m=e[1];return qUt(OI(r[1][1+hr],r),n,m,t,(function(r){return[0,n,[13,r]]}));case 14:var h=e[1];return qUt(OI(r[1][1+ht],r),n,h,t,(function(r){return[0,n,[14,r]]}));case 15:var k=e[1];return zUt(OI(r[1][1+_n],r),k,t,(function(r){return[0,n,[15,r]]}));case 16:var y=e[1];return qUt(OI(r[1][1+Lt],r),n,y,t,(function(r){return[0,n,[16,r]]}));case 17:var A=e[1];return qUt(OI(r[1][1+At],r),n,A,t,(function(r){return[0,n,[17,r]]}));case 18:var C=e[1];return qUt(OI(r[1][1+br],r),n,C,t,(function(r){return[0,n,[18,r]]}));case 19:var w=e[1];return qUt(OI(r[1][1+l],r),n,w,t,(function(r){return[0,n,[19,r]]}));case 20:var S=e[1];return qUt(OI(r[1][1+mt],r),n,S,t,(function(r){return[0,n,[20,r]]}));case 21:var g=e[1];return zUt(OI(r[1][1+p],r),g,t,(function(r){return[0,n,[21,r]]}));case 22:var B=e[1];return zUt(OI(r[1][1+_],r),B,t,(function(r){return[0,n,[22,r]]}));case 23:var T=e[1];return qUt(OI(r[1][1+G],r),n,T,t,(function(r){return[0,n,[23,r]]}));case 24:var I=e[1];return qUt(OI(r[1][1+Nr],r),n,I,t,(function(r){return[0,n,[24,r]]}));case 25:var O=e[1];return qUt(OI(r[1][1+hn],r),n,O,t,(function(r){return[0,n,[25,r]]}));default:var N=e[1];return qUt(OI(r[1][1+En],r),n,N,t,(function(r){return[0,n,[26,r]]}))}},k,function(r,t){var e=t[1],n=t[2];return zUt(OI(r[1][1+A],r),n,t,(function(r){return[0,e,r]}))},h,function(r,t){if(0===t[0])return t;var e=t[1],n=NI(r[1][1+k],r,e);return n===e?t:[1,n]},zt,function(r,t,e){return xI(r[1][1+re],r,t,e)},Wt,function(r,t,e){return xI(r[1][1+re],r,t,e)},re,function(r,t,e){var n=e[9],u=e[8],a=e[7],i=e[6],c=e[3],f=e[2],o=e[1],s=WUt(OI(r[1][1+Jt],r),o),v=NI(r[1][1+$t],r,f),l=NI(r[1][1+h],r,a),D=NI(r[1][1+Qt],r,c),p=WUt(OI(r[1][1+W],r),i),E=WUt(OI(r[1][1+b],r),u),F=NI(r[1][1+x],r,n);return o===s&&f===v&&c===D&&wT(i,p)&&a===l&&u===E&&n===F?e:[0,s,v,D,e[4],e[5],p,l,E,F,e[10]]},$t,function(r,t){var e=t[2],n=e[4],u=e[3],a=e[2],i=e[1],c=ZUt(OI(r[1][1+Kt],r),a),f=WUt(OI(r[1][1+Ht],r),u),o=WUt(OI(r[1][1+jt],r),i),s=NI(r[1][1+x],r,n);return a===c&&u===f&&n===s&&i===o?t:[0,t[1],[0,o,c,f,s]]},jt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+k],r,u),i=NI(r[1][1+x],r,n);return a===u&&i===n?t:[0,t[1],[0,a,i]]},Kt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+Vt],r,u),i=WUt(OI(r[1][1+pe],r),n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Qt,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+Zt],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+pe],r),n,t,(function(r){return[1,r]}))},Zt,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+Fn],r),e,n,t,(function(r){return[0,e,r]}))},Jt,function(r,t){return xI(r[1][1+ir],r,sVr,t)},Mt,function(r,t,e){return e},xt,function(r,t){var e=t[2],n=e[2],u=NI(r[1][1+x],r,n);return n===u?t:[0,t[1],[0,e[1],u]]},F,function(r,t){return NI(r[1][1+xt],r,t)},yt,function(r,t,e){var n=e[5],u=e[4],a=e[3],i=e[2],c=e[1],f=NI(r[1][1+tn],r,c),o=WUt(OI(r[1][1+b],r),i),s=OI(r[1][1+Lt],r),v=ZUt((function(r){return QUt(s,r)}),a),l=QUt(OI(r[1][1+hr],r),u),D=NI(r[1][1+x],r,n);return f===c&&o===i&&v===a&&l===u&&D===n?e:[0,f,o,v,l,D]},kt,function(r,t,e){return xI(r[1][1+yt],r,t,e)},K,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+xt],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Ve,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Bt,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},Ot,function(r,t,e){return NI(r[1][1+X],r,e)},Nt,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+X],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},Tt,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+J],r,i),f=xI(r[1][1+Ot],r,0!==u?1:0,a),o=OI(r[1][1+Nt],r),s=WUt((function(r){return QUt(o,r)}),u),v=NI(r[1][1+x],r,n);return i===c&&a===f&&u===s&&n===v?e:[0,c,f,s,v]},gt,function(r,t,e){var n=e[5],u=e[4],a=e[3],i=e[1],c=WUt(NI(r[1][1+_t],r,i),u),f=WUt(OI(r[1][1+St],r),a),o=NI(r[1][1+x],r,n);return u===c&&a===f&&n===o?e:[0,i,e[2],f,c,o]},_t,function(r,t,e){if(0===e[0]){var n=e[1],u=ZUt(NI(r[1][1+wt],r,t),n);return n===u?e:[0,u]}var a=e[1],i=a[1],c=a[2];return qUt(OI(r[1][1+Ct],r),i,c,e,(function(r){return[1,[0,i,r]]}))},wt,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=0;if(0!==t){var c=0;if(a&&0===a[1]&&(c=1),!c){var f=0;i=1}}if(!i)f=1;var o=NI(f?r[1][1+F]:r[1][1+xt],r,n);if(u)var s=f?OI(r[1][1+F],r):NI(r[1][1+ir],r,vVr),v=zUt(s,u[1],u,(function(r){return[0,r]}));else v=u;return u===v&&n===o?e:[0,a,v,o]},St,function(r,t){return xI(r[1][1+ir],r,lVr,t)},Ct,function(r,t,e){return xI(r[1][1+ir],r,DVr,e)},ft,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+Wr],r,i),f=WUt(OI(r[1][1+ot],r),a),o=NI(r[1][1+st],r,u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,c,f,o,s]},et,function(r,t,e){var n=e[4],u=e[3],a=NI(r[1][1+st],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,e[1],e[2],a,i]},Wr,function(r,t){var e=t[2],n=e[3],u=e[1],a=NI(r[1][1+ct],r,u),i=ZUt(OI(r[1][1+qr],r),n);return u===a&&n===i?t:[0,t[1],[0,a,e[2],i]]},ot,function(r,t){var e=t[2][1],n=NI(r[1][1+ct],r,e);return e===n?t:[0,t[1],[0,n]]},qr,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+dt],r),e,t,(function(r){return[0,r]}))}var n=t[1],u=n[1],a=n[2];return qUt(OI(r[1][1+Jr],r),u,a,t,(function(r){return[1,[0,u,r]]}))},Jr,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},dt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+Ft],r,u),i=WUt(OI(r[1][1+pt],r),n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Ft,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+Et],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+bt],r),n,t,(function(r){return[1,r]}))},Et,function(r,t){return NI(r[1][1+tt],r,t)},bt,function(r,t){return NI(r[1][1+zr],r,t)},pt,function(r,t){if(0===t[0]){var e=t[1],n=t[2];return qUt(OI(r[1][1+lt],r),e,n,t,(function(r){return[0,e,r]}))}var u=t[1],a=t[2];return qUt(OI(r[1][1+Dt],r),u,a,t,(function(r){return[1,u,r]}))},Dt,function(r,t,e){return xI(r[1][1+nt],r,t,e)},lt,function(r,t,e){return xI(r[1][1+Hr],r,t,e)},st,function(r,t){var e=t[2],n=ZUt(OI(r[1][1+vt],r),e);return e===n?t:[0,t[1],n]},vt,function(r,t){var e=t[2],n=t[1];switch(e[0]){case 0:var u=e[1];return qUt(OI(r[1][1+ft],r),n,u,t,(function(r){return[0,n,[0,r]]}));case 1:var a=e[1];return qUt(OI(r[1][1+et],r),n,a,t,(function(r){return[0,n,[1,r]]}));case 2:var i=e[1];return qUt(OI(r[1][1+nt],r),n,i,t,(function(r){return[0,n,[2,r]]}));case 3:var c=e[1];return zUt(OI(r[1][1+Kr],r),c,t,(function(r){return[0,n,[3,r]]}));default:return t}},nt,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+x],r,n);if(u){var i=u[1],c=NI(r[1][1+pe],r,i);return i===c&&n===a?e:[0,[0,c],a]}return n===a?e:[0,0,a]},Kr,function(r,t){var e=t[2],n=t[1],u=NI(r[1][1+pe],r,n),a=NI(r[1][1+x],r,e);return n===u&&e===a?t:[0,u,a]},ct,function(r,t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+it],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+ut],r),n,t,(function(r){return[1,r]}));default:var u=t[1];return zUt(OI(r[1][1+at],r),u,t,(function(r){return[2,r]}))}},it,function(r,t){return NI(r[1][1+tt],r,t)},ut,function(r,t){return NI(r[1][1+zr],r,t)},at,function(r,t){return NI(r[1][1+rt],r,t)},zr,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+tt],r,u),i=NI(r[1][1+tt],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},rt,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+Qr],r,u),i=NI(r[1][1+tt],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},Qr,function(r,t){if(0===t[0]){var e=t[1];return zUt(OI(r[1][1+Zr],r),e,t,(function(r){return[0,r]}))}var n=t[1];return zUt(OI(r[1][1+rt],r),n,t,(function(r){return[1,r]}))},Zr,function(r,t){return NI(r[1][1+it],r,t)},tt,function(r,t){var e=t[2],n=e[2],u=NI(r[1][1+x],r,n);return n===u?t:[0,t[1],[0,e[1],u]]},$r,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+Yr],r,a),c=NI(r[1][1+X],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},Hr,function(r,t,e){var n=e[3],u=NI(r[1][1+x],r,n);return n===u?e:[0,e[1],e[2],u]},Xr,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=NI(r[1][1+pe],r,a),c=NI(r[1][1+pe],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,e[1],i,c,f]},jr,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=NI(r[1][1+Gr],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},pr,function(r,t,e){var n=e[1],u=xI(r[1][1+jr],r,t,n);return n===u?e:[0,u,e[2]]},Gr,function(r,t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+Rr],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+Ur],r),n,t,(function(r){return[1,r]}));default:var u=t[1];return zUt(OI(r[1][1+Mr],r),u,t,(function(r){return[2,r]}))}},Rr,function(r,t){return NI(r[1][1+xt],r,t)},Ur,function(r,t){return NI(r[1][1+K],r,t)},Mr,function(r,t){return NI(r[1][1+pe],r,t)},Pr,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+xt],r,a),c=NI(r[1][1+xt],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},Lr,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+pe],r,i),f=WUt(OI(r[1][1+vn],r),a),o=WUt(OI(r[1][1+Dn],r),u),s=NI(r[1][1+x],r,n);return i===c&&a===f&&u===o&&n===s?e:[0,c,f,o,s]},Or,function(r,t,e){var n=e[2],u=e[1],a=ZUt((function(t){if(0===t[0]){var e=t[1],n=NI(r[1][1+_r],r,e);return e===n?t:[0,n]}var u=t[1],a=NI(r[1][1+H],r,u);return u===a?t:[1,a]}),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},_r,function(r,t){var e=t[2],n=t[1];switch(e[0]){case 0:var u=e[2],a=e[1],i=NI(r[1][1+gr],r,a),c=NI(r[1][1+pe],r,u);return a===i&&u===c?t:[0,n,[0,i,c,e[3]]];case 1:var f=e[2],o=e[1],s=NI(r[1][1+gr],r,o),v=QUt(OI(r[1][1+Wt],r),f);return o===s&&f===v?t:[0,n,[1,s,v]];case 2:var l=e[3],D=e[2],p=e[1],b=NI(r[1][1+gr],r,p),E=QUt(OI(r[1][1+Wt],r),D),F=NI(r[1][1+x],r,l);return p===b&&D===E&&l===F?t:[0,n,[2,b,E,F]];default:var d=e[3],m=e[2],h=e[1],k=NI(r[1][1+gr],r,h),y=QUt(OI(r[1][1+Wt],r),m),A=NI(r[1][1+x],r,d);return h===k&&m===y&&d===A?t:[0,n,[3,k,y,A]]}},gr,function(r,t){switch(t[0]){case 0:var e=t[1];return zUt(OI(r[1][1+Cr],r),e,t,(function(r){return[0,r]}));case 1:var n=t[1];return zUt(OI(r[1][1+wr],r),n,t,(function(r){return[1,r]}));case 2:var u=t[1];return zUt(OI(r[1][1+K],r),u,t,(function(r){return[2,r]}));default:var a=t[1];return zUt(OI(r[1][1+Sr],r),a,t,(function(r){return[3,r]}))}},Cr,function(r,t){var e=t[1],n=t[2];return qUt(OI(r[1][1+Hr],r),e,n,t,(function(r){return[0,e,r]}))},wr,function(r,t){return NI(r[1][1+xt],r,t)},Sr,function(r,t){return NI(r[1][1+Ve],r,t)},Fr,function(r,t,e){var n=e[5],u=e[4],a=e[3],i=e[2],c=e[1],f=NI(r[1][1+F],r,c),o=WUt(OI(r[1][1+b],r),i),s=WUt(OI(r[1][1+A],r),a),v=WUt(OI(r[1][1+A],r),u),l=NI(r[1][1+x],r,n);return c===f&&a===s&&i===o&&a===s&&u===v&&n===l?e:[0,f,o,s,v,l]},Vt,function(r,t){return xI(r[1][1+dn],r,0,t)},c,function(r,t,e){return xI(r[1][1+dn],r,[0,t],e)},fn,function(r,t){return xI(r[1][1+dn],r,pVr,t)},ve,function(r,t){return NI(r[1][1+kn],r,t)},ie,function(r,t){return NI(r[1][1+kn],r,t)},dn,function(r,t,e){var n=t?t[1]:t;return xI(r[1][1+Dr],r,[0,n],e)},kn,function(r,t){return xI(r[1][1+Dr],r,0,t)},Dr,function(r,t,e){var n=e[2];switch(n[0]){case 0:var u=n[1],a=u[3],i=u[2],c=u[1],f=ZUt(NI(r[1][1+ur],r,t),c),o=NI(r[1][1+h],r,i),s=NI(r[1][1+x],r,a),v=0;if(f===c&&o===i&&s===a){var l=n;v=1}if(!v)l=[0,[0,f,o,s]];var D=l;break;case 1:var p=n[1],b=p[3],E=p[2],F=p[1],d=ZUt(NI(r[1][1+lr],r,t),F),m=NI(r[1][1+h],r,E),k=NI(r[1][1+x],r,b),y=0;if(b===k&&d===F&&m===E){var A=n;y=1}if(!y)A=[1,[0,d,m,k]];D=A;break;case 2:var _=n[1],C=_[2],w=_[1],S=xI(r[1][1+ir],r,t,w),g=NI(r[1][1+h],r,C),B=0;if(w===S&&C===g){var T=n;B=1}if(!B)T=[2,[0,S,g,_[3]]];D=T;break;default:var I=n[1];D=zUt(OI(r[1][1+cr],r),I,n,(function(r){return[3,r]}))}return n===D?e:[0,e[1],D]},ir,function(r,t,e){return NI(r[1][1+xt],r,e)},ar,function(r,t,e,n){return xI(r[1][1+Hr],r,e,n)},ur,function(r,t,e){if(0===e[0]){var n=e[1];return zUt(NI(r[1][1+nr],r,t),n,e,(function(r){return[0,r]}))}var u=e[1];return zUt(NI(r[1][1+z],r,t),u,e,(function(r){return[1,r]}))},nr,function(r,t,e){var n=e[2],u=n[3],a=n[2],i=n[1],c=xI(r[1][1+rr],r,t,i),f=xI(r[1][1+Q],r,t,a),o=WUt(OI(r[1][1+pe],r),u);return c===i&&f===a&&o===u?e:[0,e[1],[0,c,f,o,0]]},rr,function(r,t,e){switch(e[0]){case 0:var n=e[1];return zUt(NI(r[1][1+Z],r,t),n,e,(function(r){return[0,r]}));case 1:var u=e[1];return zUt(NI(r[1][1+tr],r,t),u,e,(function(r){return[1,r]}));default:var a=e[1];return zUt(NI(r[1][1+er],r,t),a,e,(function(r){return[2,r]}))}},Z,function(r,t,e){var n=e[1],u=e[2];return qUt(NI(r[1][1+ar],r,t),n,u,e,(function(r){return[0,n,r]}))},tr,function(r,t,e){return xI(r[1][1+ir],r,t,e)},er,function(r,t,e){return NI(r[1][1+Ve],r,e)},z,function(r,t,e){var n=e[2],u=n[2],a=n[1],i=xI(r[1][1+q],r,t,a),c=NI(r[1][1+x],r,u);return i===a&&u===c?e:[0,e[1],[0,i,c]]},Q,function(r,t,e){return xI(r[1][1+Dr],r,t,e)},q,function(r,t,e){return xI(r[1][1+Dr],r,t,e)},lr,function(r,t,e){switch(e[0]){case 0:var n=e[1];return zUt(NI(r[1][1+vr],r,t),n,e,(function(r){return[0,r]}));case 1:var u=e[1];return zUt(NI(r[1][1+or],r,t),u,e,(function(r){return[1,r]}));default:return e}},vr,function(r,t,e){var n=e[2],u=n[2],a=n[1],i=xI(r[1][1+sr],r,t,a),c=WUt(OI(r[1][1+pe],r),u);return a===i&&u===c?e:[0,e[1],[0,i,c]]},sr,function(r,t,e){return xI(r[1][1+Dr],r,t,e)},or,function(r,t,e){var n=e[2],u=n[2],a=n[1],i=xI(r[1][1+fr],r,t,a),c=NI(r[1][1+x],r,u);return i===a&&u===c?e:[0,e[1],[0,i,c]]},fr,function(r,t,e){return xI(r[1][1+Dr],r,t,e)},gn,function(r,t,e){return xI(r[1][1+Dr],r,t,e)},cr,function(r,t){return NI(r[1][1+pe],r,t)},W,function(r,t){var e=t[2],n=e[2],u=e[1];if(u)var a=u[1],i=zUt(OI(r[1][1+pe],r),a,u,(function(r){return[0,r]}));else i=u;var c=NI(r[1][1+x],r,n);return u===i&&n===c?t:[0,t[1],[0,i,c]]},J,function(r,t){return NI(r[1][1+pe],r,t)},Ht,function(r,t){var e=t[2],n=e[2],u=e[1],a=xI(r[1][1+dn],r,0,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},V,function(r,t,e){var n=e[2],u=e[1],a=WUt(OI(r[1][1+pe],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},Y,function(r,t,e){var n=e[2],u=e[1],a=ZUt(OI(r[1][1+pe],r),u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},w,function(r,t){return NI(r[1][1+U],r,t)},U,function(r,t){var e=OI(r[1][1+j],r),n=fCt((function(r,t){var n=r[1],u=OI(e,t);if(u){if(u[2])return[0,eCt(u,n),1];var a=u[1];return[0,[0,a,n],r[2]||(t!==a?1:0)]}return[0,n,1]}),bVr,t);return n[2]?nCt(n[1]):t},j,function(r,t){return[0,NI(r[1][1+X],r,t),0]},$,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},H,function(r,t){var e=t[2],n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?t:[0,t[1],[0,a,i]]},M,function(r,t,e){var n=e[1],u=NI(r[1][1+x],r,n);return n===u?e:[0,u]},R,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=ZUt(OI(r[1][1+P],r),u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},P,function(r,t){var e=t[2],n=e[3],u=e[2],a=e[1],i=WUt(OI(r[1][1+pe],r),a),c=NI(r[1][1+U],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?t:[0,t[1],[0,i,c,f]]},N,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=QUt(OI(r[1][1+O],r),u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},O,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=ZUt(OI(r[1][1+I],r),a),c=ZUt(OI(r[1][1+pe],r),u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},I,function(r,t){return t},T,function(r,t,e){var n=e[1],u=NI(r[1][1+x],r,n);return n===u?e:[0,u]},g,function(r,t,e){var n=e[2],u=e[1],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,a,i]},C,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=QUt(OI(r[1][1+Fn],r),i);if(a)var f=a[1],o=f[1],s=f[2],v=qUt(OI(r[1][1+on],r),o,s,a,(function(r){return[0,[0,o,r]]}));else v=a;if(u)var l=u[1],D=l[1],p=l[2],b=qUt(OI(r[1][1+Fn],r),D,p,u,(function(r){return[0,[0,D,r]]}));else b=u;var E=NI(r[1][1+x],r,n);return i===c&&a===v&&u===b&&n===E?e:[0,c,v,b,E]},d,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=NI(r[1][1+k],r,u),f=NI(r[1][1+x],r,n);return i===a&&c===u&&f===n?e:[0,i,c,f]},D,function(r,t,e){var n=e[3],u=e[2],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,e[1],a,i]},s,function(r,t,e){var n=e[4],u=e[2],a=NI(r[1][1+pe],r,u),i=NI(r[1][1+x],r,n);return u===a&&n===i?e:[0,e[1],a,e[3],i]},o,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=ZUt(NI(r[1][1+f],r,u),a),c=NI(r[1][1+x],r,n);return a===i&&wT(n,c)?e:[0,i,u,c]},f,function(r,t,e){var n=e[2],u=n[2],a=n[1],i=xI(r[1][1+c],r,t,a),f=WUt(OI(r[1][1+pe],r),u);return a===i&&u===f?e:[0,e[1],[0,i,f]]},u,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+J],r,a),c=NI(r[1][1+X],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},n,function(r,t,e){var n=e[3],u=e[2],a=e[1],i=NI(r[1][1+pe],r,a),c=NI(r[1][1+X],r,u),f=NI(r[1][1+x],r,n);return a===i&&u===c&&n===f?e:[0,i,c,f]},y,function(r,t,e){var n=e[4],u=e[3],a=e[2],i=e[1],c=NI(r[1][1+F],r,i),f=WUt(OI(r[1][1+b],r),a),o=NI(r[1][1+A],r,u),s=NI(r[1][1+x],r,n);return i===c&&u===o&&a===f&&n===s?e:[0,c,f,o,s]},e,function(r,t,e){var n=e[2],u=e[1],a=WUt(OI(r[1][1+pe],r),u),i=NI(r[1][1+x],r,n);return wT(n,i)&&u===a?e:[0,a,i,e[3]]}]),function(t,e){return PSt(e,r)}})),tjt=function(r){return"number"==typeof r?OVr:r[1]},ejt=function(r){if("number"==typeof r)return 1;switch(r[0]){case 0:return 2;case 3:return 4;default:return 3}},njt=function(r,t){OI(bSt(r),NVr),NI(bSt(r),LVr,xVr);var e=t[1];NI(bSt(r),PVr,e),OI(bSt(r),RVr),OI(bSt(r),MVr),NI(bSt(r),UVr,GVr);var n=t[2];return NI(bSt(r),jVr,n),OI(bSt(r),XVr),OI(bSt(r),HVr)},ujt=function r(t,e){return r.fun(t,e)};mB(ujt,(function(r,t){OI(bSt(r),YVr),NI(bSt(r),KVr,VVr);var e=t[1];if(e){zwt(r,JVr);var n=e[1];if("number"==typeof n)zwt(r,mVr);else switch(n[0]){case 0:OI(bSt(r),hVr);var u=n[1];NI(bSt(r),kVr,u),OI(bSt(r),yVr);break;case 1:OI(bSt(r),AVr);var a=n[1];NI(bSt(r),_Vr,a),OI(bSt(r),CVr);break;case 2:OI(bSt(r),wVr);var i=n[1];NI(bSt(r),SVr,i),OI(bSt(r),gVr);break;default:OI(bSt(r),BVr);var c=n[1];NI(bSt(r),TVr,c),OI(bSt(r),IVr)}zwt(r,WVr)}else zwt(r,qVr);return OI(bSt(r),zVr),OI(bSt(r),QVr),NI(bSt(r),rKr,ZVr),njt(r,t[2]),OI(bSt(r),tKr),OI(bSt(r),eKr),NI(bSt(r),uKr,nKr),njt(r,t[3]),OI(bSt(r),aKr),OI(bSt(r),iKr)})),mB((function r(t){return r.fun(t)}),(function(r){return NI(ESt($Vr),ujt,r)}));var ajt=function(r,t){return[0,r[1],r[2],t[3]]},ijt=function(r,t){var e=r[1]-t[1]|0;return 0===e?r[2]-t[2]|0:e},cjt=function r(t,e,n){return r.fun(t,e,n)};mB(cjt,(function(r,t,e){var n=e[2];switch(n[0]){case 0:return fCt((function(t,e){var n=0===e[0]?e[1][2][2]:e[1][2][1];return xI(cjt,r,t,n)}),t,n[1][1]);case 1:return fCt((function(t,e){return 2===e[0]?t:xI(cjt,r,t,e[1][2][1])}),t,n[1][1]);case 2:var u=n[1];return xI(r,t,u[1],u[2]);default:return t}}));var fjt=function(r){return r[2][1]},ojt=function(r,t){return[0,t[1],[0,t[2],r]]},sjt=function(r,t,e){return[0,r?r[1]:r,t?t[1]:t,e]},vjt=function(r,t,e){var n=r?r[1]:r,u=t?t[1]:t;return n||u?[0,sjt([0,n],[0,u],0)]:u},ljt=function(r,t,e){var n=r?r[1]:r,u=t?t[1]:t;return n||u||e?[0,sjt([0,n],[0,u],e)]:e},Djt=function(r,t){if(r){if(t){var e=t[1],n=r[1],u=[0,j_t(n[2],e[2])];return vjt([0,j_t(e[1],n[1])],u)}var a=r}else a=t;return a},pjt=function(r,t){if(t){if(r){var e=t[1],n=r[1],u=n[3],a=[0,j_t(n[2],e[2])];return ljt([0,j_t(e[1],n[1])],a,u)}var i=t[1];return ljt([0,i[1]],[0,i[2]],0)}return r},bjt=function r(t,e){return r.fun(t,e)};mB(bjt,(function(r,t){if("number"==typeof r){var e=r;if(56<=e)switch(e){case 56:if("number"==typeof t&&56===t)return 0;break;case 57:if("number"==typeof t&&57===t)return 0;break;case 58:if("number"==typeof t&&58===t)return 0;break;case 59:if("number"==typeof t&&59===t)return 0;break;case 60:if("number"==typeof t&&60===t)return 0;break;case 61:if("number"==typeof t&&61===t)return 0;break;case 62:if("number"==typeof t&&62===t)return 0;break;case 63:if("number"==typeof t&&63===t)return 0;break;case 64:if("number"==typeof t&&64===t)return 0;break;case 65:if("number"==typeof t&&65===t)return 0;break;case 66:if("number"==typeof t&&66===t)return 0;break;case 67:if("number"==typeof t&&67===t)return 0;break;case 68:if("number"==typeof t&&68===t)return 0;break;case 69:if("number"==typeof t&&69===t)return 0;break;case 70:if("number"==typeof t&&70===t)return 0;break;case 71:if("number"==typeof t&&71===t)return 0;break;case 72:if("number"==typeof t&&72===t)return 0;break;case 73:if("number"==typeof t&&73===t)return 0;break;case 74:if("number"==typeof t&&74===t)return 0;break;case 75:if("number"==typeof t&&75===t)return 0;break;case 76:if("number"==typeof t&&76===t)return 0;break;case 77:if("number"==typeof t&&77===t)return 0;break;case 78:if("number"==typeof t&&78===t)return 0;break;case 79:if("number"==typeof t&&79===t)return 0;break;case 80:if("number"==typeof t&&80===t)return 0;break;case 81:if("number"==typeof t&&81===t)return 0;break;case 82:if("number"==typeof t&&82===t)return 0;break;case 83:if("number"==typeof t&&83===t)return 0;break;case 84:if("number"==typeof t&&84===t)return 0;break;case 85:if("number"==typeof t&&85===t)return 0;break;case 86:if("number"==typeof t&&86===t)return 0;break;case 87:if("number"==typeof t&&87===t)return 0;break;case 88:if("number"==typeof t&&88===t)return 0;break;case 89:if("number"==typeof t&&89===t)return 0;break;case 90:if("number"==typeof t&&90===t)return 0;break;case 91:if("number"==typeof t&&91===t)return 0;break;case 92:if("number"==typeof t&&92===t)return 0;break;case 93:if("number"==typeof t&&93===t)return 0;break;case 94:if("number"==typeof t&&94===t)return 0;break;case 95:if("number"==typeof t&&95===t)return 0;break;case 96:if("number"==typeof t&&96===t)return 0;break;case 97:if("number"==typeof t&&97===t)return 0;break;case 98:if("number"==typeof t&&98===t)return 0;break;case 99:if("number"==typeof t&&99===t)return 0;break;case 100:if("number"==typeof t&&ku===t)return 0;break;case 101:if("number"==typeof t&&Um===t)return 0;break;case 102:if("number"==typeof t&&Pm===t)return 0;break;case 103:if("number"==typeof t&&ul===t)return 0;break;case 104:if("number"==typeof t&&Sm===t)return 0;break;case 105:if("number"==typeof t&&BS===t)return 0;break;case 106:if("number"==typeof t&&$a===t)return 0;break;case 107:if("number"==typeof t&&Yu===t)return 0;break;case 108:if("number"==typeof t&&jb===t)return 0;break;case 109:if("number"==typeof t&&Ah===t)return 0;break;case 110:if("number"==typeof t&&qt===t)return 0;break;default:if("number"==typeof t&&Vr<=t)return 0}else switch(e){case 0:if("number"==typeof t&&0===t)return 0;break;case 1:if("number"==typeof t&&1===t)return 0;break;case 2:if("number"==typeof t&&2===t)return 0;break;case 3:if("number"==typeof t&&3===t)return 0;break;case 4:if("number"==typeof t&&4===t)return 0;break;case 5:if("number"==typeof t&&5===t)return 0;break;case 6:if("number"==typeof t&&6===t)return 0;break;case 7:if("number"==typeof t&&7===t)return 0;break;case 8:if("number"==typeof t&&8===t)return 0;break;case 9:if("number"==typeof t&&9===t)return 0;break;case 10:if("number"==typeof t&&10===t)return 0;break;case 11:if("number"==typeof t&&11===t)return 0;break;case 12:if("number"==typeof t&&12===t)return 0;break;case 13:if("number"==typeof t&&13===t)return 0;break;case 14:if("number"==typeof t&&14===t)return 0;break;case 15:if("number"==typeof t&&15===t)return 0;break;case 16:if("number"==typeof t&&16===t)return 0;break;case 17:if("number"==typeof t&&17===t)return 0;break;case 18:if("number"==typeof t&&18===t)return 0;break;case 19:if("number"==typeof t&&19===t)return 0;break;case 20:if("number"==typeof t&&20===t)return 0;break;case 21:if("number"==typeof t&&21===t)return 0;break;case 22:if("number"==typeof t&&22===t)return 0;break;case 23:if("number"==typeof t&&23===t)return 0;break;case 24:if("number"==typeof t&&24===t)return 0;break;case 25:if("number"==typeof t&&25===t)return 0;break;case 26:if("number"==typeof t&&26===t)return 0;break;case 27:if("number"==typeof t&&27===t)return 0;break;case 28:if("number"==typeof t&&28===t)return 0;break;case 29:if("number"==typeof t&&29===t)return 0;break;case 30:if("number"==typeof t&&30===t)return 0;break;case 31:if("number"==typeof t&&31===t)return 0;break;case 32:if("number"==typeof t&&32===t)return 0;break;case 33:if("number"==typeof t&&33===t)return 0;break;case 34:if("number"==typeof t&&34===t)return 0;break;case 35:if("number"==typeof t&&35===t)return 0;break;case 36:if("number"==typeof t&&36===t)return 0;break;case 37:if("number"==typeof t&&37===t)return 0;break;case 38:if("number"==typeof t&&38===t)return 0;break;case 39:if("number"==typeof t&&39===t)return 0;break;case 40:if("number"==typeof t&&40===t)return 0;break;case 41:if("number"==typeof t&&41===t)return 0;break;case 42:if("number"==typeof t&&42===t)return 0;break;case 43:if("number"==typeof t&&43===t)return 0;break;case 44:if("number"==typeof t&&44===t)return 0;break;case 45:if("number"==typeof t&&45===t)return 0;break;case 46:if("number"==typeof t&&46===t)return 0;break;case 47:if("number"==typeof t&&47===t)return 0;break;case 48:if("number"==typeof t&&48===t)return 0;break;case 49:if("number"==typeof t&&49===t)return 0;break;case 50:if("number"==typeof t&&50===t)return 0;break;case 51:if("number"==typeof t&&51===t)return 0;break;case 52:if("number"==typeof t&&52===t)return 0;break;case 53:if("number"==typeof t&&53===t)return 0;break;case 54:if("number"==typeof t&&54===t)return 0;break;default:if("number"==typeof t&&55===t)return 0}}else switch(r[0]){case 0:if("number"!=typeof t&&0===t[0])return yT(r[1],t[1]);break;case 1:if("number"!=typeof t&&1===t[0]){var n=yT(r[1],t[1]);return 0===n?yT(r[2],t[2]):n}break;case 2:if("number"!=typeof t&&2===t[0]){var u=yT(r[1],t[1]);return 0===u?yT(r[2],t[2]):u}break;case 3:if("number"!=typeof t&&3===t[0])return yT(r[1],t[1]);break;case 4:if("number"!=typeof t&&4===t[0]){var a=t[2],i=r[2],c=yT(r[1],t[1]);return 0===c?i?a?yT(i[1],a[1]):1:a?-1:0:c}break;case 5:if("number"!=typeof t&&5===t[0])return yT(r[1],t[1]);break;case 6:if("number"!=typeof t&&6===t[0]){var f=t[2],o=r[2],s=yT(r[1],t[1]);if(0===s){if(o)if(f){var v=f[1],l=o[1],D=0;switch(l){case 0:if(0===v)var p=0;else D=1;break;case 1:if(1===v)p=0;else D=1;break;case 2:if(2===v)p=0;else D=1;break;default:if(3<=v)p=0;else D=1}if(D){var b=function(r){switch(r){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},E=b(v);p=hT(b(l),E)}var F=p}else F=1;else F=f?-1:0;return 0===F?yT(r[3],t[3]):F}return s}break;case 7:if("number"!=typeof t&&7===t[0]){var d=yT(r[1],t[1]);return 0===d?yT(r[2],t[2]):d}break;case 8:if("number"!=typeof t&&8===t[0])return hT(r[1],t[1]);break;case 9:if("number"!=typeof t&&9===t[0]){var m=yT(r[1],t[1]);return 0===m?yT(r[2],t[2]):m}break;case 10:if("number"!=typeof t&&10===t[0])return yT(r[1],t[1]);break;case 11:if("number"!=typeof t&&11===t[0])return yT(r[1],t[1]);break;case 12:if("number"!=typeof t&&12===t[0]){var h=yT(r[1],t[1]);return 0===h?yT(r[2],t[2]):h}break;case 13:if("number"!=typeof t&&13===t[0]){var k=yT(r[1],t[1]);return 0===k?yT(r[2],t[2]):k}break;case 14:if("number"!=typeof t&&14===t[0])return yT(r[1],t[1]);break;case 15:if("number"!=typeof t&&15===t[0])return hT(r[1],t[1]);break;case 16:if("number"!=typeof t&&16===t[0])return yT(r[1],t[1]);break;case 17:if("number"!=typeof t&&17===t[0]){var y=yT(r[1],t[1]);return 0===y?yT(r[2],t[2]):y}break;case 18:if("number"!=typeof t&&18===t[0])return yT(r[1],t[1]);break;case 19:if("number"!=typeof t&&19===t[0])return hT(r[1],t[1]);break;case 20:if("number"!=typeof t&&20===t[0])return yT(r[1],t[1]);break;case 21:if("number"!=typeof t&&21===t[0])return yT(r[1],t[1]);break;case 22:if("number"!=typeof t&&22===t[0]){var A=yT(r[1],t[1]);if(0===A){var _=hT(r[2],t[2]);return 0===_?hT(r[3],t[3]):_}return A}break;case 23:if("number"!=typeof t&&23===t[0])return yT(r[1],t[1]);break;default:if("number"!=typeof t&&24===t[0])return yT(r[1],t[1])}function C(r){if("number"==typeof r){var t=r;if(56<=t)switch(t){case 56:return 75;case 57:return 76;case 58:return 77;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 82;case 63:return 83;case 64:return 84;case 65:return 85;case 66:return 86;case 67:return 87;case 68:return 88;case 69:return 89;case 70:return 90;case 71:return 91;case 72:return 92;case 73:return 93;case 74:return 95;case 75:return 96;case 76:return 97;case 77:return 98;case 78:return 99;case 79:return ku;case 80:return Um;case 81:return Pm;case 82:return ul;case 83:return Sm;case 84:return BS;case 85:return $a;case 86:return Yu;case 87:return jb;case 88:return Vr;case 89:return It;case 90:return ki;case 91:return LC;case 92:return AF;case 93:return Se;case 94:return Em;case 95:return _m;case 96:return eS;case 97:return Jw;case 98:return S;case 99:return Hp;case 100:return ZE;case 101:return $d;case 102:return YE;case 103:return vA;case 104:return 129;case 105:return 130;case 106:return 131;case 107:return 132;case 108:return 133;case 109:return 134;case 110:return 135;default:return 136}switch(t){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 46;case 31:return 47;case 32:return 48;case 33:return 49;case 34:return 52;case 35:return 53;case 36:return 54;case 37:return 55;case 38:return 56;case 39:return 57;case 40:return 58;case 41:return 59;case 42:return 60;case 43:return 61;case 44:return 62;case 45:return 63;case 46:return 64;case 47:return 65;case 48:return 66;case 49:return 67;case 50:return 68;case 51:return 69;case 52:return 70;case 53:return 71;case 54:return 72;default:return 73}}else switch(r[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 45;case 16:return 50;case 17:return 51;case 18:return 74;case 19:return 78;case 20:return 94;case 21:return Ah;case 22:return qt;case 23:return iu;default:return B}}var w=C(t);return hT(C(r),w)}));var Ejt=[_c,Vqr,NT()],Fjt=function(r){return[0,r[1],r[2].slice(),r[3],r[4],r[5],r[6],r[7]]},djt=function(r){return r[3][1]},mjt=function(r,t){return r!==t[4]?[0,t[1],t[2],t[3],r,t[5],t[6],t[7]]:t},hjt=function(r){if("number"==typeof r){var t=r;if(60<=t)switch(t){case 60:return T0r;case 61:return I0r;case 62:return O0r;case 63:return N0r;case 64:return x0r;case 65:return L0r;case 66:return P0r;case 67:return R0r;case 68:return M0r;case 69:return G0r;case 70:return U0r;case 71:return j0r;case 72:return X0r;case 73:return H0r;case 74:return $0r;case 75:return Y0r;case 76:return V0r;case 77:return K0r;case 78:return J0r;case 79:return W0r;case 80:return q0r;case 81:return z0r;case 82:return Q0r;case 83:return Z0r;case 84:return r1r;case 85:return t1r;case 86:return e1r;case 87:return n1r;case 88:return u1r;case 89:return a1r;case 90:return i1r;case 91:return c1r;case 92:return f1r;case 93:return o1r;case 94:return s1r;case 95:return v1r;case 96:return l1r;case 97:return D1r;case 98:return p1r;case 99:return b1r;case 100:return E1r;case 101:return F1r;case 102:return d1r;case 103:return m1r;case 104:return h1r;case 105:return k1r;case 106:return y1r;case 107:return A1r;case 108:return _1r;case 109:return C1r;case 110:return w1r;case 111:return S1r;case 112:return g1r;case 113:return B1r;case 114:return T1r;case 115:return I1r;case 116:return O1r;case 117:return N1r;default:return x1r}switch(t){case 0:return _Zr;case 1:return CZr;case 2:return wZr;case 3:return SZr;case 4:return gZr;case 5:return BZr;case 6:return TZr;case 7:return IZr;case 8:return OZr;case 9:return NZr;case 10:return xZr;case 11:return LZr;case 12:return PZr;case 13:return RZr;case 14:return MZr;case 15:return GZr;case 16:return UZr;case 17:return jZr;case 18:return XZr;case 19:return HZr;case 20:return $Zr;case 21:return YZr;case 22:return VZr;case 23:return KZr;case 24:return JZr;case 25:return WZr;case 26:return qZr;case 27:return zZr;case 28:return QZr;case 29:return ZZr;case 30:return r0r;case 31:return t0r;case 32:return e0r;case 33:return n0r;case 34:return u0r;case 35:return a0r;case 36:return i0r;case 37:return c0r;case 38:return f0r;case 39:return o0r;case 40:return s0r;case 41:return v0r;case 42:return l0r;case 43:return D0r;case 44:return p0r;case 45:return b0r;case 46:return E0r;case 47:return F0r;case 48:return d0r;case 49:return m0r;case 50:return h0r;case 51:return k0r;case 52:return y0r;case 53:return A0r;case 54:return _0r;case 55:return C0r;case 56:return w0r;case 57:return S0r;case 58:return g0r;default:return B0r}}else switch(r[0]){case 0:return L1r;case 1:return P1r;case 2:return R1r;case 3:return M1r;case 4:return G1r;case 5:return U1r;case 6:return j1r;case 7:return X1r;case 8:return H1r;case 9:return $1r;case 10:return Y1r;default:return V1r}},kjt=function(r){if("number"==typeof r){var t=r;if(60<=t)switch(t){case 60:return bQr;case 61:return EQr;case 62:return FQr;case 63:return dQr;case 64:return mQr;case 65:return hQr;case 66:return kQr;case 67:return yQr;case 68:return AQr;case 69:return _Qr;case 70:return CQr;case 71:return wQr;case 72:return SQr;case 73:return gQr;case 74:return BQr;case 75:return TQr;case 76:return IQr;case 77:return OQr;case 78:return NQr;case 79:return xQr;case 80:return LQr;case 81:return PQr;case 82:return RQr;case 83:return MQr;case 84:return GQr;case 85:return UQr;case 86:return jQr;case 87:return XQr;case 88:return HQr;case 89:return $Qr;case 90:return YQr;case 91:return VQr;case 92:return KQr;case 93:return JQr;case 94:return WQr;case 95:return qQr;case 96:return zQr;case 97:return QQr;case 98:return ZQr;case 99:return rZr;case 100:return tZr;case 101:return eZr;case 102:return nZr;case 103:return uZr;case 104:return aZr;case 105:return iZr;case 106:return cZr;case 107:return fZr;case 108:return oZr;case 109:return sZr;case 110:return vZr;case 111:return lZr;case 112:return DZr;case 113:return pZr;case 114:return bZr;case 115:return EZr;case 116:return FZr;case 117:return dZr;default:return mZr}switch(t){case 0:return ozr;case 1:return szr;case 2:return vzr;case 3:return lzr;case 4:return Dzr;case 5:return pzr;case 6:return bzr;case 7:return Ezr;case 8:return Fzr;case 9:return dzr;case 10:return mzr;case 11:return hzr;case 12:return kzr;case 13:return yzr;case 14:return Azr;case 15:return _zr;case 16:return Czr;case 17:return wzr;case 18:return Szr;case 19:return gzr;case 20:return Bzr;case 21:return Tzr;case 22:return Izr;case 23:return Ozr;case 24:return Nzr;case 25:return xzr;case 26:return Lzr;case 27:return Pzr;case 28:return Rzr;case 29:return Mzr;case 30:return Gzr;case 31:return Uzr;case 32:return jzr;case 33:return Xzr;case 34:return Hzr;case 35:return $zr;case 36:return Yzr;case 37:return Vzr;case 38:return Kzr;case 39:return Jzr;case 40:return Wzr;case 41:return qzr;case 42:return zzr;case 43:return Qzr;case 44:return Zzr;case 45:return rQr;case 46:return tQr;case 47:return eQr;case 48:return nQr;case 49:return uQr;case 50:return aQr;case 51:return iQr;case 52:return cQr;case 53:return fQr;case 54:return oQr;case 55:return sQr;case 56:return vQr;case 57:return lQr;case 58:return DQr;default:return pQr}}else switch(r[0]){case 3:return r[1][2][3];case 5:var e=r[1],n=G_t(hZr,e[3]);return G_t(kZr,G_t(e[2],n));case 9:return 0===r[1]?AZr:yZr;case 0:case 1:return r[2];case 2:case 8:return r[1][3];case 6:case 7:return r[1];default:return r[3]}},yjt=function(r){return OI(Awt(fzr),r)},Ajt=function(r,t){var e=r?r[1]:r,n=0;if("number"==typeof t)if(qt===t){var u=Wqr;n=1}else n=2;else switch(t[0]){case 3:u=qqr;n=1;break;case 5:u=zqr;n=1;break;case 6:case 9:n=2;break;case 0:case 10:var a=rzr,i=Zqr;break;case 1:case 11:a=ezr,i=tzr;break;case 2:case 8:a=uzr,i=nzr;break;default:a=izr,i=azr}switch(n){case 1:a=u[1],i=u[2];break;case 2:a=yjt(kjt(t)),i=Qqr}return e?G_t(i,G_t(czr,a)):a},_jt=function(r){if(r){var t=r[1];return 35>>0)var v=JSt(a);else switch(f){case 0:v=2;break;case 2:v=1;break;case 3:if(VSt(a,2),0===bHt(YSt(a))){var F=GXt(YSt(a));if(0===F)v=0===Ijt(YSt(a))&&0===Ijt(YSt(a))&&0===Ijt(YSt(a))?0:JSt(a);else if(1===F&&0===Ijt(YSt(a)))for(;;){var h=Ujt(YSt(a));if(0!==h){v=1===h?0:JSt(a);break}}else v=JSt(a)}else v=JSt(a);break;default:v=0}if(2<=v){if(!(3<=v))return SHt(r,t,37)}else if(0<=v)return r;return P_t(Zet)},RHt=function(r,t,e,n,u){var a=t+qSt(e)|0;return[0,kHt(r,a,t+zSt(e)|0),sgt(e,n,(QSt(e)-n|0)-u|0)]},MHt=function(r,t){for(var e=qSt(r[2]),n=ogt(t),u=RCt(HT(t)),a=r;;){KSt(n);var i=YSt(n);if(i)var c=i[1],f=92>>0)var o=JSt(n);else switch(f){case 0:o=2;break;case 1:for(;;){VSt(n,3);var s=YSt(n);if(s)var v=s[1],l=-1>>0)return P_t(qet);switch(o){case 0:var b=RHt(a,e,n,2,0),E=b[1],F=QT(G_t(zet,b[2])),d=J_t(F)?PHt(a,E,F):SHt(a,E,37);lgt(u,F);a=d;continue;case 1:var m=RHt(a,e,n,3,1),h=QT(G_t(Qet,m[2])),k=PHt(a,m[1],h);lgt(u,h);a=k;continue;case 2:return[0,a,MCt(u)];default:jCt(u,vgt(n));continue}}},GHt=function(r,t,e){var n=THt(r,_Ht(r,t));return WSt(t),NI(e,n,t)},UHt=function(r,t,e){for(var n=r;;){KSt(e);var u=YSt(e);if(u)var a=u[1],i=-1>>0)var c=JSt(e);else switch(i){case 0:for(;;){VSt(e,3);var f=YSt(e);if(f)var o=f[1],s=-1>>0){var p=THt(n,_Ht(n,e));return[0,p,AHt(p,e)]}switch(c){case 0:var b=IHt(n,e);jCt(t,vgt(e));n=b;continue;case 1:var E=n[4]?BHt(n,_Ht(n,e),J1r,K1r):n;return[0,E,AHt(E,e)];case 2:if(n[4])return[0,n,AHt(n,e)];jCt(t,W1r);continue;default:jCt(t,vgt(e));continue}}},jHt=function(r,t,e){for(;;){KSt(e);var n=YSt(e);if(n)var u=n[1],a=13>>0)var i=JSt(e);else switch(a){case 0:i=0;break;case 1:for(;;){VSt(e,2);var c=YSt(e);if(c)var f=c[1],o=-1>>0)return P_t(q1r);switch(i){case 0:return[0,r,AHt(r,e)];case 1:var s=AHt(r,e),v=IHt(r,e),l=QSt(e);return[0,v,[0,s[1],s[2]-l|0]];default:jCt(t,vgt(e));continue}}},XHt=function(r,t){function e(r){return VSt(r,3),0===pXt(YSt(r))?2:JSt(r)}KSt(t);var n=YSt(t);if(n)var u=n[1],a=eS>>0)var i=JSt(t);else switch(a){case 1:i=16;break;case 2:i=15;break;case 3:VSt(t,15);i=0===jXt(YSt(t))?15:JSt(t);break;case 4:VSt(t,4);i=0===pXt(YSt(t))?e(t):JSt(t);break;case 5:VSt(t,11);i=0===pXt(YSt(t))?e(t):JSt(t);break;case 7:i=5;break;case 8:i=6;break;case 9:i=7;break;case 10:i=8;break;case 11:i=9;break;case 12:VSt(t,14);var c=GXt(YSt(t));if(0===c)i=0===Ijt(YSt(t))&&0===Ijt(YSt(t))&&0===Ijt(YSt(t))?12:JSt(t);else if(1===c&&0===Ijt(YSt(t)))for(;;){var f=Ujt(YSt(t));if(0!==f){i=1===f?13:JSt(t);break}}else i=JSt(t);break;case 13:i=10;break;case 14:VSt(t,14);i=0===Ijt(YSt(t))&&0===Ijt(YSt(t))?1:JSt(t);break;default:i=0}if(16>>0)return P_t(Pet);switch(i){case 1:var o=vgt(t);return[0,r,o,[0,QT(G_t(Ret,o))],0];case 2:var s=vgt(t),v=QT(G_t(Met,s));return tn<=v?[0,r,s,[0,v>>>3|0,48+(7&v)|0],1]:[0,r,s,[0,v],1];case 3:var l=vgt(t);return[0,r,l,[0,QT(G_t(Get,l))],1];case 4:return[0,r,Uet,[0,0],0];case 5:return[0,r,jet,[0,8],0];case 6:return[0,r,Xet,[0,12],0];case 7:return[0,r,Het,[0,10],0];case 8:return[0,r,$et,[0,13],0];case 9:return[0,r,Yet,[0,9],0];case 10:return[0,r,Vet,[0,11],0];case 11:var D=vgt(t);return[0,r,D,[0,QT(G_t(Ket,D))],1];case 12:var p=vgt(t);return[0,r,p,[0,QT(G_t(Jet,kCt(p,1,HT(p)-1|0)))],0];case 13:var b=vgt(t),E=QT(G_t(Wet,kCt(b,2,HT(b)-3|0)));return[0,Nw>>0)var v=JSt(a);else switch(s){case 0:v=3;break;case 1:for(;;){VSt(a,4);var l=YSt(a);if(l)var D=l[1],p=-1>>0)return P_t(z1r);switch(v){case 0:var b=vgt(a);if(jCt(n,b),_I(t,b))return[0,i,AHt(i,a),c];jCt(e,b);continue;case 1:jCt(n,Q1r);var E=XHt(i,a),F=E[4]||c;jCt(n,E[2]),CCt((function(r){return lgt(e,r)}),E[3]);i=E[1],c=F;continue;case 2:var d=vgt(a);jCt(n,d);var m=IHt(THt(i,_Ht(i,a)),a);return jCt(e,d),[0,m,AHt(m,a),c];case 3:var h=vgt(a);jCt(n,h);var k=THt(i,_Ht(i,a));return jCt(e,h),[0,k,AHt(k,a),c];default:var y=vgt(a);jCt(n,y),jCt(e,y);continue}}},$Ht=function(r,t,e,n,u){for(var a=r;;){KSt(u);var i=YSt(u);if(i)var c=i[1],f=96>>0)var o=JSt(u);else switch(f){case 0:o=0;break;case 1:for(;;){VSt(u,6);var s=YSt(u);if(s)var v=s[1],l=-1>>0)return P_t(Z1r);switch(o){case 0:return[0,THt(a,_Ht(a,u)),1];case 1:return UCt(n,96),[0,a,1];case 2:return jCt(n,r2r),[0,a,0];case 3:UCt(e,92),UCt(n,92);var E=XHt(a,u),F=E[2];jCt(e,F),jCt(n,F),CCt((function(r){return lgt(t,r)}),E[3]);a=E[1];continue;case 4:jCt(e,t2r),jCt(n,e2r),jCt(t,n2r);a=IHt(a,u);continue;case 5:var d=vgt(u);jCt(e,d),jCt(n,d),UCt(t,10);a=IHt(a,u);continue;default:var m=vgt(u);jCt(e,m),jCt(n,m),jCt(t,m);continue}}},YHt=function(r,t,e,n,u){for(var a=r;;){var i=function(r){for(;;)if(VSt(r,6),0!==aXt(YSt(r)))return JSt(r)};KSt(u);var c=YSt(u);if(c)var f=c[1],o=$d>>0)var s=JSt(u);else switch(o){case 0:s=1;break;case 1:s=i(u);break;case 2:s=2;break;case 3:VSt(u,2);s=0===jXt(YSt(u))?2:JSt(u);break;case 4:s=0;break;case 5:VSt(u,6);var v=YSt(u);if(v)var l=v[1],D=34>>0)return P_t(v2r);switch(s){case 0:var N=vgt(u),x=0;switch(t){case 0:wI(N,l2r)||(x=1);break;case 1:wI(N,D2r)||(x=1);break;default:var L=0;if(wI(N,p2r)){if(!wI(N,b2r))return BHt(a,_Ht(a,u),k2r,h2r);if(wI(N,E2r)){if(!wI(N,F2r))return BHt(a,_Ht(a,u),m2r,d2r);L=1}}if(!L)return WSt(u),a}if(x)return a;jCt(n,N),jCt(e,N);continue;case 1:return THt(a,_Ht(a,u));case 2:var P=vgt(u);jCt(n,P),jCt(e,P);a=IHt(a,u);continue;case 3:var R=vgt(u),M=kCt(R,3,HT(R)-4|0);jCt(n,R),lgt(e,QT(G_t(y2r,M)));continue;case 4:var G=vgt(u),U=kCt(G,2,HT(G)-3|0);jCt(n,G),lgt(e,QT(U));continue;case 5:var j=vgt(u),X=kCt(j,1,HT(j)-2|0);jCt(n,j);var H=yT(X,A2r),$=0;if(0<=H)if(0>>0)var a=JSt(t);else switch(u){case 0:a=0;break;case 1:a=6;break;case 2:if(VSt(t,2),0===Sjt(YSt(t))){for(;;)if(VSt(t,2),0!==Sjt(YSt(t))){a=JSt(t);break}}else a=JSt(t);break;case 3:a=1;break;case 4:VSt(t,1);a=0===jXt(YSt(t))?1:JSt(t);break;default:VSt(t,5);var i=tHt(YSt(t));a=0===i?4:1===i?3:JSt(t)}if(6>>0)return P_t(Eet);switch(a){case 0:return[0,r,qt];case 1:return[2,IHt(r,t)];case 2:return[2,r];case 3:var c=yHt(r,t),f=RCt(vA),o=jHt(r,f,t),s=o[1];return[1,s,NHt(s,c,o[2],f,0)];case 4:var v=yHt(r,t),l=RCt(vA),D=UHt(r,l,t),p=D[1];return[1,p,NHt(p,v,D[2],l,1)];case 5:var b=yHt(r,t),E=RCt(vA),F=r;r:for(;;){KSt(t);var d=YSt(t);if(d)var m=d[1],h=92>>0)var k=JSt(t);else switch(h){case 0:k=0;break;case 1:for(;;){VSt(t,7);var y=YSt(t);if(y)var A=y[1],_=-1>>0)k=JSt(t);else switch(S){case 0:k=2;break;case 1:k=1;break;default:VSt(t,1);k=0===jXt(YSt(t))?1:JSt(t)}}if(7>>0)var g=P_t(i2r);else switch(k){case 0:g=[0,SHt(F,_Ht(F,t),25),c2r];break;case 1:g=[0,IHt(SHt(F,_Ht(F,t),25),t),f2r];break;case 3:var B=vgt(t);g=[0,F,kCt(B,1,HT(B)-1|0)];break;case 4:g=[0,F,o2r];break;case 5:for(UCt(E,91);;){KSt(t);var T=YSt(t);if(T)var I=T[1],O=93>>0)var N=JSt(t);else switch(O){case 0:N=0;break;case 1:for(;;){VSt(t,4);var x=YSt(t);if(x)var L=x[1],P=-1>>0)var U=P_t(u2r);else switch(N){case 0:U=F;break;case 1:jCt(E,a2r);continue;case 2:UCt(E,92),UCt(E,93);continue;case 3:UCt(E,93);U=F;break;default:jCt(E,vgt(t));continue}F=U;continue r}case 6:g=[0,IHt(SHt(F,_Ht(F,t),25),t),s2r];break;default:jCt(E,vgt(t));continue}var j=g[1],X=AHt(j,t),H=[0,j[1],b,X],$=g[2];return[0,j,[5,[0,H,MCt(E),$]]]}default:return[0,THt(r,_Ht(r,t)),[6,vgt(t)]]}})),JHt=VHt((function(r,t){function e(r,t){for(;;){VSt(t,12);var e=DXt(YSt(t));if(0!==e)return 1===e?r<50?a(r+1|0,t):BI(a,[0,t]):JSt(t)}}function a(r,t){if(0===bHt(YSt(t))){var n=GXt(YSt(t));if(0===n)return 0===Ijt(YSt(t))&&0===Ijt(YSt(t))&&0===Ijt(YSt(t))?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t);if(1===n){if(0===Ijt(YSt(t)))for(;;){var u=Ujt(YSt(t));if(0!==u)return 1===u?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t)}return JSt(t)}return JSt(t)}return JSt(t)}function i(r){return gI(e(0,r))}KSt(t);var c=YSt(t);if(c)var f=c[1],o=tr>>0)var v=JSt(t);else switch(o){case 0:v=0;break;case 1:v=14;break;case 2:if(VSt(t,2),0===Sjt(YSt(t))){for(;;)if(VSt(t,2),0!==Sjt(YSt(t))){v=JSt(t);break}}else v=JSt(t);break;case 3:v=1;break;case 4:VSt(t,1);v=0===jXt(YSt(t))?1:JSt(t);break;case 5:v=13;break;case 6:VSt(t,12);var l=DXt(YSt(t));v=0===l?i(t):1===l?function(r){return gI(a(0,r))}(t):JSt(t);break;case 7:v=10;break;case 8:VSt(t,6);var p=tHt(YSt(t));v=0===p?4:1===p?3:JSt(t);break;case 9:v=9;break;case 10:v=5;break;case 11:v=11;break;case 12:v=7;break;case 13:if(VSt(t,14),0===bHt(YSt(t))){var F=GXt(YSt(t));if(0===F)v=0===Ijt(YSt(t))&&0===Ijt(YSt(t))&&0===Ijt(YSt(t))?i(t):JSt(t);else if(1===F&&0===Ijt(YSt(t)))for(;;){var d=Ujt(YSt(t));if(0!==d){v=1===d?i(t):JSt(t);break}}else v=JSt(t)}else v=JSt(t);break;default:v=8}if(14>>0)return P_t(pet);switch(v){case 0:return[0,r,qt];case 1:return[2,IHt(r,t)];case 2:return[2,r];case 3:var m=yHt(r,t),h=RCt(vA),y=jHt(r,h,t),_=y[1];return[1,_,NHt(_,m,y[2],h,0)];case 4:var S=yHt(r,t),g=RCt(vA),B=UHt(r,g,t),T=B[1];return[1,T,NHt(T,S,B[2],g,1)];case 5:return[0,r,95];case 6:return[0,r,Pm];case 7:return[0,r,96];case 8:return[0,r,0];case 9:return[0,r,83];case 10:return[0,r,10];case 11:return[0,r,79];case 12:return[0,r,[7,vgt(t)]];case 13:var I=vgt(t),N=yHt(r,t),L=RCt(vA),P=RCt(vA);jCt(P,I);var M=_I(I,bet)?0:1,U=YHt(r,M,L,P,t),j=AHt(U,t);jCt(P,I);var H=MCt(L),V=MCt(P);return[0,U,[8,[0,[0,U[1],N,j],H,V]]];default:return[0,r,[6,vgt(t)]]}})),WHt=VHt((function(r,t){KSt(t);var e=YSt(t);if(e)var n=e[1],u=-1>>0)var a=JSt(t);else switch(u){case 0:a=5;break;case 1:if(VSt(t,1),0===Sjt(YSt(t))){for(;;)if(VSt(t,1),0!==Sjt(YSt(t))){a=JSt(t);break}}else a=JSt(t);break;case 2:a=0;break;case 3:VSt(t,0);a=0===jXt(YSt(t))?0:JSt(t);break;case 4:VSt(t,5);var i=tHt(YSt(t));a=0===i?3:1===i?2:JSt(t);break;default:a=4}if(5>>0)return P_t(set);switch(a){case 0:return[2,IHt(r,t)];case 1:return[2,r];case 2:var c=yHt(r,t),f=RCt(vA),o=jHt(r,f,t),s=o[1];return[1,s,NHt(s,c,o[2],f,0)];case 3:var v=yHt(r,t),l=RCt(vA),D=UHt(r,l,t),p=D[1];return[1,p,NHt(p,v,D[2],l,1)];case 4:var b=yHt(r,t),E=RCt(vA),F=RCt(vA),d=RCt(vA);jCt(d,vet);var m=$Ht(r,E,F,d,t),h=m[1],k=AHt(h,t),y=[0,h[1],b,k],A=m[2],_=MCt(d),C=MCt(F);return[0,h,[3,[0,y,[0,MCt(E),C,_],A]]];default:var w=THt(r,_Ht(r,t));return[0,w,[3,[0,_Ht(w,t),Det,1]]]}})),qHt=VHt((function(r,t){function e(r,t){for(;;){VSt(t,48);var e=Gjt(YSt(t));if(0!==e)return 1===e?r<50?a(r+1|0,t):BI(a,[0,t]):JSt(t)}}function a(r,t){if(0===bHt(YSt(t))){var n=GXt(YSt(t));if(0===n)return 0===Ijt(YSt(t))&&0===Ijt(YSt(t))&&0===Ijt(YSt(t))?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t);if(1===n){if(0===Ijt(YSt(t)))for(;;){var u=Ujt(YSt(t));if(0!==u)return 1===u?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t)}return JSt(t)}return JSt(t)}return JSt(t)}function i(r){return gI(e(0,r))}function c(r){return gI(a(0,r))}function f(r){for(;;)if(VSt(r,29),0!==mHt(YSt(r)))return JSt(r)}function v(r){VSt(r,27);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,25),0!==mHt(YSt(r)))return JSt(r);return 1===t?f(r):JSt(r)}function F(r){for(;;)if(VSt(r,23),0!==mHt(YSt(r)))return JSt(r)}function y(r){VSt(r,22);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,21),0!==mHt(YSt(r)))return JSt(r);return 1===t?F(r):JSt(r)}function _(r){for(;;)if(VSt(r,23),0!==mHt(YSt(r)))return JSt(r)}function S(r){VSt(r,22);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,21),0!==mHt(YSt(r)))return JSt(r);return 1===t?_(r):JSt(r)}function g(r){r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,24);var t=YXt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return _(r);case 1:continue;case 2:continue r;default:return S(r)}}return JSt(r)}}function B(r){VSt(r,29);var t=rHt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return f(r);case 1:var e=rXt(YSt(r));if(0===e)for(;;){VSt(r,24);var n=jjt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:return _(r);case 1:continue;default:return S(r)}}if(1===e)for(;;){VSt(r,24);var u=YXt(YSt(r));if(3>>0)return JSt(r);switch(u){case 0:return _(r);case 1:continue;case 2:return g(r);default:return S(r)}}return JSt(r);case 2:for(;;){VSt(r,24);var a=jjt(YSt(r));if(2>>0)return JSt(r);switch(a){case 0:return F(r);case 1:continue;default:return y(r)}}default:for(;;){VSt(r,24);var i=YXt(YSt(r));if(3>>0)return JSt(r);switch(i){case 0:return F(r);case 1:continue;case 2:return g(r);default:return y(r)}}}}function I(r){for(;;){VSt(r,30);var t=SXt(YSt(r));if(4>>0)return JSt(r);switch(t){case 0:return f(r);case 1:continue;case 2:return B(r);case 3:r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,30);var e=SXt(YSt(r));if(4>>0)return JSt(r);switch(e){case 0:return f(r);case 1:continue;case 2:return B(r);case 3:continue r;default:return v(r)}}return JSt(r)}default:return v(r)}}}function N(r){return 0===Bjt(YSt(r))?I(r):JSt(r)}function L(r){for(;;)if(VSt(r,19),0!==mHt(YSt(r)))return JSt(r)}function P(r){for(;;)if(VSt(r,19),0!==mHt(YSt(r)))return JSt(r)}function M(r){VSt(r,29);var t=Mjt(YSt(r));if(0===t)return f(r);if(1===t)for(;;){VSt(r,20);var e=aHt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return P(r);case 1:continue;case 2:r:for(;;){if(0===Ijt(YSt(r)))for(;;){VSt(r,20);var n=aHt(YSt(r));if(3>>0)return JSt(r);switch(n){case 0:return L(r);case 1:continue;case 2:continue r;default:VSt(r,18);var u=vXt(YSt(r));if(0===u)for(;;)if(VSt(r,17),0!==mHt(YSt(r)))return JSt(r);return 1===u?L(r):JSt(r)}}return JSt(r)}default:VSt(r,18);var a=vXt(YSt(r));if(0===a)for(;;)if(VSt(r,17),0!==mHt(YSt(r)))return JSt(r);return 1===a?P(r):JSt(r)}}return JSt(r)}function U(r){for(;;)if(VSt(r,13),0!==mHt(YSt(r)))return JSt(r)}function H(r){for(;;)if(VSt(r,13),0!==mHt(YSt(r)))return JSt(r)}function K(r){VSt(r,29);var t=XXt(YSt(r));if(0===t)return f(r);if(1===t)for(;;){VSt(r,14);var e=KXt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return H(r);case 1:continue;case 2:r:for(;;){if(0===pXt(YSt(r)))for(;;){VSt(r,14);var n=KXt(YSt(r));if(3>>0)return JSt(r);switch(n){case 0:return U(r);case 1:continue;case 2:continue r;default:VSt(r,12);var u=vXt(YSt(r));if(0===u)for(;;)if(VSt(r,11),0!==mHt(YSt(r)))return JSt(r);return 1===u?U(r):JSt(r)}}return JSt(r)}default:VSt(r,12);var a=vXt(YSt(r));if(0===a)for(;;)if(VSt(r,11),0!==mHt(YSt(r)))return JSt(r);return 1===a?H(r):JSt(r)}}return JSt(r)}function rr(r){for(;;)if(VSt(r,9),0!==mHt(YSt(r)))return JSt(r)}function er(r){for(;;)if(VSt(r,9),0!==mHt(YSt(r)))return JSt(r)}function ur(r){VSt(r,29);var t=MXt(YSt(r));if(0===t)return f(r);if(1===t)for(;;){VSt(r,10);var e=eHt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return er(r);case 1:continue;case 2:r:for(;;){if(0===Qjt(YSt(r)))for(;;){VSt(r,10);var n=eHt(YSt(r));if(3>>0)return JSt(r);switch(n){case 0:return rr(r);case 1:continue;case 2:continue r;default:VSt(r,8);var u=vXt(YSt(r));if(0===u)for(;;)if(VSt(r,7),0!==mHt(YSt(r)))return JSt(r);return 1===u?rr(r):JSt(r)}}return JSt(r)}default:VSt(r,8);var a=vXt(YSt(r));if(0===a)for(;;)if(VSt(r,7),0!==mHt(YSt(r)))return JSt(r);return 1===a?er(r):JSt(r)}}return JSt(r)}function ar(r){VSt(r,28);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,26),0!==mHt(YSt(r)))return JSt(r);return 1===t?f(r):JSt(r)}function fr(r){VSt(r,30);var t=jjt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:return f(r);case 1:for(;;){VSt(r,30);var e=YXt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,30);var n=YXt(YSt(r));if(3>>0)return JSt(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return v(r)}}return JSt(r)}default:return v(r)}}default:return v(r)}}function sr(r){for(;;){VSt(r,30);var t=Jjt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return f(r);case 1:return fr(r);case 2:continue;default:return ar(r)}}}function vr(r){for(;;)if(VSt(r,15),0!==mHt(YSt(r)))return JSt(r)}function lr(r){VSt(r,15);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,15),0!==mHt(YSt(r)))return JSt(r);return 1===t?vr(r):JSt(r)}function br(r){for(;;){VSt(r,16);var t=nHt(YSt(r));if(4>>0)return JSt(r);switch(t){case 0:return vr(r);case 1:return fr(r);case 2:continue;case 3:for(;;){VSt(r,15);var e=Jjt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return vr(r);case 1:return fr(r);case 2:continue;default:return lr(r)}}default:return lr(r)}}}function _r(r){VSt(r,30);var t=CXt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return f(r);case 1:for(;;){VSt(r,30);var e=SXt(YSt(r));if(4>>0)return JSt(r);switch(e){case 0:return f(r);case 1:continue;case 2:return B(r);case 3:r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,30);var n=SXt(YSt(r));if(4>>0)return JSt(r);switch(n){case 0:return f(r);case 1:continue;case 2:return B(r);case 3:continue r;default:return v(r)}}return JSt(r)}default:return v(r)}}case 2:return B(r);default:return v(r)}}function Br(r){VSt(r,30);var t=UXt(YSt(r));if(8>>0)return JSt(r);switch(t){case 0:return f(r);case 1:return _r(r);case 2:return br(r);case 3:return sr(r);case 4:return ur(r);case 5:return B(r);case 6:return K(r);case 7:return M(r);default:return ar(r)}}function Nr(r){r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,30);var t=WXt(YSt(r));if(4>>0)return JSt(r);switch(t){case 0:return f(r);case 1:return fr(r);case 2:continue;case 3:continue r;default:return ar(r)}}return JSt(r)}}function Lr(r){for(;;){VSt(r,30);var t=tXt(YSt(r));if(5>>0)return JSt(r);switch(t){case 0:return f(r);case 1:return _r(r);case 2:continue;case 3:return B(r);case 4:return Nr(r);default:return ar(r)}}}function Rr(r){return VSt(r,3),0===dHt(YSt(r))?3:JSt(r)}function Mr(r){return 0===OXt(YSt(r))&&0===EXt(YSt(r))&&0===uHt(YSt(r))&&0===TXt(YSt(r))&&0===IXt(YSt(r))&&0===bXt(YSt(r))&&0===FXt(YSt(r))&&0===OXt(YSt(r))&&0===bHt(YSt(r))&&0===NXt(YSt(r))&&0===QXt(YSt(r))?3:JSt(r)}KSt(t);var jr=YSt(t);if(jr)var Hr=jr[1],Yr=tr>>0)var qr=JSt(t);else switch(Yr){case 0:qr=80;break;case 1:qr=81;break;case 2:if(VSt(t,1),0===Sjt(YSt(t))){for(;;)if(VSt(t,1),0!==Sjt(YSt(t))){qr=JSt(t);break}}else qr=JSt(t);break;case 3:qr=0;break;case 4:VSt(t,0);qr=0===jXt(YSt(t))?0:JSt(t);break;case 5:qr=6;break;case 6:VSt(t,48);var Zr=Gjt(YSt(t));qr=0===Zr?i(t):1===Zr?c(t):JSt(t);break;case 7:if(VSt(t,81),0===FXt(YSt(t))){var et=YSt(t);if(et)var nt=et[1],ut=ul>>0)qr=JSt(t);else switch(vt){case 0:for(;;){var lt=mXt(YSt(t));if(3>>0)qr=JSt(t);else switch(lt){case 0:continue;case 1:qr=N(t);break;case 2:qr=Br(t);break;default:qr=Lr(t)}break}break;case 1:qr=N(t);break;case 2:qr=Br(t);break;default:qr=Lr(t)}break;case 15:VSt(t,59);var Dt=RXt(YSt(t));qr=0===Dt?0===Cjt(YSt(t))?58:JSt(t):1===Dt?I(t):JSt(t);break;case 16:VSt(t,81);var bt=tHt(YSt(t));if(0===bt){VSt(t,2);var Et=Wjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Et){case 0:for(;;){var Ft=Wjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ft){case 0:continue;case 1:qr=Rr(t);break;default:qr=Mr(t)}break}break;case 1:qr=Rr(t);break;default:qr=Mr(t)}}else qr=1===bt?5:JSt(t);break;case 17:VSt(t,30);var mt=UXt(YSt(t));if(8>>0)qr=JSt(t);else switch(mt){case 0:qr=f(t);break;case 1:qr=_r(t);break;case 2:qr=br(t);break;case 3:qr=sr(t);break;case 4:qr=ur(t);break;case 5:qr=B(t);break;case 6:qr=K(t);break;case 7:qr=M(t);break;default:qr=ar(t)}break;case 18:VSt(t,30);var kt=tXt(YSt(t));if(5>>0)qr=JSt(t);else switch(kt){case 0:qr=f(t);break;case 1:qr=_r(t);break;case 2:qr=Lr(t);break;case 3:qr=B(t);break;case 4:qr=Nr(t);break;default:qr=ar(t)}break;case 19:qr=62;break;case 20:qr=60;break;case 21:qr=67;break;case 22:VSt(t,69);var At=YSt(t);if(At)var Tt=At[1],Nt=61>>0)qr=JSt(t);else switch(Xt){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var $t=hXt(YSt(t));if(2<$t>>>0)qr=JSt(t);else switch($t){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,31);var Yt=Gjt(YSt(t));qr=0===Yt?i(t):1===Yt?c(t):JSt(t)}}break;case 29:VSt(t,48);var Vt=lHt(YSt(t));if(3>>0)qr=JSt(t);else switch(Vt){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var re=xjt(YSt(t));if(2>>0)qr=JSt(t);else switch(re){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var te=vHt(YSt(t));if(2>>0)qr=JSt(t);else switch(te){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var ue=zjt(YSt(t));if(2>>0)qr=JSt(t);else switch(ue){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var fe=VXt(YSt(t));if(2>>0)qr=JSt(t);else switch(fe){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,41);var oe=Gjt(YSt(t));qr=0===oe?i(t):1===oe?c(t):JSt(t)}}}}break;default:VSt(t,48);var le=fHt(YSt(t));if(2>>0)qr=JSt(t);else switch(le){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var De=yXt(YSt(t));if(2>>0)qr=JSt(t);else switch(De){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,32);var pe=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(pe){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var de=uXt(YSt(t));if(2>>0)qr=JSt(t);else switch(de){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var me=zjt(YSt(t));if(2>>0)qr=JSt(t);else switch(me){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,33);var he=Gjt(YSt(t));qr=0===he?i(t):1===he?c(t):JSt(t)}}}}}}break;case 30:VSt(t,48);var ye=YSt(t);if(ye)var Ae=ye[1],Ie=35>>0)qr=JSt(t);else switch(Ie){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var xe=Rjt(YSt(t));if(2>>0)qr=JSt(t);else switch(xe){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Le=VXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Le){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Re=hXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Re){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,34);var Ge=Gjt(YSt(t));qr=0===Ge?i(t):1===Ge?c(t):JSt(t)}}}break;default:VSt(t,48);var Ue=VXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ue){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var He=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(He){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var $e=zjt(YSt(t));if(2<$e>>>0)qr=JSt(t);else switch($e){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Ke=Tjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ke){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var qe=iHt(YSt(t));if(2>>0)qr=JSt(t);else switch(qe){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,35);var Qe=Gjt(YSt(t));qr=0===Qe?i(t):1===Qe?c(t):JSt(t)}}}}}}break;case 31:VSt(t,48);var rn=uXt(YSt(t));if(2>>0)qr=JSt(t);else switch(rn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var tn=yXt(YSt(t));if(2>>0)qr=JSt(t);else switch(tn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var un=iHt(YSt(t));if(2>>0)qr=JSt(t);else switch(un){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var an=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(an){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,36);var cn=Gjt(YSt(t));qr=0===cn?i(t):1===cn?c(t):JSt(t)}}}}break;case 32:VSt(t,48);var fn=zjt(YSt(t));if(2>>0)qr=JSt(t);else switch(fn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var sn=VXt(YSt(t));if(2>>0)qr=JSt(t);else switch(sn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var vn=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(vn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var ln=oXt(YSt(t));if(2>>0)qr=JSt(t);else switch(ln){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var pn=cHt(YSt(t));if(2>>0)qr=JSt(t);else switch(pn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var mn=uXt(YSt(t));if(2>>0)qr=JSt(t);else switch(mn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var yn=xXt(YSt(t));if(2>>0)qr=JSt(t);else switch(yn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var An=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(An){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,37);var Tn=Gjt(YSt(t));qr=0===Tn?i(t):1===Tn?c(t):JSt(t)}}}}}}}}break;case 33:VSt(t,48);var In=vHt(YSt(t));if(2>>0)qr=JSt(t);else switch(In){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Nn=YSt(t);if(Nn)var Ln=Nn[1],Pn=35>>0)qr=JSt(t);else switch(Pn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Gn=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Gn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Un=Tjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Un){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,38);var jn=Gjt(YSt(t));qr=0===jn?i(t):1===jn?c(t):JSt(t)}}}}break;case 34:VSt(t,48);var Yn=wjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Yn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Vn=YSt(t);if(Vn)var Jn=Vn[1],qn=35>>0)qr=JSt(t);else switch(qn){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var Qn=yXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Qn){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,39);var ru=Gjt(YSt(t));qr=0===ru?i(t):1===ru?c(t):JSt(t)}break;default:VSt(t,48);var tu=qXt(YSt(t));if(2>>0)qr=JSt(t);else switch(tu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var eu=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(eu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var fu=oXt(YSt(t));if(2>>0)qr=JSt(t);else switch(fu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,40);var ou=Gjt(YSt(t));qr=0===ou?i(t):1===ou?c(t):JSt(t)}}}}}break;case 35:VSt(t,48);var su=YSt(t);if(su)var vu=su[1],pu=35>>0)qr=JSt(t);else switch(pu){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var Eu=YSt(t);if(Eu)var yu=Eu[1],Au=35>>0)qr=JSt(t);else switch(Au){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var _u=VXt(YSt(t));if(2<_u>>>0)qr=JSt(t);else switch(_u){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Bu=vHt(YSt(t));if(2>>0)qr=JSt(t);else switch(Bu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Iu=xXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Iu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,42);var Nu=Gjt(YSt(t));qr=0===Nu?i(t):1===Nu?c(t):JSt(t)}}}break;default:VSt(t,48);var Mu=vHt(YSt(t));if(2>>0)qr=JSt(t);else switch(Mu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var ju=zjt(YSt(t));if(2>>0)qr=JSt(t);else switch(ju){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Vu=xjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Vu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,43);var Ku=Gjt(YSt(t));qr=0===Ku?i(t):1===Ku?c(t):JSt(t)}}}}break;default:VSt(t,48);var Wu=$Xt(YSt(t));if(2>>0)qr=JSt(t);else switch(Wu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var qu=qXt(YSt(t));if(2>>0)qr=JSt(t);else switch(qu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var zu=fHt(YSt(t));if(2>>0)qr=JSt(t);else switch(zu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Qu=yXt(YSt(t));if(2>>0)qr=JSt(t);else switch(Qu){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,47);var Zu=Gjt(YSt(t));qr=0===Zu?i(t):1===Zu?c(t):JSt(t)}}}}}break;case 36:VSt(t,48);var aa=YSt(t);if(aa)var la=aa[1],pa=35>>0)qr=JSt(t);else switch(pa){case 0:qr=i(t);break;case 1:qr=c(t);break;case 2:VSt(t,48);var Ea=wjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ea){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var da=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(da){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,44);var ha=Gjt(YSt(t));qr=0===ha?i(t):1===ha?c(t):JSt(t)}}break;default:VSt(t,48);var _a=Rjt(YSt(t));if(2<_a>>>0)qr=JSt(t);else switch(_a){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Ca=gjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ca){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var wa=fHt(YSt(t));if(2>>0)qr=JSt(t);else switch(wa){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Sa=cHt(YSt(t));if(2>>0)qr=JSt(t);else switch(Sa){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,45);var Ba=Gjt(YSt(t));qr=0===Ba?i(t):1===Ba?c(t):JSt(t)}}}}}break;case 37:VSt(t,48);var Na=fHt(YSt(t));if(2>>0)qr=JSt(t);else switch(Na){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Ra=vHt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ra){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,48);var Ma=Tjt(YSt(t));if(2>>0)qr=JSt(t);else switch(Ma){case 0:qr=i(t);break;case 1:qr=c(t);break;default:VSt(t,46);var Xa=Gjt(YSt(t));qr=0===Xa?i(t):1===Xa?c(t):JSt(t)}}}break;case 38:VSt(t,52);var Va=YSt(t);if(Va)var Ja=Va[1],ai=Hp>>0)return P_t(uet);var li=qr;if(41<=li)switch(li){case 41:return[0,r,LC];case 42:return[0,r,42];case 43:return[0,r,AF];case 44:return[0,r,31];case 46:return[0,r,Se];case 47:return[0,r,Em];case 48:var Di=_Ht(r,t),pi=vgt(t),Ei=MHt(r,pi);return[0,Ei[1],[4,Di,Ei[2],pi]];case 49:return[0,r,66];case 52:return[0,r,0];case 53:return[0,r,1];case 54:return[0,r,2];case 55:return[0,r,3];case 56:return[0,r,4];case 57:return[0,r,5];case 58:return[0,r,12];case 59:return[0,r,10];case 60:return[0,r,8];case 61:return[0,r,9];case 63:return[0,r,80];case 67:return[0,r,95];case 68:return[0,r,96];case 71:return[0,r,ul];case 73:return[0,r,86];case 74:return[0,r,88];case 76:return[0,r,11];case 78:return[0,r,ku];case 79:return[0,r,Um];case 80:return[0,r[4]?SHt(r,_Ht(r,t),6):r,qt];case 81:return[0,r,[6,vgt(t)]];case 45:case 75:return[0,r,46];case 50:case 65:return[0,r,6];case 51:case 66:return[0,r,7];case 62:case 72:return[0,r,83];case 64:case 70:return[0,r,82];default:return[0,r,79]}switch(li){case 0:return[2,IHt(r,t)];case 1:return[2,r];case 2:var Fi=yHt(r,t),di=RCt(vA),mi=UHt(r,di,t),yi=mi[1];return[1,yi,NHt(yi,Fi,mi[2],di,1)];case 3:var Ai=vgt(t);if(r[5]){var wi=r[4]?gHt(r,_Ht(r,t),Ai):r,Ti=mjt(1,wi),Ni=QSt(t);return _I(sgt(t,Ni-1|0,1),aet)&&wI(sgt(t,Ni-2|0,1),iet)?[0,Ti,83]:[2,Ti]}var Pi=yHt(r,t),Gi=RCt(vA);jCt(Gi,Ai);var Xi=UHt(r,Gi,t),Ki=Xi[1];return[1,Ki,NHt(Ki,Pi,Xi[2],Gi,1)];case 4:return r[4]?[2,mjt(0,r)]:(WSt(t),KSt(t),0===(0===_Xt(YSt(t))?0:JSt(t))?[0,r,ul]:P_t(cet));case 5:var Ji=yHt(r,t),Wi=RCt(vA),qi=jHt(r,Wi,t),rc=qi[1];return[1,rc,NHt(rc,Ji,qi[2],Wi,0)];case 6:var tc=vgt(t),nc=yHt(r,t),ic=RCt(vA),fc=RCt(vA);jCt(fc,tc);var Dc=HHt(r,tc,ic,fc,0,t),Ec=Dc[1],mc=[0,Ec[1],nc,Dc[2]],hc=Dc[3],_c=MCt(fc);return[0,Ec,[2,[0,mc,MCt(ic),_c,hc]]];case 7:return GHt(r,t,(function(r,t){function e(r){if(0===sXt(YSt(r))){if(0===Qjt(YSt(r)))for(;;){var t=Vjt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Qjt(YSt(r)))for(;;){var e=Vjt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,LHt(0,vgt(t))]:P_t(net)}));case 8:return[0,r,LHt(0,vgt(t))];case 9:return GHt(r,t,(function(r,t){function e(r){if(0===sXt(YSt(r))){if(0===Qjt(YSt(r)))for(;;){VSt(r,0);var t=Yjt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Qjt(YSt(r)))for(;;){VSt(r,0);var e=Yjt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,xHt(0,vgt(t))]:P_t(eet)}));case 10:return[0,r,xHt(0,vgt(t))];case 11:return GHt(r,t,(function(r,t){function e(r){if(0===AXt(YSt(r))){if(0===pXt(YSt(r)))for(;;){var t=cXt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===pXt(YSt(r)))for(;;){var e=cXt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,LHt(1,vgt(t))]:P_t(tet)}));case 12:return[0,r,LHt(1,vgt(t))];case 13:return GHt(r,t,(function(r,t){function e(r){if(0===AXt(YSt(r))){if(0===pXt(YSt(r)))for(;;){VSt(r,0);var t=Zjt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===pXt(YSt(r)))for(;;){VSt(r,0);var e=Zjt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,xHt(3,vgt(t))]:P_t(ret)}));case 14:return[0,r,xHt(3,vgt(t))];case 15:return GHt(r,t,(function(r,t){function e(r){if(0===pXt(YSt(r)))for(;;)if(VSt(r,0),0!==pXt(YSt(r)))return JSt(r);return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,xHt(1,vgt(t))]:P_t(Ztt)}));case 16:return[0,r,xHt(1,vgt(t))];case 17:return GHt(r,t,(function(r,t){function e(r){if(0===Ljt(YSt(r))){if(0===Ijt(YSt(r)))for(;;){var t=Kjt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Ijt(YSt(r)))for(;;){var e=Kjt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,LHt(2,vgt(t))]:P_t(Qtt)}));case 19:return GHt(r,t,(function(r,t){function e(r){if(0===Ljt(YSt(r))){if(0===Ijt(YSt(r)))for(;;){VSt(r,0);var t=LXt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Ijt(YSt(r)))for(;;){VSt(r,0);var e=LXt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}return JSt(r)}return JSt(r)}KSt(t);var n=BXt(YSt(t));if(0===n)for(;;){var u=Xjt(YSt(t));if(0!==u){var a=1===u?e(t):JSt(t);break}}else a=1===n?e(t):JSt(t);return 0===a?[0,r,xHt(4,vgt(t))]:P_t(ztt)}));case 21:return GHt(r,t,(function(r,t){function e(r){for(;;){var t=Ojt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=Ojt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}}function n(r){for(;;){var t=iXt(YSt(r));if(0!==t)return 1===t?0:JSt(r)}}function u(r){var t=sHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:var u=rXt(YSt(r));return 0===u?n(r):1===u?e(r):JSt(r);case 1:return n(r);default:return e(r)}}function a(r){if(0===Bjt(YSt(r)))for(;;){var t=oHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return JSt(r)}function i(r){var t=wXt(YSt(r));if(0===t)for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var n=oHt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return 1===t?u(r):JSt(r)}function c(r){var t=Hjt(YSt(r));return 0===t?i(r):1===t?u(r):JSt(r)}function f(r){for(;;){var t=kXt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:return i(r);case 1:continue;default:return u(r)}}}KSt(t);var o=qjt(YSt(t));if(3>>0)var s=JSt(t);else switch(o){case 0:for(;;){var v=mXt(YSt(t));if(3>>0)s=JSt(t);else switch(v){case 0:continue;case 1:s=a(t);break;case 2:s=c(t);break;default:s=f(t)}break}break;case 1:s=a(t);break;case 2:s=c(t);break;default:s=f(t)}if(0===s){var l=vgt(t);return[0,SHt(r,_Ht(r,t),23),LHt(2,l)]}return P_t(qtt)}));case 22:var Cc=vgt(t);return[0,SHt(r,_Ht(r,t),23),LHt(2,Cc)];case 23:return GHt(r,t,(function(r,t){function e(r){for(;;){VSt(r,0);var t=JXt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,0);var e=JXt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}}function n(r){for(;;)if(VSt(r,0),0!==Bjt(YSt(r)))return JSt(r)}function u(r){var t=sHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:var u=rXt(YSt(r));return 0===u?n(r):1===u?e(r):JSt(r);case 1:return n(r);default:return e(r)}}function a(r){if(0===Bjt(YSt(r)))for(;;){var t=oHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return JSt(r)}function i(r){var t=wXt(YSt(r));if(0===t)for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var n=oHt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return 1===t?u(r):JSt(r)}function c(r){var t=Hjt(YSt(r));return 0===t?i(r):1===t?u(r):JSt(r)}function f(r){for(;;){var t=kXt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:return i(r);case 1:continue;default:return u(r)}}}KSt(t);var o=qjt(YSt(t));if(3>>0)var s=JSt(t);else switch(o){case 0:for(;;){var v=mXt(YSt(t));if(3>>0)s=JSt(t);else switch(v){case 0:continue;case 1:s=a(t);break;case 2:s=c(t);break;default:s=f(t)}break}break;case 1:s=a(t);break;case 2:s=c(t);break;default:s=f(t)}return 0===s?[0,r,xHt(4,vgt(t))]:P_t(Wtt)}));case 25:return GHt(r,t,(function(r,t){function e(r){for(;;){var t=Ojt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=Ojt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}}function n(r){return 0===Bjt(YSt(r))?e(r):JSt(r)}function u(r){var t=iXt(YSt(r));return 0===t?e(r):1===t?0:JSt(r)}function a(r){for(;;){var t=RXt(YSt(r));if(0===t)return u(r);if(1!==t)return JSt(r)}}function i(r){for(;;){var t=DHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:return u(r);case 1:continue;default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=DHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:return u(r);case 1:continue;default:continue r}}return JSt(r)}}}}KSt(t);var c=qjt(YSt(t));if(3>>0)var f=JSt(t);else switch(c){case 0:for(;;){var o=mXt(YSt(t));if(3>>0)f=JSt(t);else switch(o){case 0:continue;case 1:f=n(t);break;case 2:f=a(t);break;default:f=i(t)}break}break;case 1:f=n(t);break;case 2:f=a(t);break;default:f=i(t)}if(0===f){var s=vgt(t);return[0,SHt(r,_Ht(r,t),22),LHt(2,s)]}return P_t(Jtt)}));case 26:return GHt(r,t,(function(r,t){function e(r){for(;;){var t=iXt(YSt(r));if(0!==t)return 1===t?0:JSt(r)}}function n(r){for(;;){var t=Ojt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=Ojt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}}KSt(t);var u=YSt(t);if(u)var a=u[1],i=44>>0)var c=JSt(t);else switch(i){case 0:for(;;){var f=ZXt(YSt(t));if(2>>0)c=JSt(t);else switch(f){case 0:continue;case 1:c=e(t);break;default:c=n(t)}break}break;case 1:c=e(t);break;default:c=n(t)}return 0===c?[0,r,LHt(2,vgt(t))]:P_t(Ktt)}));case 27:var wc=vgt(t);return[0,SHt(r,_Ht(r,t),22),LHt(2,wc)];case 29:return GHt(r,t,(function(r,t){function e(r){for(;;){VSt(r,0);var t=JXt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,0);var e=JXt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}}function n(r){return VSt(r,0),0===Bjt(YSt(r))?e(r):JSt(r)}KSt(t);var u=qjt(YSt(t));if(3>>0)var a=JSt(t);else switch(u){case 0:for(;;){var i=ZXt(YSt(t));if(2>>0)a=JSt(t);else switch(i){case 0:continue;case 1:for(;;){VSt(t,0);var c=RXt(YSt(t));if(0===c)a=0;else{if(1===c)continue;a=JSt(t)}break}break;default:for(;;){VSt(t,0);var f=DHt(YSt(t));if(2>>0)a=JSt(t);else switch(f){case 0:a=0;break;case 1:continue;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){VSt(t,0);var o=DHt(YSt(t));if(2>>0)var s=JSt(t);else switch(o){case 0:s=0;break;case 1:continue;default:continue r}break}else s=JSt(t);a=s;break}}break}}break}break;case 1:a=0===Bjt(YSt(t))?e(t):JSt(t);break;case 2:for(;;){VSt(t,0);var v=RXt(YSt(t));if(0===v)a=n(t);else{if(1===v)continue;a=JSt(t)}break}break;default:for(;;){VSt(t,0);var l=DHt(YSt(t));if(2>>0)a=JSt(t);else switch(l){case 0:a=n(t);break;case 1:continue;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){VSt(t,0);var D=DHt(YSt(t));if(2>>0)var p=JSt(t);else switch(D){case 0:p=n(t);break;case 1:continue;default:continue r}break}else p=JSt(t);a=p;break}}break}}return 0===a?[0,r,xHt(4,vgt(t))]:P_t(Vtt)}));case 31:return[0,r,Vr];case 32:return[0,r,fet];case 33:return[0,r,oet];case 34:return[0,r,iu];case 35:return[0,r,41];case 36:return[0,r,30];case 37:return[0,r,53];case 38:return[0,r,It];case 39:return[0,r,29];case 40:return[0,r,ki];case 18:case 28:return[0,r,LHt(2,vgt(t))];default:return[0,r,xHt(4,vgt(t))]}})),zHt=VHt((function(r,t){function e(r,t){for(;;){VSt(t,87);var e=Gjt(YSt(t));if(0!==e)return 1===e?r<50?a(r+1|0,t):BI(a,[0,t]):JSt(t)}}function a(r,t){if(0===bHt(YSt(t))){var n=GXt(YSt(t));if(0===n)return 0===Ijt(YSt(t))&&0===Ijt(YSt(t))&&0===Ijt(YSt(t))?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t);if(1===n){if(0===Ijt(YSt(t)))for(;;){var u=Ujt(YSt(t));if(0!==u)return 1===u?r<50?e(r+1|0,t):BI(e,[0,t]):JSt(t)}return JSt(t)}return JSt(t)}return JSt(t)}function i(r){return gI(e(0,r))}function c(r){return gI(a(0,r))}function f(r){for(;;)if(VSt(r,34),0!==mHt(YSt(r)))return JSt(r)}function v(r){for(;;)if(VSt(r,28),0!==mHt(YSt(r)))return JSt(r)}function F(r){VSt(r,27);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,26),0!==mHt(YSt(r)))return JSt(r);return 1===t?v(r):JSt(r)}function y(r){for(;;)if(VSt(r,28),0!==mHt(YSt(r)))return JSt(r)}function _(r){VSt(r,27);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,26),0!==mHt(YSt(r)))return JSt(r);return 1===t?y(r):JSt(r)}function g(r){r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,29);var t=YXt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return y(r);case 1:continue;case 2:continue r;default:return _(r)}}return JSt(r)}}function I(r){VSt(r,34);var t=rHt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return f(r);case 1:var e=rXt(YSt(r));if(0===e)for(;;){VSt(r,29);var n=jjt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:return y(r);case 1:continue;default:return _(r)}}if(1===e)for(;;){VSt(r,29);var u=YXt(YSt(r));if(3>>0)return JSt(r);switch(u){case 0:return y(r);case 1:continue;case 2:return g(r);default:return _(r)}}return JSt(r);case 2:for(;;){VSt(r,29);var a=jjt(YSt(r));if(2>>0)return JSt(r);switch(a){case 0:return v(r);case 1:continue;default:return F(r)}}default:for(;;){VSt(r,29);var i=YXt(YSt(r));if(3>>0)return JSt(r);switch(i){case 0:return v(r);case 1:continue;case 2:return g(r);default:return F(r)}}}}function N(r){VSt(r,32);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,30),0!==mHt(YSt(r)))return JSt(r);return 1===t?f(r):JSt(r)}function L(r){return VSt(r,4),0===dHt(YSt(r))?4:JSt(r)}function P(r){return 0===OXt(YSt(r))&&0===EXt(YSt(r))&&0===uHt(YSt(r))&&0===TXt(YSt(r))&&0===IXt(YSt(r))&&0===bXt(YSt(r))&&0===FXt(YSt(r))&&0===OXt(YSt(r))&&0===bHt(YSt(r))&&0===NXt(YSt(r))&&0===QXt(YSt(r))?4:JSt(r)}function M(r){VSt(r,35);var t=CXt(YSt(r));if(3>>0)return JSt(r);switch(t){case 0:return f(r);case 1:for(;;){VSt(r,35);var e=SXt(YSt(r));if(4>>0)return JSt(r);switch(e){case 0:return f(r);case 1:continue;case 2:return I(r);case 3:r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,35);var n=SXt(YSt(r));if(4>>0)return JSt(r);switch(n){case 0:return f(r);case 1:continue;case 2:return I(r);case 3:continue r;default:return N(r)}}return JSt(r)}default:return N(r)}}case 2:return I(r);default:return N(r)}}function U(r){for(;;)if(VSt(r,20),0!==mHt(YSt(r)))return JSt(r)}function H(r){VSt(r,35);var t=jjt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:return f(r);case 1:for(;;){VSt(r,35);var e=YXt(YSt(r));if(3>>0)return JSt(r);switch(e){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,35);var n=YXt(YSt(r));if(3>>0)return JSt(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return N(r)}}return JSt(r)}default:return N(r)}}default:return N(r)}}function K(r){for(;;)if(VSt(r,18),0!==mHt(YSt(r)))return JSt(r)}function rr(r){for(;;)if(VSt(r,18),0!==mHt(YSt(r)))return JSt(r)}function er(r){for(;;)if(VSt(r,12),0!==mHt(YSt(r)))return JSt(r)}function ur(r){for(;;)if(VSt(r,12),0!==mHt(YSt(r)))return JSt(r)}function ar(r){for(;;)if(VSt(r,16),0!==mHt(YSt(r)))return JSt(r)}function fr(r){for(;;)if(VSt(r,16),0!==mHt(YSt(r)))return JSt(r)}function sr(r){for(;;)if(VSt(r,24),0!==mHt(YSt(r)))return JSt(r)}function vr(r){for(;;)if(VSt(r,24),0!==mHt(YSt(r)))return JSt(r)}function lr(r){VSt(r,33);var t=vXt(YSt(r));if(0===t)for(;;)if(VSt(r,31),0!==mHt(YSt(r)))return JSt(r);return 1===t?f(r):JSt(r)}function br(r){r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,35);var t=WXt(YSt(r));if(4>>0)return JSt(r);switch(t){case 0:return f(r);case 1:return H(r);case 2:continue;case 3:continue r;default:return lr(r)}}return JSt(r)}}KSt(t);var _r=YSt(t);if(_r)var Br=_r[1],Nr=tr>>0)var Lr=JSt(t);else switch(Nr){case 0:Lr=146;break;case 1:Lr=147;break;case 2:if(VSt(t,2),0===Sjt(YSt(t))){for(;;)if(VSt(t,2),0!==Sjt(YSt(t))){Lr=JSt(t);break}}else Lr=JSt(t);break;case 3:Lr=0;break;case 4:VSt(t,0);Lr=0===jXt(YSt(t))?0:JSt(t);break;case 5:VSt(t,138);Lr=0===nXt(YSt(t))?(VSt(t,Vr),0===nXt(YSt(t))?Yu:JSt(t)):JSt(t);break;case 6:Lr=8;break;case 7:VSt(t,145);var Rr=YSt(t);if(Rr)var Mr=Rr[1],jr=32>>0)Lr=JSt(t);else switch(et){case 0:VSt(t,133);Lr=0===nXt(YSt(t))?Hp:JSt(t);break;case 1:Lr=5;break;default:Lr=S}break;case 14:VSt(t,130);var nt=YSt(t);if(nt)var ut=nt[1],at=42>>0)Lr=JSt(t);else switch(Dt){case 0:Lr=f(t);break;case 1:continue;case 2:Lr=I(t);break;case 3:r:for(;;){if(0===Bjt(YSt(t)))for(;;){VSt(t,35);var bt=SXt(YSt(t));if(4>>0)var Et=JSt(t);else switch(bt){case 0:Et=f(t);break;case 1:continue;case 2:Et=I(t);break;case 3:continue r;default:Et=N(t)}break}else Et=JSt(t);Lr=Et;break}break;default:Lr=N(t)}break}else Lr=JSt(t);break;case 18:VSt(t,143);var Ft=gXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ft){case 0:VSt(t,3);var mt=Wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(mt){case 0:for(;;){var kt=Wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(kt){case 0:continue;case 1:Lr=L(t);break;default:Lr=P(t)}break}break;case 1:Lr=L(t);break;default:Lr=P(t)}break;case 1:Lr=6;break;default:Lr=142}break;case 19:VSt(t,35);var At=UXt(YSt(t));if(8>>0)Lr=JSt(t);else switch(At){case 0:Lr=f(t);break;case 1:Lr=M(t);break;case 2:for(;;){VSt(t,21);var Tt=nHt(YSt(t));if(4>>0)Lr=JSt(t);else switch(Tt){case 0:Lr=U(t);break;case 1:Lr=H(t);break;case 2:continue;case 3:for(;;){VSt(t,19);var Nt=Jjt(YSt(t));if(3>>0)Lr=JSt(t);else switch(Nt){case 0:Lr=K(t);break;case 1:Lr=H(t);break;case 2:continue;default:VSt(t,18);var xt=vXt(YSt(t));if(0===xt){for(;;)if(VSt(t,18),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===xt?K(t):JSt(t)}break}break;default:VSt(t,20);var Gt=vXt(YSt(t));if(0===Gt){for(;;)if(VSt(t,20),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===Gt?U(t):JSt(t)}break}break;case 3:for(;;){VSt(t,19);var Xt=Jjt(YSt(t));if(3>>0)Lr=JSt(t);else switch(Xt){case 0:Lr=rr(t);break;case 1:Lr=H(t);break;case 2:continue;default:VSt(t,18);var $t=vXt(YSt(t));if(0===$t){for(;;)if(VSt(t,18),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===$t?rr(t):JSt(t)}break}break;case 4:VSt(t,34);var Yt=MXt(YSt(t));if(0===Yt)Lr=f(t);else if(1===Yt)for(;;){VSt(t,13);var Vt=eHt(YSt(t));if(3>>0)Lr=JSt(t);else switch(Vt){case 0:Lr=er(t);break;case 1:continue;case 2:r:for(;;){if(0===Qjt(YSt(t)))for(;;){VSt(t,13);var re=eHt(YSt(t));if(3>>0)var te=JSt(t);else switch(re){case 0:te=ur(t);break;case 1:continue;case 2:continue r;default:VSt(t,11);var ue=vXt(YSt(t));if(0===ue){for(;;)if(VSt(t,10),0!==mHt(YSt(t))){te=JSt(t);break}}else te=1===ue?ur(t):JSt(t)}break}else te=JSt(t);Lr=te;break}break;default:VSt(t,11);var fe=vXt(YSt(t));if(0===fe){for(;;)if(VSt(t,10),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===fe?er(t):JSt(t)}break}else Lr=JSt(t);break;case 5:Lr=I(t);break;case 6:VSt(t,34);var oe=XXt(YSt(t));if(0===oe)Lr=f(t);else if(1===oe)for(;;){VSt(t,17);var le=KXt(YSt(t));if(3>>0)Lr=JSt(t);else switch(le){case 0:Lr=ar(t);break;case 1:continue;case 2:r:for(;;){if(0===pXt(YSt(t)))for(;;){VSt(t,17);var De=KXt(YSt(t));if(3>>0)var pe=JSt(t);else switch(De){case 0:pe=fr(t);break;case 1:continue;case 2:continue r;default:VSt(t,15);var de=vXt(YSt(t));if(0===de){for(;;)if(VSt(t,14),0!==mHt(YSt(t))){pe=JSt(t);break}}else pe=1===de?fr(t):JSt(t)}break}else pe=JSt(t);Lr=pe;break}break;default:VSt(t,15);var me=vXt(YSt(t));if(0===me){for(;;)if(VSt(t,14),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===me?ar(t):JSt(t)}break}else Lr=JSt(t);break;case 7:VSt(t,34);var he=Mjt(YSt(t));if(0===he)Lr=f(t);else if(1===he)for(;;){VSt(t,25);var ye=aHt(YSt(t));if(3>>0)Lr=JSt(t);else switch(ye){case 0:Lr=sr(t);break;case 1:continue;case 2:r:for(;;){if(0===Ijt(YSt(t)))for(;;){VSt(t,25);var Ae=aHt(YSt(t));if(3>>0)var Ie=JSt(t);else switch(Ae){case 0:Ie=vr(t);break;case 1:continue;case 2:continue r;default:VSt(t,23);var xe=vXt(YSt(t));if(0===xe){for(;;)if(VSt(t,22),0!==mHt(YSt(t))){Ie=JSt(t);break}}else Ie=1===xe?vr(t):JSt(t)}break}else Ie=JSt(t);Lr=Ie;break}break;default:VSt(t,23);var Le=vXt(YSt(t));if(0===Le){for(;;)if(VSt(t,22),0!==mHt(YSt(t))){Lr=JSt(t);break}}else Lr=1===Le?sr(t):JSt(t)}break}else Lr=JSt(t);break;default:Lr=lr(t)}break;case 20:VSt(t,35);var Re=tXt(YSt(t));if(5>>0)Lr=JSt(t);else switch(Re){case 0:Lr=f(t);break;case 1:Lr=M(t);break;case 2:for(;;){VSt(t,35);var Ge=tXt(YSt(t));if(5>>0)Lr=JSt(t);else switch(Ge){case 0:Lr=f(t);break;case 1:Lr=M(t);break;case 2:continue;case 3:Lr=I(t);break;case 4:Lr=br(t);break;default:Lr=lr(t)}break}break;case 3:Lr=I(t);break;case 4:Lr=br(t);break;default:Lr=lr(t)}break;case 21:Lr=99;break;case 22:Lr=97;break;case 23:VSt(t,B);var Ue=YSt(t);if(Ue)var He=Ue[1],$e=59>>0)Lr=JSt(t);else switch(Un){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var jn=hXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(jn){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Yn=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Yn){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Vn=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Vn){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,36);var Jn=Gjt(YSt(t));Lr=0===Jn?i(t):1===Jn?c(t):JSt(t)}}}break;default:VSt(t,87);var qn=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(qn){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Qn=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Qn){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ru=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ru){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,37);var tu=Gjt(YSt(t));Lr=0===tu?i(t):1===tu?c(t):JSt(t)}}}}break;case 34:VSt(t,87);var eu=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(eu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var fu=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(fu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ou=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ou){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var su=_jt(YSt(t));if(2>>0)Lr=JSt(t);else switch(su){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,38);var vu=Gjt(YSt(t));Lr=0===vu?i(t):1===vu?c(t):JSt(t)}}}}break;case 35:VSt(t,87);var pu=YSt(t);if(pu)var Eu=pu[1],yu=35>>0)Lr=JSt(t);else switch(yu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var Au=zXt(YSt(t));if(3>>0)Lr=JSt(t);else switch(Au){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var _u=gjt(YSt(t));if(2<_u>>>0)Lr=JSt(t);else switch(_u){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,39);var Bu=Gjt(YSt(t));Lr=0===Bu?i(t):1===Bu?c(t):JSt(t)}break;default:VSt(t,87);var Iu=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Iu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Nu=pHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Nu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,40);var Mu=Gjt(YSt(t));Lr=0===Mu?i(t):1===Mu?c(t):JSt(t)}}}break;case 3:VSt(t,87);var ju=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ju){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Vu=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Vu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ku=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ku){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,41);var Wu=Gjt(YSt(t));Lr=0===Wu?i(t):1===Wu?c(t):JSt(t)}}}break;default:VSt(t,87);var qu=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(qu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var zu=zXt(YSt(t));if(3>>0)Lr=JSt(t);else switch(zu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var Qu=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Qu){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,42);var Zu=Gjt(YSt(t));Lr=0===Zu?i(t):1===Zu?c(t):JSt(t)}break;default:VSt(t,87);var aa=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(aa){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var la=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(la){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var pa=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pa){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ea=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ea){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,43);var da=Gjt(YSt(t));Lr=0===da?i(t):1===da?c(t):JSt(t)}}}}}}}break;case 36:VSt(t,87);var ha=YSt(t);if(ha)var _a=ha[1],Ca=35<_a?dv<_a?Ut<_a?lc<_a?-1:je<_a?yo<_a?I_<_a?sC<_a?hv<_a?Jd<_a?Vl<_a?Vb<_a?td<_a?0:-1:we<_a?Es<_a?0:-1:0:-1:Qf<_a?Ac<_a?TA<_a?Nl<_a?0:-1:0:-1:Hu<_a?ek<_a?0:-1:0:-1:Wc<_a?_t<_a?Po<_a?Iy<_a?sd<_a?ED<_a?gF<_a?rh<_a?bS<_a?np<_a?0:-1:0:-1:pv<_a?Ot<_a?0:-1:0:-1:sA<_a?Qm<_a?vi<_a?Lo<_a?0:-1:0:-1:Sf<_a?ID<_a?0:-1:0:-1:ty<_a?Ye<_a?cw<_a?MC<_a?Xc<_a?EE<_a?0:-1:0:-1:hi<_a?Yg<_a?0:-1:0:-1:St<_a?Xv<_a?AC<_a?G<_a?0:-1:0:-1:k<_a?hC<_a?0:-1:0:-1:cd<_a?mD<_a?Jb<_a?cu<_a?fk<_a?zA<_a?go<_a?Km<_a?0:-1:0:-1:hn<_a?Be<_a?0:-1:0:-1:fv<_a?kC<_a?jo<_a?dc<_a?0:-1:0:-1:Vh<_a?fE<_a?0:-1:0:-1:sc<_a?Wf<_a?um<_a?qc<_a?CA<_a?uf<_a?0:-1:0:-1:fw<_a?eA<_a?0:-1:0:-1:fm<_a?Gb<_a?Wo<_a?qb<_a?0:-1:0:-1:tF<_a?Qh<_a?0:-1:0:-1:Io<_a?af<_a?Bh<_a?Da<_a?Ta<_a?We<_a?Mn<_a?OE<_a?Dg<_a?iA<_a?KA<_a?hy<_a?0:-1:0:-1:0:Ka<_a?zb<_a?fF<_a?ft<_a?0:-1:0:-1:Yi<_a?gf<_a?0:-1:0:Uy<_a?Pd<_a?Qg<_a?zt<_a?0:-1:ml<_a?wC<_a?0:-1:0:-1:nB<_a?Lh<_a?0:-1:TS<_a?vB<_a?0:-1:0:-1:Us<_a?tv<_a?ni<_a?TD<_a?sB<_a?rg<_a?Ov<_a?Lb<_a?0:-1:0:-1:kp<_a?Oo<_a?0:-1:0:-1:mo<_a?nb<_a?Ed<_a?d<_a?0:-1:0:-1:iw<_a?yf<_a?0:-1:0:-1:kv<_a?RF<_a?_D<_a?ce<_a?Wl<_a?JS<_a?0:-1:0:-1:KD<_a?CD<_a?0:-1:0:-1:wt<_a?Z<_a?il<_a?cA<_a?0:-1:0:-1:JE<_a?HA<_a?0:-1:0:-1:Sl<_a?tm<_a?eh<_a?En<_a?Gv<_a?Rh<_a?Bt<_a?Gu<_a?Yk<_a?Xb<_a?0:-1:0:-1:iE<_a?qy<_a?0:-1:0:-1:nA<_a?Or<_a?Qt<_a?gn<_a?0:-1:0:-1:EA<_a?H_<_a?0:-1:0:-1:Oi<_a?lB<_a?lp<_a?zk<_a?a_<_a?bu<_a?0:-1:0:-1:R<_a?dm<_a?0:-1:0:-1:Bb<_a?Ya<_a?od<_a?S_<_a?0:-1:0:-1:Uc<_a?xn<_a?0:-1:0:-1:$r<_a?o_<_a?fy<_a?fD<_a?Pe<_a?Rf<_a?Dr<_a?vC<_a?0:-1:0:-1:Ik<_a?wS<_a?0:-1:0:-1:bc<_a?Op<_a?OF<_a?Ab<_a?0:-1:0:-1:ud<_a?uh<_a?0:-1:0:-1:$f<_a?W_<_a?Uk<_a?Oh<_a?uc<_a?Jr<_a?0:-1:0:-1:ia<_a?EC<_a?0:-1:0:-1:HD<_a?Go<_a?Zt<_a?DB<_a?0:-1:0:-1:0:-1:pk<_a?$<_a?SE<_a?Ur<_a?aS<_a?Ii<_a?au<_a?Yh<_a?yC<_a?Im<_a?Ou<_a?0:-1:0:-1:cC<_a?oc<_a?0:-1:0:-1:Og<_a?Uu<_a?Pb<_a?Eh<_a?0:-1:0:-1:Cw<_a?b<_a?0:-1:0:-1:sk<_a?fA<_a?OC<_a?Cd<_a?iD<_a?ZA<_a?0:-1:0:-1:OA<_a?fC<_a?0:-1:0:-1:Fn<_a?Fk<_a?Np<_a?0:-1:0:lu<_a?xu<_a?0:-1:0:ns<_a?_b<_a?C<_a?Vs<_a?Bd<_a?xy<_a?0:-1:GC<_a?oS<_a?0:-1:0:-1:Cu<_a?ab<_a?sh<_a?co<_a?0:-1:0:-1:Hw<_a?pc<_a?0:-1:0:-1:wl<_a?Mi<_a?mE<_a?Za<_a?0:-1:Bn<_a?$C<_a?0:-1:0:-1:of<_a?Yd<_a?jS<_a?Ay<_a?0:-1:0:-1:Cs<_a?dF<_a?0:-1:0:-1:ff<_a?BF<_a?Ao<_a?bf<_a?xw<_a?YC<_a?mm<_a?no<_a?_F<_a?Bk<_a?0:-1:0:-1:wh<_a?up<_a?0:-1:0:-1:Sg<_a?0:sD<_a?Hk<_a?0:-1:0:-1:Nh<_a?0:vD<_a?ef<_a?sf<_a?pm<_a?0:-1:0:-1:0:-1:ww<_a?lD<_a?Yy<_a?FS<_a?wy<_a?_k<_a?z_<_a?0:-1:0:-1:om<_a?Qk<_a?0:-1:0:Sy<_a?xc<_a?0:-1:Od<_a?eb<_a?0:-1:0:-1:ie<_a?Bf<_a?_d<_a?rt<_a?0:-1:Aa<_a?Vm<_a?0:-1:0:-1:0:VE<_a?JA<_a?Cn<_a?Tr<_a?ws<_a?WE<_a?Oy<_a?bm<_a?dS<_a?ch<_a?VC<_a?TF<_a?0:-1:Ga<_a?_n<_a?0:-1:0:-1:w<_a&&fg<_a?ea<_a?0:-1:0:Kw<_a?Kh<_a?Du<_a&&tE<_a?Gr<_a?0:-1:0:-1:dn<_a?ph<_a?xp<_a?OD<_a?0:-1:0:-1:Sp<_a?Ck<_a?0:-1:0:_g<_a?WA<_a?L_<_a||db<_a?0:Nk<_a?hw<_a?0:-1:0:-1:ho<_a||Yv<_a?0:cE<_a?wn<_a?0:-1:0:Wk<_a?Jh<_a?jc<_a?EF<_a?Ts<_a&&Pl<_a?ag<_a?0:-1:0:be<_a&&oD<_a?Wv<_a?0:-1:0:-1:vw<_a?Fe<_a?uk<_a?ov<_a?Mf<_a?wA<_a?0:-1:0:-1:0:-1:0:l<_a?fS<_a?yh<_a?hk<_a?nf<_a?Lu<_a?Tp<_a?0:-1:0:-1:0:Wd<_a?0:Ag<_a?Ql<_a?0:-1:0:-1:by<_a&&py<_a&&NF<_a?ME<_a?0:-1:0:f_<_a?Fh<_a?ze<_a?$w<_a?jk<_a?Lt<_a?NC<_a?sl<_a?0:-1:Mc<_a?JD<_a?0:-1:0:-1:0:bn<_a?$E<_a?0:wv<_a?Yw<_a?0:-1:0:R_<_a&&Ha<_a?j_<_a?0:-1:0:zD<_a?T<_a?Y<_a?zF<_a&&Gy<_a?yE<_a?0:-1:0:-1:_i<_a?$k<_a?hS<_a?rC<_a?0:-1:0:-1:0:0:-1:iC<_a?Eg<_a?lC<_a?dD<_a?Jv<_a?B_<_a?0:-1:YF<_a?ls<_a?0:-1:0:0:FF<_a?kS<_a?iS<_a?0:Ze<_a?Jp<_a?0:-1:0:-1:RE<_a?se<_a?Jc<_a?0:-1:0:Os<_a?Xu<_a?0:-1:0:-1:nv<_a?qC<_a?Wp<_a?xb<_a?Ru<_a?zc<_a?Rd<_a?0:-1:0:-1:Vo<_a?wf<_a?0:-1:0:0:-1:tt<_a?vf<_a?iv<_a?mf<_a?Mh<_a?Dn<_a?0:-1:0:-1:Sw<_a?wb<_a?0:-1:0:-1:nD<_a?uy<_a?ot<_a?x<_a?0:-1:0:-1:0:-1:lF<_a?Qi<_a?vs<_a?NS<_a?Ns<_a?Fg<_a?yS<_a?ji<_a&&xm<_a?Ey<_a?0:-1:0:Ll<_a?Af<_a?$s<_a?Fw<_a?0:-1:0:-1:nl<_a?gs<_a?0:-1:0:-1:zE<_a?Ty<_a?Ds<_a?Wh<_a?CF<_a?0:-1:0:-1:Kd<_a?vl<_a?0:-1:0:0:ow<_a?Wg<_a?Co<_a?Yo<_a?Ls<_a?0:-1:hb<_a?ct<_a?0:-1:0:-1:La<_a?QA<_a?0:-1:Zi<_a?jF<_a?0:-1:0:Dl<_a?0:zC<_a?vg<_a?0:-1:YA<_a?PF<_a?0:-1:0:jf<_a?ih<_a?vm<_a?Rn<_a?Ar<_a?ra<_a?cv<_a?0:-1:0:DS<_a?Kt<_a?0:-1:0:-1:0:jt<_a?xo<_a?m<_a?bk<_a?rd<_a?0:-1:0:-1:Pv<_a?gd<_a?0:-1:0:0:uB<_a?xS<_a?ug<_a?Dp<_a?Ee<_a?0:-1:yy<_a?j<_a?0:-1:0:0:-1:Vy<_a?em<_a?_y<_a?eF<_a?Do<_a?0:-1:0:PD<_a?yD<_a?0:-1:0:-1:Zb<_a?yA<_a?Fa<_a?jl<_a?0:-1:0:-1:0:-1:Er<_a?Kf<_a?VA<_a?Fr<_a?Zf<_a?kc<_a?Zg<_a?ka<_a?DC<_a?Fd<_a?yd<_a?0:-1:0:-1:ad<_a?Tv<_a?0:-1:0:-1:oy<_a?QF<_a?XF<_a?zp<_a?0:-1:0:-1:gt<_a?og<_a?0:-1:0:zr<_a?N_<_a?Ug<_a?cD<_a?ND<_a?rS<_a?0:-1:0:-1:Jt<_a?qS<_a?0:-1:0:-1:hg<_a?ck<_a?hs<_a?xF<_a?0:-1:0:-1:Df<_a?YD<_a?0:-1:0:-1:Gf<_a?nr<_a?A<_a?i_<_a?o<_a?0:-1:hm<_a?ta<_a?0:-1:0:du<_a?_p<_a?Sc<_a?ri<_a?0:-1:0:-1:iy<_a?bi<_a?0:-1:0:-1:Rs<_a?Xe<_a?Vv<_a?uD<_a?nn<_a?Li<_a?0:-1:0:-1:bA<_a?oF<_a?0:-1:0:-1:FC<_a?ro<_a?Py<_a?KE<_a?0:-1:0:-1:Zn<_a?Fy<_a?0:-1:0:-1:dw<_a?kk<_a?lw<_a?op<_a?Xk<_a?Bg<_a?on<_a?E<_a?qg<_a?qa<_a?0:-1:0:-1:Ju<_a?BD<_a?0:-1:0:-1:Ct<_a?Qd<_a?Tc<_a?hr<_a?0:-1:0:-1:DA<_a?rp<_a?0:-1:0:-1:sy<_a?yr<_a?Cr<_a?Ms<_a?Ig<_a?0:-1:0:-1:Ib<_a?UC<_a?0:-1:0:qv<_a?Ek<_a?Oe<_a?Lc<_a?0:-1:0:-1:Zc<_a?_h<_a?0:-1:0:-1:Ky<_a?fa<_a?ap<_a?BC<_a?dg<_a?LA<_a?0:-1:0:Wt<_a?DF<_a?0:-1:0:HF<_a?0:yk<_a?ig<_a?0:-1:0:-1:Sn<_a?zS<_a?dr<_a?nu<_a?lm<_a?ja<_a?0:-1:0:-1:Qc<_a?US<_a?0:-1:0:-1:Om<_a?$D<_a?ca<_a?Me<_a?0:-1:0:-1:Wr<_a?as<_a?0:-1:0:-1:xr<_a?_e<_a?IF<_a?rs<_a?s<_a?tB<_a?sv<_a?mr<_a?Qp<_a?pt<_a?Ul<_a?oo<_a?UD<_a?d_<_a?ga<_a?0:-1:0:-1:$m<_a?GS<_a?0:-1:0:-1:Hl<_a?iF<_a?Lf<_a?Tf<_a?0:-1:0:-1:hl<_a?fi<_a?0:-1:0:-1:Mp<_a?0:dt<_a?Hi<_a?Cy<_a?As<_a?0:-1:0:-1:wF<_a?nF<_a?0:-1:0:-1:oa<_a?bw<_a?oE<_a?Z_<_a?$y<_a?Lp<_a?AS<_a?ma<_a?0:-1:0:-1:$b<_a?fs<_a?0:-1:0:-1:BA<_a?xl<_a?mv<_a?Pc<_a?0:-1:0:-1:IE<_a?pB<_a?0:-1:0:-1:ya<_a?uv<_a?Mv<_a?Xw<_a?gy<_a?Ip<_a?0:-1:0:-1:Qw<_a?Xy<_a?0:-1:0:-1:$_<_a?Xn<_a?Tm<_a?vh<_a?0:-1:0:-1:Je<_a?Gh<_a?0:-1:0:-1:po<_a?ql<_a?Bo<_a?en<_a?UA<_a?Ny<_a&&gp<_a?lg<_a?0:-1:0:-1:gr<_a?sa<_a?QE<_a?Gc<_a?0:-1:0:-1:yc<_a?NE<_a?0:-1:0:-1:Kv<_a?ib<_a?Hg<_a?Qr<_a?im<_a?Cf<_a?0:-1:0:-1:bv<_a?za<_a?0:-1:0:-1:Gp<_a?dl<_a?0:-1:0:fh<_a?mh<_a?$h<_a?0:LD<_a?rB<_a?gS<_a?0:-1:0:Ry<_a?O<_a?0:-1:0:-1:Tw<_a?cc<_a?mu<_a?qm<_a?ua<_a?jA<_a?0:-1:0:-1:tg<_a?eo<_a?0:-1:0:-1:Nm<_a&&Su<_a?Vk<_a?0:-1:0:P_<_a?Pu<_a?Qy<_a?ge<_a?QS<_a&&pw<_a?Ht<_a?0:-1:0:X_<_a?Pa<_a?vc<_a?0:-1:0:aC<_a?zm<_a?0:-1:0:0:Wy<_a?zn<_a?0:oh<_a?fB<_a?0:-1:0:Ce<_a?p<_a?ah<_a?rm<_a?Ve<_a?0:-1:0:-1:0:pb<_a?0:RC<_a?ac<_a?0:-1:0:Qa<_a?Gd<_a?bo<_a?0:Kk<_a&&Xl<_a?aA<_a?0:-1:0:To<_a?ZC<_a?0:fp<_a?kn<_a?0:-1:0:ui<_a&&pC<_a?ir<_a?0:-1:0:ew<_a?yt<_a?0:cg<_a?Cb<_a?0:-1:mg<_a?Hh<_a?0:-1:0:bC<_a?kd<_a?pr<_a?0:-1:0:ve<_a?0:Bp<_a?ao<_a?0:-1:0:-1:q<_a?yv<_a?xa<_a?ke<_a?Vc<_a?Pp<_a?CS<_a?Dy<_a?nw<_a?0:-1:J<_a?lb<_a?0:-1:0:Rm<_a?0:Md<_a?vv<_a?0:-1:0:-1:0:jD<_a?Zo<_a?0:wm<_a?ti<_a?Vi<_a?HS<_a?0:-1:0:-1:0:Ne<_a?xC<_a&&Up<_a?wu<_a?0:-1:0:yF<_a?NA<_a?gu<_a?KF<_a?0:-1:0:-1:0:gE<_a?GF<_a?Nd<_a?wr<_a?0:Kb<_a?Yb<_a?Fc<_a?dh<_a?0:-1:0:-1:0:Wn<_a?Vw<_a?Nc<_a&&T_<_a?Jl<_a?0:-1:0:-1:Ci<_a?Kn<_a?0:-1:0:-1:Xd<_a?Ro<_a?lA<_a?qD<_a?Tg<_a?0:Ub<_a?Xs<_a?0:-1:0:-1:$p<_a?W<_a?Ml<_a?wo<_a?0:-1:0:-1:ES<_a?Hn<_a?0:-1:0:-1:Bs<_a?bd<_a?$i<_a?jh<_a?ht<_a?0:-1:0:u<_a?hu<_a?0:-1:0:-1:0:-1:nE<_a?D<_a?SD<_a?LF<_a?Sv<_a?Ua<_a?qF<_a?h<_a&&zi<_a?z<_a?0:-1:0:-1:GD<_a&&Hd<_a?Id<_a?0:-1:0:-1:ee<_a?Wa<_a?qw<_a?0:Rc<_a?sS<_a?0:-1:0:-1:ed<_a?Rv<_a?aD<_a?c_<_a?0:-1:0:-1:Pk<_a?mw<_a?0:-1:0:-1:Fm<_a?pl<_a?th<_a?fl<_a?ZF<_a?wD<_a?Yf<_a?Ff<_a?0:-1:0:-1:eg<_a?$n<_a?0:-1:0:-1:kr<_a?Qv<_a?0:-1:uS<_a?Mb<_a?0:-1:0:-1:qk<_a?MF<_a?uu<_a?ol<_a?Uw<_a?0:-1:0:-1:cr<_a?eE<_a?0:-1:0:RD<_a?ko<_a?0:-1:0:Ic<_a?ak<_a?Q<_a?ys<_a?Fu<_a?na<_a?sp<_a?Ow<_a?aw<_a?0:-1:0:-1:va<_a?Iw<_a?0:-1:0:Uf<_a?dp<_a?0:-1:bB<_a?uA<_a?0:-1:0:-1:Ks<_a?sm<_a&&TC<_a?Iv<_a?0:-1:0:av<_a?Zs<_a?0:-1:QD<_a?aB<_a?0:-1:0:-1:Kr<_a?Uo<_a?Rt<_a?ae<_a?V<_a?uw<_a?n<_a?0:-1:0:AA<_a?PE<_a?0:-1:0:-1:Sb<_a?vd<_a?Zm<_a?gm<_a?0:-1:0:-1:js<_a?IA<_a?0:-1:0:-1:YS<_a?Mt<_a?F_<_a?On<_a?Bi<_a?Te<_a?0:-1:0:-1:Ud<_a?IS<_a?0:-1:0:-1:Dw<_a?zh<_a?xg<_a?qf<_a?0:-1:0:-1:Oc<_a?LE<_a?0:-1:0:-1:CI(Lut,_a+WS|0)-1|0:-1;else Ca=-1;if(3>>0)Lr=JSt(t);else switch(Ca){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var wa=YSt(t);if(wa)var Sa=wa[1],Ba=35>>0)Lr=JSt(t);else switch(Ba){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var Na=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Na){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ra=xjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ra){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ma=xjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ma){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Xa=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Xa){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Va=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Va){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,44);var Ja=Gjt(YSt(t));Lr=0===Ja?i(t):1===Ja?c(t):JSt(t)}}}}}break;case 3:VSt(t,87);var ai=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ai){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ii=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ii){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ci=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ci){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var si=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(si){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,45);var li=Gjt(YSt(t));Lr=0===li?i(t):1===li?c(t):JSt(t)}}}}break;case 4:VSt(t,87);var Di=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Di){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var pi=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ei=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ei){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Fi=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Fi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,46);var di=Gjt(YSt(t));Lr=0===di?i(t):1===di?c(t):JSt(t)}}}}break;default:VSt(t,87);var mi=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(mi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var yi=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(yi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ai=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ai){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,47);var wi=Gjt(YSt(t));Lr=0===wi?i(t):1===wi?c(t):JSt(t)}}}}break;default:VSt(t,48);var Ti=Gjt(YSt(t));Lr=0===Ti?i(t):1===Ti?c(t):JSt(t)}break;case 37:VSt(t,87);var Ni=YSt(t);if(Ni)var Pi=Ni[1],Gi=35>>0)Lr=JSt(t);else switch(Gi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var Xi=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Xi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ki=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ki){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,49);var Ji=Gjt(YSt(t));Lr=0===Ji?i(t):1===Ji?c(t):JSt(t)}}break;case 3:VSt(t,87);var Wi=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Wi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var qi=$Xt(YSt(t));if(2>>0)Lr=JSt(t);else switch(qi){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,50);var rc=Gjt(YSt(t));Lr=0===rc?i(t):1===rc?c(t):JSt(t)}}break;default:VSt(t,87);var tc=YSt(t);if(tc)var nc=tc[1],ic=35>>0)Lr=JSt(t);else switch(ic){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var fc=fHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(fc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Dc=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Dc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ec=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ec){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,51);var mc=Gjt(YSt(t));Lr=0===mc?i(t):1===mc?c(t):JSt(t)}}}break;default:VSt(t,87);var hc=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(hc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var _c=zjt(YSt(t));if(2<_c>>>0)Lr=JSt(t);else switch(_c){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Cc=Tjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Cc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var wc=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(wc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,52);var gc=Gjt(YSt(t));Lr=0===gc?i(t):1===gc?c(t):JSt(t)}}}}}}break;case 38:VSt(t,87);var Bc=YSt(t);if(Bc)var Hc=Bc[1],$c=35>>0)Lr=JSt(t);else switch($c){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var Yc=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Yc){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var rf=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(rf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var cf=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(cf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,53);var lf=Gjt(YSt(t));Lr=0===lf?i(t):1===lf?c(t):JSt(t)}}}break;case 3:VSt(t,87);var pf=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var df=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(df){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var hf=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(hf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var kf=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(kf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var _f=hXt(YSt(t));if(2<_f>>>0)Lr=JSt(t);else switch(_f){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,54);var If=Gjt(YSt(t));Lr=0===If?i(t):1===If?c(t):JSt(t)}}}}}break;case 4:VSt(t,87);var Of=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Of){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,55);var Nf=Gjt(YSt(t));Lr=0===Nf?i(t):1===Nf?c(t):JSt(t)}break;default:VSt(t,87);var xf=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(xf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Pf=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Pf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Xf=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Xf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Hf=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Hf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Vf=fHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Vf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Jf=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Jf){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,56);var zf=Gjt(YSt(t));Lr=0===zf?i(t):1===zf?c(t):JSt(t)}}}}}}}break;case 39:VSt(t,87);var to=YSt(t);if(to)var uo=to[1],io=35>>0)Lr=JSt(t);else switch(io){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,57);var so=Gjt(YSt(t));Lr=0===so?i(t):1===so?c(t):JSt(t);break;case 3:VSt(t,87);var vo=Rjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(vo){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var lo=YSt(t);if(lo)var Eo=lo[1],Fo=35>>0)Lr=JSt(t);else switch(Fo){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var _o=gjt(YSt(t));if(2<_o>>>0)Lr=JSt(t);else switch(_o){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var So=$Xt(YSt(t));if(2>>0)Lr=JSt(t);else switch(So){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var No=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(No){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Mo=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Mo){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ho=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ho){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var $o=iHt(YSt(t));if(2<$o>>>0)Lr=JSt(t);else switch($o){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,58);var Ko=Gjt(YSt(t));Lr=0===Ko?i(t):1===Ko?c(t):JSt(t)}}}}}}break;default:VSt(t,87);var qo=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(qo){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var zo=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(zo){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,59);var Qo=Gjt(YSt(t));Lr=0===Qo?i(t):1===Qo?c(t):JSt(t)}}}}break;default:VSt(t,60);var ts=zXt(YSt(t));if(3>>0)Lr=JSt(t);else switch(ts){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var es=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(es){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var us=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(us){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var is=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(is){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var cs=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(cs){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var os=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(os){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ss=fHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ss){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ps=cHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ps){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,61);var bs=Gjt(YSt(t));Lr=0===bs?i(t):1===bs?c(t):JSt(t)}}}}}}}break;default:VSt(t,87);var ds=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ds){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ms=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ms){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var _s=cHt(YSt(t));if(2<_s>>>0)Lr=JSt(t);else switch(_s){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ss=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ss){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var xs=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(xs){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ps=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ps){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,62);var Hs=Gjt(YSt(t));Lr=0===Hs?i(t):1===Hs?c(t):JSt(t)}}}}}}}}break;case 40:VSt(t,87);var Ys=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ys){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ws=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ws){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,63);var qs=Gjt(YSt(t));Lr=0===qs?i(t):1===qs?c(t):JSt(t)}}break;case 41:VSt(t,87);var zs=YSt(t);if(zs)var Qs=zs[1],rv=35>>0)Lr=JSt(t);else switch(rv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var ev=EHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ev){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,64);var lv=Gjt(YSt(t));Lr=0===lv?i(t):1===lv?c(t):JSt(t)}break;default:VSt(t,87);var Dv=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Dv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ev=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ev){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,65);var Fv=Gjt(YSt(t));Lr=0===Fv?i(t):1===Fv?c(t):JSt(t)}}}break;case 42:VSt(t,87);var Av=YSt(t);if(Av)var _v=Av[1],Cv=35<_v?dv<_v?Ut<_v?lc<_v?-1:je<_v?yo<_v?I_<_v?sC<_v?hv<_v?Jd<_v?Vl<_v?Vb<_v?td<_v?0:-1:we<_v?Es<_v?0:-1:0:-1:Qf<_v?Ac<_v?TA<_v?Nl<_v?0:-1:0:-1:Hu<_v?ek<_v?0:-1:0:-1:Wc<_v?_t<_v?Po<_v?Iy<_v?sd<_v?ED<_v?gF<_v?rh<_v?bS<_v?np<_v?0:-1:0:-1:pv<_v?Ot<_v?0:-1:0:-1:sA<_v?Qm<_v?vi<_v?Lo<_v?0:-1:0:-1:Sf<_v?ID<_v?0:-1:0:-1:ty<_v?Ye<_v?cw<_v?MC<_v?Xc<_v?EE<_v?0:-1:0:-1:hi<_v?Yg<_v?0:-1:0:-1:St<_v?Xv<_v?AC<_v?G<_v?0:-1:0:-1:k<_v?hC<_v?0:-1:0:-1:cd<_v?mD<_v?Jb<_v?cu<_v?fk<_v?zA<_v?go<_v?Km<_v?0:-1:0:-1:hn<_v?Be<_v?0:-1:0:-1:fv<_v?kC<_v?jo<_v?dc<_v?0:-1:0:-1:Vh<_v?fE<_v?0:-1:0:-1:sc<_v?Wf<_v?um<_v?qc<_v?CA<_v?uf<_v?0:-1:0:-1:fw<_v?eA<_v?0:-1:0:-1:fm<_v?Gb<_v?Wo<_v?qb<_v?0:-1:0:-1:tF<_v?Qh<_v?0:-1:0:-1:Io<_v?af<_v?Bh<_v?Da<_v?Ta<_v?We<_v?Mn<_v?OE<_v?Dg<_v?iA<_v?KA<_v?hy<_v?0:-1:0:-1:0:Ka<_v?zb<_v?fF<_v?ft<_v?0:-1:0:-1:Yi<_v?gf<_v?0:-1:0:Uy<_v?Pd<_v?Qg<_v?zt<_v?0:-1:ml<_v?wC<_v?0:-1:0:-1:nB<_v?Lh<_v?0:-1:TS<_v?vB<_v?0:-1:0:-1:Us<_v?tv<_v?ni<_v?TD<_v?sB<_v?rg<_v?Ov<_v?Lb<_v?0:-1:0:-1:kp<_v?Oo<_v?0:-1:0:-1:mo<_v?nb<_v?Ed<_v?d<_v?0:-1:0:-1:iw<_v?yf<_v?0:-1:0:-1:kv<_v?RF<_v?_D<_v?ce<_v?Wl<_v?JS<_v?0:-1:0:-1:KD<_v?CD<_v?0:-1:0:-1:wt<_v?Z<_v?il<_v?cA<_v?0:-1:0:-1:JE<_v?HA<_v?0:-1:0:-1:Sl<_v?tm<_v?eh<_v?En<_v?Gv<_v?Rh<_v?Bt<_v?Gu<_v?Yk<_v?Xb<_v?0:-1:0:-1:iE<_v?qy<_v?0:-1:0:-1:nA<_v?Or<_v?Qt<_v?gn<_v?0:-1:0:-1:EA<_v?H_<_v?0:-1:0:-1:Oi<_v?lB<_v?lp<_v?zk<_v?a_<_v?bu<_v?0:-1:0:-1:R<_v?dm<_v?0:-1:0:-1:Bb<_v?Ya<_v?od<_v?S_<_v?0:-1:0:-1:Uc<_v?xn<_v?0:-1:0:-1:$r<_v?o_<_v?fy<_v?fD<_v?Pe<_v?Rf<_v?Dr<_v?vC<_v?0:-1:0:-1:Ik<_v?wS<_v?0:-1:0:-1:bc<_v?Op<_v?OF<_v?Ab<_v?0:-1:0:-1:ud<_v?uh<_v?0:-1:0:-1:$f<_v?W_<_v?Uk<_v?Oh<_v?uc<_v?Jr<_v?0:-1:0:-1:ia<_v?EC<_v?0:-1:0:-1:HD<_v?Go<_v?Zt<_v?DB<_v?0:-1:0:-1:0:-1:pk<_v?$<_v?SE<_v?Ur<_v?aS<_v?Ii<_v?au<_v?Yh<_v?yC<_v?Im<_v?Ou<_v?0:-1:0:-1:cC<_v?oc<_v?0:-1:0:-1:Og<_v?Uu<_v?Pb<_v?Eh<_v?0:-1:0:-1:Cw<_v?b<_v?0:-1:0:-1:sk<_v?fA<_v?OC<_v?Cd<_v?iD<_v?ZA<_v?0:-1:0:-1:OA<_v?fC<_v?0:-1:0:-1:Fn<_v?Fk<_v?Np<_v?0:-1:0:lu<_v?xu<_v?0:-1:0:ns<_v?_b<_v?C<_v?Vs<_v?Bd<_v?xy<_v?0:-1:GC<_v?oS<_v?0:-1:0:-1:Cu<_v?ab<_v?sh<_v?co<_v?0:-1:0:-1:Hw<_v?pc<_v?0:-1:0:-1:wl<_v?Mi<_v?mE<_v?Za<_v?0:-1:Bn<_v?$C<_v?0:-1:0:-1:of<_v?Yd<_v?jS<_v?Ay<_v?0:-1:0:-1:Cs<_v?dF<_v?0:-1:0:-1:ff<_v?BF<_v?Ao<_v?bf<_v?xw<_v?YC<_v?mm<_v?no<_v?_F<_v?Bk<_v?0:-1:0:-1:wh<_v?up<_v?0:-1:0:-1:Sg<_v?0:sD<_v?Hk<_v?0:-1:0:-1:Nh<_v?0:vD<_v?ef<_v?sf<_v?pm<_v?0:-1:0:-1:0:-1:ww<_v?lD<_v?Yy<_v?FS<_v?wy<_v?_k<_v?z_<_v?0:-1:0:-1:om<_v?Qk<_v?0:-1:0:Sy<_v?xc<_v?0:-1:Od<_v?eb<_v?0:-1:0:-1:ie<_v?Bf<_v?_d<_v?rt<_v?0:-1:Aa<_v?Vm<_v?0:-1:0:-1:0:VE<_v?JA<_v?Cn<_v?Tr<_v?ws<_v?WE<_v?Oy<_v?bm<_v?dS<_v?ch<_v?VC<_v?TF<_v?0:-1:Ga<_v?_n<_v?0:-1:0:-1:w<_v&&fg<_v?ea<_v?0:-1:0:Kw<_v?Kh<_v?Du<_v&&tE<_v?Gr<_v?0:-1:0:-1:dn<_v?ph<_v?xp<_v?OD<_v?0:-1:0:-1:Sp<_v?Ck<_v?0:-1:0:_g<_v?WA<_v?L_<_v||db<_v?0:Nk<_v?hw<_v?0:-1:0:-1:ho<_v||Yv<_v?0:cE<_v?wn<_v?0:-1:0:Wk<_v?Jh<_v?jc<_v?EF<_v?Ts<_v&&Pl<_v?ag<_v?0:-1:0:be<_v&&oD<_v?Wv<_v?0:-1:0:-1:vw<_v?Fe<_v?uk<_v?ov<_v?Mf<_v?wA<_v?0:-1:0:-1:0:-1:0:l<_v?fS<_v?yh<_v?hk<_v?nf<_v?Lu<_v?Tp<_v?0:-1:0:-1:0:Wd<_v?0:Ag<_v?Ql<_v?0:-1:0:-1:by<_v&&py<_v&&NF<_v?ME<_v?0:-1:0:f_<_v?Fh<_v?ze<_v?$w<_v?jk<_v?Lt<_v?NC<_v?sl<_v?0:-1:Mc<_v?JD<_v?0:-1:0:-1:0:bn<_v?$E<_v?0:wv<_v?Yw<_v?0:-1:0:R_<_v&&Ha<_v?j_<_v?0:-1:0:zD<_v?T<_v?Y<_v?zF<_v&&Gy<_v?yE<_v?0:-1:0:-1:_i<_v?$k<_v?hS<_v?rC<_v?0:-1:0:-1:0:0:-1:iC<_v?Eg<_v?lC<_v?dD<_v?Jv<_v?B_<_v?0:-1:YF<_v?ls<_v?0:-1:0:0:FF<_v?kS<_v?iS<_v?0:Ze<_v?Jp<_v?0:-1:0:-1:RE<_v?se<_v?Jc<_v?0:-1:0:Os<_v?Xu<_v?0:-1:0:-1:nv<_v?qC<_v?Wp<_v?xb<_v?Ru<_v?zc<_v?Rd<_v?0:-1:0:-1:Vo<_v?wf<_v?0:-1:0:0:-1:tt<_v?vf<_v?iv<_v?mf<_v?Mh<_v?Dn<_v?0:-1:0:-1:Sw<_v?wb<_v?0:-1:0:-1:nD<_v?uy<_v?ot<_v?x<_v?0:-1:0:-1:0:-1:lF<_v?Qi<_v?vs<_v?NS<_v?Ns<_v?Fg<_v?yS<_v?ji<_v&&xm<_v?Ey<_v?0:-1:0:Ll<_v?Af<_v?$s<_v?Fw<_v?0:-1:0:-1:nl<_v?gs<_v?0:-1:0:-1:zE<_v?Ty<_v?Ds<_v?Wh<_v?CF<_v?0:-1:0:-1:Kd<_v?vl<_v?0:-1:0:0:ow<_v?Wg<_v?Co<_v?Yo<_v?Ls<_v?0:-1:hb<_v?ct<_v?0:-1:0:-1:La<_v?QA<_v?0:-1:Zi<_v?jF<_v?0:-1:0:Dl<_v?0:zC<_v?vg<_v?0:-1:YA<_v?PF<_v?0:-1:0:jf<_v?ih<_v?vm<_v?Rn<_v?Ar<_v?ra<_v?cv<_v?0:-1:0:DS<_v?Kt<_v?0:-1:0:-1:0:jt<_v?xo<_v?m<_v?bk<_v?rd<_v?0:-1:0:-1:Pv<_v?gd<_v?0:-1:0:0:uB<_v?xS<_v?ug<_v?Dp<_v?Ee<_v?0:-1:yy<_v?j<_v?0:-1:0:0:-1:Vy<_v?em<_v?_y<_v?eF<_v?Do<_v?0:-1:0:PD<_v?yD<_v?0:-1:0:-1:Zb<_v?yA<_v?Fa<_v?jl<_v?0:-1:0:-1:0:-1:Er<_v?Kf<_v?VA<_v?Fr<_v?Zf<_v?kc<_v?Zg<_v?ka<_v?DC<_v?Fd<_v?yd<_v?0:-1:0:-1:ad<_v?Tv<_v?0:-1:0:-1:oy<_v?QF<_v?XF<_v?zp<_v?0:-1:0:-1:gt<_v?og<_v?0:-1:0:zr<_v?N_<_v?Ug<_v?cD<_v?ND<_v?rS<_v?0:-1:0:-1:Jt<_v?qS<_v?0:-1:0:-1:hg<_v?ck<_v?hs<_v?xF<_v?0:-1:0:-1:Df<_v?YD<_v?0:-1:0:-1:Gf<_v?nr<_v?A<_v?i_<_v?o<_v?0:-1:hm<_v?ta<_v?0:-1:0:du<_v?_p<_v?Sc<_v?ri<_v?0:-1:0:-1:iy<_v?bi<_v?0:-1:0:-1:Rs<_v?Xe<_v?Vv<_v?uD<_v?nn<_v?Li<_v?0:-1:0:-1:bA<_v?oF<_v?0:-1:0:-1:FC<_v?ro<_v?Py<_v?KE<_v?0:-1:0:-1:Zn<_v?Fy<_v?0:-1:0:-1:dw<_v?kk<_v?lw<_v?op<_v?Xk<_v?Bg<_v?on<_v?E<_v?qg<_v?qa<_v?0:-1:0:-1:Ju<_v?BD<_v?0:-1:0:-1:Ct<_v?Qd<_v?Tc<_v?hr<_v?0:-1:0:-1:DA<_v?rp<_v?0:-1:0:-1:sy<_v?yr<_v?Cr<_v?Ms<_v?Ig<_v?0:-1:0:-1:Ib<_v?UC<_v?0:-1:0:qv<_v?Ek<_v?Oe<_v?Lc<_v?0:-1:0:-1:Zc<_v?_h<_v?0:-1:0:-1:Ky<_v?fa<_v?ap<_v?BC<_v?dg<_v?LA<_v?0:-1:0:Wt<_v?DF<_v?0:-1:0:HF<_v?0:yk<_v?ig<_v?0:-1:0:-1:Sn<_v?zS<_v?dr<_v?nu<_v?lm<_v?ja<_v?0:-1:0:-1:Qc<_v?US<_v?0:-1:0:-1:Om<_v?$D<_v?ca<_v?Me<_v?0:-1:0:-1:Wr<_v?as<_v?0:-1:0:-1:xr<_v?_e<_v?IF<_v?rs<_v?s<_v?tB<_v?sv<_v?mr<_v?Qp<_v?pt<_v?Ul<_v?oo<_v?UD<_v?d_<_v?ga<_v?0:-1:0:-1:$m<_v?GS<_v?0:-1:0:-1:Hl<_v?iF<_v?Lf<_v?Tf<_v?0:-1:0:-1:hl<_v?fi<_v?0:-1:0:-1:Mp<_v?0:dt<_v?Hi<_v?Cy<_v?As<_v?0:-1:0:-1:wF<_v?nF<_v?0:-1:0:-1:oa<_v?bw<_v?oE<_v?Z_<_v?$y<_v?Lp<_v?AS<_v?ma<_v?0:-1:0:-1:$b<_v?fs<_v?0:-1:0:-1:BA<_v?xl<_v?mv<_v?Pc<_v?0:-1:0:-1:IE<_v?pB<_v?0:-1:0:-1:ya<_v?uv<_v?Mv<_v?Xw<_v?gy<_v?Ip<_v?0:-1:0:-1:Qw<_v?Xy<_v?0:-1:0:-1:$_<_v?Xn<_v?Tm<_v?vh<_v?0:-1:0:-1:Je<_v?Gh<_v?0:-1:0:-1:po<_v?ql<_v?Bo<_v?en<_v?UA<_v?Ny<_v&&gp<_v?lg<_v?0:-1:0:-1:gr<_v?sa<_v?QE<_v?Gc<_v?0:-1:0:-1:yc<_v?NE<_v?0:-1:0:-1:Kv<_v?ib<_v?Hg<_v?Qr<_v?im<_v?Cf<_v?0:-1:0:-1:bv<_v?za<_v?0:-1:0:-1:Gp<_v?dl<_v?0:-1:0:fh<_v?mh<_v?$h<_v?0:LD<_v?rB<_v?gS<_v?0:-1:0:Ry<_v?O<_v?0:-1:0:-1:Tw<_v?cc<_v?mu<_v?qm<_v?ua<_v?jA<_v?0:-1:0:-1:tg<_v?eo<_v?0:-1:0:-1:Nm<_v&&Su<_v?Vk<_v?0:-1:0:P_<_v?Pu<_v?Qy<_v?ge<_v?QS<_v&&pw<_v?Ht<_v?0:-1:0:X_<_v?Pa<_v?vc<_v?0:-1:0:aC<_v?zm<_v?0:-1:0:0:Wy<_v?zn<_v?0:oh<_v?fB<_v?0:-1:0:Ce<_v?p<_v?ah<_v?rm<_v?Ve<_v?0:-1:0:-1:0:pb<_v?0:RC<_v?ac<_v?0:-1:0:Qa<_v?Gd<_v?bo<_v?0:Kk<_v&&Xl<_v?aA<_v?0:-1:0:To<_v?ZC<_v?0:fp<_v?kn<_v?0:-1:0:ui<_v&&pC<_v?ir<_v?0:-1:0:ew<_v?yt<_v?0:cg<_v?Cb<_v?0:-1:mg<_v?Hh<_v?0:-1:0:bC<_v?kd<_v?pr<_v?0:-1:0:ve<_v?0:Bp<_v?ao<_v?0:-1:0:-1:q<_v?yv<_v?xa<_v?ke<_v?Vc<_v?Pp<_v?CS<_v?Dy<_v?nw<_v?0:-1:J<_v?lb<_v?0:-1:0:Rm<_v?0:Md<_v?vv<_v?0:-1:0:-1:0:jD<_v?Zo<_v?0:wm<_v?ti<_v?Vi<_v?HS<_v?0:-1:0:-1:0:Ne<_v?xC<_v&&Up<_v?wu<_v?0:-1:0:yF<_v?NA<_v?gu<_v?KF<_v?0:-1:0:-1:0:gE<_v?GF<_v?Nd<_v?wr<_v?0:Kb<_v?Yb<_v?Fc<_v?dh<_v?0:-1:0:-1:0:Wn<_v?Vw<_v?Nc<_v&&T_<_v?Jl<_v?0:-1:0:-1:Ci<_v?Kn<_v?0:-1:0:-1:Xd<_v?Ro<_v?lA<_v?qD<_v?Tg<_v?0:Ub<_v?Xs<_v?0:-1:0:-1:$p<_v?W<_v?Ml<_v?wo<_v?0:-1:0:-1:ES<_v?Hn<_v?0:-1:0:-1:Bs<_v?bd<_v?$i<_v?jh<_v?ht<_v?0:-1:0:u<_v?hu<_v?0:-1:0:-1:0:-1:nE<_v?D<_v?SD<_v?LF<_v?Sv<_v?Ua<_v?qF<_v?h<_v&&zi<_v?z<_v?0:-1:0:-1:GD<_v&&Hd<_v?Id<_v?0:-1:0:-1:ee<_v?Wa<_v?qw<_v?0:Rc<_v?sS<_v?0:-1:0:-1:ed<_v?Rv<_v?aD<_v?c_<_v?0:-1:0:-1:Pk<_v?mw<_v?0:-1:0:-1:Fm<_v?pl<_v?th<_v?fl<_v?ZF<_v?wD<_v?Yf<_v?Ff<_v?0:-1:0:-1:eg<_v?$n<_v?0:-1:0:-1:kr<_v?Qv<_v?0:-1:uS<_v?Mb<_v?0:-1:0:-1:qk<_v?MF<_v?uu<_v?ol<_v?Uw<_v?0:-1:0:-1:cr<_v?eE<_v?0:-1:0:RD<_v?ko<_v?0:-1:0:Ic<_v?ak<_v?Q<_v?ys<_v?Fu<_v?na<_v?sp<_v?Ow<_v?aw<_v?0:-1:0:-1:va<_v?Iw<_v?0:-1:0:Uf<_v?dp<_v?0:-1:bB<_v?uA<_v?0:-1:0:-1:Ks<_v?sm<_v&&TC<_v?Iv<_v?0:-1:0:av<_v?Zs<_v?0:-1:QD<_v?aB<_v?0:-1:0:-1:Kr<_v?Uo<_v?Rt<_v?ae<_v?V<_v?uw<_v?n<_v?0:-1:0:AA<_v?PE<_v?0:-1:0:-1:Sb<_v?vd<_v?Zm<_v?gm<_v?0:-1:0:-1:js<_v?IA<_v?0:-1:0:-1:YS<_v?Mt<_v?F_<_v?On<_v?Bi<_v?Te<_v?0:-1:0:-1:Ud<_v?IS<_v?0:-1:0:-1:Dw<_v?zh<_v?xg<_v?qf<_v?0:-1:0:-1:Oc<_v?LE<_v?0:-1:0:-1:CI(Iut,_v+WS|0)-1|0:-1;else Cv=-1;if(3>>0)Lr=JSt(t);else switch(Cv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,66);var gv=Gjt(YSt(t));Lr=0===gv?i(t):1===gv?c(t):JSt(t);break;default:VSt(t,87);var Bv=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Bv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Nv=YSt(t);if(Nv)var xv=Nv[1],Lv=35>>0)Lr=JSt(t);else switch(Lv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Uv=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Uv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var jv=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(jv){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,67);var Hv=Gjt(YSt(t));Lr=0===Hv?i(t):1===Hv?c(t):JSt(t)}}}}}break;case 43:VSt(t,87);var $v=YSt(t);if($v)var Zv=$v[1],rl=35>>0)Lr=JSt(t);else switch(rl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var tl=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(tl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var el=_jt(YSt(t));if(2>>0)Lr=JSt(t);else switch(el){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var cl=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(cl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var ll=xjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ll){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var bl=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(bl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,68);var El=Gjt(YSt(t));Lr=0===El?i(t):1===El?c(t):JSt(t)}}}}}break;case 3:VSt(t,87);var Fl=lHt(YSt(t));if(3>>0)Lr=JSt(t);else switch(Fl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var yl=YSt(t);if(yl)var Al=yl[1],_l=35>>0)Lr=JSt(t);else switch(_l){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Cl=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Cl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Bl=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Bl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Il=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Il){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,69);var Ol=Gjt(YSt(t));Lr=0===Ol?i(t):1===Ol?c(t):JSt(t)}}}}break;default:VSt(t,87);var Gl=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Gl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var $l=gjt(YSt(t));if(2<$l>>>0)Lr=JSt(t);else switch($l){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Yl=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Yl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Kl=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Kl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var zl=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(zl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Zl=Tjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Zl){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,70);var tD=Gjt(YSt(t));Lr=0===tD?i(t):1===tD?c(t):JSt(t)}}}}}}}break;default:VSt(t,87);var eD=qXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(eD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var DD=yXt(YSt(t));if(2

>>0)Lr=JSt(t);else switch(DD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var pD=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var bD=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(bD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,71);var hD=Gjt(YSt(t));Lr=0===hD?i(t):1===hD?c(t):JSt(t)}}}}}break;case 44:VSt(t,87);var kD=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(kD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var AD=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(AD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var xD=wjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(xD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var MD=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(MD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var XD=zjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(XD){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,72);var VD=Gjt(YSt(t));Lr=0===VD?i(t):1===VD?c(t):JSt(t)}}}}}break;case 45:VSt(t,87);var ZD=YSt(t);if(ZD)var tp=ZD[1],ep=35>>0)Lr=JSt(t);else switch(ep){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var ip=uXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ip){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var vp=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(vp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var pp=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Ep=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ep){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,73);var Fp=Gjt(YSt(t));Lr=0===Fp?i(t):1===Fp?c(t):JSt(t)}}}}break;case 3:VSt(t,87);var mp=Rjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(mp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var hp=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(hp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var yp=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(yp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,74);var Ap=Gjt(YSt(t));Lr=0===Ap?i(t):1===Ap?c(t):JSt(t)}}}break;default:VSt(t,87);var Cp=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Cp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var wp=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(wp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Rp=xXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Rp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Xp=pHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Xp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,75);var Yp=Gjt(YSt(t));Lr=0===Yp?i(t):1===Yp?c(t):JSt(t)}}}}}break;case 46:VSt(t,87);var Kp=YSt(t);if(Kp)var qp=Kp[1],Zp=35>>0)Lr=JSt(t);else switch(Zp){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var rb=YSt(t);if(rb)var cb=rb[1],fb=35>>0)Lr=JSt(t);else switch(fb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var ob=iHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(ob){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,76);var sb=Gjt(YSt(t));Lr=0===sb?i(t):1===sb?c(t):JSt(t)}break;default:VSt(t,87);var vb=fHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(vb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Db=EHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Db){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,77);var Eb=Gjt(YSt(t));Lr=0===Eb?i(t):1===Eb?c(t):JSt(t)}}}break;case 3:VSt(t,87);var Fb=YSt(t);if(Fb)var mb=Fb[1],kb=35>>0)Lr=JSt(t);else switch(kb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var yb=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(yb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,78);var gb=Gjt(YSt(t));Lr=0===gb?i(t):1===gb?c(t):JSt(t)}break;default:VSt(t,79);var Tb=Gjt(YSt(t));Lr=0===Tb?i(t):1===Tb?c(t):JSt(t)}break;default:VSt(t,87);var Ob=Rjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Ob){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Nb=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Nb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,80);var Rb=fHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Rb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var Hb=cHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(Hb){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,81);var Wb=Gjt(YSt(t));Lr=0===Wb?i(t):1===Wb?c(t):JSt(t)}}}}}break;case 47:VSt(t,87);var Qb=YSt(t);if(Qb)var rE=Qb[1],uE=35>>0)Lr=JSt(t);else switch(uE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var sE=oXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(sE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,82);var vE=Gjt(YSt(t));Lr=0===vE?i(t):1===vE?c(t):JSt(t)}break;default:VSt(t,87);var DE=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(DE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var pE=Tjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(pE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,83);var bE=Gjt(YSt(t));Lr=0===bE?i(t):1===bE?c(t):JSt(t)}}}break;case 48:VSt(t,87);var FE=YSt(t);if(FE)var dE=FE[1],hE=35>>0)Lr=JSt(t);else switch(hE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;case 2:VSt(t,87);var kE=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(kE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var AE=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(AE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var _E=gjt(YSt(t));if(2<_E>>>0)Lr=JSt(t);else switch(_E){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,84);var CE=Gjt(YSt(t));Lr=0===CE?i(t):1===CE?c(t):JSt(t)}}}break;default:VSt(t,87);var wE=VXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(wE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var BE=pHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(BE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,85);var TE=Gjt(YSt(t));Lr=0===TE?i(t):1===TE?c(t):JSt(t)}}}break;case 49:VSt(t,87);var xE=vHt(YSt(t));if(2>>0)Lr=JSt(t);else switch(xE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var UE=gjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(UE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var jE=yXt(YSt(t));if(2>>0)Lr=JSt(t);else switch(jE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,87);var HE=Tjt(YSt(t));if(2>>0)Lr=JSt(t);else switch(HE){case 0:Lr=i(t);break;case 1:Lr=c(t);break;default:VSt(t,86);var qE=Gjt(YSt(t));Lr=0===qE?i(t):1===qE?c(t):JSt(t)}}}}break;case 50:Lr=89;break;case 51:VSt(t,135);var uF=YSt(t);if(uF)var cF=uF[1],vF=60>>0)return P_t(Tet);var pF=Lr;if(74<=pF){if(Vr<=pF)switch(pF){case 111:return[0,r,90];case 112:return[0,r,jb];case 113:return[0,r,Ah];case 114:return[0,r,69];case 115:return[0,r,97];case 116:return[0,r,68];case 117:return[0,r,67];case 118:return[0,r,99];case 119:return[0,r,98];case 120:return[0,r,78];case 121:return[0,r,77];case 122:return[0,r,75];case 123:return[0,r,76];case 124:return[0,r,73];case 125:return[0,r,72];case 126:return[0,r,71];case 127:return[0,r,70];case 128:return[0,r,95];case 129:return[0,r,96];case 130:return[0,r,ku];case 131:return[0,r,Um];case 132:return[0,r,ul];case 133:return[0,r,Sm];case 134:return[0,r,BS];case 135:return[0,r,86];case 136:return[0,r,88];case 137:return[0,r,87];case 138:return[0,r,$a];case 139:return[0,r,Yu];case 140:return[0,r,79];case 141:return[0,r,11];case 142:return[0,r,74];case 143:return[0,r,Pm];case 144:return[0,r,13];case 145:return[0,r,14];case 146:return[0,r[4]?SHt(r,_Ht(r,t),6):r,qt];default:return[0,THt(r,_Ht(r,t)),[6,vgt(t)]]}switch(pF){case 74:return[0,r,51];case 75:return[0,r,20];case 76:return[0,r,21];case 77:return[0,r,22];case 78:return[0,r,31];case 79:return[0,r,23];case 80:return[0,r,61];case 81:return[0,r,46];case 82:return[0,r,24];case 83:return[0,r,47];case 84:return[0,r,25];case 85:return[0,r,26];case 86:return[0,r,58];case 87:var bF=_Ht(r,t),mF=vgt(t),kF=MHt(r,mF);return[0,kF[1],[4,bF,kF[2],mF]];case 88:var SF=_Ht(r,t),UF=vgt(t);return[0,r,[4,SF,UF,UF]];case 89:return[0,r,0];case 90:return[0,r,1];case 91:return[0,r,4];case 92:return[0,r,5];case 93:return[0,r,6];case 94:return[0,r,7];case 95:return[0,r,12];case 96:return[0,r,10];case 97:return[0,r,8];case 98:return[0,r,9];case 99:return[0,r,83];case 100:WSt(t),KSt(t);var $F=YSt(t);if($F)var VF=$F[1],JF=62>>0)var n=JSt(t);else switch(e){case 0:continue;case 1:r:for(;;){if(0===Qjt(YSt(t)))for(;;){var u=Vjt(YSt(t));if(2>>0)var a=JSt(t);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=JSt(t);n=a;break}break;default:n=0}break}else n=JSt(t);return 0===n?[0,r,[1,0,vgt(t)]]:P_t(Bet)}));case 11:return[0,r,[1,0,vgt(t)]];case 12:return GHt(r,t,(function(r,t){if(KSt(t),0===dXt(YSt(t))&&0===sXt(YSt(t))&&0===Qjt(YSt(t)))for(;;){VSt(t,0);var e=Yjt(YSt(t));if(0!==e){if(1===e)r:for(;;){if(0===Qjt(YSt(t)))for(;;){VSt(t,0);var n=Yjt(YSt(t));if(0!==n){if(1===n)continue r;var u=JSt(t);break}}else u=JSt(t);var a=u;break}else a=JSt(t);break}}else a=JSt(t);return 0===a?[0,r,[0,0,vgt(t)]]:P_t(get)}));case 13:return[0,r,[0,0,vgt(t)]];case 14:return GHt(r,t,(function(r,t){if(KSt(t),0===dXt(YSt(t))&&0===AXt(YSt(t))&&0===pXt(YSt(t)))for(;;){var e=cXt(YSt(t));if(2>>0)var n=JSt(t);else switch(e){case 0:continue;case 1:r:for(;;){if(0===pXt(YSt(t)))for(;;){var u=cXt(YSt(t));if(2>>0)var a=JSt(t);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=JSt(t);n=a;break}break;default:n=0}break}else n=JSt(t);return 0===n?[0,r,[1,1,vgt(t)]]:P_t(Set)}));case 15:return[0,r,[1,1,vgt(t)]];case 16:return GHt(r,t,(function(r,t){if(KSt(t),0===dXt(YSt(t))&&0===AXt(YSt(t))&&0===pXt(YSt(t)))for(;;){VSt(t,0);var e=Zjt(YSt(t));if(0!==e){if(1===e)r:for(;;){if(0===pXt(YSt(t)))for(;;){VSt(t,0);var n=Zjt(YSt(t));if(0!==n){if(1===n)continue r;var u=JSt(t);break}}else u=JSt(t);var a=u;break}else a=JSt(t);break}}else a=JSt(t);return 0===a?[0,r,[0,3,vgt(t)]]:P_t(wet)}));case 17:return[0,r,[0,3,vgt(t)]];case 18:return GHt(r,t,(function(r,t){if(KSt(t),0===dXt(YSt(t)))for(;;){var e=YSt(t);if(e)var n=e[1],u=47>>0)var n=JSt(t);else switch(e){case 0:continue;case 1:r:for(;;){if(0===Ijt(YSt(t)))for(;;){var u=Kjt(YSt(t));if(2>>0)var a=JSt(t);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=JSt(t);n=a;break}break;default:n=0}break}else n=JSt(t);return 0===n?[0,r,[1,2,vgt(t)]]:P_t(Aet)}));case 24:return GHt(r,t,(function(r,t){if(KSt(t),0===dXt(YSt(t))&&0===Ljt(YSt(t))&&0===Ijt(YSt(t)))for(;;){VSt(t,0);var e=LXt(YSt(t));if(0!==e){if(1===e)r:for(;;){if(0===Ijt(YSt(t)))for(;;){VSt(t,0);var n=LXt(YSt(t));if(0!==n){if(1===n)continue r;var u=JSt(t);break}}else u=JSt(t);var a=u;break}else a=JSt(t);break}}else a=JSt(t);return 0===a?[0,r,[0,4,vgt(t)]]:P_t(yet)}));case 26:return GHt(r,t,(function(r,t){function e(r){for(;;){var t=Ojt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=Ojt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}}function n(r){for(;;){var t=iXt(YSt(r));if(0!==t)return 1===t?0:JSt(r)}}function u(r){var t=sHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:var u=rXt(YSt(r));return 0===u?n(r):1===u?e(r):JSt(r);case 1:return n(r);default:return e(r)}}function a(r){var t=wXt(YSt(r));if(0===t)for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var n=oHt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return 1===t?u(r):JSt(r)}KSt(t);var i=Pjt(YSt(t));if(2>>0)var c=JSt(t);else switch(i){case 0:if(0===Bjt(YSt(t)))for(;;){var f=oHt(YSt(t));if(2>>0)c=JSt(t);else switch(f){case 0:continue;case 1:c=u(t);break;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){var o=oHt(YSt(t));if(2>>0)var s=JSt(t);else switch(o){case 0:continue;case 1:s=u(t);break;default:continue r}break}else s=JSt(t);c=s;break}}break}else c=JSt(t);break;case 1:var v=Hjt(YSt(t));c=0===v?a(t):1===v?u(t):JSt(t);break;default:for(;;){var l=kXt(YSt(t));if(2>>0)c=JSt(t);else switch(l){case 0:c=a(t);break;case 1:continue;default:c=u(t)}break}}return 0===c?[0,SHt(r,_Ht(r,t),23),[1,2,vgt(t)]]:P_t(ket)}));case 27:return[0,SHt(r,_Ht(r,t),23),[1,2,vgt(t)]];case 28:return GHt(r,t,(function(r,t){function e(r){for(;;){VSt(r,0);var t=JXt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,0);var e=JXt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}}function n(r){for(;;)if(VSt(r,0),0!==Bjt(YSt(r)))return JSt(r)}function u(r){var t=sHt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:var u=rXt(YSt(r));return 0===u?n(r):1===u?e(r):JSt(r);case 1:return n(r);default:return e(r)}}function a(r){var t=wXt(YSt(r));if(0===t)for(;;){var e=oHt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var n=oHt(YSt(r));if(2>>0)return JSt(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return JSt(r)}}}return 1===t?u(r):JSt(r)}KSt(t);var i=Pjt(YSt(t));if(2>>0)var c=JSt(t);else switch(i){case 0:if(0===Bjt(YSt(t)))for(;;){var f=oHt(YSt(t));if(2>>0)c=JSt(t);else switch(f){case 0:continue;case 1:c=u(t);break;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){var o=oHt(YSt(t));if(2>>0)var s=JSt(t);else switch(o){case 0:continue;case 1:s=u(t);break;default:continue r}break}else s=JSt(t);c=s;break}}break}else c=JSt(t);break;case 1:var v=Hjt(YSt(t));c=0===v?a(t):1===v?u(t):JSt(t);break;default:for(;;){var l=kXt(YSt(t));if(2>>0)c=JSt(t);else switch(l){case 0:c=a(t);break;case 1:continue;default:c=u(t)}break}}return 0===c?[0,r,[0,4,vgt(t)]]:P_t(het)}));case 30:return GHt(r,t,(function(r,t){function e(r){for(;;){var t=Ojt(YSt(r));if(2>>0)return JSt(r);switch(t){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(r)))for(;;){var e=Ojt(YSt(r));if(2>>0)return JSt(r);switch(e){case 0:continue;case 1:continue r;default:return 0}}return JSt(r)}default:return 0}}}function n(r){var t=iXt(YSt(r));return 0===t?e(r):1===t?0:JSt(r)}KSt(t);var u=Pjt(YSt(t));if(2>>0)var a=JSt(t);else switch(u){case 0:a=0===Bjt(YSt(t))?e(t):JSt(t);break;case 1:for(;;){var i=RXt(YSt(t));if(0===i)a=n(t);else{if(1===i)continue;a=JSt(t)}break}break;default:for(;;){var c=DHt(YSt(t));if(2>>0)a=JSt(t);else switch(c){case 0:a=n(t);break;case 1:continue;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){var f=DHt(YSt(t));if(2>>0)var o=JSt(t);else switch(f){case 0:o=n(t);break;case 1:continue;default:continue r}break}else o=JSt(t);a=o;break}}break}}return 0===a?[0,SHt(r,_Ht(r,t),22),[1,2,vgt(t)]]:P_t(met)}));case 31:return GHt(r,t,(function(r,t){KSt(t);var e=rXt(YSt(t));if(0===e)for(;;){var n=iXt(YSt(t));if(0!==n){var u=1===n?0:JSt(t);break}}else if(1===e)for(;;){var a=Ojt(YSt(t));if(2>>0)u=JSt(t);else switch(a){case 0:continue;case 1:r:for(;;){if(0===Bjt(YSt(t)))for(;;){var i=Ojt(YSt(t));if(2>>0)var c=JSt(t);else switch(i){case 0:continue;case 1:continue r;default:c=0}break}else c=JSt(t);u=c;break}break;default:u=0}break}else u=JSt(t);return 0===u?[0,r,[1,2,vgt(t)]]:P_t(det)}));case 32:return[0,SHt(r,_Ht(r,t),22),[1,2,vgt(t)]];case 34:return GHt(r,t,(function(r,t){function e(r){for(;;){VSt(r,0);var t=JXt(YSt(r));if(0!==t){if(1===t)r:for(;;){if(0===Bjt(YSt(r)))for(;;){VSt(r,0);var e=JXt(YSt(r));if(0!==e){if(1===e)continue r;return JSt(r)}}return JSt(r)}return JSt(r)}}}function n(r){return VSt(r,0),0===Bjt(YSt(r))?e(r):JSt(r)}KSt(t);var u=Pjt(YSt(t));if(2>>0)var a=JSt(t);else switch(u){case 0:a=0===Bjt(YSt(t))?e(t):JSt(t);break;case 1:for(;;){VSt(t,0);var i=RXt(YSt(t));if(0===i)a=n(t);else{if(1===i)continue;a=JSt(t)}break}break;default:for(;;){VSt(t,0);var c=DHt(YSt(t));if(2>>0)a=JSt(t);else switch(c){case 0:a=n(t);break;case 1:continue;default:r:for(;;){if(0===Bjt(YSt(t)))for(;;){VSt(t,0);var f=DHt(YSt(t));if(2>>0)var o=JSt(t);else switch(f){case 0:o=n(t);break;case 1:continue;default:continue r}break}else o=JSt(t);a=o;break}}break}}return 0===a?[0,r,[0,4,vgt(t)]]:P_t(Fet)}));case 36:return[0,r,64];case 23:case 33:return[0,r,[1,2,vgt(t)]];default:return[0,r,[0,4,vgt(t)]]}})),QHt=gCt([0,yCt]),ZHt=function(r,t){return[0,[0],0,t,Fjt(r)]},r$t=function(r,t){var e=t+1|0;if(r[1].length-1>>0)var D=JSt(o);else switch(l){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:VSt(o,0);D=0===jXt(YSt(o))?0:JSt(o);break;case 4:D=2;break;default:D=3}if(4>>0)var p=P_t(Ytt);else switch(D){case 0:var b=vgt(o);jCt(f,b),jCt(c,b);var E=YHt(IHt(u,o),2,c,f,o),F=AHt(E,o),d=MCt(c),m=MCt(f);p=[0,E,[8,[0,[0,E[1],i,F],d,m]]];break;case 1:p=[0,u,qt];break;case 2:p=[0,u,95];break;case 3:p=[0,u,0];break;default:WSt(o);var h=YHt(u,2,c,f,o),k=AHt(h,o),y=MCt(c),A=MCt(f);p=[0,h,[8,[0,[0,h[1],i,k],y,A]]]}var _=p[2],C=p[1];a=wHt([0,C,_,CHt(C,_),0]);break;case 4:a=OI(WHt,u);break;default:a=OI(KHt,u)}var w=a[1],S=Fjt(w);r[4]=w;var g=r[2],B=[0,[0,S,a[2]]];GB(r[1],g)[1+g]=B,r[2]=r[2]+1|0}},t$t=function(r,t,e,n){var u=r?r[1]:r,a=t?t[1]:t;try{var i=ogt(n),c=0}catch(t){if((t=II(t))!==XSt)throw t;var f=[0,[0,[0,e,JI[2],JI[3]],86],0];i=ogt(ict),c=f}var o=a?a[1]:QI,s=function(r,t,e){return[0,r,t,Kqr,0,e,WI,Jqr]}(e,i,o[8]),v=[0,ZHt(s,0)];return[0,[0,c],[0,0],QHt[1],[0,QHt[1]],[0,0],o[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,fct],[0,s],v,[0,u],o,e,[0,0],[0,cct]]},e$t=function(r){return rCt(r[22][1])},n$t=function(r){return r[26][8]},u$t=function(r,t){var e=t[2];r[1][1]=[0,[0,t[1],e],r[1][1]];var n=r[21];return n?NI(n[1],r,e):n},a$t=function(r,t){var e=t[2][1];if(_I(e,act))return 0;if(NI(QHt[3],e,r[4][1]))return u$t(r,[0,t[1],[20,e]]);var n=NI(QHt[4],e,r[4][1]);return r[4][1]=n,0},i$t=function(r,t){return r[29][1]=t,0},c$t=function(r,t){if(r<2){var e=t[24][1];r$t(e,r);var n=GB(e[1],r)[1+r];return n?n[1][2]:P_t(sct)}throw[0,$I,ect]},f$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],r,t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},o$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],r,t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},s$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],r,t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},v$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],r,t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},l$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],r,t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},D$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],r,t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},p$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],r,t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},b$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],r,t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},E$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],r,t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},F$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],r,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},d$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],r,t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},m$t=function(r,t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],[0,r],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29]]},h$t=function(r){function t(t){return u$t(r,t)}return function(r){return cCt(t,r)}},k$t=function(r){var t=r[5][1];return t?[0,t[1][2]]:t},y$t=function(r){var t=r[5][1];return t?[0,t[1][1]]:t},A$t=function(r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],0,r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},_$t=function(r,t,e){return[0,r[1],r[2],QHt[1],r[4],r[5],r[6],0,0,0,0,1,r[12],r[13],r[14],r[15],r[16],e,t,r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},C$t=function(r){var t=yT(r,yit),e=0;if(0<=t){if(0>>0){if(!(Ah<(n+1|0)>>>0))return 1}else{var u=6!==n?1:0;if(!u)return u}}return X$t(r,t)},Y$t=function(r){return $$t(0,r)},V$t=function(r,t){var e=x$t(r,t);if(B$t(e))return 1;if(S$t(e))return 1;if(I$t(e))return 1;var n=0;if("number"==typeof e)switch(e){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:n=1}else 4===e[0]&&(n=1);return n?1:0},K$t=function(r,t){var e=e$t(t);if(1===e){var n=x$t(r,t);return"number"!=typeof n&&4===n[0]?1:0}if(0===e){var u=x$t(r,t);if("number"==typeof u)switch(u){case 42:case 46:case 47:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:break;default:return 0}else switch(u[0]){case 4:if(N$t(u[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}return 0},J$t=function(r){return V$t(0,r)},W$t=function(r){var t=15===P$t(r)?1:0;if(t)var e=t;else{var n=64===P$t(r)?1:0;if(n){var u=15===x$t(1,r)?1:0;if(u){var a=L$t(1,r)[2][1];e=R$t(r)[3][1]===a?1:0}else e=u}else e=n}return e},q$t=function(r){var t=P$t(r);if("number"==typeof t){var e=0;if(13!==t&&40!==t||(e=1),e)return 1}return 0},z$t=function(r,t){return u$t(r,[0,R$t(r),t])},Q$t=function(r,t){var e=G$t(t);OI(h$t(t),e);var n=P$t(t);if(S$t(n))var u=2;else if(B$t(n))u=53;else{var a=Ajt(0,n);u=r?[12,a,r[1]]:[11,a]}return z$t(t,u)},Z$t=function(r){function t(t){return u$t(r,[0,t[1],76])}return function(r){return cCt(t,r)}},rYt=function(r,t){var e=r[6];return e?z$t(r,t):e},tYt=function(r,t){var e=r[6];return e?u$t(r,[0,t[1],t[2]]):e},eYt=function(r,t){return u$t(r,[0,t,[19,r[6]]])},nYt=function(r){var t=r[25][1];if(t){var e=e$t(r),n=P$t(r),u=[0,R$t(r),n,e];OI(t[1],u)}var a=r[24][1];r$t(a,0);var i=GB(a[1],0)[1],c=i?i[1][1]:P_t(oct);r[23][1]=c;var f=G$t(r);OI(h$t(r),f);var o=r[2][1],s=eCt(c$t(0,r)[4],o);r[2][1]=s;var v=[0,c$t(0,r)];r[5][1]=v;var l=r[24][1];r$t(l,0),1>>0?NI(d,r,OI(e,r)):OI(m,r)}function G(r,t,n){return PYt([0,t],(function(r){var t=OI(k,r);return sYt(r,83),[0,n,t,OI(e,r),0]}),r)}function U(r,t){var e=P$t(t);if("number"==typeof e&&!(10<=e))switch(e){case 1:if(!r)return 0;break;case 3:if(r)return 0;break;case 8:case 9:return nYt(t)}return Q$t(0,t)}function j(r,t){return t?u$t(r,[0,t[1][1],7]):t}function X(r,t){return t?u$t(r,[0,t[1],9]):t}function H(t){var e=U$t(t);if(sYt(t,66),4===P$t(t)){var n=j_t(e,U$t(t));sYt(t,4),aYt(t,0);var u=OI(r[9],t);return iYt(t),sYt(t,5),[0,[0,u],vjt([0,n],[0,cYt(t)])]}return[0,0,vjt([0,e],[0,cYt(t)])]}mB(e,(function(r){return OI(u,r)})),mB(n,(function(r){return 1-n$t(r)&&z$t(r,12),PYt(0,(function(r){return sYt(r,83),OI(e,r)}),r)})),mB(u,(function(r){var t=86===P$t(r)?1:0;if(t){var e=U$t(r);nYt(r);var n=e}else n=t;return xI(a,r,[0,n],OI(i,r))})),mB(a,(function(r,t,e){var n=t?t[1]:t;if(86===P$t(r)){var u=[0,e,0];return PYt([0,e[1]],(function(r){for(var t=u;;){var e=P$t(r);if("number"!=typeof e||86!==e){var a=nCt(t);if(a){var c=a[2];if(c){var f=vjt([0,n],0);return[19,[0,[0,a[1],c[1],c[2]],f]]}}throw[0,$I,wht]}sYt(r,86);t=[0,OI(i,r),t]}}),r)}return e})),mB(i,(function(r){var t=88===P$t(r)?1:0;if(t){var e=U$t(r);nYt(r);var n=e}else n=t;return xI(c,r,[0,n],OI(f,r))})),mB(c,(function(r,t,e){var n=t?t[1]:t;if(88===P$t(r)){var u=[0,e,0];return PYt([0,e[1]],(function(r){for(var t=u;;){var e=P$t(r);if("number"!=typeof e||88!==e){var a=nCt(t);if(a){var i=a[2];if(i){var c=vjt([0,n],0);return[20,[0,[0,a[1],i[1],i[2]],c]]}}throw[0,$I,Cht]}sYt(r,88);t=[0,OI(f,r),t]}}),r)}return e})),mB(f,(function(r){return NI(o,r,OI(s,r))})),mB(o,(function(r,t){var e=P$t(r);if("number"==typeof e&&11===e&&!r[15]){var n=NI(d,r,t);return LI(w,r,n[1],0,[0,n[1],[0,0,[0,n,0],0,0]])}return t})),mB(s,(function(r){var t=P$t(r);return"number"==typeof t&&82===t?PYt(0,(function(r){var t=U$t(r);sYt(r,82);var e=vjt([0,t],0);return[11,[0,OI(s,r),e]]}),r):OI(v,r)})),mB(v,(function(r){return xI(l,0,r,OI(p,r))})),mB(l,(function(r,t,e){var n=r?r[1]:r;if(H$t(t))return e;var u=P$t(t);if("number"==typeof u){if(6===u)return nYt(t),LI(D,n,0,t,e);if(10===u){var a=x$t(1,t);return"number"==typeof a&&6===a?(z$t(t,Aht),sYt(t,10),sYt(t,6),LI(D,n,0,t,e)):(z$t(t,_ht),e)}if(80===u)return nYt(t),6!==P$t(t)&&z$t(t,30),sYt(t,6),LI(D,1,1,t,e)}return e})),mB(D,(function(r,t,n,u){return xI(l,[0,r],n,PYt([0,u[1]],(function(n){if(!t&&uYt(n,7))return[15,[0,u,vjt(0,[0,cYt(n)])]];var a=OI(e,n);sYt(n,7);var i=[0,u,a,vjt(0,[0,cYt(n)])];return r?[18,[0,i,t]]:[17,i]}),n))})),mB(p,(function(r){var t=R$t(r),e=P$t(r),n=0;if("number"==typeof e)switch(e){case 4:return OI(_,r);case 6:return OI(F,r);case 46:return PYt(0,(function(r){var t=U$t(r);sYt(r,46);var e=vjt([0,t],0);return[21,[0,OI(p,r),0,e]]}),r);case 53:return PYt(0,(function(r){var t=U$t(r);sYt(r,53);var e=OI(g,r),n=vjt([0,t],0);return[14,[0,e[2],e[1],n]]}),r);case 95:return OI(C,r);case 103:var u=U$t(r);return sYt(r,ul),[0,t,[10,vjt([0,u],[0,cYt(r)])]];case 42:n=1;break;case 0:case 2:var a=LI(S,0,1,1,r);return[0,a[1],[13,a[2]]];case 30:case 31:var i=U$t(r);return sYt(r,e),[0,t,[26,[0,31===e?1:0,vjt([0,i],[0,cYt(r)])]]]}else switch(e[0]){case 2:var c=e[1],f=c[4],o=c[3],s=c[2],v=c[1];f&&rYt(r,44);var l=U$t(r);return sYt(r,[2,[0,v,s,o,f]]),[0,v,[23,[0,s,o,vjt([0,l],[0,cYt(r)])]]];case 10:var D=e[3],b=e[2],d=e[1],m=U$t(r);sYt(r,[10,d,b,D]);var h=cYt(r);return 1===d&&rYt(r,44),[0,t,[24,[0,b,D,vjt([0,m],[0,h])]]];case 11:var k=e[3],y=e[2],A=U$t(r);return sYt(r,[11,e[1],y,k]),[0,t,[25,[0,y,k,vjt([0,A],[0,cYt(r)])]]];case 4:n=1}if(n){var w=OI(N,r);return[0,w[1],[16,w[2]]]}var B=OI(E,r);return B?[0,t,B[1]]:(Q$t(0,r),[0,t,yht])})),mB(b,(function(r){var t=0;if("number"==typeof r)switch(r){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:t=1}else 9===r[0]&&(t=1);return t?1:0})),mB(E,(function(r){var t=U$t(r),e=P$t(r);if("number"==typeof e)switch(e){case 29:return nYt(r),[0,[4,vjt([0,t],[0,cYt(r)])]];case 111:return nYt(r),[0,[0,vjt([0,t],[0,cYt(r)])]];case 112:return nYt(r),[0,[1,vjt([0,t],[0,cYt(r)])]];case 113:return nYt(r),[0,[2,vjt([0,t],[0,cYt(r)])]];case 114:return nYt(r),[0,[5,vjt([0,t],[0,cYt(r)])]];case 115:return nYt(r),[0,[6,vjt([0,t],[0,cYt(r)])]];case 116:return nYt(r),[0,[7,vjt([0,t],[0,cYt(r)])]];case 117:return nYt(r),[0,[3,vjt([0,t],[0,cYt(r)])]];case 118:return nYt(r),[0,[9,vjt([0,t],[0,cYt(r)])]]}else if(9===e[0])return nYt(r),[0,[8,vjt([0,t],[0,cYt(r)])]];return 0})),mB(F,(function(r){return PYt(0,(function(r){var t=U$t(r);sYt(r,6);for(var n=E$t(0,r),u=0;;){var a=P$t(n);if("number"==typeof a){var i=0;if(7!==a&&qt!==a||(i=1),i){var c=nCt(u);return sYt(r,7),[22,[0,c,vjt([0,t],[0,cYt(r)])]]}}var f=[0,OI(e,n),u];7!==P$t(n)&&sYt(n,9);u=f}}),r)})),mB(d,(function(r,t){return[0,t[1],[0,0,t,0]]})),mB(m,(function(t){return PYt(0,(function(t){aYt(t,0);var n=NI(r[13],0,t);iYt(t),1-n$t(t)&&z$t(t,12);var u=uYt(t,82);return sYt(t,83),[0,[0,n],OI(e,t),u]}),t)})),mB(h,(function(r){return function(t){for(var e=0,u=t;;){var a=P$t(r);if("number"==typeof a)switch(a){case 5:case 12:case 110:var i=12===a?1:0,c=i?[0,PYt(0,(function(r){var t=U$t(r);sYt(r,12);var e=vjt([0,t],0);return[0,M(r),e]}),r)]:i;return[0,e,nCt(u),c,0]}else if(4===a[0]&&!wI(a[3],kht)){var f=0;if(83!==x$t(1,r)&&82!==x$t(1,r)||(f=1),f){((0!==e?1:0)||(0!==u?1:0))&&z$t(r,$a);var o=PYt(0,(function(r){var t=U$t(r);nYt(r),82===P$t(r)&&z$t(r,Yu);var e=vjt([0,t],0);return[0,OI(n,r),e]}),r);5!==P$t(r)&&sYt(r,9);e=[0,o];continue}}var s=[0,M(r),u];5!==P$t(r)&&sYt(r,9);u=s}}})),mB(k,(function(r){return PYt(0,(function(r){var t=U$t(r);sYt(r,4);var e=NI(h,r,0),n=U$t(r);sYt(r,5);var u=ljt([0,t],[0,cYt(r)],n);return[0,e[1],e[2],e[3],u]}),r)})),mB(y,(function(r){var t=U$t(r);sYt(r,4);var n=E$t(0,r),u=P$t(n),a=0;if("number"==typeof u)switch(u){case 5:var i=hht;break;case 42:a=2;break;case 12:case 110:i=[0,NI(h,n,0)];break;default:a=1}else a=4===u[0]?2:1;switch(a){case 1:if(OI(b,u)){var c=x$t(1,n),f=0;if("number"==typeof c&&!(1<(c+uo|0)>>>0)){var o=[0,NI(h,n,0)];f=1}if(!f)o=[1,OI(e,n)];i=o}else i=[1,OI(e,n)];break;case 2:i=OI(A,n)}if(0===i[0])var s=i;else{var v=i[1];if(r[15])var l=i;else{var D=P$t(r),p=0;if("number"==typeof D)if(5===D)var E=11===x$t(1,r)?[0,NI(h,r,[0,NI(d,r,v),0])]:[1,v];else if(9===D){sYt(r,9);E=[0,NI(h,r,[0,NI(d,r,v),0])]}else p=1;else p=1;if(p)E=i;l=E}s=l}var F=U$t(r);sYt(r,5);var m=cYt(r);if(0===s[0]){var k=s[1],y=ljt([0,t],[0,m],F);return[0,[0,k[1],k[2],k[3],y]]}return[1,xI(R,s[1],t,m)]})),mB(A,(function(r){var t=x$t(1,r);if("number"==typeof t&&!(1<(t+uo|0)>>>0))return[0,NI(h,r,0)];var e=NI(o,r,xI(l,0,r,NI(L,r,OI(B,r)))),n=NI(OI(c,r),0,e);return[1,NI(OI(a,r),0,n)]})),mB(_,(function(r){var t=R$t(r),e=PYt(0,y,r),n=e[2];return 0===n[0]?LI(w,r,t,0,[0,e[1],n[1]]):n[1]})),mB(C,(function(r){var t=R$t(r),e=yYt(r,OI(I,r));return LI(w,r,t,e,OI(k,r))})),mB(w,(function(r,t,n,u){return PYt([0,t],(function(r){return sYt(r,11),[12,[0,n,u,OI(e,r),0]]}),r)})),mB(S,(function(n,u,a,i){var c=u?2===P$t(i)?1:0:u,f=u?1-c:u;return PYt(0,(function(u){var i=U$t(u);sYt(u,c?2:c);var o=E$t(0,u),s=mht;r:for(;;){var v=s[3],l=s[2],D=s[1];if(n&&a)throw[0,$I,iht];if(f&&!a)throw[0,$I,cht];var p=R$t(o),b=P$t(o);if("number"==typeof b){var E=0;if(13<=b){if(qt===b){var F=[0,nCt(D),l,v];E=1}}else if(0!==b)switch(b-1|0){case 0:if(!c){F=[0,nCt(D),l,v];E=1}break;case 2:if(c){F=[0,nCt(D),l,v];E=1}break;case 11:if(!a){nYt(o);var d=P$t(o);if("number"==typeof d&&!(10<=d))switch(d){case 1:case 3:case 8:case 9:u$t(o,[0,p,20]),U(c,o);continue}var m=G$t(o);OI(h$t(o),m),u$t(o,[0,p,17]),nYt(o),U(c,o);continue}var h=U$t(o);nYt(o);var k=P$t(o),y=0;if("number"==typeof k&&!(10<=k))switch(k){case 1:case 3:case 8:case 9:U(c,o);var A=P$t(o),_=0;if("number"==typeof A){var C=A-1|0;if(!(2>>0))switch(C){case 0:if(f){F=[0,nCt(D),1,h];E=1,y=1,_=1}break;case 1:break;default:u$t(o,[0,p,19]);F=[0,nCt(D),l,v];E=1,y=1,_=1}}if(!_){u$t(o,[0,p,18]);continue}}if(!y){var w=[1,PYt([0,p],function(r){return function(t){var n=vjt([0,r],0);return[0,OI(e,t),n]}}(h),o)];U(c,o);s=[0,[0,w,D],l,v];continue}}if(E){var S=U$t(u),g=j_t(F[3],S);sYt(u,c?3:1);var B=ljt([0,i],[0,cYt(u)],g);return[0,c,F[2],F[1],B]}}for(var T=n,O=n,N=0,x=0,L=0,P=0;;){var R=P$t(o),M=0;if("number"==typeof R)switch(R){case 6:X(o,L);var H=x$t(1,o),$=0;if("number"==typeof H&&6===H){j(o,N);var Y=[4,PYt([0,p],function(r,t,n){return function(u){var a=j_t(t,U$t(u));sYt(u,6),sYt(u,6);var i=xYt(u);sYt(u,7),sYt(u,7);var c=P$t(u),f=0;if("number"==typeof c){var o=0;if(4!==c&&95!==c&&(o=1),!o){var s=G(u,r,yYt(u,OI(I,u))),v=0,l=1,D=[0,s[1],[12,s[2]]],p=0;f=1}}if(!f){var b=uYt(u,82),E=cYt(u);sYt(u,83);v=b,l=0,D=OI(e,u),p=E}return[0,i,D,v,0!==n?1:0,l,vjt([0,a],[0,p])]}}(p,P,x),o)];$=1}if(!$)Y=[2,PYt([0,p],function(r,t,n){return function(u){var a=j_t(r,U$t(u));sYt(u,6);var i=83===x$t(1,u)?1:0;if(i){var c=xYt(u);sYt(u,83);var f=[0,c]}else f=i;var o=OI(e,u);sYt(u,7);var s=cYt(u);return sYt(u,83),[0,f,o,OI(e,u),0!==t?1:0,n,vjt([0,a],[0,s])]}}(P,x,N),o)];break;case 42:if(T){if(0===N){var V=[0,R$t(o)],K=j_t(P,U$t(o));nYt(o);T=0,O=0,x=V,P=K;continue}throw[0,$I,fht]}M=1;break;case 100:case 101:if(0===N){T=0,O=0,N=t(o);continue}M=1;break;case 4:case 95:X(o,L),j(o,N);Y=[3,PYt([0,p],function(r,t){return function(e){return[0,G(e,R$t(e),yYt(e,OI(I,e))),0!==t?1:0,vjt([0,r],0)]}}(P,x),o)];break;default:M=1}else if(4!==R[0]||wI(R[3],oht))M=1;else{if(O){if(0===N){var J=[0,R$t(o)],W=j_t(P,U$t(o));nYt(o);T=0,O=0,L=J,P=W;continue}throw[0,$I,sht]}M=1}if(M){var q=0;if(x){if(L){Y=P_t(vht);q=1}else if("number"==typeof R&&!(1<(R+uo|0)>>>0)){var z=[0,x[1],lht],Q=[1,ojt(vjt([0,P],0),z)],Z=0,rr=L,tr=0;q=2}}else if(L&&"number"==typeof R&&!(1<(R+uo|0)>>>0)){var er=[0,L[1],Dht];Q=[1,ojt(vjt([0,P],0),er)],Z=0,rr=0,tr=x;q=2}var nr=0;switch(q){case 0:var ur=function(t){aYt(t,0);var e=NI(r[20],0,t);return iYt(t),e},ar=U$t(o),ir=ur(o)[2],cr=0;if(1===ir[0]){var fr=ir[1][2][1],or=0;if(wI(fr,pht)&&wI(fr,bht)&&(or=1),!or){var sr=P$t(o),vr=0;if("number"==typeof sr){var lr=sr-5|0;if(89>>0)91<(lr+1|0)>>>0||(X(o,L),j(o,N),cr=1,vr=1);else if(!(1<(lr-77|0)>>>0)){Q=ir,Z=P,rr=L,tr=x;nr=1,cr=2,vr=1}}if(!vr){wYt(o,ir);var Dr=ur(o),pr=_I(fr,Eht),br=j_t(P,ar);X(o,L),j(o,N);Y=[0,PYt([0,p],function(r,t,e,n,u){return function(a){var i=e[1],c=wYt(a,e[2]),f=G(a,r,0),o=f[2][2];if(0===n){var s=o[2];if(s[1])u$t(a,[0,i,Ah]);else{var v=s[2];if(s[3])u$t(a,[0,i,81]);else{var l=0;v&&!v[2]&&(l=1),l||u$t(a,[0,i,81])}}}else{var D=o[2];if(D[1])u$t(a,[0,i,jb]);else{var p=0;(D[2]||D[3])&&(p=1),p&&u$t(a,[0,i,80])}}var b=vjt([0,u],0);return[0,c,n?[1,f]:[2,f],0,0!==t?1:0,0,0,0,b]}}(p,x,Dr,pr,br),o)];cr=2}}}var Er=0;switch(cr){case 2:Er=1;break;case 0:var Fr=P$t(o),dr=0;if("number"==typeof Fr){var mr=0;4!==Fr&&95!==Fr&&(mr=1),mr||(X(o,L),j(o,N),dr=1)}if(!dr){var hr=0!==x?1:0;if(1===ir[0]){var kr=ir[1],yr=kr[2][1];if(n){var Ar=0;_I(Fht,yr)||hr&&_I(dht,yr)||(Ar=1),Ar||u$t(o,[0,kr[1],[22,yr,hr,0]])}}Q=ir,Z=P,rr=L,tr=x;nr=1,Er=1}}if(!Er){var _r=wYt(o,ir),Cr=G(o,p,yYt(o,OI(I,o))),wr=[0,Cr[1],[12,Cr[2]]],Sr=[0,_r,[0,wr],0,0!==x?1:0,0,1,0,vjt([0,P],0)];Y=[0,[0,wr[1],Sr]]}break;case 2:nr=1}if(nr){1-n$t(o)&&z$t(o,12);Y=[0,PYt([0,p],function(r,t,n,u,a){return function(i){var c=uYt(i,82);sYt(i,83);var f=OI(e,i);return[0,a,[0,f],c,0!==t?1:0,0!==n?1:0,0,r,vjt([0,u],0)]}}(N,tr,rr,Z,Q),o)]}}U(c,o);s=[0,[0,Y,D],l,v];continue r}}}),i)})),mB(g,(function(r){var t=41===P$t(r)?1:0;if(t){sYt(r,41);for(var e=0;;){var n=[0,OI(N,r),e],u=P$t(r);if("number"!=typeof u||9!==u){var a=SYt(r,nCt(n));break}sYt(r,9);e=n}}else a=t;return[0,a,LI(S,0,0,0,r)]})),mB(B,(function(r){var t=xYt(r),e=t[2],n=e[1],u=t[1];return N$t(n)&&u$t(r,[0,u,3]),[0,u,[0,n,e[2]]]})),mB(T,(function(r){return PYt(0,(function(r){return[0,OI(B,r),83===P$t(r)?[1,OI(n,r)]:[0,M$t(r)]]}),r)})),mB(I,(function(r){var n=95===P$t(r)?1:0;if(n){1-n$t(r)&&z$t(r,12);var u=[0,PYt(0,(function(r){var n=U$t(r);sYt(r,95);for(var u=0,a=0;;){var i=PYt(0,function(r){return function(n){var u=t(n),a=OI(T,n),i=a[2],c=P$t(n),f=0;if("number"==typeof c&&79===c){nYt(n);var o=[0,OI(e,n)],s=1;f=1}if(!f){r&&u$t(n,[0,a[1],77]);o=0,s=r}return[0,u,i[1],i[2],o,s]}}(u),r),c=i[2],f=[0,[0,i[1],[0,c[2],c[3],c[1],c[4]]],a],o=P$t(r),s=0;if("number"==typeof o){var v=0;if(96!==o&&qt!==o&&(v=1),!v){var l=nCt(f);s=1}}if(!s){if(sYt(r,9),96!==P$t(r)){u=c[5],a=f;continue}l=nCt(f)}var D=U$t(r);return sYt(r,96),[0,l,ljt([0,n],[0,cYt(r)],D)]}}),r)]}else u=n;return u})),mB(O,(function(r){var t=95===P$t(r)?1:0;return t?[0,PYt(0,(function(r){var t=U$t(r);sYt(r,95);for(var n=E$t(0,r),u=0;;){var a=P$t(n);if("number"==typeof a){var i=0;if(96!==a&&qt!==a||(i=1),i){var c=nCt(u),f=U$t(n);return sYt(n,96),[0,c,ljt([0,t],[0,cYt(n)],f)]}}var o=[0,OI(e,n),u];96!==P$t(n)&&sYt(n,9);u=o}}),r)]:t})),mB(N,(function(r){return NI(x,r,OI(B,r))})),mB(x,(function(r,t){return PYt([0,t[1]],(function(r){for(var e=[0,t[1],[0,t]];;){var n=e[2],u=e[1];if(10!==P$t(r)||!K$t(1,r)){if(95===P$t(r))var a=NI(hYt(r)[2],n,(function(r,t){return NI(LT(r,-860373976,75),r,t)}));else a=n;return[0,a,OI(O,r),0]}var i=PYt([0,u],function(r){return function(t){return sYt(t,10),[0,r,OI(B,t)]}}(n),r),c=i[1];e=[0,c,[1,[0,c,i[2]]]]}}),r)})),mB(L,(function(r,t){var e=NI(x,r,t);return[0,e[1],[16,e[2]]]})),mB(P,(function(r){var t=P$t(r);return"number"==typeof t&&83===t?[1,OI(n,r)]:[0,M$t(r)]})),mB(R,(function(r,t,e){var n=r[2];function u(r){return Djt(r,vjt([0,t],[0,e]))}switch(n[0]){case 0:var a=[0,u(n[1])];break;case 1:a=[1,u(n[1])];break;case 2:a=[2,u(n[1])];break;case 3:a=[3,u(n[1])];break;case 4:a=[4,u(n[1])];break;case 5:a=[5,u(n[1])];break;case 6:a=[6,u(n[1])];break;case 7:a=[7,u(n[1])];break;case 8:a=[8,u(n[1])];break;case 9:a=[9,u(n[1])];break;case 10:a=[10,u(n[1])];break;case 11:var i=n[1],c=u(i[2]);a=[11,[0,i[1],c]];break;case 12:var f=n[1],o=u(f[4]);a=[12,[0,f[1],f[2],f[3],o]];break;case 13:var s=n[1],v=vjt([0,t],[0,e]),l=pjt(s[4],v);a=[13,[0,s[1],s[2],s[3],l]];break;case 14:var D=n[1],p=u(D[3]);a=[14,[0,D[1],D[2],p]];break;case 15:var b=n[1],E=u(b[2]);a=[15,[0,b[1],E]];break;case 16:var F=n[1],d=u(F[3]);a=[16,[0,F[1],F[2],d]];break;case 17:var m=n[1],h=u(m[3]);a=[17,[0,m[1],m[2],h]];break;case 18:var k=n[1],y=k[1],A=k[2],_=u(y[3]);a=[18,[0,[0,y[1],y[2],_],A]];break;case 19:var C=n[1],w=u(C[2]);a=[19,[0,C[1],w]];break;case 20:var S=n[1],g=u(S[2]);a=[20,[0,S[1],g]];break;case 21:var B=n[1],T=u(B[3]);a=[21,[0,B[1],B[2],T]];break;case 22:var I=n[1],O=u(I[2]);a=[22,[0,I[1],O]];break;case 23:var N=n[1],x=u(N[3]);a=[23,[0,N[1],N[2],x]];break;case 24:var L=n[1],P=u(L[3]);a=[24,[0,L[1],L[2],P]];break;case 25:var R=n[1],M=u(R[3]);a=[25,[0,R[1],R[2],M]];break;default:var G=n[1],U=u(G[2]);a=[26,[0,G[1],U]]}return[0,r[1],a]}));function $(r){var t=E$t(0,r),e=P$t(t);return"number"==typeof e&&66===e?[0,PYt(0,H,t)]:0}function Y(r){var t=P$t(r),e=x$t(1,r);if("number"==typeof t&&83===t){if("number"==typeof e&&66===e){sYt(r,83);var n=$(r);return[0,[0,M$t(r)],n]}var u=OI(P,r);return[0,66===P$t(r)?AYt(r,u):u,$(r)]}return[0,[0,M$t(r)],0]}function V(r,t){var e=f$t(1,t);aYt(e,1);var n=OI(r,e);return iYt(e),n}return[0,function(r){return V(e,r)},function(r){return V(B,r)},function(r){return V(I,r)},function(r){return V(O,r)},function(r){return V(N,r)},function(r,t){return V(xI(S,r,0,0),t)},function(r){return V(g,r)},function(r){return V(k,r)},function(r){return V(n,r)},function(r){return V(P,r)},function(r){return V($,r)},function(r){return V(Y,r)}]}(HYt),YYt=function(r){var t=[0,aht,RYt[1],0];function e(r){var t=P$t(r);if("number"==typeof t){var e=0;if(8<=t?10<=t||(e=1):1===t&&(e=1),e)return 1}return 0}function n(r){var t=xYt(r),n=P$t(r),u=0;if("number"==typeof n){var a=0;if(79===n?sYt(r,79):83===n?(z$t(r,[5,t[2][1]]),sYt(r,83)):a=1,!a){var i=R$t(r),c=U$t(r),f=P$t(r),o=0;if("number"==typeof f)switch(f){case 30:case 31:nYt(r);var s=cYt(r),v=e(r)?[1,i,[0,31===f?1:0,vjt([0,c],[0,s])]]:[0,i];break;default:o=1}else switch(f[0]){case 0:var l=f[2],D=xI(HYt[24],r,f[1],l),p=cYt(r);v=e(r)?[2,i,[0,D,l,vjt([0,c],[0,p])]]:[0,i];break;case 2:var b=f[1],E=b[1];b[4]&&rYt(r,44),nYt(r);var F=cYt(r);if(e(r))var d=vjt([0,c],[0,F]),m=[3,E,[0,b[2],b[3],d]];else m=[0,E];v=m;break;default:o=1}if(o){nYt(r);v=[0,i]}var h=v;u=1}}if(!u)h=0;return[0,t,h]}function u(r){var e=U$t(r);sYt(r,48);var u=NI(HYt[13],0,r),a=u[2][1],i=u[1];return[16,[0,u,PYt(0,(function(r){var e=uYt(r,63);if(e){aYt(r,1);var u=P$t(r),c=0;if("number"==typeof u)switch(u){case 114:var f=rht;break;case 116:f=tht;break;case 118:f=eht;break;default:c=1}else switch(u[0]){case 4:z$t(r,[4,a,[0,u[2]]]);f=0;break;case 9:if(0===u[1])c=1;else f=nht;break;default:c=1}if(c){z$t(r,[4,a,0]);f=0}nYt(r),iYt(r);var o=f}else o=e;var s=0!==o?1:0,v=s?U$t(r):s;sYt(r,0);for(var l=t;;){var D=P$t(r);if("number"==typeof D){var p=D-2|0;if(Yu

>>0){if(!(Ah<(p+1|0)>>>0)){var b=l[3],E=nCt(l[1][4]),F=nCt(l[1][3]),d=nCt(l[1][2]),m=nCt(l[1][1]);sYt(r,1);var h=P$t(r),k=0;if("number"==typeof h){var y=0;if(1!==h&&qt!==h&&(k=1,y=1),!y)var A=cYt(r)}else k=1;if(k){var _=H$t(r);A=_?fYt(r):_}var C=vjt([0,v],[0,A]);if(o)switch(o[1]){case 0:return[0,[0,m,1,b,C]];case 1:return[1,[0,d,1,b,C]];case 2:var w=1;break;default:return[3,[0,E,b,C]]}else{var g=Z_t(m),B=Z_t(d),T=Z_t(F),I=Z_t(E),O=0;if(0===g&&0===B){var N=0;if(0===T&&0===I&&(O=1,N=1),!N){w=0;O=2}}var x=0;switch(O){case 0:if(0===B&&0===T&&I<=g)return cCt((function(t){return u$t(r,[0,t[1],[1,a,t[2][1][2][1]]])}),E),[0,[0,m,0,b,C]];if(0===g&&0===T&&I<=B)return cCt((function(t){return u$t(r,[0,t[1],[9,a,t[2][1][2][1]]])}),E),[1,[0,d,0,b,C]];u$t(r,[0,i,[3,a]]);break;case 1:break;default:x=1}if(!x)return[2,[0,uht,0,b,C]]}var L=Z_t(F),P=Z_t(E);if(0===L);else{var R=0;if(0!==P&&(L>>0)Ah<(j+1|0)>>>0&&(X=1);else if(7===j){sYt(r,9);var H=P$t(r),$=0;if("number"==typeof H){var Y=0;if(1!==H&&qt!==H&&(Y=1),!Y){var V=1;$=1}}if(!$)V=0;u$t(r,[0,M,[8,V]])}else X=1;X||(U=1)}U||u$t(r,[0,M,Qmt]);l=[0,l[1],l[2],1];continue}}var K=l[2],J=l[1],W=PYt(0,n,r),q=W[2],z=q[1],Q=z[2][1];if(_I(Q,Zmt))var Z=l;else{var rr=z[1],tr=q[2],er=W[1],nr=CI(Q,0),ur=97<=nr?1:0;(ur?nr<=S?1:0:ur)&&u$t(r,[0,rr,[7,a,Q]]),NI(RYt[3],Q,K)&&u$t(r,[0,rr,[2,a,Q]]);var ar=l[3],ir=NI(RYt[4],Q,K),cr=[0,l[1],ir,ar],fr=function(t){return function(e,n){return o&&o[1]!==e?u$t(r,[0,n,[6,a,o,t]]):0}}(Q);if("number"==typeof tr){var or=0;if(o){var sr=o[1],vr=0;if(1===sr?u$t(r,[0,er,[9,a,Q]]):0===sr?u$t(r,[0,er,[1,a,Q]]):(or=1,vr=1),!vr)var lr=cr}else or=1;if(or)lr=[0,[0,J[1],J[2],J[3],[0,[0,er,[0,z]],J[4]]],ir,ar]}else switch(tr[0]){case 0:u$t(r,[0,tr[1],[6,a,o,Q]]);lr=cr;break;case 1:var Dr=tr[1];fr(0,Dr);lr=[0,[0,[0,[0,er,[0,z,[0,Dr,tr[2]]]],J[1]],J[2],J[3],J[4]],ir,ar];break;case 2:var pr=tr[1];fr(1,pr);lr=[0,[0,J[1],[0,[0,er,[0,z,[0,pr,tr[2]]]],J[2]],J[3],J[4]],ir,ar];break;default:var br=tr[1];fr(2,br);lr=[0,[0,J[1],J[2],[0,[0,er,[0,z,[0,br,tr[2]]]],J[3]],J[4]],ir,ar]}Z=lr}var Er=P$t(r),Fr=0;if("number"==typeof Er){var dr=Er-2|0,mr=0;Yu>>0?Ah<(dr+1|0)>>>0&&(mr=1):6===dr?(z$t(r,1),sYt(r,8)):mr=1,mr||(Fr=1)}Fr||sYt(r,9);l=Z}}),r),vjt([0,e],0)]]}function a(r,t){var e=t[2][1],n=t[1],u=r[1];return T$t(e)&&tYt(u,[0,n,41]),(w$t(e)||g$t(e))&&tYt(u,[0,n,53]),[0,u,r[2]]}function i(r,t){var e=t[2];switch(e[0]){case 0:return fCt(c,r,e[1][1]);case 1:return fCt(f,r,e[1][1]);case 2:var n=e[1][1],u=n[2][1],i=r[2],o=r[1];NI(MYt[3],u,i)&&u$t(o,[0,n[1],42]);var s=a([0,o,i],n),v=NI(MYt[4],u,s[2]);return[0,s[1],v];default:return u$t(r[1],[0,t[1],31]),r}}function c(r,t){if(0===t[0]){var e=t[1][2],n=e[1];return i(1===n[0]?a(r,n[1]):r,e[2])}return i(r,t[1][2][1])}function f(r,t){return 2===t[0]?r:i(r,t[1][2][1])}function o(r,t,e,n,u){var a=t||1-e;if(a){var c=u[2],f=c[3],o=t?f$t(1-r[6],r):r;if(n){var s=n[1],v=s[2][1],l=s[1];T$t(v)&&tYt(o,[0,l,43]),(w$t(v)||g$t(v))&&tYt(o,[0,l,53])}var D=c[2],p=fCt((function(r,t){return i(r,t[2][1])}),[0,o,MYt[1]],D),b=f?(i(p,f[1][2][1]),0):f}else b=a;return b}var s=function r(t,e){return r.fun(t,e)};function v(r){21===P$t(r)&&z$t(r,$a);var t=NI(HYt[18],r,41),e=79===P$t(r)?1:0;return[0,t,e?(sYt(r,79),[0,OI(HYt[10],r)]):e]}function l(t,e){function n(n){var u=o$t(e,s$t(t,n)),a=[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],1,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29]],i=U$t(a);sYt(a,4);var c=n$t(a),f=c?21===P$t(a)?1:0:c;if(f){var o=U$t(a),v=PYt(0,(function(t){return sYt(t,21),83===P$t(t)?[0,OI(r[9],t)]:(z$t(t,BS),0)}),a),l=v[2];if(l){9===P$t(a)&&nYt(a);var D=vjt([0,o],0),p=[0,[0,v[1],[0,l[1],D]]]}else p=l;var b=p}else b=f;var E=NI(s,a,0),F=U$t(a);sYt(a,5);var d=ljt([0,i],[0,cYt(a)],F);return[0,b,E[1],E[2],d]}return function(r){return PYt(0,n,r)}}function D(r,t,e,n){var u=_$t(r,t,e),a=NI(HYt[16],n,u);return[0,[0,[0,a[1],a[2]]],a[3]]}function p(r){if(ul===P$t(r)){var t=U$t(r);return nYt(r),[0,1,t]}return Tht}function b(r){if(64===P$t(r)&&!X$t(1,r)){var t=U$t(r);return nYt(r),[0,1,t]}return Bht}function E(r){var t=r[2],e=0===t[3]?1:0;if(e)for(var n=t[2];;){if(n){var u=n[1][2],a=0,i=n[2];if(2===u[1][2][0]&&!u[2]){var c=1;a=1}if(!a)c=0;if(c){n=i;continue}return c}return 1}return e}function F(t){var e=b(t),n=e[1],u=e[2],a=PYt(0,(function(t){var e=U$t(t);sYt(t,15);var a=p(t),i=a[1],c=uCt([0,u,[0,e,[0,a[2],0]]]),f=t[7],o=P$t(t),s=0;if(0!==f&&"number"==typeof o)if(4===o){var v=0,D=0;s=1}else if(95===o){v=yYt(t,OI(r[3],t)),D=4===P$t(t)?0:[0,kYt(t,NI(HYt[13],Sht,t))];s=1}if(!s){var b=kYt(t,NI(HYt[13],ght,t));v=yYt(t,OI(r[3],t)),D=[0,b]}var E=OI(l(n,i),t),F=83===P$t(t)?E:_Yt(t,E),d=OI(r[12],t),m=d[2],h=d[1];if(m)var k=h,y=CYt(t,m);else k=AYt(t,h),y=m;return[0,i,v,D,F,k,y,c]}),t),i=a[2],c=i[4],f=i[3],s=i[1],v=D(t,n,s,0),F=E(c);o(t,v[2],F,f,c);var d=a[1],m=vjt([0,i[7]],0);return[23,[0,f,c,v[1],n,s,i[6],i[5],i[2],m,d]]}mB(s,(function(r,t){var e=P$t(r);if("number"==typeof e){var n=e-5|0,u=0;if(7>>0?BS===n&&(u=1):5<(n-1|0)>>>0&&(u=1),u){var a=12===e?1:0;if(a)var i=U$t(r),c=PYt(0,(function(r){return sYt(r,12),NI(HYt[18],r,41)}),r),f=vjt([0,i],0),o=[0,[0,c[1],[0,c[2],f]]];else o=a;return 5!==P$t(r)&&z$t(r,62),[0,nCt(t),o]}}var l=PYt(0,v,r);return 5!==P$t(r)&&sYt(r,9),NI(s,r,[0,l,t])}));function d(r,t){var e=U$t(t);sYt(t,r);for(var n=0,u=0;;){var a=PYt(0,(function(r){var t=NI(HYt[18],r,40);if(uYt(r,79))var e=[0,OI(HYt[10],r)],n=0;else if(2===t[2][0])e=tO[1],n=tO[2];else e=0,n=[0,[0,t[1],57]];return[0,[0,t,e],n]}),t),i=a[2],c=i[2],f=[0,[0,a[1],i[1]],n],o=c?[0,c[1],u]:u;if(!uYt(t,9)){var s=nCt(o);return[0,nCt(f),e,s]}n=f,u=o}}return[0,b,p,function(r,t,e){var n=R$t(r),u=P$t(r),a=0;if("number"==typeof u)if(ku===u){var i=U$t(r);nYt(r);var c=[0,[0,n,[0,0,vjt([0,i],0)]]]}else if(Um===u){var f=U$t(r);nYt(r);c=[0,[0,n,[0,1,vjt([0,f],0)]]]}else a=1;else a=1;if(a)c=0;if(c){var o=0;if(t||e||(o=1),!o)return u$t(r,[0,c[1][1],7]),0}return c},l,D,E,o,function(r){return d(28,D$t(1,r))},function(r){var t=d(27,D$t(1,r)),e=t[1],n=nCt(fCt((function(r,t){return t[2][2]?r:[0,[0,t[1],56],r]}),t[3],e));return[0,e,t[2],n]},function(r){return d(24,r)},function(r){return PYt(0,F,r)},function(r){return PYt(0,u,r)}]}($Yt),VYt=function(r){return[0,function(r,t){return 0===t[0]||cCt((function(t){return u$t(r,t)}),t[2][1]),t[1]},function(t,e,n){var u=t?t[1]:26;if(0===n[0])var a=n[1];else{cCt((function(r){return u$t(e,r)}),n[2][2]);a=n[1]}1-OI(r[23],a)&&u$t(e,[0,a[1],u]);var i=a[2];return 10===i[0]&&T$t(i[1][2][1])&&tYt(e,[0,a[1],50]),NI(r[19],e,a)},Iht,function(r,t){var e=eCt(r[2],t[2]);return[0,eCt(r[1],t[1]),e]},function(r){var t=nCt(r[2]);return[0,nCt(r[1]),t]}]}(HYt),KYt=function(r){var t=r[1],e=function r(t){return r.fun(t)},n=function r(t){return r.fun(t)},u=function r(t){return r.fun(t)},a=function r(t){return r.fun(t)},i=function r(t){return r.fun(t)},c=function r(t){return r.fun(t)},f=function r(t){return r.fun(t)},o=function r(t){return r.fun(t)},s=function r(t){return r.fun(t)},v=function r(t){return r.fun(t)},l=function r(t){return r.fun(t)},D=function r(t){return r.fun(t)},p=function r(t){return r.fun(t)},b=function r(t){return r.fun(t)},E=function r(t){return r.fun(t)},F=function r(t){return r.fun(t)},d=function r(t){return r.fun(t)},m=function r(t,e,n,u,a){return r.fun(t,e,n,u,a)},h=function r(t,e,n,u){return r.fun(t,e,n,u)},k=function r(t){return r.fun(t)},y=function r(t){return r.fun(t)},A=function r(t){return r.fun(t)},_=function r(t,e,n,u,a){return r.fun(t,e,n,u,a)},C=function r(t,e,n,u){return r.fun(t,e,n,u)},w=function r(t){return r.fun(t)},S=function r(t,e,n){return r.fun(t,e,n)},g=function r(t){return r.fun(t)},B=function r(t,e,n){return r.fun(t,e,n)},T=function r(t){return r.fun(t)},I=function r(t){return r.fun(t)},O=function r(t,e){return r.fun(t,e)},N=function r(t,e,n,u){return r.fun(t,e,n,u)},x=function r(t){return r.fun(t)},L=function r(t,e,n){return r.fun(t,e,n)},P=function r(t){return r.fun(t)},R=function r(t){return r.fun(t)},M=function r(t){return r.fun(t)},G=function r(t,e,n){return r.fun(t,e,n)},U=function r(t){return r.fun(t)},j=r[2];function X(r){var t=R$t(r),e=OI(c,r),u=OI(i,r);if(u){var a=u[1];return[0,PYt([0,t],(function(r){var t=xI(j,0,r,e);return[2,[0,a,t,OI(n,r),0]]}),r)]}return e}function H(r,t){if("number"==typeof t){var e=53!==t?1:0;if(!e)return e}throw lYt}function $(r){var t=m$t(H,r),e=X(t),n=P$t(t);if("number"==typeof n&&(11===n||83===n&&wT(y$t(t),Dyt)))throw lYt;if(J$t(t)){if(0===e[0]){var u=e[1][2];if(10===u[0]&&!wI(u[1][2][1],pyt)&&!H$t(t))throw lYt}return e}return e}function Y(r,e,n,u,a){return[0,[0,a,[15,[0,u,NI(t,r,e),NI(t,r,n),0]]]]}function V(r,t,e,n){for(var u=r,a=e,i=n;;){var c=P$t(t);if("number"!=typeof c||81!==c)return[0,i,a];1-t[26][6]&&z$t(t,ul),1-u&&z$t(t,zkt),sYt(t,81);var f=PYt(0,s,t),o=f[2],v=f[1],l=P$t(t),D=0;if("number"==typeof l&&!(1<(l-84|0)>>>0)){z$t(t,[24,kjt(l)]);var p=J(t,o,v),b=K(t,p[2],p[1]),E=b[1],F=b[2];D=1}if(!D)E=v,F=o;var d=ajt(i,E);u=1,a=Y(t,a,F,2,d),i=d}}function K(r,t,e){for(var n=t,u=e;;){var a=P$t(r);if("number"!=typeof a||84!==a)return[0,u,n];nYt(r);var i=PYt(0,s,r),c=J(r,i[2],i[1]),f=ajt(u,c[1]),o=V(0,r,Y(r,n,c[2],0,f),f);n=o[2],u=o[1]}}function J(r,t,e){for(var n=t,u=e;;){var a=P$t(r);if("number"!=typeof a||85!==a)return[0,u,n];nYt(r);var i=PYt(0,s,r),c=ajt(u,i[1]),f=V(0,r,Y(r,n,i[2],1,c),c);n=f[2],u=f[1]}}function W(r,t,e,n){return[0,n,[3,[0,e,r,t,0]]]}function q(r){var t=U$t(r);sYt(r,95);for(var e=0;;){var n=P$t(r);if("number"==typeof n){var u=0;if(96!==n&&qt!==n||(u=1),u){var a=nCt(e),i=U$t(r);sYt(r,96);var c=4===P$t(r)?hYt(r)[1]:cYt(r);return[0,a,ljt([0,t],[0,c],i)]}}var f=P$t(r),o=0;if("number"!=typeof f&&4===f[0]&&!wI(f[2],ekt)){var s=R$t(r),v=U$t(r);vYt(r,nkt);var l=[1,[0,s,[0,vjt([0,v],[0,cYt(r)])]]];o=1}if(!o)l=[0,OI($Yt[1],r)];var D=[0,l,e];96!==P$t(r)&&sYt(r,9);e=D}}function z(r){var t=U$t(r);return sYt(r,12),[0,OI(n,r),vjt([0,t],0)]}function Q(r,t){if("number"==typeof t){var e=0;if(59<=t){var n=t-62|0;30>>0?48===n&&(e=1):28<(n-1|0)>>>0&&(e=1)}else{var u=t+-42|0;15>>0?-1<=u&&(e=1):11===u&&(e=1)}if(e)return 0}throw lYt}return mB(e,(function(r){var t=P$t(r),e=0,n=J$t(r);if("number"==typeof t){var a=0;if(22<=t)if(58===t){if(r[17])return[0,OI(u,r)];a=1}else 95!==t&&(a=1);else 4===t||21<=t||(a=1);a||(e=1)}if(!e&&0===n)return X(r);var i=0;if(64===t&&n$t(r)&&95===x$t(1,r)){var c=M,f=$;i=1}if(!i)c=$,f=M;var o=pYt(r,c);if(o)return o[1];var s=pYt(r,f);return s?s[1]:X(r)})),mB(n,(function(r){return NI(t,r,OI(e,r))})),mB(u,(function(r){return PYt(0,(function(r){r[10]&&z$t(r,92);var t=U$t(r);if(sYt(r,58),Y$t(r))var e=0,u=0;else{var a=uYt(r,ul),i=P$t(r),c=0;if("number"==typeof i){var f=0;if(83!==i)if(10<=i)f=1;else switch(i){case 0:case 2:case 3:case 4:case 6:f=1}if(!f){var o=0;c=1}}if(!c)o=1;var s=a||o;e=s?[0,OI(n,r)]:s,u=a}var v=e?0:cYt(r);return[30,[0,e,vjt([0,t],[0,v]),u]]}),r)})),mB(a,(function(r){var t=r[2];switch(t[0]){case 17:var e=t[1];if(!wI(e[1][2][1],vyt)){var n=wI(e[2][2][1],lyt);if(!n)return n}break;case 10:case 16:break;default:return 0}return 1})),mB(i,(function(r){var t=P$t(r),e=0;if("number"==typeof t){var n=t-67|0;if(!(12>>0)){switch(n){case 0:var u=Qkt;break;case 1:u=Zkt;break;case 2:u=ryt;break;case 3:u=tyt;break;case 4:u=eyt;break;case 5:u=nyt;break;case 6:u=uyt;break;case 7:u=ayt;break;case 8:u=iyt;break;case 9:u=cyt;break;case 10:u=fyt;break;case 11:u=oyt;break;default:u=syt}var a=u;e=1}}if(!e)a=0;return 0!==a&&nYt(r),a})),mB(c,(function(r){var e=R$t(r),u=OI(o,r);if(82===P$t(r)){nYt(r);var a=OI(n,b$t(0,r));sYt(r,83);var i=PYt(0,n,r),c=ajt(e,i[1]),f=i[2];return[0,[0,c,[7,[0,NI(t,r,u),a,f,0]]]]}return u})),mB(f,(function(r){return NI(t,r,OI(c,r))})),mB(o,(function(r){var t=PYt(0,s,r),e=t[2],n=t[1],u=P$t(r),a=0;if("number"==typeof u&&81===u){var i=V(1,r,e,n);a=1}if(!a){var c=J(r,e,n);i=K(r,c[2],c[1])}return i[2]})),mB(s,(function(r){var e=0;r:for(;;){var n=PYt(0,(function(r){return[0,0!==OI(v,r)?1:0,OI(l,b$t(0,r))]}),r),u=n[2],a=u[2],i=n[1];95===P$t(r)&&0===a[0]&&12===a[1][2][0]&&z$t(r,61);var c=P$t(r),f=0;if("number"==typeof c){var o=c-17|0,s=0;if(1>>0)if(69<=o)switch(o-69|0){case 0:var D=Bkt;break;case 1:D=Tkt;break;case 2:D=Ikt;break;case 3:D=Okt;break;case 4:D=Nkt;break;case 5:D=xkt;break;case 6:D=Lkt;break;case 7:D=Pkt;break;case 8:D=Rkt;break;case 9:D=Mkt;break;case 10:D=Gkt;break;case 11:D=Ukt;break;case 12:D=jkt;break;case 13:D=Xkt;break;case 14:D=Hkt;break;case 15:D=$kt;break;case 16:D=Ykt;break;case 17:D=Vkt;break;case 18:D=Kkt;break;case 19:D=Jkt;break;default:s=1}else s=1;else D=0===o?r[12]?0:qkt:Wkt;if(!s){var p=D;f=1}}if(!f)p=0;if(0!==p&&nYt(r),!e&&!p)return a;if(p){var b=p[1],E=b[1],F=u[1];(F?14===E?1:0:F)&&u$t(r,[0,i,27]);for(var d=NI(t,r,a),m=[0,E,b[2]],h=i,k=e;;){var y=m[2],A=m[1];if(k){var _=k[1],C=_[2],w=C[2],S=0===w[0]?w[1]:w[1]-1|0;if(y[1]<=S){var g=ajt(_[3],h);d=W(_[1],d,C[1],g),m=[0,A,y],h=g,k=k[2];continue}}e=[0,[0,d,[0,A,y],h],k];continue r}}for(var B=NI(t,r,a),T=i,I=e;;){if(!I)return[0,B];var O=I[1],N=ajt(O[3],T),x=I[2];B=W(O[1],B,O[2][1],N),T=N,I=x}}})),mB(v,(function(r){var t=P$t(r);if("number"==typeof t)if(48<=t){if(ku<=t){if(!(jb<=t))switch(t-100|0){case 0:return kkt;case 1:return ykt;case 6:return Akt;case 7:return _kt}}else if(65===t&&r[18])return Ckt}else if(45<=t)switch(t+ec|0){case 0:return wkt;case 1:return Skt;default:return gkt}return 0})),mB(l,(function(r){var t=R$t(r),e=U$t(r),n=OI(v,r);if(n){var u=n[1];nYt(r);var i=PYt(0,D,r),c=i[2],f=ajt(t,i[1]);if(6===u){var o=c[2];switch(o[0]){case 10:tYt(r,[0,f,46]);break;case 16:1===o[1][2][0]&&u$t(r,[0,f,89])}}return[0,[0,f,[28,[0,u,c,vjt([0,e],0)]]]]}var s=P$t(r),l=0;if("number"==typeof s)if(jb===s)var b=hkt;else if(Ah===s)b=mkt;else l=1;else l=1;if(l)b=0;if(b){nYt(r);var E=PYt(0,D,r),F=E[2];1-OI(a,F)&&u$t(r,[0,F[1],26]);var d=F[2];10===d[0]&&T$t(d[1][2][1])&&rYt(r,52);var m=ajt(t,E[1]),h=vjt([0,e],0);return[0,[0,m,[29,[0,b[1],F,1,h]]]]}return OI(p,r)})),mB(D,(function(r){return NI(t,r,OI(l,r))})),mB(p,(function(r){var e=OI(b,r);if(H$t(r))return e;var n=P$t(r),u=0;if("number"==typeof n)if(jb===n)var i=dkt;else if(Ah===n)i=Fkt;else u=1;else u=1;if(u)i=0;if(i){var c=NI(t,r,e);1-OI(a,c)&&u$t(r,[0,c[1],26]);var f=c[2];10===f[0]&&T$t(f[1][2][1])&&rYt(r,51);var o=R$t(r);nYt(r);var s=cYt(r),v=ajt(c[1],o),l=vjt(0,[0,s]);return[0,[0,v,[29,[0,i[1],c,0,l]]]]}return e})),mB(b,(function(r){var t=R$t(r),e=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],0,r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],n=1-r[16],u=P$t(e),a=0;if("number"==typeof u){var i=u-44|0;if(!(7>>0)){var c=0;switch(i){case 0:if(n)var f=[0,OI(k,e)];else c=1;break;case 6:f=[0,OI(d,e)];break;case 7:f=[0,OI(F,e)];break;default:c=1}if(!c){var o=f;a=1}}}if(!a)o=W$t(e)?[0,OI(w,e)]:OI(T,e);return PI(m,0,0,e,t,o)})),mB(E,(function(r){return NI(t,r,OI(b,r))})),mB(F,(function(r){switch(r[20]){case 0:var t=okt;break;case 1:t=skt;break;default:t=vkt}var e=t[1],n=R$t(r),u=U$t(r);sYt(r,51);var a=[0,n,[23,[0,vjt([0,u],[0,cYt(r)])]]],i=P$t(r);if("number"==typeof i&&!(11<=i))switch(i){case 4:var c=t[2]?a:(u$t(r,[0,n,5]),[0,n,[10,ojt(0,[0,n,lkt])]]);return LI(h,Dkt,r,n,c);case 6:case 10:var f=e?a:(u$t(r,[0,n,4]),[0,n,[10,ojt(0,[0,n,bkt])]]);return LI(h,Ekt,r,n,f)}return e?Q$t(pkt,r):u$t(r,[0,n,4]),a})),mB(d,(function(r){return PYt(0,(function(r){var t=U$t(r);sYt(r,50);var e=U$t(r);sYt(r,4);var u=xI(L,[0,e],0,OI(n,b$t(0,r)));return sYt(r,5),[11,[0,u,vjt([0,t],[0,cYt(r)])]]}),r)})),mB(m,(function(r,e,n,u,a){var i=r?r[1]:1,c=e?e[1]:e,f=PI(_,[0,i],[0,c],n,u,a),o=wT(y$t(n),fkt);function s(r){var e=hYt(r);var n=NI(t,r,f);return NI(e[2],n,(function(r,t){return NI(LT(r,VD,76),r,t)}))}function v(r,t,e){var n=OI(A,t),a=n[1],f=ajt(u,a),s=[0,e,r,[0,a,n[2]],0],v=0;if(!o&&!c){var l=[4,s];v=1}if(!v)l=[20,[0,s,o]];return PI(m,[0,i],[0,c||o],t,u,[0,[0,f,l]])}if(n[13])return f;var l=P$t(n);if("number"==typeof l){if(4===l)return v(0,n,s(n));if(95===l&&n$t(n)){var D=m$t((function(r,t){throw lYt}),n);return bYt(D,f,(function(r){var t=s(r);return v(OI(y,r),r,t)}))}}return f})),mB(h,(function(r,e,n,u){var a=r?r[1]:1;return NI(t,e,PI(m,[0,a],0,e,n,[0,u]))})),mB(k,(function(r){return PYt(0,(function(r){var t=R$t(r),e=U$t(r);if(sYt(r,44),r[11]&&10===P$t(r)){var n=cYt(r);nYt(r);var u=ojt(vjt([0,e],[0,n]),[0,t,ukt]),a=P$t(r);return"number"==typeof a||4!==a[0]||wI(a[3],akt)?(Q$t(ikt,r),nYt(r),[10,u]):[17,[0,u,NI(HYt[13],0,r),0]]}var i=R$t(r),c=P$t(r),f=0;if("number"==typeof c)if(44===c)var o=OI(k,r);else if(51===c)o=OI(F,d$t(1,r));else f=1;else f=1;if(f)o=W$t(r)?OI(w,r):OI(I,r);var s=LI(C,ckt,d$t(1,r),i,o),v=P$t(r),l=0;if("number"!=typeof v&&3===v[0]){var D=LI(N,r,i,s,v[1]);l=1}if(!l)D=s;var p=0;if(4!==P$t(r)){var b=0;if(n$t(r)&&95===P$t(r)&&(b=1),!b){var E=D;p=1}}if(!p)E=NI(hYt(r)[2],D,(function(r,t){return NI(LT(r,VD,77),r,t)}));var d=n$t(r),m=d?bYt(m$t((function(r,t){throw lYt}),r),0,y):d,h=P$t(r),_=0;if("number"==typeof h&&4===h){var S=[0,OI(A,r)];_=1}if(!_)S=0;return[18,[0,E,m,S,vjt([0,e],0)]]}),r)})),mB(y,(function(r){var t=95===P$t(r)?1:0;return t?[0,PYt(0,q,r)]:t})),mB(A,(function(r){return PYt(0,(function(r){var t=U$t(r);sYt(r,4);for(var e=0;;){var u=P$t(r);if("number"==typeof u){var a=0;if(5!==u&&qt!==u||(a=1),a){var i=nCt(e),c=U$t(r);return sYt(r,5),[0,i,ljt([0,t],[0,cYt(r)],c)]}}var f=P$t(r),o=0;if("number"==typeof f&&12===f){var s=[1,PYt(0,z,r)];o=1}if(!o)s=[0,OI(n,r)];var v=[0,s,e];5!==P$t(r)&&sYt(r,9);e=v}}),r)})),mB(_,(function(r,e,n,u,a){var i=r?r[1]:1,c=e?e[1]:e,f=n[26],o=P$t(n),s=0;if("number"==typeof o)switch(o){case 6:nYt(n);var v=0,l=[0,c],D=[0,i];s=2;break;case 10:nYt(n);var p=0,b=[0,c],E=[0,i];s=1;break;case 80:1-f[7]&&z$t(n,ku),1-i&&z$t(n,Um),sYt(n,80);var F=0,d=P$t(n);if("number"==typeof d)switch(d){case 4:return a;case 6:nYt(n);v=zht,l=Qht,D=[0,i];s=2,F=1;break;case 95:if(n$t(n))return a}else if(3===d[0])return z$t(n,Pm),a;if(!F){p=Zht,b=rkt,E=[0,i];s=1}}else if(3===o[0]){c&&z$t(n,Pm);var h=o[1];return PI(m,tkt,0,n,u,[0,LI(N,n,u,NI(t,n,a),h)])}switch(s){case 0:return a;case 1:var k=E?i:1,y=b?b[1]:b,A=p?p[1]:p,_=OI(U,n),C=_[3],w=_[2],S=_[1];if(C){var g=fjt(w),B=n[28][1];if(B){var T=B[1];n[28][1]=[0,[0,T[1],[0,[0,g,S],T[2]]],B[2]]}else u$t(n,[0,S,90])}var I=ajt(u,S),O=C?[1,[0,S,[0,w,vjt([0,_[4]],0)]]]:[0,w];0===a[0]&&23===a[1][2][0]&&C&&u$t(n,[0,I,91]);var x=[0,NI(t,n,a),O,0];return PI(m,[0,k],[0,y],n,u,[0,[0,I,y?[21,[0,x,A]]:[16,x]]]);default:var L=D?i:1,P=l?l[1]:l,R=v?v[1]:v,M=d$t(0,n),G=OI(HYt[7],M),j=R$t(n);sYt(n,7);var X=cYt(n),H=ajt(u,j),$=vjt(0,[0,X]),Y=[0,NI(t,n,a),[2,G],$];return PI(m,[0,L],[0,P],n,u,[0,[0,H,P?[21,[0,Y,R]]:[16,Y]]])}})),mB(C,(function(r,e,n,u){var a=r?r[1]:1;return NI(t,e,PI(_,[0,a],0,e,n,[0,u]))})),mB(w,(function(r){return PYt(0,(function(r){var t=OI(YYt[1],r),e=t[1],n=t[2],u=PYt(0,(function(r){var t=U$t(r);sYt(r,15);var u=OI(YYt[2],r),a=u[1],i=uCt([0,n,[0,t,[0,u[2],0]]]);if(4===P$t(r))var c=0,f=0;else{var o=P$t(r),s=0;if("number"==typeof o){var v=95!==o?1:0;if(!v){var l=v;s=1}}if(!s){var D=o$t(a,s$t(e,r));l=[0,kYt(D,NI(HYt[13],qht,D))]}c=l,f=yYt(r,OI($Yt[3],r))}var p=l$t(0,r),b=xI(YYt[4],e,a,p),E=83===P$t(p)?b:_Yt(p,b),F=OI($Yt[12],p),d=F[2],m=F[1];if(d)var h=m,k=CYt(p,d);else h=AYt(p,m),k=d;return[0,c,E,a,k,h,f,i]}),r),a=u[2],i=a[3],c=a[2],f=a[1],o=LI(YYt[5],r,e,i,1),s=OI(YYt[6],c);PI(YYt[7],r,o[2],s,f,c);var v=u[1],l=vjt([0,a[7]],0);return[8,[0,f,c,o[1],e,i,a[4],a[5],a[6],l,v]]}),r)})),mB(S,(function(r,t,e){switch(t){case 1:rYt(r,44);try{var n=zT(qT(G_t(Yht,e)))}catch(r){if((r=II(r))[1]!==GI)throw r;n=P_t(G_t(Vht,e))}break;case 2:rYt(r,45);try{n=ST(e)}catch(r){if((r=II(r))[1]!==GI)throw r;n=P_t(G_t(Kht,e))}break;case 4:try{n=ST(e)}catch(r){if((r=II(r))[1]!==GI)throw r;n=P_t(G_t(Jht,e))}break;default:try{n=zT(qT(e))}catch(r){if((r=II(r))[1]!==GI)throw r;n=P_t(G_t(Wht,e))}}return sYt(r,[0,t,e]),n})),mB(g,(function(r){var t=HT(r);return 0!==t&&qt===CI(r,t-1|0)?kCt(r,0,t-1|0):r})),mB(B,(function(r,t,e){if(2<=t){var n=OI(g,e);try{var u=ST(n)}catch(e){if((e=II(e))[1]!==GI)throw e;u=P_t(G_t(Hht,n))}var a=u}else{var i=OI(g,e);try{var c=zT(qT(i))}catch(e){if((e=II(e))[1]!==GI)throw e;c=P_t(G_t($ht,i))}a=c}return sYt(r,[1,t,e]),a})),mB(T,(function(r){var t=R$t(r),e=U$t(r),n=P$t(r);if("number"==typeof n)switch(n){case 0:var u=OI(HYt[12],r);return[1,[0,u[1],[19,u[2]]],u[3]];case 4:return[0,OI(x,r)];case 6:var a=PYt(0,P,r),i=a[2];return[1,[0,a[1],[0,i[1]]],i[2]];case 21:return nYt(r),[0,[0,t,[26,[0,vjt([0,e],[0,cYt(r)])]]]];case 29:return nYt(r),[0,[0,t,[14,[0,0,Ght,vjt([0,e],[0,cYt(r)])]]]];case 40:return[0,OI(HYt[22],r)];case 95:var c=OI(HYt[17],r),f=c[2];return[0,[0,c[1],vn<=f[1]?[13,f[2]]:[12,f[2]]]];case 30:case 31:nYt(r);var o=31===n?1:0;return[0,[0,t,[14,[0,[1,o],o?jht:Xht,vjt([0,e],[0,cYt(r)])]]]];case 74:case 102:return[0,OI(R,r)]}else switch(n[0]){case 0:var s=n[2];return[0,[0,t,[14,[0,[2,xI(S,r,n[1],s)],s,vjt([0,e],[0,cYt(r)])]]]];case 1:var v=n[2];return[0,[0,t,[14,[0,[3,xI(B,r,n[1],v)],v,vjt([0,e],[0,cYt(r)])]]]];case 2:var l=n[1];l[4]&&rYt(r,44),nYt(r);var D=[0,l[2]],p=vjt([0,e],[0,cYt(r)]);return[0,[0,l[1],[14,[0,D,l[3],p]]]];case 3:var b=NI(O,r,n[1]);return[0,[0,b[1],[25,b[2]]]]}if(J$t(r)){var E=NI(HYt[13],0,r);return[0,[0,E[1],[10,E]]]}return Q$t(0,r),"number"!=typeof n&&6===n[0]&&nYt(r),[0,[0,t,[14,[0,0,Uht,vjt([0,e],[0,0])]]]]})),mB(I,(function(r){return NI(t,r,OI(T,r))})),mB(O,(function(r,t){var e=t[3],n=t[2],u=t[1],a=U$t(r);sYt(r,[3,t]);var i=[0,u,[0,[0,n[2],n[1]],e]];if(e)var c=u,f=[0,i,0],o=0;else for(var s=[0,i,0],v=0;;){var l=OI(HYt[7],r),D=[0,l,v],p=P$t(r),b=0;if("number"==typeof p&&1===p){aYt(r,4);var E=P$t(r),F=0;if("number"!=typeof E&&3===E[0]){var d=E[1],m=d[3],h=d[2];nYt(r);var k=d[1],y=[0,[0,h[2],h[1]],m];iYt(r);var A=[0,[0,k,y],s];if(!m){s=A,v=D;continue}var _=nCt(D),C=[0,k,nCt(A),_];b=1,F=1}if(!F)throw[0,$I,Pht]}if(!b){Q$t(Rht,r);var w=[0,l[1],Mht],S=nCt(D),g=nCt([0,w,s]);C=[0,l[1],g,S]}c=C[1],f=C[2],o=C[3];break}var B=cYt(r);return[0,ajt(u,c),[0,f,o,vjt([0,a],[0,B])]]})),mB(N,(function(r,t,e,n){var u=NI(hYt(r)[2],e,(function(r,t){return NI(LT(r,VD,26),r,t)})),a=NI(O,r,n);return[0,ajt(t,a[1]),[24,[0,u,a,0]]]})),mB(x,(function(r){var t=U$t(r),e=PYt(0,(function(r){sYt(r,4);var t=R$t(r),e=OI(n,r),u=P$t(r),a=0;if("number"==typeof u)if(9===u)var i=[0,xI(G,r,t,[0,e,0])];else if(83===u)i=[1,[0,e,OI($Yt[9],r),0]];else a=1;else a=1;if(a)i=[0,e];return sYt(r,5),i}),r),u=e[2],a=cYt(r),i=0===u[0]?u[1]:[0,e[1],[27,u[1]]];return xI(L,[0,t],[0,a],i)})),mB(L,(function(r,t,e){var n=e[2],u=r?r[1]:r,a=t?t[1]:t;function i(r){return Djt(r,vjt([0,u],[0,a]))}function c(r){return pjt(r,vjt([0,u],[0,a]))}switch(n[0]){case 0:var f=n[1],o=c(f[2]),s=[0,[0,f[1],o]];break;case 1:var v=n[1],l=v[10],D=i(v[9]);s=[1,[0,v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],D,l]];break;case 2:var p=n[1],b=i(p[4]);s=[2,[0,p[1],p[2],p[3],b]];break;case 3:var E=n[1],F=i(E[4]);s=[3,[0,E[1],E[2],E[3],F]];break;case 4:var d=n[1],m=i(d[4]);s=[4,[0,d[1],d[2],d[3],m]];break;case 5:var h=n[1],k=i(h[7]);s=[5,[0,h[1],h[2],h[3],h[4],h[5],h[6],k]];break;case 7:var y=n[1],A=i(y[4]);s=[7,[0,y[1],y[2],y[3],A]];break;case 8:var _=n[1],C=_[10],w=i(_[9]);s=[8,[0,_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],w,C]];break;case 10:var S=n[1],g=S[2],B=i(g[2]);s=[10,[0,S[1],[0,g[1],B]]];break;case 11:var T=n[1],I=i(T[2]);s=[11,[0,T[1],I]];break;case 12:var O=n[1],N=i(O[4]);s=[12,[0,O[1],O[2],O[3],N]];break;case 13:var x=n[1],L=i(x[4]);s=[13,[0,x[1],x[2],x[3],L]];break;case 14:var P=n[1],R=i(P[3]);s=[14,[0,P[1],P[2],R]];break;case 15:var M=n[1],G=i(M[4]);s=[15,[0,M[1],M[2],M[3],G]];break;case 16:var U=n[1],j=i(U[3]);s=[16,[0,U[1],U[2],j]];break;case 17:var X=n[1],H=i(X[3]);s=[17,[0,X[1],X[2],H]];break;case 18:var $=n[1],Y=i($[4]);s=[18,[0,$[1],$[2],$[3],Y]];break;case 19:var V=n[1],K=c(V[2]);s=[19,[0,V[1],K]];break;case 20:var J=n[1],W=J[1],q=J[2],z=i(W[4]);s=[20,[0,[0,W[1],W[2],W[3],z],q]];break;case 21:var Q=n[1],Z=Q[1],rr=Q[2],tr=i(Z[3]);s=[21,[0,[0,Z[1],Z[2],tr],rr]];break;case 22:var er=n[1],nr=i(er[2]);s=[22,[0,er[1],nr]];break;case 23:s=[23,[0,i(n[1][1])]];break;case 24:var ur=n[1],ar=i(ur[3]);s=[24,[0,ur[1],ur[2],ar]];break;case 25:var ir=n[1],cr=i(ir[3]);s=[25,[0,ir[1],ir[2],cr]];break;case 26:s=[26,[0,i(n[1][1])]];break;case 27:var fr=n[1],or=i(fr[3]);s=[27,[0,fr[1],fr[2],or]];break;case 28:var sr=n[1],vr=i(sr[3]);s=[28,[0,sr[1],sr[2],vr]];break;case 29:var lr=n[1],Dr=i(lr[4]);s=[29,[0,lr[1],lr[2],lr[3],Dr]];break;case 30:var pr=n[1],br=pr[3],Er=i(pr[2]);s=[30,[0,pr[1],Er,br]];break;default:s=n}return[0,e[1],s]})),mB(P,(function(t){var n=U$t(t);sYt(t,6);for(var u=[0,0,r[3]];;){var a=u[2],i=u[1],c=P$t(t);if("number"==typeof c){var f=0;if(13<=c)qt===c&&(f=1);else if(7<=c)switch(c-7|0){case 2:var o=R$t(t);nYt(t);u=[0,[0,[2,o],i],a];continue;case 5:var s=U$t(t),v=PYt(0,(function(t){nYt(t);var n=OI(e,t);return 0===n[0]?[0,n[1],r[3]]:[0,n[1],n[2]]}),t),l=v[2],D=l[2],p=v[1],b=vjt([0,s],0),E=[1,[0,p,[0,l[1],b]]],F=7===P$t(t)?1:0,d=0;if(!F&&7===x$t(1,t)){var m=[0,D[1],[0,[0,p,63],D[2]]];d=1}if(!d)m=D;1-F&&sYt(t,9);u=[0,[0,E,i],NI(r[4],m,a)];continue;case 0:f=1}if(f){var h=OI(r[5],a),k=nCt(i),y=U$t(t);return sYt(t,7),[0,[0,k,ljt([0,n],[0,cYt(t)],y)],h]}}var A=OI(e,t),_=0===A[0]?[0,A[1],r[3]]:[0,A[1],A[2]];7!==P$t(t)&&sYt(t,9);u=[0,[0,[0,_[1]],i],NI(r[4],_[2],a)]}})),mB(R,(function(r){aYt(r,5);var t=R$t(r),e=U$t(r),n=P$t(r);if("number"!=typeof n&&5===n[0]){var u=n[1],a=u[3],i=u[2];nYt(r);var c=cYt(r),f=G_t(xht,G_t(i,G_t(Nht,a)));iYt(r);var o=RCt(HT(a)),s=HT(a)-1|0;if(!(s<0))for(var v=0;;){var l=$T(a,v),D=l-103|0;if(!(18>>0))switch(D){case 0:case 2:case 6:case 12:case 14:case 18:UCt(o,l)}var p=v+1|0;if(s===v)break;v=p}var b=MCt(o);return wI(b,a)&&z$t(r,[14,a]),[0,t,[14,[0,[4,[0,i,b]],f,vjt([0,e],[0,c])]]]}throw[0,$I,Lht]})),mB(M,(function(r){var t=m$t(Q,r),e=R$t(t);if(11===x$t(1,t))var n=0,u=0;else{var a=OI(YYt[1],t);n=a[1],u=a[2]}var i=PYt(0,(function(r){var t=yYt(r,OI($Yt[3],r));if(J$t(r)&&0===t){var e=NI(HYt[13],Oht,r),n=e[1];return[0,t,[0,n,[0,0,[0,[0,n,[0,[0,n,[2,[0,e,[0,M$t(r)],0]]],0]],0],0,0]],[0,[0,n[1],n[3],n[3]]],0]}var u=xI(YYt[4],r[18],r[17],r),a=E$t(1,r),i=OI($Yt[12],a);return[0,t,u,i[1],i[2]]}),t),c=i[2],f=c[2],o=f[2],s=0;if(!o[1]){var v=0;if(!o[3]&&o[2]&&(v=1),!v){var l=A$t(t);s=1}}if(!s)l=t;var D=f[2],p=D[1],b=p?(u$t(l,[0,p[1][1],qt]),[0,f[1],[0,0,D[2],D[3],D[4]]]):f,E=H$t(l);(E?11===P$t(l)?1:0:E)&&z$t(l,58),sYt(l,11);var F=A$t(l),d=PYt(0,(function(r){var t=_$t(r,n,0),e=P$t(t);if("number"==typeof e&&0===e){var u=NI(HYt[16],1,t);return[0,[0,[0,u[1],u[2]]],u[3]]}return[0,[1,OI(HYt[10],t)],t[6]]}),F),m=d[2],h=OI(YYt[6],b);PI(YYt[7],F,m[2],h,0,b);var k=ajt(e,d[1]),y=i[1],A=vjt([0,u],0);return[0,[0,k,[1,[0,0,b,m[1],n,0,c[4],c[3],c[1],A,y]]]]})),mB(G,(function(r,t,e){return PYt([0,t],(function(r){for(var t=e;;){var u=P$t(r);if("number"!=typeof u||9!==u)return[22,[0,nCt(t),0]];nYt(r);t=[0,OI(n,r),t]}}),r)})),mB(U,(function(r){var t=R$t(r),e=PYt(0,(function(r){var t=P$t(r),e=0;if("number"==typeof t&&14===t){var n=U$t(r);nYt(r);var u=1,a=n;e=1}if(!e)u=0,a=0;return[0,u,xYt(r),a]}),r),n=e[2],u=n[2],a=n[1],i=e[1];return(a?mI(t[3],u[1][2]):a)&&u$t(r,[0,i,Sm]),[0,i,u,a,n[3]]})),[0,n,e,f,U,function(r){var t=r[2];switch(t[0]){case 17:var e=t[1];if(!wI(e[1][2][1],byt)){var n=wI(e[2][2][1],Eyt);if(!n)return n}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},E,S,G]}(VYt),JYt=function(r){function t(r){var t=U$t(r);nYt(r);var e=vjt([0,t],0),n=OI(KYt[6],r);return[0,NI((H$t(r)?mYt(r):dYt(r))[2],n,(function(r,t){return NI(LT(r,VD,78),r,t)})),e]}function e(r){var e=r[26][4];if(e)for(var n=0;;){var u=P$t(r);if("number"!=typeof u||13!==u)return nCt(n);n=[0,PYt(0,t,r),n]}return e}function n(r,t){var e=r?r[1]:r,n=U$t(t),u=P$t(t);if("number"==typeof u)switch(u){case 6:var a=PYt(0,(function(r){var t=U$t(r);sYt(r,6);var e=b$t(0,r),n=OI(HYt[10],e);return sYt(r,7),[0,n,vjt([0,t],[0,cYt(r)])]}),t),i=a[1];return[0,i,[3,[0,i,a[2]]]];case 14:if(e){var c=OI(KYt[4],t),f=c[2],o=c[1],s=fjt(f),v=t[28][1];if(v){var l=v[1],D=v[2],p=l[2],b=[0,[0,NI(QHt[4],s,l[1]),p],D];t[28][1]=b}else P_t(nct);return[0,o,[2,[0,o,[0,f,vjt([0,c[4]],0)]]]]}}else switch(u[0]){case 0:var E=u[2],F=R$t(t);return[0,F,[0,[0,F,[0,[2,xI(KYt[7],t,u[1],E)],E,vjt([0,n],[0,cYt(t)])]]]];case 2:var d=u[1],m=d[4],h=d[3],k=d[2],y=d[1];return m&&rYt(t,44),sYt(t,[2,[0,y,k,h,m]]),[0,y,[0,[0,y,[0,[0,k],h,vjt([0,n],[0,cYt(t)])]]]]}var A=OI(KYt[4],t),_=A[1];return A[3]&&u$t(t,[0,_,90]),[0,_,[1,A[2]]]}function u(r,t,e){var u=OI(YYt[2],r),a=u[1],i=u[2],c=n([0,t],r),f=c[1];return[0,wYt(r,c[2]),PYt(0,(function(r){var t=l$t(1,r),n=PYt(0,(function(r){var t=xI(YYt[4],0,0,r),n=83===P$t(r)?t:_Yt(r,t);if(0===e){var u=n[2];if(u[1])u$t(r,[0,f,Ah]);else{var a=u[2],i=0;(!a||a[2]||u[3])&&(i=1),i&&(u[3],u$t(r,[0,f,81]))}}else{var c=n[2];if(c[1])u$t(r,[0,f,jb]);else{var o=0;(c[2]||c[3])&&(o=1),o&&u$t(r,[0,f,80])}}return[0,0,n,AYt(r,OI($Yt[10],r))]}),t),u=n[2],c=u[2],o=LI(YYt[5],t,0,a,0),s=OI(YYt[6],c);PI(YYt[7],t,o[2],s,0,c);var v=n[1],l=vjt([0,i],0);return[0,0,c,o[1],0,a,0,u[3],u[1],l,v]}),r)]}function a(t){var e=OI(KYt[2],t);return 0===e[0]?[0,e[1],r[3]]:[0,e[1],e[2]]}function i(r,t,e){function n(n){var u=l$t(1,n),a=PYt(0,(function(e){var n=yYt(e,OI($Yt[3],e));if(0===r)if(0===t)var u=0,a=0;else u=1,a=0;else if(0===t)u=0,a=e[18];else u=1,a=1;var i=xI(YYt[4],a,u,e);return[0,n,83===P$t(e)?i:_Yt(e,i),AYt(e,OI($Yt[10],e))]}),u),i=a[2],c=i[2],f=LI(YYt[5],u,r,t,0),o=OI(YYt[6],c);PI(YYt[7],u,f[2],o,0,c);var s=a[1],v=vjt([0,e],0);return[0,0,c,f[1],r,t,0,i[3],i[1],v,s]}return function(r){return PYt(0,n,r)}}function c(r){return sYt(r,83),a(r)}function f(t,e,n,u,a,f){var o=PYt([0,e],(function(t){if(!u&&!a){var e=P$t(t);if("number"==typeof e){if(79===e){if(1===n[0])var o=n[1],s=R$t(t),v=[0,PYt([0,o[1]],(function(r){var t=U$t(r);sYt(r,79);var e=cYt(r);return[2,[0,0,NI(HYt[19],r,[0,o[1],[10,o]]),OI(HYt[10],r),vjt([0,t],[0,e])]]}),t),[0,[0,[0,s,[11,yjt(Uyt)]],0],0]];else v=c(t);return[0,[0,n,v[1],1],v[2]]}var l=0;if(95===e)l=1;else if(!(10<=e))switch(e){case 4:l=1;break;case 1:case 9:switch(n[0]){case 0:var D=n[1],p=D[1];u$t(t,[0,p,96]);var b=[0,p,[14,D[2]]];break;case 1:var E=n[1],F=E[2][1],d=E[1],m=0;O$t(F)&&wI(F,jyt)&&wI(F,Xyt)&&(u$t(t,[0,d,2]),m=1),!m&&g$t(F)&&tYt(t,[0,d,53]);b=[0,d,[10,E]];break;case 2:b=P_t(Hyt);break;default:var h=n[1][2][1];u$t(t,[0,h[1],97]);b=h}return[0,[0,n,b,1],r[3]]}if(l)return[0,[1,wYt(t,n),OI(i(u,a,f),t)],r[3]]}var k=c(t);return[0,[0,n,k[1],0],k[2]]}return[0,[1,wYt(t,n),OI(i(u,a,f),t)],r[3]]}),t),s=o[2];return[0,[0,[0,o[1],s[1]]],s[2]]}function o(r,t,e,n){var u=e[2][1][2][1],a=e[1];if(_I(u,Ryt))return u$t(r,[0,a,[22,u,0,1]]),t;var i=NI(GYt[28],u,t);if(i){var c=i[1],f=0;return Kl===n?tu===c&&(f=1):tu===n&&Kl===c&&(f=1),f||u$t(r,[0,a,[21,u]]),xI(GYt[4],u,Ld,t)}return xI(GYt[4],u,n,t)}function s(r,t){return PYt(0,(function(r){var e=t?U$t(r):t;sYt(r,52);for(var n=0;;){var u=[0,PYt(0,(function(r){var t=OI($Yt[2],r);if(95===P$t(r))var e=NI(hYt(r)[2],t,(function(r,t){return NI(LT(r,jg,79),r,t)}));else e=t;return[0,e,OI($Yt[4],r)]}),r),n],a=P$t(r);if("number"!=typeof a||9!==a)return[0,nCt(u),vjt([0,e],0)];sYt(r,9);n=u}}),r)}function v(r,t){return t?u$t(r,[0,t[1][1],7]):t}function l(r,t){return t?u$t(r,[0,t[1],66]):t}function D(r,t,e,n,u,a,i,c,f,o){for(;;){var s=P$t(r),D=0;if("number"==typeof s){var p=s-1|0,b=0;if(7

>>0){var E=p-78|0;if(4>>0)b=1;else switch(E){case 3:Q$t(0,r),nYt(r);continue;case 0:case 4:break;default:b=1}}else 5<(p-1|0)>>>0||(b=1);b||u||a||(D=1)}if(!D&&!Y$t(r)){l(r,c),v(r,f);var F=0;if(0===i){var d=0;switch(n[0]){case 0:var m=n[1][2][1],h=0;"number"!=typeof m&&0===m[0]&&(wI(m[1],Tyt)?(d=1,h=1):h=1),h||(d=1);break;case 1:wI(n[1][2][1],Iyt)&&(d=1);break;default:d=1}if(!d){var k=0,y=l$t(2,r);F=1}}if(!F)k=1,y=l$t(1,r);var A=wYt(y,n),_=PYt(0,(function(r){var t=PYt(0,(function(r){var t=yYt(r,OI($Yt[3],r));if(0===u)if(0===a)var e=0,n=0;else e=1,n=0;else if(0===a)e=0,n=r[18];else e=1,n=1;var i=xI(YYt[4],n,e,r),c=83===P$t(r)?i:_Yt(r,i),f=c[2],o=f[1],s=0;if(o&&0===k){u$t(r,[0,o[1][1],Vr]);var v=[0,c[1],[0,0,f[2],f[3],f[4]]];s=1}if(!s)v=c;return[0,t,v,AYt(r,OI($Yt[10],r))]}),r),e=t[2],n=e[2],i=LI(YYt[5],r,u,a,0),c=OI(YYt[6],n);return PI(YYt[7],r,i[2],c,0,n),[0,0,n,i[1],u,a,0,e[3],e[1],0,t[1]]}),y),C=[0,k,A,_,i,e,vjt([0,o],0)];return[0,[0,ajt(t,_[1]),C]]}var w=PYt([0,t],(function(r){var t=OI($Yt[10],r),e=r[26],u=P$t(r);if(c){var a=0;if("number"==typeof u&&79===u){z$t(r,67),nYt(r);var f=0}else a=1;if(a)f=0}else{var s=0;if("number"==typeof u&&79===u){var v=0;i&&e[3]&&(v=1);var l=0;if(!v){var D=0;if(!i&&e[2]&&(D=1),!D){f=1;l=1}}if(!l){sYt(r,79);var p=l$t(1,r);f=[0,OI(HYt[7],p)]}}else s=1;if(s)f=1}var b=P$t(r),E=0;if("number"==typeof b&&!(9<=b))switch(b){case 8:nYt(r);var F=P$t(r),d=0;if("number"==typeof F){var m=0;if(1!==F&&qt!==F&&(d=1,m=1),!m)var h=cYt(r)}else d=1;if(d){var k=H$t(r);h=k?fYt(r):k}var y=[0,n,t,f,h];E=1;break;case 4:case 6:Q$t(0,r);y=[0,n,t,f,0];E=1}if(!E){var A=P$t(r),_=0;if("number"==typeof A){var C=0;if(1!==A&&qt!==A&&(_=1,C=1),!C)var w=[0,0,function(r,t){return r}]}else _=1;if(_)w=H$t(r)?mYt(r):dYt(r);if("number"==typeof f)if(0===t[0])var S=NI(w[2],n,(function(r,t){return NI(LT(r,nC,81),r,t)})),g=t,B=f;else S=n,g=[1,NI(w[2],t[1],(function(r,t){return NI(LT(r,tD,82),r,t)}))],B=f;else S=n,g=t,B=[0,NI(w[2],f[1],(function(r,t){return NI(LT(r,VD,83),r,t)}))];y=[0,S,g,B,0]}var T=vjt([0,o],[0,y[4]]);return[0,y[1],y[2],y[3],T]}),r),S=w[2],g=S[4],B=S[3],T=S[2],I=S[1],O=w[1];return 2===I[0]?[2,[0,O,[0,I[1],B,T,i,f,g]]]:[1,[0,O,[0,I,B,T,i,f,g]]]}}function p(r,t){var e=x$t(r,t);if("number"==typeof e){var n=0;if(83<=e)95!==e&&84<=e||(n=1);else if(79===e)n=1;else if(!(9<=e))switch(e){case 1:case 4:case 8:n=1}if(n)return 1}return 0}function b(r){return p(0,r)}function E(r,t,a,i){var c=r?r[1]:r,f=f$t(1,t),E=j_t(c,e(f)),F=U$t(f);sYt(f,40);var d=D$t(1,f),m=P$t(d),h=0;if(0!==a&&"number"==typeof m){var k=0;if(52<=m?95!==m&&53<=m&&(k=1):41!==m&&0!==m&&(k=1),!k){var y=0;h=1}}if(!h){var A=NI(HYt[13],0,d);y=[0,NI(hYt(f)[2],A,(function(r,t){return NI(LT(r,jg,84),r,t)}))]}var _=OI($Yt[3],f);if(_)var C=[0,NI(hYt(f)[2],_[1],(function(r,t){return NI(LT(r,Am,85),r,t)}))];else C=_;var w=U$t(f),S=uYt(f,41);if(S)var g=PYt(0,(function(r){var t=o$t(0,r),e=OI(KYt[6],t);if(95===P$t(r))var n=NI(hYt(r)[2],e,(function(r,t){return NI(LT(r,VD,80),r,t)}));else n=e;return[0,n,OI($Yt[4],r),vjt([0,w],0)]}),f),B=g[1],T=hYt(f),I=[0,[0,B,NI(T[2],g[2],(function(r,t){return xI(LT(r,-663447790,86),r,B,t)}))]];else I=S;var O=52===P$t(f)?1:0;if(O){1-n$t(f)&&z$t(f,16);var N=[0,gYt(f,s(f,1))]}else N=O;return[0,y,PYt(0,(function(r){var t=U$t(r);if(uYt(r,0)){r[28][1]=[0,[0,QHt[1],0],r[28][1]];for(var a=0,c=GYt[1],f=0;;){var s=P$t(r);if("number"==typeof s){var E=s-2|0;if(Yu>>0){if(!(Ah<(E+1|0)>>>0)){var F=nCt(f),d=function(r,t){return OI(lCt((function(t){return 1-NI(QHt[3],t[1],r)})),t)},m=r[28][1];if(m){var h=m[2],k=m[1],y=k[2],A=k[1];if(h){var _=d(A,y),C=rCt(h),w=tCt(h),S=j_t(C[2],_);r[28][1]=[0,[0,C[1],S],w]}else{cCt((function(t){return u$t(r,[0,t[2],[23,t[1]]])}),d(A,y)),r[28][1]=0}}else P_t(uct);sYt(r,1);var g=P$t(r),B=0;if(0===i){var T=0;if("number"!=typeof g||1!==g&&qt!==g||(T=1),!T){var I=H$t(r);if(I){var O=fYt(r);B=1}else{O=I;B=1}}}if(!B)O=cYt(r);return[0,F,vjt([0,t],[0,O])]}}else if(6===E){sYt(r,8);continue}}var N=R$t(r),x=e(r),L=P$t(r),P=0;if("number"==typeof L&&60===L&&!p(1,r)){var R=[0,R$t(r)],M=U$t(r);nYt(r);var G=R,U=M;P=1}if(!P)G=0,U=0;var j=4!==x$t(1,r)?1:0;if(j)var X=95!==x$t(1,r)?1:0,H=X?42===P$t(r)?1:0:X;else H=j;if(H){var $=U$t(r);nYt(r);var Y=$}else Y=H;var V=64===P$t(r)?1:0;if(V)var K=1-p(1,r),J=K?1-X$t(1,r):K;else J=V;if(J){var W=U$t(r);nYt(r);var q=W}else q=J;var z=OI(YYt[2],r),Q=z[1],Z=xI(YYt[3],r,J,Q),rr=0;if(0===Q&&Z){var tr=OI(YYt[2],r),er=tr[1],nr=tr[2];rr=1}if(!rr)er=Q,nr=z[2];var ur=uCt([0,U,[0,Y,[0,q,[0,nr,0]]]]),ar=P$t(r),ir=0;if(0===J&&0===er&&"number"!=typeof ar&&4===ar[0]){var cr=ar[3];if(wI(cr,Oyt)){if(!wI(cr,Nyt)){var fr=U$t(r),or=n(xyt,r)[2];if(b(r)){var sr=D(r,N,x,or,J,er,H,G,Z,ur);ir=1}else{l(r,G),v(r,Z),wYt(r,or);var vr=j_t(ur,fr),lr=PYt([0,N],(function(r){return u(r,1,0)}),r),Dr=lr[2],pr=vjt([0,vr],0);sr=[0,[0,lr[1],[0,3,Dr[1],Dr[2],H,x,pr]]];ir=1}}}else{var br=U$t(r),Er=n(Lyt,r)[2];if(b(r)){sr=D(r,N,x,Er,J,er,H,G,Z,ur);ir=1}else{l(r,G),v(r,Z),wYt(r,Er);var Fr=j_t(ur,br),dr=PYt([0,N],(function(r){return u(r,1,1)}),r),mr=dr[2],hr=vjt([0,Fr],0);sr=[0,[0,dr[1],[0,2,mr[1],mr[2],H,x,hr]]];ir=1}}}if(!ir)sr=D(r,N,x,n(Pyt,r)[2],J,er,H,G,Z,ur);switch(sr[0]){case 0:var kr=sr[1],yr=kr[2],Ar=kr[1];switch(yr[1]){case 0:if(yr[4])var _r=[0,a,c];else{a&&u$t(r,[0,Ar,87]);_r=[0,1,c]}break;case 1:2===yr[2][0]&&u$t(r,[0,Ar,88]);_r=[0,a,c];break;case 2:var Cr=yr[2];_r=[0,a,2===Cr[0]?o(r,c,Cr[1],Kl):c];break;default:var wr=yr[2];_r=[0,a,2===wr[0]?o(r,c,wr[1],tu):c]}var Sr=_r;break;case 1:var gr=sr[1][2],Br=gr[4],Tr=gr[1],Ir=0;switch(Tr[0]){case 0:var Or=Tr[1],Nr=Or[2][1],xr=0;if("number"!=typeof Nr&&0===Nr[0]){var Lr=Or[1],Pr=Nr[1];Ir=1,xr=1}xr||(Ir=2);break;case 1:var Rr=Tr[1];Lr=Rr[1],Pr=Rr[2][1];Ir=1;break;case 2:P_t(wyt);break;default:Ir=2}switch(Ir){case 1:var Mr=_I(Pr,Syt);if(Mr)var Gr=Mr;else{var Ur=_I(Pr,gyt);Gr=Ur?Br:Ur}Gr&&u$t(r,[0,Lr,[22,Pr,Br,0]])}Sr=[0,a,c];break;default:Sr=[0,a,o(r,c,sr[1][2][1],Ld)]}a=Sr[1],c=Sr[2],f=[0,sr,f]}}return oYt(r,0),Byt}),f),C,I,N,E,vjt([0,F],0)]}function F(r){return[5,E(0,r,1,1)]}return[0,n,function(t){var e=PYt(0,(function(t){var e=U$t(t);sYt(t,0);for(var i=0,c=[0,0,r[3]];;){var o=c[2],s=c[1],v=P$t(t);if("number"==typeof v){var l=0;if(1!==v&&qt!==v||(l=1),l){var D=i?[0,o[1],[0,[0,i[1],99],o[2]]]:o,p=OI(r[5],D),b=nCt(s),E=U$t(t);return sYt(t,1),[0,[0,b,ljt([0,e],[0,cYt(t)],E)],p]}}if(12===P$t(t))var F=U$t(t),d=PYt(0,(function(r){return sYt(r,12),a(r)}),t),m=d[2],h=m[2],k=vjt([0,F],0),y=[0,[1,[0,d[1],[0,m[1],k]]],h];else{var A=R$t(t),_=x$t(1,t),C=0;if("number"==typeof _){var w=0;if(83<=_)95!==_&&84<=_&&(w=1);else if(79!==_)if(10<=_)w=1;else switch(_){case 1:case 4:case 9:break;default:w=1}if(!w){var S=0,g=0;C=1}}if(!C){var B=OI(YYt[1],t);S=B[1],g=B[2]}var T=OI(YYt[2],t),I=T[1],O=j_t(g,T[2]),N=P$t(t),x=0;if(0===S&&0===I&&"number"!=typeof N&&4===N[0]){var L=N[3],P=0;if(wI(L,Myt))if(wI(L,Gyt))P=1;else{var R=U$t(t),M=n(0,t)[2],G=P$t(t),U=0;if("number"==typeof G){var j=0;if(83<=G)95!==G&&84<=G&&(j=1);else if(79!==G)if(10<=G)j=1;else switch(G){case 1:case 4:case 9:break;default:j=1}if(!j){var X=f(t,A,M,0,0,0);U=1}}if(!U){wYt(t,M);var H=r[3],$=PYt([0,A],(function(r){return u(r,0,0)}),t),Y=$[2],V=vjt([0,R],0);X=[0,[0,[0,$[1],[3,Y[1],Y[2],V]]],H]}var K=X}else{var J=U$t(t),W=n(0,t)[2],q=P$t(t),z=0;if("number"==typeof q){var Q=0;if(83<=q)95!==q&&84<=q&&(Q=1);else if(79!==q)if(10<=q)Q=1;else switch(q){case 1:case 4:case 9:break;default:Q=1}if(!Q){var Z=f(t,A,W,0,0,0);z=1}}if(!z){wYt(t,W);var rr=r[3],tr=PYt([0,A],(function(r){return u(r,0,1)}),t),er=tr[2],nr=vjt([0,J],0);Z=[0,[0,[0,tr[1],[2,er[1],er[2],nr]]],rr]}K=Z}if(!P){var ur=K;x=1}}if(!x)ur=f(t,A,n(0,t)[2],S,I,O);y=ur}var ar=y[1],ir=0;if(1===ar[0]&&9===P$t(t)){var cr=[0,R$t(t)];ir=1}if(!ir)cr=0;var fr=P$t(t),or=0;if("number"==typeof fr){var sr=0;1!==fr&&qt!==fr&&(sr=1),sr||(or=1)}or||sYt(t,9);i=cr,c=[0,[0,ar,s],NI(r[4],y[2],o)]}}),t),i=e[2];return[0,e[1],i[1],i[2]]},function(r,t){return PYt(0,(function(r){return[2,E([0,t],r,r[7],0)]}),r)},function(r){return PYt(0,F,r)},s,e]}(VYt),WYt=function(r){function t(r){var t=OI(YYt[11],r);if(r[6])eYt(r,t[1]);else{var e=t[2],n=t[1];if(23===e[0]){var u=e[1];0===u[4]?0===u[5]||u$t(r,[0,n,60]):u$t(r,[0,n,59])}}return t}function e(r,t,e){var n=e[2][1],u=e[1];if(wI(n,KAt)){if(wI(n,JAt))return wI(n,WAt)?g$t(n)?tYt(t,[0,u,53]):O$t(n)?u$t(t,[0,u,[11,yjt(n)]]):r&&T$t(n)?tYt(t,[0,u,r[1]]):0:t[17]?u$t(t,[0,u,2]):tYt(t,[0,u,53]);if(t[6])return tYt(t,[0,u,53]);var a=t[14];return a?u$t(t,[0,u,[11,yjt(n)]]):a}var i=t[18];return i?u$t(t,[0,u,2]):i}function n(r,t){var e=t[4],n=t[3],u=t[2],a=t[1];e&&rYt(r,44);var i=U$t(r);return sYt(r,[2,[0,a,u,n,e]]),[0,a,[0,u,n,vjt([0,i],[0,cYt(r)])]]}function u(r,t,e){var n=r?r[1]:$At,u=t?t[1]:1,a=P$t(e);if("number"==typeof a){var i=a-2|0;if(Yu>>0){if(!(Ah<(i+1|0)>>>0)){return[1,[0,cYt(e),function(r,t){return r}]]}}else if(6===i){nYt(e);var c=P$t(e);if("number"==typeof c){var f=0;if(1!==c&&qt!==c||(f=1),f)return[0,cYt(e)]}return H$t(e)?[0,fYt(e)]:YAt}}return H$t(e)?[1,mYt(e)]:(u&&Q$t([0,n],e),VAt)}function a(r){var t=P$t(r);if("number"==typeof t){var e=0;if(1!==t&&qt!==t||(e=1),e){return[0,cYt(r),function(r,t){return r}]}}return H$t(r)?mYt(r):dYt(r)}function i(r,t,e){var n=u(0,0,t);if(0===n[0])return[0,n[1],e];var a=nCt(e);if(a)var i=nCt([0,NI(n[1][2],a[1],(function(t,e){return xI(LT(t,634872468,87),t,r,e)})),a[2]]);else i=a;return[0,0,i]}var c=function r(t){return r.fun(t)},f=function r(t){return r.fun(t)},o=function r(t){return r.fun(t)},s=function r(t){return r.fun(t)},v=function r(t){return r.fun(t)},l=function r(t,e){return r.fun(t,e)},D=function r(t){return r.fun(t)},p=function r(t){return r.fun(t)},b=function r(t,e,n){return r.fun(t,e,n)},E=function r(t){return r.fun(t)},F=function r(t){return r.fun(t)},d=function r(t,e){return r.fun(t,e)},m=function r(t){return r.fun(t)},h=function r(t){return r.fun(t)},k=function r(t,e){return r.fun(t,e)},y=function r(t){return r.fun(t)},A=function r(t,e){return r.fun(t,e)},_=function r(t){return r.fun(t)},C=function r(t,e){return r.fun(t,e)},w=function r(t){return r.fun(t)},S=function r(t,e){return r.fun(t,e)},g=function r(t,e){return r.fun(t,e)},B=function r(t,e){return r.fun(t,e)},T=function r(t){return r.fun(t)},I=function r(t){return r.fun(t)},O=function r(t){return r.fun(t)},N=function r(t,e,n){return r.fun(t,e,n)},x=function r(t,e){return r.fun(t,e)},L=function r(t){return r.fun(t)},P=function r(t){return r.fun(t)};function R(r){var t=U$t(r);sYt(r,59);var e=8===P$t(r)?1:0,n=e?cYt(r):e,a=u(0,0,r),i=0===a[0]?a[1]:a[1][1];return[4,[0,vjt([0,t],[0,j_t(n,i)])]]}function M(r){var t=U$t(r);sYt(r,37);var e=p$t(1,r),n=OI(HYt[2],e),a=1-r[6];(a?LYt(n):a)&&eYt(r,n[1]);var i=cYt(r);sYt(r,25);var c=cYt(r);sYt(r,4);var f=OI(HYt[7],r);sYt(r,5);var o=8===P$t(r)?1:0,s=o?cYt(r):o,v=u(0,HAt,r),l=0===v[0]?j_t(s,v[1]):v[1][1];return[14,[0,n,f,vjt([0,t],[0,j_t(i,j_t(c,l))])]]}function G(r,t,e){var n=e[2][1];if(n&&!n[1][2][2]){var u=n[2];if(!u)return u}return u$t(r,[0,e[1],t])}function U(r,t){var e=1-r[6],n=e?LYt(t):e;return n?eYt(r,t[1]):n}function j(t){var e=U$t(t);sYt(t,39);var n=t[18],u=n?uYt(t,65):n,a=j_t(e,U$t(t));sYt(t,4);var i=vjt([0,a],0),c=b$t(1,t),f=P$t(c),o=0;if("number"==typeof f)if(24<=f){if(!(29<=f)){var s=0;switch(f-24|0){case 0:var v=PYt(0,YYt[10],c),l=v[2],D=l[3],p=vjt([0,l[2]],0),b=[0,[0,[1,[0,v[1],[0,l[1],0,p]]]],D];break;case 3:var E=PYt(0,YYt[9],c),F=E[2],d=F[3],m=vjt([0,F[2]],0);b=[0,[0,[1,[0,E[1],[0,F[1],2,m]]]],d];break;case 4:var h=PYt(0,YYt[8],c),k=h[2],y=k[3],A=vjt([0,k[2]],0);b=[0,[0,[1,[0,h[1],[0,k[1],1,A]]]],y];break;default:s=1}if(!s){var _=b[1],C=b[2];o=1}}}else if(8===f){_=0,C=0;o=1}if(!o){var w=D$t(1,c);_=[0,[0,OI(HYt[8],w)]],C=0}var S=P$t(t);if(63!==S&&!u){if("number"==typeof S&&17===S){if(_){var g=_[1];if(0===g[0])var B=[1,xI(r[2],jAt,t,g[1])];else{var T=g[1];G(t,28,T);B=[0,T]}sYt(t,17);var I=OI(HYt[7],t);sYt(t,5);var O=p$t(1,t),N=OI(HYt[2],O);return U(t,N),[21,[0,B,I,N,0,i]]}throw[0,$I,XAt]}if(cCt((function(r){return u$t(t,r)}),C),sYt(t,8),_)var x=_[1],L=0===x[0]?[0,[1,NI(r[1],t,x[1])]]:[0,[0,x[1]]];else L=_;var P=P$t(t),R=0;if("number"==typeof P){var M=8!==P?1:0;if(!M){var j=M;R=1}}if(!R)j=[0,OI(HYt[7],t)];sYt(t,8);var X=P$t(t),H=0;if("number"==typeof X){var $=5!==X?1:0;if(!$){var Y=$;H=1}}if(!H)Y=[0,OI(HYt[7],t)];sYt(t,5);var V=p$t(1,t),K=OI(HYt[2],V);return U(t,K),[20,[0,L,j,Y,K,i]]}if(_){var J=_[1];if(0===J[0])var W=[1,xI(r[2],GAt,t,J[1])];else{var q=J[1];G(t,29,q);W=[0,q]}sYt(t,63);var z=OI(HYt[10],t);sYt(t,5);var Q=p$t(1,t),Z=OI(HYt[2],Q);return U(t,Z),[22,[0,W,z,Z,u,i]]}throw[0,$I,UAt]}function X(r){var e=W$t(r)?t(r):OI(HYt[2],r),n=1-r[6];return(n?LYt(e):n)&&eYt(r,e[1]),e}function H(r){var t=U$t(r);return sYt(r,43),[0,X(r),vjt([0,t],0)]}function $(r){var t=U$t(r);sYt(r,16);var e=j_t(t,U$t(r));sYt(r,4);var n=OI(HYt[7],r);sYt(r,5);var u=X(r),a=43===P$t(r)?1:0;return[24,[0,n,u,a?[0,PYt(0,H,r)]:a,vjt([0,e],0)]]}function Y(r){1-r[11]&&z$t(r,36);var t=U$t(r);sYt(r,19);var e=8===P$t(r)?1:0,n=e?cYt(r):e,a=0;if(8!==P$t(r)&&!Y$t(r)){var i=[0,OI(HYt[7],r)];a=1}if(!a)i=0;var c=u(0,0,r),f=0;if(0===c[0])var o=c[1];else{var s=c[1];if(i){var v=n,l=[0,NI(s[2],i[1],(function(r,t){return NI(LT(r,VD,88),r,t)}))];f=1}else o=s[1]}if(!f)v=j_t(n,o),l=i;return[28,[0,l,vjt([0,t],[0,v])]]}function V(r){var t=U$t(r);sYt(r,20),sYt(r,4);var e=OI(HYt[7],r);sYt(r,5),sYt(r,0);for(var n=MAt;;){var u=n[2],i=n[1],c=P$t(r);if("number"==typeof c){var f=0;if(1!==c&&qt!==c||(f=1),f){var o=nCt(u);return sYt(r,1),[29,[0,e,o,vjt([0,t],[0,a(r)[1]])]]}}var s=R$t(r),v=U$t(r),l=P$t(r),D=0;if("number"==typeof l&&36===l){i&&z$t(r,32),sYt(r,36);var p=0,b=cYt(r);D=1}if(!D){sYt(r,33);p=[0,OI(HYt[7],r)],b=0}var E=i||(0===p?1:0),F=R$t(r);sYt(r,83);var d=j_t(b,a(r)[1]),m=NI(HYt[4],(function(r){if("number"==typeof r){var t=r-1|0,e=0;if(32>>0?35===t&&(e=1):30<(t-1|0)>>>0&&(e=1),e)return 1}return 0}),[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]),h=nCt(m),k=h?h[1][1]:F,y=[0,p,m,vjt([0,v],[0,d])];n=[0,E,[0,[0,ajt(s,k),y],u]]}}function K(r){var t=U$t(r),e=R$t(r);sYt(r,22),H$t(r)&&u$t(r,[0,e,21]);var n=OI(HYt[7],r),a=u(0,0,r);if(0===a[0])var i=[0,a[1],n];else i=[0,0,NI(a[1][2],n,(function(r,t){return NI(LT(r,VD,89),r,t)}))];var c=vjt([0,t],[0,i[1]]);return[30,[0,i[2],c]]}function J(r){var t=U$t(r);sYt(r,23);var e=OI(HYt[15],r);if(34===P$t(r))var n=NI(hYt(r)[2],e,(function(r,t){var e=t[1];return[0,e,xI(LT(r,pD,27),r,e,t[2])]}));else n=e;var u=P$t(r),i=0;if("number"==typeof u&&34===u){var c=[0,PYt(0,(function(r){var t=U$t(r);sYt(r,34);var e=cYt(r),n=4===P$t(r)?1:0;if(n){sYt(r,4);var u=[0,NI(HYt[18],r,39)];sYt(r,5);var i=u}else i=n;var c=OI(HYt[15],r);if(38===P$t(r))var f=c;else f=NI(a(r)[2],c,(function(r,t){var e=t[1];return[0,e,xI(LT(r,pD,90),r,e,t[2])]}));return[0,i,f,vjt([0,t],[0,e])]}),r)];i=1}if(!i)c=0;var f=P$t(r),o=0;if("number"==typeof f&&38===f){sYt(r,38);var s=OI(HYt[15],r),v=s[1],l=a(r),D=[0,[0,v,NI(l[2],s[2],(function(r,t){return xI(LT(r,pD,91),r,v,t)}))]];o=1}if(!o)D=0;var p=0===c?1:0;return(p?0===D?1:0:p)&&u$t(r,[0,n[1],33]),[31,[0,n,c,D,vjt([0,t],0)]]}function W(r){var t=OI(YYt[10],r),e=i(0,r,t[1]);cCt((function(t){return u$t(r,t)}),t[3]);var n=vjt([0,t[2]],[0,e[1]]);return[34,[0,e[2],0,n]]}function q(r){var t=OI(YYt[9],r),e=i(2,r,t[1]);cCt((function(t){return u$t(r,t)}),t[3]);var n=vjt([0,t[2]],[0,e[1]]);return[34,[0,e[2],2,n]]}function z(r){var t=OI(YYt[8],r),e=i(1,r,t[1]);cCt((function(t){return u$t(r,t)}),t[3]);var n=vjt([0,t[2]],[0,e[1]]);return[34,[0,e[2],1,n]]}function Q(r){var t=U$t(r);sYt(r,25);var e=j_t(t,U$t(r));sYt(r,4);var n=OI(HYt[7],r);sYt(r,5);var u=p$t(1,r),a=OI(HYt[2],u),i=1-r[6];return(i?LYt(a):i)&&eYt(r,a[1]),[35,[0,n,a,vjt([0,e],0)]]}function Z(r){var e=U$t(r),n=OI(HYt[7],r),a=P$t(r),i=n[2];if(10===i[0]&&"number"==typeof a&&83===a){var c=i[1],f=c[2][1];sYt(r,83),NI(jYt[3],f,r[3])&&u$t(r,[0,n[1],[17,PAt,f]]);var o=r[29],s=r[28],v=r[27],l=r[26],D=r[25],p=r[24],b=r[23],E=r[22],F=r[21],d=r[20],m=r[19],h=r[18],k=r[17],y=r[16],A=r[15],_=r[14],C=r[13],w=r[12],S=r[11],g=r[10],B=r[9],T=r[8],I=r[7],O=r[6],N=r[5],x=r[4],L=NI(QHt[4],f,r[3]),P=[0,r[1],r[2],L,x,N,O,I,T,B,g,S,w,C,_,A,y,k,h,m,d,F,E,b,p,D,l,v,s,o];return[27,[0,c,W$t(P)?t(P):OI(HYt[2],P),vjt([0,e],0)]]}var R=u(RAt,0,r);if(0===R[0])var M=[0,R[1],n];else M=[0,0,NI(R[1][2],n,(function(r,t){return NI(LT(r,VD,92),r,t)}))];var G=vjt(0,[0,M[1]]);return[19,[0,M[2],0,G]]}function rr(r){var t=OI(HYt[7],r),e=u(LAt,0,r);if(0===e[0])var n=[0,e[1],t];else n=[0,0,NI(e[1][2],t,(function(r,t){return NI(LT(r,VD,93),r,t)}))];var a=n[2],i=r[19];if(i){var c=a[2],f=0;if(14===c[0]){var o=c[1],s=o[1];if("number"!=typeof s&&0===s[0]){var v=o[2],l=[0,kCt(v,1,HT(v)-2|0)];f=1}}if(!f)l=0;var D=l}else D=i;return[19,[0,a,D,vjt(0,[0,n[1]])]]}function tr(r){return PYt(0,rr,r)}function er(r,t){var e=t[2];switch(e[0]){case 0:return fCt((function(r,t){return er(r,0===t[0]?t[1][2][2]:t[1][2][1])}),r,e[1][1]);case 1:return fCt((function(r,t){return 2===t[0]?r:er(r,t[1][2][1])}),r,e[1][1]);case 2:return[0,e[1][1],r];default:return P_t(xAt)}}function nr(r){var t=P$t(r),e=0;if("number"!=typeof t&&4===t[0]&&!wI(t[3],TAt)){nYt(r);var u=P$t(r);if("number"!=typeof u&&2===u[0])return n(r,u[1]);Q$t(IAt,r),e=1}return e||Q$t(OAt,r),[0,M$t(r),NAt]}function ur(r,t,e){function n(t){return r?OI($Yt[2],t):NI(HYt[13],0,t)}var u=x$t(1,e);if("number"==typeof u)switch(u){case 1:case 9:case 110:return[0,n(e),0]}else if(4===u[0]&&!wI(u[3],BAt)){var a=xYt(e);return nYt(e),[0,a,[0,n(e)]]}var i=P$t(e);if(t&&"number"==typeof i){var c=0;if(46!==i&&61!==i||(c=1),c)return z$t(e,t[1]),nYt(e),[0,OI($Yt[2],e),0]}return[0,n(e),0]}function ar(r,t){var n=P$t(r);if("number"==typeof n&&ul===n){var u=PYt(0,(function(r){nYt(r);var e=P$t(r);return"number"==typeof e||4!==e[0]||wI(e[3],SAt)?(Q$t(gAt,r),0):(nYt(r),2<=t?[0,NI(HYt[13],0,r)]:[0,OI($Yt[2],r)])}),r),a=u[2],i=a?[0,[0,u[1],a[1]]]:a;return i?[0,[1,i[1]]]:i}sYt(r,0);for(var c=0,f=0;;){var o=c?c[1]:1,s=P$t(r);if("number"==typeof s){var v=0;if(1!==s&&qt!==s||(v=1),v){var l=nCt(f);return sYt(r,1),[0,[0,l]]}}if(1-o&&z$t(r,84),2===t){var D=P$t(r),p=0;if("number"==typeof D)if(46===D)var b=AAt;else if(61===D)b=yAt;else p=1;else p=1;if(p)b=0;var E=P$t(r),F=0;if("number"==typeof E){var d=0;if(46!==E&&61!==E&&(d=1),!d){var m=1;F=1}}if(!F)m=0;if(m){var h=xYt(r),k=P$t(r),y=0;if("number"==typeof k)switch(k){case 1:case 9:case 110:e(0,r,h);var A=[0,0,0,h];y=1}else if(4===k[0]&&!wI(k[3],_At)){var _=x$t(1,r),C=0;if("number"==typeof _)switch(_){case 1:case 9:case 110:var w=[0,b,0,OI($Yt[2],r)];C=1}else if(4===_[0]&&!wI(_[3],CAt)){var S=xYt(r);nYt(r);w=[0,b,[0,OI($Yt[2],r)],S];C=1}if(!C){e(0,r,h),nYt(r);w=[0,0,[0,NI(HYt[13],0,r)],h]}A=w;y=1}if(!y){var g=ur(1,0,r);A=[0,b,g[2],g[1]]}var B=A}else{var T=ur(0,0,r);B=[0,0,T[2],T[1]]}var I=B}else{var O=ur(1,kAt,r);I=[0,0,O[2],O[1]]}c=[0,uYt(r,9)],f=[0,I,f]}}function ir(r,t){var e=u(0,0,r);if(0===e[0])return[0,e[1],t];return[0,0,NI(e[1][2],t,(function(r,t){var e=t[1];return[0,e,xI(LT(r,Jg,94),r,e,t[2])]}))]}function cr(r){var t=f$t(1,r),e=U$t(t);sYt(t,50);var u=P$t(t),a=0;if("number"==typeof u)switch(u){case 46:if(n$t(t)){sYt(t,46);var i=P$t(t),c=0;if("number"==typeof i){var f=0;if(ul!==i&&0!==i&&(f=1),!f){var o=1;a=2,c=1}}if(!c){var s=1;a=1}}break;case 61:if(n$t(t)){var v=x$t(1,t),l=0;if("number"==typeof v)switch(v){case 0:nYt(t);o=0;a=2,l=2;break;case 103:nYt(t),Q$t(0,t);o=0;a=2,l=2;break;case 9:l=1}else 4!==v[0]||wI(v[3],wAt)||(l=1);switch(l){case 2:break;case 0:nYt(t);s=0;a=1;break;default:s=2;a=1}}break;case 0:case 103:o=2;a=2}else if(2===u[0]){var D=ir(t,n(t,u[1])),p=vjt([0,e],[0,D[1]]);return[25,[0,2,D[2],0,0,p]]}switch(a){case 0:s=2;break;case 1:break;default:var b=ar(t,o),E=ir(t,nr(t)),F=vjt([0,e],[0,E[1]]);return[25,[0,o,E[2],0,b,F]]}var d=2<=s?NI(HYt[13],0,t):OI($Yt[2],t),m=P$t(t),h=0;if("number"==typeof m&&9===m){sYt(t,9);var k=ar(t,s);h=1}if(!h)k=0;var y=ir(t,nr(t)),A=vjt([0,e],[0,y[1]]);return[25,[0,s,y[2],[0,d],k,A]]}function fr(r){return PYt(0,cr,r)}return mB(c,(function(r){var t=R$t(r),e=U$t(r);return sYt(r,8),[0,t,[15,[0,vjt([0,e],[0,a(r)[1]])]]]})),mB(f,(function(r){var t=U$t(r),e=PYt(0,(function(r){sYt(r,32);var t=0;if(8!==P$t(r)&&!Y$t(r)){var e=NI(HYt[13],0,r),n=e[2][1];1-NI(jYt[3],n,r[3])&&z$t(r,[16,n]);var a=[0,e];t=1}if(!t)a=0;var i=u(0,0,r),c=0;if(0===i[0])var f=i[1];else{var o=i[1];if(a){var s=0,v=[0,NI(o[2],a[1],(function(r,t){return NI(LT(r,jg,95),r,t)}))];c=1}else f=o[1]}if(!c)s=f,v=a;return[0,v,s]}),r),n=e[2],a=n[1],i=e[1],c=0===a?1:0;if(c)var f=1-(r[8]||r[9]);else f=c;return f&&u$t(r,[0,i,35]),[0,i,[1,[0,a,vjt([0,t],[0,n[2]])]]]})),mB(o,(function(r){var t=U$t(r),e=PYt(0,(function(r){sYt(r,35);var t=0;if(8!==P$t(r)&&!Y$t(r)){var e=NI(HYt[13],0,r),n=e[2][1];1-NI(jYt[3],n,r[3])&&z$t(r,[16,n]);var a=[0,e];t=1}if(!t)a=0;var i=u(0,0,r),c=0;if(0===i[0])var f=i[1];else{var o=i[1];if(a){var s=0,v=[0,NI(o[2],a[1],(function(r,t){return NI(LT(r,jg,96),r,t)}))];c=1}else f=o[1]}if(!c)s=f,v=a;return[0,v,s]}),r),n=e[2],a=e[1];1-r[8]&&u$t(r,[0,a,34]);var i=vjt([0,t],[0,n[2]]);return[0,a,[3,[0,n[1],i]]]})),mB(s,(function(r){var t=PYt(0,(function(r){var t=U$t(r);sYt(r,26);var e=j_t(t,U$t(r));sYt(r,4);var n=OI(HYt[7],r);sYt(r,5);var u=OI(HYt[2],r),a=1-r[6];return(a?LYt(u):a)&&eYt(r,u[1]),[36,[0,n,u,vjt([0,e],0)]]}),r),e=t[1];return tYt(r,[0,e,38]),[0,e,t[2]]})),mB(v,(function(r){var t=OI(HYt[15],r),e=t[1],n=a(r);return[0,e,[0,NI(n[2],t[2],(function(r,t){return xI(LT(r,pD,97),r,e,t)}))]]})),mB(l,(function(r,t){1-n$t(t)&&z$t(t,10);var e=j_t(r,U$t(t));sYt(t,61),aYt(t,1);var n=OI($Yt[2],t),a=95===P$t(t)?kYt(t,n):n,i=OI($Yt[3],t);sYt(t,79);var c=OI($Yt[1],t);iYt(t);var f=u(0,0,t);if(0===f[0])var o=[0,f[1],c];else o=[0,0,NI(f[1][2],c,(function(r,t){return NI(LT(r,hc,98),r,t)}))];var s=vjt([0,e],[0,o[1]]);return[0,a,i,o[2],s]})),mB(D,(function(r){return PYt(0,(function(r){var t=U$t(r);return sYt(r,60),[11,NI(l,t,r)]}),r)})),mB(p,(function(r){if(V$t(1,r)&&!$$t(1,r)){var t=PYt(0,OI(l,0),r);return[0,t[1],[32,t[2]]]}return OI(HYt[2],r)})),mB(b,(function(r,t,e){var n=r?r[1]:r;1-n$t(e)&&z$t(e,11);var a=j_t(t,U$t(e));sYt(e,62);var i=U$t(e);sYt(e,61);var c=j_t(a,i);aYt(e,1);var f=OI($Yt[2],e),o=95===P$t(e)?kYt(e,f):f,s=OI($Yt[3],e),v=P$t(e),l=0;if("number"==typeof v&&83===v){sYt(e,83);var D=[0,OI($Yt[1],e)];l=1}if(!l)D=0;if(n){var p=P$t(e),b=0;if("number"==typeof p&&79===p){z$t(e,68),nYt(e);var E=0;if(8!==P$t(e)&&!Y$t(e)){var F=[0,OI($Yt[1],e)];E=1}if(!E)F=0}else b=1;if(b)F=0;var d=F}else{sYt(e,79);d=[0,OI($Yt[1],e)]}iYt(e);var m=u(0,0,e);if(0===m[0])var h=[0,m[1],o,s,D,d];else{var k=m[1][2];if(d)var y=[0,0,o,s,D,[0,NI(k,d[1],(function(r,t){return NI(LT(r,hc,99),r,t)}))]];else if(D)y=[0,0,o,s,[0,NI(k,D[1],(function(r,t){return NI(LT(r,hc,ku),r,t)}))],0];else if(s)y=[0,0,o,[0,NI(k,s[1],(function(r,t){return NI(LT(r,Am,Um),r,t)}))],0,0];else y=[0,0,NI(k,o,(function(r,t){return NI(LT(r,jg,Pm),r,t)})),0,0,0];h=y}var A=vjt([0,c],[0,h[1]]);return[0,h[2],h[3],h[5],h[4],A]})),mB(E,(function(r){return PYt(0,(function(r){var t=U$t(r);return sYt(r,60),[12,xI(b,hAt,t,r)]}),r)})),mB(F,(function(r){var t=x$t(1,r);if("number"==typeof t&&61===t){var e=PYt(0,NI(b,mAt,0),r);return[0,e[1],[33,e[2]]]}return OI(HYt[2],r)})),mB(d,(function(r,t){1-n$t(t)&&z$t(t,16);var e=j_t(r,U$t(t));sYt(t,53);var n=OI($Yt[2],t),u=41===P$t(t)?n:kYt(t,n),i=OI($Yt[3],t),c=41===P$t(t)?i:yYt(t,i),f=OI($Yt[7],t);var o=NI(a(t)[2],f[2],(function(r,t){var e=t[1];return[0,e,xI(LT(r,_l,ul),r,e,t[2])]})),s=vjt([0,e],0);return[0,u,c,f[1],o,s]})),mB(m,(function(r){return PYt(0,(function(r){var t=U$t(r);return sYt(r,60),[8,NI(d,t,r)]}),r)})),mB(h,(function(r){if(V$t(1,r)||K$t(1,r)){var t=PYt(0,OI(d,0),r);return[0,t[1],[26,t[2]]]}return tr(r)})),mB(k,(function(r,t){var e=f$t(1,t),n=j_t(r,U$t(e));sYt(e,40);var u=NI(HYt[13],0,e),i=P$t(e),c=0;if("number"==typeof i){var f=0;if(95!==i&&0!==i&&(f=1),!f){var o=kYt(e,u);c=1}}if(!c)o=u;var s=OI($Yt[3],e),v=P$t(e),l=0;if("number"==typeof v&&0===v){var D=yYt(e,s);l=1}if(!l)D=s;var p=uYt(e,41);if(p){var b=OI($Yt[5],e),E=P$t(e),F=0;if("number"==typeof E&&0===E){var d=[0,NI(hYt(e)[2],b,(function(r,t){return QUt(OI(LT(r,_a,34),r),t)}))];F=1}if(!F)d=[0,b];var m=d}else m=p;var h=P$t(e),k=0;if("number"!=typeof h&&4===h[0]&&!wI(h[3],dAt)){nYt(e);for(var y=0;;){var A=[0,OI($Yt[5],e),y],_=P$t(e);if("number"!=typeof _||9!==_){var C=nCt(A),w=P$t(e),S=0;if("number"==typeof w&&0===w){var g=SYt(e,C);S=1}if(!S)g=C;var B=g;k=1;break}sYt(e,9);y=A}}if(!k)B=0;var T=P$t(e),I=0;if("number"==typeof T&&52===T){var O=NI(JYt[5],e,0),N=P$t(e),x=0;if("number"==typeof N&&0===N){var L=[0,gYt(e,O)];x=1}if(!x)L=[0,O];var P=L;I=1}if(!I)P=0;var R=NI($Yt[6],1,e);return[0,o,D,NI(a(e)[2],R,(function(r,t){var e=t[1];return[0,e,xI(LT(r,_l,Sm),r,e,t[2])]})),m,B,P,vjt([0,n],0)]})),mB(y,(function(r){return PYt(0,(function(r){var t=U$t(r);return sYt(r,60),[5,NI(k,t,r)]}),r)})),mB(A,(function(r,t){var e=j_t(r?r[1]:r,U$t(t));sYt(t,15);var n=kYt(t,NI(HYt[13],0,t)),a=R$t(t),i=yYt(t,OI($Yt[3],t)),c=OI($Yt[8],t);sYt(t,83);var f=OI($Yt[1],t);aYt(t,1);var o=P$t(t);if(iYt(t),66===o)var s=NI(hYt(t)[2],f,(function(r,t){return NI(LT(r,hc,29),r,t)}));else s=f;var v=ajt(a,s[1]),l=[0,v,[12,[0,i,c,s,0]]],D=OI($Yt[11],t),p=u(0,0,t);if(0===p[0])var b=[0,p[1],l,D];else{var E=p[1][2];if(D)var F=[0,0,l,[0,NI(E,D[1],(function(r,t){return NI(LT(r,ts,BS),r,t)}))]];else F=[0,0,NI(E,l,(function(r,t){return NI(LT(r,hc,$a),r,t)})),0];b=F}var d=[0,v,b[2]],m=vjt([0,e],[0,b[1]]);return[0,n,d,b[3],m]})),mB(_,(function(r){return PYt(0,(function(r){var t=U$t(r);sYt(r,60);var e=P$t(r);return"number"==typeof e&&64===e&&(z$t(r,65),sYt(r,64)),[7,NI(A,[0,t],r)]}),r)})),mB(C,(function(r,t){var e=j_t(t,U$t(r));sYt(r,24);var n=xI(HYt[14],r,FAt,40)[2],a=n[2],i=n[1],c=u(0,0,r);if(0===c[0])var f=[0,c[1],i,a];else{var o=c[1][2];f=0===a[0]?[0,0,NI(o,i,(function(r,t){return NI(LT(r,jg,Yu),r,t)})),a]:[0,0,i,NI(o,a,(function(r,t){return NI(LT(r,qE,jb),r,t)}))]}var s=vjt([0,e],[0,f[1]]);return[0,f[2],f[3],s]})),mB(w,(function(r){return PYt(0,(function(r){var t=U$t(r);return sYt(r,60),[13,NI(C,r,t)]}),r)})),mB(S,(function(r,t){var e=r?r[1]:r,u=R$t(t),i=U$t(t);sYt(t,60);var c=j_t(i,U$t(t));if(vYt(t,EAt),!e&&10!==P$t(t)){var f=P$t(t),o=0;if("number"!=typeof f&&2===f[0]){var s=n(t,f[1]),v=[1,NI(hYt(t)[2],s,(function(r,t){var e=t[1];return[0,e,xI(LT(r,Jg,37),r,e,t[2])]}))];o=1}if(!o)v=[0,kYt(t,NI(HYt[13],0,t))];var l=PYt(0,(function(r){var t=U$t(r);sYt(r,0);for(var e=0,n=0;;){var u=P$t(r);if("number"==typeof u){var i=0;if(1!==u&&qt!==u||(i=1),i){var c=nCt(n),f=0===c?1:0,o=f?U$t(r):f;return sYt(r,1),[0,[0,e,c],ljt([0,t],[0,a(r)[1]],o)]}}var s=NI(B,bAt,r),v=s[2],l=s[1],D=0;if(e)if(0===e[1][0])switch(v[0]){case 6:var p=v[1][2],b=0;if(p)switch(p[1][0]){case 4:case 6:b=1}b||z$t(r,79);var E=e;break;case 10:z$t(r,78);E=e;break;default:D=1}else if(10===v[0]){z$t(r,79);E=e}else D=1;else switch(v[0]){case 6:var F=v[1][2],d=0;if(F)switch(F[1][0]){case 4:case 6:var m=e;d=1}if(!d)m=[0,[1,l]];E=m;break;case 10:E=[0,[0,l]];break;default:D=1}if(D)E=e;e=E,n=[0,s,n]}}),t),D=l[2],p=D[1],b=p[1],E=l[1],F=[0,E,[0,p[2],D[2]]],d=ajt(u,E);return[0,d,[9,[0,v,F,b?b[1]:[0,d],vjt([0,c],0)]]]}var m=PYt(0,OI(g,c),t),h=m[2];return[0,ajt(u,m[1]),h]})),mB(g,(function(r,t){var e=U$t(t);sYt(t,10);var n=U$t(t);vYt(t,pAt);var a=uCt([0,r,[0,e,[0,n,[0,U$t(t),0]]]]),i=OI($Yt[9],t),c=u(0,0,t);if(0===c[0])var f=[0,i,c[1]];else f=[0,NI(c[1][2],i,(function(r,t){return NI(LT(r,tD,Ah),r,t)})),0];var o=vjt([0,a],[0,f[2]]);return[10,[0,f[1],o]]})),mB(B,(function(r,t){var e=r?r[1]:r;1-n$t(t)&&z$t(t,13);var n=x$t(1,t);if("number"==typeof n)switch(n){case 24:return OI(w,t);case 40:return OI(y,t);case 46:if(50===P$t(t))return fr(t);break;case 49:if(e)return NI(P,[0,e],t);break;case 53:return OI(m,t);case 61:var u=P$t(t);return"number"==typeof u&&50===u&&e?fr(t):OI(D,t);case 62:return OI(E,t);case 15:case 64:return OI(_,t)}else if(4===n[0]&&!wI(n[3],DAt))return NI(S,[0,e],t);if(e){var a=P$t(t);return"number"==typeof a&&50===a?(z$t(t,82),OI(HYt[2],t)):OI(w,t)}return OI(HYt[2],t)})),mB(T,(function(r){vYt(r,sAt);var t=P$t(r);if("number"!=typeof t&&2===t[0])return n(r,t[1]);var e=[0,R$t(r),vAt];return Q$t(lAt,r),e})),mB(I,(function(r){var t=OI(T,r),e=t[2],n=t[1],a=u(0,0,r);if(0===a[0])return[0,[0,n,e],a[1]];return[0,[0,n,NI(a[1][2],e,(function(r,t){return xI(LT(r,Jg,qt),r,n,t)}))],0]})),mB(O,(function(r){return r[2][1]})),mB(N,(function(r,t,e){var n=r?r[1]:1,u=P$t(t);if("number"==typeof u){var a=0;if(1!==u&&qt!==u||(a=1),a)return nCt(e)}1-n&&z$t(t,85);var i=PYt(0,(function(r){var t=xYt(r),e=P$t(r),n=0;if("number"!=typeof e&&4===e[0]&&!wI(e[3],oAt)){nYt(r);var u=xYt(r);a$t(r,u);var a=[0,u];n=1}if(!n){a$t(r,t);a=0}return[0,t,a]}),t);return xI(N,[0,uYt(t,9)],t,[0,i,e])})),mB(x,(function(r,t){return cCt((function(t){var n=t[2];return n[2]?0:e(fAt,r,n[1])}),t)})),mB(L,(function(r){function t(t){var e=F$t(1,f$t(1,t)),n=R$t(e),a=U$t(e);sYt(e,49);var i=P$t(e);if("number"==typeof i)if(65<=i){if(ul===i){var c=R$t(e);sYt(e,ul);var f=e[26][5],o=P$t(e),s=0;if("number"!=typeof o&&4===o[0]&&!wI(o[3],eAt)){nYt(e);var v=f?[0,NI(HYt[13],0,e)]:(z$t(e,13),0);s=1}if(!s)v=0;var D=OI(I,e),p=vjt([0,a],[0,D[2]]);return[18,[0,0,[0,[1,[0,c,v]]],[0,D[1]],1,p]]}}else if(13<=i)switch(i-13|0){case 23:var E=j_t(a,U$t(e)),F=PYt(0,(function(r){return sYt(r,36)}),e);if(a$t(e,ojt(0,[0,ajt(n,R$t(e)),nAt])),W$t(e))var d=[0,OI(YYt[11],e)],m=0;else if(q$t(e))d=[0,NI(JYt[3],e,r)],m=0;else if(48===P$t(e))d=[0,OI(YYt[12],e)],m=0;else{var k=OI(HYt[10],e),y=u(0,0,e);if(0===y[0])var A=[0,k,y[1]];else A=[0,NI(y[1][2],k,(function(r,t){return NI(LT(r,VD,Vr),r,t)})),0];d=[1,A[1]],m=A[2]}var _=vjt([0,E],[0,m]);return[17,[0,F[1],d,_]];case 40:1-n$t(e)&&z$t(e,15);var C=OI(h,e),w=C[2];if(26===w[0]){var S=OI(O,w[1][1]);a$t(e,ojt(0,[0,C[1],S]))}else P_t(G_t(aAt,uAt));return[18,[0,[0,C],0,0,0,vjt([0,a],0)]];case 48:if(0!==x$t(1,e)){1-n$t(e)&&z$t(e,15);var g=x$t(1,e);if("number"==typeof g){if(48===g)return z$t(e,0),sYt(e,61),[18,[0,0,0,0,0,vjt([0,a],0)]];if(ul===g){sYt(e,61);var B=R$t(e);sYt(e,ul);var T=OI(I,e),L=vjt([0,a],[0,T[2]]);return[18,[0,0,[0,[1,[0,B,0]]],[0,T[1]],0,L]]}}var P=PYt(0,OI(l,0),e),R=P[2],M=P[1];return a$t(e,ojt(0,[0,M,OI(O,R[1])])),[18,[0,[0,[0,M,[32,R]]],0,0,0,vjt([0,a],0)]]}break;case 49:var G=PYt(0,(function(r){return OI(NI(b,0,0),r)}),e),U=G[2],j=G[1];return a$t(e,ojt(0,[0,j,OI(O,U[1])])),[18,[0,[0,[0,j,[33,U]]],0,0,0,vjt([0,a],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var X=NI(HYt[3],[0,r],e),H=X[2],$=X[1],Y=0;switch(H[0]){case 2:var V=H[1][1];if(V){var K=V[1];Y=1}else{u$t(e,[0,$,74]);var J=0}break;case 16:K=H[1][1];Y=1;break;case 23:var W=H[1][1];if(W){K=W[1];Y=1}else{u$t(e,[0,$,75]);J=0}break;case 34:J=fCt((function(r,t){return fCt(er,r,[0,t[2][1],0])}),0,H[1][1]);break;default:J=P_t(cAt)}return cCt((function(r){return a$t(e,r)}),Y?[0,ojt(0,[0,$,OI(O,K)]),0]:J),[18,[0,[0,X],0,0,1,vjt([0,a],0)]]}var q=P$t(e),z=0;if("number"==typeof q&&61===q){nYt(e);var Q=0;z=1}if(!z)Q=1;sYt(e,0);var Z=xI(N,0,e,0);sYt(e,1);var rr=P$t(e),tr=0;if("number"!=typeof rr&&4===rr[0]&&!wI(rr[3],iAt)){var nr=OI(I,e),ur=[0,nr[1]],ar=nr[2];tr=1}if(!tr){NI(x,e,Z);var ir=u(0,0,e);ur=0,ar=0===ir[0]?ir[1]:ir[1][1]}return[18,[0,0,[0,[0,Z]],ur,Q,vjt([0,a],[0,ar])]]}return function(r){return PYt(0,t,r)}})),mB(P,(function(r){var t=r?r[1]:r;function e(r){1-n$t(r)&&z$t(r,13);var e=U$t(r);sYt(r,60);var n=F$t(1,f$t(1,r)),a=j_t(e,U$t(n));sYt(n,49);var i=P$t(n);if("number"==typeof i)if(53<=i){if(ul===i){var c=R$t(n);sYt(n,ul);var f=n[26][5],o=P$t(n),s=0;if("number"!=typeof o&&4===o[0]&&!wI(o[3],Zyt)){nYt(n);var v=f?[0,NI(HYt[13],0,n)]:(z$t(n,13),0);s=1}if(!s)v=0;var D=OI(I,n),p=vjt([0,a],[0,D[2]]);return[6,[0,0,0,[0,[1,[0,c,v]]],[0,D[1]],p]]}if(!(63<=i))switch(i-53|0){case 0:if(t)return[6,[0,0,[0,[6,PYt(0,OI(d,0),n)]],0,0,vjt([0,a],0)]];break;case 8:if(t)return[6,[0,0,[0,[4,PYt(0,OI(l,0),n)]],0,0,vjt([0,a],0)]];break;case 9:return[6,[0,0,[0,[5,PYt(0,NI(b,Qyt,0),n)]],0,0,vjt([0,a],0)]]}}else{var E=i-15|0;if(!(25>>0))switch(E){case 21:var F=j_t(a,U$t(n)),m=PYt(0,(function(r){return sYt(r,36)}),n),h=P$t(n),y=0;if("number"==typeof h)if(15===h)var _=[0,[1,PYt(0,(function(r){return NI(A,0,r)}),n)]],w=0;else if(40===h)_=[0,[2,PYt(0,OI(k,0),n)]],w=0;else y=1;else y=1;if(y){var S=OI($Yt[1],n),g=u(0,0,n);if(0===g[0])var B=[0,S,g[1]];else B=[0,NI(g[1][2],S,(function(r,t){return NI(LT(r,hc,It),r,t)})),0];_=[0,[3,B[1]]],w=B[2]}var T=vjt([0,F],[0,w]);return[6,[0,[0,m[1]],_,0,0,T]];case 0:case 9:case 12:case 13:case 25:var O=P$t(n);if("number"==typeof O){var L=0;if(25<=O)if(29<=O){if(40===O){var P=[0,[2,PYt(0,OI(k,0),n)]];L=1}}else 27<=O&&(L=2);else if(15===O){P=[0,[1,PYt(0,(function(r){return NI(A,0,r)}),n)]];L=1}else 24<=O&&(L=2);var R=0;switch(L){case 0:break;case 2:"number"==typeof O&&(27===O?z$t(n,70):28===O&&z$t(n,69));P=[0,[0,PYt(0,(function(r){return NI(C,r,0)}),n)]];R=1;break;default:R=1}if(R)return[6,[0,0,P,0,0,vjt([0,a],0)]]}throw[0,$I,tAt]}}var M=P$t(n);"number"==typeof M&&(53===M?z$t(n,72):61===M&&z$t(n,71)),sYt(n,0);var G=xI(N,0,n,0);sYt(n,1);var U=P$t(n),j=0;if("number"!=typeof U&&4===U[0]&&!wI(U[3],rAt)){var X=OI(I,n),H=[0,X[1]],$=X[2];j=1}if(!j){NI(x,n,G);var Y=u(0,0,n);H=0,$=0===Y[0]?Y[1]:Y[1][1]}return[6,[0,0,0,[0,[0,G]],H,vjt([0,a],[0,$])]]}return function(r){return PYt(0,e,r)}})),[0,function(r){return PYt(0,j,r)},function(r){return PYt(0,$,r)},function(r){return PYt(0,z,r)},function(r){return PYt(0,J,r)},function(r){return PYt(0,Q,r)},s,v,f,o,function(r){return PYt(0,R,r)},B,P,E,function(r){return PYt(0,M,r)},c,L,tr,fr,h,function(r){return PYt(0,Z,r)},F,function(r){return PYt(0,Y,r)},function(r){return PYt(0,V,r)},function(r){return PYt(0,K,r)},p,function(r){return PYt(0,W,r)},function(r){return PYt(0,q,r)}]}(VYt),qYt=function(r){var t=function r(t,e){return r.fun(t,e)},e=function r(t,e){return r.fun(t,e)},n=function r(t,e){return r.fun(t,e)};function u(r,t){return OI(HYt[23],t)?[0,NI(n,r,t)]:(u$t(r,[0,t[1],26]),0)}function a(t){function e(r){var t=P$t(r);return"number"==typeof t&&79===t?(sYt(r,79),[0,OI(HYt[10],r)]):0}function n(n){var u=U$t(n);sYt(n,0);for(var a=0,i=0,f=0;;){var o=P$t(n);if("number"==typeof o){var s=0;if(1!==o&&qt!==o||(s=1),s){i&&u$t(n,[0,i[1],99]);var v=nCt(f),l=U$t(n);sYt(n,1);var D=cYt(n);return[0,[0,v,83===P$t(n)?[1,OI(r[9],n)]:UYt(n),ljt([0,u],[0,D],l)]]}}if(12===P$t(n))var p=U$t(n),b=PYt(0,(function(r){return sYt(r,12),c(r,t)}),n),E=vjt([0,p],0),F=[0,[1,[0,b[1],[0,b[2],E]]]];else{var d=R$t(n),m=NI(HYt[20],0,n),h=P$t(n),k=0;if("number"==typeof h&&83===h){sYt(n,83);var y=PYt([0,d],(function(r){return[0,c(r,t),e(r)]}),n),A=y[2],_=m[2];switch(_[0]){case 0:var C=[0,_[1]];break;case 1:C=[1,_[1]];break;case 2:C=P_t($yt);break;default:C=[2,_[1]]}F=[0,[0,[0,y[1],[0,C,A[1],A[2],0]]]]}else k=1;if(k){var w=m[2];if(1===w[0]){var S=w[1],g=S[2][1],B=S[1],T=0;O$t(g)&&wI(g,Vyt)&&wI(g,Kyt)&&(u$t(n,[0,B,2]),T=1),!T&&g$t(g)&&tYt(n,[0,B,53]);var I=PYt([0,d],function(r,t){return function(n){return[0,[0,t,[2,[0,r,UYt(n),0]]],e(n)]}}(S,B),n),O=I[2];F=[0,[0,[0,I[1],[0,[1,S],O[1],O[2],1]]]]}else{Q$t(Yyt,n);F=0}}}if(F){var N=F[1],x=a?(u$t(n,[0,N[1][1],64]),0):i;if(0===N[0])var L=a,P=x;else{var R=9===P$t(n)?1:0;L=1,P=R?[0,R$t(n)]:R}1!==P$t(n)&&sYt(n,9);a=L,i=P,f=[0,N,f]}else;}}return function(r){return PYt(0,n,r)}}function i(t){function e(e){var n=U$t(e);sYt(e,6);for(var u=0;;){var a=P$t(e);if("number"==typeof a){var i=0;if(13<=a)qt===a&&(i=1);else if(7<=a)switch(a-7|0){case 2:var f=R$t(e);sYt(e,9);u=[0,[2,f],u];continue;case 5:var o=U$t(e),s=PYt(0,(function(r){return sYt(r,12),c(r,t)}),e),v=s[1],l=vjt([0,o],0),D=[1,[0,v,[0,s[2],l]]];7!==P$t(e)&&(u$t(e,[0,v,63]),9===P$t(e)&&nYt(e));u=[0,D,u];continue;case 0:i=1}if(i){var p=nCt(u),b=U$t(e);return sYt(e,7),[1,[0,p,83===P$t(e)?[1,OI(r[9],e)]:UYt(e),ljt([0,n],[0,cYt(e)],b)]]}}var E=PYt(0,(function(r){var e=c(r,t),n=P$t(r),u=0;if("number"==typeof n&&79===n){sYt(r,79);var a=[0,OI(HYt[10],r)];u=1}if(!u)a=0;return[0,e,a]}),e),F=E[2],d=[0,[0,E[1],[0,F[1],F[2]]]];7!==P$t(e)&&sYt(e,9);u=[0,d,u]}}return function(r){return PYt(0,e,r)}}function c(r,t){var e=P$t(r);if("number"==typeof e){if(6===e)return OI(i(t),r);if(0===e)return OI(a(t),r)}var n=xI(HYt[14],r,0,t);return[0,n[1],[2,n[2]]]}return mB(t,(function(r,t){for(var e=t[2],u=e[2],a=UYt(r),i=0,c=e[1];;){if(!c){var f=[0,[0,nCt(i),a,u]];return[0,t[1],f]}var o=c[1];if(0!==o[0]){var s=c[2],v=o[1],l=v[2],D=v[1];if(s){u$t(r,[0,D,64]);c=s}else{var p=l[2];i=[0,[1,[0,D,[0,NI(n,r,l[1]),p]]],i],c=0}}else{var b=o[1],E=b[2];switch(E[0]){case 0:var F=E[2],d=E[1];switch(d[0]){case 0:var m=[0,d[1]];break;case 1:m=[1,d[1]];break;case 2:m=P_t(qyt);break;default:m=[2,d[1]]}var h=F[2],k=0;if(2===h[0]){var y=h[1];if(!y[1]){var A=y[2],_=[0,y[3]];k=1}}if(!k)A=NI(n,r,F),_=0;var C=[0,[0,[0,b[1],[0,m,A,_,E[3]]]],i];break;case 1:u$t(r,[0,E[2][1],98]);C=i;break;default:u$t(r,[0,E[2][1],zyt]);C=i}var i=C,c=c[2]}}})),mB(e,(function(r,t){for(var e=t[2],n=e[2],a=UYt(r),i=0,c=e[1];;){if(c){var f=c[1];switch(f[0]){case 0:var o=f[1],s=o[2];if(2===s[0]){var v=s[1];if(!v[1]){i=[0,[0,[0,o[1],[0,v[2],[0,v[3]]]]],i],c=c[2];continue}}var l=u(r,o);if(l)var D=l[1],p=[0,[0,[0,D[1],[0,D,0]]],i];else p=i;i=p,c=c[2];continue;case 1:var b=c[2],E=f[1],F=E[2],d=E[1];if(b){u$t(r,[0,d,63]);c=b;continue}var m=u(r,F[1]);i=m?[0,[1,[0,d,[0,m[1],F[2]]]],i]:i,c=0;continue;default:i=[0,[2,f[1]],i],c=c[2];continue}}var h=[1,[0,nCt(i),a,n]];return[0,t[1],h]}})),mB(n,(function(r,n){var u=n[2],a=n[1];switch(u[0]){case 0:return NI(e,r,[0,a,u[1]]);case 10:var i=u[1],c=i[2][1],f=i[1],o=0;if(r[6]&&T$t(c)?u$t(r,[0,f,50]):o=1,o&&1-r[6]){var s=0;if(r[17]&&_I(c,Jyt)?u$t(r,[0,f,94]):s=1,s){var v=r[18];(v?_I(c,Wyt):v)&&u$t(r,[0,f,93])}}return[0,a,[2,[0,i,UYt(r),0]]];case 19:return NI(t,r,[0,a,u[1]]);default:return[0,a,[3,[0,a,u]]]}})),[0,t,e,n,a,i,c]}($Yt),zYt=function(r){function t(r){var t=P$t(r);if("number"==typeof t){var e=t-96|0,n=0;if(6>>0?14===e&&(n=1):4<(e-1|0)>>>0&&(n=1),n)return cYt(r)}var u=H$t(r);return u?fYt(r):u}function e(e){var n=U$t(e);aYt(e,0);var u=PYt(0,(function(t){sYt(t,0),sYt(t,12);var e=OI(r[10],t);return sYt(t,1),e}),e);iYt(e);var a=vjt([0,n],[0,t(e)]);return[0,u[1],[0,u[2],a]]}function n(t){return 1===P$t(t)?0:[0,OI(r[7],t)]}function u(r){var e=U$t(r);aYt(r,0);var u=PYt(0,(function(r){sYt(r,0);var t=n(r);return sYt(r,1),t}),r);iYt(r);var a=ljt([0,e],[0,t(r)],0);return[0,u[1],[0,u[2],a]]}function a(t){aYt(t,0);var e=PYt(0,(function(t){sYt(t,0);var e=P$t(t),u=0;if("number"==typeof e&&12===e){var a=U$t(t);sYt(t,12);var i=[3,[0,OI(r[10],t),vjt([0,a],0)]];u=1}if(!u){var c=n(t),f=c?0:U$t(t);i=[2,[0,c,ljt(0,0,f)]]}return sYt(t,1),i}),t);return iYt(t),[0,e[1],e[2]]}function i(r){var e=R$t(r),n=P$t(r),u=0;if("number"!=typeof n&&7===n[0]){var a=n[1];u=1}if(!u){Q$t(_yt,r);a=Cyt}var i=U$t(r);nYt(r);var c=P$t(r),f=0;if("number"==typeof c){var o=c+-10|0,s=0;if(69>>0?73!==o&&(s=1):67<(o-1|0)>>>0||(s=1),!s){var v=cYt(r);f=1}}if(!f)v=t(r);return[0,e,[0,a,vjt([0,i],[0,v])]]}function c(r){var t=x$t(1,r);if("number"==typeof t){if(10===t)for(var e=PYt(0,(function(r){var t=[0,i(r)];return sYt(r,10),[0,t,i(r)]}),r);;){var n=P$t(r);if("number"!=typeof n||10!==n)return[2,e];var u=function(r){return function(t){return sYt(t,10),[0,[1,r],i(t)]}}(e);e=PYt([0,e[1]],u,r)}if(83===t)return[1,PYt(0,(function(r){var t=i(r);return sYt(r,83),[0,t,i(r)]}),r)]}return[0,i(r)]}function f(r){return PYt(0,(function(r){var e=x$t(1,r),n=0;if("number"==typeof e&&83===e){var a=[1,PYt(0,(function(r){var t=i(r);return sYt(r,83),[0,t,i(r)]}),r)];n=1}if(!n)a=[0,i(r)];var c=P$t(r),f=0;if("number"==typeof c&&79===c){sYt(r,79);var o=U$t(r),s=P$t(r),v=0;if("number"==typeof s)if(0===s){var l=u(r),D=l[2],p=l[1];D[1]||u$t(r,[0,p,54]);var b=[0,[1,p,D]]}else v=1;else if(8===s[0]){var E=s[1];sYt(r,s);var F=[0,E[2]],d=vjt([0,o],[0,t(r)]);b=[0,[0,E[1],[0,F,E[3],d]]]}else v=1;if(v){z$t(r,55);b=[0,[0,R$t(r),[0,Ayt,yyt,0]]]}var m=b;f=1}if(!f)m=0;return[0,a,m]}),r)}function o(r){return PYt(0,(function(r){sYt(r,95);var t=P$t(r);if("number"==typeof t){if(96===t)return nYt(r),hyt}else if(7===t[0])for(var n=0,u=c(r);;){var a=P$t(r);if("number"==typeof a){if(0===a){n=[0,[1,e(r)],n];continue}}else if(7===a[0]){n=[0,[0,f(r)],n];continue}var i=nCt(n),o=[0,hA,[0,u,uYt(r,Pm),i]];return uYt(r,96)?[0,o]:(oYt(r,96),[1,o])}return oYt(r,96),kyt}),r)}function s(r){return PYt(0,(function(r){sYt(r,95),sYt(r,Pm);var t=P$t(r);if("number"==typeof t){if(96===t)return nYt(r),vn}else if(7===t[0]){var e=c(r);return mI(P$t(r),96)?oYt(r,96):nYt(r),[0,hA,[0,e]]}return oYt(r,96),vn}),r)}var v=function r(t){return r.fun(t)},l=function r(t){return r.fun(t)},D=function r(t){return r.fun(t)};function p(r){switch(r[0]){case 0:return r[1][2][1];case 1:var t=r[1][2],e=G_t(Fyt,t[2][2][1]);return G_t(t[1][2][1],e);default:var n=r[1][2],u=n[1];return G_t(0===u[0]?u[1][2][1]:p([2,u[1]]),G_t(dyt,n[2][2][1]))}}return mB(v,(function(r){var t=P$t(r);if("number"==typeof t){if(0===t)return a(r)}else if(8===t[0]){var e=t[1];return sYt(r,t),[0,e[1],[4,[0,e[2],e[3]]]]}var n=OI(D,r),u=n[2],i=n[1];return vn<=u[1]?[0,i,[1,u[2]]]:[0,i,[0,u[2]]]})),mB(l,(function(r){var t=U$t(r),e=o(r);iYt(r);var n=e[2];if(0===n[0])var u=n[1],a="number"==typeof u?0:u[2][2];else a=1;if(a)var i=PYt(0,(function(r){return 0}),r),c=870530776;else{aYt(r,3);for(var f=R$t(r),D=0;;){var b=k$t(r),E=P$t(r),F=0;if("number"==typeof E){var d=0;if(95===E){aYt(r,2);var m=P$t(r),h=x$t(1,r),k=0;if("number"==typeof m&&95===m&&"number"==typeof h){var y=0;if(Pm!==h&&qt!==h&&(y=1),!y){var A=s(r),_=A[2],C=A[1],w="number"==typeof _?[0,vn,C]:[0,hA,[0,C,_[2]]],S=r[22][1],g=0;if(S){var B=S[2];if(B){var T=B[2];g=1}}if(!g)T=P_t(Gat);r[22][1]=T;var I=e$t(r),O=ZHt(r[23][1],I);r[24][1]=O;var N=[0,nCt(D),b,w];k=1}}if(!k){var x=OI(l,r),L=x[2],P=x[1];D=[0,vn<=L[1]?[0,P,[1,L[2]]]:[0,P,[0,L[2]]],D];continue}}else if(qt===E){Q$t(0,r);N=[0,nCt(D),b,Ue]}else F=1,d=1;if(!d){var R=b?b[1]:f;i=[0,ajt(f,R),N[1]],c=N[3]}}else F=1;if(!F)break;D=[0,OI(v,r),D]}}var M=cYt(r),G=0;if("number"!=typeof c){var U=c[1],j=0;if(hA===U){var X=c[2],H=e[2];if(0===H[0]){var $=H[1];if("number"==typeof $)z$t(r,myt);else{var Y=p($[2][1]);wI(p(X[2][1]),Y)&&z$t(r,[18,Y])}}var V=X[1]}else if(vn===U){var K=e[2];if(0===K[0]){var J=K[1];"number"!=typeof J&&z$t(r,[18,p(J[2][1])])}V=c[2]}else j=1;if(!j){var W=V;G=1}}if(!G)W=e[1];var q=e[2][1],z=e[1];if("number"==typeof q){var Q=0,Z=vjt([0,t],[0,M]);if("number"!=typeof c){var rr=c[1],tr=0;if(hA===rr)var er=c[2][1];else if(vn===rr)er=c[2];else tr=1;if(!tr){var nr=er;Q=1}}if(!Q)nr=W;var ur=[0,vn,[0,z,nr,i,Z]]}else{var ar=0,ir=vjt([0,t],[0,M]);if("number"!=typeof c&&hA===c[1]){var cr=[0,c[2]];ar=1}if(!ar)cr=0;ur=[0,hA,[0,[0,z,q[2]],cr,i,ir]]}return[0,ajt(e[1],W),ur]})),mB(D,(function(r){return aYt(r,2),OI(l,r)})),[0,t,e,n,u,a,i,c,f,o,s,v,l,D]}(HYt),QYt=function(r,t){var e=P$t(t),n=0;if("number"==typeof e?28===e?t[6]?z$t(t,53):t[14]&&Q$t(0,t):58===e?t[17]?z$t(t,2):t[6]&&z$t(t,53):65===e?t[18]&&z$t(t,2):n=1:n=1,n)if(B$t(e))rYt(t,53);else{var u=0;if("number"==typeof e)switch(e){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var a=1;u=1}else if(4===e[0]&&C$t(e[3])){a=1;u=1}if(!u)a=0;var i=0;if(a)var c=a;else{var f=S$t(e);if(f)c=f;else{var o=0;if("number"==typeof e)switch(e){case 29:case 30:case 31:break;default:o=1}else if(4===e[0]){var s=e[3];wI(s,ait)&&wI(s,iit)&&wI(s,cit)&&(o=1)}else o=1;if(o){var v=0;i=1}else c=1}}if(!i)v=c;v?Q$t(0,t):r&&I$t(e)&&rYt(t,r[1])}return xYt(t)},ZYt=function r(t){return r.fun(t)},rVt=function r(t,e,n){return r.fun(t,e,n)},tVt=function r(t){return r.fun(t)},eVt=function r(t,e){return r.fun(t,e)},nVt=function r(t,e){return r.fun(t,e)},uVt=function r(t,e){return r.fun(t,e)},aVt=function r(t,e){return r.fun(t,e)},iVt=function r(t,e){return r.fun(t,e)},cVt=function r(t){return r.fun(t)},fVt=function r(t){return r.fun(t)},oVt=function r(t){return r.fun(t)},sVt=function r(t,e,n){return r.fun(t,e,n)},vVt=function r(t){return r.fun(t)},lVt=function r(t,e){return r.fun(t,e)},DVt=JYt[3],pVt=KYt[3],bVt=KYt[1],EVt=KYt[6],FVt=JYt[2],dVt=JYt[1],mVt=JYt[4],hVt=KYt[5],kVt=KYt[7],yVt=zYt[13],AVt=qYt[6],_Vt=qYt[3];mB(ZYt,(function(r){var t=U$t(r),e=nCt(t);r:for(;;){if(e)for(var n=e[2],u=e[1],a=u[2],i=u[1],c=a[2],f=0,o=HT(c);;){if(o<(f+5|0))var s=0;else{var v=_I(kCt(c,f,5),Mat);if(!v){f=f+1|0;continue}s=v}if(!s){e=n;continue r}r[29][1]=i[3];var l=nCt([0,[0,i,a],n]);break}else l=e;if(0===l){var D=0;if(t){var p=t[1],b=p[2];if(0===b[1]){var E=b[2];if(1<=HT(E)&&42===CI(E,0)){r[29][1]=p[1][3];var F=[0,p,0];D=1}}}if(!D)F=0}else F=l;var d=NI(eVt,r,(function(r){return 0})),m=R$t(r);if(sYt(r,qt),d)var h=rCt(nCt(d))[1],k=ajt(rCt(d)[1],h);else k=m;var y=nCt(r[2][1]);return[0,k,[0,d,vjt([0,F],0),y]]}})),mB(rVt,(function(r,t,e){for(var n=v$t(1,r),u=r_t;;){var a=u[2],i=u[1],c=P$t(n),f=0;if("number"==typeof c&&qt===c)var o=[0,n,i,a];else f=1;if(f)if(OI(t,c))o=[0,n,i,a];else{var s=0;if("number"==typeof c||2!==c[0])s=1;else{var v=OI(e,n),l=[0,v,a],D=v[2];if(19===D[0]){var p=D[1][2];if(p){var b=n[6]||_I(p[1],ZAt);n=f$t(b,n),u=[0,[0,c,i],l];continue}}o=[0,n,i,l]}if(s)o=[0,n,i,a]}var E=v$t(0,n);return cCt((function(r){if("number"!=typeof r&&2===r[0]){var t=r[1],e=t[4];return e?tYt(E,[0,t[1],44]):e}return P_t(G_t(e_t,G_t(hjt(r),t_t)))}),nCt(i)),[0,E,o[3]]}})),mB(tVt,(function(r){var t=OI(JYt[6],r),e=P$t(r);if("number"==typeof e){var n=e-49|0;if(!(11>>0))switch(n){case 0:return NI(WYt[16],t,r);case 1:OI(Z$t(r),t);var u=x$t(1,r);return OI("number"==typeof u&&4===u?WYt[17]:WYt[18],r);case 11:if(49===x$t(1,r))return OI(Z$t(r),t),NI(WYt[12],0,r)}}return NI(iVt,[0,t],r)})),mB(eVt,(function(r,t){var e=xI(rVt,r,t,tVt);return fCt((function(r,t){return[0,t,r]}),NI(nVt,t,e[1]),e[2])})),mB(nVt,(function(r,t){for(var e=0;;){var n=P$t(t);if("number"==typeof n&&qt===n)return nCt(e);if(OI(r,n))return nCt(e);e=[0,OI(tVt,t),e]}})),mB(uVt,(function(r,t){var e=xI(rVt,t,r,(function(r){return NI(iVt,0,r)})),n=e[1];return[0,fCt((function(r,t){return[0,t,r]}),NI(aVt,r,n),e[2]),n[6]]})),mB(aVt,(function(r,t){for(var e=0;;){var n=P$t(t);if("number"==typeof n&&qt===n)return nCt(e);if(OI(r,n))return nCt(e);e=[0,NI(iVt,0,t),e]}})),mB(iVt,(function(r,t){var e=r?r[1]:r;1-q$t(t)&&OI(Z$t(t),e);var n=P$t(t);if("number"==typeof n){if(27===n)return OI(WYt[27],t);if(28===n)return OI(WYt[3],t)}if(W$t(t))return OI(YYt[11],t);if(q$t(t))return NI(DVt,t,e);if("number"==typeof n){var u=n+yw|0;if(!(14>>0))switch(u){case 0:if(t[26][1])return OI(YYt[12],t);break;case 5:return OI(WYt[19],t);case 12:return NI(WYt[11],0,t);case 13:return OI(WYt[25],t);case 14:return OI(WYt[21],t)}}return OI(cVt,t)})),mB(cVt,(function(r){var t=P$t(r);if("number"==typeof t)switch(t){case 0:return OI(WYt[7],r);case 8:return OI(WYt[15],r);case 19:return OI(WYt[22],r);case 20:return OI(WYt[23],r);case 22:return OI(WYt[24],r);case 23:return OI(WYt[4],r);case 24:return OI(WYt[26],r);case 25:return OI(WYt[5],r);case 26:return OI(WYt[6],r);case 32:return OI(WYt[8],r);case 35:return OI(WYt[9],r);case 37:return OI(WYt[14],r);case 39:return OI(WYt[1],r);case 59:return OI(WYt[10],r);case 110:return Q$t(qAt,r),[0,R$t(r),zAt];case 16:case 43:return OI(WYt[2],r);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return Q$t(QAt,r),nYt(r),OI(cVt,r)}if(W$t(r)){var e=OI(YYt[11],r);return eYt(r,e[1]),e}if("number"==typeof t&&28===t&&6===x$t(1,r)){var n=L$t(1,r);return u$t(r,[0,ajt(R$t(r),n),95]),OI(WYt[17],r)}return J$t(r)?OI(WYt[20],r):q$t(r)?(Q$t(0,r),nYt(r),OI(WYt[17],r)):OI(WYt[17],r)})),mB(fVt,(function(r){var t=R$t(r),e=OI(KYt[1],r),n=P$t(r);return"number"==typeof n&&9===n?xI(KYt[8],r,t,[0,e,0]):e})),mB(oVt,(function(r){var t=R$t(r),e=OI(KYt[2],r),n=P$t(r);if("number"==typeof n&&9===n){var u=[0,NI(VYt[1],r,e),0];return[0,xI(KYt[8],r,t,u)]}return e})),mB(sVt,(function(r,t,e){var n=t?t[1]:t;return PYt(0,(function(r){var t=1-n,u=QYt([0,e],r),a=t?82===P$t(r)?1:0:t;return a&&(1-n$t(r)&&z$t(r,12),sYt(r,82)),[0,u,OI($Yt[10],r),a]}),r)})),mB(vVt,(function(r){var t=R$t(r),e=U$t(r);sYt(r,0);var n=NI(aVt,(function(r){return 1===r?1:0}),r),u=0===n?1:0,a=R$t(r),i=u?U$t(r):u;sYt(r,1);var c=[0,n,ljt([0,e],[0,cYt(r)],i)];return[0,ajt(t,a),c]})),mB(lVt,(function(r,t){var e=R$t(t),n=U$t(t);sYt(t,0);var u=NI(uVt,(function(r){return 1===r?1:0}),t),a=u[1],i=0===a?1:0,c=R$t(t),f=i?U$t(t):i;sYt(t,1);var o=P$t(t),s=0;if(0===r){var v=0;if("number"!=typeof o||1!==o&&qt!==o||(v=1),!v){var l=H$t(t);if(l){var D=fYt(t);s=1}else{D=l;s=1}}}if(!s)D=cYt(t);var p=u[2],b=[0,a,ljt([0,n],[0,D],f)];return[0,ajt(e,c),b,p]})),xI(USt,a_t,HYt,[0,ZYt,cVt,iVt,aVt,uVt,nVt,fVt,oVt,pVt,bVt,EVt,FVt,QYt,sVt,vVt,lVt,yVt,AVt,_Vt,dVt,DVt,mVt,hVt,kVt]);var CVt=[0,0],wVt=tI,SVt=function(r){return eI(SCt(r))},gVt=function(r){return ZT(SCt(r))},BVt=function(r,t,e){try{return new RegExp(tI(t),tI(e))}catch(t){return CVt[1]=[0,[0,r,24],CVt[1]],new RegExp(D_,tI(e))}},TVt=function(r){function t(t,e){var n=e[2],u=e[1],a=kjt(n),i=[0,[0,i_t,OI(r[1],a)],0],c=NYt(t,u[3]),f=[0,OI(r[5],c),0],o=NYt(t,u[2]),s=[0,OI(r[5],o),f],v=[0,[0,c_t,OI(r[4],s)],i],l=[0,[0,f_t,OI(r[5],u[3][2])],0],D=[0,[0,o_t,OI(r[5],u[3][1])],l],p=[0,[0,s_t,OI(r[3],D)],0],b=[0,[0,v_t,OI(r[5],u[2][2])],0],E=[0,[0,l_t,OI(r[5],u[2][1])],b],F=[0,[0,D_t,OI(r[3],E)],p],d=[0,[0,p_t,OI(r[3],F)],v];switch(e[3]){case 0:var m=b_t;break;case 1:m=E_t;break;case 2:m=F_t;break;case 3:m=d_t;break;case 4:m=m_t;break;default:m=h_t}var h=[0,[0,k_t,OI(r[1],m)],d],k=hjt(n),y=[0,[0,y_t,OI(r[1],k)],h];return OI(r[3],y)}return[0,t,function(e,n){var u=nCt(iCt((function(r){return t(e,r)}),n));return OI(r[4],u)}]}([0,wVt,rI,SVt,gVt,function(r){return r},function(r){return r},pgt,BVt]),IVt=function(r,t,e){var n=t[e];return Egt(n)?0|n:r},OVt=function(r,t){var e=wT(t,bgt)?{}:t,n=RT(r),u=IVt(QI[9],e,A_t),a=IVt(QI[8],e,__t),i=IVt(QI[7],e,C_t),c=IVt(QI[6],e,w_t),f=IVt(QI[5],e,S_t),o=IVt(QI[4],e,g_t),s=IVt(QI[3],e,B_t),v=IVt(QI[2],e,T_t),l=[0,[0,IVt(QI[1],e,I_t),v,s,o,f,c,i,a,u]],D=e.tokens,p=Egt(D),b=p?0|D:p,E=e.comments,F=Egt(E)?0|E:1,d=e.all_comments,m=Egt(d)?0|d:1,h=[0,0],k=[0,l],y=[0,b?[0,function(r){return h[1]=[0,r,h[1]],0}]:b],A=eO?eO[1]:1,_=[0,k?k[1]:k],C=[0,y?y[1]:y],w=t$t([0,C?C[1]:C],[0,_?_[1]:_],0,n),S=OI(HYt[1],w),g=nCt(w[1][1]),B=nCt(fCt((function(r,t){var e=r[2],n=r[1];return NI(XYt[3],t,n)?[0,n,e]:[0,NI(XYt[4],t,n),[0,t,e]]}),[0,XYt[1],0],g)[2]);if(A?0!==B?1:0:A)throw[0,Ejt,B];CVt[1]=0;for(var T=HT(n)-0|0,I=n,O=0,N=0;;){if(N===T)var x=O;else{var L=PB(I,N),P=0;if(0<=L&&!(vA>>0)throw[0,$I,KL];switch(j){case 0:var H=PB(I,N);break;case 1:H=(31&PB(I,N))<<6|63&PB(I,N+1|0);break;case 2:H=(15&PB(I,N))<<12|(63&PB(I,N+1|0))<<6|63&PB(I,N+2|0);break;default:H=(7&PB(I,N))<<18|(63&PB(I,N+1|0))<<12|(63&PB(I,N+2|0))<<6|63&PB(I,N+3|0)}O=TYt(O,0,[0,H]),N=X;continue}x=TYt(O,0,0)}for(var $=kct,Y=nCt([0,6,x]);;){var V=$[3],K=$[2],J=$[1];if(!Y){var W=SCt(nCt(V)),q=function(r,t){return gVt(nCt(iCt(r,t)))},z=function(r,t){return t?OI(r,t[1]):pgt},Q=function(r,t){return 0===t[0]?pgt:OI(r,t[1])},Z=function(r){return SVt([0,[0,Xdt,r[1]],[0,[0,jdt,r[2]],0]])},rr=function(r){var t=r[1];if(t)var e=t[1],n="number"==typeof e?an:tI(e[1]);else n=pgt;var u=[0,[0,Mdt,Z(r[3])],0];return SVt([0,[0,Udt,n],[0,[0,Gdt,Z(r[2])],u]])},tr=function(r){if(r){var t=r[1],e=[0,j_t(t[3],t[2])];return vjt([0,t[1]],e)}return r},er=[0,W],nr=function(r){return q(_t,r)},ur=function(r,t,e,n){if(er)var u=er[1],a=[0,NYt(u,t[3]),0],i=[0,[0,Act,gVt([0,NYt(u,t[2]),a])],0];else i=er;var c=0,f=j_t(i,[0,[0,_ct,rr(t)],0]);if(0!==F&&e){var o=e[1],s=o[1];if(s){var v=o[2];if(v)var l=[0,[0,Cct,nr(v)],0],D=[0,[0,wct,nr(s)],l];else D=[0,[0,Sct,nr(s)],0];var p=D}else{var b=o[2];p=b?[0,[0,gct,nr(b)],0]:b}var E=p;c=1}if(!c)E=0;return SVt(eCt(j_t(f,j_t(E,[0,[0,Bct,tI(r)],0])),n))},ar=function(r){return q(Vr,r)},ir=function(r){var t=r[2];return ur(svt,r[1],t[2],[0,[0,ovt,tI(t[1])],[0,[0,fvt,pgt],[0,[0,cvt,!1],0]]])},cr=function(r){var t=r[2],e=t[1],n=0===e[0]?ir(e[1]):cr(e[1]),u=[0,[0,REt,n],[0,[0,PEt,ir(t[2])],0]];return ur(MEt,r[1],0,u)},fr=function(r){var t=r[2],e=t[1],n=0===e[0]?ir(e[1]):cr(e[1]),u=[0,[0,UEt,n],[0,[0,GEt,z(bt,t[2])],0]];return ur(jEt,r[1],t[3],u)},or=function(r){var t=r[2],e=t[2],n=t[1],u=r[1];if("number"==typeof n)var a=pgt;else switch(n[0]){case 0:a=tI(n[1]);break;case 1:a=!!n[1];break;case 2:a=n[1];break;case 3:a=P_t(Bpt);break;default:var i=n[1];a=BVt(u,i[1],i[2])}var c=0;if("number"!=typeof n&&4===n[0]){var f=n[1],o=[0,[0,Opt,SVt([0,[0,Ipt,tI(f[1])],[0,[0,Tpt,tI(f[2])],0]])],0],s=[0,[0,xpt,a],[0,[0,Npt,tI(e)],o]];c=1}if(!c)s=[0,[0,Ppt,a],[0,[0,Lpt,tI(e)],0]];return ur(Rpt,u,t[3],s)},sr=function(r){var t=[0,[0,XEt,lr(r[2])],0];return[0,[0,HEt,lr(r[1])],t]},vr=function(r,t){var e=t[2],n=[0,[0,Mbt,!!e[3]],0],u=[0,[0,Gbt,lr(e[2])],n],a=[0,[0,Ubt,z(ir,e[1])],u];return ur(jbt,t[1],r,a)},lr=function(r){var t=r[2],e=r[1];switch(t[0]){case 0:return ur(hbt,e,t[1],0);case 1:return ur(kbt,e,t[1],0);case 2:return ur(ybt,e,t[1],0);case 3:return ur(Abt,e,t[1],0);case 4:return ur(_bt,e,t[1],0);case 5:return ur(wbt,e,t[1],0);case 6:return ur(Sbt,e,t[1],0);case 7:return ur(gbt,e,t[1],0);case 8:return ur(Bbt,e,t[1],0);case 9:return ur(Cbt,e,t[1],0);case 10:return ur(bFt,e,t[1],0);case 11:var n=t[1],u=[0,[0,Tbt,lr(n[1])],0];return ur(Ibt,e,n[2],u);case 12:return Dr([0,e,t[1]]);case 13:return pr(1,[0,e,t[1]]);case 14:var a=t[1],i=[0,[0,IEt,pr(0,a[1])],0],c=[0,[0,OEt,q(Xr,a[2])],i];return ur(NEt,e,a[3],c);case 15:var f=t[1],o=[0,[0,xEt,lr(f[1])],0];return ur(LEt,e,f[2],o);case 16:return fr([0,e,t[1]]);case 17:var s=t[1],v=sr(s);return ur($Et,e,s[3],v);case 18:var l=t[1],D=l[1],p=[0,[0,YEt,!!l[2]],0],b=j_t(sr(D),p);return ur(VEt,e,D[3],b);case 19:var E=t[1],F=E[1],d=[0,[0,KEt,q(lr,[0,F[1],[0,F[2],F[3]]])],0];return ur(JEt,e,E[2],d);case 20:var m=t[1],h=m[1],k=[0,[0,WEt,q(lr,[0,h[1],[0,h[2],h[3]]])],0];return ur(qEt,e,m[2],k);case 21:var y=t[1],A=[0,[0,zEt,lr(y[1])],0];return ur(QEt,e,y[3],A);case 22:var _=t[1],C=[0,[0,ZEt,q(lr,_[1])],0];return ur(rFt,e,_[2],C);case 23:var w=t[1];return ur(nFt,e,w[3],[0,[0,eFt,tI(w[1])],[0,[0,tFt,tI(w[2])],0]]);case 24:var S=t[1];return ur(iFt,e,S[3],[0,[0,aFt,S[1]],[0,[0,uFt,tI(S[2])],0]]);case 25:var g=t[1];return ur(oFt,e,g[3],[0,[0,fFt,pgt],[0,[0,cFt,tI(g[2])],0]]);default:var B=t[1],T=B[1],I=T?sFt:vFt;return ur(pFt,e,B[2],[0,[0,DFt,!!T],[0,[0,lFt,tI(I)],0]])}},Dr=function(r){var t=r[2],e=t[2][2],n=t[4],u=Djt(tr(e[4]),n),a=[0,[0,Obt,z(Dt,t[1])],0],i=[0,[0,Nbt,z(vt,e[3])],a],c=[0,[0,xbt,lr(t[3])],i],f=[0,[0,Lbt,z(lt,e[1])],c],o=e[2],s=[0,[0,Pbt,q((function(r){return vr(0,r)}),o)],f];return ur(Rbt,r[1],u,s)},pr=function(r,t){var e=t[2],n=e[3],u=fCt((function(r,t){var e=r[4],n=r[3],u=r[2],a=r[1];switch(t[0]){case 0:var i=t[1],c=i[2],f=c[2],o=c[1];switch(o[0]){case 0:var s=or(o[1]);break;case 1:s=ir(o[1]);break;case 2:s=P_t(rEt);break;default:s=P_t(tEt)}switch(f[0]){case 0:var v=[0,lr(f[1]),eEt];break;case 1:var l=f[1];v=[0,Dr([0,l[1],l[2]]),nEt];break;default:var D=f[1];v=[0,Dr([0,D[1],D[2]]),uEt]}var p=[0,[0,aEt,tI(v[2])],0],b=[0,[0,iEt,z(st,c[7])],p];return[0,[0,ur(DEt,i[1],c[8],[0,[0,lEt,s],[0,[0,vEt,v[1]],[0,[0,sEt,!!c[6]],[0,[0,oEt,!!c[3]],[0,[0,fEt,!!c[4]],[0,[0,cEt,!!c[5]],b]]]]]]),a],u,n,e];case 1:var E=t[1],F=E[2],d=[0,[0,pEt,lr(F[1])],0];return[0,[0,ur(bEt,E[1],F[2],d),a],u,n,e];case 2:var m=t[1],h=m[2],k=[0,[0,EEt,z(st,h[5])],0],y=[0,[0,FEt,!!h[4]],k],A=[0,[0,dEt,lr(h[3])],y],_=[0,[0,mEt,lr(h[2])],A],C=[0,[0,hEt,z(ir,h[1])],_];return[0,a,[0,ur(kEt,m[1],h[6],C),u],n,e];case 3:var w=t[1],S=w[2],g=[0,[0,yEt,!!S[2]],0],B=[0,[0,AEt,Dr(S[1])],g];return[0,a,u,[0,ur(_Et,w[1],S[3],B),n],e];default:var T=t[1],I=T[2],O=[0,[0,CEt,lr(I[2])],0],N=[0,[0,gEt,!!I[3]],[0,[0,SEt,!!I[4]],[0,[0,wEt,!!I[5]],O]]],x=[0,[0,BEt,ir(I[1])],N];return[0,a,u,n,[0,ur(TEt,T[1],I[6],x),e]]}}),Vbt,n),a=[0,[0,Kbt,gVt(nCt(u[4]))],0],i=[0,[0,Jbt,gVt(nCt(u[3]))],a],c=[0,[0,Wbt,gVt(nCt(u[2]))],i],f=[0,[0,qbt,gVt(nCt(u[1]))],c],o=[0,[0,zbt,!!e[1]],f],s=r?[0,[0,Qbt,!!e[2]],o]:o,v=tr(e[4]);return ur(Zbt,t[1],v,s)},br=function(r){var t=[0,[0,EFt,lr(r[2])],0];return ur(FFt,r[1],0,t)},Er=function(r){var t=r[2];switch(t[2]){case 0:var e=obt;break;case 1:e=sbt;break;default:e=vbt}var n=[0,[0,lbt,tI(e)],0],u=[0,[0,Dbt,q(ot,t[1])],n];return ur(pbt,r[1],t[3],u)},Fr=function(r){var t=r[2];return ur(Vpt,r[1],t[3],[0,[0,Ypt,tI(t[1])],[0,[0,$pt,tI(t[2])],0]])},dr=function(r){var t=r[2],e=[0,[0,$Dt,hE],[0,[0,HDt,br(t[1])],0]];return ur(YDt,r[1],t[2],e)},mr=function(r,t){var e=t[1][2],n=[0,[0,Dvt,!!t[3]],0],u=[0,[0,pvt,Q(br,t[2])],n];return ur(Evt,r,e[2],[0,[0,bvt,tI(e[1])],u])},hr=function(r){var t=r[2],e=[0,[0,vvt,ir(t[1])],0];return ur(lvt,r[1],t[2],e)},kr=function(r){return q(at,r[2][1])},yr=function(r){var t=r[2],e=[0,[0,xFt,ur(YFt,t[2],0,0)],0],n=[0,[0,LFt,q(kt,t[3][2])],e],u=[0,[0,PFt,ur(XFt,t[1],0,0)],n];return ur(RFt,r[1],t[4],u)},Ar=function(r){var t=r[2];return ur(ldt,r[1],t[2],[0,[0,vdt,tI(t[1])],0])},_r=function(r){var t=r[2],e=[0,[0,fdt,Ar(t[2])],0],n=[0,[0,odt,Ar(t[1])],e];return ur(sdt,r[1],0,n)},Cr=function(r){var t=r[2],e=t[1],n=0===e[0]?Ar(e[1]):Cr(e[1]),u=[0,[0,idt,n],[0,[0,adt,Ar(t[2])],0]];return ur(cdt,r[1],0,u)},wr=function(r){switch(r[0]){case 0:return Ar(r[1]);case 1:return _r(r[1]);default:return Cr(r[1])}},Sr=function(r){var t=r[2],e=[0,[0,TFt,q(kt,t[3][2])],0],n=[0,[0,IFt,z(mt,t[2])],e],u=t[1],a=u[2],i=[0,[0,MFt,!!a[2]],0],c=[0,[0,GFt,q(dt,a[3])],i],f=[0,[0,UFt,wr(a[1])],c],o=[0,[0,OFt,ur(jFt,u[1],0,f)],n];return ur(NFt,r[1],t[4],o)},gr=function(r){var t=r[2],e=[0,[0,Qpt,q(Lr,t[2])],0],n=[0,[0,Zpt,q(ft,t[1])],e];return ur(rbt,r[1],t[3],n)},Br=function(r,t){var e=t[2],n=e[7],u=e[5],a=e[4];if(a)var i=a[1][2],c=Djt(i[3],n),f=[0,i[1]],o=i[2],s=c;else f=0,o=0,s=n;if(u)var v=u[1][2],l=Djt(v[2],s),D=q(zr,v[1]),p=l;else D=gVt(0),p=s;var b=[0,[0,olt,D],[0,[0,flt,q(Wr,e[6])],0]],E=[0,[0,slt,z(bt,o)],b],F=[0,[0,vlt,z(Lr,f)],E],d=[0,[0,llt,z(Dt,e[3])],F],m=e[2],h=m[2],k=[0,[0,hlt,q(Qr,h[1])],0],y=[0,[0,Dlt,ur(klt,m[1],h[2],k)],d],A=[0,[0,plt,z(ir,e[1])],y];return ur(r,t[1],p,A)},Tr=function(r){var t=r[2],e=[0,[0,Avt,ar(t[1])],0],n=tr(t[2]);return ur(_vt,r[1],n,e)},Ir=function(r){var t=r[2];switch(t[0]){case 0:var e=[0,ir(t[1]),0];break;case 1:e=[0,hr(t[1]),0];break;default:e=[0,Lr(t[1]),1]}var n=[0,[0,xdt,e[1]],[0,[0,Ndt,!!e[2]],0]];return[0,[0,Ldt,Lr(r[1])],n]},Or=function(r){var t=[0,[0,Tdt,kr(r[3])],0],e=[0,[0,Idt,z(Et,r[2])],t];return[0,[0,Odt,Lr(r[1])],e]},Nr=function(r){var t=r[2],e=t[3],n=t[2],u=t[1];if(e){var a=e[1],i=a[2],c=[0,[0,VDt,xr(i[1])],0],f=nCt([0,ur(KDt,a[1],i[2],c),iCt(Zr,n)]),o=u?[0,dr(u[1]),f]:f;return gVt(o)}var s=aCt(Zr,n),v=u?[0,dr(u[1]),s]:s;return gVt(v)},xr=function(r){var t=r[2],e=r[1];switch(t[0]){case 0:var n=t[1],u=[0,[0,xDt,Q(br,n[2])],0],a=[0,[0,LDt,q(nt,n[1])],u];return ur(PDt,e,tr(n[3]),a);case 1:var i=t[1],c=[0,[0,RDt,Q(br,i[2])],0],f=[0,[0,MDt,q(tt,i[1])],c];return ur(GDt,e,tr(i[3]),f);case 2:return mr(e,t[1]);default:return Lr(t[1])}},Lr=function(r){var t=r[2],e=r[1];switch(t[0]){case 0:var n=t[1],u=[0,[0,fot,q(it,n[1])],0];return ur(oot,e,tr(n[2]),u);case 1:var a=t[1],i=a[7],c=a[3],f=a[2],o=0===c[0]?[0,Tr(c[1]),0]:[0,Lr(c[1]),1],s=0===i[0]?0:[0,i[1]],v=a[9],l=Djt(tr(f[2][4]),v),D=[0,[0,sot,z(Dt,a[8])],0],p=[0,[0,vot,z(br,s)],D],b=[0,[0,lot,!!o[2]],p],E=[0,[0,pot,!1],[0,[0,Dot,z(Ct,a[6])],b]],F=[0,[0,Eot,o[1]],[0,[0,bot,!!a[4]],E]];return ur(mot,e,l,[0,[0,dot,pgt],[0,[0,Fot,Nr(f)],F]]);case 2:var d=t[1],m=d[1];if(m){switch(m[1]){case 0:var h=BKr;break;case 1:h=TKr;break;case 2:h=IKr;break;case 3:h=OKr;break;case 4:h=NKr;break;case 5:h=xKr;break;case 6:h=LKr;break;case 7:h=PKr;break;case 8:h=RKr;break;case 9:h=MKr;break;case 10:h=GKr;break;default:h=UKr}var k=h}else k=hot;var y=[0,[0,kot,Lr(d[3])],0],A=[0,[0,yot,xr(d[2])],y];return ur(_ot,e,d[4],[0,[0,Aot,tI(k)],A]);case 3:var _=t[1],C=[0,[0,Cot,Lr(_[3])],0],w=[0,[0,wot,Lr(_[2])],C];switch(_[1]){case 0:var S=cKr;break;case 1:S=fKr;break;case 2:S=oKr;break;case 3:S=sKr;break;case 4:S=vKr;break;case 5:S=lKr;break;case 6:S=DKr;break;case 7:S=pKr;break;case 8:S=bKr;break;case 9:S=EKr;break;case 10:S=FKr;break;case 11:S=dKr;break;case 12:S=mKr;break;case 13:S=hKr;break;case 14:S=kKr;break;case 15:S=yKr;break;case 16:S=AKr;break;case 17:S=_Kr;break;case 18:S=CKr;break;case 19:S=wKr;break;case 20:S=SKr;break;default:S=gKr}return ur(got,e,_[4],[0,[0,Sot,tI(S)],w]);case 4:var g=t[1],B=g[4],T=Djt(tr(g[3][2][2]),B);return ur(Bot,e,T,Or(g));case 5:return Br(clt,[0,e,t[1]]);case 6:var I=t[1],O=[0,[0,Tot,z(Lr,I[2])],0];return ur(Oot,e,0,[0,[0,Iot,q(ct,I[1])],O]);case 7:var N=t[1],x=[0,[0,Not,Lr(N[3])],0],L=[0,[0,xot,Lr(N[2])],x],P=[0,[0,Lot,Lr(N[1])],L];return ur(Pot,e,N[4],P);case 8:return Pr([0,e,t[1]]);case 9:var R=t[1],M=[0,[0,Rot,z(Lr,R[2])],0];return ur(Got,e,0,[0,[0,Mot,q(ct,R[1])],M]);case 10:return ir(t[1]);case 11:var G=t[1],U=[0,[0,Uot,Lr(G[1])],0];return ur(jot,e,G[2],U);case 12:return Sr([0,e,t[1]]);case 13:return yr([0,e,t[1]]);case 14:var j=t[1],X=j[1];return"number"!=typeof X&&3===X[0]?ur(Hpt,e,j[3],[0,[0,Xpt,pgt],[0,[0,jpt,tI(j[2])],0]]):or([0,e,j]);case 15:var H=t[1];switch(H[1]){case 0:var $=Xot;break;case 1:$=Hot;break;default:$=$ot}var Y=[0,[0,Yot,Lr(H[3])],0],V=[0,[0,Vot,Lr(H[2])],Y];return ur(Jot,e,H[4],[0,[0,Kot,tI($)],V]);case 16:var K=t[1],J=Ir(K);return ur(Wot,e,K[3],J);case 17:var W=t[1],Q=[0,[0,qot,ir(W[2])],0],Z=[0,[0,zot,ir(W[1])],Q];return ur(Qot,e,W[3],Z);case 18:var rr=t[1],er=rr[4],nr=rr[3];if(nr)var ar=nr[1],cr=Djt(tr(ar[2][2]),er),fr=kr(ar),sr=cr;else fr=gVt(0),sr=er;var vr=[0,[0,rst,z(Et,rr[2])],[0,[0,Zot,fr],0]];return ur(est,e,sr,[0,[0,tst,Lr(rr[1])],vr]);case 19:var lr=t[1],Dr=[0,[0,nst,q(et,lr[1])],0];return ur(ust,e,tr(lr[2]),Dr);case 20:var pr=t[1],Er=pr[1],Fr=Er[4],dr=Djt(tr(Er[3][2][2]),Fr),mr=[0,[0,ast,!!pr[2]],0];return ur(ist,e,dr,j_t(Or(Er),mr));case 21:var hr=t[1],Ar=hr[1],_r=[0,[0,cst,!!hr[2]],0],Cr=j_t(Ir(Ar),_r);return ur(fst,e,Ar[3],Cr);case 22:var wr=t[1],Rr=[0,[0,ost,q(Lr,wr[1])],0];return ur(sst,e,wr[2],Rr);case 23:return ur(vst,e,t[1][1],0);case 24:var Mr=t[1],Gr=[0,[0,ibt,gr(Mr[2])],0],Ur=[0,[0,cbt,Lr(Mr[1])],Gr];return ur(fbt,e,Mr[3],Ur);case 25:return gr([0,e,t[1]]);case 26:return ur(lst,e,t[1][1],0);case 27:var jr=t[1],Xr=[0,[0,Dst,br(jr[2])],0],Hr=[0,[0,pst,Lr(jr[1])],Xr];return ur(bst,e,jr[3],Hr);case 28:var $r=t[1],Yr=$r[3],Vr=$r[2],Kr=$r[1];if(7<=Kr)return ur(Fst,e,Yr,[0,[0,Est,Lr(Vr)],0]);switch(Kr){case 0:var Jr=dst;break;case 1:Jr=mst;break;case 2:Jr=hst;break;case 3:Jr=kst;break;case 4:Jr=yst;break;case 5:Jr=Ast;break;case 6:Jr=_st;break;default:Jr=P_t(Cst)}var Wr=[0,[0,Sst,!0],[0,[0,wst,Lr(Vr)],0]];return ur(Bst,e,Yr,[0,[0,gst,tI(Jr)],Wr]);case 29:var qr=t[1],zr=0===qr[1]?Ist:Tst,Qr=[0,[0,Ost,!!qr[3]],0],Zr=[0,[0,Nst,Lr(qr[2])],Qr];return ur(Lst,e,qr[4],[0,[0,xst,tI(zr)],Zr]);default:var rt=t[1],tt=[0,[0,Pst,!!rt[3]],0],nt=[0,[0,Rst,z(Lr,rt[1])],tt];return ur(Mst,e,rt[2],nt)}},Pr=function(r){var t=r[2],e=t[7],n=t[3],u=t[2],a=0===n[0]?n[1]:P_t(qst),i=0===e[0]?0:[0,e[1]],c=t[9],f=Djt(tr(u[2][4]),c),o=[0,[0,zst,z(Dt,t[8])],0],s=[0,[0,Zst,!1],[0,[0,Qst,z(br,i)],o]],v=[0,[0,rvt,z(Ct,t[6])],s],l=[0,[0,evt,!!t[4]],[0,[0,tvt,!!t[5]],v]],D=[0,[0,nvt,Tr(a)],l],p=[0,[0,uvt,Nr(u)],D],b=[0,[0,avt,z(ir,t[1])],p];return ur(ivt,r[1],f,b)},Rr=function(r){var t=r[2],e=[0,[0,wDt,q(Xr,t[3])],0],n=[0,[0,SDt,pr(0,t[4])],e],u=[0,[0,gDt,z(Dt,t[2])],n],a=[0,[0,BDt,ir(t[1])],u];return ur(TDt,r[1],t[5],a)},Mr=function(r,t){var e=t[2],n=r?rlt:tlt,u=[0,[0,elt,z(lr,e[4])],0],a=[0,[0,nlt,z(lr,e[3])],u],i=[0,[0,ult,z(Dt,e[2])],a],c=[0,[0,alt,ir(e[1])],i];return ur(n,t[1],e[5],c)},Gr=function(r){var t=r[2],e=[0,[0,qvt,lr(t[3])],0],n=[0,[0,zvt,z(Dt,t[2])],e],u=[0,[0,Qvt,ir(t[1])],n];return ur(Zvt,r[1],t[4],u)},Ur=function(r){if(r){var t=r[1];if(0===t[0])return q(At,t[1]);var e=t[1],n=e[2];if(n){var u=[0,[0,$vt,ir(n[1])],0];return gVt([0,ur(Yvt,e[1],0,u),0])}return gVt(0)}return gVt(0)},jr=function(r){return 0===r?Hvt:Xvt},Xr=function(r){var t=r[2],e=t[1],n=0===e[0]?ir(e[1]):cr(e[1]),u=[0,[0,ODt,n],[0,[0,IDt,z(bt,t[2])],0]];return ur(NDt,r[1],t[3],u)},Hr=function(r){var t=r[2],e=t[6],n=t[4],u=gVt(n?[0,Xr(n[1]),0]:0),a=e?q(zr,e[1][2][1]):gVt(0),i=[0,[0,Ovt,u],[0,[0,Ivt,a],[0,[0,Tvt,q(Xr,t[5])],0]]],c=[0,[0,Nvt,pr(0,t[3])],i],f=[0,[0,xvt,z(Dt,t[2])],c],o=[0,[0,Lvt,ir(t[1])],f];return ur(Pvt,r[1],t[7],o)},$r=function(r){var t=r[2],e=t[2],n=t[1],u=ajt(n[1],e[1]),a=[0,[0,Svt,z(Ct,t[3])],0],i=[0,[0,gvt,mr(u,[0,n,[1,e],0])],a];return ur(Bvt,r[1],t[4],i)},Yr=function(r){var t=r[2],e=t[2],n=t[1],u=0===e[0]?n[1]:e[1][1],a=[0,[0,Cvt,mr(ajt(n[1],u),[0,n,e,0])],0];return ur(wvt,r[1],t[3],a)},Vr=function(r){var t=r[2],e=r[1];switch(t[0]){case 0:return Tr([0,e,t[1]]);case 1:var n=t[1],u=[0,[0,xct,z(ir,n[1])],0];return ur(Lct,e,n[2],u);case 2:return Br(ilt,[0,e,t[1]]);case 3:var a=t[1],i=[0,[0,Pct,z(ir,a[1])],0];return ur(Rct,e,a[2],i);case 4:return ur(Mct,e,t[1][1],0);case 5:return Hr([0,e,t[1]]);case 6:var c=t[1],f=c[5],o=c[4],s=c[3],v=c[2];if(s){var l=s[1];if(0!==l[0]&&!l[1][2])return ur(Uct,e,f,[0,[0,Gct,z(Fr,o)],0])}if(v){var D=v[1];switch(D[0]){case 0:var p=Yr(D[1]);break;case 1:p=$r(D[1]);break;case 2:p=Hr(D[1]);break;case 3:p=lr(D[1]);break;case 4:p=Gr(D[1]);break;case 5:p=Mr(1,D[1]);break;default:p=Rr(D[1])}var b=p}else b=pgt;var E=[0,[0,jct,z(Fr,o)],0],F=[0,[0,Hct,b],[0,[0,Xct,Ur(s)],E]],d=c[1];return ur(Yct,e,f,[0,[0,$ct,!!(d?1:d)],F]);case 7:return $r([0,e,t[1]]);case 8:var m=t[1],h=[0,[0,Rvt,q(Xr,m[3])],0],k=[0,[0,Mvt,pr(0,m[4])],h],y=[0,[0,Gvt,z(Dt,m[2])],k],A=[0,[0,Uvt,ir(m[1])],y];return ur(jvt,e,m[5],A);case 9:var _=t[1],C=_[1],w=0===C[0]?ir(C[1]):Fr(C[1]),S=0===_[3][0]?"CommonJS":"ES",g=[0,[0,Jct,w],[0,[0,Kct,Tr(_[2])],[0,[0,Vct,S],0]]];return ur(Wct,e,_[4],g);case 10:var B=t[1],T=[0,[0,qct,br(B[1])],0];return ur(zct,e,B[2],T);case 11:var I=t[1],O=[0,[0,Vvt,lr(I[3])],0],N=[0,[0,Kvt,z(Dt,I[2])],O],x=[0,[0,Jvt,ir(I[1])],N];return ur(Wvt,e,I[4],x);case 12:return Mr(1,[0,e,t[1]]);case 13:return Yr([0,e,t[1]]);case 14:var L=t[1],P=[0,[0,Qct,Lr(L[2])],0],R=[0,[0,Zct,Vr(L[1])],P];return ur(rft,e,L[3],R);case 15:return ur(tft,e,t[1][1],0);case 16:var M=t[1],G=M[2],U=G[2],j=G[1];switch(U[0]){case 0:var X=U[1],H=[0,[0,oDt,!!X[2]],[0,[0,fDt,!!X[3]],0]],$=X[1],Y=[0,[0,sDt,q((function(r){var t=r[2],e=t[2],n=e[2],u=n[1],a=u?Kpt:Jpt,i=[0,[0,aDt,ur(zpt,e[1],n[2],[0,[0,qpt,!!u],[0,[0,Wpt,tI(a)],0]])],0],c=[0,[0,iDt,ir(t[1])],i];return ur(cDt,r[1],0,c)}),$)],H],V=ur(vDt,j,X[4],Y);break;case 1:var K=U[1],J=[0,[0,DDt,!!K[2]],[0,[0,lDt,!!K[3]],0]],W=K[1],Q=[0,[0,pDt,q((function(r){var t=r[2],e=t[2],n=e[2],u=[0,[0,eDt,ur(Upt,e[1],n[3],[0,[0,Gpt,n[1]],[0,[0,Mpt,tI(n[2])],0]])],0],a=[0,[0,nDt,ir(t[1])],u];return ur(uDt,r[1],0,a)}),W)],J];V=ur(bDt,j,K[4],Q);break;case 2:var Z=U[1],rr=Z[1];if(0===rr[0])var er=aCt((function(r){var t=[0,[0,rDt,ir(r[2][1])],0];return ur(tDt,r[1],0,t)}),rr[1]);else er=aCt((function(r){var t=r[2],e=[0,[0,zlt,Fr(t[2])],0],n=[0,[0,Qlt,ir(t[1])],e];return ur(Zlt,r[1],0,n)}),rr[1]);var nr=[0,[0,FDt,!!Z[2]],[0,[0,EDt,!!Z[3]],0]],ar=[0,[0,dDt,gVt(er)],nr];V=ur(mDt,j,Z[4],ar);break;default:var cr=U[1],fr=[0,[0,hDt,!!cr[2]],0],or=cr[1],sr=[0,[0,kDt,q((function(r){var t=[0,[0,Wlt,ir(r[2][1])],0];return ur(qlt,r[1],0,t)}),or)],fr];V=ur(yDt,j,cr[3],sr)}var vr=[0,[0,_Dt,ir(M[1])],[0,[0,ADt,V],0]];return ur(CDt,e,M[3],vr);case 17:var Dr=t[1],dr=Dr[2],mr=0===dr[0]?Vr(dr[1]):Lr(dr[1]),hr=[0,[0,nft,mr],[0,[0,eft,tI(jr(1))],0]];return ur(uft,e,Dr[3],hr);case 18:var kr=t[1],yr=kr[5],Ar=kr[4],_r=kr[3],Cr=kr[2];if(Cr){var wr=Cr[1];if(0!==wr[0]&&!wr[1][2]){var Sr=[0,[0,aft,tI(jr(Ar))],0];return ur(cft,e,yr,[0,[0,ift,z(Fr,_r)],Sr])}}var gr=[0,[0,fft,tI(jr(Ar))],0],Ir=[0,[0,oft,z(Fr,_r)],gr],Or=[0,[0,sft,Ur(Cr)],Ir];return ur(lft,e,yr,[0,[0,vft,z(Vr,kr[1])],Or]);case 19:var Pr=t[1],Wr=[0,[0,Dft,z(wVt,Pr[2])],0],zr=[0,[0,pft,Lr(Pr[1])],Wr];return ur(bft,e,Pr[3],zr);case 20:var Qr=t[1],Zr=[0,[0,Eft,Vr(Qr[4])],0],rt=[0,[0,Fft,z(Lr,Qr[3])],Zr],tt=[0,[0,dft,z(Lr,Qr[2])],rt],et=[0,[0,mft,z((function(r){return 0===r[0]?Er(r[1]):Lr(r[1])}),Qr[1])],tt];return ur(hft,e,Qr[5],et);case 21:var nt=t[1],ut=nt[1],at=0===ut[0]?Er(ut[1]):xr(ut[1]),it=[0,[0,kft,!!nt[4]],0],ct=[0,[0,yft,Vr(nt[3])],it],ft=[0,[0,_ft,at],[0,[0,Aft,Lr(nt[2])],ct]];return ur(Cft,e,nt[5],ft);case 22:var ot=t[1],st=ot[1],vt=0===st[0]?Er(st[1]):xr(st[1]),lt=[0,[0,wft,!!ot[4]],0],pt=[0,[0,Sft,Vr(ot[3])],lt],bt=[0,[0,Bft,vt],[0,[0,gft,Lr(ot[2])],pt]];return ur(Tft,e,ot[5],bt);case 23:var Et=t[1],Ft=Et[7],dt=Et[3],mt=Et[2],ht=0===dt[0]?dt[1]:P_t(Gst),kt=0===Ft[0]?0:[0,Ft[1]],yt=Et[9],At=Djt(tr(mt[2][4]),yt),_t=[0,[0,Ust,z(Dt,Et[8])],0],wt=[0,[0,Xst,!1],[0,[0,jst,z(br,kt)],_t]],St=[0,[0,Hst,z(Ct,Et[6])],wt],gt=[0,[0,Yst,!!Et[4]],[0,[0,$st,!!Et[5]],St]],Bt=[0,[0,Vst,Tr(ht)],gt],Tt=[0,[0,Kst,Nr(mt)],Bt];return ur(Wst,e,At,[0,[0,Jst,z(ir,Et[1])],Tt]);case 24:var It=t[1],Ot=It[3];if(Ot){var Nt=Ot[1][2],xt=Nt[2],Lt=Nt[1],Pt=Lt[2],Rt=function(r){return Djt(r,xt)};switch(Pt[0]){case 0:var Mt=Pt[1],Gt=pjt(Mt[2],xt),Ut=[0,[0,Mt[1],Gt]];break;case 1:var jt=Pt[1],Xt=Rt(jt[2]);Ut=[1,[0,jt[1],Xt]];break;case 2:var Ht=Pt[1],$t=Rt(Ht[7]);Ut=[2,[0,Ht[1],Ht[2],Ht[3],Ht[4],Ht[5],Ht[6],$t]];break;case 3:var Yt=Pt[1],Vt=Rt(Yt[2]);Ut=[3,[0,Yt[1],Vt]];break;case 4:Ut=[4,[0,Rt(Pt[1][1])]];break;case 5:var Kt=Pt[1],Jt=Rt(Kt[7]);Ut=[5,[0,Kt[1],Kt[2],Kt[3],Kt[4],Kt[5],Kt[6],Jt]];break;case 6:var Wt=Pt[1],qt=Rt(Wt[5]);Ut=[6,[0,Wt[1],Wt[2],Wt[3],Wt[4],qt]];break;case 7:var zt=Pt[1],Qt=Rt(zt[4]);Ut=[7,[0,zt[1],zt[2],zt[3],Qt]];break;case 8:var Zt=Pt[1],re=Rt(Zt[5]);Ut=[8,[0,Zt[1],Zt[2],Zt[3],Zt[4],re]];break;case 9:var te=Pt[1],ee=Rt(te[4]);Ut=[9,[0,te[1],te[2],te[3],ee]];break;case 10:var ne=Pt[1],ue=Rt(ne[2]);Ut=[10,[0,ne[1],ue]];break;case 11:var ae=Pt[1],ie=Rt(ae[4]);Ut=[11,[0,ae[1],ae[2],ae[3],ie]];break;case 12:var ce=Pt[1],fe=Rt(ce[5]);Ut=[12,[0,ce[1],ce[2],ce[3],ce[4],fe]];break;case 13:var oe=Pt[1],se=Rt(oe[3]);Ut=[13,[0,oe[1],oe[2],se]];break;case 14:var ve=Pt[1],le=Rt(ve[3]);Ut=[14,[0,ve[1],ve[2],le]];break;case 15:Ut=[15,[0,Rt(Pt[1][1])]];break;case 16:var De=Pt[1],pe=Rt(De[3]);Ut=[16,[0,De[1],De[2],pe]];break;case 17:var be=Pt[1],Ee=Rt(be[3]);Ut=[17,[0,be[1],be[2],Ee]];break;case 18:var Fe=Pt[1],de=Rt(Fe[5]);Ut=[18,[0,Fe[1],Fe[2],Fe[3],Fe[4],de]];break;case 19:var me=Pt[1],he=Rt(me[3]);Ut=[19,[0,me[1],me[2],he]];break;case 20:var ke=Pt[1],ye=Rt(ke[5]);Ut=[20,[0,ke[1],ke[2],ke[3],ke[4],ye]];break;case 21:var Ae=Pt[1],_e=Rt(Ae[5]);Ut=[21,[0,Ae[1],Ae[2],Ae[3],Ae[4],_e]];break;case 22:var Ce=Pt[1],we=Rt(Ce[5]);Ut=[22,[0,Ce[1],Ce[2],Ce[3],Ce[4],we]];break;case 23:var Se=Pt[1],ge=Se[10],Be=Rt(Se[9]);Ut=[23,[0,Se[1],Se[2],Se[3],Se[4],Se[5],Se[6],Se[7],Se[8],Be,ge]];break;case 24:var Te=Pt[1],Ie=Rt(Te[4]);Ut=[24,[0,Te[1],Te[2],Te[3],Ie]];break;case 25:var Oe=Pt[1],Ne=Rt(Oe[5]);Ut=[25,[0,Oe[1],Oe[2],Oe[3],Oe[4],Ne]];break;case 26:var xe=Pt[1],Le=Rt(xe[5]);Ut=[26,[0,xe[1],xe[2],xe[3],xe[4],Le]];break;case 27:var Pe=Pt[1],Re=Rt(Pe[3]);Ut=[27,[0,Pe[1],Pe[2],Re]];break;case 28:var Me=Pt[1],Ge=Rt(Me[2]);Ut=[28,[0,Me[1],Ge]];break;case 29:var Ue=Pt[1],je=Rt(Ue[3]);Ut=[29,[0,Ue[1],Ue[2],je]];break;case 30:var Xe=Pt[1],He=Rt(Xe[2]);Ut=[30,[0,Xe[1],He]];break;case 31:var $e=Pt[1],Ye=Rt($e[4]);Ut=[31,[0,$e[1],$e[2],$e[3],Ye]];break;case 32:var Ve=Pt[1],Ke=Rt(Ve[4]);Ut=[32,[0,Ve[1],Ve[2],Ve[3],Ke]];break;case 33:var Je=Pt[1],We=Rt(Je[5]);Ut=[33,[0,Je[1],Je[2],Je[3],Je[4],We]];break;case 34:var qe=Pt[1],ze=Rt(qe[3]);Ut=[34,[0,qe[1],qe[2],ze]];break;case 35:var Qe=Pt[1],Ze=Rt(Qe[3]);Ut=[35,[0,Qe[1],Qe[2],Ze]];break;default:var rn=Pt[1],tn=Rt(rn[3]);Ut=[36,[0,rn[1],rn[2],tn]]}var en=Vr([0,Lt[1],Ut])}else en=pgt;var nn=[0,[0,Oft,Vr(It[2])],[0,[0,Ift,en],0]],un=[0,[0,Nft,Lr(It[1])],nn];return ur(xft,e,It[4],un);case 25:var an=t[1],cn=an[4],fn=an[3];if(cn){var on=cn[1];if(0===on[0])var sn=aCt((function(r){var t=r[1],e=r[3],n=r[2],u=n?ajt(e[1],n[1][1]):e[1],a=n?n[1]:e,i=0;if(t)switch(t[1]){case 0:var c=qr;break;case 1:c=Of;break;default:i=1}else i=1;if(i)c=pgt;var f=[0,[0,kdt,ir(a)],[0,[0,hdt,c],0]];return ur(Adt,u,0,[0,[0,ydt,ir(e)],f])}),on[1]);else{var vn=on[1],ln=[0,[0,ddt,ir(vn[2])],0];sn=[0,ur(mdt,vn[1],0,ln),0]}var Dn=sn}else Dn=cn;if(fn)var pn=fn[1],bn=[0,[0,Edt,ir(pn)],0],En=[0,ur(Fdt,pn[1],0,bn),Dn];else En=Dn;switch(an[1]){case 0:var Fn=Lft;break;case 1:Fn=Pft;break;default:Fn=Rft}var dn=[0,[0,Mft,tI(Fn)],0],mn=[0,[0,Gft,Fr(an[2])],dn],hn=[0,[0,Uft,gVt(En)],mn];return ur(jft,e,an[5],hn);case 26:return Rr([0,e,t[1]]);case 27:var kn=t[1],yn=[0,[0,Xft,Vr(kn[2])],0],An=[0,[0,Hft,ir(kn[1])],yn];return ur($ft,e,kn[3],An);case 28:var _n=t[1],Cn=[0,[0,Yft,z(Lr,_n[1])],0];return ur(Vft,e,_n[2],Cn);case 29:var wn=t[1],Sn=[0,[0,Kft,q(Kr,wn[2])],0],gn=[0,[0,Jft,Lr(wn[1])],Sn];return ur(Wft,e,wn[3],gn);case 30:var Bn=t[1],Tn=[0,[0,qft,Lr(Bn[1])],0];return ur(zft,e,Bn[2],Tn);case 31:var In=t[1],On=[0,[0,Qft,z(Tr,In[3])],0],Nn=[0,[0,Zft,z(Jr,In[2])],On],xn=[0,[0,rot,Tr(In[1])],Nn];return ur(tot,e,In[4],xn);case 32:return Gr([0,e,t[1]]);case 33:return Mr(0,[0,e,t[1]]);case 34:return Er([0,e,t[1]]);case 35:var Ln=t[1],Pn=[0,[0,eot,Vr(Ln[2])],0],Rn=[0,[0,not,Lr(Ln[1])],Pn];return ur(uot,e,Ln[3],Rn);default:var Mn=t[1],Gn=[0,[0,aot,Vr(Mn[2])],0],Un=[0,[0,iot,Lr(Mn[1])],Gn];return ur(cot,e,Mn[3],Un)}},Kr=function(r){var t=r[2],e=[0,[0,Fvt,q(Vr,t[2])],0],n=[0,[0,dvt,z(Lr,t[1])],e];return ur(mvt,r[1],t[3],n)},Jr=function(r){var t=r[2],e=[0,[0,hvt,Tr(t[2])],0],n=[0,[0,kvt,z(xr,t[1])],e];return ur(yvt,r[1],t[3],n)},Wr=function(r){var t=r[2],e=[0,[0,blt,Lr(t[1])],0];return ur(Elt,r[1],t[2],e)},zr=function(r){var t=r[2],e=[0,[0,Flt,z(bt,t[2])],0],n=[0,[0,dlt,ir(t[1])],e];return ur(mlt,r[1],0,n)},Qr=function(r){switch(r[0]){case 0:var t=r[1],e=t[2],n=e[6],u=e[2];switch(u[0]){case 0:var a=[0,or(u[1]),0,n];break;case 1:a=[0,ir(u[1]),0,n];break;case 2:a=[0,hr(u[1]),0,n];break;default:var i=u[1][2],c=Djt(i[2],n);a=[0,Lr(i[1]),1,c]}switch(e[1]){case 0:var f=ylt;break;case 1:f=Alt;break;case 2:f=_lt;break;default:f=Clt}var o=[0,[0,wlt,q(Wr,e[5])],0],s=[0,[0,Blt,tI(f)],[0,[0,glt,!!e[4]],[0,[0,Slt,!!a[2]],o]]],v=[0,[0,Tlt,Pr(e[3])],s];return ur(Olt,t[1],a[3],[0,[0,Ilt,a[1]],v]);case 1:var l=r[1],D=l[2],p=D[6],b=D[2],E=D[1];switch(E[0]){case 0:var F=[0,or(E[1]),0,p];break;case 1:F=[0,ir(E[1]),0,p];break;case 2:F=P_t(Ult);break;default:var d=E[1][2],m=Djt(d[2],p);F=[0,Lr(d[1]),1,m]}if("number"==typeof b)if(0===b)var h=0,k=1;else h=0,k=0;else h=[0,b[1]],k=0;var y=k?[0,[0,jlt,!!k],0]:k,A=[0,[0,Xlt,z(st,D[5])],0],_=[0,[0,$lt,!!F[2]],[0,[0,Hlt,!!D[4]],A]],C=[0,[0,Ylt,Q(br,D[3])],_],w=[0,[0,Vlt,z(Lr,h)],C],S=j_t([0,[0,Klt,F[1]],w],y);return ur(Jlt,l[1],F[3],S);default:var g=r[1],B=g[2],T=B[2],I=B[1][2];if("number"==typeof T)if(0===T)var O=0,N=1;else O=0,N=0;else O=[0,T[1]],N=0;var x=Djt(I[2],B[6]),L=N?[0,[0,Nlt,!!N],0]:N,P=[0,[0,xlt,z(st,B[5])],0],R=[0,[0,Llt,!!B[4]],P],M=[0,[0,Plt,Q(br,B[3])],R],G=[0,[0,Rlt,z(Lr,O)],M],U=j_t([0,[0,Mlt,ir(I[1])],G],L);return ur(Glt,g[1],x,U)}},Zr=function(r){var t=r[2],e=t[2],n=t[1];if(e){var u=[0,[0,UDt,Lr(e[1])],0],a=[0,[0,jDt,xr(n)],u];return ur(XDt,r[1],0,a)}return xr(n)},rt=function(r,t){var e=[0,[0,JDt,xr(t[1])],0];return ur(WDt,r,t[2],e)},tt=function(r){switch(r[0]){case 0:var t=r[1],e=t[2],n=e[2],u=e[1];if(n){var a=[0,[0,qDt,Lr(n[1])],0],i=[0,[0,zDt,xr(u)],a];return ur(QDt,t[1],0,i)}return xr(u);case 1:var c=r[1];return rt(c[1],c[2]);default:return pgt}},et=function(r){if(0===r[0]){var t=r[1],e=t[2];switch(e[0]){case 0:var n=e[3],u=Lr(e[2]),a=[0,e[1],u,ZDt,0,n,0];break;case 1:var i=e[2],c=Pr([0,i[1],i[2]]);a=[0,e[1],c,rpt,1,0,0];break;case 2:var f=e[2],o=e[3],s=Pr([0,f[1],f[2]]);a=[0,e[1],s,tpt,0,0,o];break;default:var v=e[2],l=e[3],D=Pr([0,v[1],v[2]]);a=[0,e[1],D,ept,0,0,l]}var p=a[6],b=a[1];switch(b[0]){case 0:var E=[0,or(b[1]),0,p];break;case 1:E=[0,ir(b[1]),0,p];break;case 2:E=P_t(npt);break;default:var F=b[1][2],d=Djt(F[2],p);E=[0,Lr(F[1]),1,d]}return ur(spt,t[1],E[3],[0,[0,opt,E[1]],[0,[0,fpt,a[2]],[0,[0,cpt,tI(a[3])],[0,[0,ipt,!!a[4]],[0,[0,apt,!!a[5]],[0,[0,upt,!!E[2]],0]]]]]])}var m=r[1],h=m[2],k=[0,[0,vpt,Lr(h[1])],0];return ur(lpt,m[1],h[2],k)},nt=function(r){if(0===r[0]){var t=r[1],e=t[2],n=e[3],u=e[2],a=e[1];switch(a[0]){case 0:var i=[0,or(a[1]),0,0];break;case 1:i=[0,ir(a[1]),0,0];break;default:var c=a[1][2],f=c[2];i=[0,Lr(c[1]),1,f]}if(n)var o=n[1],s=ajt(u[1],o[1]),v=[0,[0,Dpt,Lr(o)],0],l=ur(bpt,s,0,[0,[0,ppt,xr(u)],v]);else l=xr(u);return ur(ypt,t[1],i[3],[0,[0,kpt,i[1]],[0,[0,hpt,l],[0,[0,mpt,kh],[0,[0,dpt,!1],[0,[0,Fpt,!!e[4]],[0,[0,Ept,!!i[2]],0]]]]]])}var D=r[1];return rt(D[1],D[2])},ut=function(r){var t=r[2],e=[0,[0,Apt,Lr(t[1])],0];return ur(_pt,r[1],t[2],e)},at=function(r){return 0===r[0]?Lr(r[1]):ut(r[1])},it=function(r){switch(r[0]){case 0:return Lr(r[1]);case 1:return ut(r[1]);default:return pgt}},ct=function(r){var t=r[2],e=[0,[0,Cpt,!!t[3]],0],n=[0,[0,wpt,Lr(t[2])],e],u=[0,[0,Spt,xr(t[1])],n];return ur(gpt,r[1],0,u)},ft=function(r){var t=r[2],e=t[1],n=SVt([0,[0,ebt,tI(e[1])],[0,[0,tbt,tI(e[2])],0]]);return ur(abt,r[1],0,[0,[0,ubt,n],[0,[0,nbt,!!t[2]],0]])},ot=function(r){var t=r[2],e=[0,[0,bbt,z(Lr,t[2])],0],n=[0,[0,Ebt,xr(t[1])],e];return ur(Fbt,r[1],0,n)},st=function(r){var t=r[2],e=0===t[1]?"plus":Tk;return ur(mbt,r[1],t[2],[0,[0,dbt,e],0])},vt=function(r){var t=r[2];return vr(t[2],t[1])},lt=function(r){var t=r[2],e=[0,[0,Hbt,lr(t[1][2])],[0,[0,Xbt,!1],0]],n=[0,[0,$bt,z(ir,0)],e];return ur(Ybt,r[1],t[2],n)},Dt=function(r){var t=r[2],e=[0,[0,dFt,q(pt,t[1])],0],n=tr(t[2]);return ur(mFt,r[1],n,e)},pt=function(r){var t=r[2],e=t[1][2],n=[0,[0,hFt,z(lr,t[4])],0],u=[0,[0,kFt,z(st,t[3])],n],a=[0,[0,yFt,Q(br,t[2])],u];return ur(_Ft,r[1],e[2],[0,[0,AFt,tI(e[1])],a])},bt=function(r){var t=r[2],e=[0,[0,CFt,q(lr,t[1])],0],n=tr(t[2]);return ur(wFt,r[1],n,e)},Et=function(r){var t=r[2],e=[0,[0,SFt,q(Ft,t[1])],0],n=tr(t[2]);return ur(gFt,r[1],n,e)},Ft=function(r){if(0===r[0])return lr(r[1]);var t=r[1],e=t[1],n=t[2][1];return fr([0,e,[0,[0,ojt(0,[0,e,BFt])],0,n]])},dt=function(r){if(0===r[0]){var t=r[1],e=t[2],n=e[1],u=0===n[0]?Ar(n[1]):_r(n[1]),a=[0,[0,KFt,u],[0,[0,VFt,z(yt,e[2])],0]];return ur(JFt,t[1],0,a)}var i=r[1],c=i[2],f=[0,[0,WFt,Lr(c[1])],0];return ur(qFt,i[1],c[2],f)},mt=function(r){var t=[0,[0,HFt,wr(r[2][1])],0];return ur($Ft,r[1],0,t)},ht=function(r){var t=r[2],e=t[1],n=r[1],u=e?Lr(e[1]):ur(zFt,[0,n[1],[0,n[2][1],n[2][2]+1|0],[0,n[3][1],n[3][2]-1|0]],0,0);return ur(ZFt,n,tr(t[2]),[0,[0,QFt,u],0])},kt=function(r){var t=r[2],e=r[1];switch(t[0]){case 0:return Sr([0,e,t[1]]);case 1:return yr([0,e,t[1]]);case 2:return ht([0,e,t[1]]);case 3:var n=t[1],u=[0,[0,rdt,Lr(n[1])],0];return ur(tdt,e,n[2],u);default:var a=t[1];return ur(udt,e,0,[0,[0,ndt,tI(a[1])],[0,[0,edt,tI(a[2])],0]])}},yt=function(r){return 0===r[0]?or([0,r[1],r[2]]):ht([0,r[1],r[2]])},At=function(r){var t=r[2],e=t[2],n=t[1],u=ir(e?e[1]:n),a=[0,[0,pdt,ir(n)],[0,[0,Ddt,u],0]];return ur(bdt,r[1],0,a)},_t=function(r){var t=r[2];if(0===t[1])var e=Cdt,n=t[2];else e=_dt,n=t[2];return ur(e,r[1],0,[0,[0,wdt,tI(n)],0])},Ct=function(r){var t=r[2],e=t[1];if(e)var n=gdt,u=[0,[0,Sdt,Lr(e[1])],0];else n=Bdt,u=0;return ur(n,r[1],t[2],u)},wt=S[2],St=ar(wt[1]),gt=m?[0,[0,Ict,St],[0,[0,Tct,nr(wt[3])],0]]:[0,[0,Oct,St],0],Bt=ur(Nct,S[1],wt[2],gt),Tt=j_t(B,CVt[1]);if(Bt.errors=q((function(r){var t=r[2];if("number"==typeof t){var e=t;if(56<=e)switch(e){case 56:var n=JJr;break;case 57:n=WJr;break;case 58:n=qJr;break;case 59:n=G_t(QJr,zJr);break;case 60:n=G_t(rWr,ZJr);break;case 61:n=G_t(eWr,tWr);break;case 62:n=nWr;break;case 63:n=uWr;break;case 64:n=aWr;break;case 65:n=iWr;break;case 66:n=cWr;break;case 67:n=fWr;break;case 68:n=oWr;break;case 69:n=sWr;break;case 70:n=vWr;break;case 71:n=lWr;break;case 72:n=DWr;break;case 73:n=pWr;break;case 74:n=bWr;break;case 75:n=EWr;break;case 76:n=FWr;break;case 77:n=dWr;break;case 78:n=mWr;break;case 79:n=hWr;break;case 80:n=kWr;break;case 81:n=yWr;break;case 82:n=G_t(_Wr,AWr);break;case 83:n=CWr;break;case 84:n=wWr;break;case 85:n=SWr;break;case 86:n=gWr;break;case 87:n=BWr;break;case 88:n=TWr;break;case 89:n=IWr;break;case 90:n=OWr;break;case 91:n=NWr;break;case 92:n=xWr;break;case 93:n=LWr;break;case 94:n=PWr;break;case 95:n=G_t(MWr,RWr);break;case 96:n=GWr;break;case 97:n=UWr;break;case 98:n=jWr;break;case 99:n=XWr;break;case 100:n=HWr;break;case 101:n=$Wr;break;case 102:n=YWr;break;case 103:n=VWr;break;case 104:n=KWr;break;case 105:n=JWr;break;case 106:n=WWr;break;case 107:n=qWr;break;case 108:n=zWr;break;case 109:n=QWr;break;case 110:n=ZWr;break;default:n=rqr}else switch(e){case 0:n=YKr;break;case 1:n=VKr;break;case 2:n=KKr;break;case 3:n=JKr;break;case 4:n=WKr;break;case 5:n=qKr;break;case 6:n=zKr;break;case 7:n=QKr;break;case 8:n=ZKr;break;case 9:n=rJr;break;case 10:n=tJr;break;case 11:n=eJr;break;case 12:n=nJr;break;case 13:n=uJr;break;case 14:n=aJr;break;case 15:n=iJr;break;case 16:n=cJr;break;case 17:n=fJr;break;case 18:n=oJr;break;case 19:n=sJr;break;case 20:n=vJr;break;case 21:n=lJr;break;case 22:n=DJr;break;case 23:n=pJr;break;case 24:n=bJr;break;case 25:n=EJr;break;case 26:n=FJr;break;case 27:n=dJr;break;case 28:n=mJr;break;case 29:n=hJr;break;case 30:n=kJr;break;case 31:n=G_t(AJr,yJr);break;case 32:n=_Jr;break;case 33:n=CJr;break;case 34:n=wJr;break;case 35:n=SJr;break;case 36:n=gJr;break;case 37:n=BJr;break;case 38:n=TJr;break;case 39:n=IJr;break;case 40:n=OJr;break;case 41:n=NJr;break;case 42:n=xJr;break;case 43:n=LJr;break;case 44:n=PJr;break;case 45:n=RJr;break;case 46:n=MJr;break;case 47:n=GJr;break;case 48:n=UJr;break;case 49:n=jJr;break;case 50:n=XJr;break;case 51:n=HJr;break;case 52:n=$Jr;break;case 53:n=YJr;break;case 54:n=VJr;break;default:n=KJr}}else switch(t[0]){case 0:n=G_t(tqr,t[1]);break;case 1:var u=t[2],a=t[1];n=xI(Awt(eqr),u,u,a);break;case 2:var i=t[1],c=t[2];n=NI(Awt(nqr),c,i);break;case 3:var f=t[1];n=OI(Awt(uqr),f);break;case 4:var o=t[2],s=t[1],v=OI(Awt(aqr),s);if(o){var l=o[1];n=NI(Awt(iqr),l,v)}else n=OI(Awt(cqr),v);break;case 5:var D=t[1];n=NI(Awt(fqr),D,D);break;case 6:var p=t[3],b=t[2],E=t[1];if(b){var F=b[1];if(3<=F)n=NI(Awt(oqr),p,E);else{switch(F){case 0:var d=jKr;break;case 1:d=XKr;break;case 2:d=HKr;break;default:d=$Kr}n=LI(Awt(sqr),E,d,p,d)}}else n=NI(Awt(vqr),p,E);break;case 7:var m=t[2],h=m;if(0===XT(h))var k=h;else{var y=bCt(h);xB(y,0,K_t(PB(h,0)));k=y}var A=k,_=t[1];n=xI(Awt(lqr),m,A,_);break;case 8:n=t[1]?Dqr:pqr;break;case 9:var C=t[1],w=t[2];n=NI(Awt(bqr),w,C);break;case 10:var S=t[1];n=OI(Awt(Eqr),S);break;case 11:var g=t[1];n=OI(Awt(Fqr),g);break;case 12:var B=t[2],T=t[1];n=NI(Awt(dqr),T,B);break;case 13:var I=t[2],O=t[1];n=NI(Awt(mqr),O,I);break;case 14:n=G_t(kqr,G_t(t[1],hqr));break;case 15:var N=t[1]?yqr:Aqr;n=OI(Awt(_qr),N);break;case 16:n=G_t(wqr,G_t(t[1],Cqr));break;case 17:var x=G_t(gqr,G_t(t[2],Sqr));n=G_t(t[1],x);break;case 18:n=G_t(Bqr,t[1]);break;case 19:n=t[1]?G_t(Iqr,Tqr):G_t(Nqr,Oqr);break;case 20:var L=t[1];n=OI(Awt(xqr),L);break;case 21:n=G_t(Pqr,G_t(t[1],Lqr));break;case 22:var P=t[1],R=t[2]?Rqr:Mqr,M=t[3]?G_t(Gqr,P):P;n=G_t(Xqr,G_t(R,G_t(jqr,G_t(M,Uqr))));break;case 23:n=G_t($qr,G_t(t[1],Hqr));break;default:var G=t[1];n=OI(Awt(Yqr),G)}var U=[0,[0,Pdt,tI(n)],0];return SVt([0,[0,Rdt,rr(r[1])],U])}),Tt),b){var It=h[1];Bt.tokens=gVt(iCt(OI(TVt[1],W),It))}return Bt}var Ot=Y[1];if(5===Ot){var Nt=Y[2];if(Nt&&6===Nt[1]){$=[0,J+2|0,0,[0,SCt(nCt([0,J,K])),V]],Y=Nt[2];continue}}else if(!(6<=Ot)){var xt=Y[2];$=[0,J+BYt(Ot)|0,[0,J,K],V],Y=xt;continue}var Lt=SCt(nCt([0,J,K])),Pt=Y[2];$=[0,J+BYt(Ot)|0,0,[0,Lt,V]],Y=Pt}}};return t.parse=function(r,t){try{return OVt(r,t)}catch(t){return(t=II(t))[1]===dgt?OI(hgt,t[2]):OI(hgt,new mgt(tI(G_t(O_t,Swt(t)))))}},void OI($_t[1],0)}cgt=fgt}else agt=igt}else ngt=ugt}else tgt=egt}}(new Function("return this")())}));const mi={comments:!1,enums:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,esproposal_nullish_coalescing:!0,esproposal_optional_chaining:!0,tokens:!0};var hi={parsers:{flow:si((function(t,e,n){const{parse:u}=di,a=u(vi(t),mi),[i]=a.errors;if(i)throw function(t){const{message:e,loc:{start:n,end:u}}=t;return r(e,{start:{line:n.line,column:n.column+1},end:{line:u.line,column:u.column+1}})}(i);return la(a,Object.assign(Object.assign({},n),{},{originalText:t}))}))}};export default hi; diff --git a/node_modules/prettier/esm/parser-glimmer.mjs b/node_modules/prettier/esm/parser-glimmer.mjs new file mode 100644 index 000000000..abc60e629 --- /dev/null +++ b/node_modules/prettier/esm/parser-glimmer.mjs @@ -0,0 +1 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){var t={exports:{}};return e(t,t.exports),t.exports}var r=t((function(e,t){var r="\n",n=function(){function e(e){this.string=e;for(var t=[0],n=0;nthis.string.length)return null;for(var t=0,r=this.offsets;r[t+1]<=e;)t++;return{line:t,column:e-r[t]}},e.prototype.indexForLocation=function(e){var t=e.line,r=e.column;return t<0||t>=this.offsets.length||r<0||r>this.lengthOfLine(t)?null:this.offsets[t]+r},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=n}));var n=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r};var o={locStart:function(e){return e.loc.start.offset},locEnd:function(e){return e.loc.end.offset}};var i=Object.freeze({__proto__:null,DEBUG:!1,CI:!1});const a=Object.freeze([]);function s(){return a}const l=s(),c=s();var u;const{keys:h}=Object;let p=null!==(u=Object.assign)&&void 0!==u?u:function(e){for(let t=1;t-536870913?w(e):S(e)}[1,-1].forEach((e=>P(E(e))));var T="function"==typeof WeakSet?WeakSet:class{constructor(){this._map=new WeakMap}add(e){return this._map.set(e,!0),this}delete(e){return this._map.delete(e)}has(e){return this._map.has(e)}};function x(e){return 9===e.nodeType}function N(e,t){let r=!1;if(null!==e)if("string"==typeof t)r=O(e,t);else{if(!Array.isArray(t))throw g();r=t.some((t=>O(e,t)))}if(r)return e;throw function(e,t){return new Error(`cannot cast a ${e} into ${t}`)}(`SimpleElement(${e})`,t)}function O(e,t){switch(t){case"NODE":return!0;case"HTML":return e instanceof HTMLElement;case"SVG":return e instanceof SVGElement;case"ELEMENT":return e instanceof Element;default:if(t.toUpperCase()===t)throw new Error("BUG: this code is missing handling for a generic node type");return e instanceof Element&&e.tagName.toLowerCase()===t}}function A(e){return e.length>0}const C=console,L=console;var _=Object.freeze({__proto__:null,LOCAL_LOGGER:C,LOGGER:L,assertNever:function(e,t="unexpected unreachable branch"){throw L.log("unreachable",e),L.log(`${t} :: ${JSON.stringify(e)} (${e})`),new Error("code reached unreachable")},assert:function(e,t){if(!e)throw new Error(t||"assertion failure")},deprecate:function(e){C.warn(`DEPRECATION: ${e}`)},dict:function(){return Object.create(null)},isDict:function(e){return null!=e},isObject:function(e){return"function"==typeof e||"object"==typeof e&&null!==e},Stack:class{constructor(e=[]){this.current=null,this.stack=e}get size(){return this.stack.length}push(e){this.current=e,this.stack.push(e)}pop(){let e=this.stack.pop(),t=this.stack.length;return this.current=0===t?null:this.stack[t-1],void 0===e?null:e}nth(e){let t=this.stack.length;return te,enumerableSymbol:b,symbol:y,strip:function(e,...t){let r="";for(let n=0;n=0},isNonPrimitiveHandle:function(e){return e>3},constants:function(...e){return[!1,!0,null,void 0,...e]},isSmallInt:function(e){return e%1==0&&e<=536870911&&e>=-536870912},encodeNegative:v,decodeNegative:S,encodePositive:k,decodePositive:w,encodeHandle:function(e){return e},decodeHandle:function(e){return e},encodeImmediate:E,decodeImmediate:P,unwrapHandle:function(e){if("number"==typeof e)return e;{let t=e.errors[0];throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`)}},unwrapTemplate:function(e){if("error"===e.result)throw new Error(`Compile Error: ${e.problem} @ ${e.span.start}..${e.span.end}`);return e},extractHandle:function(e){return"number"==typeof e?e:e.handle},isOkHandle:function(e){return"number"==typeof e},isErrHandle:function(e){return"number"==typeof e},isPresent:A,ifPresent:function(e,t,r){return A(e)?t(e):r()},toPresentOption:function(e){return A(e)?e:null},assertPresent:function(e,t="unexpected empty list"){if(!A(e))throw new Error(t)},mapPresent:function(e,t){if(null===e)return null;let r=[];for(let n of e)r.push(t(n));return r}}),B=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isLocatedWithPositionsArray=function(e){return(0,_.isPresent)(e)&&e.every(l)},t.isLocatedWithPositions=l,t.BROKEN_LOCATION=t.NON_EXISTENT_LOCATION=t.TEMPORARY_LOCATION=t.SYNTHETIC=t.SYNTHETIC_LOCATION=t.UNKNOWN_POSITION=void 0;const r=Object.freeze({line:1,column:0});t.UNKNOWN_POSITION=r;const n=Object.freeze({source:"(synthetic)",start:r,end:r});t.SYNTHETIC_LOCATION=n;const o=n;t.SYNTHETIC=o;const i=Object.freeze({source:"(temporary)",start:r,end:r});t.TEMPORARY_LOCATION=i;const a=Object.freeze({source:"(nonexistent)",start:r,end:r});t.NON_EXISTENT_LOCATION=a;const s=Object.freeze({source:"(broken)",start:r,end:r});function l(e){return void 0!==e.loc}t.BROKEN_LOCATION=s})),D=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SourceSlice=void 0;class r{constructor(e){this.loc=e.loc,this.chars=e.chars}static synthetic(e){let t=q.SourceSpan.synthetic(e);return new r({loc:t,chars:e})}static load(e,t){return new r({loc:q.SourceSpan.load(e,t[1]),chars:t[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}t.SourceSlice=r})),I=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.match=function(e){return e(new u).check()},t.IsInvisible=t.MatchAny=void 0;var r,n,o,i=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)};const a="MATCH_ANY";t.MatchAny=a;const s="IS_INVISIBLE";t.IsInvisible=s;class l{constructor(e){r.set(this,void 0),function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");t.set(e,r)}(this,r,e)}first(e){for(let t of i(this,r)){let r=t.match(e);if((0,_.isPresent)(r))return r[0]}return null}}r=new WeakMap;class c{constructor(){n.set(this,new Map)}get(e,t){let r=i(this,n).get(e);return r||(r=t(),i(this,n).set(e,r),r)}add(e,t){i(this,n).set(e,t)}match(e){let t=function(e){switch(e){case"Broken":case"InternalsSynthetic":case"NonExistent":return s;default:return e}}(e),r=[],o=i(this,n).get(t),l=i(this,n).get(a);return o&&r.push(o),l&&r.push(l),r}}n=new WeakMap;class u{constructor(){o.set(this,new c)}check(){return(e,t)=>this.matchFor(e.kind,t.kind)(e,t)}matchFor(e,t){let r=i(this,o).match(e);return new l(r).first(t)}when(e,t,r){return i(this,o).get(e,(()=>new c)).add(t,r),this}}o=new WeakMap})),M=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.InvisiblePosition=t.HbsPosition=t.CharPosition=t.SourceOffset=t.BROKEN=void 0;var r,n,o=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},i=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r};const a="BROKEN";t.BROKEN=a;class s{constructor(e){this.data=e}static forHbsPos(e,t){return new c(e,t,null).wrap()}static broken(e=B.UNKNOWN_POSITION){return new u("Broken",e).wrap()}get offset(){let e=this.data.toCharPos();return null===e?null:e.offset}eql(e){return h(this.data,e.data)}until(e){return(0,R.span)(this.data,e.data)}move(e){let t=this.data.toCharPos();if(null===t)return s.broken();{let r=t.offset+e;return t.source.check(r)?new l(t.source,r).wrap():s.broken()}}collapsed(){return(0,R.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}}t.SourceOffset=s;class l{constructor(e,t){this.source=e,this.charPos=t,this.kind="CharPosition",r.set(this,null)}toCharPos(){return this}toJSON(){let e=this.toHbsPos();return null===e?B.UNKNOWN_POSITION:e.toJSON()}wrap(){return new s(this)}get offset(){return this.charPos}toHbsPos(){let e=o(this,r);if(null===e){let t=this.source.hbsPosFor(this.charPos);i(this,r,e=null===t?a:new c(this.source,t,this.charPos))}return e===a?null:e}}t.CharPosition=l,r=new WeakMap;class c{constructor(e,t,r=null){this.source=e,this.hbsPos=t,this.kind="HbsPosition",n.set(this,void 0),i(this,n,null===r?null:new l(e,r))}toCharPos(){let e=o(this,n);if(null===e){let t=this.source.charPosFor(this.hbsPos);i(this,n,e=null===t?a:new l(this.source,t))}return e===a?null:e}toJSON(){return this.hbsPos}wrap(){return new s(this)}toHbsPos(){return this}}t.HbsPosition=c,n=new WeakMap;class u{constructor(e,t){this.kind=e,this.pos=t}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new s(this)}get offset(){return null}}t.InvisiblePosition=u;const h=(0,I.match)((e=>e.when("HbsPosition","HbsPosition",(({hbsPos:e},{hbsPos:t})=>e.column===t.column&&e.line===t.line)).when("CharPosition","CharPosition",(({charPos:e},{charPos:t})=>e===t)).when("CharPosition","HbsPosition",(({offset:e},t)=>{var r;return e===(null===(r=t.toCharPos())||void 0===r?void 0:r.offset)})).when("HbsPosition","CharPosition",((e,{offset:t})=>{var r;return(null===(r=e.toCharPos())||void 0===r?void 0:r.offset)===t})).when(I.MatchAny,I.MatchAny,(()=>!1))))})),R=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.span=t.HbsSpan=t.SourceSpan=void 0;var r,n,o,a=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},s=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r};class l{constructor(e){this.data=e,this.isInvisible="CharPosition"!==e.kind&&"HbsPosition"!==e.kind}static get NON_EXISTENT(){return new h("NonExistent",B.NON_EXISTENT_LOCATION).wrap()}static load(e,t){return"number"==typeof t?l.forCharPositions(e,t,t):"string"==typeof t?l.synthetic(t):Array.isArray(t)?l.forCharPositions(e,t[0],t[1]):"NonExistent"===t?l.NON_EXISTENT:"Broken"===t?l.broken(B.BROKEN_LOCATION):void(0,_.assertNever)(t)}static forHbsLoc(e,t){let r=new M.HbsPosition(e,t.start),n=new M.HbsPosition(e,t.end);return new u(e,{start:r,end:n},t).wrap()}static forCharPositions(e,t,r){let n=new M.CharPosition(e,t),o=new M.CharPosition(e,r);return new c(e,{start:n,end:o}).wrap()}static synthetic(e){return new h("InternalsSynthetic",B.NON_EXISTENT_LOCATION,e).wrap()}static broken(e=B.BROKEN_LOCATION){return new h("Broken",e).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let e=this.data.toHbsSpan();return null===e?B.BROKEN_LOCATION:e.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(e){return p(e.data,this.data.getEnd())}withEnd(e){return p(this.data.getStart(),e.data)}asString(){return this.data.asString()}toSlice(e){let t=this.data.asString();return i.DEBUG&&void 0!==e&&t!==e&&console.warn(`unexpectedly found ${JSON.stringify(t)} when slicing source, but expected ${JSON.stringify(e)}`),new D.SourceSlice({loc:this,chars:e||t})}get start(){return this.loc.start}set start(e){this.data.locDidUpdate({start:e})}get end(){return this.loc.end}set end(e){this.data.locDidUpdate({end:e})}get source(){return this.module}collapse(e){switch(e){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(e){return p(this.data.getStart(),e.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:e=0,skipEnd:t=0}){return p(this.getStart().move(e).data,this.getEnd().move(-t).data)}sliceStartChars({skipStart:e=0,chars:t}){return p(this.getStart().move(e).data,this.getStart().move(e+t).data)}sliceEndChars({skipEnd:e=0,chars:t}){return p(this.getEnd().move(e-t).data,this.getStart().move(-e).data)}}t.SourceSpan=l;class c{constructor(e,t){this.source=e,this.charPositions=t,this.kind="CharPosition",r.set(this,null)}wrap(){return new l(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let e=a(this,r);if(null===e){let t=this.charPositions.start.toHbsPos(),n=this.charPositions.end.toHbsPos();e=s(this,r,null===t||null===n?M.BROKEN:new u(this.source,{start:t,end:n}))}return e===M.BROKEN?null:e}serialize(){let{start:{charPos:e},end:{charPos:t}}=this.charPositions;return e===t?e:[e,t]}toCharPosSpan(){return this}}r=new WeakMap;class u{constructor(e,t,r=null){this.source=e,this.hbsPositions=t,this.kind="HbsPosition",n.set(this,null),o.set(this,void 0),s(this,o,r)}serialize(){let e=this.toCharPosSpan();return null===e?"Broken":e.wrap().serialize()}wrap(){return new l(this)}updateProvided(e,t){a(this,o)&&(a(this,o)[t]=e),s(this,n,null),s(this,o,{start:e,end:e})}locDidUpdate({start:e,end:t}){void 0!==e&&(this.updateProvided(e,"start"),this.hbsPositions.start=new M.HbsPosition(this.source,e,null)),void 0!==t&&(this.updateProvided(t,"end"),this.hbsPositions.end=new M.HbsPosition(this.source,t,null))}asString(){let e=this.toCharPosSpan();return null===e?"":e.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let e=a(this,n);if(null===e){let t=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!t||!r)return e=s(this,n,M.BROKEN),null;e=s(this,n,new c(this.source,{start:t,end:r}))}return e===M.BROKEN?null:e}}t.HbsSpan=u,n=new WeakMap,o=new WeakMap;class h{constructor(e,t,r=null){this.kind=e,this.loc=t,this.string=r}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new l(this)}asString(){return this.string||""}locDidUpdate({start:e,end:t}){void 0!==e&&(this.loc.start=e),void 0!==t&&(this.loc.end=t)}getModule(){return"an unknown module"}getStart(){return new M.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new M.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return B.BROKEN_LOCATION}}const p=(0,I.match)((e=>e.when("HbsPosition","HbsPosition",((e,t)=>new u(e.source,{start:e,end:t}).wrap())).when("CharPosition","CharPosition",((e,t)=>new c(e.source,{start:e,end:t}).wrap())).when("CharPosition","HbsPosition",((e,t)=>{let r=t.toCharPos();return null===r?new h("Broken",B.BROKEN_LOCATION).wrap():p(e,r)})).when("HbsPosition","CharPosition",((e,t)=>{let r=e.toCharPos();return null===r?new h("Broken",B.BROKEN_LOCATION).wrap():p(r,t)})).when(I.IsInvisible,I.MatchAny,(e=>new h(e.kind,B.BROKEN_LOCATION).wrap())).when(I.MatchAny,I.IsInvisible,((e,t)=>new h(t.kind,B.BROKEN_LOCATION).wrap()))));t.span=p})),q=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return R.SourceSpan}}),Object.defineProperty(t,"SourceOffset",{enumerable:!0,get:function(){return M.SourceOffset}})})),j=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;t.Source=class{constructor(e,t="an unknown module"){this.source=e,this.module=t}check(e){return e>=0&&e<=this.source.length}slice(e,t){return this.source.slice(e,t)}offsetFor(e,t){return q.SourceOffset.forHbsPos(this,{line:e,column:t})}spanFor({start:e,end:t}){return q.SourceSpan.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:t.line,column:t.column}})}hbsPosFor(e){let t=0,r=0;if(e>this.source.length)return null;for(;;){let n=this.source.indexOf("\n",r);if(e<=n||-1===n)return{line:t+1,column:e-r};t+=1,r=n+1}}charPosFor(e){let{line:t,column:r}=e,n=this.source.length,o=0,a=0;for(;;){if(a>=n)return n;let e=this.source.indexOf("\n",a);if(-1===e&&(e=this.source.length),o===t-1)return a+r>e?e:(i.DEBUG&&this.hbsPosFor(a+r),a+r);if(-1===e)return 0;o+=1,a=e+1}}}})),H=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.PathExpressionImplV1=void 0;var r,n=(r=V)&&r.__esModule?r:{default:r};t.PathExpressionImplV1=class{constructor(e,t,r,n){this.original=e,this.loc=n,this.type="PathExpression",this.this=!1,this.data=!1;let o=r.slice();"ThisHead"===t.type?this.this=!0:"AtHead"===t.type?(this.data=!0,o.unshift(t.name.slice(1))):o.unshift(t.name),this.parts=o}get head(){let e;e=this.this?"this":this.data?`@${this.parts[0]}`:this.parts[0];let t=this.loc.collapse("start").sliceStartChars({chars:e.length}).loc;return n.default.head(e,t)}get tail(){return this.this?this.parts:this.parts.slice(1)}}})),V=t((function(e,t){let r;function n(){return r||(r=new j.Source("","(synthetic)")),r}function o(e){switch(e.type){case"AtHead":return{original:e.name,parts:[e.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:e.name,parts:[e.name]}}}function i(e,t){let r,[n,...o]=e.split(".");return r="this"===n?{type:"ThisHead",loc:p(t||null)}:"@"===n[0]?{type:"AtHead",name:n,loc:p(t||null)}:{type:"VarHead",name:n,loc:p(t||null)},{head:r,tail:o}}function a(e){return{type:"ThisHead",loc:p(e||null)}}function s(e,t){return{type:"AtHead",name:e,loc:p(t||null)}}function l(e,t){return{type:"VarHead",name:e,loc:p(t||null)}}function c(e,t){if("string"!=typeof e){if("type"in e)return e;{let{head:r,tail:n}=i(e.head,q.SourceSpan.broken()),{original:a}=o(r);return new H.PathExpressionImplV1([a,...n].join("."),r,n,p(t||null))}}let{head:r,tail:n}=i(e,q.SourceSpan.broken());return new H.PathExpressionImplV1(e,r,n,p(t||null))}function u(e,t,r){return{type:e,value:t,original:t,loc:p(r||null)}}function h(e,t){return{type:"Hash",pairs:e||[],loc:p(t||null)}}function p(...e){if(1===e.length){let t=e[0];return t&&"object"==typeof t?q.SourceSpan.forHbsLoc(n(),t):q.SourceSpan.forHbsLoc(n(),B.SYNTHETIC_LOCATION)}{let[t,r,o,i,a]=e,s=a?new j.Source("",a):n();return q.SourceSpan.forHbsLoc(s,{start:{line:t,column:r},end:{line:o,column:i}})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var d={mustache:function(e,t,r,n,o,i){return"string"==typeof e&&(e=c(e)),{type:"MustacheStatement",path:e,params:t||[],hash:r||h([]),escaped:!n,trusting:!!n,loc:p(o||null),strip:i||{open:!1,close:!1}}},block:function(e,t,r,n,o,i,a,s,l){let u,d;return u="Template"===n.type?(0,_.assign)({},n,{type:"Block"}):n,d=null!=o&&"Template"===o.type?(0,_.assign)({},o,{type:"Block"}):o,{type:"BlockStatement",path:c(e),params:t||[],hash:r||h([]),program:u||null,inverse:d||null,loc:p(i||null),openStrip:a||{open:!1,close:!1},inverseStrip:s||{open:!1,close:!1},closeStrip:l||{open:!1,close:!1}}},partial:function(e,t,r,n,o){return{type:"PartialStatement",name:e,params:t||[],hash:r||h([]),indent:n||"",strip:{open:!1,close:!1},loc:p(o||null)}},comment:function(e,t){return{type:"CommentStatement",value:e,loc:p(t||null)}},mustacheComment:function(e,t){return{type:"MustacheCommentStatement",value:e,loc:p(t||null)}},element:function(e,t){let r,{attrs:n,blockParams:o,modifiers:i,comments:a,children:s,loc:l}=t,c=!1;return"object"==typeof e?(c=e.selfClosing,r=e.name):"/"===e.slice(-1)?(r=e.slice(0,-1),c=!0):r=e,{type:"ElementNode",tag:r,selfClosing:c,attributes:n||[],blockParams:o||[],modifiers:i||[],comments:a||[],children:s||[],loc:p(l||null)}},elementModifier:function(e,t,r,n){return{type:"ElementModifierStatement",path:c(e),params:t||[],hash:r||h([]),loc:p(n||null)}},attr:function(e,t,r){return{type:"AttrNode",name:e,value:t,loc:p(r||null)}},text:function(e,t){return{type:"TextNode",chars:e||"",loc:p(t||null)}},sexpr:function(e,t,r,n){return{type:"SubExpression",path:c(e),params:t||[],hash:r||h([]),loc:p(n||null)}},concat:function(e,t){if(!(0,_.isPresent)(e))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:e||[],loc:p(t||null)}},hash:h,pair:function(e,t,r){return{type:"HashPair",key:e,value:t,loc:p(r||null)}},literal:u,program:function(e,t,r){return{type:"Template",body:e||[],blockParams:t||[],loc:p(r||null)}},blockItself:function(e,t,r=!1,n){return{type:"Block",body:e||[],blockParams:t||[],chained:r,loc:p(n||null)}},template:function(e,t,r){return{type:"Template",body:e||[],blockParams:t||[],loc:p(r||null)}},loc:p,pos:function(e,t){return{line:e,column:t}},path:c,fullPath:function(e,t,r){let{original:n,parts:i}=o(e),a=[...n,...[...i,...t]].join(".");return new H.PathExpressionImplV1(a,e,t,p(r||null))},head:function(e,t){return"@"===e[0]?s(e,t):"this"===e?a(t):l(e,t)},at:s,var:l,this:a,blockName:function(e,t){return{type:"NamedBlockName",name:e,loc:p(t||null)}},string:f("StringLiteral"),boolean:f("BooleanLiteral"),number:f("NumberLiteral"),undefined:()=>u("UndefinedLiteral",void 0),null:()=>u("NullLiteral",null)};function f(e){return function(t,r){return u(e,t,r)}}t.default=d})),U=Object.defineProperty({},"__esModule",{value:!0}),$=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(U).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return U[e]}})}))})),z=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.loadResolution=function(e){if("string"==typeof e)switch(e){case"Loose":return o.fallback();case"Strict":return n}switch(e[0]){case"ambiguous":switch(e[1]){case"Append":return o.append({invoke:!1});case"Attr":return o.attr();case"Invoke":return o.append({invoke:!0})}case"ns":return o.namespaced(e[1])}},t.ARGUMENT_RESOLUTION=t.LooseModeResolution=t.STRICT_RESOLUTION=t.StrictResolution=void 0;class r{constructor(){this.isAngleBracket=!1}resolution(){return 31}serialize(){return"Strict"}}t.StrictResolution=r;const n=new r;t.STRICT_RESOLUTION=n;class o{constructor(e,t=!1){this.ambiguity=e,this.isAngleBracket=t}static namespaced(e,t=!1){return new o({namespaces:[e],fallback:!1},t)}static fallback(){return new o({namespaces:[],fallback:!0})}static append({invoke:e}){return new o({namespaces:["Component","Helper"],fallback:!e})}static trustingAppend({invoke:e}){return new o({namespaces:["Helper"],fallback:!e})}static attr(){return new o({namespaces:["Helper"],fallback:!0})}resolution(){if(0===this.ambiguity.namespaces.length)return 33;if(1!==this.ambiguity.namespaces.length)return this.ambiguity.fallback?34:35;if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case"Helper":return 37;case"Modifier":return 38;case"Component":return 39}}serialize(){return 0===this.ambiguity.namespaces.length?"Loose":1===this.ambiguity.namespaces.length?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}}t.LooseModeResolution=o;const i=o.fallback();t.ARGUMENT_RESOLUTION=i})),F=function(e){if(void 0!==e){const t=e;return{fields:()=>class{constructor(e){this.type=t,this.loc=e.loc,G(e,this)}}}}return{fields:()=>class{constructor(e){this.loc=e.loc,G(e,this)}}}};function G(e,t){for(let n of(r=e,Object.keys(r)))t[n]=e[n];var r}var K=Object.defineProperty({node:F},"__esModule",{value:!0}),W=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.NamedArgument=t.NamedArguments=t.PositionalArguments=t.Args=void 0;class r extends((0,K.node)().fields()){static empty(e){return new r({loc:e,positional:n.empty(e),named:o.empty(e)})}static named(e){return new r({loc:e.loc,positional:n.empty(e.loc.collapse("end")),named:e})}nth(e){return this.positional.nth(e)}get(e){return this.named.get(e)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}t.Args=r;class n extends((0,K.node)().fields()){static empty(e){return new n({loc:e,exprs:[]})}get size(){return this.exprs.length}nth(e){return this.exprs[e]||null}isEmpty(){return 0===this.exprs.length}}t.PositionalArguments=n;class o extends((0,K.node)().fields()){static empty(e){return new o({loc:e,entries:[]})}get size(){return this.entries.length}get(e){let t=this.entries.filter((t=>t.name.chars===e))[0];return t?t.value:null}isEmpty(){return 0===this.entries.length}}t.NamedArguments=o;t.NamedArgument=class{constructor(e){this.loc=e.name.loc.extend(e.value.loc),this.name=e.name,this.value=e.value}}})),Y=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ElementModifier=t.ComponentArg=t.SplatAttr=t.HtmlAttr=void 0;class r extends((0,K.node)("HtmlAttr").fields()){}t.HtmlAttr=r;class n extends((0,K.node)("SplatAttr").fields()){}t.SplatAttr=n;class o extends((0,K.node)().fields()){toNamedArgument(){return new W.NamedArgument({name:this.name,value:this.value})}}t.ComponentArg=o;class i extends((0,K.node)("ElementModifier").fields()){}t.ElementModifier=i})),Q=Object.defineProperty({},"__esModule",{value:!0}),J=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.loc=i,t.hasSpan=a,t.maybeLoc=function(e,t){return a(e)?i(e):t},t.SpanList=void 0;var r,n=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)};class o{constructor(e=[]){r.set(this,void 0),function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");t.set(e,r)}(this,r,e)}static range(e,t=q.SourceSpan.NON_EXISTENT){return new o(e.map(i)).getRangeOffset(t)}add(e){n(this,r).push(e)}getRangeOffset(e){if(0===n(this,r).length)return e;{let e=n(this,r)[0],t=n(this,r)[n(this,r).length-1];return e.extend(t)}}}function i(e){if(Array.isArray(e)){let t=e[0],r=e[e.length-1];return i(t).extend(i(r))}return e instanceof q.SourceSpan?e:e.loc}function a(e){return!Array.isArray(e)||0!==e.length}t.SpanList=o,r=new WeakMap})),X=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleElement=t.InvokeComponent=t.InvokeBlock=t.AppendContent=t.HtmlComment=t.HtmlText=t.GlimmerComment=void 0;class r extends((0,K.node)("GlimmerComment").fields()){}t.GlimmerComment=r;class n extends((0,K.node)("HtmlText").fields()){}t.HtmlText=n;class o extends((0,K.node)("HtmlComment").fields()){}t.HtmlComment=o;class i extends((0,K.node)("AppendContent").fields()){get callee(){return"Call"===this.value.type?this.value.callee:this.value}get args(){return"Call"===this.value.type?this.value.args:W.Args.empty(this.value.loc.collapse("end"))}}t.AppendContent=i;class a extends((0,K.node)("InvokeBlock").fields()){}t.InvokeBlock=a;class s extends((0,K.node)("InvokeComponent").fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return W.Args.named(new W.NamedArguments({loc:J.SpanList.range(e,this.callee.loc.collapse("end")),entries:e}))}}t.InvokeComponent=s;class l extends((0,K.node)("SimpleElement").fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return W.Args.named(new W.NamedArguments({loc:J.SpanList.range(e,this.tag.loc.collapse("end")),entries:e}))}}t.SimpleElement=l})),Z=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isLiteral=function(e,t){return"Literal"===e.type&&(void 0===t||("null"===t?null===e.value:typeof e.value===t))},t.InterpolateExpression=t.DeprecatedCallExpression=t.CallExpression=t.PathExpression=t.LiteralExpression=void 0;class r extends((0,K.node)("Literal").fields()){toSlice(){return new D.SourceSlice({loc:this.loc,chars:this.value})}}t.LiteralExpression=r;class n extends((0,K.node)("Path").fields()){}t.PathExpression=n;class o extends((0,K.node)("Call").fields()){}t.CallExpression=o;class i extends((0,K.node)("DeprecatedCall").fields()){}t.DeprecatedCallExpression=i;class a extends((0,K.node)("Interpolate").fields()){}t.InterpolateExpression=a})),ee=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FreeVarReference=t.LocalVarReference=t.ArgReference=t.ThisReference=void 0;class r extends((0,K.node)("This").fields()){}t.ThisReference=r;class n extends((0,K.node)("Arg").fields()){}t.ArgReference=n;class o extends((0,K.node)("Local").fields()){}t.LocalVarReference=o;class i extends((0,K.node)("Free").fields()){}t.FreeVarReference=i})),te=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.NamedBlock=t.NamedBlocks=t.Block=t.Template=void 0;class r extends((0,K.node)().fields()){}t.Template=r;class n extends((0,K.node)().fields()){}t.Block=n;class o extends((0,K.node)().fields()){get(e){return this.blocks.filter((t=>t.name.chars===e))[0]||null}}t.NamedBlocks=o;class i extends((0,K.node)().fields()){get args(){let e=this.componentArgs.map((e=>e.toNamedArgument()));return W.Args.named(new W.NamedArguments({loc:J.SpanList.range(e,this.name.loc.collapse("end")),entries:e}))}}t.NamedBlock=i})),re=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(z).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return z[e]}})})),Object.keys(K).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return K[e]}})})),Object.keys(W).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return W[e]}})})),Object.keys(Y).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return Y[e]}})})),Object.keys(Q).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return Q[e]}})})),Object.keys(X).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return X[e]}})})),Object.keys(Z).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return Z[e]}})})),Object.keys(ee).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return ee[e]}})})),Object.keys(te).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return te[e]}})}))})),ne=function(e){return e&&e.Math==Math&&e},oe=ne("object"==typeof globalThis&&globalThis)||ne("object"==typeof window&&window)||ne("object"==typeof self&&self)||ne("object"==typeof e&&e)||function(){return this}()||Function("return this")(),ie=function(e){try{return!!e()}catch(e){return!0}},ae=!ie((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),se={}.propertyIsEnumerable,le=Object.getOwnPropertyDescriptor,ce={f:le&&!se.call({1:2},1)?function(e){var t=le(this,e);return!!t&&t.enumerable}:se},ue=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},he={}.toString,pe="".split,de=ie((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==function(e){return he.call(e).slice(8,-1)}(e)?pe.call(e,""):Object(e)}:Object,fe=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},me=function(e){return de(fe(e))},ge=function(e){return"object"==typeof e?null!==e:"function"==typeof e},be=function(e,t){if(!ge(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!ge(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!ge(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!ge(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},ye=function(e){return Object(fe(e))},ve={}.hasOwnProperty,Se=Object.hasOwn||function(e,t){return ve.call(ye(e),t)},ke=oe.document,we=ge(ke)&&ge(ke.createElement),Ee=!ae&&!ie((function(){return 7!=Object.defineProperty((e="div",we?ke.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),Pe=Object.getOwnPropertyDescriptor,Te={f:ae?Pe:function(e,t){if(e=me(e),t=be(t,!0),Ee)try{return Pe(e,t)}catch(e){}if(Se(e,t))return ue(!ce.f.call(e,t),e[t])}},xe=function(e){if(!ge(e))throw TypeError(String(e)+" is not an object");return e},Ne=Object.defineProperty,Oe={f:ae?Ne:function(e,t,r){if(xe(e),t=be(t,!0),xe(r),Ee)try{return Ne(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},Ae=ae?function(e,t,r){return Oe.f(e,t,ue(1,r))}:function(e,t,r){return e[t]=r,e},Ce=function(e,t){try{Ae(oe,e,t)}catch(r){oe[e]=t}return t},Le=oe["__core-js_shared__"]||Ce("__core-js_shared__",{}),_e=Function.toString;"function"!=typeof Le.inspectSource&&(Le.inspectSource=function(e){return _e.call(e)});var Be,De,Ie,Me,Re=Le.inspectSource,qe=oe.WeakMap,je="function"==typeof qe&&/native code/.test(Re(qe)),He=t((function(e){(e.exports=function(e,t){return Le[e]||(Le[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),Ve=0,Ue=Math.random(),$e=He("keys"),ze={},Fe=oe.WeakMap;if(je||Le.state){var Ge=Le.state||(Le.state=new Fe),Ke=Ge.get,We=Ge.has,Ye=Ge.set;Be=function(e,t){if(We.call(Ge,e))throw new TypeError("Object already initialized");return t.facade=e,Ye.call(Ge,e,t),t},De=function(e){return Ke.call(Ge,e)||{}},Ie=function(e){return We.call(Ge,e)}}else{var Qe=$e[Me="state"]||($e[Me]=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++Ve+Ue).toString(36)}(Me));ze[Qe]=!0,Be=function(e,t){if(Se(e,Qe))throw new TypeError("Object already initialized");return t.facade=e,Ae(e,Qe,t),t},De=function(e){return Se(e,Qe)?e[Qe]:{}},Ie=function(e){return Se(e,Qe)}}var Je,Xe,Ze={set:Be,get:De,has:Ie,enforce:function(e){return Ie(e)?De(e):Be(e,{})},getterFor:function(e){return function(t){var r;if(!ge(t)||(r=De(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},et=t((function(e){var t=Ze.get,r=Ze.enforce,n=String(String).split("String");(e.exports=function(e,t,o,i){var a,s=!!i&&!!i.unsafe,l=!!i&&!!i.enumerable,c=!!i&&!!i.noTargetGet;"function"==typeof o&&("string"!=typeof t||Se(o,"name")||Ae(o,"name",t),(a=r(o)).source||(a.source=n.join("string"==typeof t?t:""))),e!==oe?(s?!c&&e[t]&&(l=!0):delete e[t],l?e[t]=o:Ae(e,t,o)):l?e[t]=o:Ce(t,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||Re(this)}))})),tt=oe,rt=function(e){return"function"==typeof e?e:void 0},nt=function(e,t){return arguments.length<2?rt(tt[e])||rt(oe[e]):tt[e]&&tt[e][t]||oe[e]&&oe[e][t]},ot=Math.ceil,it=Math.floor,at=function(e){return isNaN(e=+e)?0:(e>0?it:ot)(e)},st=Math.min,lt=function(e){return e>0?st(at(e),9007199254740991):0},ct=Math.max,ut=Math.min,ht=function(e){return function(t,r,n){var o,i=me(t),a=lt(i.length),s=function(e,t){var r=at(e);return r<0?ct(r+t,0):ut(r,t)}(n,a);if(e&&r!=r){for(;a>s;)if((o=i[s++])!=o)return!0}else for(;a>s;s++)if((e||s in i)&&i[s]===r)return e||s||0;return!e&&-1}},pt={includes:ht(!0),indexOf:ht(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),ft={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=me(e),o=0,i=[];for(r in n)!Se(ze,r)&&Se(n,r)&&i.push(r);for(;t.length>o;)Se(n,r=t[o++])&&(~pt(i,r)||i.push(r));return i}(e,dt)}},mt={f:Object.getOwnPropertySymbols},gt=nt("Reflect","ownKeys")||function(e){var t=ft.f(xe(e)),r=mt.f;return r?t.concat(r(e)):t},bt=function(e,t){for(var r=gt(t),n=Oe.f,o=Te.f,i=0;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},At=function(e,t,r){for(var n=e.length,o=t.length,i=0,a=0,s=[];i=74)&&(Je=Lt.match(/Chrome\/(\d+)/))&&(Xe=Je[1]);var qt,jt,Ht=Xe&&+Xe,Vt=Lt.match(/AppleWebKit\/(\d+)\./),Ut=!!Vt&&+Vt[1],$t=[],zt=$t.sort,Ft=ie((function(){$t.sort(void 0)})),Gt=ie((function(){$t.sort(null)})),Kt=!!(jt=[]["sort"])&&ie((function(){jt.call(null,qt||function(){throw 1},1)})),Wt=!ie((function(){if(Ht)return Ht<70;if(!(Bt&&Bt>3)){if(Dt)return!0;if(Ut)return Ut<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)$t.push({k:t+n,v:r})}for($t.sort((function(e,t){return t.v-e.v})),n=0;n<$t.length;n++)t=$t[n].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));!function(e,t){var r,n,o,i,a,s=e.target,l=e.global,c=e.stat;if(r=l?oe:c?oe[s]||Ce(s,{}):(oe[s]||{}).prototype)for(n in t){if(i=t[n],o=e.noTargetGet?(a=Tt(r,n))&&a.value:r[n],!Pt(l?n:s+(c?".":"#")+n,e.forced)&&void 0!==o){if(typeof i==typeof o)continue;bt(i,o)}(e.sham||o&&o.sham)&&Ae(i,"sham",!0),et(r,n,i,e)}}({target:"Array",proto:!0,forced:Ft||!Gt||!Kt||!Wt},{sort:function(e){void 0!==e&&function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function")}(e);var t=ye(this);if(Wt)return void 0===e?zt.call(t):zt.call(t,e);var r,n,o=[],i=lt(t.length);for(n=0;nString(r)?1:-1}}(e))).length,n=0;n]/,tr=new RegExp(er.source,"g");function rr(e){switch(e.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return e}}function nr(e){switch(e.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return e}}var or=Object.defineProperty({escapeAttrValue:Yt,escapeText:Qt,sortByLoc:Jt},"__esModule",{value:!0}),ir=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.voidMap=void 0;const r=Object.create(null);t.voidMap=r;"area base br col command embed hr img input keygen link meta param source track wbr".split(" ").forEach((e=>{r[e]=!0}));const n=/\S/;t.default=class{constructor(e){this.buffer="",this.options=e}handledByOverride(e,t=!1){if(void 0!==this.options.override){let r=this.options.override(e,this.options);if("string"==typeof r)return t&&""!==r&&n.test(r[0])&&(r=` ${r}`),this.buffer+=r,!0}return!1}Node(e){switch(e.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(e);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(e);case"Program":return this.Block(e);case"ConcatStatement":return this.ConcatStatement(e);case"Hash":return this.Hash(e);case"HashPair":return this.HashPair(e);case"ElementModifierStatement":return this.ElementModifierStatement(e)}}Expression(e){switch(e.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(e);case"PathExpression":return this.PathExpression(e);case"SubExpression":return this.SubExpression(e)}}Literal(e){switch(e.type){case"StringLiteral":return this.StringLiteral(e);case"BooleanLiteral":return this.BooleanLiteral(e);case"NumberLiteral":return this.NumberLiteral(e);case"UndefinedLiteral":return this.UndefinedLiteral(e);case"NullLiteral":return this.NullLiteral(e)}}TopLevelStatement(e){switch(e.type){case"MustacheStatement":return this.MustacheStatement(e);case"BlockStatement":return this.BlockStatement(e);case"PartialStatement":return this.PartialStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":return this.CommentStatement(e);case"TextNode":return this.TextNode(e);case"ElementNode":return this.ElementNode(e);case"Block":case"Template":return this.Block(e);case"AttrNode":return this.AttrNode(e)}}Block(e){if(e.chained){e.body[0].chained=!0}this.handledByOverride(e)||this.TopLevelStatements(e.body)}TopLevelStatements(e){e.forEach((e=>this.TopLevelStatement(e)))}ElementNode(e){this.handledByOverride(e)||(this.OpenElementNode(e),this.TopLevelStatements(e.children),this.CloseElementNode(e))}OpenElementNode(e){this.buffer+=`<${e.tag}`;const t=[...e.attributes,...e.modifiers,...e.comments].sort(or.sortByLoc);for(const e of t)switch(this.buffer+=" ",e.type){case"AttrNode":this.AttrNode(e);break;case"ElementModifierStatement":this.ElementModifierStatement(e);break;case"MustacheCommentStatement":this.MustacheCommentStatement(e)}e.blockParams.length&&this.BlockParams(e.blockParams),e.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(e){e.selfClosing||r[e.tag.toLowerCase()]||(this.buffer+=``)}AttrNode(e){if(this.handledByOverride(e))return;let{name:t,value:r}=e;this.buffer+=t,("TextNode"!==r.type||r.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(r))}AttrNodeValue(e){"TextNode"===e.type?(this.buffer+='"',this.TextNode(e,!0),this.buffer+='"'):this.Node(e)}TextNode(e,t){this.handledByOverride(e)||("raw"===this.options.entityEncoding?this.buffer+=e.chars:this.buffer+=t?(0,or.escapeAttrValue)(e.chars):(0,or.escapeText)(e.chars))}MustacheStatement(e){this.handledByOverride(e)||(this.buffer+=e.escaped?"{{":"{{{",e.strip.open&&(this.buffer+="~"),this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.strip.close&&(this.buffer+="~"),this.buffer+=e.escaped?"}}":"}}}")}BlockStatement(e){this.handledByOverride(e)||(e.chained?(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=e.openStrip.open?"{{~#":"{{#",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.program.blockParams.length&&this.BlockParams(e.program.blockParams),e.chained?this.buffer+=e.inverseStrip.close?"~}}":"}}":this.buffer+=e.openStrip.close?"~}}":"}}",this.Block(e.program),e.inverse&&(e.inverse.chained||(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=e.inverseStrip.close?"~}}":"}}"),this.Block(e.inverse)),e.chained||(this.buffer+=e.closeStrip.open?"{{~/":"{{/",this.Expression(e.path),this.buffer+=e.closeStrip.close?"~}}":"}}"))}BlockParams(e){this.buffer+=` as |${e.join(" ")}|`}PartialStatement(e){this.handledByOverride(e)||(this.buffer+="{{>",this.Expression(e.name),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}ConcatStatement(e){this.handledByOverride(e)||(this.buffer+='"',e.parts.forEach((e=>{"TextNode"===e.type?this.TextNode(e,!0):this.Node(e)})),this.buffer+='"')}MustacheCommentStatement(e){this.handledByOverride(e)||(this.buffer+=`{{!--${e.value}--}}`)}ElementModifierStatement(e){this.handledByOverride(e)||(this.buffer+="{{",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}CommentStatement(e){this.handledByOverride(e)||(this.buffer+=`\x3c!--${e.value}--\x3e`)}PathExpression(e){this.handledByOverride(e)||(this.buffer+=e.original)}SubExpression(e){this.handledByOverride(e)||(this.buffer+="(",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+=")")}Params(e){e.length&&e.forEach((e=>{this.buffer+=" ",this.Expression(e)}))}Hash(e){this.handledByOverride(e,!0)||e.pairs.forEach((e=>{this.buffer+=" ",this.HashPair(e)}))}HashPair(e){this.handledByOverride(e)||(this.buffer+=e.key,this.buffer+="=",this.Node(e.value))}StringLiteral(e){this.handledByOverride(e)||(this.buffer+=JSON.stringify(e.value))}BooleanLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}NumberLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}UndefinedLiteral(e){this.handledByOverride(e)||(this.buffer+="undefined")}NullLiteral(e){this.handledByOverride(e)||(this.buffer+="null")}print(e){let{options:t}=this;if(t.override){let r=t.override(e,t);if(void 0!==r)return r}return this.buffer="",this.Node(e),this.buffer}}})),ar=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function sr(e,t){var r,n,o,i,a=t&&t.loc;a&&(r=a.start.line,n=a.end.line,o=a.start.column,i=a.end.column,e+=" - "+r+":"+o);for(var s=Error.prototype.constructor.call(this,e),l=0;lc&&P.push("'"+this.terminals_[k]+"'");N=p.showPosition?"Parse error on line "+(s+1)+":\n"+p.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(N,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:m,expected:P})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:r.push(b),n.push(p.yytext),o.push(p.yylloc),r.push(v[1]),b=null,l=p.yyleng,a=p.yytext,s=p.yylineno,m=p.yylloc;break;case 2:if(w=this.productions_[v[1]][1],x.$=n[n.length-w],x._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},g&&(x._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(x,[a,l,s,d.yy,v[1],n,o].concat(h))))return S;w&&(r=r.slice(0,-1*w*2),n=n.slice(0,-1*w),o=o.slice(0,-1*w)),r.push(this.productions_[v[1]][0]),n.push(x.$),o.push(x._$),E=i[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},I={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in o)this[i]=o[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),i=0;it[0].length)){if(t=r,n=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,o[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){function o(e,r){return t.yytext=t.yytext.substring(e,t.yyleng-r+e)}switch(r){case 0:if("\\\\"===t.yytext.slice(-2)?(o(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(o(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(o(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(t.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 72;case 25:case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;case 30:return this.popState(),33;case 31:return t.yytext=o(1,2).replace(/\\"/g,'"'),79;case 32:return t.yytext=o(1,2).replace(/\\'/g,"'"),79;case 33:return 84;case 34:case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return t.yytext=t.yytext.replace(/\\([\\\]])/g,"$1"),71;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};function M(){this.yy={}}return D.lexer=I,M.prototype=D,D.Parser=M,new M}();function yr(){this.padding=0}function vr(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new sr(e.path.original+" doesn't match "+t,r)}}function Sr(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}yr.prototype=new lr,yr.prototype.pad=function(e){for(var t="",r=0,n=this.padding;r "+t+" }}")},yr.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")},yr.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")},yr.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")},yr.prototype.SubExpression=function(e){for(var t,r=e.params,n=[],o=0,i=r.length;o0)throw new sr("Invalid path: "+n,{loc:r});".."===l&&i++}}return{type:"PathExpression",data:e,depth:i,parts:o,original:n,loc:r}},prepareMustache:function(e,t,r,n,o,i){var a=n.charAt(3)||n.charAt(2),s="{"!==a&&"&"!==a;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:s,strip:o,loc:this.locInfo(i)}},prepareRawBlock:function(e,t,r,n){vr(e,r);var o={type:"Program",body:t,strip:{},loc:n=this.locInfo(n)};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},prepareBlock:function(e,t,r,n,o,i){n&&n.path&&vr(e,n);var a,s,l=/\*/.test(e.open);if(t.blockParams=e.blockParams,r){if(l)throw new sr("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),s=r.strip,a=r.program}return o&&(o=a,a=t,t=o),{type:l?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:a,openStrip:e.strip,inverseStrip:s,closeStrip:n&&n.strip,loc:this.locInfo(i)}},prepareProgram:function(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}},preparePartialBlock:function(e,t,r,n){return vr(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}}),wr={};for(var Er in kr)Object.prototype.hasOwnProperty.call(kr,Er)&&(wr[Er]=kr[Er]);function Pr(e,t){return"Program"===e.type?e:(br.yy=wr,br.yy.locInfo=function(e){return new Sr(t&&t.srcName,e)},br.parse(e))}var Tr=Object.freeze({__proto__:null,Visitor:lr,WhitespaceControl:pr,parser:br,Exception:sr,print:function(e){return(new yr).accept(e)},PrintVisitor:yr,parse:function(e,t){var r=Pr(e,t);return new pr(t).accept(r)},parseWithoutProcessing:Pr}),xr={Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\ud835\udd04",afr:"\ud835\udd1e",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",amp:"&",AMP:"&",andand:"\u2a55",And:"\u2a53",and:"\u2227",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angmsd:"\u2221",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\ud835\udd38",aopf:"\ud835\udd52",apacir:"\u2a6f",ap:"\u2248",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\ud835\udc9c",ascr:"\ud835\udcb6",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\ud835\udd05",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\ud835\udd39",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250c",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252c",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxul:"\u2518",boxuL:"\u255b",boxUl:"\u255c",boxUL:"\u255d",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255a",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253c",boxvH:"\u256a",boxVh:"\u256b",boxVH:"\u256c",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251c",boxvR:"\u255e",boxVr:"\u255f",boxVR:"\u2560",bprime:"\u2035",breve:"\u02d8",Breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",Bscr:"\u212c",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsolb:"\u29c5",bsol:"\\",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",cap:"\u2229",Cap:"\u22d2",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",CenterDot:"\xb7",cfr:"\ud835\udd20",Cfr:"\u212d",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25cb",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",conint:"\u222e",Conint:"\u222f",ContourIntegral:"\u222e",copf:"\ud835\udd54",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xa9",COPY:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",cross:"\u2717",Cross:"\u2a2f",Cscr:"\ud835\udc9e",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cupbrcap:"\u2a48",cupcap:"\u2a46",CupCap:"\u224d",cup:"\u222a",Cup:"\u22d3",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21a1",dArr:"\u21d3",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21ca",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\ud835\udd07",dfr:"\ud835\udd21",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",diamond:"\u22c4",Diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\ud835\udd3b",dopf:"\ud835\udd55",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21d3",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21bd",DownRightTeeVector:"\u295f",DownRightVectorBar:"\u2957",DownRightVector:"\u21c1",DownTeeArrow:"\u21a7",DownTee:"\u22a4",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\ud835\udc9f",dscr:"\ud835\udcb9",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",Ecirc:"\xca",ecirc:"\xea",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\ud835\udd08",efr:"\ud835\udd22",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\ud835\udd3c",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",escr:"\u212f",Escr:"\u2130",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\ud835\udd09",ffr:"\ud835\udd23",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\ud835\udd3d",fopf:"\ud835\udd57",forall:"\u2200",ForAll:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",Fscr:"\u2131",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",gescc:"\u2aa9",ges:"\u2a7e",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\ud835\udd0a",gfr:"\ud835\udd24",gg:"\u226b",Gg:"\u22d9",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2aa5",gl:"\u2277",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gnE:"\u2269",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\ud835\udd3e",gopf:"\ud835\udd58",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gtcc:"\u2aa7",gtcir:"\u2a7a",gt:">",GT:">",Gt:"\u226b",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",harrcir:"\u2948",harr:"\u2194",hArr:"\u21d4",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",Hfr:"\u210c",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",Hopf:"\u210d",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\ud835\udcbd",Hscr:"\u210b",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",Ifr:"\u2111",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",incare:"\u2105",in:"\u2208",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",intcal:"\u22ba",int:"\u222b",Int:"\u222c",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",Iscr:"\u2110",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",lang:"\u27e8",Lang:"\u27ea",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",larrb:"\u21e4",larrbfs:"\u291f",larr:"\u2190",Larr:"\u219e",lArr:"\u21d0",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",latail:"\u2919",lAtail:"\u291b",lat:"\u2aab",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lBarr:"\u290e",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27e8",LeftArrowBar:"\u21e4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21d0",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21c3",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTeeArrow:"\u21a4",LeftTee:"\u22a3",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangleBar:"\u29cf",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21bf",LeftVectorBar:"\u2952",LeftVector:"\u21bc",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",lescc:"\u2aa8",les:"\u2a7d",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21c7",ll:"\u226a",Ll:"\u22d8",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoustache:"\u23b0",lmoust:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lnE:"\u2268",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftrightarrow:"\u27f7",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longmapsto:"\u27fc",longrightarrow:"\u27f6",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",Lscr:"\u2112",lsh:"\u21b0",Lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",lt:"<",LT:"<",Lt:"\u226a",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midast:"*",midcir:"\u2af0",mid:"\u2223",middot:"\xb7",minusb:"\u229f",minus:"\u2212",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",Mscr:"\u2133",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266e",naturals:"\u2115",natur:"\u266e",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21d7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nharr:"\u21ae",nhArr:"\u21ce",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlarr:"\u219a",nlArr:"\u21cd",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219a",nLeftarrow:"\u21cd",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nopf:"\ud835\udd5f",Nopf:"\u2115",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",nprec:"\u2280",npreceq:"\u2aaf\u0338",npre:"\u2aaf\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219b",nrArr:"\u21cf",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nRightarrow:"\u21cf",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21d6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",Ocirc:"\xd4",ocirc:"\xf4",ocir:"\u229a",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",orarr:"\u21bb",Or:"\u2a54",or:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",otimesas:"\u2a36",Otimes:"\u2a37",otimes:"\u2297",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",para:"\xb6",parallel:"\u2225",par:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plus:"+",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",popf:"\ud835\udd61",Popf:"\u2119",pound:"\xa3",prap:"\u2ab7",Pr:"\u2abb",pr:"\u227a",prcue:"\u227c",precapprox:"\u2ab7",prec:"\u227a",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",pre:"\u2aaf",prE:"\u2ab3",precsim:"\u227e",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportional:"\u221d",Proportion:"\u2237",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",Qopf:"\u211a",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',QUOT:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",Rang:"\u27eb",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21a0",rArr:"\u21d2",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",rAtail:"\u291c",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rBarr:"\u290f",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",Re:"\u211c",rect:"\u25ad",reg:"\xae",REG:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",Rfr:"\u211c",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrowBar:"\u21e5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21d2",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVectorBar:"\u2955",RightDownVector:"\u21c2",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTeeArrow:"\u21a6",RightTee:"\u22a2",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangleBar:"\u29d0",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVectorBar:"\u2954",RightUpVector:"\u21be",RightVectorBar:"\u2953",RightVector:"\u21c0",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoustache:"\u23b1",rmoust:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",Ropf:"\u211d",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",rscr:"\ud835\udcc7",Rscr:"\u211b",rsh:"\u21b1",Rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2abc",sc:"\u227b",sccue:"\u227d",sce:"\u2ab0",scE:"\u2ab4",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdotb:"\u22a1",sdot:"\u22c5",sdote:"\u2a66",searhk:"\u2925",searr:"\u2198",seArr:"\u21d8",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",solbar:"\u233f",solb:"\u29c4",sol:"/",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25a1",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squ:"\u25a1",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",Sub:"\u22d0",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",Subset:"\u22d0",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succapprox:"\u2ab8",succ:"\u227b",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",sum:"\u2211",Sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",Sup:"\u22d1",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",Supset:"\u22d1",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21d9",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",tilde:"\u02dc",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2a31",timesb:"\u22a0",times:"\xd7",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",topbot:"\u2336",topcir:"\u2af1",top:"\u22a4",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",uarr:"\u2191",Uarr:"\u219f",uArr:"\u21d1",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21d1",UpArrowDownArrow:"\u21c5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21d5",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03c5",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTeeArrow:"\u21a5",UpTee:"\u22a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",vArr:"\u21d5",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vBar:"\u2ae8",Vbar:"\u2aeb",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22a2",vDash:"\u22a8",Vdash:"\u22a9",VDash:"\u22ab",Vdashl:"\u2ae6",veebar:"\u22bb",vee:"\u2228",Vee:"\u22c1",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",Wedge:"\u22c0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xharr:"\u27f7",xhArr:"\u27fa",Xi:"\u039e",xi:"\u03be",xlarr:"\u27f5",xlArr:"\u27f8",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrarr:"\u27f6",xrArr:"\u27f9",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",yuml:"\xff",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",zfr:"\ud835\udd37",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",Zopf:"\u2124",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},Nr=/^#[xX]([A-Fa-f0-9]+)$/,Or=/^#([0-9]+)$/,Ar=/^([A-Za-z0-9]+)$/,Cr=function(){function e(e){this.named=e}return e.prototype.parse=function(e){if(e){var t=e.match(Nr);return t?String.fromCharCode(parseInt(t[1],16)):(t=e.match(Or))?String.fromCharCode(parseInt(t[1],10)):(t=e.match(Ar))?this.named[t[1]]:void 0}},e}(),Lr=/[\t\n\f ]/,_r=/[A-Za-z]/,Br=/\r\n?/g;function Dr(e){return Lr.test(e)}function Ir(e){return _r.test(e)}var Mr=function(){function e(e,t,r){void 0===r&&(r="precompile"),this.delegate=e,this.entityParser=t,this.mode=r,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var e=this.peek();if("<"!==e||this.isIgnoredEndTag()){if("precompile"===this.mode&&"\n"===e){var t=this.tagNameBuffer.toLowerCase();"pre"!==t&&"textarea"!==t||this.consume()}this.transitionTo("data"),this.delegate.beginData()}else this.transitionTo("tagOpen"),this.markTagStart(),this.consume()},data:function(){var e=this.peek(),t=this.tagNameBuffer;"<"!==e||this.isIgnoredEndTag()?"&"===e&&"script"!==t&&"style"!==t?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(e)):(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume())},tagOpen:function(){var e=this.consume();"!"===e?this.transitionTo("markupDeclarationOpen"):"/"===e?this.transitionTo("endTagOpen"):("@"===e||":"===e||Ir(e))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(e))},markupDeclarationOpen:function(){var e=this.consume();"-"===e&&"-"===this.peek()?(this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment()):"DOCTYPE"===e.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase()&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())},doctype:function(){Dr(this.consume())&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var e=this.consume();Dr(e)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase()))},doctypeName:function(){var e=this.consume();Dr(e)?this.transitionTo("afterDoctypeName"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase())},afterDoctypeName:function(){var e=this.consume();if(!Dr(e))if(">"===e)this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var t=e.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),r="PUBLIC"===t.toUpperCase(),n="SYSTEM"===t.toUpperCase();(r||n)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),r?this.transitionTo("afterDoctypePublicKeyword"):n&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var e=this.peek();Dr(e)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):'"'===e?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):"'"===e?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):">"===e&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},doctypePublicIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},afterDoctypePublicIdentifier:function(){var e=this.consume();Dr(e)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var e=this.consume();Dr(e)||(">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},doctypeSystemIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},afterDoctypeSystemIdentifier:function(){var e=this.consume();Dr(e)||">"===e&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var e=this.consume();"-"===e?this.transitionTo("commentStartDash"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(e),this.transitionTo("comment"))},commentStartDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var e=this.consume();"-"===e?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(e)},commentEndDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+e),this.transitionTo("comment"))},commentEnd:function(){var e=this.consume();">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+e),this.transitionTo("comment"))},tagName:function(){var e=this.consume();Dr(e)?this.transitionTo("beforeAttributeName"):"/"===e?this.transitionTo("selfClosingStartTag"):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(e)},endTagName:function(){var e=this.consume();Dr(e)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):"/"===e?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(e)},beforeAttributeName:function(){var e=this.peek();Dr(e)?this.consume():"/"===e?(this.transitionTo("selfClosingStartTag"),this.consume()):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):"="===e?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var e=this.peek();Dr(e)?(this.transitionTo("afterAttributeName"),this.consume()):"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.transitionTo("beforeAttributeValue"),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):'"'===e||"'"===e||"<"===e?(this.delegate.reportSyntaxError(e+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(e)):(this.consume(),this.delegate.appendToAttributeName(e))},afterAttributeName:function(){var e=this.peek();Dr(e)?this.consume():"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.consume(),this.transitionTo("beforeAttributeValue")):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e))},beforeAttributeValue:function(){var e=this.peek();Dr(e)?this.consume():'"'===e?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):"'"===e?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(e))},attributeValueDoubleQuoted:function(){var e=this.consume();'"'===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueSingleQuoted:function(){var e=this.consume();"'"===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueUnquoted:function(){var e=this.peek();Dr(e)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"&"===e?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):">"===e?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(e))},afterAttributeValueQuoted:function(){var e=this.peek();Dr(e)?(this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.consume(),this.transitionTo("selfClosingStartTag")):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){">"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var e=this.consume();("@"===e||":"===e||Ir(e))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(e))}},this.reset()}return e.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},e.prototype.transitionTo=function(e){this.state=e},e.prototype.tokenize=function(e){this.reset(),this.tokenizePart(e),this.tokenizeEOF()},e.prototype.tokenizePart=function(e){for(this.input+=function(e){return e.replace(Br,"\n")}(e);this.index"!==this.input.substring(this.index,this.index+8)||"style"===e&&""!==this.input.substring(this.index,this.index+8)||"script"===e&&"<\/script>"!==this.input.substring(this.index,this.index+9)},e}(),Rr=function(){function e(e,t){void 0===t&&(t={}),this.options=t,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new Mr(this,e,t.mode),this._currentAttribute=void 0}return e.prototype.tokenize=function(e){return this.tokens=[],this.tokenizer.tokenize(e),this.tokens},e.prototype.tokenizePart=function(e){return this.tokens=[],this.tokenizer.tokenizePart(e),this.tokens},e.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},e.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},e.prototype.current=function(){var e=this.token;if(null===e)throw new Error("token was unexpectedly null");if(0===arguments.length)return e;for(var t=0;t0&&this.locals.filter((e=>!this.usedLocals[e]))}};class i extends o{constructor(e,t){super(e),this.parent=t}useLocal(e){let t=r(e);t&&t in this.usedLocals?this.usedLocals[t]=!0:this.parent.useLocal(e)}isLocal(e){return-1!==this.locals.indexOf(e)||this.parent.isLocal(e)}currentUnusedLocals(){return!this.hasPartial&&this.locals.length>0&&!this.usedLocals[this.locals[this.locals.length-1]]&&[this.locals[this.locals.length-1]]}}})),Wr=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(Kr);t.default=class{constructor(e,t=null,n=null){this.node=e,this.parent=t,this.parentKey=n,this.scope=t?t.scope.child(e):new r.default(e),"PathExpression"===e.type&&this.scope.useLocal(e),"ElementNode"===e.type&&(this.scope.useLocal(e),e.children.forEach((e=>this.scope.useLocal(e))))}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new n(this)}}};class n{constructor(e){this.path=e}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}})),Yr=function(e,t){let r=new Jr.default(e);tn(t,r)},Qr=Xr(Fr),Jr=Xr(Wr);function Xr(e){return e&&e.__esModule?e:{default:e}}function Zr(e){return"function"==typeof e?e:e.enter}function en(e){return"function"==typeof e?void 0:e.exit}function tn(e,t){let r,n,o,{node:i,parent:a,parentKey:s}=t,l=function(e,t){if(("Template"===t||"Block"===t)&&e.Program)return e.Program;let r=e[t];return void 0!==r?r:e.All}(e,i.type);if(void 0!==l&&(r=Zr(l),n=en(l)),void 0!==r&&(o=r(i,t)),null!=o){if(JSON.stringify(i)!==JSON.stringify(o)){if(Array.isArray(o))return on(e,o,a,s),o;return tn(e,new Jr.default(o,a,s))||o}o=void 0}if(void 0===o){let r=Qr.default[i.type];for(let n=0;n0&&"|"===r[r.length-1].charAt(0))throw(0,zr.generateSyntaxError)("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",e.loc);if(-1!==n&&t>n&&"|"===r[n+1].charAt(0)){let o=r.slice(n).join(" ");if("|"!==o.charAt(o.length-1)||2!==o.match(/\|/g).length)throw(0,zr.generateSyntaxError)("Invalid block parameters syntax, '"+o+"'",e.loc);let i=[];for(let o=n+1;o@\[-\^`\{-~]/;function bn(e){switch(e.type){case"Block":case"Template":return e.body;case"ElementNode":return e.children}}var yn=Object.defineProperty({parseElementBlockParams:cn,childrenFor:un,appendChild:hn,isHBSLiteral:pn,printLiteral:dn,isUpperCase:fn,isLowerCase:mn},"__esModule",{value:!0}),vn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r={close:!1,open:!1};var n=new class{pos(e,t){return{line:e,column:t}}blockItself({body:e,blockParams:t,chained:r=!1,loc:n}){return{type:"Block",body:e||[],blockParams:t||[],chained:r,loc:n}}template({body:e,blockParams:t,loc:r}){return{type:"Template",body:e||[],blockParams:t||[],loc:r}}mustache({path:e,params:t,hash:n,trusting:o,loc:i,strip:a=r}){return{type:"MustacheStatement",path:e,params:t,hash:n,escaped:!o,trusting:o,loc:i,strip:a||{open:!1,close:!1}}}block({path:e,params:t,hash:n,defaultBlock:o,elseBlock:i=null,loc:a,openStrip:s=r,inverseStrip:l=r,closeStrip:c=r}){return{type:"BlockStatement",path:e,params:t,hash:n,program:o,inverse:i,loc:a,openStrip:s,inverseStrip:l,closeStrip:c}}comment(e,t){return{type:"CommentStatement",value:e,loc:t}}mustacheComment(e,t){return{type:"MustacheCommentStatement",value:e,loc:t}}concat(e,t){return{type:"ConcatStatement",parts:e,loc:t}}element({tag:e,selfClosing:t,attrs:r,blockParams:n,modifiers:o,comments:i,children:a,loc:s}){return{type:"ElementNode",tag:e,selfClosing:t,attributes:r||[],blockParams:n||[],modifiers:o||[],comments:i||[],children:a||[],loc:s}}elementModifier({path:e,params:t,hash:r,loc:n}){return{type:"ElementModifierStatement",path:e,params:t,hash:r,loc:n}}attr({name:e,value:t,loc:r}){return{type:"AttrNode",name:e,value:t,loc:r}}text({chars:e,loc:t}){return{type:"TextNode",chars:e,loc:t}}sexpr({path:e,params:t,hash:r,loc:n}){return{type:"SubExpression",path:e,params:t,hash:r,loc:n}}path({head:e,tail:t,loc:r}){let{original:n}=function(e){switch(e.type){case"AtHead":return{original:e.name,parts:[e.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:e.name,parts:[e.name]}}}(e),o=[...n,...t].join(".");return new H.PathExpressionImplV1(o,e,t,r)}head(e,t){return"@"===e[0]?this.atName(e,t):"this"===e?this.this(t):this.var(e,t)}this(e){return{type:"ThisHead",loc:e}}atName(e,t){return{type:"AtHead",name:e,loc:t}}var(e,t){return{type:"VarHead",name:e,loc:t}}hash(e,t){return{type:"Hash",pairs:e||[],loc:t}}pair({key:e,value:t,loc:r}){return{type:"HashPair",key:e,value:t,loc:r}}literal({type:e,value:t,loc:r}){return{type:e,value:t,original:t,loc:r}}undefined(){return this.literal({type:"UndefinedLiteral",value:void 0})}null(){return this.literal({type:"NullLiteral",value:null})}string(e,t){return this.literal({type:"StringLiteral",value:e,loc:t})}boolean(e,t){return this.literal({type:"BooleanLiteral",value:e,loc:t})}number(e,t){return this.literal({type:"NumberLiteral",value:e,loc:t})}};t.default=n})),Sn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;t.Parser=class{constructor(e,t=new jr.EntityParser(jr.HTML5NamedCharRefs),r="precompile"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=e,this.lines=e.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new jr.EventedTokenizer(this,t,r)}offset(){let{line:e,column:t}=this.tokenizer;return this.source.offsetFor(e,t)}pos({line:e,column:t}){return this.source.offsetFor(e,t)}finish(e){return(0,_.assign)({},e,{loc:e.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(e){return this[e.type](e)}acceptNode(e){return this[e.type](e)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(e,t){let r,n,o,i=e.loc.start.line-1,a=i-1,s=e.loc.start.column,l=[];for(t?(n=t.loc.end.line-1,o=t.loc.end.column):(n=e.loc.end.line-1,o=e.loc.end.column);ae.acceptNode(t))):[],o=n.length>0?n[n.length-1].loc:r.loc;return{path:r,params:n,hash:t.hash?e.Hash(t.hash):{type:"Hash",pairs:[],loc:e.source.spanFor(o).collapse("end")}}}function i(e,t){let{path:n,params:o,hash:i,loc:a}=t;if((0,yn.isHBSLiteral)(n)){let r=`{{${(0,yn.printLiteral)(n)}}}`,o=`<${e.name} ... ${r} ...`;throw(0,zr.generateSyntaxError)(`In ${o}, ${r} is not a valid modifier`,t.loc)}let s=r.default.elementModifier({path:n,params:o,hash:i,loc:a});e.modifiers.push(s)}t.HandlebarsNodeVisitors=n})),wn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.preprocess=h,t.TokenizerEventHandlers=void 0;var r=s(Ur),n=s(sn),o=s(ln),i=s(vn),a=s(V);function s(e){return e&&e.__esModule?e:{default:e}}class l extends kn.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=i.default.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(e){this.currentComment.value+=e}finishComment(){(0,yn.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=i.default.text({chars:"",loc:this.offset().collapsed()})}appendToData(e){this.currentData.chars+=e}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,yn.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let e=this.finish(this.currentTag);if("StartTag"===e.type){if(this.finishStartTag(),":"===e.name)throw(0,zr.generateSyntaxError)("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(ir.voidMap[e.name]||e.selfClosing)&&this.finishEndTag(!0)}else"EndTag"===e.type&&this.finishEndTag(!1)}finishStartTag(){let{name:e,attributes:t,modifiers:r,comments:n,selfClosing:o,loc:a}=this.finish(this.currentStartTag),s=i.default.element({tag:e,selfClosing:o,attrs:t,modifiers:r,comments:n,children:[],blockParams:[],loc:a});this.elementStack.push(s)}finishEndTag(e){let t=this.finish(this.currentTag),r=this.elementStack.pop(),n=this.currentElement();this.validateEndTag(t,r,e),r.loc=r.loc.withEnd(this.offset()),(0,yn.parseElementBlockParams)(r),(0,yn.appendChild)(n,r)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(e){this.currentTag.name+=e}beginAttribute(){let e=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:e,valueSpan:e.collapsed()}}appendToAttributeName(e){this.currentAttr.name+=e}beginAttributeValue(e){this.currentAttr.isQuoted=e,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(e){let t=this.currentAttr.parts,r=t[t.length-1],n=this.currentAttr.currentPart;if(n)n.chars+=e,n.loc=n.loc.withEnd(this.offset());else{let t=this.offset();t="\n"===e?r?r.loc.getEnd():this.currentAttr.valueSpan.getStart():t.move(-1),this.currentAttr.currentPart=i.default.text({chars:e,loc:t.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let e=this.currentTag,t=this.offset();if("EndTag"===e.type)throw(0,zr.generateSyntaxError)("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:e.loc.toJSON(),end:t.toJSON()}));let{name:r,parts:n,start:o,isQuoted:a,isDynamic:s,valueSpan:l}=this.currentAttr,c=this.assembleAttributeValue(n,a,s,o.until(t));c.loc=l.withEnd(t);let u=i.default.attr({name:r,value:c,loc:o.until(t)});this.currentStartTag.attributes.push(u)}reportSyntaxError(e){throw(0,zr.generateSyntaxError)(e,this.offset().collapsed())}assembleConcatenatedValue(e){for(let t=0;t elements do not need end tags. You should remove it`:void 0===t.tag?n=`Closing tag without an open tag`:t.tag!==e.name&&(n=`Closing tag did not match last open tag <${t.tag}> (on line ${t.loc.startPosition.line})`),n)throw(0,zr.generateSyntaxError)(n,e.loc)}assembleAttributeValue(e,t,r,n){if(r){if(t)return this.assembleConcatenatedValue(e);if(1===e.length||2===e.length&&"TextNode"===e[1].type&&"/"===e[1].chars)return e[0];throw(0,zr.generateSyntaxError)("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",n)}return e.length>0?e[0]:i.default.text({chars:"",loc:n})}}t.TokenizerEventHandlers=l;const c={parse:h,builders:a.default,print:r.default,traverse:n.default,Walker:o.default};class u extends jr.EntityParser{constructor(){super({})}parse(){}}function h(e,t={}){var r,o,i;let a,s,h,p=t.mode||"precompile";"string"==typeof e?(a=new j.Source(e,null===(r=t.meta)||void 0===r?void 0:r.moduleName),s="codemod"===p?(0,Tr.parseWithoutProcessing)(e,t.parseOptions):(0,Tr.parse)(e,t.parseOptions)):e instanceof j.Source?(a=e,s="codemod"===p?(0,Tr.parseWithoutProcessing)(e.source,t.parseOptions):(0,Tr.parse)(e.source,t.parseOptions)):(a=new j.Source("",null===(o=t.meta)||void 0===o?void 0:o.moduleName),s=e),"codemod"===p&&(h=new u);let d=q.SourceSpan.forCharPositions(a,0,a.source.length);s.loc={source:"(program)",start:d.startPosition,end:d.endPosition};let f=new l(a,h,p).acceptTemplate(s);if(t.strictMode&&(f.blockParams=null!==(i=t.locals)&&void 0!==i?i:[]),t&&t.plugins&&t.plugins.ast)for(let e=0,r=t.plugins.ast.length;ethis.allocate(e)));return new i(this,e,t)}}t.SymbolTable=n;class o extends n{constructor(e,t){super(),this.templateLocals=e,this.customizeComponentName=t,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,_.dict)(),this.blocks=(0,_.dict)(),this.usedTemplateLocals=[],r.set(this,!1)}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){!function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");t.set(e,r)}(this,r,!0)}get hasEval(){return function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}(this,r)}has(e){return-1!==this.templateLocals.indexOf(e)}get(e){let t=this.usedTemplateLocals.indexOf(e);return-1!==t||(t=this.usedTemplateLocals.length,this.usedTemplateLocals.push(e)),[t,!0]}getLocalsMap(){return(0,_.dict)()}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map((t=>e[t]))}allocateFree(e,t){39===t.resolution()&&t.isAngleBracket&&(0,yn.isUpperCase)(e)&&(e=this.customizeComponentName(e));let r=this.upvars.indexOf(e);return-1!==r||(r=this.upvars.length,this.upvars.push(e)),r}allocateNamed(e){let t=this.named[e];return t||(t=this.named[e]=this.allocate(e)),t}allocateBlock(e){"inverse"===e&&(e="else");let t=this.blocks[e];return t||(t=this.blocks[e]=this.allocate(`&${e}`)),t}allocate(e){return this.symbols.push(e),this.size++}}t.ProgramSymbolTable=o,r=new WeakMap;class i extends n{constructor(e,t,r){super(),this.parent=e,this.symbols=t,this.slots=r}get locals(){return this.symbols}has(e){return-1!==this.symbols.indexOf(e)||this.parent.has(e)}get(e){let t=this.symbols.indexOf(e);return-1===t?this.parent.get(e):[this.slots[t],!1]}getLocalsMap(){let e=this.parent.getLocalsMap();return this.symbols.forEach((t=>e[t]=this.get(t)[0])),e}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map((t=>e[t]))}setHasEval(){this.parent.setHasEval()}allocateFree(e,t){return this.parent.allocateFree(e,t)}allocateNamed(e){return this.parent.allocateNamed(e)}allocateBlock(e){return this.parent.allocateBlock(e)}allocate(e){return this.parent.allocate(e)}}t.BlockSymbolTable=i})),Pn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BuildElement=t.Builder=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(re);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}class o{template(e,t,n){return new r.Template({table:e,body:t,loc:n})}block(e,t,n){return new r.Block({scope:e,body:t,loc:n})}namedBlock(e,t,n){return new r.NamedBlock({name:e,block:t,attrs:[],componentArgs:[],modifiers:[],loc:n})}simpleNamedBlock(e,t,r){return new i({selfClosing:!1,attrs:[],componentArgs:[],modifiers:[],comments:[]}).named(e,t,r)}slice(e,t){return new D.SourceSlice({loc:t,chars:e})}args(e,t,n){return new r.Args({loc:n,positional:e,named:t})}positional(e,t){return new r.PositionalArguments({loc:t,exprs:e})}namedArgument(e,t){return new r.NamedArgument({name:e,value:t})}named(e,t){return new r.NamedArguments({loc:t,entries:e})}attr({name:e,value:t,trusting:n},o){return new r.HtmlAttr({loc:o,name:e,value:t,trusting:n})}splatAttr(e,t){return new r.SplatAttr({symbol:e,loc:t})}arg({name:e,value:t,trusting:n},o){return new r.ComponentArg({name:e,value:t,trusting:n,loc:o})}path(e,t,n){return new r.PathExpression({loc:n,ref:e,tail:t})}self(e){return new r.ThisReference({loc:e})}at(e,t,n){return new r.ArgReference({loc:n,name:new D.SourceSlice({loc:n,chars:e}),symbol:t})}freeVar({name:e,context:t,symbol:n,loc:o}){return new r.FreeVarReference({name:e,resolution:t,symbol:n,loc:o})}localVar(e,t,n,o){return new r.LocalVarReference({loc:o,name:e,isTemplateLocal:n,symbol:t})}sexp(e,t){return new r.CallExpression({loc:t,callee:e.callee,args:e.args})}deprecatedCall(e,t,n){return new r.DeprecatedCallExpression({loc:n,arg:e,callee:t})}interpolate(e,t){return(0,_.assertPresent)(e),new r.InterpolateExpression({loc:t,parts:e})}literal(e,t){return new r.LiteralExpression({loc:t,value:e})}append({table:e,trusting:t,value:n},o){return new r.AppendContent({table:e,trusting:t,value:n,loc:o})}modifier({callee:e,args:t},n){return new r.ElementModifier({loc:n,callee:e,args:t})}namedBlocks(e,t){return new r.NamedBlocks({loc:t,blocks:e})}blockStatement(e,t){var{symbols:n,program:o,inverse:i=null}=e,a=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o0||e.hash.pairs.length>0}var Mn=Object.defineProperty({SexpSyntaxContext:Tn,ModifierSyntaxContext:xn,BlockSyntaxContext:Nn,ComponentSyntaxContext:On,AttrValueSyntaxContext:An,AppendSyntaxContext:Cn},"__esModule",{value:!0}),Rn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=function(e,t={}){var r;let n=(0,wn.preprocess)(e,t),o=(0,_.assign)({strictMode:!1,locals:[]},t),i=En.SymbolTable.top(o.strictMode?o.locals:[],null!==(r=t.customizeComponentName)&&void 0!==r?r:e=>e),a=new s(e,o,i),l=new c(a),u=new p(a.loc(n.loc),n.body.map((e=>l.normalize(e))),a).assertTemplate(i),h=i.getUsedTemplateLocals();return[u,h]},t.BlockContext=void 0;var r=a(ir),n=a(vn),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(re);function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}class s{constructor(e,t,r){this.source=e,this.options=t,this.table=r,this.builder=new Pn.Builder}get strict(){return this.options.strictMode||!1}loc(e){return this.source.spanFor(e)}resolutionFor(e,t){if(this.strict)return{resolution:o.STRICT_RESOLUTION};if(this.isFreeVar(e)){let r=t(e);return null===r?{resolution:"error",path:m(e),head:g(e)}:{resolution:r}}return{resolution:o.STRICT_RESOLUTION}}isFreeVar(e){return"PathExpression"===e.type?"VarHead"===e.head.type&&!this.table.has(e.head.name):"PathExpression"===e.path.type&&this.isFreeVar(e.path)}hasBinding(e){return this.table.has(e)}child(e){return new s(this.source,this.options,this.table.child(e))}customizeComponentName(e){return this.options.customizeComponentName?this.options.customizeComponentName(e):e}}t.BlockContext=s;class l{constructor(e){this.block=e}normalize(e,t){switch(e.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(e.value,this.block.loc(e.loc));case"PathExpression":return this.path(e,t);case"SubExpression":{let t=this.block.resolutionFor(e,Mn.SexpSyntaxContext);if("error"===t.resolution)throw(0,zr.generateSyntaxError)(`You attempted to invoke a path (\`${t.path}\`) but ${t.head} was not in scope`,e.loc);return this.block.builder.sexp(this.callParts(e,t.resolution),this.block.loc(e.loc))}}}path(e,t){let r=[],n=this.block.loc(e.head.loc);for(let t of e.tail)n=n.sliceStartChars({chars:t.length,skipStart:1}),r.push(new D.SourceSlice({loc:n,chars:t}));return this.block.builder.path(this.ref(e.head,t),r,this.block.loc(e.loc))}callParts(e,t){let{path:r,params:n,hash:i}=e,a=this.normalize(r,t),s=n.map((e=>this.normalize(e,o.ARGUMENT_RESOLUTION))),l=J.SpanList.range(s,a.loc.collapse("end")),c=this.block.loc(i.loc),u=J.SpanList.range([l,c]),h=this.block.builder.positional(n.map((e=>this.normalize(e,o.ARGUMENT_RESOLUTION))),l),p=this.block.builder.named(i.pairs.map((e=>this.namedArgument(e))),this.block.loc(i.loc));return{callee:a,args:this.block.builder.args(h,p,u)}}namedArgument(e){let t=this.block.loc(e.loc).sliceStartChars({chars:e.key.length});return this.block.builder.namedArgument(new D.SourceSlice({chars:e.key,loc:t}),this.normalize(e.value,o.ARGUMENT_RESOLUTION))}ref(e,t){let{block:r}=this,{builder:n,table:i}=r,a=r.loc(e.loc);switch(e.type){case"ThisHead":return n.self(a);case"AtHead":{let t=i.allocateNamed(e.name);return n.at(e.name,t,a)}case"VarHead":if(r.hasBinding(e.name)){let[t,n]=i.get(e.name);return r.builder.localVar(e.name,t,n,a)}{let n=r.strict?o.STRICT_RESOLUTION:t,i=r.table.allocateFree(e.name,n);return r.builder.freeVar({name:e.name,context:n,symbol:i,loc:a})}}}}class c{constructor(e){this.block=e}normalize(e){switch(e.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(e);case"ElementNode":return new u(this.block).ElementNode(e);case"MustacheStatement":return this.MustacheStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":{let t=this.block.loc(e.loc);return new o.HtmlComment({loc:t,text:t.slice({skipStart:4,skipEnd:3}).toSlice(e.value)})}case"TextNode":return new o.HtmlText({loc:this.block.loc(e.loc),chars:e.chars})}}MustacheCommentStatement(e){let t,r=this.block.loc(e.loc);return t="{{!--"===r.asString().slice(0,5)?r.slice({skipStart:5,skipEnd:4}):r.slice({skipStart:3,skipEnd:2}),new o.GlimmerComment({loc:r,text:t.toSlice(e.value)})}MustacheStatement(e){let{escaped:t}=e,r=this.block.loc(e.loc),n=this.expr.callParts({path:e.path,params:e.params,hash:e.hash},(0,Mn.AppendSyntaxContext)(e)),o=n.args.isEmpty()?n.callee:this.block.builder.sexp(n,r);return this.block.builder.append({table:this.block.table,trusting:!t,value:o},r)}BlockStatement(e){let{program:t,inverse:r}=e,n=this.block.loc(e.loc),o=this.block.resolutionFor(e,Mn.BlockSyntaxContext);if("error"===o.resolution)throw(0,zr.generateSyntaxError)(`You attempted to invoke a path (\`{{#${o.path}}}\`) but ${o.head} was not in scope`,n);let i=this.expr.callParts(e,o.resolution);return this.block.builder.blockStatement((0,_.assign)({symbols:this.block.table,program:this.Block(t),inverse:r?this.Block(r):null},i),n)}Block({body:e,loc:t,blockParams:r}){let n=this.block.child(r),o=new c(n);return new d(this.block.loc(t),e.map((e=>o.normalize(e))),this.block).assertBlock(n.table)}get expr(){return new l(this.block)}}class u{constructor(e){this.ctx=e}ElementNode(e){let{tag:t,selfClosing:r,comments:n}=e,o=this.ctx.loc(e.loc),[i,...a]=t.split("."),s=this.classifyTag(i,a,e.loc),l=e.attributes.filter((e=>"@"!==e.name[0])).map((e=>this.attr(e))),u=e.attributes.filter((e=>"@"===e.name[0])).map((e=>this.arg(e))),h=e.modifiers.map((e=>this.modifier(e))),p=this.ctx.child(e.blockParams),d=new c(p),m=e.children.map((e=>d.normalize(e))),g=this.ctx.builder.element({selfClosing:r,attrs:l,componentArgs:u,modifiers:h,comments:n.map((e=>new c(this.ctx).MustacheCommentStatement(e)))}),b=new f(g,o,m,this.ctx),y=this.ctx.loc(e.loc).sliceStartChars({chars:t.length,skipStart:1});if("ElementHead"===s)return":"===t[0]?b.assertNamedBlock(y.slice({skipStart:1}).toSlice(t.slice(1)),p.table):b.assertElement(y.toSlice(t),e.blockParams.length>0);if(e.selfClosing)return g.selfClosingComponent(s,o);{let r=b.assertComponent(t,p.table,e.blockParams.length>0);return g.componentWithNamedBlocks(s,r,o)}}modifier(e){let t=this.ctx.resolutionFor(e,Mn.ModifierSyntaxContext);if("error"===t.resolution)throw(0,zr.generateSyntaxError)(`You attempted to invoke a path (\`{{#${t.path}}}\`) as a modifier, but ${t.head} was not in scope. Try adding \`this\` to the beginning of the path`,e.loc);let r=this.expr.callParts(e,t.resolution);return this.ctx.builder.modifier(r,this.ctx.loc(e.loc))}mustacheAttr(e){let t=this.ctx.builder.sexp(this.expr.callParts(e,(0,Mn.AttrValueSyntaxContext)(e)),this.ctx.loc(e.loc));return t.args.isEmpty()?t.callee:t}attrPart(e){switch(e.type){case"MustacheStatement":return{expr:this.mustacheAttr(e),trusting:!e.escaped};case"TextNode":return{expr:this.ctx.builder.literal(e.chars,this.ctx.loc(e.loc)),trusting:!0}}}attrValue(e){switch(e.type){case"ConcatStatement":{let t=e.parts.map((e=>this.attrPart(e).expr));return{expr:this.ctx.builder.interpolate(t,this.ctx.loc(e.loc)),trusting:!1}}default:return this.attrPart(e)}}attr(e){if("...attributes"===e.name)return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(e.loc));let t=this.ctx.loc(e.loc),r=t.sliceStartChars({chars:e.name.length}).toSlice(e.name),n=this.attrValue(e.value);return this.ctx.builder.attr({name:r,value:n.expr,trusting:n.trusting},t)}maybeDeprecatedCall(e,t){if(this.ctx.strict)return null;if("MustacheStatement"!==t.type)return null;let{path:r}=t;if("PathExpression"!==r.type)return null;if("VarHead"!==r.head.type)return null;let{name:n}=r.head;if("has-block"===n||"has-block-params"===n)return null;if(this.ctx.hasBinding(n))return null;if(0!==r.tail.length)return null;if(0!==t.params.length||0!==t.hash.pairs.length)return null;let i=o.LooseModeResolution.attr(),a=this.ctx.builder.freeVar({name:n,context:i,symbol:this.ctx.table.allocateFree(n,i),loc:r.loc});return{expr:this.ctx.builder.deprecatedCall(e,a,t.loc),trusting:!1}}arg(e){let t=this.ctx.loc(e.loc),r=t.sliceStartChars({chars:e.name.length}).toSlice(e.name),n=this.maybeDeprecatedCall(r,e.value)||this.attrValue(e.value);return this.ctx.builder.arg({name:r,value:n.expr,trusting:n.trusting},t)}classifyTag(e,t,r){let o=(0,yn.isUpperCase)(e),i="@"===e[0]||"this"===e||this.ctx.hasBinding(e);if(this.ctx.strict&&!i){if(o)throw(0,zr.generateSyntaxError)(`Attempted to invoke a component that was not in scope in a strict mode template, \`<${e}>\`. If you wanted to create an element with that name, convert it to lowercase - \`<${e.toLowerCase()}>\``,r);return"ElementHead"}let a=i||o,s=r.sliceStartChars({skipStart:1,chars:e.length}),c=t.reduce(((e,t)=>e+1+t.length),0),u=s.getEnd().move(c),h=s.withEnd(u);if(a){let o=n.default.path({head:n.default.head(e,s),tail:t,loc:h}),i=this.ctx.resolutionFor(o,Mn.ComponentSyntaxContext);if("error"===i.resolution)throw(0,zr.generateSyntaxError)(`You attempted to invoke a path (\`<${i.path}>\`) but ${i.head} was not in scope`,r);return new l(this.ctx).normalize(o,i.resolution)}if(t.length>0)throw(0,zr.generateSyntaxError)(`You used ${e}.${t.join(".")} as a tag name, but ${e} is not in scope`,r);return"ElementHead"}get expr(){return new l(this.ctx)}}class h{constructor(e,t,r){this.loc=e,this.children=t,this.block=r,this.namedBlocks=t.filter((e=>e instanceof o.NamedBlock)),this.hasSemanticContent=Boolean(t.filter((e=>{if(e instanceof o.NamedBlock)return!1;switch(e.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(e.chars);default:return!0}})).length),this.nonBlockChildren=t.filter((e=>!(e instanceof o.NamedBlock)))}}class p extends h{assertTemplate(e){if((0,_.isPresent)(this.namedBlocks))throw(0,zr.generateSyntaxError)("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(e,this.nonBlockChildren,this.block.loc(this.loc))}}class d extends h{assertBlock(e){if((0,_.isPresent)(this.namedBlocks))throw(0,zr.generateSyntaxError)("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(e,this.nonBlockChildren,this.loc)}}class f extends h{constructor(e,t,r,n){super(t,r,n),this.el=e}assertNamedBlock(e,t){if(this.el.base.selfClosing)throw(0,zr.generateSyntaxError)(`<:${e.chars}/> is not a valid named block: named blocks cannot be self-closing`,this.loc);if((0,_.isPresent)(this.namedBlocks))throw(0,zr.generateSyntaxError)(`Unexpected named block inside <:${e.chars}> named block: named blocks cannot contain nested named blocks`,this.loc);if(!(0,yn.isLowerCase)(e.chars))throw(0,zr.generateSyntaxError)(`<:${e.chars}> is not a valid named block, and named blocks must begin with a lowercase letter`,this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,zr.generateSyntaxError)(`named block <:${e.chars}> cannot have attributes, arguments, or modifiers`,this.loc);let r=J.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(e,this.block.builder.block(t,this.nonBlockChildren,r),this.loc)}assertElement(e,t){if(t)throw(0,zr.generateSyntaxError)(`Unexpected block params in <${e}>: simple elements cannot have block params`,this.loc);if((0,_.isPresent)(this.namedBlocks)){let t=this.namedBlocks.map((e=>e.name));if(1===t.length)throw(0,zr.generateSyntaxError)(`Unexpected named block <:foo> inside <${e.chars}> HTML element`,this.loc);{let r=t.map((e=>`<:${e.chars}>`)).join(", ");throw(0,zr.generateSyntaxError)(`Unexpected named blocks inside <${e.chars}> HTML element (${r})`,this.loc)}}return this.el.simple(e,this.nonBlockChildren,this.loc)}assertComponent(e,t,r){if((0,_.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,zr.generateSyntaxError)(`Unexpected content inside <${e}> component invocation: when using named blocks, the tag cannot contain other content`,this.loc);if((0,_.isPresent)(this.namedBlocks)){if(r)throw(0,zr.generateSyntaxError)(`Unexpected block params list on <${e}> component invocation: when passing named blocks, the invocation tag cannot take block params`,this.loc);let t=new Set;for(let e of this.namedBlocks){let r=e.name.chars;if(t.has(r))throw(0,zr.generateSyntaxError)(`Component had two named blocks with the same name, \`<:${r}>\`. Only one block with a given name may be passed`,this.loc);if("inverse"===r&&t.has("else")||"else"===r&&t.has("inverse"))throw(0,zr.generateSyntaxError)("Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>",this.loc);t.add(r)}return this.namedBlocks}return[this.block.builder.namedBlock(D.SourceSlice.synthetic("default"),this.block.builder.block(t,this.nonBlockChildren,this.loc),this.loc)]}}function m(e){return"PathExpression"!==e.type&&"PathExpression"===e.path.type?m(e.path):new r.default({entityEncoding:"raw"}).print(e)}function g(e){if("PathExpression"!==e.type)return"PathExpression"===e.path.type?g(e.path):new r.default({entityEncoding:"raw"}).print(e);switch(e.head.type){case"AtHead":case"VarHead":return e.head.name;case"ThisHead":return"this"}}})),qn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return e in r},t.KEYWORDS_TYPES=void 0;const r={component:["Call","Append","Block"],debugger:["Append"],"each-in":["Block"],each:["Block"],"has-block-params":["Call","Append"],"has-block":["Call","Append"],helper:["Call","Append"],if:["Call","Append","Block"],"in-element":["Block"],let:["Block"],"link-to":["Append","Block"],log:["Call","Append"],modifier:["Call"],mount:["Append"],mut:["Call","Append"],outlet:["Append"],"query-params":["Call"],readonly:["Call","Append"],unbound:["Call","Append"],unless:["Call","Append","Block"],with:["Block"],yield:["Append"]};t.KEYWORDS_TYPES=r})),jn=function(e,t={includeHtmlElements:!1,includeKeywords:!1}){const r=(0,wn.preprocess)(e),n=new Set,o=[];(0,Hn.default)(r,{Block:{enter({blockParams:e}){e.forEach((e=>{o.push(e)}))},exit({blockParams:e}){e.forEach((()=>{o.pop()}))}},ElementNode:{enter(e){e.blockParams.forEach((e=>{o.push(e)})),Vn(n,e,o,t)},exit({blockParams:e}){e.forEach((()=>{o.pop()}))}},PathExpression(e){Vn(n,e,o,t)}});let i=[];n.forEach((e=>i.push(e))),(null==t?void 0:t.includeKeywords)||(i=i.filter((e=>!(0,qn.isKeyword)(e))));return i},Hn=function(e){return e&&e.__esModule?e:{default:e}}(sn);function Vn(e,t,r,n){const o=function(e,t,r){if("PathExpression"===e.type){if("AtHead"===e.head.type||"ThisHead"===e.head.type)return;const r=e.head.name;if(-1===t.indexOf(r))return r}else if("ElementNode"===e.type){const{tag:n}=e,o=n.charAt(0);if(":"===o||"@"===o)return;if(!r.includeHtmlElements&&-1===n.indexOf(".")&&n.toLowerCase()===n)return;if("this."===n.substr(0,5))return;if(-1!==t.indexOf(n))return;return n}}(t,r,n);(Array.isArray(o)?o:[o]).forEach((t=>{void 0!==t&&"@"!==t[0]&&e.add(t.split(".")[0])}))}var Un=Object.defineProperty({getTemplateLocals:jn},"__esModule",{value:!0}),$n=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return j.Source}}),Object.defineProperty(t,"builders",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"normalize",{enumerable:!0,get:function(){return Rn.normalize}}),Object.defineProperty(t,"SymbolTable",{enumerable:!0,get:function(){return En.SymbolTable}}),Object.defineProperty(t,"BlockSymbolTable",{enumerable:!0,get:function(){return En.BlockSymbolTable}}),Object.defineProperty(t,"ProgramSymbolTable",{enumerable:!0,get:function(){return En.ProgramSymbolTable}}),Object.defineProperty(t,"generateSyntaxError",{enumerable:!0,get:function(){return zr.generateSyntaxError}}),Object.defineProperty(t,"preprocess",{enumerable:!0,get:function(){return wn.preprocess}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"sortByLoc",{enumerable:!0,get:function(){return or.sortByLoc}}),Object.defineProperty(t,"Walker",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"Path",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"cannotRemoveNode",{enumerable:!0,get:function(){return Gr.cannotRemoveNode}}),Object.defineProperty(t,"cannotReplaceNode",{enumerable:!0,get:function(){return Gr.cannotReplaceNode}}),Object.defineProperty(t,"WalkerPath",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return qn.isKeyword}}),Object.defineProperty(t,"KEYWORDS_TYPES",{enumerable:!0,get:function(){return qn.KEYWORDS_TYPES}}),Object.defineProperty(t,"getTemplateLocals",{enumerable:!0,get:function(){return Un.getTemplateLocals}}),Object.defineProperty(t,"SourceSlice",{enumerable:!0,get:function(){return D.SourceSlice}}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return q.SourceSpan}}),Object.defineProperty(t,"SpanList",{enumerable:!0,get:function(){return J.SpanList}}),Object.defineProperty(t,"maybeLoc",{enumerable:!0,get:function(){return J.maybeLoc}}),Object.defineProperty(t,"loc",{enumerable:!0,get:function(){return J.loc}}),Object.defineProperty(t,"hasSpan",{enumerable:!0,get:function(){return J.hasSpan}}),Object.defineProperty(t,"node",{enumerable:!0,get:function(){return K.node}}),t.ASTv2=t.AST=t.ASTv1=void 0;var r=h(V),n=u($);t.ASTv1=n,t.AST=n;var o=u(re);t.ASTv2=o;var i=h(Ur),a=h(ln),s=h(sn),l=h(Wr);function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=n?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(r,o,i):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function h(e){return e&&e.__esModule?e:{default:e}}}));const zn=r.default,{locStart:Fn,locEnd:Gn}=o;function Kn(){return{name:"addBackslash",visitor:{TextNode(e){e.chars=e.chars.replace(/\\/,"\\\\")}}}}function Wn(e){const t=new zn(e),r=({line:e,column:r})=>t.indexForLocation({line:e-1,column:r});return()=>({name:"addOffset",visitor:{All(e){const{start:t,end:n}=e.loc;t.offset=r(t),n.offset=r(n)}}})}var Yn={parsers:{glimmer:{parse:function(e){const{preprocess:t}=$n;let r;try{r=t(e,{mode:"codemod",plugins:{ast:[Kn,Wn(e)]}})}catch(e){const t=function(e){const{location:t,hash:r}=e;if(t){const{start:e,end:r}=t;return"number"!=typeof r.line?{start:e}:t}if(r){const{loc:{last_line:e,last_column:t}}=r;return{start:{line:e,column:t+1}}}}(e);if(t)throw n(e.message,t);throw e}return r},astFormat:"glimmer",locStart:Fn,locEnd:Gn}}};export default Yn; diff --git a/node_modules/prettier/esm/parser-graphql.mjs b/node_modules/prettier/esm/parser-graphql.mjs new file mode 100644 index 000000000..da2842d78 --- /dev/null +++ b/node_modules/prettier/esm/parser-graphql.mjs @@ -0,0 +1 @@ +var e=function(e,n){const t=new SyntaxError(e+" ("+n.start.line+":"+n.start.column+")");return t.loc=n,t};var n=function(...e){let n;for(const[t,i]of e.entries())try{return{result:i()}}catch(e){0===t&&(n=e)}return{error:n}};var t={hasPragma:function(e){return/^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n"+e}};var i={locStart:function(e){return"number"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return"number"==typeof e.end?e.end:e.loc&&e.loc.end}};function r(e){var n={exports:{}};return e(n,n.exports),n.exports}var o=function(e){return"object"==a(e)&&null!==e};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s=Object.defineProperty({default:o},"__esModule",{value:!0}),c=r((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.SYMBOL_TO_STRING_TAG=n.SYMBOL_ASYNC_ITERATOR=n.SYMBOL_ITERATOR=void 0;var t="function"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:"@@iterator";n.SYMBOL_ITERATOR=t;var i="function"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:"@@asyncIterator";n.SYMBOL_ASYNC_ITERATOR=i;var r="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag";n.SYMBOL_TO_STRING_TAG=r})),u=function(e,n){var t,i=/\r\n|[\n\r]/g,r=1,o=n+1;for(;(t=i.exec(e.body))&&t.index120){for(var d=Math.floor(c/80),h=c%80,E=[],v=0;v",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});n.TokenKind=t})),R=function(e){return w(e,[])},g=(D=O)&&D.__esModule?D:{default:D};function C(e){return(C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(e,n){switch(C(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,n){if(-1!==n.indexOf(e))return"[Circular]";var t=[].concat(n,[e]),i=function(e){var n=e[String(g.default)];if("function"==typeof n)return n;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==i){var r=i.call(e);if(r!==e)return"string"==typeof r?r:w(r,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return"[]";if(n.length>2)return"[Array]";for(var t=Math.min(10,e.length),i=e.length-t,r=[],o=0;o1&&r.push("... ".concat(i," more items"));return"["+r.join(", ")+"]"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return"{}";if(n.length>2)return"["+function(e){var n=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===n&&"function"==typeof e.constructor){var t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return n}(e)+"]";return"{ "+t.map((function(t){return t+": "+w(e[t],n)})).join(", ")+" }"}(e,t)}(e,n);default:return String(e)}}var F=Object.defineProperty({default:R},"__esModule",{value:!0}),P=function(e,n){if(!Boolean(e))throw new Error(n)};var M=Object.defineProperty({default:P},"__esModule",{value:!0}),B=r((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default=function(e,n){return e instanceof n}})),U=r((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isSource=function(e){return(0,r.default)(e,s)},n.Source=void 0;var t=o(F),i=o(M),r=o(B);function o(e){return e&&e.__esModule?e:{default:e}}function a(e,n){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||(0,i.default)(0,"Body must be a string. Received: ".concat((0,t.default)(e),".")),this.body=e,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,i.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,i.default)(0,"column in locationOffset is 1-indexed and must be positive.")}var n,r,o;return n=e,(r=[{key:c.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}])&&a(n.prototype,r),o&&a(n,o),e}();n.Source=s})),j=r((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.DirectiveLocation=void 0;var t=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});n.DirectiveLocation=t})),V=function(e){var n=e.split(/\r\n|[\n\r]/g),t=Q(e);if(0!==t)for(var i=1;ir&&J(n[o-1]);)--o;return n.slice(r,o).join("\n")},G=Q,Y=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf("\n"),r=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a="\\"===e[e.length-1],s=!i||o||a||t,c="";!s||i&&r||(c+="\n"+n);c+=n?e.replace(/\n/g,"\n"+n):e,s&&(c+="\n");return'"""'+c.replace(/"""/g,'\\"""')+'"""'};function J(e){for(var n=0;n31||9===o));return new b.Token(L.TokenKind.COMMENT,n,s,t,i,r,a.slice(n+1,s))}function s(e,n,t,r,o,a){var s=e.body,u=t,l=n,p=!1;if(45===u&&(u=s.charCodeAt(++l)),48===u){if((u=s.charCodeAt(++l))>=48&&u<=57)throw(0,N.syntaxError)(e,l,"Invalid number, unexpected digit after 0: ".concat(i(u),"."))}else l=c(e,l,u),u=s.charCodeAt(l);if(46===u&&(p=!0,u=s.charCodeAt(++l),l=c(e,l,u),u=s.charCodeAt(l)),69!==u&&101!==u||(p=!0,43!==(u=s.charCodeAt(++l))&&45!==u||(u=s.charCodeAt(++l)),l=c(e,l,u),u=s.charCodeAt(l)),46===u||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(u))throw(0,N.syntaxError)(e,l,"Invalid number, expected digit but got: ".concat(i(u),"."));return new b.Token(p?L.TokenKind.FLOAT:L.TokenKind.INT,n,l,r,o,a,s.slice(n,l))}function c(e,n,t){var r=e.body,o=n,a=t;if(a>=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,N.syntaxError)(e,o,"Invalid number, expected digit but got: ".concat(i(a),"."))}function u(e,n,t,r,o){for(var a,s,c,u,l=e.body,d=n+1,h=d,f=0,T="";d=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function d(e,n,t,i,r){for(var o=e.body,a=o.length,s=n+1,c=0;s!==a&&!isNaN(c=o.charCodeAt(s))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++s;return new b.Token(L.TokenKind.NAME,n,s,t,i,r,o.slice(n,s))}n.Lexer=t})),H=r((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.parse=function(e,n){return new t(e,n).parseDocument()},n.parseValue=function(e,n){var i=new t(e,n);i.expectToken(L.TokenKind.SOF);var r=i.parseValueLiteral(!1);return i.expectToken(L.TokenKind.EOF),r},n.parseType=function(e,n){var i=new t(e,n);i.expectToken(L.TokenKind.SOF);var r=i.parseTypeReference();return i.expectToken(L.TokenKind.EOF),r},n.Parser=void 0;var t=function(){function e(e,n){var t=(0,U.isSource)(e)?e:new U.Source(e);this._lexer=new q.Lexer(t),this._options=n}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(L.TokenKind.NAME);return{kind:y.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:y.Kind.DOCUMENT,definitions:this.many(L.TokenKind.SOF,this.parseDefinition,L.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(L.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(L.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(L.TokenKind.BRACE_L))return{kind:y.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(L.TokenKind.NAME)&&(n=this.parseName()),{kind:y.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(L.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(L.TokenKind.PAREN_L,this.parseVariableDefinition,L.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:y.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(L.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(L.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(L.TokenKind.DOLLAR),{kind:y.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:y.Kind.SELECTION_SET,selections:this.many(L.TokenKind.BRACE_L,this.parseSelection,L.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(L.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,i=this.parseName();return this.expectOptionalToken(L.TokenKind.COLON)?(e=i,n=this.parseName()):n=i,{kind:y.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(L.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(L.TokenKind.PAREN_L,n,L.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(L.TokenKind.COLON),{kind:y.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:y.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(L.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(L.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(L.TokenKind.NAME)?{kind:y.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:y.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword("fragment"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:y.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:y.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},n.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case L.TokenKind.BRACKET_L:return this.parseList(e);case L.TokenKind.BRACE_L:return this.parseObject(e);case L.TokenKind.INT:return this._lexer.advance(),{kind:y.Kind.INT,value:n.value,loc:this.loc(n)};case L.TokenKind.FLOAT:return this._lexer.advance(),{kind:y.Kind.FLOAT,value:n.value,loc:this.loc(n)};case L.TokenKind.STRING:case L.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case L.TokenKind.NAME:switch(this._lexer.advance(),n.value){case"true":return{kind:y.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case"false":return{kind:y.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case"null":return{kind:y.Kind.NULL,loc:this.loc(n)};default:return{kind:y.Kind.ENUM,value:n.value,loc:this.loc(n)}}case L.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:y.Kind.STRING,value:e.value,block:e.kind===L.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:y.Kind.LIST,values:this.any(L.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),L.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:y.Kind.OBJECT,fields:this.any(L.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),L.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(L.TokenKind.COLON),{kind:y.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(L.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(L.TokenKind.AT),{kind:y.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(L.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(L.TokenKind.BRACKET_R),e={kind:y.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(L.TokenKind.BANG)?{kind:y.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:y.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===L.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(L.TokenKind.STRING)||this.peek(L.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");var t=this.parseDirectives(!0),i=this.many(L.TokenKind.BRACE_L,this.parseOperationTypeDefinition,L.TokenKind.BRACE_R);return{kind:y.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:i,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(L.TokenKind.COLON);var t=this.parseNamedType();return{kind:y.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),i=this.parseDirectives(!0);return{kind:y.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:y.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var n=[];this.expectOptionalToken(L.TokenKind.AMP);do{n.push(this.parseNamedType())}while(this.expectOptionalToken(L.TokenKind.AMP)||this.peek(L.TokenKind.NAME));return n}return this.delimitedMany(L.TokenKind.AMP,this.parseNamedType)},n.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(L.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===L.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(L.TokenKind.BRACE_L,this.parseFieldDefinition,L.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseArgumentDefs();this.expectToken(L.TokenKind.COLON);var r=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:y.Kind.FIELD_DEFINITION,description:n,name:t,arguments:i,type:r,directives:o,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(L.TokenKind.PAREN_L,this.parseInputValueDef,L.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(L.TokenKind.COLON);var i,r=this.parseTypeReference();this.expectOptionalToken(L.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:y.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:r,defaultValue:i,directives:o,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:y.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseUnionMemberTypes();return{kind:y.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:i,types:r,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){return this.expectOptionalToken(L.TokenKind.EQUALS)?this.delimitedMany(L.TokenKind.PIPE,this.parseNamedType):[]},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();return{kind:y.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:i,values:r,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(L.TokenKind.BRACE_L,this.parseEnumValueDefinition,L.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseDirectives(!0);return{kind:y.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();return{kind:y.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(L.TokenKind.BRACE_L,this.parseInputValueDef,L.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===L.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(L.TokenKind.BRACE_L,this.parseOperationTypeDefinition,L.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:y.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:y.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:y.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:y.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:y.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:i,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:y.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:i,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:y.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:i,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(L.TokenKind.AT);var t=this.parseName(),i=this.parseArgumentDefs(),r=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var o=this.parseDirectiveLocations();return{kind:y.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:i,repeatable:r,locations:o,loc:this.loc(e)}},n.parseDirectiveLocations=function(){return this.delimitedMany(L.TokenKind.PIPE,this.parseDirectiveLocation)},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==j.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){var n;if(!0!==(null===(n=this._options)||void 0===n?void 0:n.noLocation))return new b.Location(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,N.syntaxError)(this._lexer.source,n.start,"Expected ".concat(r(e),", found ").concat(i(n),"."))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==L.TokenKind.NAME||n.value!==e)throw(0,N.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(i(n),"."));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===L.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=null!=e?e:this._lexer.token;return(0,N.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(i(n),"."))},n.any=function(e,n,t){this.expectToken(e);for(var i=[];!this.expectOptionalToken(t);)i.push(n.call(this));return i},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i}return[]},n.many=function(e,n,t){this.expectToken(e);var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i},n.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do{t.push(n.call(this))}while(this.expectOptionalToken(e));return t},e}();function i(e){var n=e.value;return r(e.kind)+(null!=n?' "'.concat(n,'"'):"")}function r(e){return(0,q.isPunctuatorTokenKind)(e)?'"'.concat(e,'"'):e}n.Parser=t}));const{hasPragma:z}=t,{locStart:$,locEnd:W}=i;function Z(e){if(e&&"object"==typeof e){delete e.startToken,delete e.endToken,delete e.prev,delete e.next;for(const n in e)Z(e[n])}return e}const ee={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};var ne={parsers:{graphql:{parse:function(t){const{parse:i}=H,{result:r,error:o}=n((()=>i(t,Object.assign({},ee))),(()=>i(t,Object.assign(Object.assign({},ee),{},{allowLegacySDLImplementsInterfaces:!0}))));if(!r)throw function(n){const{GraphQLError:t}=v;if(n instanceof t){const{message:t,locations:[i]}=n;return e(t,{start:i})}return n}(o);return r.comments=function(e){const n=[],{startToken:t}=e.loc;let{next:i}=t;for(;""!==i.kind;)"Comment"===i.kind&&(Object.assign(i,{column:i.column-1}),n.push(i)),i=i.next;return n}(r),Z(r),r},astFormat:"graphql",hasPragma:z,locStart:$,locEnd:W}}};export default ne; diff --git a/node_modules/prettier/esm/parser-html.mjs b/node_modules/prettier/esm/parser-html.mjs new file mode 100644 index 000000000..405134c03 --- /dev/null +++ b/node_modules/prettier/esm/parser-html.mjs @@ -0,0 +1,132 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){var t={exports:{}};return e(t,t.exports),t.exports}var r=t((function(e,t){function r(e){return t.$0<=e&&e<=t.$9} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=r,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||r(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */class n{constructor(e,t,r){this.filePath=e,this.name=t,this.members=r}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}}var i=n;var s=class{constructor(){this.cache=new Map}get(e,t,r){const i=`"${e}".${t}${(r=r||[]).length?`.${r.join(".")}`:""}`;let s=this.cache.get(i);return s||(s=new n(e,t,r),this.cache.set(i,s)),s}},o=Object.defineProperty({StaticSymbol:i,StaticSymbolCache:s},"__esModule",{value:!0}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +const a=/-+([a-z0-9])/g;var u=function(e){return e.replace(a,((...e)=>e[1].toUpperCase()))};var c=function(e,t){return p(e,":",t)};var l=function(e,t){return p(e,".",t)};function p(e,t,r){const n=e.indexOf(t);return-1==n?r:[e.slice(0,n).trim(),e.slice(n+1).trim()]}function D(e,t,r){return Array.isArray(e)?t.visitArray(e,r):"object"==typeof(n=e)&&null!==n&&Object.getPrototypeOf(n)===b?t.visitStringMap(e,r):null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?t.visitPrimitive(e,r):t.visitOther(e,r);var n}var h=D;var d=function(e){return null!=e};var f=function(e){return void 0===e?null:e};var m=class{visitArray(e,t){return e.map((e=>D(e,this,t)))}visitStringMap(e,t){const r={};return Object.keys(e).forEach((n=>{r[n]=D(e[n],this,t)})),r}visitPrimitive(e,t){return e}visitOther(e,t){return e}},g={assertSync:e=>{if(N(e))throw new Error("Illegal state: value cannot be a promise");return e},then:(e,t)=>N(e)?e.then(t):t(e),all:e=>e.some(N)?Promise.all(e):e};var E=function(e){throw new Error(`Internal Error: ${e}`)};var C=function(e,t){const r=Error(e);return r[T]=!0,t&&(r[y]=t),r};const T="ngSyntaxError",y="ngParseErrors";var S=function(e){return e[T]};var _=function(e){return e[y]||[]};var v=function(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};const b=Object.getPrototypeOf({});var F=function(e){let t="";for(let r=0;r=55296&&n<=56319&&e.length>r+1){const t=e.charCodeAt(r+1);t>=56320&&t<=57343&&(r++,n=(n-55296<<10)+t-56320+65536)}n<=127?t+=String.fromCharCode(n):n<=2047?t+=String.fromCharCode(n>>6&31|192,63&n|128):n<=65535?t+=String.fromCharCode(n>>12|224,n>>6&63|128,63&n|128):n<=2097151&&(t+=String.fromCharCode(n>>18&7|240,n>>12&63|128,n>>6&63|128,63&n|128))}return t};var A=function e(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(e).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;if(!t.toString)return"object";const r=t.toString();if(null==r)return""+r;const n=r.indexOf("\n");return-1===n?r:r.substring(0,n)};var w=function(e){return"function"==typeof e&&e.hasOwnProperty("__forward_ref__")?e():e};function N(e){return!!e&&"function"==typeof e.then}var k=N;var O=class{constructor(e){this.full=e;const t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};const x="undefined"!=typeof window&&window,I="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self;var P=void 0!==e&&e||x||I,R=Object.defineProperty({dashCaseToCamelCase:u,splitAtColon:c,splitAtPeriod:l,visitValue:h,isDefined:d,noUndefined:f,ValueTransformer:m,SyncAsync:g,error:E,syntaxError:C,isSyntaxError:S,getParseErrors:_,escapeRegExp:v,utf8Encode:F,stringify:A,resolveForwardRef:w,isPromise:k,Version:O,global:P},"__esModule",{value:!0}),L=t((function(e,t){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0});const r=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function n(e){return e.replace(/\W/g,"_")}t.sanitizeIdentifier=n;let i=0;function s(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof o.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let r=R.stringify(t);return r.indexOf("(")>=0?(r="anonymous_"+i++,t.__anonymousType=r):r=n(r),r}var a;t.identifierName=s,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof o.StaticSymbol?t.filePath:`./${R.stringify(t)}`},t.viewClassName=function(e,t){return`View_${s({reference:e})}_${t}`},t.rendererTypeName=function(e){return`RenderType_${s({reference:e})}`},t.hostViewClassName=function(e){return`HostView_${s({reference:e})}`},t.componentFactoryName=function(e){return`${s({reference:e})}NgFactory`},function(e){e[e.Pipe=0]="Pipe",e[e.Directive=1]="Directive",e[e.NgModule=2]="NgModule",e[e.Injectable=3]="Injectable"}(a=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?n(e.value):s(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:r}={}){this.moduleUrl=e||null,this.styles=c(t),this.styleUrls=c(r)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:r,htmlAst:n,styles:i,styleUrls:s,externalStylesheets:o,animations:a,ngContentSelectors:u,interpolation:p,isInline:D,preserveWhitespaces:h}){if(this.encapsulation=e,this.template=t,this.templateUrl=r,this.htmlAst=n,this.styles=c(i),this.styleUrls=c(s),this.externalStylesheets=c(o),this.animations=a?l(a):[],this.ngContentSelectors=u||[],p&&2!=p.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=p,this.isInline=D,this.preserveWhitespaces=h}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class u{static create({isHost:e,type:t,isComponent:n,selector:i,exportAs:s,changeDetection:o,inputs:a,outputs:c,host:l,providers:p,viewProviders:D,queries:h,guards:d,viewQueries:f,entryComponents:m,template:g,componentViewType:E,rendererType:C,componentFactory:T}){const y={},S={},_={};null!=l&&Object.keys(l).forEach((e=>{const t=l[e],n=e.match(r);null===n?_[e]=t:null!=n[1]?S[n[1]]=t:null!=n[2]&&(y[n[2]]=t)}));const v={};null!=a&&a.forEach((e=>{const t=R.splitAtColon(e,[e,e]);v[t[0]]=t[1]}));const b={};return null!=c&&c.forEach((e=>{const t=R.splitAtColon(e,[e,e]);b[t[0]]=t[1]})),new u({isHost:e,type:t,isComponent:!!n,selector:i,exportAs:s,changeDetection:o,inputs:v,outputs:b,hostListeners:y,hostProperties:S,hostAttributes:_,providers:p,viewProviders:D,queries:h,guards:d,viewQueries:f,entryComponents:m,template:g,componentViewType:E,rendererType:C,componentFactory:T})}constructor({isHost:e,type:t,isComponent:r,selector:n,exportAs:i,changeDetection:s,inputs:o,outputs:a,hostListeners:u,hostProperties:l,hostAttributes:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){this.isHost=!!e,this.type=t,this.isComponent=r,this.selector=n,this.exportAs=i,this.changeDetection=s,this.inputs=o,this.outputs=a,this.hostListeners=u,this.hostProperties=l,this.hostAttributes=p,this.providers=c(D),this.viewProviders=c(h),this.queries=c(d),this.guards=f,this.viewQueries=c(m),this.entryComponents=c(g),this.template=E,this.componentViewType=C,this.rendererType=T,this.componentFactory=y}toSummary(){return{summaryKind:a.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=u;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:r}){this.type=e,this.name=t,this.pure=!!r}toSummary(){return{summaryKind:a.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:r,exportedDirectives:n,declaredPipes:i,exportedPipes:s,entryComponents:o,bootstrapComponents:a,importedModules:u,exportedModules:l,schemas:p,transitiveModule:D,id:h}){this.type=e||null,this.declaredDirectives=c(r),this.exportedDirectives=c(n),this.declaredPipes=c(i),this.exportedPipes=c(s),this.providers=c(t),this.entryComponents=c(o),this.bootstrapComponents=c(a),this.importedModules=c(u),this.exportedModules=c(l),this.schemas=c(p),this.id=h||null,this.transitiveModule=D||null}toSummary(){const e=this.transitiveModule;return{summaryKind:a.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function c(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function l(e){return e.reduce(((e,t)=>{const r=Array.isArray(t)?l(t):t;return e.concat(r)}),[])}function p(e){return e.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:r,useExisting:n,useFactory:i,deps:s,multi:o}){this.token=e,this.useClass=t||null,this.useValue=r,this.useExisting=n,this.useFactory=i||null,this.dependencies=s||null,this.multi=!!o}},t.flatten=l,t.templateSourceUrl=function(e,t,r){let n;return n=r.isInline?t.type.reference instanceof o.StaticSymbol?`${t.type.reference.filePath}.${t.type.reference.name}.html`:`${s(e)}/${s(t.type)}.html`:r.templateUrl,t.type.reference instanceof o.StaticSymbol?n:p(n)},t.sharedStylesheetJitUrl=function(e,t){const r=e.moduleUrl.split(/\/\\/g);return p(`css/${t}${r[r.length-1]}.ngstyle.js`)},t.ngModuleJitUrl=function(e){return p(`${s(e.type)}/module.ngfactory.js`)},t.templateJitUrl=function(e,t){return p(`${s(e)}/${s(t.type)}.ngfactory.js`)}})),B=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class n{constructor(e,t,r,n){this.file=e,this.offset=t,this.line=r,this.col=n}toString(){return null!=this.offset?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(e){const t=this.file.content,i=t.length;let s=this.offset,o=this.line,a=this.col;for(;s>0&&e<0;){s--,e++;if(t.charCodeAt(s)==r.$LF){o--;const e=t.substr(0,s-1).lastIndexOf(String.fromCharCode(r.$LF));a=e>0?s-e:s}else a--}for(;s0;){const n=t.charCodeAt(s);s++,e--,n==r.$LF?(o++,a=0):a++}return new n(this.file,s,o,a)}getContext(e,t){const r=this.file.content;let n=this.offset;if(null!=n){n>r.length-1&&(n=r.length-1);let i=n,s=0,o=0;for(;s0&&(n--,s++,"\n"!=r[n]||++o!=t););for(s=0,o=0;s]${e.after}")`:this.msg}toString(){const e=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${e}`}},t.typeSourceSpan=function(e,t){const r=L.identifierModuleUrl(t),o=null!=r?`in ${e} ${L.identifierName(t)} in ${r}`:`in ${e} ${L.identifierName(t)}`,a=new i("",o);return new s(new n(a,-1,-1,-1),new n(a,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,r){const o=new i("",`in ${e} ${t} in ${r}`);return new s(new n(o,-1,-1,-1),new n(o,-1,-1,-1))}}));const $=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");var q=function(e){const t=e.match($);if(!t)return{content:e};const{startDelimiter:r,language:n,value:i="",endDelimiter:s}=t.groups;let o=n.trim()||"yaml";if("+++"===r&&(o="toml"),"yaml"!==o&&r!==s)return{content:e};const[a]=t;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:r,endDelimiter:s,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}};var M=e=>e[e.length-1];var U=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r},G=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const j=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var V=j,H=j;V.default=H;const X=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=G(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=V(n)?2:1))}return t};var z=X,W=X;z.default=W;var Y=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function Q(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var J=function(e){return e&&e.Math==Math&&e},K=J("object"==typeof globalThis&&globalThis)||J("object"==typeof window&&window)||J("object"==typeof self&&self)||J("object"==typeof e&&e)||function(){return this}()||Function("return this")(),Z=function(e){try{return!!e()}catch(e){return!0}},ee=!Z((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),te={}.propertyIsEnumerable,re=Object.getOwnPropertyDescriptor,ne={f:re&&!te.call({1:2},1)?function(e){var t=re(this,e);return!!t&&t.enumerable}:te},ie=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},se={}.toString,oe=function(e){return se.call(e).slice(8,-1)},ae="".split,ue=Z((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==oe(e)?ae.call(e,""):Object(e)}:Object,ce=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},le=function(e){return ue(ce(e))},pe=function(e){return"object"==typeof e?null!==e:"function"==typeof e},De=function(e,t){if(!pe(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!pe(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!pe(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!pe(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},he=function(e){return Object(ce(e))},de={}.hasOwnProperty,fe=Object.hasOwn||function(e,t){return de.call(he(e),t)},me=K.document,ge=pe(me)&&pe(me.createElement),Ee=!ee&&!Z((function(){return 7!=Object.defineProperty((e="div",ge?me.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),Ce=Object.getOwnPropertyDescriptor,Te={f:ee?Ce:function(e,t){if(e=le(e),t=De(t,!0),Ee)try{return Ce(e,t)}catch(e){}if(fe(e,t))return ie(!ne.f.call(e,t),e[t])}},ye=function(e){if(!pe(e))throw TypeError(String(e)+" is not an object");return e},Se=Object.defineProperty,_e={f:ee?Se:function(e,t,r){if(ye(e),t=De(t,!0),ye(r),Ee)try{return Se(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},ve=ee?function(e,t,r){return _e.f(e,t,ie(1,r))}:function(e,t,r){return e[t]=r,e},be=function(e,t){try{ve(K,e,t)}catch(r){K[e]=t}return t},Fe=K["__core-js_shared__"]||be("__core-js_shared__",{}),Ae=Function.toString;"function"!=typeof Fe.inspectSource&&(Fe.inspectSource=function(e){return Ae.call(e)});var we,Ne,ke,Oe,xe=Fe.inspectSource,Ie=K.WeakMap,Pe="function"==typeof Ie&&/native code/.test(xe(Ie)),Re=t((function(e){(e.exports=function(e,t){return Fe[e]||(Fe[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),Le=0,Be=Math.random(),$e=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++Le+Be).toString(36)},qe=Re("keys"),Me={},Ue=K.WeakMap;if(Pe||Fe.state){var Ge=Fe.state||(Fe.state=new Ue),je=Ge.get,Ve=Ge.has,He=Ge.set;we=function(e,t){if(Ve.call(Ge,e))throw new TypeError("Object already initialized");return t.facade=e,He.call(Ge,e,t),t},Ne=function(e){return je.call(Ge,e)||{}},ke=function(e){return Ve.call(Ge,e)}}else{var Xe=qe[Oe="state"]||(qe[Oe]=$e(Oe));Me[Xe]=!0,we=function(e,t){if(fe(e,Xe))throw new TypeError("Object already initialized");return t.facade=e,ve(e,Xe,t),t},Ne=function(e){return fe(e,Xe)?e[Xe]:{}},ke=function(e){return fe(e,Xe)}}var ze,We,Ye={set:we,get:Ne,has:ke,enforce:function(e){return ke(e)?Ne(e):we(e,{})},getterFor:function(e){return function(t){var r;if(!pe(t)||(r=Ne(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},Qe=t((function(e){var t=Ye.get,r=Ye.enforce,n=String(String).split("String");(e.exports=function(e,t,i,s){var o,a=!!s&&!!s.unsafe,u=!!s&&!!s.enumerable,c=!!s&&!!s.noTargetGet;"function"==typeof i&&("string"!=typeof t||fe(i,"name")||ve(i,"name",t),(o=r(i)).source||(o.source=n.join("string"==typeof t?t:""))),e!==K?(a?!c&&e[t]&&(u=!0):delete e[t],u?e[t]=i:ve(e,t,i)):u?e[t]=i:be(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||xe(this)}))})),Je=K,Ke=function(e){return"function"==typeof e?e:void 0},Ze=function(e,t){return arguments.length<2?Ke(Je[e])||Ke(K[e]):Je[e]&&Je[e][t]||K[e]&&K[e][t]},et=Math.ceil,tt=Math.floor,rt=function(e){return isNaN(e=+e)?0:(e>0?tt:et)(e)},nt=Math.min,it=function(e){return e>0?nt(rt(e),9007199254740991):0},st=Math.max,ot=Math.min,at=function(e){return function(t,r,n){var i,s=le(t),o=it(s.length),a=function(e,t){var r=rt(e);return r<0?st(r+t,0):ot(r,t)}(n,o);if(e&&r!=r){for(;o>a;)if((i=s[a++])!=i)return!0}else for(;o>a;a++)if((e||a in s)&&s[a]===r)return e||a||0;return!e&&-1}},ut={includes:at(!0),indexOf:at(!1)}.indexOf,ct=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),lt={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=le(e),i=0,s=[];for(r in n)!fe(Me,r)&&fe(n,r)&&s.push(r);for(;t.length>i;)fe(n,r=t[i++])&&(~ut(s,r)||s.push(r));return s}(e,ct)}},pt={f:Object.getOwnPropertySymbols},Dt=Ze("Reflect","ownKeys")||function(e){var t=lt.f(ye(e)),r=pt.f;return r?t.concat(r(e)):t},ht=function(e,t){for(var r=Dt(t),n=_e.f,i=Te.f,s=0;s0&&_t(u))c=Ft(e,t,u,it(u.length),c,s-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[c]=u}c++}l++}return c},At=Ft,wt=Ze("navigator","userAgent")||"",Nt=K.process,kt=Nt&&Nt.versions,Ot=kt&&kt.v8;Ot?We=(ze=Ot.split("."))[0]<4?1:ze[0]+ze[1]:wt&&(!(ze=wt.match(/Edge\/(\d+)/))||ze[1]>=74)&&(ze=wt.match(/Chrome\/(\d+)/))&&(We=ze[1]);var xt=We&&+We,It=!!Object.getOwnPropertySymbols&&!Z((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&xt&&xt<41})),Pt=It&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Rt=Re("wks"),Lt=K.Symbol,Bt=Pt?Lt:Lt&&Lt.withoutSetter||$e,$t=function(e){return fe(Rt,e)&&(It||"string"==typeof Rt[e])||(It&&fe(Lt,e)?Rt[e]=Lt[e]:Rt[e]=Bt("Symbol."+e)),Rt[e]},qt=$t("species"),Mt=function(e,t){var r;return _t(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!_t(r.prototype)?pe(r)&&null===(r=r[qt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)};St({target:"Array",proto:!0},{flatMap:function(e){var t,r=he(this),n=it(r.length);return vt(e),(t=Mt(r,0)).length=At(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Ut,Gt,jt=Math.floor,Vt=function(e,t){var r=e.length,n=jt(r/2);return r<8?Ht(e,t):Xt(Vt(e.slice(0,n),t),Vt(e.slice(n),t),t)},Ht=function(e,t){for(var r,n,i=e.length,s=1;s0;)e[n]=e[--n];n!==s++&&(e[n]=r)}return e},Xt=function(e,t,r){for(var n=e.length,i=t.length,s=0,o=0,a=[];s3)){if(Qt)return!0;if(Kt)return Kt<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)Zt.push({k:t+n,v:r})}for(Zt.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;ns;s++)if((a=g(e[s]))&&a instanceof fr)return a;return new fr(!1)}n=i.call(e)}for(u=n.next;!(c=u.call(n)).done;){try{a=g(c.value)}catch(e){throw dr(n),e}if("object"==typeof a&&a&&a instanceof fr)return a}return new fr(!1)};St({target:"Object",stat:!0},{fromEntries:function(e){var t={};return mr(e,(function(e,r){!function(e,t,r){var n=De(t);n in e?_e.f(e,n,ie(0,r)):e[n]=r}(t,e,r)}),{AS_ENTRIES:!0}),t}});var gr=void 0!==gr?gr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Er(){throw new Error("setTimeout has not been defined")}function Cr(){throw new Error("clearTimeout has not been defined")}var Tr=Er,yr=Cr;function Sr(e){if(Tr===setTimeout)return setTimeout(e,0);if((Tr===Er||!Tr)&&setTimeout)return Tr=setTimeout,setTimeout(e,0);try{return Tr(e,0)}catch(t){try{return Tr.call(null,e,0)}catch(t){return Tr.call(this,e,0)}}}"function"==typeof gr.setTimeout&&(Tr=setTimeout),"function"==typeof gr.clearTimeout&&(yr=clearTimeout);var _r,vr=[],br=!1,Fr=-1;function Ar(){br&&_r&&(br=!1,_r.length?vr=_r.concat(vr):Fr=-1,vr.length&&wr())}function wr(){if(!br){var e=Sr(Ar);br=!0;for(var t=vr.length;t;){for(_r=vr,vr=[];++Fr1)for(var r=1;rconsole.error("SEMVER",...e):()=>{};var jr={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Vr=t((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=jr,n=(t=e.exports={}).re=[],i=t.src=[],s=t.t={};let o=0;const a=(e,t,r)=>{const a=o++;Gr(a,t),s[e]=a,i[a]=t,n[a]=new RegExp(t,r?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),a("FULL",`^${i[s.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),a("LOOSE",`^${i[s.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${i[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${i[s.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),a("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),a("COERCERTL",i[s.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",a("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",a("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const Hr=["includePrerelease","loose","rtl"];var Xr=e=>e?"object"!=typeof e?{loose:!0}:Hr.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const zr=/^[0-9]+$/,Wr=(e,t)=>{const r=zr.test(e),n=zr.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eWr(t,e)};const{MAX_LENGTH:Qr,MAX_SAFE_INTEGER:Jr}=jr,{re:Kr,t:Zr}=Vr,{compareIdentifiers:en}=Yr;class tn{constructor(e,t){if(t=Xr(t),e instanceof tn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>Qr)throw new TypeError(`version is longer than ${Qr} characters`);Gr("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Kr[Zr.LOOSE]:Kr[Zr.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Jr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Jr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Jr||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var rn=tn;var nn=(e,t,r)=>new rn(e,r).compare(new rn(t,r));var sn=(e,t,r)=>nn(e,t,r)<0;var on=(e,t,r)=>nn(e,t,r)>=0,an="2.3.2",un=t((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:cn` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:cn` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:cn` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:cn` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const pn=["cliName","cliCategory","cliDescription"],Dn={compare:nn,lt:sn,gte:on},hn=an,dn={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:ln}.options;var fn={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=hn.split("-",1)[0],s=e.flatMap((e=>e.languages||[])).filter(a),o=((e,t)=>Object.entries(e).map((([e,r])=>Object.assign({[t]:e},r))))(Object.assign({},...e.map((({options:e})=>e)),dn),"name").filter((e=>a(e)&&u(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>Dn.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&u(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const s=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;s&&s.name&&(o+=` (plugin: ${s.name})`),e.choices.push({value:t,description:o})}}(t,s,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:s,options:o};function a(e){return t||!("since"in e)||e.since&&Dn.gte(i,e.since)}function u(e){return r||!("deprecated"in e)||e.deprecated&&Dn.lt(i,e.deprecated)}}};const{getSupportInfo:mn}=fn,gn=/[^\x20-\x7F]/;function En(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:s}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:s.quote}return a}function xn(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,s)=>i===n?i:s===t?"\\"+s:s||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function In(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var Pn={inferParserByLanguage:function(e,t){const{languages:r}=mn({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?gn.test(e)?z(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(`(${Y(t)})+`,"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(`(${Y(t)})+`,"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:M,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:wn,getNextNonSpaceNonCommentCharacterIndex:Nn,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Nn(e,t,r))},skip:En,skipWhitespace:Cn,skipSpaces:Tn,skipToLineEnd:yn,skipEverythingButNewLine:Sn,skipInlineComment:_n,skipTrailingComment:vn,skipNewline:bn,isNextLineEmptyAfterIndex:An,isNextLineEmpty:function(e,t,r){return An(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Tn(e,n,{backwards:!0}),n=bn(e,n,{backwards:!0}),n=Tn(e,n,{backwards:!0}),n!==bn(e,n,{backwards:!0})},hasNewline:Fn,hasNewlineInRange:function(e,t,r){for(let n=t;n0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}},Rn={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],abbr:["title"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],bdo:["dir"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dfn:["title"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["accesskey","for","form"],legend:["accesskey","align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],select:["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],slot:["name"],source:["media","sizes","src","srcset","type"],style:["media","nonce","title","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]};const{inferParserByLanguage:Ln,isFrontMatterNode:Bn}=Pn,{CSS_DISPLAY_TAGS:$n,CSS_DISPLAY_DEFAULT:qn,CSS_WHITE_SPACE_TAGS:Mn,CSS_WHITE_SPACE_DEFAULT:Un}={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},Gn=Xn(["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]),jn=function(e,t){const r=Object.create(null);for(const[n,i]of Object.entries(e))r[n]=t(i,n);return r}(Rn,Xn),Vn=new Set(["\t","\n","\f","\r"," "]),Hn=e=>e.replace(/[\t\n\f\r ]+$/,"");function Xn(e){const t=Object.create(null);for(const r of e)t[r]=!0;return t}function zn(e,t){return!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||(!(!si(e)||!e.children.some((e=>"text"!==e.type&&"interpolation"!==e.type)))||!(!pi(e,t)||Yn(e)||"interpolation"===e.type)))}function Wn(e){if("attribute"===e.type)return!1;if(!e.parent)return!1;if("number"!=typeof e.index||0===e.index)return!1;return function(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}(e.parent.children[e.index-1])}function Yn(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||oi(e)&&("script"===e.name||"style"===e.name))}function Qn(e){return ai(e).startsWith("pre")}function Jn(e){return"element"===e.type&&e.children.length>0&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function Kn(e){return ri(e)||"element"===e.type&&"br"===e.fullName||Zn(e)}function Zn(e){return ei(e)&&ti(e)}function ei(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function ri(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function ni(e){const{type:t,lang:r}=e.attrMap;return"module"===t||"text/javascript"===t||"text/babel"===t||"application/javascript"===t||"jsx"===r?"babel":"application/x-typescript"===t||"ts"===r||"tsx"===r?"typescript":"text/markdown"===t?"markdown":"text/html"===t?"html":t&&(t.endsWith("json")||t.endsWith("importmap"))?"json":"text/x-handlebars-template"===t?"glimmer":void 0}function ii(e){return"block"===e||"list-item"===e||e.startsWith("table")}function si(e){return ai(e).startsWith("pre")}function oi(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function ai(e){return"element"===e.type&&(!e.namespace||oi(e))&&Mn[e.name]||Un}const ui=new Set(["template","style","script"]);function ci(e,t){return li(e,t)&&!ui.has(e.fullName)}function li(e,t){return"vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&"html"!==e.fullName.toLowerCase()}function pi(e,t){return li(e,t)&&(ci(e,t)||e.attrMap.lang&&"html"!==e.attrMap.lang)}var Di={HTML_ELEMENT_ATTRIBUTES:jn,HTML_TAGS:Gn,htmlTrim:e=>(e=>e.replace(/^[\t\n\f\r ]+/,""))(Hn(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\t\f\r ]*?\n/g,""))(Hn(e)),splitByHtmlWhitespace:e=>e.split(/[\t\n\f\r ]+/),hasHtmlWhitespace:e=>/[\t\n\f\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,r,n]=e.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:t,trailingWhitespace:n,text:r}},canHaveInterpolation:function(e){return e.children&&!Yn(e)},countChars:function(e,t){let r=0;for(let n=0;n=0;n--){const i=e.stack[n];i&&"object"==typeof i&&!Array.isArray(i)&&t(i)&&r++}return r},dedentString:function(e,t=function(e){let t=Number.POSITIVE_INFINITY;for(const n of e.split("\n")){if(0===n.length)continue;if(!Vn.has(n[0]))return 0;const e=(r=n,r.match(/^[\t\n\f\r ]*/)[0]).length;n.length!==e&&ee.slice(t))).join("\n")},forceBreakChildren:Jn,forceBreakContent:function(e){return Jn(e)||"element"===e.type&&e.children.length>0&&(["body","script","style"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>"text"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&"text"!==e.firstChild.type&&ei(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||ti(e.lastChild))},forceNextEmptyLine:function(e){return Bn(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1"svg:foreignObject"===e.fullName)))return"svg"===e.name?"inline-block":"block";r=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"vue"===t.parser&&e.parent&&"root"===e.parent.type?"block":"element"===e.type&&(!e.namespace||r||oi(e))&&$n[e.name]||qn}},getNodeCssStyleWhiteSpace:ai,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);return!!t&&(!t[1]||t[1].split(/\s+/))},hasPrettierIgnore:Wn,inferScriptParser:function(e,t){return"script"!==e.name||e.attrMap.src?"style"===e.name?function(e){const{lang:t}=e.attrMap;return t&&"postcss"!==t&&"css"!==t?"scss"===t?"scss":"less"===t?"less":void 0:"css"}(e):t&&pi(e,t)?ni(e)||!("src"in e.attrMap)&&Ln(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?ni(e):"babel"},isVueCustomBlock:ci,isVueNonHtmlBlock:pi,isVueSlotAttribute:function(e){const t=e.fullName;return"#"===t.charAt(0)||"slot-scope"===t||"v-slot"===t||t.startsWith("v-slot:")},isVueSfcBindingsAttribute:function(e,t){const r=e.parent;if(!li(r,t))return!1;const n=r.fullName,i=e.fullName;return"script"===n&&"setup"===i||"style"===n&&"vars"===i},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,ii(t)||"inline-block"===t||Yn(e));var t},isIndentationSensitiveNode:Qn,isLeadingSpaceSensitiveNode:function(e,t){const r=function(){if(Bn(e))return!1;if(("text"===e.type||"interpolation"===e.type)&&e.prev&&("text"===e.prev.type||"interpolation"===e.prev.type))return!0;if(!e.parent||"none"===e.parent.cssDisplay)return!1;if(si(e.parent))return!0;if(!e.prev&&("root"===e.parent.type||si(e)&&e.parent||Yn(e.parent)||ci(e.parent,t)||(r=e.parent.cssDisplay,ii(r)||"inline-block"===r)))return!1;var r;if(e.prev&&!function(e){return!ii(e)}(e.prev.cssDisplay))return!1;return!0}();return r&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:r},isPreLikeNode:si,isScriptLikeTag:Yn,isTextLikeNode:function(e){return"text"===e.type||"comment"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!Bn(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!si(e.parent)||!(!e.next&&("root"===e.parent.type||si(e)&&e.parent||Yn(e.parent)||ci(e.parent,t)||(r=e.parent.cssDisplay,ii(r)||"inline-block"===r)))&&!(e.next&&!function(e){return!ii(e)}(e.next.cssDisplay))));var r},isWhitespaceSensitiveNode:function(e){return Yn(e)||"interpolation"===e.type||Qn(e)},isUnknownNamespace:oi,preferHardlineAsLeadingSpaces:function(e){return ri(e)||e.prev&&Kn(e.prev)||Zn(e)},preferHardlineAsTrailingSpaces:Kn,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Wn(e)||zn(e.parent,t))},shouldPreserveContent:zn,unescapeQuoteEntities:function(e){return e.replace(/'/g,"'").replace(/"/g,'"')}};var hi={hasPragma:function(e){return/^\s*/.test(e)},insertPragma:function(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}};const{isNonEmptyArray:di}=Pn,fi={attrs:!0,children:!0};class mi{constructor(e={}){for(const[t,r]of Object.entries(e))t in fi?this._setNodes(t,r):this[t]=r}_setNodes(e,t){t!==this[e]&&(this[e]=function(e,t){const r=e.map((e=>e instanceof mi?e.clone():new mi(e)));let n=null,i=r[0],s=r[1]||null;for(let e=0;e[e.fullName,e.value])))}))}map(e){let t=null;for(const r in fi){const n=this[r];if(n){const i=gi(n,(t=>t.map(e)));t!==n&&(t||(t=new mi),t._setNodes(r,i))}}if(t){for(const e in this)e in fi||(t[e]=this[e]);const{index:e,siblings:r,prev:n,next:i,parent:s}=this;Ei(t,{index:e,siblings:r,prev:n,next:i,parent:s})}return e(t||this)}clone(e){return new mi(e?Object.assign(Object.assign({},this),e):this)}get firstChild(){return di(this.children)?this.children[0]:null}get lastChild(){return di(this.children)?M(this.children):null}get rawName(){return this.hasExplicitNamespace?this.fullName:this.name}get fullName(){return this.namespace?this.namespace+":"+this.name:this.name}}function gi(e,t){const r=e.map(t);return r.some(((t,r)=>t!==e[r]))?r:e}function Ei(e,t){const r=Object.fromEntries(Object.entries(t).map((([e,t])=>[e,{value:t,enumerable:!1}])));Object.defineProperties(e,r)}var Ci={Node:mi};const{ParseSourceSpan:Ti}=B,yi=[{regex:/^(\[if([^\]]*?)]>)(.*?){try{return[!0,t(s,a).children]}catch{return[!1,[{type:"text",value:s,sourceSpan:new Ti(a,u)}]]}})();return{type:"ieConditionalComment",complete:c,children:l,condition:i.trim().replace(/\s+/g," "),sourceSpan:e.sourceSpan,startSourceSpan:new Ti(e.sourceSpan.start,a),endSourceSpan:new Ti(u,e.sourceSpan.end)}}},{regex:/^\[if([^\]]*?)]>",Gt:"\u226b",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",hArr:"\u21d4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",Hfr:"\u210c",hfr:"\ud835\udd25",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",Hopf:"\u210d",hopf:"\ud835\udd59",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210b",hscr:"\ud835\udcbd",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",Ifr:"\u2111",ifr:"\ud835\udd26",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",Int:"\u222c",int:"\u222b",intcal:"\u22ba",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",Iscr:"\u2110",iscr:"\ud835\udcbe",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",Lang:"\u27ea",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",Larr:"\u219e",lArr:"\u21d0",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",lAtail:"\u291b",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lBarr:"\u290e",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",Leftarrow:"\u21d0",leftarrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22d8",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lnE:"\u2268",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftarrow:"\u27f5",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\ud835\udcc1",Lsh:"\u21b0",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226a",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",Mscr:"\u2133",mscr:"\ud835\udcc2",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21d7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlArr:"\u21cd",nlarr:"\u219a",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21cd",nleftarrow:"\u219a",nLeftrightarrow:"\u21ce",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",nopf:"\ud835\udd5f",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nRightarrow:"\u21cf",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nVDash:"\u22af",nVdash:"\u22ae",nvDash:"\u22ad",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwArr:"\u21d6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",Ocirc:"\xd4",ocirc:"\xf4",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",Or:"\u2a54",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",Otimes:"\u2a37",otimes:"\u2297",otimesas:"\u2a36",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",Popf:"\u2119",popf:"\ud835\udd61",pound:"\xa3",Pr:"\u2abb",pr:"\u227a",prap:"\u2ab7",prcue:"\u227c",prE:"\u2ab3",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportion:"\u2237",Proportional:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",Qopf:"\u211a",qopf:"\ud835\udd62",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",QUOT:'"',quot:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",Rang:"\u27eb",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",Rarr:"\u21a0",rArr:"\u21d2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",rAtail:"\u291c",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",RBarr:"\u2910",rBarr:"\u290f",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",Re:"\u211c",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",REG:"\xae",reg:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",Rfr:"\u211c",rfr:"\ud835\udd2f",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",Rightarrow:"\u21d2",rightarrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",Ropf:"\u211d",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",Rscr:"\u211b",rscr:"\ud835\udcc7",Rsh:"\u21b1",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",Sc:"\u2abc",sc:"\u227b",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227d",scE:"\u2ab4",sce:"\u2ab0",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",searhk:"\u2925",seArr:"\u21d8",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",Square:"\u25a1",square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",Sub:"\u22d0",sub:"\u2282",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",Subset:"\u22d0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",Sum:"\u2211",sum:"\u2211",sung:"\u266a",Sup:"\u22d1",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",Supset:"\u22d1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swArr:"\u21d9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",Tilde:"\u223c",tilde:"\u02dc",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",Uarr:"\u219f",uArr:"\u21d1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrow:"\u2191",Uparrow:"\u21d1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",Updownarrow:"\u21d5",updownarrow:"\u2195",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",upsi:"\u03c5",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTee:"\u22a5",UpTeeArrow:"\u21a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",vArr:"\u21d5",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",Vbar:"\u2aeb",vBar:"\u2ae8",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22ab",Vdash:"\u22a9",vDash:"\u22a8",vdash:"\u22a2",Vdashl:"\u2ae6",Vee:"\u22c1",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",Wedge:"\u22c0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",Xi:"\u039e",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",Yuml:"\u0178",yuml:"\xff",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",Zfr:"\u2128",zfr:"\ud835\udd37",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",Zopf:"\u2124",zopf:"\ud835\udd6b",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},t.NGSP_UNICODE="\ue500",t.NAMED_ENTITIES.ngsp=t.NGSP_UNICODE})); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class bi{constructor({closedByChildren:e,implicitNamespacePrefix:t,contentType:r=vi.TagContentType.PARSABLE_DATA,closedByParent:n=!1,isVoid:i=!1,ignoreFirstLf:s=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,e&&e.length>0&&e.forEach((e=>this.closedByChildren[e]=!0)),this.isVoid=i,this.closedByParent=n||i,this.implicitNamespacePrefix=t||null,this.contentType=r,this.ignoreFirstLf=s}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}}var Fi=bi;let Ai,wi;var Ni=function(e){return wi||(Ai=new bi,wi={base:new bi({isVoid:!0}),meta:new bi({isVoid:!0}),area:new bi({isVoid:!0}),embed:new bi({isVoid:!0}),link:new bi({isVoid:!0}),img:new bi({isVoid:!0}),input:new bi({isVoid:!0}),param:new bi({isVoid:!0}),hr:new bi({isVoid:!0}),br:new bi({isVoid:!0}),source:new bi({isVoid:!0}),track:new bi({isVoid:!0}),wbr:new bi({isVoid:!0}),p:new bi({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new bi({closedByChildren:["tbody","tfoot"]}),tbody:new bi({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new bi({closedByChildren:["tbody"],closedByParent:!0}),tr:new bi({closedByChildren:["tr"],closedByParent:!0}),td:new bi({closedByChildren:["td","th"],closedByParent:!0}),th:new bi({closedByChildren:["td","th"],closedByParent:!0}),col:new bi({isVoid:!0}),svg:new bi({implicitNamespacePrefix:"svg"}),math:new bi({implicitNamespacePrefix:"math"}),li:new bi({closedByChildren:["li"],closedByParent:!0}),dt:new bi({closedByChildren:["dt","dd"]}),dd:new bi({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new bi({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new bi({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new bi({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new bi({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new bi({closedByChildren:["optgroup"],closedByParent:!0}),option:new bi({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new bi({ignoreFirstLf:!0}),listing:new bi({ignoreFirstLf:!0}),style:new bi({contentType:vi.TagContentType.RAW_TEXT}),script:new bi({contentType:vi.TagContentType.RAW_TEXT}),title:new bi({contentType:vi.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new bi({contentType:vi.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),wi[e]||Ai},ki=Object.defineProperty({HtmlTagDefinition:Fi,getHtmlTagDefinition:Ni},"__esModule",{value:!0});var Oi= +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class{constructor(e,t=-1){this.path=e,this.position=t}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(e){return e&&this.path[this.path.indexOf(e)-1]}childOf(e){return this.path[this.path.indexOf(e)+1]}first(e){for(let t=this.path.length-1;t>=0;t--){let r=this.path[t];if(r instanceof e)return r}}push(e){this.path.push(e)}pop(){return this.path.pop()}},xi=Object.defineProperty({AstPath:Oi},"__esModule",{value:!0});var Ii= +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class{constructor(e,t,r){this.value=e,this.sourceSpan=t,this.i18n=r,this.type="text"}visit(e,t){return e.visitText(this,t)}};var Pi=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="cdata"}visit(e,t){return e.visitCdata(this,t)}};var Ri=class{constructor(e,t,r,n,i,s){this.switchValue=e,this.type=t,this.cases=r,this.sourceSpan=n,this.switchValueSourceSpan=i,this.i18n=s}visit(e,t){return e.visitExpansion(this,t)}};var Li=class{constructor(e,t,r,n,i){this.value=e,this.expression=t,this.sourceSpan=r,this.valueSourceSpan=n,this.expSourceSpan=i}visit(e,t){return e.visitExpansionCase(this,t)}};var Bi=class{constructor(e,t,r,n=null,i=null,s=null){this.name=e,this.value=t,this.sourceSpan=r,this.valueSpan=n,this.nameSpan=i,this.i18n=s,this.type="attribute"}visit(e,t){return e.visitAttribute(this,t)}};class $i{constructor(e,t,r,n,i=null,s=null,o=null,a=null){this.name=e,this.attrs=t,this.children=r,this.sourceSpan=n,this.startSourceSpan=i,this.endSourceSpan=s,this.nameSpan=o,this.i18n=a,this.type="element"}visit(e,t){return e.visitElement(this,t)}}var qi=$i;var Mi=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="comment"}visit(e,t){return e.visitComment(this,t)}};var Ui=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="docType"}visit(e,t){return e.visitDocType(this,t)}};function Gi(e,t,r=null){const n=[],i=e.visit?t=>e.visit(t,r)||t.visit(e,r):t=>t.visit(e,r);return t.forEach((e=>{const t=i(e);t&&n.push(t)})),n}var ji=Gi;class Vi{constructor(){}visitElement(e,t){this.visitChildren(t,(t=>{t(e.attrs),t(e.children)}))}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,(t=>{t(e.cases)}))}visitExpansionCase(e,t){}visitChildren(e,t){let r=[],n=this;return t((function(t){t&&r.push(Gi(n,t,e))})),Array.prototype.concat.apply([],r)}}var Hi=Vi;function Xi(e){const t=e.sourceSpan.start.offset;let r=e.sourceSpan.end.offset;return e instanceof $i&&(e.endSourceSpan?r=e.endSourceSpan.end.offset:e.children&&e.children.length&&(r=Xi(e.children[e.children.length-1]).end)),{start:t,end:r}}var zi=function(e,t){const r=[];return Gi(new class extends Vi{visit(e,n){const i=Xi(e);if(!(i.start<=t&&t]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];var Ji=function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(null!=t){const e=t[0],r=t[1];Qi.forEach((t=>{if(t.test(e)||t.test(r))throw new Error(`['${e}', '${r}'] contains unusable interpolation symbol.`)}))}},Ki=Object.defineProperty({assertArrayOfStrings:Yi,assertInterpolationSymbols:Ji},"__esModule",{value:!0}),Zi=t((function(e,t){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(Ki.assertInterpolationSymbols("interpolation",e),new r(e[0],e[1])):t.DEFAULT_INTERPOLATION_CONFIG}}t.InterpolationConfig=r,t.DEFAULT_INTERPOLATION_CONFIG=new r("{{","}}")})),es=t((function(e,t){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0});const n=r;var i;!function(e){e[e.TAG_OPEN_START=0]="TAG_OPEN_START",e[e.TAG_OPEN_END=1]="TAG_OPEN_END",e[e.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",e[e.TAG_CLOSE=3]="TAG_CLOSE",e[e.TEXT=4]="TEXT",e[e.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",e[e.RAW_TEXT=6]="RAW_TEXT",e[e.COMMENT_START=7]="COMMENT_START",e[e.COMMENT_END=8]="COMMENT_END",e[e.CDATA_START=9]="CDATA_START",e[e.CDATA_END=10]="CDATA_END",e[e.ATTR_NAME=11]="ATTR_NAME",e[e.ATTR_QUOTE=12]="ATTR_QUOTE",e[e.ATTR_VALUE=13]="ATTR_VALUE",e[e.DOC_TYPE_START=14]="DOC_TYPE_START",e[e.DOC_TYPE_END=15]="DOC_TYPE_END",e[e.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",e[e.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",e[e.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",e[e.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",e[e.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",e[e.EOF=21]="EOF"}(i=t.TokenType||(t.TokenType={}));class s{constructor(e,t,r){this.type=e,this.parts=t,this.sourceSpan=r}}t.Token=s;class o extends B.ParseError{constructor(e,t,r){super(r,e),this.tokenType=t}}t.TokenError=o;class a{constructor(e,t){this.tokens=e,this.errors=t}}t.TokenizeResult=a,t.tokenize=function(e,t,r,n={}){return new D(new B.ParseSourceFile(e,t),r,n).tokenize()};const u=/\r\n?/g;function c(e){return`Unexpected character "${e===n.$EOF?"EOF":String.fromCharCode(e)}"`}function l(e){return`Unknown entity "${e}" - use the "&#;" or "&#x;" syntax`}class p{constructor(e){this.error=e}}class D{constructor(e,t,r){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=r.tokenizeExpansionForms||!1,this._interpolationConfig=r.interpolationConfig||Zi.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=r.leadingTriviaChars&&r.leadingTriviaChars.map((e=>e.codePointAt(0)||0)),this._canSelfClose=r.canSelfClose||!1,this._allowHtmComponentClosingTags=r.allowHtmComponentClosingTags||!1;const n=r.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=r.escapedString?new C(e,n):new E(e,n);try{this._cursor.init()}catch(e){this.handleError(e)}}_processCarriageReturns(e){return e.replace(u,"\n")}tokenize(){for(;this._cursor.peek()!==n.$EOF;){const e=this._cursor.clone();try{if(this._attemptCharCode(n.$LT))if(this._attemptCharCode(n.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(e):this._attemptStr("--")?this._consumeComment(e):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(n.$SLASH))this._consumeTagClose(e);else{const t=this._cursor.clone();this._attemptCharCode(n.$QUESTION)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(i.EOF),this._endToken([]),new a(function(e){const t=[];let r;for(let n=0;nthis._attemptStr("--\x3e"))),this._beginToken(i.COMMENT_END),this._requireStr("--\x3e"),this._endToken([])}_consumeBogusComment(e){this._beginToken(i.COMMENT_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===n.$GT)),this._beginToken(i.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(i.CDATA_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._attemptStr("]]>"))),this._beginToken(i.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(e){this._beginToken(i.DOC_TYPE_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===n.$GT)),this._beginToken(i.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const e=this._cursor.clone();let t="";for(;this._cursor.peek()!==n.$COLON&&!(((r=this._cursor.peek())n.$9));)this._cursor.advance();var r;let i;this._cursor.peek()===n.$COLON?(t=this._cursor.getChars(e),this._cursor.advance(),i=this._cursor.clone()):i=e,this._requireCharCodeUntilFn(d,""===t?0:1);return[t,this._cursor.getChars(i)]}_consumeTagOpen(e){let t,r,s,o=this.tokens.length;const a=this._cursor.clone(),u=[];try{if(!n.isAsciiLetter(this._cursor.peek()))throw this._createError(c(this._cursor.peek()),this._cursor.getSpan(e));for(s=this._consumeTagOpenStart(e),r=s.parts[0],t=s.parts[1],this._attemptCharCodeUntilFn(h);this._cursor.peek()!==n.$SLASH&&this._cursor.peek()!==n.$GT;){const[e,t]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(h),this._attemptCharCode(n.$EQ)){this._attemptCharCodeUntilFn(h);const r=this._consumeAttributeValue();u.push({prefix:e,name:t,value:r})}else u.push({prefix:e,name:t});this._attemptCharCodeUntilFn(h)}this._consumeTagOpenEnd()}catch(t){if(t instanceof p)return this._cursor=a,s&&(this.tokens.length=o),this._beginToken(i.TEXT,e),void this._endToken(["<"]);throw t}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===i.TAG_OPEN_END_VOID)return;const l=this._getTagContentType(t,r,this._fullNameStack.length>0,u);this._handleFullNameStackForTagOpen(r,t),l===vi.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(r,t,!1):l===vi.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(r,t,!0)}_consumeRawTextWithTagClose(e,t,r){this._consumeRawText(r,(()=>!!this._attemptCharCode(n.$LT)&&(!!this._attemptCharCode(n.$SLASH)&&(this._attemptCharCodeUntilFn(h),!!this._attemptStrCaseInsensitive(e?`${e}:${t}`:t)&&(this._attemptCharCodeUntilFn(h),this._attemptCharCode(n.$GT)))))),this._beginToken(i.TAG_CLOSE),this._requireCharCodeUntilFn((e=>e===n.$GT),3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(i.TAG_OPEN_START,e);const t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){const e=this._cursor.peek();if(e===n.$SQ||e===n.$DQ)throw this._createError(c(e),this._cursor.getSpan());this._beginToken(i.ATTR_NAME);const t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===n.$SQ||this._cursor.peek()===n.$DQ){this._beginToken(i.ATTR_QUOTE);const t=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(t)]),this._beginToken(i.ATTR_VALUE);const r=[];for(;this._cursor.peek()!==t;)r.push(this._readChar(!0));e=this._processCarriageReturns(r.join("")),this._endToken([e]),this._beginToken(i.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(t)])}else{this._beginToken(i.ATTR_VALUE);const t=this._cursor.clone();this._requireCharCodeUntilFn(d,1),e=this._processCarriageReturns(this._cursor.getChars(t)),this._endToken([e])}return e}_consumeTagOpenEnd(){const e=this._attemptCharCode(n.$SLASH)?i.TAG_OPEN_END_VOID:i.TAG_OPEN_END;this._beginToken(e),this._requireCharCode(n.$GT),this._endToken([])}_consumeTagClose(e){if(this._beginToken(i.TAG_CLOSE,e),this._attemptCharCodeUntilFn(h),this._allowHtmComponentClosingTags&&this._attemptCharCode(n.$SLASH))this._attemptCharCodeUntilFn(h),this._requireCharCode(n.$GT),this._endToken([]);else{const[e,t]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(h),this._requireCharCode(n.$GT),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}}_consumeExpansionFormStart(){this._beginToken(i.EXPANSION_FORM_START),this._requireCharCode(n.$LBRACE),this._endToken([]),this._expansionCaseStack.push(i.EXPANSION_FORM_START),this._beginToken(i.RAW_TEXT);const e=this._readUntil(n.$COMMA);this._endToken([e]),this._requireCharCode(n.$COMMA),this._attemptCharCodeUntilFn(h),this._beginToken(i.RAW_TEXT);const t=this._readUntil(n.$COMMA);this._endToken([t]),this._requireCharCode(n.$COMMA),this._attemptCharCodeUntilFn(h)}_consumeExpansionCaseStart(){this._beginToken(i.EXPANSION_CASE_VALUE);const e=this._readUntil(n.$LBRACE).trim();this._endToken([e]),this._attemptCharCodeUntilFn(h),this._beginToken(i.EXPANSION_CASE_EXP_START),this._requireCharCode(n.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(h),this._expansionCaseStack.push(i.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(i.EXPANSION_CASE_EXP_END),this._requireCharCode(n.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(h),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(i.EXPANSION_FORM_END),this._requireCharCode(n.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const e=this._cursor.clone();this._beginToken(i.TEXT,e);const t=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(t.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(t.push(this._interpolationConfig.end),this._inInterpolation=!1):t.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(t.join(""))])}_isTextEnd(){if(this._cursor.peek()===n.$LT||this._cursor.peek()===n.$EOF)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(this._cursor.peek()===n.$RBRACE&&this._isInExpansionCase())return!0}return!1}_readUntil(e){const t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===i.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===i.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==n.$LBRACE)return!1;if(this._interpolationConfig){const e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){const r=vi.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]!==r||this._fullNameStack.push(r)}_handleFullNameStackForTagClose(e,t){const r=vi.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]===r&&this._fullNameStack.pop()}}function h(e){return!n.isWhitespace(e)||e===n.$EOF}function d(e){return n.isWhitespace(e)||e===n.$GT||e===n.$SLASH||e===n.$SQ||e===n.$DQ||e===n.$EQ}function f(e){return e==n.$SEMICOLON||e==n.$EOF||!n.isAsciiHexDigit(e)}function m(e){return e==n.$SEMICOLON||e==n.$EOF||!n.isAsciiLetter(e)}function g(e){return e>=n.$a&&e<=n.$z?e-n.$a+n.$A:e}class E{constructor(e,t){if(e instanceof E)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object.assign({},e.state);else{if(!t)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=t.endPos,this.state={peek:-1,offset:t.startPos,line:t.startLine,column:t.startCol}}}clone(){return new E(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(e){return this.state.offset-e.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(e,t){if(e=e||this,t)for(e=e.clone();this.diff(e)>0&&-1!==t.indexOf(e.peek());)e.advance();return new B.ParseSourceSpan(new B.ParseLocation(e.file,e.state.offset,e.state.line,e.state.column),new B.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(e){return this.input.substring(e.state.offset,this.state.offset)}charAt(e){return this.input.charCodeAt(e)}advanceState(e){if(e.offset>=this.end)throw this.state=e,new T('Unexpected character "EOF"',this);const t=this.charAt(e.offset);t===n.$LF?(e.line++,e.column=0):n.isNewLine(t)||e.column++,e.offset++,this.updatePeek(e)}updatePeek(e){e.peek=e.offset>=this.end?n.$EOF:this.charAt(e.offset)}}class C extends E{constructor(e,t){e instanceof C?(super(e),this.internalState=Object.assign({},e.internalState)):(super(e,t),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new C(this)}getChars(e){const t=e.clone();let r="";for(;t.internalState.offsetthis.internalState.peek;if(e()===n.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),e()===n.$n)this.state.peek=n.$LF;else if(e()===n.$r)this.state.peek=n.$CR;else if(e()===n.$v)this.state.peek=n.$VTAB;else if(e()===n.$t)this.state.peek=n.$TAB;else if(e()===n.$b)this.state.peek=n.$BSPACE;else if(e()===n.$f)this.state.peek=n.$FF;else if(e()===n.$u)if(this.advanceState(this.internalState),e()===n.$LBRACE){this.advanceState(this.internalState);const t=this.clone();let r=0;for(;e()!==n.$RBRACE;)this.advanceState(this.internalState),r++;this.state.peek=this.decodeHexDigits(t,r)}else{const e=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,4)}else if(e()===n.$x){this.advanceState(this.internalState);const e=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,2)}else if(n.isOctalDigit(e())){let t="",r=0,i=this.clone();for(;n.isOctalDigit(e())&&r<3;)i=this.clone(),t+=String.fromCodePoint(e()),this.advanceState(this.internalState),r++;this.state.peek=parseInt(t,8),this.internalState=i.internalState}else n.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(e,t){const r=this.input.substr(e.internalState.offset,t),n=parseInt(r,16);if(isNaN(n))throw e.state=e.internalState,new T("Invalid hexadecimal escape sequence",e);return n}}class T{constructor(e,t){this.msg=e,this.cursor=t}}t.CursorError=T})); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class ts extends B.ParseError{constructor(e,t,r){super(t,r),this.elementName=e}static create(e,t,r){return new ts(e,t,r)}}var rs=ts;class ns{constructor(e,t){this.rootNodes=e,this.errors=t}}var is=ns;var ss=class{constructor(e){this.getTagDefinition=e}parse(e,t,r,n=!1,i){const s=e=>(t,...r)=>e(t.toLowerCase(),...r),o=n?this.getTagDefinition:s(this.getTagDefinition),a=e=>o(e).contentType,u=n?i:s(i),c=i?(e,t,r,n)=>{const i=u(e,t,r,n);return void 0!==i?i:a(e)}:a,l=es.tokenize(e,t,c,r),p=r&&r.canSelfClose||!1,D=r&&r.allowHtmComponentClosingTags||!1,h=new os(l.tokens,o,p,D,n).build();return new ns(h.rootNodes,l.errors.concat(h.errors))}};class os{constructor(e,t,r,n,i){this.tokens=e,this.getTagDefinition=t,this.canSelfClose=r,this.allowHtmComponentClosingTags=n,this.isTagNameCaseSensitive=i,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==es.TokenType.EOF;)this._peek.type===es.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===es.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===es.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===es.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===es.TokenType.TEXT||this._peek.type===es.TokenType.RAW_TEXT||this._peek.type===es.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===es.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===es.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new ns(this._rootNodes,this._errors)}_advance(){const e=this._peek;return this._index0)return this._errors=this._errors.concat(i.errors),null;const s=new B.ParseSourceSpan(e.sourceSpan.start,n.sourceSpan.end),o=new B.ParseSourceSpan(t.sourceSpan.start,n.sourceSpan.end);return new Wi.ExpansionCase(e.parts[0],i.rootNodes,s,e.sourceSpan,o)}_collectExpansionExpTokens(e){const t=[],r=[es.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==es.TokenType.EXPANSION_FORM_START&&this._peek.type!==es.TokenType.EXPANSION_CASE_EXP_START||r.push(this._peek.type),this._peek.type===es.TokenType.EXPANSION_CASE_EXP_END){if(!as(r,es.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(ts.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(r.pop(),0==r.length)return t}if(this._peek.type===es.TokenType.EXPANSION_FORM_END){if(!as(r,es.TokenType.EXPANSION_FORM_START))return this._errors.push(ts.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;r.pop()}if(this._peek.type===es.TokenType.EOF)return this._errors.push(ts.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;t.push(this._advance())}}_getText(e){let t=e.parts[0];if(t.length>0&&"\n"==t[0]){const e=this._getParentElement();null!=e&&0==e.children.length&&this.getTagDefinition(e.name).ignoreFirstLf&&(t=t.substring(1))}return t}_consumeText(e){const t=this._getText(e);t.length>0&&this._addToParent(new Wi.Text(t,e.sourceSpan))}_closeVoidElement(){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}_consumeStartTag(e){const t=e.parts[0],r=e.parts[1],n=[];for(;this._peek.type===es.TokenType.ATTR_NAME;)n.push(this._consumeAttr(this._advance()));const i=this._getElementFullName(t,r,this._getParentElement());let s=!1;if(this._peek.type===es.TokenType.TAG_OPEN_END_VOID){this._advance(),s=!0;const t=this.getTagDefinition(i);this.canSelfClose||t.canSelfClose||null!==vi.getNsPrefix(i)||t.isVoid||this._errors.push(ts.create(i,e.sourceSpan,`Only void and foreign elements can be self closed "${e.parts[1]}"`))}else this._peek.type===es.TokenType.TAG_OPEN_END&&(this._advance(),s=!1);const o=this._peek.sourceSpan.start,a=new B.ParseSourceSpan(e.sourceSpan.start,o),u=new B.ParseSourceSpan(e.sourceSpan.start.moveBy(1),e.sourceSpan.end),c=new Wi.Element(i,n,[],a,a,void 0,u);this._pushElement(c),s&&(this._popElement(i),c.endSourceSpan=a)}_pushElement(e){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}_consumeEndTag(e){const t=this.allowHtmComponentClosingTags&&0===e.parts.length?null:this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=e.sourceSpan),t&&this.getTagDefinition(t).isVoid)this._errors.push(ts.create(t,e.sourceSpan,`Void elements do not have end tags "${e.parts[1]}"`));else if(!this._popElement(t)){const r=`Unexpected closing tag "${t}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(ts.create(t,e.sourceSpan,r))}}_popElement(e){for(let t=this._elementStack.length-1;t>=0;t--){const r=this._elementStack[t];if(!e||(vi.getNsPrefix(r.name)?r.name==e:r.name.toLowerCase()==e.toLowerCase()))return this._elementStack.splice(t,this._elementStack.length-t),!0;if(!this.getTagDefinition(r.name).closedByParent)return!1}return!1}_consumeAttr(e){const t=vi.mergeNsAndName(e.parts[0],e.parts[1]);let r,n,i=e.sourceSpan.end,s="";if(this._peek.type===es.TokenType.ATTR_QUOTE){n=this._advance().sourceSpan.start}if(this._peek.type===es.TokenType.ATTR_VALUE){const e=this._advance();s=e.parts[0],i=e.sourceSpan.end,r=e.sourceSpan}if(this._peek.type===es.TokenType.ATTR_QUOTE){i=this._advance().sourceSpan.end,r=new B.ParseSourceSpan(n,i)}return new Wi.Attribute(t,s,new B.ParseSourceSpan(e.sourceSpan.start,i),r,e.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let e=null;for(let t=this._elementStack.length-1;t>=0;t--){if(!vi.isNgContainer(this._elementStack[t].name))return{parent:this._elementStack[t],container:e};e=this._elementStack[t]}return{parent:null,container:e}}_addToParent(e){const t=this._getParentElement();null!=t?t.children.push(e):this._rootNodes.push(e)}_insertBeforeContainer(e,t,r){if(t){if(e){const n=e.children.indexOf(t);e.children[n]=r}else this._rootNodes.push(r);r.children.push(t),this._elementStack.splice(this._elementStack.indexOf(t),0,r)}else this._addToParent(r),this._elementStack.push(r)}_getElementFullName(e,t,r){return""===e&&""===(e=this.getTagDefinition(t).implicitNamespacePrefix||"")&&null!=r&&(e=vi.getNsPrefix(r.name)),vi.mergeNsAndName(e,t)}}function as(e,t){return e.length>0&&e[e.length-1]===t}var us=Object.defineProperty({TreeError:rs,ParseTreeResult:is,Parser:ss},"__esModule",{value:!0}),cs=us,ls=cs.ParseTreeResult,ps=cs.TreeError; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */class Ds extends us.Parser{constructor(){super(ki.getHtmlTagDefinition)}parse(e,t,r,n=!1,i){return super.parse(e,t,r,n,i)}}var hs=Ds,ds=Object.defineProperty({ParseTreeResult:ls,TreeError:ps,HtmlParser:hs},"__esModule",{value:!0}),fs=vi.TagContentType;let ms=null;var gs=function(e,t={}){const{canSelfClose:r=!1,allowHtmComponentClosingTags:n=!1,isTagNameCaseSensitive:i=!1,getTagContentType:s}=t;return(ms||(ms=new ds.HtmlParser),ms).parse(e,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:n},i,s)},Es=Object.defineProperty({TagContentType:fs,parse:gs},"__esModule",{value:!0});const{ParseSourceSpan:Cs,ParseLocation:Ts,ParseSourceFile:ys}=B,{inferParserByLanguage:Ss}=Pn,{HTML_ELEMENT_ATTRIBUTES:_s,HTML_TAGS:vs,isUnknownNamespace:bs}=Di,{hasPragma:Fs}=hi,{Node:As}=Ci,{parseIeConditionalComment:ws}=Si,{locStart:Ns,locEnd:ks}=_i;function Os(e,{recognizeSelfClosing:t,normalizeTagName:r,normalizeAttributeName:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:s,getTagContentType:o},a){const u=Es,{RecursiveVisitor:c,visitAll:l}=Wi,{ParseSourceSpan:p}=B,{getHtmlTagDefinition:D}=ki;let{rootNodes:h,errors:d}=u.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:s,getTagContentType:o});if("vue"===a.parser){if(h.some((e=>"docType"===e.type&&"html"===e.value||"element"===e.type&&"html"===e.name.toLowerCase()))){t=!0,r=!0,n=!0,i=!0,s=!1;const o=u.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:s});h=o.rootNodes,d=o.errors}else{const r=e=>{if(!e)return!1;if("element"!==e.type||"template"!==e.name)return!1;const t=e.attrs.find((e=>"lang"===e.name)),r=t&&t.value;return!r||"html"===Ss(r,a)};if(h.some(r)){let n;const o=()=>u.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:s}),a=()=>n||(n=o()),c=e=>a().rootNodes.find((({startSourceSpan:t})=>t&&t.start.offset===e.startSourceSpan.start.offset));for(let e=0;e0){const{msg:e,span:{start:t,end:r}}=d[0];throw U(e,{start:{line:t.line+1,column:t.col+1},end:{line:r.line+1,column:r.col+1}})}const f=e=>{const t=e.name.startsWith(":")?e.name.slice(1).split(":")[0]:null,r=e.nameSpan.toString(),n=null!==t&&r.startsWith(`${t}:`),i=n?r.slice(t.length+1):r;e.name=i,e.namespace=t,e.hasExplicitNamespace=n},m=(e,t)=>{const r=e.toLowerCase();return t(r)?r:e};return l(new class extends c{visit(e){(e=>{if("element"===e.type){f(e);for(const t of e.attrs)f(t),t.valueSpan?(t.value=t.valueSpan.toString(),/["']/.test(t.value[0])&&(t.value=t.value.slice(1,-1))):t.value=null}else"comment"===e.type?e.value=e.sourceSpan.toString().slice("\x3c!--".length,-"--\x3e".length):"text"===e.type&&(e.value=e.sourceSpan.toString())})(e),(e=>{if("element"===e.type){const t=D(s?e.name:e.name.toLowerCase());!e.namespace||e.namespace===t.implicitNamespacePrefix||bs(e)?e.tagDefinition=t:e.tagDefinition=D("")}})(e),(e=>{if("element"===e.type&&(!r||e.namespace&&e.namespace!==e.tagDefinition.implicitNamespacePrefix&&!bs(e)||(e.name=m(e.name,(e=>e in vs))),n)){const t=_s[e.name]||Object.create(null);for(const r of e.attrs)r.namespace||(r.name=m(r.name,(r=>e.name in _s&&(r in _s["*"]||r in t))))}})(e),(e=>{e.sourceSpan&&e.endSourceSpan&&(e.sourceSpan=new p(e.sourceSpan.start,e.endSourceSpan.end))})(e)}},h),h}function xs(e,t,r,n=!0){const{frontMatter:i,content:s}=n?q(e):{frontMatter:null,content:e},o=new ys(e,t.filepath),a=new Ts(o,0,0,0),u=a.moveBy(e.length),c={type:"root",sourceSpan:new Cs(a,u),children:Os(s,r,t)};if(i){const e=new Ts(o,0,0,0),t=e.moveBy(i.raw.length);i.sourceSpan=new Cs(e,t),c.children.unshift(i)}const l=new As(c),p=(n,i)=>{const{offset:s}=i,o=xs(e.slice(0,s).replace(/[^\n\r]/g," ")+n,t,r,!1);o.sourceSpan=new Cs(i,M(o.children).sourceSpan.end);const a=o.children[0];return a.length===s?o.children.shift():(a.sourceSpan=new Cs(a.sourceSpan.start.moveBy(s),a.sourceSpan.end),a.value=a.value.slice(s)),o};return l.map((e=>{if("comment"===e.type){const t=ws(e,p);if(t)return t}return e}))}function Is({recognizeSelfClosing:e=!1,normalizeTagName:t=!1,normalizeAttributeName:r=!1,allowHtmComponentClosingTags:n=!1,isTagNameCaseSensitive:i=!1,getTagContentType:s}={}){return{parse:(o,a,u)=>xs(o,u,{recognizeSelfClosing:e,normalizeTagName:t,normalizeAttributeName:r,allowHtmComponentClosingTags:n,isTagNameCaseSensitive:i,getTagContentType:s}),hasPragma:Fs,astFormat:"html",locStart:Ns,locEnd:ks}}var Ps={parsers:{html:Is({recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Is(),vue:Is({recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,t,r,n)=>{if("html"!==e.toLowerCase()&&!r&&("template"!==e||n.some((({name:e,value:t})=>"lang"===e&&"html"!==t))))return Es.TagContentType.RAW_TEXT}}),lwc:Is()}};export default Ps; diff --git a/node_modules/prettier/esm/parser-markdown.mjs b/node_modules/prettier/esm/parser-markdown.mjs new file mode 100644 index 000000000..2f40c34f2 --- /dev/null +++ b/node_modules/prettier/esm/parser-markdown.mjs @@ -0,0 +1,34 @@ +var e=function(){for(var e={},r=0;r>18&63]+o[e>>12&63]+o[e>>6&63]+o[63&e]}function D(e,t,r){for(var n,u=[],i=t;if?f:c+a));return 1===n?(t=e[r-1],u+=o[t>>2],u+=o[t<<4&63],u+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],u+=o[t>>10],u+=o[t>>4&63],u+=o[t<<2&63],u+="="),i.push(u),i.join("")}function h(e,t,r,n,u){var i,o,a=8*u-n-1,c=(1<>1,l=-7,f=r?u-1:0,D=r?-1:1,p=e[t+f];for(f+=D,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+e[t+f],f+=D,l-=8);for(o=i&(1<<-l)-1,i>>=-l,l+=n;l>0;o=256*o+e[t+f],f+=D,l-=8);if(0===i)i=1-s;else{if(i===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=s}return(p?-1:1)*o*Math.pow(2,i-n)}function d(e,t,r,n,u,i){var o,a,c,s=8*i-u-1,l=(1<>1,D=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,h=n?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+f>=1?D/c:D*Math.pow(2,1-f))*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(t*c-1)*Math.pow(2,u),o+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,u),o=0));u>=8;e[r+p]=255&a,p+=h,a/=256,u-=8);for(o=o<0;e[r+p]=255&o,p+=h,o/=256,s-=8);e[r+p-h]|=128*d}var g={}.toString,m=Array.isArray||function(e){return"[object Array]"==g.call(e)};function E(){return v.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function y(e,t){if(E()=E())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+E().toString(16)+" bytes");return 0|e}function k(e){return!(null==e||!e._isBuffer)}function O(e,t){if(k(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return ee(e).length;default:if(n)return Q(e).length;t=(""+t).toLowerCase(),n=!0}}function T(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return M(this,t,r);case"utf8":case"utf-8":return _(this,t,r);case"ascii":return U(this,t,r);case"latin1":case"binary":return $(this,t,r);case"base64":return j(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function S(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function I(e,t,r,n,u){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=u?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(u)return-1;r=e.length-1}else if(r<0){if(!u)return-1;r=0}if("string"==typeof t&&(t=v.from(t,n)),k(t))return 0===t.length?-1:R(e,t,r,n,u);if("number"==typeof t)return t&=255,v.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?u?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):R(e,[t],r,n,u);throw new TypeError("val must be string, number or Buffer")}function R(e,t,r,n,u){var i,o=1,a=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,r/=2}function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(u){var l=-1;for(i=r;ia&&(r=a-c),i=r;i>=0;i--){for(var f=!0,D=0;Du&&(n=u):n=u;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;o>8,u=r%256,i.push(u),i.push(n);return i}(t,e.length-r),e,r,n)}function j(e,t,r){return 0===t&&r===e.length?p(e):p(e.slice(t,r))}function _(e,t,r){r=Math.min(e.length,r);for(var n=[],u=t;u239?4:s>223?3:s>191?2:1;if(u+f<=r)switch(f){case 1:s<128&&(l=s);break;case 2:128==(192&(i=e[u+1]))&&(c=(31&s)<<6|63&i)>127&&(l=c);break;case 3:i=e[u+1],o=e[u+2],128==(192&i)&&128==(192&o)&&(c=(15&s)<<12|(63&i)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:i=e[u+1],o=e[u+2],a=e[u+3],128==(192&i)&&128==(192&o)&&128==(192&a)&&(c=(15&s)<<18|(63&i)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),u+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},v.prototype.compare=function(e,t,r,n,u){if(!k(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===u&&(u=this.length),t<0||r>e.length||n<0||u>this.length)throw new RangeError("out of range index");if(n>=u&&t>=r)return 0;if(n>=u)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(u>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),a=Math.min(i,o),c=this.slice(n,u),s=e.slice(t,r),l=0;lu)&&(r=u),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return x(this,e,t,r);case"utf8":case"utf-8":return B(this,e,t,r);case"ascii":return N(this,e,t,r);case"latin1":case"binary":return L(this,e,t,r);case"base64":return P(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U(e,t,r){var n="";r=Math.min(e.length,r);for(var u=t;un)&&(r=n);for(var u="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function V(e,t,r,n,u,i){if(!k(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>u||te.length)throw new RangeError("Index out of range")}function Y(e,t,r,n){t<0&&(t=65535+t+1);for(var u=0,i=Math.min(e.length-r,2);u>>8*(n?u:1-u)}function H(e,t,r,n){t<0&&(t=4294967295+t+1);for(var u=0,i=Math.min(e.length-r,4);u>>8*(n?u:3-u)&255}function X(e,t,r,n,u,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function W(e,t,r,n,u){return u||X(e,0,r,4),d(e,t,r,n,23,4),r+4}function Z(e,t,r,n,u){return u||X(e,0,r,8),d(e,t,r,n,52,8),r+8}v.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(u*=256);)n+=this[e+--t]*u;return n},v.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},v.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},v.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},v.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},v.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},v.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var n=this[e],u=1,i=0;++i=(u*=128)&&(n-=Math.pow(2,8*t)),n},v.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var n=t,u=1,i=this[e+--n];n>0&&(u*=256);)i+=this[e+--n]*u;return i>=(u*=128)&&(i-=Math.pow(2,8*t)),i},v.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},v.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},v.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},v.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),h(this,e,!0,23,4)},v.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),h(this,e,!1,23,4)},v.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),h(this,e,!0,52,8)},v.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),h(this,e,!1,52,8)},v.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||V(this,e,t,r,Math.pow(2,8*r)-1,0);var u=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+u]=e/i&255;return t+r},v.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,1,255,0),v.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},v.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,2,65535,0),v.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},v.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,2,65535,0),v.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},v.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,4,4294967295,0),v.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):H(this,e,t,!0),t+4},v.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,4,4294967295,0),v.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):H(this,e,t,!1),t+4},v.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var u=Math.pow(2,8*r-1);V(this,e,t,r,u-1,-u)}var i=0,o=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+r},v.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var u=Math.pow(2,8*r-1);V(this,e,t,r,u-1,-u)}var i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+r},v.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,1,127,-128),v.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},v.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,2,32767,-32768),v.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},v.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,2,32767,-32768),v.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},v.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,4,2147483647,-2147483648),v.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):H(this,e,t,!0),t+4},v.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||V(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),v.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):H(this,e,t,!1),t+4},v.prototype.writeFloatLE=function(e,t,r){return W(this,e,t,!0,r)},v.prototype.writeFloatBE=function(e,t,r){return W(this,e,t,!1,r)},v.prototype.writeDoubleLE=function(e,t,r){return Z(this,e,t,!0,r)},v.prototype.writeDoubleBE=function(e,t,r){return Z(this,e,t,!1,r)},v.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--u)e[u+t]=this[u+r];else if(i<1e3||!v.TYPED_ARRAY_SUPPORT)for(u=0;u>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!u){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}u=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),u=r;continue}r=65536+(u-55296<<10|r-56320)}else u&&(t-=3)>-1&&i.push(239,191,189);if(u=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function ee(e){return function(e){var t,r,n,u,i,o;s||l();var f=e.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[f-2]?2:"="===e[f-1]?1:0,o=new c(3*f/4-i),n=i>0?f-4:f;var D=0;for(t=0,r=0;t>16&255,o[D++]=u>>8&255,o[D++]=255&u;return 2===i?(u=a[e.charCodeAt(t)]<<2|a[e.charCodeAt(t+1)]>>4,o[D++]=255&u):1===i&&(u=a[e.charCodeAt(t)]<<10|a[e.charCodeAt(t+1)]<<4|a[e.charCodeAt(t+2)]>>2,o[D++]=u>>8&255,o[D++]=255&u),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(J,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function te(e,t,r,n){for(var u=0;u=t.length||u>=e.length);++u)t[u+r]=e[u];return u}function re(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ne(){throw new Error("setTimeout has not been defined")}function ue(){throw new Error("clearTimeout has not been defined")}var ie=ne,oe=ue;function ae(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===ne||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}"function"==typeof i.setTimeout&&(ie=setTimeout),"function"==typeof i.clearTimeout&&(oe=clearTimeout);var ce,se=[],le=!1,fe=-1;function De(){le&&ce&&(le=!1,ce.length?se=ce.concat(se):fe=-1,se.length&&pe())}function pe(){if(!le){var e=ae(De);le=!0;for(var t=se.length;t;){for(ce=se,se=[];++fe1)for(var r=1;r=u)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),$e(t)?r.showHidden=t:t&&ot(r,t),He(r.showHidden)&&(r.showHidden=!1),He(r.depth)&&(r.depth=2),He(r.colors)&&(r.colors=!1),He(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Le),qe(r,e,r.depth)}function Le(e,t){var r=Ne.styles[t];return r?"\x1b["+Ne.colors[r][0]+"m"+e+"\x1b["+Ne.colors[r][1]+"m":e}function Pe(e,t){return e}function qe(e,t,r){if(e.customInspect&&t&&Ke(t.inspect)&&t.inspect!==Ne&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ve(n)||(n=qe(e,n,r)),n}var u=function(e,t){if(He(t))return e.stylize("undefined","undefined");if(Ve(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Ge(t))return e.stylize(""+t,"number");if($e(t))return e.stylize(""+t,"boolean");if(Me(t))return e.stylize("null","null")}(e,t);if(u)return u;var i=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Je(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return je(t);if(0===i.length){if(Ke(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(Xe(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ze(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Je(t))return je(t)}var c,s="",l=!1,f=["{","}"];(Ue(t)&&(l=!0,f=["[","]"]),Ke(t))&&(s=" [Function"+(t.name?": "+t.name:"")+"]");return Xe(t)&&(s=" "+RegExp.prototype.toString.call(t)),Ze(t)&&(s=" "+Date.prototype.toUTCString.call(t)),Je(t)&&(s=" "+je(t)),0!==i.length||l&&0!=t.length?r<0?Xe(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=l?function(e,t,r,n,u){for(var i=[],o=0,a=t.length;o60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,s,f)):f[0]+s+f[1]}function je(e){return"["+Error.prototype.toString.call(e)+"]"}function _e(e,t,r,n,u,i){var o,a,c;if((c=Object.getOwnPropertyDescriptor(t,u)||{value:t[u]}).get?a=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(a=e.stylize("[Setter]","special")),at(n,u)||(o="["+u+"]"),a||(e.seen.indexOf(c.value)<0?(a=Me(r)?qe(e,c.value,null):qe(e,c.value,r-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),He(o)){if(i&&u.match(/^\d+$/))return a;(o=JSON.stringify(""+u)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function Ue(e){return Array.isArray(e)}function $e(e){return"boolean"==typeof e}function Me(e){return null===e}function ze(e){return null==e}function Ge(e){return"number"==typeof e}function Ve(e){return"string"==typeof e}function Ye(e){return"symbol"==typeof e}function He(e){return void 0===e}function Xe(e){return We(e)&&"[object RegExp]"===tt(e)}function We(e){return"object"==typeof e&&null!==e}function Ze(e){return We(e)&&"[object Date]"===tt(e)}function Je(e){return We(e)&&("[object Error]"===tt(e)||e instanceof Error)}function Ke(e){return"function"==typeof e}function Qe(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function et(e){return v.isBuffer(e)}function tt(e){return Object.prototype.toString.call(e)}function rt(e){return e<10?"0"+e.toString(10):e.toString(10)}Ne.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Ne.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var nt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ut(){var e=new Date,t=[rt(e.getHours()),rt(e.getMinutes()),rt(e.getSeconds())].join(":");return[e.getDate(),nt[e.getMonth()],t].join(" ")}function it(){console.log("%s - %s",ut(),Se.apply(null,arguments))}function ot(e,t){if(!t||!We(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function at(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var ct={inherits:Oe,_extend:ot,log:it,isBuffer:et,isPrimitive:Qe,isFunction:Ke,isError:Je,isDate:Ze,isObject:We,isRegExp:Xe,isUndefined:He,isSymbol:Ye,isString:Ve,isNumber:Ge,isNullOrUndefined:ze,isNull:Me,isBoolean:$e,isArray:Ue,inspect:Ne,deprecate:Ie,format:Se,debuglog:Be},st=Object.freeze({__proto__:null,format:Se,deprecate:Ie,debuglog:Be,inspect:Ne,isArray:Ue,isBoolean:$e,isNull:Me,isNullOrUndefined:ze,isNumber:Ge,isString:Ve,isSymbol:Ye,isUndefined:He,isRegExp:Xe,isObject:We,isDate:Ze,isError:Je,isFunction:Ke,isPrimitive:Qe,isBuffer:et,log:it,inherits:Oe,_extend:ot,default:ct}),lt=u((function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}})),ft=n(st),Dt=u((function(e){try{var t=ft;if("function"!=typeof t.inherits)throw"";e.exports=t.inherits}catch(t){e.exports=lt}})),pt=function(t){var r,n,u;for(n in Dt(o,t),Dt(i,o),r=o.prototype)(u=r[n])&&"object"==typeof u&&(r[n]="concat"in u?u.concat():e(u));return o;function i(e){return t.apply(this,e)}function o(){return this instanceof o?t.apply(this,arguments):new i(arguments)}};var ht=function(e,t,r){return function(){var n=r||this,u=n[e];return n[e]=!t,i;function i(){n[e]=u}}};var dt=function(e){var t=String(e),r=[],n=/\r?\n|\r/g;for(;n.exec(t);)r.push(n.lastIndex);return r.push(t.length+1),{toPoint:u,toPosition:u,toOffset:function(e){var t,n=e&&e.line,u=e&&e.column;isNaN(n)||isNaN(u)||!(n-1 in r)||(t=(r[n-2]||0)+u-1||0);return t>-1&&t-1&&ee)return{line:t+1,column:e-(r[t-1]||0)+1,offset:e};return{}}};var gt=function(e,t){return function(r){var n,u=0,i=r.indexOf("\\"),o=e[t],a=[];for(;-1!==i;)a.push(r.slice(u,i)),u=i+1,(n=r.charAt(u))&&-1!==o.indexOf(n)||a.push("\\"),i=r.indexOf("\\",u+1);return a.push(r.slice(u)),a.join("")}};var mt={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Acirc:"\xc2",Agrave:"\xc0",Aring:"\xc5",Atilde:"\xc3",Auml:"\xc4",COPY:"\xa9",Ccedil:"\xc7",ETH:"\xd0",Eacute:"\xc9",Ecirc:"\xca",Egrave:"\xc8",Euml:"\xcb",GT:">",Iacute:"\xcd",Icirc:"\xce",Igrave:"\xcc",Iuml:"\xcf",LT:"<",Ntilde:"\xd1",Oacute:"\xd3",Ocirc:"\xd4",Ograve:"\xd2",Oslash:"\xd8",Otilde:"\xd5",Ouml:"\xd6",QUOT:'"',REG:"\xae",THORN:"\xde",Uacute:"\xda",Ucirc:"\xdb",Ugrave:"\xd9",Uuml:"\xdc",Yacute:"\xdd",aacute:"\xe1",acirc:"\xe2",acute:"\xb4",aelig:"\xe6",agrave:"\xe0",amp:"&",aring:"\xe5",atilde:"\xe3",auml:"\xe4",brvbar:"\xa6",ccedil:"\xe7",cedil:"\xb8",cent:"\xa2",copy:"\xa9",curren:"\xa4",deg:"\xb0",divide:"\xf7",eacute:"\xe9",ecirc:"\xea",egrave:"\xe8",eth:"\xf0",euml:"\xeb",frac12:"\xbd",frac14:"\xbc",frac34:"\xbe",gt:">",iacute:"\xed",icirc:"\xee",iexcl:"\xa1",igrave:"\xec",iquest:"\xbf",iuml:"\xef",laquo:"\xab",lt:"<",macr:"\xaf",micro:"\xb5",middot:"\xb7",nbsp:"\xa0",not:"\xac",ntilde:"\xf1",oacute:"\xf3",ocirc:"\xf4",ograve:"\xf2",ordf:"\xaa",ordm:"\xba",oslash:"\xf8",otilde:"\xf5",ouml:"\xf6",para:"\xb6",plusmn:"\xb1",pound:"\xa3",quot:'"',raquo:"\xbb",reg:"\xae",sect:"\xa7",shy:"\xad",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",szlig:"\xdf",thorn:"\xfe",times:"\xd7",uacute:"\xfa",ucirc:"\xfb",ugrave:"\xf9",uml:"\xa8",uuml:"\xfc",yacute:"\xfd",yen:"\xa5",yuml:"\xff"},Et={0:"\ufffd",128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"},yt=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57};var vt=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57};var bt=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90};var Ct=function(e){return bt(e)||yt(e)};var At={AEli:"\xc6",AElig:"\xc6",AM:"&",AMP:"&",Aacut:"\xc1",Aacute:"\xc1",Abreve:"\u0102",Acir:"\xc2",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrav:"\xc0",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",Arin:"\xc5",Aring:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",Atild:"\xc3",Atilde:"\xc3",Aum:"\xc4",Auml:"\xc4",Backslash:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",Bscr:"\u212c",Bumpeq:"\u224e",CHcy:"\u0427",COP:"\xa9",COPY:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",Cayleys:"\u212d",Ccaron:"\u010c",Ccedi:"\xc7",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"\u212d",Chi:"\u03a7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2a74",Congruent:"\u2261",Conint:"\u222f",ContourIntegral:"\u222e",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",Diamond:"\u22c4",DifferentialD:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",Downarrow:"\u21d3",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ET:"\xd0",ETH:"\xd0",Eacut:"\xc9",Eacute:"\xc9",Ecaron:"\u011a",Ecir:"\xca",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrav:"\xc8",Egrave:"\xc8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",Equilibrium:"\u21cc",Escr:"\u2130",Esim:"\u2a73",Eta:"\u0397",Eum:"\xcb",Euml:"\xcb",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xcd",Iacute:"\xcd",Icir:"\xce",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xcc",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xcf",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntild:"\xd1",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacut:"\xd3",Oacute:"\xd3",Ocir:"\xd4",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograv:"\xd2",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslas:"\xd8",Oslash:"\xd8",Otild:"\xd5",Otilde:"\xd5",Otimes:"\u2a37",Oum:"\xd6",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUO:'"',QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",RE:"\xae",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THOR:"\xde",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacut:"\xda",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucir:"\xdb",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrav:"\xd9",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uum:"\xdc",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacut:"\xdd",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacut:"\xe1",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acir:"\xe2",acirc:"\xe2",acut:"\xb4",acute:"\xb4",acy:"\u0430",aeli:"\xe6",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrav:"\xe0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",am:"&",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",arin:"\xe5",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atild:"\xe3",atilde:"\xe3",aum:"\xe4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvba:"\xa6",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedi:"\xe7",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedi:"\xb8",cedil:"\xb8",cemptyv:"\u29b2",cen:"\xa2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",cop:"\xa9",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curre:"\xa4",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",de:"\xb0",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divid:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacut:"\xe9",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\xea",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrav:"\xe8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",et:"\xf0",eth:"\xf0",eum:"\xeb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac1:"\xbc",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac3:"\xbe",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",g:">",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xed",iacute:"\xed",ic:"\u2063",icir:"\xee",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexc:"\xa1",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrav:"\xec",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iques:"\xbf",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xef",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laqu:"\xab",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",mac:"\xaf",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micr:"\xb5",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middo:"\xb7",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbs:"\xa0",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",no:"\xac",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntild:"\xf1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacut:"\xf3",oacute:"\xf3",oast:"\u229b",ocir:"\xf4",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograv:"\xf2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\xba",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslas:"\xf8",oslash:"\xf8",osol:"\u2298",otild:"\xf5",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",oum:"\xf6",ouml:"\xf6",ovbar:"\u233d",par:"\xb6",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusm:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",poun:"\xa3",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quo:'"',quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raqu:"\xbb",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",re:"\xae",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xa7",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xad",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szli:"\xdf",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thor:"\xfe",thorn:"\xfe",tilde:"\u02dc",time:"\xd7",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacut:"\xfa",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucir:"\xfb",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrav:"\xf9",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",um:"\xa8",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uum:"\xfc",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacut:"\xfd",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",ye:"\xa5",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yum:"\xff",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},wt=function(e){return!!Ft.call(At,e)&&At[e]},Ft={}.hasOwnProperty;var kt=function(e,t){var r,n,u={};t||(t={});for(n in It)r=t[n],u[n]=null==r?It[n]:r;(u.position.indent||u.position.start)&&(u.indent=u.position.indent||[],u.position=u.position.start);return function(e,t){var r,n,u,i,o,a,c,s,l,f,D,p,h,d,g,m,E,y,v,b=t.additional,C=t.nonTerminated,A=t.text,w=t.reference,F=t.warning,k=t.textContext,O=t.referenceContext,T=t.warningContext,S=t.position,I=t.indent||[],R=e.length,x=0,B=-1,N=S.column||1,L=S.line||1,P="",q=[];"string"==typeof b&&(b=b.charCodeAt(0));m=j(),s=F?_:St,x--,R++;for(;++x65535&&(f+=Tt((a-=65536)>>>10|55296),a=56320|1023&a),a=f+Tt(a))):"named"!==d&&s(4,y)),a?(U(),m=j(),x=v-1,N+=v-h+1,q.push(a),(E=j()).offset++,w&&w.call(O,a,{start:m,end:E},e.slice(h-1,v)),m=E):(i=e.slice(h-1,v),P+=i,N+=i.length,x=v-1)}else 10===o&&(L++,B++,N=0),o==o?(P+=Tt(o),N++):U();return q.join("");function j(){return{line:L,column:N,offset:x+(S.offset||0)}}function _(e,t){var r=j();r.column+=t,r.offset+=t,F.call(T,Lt[e],r,e)}function U(){P&&(q.push(P),A&&A.call(k,P,{start:m,end:j()}),P="")}}(e,u)},Ot={}.hasOwnProperty,Tt=String.fromCharCode,St=Function.prototype,It={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},Rt="hexadecimal",xt="decimal",Bt={hexadecimal:16,decimal:10},Nt={};Nt.named=Ct,Nt[xt]=yt,Nt[Rt]=vt;var Lt={};function Pt(e){return e>=55296&&e<=57343||e>1114111}function qt(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}Lt[1]="Named character references must be terminated by a semicolon",Lt[2]="Numeric character references must be terminated by a semicolon",Lt[3]="Named character references cannot be empty",Lt[4]="Numeric character references cannot be empty",Lt[5]="Named character references must be known",Lt[6]="Numeric character references cannot be disallowed",Lt[7]="Numeric character references cannot be outside the permissible Unicode range";var jt=function(t){return n.raw=u,n;function r(e){for(var r=t.offset,n=e.line,u=[];++n&&n in r;)u.push((r[n]||0)+1);return{start:e,indent:u}}function n(e,n,u){kt(e,{position:r(n),warning:i,text:u,reference:u,textContext:t,referenceContext:t})}function u(t,n,u){return kt(t,e(u,{position:r(n),warning:i}))}function i(e,r,n){3!==n&&t.file.message(e,r)}};var _t=function(e){return function(t,r){var n,u,i,o,a,c=this,s=c.offset,l=[],f=c[e+"Methods"],D=c[e+"Tokenizers"],p=r.line,h=r.column;if(!t)return l;C.now=m,C.file=c.file,d("");for(;t;){for(n=-1,u=f.length,o=!1;++n"],Vt=Gt.concat(["~","|"]),Yt=Vt.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function Ht(e){var t=e||{};return t.commonmark?Yt:t.gfm?Vt:Gt}Ht.default=Gt,Ht.gfm=Vt,Ht.commonmark=Yt;var Xt={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},Wt=function(t){var r,n,u=this,i=u.options;if(null==t)t={};else{if("object"!=typeof t)throw new Error("Invalid value `"+t+"` for setting `options`");t=e(t)}for(r in Xt){if(null==(n=t[r])&&(n=i[r]),"blocks"!==r&&"boolean"!=typeof n||"blocks"===r&&"object"!=typeof n)throw new Error("Invalid value `"+n+"` for setting `options."+r+"`");t[r]=n}return u.options=t,u.escape=zt(t),u};var Zt=Jt;function Jt(e){if(null==e)return Kt;if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if("object"==typeof e)return"length"in e?function(e){var t=[],r=-1;for(;++r":""))+")");return f;function f(){var s,l,f=c.concat(o),D=[];if((!t||i(o,a,c[c.length-1]||null))&&false===(D=function(e){if(null!==e&&"object"==typeof e&&"length"in e)return e;if("number"==typeof e)return[true,e];return[e]}(r(o,c)))[0])return D;if(o.children&&"skip"!==D[0])for(l=(n?o.children.length:-1)+u;l>-1&&l + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */;var hr,dr="",gr=function(e,t){if("string"!=typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var r=e.length*t;if(hr!==e||void 0===hr)hr=e,dr="";else if(dr.length>=r)return dr.substr(0,r);for(;r>dr.length&&t>1;)1&t&&(dr+=e),t>>=1,e+=e;return dr=(dr+=e).substr(0,r)};var mr=function(e){return String(e).replace(/\n+$/,"")};var Er=function(e,t,r){var n,u,i,o=-1,a=t.length,c="",s="",l="",f="";for(;++o=4)){for(s="";y"!==t.charAt(C))return;if(r)return!0;C=0;for(;C"===t.charAt(C)?(C++,l=!0," "===t.charAt(C)&&C++):C=s,a=t.slice(C,o),!l&&!br(a)){C=s;break}if(!l&&(i=t.slice(C),Cr(d,h,D,[e,i,!0])))break;c=s===C?a:t.slice(s,o),b.push(C-s),y.push(c),v.push(a),C=o+1}C=-1,E=b.length,n=e(y.join("\n"));for(;++C6)return;if(!i||!o&&"#"===t.charAt(c+1))return;a=t.length+1,u="";for(;++c=3&&(!n||"\n"===n)?(s+=o,!!r||e(s)({type:"thematicBreak"})):void 0;o+=n}};var kr=function(e){var t,r=0,n=0,u=e.charAt(r),i={},o=0;for(;"\t"===u||" "===u;){for(n+=t="\t"===u?4:1,t>1&&(n=Math.floor(n/t)*t);o0&&n.indent=y.indent&&(F=!0),o=t.charAt(R),f=null,!F){if("*"===o||"+"===o||"-"===o)f=o,R++,n++;else{for(u="";R=y.indent||n>4):F=!0,l=!1,R=s;if(p=t.slice(s,c),D=s===R?p:t.slice(R,c),("*"===f||"_"===f||"-"===f)&&S.thematicBreak.call(k,e,p,!0))break;if(h=d,d=!l&&!br(D).length,F&&y)y.value=y.value.concat(E,p),m=m.concat(E,p),E=[];else if(l)0!==E.length&&(N=!0,y.value.push(""),y.trail=E.concat()),y={value:[p],indent:n,trail:[]},g.push(y),m=m.concat(E,p),E=[];else if(d){if(h&&!O)break;E.push(p)}else{if(h)break;if(Cr(I,S,k,[e,p,!0]))break;y.value=y.value.concat(E,p),m=m.concat(E,p),E=[]}R=c+1}C=e(m.join("\n")).reset({type:"list",ordered:i,start:B,spread:N,children:[]}),v=k.enterList(),b=k.enterBlock(),R=-1,x=g.length;for(;++R=3){l--;break}f+=i}n="",u="";for(;++l`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",_r="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Ur={openCloseTag:new RegExp("^(?:"+jr+"|"+_r+")"),tag:new RegExp("^(?:"+jr+"|"+_r+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},$r=function(e,t,r){var n,u,i,o,a,c,s,l=this.options.blocks.join("|"),f=new RegExp("^|$))","i"),D=t.length,p=0,h=[[Mr,zr,!0],[Gr,Vr,!0],[Yr,Hr,!0],[Xr,Wr,!0],[Zr,Jr,!0],[f,Kr,!0],[Qr,Kr,!1]];for(;p|$))/i,zr=/<\/(script|pre|style)>/i,Gr=/^/,Yr=/^<\?/,Hr=/\?>/,Xr=/^/,Zr=/^/,Kr=/^$/,Qr=new RegExp(Ur.openCloseTag.source+"\\s*$");var en=function(e){return rn.test("number"==typeof e?tn(e):e.charAt(0))},tn=String.fromCharCode,rn=/\s/;var nn=function(e){return String(e).replace(/\s+/g," ")};var un=function(e){return nn(e).toLowerCase()};var on=function(e,t,r){var n,u,i,o,a,c,s,l,f=this,D=f.options.commonmark,p=0,h=t.length,d="";for(;p"!==e&&"["!==e&&"]"!==e}function cn(e){return"["!==e&&"]"!==e&&!en(e)}an.delimiter=">";var sn=function(e,t,r){var n,u,i,o,a,c,s,l,f,D,p,h,d,g,m,E,y,v,b,C,A,w;if(!this.options.gfm)return;n=0,E=0,c=t.length+1,s=[];for(;nC){if(E<2)return;break}s.push(t.slice(n,C)),E++,n=C+1}o=s.join("\n"),u=s.splice(1,1)[0]||[],n=0,c=u.length,E--,i=!1,p=[];for(;n1&&(f?(o+=l.slice(0,-1),l=l.charAt(l.length-1)):(o+=l,l="")),g=e.now(),e(o)({type:"tableCell",children:this.tokenizeInline(h,g)},a)),e(l+f),l="",h=""):(l&&(h+=l,l=""),h+=f,"\\"===f&&n!==c-2&&(h+=y.charAt(n+1),n++)),d=!1,n++):(h?l+=f:e(f),n++);m||e("\n"+u)}return b};var ln=function(e,t,r){var n,u,i,o,a,c=this,s=c.options.commonmark,l=c.blockTokenizers,f=c.interruptParagraph,D=t.indexOf("\n"),p=t.length;for(;D=4&&"\n"!==i){D=t.indexOf("\n",D+1);continue}}if(u=t.slice(D+1),Cr(f,l,c,[e,u,!0]))break;if(n=D,-1!==(D=t.indexOf("\n",D+1))&&""===br(t.slice(n,D))){D=n;break}}if(u=t.slice(0,D),r)return!0;return a=e.now(),u=mr(u),e(u)({type:"paragraph",children:c.tokenizeInline(u,a)})};var fn=function(e,t){return e.indexOf("\\",t)};var Dn=pn;pn.locator=fn;function pn(e,t,r){var n,u;if("\\"===t.charAt(0)&&(n=t.charAt(1),-1!==this.escape.indexOf(n)))return!!r||(u="\n"===n?{type:"break"}:{type:"text",value:n},e("\\"+n)(u))}var hn=function(e,t){return e.indexOf("<",t)};var dn=mn;mn.locator=hn,mn.notInLink=!0;var gn="mailto:".length;function mn(e,t,r){var n,u,i,o,a,c=this,s="",l=t.length,f=0,D="",p=!1,h="";if("<"===t.charAt(0)){for(f++,s="<";f"===n||"@"===n||":"===n&&"/"===t.charAt(f+1)));)D+=n,f++;if(D){if(h+=D,D="",h+=n=t.charAt(f),f++,"@"===n)p=!0;else{if(":"!==n||"/"!==t.charAt(f+1))return;h+="/",f++}for(;f"!==n);)D+=n,f++;if(n=t.charAt(f),D&&">"===n)return!!r||(i=h+=D,s+=h+n,(u=e.now()).column++,u.offset++,p&&("mailto:"===h.slice(0,gn).toLowerCase()?(i=i.slice(gn),u.column+=gn,u.offset+=gn):h="mailto:"+h),o=c.inlineTokenizers,c.inlineTokenizers={text:o.text},a=c.enterLink(),i=c.tokenizeInline(i,u),c.inlineTokenizers=o,a(),e(s)({type:"link",title:null,url:kt(h,{nonTerminated:!1}),children:i}))}}}var En=function(e,t){var r,n=String(e),u=0;if("string"!=typeof t)throw new Error("Expected character");r=n.indexOf(t);for(;-1!==r;)u++,r=n.indexOf(t,r+t.length);return u};var yn=function(e,t){var r,n,u,i=-1;if(!this.options.gfm)return i;n=vn.length,r=-1;for(;++rf;)o=a+c.lastIndexOf(")"),c=t.slice(a,o),D--;if(59===t.charCodeAt(o-1)&&(o--,bt(t.charCodeAt(o-1)))){for(l=o-2;bt(t.charCodeAt(l));)l--;38===t.charCodeAt(l)&&(o=l)}return p=t.slice(0,o),d=kt(p,{nonTerminated:!1}),C&&(d="http://"+d),g=m.enterLink(),m.inlineTokenizers={text:y.text},h=m.tokenizeInline(p,e.now()),m.inlineTokenizers=y,g(),e(p)({type:"link",title:null,url:d,children:h})}}}var An=function e(t,r){var n,u;if(!this.options.gfm)return-1;if(-1===(n=t.indexOf("@",r)))return-1;if((u=n)===r||!wn(t.charCodeAt(u-1)))return e.call(this,t,n+1);for(;u>r&&wn(t.charCodeAt(u-1));)u--;return u};function wn(e){return yt(e)||bt(e)||43===e||45===e||46===e||95===e}var Fn=kn;kn.locator=An,kn.notInLink=!0;function kn(e,t,r){var n,u,i,o,a=this,c=a.options.gfm,s=a.inlineTokenizers,l=0,f=t.length,D=-1;if(c){for(n=t.charCodeAt(l);yt(n)||bt(n)||43===n||45===n||46===n||95===n;)n=t.charCodeAt(++l);if(0!==l&&64===n){for(l++;l/i;function Rn(e,t,r){var n,u,i=this,o=t.length;if(!("<"!==t.charAt(0)||o<3)&&(n=t.charAt(1),(bt(n)||"?"===n||"!"===n||"/"===n)&&(u=t.match(On))))return!!r||(u=u[0],!i.inLink&&Sn.test(u)?i.inLink=!0:i.inLink&&In.test(u)&&(i.inLink=!1),e(u)({type:"html",value:u}))}var xn=function(e,t){var r=e.indexOf("[",t),n=e.indexOf("![",t);if(-1===n)return r;return r=i&&(i=0):i=u}else if("\\"===w)A++,c+=t.charAt(A);else if(i&&!O||"["!==w){if((!i||O)&&"]"===w){if(!d){if("("!==t.charAt(A+1))return;c+="(",n=!0,A++;break}d--}}else d++;g+=c,c="",A++}if(n){for(f=g,C+=g+c,A++;A"!==(w=t.charAt(A));){if(k&&"\n"===w)return;g+=w,A++}if(">"!==t.charAt(A))return;C+="<"+g+">",m=g,A++}else{for(w=null,c="";A2&&(32===o||10===o)&&(32===a||10===a)){for(l++,s--;lt&&" "===e.charAt(r-1);)r--;return r};var Qn=eu;eu.locator=Kn;function eu(e,t,r){for(var n,u=t.length,i=-1,o="";++i + * @license MIT + */;var su=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},lu=Object.prototype.hasOwnProperty,fu=Object.prototype.toString,Du=Object.defineProperty,pu=Object.getOwnPropertyDescriptor,hu=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===fu.call(e)},du=function(e){if(!e||"[object Object]"!==fu.call(e))return!1;var t,r=lu.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&lu.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;for(t in e);return void 0===t||lu.call(e,t)},gu=function(e,t){Du&&"__proto__"===t.name?Du(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},mu=function(e,t){if("__proto__"===t){if(!lu.call(e,t))return;if(pu)return pu(e,t).value}return e[t]},Eu=function e(){var t,r,n,u,i,o,a=arguments[0],c=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},c=2),(null==a||"object"!=typeof a&&"function"!=typeof a)&&(a={});c{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},vu=[].slice,bu=function(e,t){var r;return function(){var t,i=vu.call(arguments,0),o=e.length>i.length;o&&i.push(n);try{t=e.apply(null,i)}catch(e){if(o&&r)throw e;return n(e)}o||(t&&"function"==typeof t.then?t.then(u,n):t instanceof Error?n(t):u(t))};function n(){r||(r=!0,t.apply(null,arguments))}function u(e){n(null,e)}};var Cu=wu;wu.wrap=bu;var Au=[].slice;function wu(){var e=[],t={run:function(){var t=-1,r=Au.call(arguments,0,-1),n=arguments[arguments.length-1];if("function"!=typeof n)throw new Error("Expected function as last argument, not "+n);function u(i){var o=e[++t],a=Au.call(arguments,0),c=a.slice(1),s=r.length,l=-1;if(i)n(i);else{for(;++l=0;n--){var u=e[n];"."===u?e.splice(n,1):".."===u?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}xu.file="",xu.name="",xu.reason="",xu.message="",xu.stack="",xu.fatal=null,xu.column=null,xu.line=null;var Lu=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Pu=function(e){return Lu.exec(e).slice(1)};function qu(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=Nu(Yu(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function ju(e){var t=_u(e),r="/"===Hu(e,-1);return(e=Nu(Yu(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function _u(e){return"/"===e.charAt(0)}function Uu(){var e=Array.prototype.slice.call(arguments,0);return ju(Yu(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function $u(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=qu(e).substr(1),t=qu(t).substr(1);for(var n=r(e.split("/")),u=r(t.split("/")),i=Math.min(n.length,u.length),o=i,a=0;a-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+Xu.sep+"`")}function ti(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function ri(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}Qu.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(Qu.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){ti(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(Qu.prototype,"dirname",{get:function(){return"string"==typeof this.path?Xu.dirname(this.path):void 0},set:function(e){ri(this.path,"dirname"),this.path=Xu.join(e||"",this.basename)}}),Object.defineProperty(Qu.prototype,"basename",{get:function(){return"string"==typeof this.path?Xu.basename(this.path):void 0},set:function(e){ti(e,"basename"),ei(e,"basename"),this.path=Xu.join(this.dirname||"",e)}}),Object.defineProperty(Qu.prototype,"extname",{get:function(){return"string"==typeof this.path?Xu.extname(this.path):void 0},set:function(e){if(ei(e,"extname"),ri(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=Xu.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(Qu.prototype,"stem",{get:function(){return"string"==typeof this.path?Xu.basename(this.path,this.extname):void 0},set:function(e){ti(e,"stem"),ei(e,"stem"),this.path=Xu.join(this.dirname||"",e+(this.extname||""))}});var ni=Zu;Zu.prototype.message=function(e,t,r){var n=new Iu(e,t,r);this.path&&(n.name=this.path+":"+n.name,n.file=this.path);return n.fatal=!1,this.messages.push(n),n},Zu.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},Zu.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e};var ui=ni,ii=function e(){var t,r=[],n=Cu(),u={},i=-1;return o.data=function(e,r){if("string"==typeof e)return 2===arguments.length?(Di("data",t),u[e]=r,o):ai.call(u,e)&&u[e]||null;if(e)return Di("data",t),u=e,o;return u},o.freeze=a,o.attachers=r,o.use=function(e){var n;if(Di("use",t),null==e);else if("function"==typeof e)l.apply(null,arguments);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?s(e):i(e)}n&&(u.settings=Eu(u.settings||{},n));return o;function i(e){s(e.plugins),e.settings&&(n=Eu(n||{},e.settings))}function a(e){if("function"==typeof e)l(e);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?l.apply(null,e):i(e)}}function s(e){var t=-1;if(null==e);else{if("object"!=typeof e||!("length"in e))throw new Error("Expected a list of plugins, not `"+e+"`");for(;++t57)&&(!D||36===a)){s=h-1,h++,D&&h++,l=h;break}}else 92===o&&(h++,a=r.charCodeAt(h+1));h++}if(void 0!==l)return!!n||(f=r.slice(c,s+1),e(r.slice(0,l))({type:"inlineMath",value:f,data:{hName:"span",hProperties:{className:mi.concat(D&&t.inlineMathDouble?["math-display"]:[])},hChildren:[{type:"text",value:f}]}}))}}}i.locator=u,r.inlineTokenizers.math=i,n.splice(n.indexOf("text"),0,"math")}(t,e);di.isRemarkCompiler(r)&&function(e){function t(e){let t="$";return(e.data&&e.data.hProperties&&e.data.hProperties.className||[]).includes("math-display")&&(t="$$"),t+e.value+t}e.prototype.visitors.inlineMath=t}(r)};const mi=["math","math-inline"];var Ei=function(){const e=this.Parser,t=this.Compiler;di.isRemarkParser(e)&&function(e){const t=e.prototype,r=t.blockMethods,n=t.interruptParagraph,u=t.interruptList,i=t.interruptBlockquote;function o(e,t,r){var n=t.length,u=0;let i,o,a,c,s,l,f,D,p,h,d;for(;uh&&32===t.charCodeAt(c-1);)c--;for(;c>h&&36===t.charCodeAt(c-1);)p++,c--;for(l<=p&&t.indexOf("$",h)===c&&(D=!0,d=c);h<=d&&h-uh&&32===t.charCodeAt(d-1);)d--;if(D&&h===d||o.push(t.slice(h,d)),D)break;u=a+1,a=t.indexOf("\n",u+1),a=-1===a?n:a}return o=o.join("\n"),e(t.slice(0,a))({type:"math",value:o,data:{hName:"div",hProperties:{className:yi.concat()},hChildren:[{type:"text",value:o}]}})}}}t.blockTokenizers.math=o,r.splice(r.indexOf("fencedCode")+1,0,"math"),n.splice(n.indexOf("fencedCode")+1,0,["math"]),u.splice(u.indexOf("fencedCode")+1,0,["math"]),i.splice(i.indexOf("fencedCode")+1,0,["math"])}(e);di.isRemarkCompiler(t)&&function(e){function t(e){return"$$\n"+e.value+"\n$$"}e.prototype.visitors.math=t}(t)};const yi=["math","math-display"];var vi=function(e){var t=e||{};Ei.call(this,t),gi.call(this,t)};var bi=function(e){var t=this.Parser,r=this.Compiler;(function(e){return Boolean(e&&e.prototype&&e.prototype.blockTokenizers)})(t)&&function(e,t){var r,n=t||{},u=e.prototype,i=u.blockTokenizers,o=u.inlineTokenizers,a=u.blockMethods,c=u.inlineMethods,s=i.definition,l=o.reference,f=[],D=-1,p=a.length;for(;++D4&&(p=void 0,h=b);else{if(p<4&&g&&(g.contentStart===g.contentEnd||Ai(E,i,m,[e,t.slice(b,1024),!0])))break;p=void 0,h=b}b++}for(b=-1,v=d.length;v>0&&(g=d[v-1]).contentStart===g.contentEnd;)v--;for(s=e(t.slice(0,g.contentEnd));++b-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");var Fi=function(e){const t=e.match(wi);if(!t)return{content:e};const{startDelimiter:r,language:n,value:u="",endDelimiter:i}=t.groups;let o=n.trim()||"yaml";if("+++"===r&&(o="toml"),"yaml"!==o&&r!==i)return{content:e};const[a]=t;return{frontMatter:{type:"front-matter",lang:o,value:u,startDelimiter:r,endDelimiter:i,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}};const ki=["format","prettier"];function Oi(e){const t=`@(${ki.join("|")})`,r=new RegExp([`\x3c!--\\s*${t}\\s*--\x3e`,`\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*${t}[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e`].join("|"),"m"),n=e.match(r);return n&&0===n.index}var Ti={startWithPragma:Oi,hasPragma:e=>Oi(Fi(e).content.trimStart()),insertPragma:e=>{const t=Fi(e),r=`\x3c!-- @${ki[0]} --\x3e`;return t.frontMatter?`${t.frontMatter.raw}\n\n${r}\n\n${t.content}`:`${r}\n\n${t.content}`}};var Si={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}},Ii=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const Ri=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var xi=Ri,Bi=Ri;xi.default=Bi;const Ni=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=Ii(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=xi(n)?2:1))}return t};var Li=Ni,Pi=Ni;Li.default=Pi;var qi=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var ji=e=>e[e.length-1];function _i(e,t){if(null==e)return{};var r,n,u=function(e,t){if(null==e)return{};var r,n,u={},i=Object.keys(e);for(n=0;n=0||(u[r]=e[r]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(u[r]=e[r])}return u}var Ui=function(e){return e&&e.Math==Math&&e},$i=Ui("object"==typeof globalThis&&globalThis)||Ui("object"==typeof window&&window)||Ui("object"==typeof self&&self)||Ui("object"==typeof r&&r)||function(){return this}()||Function("return this")(),Mi=function(e){try{return!!e()}catch(e){return!0}},zi=!Mi((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),Gi={}.propertyIsEnumerable,Vi=Object.getOwnPropertyDescriptor,Yi={f:Vi&&!Gi.call({1:2},1)?function(e){var t=Vi(this,e);return!!t&&t.enumerable}:Gi},Hi=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},Xi={}.toString,Wi=function(e){return Xi.call(e).slice(8,-1)},Zi="".split,Ji=Mi((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==Wi(e)?Zi.call(e,""):Object(e)}:Object,Ki=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},Qi=function(e){return Ji(Ki(e))},eo=function(e){return"object"==typeof e?null!==e:"function"==typeof e},to=function(e,t){if(!eo(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!eo(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!eo(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!eo(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},ro=function(e){return Object(Ki(e))},no={}.hasOwnProperty,uo=Object.hasOwn||function(e,t){return no.call(ro(e),t)},io=$i.document,oo=eo(io)&&eo(io.createElement),ao=!zi&&!Mi((function(){return 7!=Object.defineProperty(function(e){return oo?io.createElement(e):{}}("div"),"a",{get:function(){return 7}}).a})),co=Object.getOwnPropertyDescriptor,so={f:zi?co:function(e,t){if(e=Qi(e),t=to(t,!0),ao)try{return co(e,t)}catch(e){}if(uo(e,t))return Hi(!Yi.f.call(e,t),e[t])}},lo=function(e){if(!eo(e))throw TypeError(String(e)+" is not an object");return e},fo=Object.defineProperty,Do={f:zi?fo:function(e,t,r){if(lo(e),t=to(t,!0),lo(r),ao)try{return fo(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},po=zi?function(e,t,r){return Do.f(e,t,Hi(1,r))}:function(e,t,r){return e[t]=r,e},ho=function(e,t){try{po($i,e,t)}catch(r){$i[e]=t}return t},go=$i["__core-js_shared__"]||ho("__core-js_shared__",{}),mo=Function.toString;"function"!=typeof go.inspectSource&&(go.inspectSource=function(e){return mo.call(e)});var Eo,yo,vo,bo,Co=go.inspectSource,Ao=$i.WeakMap,wo="function"==typeof Ao&&/native code/.test(Co(Ao)),Fo=u((function(e){(e.exports=function(e,t){return go[e]||(go[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),ko=0,Oo=Math.random(),To=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++ko+Oo).toString(36)},So=Fo("keys"),Io={},Ro=$i.WeakMap;if(wo||go.state){var xo=go.state||(go.state=new Ro),Bo=xo.get,No=xo.has,Lo=xo.set;Eo=function(e,t){if(No.call(xo,e))throw new TypeError("Object already initialized");return t.facade=e,Lo.call(xo,e,t),t},yo=function(e){return Bo.call(xo,e)||{}},vo=function(e){return No.call(xo,e)}}else{var Po=So[bo="state"]||(So[bo]=To(bo));Io[Po]=!0,Eo=function(e,t){if(uo(e,Po))throw new TypeError("Object already initialized");return t.facade=e,po(e,Po,t),t},yo=function(e){return uo(e,Po)?e[Po]:{}},vo=function(e){return uo(e,Po)}}var qo,jo,_o={set:Eo,get:yo,has:vo,enforce:function(e){return vo(e)?yo(e):Eo(e,{})},getterFor:function(e){return function(t){var r;if(!eo(t)||(r=yo(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},Uo=u((function(e){var t=_o.get,r=_o.enforce,n=String(String).split("String");(e.exports=function(e,t,u,i){var o,a=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,s=!!i&&!!i.noTargetGet;"function"==typeof u&&("string"!=typeof t||uo(u,"name")||po(u,"name",t),(o=r(u)).source||(o.source=n.join("string"==typeof t?t:""))),e!==$i?(a?!s&&e[t]&&(c=!0):delete e[t],c?e[t]=u:po(e,t,u)):c?e[t]=u:ho(t,u)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||Co(this)}))})),$o=$i,Mo=function(e){return"function"==typeof e?e:void 0},zo=function(e,t){return arguments.length<2?Mo($o[e])||Mo($i[e]):$o[e]&&$o[e][t]||$i[e]&&$i[e][t]},Go=Math.ceil,Vo=Math.floor,Yo=function(e){return isNaN(e=+e)?0:(e>0?Vo:Go)(e)},Ho=Math.min,Xo=function(e){return e>0?Ho(Yo(e),9007199254740991):0},Wo=Math.max,Zo=Math.min,Jo=function(e){return function(t,r,n){var u,i=Qi(t),o=Xo(i.length),a=function(e,t){var r=Yo(e);return r<0?Wo(r+t,0):Zo(r,t)}(n,o);if(e&&r!=r){for(;o>a;)if((u=i[a++])!=u)return!0}else for(;o>a;a++)if((e||a in i)&&i[a]===r)return e||a||0;return!e&&-1}},Ko={includes:Jo(!0),indexOf:Jo(!1)}.indexOf,Qo=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),ea={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=Qi(e),u=0,i=[];for(r in n)!uo(Io,r)&&uo(n,r)&&i.push(r);for(;t.length>u;)uo(n,r=t[u++])&&(~Ko(i,r)||i.push(r));return i}(e,Qo)}},ta={f:Object.getOwnPropertySymbols},ra=zo("Reflect","ownKeys")||function(e){var t=ea.f(lo(e)),r=ta.f;return r?t.concat(r(e)):t},na=function(e,t){for(var r=ra(t),n=Do.f,u=so.f,i=0;i0&&pa(c))s=ga(e,t,c,Xo(c.length),s,i-1)-1;else{if(s>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[s]=c}s++}l++}return s},ma=ga,Ea=zo("navigator","userAgent")||"",ya=$i.process,va=ya&&ya.versions,ba=va&&va.v8;ba?jo=(qo=ba.split("."))[0]<4?1:qo[0]+qo[1]:Ea&&(!(qo=Ea.match(/Edge\/(\d+)/))||qo[1]>=74)&&(qo=Ea.match(/Chrome\/(\d+)/))&&(jo=qo[1]);var Ca=jo&&+jo,Aa=!!Object.getOwnPropertySymbols&&!Mi((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ca&&Ca<41})),wa=Aa&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Fa=Fo("wks"),ka=$i.Symbol,Oa=wa?ka:ka&&ka.withoutSetter||To,Ta=function(e){return uo(Fa,e)&&(Aa||"string"==typeof Fa[e])||(Aa&&uo(ka,e)?Fa[e]=ka[e]:Fa[e]=Oa("Symbol."+e)),Fa[e]},Sa=Ta("species"),Ia=function(e,t){var r;return pa(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!pa(r.prototype)?eo(r)&&null===(r=r[Sa])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)};Da({target:"Array",proto:!0},{flatMap:function(e){var t,r=ro(this),n=Xo(r.length);return ha(e),(t=Ia(r,0)).length=ma(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Ra,xa,Ba=Math.floor,Na=function(e,t){var r=e.length,n=Ba(r/2);return r<8?La(e,t):Pa(Na(e.slice(0,n),t),Na(e.slice(n),t),t)},La=function(e,t){for(var r,n,u=e.length,i=1;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},Pa=function(e,t,r){for(var n=e.length,u=t.length,i=0,o=0,a=[];i3)){if(Ua)return!0;if(Ma)return Ma<603;var e,t,r,n,u="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)za.push({k:t+n,v:r})}for(za.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;ni;i++)if((a=g(e[i]))&&a instanceof ic)return a;return new ic(!1)}n=u.call(e)}for(c=n.next;!(s=c.call(n)).done;){try{a=g(s.value)}catch(e){throw uc(n),e}if("object"==typeof a&&a&&a instanceof ic)return a}return new ic(!1)};Da({target:"Object",stat:!0},{fromEntries:function(e){var t={};return oc(e,(function(e,r){!function(e,t,r){var n=to(t);n in e?Do.f(e,n,Hi(0,r)):e[n]=r}(t,e,r)}),{AS_ENTRIES:!0}),t}});var ac="object"==typeof ke&&ke.env&&ke.env.NODE_DEBUG&&/\bsemver\b/i.test(ke.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var cc={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},sc=u((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=cc,n=(t=e.exports={}).re=[],u=t.src=[],i=t.t={};let o=0;const a=(e,t,r)=>{const a=o++;ac(a,t),i[e]=a,u[a]=t,n[a]=new RegExp(t,r?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${u[i.NUMERICIDENTIFIER]})\\.(${u[i.NUMERICIDENTIFIER]})\\.(${u[i.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${u[i.NUMERICIDENTIFIERLOOSE]})\\.(${u[i.NUMERICIDENTIFIERLOOSE]})\\.(${u[i.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${u[i.NUMERICIDENTIFIER]}|${u[i.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${u[i.NUMERICIDENTIFIERLOOSE]}|${u[i.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${u[i.PRERELEASEIDENTIFIER]}(?:\\.${u[i.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${u[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[i.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${u[i.BUILDIDENTIFIER]}(?:\\.${u[i.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${u[i.MAINVERSION]}${u[i.PRERELEASE]}?${u[i.BUILD]}?`),a("FULL",`^${u[i.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${u[i.MAINVERSIONLOOSE]}${u[i.PRERELEASELOOSE]}?${u[i.BUILD]}?`),a("LOOSE",`^${u[i.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${u[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${u[i.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${u[i.XRANGEIDENTIFIER]})(?:\\.(${u[i.XRANGEIDENTIFIER]})(?:\\.(${u[i.XRANGEIDENTIFIER]})(?:${u[i.PRERELEASE]})?${u[i.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${u[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[i.XRANGEIDENTIFIERLOOSE]})(?:${u[i.PRERELEASELOOSE]})?${u[i.BUILD]}?)?)?`),a("XRANGE",`^${u[i.GTLT]}\\s*${u[i.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${u[i.GTLT]}\\s*${u[i.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),a("COERCERTL",u[i.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${u[i.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",a("TILDE",`^${u[i.LONETILDE]}${u[i.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${u[i.LONETILDE]}${u[i.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${u[i.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",a("CARET",`^${u[i.LONECARET]}${u[i.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${u[i.LONECARET]}${u[i.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${u[i.GTLT]}\\s*(${u[i.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${u[i.GTLT]}\\s*(${u[i.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${u[i.GTLT]}\\s*(${u[i.LOOSEPLAIN]}|${u[i.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${u[i.XRANGEPLAIN]})\\s+-\\s+(${u[i.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${u[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[i.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const lc=["includePrerelease","loose","rtl"];var fc=e=>e?"object"!=typeof e?{loose:!0}:lc.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const Dc=/^[0-9]+$/,pc=(e,t)=>{const r=Dc.test(e),n=Dc.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:epc(t,e)};const{MAX_LENGTH:dc,MAX_SAFE_INTEGER:gc}=cc,{re:mc,t:Ec}=sc,{compareIdentifiers:yc}=hc;class vc{constructor(e,t){if(t=fc(t),e instanceof vc){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>dc)throw new TypeError(`version is longer than ${dc} characters`);ac("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?mc[Ec.LOOSE]:mc[Ec.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>gc||this.major<0)throw new TypeError("Invalid major version");if(this.minor>gc||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>gc||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var bc=vc;var Cc=(e,t,r)=>new bc(e,r).compare(new bc(t,r));var Ac=(e,t,r)=>Cc(e,t,r)<0;var wc=(e,t,r)=>Cc(e,t,r)>=0,Fc="2.3.2",kc=u((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Oc` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Oc` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Oc` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Oc` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Sc=["cliName","cliCategory","cliDescription"],Ic={compare:Cc,lt:Ac,gte:wc},Rc=Fc,xc={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Tc}.options;var Bc={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const u=Rc.split("-",1)[0],i=e.flatMap((e=>e.languages||[])).filter(s),o=(a=Object.assign({},...e.map((({options:e})=>e)),xc),c="name",Object.entries(a).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>s(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>Ic.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&l(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let o=u.name;i&&i.name&&(o+=` (plugin: ${i.name})`),e.choices.push({value:t,description:o})}}(t,i,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));var a,c;return{languages:i,options:o};function s(e){return t||!("since"in e)||e.since&&Ic.gte(u,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&Ic.lt(u,e.deprecated)}}};const{getSupportInfo:Nc}=Bc,Lc=/[^\x20-\x7F]/;function Pc(e){return(t,r,n)=>{const u=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:i.quote}return a}function Zc(e,t,r){const n='"'===t?"'":'"',u=e.replace(/\\(.)|(["'])/gs,((e,u,i)=>u===n?u:i===t?"\\"+i:i||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return t+u+t}function Jc(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var Kc={inferParserByLanguage:function(e,t){const{languages:r}=Nc({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?Lc.test(e)?Li(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(`(${qi(t)})+`,"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(`(${qi(t)})+`,"g"));if(null===r)return 0;const n=new Map;let u=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>u&&(u=r)}for(let e=1;ee[e.length-2],getLast:ji,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Yc,getNextNonSpaceNonCommentCharacterIndex:Hc,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Hc(e,t,r))},skip:Pc,skipWhitespace:qc,skipSpaces:jc,skipToLineEnd:_c,skipEverythingButNewLine:Uc,skipInlineComment:$c,skipTrailingComment:Mc,skipNewline:zc,isNextLineEmptyAfterIndex:Vc,isNextLineEmpty:function(e,t,r){return Vc(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=jc(e,n,{backwards:!0}),n=zc(e,n,{backwards:!0}),n=jc(e,n,{backwards:!0}),n!==zc(e,n,{backwards:!0})},hasNewline:Gc,hasNewlineInRange:function(e,t,r){for(let n=t;n0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};const{getLast:Qc}=Kc,{locStart:es,locEnd:ts}=Si,{cjkPattern:rs,kPattern:ns,punctuationPattern:us}={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"},is=["liquidNode","inlineCode","emphasis","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],os=[...is,"tableCell","paragraph","heading"],as=new RegExp(ns),cs=new RegExp(us);function ss(e,t){const[,r,n,u]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:r,marker:n,leadingSpaces:u}}var ls={mapAst:function(e,t){return function e(r,n,u){const i=Object.assign({},t(r,n,u));return i.children&&(i.children=i.children.map(((t,r)=>e(t,r,[i,...u])))),i}(e,null,[])},splitText:function(e,t){const r="non-cjk",n="cj-letter",u="cjk-punctuation",i=[],o=("preserve"===t.proseWrap?e:e.replace(new RegExp(`(${rs})\n(${rs})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(const[e,t]of o.entries()){if(e%2==1){i.push({type:"whitespace",value:/\n/.test(t)?"\n":" "});continue}if((0===e||e===o.length-1)&&""===t)continue;const c=t.split(new RegExp(`(${rs})`));for(const[e,t]of c.entries())(0!==e&&e!==c.length-1||""!==t)&&(e%2!=0?a(cs.test(t)?{type:"word",value:t,kind:u,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:t,kind:as.test(t)?"k-letter":n,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==t&&a({type:"word",value:t,kind:r,hasLeadingPunctuation:cs.test(t[0]),hasTrailingPunctuation:cs.test(Qc(t))}))}return i;function a(e){const t=Qc(i);var o,a;t&&"word"===t.type&&(t.kind===r&&e.kind===n&&!t.hasTrailingPunctuation||t.kind===n&&e.kind===r&&!e.hasLeadingPunctuation?i.push({type:"whitespace",value:" "}):(o=r,a=u,t.kind===o&&e.kind===a||t.kind===a&&e.kind===o||[t.value,e.value].some((e=>/\u3000/.test(e)))||i.push({type:"whitespace",value:""}))),i.push(e)}},punctuationPattern:us,getFencedCodeBlockValue:function(e,t){const{value:r}=e;return e.position.end.offset===t.length&&r.endsWith("\n")&&t.endsWith("\n")?r.slice(0,-1):r},getOrderedListItemInfo:ss,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const r=Number(ss(e.children[0],t.originalText).numberText),n=Number(ss(e.children[1],t.originalText).numberText);if(0===r&&e.children.length>2){const r=Number(ss(e.children[2],t.originalText).numberText);return 1===n&&1===r}return 1===n},INLINE_NODE_TYPES:is,INLINE_NODE_WRAPPER_TYPES:os,isAutolink:function(e){if(!e||"link"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&es(e)===es(t)&&ts(e)===ts(t)}};const fs=/^import\s/,Ds=/^export\s/,ps=e=>fs.test(e),hs=e=>Ds.test(e),ds=(e,t)=>{const r=t.indexOf("\n\n"),n=t.slice(0,r);if(hs(n)||ps(n))return e(n)({type:hs(n)?"export":"import",value:n})};ds.locator=e=>hs(e)||ps(e)?-1:1;var gs={esSyntax:function(){const{Parser:e}=this,t=e.prototype.blockTokenizers,r=e.prototype.blockMethods;t.esSyntax=ds,r.splice(r.indexOf("paragraph"),0,"esSyntax")},BLOCKS_REGEX:"[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",COMMENT_REGEX:/|/};const{locStart:ms,locEnd:Es}=Si,{mapAst:ys,INLINE_NODE_WRAPPER_TYPES:vs}=ls;function bs({isMDX:e}){return t=>{const r=ii().use(ou,Object.assign({commonmark:!0},e&&{blocks:[gs.BLOCKS_REGEX]})).use(bi).use(ws).use(vi).use(e?gs.esSyntax:Cs).use(Fs).use(e?As:Cs).use(ks).use(Os);return r.runSync(r.parse(t))}}function Cs(e){return e}function As(){return e=>ys(e,((e,t,[r])=>"html"!==e.type||gs.COMMENT_REGEX.test(e.value)||vs.includes(r.type)?e:Object.assign(Object.assign({},e),{},{type:"jsx"})))}function ws(){const e=this.Parser.prototype;function t(e,t){const r=Fi(t);if(r.frontMatter)return e(r.frontMatter.raw)(r.frontMatter)}e.blockMethods=["frontMatter",...e.blockMethods],e.blockTokenizers.frontMatter=t,t.onlyAtStart=!0}function Fs(){const e=this.Parser.prototype,t=e.inlineMethods;function r(e,t){const r=t.match(/^({%.*?%}|{{.*?}})/s);if(r)return e(r[0])({type:"liquidNode",value:r[0]})}t.splice(t.indexOf("text"),0,"liquid"),e.inlineTokenizers.liquid=r,r.locator=function(e,t){return e.indexOf("{",t)}}function ks(){const e="wikiLink",t=/^\[\[(?.+?)]]/s,r=this.Parser.prototype,n=r.inlineMethods;function u(r,n){const u=t.exec(n);if(u){const t=u.groups.linkContents.trim();return r(u[0])({type:e,value:t})}}n.splice(n.indexOf("link"),0,e),r.inlineTokenizers.wikiLink=u,u.locator=function(e,t){return e.indexOf("[",t)}}function Os(){const e=this.Parser.prototype,t=e.blockTokenizers.list;function r(e,t,r){return"listItem"===t.type&&(t.loose=t.spread||"\n"===e.charAt(e.length-1),t.loose&&(r.loose=!0)),t}e.blockTokenizers.list=function(e,n,u){function i(t){const n=e(t);function u(e,u){return n(r(t,e,u),u)}return u.reset=function(e,u){return n.reset(r(t,e,u),u)},u}return i.now=e.now,t.call(this,i,n,u)}}const Ts={astFormat:"mdast",hasPragma:Ti.hasPragma,locStart:ms,locEnd:Es},Ss=Object.assign(Object.assign({},Ts),{},{parse:bs({isMDX:!1})});var Is={parsers:{remark:Ss,markdown:Ss,mdx:Object.assign(Object.assign({},Ts),{},{parse:bs({isMDX:!0})})}};export default Is; diff --git a/node_modules/prettier/esm/parser-meriyah.mjs b/node_modules/prettier/esm/parser-meriyah.mjs new file mode 100644 index 000000000..ce9c56345 --- /dev/null +++ b/node_modules/prettier/esm/parser-meriyah.mjs @@ -0,0 +1,22 @@ +var e=function(e,u){const t=new SyntaxError(e+" ("+u.start.line+":"+u.start.column+")");return t.loc=u,t};var u=function(...e){let u;for(const[t,n]of e.entries())try{return{result:n()}}catch(e){0===t&&(u=e)}return{error:u}},t=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")})(),""):e;const n=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var r=n,o=n;r.default=o;const i=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=t(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let u=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,u+=r(n)?2:1))}return u};var s=i,a=i;s.default=a;var D=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var c=e=>e[e.length-1];function l(e,u){if(null==e)return{};var t,n,r=function(e,u){if(null==e)return{};var t,n,r={},o=Object.keys(e);for(n=0;n=0||(r[t]=e[t]);return r}(e,u);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function f(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function d(e){var u={exports:{}};return e(u,u.exports),u.exports}var F=function(e){return e&&e.Math==Math&&e},E=F("object"==typeof globalThis&&globalThis)||F("object"==typeof window&&window)||F("object"==typeof self&&self)||F("object"==typeof p&&p)||function(){return this}()||Function("return this")(),C=function(e){try{return!!e()}catch(e){return!0}},A=!C((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),g={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,h={f:m&&!g.call({1:2},1)?function(e){var u=m(this,e);return!!u&&u.enumerable}:g},y=function(e,u){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:u}},B={}.toString,k=function(e){return B.call(e).slice(8,-1)},b="".split,P=C((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==k(e)?b.call(e,""):Object(e)}:Object,x=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},v=function(e){return P(x(e))},w=function(e){return"object"==typeof e?null!==e:"function"==typeof e},S=function(e,u){if(!w(e))return e;var t,n;if(u&&"function"==typeof(t=e.toString)&&!w(n=t.call(e)))return n;if("function"==typeof(t=e.valueOf)&&!w(n=t.call(e)))return n;if(!u&&"function"==typeof(t=e.toString)&&!w(n=t.call(e)))return n;throw TypeError("Can't convert object to primitive value")},T=function(e){return Object(x(e))},N={}.hasOwnProperty,I=Object.hasOwn||function(e,u){return N.call(T(e),u)},L=E.document,O=w(L)&&w(L.createElement),R=!A&&!C((function(){return 7!=Object.defineProperty((e="div",O?L.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),q=Object.getOwnPropertyDescriptor,j={f:A?q:function(e,u){if(e=v(e),u=S(u,!0),R)try{return q(e,u)}catch(e){}if(I(e,u))return y(!h.f.call(e,u),e[u])}},V=function(e){if(!w(e))throw TypeError(String(e)+" is not an object");return e},M=Object.defineProperty,$={f:A?M:function(e,u,t){if(V(e),u=S(u,!0),V(t),R)try{return M(e,u,t)}catch(e){}if("get"in t||"set"in t)throw TypeError("Accessors not supported");return"value"in t&&(e[u]=t.value),e}},U=A?function(e,u,t){return $.f(e,u,y(1,t))}:function(e,u,t){return e[u]=t,e},G=function(e,u){try{U(E,e,u)}catch(t){E[e]=u}return u},_=E["__core-js_shared__"]||G("__core-js_shared__",{}),X=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(e){return X.call(e)});var H,z,J,W,Y=_.inspectSource,K=E.WeakMap,Z="function"==typeof K&&/native code/.test(Y(K)),Q=d((function(e){(e.exports=function(e,u){return _[e]||(_[e]=void 0!==u?u:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),ee=0,ue=Math.random(),te=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++ee+ue).toString(36)},ne=Q("keys"),re={},oe=E.WeakMap;if(Z||_.state){var ie=_.state||(_.state=new oe),se=ie.get,ae=ie.has,De=ie.set;H=function(e,u){if(ae.call(ie,e))throw new TypeError("Object already initialized");return u.facade=e,De.call(ie,e,u),u},z=function(e){return se.call(ie,e)||{}},J=function(e){return ae.call(ie,e)}}else{var ce=ne[W="state"]||(ne[W]=te(W));re[ce]=!0,H=function(e,u){if(I(e,ce))throw new TypeError("Object already initialized");return u.facade=e,U(e,ce,u),u},z=function(e){return I(e,ce)?e[ce]:{}},J=function(e){return I(e,ce)}}var le,pe,fe={set:H,get:z,has:J,enforce:function(e){return J(e)?z(e):H(e,{})},getterFor:function(e){return function(u){var t;if(!w(u)||(t=z(u)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return t}}},de=d((function(e){var u=fe.get,t=fe.enforce,n=String(String).split("String");(e.exports=function(e,u,r,o){var i,s=!!o&&!!o.unsafe,a=!!o&&!!o.enumerable,D=!!o&&!!o.noTargetGet;"function"==typeof r&&("string"!=typeof u||I(r,"name")||U(r,"name",u),(i=t(r)).source||(i.source=n.join("string"==typeof u?u:""))),e!==E?(s?!D&&e[u]&&(a=!0):delete e[u],a?e[u]=r:U(e,u,r)):a?e[u]=r:G(u,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||Y(this)}))})),Fe=E,Ee=function(e){return"function"==typeof e?e:void 0},Ce=function(e,u){return arguments.length<2?Ee(Fe[e])||Ee(E[e]):Fe[e]&&Fe[e][u]||E[e]&&E[e][u]},Ae=Math.ceil,ge=Math.floor,me=function(e){return isNaN(e=+e)?0:(e>0?ge:Ae)(e)},he=Math.min,ye=function(e){return e>0?he(me(e),9007199254740991):0},Be=Math.max,ke=Math.min,be=function(e){return function(u,t,n){var r,o=v(u),i=ye(o.length),s=function(e,u){var t=me(e);return t<0?Be(t+u,0):ke(t,u)}(n,i);if(e&&t!=t){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===t)return e||s||0;return!e&&-1}},Pe={includes:be(!0),indexOf:be(!1)}.indexOf,xe=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),ve={f:Object.getOwnPropertyNames||function(e){return function(e,u){var t,n=v(e),r=0,o=[];for(t in n)!I(re,t)&&I(n,t)&&o.push(t);for(;u.length>r;)I(n,t=u[r++])&&(~Pe(o,t)||o.push(t));return o}(e,xe)}},we={f:Object.getOwnPropertySymbols},Se=Ce("Reflect","ownKeys")||function(e){var u=ve.f(V(e)),t=we.f;return t?u.concat(t(e)):u},Te=function(e,u){for(var t=Se(u),n=$.f,r=j.f,o=0;o0&&$e(a))D=_e(e,u,a,ye(a.length),D,o-1)-1;else{if(D>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[D]=a}D++}c++}return D},Xe=_e,He=Ce("navigator","userAgent")||"",ze=E.process,Je=ze&&ze.versions,We=Je&&Je.v8;We?pe=(le=We.split("."))[0]<4?1:le[0]+le[1]:He&&(!(le=He.match(/Edge\/(\d+)/))||le[1]>=74)&&(le=He.match(/Chrome\/(\d+)/))&&(pe=le[1]);var Ye=pe&&+pe,Ke=!!Object.getOwnPropertySymbols&&!C((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ye&&Ye<41})),Ze=Ke&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Qe=Q("wks"),eu=E.Symbol,uu=Ze?eu:eu&&eu.withoutSetter||te,tu=function(e){return I(Qe,e)&&(Ke||"string"==typeof Qe[e])||(Ke&&I(eu,e)?Qe[e]=eu[e]:Qe[e]=uu("Symbol."+e)),Qe[e]},nu=tu("species"),ru=function(e,u){var t;return $e(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!$e(t.prototype)?w(t)&&null===(t=t[nu])&&(t=void 0):t=void 0),new(void 0===t?Array:t)(0===u?0:u)};Me({target:"Array",proto:!0},{flatMap:function(e){var u,t=T(this),n=ye(t.length);return Ue(e),(u=ru(t,0)).length=Xe(u,t,t,n,0,1,e,arguments.length>1?arguments[1]:void 0),u}});var ou,iu,su=Math.floor,au=function(e,u){var t=e.length,n=su(t/2);return t<8?Du(e,u):cu(au(e.slice(0,n),u),au(e.slice(n),u),u)},Du=function(e,u){for(var t,n,r=e.length,o=1;o0;)e[n]=e[--n];n!==o++&&(e[n]=t)}return e},cu=function(e,u,t){for(var n=e.length,r=u.length,o=0,i=0,s=[];o3)){if(du)return!0;if(Eu)return Eu<603;var e,u,t,n,r="";for(e=65;e<76;e++){switch(u=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:t=3;break;case 68:case 71:t=4;break;default:t=2}for(n=0;n<47;n++)Cu.push({k:u+n,v:t})}for(Cu.sort((function(e,u){return u.v-e.v})),n=0;nString(t)?1:-1}}(e))).length,n=0;no;o++)if((s=C(e[o]))&&s instanceof Iu)return s;return new Iu(!1)}n=r.call(e)}for(a=n.next;!(D=a.call(n)).done;){try{s=C(D.value)}catch(e){throw Nu(n),e}if("object"==typeof s&&s&&s instanceof Iu)return s}return new Iu(!1)};Me({target:"Object",stat:!0},{fromEntries:function(e){var u={};return Lu(e,(function(e,t){!function(e,u,t){var n=S(u);n in e?$.f(e,n,y(0,t)):e[n]=t}(u,e,t)}),{AS_ENTRIES:!0}),u}});var Ou=void 0!==Ou?Ou:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Ru(){throw new Error("setTimeout has not been defined")}function qu(){throw new Error("clearTimeout has not been defined")}var ju=Ru,Vu=qu;function Mu(e){if(ju===setTimeout)return setTimeout(e,0);if((ju===Ru||!ju)&&setTimeout)return ju=setTimeout,setTimeout(e,0);try{return ju(e,0)}catch(u){try{return ju.call(null,e,0)}catch(u){return ju.call(this,e,0)}}}"function"==typeof Ou.setTimeout&&(ju=setTimeout),"function"==typeof Ou.clearTimeout&&(Vu=clearTimeout);var $u,Uu=[],Gu=!1,_u=-1;function Xu(){Gu&&$u&&(Gu=!1,$u.length?Uu=$u.concat(Uu):_u=-1,Uu.length&&Hu())}function Hu(){if(!Gu){var e=Mu(Xu);Gu=!0;for(var u=Uu.length;u;){for($u=Uu,Uu=[];++_u1)for(var t=1;tconsole.error("SEMVER",...e):()=>{};var st={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},at=d((function(e,u){const{MAX_SAFE_COMPONENT_LENGTH:t}=st,n=(u=e.exports={}).re=[],r=u.src=[],o=u.t={};let i=0;const s=(e,u,t)=>{const s=i++;it(s,u),o[e]=s,r[s]=u,n[s]=new RegExp(u,t?"g":void 0)};s("NUMERICIDENTIFIER","0|[1-9]\\d*"),s("NUMERICIDENTIFIERLOOSE","[0-9]+"),s("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),s("MAINVERSION",`(${r[o.NUMERICIDENTIFIER]})\\.(${r[o.NUMERICIDENTIFIER]})\\.(${r[o.NUMERICIDENTIFIER]})`),s("MAINVERSIONLOOSE",`(${r[o.NUMERICIDENTIFIERLOOSE]})\\.(${r[o.NUMERICIDENTIFIERLOOSE]})\\.(${r[o.NUMERICIDENTIFIERLOOSE]})`),s("PRERELEASEIDENTIFIER",`(?:${r[o.NUMERICIDENTIFIER]}|${r[o.NONNUMERICIDENTIFIER]})`),s("PRERELEASEIDENTIFIERLOOSE",`(?:${r[o.NUMERICIDENTIFIERLOOSE]}|${r[o.NONNUMERICIDENTIFIER]})`),s("PRERELEASE",`(?:-(${r[o.PRERELEASEIDENTIFIER]}(?:\\.${r[o.PRERELEASEIDENTIFIER]})*))`),s("PRERELEASELOOSE",`(?:-?(${r[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${r[o.PRERELEASEIDENTIFIERLOOSE]})*))`),s("BUILDIDENTIFIER","[0-9A-Za-z-]+"),s("BUILD",`(?:\\+(${r[o.BUILDIDENTIFIER]}(?:\\.${r[o.BUILDIDENTIFIER]})*))`),s("FULLPLAIN",`v?${r[o.MAINVERSION]}${r[o.PRERELEASE]}?${r[o.BUILD]}?`),s("FULL",`^${r[o.FULLPLAIN]}$`),s("LOOSEPLAIN",`[v=\\s]*${r[o.MAINVERSIONLOOSE]}${r[o.PRERELEASELOOSE]}?${r[o.BUILD]}?`),s("LOOSE",`^${r[o.LOOSEPLAIN]}$`),s("GTLT","((?:<|>)?=?)"),s("XRANGEIDENTIFIERLOOSE",`${r[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),s("XRANGEIDENTIFIER",`${r[o.NUMERICIDENTIFIER]}|x|X|\\*`),s("XRANGEPLAIN",`[v=\\s]*(${r[o.XRANGEIDENTIFIER]})(?:\\.(${r[o.XRANGEIDENTIFIER]})(?:\\.(${r[o.XRANGEIDENTIFIER]})(?:${r[o.PRERELEASE]})?${r[o.BUILD]}?)?)?`),s("XRANGEPLAINLOOSE",`[v=\\s]*(${r[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${r[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${r[o.XRANGEIDENTIFIERLOOSE]})(?:${r[o.PRERELEASELOOSE]})?${r[o.BUILD]}?)?)?`),s("XRANGE",`^${r[o.GTLT]}\\s*${r[o.XRANGEPLAIN]}$`),s("XRANGELOOSE",`^${r[o.GTLT]}\\s*${r[o.XRANGEPLAINLOOSE]}$`),s("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),s("COERCERTL",r[o.COERCE],!0),s("LONETILDE","(?:~>?)"),s("TILDETRIM",`(\\s*)${r[o.LONETILDE]}\\s+`,!0),u.tildeTrimReplace="$1~",s("TILDE",`^${r[o.LONETILDE]}${r[o.XRANGEPLAIN]}$`),s("TILDELOOSE",`^${r[o.LONETILDE]}${r[o.XRANGEPLAINLOOSE]}$`),s("LONECARET","(?:\\^)"),s("CARETTRIM",`(\\s*)${r[o.LONECARET]}\\s+`,!0),u.caretTrimReplace="$1^",s("CARET",`^${r[o.LONECARET]}${r[o.XRANGEPLAIN]}$`),s("CARETLOOSE",`^${r[o.LONECARET]}${r[o.XRANGEPLAINLOOSE]}$`),s("COMPARATORLOOSE",`^${r[o.GTLT]}\\s*(${r[o.LOOSEPLAIN]})$|^$`),s("COMPARATOR",`^${r[o.GTLT]}\\s*(${r[o.FULLPLAIN]})$|^$`),s("COMPARATORTRIM",`(\\s*)${r[o.GTLT]}\\s*(${r[o.LOOSEPLAIN]}|${r[o.XRANGEPLAIN]})`,!0),u.comparatorTrimReplace="$1$2$3",s("HYPHENRANGE",`^\\s*(${r[o.XRANGEPLAIN]})\\s+-\\s+(${r[o.XRANGEPLAIN]})\\s*$`),s("HYPHENRANGELOOSE",`^\\s*(${r[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${r[o.XRANGEPLAINLOOSE]})\\s*$`),s("STAR","(<|>)?=?\\s*\\*"),s("GTE0","^\\s*>=\\s*0.0.0\\s*$"),s("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const Dt=["includePrerelease","loose","rtl"];var ct=e=>e?"object"!=typeof e?{loose:!0}:Dt.filter((u=>e[u])).reduce(((e,u)=>(e[u]=!0,e)),{}):{};const lt=/^[0-9]+$/,pt=(e,u)=>{const t=lt.test(e),n=lt.test(u);return t&&n&&(e=+e,u=+u),e===u?0:t&&!n?-1:n&&!t?1:ept(u,e)};const{MAX_LENGTH:dt,MAX_SAFE_INTEGER:Ft}=st,{re:Et,t:Ct}=at,{compareIdentifiers:At}=ft;class gt{constructor(e,u){if(u=ct(u),e instanceof gt){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>dt)throw new TypeError(`version is longer than ${dt} characters`);it("SemVer",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?Et[Ct.LOOSE]:Et[Ct.FULL]);if(!t)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>Ft||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ft||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ft||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}u&&(this.prerelease[0]===u?isNaN(this.prerelease[1])&&(this.prerelease=[u,0]):this.prerelease=[u,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var mt=gt;var ht=(e,u,t)=>new mt(e,t).compare(new mt(u,t));var yt=(e,u,t)=>ht(e,u,t)<0;var Bt=(e,u,t)=>ht(e,u,t)>=0,kt="2.3.2",bt=d((function(e,u){function t(){for(var e=[],u=0;u"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Pt` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Pt` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Pt` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Pt` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const vt=["cliName","cliCategory","cliDescription"],wt={compare:ht,lt:yt,gte:Bt},St=kt,Tt={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:xt}.options;var Nt={getSupportInfo:function({plugins:e=[],showUnreleased:u=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const r=St.split("-",1)[0],o=e.flatMap((e=>e.languages||[])).filter(D),i=(s=Object.assign({},...e.map((({options:e})=>e)),Tt),a="name",Object.entries(s).map((([e,u])=>Object.assign({[a]:e},u)))).filter((e=>D(e)&&c(e))).sort(((e,u)=>e.name===u.name?0:e.name{u=Object.assign({},u),Array.isArray(u.default)&&(u.default=1===u.default.length?u.default[0].value:u.default.filter(D).sort(((e,u)=>wt.compare(u.since,e.since)))[0].value),Array.isArray(u.choices)&&(u.choices=u.choices.filter((e=>D(e)&&c(e))),"parser"===u.name&&function(e,u,t){const n=new Set(e.choices.map((e=>e.value)));for(const r of u)if(r.parsers)for(const u of r.parsers)if(!n.has(u)){n.add(u);const o=t.find((e=>e.parsers&&e.parsers[u]));let i=r.name;o&&o.name&&(i+=` (plugin: ${o.name})`),e.choices.push({value:u,description:i})}}(u,o,e));const t=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[u.name])).map((e=>[e.name,e.defaultOptions[u.name]])));return Object.assign(Object.assign({},u),{},{pluginDefaults:t})}));var s,a;return{languages:o,options:i};function D(e){return u||!("since"in e)||e.since&&wt.gte(r,e.since)}function c(e){return t||!("deprecated"in e)||e.deprecated&&wt.lt(r,e.deprecated)}}};const{getSupportInfo:It}=Nt,Lt=/[^\x20-\x7F]/;function Ot(e){return(u,t,n)=>{const r=n&&n.backwards;if(!1===t)return!1;const{length:o}=u;let i=t;for(;i>=0&&i(t.match(i.regex)||[]).length?i.quote:o.quote}return s}function Wt(e,u,t){const n='"'===u?"'":'"',r=e.replace(/\\(.)|(["'])/gs,((e,r,o)=>r===n?r:o===u?"\\"+o:o||(t&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(r)?r:"\\"+r)));return u+r+u}function Yt(e,u){(e.comments||(e.comments=[])).push(u),u.printed=!1,u.nodeDescription=function(e){const u=e.type||e.kind||"(unknown type)";let t=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");t.length>20&&(t=t.slice(0,19)+"\u2026");return u+(t?" "+t:"")}(e)}var Kt={inferParserByLanguage:function(e,u){const{languages:t}=It({plugins:u.plugins}),n=t.find((({name:u})=>u.toLowerCase()===e))||t.find((({aliases:u})=>Array.isArray(u)&&u.includes(e)))||t.find((({extensions:u})=>Array.isArray(u)&&u.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?Lt.test(e)?s(e):e.length:0},getMaxContinuousCount:function(e,u){const t=e.match(new RegExp(`(${D(u)})+`,"g"));return null===t?0:t.reduce(((e,t)=>Math.max(e,t.length/u.length)),0)},getMinNotPresentContinuousCount:function(e,u){const t=e.match(new RegExp(`(${D(u)})+`,"g"));if(null===t)return 0;const n=new Map;let r=0;for(const e of t){const t=e.length/u.length;n.set(t,!0),t>r&&(r=t)}for(let e=1;ee[e.length-2],getLast:c,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Xt,getNextNonSpaceNonCommentCharacterIndex:Ht,getNextNonSpaceNonCommentCharacter:function(e,u,t){return e.charAt(Ht(e,u,t))},skip:Ot,skipWhitespace:Rt,skipSpaces:qt,skipToLineEnd:jt,skipEverythingButNewLine:Vt,skipInlineComment:Mt,skipTrailingComment:$t,skipNewline:Ut,isNextLineEmptyAfterIndex:_t,isNextLineEmpty:function(e,u,t){return _t(e,t(u))},isPreviousLineEmpty:function(e,u,t){let n=t(u)-1;return n=qt(e,n,{backwards:!0}),n=Ut(e,n,{backwards:!0}),n=qt(e,n,{backwards:!0}),n!==Ut(e,n,{backwards:!0})},hasNewline:Gt,hasNewlineInRange:function(e,u,t){for(let n=u;n0},createGroupIdMapper:function(e){const u=new WeakMap;return function(t){return u.has(t)||u.set(t,Symbol(e)),u.get(t)}}};const{isNonEmptyArray:Zt}=Kt;function Qt(e,u){const{ignoreDecorators:t}=u||{};if(!t){const u=e.declaration&&e.declaration.decorators||e.decorators;if(Zt(u))return Qt(u[0])}return e.range?e.range[0]:e.start}function en(e){return e.range?e.range[1]:e.end}function un(e,u){return Qt(e)===Qt(u)}var tn={locStart:Qt,locEnd:en,hasSameLocStart:un,hasSameLoc:function(e,u){return un(e,u)&&function(e,u){return en(e)===en(u)}(e,u)}},nn=d((function(e){!function(){function u(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:u,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return u(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var u;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;u=e.consequent;do{if("IfStatement"===u.type&&null==u.alternate)return!0;u=t(u)}while(u);return!1},trailingStatement:t}}()})),rn=d((function(e){!function(){var u,t,n,r,o,i;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],r=new Array(128),i=0;i<128;++i)r[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(o=new Array(128),i=0;i<128;++i)o[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?r[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?r[e]:u.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?o[e]:u.NonAsciiIdentifierPart.test(s(e))}}}()})),on=d((function(e){!function(){var u=rn;function t(e,u){return!(!u&&"yield"===e)&&n(e,u)}function n(e,u){if(u&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function r(e,u){return"null"===e||"true"===e||"false"===e||t(e,u)}function o(e,u){return"null"===e||"true"===e||"false"===e||n(e,u)}function i(e){var t,n,r;if(0===e.length)return!1;if(r=e.charCodeAt(0),!u.isIdentifierStartES5(r))return!1;for(t=1,n=e.length;t=n)return!1;if(!(56320<=(o=e.charCodeAt(t))&&o<=57343))return!1;r=1024*(r-55296)+(o-56320)+65536}if(!i(r))return!1;i=u.isIdentifierPartES6}return!0}e.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:r,isReservedWordES6:o,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:i,isIdentifierNameES6:s,isIdentifierES5:function(e,u){return i(e)&&!r(e,u)},isIdentifierES6:function(e,u){return s(e)&&!o(e,u)}}}()}));const sn=d((function(e,u){u.ast=nn,u.code=rn,u.keyword=on})).keyword.isIdentifierNameES5,{getLast:an,hasNewline:Dn,skipWhitespace:cn,isNonEmptyArray:ln,isNextLineEmptyAfterIndex:pn}=Kt,{locStart:fn,locEnd:dn,hasSameLocStart:Fn}=tn,En=new RegExp("^(?:(?=.)\\s)*:"),Cn=new RegExp("^(?:(?=.)\\s)*::");function An(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function gn(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const mn=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function hn(e){return e&&mn.has(e.type)}function yn(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Bn(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function kn(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function bn(e){return Nn(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Pn(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function xn(e){return"get"===e.kind||"set"===e.kind}function vn(e){return xn(e)||Fn(e,e.value)}const wn=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Sn=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Tn=/^(skip|[fx]?(it|describe|test))$/;function Nn(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function In(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function Ln(e){return/^(\d+|\d+\.\d+)$/.test(e)}function On(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Rn(e){return e.extra?e.extra.raw:e.raw}const qn={"==":!0,"!=":!0,"===":!0,"!==":!0},jn={"*":!0,"/":!0,"%":!0},Vn={">>":!0,">>>":!0,"<<":!0};const Mn={};for(const[e,u]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const t of u)Mn[t]=e;function $n(e){return Mn[e]}const Un=new WeakMap;function Gn(e){if(Un.has(e))return Un.get(e);const u=[];return e.this&&u.push(e.this),Array.isArray(e.parameters)?u.push(...e.parameters):Array.isArray(e.params)&&u.push(...e.params),e.rest&&u.push(e.rest),Un.set(e,u),u}const _n=new WeakMap;function Xn(e){if(_n.has(e))return _n.get(e);let u=e.arguments;return"ImportExpression"===e.type&&(u=[e.source],e.attributes&&u.push(e.attributes)),_n.set(e,u),u}function Hn(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function zn(e){return e&&(e.prettierIgnore||Yn(e,Jn.PrettierIgnore))}const Jn={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Wn=(e,u)=>{if("function"==typeof e&&(u=e,e=0),e||u)return(t,n,r)=>!(e&Jn.Leading&&!t.leading||e&Jn.Trailing&&!t.trailing||e&Jn.Dangling&&(t.leading||t.trailing)||e&Jn.Block&&!An(t)||e&Jn.Line&&!gn(t)||e&Jn.First&&0!==n||e&Jn.Last&&n!==r.length-1||e&Jn.PrettierIgnore&&!Hn(t)||u&&!u(t))};function Yn(e,u,t){if(!e||!ln(e.comments))return!1;const n=Wn(u,t);return!n||e.comments.some(n)}function Kn(e,u,t){if(!e||!Array.isArray(e.comments))return[];const n=Wn(u,t);return n?e.comments.filter(n):e.comments}function Zn(e){return Nn(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Qn={getFunctionParameters:Gn,iterateFunctionParametersPath:function(e,u){const t=e.getValue();let n=0;const r=e=>u(e,n++);t.this&&e.call(r,"this"),Array.isArray(t.parameters)?e.each(r,"parameters"):Array.isArray(t.params)&&e.each(r,"params"),t.rest&&e.call(r,"rest")},getCallArguments:Xn,iterateCallArgumentsPath:function(e,u){const t=e.getValue();"ImportExpression"===t.type?(e.call((e=>u(e,0)),"source"),t.attributes&&e.call((e=>u(e,1)),"attributes")):e.each(u,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const u=Gn(e);return u.length>0&&"RestElement"===an(u).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,u){if(u.expressions)return["expressions",0];if(u.left)return["left"];if(u.test)return["test"];if(u.object)return["object"];if(u.callee)return["callee"];if(u.tag)return["tag"];if(u.argument)return["argument"];if(u.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const u=e.getParentNode();return"declaration"===e.getName()&&hn(u)?u:null},getTypeScriptMappedTypeModifier:function(e,u){return"+"===e?"+"+u:"-"===e?"-"+u:u},hasFlowAnnotationComment:function(e){return e&&An(e[0])&&Cn.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&ln(e.trailingComments)&&An(e.trailingComments[0])&&En.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,u){return Pn(u)?zn(u):Yn(u,Jn.Leading,(u=>Dn(e,dn(u))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||Nn(e)||In(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(u,t){if(!u||"object"!=typeof u)return!1;if(Array.isArray(u))return u.some((u=>e(u,t)));const n=t(u);return"boolean"==typeof n?n:Object.values(u).some((u=>e(u,t)))},hasIgnoreComment:function(e){return zn(e.getValue())},hasNodeIgnoreComment:zn,identity:function(e){return e},isBinaryish:function(e){return wn.has(e.type)},isBlockComment:An,isCallLikeExpression:Zn,isLineComment:gn,isPrettierIgnoreComment:Hn,isCallExpression:Nn,isMemberExpression:In,isExportDeclaration:hn,isFlowAnnotationComment:function(e,u){const t=fn(u),n=cn(e,dn(u));return!1!==n&&"/*"===e.slice(t,t+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let u=0;for(const t of e)if(kn(t)){if(u+=1,u>1)return!0}else if(Nn(t))for(const e of t.arguments)if(kn(e))return!0;return!1},isFunctionNotation:vn,isFunctionOrArrowExpression:kn,isGetterOrSetter:xn,isJestEachTemplateLiteral:function(e,u){const t=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===u.type&&u.quasi===e&&"MemberExpression"===u.tag.type&&"Identifier"===u.tag.property.type&&"each"===u.tag.property.name&&("Identifier"===u.tag.object.type&&t.test(u.tag.object.name)||"MemberExpression"===u.tag.object.type&&"Identifier"===u.tag.object.property.type&&("only"===u.tag.object.property.name||"skip"===u.tag.object.property.name)&&"Identifier"===u.tag.object.object.type&&t.test(u.tag.object.object.name))},isJsxNode:Pn,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const u=e.getValue(),t=e.getParentNode();return Nn(u)&&Nn(t)&&t.callee===u&&u.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function e(u,t){if(t>=2)return!1;const n=u=>e(u,t+1),r="Literal"===u.type&&"regex"in u&&u.regex.pattern||"RegExpLiteral"===u.type&&u.pattern;return!(r&&r.length>5)&&("Literal"===u.type||"BigIntLiteral"===u.type||"DecimalLiteral"===u.type||"BooleanLiteral"===u.type||"NullLiteral"===u.type||"NumericLiteral"===u.type||"RegExpLiteral"===u.type||"StringLiteral"===u.type||"Identifier"===u.type||"ThisExpression"===u.type||"Super"===u.type||"PrivateName"===u.type||"PrivateIdentifier"===u.type||"ArgumentPlaceholder"===u.type||"Import"===u.type||("TemplateLiteral"===u.type?u.quasis.every((e=>!e.value.raw.includes("\n")))&&u.expressions.every(n):"ObjectExpression"===u.type?u.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===u.type?u.elements.every((e=>null===e||n(e))):Zn(u)?("ImportExpression"===u.type||e(u.callee,t))&&Xn(u).every(n):In(u)?e(u.object,t)&&e(u.property,t):"UnaryExpression"!==u.type||"!"!==u.operator&&"-"!==u.operator?"TSNonNullExpression"===u.type&&e(u.expression,t):e(u.argument,t)))},isMemberish:function(e){return In(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:yn,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&yn(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||vn(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Sn.has(e.type))},isSimpleNumber:Ln,isSimpleTemplateLiteral:function(e){let u="expressions";"TSTemplateLiteralType"===e.type&&(u="types");const t=e[u];return 0!==t.length&&t.every((e=>{if(Yn(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(In(e)){let u=e;for(;In(u);){if("Identifier"!==u.property.type&&"Literal"!==u.property.type&&"StringLiteral"!==u.property.type&&"NumericLiteral"!==u.property.type)return!1;if(u=u.object,Yn(u))return!1}return"Identifier"===u.type||"ThisExpression"===u.type}return!1}))},isStringLiteral:Bn,isStringPropSafeToUnquote:function(e,u){return"json"!==u.parser&&Bn(e.key)&&Rn(e.key).slice(1,-1)===e.key.value&&(sn(e.key.value)&&!(("typescript"===u.parser||"babel-ts"===u.parser)&&"ClassProperty"===e.type)||Ln(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===u.parser||"espree"===u.parser||"meriyah"===u.parser||"__babel_estree"===u.parser))},isTemplateOnItsOwnLine:function(e,u){return("TemplateLiteral"===e.type&&On(e)||"TaggedTemplateExpression"===e.type&&On(e.quasi))&&!Dn(u,fn(e),{backwards:!0})},isTestCall:function e(u,t){if("CallExpression"!==u.type)return!1;if(1===u.arguments.length){if(bn(u)&&t&&e(t))return kn(u.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(u))return bn(u.arguments[0])}else if((2===u.arguments.length||3===u.arguments.length)&&("Identifier"===u.callee.type&&Tn.test(u.callee.name)||function(e){return In(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&Tn.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(u))&&(function(e){return"TemplateLiteral"===e.type}(u.arguments[0])||Bn(u.arguments[0])))return!(u.arguments[2]&&!yn(u.arguments[2]))&&((2===u.arguments.length?kn(u.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(u.arguments[1])&&Gn(u.arguments[1]).length<=1)||bn(u.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,u){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const t=u.getNode();if(!t.expression||!Pn(t.expression))return!1;const n=u.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||Fn(e,e.typeAnnotation))},isNextLineEmpty:(e,{originalText:u})=>pn(u,dn(e)),needsHardlineAfterDanglingComment:function(e){if(!Yn(e))return!1;const u=an(Kn(e,Jn.Dangling));return u&&!An(u)},rawText:Rn,shouldPrintComma:function(e,u="es5"){return"es5"===e.trailingComma&&"es5"===u||"all"===e.trailingComma&&("all"===u||"es5"===u)},isBitwiseOperator:function(e){return Boolean(Vn[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,u){return $n(u)===$n(e)&&("**"!==e&&((!qn[e]||!qn[u])&&(!("%"===u&&jn[e]||"%"===e&&jn[u])&&((u===e||!jn[u]||!jn[e])&&(!Vn[e]||!Vn[u])))))},startsWithNoLookaheadToken:function e(u,t){switch((u=function(e){for(;e.left;)e=e.left;return e}(u)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return t;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(u.object,t);case"TaggedTemplateExpression":return"FunctionExpression"!==u.tag.type&&e(u.tag,t);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==u.callee.type&&e(u.callee,t);case"ConditionalExpression":return e(u.test,t);case"UpdateExpression":return!u.prefix&&e(u.argument,t);case"BindExpression":return u.object&&e(u.object,t);case"SequenceExpression":return e(u.expressions[0],t);case"TSAsExpression":case"TSNonNullExpression":return e(u.expression,t);default:return!1}},getPrecedence:$n,hasComment:Yn,getComments:Kn,CommentCheckFlags:Jn};const{getLast:er,hasNewline:ur,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:tr,getNextNonSpaceNonCommentCharacter:nr,hasNewlineInRange:rr,addLeadingComment:or,addTrailingComment:ir,addDanglingComment:sr,getNextNonSpaceNonCommentCharacterIndex:ar,isNonEmptyArray:Dr}=Kt,{isBlockComment:cr,getFunctionParameters:lr,isPrettierIgnoreComment:pr,isJsxNode:fr,hasFlowShorthandAnnotationComment:dr,hasFlowAnnotationComment:Fr,hasIgnoreComment:Er,isCallLikeExpression:Cr,getCallArguments:Ar,isCallExpression:gr,isMemberExpression:mr,isObjectProperty:hr}=Qn,{locStart:yr,locEnd:Br}=tn;function kr(e,u){const t=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));t?or(t,u):sr(e,u)}function br(e,u){"BlockStatement"===e.type?kr(e,u):or(e,u)}function Pr({comment:e,followingNode:u}){return!(!u||!uo(e))&&(or(u,e),!0)}function xr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n,text:r}){if(!t||"IfStatement"!==t.type||!n)return!1;return")"===nr(r,e,Br)?(ir(u,e),!0):u===t.consequent&&n===t.alternate?("BlockStatement"===u.type?ir(u,e):sr(t,e),!0):"BlockStatement"===n.type?(kr(n,e),!0):"IfStatement"===n.type?(br(n.consequent,e),!0):t.consequent===n&&(or(n,e),!0)}function vr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n,text:r}){if(!t||"WhileStatement"!==t.type||!n)return!1;return")"===nr(r,e,Br)?(ir(u,e),!0):"BlockStatement"===n.type?(kr(n,e),!0):t.body===n&&(or(n,e),!0)}function wr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n}){return!(!t||"TryStatement"!==t.type&&"CatchClause"!==t.type||!n)&&("CatchClause"===t.type&&u?(ir(u,e),!0):"BlockStatement"===n.type?(kr(n,e),!0):"TryStatement"===n.type?(br(n.finalizer,e),!0):"CatchClause"===n.type&&(br(n.body,e),!0))}function Sr({comment:e,enclosingNode:u,followingNode:t}){return!(!mr(u)||!t||"Identifier"!==t.type)&&(or(u,e),!0)}function Tr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n,text:r}){const o=u&&!rr(r,Br(u),yr(e));return!(u&&o||!t||"ConditionalExpression"!==t.type&&"TSConditionalType"!==t.type||!n)&&(or(n,e),!0)}function Nr({comment:e,precedingNode:u,enclosingNode:t}){return!(!hr(t)||!t.shorthand||t.key!==u||"AssignmentPattern"!==t.value.type)&&(ir(t.value.left,e),!0)}function Ir({comment:e,precedingNode:u,enclosingNode:t,followingNode:n}){if(t&&("ClassDeclaration"===t.type||"ClassExpression"===t.type||"DeclareClass"===t.type||"DeclareInterface"===t.type||"InterfaceDeclaration"===t.type||"TSInterfaceDeclaration"===t.type)){if(Dr(t.decorators)&&(!n||"Decorator"!==n.type))return ir(er(t.decorators),e),!0;if(t.body&&n===t.body)return kr(t.body,e),!0;if(n)for(const r of["implements","extends","mixins"])if(t[r]&&n===t[r][0])return!u||u!==t.id&&u!==t.typeParameters&&u!==t.superClass?sr(t,e,r):ir(u,e),!0}return!1}function Lr({comment:e,precedingNode:u,enclosingNode:t,text:n}){return(t&&u&&("Property"===t.type||"TSDeclareMethod"===t.type||"TSAbstractMethodDefinition"===t.type)&&"Identifier"===u.type&&t.key===u&&":"!==nr(n,u,Br)||!(!u||!t||"Decorator"!==u.type||"ClassMethod"!==t.type&&"ClassProperty"!==t.type&&"PropertyDefinition"!==t.type&&"TSAbstractClassProperty"!==t.type&&"TSAbstractMethodDefinition"!==t.type&&"TSDeclareMethod"!==t.type&&"MethodDefinition"!==t.type))&&(ir(u,e),!0)}function Or({comment:e,precedingNode:u,enclosingNode:t,text:n}){return"("===nr(n,e,Br)&&(!(!u||!t||"FunctionDeclaration"!==t.type&&"FunctionExpression"!==t.type&&"ClassMethod"!==t.type&&"MethodDefinition"!==t.type&&"ObjectMethod"!==t.type)&&(ir(u,e),!0))}function Rr({comment:e,enclosingNode:u,text:t}){if(!u||"ArrowFunctionExpression"!==u.type)return!1;const n=ar(t,e,Br);return!1!==n&&"=>"===t.slice(n,n+2)&&(sr(u,e),!0)}function qr({comment:e,enclosingNode:u,text:t}){return")"===nr(t,e,Br)&&(u&&(eo(u)&&0===lr(u).length||Cr(u)&&0===Ar(u).length)?(sr(u,e),!0):!(!u||"MethodDefinition"!==u.type&&"TSAbstractMethodDefinition"!==u.type||0!==lr(u.value).length)&&(sr(u.value,e),!0))}function jr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n,text:r}){if(u&&"FunctionTypeParam"===u.type&&t&&"FunctionTypeAnnotation"===t.type&&n&&"FunctionTypeParam"!==n.type)return ir(u,e),!0;if(u&&("Identifier"===u.type||"AssignmentPattern"===u.type)&&t&&eo(t)&&")"===nr(r,e,Br))return ir(u,e),!0;if(t&&"FunctionDeclaration"===t.type&&n&&"BlockStatement"===n.type){const u=(()=>{const e=lr(t);if(e.length>0)return tr(r,Br(er(e)));const u=tr(r,Br(t.id));return!1!==u&&tr(r,u+1)})();if(yr(e)>u)return kr(n,e),!0}return!1}function Vr({comment:e,enclosingNode:u}){return!(!u||"ImportSpecifier"!==u.type)&&(or(u,e),!0)}function Mr({comment:e,enclosingNode:u}){return!(!u||"LabeledStatement"!==u.type)&&(or(u,e),!0)}function $r({comment:e,enclosingNode:u}){return!(!u||"ContinueStatement"!==u.type&&"BreakStatement"!==u.type||u.label)&&(ir(u,e),!0)}function Ur({comment:e,precedingNode:u,enclosingNode:t}){return!!(gr(t)&&u&&t.callee===u&&t.arguments.length>0)&&(or(t.arguments[0],e),!0)}function Gr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n}){return!t||"UnionTypeAnnotation"!==t.type&&"TSUnionType"!==t.type?(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&pr(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0),!1):(pr(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!u&&(ir(u,e),!0))}function _r({comment:e,enclosingNode:u}){return!!hr(u)&&(or(u,e),!0)}function Xr({comment:e,enclosingNode:u,followingNode:t,ast:n,isLastComment:r}){return n&&n.body&&0===n.body.length?(r?sr(n,e):or(n,e),!0):u&&"Program"===u.type&&0===u.body.length&&!Dr(u.directives)?(r?sr(u,e):or(u,e),!0):!(!t||"Program"!==t.type||0!==t.body.length||!u||"ModuleExpression"!==u.type)&&(sr(t,e),!0)}function Hr({comment:e,enclosingNode:u}){return!(!u||"ForInStatement"!==u.type&&"ForOfStatement"!==u.type)&&(or(u,e),!0)}function zr({comment:e,precedingNode:u,enclosingNode:t,text:n}){return!!(u&&"ImportSpecifier"===u.type&&t&&"ImportDeclaration"===t.type&&ur(n,Br(e)))&&(ir(u,e),!0)}function Jr({comment:e,enclosingNode:u}){return!(!u||"AssignmentPattern"!==u.type)&&(or(u,e),!0)}function Wr({comment:e,enclosingNode:u}){return!(!u||"TypeAlias"!==u.type)&&(or(u,e),!0)}function Yr({comment:e,enclosingNode:u,followingNode:t}){return!(!u||"VariableDeclarator"!==u.type&&"AssignmentExpression"!==u.type||!t||"ObjectExpression"!==t.type&&"ArrayExpression"!==t.type&&"TemplateLiteral"!==t.type&&"TaggedTemplateExpression"!==t.type&&!cr(e))&&(or(t,e),!0)}function Kr({comment:e,enclosingNode:u,followingNode:t,text:n}){return!(t||!u||"TSMethodSignature"!==u.type&&"TSDeclareFunction"!==u.type&&"TSAbstractMethodDefinition"!==u.type||";"!==nr(n,e,Br))&&(ir(u,e),!0)}function Zr({comment:e,enclosingNode:u,followingNode:t}){if(pr(e)&&u&&"TSMappedType"===u.type&&t&&"TSTypeParameter"===t.type&&t.constraint)return u.prettierIgnore=!0,e.unignore=!0,!0}function Qr({comment:e,precedingNode:u,enclosingNode:t,followingNode:n}){return!(!t||"TSMappedType"!==t.type)&&(n&&"TSTypeParameter"===n.type&&n.name?(or(n.name,e),!0):!(!u||"TSTypeParameter"!==u.type||!u.constraint)&&(ir(u.constraint,e),!0))}function eo(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function uo(e){return cr(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var to={handleOwnLineComment:function(e){return[Zr,jr,Sr,xr,vr,wr,Ir,Vr,Hr,Gr,Xr,zr,Jr,Lr,Mr].some((u=>u(e)))},handleEndOfLineComment:function(e){return[Pr,jr,Tr,Vr,xr,vr,wr,Ir,Mr,Ur,_r,Xr,Wr,Yr].some((u=>u(e)))},handleRemainingComment:function(e){return[Zr,xr,vr,Nr,qr,Lr,Xr,Rr,Or,Qr,$r,Kr].some((u=>u(e)))},isTypeCastComment:uo,getCommentChildNodes:function(e,u){if(("typescript"===u.parser||"flow"===u.parser||"espree"===u.parser||"meriyah"===u.parser||"__babel_estree"===u.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===lr(e.value).length&&!e.value.returnType&&!Dr(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const u=e.getValue(),t=e.getParentNode();return(u&&(fr(u)||dr(u)||gr(t)&&(Fr(u.leadingComments)||Fr(u.trailingComments)))||t&&("JSXSpreadAttribute"===t.type||"JSXSpreadChild"===t.type||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type||("ClassDeclaration"===t.type||"ClassExpression"===t.type)&&t.superClass===u))&&(!Er(e)||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type)}};const{getLast:no,getNextNonSpaceNonCommentCharacter:ro}=Kt,{locStart:oo,locEnd:io}=tn,{isTypeCastComment:so}=to;function ao(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=ao(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=ao(e.object)):"TSNonNullExpression"===e.type&&(e.expression=ao(e.expression)),e}function Do(e,u){let t;if(Array.isArray(e))t=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;t=Object.entries(e)}for(const[n,r]of t)e[n]=Do(r,u);return Array.isArray(e)?e:u(e)||e}function co(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function lo(e){return co(e)?lo({type:"LogicalExpression",operator:e.operator,left:lo({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[oo(e.left),io(e.right.left)]}),right:e.right.right,range:[oo(e),io(e)]}):e}var po,fo=function(u,t){if("typescript"===t.parser&&t.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:r}=t.tsParseResult;u=Do(u,(u=>{const t=n.get(u);if(!t)return;const o=t.decorators;if(!Array.isArray(o))return;const i=r.get(t);if(i!==u)return;const s=i.decorators;if(!Array.isArray(s)||s.length!==o.length||o.some((e=>{const u=r.get(e);return!u||!s.includes(u)}))){const{start:u,end:t}=i.loc;throw e("Leading decorators must be attached to a class declaration",{start:{line:u.line,column:u.column+1},end:{line:t.line,column:t.column+1}})}}))}if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const e=new Set;u=Do(u,(u=>{u.leadingComments&&u.leadingComments.some(so)&&e.add(oo(u))})),u=Do(u,(u=>{if("ParenthesizedExpression"===u.type){const{expression:t}=u;if("TypeCastExpression"===t.type)return t.range=u.range,t;const n=oo(u);if(!e.has(n))return t.extra=Object.assign(Object.assign({},t.extra),{},{parenthesized:!0}),t}}))}return u=Do(u,(e=>{switch(e.type){case"ChainExpression":return ao(e.expression);case"LogicalExpression":if(co(e))return lo(e);break;case"VariableDeclaration":{const u=no(e.declarations);u&&u.init&&function(e,u){if(";"===t.originalText[io(u)])return;e.range=[oo(e),io(u)]}(e,u);break}case"TSParenthesizedType":return e.typeAnnotation.range=[oo(e),io(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const u=oo(e);e.name={type:"Identifier",name:e.name,range:[u,u+e.name.length]}}break;case"SequenceExpression":{const u=no(e.expressions);e.range=[oo(e),Math.min(io(u),io(e))];break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===ro(t.originalText,e.key,io)&&(e.optional=!0)}}))};function Fo(){if(void 0===po){var e=new ArrayBuffer(2),u=new Uint8Array(e),t=new Uint16Array(e);if(u[0]=1,u[1]=2,258===t[0])po="BE";else{if(513!==t[0])throw new Error("unable to figure out endianess");po="LE"}}return po}function Eo(){return void 0!==Ou.location?Ou.location.hostname:""}function Co(){return[]}function Ao(){return 0}function go(){return Number.MAX_VALUE}function mo(){return Number.MAX_VALUE}function ho(){return[]}function yo(){return"Browser"}function Bo(){return void 0!==Ou.navigator?Ou.navigator.appVersion:""}function ko(){}function bo(){}function Po(){return"javascript"}function xo(){return"browser"}function vo(){return"/tmp"}var wo=vo,So={EOL:"\n",arch:Po,platform:xo,tmpdir:wo,tmpDir:vo,networkInterfaces:ko,getNetworkInterfaces:bo,release:Bo,type:yo,cpus:ho,totalmem:mo,freemem:go,uptime:Ao,loadavg:Co,hostname:Eo,endianness:Fo},To=Object.freeze({__proto__:null,endianness:Fo,hostname:Eo,loadavg:Co,uptime:Ao,freemem:go,totalmem:mo,cpus:ho,type:yo,release:Bo,networkInterfaces:ko,getNetworkInterfaces:bo,arch:Po,platform:xo,tmpDir:vo,tmpdir:wo,EOL:"\n",default:So});const No=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const u=e.match(/(?:\r?\n)/g)||[];if(0===u.length)return;const t=u.filter((e=>"\r\n"===e)).length;return t>u.length-t?"\r\n":"\n"};var Io=No;Io.graceful=e=>"string"==typeof e&&No(e)||"\n";var Lo=f(To),Oo=function(e){const u=e.match(_o);return u?u[0].trimLeft():""},Ro=function(e){const u=e.match(_o);return u&&u[0]?e.substring(u[0].length):e},qo=function(e){return Ko(e).pragmas},jo=Ko,Vo=function({comments:e="",pragmas:u={}}){const t=(0,$o().default)(e)||Mo().EOL,n=" *",r=Object.keys(u),o=r.map((e=>Zo(e,u[e]))).reduce(((e,u)=>e.concat(u)),[]).map((e=>" * "+e+t)).join("");if(!e){if(0===r.length)return"";if(1===r.length&&!Array.isArray(u[r[0]])){const e=u[r[0]];return`/** ${Zo(r[0],e)[0]} */`}}const i=e.split(t).map((e=>` * ${e}`)).join(t)+t;return"/**"+t+(e?i:"")+(e&&r.length?n+t:"")+o+" */"};function Mo(){const e=Lo;return Mo=function(){return e},e}function $o(){const e=(u=Io)&&u.__esModule?u:{default:u};var u;return $o=function(){return e},e}const Uo=/\*\/$/,Go=/^\/\*\*/,_o=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Xo=/(^|\s+)\/\/([^\r\n]*)/g,Ho=/^(\r?\n)+/,zo=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Jo=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Wo=/(\r?\n|^) *\* ?/g,Yo=[];function Ko(e){const u=(0,$o().default)(e)||Mo().EOL;e=e.replace(Go,"").replace(Uo,"").replace(Wo,"$1");let t="";for(;t!==e;)t=e,e=e.replace(zo,`${u}$1 $2${u}`);e=e.replace(Ho,"").trimRight();const n=Object.create(null),r=e.replace(Jo,"").replace(Ho,"").trimRight();let o;for(;o=Jo.exec(e);){const e=o[2].replace(Xo,"");"string"==typeof n[o[1]]||Array.isArray(n[o[1]])?n[o[1]]=Yo.concat(n[o[1]],e):n[o[1]]=e}return{comments:r,pragmas:n}}function Zo(e,u){return Yo.concat(u).map((u=>`@${e} ${u}`.trim()))}var Qo=Object.defineProperty({extract:Oo,strip:Ro,parse:qo,parseWithComments:jo,print:Vo},"__esModule",{value:!0});var ei={guessEndOfLine:function(e){const u=e.indexOf("\r");return u>=0?"\n"===e.charAt(u+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,u){let t;if("\n"===u)t=/\n/g;else if("\r"===u)t=/\r/g;else{if("\r\n"!==u)throw new Error(`Unexpected "eol" ${JSON.stringify(u)}.`);t=/\r\n/g}const n=e.match(t);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:ui,strip:ti,extract:ni,print:ri}=Qo,{getShebang:oi}=Kt,{normalizeEndOfLine:ii}=ei;function si(e){const u=oi(e);u&&(e=e.slice(u.length+1));const t=ni(e),{pragmas:n,comments:r}=ui(t);return{shebang:u,text:e,pragmas:n,comments:r}}var ai={hasPragma:function(e){const u=Object.keys(si(e).pragmas);return u.includes("prettier")||u.includes("format")},insertPragma:function(e){const{shebang:u,text:t,pragmas:n,comments:r}=si(e),o=ti(t),i=ri({pragmas:Object.assign({format:""},n),comments:r.trimStart()});return(u?`${u}\n`:"")+ii(i)+(o.startsWith("\n")?"\n":"\n\n")+o}};const{hasPragma:Di}=ai,{locStart:ci,locEnd:li}=tn;var pi=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:Di,locStart:ci,locEnd:li},e)};const fi={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",92:"'Unexpected token: 'escaped keyword'",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",107:"'%0' may not be used as an identifier in this context",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class di extends SyntaxError{constructor(e,u,t,n,...r){const o="["+u+":"+t+"]: "+fi[n].replace(/%(\d+)/g,((e,u)=>r[u]));super(`${o}`),this.index=e,this.line=u,this.column=t,this.description=o,this.loc={line:u,column:t}}}function Fi(e,u,...t){throw new di(e.index,e.line,e.column,u,...t)}function Ei(e){throw new di(e.index,e.line,e.column,e.type,e.params)}function Ci(e,u,t,n,...r){throw new di(e,u,t,n,...r)}function Ai(e,u,t,n){throw new di(e,u,t,n)}const gi=((e,u)=>{const t=new Uint32Array(104448);let n=0,r=0;for(;n<3540;){const o=e[n++];if(o<0)r-=o;else{let i=e[n++];2&o&&(i=u[i]),1&o?t.fill(i,r,r+=e[n++]):t[r++]=i}}return t})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function mi(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function hi(e,u){if(55296!=(64512&u))return 0;const t=e.source.charCodeAt(e.index+1);return 56320!=(64512&t)?0:(u=e.currentChar=65536+((1023&u)<<10)+(1023&t),0==(1&gi[0+(u>>>5)]>>>u)&&Fi(e,18,ki(u)),e.index++,e.column++,1)}function yi(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&u)&&(e.column=0,e.line++)}function Bi(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function ki(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function bi(e){return e<65?e-48:e-65+10&15}const Pi=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],xi=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],vi=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function wi(e){return e<=127?xi[e]:1&gi[34816+(e>>>5)]>>>e}function Si(e){return e<=127?vi[e]:1&gi[0+(e>>>5)]>>>e||8204===e||8205===e}const Ti=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function Ni(e,u,t,n,r,o,i,s){return 2048&n&&Fi(e,0),Ii(e,u,t,r,o,i,s)}function Ii(e,u,t,n,r,o,i){const{index:s}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return Fi(e,32)}const r=e.index-1;let o=0,i=e.currentChar;const{index:s}=e;for(;Si(i);){switch(i){case 103:2&o&&Fi(e,34,"g"),o|=2;break;case 105:1&o&&Fi(e,34,"i"),o|=1;break;case 109:4&o&&Fi(e,34,"m"),o|=4;break;case 117:16&o&&Fi(e,34,"g"),o|=16;break;case 121:8&o&&Fi(e,34,"y"),o|=8;break;case 115:12&o&&Fi(e,34,"s"),o|=12;break;default:Fi(e,33)}i=mi(e)}const a=e.source.slice(s,e.index),D=e.source.slice(t,r);return e.tokenRegExp={pattern:D,flags:a},512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,u,t){try{return new RegExp(u,t)}catch(u){Fi(e,32)}}(e,D,a),65540}function Ri(e,u,t){const{index:n}=e;let r="",o=mi(e),i=e.index;for(;0==(8&Pi[o]);){if(o===t)return r+=e.source.slice(i,e.index),mi(e),512&u&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=r,134283267;if(8==(8&o)&&92===o){if(r+=e.source.slice(i,e.index),o=mi(e),o<127||8232===o||8233===o){const t=qi(e,u,o);t>=0?r+=ki(t):ji(e,t,0)}else r+=ki(o);i=e.index+1}e.index>=e.end&&Fi(e,14),o=mi(e)}Fi(e,14)}function qi(e,u,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:u}{if(0==(64&Pi[u]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(64&Pi[t]))return-4;const n=e.source.charCodeAt(e.index+2);if(0==(64&Pi[n]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&Pi[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),bi(u)<<12|bi(t)<<8|bi(n)<<4|bi(r))}}case 56:case 57:if(0==(256&u))return-3;default:return t}}function ji(e,u,t){switch(u){case-1:return;case-2:Fi(e,t?2:1);case-3:Fi(e,13);case-4:Fi(e,6);case-5:Fi(e,101)}}function Vi(e,u){const{index:t}=e;let n=67174409,r="",o=mi(e);for(;96!==o;){if(36===o&&123===e.source.charCodeAt(e.index+1)){mi(e),n=67174408;break}if(8==(8&o)&&92===o)if(o=mi(e),o>126)r+=ki(o);else{const t=qi(e,1024|u,o);if(t>=0)r+=ki(t);else{if(-1!==t&&65536&u){r=void 0,o=Mi(e,o),o<0&&(n=67174408);break}ji(e,t,1)}}else e.index=e.end&&Fi(e,15),o=mi(e)}return mi(e),e.tokenValue=r,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function Mi(e,u){for(;96!==u;){switch(u){case 36:{const t=e.index+1;if(t=e.end&&Fi(e,15),u=mi(e)}return u}function $i(e,u){return e.index>=e.end&&Fi(e,0),e.index--,e.column--,Vi(e,u)}function Ui(e,u,t){let n=e.currentChar,r=0,o=9,i=64&t?0:1,s=0,a=0;if(64&t)r="."+Gi(e,n),n=e.currentChar,110===n&&Fi(e,11);else{if(48===n)if(n=mi(e),120==(32|n)){for(t=136,n=mi(e);4160&Pi[n];)95!==n?(a=1,r=16*r+bi(n),s++,n=mi(e)):(a||Fi(e,146),a=0,n=mi(e));(s<1||!a)&&Fi(e,s<1?19:147)}else if(111==(32|n)){for(t=132,n=mi(e);4128&Pi[n];)95!==n?(a=1,r=8*r+(n-48),s++,n=mi(e)):(a||Fi(e,146),a=0,n=mi(e));(s<1||!a)&&Fi(e,s<1?0:147)}else if(98==(32|n)){for(t=130,n=mi(e);4224&Pi[n];)95!==n?(a=1,r=2*r+(n-48),s++,n=mi(e)):(a||Fi(e,146),a=0,n=mi(e));(s<1||!a)&&Fi(e,s<1?0:147)}else if(32&Pi[n])for(1024&u&&Fi(e,1),t=1;16&Pi[n];){if(512&Pi[n]){t=32,i=0;break}r=8*r+(n-48),n=mi(e)}else 512&Pi[n]?(1024&u&&Fi(e,1),e.flags|=64,t=32):95===n&&Fi(e,0);if(48&t){if(i){for(;o>=0&&4112&Pi[n];)95!==n?(a=0,r=10*r+(n-48),n=mi(e),--o):(n=mi(e),(95===n||32&t)&&Ai(e.index,e.line,e.index+1,146),a=1);if(a&&Ai(e.index,e.line,e.index+1,147),o>=0&&!wi(n)&&46!==n)return e.tokenValue=r,512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}r+=Gi(e,n),n=e.currentChar,46===n&&(95===mi(e)&&Fi(e,0),t=64,r+="."+Gi(e,e.currentChar),n=e.currentChar)}}const D=e.index;let c=0;if(110===n&&128&t)c=1,n=mi(e);else if(101==(32|n)){n=mi(e),256&Pi[n]&&(n=mi(e));const{index:u}=e;(16&Pi[n])<1&&Fi(e,10),r+=e.source.substring(D,u)+Gi(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],Xi=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Hi(e,u,t){for(;vi[mi(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?Xi[e.tokenValue]||208897:Ji(e,u,0,t)}function zi(e,u){const t=Yi(e);return Si(t)||Fi(e,4),e.tokenValue=ki(t),Ji(e,u,1,4&Pi[t])}function Ji(e,u,t,n){let r=e.index;for(;e.index=2&&o<=11){const n=Xi[e.tokenValue];return void 0===n?208897:t?1024&u?209008===n&&0==(4196352&u)?n:36972===n||36864==(36864&n)?122:121:1073741824&u&&0==(8192&u)&&20480==(20480&n)?n:241773===n?1073741824&u?143483:2097152&u?121:n:209007===n&&1073741824&u?143483:36864==(36864&n)||209008===n&&0==(4194304&u)?n:121:n}return 208897}function Wi(e){return wi(mi(e))||Fi(e,93),131}function Yi(e){return 117!==e.source.charCodeAt(e.index+1)&&Fi(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let u=0;const t=e.currentChar;if(123===t){const t=e.index-2;for(;64&Pi[mi(e)];)u=u<<4|bi(e.currentChar),u>1114111&&Ai(t,e.line,e.index+1,101);return 125!==e.currentChar&&Ai(t,e.line,e.index-1,6),mi(e),u}0==(64&Pi[t])&&Fi(e,6);const n=e.source.charCodeAt(e.index+1);0==(64&Pi[n])&&Fi(e,6);const r=e.source.charCodeAt(e.index+2);0==(64&Pi[r])&&Fi(e,6);const o=e.source.charCodeAt(e.index+3);0==(64&Pi[o])&&Fi(e,6);return u=bi(t)<<12|bi(n)<<8|bi(r)<<4|bi(o),e.currentChar=e.source.charCodeAt(e.index+=4),u}(e)}const Ki=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function Zi(e,u){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Qi(e,u,0),e.onToken&&1048576!==e.token){const u={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,u)}}function Qi(e,u,t){const n=0===e.index,r=e.source;let o=e.index,i=e.line,s=e.column;for(;e.index=e.end)return 8457014;const u=e.currentChar;return 61===u?(mi(e),4194340):42!==u?8457014:61!==mi(e)?8457273:(mi(e),4194337)}case 8455497:return 61!==mi(e)?8455497:(mi(e),4194343);case 25233970:{mi(e);const u=e.currentChar;return 43===u?(mi(e),33619995):61===u?(mi(e),4194338):25233970}case 25233971:{mi(e);const a=e.currentChar;if(45===a){if(mi(e),(1&t||n)&&62===e.currentChar){0==(256&u)&&Fi(e,108),mi(e),t=Ni(e,r,t,u,3,o,i,s),o=e.tokenPos,i=e.linePos,s=e.colPos;continue}return 33619996}return 61===a?(mi(e),4194339):25233971}case 8457016:if(mi(e),e.index=48&&l<=57)return Ui(e,u,80);if(46===l){const u=e.index+1;if(u=48&&u<=57)))return mi(e),67108991}return 22}}}else{if((8232^D)<=1){t=-5&t|1,Bi(e);continue}if(55296==(64512&D)||0!=(1&gi[34816+(D>>>5)]>>>D))return 56320==(64512&D)&&(D=(1023&D)<<10|1023&D|65536,0==(1&gi[0+(D>>>5)]>>>D)&&Fi(e,18,ki(D)),e.index++,e.currentChar=D),e.column++,e.tokenValue="",Ji(e,u,0,0);if(160===(a=D)||65279===a||133===a||5760===a||a>=8192&&a<=8203||8239===a||8287===a||12288===a||8201===a||65519===a){mi(e);continue}Fi(e,18,ki(D))}}var a;return 1048576}const es={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"\u0102",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",Aring:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",Atilde:"\xc3",Auml:"\xc4",Backslash:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",Bscr:"\u212c",Bumpeq:"\u224e",CHcy:"\u0427",COPY:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",Cayleys:"\u212d",Ccaron:"\u010c",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"\u212d",Chi:"\u03a7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2a74",Congruent:"\u2261",Conint:"\u222f",ContourIntegral:"\u222e",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",Diamond:"\u22c4",DifferentialD:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",Downarrow:"\u21d3",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ETH:"\xd0",Eacute:"\xc9",Ecaron:"\u011a",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrave:"\xc8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",Equilibrium:"\u21cc",Escr:"\u2130",Esim:"\u2a73",Eta:"\u0397",Euml:"\xcb",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xcd",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslash:"\xd8",Otilde:"\xd5",Otimes:"\u2a37",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acirc:"\xe2",acute:"\xb4",acy:"\u0430",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atilde:"\xe3",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedil:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\u2256",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",eth:"\xf0",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xed",ic:"\u2063",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslash:"\xf8",osol:"\u2298",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",ouml:"\xf6",ovbar:"\u233d",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thorn:"\xfe",tilde:"\u02dc",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},us={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function ts(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const u=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"\ufffd";e in us&&(e=us[e]);return String.fromCodePoint(e)}("X"===u||"x"===u?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return es[e.slice(1,-1)]||e}))}function ns(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&Pi[e.currentChar]?function(e,u){const t=e.currentChar;let n=mi(e);const r=e.index;for(;n!==t;)e.index>=e.end&&Fi(e,14),n=mi(e);n!==t&&Fi(e,14);e.tokenValue=e.source.slice(r,e.index),mi(e),512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,u):Qi(e,u,0),e.token}function rs(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ki[e.source.charCodeAt(e.index)]){case 8456258:mi(e),47===e.currentChar?(mi(e),e.token=25):e.token=8456258;break;case 2162700:mi(e),e.token=2162700;break;default:{let t=0;for(;e.index0&&Ds(e,u,209008);cs(e,32768|u,67174411),t&&(t=ms(t,1));let a,D=null,c=null,l=0,p=null,f=86090===e.token||241739===e.token||86092===e.token;const{token:d,tokenPos:F,linePos:E,colPos:C}=e;f?241739===d?(p=da(e,u,0),2240512&e.token?(8738868===e.token?1024&u&&Fi(e,64):p=Es(e,u,F,E,C,{type:"VariableDeclaration",kind:"let",declarations:$s(e,134217728|u,t,8,32)}),e.assignable=1):1024&u?Fi(e,64):(f=!1,e.assignable=1,p=na(e,u,p,0,0,F,E,C),274549===e.token&&Fi(e,111))):(Zi(e,u),p=Es(e,u,F,E,C,86090===d?{type:"VariableDeclaration",kind:"var",declarations:$s(e,134217728|u,t,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:$s(e,134217728|u,t,16,32)}),e.assignable=1):1074790417===d?s&&Fi(e,79):2097152==(2097152&d)?(p=2162700===d?ya(e,u,void 0,1,0,0,2,32,F,E,C):Aa(e,u,void 0,1,0,0,2,32,F,E,C),l=e.destructible,256&u&&64&l&&Fi(e,60),e.assignable=16&l?2:1,p=na(e,134217728|u,p,0,0,e.tokenPos,e.linePos,e.colPos)):p=ta(e,134217728|u,1,0,1,F,E,C);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&Fi(e,77,s?"await":"of"),ls(e,p),Zi(e,32768|u),a=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),cs(e,32768|u,16);return Es(e,u,r,o,i,{type:"ForOfStatement",left:p,right:a,body:js(e,u,t,n),await:s})}2&e.assignable&&Fi(e,77,"in"),ls(e,p),Zi(e,32768|u),s&&Fi(e,79),a=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos),cs(e,32768|u,16);return Es(e,u,r,o,i,{type:"ForInStatement",body:js(e,u,t,n),left:p,right:a})}s&&Fi(e,79);f||(8&l&&1077936157!==e.token&&Fi(e,77,"loop"),p=Ks(e,134217728|u,0,0,F,E,C,p));18===e.token&&(p=Ws(e,u,0,e.tokenPos,e.linePos,e.colPos,p));cs(e,32768|u,1074790417),1074790417!==e.token&&(D=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos));cs(e,32768|u,1074790417),16!==e.token&&(c=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos));cs(e,32768|u,16);const A=js(e,u,t,n);return Es(e,u,r,o,i,{type:"ForStatement",init:p,test:D,update:c,body:A})}(e,u,t,r,i,s,a);case 20564:return function(e,u,t,n,r,o,i){Zi(e,32768|u);const s=js(e,u,t,n);cs(e,u,20580),cs(e,32768|u,67174411);const a=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return cs(e,32768|u,16),Ds(e,u,1074790417),Es(e,u,r,o,i,{type:"DoWhileStatement",body:s,test:a})}(e,u,t,r,i,s,a);case 20580:return function(e,u,t,n,r,o,i){Zi(e,u),cs(e,32768|u,67174411);const s=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos);cs(e,32768|u,16);const a=js(e,u,t,n);return Es(e,u,r,o,i,{type:"WhileStatement",test:s,body:a})}(e,u,t,r,i,s,a);case 86112:return function(e,u,t,n,r,o,i){Zi(e,u),cs(e,32768|u,67174411);const s=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos);cs(e,u,16),cs(e,u,2162700);const a=[];let D=0;t&&(t=ms(t,8));for(;1074790415!==e.token;){const{tokenPos:r,linePos:o,colPos:i}=e;let s=null;const c=[];for(Ds(e,32768|u,20558)?s=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos):(cs(e,32768|u,20563),D&&Fi(e,86),D=1),cs(e,32768|u,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)c.push(Ss(e,4096|u,t,2,{$:n}));a.push(Es(e,u,r,o,i,{type:"SwitchCase",test:s,consequent:c}))}return cs(e,32768|u,1074790415),Es(e,u,r,o,i,{type:"SwitchStatement",discriminant:s,cases:a})}(e,u,t,r,i,s,a);case 1074790417:return function(e,u,t,n,r){return Zi(e,32768|u),Es(e,u,t,n,r,{type:"EmptyStatement"})}(e,u,i,s,a);case 2162700:return Ns(e,u,t?ms(t,2):t,r,i,s,a);case 86114:return function(e,u,t,n,r){Zi(e,32768|u),1&e.flags&&Fi(e,87);const o=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return is(e,32768|u),Es(e,u,t,n,r,{type:"ThrowStatement",argument:o})}(e,u,i,s,a);case 20557:return function(e,u,t,n,r,o){Zi(e,32768|u);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;i=da(e,32768|u,0),Fs(e,t,n,0)||Fi(e,134,n)}else(135168&u)<1&&Fi(e,66);return is(e,32768|u),Es(e,u,n,r,o,{type:"BreakStatement",label:i})}(e,u,r,i,s,a);case 20561:return function(e,u,t,n,r,o){(131072&u)<1&&Fi(e,65);Zi(e,u);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;i=da(e,32768|u,0),Fs(e,t,n,1)||Fi(e,134,n)}return is(e,32768|u),Es(e,u,n,r,o,{type:"ContinueStatement",label:i})}(e,u,r,i,s,a);case 20579:return function(e,u,t,n,r,o,i){Zi(e,32768|u);const s=t?ms(t,32):void 0,a=Ns(e,u,s,{$:n},e.tokenPos,e.linePos,e.colPos),{tokenPos:D,linePos:c,colPos:l}=e,p=Ds(e,32768|u,20559)?function(e,u,t,n,r,o,i){let s=null,a=t;Ds(e,u,67174411)&&(t&&(t=ms(t,4)),s=Va(e,u,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?Fi(e,83):1077936157===e.token&&Fi(e,84),cs(e,32768|u,16),t&&(a=ms(t,64)));const D=Ns(e,u,a,{$:n},e.tokenPos,e.linePos,e.colPos);return Es(e,u,r,o,i,{type:"CatchClause",param:s,body:D})}(e,u,t,n,D,c,l):null;let f=null;if(20568===e.token){Zi(e,32768|u);f=Ns(e,u,s?ms(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}p||f||Fi(e,85);return Es(e,u,r,o,i,{type:"TryStatement",block:a,handler:p,finalizer:f})}(e,u,t,r,i,s,a);case 20581:return function(e,u,t,n,r,o,i){Zi(e,u),1024&u&&Fi(e,88);cs(e,32768|u,67174411);const s=Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos);cs(e,32768|u,16);const a=Ts(e,u,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return Es(e,u,r,o,i,{type:"WithStatement",object:s,body:a})}(e,u,t,r,i,s,a);case 20562:return function(e,u,t,n,r){return Zi(e,32768|u),is(e,32768|u),Es(e,u,t,n,r,{type:"DebuggerStatement"})}(e,u,i,s,a);case 209007:return Os(e,u,t,n,r,0,i,s,a);case 20559:Fi(e,156);case 20568:Fi(e,157);case 86106:Fi(e,1024&u?73:(256&u)<1?75:74);case 86096:Fi(e,76);default:return function(e,u,t,n,r,o,i,s,a){const{tokenValue:D,token:c}=e;let l;switch(c){case 241739:l=da(e,u,0),1024&u&&Fi(e,82),69271571===e.token&&Fi(e,81);break;default:l=oa(e,u,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&c&&21===e.token)return Ls(e,u,t,n,r,D,l,c,o,i,s,a);l=na(e,u,l,0,0,i,s,a),l=Ks(e,u,0,0,i,s,a,l),18===e.token&&(l=Ws(e,u,0,i,s,a,l));return Is(e,u,l,i,s,a)}(e,u,t,n,r,o,i,s,a)}}function Ns(e,u,t,n,r,o,i){const s=[];for(cs(e,32768|u,2162700);1074790415!==e.token;)s.push(Ss(e,u,t,2,{$:n}));return cs(e,32768|u,1074790415),Es(e,u,r,o,i,{type:"BlockStatement",body:s})}function Is(e,u,t,n,r,o){return is(e,32768|u),Es(e,u,n,r,o,{type:"ExpressionStatement",expression:t})}function Ls(e,u,t,n,r,o,i,s,a,D,c,l){ps(e,u,0,s,1),function(e,u,t){let n=u;for(;n;)n["$"+t]&&Fi(e,132,t),n=n.$;u["$"+t]=1}(e,r,o),Zi(e,32768|u);return Es(e,u,D,c,l,{type:"LabeledStatement",label:i,body:a&&(1024&u)<1&&256&u&&86106===e.token?Ea(e,u,ms(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):Ts(e,u,t,n,r,a,e.tokenPos,e.linePos,e.colPos)})}function Os(e,u,t,n,r,o,i,s,a){const{token:D,tokenValue:c}=e;let l=da(e,u,0);if(21===e.token)return Ls(e,u,t,n,r,c,l,D,1,i,s,a);const p=1&e.flags;if(!p){if(86106===e.token)return o||Fi(e,119),Ea(e,u,t,n,1,0,1,i,s,a);if(143360==(143360&e.token))return l=Sa(e,u,1,i,s,a),18===e.token&&(l=Ws(e,u,0,i,s,a,l)),Is(e,u,l,i,s,a)}return 67174411===e.token?l=Ta(e,u,l,1,1,0,p,i,s,a):(10===e.token&&(xs(e,u,D,1),l=ba(e,u,e.tokenValue,l,0,1,0,i,s,a)),e.assignable=1),l=na(e,u,l,0,0,i,s,a),18===e.token&&(l=Ws(e,u,0,i,s,a,l)),l=Ks(e,u,0,0,i,s,a,l),e.assignable=1,Is(e,u,l,i,s,a)}function Rs(e,u,t,n,r,o,i){return 1074790417!==n&&(e.assignable=2,t=na(e,u,t,0,0,r,o,i),1074790417!==e.token&&(t=Ks(e,u,0,0,r,o,i,t),18===e.token&&(t=Ws(e,u,0,r,o,i,t))),is(e,32768|u)),8&u&&"Literal"===t.type&&"string"==typeof t.value?Es(e,u,r,o,i,{type:"ExpressionStatement",expression:t,directive:t.raw.slice(1,-1)}):Es(e,u,r,o,i,{type:"ExpressionStatement",expression:t})}function qs(e,u,t,n,r,o,i){return 1024&u||(256&u)<1||86106!==e.token?Ts(e,u,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):Ea(e,u,ms(t,2),0,0,0,0,r,o,i)}function js(e,u,t,n){return Ts(e,134217728^(134217728|u)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function Vs(e,u,t,n,r,o,i,s){Zi(e,u);const a=$s(e,u,t,n,r);return is(e,32768|u),Es(e,u,o,i,s,{type:"VariableDeclaration",kind:8&n?"let":"const",declarations:a})}function Ms(e,u,t,n,r,o,i){Zi(e,u);const s=$s(e,u,t,4,n);return is(e,32768|u),Es(e,u,r,o,i,{type:"VariableDeclaration",kind:"var",declarations:s})}function $s(e,u,t,n,r){let o=1;const i=[Us(e,u,t,n,r)];for(;Ds(e,u,18);)o++,i.push(Us(e,u,t,n,r));return o>1&&32&r&&262144&e.token&&Fi(e,58,_i[255&e.token]),i}function Us(e,u,t,n,r){const{token:o,tokenPos:i,linePos:s,colPos:a}=e;let D=null;const c=Va(e,u,t,n,r,i,s,a);return 1077936157===e.token?(Zi(e,32768|u),D=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&r||(2097152&o)<1)&&(274549===e.token||8738868===e.token&&(2097152&o||(4&n)<1||1024&u))&&Ci(i,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&n||(2097152&o)>0)&&262144!=(262144&e.token)&&Fi(e,56,16&n?"const":"destructuring"),Es(e,u,i,s,a,{type:"VariableDeclarator",id:c,init:D})}function Gs(e,u,t){return Ps(u,e.token)||Fi(e,114),537079808==(537079808&e.token)&&Fi(e,115),t&&ys(e,u,t,e.tokenValue,8,0),da(e,u,0)}function _s(e,u,t){const{tokenPos:n,linePos:r,colPos:o}=e;return Zi(e,u),cs(e,u,77934),134217728==(134217728&e.token)&&Ci(n,e.line,e.index,28,_i[255&e.token]),Es(e,u,n,r,o,{type:"ImportNamespaceSpecifier",local:Gs(e,u,t)})}function Xs(e,u,t,n){for(Zi(e,u);143360&e.token;){let{token:r,tokenValue:o,tokenPos:i,linePos:s,colPos:a}=e;const D=da(e,u,0);let c;Ds(e,u,77934)?(134217728==(134217728&e.token)||18===e.token?Fi(e,103):ps(e,u,16,e.token,0),o=e.tokenValue,c=da(e,u,0)):(ps(e,u,16,r,0),c=D),t&&ys(e,u,t,o,8,0),n.push(Es(e,u,i,s,a,{type:"ImportSpecifier",local:c,imported:D})),1074790415!==e.token&&cs(e,u,18)}return cs(e,u,1074790415),n}function Hs(e,u,t,n,r){let o=ia(e,u,Es(e,u,t,n,r,{type:"Identifier",name:"import"}),t,n,r);return o=na(e,u,o,0,0,t,n,r),o=Ks(e,u,0,0,t,n,r,o),Is(e,u,o,t,n,r)}function zs(e,u,t,n,r){let o=sa(e,u,0,t,n,r);return o=na(e,u,o,0,0,t,n,r),Is(e,u,o,t,n,r)}function Js(e,u,t,n,r,o,i,s){let a=oa(e,u,2,0,t,n,r,1,o,i,s);return a=na(e,u,a,r,0,o,i,s),Ks(e,u,r,0,o,i,s,a)}function Ws(e,u,t,n,r,o,i){const s=[i];for(;Ds(e,32768|u,18);)s.push(Js(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos));return Es(e,u,n,r,o,{type:"SequenceExpression",expressions:s})}function Ys(e,u,t,n,r,o,i){const s=Js(e,u,n,0,t,r,o,i);return 18===e.token?Ws(e,u,t,r,o,i,s):s}function Ks(e,u,t,n,r,o,i,s){const{token:a}=e;if(4194304==(4194304&a)){2&e.assignable&&Fi(e,24),(!n&&1077936157===a&&"ArrayExpression"===s.type||"ObjectExpression"===s.type)&&ls(e,s),Zi(e,32768|u);const D=Js(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Es(e,u,r,o,i,n?{type:"AssignmentPattern",left:s,right:D}:{type:"AssignmentExpression",left:s,operator:_i[255&a],right:D})}return 8454144==(8454144&a)&&(s=ea(e,u,t,r,o,i,4,a,s)),Ds(e,32768|u,22)&&(s=Qs(e,u,s,r,o,i)),s}function Zs(e,u,t,n,r,o,i,s){const{token:a}=e;Zi(e,32768|u);const D=Js(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return s=Es(e,u,r,o,i,n?{type:"AssignmentPattern",left:s,right:D}:{type:"AssignmentExpression",left:s,operator:_i[255&a],right:D}),e.assignable=2,s}function Qs(e,u,t,n,r,o){const i=Js(e,134217728^(134217728|u),1,0,0,e.tokenPos,e.linePos,e.colPos);cs(e,32768|u,21),e.assignable=1;const s=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Es(e,u,n,r,o,{type:"ConditionalExpression",test:t,consequent:i,alternate:s})}function ea(e,u,t,n,r,o,i,s,a){const D=8738868&-((134217728&u)>0);let c,l;for(e.assignable=2;8454144&e.token&&(c=e.token,l=3840&c,(524288&c&&268435456&s||524288&s&&268435456&c)&&Fi(e,159),!(l+((8457273===c)<<8)-((D===c)<<12)<=i));)Zi(e,32768|u),a=Es(e,u,n,r,o,{type:524288&c||268435456&c?"LogicalExpression":"BinaryExpression",left:a,right:ea(e,u,t,e.tokenPos,e.linePos,e.colPos,l,c,ta(e,u,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:_i[255&c]});return 1077936157===e.token&&Fi(e,24),a}function ua(e,u,t,n,r,o){const{tokenPos:i,linePos:s,colPos:a}=e;cs(e,32768|u,2162700);const D=[],c=u;if(1074790415!==e.token){for(;134283267===e.token;){const{index:t,tokenPos:n,tokenValue:r,token:o}=e,i=Fa(e,u);ss(e,t,n,r)&&(u|=1024,128&e.flags&&Ci(e.index,e.line,e.tokenPos,63),64&e.flags&&Ci(e.index,e.line,e.tokenPos,8)),D.push(Rs(e,u,i,o,n,e.linePos,e.colPos))}1024&u&&(r&&(537079808==(537079808&r)&&Fi(e,115),36864==(36864&r)&&Fi(e,38)),512&e.flags&&Fi(e,115),256&e.flags&&Fi(e,114)),64&u&&t&&void 0!==o&&(1024&c)<1&&(8192&u)<1&&Ei(o)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)D.push(Ss(e,u,t,4,{}));return cs(e,24&n?32768|u:u,1074790415),e.flags&=-193,1077936157===e.token&&Fi(e,24),Es(e,u,i,s,a,{type:"BlockStatement",body:D})}function ta(e,u,t,n,r,o,i,s){return na(e,u,oa(e,u,2,0,t,0,n,r,o,i,s),n,0,o,i,s)}function na(e,u,t,n,r,o,i,s){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,u,t,n,r,o){2&e.assignable&&Fi(e,52);const{token:i}=e;return Zi(e,u),e.assignable=2,Es(e,u,n,r,o,{type:"UpdateExpression",argument:t,operator:_i[255&i],prefix:!1})}(e,u,t,o,i,s);else if(67108864==(67108864&e.token)){switch(u=134225920^(134225920|u),e.token){case 67108877:Zi(e,1073741824|u),e.assignable=1;t=Es(e,u,o,i,s,{type:"MemberExpression",object:t,computed:!1,property:ra(e,u)});break;case 69271571:{let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags)),Zi(e,32768|u);const{tokenPos:a,linePos:D,colPos:c}=e,l=Ys(e,u,n,1,a,D,c);cs(e,u,20),e.assignable=1,t=Es(e,u,o,i,s,{type:"MemberExpression",object:t,computed:!0,property:l}),r&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags));const a=fa(e,u,n);e.assignable=2,t=Es(e,u,o,i,s,{type:"CallExpression",callee:t,arguments:a}),r&&(e.flags|=2048);break}case 67108991:Zi(e,u),e.flags|=2048,e.assignable=2,t=function(e,u,t,n,r,o){let i,s=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(s=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){Zi(e,32768|u);const{tokenPos:s,linePos:a,colPos:D}=e,c=Ys(e,u,0,1,s,a,D);cs(e,u,20),e.assignable=2,i=Es(e,u,n,r,o,{type:"MemberExpression",object:t,computed:!0,optional:!0,property:c})}else if(67174411===e.token){const s=fa(e,u,0);e.assignable=2,i=Es(e,u,n,r,o,{type:"CallExpression",callee:t,arguments:s,optional:!0})}else{(143360&e.token)<1&&Fi(e,154);const s=da(e,u,0);e.assignable=2,i=Es(e,u,n,r,o,{type:"MemberExpression",object:t,computed:!1,optional:!0,property:s})}s&&(e.flags|=2048);return i}(e,u,t,o,i,s);break;default:2048==(2048&e.flags)&&Fi(e,160),e.assignable=2,t=Es(e,u,o,i,s,{type:"TaggedTemplateExpression",tag:t,quasi:67174408===e.token?ca(e,65536|u):Da(e,u,e.tokenPos,e.linePos,e.colPos)})}t=na(e,u,t,0,1,o,i,s)}return 0===r&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=Es(e,u,o,i,s,{type:"ChainExpression",expression:t})),t}function ra(e,u){return(143360&e.token)<1&&131!==e.token&&Fi(e,154),1&u&&131===e.token?qa(e,u,e.tokenPos,e.linePos,e.colPos):da(e,u,0)}function oa(e,u,t,n,r,o,i,s,a,D,c){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,u,t,n,r,o,i){if(n&&(e.destructible|=128),4194304&u){t&&Fi(e,0),8388608&u&&Ci(e.index,e.line,e.index,29),Zi(e,32768|u);const n=ta(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Es(e,u,r,o,i,{type:"AwaitExpression",argument:n})}return 2048&u&&Fi(e,107,"Await"),ka(e,u,r,o,i)}(e,u,n,i,a,D,c);case 241773:return function(e,u,t,n,r,o,i){if(t&&(e.destructible|=256),2097152&u){Zi(e,32768|u),8388608&u&&Fi(e,30),n||Fi(e,24),22===e.token&&Fi(e,120);let t=null,s=!1;return(1&e.flags)<1&&(s=Ds(e,32768|u,8457014),(77824&e.token||s)&&(t=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,Es(e,u,r,o,i,{type:"YieldExpression",argument:t,delegate:s})}return 1024&u&&Fi(e,94,"yield"),ka(e,u,r,o,i)}(e,u,i,r,a,D,c);case 209007:return function(e,u,t,n,r,o,i,s,a,D){const{token:c}=e,l=da(e,u,o),{flags:p}=e;if((1&p)<1){if(86106===e.token)return Ca(e,u,1,t,s,a,D);if(143360==(143360&e.token))return n||Fi(e,0),Sa(e,u,r,s,a,D)}return i||67174411!==e.token?10===e.token?(xs(e,u,c,1),i&&Fi(e,48),ba(e,u,e.tokenValue,l,i,r,0,s,a,D)):l:Ta(e,u,l,r,1,0,p,s,a,D)}(e,u,i,s,r,o,n,a,D,c)}const{token:l,tokenValue:p}=e,f=da(e,65536|u,o);return 10===e.token?(s||Fi(e,0),xs(e,u,l,1),ba(e,u,p,f,n,r,0,a,D,c)):(16384&u&&537079928===l&&Fi(e,126),241739===l&&(1024&u&&Fi(e,109),24&t&&Fi(e,97)),e.assignable=1024&u&&537079808==(537079808&l)?2:1,f)}if(134217728==(134217728&e.token))return Fa(e,u);switch(e.token){case 33619995:case 33619996:return function(e,u,t,n,r,o,i){t&&Fi(e,53),n||Fi(e,0);const{token:s}=e;Zi(e,32768|u);const a=ta(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&Fi(e,52),e.assignable=2,Es(e,u,r,o,i,{type:"UpdateExpression",argument:a,operator:_i[255&s],prefix:!0})}(e,u,n,s,a,D,c);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,u,t,n,r,o,i){t||Fi(e,0);const s=e.token;Zi(e,32768|u);const a=ta(e,u,0,i,1,e.tokenPos,e.linePos,e.colPos);var D;return 8457273===e.token&&Fi(e,31),1024&u&&16863278===s&&("Identifier"===a.type?Fi(e,117):(D=a).property&&"PrivateIdentifier"===D.property.type&&Fi(e,123)),e.assignable=2,Es(e,u,n,r,o,{type:"UnaryExpression",operator:_i[255&s],argument:a,prefix:!0})}(e,u,s,a,D,c,i);case 86106:return Ca(e,u,0,i,a,D,c);case 2162700:return function(e,u,t,n,r,o,i){const s=ya(e,u,void 0,t,n,0,2,0,r,o,i);256&u&&64&e.destructible&&Fi(e,60);8&e.destructible&&Fi(e,59);return s}(e,u,r?0:1,i,a,D,c);case 69271571:return function(e,u,t,n,r,o,i){const s=Aa(e,u,void 0,t,n,0,2,0,r,o,i);256&u&&64&e.destructible&&Fi(e,60);8&e.destructible&&Fi(e,59);return s}(e,u,r?0:1,i,a,D,c);case 67174411:return function(e,u,t,n,r,o,i,s){e.flags=128^(128|e.flags);const{tokenPos:a,linePos:D,colPos:c}=e;Zi(e,1073774592|u);const l=64&u?ms({parent:void 0,type:2},1024):void 0;if(Ds(e,u=134225920^(134225920|u),16))return Pa(e,u,l,[],t,0,o,i,s);let p,f=0;e.destructible&=-385;let d=[],F=0,E=0;const{tokenPos:C,linePos:A,colPos:g}=e;e.assignable=1;for(;16!==e.token;){const{token:t,tokenPos:o,linePos:i,colPos:s}=e;if(143360&t)l&&ys(e,u,l,e.tokenValue,1,0),p=oa(e,u,n,0,1,0,1,1,o,i,s),16===e.token||18===e.token?2&e.assignable?(f|=16,E=1):537079808!=(537079808&t)&&36864!=(36864&t)||(E=1):(1077936157===e.token?E=1:f|=16,p=na(e,u,p,1,0,o,i,s),16!==e.token&&18!==e.token&&(p=Ks(e,u,1,0,o,i,s,p)));else{if(2097152!=(2097152&t)){if(14===t){p=ma(e,u,l,16,n,r,0,1,0,o,i,s),16&e.destructible&&Fi(e,71),E=1,!F||16!==e.token&&18!==e.token||d.push(p),f|=8;break}if(f|=16,p=Js(e,u,1,0,1,o,i,s),!F||16!==e.token&&18!==e.token||d.push(p),18===e.token&&(F||(F=1,d=[p])),F){for(;Ds(e,32768|u,18);)d.push(Js(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,p=Es(e,u,C,A,g,{type:"SequenceExpression",expressions:d})}return cs(e,u,16),e.destructible=f,p}p=2162700===t?ya(e,1073741824|u,l,0,1,0,n,r,o,i,s):Aa(e,1073741824|u,l,0,1,0,n,r,o,i,s),f|=e.destructible,E=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&f&&Fi(e,118),p=na(e,u,p,0,0,o,i,s),f|=16,16!==e.token&&18!==e.token&&(p=Ks(e,u,0,0,o,i,s,p)))}if(!F||16!==e.token&&18!==e.token||d.push(p),!Ds(e,32768|u,18))break;if(F||(F=1,d=[p]),16===e.token){f|=8;break}}F&&(e.assignable=2,p=Es(e,u,C,A,g,{type:"SequenceExpression",expressions:d}));cs(e,u,16),16&f&&8&f&&Fi(e,145);if(f|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&f&&Fi(e,46),4196352&u&&128&f&&Fi(e,29),2098176&u&&256&f&&Fi(e,30),E&&(e.flags|=128),Pa(e,u,l,F?d:[p],t,0,o,i,s);8&f&&Fi(e,139);return e.destructible=256^(256|e.destructible)|f,128&u?Es(e,u,a,D,c,{type:"ParenthesizedExpression",expression:p}):p}(e,u,r,1,0,a,D,c);case 86021:case 86022:case 86023:return function(e,u,t,n,r){const o=_i[255&e.token],i=86023===e.token?null:"true"===o;return Zi(e,u),e.assignable=2,Es(e,u,t,n,r,512&u?{type:"Literal",value:i,raw:o}:{type:"Literal",value:i})}(e,u,a,D,c);case 86113:return function(e,u){const{tokenPos:t,linePos:n,colPos:r}=e;return Zi(e,u),e.assignable=2,Es(e,u,t,n,r,{type:"ThisExpression"})}(e,u);case 65540:return function(e,u,t,n,r){const{tokenRaw:o,tokenRegExp:i,tokenValue:s}=e;return Zi(e,u),e.assignable=2,Es(e,u,t,n,r,512&u?{type:"Literal",value:s,regex:i,raw:o}:{type:"Literal",value:s,regex:i})}(e,u,a,D,c);case 133:case 86096:return function(e,u,t,n,r,o){let i=null,s=null;const a=Ia(e,u=16777216^(16778240|u));a.length&&(n=e.tokenPos,r=e.linePos,o=e.colPos);Zi(e,u),4096&e.token&&20567!==e.token&&(ds(e,u,e.token)&&Fi(e,114),537079808==(537079808&e.token)&&Fi(e,115),i=da(e,u,0));let D=u;Ds(e,32768|u,20567)?(s=ta(e,u,0,t,0,e.tokenPos,e.linePos,e.colPos),D|=524288):D=524288^(524288|D);const c=Oa(e,D,u,void 0,2,0,t);return e.assignable=2,Es(e,u,n,r,o,1&u?{type:"ClassExpression",id:i,superClass:s,decorators:a,body:c}:{type:"ClassExpression",id:i,superClass:s,body:c})}(e,u,i,a,D,c);case 86111:return function(e,u,t,n,r){switch(Zi(e,u),e.token){case 67108991:Fi(e,161);case 67174411:(524288&u)<1&&Fi(e,26),16384&u&&Fi(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&u)<1&&Fi(e,27),16384&u&&Fi(e,143),e.assignable=1;break;default:Fi(e,28,"super")}return Es(e,u,t,n,r,{type:"Super"})}(e,u,a,D,c);case 67174409:return Da(e,u,a,D,c);case 67174408:return ca(e,u);case 86109:return function(e,u,t,n,r,o){const i=da(e,32768|u,0),{tokenPos:s,linePos:a,colPos:D}=e;if(Ds(e,u,67108877)){if(67108864&u&&143494===e.token)return e.assignable=2,function(e,u,t,n,r,o){const i=da(e,u,0);return Es(e,u,n,r,o,{type:"MetaProperty",meta:t,property:i})}(e,u,i,n,r,o);Fi(e,91)}e.assignable=2,16842752==(16842752&e.token)&&Fi(e,62,_i[255&e.token]);const c=oa(e,u,2,1,0,0,t,1,s,a,D);u=134217728^(134217728|u),67108991===e.token&&Fi(e,162);const l=wa(e,u,c,t,s,a,D);return e.assignable=2,Es(e,u,n,r,o,{type:"NewExpression",callee:l,arguments:67174411===e.token?fa(e,u,t):[]})}(e,u,i,a,D,c);case 134283389:return aa(e,u,a,D,c);case 131:return qa(e,u,a,D,c);case 86108:return function(e,u,t,n,r,o,i){let s=da(e,u,0);if(67108877===e.token)return ia(e,u,s,r,o,i);t&&Fi(e,137);return s=sa(e,u,n,r,o,i),e.assignable=2,na(e,u,s,n,0,r,o,i)}(e,u,n,i,a,D,c);case 8456258:if(16&u)return $a(e,u,1,a,D,c);default:if(Ps(u,e.token))return ka(e,u,a,D,c);Fi(e,28,_i[255&e.token])}}function ia(e,u,t,n,r,o){return 0==(2048&u)&&Fi(e,163),Zi(e,u),143495!==e.token&&"meta"!==e.tokenValue&&Fi(e,28,_i[255&e.token]),e.assignable=2,Es(e,u,n,r,o,{type:"MetaProperty",meta:t,property:da(e,u,0)})}function sa(e,u,t,n,r,o){cs(e,32768|u,67174411),14===e.token&&Fi(e,138);const i=Js(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos);return cs(e,u,16),Es(e,u,n,r,o,{type:"ImportExpression",source:i})}function aa(e,u,t,n,r){const{tokenRaw:o,tokenValue:i}=e;return Zi(e,u),e.assignable=2,Es(e,u,t,n,r,512&u?{type:"Literal",value:i,bigint:o.slice(0,-1),raw:o}:{type:"Literal",value:i,bigint:o.slice(0,-1)})}function Da(e,u,t,n,r){e.assignable=2;const{tokenValue:o,tokenRaw:i,tokenPos:s,linePos:a,colPos:D}=e;cs(e,u,67174409);return Es(e,u,t,n,r,{type:"TemplateLiteral",expressions:[],quasis:[la(e,u,o,i,s,a,D,!0)]})}function ca(e,u){u=134217728^(134217728|u);const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;cs(e,32768|u,67174408);const s=[la(e,u,t,n,r,o,i,!1)],a=[Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&Fi(e,80);67174409!==(e.token=$i(e,u));){const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;cs(e,32768|u,67174408),s.push(la(e,u,t,n,r,o,i,!1)),a.push(Ys(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&Fi(e,80)}{const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;cs(e,u,67174409),s.push(la(e,u,t,n,r,o,i,!0))}return Es(e,u,r,o,i,{type:"TemplateLiteral",expressions:a,quasis:s})}function la(e,u,t,n,r,o,i,s){const a=Es(e,u,r,o,i,{type:"TemplateElement",value:{cooked:t,raw:n},tail:s}),D=s?1:2;return 2&u&&(a.start+=1,a.range[0]+=1,a.end-=D,a.range[1]-=D),4&u&&(a.loc.start.column+=1,a.loc.end.column-=D),a}function pa(e,u,t,n,r){cs(e,32768|(u=134217728^(134217728|u)),14);const o=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,Es(e,u,t,n,r,{type:"SpreadElement",argument:o})}function fa(e,u,t){Zi(e,32768|u);const n=[];if(16===e.token)return Zi(e,u),n;for(;16!==e.token&&(14===e.token?n.push(pa(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(Js(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(Zi(e,32768|u),16!==e.token););return cs(e,u,16),n}function da(e,u,t){const{tokenValue:n,tokenPos:r,linePos:o,colPos:i}=e;return Zi(e,u),Es(e,u,r,o,i,268435456&u?{type:"Identifier",name:n,pattern:1===t}:{type:"Identifier",name:n})}function Fa(e,u){const{tokenValue:t,tokenRaw:n,tokenPos:r,linePos:o,colPos:i}=e;return 134283389===e.token?aa(e,u,r,o,i):(Zi(e,u),e.assignable=2,Es(e,u,r,o,i,512&u?{type:"Literal",value:t,raw:n}:{type:"Literal",value:t}))}function Ea(e,u,t,n,r,o,i,s,a,D){Zi(e,32768|u);const c=r?as(e,u,8457014):0;let l,p=null,f=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&o)<1&&Fi(e,37,"Function");else{const r=4&n&&((8192&u)<1||(2048&u)<1)?4:64;fs(e,u|(3072&u)<<11,e.token),t&&(4&r?Bs(e,u,t,e.tokenValue,r):ys(e,u,t,e.tokenValue,r,n),f=ms(f,256),o&&2&o&&ks(e,e.tokenValue)),l=e.token,143360&e.token?p=da(e,u,0):Fi(e,28,_i[255&e.token])}u=32243712^(32243712|u)|67108864|2*i+c<<21|(c?0:1073741824),t&&(f=ms(f,512));return Es(e,u,s,a,D,{type:"FunctionDeclaration",id:p,params:va(e,8388608|u,f,0,1),body:ua(e,143360^(143360|u),t?ms(f,128):f,8,l,t?f.scopeError:void 0),async:1===i,generator:1===c})}function Ca(e,u,t,n,r,o,i){Zi(e,32768|u);const s=as(e,u,8457014),a=2*t+s<<21;let D,c=null,l=64&u?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(fs(e,32243712^(32243712|u)|a,e.token),l&&(l=ms(l,256)),D=e.token,c=da(e,u,0)),u=32243712^(32243712|u)|67108864|a|(s?0:1073741824),l&&(l=ms(l,512));const p=va(e,8388608|u,l,n,1),f=ua(e,-134377473&u,l?ms(l,128):l,0,D,void 0);return e.assignable=2,Es(e,u,r,o,i,{type:"FunctionExpression",id:c,params:p,body:f,async:1===t,generator:1===s})}function Aa(e,u,t,n,r,o,i,s,a,D,c){Zi(e,32768|u);const l=[];let p=0;for(u=134217728^(134217728|u);20!==e.token;)if(Ds(e,32768|u,18))l.push(null);else{let n;const{token:a,tokenPos:D,linePos:c,colPos:f,tokenValue:d}=e;if(143360&a)if(n=oa(e,u,i,0,1,0,r,1,D,c,f),1077936157===e.token){2&e.assignable&&Fi(e,24),Zi(e,32768|u),t&&hs(e,u,t,d,i,s);const a=Js(e,u,1,1,r,e.tokenPos,e.linePos,e.colPos);n=Es(e,u,D,c,f,o?{type:"AssignmentPattern",left:n,right:a}:{type:"AssignmentExpression",operator:"=",left:n,right:a}),p|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?p|=16:t&&hs(e,u,t,d,i,s),p|=256&e.destructible?256:0|128&e.destructible?128:0):(p|=1&i?32:(2&i)<1?16:0,n=na(e,u,n,r,0,D,c,f),18!==e.token&&20!==e.token?(1077936157!==e.token&&(p|=16),n=Ks(e,u,r,o,D,c,f,n)):1077936157!==e.token&&(p|=2&e.assignable?16:32));else 2097152&a?(n=2162700===e.token?ya(e,u,t,0,r,o,i,s,D,c,f):Aa(e,u,t,0,r,o,i,s,D,c,f),p|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(p|=16):8&e.destructible?Fi(e,68):(n=na(e,u,n,r,0,D,c,f),p=2&e.assignable?16:0,18!==e.token&&20!==e.token?n=Ks(e,u,r,o,D,c,f,n):1077936157!==e.token&&(p|=2&e.assignable?16:32))):14===a?(n=ma(e,u,t,20,i,s,0,r,o,D,c,f),p|=e.destructible,18!==e.token&&20!==e.token&&Fi(e,28,_i[255&e.token])):(n=ta(e,u,1,0,1,D,c,f),18!==e.token&&20!==e.token?(n=Ks(e,u,r,o,D,c,f,n),(3&i)<1&&67174411===a&&(p|=16)):2&e.assignable?p|=16:67174411===a&&(p|=1&e.assignable&&3&i?32:16));if(l.push(n),!Ds(e,32768|u,18))break;if(20===e.token)break}cs(e,u,20);const f=Es(e,u,a,D,c,{type:o?"ArrayPattern":"ArrayExpression",elements:l});return!n&&4194304&e.token?ga(e,u,p,r,o,a,D,c,f):(e.destructible=p,f)}function ga(e,u,t,n,r,o,i,s,a){1077936157!==e.token&&Fi(e,24),Zi(e,32768|u),16&t&&Fi(e,24),r||ls(e,a);const{tokenPos:D,linePos:c,colPos:l}=e,p=Js(e,u,1,1,n,D,c,l);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),Es(e,u,o,i,s,r?{type:"AssignmentPattern",left:a,right:p}:{type:"AssignmentExpression",left:a,operator:"=",right:p})}function ma(e,u,t,n,r,o,i,s,a,D,c,l){Zi(e,32768|u);let p=null,f=0,{token:d,tokenValue:F,tokenPos:E,linePos:C,colPos:A}=e;if(143360&d)e.assignable=1,p=oa(e,u,r,0,1,0,s,1,E,C,A),d=e.token,p=na(e,u,p,s,0,E,C,A),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&Fi(e,68),f|=16,p=Ks(e,u,s,a,E,C,A,p)),2&e.assignable?f|=16:d===n||18===d?t&&hs(e,u,t,F,r,o):f|=32,f|=128&e.destructible?128:0;else if(d===n)Fi(e,39);else{if(!(2097152&d)){f|=32,p=ta(e,u,1,s,1,e.tokenPos,e.linePos,e.colPos);const{token:t,tokenPos:r,linePos:o,colPos:i}=e;return 1077936157===t&&t!==n&&18!==t?(2&e.assignable&&Fi(e,24),p=Ks(e,u,s,a,r,o,i,p),f|=16):(18===t?f|=16:t!==n&&(p=Ks(e,u,s,a,r,o,i,p)),f|=1&e.assignable?32:16),e.destructible=f,e.token!==n&&18!==e.token&&Fi(e,155),Es(e,u,D,c,l,{type:a?"RestElement":"SpreadElement",argument:p})}p=2162700===e.token?ya(e,u,t,1,s,a,r,o,E,C,A):Aa(e,u,t,1,s,a,r,o,E,C,A),d=e.token,1077936157!==d&&d!==n&&18!==d?(8&e.destructible&&Fi(e,68),p=na(e,u,p,s,0,E,C,A),f|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(f|=16),p=Ks(e,u,s,a,E,C,A,p)):(8454144==(8454144&e.token)&&(p=ea(e,u,1,E,C,A,4,d,p)),Ds(e,32768|u,22)&&(p=Qs(e,u,p,E,C,A)),f|=2&e.assignable?16:32)):f|=1074790415===n&&1077936157!==d?16:e.destructible}if(e.token!==n)if(1&r&&(f|=i?16:32),Ds(e,32768|u,1077936157)){16&f&&Fi(e,24),ls(e,p);const t=Js(e,u,1,1,s,e.tokenPos,e.linePos,e.colPos);p=Es(e,u,E,C,A,a?{type:"AssignmentPattern",left:p,right:t}:{type:"AssignmentExpression",left:p,operator:"=",right:t}),f=16}else f|=16;return e.destructible=f,Es(e,u,D,c,l,{type:a?"RestElement":"SpreadElement",argument:p})}function ha(e,u,t,n,r,o,i){const s=(64&t)<1?31981568:14680064;let a=64&(u=(u|s)^s|(88&t)<<18|100925440)?ms({parent:void 0,type:2},512):void 0;const D=function(e,u,t,n,r,o){cs(e,u,67174411);const i=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&Fi(e,35,"Setter","one",""),Zi(e,u),i;256&n&&Fi(e,35,"Getter","no","s");512&n&&14===e.token&&Fi(e,36);u=134217728^(134217728|u);let s=0,a=0;for(;18!==e.token;){let D=null;const{tokenPos:c,linePos:l,colPos:p}=e;if(143360&e.token?((1024&u)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),D=Ma(e,u,t,1|n,0,c,l,p)):(2162700===e.token?D=ya(e,u,t,1,o,1,r,0,c,l,p):69271571===e.token?D=Aa(e,u,t,1,o,1,r,0,c,l,p):14===e.token&&(D=ma(e,u,t,16,r,0,0,o,1,c,l,p)),a=1,48&e.destructible&&Fi(e,47)),1077936157===e.token){Zi(e,32768|u),a=1;D=Es(e,u,c,l,p,{type:"AssignmentPattern",left:D,right:Js(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(s++,i.push(D),!Ds(e,u,18))break;if(16===e.token)break}512&n&&1!==s&&Fi(e,35,"Setter","one","");t&&void 0!==t.scopeError&&Ei(t.scopeError);a&&(e.flags|=128);return cs(e,u,16),i}(e,8388608|u,a,t,1,n);a&&(a=ms(a,128));return Es(e,u,r,o,i,{type:"FunctionExpression",params:D,body:ua(e,-134230017&u,a,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function ya(e,u,t,n,r,o,i,s,a,D,c){Zi(e,u);const l=[];let p=0,f=0;for(u=134217728^(134217728|u);1074790415!==e.token;){const{token:n,tokenValue:a,linePos:D,colPos:c,tokenPos:d}=e;if(14===n)l.push(ma(e,u,t,1074790415,i,s,0,r,o,d,D,c));else{let F,E=0,C=null;const A=e.token;if(143360&e.token||121===e.token)if(C=da(e,u,0),18===e.token||1074790415===e.token||1077936157===e.token)if(E|=4,1024&u&&537079808==(537079808&n)?p|=16:ps(e,u,i,n,0),t&&hs(e,u,t,a,i,s),Ds(e,32768|u,1077936157)){p|=8;const t=Js(e,u,1,1,r,e.tokenPos,e.linePos,e.colPos);p|=256&e.destructible?256:0|128&e.destructible?128:0,F=Es(e,u,d,D,c,{type:"AssignmentPattern",left:-2147483648&u?Object.assign({},C):C,right:t})}else p|=(209008===n?128:0)|(121===n?16:0),F=-2147483648&u?Object.assign({},C):C;else if(Ds(e,32768|u,21)){const{tokenPos:D,linePos:c,colPos:l}=e;if("__proto__"===a&&f++,143360&e.token){const n=e.token,a=e.tokenValue;p|=121===A?16:0,F=oa(e,u,i,0,1,0,r,1,D,c,l);const{token:f}=e;F=na(e,u,F,r,0,D,c,l),18===e.token||1074790415===e.token?1077936157===f||1074790415===f||18===f?(p|=128&e.destructible?128:0,2&e.assignable?p|=16:t&&143360==(143360&n)&&hs(e,u,t,a,i,s)):p|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?p|=16:1077936157!==f?p|=32:t&&hs(e,u,t,a,i,s),F=Ks(e,u,r,o,D,c,l,F)):(p|=16,8454144==(8454144&e.token)&&(F=ea(e,u,1,D,c,l,4,f,F)),Ds(e,32768|u,22)&&(F=Qs(e,u,F,D,c,l)))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Aa(e,u,t,0,r,o,i,s,D,c,l):ya(e,u,t,0,r,o,i,s,D,c,l),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8&e.destructible?Fi(e,68):(F=na(e,u,F,r,0,D,c,l),p=2&e.assignable?16:0,4194304==(4194304&e.token)?F=Zs(e,u,r,o,D,c,l,F):(8454144==(8454144&e.token)&&(F=ea(e,u,1,D,c,l,4,n,F)),Ds(e,32768|u,22)&&(F=Qs(e,u,F,D,c,l)),p|=2&e.assignable?16:32))):(F=ta(e,u,1,r,1,D,c,l),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=na(e,u,F,r,0,D,c,l),p=2&e.assignable?16:0,18!==e.token&&1074790415!==n&&(1077936157!==e.token&&(p|=16),F=Ks(e,u,r,o,D,c,l,F))))}else 69271571===e.token?(p|=16,209007===n&&(E|=16),E|=2|(12402===n?256:12403===n?512:1),C=Ba(e,u,r),p|=e.assignable,F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(p|=16,121===n&&Fi(e,92),209007===n&&(1&e.flags&&Fi(e,128),E|=16),C=da(e,u,0),E|=12402===n?256:12403===n?512:1,F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(p|=16,E|=1,F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(p|=16,12402===n||12403===n?Fi(e,40):143483===n&&Fi(e,92),Zi(e,u),E|=9|(209007===n?16:0),143360&e.token?C=da(e,u,0):134217728==(134217728&e.token)?C=Fa(e,u):69271571===e.token?(E|=2,C=Ba(e,u,r),p|=e.assignable):Fi(e,28,_i[255&e.token]),F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===n&&(E|=16),E|=12402===n?256:12403===n?512:1,p|=16,C=Fa(e,u),F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):Fi(e,129);else if(134217728==(134217728&e.token))if(C=Fa(e,u),21===e.token){cs(e,32768|u,21);const{tokenPos:D,linePos:c,colPos:l}=e;if("__proto__"===a&&f++,143360&e.token){F=oa(e,u,i,0,1,0,r,1,D,c,l);const{token:n,tokenValue:a}=e;F=na(e,u,F,r,0,D,c,l),18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?p|=16:t&&hs(e,u,t,a,i,s):p|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(p|=16),F=Ks(e,u,r,o,D,c,l,F)):(p|=16,F=Ks(e,u,r,o,D,c,l,F))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Aa(e,u,t,0,r,o,i,s,D,c,l):ya(e,u,t,0,r,o,i,s,D,c,l),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8!=(8&e.destructible)&&(F=na(e,u,F,r,0,D,c,l),p=2&e.assignable?16:0,4194304==(4194304&e.token)?F=Zs(e,u,r,o,D,c,l,F):(8454144==(8454144&e.token)&&(F=ea(e,u,1,D,c,l,4,n,F)),Ds(e,32768|u,22)&&(F=Qs(e,u,F,D,c,l)),p|=2&e.assignable?16:32))):(F=ta(e,u,1,0,1,D,c,l),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=na(e,u,F,r,0,D,c,l),p=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(p|=16),F=Ks(e,u,r,o,D,c,l,F))))}else 67174411===e.token?(E|=1,F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos),p=16|e.assignable):Fi(e,130);else if(69271571===e.token)if(C=Ba(e,u,r),p|=256&e.destructible?256:0,E|=2,21===e.token){Zi(e,32768|u);const{tokenPos:a,linePos:D,colPos:c,tokenValue:l,token:f}=e;if(143360&e.token){F=oa(e,u,i,0,1,0,r,1,a,D,c);const{token:n}=e;F=na(e,u,F,r,0,a,D,c),4194304==(4194304&e.token)?(p|=2&e.assignable?16:1077936157===n?0:32,F=Zs(e,u,r,o,a,D,c,F)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?p|=16:t&&143360==(143360&f)&&hs(e,u,t,l,i,s):p|=1&e.assignable?32:16:(p|=16,F=Ks(e,u,r,o,a,D,c,F))}else 2097152==(2097152&e.token)?(F=69271571===e.token?Aa(e,u,t,0,r,o,i,s,a,D,c):ya(e,u,t,0,r,o,i,s,a,D,c),p=e.destructible,e.assignable=16&p?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):8&p?Fi(e,59):(F=na(e,u,F,r,0,a,D,c),p=2&e.assignable?16|p:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(p|=16),F=Zs(e,u,r,o,a,D,c,F)):(8454144==(8454144&e.token)&&(F=ea(e,u,1,a,D,c,4,n,F)),Ds(e,32768|u,22)&&(F=Qs(e,u,F,a,D,c)),p|=2&e.assignable?16:32))):(F=ta(e,u,1,0,1,a,D,c),p|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(p|=16):(F=na(e,u,F,r,0,a,D,c),p=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(p|=16),F=Ks(e,u,r,o,a,D,c,F))))}else 67174411===e.token?(E|=1,F=ha(e,u,E,r,e.tokenPos,D,c),p=16):Fi(e,41);else if(8457014===n)if(cs(e,32768|u,8457014),E|=8,143360&e.token){const{token:t,line:n,index:o}=e;C=da(e,u,0),E|=1,67174411===e.token?(p|=16,F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):Ci(o,n,o,209007===t?43:12402===t||12403===e.token?42:44,_i[255&t])}else 134217728==(134217728&e.token)?(p|=16,C=Fa(e,u),E|=1,F=ha(e,u,E,r,d,D,c)):69271571===e.token?(p|=16,E|=3,C=Ba(e,u,r),F=ha(e,u,E,r,e.tokenPos,e.linePos,e.colPos)):Fi(e,122);else Fi(e,28,_i[255&n]);p|=128&e.destructible?128:0,e.destructible=p,l.push(Es(e,u,d,D,c,{type:"Property",key:C,value:F,kind:768&E?512&E?"set":"get":"init",computed:(2&E)>0,method:(1&E)>0,shorthand:(4&E)>0}))}if(p|=e.destructible,18!==e.token)break;Zi(e,u)}cs(e,u,1074790415),f>1&&(p|=64);const d=Es(e,u,a,D,c,{type:o?"ObjectPattern":"ObjectExpression",properties:l});return!n&&4194304&e.token?ga(e,u,p,r,o,a,D,c,d):(e.destructible=p,d)}function Ba(e,u,t){Zi(e,32768|u);const n=Js(e,134217728^(134217728|u),1,0,t,e.tokenPos,e.linePos,e.colPos);return cs(e,u,20),n}function ka(e,u,t,n,r){const{tokenValue:o}=e,i=da(e,u,0);if(e.assignable=1,10===e.token){let s;return 64&u&&(s=As(e,u,o)),e.flags=128^(128|e.flags),xa(e,u,s,[i],0,t,n,r)}return i}function ba(e,u,t,n,r,o,i,s,a,D){o||Fi(e,54),r&&Fi(e,48),e.flags&=-129;return xa(e,u,64&u?As(e,u,t):void 0,[n],i,s,a,D)}function Pa(e,u,t,n,r,o,i,s,a){r||Fi(e,54);for(let u=0;u0&&"constructor"===e.tokenValue&&Fi(e,106),1074790415===e.token&&Fi(e,105),Ds(e,u,1074790417)?o>0&&Fi(e,116):c.push(Ra(e,u,n,t,r,l,0,i,e.tokenPos,e.linePos,e.colPos))}return cs(e,8&o?32768|u:u,1074790415),Es(e,u,s,a,D,{type:"ClassBody",body:c})}function Ra(e,u,t,n,r,o,i,s,a,D,c){let l=i?32:0,p=null;const{token:f,tokenPos:d,linePos:F,colPos:E}=e;if(176128&f)switch(p=da(e,u,0),f){case 36972:if(!i&&67174411!==e.token)return Ra(e,u,t,n,r,o,1,s,a,D,c);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&u&&1073741824==(1073741824&e.token))return ja(e,u,p,l,o,d,F,E);l|=16|(as(e,u,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return ja(e,u,p,l,o,d,F,E);l|=256}break;case 12403:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return ja(e,u,p,l,o,d,F,E);l|=512}}else 69271571===f?(l|=2,p=Ba(e,n,s)):134217728==(134217728&f)?p=Fa(e,u):8457014===f?(l|=8,Zi(e,u)):1&u&&131===e.token?(l|=4096,p=qa(e,u,d,F,E),u|=16384):1&u&&1073741824==(1073741824&e.token)?(l|=128,u|=16384):122===f?(p=da(e,u,0),67174411!==e.token&&Fi(e,28,_i[255&e.token])):Fi(e,28,_i[255&e.token]);if(792&l&&(143360&e.token?p=da(e,u,0):134217728==(134217728&e.token)?p=Fa(e,u):69271571===e.token?(l|=2,p=Ba(e,u,0)):122===e.token?p=da(e,u,0):1&u&&131===e.token?(l|=4096,p=qa(e,u,d,F,E)):Fi(e,131)),(2&l)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?Fi(e,125):(32&l)<1&&67174411===e.token&&(920&l?Fi(e,50,"accessor"):(524288&u)<1&&(32&e.flags?Fi(e,51):e.flags|=32)),l|=64):(4096&l)<1&&824&l&&"prototype"===e.tokenValue&&Fi(e,49)),1&u&&67174411!==e.token)return ja(e,u,p,l,o,d,F,E);const C=ha(e,u,l,s,e.tokenPos,e.linePos,e.colPos);return Es(e,u,a,D,c,1&u?{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:p,decorators:o,value:C}:{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:p,value:C})}function qa(e,u,t,n,r){Zi(e,u);const{tokenValue:o}=e;return"constructor"===o&&Fi(e,124),Zi(e,u),Es(e,u,t,n,r,{type:"PrivateIdentifier",name:o})}function ja(e,u,t,n,r,o,i,s){let a=null;if(8&n&&Fi(e,0),1077936157===e.token){Zi(e,32768|u);const{tokenPos:t,linePos:n,colPos:r}=e;537079928===e.token&&Fi(e,115),a=oa(e,16384|u,2,0,1,0,0,1,t,n,r),1073741824!=(1073741824&e.token)&&(a=na(e,16384|u,a,0,0,t,n,r),a=Ks(e,16384|u,0,0,t,n,r,a),18===e.token&&(a=Ws(e,u,0,o,i,s,a)))}return Es(e,u,o,i,s,{type:"PropertyDefinition",key:t,value:a,static:(32&n)>0,computed:(2&n)>0,decorators:r})}function Va(e,u,t,n,r,o,i,s){if(143360&e.token)return Ma(e,u,t,n,r,o,i,s);2097152!=(2097152&e.token)&&Fi(e,28,_i[255&e.token]);const a=69271571===e.token?Aa(e,u,t,1,0,1,n,r,o,i,s):ya(e,u,t,1,0,1,n,r,o,i,s);return 16&e.destructible&&Fi(e,47),32&e.destructible&&Fi(e,47),a}function Ma(e,u,t,n,r,o,i,s){const{tokenValue:a,token:D}=e;return 1024&u&&(537079808==(537079808&D)?Fi(e,115):36864==(36864&D)&&Fi(e,114)),20480==(20480&D)&&Fi(e,99),2099200&u&&241773===D&&Fi(e,30),241739===D&&24&n&&Fi(e,97),4196352&u&&209008===D&&Fi(e,95),Zi(e,u),t&&hs(e,u,t,a,n,r),Es(e,u,o,i,s,{type:"Identifier",name:a})}function $a(e,u,t,n,r,o){if(Zi(e,u),8456259===e.token)return Es(e,u,n,r,o,{type:"JSXFragment",openingFragment:Ua(e,u,n,r,o),children:_a(e,u),closingFragment:Ga(e,u,t,e.tokenPos,e.linePos,e.colPos)});let i=null,s=[];const a=function(e,u,t,n,r,o){143360!=(143360&e.token)&&4096!=(4096&e.token)&&Fi(e,0);const i=Ha(e,u,e.tokenPos,e.linePos,e.colPos),s=function(e,u){const t=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)t.push(Ja(e,u,e.tokenPos,e.linePos,e.colPos));return t}(e,u),a=8457016===e.token;8456259===e.token?rs(e,u):(cs(e,u,8457016),t?cs(e,u,8456259):rs(e,u));return Es(e,u,n,r,o,{type:"JSXOpeningElement",name:i,attributes:s,selfClosing:a})}(e,u,t,n,r,o);if(!a.selfClosing){s=_a(e,u),i=function(e,u,t,n,r,o){cs(e,u,25);const i=Ha(e,u,e.tokenPos,e.linePos,e.colPos);t?cs(e,u,8456259):e.token=rs(e,u);return Es(e,u,n,r,o,{type:"JSXClosingElement",name:i})}(e,u,t,e.tokenPos,e.linePos,e.colPos);const n=Cs(i.name);Cs(a.name)!==n&&Fi(e,149,n)}return Es(e,u,n,r,o,{type:"JSXElement",children:s,openingElement:a,closingElement:i})}function Ua(e,u,t,n,r){return rs(e,u),Es(e,u,t,n,r,{type:"JSXOpeningFragment"})}function Ga(e,u,t,n,r,o){return cs(e,u,25),cs(e,u,8456259),Es(e,u,n,r,o,{type:"JSXClosingFragment"})}function _a(e,u){const t=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,rs(e,u),t.push(Xa(e,u,e.tokenPos,e.linePos,e.colPos));return t}function Xa(e,u,t,n,r){return 138===e.token?function(e,u,t,n,r){rs(e,u);const o={type:"JSXText",value:e.tokenValue};512&u&&(o.raw=e.tokenRaw);return Es(e,u,t,n,r,o)}(e,u,t,n,r):2162700===e.token?Ya(e,u,0,0,t,n,r):8456258===e.token?$a(e,u,0,t,n,r):void Fi(e,0)}function Ha(e,u,t,n,r){os(e);let o=Ka(e,u,t,n,r);if(21===e.token)return Wa(e,u,o,t,n,r);for(;Ds(e,u,67108877);)os(e),o=za(e,u,o,t,n,r);return o}function za(e,u,t,n,r,o){return Es(e,u,n,r,o,{type:"JSXMemberExpression",object:t,property:Ka(e,u,e.tokenPos,e.linePos,e.colPos)})}function Ja(e,u,t,n,r){if(2162700===e.token)return function(e,u,t,n,r){Zi(e,u),cs(e,u,14);const o=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return cs(e,u,1074790415),Es(e,u,t,n,r,{type:"JSXSpreadAttribute",argument:o})}(e,u,t,n,r);os(e);let o=null,i=Ka(e,u,t,n,r);if(21===e.token&&(i=Wa(e,u,i,t,n,r)),1077936157===e.token){const t=ns(e,u),{tokenPos:n,linePos:r,colPos:i}=e;switch(t){case 134283267:o=Fa(e,u);break;case 8456258:o=$a(e,u,1,n,r,i);break;case 2162700:o=Ya(e,u,1,1,n,r,i);break;default:Fi(e,148)}}return Es(e,u,t,n,r,{type:"JSXAttribute",value:o,name:i})}function Wa(e,u,t,n,r,o){cs(e,u,21);return Es(e,u,n,r,o,{type:"JSXNamespacedName",namespace:t,name:Ka(e,u,e.tokenPos,e.linePos,e.colPos)})}function Ya(e,u,t,n,r,o,i){Zi(e,u);const{tokenPos:s,linePos:a,colPos:D}=e;if(14===e.token)return function(e,u,t,n,r){cs(e,u,14);const o=Js(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return cs(e,u,1074790415),Es(e,u,t,n,r,{type:"JSXSpreadChild",expression:o})}(e,u,s,a,D);let c=null;return 1074790415===e.token?(n&&Fi(e,151),c=function(e,u,t,n,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,Es(e,u,t,n,r,{type:"JSXEmptyExpression"})}(e,u,e.startPos,e.startLine,e.startColumn)):c=Js(e,u,1,0,0,s,a,D),t?cs(e,u,1074790415):rs(e,u),Es(e,u,r,o,i,{type:"JSXExpressionContainer",expression:c})}function Ka(e,u,t,n,r){const{tokenValue:o}=e;return Zi(e,u),Es(e,u,t,n,r,{type:"JSXIdentifier",name:o})}var Za=Object.freeze({__proto__:null}),Qa=function(e,u){return vs(e,u,0)},eD=function(e,u){return vs(e,u,3072)},uD=function(e,u){return vs(e,u,0)},tD=Object.defineProperty({ESTree:Za,parse:Qa,parseModule:eD,parseScript:uD,version:"4.1.5"},"__esModule",{value:!0});const nD={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function rD(e,u){const{parse:t}=tD,n=[],r=[],o=t(e,Object.assign(Object.assign({},nD),{},{module:u,onComment:n,onToken:r}));return o.comments=n,o.tokens=r,o}var oD={parsers:{meriyah:pi((function(t,n,r){const{result:o,error:i}=u((()=>rD(t,!0)),(()=>rD(t,!1)));if(!o)throw function(u){const{message:t,line:n,column:r}=u;return"number"!=typeof n?u:e(t,{start:{line:n,column:r}})}(i);return fo(o,Object.assign(Object.assign({},r),{},{originalText:t}))}))}};export default oD; diff --git a/node_modules/prettier/esm/parser-postcss.mjs b/node_modules/prettier/esm/parser-postcss.mjs new file mode 100644 index 000000000..9dd77fb8f --- /dev/null +++ b/node_modules/prettier/esm/parser-postcss.mjs @@ -0,0 +1,22 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){var t={exports:{}};return e(t,t.exports),t.exports}var n=function(e){return e&&e.Math==Math&&e},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i=function(e){try{return!!e()}catch(e){return!0}},s=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,c={f:a&&!u.call({1:2},1)?function(e){var t=a(this,e);return!!t&&t.enumerable}:u},l=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},f={}.toString,p=function(e){return f.call(e).slice(8,-1)},h="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?h.call(e,""):Object(e)}:Object,D=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},g=function(e){return d(D(e))},m=function(e){return"object"==typeof e?null!==e:"function"==typeof e},v=function(e,t){if(!m(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!m(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!m(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!m(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},y=function(e){return Object(D(e))},w={}.hasOwnProperty,b=Object.hasOwn||function(e,t){return w.call(y(e),t)},C=o.document,E=m(C)&&m(C.createElement),F=!s&&!i((function(){return 7!=Object.defineProperty((e="div",E?C.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),A=Object.getOwnPropertyDescriptor,x={f:s?A:function(e,t){if(e=g(e),t=v(t,!0),F)try{return A(e,t)}catch(e){}if(b(e,t))return l(!c.f.call(e,t),e[t])}},k=function(e){if(!m(e))throw TypeError(String(e)+" is not an object");return e},_=Object.defineProperty,O={f:s?_:function(e,t,r){if(k(e),t=v(t,!0),k(r),F)try{return _(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},S=s?function(e,t,r){return O.f(e,t,l(1,r))}:function(e,t,r){return e[t]=r,e},T=function(e,t){try{S(o,e,t)}catch(r){o[e]=t}return t},I=o["__core-js_shared__"]||T("__core-js_shared__",{}),N=Function.toString;"function"!=typeof I.inspectSource&&(I.inspectSource=function(e){return N.call(e)});var M,R,j,L,B=I.inspectSource,P=o.WeakMap,$="function"==typeof P&&/native code/.test(B(P)),U=r((function(e){(e.exports=function(e,t){return I[e]||(I[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),G=0,W=Math.random(),z=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++G+W).toString(36)},V=U("keys"),q={},X=o.WeakMap;if($||I.state){var J=I.state||(I.state=new X),H=J.get,Y=J.has,K=J.set;M=function(e,t){if(Y.call(J,e))throw new TypeError("Object already initialized");return t.facade=e,K.call(J,e,t),t},R=function(e){return H.call(J,e)||{}},j=function(e){return Y.call(J,e)}}else{var Z=V[L="state"]||(V[L]=z(L));q[Z]=!0,M=function(e,t){if(b(e,Z))throw new TypeError("Object already initialized");return t.facade=e,S(e,Z,t),t},R=function(e){return b(e,Z)?e[Z]:{}},j=function(e){return b(e,Z)}}var Q,ee,te={set:M,get:R,has:j,enforce:function(e){return j(e)?R(e):M(e,{})},getterFor:function(e){return function(t){var r;if(!m(t)||(r=R(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},re=r((function(e){var t=te.get,r=te.enforce,n=String(String).split("String");(e.exports=function(e,t,i,s){var u,a=!!s&&!!s.unsafe,c=!!s&&!!s.enumerable,l=!!s&&!!s.noTargetGet;"function"==typeof i&&("string"!=typeof t||b(i,"name")||S(i,"name",t),(u=r(i)).source||(u.source=n.join("string"==typeof t?t:""))),e!==o?(a?!l&&e[t]&&(c=!0):delete e[t],c?e[t]=i:S(e,t,i)):c?e[t]=i:T(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||B(this)}))})),ne=o,oe=function(e){return"function"==typeof e?e:void 0},ie=function(e,t){return arguments.length<2?oe(ne[e])||oe(o[e]):ne[e]&&ne[e][t]||o[e]&&o[e][t]},se=Math.ceil,ue=Math.floor,ae=function(e){return isNaN(e=+e)?0:(e>0?ue:se)(e)},ce=Math.min,le=function(e){return e>0?ce(ae(e),9007199254740991):0},fe=Math.max,pe=Math.min,he=function(e){return function(t,r,n){var o,i=g(t),s=le(i.length),u=function(e,t){var r=ae(e);return r<0?fe(r+t,0):pe(r,t)}(n,s);if(e&&r!=r){for(;s>u;)if((o=i[u++])!=o)return!0}else for(;s>u;u++)if((e||u in i)&&i[u]===r)return e||u||0;return!e&&-1}},de={includes:he(!0),indexOf:he(!1)}.indexOf,De=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),ge={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=g(e),o=0,i=[];for(r in n)!b(q,r)&&b(n,r)&&i.push(r);for(;t.length>o;)b(n,r=t[o++])&&(~de(i,r)||i.push(r));return i}(e,De)}},me={f:Object.getOwnPropertySymbols},ve=ie("Reflect","ownKeys")||function(e){var t=ge.f(k(e)),r=me.f;return r?t.concat(r(e)):t},ye=function(e,t){for(var r=ve(t),n=O.f,o=x.f,i=0;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},Ne=function(e,t,r){for(var n=e.length,o=t.length,i=0,s=0,u=[];i=74)&&(Q=Re.match(/Chrome\/(\d+)/))&&(ee=Q[1]);var Ge,We,ze=ee&&+ee,Ve=Re.match(/AppleWebKit\/(\d+)\./),qe=!!Ve&&+Ve[1],Xe=[],Je=Xe.sort,He=i((function(){Xe.sort(void 0)})),Ye=i((function(){Xe.sort(null)})),Ke=!!(We=[]["sort"])&&i((function(){We.call(null,Ge||function(){throw 1},1)})),Ze=!i((function(){if(ze)return ze<70;if(!(Le&&Le>3)){if(Be)return!0;if(qe)return qe<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)Xe.push({k:t+n,v:r})}for(Xe.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;n0&&Qe(a))c=tt(e,t,a,le(a.length),c,i-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[c]=a}c++}l++}return c},rt=tt,nt=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ze&&ze<41})),ot=nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,it=U("wks"),st=o.Symbol,ut=ot?st:st&&st.withoutSetter||z,at=function(e){return b(it,e)&&(nt||"string"==typeof it[e])||(nt&&b(st,e)?it[e]=st[e]:it[e]=ut("Symbol."+e)),it[e]},ct=at("species"),lt=function(e,t){var r;return Qe(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!Qe(r.prototype)?m(r)&&null===(r=r[ct])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)};_e({target:"Array",proto:!0},{flatMap:function(e){var t,r=y(this),n=le(r.length);return Oe(e),(t=lt(r,0)).length=rt(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var ft={},pt=at("iterator"),ht=Array.prototype,dt={};dt[at("toStringTag")]="z";var Dt="[object z]"===String(dt),gt=at("toStringTag"),mt="Arguments"==p(function(){return arguments}()),vt=Dt?p:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),gt))?r:mt?p(t):"Object"==(n=p(t))&&"function"==typeof t.callee?"Arguments":n},yt=at("iterator"),wt=function(e){var t=e.return;if(void 0!==t)return k(t.call(e)).value},bt=function(e,t){this.stopped=e,this.result=t},Ct=function(e,t,r){var n,o,i,s,u,a,c,l,f=r&&r.that,p=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_ITERATOR),d=!(!r||!r.INTERRUPTED),D=et(t,f,1+p+d),g=function(e){return n&&wt(n),new bt(!0,e)},m=function(e){return p?(k(e),d?D(e[0],e[1],g):D(e[0],e[1])):d?D(e,g):D(e)};if(h)n=e;else{if("function"!=typeof(o=function(e){if(null!=e)return e[yt]||e["@@iterator"]||ft[vt(e)]}(e)))throw TypeError("Target is not iterable");if(void 0!==(l=o)&&(ft.Array===l||ht[pt]===l)){for(i=0,s=le(e.length);s>i;i++)if((u=m(e[i]))&&u instanceof bt)return u;return new bt(!1)}n=o.call(e)}for(a=n.next;!(c=a.call(n)).done;){try{u=m(c.value)}catch(e){throw wt(n),e}if("object"==typeof u&&u&&u instanceof bt)return u}return new bt(!1)};_e({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Ct(e,(function(e,r){!function(e,t,r){var n=v(t);n in e?O.f(e,n,l(0,r)):e[n]=r}(t,e,r)}),{AS_ENTRIES:!0}),t}});var Et=t(r((function(e,t){new Function("return this")(),e.exports=(()=>{var e={118:e=>{e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},6956:(e,t,r)=>{var n=r(2521);e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},9729:(e,t,r)=>{var n=r(9969),o=r(8331),i=r(1588),s=function(e){return function(t,r,s){var u,a=n(t),c=o(a.length),l=i(s,c);if(e&&r!=r){for(;c>l;)if((u=a[l++])!=u)return!0}else for(;c>l;l++)if((e||l in a)&&a[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},9719:(e,t,r)=>{var n=r(2763);e.exports=function(e,t){var r=[][e];return!!r&&n((function(){r.call(null,t||function(){throw 1},1)}))}},3407:e=>{var t=Math.floor,r=function(e,i){var s=e.length,u=t(s/2);return s<8?n(e,i):o(r(e.slice(0,u),i),r(e.slice(u),i),i)},n=function(e,t){for(var r,n,o=e.length,i=1;i0;)e[n]=e[--n];n!==i++&&(e[n]=r)}return e},o=function(e,t,r){for(var n=e.length,o=t.length,i=0,s=0,u=[];i{var n=r(2521),o=r(3964),i=r(1386)("species");e.exports=function(e,t){var r;return o(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!o(r.prototype)?n(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)}},2849:e=>{var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},9538:(e,t,r)=>{var n=r(6395),o=r(2849),i=r(1386)("toStringTag"),s="Arguments"==o(function(){return arguments}());e.exports=n?o:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?r:s?o(t):"Object"==(n=o(t))&&"function"==typeof t.callee?"Arguments":n}},4488:(e,t,r)=>{var n=r(2766),o=r(9593),i=r(8769),s=r(7455);e.exports=function(e,t){for(var r=o(t),u=s.f,a=i.f,c=0;c{var n=r(7703),o=r(7455),i=r(5938);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},5938:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2385:(e,t,r)=>{var n=r(687),o=r(7455),i=r(5938);e.exports=function(e,t,r){var s=n(t);s in e?o.f(e,s,i(0,r)):e[s]=r}},7703:(e,t,r)=>{var n=r(2763);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},6004:(e,t,r)=>{var n=r(6121),o=r(2521),i=n.document,s=o(i)&&o(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},5249:(e,t,r)=>{var n=r(8635).match(/firefox\/(\d+)/i);e.exports=!!n&&+n[1]},2049:(e,t,r)=>{var n=r(8635);e.exports=/MSIE|Trident/.test(n)},8635:(e,t,r)=>{var n=r(7642);e.exports=n("navigator","userAgent")||""},6962:(e,t,r)=>{var n,o,i=r(6121),s=r(8635),u=i.process,a=u&&u.versions,c=a&&a.v8;c?o=(n=c.split("."))[0]<4?1:n[0]+n[1]:s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(o=n[1]),e.exports=o&&+o},8998:(e,t,r)=>{var n=r(8635).match(/AppleWebKit\/(\d+)\./);e.exports=!!n&&+n[1]},4731:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},7309:(e,t,r)=>{var n=r(6121),o=r(8769).f,i=r(1471),s=r(2327),u=r(6565),a=r(4488),c=r(676);e.exports=function(e,t){var r,l,f,p,h,d=e.target,D=e.global,g=e.stat;if(r=D?n:g?n[d]||u(d,{}):(n[d]||{}).prototype)for(l in t){if(p=t[l],f=e.noTargetGet?(h=o(r,l))&&h.value:r[l],!c(D?l:d+(g?".":"#")+l,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;a(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),s(r,l,p,e)}}},2763:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},5538:(e,t,r)=>{var n=r(3964),o=r(8331),i=r(3322),s=function(e,t,r,u,a,c,l,f){for(var p,h=a,d=0,D=!!l&&i(l,f,3);d0&&n(p))h=s(e,t,p,o(p.length),h,c-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[h]=p}h++}d++}return h};e.exports=s},3322:(e,t,r)=>{var n=r(118);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},7642:(e,t,r)=>{var n=r(1035),o=r(6121),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(n[e])||i(o[e]):n[e]&&n[e][t]||o[e]&&o[e][t]}},5111:(e,t,r)=>{var n=r(9538),o=r(3403),i=r(1386)("iterator");e.exports=function(e){if(null!=e)return e[i]||e["@@iterator"]||o[n(e)]}},6121:(e,t,r)=>{var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},2766:(e,t,r)=>{var n=r(4766),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return o.call(n(e),t)}},2048:e=>{e.exports={}},7226:(e,t,r)=>{var n=r(7703),o=r(2763),i=r(6004);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},3169:(e,t,r)=>{var n=r(2763),o=r(2849),i="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},9835:(e,t,r)=>{var n=r(4682),o=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(e){return o.call(e)}),e.exports=n.inspectSource},2995:(e,t,r)=>{var n,o,i,s=r(5546),u=r(6121),a=r(2521),c=r(1471),l=r(2766),f=r(4682),p=r(2562),h=r(2048),d="Object already initialized",D=u.WeakMap;if(s||f.state){var g=f.state||(f.state=new D),m=g.get,v=g.has,y=g.set;n=function(e,t){if(v.call(g,e))throw new TypeError(d);return t.facade=e,y.call(g,e,t),t},o=function(e){return m.call(g,e)||{}},i=function(e){return v.call(g,e)}}else{var w=p("state");h[w]=!0,n=function(e,t){if(l(e,w))throw new TypeError(d);return t.facade=e,c(e,w,t),t},o=function(e){return l(e,w)?e[w]:{}},i=function(e){return l(e,w)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!a(t)||(r=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},9439:(e,t,r)=>{var n=r(1386),o=r(3403),i=n("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||s[i]===e)}},3964:(e,t,r)=>{var n=r(2849);e.exports=Array.isArray||function(e){return"Array"==n(e)}},676:(e,t,r)=>{var n=r(2763),o=/#|\.prototype\./,i=function(e,t){var r=u[s(e)];return r==c||r!=a&&("function"==typeof t?n(t):!!t)},s=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},a=i.NATIVE="N",c=i.POLYFILL="P";e.exports=i},2521:e=>{e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},8451:e=>{e.exports=!1},4572:(e,t,r)=>{var n=r(6956),o=r(9439),i=r(8331),s=r(3322),u=r(5111),a=r(4556),c=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,r){var l,f,p,h,d,D,g,m=r&&r.that,v=!(!r||!r.AS_ENTRIES),y=!(!r||!r.IS_ITERATOR),w=!(!r||!r.INTERRUPTED),b=s(t,m,1+v+w),C=function(e){return l&&a(l),new c(!0,e)},E=function(e){return v?(n(e),w?b(e[0],e[1],C):b(e[0],e[1])):w?b(e,C):b(e)};if(y)l=e;else{if("function"!=typeof(f=u(e)))throw TypeError("Target is not iterable");if(o(f)){for(p=0,h=i(e.length);h>p;p++)if((d=E(e[p]))&&d instanceof c)return d;return new c(!1)}l=f.call(e)}for(D=l.next;!(g=D.call(l)).done;){try{d=E(g.value)}catch(e){throw a(l),e}if("object"==typeof d&&d&&d instanceof c)return d}return new c(!1)}},4556:(e,t,r)=>{var n=r(6956);e.exports=function(e){var t=e.return;if(void 0!==t)return n(t.call(e)).value}},3403:e=>{e.exports={}},4020:(e,t,r)=>{var n=r(6962),o=r(2763);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},5546:(e,t,r)=>{var n=r(6121),o=r(9835),i=n.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},7455:(e,t,r)=>{var n=r(7703),o=r(7226),i=r(6956),s=r(687),u=Object.defineProperty;t.f=n?u:function(e,t,r){if(i(e),t=s(t,!0),i(r),o)try{return u(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},8769:(e,t,r)=>{var n=r(7703),o=r(7751),i=r(5938),s=r(9969),u=r(687),a=r(2766),c=r(7226),l=Object.getOwnPropertyDescriptor;t.f=n?l:function(e,t){if(e=s(e),t=u(t,!0),c)try{return l(e,t)}catch(e){}if(a(e,t))return i(!o.f.call(e,t),e[t])}},2042:(e,t,r)=>{var n=r(3224),o=r(4731).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},2719:(e,t)=>{t.f=Object.getOwnPropertySymbols},3224:(e,t,r)=>{var n=r(2766),o=r(9969),i=r(9729).indexOf,s=r(2048);e.exports=function(e,t){var r,u=o(e),a=0,c=[];for(r in u)!n(s,r)&&n(u,r)&&c.push(r);for(;t.length>a;)n(u,r=t[a++])&&(~i(c,r)||c.push(r));return c}},7751:(e,t)=>{var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},9593:(e,t,r)=>{var n=r(7642),o=r(2042),i=r(2719),s=r(6956);e.exports=n("Reflect","ownKeys")||function(e){var t=o.f(s(e)),r=i.f;return r?t.concat(r(e)):t}},1035:(e,t,r)=>{var n=r(6121);e.exports=n},2327:(e,t,r)=>{var n=r(6121),o=r(1471),i=r(2766),s=r(6565),u=r(9835),a=r(2995),c=a.get,l=a.enforce,f=String(String).split("String");(e.exports=function(e,t,r,u){var a,c=!!u&&!!u.unsafe,p=!!u&&!!u.enumerable,h=!!u&&!!u.noTargetGet;"function"==typeof r&&("string"!=typeof t||i(r,"name")||o(r,"name",t),(a=l(r)).source||(a.source=f.join("string"==typeof t?t:""))),e!==n?(c?!h&&e[t]&&(p=!0):delete e[t],p?e[t]=r:o(e,t,r)):p?e[t]=r:s(t,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},7263:e=>{e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},6565:(e,t,r)=>{var n=r(6121),o=r(1471);e.exports=function(e,t){try{o(n,e,t)}catch(r){n[e]=t}return t}},2562:(e,t,r)=>{var n=r(896),o=r(1735),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},4682:(e,t,r)=>{var n=r(6121),o=r(6565),i="__core-js_shared__",s=n[i]||o(i,{});e.exports=s},896:(e,t,r)=>{var n=r(8451),o=r(4682);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:n?"pure":"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})},1588:(e,t,r)=>{var n=r(5623),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},9969:(e,t,r)=>{var n=r(3169),o=r(7263);e.exports=function(e){return n(o(e))}},5623:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:t)(e)}},8331:(e,t,r)=>{var n=r(5623),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},4766:(e,t,r)=>{var n=r(7263);e.exports=function(e){return Object(n(e))}},687:(e,t,r)=>{var n=r(2521);e.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},6395:(e,t,r)=>{var n={};n[r(1386)("toStringTag")]="z",e.exports="[object z]"===String(n)},1735:e=>{var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+r).toString(36)}},2020:(e,t,r)=>{var n=r(4020);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},1386:(e,t,r)=>{var n=r(6121),o=r(896),i=r(2766),s=r(1735),u=r(4020),a=r(2020),c=o("wks"),l=n.Symbol,f=a?l:l&&l.withoutSetter||s;e.exports=function(e){return i(c,e)&&(u||"string"==typeof c[e])||(u&&i(l,e)?c[e]=l[e]:c[e]=f("Symbol."+e)),c[e]}},4304:(e,t,r)=>{var n=r(7309),o=r(5538),i=r(4766),s=r(8331),u=r(118),a=r(8347);n({target:"Array",proto:!0},{flatMap:function(e){var t,r=i(this),n=s(r.length);return u(e),(t=a(r,0)).length=o(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}})},4070:(e,t,r)=>{var n=r(7309),o=r(118),i=r(4766),s=r(8331),u=r(2763),a=r(3407),c=r(9719),l=r(5249),f=r(2049),p=r(6962),h=r(8998),d=[],D=d.sort,g=u((function(){d.sort(void 0)})),m=u((function(){d.sort(null)})),v=c("sort"),y=!u((function(){if(p)return p<70;if(!(l&&l>3)){if(f)return!0;if(h)return h<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)d.push({k:t+n,v:r})}for(d.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;n{var n=r(7309),o=r(4572),i=r(2385);n({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,r){i(t,e,r)}),{AS_ENTRIES:!0}),t}})},3584:e=>{const t=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};e.exports=t,e.exports.graceful=e=>"string"==typeof e&&t(e)||"\n"},541:e=>{e.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}},2240:e=>{e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},8051:e=>{e.exports=function(e,t){return(t="number"==typeof t?t:1/0)?function e(r,n){return r.reduce((function(r,o){return Array.isArray(o)&&n{e.exports=function(e,t){for(var r=-1,n=[];-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},8528:e=>{const t=e=>!Number.isNaN(e)&&e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);e.exports=t,e.exports.default=t},9234:(e,t,r)=>{function n(){const e=r(9623);return n=function(){return e},e}function o(){const e=(t=r(3584))&&t.__esModule?t:{default:t};var t;return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(u);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(u);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return d(e).pragmas},t.parseWithComments=d,t.print=function({comments:e="",pragmas:t={}}){const r=(0,o().default)(e)||n().EOL,i=" *",s=Object.keys(t),u=s.map((e=>D(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+r)).join("");if(!e){if(0===s.length)return"";if(1===s.length&&!Array.isArray(t[s[0]])){const e=t[s[0]];return`/** ${D(s[0],e)[0]} */`}}const a=e.split(r).map((e=>` * ${e}`)).join(r)+r;return"/**"+r+(e?a:"")+(e&&s.length?i+r:"")+u+" */"};const i=/\*\/$/,s=/^\/\*\*/,u=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,c=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,f=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,h=[];function d(e){const t=(0,o().default)(e)||n().EOL;e=e.replace(s,"").replace(i,"").replace(p,"$1");let r="";for(;r!==e;)r=e,e=e.replace(l,`${t}$1 $2${t}`);e=e.replace(c,"").trimRight();const u=Object.create(null),d=e.replace(f,"").replace(c,"").trimRight();let D;for(;D=f.exec(e);){const e=D[2].replace(a,"");"string"==typeof u[D[1]]||Array.isArray(u[D[1]])?u[D[1]]=h.concat(u[D[1]],e):u[D[1]]=e}return{comments:d,pragmas:u}}function D(e,t){return h.concat(t).map((t=>`@${e} ${t}`.trim()))}},5311:(e,t,r)=>{function n(){for(var e=[],t=0;tm,outdent:()=>g}),e=r.hmd(e);var i=Object.prototype.hasOwnProperty,s=function(e,t){return i.call(e,t)};function u(e,t){for(var r in t)s(t,r)&&(e[r]=t[r]);return e}var a=/^[ \t]*(?:\r\n|\r|\n)/,c=/(?:\r\n|\r|\n)[ \t]*$/,l=/^(?:[\r\n]|$)/,f=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,p=/^[ \t]*[\r\n][ \t\r\n]*$/;function h(e,t,r){var n=0,o=e[0].match(f);o&&(n=o[1].length);var i=new RegExp("(\\r\\n|\\r|\\n).{0,"+n+"}","g");t&&(e=e.slice(1));var s=r.newline,u=r.trimLeadingNewline,l=r.trimTrailingNewline,p="string"==typeof s,h=e.length;return e.map((function(e,t){return e=e.replace(i,"$1"),0===t&&u&&(e=e.replace(a,"")),t===h-1&&l&&(e=e.replace(c,"")),p&&(e=e.replace(/\r\n|\n|\r/g,(function(e){return s}))),e}))}function d(e,t){for(var r="",n=0,o=e.length;n{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",o=0,i=-1,s=0,u=0;u<=e.length;++u){if(u2){var a=n.lastIndexOf("/");if(a!==n.length-1){-1===a?(n="",o=0):o=(n=n.slice(0,a)).length-1-n.lastIndexOf("/"),i=u,s=0;continue}}else if(2===n.length||1===n.length){n="",o=0,i=u,s=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(i+1,u):n=e.slice(i+1,u),o=u-i-1;i=u,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s;i>=0?s=arguments[i]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(n=s+"/"+n,o=47===s.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&o&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var o=1;oc){if(47===r.charCodeAt(u+f))return r.slice(u+f+1);if(0===f)return r.slice(u+f)}else s>c&&(47===e.charCodeAt(o+f)?l=f:0===f&&(l=0));break}var p=e.charCodeAt(o+f);if(p!==r.charCodeAt(u+f))break;47===p&&(l=f)}var h="";for(f=o+l+1;f<=i;++f)f!==i&&47!==e.charCodeAt(f)||(0===h.length?h+="..":h+="/..");return h.length>0?h+r.slice(u+l):(u+=l,47===r.charCodeAt(u)&&++u,r.slice(u))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,o=-1,i=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!i){o=s;break}}else i=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n,o=0,i=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var u=r.length-1,a=-1;for(n=e.length-1;n>=0;--n){var c=e.charCodeAt(n);if(47===c){if(!s){o=n+1;break}}else-1===a&&(s=!1,a=n+1),u>=0&&(c===r.charCodeAt(u)?-1==--u&&(i=n):(u=-1,i=a))}return o===i?i=a:-1===i&&(i=e.length),e.slice(o,i)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){o=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(o,i)},extname:function(e){t(e);for(var r=-1,n=0,o=-1,i=!0,s=0,u=e.length-1;u>=0;--u){var a=e.charCodeAt(u);if(47!==a)-1===o&&(i=!1,o=u+1),46===a?-1===r?r=u:1!==s&&(s=1):-1!==r&&(s=-1);else if(!i){n=u+1;break}}return-1===r||-1===o||0===s||1===s&&r===o-1&&r===n+1?"":e.slice(r,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,o=e.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var s=-1,u=0,a=-1,c=!0,l=e.length-1,f=0;l>=n;--l)if(47!==(o=e.charCodeAt(l)))-1===a&&(c=!1,a=l+1),46===o?-1===s?s=l:1!==f&&(f=1):-1!==s&&(f=-1);else if(!c){u=l+1;break}return-1===s||-1===a||0===f||1===f&&s===a-1&&s===u+1?-1!==a&&(r.base=r.name=0===u&&i?e.slice(1,a):e.slice(u,a)):(0===u&&i?(r.name=e.slice(1,s),r.base=e.slice(1,a)):(r.name=e.slice(u,s),r.base=e.slice(u,a)),r.ext=e.slice(s,a)),u>0?r.dir=e.slice(0,u-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},8681:(e,t,r)=>{const n=r(3102),o=r(7116),{isInlineComment:i}=r(1101),{interpolation:s}=r(3295),{isMixinToken:u}=r(5953),a=r(1330),c=r(5255),l=/(!\s*important)$/i;e.exports=class extends o{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),a(this.lastNode),c(this.lastNode))}decl(...e){super.decl(...e),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=` ${e[0][1]}`;const t=e.findIndex((e=>"("===e[0])),r=e.reverse().find((e=>")"===e[0])),n=e.reverse().indexOf(r),o=e.splice(t,n).map((e=>e[1])).join("");for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=o}init(e,t,r){super.init(e,t,r),this.lastNode=e}inlineComment(e){const t=new n,r=e[1].slice(2);if(this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]},t.inline=!0,t.raws.begin="//",/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{const e=r.match(/^(\s*)([^]*[^\s])(\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){const[t]=e,r=t[1].slice(0,1),n=e.findIndex((e=>"brackets"===e[0])),o=e.findIndex((e=>"("===e[0]));let i="";if((n<0||n>3)&&o>0){const t=e.reduce(((e,t,r)=>")"===t[0]?r:e)),r=e.slice(o,t+o).map((e=>e[1])).join(""),[n]=e.slice(o),i=[n[2],n[3]],[s]=e.slice(t,t+1),u=[s[2],s[3]],a=["brackets",r].concat(i,u),c=e.slice(0,o),l=e.slice(t+1);(e=c).push(a),e=e.concat(l)}const s=[];for(const t of e)if(("!"===t[1]||s.length)&&s.push(t),"important"===t[1])break;if(s.length){const[t]=s,r=e.indexOf(t),n=s[s.length-1],o=[t[2],t[3]],i=[n[4],n[5]],u=["word",s.map((e=>e[1])).join("")].concat(o,i);e.splice(r,s.length,u)}const u=e.findIndex((e=>l.test(e[1])));u>0&&([,i]=e[u],e.splice(u,1));for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=r,i&&(this.lastNode.important=!0,this.lastNode.raws.important=i)}other(e){i.bind(this)(e)||super.other(e)}rule(e){const t=e[e.length-1],r=e[e.length-2];if("at-word"===r[0]&&"{"===t[0]&&(this.tokenizer.back(t),s.bind(this)(r))){const t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(const t of e.reverse())this.tokenizer.back(t)}else super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){const[t]=e;"each"!==e[0][1]||"("!==e[1][0]?u(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}},3406:(e,t,r)=>{const n=r(5701);e.exports=class extends n{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);let r=`${e.function?"":e.raws.identifier||"@"}${e.name}`,n=e.params?this.rawValue(e,"params"):"";const o=e.raws.important||"";if(e.variable&&(n=e.value),void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=" "),e.nodes)this.block(e,r+n+o);else{const i=(e.raws.between||"")+o+(t?";":"");this.builder(r+n+i,e)}}comment(e){if(e.inline){const t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder(`//${t}${e.text}${r}`,e)}else super.comment(e)}}},7371:(e,t,r)=>{const n=r(2993),o=r(8681),i=r(3406);e.exports={parse(e,t){const r=new n(e,t),i=new o(r);return i.parse(),i.root},stringify(e,t){new i(t).stringify(e)},nodeToString(t){let r="";return e.exports.stringify(t,(e=>{r+=e})),r}}},1330:(e,t,r)=>{const n=r(1157),o=/^url\((.+)\)/;e.exports=e=>{const{name:t,params:r=""}=e;if("import"===t&&r.length){e.import=!0;const t=n({css:r});for(e.filename=r.replace(o,"$1");!t.endOfFile();){const[n,o]=t.nextToken();if("word"===n&&"url"===o)return;if("brackets"===n){e.options=o,e.filename=r.replace(o,"").trim();break}}}}},1101:(e,t,r)=>{const n=r(1157),o=r(2993);e.exports={isInlineComment(t){if("word"===t[0]&&"//"===t[1].slice(0,2)){const e=t,r=[];let i;for(;t;){if(/\r?\n/.test(t[1])){if(/['"].*\r?\n/.test(t[1])){r.push(t[1].substring(0,t[1].indexOf("\n")));let e=t[1].substring(t[1].indexOf("\n"));e+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new o(e),this.tokenizer=n(this.input)}else this.tokenizer.back(t);break}r.push(t[1]),i=t,t=this.tokenizer.nextToken({ignoreUnclosed:!0})}const s=["comment",r.join(""),e[2],e[3],i[2],i[3]];return this.inlineComment(s),!0}if("/"===t[1]){const r=this.tokenizer.nextToken({ignoreUnclosed:!0});if("comment"===r[0]&&/^\/\*/.test(r[1]))return r[0]="word",r[1]=r[1].slice(1),t[1]="//",this.tokenizer.back(r),e.exports.isInlineComment.bind(this)(t)}return!1}}},3295:e=>{e.exports={interpolation(e){let t=e;const r=[e],n=["word","{","}"];if(e=this.tokenizer.nextToken(),t[1].length>1||"{"!==e[0])return this.tokenizer.back(e),!1;for(;e&&n.includes(e[0]);)r.push(e),e=this.tokenizer.nextToken();const o=r.map((e=>e[1]));[t]=r;const i=r.pop(),s=[t[2],t[3]],u=[i[4]||i[2],i[5]||i[3]],a=["word",o.join("")].concat(s,u);return this.tokenizer.back(e),this.tokenizer.back(a),!0}}},5953:e=>{const t=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,r=/\.[0-9]/;e.exports={isMixinToken:e=>{const[,n]=e,[o]=n;return("."===o||"#"===o)&&!1===t.test(n)&&!1===r.test(n)}}},5255:e=>{const t=/:$/,r=/^:(\s+)?/;e.exports=e=>{const{name:n,params:o=""}=e;if(":"===e.name.slice(-1)){if(t.test(n)){const[r]=n.match(t);e.name=n.replace(r,""),e.raws.afterName=r+(e.raws.afterName||""),e.variable=!0,e.value=e.params}if(r.test(o)){const[t]=o.match(r);e.value=o.replace(t,""),e.raws.afterName=(e.raws.afterName||"")+t,e.variable=!0}}}},8322:(e,t,r)=>{t.Z=function(e){return new o.default({nodes:(0,i.parseMediaList)(e),type:"media-query-list",value:e.trim()})};var n,o=(n=r(9066))&&n.__esModule?n:{default:n},i=r(7625)},9066:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,o=(n=r(7680))&&n.__esModule?n:{default:n};function i(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(e){e.parent=t}))}i.prototype=Object.create(o.default.prototype),i.constructor=o.default,i.prototype.walk=function(e,t){for(var r="string"==typeof e||e instanceof RegExp,n=r?t:e,o="string"==typeof e?new RegExp(e):e,i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}},7625:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseMediaFeature=s,t.parseMediaQuery=u,t.parseMediaList=function(e){var t=[],r=0,i=0,s=/^(\s*)url\s*\(/.exec(e);if(null!==s){for(var a=s[0].length,c=1;c>0;){var l=e[a];"("===l&&c++,")"===l&&c--,a++}t.unshift(new n.default({type:"url",value:e.substring(0,a).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\s*)/.exec(e.substring(a))[1]})),r=a}for(var f=r;f0&&(r[f-1].after=a.before),void 0===a.type){if(f>0){if("media-feature-expression"===r[f-1].type){a.type="keyword";continue}if("not"===r[f-1].value||"only"===r[f-1].value){a.type="media-type";continue}if("and"===r[f-1].value){a.type="media-feature-expression";continue}"media-type"===r[f-1].type&&(r[f+1]?a.type="media-feature-expression"===r[f+1].type?"keyword":"media-feature-expression":a.type="media-feature-expression")}if(0===f){if(!r[f+1]){a.type="media-type";continue}if(r[f+1]&&("media-feature-expression"===r[f+1].type||"keyword"===r[f+1].type)){a.type="media-type";continue}if(r[f+2]){if("media-feature-expression"===r[f+2].type){a.type="media-type",r[f+1].type="keyword";continue}if("keyword"===r[f+2].type){a.type="keyword",r[f+1].type="media-type";continue}}if(r[f+3]&&"media-feature-expression"===r[f+3].type){a.type="keyword",r[f+1].type="media-type",r[f+2].type="keyword";continue}}}return r}},5822:(e,t,r)=>{var n=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="decl",r.isNested=!0,r.nodes||(r.nodes=[]),r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(r(1204));e.exports=n},1945:(e,t,r)=>{var n=r(2993),o=r(1713);e.exports=function(e,t){var r=new n(e,t),i=new o(r);return i.parse(),i.root}},1713:(e,t,r)=>{var n=r(3102),o=r(7116),i=r(5822),s=r(6256),u=function(e){var t,r;function o(){return e.apply(this,arguments)||this}r=e,(t=o).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var u=o.prototype;return u.createTokenizer=function(){this.tokenizer=s(this.input)},u.rule=function(t){var r=!1,n=0,o="",s=t,u=Array.isArray(s),a=0;for(s=u?s:s[Symbol.iterator]();;){var c;if(u){if(a>=s.length)break;c=s[a++]}else{if((a=s.next()).done)break;c=a.value}var l=c;if(r)"comment"!==l[0]&&"{"!==l[0]&&(o+=l[1]);else{if("space"===l[0]&&-1!==l[1].indexOf("\n"))break;"("===l[0]?n+=1:")"===l[0]?n-=1:0===n&&":"===l[0]&&(r=!0)}}if(!r||""===o.trim()||/^[a-zA-Z-:#]/.test(o))e.prototype.rule.call(this,t);else{t.pop();var f=new i;this.init(f);var p,h=t[t.length-1];for(h[4]?f.source.end={line:h[4],column:h[5]}:f.source.end={line:h[2],column:h[3]};"word"!==t[0][0];)f.raws.before+=t.shift()[1];for(f.source.start={line:t[0][2],column:t[0][3]},f.prop="";t.length;){var d=t[0][0];if(":"===d||"space"===d||"comment"===d)break;f.prop+=t.shift()[1]}for(f.raws.between="";t.length;){if(":"===(p=t.shift())[0]){f.raws.between+=p[1];break}f.raws.between+=p[1]}"_"!==f.prop[0]&&"*"!==f.prop[0]||(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(t),this.precheckMissedSemicolon(t);for(var D=t.length-1;D>0;D--){if("!important"===(p=t[D])[1]){f.important=!0;var g=this.stringFrom(t,D);" !important"!==(g=this.spacesFromEnd(t)+g)&&(f.raws.important=g);break}if("important"===p[1]){for(var m=t.slice(0),v="",y=D;y>0;y--){var w=m[y][0];if(0===v.trim().indexOf("!")&&"space"!==w)break;v=m.pop()[1]+v}0===v.trim().indexOf("!")&&(f.important=!0,f.raws.important=v,t=m)}if("space"!==p[0]&&"comment"!==p[0])break}this.raw(f,"value",t),-1!==f.value.indexOf(":")&&this.checkMissedSemicolon(t),this.current=f}},u.comment=function(t){if("inline"===t[6]){var r=new n;this.init(r,t[2],t[3]),r.raws.inline=!0,r.source.end={line:t[4],column:t[5]};var o=t[1].slice(2);if(/^\s*$/.test(o))r.text="",r.raws.left=o,r.raws.right="";else{var i=o.match(/^(\s*)([^]*[^\s])(\s*)$/),s=i[2].replace(/(\*\/|\/\*)/g,"*//*");r.text=s,r.raws.left=i[1],r.raws.right=i[3],r.raws.text=i[2]}}else e.prototype.comment.call(this,t)},u.raw=function(t,r,n){if(e.prototype.raw.call(this,t,r,n),t.raws[r]){var o=t.raws[r].raw;t.raws[r].raw=n.reduce((function(e,t){return"comment"===t[0]&&"inline"===t[6]?e+"/*"+t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*")+"*/":e+t[1]}),""),o!==t.raws[r].raw&&(t.raws[r].scss=o)}},o}(o);e.exports=u},9235:(e,t,r)=>{var n=function(e){var t,r;function n(){return e.apply(this,arguments)||this}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=n.prototype;return o.comment=function(e){var t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");if(e.raws.inline){var n=e.raws.text||e.text;this.builder("//"+t+n+r,e)}else this.builder("/*"+t+e.text+r+"*/",e)},o.decl=function(t,r){if(t.isNested){var n,o=this.raw(t,"between","colon"),i=t.prop+o+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),this.builder(i+"{",t,"start"),t.nodes&&t.nodes.length?(this.body(t),n=this.raw(t,"after")):n=this.raw(t,"after","emptyBody"),n&&this.builder(n),this.builder("}",t,"end")}else e.prototype.decl.call(this,t,r)},o.rawValue=function(e,t){var r=e[t],n=e.raws[t];return n&&n.value===r?n.scss?n.scss:n.raw:r},n}(r(5701));e.exports=n},4933:(e,t,r)=>{var n=r(9235);e.exports=function(e,t){new n(t).stringify(e)}},304:(e,t,r)=>{var n=r(4933),o=r(1945);e.exports={parse:o,stringify:n}},6256:e=>{var t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),o="/".charCodeAt(0),i="\n".charCodeAt(0),s=" ".charCodeAt(0),u="\f".charCodeAt(0),a="\t".charCodeAt(0),c="\r".charCodeAt(0),l="[".charCodeAt(0),f="]".charCodeAt(0),p="(".charCodeAt(0),h=")".charCodeAt(0),d="{".charCodeAt(0),D="}".charCodeAt(0),g=";".charCodeAt(0),m="*".charCodeAt(0),v=":".charCodeAt(0),y="@".charCodeAt(0),w=",".charCodeAt(0),b="#".charCodeAt(0),C=/[ \n\t\r\f{}()'"\\;/[\]#]/g,E=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,F=/.[\\/("'\n]/,A=/[a-f0-9]/i,x=/[\r\f\n]/g;e.exports=function(e,k){void 0===k&&(k={});var _,O,S,T,I,N,M,R,j,L,B,P,$,U,G=e.css.valueOf(),W=k.ignoreErrors,z=G.length,V=-1,q=1,X=0,J=[],H=[];function Y(t){throw e.error("Unclosed "+t,q,X-V)}function K(){for(var e=1,o=!1,i=!1;e>0;)O+=1,G.length<=O&&Y("interpolation"),_=G.charCodeAt(O),P=G.charCodeAt(O+1),o?i||_!==o?_===n?i=!L:i&&(i=!1):(o=!1,i=!1):_===t||_===r?o=_:_===D?e-=1:_===b&&P===d&&(e+=1)}return{back:function(e){H.push(e)},nextToken:function(){if(H.length)return H.pop();if(!(X>=z)){switch(((_=G.charCodeAt(X))===i||_===u||_===c&&G.charCodeAt(X+1)!==i)&&(V=X,q+=1),_){case i:case s:case a:case c:case u:O=X;do{O+=1,(_=G.charCodeAt(O))===i&&(V=O,q+=1)}while(_===s||_===i||_===a||_===c||_===u);$=["space",G.slice(X,O)],X=O-1;break;case l:$=["[","[",q,X-V];break;case f:$=["]","]",q,X-V];break;case d:$=["{","{",q,X-V];break;case D:$=["}","}",q,X-V];break;case w:$=["word",",",q,X-V,q,X-V+1];break;case v:$=[":",":",q,X-V];break;case g:$=[";",";",q,X-V];break;case p:if(B=J.length?J.pop()[1]:"",P=G.charCodeAt(X+1),"url"===B&&P!==t&&P!==r){for(U=1,L=!1,O=X+1;O<=G.length-1;){if((P=G.charCodeAt(O))===n)L=!L;else if(P===p)U+=1;else if(P===h&&0==(U-=1))break;O+=1}N=G.slice(X,O+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=O-T[I].length):(R=q,j=V),$=["brackets",N,q,X-V,R,O-j],V=j,q=R,X=O}else O=G.indexOf(")",X+1),N=G.slice(X,O+1),-1===O||F.test(N)?$=["(","(",q,X-V]:($=["brackets",N,q,X-V,q,O-V],X=O);break;case h:$=[")",")",q,X-V];break;case t:case r:for(S=_,O=X,L=!1;O0?(R=q+I,j=O-T[I].length):(R=q,j=V),$=["string",G.slice(X,O+1),q,X-V,R,O-j],V=j,q=R,X=O;break;case y:C.lastIndex=X+1,C.test(G),O=0===C.lastIndex?G.length-1:C.lastIndex-2,$=["at-word",G.slice(X,O+1),q,X-V,q,O-V],X=O;break;case n:for(O=X,M=!0;G.charCodeAt(O+1)===n;)O+=1,M=!M;if(_=G.charCodeAt(O+1),M&&_!==o&&_!==s&&_!==i&&_!==a&&_!==c&&_!==u&&(O+=1,A.test(G.charAt(O)))){for(;A.test(G.charAt(O+1));)O+=1;G.charCodeAt(O+1)===s&&(O+=1)}$=["word",G.slice(X,O+1),q,X-V,q,O-V],X=O;break;default:P=G.charCodeAt(X+1),_===b&&P===d?(O=X,K(),N=G.slice(X,O+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=O-T[I].length):(R=q,j=V),$=["word",N,q,X-V,R,O-j],V=j,q=R,X=O):_===o&&P===m?(0===(O=G.indexOf("*/",X+2)+1)&&(W?O=G.length:Y("comment")),N=G.slice(X,O+1),T=N.split("\n"),(I=T.length-1)>0?(R=q+I,j=O-T[I].length):(R=q,j=V),$=["comment",N,q,X-V,R,O-j],V=j,q=R,X=O):_===o&&P===o?(x.lastIndex=X+1,x.test(G),O=0===x.lastIndex?G.length-1:x.lastIndex-2,N=G.slice(X,O+1),$=["comment",N,q,X-V,q,O-V,"inline"],X=O):(E.lastIndex=X+1,E.test(G),O=0===E.lastIndex?G.length-1:E.lastIndex-2,$=["word",G.slice(X,O+1),q,X-V,q,O-V],J.push($),X=O)}return X++,$}},endOfFile:function(){return 0===H.length&&X>=z}}}},1264:(e,t,r)=>{t.__esModule=!0;var n=m(r(2566)),o=m(r(616)),i=m(r(7835)),s=m(r(478)),u=m(r(4907)),a=m(r(8420)),c=m(r(7523)),l=m(r(4316)),f=m(r(6909)),p=m(r(6279)),h=m(r(439)),d=m(r(9956)),D=m(r(70)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(8790));function m(e){return e&&e.__esModule?e:{default:e}}var v=function(e){return new n.default(e)};v.attribute=function(e){return new o.default(e)},v.className=function(e){return new i.default(e)},v.combinator=function(e){return new s.default(e)},v.comment=function(e){return new u.default(e)},v.id=function(e){return new a.default(e)},v.nesting=function(e){return new c.default(e)},v.pseudo=function(e){return new l.default(e)},v.root=function(e){return new f.default(e)},v.selector=function(e){return new p.default(e)},v.string=function(e){return new h.default(e)},v.tag=function(e){return new d.default(e)},v.universal=function(e){return new D.default(e)},Object.keys(g).forEach((function(e){"__esModule"!==e&&(v[e]=g[e])})),t.default=v,e.exports=t.default},5269:(e,t,r)=>{t.__esModule=!0;var n=function(){function e(e,t){for(var r=0;r1?(""===o[0]&&(o[0]=!0),i.attribute=this.parseValue(o[2]),i.namespace=this.parseNamespace(o[0])):i.attribute=this.parseValue(n[0]),t=new D.default(i),n[2]){var s=n[2].split(/(\s+i\s*?)$/),u=s[0].trim();t.value=this.lossy?u:s[0],s[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=s[1])),t.quoted="'"===u[0]||'"'===u[0],t.raws.unquoted=t.quoted?u.slice(1,-1):u}this.newNode(t),this.position++},e.prototype.combinator=function(){if("|"===this.currToken[1])return this.namespace();for(var e=new m.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&"("===e.nextToken[0]&&e.error("Misplaced parenthesis.")}))}else this.error('Unexpected "'+this.currToken[0]+'" found.')},e.prototype.space=function(){var e=this.currToken;0===this.position||","===this.prevToken[0]||"("===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},e.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},e.prototype.universal=function(e){var t=this.nextToken;if(t&&"|"===t[1])return this.position++,this.namespace();this.newNode(new g.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},e.prototype.splitWord=function(e,t){for(var r=this,n=this.nextToken,u=this.currToken[1];n&&"word"===n[0];){this.position++;var a=this.currToken[1];if(u+=a,a.lastIndexOf("\\")===a.length-1){var l=this.nextToken;l&&"space"===l[0]&&(u+=this.parseSpace(l[1]," "),this.position++)}n=this.nextToken}var h=(0,i.default)(u,"."),d=(0,i.default)(u,"#"),D=(0,i.default)(u,"#{");D.length&&(d=d.filter((function(e){return!~D.indexOf(e)})));var g=(0,y.default)((0,s.default)((0,o.default)([[0],h,d])));g.forEach((function(n,o){var i=g[o+1]||u.length,s=u.slice(n,i);if(0===o&&t)return t.call(r,s,g.length);var a=void 0;a=~h.indexOf(n)?new c.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):~d.indexOf(n)?new f.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):new p.default({value:s,source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}),r.newNode(a,e)})),this.position++},e.prototype.word=function(e){var t=this.nextToken;return t&&"|"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},e.prototype.loop=function(){for(;this.position{t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new i.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=r,this.func(r),this},o(e,[{key:"result",get:function(){return String(this.res)}}]),e}();t.default=s,e.exports=t.default},616:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(4379))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ATTRIBUTE,n.raws={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(" i"),e.push("]"),e.concat(this.spaces.after).join("")},t}(o.default);t.default=s,e.exports=t.default},7835:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(4379))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.CLASS,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("."+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},478:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8871))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.COMBINATOR,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},4907:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8871))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.COMMENT,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},7144:(e,t,r)=>{r(4070),t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r=e&&(this.indexes[r]=t-1);return this},t.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),r=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if((r=e.next()).done)break;n=r.value}n.parent=void 0}return this.nodes=[],this},t.prototype.empty=function(){return this.removeAll()},t.prototype.insertAfter=function(e,t){var r=this.index(e);this.nodes.splice(r+1,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},t.prototype.insertBefore=function(e,t){var r=this.index(e);this.nodes.splice(r,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var r=void 0,n=void 0;this.indexes[t]{t.__esModule=!0;var n,o=(n=r(4379))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ID,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("#"+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},4379:(e,t,r)=>{t.__esModule=!0;var n,o=function(){function e(e,t){for(var r=0;r{t.__esModule=!0;var n,o=(n=r(8871))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.NESTING,n.value="&",n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},8871:(e,t)=>{t.__esModule=!0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function e(t,n){if("object"!==(void 0===t?"undefined":r(t)))return t;var o=new t.constructor;for(var i in t)if(t.hasOwnProperty(i)){var s=t[i],u=void 0===s?"undefined":r(s);"parent"===i&&"object"===u?n&&(o[i]=n):o[i]=s instanceof Array?s.map((function(t){return e(t,o)})):e(s,o)}return o},i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var r in n(this,e),t)this[r]=t[r];var o=t.spaces,i=(o=void 0===o?{}:o).before,s=void 0===i?"":i,u=o.after,a=void 0===u?"":u;this.spaces={before:s,after:a}}return e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},e.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=o(this);for(var r in e)t[r]=e[r];return t},e.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},e}();t.default=i,e.exports=t.default},4316:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(7144))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.PSEUDO,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),e,this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},6909:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(7144))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.ROOT,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.reduce((function(e,t){var r=String(t);return r?e+r+",":""}),"").slice(0,-1);return this.trailingComma?e+",":e},t}(o.default);t.default=s,e.exports=t.default},6279:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(7144))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.SELECTOR,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},439:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(8871))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.STRING,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},9956:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(4379))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.TAG,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},8790:(e,t)=>{t.__esModule=!0,t.TAG="tag",t.STRING="string",t.SELECTOR="selector",t.ROOT="root",t.PSEUDO="pseudo",t.NESTING="nesting",t.ID="id",t.COMMENT="comment",t.COMBINATOR="combinator",t.CLASS="class",t.ATTRIBUTE="attribute",t.UNIVERSAL="universal"},70:(e,t,r)=>{t.__esModule=!0;var n,o=(n=r(4379))&&n.__esModule?n:{default:n},i=r(8790),s=function(e){function t(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return n.type=i.UNIVERSAL,n.value="*",n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},9788:(e,t,r)=>{r(4070),t.__esModule=!0,t.default=function(e){return e.sort((function(e,t){return e-t}))},e.exports=t.default},6554:(e,t)=>{t.__esModule=!0,t.default=function(e){for(var t=[],o=e.css.valueOf(),i=void 0,s=void 0,u=void 0,a=void 0,c=void 0,l=void 0,f=void 0,p=void 0,h=void 0,d=void 0,D=void 0,g=o.length,m=-1,v=1,y=0,w=function(t,r){if(!e.safe)throw e.error("Unclosed "+t,v,y-m,y);s=(o+=r).length-1};y0?(p=v+c,h=s-a[c].length):(p=v,h=m),t.push(["comment",l,v,y-m,p,s-h,y]),m=h,v=p,y=s):(n.lastIndex=y+1,n.test(o),s=0===n.lastIndex?o.length-1:n.lastIndex-2,t.push(["word",o.slice(y,s+1),v,y-m,v,s-m,y]),y=s)}y++}return t};var r=/[ \n\t\r\{\(\)'"\\;/]/g,n=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;e.exports=t.default},5294:(e,t,r)=>{const n=r(4196);class o extends n{constructor(e){super(e),this.type="atword"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}}n.registerWalker(o),e.exports=o},8709:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="colon"}}n.registerWalker(i),e.exports=i},3627:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="comma"}}n.registerWalker(i),e.exports=i},4384:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="comment",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}}n.registerWalker(i),e.exports=i},4196:(e,t,r)=>{const n=r(1466);class o extends n{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,r,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,r);return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkType(e,t){if(!e||!t)throw new Error("Parameters {type} and {callback} are required.");const r="function"==typeof e;return this.walk(((n,o)=>{if(r&&n instanceof e||!r&&n.type===e)return t.call(this,n,o)}))}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let r,n=this.index(e);this.nodes.splice(n+1,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}insertBefore(e,t){let r,n=this.index(e);this.nodes.splice(n,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join("");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}}o.registerWalker=e=>{let t="walk"+e.name;t.lastIndexOf("s")!==t.length-1&&(t+="s"),o.prototype[t]||(o.prototype[t]=function(t){return this.walkType(e,t)})},e.exports=o},9645:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while parsing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},5128:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while tokzenizing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},4320:(e,t,r)=>{const n=r(4196);class o extends n{constructor(e){super(e),this.type="func",this.unbalanced=-1}}n.registerWalker(o),e.exports=o},9962:(e,t,r)=>{const n=r(3784),o=r(5294),i=r(8709),s=r(3627),u=r(4384),a=r(4320),c=r(3074),l=r(7214),f=r(1238),p=r(9672),h=r(1369),d=r(2057),D=r(6593);let g=function(e,t){return new n(e,t)};g.atword=function(e){return new o(e)},g.colon=function(e){return new i(Object.assign({value:":"},e))},g.comma=function(e){return new s(Object.assign({value:","},e))},g.comment=function(e){return new u(e)},g.func=function(e){return new a(e)},g.number=function(e){return new c(e)},g.operator=function(e){return new l(e)},g.paren=function(e){return new f(Object.assign({value:"("},e))},g.string=function(e){return new p(Object.assign({quote:"'"},e))},g.value=function(e){return new d(e)},g.word=function(e){return new D(e)},g.unicodeRange=function(e){return new h(e)},e.exports=g},1466:e=>{let t=function(e,r){let n=new e.constructor;for(let o in e){if(!e.hasOwnProperty(o))continue;let i=e[o],s=typeof i;"parent"===o&&"object"===s?r&&(n[o]=r):"source"===o?n[o]=i:i instanceof Array?n[o]=i.map((e=>t(e,n))):"before"!==o&&"after"!==o&&"between"!==o&&"semicolon"!==o&&("object"===s&&null!==i&&(i=t(i)),n[o]=i)}return n};e.exports=class{constructor(e){e=e||{},this.raws={before:"",after:""};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(e){e=e||{};let r=t(this);for(let t in e)r[t]=e[t];return r}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t))continue;if("parent"===t)continue;let r=this[t];r instanceof Array?e[t]=r.map((e=>"object"==typeof e&&e.toJSON?e.toJSON():e)):"object"==typeof r&&r.toJSON?e[t]=r.toJSON():e[t]=r}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let o=0;o{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="number",this.unit=Object(e).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}}n.registerWalker(i),e.exports=i},7214:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="operator"}}n.registerWalker(i),e.exports=i},1238:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="paren",this.parenType=""}}n.registerWalker(i),e.exports=i},3784:(e,t,r)=>{r(4070);const n=r(4343),o=r(2057),i=r(5294),s=r(8709),u=r(3627),a=r(4384),c=r(4320),l=r(3074),f=r(7214),p=r(1238),h=r(9672),d=r(6593),D=r(1369),g=r(2481),m=r(8051),v=r(7886),y=r(3210),w=r(9645);e.exports=class{constructor(e,t){this.cache=[],this.input=e,this.options=Object.assign({},{loose:!1},t),this.position=0,this.unbalanced=0,this.root=new n;let r=new o;this.root.append(r),this.current=r,this.tokens=g(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new u({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,r=this.currToken[1].replace(/\/\*|\*\//g,"");this.options.loose&&r.startsWith("//")&&(r=r.substring(2),t=!0),e=new a({value:r,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new w(e+` at line: ${t[2]}, column ${t[3]}`)}loop(){for(;this.position0&&("func"===this.current.type&&"calc"===this.current.value?("space"!==this.prevToken[0]&&"("!==this.prevToken[0]||"space"!==this.nextToken[0]&&"word"!==this.nextToken[0]||"word"===this.nextToken[0]&&"operator"!==this.current.last.type&&"("!==this.current.last.value)&&this.error("Syntax Error",this.currToken):"space"!==this.nextToken[0]&&"operator"!==this.nextToken[0]&&"operator"!==this.prevToken[0]||this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&"operator"===this.current.last.type)&&"word"===this.nextToken[0])return this.word()}else if("word"===this.nextToken[0])return this.word();return e=new f({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word()}}parenOpen(){let e,t=1,r=this.position+1,n=this.currToken;for(;r=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new D({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,r=this.nextToken,n=this.currToken[1],o=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/;if(!/^(?!\#([a-z0-9]+))[\#\{\}]/gi.test(n))for(;r&&"word"===r[0];){this.position++;let e=this.currToken[1];n+=e,r=this.nextToken}var s;e=v(n,"@"),s=y(m([[0],e])),t=s.sort(((e,t)=>e-t)),t.forEach(((s,u)=>{let a,f=t[u+1]||n.length,p=n.slice(s,f);if(~e.indexOf(s))a=new i({value:p.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]});else if(o.test(this.currToken[1])){let e=p.replace(o,"");a=new l({value:p.replace(e,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u],unit:e})}else a=new(r&&"("===r[0]?c:d)({value:p,source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]}),"Word"===a.constructor.name?(a.isHex=/^#(.+)/.test(p),a.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(p)):this.cache.push(this.current);this.newNode(a)})),this.position++}string(){let e,t=this.currToken,r=this.currToken[1],n=/^(\"|\')/,o=n.test(r),i="";o&&(i=r.match(n)[0],r=r.slice(1,r.length-1)),e=new h({value:r,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:o}),e.raws.quote=i,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=""),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},4343:(e,t,r)=>{const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type="root"}}},9672:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="string"}toString(){let e=this.quoted?this.raws.quote:"";return[this.raws.before,e,this.value+"",e,this.raws.after].join("")}}n.registerWalker(i),e.exports=i},2481:(e,t,r)=>{const n="{".charCodeAt(0),o="}".charCodeAt(0),i="(".charCodeAt(0),s=")".charCodeAt(0),u="'".charCodeAt(0),a='"'.charCodeAt(0),c="\\".charCodeAt(0),l="/".charCodeAt(0),f=".".charCodeAt(0),p=",".charCodeAt(0),h=":".charCodeAt(0),d="*".charCodeAt(0),D="-".charCodeAt(0),g="+".charCodeAt(0),m="#".charCodeAt(0),v="\n".charCodeAt(0),y=" ".charCodeAt(0),w="\f".charCodeAt(0),b="\t".charCodeAt(0),C="\r".charCodeAt(0),E="@".charCodeAt(0),F="e".charCodeAt(0),A="E".charCodeAt(0),x="0".charCodeAt(0),k="9".charCodeAt(0),_="u".charCodeAt(0),O="U".charCodeAt(0),S=/[ \n\t\r\{\(\)'"\\;,/]/g,T=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,I=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,N=/^[a-z0-9]/i,M=/^[a-f0-9?\-]/i,R=r(8472),j=r(5128);e.exports=function(e,t){t=t||{};let r,L,B,P,$,U,G,W,z,V,q,X=[],J=e.valueOf(),H=J.length,Y=-1,K=1,Z=0,Q=0,ee=null;function te(e){let t=R.format("Unclosed %s at line: %d, column: %d, token: %d",e,K,Z-Y,Z);throw new j(t)}for(;Z0&&"word"===X[X.length-1][0]&&"url"===X[X.length-1][1],X.push(["(","(",K,Z-Y,K,L-Y,Z]);break;case s:Q--,ee=ee&&Q>0,X.push([")",")",K,Z-Y,K,L-Y,Z]);break;case u:case a:B=r===u?"'":'"',L=Z;do{for(z=!1,L=J.indexOf(B,L+1),-1===L&&te("quote"),V=L;J.charCodeAt(V-1)===c;)V-=1,z=!z}while(z);X.push(["string",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case E:S.lastIndex=Z+1,S.test(J),L=0===S.lastIndex?J.length-1:S.lastIndex-2,X.push(["atword",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case c:L=Z,r=J.charCodeAt(L+1),X.push(["word",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L;break;case g:case D:case d:if(L=Z+1,q=J.slice(Z+1,L+1),J.slice(Z-1,Z),r===D&&q.charCodeAt(0)===D){L++,X.push(["word",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;break}X.push(["operator",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;break;default:if(r===l&&(J.charCodeAt(Z+1)===d||t.loose&&!ee&&J.charCodeAt(Z+1)===l)){if(J.charCodeAt(Z+1)===d)L=J.indexOf("*/",Z+2)+1,0===L&&te("comment");else{const e=J.indexOf("\n",Z+2);L=-1!==e?e-1:H}U=J.slice(Z,L+1),P=U.split("\n"),$=P.length-1,$>0?(G=K+$,W=L-P[$].length):(G=K,W=Y),X.push(["comment",U,K,Z-Y,G,L-W,Z]),Y=W,K=G,Z=L}else if(r!==m||N.test(J.slice(Z+1,Z+2)))if(r!==_&&r!==O||J.charCodeAt(Z+1)!==g)if(r===l)L=Z+1,X.push(["operator",J.slice(Z,L),K,Z-Y,K,L-Y,Z]),Z=L-1;else{let e=T;if(r>=x&&r<=k&&(e=I),e.lastIndex=Z+1,e.test(J),L=0===e.lastIndex?J.length-1:e.lastIndex-2,e===I||r===f){let e=J.charCodeAt(L),t=J.charCodeAt(L+1),r=J.charCodeAt(L+2);(e===F||e===A)&&(t===D||t===g)&&r>=x&&r<=k&&(I.lastIndex=L+2,I.test(J),L=0===I.lastIndex?J.length-1:I.lastIndex-2)}X.push(["word",J.slice(Z,L+1),K,Z-Y,K,L-Y,Z]),Z=L}else{L=Z+2;do{L+=1,r=J.charCodeAt(L)}while(L{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="unicode-range"}}n.registerWalker(i),e.exports=i},2057:(e,t,r)=>{const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type="value",this.unbalanced=0}}},6593:(e,t,r)=>{const n=r(4196),o=r(1466);class i extends o{constructor(e){super(e),this.type="word"}}n.registerWalker(i),e.exports=i},8940:(e,t,r)=>{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="atrule",r}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=n.prototype;return o.append=function(){var t;this.nodes||(this.nodes=[]);for(var r=arguments.length,n=new Array(r),o=0;o{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="comment",r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},1204:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(6417)),o=i(r(3102));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e&&(this.indexes[r]=t-1);return this},f.removeAll=function(){for(var e,t=s(this.nodes);!(e=t()).done;)e.value.parent=void 0;return this.nodes=[],this},f.replaceValues=function(e,t,r){return r||(r=t,t={}),this.walkDecls((function(n){t.props&&-1===t.props.indexOf(n.prop)||t.fast&&-1===n.value.indexOf(t.fast)||(n.value=n.value.replace(e,r))})),this},f.every=function(e){return this.nodes.every(e)},f.some=function(e){return this.nodes.some(e)},f.index=function(e){return"number"==typeof e?e:this.nodes.indexOf(e)},f.normalize=function(e,t){var i=this;if("string"==typeof e)e=c(r(7057)(e).nodes);else if(Array.isArray(e))for(var u,a=s(e=e.slice(0));!(u=a()).done;){var l=u.value;l.parent&&l.parent.removeChild(l,"ignore")}else if("root"===e.type)for(var f,p=s(e=e.nodes.slice(0));!(f=p()).done;){var h=f.value;h.parent&&h.parent.removeChild(h,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new n.default(e)]}else if(e.selector)e=[new(r(6621))(e)];else if(e.name)e=[new(r(8940))(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new o.default(e)]}return e.map((function(e){return e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\s]/g,"")),e.parent=i,e}))},(l=[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&a(u.prototype,l),u}(i(r(1714)).default);t.default=l,e.exports=t.default},1667:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(6083)),o=s(r(3248)),i=s(r(2868));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){var t="function"==typeof Map?new Map:void 0;return(u=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return a(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),l(n,e)})(e)}function a(e,t,r){return(a=c()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&l(o,r.prototype),o}).apply(null,arguments)}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var p=function(e){var t,r;function s(t,r,n,o,i,u){var a;return(a=e.call(this,t)||this).name="CssSyntaxError",a.reason=t,i&&(a.file=i),o&&(a.source=o),u&&(a.plugin=u),void 0!==r&&void 0!==n&&(a.line=r,a.column=n),a.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(a),s),a}r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var u=s.prototype;return u.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},u.showSourceCode=function(e){var t=this;if(!this.source)return"";var r=this.source;i.default&&(void 0===e&&(e=n.default.stdout),e&&(r=(0,i.default)(r)));var s=r.split(/\r?\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;function l(t){return e&&o.default.red?o.default.red.bold(t):t}function f(t){return e&&o.default.gray?o.default.gray(t):t}return s.slice(u,a).map((function(e,r){var n=u+1+r,o=" "+(" "+n).slice(-c)+" | ";if(n===t.line){var i=f(o.replace(/\d/g," "))+e.slice(0,t.column-1).replace(/[^\t]/g," ");return l(">")+f(o)+e+"\n "+i+l("^")}return" "+f(o)+e})).join("\n")},u.toString=function(){var e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e},s}(u(Error));t.default=p,e.exports=t.default},6417:(e,t,r)=>{var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function n(t){var r;return(r=e.call(this,t)||this).type="decl",r}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,n}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},2993:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(6391)),o=s(r(1667)),i=s(r(3353));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var r=0;r"),this.map&&(this.map.file=this.from)}var t,r=e.prototype;return r.error=function(e,t,r,n){var i;void 0===n&&(n={});var s=this.origin(t,r);return(i=s?new o.default(e,s.line,s.column,s.source,s.file,n.plugin):new o.default(e,t,r,this.css,this.file,n.plugin)).input={line:t,column:r,source:this.css},this.file&&(i.input.file=this.file),i},r.origin=function(e,t){if(!this.map)return!1;var r=this.map.consumer(),n=r.originalPositionFor({line:e,column:t});if(!n.source)return!1;var o={file:this.mapResolve(n.source),line:n.line,column:n.column},i=r.sourceContentFor(n.source);return i&&(o.source=i),o},r.mapResolve=function(e){return/^\w+:\/\//.test(e)?e:n.default.resolve(this.map.consumer().sourceRoot||".",e)},(t=[{key:"from",get:function(){return this.file||this.id}}])&&u(e.prototype,t),e}();t.default=c,e.exports=t.default},6992:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=u(r(8991)),o=u(r(6157)),i=(u(r(6574)),u(r(6865))),s=u(r(7057));function u(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.processor.plugins.length)return this.processed=!0,e();try{var n=this.processor.plugins[this.plugin],o=this.run(n);this.plugin+=1,f(o)?o.then((function(){r.asyncTick(e,t)})).catch((function(e){r.handleError(e,n),r.processed=!0,t(e)})):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},r.async=function(){var e=this;return this.processed?new Promise((function(t,r){e.error?r(e.error):t(e.stringify())})):(this.processing||(this.processing=new Promise((function(t,r){if(e.error)return r(e.error);e.plugin=0,e.asyncTick(t,r)})).then((function(){return e.processed=!0,e.stringify()}))),this.processing)},r.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var e,t=a(this.result.processor.plugins);!(e=t()).done;){var r=e.value;if(f(this.run(r)))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},r.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},r.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=o.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var r=new n.default(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result},(t=[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}])&&l(e.prototype,t),e}();t.default=p,e.exports=t.default},6136:(e,t)=>{t.__esModule=!0,t.default=void 0;var r={split:function(e,t,r){for(var n=[],o="",i=!1,s=0,u=!1,a=!1,c=0;c0&&(s-=1):0===s&&-1!==t.indexOf(l)&&(i=!0),i?(""!==o&&n.push(o.trim()),o="",i=!1):o+=l}return(r||""!==o)&&n.push(o.trim()),n},space:function(e){return r.split(e,[" ","\n","\t"])},comma:function(e){return r.split(e,[","],!0)}},n=r;t.default=n,e.exports=t.default},8991:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(2447)),o=i(r(6391));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},t.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk((function(t){if(t.source&&t.source.input.map){var r=t.source.input.map;-1===e.previousMaps.indexOf(r)&&e.previousMaps.push(r)}}))),this.previousMaps},t.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((function(e){return e.inline})))},t.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((function(e){return e.withContent()}))},t.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e,t=this.root.nodes.length-1;t>=0;t--)"comment"===(e=this.root.nodes[t]).type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},t.setSourcesContent=function(){var e=this,t={};this.root.walk((function(r){if(r.source){var n=r.source.input.from;if(n&&!t[n]){t[n]=!0;var o=e.relative(n);e.map.setSourceContent(o,r.source.input.css)}}}))},t.applyPrevMaps=function(){for(var e,t=s(this.previous());!(e=t()).done;){var r=e.value,i=this.relative(r.file),u=r.root||o.default.dirname(r.file),a=void 0;!1===this.mapOpts.sourcesContent?(a=new n.default.SourceMapConsumer(r.text)).sourcesContent&&(a.sourcesContent=a.sourcesContent.map((function(){return null}))):a=r.consumer(),this.map.applySourceMap(a,i,this.relative(u))}},t.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((function(e){return e.annotation})))},t.toBase64=function(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},t.addAnnotation=function(){var e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},t.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},t.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},t.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?o.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=o.default.dirname(o.default.resolve(t,this.mapOpts.annotation))),e=o.default.relative(t,e),"\\"===o.default.sep?e.replace(/\\/g,"/"):e},t.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},t.generateString=function(){var e=this;this.css="",this.map=new n.default.SourceMapGenerator({file:this.outputFile()});var t,r,o=1,i=1;this.stringify(this.root,(function(n,s,u){if(e.css+=n,s&&"end"!==u&&(s.source&&s.source.start?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-1},original:{line:s.source.start.line,column:s.source.start.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}})),(t=n.match(/\n/g))?(o+=t.length,r=n.lastIndexOf("\n"),i=n.length-r):i+=n.length,s&&"start"!==u){var a=s.parent||{raws:{}};("decl"!==s.type||s!==a.last||a.raws.semicolon)&&(s.source&&s.source.end?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-2},original:{line:s.source.end.line,column:s.source.end.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}}))}}))},t.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,(function(t){e+=t})),[e]},e}();t.default=a,e.exports=t.default},1714:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(1667)),o=s(r(5701)),i=s(r(6157));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var r=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],i=typeof o;"parent"===n&&"object"===i?t&&(r[n]=t):"source"===n?r[n]=o:o instanceof Array?r[n]=o.map((function(e){return u(e,r)})):("object"===i&&null!==o&&(o=u(o)),r[n]=o)}return r}var a=function(){function e(e){for(var t in void 0===e&&(e={}),this.raws={},e)this[t]=e[t]}var t=e.prototype;return t.error=function(e,t){if(void 0===t&&(t={}),this.source){var r=this.positionBy(t);return this.source.input.error(e,r.line,r.column,t)}return new n.default(e)},t.warn=function(e,t,r){var n={node:this};for(var o in r)n[o]=r[o];return e.warn(t,n)},t.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},t.toString=function(e){void 0===e&&(e=i.default),e.stringify&&(e=e.stringify);var t="";return e(this,(function(e){t+=e})),t},t.clone=function(e){void 0===e&&(e={});var t=u(this);for(var r in e)t[r]=e[r];return t},t.cloneBefore=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertBefore(this,t),t},t.cloneAfter=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertAfter(this,t),t},t.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=new Array(e),r=0;r{t.__esModule=!0,t.default=void 0;var n=i(r(7116)),o=i(r(2993));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){var r=new o.default(e,t),i=new n.default(r);try{i.parse()}catch(e){throw e}return i.root};t.default=s,e.exports=t.default},7116:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=c(r(6417)),o=c(r(1157)),i=c(r(3102)),s=c(r(8940)),u=c(r(7563)),a=c(r(6621));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e){this.input=e,this.root=new u.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{line:1,column:1}}}var t=e.prototype;return t.createTokenizer=function(){this.tokenizer=(0,o.default)(this.input)},t.parse=function(){for(var e;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()},t.comment=function(e){var t=new i.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var r=e[1].slice(2,-2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{var n=r.match(/^(\s*)([^]*[^\s])(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}},t.emptyRule=function(e){var t=new a.default;this.init(t,e[2],e[3]),t.selector="",t.raws.between="",this.current=t},t.other=function(e){for(var t=!1,r=null,n=!1,o=null,i=[],s=[],u=e;u;){if(r=u[0],s.push(u),"("===r||"["===r)o||(o=u),i.push("("===r?")":"]");else if(0===i.length){if(";"===r){if(n)return void this.decl(s);break}if("{"===r)return void this.rule(s);if("}"===r){this.tokenizer.back(s.pop()),t=!0;break}":"===r&&(n=!0)}else r===i[i.length-1]&&(i.pop(),0===i.length&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(o),t&&n){for(;s.length&&("space"===(u=s[s.length-1][0])||"comment"===u);)this.tokenizer.back(s.pop());this.decl(s)}else this.unknownWord(s)},t.rule=function(e){e.pop();var t=new a.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t},t.decl=function(e){var t=new n.default;this.init(t);var r,o=e[e.length-1];for(";"===o[0]&&(this.semicolon=!0,e.pop()),o[4]?t.source.end={line:o[4],column:o[5]}:t.source.end={line:o[2],column:o[3]};"word"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop="";e.length;){var i=e[0][0];if(":"===i||"space"===i||"comment"===i)break;t.prop+=e.shift()[1]}for(t.raws.between="";e.length;){if(":"===(r=e.shift())[0]){t.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),t.raws.between+=r[1]}"_"!==t.prop[0]&&"*"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var s=e.length-1;s>0;s--){if("!important"===(r=e[s])[1].toLowerCase()){t.important=!0;var u=this.stringFrom(e,s);" !important"!==(u=this.spacesFromEnd(e)+u)&&(t.raws.important=u);break}if("important"===r[1].toLowerCase()){for(var a=e.slice(0),c="",l=s;l>0;l--){var f=a[l][0];if(0===c.trim().indexOf("!")&&"space"!==f)break;c=a.pop()[1]+c}0===c.trim().indexOf("!")&&(t.important=!0,t.raws.important=c,e=a)}if("space"!==r[0]&&"comment"!==r[0])break}this.raw(t,"value",e),-1!==t.value.indexOf(":")&&this.checkMissedSemicolon(e)},t.atrule=function(e){var t,r,n=new s.default;n.name=e[1].slice(1),""===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2],e[3]);for(var o=!1,i=!1,u=[];!this.tokenizer.endOfFile();){if(";"===(e=this.tokenizer.nextToken())[0]){n.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if("{"===e[0]){i=!0;break}if("}"===e[0]){if(u.length>0){for(t=u[r=u.length-1];t&&"space"===t[0];)t=u[--r];t&&(n.source.end={line:t[4],column:t[5]})}this.end(e);break}if(u.push(e),this.tokenizer.endOfFile()){o=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(n.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(n,"params",u),o&&(e=u[u.length-1],n.source.end={line:e[4],column:e[5]},this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),i&&(n.nodes=[],this.current=n)},t.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},t.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},t.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}},t.init=function(e,t,r){this.current.push(e),e.source={start:{line:t,column:r},input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)},t.raw=function(e,t,r){for(var n,o,i,s,u=r.length,a="",c=!0,l=/^([.|#])?([\w])+/i,f=0;f=0&&("space"===(r=e[o])[0]||2!==(n+=1));o--);throw this.input.error("Missed semicolon",r[2],r[3])}},e}();t.default=l,e.exports=t.default},3353:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=s(r(2447)),o=s(r(6391)),i=s(r(7545));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(e,t){this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");var r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);n&&(this.text=n)}var t=e.prototype;return t.consumer=function(){return this.consumerCache||(this.consumerCache=new n.default.SourceMapConsumer(this.text)),this.consumerCache},t.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},t.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},t.getAnnotationURL=function(e){return e.match(/\/\*\s*# sourceMappingURL=((?:(?!sourceMappingURL=).)*)\*\//)[1].trim()},t.loadAnnotation=function(e){var t=e.match(/\/\*\s*# sourceMappingURL=(?:(?!sourceMappingURL=).)*\*\//gm);if(t&&t.length>0){var r=t[t.length-1];r&&(this.annotation=this.getAnnotationURL(r))}},t.decodeInline=function(e){var t,r="data:application/json,";if(this.startWith(e,r))return decodeURIComponent(e.substr(r.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var n=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+n)},t.loadMap=function(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"==typeof t){var r=t(e);if(r&&i.default.existsSync&&i.default.existsSync(r))return i.default.readFileSync(r,"utf-8").toString().trim();throw new Error("Unable to load previous source map: "+r.toString())}if(t instanceof n.default.SourceMapConsumer)return n.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof n.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var s=this.annotation;return e&&(s=o.default.join(o.default.dirname(e),s)),this.root=o.default.dirname(s),!(!i.default.existsSync||!i.default.existsSync(s))&&i.default.readFileSync(s,"utf-8").toString().trim()}},t.isMap=function(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings)},e}();t.default=u,e.exports=t.default},9429:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n,o=(n=r(6992))&&n.__esModule?n:{default:n};function i(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{t.__esModule=!0,t.default=void 0;var n,o=(n=r(1662))&&n.__esModule?n:{default:n};function i(e,t){for(var r=0;r{var n;function o(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),e.prototype.removeChild.call(this,t)},s.normalize=function(t,r,n){var i=e.prototype.normalize.call(this,t);if(r)if("prepend"===n)this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(var s,u=o(i);!(s=u()).done;)s.value.raws.before=r.raws.before;return i},s.toResult=function(e){return void 0===e&&(e={}),new(r(6992))(new(r(9429)),this,e).stringify()},i}(((n=r(1204))&&n.__esModule?n:{default:n}).default);t.default=s,e.exports=t.default},6621:(e,t,r)=>{t.__esModule=!0,t.default=void 0;var n=i(r(1204)),o=i(r(6136));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){for(var r=0;r{t.__esModule=!0,t.default=void 0;var r={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1},n=function(){function e(e){this.builder=e}var t=e.prototype;return t.stringify=function(e,t){this[e.type](e,t)},t.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},t.comment=function(e){var t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+r+"*/",e)},t.decl=function(e,t){var r=this.raw(e,"between","colon"),n=e.prop+r+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)},t.rule=function(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")},t.atrule=function(e,t){var r="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=" "),e.nodes)this.block(e,r+n);else{var o=(e.raws.between||"")+(t?";":"");this.builder(r+n+o,e)}},t.body=function(e){for(var t=e.nodes.length-1;t>0&&"comment"===e.nodes[t].type;)t-=1;for(var r=this.raw(e,"semicolon"),n=0;n0&&void 0!==e.raws.after)return-1!==(t=e.raws.after).indexOf("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/[^\s]/g,"")),t},t.rawBeforeOpen=function(e){var t;return e.walk((function(e){if("decl"!==e.type&&void 0!==(t=e.raws.between))return!1})),t},t.rawColon=function(e){var t;return e.walkDecls((function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1})),t},t.beforeAfter=function(e,t){var r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");for(var n=e.parent,o=0;n&&"root"!==n.type;)o+=1,n=n.parent;if(-1!==r.indexOf("\n")){var i=this.raw(e,null,"indent");if(i.length)for(var s=0;s{t.__esModule=!0,t.default=void 0;var n,o=(n=r(5701))&&n.__esModule?n:{default:n},i=function(e,t){new o.default(t).stringify(e)};t.default=i,e.exports=t.default},1157:(e,t)=>{t.__esModule=!0,t.default=function(e,t){void 0===t&&(t={});var A,x,k,_,O,S,T,I,N,M,R,j,L,B,P=e.css.valueOf(),$=t.ignoreErrors,U=P.length,G=-1,W=1,z=0,V=[],q=[];function X(t){throw e.error("Unclosed "+t,W,z-G)}return{back:function(e){q.push(e)},nextToken:function(e){if(q.length)return q.pop();if(!(z>=U)){var t=!!e&&e.ignoreUnclosed;switch(((A=P.charCodeAt(z))===s||A===a||A===l&&P.charCodeAt(z+1)!==s)&&(G=z,W+=1),A){case s:case u:case c:case l:case a:x=z;do{x+=1,(A=P.charCodeAt(x))===s&&(G=x,W+=1)}while(A===u||A===s||A===c||A===l||A===a);B=["space",P.slice(z,x)],z=x-1;break;case f:case p:case D:case g:case y:case m:case d:var J=String.fromCharCode(A);B=[J,J,W,z-G];break;case h:if(j=V.length?V.pop()[1]:"",L=P.charCodeAt(z+1),"url"===j&&L!==r&&L!==n&&L!==u&&L!==s&&L!==c&&L!==a&&L!==l){x=z;do{if(M=!1,-1===(x=P.indexOf(")",x+1))){if($||t){x=z;break}X("bracket")}for(R=x;P.charCodeAt(R-1)===o;)R-=1,M=!M}while(M);B=["brackets",P.slice(z,x+1),W,z-G,W,x-G],z=x}else x=P.indexOf(")",z+1),S=P.slice(z,x+1),-1===x||E.test(S)?B=["(","(",W,z-G]:(B=["brackets",S,W,z-G,W,x-G],z=x);break;case r:case n:k=A===r?"'":'"',x=z;do{if(M=!1,-1===(x=P.indexOf(k,x+1))){if($||t){x=z+1;break}X("string")}for(R=x;P.charCodeAt(R-1)===o;)R-=1,M=!M}while(M);S=P.slice(z,x+1),_=S.split("\n"),(O=_.length-1)>0?(I=W+O,N=x-_[O].length):(I=W,N=G),B=["string",P.slice(z,x+1),W,z-G,I,x-N],G=N,W=I,z=x;break;case w:b.lastIndex=z+1,b.test(P),x=0===b.lastIndex?P.length-1:b.lastIndex-2,B=["at-word",P.slice(z,x+1),W,z-G,W,x-G],z=x;break;case o:for(x=z,T=!0;P.charCodeAt(x+1)===o;)x+=1,T=!T;if(A=P.charCodeAt(x+1),T&&A!==i&&A!==u&&A!==s&&A!==c&&A!==l&&A!==a&&(x+=1,F.test(P.charAt(x)))){for(;F.test(P.charAt(x+1));)x+=1;P.charCodeAt(x+1)===u&&(x+=1)}B=["word",P.slice(z,x+1),W,z-G,W,x-G],z=x;break;default:A===i&&P.charCodeAt(z+1)===v?(0===(x=P.indexOf("*/",z+2)+1)&&($||t?x=P.length:X("comment")),S=P.slice(z,x+1),_=S.split("\n"),(O=_.length-1)>0?(I=W+O,N=x-_[O].length):(I=W,N=G),B=["comment",S,W,z-G,I,x-N],G=N,W=I,z=x):(C.lastIndex=z+1,C.test(P),x=0===C.lastIndex?P.length-1:C.lastIndex-2,B=["word",P.slice(z,x+1),W,z-G,W,x-G],V.push(B),z=x)}return z++,B}},endOfFile:function(){return 0===q.length&&z>=U},position:function(){return z}}};var r="'".charCodeAt(0),n='"'.charCodeAt(0),o="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),u=" ".charCodeAt(0),a="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),f="[".charCodeAt(0),p="]".charCodeAt(0),h="(".charCodeAt(0),d=")".charCodeAt(0),D="{".charCodeAt(0),g="}".charCodeAt(0),m=";".charCodeAt(0),v="*".charCodeAt(0),y=":".charCodeAt(0),w="@".charCodeAt(0),b=/[ \n\t\r\f{}()'"\\;/[\]#]/g,C=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,E=/.[\\/("'\n]/,F=/[a-f0-9]/i;e.exports=t.default},6574:(e,t)=>{t.__esModule=!0,t.default=function(e){r[e]||(r[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};var r={};e.exports=t.default},1662:(e,t)=>{t.__esModule=!0,t.default=void 0;var r=function(){function e(e,t){if(void 0===t&&(t={}),this.type="warning",this.text=e,t.node&&t.node.source){var r=t.node.positionBy(t);this.line=r.line,this.column=r.column}for(var n in t)this[n]=t[n]}return e.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text},e}();t.default=r,e.exports=t.default},6210:(e,t,r)=>{const n=r(895),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=r(8523),{re:s,t:u}=r(3443),a=r(8077),{compareIdentifiers:c}=r(8337);class l{constructor(e,t){if(t=a(t),e instanceof l){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>o)throw new TypeError(`version is longer than ${o} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[u.LOOSE]:s[u.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=l},2828:(e,t,r)=>{const n=r(6210);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},9195:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)>=0},3725:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)<0},8523:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},895:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},8337:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:er(t,e)}},8077:e=>{const t=["includePrerelease","loose","rtl"];e.exports=e=>e?"object"!=typeof e?{loose:!0}:t.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{}},3443:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n}=r(8523),o=r(895),i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const c=(e,t,r)=>{const n=a++;o(n,t),u[e]=n,s[n]=t,i[n]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${s[u.NUMERICIDENTIFIER]})\\.(${s[u.NUMERICIDENTIFIER]})\\.(${s[u.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${s[u.NUMERICIDENTIFIERLOOSE]})\\.(${s[u.NUMERICIDENTIFIERLOOSE]})\\.(${s[u.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${s[u.NUMERICIDENTIFIER]}|${s[u.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${s[u.NUMERICIDENTIFIERLOOSE]}|${s[u.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${s[u.PRERELEASEIDENTIFIER]}(?:\\.${s[u.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${s[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[u.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${s[u.BUILDIDENTIFIER]}(?:\\.${s[u.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${s[u.MAINVERSION]}${s[u.PRERELEASE]}?${s[u.BUILD]}?`),c("FULL",`^${s[u.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${s[u.MAINVERSIONLOOSE]}${s[u.PRERELEASELOOSE]}?${s[u.BUILD]}?`),c("LOOSE",`^${s[u.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${s[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${s[u.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${s[u.XRANGEIDENTIFIER]})(?:\\.(${s[u.XRANGEIDENTIFIER]})(?:\\.(${s[u.XRANGEIDENTIFIER]})(?:${s[u.PRERELEASE]})?${s[u.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${s[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[u.XRANGEIDENTIFIERLOOSE]})(?:${s[u.PRERELEASELOOSE]})?${s[u.BUILD]}?)?)?`),c("XRANGE",`^${s[u.GTLT]}\\s*${s[u.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${s[u.GTLT]}\\s*${s[u.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),c("COERCERTL",s[u.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${s[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${s[u.LONETILDE]}${s[u.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${s[u.LONETILDE]}${s[u.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${s[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${s[u.LONECARET]}${s[u.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${s[u.LONECARET]}${s[u.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${s[u.GTLT]}\\s*(${s[u.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${s[u.GTLT]}\\s*(${s[u.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${s[u.GTLT]}\\s*(${s[u.LOOSEPLAIN]}|${s[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${s[u.XRANGEPLAIN]})\\s+-\\s+(${s[u.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${s[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[u.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},6715:(e,t,r)=>{var n=r(7837),o=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function s(){this._array=[],this._set=i?new Map:Object.create(null)}s.fromArray=function(e,t){for(var r=new s,n=0,o=e.length;n=0)return t}else{var r=n.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},s.prototype.at=function(e){if(e>=0&&e{var n=r(4122);t.encode=function(e){var t,r="",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),r+=n.encode(t)}while(o>0);return r},t.decode=function(e,t,r){var o,i,s,u,a=e.length,c=0,l=0;do{if(t>=a)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=n.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&s)?-u:u),r.rest=t}},4122:(e,t)=>{var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function r(e,n,o,i,s,u){var a=Math.floor((n-e)/2)+e,c=s(o,i[a],!0);return 0===c?a:c>0?n-a>1?r(a,n,o,i,s,u):u==t.LEAST_UPPER_BOUND?n1?r(e,a,o,i,s,u):u==t.LEAST_UPPER_BOUND?a:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,o,i){if(0===n.length)return-1;var s=r(-1,n.length,e,n,o,i||t.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===o(n[s],n[s-1],!0);)--s;return s}},1028:(e,t,r)=>{r(4070);var n=r(7837);function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},o.prototype.add=function(e){var t,r,o,i,s,u;r=e,o=(t=this._last).generatedLine,i=r.generatedLine,s=t.generatedColumn,u=r.generatedColumn,i>o||i==o&&u>=s||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=o},6711:(e,t)=>{function r(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function n(e,t,o,i){if(o{var n=r(7837),o=r(8593),i=r(6715).I,s=r(4886),u=r(6711).U;function a(e,t){var r=e;return"string"==typeof e&&(r=n.parseSourceMapInput(e)),null!=r.sections?new f(r,t):new c(r,t)}function c(e,t){var r=e;"string"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,"version"),s=n.getArg(r,"sources"),u=n.getArg(r,"names",[]),a=n.getArg(r,"sourceRoot",null),c=n.getArg(r,"sourcesContent",null),l=n.getArg(r,"mappings"),f=n.getArg(r,"file",null);if(o!=this._version)throw new Error("Unsupported version: "+o);a&&(a=n.normalize(a)),s=s.map(String).map(n.normalize).map((function(e){return a&&n.isAbsolute(a)&&n.isAbsolute(e)?n.relative(a,e):e})),this._names=i.fromArray(u.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(e){return n.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=c,this._mappings=l,this._sourceMapURL=t,this.file=f}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function f(e,t){var r=e;"string"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,"version"),s=n.getArg(r,"sections");if(o!=this._version)throw new Error("Unsupported version: "+o);this._sources=new i,this._names=new i;var u={line:-1,column:0};this._sections=s.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=n.getArg(e,"offset"),o=n.getArg(r,"line"),i=n.getArg(r,"column");if(o=0){var u=this._originalMappings[s];if(void 0===e.column)for(var a=u.originalLine;u&&u.originalLine===a;)i.push({line:n.getArg(u,"generatedLine",null),column:n.getArg(u,"generatedColumn",null),lastColumn:n.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s];else for(var c=u.originalColumn;u&&u.originalLine===t&&u.originalColumn==c;)i.push({line:n.getArg(u,"generatedLine",null),column:n.getArg(u,"generatedColumn",null),lastColumn:n.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s]}return i},t.SourceMapConsumer=a,c.prototype=Object.create(a.prototype),c.prototype.consumer=a,c.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=n.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=D+i[1],D+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=d+i[3],d=r.originalColumn,i.length>4&&(r.name=g+i[4],g+=i[4])),C.push(r),"number"==typeof r.originalLine&&b.push(r)}u(C,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,u(b,n.compareByOriginalPositions),this.__originalMappings=b},c.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return o.search(e,t,i,s)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===t.generatedLine){var i=n.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=n.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=n.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:n.getArg(o,"originalLine",null),column:n.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var o,i=e;if(null!=this.sourceRoot&&(i=n.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(o=n.urlParse(this.sourceRoot))){var s=i.replace(/^file:\/\//,"");if("file"==o.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!o.path||"/"==o.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){var t=n.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")},o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",a.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:n.getArg(i,"generatedLine",null),column:n.getArg(i,"generatedColumn",null),lastColumn:n.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},f.prototype=Object.create(a.prototype),f.prototype.constructor=a,f.prototype._version=3,Object.defineProperty(f.prototype,"sources",{get:function(){for(var e=[],t=0;t{var n=r(4886),o=r(7837),i=r(6715).I,s=r(1028).H;function u(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._skipValidation=o.getArg(e,"skipValidation",!1),this._sources=new i,this._names=new i,this._mappings=new s,this._sourcesContents=null}u.prototype._version=3,u.fromSourceMap=function(e){var t=e.sourceRoot,r=new u({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=o.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=o.relative(t,n)),r._sources.has(i)||r._sources.add(i);var s=e.sourceContentFor(n);null!=s&&r.setSourceContent(n,s)})),r},u.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),r=o.getArg(e,"original",null),n=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},u.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=o.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},u.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var s=this._sourceRoot;null!=s&&(n=o.relative(s,n));var u=new i,a=new i;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=r&&(t.source=o.join(r,t.source)),null!=s&&(t.source=o.relative(s,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||u.has(c)||u.add(c);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=o.join(r,t)),null!=s&&(t=o.relative(s,t)),this.setSourceContent(t,n))}),this)},u.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},u.prototype._serializeMappings=function(){for(var e,t,r,i,s=0,u=1,a=0,c=0,l=0,f=0,p="",h=this._mappings.toArray(),d=0,D=h.length;d0){if(!o.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=","}e+=n.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=n.encode(i-f),f=i,e+=n.encode(t.originalLine-1-c),c=t.originalLine-1,e+=n.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-l),l=r)),p+=e}return p},u.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},u.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},u.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=u},6270:(e,t,r)=>{var n=r(2400).SourceMapGenerator,o=r(7837),i=/(\r?\n)/,s="$$$isSourceNode$$$";function u(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[s]=!0,null!=n&&this.add(n)}u.fromStringWithSourceMap=function(e,t,r){var n=new u,s=e.split(i),a=0,c=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[s]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},u.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r{t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function o(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function s(e){var r=e,n=o(e);if(n){if(!n.path)return e;r=n.path}for(var s,u=t.isAbsolute(r),a=r.split(/\/+/),c=0,l=a.length-1;l>=0;l--)"."===(s=a[l])?a.splice(l,1):".."===s?c++:c>0&&(""===s?(a.splice(l+1,c),c=0):(a.splice(l,2),c--));return""===(r=a.join("/"))&&(r=u?"/":"."),n?(n.path=r,i(n)):r}function u(e,t){""===e&&(e="."),""===t&&(t=".");var r=o(t),u=o(e);if(u&&(e=u.path||"/"),r&&!r.scheme)return u&&(r.scheme=u.scheme),i(r);if(r||t.match(n))return t;if(u&&!u.host&&!u.path)return u.host=t,i(u);var a="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return u?(u.path=a,i(u)):a}t.urlParse=o,t.urlGenerate=i,t.normalize=s,t.join=u,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var a=!("__proto__"in Object.create(null));function c(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function f(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=a?c:function(e){return l(e)?"$"+e:e},t.fromSetString=a?c:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=f(e.source,t.source);return 0!==n||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)||r||0!=(n=e.generatedColumn-t.generatedColumn)||0!=(n=e.generatedLine-t.generatedLine)?n:f(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=f(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:f(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||0!==(r=f(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:f(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=o(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var a=n.path.lastIndexOf("/");a>=0&&(n.path=n.path.substring(0,a+1))}t=u(i(n),t)}return s(t)}},2447:(e,t,r)=>{t.SourceMapGenerator=r(2400).SourceMapGenerator,t.SourceMapConsumer=r(8985).SourceMapConsumer,t.SourceNode=r(6270).SourceNode},6549:(e,t,r)=>{const n=r(9992),o=r(8528),i=r(541),s=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=n(e)).length)return 0;e=e.replace(i()," ");let t=0;for(let r=0;r=127&&n<=159||n>=768&&n<=879||(n>65535&&r++,t+=o(n)?2:1)}return t};e.exports=s,e.exports.default=s},9992:(e,t,r)=>{const n=r(8947);e.exports=e=>"string"==typeof e?e.replace(n(),""):e},8947:e=>{e.exports=({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}},3210:(e,t,r)=>{r(4070),e.exports=function(e,t,r){return 0===e.length?e:t?(r||e.sort(t),function(e,t){for(var r=1,n=e.length,o=e[0],i=e[0],s=1;s{e.exports={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}}},47:e=>{e.exports=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r}},9428:(e,t,r)=>{const n=r(6549),o=r(2240),i=r(4652),{getSupportInfo:s}=r(7290),u=/[^\x20-\x7F]/;function a(e){return(t,r,n)=>{const o=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let s=r;for(;s>=0&&s(r.match(s.regex)||[]).length?s.quote:i.quote),u}function C(e,t,r){const n='"'===t?"'":'"',o=e.replace(/\\(.)|(["'])/gs,((e,o,i)=>o===n?o:i===t?"\\"+i:i||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return t+o+t}function E(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}(e)}e.exports={inferParserByLanguage:function(e,t){const{languages:r}=s({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?u.test(e)?n(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(`(${o(t)})+`,"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(`(${o(t)})+`,"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:i,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:v,getNextNonSpaceNonCommentCharacterIndex:y,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(y(e,t,r))},skip:a,skipWhitespace:c,skipSpaces:l,skipToLineEnd:f,skipEverythingButNewLine:p,skipInlineComment:h,skipTrailingComment:d,skipNewline:D,isNextLineEmptyAfterIndex:m,isNextLineEmpty:function(e,t,r){return m(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=l(e,n,{backwards:!0}),n=D(e,n,{backwards:!0}),n=l(e,n,{backwards:!0}),n!==D(e,n,{backwards:!0})},hasNewline:g,hasNewlineInRange:function(e,t,r){for(let n=t;n0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}}},9355:(e,t,r)=>{const n=r(6920),{getLast:o,skipEverythingButNewLine:i}=r(9428);function s(e,t){return"number"==typeof e.sourceIndex?e.sourceIndex:e.source?n(e.source.start,t)-1:null}function u(e,t){if("css-comment"===e.type&&e.inline)return i(t,e.source.startOffset);const r=e.nodes&&o(e.nodes);return r&&e.source&&!e.source.end&&(e=r),e.source&&e.source.end?n(e.source.end,t):null}function a(e,t,r){e.source&&(e.source.startOffset=s(e,r)+t,e.source.endOffset=u(e,r)+t);for(const n in e){const o=e[n];"source"!==n&&o&&"object"==typeof o&&a(o,t,r)}}function c(e){let t=e.source.startOffset;return"string"==typeof e.prop&&(t+=e.prop.length),"css-atrule"===e.type&&"string"==typeof e.name&&(t+=1+e.name.length+e.raws.afterName.match(/^\s*:?\s*/)[0].length),"css-atrule"!==e.type&&e.raws&&"string"==typeof e.raws.between&&(t+=e.raws.between.length),t}e.exports={locStart:function(e){return e.source.startOffset},locEnd:function(e){return e.source.endOffset},calculateLoc:function e(t,r){t.source&&(t.source.startOffset=s(t,r),t.source.endOffset=u(t,r));for(const n in t){const o=t[n];"source"!==n&&o&&"object"==typeof o&&("value-root"===o.type||"value-unknown"===o.type?a(o,c(t),o.text||o.value):e(o,r))}},replaceQuotesInInlineComments:function(e){let t,r="initial",n="initial",o=!1;const i=[];for(let s=0;s{const n=r(47),o=r(4652),i=r(5115),{hasPragma:s}=r(8850),{hasSCSSInterpolation:u,hasStringOrFunction:a,isLessParser:c,isSCSS:l,isSCSSNestedPropertyNode:f,isSCSSVariable:p,stringifyNode:h}=r(5244),{locStart:d,locEnd:D}=r(9355),{calculateLoc:g,replaceQuotesInInlineComments:m}=r(9355),v=e=>{for(;e.parent;)e=e.parent;return e};function y(e,t){const{nodes:r}=e;let n={open:null,close:null,groups:[],type:"paren_group"};const i=[n],s=n;let c={groups:[],type:"comma_group"};const f=[c];for(let s=0;s0&&n.groups.push(c),n.close=d,1===f.length)throw new Error("Unbalanced parenthesis");f.pop(),c=o(f),c.groups.push(n),i.pop(),n=o(i)}else"comma"===d.type?(n.groups.push(c),c={groups:[],type:"comma_group"},f[f.length-1]=c):c.groups.push(d)}return c.groups.length>0&&n.groups.push(c),s}function w(e){return"paren_group"!==e.type||e.open||e.close||1!==e.groups.length?"comma_group"===e.type&&1===e.groups.length?w(e.groups[0]):"paren_group"===e.type||"comma_group"===e.type?Object.assign(Object.assign({},e),{},{groups:e.groups.map(w)}):e:w(e.groups[0])}function b(e,t,r){if(e&&"object"==typeof e){delete e.parent;for(const n in e)b(e[n],t,r),"type"===n&&"string"==typeof e[n]&&(e[n].startsWith(t)||r&&r.test(e[n])||(e[n]=t+e[n]))}return e}function C(e){if(e&&"object"==typeof e){delete e.parent;for(const t in e)C(e[t]);Array.isArray(e)||!e.value||e.type||(e.type="unknown")}return e}function E(e,t){if(e&&"object"==typeof e){for(const r in e)"parent"!==r&&(E(e[r],t),"nodes"===r&&(e.group=w(y(e,t)),delete e[r]));delete e.parent}return e}function F(e,t){const n=r(9962);let o=null;try{o=n(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}return o.text=e,b(E(o,t),"value-",/^selector-/)}function A(e){if(/\/\/|\/\*/.test(e))return{type:"selector-unknown",value:e.trim()};const t=r(1264);let n=null;try{t((e=>{n=e})).process(e)}catch{return{type:"selector-unknown",value:e}}return b(n,"selector-")}function x(e){const t=r(8322).Z;let n=null;try{n=t(e)}catch{return{type:"selector-unknown",value:e}}return b(C(n),"media-")}const k=/(\s*?)(!default).*$/,_=/(\s*?)(!global).*$/;function O(e,t){if(e&&"object"==typeof e){delete e.parent;for(const r in e)O(e[r],t);if(!e.type)return e;e.raws||(e.raws={});let r="";"string"==typeof e.selector&&(r=e.raws.selector?e.raws.selector.scss?e.raws.selector.scss:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),e.raws.selector=r);let n="";"string"==typeof e.value&&(n=e.raws.value?e.raws.value.scss?e.raws.value.scss:e.raws.value.raw:e.value,n=n.trim(),e.raws.value=n);let o="";if("string"==typeof e.params&&(o=e.raws.params?e.raws.params.scss?e.raws.params.scss:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(o=e.raws.afterName+o),e.raws.between&&e.raws.between.trim().length>0&&(o+=e.raws.between),o=o.trim(),e.raws.params=o),r.trim().length>0)return r.startsWith("@")&&r.endsWith(":")?e:e.mixin?(e.selector=F(r,t),e):(f(e)&&(e.isSCSSNesterProperty=!0),e.selector=A(r),e);if(n.length>0){const r=n.match(k);r&&(n=n.slice(0,r.index),e.scssDefault=!0,"!default"!==r[0].trim()&&(e.raws.scssDefault=r[0]));const o=n.match(_);if(o&&(n=n.slice(0,o.index),e.scssGlobal=!0,"!global"!==o[0].trim()&&(e.raws.scssGlobal=o[0])),n.startsWith("progid:"))return{type:"value-unknown",value:n};e.value=F(n,t)}if(c(t)&&"css-decl"===e.type&&n.startsWith("extend(")&&(e.extend||(e.extend=":"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=A(n.slice("extend(".length,-1)))),"css-atrule"===e.type){if(c(t)){if(e.mixin){const t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=A(t),delete e.params,e}if(e.function)return e}if("css"===t.parser&&"custom-selector"===e.name){const t=e.params.match(/:--\S+?\s+/)[0].trim();return e.customSelector=t,e.selector=A(e.params.slice(t.length).trim()),delete e.params,e}if(c(t)){if(e.name.includes(":")&&!e.params){e.variable=!0;const r=e.name.split(":");e.name=r[0],e.value=F(r.slice(1).join(":"),t)}if(!["page","nest","keyframes"].includes(e.name)&&e.params&&":"===e.params[0]&&(e.variable=!0,e.value=F(e.params.slice(1),t),e.raws.afterName+=":"),e.variable)return delete e.params,e}}if("css-atrule"===e.type&&o.length>0){const{name:r}=e,n=e.name.toLowerCase();return"warn"===r||"error"===r?(e.params={type:"media-unknown",value:o},e):"extend"===r||"nest"===r?(e.selector=A(o),delete e.params,e):"at-root"===r?(/^\(\s*(without|with)\s*:.+\)$/s.test(o)?e.params=F(o,t):(e.selector=A(o),delete e.params),e):"import"===n?(e.import=!0,delete e.filename,e.params=F(o,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(r)?(o=o.replace(/(\$\S+?)\s+?\.{3}/,"$1..."),o=o.replace(/^(?!if)(\S+)\s+\(/,"$1("),e.value=F(o,t),delete e.params,e):["media","custom-media"].includes(n)?o.includes("#{")?{type:"media-unknown",value:o}:(e.params=x(o),e):(e.params=o,e)}}return e}function S(e,t,r){const o=i(t),{frontMatter:s}=o;let u;t=o.content;try{u=e(t)}catch(e){const{name:t,reason:r,line:o,column:i}=e;if("number"!=typeof o)throw e;throw n(`${t}: ${r}`,{start:{line:o,column:i}})}return u=O(b(u,"css-"),r),g(u,t),s&&(s.source={startOffset:0,endOffset:s.raw.length},u.nodes.unshift(s)),u}function T(e,t,n){const o=r(7371);return S((e=>o.parse(m(e))),e,n)}function I(e,t,n){const{parse:o}=r(304);return S(o,e,n)}const N={astFormat:"postcss",hasPragma:s,locStart:d,locEnd:D};e.exports={parsers:{css:Object.assign(Object.assign({},N),{},{parse:function(e,t,r){const n=l(r.parser,e)?[I,T]:[T,I];let o;for(const i of n)try{return i(e,t,r)}catch(e){o=o||e}if(o)throw o}}),less:Object.assign(Object.assign({},N),{},{parse:T}),scss:Object.assign(Object.assign({},N),{},{parse:I})}}},8850:(e,t,r)=>{const n=r(3831),o=r(5115);e.exports={hasPragma:function(e){return n.hasPragma(o(e).content)},insertPragma:function(e){const{frontMatter:t,content:r}=o(e);return(t?t.raw+"\n\n":"")+n.insertPragma(r)}}},5244:(e,t,r)=>{const{isNonEmptyArray:n}=r(9428),o=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function i(e,t){const r=Array.isArray(t)?t:[t];let n,o=-1;for(;n=e.getParentNode(++o);)if(r.includes(n.type))return o;return-1}function s(e,t){const r=i(e,t);return-1===r?null:e.getParentNode(r)}function u(e){return"value-operator"===e.type&&"*"===e.value}function a(e){return"value-operator"===e.type&&"/"===e.value}function c(e){return"value-operator"===e.type&&"+"===e.value}function l(e){return"value-operator"===e.type&&"-"===e.value}function f(e){return"value-operator"===e.type&&"%"===e.value}function p(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function h(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&p(e.groups[0])}function d(e){return e&&"value-colon"===e.type}e.exports={getAncestorCounter:i,getAncestorNode:s,getPropOfDeclNode:function(e){const t=s(e,"css-decl");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(n(e))for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1},hasStringOrFunction:function(e){if(n(e))for(let t=0;t","<=",">="].includes(e.value)},isEqualityOperatorNode:function(e){return"value-word"===e.type&&["==","!="].includes(e.value)},isMultiplicationNode:u,isDivisionNode:a,isAdditionNode:c,isSubtractionNode:l,isModuloNode:f,isMathOperatorNode:function(e){return u(e)||a(e)||c(e)||l(e)||f(e)},isEachKeywordNode:function(e){return"value-word"===e.type&&"in"===e.value},isForKeywordNode:function(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)},isURLFunctionNode:function(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)},hasComposesNode:function(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&""===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith("prettier-placeholder")},isTemplatePropNode:function(e){return e.prop.startsWith("@prettier-placeholder")},isPostcssSimpleVarNode:function(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before},isKeyValuePairNode:p,isKeyValuePairInParenGroupNode:h,isKeyInValuePairNode:function(e,t){if(!p(t))return!1;const{groups:r}=t,n=r.indexOf(e);return-1!==n&&d(r[n+1])},isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const r=e.getParentNode(1);if(!(h(t)||r&&h(r)))return!1;const n=s(e,"css-decl");return!!(n&&n.prop&&n.prop.startsWith("$"))||!!h(r)||"value-func"===r.type},isInlineValueCommentNode:function(e){return"value-comment"===e.type&&e.inline},isHashNode:function(e){return"value-word"===e.type&&"#"===e.value},isLeftCurlyBraceNode:function(e){return"value-word"===e.type&&"{"===e.value},isRightCurlyBraceNode:function(e){return"value-word"===e.type&&"}"===e.value},isWordNode:function(e){return["value-word","value-atword"].includes(e.type)},isColonNode:d,isMediaAndSupportsKeywords:function(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return"value-func"===e.type&&o.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\/\//.test(e.split(/[\n\r]/).pop())},stringifyNode:function e(t){if(t.groups)return(t.open&&t.open.value?t.open.value:"")+t.groups.reduce(((r,n,o)=>r+e(n)+("comma_group"===t.groups[0].type&&o!==t.groups.length-1?",":"")),"")+(t.close&&t.close.value?t.close.value:"");const r=t.raws&&t.raws.before?t.raws.before:"",n=t.raws&&t.raws.quote?t.raws.quote:"";return r+n+("atword"===t.type?"@":"")+(t.value?t.value:"")+n+(t.unit?t.unit:"")+(t.group?e(t.group):"")+(t.raws&&t.raws.after?t.raws.after:"")},isAtWordPlaceholderNode:function(e){return e&&"value-atword"===e.type&&e.value.startsWith("prettier-placeholder-")}}},3831:(e,t,r)=>{const{parseWithComments:n,strip:o,extract:i,print:s}=r(9234),{getShebang:u}=r(9428),{normalizeEndOfLine:a}=r(7933);function c(e){const t=u(e);t&&(e=e.slice(t.length+1));const r=i(e),{pragmas:o,comments:s}=n(r);return{shebang:t,text:e,pragmas:o,comments:s}}e.exports={hasPragma:function(e){const t=Object.keys(c(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=c(e),u=o(r),l=s({pragmas:Object.assign({format:""},n),comments:i.trimStart()});return(t?`${t}\n`:"")+a(l)+(u.startsWith("\n")?"\n":"\n\n")+u}}},8988:(e,t,r)=>{const{outdent:n}=r(5311),o="Config",i="Editor",s="Other",u="Global",a="Special",c={cursorOffset:{since:"1.4.0",category:a,type:"int",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:n` + Print (to stderr) where a cursor at the given position would move to after formatting. + This option cannot be used with --range-start and --range-end. + `,cliCategory:i},endOfLine:{since:"1.15.0",category:u,type:"choice",default:[{since:"1.15.0",value:"auto"},{since:"2.0.0",value:"lf"}],description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:n` + Maintain existing + (mixed values within one file are normalised by looking at what's used after the first line) + `}]},filepath:{since:"1.4.0",category:a,type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:s,cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{since:"1.8.0",category:a,type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:s},parser:{since:"0.0.10",category:u,type:"choice",default:[{since:"0.0.10",value:"babylon"},{since:"1.13.0",value:void 0}],description:"Which parser to use.",exception:e=>"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:u,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:o},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:u,description:n` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:o},printWidth:{since:"0.0.0",category:u,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:a,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:n` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:i},rangeStart:{since:"1.4.0",category:a,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:n` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:i},requirePragma:{since:"1.7.0",category:a,type:"boolean",default:!1,description:n` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:s},tabWidth:{type:"int",category:u,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:u,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:u,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};e.exports={CATEGORY_CONFIG:o,CATEGORY_EDITOR:i,CATEGORY_FORMAT:"Format",CATEGORY_OTHER:s,CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:u,CATEGORY_SPECIAL:a,options:c}},7290:(e,t,r)=>{const n=["cliName","cliCategory","cliDescription"];function o(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}r(4304),r(4070),r(2612);const i={compare:r(2828),lt:r(3725),gte:r(9195)},s=r(9077),u=r(306).i8,a=r(8988).options;e.exports={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:c=!1}={}){const l=u.split("-",1)[0],f=e.flatMap((e=>e.languages||[])).filter(h),p=s(Object.assign({},...e.map((({options:e})=>e)),a),"name").filter((e=>h(e)&&d(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(h).sort(((e,t)=>i.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>h(e)&&d(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let s=o.name;i&&i.name&&(s+=` (plugin: ${i.name})`),e.choices.push({value:t,description:s})}}(t,f,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));return{languages:f,options:p};function h(e){return t||!("since"in e)||e.since&&i.gte(l,e.since)}function d(e){return r||!("deprecated"in e)||e.deprecated&&i.lt(l,e.deprecated)}}}},9077:e=>{e.exports=(e,t)=>Object.entries(e).map((([e,r])=>Object.assign({[t]:e},r)))},5115:e=>{const t=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");e.exports=function(e){const r=e.match(t);if(!r)return{content:e};const{startDelimiter:n,language:o,value:i="",endDelimiter:s}=r.groups;let u=o.trim()||"yaml";if("+++"===n&&(u="toml"),"yaml"!==u&&n!==s)return{content:e};const[a]=r;return{frontMatter:{type:"front-matter",lang:u,value:i,startDelimiter:n,endDelimiter:s,raw:a.replace(/\n$/,"")},content:a.replace(/[^\n]/g," ")+e.slice(a.length)}}},4652:e=>{e.exports=e=>e[e.length-1]},6920:e=>{e.exports=function(e,t){let r=0;for(let n=0;n{e.exports={i8:"2.3.2"}},7545:(e,t,r)=>{r.r(t),r.d(t,{existsSync:()=>n,readFileSync:()=>o,default:()=>i});const n=()=>!1,o=()=>"",i={existsSync:n,readFileSync:o}},9623:(e,t,r)=>{r.r(t),r.d(t,{default:()=>n});const n={EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}},6391:(e,t,r)=>{r.r(t),r.d(t,{default:()=>n});var n=r(5724),o={};for(const e in n)"default"!==e&&(o[e]=()=>n[e]);r.d(t,o)},8472:()=>{},2868:()=>{},3248:()=>{},6083:()=>{}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n](i,i.exports,r),i.loaded=!0,i.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(738)})()})));export default Et; diff --git a/node_modules/prettier/esm/parser-typescript.mjs b/node_modules/prettier/esm/parser-typescript.mjs new file mode 100644 index 000000000..89d3fb1e1 --- /dev/null +++ b/node_modules/prettier/esm/parser-typescript.mjs @@ -0,0 +1,22 @@ +var e=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r};var t=function(...e){let t;for(const[r,n]of e.entries())try{return{result:n()}}catch(e){0===r&&(t=e)}return{error:t}},r=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const n=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var i=n,a=n;i.default=a;const o=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=r(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=i(n)?2:1))}return t};var s=o,c=o;s.default=c;var u=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var l=e=>e[e.length-1];function d(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function p(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function f(e){var t={exports:{}};return e(t,t.exports),t.exports}var g=function(e){return e&&e.Math==Math&&e},m=g("object"==typeof globalThis&&globalThis)||g("object"==typeof window&&window)||g("object"==typeof self&&self)||g("object"==typeof _&&_)||function(){return this}()||Function("return this")(),y=function(e){try{return!!e()}catch(e){return!0}},v=!y((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),h={}.propertyIsEnumerable,D=Object.getOwnPropertyDescriptor,x={f:D&&!h.call({1:2},1)?function(e){var t=D(this,e);return!!t&&t.enumerable}:h},b=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S={}.toString,E=function(e){return S.call(e).slice(8,-1)},T="".split,C=y((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==E(e)?T.call(e,""):Object(e)}:Object,k=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},A=function(e){return C(k(e))},F=function(e){return"object"==typeof e?null!==e:"function"==typeof e},N=function(e,t){if(!F(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!F(n=r.call(e)))return n;if("function"==typeof(r=e.valueOf)&&!F(n=r.call(e)))return n;if(!t&&"function"==typeof(r=e.toString)&&!F(n=r.call(e)))return n;throw TypeError("Can't convert object to primitive value")},P=function(e){return Object(k(e))},w={}.hasOwnProperty,I=Object.hasOwn||function(e,t){return w.call(P(e),t)},O=m.document,M=F(O)&&F(O.createElement),L=!v&&!y((function(){return 7!=Object.defineProperty((e="div",M?O.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),R=Object.getOwnPropertyDescriptor,B={f:v?R:function(e,t){if(e=A(e),t=N(t,!0),L)try{return R(e,t)}catch(e){}if(I(e,t))return b(!x.f.call(e,t),e[t])}},j=function(e){if(!F(e))throw TypeError(String(e)+" is not an object");return e},J=Object.defineProperty,K={f:v?J:function(e,t,r){if(j(e),t=N(t,!0),j(r),L)try{return J(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},z=v?function(e,t,r){return K.f(e,t,b(1,r))}:function(e,t,r){return e[t]=r,e},U=function(e,t){try{z(m,e,t)}catch(r){m[e]=t}return t},V=m["__core-js_shared__"]||U("__core-js_shared__",{}),q=Function.toString;"function"!=typeof V.inspectSource&&(V.inspectSource=function(e){return q.call(e)});var W,H,G,Y,X=V.inspectSource,$=m.WeakMap,Q="function"==typeof $&&/native code/.test(X($)),Z=f((function(e){(e.exports=function(e,t){return V[e]||(V[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),ee=0,te=Math.random(),re=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++ee+te).toString(36)},ne=Z("keys"),ie={},ae=m.WeakMap;if(Q||V.state){var oe=V.state||(V.state=new ae),se=oe.get,ce=oe.has,ue=oe.set;W=function(e,t){if(ce.call(oe,e))throw new TypeError("Object already initialized");return t.facade=e,ue.call(oe,e,t),t},H=function(e){return se.call(oe,e)||{}},G=function(e){return ce.call(oe,e)}}else{var le=ne[Y="state"]||(ne[Y]=re(Y));ie[le]=!0,W=function(e,t){if(I(e,le))throw new TypeError("Object already initialized");return t.facade=e,z(e,le,t),t},H=function(e){return I(e,le)?e[le]:{}},G=function(e){return I(e,le)}}var de,_e,pe={set:W,get:H,has:G,enforce:function(e){return G(e)?H(e):W(e,{})},getterFor:function(e){return function(t){var r;if(!F(t)||(r=H(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}},fe=f((function(e){var t=pe.get,r=pe.enforce,n=String(String).split("String");(e.exports=function(e,t,i,a){var o,s=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof t||I(i,"name")||z(i,"name",t),(o=r(i)).source||(o.source=n.join("string"==typeof t?t:""))),e!==m?(s?!u&&e[t]&&(c=!0):delete e[t],c?e[t]=i:z(e,t,i)):c?e[t]=i:U(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||X(this)}))})),ge=m,me=function(e){return"function"==typeof e?e:void 0},ye=function(e,t){return arguments.length<2?me(ge[e])||me(m[e]):ge[e]&&ge[e][t]||m[e]&&m[e][t]},ve=Math.ceil,he=Math.floor,De=function(e){return isNaN(e=+e)?0:(e>0?he:ve)(e)},xe=Math.min,be=function(e){return e>0?xe(De(e),9007199254740991):0},Se=Math.max,Ee=Math.min,Te=function(e){return function(t,r,n){var i,a=A(t),o=be(a.length),s=function(e,t){var r=De(e);return r<0?Se(r+t,0):Ee(r,t)}(n,o);if(e&&r!=r){for(;o>s;)if((i=a[s++])!=i)return!0}else for(;o>s;s++)if((e||s in a)&&a[s]===r)return e||s||0;return!e&&-1}},Ce={includes:Te(!0),indexOf:Te(!1)}.indexOf,ke=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Ae={f:Object.getOwnPropertyNames||function(e){return function(e,t){var r,n=A(e),i=0,a=[];for(r in n)!I(ie,r)&&I(n,r)&&a.push(r);for(;t.length>i;)I(n,r=t[i++])&&(~Ce(a,r)||a.push(r));return a}(e,ke)}},Fe={f:Object.getOwnPropertySymbols},Ne=ye("Reflect","ownKeys")||function(e){var t=Ae.f(j(e)),r=Fe.f;return r?t.concat(r(e)):t},Pe=function(e,t){for(var r=Ne(t),n=K.f,i=B.f,a=0;a0&&Ke(c))u=Ve(e,t,c,be(c.length),u,a-1)-1;else{if(u>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[u]=c}u++}l++}return u},qe=Ve,We=ye("navigator","userAgent")||"",He=m.process,Ge=He&&He.versions,Ye=Ge&&Ge.v8;Ye?_e=(de=Ye.split("."))[0]<4?1:de[0]+de[1]:We&&(!(de=We.match(/Edge\/(\d+)/))||de[1]>=74)&&(de=We.match(/Chrome\/(\d+)/))&&(_e=de[1]);var Xe=_e&&+_e,$e=!!Object.getOwnPropertySymbols&&!y((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Xe&&Xe<41})),Qe=$e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ze=Z("wks"),et=m.Symbol,tt=Qe?et:et&&et.withoutSetter||re,rt=function(e){return I(Ze,e)&&($e||"string"==typeof Ze[e])||($e&&I(et,e)?Ze[e]=et[e]:Ze[e]=tt("Symbol."+e)),Ze[e]},nt=rt("species"),it=function(e,t){var r;return Ke(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!Ke(r.prototype)?F(r)&&null===(r=r[nt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)};Je({target:"Array",proto:!0},{flatMap:function(e){var t,r=P(this),n=be(r.length);return ze(e),(t=it(r,0)).length=qe(t,r,r,n,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var at,ot,st=Math.floor,ct=function(e,t){var r=e.length,n=st(r/2);return r<8?ut(e,t):lt(ct(e.slice(0,n),t),ct(e.slice(n),t),t)},ut=function(e,t){for(var r,n,i=e.length,a=1;a0;)e[n]=e[--n];n!==a++&&(e[n]=r)}return e},lt=function(e,t,r){for(var n=e.length,i=t.length,a=0,o=0,s=[];a3)){if(ft)return!0;if(mt)return mt<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)yt.push({k:t+n,v:r})}for(yt.sort((function(e,t){return t.v-e.v})),n=0;nString(r)?1:-1}}(e))).length,n=0;na;a++)if((s=y(e[a]))&&s instanceof It)return s;return new It(!1)}n=i.call(e)}for(c=n.next;!(u=c.call(n)).done;){try{s=y(u.value)}catch(e){throw wt(n),e}if("object"==typeof s&&s&&s instanceof It)return s}return new It(!1)};Je({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Ot(e,(function(e,r){!function(e,t,r){var n=N(t);n in e?K.f(e,n,b(0,r)):e[n]=r}(t,e,r)}),{AS_ENTRIES:!0}),t}});var Mt=void 0!==Mt?Mt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Lt(){throw new Error("setTimeout has not been defined")}function Rt(){throw new Error("clearTimeout has not been defined")}var Bt=Lt,jt=Rt;function Jt(e){if(Bt===setTimeout)return setTimeout(e,0);if((Bt===Lt||!Bt)&&setTimeout)return Bt=setTimeout,setTimeout(e,0);try{return Bt(e,0)}catch(t){try{return Bt.call(null,e,0)}catch(t){return Bt.call(this,e,0)}}}"function"==typeof Mt.setTimeout&&(Bt=setTimeout),"function"==typeof Mt.clearTimeout&&(jt=clearTimeout);var Kt,zt=[],Ut=!1,Vt=-1;function qt(){Ut&&Kt&&(Ut=!1,Kt.length?zt=Kt.concat(zt):Vt=-1,zt.length&&Wt())}function Wt(){if(!Ut){var e=Jt(qt);Ut=!0;for(var t=zt.length;t;){for(Kt=zt,zt=[];++Vt1)for(var r=1;rconsole.error("SEMVER",...e):()=>{};var sr={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},cr=f((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=sr,n=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let o=0;const s=(e,t,r)=>{const s=o++;or(s,t),a[e]=s,i[s]=t,n[s]=new RegExp(t,r?"g":void 0)};s("NUMERICIDENTIFIER","0|[1-9]\\d*"),s("NUMERICIDENTIFIERLOOSE","[0-9]+"),s("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),s("MAINVERSION",`(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`),s("MAINVERSIONLOOSE",`(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`),s("PRERELEASEIDENTIFIER",`(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`),s("PRERELEASEIDENTIFIERLOOSE",`(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`),s("PRERELEASE",`(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`),s("PRERELEASELOOSE",`(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`),s("BUILDIDENTIFIER","[0-9A-Za-z-]+"),s("BUILD",`(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`),s("FULLPLAIN",`v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`),s("FULL",`^${i[a.FULLPLAIN]}$`),s("LOOSEPLAIN",`[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`),s("LOOSE",`^${i[a.LOOSEPLAIN]}$`),s("GTLT","((?:<|>)?=?)"),s("XRANGEIDENTIFIERLOOSE",`${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),s("XRANGEIDENTIFIER",`${i[a.NUMERICIDENTIFIER]}|x|X|\\*`),s("XRANGEPLAIN",`[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`),s("XRANGEPLAINLOOSE",`[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`),s("XRANGE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`),s("XRANGELOOSE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`),s("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),s("COERCERTL",i[a.COERCE],!0),s("LONETILDE","(?:~>?)"),s("TILDETRIM",`(\\s*)${i[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",s("TILDE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`),s("TILDELOOSE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`),s("LONECARET","(?:\\^)"),s("CARETTRIM",`(\\s*)${i[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",s("CARET",`^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`),s("CARETLOOSE",`^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`),s("COMPARATORLOOSE",`^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`),s("COMPARATOR",`^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`),s("COMPARATORTRIM",`(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",s("HYPHENRANGE",`^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`),s("HYPHENRANGELOOSE",`^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`),s("STAR","(<|>)?=?\\s*\\*"),s("GTE0","^\\s*>=\\s*0.0.0\\s*$"),s("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const ur=["includePrerelease","loose","rtl"];var lr=e=>e?"object"!=typeof e?{loose:!0}:ur.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const dr=/^[0-9]+$/,_r=(e,t)=>{const r=dr.test(e),n=dr.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e_r(t,e)};const{MAX_LENGTH:fr,MAX_SAFE_INTEGER:gr}=sr,{re:mr,t:yr}=cr,{compareIdentifiers:vr}=pr;class hr{constructor(e,t){if(t=lr(t),e instanceof hr){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>fr)throw new TypeError(`version is longer than ${fr} characters`);or("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?mr[yr.LOOSE]:mr[yr.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>gr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>gr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>gr||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var Dr=hr;var xr=(e,t,r)=>new Dr(e,r).compare(new Dr(t,r));var br=(e,t,r)=>xr(e,t,r)<0;var Sr=(e,t,r)=>xr(e,t,r)>=0,Er="2.3.2",Tr=f((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Cr` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Cr` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Cr` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Cr` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Ar=["cliName","cliCategory","cliDescription"],Fr={compare:xr,lt:br,gte:Sr},Nr=Er,Pr={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:kr}.options;var wr={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=Nr.split("-",1)[0],a=e.flatMap((e=>e.languages||[])).filter(u),o=(s=Object.assign({},...e.map((({options:e})=>e)),Pr),c="name",Object.entries(s).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>u(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(u).sort(((e,t)=>Fr.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>u(e)&&l(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const a=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;a&&a.name&&(o+=` (plugin: ${a.name})`),e.choices.push({value:t,description:o})}}(t,a,e));const r=Object.fromEntries(e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).map((e=>[e.name,e.defaultOptions[t.name]])));return Object.assign(Object.assign({},t),{},{pluginDefaults:r})}));var s,c;return{languages:a,options:o};function u(e){return t||!("since"in e)||e.since&&Fr.gte(i,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&Fr.lt(i,e.deprecated)}}};const{getSupportInfo:Ir}=wr,Or=/[^\x20-\x7F]/;function Mr(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:a}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:a.quote}return s}function Yr(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,a)=>i===n?i:a===t?"\\"+a:a||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function Xr(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let r=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");r.length>20&&(r=r.slice(0,19)+"\u2026");return t+(r?" "+r:"")}(e)}var $r={inferParserByLanguage:function(e,t){const{languages:r}=Ir({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return n&&n.parsers[0]},getStringWidth:function(e){return e?Or.test(e)?s(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(`(${u(t)})+`,"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(`(${u(t)})+`,"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:l,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:qr,getNextNonSpaceNonCommentCharacterIndex:Wr,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Wr(e,t,r))},skip:Mr,skipWhitespace:Lr,skipSpaces:Rr,skipToLineEnd:Br,skipEverythingButNewLine:jr,skipInlineComment:Jr,skipTrailingComment:Kr,skipNewline:zr,isNextLineEmptyAfterIndex:Vr,isNextLineEmpty:function(e,t,r){return Vr(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Rr(e,n,{backwards:!0}),n=zr(e,n,{backwards:!0}),n=Rr(e,n,{backwards:!0}),n!==zr(e,n,{backwards:!0})},hasNewline:Ur,hasNewlineInRange:function(e,t,r){for(let n=t;n0},createGroupIdMapper:function(e){const t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}};const{isNonEmptyArray:Qr}=$r;function Zr(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(Qr(t))return Zr(t[0])}return e.range?e.range[0]:e.start}function en(e){return e.range?e.range[1]:e.end}function tn(e,t){return Zr(e)===Zr(t)}var rn={locStart:Zr,locEnd:en,hasSameLocStart:tn,hasSameLoc:function(e,t){return tn(e,t)&&function(e,t){return en(e)===en(t)}(e,t)}},nn=f((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function r(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=r(t)}while(t);return!1},trailingStatement:r}}()})),an=f((function(e){!function(){var t,r,n,i,a,o;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),o=0;o<128;++o)i[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:r.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?a[e]:r.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?a[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()})),on=f((function(e){!function(){var t=an;function r(e,t){return!(!t&&"yield"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function a(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function o(e){var r,n,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(r=1,n=e.length;r=n)return!1;if(!(56320<=(a=e.charCodeAt(r))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!o(i))return!1;o=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:i,isReservedWordES6:a,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:o,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return o(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!a(e,t)}}}()}));const sn=f((function(e,t){t.ast=nn,t.code=an,t.keyword=on})).keyword.isIdentifierNameES5,{getLast:cn,hasNewline:un,skipWhitespace:ln,isNonEmptyArray:dn,isNextLineEmptyAfterIndex:_n}=$r,{locStart:pn,locEnd:fn,hasSameLocStart:gn}=rn,mn=new RegExp("^(?:(?=.)\\s)*:"),yn=new RegExp("^(?:(?=.)\\s)*::");function vn(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function hn(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const Dn=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function xn(e){return e&&Dn.has(e.type)}function bn(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Sn(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function En(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Tn(e){return wn(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Cn(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function kn(e){return"get"===e.kind||"set"===e.kind}function An(e){return kn(e)||gn(e,e.value)}const Fn=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Nn=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Pn=/^(skip|[fx]?(it|describe|test))$/;function wn(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function In(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function On(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Mn(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Ln(e){return e.extra?e.extra.raw:e.raw}const Rn={"==":!0,"!=":!0,"===":!0,"!==":!0},Bn={"*":!0,"/":!0,"%":!0},jn={">>":!0,">>>":!0,"<<":!0};const Jn={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const r of t)Jn[r]=e;function Kn(e){return Jn[e]}const zn=new WeakMap;function Un(e){if(zn.has(e))return zn.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),zn.set(e,t),t}const Vn=new WeakMap;function qn(e){if(Vn.has(e))return Vn.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),Vn.set(e,t),t}function Wn(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function Hn(e){return e&&(e.prettierIgnore||Xn(e,Gn.PrettierIgnore))}const Gn={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Yn=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(r,n,i)=>!(e&Gn.Leading&&!r.leading||e&Gn.Trailing&&!r.trailing||e&Gn.Dangling&&(r.leading||r.trailing)||e&Gn.Block&&!vn(r)||e&Gn.Line&&!hn(r)||e&Gn.First&&0!==n||e&Gn.Last&&n!==i.length-1||e&Gn.PrettierIgnore&&!Wn(r)||t&&!t(r))};function Xn(e,t,r){if(!e||!dn(e.comments))return!1;const n=Yn(t,r);return!n||e.comments.some(n)}function $n(e,t,r){if(!e||!Array.isArray(e.comments))return[];const n=Yn(t,r);return n?e.comments.filter(n):e.comments}function Qn(e){return wn(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Zn={getFunctionParameters:Un,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let n=0;const i=e=>t(e,n++);r.this&&e.call(i,"this"),Array.isArray(r.parameters)?e.each(i,"parameters"):Array.isArray(r.params)&&e.each(i,"params"),r.rest&&e.call(i,"rest")},getCallArguments:qn,iterateCallArgumentsPath:function(e,t){const r=e.getValue();"ImportExpression"===r.type?(e.call((e=>t(e,0)),"source"),r.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=Un(e);return t.length>0&&"RestElement"===cn(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&xn(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return e&&vn(e[0])&&yn.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&dn(e.trailingComments)&&vn(e.trailingComments[0])&&mn.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return Cn(t)?Hn(t):Xn(t,Gn.Leading,(t=>un(e,fn(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||wn(e)||In(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,r){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,r)));const n=r(t);return"boolean"==typeof n?n:Object.values(t).some((t=>e(t,r)))},hasIgnoreComment:function(e){return Hn(e.getValue())},hasNodeIgnoreComment:Hn,identity:function(e){return e},isBinaryish:function(e){return Fn.has(e.type)},isBlockComment:vn,isCallLikeExpression:Qn,isLineComment:hn,isPrettierIgnoreComment:Wn,isCallExpression:wn,isMemberExpression:In,isExportDeclaration:xn,isFlowAnnotationComment:function(e,t){const r=pn(t),n=ln(e,fn(t));return!1!==n&&"/*"===e.slice(r,r+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(En(r)){if(t+=1,t>1)return!0}else if(wn(r))for(const e of r.arguments)if(En(e))return!0;return!1},isFunctionNotation:An,isFunctionOrArrowExpression:En,isGetterOrSetter:kn,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&r.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJsxNode:Cn,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return wn(t)&&wn(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const n=t=>e(t,r+1),i="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(i&&i.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(n):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||n(e))):Qn(t)?("ImportExpression"===t.type||e(t.callee,r))&&qn(t).every(n):In(t)?e(t.object,r)&&e(t.property,r):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,r):e(t.argument,r)))},isMemberish:function(e){return In(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:bn,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&bn(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||An(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Nn.has(e.type))},isSimpleNumber:On,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const r=e[t];return 0!==r.length&&r.every((e=>{if(Xn(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(In(e)){let t=e;for(;In(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,Xn(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:Sn,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&Sn(e.key)&&Ln(e.key).slice(1,-1)===e.key.value&&(sn(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||On(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&Mn(e)||"TaggedTemplateExpression"===e.type&&Mn(e.quasi))&&!un(t,pn(e),{backwards:!0})},isTestCall:function e(t,r){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(Tn(t)&&r&&e(r))return En(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return Tn(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&Pn.test(t.callee.name)||function(e){return In(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&Pn.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||Sn(t.arguments[0])))return!(t.arguments[2]&&!bn(t.arguments[2]))&&((2===t.arguments.length?En(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&Un(t.arguments[1]).length<=1)||Tn(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!Cn(r.expression))return!1;const n=t.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||gn(e,e.typeAnnotation))},isNextLineEmpty:(e,{originalText:t})=>_n(t,fn(e)),needsHardlineAfterDanglingComment:function(e){if(!Xn(e))return!1;const t=cn($n(e,Gn.Dangling));return t&&!vn(t)},rawText:Ln,shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(jn[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Kn(t)===Kn(e)&&("**"!==e&&((!Rn[e]||!Rn[t])&&(!("%"===t&&Bn[e]||"%"===e&&Bn[t])&&((t===e||!Bn[t]||!Bn[e])&&(!jn[e]||!jn[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return r;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,r);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,r);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,r);case"ConditionalExpression":return e(t.test,r);case"UpdateExpression":return!t.prefix&&e(t.argument,r);case"BindExpression":return t.object&&e(t.object,r);case"SequenceExpression":return e(t.expressions[0],r);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,r);default:return!1}},getPrecedence:Kn,hasComment:Xn,getComments:$n,CommentCheckFlags:Gn};const{getLast:ei,hasNewline:ti,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:ri,getNextNonSpaceNonCommentCharacter:ni,hasNewlineInRange:ii,addLeadingComment:ai,addTrailingComment:oi,addDanglingComment:si,getNextNonSpaceNonCommentCharacterIndex:ci,isNonEmptyArray:ui}=$r,{isBlockComment:li,getFunctionParameters:di,isPrettierIgnoreComment:_i,isJsxNode:pi,hasFlowShorthandAnnotationComment:fi,hasFlowAnnotationComment:gi,hasIgnoreComment:mi,isCallLikeExpression:yi,getCallArguments:vi,isCallExpression:hi,isMemberExpression:Di,isObjectProperty:xi}=Zn,{locStart:bi,locEnd:Si}=rn;function Ei(e,t){const r=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));r?ai(r,t):si(e,t)}function Ti(e,t){"BlockStatement"===e.type?Ei(e,t):ai(e,t)}function Ci({comment:e,followingNode:t}){return!(!t||!ta(e))&&(ai(t,e),!0)}function ki({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){if(!r||"IfStatement"!==r.type||!n)return!1;return")"===ni(i,e,Si)?(oi(t,e),!0):t===r.consequent&&n===r.alternate?("BlockStatement"===t.type?oi(t,e):si(r,e),!0):"BlockStatement"===n.type?(Ei(n,e),!0):"IfStatement"===n.type?(Ti(n.consequent,e),!0):r.consequent===n&&(ai(n,e),!0)}function Ai({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){if(!r||"WhileStatement"!==r.type||!n)return!1;return")"===ni(i,e,Si)?(oi(t,e),!0):"BlockStatement"===n.type?(Ei(n,e),!0):r.body===n&&(ai(n,e),!0)}function Fi({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return!(!r||"TryStatement"!==r.type&&"CatchClause"!==r.type||!n)&&("CatchClause"===r.type&&t?(oi(t,e),!0):"BlockStatement"===n.type?(Ei(n,e),!0):"TryStatement"===n.type?(Ti(n.finalizer,e),!0):"CatchClause"===n.type&&(Ti(n.body,e),!0))}function Ni({comment:e,enclosingNode:t,followingNode:r}){return!(!Di(t)||!r||"Identifier"!==r.type)&&(ai(t,e),!0)}function Pi({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){const a=t&&!ii(i,Si(t),bi(e));return!(t&&a||!r||"ConditionalExpression"!==r.type&&"TSConditionalType"!==r.type||!n)&&(ai(n,e),!0)}function wi({comment:e,precedingNode:t,enclosingNode:r}){return!(!xi(r)||!r.shorthand||r.key!==t||"AssignmentPattern"!==r.value.type)&&(oi(r.value.left,e),!0)}function Ii({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){if(r&&("ClassDeclaration"===r.type||"ClassExpression"===r.type||"DeclareClass"===r.type||"DeclareInterface"===r.type||"InterfaceDeclaration"===r.type||"TSInterfaceDeclaration"===r.type)){if(ui(r.decorators)&&(!n||"Decorator"!==n.type))return oi(ei(r.decorators),e),!0;if(r.body&&n===r.body)return Ei(r.body,e),!0;if(n)for(const i of["implements","extends","mixins"])if(r[i]&&n===r[i][0])return!t||t!==r.id&&t!==r.typeParameters&&t!==r.superClass?si(r,e,i):oi(t,e),!0}return!1}function Oi({comment:e,precedingNode:t,enclosingNode:r,text:n}){return(r&&t&&("Property"===r.type||"TSDeclareMethod"===r.type||"TSAbstractMethodDefinition"===r.type)&&"Identifier"===t.type&&r.key===t&&":"!==ni(n,t,Si)||!(!t||!r||"Decorator"!==t.type||"ClassMethod"!==r.type&&"ClassProperty"!==r.type&&"PropertyDefinition"!==r.type&&"TSAbstractClassProperty"!==r.type&&"TSAbstractMethodDefinition"!==r.type&&"TSDeclareMethod"!==r.type&&"MethodDefinition"!==r.type))&&(oi(t,e),!0)}function Mi({comment:e,precedingNode:t,enclosingNode:r,text:n}){return"("===ni(n,e,Si)&&(!(!t||!r||"FunctionDeclaration"!==r.type&&"FunctionExpression"!==r.type&&"ClassMethod"!==r.type&&"MethodDefinition"!==r.type&&"ObjectMethod"!==r.type)&&(oi(t,e),!0))}function Li({comment:e,enclosingNode:t,text:r}){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const n=ci(r,e,Si);return!1!==n&&"=>"===r.slice(n,n+2)&&(si(t,e),!0)}function Ri({comment:e,enclosingNode:t,text:r}){return")"===ni(r,e,Si)&&(t&&(ea(t)&&0===di(t).length||yi(t)&&0===vi(t).length)?(si(t,e),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==di(t.value).length)&&(si(t.value,e),!0))}function Bi({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){if(t&&"FunctionTypeParam"===t.type&&r&&"FunctionTypeAnnotation"===r.type&&n&&"FunctionTypeParam"!==n.type)return oi(t,e),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&r&&ea(r)&&")"===ni(i,e,Si))return oi(t,e),!0;if(r&&"FunctionDeclaration"===r.type&&n&&"BlockStatement"===n.type){const t=(()=>{const e=di(r);if(e.length>0)return ri(i,Si(ei(e)));const t=ri(i,Si(r.id));return!1!==t&&ri(i,t+1)})();if(bi(e)>t)return Ei(n,e),!0}return!1}function ji({comment:e,enclosingNode:t}){return!(!t||"ImportSpecifier"!==t.type)&&(ai(t,e),!0)}function Ji({comment:e,enclosingNode:t}){return!(!t||"LabeledStatement"!==t.type)&&(ai(t,e),!0)}function Ki({comment:e,enclosingNode:t}){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(oi(t,e),!0)}function zi({comment:e,precedingNode:t,enclosingNode:r}){return!!(hi(r)&&t&&r.callee===t&&r.arguments.length>0)&&(ai(r.arguments[0],e),!0)}function Ui({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return!r||"UnionTypeAnnotation"!==r.type&&"TSUnionType"!==r.type?(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&_i(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0),!1):(_i(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!t&&(oi(t,e),!0))}function Vi({comment:e,enclosingNode:t}){return!!xi(t)&&(ai(t,e),!0)}function qi({comment:e,enclosingNode:t,followingNode:r,ast:n,isLastComment:i}){return n&&n.body&&0===n.body.length?(i?si(n,e):ai(n,e),!0):t&&"Program"===t.type&&0===t.body.length&&!ui(t.directives)?(i?si(t,e):ai(t,e),!0):!(!r||"Program"!==r.type||0!==r.body.length||!t||"ModuleExpression"!==t.type)&&(si(r,e),!0)}function Wi({comment:e,enclosingNode:t}){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(ai(t,e),!0)}function Hi({comment:e,precedingNode:t,enclosingNode:r,text:n}){return!!(t&&"ImportSpecifier"===t.type&&r&&"ImportDeclaration"===r.type&&ti(n,Si(e)))&&(oi(t,e),!0)}function Gi({comment:e,enclosingNode:t}){return!(!t||"AssignmentPattern"!==t.type)&&(ai(t,e),!0)}function Yi({comment:e,enclosingNode:t}){return!(!t||"TypeAlias"!==t.type)&&(ai(t,e),!0)}function Xi({comment:e,enclosingNode:t,followingNode:r}){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!r||"ObjectExpression"!==r.type&&"ArrayExpression"!==r.type&&"TemplateLiteral"!==r.type&&"TaggedTemplateExpression"!==r.type&&!li(e))&&(ai(r,e),!0)}function $i({comment:e,enclosingNode:t,followingNode:r,text:n}){return!(r||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==ni(n,e,Si))&&(oi(t,e),!0)}function Qi({comment:e,enclosingNode:t,followingNode:r}){if(_i(e)&&t&&"TSMappedType"===t.type&&r&&"TSTypeParameter"===r.type&&r.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Zi({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return!(!r||"TSMappedType"!==r.type)&&(n&&"TSTypeParameter"===n.type&&n.name?(ai(n.name,e),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(oi(t.constraint,e),!0))}function ea(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function ta(e){return li(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var ra={handleOwnLineComment:function(e){return[Qi,Bi,Ni,ki,Ai,Fi,Ii,ji,Wi,Ui,qi,Hi,Gi,Oi,Ji].some((t=>t(e)))},handleEndOfLineComment:function(e){return[Ci,Bi,Pi,ji,ki,Ai,Fi,Ii,Ji,zi,Vi,qi,Yi,Xi].some((t=>t(e)))},handleRemainingComment:function(e){return[Qi,ki,Ai,wi,Ri,Oi,qi,Li,Mi,Zi,Ki,$i].some((t=>t(e)))},isTypeCastComment:ta,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===di(e.value).length&&!e.value.returnType&&!ui(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(pi(t)||fi(t)||hi(r)&&(gi(t.leadingComments)||gi(t.trailingComments)))||r&&("JSXSpreadAttribute"===r.type||"JSXSpreadChild"===r.type||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type||("ClassDeclaration"===r.type||"ClassExpression"===r.type)&&r.superClass===t))&&(!mi(e)||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)}};const{getLast:na,getNextNonSpaceNonCommentCharacter:ia}=$r,{locStart:aa,locEnd:oa}=rn,{isTypeCastComment:sa}=ra;function ca(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=ca(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=ca(e.object)):"TSNonNullExpression"===e.type&&(e.expression=ca(e.expression)),e}function ua(e,t){let r;if(Array.isArray(e))r=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;r=Object.entries(e)}for(const[n,i]of r)e[n]=ua(i,t);return Array.isArray(e)?e:t(e)||e}function la(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function da(e){return la(e)?da({type:"LogicalExpression",operator:e.operator,left:da({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[aa(e.left),oa(e.right.left)]}),right:e.right.right,range:[aa(e),oa(e)]}):e}var _a,pa=function(t,r){if("typescript"===r.parser&&r.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:i}=r.tsParseResult;t=ua(t,(t=>{const r=n.get(t);if(!r)return;const a=r.decorators;if(!Array.isArray(a))return;const o=i.get(r);if(o!==t)return;const s=o.decorators;if(!Array.isArray(s)||s.length!==a.length||a.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:t,end:r}=o.loc;throw e("Leading decorators must be attached to a class declaration",{start:{line:t.line,column:t.column+1},end:{line:r.line,column:r.column+1}})}}))}if("typescript"!==r.parser&&"flow"!==r.parser&&"espree"!==r.parser&&"meriyah"!==r.parser){const e=new Set;t=ua(t,(t=>{t.leadingComments&&t.leadingComments.some(sa)&&e.add(aa(t))})),t=ua(t,(t=>{if("ParenthesizedExpression"===t.type){const{expression:r}=t;if("TypeCastExpression"===r.type)return r.range=t.range,r;const n=aa(t);if(!e.has(n))return r.extra=Object.assign(Object.assign({},r.extra),{},{parenthesized:!0}),r}}))}return t=ua(t,(e=>{switch(e.type){case"ChainExpression":return ca(e.expression);case"LogicalExpression":if(la(e))return da(e);break;case"VariableDeclaration":{const t=na(e.declarations);t&&t.init&&function(e,t){if(";"===r.originalText[oa(t)])return;e.range=[aa(e),oa(t)]}(e,t);break}case"TSParenthesizedType":return e.typeAnnotation.range=[aa(e),oa(e)],e.typeAnnotation;case"TSTypeParameter":if("string"==typeof e.name){const t=aa(e);e.name={type:"Identifier",name:e.name,range:[t,t+e.name.length]}}break;case"SequenceExpression":{const t=na(e.expressions);e.range=[aa(e),Math.min(oa(t),oa(e))];break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===ia(r.originalText,e.key,oa)&&(e.optional=!0)}}))};function fa(){if(void 0===_a){var e=new ArrayBuffer(2),t=new Uint8Array(e),r=new Uint16Array(e);if(t[0]=1,t[1]=2,258===r[0])_a="BE";else{if(513!==r[0])throw new Error("unable to figure out endianess");_a="LE"}}return _a}function ga(){return void 0!==Mt.location?Mt.location.hostname:""}function ma(){return[]}function ya(){return 0}function va(){return Number.MAX_VALUE}function ha(){return Number.MAX_VALUE}function Da(){return[]}function xa(){return"Browser"}function ba(){return void 0!==Mt.navigator?Mt.navigator.appVersion:""}function Sa(){}function Ea(){}function Ta(){return"javascript"}function Ca(){return"browser"}function ka(){return"/tmp"}var Aa=ka,Fa={EOL:"\n",arch:Ta,platform:Ca,tmpdir:Aa,tmpDir:ka,networkInterfaces:Sa,getNetworkInterfaces:Ea,release:ba,type:xa,cpus:Da,totalmem:ha,freemem:va,uptime:ya,loadavg:ma,hostname:ga,endianness:fa},Na=Object.freeze({__proto__:null,endianness:fa,hostname:ga,loadavg:ma,uptime:ya,freemem:va,totalmem:ha,cpus:Da,type:xa,release:ba,networkInterfaces:Sa,getNetworkInterfaces:Ea,arch:Ta,platform:Ca,tmpDir:ka,tmpdir:Aa,EOL:"\n",default:Fa});const Pa=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};var wa=Pa;wa.graceful=e=>"string"==typeof e&&Pa(e)||"\n";var Ia=p(Na),Oa=function(e){const t=e.match(Ua);return t?t[0].trimLeft():""},Ma=function(e){const t=e.match(Ua);return t&&t[0]?e.substring(t[0].length):e},La=function(e){return Xa(e).pragmas},Ra=Xa,Ba=function({comments:e="",pragmas:t={}}){const r=(0,Ja().default)(e)||ja().EOL,n=" *",i=Object.keys(t),a=i.map((e=>$a(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+r)).join("");if(!e){if(0===i.length)return"";if(1===i.length&&!Array.isArray(t[i[0]])){const e=t[i[0]];return`/** ${$a(i[0],e)[0]} */`}}const o=e.split(r).map((e=>` * ${e}`)).join(r)+r;return"/**"+r+(e?o:"")+(e&&i.length?n+r:"")+a+" */"};function ja(){const e=Ia;return ja=function(){return e},e}function Ja(){const e=(t=wa)&&t.__esModule?t:{default:t};var t;return Ja=function(){return e},e}const Ka=/\*\/$/,za=/^\/\*\*/,Ua=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Va=/(^|\s+)\/\/([^\r\n]*)/g,qa=/^(\r?\n)+/,Wa=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Ha=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Ga=/(\r?\n|^) *\* ?/g,Ya=[];function Xa(e){const t=(0,Ja().default)(e)||ja().EOL;e=e.replace(za,"").replace(Ka,"").replace(Ga,"$1");let r="";for(;r!==e;)r=e,e=e.replace(Wa,`${t}$1 $2${t}`);e=e.replace(qa,"").trimRight();const n=Object.create(null),i=e.replace(Ha,"").replace(qa,"").trimRight();let a;for(;a=Ha.exec(e);){const e=a[2].replace(Va,"");"string"==typeof n[a[1]]||Array.isArray(n[a[1]])?n[a[1]]=Ya.concat(n[a[1]],e):n[a[1]]=e}return{comments:i,pragmas:n}}function $a(e,t){return Ya.concat(t).map((t=>`@${e} ${t}`.trim()))}var Qa=Object.defineProperty({extract:Oa,strip:Ma,parse:La,parseWithComments:Ra,print:Ba},"__esModule",{value:!0});var Za={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:eo,strip:to,extract:ro,print:no}=Qa,{getShebang:io}=$r,{normalizeEndOfLine:ao}=Za;function oo(e){const t=io(e);t&&(e=e.slice(t.length+1));const r=ro(e),{pragmas:n,comments:i}=eo(r);return{shebang:t,text:e,pragmas:n,comments:i}}var so={hasPragma:function(e){const t=Object.keys(oo(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=oo(e),a=to(r),o=no({pragmas:Object.assign({format:""},n),comments:i.trimStart()});return(t?`${t}\n`:"")+ao(o)+(a.startsWith("\n")?"\n":"\n\n")+a}};const{hasPragma:co}=so,{locStart:uo,locEnd:lo}=rn;var _o=function(e){return e="function"==typeof e?{parse:e}:e,Object.assign({astFormat:"estree",hasPragma:co,locStart:uo,locEnd:lo},e)};var po=function(e){return"#"===e.charAt(0)&&"!"===e.charAt(1)?"//"+e.slice(2):e},fo=1e3,go=60*fo,mo=60*go,yo=24*mo,vo=7*yo,ho=365.25*yo,Do=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*ho;case"weeks":case"week":case"w":return r*vo;case"days":case"day":case"d":return r*yo;case"hours":case"hour":case"hrs":case"hr":case"h":return r*mo;case"minutes":case"minute":case"mins":case"min":case"m":return r*go;case"seconds":case"second":case"secs":case"sec":case"s":return r*fo;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=yo)return xo(e,t,yo,"day");if(t>=mo)return xo(e,t,mo,"hour");if(t>=go)return xo(e,t,go,"minute");if(t>=fo)return xo(e,t,fo,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=yo)return Math.round(e/yo)+"d";if(t>=mo)return Math.round(e/mo)+"h";if(t>=go)return Math.round(e/go)+"m";if(t>=fo)return Math.round(e/fo)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function xo(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}var bo=function(e){function t(e){let n,i=null;function a(...e){if(!a.enabled)return;const r=a,i=Number(new Date),o=i-(n||i);r.diff=o,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if("%%"===n)return"%";s++;const a=t.formatters[i];if("function"==typeof a){const t=e[s];n=a.call(r,t),e.splice(s,1),s--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=r,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null===i?t.enabled(e):i,set:e=>{i=e}}),"function"==typeof t.init&&t.init(a),a}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==ar&&"env"in ar&&(e=ar.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=bo(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}));function Eo(){return!1}function To(){throw new Error("tty.ReadStream is not implemented")}function Co(){throw new Error("tty.ReadStream is not implemented")}var ko={isatty:Eo,ReadStream:To,WriteStream:Co},Ao=Object.freeze({__proto__:null,isatty:Eo,ReadStream:To,WriteStream:Co,default:ko}),Fo=[],No=[],Po="undefined"!=typeof Uint8Array?Uint8Array:Array,wo=!1;function Io(){wo=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+Fo[i>>12&63]+Fo[i>>6&63]+Fo[63&i]);return a.join("")}function Mo(e){var t;wo||Io();for(var r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;sc?c:s+o));return 1===n?(t=e[r-1],i+=Fo[t>>2],i+=Fo[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=Fo[t>>10],i+=Fo[t>>4&63],i+=Fo[t<<2&63],i+="="),a.push(i),a.join("")}function Lo(e,t,r,n,i){var a,o,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,_=r?-1:1,p=e[t+d];for(d+=_,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=_,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=256*o+e[t+d],d+=_,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)}function Ro(e,t,r,n,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,_=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?_/c:_*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=f,o/=256,u-=8);e[r+p-f]|=128*g}var Bo={}.toString,jo=Array.isArray||function(e){return"[object Array]"==Bo.call(e)};Uo.TYPED_ARRAY_SUPPORT=void 0===Mt.TYPED_ARRAY_SUPPORT||Mt.TYPED_ARRAY_SUPPORT;var Jo=Ko();function Ko(){return Uo.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function zo(e,t){if(Ko()=Ko())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ko().toString(16)+" bytes");return 0|e}function Yo(e){return!(null==e||!e._isBuffer)}function Xo(e,t){if(Yo(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return bs(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ss(e).length;default:if(n)return bs(e).length;t=(""+t).toLowerCase(),n=!0}}function $o(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ds(this,t,r);case"utf8":case"utf-8":return cs(this,t,r);case"ascii":return us(this,t,r);case"latin1":case"binary":return ls(this,t,r);case"base64":return ss(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _s(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Qo(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Zo(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=Uo.from(t,n)),Yo(t))return 0===t.length?-1:es(e,t,r,n,i);if("number"==typeof t)return t&=255,Uo.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):es(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function es(e,t,r,n,i){var a,o=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,_=0;_i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function ss(e,t,r){return 0===t&&r===e.length?Mo(e):Mo(e.slice(t,r))}function cs(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Uo.prototype.compare=function(e,t,r,n,i){if(!Yo(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return ts(this,e,t,r);case"utf8":case"utf-8":return rs(this,e,t,r);case"ascii":return ns(this,e,t,r);case"latin1":case"binary":return is(this,e,t,r);case"base64":return as(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return os(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},Uo.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function us(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function fs(e,t,r,n,i,a){if(!Yo(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function gs(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function ms(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function ys(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function vs(e,t,r,n,i){return i||ys(e,0,r,4),Ro(e,t,r,n,23,4),r+4}function hs(e,t,r,n,i){return i||ys(e,0,r,8),Ro(e,t,r,n,52,8),r+8}Uo.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},Uo.prototype.readUInt8=function(e,t){return t||ps(e,1,this.length),this[e]},Uo.prototype.readUInt16LE=function(e,t){return t||ps(e,2,this.length),this[e]|this[e+1]<<8},Uo.prototype.readUInt16BE=function(e,t){return t||ps(e,2,this.length),this[e]<<8|this[e+1]},Uo.prototype.readUInt32LE=function(e,t){return t||ps(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Uo.prototype.readUInt32BE=function(e,t){return t||ps(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Uo.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||ps(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},Uo.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||ps(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},Uo.prototype.readInt8=function(e,t){return t||ps(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Uo.prototype.readInt16LE=function(e,t){t||ps(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Uo.prototype.readInt16BE=function(e,t){t||ps(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Uo.prototype.readInt32LE=function(e,t){return t||ps(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Uo.prototype.readInt32BE=function(e,t){return t||ps(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Uo.prototype.readFloatLE=function(e,t){return t||ps(e,4,this.length),Lo(this,e,!0,23,4)},Uo.prototype.readFloatBE=function(e,t){return t||ps(e,4,this.length),Lo(this,e,!1,23,4)},Uo.prototype.readDoubleLE=function(e,t){return t||ps(e,8,this.length),Lo(this,e,!0,52,8)},Uo.prototype.readDoubleBE=function(e,t){return t||ps(e,8,this.length),Lo(this,e,!1,52,8)},Uo.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||fs(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},Uo.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,1,255,0),Uo.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Uo.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,2,65535,0),Uo.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):gs(this,e,t,!0),t+2},Uo.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,2,65535,0),Uo.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):gs(this,e,t,!1),t+2},Uo.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,4,4294967295,0),Uo.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ms(this,e,t,!0),t+4},Uo.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,4,4294967295,0),Uo.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ms(this,e,t,!1),t+4},Uo.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);fs(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},Uo.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);fs(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},Uo.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,1,127,-128),Uo.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Uo.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,2,32767,-32768),Uo.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):gs(this,e,t,!0),t+2},Uo.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,2,32767,-32768),Uo.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):gs(this,e,t,!1),t+2},Uo.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,4,2147483647,-2147483648),Uo.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ms(this,e,t,!0),t+4},Uo.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||fs(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Uo.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ms(this,e,t,!1),t+4},Uo.prototype.writeFloatLE=function(e,t,r){return vs(this,e,t,!0,r)},Uo.prototype.writeFloatBE=function(e,t,r){return vs(this,e,t,!1,r)},Uo.prototype.writeDoubleLE=function(e,t,r){return hs(this,e,t,!0,r)},Uo.prototype.writeDoubleBE=function(e,t,r){return hs(this,e,t,!1,r)},Uo.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!Uo.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Ss(e){return function(e){var t,r,n,i,a,o;wo||Io();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[s-2]?2:"="===e[s-1]?1:0,o=new Po(3*s/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=255&i;return 2===a?(i=No[e.charCodeAt(t)]<<2|No[e.charCodeAt(t+1)]>>4,o[c++]=255&i):1===a&&(i=No[e.charCodeAt(t)]<<10|No[e.charCodeAt(t+1)]<<4|No[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Ds,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Es(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Ts(e){return null!=e&&(!!e._isBuffer||Cs(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Cs(e.slice(0,0))}(e))}function Cs(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var ks=Object.freeze({__proto__:null,Buffer:Uo,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),Uo.alloc(+e)},isBuffer:Ts,kMaxLength:Jo}),As="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},Fs=/%[sdj%]/g;function Ns(e){if(!Ws(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),zs(t)?r.showHidden=t:t&&sc(r,t),Gs(r.showHidden)&&(r.showHidden=!1),Gs(r.depth)&&(r.depth=2),Gs(r.colors)&&(r.colors=!1),Gs(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ls),Bs(r,e,r.depth)}function Ls(e,t){var r=Ms.styles[t];return r?"\x1b["+Ms.colors[r][0]+"m"+e+"\x1b["+Ms.colors[r][1]+"m":e}function Rs(e,t){return e}function Bs(e,t,r){if(e.customInspect&&t&&Zs(t.inspect)&&t.inspect!==Ms&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ws(n)||(n=Bs(e,n,r)),n}var i=function(e,t){if(Gs(t))return e.stylize("undefined","undefined");if(Ws(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(qs(t))return e.stylize(""+t,"number");if(zs(t))return e.stylize(""+t,"boolean");if(Us(t))return e.stylize("null","null")}(e,t);if(i)return i;var a=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Qs(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return js(t);if(0===a.length){if(Zs(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Ys(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if($s(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Qs(t))return js(t)}var c,u="",l=!1,d=["{","}"];(Ks(t)&&(l=!0,d=["[","]"]),Zs(t))&&(u=" [Function"+(t.name?": "+t.name:"")+"]");return Ys(t)&&(u=" "+RegExp.prototype.toString.call(t)),$s(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Qs(t)&&(u=" "+js(t)),0!==a.length||l&&0!=t.length?r<0?Ys(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=l?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,u,d)):d[0]+u+d[1]}function js(e){return"["+Error.prototype.toString.call(e)+"]"}function Js(e,t,r,n,i,a){var o,s,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),cc(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(s=Us(r)?Bs(e,c.value,null):Bs(e,c.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Gs(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function Ks(e){return Array.isArray(e)}function zs(e){return"boolean"==typeof e}function Us(e){return null===e}function Vs(e){return null==e}function qs(e){return"number"==typeof e}function Ws(e){return"string"==typeof e}function Hs(e){return"symbol"==typeof e}function Gs(e){return void 0===e}function Ys(e){return Xs(e)&&"[object RegExp]"===rc(e)}function Xs(e){return"object"==typeof e&&null!==e}function $s(e){return Xs(e)&&"[object Date]"===rc(e)}function Qs(e){return Xs(e)&&("[object Error]"===rc(e)||e instanceof Error)}function Zs(e){return"function"==typeof e}function ec(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function tc(e){return Uo.isBuffer(e)}function rc(e){return Object.prototype.toString.call(e)}function nc(e){return e<10?"0"+e.toString(10):e.toString(10)}Ms.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Ms.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var ic=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ac(){var e=new Date,t=[nc(e.getHours()),nc(e.getMinutes()),nc(e.getSeconds())].join(":");return[e.getDate(),ic[e.getMonth()],t].join(" ")}function oc(){console.log("%s - %s",ac(),Ns.apply(null,arguments))}function sc(e,t){if(!t||!Xs(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function cc(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var uc={inherits:As,_extend:sc,log:oc,isBuffer:tc,isPrimitive:ec,isFunction:Zs,isError:Qs,isDate:$s,isObject:Xs,isRegExp:Ys,isUndefined:Gs,isSymbol:Hs,isString:Ws,isNumber:qs,isNullOrUndefined:Vs,isNull:Us,isBoolean:zs,isArray:Ks,inspect:Ms,deprecate:Ps,format:Ns,debuglog:Os},lc=Object.freeze({__proto__:null,format:Ns,deprecate:Ps,debuglog:Os,inspect:Ms,isArray:Ks,isBoolean:zs,isNull:Us,isNullOrUndefined:Vs,isNumber:qs,isString:Ws,isSymbol:Hs,isUndefined:Gs,isRegExp:Ys,isObject:Xs,isDate:$s,isError:Qs,isFunction:Zs,isPrimitive:ec,isBuffer:tc,log:oc,inherits:As,_extend:sc,default:uc}),dc=(e,t=ar.argv)=>{const r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n=2,has16m:e>=3}}function mc(e,t){if(0===fc)return 0;if(dc("color=16m")||dc("color=full")||dc("color=truecolor"))return 3;if(dc("color=256"))return 2;if(e&&!t&&void 0===fc)return 0;const r=fc||0;if("dumb"===pc.TERM)return r;if("CI"in pc)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in pc))||"codeship"===pc.CI_NAME?1:r;if("TEAMCITY_VERSION"in pc)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(pc.TEAMCITY_VERSION)?1:0;if("truecolor"===pc.COLORTERM)return 3;if("TERM_PROGRAM"in pc){const e=parseInt((pc.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(pc.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(pc.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(pc.TERM)||"COLORTERM"in pc?1:r}dc("no-color")||dc("no-colors")||dc("color=false")||dc("color=never")?fc=0:(dc("color")||dc("colors")||dc("color=true")||dc("color=always"))&&(fc=1),"FORCE_COLOR"in pc&&(fc="true"===pc.FORCE_COLOR?1:"false"===pc.FORCE_COLOR?0:0===pc.FORCE_COLOR.length?1:Math.min(parseInt(pc.FORCE_COLOR,10),3));var yc={supportsColor:function(e){return gc(mc(e,e&&e.isTTY))},stdout:gc(mc(!0,_c.isatty(1))),stderr:gc(mc(!0,_c.isatty(2)))},vc=p(lc),hc=f((function(e,t){t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=yc;e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(ar.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=ar.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=bo(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,vc.inspect(e,this.inspectOpts).split("\n").map((e=>e.trim())).join(" ")},r.O=function(e){return this.inspectOpts.colors=this.useColors,vc.inspect(e,this.inspectOpts)}})),Dc=f((function(e){void 0===ar||"renderer"===ar.type||!0===ar.browser||ar.__nwjs?e.exports=So:e.exports=hc})),xc={"{":"}","(":")","[":"]"},bc=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Sc=/\\(.)|(^!|[*?{}()[\]]|\(\?)/,Ec=function(e,t){if("string"!=typeof e||""===e)return!1;if(function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}(e))return!0;var r,n=bc;for(t&&!1===t.strict&&(n=Sc);r=n.exec(e);){if(r[2])return!0;var i=r.index+r[0].length,a=r[1],o=a?xc[a]:null;if(a&&o){var s=e.indexOf(o,i);-1!==s&&(i=s+1)}e=e.slice(i)}return!1};const{MAX_LENGTH:Tc}=sr,{re:Cc,t:kc}=cr;var Ac=(e,t)=>{if(t=lr(t),e instanceof Dr)return e;if("string"!=typeof e)return null;if(e.length>Tc)return null;if(!(t.loose?Cc[kc.LOOSE]:Cc[kc.FULL]).test(e))return null;try{return new Dr(e,t)}catch(e){return null}};var Fc=(e,t)=>{const r=Ac(e,t);return r?r.version:null};var Nc=(e,t)=>{const r=Ac(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};var Pc=(e,t,r,n)=>{"string"==typeof r&&(n=r,r=void 0);try{return new Dr(e,r).inc(t,n).version}catch(e){return null}};var wc=(e,t,r)=>0===xr(e,t,r);var Ic=(e,t)=>{if(wc(e,t))return null;{const r=Ac(e),n=Ac(t),i=r.prerelease.length||n.prerelease.length,a=i?"pre":"",o=i?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==n[e])return a+e;return o}};var Oc=(e,t)=>new Dr(e,t).major;var Mc=(e,t)=>new Dr(e,t).minor;var Lc=(e,t)=>new Dr(e,t).patch;var Rc=(e,t)=>{const r=Ac(e,t);return r&&r.prerelease.length?r.prerelease:null};var Bc=(e,t,r)=>xr(t,e,r);var jc=(e,t)=>xr(e,t,!0);var Jc=(e,t,r)=>{const n=new Dr(e,r),i=new Dr(t,r);return n.compare(i)||n.compareBuild(i)};var Kc=(e,t)=>e.sort(((e,r)=>Jc(e,r,t)));var zc=(e,t)=>e.sort(((e,r)=>Jc(r,e,t)));var Uc=(e,t,r)=>xr(e,t,r)>0;var Vc=(e,t,r)=>0!==xr(e,t,r);var qc=(e,t,r)=>xr(e,t,r)<=0;var Wc=(e,t,r,n)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return wc(e,r,n);case"!=":return Vc(e,r,n);case">":return Uc(e,r,n);case">=":return Sr(e,r,n);case"<":return br(e,r,n);case"<=":return qc(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};const{re:Hc,t:Gc}=cr;var Yc=(e,t)=>{if(e instanceof Dr)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=Hc[Gc.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),Hc[Gc.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;Hc[Gc.COERCERTL].lastIndex=-1}else r=e.match(Hc[Gc.COERCE]);return null===r?null:Ac(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)},Xc=$c;function $c(e){var t=this;if(t instanceof $c||(t=new $c),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,n=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},$c.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},$c.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},$c.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},$c.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new $c;if(tthis.length&&(t=this.length);for(var n=0,i=this.head;null!==i&&nthis.length&&(t=this.length);for(var n=this.length,i=this.tail;null!==i&&n>t;n--)i=i.prev;for(;null!==i&&n>e;n--,i=i.prev)r.push(i.value);return r},$c.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n1;const pu=(e,t,r)=>{const n=e[lu].get(t);if(n){const t=n.value;if(fu(e,t)){if(mu(e,n),!e[au])return}else r&&(e[du]&&(n.value.now=Date.now()),e[uu].unshiftNode(n));return t.value}},fu=(e,t)=>{if(!t||!t.maxAge&&!e[ou])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[ou]&&r>e[ou]},gu=e=>{if(e[nu]>e[ru])for(let t=e[uu].tail;e[nu]>e[ru]&&null!==t;){const r=t.prev;mu(e,t),t=r}},mu=(e,t)=>{if(t){const r=t.value;e[su]&&e[su](r.key,r.value),e[nu]-=r.length,e[lu].delete(r.key),e[uu].removeNode(t)}};class yu{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}const vu=(e,t,r,n)=>{let i=r.value;fu(e,i)&&(mu(e,r),e[au]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};var hu=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[ru]=e.max||1/0;const t=e.length||_u;if(this[iu]="function"!=typeof t?_u:t,this[au]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[ou]=e.maxAge||0,this[su]=e.dispose,this[cu]=e.noDisposeOnSet||!1,this[du]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[ru]=e||1/0,gu(this)}get max(){return this[ru]}set allowStale(e){this[au]=!!e}get allowStale(){return this[au]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[ou]=e,gu(this)}get maxAge(){return this[ou]}set lengthCalculator(e){"function"!=typeof e&&(e=_u),e!==this[iu]&&(this[iu]=e,this[nu]=0,this[uu].forEach((e=>{e.length=this[iu](e.value,e.key),this[nu]+=e.length}))),gu(this)}get lengthCalculator(){return this[iu]}get length(){return this[nu]}get itemCount(){return this[uu].length}rforEach(e,t){t=t||this;for(let r=this[uu].tail;null!==r;){const n=r.prev;vu(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[uu].head;null!==r;){const n=r.next;vu(this,e,r,t),r=n}}keys(){return this[uu].toArray().map((e=>e.key))}values(){return this[uu].toArray().map((e=>e.value))}reset(){this[su]&&this[uu]&&this[uu].length&&this[uu].forEach((e=>this[su](e.key,e.value))),this[lu]=new Map,this[uu]=new Xc,this[nu]=0}dump(){return this[uu].map((e=>!fu(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[uu]}set(e,t,r){if((r=r||this[ou])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,i=this[iu](t,e);if(this[lu].has(e)){if(i>this[ru])return mu(this,this[lu].get(e)),!1;const a=this[lu].get(e).value;return this[su]&&(this[cu]||this[su](e,a.value)),a.now=n,a.maxAge=r,a.value=t,this[nu]+=i-a.length,a.length=i,this.get(e),gu(this),!0}const a=new yu(e,t,i,n,r);return a.length>this[ru]?(this[su]&&this[su](e,t),!1):(this[nu]+=a.length,this[uu].unshift(a),this[lu].set(e,this[uu].head),gu(this),!0)}has(e){if(!this[lu].has(e))return!1;const t=this[lu].get(e).value;return!fu(this,t)}get(e){return pu(this,e,!0)}peek(e){return pu(this,e,!1)}pop(){const e=this[uu].tail;return e?(mu(this,e),e.value):null}del(e){mu(this,this[lu].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[lu].forEach(((e,t)=>pu(this,t,!1)))}};class Du{constructor(e,t){if(t=lr(t),e instanceof Du)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Du(e.raw,t);if(e instanceof qu)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!Au(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&Fu(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=`parseRange:${Object.keys(this.options).join(",")}:${e}`,r=bu.get(t);if(r)return r;const n=this.options.loose,i=n?Su[Eu.HYPHENRANGELOOSE]:Su[Eu.HYPHENRANGE];e=e.replace(i,Ku(this.options.includePrerelease)),or("hyphen replace",e),e=e.replace(Su[Eu.COMPARATORTRIM],Tu),or("comparator trim",e,Su[Eu.COMPARATORTRIM]),e=(e=(e=e.replace(Su[Eu.TILDETRIM],Cu)).replace(Su[Eu.CARETTRIM],ku)).split(/\s+/).join(" ");const a=n?Su[Eu.COMPARATORLOOSE]:Su[Eu.COMPARATOR],o=e.split(" ").map((e=>Pu(e,this.options))).join(" ").split(/\s+/).map((e=>Ju(e,this.options))).filter(this.options.loose?e=>!!e.match(a):()=>!0).map((e=>new qu(e,this.options)));o.length;const s=new Map;for(const e of o){if(Au(e))return[e];s.set(e.value,e)}s.size>1&&s.has("")&&s.delete("");const c=[...s.values()];return bu.set(t,c),c}intersects(e,t){if(!(e instanceof Du))throw new TypeError("a Range is required");return this.set.some((r=>Nu(r,t)&&e.set.some((e=>Nu(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new Dr(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,Fu=e=>""===e.value,Nu=(e,t)=>{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},Pu=(e,t)=>(or("comp",e,t),e=Mu(e,t),or("caret",e),e=Iu(e,t),or("tildes",e),e=Ru(e,t),or("xrange",e),e=ju(e,t),or("stars",e),e),wu=e=>!e||"x"===e.toLowerCase()||"*"===e,Iu=(e,t)=>e.trim().split(/\s+/).map((e=>Ou(e,t))).join(" "),Ou=(e,t)=>{const r=t.loose?Su[Eu.TILDELOOSE]:Su[Eu.TILDE];return e.replace(r,((t,r,n,i,a)=>{let o;return or("tilde",e,t,r,n,i,a),wu(r)?o="":wu(n)?o=`>=${r}.0.0 <${+r+1}.0.0-0`:wu(i)?o=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:a?(or("replaceTilde pr",a),o=`>=${r}.${n}.${i}-${a} <${r}.${+n+1}.0-0`):o=`>=${r}.${n}.${i} <${r}.${+n+1}.0-0`,or("tilde return",o),o}))},Mu=(e,t)=>e.trim().split(/\s+/).map((e=>Lu(e,t))).join(" "),Lu=(e,t)=>{or("caret",e,t);const r=t.loose?Su[Eu.CARETLOOSE]:Su[Eu.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,i,a,o)=>{let s;return or("caret",e,t,r,i,a,o),wu(r)?s="":wu(i)?s=`>=${r}.0.0${n} <${+r+1}.0.0-0`:wu(a)?s="0"===r?`>=${r}.${i}.0${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.0${n} <${+r+1}.0.0-0`:o?(or("replaceCaret pr",o),s="0"===r?"0"===i?`>=${r}.${i}.${a}-${o} <${r}.${i}.${+a+1}-0`:`>=${r}.${i}.${a}-${o} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${a}-${o} <${+r+1}.0.0-0`):(or("no pr"),s="0"===r?"0"===i?`>=${r}.${i}.${a}${n} <${r}.${i}.${+a+1}-0`:`>=${r}.${i}.${a}${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${a} <${+r+1}.0.0-0`),or("caret return",s),s}))},Ru=(e,t)=>(or("replaceXRanges",e,t),e.split(/\s+/).map((e=>Bu(e,t))).join(" ")),Bu=(e,t)=>{e=e.trim();const r=t.loose?Su[Eu.XRANGELOOSE]:Su[Eu.XRANGE];return e.replace(r,((r,n,i,a,o,s)=>{or("xRange",e,r,n,i,a,o,s);const c=wu(i),u=c||wu(a),l=u||wu(o),d=l;return"="===n&&d&&(n=""),s=t.includePrerelease?"-0":"",c?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(a=0),o=0,">"===n?(n=">=",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):"<="===n&&(n="<",u?i=+i+1:a=+a+1),"<"===n&&(s="-0"),r=`${n+i}.${a}.${o}${s}`):u?r=`>=${i}.0.0${s} <${+i+1}.0.0-0`:l&&(r=`>=${i}.${a}.0${s} <${i}.${+a+1}.0-0`),or("xRange return",r),r}))},ju=(e,t)=>(or("replaceStars",e,t),e.trim().replace(Su[Eu.STAR],"")),Ju=(e,t)=>(or("replaceGTE0",e,t),e.trim().replace(Su[t.includePrerelease?Eu.GTE0PRE:Eu.GTE0],"")),Ku=e=>(t,r,n,i,a,o,s,c,u,l,d,_,p)=>`${r=wu(n)?"":wu(i)?`>=${n}.0.0${e?"-0":""}`:wu(a)?`>=${n}.${i}.0${e?"-0":""}`:o?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=wu(u)?"":wu(l)?`<${+u+1}.0.0-0`:wu(d)?`<${u}.${+l+1}.0-0`:_?`<=${u}.${l}.${d}-${_}`:e?`<${u}.${l}.${+d+1}-0`:`<=${c}`}`.trim(),zu=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0},Uu=Symbol("SemVer ANY");class Vu{static get ANY(){return Uu}constructor(e,t){if(t=lr(t),e instanceof Vu){if(e.loose===!!t.loose)return e;e=e.value}or("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Uu?this.value="":this.value=this.operator+this.semver.version,or("comp",this)}parse(e){const t=this.options.loose?Wu[Hu.COMPARATORLOOSE]:Wu[Hu.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new Dr(r[2],this.options.loose):this.semver=Uu}toString(){return this.value}test(e){if(or("Comparator.test",e,this.options.loose),this.semver===Uu||e===Uu)return!0;if("string"==typeof e)try{e=new Dr(e,this.options)}catch(e){return!1}return Wc(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vu))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new xu(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new xu(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=Wc(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=Wc(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||n||i&&a||o||s}}var qu=Vu;const{re:Wu,t:Hu}=cr;var Gu=(e,t,r)=>{try{t=new xu(t,r)}catch(e){return!1}return t.test(e)};var Yu=(e,t)=>new xu(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));var Xu=(e,t,r)=>{let n=null,i=null,a=null;try{a=new xu(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new Dr(n,r)))})),n};var $u=(e,t,r)=>{let n=null,i=null,a=null;try{a=new xu(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new Dr(n,r)))})),n};var Qu=(e,t)=>{e=new xu(e,t);let r=new Dr("0.0.0");if(e.test(r))return r;if(r=new Dr("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new Dr(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":i&&!Uc(t,i)||(i=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!i||r&&!Uc(r,i)||(r=i)}return r&&e.test(r)?r:null};var Zu=(e,t)=>{try{return new xu(e,t).range||"*"}catch(e){return null}};const{ANY:el}=qu;var tl=(e,t,r,n)=>{let i,a,o,s,c;switch(e=new Dr(e,n),t=new xu(t,n),r){case">":i=Uc,a=qc,o=br,s=">",c=">=";break;case"<":i=br,a=Sr,o=Uc,s="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Gu(e,t,n))return!1;for(let r=0;r{e.semver===el&&(e=new qu(">=0.0.0")),l=l||e,d=d||e,i(e.semver,l.semver,n)?l=e:o(e.semver,d.semver,n)&&(d=e)})),l.operator===s||l.operator===c)return!1;if((!d.operator||d.operator===s)&&a(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};var rl=(e,t,r)=>tl(e,t,">",r);var nl=(e,t,r)=>tl(e,t,"<",r);var il=(e,t,r)=>(e=new xu(e,r),t=new xu(t,r),e.intersects(t));const{ANY:al}=qu,ol=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===al){if(1===t.length&&t[0].semver===al)return!0;e=r.includePrerelease?[new qu(">=0.0.0-0")]:[new qu(">=0.0.0")]}if(1===t.length&&t[0].semver===al){if(r.includePrerelease)return!0;t=[new qu(">=0.0.0")]}const n=new Set;let i,a,o,s,c,u,l;for(const t of e)">"===t.operator||">="===t.operator?i=sl(i,t,r):"<"===t.operator||"<="===t.operator?a=cl(a,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&a){if(o=xr(i.semver,a.semver,r),o>0)return null;if(0===o&&(">="!==i.operator||"<="!==a.operator))return null}for(const e of n){if(i&&!Gu(e,String(i),r))return null;if(a&&!Gu(e,String(a),r))return null;for(const n of t)if(!Gu(e,String(n),r))return!1;return!0}let d=!(!a||r.includePrerelease||!a.semver.prerelease.length)&&a.semver,_=!(!i||r.includePrerelease||!i.semver.prerelease.length)&&i.semver;d&&1===d.prerelease.length&&"<"===a.operator&&0===d.prerelease[0]&&(d=!1);for(const e of t){if(l=l||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,i)if(_&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===_.major&&e.semver.minor===_.minor&&e.semver.patch===_.patch&&(_=!1),">"===e.operator||">="===e.operator){if(s=sl(i,e,r),s===e&&s!==i)return!1}else if(">="===i.operator&&!Gu(i.semver,String(e),r))return!1;if(a)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),"<"===e.operator||"<="===e.operator){if(c=cl(a,e,r),c===e&&c!==a)return!1}else if("<="===a.operator&&!Gu(a.semver,String(e),r))return!1;if(!e.operator&&(a||i)&&0!==o)return!1}return!(i&&u&&!a&&0!==o)&&(!(a&&l&&!i&&0!==o)&&(!_&&!d))},sl=(e,t,r)=>{if(!e)return t;const n=xr(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},cl=(e,t,r)=>{if(!e)return t;const n=xr(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};var ul=(e,t,r={})=>{if(e===t)return!0;e=new xu(e,r),t=new xu(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=ol(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0},ll={re:cr.re,src:cr.src,tokens:cr.t,SEMVER_SPEC_VERSION:sr.SEMVER_SPEC_VERSION,SemVer:Dr,compareIdentifiers:pr.compareIdentifiers,rcompareIdentifiers:pr.rcompareIdentifiers,parse:Ac,valid:Fc,clean:Nc,inc:Pc,diff:Ic,major:Oc,minor:Mc,patch:Lc,prerelease:Rc,compare:xr,rcompare:Bc,compareLoose:jc,compareBuild:Jc,sort:Kc,rsort:zc,gt:Uc,lt:br,eq:wc,neq:Vc,gte:Sr,lte:qc,cmp:Wc,coerce:Yc,Comparator:qu,Range:xu,satisfies:Gu,toComparators:Yu,maxSatisfying:Xu,minSatisfying:$u,minVersion:Qu,validRange:Zu,outside:tl,gtr:rl,ltr:nl,intersects:il,simplifyRange:(e,t,r)=>{const n=[];let i=null,a=null;const o=e.sort(((e,t)=>xr(e,t,r)));for(const e of o){Gu(e,t,r)?(a=e,i||(i=e)):(a&&n.push([i,a]),a=null,i=null)}i&&n.push([i,null]);const s=[];for(const[e,t]of n)e===t?s.push(e):t||e!==o[0]?t?e===o[0]?s.push(`<=${t}`):s.push(`${e} - ${t}`):s.push(`>=${e}`):s.push("*");const c=s.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return c.length=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var _l=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,pl=function(e){return _l.exec(e).slice(1)};function fl(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=dl(Sl(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function gl(e){var t=ml(e),r="/"===El(e,-1);return(e=dl(Sl(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function ml(e){return"/"===e.charAt(0)}function yl(){var e=Array.prototype.slice.call(arguments,0);return gl(Sl(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function vl(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=fl(e).substr(1),t=fl(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),o=a,s=0;s>>=5)>0&&(t|=32),r+=Fl(t)}while(n>0);return r},wl=function(e,t,r){var n,i,a,o,s=e.length,c=0,u=0;do{if(t>=s)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=Nl(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),r.rest=t},Il=f((function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var o,s=t.isAbsolute(r),c=r.split(/\/+/),u=0,l=c.length-1;l>=0;l--)"."===(o=c[l])?c.splice(l,1):".."===o?u++:u>0&&(""===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return""===(r=c.join("/"))&&(r=s?"/":"."),n?(n.path=r,a(n)):r}function s(e,t){""===e&&(e="."),""===t&&(t=".");var r=i(t),s=i(e);if(s&&(e=s.path||"/"),r&&!r.scheme)return s&&(r.scheme=s.scheme),a(r);if(r||t.match(n))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return s?(s.path=c,a(s)):c}t.urlParse=i,t.urlGenerate=a,t.normalize=o,t.join=s,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var c=!("__proto__"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=c?u:function(e){return l(e)?"$"+e:e},t.fromSetString=c?u:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=d(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=d(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=d(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=i(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var c=n.path.lastIndexOf("/");c>=0&&(n.path=n.path.substring(0,c+1))}t=s(a(n),t)}return o(t)}})),Ol=Object.prototype.hasOwnProperty,Ml="undefined"!=typeof Map;function Ll(){this._array=[],this._set=Ml?new Map:Object.create(null)}Ll.fromArray=function(e,t){for(var r=new Ll,n=0,i=e.length;n=0)return t}else{var r=Il.toSetString(e);if(Ol.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},Ll.prototype.at=function(e){if(e>=0&&en||i==n&&o>=a||Il.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},Bl.prototype.toArray=function(){return this._sorted||(this._array.sort(Il.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var jl=Rl.ArraySet,Jl={MappingList:Bl}.MappingList;function Kl(e){e||(e={}),this._file=Il.getArg(e,"file",null),this._sourceRoot=Il.getArg(e,"sourceRoot",null),this._skipValidation=Il.getArg(e,"skipValidation",!1),this._sources=new jl,this._names=new jl,this._mappings=new Jl,this._sourcesContents=null}Kl.prototype._version=3,Kl.fromSourceMap=function(e){var t=e.sourceRoot,r=new Kl({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=Il.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=Il.relative(t,n)),r._sources.has(i)||r._sources.add(i);var a=e.sourceContentFor(n);null!=a&&r.setSourceContent(n,a)})),r},Kl.prototype.addMapping=function(e){var t=Il.getArg(e,"generated"),r=Il.getArg(e,"original",null),n=Il.getArg(e,"source",null),i=Il.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},Kl.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=Il.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Il.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[Il.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},Kl.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=Il.relative(i,n));var a=new jl,o=new jl;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=r&&(t.source=Il.join(r,t.source)),null!=i&&(t.source=Il.relative(i,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||o.has(u)||o.add(u)}),this),this._sources=a,this._names=o,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=Il.join(r,t)),null!=i&&(t=Il.relative(i,t)),this.setSourceContent(t,n))}),this)},Kl.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},Kl.prototype._serializeMappings=function(){for(var e,t,r,n,i=0,a=1,o=0,s=0,c=0,u=0,l="",d=this._mappings.toArray(),_=0,p=d.length;_0){if(!Il.compareByGeneratedPositionsInflated(t,d[_-1]))continue;e+=","}e+=Pl(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=Pl(n-u),u=n,e+=Pl(t.originalLine-1-s),s=t.originalLine-1,e+=Pl(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=Pl(r-c),c=r)),l+=e}return l},Kl.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=Il.relative(t,e));var r=Il.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},Kl.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},Kl.prototype.toString=function(){return JSON.stringify(this.toJSON())};var zl={SourceMapGenerator:Kl},Ul=f((function(e,t){function r(e,n,i,a,o,s){var c=Math.floor((n-e)/2)+e,u=o(i,a[c],!0);return 0===u?c:u>0?n-c>1?r(c,n,i,a,o,s):s==t.LEAST_UPPER_BOUND?n1?r(e,c,i,a,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,a){if(0===n.length)return-1;var o=r(-1,n.length,e,n,i,a||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(n[o],n[o-1],!0);)--o;return o}}));function Vl(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function ql(e,t,r,n){if(r=0){var a=this._originalMappings[i];if(void 0===e.column)for(var o=a.originalLine;a&&a.originalLine===o;)n.push({line:Il.getArg(a,"generatedLine",null),column:Il.getArg(a,"generatedColumn",null),lastColumn:Il.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i];else for(var s=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==s;)n.push({line:Il.getArg(a,"generatedLine",null),column:Il.getArg(a,"generatedColumn",null),lastColumn:Il.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i]}return n};var Yl=Gl;function Xl(e,t){var r=e;"string"==typeof e&&(r=Il.parseSourceMapInput(e));var n=Il.getArg(r,"version"),i=Il.getArg(r,"sources"),a=Il.getArg(r,"names",[]),o=Il.getArg(r,"sourceRoot",null),s=Il.getArg(r,"sourcesContent",null),c=Il.getArg(r,"mappings"),u=Il.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);o&&(o=Il.normalize(o)),i=i.map(String).map(Il.normalize).map((function(e){return o&&Il.isAbsolute(o)&&Il.isAbsolute(e)?Il.relative(o,e):e})),this._names=Wl.fromArray(a.map(String),!0),this._sources=Wl.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return Il.computeSourceURL(o,e,t)})),this.sourceRoot=o,this.sourcesContent=s,this._mappings=c,this._sourceMapURL=t,this.file=u}function $l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}Xl.prototype=Object.create(Gl.prototype),Xl.prototype.consumer=Gl,Xl.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=Il.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=u+i[2],u=r.originalLine,r.originalLine+=1,r.originalColumn=l+i[3],l=r.originalColumn,i.length>4&&(r.name=_+i[4],_+=i[4])),v.push(r),"number"==typeof r.originalLine&&y.push(r)}Hl(v,Il.compareByGeneratedPositionsDeflated),this.__generatedMappings=v,Hl(y,Il.compareByOriginalPositions),this.__originalMappings=y},Xl.prototype._findMapping=function(e,t,r,n,i,a){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return Ul.search(e,t,i,a)},Xl.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var i=Il.getArg(n,"source",null);null!==i&&(i=this._sources.at(i),i=Il.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var a=Il.getArg(n,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:Il.getArg(n,"originalLine",null),column:Il.getArg(n,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},Xl.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},Xl.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var n,i=e;if(null!=this.sourceRoot&&(i=Il.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(n=Il.urlParse(this.sourceRoot))){var a=i.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(a))return this.sourcesContent[this._sources.indexOf(a)];if((!n.path||"/"==n.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},Xl.prototype.generatedPositionFor=function(e){var t=Il.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:Il.getArg(e,"line"),originalColumn:Il.getArg(e,"column")},n=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",Il.compareByOriginalPositions,Il.getArg(e,"bias",Gl.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===r.source)return{line:Il.getArg(i,"generatedLine",null),column:Il.getArg(i,"generatedColumn",null),lastColumn:Il.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var Ql=Xl;function Zl(e,t){var r=e;"string"==typeof e&&(r=Il.parseSourceMapInput(e));var n=Il.getArg(r,"version"),i=Il.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new Wl,this._names=new Wl;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=Il.getArg(e,"offset"),n=Il.getArg(r,"line"),i=Il.getArg(r,"column");if(n=0;t--)this.prepend(e[t]);else{if(!e[nd]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},id.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r>>=0;var n=e.byteLength-t;if(n<0)throw new RangeError("'offset' is out of bounds");if(void 0===r)r=n;else if((r>>>=0)>n)throw new RangeError("'length' is out of bounds");return sd?Uo.from(e.slice(t,t+r)):new Uo(new Uint8Array(e.slice(t,t+r)))}(e,t,r):"string"==typeof e?function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Uo.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');return sd?Uo.from(e,t):new Uo(e,t)}(e,t):sd?Uo.from(e):new Uo(e);var n},ud=p(Tl),ld=p(Cl),dd=f((function(e,t){var r,n=ad.SourceMapConsumer,i=ud;try{(r=ld).existsSync&&r.readFileSync||(r=null)}catch(e){}function a(e,t){return e.require(t)}var o=!1,s=!1,c=!1,u="auto",l={},d={},_=/^data:application\/json[^,]+base64,/,p=[],f=[];function g(){return"browser"===u||"node"!==u&&("undefined"!=typeof window&&"function"==typeof XMLHttpRequest&&!(window.require&&window.module&&window.process&&"renderer"===window.process.type))}function m(e){return function(t){for(var r=0;r";var r=this.getLineNumber();if(null!=r){t+=":"+r;var n=this.getColumnNumber();n&&(t+=":"+n)}}var i="",a=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();"[object Object]"===c&&(c="null");var u=this.getMethodName();a?(c&&0!=a.indexOf(c)&&(i+=c+"."),i+=a,u&&a.indexOf("."+u)!=a.length-u.length-1&&(i+=" [as "+u+"]")):i+=c+"."+(u||"")}else s?i+="new "+(a||""):a?i+=a:(i+=t,o=!1);return o&&(i+=" ("+t+")"),i}function S(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]})),t.toString=b,t}function E(e,t){if(void 0===t&&(t={nextPosition:null,curPosition:null}),e.isNative())return t.curPosition=null,e;var r=e.getFileName()||e.getScriptNameOrSourceURL();if(r){var n=e.getLineNumber(),i=e.getColumnNumber()-1,a=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/.test(ar.version)?0:62;1===n&&i>a&&!g()&&!e.isEval()&&(i-=a);var o=D({source:r,line:n,column:i});t.curPosition=o;var s=(e=S(e)).getFunctionName;return e.getFunctionName=function(){return null==t.nextPosition?s():t.nextPosition.name||s()},e.getFileName=function(){return o.source},e.getLineNumber=function(){return o.line},e.getColumnNumber=function(){return o.column+1},e.getScriptNameOrSourceURL=function(){return o.source},e}var c=e.isEval()&&e.getEvalOrigin();return c?(c=x(c),(e=S(e)).getEvalOrigin=function(){return c},e):e}function T(e,t){c&&(l={},d={});for(var r=(e.name||"Error")+": "+(e.message||""),n={nextPosition:null,curPosition:null},i=[],a=t.length-1;a>=0;a--)i.push("\n at "+E(t[a],n)),n.nextPosition=n.curPosition;return n.curPosition=n.nextPosition=null,r+i.reverse().join("")}function C(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],i=+t[2],a=+t[3],o=l[n];if(!o&&r&&r.existsSync(n))try{o=r.readFileSync(n,"utf8")}catch(e){o=""}if(o){var s=o.split(/(?:\r\n|\r|\n)/)[i-1];if(s)return n+":"+i+"\n"+s+"\n"+new Array(a).join(" ")+"^"}}return null}function k(e){var t=C(e);ar.stderr._handle&&ar.stderr._handle.setBlocking&&ar.stderr._handle.setBlocking(!0),t&&(console.error(),console.error(t)),console.error(e.stack),ar.exit(1)}f.push((function(e){var t,r=function(e){var t;if(g())try{var r=new XMLHttpRequest;r.open("GET",e,!1),r.send(null),t=4===r.readyState?r.responseText:null;var n=r.getResponseHeader("SourceMap")||r.getResponseHeader("X-SourceMap");if(n)return n}catch(e){}t=y(e);for(var i,a,o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;a=o.exec(t);)i=a;return i?i[1]:null}(e);if(!r)return null;if(_.test(r)){var n=r.slice(r.indexOf(",")+1);t=cd(n,"base64").toString(),r=e}else r=v(e,r),t=y(r);return t?{url:r,map:t}:null}));var A=p.slice(0),F=f.slice(0);t.wrapCallSite=E,t.getErrorSource=C,t.mapSourcePosition=D,t.retrieveSourceMap=h,t.install=function(t){if((t=t||{}).environment&&(u=t.environment,-1===["node","browser","auto"].indexOf(u)))throw new Error("environment "+u+" was unknown. Available options are {auto, browser, node}");if(t.retrieveFile&&(t.overrideRetrieveFile&&(p.length=0),p.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(f.length=0),f.unshift(t.retrieveSourceMap)),t.hookRequire&&!g()){var r=a(e,"module"),n=r.prototype._compile;n.__sourceMapSupport||(r.prototype._compile=function(e,t){return l[t]=e,d[t]=void 0,n.call(this,e,t)},r.prototype._compile.__sourceMapSupport=!0)}if(c||(c="emptyCacheBetweenOperations"in t&&t.emptyCacheBetweenOperations),o||(o=!0,Error.prepareStackTrace=T),!s){var i=!("handleUncaughtExceptions"in t)||t.handleUncaughtExceptions;try{!1===a(e,"worker_threads").isMainThread&&(i=!1)}catch(e){}i&&"object"==typeof ar&&null!==ar&&"function"==typeof ar.on&&(s=!0,_=ar.emit,ar.emit=function(e){if("uncaughtException"===e){var t=arguments[1]&&arguments[1].stack,r=this.listeners(e).length>0;if(t&&!r)return k(arguments[1])}return _.apply(this,arguments)})}var _},t.resetRetrieveHandlers=function(){p.length=0,f.length=0,p=A.slice(0),f=F.slice(0),h=m(f),y=m(p)}})),_d=p(kl),pd=p(ks),fd=f((function(e){var t=_&&_.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0;for(var r=0,n=e;r>1);switch(n(r(e[c],c),t)){case-1:o=c+1;break;case 0:return c;case 1:s=c-1}}return~o}function v(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===n||n<0?0:n,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=r;o<=s;)c=t(c,e[o],o),o++;return c}}return r}e.Map=r("Map","tryGetNativeMap","createMapShim"),e.Set=r("Set","tryGetNativeSet","createSetShim"),e.getIterator=n,e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(t){var r=new e.Map;for(var n in t)h.call(t,n)&&r.set(n,t[n]);return r},e.length=function(e){return e?e.length:0},e.forEach=function(e,t){if(e)for(var r=0;r=0;r--){var n=t(e[r],r);if(n)return n}},e.firstDefined=function(e,t){if(void 0!==e)for(var r=0;r=0;r--){var n=e[r];if(t(n,r))return n}},e.findIndex=function(e,t,r){for(var n=r||0;n=0;n--)if(t(e[n],n))return n;return-1},e.findMap=function(t,r){for(var n=0;n0&&e.Debug.assertGreaterThanOrEqual(n(r[o],r[o-1]),0);t:for(var s=a;as&&e.Debug.assertGreaterThanOrEqual(n(t[a],t[a-1]),0),n(r[o],t[a])){case-1:i.push(r[o]);continue e;case 0:continue e;case 1:continue t}}return i},e.sum=function(e,t){for(var r=0,n=0,i=e;nt?1:0}function j(e,t){return L(e,t)}e.toFileNameLowerCase=O,e.notImplemented=function(){throw new Error("Not implemented")},e.memoize=function(e){var t;return function(){return e&&(t=e(),e=void 0),t}},e.memoizeOne=function(t){var r=new e.Map;return function(e){var n=typeof e+":"+e,i=r.get(n);return void 0!==i||r.has(n)||(i=t(e),r.set(n,i)),i}},e.compose=function(e,t,r,n,i){if(i){for(var a=[],o=0;o0?1:0}function i(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,r){return n(e,r,t)}}function a(e){return void 0!==e?o():function(e,r){return n(e,r,t)};function t(e,t){return e.localeCompare(t)}}function o(){return function(t,r){return n(t,r,e)};function e(e,r){return t(e.toUpperCase(),r.toUpperCase())||t(e,r)}function t(e,t){return et?1:0}}}();function U(e,t,r){for(var n=new Array(t.length+1),i=new Array(t.length+1),a=r+.01,o=0;o<=t.length;o++)n[o]=o;for(o=1;o<=e.length;o++){var s=e.charCodeAt(o-1),c=Math.ceil(o>r?o-r:1),u=Math.floor(t.length>r+o?r+o:t.length);i[0]=o;for(var l=o,d=1;dr)return;var f=n;n=i,i=f}var g=n[t.length];return g>r?void 0:g}function V(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function q(e,t){for(var r=t;r=r.length+n.length&&G(t,r)&&V(t,n)}function X(e,t,r,n){for(var i=0,a=e[n];ii&&(i=c.prefix.length,n=s)}return n},e.startsWith=G,e.removePrefix=function(e,t){return G(e,t)?e.substr(t.length):e},e.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=N),G(r(e),r(t))?e.substring(t.length):void 0},e.and=function(e,t){return function(r){return e(r)&&t(r)}},e.or=function(){for(var e=[],t=0;t=e}function _(t,n){return!!d(t)||(l[n]={level:t,assertion:r[n]},r[n]=e.noop,!1)}function p(e,t){var r=new Error(e?"Debug Failure. "+e:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(r,t||p),r}function f(e,t,r,n){e||(t=t?"False expression: "+t:"False expression.",r&&(t+="\r\nVerbose Debug Information: "+("string"==typeof r?r:r())),p(t,n||f))}function g(e,t,r){null==e&&p(t,r||g)}function m(e,t,r){return g(e,t,r||m),e}function y(e,t,r){for(var n=0,i=e;n0&&0===i[0][0]?i[0][1]:"0";if(n){for(var a="",o=t,s=0,c=i;st)break;0!==l&&l&t&&(a=a+(a?"|":"")+d,o&=~l)}if(0===o)return a}else for(var _=0,p=i;_n)for(var i=0,o=e.getOwnKeys(l);i=c.level&&(r[s]=c,l[s]=void 0)}},r.shouldAssert=d,r.fail=p,r.failBadSyntaxKind=function e(t,r,n){return p((r||"Unexpected node.")+"\r\nNode "+x(t.kind)+" was unexpected.",n||e)},r.assert=f,r.assertEqual=function e(t,r,n,i,a){t!==r&&p("Expected "+t+" === "+r+". "+(n?i?n+" "+i:n:""),a||e)},r.assertLessThan=function e(t,r,n,i){t>=r&&p("Expected "+t+" < "+r+". "+(n||""),i||e)},r.assertLessThanOrEqual=function e(t,r,n){t>r&&p("Expected "+t+" <= "+r,n||e)},r.assertGreaterThanOrEqual=function e(t,r,n){t= "+r,n||e)},r.assertIsDefined=g,r.checkDefined=m,r.assertDefined=m,r.assertEachIsDefined=y,r.checkEachDefined=v,r.assertEachDefined=v,r.assertNever=function t(r,n,i){return void 0===n&&(n="Illegal value:"),p(n+" "+("object"==typeof r&&e.hasProperty(r,"kind")&&e.hasProperty(r,"pos")&&x?"SyntaxKind: "+x(r.kind):JSON.stringify(r)),i||t)},r.assertEachNode=function t(r,n,i,a){_(1,"assertEachNode")&&f(void 0===n||e.every(r,n),i||"Unexpected node.",(function(){return"Node array did not pass test '"+h(n)+"'."}),a||t)},r.assertNode=function e(t,r,n,i){_(1,"assertNode")&&f(void 0!==t&&(void 0===r||r(t)),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" did not pass test '"+h(r)+"'."}),i||e)},r.assertNotNode=function e(t,r,n,i){_(1,"assertNotNode")&&f(void 0===t||void 0===r||!r(t),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" should not have passed test '"+h(r)+"'."}),i||e)},r.assertOptionalNode=function e(t,r,n,i){_(1,"assertOptionalNode")&&f(void 0===r||void 0===t||r(t),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" did not pass test '"+h(r)+"'."}),i||e)},r.assertOptionalToken=function e(t,r,n,i){_(1,"assertOptionalToken")&&f(void 0===r||void 0===t||t.kind===r,n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" was not a '"+x(r)+"' token."}),i||e)},r.assertMissingNode=function e(t,r,n){_(1,"assertMissingNode")&&f(void 0===t,r||"Unexpected node.",(function(){return"Node "+x(t.kind)+" was unexpected'."}),n||e)},r.type=function(e){},r.getFunctionName=h,r.formatSymbol=function(t){return"{ name: "+e.unescapeLeadingUnderscores(t.escapedName)+"; flags: "+C(t.flags)+"; declarations: "+e.map(t.declarations,(function(e){return x(e.kind)}))+" }"},r.formatEnum=D,r.formatSyntaxKind=x,r.formatNodeFlags=b,r.formatModifierFlags=S,r.formatTransformFlags=E,r.formatEmitFlags=T,r.formatSymbolFlags=C,r.formatTypeFlags=k,r.formatSignatureFlags=A,r.formatObjectFlags=F,r.formatFlowFlags=N;var P,w,I,O=!1;function M(e){return function(){if(B(),!P)throw new Error("Debugging helpers could not be loaded.");return P}().formatControlFlowGraph(e)}function L(t){"__debugFlowFlags"in t||Object.defineProperties(t,{__tsDebuggerDisplay:{value:function(){var e=2&this.flags?"FlowStart":4&this.flags?"FlowBranchLabel":8&this.flags?"FlowLoopLabel":16&this.flags?"FlowAssignment":32&this.flags?"FlowTrueCondition":64&this.flags?"FlowFalseCondition":128&this.flags?"FlowSwitchClause":256&this.flags?"FlowArrayMutation":512&this.flags?"FlowCall":1024&this.flags?"FlowReduceLabel":1&this.flags?"FlowUnreachable":"UnknownFlow",t=-2048&this.flags;return e+(t?" ("+N(t)+")":"")}},__debugFlowFlags:{get:function(){return D(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return M(this)}}})}function R(e){"__tsDebuggerDisplay"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:function(e){return"NodeArray "+(e=String(e).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"))}}})}function B(){if(!O){var t,r;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=33554432&this.flags?"TransientSymbol":"Symbol",r=-33554433&this.flags;return t+" '"+e.symbolName(this)+"'"+(r?" ("+C(r)+")":"")}},__debugFlags:{get:function(){return C(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=98304&this.flags?"NullableType":384&this.flags?"LiteralType "+JSON.stringify(this.value):2048&this.flags?"LiteralType "+(this.value.negative?"-":"")+this.value.base10Value+"n":8192&this.flags?"UniqueESSymbolType":32&this.flags?"EnumType":67359327&this.flags?"IntrinsicType "+this.intrinsicName:1048576&this.flags?"UnionType":2097152&this.flags?"IntersectionType":4194304&this.flags?"IndexType":8388608&this.flags?"IndexedAccessType":16777216&this.flags?"ConditionalType":33554432&this.flags?"SubstitutionType":262144&this.flags?"TypeParameter":524288&this.flags?3&this.objectFlags?"InterfaceType":4&this.objectFlags?"TypeReference":8&this.objectFlags?"TupleType":16&this.objectFlags?"AnonymousType":32&this.objectFlags?"MappedType":1024&this.objectFlags?"ReverseMappedType":256&this.objectFlags?"EvolvingArrayType":"ObjectType":"Type",r=524288&this.flags?-1344&this.objectFlags:0;return t+(this.symbol?" '"+e.symbolName(this.symbol)+"'":"")+(r?" ("+F(r)+")":"")}},__debugFlags:{get:function(){return k(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?F(this.objectFlags):""}},__debugTypeToString:{value:function(){var e=(void 0===t&&"function"==typeof WeakMap&&(t=new WeakMap),t),r=null==e?void 0:e.get(this);return void 0===r&&(r=this.checker.typeToString(this),null==e||e.set(this,r)),r}}}),Object.defineProperties(e.objectAllocator.getSignatureConstructor().prototype,{__debugFlags:{get:function(){return A(this.flags)}},__debugSignatureToString:{value:function(){var e;return null===(e=this.checker)||void 0===e?void 0:e.signatureToString(this)}}});for(var n=0,i=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];n=0;return d?function(e,t,r,n){var i=j(e,!0,t,r,n);return function(){throw new TypeError(i)}}(t,s,l,r.message):_?function(e,t,r,n){var i=!1;return function(){i||(u.warn(j(e,!1,t,r,n)),i=!0)}}(t,s,l,r.message):e.noop}r.printControlFlowGraph=function(e){return console.log(M(e))},r.formatControlFlowGraph=M,r.attachFlowNodeDebugInfo=function(e){O&&("function"==typeof Object.setPrototypeOf?(w||L(w=Object.create(Object.prototype)),Object.setPrototypeOf(e,w)):L(e))},r.attachNodeArrayDebugInfo=function(e){O&&("function"==typeof Object.setPrototypeOf?(I||R(I=Object.create(Array.prototype)),Object.setPrototypeOf(e,I)):R(e))},r.enableDebugInfo=B,r.deprecate=function(e,t){return function(e,t){return function(){return e(),t.apply(this,arguments)}}(J(h(e),t),e)}}(e.Debug||(e.Debug={}))}(s||(s={})),function(e){var t=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,r=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,n=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,i=/^(0|[1-9]\d*)$/,a=function(){function t(t,i,a,s,c){if(void 0===i&&(i=0),void 0===a&&(a=0),void 0===s&&(s=""),void 0===c&&(c=""),"string"==typeof t){var u=e.Debug.checkDefined(o(t),"Invalid version");t=u.major,i=u.minor,a=u.patch,s=u.prerelease,c=u.build}e.Debug.assert(t>=0,"Invalid argument: major"),e.Debug.assert(i>=0,"Invalid argument: minor"),e.Debug.assert(a>=0,"Invalid argument: patch"),e.Debug.assert(!s||r.test(s),"Invalid argument: prerelease"),e.Debug.assert(!c||n.test(c),"Invalid argument: build"),this.major=t,this.minor=i,this.patch=a,this.prerelease=s?s.split("."):e.emptyArray,this.build=c?c.split("."):e.emptyArray}return t.tryParse=function(e){var r=o(e);if(r)return new t(r.major,r.minor,r.patch,r.prerelease,r.build)},t.prototype.compareTo=function(t){return this===t?0:void 0===t?1:e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||function(t,r){if(t===r)return 0;if(0===t.length)return 0===r.length?0:1;if(0===r.length)return-1;for(var n=Math.min(t.length,r.length),a=0;a|>=|=)?\s*([a-z0-9-+.*]+)$/i;function p(e){for(var t=[],r=0,n=e.trim().split(c);r=",n.version)),y(i.major)||r.push(y(i.minor)?v("<",i.version.increment("major")):y(i.patch)?v("<",i.version.increment("minor")):v("<=",i.version)),!0)}function m(e,t,r){var n=f(t);if(!n)return!1;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(y(o))"<"!==e&&">"!==e||r.push(v("<",a.zero));else switch(e){case"~":r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")));break;case"^":r.push(v(">=",i)),r.push(v("<",i.increment(i.major>0||y(s)?"major":i.minor>0||y(c)?"minor":"patch")));break;case"<":case">=":r.push(v(e,i));break;case"<=":case">":r.push(y(s)?v("<="===e?"<":">=",i.increment("major")):y(c)?v("<="===e?"<":">=",i.increment("minor")):v(e,i));break;case"=":case void 0:y(s)||y(c)?(r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")))):r.push(v("=",i));break;default:return!1}return!0}function y(e){return"*"===e||"x"===e||"X"===e}function v(e,t){return{operator:e,operand:t}}function h(e,t){for(var r=0,n=t;r":return i>0;case">=":return i>=0;case"=":return 0===i;default:return e.Debug.assertNever(r)}}function x(t){return e.map(t,b).join(" ")}function b(e){return""+e.operator+e.operand}}(s||(s={})),function(e){function t(e,t){return"object"==typeof e&&"number"==typeof e.timeOrigin&&"function"==typeof e.mark&&"function"==typeof e.measure&&"function"==typeof e.now&&"function"==typeof t}var r=function(){if("object"==typeof performance&&"function"==typeof PerformanceObserver&&t(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance:performance,PerformanceObserver:PerformanceObserver}}()||function(){if(void 0!==ar&&ar.nextTick&&!ar.browser&&"function"==typeof require)try{var r,n={},i=n.performance,a=n.PerformanceObserver;if(t(i,a)){r=i;var o=new e.Version("999.999.999");return new e.VersionRange("<12.16.3 || 13 <13.13").test(o)&&(r={get timeOrigin(){return i.timeOrigin},now:function(){return i.now()},mark:function(e){return i.mark(e)},measure:function(e,t,r){void 0===t&&(t="nodeStart"),void 0===r&&(r="__performance.measure-fix__",i.mark(r)),i.measure(e,t,r),"__performance.measure-fix__"===r&&i.clearMarks("__performance.measure-fix__")}}),{shouldWriteNativeEvents:!1,performance:r,PerformanceObserver:a}}}catch(e){}}(),n=null==r?void 0:r.performance;e.tryGetNativePerformanceHooks=function(){return r},e.timestamp=n?function(){return n.now()}:Date.now?Date.now:function(){return+new Date}}(s||(s={})),function(e){!function(t){var r,n;function i(t,r,n){var i=0;return{enter:function(){1==++i&&l(r)},exit:function(){0==--i?(l(n),d(t,r,n)):i<0&&e.Debug.fail("enter/exit count does not match.")}}}t.createTimerIf=function(e,r,n,a){return e?i(r,n,a):t.nullTimer},t.createTimer=i,t.nullTimer={enter:e.noop,exit:e.noop};var a=!1,o=e.timestamp(),s=new e.Map,c=new e.Map,u=new e.Map;function l(t){var r;if(a){var i=null!==(r=c.get(t))&&void 0!==r?r:0;c.set(t,i+1),s.set(t,e.timestamp()),null==n||n.mark(t)}}function d(t,r,i){var c,l;if(a){var d=null!==(c=void 0!==i?s.get(i):void 0)&&void 0!==c?c:e.timestamp(),_=null!==(l=void 0!==r?s.get(r):void 0)&&void 0!==l?l:o,p=u.get(t)||0;u.set(t,p+(d-_)),null==n||n.measure(t,r,i)}}t.mark=l,t.measure=d,t.getCount=function(e){return c.get(e)||0},t.getDuration=function(e){return u.get(e)||0},t.forEachMeasure=function(e){u.forEach((function(t,r){return e(r,t)}))},t.isEnabled=function(){return a},t.enable=function(t){var i;return void 0===t&&(t=e.sys),a||(a=!0,r||(r=e.tryGetNativePerformanceHooks()),r&&(o=r.performance.timeOrigin,(r.shouldWriteNativeEvents||(null===(i=null==t?void 0:t.cpuProfilingEnabled)||void 0===i?void 0:i.call(t))||(null==t?void 0:t.debugMode))&&(n=r.performance))),!0},t.disable=function(){a&&(s.clear(),c.clear(),u.clear(),n=void 0,a=!1)}}(e.performance||(e.performance={}))}(s||(s={})),function(e){var t,r,n={logEvent:e.noop,logErrEvent:e.noop,logPerfEvent:e.noop,logInfoEvent:e.noop,logStartCommand:e.noop,logStopCommand:e.noop,logStartUpdateProgram:e.noop,logStopUpdateProgram:e.noop,logStartUpdateGraph:e.noop,logStopUpdateGraph:e.noop,logStartResolveModule:e.noop,logStopResolveModule:e.noop,logStartParseSourceFile:e.noop,logStopParseSourceFile:e.noop,logStartReadFile:e.noop,logStopReadFile:e.noop,logStartBindFile:e.noop,logStopBindFile:e.noop,logStartScheduledOperation:e.noop,logStopScheduledOperation:e.noop};try{var i=null!==(t=ar.env.TS_ETW_MODULE_PATH)&&void 0!==t?t:"./node_modules/@microsoft/typescript-etw";r=require(i)}catch(e){r=void 0}e.perfLogger=r&&r.logEvent?r:n}(s||(s={})),function(e){var t;!function(t){var n,i,a,o,s=0,c=0,u=[],l=[];t.startTracing=function(o,d,_){if(e.Debug.assert(!e.tracing,"Tracing already started"),void 0===n)try{n=ld}catch(e){throw new Error("tracing requires having fs\n(original error: "+(e.message||e)+")")}i=o,u.length=0,void 0===a&&(a=e.combinePaths(d,"legend.json")),n.existsSync(d)||n.mkdirSync(d,{recursive:!0});var p="build"===i?"."+ar.pid+"-"+ ++s:"server"===i?"."+ar.pid:"",f=e.combinePaths(d,"trace"+p+".json"),g=e.combinePaths(d,"types"+p+".json");l.push({configFilePath:_,tracePath:f,typesPath:g}),c=n.openSync(f,"w"),e.tracing=t;var m={cat:"__metadata",ph:"M",ts:1e3*e.timestamp(),pid:1,tid:1};n.writeSync(c,"[\n"+[r({name:"process_name",args:{name:"tsc"}},m),r({name:"thread_name",args:{name:"Main"}},m),r(r({name:"TracingStartedInBrowser"},m),{cat:"disabled-by-default-devtools.timeline"})].map((function(e){return JSON.stringify(e)})).join(",\n"))},t.stopTracing=function(){e.Debug.assert(e.tracing,"Tracing is not in progress"),e.Debug.assert(!!u.length==("server"!==i)),n.writeSync(c,"\n]\n"),n.closeSync(c),e.tracing=void 0,u.length?function(t){var i,a,o,s,c,u,d,_,p,g,m,y,v,h,D,x,b,S,E,T,C,k;e.performance.mark("beginDumpTypes");var A=l[l.length-1].typesPath,F=n.openSync(A,"w"),N=new e.Map;n.writeSync(F,"[");for(var P=t.length,w=0;w0),_(d.length-1,1e3*e.timestamp()),d.length--},t.popAll=function(){for(var t=1e3*e.timestamp(),r=d.length-1;r>=0;r--)_(r,t);d.length=0};function _(e,t){var r=d[e],n=r.phase,i=r.name,a=r.args,o=r.time;r.separateBeginAndEnd?p("E",n,i,a,void 0,t):1e4-o%1e4<=t-o&&p("X",n,i,a,'"dur":'+(t-o),o)}function p(t,r,a,o,s,u){void 0===u&&(u=1e3*e.timestamp()),"server"===i&&"checkTypes"===r||(e.performance.mark("beginTracing"),n.writeSync(c,',\n{"pid":1,"tid":1,"ph":"'+t+'","cat":"'+r+'","ts":'+u+',"name":"'+a+'"'),s&&n.writeSync(c,","+s),o&&n.writeSync(c,',"args":'+JSON.stringify(o)),n.writeSync(c,"}"),e.performance.mark("endTracing"),e.performance.measure("Tracing","beginTracing","endTracing"))}function f(t){var r=e.getSourceFileOfNode(t);return r?{path:r.path,start:n(e.getLineAndCharacterOfPosition(r,t.pos)),end:n(e.getLineAndCharacterOfPosition(r,t.end))}:void 0;function n(e){return{line:e.line+1,character:e.character+1}}}t.dumpLegend=function(){a&&n.writeFileSync(a,JSON.stringify(l))}}(t||(t={})),e.startTracing=t.startTracing,e.dumpTracingLegend=t.dumpLegend}(s||(s={})),function(e){var t,r,n,i,a,o,s,c,u;(t=e.SyntaxKind||(e.SyntaxKind={}))[t.Unknown=0]="Unknown",t[t.EndOfFileToken=1]="EndOfFileToken",t[t.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",t[t.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",t[t.NewLineTrivia=4]="NewLineTrivia",t[t.WhitespaceTrivia=5]="WhitespaceTrivia",t[t.ShebangTrivia=6]="ShebangTrivia",t[t.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",t[t.NumericLiteral=8]="NumericLiteral",t[t.BigIntLiteral=9]="BigIntLiteral",t[t.StringLiteral=10]="StringLiteral",t[t.JsxText=11]="JsxText",t[t.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",t[t.RegularExpressionLiteral=13]="RegularExpressionLiteral",t[t.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",t[t.TemplateHead=15]="TemplateHead",t[t.TemplateMiddle=16]="TemplateMiddle",t[t.TemplateTail=17]="TemplateTail",t[t.OpenBraceToken=18]="OpenBraceToken",t[t.CloseBraceToken=19]="CloseBraceToken",t[t.OpenParenToken=20]="OpenParenToken",t[t.CloseParenToken=21]="CloseParenToken",t[t.OpenBracketToken=22]="OpenBracketToken",t[t.CloseBracketToken=23]="CloseBracketToken",t[t.DotToken=24]="DotToken",t[t.DotDotDotToken=25]="DotDotDotToken",t[t.SemicolonToken=26]="SemicolonToken",t[t.CommaToken=27]="CommaToken",t[t.QuestionDotToken=28]="QuestionDotToken",t[t.LessThanToken=29]="LessThanToken",t[t.LessThanSlashToken=30]="LessThanSlashToken",t[t.GreaterThanToken=31]="GreaterThanToken",t[t.LessThanEqualsToken=32]="LessThanEqualsToken",t[t.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",t[t.EqualsEqualsToken=34]="EqualsEqualsToken",t[t.ExclamationEqualsToken=35]="ExclamationEqualsToken",t[t.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",t[t.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",t[t.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",t[t.PlusToken=39]="PlusToken",t[t.MinusToken=40]="MinusToken",t[t.AsteriskToken=41]="AsteriskToken",t[t.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",t[t.SlashToken=43]="SlashToken",t[t.PercentToken=44]="PercentToken",t[t.PlusPlusToken=45]="PlusPlusToken",t[t.MinusMinusToken=46]="MinusMinusToken",t[t.LessThanLessThanToken=47]="LessThanLessThanToken",t[t.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",t[t.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",t[t.AmpersandToken=50]="AmpersandToken",t[t.BarToken=51]="BarToken",t[t.CaretToken=52]="CaretToken",t[t.ExclamationToken=53]="ExclamationToken",t[t.TildeToken=54]="TildeToken",t[t.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",t[t.BarBarToken=56]="BarBarToken",t[t.QuestionToken=57]="QuestionToken",t[t.ColonToken=58]="ColonToken",t[t.AtToken=59]="AtToken",t[t.QuestionQuestionToken=60]="QuestionQuestionToken",t[t.BacktickToken=61]="BacktickToken",t[t.EqualsToken=62]="EqualsToken",t[t.PlusEqualsToken=63]="PlusEqualsToken",t[t.MinusEqualsToken=64]="MinusEqualsToken",t[t.AsteriskEqualsToken=65]="AsteriskEqualsToken",t[t.AsteriskAsteriskEqualsToken=66]="AsteriskAsteriskEqualsToken",t[t.SlashEqualsToken=67]="SlashEqualsToken",t[t.PercentEqualsToken=68]="PercentEqualsToken",t[t.LessThanLessThanEqualsToken=69]="LessThanLessThanEqualsToken",t[t.GreaterThanGreaterThanEqualsToken=70]="GreaterThanGreaterThanEqualsToken",t[t.GreaterThanGreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanGreaterThanEqualsToken",t[t.AmpersandEqualsToken=72]="AmpersandEqualsToken",t[t.BarEqualsToken=73]="BarEqualsToken",t[t.BarBarEqualsToken=74]="BarBarEqualsToken",t[t.AmpersandAmpersandEqualsToken=75]="AmpersandAmpersandEqualsToken",t[t.QuestionQuestionEqualsToken=76]="QuestionQuestionEqualsToken",t[t.CaretEqualsToken=77]="CaretEqualsToken",t[t.Identifier=78]="Identifier",t[t.PrivateIdentifier=79]="PrivateIdentifier",t[t.BreakKeyword=80]="BreakKeyword",t[t.CaseKeyword=81]="CaseKeyword",t[t.CatchKeyword=82]="CatchKeyword",t[t.ClassKeyword=83]="ClassKeyword",t[t.ConstKeyword=84]="ConstKeyword",t[t.ContinueKeyword=85]="ContinueKeyword",t[t.DebuggerKeyword=86]="DebuggerKeyword",t[t.DefaultKeyword=87]="DefaultKeyword",t[t.DeleteKeyword=88]="DeleteKeyword",t[t.DoKeyword=89]="DoKeyword",t[t.ElseKeyword=90]="ElseKeyword",t[t.EnumKeyword=91]="EnumKeyword",t[t.ExportKeyword=92]="ExportKeyword",t[t.ExtendsKeyword=93]="ExtendsKeyword",t[t.FalseKeyword=94]="FalseKeyword",t[t.FinallyKeyword=95]="FinallyKeyword",t[t.ForKeyword=96]="ForKeyword",t[t.FunctionKeyword=97]="FunctionKeyword",t[t.IfKeyword=98]="IfKeyword",t[t.ImportKeyword=99]="ImportKeyword",t[t.InKeyword=100]="InKeyword",t[t.InstanceOfKeyword=101]="InstanceOfKeyword",t[t.NewKeyword=102]="NewKeyword",t[t.NullKeyword=103]="NullKeyword",t[t.ReturnKeyword=104]="ReturnKeyword",t[t.SuperKeyword=105]="SuperKeyword",t[t.SwitchKeyword=106]="SwitchKeyword",t[t.ThisKeyword=107]="ThisKeyword",t[t.ThrowKeyword=108]="ThrowKeyword",t[t.TrueKeyword=109]="TrueKeyword",t[t.TryKeyword=110]="TryKeyword",t[t.TypeOfKeyword=111]="TypeOfKeyword",t[t.VarKeyword=112]="VarKeyword",t[t.VoidKeyword=113]="VoidKeyword",t[t.WhileKeyword=114]="WhileKeyword",t[t.WithKeyword=115]="WithKeyword",t[t.ImplementsKeyword=116]="ImplementsKeyword",t[t.InterfaceKeyword=117]="InterfaceKeyword",t[t.LetKeyword=118]="LetKeyword",t[t.PackageKeyword=119]="PackageKeyword",t[t.PrivateKeyword=120]="PrivateKeyword",t[t.ProtectedKeyword=121]="ProtectedKeyword",t[t.PublicKeyword=122]="PublicKeyword",t[t.StaticKeyword=123]="StaticKeyword",t[t.YieldKeyword=124]="YieldKeyword",t[t.AbstractKeyword=125]="AbstractKeyword",t[t.AsKeyword=126]="AsKeyword",t[t.AssertsKeyword=127]="AssertsKeyword",t[t.AnyKeyword=128]="AnyKeyword",t[t.AsyncKeyword=129]="AsyncKeyword",t[t.AwaitKeyword=130]="AwaitKeyword",t[t.BooleanKeyword=131]="BooleanKeyword",t[t.ConstructorKeyword=132]="ConstructorKeyword",t[t.DeclareKeyword=133]="DeclareKeyword",t[t.GetKeyword=134]="GetKeyword",t[t.InferKeyword=135]="InferKeyword",t[t.IntrinsicKeyword=136]="IntrinsicKeyword",t[t.IsKeyword=137]="IsKeyword",t[t.KeyOfKeyword=138]="KeyOfKeyword",t[t.ModuleKeyword=139]="ModuleKeyword",t[t.NamespaceKeyword=140]="NamespaceKeyword",t[t.NeverKeyword=141]="NeverKeyword",t[t.ReadonlyKeyword=142]="ReadonlyKeyword",t[t.RequireKeyword=143]="RequireKeyword",t[t.NumberKeyword=144]="NumberKeyword",t[t.ObjectKeyword=145]="ObjectKeyword",t[t.SetKeyword=146]="SetKeyword",t[t.StringKeyword=147]="StringKeyword",t[t.SymbolKeyword=148]="SymbolKeyword",t[t.TypeKeyword=149]="TypeKeyword",t[t.UndefinedKeyword=150]="UndefinedKeyword",t[t.UniqueKeyword=151]="UniqueKeyword",t[t.UnknownKeyword=152]="UnknownKeyword",t[t.FromKeyword=153]="FromKeyword",t[t.GlobalKeyword=154]="GlobalKeyword",t[t.BigIntKeyword=155]="BigIntKeyword",t[t.OverrideKeyword=156]="OverrideKeyword",t[t.OfKeyword=157]="OfKeyword",t[t.QualifiedName=158]="QualifiedName",t[t.ComputedPropertyName=159]="ComputedPropertyName",t[t.TypeParameter=160]="TypeParameter",t[t.Parameter=161]="Parameter",t[t.Decorator=162]="Decorator",t[t.PropertySignature=163]="PropertySignature",t[t.PropertyDeclaration=164]="PropertyDeclaration",t[t.MethodSignature=165]="MethodSignature",t[t.MethodDeclaration=166]="MethodDeclaration",t[t.Constructor=167]="Constructor",t[t.GetAccessor=168]="GetAccessor",t[t.SetAccessor=169]="SetAccessor",t[t.CallSignature=170]="CallSignature",t[t.ConstructSignature=171]="ConstructSignature",t[t.IndexSignature=172]="IndexSignature",t[t.TypePredicate=173]="TypePredicate",t[t.TypeReference=174]="TypeReference",t[t.FunctionType=175]="FunctionType",t[t.ConstructorType=176]="ConstructorType",t[t.TypeQuery=177]="TypeQuery",t[t.TypeLiteral=178]="TypeLiteral",t[t.ArrayType=179]="ArrayType",t[t.TupleType=180]="TupleType",t[t.OptionalType=181]="OptionalType",t[t.RestType=182]="RestType",t[t.UnionType=183]="UnionType",t[t.IntersectionType=184]="IntersectionType",t[t.ConditionalType=185]="ConditionalType",t[t.InferType=186]="InferType",t[t.ParenthesizedType=187]="ParenthesizedType",t[t.ThisType=188]="ThisType",t[t.TypeOperator=189]="TypeOperator",t[t.IndexedAccessType=190]="IndexedAccessType",t[t.MappedType=191]="MappedType",t[t.LiteralType=192]="LiteralType",t[t.NamedTupleMember=193]="NamedTupleMember",t[t.TemplateLiteralType=194]="TemplateLiteralType",t[t.TemplateLiteralTypeSpan=195]="TemplateLiteralTypeSpan",t[t.ImportType=196]="ImportType",t[t.ObjectBindingPattern=197]="ObjectBindingPattern",t[t.ArrayBindingPattern=198]="ArrayBindingPattern",t[t.BindingElement=199]="BindingElement",t[t.ArrayLiteralExpression=200]="ArrayLiteralExpression",t[t.ObjectLiteralExpression=201]="ObjectLiteralExpression",t[t.PropertyAccessExpression=202]="PropertyAccessExpression",t[t.ElementAccessExpression=203]="ElementAccessExpression",t[t.CallExpression=204]="CallExpression",t[t.NewExpression=205]="NewExpression",t[t.TaggedTemplateExpression=206]="TaggedTemplateExpression",t[t.TypeAssertionExpression=207]="TypeAssertionExpression",t[t.ParenthesizedExpression=208]="ParenthesizedExpression",t[t.FunctionExpression=209]="FunctionExpression",t[t.ArrowFunction=210]="ArrowFunction",t[t.DeleteExpression=211]="DeleteExpression",t[t.TypeOfExpression=212]="TypeOfExpression",t[t.VoidExpression=213]="VoidExpression",t[t.AwaitExpression=214]="AwaitExpression",t[t.PrefixUnaryExpression=215]="PrefixUnaryExpression",t[t.PostfixUnaryExpression=216]="PostfixUnaryExpression",t[t.BinaryExpression=217]="BinaryExpression",t[t.ConditionalExpression=218]="ConditionalExpression",t[t.TemplateExpression=219]="TemplateExpression",t[t.YieldExpression=220]="YieldExpression",t[t.SpreadElement=221]="SpreadElement",t[t.ClassExpression=222]="ClassExpression",t[t.OmittedExpression=223]="OmittedExpression",t[t.ExpressionWithTypeArguments=224]="ExpressionWithTypeArguments",t[t.AsExpression=225]="AsExpression",t[t.NonNullExpression=226]="NonNullExpression",t[t.MetaProperty=227]="MetaProperty",t[t.SyntheticExpression=228]="SyntheticExpression",t[t.TemplateSpan=229]="TemplateSpan",t[t.SemicolonClassElement=230]="SemicolonClassElement",t[t.Block=231]="Block",t[t.EmptyStatement=232]="EmptyStatement",t[t.VariableStatement=233]="VariableStatement",t[t.ExpressionStatement=234]="ExpressionStatement",t[t.IfStatement=235]="IfStatement",t[t.DoStatement=236]="DoStatement",t[t.WhileStatement=237]="WhileStatement",t[t.ForStatement=238]="ForStatement",t[t.ForInStatement=239]="ForInStatement",t[t.ForOfStatement=240]="ForOfStatement",t[t.ContinueStatement=241]="ContinueStatement",t[t.BreakStatement=242]="BreakStatement",t[t.ReturnStatement=243]="ReturnStatement",t[t.WithStatement=244]="WithStatement",t[t.SwitchStatement=245]="SwitchStatement",t[t.LabeledStatement=246]="LabeledStatement",t[t.ThrowStatement=247]="ThrowStatement",t[t.TryStatement=248]="TryStatement",t[t.DebuggerStatement=249]="DebuggerStatement",t[t.VariableDeclaration=250]="VariableDeclaration",t[t.VariableDeclarationList=251]="VariableDeclarationList",t[t.FunctionDeclaration=252]="FunctionDeclaration",t[t.ClassDeclaration=253]="ClassDeclaration",t[t.InterfaceDeclaration=254]="InterfaceDeclaration",t[t.TypeAliasDeclaration=255]="TypeAliasDeclaration",t[t.EnumDeclaration=256]="EnumDeclaration",t[t.ModuleDeclaration=257]="ModuleDeclaration",t[t.ModuleBlock=258]="ModuleBlock",t[t.CaseBlock=259]="CaseBlock",t[t.NamespaceExportDeclaration=260]="NamespaceExportDeclaration",t[t.ImportEqualsDeclaration=261]="ImportEqualsDeclaration",t[t.ImportDeclaration=262]="ImportDeclaration",t[t.ImportClause=263]="ImportClause",t[t.NamespaceImport=264]="NamespaceImport",t[t.NamedImports=265]="NamedImports",t[t.ImportSpecifier=266]="ImportSpecifier",t[t.ExportAssignment=267]="ExportAssignment",t[t.ExportDeclaration=268]="ExportDeclaration",t[t.NamedExports=269]="NamedExports",t[t.NamespaceExport=270]="NamespaceExport",t[t.ExportSpecifier=271]="ExportSpecifier",t[t.MissingDeclaration=272]="MissingDeclaration",t[t.ExternalModuleReference=273]="ExternalModuleReference",t[t.JsxElement=274]="JsxElement",t[t.JsxSelfClosingElement=275]="JsxSelfClosingElement",t[t.JsxOpeningElement=276]="JsxOpeningElement",t[t.JsxClosingElement=277]="JsxClosingElement",t[t.JsxFragment=278]="JsxFragment",t[t.JsxOpeningFragment=279]="JsxOpeningFragment",t[t.JsxClosingFragment=280]="JsxClosingFragment",t[t.JsxAttribute=281]="JsxAttribute",t[t.JsxAttributes=282]="JsxAttributes",t[t.JsxSpreadAttribute=283]="JsxSpreadAttribute",t[t.JsxExpression=284]="JsxExpression",t[t.CaseClause=285]="CaseClause",t[t.DefaultClause=286]="DefaultClause",t[t.HeritageClause=287]="HeritageClause",t[t.CatchClause=288]="CatchClause",t[t.PropertyAssignment=289]="PropertyAssignment",t[t.ShorthandPropertyAssignment=290]="ShorthandPropertyAssignment",t[t.SpreadAssignment=291]="SpreadAssignment",t[t.EnumMember=292]="EnumMember",t[t.UnparsedPrologue=293]="UnparsedPrologue",t[t.UnparsedPrepend=294]="UnparsedPrepend",t[t.UnparsedText=295]="UnparsedText",t[t.UnparsedInternalText=296]="UnparsedInternalText",t[t.UnparsedSyntheticReference=297]="UnparsedSyntheticReference",t[t.SourceFile=298]="SourceFile",t[t.Bundle=299]="Bundle",t[t.UnparsedSource=300]="UnparsedSource",t[t.InputFiles=301]="InputFiles",t[t.JSDocTypeExpression=302]="JSDocTypeExpression",t[t.JSDocNameReference=303]="JSDocNameReference",t[t.JSDocAllType=304]="JSDocAllType",t[t.JSDocUnknownType=305]="JSDocUnknownType",t[t.JSDocNullableType=306]="JSDocNullableType",t[t.JSDocNonNullableType=307]="JSDocNonNullableType",t[t.JSDocOptionalType=308]="JSDocOptionalType",t[t.JSDocFunctionType=309]="JSDocFunctionType",t[t.JSDocVariadicType=310]="JSDocVariadicType",t[t.JSDocNamepathType=311]="JSDocNamepathType",t[t.JSDocComment=312]="JSDocComment",t[t.JSDocText=313]="JSDocText",t[t.JSDocTypeLiteral=314]="JSDocTypeLiteral",t[t.JSDocSignature=315]="JSDocSignature",t[t.JSDocLink=316]="JSDocLink",t[t.JSDocTag=317]="JSDocTag",t[t.JSDocAugmentsTag=318]="JSDocAugmentsTag",t[t.JSDocImplementsTag=319]="JSDocImplementsTag",t[t.JSDocAuthorTag=320]="JSDocAuthorTag",t[t.JSDocDeprecatedTag=321]="JSDocDeprecatedTag",t[t.JSDocClassTag=322]="JSDocClassTag",t[t.JSDocPublicTag=323]="JSDocPublicTag",t[t.JSDocPrivateTag=324]="JSDocPrivateTag",t[t.JSDocProtectedTag=325]="JSDocProtectedTag",t[t.JSDocReadonlyTag=326]="JSDocReadonlyTag",t[t.JSDocOverrideTag=327]="JSDocOverrideTag",t[t.JSDocCallbackTag=328]="JSDocCallbackTag",t[t.JSDocEnumTag=329]="JSDocEnumTag",t[t.JSDocParameterTag=330]="JSDocParameterTag",t[t.JSDocReturnTag=331]="JSDocReturnTag",t[t.JSDocThisTag=332]="JSDocThisTag",t[t.JSDocTypeTag=333]="JSDocTypeTag",t[t.JSDocTemplateTag=334]="JSDocTemplateTag",t[t.JSDocTypedefTag=335]="JSDocTypedefTag",t[t.JSDocSeeTag=336]="JSDocSeeTag",t[t.JSDocPropertyTag=337]="JSDocPropertyTag",t[t.SyntaxList=338]="SyntaxList",t[t.NotEmittedStatement=339]="NotEmittedStatement",t[t.PartiallyEmittedExpression=340]="PartiallyEmittedExpression",t[t.CommaListExpression=341]="CommaListExpression",t[t.MergeDeclarationMarker=342]="MergeDeclarationMarker",t[t.EndOfDeclarationMarker=343]="EndOfDeclarationMarker",t[t.SyntheticReferenceExpression=344]="SyntheticReferenceExpression",t[t.Count=345]="Count",t[t.FirstAssignment=62]="FirstAssignment",t[t.LastAssignment=77]="LastAssignment",t[t.FirstCompoundAssignment=63]="FirstCompoundAssignment",t[t.LastCompoundAssignment=77]="LastCompoundAssignment",t[t.FirstReservedWord=80]="FirstReservedWord",t[t.LastReservedWord=115]="LastReservedWord",t[t.FirstKeyword=80]="FirstKeyword",t[t.LastKeyword=157]="LastKeyword",t[t.FirstFutureReservedWord=116]="FirstFutureReservedWord",t[t.LastFutureReservedWord=124]="LastFutureReservedWord",t[t.FirstTypeNode=173]="FirstTypeNode",t[t.LastTypeNode=196]="LastTypeNode",t[t.FirstPunctuation=18]="FirstPunctuation",t[t.LastPunctuation=77]="LastPunctuation",t[t.FirstToken=0]="FirstToken",t[t.LastToken=157]="LastToken",t[t.FirstTriviaToken=2]="FirstTriviaToken",t[t.LastTriviaToken=7]="LastTriviaToken",t[t.FirstLiteralToken=8]="FirstLiteralToken",t[t.LastLiteralToken=14]="LastLiteralToken",t[t.FirstTemplateToken=14]="FirstTemplateToken",t[t.LastTemplateToken=17]="LastTemplateToken",t[t.FirstBinaryOperator=29]="FirstBinaryOperator",t[t.LastBinaryOperator=77]="LastBinaryOperator",t[t.FirstStatement=233]="FirstStatement",t[t.LastStatement=249]="LastStatement",t[t.FirstNode=158]="FirstNode",t[t.FirstJSDocNode=302]="FirstJSDocNode",t[t.LastJSDocNode=337]="LastJSDocNode",t[t.FirstJSDocTagNode=317]="FirstJSDocTagNode",t[t.LastJSDocTagNode=337]="LastJSDocTagNode",t[t.FirstContextualKeyword=125]="FirstContextualKeyword",t[t.LastContextualKeyword=157]="LastContextualKeyword",(r=e.NodeFlags||(e.NodeFlags={}))[r.None=0]="None",r[r.Let=1]="Let",r[r.Const=2]="Const",r[r.NestedNamespace=4]="NestedNamespace",r[r.Synthesized=8]="Synthesized",r[r.Namespace=16]="Namespace",r[r.OptionalChain=32]="OptionalChain",r[r.ExportContext=64]="ExportContext",r[r.ContainsThis=128]="ContainsThis",r[r.HasImplicitReturn=256]="HasImplicitReturn",r[r.HasExplicitReturn=512]="HasExplicitReturn",r[r.GlobalAugmentation=1024]="GlobalAugmentation",r[r.HasAsyncFunctions=2048]="HasAsyncFunctions",r[r.DisallowInContext=4096]="DisallowInContext",r[r.YieldContext=8192]="YieldContext",r[r.DecoratorContext=16384]="DecoratorContext",r[r.AwaitContext=32768]="AwaitContext",r[r.ThisNodeHasError=65536]="ThisNodeHasError",r[r.JavaScriptFile=131072]="JavaScriptFile",r[r.ThisNodeOrAnySubNodesHasError=262144]="ThisNodeOrAnySubNodesHasError",r[r.HasAggregatedChildData=524288]="HasAggregatedChildData",r[r.PossiblyContainsDynamicImport=1048576]="PossiblyContainsDynamicImport",r[r.PossiblyContainsImportMeta=2097152]="PossiblyContainsImportMeta",r[r.JSDoc=4194304]="JSDoc",r[r.Ambient=8388608]="Ambient",r[r.InWithStatement=16777216]="InWithStatement",r[r.JsonFile=33554432]="JsonFile",r[r.TypeCached=67108864]="TypeCached",r[r.Deprecated=134217728]="Deprecated",r[r.BlockScoped=3]="BlockScoped",r[r.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",r[r.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",r[r.ContextFlags=25358336]="ContextFlags",r[r.TypeExcludesFlags=40960]="TypeExcludesFlags",r[r.PermanentlySetIncrementalFlags=3145728]="PermanentlySetIncrementalFlags",(n=e.ModifierFlags||(e.ModifierFlags={}))[n.None=0]="None",n[n.Export=1]="Export",n[n.Ambient=2]="Ambient",n[n.Public=4]="Public",n[n.Private=8]="Private",n[n.Protected=16]="Protected",n[n.Static=32]="Static",n[n.Readonly=64]="Readonly",n[n.Abstract=128]="Abstract",n[n.Async=256]="Async",n[n.Default=512]="Default",n[n.Const=2048]="Const",n[n.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",n[n.Deprecated=8192]="Deprecated",n[n.Override=16384]="Override",n[n.HasComputedFlags=536870912]="HasComputedFlags",n[n.AccessibilityModifier=28]="AccessibilityModifier",n[n.ParameterPropertyModifier=16476]="ParameterPropertyModifier",n[n.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",n[n.TypeScriptModifier=18654]="TypeScriptModifier",n[n.ExportDefault=513]="ExportDefault",n[n.All=27647]="All",(i=e.JsxFlags||(e.JsxFlags={}))[i.None=0]="None",i[i.IntrinsicNamedElement=1]="IntrinsicNamedElement",i[i.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",i[i.IntrinsicElement=3]="IntrinsicElement",(a=e.RelationComparisonResult||(e.RelationComparisonResult={}))[a.Succeeded=1]="Succeeded",a[a.Failed=2]="Failed",a[a.Reported=4]="Reported",a[a.ReportsUnmeasurable=8]="ReportsUnmeasurable",a[a.ReportsUnreliable=16]="ReportsUnreliable",a[a.ReportsMask=24]="ReportsMask",(o=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}))[o.None=0]="None",o[o.Auto=1]="Auto",o[o.Loop=2]="Loop",o[o.Unique=3]="Unique",o[o.Node=4]="Node",o[o.KindMask=7]="KindMask",o[o.ReservedInNestedScopes=8]="ReservedInNestedScopes",o[o.Optimistic=16]="Optimistic",o[o.FileLevel=32]="FileLevel",o[o.AllowNameSubstitution=64]="AllowNameSubstitution",(s=e.TokenFlags||(e.TokenFlags={}))[s.None=0]="None",s[s.PrecedingLineBreak=1]="PrecedingLineBreak",s[s.PrecedingJSDocComment=2]="PrecedingJSDocComment",s[s.Unterminated=4]="Unterminated",s[s.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",s[s.Scientific=16]="Scientific",s[s.Octal=32]="Octal",s[s.HexSpecifier=64]="HexSpecifier",s[s.BinarySpecifier=128]="BinarySpecifier",s[s.OctalSpecifier=256]="OctalSpecifier",s[s.ContainsSeparator=512]="ContainsSeparator",s[s.UnicodeEscape=1024]="UnicodeEscape",s[s.ContainsInvalidEscape=2048]="ContainsInvalidEscape",s[s.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",s[s.NumericLiteralFlags=1008]="NumericLiteralFlags",s[s.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",(c=e.FlowFlags||(e.FlowFlags={}))[c.Unreachable=1]="Unreachable",c[c.Start=2]="Start",c[c.BranchLabel=4]="BranchLabel",c[c.LoopLabel=8]="LoopLabel",c[c.Assignment=16]="Assignment",c[c.TrueCondition=32]="TrueCondition",c[c.FalseCondition=64]="FalseCondition",c[c.SwitchClause=128]="SwitchClause",c[c.ArrayMutation=256]="ArrayMutation",c[c.Call=512]="Call",c[c.ReduceLabel=1024]="ReduceLabel",c[c.Referenced=2048]="Referenced",c[c.Shared=4096]="Shared",c[c.Label=12]="Label",c[c.Condition=96]="Condition",(u=e.CommentDirectiveType||(e.CommentDirectiveType={}))[u.ExpectError=0]="ExpectError",u[u.Ignore=1]="Ignore";var l,d,_,p,f,g,m,y,v,h,D,x,b,S,E,T,C,k,A,F,N,P,w,I,O,M,L,R,B,j,J,K,z,U,V,q,W,H,G,Y,X,$,Q,Z,ee,te,re,ne,ie,ae,oe,se,ce,ue,le,de=function(){};e.OperationCanceledException=de,(l=e.FileIncludeKind||(e.FileIncludeKind={}))[l.RootFile=0]="RootFile",l[l.SourceFromProjectReference=1]="SourceFromProjectReference",l[l.OutputFromProjectReference=2]="OutputFromProjectReference",l[l.Import=3]="Import",l[l.ReferenceFile=4]="ReferenceFile",l[l.TypeReferenceDirective=5]="TypeReferenceDirective",l[l.LibFile=6]="LibFile",l[l.LibReferenceDirective=7]="LibReferenceDirective",l[l.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",(d=e.FilePreprocessingDiagnosticsKind||(e.FilePreprocessingDiagnosticsKind={}))[d.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",d[d.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",(_=e.StructureIsReused||(e.StructureIsReused={}))[_.Not=0]="Not",_[_.SafeModules=1]="SafeModules",_[_.Completely=2]="Completely",(p=e.ExitStatus||(e.ExitStatus={}))[p.Success=0]="Success",p[p.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",p[p.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",p[p.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",p[p.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",p[p.ProjectReferenceCycle_OutputsSkupped=4]="ProjectReferenceCycle_OutputsSkupped",(f=e.UnionReduction||(e.UnionReduction={}))[f.None=0]="None",f[f.Literal=1]="Literal",f[f.Subtype=2]="Subtype",(g=e.ContextFlags||(e.ContextFlags={}))[g.None=0]="None",g[g.Signature=1]="Signature",g[g.NoConstraints=2]="NoConstraints",g[g.Completions=4]="Completions",g[g.SkipBindingPatterns=8]="SkipBindingPatterns",(m=e.NodeBuilderFlags||(e.NodeBuilderFlags={}))[m.None=0]="None",m[m.NoTruncation=1]="NoTruncation",m[m.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",m[m.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",m[m.UseStructuralFallback=8]="UseStructuralFallback",m[m.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",m[m.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",m[m.UseFullyQualifiedType=64]="UseFullyQualifiedType",m[m.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",m[m.SuppressAnyReturnType=256]="SuppressAnyReturnType",m[m.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",m[m.MultilineObjectLiterals=1024]="MultilineObjectLiterals",m[m.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",m[m.UseTypeOfFunction=4096]="UseTypeOfFunction",m[m.OmitParameterModifiers=8192]="OmitParameterModifiers",m[m.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",m[m.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",m[m.NoTypeReduction=536870912]="NoTypeReduction",m[m.NoUndefinedOptionalParameterType=1073741824]="NoUndefinedOptionalParameterType",m[m.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",m[m.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",m[m.AllowQualifedNameInPlaceOfIdentifier=65536]="AllowQualifedNameInPlaceOfIdentifier",m[m.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",m[m.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",m[m.AllowEmptyTuple=524288]="AllowEmptyTuple",m[m.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",m[m.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",m[m.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",m[m.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",m[m.IgnoreErrors=70221824]="IgnoreErrors",m[m.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",m[m.InTypeAlias=8388608]="InTypeAlias",m[m.InInitialEntityName=16777216]="InInitialEntityName",(y=e.TypeFormatFlags||(e.TypeFormatFlags={}))[y.None=0]="None",y[y.NoTruncation=1]="NoTruncation",y[y.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",y[y.UseStructuralFallback=8]="UseStructuralFallback",y[y.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",y[y.UseFullyQualifiedType=64]="UseFullyQualifiedType",y[y.SuppressAnyReturnType=256]="SuppressAnyReturnType",y[y.MultilineObjectLiterals=1024]="MultilineObjectLiterals",y[y.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",y[y.UseTypeOfFunction=4096]="UseTypeOfFunction",y[y.OmitParameterModifiers=8192]="OmitParameterModifiers",y[y.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",y[y.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",y[y.NoTypeReduction=536870912]="NoTypeReduction",y[y.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",y[y.AddUndefined=131072]="AddUndefined",y[y.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",y[y.InArrayType=524288]="InArrayType",y[y.InElementType=2097152]="InElementType",y[y.InFirstTypeArgument=4194304]="InFirstTypeArgument",y[y.InTypeAlias=8388608]="InTypeAlias",y[y.WriteOwnNameForAnyLike=0]="WriteOwnNameForAnyLike",y[y.NodeBuilderFlagsMask=814775659]="NodeBuilderFlagsMask",(v=e.SymbolFormatFlags||(e.SymbolFormatFlags={}))[v.None=0]="None",v[v.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",v[v.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",v[v.AllowAnyNodeKind=4]="AllowAnyNodeKind",v[v.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",v[v.DoNotIncludeSymbolChain=16]="DoNotIncludeSymbolChain",(h=e.SymbolAccessibility||(e.SymbolAccessibility={}))[h.Accessible=0]="Accessible",h[h.NotAccessible=1]="NotAccessible",h[h.CannotBeNamed=2]="CannotBeNamed",(D=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}))[D.UnionOrIntersection=0]="UnionOrIntersection",D[D.Spread=1]="Spread",(x=e.TypePredicateKind||(e.TypePredicateKind={}))[x.This=0]="This",x[x.Identifier=1]="Identifier",x[x.AssertsThis=2]="AssertsThis",x[x.AssertsIdentifier=3]="AssertsIdentifier",(b=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}))[b.Unknown=0]="Unknown",b[b.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",b[b.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",b[b.NumberLikeType=3]="NumberLikeType",b[b.BigIntLikeType=4]="BigIntLikeType",b[b.StringLikeType=5]="StringLikeType",b[b.BooleanType=6]="BooleanType",b[b.ArrayLikeType=7]="ArrayLikeType",b[b.ESSymbolType=8]="ESSymbolType",b[b.Promise=9]="Promise",b[b.TypeWithCallSignature=10]="TypeWithCallSignature",b[b.ObjectType=11]="ObjectType",(S=e.SymbolFlags||(e.SymbolFlags={}))[S.None=0]="None",S[S.FunctionScopedVariable=1]="FunctionScopedVariable",S[S.BlockScopedVariable=2]="BlockScopedVariable",S[S.Property=4]="Property",S[S.EnumMember=8]="EnumMember",S[S.Function=16]="Function",S[S.Class=32]="Class",S[S.Interface=64]="Interface",S[S.ConstEnum=128]="ConstEnum",S[S.RegularEnum=256]="RegularEnum",S[S.ValueModule=512]="ValueModule",S[S.NamespaceModule=1024]="NamespaceModule",S[S.TypeLiteral=2048]="TypeLiteral",S[S.ObjectLiteral=4096]="ObjectLiteral",S[S.Method=8192]="Method",S[S.Constructor=16384]="Constructor",S[S.GetAccessor=32768]="GetAccessor",S[S.SetAccessor=65536]="SetAccessor",S[S.Signature=131072]="Signature",S[S.TypeParameter=262144]="TypeParameter",S[S.TypeAlias=524288]="TypeAlias",S[S.ExportValue=1048576]="ExportValue",S[S.Alias=2097152]="Alias",S[S.Prototype=4194304]="Prototype",S[S.ExportStar=8388608]="ExportStar",S[S.Optional=16777216]="Optional",S[S.Transient=33554432]="Transient",S[S.Assignment=67108864]="Assignment",S[S.ModuleExports=134217728]="ModuleExports",S[S.All=67108863]="All",S[S.Enum=384]="Enum",S[S.Variable=3]="Variable",S[S.Value=111551]="Value",S[S.Type=788968]="Type",S[S.Namespace=1920]="Namespace",S[S.Module=1536]="Module",S[S.Accessor=98304]="Accessor",S[S.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",S[S.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",S[S.ParameterExcludes=111551]="ParameterExcludes",S[S.PropertyExcludes=0]="PropertyExcludes",S[S.EnumMemberExcludes=900095]="EnumMemberExcludes",S[S.FunctionExcludes=110991]="FunctionExcludes",S[S.ClassExcludes=899503]="ClassExcludes",S[S.InterfaceExcludes=788872]="InterfaceExcludes",S[S.RegularEnumExcludes=899327]="RegularEnumExcludes",S[S.ConstEnumExcludes=899967]="ConstEnumExcludes",S[S.ValueModuleExcludes=110735]="ValueModuleExcludes",S[S.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",S[S.MethodExcludes=103359]="MethodExcludes",S[S.GetAccessorExcludes=46015]="GetAccessorExcludes",S[S.SetAccessorExcludes=78783]="SetAccessorExcludes",S[S.TypeParameterExcludes=526824]="TypeParameterExcludes",S[S.TypeAliasExcludes=788968]="TypeAliasExcludes",S[S.AliasExcludes=2097152]="AliasExcludes",S[S.ModuleMember=2623475]="ModuleMember",S[S.ExportHasLocal=944]="ExportHasLocal",S[S.BlockScoped=418]="BlockScoped",S[S.PropertyOrAccessor=98308]="PropertyOrAccessor",S[S.ClassMember=106500]="ClassMember",S[S.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",S[S.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",S[S.Classifiable=2885600]="Classifiable",S[S.LateBindingContainer=6256]="LateBindingContainer",(E=e.EnumKind||(e.EnumKind={}))[E.Numeric=0]="Numeric",E[E.Literal=1]="Literal",(T=e.CheckFlags||(e.CheckFlags={}))[T.Instantiated=1]="Instantiated",T[T.SyntheticProperty=2]="SyntheticProperty",T[T.SyntheticMethod=4]="SyntheticMethod",T[T.Readonly=8]="Readonly",T[T.ReadPartial=16]="ReadPartial",T[T.WritePartial=32]="WritePartial",T[T.HasNonUniformType=64]="HasNonUniformType",T[T.HasLiteralType=128]="HasLiteralType",T[T.ContainsPublic=256]="ContainsPublic",T[T.ContainsProtected=512]="ContainsProtected",T[T.ContainsPrivate=1024]="ContainsPrivate",T[T.ContainsStatic=2048]="ContainsStatic",T[T.Late=4096]="Late",T[T.ReverseMapped=8192]="ReverseMapped",T[T.OptionalParameter=16384]="OptionalParameter",T[T.RestParameter=32768]="RestParameter",T[T.DeferredType=65536]="DeferredType",T[T.HasNeverType=131072]="HasNeverType",T[T.Mapped=262144]="Mapped",T[T.StripOptional=524288]="StripOptional",T[T.Synthetic=6]="Synthetic",T[T.Discriminant=192]="Discriminant",T[T.Partial=48]="Partial",(C=e.InternalSymbolName||(e.InternalSymbolName={})).Call="__call",C.Constructor="__constructor",C.New="__new",C.Index="__index",C.ExportStar="__export",C.Global="__global",C.Missing="__missing",C.Type="__type",C.Object="__object",C.JSXAttributes="__jsxAttributes",C.Class="__class",C.Function="__function",C.Computed="__computed",C.Resolving="__resolving__",C.ExportEquals="export=",C.Default="default",C.This="this",(k=e.NodeCheckFlags||(e.NodeCheckFlags={}))[k.TypeChecked=1]="TypeChecked",k[k.LexicalThis=2]="LexicalThis",k[k.CaptureThis=4]="CaptureThis",k[k.CaptureNewTarget=8]="CaptureNewTarget",k[k.SuperInstance=256]="SuperInstance",k[k.SuperStatic=512]="SuperStatic",k[k.ContextChecked=1024]="ContextChecked",k[k.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper",k[k.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding",k[k.CaptureArguments=8192]="CaptureArguments",k[k.EnumValuesComputed=16384]="EnumValuesComputed",k[k.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass",k[k.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding",k[k.ContainsCapturedBlockScopeBinding=131072]="ContainsCapturedBlockScopeBinding",k[k.CapturedBlockScopedBinding=262144]="CapturedBlockScopedBinding",k[k.BlockScopedBindingInLoop=524288]="BlockScopedBindingInLoop",k[k.ClassWithBodyScopedClassBinding=1048576]="ClassWithBodyScopedClassBinding",k[k.BodyScopedClassBinding=2097152]="BodyScopedClassBinding",k[k.NeedsLoopOutParameter=4194304]="NeedsLoopOutParameter",k[k.AssignmentsMarked=8388608]="AssignmentsMarked",k[k.ClassWithConstructorReference=16777216]="ClassWithConstructorReference",k[k.ConstructorReferenceInClass=33554432]="ConstructorReferenceInClass",k[k.ContainsClassWithPrivateIdentifiers=67108864]="ContainsClassWithPrivateIdentifiers",(A=e.TypeFlags||(e.TypeFlags={}))[A.Any=1]="Any",A[A.Unknown=2]="Unknown",A[A.String=4]="String",A[A.Number=8]="Number",A[A.Boolean=16]="Boolean",A[A.Enum=32]="Enum",A[A.BigInt=64]="BigInt",A[A.StringLiteral=128]="StringLiteral",A[A.NumberLiteral=256]="NumberLiteral",A[A.BooleanLiteral=512]="BooleanLiteral",A[A.EnumLiteral=1024]="EnumLiteral",A[A.BigIntLiteral=2048]="BigIntLiteral",A[A.ESSymbol=4096]="ESSymbol",A[A.UniqueESSymbol=8192]="UniqueESSymbol",A[A.Void=16384]="Void",A[A.Undefined=32768]="Undefined",A[A.Null=65536]="Null",A[A.Never=131072]="Never",A[A.TypeParameter=262144]="TypeParameter",A[A.Object=524288]="Object",A[A.Union=1048576]="Union",A[A.Intersection=2097152]="Intersection",A[A.Index=4194304]="Index",A[A.IndexedAccess=8388608]="IndexedAccess",A[A.Conditional=16777216]="Conditional",A[A.Substitution=33554432]="Substitution",A[A.NonPrimitive=67108864]="NonPrimitive",A[A.TemplateLiteral=134217728]="TemplateLiteral",A[A.StringMapping=268435456]="StringMapping",A[A.AnyOrUnknown=3]="AnyOrUnknown",A[A.Nullable=98304]="Nullable",A[A.Literal=2944]="Literal",A[A.Unit=109440]="Unit",A[A.StringOrNumberLiteral=384]="StringOrNumberLiteral",A[A.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",A[A.DefinitelyFalsy=117632]="DefinitelyFalsy",A[A.PossiblyFalsy=117724]="PossiblyFalsy",A[A.Intrinsic=67359327]="Intrinsic",A[A.Primitive=131068]="Primitive",A[A.StringLike=402653316]="StringLike",A[A.NumberLike=296]="NumberLike",A[A.BigIntLike=2112]="BigIntLike",A[A.BooleanLike=528]="BooleanLike",A[A.EnumLike=1056]="EnumLike",A[A.ESSymbolLike=12288]="ESSymbolLike",A[A.VoidLike=49152]="VoidLike",A[A.DisjointDomains=469892092]="DisjointDomains",A[A.UnionOrIntersection=3145728]="UnionOrIntersection",A[A.StructuredType=3670016]="StructuredType",A[A.TypeVariable=8650752]="TypeVariable",A[A.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",A[A.InstantiablePrimitive=406847488]="InstantiablePrimitive",A[A.Instantiable=465829888]="Instantiable",A[A.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",A[A.ObjectFlagsType=3899393]="ObjectFlagsType",A[A.Simplifiable=25165824]="Simplifiable",A[A.Substructure=469237760]="Substructure",A[A.Narrowable=536624127]="Narrowable",A[A.NotPrimitiveUnion=468598819]="NotPrimitiveUnion",A[A.IncludesMask=205258751]="IncludesMask",A[A.IncludesStructuredOrInstantiable=262144]="IncludesStructuredOrInstantiable",A[A.IncludesNonWideningType=4194304]="IncludesNonWideningType",A[A.IncludesWildcard=8388608]="IncludesWildcard",A[A.IncludesEmptyObject=16777216]="IncludesEmptyObject",(F=e.ObjectFlags||(e.ObjectFlags={}))[F.Class=1]="Class",F[F.Interface=2]="Interface",F[F.Reference=4]="Reference",F[F.Tuple=8]="Tuple",F[F.Anonymous=16]="Anonymous",F[F.Mapped=32]="Mapped",F[F.Instantiated=64]="Instantiated",F[F.ObjectLiteral=128]="ObjectLiteral",F[F.EvolvingArray=256]="EvolvingArray",F[F.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",F[F.ReverseMapped=1024]="ReverseMapped",F[F.JsxAttributes=2048]="JsxAttributes",F[F.MarkerType=4096]="MarkerType",F[F.JSLiteral=8192]="JSLiteral",F[F.FreshLiteral=16384]="FreshLiteral",F[F.ArrayLiteral=32768]="ArrayLiteral",F[F.PrimitiveUnion=65536]="PrimitiveUnion",F[F.ContainsWideningType=131072]="ContainsWideningType",F[F.ContainsObjectOrArrayLiteral=262144]="ContainsObjectOrArrayLiteral",F[F.NonInferrableType=524288]="NonInferrableType",F[F.CouldContainTypeVariablesComputed=1048576]="CouldContainTypeVariablesComputed",F[F.CouldContainTypeVariables=2097152]="CouldContainTypeVariables",F[F.ClassOrInterface=3]="ClassOrInterface",F[F.RequiresWidening=393216]="RequiresWidening",F[F.PropagatingFlags=917504]="PropagatingFlags",F[F.ObjectTypeKindMask=1343]="ObjectTypeKindMask",F[F.ContainsSpread=4194304]="ContainsSpread",F[F.ObjectRestType=8388608]="ObjectRestType",F[F.IsClassInstanceClone=16777216]="IsClassInstanceClone",F[F.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",F[F.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",F[F.IsGenericObjectTypeComputed=4194304]="IsGenericObjectTypeComputed",F[F.IsGenericObjectType=8388608]="IsGenericObjectType",F[F.IsGenericIndexTypeComputed=16777216]="IsGenericIndexTypeComputed",F[F.IsGenericIndexType=33554432]="IsGenericIndexType",F[F.ContainsIntersections=67108864]="ContainsIntersections",F[F.IsNeverIntersectionComputed=67108864]="IsNeverIntersectionComputed",F[F.IsNeverIntersection=134217728]="IsNeverIntersection",(N=e.VarianceFlags||(e.VarianceFlags={}))[N.Invariant=0]="Invariant",N[N.Covariant=1]="Covariant",N[N.Contravariant=2]="Contravariant",N[N.Bivariant=3]="Bivariant",N[N.Independent=4]="Independent",N[N.VarianceMask=7]="VarianceMask",N[N.Unmeasurable=8]="Unmeasurable",N[N.Unreliable=16]="Unreliable",N[N.AllowsStructuralFallback=24]="AllowsStructuralFallback",(P=e.ElementFlags||(e.ElementFlags={}))[P.Required=1]="Required",P[P.Optional=2]="Optional",P[P.Rest=4]="Rest",P[P.Variadic=8]="Variadic",P[P.Fixed=3]="Fixed",P[P.Variable=12]="Variable",P[P.NonRequired=14]="NonRequired",P[P.NonRest=11]="NonRest",(w=e.JsxReferenceKind||(e.JsxReferenceKind={}))[w.Component=0]="Component",w[w.Function=1]="Function",w[w.Mixed=2]="Mixed",(I=e.SignatureKind||(e.SignatureKind={}))[I.Call=0]="Call",I[I.Construct=1]="Construct",(O=e.SignatureFlags||(e.SignatureFlags={}))[O.None=0]="None",O[O.HasRestParameter=1]="HasRestParameter",O[O.HasLiteralTypes=2]="HasLiteralTypes",O[O.Abstract=4]="Abstract",O[O.IsInnerCallChain=8]="IsInnerCallChain",O[O.IsOuterCallChain=16]="IsOuterCallChain",O[O.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",O[O.PropagatingFlags=39]="PropagatingFlags",O[O.CallChainFlags=24]="CallChainFlags",(M=e.IndexKind||(e.IndexKind={}))[M.String=0]="String",M[M.Number=1]="Number",(L=e.TypeMapKind||(e.TypeMapKind={}))[L.Simple=0]="Simple",L[L.Array=1]="Array",L[L.Function=2]="Function",L[L.Composite=3]="Composite",L[L.Merged=4]="Merged",(R=e.InferencePriority||(e.InferencePriority={}))[R.NakedTypeVariable=1]="NakedTypeVariable",R[R.SpeculativeTuple=2]="SpeculativeTuple",R[R.SubstituteSource=4]="SubstituteSource",R[R.HomomorphicMappedType=8]="HomomorphicMappedType",R[R.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",R[R.MappedTypeConstraint=32]="MappedTypeConstraint",R[R.ContravariantConditional=64]="ContravariantConditional",R[R.ReturnType=128]="ReturnType",R[R.LiteralKeyof=256]="LiteralKeyof",R[R.NoConstraints=512]="NoConstraints",R[R.AlwaysStrict=1024]="AlwaysStrict",R[R.MaxValue=2048]="MaxValue",R[R.PriorityImpliesCombination=416]="PriorityImpliesCombination",R[R.Circularity=-1]="Circularity",(B=e.InferenceFlags||(e.InferenceFlags={}))[B.None=0]="None",B[B.NoDefault=1]="NoDefault",B[B.AnyDefault=2]="AnyDefault",B[B.SkippedGenericFunction=4]="SkippedGenericFunction",(j=e.Ternary||(e.Ternary={}))[j.False=0]="False",j[j.Unknown=1]="Unknown",j[j.Maybe=3]="Maybe",j[j.True=-1]="True",(J=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}))[J.None=0]="None",J[J.ExportsProperty=1]="ExportsProperty",J[J.ModuleExports=2]="ModuleExports",J[J.PrototypeProperty=3]="PrototypeProperty",J[J.ThisProperty=4]="ThisProperty",J[J.Property=5]="Property",J[J.Prototype=6]="Prototype",J[J.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",J[J.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",J[J.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message"}(K=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(e,t){void 0===t&&(t=!0);var r=K[e.category];return t?r.toLowerCase():r},(z=e.ModuleResolutionKind||(e.ModuleResolutionKind={}))[z.Classic=1]="Classic",z[z.NodeJs=2]="NodeJs",(U=e.WatchFileKind||(e.WatchFileKind={}))[U.FixedPollingInterval=0]="FixedPollingInterval",U[U.PriorityPollingInterval=1]="PriorityPollingInterval",U[U.DynamicPriorityPolling=2]="DynamicPriorityPolling",U[U.FixedChunkSizePolling=3]="FixedChunkSizePolling",U[U.UseFsEvents=4]="UseFsEvents",U[U.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",(V=e.WatchDirectoryKind||(e.WatchDirectoryKind={}))[V.UseFsEvents=0]="UseFsEvents",V[V.FixedPollingInterval=1]="FixedPollingInterval",V[V.DynamicPriorityPolling=2]="DynamicPriorityPolling",V[V.FixedChunkSizePolling=3]="FixedChunkSizePolling",(q=e.PollingWatchKind||(e.PollingWatchKind={}))[q.FixedInterval=0]="FixedInterval",q[q.PriorityInterval=1]="PriorityInterval",q[q.DynamicPriority=2]="DynamicPriority",q[q.FixedChunkSize=3]="FixedChunkSize",(W=e.ModuleKind||(e.ModuleKind={}))[W.None=0]="None",W[W.CommonJS=1]="CommonJS",W[W.AMD=2]="AMD",W[W.UMD=3]="UMD",W[W.System=4]="System",W[W.ES2015=5]="ES2015",W[W.ES2020=6]="ES2020",W[W.ESNext=99]="ESNext",(H=e.JsxEmit||(e.JsxEmit={}))[H.None=0]="None",H[H.Preserve=1]="Preserve",H[H.React=2]="React",H[H.ReactNative=3]="ReactNative",H[H.ReactJSX=4]="ReactJSX",H[H.ReactJSXDev=5]="ReactJSXDev",(G=e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={}))[G.Remove=0]="Remove",G[G.Preserve=1]="Preserve",G[G.Error=2]="Error",(Y=e.NewLineKind||(e.NewLineKind={}))[Y.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",Y[Y.LineFeed=1]="LineFeed",(X=e.ScriptKind||(e.ScriptKind={}))[X.Unknown=0]="Unknown",X[X.JS=1]="JS",X[X.JSX=2]="JSX",X[X.TS=3]="TS",X[X.TSX=4]="TSX",X[X.External=5]="External",X[X.JSON=6]="JSON",X[X.Deferred=7]="Deferred",($=e.ScriptTarget||(e.ScriptTarget={}))[$.ES3=0]="ES3",$[$.ES5=1]="ES5",$[$.ES2015=2]="ES2015",$[$.ES2016=3]="ES2016",$[$.ES2017=4]="ES2017",$[$.ES2018=5]="ES2018",$[$.ES2019=6]="ES2019",$[$.ES2020=7]="ES2020",$[$.ES2021=8]="ES2021",$[$.ESNext=99]="ESNext",$[$.JSON=100]="JSON",$[$.Latest=99]="Latest",(Q=e.LanguageVariant||(e.LanguageVariant={}))[Q.Standard=0]="Standard",Q[Q.JSX=1]="JSX",(Z=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}))[Z.None=0]="None",Z[Z.Recursive=1]="Recursive",(ee=e.CharacterCodes||(e.CharacterCodes={}))[ee.nullCharacter=0]="nullCharacter",ee[ee.maxAsciiCharacter=127]="maxAsciiCharacter",ee[ee.lineFeed=10]="lineFeed",ee[ee.carriageReturn=13]="carriageReturn",ee[ee.lineSeparator=8232]="lineSeparator",ee[ee.paragraphSeparator=8233]="paragraphSeparator",ee[ee.nextLine=133]="nextLine",ee[ee.space=32]="space",ee[ee.nonBreakingSpace=160]="nonBreakingSpace",ee[ee.enQuad=8192]="enQuad",ee[ee.emQuad=8193]="emQuad",ee[ee.enSpace=8194]="enSpace",ee[ee.emSpace=8195]="emSpace",ee[ee.threePerEmSpace=8196]="threePerEmSpace",ee[ee.fourPerEmSpace=8197]="fourPerEmSpace",ee[ee.sixPerEmSpace=8198]="sixPerEmSpace",ee[ee.figureSpace=8199]="figureSpace",ee[ee.punctuationSpace=8200]="punctuationSpace",ee[ee.thinSpace=8201]="thinSpace",ee[ee.hairSpace=8202]="hairSpace",ee[ee.zeroWidthSpace=8203]="zeroWidthSpace",ee[ee.narrowNoBreakSpace=8239]="narrowNoBreakSpace",ee[ee.ideographicSpace=12288]="ideographicSpace",ee[ee.mathematicalSpace=8287]="mathematicalSpace",ee[ee.ogham=5760]="ogham",ee[ee._=95]="_",ee[ee.$=36]="$",ee[ee._0=48]="_0",ee[ee._1=49]="_1",ee[ee._2=50]="_2",ee[ee._3=51]="_3",ee[ee._4=52]="_4",ee[ee._5=53]="_5",ee[ee._6=54]="_6",ee[ee._7=55]="_7",ee[ee._8=56]="_8",ee[ee._9=57]="_9",ee[ee.a=97]="a",ee[ee.b=98]="b",ee[ee.c=99]="c",ee[ee.d=100]="d",ee[ee.e=101]="e",ee[ee.f=102]="f",ee[ee.g=103]="g",ee[ee.h=104]="h",ee[ee.i=105]="i",ee[ee.j=106]="j",ee[ee.k=107]="k",ee[ee.l=108]="l",ee[ee.m=109]="m",ee[ee.n=110]="n",ee[ee.o=111]="o",ee[ee.p=112]="p",ee[ee.q=113]="q",ee[ee.r=114]="r",ee[ee.s=115]="s",ee[ee.t=116]="t",ee[ee.u=117]="u",ee[ee.v=118]="v",ee[ee.w=119]="w",ee[ee.x=120]="x",ee[ee.y=121]="y",ee[ee.z=122]="z",ee[ee.A=65]="A",ee[ee.B=66]="B",ee[ee.C=67]="C",ee[ee.D=68]="D",ee[ee.E=69]="E",ee[ee.F=70]="F",ee[ee.G=71]="G",ee[ee.H=72]="H",ee[ee.I=73]="I",ee[ee.J=74]="J",ee[ee.K=75]="K",ee[ee.L=76]="L",ee[ee.M=77]="M",ee[ee.N=78]="N",ee[ee.O=79]="O",ee[ee.P=80]="P",ee[ee.Q=81]="Q",ee[ee.R=82]="R",ee[ee.S=83]="S",ee[ee.T=84]="T",ee[ee.U=85]="U",ee[ee.V=86]="V",ee[ee.W=87]="W",ee[ee.X=88]="X",ee[ee.Y=89]="Y",ee[ee.Z=90]="Z",ee[ee.ampersand=38]="ampersand",ee[ee.asterisk=42]="asterisk",ee[ee.at=64]="at",ee[ee.backslash=92]="backslash",ee[ee.backtick=96]="backtick",ee[ee.bar=124]="bar",ee[ee.caret=94]="caret",ee[ee.closeBrace=125]="closeBrace",ee[ee.closeBracket=93]="closeBracket",ee[ee.closeParen=41]="closeParen",ee[ee.colon=58]="colon",ee[ee.comma=44]="comma",ee[ee.dot=46]="dot",ee[ee.doubleQuote=34]="doubleQuote",ee[ee.equals=61]="equals",ee[ee.exclamation=33]="exclamation",ee[ee.greaterThan=62]="greaterThan",ee[ee.hash=35]="hash",ee[ee.lessThan=60]="lessThan",ee[ee.minus=45]="minus",ee[ee.openBrace=123]="openBrace",ee[ee.openBracket=91]="openBracket",ee[ee.openParen=40]="openParen",ee[ee.percent=37]="percent",ee[ee.plus=43]="plus",ee[ee.question=63]="question",ee[ee.semicolon=59]="semicolon",ee[ee.singleQuote=39]="singleQuote",ee[ee.slash=47]="slash",ee[ee.tilde=126]="tilde",ee[ee.backspace=8]="backspace",ee[ee.formFeed=12]="formFeed",ee[ee.byteOrderMark=65279]="byteOrderMark",ee[ee.tab=9]="tab",ee[ee.verticalTab=11]="verticalTab",(te=e.Extension||(e.Extension={})).Ts=".ts",te.Tsx=".tsx",te.Dts=".d.ts",te.Js=".js",te.Jsx=".jsx",te.Json=".json",te.TsBuildInfo=".tsbuildinfo",(re=e.TransformFlags||(e.TransformFlags={}))[re.None=0]="None",re[re.ContainsTypeScript=1]="ContainsTypeScript",re[re.ContainsJsx=2]="ContainsJsx",re[re.ContainsESNext=4]="ContainsESNext",re[re.ContainsES2021=8]="ContainsES2021",re[re.ContainsES2020=16]="ContainsES2020",re[re.ContainsES2019=32]="ContainsES2019",re[re.ContainsES2018=64]="ContainsES2018",re[re.ContainsES2017=128]="ContainsES2017",re[re.ContainsES2016=256]="ContainsES2016",re[re.ContainsES2015=512]="ContainsES2015",re[re.ContainsGenerator=1024]="ContainsGenerator",re[re.ContainsDestructuringAssignment=2048]="ContainsDestructuringAssignment",re[re.ContainsTypeScriptClassSyntax=4096]="ContainsTypeScriptClassSyntax",re[re.ContainsLexicalThis=8192]="ContainsLexicalThis",re[re.ContainsRestOrSpread=16384]="ContainsRestOrSpread",re[re.ContainsObjectRestOrSpread=32768]="ContainsObjectRestOrSpread",re[re.ContainsComputedPropertyName=65536]="ContainsComputedPropertyName",re[re.ContainsBlockScopedBinding=131072]="ContainsBlockScopedBinding",re[re.ContainsBindingPattern=262144]="ContainsBindingPattern",re[re.ContainsYield=524288]="ContainsYield",re[re.ContainsAwait=1048576]="ContainsAwait",re[re.ContainsHoistedDeclarationOrCompletion=2097152]="ContainsHoistedDeclarationOrCompletion",re[re.ContainsDynamicImport=4194304]="ContainsDynamicImport",re[re.ContainsClassFields=8388608]="ContainsClassFields",re[re.ContainsPossibleTopLevelAwait=16777216]="ContainsPossibleTopLevelAwait",re[re.HasComputedFlags=536870912]="HasComputedFlags",re[re.AssertTypeScript=1]="AssertTypeScript",re[re.AssertJsx=2]="AssertJsx",re[re.AssertESNext=4]="AssertESNext",re[re.AssertES2021=8]="AssertES2021",re[re.AssertES2020=16]="AssertES2020",re[re.AssertES2019=32]="AssertES2019",re[re.AssertES2018=64]="AssertES2018",re[re.AssertES2017=128]="AssertES2017",re[re.AssertES2016=256]="AssertES2016",re[re.AssertES2015=512]="AssertES2015",re[re.AssertGenerator=1024]="AssertGenerator",re[re.AssertDestructuringAssignment=2048]="AssertDestructuringAssignment",re[re.OuterExpressionExcludes=536870912]="OuterExpressionExcludes",re[re.PropertyAccessExcludes=536870912]="PropertyAccessExcludes",re[re.NodeExcludes=536870912]="NodeExcludes",re[re.ArrowFunctionExcludes=557748224]="ArrowFunctionExcludes",re[re.FunctionExcludes=557756416]="FunctionExcludes",re[re.ConstructorExcludes=557752320]="ConstructorExcludes",re[re.MethodOrAccessorExcludes=540975104]="MethodOrAccessorExcludes",re[re.PropertyExcludes=536879104]="PropertyExcludes",re[re.ClassExcludes=536940544]="ClassExcludes",re[re.ModuleExcludes=555888640]="ModuleExcludes",re[re.TypeExcludes=-2]="TypeExcludes",re[re.ObjectLiteralExcludes=536973312]="ObjectLiteralExcludes",re[re.ArrayLiteralOrCallOrNewExcludes=536887296]="ArrayLiteralOrCallOrNewExcludes",re[re.VariableDeclarationListExcludes=537165824]="VariableDeclarationListExcludes",re[re.ParameterExcludes=536870912]="ParameterExcludes",re[re.CatchClauseExcludes=536903680]="CatchClauseExcludes",re[re.BindingPatternExcludes=536887296]="BindingPatternExcludes",re[re.PropertyNamePropagatingFlags=8192]="PropertyNamePropagatingFlags",(ne=e.EmitFlags||(e.EmitFlags={}))[ne.None=0]="None",ne[ne.SingleLine=1]="SingleLine",ne[ne.AdviseOnEmitNode=2]="AdviseOnEmitNode",ne[ne.NoSubstitution=4]="NoSubstitution",ne[ne.CapturesThis=8]="CapturesThis",ne[ne.NoLeadingSourceMap=16]="NoLeadingSourceMap",ne[ne.NoTrailingSourceMap=32]="NoTrailingSourceMap",ne[ne.NoSourceMap=48]="NoSourceMap",ne[ne.NoNestedSourceMaps=64]="NoNestedSourceMaps",ne[ne.NoTokenLeadingSourceMaps=128]="NoTokenLeadingSourceMaps",ne[ne.NoTokenTrailingSourceMaps=256]="NoTokenTrailingSourceMaps",ne[ne.NoTokenSourceMaps=384]="NoTokenSourceMaps",ne[ne.NoLeadingComments=512]="NoLeadingComments",ne[ne.NoTrailingComments=1024]="NoTrailingComments",ne[ne.NoComments=1536]="NoComments",ne[ne.NoNestedComments=2048]="NoNestedComments",ne[ne.HelperName=4096]="HelperName",ne[ne.ExportName=8192]="ExportName",ne[ne.LocalName=16384]="LocalName",ne[ne.InternalName=32768]="InternalName",ne[ne.Indented=65536]="Indented",ne[ne.NoIndentation=131072]="NoIndentation",ne[ne.AsyncFunctionBody=262144]="AsyncFunctionBody",ne[ne.ReuseTempVariableScope=524288]="ReuseTempVariableScope",ne[ne.CustomPrologue=1048576]="CustomPrologue",ne[ne.NoHoisting=2097152]="NoHoisting",ne[ne.HasEndOfDeclarationMarker=4194304]="HasEndOfDeclarationMarker",ne[ne.Iterator=8388608]="Iterator",ne[ne.NoAsciiEscaping=16777216]="NoAsciiEscaping",ne[ne.TypeScriptClassWrapper=33554432]="TypeScriptClassWrapper",ne[ne.NeverApplyImportHelper=67108864]="NeverApplyImportHelper",ne[ne.IgnoreSourceNewlines=134217728]="IgnoreSourceNewlines",(ie=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}))[ie.Extends=1]="Extends",ie[ie.Assign=2]="Assign",ie[ie.Rest=4]="Rest",ie[ie.Decorate=8]="Decorate",ie[ie.Metadata=16]="Metadata",ie[ie.Param=32]="Param",ie[ie.Awaiter=64]="Awaiter",ie[ie.Generator=128]="Generator",ie[ie.Values=256]="Values",ie[ie.Read=512]="Read",ie[ie.SpreadArray=1024]="SpreadArray",ie[ie.Await=2048]="Await",ie[ie.AsyncGenerator=4096]="AsyncGenerator",ie[ie.AsyncDelegator=8192]="AsyncDelegator",ie[ie.AsyncValues=16384]="AsyncValues",ie[ie.ExportStar=32768]="ExportStar",ie[ie.ImportStar=65536]="ImportStar",ie[ie.ImportDefault=131072]="ImportDefault",ie[ie.MakeTemplateObject=262144]="MakeTemplateObject",ie[ie.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",ie[ie.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",ie[ie.CreateBinding=2097152]="CreateBinding",ie[ie.FirstEmitHelper=1]="FirstEmitHelper",ie[ie.LastEmitHelper=2097152]="LastEmitHelper",ie[ie.ForOfIncludes=256]="ForOfIncludes",ie[ie.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",ie[ie.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",ie[ie.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",ie[ie.SpreadIncludes=1536]="SpreadIncludes",(ae=e.EmitHint||(e.EmitHint={}))[ae.SourceFile=0]="SourceFile",ae[ae.Expression=1]="Expression",ae[ae.IdentifierName=2]="IdentifierName",ae[ae.MappedTypeParameter=3]="MappedTypeParameter",ae[ae.Unspecified=4]="Unspecified",ae[ae.EmbeddedStatement=5]="EmbeddedStatement",ae[ae.JsxAttributeValue=6]="JsxAttributeValue",(oe=e.OuterExpressionKinds||(e.OuterExpressionKinds={}))[oe.Parentheses=1]="Parentheses",oe[oe.TypeAssertions=2]="TypeAssertions",oe[oe.NonNullAssertions=4]="NonNullAssertions",oe[oe.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",oe[oe.Assertions=6]="Assertions",oe[oe.All=15]="All",(se=e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={}))[se.None=0]="None",se[se.InParameters=1]="InParameters",se[se.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",(ce=e.BundleFileSectionKind||(e.BundleFileSectionKind={})).Prologue="prologue",ce.EmitHelpers="emitHelpers",ce.NoDefaultLib="no-default-lib",ce.Reference="reference",ce.Type="type",ce.Lib="lib",ce.Prepend="prepend",ce.Text="text",ce.Internal="internal",(ue=e.ListFormat||(e.ListFormat={}))[ue.None=0]="None",ue[ue.SingleLine=0]="SingleLine",ue[ue.MultiLine=1]="MultiLine",ue[ue.PreserveLines=2]="PreserveLines",ue[ue.LinesMask=3]="LinesMask",ue[ue.NotDelimited=0]="NotDelimited",ue[ue.BarDelimited=4]="BarDelimited",ue[ue.AmpersandDelimited=8]="AmpersandDelimited",ue[ue.CommaDelimited=16]="CommaDelimited",ue[ue.AsteriskDelimited=32]="AsteriskDelimited",ue[ue.DelimitersMask=60]="DelimitersMask",ue[ue.AllowTrailingComma=64]="AllowTrailingComma",ue[ue.Indented=128]="Indented",ue[ue.SpaceBetweenBraces=256]="SpaceBetweenBraces",ue[ue.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",ue[ue.Braces=1024]="Braces",ue[ue.Parenthesis=2048]="Parenthesis",ue[ue.AngleBrackets=4096]="AngleBrackets",ue[ue.SquareBrackets=8192]="SquareBrackets",ue[ue.BracketsMask=15360]="BracketsMask",ue[ue.OptionalIfUndefined=16384]="OptionalIfUndefined",ue[ue.OptionalIfEmpty=32768]="OptionalIfEmpty",ue[ue.Optional=49152]="Optional",ue[ue.PreferNewLine=65536]="PreferNewLine",ue[ue.NoTrailingNewLine=131072]="NoTrailingNewLine",ue[ue.NoInterveningComments=262144]="NoInterveningComments",ue[ue.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",ue[ue.SingleElement=1048576]="SingleElement",ue[ue.SpaceAfterList=2097152]="SpaceAfterList",ue[ue.Modifiers=262656]="Modifiers",ue[ue.HeritageClauses=512]="HeritageClauses",ue[ue.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",ue[ue.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",ue[ue.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",ue[ue.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",ue[ue.UnionTypeConstituents=516]="UnionTypeConstituents",ue[ue.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",ue[ue.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",ue[ue.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",ue[ue.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",ue[ue.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",ue[ue.CommaListElements=528]="CommaListElements",ue[ue.CallExpressionArguments=2576]="CallExpressionArguments",ue[ue.NewExpressionArguments=18960]="NewExpressionArguments",ue[ue.TemplateExpressionSpans=262144]="TemplateExpressionSpans",ue[ue.SingleLineBlockStatements=768]="SingleLineBlockStatements",ue[ue.MultiLineBlockStatements=129]="MultiLineBlockStatements",ue[ue.VariableDeclarationList=528]="VariableDeclarationList",ue[ue.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",ue[ue.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",ue[ue.ClassHeritageClauses=0]="ClassHeritageClauses",ue[ue.ClassMembers=129]="ClassMembers",ue[ue.InterfaceMembers=129]="InterfaceMembers",ue[ue.EnumMembers=145]="EnumMembers",ue[ue.CaseBlockClauses=129]="CaseBlockClauses",ue[ue.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",ue[ue.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",ue[ue.JsxElementAttributes=262656]="JsxElementAttributes",ue[ue.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",ue[ue.HeritageClauseTypes=528]="HeritageClauseTypes",ue[ue.SourceFileStatements=131073]="SourceFileStatements",ue[ue.Decorators=2146305]="Decorators",ue[ue.TypeArguments=53776]="TypeArguments",ue[ue.TypeParameters=53776]="TypeParameters",ue[ue.Parameters=2576]="Parameters",ue[ue.IndexSignatureParameters=8848]="IndexSignatureParameters",ue[ue.JSDocComment=33]="JSDocComment",(le=e.PragmaKindFlags||(e.PragmaKindFlags={}))[le.None=0]="None",le[le.TripleSlashXML=1]="TripleSlashXML",le[le.SingleLine=2]="SingleLine",le[le.MultiLine=4]="MultiLine",le[le.All=7]="All",le[le.Default=7]="Default",e.commentPragmas={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}(s||(s={})),function(e){e.directorySeparator="/",e.altDirectorySeparator="\\";var r=/\\/g;function n(e){return 47===e||92===e}function i(e){return l(e)>0}function a(e){return 0!==l(e)}function o(e){return/^\.\.?($|[\\/])/.test(e)}function s(t,r){return t.length>r.length&&e.endsWith(t,r)}function c(e){return e.length>0&&n(e.charCodeAt(e.length-1))}function u(e){return e>=97&&e<=122||e>=65&&e<=90}function l(t){if(!t)return 0;var r=t.charCodeAt(0);if(47===r||92===r){if(t.charCodeAt(1)!==r)return 1;var n=t.indexOf(47===r?e.directorySeparator:e.altDirectorySeparator,2);return n<0?t.length:n+1}if(u(r)&&58===t.charCodeAt(1)){var i=t.charCodeAt(2);if(47===i||92===i)return 3;if(2===t.length)return 2}var a=t.indexOf("://");if(-1!==a){var o=a+"://".length,s=t.indexOf(e.directorySeparator,o);if(-1!==s){var c=t.slice(0,a),l=t.slice(o,s);if("file"===c&&(""===l||"localhost"===l)&&u(t.charCodeAt(s+1))){var d=function(e,t){var r=e.charCodeAt(t);if(58===r)return t+1;if(37===r&&51===e.charCodeAt(t+1)){var n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(t,s+2);if(-1!==d){if(47===t.charCodeAt(d))return~(d+1);if(d===t.length)return~d}}return~(s+1)}return~t.length}return 0}function d(e){var t=l(e);return t<0?~t:t}function _(t){var r=d(t=v(t));return r===t.length?t:(t=T(t)).slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}function p(t,r,n){if(d(t=v(t))===t.length)return"";var i=(t=T(t)).slice(Math.max(d(t),t.lastIndexOf(e.directorySeparator)+1)),a=void 0!==r&&void 0!==n?g(i,r,n):void 0;return a?i.slice(0,i.length-a.length):i}function f(t,r,n){if(e.startsWith(r,".")||(r="."+r),t.length>=r.length&&46===t.charCodeAt(t.length-r.length)){var i=t.slice(t.length-r.length);if(n(i,r))return i}}function g(t,r,n){if(r)return function(e,t,r){if("string"==typeof t)return f(e,t,r)||"";for(var n=0,i=t;n=0?i.substring(a):""}function m(r,n){return void 0===n&&(n=""),function(r,n){var i=r.substring(0,n),a=r.substring(n).split(e.directorySeparator);return a.length&&!e.lastOrUndefined(a)&&a.pop(),t([i],a)}(r=D(n,r),d(r))}function y(t){return 0===t.length?"":(t[0]&&C(t[0]))+t.slice(1).join(e.directorySeparator)}function v(t){return t.replace(r,e.directorySeparator)}function h(t){if(!e.some(t))return[];for(var r=[t[0]],n=1;n1){if(".."!==r[r.length-1]){r.pop();continue}}else if(r[0])continue;r.push(i)}}return r}function D(e){for(var t=[],r=1;r0&&t===e.length},e.pathIsAbsolute=a,e.pathIsRelative=o,e.pathIsBareSpecifier=function(e){return!a(e)&&!o(e)},e.hasExtension=function(t){return e.stringContains(p(t),".")},e.fileExtensionIs=s,e.fileExtensionIsOneOf=function(e,t){for(var r=0,n=t;r0==d(r)>0,"Paths must either both be absolute or both be relative");var i="function"==typeof n?n:e.identity;return y(N(t,r,"boolean"==typeof n&&n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i))}function w(t,r,n,a,o){var s=N(x(n,t),x(n,r),e.equateStringsCaseSensitive,a),c=s[0];if(o&&i(c)){var u=c.charAt(0)===e.directorySeparator?"file://":"file:///";s[0]=u+c}return y(s)}e.comparePathsCaseSensitive=function(t,r){return F(t,r,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(t,r){return F(t,r,e.compareStringsCaseInsensitive)},e.comparePaths=function(t,r,n,i){return"string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),F(t,r,e.getStringComparer(i))},e.containsPath=function(t,r,n,i){if("string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),void 0===t||void 0===r)return!1;if(t===r)return!0;var a=h(m(t)),o=h(m(r));if(o.length=2&&254===r[0]&&255===r[1]){n&=-2;for(var i=0;i=2&&255===r[0]&&254===r[1]?r.toString("utf16le",2):n>=3&&239===r[0]&&187===r[1]&&191===r[2]?r.toString("utf8",3):r.toString("utf8")}(t);return e.perfLogger.logStopReadFile(),n},writeFile:function(t,r,n){var i;e.perfLogger.logEvent("WriteFile: "+t),n&&(r="\ufeff"+r);try{i=s.openSync(t,"w"),s.writeSync(i,r,void 0,"utf8")}finally{void 0!==i&&s.closeSync(i)}},watchFile:b,watchDirectory:S,resolvePath:function(e){return u.resolve(e)},fileExists:P,directoryExists:w,createDirectory:function(e){if(!T.directoryExists(e))try{s.mkdirSync(e)}catch(e){if("EEXIST"!==e.code)throw e}},getExecutingFilePath:function(){return"/prettier-security-filename-placeholder.js"},getCurrentDirectory:h,getDirectories:function(e){return F(e).directories.slice()},getEnvironmentVariable:function(e){return ar.env[e]||""},readDirectory:function(t,r,n,i,a){return e.matchFiles(t,r,n,i,m,ar.cwd(),a,F,I)},getModifiedTime:O,setModifiedTime:function(e,t){try{s.utimesSync(e,t,t)}catch(e){return}},deleteFile:function(e){try{return s.unlinkSync(e)}catch(e){return}},createHash:i?M:t,createSHA256Hash:i?M:void 0,getMemoryUsage:function(){return _.gc&&_.gc(),ar.memoryUsage().heapUsed},getFileSize:function(e){try{var t=C(e);if(null==t?void 0:t.isFile())return t.size}catch(e){}return 0},exit:function(e){k((function(){return ar.exit(e)}))},enableCPUProfiler:function(e,t){if(a)return t(),!1;var r={};if(!r||!r.Session)return t(),!1;var n=new r.Session;return n.connect(),n.post("Profiler.enable",(function(){n.post("Profiler.start",(function(){a=n,d=e,t()}))})),!0},disableCPUProfiler:k,cpuProfilingEnabled:function(){return!!a||e.contains(ar.execArgv,"--cpu-prof")||e.contains(ar.execArgv,"--prof")},realpath:I,debugMode:!!ar.env.NODE_INSPECTOR_IPC||!!ar.env.VSCODE_INSPECTOR_OPTIONS||e.some(ar.execArgv,(function(e){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(e)})),tryEnableSourceMapsForHost:function(){try{dd.install()}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout,clearScreen:function(){ar.stdout.write("\x1bc")},setBlocking:function(){},bufferFrom:A,base64decode:function(e){return A(e,"base64").toString("utf8")},base64encode:function(e){return A(e).toString("base64")},require:function(t,r){try{var n=e.resolveJSModule(r,t,T);return{module:require(n),modulePath:n,error:void 0}}catch(e){return{module:void 0,modulePath:void 0,error:e}}}};return T;function C(e){return s.statSync(e,{throwIfNoEntry:!1})}function k(t){if(a&&"stopping"!==a){var r=a;return a.post("Profiler.stop",(function(n,i){var c,l=i.profile;if(!n){try{(null===(c=C(d))||void 0===c?void 0:c.isDirectory())&&(d=u.join(d,(new Date).toISOString().replace(/:/g,"-")+"+P"+ar.pid+".cpuprofile"))}catch(e){}try{s.mkdirSync(u.dirname(d),{recursive:!0})}catch(e){}s.writeFileSync(d,JSON.stringify(function(t){for(var r=0,n=new e.Map,i=e.normalizeSlashes("/prettier-security-dirname-placeholder"),a="file://"+(1===e.getRootLength(i)?"":"/")+i,s=0,c=t.nodes;s type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1103,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:t(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:t(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:t(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:t(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:t(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:t(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:t(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:t(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205","Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'."),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:t(1208,e.DiagnosticCategory.Error,"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208","'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:t(1231,e.DiagnosticCategory.Error,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:t(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{0}' tag cannot be used independently as a top level JSDoc tag."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:t(1258,e.DiagnosticCategory.Error,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t(1263,e.DiagnosticCategory.Error,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:t(1264,e.DiagnosticCategory.Error,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:t(1265,e.DiagnosticCategory.Error,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:t(1266,e.DiagnosticCategory.Error,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:t(1323,e.DiagnosticCategory.Error,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'."),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments."),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system:t(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'."),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Did_you_mean_to_parenthesize_this_function_type:t(1360,e.DiagnosticCategory.Error,"Did_you_mean_to_parenthesize_this_function_type_1360","Did you mean to parenthesize this function type?"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(1368,e.DiagnosticCategory.Message,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368","Specify emit/checking behavior for imports that are only used for types"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,"Only_named_exports_may_use_export_type_1383","Only named exports may use 'export type'."),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384","A 'new' expression with type arguments must always be followed by a parenthesized argument list."),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:t(1389,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),Provides_a_root_package_name_when_using_outFile_with_declarations:t(1390,e.DiagnosticCategory.Message,"Provides_a_root_package_name_when_using_outFile_with_declarations_1390","Provides a root package name when using outFile with declarations."),The_bundledPackageName_option_must_be_provided_when_using_outFile_and_node_module_resolution_with_declaration_emit:t(1391,e.DiagnosticCategory.Error,"The_bundledPackageName_option_must_be_provided_when_using_outFile_and_node_module_resolution_with_de_1391","The 'bundledPackageName' option must be provided when using outFile and node module resolution with declaration emit."),An_import_alias_cannot_use_import_type:t(1392,e.DiagnosticCategory.Error,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:t(1393,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:t(1394,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:t(1395,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:t(1396,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:t(1397,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:t(1398,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:t(1399,e.DiagnosticCategory.Message,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:t(1400,e.DiagnosticCategory.Message,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:t(1401,e.DiagnosticCategory.Message,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:t(1402,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:t(1403,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:t(1404,e.DiagnosticCategory.Message,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:t(1405,e.DiagnosticCategory.Message,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:t(1406,e.DiagnosticCategory.Message,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:t(1407,e.DiagnosticCategory.Message,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:t(1408,e.DiagnosticCategory.Message,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:t(1409,e.DiagnosticCategory.Message,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:t(1410,e.DiagnosticCategory.Message,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:t(1411,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:t(1412,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:t(1413,e.DiagnosticCategory.Message,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:t(1414,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:t(1415,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:t(1416,e.DiagnosticCategory.Message,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:t(1417,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:t(1418,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:t(1419,e.DiagnosticCategory.Message,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:t(1420,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:t(1421,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:t(1422,e.DiagnosticCategory.Message,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:t(1423,e.DiagnosticCategory.Message,"File_is_library_specified_here_1423","File is library specified here."),Default_library:t(1424,e.DiagnosticCategory.Message,"Default_library_1424","Default library"),Default_library_for_target_0:t(1425,e.DiagnosticCategory.Message,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:t(1426,e.DiagnosticCategory.Message,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:t(1427,e.DiagnosticCategory.Message,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:t(1428,e.DiagnosticCategory.Message,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:t(1429,e.DiagnosticCategory.Message,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:t(1430,e.DiagnosticCategory.Message,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1431,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1432,e.DiagnosticCategory.Error,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),Decorators_may_not_be_applied_to_this_parameters:t(1433,e.DiagnosticCategory.Error,"Decorators_may_not_be_applied_to_this_parameters_1433","Decorators may not be applied to 'this' parameters."),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_not_be_a_primitive:t(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_not_be_a_primitive_2361","The right-hand side of an 'in' expression must not be a primitive."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:t(2380,e.DiagnosticCategory.Error,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:t(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","Property '{0}' of type '{1}' is not assignable to string index type '{2}'."),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:t(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:t(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:t(2419,e.DiagnosticCategory.Error,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:t(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:t(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:t(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","A computed property name of the form '{0}' must be of type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474","const enum member initializers can only contain literal values and other computed enum values."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","Expression resolves to variable declaration '{0}' that compiler uses to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:t(2550,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:t(2556,e.DiagnosticCategory.Error,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),Rest_signatures_are_incompatible:t(2572,e.DiagnosticCategory.Error,"Rest_signatures_are_incompatible_2572","Rest signatures are incompatible."),Property_0_is_incompatible_with_rest_element_type:t(2573,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_rest_element_type_2573","Property '{0}' is incompatible with rest element type."),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:t(2576,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:t(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:t(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Enum_type_0_circularly_references_itself:t(2586,e.DiagnosticCategory.Error,"Enum_type_0_circularly_references_itself_2586","Enum type '{0}' circularly references itself."),JSDoc_type_0_circularly_references_itself:t(2587,e.DiagnosticCategory.Error,"JSDoc_type_0_circularly_references_itself_2587","JSDoc type '{0}' circularly references itself."),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594","This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","The return type of a JSX element constructor must return an object type."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:t(2623,e.DiagnosticCategory.Error,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:t(2624,e.DiagnosticCategory.Error,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:t(2625,e.DiagnosticCategory.Error,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:t(2626,e.DiagnosticCategory.Error,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:t(2627,e.DiagnosticCategory.Error,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:t(2628,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:t(2629,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:t(2630,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:t(2631,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:t(2632,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:t(2633,e.DiagnosticCategory.Error,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:t(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:t(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:t(2690,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748","Cannot access ambient const enums when the '--isolatedModules' flag is provided."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:t(2793,e.DiagnosticCategory.Error,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:t(2794,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:t(2795,e.DiagnosticCategory.Error,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:t(2796,e.DiagnosticCategory.Error,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:t(2797,e.DiagnosticCategory.Error,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:t(2798,e.DiagnosticCategory.Error,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:t(2799,e.DiagnosticCategory.Error,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:t(2800,e.DiagnosticCategory.Error,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:t(2801,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:t(2802,e.DiagnosticCategory.Error,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:t(2803,e.DiagnosticCategory.Error,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:t(2804,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag:t(2805,e.DiagnosticCategory.Error,"Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_no_2805","Static fields with private names can't have initializers when the '--useDefineForClassFields' flag is not specified with a '--target' of 'esnext'. Consider adding the '--useDefineForClassFields' flag."),Private_accessor_was_defined_without_a_getter:t(2806,e.DiagnosticCategory.Error,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:t(2807,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:t(2808,e.DiagnosticCategory.Error,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses:t(2809,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses."),Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false:t(2810,e.DiagnosticCategory.Error,"Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnex_2810","Property '{0}' may not be used in a static property's initializer in the same class when 'target' is 'esnext' and 'useDefineForClassFields' is 'false'."),Initializer_for_property_0:t(2811,e.DiagnosticCategory.Error,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:t(2812,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:t(4084,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:t(4111,e.DiagnosticCategory.Error,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:t(4112,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:t(4113,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:t(4114,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:t(4115,e.DiagnosticCategory.Error,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:t(4116,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:t(5089,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:t(5090,e.DiagnosticCategory.Error,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled:t(5091,e.DiagnosticCategory.Error,"Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when 'isolatedModules' is enabled."),The_root_value_of_a_0_file_must_be_an_object:t(5092,e.DiagnosticCategory.Error,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:t(5093,e.DiagnosticCategory.Error,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:t(5094,e.DiagnosticCategory.Error,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:t(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_ES2021_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_ES_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:t(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'."),Print_this_message:t(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:t(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:t(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:t(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:t(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:t(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:t(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:t(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:t(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:t(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:t(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:t(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_react_react_jsx_or_react_jsxdev:t(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_react_react_jsx_or_react_jsxdev_6080","Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'."),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:t(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:t(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:t(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:t(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:t(6226,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:t(6227,e.DiagnosticCategory.Message,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6228,e.DiagnosticCategory.Message,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228","Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:t(6237,e.DiagnosticCategory.Message,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:t(6238,e.DiagnosticCategory.Error,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:t(6239,e.DiagnosticCategory.Message,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:t(6240,e.DiagnosticCategory.Message,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:t(6241,e.DiagnosticCategory.Message,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:t(6242,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Projects_to_reference:t(6300,e.DiagnosticCategory.Message,"Projects_to_reference_6300","Projects to reference"),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:t(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:t(6360,e.DiagnosticCategory.Message,"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360","delete this - Project '{0}' is up to date because it was previously built"),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Enable_verbose_logging:t(6366,e.DiagnosticCategory.Message,"Enable_verbose_logging_6366","Enable verbose logging"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6368,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368","Build all projects, including those that appear to be up to date"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,"Enable_incremental_compilation_6378","Enable incremental compilation"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:t(6386,e.DiagnosticCategory.Message,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:t(6387,e.DiagnosticCategory.Suggestion,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:t(6388,e.DiagnosticCategory.Message,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:t(6505,e.DiagnosticCategory.Message,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Include_undefined_in_index_signature_results:t(6800,e.DiagnosticCategory.Message,"Include_undefined_in_index_signature_results_6800","Include 'undefined' in index signature results"),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:t(6801,e.DiagnosticCategory.Message,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6801","Ensure overriding members in derived classes are marked with an 'override' modifier."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:t(6802,e.DiagnosticCategory.Message,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6802","Require undeclared properties from index signatures to use element accesses."),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:t(7056,e.DiagnosticCategory.Error,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:t(7057,e.DiagnosticCategory.Error,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,"The_tag_was_first_specified_here_8034","The tag was first specified here."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:t(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Convert_0_to_1_in_0:t(95003,e.DiagnosticCategory.Message,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:t(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:t(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:t(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:t(95021,e.DiagnosticCategory.Message,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Allow_accessing_UMD_globals_from_modules:t(95076,e.DiagnosticCategory.Message,"Allow_accessing_UMD_globals_from_modules_95076","Allow accessing UMD globals from modules."),Extract_type:t(95077,e.DiagnosticCategory.Message,"Extract_type_95077","Extract type"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:t(95083,e.DiagnosticCategory.Message,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Add_class_tag:t(95102,e.DiagnosticCategory.Message,"Add_class_tag_95102","Add '@class' tag"),Add_this_tag:t(95103,e.DiagnosticCategory.Message,"Add_this_tag_95103","Add '@this' tag"),Add_this_parameter:t(95104,e.DiagnosticCategory.Message,"Add_this_parameter_95104","Add 'this' parameter."),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig.json to read more about this file"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:t(95143,e.DiagnosticCategory.Message,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:t(95144,e.DiagnosticCategory.Message,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:t(95145,e.DiagnosticCategory.Message,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:t(95146,e.DiagnosticCategory.Message,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:t(95147,e.DiagnosticCategory.Message,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:t(95148,e.DiagnosticCategory.Message,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:t(95149,e.DiagnosticCategory.Message,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:t(95150,e.DiagnosticCategory.Message,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:t(95151,e.DiagnosticCategory.Message,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:t(95152,e.DiagnosticCategory.Message,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:t(95153,e.DiagnosticCategory.Message,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:t(95154,e.DiagnosticCategory.Message,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:t(95155,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:t(95156,e.DiagnosticCategory.Message,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:t(95157,e.DiagnosticCategory.Message,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:t(95158,e.DiagnosticCategory.Message,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:t(95159,e.DiagnosticCategory.Message,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:t(95160,e.DiagnosticCategory.Message,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:t(95161,e.DiagnosticCategory.Message,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:t(95162,e.DiagnosticCategory.Message,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:t(95163,e.DiagnosticCategory.Message,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033","Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:t(18036,e.DiagnosticCategory.Error,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator.")}}(s||(s={})),function(e){var t;function n(e){return e>=78}e.tokenIsIdentifierOrKeyword=n,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||n(e)};var i=((t={abstract:125,any:128,as:126,asserts:127,bigint:155,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,t.debugger=86,t.declare=133,t.default=87,t.delete=88,t.do=89,t.else=90,t.enum=91,t.export=92,t.extends=93,t.false=94,t.finally=95,t.for=96,t.from=153,t.function=97,t.get=134,t.if=98,t.implements=116,t.import=99,t.in=100,t.infer=135,t.instanceof=101,t.interface=117,t.intrinsic=136,t.is=137,t.keyof=138,t.let=118,t.module=139,t.namespace=140,t.never=141,t.new=102,t.null=103,t.number=144,t.object=145,t.package=119,t.private=120,t.protected=121,t.public=122,t.override=156,t.readonly=142,t.require=143,t.global=154,t.return=104,t.set=146,t.static=123,t.string=147,t.super=105,t.switch=106,t.symbol=148,t.this=107,t.throw=108,t.true=109,t.try=110,t.type=149,t.typeof=111,t.undefined=150,t.unique=151,t.unknown=152,t.var=112,t.void=113,t.while=114,t.with=115,t.yield=124,t.async=129,t.await=130,t.of=157,t),a=new e.Map(e.getEntries(i)),o=new e.Map(e.getEntries(r(r({},i),{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":62,"+=":63,"-=":64,"*=":65,"**=":66,"/=":67,"%=":68,"<<=":69,">>=":70,">>>=":71,"&=":72,"|=":73,"^=":77,"||=":74,"&&=":75,"??=":76,"@":59,"`":61}))),s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],c=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],l=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],d=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],_=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],p=/^\s*\/\/\/?\s*@(ts-expect-error|ts-ignore)/,f=/^\s*(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/;function g(e,t){if(e=2?d:1===t?u:s)}e.isUnicodeIdentifierStart=m;var y,v=(y=[],o.forEach((function(e,t){y[e]=t})),y);function h(e){for(var t=new Array,r=0,n=0;r127&&C(i)&&(t.push(n),n=r)}}return t.push(n),t}function D(t,r,n,i,a){(r<0||r>=t.length)&&(a?r=r<0?0:r>=t.length?t.length-1:r:e.Debug.fail("Bad line number. Line: "+r+", lineStarts.length: "+t.length+" , line map is correct? "+(void 0!==i?e.arraysEqual(t,h(i)):"unknown")));var o=t[r]+n;return a?o>t[r+1]?t[r+1]:"string"==typeof i&&o>i.length?i.length:o:(r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function C(e){return 10===e||13===e||8232===e||8233===e}function k(e){return e>=48&&e<=57}function A(e){return k(e)||e>=65&&e<=70||e>=97&&e<=102}function F(e){return e>=48&&e<=55}e.tokenToString=function(e){return v[e]},e.stringToToken=function(e){return o.get(e)},e.computeLineStarts=h,e.getPositionOfLineAndCharacter=function(e,t,r,n){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,n):D(x(e),t,r,e.text,n)},e.computePositionOfLineAndCharacter=D,e.getLineStarts=x,e.computeLineAndCharacterOfPosition=b,e.computeLineOfPosition=S,e.getLinesBetweenPositions=function(e,t,r){if(t===r)return 0;var n=x(e),i=Math.min(t,r),a=i===r,o=a?t:r,s=S(n,i),c=S(n,o,s);return a?s-c:c-s},e.getLineAndCharacterOfPosition=function(e,t){return b(x(e),t)},e.isWhiteSpaceLike=E,e.isWhiteSpaceSingleLine=T,e.isLineBreak=C,e.isOctalDigit=F,e.couldStartTrivia=function(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return r>127}},e.skipTrivia=function(t,r,n,i,a){if(e.positionIsSynthesized(r))return r;for(var o=!1;;){var s=t.charCodeAt(r);switch(s){case 13:10===t.charCodeAt(r+1)&&r++;case 10:if(r++,n)return r;o=!!a;continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i)break;if(47===t.charCodeAt(r+1)){for(r+=2;r127&&E(s)){r++;continue}}return r}};var N="<<<<<<<".length;function P(t,r){if(e.Debug.assert(r>=0),0===r||C(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+N=0&&r127&&E(g)){d&&C(g)&&(l=!0),r++;continue}break e}}return d&&(p=i(s,c,u,l,a,p)),p}function R(e,t,r,n,i){return L(!0,e,t,!1,r,n,i)}function B(e,t,r,n,i){return L(!0,e,t,!0,r,n,i)}function j(e,t,r,n,i,a){return a||(a=[]),a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),a}function J(e){var t=I.exec(e);if(t)return t[0]}function K(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&m(e,t)}function z(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||1===r&&(45===e||58===e)||e>127&&function(e,t){return g(e,t>=2?_:1===t?l:c)}(e,t)}e.isShebangTrivia=O,e.scanShebangTrivia=M,e.forEachLeadingCommentRange=function(e,t,r,n){return L(!1,e,t,!1,r,n)},e.forEachTrailingCommentRange=function(e,t,r,n){return L(!1,e,t,!0,r,n)},e.reduceEachLeadingCommentRange=R,e.reduceEachTrailingCommentRange=B,e.getLeadingCommentRanges=function(e,t){return R(e,t,j,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return B(e,t,j,void 0,void 0)},e.getShebang=J,e.isIdentifierStart=K,e.isIdentifierPart=z,e.isIdentifierText=function(e,t,r){var n=U(e,0);if(!K(n,t))return!1;for(var i=V(n);i115},isReservedWord:function(){return m>=80&&m<=115},isUnterminated:function(){return 0!=(4&v)},getCommentDirectives:function(){return h},getNumericLiteralFlags:function(){return 1008&v},getTokenFlags:function(){return v},reScanGreaterToken:function(){if(31===m){if(62===D.charCodeAt(l))return 62===D.charCodeAt(l+1)?61===D.charCodeAt(l+2)?(l+=3,m=71):(l+=2,m=49):61===D.charCodeAt(l+1)?(l+=2,m=70):(l++,m=48);if(61===D.charCodeAt(l))return l++,m=33}return m},reScanAsteriskEqualsToken:function(){return e.Debug.assert(65===m,"'reScanAsteriskEqualsToken' should only be called on a '*='"),l=g+1,m=62},reScanSlashToken:function(){if(43===m||67===m){for(var r=g+1,n=!1,i=!1;;){if(r>=d){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=D.charCodeAt(r);if(C(a)){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){r++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}r++}for(;r=d)return m=1;var e=U(D,l);switch(l+=V(e),e){case 9:case 11:case 12:case 32:for(;l=0&&K(r,t))return l+=3,v|=8,y=X()+Z(),m=ee();var n=$();return n>=0&&K(n,t)?(l+=6,v|=1024,y=String.fromCharCode(n)+Z(),m=ee()):(l++,m=0)}if(K(e,t)){for(var i=e;l=65&&s<=70)s+=32;else if(!(s>=48&&s<=57||s>=97&&s<=102))break;i.push(s),l++,o=!1}}return i.length=d){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}var a=D.charCodeAt(l);if(a===r){n+=D.substring(i,l),l++;break}if(92!==a||t){if(C(a)&&!t){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}l++}else n+=D.substring(i,l),n+=G(),i=l}return n}function H(t){for(var r,n=96===D.charCodeAt(l),i=++l,a="";;){if(l>=d){a+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_template_literal),r=n?14:17;break}var o=D.charCodeAt(l);if(96===o){a+=D.substring(i,l),l++,r=n?14:17;break}if(36===o&&l+1=d)return S(e.Diagnostics.Unexpected_end_of_text),"";var n=D.charCodeAt(l);switch(l++,n){case 48:return t&&l=0?String.fromCharCode(r):(S(e.Diagnostics.Hexadecimal_digit_expected),"")}function X(){var t=j(1,!1),r=t?parseInt(t,16):-1,n=!1;return r<0?(S(e.Diagnostics.Hexadecimal_digit_expected),n=!0):r>1114111&&(S(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=d?(S(e.Diagnostics.Unexpected_end_of_text),n=!0):125===D.charCodeAt(l)?l++:(S(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":W(r)}function $(){if(l+5=2&&117===U(D,l+1)&&123===U(D,l+2)){var e=l;l+=3;var r=j(1,!1),n=r?parseInt(r,16):-1;return l=e,n}return-1}function Z(){for(var e="",r=l;l=0&&z(n,t)){l+=3,v|=8,e+=X(),r=l;continue}if(!((n=$())>=0&&z(n,t)))break;v|=1024,e+=D.substring(r,l),e+=W(n),r=l+=6}}return e+=D.substring(r,l)}function ee(){var e=y.length;if(e>=2&&e<=12){var t=y.charCodeAt(0);if(t>=97&&t<=122){var r=a.get(y);if(void 0!==r)return m=r}}return m=78}function te(t){for(var r="",n=!1,i=!1;;){var a=D.charCodeAt(l);if(95!==a){if(n=!0,!k(a)||a-48>=t)break;r+=D[l],l++,i=!1}else v|=512,n?(n=!1,i=!0):S(i?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 95===D.charCodeAt(l-1)&&S(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),r}function re(){if(110===D.charCodeAt(l))return y+="n",384&v&&(y=e.parsePseudoBigInt(y)+"n"),l++,9;var t=128&v?parseInt(y.slice(2),2):256&v?parseInt(y.slice(2),8):+y;return y=""+t,8}function ne(){var n;_=l,v=0;for(var a=!1;;){if(g=l,l>=d)return m=1;var o=U(D,l);if(35===o&&0===l&&O(D,l)){if(l=M(D,l),r)continue;return m=6}switch(o){case 10:case 13:if(v|=1,r){l++;continue}return 13===o&&l+1=0&&K(b,t))return l+=3,v|=8,y=X()+Z(),m=ee();var E=$();return E>=0&&K(E,t)?(l+=6,v|=1024,y=String.fromCharCode(E)+Z(),m=ee()):(S(e.Diagnostics.Invalid_character),l++,m=0);case 35:if(0!==l&&"!"===D[l+1])return S(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),l++,m=0;if(l++,K(o=D.charCodeAt(l),t)){for(l++;l=d)return m=1;var r=D.charCodeAt(l);if(60===r)return 47===D.charCodeAt(l+1)?(l+=2,m=30):(l++,m=29);if(123===r)return l++,m=18;for(var n=0;l0)break;E(r)||(n=l)}l++}return y=D.substring(_,l),-1===n?12:11}function se(){switch(_=l,D.charCodeAt(l)){case 34:case 39:return y=q(!0),m=10;default:return ne()}}function ce(e,t){var r=l,n=_,i=g,a=m,o=y,s=v,c=e();return c&&!t||(l=r,_=n,g=i,m=a,y=o,v=s),c}function ue(e,t,r){D=e||"",d=void 0===r?D.length:t+r,le(t||0)}function le(t){e.Debug.assert(t>=0),l=t,_=t,g=t,m=0,y=void 0,v=0}};var U=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){var r=e.length;if(!(t<0||t>=r)){var n=e.charCodeAt(t);if(n>=55296&&n<=56319&&r>t+1){var i=e.charCodeAt(t+1);if(i>=56320&&i<=57343)return 1024*(n-55296)+i-56320+65536}return n}};function V(e){return e>=65536?2:1}var q=String.fromCodePoint?function(e){return String.fromCodePoint(e)}:function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296,n=(t-65536)%1024+56320;return String.fromCharCode(r,n)};function W(e){return q(e)}e.utf16EncodeAsString=W}(s||(s={})),function(e){function t(e){return e.start+e.length}function r(e){return 0===e.length}function n(e,t){var r=a(e,t);return r&&0===r.length?void 0:r}function i(e,t,r,n){return r<=e+t&&r+n>=e}function a(e,r){var n=Math.max(e.start,r.start),i=Math.min(t(e),t(r));return n<=i?s(n,i):void 0}function o(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function u(t){return!!Q(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function d(t){for(var r=t.parent;e.isBindingElement(r.parent);)r=r.parent.parent;return r.parent}function _(t,r){e.isBindingElement(t)&&(t=d(t));var n=r(t);return 250===t.kind&&(t=t.parent),t&&251===t.kind&&(n|=r(t),t=t.parent),t&&233===t.kind&&(n|=r(t)),n}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function g(e){return f(e.escapedText)}function m(t){var r=t.parent.parent;if(r){if(se(r))return y(r);switch(r.kind){case 233:if(r.declarationList&&r.declarationList.declarations[0])return y(r.declarationList.declarations[0]);break;case 234:var n=r.expression;switch(217===n.kind&&62===n.operatorToken.kind&&(n=n.left),n.kind){case 202:return n.name;case 203:var i=n.argumentExpression;if(e.isIdentifier(i))return i}break;case 208:return y(r.expression);case 246:if(se(r.statement)||ne(r.statement))return y(r.statement)}}}function y(t){var r=x(t);return r&&e.isIdentifier(r)?r:void 0}function v(e){return e.name||m(e)}function h(e){return!!e.name}function D(t){switch(t.kind){case 78:return t;case 337:case 330:var r=t.name;if(158===r.kind)return r.right;break;case 204:case 217:var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(n.left);case 7:case 8:case 9:return n.arguments[1];default:return}case 335:return v(t);case 329:return m(t);case 267:var i=t.expression;return e.isIdentifier(i)?i:void 0;case 203:var a=t;if(e.isBindableStaticElementAccessExpression(a))return a.argumentExpression}return t.name}function x(t){if(void 0!==t)return D(t)||(e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isClassExpression(t)?b(t):void 0)}function b(t){if(t.parent){if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent))return t.parent.name;if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left))return t.parent.left;if(e.isAccessExpression(t.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(t.parent.left)}else if(e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name))return t.parent.name}}function S(t,r){if(t.name){if(e.isIdentifier(t.name)){var n=t.name.escapedText;return F(t.parent,r).filter((function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n}))}var i=t.parent.parameters.indexOf(t);e.Debug.assert(i>-1,"Parameters should always be in their parents' parameter list");var a=F(t.parent,r).filter(e.isJSDocParameterTag);if(i=158}function B(e){return e>=0&&e<=157}function j(e){return 8<=e&&e<=14}function J(e){return 14<=e&&e<=17}function K(t){return(e.isPropertyDeclaration(t)||Y(t))&&e.isPrivateIdentifier(t.name)}function z(e){switch(e){case 125:case 129:case 84:case 133:case 87:case 92:case 122:case 120:case 121:case 142:case 123:case 156:return!0}return!1}function U(t){return!!(16476&e.modifierToFlag(t))}function V(e){return!!e&&W(e.kind)}function q(e){switch(e){case 252:case 166:case 167:case 168:case 169:case 209:case 210:return!0;default:return!1}}function W(e){switch(e){case 165:case 170:case 315:case 171:case 172:case 175:case 309:case 176:return!0;default:return q(e)}}function H(e){var t=e.kind;return 167===t||164===t||166===t||168===t||169===t||172===t||230===t}function G(e){return e&&(253===e.kind||222===e.kind)}function Y(e){switch(e.kind){case 166:case 168:case 169:return!0;default:return!1}}function X(e){var t=e.kind;return 171===t||170===t||163===t||165===t||172===t}function $(e){var t=e.kind;return 289===t||290===t||291===t||166===t||168===t||169===t}function Q(e){if(e){var t=e.kind;return 198===t||197===t}return!1}function Z(e){switch(e.kind){case 197:case 201:return!0}return!1}function ee(e){switch(e.kind){case 198:case 200:return!0}return!1}function te(e){switch(e){case 202:case 203:case 205:case 204:case 274:case 275:case 278:case 206:case 200:case 208:case 201:case 222:case 209:case 78:case 13:case 8:case 9:case 10:case 14:case 219:case 94:case 103:case 107:case 109:case 105:case 226:case 227:case 99:return!0;default:return!1}}function re(e){switch(e){case 215:case 216:case 211:case 212:case 213:case 214:case 207:return!0;default:return te(e)}}function ne(e){return function(e){switch(e){case 218:case 220:case 210:case 217:case 221:case 225:case 223:case 341:case 340:return!0;default:return re(e)}}(M(e).kind)}function ie(t){return e.isExportAssignment(t)||e.isExportDeclaration(t)}function ae(e){return 252===e||272===e||253===e||254===e||255===e||256===e||257===e||262===e||261===e||268===e||267===e||260===e}function oe(e){return 242===e||241===e||249===e||236===e||234===e||232===e||239===e||240===e||238===e||235===e||246===e||243===e||245===e||247===e||248===e||233===e||237===e||244===e||339===e||343===e||342===e}function se(t){return 160===t.kind?t.parent&&334!==t.parent.kind||e.isInJSFile(t):210===(r=t.kind)||199===r||253===r||222===r||167===r||256===r||292===r||271===r||252===r||209===r||168===r||263===r||261===r||266===r||254===r||281===r||166===r||165===r||257===r||260===r||264===r||270===r||161===r||289===r||164===r||163===r||169===r||290===r||255===r||160===r||250===r||335===r||328===r||337===r;var r}function ce(e){return e.kind>=317&&e.kind<=337}e.isExternalModuleNameRelative=function(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)},e.sortAndDeduplicateDiagnostics=function(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)},e.getDefaultLibFileName=function(e){switch(e.target){case 99:return"lib.esnext.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}},e.textSpanEnd=t,e.textSpanIsEmpty=r,e.textSpanContainsPosition=function(e,r){return r>=e.start&&r=e.pos&&t<=e.end},e.textSpanContainsTextSpan=function(e,r){return r.start>=e.start&&t(r)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==n(e,t)},e.textSpanOverlap=n,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,r){return i(e.start,e.length,t,r)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,r){return r<=t(e)&&r>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return r(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(r){if(0===r.length)return e.unchangedTextChangeRange;if(1===r.length)return r[0];for(var n=r[0],i=n.span.start,a=t(n.span),o=i+n.newLength,u=1;u=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e},e.unescapeLeadingUnderscores=f,e.idText=g,e.symbolName=function(e){return e.valueDeclaration&&K(e.valueDeclaration)?g(e.valueDeclaration.name):f(e.escapedName)},e.nodeHasName=function t(r,n){return!(!h(r)||!e.isIdentifier(r.name)||g(r.name)!==g(n))||!(!e.isVariableStatement(r)||!e.some(r.declarationList.declarations,(function(e){return t(e,n)})))},e.getNameOfJSDocTypedef=v,e.isNamedDeclaration=h,e.getNonAssignedNameOfDeclaration=D,e.getNameOfDeclaration=x,e.getAssignedName=b,e.getJSDocParameterTags=E,e.getJSDocParameterTagsNoCache=function(e){return S(e,!0)},e.getJSDocTypeParameterTags=function(e){return T(e,!1)},e.getJSDocTypeParameterTagsNoCache=function(e){return T(e,!0)},e.hasJSDocParameterTags=function(t){return!!P(t,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(t){return P(t,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(t){return w(t,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(t){return P(t,e.isJSDocClassTag)},e.getJSDocPublicTag=function(t){return P(t,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(t){return P(t,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(t){return P(t,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(t){return P(t,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(t){return P(t,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(t){return P(t,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(t){return P(t,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(t){return P(t,e.isJSDocReadonlyTag,!0)},e.getJSDocOverrideTagNoCache=function(t){return P(t,e.isJSDocOverrideTag,!0)},e.getJSDocDeprecatedTag=function(t){return P(t,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(t){return P(t,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(t){return P(t,e.isJSDocEnumTag)},e.getJSDocThisTag=function(t){return P(t,e.isJSDocThisTag)},e.getJSDocReturnTag=C,e.getJSDocTemplateTag=function(t){return P(t,e.isJSDocTemplateTag)},e.getJSDocTypeTag=k,e.getJSDocType=A,e.getJSDocReturnType=function(t){var r=C(t);if(r&&r.typeExpression)return r.typeExpression.type;var n=k(t);if(n&&n.typeExpression){var i=n.typeExpression.type;if(e.isTypeLiteralNode(i)){var a=e.find(i.members,e.isCallSignatureDeclaration);return a&&a.type}if(e.isFunctionTypeNode(i)||e.isJSDocFunctionType(i))return i.type}},e.getJSDocTags=N,e.getJSDocTagsNoCache=function(e){return F(e,!0)},e.getAllJSDocTags=w,e.getAllJSDocTagsOfKind=function(e,t){return N(e).filter((function(e){return e.kind===t}))},e.getTextOfJSDocComment=function(t){return"string"==typeof t?t:null==t?void 0:t.map((function(t){return 313===t.kind?t.text:"{@link "+(t.name?e.entityNameToString(t.name)+" ":"")+t.text+"}"})).join("")},e.getEffectiveTypeParameterDeclarations=function(t){if(e.isJSDocSignature(t))return e.emptyArray;if(e.isJSDocTypeAlias(t))return e.Debug.assert(312===t.parent.kind),e.flatMap(t.parent.tags,(function(t){return e.isJSDocTemplateTag(t)?t.typeParameters:void 0}));if(t.typeParameters)return t.typeParameters;if(e.isInJSFile(t)){var r=e.getJSDocTypeParameterDeclarations(t);if(r.length)return r;var n=A(t);if(n&&e.isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(t){return t.constraint?t.constraint:e.isJSDocTemplateTag(t.parent)&&t===t.parent.typeParameters[0]?t.parent.constraint:void 0},e.isMemberName=function(e){return 78===e.kind||79===e.kind},e.isGetOrSetAccessorDeclaration=function(e){return 169===e.kind||168===e.kind},e.isPropertyAccessChain=function(t){return e.isPropertyAccessExpression(t)&&!!(32&t.flags)},e.isElementAccessChain=function(t){return e.isElementAccessExpression(t)&&!!(32&t.flags)},e.isCallChain=function(t){return e.isCallExpression(t)&&!!(32&t.flags)},e.isOptionalChain=I,e.isOptionalChainRoot=O,e.isExpressionOfOptionalChainRoot=function(e){return O(e.parent)&&e.parent.expression===e},e.isOutermostOptionalChain=function(e){return!I(e.parent)||O(e.parent)||e!==e.parent.expression},e.isNullishCoalesce=function(e){return 217===e.kind&&60===e.operatorToken.kind},e.isConstTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"const"===t.typeName.escapedText&&!t.typeArguments},e.skipPartiallyEmittedExpressions=M,e.isNonNullChain=function(t){return e.isNonNullExpression(t)&&!!(32&t.flags)},e.isBreakOrContinueStatement=function(e){return 242===e.kind||241===e.kind},e.isNamedExportBindings=function(e){return 270===e.kind||269===e.kind},e.isUnparsedTextLike=L,e.isUnparsedNode=function(e){return L(e)||293===e.kind||297===e.kind},e.isJSDocPropertyLikeTag=function(e){return 337===e.kind||330===e.kind},e.isNode=function(e){return R(e.kind)},e.isNodeKind=R,e.isTokenKind=B,e.isToken=function(e){return B(e.kind)},e.isNodeArray=function(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")},e.isLiteralKind=j,e.isLiteralExpression=function(e){return j(e.kind)},e.isTemplateLiteralKind=J,e.isTemplateLiteralToken=function(e){return J(e.kind)},e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 16===t||17===t},e.isImportOrExportSpecifier=function(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)},e.isTypeOnlyImportOrExportDeclaration=function(e){switch(e.kind){case 266:case 271:return e.parent.parent.isTypeOnly;case 264:return e.parent.isTypeOnly;case 263:case 261:return e.isTypeOnly;default:return!1}},e.isStringTextContainingNode=function(e){return 10===e.kind||J(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isPrivateIdentifierClassElementDeclaration=K,e.isPrivateIdentifierPropertyAccessExpression=function(t){return e.isPropertyAccessExpression(t)&&e.isPrivateIdentifier(t.name)},e.isModifierKind=z,e.isParameterPropertyModifier=U,e.isClassMemberModifier=function(e){return U(e)||123===e||156===e},e.isModifier=function(e){return z(e.kind)},e.isEntityName=function(e){var t=e.kind;return 158===t||78===t},e.isPropertyName=function(e){var t=e.kind;return 78===t||79===t||10===t||8===t||159===t},e.isBindingName=function(e){var t=e.kind;return 78===t||197===t||198===t},e.isFunctionLike=V,e.isFunctionLikeDeclaration=function(e){return e&&q(e.kind)},e.isFunctionLikeKind=W,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&V(t.parent)},e.isClassElement=H,e.isClassLike=G,e.isAccessor=function(e){return e&&(168===e.kind||169===e.kind)},e.isMethodOrAccessor=Y,e.isTypeElement=X,e.isClassOrTypeElement=function(e){return X(e)||H(e)},e.isObjectLiteralElementLike=$,e.isTypeNode=function(t){return e.isTypeNodeKind(t.kind)},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 175:case 176:return!0}return!1},e.isBindingPattern=Q,e.isAssignmentPattern=function(e){var t=e.kind;return 200===t||201===t},e.isArrayBindingElement=function(e){var t=e.kind;return 199===t||223===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 250:case 161:case 199:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return Z(e)||ee(e)},e.isObjectBindingOrAssignmentPattern=Z,e.isArrayBindingOrAssignmentPattern=ee,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(e){var t=e.kind;return 202===t||158===t||196===t},e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 202===t||158===t},e.isCallLikeExpression=function(e){switch(e.kind){case 276:case 275:case 204:case 205:case 206:case 162:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 204===e.kind||205===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 219===t||14===t},e.isLeftHandSideExpression=function(e){return te(M(e).kind)},e.isUnaryExpression=function(e){return re(M(e).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 216:return!0;case 215:return 45===e.operator||46===e.operator;default:return!1}},e.isExpression=ne,e.isAssertionExpression=function(e){var t=e.kind;return 207===t||225===t},e.isNotEmittedOrPartiallyEmittedNode=function(t){return e.isNotEmittedStatement(t)||e.isPartiallyEmittedExpression(t)},e.isIterationStatement=function e(t,r){switch(t.kind){case 238:case 239:case 240:case 236:case 237:return!0;case 246:return r&&e(t.statement,r)}return!1},e.isScopeMarker=ie,e.hasScopeMarker=function(t){return e.some(t,ie)},e.needsScopeMarker=function(t){return!(e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)||e.isAmbientModule(t))},e.isExternalModuleIndicator=function(t){return e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)},e.isForInOrOfStatement=function(e){return 239===e.kind||240===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||ne(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||ne(t)},e.isModuleBody=function(e){var t=e.kind;return 258===t||257===t||78===t},e.isNamespaceBody=function(e){var t=e.kind;return 258===t||257===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 78===t||257===t},e.isNamedImportBindings=function(e){var t=e.kind;return 265===t||264===t},e.isModuleOrEnumDeclaration=function(e){return 257===e.kind||256===e.kind},e.isDeclaration=se,e.isDeclarationStatement=function(e){return ae(e.kind)},e.isStatementButNotDeclaration=function(e){return oe(e.kind)},e.isStatement=function(t){var r=t.kind;return oe(r)||ae(r)||function(t){if(231!==t.kind)return!1;if(void 0!==t.parent&&(248===t.parent.kind||288===t.parent.kind))return!1;return!e.isFunctionBlock(t)}(t)},e.isStatementOrBlock=function(e){var t=e.kind;return oe(t)||ae(t)||231===t},e.isModuleReference=function(e){var t=e.kind;return 273===t||158===t||78===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 107===t||78===t||202===t},e.isJsxChild=function(e){var t=e.kind;return 274===t||284===t||275===t||11===t||278===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 281===t||283===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 10===t||284===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 276===t||275===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 285===t||286===t},e.isJSDocNode=function(e){return e.kind>=302&&e.kind<=337},e.isJSDocCommentContainingNode=function(t){return 312===t.kind||311===t.kind||313===t.kind||316===t.kind||ce(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)},e.isJSDocTag=ce,e.isSetAccessor=function(e){return 169===e.kind},e.isGetAccessor=function(e){return 168===e.kind},e.hasJSDocNodes=function(e){var t=e.jsDoc;return!!t&&t.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=function(e){return!!e.initializer},e.hasOnlyExpressionInitializer=function(e){switch(e.kind){case 250:case 161:case 199:case 163:case 164:case 289:case 292:return!0;default:return!1}},e.isObjectLiteralElement=function(e){return 281===e.kind||283===e.kind||$(e)},e.isTypeReferenceType=function(e){return 174===e.kind||224===e.kind};var ue=1073741823;e.guessIndentation=function(t){for(var r=ue,n=0,i=t;n=0);var n=e.getLineStarts(r),i=t,a=r.text;if(i+1===n.length)return a.length-1;var o=n[i],s=n[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function _(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function p(e){return!_(e)}function f(e,r,n){if(void 0===r||0===r.length)return e;for(var i=0;i0?v(t._children[0],r,n):e.skipTrivia((r||l(t)).text,t.pos,!1,!1,De(t))}function h(e,t,r){return void 0===r&&(r=!1),D(e.text,t,r)}function D(t,r,n){if(void 0===n&&(n=!1),_(r))return"";var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);return function(t){return!!e.findAncestor(t,e.isJSDocTypeExpression)}(r)&&(i=i.replace(/(^|\r?\n|\r)\s*\*\s*/g,"$1")),i}function x(e,t){return void 0===t&&(t=!1),h(l(e),e,t)}function b(e){return e.pos}function S(e){var t=e.emitNode;return t&&t.flags||0}function E(e){var t=Et(e);return 250===t.kind&&288===t.parent.kind}function T(t){return e.isModuleDeclaration(t)&&(10===t.name.kind||k(t))}function C(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}function k(e){return!!(1024&e.flags)}function A(e){return T(e)&&F(e)}function F(t){switch(t.parent.kind){case 298:return e.isExternalModule(t.parent);case 258:return T(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function N(t,r){switch(t.kind){case 298:case 259:case 288:case 257:case 238:case 239:case 240:case 167:case 166:case 168:case 169:case 252:case 209:case 210:return!0;case 231:return!e.isFunctionLike(r)}return!1}function P(t){switch(t.kind){case 170:case 171:case 165:case 172:case 175:case 176:case 309:case 253:case 222:case 254:case 255:case 334:case 252:case 166:case 167:case 168:case 169:case 209:case 210:return!0;default:return e.assertType(t),!1}}function w(e){switch(e.kind){case 262:case 261:return!0;default:return!1}}function I(t){return w(t)||e.isExportDeclaration(t)}function O(e){return e&&0!==c(e)?x(e):"(Missing)"}function M(t){switch(t.kind){case 78:case 79:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 159:return yt(t.expression)?e.escapeLeadingUnderscores(t.expression.text):e.Debug.fail("Text of property name cannot be read from non-literal-valued ComputedPropertyNames");default:return e.Debug.assertNever(t)}}function L(t){switch(t.kind){case 107:return"this";case 79:case 78:return 0===c(t)?e.idText(t):x(t);case 158:return L(t.left)+"."+L(t.right);case 202:return e.isIdentifier(t.name)||e.isPrivateIdentifier(t.name)?L(t.expression)+"."+L(t.name):e.Debug.assertNever(t.name);default:return e.Debug.assertNever(t)}}function R(e,t,r,n,i,a,o){var s=K(e,t);return dn(e,s.start,s.length,r,n,i,a,o)}function B(t,r,n){e.Debug.assertGreaterThanOrEqual(r,0),e.Debug.assertGreaterThanOrEqual(n,0),t&&(e.Debug.assertLessThanOrEqual(r,t.text.length),e.Debug.assertLessThanOrEqual(r+n,t.text.length))}function j(e,t,r,n,i){return B(e,t,r),{file:e,start:t,length:r,code:n.code,category:n.category,messageText:n.next?n:n.messageText,relatedInformation:i}}function J(t,r){var n=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}function K(t,r){var n=r;switch(r.kind){case 298:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):J(t,i);case 250:case 199:case 253:case 222:case 254:case 257:case 256:case 292:case 252:case 209:case 166:case 168:case 169:case 255:case 164:case 163:n=r.name;break;case 210:return function(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&231===r.body.kind){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;if(i0?r.statements[0].pos:r.end;return e.createTextSpanFromBounds(a,o)}if(void 0===n)return J(t,r.pos);e.Debug.assert(!e.isJSDoc(n));var s=_(n),c=s||e.isJsxText(r)?n.pos:e.skipTrivia(t.text,n.pos);return s?(e.Debug.assert(c===n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c===n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(e.Debug.assert(c>=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),e.createTextSpanFromBounds(c,n.end)}function z(e){return 6===e.scriptKind}function U(t){return!!(2&e.getCombinedNodeFlags(t))}function V(e){return 204===e.kind&&99===e.expression.kind}function q(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}function W(e){return 234===e.kind&&10===e.expression.kind}function H(e){return!!(1048576&S(e))}function G(t){return e.isIdentifier(t.name)&&!t.initializer}e.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||s(e,t)},e.optionsHaveModuleResolutionChanges=s,e.forEachAncestor=function(t,r){for(;;){var n=r(t);if("quit"===n)return;if(void 0!==n)return n;if(e.isSourceFile(t))return;t=t.parent}},e.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},e.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},e.copyEntries=function(e,t){e.forEach((function(e,r){t.set(r,e)}))},e.usingSingleLineStringWriter=function(e){var t=o.getText();try{return e(o),o.getText()}finally{o.clear(),o.writeKeyword(t)}},e.getFullWidth=c,e.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},e.setResolvedModule=function(t,r,n){t.resolvedModules||(t.resolvedModules=new e.Map),t.resolvedModules.set(r,n)},e.setResolvedTypeReferenceDirective=function(t,r,n){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=new e.Map),t.resolvedTypeReferenceDirectiveNames.set(r,n)},e.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},e.packageIdToString=function(e){var t=e.name,r=e.subModuleName;return(r?t+"/"+r:t)+"@"+e.version},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary&&e.originalPath===t.originalPath},e.hasChangesInResolutions=function(t,r,n,i){e.Debug.assert(t.length===r.length);for(var a=0;a=0),e.getLineStarts(r)[t]},e.nodePosToString=function(t){var r=l(t),n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"},e.getEndLinePosition=d,e.isFileLevelUniqueName=function(e,t,r){return!(r&&r(t)||e.identifiers.has(t))},e.nodeIsMissing=_,e.nodeIsPresent=p,e.insertStatementsAfterStandardPrologue=function(e,t){return f(e,t,W)},e.insertStatementsAfterCustomPrologue=function(e,t){return f(e,t,m)},e.insertStatementAfterStandardPrologue=function(e,t){return g(e,t,W)},e.insertStatementAfterCustomPrologue=function(e,t){return g(e,t,m)},e.isRecognizedTripleSlashComment=function(t,r,n){if(47===t.charCodeAt(r+1)&&r+2=e.ModuleKind.ES2015||!r.noImplicitUseStrict)))},e.isBlockScope=N,e.isDeclarationWithTypeParameters=function(t){switch(t.kind){case 328:case 335:case 315:return!0;default:return e.assertType(t),P(t)}},e.isDeclarationWithTypeParameterChildren=P,e.isAnyImportSyntax=w,e.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 262:case 261:case 233:case 253:case 252:case 257:case 255:case 254:case 256:return!0;default:return!1}},e.hasPossibleExternalModuleReference=function(t){return I(t)||e.isModuleDeclaration(t)||e.isImportTypeNode(t)||V(t)},e.isAnyImportOrReExport=I,e.getEnclosingBlockScopeContainer=function(t){return e.findAncestor(t.parent,(function(e){return N(e,e.parent)}))},e.declarationNameToString=O,e.getNameFromIndexInfo=function(e){return e.declaration?O(e.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(e){return 159===e.kind&&!yt(e.expression)},e.getTextOfPropertyName=M,e.entityNameToString=L,e.createDiagnosticForNode=function(e,t,r,n,i,a){return R(l(e),e,t,r,n,i,a)},e.createDiagnosticForNodeArray=function(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return dn(t,c,r.end-c,n,i,a,o,s)},e.createDiagnosticForNodeInSourceFile=R,e.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=l(e),i=K(n,e);return j(n,i.start,i.length,t,r)},e.createFileDiagnosticFromMessageChain=j,e.createDiagnosticForFileFromMessageChain=function(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},e.getSpanOfTokenAtPosition=J,e.getErrorSpanForNode=K,e.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},e.isJsonSourceFile=z,e.isEnumConst=function(t){return!!(2048&e.getCombinedModifierFlags(t))},e.isDeclarationReadonly=function(t){return!(!(64&e.getCombinedModifierFlags(t))||e.isParameterPropertyDeclaration(t,t.parent))},e.isVarConst=U,e.isLet=function(t){return!!(1&e.getCombinedNodeFlags(t))},e.isSuperCall=function(e){return 204===e.kind&&105===e.expression.kind},e.isImportCall=V,e.isImportMeta=function(t){return e.isMetaProperty(t)&&99===t.keywordToken&&"meta"===t.name.escapedText},e.isLiteralImportTypeNode=q,e.isPrologueDirective=W,e.isCustomPrologue=H,e.isHoistedFunction=function(t){return H(t)&&e.isFunctionDeclaration(t)},e.isHoistedVariableStatement=function(t){return H(t)&&e.isVariableStatement(t)&&e.every(t.declarationList.declarations,G)},e.getLeadingCommentRangesOfNode=function(t,r){return 11!==t.kind?e.getLeadingCommentRanges(r.text,t.pos):void 0},e.getJSDocCommentRanges=function(t,r){var n=161===t.kind||160===t.kind||209===t.kind||210===t.kind||208===t.kind||250===t.kind?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,(function(e){return 42===r.charCodeAt(e.pos+1)&&42===r.charCodeAt(e.pos+2)&&47!==r.charCodeAt(e.pos+3)}))},e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var Y=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var X,$,Q,Z,ee=/^(\/\/\/\s*/;function te(t){if(173<=t.kind&&t.kind<=196)return!0;switch(t.kind){case 128:case 152:case 144:case 155:case 147:case 131:case 148:case 145:case 150:case 141:return!0;case 113:return 213!==t.parent.kind;case 224:return!Ir(t);case 160:return 191===t.parent.kind||186===t.parent.kind;case 78:(158===t.parent.kind&&t.parent.right===t||202===t.parent.kind&&t.parent.name===t)&&(t=t.parent),e.Debug.assert(78===t.kind||158===t.kind||202===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 158:case 202:case 107:var r=t.parent;if(177===r.kind)return!1;if(196===r.kind)return!r.isTypeOf;if(173<=r.kind&&r.kind<=196)return!0;switch(r.kind){case 224:return!Ir(r);case 160:case 334:return t===r.constraint;case 164:case 163:case 161:case 250:return t===r.type;case 252:case 209:case 210:case 167:case 166:case 165:case 168:case 169:return t===r.type;case 170:case 171:case 172:case 207:return t===r.type;case 204:case 205:return e.contains(r.typeArguments,t);case 206:return!1}}return!1}function re(e){if(e)switch(e.kind){case 199:case 292:case 161:case 289:case 164:case 163:case 290:case 250:return!0}return!1}function ne(e){return 251===e.parent.kind&&233===e.parent.parent.kind}function ie(e,t,r){return e.properties.filter((function(e){if(289===e.kind){var n=M(e.name);return t===n||!!r&&r===n}return!1}))}function ae(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}function oe(t,r){var n=ae(t);return n?ie(n,r):e.emptyArray}function se(t,r){for(e.Debug.assert(298!==t.kind);;){if(!(t=t.parent))return e.Debug.fail();switch(t.kind){case 159:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 162:161===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 210:if(!r)continue;case 252:case 209:case 257:case 164:case 163:case 166:case 165:case 167:case 168:case 169:case 170:case 171:case 172:case 256:case 298:return t}}}function ce(e){var t=e.kind;return(202===t||203===t)&&105===e.expression.kind}function ue(t,r,n){if(e.isNamedDeclaration(t)&&e.isPrivateIdentifier(t.name))return!1;switch(t.kind){case 253:return!0;case 164:return 253===r.kind;case 168:case 169:case 166:return void 0!==t.body&&253===r.kind;case 161:return void 0!==r.body&&(167===r.kind||166===r.kind||169===r.kind)&&253===n.kind}return!1}function le(e,t,r){return void 0!==e.decorators&&ue(e,t,r)}function de(e,t,r){return le(e,t,r)||_e(e,t)}function _e(t,r){switch(t.kind){case 253:return e.some(t.members,(function(e){return de(e,t,r)}));case 166:case 169:return e.some(t.parameters,(function(e){return le(e,t,r)}));default:return!1}}function pe(e){var t=e.parent;return(276===t.kind||275===t.kind||277===t.kind)&&t.tagName===e}function fe(e){switch(e.kind){case 105:case 103:case 109:case 94:case 13:case 200:case 201:case 202:case 203:case 204:case 205:case 206:case 225:case 207:case 226:case 208:case 209:case 222:case 210:case 213:case 211:case 212:case 215:case 216:case 217:case 218:case 221:case 219:case 223:case 274:case 275:case 278:case 220:case 214:case 227:return!0;case 158:for(;158===e.parent.kind;)e=e.parent;return 177===e.parent.kind||pe(e);case 78:if(177===e.parent.kind||pe(e))return!0;case 8:case 9:case 10:case 14:case 107:return ge(e);default:return!1}}function ge(e){var t=e.parent;switch(t.kind){case 250:case 161:case 164:case 163:case 292:case 289:case 199:return t.initializer===e;case 234:case 235:case 236:case 237:case 243:case 244:case 245:case 285:case 247:return t.expression===e;case 238:var r=t;return r.initializer===e&&251!==r.initializer.kind||r.condition===e||r.incrementor===e;case 239:case 240:var n=t;return n.initializer===e&&251!==n.initializer.kind||n.expression===e;case 207:case 225:case 229:case 159:return e===t.expression;case 162:case 284:case 283:case 291:return!0;case 224:return t.expression===e&&Ir(t);case 290:return t.objectAssignmentInitializer===e;default:return fe(t)}}function me(e){for(;158===e.kind||78===e.kind;)e=e.parent;return 177===e.kind}function ye(e){return 261===e.kind&&273===e.moduleReference.kind}function ve(e){return he(e)}function he(e){return!!e&&!!(131072&e.flags)}function De(e){return!!e&&!!(4194304&e.flags)}function xe(t,r){if(204!==t.kind)return!1;var n=t,i=n.expression,a=n.arguments;if(78!==i.kind||"require"!==i.escapedText)return!1;if(1!==a.length)return!1;var o=a[0];return!r||e.isStringLiteralLike(o)}function be(t){return 199===t.kind&&(t=t.parent.parent),e.isVariableDeclaration(t)&&!!t.initializer&&xe(Qr(t.initializer),!0)}function Se(t){return e.isBinaryExpression(t)||$r(t)||e.isIdentifier(t)||e.isCallExpression(t)}function Ee(t){return he(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&(56===t.initializer.operatorToken.kind||60===t.initializer.operatorToken.kind)&&t.name&&Or(t.name)&&Ce(t.name,t.initializer.left)?t.initializer.right:t.initializer}function Te(t,r){if(e.isCallExpression(t)){var n=at(t.expression);return 209===n.kind||210===n.kind?t:void 0}return 209===t.kind||222===t.kind||210===t.kind||e.isObjectLiteralExpression(t)&&(0===t.properties.length||r)?t:void 0}function Ce(t,r){if(bt(t)&&bt(r))return St(t)===St(r);if(e.isIdentifier(t)&&Ie(r)&&(107===r.expression.kind||e.isIdentifier(r.expression)&&("window"===r.expression.escapedText||"self"===r.expression.escapedText||"global"===r.expression.escapedText))){var n=Be(r);return e.isPrivateIdentifier(n)&&e.Debug.fail("Unexpected PrivateIdentifier in name expression with literal-like access."),Ce(t,n)}return!(!Ie(t)||!Ie(r))&&(Je(t)===Je(r)&&Ce(t.expression,r.expression))}function ke(e){for(;wr(e,!0);)e=e.right;return e}function Ae(t){return e.isIdentifier(t)&&"exports"===t.escapedText}function Fe(t){return e.isIdentifier(t)&&"module"===t.escapedText}function Ne(t){return(e.isPropertyAccessExpression(t)||Oe(t))&&Fe(t.expression)&&"exports"===Je(t)}function Pe(t){var r=function(t){if(e.isCallExpression(t)){if(!we(t))return 0;var r=t.arguments[0];return Ae(r)||Ne(r)?8:Me(r)&&"prototype"===Je(r)?9:7}if(62!==t.operatorToken.kind||!$r(t.left)||function(t){return e.isVoidExpression(t)&&e.isNumericLiteral(t.expression)&&"0"===t.expression.text}(ke(t)))return 0;if(Re(t.left.expression,!0)&&"prototype"===Je(t.left)&&e.isObjectLiteralExpression(ze(t)))return 6;return Ke(t.left)}(t);return 5===r||he(t)?r:0}function we(t){return 3===e.length(t.arguments)&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&"Object"===e.idText(t.expression.expression)&&"defineProperty"===e.idText(t.expression.name)&&yt(t.arguments[1])&&Re(t.arguments[0],!0)}function Ie(t){return e.isPropertyAccessExpression(t)||Oe(t)}function Oe(t){return e.isElementAccessExpression(t)&&yt(t.argumentExpression)}function Me(t,r){return e.isPropertyAccessExpression(t)&&(!r&&107===t.expression.kind||e.isIdentifier(t.name)&&Re(t.expression,!0))||Le(t,r)}function Le(e,t){return Oe(e)&&(!t&&107===e.expression.kind||Or(e.expression)||Me(e.expression,!0))}function Re(e,t){return Or(e)||Me(e,t)}function Be(t){return e.isPropertyAccessExpression(t)?t.name:t.argumentExpression}function je(t){if(e.isPropertyAccessExpression(t))return t.name;var r=at(t.argumentExpression);return e.isNumericLiteral(r)||e.isStringLiteralLike(r)?r:t}function Je(t){var r=je(t);if(r){if(e.isIdentifier(r))return r.escapedText;if(e.isStringLiteralLike(r)||e.isNumericLiteral(r))return e.escapeLeadingUnderscores(r.text)}}function Ke(t){if(107===t.expression.kind)return 4;if(Ne(t))return 2;if(Re(t.expression,!0)){if(Lr(t.expression))return 3;for(var r=t;!e.isIdentifier(r.expression);)r=r.expression;var n=r.expression;if(("exports"===n.escapedText||"module"===n.escapedText&&"exports"===Je(r))&&Me(t))return 1;if(Re(t,!0)||e.isElementAccessExpression(t)&&Dt(t))return 5}return 0}function ze(t){for(;e.isBinaryExpression(t.right);)t=t.right;return t.right}function Ue(t){switch(t.parent.kind){case 262:case 268:return t.parent;case 273:return t.parent.parent;case 204:return V(t.parent)||xe(t.parent,!1)?t.parent:void 0;case 192:return e.Debug.assert(e.isStringLiteral(t)),e.tryCast(t.parent.parent,e.isImportTypeNode);default:return}}function Ve(t){switch(t.kind){case 262:case 268:return t.moduleSpecifier;case 261:return 273===t.moduleReference.kind?t.moduleReference.expression:void 0;case 196:return q(t)?t.argument.literal:void 0;case 204:return t.arguments[0];case 257:return 10===t.name.kind?t.name:void 0;default:return e.Debug.assertNever(t)}}function qe(e){return 335===e.kind||328===e.kind||329===e.kind}function We(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==Pe(t.expression)&&e.isBinaryExpression(t.expression.right)&&(56===t.expression.right.operatorToken.kind||60===t.expression.right.operatorToken.kind)?t.expression.right.right:void 0}function He(e){switch(e.kind){case 233:var t=Ge(e);return t&&t.initializer;case 164:case 289:return e.initializer}}function Ge(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):void 0}function Ye(t){return e.isModuleDeclaration(t)&&t.body&&257===t.body.kind?t.body:void 0}function Xe(t){var r=t.parent;return 289===r.kind||267===r.kind||164===r.kind||234===r.kind&&202===t.kind||243===r.kind||Ye(r)||e.isBinaryExpression(t)&&62===t.operatorToken.kind?r:r.parent&&(Ge(r.parent)===t||e.isBinaryExpression(r)&&62===r.operatorToken.kind)?r.parent:r.parent&&r.parent.parent&&(Ge(r.parent.parent)||He(r.parent.parent)===t||We(r.parent.parent))?r.parent.parent:void 0}function $e(t){var r=Qe(t);return r&&e.isFunctionLike(r)?r:void 0}function Qe(t){var r=Ze(t);if(r)return We(r)||function(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&62===t.expression.operatorToken.kind?ke(t.expression):void 0}(r)||He(r)||Ge(r)||Ye(r)||r}function Ze(t){var r=et(t);if(r){var n=r.parent;return n&&n.jsDoc&&r===e.lastOrUndefined(n.jsDoc)?n:void 0}}function et(t){return e.findAncestor(t.parent,e.isJSDoc)}function tt(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return void 0!==t.dotDotDotToken||!!r&&310===r.kind}function rt(e){for(var t=e.parent;;){switch(t.kind){case 217:var r=t.operatorToken.kind;return Fr(r)&&t.left===e?62===r||Ar(r)?1:2:0;case 215:case 216:var n=t.operator;return 45===n||46===n?2:0;case 239:case 240:return t.initializer===e?1:0;case 208:case 200:case 221:case 226:e=t;break;case 291:e=t.parent;break;case 290:if(t.name!==e)return 0;e=t.parent;break;case 289:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function nt(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function it(e){return nt(e,208)}function at(t){return e.skipOuterExpressions(t,1)}function ot(t){return Or(t)||e.isClassExpression(t)}function st(e){return ot(ct(e))}function ct(t){return e.isExportAssignment(t)?t.expression:t.right}function ut(t){var r=lt(t);if(r&&he(t)){var n=e.getJSDocAugmentsTag(t);if(n)return n.class}return r}function lt(e){var t=pt(e.heritageClauses,93);return t&&t.types.length>0?t.types[0]:void 0}function dt(t){if(he(t))return e.getJSDocImplementsTags(t).map((function(e){return e.class}));var r=pt(t.heritageClauses,116);return null==r?void 0:r.types}function _t(e){var t=pt(e.heritageClauses,93);return t?t.types:void 0}function pt(e,t){if(e)for(var r=0,n=e;r0&&e.every(t.declarationList.declarations,(function(e){return be(e)}))},e.isSingleOrDoubleQuote=function(e){return 39===e||34===e},e.isStringDoubleQuoted=function(e,t){return 34===h(t,e).charCodeAt(0)},e.isAssignmentDeclaration=Se,e.getEffectiveInitializer=Ee,e.getDeclaredExpandoInitializer=function(e){var t=Ee(e);return t&&Te(t,Lr(e.name))},e.getAssignedExpandoInitializer=function(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind){var r=Lr(t.parent.left);return Te(t.parent.right,r)||function(t,r,n){var i=e.isBinaryExpression(r)&&(56===r.operatorToken.kind||60===r.operatorToken.kind)&&Te(r.right,n);if(i&&Ce(t,r.left))return i}(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&we(t)){var n=function(t,r){return e.forEach(t.properties,(function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&"value"===t.name.escapedText&&t.initializer&&Te(t.initializer,r)}))}(t.arguments[2],"prototype"===t.arguments[1].text);if(n)return n}},e.getExpandoInitializer=Te,e.isDefaultedExpandoInitializer=function(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind?t.parent.left:void 0;return r&&Te(t.right,Lr(r))&&Or(r)&&Ce(r,t.left)},e.getNameOfExpando=function(t){if(e.isBinaryExpression(t.parent)){var r=56!==t.parent.operatorToken.kind&&60!==t.parent.operatorToken.kind||!e.isBinaryExpression(t.parent.parent)?t.parent:t.parent.parent;if(62===r.operatorToken.kind&&e.isIdentifier(r.left))return r.left}else if(e.isVariableDeclaration(t.parent))return t.parent.name},e.isSameEntityName=Ce,e.getRightMostAssignedExpression=ke,e.isExportsIdentifier=Ae,e.isModuleIdentifier=Fe,e.isModuleExportsAccessExpression=Ne,e.getAssignmentDeclarationKind=Pe,e.isBindableObjectDefinePropertyCall=we,e.isLiteralLikeAccess=Ie,e.isLiteralLikeElementAccess=Oe,e.isBindableStaticAccessExpression=Me,e.isBindableStaticElementAccessExpression=Le,e.isBindableStaticNameExpression=Re,e.getNameOrArgument=Be,e.getElementOrPropertyAccessArgumentExpressionOrName=je,e.getElementOrPropertyAccessName=Je,e.getAssignmentDeclarationPropertyAccessKind=Ke,e.getInitializerOfBinaryExpression=ze,e.isPrototypePropertyAssignment=function(t){return e.isBinaryExpression(t)&&3===Pe(t)},e.isSpecialPropertyDeclaration=function(t){return he(t)&&t.parent&&234===t.parent.kind&&(!e.isElementAccessExpression(t)||Oe(t))&&!!e.getJSDocTypeTag(t.parent)},e.setValueDeclaration=function(e,t){var r=e.valueDeclaration;(!r||(!(8388608&t.flags)||8388608&r.flags)&&Se(r)&&!Se(t)||r.kind!==t.kind&&C(r))&&(e.valueDeclaration=t)},e.isFunctionSymbol=function(t){if(!t||!t.valueDeclaration)return!1;var r=t.valueDeclaration;return 252===r.kind||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)},e.tryGetModuleSpecifierFromDeclaration=function(t){var r,n,i;switch(t.kind){case 250:return t.initializer.arguments[0].text;case 262:return null===(r=e.tryCast(t.moduleSpecifier,e.isStringLiteralLike))||void 0===r?void 0:r.text;case 261:return null===(i=e.tryCast(null===(n=e.tryCast(t.moduleReference,e.isExternalModuleReference))||void 0===n?void 0:n.expression,e.isStringLiteralLike))||void 0===i?void 0:i.text;default:e.Debug.assertNever(t)}},e.importFromModuleSpecifier=function(t){return Ue(t)||e.Debug.failBadSyntaxKind(t.parent)},e.tryGetImportFromModuleSpecifier=Ue,e.getExternalModuleName=Ve,e.getNamespaceDeclarationNode=function(t){switch(t.kind){case 262:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 261:return t;case 268:return t.exportClause&&e.tryCast(t.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(t)}},e.isDefaultImport=function(e){return 262===e.kind&&!!e.importClause&&!!e.importClause.name},e.forEachImportClauseDeclaration=function(t,r){var n;if(t.name&&(n=r(t)))return n;if(t.namedBindings&&(n=e.isNamespaceImport(t.namedBindings)?r(t.namedBindings):e.forEach(t.namedBindings.elements,r)))return n},e.hasQuestionToken=function(e){if(e)switch(e.kind){case 161:case 166:case 165:case 290:case 289:case 164:case 163:return void 0!==e.questionToken}return!1},e.isJSDocConstructSignature=function(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):void 0,n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&"new"===n.escapedText},e.isJSDocTypeAlias=qe,e.isTypeAlias=function(t){return qe(t)||e.isTypeAliasDeclaration(t)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=He,e.getSingleVariableOfVariableStatement=Ge,e.getJSDocCommentsAndTags=function(t,r){var n;re(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)&&(n=e.append(n,e.last(t.initializer.jsDoc)));for(var i=t;i&&i.parent;){if(e.hasJSDocNodes(i)&&(n=e.append(n,e.last(i.jsDoc))),161===i.kind){n=e.addRange(n,(r?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(i));break}if(160===i.kind){n=e.addRange(n,(r?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(i));break}i=Xe(i)}return n||e.emptyArray},e.getNextJSDocCommentLocation=Xe,e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var r=t.name.escapedText,n=$e(t);if(n){var i=e.find(n.parameters,(function(e){return 78===e.name.kind&&e.name.escapedText===r}));return i&&i.symbol}}},e.getHostSignatureFromJSDoc=$e,e.getEffectiveJSDocHost=Qe,e.getJSDocHost=Ze,e.getJSDocRoot=et,e.getTypeParameterFromJsDoc=function(t){var r=t.name.escapedText,n=t.parent.parent.parent.typeParameters;return n&&e.find(n,(function(e){return e.name.escapedText===r}))},e.hasRestParameter=function(t){var r=e.lastOrUndefined(t.parameters);return!!r&&tt(r)},e.isRestParameter=tt,e.hasTypeArguments=function(e){return!!e.typeArguments},(X=e.AssignmentKind||(e.AssignmentKind={}))[X.None=0]="None",X[X.Definite=1]="Definite",X[X.Compound=2]="Compound",e.getAssignmentTargetKind=rt,e.isAssignmentTarget=function(e){return 0!==rt(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 231:case 233:case 244:case 235:case 245:case 259:case 285:case 286:case 246:case 238:case 239:case 240:case 236:case 237:case 248:case 288:return!0}return!1},e.isValueSignatureDeclaration=function(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)},e.walkUpParenthesizedTypes=function(e){return nt(e,187)},e.walkUpParenthesizedExpressions=it,e.walkUpParenthesizedTypesAndGetParentAndChild=function(e){for(var t;e&&187===e.kind;)t=e,e=e.parent;return[t,e]},e.skipParentheses=at,e.isDeleteTarget=function(e){return(202===e.kind||203===e.kind)&&((e=it(e.parent))&&211===e.kind)},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.getDeclarationFromName=function(t){var r=t.parent;switch(t.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(r))return r.parent;case 78:if(e.isDeclaration(r))return r.name===t?r:void 0;if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:void 0}var i=r.parent;return e.isBinaryExpression(i)&&0!==Pe(i)&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:void 0;case 79:return e.isDeclaration(r)&&r.name===t?r:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(t){return yt(t)&&159===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 164:case 163:case 166:case 165:case 168:case 169:case 292:case 289:case 202:return t.name===e;case 158:return t.right===e;case 199:case 266:return t.propertyName===e;case 271:case 281:return!0}return!1},e.isAliasSymbolDeclaration=function(t){return 261===t.kind||260===t.kind||263===t.kind&&!!t.name||264===t.kind||270===t.kind||266===t.kind||271===t.kind||267===t.kind&&st(t)||e.isBinaryExpression(t)&&2===Pe(t)&&st(t)||e.isPropertyAccessExpression(t)&&e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind&&ot(t.parent.right)||290===t.kind||289===t.kind&&ot(t.initializer)},e.getAliasDeclarationFromName=function e(t){switch(t.parent.kind){case 263:case 266:case 264:case 271:case 267:case 261:return t.parent;case 158:do{t=t.parent}while(158===t.parent.kind);return e(t)}},e.isAliasableExpression=ot,e.exportAssignmentIsAlias=st,e.getExportAssignmentExpression=ct,e.getPropertyAssignmentAliasLikeExpression=function(e){return 290===e.kind?e.name:289===e.kind?e.initializer:e.parent.right},e.getEffectiveBaseTypeNode=ut,e.getClassExtendsHeritageElement=lt,e.getEffectiveImplementsTypeNodes=dt,e.getAllSuperTypeNodes=function(t){return e.isInterfaceDeclaration(t)?_t(t)||e.emptyArray:e.isClassLike(t)&&e.concatenate(e.singleElementArray(ut(t)),dt(t))||e.emptyArray},e.getInterfaceBaseTypeNodes=_t,e.getHeritageClause=pt,e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=ft,e.isContextualKeyword=gt,e.isNonContextualKeyword=mt,e.isFutureReservedKeyword=function(e){return 116<=e&&e<=124},e.isStringANonContextualKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&mt(r)},e.isStringAKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&ft(r)},e.isIdentifierANonContextualKeyword=function(e){var t=e.originalKeywordKind;return!!t&&!gt(t)},e.isTrivia=function(e){return 2<=e&&e<=7},($=e.FunctionFlags||(e.FunctionFlags={}))[$.Normal=0]="Normal",$[$.Generator=1]="Generator",$[$.Async=2]="Async",$[$.Invalid=4]="Invalid",$[$.AsyncGenerator=3]="AsyncGenerator",e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 252:case 209:case 166:e.asteriskToken&&(t|=1);case 210:mr(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 252:case 209:case 210:case 166:return void 0!==e.body&&void 0===e.asteriskToken&&mr(e,256)}return!1},e.isStringOrNumericLiteralLike=yt,e.isSignedNumericLiteral=vt,e.hasDynamicName=ht,e.isDynamicName=Dt,e.getPropertyNameForPropertyNameNode=xt,e.isPropertyNameLiteral=bt,e.getTextOfIdentifierOrLiteral=St,e.getEscapedTextOfIdentifierOrLiteral=function(t){return e.isMemberName(t)?t.escapedText:e.escapeLeadingUnderscores(t.text)},e.getPropertyNameForUniqueESSymbol=function(t){return"__@"+e.getSymbolId(t)+"@"+t.escapedName},e.getSymbolNameForPrivateIdentifier=function(t,r){return"__#"+e.getSymbolId(t)+"@"+r},e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,"__@")},e.isESSymbolIdentifier=function(e){return 78===e.kind&&"Symbol"===e.escapedText},e.isPushOrUnshiftIdentifier=function(e){return"push"===e.escapedText||"unshift"===e.escapedText},e.isParameterDeclaration=function(e){return 161===Et(e).kind},e.getRootDeclaration=Et,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 167===t||209===t||252===t||210===t||166===t||168===t||169===t||257===t||298===t},e.nodeIsSynthesized=Tt,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},(Q=e.Associativity||(e.Associativity={}))[Q.Left=0]="Left",Q[Q.Right=1]="Right",e.getExpressionAssociativity=function(e){var t=kt(e),r=205===e.kind&&void 0!==e.arguments;return Ct(e.kind,t,r)},e.getOperatorAssociativity=Ct,e.getExpressionPrecedence=function(e){var t=kt(e),r=205===e.kind&&void 0!==e.arguments;return At(e.kind,t,r)},e.getOperator=kt,(Z=e.OperatorPrecedence||(e.OperatorPrecedence={}))[Z.Comma=0]="Comma",Z[Z.Spread=1]="Spread",Z[Z.Yield=2]="Yield",Z[Z.Assignment=3]="Assignment",Z[Z.Conditional=4]="Conditional",Z[Z.Coalesce=4]="Coalesce",Z[Z.LogicalOR=5]="LogicalOR",Z[Z.LogicalAND=6]="LogicalAND",Z[Z.BitwiseOR=7]="BitwiseOR",Z[Z.BitwiseXOR=8]="BitwiseXOR",Z[Z.BitwiseAND=9]="BitwiseAND",Z[Z.Equality=10]="Equality",Z[Z.Relational=11]="Relational",Z[Z.Shift=12]="Shift",Z[Z.Additive=13]="Additive",Z[Z.Multiplicative=14]="Multiplicative",Z[Z.Exponentiation=15]="Exponentiation",Z[Z.Unary=16]="Unary",Z[Z.Update=17]="Update",Z[Z.LeftHandSide=18]="LeftHandSide",Z[Z.Member=19]="Member",Z[Z.Primary=20]="Primary",Z[Z.Highest=20]="Highest",Z[Z.Lowest=0]="Lowest",Z[Z.Invalid=-1]="Invalid",e.getOperatorPrecedence=At,e.getBinaryOperatorPrecedence=Ft,e.getSemanticJsxChildren=function(t){return e.filter(t,(function(e){switch(e.kind){case 284:return!!e.expression;case 11:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}}))},e.createDiagnosticCollection=function(){var t=[],r=[],n=new e.Map,i=!1;return{add:function(a){var o;a.file?(o=n.get(a.file.fileName))||(o=[],n.set(a.file.fileName,o),e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),o=t);e.insertSorted(o,a,fn)},lookup:function(r){var i;i=r.file?n.get(r.file.fileName):t;if(!i)return;var a=e.binarySearch(i,r,e.identity,gn);if(a>=0)return i[a];return},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return n.get(i)||[];var a=e.flatMapToMutable(r,(function(e){return n.get(e)}));if(!t.length)return a;return a.unshift.apply(a,t),a}}};var Nt=/\$\{/g;e.hasInvalidEscape=function(t){return t&&!!(e.isNoSubstitutionTemplateLiteral(t)?t.templateFlags:t.head.templateFlags||e.some(t.templateSpans,(function(e){return!!e.literal.templateFlags})))};var Pt=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,wt=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,It=/[\\`]/g,Ot=new e.Map(e.getEntries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085"}));function Mt(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function Lt(e,t,r){if(0===e.charCodeAt(0)){var n=r.charCodeAt(t+e.length);return n>=48&&n<=57?"\\x00":"\\0"}return Ot.get(e)||Mt(e.charCodeAt(0))}function Rt(e,t){var r=96===t?It:39===t?wt:Pt;return e.replace(r,Lt)}e.escapeString=Rt;var Bt=/[^\u0000-\u007F]/g;function jt(e,t){return e=Rt(e,t),Bt.test(e)?e.replace(Bt,(function(e){return Mt(e.charCodeAt(0))})):e}e.escapeNonAsciiString=jt;var Jt=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,Kt=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,zt=new e.Map(e.getEntries({'"':""","'":"'"}));function Ut(e){return 0===e.charCodeAt(0)?"�":zt.get(e)||"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"}function Vt(e,t){var r=39===t?Kt:Jt;return e.replace(r,Ut)}e.escapeJsxAttributeString=Vt,e.stripQuotes=function(e){var t,r=e.length;return r>=2&&e.charCodeAt(0)===e.charCodeAt(r-1)&&(39===(t=e.charCodeAt(0))||34===t||96===t)?e.substring(1,r-1):e},e.isIntrinsicJsxName=function(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,"-")||e.stringContains(t,":")};var qt=[""," "];function Wt(e){for(var t=qt[1],r=qt.length;r<=e;r++)qt.push(qt[r-1]+t);return qt[e]}function Ht(){return qt[1].length}function Gt(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function Yt(e,t,r){return t.moduleName||$t(e,t.fileName,r&&r.fileName)}function Xt(t,r){return t.getCanonicalFileName(e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()))}function $t(t,r,n){var i=function(e){return t.getCanonicalFileName(e)},a=e.toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i),o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()),s=Zn(e.getRelativePathToDirectoryOrUrl(a,o,a,i,!1));return n?e.ensurePathIsNonModuleName(s):s}function Qt(e,t,r,n,i){var a=t.declarationDir||t.outDir;return Zn(a?rr(e,a,r,n,i):e)+".d.ts"}function Zt(e){return e.outFile||e.out}function er(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&ve(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(z(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function tr(e,t,r){return rr(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))}function rr(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);return o=0===a(o).indexOf(a(i))?o.substring(i.length):o,e.combinePaths(r,o)}function nr(t,r,n){t.length>e.getRootLength(t)&&!n(t)&&(nr(e.getDirectoryPath(t),r,n),r(t))}function ir(t,r){return e.computeLineOfPosition(t,r)}function ar(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&or(e.parameters[0]);return e.parameters[t?1:0]}}function or(e){return sr(e.name)}function sr(e){return!!e&&78===e.kind&&cr(e)}function cr(e){return 107===e.originalKeywordKind}function ur(t){if(he(t)||!e.isFunctionDeclaration(t)){var r=t.type;return r||!he(t)?r:e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}}function lr(e,t,r,n){dr(e,t,r.pos,n)}function dr(e,t,r,n){n&&n.length&&r!==n[0].pos&&ir(e,r)!==ir(e,n[0].pos)&&t.writeLine()}function _r(e,t,r,n,i,a,o,s){if(n&&n.length>0){i&&r.writeSpace(" ");for(var c=!1,u=0,l=n;u=0&&e.kind<=157?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|Tr(e)),!t||4096&e.modifierFlagsCache||!r&&!he(e)||!e.parent||(e.modifierFlagsCache|=4096|Er(e)),-536875009&e.modifierFlagsCache)}function br(e){return xr(e,!0)}function Sr(e){return xr(e,!1)}function Er(t){var r=0;return t.parent&&!e.isParameter(t)&&(he(t)&&(e.getJSDocPublicTagNoCache(t)&&(r|=4),e.getJSDocPrivateTagNoCache(t)&&(r|=8),e.getJSDocProtectedTagNoCache(t)&&(r|=16),e.getJSDocReadonlyTagNoCache(t)&&(r|=64),e.getJSDocOverrideTagNoCache(t)&&(r|=16384)),e.getJSDocDeprecatedTagNoCache(t)&&(r|=8192)),r}function Tr(e){var t=Cr(e.modifiers);return(4&e.flags||78===e.kind&&e.isInJSDocNamespace)&&(t|=1),t}function Cr(e){var t=0;if(e)for(var r=0,n=e;r=62&&e<=77}function Nr(e){var t=Pr(e);return t&&!t.isImplements?t.class:void 0}function Pr(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:116===t.parent.token}:void 0}function wr(t,r){return e.isBinaryExpression(t)&&(r?62===t.operatorToken.kind:Fr(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function Ir(e){return void 0!==Nr(e)}function Or(e){return 78===e.kind||Mr(e)}function Mr(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&Or(t.expression)}function Lr(e){return Me(e)&&"prototype"===Je(e)}e.getIndentString=Wt,e.getIndentSize=Ht,e.createTextWriter=function(t){var r,n,i,a,o,s=!1;function c(t){var n=e.computeLineStarts(t);n.length>1?(a=a+n.length-1,o=r.length-t.length+e.last(n),i=o-r.length==0):i=!1}function u(e){e&&e.length&&(i&&(e=Wt(n)+e,i=!1),r+=e,c(e))}function l(e){e&&(s=!1),u(e)}function d(){r="",n=0,i=!0,a=0,o=0,s=!1}return d(),{write:l,rawWrite:function(e){void 0!==e&&(r+=e,c(e),s=!1)},writeLiteral:function(e){e&&e.length&&l(e)},writeLine:function(e){i&&!e||(a++,o=(r+=t).length,i=!0,s=!1)},increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*Ht():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},hasTrailingComment:function(){return s},hasTrailingWhitespace:function(){return!!r.length&&e.isWhiteSpaceLike(r.charCodeAt(r.length-1))},clear:d,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:l,writeOperator:l,writeParameter:l,writeProperty:l,writePunctuation:l,writeSpace:l,writeStringLiteral:l,writeSymbol:function(e,t){return l(e)},writeTrailingSemicolon:l,writeComment:function(e){e&&(s=!0),u(e)},getTextPosWithWriteLine:function(){return i?r.length:r.length+t.length}}},e.getTrailingSemicolonDeferringWriter=function(e){var t=!1;function n(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return r(r({},e),{writeTrailingSemicolon:function(){t=!0},writeLiteral:function(t){n(),e.writeLiteral(t)},writeStringLiteral:function(t){n(),e.writeStringLiteral(t)},writeSymbol:function(t,r){n(),e.writeSymbol(t,r)},writePunctuation:function(t){n(),e.writePunctuation(t)},writeKeyword:function(t){n(),e.writeKeyword(t)},writeOperator:function(t){n(),e.writeOperator(t)},writeParameter:function(t){n(),e.writeParameter(t)},writeSpace:function(t){n(),e.writeSpace(t)},writeProperty:function(t){n(),e.writeProperty(t)},writeComment:function(t){n(),e.writeComment(t)},writeLine:function(){n(),e.writeLine()},increaseIndent:function(){n(),e.increaseIndent()},decreaseIndent:function(){n(),e.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Gt,e.hostGetCanonicalFileName=function(t){return e.createGetCanonicalFileName(Gt(t))},e.getResolvedExternalModuleName=Yt,e.getExternalModuleNameFromDeclaration=function(t,r,n){var i=r.getExternalModuleFileFromDeclaration(n);if(i&&!i.isDeclarationFile){var a=Ve(n);if(!a||!e.isStringLiteralLike(a)||e.pathIsRelative(a.text)||-1!==Xt(t,i.path).indexOf(Xt(t,e.ensureTrailingDirectorySeparator(t.getCommonSourceDirectory()))))return Yt(t,i)}},e.getExternalModuleNameFromPath=$t,e.getOwnEmitOutputFilePath=function(e,t,r){var n=t.getCompilerOptions();return(n.outDir?Zn(tr(e,t,n.outDir)):Zn(e))+r},e.getDeclarationEmitOutputFilePath=function(e,t){return Qt(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))},e.getDeclarationEmitOutputFilePathWorker=Qt,e.outFile=Zt,e.getPathsBasePath=function(t,r){var n,i;if(t.paths)return null!==(n=t.baseUrl)&&void 0!==n?n:e.Debug.checkDefined(t.pathsBasePath||(null===(i=r.getCurrentDirectory)||void 0===i?void 0:i.call(r)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")},e.getSourceFilesToEmit=function(t,r,n){var i=t.getCompilerOptions();if(Zt(i)){var a=vn(i),o=i.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),(function(r){return(o||!e.isExternalModule(r))&&er(r,t,n)}))}var s=void 0===r?t.getSourceFiles():[r];return e.filter(s,(function(e){return er(e,t,n)}))},e.sourceFileMayBeEmitted=er,e.getSourceFilePathInNewDir=tr,e.getSourceFilePathInNewDirWorker=rr,e.writeFile=function(t,r,n,i,a,o){t.writeFile(n,i,a,(function(t){r.add(_n(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))}),o)},e.writeFileEnsuringDirectories=function(t,r,n,i,a,o){try{i(t,r,n)}catch(s){nr(e.getDirectoryPath(e.normalizePath(t)),a,o),i(t,r,n)}},e.getLineOfLocalPosition=function(t,r){var n=e.getLineStarts(t);return e.computeLineOfPosition(n,r)},e.getLineOfLocalPositionFromLineMap=ir,e.getFirstConstructorWithBody=function(t){return e.find(t.members,(function(t){return e.isConstructorDeclaration(t)&&p(t.body)}))},e.getSetAccessorValueParameter=ar,e.getSetAccessorTypeAnnotationNode=function(e){var t=ar(e);return t&&t.type},e.getThisParameter=function(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(or(r))return r}},e.parameterIsThisKeyword=or,e.isThisIdentifier=sr,e.identifierIsThisKeyword=cr,e.getAllAccessorDeclarations=function(t,r){var n,i,a,o;return ht(r)?(n=r,168===r.kind?a=r:169===r.kind?o=r:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,(function(t){e.isAccessor(t)&&mr(t,32)===mr(r,32)&&(xt(t.name)===xt(r.name)&&(n?i||(i=t):n=t,168!==t.kind||a||(a=t),169!==t.kind||o||(o=t)))})),{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=ur,e.getTypeAnnotationNode=function(e){return e.type},e.getEffectiveReturnTypeNode=function(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(he(t)?e.getJSDocReturnType(t):void 0)},e.getJSDocTypeParameterDeclarations=function(t){return e.flatMap(e.getJSDocTags(t),(function(t){return function(t){return e.isJSDocTemplateTag(t)&&!(312===t.parent.kind&&t.parent.tags.some(qe))}(t)?t.typeParameters:void 0}))},e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=ar(e);return t&&ur(t)},e.emitNewLineBeforeLeadingComments=lr,e.emitNewLineBeforeLeadingCommentsOfPosition=dr,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&ir(e,r)!==ir(e,n)&&t.writeLine()},e.emitComments=_r,e.emitDetachedComments=function(t,r,n,i,a,o,s){var c,u;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),(function(e){return y(t,e.pos)}))):c=e.getLeadingCommentRanges(t,a.pos),c){for(var l=[],d=void 0,_=0,p=c;_=g+2)break}l.push(f),d=f}if(l.length){g=ir(r,e.last(l).end);ir(r,e.skipTrivia(t,a.pos))>=g+2&&(lr(r,n,a,c),_r(t,r,n,l,!1,!0,o,i),u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end})}}return u},e.writeCommentRange=function(t,r,n,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(r,i),c=r.length,u=void 0,l=i,d=s.line;l0){var f=p%Ht(),g=Wt((p-f)/Ht());for(n.rawWrite(g);f;)n.rawWrite(" "),f--}else n.rawWrite("")}pr(t,a,n,o,l,_),l=_}else n.writeComment(t.substring(i,a))},e.hasEffectiveModifiers=function(e){return 0!==br(e)},e.hasSyntacticModifiers=function(e){return 0!==Sr(e)},e.hasEffectiveModifier=gr,e.hasSyntacticModifier=mr,e.hasStaticModifier=yr,e.hasOverrideModifier=function(e){return gr(e,16384)},e.hasAbstractModifier=function(e){return mr(e,128)},e.hasAmbientModifier=function(e){return mr(e,2)},e.hasEffectiveReadonlyModifier=vr,e.getSelectedEffectiveModifierFlags=hr,e.getSelectedSyntacticModifierFlags=Dr,e.getEffectiveModifierFlags=br,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(e){return xr(e,!0,!0)},e.getSyntacticModifierFlags=Sr,e.getEffectiveModifierFlagsNoCache=function(e){return Tr(e)|Er(e)},e.getSyntacticModifierFlagsNoCache=Tr,e.modifiersToFlags=Cr,e.modifierToFlag=kr,e.createModifiers=function(t){return t?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(t)):void 0},e.isLogicalOperator=function(e){return 56===e||55===e||53===e},e.isLogicalOrCoalescingAssignmentOperator=Ar,e.isLogicalOrCoalescingAssignmentExpression=function(e){return Ar(e.operatorToken.kind)},e.isAssignmentOperator=Fr,e.tryGetClassExtendingExpressionWithTypeArguments=Nr,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=Pr,e.isAssignmentExpression=wr,e.isLeftHandSideOfAssignment=function(e){return wr(e.parent)&&e.parent.left===e},e.isDestructuringAssignment=function(e){if(wr(e,!0)){var t=e.left.kind;return 201===t||200===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Ir,e.isEntityNameExpression=Or,e.getFirstIdentifier=function(e){switch(e.kind){case 78:return e;case 158:do{e=e.left}while(78!==e.kind);return e;case 202:do{e=e.expression}while(78!==e.kind);return e}},e.isDottedName=function e(t){return 78===t.kind||107===t.kind||105===t.kind||227===t.kind||202===t.kind&&e(t.expression)||208===t.kind&&e(t.expression)},e.isPropertyAccessEntityNameExpression=Mr,e.tryGetPropertyAccessOrIdentifierToString=function t(r){if(e.isPropertyAccessExpression(r)){if(void 0!==(n=t(r.expression)))return n+"."+L(r.name)}else if(e.isElementAccessExpression(r)){var n;if(void 0!==(n=t(r.expression))&&e.isPropertyName(r.argumentExpression))return n+"."+xt(r.argumentExpression)}else if(e.isIdentifier(r))return e.unescapeLeadingUnderscores(r.escapedText)},e.isPrototypeAccess=Lr,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 158===e.parent.kind&&e.parent.right===e||202===e.parent.kind&&e.parent.name===e},e.isEmptyObjectLiteral=function(e){return 201===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 200===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){if(function(t){return t&&e.length(t.declarations)>0&&mr(t.declarations[0],512)}(t)&&t.declarations)for(var r=0,n=t.declarations;r>6|192),r.push(63&a|128)):a<65536?(r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)):a<131072?(r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)):e.Debug.assert(!1,"Unexpected code point")}return r}(t),c=0,u=s.length;c>2,n=(3&s[c])<<4|s[c+1]>>4,i=(15&s[c+1])<<2|s[c+2]>>6,a=63&s[c+2],c+1>=u?i=a=64:c+2>=u&&(a=64),o+=Rr.charAt(r)+Rr.charAt(n)+Rr.charAt(i)+Rr.charAt(a),c+=3;return o}e.convertToBase64=Br,e.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Br(t)},e.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,d=(3&s)<<6|63&c;0===l&&0!==s?n.push(u):0===d&&0!==c?n.push(u,l):n.push(u,l,d),i+=4}return function(e){for(var t="",r=0,n=e.length;r=t||-1===r),{pos:t,end:r}}function Kr(e,t){return Jr(t,e.end)}function zr(e){return e.decorators&&e.decorators.length>0?Kr(e,e.decorators.end):e}function Ur(e,t,r){return Vr(qr(e,r,!1),t.end,r)}function Vr(t,r,n){return 0===e.getLinesBetweenPositions(n,t,r)}function qr(t,r,n){return ni(t.pos)?-1:e.skipTrivia(r.text,t.pos,!1,n)}function Wr(e){return void 0!==e.initializer}function Hr(e){return 33554432&e.flags?e.checkFlags:0}function Gr(t){var r=t.parent;if(!r)return 0;switch(r.kind){case 208:return Gr(r);case 216:case 215:var n=r.operator;return 45===n||46===n?c():0;case 217:var i=r,a=i.left,o=i.operatorToken;return a===t&&Fr(o.kind)?62===o.kind?1:c():0;case 202:return r.name!==t?0:Gr(r);case 289:var s=Gr(r.parent);return t===r.name?function(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}(s):s;case 290:return t===r.objectAssignmentInitializer?0:Gr(r.parent);case 200:return Gr(r);default:return 0}function c(){return r.parent&&234===function(e){for(;208===e.kind;)e=e.parent;return e}(r.parent).kind?1:2}}function Yr(e,t,r){var n=r.onDeleteValue,i=r.onExistingValue;e.forEach((function(r,a){var o=t.get(a);void 0===o?(e.delete(a),n(r,a)):i&&i(r,o,a)}))}function Xr(t){var r;return null===(r=t.declarations)||void 0===r?void 0:r.find(e.isClassLike)}function $r(e){return 202===e.kind||203===e.kind}function Qr(e){for(;$r(e);)e=e.expression;return e}function Zr(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function en(t,r){this.flags=r,(e.Debug.isDebugging||e.tracing)&&(this.checker=t)}function tn(t,r){this.flags=r,e.Debug.isDebugging&&(this.checker=t)}function rn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function nn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function an(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function on(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||function(e){return e}}function sn(t,r,n){return void 0===n&&(n=0),t.replace(/{(\d+)}/g,(function(t,i){return""+e.Debug.checkDefined(r[+i+n])}))}function cn(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]||t.message}function un(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&"string"==typeof e.fileName}function ln(t,r){var n=r.fileName||"",i=r.text.length;e.Debug.assertEqual(t.fileName,n),e.Debug.assertLessThanOrEqual(t.start,i),e.Debug.assertLessThanOrEqual(t.start+t.length,i);var a={file:r,start:t.start,length:t.length,messageText:t.messageText,category:t.category,code:t.code,reportsUnnecessary:t.reportsUnnecessary};if(t.relatedInformation){a.relatedInformation=[];for(var o=0,s=t.relatedInformation;o4&&(i=sn(i,arguments,4)),{file:e,start:t,length:r,messageText:i,category:n.category,code:n.code,reportsUnnecessary:n.reportsUnnecessary,reportsDeprecated:n.reportsDeprecated}}function _n(e){var t=cn(e);return arguments.length>1&&(t=sn(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function pn(e){return e.file?e.file.path:void 0}function fn(t,r){return gn(t,r)||function(t,r){if(!t.relatedInformation&&!r.relatedInformation)return 0;if(t.relatedInformation&&r.relatedInformation)return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,(function(e,t){return fn(e,r.relatedInformation[t])}))||0;return t.relatedInformation?-1:1}(t,r)||0}function gn(t,r){return e.compareStringsCaseSensitive(pn(t),pn(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||mn(t.messageText,r.messageText)||0}function mn(t,r){if("string"==typeof t&&"string"==typeof r)return e.compareStringsCaseSensitive(t,r);if("string"==typeof t)return-1;if("string"==typeof r)return 1;var n=e.compareStringsCaseSensitive(t.messageText,r.messageText);if(n)return n;if(!t.next&&!r.next)return 0;if(!t.next)return-1;if(!r.next)return 1;for(var i=Math.min(t.next.length,r.next.length),a=0;ar.next.length?1:0}function yn(e){return e.target||0}function vn(t){return"number"==typeof t.module?t.module:yn(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function hn(e){return!(!e.declaration&&!e.composite)}function Dn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function xn(e){return void 0===e.allowJs?!!e.checkJs:e.allowJs}function bn(e,t){return t.strictFlag?Dn(e,t.name):e[t.name]}function Sn(e){for(var t=!1,r=0;r0?Kr(e,e.modifiers.end):zr(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,r){return Jr(t,t+e.tokenToString(r).length)},e.rangeIsOnSingleLine=function(e,t){return Ur(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,r){return Vr(qr(e,r,!1),qr(t,r,!1),r)},e.rangeEndPositionsAreOnSameLine=function(e,t,r){return Vr(e.end,t.end,r)},e.rangeStartIsOnSameLineAsRangeEnd=Ur,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,r){return Vr(e.end,qr(t,r,!1),r)},e.getLinesBetweenRangeEndAndRangeStart=function(t,r,n,i){var a=qr(r,n,i);return e.getLinesBetweenPositions(n,t.end,a)},e.getLinesBetweenRangeEndPositions=function(t,r,n){return e.getLinesBetweenPositions(n,t.end,r.end)},e.isNodeArrayMultiLine=function(e,t){return!Vr(e.pos,e.end,t)},e.positionsAreOnSameLine=Vr,e.getStartPositionOfRange=qr,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i),o=function(t,r,n){void 0===r&&(r=0);for(;t-- >r;)if(!e.isWhiteSpaceLike(n.text.charCodeAt(t)))return t}(a,r,n);return e.getLinesBetweenPositions(n,null!=o?o:r,a)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i);return e.getLinesBetweenPositions(n,t,Math.min(r,a))},e.isDeclarationNameOfEnumOrNamespace=function(t){var r=e.getParseTreeNode(t);if(r)switch(r.parent.kind){case 256:case 257:return r===r.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,Wr)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty("watch")},e.closeFileWatcher=function(e){e.close()},e.getCheckFlags=Hr,e.getDeclarationModifierFlagsFromSymbol=function(t,r){if(void 0===r&&(r=!1),t.valueDeclaration){var n=r&&t.declarations&&e.find(t.declarations,(function(e){return 169===e.kind}))||t.valueDeclaration,i=e.getCombinedModifierFlags(n);return t.parent&&32&t.parent.flags?i:-29&i}if(6&Hr(t)){var a=t.checkFlags;return(1024&a?8:256&a?4:16)|(2048&a?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===Gr(e)},e.isWriteAccess=function(e){return 0!==Gr(e)},function(e){e[e.Read=0]="Read",e[e.Write=1]="Write",e[e.ReadWrite=2]="ReadWrite"}(jr||(jr={})),e.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if("object"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if("function"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMapSkippingNewValues=Yr,e.mutateMap=function(e,t,r){Yr(e,t,r);var n=r.createNewValue;t.forEach((function(t,r){e.has(r)||e.set(r,n(r,t))}))},e.isAbstractConstructorSymbol=function(e){if(32&e.flags){var t=Xr(e);return!!t&&mr(t,128)}return!1},e.getClassLikeDeclarationOfSymbol=Xr,e.getObjectFlags=function(e){return 3899393&e.flags?e.objectFlags:0},e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(t,r){return!!e.forEachAncestorDirectory(t,(function(e){return!!r(e)||void 0}))},e.isUMDExportSymbol=function(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:x(r)},e.getLastChild=function(t){var r;return e.forEachChild(t,(function(e){p(e)&&(r=e)}),(function(e){for(var t=e.length-1;t>=0;t--)if(p(e[t])){r=e[t];break}})),r},e.addToSeen=function(e,t,r){return void 0===r&&(r=!0),!e.has(t)&&(e.set(t,r),!0)},e.isObjectTypeDeclaration=function(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)},e.isTypeNodeKind=function(e){return e>=173&&e<=196||128===e||152===e||144===e||155===e||145===e||131===e||147===e||148===e||113===e||150===e||141===e||224===e||304===e||305===e||306===e||307===e||308===e||309===e||310===e},e.isAccessExpression=$r,e.getNameOfAccessExpression=function(t){return 202===t.kind?t.name:(e.Debug.assert(203===t.kind),t.argumentExpression)},e.isBundleFileTextLike=function(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}},e.isNamedImportsOrExports=function(e){return 265===e.kind||269===e.kind},e.getLeftmostAccessExpression=Qr,e.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 216:e=e.operand;continue;case 217:e=e.left;continue;case 218:e=e.condition;continue;case 206:e=e.tag;continue;case 204:if(t)return e;case 225:case 203:case 202:case 226:case 340:e=e.expression;continue}return e}},e.objectAllocator={getNodeConstructor:function(){return rn},getTokenConstructor:function(){return nn},getIdentifierConstructor:function(){return an},getPrivateIdentifierConstructor:function(){return rn},getSourceFileConstructor:function(){return rn},getSymbolConstructor:function(){return Zr},getTypeConstructor:function(){return en},getSignatureConstructor:function(){return tn},getSourceMapSourceConstructor:function(){return on}},e.setObjectAllocator=function(t){e.objectAllocator=t},e.formatStringFromArgs=sn,e.setLocalizedDiagnosticMessages=function(t){e.localizedDiagnosticMessages=t},e.getLocaleSpecificMessage=cn,e.createDetachedDiagnostic=function(e,t,r,n){B(void 0,t,r);var i=cn(n);return arguments.length>4&&(i=sn(i,arguments,4)),{file:void 0,start:t,length:r,messageText:i,category:n.category,code:n.code,reportsUnnecessary:n.reportsUnnecessary,fileName:e}},e.attachFileToDiagnostics=function(e,t){for(var r=[],n=0,i=e;n2&&(r=sn(r,arguments,2)),r},e.createCompilerDiagnostic=_n,e.createCompilerDiagnosticFromMessageChain=function(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}},e.chainDiagnosticMessages=function(e,t){var r=cn(t);return arguments.length>2&&(r=sn(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}},e.concatenateDiagnosticMessageChains=function(e,t){for(var r=e;r.next;)r=r.next[0];r.next=[t]},e.compareDiagnostics=fn,e.compareDiagnosticsSkipRelatedInformation=gn,e.getLanguageVariant=function(e){return 4===e||2===e||1===e||6===e?1:0},e.getEmitScriptTarget=yn,e.getEmitModuleKind=vn,e.getEmitModuleResolutionKind=function(t){var r=t.moduleResolution;return void 0===r&&(r=vn(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),r},e.hasJsonModuleEmitEnabled=function(t){switch(vn(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:return!0;default:return!1}},e.unreachableCodeIsError=function(e){return!1===e.allowUnreachableCode},e.unusedLabelIsError=function(e){return!1===e.allowUnusedLabels},e.getAreDeclarationMapsEnabled=function(e){return!(!hn(e)||!e.declarationMap)},e.getAllowSyntheticDefaultImports=function(t){var r=vn(t);return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System},e.getEmitDeclarations=hn,e.shouldPreserveConstEnums=function(e){return!(!e.preserveConstEnums&&!e.isolatedModules)},e.isIncrementalCompilation=function(e){return!(!e.incremental&&!e.composite)},e.getStrictOptionValue=Dn,e.getAllowJSCompilerOption=xn,e.getUseDefineForClassFields=function(e){return void 0===e.useDefineForClassFields?99===e.target:e.useDefineForClassFields},e.compilerOptionsAffectSemanticDiagnostics=function(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some((function(e){return!oi(bn(r,e),bn(t,e))}))},e.compilerOptionsAffectEmit=function(t,r){return r!==t&&e.affectsEmitOptionDeclarations.some((function(e){return!oi(bn(r,e),bn(t,e))}))},e.getCompilerOptionValue=bn,e.getJSXTransformEnabled=function(e){var t=e.jsx;return 2===t||4===t||5===t},e.getJSXImplicitImportBase=function(t,r){var n=null==r?void 0:r.pragmas.get("jsximportsource"),i=e.isArray(n)?n[n.length-1]:n;return 4===t.jsx||5===t.jsx||t.jsxImportSource||i?(null==i?void 0:i.arguments.factory)||t.jsxImportSource||"react":void 0},e.getJSXRuntimeImport=function(e,t){return e?e+"/"+(5===t.jsx?"jsx-dev-runtime":"jsx-runtime"):void 0},e.hasZeroOrOneAsteriskCharacter=Sn,e.createSymlinkCache=En,e.discoverProbableSymlinks=function(t,r,n){for(var i=En(n,r),a=0,o=e.flatMap(t,(function(t){var r=t.resolvedModules&&e.arrayFrom(e.mapDefinedIterator(t.resolvedModules.values(),(function(e){return(null==e?void 0:e.originalPath)?[e.resolvedFileName,e.originalPath]:void 0})));return e.concatenate(r,t.resolvedTypeReferenceDirectiveNames&&e.arrayFrom(e.mapDefinedIterator(t.resolvedTypeReferenceDirectiveNames.values(),(function(e){return(null==e?void 0:e.originalPath)&&e.resolvedFileName?[e.resolvedFileName,e.originalPath]:void 0}))))}));a0;)c+=")?",_--;return c}}function jn(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function Jn(t,r,n,i,a){t=e.normalizePath(t),a=e.normalizePath(a);var o=e.combinePaths(a,t);return{includeFilePatterns:e.map(Ln(n,o,"files"),(function(e){return"^"+e+"$"})),includeFilePattern:Mn(n,o,"files"),includeDirectoryPattern:Mn(n,o,"directories"),excludePattern:Mn(r,o,"exclude"),basePaths:zn(t,n,i)}}function Kn(e,t){return new RegExp(e,t?"":"i")}function zn(t,r,n){var i=[t];if(r){for(var a=[],o=0,s=r;o=0;n--)if(e.fileExtensionIs(t,r[n]))return $n(n,r);return 0},e.adjustExtensionPriority=$n,e.getNextLowestExtensionPriority=function(e,t){return e<2?2:t.length};var Qn=[".d.ts",".ts",".js",".tsx",".jsx",".json"];function Zn(e){for(var t=0,r=Qn;t=0)}function ii(e){return".ts"===e||".tsx"===e||".d.ts"===e}function ai(t){return e.find(Qn,(function(r){return e.fileExtensionIs(t,r)}))}function oi(t,r){return t===r||"object"==typeof t&&null!==t&&"object"==typeof r&&null!==r&&e.equalOwnProperties(t,r,oi)}function si(e,t){return e.pos=t,e}function ci(e,t){return e.end=t,e}function ui(e,t,r){return ci(si(e,t),r)}function li(e,t){return e&&t&&(e.parent=t),e}function di(t){return!e.isOmittedExpression(t)}function _i(t){return e.some(e.ignoredPaths,(function(r){return e.stringContains(t,r)}))}e.removeFileExtension=Zn,e.tryRemoveExtension=ei,e.removeExtension=ti,e.changeExtension=function(t,r){return e.changeAnyExtension(t,r,Qn,!1)},e.tryParsePattern=ri,e.positionIsSynthesized=ni,e.extensionIsTS=ii,e.resolutionExtensionIsTSOrJson=function(e){return ii(e)||".json"===e},e.extensionFromPath=function(t){var r=ai(t);return void 0!==r?r:e.Debug.fail("File "+t+" has unknown extension.")},e.isAnySupportedFileExtension=function(e){return void 0!==ai(e)},e.tryGetExtensionFromPath=ai,e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(t,r){for(var n=[],i=0,a=t;ii&&(i=o)}return{min:n,max:i}},e.rangeOfNode=function(e){return{pos:v(e),end:e.end}},e.rangeOfTypeParameters=function(t,r){return{pos:r.pos-1,end:e.skipTrivia(t.text,r.end)+1}},e.skipTypeChecking=function(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)},e.isJsonEqual=oi,e.parsePseudoBigInt=function(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:for(var r=e.length-1,n=0;48===e.charCodeAt(n);)n++;return e.slice(n,r)||"0"}for(var i=e.length-1,a=(i-2)*t,o=new Uint16Array((a>>>4)+(15&a?1:0)),s=i-1,c=0;s>=2;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),d=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=d;var _=d>>>16;_&&(o[u+1]|=_)}for(var p="",f=o.length-1,g=!0;g;){var m=0;g=!1;for(u=f;u>=0;u--){var y=m<<16|o[u],v=y/10|0;o[u]=v,m=y-10*v,v&&!g&&(f=u,g=!0)}p=m+p}return p},e.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&"0"!==r?"-":"")+r},e.isValidTypeOnlyAliasUseSite=function(t){return!!(8388608&t.flags)||me(t)||function(t){if(78!==t.kind)return!1;var r=e.findAncestor(t.parent,(function(e){switch(e.kind){case 287:return!0;case 202:case 224:return!1;default:return"quit"}}));return 116===(null==r?void 0:r.token)||254===(null==r?void 0:r.parent.kind)}(t)||function(e){for(;78===e.kind||202===e.kind;)e=e.parent;if(159!==e.kind)return!1;if(mr(e.parent,128))return!0;var t=e.parent.parent.kind;return 254===t||178===t}(t)||!fe(t)},e.typeOnlyDeclarationIsExport=function(e){return 271===e.kind},e.isIdentifierTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)},e.arrayIsHomogeneous=function(t,r){if(void 0===r&&(r=e.equateValues),t.length<2)return!0;for(var n=t[0],i=1,a=t.length;i3)return!0;var u=e.getExpressionPrecedence(c);switch(e.compareValues(u,o)){case-1:return!(!n&&1===s&&220===r.kind);case 1:return!1;case 0:if(n)return 1===s;if(e.isBinaryExpression(c)&&c.operatorToken.kind===t){if(function(e){return 41===e||51===e||50===e||52===e}(t))return!1;if(39===t){var l=a?i(a):0;if(e.isLiteralKind(l)&&l===i(c))return!1}}return 0===e.getExpressionAssociativity(c)}}(r,n,a,o)?t.createParenthesizedExpression(n):n}function o(e,t){return a(e,t,!0)}function s(e,t,r){return a(e,r,!1,t)}function c(r){var n=e.skipPartiallyEmittedExpressions(r);return e.isLeftHandSideExpression(n)&&(205!==n.kind||n.arguments)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function u(r){var n=e.skipPartiallyEmittedExpressions(r);return e.getExpressionPrecedence(n)>e.getOperatorPrecedence(217,27)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function l(e){return 185===e.kind?t.createParenthesizedType(e):e}function d(e){switch(e.kind){case 183:case 184:case 175:case 176:return t.createParenthesizedType(e)}return l(e)}function _(r,n){return 0===n&&e.isFunctionOrConstructorTypeNode(r)&&r.typeParameters?t.createParenthesizedType(r):r}},e.nullParenthesizerRules={getParenthesizeLeftSideOfBinaryForOperator:function(t){return e.identity},getParenthesizeRightSideOfBinaryForOperator:function(t){return e.identity},parenthesizeLeftSideOfBinary:function(e,t){return t},parenthesizeRightSideOfBinary:function(e,t,r){return r},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(t){return e.cast(t,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(t){return e.cast(t,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(t){return e.cast(t,e.isNodeArray)},parenthesizeTypeArguments:function(t){return t&&e.cast(t,e.isNodeArray)}}}(s||(s={})),function(e){e.createNodeConverters=function(t){return{convertToFunctionBlock:function(r,n){if(e.isBlock(r))return r;var i=t.createReturnStatement(r);e.setTextRange(i,r);var a=t.createBlock([i],n);return e.setTextRange(a,r),a},convertToFunctionExpression:function(r){if(!r.body)return e.Debug.fail("Cannot convert a FunctionDeclaration without a body");var n=t.createFunctionExpression(r.modifiers,r.asteriskToken,r.name,r.typeParameters,r.parameters,r.type,r.body);e.setOriginalNode(n,r),e.setTextRange(n,r),e.getStartsOnNewLine(r)&&e.setStartsOnNewLine(n,!0);return n},convertToArrayAssignmentElement:r,convertToObjectAssignmentElement:n,convertToAssignmentPattern:i,convertToObjectAssignmentPattern:a,convertToArrayAssignmentPattern:o,convertToAssignmentElementTarget:s};function r(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadElement(r.name),r),r);var n=s(r.name);return r.initializer?e.setOriginalNode(e.setTextRange(t.createAssignment(n,r.initializer),r),r):n}return e.cast(r,e.isExpression)}function n(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadAssignment(r.name),r),r);if(r.propertyName){var n=s(r.name);return e.setOriginalNode(e.setTextRange(t.createPropertyAssignment(r.propertyName,r.initializer?t.createAssignment(n,r.initializer):n),r),r)}return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createShorthandPropertyAssignment(r.name,r.initializer),r),r)}return e.cast(r,e.isObjectLiteralElementLike)}function i(e){switch(e.kind){case 198:case 200:return o(e);case 197:case 201:return a(e)}}function a(r){return e.isObjectBindingPattern(r)?e.setOriginalNode(e.setTextRange(t.createObjectLiteralExpression(e.map(r.elements,n)),r),r):e.cast(r,e.isObjectLiteralExpression)}function o(n){return e.isArrayBindingPattern(n)?e.setOriginalNode(e.setTextRange(t.createArrayLiteralExpression(e.map(n.elements,r)),n),n):e.cast(n,e.isArrayLiteralExpression)}function s(t){return e.isBindingPattern(t)?i(t):e.cast(t,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(s||(s={})),function(e){var r,n,i=0;function a(r,a){var f=8&r?o:s,g=e.memoize((function(){return 1&r?e.nullParenthesizerRules:e.createParenthesizerRules(A)})),m=e.memoize((function(){return 2&r?e.nullNodeConverters:e.createNodeConverters(A)})),y=e.memoizeOne((function(e){return function(t,r){return Ot(t,e,r)}})),v=e.memoizeOne((function(e){return function(t){return wt(e,t)}})),D=e.memoizeOne((function(e){return function(t){return It(t,e)}})),x=e.memoizeOne((function(e){return function(){return function(e){return N(e)}(e)}})),b=e.memoizeOne((function(e){return function(t){return Qr(e,t)}})),S=e.memoizeOne((function(e){return function(t,r){return function(e,t,r){return t.type!==r?f(Qr(e,r),t):t}(e,t,r)}})),E=e.memoizeOne((function(e){return function(t,r){return mn(e,t,r)}})),T=e.memoizeOne((function(e){return function(t,r,n){return function(e,t,r,n){void 0===r&&(r=nn(t));return t.tagName!==r||t.comment!==n?f(mn(e,r,n),t):t}(e,t,r,n)}})),C=e.memoizeOne((function(e){return function(t,r,n){return yn(e,t,r,n)}})),k=e.memoizeOne((function(e){return function(t,r,n,i){return function(e,t,r,n,i){void 0===r&&(r=nn(t));return t.tagName!==r||t.typeExpression!==n||t.comment!==i?f(yn(e,r,n,i),t):t}(e,t,r,n,i)}})),A={get parenthesizer(){return g()},get converters(){return m()},createNodeArray:F,createNumericLiteral:U,createBigIntLiteral:V,createStringLiteral:W,createStringLiteralFromNode:function(t){var r=q(e.getTextOfIdentifierOrLiteral(t),void 0);return r.textSourceNode=t,r},createRegularExpressionLiteral:H,createLiteralLikeNode:function(e,t){switch(e){case 8:return U(t,0);case 9:return V(t);case 10:return W(t,void 0);case 11:return Cn(t,!1);case 12:return Cn(t,!0);case 13:return H(t);case 14:return jt(e,t,void 0,0)}},createIdentifier:X,updateIdentifier:function(t,r){return t.typeArguments!==r?f(X(e.idText(t),r),t):t},createTempVariable:$,createLoopVariable:function(e){var t=2;e&&(t|=8);return Y("",t)},createUniqueName:function(t,r){void 0===r&&(r=0);return e.Debug.assert(!(7&r),"Argument out of range: flags"),e.Debug.assert(32!=(48&r),"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),Y(t,3|r)},getGeneratedNameForNode:Q,createPrivateIdentifier:function(t){e.startsWith(t,"#")||e.Debug.fail("First character of private identifier must be #: "+t);var r=a.createBasePrivateIdentifierNode(79);return r.escapedText=e.escapeLeadingUnderscores(t),r.transformFlags|=8388608,r},createToken:ee,createSuper:function(){return ee(105)},createThis:te,createNull:function(){return ee(103)},createTrue:re,createFalse:ne,createModifier:ie,createModifiersFromModifierFlags:ae,createQualifiedName:oe,updateQualifiedName:function(e,t,r){return e.left!==t||e.right!==r?f(oe(t,r),e):e},createComputedPropertyName:se,updateComputedPropertyName:function(e,t){return e.expression!==t?f(se(t),e):e},createTypeParameterDeclaration:ce,updateTypeParameterDeclaration:function(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?f(ce(t,r,n),e):e},createParameterDeclaration:ue,updateParameterDeclaration:le,createDecorator:de,updateDecorator:function(e,t){return e.expression!==t?f(de(t),e):e},createPropertySignature:_e,updatePropertySignature:pe,createPropertyDeclaration:fe,updatePropertyDeclaration:ge,createMethodSignature:me,updateMethodSignature:ye,createMethodDeclaration:ve,updateMethodDeclaration:he,createConstructorDeclaration:De,updateConstructorDeclaration:xe,createGetAccessorDeclaration:be,updateGetAccessorDeclaration:Se,createSetAccessorDeclaration:Ee,updateSetAccessorDeclaration:Te,createCallSignature:Ce,updateCallSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ce(t,r,n),e):e},createConstructSignature:ke,updateConstructSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(ke(t,r,n),e):e},createIndexSignature:Ae,updateIndexSignature:Fe,createTemplateLiteralTypeSpan:Ne,updateTemplateLiteralTypeSpan:function(e,t,r){return e.type!==t||e.literal!==r?f(Ne(t,r),e):e},createKeywordTypeNode:function(e){return ee(e)},createTypePredicateNode:Pe,updateTypePredicateNode:function(e,t,r,n){return e.assertsModifier!==t||e.parameterName!==r||e.type!==n?f(Pe(t,r,n),e):e},createTypeReferenceNode:we,updateTypeReferenceNode:function(e,t,r){return e.typeName!==t||e.typeArguments!==r?f(we(t,r),e):e},createFunctionTypeNode:Ie,updateFunctionTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ie(t,r,n),e):e},createConstructorTypeNode:Oe,updateConstructorTypeNode:function(){for(var t=[],r=0;r10?Vn(t):e.reduceLeft(t,A.createComma)},getInternalName:function(e,t,r){return Qn(e,t,r,49152)},getLocalName:function(e,t,r){return Qn(e,t,r,16384)},getExportName:Zn,getDeclarationName:function(e,t,r){return Qn(e,t,r)},getNamespaceMemberName:ei,getExternalModuleOrNamespaceExportName:function(t,r,n,i){if(t&&e.hasSyntacticModifier(r,1))return ei(t,Qn(r),n,i);return Zn(r,n,i)},restoreOuterExpressions:function t(r,n,i){void 0===i&&(i=15);if(r&&e.isOuterExpression(r,i)&&!function(t){return e.isParenthesizedExpression(t)&&e.nodeIsSynthesized(t)&&e.nodeIsSynthesized(e.getSourceMapRange(t))&&e.nodeIsSynthesized(e.getCommentRange(t))&&!e.some(e.getSyntheticLeadingComments(t))&&!e.some(e.getSyntheticTrailingComments(t))}(r))return function(e,t){switch(e.kind){case 208:return St(e,t);case 207:return xt(e,e.type,t);case 225:return Wt(e,t,e.type);case 226:return Gt(e,t);case 340:return zn(e,t)}}(r,t(r.expression,n));return n},restoreEnclosingLabel:function t(r,n,i){if(!n)return r;var a=mr(n,n.label,e.isLabeledStatement(n.statement)?t(r,n.statement):r);i&&i(n);return a},createUseStrictPrologue:ri,copyPrologue:function(e,t,r,n){var i=ni(e,t,r);return ii(e,t,i,n)},copyStandardPrologue:ni,copyCustomPrologue:ii,ensureUseStrict:function(r){if(!e.findUseStrictPrologue(r))return e.setTextRange(F(t([ri()],r)),r);return r},liftToBlock:function(t){return e.Debug.assert(e.every(t,e.isStatementOrBlock),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||Zt(t)},mergeLexicalEnvironment:function(r,n){if(!e.some(n))return r;var i=ai(r,e.isPrologueDirective,0),a=ai(r,e.isHoistedFunction,i),o=ai(r,e.isHoistedVariableStatement,a),s=ai(n,e.isPrologueDirective,0),c=ai(n,e.isHoistedFunction,s),u=ai(n,e.isHoistedVariableStatement,c),l=ai(n,e.isCustomPrologue,u);e.Debug.assert(l===n.length,"Expected declarations to be valid standard or custom prologues");var d=e.isNodeArray(r)?r.slice():r;l>u&&d.splice.apply(d,t([o,0],n.slice(u,l)));u>c&&d.splice.apply(d,t([a,0],n.slice(c,u)));c>s&&d.splice.apply(d,t([i,0],n.slice(s,c)));if(s>0)if(0===i)d.splice.apply(d,t([0,0],n.slice(0,s)));else{for(var _=new e.Map,p=0;p=0;p--){var g=n[p];_.has(g.expression.text)||d.unshift(g)}}if(e.isNodeArray(r))return e.setTextRange(F(d,r.hasTrailingComma),r);return r},updateModifiers:function(t,r){var n;"number"==typeof r&&(r=ae(r));return e.isParameter(t)?le(t,t.decorators,r,t.dotDotDotToken,t.name,t.questionToken,t.type,t.initializer):e.isPropertySignature(t)?pe(t,r,t.name,t.questionToken,t.type):e.isPropertyDeclaration(t)?ge(t,t.decorators,r,t.name,null!==(n=t.questionToken)&&void 0!==n?n:t.exclamationToken,t.type,t.initializer):e.isMethodSignature(t)?ye(t,r,t.name,t.questionToken,t.typeParameters,t.parameters,t.type):e.isMethodDeclaration(t)?he(t,t.decorators,r,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body):e.isConstructorDeclaration(t)?xe(t,t.decorators,r,t.parameters,t.body):e.isGetAccessorDeclaration(t)?Se(t,t.decorators,r,t.name,t.parameters,t.type,t.body):e.isSetAccessorDeclaration(t)?Te(t,t.decorators,r,t.name,t.parameters,t.body):e.isIndexSignatureDeclaration(t)?Fe(t,t.decorators,r,t.parameters,t.type):e.isFunctionExpression(t)?Tt(t,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isArrowFunction(t)?kt(t,r,t.typeParameters,t.parameters,t.type,t.equalsGreaterThanToken,t.body):e.isClassExpression(t)?Ut(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isVariableStatement(t)?tr(t,r,t.declarationList):e.isFunctionDeclaration(t)?br(t,t.decorators,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isClassDeclaration(t)?Er(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isInterfaceDeclaration(t)?Cr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isTypeAliasDeclaration(t)?Ar(t,t.decorators,r,t.name,t.typeParameters,t.type):e.isEnumDeclaration(t)?Nr(t,t.decorators,r,t.name,t.members):e.isModuleDeclaration(t)?wr(t,t.decorators,r,t.name,t.body):e.isImportEqualsDeclaration(t)?Rr(t,t.decorators,r,t.isTypeOnly,t.name,t.moduleReference):e.isImportDeclaration(t)?jr(t,t.decorators,r,t.importClause,t.moduleSpecifier):e.isExportAssignment(t)?Wr(t,t.decorators,r,t.expression):e.isExportDeclaration(t)?Gr(t,t.decorators,r,t.isTypeOnly,t.exportClause,t.moduleSpecifier):e.Debug.assertNever(t)}};return A;function F(t,r){if(void 0===t||t===e.emptyArray)t=[];else if(e.isNodeArray(t))return void 0===t.transformFlags&&p(t),e.Debug.attachNodeArrayDebugInfo(t),t;var n=t.length,i=n>=1&&n<=4?t.slice():t;return e.setTextRangePosEnd(i,-1,-1),i.hasTrailingComma=!!r,p(i),e.Debug.attachNodeArrayDebugInfo(i),i}function N(e){return a.createBaseNode(e)}function P(e,t,r){var n=N(e);return n.decorators=oi(t),n.modifiers=oi(r),n.transformFlags|=_(n.decorators)|_(n.modifiers),n.symbol=void 0,n.localSymbol=void 0,n.locals=void 0,n.nextContainer=void 0,n}function w(t,r,n,i){var a=P(t,r,n);if(i=si(i),a.name=i,i)switch(a.kind){case 166:case 168:case 169:case 164:case 289:if(e.isIdentifier(i)){a.transformFlags|=l(i);break}default:a.transformFlags|=d(i)}return a}function I(e,t,r,n,i){var a=w(e,t,r,n);return a.typeParameters=oi(i),a.transformFlags|=_(a.typeParameters),i&&(a.transformFlags|=1),a}function O(e,t,r,n,i,a,o){var s=I(e,t,r,n,i);return s.parameters=F(a),s.type=o,s.transformFlags|=_(s.parameters)|d(s.type),o&&(s.transformFlags|=1),s}function M(e,t){return t.typeArguments&&(e.typeArguments=t.typeArguments),f(e,t)}function L(e,t,r,n,i,a,o,s){var c=O(e,t,r,n,i,a,o);return c.body=s,c.transformFlags|=-16777217&d(c.body),s||(c.transformFlags|=1),c}function R(e,t){return t.exclamationToken&&(e.exclamationToken=t.exclamationToken),t.typeArguments&&(e.typeArguments=t.typeArguments),M(e,t)}function B(e,t,r,n,i,a){var o=I(e,t,r,n,i);return o.heritageClauses=oi(a),o.transformFlags|=_(o.heritageClauses),o}function j(e,t,r,n,i,a,o){var s=B(e,t,r,n,i,a);return s.members=F(o),s.transformFlags|=_(s.members),s}function J(e,t,r,n,i){var a=w(e,t,r,n);return a.initializer=i,a.transformFlags|=d(a.initializer),a}function K(e,t,r,n,i,a){var o=J(e,t,r,n,a);return o.type=i,o.transformFlags|=d(i),i&&(o.transformFlags|=1),o}function z(e,t){var r=Z(e);return r.text=t,r}function U(e,t){void 0===t&&(t=0);var r=z(8,"number"==typeof e?e+"":e);return r.numericLiteralFlags=t,384&t&&(r.transformFlags|=512),r}function V(t){var r=z(9,"string"==typeof t?t:e.pseudoBigIntToString(t)+"n");return r.transformFlags|=4,r}function q(e,t){var r=z(10,e);return r.singleQuote=t,r}function W(e,t,r){var n=q(e,t);return n.hasExtendedUnicodeEscape=r,r&&(n.transformFlags|=512),n}function H(e){return z(13,e)}function G(t,r){void 0===r&&t&&(r=e.stringToToken(t)),78===r&&(r=void 0);var n=a.createBaseIdentifierNode(78);return n.originalKeywordKind=r,n.escapedText=e.escapeLeadingUnderscores(t),n}function Y(e,t){var r=G(e,void 0);return r.autoGenerateFlags=t,r.autoGenerateId=i,i++,r}function X(e,t,r){var n=G(e,r);return t&&(n.typeArguments=F(t)),130===n.originalKeywordKind&&(n.transformFlags|=16777216),n}function $(e,t){var r=1;t&&(r|=8);var n=Y("",r);return e&&e(n),n}function Q(t,r){void 0===r&&(r=0),e.Debug.assert(!(7&r),"Argument out of range: flags");var n=Y(t&&e.isIdentifier(t)?e.idText(t):"",4|r);return n.original=t,n}function Z(e){return a.createBaseTokenNode(e)}function ee(t){e.Debug.assert(t>=0&&t<=157,"Invalid token"),e.Debug.assert(t<=14||t>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),e.Debug.assert(t<=8||t>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),e.Debug.assert(78!==t,"Invalid token. Use 'createIdentifier' to create identifiers");var r=Z(t),n=0;switch(t){case 129:n=192;break;case 122:case 120:case 121:case 142:case 125:case 133:case 84:case 128:case 144:case 155:case 141:case 145:case 156:case 147:case 131:case 148:case 113:case 152:case 150:n=1;break;case 123:case 105:n=512;break;case 107:n=8192}return n&&(r.transformFlags|=n),r}function te(){return ee(107)}function re(){return ee(109)}function ne(){return ee(94)}function ie(e){return ee(e)}function ae(e){var t=[];return 1&e&&t.push(ie(92)),2&e&&t.push(ie(133)),512&e&&t.push(ie(87)),2048&e&&t.push(ie(84)),4&e&&t.push(ie(122)),8&e&&t.push(ie(120)),16&e&&t.push(ie(121)),128&e&&t.push(ie(125)),32&e&&t.push(ie(123)),16384&e&&t.push(ie(156)),64&e&&t.push(ie(142)),256&e&&t.push(ie(129)),t}function oe(e,t){var r=N(158);return r.left=e,r.right=si(t),r.transformFlags|=d(r.left)|l(r.right),r}function se(e){var t=N(159);return t.expression=g().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=66048|d(t.expression),t}function ce(e,t,r){var n=w(160,void 0,void 0,e);return n.constraint=t,n.default=r,n.transformFlags=1,n}function ue(t,r,n,i,a,o,s){var c=K(161,t,r,i,o,s&&g().parenthesizeExpressionForDisallowedComma(s));return c.dotDotDotToken=n,c.questionToken=a,e.isThisIdentifier(c.name)?c.transformFlags=1:(c.transformFlags|=d(c.dotDotDotToken)|d(c.questionToken),a&&(c.transformFlags|=1),16476&e.modifiersToFlags(c.modifiers)&&(c.transformFlags|=4096),(s||n)&&(c.transformFlags|=512)),c}function le(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?f(ue(t,r,n,i,a,o,s),e):e}function de(e){var t=N(162);return t.expression=g().parenthesizeLeftSideOfAccess(e),t.transformFlags|=4097|d(t.expression),t}function _e(e,t,r,n){var i=w(163,void 0,e,t);return i.type=n,i.questionToken=r,i.transformFlags=1,i}function pe(e,t,r,n,i){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(_e(t,r,n,i),e):e}function fe(t,r,n,i,a,o){var s=K(164,t,r,n,a,o);return s.questionToken=i&&e.isQuestionToken(i)?i:void 0,s.exclamationToken=i&&e.isExclamationToken(i)?i:void 0,s.transformFlags|=d(s.questionToken)|d(s.exclamationToken)|8388608,(e.isComputedPropertyName(s.name)||e.hasStaticModifier(s)&&s.initializer)&&(s.transformFlags|=4096),(i||2&e.modifiersToFlags(s.modifiers))&&(s.transformFlags|=1),s}function ge(t,r,n,i,a,o,s){return t.decorators!==r||t.modifiers!==n||t.name!==i||t.questionToken!==(void 0!==a&&e.isQuestionToken(a)?a:void 0)||t.exclamationToken!==(void 0!==a&&e.isExclamationToken(a)?a:void 0)||t.type!==o||t.initializer!==s?f(fe(r,n,i,a,o,s),t):t}function me(e,t,r,n,i,a){var o=O(165,void 0,e,t,n,i,a);return o.questionToken=r,o.transformFlags=1,o}function ye(e,t,r,n,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.typeParameters!==i||e.parameters!==a||e.type!==o?M(me(t,r,n,i,a,o),e):e}function ve(t,r,n,i,a,o,s,c,u){var l=L(166,t,r,i,o,s,c,u);return l.asteriskToken=n,l.questionToken=a,l.transformFlags|=d(l.asteriskToken)|d(l.questionToken)|512,a&&(l.transformFlags|=1),256&e.modifiersToFlags(l.modifiers)?l.transformFlags|=n?64:128:n&&(l.transformFlags|=1024),l}function he(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?R(ve(t,r,n,i,a,o,s,c,u),e):e}function De(e,t,r,n){var i=L(167,e,t,void 0,void 0,r,void 0,n);return i.transformFlags|=512,i}function xe(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?R(De(t,r,n,i),e):e}function be(e,t,r,n,i,a){return L(168,e,t,r,void 0,n,i,a)}function Se(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?R(be(t,r,n,i,a,o),e):e}function Ee(e,t,r,n,i){return L(169,e,t,r,void 0,n,void 0,i)}function Te(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?R(Ee(t,r,n,i,a),e):e}function Ce(e,t,r){var n=O(170,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function ke(e,t,r){var n=O(171,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Ae(e,t,r,n){var i=O(172,e,t,void 0,void 0,r,n);return i.transformFlags=1,i}function Fe(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?M(Ae(t,r,n,i),e):e}function Ne(e,t){var r=N(195);return r.type=e,r.literal=t,r.transformFlags=1,r}function Pe(e,t,r){var n=N(173);return n.assertsModifier=e,n.parameterName=si(t),n.type=r,n.transformFlags=1,n}function we(e,t){var r=N(174);return r.typeName=si(e),r.typeArguments=t&&g().parenthesizeTypeArguments(F(t)),r.transformFlags=1,r}function Ie(e,t,r){var n=O(175,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Oe(){for(var t=[],r=0;r0;default:return!0}}function Qn(t,r,n,i){void 0===i&&(i=0);var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.setParent(e.setTextRange(Wn(a),a),a.parent);return i|=e.getEmitFlags(a),n||(i|=48),r||(i|=1536),i&&e.setEmitFlags(o,i),o}return Q(t)}function Zn(e,t,r){return Qn(e,t,r,8192)}function ei(t,r,n,i){var a=ut(t,e.nodeIsSynthesized(r)?r:Wn(r));e.setTextRange(a,r);var o=0;return i||(o|=48),n||(o|=1536),o&&e.setEmitFlags(a,o),a}function ti(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function ri(){return e.startOnNewLine(nr(W("use strict")))}function ni(t,r,n){e.Debug.assert(0===r.length,"Prologue directives should be at the first statement in the target statements array");for(var i=!1,a=0,o=t.length;a=173&&e<=196)return-2;switch(e){case 204:case 205:case 200:return 536887296;case 257:return 555888640;case 161:return 536870912;case 210:return 557748224;case 209:case 252:return 557756416;case 251:return 537165824;case 253:case 222:return 536940544;case 167:return 557752320;case 164:return 536879104;case 166:case 168:case 169:return 540975104;case 128:case 144:case 155:case 141:case 147:case 145:case 131:case 148:case 113:case 160:case 163:case 165:case 170:case 171:case 172:case 254:case 255:return-2;case 201:return 536973312;case 288:return 536903680;case 197:case 198:return 536887296;case 207:case 225:case 340:case 208:case 105:return 536870912;case 202:case 203:default:return 536870912}}e.getTransformFlagsSubtreeExclusions=f;var g=e.createBaseNodeFactory();function m(e){return e.flags|=8,e}var y,v={createBaseSourceFileNode:function(e){return m(g.createBaseSourceFileNode(e))},createBaseIdentifierNode:function(e){return m(g.createBaseIdentifierNode(e))},createBasePrivateIdentifierNode:function(e){return m(g.createBasePrivateIdentifierNode(e))},createBaseTokenNode:function(e){return m(g.createBaseTokenNode(e))},createBaseNode:function(e){return m(g.createBaseNode(e))}};function h(t,r){if(t.original=r,r){var n=r.emitNode;n&&(t.emitNode=function(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,d=t.startsOnNewLine;r||(r={});i&&(r.leadingComments=e.addRange(i.slice(),r.leadingComments));a&&(r.trailingComments=e.addRange(a.slice(),r.trailingComments));n&&(r.flags=n);o&&(r.commentRange=o);s&&(r.sourceMapRange=s);c&&(r.tokenSourceMapRanges=function(e,t){t||(t=[]);for(var r in e)t[r]=e[r];return t}(c,r.tokenSourceMapRanges));void 0!==u&&(r.constantValue=u);if(l)for(var _=0,p=l;_0&&(o[u-c]=l)}c>0&&(o.length-=c)}},e.ignoreSourceNewlines=function(e){return t(e).flags|=134217728,e}}(s||(s={})),function(e){function r(e){for(var t=[],r=1;r=2)return n.createCallExpression(n.createPropertyAccessExpression(n.createIdentifier("Object"),"assign"),void 0,t);return r.requestEmitHelper(e.assignHelper),n.createCallExpression(i("__assign"),void 0,t)},createAwaitHelper:function(t){return r.requestEmitHelper(e.awaitHelper),n.createCallExpression(i("__await"),void 0,[t])},createAsyncGeneratorHelper:function(t,a){return r.requestEmitHelper(e.awaitHelper),r.requestEmitHelper(e.asyncGeneratorHelper),(t.emitNode||(t.emitNode={})).flags|=786432,n.createCallExpression(i("__asyncGenerator"),void 0,[a?n.createThis():n.createVoidZero(),n.createIdentifier("arguments"),t])},createAsyncDelegatorHelper:function(t){return r.requestEmitHelper(e.awaitHelper),r.requestEmitHelper(e.asyncDelegator),n.createCallExpression(i("__asyncDelegator"),void 0,[t])},createAsyncValuesHelper:function(t){return r.requestEmitHelper(e.asyncValues),n.createCallExpression(i("__asyncValues"),void 0,[t])},createRestHelper:function(t,a,o,s){r.requestEmitHelper(e.restHelper);for(var c=[],u=0,l=0;l= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},e.metadataHelper={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},e.paramHelper={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"},e.assignHelper={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };"},e.awaitHelper={name:"typescript:await",importName:"__await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"},e.asyncGeneratorHelper={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'},e.asyncDelegator={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\n };'},e.asyncValues={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'},e.restHelper={name:"typescript:rest",importName:"__rest",scoped:!1,text:'\n var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n };'},e.awaiterHelper={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'},e.extendsHelper={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:'\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();'},e.templateObjectHelper={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'},e.readHelper={name:"typescript:read",importName:"__read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'},e.spreadArrayHelper={name:"typescript:spreadArray",importName:"__spreadArray",scoped:!1,text:"\n var __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n };"},e.valuesHelper={name:"typescript:values",importName:"__values",scoped:!1,text:'\n var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === "number") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\n };'},e.generatorHelper={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:'\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'},e.createBindingHelper={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:"\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));"},e.setModuleDefaultHelper={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:'\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, "default", { enumerable: true, value: v });\n }) : function(o, v) {\n o["default"] = v;\n });'},e.importStarHelper={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:'\n var __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };'},e.importDefaultHelper={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:'\n var __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n };'},e.exportStarHelper={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:'\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n };'},e.classPrivateFieldGetHelper={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:'\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n };'},e.classPrivateFieldSetHelper={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:'\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === "m") throw new TypeError("Private method is not writable");\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\n return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n };'},e.getAllUnscopedEmitHelpers=function(){return i||(i=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadArrayHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.createBindingHelper,e.setModuleDefaultHelper],(function(e){return e.name})))},e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:r(n(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:r(n(["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"],["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"]),"_superIndex")},e.isCallToHelper=function(t,r){return e.isCallExpression(t)&&e.isIdentifier(t.expression)&&4096&e.getEmitFlags(t.expression)&&t.expression.escapedText===r}}(s||(s={})),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isDotDotDotToken=function(e){return 25===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isPlusToken=function(e){return 39===e.kind},e.isMinusToken=function(e){return 40===e.kind},e.isAsteriskToken=function(e){return 41===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isColonToken=function(e){return 58===e.kind},e.isQuestionDotToken=function(e){return 28===e.kind},e.isEqualsGreaterThanToken=function(e){return 38===e.kind},e.isIdentifier=function(e){return 78===e.kind},e.isPrivateIdentifier=function(e){return 79===e.kind},e.isExportModifier=function(e){return 92===e.kind},e.isAsyncModifier=function(e){return 129===e.kind},e.isAssertsKeyword=function(e){return 127===e.kind},e.isAwaitKeyword=function(e){return 130===e.kind},e.isReadonlyKeyword=function(e){return 142===e.kind},e.isStaticModifier=function(e){return 123===e.kind},e.isSuperKeyword=function(e){return 105===e.kind},e.isImportKeyword=function(e){return 99===e.kind},e.isQualifiedName=function(e){return 158===e.kind},e.isComputedPropertyName=function(e){return 159===e.kind},e.isTypeParameterDeclaration=function(e){return 160===e.kind},e.isParameter=function(e){return 161===e.kind},e.isDecorator=function(e){return 162===e.kind},e.isPropertySignature=function(e){return 163===e.kind},e.isPropertyDeclaration=function(e){return 164===e.kind},e.isMethodSignature=function(e){return 165===e.kind},e.isMethodDeclaration=function(e){return 166===e.kind},e.isConstructorDeclaration=function(e){return 167===e.kind},e.isGetAccessorDeclaration=function(e){return 168===e.kind},e.isSetAccessorDeclaration=function(e){return 169===e.kind},e.isCallSignatureDeclaration=function(e){return 170===e.kind},e.isConstructSignatureDeclaration=function(e){return 171===e.kind},e.isIndexSignatureDeclaration=function(e){return 172===e.kind},e.isTypePredicateNode=function(e){return 173===e.kind},e.isTypeReferenceNode=function(e){return 174===e.kind},e.isFunctionTypeNode=function(e){return 175===e.kind},e.isConstructorTypeNode=function(e){return 176===e.kind},e.isTypeQueryNode=function(e){return 177===e.kind},e.isTypeLiteralNode=function(e){return 178===e.kind},e.isArrayTypeNode=function(e){return 179===e.kind},e.isTupleTypeNode=function(e){return 180===e.kind},e.isNamedTupleMember=function(e){return 193===e.kind},e.isOptionalTypeNode=function(e){return 181===e.kind},e.isRestTypeNode=function(e){return 182===e.kind},e.isUnionTypeNode=function(e){return 183===e.kind},e.isIntersectionTypeNode=function(e){return 184===e.kind},e.isConditionalTypeNode=function(e){return 185===e.kind},e.isInferTypeNode=function(e){return 186===e.kind},e.isParenthesizedTypeNode=function(e){return 187===e.kind},e.isThisTypeNode=function(e){return 188===e.kind},e.isTypeOperatorNode=function(e){return 189===e.kind},e.isIndexedAccessTypeNode=function(e){return 190===e.kind},e.isMappedTypeNode=function(e){return 191===e.kind},e.isLiteralTypeNode=function(e){return 192===e.kind},e.isImportTypeNode=function(e){return 196===e.kind},e.isTemplateLiteralTypeSpan=function(e){return 195===e.kind},e.isTemplateLiteralTypeNode=function(e){return 194===e.kind},e.isObjectBindingPattern=function(e){return 197===e.kind},e.isArrayBindingPattern=function(e){return 198===e.kind},e.isBindingElement=function(e){return 199===e.kind},e.isArrayLiteralExpression=function(e){return 200===e.kind},e.isObjectLiteralExpression=function(e){return 201===e.kind},e.isPropertyAccessExpression=function(e){return 202===e.kind},e.isElementAccessExpression=function(e){return 203===e.kind},e.isCallExpression=function(e){return 204===e.kind},e.isNewExpression=function(e){return 205===e.kind},e.isTaggedTemplateExpression=function(e){return 206===e.kind},e.isTypeAssertionExpression=function(e){return 207===e.kind},e.isParenthesizedExpression=function(e){return 208===e.kind},e.isFunctionExpression=function(e){return 209===e.kind},e.isArrowFunction=function(e){return 210===e.kind},e.isDeleteExpression=function(e){return 211===e.kind},e.isTypeOfExpression=function(e){return 212===e.kind},e.isVoidExpression=function(e){return 213===e.kind},e.isAwaitExpression=function(e){return 214===e.kind},e.isPrefixUnaryExpression=function(e){return 215===e.kind},e.isPostfixUnaryExpression=function(e){return 216===e.kind},e.isBinaryExpression=function(e){return 217===e.kind},e.isConditionalExpression=function(e){return 218===e.kind},e.isTemplateExpression=function(e){return 219===e.kind},e.isYieldExpression=function(e){return 220===e.kind},e.isSpreadElement=function(e){return 221===e.kind},e.isClassExpression=function(e){return 222===e.kind},e.isOmittedExpression=function(e){return 223===e.kind},e.isExpressionWithTypeArguments=function(e){return 224===e.kind},e.isAsExpression=function(e){return 225===e.kind},e.isNonNullExpression=function(e){return 226===e.kind},e.isMetaProperty=function(e){return 227===e.kind},e.isSyntheticExpression=function(e){return 228===e.kind},e.isPartiallyEmittedExpression=function(e){return 340===e.kind},e.isCommaListExpression=function(e){return 341===e.kind},e.isTemplateSpan=function(e){return 229===e.kind},e.isSemicolonClassElement=function(e){return 230===e.kind},e.isBlock=function(e){return 231===e.kind},e.isVariableStatement=function(e){return 233===e.kind},e.isEmptyStatement=function(e){return 232===e.kind},e.isExpressionStatement=function(e){return 234===e.kind},e.isIfStatement=function(e){return 235===e.kind},e.isDoStatement=function(e){return 236===e.kind},e.isWhileStatement=function(e){return 237===e.kind},e.isForStatement=function(e){return 238===e.kind},e.isForInStatement=function(e){return 239===e.kind},e.isForOfStatement=function(e){return 240===e.kind},e.isContinueStatement=function(e){return 241===e.kind},e.isBreakStatement=function(e){return 242===e.kind},e.isReturnStatement=function(e){return 243===e.kind},e.isWithStatement=function(e){return 244===e.kind},e.isSwitchStatement=function(e){return 245===e.kind},e.isLabeledStatement=function(e){return 246===e.kind},e.isThrowStatement=function(e){return 247===e.kind},e.isTryStatement=function(e){return 248===e.kind},e.isDebuggerStatement=function(e){return 249===e.kind},e.isVariableDeclaration=function(e){return 250===e.kind},e.isVariableDeclarationList=function(e){return 251===e.kind},e.isFunctionDeclaration=function(e){return 252===e.kind},e.isClassDeclaration=function(e){return 253===e.kind},e.isInterfaceDeclaration=function(e){return 254===e.kind},e.isTypeAliasDeclaration=function(e){return 255===e.kind},e.isEnumDeclaration=function(e){return 256===e.kind},e.isModuleDeclaration=function(e){return 257===e.kind},e.isModuleBlock=function(e){return 258===e.kind},e.isCaseBlock=function(e){return 259===e.kind},e.isNamespaceExportDeclaration=function(e){return 260===e.kind},e.isImportEqualsDeclaration=function(e){return 261===e.kind},e.isImportDeclaration=function(e){return 262===e.kind},e.isImportClause=function(e){return 263===e.kind},e.isNamespaceImport=function(e){return 264===e.kind},e.isNamespaceExport=function(e){return 270===e.kind},e.isNamedImports=function(e){return 265===e.kind},e.isImportSpecifier=function(e){return 266===e.kind},e.isExportAssignment=function(e){return 267===e.kind},e.isExportDeclaration=function(e){return 268===e.kind},e.isNamedExports=function(e){return 269===e.kind},e.isExportSpecifier=function(e){return 271===e.kind},e.isMissingDeclaration=function(e){return 272===e.kind},e.isNotEmittedStatement=function(e){return 339===e.kind},e.isSyntheticReference=function(e){return 344===e.kind},e.isMergeDeclarationMarker=function(e){return 342===e.kind},e.isEndOfDeclarationMarker=function(e){return 343===e.kind},e.isExternalModuleReference=function(e){return 273===e.kind},e.isJsxElement=function(e){return 274===e.kind},e.isJsxSelfClosingElement=function(e){return 275===e.kind},e.isJsxOpeningElement=function(e){return 276===e.kind},e.isJsxClosingElement=function(e){return 277===e.kind},e.isJsxFragment=function(e){return 278===e.kind},e.isJsxOpeningFragment=function(e){return 279===e.kind},e.isJsxClosingFragment=function(e){return 280===e.kind},e.isJsxAttribute=function(e){return 281===e.kind},e.isJsxAttributes=function(e){return 282===e.kind},e.isJsxSpreadAttribute=function(e){return 283===e.kind},e.isJsxExpression=function(e){return 284===e.kind},e.isCaseClause=function(e){return 285===e.kind},e.isDefaultClause=function(e){return 286===e.kind},e.isHeritageClause=function(e){return 287===e.kind},e.isCatchClause=function(e){return 288===e.kind},e.isPropertyAssignment=function(e){return 289===e.kind},e.isShorthandPropertyAssignment=function(e){return 290===e.kind},e.isSpreadAssignment=function(e){return 291===e.kind},e.isEnumMember=function(e){return 292===e.kind},e.isUnparsedPrepend=function(e){return 294===e.kind},e.isSourceFile=function(e){return 298===e.kind},e.isBundle=function(e){return 299===e.kind},e.isUnparsedSource=function(e){return 300===e.kind},e.isJSDocTypeExpression=function(e){return 302===e.kind},e.isJSDocNameReference=function(e){return 303===e.kind},e.isJSDocLink=function(e){return 316===e.kind},e.isJSDocAllType=function(e){return 304===e.kind},e.isJSDocUnknownType=function(e){return 305===e.kind},e.isJSDocNullableType=function(e){return 306===e.kind},e.isJSDocNonNullableType=function(e){return 307===e.kind},e.isJSDocOptionalType=function(e){return 308===e.kind},e.isJSDocFunctionType=function(e){return 309===e.kind},e.isJSDocVariadicType=function(e){return 310===e.kind},e.isJSDocNamepathType=function(e){return 311===e.kind},e.isJSDoc=function(e){return 312===e.kind},e.isJSDocTypeLiteral=function(e){return 314===e.kind},e.isJSDocSignature=function(e){return 315===e.kind},e.isJSDocAugmentsTag=function(e){return 318===e.kind},e.isJSDocAuthorTag=function(e){return 320===e.kind},e.isJSDocClassTag=function(e){return 322===e.kind},e.isJSDocCallbackTag=function(e){return 328===e.kind},e.isJSDocPublicTag=function(e){return 323===e.kind},e.isJSDocPrivateTag=function(e){return 324===e.kind},e.isJSDocProtectedTag=function(e){return 325===e.kind},e.isJSDocReadonlyTag=function(e){return 326===e.kind},e.isJSDocOverrideTag=function(e){return 327===e.kind},e.isJSDocDeprecatedTag=function(e){return 321===e.kind},e.isJSDocSeeTag=function(e){return 336===e.kind},e.isJSDocEnumTag=function(e){return 329===e.kind},e.isJSDocParameterTag=function(e){return 330===e.kind},e.isJSDocReturnTag=function(e){return 331===e.kind},e.isJSDocThisTag=function(e){return 332===e.kind},e.isJSDocTypeTag=function(e){return 333===e.kind},e.isJSDocTemplateTag=function(e){return 334===e.kind},e.isJSDocTypedefTag=function(e){return 335===e.kind},e.isJSDocUnknownTag=function(e){return 317===e.kind},e.isJSDocPropertyTag=function(e){return 337===e.kind},e.isJSDocImplementsTag=function(e){return 319===e.kind},e.isSyntaxList=function(e){return 338===e.kind}}(s||(s={})),function(e){function r(t,r,n,i){if(e.isComputedPropertyName(n))return e.setTextRange(t.createElementAccessExpression(r,n.expression),i);var a=e.setTextRange(e.isMemberName(n)?t.createPropertyAccessExpression(r,n):t.createElementAccessExpression(r,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function n(t,r){var n=e.parseNodeFactory.createIdentifier(t||"React");return e.setParent(n,e.getParseTreeNode(r)),n}function i(t,r,a){if(e.isQualifiedName(r)){var o=i(t,r.left,a),s=t.createIdentifier(e.idText(r.right));return s.escapedText=r.right.escapedText,t.createPropertyAccessExpression(o,s)}return n(e.idText(r),a)}function a(e,t,r,a){return t?i(e,t,a):e.createPropertyAccessExpression(n(r,a),"createElement")}function o(t,r){return e.isIdentifier(r)?t.createStringLiteralFromNode(r):e.isComputedPropertyName(r)?e.setParent(e.setTextRange(t.cloneNode(r.expression),r.expression),r.expression.parent):e.setParent(e.setTextRange(t.cloneNode(r),r),r.parent)}function s(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function c(e,t){switch(void 0===t&&(t=15),e.kind){case 208:return 0!=(1&t);case 207:case 225:return 0!=(2&t);case 226:return 0!=(4&t);case 340:return 0!=(8&t)}return!1}function u(e,t){for(void 0===t&&(t=15);c(e,t);)e=e.expression;return e}function l(t){return e.setStartsOnNewLine(t,!0)}function d(t){var r=e.getOriginalNode(t,e.isSourceFile),n=r&&r.emitNode;return n&&n.externalHelpersModuleName}function _(t,r,n,i,a){if(n.importHelpers&&e.isEffectiveExternalModule(r,n)){var o=d(r);if(o)return o;var s=e.getEmitModuleKind(n),c=(i||n.esModuleInterop&&a)&&s!==e.ModuleKind.System&&s0)if(i||s.push(t.createNull()),a.length>1)for(var c=0,u=a;c0)if(c.length>1)for(var p=0,f=c;p=e.ModuleKind.ES2015&&u<=e.ModuleKind.ESNext){var l=e.getEmitHelpers(n);if(l){for(var d=[],p=0,f=l;p0?o[n-1]:void 0;return e.Debug.assertEqual(i[n],r),o[n]=t.onEnter(a[n],l,u),i[n]=c(t,r),n}function n(t,r,i,a,o,s,d){e.Debug.assertEqual(i[r],n),e.Debug.assertIsDefined(t.onLeft),i[r]=c(t,n);var _=t.onLeft(a[r].left,o[r],a[r]);return _?(l(r,a,_),u(r,i,a,o,_)):r}function i(t,r,n,a,o,s,u){return e.Debug.assertEqual(n[r],i),e.Debug.assertIsDefined(t.onOperator),n[r]=c(t,i),t.onOperator(a[r].operatorToken,o[r],a[r]),r}function a(t,r,n,i,o,s,d){e.Debug.assertEqual(n[r],a),e.Debug.assertIsDefined(t.onRight),n[r]=c(t,a);var _=t.onRight(i[r].right,o[r],i[r]);return _?(l(r,i,_),u(r,n,i,o,_)):r}function o(t,r,n,i,a,s,u){e.Debug.assertEqual(n[r],o),n[r]=c(t,o);var l=t.onExit(i[r],a[r]);if(r>0){if(r--,t.foldState){var d=n[r]===o?"right":"left";a[r]=t.foldState(a[r],l,d)}}else s.value=l;return r}function s(t,r,n,i,a,o,c){return e.Debug.assertEqual(n[r],s),r}function c(t,c){switch(c){case r:if(t.onLeft)return n;case n:if(t.onOperator)return i;case i:if(t.onRight)return a;case a:return o;case o:case s:return s;default:e.Debug.fail("Invalid state")}}function u(e,t,n,i,a){return t[++e]=r,n[e]=a,i[e]=void 0,e}function l(t,r,n){if(e.Debug.shouldAssert(2))for(;t>=0;)e.Debug.assert(r[t]!==n,"Circular traversal detected."),t--}t.enter=r,t.left=n,t.operator=i,t.right=a,t.exit=o,t.done=s,t.nextState=c}(v||(v={}));var h=function(e,t,r,n,i,a){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=n,this.onExit=i,this.foldState=a};e.createBinaryExpressionTrampoline=function(t,r,n,i,a,o){var s=new h(t,r,n,i,a,o);return function(t,r){var n={value:void 0},i=[v.enter],a=[t],o=[void 0],c=0;for(;i[c]!==v.done;)c=i[c](s,c,i,a,o,n,r);return e.Debug.assertEqual(c,0),n.value}}}(s||(s={})),function(e){e.setTextRange=function(t,r){return r?e.setTextRangePosEnd(t,r.pos,r.end):t}}(s||(s={})),function(e){var t,r,n,i,a,o,s,c,u;function l(e,t){return t&&e(t)}function d(e,t,r){if(r){if(t)return t(r);for(var n=0,i=r;nt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:"ts-check"===i,end:e.range.end,pos:e.range.pos})}));break;case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:e.Debug.fail("Unhandled pragma kind")}}))}!function(e){e[e.None=0]="None",e[e.Yield=1]="Yield",e[e.Await=2]="Await",e[e.Type=4]="Type",e[e.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",e[e.JSDoc=32]="JSDoc"}(t||(t={})),function(e){e[e.TryParse=0]="TryParse",e[e.Lookahead=1]="Lookahead",e[e.Reparse=2]="Reparse"}(r||(r={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(t){return new(s||(s=e.objectAllocator.getSourceFileConstructor()))(t,-1,-1)},createBaseIdentifierNode:function(t){return new(a||(a=e.objectAllocator.getIdentifierConstructor()))(t,-1,-1)},createBasePrivateIdentifierNode:function(t){return new(o||(o=e.objectAllocator.getPrivateIdentifierConstructor()))(t,-1,-1)},createBaseTokenNode:function(t){return new(i||(i=e.objectAllocator.getTokenConstructor()))(t,-1,-1)},createBaseNode:function(t){return new(n||(n=e.objectAllocator.getNodeConstructor()))(t,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=_,e.forEachChild=p,e.forEachChildRecursively=function(t,r,n){for(var i=f(t),a=[];a.length=0;--c)i.push(o[c]),a.push(s)}else{var u;if(u=r(o,s)){if("skip"===u)continue;return u}if(o.kind>=158)for(var l=0,d=f(o);l=r.pos})),l=u>=0?e.findIndex(a,(function(e){return e.start>=n.pos}),u):-1;u>=0&&e.addRange(S,a,u,l>=0?l:void 0),Ae((function(){var e=O;for(O|=32768,s.setTextPos(n.pos),xe();1!==ve();){var r=s.getStartPos(),a=yt(0,Vn);if(i.push(a),r===s.getStartPos()&&xe(),o>=0){var c=t.statements[o];if(a.end===c.pos)break;a.end>c.pos&&(o=g(t.statements,o+1))}}O=e}),2),c=o>=0?f(t.statements,o):-1};-1!==c;)l();if(o>=0){var d=t.statements[o];e.addRange(i,t.statements,o);var _=e.findIndex(a,(function(e){return e.start>=d.pos}));_>=0&&e.addRange(S,a,_)}return C=r,L.updateSourceFile(t,e.setTextRange(L.createNodeArray(i),t.statements));function p(e){return!(32768&e.flags||!(16777216&e.transformFlags))}function f(e,t){for(var r=t;r115}function we(){return 78===ve()||(124!==ve()||!se())&&((130!==ve()||!le())&&ve()>115)}function Ie(t,r,n){return void 0===n&&(n=!0),ve()===t?(n&&xe(),!0):(r?de(r):de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Oe(t){return ve()===t?(be(),!0):(de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Me(e){return ve()===e&&(xe(),!0)}function Le(e){if(ve()===e)return je()}function Re(e){if(ve()===e)return t=me(),r=ve(),be(),Ue(L.createToken(r),t);var t,r}function Be(t,r,n){return Le(t)||Ve(t,!1,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function je(){var e=me(),t=ve();return xe(),Ue(L.createToken(t),e)}function Je(){return 26===ve()||(19===ve()||1===ve()||s.hasPrecedingLineBreak())}function Ke(){return Je()?(26===ve()&&xe(),!0):Ie(26)}function ze(t,r,n,i){var a=L.createNodeArray(t,i);return e.setTextRangePosEnd(a,r,null!=n?n:s.getStartPos()),a}function Ue(t,r,n){return e.setTextRangePosEnd(t,r,null!=n?n:s.getStartPos()),O&&(t.flags|=O),B&&(B=!1,t.flags|=65536),t}function Ve(t,r,n,i){r?_e(s.getStartPos(),0,n,i):n&&de(n,i);var a=me();return Ue(78===t?L.createIdentifier("",void 0,void 0):e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,"","",void 0):8===t?L.createNumericLiteral("",void 0):10===t?L.createStringLiteral("",void 0):272===t?L.createMissingDeclaration():L.createToken(t),a)}function qe(e){var t=F.get(e);return void 0===t&&F.set(e,t=e),t}function We(t,r,n){if(t){P++;var i=me(),a=ve(),o=qe(s.getTokenValue());return he(),Ue(L.createIdentifier(o,void 0,a),i)}if(79===ve())return de(n||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),We(!0);if(0===ve()&&s.tryScan((function(){return 78===s.reScanInvalidIdentifier()})))return We(!0);P++;var c=1===ve(),u=s.isReservedWord(),l=s.getTokenText(),d=u?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Ve(78,c,r||d,l)}function He(e){return We(Pe(),void 0,e)}function Ge(e,t){return We(we(),e,t)}function Ye(t){return We(e.tokenIsIdentifierOrKeyword(ve()),t)}function Xe(){return e.tokenIsIdentifierOrKeyword(ve())||10===ve()||8===ve()}function $e(e){if(10===ve()||8===ve()){var t=It();return t.text=qe(t.text),t}return e&&22===ve()?function(){var e=me();Ie(22);var t=ie(jr);return Ie(23),Ue(L.createComputedPropertyName(t),e)}():79===ve()?Ze():Ye()}function Qe(){return $e(!0)}function Ze(){var e,t,r=me(),n=L.createPrivateIdentifier((e=s.getTokenText(),void 0===(t=N.get(e))&&N.set(e,t=e),t));return xe(),Ue(n,r)}function et(e){return ve()===e&&Ne(rt)}function tt(){return xe(),!s.hasPrecedingLineBreak()&&at()}function rt(){switch(ve()){case 84:return 91===xe();case 92:return xe(),87===ve()?Fe(ot):149===ve()?Fe(it):nt();case 87:return ot();case 123:return tt();case 134:case 146:return xe(),at();default:return tt()}}function nt(){return 41!==ve()&&126!==ve()&&18!==ve()&&at()}function it(){return xe(),nt()}function at(){return 22===ve()||18===ve()||41===ve()||25===ve()||Xe()}function ot(){return xe(),83===ve()||97===ve()||117===ve()||125===ve()&&Fe(Rn)||129===ve()&&Fe(Bn)}function st(t,r){if(vt(t))return!0;switch(t){case 0:case 1:case 3:return!(26===ve()&&r)&&zn();case 2:return 81===ve()||87===ve();case 4:return Fe(nr);case 5:return Fe(di)||26===ve()&&!r;case 6:return 22===ve()||Xe();case 12:switch(ve()){case 22:case 41:case 25:case 24:return!0;default:return Xe()}case 18:return Xe();case 9:return 22===ve()||25===ve()||Xe();case 7:return 18===ve()?Fe(ct):r?we()&&!_t():Rr()&&!_t();case 8:return Qn();case 10:return 27===ve()||25===ve()||Qn();case 19:return we();case 15:switch(ve()){case 27:case 24:return!0}case 11:return 25===ve()||Br();case 16:return qt(!1);case 17:return qt(!0);case 20:case 21:return 27===ve()||br();case 22:return Ti();case 23:return e.tokenIsIdentifierOrKeyword(ve());case 13:return e.tokenIsIdentifierOrKeyword(ve())||18===ve();case 14:return!0}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function ct(){if(e.Debug.assert(18===ve()),19===xe()){var t=xe();return 27===t||18===t||93===t||116===t}return!0}function ut(){return xe(),we()}function lt(){return xe(),e.tokenIsIdentifierOrKeyword(ve())}function dt(){return xe(),e.tokenIsIdentifierOrKeywordOrGreaterThan(ve())}function _t(){return(116===ve()||93===ve())&&Fe(pt)}function pt(){return xe(),Br()}function ft(){return xe(),br()}function gt(e){if(1===ve())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return 19===ve();case 3:return 19===ve()||81===ve()||87===ve();case 7:return 18===ve()||93===ve()||116===ve();case 8:return function(){if(Je())return!0;if(Yr(ve()))return!0;if(38===ve())return!0;return!1}();case 19:return 31===ve()||20===ve()||18===ve()||93===ve()||116===ve();case 11:return 21===ve()||26===ve();case 15:case 21:case 10:return 23===ve();case 17:case 16:case 18:return 21===ve()||23===ve();case 20:return 27!==ve();case 22:return 18===ve()||19===ve();case 13:return 31===ve()||43===ve();case 14:return 29===ve()&&Fe(Pi);default:return!1}}function mt(e,t){var r=w;w|=1<=0)}function bt(t){return 6===t?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function St(){var e=ze([],me());return e.isMissingList=!0,e}function Et(e,t,r,n){if(Ie(r)){var i=xt(e,t);return Ie(n),i}return St()}function Tt(e,t){for(var r=me(),n=e?Ye(t):Ge(t),i=me();Me(24);){if(29===ve()){n.jsdocDotPos=i;break}i=me(),n=Ue(L.createQualifiedName(n,kt(e,!1)),r)}return n}function Ct(e,t){return Ue(L.createQualifiedName(e,t),e.pos)}function kt(t,r){if(s.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(ve())&&Fe(Ln))return Ve(78,!0,e.Diagnostics.Identifier_expected);if(79===ve()){var n=Ze();return r?n:Ve(78,!0,e.Diagnostics.Identifier_expected)}return t?Ye():Ge()}function At(e){var t=me();return Ue(L.createTemplateExpression(Ot(e),function(e){var t,r=me(),n=[];do{t=wt(e),n.push(t)}while(16===t.literal.kind);return ze(n,r)}(e)),t)}function Ft(){var e=me();return Ue(L.createTemplateLiteralType(Ot(!1),function(){var e,t=me(),r=[];do{e=Nt(),r.push(e)}while(16===e.literal.kind);return ze(r,t)}()),e)}function Nt(){var e=me();return Ue(L.createTemplateLiteralTypeSpan(Or(),Pt(!1)),e)}function Pt(t){return 19===ve()?(function(e){k=s.reScanTemplateToken(e)}(t),r=Mt(ve()),e.Debug.assert(16===r.kind||17===r.kind,"Template fragment has wrong token kind"),r):Be(17,e.Diagnostics._0_expected,e.tokenToString(19));var r}function wt(e){var t=me();return Ue(L.createTemplateSpan(ie(jr),Pt(e)),t)}function It(){return Mt(ve())}function Ot(t){t&&Ee();var r=Mt(ve());return e.Debug.assert(15===r.kind,"Template head has wrong token kind"),r}function Mt(t){var r=me(),n=e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,s.getTokenValue(),function(e){var t=14===e||17===e,r=s.getTokenText();return r.substring(1,r.length-(s.isUnterminated()?0:t?1:2))}(t),2048&s.getTokenFlags()):8===t?L.createNumericLiteral(s.getTokenValue(),s.getNumericLiteralFlags()):10===t?L.createStringLiteral(s.getTokenValue(),void 0,s.hasExtendedUnicodeEscape()):e.isLiteralKind(t)?L.createLiteralLikeNode(t,s.getTokenValue()):e.Debug.fail();return s.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),s.isUnterminated()&&(n.isUnterminated=!0),xe(),Ue(n,r)}function Lt(){return Tt(!0,e.Diagnostics.Type_expected)}function Rt(){if(!s.hasPrecedingLineBreak()&&29===Te())return Et(20,Or,29,31)}function Bt(){var e=me();return Ue(L.createTypeReferenceNode(Lt(),Rt()),e)}function jt(t){switch(t.kind){case 174:return e.nodeIsMissing(t.typeName);case 175:case 176:var r=t,n=r.parameters,i=r.type;return!!n.isMissingList||jt(i);case 187:return jt(t.type);default:return!1}}function Jt(){var e=me();return xe(),Ue(L.createThisTypeNode(),e)}function Kt(){var e,t=me();return 107!==ve()&&102!==ve()||(e=Ye(),Ie(58)),Ue(L.createParameterDeclaration(void 0,void 0,void 0,e,void 0,zt(),void 0),t)}function zt(){s.setInJSDocType(!0);var e=me();if(Me(139)){var t=L.createJSDocNamepathType(void 0);e:for(;;)switch(ve()){case 19:case 1:case 27:case 5:break e;default:be()}return s.setInJSDocType(!1),Ue(t,e)}var r=Me(25),n=wr();return s.setInJSDocType(!1),r&&(n=Ue(L.createJSDocVariadicType(n),e)),62===ve()?(xe(),Ue(L.createJSDocOptionalType(n),e)):n}function Ut(){var e,t,r=me(),n=Ge();Me(93)&&(br()||!Br()?e=Or():t=Zr());var i=Me(62)?Or():void 0,a=L.createTypeParameterDeclaration(n,e,i);return a.expression=t,Ue(a,r)}function Vt(){if(29===ve())return Et(19,Ut,29,31)}function qt(t){return 25===ve()||Qn()||e.isModifierKind(ve())||59===ve()||br(!t)}function Wt(){return Gt(!0)}function Ht(){return Gt(!1)}function Gt(t){var r=me(),n=ye(),i=t?ae(fi):fi();if(107===ve()){var a=L.createParameterDeclaration(i,void 0,void 0,We(!0),void 0,Lr(),void 0);return i&&fe(i[0],e.Diagnostics.Decorators_may_not_be_applied_to_this_parameters),U(Ue(a,r),n)}var o=R;R=!1;var s=mi(),c=U(Ue(L.createParameterDeclaration(i,s,Le(25),function(t){var r=Zn(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return 0===e.getFullWidth(r)&&!e.some(t)&&e.isModifierKind(ve())&&xe(),r}(s),Le(57),Lr(),Jr()),r),n);return R=o,c}function Yt(t,r){if(function(t,r){if(38===t)return Ie(t),!0;if(Me(58))return!0;if(r&&38===ve())return de(e.Diagnostics._0_expected,e.tokenToString(58)),xe(),!0;return!1}(t,r))return wr()}function Xt(e){var t=se(),r=le();Z(!!(1&e)),te(!!(2&e));var n=32&e?xt(17,Kt):xt(16,r?Wt:Ht);return Z(t),te(r),n}function $t(e){if(!Ie(20))return St();var t=Xt(e);return Ie(21),t}function Qt(){Me(27)||Ke()}function Zt(e){var t=me(),r=ye();171===e&&Ie(102);var n=Vt(),i=$t(4),a=Yt(58,!0);return Qt(),U(Ue(170===e?L.createCallSignature(n,i,a):L.createConstructSignature(n,i,a),t),r)}function er(){return 22===ve()&&Fe(tr)}function tr(){if(xe(),25===ve()||23===ve())return!0;if(e.isModifierKind(ve())){if(xe(),we())return!0}else{if(!we())return!1;xe()}return 58===ve()||27===ve()||57===ve()&&(xe(),58===ve()||27===ve()||23===ve())}function rr(e,t,r,n){var i=Et(16,Ht,22,23),a=Lr();return Qt(),U(Ue(L.createIndexSignature(r,n,i,a),e),t)}function nr(){if(20===ve()||29===ve()||134===ve()||146===ve())return!0;for(var t=!1;e.isModifierKind(ve());)t=!0,xe();return 22===ve()||(Xe()&&(t=!0,xe()),!!t&&(20===ve()||29===ve()||57===ve()||58===ve()||27===ve()||Je()))}function ir(){if(20===ve()||29===ve())return Zt(170);if(102===ve()&&Fe(ar))return Zt(171);var e=me(),t=ye(),r=mi();return et(134)?li(e,t,void 0,r,168):et(146)?li(e,t,void 0,r,169):er()?rr(e,t,void 0,r):function(e,t,r){var n,i=Qe(),a=Le(57);if(20===ve()||29===ve()){var o=Vt(),s=$t(4),c=Yt(58,!0);n=L.createMethodSignature(r,i,a,o,s,c)}else c=Lr(),n=L.createPropertySignature(r,i,a,c),62===ve()&&(n.initializer=Jr());return Qt(),U(Ue(n,e),t)}(e,t,r)}function ar(){return xe(),20===ve()||29===ve()}function or(){return 24===xe()}function sr(){switch(xe()){case 20:case 29:case 24:return!0}return!1}function cr(){var e;return Ie(18)?(e=mt(4,ir),Ie(19)):e=St(),e}function ur(){return xe(),39===ve()||40===ve()?142===xe():(142===ve()&&xe(),22===ve()&&ut()&&100===xe())}function lr(){var e,t=me();Ie(18),142!==ve()&&39!==ve()&&40!==ve()||142!==(e=je()).kind&&Ie(142),Ie(22);var r,n=function(){var e=me(),t=Ye();Ie(100);var r=Or();return Ue(L.createTypeParameterDeclaration(t,r,void 0),e)}(),i=Me(126)?Or():void 0;Ie(23),57!==ve()&&39!==ve()&&40!==ve()||57!==(r=je()).kind&&Ie(57);var a=Lr();return Ke(),Ie(19),Ue(L.createMappedTypeNode(e,n,i,r,a),t)}function dr(){var t=me();if(Me(25))return Ue(L.createRestTypeNode(Or()),t);var r=Or();if(e.isJSDocNullableType(r)&&r.pos===r.type.pos){var n=L.createOptionalTypeNode(r.type);return e.setTextRange(n,r),n.flags=r.flags,n}return r}function _r(){return 58===xe()||57===ve()&&58===xe()}function pr(){return 25===ve()?e.tokenIsIdentifierOrKeyword(xe())&&_r():e.tokenIsIdentifierOrKeyword(ve())&&_r()}function fr(){if(Fe(pr)){var e=me(),t=ye(),r=Le(25),n=Ye(),i=Le(57);Ie(58);var a=dr();return U(Ue(L.createNamedTupleMember(r,n,i,a),e),t)}return dr()}function gr(){var e=me(),t=ye(),r=function(){var e;if(125===ve()){var t=me();xe(),e=ze([Ue(L.createToken(125),t)],t)}return e}(),n=Me(102),i=Vt(),a=$t(4),o=Yt(38,!1),s=n?L.createConstructorTypeNode(r,i,a,o):L.createFunctionTypeNode(i,a,o);return n||(s.modifiers=r),U(Ue(s,e),t)}function mr(){var e=je();return 24===ve()?void 0:e}function yr(e){var t=me();e&&xe();var r=109===ve()||94===ve()||103===ve()?je():Mt(ve());return e&&(r=Ue(L.createPrefixUnaryExpression(40,r),t)),Ue(L.createLiteralTypeNode(r),t)}function vr(){return xe(),99===ve()}function hr(){f|=1048576;var e=me(),t=Me(111);Ie(99),Ie(20);var r=Or();Ie(21);var n=Me(24)?Lt():void 0,i=Rt();return Ue(L.createImportTypeNode(r,n,i,t),e)}function Dr(){return xe(),8===ve()||9===ve()}function xr(){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 148:case 131:case 150:case 141:case 145:return Ne(mr)||Bt();case 65:s.reScanAsteriskEqualsToken();case 41:return r=me(),xe(),Ue(L.createJSDocAllType(),r);case 60:s.reScanQuestionToken();case 57:return function(){var e=me();return xe(),27===ve()||19===ve()||21===ve()||31===ve()||62===ve()||51===ve()?Ue(L.createJSDocUnknownType(),e):Ue(L.createJSDocNullableType(Or()),e)}();case 97:return function(){var e=me(),t=ye();if(Fe(Ni)){xe();var r=$t(36),n=Yt(58,!1);return U(Ue(L.createJSDocFunctionType(r,n),e),t)}return Ue(L.createTypeReferenceNode(Ye(),void 0),e)}();case 53:return function(){var e=me();return xe(),Ue(L.createJSDocNonNullableType(xr()),e)}();case 14:case 10:case 8:case 9:case 109:case 94:case 103:return yr();case 40:return Fe(Dr)?yr(!0):Bt();case 113:return je();case 107:var e=Jt();return 137!==ve()||s.hasPrecedingLineBreak()?e:(t=e,xe(),Ue(L.createTypePredicateNode(void 0,t,Or()),t.pos));case 111:return Fe(vr)?hr():function(){var e=me();return Ie(111),Ue(L.createTypeQueryNode(Tt(!0)),e)}();case 18:return Fe(ur)?lr():function(){var e=me();return Ue(L.createTypeLiteralNode(cr()),e)}();case 22:return function(){var e=me();return Ue(L.createTupleTypeNode(Et(21,fr,22,23)),e)}();case 20:return function(){var e=me();Ie(20);var t=Or();return Ie(21),Ue(L.createParenthesizedType(t),e)}();case 99:return hr();case 127:return Fe(Ln)?function(){var e=me(),t=Be(127),r=107===ve()?Jt():Ge(),n=Me(137)?Or():void 0;return Ue(L.createTypePredicateNode(t,r,n),e)}():Bt();case 15:return Ft();default:return Bt()}var t,r}function br(e){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 131:case 142:case 148:case 151:case 113:case 150:case 103:case 107:case 111:case 141:case 18:case 22:case 29:case 51:case 50:case 102:case 10:case 8:case 9:case 109:case 94:case 145:case 41:case 57:case 53:case 25:case 135:case 99:case 127:case 14:case 15:return!0;case 97:return!e;case 40:return!e&&Fe(Dr);case 20:return!e&&Fe(Sr);default:return we()}}function Sr(){return xe(),21===ve()||qt(!1)||br()}function Er(){var e=me();return Ie(135),Ue(L.createInferTypeNode(function(){var e=me();return Ue(L.createTypeParameterDeclaration(Ge(),void 0,void 0),e)}()),e)}function Tr(){var e=ve();switch(e){case 138:case 151:case 142:return function(e){var t=me();return Ie(e),Ue(L.createTypeOperatorNode(e,Tr()),t)}(e);case 135:return Er()}return function(){for(var e=me(),t=xr();!s.hasPrecedingLineBreak();)switch(ve()){case 53:xe(),t=Ue(L.createJSDocNonNullableType(t),e);break;case 57:if(Fe(ft))return t;xe(),t=Ue(L.createJSDocNullableType(t),e);break;case 22:if(Ie(22),br()){var r=Or();Ie(23),t=Ue(L.createIndexedAccessTypeNode(t,r),e)}else Ie(23),t=Ue(L.createArrayTypeNode(t),e);break;default:return t}return t}()}function Cr(t){if(Nr()){var r=gr();return fe(r,e.isFunctionTypeNode(r)?t?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),r}}function kr(e,t,r){var n=me(),i=51===e,a=Me(e),o=a&&Cr(i)||t();if(ve()===e||a){for(var s=[o];Me(e);)s.push(Cr(i)||t());o=Ue(r(ze(s,n)),n)}return o}function Ar(){return kr(50,Tr,L.createIntersectionTypeNode)}function Fr(){return xe(),102===ve()}function Nr(){return 29===ve()||(!(20!==ve()||!Fe(Pr))||(102===ve()||125===ve()&&Fe(Fr)))}function Pr(){if(xe(),21===ve()||25===ve())return!0;if(function(){if(e.isModifierKind(ve())&&mi(),we()||107===ve())return xe(),!0;if(22===ve()||18===ve()){var t=S.length;return Zn(),t===S.length}return!1}()){if(58===ve()||27===ve()||57===ve()||62===ve())return!0;if(21===ve()&&(xe(),38===ve()))return!0}return!1}function wr(){var e=me(),t=we()&&Ne(Ir),r=Or();return t?Ue(L.createTypePredicateNode(void 0,t,r),e):r}function Ir(){var e=Ge();if(137===ve()&&!s.hasPrecedingLineBreak())return xe(),e}function Or(){return re(40960,Mr)}function Mr(e){if(Nr())return gr();var t=me(),r=kr(51,Ar,L.createUnionTypeNode);if(!e&&!s.hasPrecedingLineBreak()&&Me(93)){var n=Mr(!0);Ie(57);var i=Mr();Ie(58);var a=Mr();return Ue(L.createConditionalTypeNode(r,n,i,a),t)}return r}function Lr(){return Me(58)?Or():void 0}function Rr(){switch(ve()){case 107:case 105:case 103:case 109:case 94:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 97:case 83:case 102:case 43:case 67:case 78:return!0;case 99:return Fe(sr);default:return we()}}function Br(){if(Rr())return!0;switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 45:case 46:case 29:case 130:case 124:case 79:return!0;default:return!!function(){if(ce()&&100===ve())return!1;return e.getBinaryOperatorPrecedence(ve())>0}()||we()}}function jr(){var e=ue();e&&ee(!1);for(var t,r=me(),n=Kr();t=Le(27);)n=$r(n,t,Kr(),r);return e&&ee(!0),n}function Jr(){return Me(62)?Kr():void 0}function Kr(){if(function(){if(124===ve())return!!se()||Fe(jn);return!1}())return function(){var e=me();return xe(),s.hasPrecedingLineBreak()||41!==ve()&&!Br()?Ue(L.createYieldExpression(void 0,void 0),e):Ue(L.createYieldExpression(Le(41),Kr()),e)}();var t=function(){var e=function(){if(20===ve()||29===ve()||129===ve())return Fe(Ur);if(38===ve())return 1;return 0}();if(0===e)return;return 1===e?Wr(!0):Ne(Vr)}()||function(){if(129===ve()&&1===Fe(qr)){var e=me(),t=yi();return zr(e,Gr(0),t)}return}();if(t)return t;var r=me(),n=Gr(0);return 78===n.kind&&38===ve()?zr(r,n,void 0):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(Se())?$r(n,je(),Kr(),r):function(t,r){var n,i=Le(57);if(!i)return t;return Ue(L.createConditionalExpression(t,i,re(c,Kr),n=Be(58),e.nodeIsPresent(n)?Kr():Ve(78,!1,e.Diagnostics._0_expected,e.tokenToString(58))),r)}(n,r)}function zr(t,r,n){e.Debug.assert(38===ve(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var i=L.createParameterDeclaration(void 0,void 0,void 0,r,void 0,void 0,void 0);Ue(i,r.pos);var a=ze([i],i.pos,i.end),o=Be(38),s=Hr(!!n);return G(Ue(L.createArrowFunction(n,void 0,a,void 0,o,s),t))}function Ur(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak())return 0;if(20!==ve()&&29!==ve())return 0}var t=ve(),r=xe();if(20===t){if(21===r)switch(xe()){case 38:case 58:case 18:return 1;default:return 0}if(22===r||18===r)return 2;if(25===r)return 1;if(e.isModifierKind(r)&&129!==r&&Fe(ut))return 1;if(!we()&&107!==r)return 0;switch(xe()){case 58:return 1;case 57:return xe(),58===ve()||27===ve()||62===ve()||21===ve()?1:0;case 27:case 62:case 21:return 2}return 0}return e.Debug.assert(29===t),we()?1===b?Fe((function(){var e=xe();if(93===e)switch(xe()){case 62:case 31:return!1;default:return!0}else if(27===e)return!0;return!1}))?1:0:2:0}function Vr(){var t=s.getTokenPos();if(!(null==I?void 0:I.has(t))){var r=Wr(!1);return r||(I||(I=new e.Set)).add(t),r}}function qr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak()||38===ve())return 0;var e=Gr(0);if(!s.hasPrecedingLineBreak()&&78===e.kind&&38===ve())return 1}return 0}function Wr(t){var r,n=me(),i=ye(),a=yi(),o=e.some(a,e.isAsyncModifier)?2:0,s=Vt();if(Ie(20)){if(r=Xt(o),!Ie(21)&&!t)return}else{if(!t)return;r=St()}var c=Yt(58,!1);if(!c||t||!jt(c)){var u=c&&e.isJSDocFunctionType(c);if(t||38===ve()||!u&&18===ve()){var l=ve(),d=Be(38),_=38===l||18===l?Hr(e.some(a,e.isAsyncModifier)):Ge();return U(Ue(L.createArrowFunction(a,s,r,c,d,_),n),i)}}}function Hr(e){if(18===ve())return Nn(e?2:0);if(26!==ve()&&97!==ve()&&83!==ve()&&zn()&&(18===ve()||97===ve()||83===ve()||59===ve()||!Br()))return Nn(16|(e?2:0));var t=R;R=!1;var r=e?ae(Kr):re(32768,Kr);return R=t,r}function Gr(e){var t=me();return Xr(e,Zr(),t)}function Yr(e){return 100===e||157===e}function Xr(t,r,n){for(;;){Se();var i=e.getBinaryOperatorPrecedence(ve());if(!(42===ve()?i>=t:i>t))break;if(100===ve()&&ce())break;if(126===ve()){if(s.hasPrecedingLineBreak())break;xe(),a=r,o=Or(),r=Ue(L.createAsExpression(a,o),a.pos)}else r=$r(r,je(),Gr(i),n)}var a,o;return r}function $r(e,t,r,n){return Ue(L.createBinaryExpression(e,t,r),n)}function Qr(){var e=me();return Ue(L.createPrefixUnaryExpression(ve(),De(en)),e)}function Zr(){if(function(){switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 130:return!1;case 29:if(1!==b)return!1;default:return!0}}()){var t=me(),r=tn();return 42===ve()?Xr(e.getBinaryOperatorPrecedence(ve()),r,t):r}var n=ve(),i=en();if(42===ve()){t=e.skipTrivia(h,i.pos);var a=i.end;207===i.kind?pe(t,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):pe(t,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return i}function en(){switch(ve()){case 39:case 40:case 54:case 53:return Qr();case 88:return e=me(),Ue(L.createDeleteExpression(De(en)),e);case 111:return function(){var e=me();return Ue(L.createTypeOfExpression(De(en)),e)}();case 113:return function(){var e=me();return Ue(L.createVoidExpression(De(en)),e)}();case 29:return function(){var e=me();Ie(29);var t=Or();Ie(31);var r=en();return Ue(L.createTypeAssertion(t,r),e)}();case 130:if(130===ve()&&(le()||Fe(jn)))return function(){var e=me();return Ue(L.createAwaitExpression(De(en)),e)}();default:return tn()}var e}function tn(){if(45===ve()||46===ve()){var t=me();return Ue(L.createPrefixUnaryExpression(ve(),De(rn)),t)}if(1===b&&29===ve()&&Fe(dt))return an(!0);var r=rn();if(e.Debug.assert(e.isLeftHandSideExpression(r)),(45===ve()||46===ve())&&!s.hasPrecedingLineBreak()){var n=ve();return xe(),Ue(L.createPostfixUnaryExpression(r,n),r.pos)}return r}function rn(){var t,r=me();return 99===ve()?Fe(ar)?(f|=1048576,t=je()):Fe(or)?(xe(),xe(),t=Ue(L.createMetaProperty(99,Ye()),r),f|=2097152):t=nn():t=105===ve()?function(){var t=me(),r=je();if(29===ve()){var n=me();void 0!==Ne(Dn)&&pe(n,me(),e.Diagnostics.super_may_not_use_type_arguments)}if(20===ve()||24===ve()||22===ve())return r;return Be(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Ue(L.createPropertyAccessExpression(r,kt(!0,!0)),t)}():nn(),vn(r,t)}function nn(){return gn(me(),xn(),!0)}function an(t,r){var n,i=me(),a=function(e){var t=me();if(Ie(29),31===ve())return ke(),Ue(L.createJsxOpeningFragment(),t);var r,n=cn(),i=0==(131072&O)?Ei():void 0,a=function(){var e=me();return Ue(L.createJsxAttributes(mt(13,ln)),e)}();31===ve()?(ke(),r=L.createJsxOpeningElement(n,i,a)):(Ie(43),e?Ie(31):(Ie(31,void 0,!1),ke()),r=L.createJsxSelfClosingElement(n,i,a));return Ue(r,t)}(t);if(276===a.kind){var o=sn(a),s=function(e){var t=me();Ie(30);var r=cn();e?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxClosingElement(r),t)}(t);T(a.tagName,s.tagName)||fe(s,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(h,a.tagName)),n=Ue(L.createJsxElement(a,o,s),i)}else 279===a.kind?n=Ue(L.createJsxFragment(a,sn(a),function(t){var r=me();Ie(30),e.tokenIsIdentifierOrKeyword(ve())&&fe(cn(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);t?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxJsxClosingFragment(),r)}(t)),i):(e.Debug.assert(275===a.kind),n=a);if(t&&29===ve()){var c=void 0===r?n.pos:r,u=Ne((function(){return an(!0,c)}));if(u){var l=Ve(27,!1);return e.setTextRangePosWidth(l,u.pos,0),pe(e.skipTrivia(h,c),u.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Ue(L.createBinaryExpression(n,l,u),i)}}return n}function on(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t))fe(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var n=t.tagName;pe(e.skipTrivia(h,n.pos),n.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(h,t.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var e=me(),t=L.createJsxText(s.getTokenValue(),12===k);return k=s.scanJsxToken(),Ue(t,e)}();case 18:return un(!1);case 29:return an(!1);default:return e.Debug.assertNever(r)}}function sn(e){var t=[],r=me(),n=w;for(w|=16384;;){var i=on(e,k=s.reScanJsxToken());if(!i)break;t.push(i)}return w=n,ze(t,r)}function cn(){var e=me();Ce();for(var t=107===ve()?je():Ye();Me(24);)t=Ue(L.createPropertyAccessExpression(t,kt(!0,!1)),e);return t}function un(e){var t,r,n=me();if(Ie(18))return 19!==ve()&&(t=Le(25),r=jr()),e?Ie(19):Ie(19,void 0,!1)&&ke(),Ue(L.createJsxExpression(t,r),n)}function ln(){if(18===ve())return function(){var e=me();Ie(18),Ie(25);var t=jr();return Ie(19),Ue(L.createJsxSpreadAttribute(t),e)}();Ce();var e=me();return Ue(L.createJsxAttribute(Ye(),62!==ve()?void 0:10===(k=s.scanJsxAttributeValue())?It():un(!0)),e)}function dn(){return xe(),e.tokenIsIdentifierOrKeyword(ve())||22===ve()||mn()}function _n(t){if(32&t.flags)return!0;if(e.isNonNullExpression(t)){for(var r=t.expression;e.isNonNullExpression(r)&&!(32&r.flags);)r=r.expression;if(32&r.flags){for(;e.isNonNullExpression(t);)t.flags|=32,t=t.expression;return!0}}return!1}function pn(t,r,n){var i=kt(!0,!0),a=n||_n(r),o=a?L.createPropertyAccessChain(r,n,i):L.createPropertyAccessExpression(r,i);return a&&e.isPrivateIdentifier(o.name)&&fe(o.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),Ue(o,t)}function fn(t,r,n){var i;if(23===ve())i=Ve(78,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var a=ie(jr);e.isStringOrNumericLiteralLike(a)&&(a.text=qe(a.text)),i=a}return Ie(23),Ue(n||_n(r)?L.createElementAccessChain(r,n,i):L.createElementAccessExpression(r,i),t)}function gn(t,r,n){for(;;){var i=void 0,a=!1;if(n&&28===ve()&&Fe(dn)?(i=Be(28),a=e.tokenIsIdentifierOrKeyword(ve())):a=Me(24),a)r=pn(t,r,i);else if(i||53!==ve()||s.hasPrecedingLineBreak())if(!i&&ue()||!Me(22)){if(!mn())return r;r=yn(t,r,i,void 0)}else r=fn(t,r,i);else xe(),r=Ue(L.createNonNullExpression(r),t)}}function mn(){return 14===ve()||15===ve()}function yn(e,t,r,n){var i=L.createTaggedTemplateExpression(t,n,14===ve()?(Ee(),It()):At(!0));return(r||32&t.flags)&&(i.flags|=32),i.questionDotToken=r,Ue(i,e)}function vn(t,r){for(;;){r=gn(t,r,!0);var n=Le(28);if(0!=(131072&O)||29!==ve()&&47!==ve()){if(20===ve()){a=hn();r=Ue(n||_n(r)?L.createCallChain(r,n,void 0,a):L.createCallExpression(r,void 0,a),t);continue}}else{var i=Ne(Dn);if(i){if(mn()){r=yn(t,r,n,i);continue}var a=hn();r=Ue(n||_n(r)?L.createCallChain(r,n,i,a):L.createCallExpression(r,i,a),t);continue}}if(n){var o=Ve(78,!1,e.Diagnostics.Identifier_expected);r=Ue(L.createPropertyAccessChain(r,n,o),t)}break}return r}function hn(){Ie(20);var e=xt(11,Sn);return Ie(21),e}function Dn(){if(0==(131072&O)&&29===Te()){xe();var e=xt(20,Or);if(Ie(31))return e&&function(){switch(ve()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;case 27:case 18:default:return!1}}()?e:void 0}}function xn(){switch(ve()){case 8:case 9:case 10:case 14:return It();case 107:case 105:case 103:case 109:case 94:return je();case 20:return function(){var e=me(),t=ye();Ie(20);var r=ie(jr);return Ie(21),U(Ue(L.createParenthesizedExpression(r),e),t)}();case 22:return En();case 18:return Cn();case 129:if(!Fe(Bn))break;return kn();case 83:return Di(me(),ye(),void 0,void 0,222);case 97:return kn();case 102:return function(){var t=me();if(Ie(102),Me(24)){var r=Ye();return Ue(L.createMetaProperty(102,r),t)}var n,i,a=me(),o=xn();for(;;){o=gn(a,o,!1),n=Ne(Dn),mn()&&(e.Debug.assert(!!n,"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'"),o=yn(a,o,void 0,n),n=void 0);break}20===ve()?i=hn():n&&pe(t,s.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list);return Ue(L.createNewExpression(o,n,i),t)}();case 43:case 67:if(13===(k=s.reScanSlashToken()))return It();break;case 15:return At(!1)}return Ge(e.Diagnostics.Expression_expected)}function bn(){return 25===ve()?function(){var e=me();Ie(25);var t=Kr();return Ue(L.createSpreadElement(t),e)}():27===ve()?Ue(L.createOmittedExpression(),me()):Kr()}function Sn(){return re(c,bn)}function En(){var e=me();Ie(22);var t=s.hasPrecedingLineBreak(),r=xt(15,bn);return Ie(23),Ue(L.createArrayLiteralExpression(r,t),e)}function Tn(){var e=me(),t=ye();if(Le(25)){var r=Kr();return U(Ue(L.createSpreadAssignment(r),e),t)}var n=fi(),i=mi();if(et(134))return li(e,t,n,i,168);if(et(146))return li(e,t,n,i,169);var a,o=Le(41),s=we(),c=Qe(),u=Le(57),l=Le(53);if(o||20===ve()||29===ve())return si(e,t,n,i,o,c,u,l);if(s&&58!==ve()){var d=Le(62),_=d?ie(Kr):void 0;(a=L.createShorthandPropertyAssignment(c,_)).equalsToken=d}else{Ie(58);var p=ie(Kr);a=L.createPropertyAssignment(c,p)}return a.decorators=n,a.modifiers=i,a.questionToken=u,a.exclamationToken=l,U(Ue(a,e),t)}function Cn(){var t=me(),r=s.getTokenPos();Ie(18);var n=s.hasPrecedingLineBreak(),i=xt(12,Tn,!0);if(!Ie(19)){var a=e.lastOrUndefined(S);a&&a.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(a,e.createDetachedDiagnostic(d,r,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createObjectLiteralExpression(i,n),t)}function kn(){var t=ue();t&&ee(!1);var r=me(),n=ye(),i=mi();Ie(97);var a=Le(41),o=a?1:0,s=e.some(i,e.isAsyncModifier)?2:0,c=o&&s?ne(40960,An):o?function(e){return ne(8192,e)}(An):s?ae(An):An(),u=Vt(),l=$t(o|s),d=Yt(58,!1),_=Nn(o|s);return t&&ee(!0),U(Ue(L.createFunctionExpression(i,a,c,u,l,d,_),r),n)}function An(){return Pe()?He():void 0}function Fn(t,r){var n=me(),i=ye(),a=s.getTokenPos();if(Ie(18,r)||t){var o=s.hasPrecedingLineBreak(),c=mt(1,Vn);if(!Ie(19)){var u=e.lastOrUndefined(S);u&&u.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(u,e.createDetachedDiagnostic(d,a,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}var l=U(Ue(L.createBlock(c,o),n),i);return 62===ve()&&(de(e.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses),xe()),l}c=St();return U(Ue(L.createBlock(c,void 0),n),i)}function Nn(e,t){var r=se();Z(!!(1&e));var n=le();te(!!(2&e));var i=R;R=!1;var a=ue();a&&ee(!1);var o=Fn(!!(16&e),t);return a&&ee(!0),R=i,Z(r),te(n),o}function Pn(){var e=me(),t=ye();Ie(96);var r,n,i=Le(130);if(Ie(20),26!==ve()&&(r=112===ve()||118===ve()||84===ve()?ri(!0):ne(4096,jr)),i?Ie(157):Me(157)){var a=ie(Kr);Ie(21),n=L.createForOfStatement(i,r,a,Vn())}else if(Me(100)){a=ie(jr);Ie(21),n=L.createForInStatement(r,a,Vn())}else{Ie(26);var o=26!==ve()&&21!==ve()?ie(jr):void 0;Ie(26);var s=21!==ve()?ie(jr):void 0;Ie(21),n=L.createForStatement(r,o,s,Vn())}return U(Ue(n,e),t)}function wn(e){var t=me(),r=ye();Ie(242===e?80:85);var n=Je()?void 0:Ge();return Ke(),U(Ue(242===e?L.createBreakStatement(n):L.createContinueStatement(n),t),r)}function In(){return 81===ve()?function(){var e=me();Ie(81);var t=ie(jr);Ie(58);var r=mt(3,Vn);return Ue(L.createCaseClause(t,r),e)}():function(){var e=me();Ie(87),Ie(58);var t=mt(3,Vn);return Ue(L.createDefaultClause(t),e)}()}function On(){var e=me(),t=ye();Ie(106),Ie(20);var r=ie(jr);Ie(21);var n=function(){var e=me();Ie(18);var t=mt(2,In);return Ie(19),Ue(L.createCaseBlock(t),e)}();return U(Ue(L.createSwitchStatement(r,n),e),t)}function Mn(){var e=me(),t=ye();Ie(110);var r,n=Fn(!1),i=82===ve()?function(){var e,t=me();Ie(82),Me(20)?(e=ti(),Ie(21)):e=void 0;var r=Fn(!1);return Ue(L.createCatchClause(e,r),t)}():void 0;return i&&95!==ve()||(Ie(95),r=Fn(!1)),U(Ue(L.createTryStatement(n,i,r),e),t)}function Ln(){return xe(),e.tokenIsIdentifierOrKeyword(ve())&&!s.hasPrecedingLineBreak()}function Rn(){return xe(),83===ve()&&!s.hasPrecedingLineBreak()}function Bn(){return xe(),97===ve()&&!s.hasPrecedingLineBreak()}function jn(){return xe(),(e.tokenIsIdentifierOrKeyword(ve())||8===ve()||9===ve()||10===ve())&&!s.hasPrecedingLineBreak()}function Jn(){for(;;)switch(ve()){case 112:case 118:case 84:case 97:case 83:case 91:return!0;case 117:case 149:return xe(),!s.hasPrecedingLineBreak()&&we();case 139:case 140:return Gn();case 125:case 129:case 133:case 120:case 121:case 122:case 142:if(xe(),s.hasPrecedingLineBreak())return!1;continue;case 154:return xe(),18===ve()||78===ve()||92===ve();case 99:return xe(),10===ve()||41===ve()||18===ve()||e.tokenIsIdentifierOrKeyword(ve());case 92:var t=xe();if(149===t&&(t=Fe(xe)),62===t||41===t||18===t||87===t||126===t)return!0;continue;case 123:xe();continue;default:return!1}}function Kn(){return Fe(Jn)}function zn(){switch(ve()){case 59:case 26:case 18:case 112:case 118:case 97:case 83:case 91:case 98:case 89:case 114:case 96:case 85:case 80:case 104:case 115:case 106:case 108:case 110:case 86:case 82:case 95:return!0;case 99:return Kn()||Fe(sr);case 84:case 92:return Kn();case 129:case 133:case 117:case 139:case 140:case 149:case 154:return!0;case 122:case 120:case 121:case 123:case 142:return Kn()||!Fe(Ln);default:return Br()}}function Un(){return xe(),we()||18===ve()||22===ve()}function Vn(){switch(ve()){case 26:return t=me(),r=ye(),Ie(26),U(Ue(L.createEmptyStatement(),t),r);case 18:return Fn(!1);case 112:return ii(me(),ye(),void 0,void 0);case 118:if(Fe(Un))return ii(me(),ye(),void 0,void 0);break;case 97:return ai(me(),ye(),void 0,void 0);case 83:return hi(me(),ye(),void 0,void 0);case 98:return function(){var e=me(),t=ye();Ie(98),Ie(20);var r=ie(jr);Ie(21);var n=Vn(),i=Me(90)?Vn():void 0;return U(Ue(L.createIfStatement(r,n,i),e),t)}();case 89:return function(){var e=me(),t=ye();Ie(89);var r=Vn();Ie(114),Ie(20);var n=ie(jr);return Ie(21),Me(26),U(Ue(L.createDoStatement(r,n),e),t)}();case 114:return function(){var e=me(),t=ye();Ie(114),Ie(20);var r=ie(jr);Ie(21);var n=Vn();return U(Ue(L.createWhileStatement(r,n),e),t)}();case 96:return Pn();case 85:return wn(241);case 80:return wn(242);case 104:return function(){var e=me(),t=ye();Ie(104);var r=Je()?void 0:ie(jr);return Ke(),U(Ue(L.createReturnStatement(r),e),t)}();case 115:return function(){var e=me(),t=ye();Ie(115),Ie(20);var r=ie(jr);Ie(21);var n=ne(16777216,Vn);return U(Ue(L.createWithStatement(r,n),e),t)}();case 106:return On();case 108:return function(){var e=me(),t=ye();Ie(108);var r=s.hasPrecedingLineBreak()?void 0:ie(jr);return void 0===r&&(P++,r=Ue(L.createIdentifier(""),me())),Ke(),U(Ue(L.createThrowStatement(r),e),t)}();case 110:case 82:case 95:return Mn();case 86:return function(){var e=me(),t=ye();return Ie(86),Ke(),U(Ue(L.createDebuggerStatement(),e),t)}();case 59:return Wn();case 129:case 117:case 149:case 139:case 140:case 133:case 84:case 91:case 92:case 99:case 120:case 121:case 122:case 125:case 123:case 142:case 154:if(Kn())return Wn()}var t,r;return function(){var t,r=me(),n=ye(),i=20===ve(),a=ie(jr);return e.isIdentifier(a)&&Me(58)?t=L.createLabeledStatement(a,Vn()):(Ke(),t=L.createExpressionStatement(a),i&&(n=!1)),U(Ue(t,r),n)}()}function qn(e){return 133===e.kind}function Wn(){var t=e.some(Fe((function(){return fi(),mi()})),qn);if(t){var r=ne(8388608,(function(){var e=vt(w);if(e)return ht(e)}));if(r)return r}var n=me(),i=ye(),a=fi(),o=mi();if(t){for(var s=0,c=o;s=0),e.Debug.assert(t<=o),e.Debug.assert(o<=a.length),_(a,t)){var c,u,l,p,f,g=[],m=[];return s.scanRange(t+3,i-5,(function(){var r,n=1,i=t-(a.lastIndexOf("\n",t)+1)+4;function d(e){r||(r=i),g.push(e),i+=e.length}for(be();W(5););W(4)&&(n=0,i=0);e:for(;;){switch(ve()){case 59:0===n||1===n?(v(g),f||(f=me()),N(E(i)),n=0,r=void 0):d(s.getTokenText());break;case 4:g.push(s.getTokenText()),n=0,i=0;break;case 41:var _=s.getTokenText();1===n||2===n?(n=2,d(_)):(n=1,i+=_.length);break;case 5:var h=s.getTokenText();2===n?g.push(h):void 0!==r&&i+h.length>r&&g.push(h.slice(r-i)),i+=h.length;break;case 1:break e;case 18:n=2;var D=s.getStartPos(),x=A(s.getTextPos()-1);if(x){p||y(g),m.push(Ue(L.createJSDocText(g.join("")),null!=p?p:t,D)),m.push(x),g=[],p=s.getTextPos();break}default:n=2,d(s.getTokenText())}be()}v(g),m.length&&g.length&&m.push(Ue(L.createJSDocText(g.join("")),null!=p?p:t,f)),m.length&&c&&e.Debug.assertIsDefined(f,"having parsed tags implies that the end of the comment span should be set");var b=c&&ze(c,u,l);return Ue(L.createJSDocComment(m.length?ze(m,t,f):g.length?g.join(""):void 0,b),t,o)}))}function y(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function v(e){for(;e.length&&""===e[e.length-1].trim();)e.pop()}function D(){for(;;){if(be(),1===ve())return!0;if(5!==ve()&&4!==ve())return!1}}function x(){if(5!==ve()&&4!==ve()||!Fe(D))for(;5===ve()||4===ve();)be()}function b(){if((5===ve()||4===ve())&&Fe(D))return"";for(var e=s.hasPrecedingLineBreak(),t=!1,r="";e&&41===ve()||5===ve()||4===ve();)r+=s.getTokenText(),4===ve()?(e=!0,t=!0,r=""):41===ve()&&(e=!1),be();return t?r:""}function E(t){e.Debug.assert(59===ve());var i=s.getTokenPos();be();var a,o=G(void 0),u=b();switch(o.escapedText){case"author":a=function(t,r,n,i){var a=me(),o=function(){var e=[],t=!1,r=s.getToken();for(;1!==r&&4!==r;){if(29===r)t=!0;else{if(59===r&&!t)break;if(31===r&&t){e.push(s.getTokenText()),s.setTextPos(s.getTokenPos()+1);break}}e.push(s.getTokenText()),r=be()}return L.createJSDocText(e.join(""))}(),c=s.getStartPos(),u=T(t,c,n,i);u||(c=s.getStartPos());var l="string"!=typeof u?ze(e.concatenate([Ue(o,a,c)],u),a):o.text+u;return Ue(L.createJSDocAuthorTag(r,l),t)}(i,o,t,u);break;case"implements":a=function(e,t,r,n){var i=B();return Ue(L.createJSDocImplementsTag(t,i,T(e,me(),r,n)),e)}(i,o,t,u);break;case"augments":case"extends":a=function(e,t,r,n){var i=B();return Ue(L.createJSDocAugmentsTag(t,i,T(e,me(),r,n)),e)}(i,o,t,u);break;case"class":case"constructor":a=j(i,L.createJSDocClassTag,o,t,u);break;case"public":a=j(i,L.createJSDocPublicTag,o,t,u);break;case"private":a=j(i,L.createJSDocPrivateTag,o,t,u);break;case"protected":a=j(i,L.createJSDocProtectedTag,o,t,u);break;case"readonly":a=j(i,L.createJSDocReadonlyTag,o,t,u);break;case"override":a=j(i,L.createJSDocOverrideTag,o,t,u);break;case"deprecated":H=!0,a=j(i,L.createJSDocDeprecatedTag,o,t,u);break;case"this":a=function(e,t,n,i){var a=r(!0);return x(),Ue(L.createJSDocThisTag(t,a,T(e,me(),n,i)),e)}(i,o,t,u);break;case"enum":a=function(e,t,n,i){var a=r(!0);return x(),Ue(L.createJSDocEnumTag(t,a,T(e,me(),n,i)),e)}(i,o,t,u);break;case"arg":case"argument":case"param":return M(i,o,2,t);case"return":case"returns":a=function(t,r,n,i){e.some(c,e.isJSDocReturnTag)&&pe(r.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,r.escapedText);var a=w();return Ue(L.createJSDocReturnTag(r,a,T(t,me(),n,i)),t)}(i,o,t,u);break;case"template":a=function(e,t,n,i){var a=18===ve()?r():void 0,o=function(){var e=me(),t=[];do{x();var r=q();void 0!==r&&t.push(r),b()}while(W(27));return ze(t,e)}();return Ue(L.createJSDocTemplateTag(t,a,o,T(e,me(),n,i)),e)}(i,o,t,u);break;case"type":a=R(i,o,t,u);break;case"typedef":a=function(t,r,n,i){var a,o=w();b();var s=J();x();var c,u=C(n);if(!o||O(o.type)){for(var l=void 0,_=void 0,p=void 0,f=!1;l=Ne((function(){return z(n)}));)if(f=!0,333===l.kind){if(_){de(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=e.lastOrUndefined(S);g&&e.addRelatedInfo(g,e.createDetachedDiagnostic(d,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}_=l}else p=e.append(p,l);if(f){var m=o&&179===o.type.kind,y=L.createJSDocTypeLiteral(p,m);c=(o=_&&_.typeExpression&&!O(_.typeExpression.type)?_.typeExpression:Ue(y,t)).end}}c=c||void 0!==u?me():(null!==(a=null!=s?s:o)&&void 0!==a?a:r).end,u||(u=T(t,c,n,i));return Ue(L.createJSDocTypedefTag(r,o,s,u),t,c)}(i,o,t,u);break;case"callback":a=function(t,r,n,i){var a=J();x();var o=C(n),s=function(t){var r,n,i=me();for(;r=Ne((function(){return U(4,t)}));)n=e.append(n,r);return ze(n||[],i)}(n),c=Ne((function(){if(W(59)){var e=E(n);if(e&&331===e.kind)return e}})),u=Ue(L.createJSDocSignature(void 0,s,c),t);o||(o=T(t,me(),n,i));return Ue(L.createJSDocCallbackTag(r,u,a,o),t)}(i,o,t,u);break;case"see":a=function(t,r,i,a){var o=Fe((function(){return 59===be()&&e.tokenIsIdentifierOrKeyword(be())&&"link"===s.getTokenValue()}))?void 0:n(),c=void 0!==i&&void 0!==a?T(t,me(),i,a):void 0;return Ue(L.createJSDocSeeTag(r,o,c),t)}(i,o,t,u);break;default:a=function(e,t,r,n){return Ue(L.createJSDocUnknownTag(t,T(e,me(),r,n)),e)}(i,o,t,u)}return a}function T(e,t,r,n){return n||(r+=t-e),C(r,n.slice(r))}function C(e,t){var r,n,i=me(),a=[],o=[],c=0,u=!0;function l(t){n||(n=e),a.push(t),e+=t.length}void 0!==t&&(""!==t&&l(t),c=1);var d=ve();e:for(;;){switch(d){case 4:c=0,a.push(s.getTokenText()),e=0;break;case 59:if(3===c||2===c&&(!u||Fe(k))){a.push(s.getTokenText());break}s.setTextPos(s.getTextPos()-1);case 1:break e;case 5:if(2===c||3===c)l(s.getTokenText());else{var _=s.getTokenText();void 0!==n&&e+_.length>n&&a.push(_.slice(n-e)),e+=_.length}break;case 18:c=2;var p=s.getStartPos(),f=A(s.getTextPos()-1);f?(o.push(Ue(L.createJSDocText(a.join("")),null!=r?r:i,p)),o.push(f),a=[],r=s.getTextPos()):l(s.getTokenText());break;case 61:c=3===c?2:3,l(s.getTokenText());break;case 41:if(0===c){c=1,e+=1;break}default:3!==c&&(c=2),l(s.getTokenText())}u=5===ve(),d=be()}return y(a),v(a),o.length?(a.length&&o.push(Ue(L.createJSDocText(a.join("")),null!=r?r:i)),ze(o,i,s.getTextPos())):a.length?a.join(""):void 0}function k(){var e=be();return 5===e||4===e}function A(t){if(Ne(F)){be(),x();for(var r=e.tokenIsIdentifierOrKeyword(ve())?Tt(!0):void 0,n=[];19!==ve()&&4!==ve()&&1!==ve();)n.push(s.getTokenText()),be();return Ue(L.createJSDocLink(r,n.join("")),t,s.getTextPos())}}function F(){return b(),18===ve()&&59===be()&&e.tokenIsIdentifierOrKeyword(be())&&"link"===s.getTokenValue()}function N(e){e&&(c?c.push(e):(c=[e],u=e.pos),l=e.end)}function w(){return b(),18===ve()?r():void 0}function I(){var t=W(22);t&&x();var r=W(61),n=function(){var e=G();Me(22)&&Ie(23);for(;Me(24);){var t=G();Me(22)&&Ie(23),e=Ct(e,t)}return e}();return r&&function(t){Re(t)||Ve(t,!1,e.Diagnostics._0_expected,e.tokenToString(t))}(61),t&&(x(),Le(62)&&jr(),Ie(23)),{name:n,isBracketed:t}}function O(t){switch(t.kind){case 145:return!0;case 179:return O(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"Object"===t.typeName.escapedText&&!t.typeArguments}}function M(t,r,n,i){var a=w(),o=!a;b();var s=I(),c=s.name,u=s.isBracketed,l=b();o&&!Fe(F)&&(a=w());var d=T(t,me(),i,l),_=4!==n&&function(t,r,n,i){if(t&&O(t.type)){for(var a=me(),o=void 0,s=void 0;o=Ne((function(){return U(n,i,r)}));)330!==o.kind&&337!==o.kind||(s=e.append(s,o));if(s){var c=Ue(L.createJSDocTypeLiteral(s,179===t.type.kind),a);return Ue(L.createJSDocTypeExpression(c),a)}}}(a,c,n,i);return _&&(a=_,o=!0),Ue(1===n?L.createJSDocPropertyTag(r,c,u,a,o,d):L.createJSDocParameterTag(r,c,u,a,o,d),t)}function R(t,n,i,a){e.some(c,e.isJSDocTypeTag)&&pe(n.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText);var o=r(!0),u=void 0!==i&&void 0!==a?T(t,me(),i,a):void 0;return Ue(L.createJSDocTypeTag(n,o,u),t)}function B(){var e=Me(18),t=me(),r=function(){var e=me(),t=G();for(;Me(24);){var r=G();t=Ue(L.createPropertyAccessExpression(t,r),e)}return t}(),n=Ei(),i=Ue(L.createExpressionWithTypeArguments(r,n),t);return e&&Ie(19),i}function j(e,t,r,n,i){return Ue(t(r,T(e,me(),n,i)),e)}function J(t){var r=s.getTokenPos();if(e.tokenIsIdentifierOrKeyword(ve())){var n=G();if(Me(24)){var i=J(!0);return Ue(L.createModuleDeclaration(void 0,void 0,n,i,t?4:void 0),r)}return t&&(n.isInJSDocNamespace=!0),n}}function K(t,r){for(;!e.isIdentifier(t)||!e.isIdentifier(r);){if(e.isIdentifier(t)||e.isIdentifier(r)||t.right.escapedText!==r.right.escapedText)return!1;t=t.left,r=r.left}return t.escapedText===r.escapedText}function z(e){return U(1,e)}function U(t,r,n){for(var i=!0,a=!1;;)switch(be()){case 59:if(i){var o=V(t,r);return!(o&&(330===o.kind||337===o.kind)&&4!==t&&n&&(e.isIdentifier(o.name)||!K(n,o.name.left)))&&o}a=!1;break;case 4:i=!0,a=!1;break;case 41:a&&(i=!1),a=!0;break;case 78:i=!1;break;case 1:return!1}}function V(t,r){e.Debug.assert(59===ve());var n=s.getStartPos();be();var i,a=G();switch(x(),a.escapedText){case"type":return 1===t&&R(n,a);case"prop":case"property":i=1;break;case"arg":case"argument":case"param":i=6;break;default:return!1}return!!(t&i)&&M(n,a,t,r)}function q(){var t=me(),r=G(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);if(!e.nodeIsMissing(r))return Ue(L.createTypeParameterDeclaration(r,void 0,void 0),t)}function W(e){return ve()===e&&(be(),!0)}function G(t){if(!e.tokenIsIdentifierOrKeyword(ve()))return Ve(78,!t,t||e.Diagnostics.Identifier_expected);P++;var r=s.getTokenPos(),n=s.getTextPos(),i=ve(),a=qe(s.getTokenValue()),o=Ue(L.createIdentifier(a,void 0,i),r,n);return be(),o}}t.parseJSDocTypeExpressionForTests=function(t,n,i){J("file.js",t,99,void 0,1),s.setText(t,n,i),k=s.scan();var a=r(),o=X("file.js",99,1,!1,[],L.createToken(1),0),c=e.attachFileToDiagnostics(S,o);return E&&(o.jsDocDiagnostics=e.attachFileToDiagnostics(E,o)),K(),a?{jsDocTypeExpression:a,diagnostics:c}:void 0},t.parseJSDocTypeExpression=r,t.parseJSDocNameReference=n,t.parseIsolatedJSDocComment=function(t,r,n){J("",t,99,void 0,1);var i=ne(4194304,(function(){return o(r,n)})),a={languageVariant:0,text:t},s=e.attachFileToDiagnostics(S,a);return K(),i?{jsDoc:i,diagnostics:s}:void 0},t.parseJSDocComment=function(t,r,n){var i=k,a=S.length,s=B,c=ne(4194304,(function(){return o(r,n)}));return e.setParent(c,t),131072&O&&(E||(E=[]),E.push.apply(E,S)),k=i,S.length=a,B=s,c},function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments",e[e.SavingBackticks=3]="SavingBackticks"}(i||(i={})),function(e){e[e.Property=1]="Property",e[e.Parameter=2]="Parameter",e[e.CallbackParameter=4]="CallbackParameter"}(a||(a={}))}(W=t.JSDocParser||(t.JSDocParser={}))}(c||(c={})),function(t){function r(t,r,i,o,s,c){return void(r?l(t):u(t));function u(t){var r="";if(c&&n(t)&&(r=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),e.setTextRangePosEnd(t,t.pos+i,t.end+i),c&&n(t)&&e.Debug.assert(r===s.substring(t.pos,t.end)),p(t,u,l),e.hasJSDocNodes(t))for(var d=0,_=t.jsDoc;d<_.length;d++){u(_[d])}a(t,c)}function l(t){t._children=void 0,e.setTextRangePosEnd(t,t.pos+i,t.end+i);for(var r=0,n=t;r=r,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end);var o=Math.min(t.pos,i),s=t.end>=n?t.end+a:Math.min(t.end,i);e.Debug.assert(o<=s),t.parent&&(e.Debug.assertGreaterThanOrEqual(o,t.parent.pos),e.Debug.assertLessThanOrEqual(s,t.parent.end)),e.setTextRangePosEnd(t,o,s)}function a(t,r){if(r){var n=t.pos,i=function(t){e.Debug.assert(t.pos>=n),n=t.end};if(e.hasJSDocNodes(t))for(var a=0,o=t.jsDoc;ar),!0;if(a.pos>=i.pos&&(i=a),ri.pos&&(i=a)}return i}function s(t,r,n,i){var a=t.text;if(n&&(e.Debug.assert(a.length-n.span.length+n.newLength===r.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,n.span.start),s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length),u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}function u(t){var r=t.statements,n=0;e.Debug.assert(n=t.pos&&e=t.pos&&e0&&a<=n;a++){var s=o(t,i);e.Debug.assert(s.pos<=i);var c=s.pos;i=Math.max(0,c-1)}var u=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span)),l=r.newLength+(r.span.start-i);return e.createTextChangeRange(u,l)}(t,l);s(t,n,m,d),e.Debug.assert(m.span.start<=l.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(l.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(l)));var y=e.textChangeRangeNewSpan(m).length-m.span.length;!function(t,n,o,s,c,u,l,d){return void _(t);function _(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)r(t,!1,c,u,l,d);else{var g=t.end;if(g>=n){if(t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c),p(t,_,f),e.hasJSDocNodes(t))for(var m=0,y=t.jsDoc;mo)r(t,!0,c,u,l,d);else{var a=t.end;if(a>=n){t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c);for(var p=0,f=t;pi){y();var m={range:{pos:f.pos+a,end:f.end+a},type:g};u=e.append(u,m),c&&e.Debug.assert(o.substring(f.pos,f.end)===s.substring(m.range.pos,m.range.end))}}return y(),u;function y(){l||(l=!0,u?r&&u.push.apply(u,r):u=r)}}(t.commentDirectives,v.commentDirectives,m.span.start,e.textSpanEnd(m.span),y,f,n,d),v},t.createSyntaxCursor=u,function(e){e[e.Value=-1]="Value"}(l||(l={}))}(u||(u={})),e.isDeclarationFileName=m,e.processCommentPragmas=y,e.processPragmasIntoFields=v;var h=new e.Map;function D(e){if(h.has(e))return h.get(e);var t=new RegExp("(\\s"+e+"\\s*=\\s*)('|\")(.+?)\\2","im");return h.set(e,t),t}var x=/^\/\/\/\s*<(\S+)\s.*?\/>/im,b=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function S(t,r,n){var i=2===r.kind&&x.exec(n);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=r.length)break;var o=a;if(34===r.charCodeAt(o)){for(a++;a32;)a++;i.push(r.substring(o,a))}}c(i)}else s.push(r)}}function D(t,r,n,i,a,o){if(i.isTSConfigOnly)"null"===(s=t[r])?(a[i.name]=void 0,r++):"boolean"===i.type?"false"===s?(a[i.name]=me(i,!1,o),r++):("true"===s&&r++,o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),s&&!e.startsWith(s,"-")&&r++);else if(t[r]||"boolean"===i.type||o.push(e.createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,i.name,U(i))),"null"!==t[r])switch(i.type){case"number":a[i.name]=me(i,parseInt(t[r]),o),r++;break;case"boolean":var s=t[r];a[i.name]=me(i,"false"!==s,o),"false"!==s&&"true"!==s||r++;break;case"string":a[i.name]=me(i,t[r]||"",o),r++;break;case"list":var c=m(i,t[r],o);a[i.name]=c||[],c&&r++;break;default:a[i.name]=g(i,t[r],o),r++}else a[i.name]=void 0,r++;return r}function x(e,t){return b(u,e,t)}function b(e,t,r){void 0===r&&(r=!1),t=t.toLowerCase();var n=e(),i=n.optionsNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);void 0!==o&&(t=o)}return i.get(t)}function S(){return l||(l=c(e.buildOpts))}e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=_,e.createCompilerDiagnosticForInvalidCustomType=p,e.parseCustomTypeOption=g,e.parseListTypeOption=m,e.parseCommandLineWorker=h,e.compilerOptionsDidYouMeanDiagnostics={alternateMode:d,getOptionsNameMap:u,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(t,r){return h(e.compilerOptionsDidYouMeanDiagnostics,t,r)},e.getOptionFromName=x;var E={alternateMode:{diagnostic:e.Diagnostics.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:u},getOptionsNameMap:S,optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function T(t,r){var n=e.parseJsonText(t,r);return{config:J(n,n.parseDiagnostics,!1,void 0),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function C(t,r){var n=k(t,r);return e.isString(n)?e.parseJsonText(t,n):{fileName:t,parseDiagnostics:[n]}}function k(t,r){var n;try{n=r(t)}catch(r){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}return void 0===n?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,t):n}function A(t){return e.arrayToMap(t,y)}e.parseBuildCommand=function(t){var r=h(E,t),n=r.options,i=r.watchOptions,a=r.fileNames,o=r.errors,s=n;return 0===a.length&&a.push("."),s.clean&&s.force&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force")),s.clean&&s.verbose&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose")),s.clean&&s.watch&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch")),s.watch&&s.dry&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:s,watchOptions:i,projects:a,errors:o}},e.getDiagnosticText=function(t){for(var r=[],n=1;n=0)return c.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,t(t([],s),[d]).join(" -> "))),{raw:r||K(n,c)};var _=r?function(t,r,n,i,a){e.hasProperty(t,"excludes")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=ue(t.compilerOptions,n,a,i),c=de(t.typeAcquisition||t.typingOptions,n,a,i),u=function(e,t,r){return _e(B(),e,t,void 0,L,r)}(t.watchOptions,n,a);if(t.compileOnSave=function(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var i=pe(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return"boolean"==typeof i&&i}(t,n,a),t.extends)if(e.isString(t.extends)){var l=i?te(i,n):n;o=se(t.extends,r,l,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"));return{raw:t,options:s,watchOptions:u,typeAcquisition:c,extendedConfigPath:o}}(r,i,a,o,c):function(t,r,n,i,a){var o,s,c,u,l=ce(i),d={onSetValidOptionKeyValueInParent:function(t,r,a){var u;switch(t){case"compilerOptions":u=l;break;case"watchOptions":u=c||(c={});break;case"typeAcquisition":u=o||(o=le(i));break;case"typingOptions":u=s||(s=le(i));break;default:e.Debug.fail("Unknown option")}u[r.name]=fe(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case"extends":var d=i?te(i,n):n;return void(u=se(c,r,d,a,(function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)})))}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){"excludes"===r&&a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},_=J(t,a,!0,d);o||(o=s?void 0!==s.enableAutoDiscovery?{enable:s.enableAutoDiscovery,include:s.include,exclude:s.exclude}:s:le(i));return{raw:_,options:l,watchOptions:c,typeAcquisition:o,extendedConfigPath:u}}(n,i,a,o,c);if((null===(l=_.options)||void 0===l?void 0:l.paths)&&(_.options.pathsBasePath=a),_.extendedConfigPath){s=s.concat([d]);var p=function(t,r,n,i,a,o){var s,c,u,l,d=n.useCaseSensitiveFileNames?r:e.toFileNameLowerCase(r);o&&(c=o.get(d))?(u=c.extendedResult,l=c.extendedConfig):((u=C(r,(function(e){return n.readFile(e)}))).parseDiagnostics.length||(l=oe(void 0,u,n,e.getDirectoryPath(r),e.getBaseFileName(r),i,a,o)),o&&o.set(d,{extendedResult:u,extendedConfig:l}));t&&(t.extendedSourceFiles=[u.fileName],u.extendedSourceFiles&&(s=t.extendedSourceFiles).push.apply(s,u.extendedSourceFiles));if(u.parseDiagnostics.length)return void a.push.apply(a,u.parseDiagnostics);return l}(n,_.extendedConfigPath,i,s,c,u);if(p&&p.options){var f,g=p.raw,m=_.raw,y=function(t){!m[t]&&g[t]&&(m[t]=e.map(g[t],(function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f||(f=e.convertToRelativePath(e.getDirectoryPath(_.extendedConfigPath),a,e.createGetCanonicalFileName(i.useCaseSensitiveFileNames))),t)})))};y("include"),y("exclude"),y("files"),void 0===m.compileOnSave&&(m.compileOnSave=g.compileOnSave),_.options=e.assign({},p.options,_.options),_.watchOptions=_.watchOptions&&p.watchOptions?e.assign({},p.watchOptions,_.watchOptions):_.watchOptions||p.watchOptions}}return _}function se(t,r,n,i,a){if(t=e.normalizeSlashes(t),e.isRootedDiskPath(t)||e.startsWith(t,"./")||e.startsWith(t,"../")){var o=e.getNormalizedAbsolutePath(t,n);return r.fileExists(o)||e.endsWith(o,".json")||(o+=".json",r.fileExists(o))?o:void i.push(a(e.Diagnostics.File_0_not_found,t))}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,void 0,void 0,!0);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;i.push(a(e.Diagnostics.File_0_not_found,t))}function ce(t){return t&&"jsconfig.json"===e.getBaseFileName(t)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ue(t,r,n,i){var a=ce(i);return _e(R(),t,r,a,e.compilerOptionsDidYouMeanDiagnostics,n),i&&(a.configFilePath=e.normalizeSlashes(i)),a}function le(t){return{enable:!!t&&"jsconfig.json"===e.getBaseFileName(t),include:[],exclude:[]}}function de(e,t,r,n){var i=le(n),a=_(e);return _e(j(),a,t,i,N,r),i}function _e(t,r,n,i,a,o){if(r){for(var s in r){var c=t.get(s);c?(i||(i={}))[c.name]=pe(c,r[s],n,o):o.push(v(s,a,e.createCompilerDiagnostic))}return i}}function pe(t,r,n,i){if(V(t,r)){var a=t.type;if("list"===a&&e.isArray(r))return function(t,r,n,i){return e.filter(e.map(r,(function(e){return pe(t.element,e,n,i)})),(function(e){return!!e}))}(t,r,n,i);if(!e.isString(a))return ye(t,r,i);var o=me(t,r,i);return ee(o)?o:ge(t,n,o)}i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,U(t)))}function fe(t,r,n){if(!ee(n)){if("list"===t.type){var i=t;return i.element.isFilePath||!e.isString(i.element.type)?e.filter(e.map(n,(function(e){return fe(i.element,r,e)})),(function(e){return!!e})):n}return e.isString(t.type)?ge(t,r,n):t.type.get(e.isString(n)?n.toLowerCase():n)}}function ge(t,r,n){return t.isFilePath&&""===(n=e.getNormalizedAbsolutePath(n,r))&&(n="."),n}function me(t,r,n){var i;if(!ee(r)){var a=null===(i=t.extraValidation)||void 0===i?void 0:i.call(t,r);if(!a)return r;n.push(e.createCompilerDiagnostic.apply(void 0,a))}}function ye(e,t,r){if(!ee(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return me(e,i,r);r.push(p(e))}}function ve(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}e.convertToObject=K,e.convertToObjectWorker=z,e.convertToTSConfig=function(t,n,i){var a,o,s,c=e.createGetCanonicalFileName(i.useCaseSensitiveFileNames),u=e.map(e.filter(t.fileNames,(null===(o=null===(a=t.options.configFile)||void 0===a?void 0:a.configFileSpecs)||void 0===o?void 0:o.validatedIncludeSpecs)?function(t,r,n,i){if(!r)return e.returnTrue;var a=e.getFileMatcherPatterns(t,n,r,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),o=a.excludePattern&&e.getRegexFromPattern(a.excludePattern,i.useCaseSensitiveFileNames),s=a.includeFilePattern&&e.getRegexFromPattern(a.includeFilePattern,i.useCaseSensitiveFileNames);if(s)return o?function(e){return!(s.test(e)&&!o.test(e))}:function(e){return!s.test(e)};if(o)return function(e){return o.test(e)};return e.returnTrue}(n,t.options.configFile.configFileSpecs.validatedIncludeSpecs,t.options.configFile.configFileSpecs.validatedExcludeSpecs,i):e.returnTrue),(function(t){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(n,i.getCurrentDirectory()),e.getNormalizedAbsolutePath(t,i.getCurrentDirectory()),c)})),l=Y(t.options,{configFilePath:e.getNormalizedAbsolutePath(n,i.getCurrentDirectory()),useCaseSensitiveFileNames:i.useCaseSensitiveFileNames}),d=t.watchOptions&&function(e){return X(e,P())}(t.watchOptions);return r(r({compilerOptions:r(r({},q(l)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:d&&q(d),references:e.map(t.projectReferences,(function(e){return r(r({},e),{path:e.originalPath?e.originalPath:"",originalPath:void 0})})),files:e.length(u)?u:void 0},(null===(s=t.options.configFile)||void 0===s?void 0:s.configFileSpecs)?{include:W(t.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:t.options.configFile.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!t.compileOnSave||void 0})},e.generateTSConfig=function(t,r,n){var i=Y(e.extend(t,e.defaultInitCompilerOptions));return function(){for(var t=e.createMultiMap(),c=0,u=e.optionDeclarations;c0)for(var D=function(t){if(e.fileExtensionIs(t,".json")){if(!o){var n=_.filter((function(t){return e.endsWith(t,".json")})),a=e.map(e.getRegularExpressionsForWildcards(n,r,"files"),(function(e){return"^"+e+"$"}));o=a?a.map((function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)})):e.emptyArray}if(-1!==e.findIndex(o,(function(e){return e.test(t)}))){var d=s(t);c.has(d)||l.has(d)||l.set(d,t)}return"continue"}if(function(t,r,n,i,a){for(var o=e.getExtensionPriority(t,i),s=e.adjustExtensionPriority(o,i),c=0;c0);var i={sourceFile:t.configFile,commandLine:{options:t}};r.setOwnMap(r.getOrCreateMapOfCacheRedirects(i)),null==n||n.setOwnMap(n.getOrCreateMapOfCacheRedirects(i))}r.setOwnOptions(t),null==n||n.setOwnOptions(t)}}function E(t,r,n){return{getOrCreateCacheForDirectory:function(i,a){var o=e.toPath(i,t,r);return b(n,a,o,(function(){return new e.Map}))},clear:function(){n.clear()},update:function(e){S(e,n)}}}function T(t,r,i,a,o){var s=function(t,r,i,a){var o=a.compilerOptions,s=o.baseUrl,c=o.paths;if(c&&!e.pathIsRelative(r)){return a.traceEnabled&&(s&&n(a.host,e.Diagnostics.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,s,r),n(a.host,e.Diagnostics.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,r)),X(t,r,e.getPathsBasePath(a.compilerOptions,a.host),c,i,!1,a)}}(t,r,a,o);return s?s.value:e.isExternalModuleNameRelative(r)?function(t,r,i,a,o){if(!o.compilerOptions.rootDirs)return;o.traceEnabled&&n(o.host,e.Diagnostics.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,r);for(var s,c,u=e.normalizePath(e.combinePaths(i,r)),l=0,d=o.compilerOptions.rootDirs;li&&(i=l),1===i)return i}return i}break;case 258:var d=0;return e.forEachChild(t,(function(t){var n=o(t,r);switch(n){case 0:return;case 2:return void(d=2);case 1:return d=1,!0;default:e.Debug.assertNever(n)}})),d;case 257:return a(t,r);case 78:if(t.isInJSDocNamespace)return 0}return 1}(t,r);return r.set(n,i),i}function s(t,r){for(var n=t.propertyName||t.name,i=t.parent;i;){if(e.isBlock(i)||e.isModuleBlock(i)||e.isSourceFile(i)){for(var a=void 0,s=0,c=i.statements;sa)&&(a=l),1===a)return a}}if(void 0!==a)return a}i=i.parent}return 1}function c(t){return e.Debug.attachFlowNodeDebugInfo(t),t}(n=e.ModuleInstanceState||(e.ModuleInstanceState={}))[n.NonInstantiated=0]="NonInstantiated",n[n.Instantiated=1]="Instantiated",n[n.ConstEnumOnly=2]="ConstEnumOnly",e.getModuleInstanceState=a,function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethod=128]="IsObjectLiteralOrClassExpressionMethod"}(i||(i={}));var u=function(){var n,i,o,s,u,p,f,g,m,y,v,h,D,x,b,S,E,T,C,k,A,F,N,P,w=!1,I=0,O={flags:1},M={flags:1},L=function(){return e.createBinaryExpressionTrampoline(t,r,n,i,a,void 0);function t(t,r){if(r){r.stackIndex++,e.setParent(t,s);var n=F;ze(t);var i=s;s=t,r.skip=!1,r.inStrictModeStack[r.stackIndex]=n,r.parentStack[r.stackIndex]=i}else r={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};var a=t.operatorToken.kind;if(55===a||56===a||60===a||e.isLogicalOrCoalescingAssignmentOperator(a)){if(de(t)){var o=Z();De(t,o,o),v=ce(o)}else De(t,b,S);r.skip=!0}return r}function r(e,t,r){if(!t.skip)return o(e)}function n(e,t,r){t.skip||(27===e.kind&&ye(r.left),Be(e))}function i(e,t,r){if(!t.skip)return o(e)}function a(t,r){if(!r.skip){var n=t.operatorToken.kind;if(e.isAssignmentOperator(n)&&!e.isAssignmentTarget(t))if(he(t.left),62===n&&203===t.left.kind)Q(t.left.expression)&&(v=oe(256,v,t))}var i=r.inStrictModeStack[r.stackIndex],a=r.parentStack[r.stackIndex];void 0!==i&&(F=i),void 0!==a&&(s=a),r.skip=!1,r.stackIndex--}function o(t){if(t&&e.isBinaryExpression(t)&&!e.isDestructuringAssignment(t))return t;Be(t)}}();function R(t,r,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(t)||n,t,r,i,a,o)}return function(t,r){n=t,i=r,o=e.getEmitScriptTarget(i),F=function(t,r){return!(!e.getStrictOptionValue(r,"alwaysStrict")||t.isDeclarationFile)||!!t.externalModuleIndicator}(n,r),P=new e.Set,I=0,N=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(O),e.Debug.attachFlowNodeDebugInfo(M),n.locals||(Be(n),n.symbolCount=I,n.classifiableNames=P,function(){if(m){for(var t=u,r=g,i=f,a=s,o=v,l=0,_=m;l<_.length;l++){var p=_[l],y=p.parent.parent;u=e.findAncestor(y.parent,(function(e){return!!(1&Te(e))}))||n,f=e.getEnclosingBlockScopeContainer(y)||n,v=c({flags:2}),s=p,Be(p.typeExpression);var h=e.getNameOfDeclaration(p);if((e.isJSDocEnumTag(p)||!p.fullName)&&h&&e.isPropertyAccessEntityNameExpression(h.parent)){var D=et(h.parent);if(D){Qe(n.symbol,h.parent,D,!!e.findAncestor(h,(function(t){return e.isPropertyAccessExpression(t)&&"prototype"===t.name.escapedText})),!1);var x=u;switch(e.getAssignmentDeclarationPropertyAccessKind(h.parent)){case 1:case 2:u=e.isExternalOrCommonJsModule(n)?n:void 0;break;case 4:u=h.parent.expression;break;case 3:u=h.parent.expression.name;break;case 5:u=d(n,h.parent.expression)?n:e.isPropertyAccessExpression(h.parent.expression)?h.parent.expression.name:h.parent.expression;break;case 0:return e.Debug.fail("Shouldn't have detected typedef or enum on non-assignment declaration")}u&&U(p,524288,788968),u=x}}else e.isJSDocEnumTag(p)||!p.fullName||78===p.fullName.kind?(s=p.parent,Pe(p,524288,788968)):Be(p.fullName)}u=t,g=r,f=i,s=a,v=o}}()),n=void 0,i=void 0,o=void 0,s=void 0,u=void 0,p=void 0,f=void 0,g=void 0,m=void 0,y=!1,v=void 0,h=void 0,D=void 0,x=void 0,b=void 0,S=void 0,E=void 0,C=void 0,k=!1,w=!1,A=0};function B(e,t){return I++,new N(e,t)}function j(t,r,n){t.flags|=n,r.symbol=t,t.declarations=e.appendIfUnique(t.declarations,r),1955&n&&!t.exports&&(t.exports=e.createSymbolTable()),6240&n&&!t.members&&(t.members=e.createSymbolTable()),t.constEnumOnlyModule&&304&t.flags&&(t.constEnumOnlyModule=!1),111551&n&&e.setValueDeclaration(t,r)}function J(t){if(267===t.kind)return t.isExportEquals?"export=":"default";var r=e.getNameOfDeclaration(t);if(r){if(e.isAmbientModule(t)){var n=e.getTextOfIdentifierOrLiteral(r);return e.isGlobalScopeAugmentation(t)?"__global":'"'+n+'"'}if(159===r.kind){var i=r.expression;if(e.isStringOrNumericLiteralLike(i))return e.escapeLeadingUnderscores(i.text);if(e.isSignedNumericLiteral(i))return e.tokenToString(i.operator)+i.operand.text;e.Debug.fail("Only computed properties with literal names have declaration names")}if(e.isPrivateIdentifier(r)){var a=e.getContainingClass(t);if(!a)return;var o=a.symbol;return e.getSymbolNameForPrivateIdentifier(o,r.escapedText)}return e.isPropertyNameLiteral(r)?e.getEscapedTextOfIdentifierOrLiteral(r):void 0}switch(t.kind){case 167:return"__constructor";case 175:case 170:case 315:return"__call";case 176:case 171:return"__new";case 172:return"__index";case 268:return"__export";case 298:return"export=";case 217:if(2===e.getAssignmentDeclarationKind(t))return"export=";e.Debug.fail("Unknown binary declaration kind");break;case 309:return e.isJSDocConstructSignature(t)?"__new":"__call";case 161:return e.Debug.assert(309===t.parent.kind,"Impossible parameter parent kind",(function(){return"parent is: "+(e.SyntaxKind?e.SyntaxKind[t.parent.kind]:t.parent.kind)+", expected JSDocFunctionType"})),"arg"+t.parent.parameters.indexOf(t)}}function K(t){return e.isNamedDeclaration(t)?e.declarationNameToString(t.name):e.unescapeLeadingUnderscores(e.Debug.checkDefined(J(t)))}function z(r,i,a,o,s,c){e.Debug.assert(!e.hasDynamicName(a));var u,l=e.hasSyntacticModifier(a,512)||e.isExportSpecifier(a)&&"default"===a.name.escapedText,d=l&&i?"default":J(a);if(void 0===d)u=B(0,"__missing");else if(u=r.get(d),2885600&o&&P.add(d),u){if(c&&!u.isReplaceableByMethod)return u;if(u.flags&s)if(u.isReplaceableByMethod)r.set(d,u=B(0,d));else if(!(3&o&&67108864&u.flags)){e.isNamedDeclaration(a)&&e.setParent(a.name,a);var _=2&u.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,p=!0;(384&u.flags||384&o)&&(_=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,p=!1);var f=!1;e.length(u.declarations)&&(l||u.declarations&&u.declarations.length&&267===a.kind&&!a.isExportEquals)&&(_=e.Diagnostics.A_module_cannot_have_multiple_default_exports,p=!1,f=!0);var g=[];e.isTypeAliasDeclaration(a)&&e.nodeIsMissing(a.type)&&e.hasSyntacticModifier(a,1)&&2887656&u.flags&&g.push(R(a,e.Diagnostics.Did_you_mean_0,"export type { "+e.unescapeLeadingUnderscores(a.name.escapedText)+" }"));var m=e.getNameOfDeclaration(a)||a;e.forEach(u.declarations,(function(t,r){var i=e.getNameOfDeclaration(t)||t,a=R(i,_,p?K(t):void 0);n.bindDiagnostics.push(f?e.addRelatedInfo(a,R(m,0===r?e.Diagnostics.Another_export_default_is_here:e.Diagnostics.and_here)):a),f&&g.push(R(i,e.Diagnostics.The_first_export_default_is_here))}));var y=R(m,_,p?K(a):void 0);n.bindDiagnostics.push(e.addRelatedInfo.apply(void 0,t([y],g))),u=B(0,d)}}else r.set(d,u=B(0,d)),c&&(u.isReplaceableByMethod=!0);return j(u,a,o),u.parent?e.Debug.assert(u.parent===i,"Existing symbol parent should match new one"):u.parent=i,u}function U(t,r,n){var i=!!(1&e.getCombinedModifierFlags(t))||function(t){t.parent&&e.isModuleDeclaration(t)&&(t=t.parent);if(!e.isJSDocTypeAlias(t))return!1;if(!e.isJSDocEnumTag(t)&&t.fullName)return!0;var r=e.getNameOfDeclaration(t);return!!r&&(!(!e.isPropertyAccessEntityNameExpression(r.parent)||!et(r.parent))||!!(e.isDeclaration(r.parent)&&1&e.getCombinedModifierFlags(r.parent)))}(t);if(2097152&r)return 271===t.kind||261===t.kind&&i?z(u.symbol.exports,u.symbol,t,r,n):z(u.locals,void 0,t,r,n);if(e.isJSDocTypeAlias(t)&&e.Debug.assert(e.isInJSFile(t)),!e.isAmbientModule(t)&&(i||64&u.flags)){if(!u.locals||e.hasSyntacticModifier(t,512)&&!J(t))return z(u.symbol.exports,u.symbol,t,r,n);var a=111551&r?1048576:0,o=z(u.locals,void 0,t,a,n);return o.exportSymbol=z(u.symbol.exports,u.symbol,t,r,n),t.localSymbol=o,o}return z(u.locals,void 0,t,r,n)}function V(e){q(e,(function(e){return 252===e.kind?Be(e):void 0})),q(e,(function(e){return 252!==e.kind?Be(e):void 0}))}function q(t,r){void 0===r&&(r=Be),void 0!==t&&e.forEach(t,r)}function W(t){e.forEachChild(t,Be,q)}function H(t){var r=w;if(w=!1,function(t){if(!(1&v.flags))return!1;if(v===O){if((e.isStatementButNotDeclaration(t)&&232!==t.kind||253===t.kind||257===t.kind&&function(t){var r=a(t);return 1===r||2===r&&e.shouldPreserveConstEnums(i)}(t))&&(v=M,!i.allowUnreachableCode)){var r=e.unreachableCodeIsError(i)&&!(8388608&t.flags)&&(!e.isVariableStatement(t)||!!(3&e.getCombinedNodeFlags(t.declarationList))||t.declarationList.declarations.some((function(e){return!!e.initializer})));!function(t,r){if(e.isStatement(t)&&l(t)&&e.isBlock(t.parent)){var n=t.parent.statements,i=e.sliceAfter(n,t);e.getRangesWhere(i,l,(function(e,t){return r(i[e],i[t-1])}))}else r(t,t)}(t,(function(t,n){return Re(r,t,n,e.Diagnostics.Unreachable_code_detected)}))}}return!0}(t))return W(t),je(t),void(w=r);switch(t.kind>=233&&t.kind<=249&&!i.allowUnreachableCode&&(t.flowNode=v),t.kind){case 237:!function(e){var t=ge(e,ee()),r=Z(),n=Z();ne(t,v),v=t,pe(e.expression,r,n),v=ce(r),fe(e.statement,n,t),ne(t,v),v=ce(n)}(t);break;case 236:!function(e){var t=ee(),r=ge(e,Z()),n=Z();ne(t,v),v=t,fe(e.statement,n,r),ne(r,v),v=ce(r),pe(e.expression,t,n),v=ce(n)}(t);break;case 238:!function(e){var t=ge(e,ee()),r=Z(),n=Z();Be(e.initializer),ne(t,v),v=t,pe(e.condition,r,n),v=ce(r),fe(e.statement,n,t),Be(e.incrementor),ne(t,v),v=ce(n)}(t);break;case 239:case 240:!function(e){var t=ge(e,ee()),r=Z();Be(e.expression),ne(t,v),v=t,240===e.kind&&Be(e.awaitModifier);ne(r,v),Be(e.initializer),251!==e.initializer.kind&&he(e.initializer);fe(e.statement,r,t),ne(t,v),v=ce(r)}(t);break;case 235:!function(e){var t=Z(),r=Z(),n=Z();pe(e.expression,t,r),v=ce(t),Be(e.thenStatement),ne(n,v),v=ce(r),Be(e.elseStatement),ne(n,v),v=ce(n)}(t);break;case 243:case 247:!function(e){Be(e.expression),243===e.kind&&(k=!0,x&&ne(x,v));v=O}(t);break;case 242:case 241:!function(e){if(Be(e.label),e.label){var t=function(e){for(var t=C;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,me(e,t.breakTarget,t.continueTarget))}else me(e,h,D)}(t);break;case 248:!function(t){var r=x,n=E,i=Z(),a=Z(),o=Z();t.finallyBlock&&(x=a);ne(o,v),E=o,Be(t.tryBlock),ne(i,v),t.catchClause&&(v=ce(o),ne(o=Z(),v),E=o,Be(t.catchClause),ne(i,v));if(x=r,E=n,t.finallyBlock){var s=Z();s.antecedents=e.concatenate(e.concatenate(i.antecedents,o.antecedents),a.antecedents),v=s,Be(t.finallyBlock),1&v.flags?v=O:(x&&a.antecedents&&ne(x,te(s,a.antecedents,v)),E&&o.antecedents&&ne(E,te(s,o.antecedents,v)),v=i.antecedents?te(s,i.antecedents,v):O)}else v=ce(i)}(t);break;case 245:!function(t){var r=Z();Be(t.expression);var n=h,i=T;h=r,T=v,Be(t.caseBlock),ne(r,v);var a=e.forEach(t.caseBlock.clauses,(function(e){return 286===e.kind}));t.possiblyExhaustive=!a&&!r.antecedents,a||ne(r,ae(T,t,0,0));h=n,T=i,v=ce(r)}(t);break;case 259:!function(e){for(var t=e.clauses,r=G(e.parent.expression),n=O,a=0;a=116&&t.originalKeywordKind<=124?n.bindDiagnostics.push(R(t,function(t){if(e.getContainingClass(t))return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(n.externalModuleIndicator)return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(t),e.declarationNameToString(t))):130===t.originalKeywordKind?e.isExternalModule(n)&&e.isInTopLevelContext(t)?n.bindDiagnostics.push(R(t,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(t))):32768&t.flags&&n.bindDiagnostics.push(R(t,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(t))):124===t.originalKeywordKind&&8192&t.flags&&n.bindDiagnostics.push(R(t,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(t))))}function Ie(t,r){if(r&&78===r.kind){var i=r;if(function(t){return e.isIdentifier(t)&&("eval"===t.escapedText||"arguments"===t.escapedText)}(i)){var a=e.getErrorSpanForNode(n,r);n.bindDiagnostics.push(e.createFileDiagnostic(n,a.start,a.length,function(t){if(e.getContainingClass(t))return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode;if(n.externalModuleIndicator)return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Invalid_use_of_0_in_strict_mode}(t),e.idText(i)))}}}function Oe(e){F&&Ie(e,e.name)}function Me(t){if(o<2&&298!==f.kind&&257!==f.kind&&!e.isFunctionLike(f)){var r=e.getErrorSpanForNode(n,t);n.bindDiagnostics.push(e.createFileDiagnostic(n,r.start,r.length,function(t){return e.getContainingClass(t)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:n.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(t)))}}function Le(t,r,i,a,o){var s=e.getSpanOfTokenAtPosition(n,t.pos);n.bindDiagnostics.push(e.createFileDiagnostic(n,s.start,s.length,r,i,a,o))}function Re(t,i,a,o){!function(t,i,a){var o=e.createFileDiagnostic(n,i.pos,i.end-i.pos,a);t?n.bindDiagnostics.push(o):n.bindSuggestionDiagnostics=e.append(n.bindSuggestionDiagnostics,r(r({},o),{category:e.DiagnosticCategory.Suggestion}))}(t,{pos:e.getTokenPosOfNode(i,n),end:a.end},o)}function Be(t){if(t){e.setParent(t,s);var r=F;if(ze(t),t.kind>157){var n=s;s=t;var i=Te(t);0===i?H(t):function(t,r){var n=u,i=p,a=f;if(1&r?(210!==t.kind&&(p=u),u=f=t,32&r&&(u.locals=e.createSymbolTable()),Ce(u)):2&r&&((f=t).locals=void 0),4&r){var o=v,s=h,l=D,d=x,_=E,g=C,m=k,b=16&r&&!e.hasSyntacticModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);b||(v=c({flags:2}),144&r&&(v.node=t)),x=b||167===t.kind||e.isInJSFile(t)&&(252===t.kind||209===t.kind)?Z():void 0,E=void 0,h=void 0,D=void 0,C=void 0,k=!1,H(t),t.flags&=-2817,!(1&v.flags)&&8&r&&e.nodeIsPresent(t.body)&&(t.flags|=256,k&&(t.flags|=512),t.endFlowNode=v),298===t.kind&&(t.flags|=A,t.endFlowNode=v),x&&(ne(x,v),v=ce(x),(167===t.kind||e.isInJSFile(t)&&(252===t.kind||209===t.kind))&&(t.returnFlowNode=v)),b||(v=o),h=s,D=l,x=d,E=_,C=g,k=m}else 64&r?(y=!1,H(t),t.flags=y?128|t.flags:-129&t.flags):H(t);u=n,p=i,f=a}(t,i),s=n}else{n=s;1===t.kind&&(s=t),je(t),s=n}F=r}}function je(t){if(e.hasJSDocNodes(t))if(e.isInJSFile(t))for(var r=0,n=t.jsDoc;r=2&&(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement))&&Le(t.label,e.Diagnostics.A_label_is_not_allowed_here)}(t);case 188:return void(y=!0);case 173:break;case 160:return function(t){if(e.isJSDocTemplateTag(t.parent)){var r=e.find(t.parent.parent.tags,e.isJSDocTypeAlias)||e.getHostSignatureFromJSDoc(t.parent);r?(r.locals||(r.locals=e.createSymbolTable()),z(r.locals,void 0,t,262144,526824)):ke(t,262144,526824)}else if(186===t.parent.kind){var n=function(t){var r=e.findAncestor(t,(function(t){return t.parent&&e.isConditionalTypeNode(t.parent)&&t.parent.extendsType===t}));return r&&r.parent}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),z(n.locals,void 0,t,262144,526824)):Ne(t,262144,J(t))}else ke(t,262144,526824)}(t);case 161:return at(t);case 250:return it(t);case 199:return t.flowNode=v,it(t);case 164:case 163:return function(e){return ot(e,4|(e.questionToken?16777216:0),0)}(t);case 289:case 290:return ot(t,4,0);case 292:return ot(t,8,900095);case 170:case 171:case 172:return ke(t,131072,0);case 166:case 165:return ot(t,8192|(t.questionToken?16777216:0),e.isObjectLiteralMethod(t)?0:103359);case 252:return function(t){n.isDeclarationFile||8388608&t.flags||e.isAsyncFunction(t)&&(A|=2048);Oe(t),F?(Me(t),Pe(t,16,110991)):ke(t,16,110991)}(t);case 167:return ke(t,16384,0);case 168:return ot(t,32768,46015);case 169:return ot(t,65536,78783);case 175:case 309:case 315:case 176:return function(t){var r=B(131072,J(t));j(r,t,131072);var n=B(2048,"__type");j(n,t,2048),n.members=e.createSymbolTable(),n.members.set(r.escapedName,r)}(t);case 178:case 314:case 191:return function(e){return Ne(e,2048,"__type")}(t);case 322:return function(t){W(t);var r=e.getHostSignatureFromJSDoc(t);r&&166!==r.kind&&j(r.symbol,r,32)}(t);case 201:return function(t){var r;if(function(e){e[e.Property=1]="Property",e[e.Accessor=2]="Accessor"}(r||(r={})),F&&!e.isAssignmentTarget(t))for(var i=new e.Map,a=0,o=t.properties;a1&&2097152&v.flags&&(n=e.createSymbolTable()).set("export=",v);return O(n),C(l);function h(e){return!!e&&78===e.kind}function x(t){return e.isVariableStatement(t)?e.filter(e.map(t.declarationList.declarations,e.getNameOfDeclaration),h):e.filter([e.getNameOfDeclaration(t)],h)}function b(r){var n=e.find(r,e.isExportAssignment),i=e.findIndex(r,e.isModuleDeclaration),a=-1!==i?r[i]:void 0;if(a&&n&&n.isExportEquals&&e.isIdentifier(n.expression)&&e.isIdentifier(a.name)&&e.idText(a.name)===e.idText(n.expression)&&a.body&&e.isModuleBlock(a.body)){var o=e.filter(r,(function(t){return!!(1&e.getEffectiveModifierFlags(t))})),s=a.name,c=a.body;if(e.length(o)&&(a=e.factory.updateModuleDeclaration(a,a.decorators,a.modifiers,a.name,c=e.factory.updateModuleBlock(c,e.factory.createNodeArray(t(t([],a.body.statements),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(o,(function(e){return x(e)})),(function(t){return e.factory.createExportSpecifier(void 0,t)}))),void 0)])))),r=t(t(t([],r.slice(0,i)),[a]),r.slice(i+1))),!e.find(r,(function(t){return t!==a&&e.nodeHasName(t,s)}))){l=[];var u=!e.some(c.statements,(function(t){return e.hasSyntacticModifier(t,1)||e.isExportAssignment(t)||e.isExportDeclaration(t)}));e.forEach(c.statements,(function(e){q(e,u?1:0)})),r=t(t([],e.filter(r,(function(e){return e!==a&&e!==n}))),l)}}return r}function S(r){var n=e.filter(r,(function(t){return e.isExportDeclaration(t)&&!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(n)>1){var i=e.filter(r,(function(t){return!e.isExportDeclaration(t)||!!t.moduleSpecifier||!t.exportClause}));r=t(t([],i),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),void 0)])}var a=e.filter(r,(function(t){return e.isExportDeclaration(t)&&!!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(a)>1){var o=e.group(a,(function(t){return e.isStringLiteral(t.moduleSpecifier)?">"+t.moduleSpecifier.text:">"}));if(o.length!==a.length)for(var s=function(n){n.length>1&&(r=t(t([],e.filter(r,(function(e){return-1===n.indexOf(e)}))),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),n[0].moduleSpecifier)]))},c=0,u=o;c=0){var n=t[r],i=e.mapDefined(n.exportClause.elements,(function(r){if(!r.propertyName){var n=e.indicesOf(t),i=e.filter(n,(function(n){return e.nodeHasName(t[n],r.name)}));if(e.length(i)&&e.every(i,(function(e){return k(t[e])}))){for(var a=0,o=i;a0&&e.isSingleOrDoubleQuote(a.charCodeAt(0))?e.stripQuotes(a):a}return"default"===r?r="_default":"export="===r&&(r="_exports"),r=e.isIdentifierText(r,z)&&!e.isStringANonContextualKeyword(r)?r:"_"+r.replace(/[^a-zA-Z0-9]/g,"_")}function ye(e,t){var r=M(e);return i.remappedSymbolNames.has(r)?i.remappedSymbolNames.get(r):(t=me(e,t),i.remappedSymbolNames.set(r,t),t)}}(n,i,u)}))}};function i(t,r,i,a){var o,s;e.Debug.assert(void 0===t||0==(8&t.flags));var c={enclosingDeclaration:t,flags:r||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:134217728&r?{getCommonSourceDirectory:n.getCommonSourceDirectory?function(){return n.getCommonSourceDirectory()}:function(){return""},getSourceFiles:function(){return n.getSourceFiles()},getCurrentDirectory:function(){return n.getCurrentDirectory()},getSymlinkCache:e.maybeBind(n,n.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(n,n.useCaseSensitiveFileNames),redirectTargetsMap:n.redirectTargetsMap,getProjectReferenceRedirect:function(e){return n.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return n.isSourceOfProjectReferenceRedirect(e)},fileExists:function(e){return n.fileExists(e)},getFileIncludeReasons:function(){return n.getFileIncludeReasons()}}:void 0},encounteredError:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0},u=a(c);return c.truncating&&1&c.flags&&(null===(s=null===(o=c.tracker)||void 0===o?void 0:o.reportTruncationError)||void 0===s||s.call(o)),c.encounteredError?void 0:u}function a(t){return t.truncating?t.truncating:t.truncating=t.approximateLength>(1&t.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function s(t,r){o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();var n=8388608&r.flags;if(r.flags&=-8388609,!t)return 262144&r.flags?(r.approximateLength+=3,e.factory.createKeywordTypeNode(128)):void(r.encounteredError=!0);if(536870912&r.flags||(t=Dc(t)),1&t.flags)return r.approximateLength+=3,e.factory.createKeywordTypeNode(t===Fe?136:128);if(2&t.flags)return e.factory.createKeywordTypeNode(152);if(4&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(8&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(144);if(64&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(155);if(16&t.flags)return r.approximateLength+=7,e.factory.createKeywordTypeNode(131);if(1024&t.flags&&!(1048576&t.flags)){var i=wi(t.symbol),c=T(i,r,788968);if(Xo(i)===t)return c;var l=e.symbolName(t.symbol);return e.isIdentifierText(l,0)?V(c,e.factory.createTypeReferenceNode(l,void 0)):e.isImportTypeNode(c)?(c.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(c,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(l)))):e.isTypeReferenceNode(c)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(c.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(l))):e.Debug.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}if(1056&t.flags)return T(t.symbol,r,788968);if(128&t.flags)return r.approximateLength+=t.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(t.value,!!(268435456&r.flags)),16777216));if(256&t.flags){var m=t.value;return r.approximateLength+=(""+m).length,e.factory.createLiteralTypeNode(m<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-m)):e.factory.createNumericLiteral(m))}if(2048&t.flags)return r.approximateLength+=e.pseudoBigIntToString(t.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(t.value));if(512&t.flags)return r.approximateLength+=t.intrinsicName.length,e.factory.createLiteralTypeNode("true"===t.intrinsicName?e.factory.createTrue():e.factory.createFalse());if(8192&t.flags){if(!(1048576&r.flags)){if(ta(t.symbol,r.enclosingDeclaration))return r.approximateLength+=6,T(t.symbol,r,111551);r.tracker.reportInaccessibleUniqueSymbolError&&r.tracker.reportInaccessibleUniqueSymbolError()}return r.approximateLength+=13,e.factory.createTypeOperatorNode(151,e.factory.createKeywordTypeNode(148))}if(16384&t.flags)return r.approximateLength+=4,e.factory.createKeywordTypeNode(113);if(32768&t.flags)return r.approximateLength+=9,e.factory.createKeywordTypeNode(150);if(65536&t.flags)return r.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&t.flags)return r.approximateLength+=5,e.factory.createKeywordTypeNode(141);if(4096&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(67108864&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(145);if(Ql(t))return 4194304&r.flags&&(r.encounteredError||32768&r.flags||(r.encounteredError=!0),r.tracker.reportInaccessibleThisError&&r.tracker.reportInaccessibleThisError()),r.approximateLength+=4,e.factory.createThisTypeNode();if(!n&&t.aliasSymbol&&(16384&r.flags||ea(t.aliasSymbol,r.enclosingDeclaration))){var y=_(t.aliasTypeArguments,r);return!Wi(t.aliasSymbol.escapedName)||32&t.aliasSymbol.flags?T(t.aliasSymbol,r,788968,y):e.factory.createTypeReferenceNode(e.factory.createIdentifier(""),y)}var v=e.getObjectFlags(t);if(4&v)return e.Debug.assert(!!(524288&t.flags)),t.node?K(t,U):U(t);if(262144&t.flags||3&v){if(262144&t.flags&&e.contains(r.inferTypeParameters,t))return r.approximateLength+=e.symbolName(t.symbol).length+6,e.factory.createInferTypeNode(g(t,r,void 0));if(4&r.flags&&262144&t.flags&&!ea(t.symbol,r.enclosingDeclaration)){var h=k(t,r);return r.approximateLength+=e.idText(h).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(h)),void 0)}return t.symbol?T(t.symbol,r,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier("?"),void 0)}if(1048576&t.flags&&t.origin&&(t=t.origin),3145728&t.flags){var D=1048576&t.flags?function(e){for(var t=[],r=0,n=0;n0?1048576&t.flags?e.factory.createUnionTypeNode(x):e.factory.createIntersectionTypeNode(x):void(r.encounteredError||262144&r.flags||(r.encounteredError=!0))}if(48&v)return e.Debug.assert(!!(524288&t.flags)),J(t);if(4194304&t.flags){var b=t.type;r.approximateLength+=6;var S=s(b,r);return e.factory.createTypeOperatorNode(138,S)}if(134217728&t.flags){var E=t.texts,C=t.types,A=e.factory.createTemplateHead(E[0]),F=e.factory.createNodeArray(e.map(C,(function(t,n){return e.factory.createTemplateLiteralTypeSpan(s(t,r),(n10)return u(r);r.symbolDepth.set(s,i+1)}r.visitedTypes.add(a);var c=n(t);return r.visitedTypes.delete(a),s&&r.symbolDepth.set(s,i),c}function z(t){if(Xs(t)||t.containsError)return function(t){e.Debug.assert(!!(524288&t.flags));var n,i=t.declaration.readonlyToken?e.factory.createToken(t.declaration.readonlyToken.kind):void 0,a=t.declaration.questionToken?e.factory.createToken(t.declaration.questionToken.kind):void 0;n=qs(t)?e.factory.createTypeOperatorNode(138,s(Ws(t),r)):s(Ks(t),r);var o=g(Js(t),r,n),c=t.declaration.nameType?s(zs(t),r):void 0,u=s(Us(t),r),l=e.factory.createMappedTypeNode(i,o,c,a,u);return r.approximateLength+=10,e.setEmitFlags(l,1)}(t);var n=$s(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length)return r.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(1===n.callSignatures.length&&!n.constructSignatures.length)return f(n.callSignatures[0],175,r);if(1===n.constructSignatures.length&&!n.callSignatures.length)return f(n.constructSignatures[0],176,r)}var i=e.filter(n.constructSignatures,(function(e){return!!(4&e.flags)}));if(e.some(i)){var o=e.map(i,ou);return n.callSignatures.length+(n.constructSignatures.length-i.length)+(n.stringIndexInfo?1:0)+(n.numberIndexInfo?1:0)+(2048&r.flags?e.countWhere(n.properties,(function(e){return!(4194304&e.flags)})):e.length(n.properties))&&o.push(function(t){if(0===t.constructSignatures.length)return t;if(t.objectTypeWithoutAbstractConstructSignatures)return t.objectTypeWithoutAbstractConstructSignatures;var r=e.filter(t.constructSignatures,(function(e){return!(4&e.flags)}));if(t.constructSignatures===r)return t;var n=Yi(t.symbol,t.members,t.callSignatures,e.some(r)?r:e.emptyArray,t.stringIndexInfo,t.numberIndexInfo);return t.objectTypeWithoutAbstractConstructSignatures=n,n.objectTypeWithoutAbstractConstructSignatures=n,n}(n)),s(Al(o),r)}var c=r.flags;r.flags|=4194304;var l=function(t){if(a(r))return[e.factory.createPropertySignature(void 0,"...",void 0,void 0)];for(var n=[],i=0,o=t.callSignatures;i0){var v=(t.target.typeParameters||e.emptyArray).length;y=_(n.slice(b,v),r)}S=r.flags;r.flags|=16;var h=T(t.symbol,r,788968,y);return r.flags=S,u?V(u,h):h}if(n.length>0){var D=Su(t),x=_(n.slice(0,D),r);if(x){if(t.target.labeledElementDeclarations)for(var b=0;b2)return[s(t[0],r),e.factory.createTypeReferenceNode("... "+(t.length-2)+" more ...",void 0),s(t[t.length-1],r)]}for(var i=!(64&r.flags)?e.createUnderscoreEscapedMultiMap():void 0,o=[],c=0,u=0,l=t;u0)),a}function x(t,r){var n;return 524384&Pb(t).flags&&(n=e.factory.createNodeArray(e.map(No(t),(function(e){return m(e,r)})))),n}function b(t,r,n){var i;e.Debug.assert(t&&0<=r&&r1?m(a,a.length-1,1):void 0,c=i||b(a,0,r),u=E(a[0],r);!(67108864&r.flags)&&e.getEmitModuleResolutionKind(A)===e.ModuleResolutionKind.NodeJs&&u.indexOf("/node_modules/")>=0&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(u));var l=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]),r.approximateLength+=u.length+10,!s||e.isEntityName(s)){if(s)(f=e.isIdentifier(s)?s:s.right).typeArguments=void 0;return e.factory.createImportTypeNode(l,s,c,o)}var d=S(s),_=d.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(l,_,c,o),d.indexType)}var p=m(a,a.length-1,0);if(e.isIndexedAccessTypeNode(p))return p;if(o)return e.factory.createTypeQueryNode(p);var f,g=(f=e.isIdentifier(p)?p:p.right).typeArguments;return f.typeArguments=void 0,e.factory.createTypeReferenceNode(p,g);function m(t,n,a){var o,s=n===t.length-1?i:b(t,n,r),c=t[n],u=t[n-1];if(0===n)r.flags|=16777216,o=Ea(c,r),r.approximateLength+=(o?o.length:0)+1,r.flags^=16777216;else if(u&&Ci(u)){var l=Ci(u);e.forEachEntry(l,(function(t,r){if(Li(t,c)&&!cs(r)&&"export="!==r)return o=e.unescapeLeadingUnderscores(r),!0}))}if(o||(o=Ea(c,r)),r.approximateLength+=o.length+1,!(16&r.flags)&&u&&fs(u)&&fs(u).get(c.escapedName)&&Li(fs(u).get(c.escapedName),c)){var d=m(t,n-1,a);return e.isIndexedAccessTypeNode(d)?e.factory.createIndexedAccessTypeNode(d,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(d,s),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o)))}var _=e.setEmitFlags(e.factory.createIdentifier(o,s),16777216);if(_.symbol=c,n>a){d=m(t,n-1,a);return e.isEntityName(d)?e.factory.createQualifiedName(d,_):e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return _}}function C(e,t,r){var n=On(t.enclosingDeclaration,e,788968,void 0,e,!1);return!!n&&!(262144&n.flags&&n===r.symbol)}function k(t,r){var n;if(4&r.flags&&r.typeParameterNames){var i=r.typeParameterNames.get(fl(t));if(i)return i}var a=F(t.symbol,r,788968,!0);if(!(78&a.kind))return e.factory.createIdentifier("(Missing type parameter)");if(4&r.flags){for(var o=a.escapedText,s=0,c=o;(null===(n=r.typeParameterNamesByText)||void 0===n?void 0:n.has(c))||C(c,r,t);)c=o+"_"+ ++s;c!==o&&(a=e.factory.createIdentifier(c,a.typeArguments)),(r.typeParameterNames||(r.typeParameterNames=new e.Map)).set(fl(t),a),(r.typeParameterNamesByText||(r.typeParameterNamesByText=new e.Set)).add(a.escapedText)}return a}function F(t,r,n,i){var a=h(t,r,n);return!i||1===a.length||r.encounteredError||65536&r.flags||(r.encounteredError=!0),function t(n,i){var a=b(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=Ea(o,r);0===i&&(r.flags^=16777216);var c=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return c.symbol=o,i>0?e.factory.createQualifiedName(t(n,i-1),c):c}(a,a.length-1)}function N(t,r,n){var i=h(t,r,n);return function t(n,i){var a=b(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=Ea(o,r);0===i&&(r.flags^=16777216);var c=s.charCodeAt(0);if(e.isSingleOrDoubleQuote(c)&&e.some(o.declarations,ca))return e.factory.createStringLiteral(E(o,r));var u=35===c?s.length>1&&e.isIdentifierStart(s.charCodeAt(1),z):e.isIdentifierStart(c,z);if(0===i||u){var l=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return l.symbol=o,i>0?e.factory.createPropertyAccessExpression(t(n,i-1),l):l}91===c&&(s=s.substring(1,s.length-1),c=s.charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?d=e.factory.createStringLiteral(s.substring(1,s.length-1).replace(/\\./g,(function(e){return e.substring(1)})),39===c):""+ +s===s&&(d=e.factory.createNumericLiteral(+s)),d||((d=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216)).symbol=o),e.factory.createElementAccessExpression(t(n,i-1),d)}(i,i.length-1)}function P(t){var r=e.getNameOfDeclaration(t);return!!r&&e.isStringLiteral(r)}function w(t){var r=e.getNameOfDeclaration(t);return!!(r&&e.isStringLiteral(r)&&(r.singleQuote||!e.nodeIsSynthesized(r)&&e.startsWith(e.getTextOfNode(r,!1),"'")))}function I(t,r){var n=!!e.length(t.declarations)&&e.every(t.declarations,w),i=function(t,r,n){var i=An(t).nameType;if(i){if(384&i.flags){var a=""+i.value;return e.isIdentifierText(a,A.target)||oy(a)?oy(a)&&e.startsWith(a,"-")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+a)):L(a):e.factory.createStringLiteral(a,!!n)}if(8192&i.flags)return e.factory.createComputedPropertyName(N(i.symbol,r,111551))}}(t,r,n);return i||L(e.unescapeLeadingUnderscores(t.escapedName),!!e.length(t.declarations)&&e.every(t.declarations,P),n)}function L(t,r,n){return e.isIdentifierText(t,A.target)?e.factory.createIdentifier(t):!r&&oy(t)&&+t>=0?e.factory.createNumericLiteral(+t):e.factory.createStringLiteral(t,!!n)}function R(t,r){return t.declarations&&e.find(t.declarations,(function(t){return!(!e.getEffectiveTypeAnnotationNode(t)||r&&!e.findAncestor(t,(function(e){return e===r})))}))}function B(t,r){return!(4&e.getObjectFlags(r))||!e.isTypeReferenceNode(t)||e.length(t.typeArguments)>=Jc(r.target.typeParameters)}function j(t,r,n,i,a,o){if(r!==ke&&i){var c=R(n,i);if(c&&!e.isFunctionLikeDeclaration(c)&&!e.isGetAccessorDeclaration(c)){var u=e.getEffectiveTypeAnnotationNode(c);if(Rd(u)===r&&B(u,r)){var l=K(t,u,a,o);if(l)return l}}}var d=t.flags;8192&r.flags&&r.symbol===n&&(!t.enclosingDeclaration||e.some(n.declarations,(function(r){return e.getSourceFileOfNode(r)===e.getSourceFileOfNode(t.enclosingDeclaration)})))&&(t.flags|=1048576);var _=s(r,t);return t.flags=d,_}function J(t,r,n){var i,a,o=!1,s=e.getFirstIdentifier(t);if(e.isInJSFile(t)&&(e.isExportsIdentifier(s)||e.isModuleExportsAccessExpression(s.parent)||e.isQualifiedName(s.parent)&&e.isModuleIdentifier(s.parent.left)&&e.isExportsIdentifier(s.parent.right)))return{introducesError:o=!0,node:t};var c=fi(s,67108863,!0,!0);if(c&&(0!==ia(c,r.enclosingDeclaration,67108863,!1).accessibility?o=!0:(null===(a=null===(i=r.tracker)||void 0===i?void 0:i.trackSymbol)||void 0===a||a.call(i,c,r.enclosingDeclaration,67108863),null==n||n(c)),e.isIdentifier(t))){var u=262144&c.flags?k(Xo(c),r):e.factory.cloneNode(t);return u.symbol=c,{introducesError:o,node:e.setEmitFlags(e.setOriginalNode(u,t),16777216)}}return{introducesError:o,node:t}}function K(t,r,i,a){o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();var c=!1,u=e.getSourceFileOfNode(r),l=e.visitNode(r,(function r(o){if(e.isJSDocAllType(o)||311===o.kind)return e.factory.createKeywordTypeNode(128);if(e.isJSDocUnknownType(o))return e.factory.createKeywordTypeNode(152);if(e.isJSDocNullableType(o))return e.factory.createUnionTypeNode([e.visitNode(o.type,r),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(o))return e.factory.createUnionTypeNode([e.visitNode(o.type,r),e.factory.createKeywordTypeNode(150)]);if(e.isJSDocNonNullableType(o))return e.visitNode(o.type,r);if(e.isJSDocVariadicType(o))return e.factory.createArrayTypeNode(e.visitNode(o.type,r));if(e.isJSDocTypeLiteral(o))return e.factory.createTypeLiteralNode(e.map(o.jsDocPropertyTags,(function(n){var i=e.isIdentifier(n.name)?n.name:n.name.right,a=wa(Rd(o),i.escapedText),c=a&&n.typeExpression&&Rd(n.typeExpression.type)!==a?s(a,t):void 0;return e.factory.createPropertySignature(void 0,i,n.isBracketed||n.typeExpression&&e.isJSDocOptionalType(n.typeExpression.type)?e.factory.createToken(57):void 0,c||n.typeExpression&&e.visitNode(n.typeExpression.type,r)||e.factory.createKeywordTypeNode(128))})));if(e.isTypeReferenceNode(o)&&e.isIdentifier(o.typeName)&&""===o.typeName.escapedText)return e.setOriginalNode(e.factory.createKeywordTypeNode(128),o);if((e.isExpressionWithTypeArguments(o)||e.isTypeReferenceNode(o))&&e.isJSDocIndexSignature(o))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,"x",void 0,e.visitNode(o.typeArguments[0],r))],e.visitNode(o.typeArguments[1],r))]);if(e.isJSDocFunctionType(o)){var l;return e.isJSDocConstructSignature(o)?e.factory.createConstructorTypeNode(o.modifiers,e.visitNodes(o.typeParameters,r),e.mapDefined(o.parameters,(function(t,n){return t.name&&e.isIdentifier(t.name)&&"new"===t.name.escapedText?void(l=t.type):e.factory.createParameterDeclaration(void 0,void 0,g(t),m(t,n),t.questionToken,e.visitNode(t.type,r),void 0)})),e.visitNode(l||o.type,r)||e.factory.createKeywordTypeNode(128)):e.factory.createFunctionTypeNode(e.visitNodes(o.typeParameters,r),e.map(o.parameters,(function(t,n){return e.factory.createParameterDeclaration(void 0,void 0,g(t),m(t,n),t.questionToken,e.visitNode(t.type,r),void 0)})),e.visitNode(o.type,r)||e.factory.createKeywordTypeNode(128))}if(e.isTypeReferenceNode(o)&&e.isInJSDoc(o)&&(!B(o,Rd(o))||Lu(o)||be===Au(ku(o),788968,!0)))return e.setOriginalNode(s(Rd(o),t),o);if(e.isLiteralImportTypeNode(o)){var d=Fn(o).resolvedSymbol;return!e.isInJSDoc(o)||!d||(o.isTypeOf||788968&d.flags)&&e.length(o.typeArguments)>=Jc(No(d))?e.factory.updateImportTypeNode(o,e.factory.updateLiteralTypeNode(o.argument,function(r,i){if(a){if(t.tracker&&t.tracker.moduleResolverHost){var o=eE(r);if(o){var s={getCanonicalFileName:e.createGetCanonicalFileName(!!n.useCaseSensitiveFileNames),getCurrentDirectory:function(){return t.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return t.tracker.moduleResolverHost.getCommonSourceDirectory()}},c=e.getResolvedExternalModuleName(s,o);return e.factory.createStringLiteral(c)}}}else if(t.tracker&&t.tracker.trackExternalModuleSymbolOfImportTypeNode){var u=yi(i,i,void 0);u&&t.tracker.trackExternalModuleSymbolOfImportTypeNode(u)}return i}(o,o.argument.literal)),o.qualifier,e.visitNodes(o.typeArguments,r,e.isTypeNode),o.isTypeOf):e.setOriginalNode(s(Rd(o),t),o)}if(e.isEntityName(o)||e.isEntityNameExpression(o)){var _=J(o,t,i),p=_.introducesError,f=_.node;if(c=c||p,f!==o)return f}u&&e.isTupleTypeNode(o)&&e.getLineAndCharacterOfPosition(u,o.pos).line===e.getLineAndCharacterOfPosition(u,o.end).line&&e.setEmitFlags(o,1);return e.visitEachChild(o,r,e.nullTransformationContext);function g(t){return t.dotDotDotToken||(t.type&&e.isJSDocVariadicType(t.type)?e.factory.createToken(25):void 0)}function m(t,r){return t.name&&e.isIdentifier(t.name)&&"this"===t.name.escapedText?"this":g(t)?"args":"arg"+r}}));if(!c)return l===r?e.setTextRange(e.factory.cloneNode(r),r):l}}(),ne=e.createSymbolTable(),ie=hn(4,"undefined");ie.declarations=[];var ae=hn(1536,"globalThis",8);ae.exports=ne,ae.declarations=[],ne.set(ae.escapedName,ae);var oe,se=hn(4,"arguments"),ce=hn(4,"require"),ue={getNodeCount:function(){return e.sum(n.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(n.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(n.getSourceFiles(),"symbolCount")+h},getTypeCount:function(){return v},getInstantiationCount:function(){return x},getRelationCacheSizes:function(){return{assignable:on.size,identity:cn.size,subtype:nn.size,strictSubtype:an.size}},isUndefinedSymbol:function(e){return e===ie},isArgumentsSymbol:function(e){return e===se},isUnknownSymbol:function(e){return e===be},getMergedSymbol:Ni,getDiagnostics:aS,getGlobalDiagnostics:function(){return oS(),Zr.getGlobalDiagnostics()},getRecursionIdentity:dp,getTypeOfSymbolAtLocation:function(t,r){var n=e.getParseTreeNode(r);return n?function(t,r){if(t=t.exportSymbol||t,(78===r.kind||79===r.kind)&&(e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),e.isExpressionNode(r)&&(!e.isAssignmentTarget(r)||e.isWriteAccess(r)))){var n=PD(r);if(Ri(Fn(r).resolvedSymbol)===t)return n}if(e.isDeclarationName(r)&&e.isSetAccessor(r.parent)&&_o(r.parent))return mo(r.parent.symbol,!0);return So(t)}(t,n):ke},getSymbolsOfParameterPropertyDeclaration:function(t,r){var n=e.getParseTreeNode(t,e.isParameter);return void 0===n?e.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):function(t,r){var n=t.parent,i=t.parent.parent,a=Pn(n.locals,r,111551),o=Pn(fs(i.symbol),r,111551);if(a&&o)return[a,o];return e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(n,e.escapeLeadingUnderscores(r))},getDeclaredTypeOfSymbol:Xo,getPropertiesOfType:tc,getPropertyOfType:function(t,r){return Tc(t,e.escapeLeadingUnderscores(r))},getPrivateIdentifierPropertyOfType:function(t,r,n){var i=e.getParseTreeNode(n);if(i){var a=Yy(e.escapeLeadingUnderscores(r),i);return a?Xy(t,a):void 0}},getTypeOfPropertyOfType:function(t,r){return wa(t,e.escapeLeadingUnderscores(r))},getIndexInfoOfType:Nc,getSignaturesOfType:kc,getIndexTypeOfType:Pc,getBaseTypes:Bo,getBaseTypeOfLiteralType:Fp,getWidenedType:cf,getTypeFromTypeNode:function(t){var r=e.getParseTreeNode(t,e.isTypeNode);return r?Rd(r):ke},getParameterType:Th,getPromisedTypeOfPromise:rx,getAwaitedType:function(e){return ix(e)},getReturnTypeOfSignature:Xc,isNullableType:jy,getNullableType:qp,getNonNullableType:Hp,getNonOptionalType:Xp,getTypeArguments:bu,typeToTypeNode:re.typeToTypeNode,indexInfoToIndexSignatureDeclaration:re.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:re.signatureToSignatureDeclaration,symbolToEntityName:re.symbolToEntityName,symbolToExpression:re.symbolToExpression,symbolToTypeParameterDeclarations:re.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:re.symbolToParameterDeclaration,typeParameterToDeclaration:re.typeParameterToDeclaration,getSymbolsInScope:function(t,r){var n=e.getParseTreeNode(t);return n?function(t,r){if(16777216&t.flags)return[];var n=e.createSymbolTable(),i=!1;return a(),n.delete("this"),Oc(n);function a(){for(;t;){switch(t.locals&&!Nn(t)&&s(t.locals,r),t.kind){case 298:if(!e.isExternalModule(t))break;case 257:c(Pi(t).exports,2623475&r);break;case 256:s(Pi(t).exports,8&r);break;case 222:t.name&&o(t.symbol,r);case 253:case 254:i||s(fs(Pi(t)),788968&r);break;case 209:t.name&&o(t.symbol,r)}e.introducesArgumentsExoticObject(t)&&o(se,r),i=e.hasSyntacticModifier(t,32),t=t.parent}s(ne,r)}function o(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;n.has(i)||n.set(i,t)}}function s(e,t){t&&e.forEach((function(e){o(e,t)}))}function c(t,r){r&&t.forEach((function(t){e.getDeclarationOfKind(t,271)||e.getDeclarationOfKind(t,270)||o(t,r)}))}}(n,r):[]},getSymbolAtLocation:function(t){var r=e.getParseTreeNode(t);return r?pS(r,!0):void 0},getShorthandAssignmentValueSymbol:function(t){var r=e.getParseTreeNode(t);return r?function(e){if(e&&290===e.kind)return fi(e.name,2208703);return}(r):void 0},getExportSpecifierLocalTargetSymbol:function(t){var r=e.getParseTreeNode(t,e.isExportSpecifier);return r?function(t){return e.isExportSpecifier(t)?t.parent.parent.moduleSpecifier?Zn(t.parent.parent,t):fi(t.propertyName||t.name,2998271):fi(t,2998271)}(r):void 0},getExportSymbolOfSymbol:function(e){return Ni(e.exportSymbol||e)},getTypeAtLocation:function(t){var r=e.getParseTreeNode(t);return r?fS(r):ke},getTypeOfAssignmentPattern:function(t){var r=e.getParseTreeNode(t,e.isAssignmentPattern);return r&&gS(r)||ke},getPropertySymbolOfDestructuringAssignment:function(t){var r=e.getParseTreeNode(t,e.isIdentifier);return r?function(t){var r=gS(e.cast(t.parent.parent,e.isAssignmentPattern));return r&&Tc(r,t.escapedText)}(r):void 0},signatureToString:function(t,r,n,i){return _a(t,e.getParseTreeNode(r),n,i)},typeToString:function(t,r,n){return pa(t,e.getParseTreeNode(r),n)},symbolToString:function(t,r,n,i){return da(t,e.getParseTreeNode(r),n,i)},typePredicateToString:function(t,r,n){return ha(t,e.getParseTreeNode(r),n)},writeSignature:function(t,r,n,i,a){return _a(t,e.getParseTreeNode(r),n,i,a)},writeType:function(t,r,n,i){return pa(t,e.getParseTreeNode(r),n,i)},writeSymbol:function(t,r,n,i,a){return da(t,e.getParseTreeNode(r),n,i,a)},writeTypePredicate:function(t,r,n,i){return ha(t,e.getParseTreeNode(r),n,i)},getAugmentedPropertiesOfType:hS,getRootSymbols:function t(r){var n=function(t){if(6&e.getCheckFlags(t))return e.mapDefined(An(t).containingType.types,(function(e){return Tc(e,t.escapedName)}));if(33554432&t.flags){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(function(e){var t,r=e;for(;r=An(r).target;)t=r;return t}(t))}return}(r);return n?e.flatMap(n,t):[r]},getSymbolOfExpando:ch,getContextualType:function(t,r){var n=e.getParseTreeNode(t,e.isExpression);if(n){var i=e.findAncestor(n,e.isCallLikeExpression),a=i&&Fn(i).resolvedSignature;if(4&r&&i){var o=n;do{Fn(o).skipDirectInference=!0,o=o.parent}while(o&&o!==i);Fn(i).resolvedSignature=void 0}var s=Wm(n,r);if(4&r&&i){o=n;do{Fn(o).skipDirectInference=void 0,o=o.parent}while(o&&o!==i);Fn(i).resolvedSignature=a}return s}},getContextualTypeForObjectLiteralElement:function(t){var r=e.getParseTreeNode(t,e.isObjectLiteralElementLike);return r?Rm(r):void 0},getContextualTypeForArgumentAtIndex:function(t,r){var n=e.getParseTreeNode(t,e.isCallLikeExpression);return n&&Pm(n,r)},getContextualTypeForJsxAttribute:function(t){var r=e.getParseTreeNode(t,e.isJsxAttributeLike);return r&&Jm(r)},isContextSensitive:__,getTypeOfPropertyOfContextualType:Mm,getFullyQualifiedName:pi,getResolvedSignature:function(e,t,r){return le(e,t,r,0)},getResolvedSignatureForSignatureHelp:function(e,t,r){return le(e,t,r,16)},getExpandedParameters:bs,hasEffectiveRestParameter:Nh,getConstantValue:function(t){var r=e.getParseTreeNode(t,JS);return r?KS(r):void 0},isValidPropertyAccess:function(t,r){var n=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!n&&function(e,t){switch(e.kind){case 202:return dv(e,105===e.expression.kind,t,cf(OD(e.expression)));case 158:return dv(e,!1,t,cf(OD(e.left)));case 196:return dv(e,!1,t,Rd(e))}}(n,e.escapeLeadingUnderscores(r))},isValidPropertyAccessForCompletions:function(t,r,n){var i=e.getParseTreeNode(t,e.isPropertyAccessExpression);return!!i&&lv(i,r,n)},getSignatureFromDeclaration:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?zc(r):void 0},isImplementationOfOverload:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?IS(r):void 0},getImmediateAliasedSymbol:uy,getAliasedSymbol:oi,getEmitResolver:function(e,t){return aS(e,t),te},getExportsOfModule:Si,getExportsAndPropertiesOfModule:function(t){var r=Si(t),n=Di(t);if(n!==t){var i=So(n);Ti(i)&&e.addRange(r,tc(i))}return r},getSymbolWalker:e.createGetSymbolWalker((function(e){return Zc(e)||Ee}),Gc,Xc,Bo,$s,So,Hf,Fc,nc,e.getFirstIdentifier,bu),getAmbientModules:function(){mt||(mt=[],ne.forEach((function(e,t){c.test(t)&&mt.push(e)})));return mt},getJsxIntrinsicTagNamesAt:function(t){var r=vy(N.IntrinsicElements,t);return r?tc(r):e.emptyArray},isOptionalParameter:function(t){var r=e.getParseTreeNode(t,e.isParameter);return!!r&&Rc(r)},tryGetMemberInModuleExports:function(t,r){return Ei(e.escapeLeadingUnderscores(t),r)},tryGetMemberInModuleExportsAndProperties:function(t,r){return function(e,t){var r=Ei(e,t);if(r)return r;var n=Di(t);if(n===t)return;var i=So(n);return Ti(i)?Tc(i,e):void 0}(e.escapeLeadingUnderscores(t),r)},tryFindAmbientModule:function(e){return Lc(e,!0)},tryFindAmbientModuleWithoutAugmentations:function(e){return Lc(e,!1)},getApparentType:gc,getUnionType:xl,isTypeAssignableTo:b_,createAnonymousType:Yi,createSignature:vs,createSymbol:hn,createIndexInfo:du,getAnyType:function(){return Ee},getStringType:function(){return Le},getNumberType:function(){return Re},createPromiseType:Bh,createArrayType:Zu,getElementTypeOfArrayType:hp,getBooleanType:function(){return Ue},getFalseType:function(e){return e?je:Je},getTrueType:function(e){return e?Ke:ze},getVoidType:function(){return qe},getUndefinedType:function(){return Pe},getNullType:function(){return Oe},getESSymbolType:function(){return Ve},getNeverType:function(){return We},getOptionalType:function(){return Ie},isSymbolAccessible:ia,isArrayType:mp,isTupleType:Op,isArrayLikeType:Dp,isTypeInvalidDueToUnionDiscriminant:function(e,t){return t.properties.some((function(t){var r=t.name&&Ol(t.name),n=r&&os(r)?ds(r):void 0,i=void 0===n?void 0:wa(e,n);return!!i&&Ap(i)&&!b_(fS(t),i)}))},getAllPossiblePropertiesOfTypes:function(t){var r=xl(t);if(!(1048576&r.flags))return hS(r);for(var n=e.createSymbolTable(),i=0,a=t;i>",0,Ee),dr=vs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),_r=vs(void 0,void 0,void 0,e.emptyArray,ke,void 0,0,0),pr=vs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),fr=vs(void 0,void 0,void 0,e.emptyArray,He,void 0,0,0),gr=du(Le,!0),mr=new e.Map,yr={get yieldType(){return e.Debug.fail("Not supported")},get returnType(){return e.Debug.fail("Not supported")},get nextType(){return e.Debug.fail("Not supported")}},vr=Qx(Ee,Ee,Ee),hr=Qx(Ee,Ee,Ne),Dr=Qx(We,Ee,Pe),xr={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:function(e){return Yt||(Yt=Vu("AsyncIterator",3,e))||ct},getGlobalIterableType:function(e){return Gt||(Gt=Vu("AsyncIterable",1,e))||ct},getGlobalIterableIteratorType:function(e){return Xt||(Xt=Vu("AsyncIterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return $t||($t=Vu("AsyncGenerator",3,e))||ct},resolveIterationType:ix,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},br={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:function(e){return Ut||(Ut=Vu("Iterator",3,e))||ct},getGlobalIterableType:Yu,getGlobalIterableIteratorType:function(e){return Vt||(Vt=Vu("IterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return qt||(qt=Vu("Generator",3,e))||ct},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},Sr=new e.Map,Er=!1,Tr=new e.Map,Cr=0,kr=0,Ar=0,Fr=!1,Nr=0,Pr=wd(""),wr=wd(0),Ir=wd({negative:!1,base10Value:"0"}),Or=[],Mr=[],Lr=[],Rr=0,Br=[],jr=[],Jr=[],Kr=[],zr=[],Ur=[],Vr=[],qr=[],Wr=[],Hr=[],Gr=[],Yr=[],Xr=[],$r=[],Qr=[],Zr=e.createDiagnosticCollection(),en=e.createDiagnosticCollection(),tn=new e.Map(e.getEntries({string:Le,number:Re,bigint:Be,boolean:Ue,symbol:Ve,undefined:Pe})),rn=xl(e.arrayFrom(S.keys(),wd)),nn=new e.Map,an=new e.Map,on=new e.Map,sn=new e.Map,cn=new e.Map,un=new e.Map,ln=e.createSymbolTable();return ln.set(ie.escapedName,ie),function(){for(var t=0,r=n.getSourceFiles();t=5||e.some(o.relatedInformation,(function(t){return 0===e.compareDiagnostics(t,s)||0===e.compareDiagnostics(t,i)})))return"continue";e.addRelatedInfo(o,e.length(o.relatedInformation)?s:i)},c=0,u=i||e.emptyArray;c1)}function An(e){if(33554432&e.flags)return e;var t=M(e);return jr[t]||(jr[t]=new w)}function Fn(e){var t=O(e);return Jr[t]||(Jr[t]=new I)}function Nn(t){return 298===t.kind&&!e.isExternalOrCommonJsModule(t)}function Pn(t,r,n){if(n){var i=Ni(t.get(r));if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),"Should never get an instantiated symbol here."),i.flags&n)return i;if(2097152&i.flags){var a=oi(i);if(a===be||a.flags&n)return i}}}}function wn(t,r){var i=e.getSourceFileOfNode(t),a=e.getSourceFileOfNode(r),o=e.getEnclosingBlockScopeContainer(t);if(i!==a){if(U&&(i.externalModuleIndicator||a.externalModuleIndicator)||!e.outFile(A)||Gf(r)||8388608&t.flags)return!0;if(u(r,t))return!0;var s=n.getSourceFiles();return s.indexOf(i)<=s.indexOf(a)}if(t.pos<=r.pos&&(!e.isPropertyDeclaration(t)||!e.isThisProperty(r.parent)||t.initializer||t.exclamationToken)){if(199===t.kind){var c=e.getAncestor(r,199);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.post.end)&&void 0===e.findAncestor(r,(function(r){if(r===t)return"quit";switch(r.kind){case 210:return!0;case 164:return!n||!(e.isPropertyDeclaration(t)&&r.parent===t.parent||e.isParameterPropertyDeclaration(t,t.parent)&&r.parent===t.parent.parent)||"quit";case 231:switch(r.parent.kind){case 168:case 166:case 169:return!0;default:return!1}default:return!1}}))}}function In(t,r,n){var i=e.getEmitScriptTarget(A),a=r;if(e.isParameter(n)&&a.body&&t.valueDeclaration&&t.valueDeclaration.pos>=a.body.pos&&t.valueDeclaration.end<=a.body.end&&i>=2){var o=Fn(a);return void 0===o.declarationRequiresScopeChange&&(o.declarationRequiresScopeChange=e.forEach(a.parameters,(function(e){return s(e.name)||!!e.initializer&&s(e.initializer)}))||!1),!o.declarationRequiresScopeChange}return!1;function s(t){switch(t.kind){case 210:case 209:case 252:case 167:return!1;case 166:case 168:case 169:case 289:return s(t.name);case 164:return e.hasStaticModifier(t)?i<99||!V:s(t.name);default:return e.isNullishCoalesce(t)||e.isOptionalChain(t)?i<7:e.isBindingElement(t)&&t.dotDotDotToken&&e.isObjectBindingPattern(t.parent)?i<4:!e.isTypeNode(t)&&(e.forEachChild(t,s)||!1)}}}function On(e,t,r,n,i,a,o,s){return void 0===o&&(o=!1),Mn(e,t,r,n,i,a,o,Pn,s)}function Mn(t,r,n,i,a,o,s,c,u){var l,d,_,p,f,g,m,y=t,v=!1,h=t,D=!1;e:for(;t;){if(t.locals&&!Nn(t)&&(d=c(t.locals,r,n))){var x=!0;if(e.isFunctionLike(t)&&_&&_!==t.body?(n&d.flags&788968&&312!==_.kind&&(x=!!(262144&d.flags)&&(_===t.type||161===_.kind||160===_.kind)),n&d.flags&3&&(In(d,t,_)?x=!1:1&d.flags&&(x=161===_.kind||_===t.type&&!!e.findAncestor(d.valueDeclaration,e.isParameter)))):185===t.kind&&(x=_===t.trueType),x)break e;d=void 0}switch(v=v||Ln(t,_),t.kind){case 298:if(!e.isExternalOrCommonJsModule(t))break;D=!0;case 257:var b=Pi(t).exports||C;if(298===t.kind||e.isModuleDeclaration(t)&&8388608&t.flags&&!e.isGlobalScopeAugmentation(t)){if(d=b.get("default")){var S=e.getLocalSymbolForExportDefault(d);if(S&&d.flags&n&&S.escapedName===r)break e;d=void 0}var E=b.get(r);if(E&&2097152===E.flags&&(e.getDeclarationOfKind(E,271)||e.getDeclarationOfKind(E,270)))break}if("default"!==r&&(d=c(b,r,2623475&n))){if(!e.isSourceFile(t)||!t.commonJsModuleIndicator||(null===(l=d.declarations)||void 0===l?void 0:l.some(e.isJSDocTypeAlias)))break e;d=void 0}break;case 256:if(d=c(Pi(t).exports,r,8&n))break e;break;case 164:if(!e.hasSyntacticModifier(t,32)){var T=ji(t.parent);T&&T.locals&&c(T.locals,r,111551&n)&&(f=t)}break;case 253:case 222:case 254:if(d=c(Pi(t).members||C,r,788968&n)){if(!jn(d,t)){d=void 0;break}if(_&&e.hasSyntacticModifier(_,32))return void pn(h,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(222===t.kind&&32&n){var k=t.name;if(k&&r===k.escapedText){d=t.symbol;break e}}break;case 224:if(_===t.expression&&93===t.parent.token){var F=t.parent.parent;if(e.isClassLike(F)&&(d=c(Pi(F).members,r,788968&n)))return void(i&&pn(h,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 159:if(m=t.parent.parent,(e.isClassLike(m)||254===m.kind)&&(d=c(Pi(m).members,r,788968&n)))return void pn(h,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 210:if(A.target>=2)break;case 166:case 167:case 168:case 169:case 252:if(3&n&&"arguments"===r){d=se;break e}break;case 209:if(3&n&&"arguments"===r){d=se;break e}if(16&n){var N=t.name;if(N&&r===N.escapedText){d=t.symbol;break e}}break;case 162:t.parent&&161===t.parent.kind&&(t=t.parent),t.parent&&(e.isClassElement(t.parent)||253===t.parent.kind)&&(t=t.parent);break;case 335:case 328:case 329:(L=e.getJSDocRoot(t))&&(t=L.parent);break;case 161:_&&(_===t.initializer||_===t.name&&e.isBindingPattern(_))&&(g||(g=t));break;case 199:_&&(_===t.initializer||_===t.name&&e.isBindingPattern(_))&&e.isParameterDeclaration(t)&&!g&&(g=t);break;case 186:if(262144&n){var P=t.typeParameter.name;if(P&&r===P.escapedText){d=t.typeParameter.symbol;break e}}}Rn(t)&&(p=t),_=t,t=t.parent}if(!o||!d||p&&d===p.symbol||(d.isReferenced|=n),!d){if(_&&(e.Debug.assert(298===_.kind),_.commonJsModuleIndicator&&"exports"===r&&n&_.symbol.flags))return _.symbol;s||(d=c(ne,r,n))}if(!d&&y&&e.isInJSFile(y)&&y.parent&&e.isRequireCall(y.parent,!1))return ce;if(d){if(i){if(f&&(99!==A.target||!V)){var w=f.name;return void pn(h,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(w),Bn(a))}if(h&&(2&n||(32&n||384&n)&&111551==(111551&n))){var I=Ri(d);(2&I.flags||32&I.flags||384&I.flags)&&function(t,r){var n;if(e.Debug.assert(!!(2&t.flags||32&t.flags||384&t.flags)),67108881&t.flags&&32&t.flags)return;var i=null===(n=t.declarations)||void 0===n?void 0:n.find((function(t){return e.isBlockOrCatchScoped(t)||e.isClassLike(t)||256===t.kind}));if(void 0===i)return e.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");if(!(8388608&i.flags||wn(i,r))){var a=void 0,o=e.declarationNameToString(e.getNameOfDeclaration(i));2&t.flags?a=pn(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,o):32&t.flags?a=pn(r,e.Diagnostics.Class_0_used_before_its_declaration,o):256&t.flags?a=pn(r,e.Diagnostics.Enum_0_used_before_its_declaration,o):(e.Debug.assert(!!(128&t.flags)),e.shouldPreserveConstEnums(A)&&(a=pn(r,e.Diagnostics.Enum_0_used_before_its_declaration,o))),a&&e.addRelatedInfo(a,e.createDiagnosticForNode(i,e.Diagnostics._0_is_declared_here,o))}}(I,h)}if(d&&D&&111551==(111551&n)&&!(4194304&y.flags)){var O=Ni(d);e.length(O.declarations)&&e.every(O.declarations,(function(t){return e.isNamespaceExportDeclaration(t)||e.isSourceFile(t)&&!!t.symbol.globalExports}))&&gn(!A.allowUmdGlobalAccess,h,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(r))}if(d&&g&&!v&&111551==(111551&n)){var M=Ni(gs(d)),L=e.getRootDeclaration(g);M===Pi(g)?pn(h,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(g.name)):M.valueDeclaration&&M.valueDeclaration.pos>g.pos&&L.parent.locals&&c(L.parent.locals,M.escapedName,n)===M&&pn(h,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(g.name),e.declarationNameToString(h))}d&&h&&111551&n&&2097152&d.flags&&function(t,r,n){if(!e.isValidTypeOnlyAliasUseSite(n)){var i=ui(t);if(i){var a=e.typeOnlyDeclarationIsExport(i),o=a?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,s=a?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,c=e.unescapeLeadingUnderscores(r);e.addRelatedInfo(pn(n,o,c),e.createDiagnosticForNode(i,s,c))}}}(d,r,h)}return d}if(i&&!(h&&(function(t,r,n){if(!e.isIdentifier(t)||t.escapedText!==r||cS(t)||Gf(t))return!1;var i=e.getThisContainer(t,!1),a=i;for(;a;){if(e.isClassLike(a.parent)){var o=Pi(a.parent);if(!o)break;if(Tc(So(o),r))return pn(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Bn(n),da(o)),!0;if(a===i&&!e.hasSyntacticModifier(a,32))if(Tc(Xo(o).thisType,r))return pn(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Bn(n)),!0}a=a.parent}return!1}(h,r,a)||Jn(h)||function(t,r,n){var i=1920|(e.isInJSFile(t)?111551:0);if(n===i){var a=ai(On(t,r,788968&~i,void 0,void 0,!1)),o=t.parent;if(a){if(e.isQualifiedName(o)){e.Debug.assert(o.left===t,"Should only be resolving left side of qualified name as a namespace");var s=o.right.escapedText;if(Tc(Xo(a),s))return pn(o,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(r),e.unescapeLeadingUnderscores(s)),!0}return pn(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(r)),!0}}return!1}(h,r,n)||function(t,r){if(zn(r)&&271===t.parent.kind)return pn(t,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,r),!0;return!1}(h,r)||function(t,r,n){if(111551&n){if(zn(r))return pn(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(r)),!0;var i=ai(On(t,r,788544,void 0,void 0,!1));if(i&&!(1024&i.flags)){var a=e.unescapeLeadingUnderscores(r);return!function(e){switch(e){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return!0}return!1}(r)?!function(t,r){var n=e.findAncestor(t.parent,(function(t){return!e.isComputedPropertyName(t)&&!e.isPropertySignature(t)&&(e.isTypeLiteralNode(t)||"quit")}));if(n&&1===n.members.length){var i=Xo(r);return!!(1048576&i.flags)&&aD(i,384,!0)}return!1}(t,i)?pn(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,a):pn(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,a,"K"===a?"P":"K"):pn(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,a),!0}}return!1}(h,r,n)||function(t,r,n){if(111127&n){if(ai(On(t,r,1024,void 0,void 0,!1)))return pn(t,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(r)),!0}else if(788544&n){if(ai(On(t,r,1536,void 0,void 0,!1)))return pn(t,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(r)),!0}return!1}(h,r,n)||function(t,r,n){if(788584&n){var i=ai(On(t,r,111127,void 0,void 0,!1));if(i&&!(1920&i.flags))return pn(t,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(r)),!0}return!1}(h,r,n)))){var R=void 0;if(u&&Rr<10)if((R=av(y,r,n))&&R.valueDeclaration&&e.isAmbientModule(R.valueDeclaration)&&e.isGlobalScopeAugmentation(R.valueDeclaration)&&(R=void 0),R){var B=da(R),j=pn(h,u,Bn(a),B);R.valueDeclaration&&e.addRelatedInfo(j,e.createDiagnosticForNode(R.valueDeclaration,e.Diagnostics._0_is_declared_here,B))}if(!R&&a){var J=function(t){for(var r=Bn(t),n=e.getScriptTargetFeatures(),i=e.getOwnKeys(n),a=0,o=i;a=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop",u=i.exports.get("export=").valueDeclaration,l=pn(t.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,da(i),c);u&&e.addRelatedInfo(l,e.createDiagnosticForNode(u,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,c))}else!function(t,r){var n,i,a;if(null===(n=t.exports)||void 0===n?void 0:n.has(r.symbol.escapedName))pn(r.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,da(t),da(r.symbol));else{var o=pn(r.name,e.Diagnostics.Module_0_has_no_default_export,da(t)),s=null===(i=t.exports)||void 0===i?void 0:i.get("__export");if(s){var c=null===(a=s.declarations)||void 0===a?void 0:a.find((function(t){var r,n;return!!(e.isExportDeclaration(t)&&t.moduleSpecifier&&(null===(n=null===(r=mi(t,t.moduleSpecifier))||void 0===r?void 0:r.exports)||void 0===n?void 0:n.has("default")))}));c&&e.addRelatedInfo(o,e.createDiagnosticForNode(c,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}(i,t);return si(t,a,void 0,!1),a}}function Zn(r,n,i){var a,o;void 0===i&&(i=!1);var s=e.getExternalModuleRequireArgument(r)||r.moduleSpecifier,c=mi(r,s),u=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(u)){var l=xi(c,s,!1,"default"===u.escapedText&&!(!A.allowSyntheticDefaultImports&&!A.esModuleInterop));if(l&&u.escapedText){if(e.isShorthandAmbientModuleSymbol(c))return c;var d=void 0;d=c&&c.exports&&c.exports.get("export=")?Tc(So(l),u.escapedText,!0):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return ai(Tc(Rd(r),t))}}(l,u.escapedText),d=ai(d,i);var _=function(e,t,r,n){if(1536&e.flags){var i=Ci(e).get(t.escapedText),a=ai(i,n);return si(r,i,a,!1),a}}(l,u,n,i);if(void 0===_&&"default"===u.escapedText)$n(null===(a=c.declarations)||void 0===a?void 0:a.find(e.isSourceFile),c,i)&&(_=Di(c,i)||ai(c,i));var p=_&&d&&_!==d?function(t,r){if(t===be&&r===be)return be;if(790504&t.flags)return t;var n=hn(t.flags|r.flags,t.escapedName);return n.declarations=e.deduplicate(e.concatenate(t.declarations,r.declarations),e.equateValues),n.parent=t.parent||r.parent,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),r.members&&(n.members=new e.Map(r.members)),t.exports&&(n.exports=new e.Map(t.exports)),n}(d,_):_||d;if(!p){var f=pi(c,r),g=e.declarationNameToString(u),m=ov(u,l);if(void 0!==m){var y=da(m),v=pn(u,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,f,g,y);m.valueDeclaration&&e.addRelatedInfo(v,e.createDiagnosticForNode(m.valueDeclaration,e.Diagnostics._0_is_declared_here,y))}else(null===(o=c.exports)||void 0===o?void 0:o.has("default"))?pn(u,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,f,g):function(r,n,i,a,o){var s,c,u=null===(c=null===(s=a.valueDeclaration)||void 0===s?void 0:s.locals)||void 0===c?void 0:c.get(n.escapedText),l=a.exports;if(u){var d=null==l?void 0:l.get("export=");if(d)Li(d,u)?function(t,r,n,i){if(U>=e.ModuleKind.ES2015){pn(r,A.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{if(e.isInJSFile(t))pn(r,A.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n);else pn(r,A.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,i)}}(r,n,i,o):pn(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i);else{var _=l?e.find(Oc(l),(function(e){return!!Li(e,u)})):void 0,p=_?pn(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,o,i,da(_)):pn(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,o,i);u.declarations&&e.addRelatedInfo.apply(void 0,t([p],e.map(u.declarations,(function(t,r){return e.createDiagnosticForNode(t,0===r?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,i)}))))}}else pn(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i)}(r,u,g,c,f)}return p}}}function ei(t){if(e.isVariableDeclaration(t)&&t.initializer&&e.isPropertyAccessExpression(t.initializer))return t.initializer}function ti(e,t,r){var n=e.parent.parent.moduleSpecifier?Zn(e.parent.parent,e,r):fi(e.propertyName||e.name,t,!1,r);return si(e,void 0,n,!1),n}function ri(t,r){if(e.isClassExpression(t))return mD(t).symbol;if(e.isEntityName(t)||e.isEntityNameExpression(t)){var n=fi(t,901119,!0,r);return n||(mD(t),Fn(t).resolvedSymbol)}}function ni(t,r){switch(void 0===r&&(r=!1),t.kind){case 261:case 250:return Gn(t,r);case 263:return Qn(t,r);case 264:return function(e,t){var r=e.parent.parent.moduleSpecifier,n=mi(e,r),i=xi(n,r,t,!1);return si(e,n,i,!1),i}(t,r);case 270:return function(e,t){var r=e.parent.moduleSpecifier,n=r&&mi(e,r),i=r&&xi(n,r,t,!1);return si(e,n,i,!1),i}(t,r);case 266:case 199:return function(t,r){var n=e.isBindingElement(t)?e.getRootDeclaration(t):t.parent.parent.parent,i=ei(n),a=Zn(n,i||t,r),o=t.propertyName||t.name;return i&&a&&e.isIdentifier(o)?ai(Tc(So(a),o.escapedText),r):(si(t,void 0,a,!1),a)}(t,r);case 271:return ti(t,901119,r);case 267:case 217:return function(t,r){var n=ri(e.isExportAssignment(t)?t.expression:t.right,r);return si(t,void 0,n,!1),n}(t,r);case 260:return function(e,t){var r=Di(e.parent.symbol,t);return si(e,void 0,r,!1),r}(t,r);case 290:return fi(t.name,901119,!0,r);case 289:return function(e,t){return ri(e.initializer,t)}(t,r);case 203:case 202:return function(t,r){if(e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind)return ri(t.parent.right,r)}(t,r);default:return e.Debug.fail()}}function ii(e,t){return void 0===t&&(t=901119),!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function ai(e,t){return!t&&ii(e)?oi(e):e}function oi(t){e.Debug.assert(0!=(2097152&t.flags),"Should only get Alias here.");var r=An(t);if(r.target)r.target===Se&&(r.target=be);else{r.target=Se;var n=qn(t);if(!n)return e.Debug.fail();var i=ni(n);r.target===Se?r.target=i||be:pn(n,e.Diagnostics.Circular_definition_of_import_alias_0,da(t))}return r.target}function si(t,r,n,i){if(!t||e.isPropertyAccessExpression(t))return!1;var a=Pi(t);if(e.isTypeOnlyImportOrExportDeclaration(t))return An(a).typeOnlyDeclaration=t,!0;var o=An(a);return ci(o,r,i)||ci(o,n,i)}function ci(t,r,n){var i,a,o;if(r&&(void 0===t.typeOnlyDeclaration||n&&!1===t.typeOnlyDeclaration)){var s=null!==(a=null===(i=r.exports)||void 0===i?void 0:i.get("export="))&&void 0!==a?a:r,c=s.declarations&&e.find(s.declarations,e.isTypeOnlyImportOrExportDeclaration);t.typeOnlyDeclaration=null!==(o=null!=c?c:An(s).typeOnlyDeclaration)&&void 0!==o&&o}return!!t.typeOnlyDeclaration}function ui(e){if(2097152&e.flags)return An(e).typeOnlyDeclaration||void 0}function li(e){var t=Pi(e),r=oi(t);r&&((r===be||111551&r.flags&&!PS(r)&&!ui(t))&&di(t))}function di(t){var r=An(t);if(!r.referenced){r.referenced=!0;var n=qn(t);if(!n)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(n)){var i=ai(t);(i===be||111551&i.flags)&&mD(n.moduleReference)}}}function _i(t,r){return 78===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),78===t.kind||158===t.parent.kind?fi(t,1920,!1,r):(e.Debug.assert(261===t.parent.kind),fi(t,901119,!1,r))}function pi(e,t){return e.parent?pi(e.parent,t)+"."+da(e):da(e,t,void 0,20)}function fi(t,r,n,i,a){if(!e.nodeIsMissing(t)){var o,s=1920|(e.isInJSFile(t)?111551&r:0);if(78===t.kind){var c=r===s||e.nodeIsSynthesized(t)?e.Diagnostics.Cannot_find_namespace_0:Wf(e.getFirstIdentifier(t)),u=e.isInJSFile(t)&&!e.nodeIsSynthesized(t)?function(t,r){if(Ou(t.parent)){var n=function(t){if(e.findAncestor(t,(function(t){return e.isJSDocNode(t)||4194304&t.flags?e.isJSDocTypeAlias(t):"quit"})))return;var r=e.getJSDocHost(t);if(r&&e.isExpressionStatement(r)&&e.isBinaryExpression(r.expression)&&3===e.getAssignmentDeclarationKind(r.expression)){if(i=Pi(r.expression.left))return gi(i)}if(r&&(e.isObjectLiteralMethod(r)||e.isPropertyAssignment(r))&&e.isBinaryExpression(r.parent.parent)&&6===e.getAssignmentDeclarationKind(r.parent.parent)){if(i=Pi(r.parent.parent.left))return gi(i)}var n=e.getEffectiveJSDocHost(t);if(n&&e.isFunctionLike(n)){var i;return(i=Pi(n))&&i.valueDeclaration}}(t.parent);if(n)return On(n,t.escapedText,r,void 0,t,!0)}}(t,r):void 0;if(!(o=Ni(On(a||t,t.escapedText,r,n||u?void 0:c,t,!0))))return Ni(u)}else{if(158!==t.kind&&202!==t.kind)throw e.Debug.assertNever(t,"Unknown entity name kind.");var l=158===t.kind?t.left:t.expression,d=158===t.kind?t.right:t.name,_=fi(l,s,n,!1,a);if(!_||e.nodeIsMissing(d))return;if(_===be)return _;if(_.valueDeclaration&&e.isInJSFile(_.valueDeclaration)&&e.isVariableDeclaration(_.valueDeclaration)&&_.valueDeclaration.initializer&&fh(_.valueDeclaration.initializer)){var p=_.valueDeclaration.initializer.arguments[0],f=mi(p,p);if(f){var g=Di(f);g&&(_=g)}}if(!(o=Ni(Pn(Ci(_),d.escapedText,r)))){if(!n){var m=pi(_),y=e.declarationNameToString(d),v=ov(d,_);v?pn(d,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,m,y,da(v)):pn(d,e.Diagnostics.Namespace_0_has_no_exported_member_1,m,y)}return}}return e.Debug.assert(0==(1&e.getCheckFlags(o)),"Should never get an instantiated symbol here."),!e.nodeIsSynthesized(t)&&e.isEntityName(t)&&(2097152&o.flags||267===t.parent.kind)&&si(e.getAliasDeclarationFromName(t),o,void 0,!0),o.flags&r||i?o:oi(o)}}function gi(t){var r=t.parent.valueDeclaration;if(r)return(e.isAssignmentDeclaration(r)?e.getAssignedExpandoInitializer(r):e.hasOnlyExpressionInitializer(r)?e.getDeclaredExpandoInitializer(r):void 0)||r}function mi(t,r,n){var i=e.getEmitModuleResolutionKind(A)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return yi(t,r,n?void 0:i)}function yi(t,r,n,i){return void 0===i&&(i=!1),e.isStringLiteralLike(r)?vi(t,r.text,n,r,i):void 0}function vi(t,r,i,a,o){(void 0===o&&(o=!1),e.startsWith(r,"@types/"))&&pn(a,m=e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(r,"@types/"),r);var s=Lc(r,!0);if(s)return s;var c=e.getSourceFileOfNode(t),u=e.getResolvedModule(c,r),l=u&&e.getResolutionDiagnostic(A,u),d=u&&!l&&n.getSourceFile(u.resolvedFileName);if(d)return d.symbol?(u.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(u.extension)&&hi(!1,a,u,r),Ni(d.symbol)):void(i&&pn(a,e.Diagnostics.File_0_is_not_a_module,d.fileName));if(yt){var _=e.findBestPatternMatch(yt,(function(e){return e.pattern}),r);if(_){var p=vt&&vt.get(r);return Ni(p?p:_.symbol)}}if(u&&!e.resolutionExtensionIsTSOrJson(u.extension)&&void 0===l||l===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)o?pn(a,m=e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,r,u.resolvedFileName):hi(X&&!!i,a,u,r);else if(i){if(u){var f=n.getProjectReferenceRedirect(u.resolvedFileName);if(f)return void pn(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,f,u.resolvedFileName)}if(l)pn(a,l,r,u.resolvedFileName);else{var g=e.tryExtractTSExtension(r);if(g){var m=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,y=e.removeExtension(r,g);e.getEmitModuleKind(A)>=e.ModuleKind.ES2015&&(y+=".js"),pn(a,m,g,y)}else!A.resolveJsonModule&&e.fileExtensionIs(r,".json")&&e.getEmitModuleResolutionKind(A)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(A)?pn(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,r):pn(a,i,r)}}}function hi(t,r,n,i){var a,o=n.packageId,s=n.resolvedFileName,c=!e.isExternalModuleNameRelative(i)&&o?(a=o.name,f().has(e.getTypesPackageName(a))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o.name,e.mangleScopedPackageName(o.name)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(o.name))):void 0;gn(t,r,e.chainDiagnosticMessages(c,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,s))}function Di(t,r){if(null==t?void 0:t.exports){var n=function(t,r){if(!t||t===be||t===r||1===r.exports.size||2097152&t.flags)return t;var n=An(t);if(n.cjsExportMerged)return n.cjsExportMerged;var i=33554432&t.flags?t:bn(t);i.flags=512|i.flags,void 0===i.exports&&(i.exports=e.createSymbolTable());return r.exports.forEach((function(e,t){"export="!==t&&i.exports.set(t,i.exports.has(t)?Sn(i.exports.get(t),e):e)})),An(i).cjsExportMerged=i,n.cjsExportMerged=i}(Ni(ai(t.exports.get("export="),r)),Ni(t));return Ni(n)||t}}function xi(t,r,n,i){var a=Di(t,n);if(!n&&a){if(!(i||1539&a.flags||e.getDeclarationOfKind(a,298))){var o=U>=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop";return pn(r,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,o),a}if(A.esModuleInterop){var s=r.parent;if(e.isImportDeclaration(s)&&e.getNamespaceDeclarationNode(s)||e.isImportCall(s)){var c=So(a),u=Cc(c,0);if(u&&u.length||(u=Cc(c,1)),u&&u.length){var l=ph(c,a,t),d=hn(a.flags,a.escapedName);d.declarations=a.declarations?a.declarations.slice():[],d.parent=a.parent,d.target=a,d.originatingImport=s,a.valueDeclaration&&(d.valueDeclaration=a.valueDeclaration),a.constEnumOnlyModule&&(d.constEnumOnlyModule=!0),a.members&&(d.members=new e.Map(a.members)),a.exports&&(d.exports=new e.Map(a.exports));var _=$s(l);return d.type=Yi(d,_.members,e.emptyArray,e.emptyArray,_.stringIndexInfo,_.numberIndexInfo),d}}}}return a}function bi(e){return void 0!==e.exports.get("export=")}function Si(e){return Oc(ki(e))}function Ei(e,t){var r=ki(t);if(r)return r.get(e)}function Ti(t){return!(131068&t.flags||1&e.getObjectFlags(t)||mp(t)||Op(t))}function Ci(e){return 6256&e.flags?ps(e,"resolvedExports"):1536&e.flags?ki(e):e.exports||C}function ki(e){var t=An(e);return t.resolvedExports||(t.resolvedExports=Fi(e))}function Ai(t,r,n,i){r&&r.forEach((function(r,a){if("default"!==a){var o=t.get(a);if(o){if(n&&i&&o&&ai(o)!==ai(r)){var s=n.get(a);s.exportsWithDuplicate?s.exportsWithDuplicate.push(i):s.exportsWithDuplicate=[i]}}else t.set(a,r),n&&i&&n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}))}function Fi(t){var r=[];return function t(n){if(!(n&&n.exports&&e.pushIfUnique(r,n)))return;var i=new e.Map(n.exports),a=n.exports.get("__export");if(a){var o=e.createSymbolTable(),s=new e.Map;if(a.declarations)for(var c=0,u=a.declarations;c=l?u.substr(0,l-"...".length)+"...":u}function fa(e,t){var r=ma(e.symbol)?pa(e,e.symbol.valueDeclaration):pa(e),n=ma(t.symbol)?pa(t,t.symbol.valueDeclaration):pa(t);return r===n&&(r=ga(e),n=ga(t)),[r,n]}function ga(e){return pa(e,void 0,64)}function ma(t){return t&&!!t.valueDeclaration&&e.isExpression(t.valueDeclaration)&&!__(t.valueDeclaration)}function ya(e){return void 0===e&&(e=0),814775659&e}function va(t){return!!(t.symbol&&32&t.symbol.flags&&(t===Ko(t.symbol)||524288&t.flags&&16777216&e.getObjectFlags(t)))}function ha(t,r,n,i){return void 0===n&&(n=16384),i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.factory.createTypePredicateNode(2===t.kind||3===t.kind?e.factory.createToken(127):void 0,1===t.kind||3===t.kind?e.factory.createIdentifier(t.parameterName):e.factory.createThisTypeNode(),t.type&&re.typeToTypeNode(t.type,r,70222336|ya(n))),o=e.createPrinter({removeComments:!0}),s=r&&e.getSourceFileOfNode(r);return o.writeNode(4,a,s,i),i}}function Da(e){return 8===e?"private":16===e?"protected":"public"}function xa(t){return t&&t.parent&&258===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function ba(t){return 298===t.kind||e.isAmbientModule(t)}function Sa(t,r){var n=An(t).nameType;if(n){if(384&n.flags){var i=""+n.value;return e.isIdentifierText(i,A.target)||oy(i)?oy(i)&&e.startsWith(i,"-")?"["+i+"]":i:'"'+e.escapeString(i,34)+'"'}if(8192&n.flags)return"["+Ea(n.symbol,r)+"]"}}function Ea(t,r){if(r&&"default"===t.escapedName&&!(16384&r.flags)&&(!(16777216&r.flags)||!t.declarations||r.enclosingDeclaration&&e.findAncestor(t.declarations[0],ba)!==e.findAncestor(r.enclosingDeclaration,ba)))return"default";if(t.declarations&&t.declarations.length){var n=e.firstDefined(t.declarations,(function(t){return e.getNameOfDeclaration(t)?t:void 0})),i=n&&e.getNameOfDeclaration(n);if(n&&i){if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n))return e.symbolName(t);if(e.isComputedPropertyName(i)&&!(4096&e.getCheckFlags(t))){var a=An(t).nameType;if(a&&384&a.flags){var o=Sa(t,r);if(void 0!==o)return o}}return e.declarationNameToString(i)}if(n||(n=t.declarations[0]),n.parent&&250===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(n.kind){case 222:case 209:case 210:return!r||r.encounteredError||131072&r.flags||(r.encounteredError=!0),222===n.kind?"(Anonymous class)":"(Anonymous function)"}}var s=Sa(t,r);return void 0!==s?s:e.symbolName(t)}function Ta(t){if(t){var r=Fn(t);return void 0===r.isVisible&&(r.isVisible=!!function(){switch(t.kind){case 328:case 335:case 329:return!!(t.parent&&t.parent.parent&&t.parent.parent.parent&&e.isSourceFile(t.parent.parent.parent));case 199:return Ta(t.parent.parent);case 250:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 257:case 253:case 254:case 255:case 252:case 256:case 261:if(e.isExternalModuleAugmentation(t))return!0;var r=Pa(t);return 1&e.getCombinedModifierFlags(t)||261!==t.kind&&298!==r.kind&&8388608&r.flags?Ta(r):Nn(r);case 164:case 163:case 168:case 169:case 166:case 165:if(e.hasEffectiveModifier(t,24))return!1;case 167:case 171:case 170:case 172:case 161:case 258:case 175:case 176:case 178:case 174:case 179:case 180:case 183:case 184:case 187:case 193:return Ta(t.parent);case 263:case 264:case 266:return!1;case 160:case 298:case 260:return!0;case 267:default:return!1}}()),r.isVisible}return!1}function Ca(t,r){var n,i,a;return t.parent&&267===t.parent.kind?n=On(t,t.escapedText,2998271,void 0,t,!1):271===t.parent.kind&&(n=ti(t.parent,2998271)),n&&((a=new e.Set).add(M(n)),function t(n){e.forEach(n,(function(n){var o=Vn(n)||n;if(r?Fn(n).isVisible=!0:(i=i||[],e.pushIfUnique(i,o)),e.isInternalModuleImportEqualsDeclaration(n)){var s=n.moduleReference,c=On(n,e.getFirstIdentifier(s).escapedText,901119,void 0,void 0,!1);c&&a&&e.tryAddToSet(a,M(c))&&t(c.declarations)}}))}(n.declarations)),i}function ka(e,t){var r=Aa(e,t);if(r>=0){for(var n=Or.length,i=r;i=0;r--){if(Fa(Or[r],Lr[r]))return-1;if(Or[r]===e&&Lr[r]===t)return r}return-1}function Fa(t,r){switch(r){case 0:return!!An(t).type;case 5:return!!Fn(t).resolvedEnumType;case 2:return!!An(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!t.resolvedTypeArguments;case 7:return!!t.baseTypesResolved}return e.Debug.assertNever(r)}function Na(){return Or.pop(),Lr.pop(),Mr.pop()}function Pa(t){return e.findAncestor(e.getRootDeclaration(t),(function(e){switch(e.kind){case 250:case 251:case 266:case 265:case 264:case 263:return!1;default:return!0}})).parent}function wa(e,t){var r=Tc(e,t);return r?So(r):void 0}function Ia(e){return e&&0!=(1&e.flags)}function Oa(e){var t=Pi(e);return t&&An(t).type||qa(e,!1)}function Ma(t,r,n){if(131072&(t=wg(t,(function(e){return!(98304&e.flags)}))).flags)return it;if(1048576&t.flags)return Og(t,(function(e){return Ma(e,r,n)}));var i=xl(e.map(r,Ol));if(Xl(t)||$l(i)){if(131072&i.flags)return t;var a=tr||(tr=Uu("Omit",524288,e.Diagnostics.Cannot_find_global_type_0));return a?Tu(a,[t,i]):ke}for(var o=e.createSymbolTable(),s=0,c=tc(t);s=2?(i=Ee,$u(Yu(!0),[i])):Nt;var c=e.map(a,(function(t){return e.isOmittedExpression(t)?Ee:ro(t,r,n)})),u=e.findLastIndex(a,(function(t){return!(t===s||e.isOmittedExpression(t)||ty(t))}),a.length-1)+1,l=ol(c,e.map(a,(function(e,t){return e===s?4:t>=u?2:1})));return r&&((l=Du(l)).pattern=t,l.objectFlags|=262144),l}function io(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),197===t.kind?function(t,r,n){var i,a=e.createSymbolTable(),o=262272;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(e.dotDotDotToken)i=du(Ee,!1);else{var s=Ol(t);if(os(s)){var c=ds(s),u=hn(4|(e.initializer?16777216:0),c);u.type=ro(e,r,n),u.bindingElement=e,a.set(u.escapedName,u)}else o|=512}}));var s=Yi(void 0,a,e.emptyArray,e.emptyArray,i,void 0);return s.objectFlags|=o,r&&(s.pattern=t,s.objectFlags|=262144),s}(t,r,n):no(t,r,n)}function ao(e,t){return so(qa(e,!0),e,t)}function oo(e){var t,r=Pi(e),n=(t=!1,Mt||(Mt=zu("SymbolConstructor",t)));return n&&r&&r===n}function so(t,r,n){return t?(4096&t.flags&&oo(r.parent)&&(t=Id(r)),n&&_f(r,t),8192&t.flags&&(e.isBindingElement(r)||!r.type)&&t.symbol!==Pi(r)&&(t=Ve),cf(t)):(t=e.isParameter(r)&&r.dotDotDotToken?Nt:Ee,n&&(co(r)||df(r,t)),t)}function co(t){var r=e.getRootDeclaration(t);return $D(161===r.kind?r.parent:r)}function uo(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r)return Rd(r)}function lo(t){var r=An(t);if(!r.type){var n=function(t){if(4194304&t.flags)return(r=Xo(wi(t))).typeParameters?hu(r,e.map(r.typeParameters,(function(e){return Ee}))):r;var r;if(t===ce)return Ee;if(134217728&t.flags&&t.valueDeclaration){var n=Pi(e.getSourceFileOfNode(t.valueDeclaration)),i=hn(n.flags,"exports");i.declarations=n.declarations?n.declarations.slice():[],i.parent=t,i.target=n,n.valueDeclaration&&(i.valueDeclaration=n.valueDeclaration),n.members&&(i.members=new e.Map(n.members)),n.exports&&(i.exports=new e.Map(n.exports));var a=e.createSymbolTable();return a.set("exports",i),Yi(t,a,e.emptyArray,e.emptyArray,void 0,void 0)}e.Debug.assertIsDefined(t.valueDeclaration);var o,s=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(s)){var c=e.getEffectiveTypeAnnotationNode(s);if(void 0===c)return Ee;var u=fS(c);return Ia(u)||u===Ne?u:ke}if(e.isSourceFile(s)&&e.isJsonSourceFile(s))return s.statements.length?cf(Np(OD(s.statements[0].expression))):it;if(!ka(t,0))return 512&t.flags&&!(67108864&t.flags)?vo(t):xo(t);if(267===s.kind)o=so(mD(s.expression),s);else if(e.isBinaryExpression(s)||e.isInJSFile(s)&&(e.isCallExpression(s)||(e.isPropertyAccessExpression(s)||e.isBindableStaticElementAccessExpression(s))&&e.isBinaryExpression(s.parent)))o=$a(t);else if(e.isPropertyAccessExpression(s)||e.isElementAccessExpression(s)||e.isIdentifier(s)||e.isStringLiteralLike(s)||e.isNumericLiteral(s)||e.isClassDeclaration(s)||e.isFunctionDeclaration(s)||e.isMethodDeclaration(s)&&!e.isObjectLiteralMethod(s)||e.isMethodSignature(s)||e.isSourceFile(s)){if(9136&t.flags)return vo(t);o=e.isBinaryExpression(s.parent)?$a(t):uo(s)||Ee}else if(e.isPropertyAssignment(s))o=uo(s)||SD(s);else if(e.isJsxAttribute(s))o=uo(s)||fy(s);else if(e.isShorthandPropertyAssignment(s))o=uo(s)||bD(s.name,0);else if(e.isObjectLiteralMethod(s))o=uo(s)||ED(s,0);else if(e.isParameter(s)||e.isPropertyDeclaration(s)||e.isPropertySignature(s)||e.isVariableDeclaration(s)||e.isBindingElement(s)||e.isJSDocPropertyLikeTag(s))o=ao(s,!0);else if(e.isEnumDeclaration(s))o=vo(t);else if(e.isEnumMember(s))o=ho(t);else{if(!e.isAccessor(s))return e.Debug.fail("Unhandled declaration kind! "+e.Debug.formatSyntaxKind(s.kind)+" for "+e.Debug.formatSymbol(t));o=mo(t)||e.Debug.fail("Non-write accessor resolution must always produce a type")}if(!Na())return 512&t.flags&&!(67108864&t.flags)?vo(t):xo(t);return o}(t);r.type||(r.type=n)}return r.type}function _o(t){if(t)return 168===t.kind?e.getEffectiveReturnTypeNode(t):e.getEffectiveSetAccessorTypeAnnotationNode(t)}function po(e){var t=_o(e);return t&&Rd(t)}function fo(t){var r=An(t);return r.type||(r.type=go(t)||e.Debug.fail("Read type of accessor must always produce a type"))}function go(t,r){if(void 0===r&&(r=!1),!ka(t,0))return ke;var n=mo(t,r);Na()||(n=Ee,X&&pn(e.getDeclarationOfKind(t,168),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,da(t)));return n}function mo(t,r){void 0===r&&(r=!1);var n=e.getDeclarationOfKind(t,168),i=e.getDeclarationOfKind(t,169),a=po(i);if(r&&a)return c(a,t);if(n&&e.isInJSFile(n)){var o=za(n);if(o)return c(o,t)}var s=po(n);return s?c(s,t):a||(n&&n.body?c(Kh(n),t):i?($D(i)||gn(X,i,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,da(t)),Ee):n?(e.Debug.assert(!!n,"there must exist a getter as we are current checking either setter or getter in this function"),$D(n)||gn(X,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,da(t)),Ee):void 0);function c(t,r){return 1&e.getCheckFlags(r)?s_(t,An(r).mapper):t}}function yo(t){var r=Lo(Ko(t));return 8650752&r.flags?r:2097152&r.flags?e.find(r.types,(function(e){return!!(8650752&e.flags)})):void 0}function vo(t){var r=An(t),n=r;if(!r.type){var i=t.valueDeclaration&&ch(t.valueDeclaration,!1);if(i){var a=sh(t,i);a&&(t=r=a)}n.type=r.type=function(t){var r=t.valueDeclaration;if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))return Ee;if(r&&(217===r.kind||e.isAccessExpression(r)&&217===r.parent.kind))return $a(t);if(512&t.flags&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=Di(t);if(n!==t){if(!ka(t,0))return ke;var i=Ni(t.exports.get("export=")),a=$a(i,i===n?void 0:n);return Na()?a:xo(t)}}var o=Vi(16,t);if(32&t.flags){var s=yo(t);return s?Al([o,s]):o}return W&&16777216&t.flags?Wp(o):o}(t)}return r.type}function ho(e){var t=An(e);return t.type||(t.type=Go(e))}function Do(t){var r=An(t);if(!r.type){var n=oi(t),i=t.declarations&&ni(qn(t),!0);r.type=(null==i?void 0:i.declarations)&&$b(i.declarations)&&t.declarations.length?function(t){var r=e.getSourceFileOfNode(t.declarations[0]),n=e.unescapeLeadingUnderscores(t.escapedName),i=t.declarations.every((function(t){return e.isInJSFile(t)&&e.isAccessExpression(t)&&e.isModuleExportsAccessExpression(t.expression)})),a=i?e.factory.createPropertyAccessExpression(e.factory.createPropertyAccessExpression(e.factory.createIdentifier("module"),e.factory.createIdentifier("exports")),n):e.factory.createPropertyAccessExpression(e.factory.createIdentifier("exports"),n);return i&&e.setParent(a.expression.expression,a.expression),e.setParent(a.expression,a),e.setParent(a,r),a.flowNode=r.endFlowNode,rm(a,Te,Pe)}(i):$b(t.declarations)?Te:111551&n.flags?So(n):ke}return r.type}function xo(t){var r=t.valueDeclaration;return e.getEffectiveTypeAnnotationNode(r)?(pn(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,da(t)),ke):(X&&(161!==r.kind||r.initializer)&&pn(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,da(t)),Ee)}function bo(e){if(98304&e.flags){var t=function(e){var t=An(e);return t.writeType||(t.writeType=go(e,!0))}(e);if(t)return t}return So(e)}function So(t){var r=e.getCheckFlags(t);return 65536&r?function(t){var r=An(t);return r.type||(e.Debug.assertIsDefined(r.deferralParent),e.Debug.assertIsDefined(r.deferralConstituents),r.type=1048576&r.deferralParent.flags?xl(r.deferralConstituents):Al(r.deferralConstituents)),r.type}(t):1&r?function(e){var t=An(e);if(!t.type){if(!ka(e,0))return t.type=ke;var r=s_(So(t.target),t.mapper);Na()||(r=xo(e)),t.type=r}return t.type}(t):262144&r?function(t){if(!t.type){var r=t.mappedType;if(!ka(t,0))return r.containsError=!0,ke;var n=s_(Us(r.target||r),Xd(r.mapper,Js(r),t.keyType)),i=W&&16777216&t.flags&&!nD(n,49152)?Wp(n):524288&t.checkFlags?_g(n,524288):n;Na()||(pn(d,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,da(t),pa(r)),i=ke),t.type=i}return t.type}(t):8192&r?function(e){var t=An(e);t.type||(t.type=kf(e.propertyType,e.mappedType,e.constraintType));return t.type}(t):7&t.flags?lo(t):9136&t.flags?vo(t):8&t.flags?ho(t):98304&t.flags?fo(t):2097152&t.flags?Do(t):ke}function Eo(t,r){return void 0!==t&&void 0!==r&&0!=(4&e.getObjectFlags(t))&&t.target===r}function To(t){return 4&e.getObjectFlags(t)?t.target:t}function Co(t,r){return function t(n){if(7&e.getObjectFlags(n)){var i=To(n);return i===r||e.some(Bo(i),t)}if(2097152&n.flags)return e.some(n.types,t);return!1}(t)}function ko(t,r){for(var n=0,i=r;n0)return!0;if(8650752&e.flags){var t=cc(e);return!!t&&Po(t)}return!1}function Io(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function Oo(t,r,n){var i=e.length(r),a=e.isInJSFile(n);return e.filter(kc(t,1),(function(t){return(a||i>=Jc(t.typeParameters))&&i<=e.length(t.typeParameters)}))}function Mo(t,r,n){var i=Oo(t,r,n),a=e.map(r,Rd);return e.sameMap(i,(function(t){return e.some(t.typeParameters)?eu(t,a,e.isInJSFile(n)):t}))}function Lo(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration,n=e.getEffectiveBaseTypeNode(r),i=Io(t);if(!i)return t.resolvedBaseConstructorType=Pe;if(!ka(t,1))return ke;var a=OD(i.expression);if(n&&i!==n&&(e.Debug.assert(!n.typeArguments),OD(n.expression)),2621440&a.flags&&$s(a),!Na())return pn(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,da(t.symbol)),t.resolvedBaseConstructorType=ke;if(!(1&a.flags||a===Me||wo(a))){var o=pn(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,pa(a));if(262144&a.flags){var s=fu(a),c=Ne;if(s){var u=kc(s,1);u[0]&&(c=Xc(u[0]))}a.symbol.declarations&&e.addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,da(a.symbol),pa(c)))}return t.resolvedBaseConstructorType=ke}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function Ro(t,r){pn(t,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,pa(r,void 0,2))}function Bo(t){if(!t.baseTypesResolved){if(ka(t,7)&&(8&t.objectFlags?t.resolvedBaseTypes=[jo(t)]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=gc(Lo(t));if(!(2621441&r.flags))return t.resolvedBaseTypes=e.emptyArray;var n,i=Io(t),a=r.symbol?Xo(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=bu(e);return t[r].symbol!==n[r].symbol}return!0}(a))n=Eu(i,r.symbol);else if(1&r.flags)n=r;else{var o=Mo(r,i.typeArguments,i);if(!o.length)return pn(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;n=Xc(o[0])}if(n===ke)return t.resolvedBaseTypes=e.emptyArray;var s=Dc(n);if(!Jo(s)){var c=Ec(void 0,n),u=e.chainDiagnosticMessages(c,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,pa(s));return Zr.add(e.createDiagnosticForNodeFromMessageChain(i.expression,u)),t.resolvedBaseTypes=e.emptyArray}if(t===s||Co(s,t))return pn(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,pa(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray;t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0);t.resolvedBaseTypes=[s]}(t),64&t.symbol.flags&&function(t){if(t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray,t.symbol.declarations)for(var r=0,n=t.symbol.declarations;r0)return;for(var i=1;i1&&(n=void 0===n?i:-1);for(var a=0,o=t[i];a1){var l=s.thisParameter,d=e.forEach(c,(function(e){return e.thisParameter}));if(d)l=ef(d,Al(e.mapDefined(c,(function(e){return e.thisParameter&&So(e.thisParameter)}))));(u=Ds(s,c)).thisParameter=l}(r||(r=[])).push(u)}}}}if(!e.length(r)&&-1!==n){for(var _=t[void 0!==n?n:0],p=_.slice(),f=function(t){if(t!==_){var r=t[0];if(e.Debug.assert(!!r,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),!(p=r.typeParameters&&e.some(p,(function(e){return!!e.typeParameters&&!Cs(r.typeParameters,e.typeParameters)}))?void 0:e.map(p,(function(t){return function(t,r){var n,i=t.typeParameters||r.typeParameters;t.typeParameters&&r.typeParameters&&(n=zd(r.typeParameters,t.typeParameters));var a=t.declaration,o=function(e,t,r){for(var n=Ah(e),i=Ah(t),a=n>=i?e:t,o=a===e?t:e,s=a===e?n:i,c=Nh(e)||Nh(t),u=c&&!Nh(a),l=new Array(s+(u?1:0)),d=0;d=Fh(a)&&d>=Fh(o),y=d>=n?void 0:bh(e,d),v=d>=i?void 0:bh(t,d),h=hn(1|(m&&!g?16777216:0),(y===v?y:y?v?void 0:y:v)||"arg"+d);h.type=g?Zu(f):f,l[d]=h}if(u){var D=hn(1,"args");D.type=Zu(Th(o,s)),o===t&&(D.type=s_(D.type,r)),l[s]=D}return l}(t,r,n),s=function(e,t,r){if(!e||!t)return e||t;var n=Al([So(e),s_(So(t),r)]);return ef(e,n)}(t.thisParameter,r.thisParameter,n),c=Math.max(t.minArgumentCount,r.minArgumentCount),u=vs(a,i,s,o,void 0,void 0,c,39&(t.flags|r.flags));u.compositeKind=1048576,u.compositeSignatures=e.concatenate(2097152!==t.compositeKind&&t.compositeSignatures||[t],[r]),n&&(u.mapper=2097152!==t.compositeKind&&t.mapper&&t.compositeSignatures?Gd(t.mapper,n):n);return u}(t,r)}))))return"break"}},g=0,m=t;g0})),n=e.map(t,Po);if(r>0&&r===e.countWhere(n,(function(e){return e}))){var i=n.indexOf(!0);n[i]=!1}return n}function ws(t){for(var r,n,i,a,o=t.types,s=Ps(o),c=e.countWhere(s,(function(e){return e})),u=function(u){var l=t.types[u];if(!s[u]){var d=kc(l,1);d.length&&c>0&&(d=e.map(d,(function(e){var t=hs(e);return t.resolvedReturnType=function(e,t,r,n){for(var i=[],a=0;a=p&&c<=f){var g=f?ru(_,Kc(s,_.typeParameters,p,o)):hs(_);g.typeParameters=t.localTypeParameters,g.resolvedReturnType=t,g.flags=i?4|g.flags:-5&g.flags,u.push(g)}}return u}(_)),t.constructSignatures=i}}}function Ms(e,t,r){return s_(e,zd([t.indexType,t.objectType],[wd(0),ol([r])]))}function Ls(t,r){var n=lu(t,r);if(n)return du(n.type?Rd(n.type):Ee,e.hasEffectiveModifier(n,64),n)}function Rs(t){if(4194304&t.flags){var r=gc(t.type);return Mp(r)?dl(r):Bl(r)}if(16777216&t.flags){if(t.root.isDistributive){var n=t.checkType,i=Rs(n);if(i!==n)return o_(t,Yd(t.root.checkType,i,t.mapper))}return t}return 1048576&t.flags?Og(t,Rs):2097152&t.flags?Al(e.sameMap(t.types,Rs)):t}function Bs(t){return 4096&e.getCheckFlags(t)}function js(t){var r,n,i=e.createSymbolTable();Gi(t,C,e.emptyArray,e.emptyArray,void 0,void 0);var a=Js(t),o=Ks(t),s=zs(t.target||t),c=Us(t.target||t),u=gc(Ws(t)),l=Hs(t),d=Q?128:8576;if(qs(t)){for(var _=0,p=tc(u);_=7,rr||(rr=Vu("BigInt",0,r))||it):528&n.flags?kt:12288&n.flags?Wu(z>=2):67108864&n.flags?it:4194304&n.flags?Ze:2&n.flags&&!W?it:n}function mc(e){return Dc(gc(Dc(e)))}function yc(t,r,n){for(var i,a,o,s,c,u=1048576&t.flags,l=u?0:16777216,d=4,_=0,p=!1,f=0,g=t.types;f2?(N.checkFlags|=65536,N.deferralParent=t,N.deferralConstituents=E):N.type=u?xl(E):Al(E),N}}function vc(t,r,n){var i,a,o=(null===(i=t.propertyCacheWithoutObjectFunctionPropertyAugment)||void 0===i?void 0:i.get(r))||!n?null===(a=t.propertyCache)||void 0===a?void 0:a.get(r):void 0;o||(o=yc(t,r,n))&&(n?t.propertyCacheWithoutObjectFunctionPropertyAugment||(t.propertyCacheWithoutObjectFunctionPropertyAugment=e.createSymbolTable()):t.propertyCache||(t.propertyCache=e.createSymbolTable())).set(r,o);return o}function hc(t,r,n){var i=vc(t,r,n);return!i||16&e.getCheckFlags(i)?void 0:i}function Dc(t){return 1048576&t.flags&&67108864&t.objectFlags?t.resolvedReducedType||(t.resolvedReducedType=function(t){var r=e.sameMap(t.types,Dc);if(r===t.types)return t;var n=xl(r);1048576&n.flags&&(n.resolvedReducedType=n);return n}(t)):2097152&t.flags?(67108864&t.objectFlags||(t.objectFlags|=67108864|(e.some(ec(t),xc)?134217728:0)),134217728&t.objectFlags?We:t):t}function xc(e){return bc(e)||Sc(e)}function bc(t){return!(16777216&t.flags||192!=(131264&e.getCheckFlags(t))||!(131072&So(t).flags))}function Sc(t){return!t.valueDeclaration&&!!(1024&e.getCheckFlags(t))}function Ec(t,r){if(2097152&r.flags&&134217728&e.getObjectFlags(r)){var n=e.find(ec(r),bc);if(n)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,pa(r,void 0,536870912),da(n));var i=e.find(ec(r),Sc);if(i)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,pa(r,void 0,536870912),da(i))}return t}function Tc(e,t,r){if(524288&(e=mc(e)).flags){var n=$s(e),i=n.members.get(t);if(i&&Bi(i))return i;if(r)return;var a=n===ut?Dt:n.callSignatures.length?xt:n.constructSignatures.length?bt:void 0;if(a){var o=Zs(a,t);if(o)return o}return Zs(ht,t)}if(3145728&e.flags)return hc(e,t,r)}function Cc(t,r){if(3670016&t.flags){var n=$s(t);return 0===r?n.callSignatures:n.constructSignatures}return e.emptyArray}function kc(e,t){return Cc(mc(e),t)}function Ac(e,t){if(3670016&e.flags){var r=$s(e);return 0===t?r.stringIndexInfo:r.numberIndexInfo}}function Fc(e,t){var r=Ac(e,t);return r&&r.type}function Nc(e,t){return Ac(mc(e),t)}function Pc(e,t){return Fc(mc(e),t)}function wc(t,r){if(Zp(t)){for(var n=[],i=0,a=tc(t);i=0),n>=Fh(r,3)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length)}function Bc(t){if(!e.isJSDocPropertyLikeTag(t))return!1;var r=t.isBracketed,n=t.typeExpression;return r||!!n&&308===n.type.kind}function jc(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function Jc(t){var r,n=0;if(t)for(var i=0;i=n&&o<=a){for(var s=t?t.slice():[],c=o;cu.arguments.length&&!f||Mc(_)||(o=i.length)}if((168===t.kind||169===t.kind)&&ls(t)&&(!c||!s)){var g=168===t.kind?169:168,m=e.getDeclarationOfKind(Pi(t),g);m&&(s=(r=vE(m))&&r.symbol)}var y=167===t.kind?Ko(Ni(t.parent.symbol)):void 0,v=y?y.localTypeParameters:Ic(t);(e.hasRestParameter(t)||e.isInJSFile(t)&&function(t,r){if(e.isJSDocSignature(t)||!Vc(t))return!1;var n=e.lastOrUndefined(t.parameters),i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,(function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0})),o=hn(3,"args",32768);o.type=a?Zu(Rd(a.type)):Nt,a&&r.pop();return r.push(o),!0}(t,i))&&(a|=1),(e.isConstructorTypeNode(t)&&e.hasSyntacticModifier(t,128)||e.isConstructorDeclaration(t)&&e.hasSyntacticModifier(t.parent,128))&&(a|=4),n.resolvedSignature=vs(t,v,s,i,void 0,void 0,o,a)}return n.resolvedSignature}function Uc(t){if(e.isInJSFile(t)&&e.isFunctionLikeDeclaration(t)){var r=e.getJSDocTypeTag(t);return(null==r?void 0:r.typeExpression)&&Tv(Rd(r.typeExpression))}}function Vc(t){var r=Fn(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=function t(r){if(!r)return!1;switch(r.kind){case 78:return r.escapedText===se.escapedName&&Hf(r)===se;case 164:case 166:case 168:case 169:return 159===r.name.kind&&t(r.name);case 202:case 203:return t(r.expression);default:return!e.nodeStartsNewLexicalEnvironment(r)&&!e.isPartOfTypeNode(r)&&!!e.forEachChild(r,t)}}(t.body)),r.containsArgumentsReference}function qc(t){if(!t||!t.declarations)return e.emptyArray;for(var r=[],n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)continue}r.push(zc(i))}}return r}function Wc(e){var t=mi(e,e);if(t){var r=Di(t);if(r)return So(r)}return Ee}function Hc(e){if(e.thisParameter)return So(e.thisParameter)}function Gc(t){if(!t.resolvedTypePredicate){if(t.target){var r=Gc(t.target);t.resolvedTypePredicate=r?(o=r,s=t.mapper,jc(o.kind,o.parameterName,o.parameterIndex,s_(o.type,s))):lr}else if(t.compositeSignatures)t.resolvedTypePredicate=function(e,t){for(var r,n=[],i=0,a=e;i=0}function Zc(e){if(J(e)){var t=So(e.parameters[e.parameters.length-1]),r=Op(t)?Rp(t):t;return r&&Pc(r,1)}}function eu(e,t,r,n){var i=tu(e,Kc(t,e.typeParameters,Jc(e.typeParameters),r));if(n){var a=Cv(Xc(i));if(a){var o=hs(a);o.typeParameters=n;var s=hs(i);return s.resolvedReturnType=ou(o),s}}return i}function tu(t,r){var n=t.instantiations||(t.instantiations=new e.Map),i=mu(r),a=n.get(i);return a||n.set(i,a=ru(t,r)),a}function ru(e,t){return Qd(e,function(e,t){return zd(e.typeParameters,t)}(e,t),!0)}function nu(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function(e){return Qd(e,Hd(e.typeParameters),!0)}(e)):e}function iu(t){return t.typeParameters?t.canonicalSignatureCache||(t.canonicalSignatureCache=function(t){return eu(t,e.map(t.typeParameters,(function(e){return e.target&&!nc(e.target)?e.target:e})),e.isInJSFile(t.declaration))}(t)):t}function au(t){var r=t.typeParameters;if(r){if(t.baseSignatureCache)return t.baseSignatureCache;for(var n=Hd(r),i=zd(r,e.map(r,(function(e){return nc(e)||Ne}))),a=e.map(r,(function(e){return s_(e,i)||Ne})),o=0;o1&&(t+=":"+a),n+=a}return t}function yu(e,t){return e?"@"+M(e)+(t?":"+mu(t):""):""}function vu(t,r){for(var n=0,i=0,a=t;ii.length)){var c=s&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);if(pn(t,o===i.length?c?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:c?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,pa(n,void 0,2),o,i.length),!s)return ke}return 174===t.kind&&nl(t,e.length(t.typeArguments)!==i.length)?xu(n,t,void 0):hu(n,e.concatenate(n.outerTypeParameters,Kc(Bu(t),i,o,s)))}return Mu(t,r)?n:ke}function Tu(t,r,n,i){var a=Xo(t);if(a===Fe&&P.has(t.escapedName)&&r&&1===r.length)return zl(t,r[0]);var o=An(t),s=o.typeParameters,c=mu(r)+yu(n,i),u=o.instantiations.get(c);return u||o.instantiations.set(c,u=c_(a,zd(s,Kc(r,s,Jc(s),e.isInJSFile(t.valueDeclaration))),n,i)),u}function Cu(t){var r,n=null===(r=t.declarations)||void 0===r?void 0:r.find(e.isTypeAlias);return!(!n||!e.getContainingFunction(n))}function ku(t){switch(t.kind){case 174:return t.typeName;case 224:var r=t.expression;if(e.isEntityNameExpression(r))return r}}function Au(e,t,r){return e&&fi(e,t,r)||be}function Fu(t,r){if(r===be)return ke;if(96&(r=function(t){var r=t.valueDeclaration;if(r&&e.isInJSFile(r)&&!(524288&t.flags)&&!e.getExpandoInitializer(r,!1)){var n=e.isVariableDeclaration(r)?e.getDeclaredExpandoInitializer(r):e.getAssignedExpandoInitializer(r);if(n){var i=Pi(n);if(i)return sh(i,t)}}}(r)||r).flags)return Eu(t,r);if(524288&r.flags)return function(t,r){var n=Xo(r),i=An(r).typeParameters;if(i){var a=e.length(t.typeArguments),o=Jc(i);if(ai.length)return pn(t,o===i.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,da(r),o,i.length),ke;var s=hd(t),c=!s||!Cu(r)&&Cu(s)?void 0:s;return Tu(r,Bu(t),c,Dd(c))}return Mu(t,r)?n:ke}(t,r);var n=$o(r);if(n)return Mu(t,r)?Nd(n):ke;if(111551&r.flags&&Ou(t)){var i=function(e,t){var r=Fn(e);if(!r.resolvedJSDocType){var n=So(t),i=n;if(t.valueDeclaration){var a=196===e.kind&&e.qualifier;n.symbol&&n.symbol!==t&&a&&(i=Fu(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(t,r);return i||(Au(ku(t),788968),So(r))}return ke}function Nu(e,t){if(3&t.flags||t===e)return e;var r=fl(e)+">"+fl(t),n=ve.get(r);if(n)return n;var i=Ji(33554432);return i.baseType=e,i.substitute=t,ve.set(r,i),i}function Pu(e){return 180===e.kind&&1===e.elements.length}function wu(e,t,r){return Pu(t)&&Pu(r)?wu(e,t.elements[0],r.elements[0]):cd(Rd(t))===e?Rd(r):void 0}function Iu(t,r){for(var n,i=!0;r&&!e.isStatement(r)&&312!==r.kind;){var a=r.parent;if(161===a.kind&&(i=!i),(i||8650752&t.flags)&&185===a.kind&&r===a.trueType){var o=wu(t,a.checkType,a.extendsType);o&&(n=e.append(n,o))}r=a}return n?Nu(t,Al(e.append(n,t))):t}function Ou(e){return!!(4194304&e.flags)&&(174===e.kind||196===e.kind)}function Mu(t,r){return!t.typeArguments||(pn(t,e.Diagnostics.Type_0_is_not_generic,r?da(r):t.typeName?e.declarationNameToString(t.typeName):u),!1)}function Lu(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case"String":return Mu(t),Le;case"Number":return Mu(t),Re;case"Boolean":return Mu(t),Ue;case"Void":return Mu(t),qe;case"Undefined":return Mu(t),Pe;case"Null":return Mu(t),Oe;case"Function":case"function":return Mu(t),Dt;case"array":return r&&r.length||X?void 0:Nt;case"promise":return r&&r.length||X?void 0:Bh(Ee);case"Object":if(r&&2===r.length){if(e.isJSDocIndexSignature(t)){var n=Rd(r[0]),i=du(Rd(r[1]),!1);return Yi(void 0,C,e.emptyArray,e.emptyArray,n===Le?i:void 0,n===Re?i:void 0)}return Ee}return Mu(t),X?void 0:Ee}}}function Ru(t){var r=Fn(t);if(!r.resolvedType){if(e.isConstTypeReference(t)&&e.isAssertionExpression(t.parent))return r.resolvedSymbol=be,r.resolvedType=mD(t.parent.expression);var n=void 0,i=void 0,a=788968;Ou(t)&&((i=Lu(t))||((n=Au(ku(t),a,!0))===be?n=Au(ku(t),900095):Au(ku(t),a),i=Fu(t,n))),i||(i=Fu(t,n=Au(ku(t),a))),r.resolvedSymbol=n,r.resolvedType=i}return r.resolvedType}function Bu(t){return e.map(t.typeArguments,Rd)}function ju(e){var t=Fn(e);return t.resolvedType||(t.resolvedType=Nd(cf(OD(e.exprName)))),t.resolvedType}function Ju(t,r){function n(e){var t=e.declarations;if(t)for(var r=0,n=t;r=0)return Nl(e.map(r,(function(e,r){return 8&t.elementFlags[r]?e:Ne})))?Og(r[o],(function(n){return ul(t,e.replaceElement(r,o,n))})):ke}for(var s=[],c=[],u=[],l=-1,_=-1,p=-1,f=function(o){var c=r[o],u=t.elementFlags[o];if(8&u)if(58982400&c.flags||Xs(c))v(c,8,null===(n=t.labeledElementDeclarations)||void 0===n?void 0:n[o]);else if(Op(c)){var l=bu(c);if(l.length+s.length>=1e4)return pn(d,e.isPartOfTypeNode(d)?e.Diagnostics.Type_produces_a_tuple_type_that_is_too_large_to_represent:e.Diagnostics.Expression_produces_a_tuple_type_that_is_too_large_to_represent),{value:ke};e.forEach(l,(function(e,t){var r;return v(e,c.target.elementFlags[t],null===(r=c.target.labeledElementDeclarations)||void 0===r?void 0:r[t])}))}else v(Dp(c)&&Pc(c,1)||ke,4,null===(i=t.labeledElementDeclarations)||void 0===i?void 0:i[o]);else v(c,u,null===(a=t.labeledElementDeclarations)||void 0===a?void 0:a[o])},g=0;g=0&&_i.fixedLength?function(e){var t=Rp(e);return t&&Zu(t)}(t)||ol(e.emptyArray):ol(bu(t).slice(r,a),i.elementFlags.slice(r,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(r,a))}function dl(t){return xl(e.append(e.arrayOf(t.target.fixedLength,(function(e){return wd(""+e)})),Bl(t.target.readonly?Et:St)))}function _l(t,r){var n=e.findIndex(t.elementFlags,(function(e){return!(e&r)}));return n>=0?n:t.elementFlags.length}function pl(t,r){return t.elementFlags.length-e.findLastIndex(t.elementFlags,(function(e){return!(e&r)}))-1}function fl(e){return e.id}function gl(t,r){return e.binarySearch(t,r,fl,e.compareValues)>=0}function ml(t,r){var n=e.binarySearch(t,r,fl,e.compareValues);return n<0&&(t.splice(~n,0,r),!0)}function yl(t,r,n){var i=n.flags;if(1048576&i)return vl(t,r|(function(e){return!!(1048576&e.flags&&(e.aliasSymbol||e.origin))}(n)?1048576:0),n.types);if(!(131072&i))if(r|=205258751&i,469499904&i&&(r|=262144),n===Ce&&(r|=8388608),!W&&98304&i)131072&e.getObjectFlags(n)||(r|=4194304);else{var a=t.length,o=a&&n.id>t[a-1].id?~a:e.binarySearch(t,n,fl,e.compareValues);o<0&&t.splice(~o,0,n)}return r}function vl(e,t,r){for(var n=0,i=r;n0;){var a=t[--i],o=a.flags;(128&o&&4&r||256&o&&8&r||2048&o&&64&r||8192&o&&4096&r||n&&32768&o&&16384&r||Pd(a)&&gl(t,a.regularType))&&e.orderedRemoveItemAt(t,i)}}(o,s,!!(2&r)),128&s&&134217728&s&&function(t){var r=e.filter(t,Yl);if(r.length)for(var n=t.length,i=function(){n--;var i=t[n];128&i.flags&&e.some(r,(function(e){return x_(i,e)}))&&e.orderedRemoveItemAt(t,n)};n>0;)i()}(o),2===r&&!(o=function(t,r){var n=mu(t),i=he.get(n);if(i)return i;for(var a=r&&e.some(t,(function(e){return!!(524288&e.flags)&&!Xs(e)&&j_($s(e))})),o=t.length,s=o,c=0;s>0;){var u=t[--s];if(a||469499904&u.flags)for(var l=61603840&u.flags?e.find(tc(u),(function(e){return Cp(So(e))})):void 0,_=l&&Nd(So(l)),p=0,f=t;p1e6)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","removeSubtypes_DepthLimit",{typeIds:t.map((function(e){return e.id}))}),void pn(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent);if(c++,l&&61603840&g.flags){var m=wa(g,l.escapedName);if(m&&Cp(m)&&Nd(m)!==_)continue}if(q_(u,g,an)&&(!(1&e.getObjectFlags(To(u)))||!(1&e.getObjectFlags(To(g)))||S_(u,g))){e.orderedRemoveItemAt(t,s);break}}}}return he.set(n,t),t}(o,!!(524288&s))))return ke;if(0===o.length)return 65536&s?4194304&s?Oe:Me:32768&s?4194304&s?Pe:we:We}if(!a&&1048576&s){var c=[];hl(c,t);for(var u=[],l=function(t){e.some(c,(function(e){return gl(e.types,t)}))||u.push(t)},_=0,p=o;_0;){var i=t[--r];if(134217728&i.flags)for(var a=0,o=n;a0;){var i=t[--n];(4&i.flags&&128&r||8&i.flags&&256&r||64&i.flags&&2048&r||4096&i.flags&&8192&r)&&e.orderedRemoveItemAt(t,n)}}(o,a),16777216&a&&524288&a&&e.orderedRemoveItemAt(o,e.findIndex(o,K_)),0===o.length)return Ne;if(1===o.length)return o[0];var s=mu(o)+yu(r,n),c=pe.get(s);if(!c){if(1048576&a)if(function(t){var r,n=e.findIndex(t,(function(t){return!!(65536&e.getObjectFlags(t))}));if(n<0)return!1;for(var i=n+1;i=0;o--)if(1048576&e[o].flags){var s=e[o].types,c=s.length;i[o]=s[a%c],a=Math.floor(a/c)}var u=Al(i);131072&u.flags||r.push(u)}return r}(o);c=xl(u,1,r,n,e.some(u,(function(e){return!!(2097152&e.flags)}))?Dl(2097152,o):void 0)}else c=function(e,t,r){var n=Ji(2097152);return n.objectFlags=vu(e,98304),n.types=e,n.aliasSymbol=t,n.aliasTypeArguments=r,n}(o,r,n);pe.set(s,c)}return c}function Fl(t){return e.reduceLeft(t,(function(e,t){return 1048576&t.flags?e*t.types.length:131072&t.flags?0:e}),1)}function Nl(t){var r=Fl(t);return!(r>=1e5)||(null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","checkCrossProductUnion_DepthLimit",{typeIds:t.map((function(e){return e.id})),size:r}),pn(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function Pl(e,t){var r=Ji(4194304);return r.type=e,r.stringsOnly=t,r}function wl(e,t,r){return s_(e,Xd(t.mapper,Js(t),r))}function Il(t){return!(!t||!(16777216&t.flags&&(!t.root.isDistributive||Il(t.checkType))||137363456&t.flags&&e.some(t.types,Il)||272629760&t.flags&&Il(t.type)||8388608&t.flags&&Il(t.indexType)||33554432&t.flags&&Il(t.substitute)))}function Ol(t){return e.isPrivateIdentifier(t)?We:e.isIdentifier(t)?wd(e.unescapeLeadingUnderscores(t.escapedText)):Nd(e.isComputedPropertyName(t)?sy(t):OD(t))}function Ml(t,r){if(!(24&e.getDeclarationModifierFlagsFromSymbol(t))){var n=An(gs(t)).nameType;if(!n)if("default"===t.escapedName)n=wd("default");else{var i=t.valueDeclaration&&e.getNameOfDeclaration(t.valueDeclaration);n=i&&Ol(i)||(e.isKnownSymbol(t)?void 0:wd(e.symbolName(t)))}if(n&&n.flags&r)return n}return We}function Ll(t,r,n){var i=n&&(7&e.getObjectFlags(t)||t.aliasSymbol)?function(e){var t=Ki(4194304);return t.type=e,t}(t):void 0;return xl(e.map(tc(t),(function(e){return Ml(e,r)})),1,void 0,void 0,i)}function Rl(e){var t=Nc(e,1);return t!==gr?t:void 0}function Bl(t,r,n){void 0===r&&(r=Q);var i=r===Q&&!n;return 1048576&(t=Dc(t)).flags?Al(e.map(t.types,(function(e){return Bl(e,r,n)}))):2097152&t.flags?xl(e.map(t.types,(function(e){return Bl(e,r,n)}))):58982400&t.flags||Mp(t)||Xs(t)&&Il(zs(t))?function(e,t){return t?e.resolvedStringIndexType||(e.resolvedStringIndexType=Pl(e,!0)):e.resolvedIndexType||(e.resolvedIndexType=Pl(e,!1))}(t,r):32&e.getObjectFlags(t)?function(t,r){var n=wg(Ks(t),(function(e){return!(r&&5&e.flags)})),i=t.declaration.nameType&&Rd(t.declaration.nameType),a=i&&Pg(n,(function(e){return!!(131084&e.flags)}))&&tc(gc(Ws(t)));return i?xl([Og(n,(function(e){return wl(i,t,e)})),Og(xl(e.map(a||e.emptyArray,(function(e){return Ml(e,8576)}))),(function(e){return wl(i,t,e)}))]):n}(t,n):t===Ce?Ce:2&t.flags?We:131073&t.flags?Ze:r?!n&&Nc(t,0)?Le:Ll(t,128,i):!n&&Nc(t,0)?xl([Le,Re,Ll(t,8192,i)]):Rl(t)?xl([Re,Ll(t,8320,i)]):Ll(t,8576,i)}function jl(t){if(Q)return t;var r=er||(er=Uu("Extract",524288,e.Diagnostics.Cannot_find_global_type_0));return r?Tu(r,[t,Le]):Le}function Jl(t,r){var n=e.findIndex(r,(function(e){return!!(1179648&e.flags)}));if(n>=0)return Nl(r)?Og(r[n],(function(i){return Jl(t,e.replaceElement(r,n,i))})):ke;if(e.contains(r,Ce))return Ce;var i=[],a=[],o=t[0];if(!function e(t,r){for(var n=0;n=0){if(o&&Pg(r,(function(e){return!e.target.hasRestElement}))&&!(8&s)){var g=Hl(o);Op(r)?pn(g,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,pa(r),Su(r),e.unescapeLeadingUnderscores(_)):pn(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),pa(r))}return E(Nc(r,1)),Og(r,(function(e){var t=Rp(e)||Pe;return c?xl([t,Pe]):t}))}}if(!(98304&n.flags)&&iD(n,402665900)){if(131073&r.flags)return r;var m=Nc(r,0),y=iD(n,296)&&Nc(r,1)||m;if(y)return 1&s&&y===m?void(d&&pn(d,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,pa(n),pa(t))):o&&!iD(n,12)?(pn(g=Hl(o),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,pa(n)),c?xl([y.type,Pe]):y.type):(E(y),c?xl([y.type,Pe]):y.type);if(131072&n.flags)return We;if(Ul(r))return Ee;if(d&&!oD(r)){if(jf(r)){if(X&&384&n.flags)return Zr.add(e.createDiagnosticForNode(d,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,pa(r))),Pe;if(12&n.flags){var v=e.map(r.properties,(function(e){return So(e)}));return xl(e.append(v,Pe))}}if(r.symbol===ae&&void 0!==_&&ae.exports.has(_)&&418&ae.exports.get(_).flags)pn(d,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),pa(r));else if(X&&!A.suppressImplicitAnyIndexErrors&&!a)if(void 0!==_&&tv(_,r)){var h=pa(r);pn(d,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,_,h,h+"["+e.getTextOfNode(d.argumentExpression)+"]")}else if(Pc(r,1))pn(d.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var D=void 0;if(void 0!==_&&(D=iv(_,r)))void 0!==D&&pn(d.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,_,pa(r),D);else{var x=function(t,r,n){function i(e){var r=Zs(t,e);if(r){var i=Tv(So(r));return!!i&&Fh(i)>=1&&b_(n,Th(i,0))}return!1}var a=e.isAssignmentTarget(r)?"set":"get";if(!i(a))return;var o=e.tryGetPropertyAccessOrIdentifierToString(r.expression);void 0===o?o=a:o+="."+a;return o}(r,d,n);if(void 0!==x)pn(d,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,pa(r),x);else{var b=void 0;if(1024&n.flags)b=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+pa(n)+"]",pa(r));else if(8192&n.flags){var S=pi(n.symbol,d);b=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+S+"]",pa(r))}else 128&n.flags||256&n.flags?b=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,pa(r)):12&n.flags&&(b=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,pa(n),pa(r)));b=e.chainDiagnosticMessages(b,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,pa(i),pa(r)),Zr.add(e.createDiagnosticForNodeFromMessageChain(d,b))}}}return}}if(Ul(r))return Ee;if(o){g=Hl(o);384&n.flags?pn(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+n.value,pa(r)):12&n.flags?pn(g,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,pa(r),pa(n)):pn(g,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,pa(n))}return Ia(n)?n:void 0;function E(t){t&&t.isReadonly&&d&&(e.isAssignmentTarget(d)||e.isDeleteTarget(d))&&pn(d,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,pa(r))}}function Hl(e){return 203===e.kind?e.argumentExpression:190===e.kind?e.indexType:159===e.kind?e.expression:e}function Gl(e){return!!(77&e.flags)}function Yl(t){return!!(134217728&t.flags)&&e.every(t.types,Gl)}function Xl(t){return 3145728&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|(e.some(t.types,Xl)?8388608:0)),!!(8388608&t.objectFlags)):33554432&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|(Xl(t.substitute)||Xl(t.baseType)?8388608:0)),!!(8388608&t.objectFlags)):!!(58982400&t.flags)||Xs(t)||Mp(t)}function $l(t){return 3145728&t.flags?(16777216&t.objectFlags||(t.objectFlags|=16777216|(e.some(t.types,$l)?33554432:0)),!!(33554432&t.objectFlags)):33554432&t.flags?(16777216&t.objectFlags||(t.objectFlags|=16777216|($l(t.substitute)||$l(t.baseType)?33554432:0)),!!(33554432&t.objectFlags)):!!(465829888&t.flags)&&!Yl(t)}function Ql(e){return!!(262144&e.flags&&e.isThisType)}function Zl(t,r){return 8388608&t.flags?function(t,r){var n=r?"simplifiedForWriting":"simplifiedForReading";if(t[n])return t[n]===dt?t:t[n];t[n]=dt;var i=Zl(t.objectType,r),a=Zl(t.indexType,r),o=function(t,r,n){if(1048576&r.flags){var i=e.map(r.types,(function(e){return Zl(nd(t,e),n)}));return n?Al(i):xl(i)}}(i,a,r);if(o)return t[n]=o;if(!(465829888&a.flags)){var s=ed(i,a,r);if(s)return t[n]=s}if(Mp(i)&&296&a.flags){var c=Bp(i,8&a.flags?0:i.target.fixedLength,0,r);if(c)return t[n]=c}if(Xs(i))return t[n]=Og(rd(i,t.indexType),(function(e){return Zl(e,r)}));return t[n]=t}(t,r):16777216&t.flags?function(e,t){var r=e.checkType,n=e.extendsType,i=_d(e),a=pd(e);if(131072&a.flags&&cd(i)===cd(r)){if(1&r.flags||b_(l_(r),l_(n)))return Zl(i,t);if(td(r,n))return We}else if(131072&i.flags&&cd(a)===cd(r)){if(!(1&r.flags)&&b_(l_(r),l_(n)))return We;if(1&r.flags||td(r,n))return Zl(a,t)}return e}(t,r):t}function ed(t,r,n){if(3145728&t.flags){var i=e.map(t.types,(function(e){return Zl(nd(e,r),n)}));return 2097152&t.flags||n?Al(i):xl(i)}}function td(e,t){return!!(131072&xl([As(e,t),We]).flags)}function rd(e,t){var r=zd([Js(e)],[t]),n=Gd(e.mapper,r);return s_(Us(e),n)}function nd(e,t,r,n,i,a,o){return void 0===o&&(o=0),ad(e,t,r,n,o,i,a)||(n?ke:Ne)}function id(e,t){return Pg(e,(function(e){if(384&e.flags){var r=ds(e);if(oy(r)){var n=+r;return n>=0&&n=5e6)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","instantiateType_DepthLimit",{typeId:t.id,instantiationDepth:T,instantiationCount:b}),pn(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),ke;x++,b++,T++;var a=function(t,r,n,i){var a=t.flags;if(262144&a)return Ud(t,r);if(524288&a){var o=t.objectFlags;if(52&o){if(4&o&&!t.node){var s=t.resolvedTypeArguments,c=Jd(s,r);return c!==s?cl(t.target,c):t}return 1024&o?function(t,r){var n=s_(t.mappedType,r);if(!(32&e.getObjectFlags(n)))return t;var i=s_(t.constraintType,r);if(!(4194304&i.flags))return t;var a=Tf(s_(t.source,r),n,i);if(a)return a;return t}(t,r):function(t,r,n,i){var a=4&t.objectFlags?t.node:t.symbol.declarations[0],o=Fn(a),s=4&t.objectFlags?o.resolvedType:64&t.objectFlags?t.target:t,c=o.outerTypeParameters;if(!c){var u=Ao(a,!0);if(oh(a)){var l=Ic(a);u=e.addRange(u,l)}c=u||e.emptyArray;var d=4&t.objectFlags?[a]:t.symbol.declarations;c=(4&s.objectFlags||8192&s.symbol.flags||2048&s.symbol.flags)&&!s.aliasTypeArguments?e.filter(c,(function(t){return e.some(d,(function(e){return e_(t,e)}))})):c,o.outerTypeParameters=c}if(c.length){var _=Gd(t.mapper,r),p=e.map(c,(function(e){return Ud(e,_)})),f=n||t.aliasSymbol,g=n?i:Jd(t.aliasTypeArguments,r),m=mu(p)+yu(f,g);s.instantiations||(s.instantiations=new e.Map,s.instantiations.set(mu(c)+yu(s.aliasSymbol,s.aliasTypeArguments),s));var y=s.instantiations.get(m);if(!y){var v=zd(c,p);y=4&s.objectFlags?xu(t.target,t.node,v,f,g):32&s.objectFlags?r_(s,v,f,g):a_(s,v,f,g),s.instantiations.set(m,y)}return y}return t}(t,r,n,i)}return t}if(3145728&a){var u=1048576&t.flags?t.origin:void 0,l=u&&3145728&u.flags?u.types:t.types,d=Jd(l,r);if(d===l&&n===t.aliasSymbol)return t;var _=n||t.aliasSymbol,p=n?i:Jd(t.aliasTypeArguments,r);return 2097152&a||u&&2097152&u.flags?Al(d,_,p):xl(d,1,_,p)}if(4194304&a)return Bl(s_(t.type,r));if(134217728&a)return Jl(t.texts,Jd(t.types,r));if(268435456&a)return zl(t.symbol,s_(t.type,r));if(8388608&a){_=n||t.aliasSymbol,p=n?i:Jd(t.aliasTypeArguments,r);return nd(s_(t.objectType,r),s_(t.indexType,r),t.noUncheckedIndexedAccessCandidate,void 0,_,p)}if(16777216&a)return o_(t,Gd(t.mapper,r),n,i);if(33554432&a){var f=s_(t.baseType,r);if(8650752&f.flags)return Nu(f,s_(t.substitute,r));var g=s_(t.substitute,r);return 3&g.flags||b_(l_(f),l_(g))?f:g}return t}(t,r,n,i);return T--,a}function u_(e){return 262143&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=s_(e,nt))}function l_(e){return 262143&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=s_(e,rt),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function d_(e,t){return e&&du(s_(e.type,t),e.isReadonly,e.declaration)}function __(t){switch(e.Debug.assert(166!==t.kind||e.isObjectLiteralMethod(t)),t.kind){case 209:case 210:case 166:case 252:return p_(t);case 201:return e.some(t.properties,__);case 200:return e.some(t.elements,__);case 218:return __(t.whenTrue)||__(t.whenFalse);case 217:return(56===t.operatorToken.kind||60===t.operatorToken.kind)&&(__(t.left)||__(t.right));case 289:return __(t.initializer);case 208:return __(t.expression);case 282:return e.some(t.properties,__)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,__);case 281:var r=t.initializer;return!!r&&__(r);case 284:var n=t.expression;return!!n&&__(n)}return!1}function p_(t){return(!e.isFunctionDeclaration(t)||e.isInJSFile(t)&&!!za(t))&&(f_(t)||function(t){return!t.typeParameters&&!e.getEffectiveReturnTypeNode(t)&&!!t.body&&231!==t.body.kind&&__(t.body)}(t))}function f_(t){if(!t.typeParameters){if(e.some(t.parameters,(function(t){return!e.getEffectiveTypeAnnotationNode(t)})))return!0;if(210!==t.kind){var r=e.firstOrUndefined(t.parameters);if(!r||!e.parameterIsThisKeyword(r))return!0}}return!1}function g_(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||Qm(t)||e.isObjectLiteralMethod(t))&&p_(t)}function m_(t){if(524288&t.flags){var r=$s(t);if(r.constructSignatures.length||r.callSignatures.length){var n=Vi(16,t.symbol);return n.members=r.members,n.properties=r.properties,n.callSignatures=e.emptyArray,n.constructSignatures=e.emptyArray,n}}else if(2097152&t.flags)return Al(e.map(t.types,m_));return t}function y_(e,t){return q_(e,t,cn)}function v_(e,t){return q_(e,t,cn)?-1:0}function h_(e,t){return q_(e,t,on)?-1:0}function D_(e,t){return q_(e,t,nn)?-1:0}function x_(e,t){return q_(e,t,nn)}function b_(e,t){return q_(e,t,on)}function S_(t,r){return 1048576&t.flags?e.every(t.types,(function(e){return S_(e,r)})):1048576&r.flags?e.some(r.types,(function(e){return S_(t,e)})):58982400&t.flags?S_(cc(t)||Ne,r):r===ht?!!(67633152&t.flags):r===Dt?!!(524288&t.flags)&&lg(t):Co(t,To(r))||mp(r)&&!yp(r)&&S_(t,Et)}function E_(e,t){return q_(e,t,sn)}function T_(e,t){return E_(e,t)||E_(t,e)}function C_(e,t,r,n,i,a){return G_(e,t,on,r,n,i,a)}function k_(e,t,r,n,i,a){return A_(e,t,on,r,n,i,a,void 0)}function A_(e,t,r,n,i,a,o,s){return!!q_(e,t,r)||(!n||!N_(i,e,t,r,a,o,s))&&G_(e,t,r,n,a,o,s)}function F_(t){return!!(16777216&t.flags||2097152&t.flags&&e.some(t.types,F_))}function N_(t,n,a,o,s,c,u){if(!t||F_(a))return!1;if(!G_(n,a,o,void 0)&&function(t,r,n,i,a,o,s){for(var c=kc(r,0),u=kc(r,1),l=0,d=[u,c];l1,v=wg(g,Ep),h=wg(g,(function(e){return!Ep(e)}));if(y){if(v!==We){var D=ol(gy(d,0));l=I_(function(t,r){var n,a,o,s,c;return i(this,(function(i){switch(i.label){case 0:if(!e.length(t.children))return[2];n=0,a=0,i.label=1;case 1:return au:Fh(t)>u))return 0;t.typeParameters&&t.typeParameters!==r.typeParameters&&(t=Av(t,r=iu(r),void 0,s));var l=Ah(t),d=wh(t),_=wh(r);if((d||_)&&s_(d||_,c),d&&_&&l!==u)return 0;var p=r.declaration?r.declaration.kind:0,f=!(3&n)&&H&&166!==p&&165!==p&&167!==p,g=-1,m=Hc(t);if(m&&m!==qe){var y=Hc(r);if(y){if(!(S=!f&&s(m,y,!1)||s(y,m,i)))return i&&a(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=S}}for(var v=d||_?Math.min(l,u):Math.max(l,u),h=d||_?v-1:-1,D=0;D=Fh(t)&&D0||DS(c));if(f&&!function(e,t,r){for(var n=0,i=tc(e);n0&&j(Xc(v[0]),u,!1)||h.length>0&&j(Xc(h[0]),u,!1)?L(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,g,y):L(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,g,y)}return 0}J(c,u);var D=0,b=I();if((3145728&c.flags||3145728&u.flags)&&(D=Lg(c)*Lg(u)>=4?q(c,u,n,8|s):H(c,u,n,8|s)),D||1048576&c.flags||!(469499904&c.flags||469499904&u.flags)||(D=q(c,u,n,s))&&w(b),!D&&2359296&c.flags){var E=function(t,r){for(var n,i=!1,a=0,o=t;a0;if(p&&x--,524288&i.flags&&524288&s.flags){var f=l;B(i,s,n),l!==f&&(p=!!l)}if(524288&i.flags&&131068&s.flags)!function(t,r){var n=ma(t.symbol)?pa(t,t.symbol.valueDeclaration):pa(t),i=ma(r.symbol)?pa(r,r.symbol.valueDeclaration):pa(r);(Tt===t&&Le===r||Ct===t&&Re===r||kt===t&&Ue===r||Wu(!1)===t&&Ve===r)&&L(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,i,n)}(i,s);else if(i.symbol&&524288&i.flags&&ht===i)L(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(u&&2097152&s.flags){var g=s.types,y=vy(N.IntrinsicAttributes,a),v=vy(N.IntrinsicClassAttributes,a);if(y!==ke&&v!==ke&&(e.contains(g,y)||e.contains(g,v)))return c}else l=Ec(l,r);if(!o&&p)return m=[i,s],c;R(o,i,s)}}}function J(t,r){if(e.tracing&&3145728&t.flags&&3145728&r.flags){var n=t,i=r;if(n.objectFlags&i.objectFlags&65536)return;var o=n.types.length,s=i.types.length;o*s>1e6&&e.tracing.instant("checkTypes","traceUnionsOrIntersectionsTooLarge_DepthLimit",{sourceId:t.id,sourceSize:o,targetId:r.id,targetSize:s,pos:null==a?void 0:a.pos,end:null==a?void 0:a.end})}}function K(e,t){for(var r=-1,n=0,i=e.types;n=o.types.length&&a.length%o.types.length==0){var u=j(c,o.types[s%o.types.length],!1,void 0,n);if(u){i&=u;continue}}var l=j(c,t,r,void 0,n);if(!l)return 0;i&=l}return i}function q(t,r,n,a){if(D)return 0;var o=op(t,r,a|(S?16:0),i),s=i.get(o);if(void 0!==s&&(!(n&&2&s)||4&s)){if(cr){var c=24&s;8&c&&s_(t,qd(G)),16&c&&s_(t,qd(Y))}return 1&s?-1:0}if(p){for(var u=o.split(",").map((function(t){return t.replace(/-\d+/g,(function(t,r){return"="+e.length(o.slice(0,r).match(/[-=]/g)||void 0)}))})).join(","),l=0;l25)return null===e.tracing||void 0===e.tracing||e.tracing.instant("checkTypes","typeRelatedToDiscriminatedType_DepthLimit",{sourceId:t.id,targetId:r.id,numCombinations:a}),0}for(var c=new Array(n.length),u=new e.Set,l=0;l5?L(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,pa(r),pa(n),e.map(m.slice(0,4),(function(e){return da(e)})).join(", "),m.length-4):L(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,pa(r),pa(n),e.map(m,(function(e){return da(e)})).join(", ")),s&&l&&x++)}function ee(t,r,n,a,o){if(i===cn)return function(e,t,r){if(!(524288&e.flags&&524288&t.flags))return 0;var n=$(Qs(e),r),i=$(Qs(t),r);if(n.length!==i.length)return 0;for(var a=-1,o=0,s=n;o=u-y)?t.target.elementFlags[D]:4,b=r.target.elementFlags[h];if(8&b&&!(8&x))return n&&L(e.Diagnostics.Source_provides_no_match_for_variadic_element_at_position_0_in_target,h),0;if(8&x&&!(12&b))return n&&L(e.Diagnostics.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,D,h),0;if(1&b&&!(1&x))return n&&L(e.Diagnostics.Source_provides_no_match_for_required_element_at_position_0_in_target,h),0;if(!(v&&((12&x||12&b)&&(v=!1),v&&(null==a?void 0:a.has(""+h))))){var S=Op(t)?h=u-y?f[D]:Bp(t,m,y)||We:f[0],E=g[h];if(!(B=j(S,8&x&&4&b?Zu(E):E,n,void 0,o)))return n&&(h=u-y||c-m-y==1?O(e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,D,h):O(e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,m,c-y-1,h)),0;s&=B}}return s}if(12&r.target.combinedFlags)return 0}var T=!(i!==nn&&i!==an||jf(t)||bp(t)||Op(t)),C=Ff(t,r,T,!1);if(C)return n&&Z(t,r,C,T),0;if(jf(r))for(var k=0,A=$(tc(t),a);k0||kc(t,n=1).length>0)return e.find(r.types,(function(e){return kc(e,n).length>0}))}(t,r)||function(t,r){for(var n,i=0,a=0,o=r.types;a=i&&(n=s,i=u)}else Cp(c)&&1>=i&&(n=s,i=1)}return n}(t,r)}function $_(t,r,n,i,a){for(var o=t.types.map((function(e){})),s=0,c=r;s0&&e.every(r.properties,(function(e){return!!(16777216&e.flags)}))}return!!(2097152&t.flags)&&e.every(t.types,Q_)}function Z_(t,r,n){var i=hu(t,e.map(t.typeParameters,(function(e){return e===r?n:e})));return i.objectFlags|=4096,i}function ep(e){var t=An(e);return tp(t.typeParameters,t,(function(r,n,i){var a=Tu(e,Jd(t.typeParameters,Vd(n,i)));return a.aliasTypeArgumentsContainsMarker=!0,a}))}function tp(t,r,n){var i,a,o;void 0===t&&(t=e.emptyArray);var s=r.variances;if(!s){null===e.tracing||void 0===e.tracing||e.tracing.push("checkTypes","getVariancesWorker",{arity:t.length,id:null!==(o=null!==(i=r.id)&&void 0!==i?i:null===(a=r.declaredType)||void 0===a?void 0:a.id)&&void 0!==o?o:-1}),r.variances=e.emptyArray,s=[];for(var c=function(e){var t=!1,i=!1,a=cr;cr=function(e){return e?i=!0:t=!0};var o=n(r,e,pt),c=n(r,e,ft),u=(b_(c,o)?1:0)|(b_(o,c)?2:0);3===u&&b_(n(r,e,ur),o)&&(u=4),cr=a,(t||i)&&(t&&(u|=8),i&&(u|=16)),s.push(u)},u=0,l=t;u":n+="-"+o.id}return n}function op(e,t,r,n){if(n===cn&&e.id>t.id){var i=e;e=t,t=i}var a=r?":"+r:"";if(ip(e)&&ip(t)){var o=[];return ap(e,o)+","+ap(t,o)+a}return e.id+","+t.id+a}function sp(t,r){if(!(6&e.getCheckFlags(t)))return r(t);for(var n=0,i=t.containingType.types;n=5)for(var n=dp(e),i=0,a=0;a=5)return!0;return!1}function dp(t){if(524288&t.flags&&!Jf(t)){if(e.getObjectFlags(t)&&t.node)return t.node;if(t.symbol&&!(16&e.getObjectFlags(t)&&32&t.symbol.flags))return t.symbol;if(Op(t))return t.target}if(262144&t.flags)return t.symbol;if(8388608&t.flags){do{t=t.objectType}while(8388608&t.flags);return t}return 16777216&t.flags?t.root:t}function _p(e,t){return 0!==pp(e,t,v_)}function pp(t,r,n){if(t===r)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(r)))return 0;if(i){if(Pb(t)!==Pb(r))return 0}else if((16777216&t.flags)!=(16777216&r.flags))return 0;return Qh(t)!==Qh(r)?0:n(So(t),So(r))}function fp(t,r,n,i,a,o){if(t===r)return-1;if(!function(e,t,r){var n=Ah(e),i=Ah(t),a=Fh(e),o=Fh(t),s=Nh(e),c=Nh(t);return n===i&&a===o&&s===c||!!(r&&a<=o)}(t,r,n))return 0;if(e.length(t.typeParameters)!==e.length(r.typeParameters))return 0;if(r.typeParameters){for(var s=zd(t.typeParameters,r.typeParameters),c=0;ce.length(r.typeParameters)&&(i=ms(i,e.last(bu(t)))),t.objectFlags|=67108864,t.cachedEquivalentBaseType=i}}}function bp(e){var t=hp(e);return W?t===Ye:t===we}function Sp(e){return Op(e)||!!Tc(e,"0")}function Ep(e){return Dp(e)||Sp(e)}function Tp(e){return!(240512&e.flags)}function Cp(e){return!!(109440&e.flags)}function kp(t){return 2097152&t.flags?e.some(t.types,Cp):!!(109440&t.flags)}function Ap(t){return!!(16&t.flags)||(1048576&t.flags?!!(1024&t.flags)||e.every(t.types,Cp):Cp(t))}function Fp(e){return 1024&e.flags?Wo(e):128&e.flags?Le:256&e.flags?Re:2048&e.flags?Be:512&e.flags?Ue:1048576&e.flags?Og(e,Fp):e}function Np(e){return 1024&e.flags&&Pd(e)?Wo(e):128&e.flags&&Pd(e)?Le:256&e.flags&&Pd(e)?Re:2048&e.flags&&Pd(e)?Be:512&e.flags&&Pd(e)?Ue:1048576&e.flags?Og(e,Np):e}function Pp(e){return 8192&e.flags?Ve:1048576&e.flags?Og(e,Pp):e}function wp(e,t){return DD(e,t)||(e=Pp(Np(e))),e}function Ip(e,t,r,n){e&&Cp(e)&&(e=wp(e,t?vb(r,t,n):void 0));return e}function Op(t){return!!(4&e.getObjectFlags(t)&&8&t.target.objectFlags)}function Mp(e){return Op(e)&&!!(8&e.target.combinedFlags)}function Lp(e){return Mp(e)&&1===e.target.elementFlags.length}function Rp(e){return Bp(e,e.target.fixedLength)}function Bp(e,t,r,n){void 0===r&&(r=0),void 0===n&&(n=!1);var i=Su(e)-r;if(t-1&&(On(o,o.name.escapedText,788968,void 0,o.name.escapedText,!0)||o.name.originalKeywordKind&&e.isTypeNodeKind(o.name.originalKeywordKind))){var s="arg"+o.parent.parameters.indexOf(o);return void gn(X,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,s,e.declarationNameToString(o.name))}a=t.dotDotDotToken?X?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:X?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 199:if(a=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!X)return;break;case 309:return void pn(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);case 252:case 166:case 165:case 168:case 169:case 209:case 210:if(X&&!t.name)return void pn(t,3===n?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);a=X?3===n?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 191:return void(X&&pn(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:a=X?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}gn(X,t,a,e.declarationNameToString(e.getNameOfDeclaration(t)),i)}}function _f(t,r,n){!(a&&X&&131072&e.getObjectFlags(r))||n&&Zm(t)||lf(r)||df(t,r,n)}function pf(e,t,r){var n=Ah(e),i=Ah(t),a=Ph(e),o=Ph(t),s=o?i-1:i,c=a?s:Math.min(n,s),u=Hc(e);if(u){var l=Hc(t);l&&r(u,l)}for(var d=0;d0){for(var y=p,v=f;!((v=h(y).indexOf(m,v))>=0);){if(++y===e.length)return;v=0}D(y,v),f+=m.length}else if(f0)for(var b=0,S=r;be.target.minLength||!t.target.hasRestElement&&(e.target.hasRestElement||t.target.fixedLength1){var r=e.filter(t,Jf);if(r.length){var n=xl(r,2);return e.concatenate(e.filter(t,(function(e){return!Jf(e)})),[n])}}return t}(t.candidates),i=function(e){var t=nc(e);return!!t&&nD(16777216&t.flags?ac(t):t,406978556)}(t.typeParameter),a=!i&&t.topLevel&&(t.isFixed||!Ef(Xc(r),t.typeParameter)),o=i?e.sameMap(n,Nd):a?e.sameMap(n,Np):n;return cf(416&t.priority?xl(o,2):function(t){if(!W)return gp(t);var r=e.filter(t,(function(e){return!(98304&e.flags)}));return r.length?qp(gp(r),98304&Jp(t)):xl(t,2)}(o))}function Uf(t,r){var n,i,a=t.inferences[r];if(!a.inferredType){var o=void 0,s=t.signature;if(s){var c=a.candidates?zf(a,s):void 0;if(a.contraCandidates){var u=Kf(a);o=!c||131072&c.flags||!x_(c,u)?u:c}else if(c)o=c;else if(1&t.flags)o=He;else{var l=pc(a.typeParameter);l&&(o=s_(l,(n=function(t,r){return qd((function(n){return e.findIndex(t.inferences,(function(e){return e.typeParameter===n}))>=r?Ne:n}))}(t,r),i=t.nonFixingMapper,n?Wd(4,n,i):i)))}}else o=Nf(a);a.inferredType=o||Vf(!!(2&t.flags));var d=nc(a.typeParameter);if(d){var _=s_(d,t.nonFixingMapper);o&&t.compareTypes(o,ms(_,o))||(a.inferredType=o=_)}}return a.inferredType}function Vf(e){return e?Ee:Ne}function qf(e){for(var t=[],r=0;r=10&&2*i>=t.length?n:void 0}(r,n);t.keyPropertyName=i?n:"",t.constituentMap=i}return t.keyPropertyName.length?t.keyPropertyName:void 0}}function ig(e,t){var r,n=null===(r=e.constituentMap)||void 0===r?void 0:r.get(fl(Nd(t)));return n!==Ne?n:void 0}function ag(e,t){var r=ng(e),n=r&&wa(t,r);return n&&ig(e,n)}function og(e,t){return Xf(e,t)||Zf(e,t)}function sg(e,t){if(e.arguments)for(var r=0,n=e.arguments;r=0&&r.parameterIndex=n&&c-1){var l=a.filter((function(e){return void 0!==e})),d=c=2||0==(34&r.flags)||!r.valueDeclaration||e.isSourceFile(r.valueDeclaration)||288===r.valueDeclaration.parent.kind)return;var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration),i=function(t,r){return!!e.findAncestor(t,(function(t){return t===r?"quit":e.isFunctionLike(t)||t.parent&&e.isPropertyDeclaration(t.parent)&&!e.hasStaticModifier(t.parent)&&t.parent.initializer===t}))}(t,n),a=pm(n);if(a){if(i){var o=!0;if(e.isForStatement(n))if((l=e.getAncestor(r.valueDeclaration,251))&&l.parent===n){var s=function(t,r){return e.findAncestor(t,(function(e){return e===r?"quit":e===r.initializer||e===r.condition||e===r.incrementor||e===r.statement}))}(t.parent,n);if(s){var c=Fn(s);c.flags|=131072;var u=c.capturedBlockScopeBindings||(c.capturedBlockScopeBindings=[]);e.pushIfUnique(u,r),s===n.initializer&&(o=!1)}}o&&(Fn(a).flags|=65536)}var l;if(e.isForStatement(n))(l=e.getAncestor(r.valueDeclaration,251))&&l.parent===n&&function(t,r){var n=t;for(;208===n.parent.kind;)n=n.parent;var i=!1;if(e.isAssignmentTarget(n))i=!0;else if(215===n.parent.kind||216===n.parent.kind){var a=n.parent;i=45===a.operator||46===a.operator}if(!i)return!1;return!!e.findAncestor(n,(function(e){return e===r?"quit":e===r.statement}))}(t,n)&&(Fn(r.valueDeclaration).flags|=4194304);Fn(r.valueDeclaration).flags|=524288}i&&(Fn(r.valueDeclaration).flags|=262144)}(t,n);var c=So(a),u=e.getAssignmentTargetKind(t);if(u){if(!(3&a.flags||e.isInJSFile(t)&&512&a.flags))return pn(t,384&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum:32&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_class:1536&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace:16&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_function:2097152&a.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_import:e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,da(n)),ke;if(Qh(a))return 3&a.flags?pn(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,da(n)):pn(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,da(n)),ke}var l=2097152&a.flags;if(3&a.flags){if(1===u)return c}else{if(!l)return c;s=qn(n)}if(!s)return c;c=um(c,t,r);for(var d=161===e.getRootDeclaration(s).kind,_=nm(s),p=nm(t),f=p!==_,g=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&vg(t.parent.parent),m=134217728&n.flags;p!==_&&(209===p.kind||210===p.kind||e.isObjectLiteralOrClassExpressionMethod(p))&&(om(a)||d&&!im(a));)p=nm(p);var y=d||l||f||g||m||e.isBindingElement(s)||c!==Te&&c!==Pt&&(!W||0!=(16387&c.flags)||Gf(t)||271===t.parent.kind)||226===t.parent.kind||250===s.kind&&s.exclamationToken||8388608&s.flags,v=rm(t,c,y?d?function(e,t){if(ka(t.symbol,2)){var r=W&&161===t.kind&&t.initializer&&32768&Kp(e)&&!(32768&Kp(OD(t.initializer)));return Na(),r?_g(e,524288):e}return xo(t.symbol),e}(c,s):c:c===Te||c===Pt?Pe:Wp(c),p,!y);if(Hg(t)||c!==Te&&c!==Pt){if(!y&&!(32768&Kp(c))&&32768&Kp(v))return pn(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,da(n)),c}else if(v===Te||v===Pt)return X&&(pn(e.getNameOfDeclaration(s),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,da(n),pa(v)),pn(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,da(n),pa(v))),Lx(v);return u?Fp(v):v}function pm(t){return e.findAncestor(t,(function(t){return!t||e.nodeStartsNewLexicalEnvironment(t)?"quit":e.isIterationStatement(t,!1)}))}function fm(e,t){(Fn(e).flags|=2,164===t.kind||167===t.kind)?Fn(t.parent).flags|=4:Fn(t).flags|=4}function gm(t){return e.isSuperCall(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,gm)}function mm(e){return Lo(Xo(Pi(e)))===Me}function ym(t,r,n){var i=r.parent;e.getClassExtendsHeritageElement(i)&&!mm(i)&&t.flowNode&&!tm(t.flowNode,!1)&&pn(t,n)}function vm(t){var r=e.getThisContainer(t,!0),n=!1;switch(167===r.kind&&ym(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),210===r.kind&&(r=e.getThisContainer(r,!1),n=!0),r.kind){case 257:pn(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 256:pn(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 167:Dm(t,r)&&pn(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 164:case 163:!e.hasSyntacticModifier(r,32)||99===A.target&&V||pn(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 159:pn(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}n&&z<2&&fm(t,r);var i=hm(t,!0,r);if($){var a=So(ae);if(i===a&&n)pn(t,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!i){var o=pn(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var s=hm(r);s&&s!==a&&e.addRelatedInfo(o,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||Ee}function hm(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=e.getThisContainer(t,!1));var i=e.isInJSFile(t);if(e.isFunctionLike(n)&&(!km(t)||e.getThisParameter(n))){var a=Hc(zc(n))||i&&function(t){var r=e.getJSDocType(t);if(r&&309===r.kind){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&"this"===n.parameters[0].name.escapedText)return Rd(n.parameters[0].type)}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression)return Rd(i.typeExpression)}(n);if(!a){var o=function(t){if(209===t.kind&&e.isBinaryExpression(t.parent)&&3===e.getAssignmentDeclarationKind(t.parent))return t.parent.left.expression.expression;if(166===t.kind&&201===t.parent.kind&&e.isBinaryExpression(t.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.left.expression;if(209===t.kind&&289===t.parent.kind&&201===t.parent.parent.kind&&e.isBinaryExpression(t.parent.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.left.expression;if(209===t.kind&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&("value"===t.parent.name.escapedText||"get"===t.parent.name.escapedText||"set"===t.parent.name.escapedText)&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&("value"===t.name.escapedText||"get"===t.name.escapedText||"set"===t.name.escapedText)&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.arguments[0].expression}(n);if(i&&o){var s=OD(o).symbol;s&&s.members&&16&s.flags&&(a=Xo(s).thisType)}else oh(n)&&(a=Xo(Ni(n.symbol)).thisType);a||(a=Em(n))}if(a)return rm(t,a)}if(e.isClassLike(n.parent)){var c=Pi(n.parent);return rm(t,e.hasSyntacticModifier(n,32)?So(c):Xo(c).thisType)}if(e.isSourceFile(n)){if(n.commonJsModuleIndicator){var u=Pi(n);return u&&So(u)}if(n.externalModuleIndicator)return Pe;if(r)return So(ae)}}function Dm(t,r){return!!e.findAncestor(t,(function(t){return e.isFunctionLikeDeclaration(t)?"quit":161===t.kind&&t.parent===r}))}function xm(t){var r=204===t.parent.kind&&t.parent.expression===t,n=e.getSuperContainer(t,!0),i=n,a=!1;if(!r)for(;i&&210===i.kind;)i=e.getSuperContainer(i,!0),a=z<2;var o=0;if(!function(t){if(!t)return!1;if(r)return 167===t.kind;if(e.isClassLike(t.parent)||201===t.parent.kind)return e.hasSyntacticModifier(t,32)?166===t.kind||165===t.kind||168===t.kind||169===t.kind:166===t.kind||165===t.kind||168===t.kind||169===t.kind||164===t.kind||163===t.kind||167===t.kind;return!1}(i)){var s=e.findAncestor(t,(function(e){return e===i?"quit":159===e.kind}));return s&&159===s.kind?pn(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?pn(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||201===i.parent.kind)?pn(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):pn(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ke}if(r||167!==n.kind||ym(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),o=e.hasSyntacticModifier(i,32)||r?512:256,Fn(t).flags|=o,166===i.kind&&e.hasSyntacticModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?Fn(i).flags|=4096:Fn(i).flags|=2048),a&&fm(t.parent,i),201===i.parent.kind)return z<2?(pn(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ke):Ee;var c=i.parent;if(!e.getClassExtendsHeritageElement(c))return pn(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ke;var u=Xo(Pi(c)),l=u&&Bo(u)[0];return l?167===i.kind&&Dm(t,i)?(pn(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ke):512===o?Lo(u):ms(l,u.thisType):ke}function bm(t){return 4&e.getObjectFlags(t)&&t.target===Ft?bu(t)[0]:void 0}function Sm(t){return Og(t,(function(t){return 2097152&t.flags?e.forEach(t.types,bm):bm(t)}))}function Em(t){if(210!==t.kind){if(g_(t)){var r=ey(t);if(r){var n=r.thisParameter;if(n)return So(n)}}var i=e.isInJSFile(t);if($||i){var a=function(e){return 166!==e.kind&&168!==e.kind&&169!==e.kind||201!==e.parent.kind?209===e.kind&&289===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=Um(a),s=a,c=o;c;){var u=Sm(c);if(u)return s_(u,xf(Hm(a)));if(289!==s.parent.kind)break;c=Um(s=s.parent.parent)}return cf(o?Hp(o):mD(a))}var l=e.walkUpParenthesizedExpressions(t.parent);if(217===l.kind&&62===l.operatorToken.kind){var d=l.left;if(e.isAccessExpression(d)){var _=d.expression;if(i&&e.isIdentifier(_)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&Hf(_)===p.symbol)return}return cf(mD(_))}}}}}function Tm(t){var r=t.parent;if(g_(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=Bv(n),a=r.parameters.indexOf(t);if(t.dotDotDotToken)return wv(i,a,i.length,Ee,void 0,0);var o=Fn(n),s=o.resolvedSignature;o.resolvedSignature=dr;var c=a=0?void 0:So(o);if(Op(t)){var s=Rp(t);if(s&&oy(r)&&+r>=0)return s}return oy(r)&&Lm(t,1)||Lm(t,0)}var c}),!0)}function Lm(e,t){return Og(e,(function(e){return Fc(e,t)}),!0)}function Rm(t,r){var n=t.parent,i=e.isPropertyAssignment(t)&&Cm(t);if(i)return i;var a=Um(n,r);if(a){if(ls(t)){var o=Mm(a,Pi(t).escapedName);if(o)return o}return iy(t.name)&&Lm(a,1)||Lm(a,0)}}function Bm(e,t){return e&&(Mm(e,""+t)||Og(e,(function(e){return Xx(1,e,Pe,void 0,!1)}),!0))}function jm(t){var r=t.parent;return e.isJsxAttributeLike(r)?Wm(t):e.isJsxElement(r)?function(t,r){var n=Um(t.openingElement.tagName),i=Sy(xy(t));if(n&&!Ia(n)&&i&&""!==i){var a=e.getSemanticJsxChildren(t.children),o=a.indexOf(r),s=Mm(n,i);return s&&(1===a.length?s:Og(s,(function(e){return Dp(e)?nd(e,wd(o)):e}),!0))}}(r,t):void 0}function Jm(t){if(e.isJsxAttribute(t)){var r=Um(t.parent);if(!r||Ia(r))return;return Mm(r,t.name.escapedText)}return Wm(t.parent)}function Km(e){switch(e.kind){case 10:case 8:case 9:case 14:case 109:case 94:case 103:case 78:case 150:return!0;case 202:case 208:return Km(e.expression);case 284:return!e.expression||Km(e.expression)}return!1}function zm(t,r){return function(t,r){var n=ng(t),i=n&&e.find(r.properties,(function(e){return e.symbol&&289===e.kind&&e.symbol.escapedName===n&&Km(e.initializer)})),a=i&&PD(i.initializer);return a&&ig(t,a)}(r,t)||$_(r,e.concatenate(e.map(e.filter(t.properties,(function(e){return!!e.symbol&&289===e.kind&&Km(e.initializer)&&tg(r,e.symbol.escapedName)})),(function(e){return[function(){return ID(e.initializer)},e.symbol.escapedName]})),e.map(e.filter(tc(r),(function(e){var n;return!!(16777216&e.flags)&&!!(null===(n=null==t?void 0:t.symbol)||void 0===n?void 0:n.members)&&!t.symbol.members.has(e.escapedName)&&tg(r,e.escapedName)})),(function(e){return[function(){return Pe},e.escapedName]}))),b_,r)}function Um(t,r){var n=Vm(e.isObjectLiteralMethod(t)?function(t,r){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!(16777216&t.flags))return Rm(t,r)}(t,r):Wm(t,r),t,r);if(n&&!(r&&2&r&&8650752&n.flags)){var i=Og(n,gc,!0);return 1048576&i.flags&&e.isObjectLiteralExpression(t)?zm(t,i):1048576&i.flags&&e.isJsxAttributes(t)?function(t,r){return $_(r,e.concatenate(e.map(e.filter(t.properties,(function(e){return!!e.symbol&&281===e.kind&&tg(r,e.symbol.escapedName)&&(!e.initializer||Km(e.initializer))})),(function(e){return[e.initializer?function(){return OD(e.initializer)}:function(){return Ke},e.symbol.escapedName]})),e.map(e.filter(tc(r),(function(e){var n;return!!(16777216&e.flags)&&!!(null===(n=null==t?void 0:t.symbol)||void 0===n?void 0:n.members)&&!t.symbol.members.has(e.escapedName)&&tg(r,e.escapedName)})),(function(e){return[function(){return Pe},e.escapedName]}))),b_,r)}(t,i):i}}function Vm(t,r,n){if(t&&nD(t,465829888)){var i=Hm(r);if(i&&e.some(i.inferences,kD)){if(n&&1&n)return qm(t,i.nonFixingMapper);if(i.returnMapper)return qm(t,i.returnMapper)}}return t}function qm(t,r){return 465829888&t.flags?s_(t,r):1048576&t.flags?xl(e.map(t.types,(function(e){return qm(e,r)})),0):2097152&t.flags?Al(e.map(t.types,(function(e){return qm(e,r)}))):t}function Wm(t,r){if(16777216&t.flags);else{if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 250:case 161:case 164:case 163:case 199:return function(t,r){var n=t.parent;if(e.hasInitializer(n)&&t===n.initializer){var i=Cm(n);if(i)return i;if(!(8&r)&&e.isBindingPattern(n.name))return io(n.name,!0,!1)}}(t,r);case 210:case 243:return function(t){var r=e.getContainingFunction(t);if(r){var n=Fm(r);if(n){var i=e.getFunctionFlags(r);if(1&i){var a=rb(n,2&i?2:1,void 0);if(!a)return;n=a.returnType}if(2&i){var o=Og(n,ix);return o&&xl([o,jh(o)])}return n}}}(t);case 220:return function(t){var r=e.getContainingFunction(t);if(r){var n=e.getFunctionFlags(r),i=Fm(r);if(i)return t.asteriskToken?i:vb(0,i,0!=(2&n))}}(n);case 214:return function(e,t){var r=Wm(e,t);if(r){var n=ix(r);return n&&xl([n,jh(n)])}}(n,r);case 204:if(99===n.expression.kind)return Le;case 205:return Nm(n,t);case 207:case 225:return e.isConstTypeReference(n.type)?function(e){return Wm(e)}(n):Rd(n.type);case 217:return wm(t,r);case 289:case 290:return Rm(n,r);case 291:return Wm(n.parent,r);case 200:var i=n;return Bm(Um(i,r),e.indexOfNode(i.elements,t));case 218:return function(e,t){var r=e.parent;return e===r.whenTrue||e===r.whenFalse?Wm(r,t):void 0}(t,r);case 229:return e.Debug.assert(219===n.parent.kind),function(e,t){if(206===e.parent.kind)return Nm(e.parent,t)}(n.parent,t);case 208:var a=e.isInJSFile(n)?e.getJSDocTypeTag(n):void 0;return a?Rd(a.typeExpression.type):Wm(n,r);case 226:return Wm(n,r);case 284:return jm(n);case 281:case 283:return Jm(n);case 276:case 275:return function(t,r){if(e.isJsxOpeningElement(t)&&t.parent.contextualType&&4!==r)return t.parent.contextualType;return Pm(t,0)}(n,r)}}}function Hm(t){var r=e.findAncestor(t,(function(e){return!!e.inferenceContext}));return r&&r.inferenceContext}function Gm(t,r){return 0!==Ov(r)?function(e,t){var r=Oh(e,Ne);r=Ym(t,xy(t),r);var n=vy(N.IntrinsicAttributes,t);n!==ke&&(r=As(n,r));return r}(t,r):function(t,r){var n=xy(r),i=(o=n,by(N.ElementAttributesPropertyNameContainer,o)),a=void 0===i?Oh(t,Ne):""===i?Xc(t):function(e,t){if(e.compositeSignatures){for(var r=[],n=0,i=e.compositeSignatures;n=2)return Tu(a,Kc([s,n],c,2,e.isInJSFile(t)))}if(e.length(o.typeParameters)>=2)return hu(o,Kc([s,n],o.typeParameters,2,e.isInJSFile(t)))}return n}function Xm(t){return e.getStrictOptionValue(A,"noImplicitAny")?e.reduceLeft(t,(function(t,r){return t!==r&&t?Cs(t.typeParameters,r.typeParameters)?function(t,r){var n,i=t.typeParameters||r.typeParameters;t.typeParameters&&r.typeParameters&&(n=zd(r.typeParameters,t.typeParameters));var a=t.declaration,o=function(e,t,r){for(var n=Ah(e),i=Ah(t),a=n>=i?e:t,o=a===e?t:e,s=a===e?n:i,c=Nh(e)||Nh(t),u=c&&!Nh(a),l=new Array(s+(u?1:0)),d=0;d=Fh(a)&&d>=Fh(o),y=d>=n?void 0:bh(e,d),v=d>=i?void 0:bh(t,d),h=hn(1|(m&&!g?16777216:0),(y===v?y:y?v?void 0:y:v)||"arg"+d);h.type=g?Zu(f):f,l[d]=h}if(u){var D=hn(1,"args");D.type=Zu(Th(o,s)),o===t&&(D.type=s_(D.type,r)),l[s]=D}return l}(t,r,n),s=function(e,t,r){if(!e||!t)return e||t;var n=xl([So(e),s_(So(t),r)]);return ef(e,n)}(t.thisParameter,r.thisParameter,n),c=Math.max(t.minArgumentCount,r.minArgumentCount),u=vs(a,i,s,o,void 0,void 0,c,39&(t.flags|r.flags));u.compositeKind=2097152,u.compositeSignatures=e.concatenate(2097152===t.compositeKind&&t.compositeSignatures||[t],[r]),n&&(u.mapper=2097152===t.compositeKind&&t.mapper&&t.compositeSignatures?Gd(t.mapper,n):n);return u}(t,r):void 0:t})):void 0}function $m(t,r){var n=kc(t,0),i=e.filter(n,(function(t){return!function(t,r){for(var n=0;n0&&(s=Ed(s,L(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),dy(F=Dc(OD(T.expression)))){if(i&&my(F,i,T),b=o.length,s===ke)continue;s=Ed(s,F,t.symbol,g,l)}else pn(T,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),s=ke;continue}e.Debug.assert(168===T.kind||169===T.kind),eS(T)}!k||8576&k.flags?a.set(C.escapedName,C):b_(k,Qe)&&(b_(k,Re)?v=!0:y=!0,n&&(m=!0)),o.push(C)}if(u&&291!==t.parent.kind)for(var O=0,M=tc(c);O0&&(s=Ed(s,L(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),Og(s,(function(e){return e===it?L():e}))):L();function L(){var r=y?cy(t,b,o,0):void 0,i=v?cy(t,b,o,1):void 0,s=Yi(t.symbol,a,e.emptyArray,e.emptyArray,r,i);return s.objectFlags|=262272|g,f&&(s.objectFlags|=8192),m&&(s.objectFlags|=512),n&&(s.pattern=t),s}}function dy(t){if(465829888&t.flags){var r=cc(t);if(void 0!==r)return dy(r)}return!!(126615553&t.flags||117632&Kp(t)&&dy(zp(t))||3145728&t.flags&&e.every(t.types,dy))}function _y(t){return!e.stringContains(t,"-")}function py(t){return 78===t.kind&&e.isIntrinsicJsxName(t.escapedText)}function fy(e,t){return e.initializer?bD(e.initializer,t):Ke}function gy(e,t){for(var r=[],n=0,i=e.children;n0&&(s=Ed(s,E(),i.symbol,l,!1),o=e.createSymbolTable()),Ia(m=Dc(mD(f.expression,r)))&&(c=!0),dy(m)?(s=Ed(s,m,i.symbol,l,!1),a&&my(m,a,f)):n=n?Al([n,m]):m}c||o.size>0&&(s=Ed(s,E(),i.symbol,l,!1));var v=274===t.parent.kind?t.parent:void 0;if(v&&v.openingElement===t&&v.children.length>0){var h=gy(v,r);if(!c&&d&&""!==d){u&&pn(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(d));var D=Um(t.attributes),x=D&&Mm(D,d),b=hn(4,d);b.type=1===h.length?h[0]:x&&Ng(x,Sp)?ol(h):Zu(xl(h)),b.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(d),void 0,void 0),e.setParent(b.valueDeclaration,i),b.valueDeclaration.symbol=b;var S=e.createSymbolTable();S.set(d,b),s=Ed(s,Yi(i.symbol,S,e.emptyArray,e.emptyArray,void 0,void 0),i.symbol,l,!1)}}return c?Ee:n&&s!==at?Al([n,s]):n||(s===at?E():s);function E(){l|=Z;var t=Yi(i.symbol,o,e.emptyArray,e.emptyArray,void 0,void 0);return t.objectFlags|=262272|l,t}}(t.parent,r)}function vy(e,t){var r=xy(t),n=r&&Ci(r),i=n&&Pn(n,e,788968);return i?Xo(i):ke}function hy(t){var r=Fn(t);if(!r.resolvedSymbol){var n=vy(N.IntrinsicElements,t);if(n!==ke){if(!e.isIdentifier(t.tagName))return e.Debug.fail();var i=Tc(n,t.tagName.escapedText);return i?(r.jsxFlags|=1,r.resolvedSymbol=i):Pc(n,0)?(r.jsxFlags|=2,r.resolvedSymbol=n.symbol):(pn(t,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(t.tagName),"JSX."+N.IntrinsicElements),r.resolvedSymbol=be)}return X&&pn(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(N.IntrinsicElements)),r.resolvedSymbol=be}return r.resolvedSymbol}function Dy(t){var r=t&&e.getSourceFileOfNode(t),n=r&&Fn(r);if(!n||!1!==n.jsxImplicitImportContainer){if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;var i=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(A,r),A);if(i){var a=vi(t,i,e.getEmitModuleResolutionKind(A)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,t),o=a&&a!==be?Ni(ai(a)):void 0;return n&&(n.jsxImplicitImportContainer=o||!1),o}}}function xy(e){var t=e&&Fn(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){var r=Dy(e);if(!r||r===be){var n=dn(e);r=On(e,n,1920,void 0,n,!1)}if(r){var i=ai(Pn(Ci(ai(r)),N.JSX,1920));if(i&&i!==be)return t&&(t.jsxNamespace=i),i}t&&(t.jsxNamespace=!1)}var a=ai(Uu(N.JSX,1920,void 0));return a!==be?a:void 0}function by(t,r){var n=r&&Pn(r.exports,t,788968),i=n&&Xo(n),a=i&&tc(i);if(a){if(0===a.length)return"";if(1===a.length)return a[0].escapedName;a.length>1&&n.declarations&&pn(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function Sy(e){return by(N.ElementChildrenAttributeNameContainer,e)}function Ey(t,r){if(4&t.flags)return[dr];if(128&t.flags){var n=Ty(t,r);return n?[rh(r,n)]:(pn(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,"JSX."+N.IntrinsicElements),e.emptyArray)}var i=gc(t),a=kc(i,1);return 0===a.length&&(a=kc(i,0)),0===a.length&&1048576&i.flags&&(a=Ts(e.map(i.types,(function(e){return Ey(e,r)})))),a}function Ty(t,r){var n=vy(N.IntrinsicElements,r);if(n!==ke){var i=t.value,a=Tc(n,e.escapeLeadingUnderscores(i));if(a)return So(a);var o=Pc(n,0);return o||void 0}return Ee}function Cy(t){e.Debug.assert(py(t.tagName));var r=Fn(t);if(!r.resolvedJsxElementAttributesType){var n=hy(t);return 1&r.jsxFlags?r.resolvedJsxElementAttributesType=So(n)||ke:2&r.jsxFlags?r.resolvedJsxElementAttributesType=Pc(vy(N.IntrinsicElements,t),0)||ke:r.resolvedJsxElementAttributesType=ke}return r.resolvedJsxElementAttributesType}function ky(e){var t=vy(N.ElementClass,e);if(t!==ke)return t}function Ay(e){return vy(N.Element,e)}function Fy(e){var t=Ay(e);if(t)return xl([t,Oe])}function Ny(t){var r,n=e.isJsxOpeningLikeElement(t);if(n&&function(t){(function(t){if(e.isPropertyAccessExpression(t)){var r=t;do{var n=a(r.name);if(n)return n;r=r.expression}while(e.isPropertyAccessExpression(r));var i=a(r);if(i)return i}function a(t){if(e.isIdentifier(t)&&-1!==e.idText(t).indexOf(":"))return NE(t,e.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names)}})(t.tagName),uE(t,t.typeArguments);for(var r=new e.Map,n=0,i=t.attributes.properties;n=0)return d>=Fh(n)&&(Nh(n)||ds)return!1;if(o||a>=c)return!0;for(var _=a;_=i&&r.length<=n}function Tv(e){return kv(e,0,!1)}function Cv(e){return kv(e,0,!1)||kv(e,1,!1)}function kv(e,t,r){if(524288&e.flags){var n=$s(e);if(r||0===n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function Av(t,r,n,i){var a=gf(t.typeParameters,t,0,i),o=Ph(r),s=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return pf(s?Qd(r,s):r,t,(function(e,t){Lf(a.inferences,e,t)})),n||ff(r,t,(function(e,t){Lf(a.inferences,e,t,128)})),eu(t,qf(a),e.isInJSFile(r.declaration))}function Fv(t){if(!t)return qe;var r=OD(t);return e.isOptionalChainRoot(t.parent)?Hp(r):e.isOptionalChain(t.parent)?Xp(r):r}function Nv(t,r,n,i,a){if(e.isJsxOpeningLikeElement(t))return function(e,t,r,n){var i=Gm(t,e),a=gD(e.attributes,i,n,r);return Lf(n.inferences,a,i),qf(n)}(t,r,i,a);if(162!==t.kind){var o=Wm(t,e.every(r.typeParameters,(function(e){return!!pc(e)}))?8:0);if(o){var s=Hm(t),c=s_(o,xf(function(t,r){return void 0===r&&(r=0),t&&mf(e.map(t.inferences,Df),t.signature,t.flags|r,t.compareTypes)}(s,1))),u=Tv(c),l=u&&u.typeParameters?ou(tu(u,u.typeParameters)):c,d=Xc(r);Lf(a.inferences,l,d,128);var _=gf(r.typeParameters,r,a.flags),p=s_(o,s&&s.returnMapper);Lf(_.inferences,p,d),a.returnMapper=e.some(_.inferences,kD)?xf(function(t){var r=e.filter(t.inferences,kD);return r.length?mf(e.map(r,Df),t.signature,t.flags,t.compareTypes):void 0}(_)):void 0}}var f=wh(r),g=f?Math.min(Ah(r)-1,n.length):n.length;if(f&&262144&f.flags){var m=e.find(a.inferences,(function(e){return e.typeParameter===f}));m&&(m.impliedArity=e.findIndex(n,hv,g)<0?n.length-g:void 0)}var y=Hc(r);if(y){var v=Lv(t);Lf(a.inferences,Fv(v),y)}for(var h=0;h=n-1&&hv(d=t[n-1]))return Pv(228===d.kind?d.type:gD(d.expression,i,a,o));for(var s=[],c=[],u=[],l=r;ld&&(d=v)}}if(!l)return!0;for(var h=1/0,D=0,x=i;D0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray;var i=t.arguments||e.emptyArray,a=Dv(i);if(a>=0){for(var o=i.slice(0,a),s=function(t){var r=i[t],n=221===r.kind&&(kr?OD(r.expression):mD(r.expression));n&&Op(n)?e.forEach(bu(n),(function(e,t){var i,a=n.target.elementFlags[t],s=Rv(r,4&a?Zu(e):e,!!(12&a),null===(i=n.target.labeledElementDeclarations)||void 0===i?void 0:i[t]);o.push(s)})):o.push(r)},c=a;c-1)return e.createDiagnosticForNode(n[a],e.Diagnostics.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);for(var o,s=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,d=0,_=r;d<_.length;d++){var p=_[d],f=Fh(p),g=Ah(p);fu&&(u=f),n.length1&&(v=W(f,nn,D,b)),v||(v=W(f,on,D,b)),v)return v;if(p)if(g)if(1===g.length||g.length>3){var S,E=g[g.length-1];g.length>3&&(S=e.chainDiagnosticMessages(S,e.Diagnostics.The_last_overload_gave_the_following_error),S=e.chainDiagnosticMessages(S,e.Diagnostics.No_overload_matches_this_call));var T=Mv(r,h,E,on,0,!0,(function(){return S}));if(T)for(var C=0,k=T;C3&&e.addRelatedInfo(A,e.createDiagnosticForNode(E.declaration,e.Diagnostics.The_last_overload_is_declared_here)),q(E,A),Zr.add(A)}else e.Debug.fail("No error for last overload signature")}else{for(var F=[],N=0,P=Number.MAX_VALUE,w=0,I=0,O=function(t){var n=Mv(r,h,t,on,0,!0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,I+1,f.length,_a(t))}));n?(n.length<=P&&(P=n.length,w=I),N=Math.max(N,n.length),F.push(n)):e.Debug.fail("No error for 3 or fewer overload signatures"),I++},M=0,L=g;M1?F[w]:e.flatten(F);e.Debug.assert(R.length>0,"No errors reported for 3 or fewer overload signatures");var B=e.chainDiagnosticMessages(e.map(R,(function(e){return"string"==typeof e.messageText?e:e.messageText})),e.Diagnostics.No_overload_matches_this_call),j=t([],e.flatMap(R,(function(e){return e.relatedInformation}))),z=void 0;if(e.every(R,(function(e){return e.start===R[0].start&&e.length===R[0].length&&e.file===R[0].file}))){var U=R[0];z={file:U.file,start:U.start,length:U.length,code:B.code,category:B.category,messageText:B,relatedInformation:j}}else z=e.createDiagnosticForNodeFromMessageChain(r,B,j);q(g[0],z),Zr.add(z)}else if(m)Zr.add(zv(r,[m],h));else if(y)Iv(y,r.typeArguments,!0,c);else{var V=e.filter(n,(function(e){return Ev(e,u)}));0===V.length?Zr.add(function(t,r,n){var i=n.length;if(1===r.length){var a=Jc((d=r[0]).typeParameters),o=e.length(d.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),n,e.Diagnostics.Expected_0_type_arguments_but_got_1,ai?c=Math.min(c,_):o0),eS(t),i||1===r.length||r.some((function(e){return!!e.typeParameters}))?function(t,r,n){var i=function(e,t){for(var r=-1,n=-1,i=0;i=t)return i;o>n&&(n=o,r=i)}return r}(r,void 0===oe?n.length:oe),a=r[i],o=a.typeParameters;if(!o)return a;var s=mv(t)?t.typeArguments:void 0,c=s?ru(a,function(e,t,r){var n=e.map(fS);for(;n.length>t.length;)n.pop();for(;n.length1?e.find(c,(function(t){return e.isFunctionLikeDeclaration(t)&&e.nodeIsPresent(t.body)})):void 0;if(u){var l=zc(u),d=!l.typeParameters;W([l],on,d)&&e.addRelatedInfo(r,e.createDiagnosticForNode(u,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}g=a,m=o,y=s}function W(t,n,i,a){if(void 0===a&&(a=!1),g=void 0,m=void 0,y=void 0,i){var o=t[0];if(e.some(u)||!Sv(r,h,o,a))return;return Mv(r,h,o,n,0,!1,void 0)?void(g=[o]):o}for(var s=0;s=0&&pn(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=By(t.expression);if(a===He)return fr;if((a=gc(a))===ke)return vv(t);if(Ia(a))return t.typeArguments&&pn(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),yv(t);var o=kc(a,1);if(o.length){if(!function(t,r){if(!r||!r.declaration)return!0;var n=r.declaration,i=e.getSelectedEffectiveModifierFlags(n,24);if(!i||167!==n.kind)return!0;var a=e.getClassLikeDeclarationOfSymbol(n.parent.symbol),o=Xo(n.parent.symbol);if(!lS(t,a)){var s=e.getContainingClass(t);if(s&&16&i){var c=fS(s);if(Xv(n.parent.symbol,c))return!0}return 8&i&&pn(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,pa(o)),16&i&&pn(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,pa(o)),!1}return!0}(t,o[0]))return vv(t);if(o.some((function(e){return 4&e.flags})))return pn(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),vv(t);var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);return s&&e.hasSyntacticModifier(s,128)?(pn(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),vv(t)):Uv(t,o,r,n,0)}var c=kc(a,0);if(c.length){var u=Uv(t,c,r,n,0);return X||(u.declaration&&!oh(u.declaration)&&Xc(u)!==qe&&pn(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Hc(u)===qe&&pn(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),u}return Qv(t.expression,a,1),vv(t)}function Xv(t,r){var n=Bo(r);if(!e.length(n))return!1;var i=n[0];if(2097152&i.flags){for(var a=Ps(i.types),o=0,s=0,c=i.types;s0;if(1048576&r.flags){for(var c=!1,u=0,l=r.types;u=n-1)return r===n-1?a:Zu(nd(a,Re));for(var o=[],s=[],c=[],u=r;u0&&(a=t.parameters.length-1+c)}}if(void 0===a){if(!n&&32&t.flags)return 0;a=t.minArgumentCount}if(i)return a;for(var u=a-1;u>=0;u--){if(131072&wg(Th(t,u),xv).flags)break;a=u}t.resolvedMinArgumentCount=a}return t.resolvedMinArgumentCount}function Nh(e){if(J(e)){var t=So(e.parameters[e.parameters.length-1]);return!Op(t)||t.target.hasRestElement}return!1}function Ph(e){if(J(e)){var t=So(e.parameters[e.parameters.length-1]);if(!Op(t))return t;if(t.target.hasRestElement)return ll(t,t.target.fixedLength)}}function wh(e){var t=Ph(e);return!t||mp(t)||Ia(t)||0!=(131072&Dc(t).flags)?void 0:t}function Ih(e){return Oh(e,We)}function Oh(e,t){return e.parameters.length>0?Th(e,0):t}function Mh(t,r){if(r.typeParameters){if(t.typeParameters)return;t.typeParameters=r.typeParameters}r.thisParameter&&((!(a=t.thisParameter)||a.valueDeclaration&&!a.valueDeclaration.type)&&(a||(t.thisParameter=ef(r.thisParameter,void 0)),Lh(t.thisParameter,So(r.thisParameter))));for(var n=t.parameters.length-(J(t)?1:0),i=0;i0&&(n=xl(l,2)):u=We;var d=function(t,r){var n=[],i=[],a=0!=(2&e.getFunctionFlags(t));return e.forEachYieldExpression(t.body,(function(t){var o,s=t.expression?OD(t.expression,r):we;if(e.pushIfUnique(n,Uh(t,s,Ee,a)),t.asteriskToken){var c=rb(s,a?19:17,t.expression);o=c&&c.nextType}else o=Wm(t);o&&e.pushIfUnique(i,o)})),{yieldTypes:n,nextTypes:i}}(t,r),_=d.yieldTypes,p=d.nextTypes;i=e.some(_)?xl(_,2):void 0,a=e.some(p)?Al(p):void 0}else{var f=Hh(t,r);if(!f)return 2&o?Jh(t,We):We;if(0===f.length)return 2&o?Jh(t,qe):qe;n=xl(f,2)}if(n||i||a){if(i&&_f(t,i,3),n&&_f(t,n,1),a&&_f(t,a,2),n&&Cp(n)||i&&Cp(i)||a&&Cp(a)){var g=Zm(t),m=g?g===zc(t)?c?void 0:n:Vm(Xc(g),t):void 0;c?(i=Ip(i,m,0,s),n=Ip(n,m,1,s),a=Ip(a,m,2,s)):n=function(e,t,r){return e&&Cp(e)&&(e=wp(e,t?r?rx(t):t:void 0)),e}(n,m,s)}i&&(i=cf(i)),n&&(n=cf(n)),a&&(a=cf(a))}return c?zh(i||We,n||u,a||Am(2,t)||Ne,s):s?Bh(n||u):n||u}function zh(e,t,r,n){var i=n?xr:br,a=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||Ne,t=i.resolveIterationType(t,void 0)||Ne,r=i.resolveIterationType(r,void 0)||Ne,a===ct){var o=i.getGlobalIterableIteratorType(!1),s=o!==ct?ob(o,i):void 0,c=s?s.returnType:Ee,u=s?s.nextType:Pe;return b_(t,c)&&b_(u,r)?o!==ct?$u(o,[e]):(i.getGlobalIterableIteratorType(!0),it):(i.getGlobalGeneratorType(!0),it)}return $u(a,[e,t,r])}function Uh(t,r,n,i){var a=t.expression||t,o=t.asteriskToken?Yx(i?19:17,r,n,a):r;return i?ix(o,a,t.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function Vh(e,t,r,n){var i=0;if(n){for(var a=t;a1&&t.charCodeAt(r-1)>=48&&t.charCodeAt(r-1)<=57;)r--;for(var n=t.slice(0,r),i=1;;i++){var a=n+i;if(!AD(e,a))return a}}function ND(e){var t=Tv(e);if(t&&!t.typeParameters)return Xc(t)}function PD(t){var r=wD(t);if(r)return r;if(67108864&t.flags&&ar){var n=ar[O(t)];if(n)return n}var i=Nr,a=OD(t);Nr!==i&&((ar||(ar=[]))[O(t)]=a,e.setNodeFlags(t,67108864|t.flags));return a}function wD(t){var r=e.skipParentheses(t);if(!e.isCallExpression(r)||105===r.expression.kind||e.isRequireCall(r,!0)||dh(r)){if(e.isAssertionExpression(r)&&!e.isConstTypeReference(r.type))return Rd(r.type);if(8===t.kind||10===t.kind||109===t.kind||94===t.kind)return OD(t)}else{var n=e.isCallChain(r)?function(e){var t=OD(e.expression),r=Qp(t,e.expression),n=ND(t);return n&&$p(n,e,r!==t)}(r):ND(By(r.expression));if(n)return n}}function ID(e){var t=Fn(e);if(t.contextFreeType)return t.contextFreeType;var r=e.contextualType;e.contextualType=Ee;try{return t.contextFreeType=OD(e,4)}finally{e.contextualType=r}}function OD(t,r,n){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkExpression",{kind:t.kind,pos:t.pos,end:t.end});var i=d;d=t,b=0;var s=TD(t,function(t,r,n){var i=t.kind;if(o)switch(i){case 222:case 209:case 210:o.throwIfCancellationRequested()}switch(i){case 78:return _m(t,r);case 107:return vm(t);case 105:return xm(t);case 103:return Me;case 14:case 10:return Fd(wd(t.text));case 8:return IE(t),Fd(wd(+t.text));case 9:return function(t){if(!(e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent))&&z<7&&NE(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(t),Fd(function(t){return wd({negative:!1,base10Value:e.parsePseudoBigInt(t.text)})}(t));case 109:return Ke;case 94:return je;case 219:return function(t){for(var r=[t.head.text],n=[],i=0,a=t.templateSpans;i=2||!e.hasRestParameter(t)||8388608&t.flags||e.nodeIsMissing(t.body))return;e.forEach(t.parameters,(function(t){t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===se.escapedName&&_n("noEmit",t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}))}(t);var n=e.getEffectiveReturnTypeNode(t);if(X&&!n)switch(t.kind){case 171:pn(t,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 170:pn(t,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(n){var i=e.getFunctionFlags(t);if(1==(5&i)){var o=Rd(n);if(o===qe)pn(n,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var s=vb(0,o,0!=(2&i))||Ee;C_(zh(s,vb(1,o,0!=(2&i))||s,vb(2,o,0!=(2&i))||Ne,!!(2&i)),o,n)}}else 2==(3&i)&&function(t,r){var n=Rd(r);if(z>=2){if(n===ke)return;var i=Hu(!0);if(i!==ct&&!Eo(n,i))return void pn(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,pa(ix(n)||qe))}else{if(function(t){sx(t&&e.getEntityNameFromTypeNode(t))}(r),n===ke)return;var a=e.getEntityNameFromTypeNode(r);if(void 0===a)return void pn(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,pa(n));var o=fi(a,111551,!0),s=o?So(o):ke;if(s===ke)return void(78===a.kind&&"Promise"===a.escapedText&&To(n)===Hu(!1)?pn(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):pn(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)));var c=(d=!0,Kt||(Kt=Vu("PromiseConstructorLike",0,d))||it);if(c===it)return void pn(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));if(!C_(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var u=a&&e.getFirstIdentifier(a),l=Pn(t.locals,u.escapedText,111551);if(l)return void pn(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a))}var d;nx(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(t,n)}172!==t.kind&&309!==t.kind&&gx(t)}}function jD(t){for(var r=new e.Map,n=0,i=t.members;n0&&r.declarations[0]!==t)return}var n=su(Pi(t));if(null==n?void 0:n.declarations)for(var i=!1,a=!1,o=0,s=n.declarations;o=0)return void(r&&pn(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Qr.push(t.id);var s=ix(o,r,n,i);if(Qr.pop(),!s)return;return a.awaitedTypeOfType=s}if(!function(e){var t=wa(e,"then");return!!t&&kc(_g(t,2097152),0).length>0}(t))return a.awaitedTypeOfType=t;if(r){if(!n)return e.Debug.fail();pn(r,n,i)}}function ox(t){var r=ah(t);uh(r,t);var n=Xc(r);if(!(1&n.flags)){var i,a,o=eh(t);switch(t.parent.kind){case 253:i=xl([So(Pi(t.parent)),qe]);break;case 161:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 164:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 166:case 168:case 169:i=xl([Qu(fS(t.parent)),qe]);break;default:return e.Debug.fail()}C_(n,i,t,o,(function(){return a}))}}function sx(t){if(t){var r=e.getFirstIdentifier(t),n=2097152|(78===t.kind?788968:1920),i=On(r,r.escapedText,n,void 0,void 0,!0);i&&2097152&i.flags&&Bi(i)&&!PS(oi(i))&&!ui(i)&&di(i)}}function cx(t){var r=ux(t);r&&e.isEntityName(r)&&sx(r)}function ux(e){if(e)switch(e.kind){case 184:case 183:return lx(e.types);case 185:return lx([e.trueType,e.falseType]);case 187:case 193:return ux(e.type);case 174:return e.typeName}}function lx(t){for(var r,n=0,i=t;n=e.ModuleKind.ES2015)&&(Nx(t,r,"require")||Nx(t,r,"exports"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Pa(t);298===n.kind&&e.isExternalOrCommonJsModule(n)&&_n("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function Mx(t,r){if(!(z>=4)&&Nx(t,r,"Promise")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Pa(t);298===n.kind&&e.isExternalOrCommonJsModule(n)&&2048&n.flags&&_n("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function Lx(e){return e===Te?Ee:e===Pt?Nt:e}function Rx(t){var r;if(_x(t),e.isBindingElement(t)||Qb(t.type),t.name){if(159===t.name.kind&&(sy(t.name),t.initializer&&mD(t.initializer)),e.isBindingElement(t)){e.isObjectBindingPattern(t.parent)&&t.dotDotDotToken&&z<5&&tE(t,4),t.propertyName&&159===t.propertyName.kind&&sy(t.propertyName);var n=t.parent.parent,i=Oa(n),a=t.propertyName||t.name;if(i&&!e.isBindingPattern(a)){var o=Ol(a);if(os(o)){var s=Tc(i,ds(o));s&&(cv(s,void 0,!1),Ly(t,!!n.initializer&&105===n.initializer.kind,!1,i,s))}}}if(e.isBindingPattern(t.name)&&(198===t.name.kind&&z<2&&A.downlevelIteration&&tE(t,512),e.forEach(t.name.elements,Qb)),t.initializer&&e.isParameterDeclaration(t)&&e.nodeIsMissing(e.getContainingFunction(t).body))pn(t,e.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);else if(e.isBindingPattern(t.name)){var c=t.initializer&&239!==t.parent.parent.kind,u=0===t.name.elements.length;if(c||u){var l=ao(t);if(c){var d=mD(t.initializer);W&&u?qy(d,t):k_(d,ao(t),t,t.initializer)}u&&(e.isArrayBindingPattern(t.name)?Yx(65,l,Pe,t):W&&qy(l,t))}}else{var _=Pi(t);if(2097152&_.flags&&e.isRequireVariableDeclaration(t))zb(t);else{var p=Lx(So(_));if(t===_.valueDeclaration){var f=e.getEffectiveInitializer(t);if(f)e.isInJSFile(t)&&e.isObjectLiteralExpression(f)&&(0===f.properties.length||e.isPrototypeAccess(t.name))&&!!(null===(r=_.exports)||void 0===r?void 0:r.size)||239===t.parent.parent.kind||k_(mD(f),p,t,f,void 0);_.declarations&&_.declarations.length>1&&e.some(_.declarations,(function(r){return r!==t&&e.isVariableLike(r)&&!jx(r,t)}))&&pn(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}else{var g=Lx(ao(t));p===ke||g===ke||y_(p,g)||67108864&_.flags||Bx(_.valueDeclaration,p,t,g),t.initializer&&k_(mD(t.initializer),g,t,t.initializer,void 0),_.valueDeclaration&&!jx(t,_.valueDeclaration)&&pn(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}164!==t.kind&&163!==t.kind&&(ex(t),250!==t.kind&&199!==t.kind||function(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(250!==t.kind||t.initializer)){var r=Pi(t);if(1&r.flags){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=On(t,t.name.escapedText,3,void 0,void 0,!1);if(n&&n!==r&&2&n.flags&&3&Oy(n)){var i=e.getAncestor(n.valueDeclaration,251),a=233===i.parent.kind&&i.parent.parent?i.parent.parent:void 0;if(!a||!(231===a.kind&&e.isFunctionLike(a.parent)||258===a.kind||257===a.kind||298===a.kind)){var o=da(n);pn(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o)}}}}}(t),Ox(t,t.name),Mx(t,t.name),z<99&&(Nx(t,t.name,"WeakMap")||Nx(t,t.name,"WeakSet"))&&$r.push(t))}}}}function Bx(t,r,n,i){var a=e.getNameOfDeclaration(n),o=164===n.kind||163===n.kind?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,s=e.declarationNameToString(a),c=pn(a,o,s,pa(r),pa(i));t&&e.addRelatedInfo(c,e.createDiagnosticForNode(t,e.Diagnostics._0_was_also_declared_here,s))}function jx(t,r){if(161===t.kind&&250===r.kind||250===t.kind&&161===r.kind)return!0;if(e.hasQuestionToken(t)!==e.hasQuestionToken(r))return!1;return e.getSelectedEffectiveModifierFlags(t,504)===e.getSelectedEffectiveModifierFlags(r,504)}function Jx(t){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkVariableDeclaration",{kind:t.kind,pos:t.pos,end:t.end}),function(t){if(239!==t.parent.parent.kind&&240!==t.parent.parent.kind)if(8388608&t.flags)bE(t);else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return NE(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(t))return NE(t,e.Diagnostics.const_declarations_must_be_initialized)}if(t.exclamationToken&&(233!==t.parent.parent.kind||!t.type||t.initializer||8388608&t.flags)){var r=t.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return NE(t.exclamationToken,r)}var n=e.getEmitModuleKind(A);n=1&&Jx(t.declarations[0])}function Gx(e){return Yx(e.awaitModifier?15:13,By(e.expression),Pe,e.expression)}function Yx(e,t,r,n){return Ia(t)?t:Xx(e,t,r,n,!0)||Ee}function Xx(t,r,n,i,a){var o=0!=(2&t);if(r!==We){var s=z>=2,c=!s&&A.downlevelIteration,u=A.noUncheckedIndexedAccess&&!!(128&t);if(s||c||o){var l=rb(r,t,s?i:void 0);if(a&&l){var d=8&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&t?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;d&&C_(n,l.nextType,i,d)}if(l||s)return u?mg(l&&l.yieldType):l&&l.yieldType}var _=r,p=!1,f=!1;if(4&t){if(1048576&_.flags){var g=r.types,m=e.filter(g,(function(e){return!(402653316&e.flags)}));m!==g&&(_=xl(m,2))}else 402653316&_.flags&&(_=We);if((f=_!==r)&&(z<1&&i&&(pn(i,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),p=!0),131072&_.flags))return u?mg(Le):Le}if(!Dp(_)){if(i&&!p){var y=function(n,i){var a;if(i)return n?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0];if($x(t,0,r,void 0))return[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1];if(function(e){switch(e){case"Float32Array":case"Float64Array":case"Int16Array":case"Int32Array":case"Int8Array":case"NodeList":case"Uint16Array":case"Uint32Array":case"Uint8Array":case"Uint8ClampedArray":return!0}return!1}(null===(a=r.symbol)||void 0===a?void 0:a.escapedName))return[e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0];return n?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:[e.Diagnostics.Type_0_is_not_an_array_type,!0]}(!!(4&t)&&!f,c),v=y[0];mn(i,y[1]&&!!tx(_),v,pa(_))}return f?u?mg(Le):Le:void 0}var h=Pc(_,1);return f&&h?402653316&h.flags&&!A.noUncheckedIndexedAccess?Le:xl(u?[h,Le,Pe]:[h,Le],2):128&t?mg(h):h}ub(i,r,o)}function $x(e,t,r,n){if(!Ia(r)){var i=rb(r,e,n);return i&&i[j(t)]}}function Qx(e,t,r){if(void 0===e&&(e=We),void 0===t&&(t=We),void 0===r&&(r=Ne),67359327&e.flags&&180227&t.flags&&180227&r.flags){var n=mu([e,t,r]),i=mr.get(n);return i||(i={yieldType:e,returnType:t,nextType:r},mr.set(n,i)),i}return{yieldType:e,returnType:t,nextType:r}}function Zx(t){for(var r,n,i,a=0,o=t;an)return!1;for(var l=0;l1)return AE(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=!0}else{if(e.Debug.assert(116===o.token),n)return AE(o,e.Diagnostics.implements_clause_already_seen);n=!0}dE(o)}})(t)||oE(t.typeParameters,r)}(t),_x(t),t.name&&(Tb(t.name,e.Diagnostics.Class_name_cannot_be_0),Ox(t,t.name),Mx(t,t.name),8388608&t.flags||function(t){1===z&&"Object"===t.escapedText&&U>a;case 49:return i>>>a;case 47:return i<1&&L(t,e.shouldPreserveConstEnums(A))){var s=function(t){var r=t.declarations;if(r)for(var n=0,i=r;n1&&!$b(n))for(var o=0,s=n;o1&&t.every((function(t){return e.isInJSFile(t)&&e.isAccessExpression(t)&&(e.isExportsIdentifier(t.expression)||e.isModuleExportsAccessExpression(t.expression))}))}function Qb(t){if(t){var r=d;d=t,b=0,function(t){e.isInJSFile(t)&&e.forEach(t.jsDoc,(function(t){var r=t.tags;return e.forEach(r,Qb)}));var r=t.kind;if(o)switch(r){case 257:case 253:case 254:case 252:o.throwIfCancellationRequested()}r>=233&&r<=249&&t.flowNode&&!Qg(t.flowNode)&&gn(!1===A.allowUnreachableCode,t,e.Diagnostics.Unreachable_code_detected);switch(r){case 160:return MD(t);case 161:return LD(t);case 164:return KD(t);case 163:return function(t){return e.isPrivateIdentifier(t.name)&&pn(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),KD(t)}(t);case 176:case 175:case 170:case 171:case 172:return BD(t);case 166:case 165:return function(t){DE(t)||pE(t.name),fx(t),e.hasSyntacticModifier(t,128)&&166===t.kind&&t.body&&pn(t,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(t.name)),e.isPrivateIdentifier(t.name)&&!e.getContainingClass(t)&&pn(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),zD(t)}(t);case 167:return UD(t);case 168:case 169:return VD(t);case 174:return GD(t);case 173:return function(t){var r=function(e){switch(e.parent.kind){case 210:case 170:case 252:case 209:case 175:case 166:case 165:var t=e.parent;if(e===t.type)return t}}(t);if(r){var n=zc(r),i=Gc(n);if(i){Qb(t.type);var a=t.parameterName;if(0===i.kind||2===i.kind)Od(a);else if(i.parameterIndex>=0)J(n)&&i.parameterIndex===n.parameters.length-1?pn(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):i.type&&C_(i.type,So(n.parameters[i.parameterIndex]),t.type,void 0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)}));else if(a){for(var o=!1,s=0,c=r.parameters;s0),n.length>1&&pn(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=px(t.class.expression),a=e.getClassExtendsHeritageElement(r);if(a){var o=px(a.expression);o&&i.escapedText!==o.escapedText&&pn(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else pn(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 319:return function(t){var r=e.getEffectiveJSDocHost(t);r&&(e.isClassDeclaration(r)||e.isClassExpression(r))||pn(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 335:case 328:case 329:return function(t){t.typeExpression||pn(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),t.name&&Tb(t.name,e.Diagnostics.Type_alias_name_cannot_be_0),Qb(t.typeExpression)}(t);case 334:return function(e){Qb(e.constraint);for(var t=0,r=e.typeParameters;t-1&&n1){var n=e.isEnumConst(t);e.forEach(r.declarations,(function(t){e.isEnumDeclaration(t)&&e.isEnumConst(t)!==n&&pn(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}))}var i=!1;e.forEach(r.declarations,(function(t){if(256!==t.kind)return!1;var r=t;if(!r.members.length)return!1;var n=r.members[0];n.initializer||(i?pn(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):i=!0)}))}}}(t);case 257:return jb(t);case 262:return Vb(t);case 261:return function(t){if(!Wb(t,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(nE(t),e.isInternalModuleImportEqualsDeclaration(t)||Kb(t)))if(Ub(t),e.hasSyntacticModifier(t,1)&&li(t),273!==t.moduleReference.kind){var r=oi(Pi(t));if(r!==be){if(111551&r.flags){var n=e.getFirstIdentifier(t.moduleReference);1920&fi(n,112575).flags||pn(n,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(n))}788968&r.flags&&Tb(t.name,e.Diagnostics.Import_name_cannot_be_0)}t.isTypeOnly&&NE(t,e.Diagnostics.An_import_alias_cannot_use_import_type)}else!(U>=e.ModuleKind.ES2015)||t.isTypeOnly||8388608&t.flags||NE(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 268:return qb(t);case 267:return function(t){if(!Wb(t,t.isExportEquals?e.Diagnostics.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:e.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration)){var r=298===t.parent.kind?t.parent:t.parent.parent;if(257!==r.kind||e.isAmbientModule(r)){if(!nE(t)&&e.hasEffectiveModifiers(t)&&AE(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers),78===t.expression.kind){var n=t.expression,i=fi(n,67108863,!0,!0,t);if(i){dm(i,n);var a=2097152&i.flags?oi(i):i;(a===be||111551&a.flags)&&mD(t.expression)}else mD(t.expression);e.getEmitDeclarations(A)&&Ca(t.expression,!0)}else mD(t.expression);Xb(r),8388608&t.flags&&!e.isEntityNameExpression(t.expression)&&NE(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||8388608&t.flags||(U>=e.ModuleKind.ES2015?NE(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):U===e.ModuleKind.System&&NE(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else t.isExportEquals?pn(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):pn(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 232:case 249:return void wE(t);case 272:(function(e){_x(e)})(t)}}(t),d=r}}function Zb(t){e.isInJSFile(t)||NE(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function eS(t){var r=Fn(e.getSourceFileOfNode(t));if(!(1&r.flags)){r.deferredNodes=r.deferredNodes||new e.Map;var n=O(t);r.deferredNodes.set(n,t)}}function tS(t){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkDeferredNode",{kind:t.kind,pos:t.pos,end:t.end});var r=d;switch(d=t,b=0,t.kind){case 204:case 205:case 206:case 162:case 276:yv(t);break;case 209:case 210:case 166:case 165:!function(t){e.Debug.assert(166!==t.kind||e.isObjectLiteralMethod(t));var r=e.getFunctionFlags(t),n=$c(t);if(Gh(t,n),t.body)if(e.getEffectiveReturnTypeNode(t)||Xc(zc(t)),231===t.body.kind)Qb(t.body);else{var i=OD(t.body),a=n&&xb(n,r);a&&k_(2==(3&r)?nx(i,t.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,a,t.body,t.body)}}(t);break;case 168:case 169:VD(t);break;case 222:!function(t){e.forEach(t.members,Qb),gx(t)}(t);break;case 275:!function(e){Ny(e)}(t);break;case 274:!function(e){Ny(e.openingElement),py(e.closingElement.tagName)?hy(e.closingElement):OD(e.closingElement.tagName),gy(e)}(t)}d=r,null===e.tracing||void 0===e.tracing||e.tracing.pop()}function rS(t){null===e.tracing||void 0===e.tracing||e.tracing.push("check","checkSourceFile",{path:t.path},!0),e.performance.mark("beforeCheck"),function(t){var r=Fn(t);if(!(1&r.flags)){if(e.skipTypeChecking(t,A,n))return;!function(t){!!(8388608&t.flags)&&function(t){for(var r=0,n=t.statements;r0?e.concatenate(o,a):a}return e.forEach(n.getSourceFiles(),rS),Zr.getDiagnostics()}(t)}finally{o=void 0}}function oS(){if(!a)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function sS(e){switch(e.kind){case 160:case 253:case 254:case 255:case 256:case 335:case 328:case 329:return!0;case 263:return e.isTypeOnly;case 266:case 271:return e.parent.parent.isTypeOnly;default:return!1}}function cS(e){for(;158===e.parent.kind;)e=e.parent;return 174===e.parent.kind}function uS(t,r){for(var n;(t=e.getContainingClass(t))&&!(n=r(t)););return n}function lS(e,t){return!!uS(e,(function(e){return e===t}))}function dS(e){return void 0!==function(e){for(;158===e.parent.kind;)e=e.parent;return 261===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:267===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function _S(t){if(e.isDeclarationName(t))return Pi(t.parent);if(e.isInJSFile(t)&&202===t.parent.kind&&t.parent===t.parent.parent.left&&!e.isPrivateIdentifier(t)){var r=function(t){switch(e.getAssignmentDeclarationKind(t.parent.parent)){case 1:case 3:return Pi(t.parent);case 4:case 2:case 5:return Pi(t.parent.parent)}}(t);if(r)return r}if(267===t.parent.kind&&e.isEntityNameExpression(t)){var n=fi(t,2998271,!0);if(n&&n!==be)return n}else if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)&&dS(t)){var i=e.getAncestor(t,261);return e.Debug.assert(void 0!==i),_i(t,!0)}if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)){var a=function(t){for(var r=t.parent;e.isQualifiedName(r);)t=r,r=r.parent;if(r&&196===r.kind&&r.qualifier===t)return r}(t);if(a){Rd(a);var o=Fn(t).resolvedSymbol;return o===be?void 0:o}}for(;e.isRightSideOfQualifiedNameOrPropertyAccess(t);)t=t.parent;if(function(e){for(;202===e.parent.kind;)e=e.parent;return 224===e.parent.kind}(t)){var s=0;224===t.parent.kind?(s=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(s|=111551)):s=1920,s|=2097152;var c=e.isEntityNameExpression(t)?fi(t,s):void 0;if(c)return c}if(330===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(160===t.parent.kind&&334===t.parent.parent.kind){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;if(78===t.kind)return e.isJSXTagName(t)&&py(t)?(l=hy(t.parent))===be?void 0:l:fi(t,111551,!1,!0);if(202===t.kind||158===t.kind)return(d=Fn(t)).resolvedSymbol||(202===t.kind?Wy(t,0):Hy(t,0)),d.resolvedSymbol}else if(cS(t)){return fi(t,s=174===t.parent.kind?788968:1920,!1,!0)}if(function(t){for(;158===t.parent.kind;)t=t.parent;for(;202===t.parent.kind;)t=t.parent;return e.isJSDocNameReference(t.parent)?t.parent:void 0}(t)||e.isJSDocLink(t.parent)){var l;if(l=fi(t,s=901119,!1,!1,e.getHostSignatureFromJSDoc(t)))return l;if(e.isQualifiedName(t)&&e.isIdentifier(t.left)){var d;if((d=Fn(t)).resolvedSymbol)return d.resolvedSymbol;if(Hy(t,0),d.resolvedSymbol)return d.resolvedSymbol;var _=fi(t.left,s,!1);if(_)return Tc(Xo(_),t.right.escapedText)}}return 173===t.parent.kind?fi(t,1):void 0}function pS(t,r){if(298===t.kind)return e.isExternalModule(t)?Ni(t.symbol):void 0;var n=t.parent,i=n.parent;if(!(16777216&t.flags)){if(B(t)){var a=Pi(n);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?uy(a):a}if(e.isLiteralComputedPropertyDeclarationName(t))return Pi(n.parent);if(78===t.kind){if(dS(t))return _S(t);if(199===n.kind&&197===i.kind&&t===n.propertyName){var o=Tc(fS(i),t.escapedText);if(o)return o}}switch(t.kind){case 78:case 79:case 202:case 158:return _S(t);case 107:var s=e.getThisContainer(t,!1);if(e.isFunctionLike(s)){var c=zc(s);if(c.thisParameter)return c.thisParameter}if(e.isInExpressionContext(t))return OD(t).symbol;case 188:return Od(t).symbol;case 105:return OD(t).symbol;case 132:var u=t.parent;return u&&167===u.kind?u.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(262===t.parent.kind||268===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJSFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent)||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent)return mi(t,t,r);if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===t)return Pi(n);case 8:var l=e.isElementAccessExpression(n)?n.argumentExpression===t?PD(n.expression):void 0:e.isLiteralTypeNode(n)&&e.isIndexedAccessTypeNode(i)?Rd(i.objectType):void 0;return l&&Tc(l,e.escapeLeadingUnderscores(t.text));case 87:case 97:case 38:case 83:return Pi(t.parent);case 196:return e.isLiteralImportTypeNode(t)?pS(t.argument.literal,r):void 0;case 92:return e.isExportAssignment(t.parent)?e.Debug.checkDefined(t.parent.symbol):void 0;default:return}}}function fS(t){if(e.isSourceFile(t)&&!e.isExternalModule(t))return ke;if(16777216&t.flags)return ke;var r,n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t),i=n&&Ko(Pi(n.class));if(e.isPartOfTypeNode(t)){var a=Rd(t);return i?ms(a,i.thisType):a}if(e.isExpressionNode(t))return mS(t);if(i&&!n.isImplements){var o=e.firstOrUndefined(Bo(i));return o?ms(o,i.thisType):ke}if(sS(t))return Xo(r=Pi(t));if(function(t){return 78===t.kind&&sS(t.parent)&&e.getNameOfDeclaration(t.parent)===t}(t))return(r=pS(t))?Xo(r):ke;if(e.isDeclaration(t))return So(r=Pi(t));if(B(t))return(r=pS(t))?So(r):ke;if(e.isBindingPattern(t))return qa(t.parent,!0)||ke;if(dS(t)&&(r=pS(t))){var s=Xo(r);return s!==ke?s:So(r)}return ke}function gS(t){if(e.Debug.assert(201===t.kind||200===t.kind),240===t.parent.kind)return lD(t,Gx(t.parent)||ke);if(217===t.parent.kind)return lD(t,PD(t.parent.right)||ke);if(289===t.parent.kind){var r=e.cast(t.parent.parent,e.isObjectLiteralExpression);return cD(r,gS(r)||ke,e.indexOfNode(r.properties,t.parent))}var n=e.cast(t.parent,e.isArrayLiteralExpression),i=gS(n)||ke,a=Yx(65,i,Pe,t.parent)||ke;return uD(n,i,n.elements.indexOf(t),a)}function mS(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Nd(PD(t))}function yS(t){var r=Pi(t.parent);return e.hasSyntacticModifier(t,32)?So(r):Xo(r)}function vS(t){var r=t.name;switch(r.kind){case 78:return wd(e.idText(r));case 8:case 10:return wd(r.text);case 159:var n=sy(r);return iD(n,12288)?n:Le;default:return e.Debug.fail("Unsupported property name.")}}function hS(t){t=gc(t);var r=e.createSymbolTable(tc(t)),n=kc(t,0).length?xt:kc(t,1).length?bt:void 0;return n&&e.forEach(tc(n),(function(e){r.has(e.escapedName)||r.set(e.escapedName,e)})),Hi(r)}function DS(t){return e.typeHasCallOrConstructSignatures(t,ue)}function xS(t){if(e.isGeneratedIdentifier(t))return!1;var r=e.getParseTreeNode(t,e.isIdentifier);if(!r)return!1;var n=r.parent;return!!n&&(!((e.isPropertyAccessExpression(n)||e.isPropertyAssignment(n))&&n.name===r)&&GS(r)===se)}function bS(t){var r=mi(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var n=bi(r),i=An(r=Di(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=n?!!(111551&r.flags):e.forEachEntry(ki(r),(function(e){return(e=ai(e))&&!!(111551&e.flags)}))),i.exportsSomeValue}function SS(t,r){var n,i=e.getParseTreeNode(t,e.isIdentifier);if(i){var a=GS(i,function(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}(i));if(a){if(1048576&a.flags){var o=Ni(a.exportSymbol);if(!r&&944&o.flags&&!(3&o.flags))return;a=o}var s=wi(a);if(s){if(512&s.flags&&298===(null===(n=s.valueDeclaration)||void 0===n?void 0:n.kind)){var c=s.valueDeclaration;return c!==e.getSourceFileOfNode(i)?void 0:c}return e.findAncestor(i.parent,(function(t){return e.isModuleOrEnumDeclaration(t)&&Pi(t)===s}))}}}}function ES(t){if(t.generatedImportReference)return t.generatedImportReference;var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=GS(r);if(ii(n,111551)&&!ui(n))return qn(n)}}function TS(t){if(418&t.flags&&t.valueDeclaration&&!e.isSourceFile(t.valueDeclaration)){var r=An(t);if(void 0===r.isDeclarationWithCollidingName){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)||function(t){return t.valueDeclaration&&e.isBindingElement(t.valueDeclaration)&&288===e.walkUpBindingElementsAndPatterns(t.valueDeclaration).parent.kind}(t)){var i=Fn(t.valueDeclaration);if(On(n.parent,t.escapedName,111551,void 0,void 0,!1))r.isDeclarationWithCollidingName=!0;else if(262144&i.flags){var a=524288&i.flags,o=e.isIterationStatement(n,!1),s=231===n.kind&&e.isIterationStatement(n.parent,!1);r.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(n)||a&&(o||s))}else r.isDeclarationWithCollidingName=!1}}return r.isDeclarationWithCollidingName}return!1}function CS(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=GS(r);if(n&&TS(n))return n.valueDeclaration}}}function kS(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=Pi(r);if(n)return TS(n)}return!1}function AS(t){switch(t.kind){case 261:return NS(Pi(t)||be);case 263:case 264:case 266:case 271:var r=Pi(t)||be;return NS(r)&&!ui(r);case 268:var n=t.exportClause;return!!n&&(e.isNamespaceExport(n)||e.some(n.elements,AS));case 267:return!t.expression||78!==t.expression.kind||NS(Pi(t)||be)}return!1}function FS(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);return!(void 0===r||298!==r.parent.kind||!e.isInternalModuleImportEqualsDeclaration(r))&&(NS(Pi(r))&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference))}function NS(t){var r=oi(t);return r===be||!!(111551&r.flags)&&(e.shouldPreserveConstEnums(A)||!PS(r))}function PS(e){return sD(e)||!!e.constEnumOnlyModule}function wS(t,r){if(Wn(t)){var n=Pi(t),i=n&&An(n);if(null==i?void 0:i.referenced)return!0;var a=An(n).target;if(a&&1&e.getEffectiveModifierFlags(t)&&111551&a.flags&&(e.shouldPreserveConstEnums(A)||!PS(a)))return!0}return!!r&&!!e.forEachChild(t,(function(e){return wS(e,r)}))}function IS(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return!1;var r=qc(Pi(t));return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function OS(t){return!(!W||Rc(t)||e.isJSDocParameterTag(t)||!t.initializer||e.hasSyntacticModifier(t,16476))}function MS(t){return W&&Rc(t)&&!t.initializer&&e.hasSyntacticModifier(t,16476)}function LS(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return!1;var n=Pi(r);return!!(n&&16&n.flags)&&!!e.forEachEntry(Ci(n),(function(t){return 111551&t.flags&&t.valueDeclaration&&e.isPropertyAccessExpression(t.valueDeclaration)}))}function RS(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return e.emptyArray;var n=Pi(r);return n&&tc(So(n))||e.emptyArray}function BS(e){return Fn(e).flags||0}function jS(e){return Mb(e.parent),Fn(e).enumMemberValue}function JS(e){switch(e.kind){case 292:case 202:case 203:return!0}return!1}function KS(t){if(292===t.kind)return jS(t);var r=Fn(t).resolvedSymbol;if(r&&8&r.flags){var n=r.valueDeclaration;if(e.isEnumConst(n.parent))return jS(n)}}function zS(e){return!!(524288&e.flags)&&kc(e,0).length>0}function US(t,r){var n,i=e.getParseTreeNode(t,e.isEntityName);if(!i)return e.TypeReferenceSerializationKind.Unknown;if(r&&!(r=e.getParseTreeNode(r)))return e.TypeReferenceSerializationKind.Unknown;var a=fi(i,111551,!0,!0,r),o=(null===(n=null==a?void 0:a.declarations)||void 0===n?void 0:n.every(e.isTypeOnlyImportOrExportDeclaration))||!1,s=a&&2097152&a.flags?oi(a):a,c=fi(i,788968,!0,!1,r);if(s&&s===c){var u=Gu(!1);if(u&&s===u)return e.TypeReferenceSerializationKind.Promise;var l=So(s);if(l&&wo(l))return o?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!c)return o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var d=Xo(c);return d===ke?o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&d.flags?e.TypeReferenceSerializationKind.ObjectType:iD(d,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:iD(d,528)?e.TypeReferenceSerializationKind.BooleanType:iD(d,296)?e.TypeReferenceSerializationKind.NumberLikeType:iD(d,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:iD(d,402653316)?e.TypeReferenceSerializationKind.StringLikeType:Op(d)?e.TypeReferenceSerializationKind.ArrayLikeType:iD(d,12288)?e.TypeReferenceSerializationKind.ESSymbolType:zS(d)?e.TypeReferenceSerializationKind.TypeWithCallSignature:mp(d)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function VS(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o)return e.factory.createToken(128);var s=Pi(o),c=!s||133120&s.flags?ke:Np(So(s));return 8192&c.flags&&c.symbol===s&&(n|=1048576),a&&(c=Wp(c)),re.typeToTypeNode(c,r,1024|n,i)}function qS(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a)return e.factory.createToken(128);var o=zc(a);return re.typeToTypeNode(Xc(o),r,1024|n,i)}function WS(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a)return e.factory.createToken(128);var o=cf(mS(a));return re.typeToTypeNode(o,r,1024|n,i)}function HS(t){return ne.has(e.escapeLeadingUnderscores(t))}function GS(t,r){var n=Fn(t).resolvedSymbol;if(n)return n;var i=t;if(r){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=Pa(a))}return On(i,t.escapedText,3257279,void 0,void 0,!0)}function YS(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=GS(r);if(n)return Ri(n).valueDeclaration}}}function XS(t){return!!(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t))&&Pd(So(Pi(t)))}function $S(t,r){return function(t,r,n){var i=1024&t.flags?re.symbolToExpression(t.symbol,111551,r,void 0,n):t===Ke?e.factory.createTrue():t===je&&e.factory.createFalse();if(i)return i;var a=t.value;return"object"==typeof a?e.factory.createBigIntLiteral(a):"number"==typeof a?e.factory.createNumericLiteral(a):e.factory.createStringLiteral(a)}(So(Pi(t)),t,r)}function QS(t){return t?(dn(t),e.getSourceFileOfNode(t).localJsxFactory||sr):sr}function ZS(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxFragmentFactory)return r.localJsxFragmentFactory;var n=r.pragmas.get("jsxfrag"),i=e.isArray(n)?n[0]:n;if(i)return r.localJsxFragmentFactory=e.parseIsolatedEntityName(i.arguments.factory,z),r.localJsxFragmentFactory}}if(A.jsxFragmentFactory)return e.parseIsolatedEntityName(A.jsxFragmentFactory,z)}function eE(t){var r=257===t.kind?e.tryCast(t.name,e.isStringLiteral):e.getExternalModuleName(t),n=yi(r,r,void 0);if(n)return e.getDeclarationOfKind(n,298)}function tE(t,r){if((s&r)!==r&&A.importHelpers){var n=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(n,A)&&!(8388608&t.flags)){var i=function(t,r){l||(l=vi(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,r)||be);return l}(n,t);if(i!==be)for(var a=r&~s,o=1;o<=2097152;o<<=1)if(a&o){var c=rE(o),u=Pn(i.exports,e.escapeLeadingUnderscores(c),111551);u?524288&o?e.some(qc(u),(function(e){return Ah(e)>3}))||pn(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c,4):1048576&o&&(e.some(qc(u),(function(e){return Ah(e)>4}))||pn(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c,5)):pn(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c)}s|=r}}}function rE(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spreadArray";case 2048:return"__await";case 4096:return"__asyncGenerator";case 8192:return"__asyncDelegator";case 16384:return"__asyncValues";case 32768:return"__exportStar";case 65536:return"__importStar";case 131072:return"__importDefault";case 262144:return"__makeTemplateObject";case 524288:return"__classPrivateFieldGet";case 1048576:return"__classPrivateFieldSet";case 2097152:return"__createBinding";default:return e.Debug.fail("Unrecognized helper")}}function nE(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 166!==t.kind||e.nodeIsPresent(t.body)?AE(t,e.Diagnostics.Decorators_are_not_valid_here):AE(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(168===t.kind||169===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return AE(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var r,n,i,a,o,s=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 168:case 169:case 167:case 164:case 163:case 166:case 165:case 172:case 257:case 262:case 261:case 268:case 267:case 209:case 210:case 161:return!1;default:if(258===t.parent.kind||298===t.parent.kind)return!1;switch(t.kind){case 252:return iE(t,129);case 253:case 176:return iE(t,125);case 254:case 233:case 255:return!0;case 256:return iE(t,84);default:e.Debug.fail()}}}(t)?AE(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==s)return s;for(var c=0,u=0,l=t.modifiers;u1||e.modifiers[0].kind!==t}function aE(t,r){return void 0===r&&(r=e.Diagnostics.Trailing_comma_not_allowed),!(!t||!t.hasTrailingComma)&&FE(t[0],t.end-",".length,",".length,r)}function oE(t,r){if(t&&0===t.length){var n=t.pos-"<".length;return FE(r,n,e.skipTrivia(r.text,t.end)+">".length-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function sE(r){if(z>=3){var n=r.body&&e.isBlock(r.body)&&e.findUseStrictPrologue(r.body.statements);if(n){var i=(o=r.parameters,e.filter(o,(function(t){return!!t.initializer||e.isBindingPattern(t.name)||e.isRestParameter(t)})));if(e.length(i)){e.forEach(i,(function(t){e.addRelatedInfo(pn(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))}));var a=i.map((function(t,r){return 0===r?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)}));return e.addRelatedInfo.apply(void 0,t([pn(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],a)),!0}}}var o;return!1}function cE(t){var r=e.getSourceFileOfNode(t);return nE(t)||oE(t.typeParameters,r)||function(t){for(var r=!1,n=t.length,i=0;i".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(t,r)}function lE(t){return function(t){if(t)for(var r=0,n=t;r1){n=239===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return AE(o.declarations[1],n)}var c=s[0];if(c.initializer){var n=239===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return NE(c.name,n)}if(c.type)return NE(c,n=239===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function vE(t){if(t.parameters.length===(168===t.kind?1:2))return e.getThisParameter(t)}function hE(t,r){if(function(t){return e.isDynamicName(t)&&!ss(t)}(t))return NE(t,r)}function DE(t){if(cE(t))return!0;if(166===t.kind){if(201===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||129!==e.first(t.modifiers).kind))return AE(t,e.Diagnostics.Modifiers_cannot_appear_here);if(gE(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(mE(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===t.body)return FE(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(fE(t))return!0}if(e.isClassLike(t.parent)){if(z<2&&e.isPrivateIdentifier(t.name))return NE(t.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(8388608&t.flags)return hE(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(166===t.kind&&!t.body)return hE(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(254===t.parent.kind)return hE(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(178===t.parent.kind)return hE(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function xE(t){return e.isStringOrNumericLiteralLike(t)||215===t.kind&&40===t.operator&&8===t.operand.kind}function bE(t){var r,n=t.initializer;if(n){var i=!(xE(n)||function(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&xE(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(1024&mD(t).flags)}(n)||109===n.kind||94===n.kind||(r=n,9===r.kind||215===r.kind&&40===r.operator&&9===r.operand.kind)),a=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(!a||t.type)return NE(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(i)return NE(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!a||i)return NE(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function SE(t){if(78===t.kind){if("__esModule"===e.idText(t))return function(t,r,n,i,a,o){if(!kE(e.getSourceFileOfNode(r)))return _n(t,r,n,i,a,o),!0;return!1}("noEmit",t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var r=0,n=t.elements;r0}function AE(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!kE(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return Zr.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a)),!0}return!1}function FE(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);return!kE(c)&&(Zr.add(e.createFileDiagnostic(c,r,n,i,a,o,s)),!0)}function NE(t,r,n,i,a){return!kE(e.getSourceFileOfNode(t))&&(Zr.add(e.createDiagnosticForNode(t,r,n,i,a)),!0)}function PE(t){return 254!==t.kind&&255!==t.kind&&262!==t.kind&&261!==t.kind&&268!==t.kind&&267!==t.kind&&260!==t.kind&&!e.hasSyntacticModifier(t,515)&&AE(t,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function wE(t){if(8388608&t.flags){if(!Fn(t).hasReportedStatementInAmbientContext&&(e.isFunctionLike(t.parent)||e.isAccessor(t.parent)))return Fn(t).hasReportedStatementInAmbientContext=AE(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(231===t.parent.kind||258===t.parent.kind||298===t.parent.kind){var r=Fn(t.parent);if(!r.hasReportedStatementInAmbientContext)return r.hasReportedStatementInAmbientContext=AE(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function IE(t){if(32&t.numericLiteralFlags){var r=void 0;if(z>=1?r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,192)?r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,292)&&(r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),r){var n=e.isPrefixUnaryExpression(t.parent)&&40===t.parent.operator,i=(n?"-":"")+"0o"+t.text;return NE(n?t.parent:t,r,i)}}return function(t){if(16&t.numericLiteralFlags||t.text.length<=15||-1!==t.text.indexOf("."))return;var r=+e.getTextOfNode(t);if(r<=Math.pow(2,53)-1&&r+1>r)return;fn(!1,e.createDiagnosticForNode(t,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}(t),!1}function OE(t,r,n,i){if(1048576&r.flags&&2621440&t.flags){var a=ag(r,t);if(a)return a;var o=tc(t);if(o){var s=rg(o,r);if(s)return $_(r,e.map(s,(function(e){return[function(){return So(e)},e.escapedName]})),n,void 0,i)}}}},function(e){e.JSX="JSX",e.IntrinsicElements="IntrinsicElements",e.ElementClass="ElementClass",e.ElementAttributesPropertyNameContainer="ElementAttributesProperty",e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",e.Element="Element",e.IntrinsicAttributes="IntrinsicAttributes",e.IntrinsicClassAttributes="IntrinsicClassAttributes",e.LibraryManagedAttributes="LibraryManagedAttributes"}(N||(N={})),e.signatureHasRestParameter=J,e.signatureHasLiteralTypes=K}(s||(s={})),function(e){function t(t,r,n,i){if(void 0===t||void 0===r)return t;var a,o=r(t);return o===t?t:void 0!==o?(a=e.isArray(o)?(i||c)(o):o,e.Debug.assertNode(a,n),a):void 0}function r(t,r,n,i,a){if(void 0===t||void 0===r)return t;var o,s,c=t.length;(void 0===i||i<0)&&(i=0),(void 0===a||a>c-i)&&(a=c-i);var u=-1,l=-1;(i>0||a=2&&(s=function(t,r){for(var n,i=0;i0&&p<=157||188===p)return a;var f=u.factory;switch(p){case 78:return e.Debug.type(a),f.updateIdentifier(a,l(a.typeArguments,c,e.isTypeNodeOrTypeParameterDeclaration));case 158:return e.Debug.type(a),f.updateQualifiedName(a,_(a.left,c,e.isEntityName),_(a.right,c,e.isIdentifier));case 159:return e.Debug.type(a),f.updateComputedPropertyName(a,_(a.expression,c,e.isExpression));case 160:return e.Debug.type(a),f.updateTypeParameterDeclaration(a,_(a.name,c,e.isIdentifier),_(a.constraint,c,e.isTypeNode),_(a.default,c,e.isTypeNode));case 161:return e.Debug.type(a),f.updateParameterDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.dotDotDotToken,d,e.isDotDotDotToken),_(a.name,c,e.isBindingName),_(a.questionToken,d,e.isQuestionToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 162:return e.Debug.type(a),f.updateDecorator(a,_(a.expression,c,e.isExpression));case 163:return e.Debug.type(a),f.updatePropertySignature(a,l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isToken),_(a.type,c,e.isTypeNode));case 164:return e.Debug.type(a),f.updatePropertyDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken||a.exclamationToken,d,e.isQuestionOrExclamationToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 165:return e.Debug.type(a),f.updateMethodSignature(a,l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isQuestionToken),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 166:return e.Debug.type(a),f.updateMethodDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isPropertyName),_(a.questionToken,d,e.isQuestionToken),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 167:return e.Debug.type(a),f.updateConstructorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),i(a.parameters,c,u,l),o(a.body,c,u,_));case 168:return e.Debug.type(a),f.updateGetAccessorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 169:return e.Debug.type(a),f.updateSetAccessorDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isPropertyName),i(a.parameters,c,u,l),o(a.body,c,u,_));case 170:return e.Debug.type(a),f.updateCallSignature(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 171:return e.Debug.type(a),f.updateConstructSignature(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 172:return e.Debug.type(a),f.updateIndexSignature(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 173:return e.Debug.type(a),f.updateTypePredicateNode(a,_(a.assertsModifier,c,e.isAssertsKeyword),_(a.parameterName,c,e.isIdentifierOrThisTypeNode),_(a.type,c,e.isTypeNode));case 174:return e.Debug.type(a),f.updateTypeReferenceNode(a,_(a.typeName,c,e.isEntityName),l(a.typeArguments,c,e.isTypeNode));case 175:return e.Debug.type(a),f.updateFunctionTypeNode(a,l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 176:return e.Debug.type(a),f.updateConstructorTypeNode(a,l(a.modifiers,c,e.isModifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.parameters,c,e.isParameterDeclaration),_(a.type,c,e.isTypeNode));case 177:return e.Debug.type(a),f.updateTypeQueryNode(a,_(a.exprName,c,e.isEntityName));case 178:return e.Debug.type(a),f.updateTypeLiteralNode(a,l(a.members,c,e.isTypeElement));case 179:return e.Debug.type(a),f.updateArrayTypeNode(a,_(a.elementType,c,e.isTypeNode));case 180:return e.Debug.type(a),f.updateTupleTypeNode(a,l(a.elements,c,e.isTypeNode));case 181:return e.Debug.type(a),f.updateOptionalTypeNode(a,_(a.type,c,e.isTypeNode));case 182:return e.Debug.type(a),f.updateRestTypeNode(a,_(a.type,c,e.isTypeNode));case 183:return e.Debug.type(a),f.updateUnionTypeNode(a,l(a.types,c,e.isTypeNode));case 184:return e.Debug.type(a),f.updateIntersectionTypeNode(a,l(a.types,c,e.isTypeNode));case 185:return e.Debug.type(a),f.updateConditionalTypeNode(a,_(a.checkType,c,e.isTypeNode),_(a.extendsType,c,e.isTypeNode),_(a.trueType,c,e.isTypeNode),_(a.falseType,c,e.isTypeNode));case 186:return e.Debug.type(a),f.updateInferTypeNode(a,_(a.typeParameter,c,e.isTypeParameterDeclaration));case 196:return e.Debug.type(a),f.updateImportTypeNode(a,_(a.argument,c,e.isTypeNode),_(a.qualifier,c,e.isEntityName),r(a.typeArguments,c,e.isTypeNode),a.isTypeOf);case 193:return e.Debug.type(a),f.updateNamedTupleMember(a,t(a.dotDotDotToken,c,e.isDotDotDotToken),t(a.name,c,e.isIdentifier),t(a.questionToken,c,e.isQuestionToken),t(a.type,c,e.isTypeNode));case 187:return e.Debug.type(a),f.updateParenthesizedType(a,_(a.type,c,e.isTypeNode));case 189:return e.Debug.type(a),f.updateTypeOperatorNode(a,_(a.type,c,e.isTypeNode));case 190:return e.Debug.type(a),f.updateIndexedAccessTypeNode(a,_(a.objectType,c,e.isTypeNode),_(a.indexType,c,e.isTypeNode));case 191:return e.Debug.type(a),f.updateMappedTypeNode(a,_(a.readonlyToken,d,e.isReadonlyKeywordOrPlusOrMinusToken),_(a.typeParameter,c,e.isTypeParameterDeclaration),_(a.nameType,c,e.isTypeNode),_(a.questionToken,d,e.isQuestionOrPlusOrMinusToken),_(a.type,c,e.isTypeNode));case 192:return e.Debug.type(a),f.updateLiteralTypeNode(a,_(a.literal,c,e.isExpression));case 194:return e.Debug.type(a),f.updateTemplateLiteralType(a,_(a.head,c,e.isTemplateHead),l(a.templateSpans,c,e.isTemplateLiteralTypeSpan));case 195:return e.Debug.type(a),f.updateTemplateLiteralTypeSpan(a,_(a.type,c,e.isTypeNode),_(a.literal,c,e.isTemplateMiddleOrTemplateTail));case 197:return e.Debug.type(a),f.updateObjectBindingPattern(a,l(a.elements,c,e.isBindingElement));case 198:return e.Debug.type(a),f.updateArrayBindingPattern(a,l(a.elements,c,e.isArrayBindingElement));case 199:return e.Debug.type(a),f.updateBindingElement(a,_(a.dotDotDotToken,d,e.isDotDotDotToken),_(a.propertyName,c,e.isPropertyName),_(a.name,c,e.isBindingName),_(a.initializer,c,e.isExpression));case 200:return e.Debug.type(a),f.updateArrayLiteralExpression(a,l(a.elements,c,e.isExpression));case 201:return e.Debug.type(a),f.updateObjectLiteralExpression(a,l(a.properties,c,e.isObjectLiteralElementLike));case 202:return 32&a.flags?(e.Debug.type(a),f.updatePropertyAccessChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),_(a.name,c,e.isMemberName))):(e.Debug.type(a),f.updatePropertyAccessExpression(a,_(a.expression,c,e.isExpression),_(a.name,c,e.isMemberName)));case 203:return 32&a.flags?(e.Debug.type(a),f.updateElementAccessChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),_(a.argumentExpression,c,e.isExpression))):(e.Debug.type(a),f.updateElementAccessExpression(a,_(a.expression,c,e.isExpression),_(a.argumentExpression,c,e.isExpression)));case 204:return 32&a.flags?(e.Debug.type(a),f.updateCallChain(a,_(a.expression,c,e.isExpression),_(a.questionDotToken,d,e.isQuestionDotToken),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression))):(e.Debug.type(a),f.updateCallExpression(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression)));case 205:return e.Debug.type(a),f.updateNewExpression(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode),l(a.arguments,c,e.isExpression));case 206:return e.Debug.type(a),f.updateTaggedTemplateExpression(a,_(a.tag,c,e.isExpression),r(a.typeArguments,c,e.isTypeNode),_(a.template,c,e.isTemplateLiteral));case 207:return e.Debug.type(a),f.updateTypeAssertion(a,_(a.type,c,e.isTypeNode),_(a.expression,c,e.isExpression));case 208:return e.Debug.type(a),f.updateParenthesizedExpression(a,_(a.expression,c,e.isExpression));case 209:return e.Debug.type(a),f.updateFunctionExpression(a,l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 210:return e.Debug.type(a),f.updateArrowFunction(a,l(a.modifiers,c,e.isModifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),_(a.equalsGreaterThanToken,d,e.isEqualsGreaterThanToken),o(a.body,c,u,_));case 211:return e.Debug.type(a),f.updateDeleteExpression(a,_(a.expression,c,e.isExpression));case 212:return e.Debug.type(a),f.updateTypeOfExpression(a,_(a.expression,c,e.isExpression));case 213:return e.Debug.type(a),f.updateVoidExpression(a,_(a.expression,c,e.isExpression));case 214:return e.Debug.type(a),f.updateAwaitExpression(a,_(a.expression,c,e.isExpression));case 215:return e.Debug.type(a),f.updatePrefixUnaryExpression(a,_(a.operand,c,e.isExpression));case 216:return e.Debug.type(a),f.updatePostfixUnaryExpression(a,_(a.operand,c,e.isExpression));case 217:return e.Debug.type(a),f.updateBinaryExpression(a,_(a.left,c,e.isExpression),_(a.operatorToken,d,e.isBinaryOperatorToken),_(a.right,c,e.isExpression));case 218:return e.Debug.type(a),f.updateConditionalExpression(a,_(a.condition,c,e.isExpression),_(a.questionToken,d,e.isQuestionToken),_(a.whenTrue,c,e.isExpression),_(a.colonToken,d,e.isColonToken),_(a.whenFalse,c,e.isExpression));case 219:return e.Debug.type(a),f.updateTemplateExpression(a,_(a.head,c,e.isTemplateHead),l(a.templateSpans,c,e.isTemplateSpan));case 220:return e.Debug.type(a),f.updateYieldExpression(a,_(a.asteriskToken,d,e.isAsteriskToken),_(a.expression,c,e.isExpression));case 221:return e.Debug.type(a),f.updateSpreadElement(a,_(a.expression,c,e.isExpression));case 222:return e.Debug.type(a),f.updateClassExpression(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isClassElement));case 224:return e.Debug.type(a),f.updateExpressionWithTypeArguments(a,_(a.expression,c,e.isExpression),l(a.typeArguments,c,e.isTypeNode));case 225:return e.Debug.type(a),f.updateAsExpression(a,_(a.expression,c,e.isExpression),_(a.type,c,e.isTypeNode));case 226:return 32&a.flags?(e.Debug.type(a),f.updateNonNullChain(a,_(a.expression,c,e.isExpression))):(e.Debug.type(a),f.updateNonNullExpression(a,_(a.expression,c,e.isExpression)));case 227:return e.Debug.type(a),f.updateMetaProperty(a,_(a.name,c,e.isIdentifier));case 229:return e.Debug.type(a),f.updateTemplateSpan(a,_(a.expression,c,e.isExpression),_(a.literal,c,e.isTemplateMiddleOrTemplateTail));case 231:return e.Debug.type(a),f.updateBlock(a,l(a.statements,c,e.isStatement));case 233:return e.Debug.type(a),f.updateVariableStatement(a,l(a.modifiers,c,e.isModifier),_(a.declarationList,c,e.isVariableDeclarationList));case 234:return e.Debug.type(a),f.updateExpressionStatement(a,_(a.expression,c,e.isExpression));case 235:return e.Debug.type(a),f.updateIfStatement(a,_(a.expression,c,e.isExpression),_(a.thenStatement,c,e.isStatement,f.liftToBlock),_(a.elseStatement,c,e.isStatement,f.liftToBlock));case 236:return e.Debug.type(a),f.updateDoStatement(a,s(a.statement,c,u),_(a.expression,c,e.isExpression));case 237:return e.Debug.type(a),f.updateWhileStatement(a,_(a.expression,c,e.isExpression),s(a.statement,c,u));case 238:return e.Debug.type(a),f.updateForStatement(a,_(a.initializer,c,e.isForInitializer),_(a.condition,c,e.isExpression),_(a.incrementor,c,e.isExpression),s(a.statement,c,u));case 239:return e.Debug.type(a),f.updateForInStatement(a,_(a.initializer,c,e.isForInitializer),_(a.expression,c,e.isExpression),s(a.statement,c,u));case 240:return e.Debug.type(a),f.updateForOfStatement(a,_(a.awaitModifier,d,e.isAwaitKeyword),_(a.initializer,c,e.isForInitializer),_(a.expression,c,e.isExpression),s(a.statement,c,u));case 241:return e.Debug.type(a),f.updateContinueStatement(a,_(a.label,c,e.isIdentifier));case 242:return e.Debug.type(a),f.updateBreakStatement(a,_(a.label,c,e.isIdentifier));case 243:return e.Debug.type(a),f.updateReturnStatement(a,_(a.expression,c,e.isExpression));case 244:return e.Debug.type(a),f.updateWithStatement(a,_(a.expression,c,e.isExpression),_(a.statement,c,e.isStatement,f.liftToBlock));case 245:return e.Debug.type(a),f.updateSwitchStatement(a,_(a.expression,c,e.isExpression),_(a.caseBlock,c,e.isCaseBlock));case 246:return e.Debug.type(a),f.updateLabeledStatement(a,_(a.label,c,e.isIdentifier),_(a.statement,c,e.isStatement,f.liftToBlock));case 247:return e.Debug.type(a),f.updateThrowStatement(a,_(a.expression,c,e.isExpression));case 248:return e.Debug.type(a),f.updateTryStatement(a,_(a.tryBlock,c,e.isBlock),_(a.catchClause,c,e.isCatchClause),_(a.finallyBlock,c,e.isBlock));case 250:return e.Debug.type(a),f.updateVariableDeclaration(a,_(a.name,c,e.isBindingName),_(a.exclamationToken,d,e.isExclamationToken),_(a.type,c,e.isTypeNode),_(a.initializer,c,e.isExpression));case 251:return e.Debug.type(a),f.updateVariableDeclarationList(a,l(a.declarations,c,e.isVariableDeclaration));case 252:return e.Debug.type(a),f.updateFunctionDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.asteriskToken,d,e.isAsteriskToken),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),i(a.parameters,c,u,l),_(a.type,c,e.isTypeNode),o(a.body,c,u,_));case 253:return e.Debug.type(a),f.updateClassDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isClassElement));case 254:return e.Debug.type(a),f.updateInterfaceDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),l(a.heritageClauses,c,e.isHeritageClause),l(a.members,c,e.isTypeElement));case 255:return e.Debug.type(a),f.updateTypeAliasDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.typeParameters,c,e.isTypeParameterDeclaration),_(a.type,c,e.isTypeNode));case 256:return e.Debug.type(a),f.updateEnumDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isIdentifier),l(a.members,c,e.isEnumMember));case 257:return e.Debug.type(a),f.updateModuleDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.name,c,e.isModuleName),_(a.body,c,e.isModuleBody));case 258:return e.Debug.type(a),f.updateModuleBlock(a,l(a.statements,c,e.isStatement));case 259:return e.Debug.type(a),f.updateCaseBlock(a,l(a.clauses,c,e.isCaseOrDefaultClause));case 260:return e.Debug.type(a),f.updateNamespaceExportDeclaration(a,_(a.name,c,e.isIdentifier));case 261:return e.Debug.type(a),f.updateImportEqualsDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),a.isTypeOnly,_(a.name,c,e.isIdentifier),_(a.moduleReference,c,e.isModuleReference));case 262:return e.Debug.type(a),f.updateImportDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.importClause,c,e.isImportClause),_(a.moduleSpecifier,c,e.isExpression));case 263:return e.Debug.type(a),f.updateImportClause(a,a.isTypeOnly,_(a.name,c,e.isIdentifier),_(a.namedBindings,c,e.isNamedImportBindings));case 264:return e.Debug.type(a),f.updateNamespaceImport(a,_(a.name,c,e.isIdentifier));case 270:return e.Debug.type(a),f.updateNamespaceExport(a,_(a.name,c,e.isIdentifier));case 265:return e.Debug.type(a),f.updateNamedImports(a,l(a.elements,c,e.isImportSpecifier));case 266:return e.Debug.type(a),f.updateImportSpecifier(a,_(a.propertyName,c,e.isIdentifier),_(a.name,c,e.isIdentifier));case 267:return e.Debug.type(a),f.updateExportAssignment(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),_(a.expression,c,e.isExpression));case 268:return e.Debug.type(a),f.updateExportDeclaration(a,l(a.decorators,c,e.isDecorator),l(a.modifiers,c,e.isModifier),a.isTypeOnly,_(a.exportClause,c,e.isNamedExportBindings),_(a.moduleSpecifier,c,e.isExpression));case 269:return e.Debug.type(a),f.updateNamedExports(a,l(a.elements,c,e.isExportSpecifier));case 271:return e.Debug.type(a),f.updateExportSpecifier(a,_(a.propertyName,c,e.isIdentifier),_(a.name,c,e.isIdentifier));case 273:return e.Debug.type(a),f.updateExternalModuleReference(a,_(a.expression,c,e.isExpression));case 274:return e.Debug.type(a),f.updateJsxElement(a,_(a.openingElement,c,e.isJsxOpeningElement),l(a.children,c,e.isJsxChild),_(a.closingElement,c,e.isJsxClosingElement));case 275:return e.Debug.type(a),f.updateJsxSelfClosingElement(a,_(a.tagName,c,e.isJsxTagNameExpression),l(a.typeArguments,c,e.isTypeNode),_(a.attributes,c,e.isJsxAttributes));case 276:return e.Debug.type(a),f.updateJsxOpeningElement(a,_(a.tagName,c,e.isJsxTagNameExpression),l(a.typeArguments,c,e.isTypeNode),_(a.attributes,c,e.isJsxAttributes));case 277:return e.Debug.type(a),f.updateJsxClosingElement(a,_(a.tagName,c,e.isJsxTagNameExpression));case 278:return e.Debug.type(a),f.updateJsxFragment(a,_(a.openingFragment,c,e.isJsxOpeningFragment),l(a.children,c,e.isJsxChild),_(a.closingFragment,c,e.isJsxClosingFragment));case 281:return e.Debug.type(a),f.updateJsxAttribute(a,_(a.name,c,e.isIdentifier),_(a.initializer,c,e.isStringLiteralOrJsxExpression));case 282:return e.Debug.type(a),f.updateJsxAttributes(a,l(a.properties,c,e.isJsxAttributeLike));case 283:return e.Debug.type(a),f.updateJsxSpreadAttribute(a,_(a.expression,c,e.isExpression));case 284:return e.Debug.type(a),f.updateJsxExpression(a,_(a.expression,c,e.isExpression));case 285:return e.Debug.type(a),f.updateCaseClause(a,_(a.expression,c,e.isExpression),l(a.statements,c,e.isStatement));case 286:return e.Debug.type(a),f.updateDefaultClause(a,l(a.statements,c,e.isStatement));case 287:return e.Debug.type(a),f.updateHeritageClause(a,l(a.types,c,e.isExpressionWithTypeArguments));case 288:return e.Debug.type(a),f.updateCatchClause(a,_(a.variableDeclaration,c,e.isVariableDeclaration),_(a.block,c,e.isBlock));case 289:return e.Debug.type(a),f.updatePropertyAssignment(a,_(a.name,c,e.isPropertyName),_(a.initializer,c,e.isExpression));case 290:return e.Debug.type(a),f.updateShorthandPropertyAssignment(a,_(a.name,c,e.isIdentifier),_(a.objectAssignmentInitializer,c,e.isExpression));case 291:return e.Debug.type(a),f.updateSpreadAssignment(a,_(a.expression,c,e.isExpression));case 292:return e.Debug.type(a),f.updateEnumMember(a,_(a.name,c,e.isPropertyName),_(a.initializer,c,e.isExpression));case 298:return e.Debug.type(a),f.updateSourceFile(a,n(a.statements,c,u));case 340:return e.Debug.type(a),f.updatePartiallyEmittedExpression(a,_(a.expression,c,e.isExpression));case 341:return e.Debug.type(a),f.updateCommaListExpression(a,l(a.elements,c,e.isExpression));default:return a}}}}(s||(s={})),function(e){e.createSourceMapGenerator=function(t,r,n,i,o){var c,u,l=o.extendedDiagnostics?e.performance.createTimer("Source Map","beforeSourcemap","afterSourcemap"):e.performance.nullTimer,d=l.enter,_=l.exit,p=[],f=[],g=new e.Map,m=[],y="",v=0,h=0,D=0,x=0,b=0,S=0,E=!1,T=0,C=0,k=0,A=0,F=0,N=0,P=!1,w=!1,I=!1;return{getSources:function(){return p},addSource:O,setSourceContent:M,addName:L,addMapping:R,appendSourceMap:function(t,r,n,i,o,s){e.Debug.assert(t>=T,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),d();for(var c,u=[],l=a(n.mappings),p=l.next();!p.done;p=l.next()){var f=p.value;if(s&&(f.generatedLine>s.line||f.generatedLine===s.line&&f.generatedCharacter>s.character))break;if(!o||!(f.generatedLine=T,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),e.Debug.assert(void 0===n||n>=0,"sourceIndex cannot be negative"),e.Debug.assert(void 0===i||i>=0,"sourceLine cannot be negative"),e.Debug.assert(void 0===a||a>=0,"sourceCharacter cannot be negative"),d(),(function(e,t){return!P||T!==e||C!==t}(t,r)||function(e,t,r){return void 0!==e&&void 0!==t&&void 0!==r&&k===e&&(A>t||A===t&&F>r)}(n,i,a))&&(B(),T=t,C=r,w=!1,I=!1,P=!0),void 0!==n&&void 0!==i&&void 0!==a&&(k=n,A=i,F=a,w=!0,void 0!==o&&(N=o,I=!0)),_()}function B(){if(P&&(!E||v!==T||h!==C||D!==k||x!==A||b!==F||S!==N)){if(d(),v=e.length)return _("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var o=(t=e.charCodeAt(n))>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:43===t?62:47===t?63:-1;if(-1===o)return _("Invalid character in VLQ"),-1;r=0!=(32&o),a|=(31&o)<>=1:a=-(a>>=1),a}}function o(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function s(t){t<0?t=1+(-t<<1):t<<=1;var r,n="";do{var i=31&t;(t>>=5)>0&&(i|=32),n+=String.fromCharCode((r=i)>=0&&r<26?65+r:r>=26&&r<52?97+r-26:r>=52&&r<62?48+r-52:62===r?43:63===r?47:e.Debug.fail(r+": not a base64 value"))}while(t>0);return n}function c(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function u(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function l(t,r){return e.Debug.assert(t.sourceIndex===r.sourceIndex),e.compareValues(t.sourcePosition,r.sourcePosition)}function d(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function _(e){return e.sourcePosition}function p(e){return e.generatedPosition}e.getLineInfo=function(e,t){return{getLineCount:function(){return t.length},getLineText:function(r){return e.substring(t[r],t[r+1])}}},e.tryGetSourceMappingURL=function(e){for(var n=e.getLineCount()-1;n>=0;n--){var i=e.getLineText(n),a=t.exec(i);if(a)return a[1];if(!i.match(r))break}},e.isRawSourceMap=i,e.tryParseRawSourceMap=function(e){try{var t=JSON.parse(e);if(i(t))return t}catch(e){}},e.decodeMappings=a,e.sameMapping=function(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex},e.isSourceMapping=o,e.createDocumentPositionMapper=function(t,r,n){var i,s,f,g=e.getDirectoryPath(n),m=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,g):g,y=e.getNormalizedAbsolutePath(r.file,g),v=t.getSourceFileLike(y),h=r.sources.map((function(t){return e.getNormalizedAbsolutePath(t,m)})),D=new e.Map(h.map((function(e,r){return[t.getCanonicalFileName(e),r]})));return{getSourcePosition:function(t){var r=E();if(!e.some(r))return t;var n=e.binarySearchKey(r,t.pos,p,e.compareValues);n<0&&(n=~n);var i=r[n];if(void 0===i||!c(i))return t;return{fileName:h[i.sourceIndex],pos:i.sourcePosition}},getGeneratedPosition:function(r){var n=D.get(t.getCanonicalFileName(r.fileName));if(void 0===n)return r;var i=S(n);if(!e.some(i))return r;var a=e.binarySearchKey(i,r.pos,_,e.compareValues);a<0&&(a=~a);var o=i[a];if(void 0===o||o.sourceIndex!==n)return r;return{fileName:y,pos:o.generatedPosition}}};function x(n){var i,a,s=void 0!==v?e.getPositionOfLineAndCharacter(v,n.generatedLine,n.generatedCharacter,!0):-1;if(o(n)){var c=t.getSourceFileLike(h[n.sourceIndex]);i=r.sources[n.sourceIndex],a=void 0!==c?e.getPositionOfLineAndCharacter(c,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:s,source:i,sourceIndex:n.sourceIndex,sourcePosition:a,nameIndex:n.nameIndex}}function b(){if(void 0===i){var n=a(r.mappings),o=e.arrayFrom(n,x);void 0!==n.error?(t.log&&t.log("Encountered error while decoding sourcemap: "+n.error),i=e.emptyArray):i=o}return i}function S(t){if(void 0===f){for(var r=[],n=0,i=b();n0&&i!==n.elements.length||!!(n.elements.length-i)&&e.isDefaultImport(t)}function i(t){return!n(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&function(t){return!!t&&!!e.isNamedImports(t)&&e.some(t.elements,r)}(t.importClause.namedBindings))}function a(t,r,n){if(e.isBindingPattern(t.name))for(var i=0,o=t.name.elements;i=63&&e<=77},e.getNonAssignmentOperatorForCompoundAssignment=function(e){switch(e){case 63:return 39;case 64:return 40;case 65:return 41;case 66:return 42;case 67:return 43;case 68:return 44;case 69:return 47;case 70:return 48;case 71:return 49;case 72:return 50;case 73:return 51;case 77:return 52;case 74:return 56;case 75:return 55;case 76:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(t,r,n,i){if(r.body){var a=r.body.statements,o=t.copyPrologue(a,n,!1,i);if(o===a.length)return o;var s=e.findIndex(a,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}),o);if(s>-1){for(var c=o;c<=s;c++)n.push(e.visitNode(a[c],i,e.isStatement));return s+1}return o}return 0},e.getProperties=function(t,r,n){return e.filter(t.members,(function(t){return function(t,r,n){return e.isPropertyDeclaration(t)&&(!!t.initializer||!r)&&e.hasStaticModifier(t)===n}(t,r,n)}))},e.isInitializedProperty=function(e){return 164===e.kind&&void 0!==e.initializer},e.isNonStaticMethodOrAccessorWithPrivateName=function(t){return!e.hasStaticModifier(t)&&e.isMethodOrAccessor(t)&&e.isPrivateIdentifier(t.name)}}(s||(s={})),function(e){var t;function r(t,n){var i=e.getTargetOfBindingOrAssignmentElement(t);return e.isBindingOrAssignmentPattern(i)?function(t,n){for(var i=e.getElementsOfBindingOrAssignmentPattern(t),a=0,o=i;a=1)||49152&f.transformFlags||49152&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),a,c,n),u=void 0);var m=o(t,a,g);e.isComputedPropertyName(g)&&(l=e.append(l,m.argumentExpression)),i(t,f,m,f)}else u=e.append(u,e.visitNode(f,t.visitor))}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),a,c,n)}(t,r,l,n,c):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,n,o,c){var u,l,d=e.getElementsOfBindingOrAssignmentPattern(n),_=d.length;if(t.level<1&&t.downlevelIteration)o=s(t,e.setTextRange(t.context.getEmitHelperFactory().createReadHelper(o,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(d[_-1])?void 0:_),c),!1,c);else if(1!==_&&(t.level<1||0===_)||e.every(d,e.isOmittedExpression)){o=s(t,o,!e.isDeclarationBindingElement(r)||0!==_,c)}for(var p=0;p<_;p++){var f=d[p];if(t.level>=1)if(32768&f.transformFlags||t.hasTransformedPriorElement&&!a(f)){t.hasTransformedPriorElement=!0;var g=t.context.factory.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(g),l=e.append(l,[g,f]),u=e.append(u,t.createArrayBindingOrAssignmentElement(g))}else u=e.append(u,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===_-1){m=t.context.factory.createArraySliceCall(o,p);i(t,f,m,f)}}else{var m=t.context.factory.createElementAccessExpression(o,p);i(t,f,m,f)}}}u&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),o,c,n);if(l)for(var y=0,v=l;y0)return!0;var r=e.getFirstConstructorWithBody(t);if(r)return e.forEach(r.parameters,B);return!1})(t)&&(n|=2);e.childIsDecorated(t)&&(n|=4);Ce(t)?n|=8:!function(t){return ke(t)&&e.hasSyntacticModifier(t,512)}(t)?Ae(t)&&(n|=16):n|=32;x<=1&&7&n&&(n|=128);return n}(i,a);128&o&&t.startLexicalEnvironment();var s=i.name||(5&o?_.getGeneratedNameForNode(i):void 0),c=2&o?function(r,n){var i=e.moveRangePastDecorators(r),a=function(r){if(16777216&v.getNodeCheckFlags(r)){0==(1&u)&&(u|=1,t.enableSubstitution(78),l=[]);var n=_.createUniqueName(r.name&&!e.isGeneratedIdentifier(r.name)?e.idText(r.name):"default");return l[e.getOriginalNodeId(r)]=n,y(n),n}}(r),o=_.getLocalName(r,!1,!0),s=e.visitNodes(r.heritageClauses,k,e.isHeritageClause),c=K(r),d=_.createClassExpression(void 0,void 0,n,void 0,s,c);e.setOriginalNode(d,r),e.setTextRange(d,i);var p=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(o,void 0,void 0,a?_.createAssignment(a,d):d)],1));return e.setOriginalNode(p,r),e.setTextRange(p,i),e.setCommentRange(p,r),p}(i,s):function(t,r,n){var i=128&n?void 0:e.visitNodes(t.modifiers,M,e.isModifier),a=_.createClassDeclaration(void 0,i,r,void 0,e.visitNodes(t.heritageClauses,k,e.isHeritageClause),K(t)),o=e.getEmitFlags(t);1&n&&(o|=32);return e.setTextRange(a,t),e.setOriginalNode(a,t),e.setEmitFlags(a,o),a}(i,s,o),d=[c];if(H(d,i,!1),H(d,i,!0),function(t,r){var n=function(t){var r=function(t){var r=t.decorators,n=V(e.getFirstConstructorWithBody(t));if(!r&&!n)return;return{decorators:r,parameters:n}}(t),n=W(t,t,r);if(!n)return;var i=l&&l[e.getOriginalNodeId(t)],a=_.getLocalName(t,!1,!0),o=p().createDecorateHelper(n,a),s=_.createAssignment(a,i?_.createAssignment(i,o):o);return e.setEmitFlags(s,1536),e.setSourceMapRange(s,e.moveRangePastDecorators(t)),s}(r);n&&t.push(e.setOriginalNode(_.createExpressionStatement(n),r))}(d,i),128&o){var f=e.createTokenRange(e.skipTrivia(r.text,i.members.end),19),g=_.getInternalName(i),m=_.createPartiallyEmittedExpression(g);e.setTextRangeEnd(m,f.end),e.setEmitFlags(m,1536);var h=_.createReturnStatement(m);e.setTextRangePos(h,f.pos),e.setEmitFlags(h,1920),d.push(h),e.insertStatementsAfterStandardPrologue(d,t.endLexicalEnvironment());var D=_.createImmediatelyInvokedArrowFunction(d);e.setEmitFlags(D,33554432);var b=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(_.getLocalName(i,!1,!1),void 0,void 0,D)]));e.setOriginalNode(b,i),e.setCommentRange(b,i),e.setSourceMapRange(b,e.moveRangePastDecorators(i)),e.startOnNewLine(b),d=[b]}8&o?Ne(d,i):(128&o||2&o)&&(32&o?d.push(_.createExportDefault(_.getLocalName(i,!1,!0))):16&o&&d.push(_.createExternalModuleExport(_.getLocalName(i,!1,!0))));d.length>1&&(d.push(_.createEndOfDeclarationMarker(i)),e.setEmitFlags(c,4194304|e.getEmitFlags(c)));return e.singleOrMany(d)}(o);case 222:return function(r){if(!J(r))return e.visitEachChild(r,k,t);var n=_.createClassExpression(void 0,void 0,r.name,void 0,e.visitNodes(r.heritageClauses,k,e.isHeritageClause),K(r));return e.setOriginalNode(n,r),e.setTextRange(n,r),n}(o);case 287:return function(r){if(116===r.token)return;return e.visitEachChild(r,k,t)}(o);case 224:return function(t){return _.updateExpressionWithTypeArguments(t,e.visitNode(t.expression,k,e.isLeftHandSideExpression),void 0)}(o);case 166:return function(r){if(!se(r))return;var n=_.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,oe(r),void 0,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 168:return function(r){if(!de(r))return;var n=_.updateGetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 169:return function(r){if(!de(r))return;var n=_.updateSetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 252:return function(r){if(!se(r))return _.createNotEmittedStatement(r);var n=_.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));if(Ce(r)){var i=[n];return Ne(i,r),i}return n}(o);case 209:return function(r){if(!se(r))return _.createOmittedExpression();return _.updateFunctionExpression(r,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]))}(o);case 210:return function(r){return _.updateArrowFunction(r,e.visitNodes(r.modifiers,M,e.isModifier),void 0,e.visitParameterList(r.parameters,k,t),void 0,r.equalsGreaterThanToken,e.visitFunctionBody(r.body,k,t))}(o);case 161:return function(t){if(e.parameterIsThisKeyword(t))return;var r=_.updateParameterDeclaration(t,void 0,void 0,t.dotDotDotToken,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression));r!==t&&(e.setCommentRange(r,t),e.setTextRange(r,e.moveRangePastModifiers(t)),e.setSourceMapRange(r,e.moveRangePastModifiers(t)),e.setEmitFlags(r.name,32));return r}(o);case 208:return function(n){var i=e.skipOuterExpressions(n.expression,-7);if(e.isAssertionExpression(i)){var a=e.visitNode(n.expression,k,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(a,r))?_.updateParenthesizedExpression(n,a):_.createPartiallyEmittedExpression(a,n)}return e.visitEachChild(n,k,t)}(o);case 207:case 225:return function(t){var r=e.visitNode(t.expression,k,e.isExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 204:return function(t){return _.updateCallExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 205:return function(t){return _.updateNewExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 206:return function(t){return _.updateTaggedTemplateExpression(t,e.visitNode(t.tag,k,e.isExpression),void 0,e.visitNode(t.template,k,e.isExpression))}(o);case 226:return function(t){var r=e.visitNode(t.expression,k,e.isLeftHandSideExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 256:return function(t){if(!function(t){return!e.isEnumConst(t)||e.shouldPreserveConstEnums(h)}(t))return _.createNotEmittedStatement(t);var n=[],o=2,s=ye(n,t);s&&(b===e.ModuleKind.System&&a===r||(o|=512));var c=Ie(t),u=Oe(t),l=e.hasSyntacticModifier(t,1)?_.getExternalModuleOrNamespaceExportName(i,t,!1,!0):_.getLocalName(t,!1,!0),d=_.createLogicalOr(l,_.createAssignment(l,_.createObjectLiteralExpression()));if(fe(t)){var p=_.getLocalName(t,!1,!0);d=_.createAssignment(p,d)}var g=_.createExpressionStatement(_.createCallExpression(_.createFunctionExpression(void 0,void 0,void 0,void 0,[_.createParameterDeclaration(void 0,void 0,void 0,c)],void 0,function(t,r){var n=i;i=r;var a=[];f();var o=e.map(t.members,pe);return e.insertStatementsAfterStandardPrologue(a,m()),e.addRange(a,o),i=n,_.createBlock(e.setTextRange(_.createNodeArray(a),t.members),!0)}(t,u)),void 0,[d]));e.setOriginalNode(g,t),s&&(e.setSyntheticLeadingComments(g,void 0),e.setSyntheticTrailingComments(g,void 0));return e.setTextRange(g,t),e.addEmitFlags(g,o),n.push(g),n.push(_.createEndOfDeclarationMarker(t)),n}(o);case 233:return function(r){if(Ce(r)){var n=e.getInitializedVariables(r.declarationList);if(0===n.length)return;return e.setTextRange(_.createExpressionStatement(_.inlineExpressions(e.map(n,_e))),r)}return e.visitEachChild(r,k,t)}(o);case 250:return function(t){return _.updateVariableDeclaration(t,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression))}(o);case 257:return ve(o);case 261:return Te(o);case 275:return function(t){return _.updateJsxSelfClosingElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);case 276:return function(t){return _.updateJsxOpeningElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);default:return e.visitEachChild(o,k,t)}}function R(r){var n=e.getStrictOptionValue(h,"alwaysStrict")&&!(e.isExternalModule(r)&&b>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(r);return _.updateSourceFile(r,e.visitLexicalEnvironment(r.statements,F,t,0,n))}function B(e){return void 0!==e.decorators&&e.decorators.length>0}function j(e){return!!(4096&e.transformFlags)}function J(t){return e.some(t.decorators)||e.some(t.typeParameters)||e.some(t.heritageClauses,j)||e.some(t.members,j)}function K(t){var r=[],n=e.getFirstConstructorWithBody(t),i=n&&e.filter(n.parameters,(function(t){return e.isParameterPropertyDeclaration(t,n)}));if(i)for(var a=0,o=i;a0&&e.parameterIsThisKeyword(n[0]),a=i?1:0,o=i?n.length-1:n.length,s=0;s0?164===r.kind?_.createVoidZero():_.createNull():void 0,s=p().createDecorateHelper(n,i,a,o);return e.setTextRange(s,e.moveRangePastDecorators(r)),e.setEmitFlags(s,1536),s}}function Y(t){return e.visitNode(t.expression,k,e.isExpression)}function X(t,r){var n;if(t){n=[];for(var i=0,a=t;id&&(g||e.addRange(_,e.visitNodes(n.body.statements,D,e.isStatement,d,p-d)),d=p)}var f=s.createThis();(function(t,r,n){if(!m||!e.some(r))return;var i=M().weakSetName;e.Debug.assert(i,"weakSetName should be set in private identifier environment"),t.push(s.createExpressionStatement(function(t,r){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(r,"add"),void 0,[t])}(n,i)))})(_,o,f),I(_,a,f),n&&e.addRange(_,e.visitNodes(n.body.statements,D,e.isStatement,d));return _=s.mergeLexicalEnvironment(_,u()),e.setTextRange(s.createBlock(e.setTextRange(s.createNodeArray(_),n?n.body.statements:t.members),!0),n?n.body:void 0)}(t,i,n);if(!c)return;return e.startOnNewLine(e.setOriginalNode(e.setTextRange(s.createConstructorDeclaration(void 0,void 0,null!=o?o:[],c),i||t),i))}(t,n);return _&&d.push(_),e.addRange(d,e.visitNodes(t.members,b,e.isClassElement)),e.setTextRange(s.createNodeArray(d),t.members)}function w(t){return!e.hasStaticModifier(t)&&!e.hasSyntacticModifier(e.getOriginalNode(t),128)&&(g?f<99:e.isInitializedProperty(t)||m&&e.isPrivateIdentifierClassElementDeclaration(t))}function I(t,r,n){for(var i=0,a=r;i=0;--t){var r,n=h[t];if(n)if(r=n.identifiers.get(e.escapedText))return r}}function K(t){var n=s.getGeneratedNameForNode(t),i=J(t.name);if(!i)return e.visitEachChild(t,D,r);var a=t.expression;return(e.isThisProperty(t)||e.isSuperProperty(t)||!e.isSimpleCopiableExpression(t.expression))&&(a=s.createTempVariable(c,!0),L().push(s.createBinaryExpression(a,62,t.expression))),s.createPropertyAccessExpression(s.createParenthesizedExpression(s.createObjectLiteralExpression([s.createSetAccessorDeclaration(void 0,void 0,"value",[s.createParameterDeclaration(void 0,void 0,void 0,n,void 0,void 0,void 0)],s.createBlock([s.createExpressionStatement(A(i,a,n,62))]))])),"value")}function z(t){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=K(r);return e.isAssignmentExpression(t)?s.updateBinaryExpression(t,n,t.operatorToken,e.visitNode(t.right,D,e.isExpression)):e.isSpreadElement(t)?s.updateSpreadElement(t,n):n}return e.visitNode(t,x)}function U(t){if(e.isPropertyAssignment(t)){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=e.getInitializerOfBindingOrAssignmentElement(t),i=K(r);return s.updatePropertyAssignment(t,e.visitNode(t.name,D),n?s.createAssignment(i,e.visitNode(n,D)):i)}return s.updatePropertyAssignment(t,e.visitNode(t.name,D),e.visitNode(t.initializer,x))}return e.visitNode(t,D)}}}(s||(s={})),function(e){var r,n;function i(t,r,n,i){var a=0!=(4096&r.getNodeCheckFlags(n)),o=[];return i.forEach((function(r,n){var i=e.unescapeLeadingUnderscores(n),s=[];s.push(t.createPropertyAssignment("get",t.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4)))),a&&s.push(t.createPropertyAssignment("set",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,t.createAssignment(e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4),t.createIdentifier("v"))))),o.push(t.createPropertyAssignment(i,t.createObjectLiteralExpression(s)))})),t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_super",48),void 0,void 0,t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"create"),void 0,[t.createNull(),t.createObjectLiteralExpression(o,!0)]))],2))}!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(r||(r={})),function(e){e[e.NonTopLevel=1]="NonTopLevel",e[e.HasLexicalThis=2]="HasLexicalThis"}(n||(n={})),e.transformES2017=function(r){var n,a,o,s,c=r.factory,u=r.getEmitHelperFactory,l=r.resumeLexicalEnvironment,d=r.endLexicalEnvironment,_=r.hoistVariableDeclaration,p=r.getEmitResolver(),f=r.getCompilerOptions(),g=e.getEmitScriptTarget(f),m=0,y=[],v=0,h=r.onEmitNode,D=r.onSubstituteNode;return r.onEmitNode=function(t,r,i){if(1&n&&function(e){var t=e.kind;return 253===t||167===t||166===t||168===t||169===t}(r)){var a=6144&p.getNodeCheckFlags(r);if(a!==m){var o=m;return m=a,h(t,r,i),void(m=o)}}else if(n&&y[e.getNodeId(r)]){o=m;return m=0,h(t,r,i),void(m=o)}h(t,r,i)},r.onSubstituteNode=function(r,n){if(n=D(r,n),1===r&&m)return function(r){switch(r.kind){case 202:return J(r);case 203:return K(r);case 204:return function(r){var n=r.expression;if(e.isSuperProperty(n)){var i=e.isPropertyAccessExpression(n)?J(n):K(n);return c.createCallExpression(c.createPropertyAccessExpression(i,"call"),void 0,t([c.createThis()],r.arguments))}return r}(r)}return r}(n);return n},e.chainBundle(r,(function(t){if(t.isDeclarationFile)return t;x(1,!1),x(2,!e.isEffectiveStrictModeSourceFile(t,f));var n=e.visitEachChild(t,C,r);return e.addEmitHelpers(n,r.readEmitHelpers()),n}));function x(e,t){v=t?v|e:v&~e}function b(e){return 0!=(v&e)}function S(){return b(2)}function E(e,t,r){var n=e&~v;if(n){x(n,!0);var i=t(r);return x(n,!1),i}return t(r)}function T(t){return e.visitEachChild(t,C,r)}function C(t){if(0==(128&t.transformFlags))return t;switch(t.kind){case 129:return;case 214:return function(t){if(!b(1))return e.visitEachChild(t,C,r);return e.setOriginalNode(e.setTextRange(c.createYieldExpression(void 0,e.visitNode(t.expression,C,e.isExpression)),t),t)}(t);case 166:return E(3,A,t);case 252:return E(3,F,t);case 209:return E(3,N,t);case 210:return E(1,P,t);case 202:return o&&e.isPropertyAccessExpression(t)&&105===t.expression.kind&&o.add(t.name.escapedText),e.visitEachChild(t,C,r);case 203:return o&&105===t.expression.kind&&(s=!0),e.visitEachChild(t,C,r);case 168:case 169:case 167:case 253:case 222:return E(3,T,t);default:return e.visitEachChild(t,C,r)}}function k(t){if(e.isNodeWithPossibleHoistedDeclaration(t))switch(t.kind){case 233:return function(t){if(I(t.declarationList)){var n=O(t.declarationList,!1);return n?c.createExpressionStatement(n):void 0}return e.visitEachChild(t,C,r)}(t);case 238:return function(t){var n=t.initializer;return c.updateForStatement(t,I(n)?O(n,!1):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.condition,C,e.isExpression),e.visitNode(t.incrementor,C,e.isExpression),e.visitIterationBody(t.statement,k,r))}(t);case 239:return function(t){return c.updateForInStatement(t,I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitIterationBody(t.statement,k,r))}(t);case 240:return function(t){return c.updateForOfStatement(t,e.visitNode(t.awaitModifier,C,e.isToken),I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitIterationBody(t.statement,k,r))}(t);case 288:return function(t){var n,i=new e.Set;if(w(t.variableDeclaration,i),i.forEach((function(t,r){a.has(r)&&(n||(n=new e.Set(a)),n.delete(r))})),n){var o=a;a=n;var s=e.visitEachChild(t,k,r);return a=o,s}return e.visitEachChild(t,k,r)}(t);case 231:case 245:case 259:case 285:case 286:case 248:case 236:case 237:case 235:case 244:case 246:return e.visitEachChild(t,k,r);default:return e.Debug.assertNever(t,"Unhandled node.")}return C(t)}function A(t){return c.updateMethodDeclaration(t,void 0,e.visitNodes(t.modifiers,C,e.isModifier),t.asteriskToken,t.name,void 0,void 0,e.visitParameterList(t.parameters,C,r),void 0,2&e.getFunctionFlags(t)?B(t):e.visitFunctionBody(t.body,C,r))}function F(t){return c.updateFunctionDeclaration(t,void 0,e.visitNodes(t.modifiers,C,e.isModifier),t.asteriskToken,t.name,void 0,e.visitParameterList(t.parameters,C,r),void 0,2&e.getFunctionFlags(t)?B(t):e.visitFunctionBody(t.body,C,r))}function N(t){return c.updateFunctionExpression(t,e.visitNodes(t.modifiers,C,e.isModifier),t.asteriskToken,t.name,void 0,e.visitParameterList(t.parameters,C,r),void 0,2&e.getFunctionFlags(t)?B(t):e.visitFunctionBody(t.body,C,r))}function P(t){return c.updateArrowFunction(t,e.visitNodes(t.modifiers,C,e.isModifier),void 0,e.visitParameterList(t.parameters,C,r),void 0,t.equalsGreaterThanToken,2&e.getFunctionFlags(t)?B(t):e.visitFunctionBody(t.body,C,r))}function w(t,r){var n=t.name;if(e.isIdentifier(n))r.add(n.escapedText);else for(var i=0,a=n.elements;i=2&&6144&p.getNodeCheckFlags(t);if(P&&(0==(1&n)&&(n|=1,r.enableSubstitution(204),r.enableSubstitution(202),r.enableSubstitution(203),r.enableEmitNotification(253),r.enableEmitNotification(166),r.enableEmitNotification(168),r.enableEmitNotification(169),r.enableEmitNotification(167),r.enableEmitNotification(233)),o.size)){var I=i(c,p,t,o);y[e.getNodeId(I)]=!0,e.insertStatementsAfterStandardPrologue(F,[I])}var O=c.createBlock(F,!0);e.setTextRange(O,t.body),P&&s&&(4096&p.getNodeCheckFlags(t)?e.addEmitHelper(O,e.advancedAsyncSuperHelper):2048&p.getNodeCheckFlags(t)&&e.addEmitHelper(O,e.asyncSuperHelper)),b=O}return a=h,m||(o=E,s=T),b}function j(t,r){return e.isBlock(t)?c.updateBlock(t,e.visitNodes(t.statements,k,e.isStatement,r)):c.converters.convertToFunctionBlock(e.visitNode(t,k,e.isConciseBody))}function J(t){return 105===t.expression.kind?e.setTextRange(c.createPropertyAccessExpression(c.createUniqueName("_super",48),t.name),t):t}function K(t){return 105===t.expression.kind?(r=t.argumentExpression,n=t,4096&m?e.setTextRange(c.createPropertyAccessExpression(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),"value"),n):e.setTextRange(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),n)):t;var r,n}},e.createSuperAccessVariableStatement=i}(s||(s={})),function(e){var r,n;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(r||(r={})),function(e){e[e.None=0]="None",e[e.HasLexicalThis=1]="HasLexicalThis",e[e.IterationContainer=2]="IterationContainer",e[e.AncestorFactsMask=3]="AncestorFactsMask",e[e.SourceFileIncludes=1]="SourceFileIncludes",e[e.SourceFileExcludes=2]="SourceFileExcludes",e[e.StrictModeSourceFileIncludes=0]="StrictModeSourceFileIncludes",e[e.ClassOrFunctionIncludes=1]="ClassOrFunctionIncludes",e[e.ClassOrFunctionExcludes=2]="ClassOrFunctionExcludes",e[e.ArrowFunctionIncludes=0]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=2]="ArrowFunctionExcludes",e[e.IterationStatementIncludes=2]="IterationStatementIncludes",e[e.IterationStatementExcludes=0]="IterationStatementExcludes"}(n||(n={})),e.transformES2018=function(r){var n=r.factory,i=r.getEmitHelperFactory,a=r.resumeLexicalEnvironment,o=r.endLexicalEnvironment,s=r.hoistVariableDeclaration,c=r.getEmitResolver(),u=r.getCompilerOptions(),l=e.getEmitScriptTarget(u),d=r.onEmitNode;r.onEmitNode=function(t,r,n){if(1&p&&function(e){var t=e.kind;return 253===t||167===t||166===t||168===t||169===t}(r)){var i=6144&c.getNodeCheckFlags(r);if(i!==D){var a=D;return D=i,d(t,r,n),void(D=a)}}else if(p&&b[e.getNodeId(r)]){a=D;return D=0,d(t,r,n),void(D=a)}d(t,r,n)};var _=r.onSubstituteNode;r.onSubstituteNode=function(r,i){if(i=_(r,i),1===r&&D)return function(r){switch(r.kind){case 202:return W(r);case 203:return H(r);case 204:return function(r){var i=r.expression;if(e.isSuperProperty(i)){var a=e.isPropertyAccessExpression(i)?W(i):H(i);return n.createCallExpression(n.createPropertyAccessExpression(a,"call"),void 0,t([n.createThis()],r.arguments))}return r}(r)}return r}(i);return i};var p,f,g,m,y,v,h=!1,D=0,x=0,b=[];return e.chainBundle(r,(function(t){if(t.isDeclarationFile)return t;g=t;var i=function(t){var i=S(2,e.isEffectiveStrictModeSourceFile(t,u)?0:1);h=!1;var a=e.visitEachChild(t,C,r),o=e.concatenate(a.statements,m&&[n.createVariableStatement(void 0,n.createVariableDeclarationList(m))]),s=n.updateSourceFile(a,e.setTextRange(n.createNodeArray(o),t.statements));return E(i),s}(t);return e.addEmitHelpers(i,r.readEmitHelpers()),g=void 0,m=void 0,i}));function S(e,t){var r=x;return x=3&(x&~e|t),r}function E(e){x=e}function T(t){m=e.append(m,n.createVariableDeclaration(t))}function C(e){return P(e,!1)}function k(e){return P(e,!0)}function A(e){if(129!==e.kind)return e}function F(e,t,r,n){if(function(e,t){return x!==(x&~e|t)}(r,n)){var i=S(r,n),a=e(t);return E(i),a}return e(t)}function N(t){return e.visitEachChild(t,C,r)}function P(a,o){if(0==(64&a.transformFlags))return a;switch(a.kind){case 214:return function(t){if(2&f&&1&f)return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(e.visitNode(t.expression,C,e.isExpression))),t),t);return e.visitEachChild(t,C,r)}(a);case 220:return function(t){if(2&f&&1&f){if(t.asteriskToken){var a=e.visitNode(e.Debug.assertDefined(t.expression),C,e.isExpression);return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(n.updateYieldExpression(t,t.asteriskToken,e.setTextRange(i().createAsyncDelegatorHelper(e.setTextRange(i().createAsyncValuesHelper(a),a)),a)))),t),t)}return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,M(t.expression?e.visitNode(t.expression,C,e.isExpression):n.createVoidZero())),t),t)}return e.visitEachChild(t,C,r)}(a);case 243:return function(t){if(2&f&&1&f)return n.updateReturnStatement(t,M(t.expression?e.visitNode(t.expression,C,e.isExpression):n.createVoidZero()));return e.visitEachChild(t,C,r)}(a);case 246:return function(t){if(2&f){var i=e.unwrapInnermostStatementOfLabel(t);return 240===i.kind&&i.awaitModifier?O(i,t):n.restoreEnclosingLabel(e.visitNode(i,C,e.isStatement,n.liftToBlock),t)}return e.visitEachChild(t,C,r)}(a);case 201:return function(t){if(32768&t.transformFlags){var a=function(t){for(var r,i=[],a=0,o=t;a1){for(var s=1;s=2&&6144&c.getNodeCheckFlags(t);if(g){0==(1&p)&&(p|=1,r.enableSubstitution(204),r.enableSubstitution(202),r.enableSubstitution(203),r.enableEmitNotification(253),r.enableEmitNotification(166),r.enableEmitNotification(168),r.enableEmitNotification(169),r.enableEmitNotification(167),r.enableEmitNotification(233));var m=e.createSuperAccessVariableStatement(n,c,t,y);b[e.getNodeId(m)]=!0,e.insertStatementsAfterStandardPrologue(s,[m])}s.push(f),e.insertStatementsAfterStandardPrologue(s,o());var h=n.updateBlock(t.body,s);return g&&v&&(4096&c.getNodeCheckFlags(t)?e.addEmitHelper(h,e.advancedAsyncSuperHelper):2048&c.getNodeCheckFlags(t)&&e.addEmitHelper(h,e.asyncSuperHelper)),y=d,v=_,h}function V(t){var r;a();var i=0,s=[],c=null!==(r=e.visitNode(t.body,C,e.isConciseBody))&&void 0!==r?r:n.createBlock([]);e.isBlock(c)&&(i=n.copyPrologue(c.statements,s,!1,C)),e.addRange(s,q(void 0,t));var u=o();if(i>0||e.some(s)||e.some(u)){var l=n.converters.convertToFunctionBlock(c,!0);return e.insertStatementsAfterStandardPrologue(s,u),e.addRange(s,l.statements.slice(i)),n.updateBlock(l,e.setTextRange(n.createNodeArray(s),l.statements))}return c}function q(t,i){for(var a=0,o=i.parameters;a1?"jsxs":"jsx"}(e))}function l(t){var r,n,o="createElement"===t?i.importSpecifier:e.getJSXRuntimeImport(i.importSpecifier,s),c=null===(n=null===(r=i.utilizedImplicitRuntimeImports)||void 0===r?void 0:r.get(o))||void 0===n?void 0:n.get(t);if(c)return c.name;i.utilizedImplicitRuntimeImports||(i.utilizedImplicitRuntimeImports=e.createMap());var u=i.utilizedImplicitRuntimeImports.get(o);u||(u=e.createMap(),i.utilizedImplicitRuntimeImports.set(o,u));var l=a.createUniqueName("_"+t,112),d=a.createImportSpecifier(a.createIdentifier(t),l);return l.generatedImportReference=d,u.set(t,d),l}function d(t){return 2&t.transformFlags?function(t){switch(t.kind){case 274:return f(t,!1);case 275:return g(t,!1);case 278:return m(t,!1);case 284:return N(t);default:return e.visitEachChild(t,d,r)}}(t):t}function _(t){switch(t.kind){case 11:return function(t){var r=function(t){for(var r,n=0,i=-1,a=0;a1?a.createTrue():a.createFalse());var f=e.getLineAndCharacterOfPosition(p,d.pos);_.push(a.createObjectLiteralExpression([a.createPropertyAssignment("fileName",c()),a.createPropertyAssignment("lineNumber",a.createNumericLiteral(f.line+1)),a.createPropertyAssignment("columnNumber",a.createNumericLiteral(f.character+1))])),_.push(a.createThis())}}var g=e.setTextRange(a.createCallExpression(u(o),void 0,_),d);return l&&e.startOnNewLine(g),g}function D(t,c,u,d){var p,f=F(t),g=t.attributes.properties;if(0===g.length)p=a.createNull();else{var m=s.target;if(m&&m>=5)p=a.createObjectLiteralExpression(e.flatten(e.spanMap(g,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,S):e.map(t,T)}))));else{var y=e.flatten(e.spanMap(g,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,E):a.createObjectLiteralExpression(e.map(t,T))})));e.isJsxSpreadAttribute(g[0])&&y.unshift(a.createObjectLiteralExpression()),(p=e.singleOrUndefined(y))||(p=o().createAssignHelper(y))}}var v=void 0===i.importSpecifier?e.createJsxFactoryExpression(a,r.getEmitResolver().getJsxFactoryEntity(n),s.reactNamespace,t):l("createElement"),h=e.createExpressionForJsxElement(a,v,f,p,e.mapDefined(c,_),d);return u&&e.startOnNewLine(h),h}function x(t,r,n,i){var o;if(r&&r.length){var s=y(r);s&&(o=s)}return h(l("Fragment"),o||a.createObjectLiteralExpression([]),void 0,e.length(e.getSemanticJsxChildren(r)),n,i)}function b(t,i,o,c){var u=e.createExpressionForJsxFragment(a,r.getEmitResolver().getJsxFactoryEntity(n),r.getEmitResolver().getJsxFragmentFactoryEntity(n),s.reactNamespace,e.mapDefined(i,_),t,c);return o&&e.startOnNewLine(u),u}function S(t){return a.createSpreadAssignment(e.visitNode(t.expression,d,e.isExpression))}function E(t){return e.visitNode(t.expression,d,e.isExpression)}function T(t){var r=function(t){var r=t.name,n=e.idText(r);return/^[A-Za-z_]\w*$/.test(n)?r:a.createStringLiteral(n)}(t),n=C(t.initializer);return a.createPropertyAssignment(r,n)}function C(t){if(void 0===t)return a.createTrue();if(10===t.kind){var r=void 0!==t.singleQuote?t.singleQuote:!e.isStringDoubleQuoted(t,n),i=a.createStringLiteral((o=t.text,((s=A(o))===o?void 0:s)||t.text),r);return e.setTextRange(i,t)}return 284===t.kind?void 0===t.expression?a.createTrue():e.visitNode(t.expression,d,e.isExpression):e.Debug.failBadSyntaxKind(t);var o,s}function k(e,t){var r=A(t);return void 0===e?r:e+" "+r}function A(r){return r.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,(function(r,n,i,a,o,s,c){if(o)return e.utf16EncodeAsString(parseInt(o,10));if(s)return e.utf16EncodeAsString(parseInt(s,16));var u=t.get(c);return u?e.utf16EncodeAsString(u):r}))}function F(t){if(274===t.kind)return F(t.openingElement);var r=t.tagName;return e.isIdentifier(r)&&e.isIntrinsicJsxName(r.escapedText)?a.createStringLiteral(e.idText(r)):e.createExpressionFromEntityName(a,r)}function N(t){return e.visitNode(t.expression,d,e.isExpression)}};var t=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(s||(s={})),function(e){e.transformES2016=function(t){var r=t.factory,n=t.hoistVariableDeclaration;return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;return e.visitEachChild(r,i,t)}));function i(a){if(0==(256&a.transformFlags))return a;switch(a.kind){case 217:return function(a){switch(a.operatorToken.kind){case 66:return function(t){var a,o,s=e.visitNode(t.left,i,e.isExpression),c=e.visitNode(t.right,i,e.isExpression);if(e.isElementAccessExpression(s)){var u=r.createTempVariable(n),l=r.createTempVariable(n);a=e.setTextRange(r.createElementAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),e.setTextRange(r.createAssignment(l,s.argumentExpression),s.argumentExpression)),s),o=e.setTextRange(r.createElementAccessExpression(u,l),s)}else if(e.isPropertyAccessExpression(s)){u=r.createTempVariable(n);a=e.setTextRange(r.createPropertyAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),s.name),s),o=e.setTextRange(r.createPropertyAccessExpression(u,s.name),s)}else a=s,o=s;return e.setTextRange(r.createAssignment(a,e.setTextRange(r.createGlobalMethodCall("Math","pow",[o,c]),t)),t)}(a);case 42:return function(t){var n=e.visitNode(t.left,i,e.isExpression),a=e.visitNode(t.right,i,e.isExpression);return e.setTextRange(r.createGlobalMethodCall("Math","pow",[n,a]),t)}(a);default:return e.visitEachChild(a,i,t)}}(a);default:return e.visitEachChild(a,i,t)}}}}(s||(s={})),function(e){var r,n,i,a,o;!function(e){e[e.CapturedThis=1]="CapturedThis",e[e.BlockScopedBindings=2]="BlockScopedBindings"}(r||(r={})),function(e){e[e.Body=1]="Body",e[e.Initializer=2]="Initializer"}(n||(n={})),function(e){e[e.ToOriginal=0]="ToOriginal",e[e.ToOutParameter=1]="ToOutParameter"}(i||(i={})),function(e){e[e.Break=2]="Break",e[e.Continue=4]="Continue",e[e.Return=8]="Return"}(a||(a={})),function(e){e[e.None=0]="None",e[e.Function=1]="Function",e[e.ArrowFunction=2]="ArrowFunction",e[e.AsyncFunctionBody=4]="AsyncFunctionBody",e[e.NonStaticClassElement=8]="NonStaticClassElement",e[e.CapturesThis=16]="CapturesThis",e[e.ExportedVariableStatement=32]="ExportedVariableStatement",e[e.TopLevel=64]="TopLevel",e[e.Block=128]="Block",e[e.IterationStatement=256]="IterationStatement",e[e.IterationStatementBlock=512]="IterationStatementBlock",e[e.IterationContainer=1024]="IterationContainer",e[e.ForStatement=2048]="ForStatement",e[e.ForInOrForOfStatement=4096]="ForInOrForOfStatement",e[e.ConstructorWithCapturedSuper=8192]="ConstructorWithCapturedSuper",e[e.AncestorFactsMask=16383]="AncestorFactsMask",e[e.BlockScopeIncludes=0]="BlockScopeIncludes",e[e.BlockScopeExcludes=7104]="BlockScopeExcludes",e[e.SourceFileIncludes=64]="SourceFileIncludes",e[e.SourceFileExcludes=8064]="SourceFileExcludes",e[e.FunctionIncludes=65]="FunctionIncludes",e[e.FunctionExcludes=16286]="FunctionExcludes",e[e.AsyncFunctionBodyIncludes=69]="AsyncFunctionBodyIncludes",e[e.AsyncFunctionBodyExcludes=16278]="AsyncFunctionBodyExcludes",e[e.ArrowFunctionIncludes=66]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=15232]="ArrowFunctionExcludes",e[e.ConstructorIncludes=73]="ConstructorIncludes",e[e.ConstructorExcludes=16278]="ConstructorExcludes",e[e.DoOrWhileStatementIncludes=1280]="DoOrWhileStatementIncludes",e[e.DoOrWhileStatementExcludes=0]="DoOrWhileStatementExcludes",e[e.ForStatementIncludes=3328]="ForStatementIncludes",e[e.ForStatementExcludes=5056]="ForStatementExcludes",e[e.ForInOrForOfStatementIncludes=5376]="ForInOrForOfStatementIncludes",e[e.ForInOrForOfStatementExcludes=3008]="ForInOrForOfStatementExcludes",e[e.BlockIncludes=128]="BlockIncludes",e[e.BlockExcludes=6976]="BlockExcludes",e[e.IterationStatementBlockIncludes=512]="IterationStatementBlockIncludes",e[e.IterationStatementBlockExcludes=7104]="IterationStatementBlockExcludes",e[e.NewTarget=16384]="NewTarget",e[e.CapturedLexicalThis=32768]="CapturedLexicalThis",e[e.SubtreeFactsMask=-16384]="SubtreeFactsMask",e[e.ArrowFunctionSubtreeExcludes=0]="ArrowFunctionSubtreeExcludes",e[e.FunctionSubtreeExcludes=49152]="FunctionSubtreeExcludes"}(o||(o={})),e.transformES2015=function(r){var n,i,a,o,s,c,u=r.factory,l=r.getEmitHelperFactory,d=r.startLexicalEnvironment,_=r.resumeLexicalEnvironment,p=r.endLexicalEnvironment,f=r.hoistVariableDeclaration,g=r.getCompilerOptions(),m=r.getEmitResolver(),y=r.onSubstituteNode,v=r.onEmitNode;function h(t){o=e.append(o,u.createVariableDeclaration(t))}return r.onEmitNode=function(t,r,n){if(1&c&&e.isFunctionLike(r)){var i=D(16286,8&e.getEmitFlags(r)?81:65);return v(t,r,n),void x(i,0,0)}v(t,r,n)},r.onSubstituteNode=function(t,r){if(r=y(t,r),1===t)return function(t){switch(t.kind){case 78:return function(t){if(2&c&&!e.isInternalName(t)){var r=m.getReferencedDeclarationWithCollidingName(t);if(r&&(!e.isClassLike(r)||!function(t,r){var n=e.getParseTreeNode(r);if(!n||n===t||n.end<=t.pos||n.pos>=t.end)return!1;var i=e.getEnclosingBlockScopeContainer(t);for(;n;){if(n===i||n===t)return!1;if(e.isClassElement(n)&&n.parent===t)return!0;n=n.parent}return!1}(r,t)))return e.setTextRange(u.getGeneratedNameForNode(e.getNameOfDeclaration(r)),t)}return t}(t);case 107:return function(t){if(1&c&&16&a)return e.setTextRange(u.createUniqueName("_this",48),t);return t}(t)}return t}(r);if(e.isIdentifier(r))return function(t){if(2&c&&!e.isInternalName(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r&&function(e){switch(e.parent.kind){case 199:case 253:case 256:case 250:return e.parent.name===e&&m.isDeclarationWithCollidingName(e.parent)}return!1}(r))return e.setTextRange(u.getGeneratedNameForNode(r),t)}return t}(r);return r},e.chainBundle(r,(function(t){if(t.isDeclarationFile)return t;n=t,i=t.text;var s=function(t){var r=D(8064,64),n=[],i=[];d();var a=u.copyPrologue(t.statements,n,!1,E);e.addRange(i,e.visitNodes(t.statements,E,e.isStatement,a)),o&&i.push(u.createVariableStatement(void 0,u.createVariableDeclarationList(o)));return u.mergeLexicalEnvironment(n,p()),j(n,t),x(r,0,0),u.updateSourceFile(t,e.setTextRange(u.createNodeArray(e.concatenate(n,i)),t.statements))}(t);return e.addEmitHelpers(s,r.readEmitHelpers()),n=void 0,i=void 0,o=void 0,a=0,s}));function D(e,t){var r=a;return a=16383&(a&~e|t),r}function x(e,t,r){a=-16384&(a&~t|r)|e}function b(e){return 0!=(8192&a)&&243===e.kind&&!e.expression}function S(t){return 0!=(512&t.transformFlags)||void 0!==s||8192&a&&function(t){return 2097152&t.transformFlags&&(e.isReturnStatement(t)||e.isIfStatement(t)||e.isWithStatement(t)||e.isSwitchStatement(t)||e.isCaseBlock(t)||e.isCaseClause(t)||e.isDefaultClause(t)||e.isTryStatement(t)||e.isCatchClause(t)||e.isLabeledStatement(t)||e.isIterationStatement(t,!1)||e.isBlock(t))}(t)||e.isIterationStatement(t,!1)&&de(t)||0!=(33554432&e.getEmitFlags(t))}function E(e){return S(e)?k(e,!1):e}function T(e){return S(e)?k(e,!0):e}function C(e){return 105===e.kind?Ne(!0):E(e)}function k(i,o){switch(i.kind){case 123:return;case 253:return function(t){var r=u.createVariableDeclaration(u.getLocalName(t,!0),void 0,void 0,N(t));e.setOriginalNode(r,t);var n=[],i=u.createVariableStatement(void 0,u.createVariableDeclarationList([r]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),n.push(i),e.hasSyntacticModifier(t,1)){var a=e.hasSyntacticModifier(t,512)?u.createExportDefault(u.getLocalName(t)):u.createExternalModuleExport(u.getLocalName(t));e.setOriginalNode(a,i),n.push(a)}var o=e.getEmitFlags(t);0==(4194304&o)&&(n.push(u.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o));return e.singleOrMany(n)}(i);case 222:return function(e){return N(e)}(i);case 161:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,u.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(i);case 252:return function(t){var n=s;s=void 0;var i=D(16286,65),o=e.visitParameterList(t.parameters,E,r),c=H(t),l=16384&a?u.getLocalName(t):t.name;return x(i,49152,0),s=n,u.updateFunctionDeclaration(t,void 0,e.visitNodes(t.modifiers,E,e.isModifier),t.asteriskToken,l,void 0,o,void 0,c)}(i);case 210:return function(t){8192&t.transformFlags&&(a|=32768);var n=s;s=void 0;var i=D(15232,66),o=u.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(t.parameters,E,r),void 0,H(t));e.setTextRange(o,t),e.setOriginalNode(o,t),e.setEmitFlags(o,8),32768&a&&we();return x(i,0,0),s=n,o}(i);case 209:return function(t){var n=262144&e.getEmitFlags(t)?D(16278,69):D(16286,65),i=s;s=void 0;var o=e.visitParameterList(t.parameters,E,r),c=H(t),l=16384&a?u.getLocalName(t):t.name;return x(n,49152,0),s=i,u.updateFunctionExpression(t,void 0,t.asteriskToken,l,void 0,o,void 0,c)}(i);case 250:return X(i);case 78:return F(i);case 251:return function(t){if(3&t.flags||262144&t.transformFlags){3&t.flags&&Pe();var n=e.flatMap(t.declarations,1&t.flags?Y:X),i=u.createVariableDeclarationList(n);return e.setOriginalNode(i,t),e.setTextRange(i,t),e.setCommentRange(i,t),262144&t.transformFlags&&(e.isBindingPattern(t.declarations[0].name)||e.isBindingPattern(e.last(t.declarations).name))&&e.setSourceMapRange(i,function(t){for(var r=-1,n=-1,i=0,a=t;i0?(e.insertStatementAfterCustomPrologue(t,e.setEmitFlags(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(n,E,r,0,u.getGeneratedNameForNode(n)))),1048576)),!0):!!a&&(e.insertStatementAfterCustomPrologue(t,e.setEmitFlags(u.createExpressionStatement(u.createAssignment(u.getGeneratedNameForNode(n),e.visitNode(a,E,e.isExpression))),1048576)),!0)}function R(t,r,n,i){i=e.visitNode(i,E,e.isExpression);var a=u.createIfStatement(u.createTypeCheck(u.cloneNode(n),"undefined"),e.setEmitFlags(e.setTextRange(u.createBlock([u.createExpressionStatement(e.setEmitFlags(e.setTextRange(u.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(u.cloneNode(n),n),n.parent),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),r),1536))]),r),1953));e.startOnNewLine(a),e.setTextRange(a,r),e.setEmitFlags(a,1050528),e.insertStatementAfterCustomPrologue(t,a)}function B(t,n,i){var a=[],o=e.lastOrUndefined(n.parameters);if(!function(e,t){return!(!e||!e.dotDotDotToken||t)}(o,i))return!1;var s=78===o.name.kind?e.setParent(e.setTextRange(u.cloneNode(o.name),o.name),o.name.parent):u.createTempVariable(void 0);e.setEmitFlags(s,48);var c=78===o.name.kind?u.cloneNode(o.name):s,l=n.parameters.length-1,d=u.createLoopVariable();a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(s,void 0,void 0,u.createArrayLiteralExpression([]))])),o),1048576));var _=u.createForStatement(e.setTextRange(u.createVariableDeclarationList([u.createVariableDeclaration(d,void 0,void 0,u.createNumericLiteral(l))]),o),e.setTextRange(u.createLessThan(d,u.createPropertyAccessExpression(u.createIdentifier("arguments"),"length")),o),e.setTextRange(u.createPostfixIncrement(d),o),u.createBlock([e.startOnNewLine(e.setTextRange(u.createExpressionStatement(u.createAssignment(u.createElementAccessExpression(c,0===l?d:u.createSubtract(d,u.createNumericLiteral(l))),u.createElementAccessExpression(u.createIdentifier("arguments"),d))),o))]));return e.setEmitFlags(_,1048576),e.startOnNewLine(_),a.push(_),78!==o.name.kind&&a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(o,E,r,0,c))),o),1048576)),e.insertStatementsAfterCustomPrologue(t,a),!0}function j(e,t){return!!(32768&a&&210!==t.kind)&&(J(e,t,u.createThis()),!0)}function J(t,r,n){we();var i=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName("_this",48),void 0,void 0,n)]));e.setEmitFlags(i,1050112),e.setSourceMapRange(i,r),e.insertStatementAfterCustomPrologue(t,i)}function K(t,r,n){if(16384&a){var i=void 0;switch(r.kind){case 210:return t;case 166:case 168:case 169:i=u.createVoidZero();break;case 167:i=u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),"constructor");break;case 252:case 209:i=u.createConditionalExpression(u.createLogicalAnd(e.setEmitFlags(u.createThis(),4),u.createBinaryExpression(e.setEmitFlags(u.createThis(),4),101,u.getLocalName(r))),void 0,u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),"constructor"),void 0,u.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var o=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName("_newTarget",48),void 0,void 0,i)]));e.setEmitFlags(o,1050112),n&&(t=t.slice()),e.insertStatementAfterCustomPrologue(t,o)}return t}function z(t){return e.setTextRange(u.createEmptyStatement(),t)}function U(t,n,i){var a,o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=W(n,n,void 0,i),l=e.visitNode(n.name,E,e.isPropertyName);if(!e.isPrivateIdentifier(l)&&e.getUseDefineForClassFields(r.getCompilerOptions())){var d=e.isComputedPropertyName(l)?l.expression:e.isIdentifier(l)?u.createStringLiteral(e.unescapeLeadingUnderscores(l.escapedText)):l;a=u.createObjectDefinePropertyCall(t,d,u.createPropertyDescriptor({value:c,enumerable:!1,writable:!0,configurable:!0}))}else{var _=e.createMemberAccessForPropertyName(u,t,l,n.name);a=u.createAssignment(_,c)}e.setEmitFlags(c,1536),e.setSourceMapRange(c,s);var p=e.setTextRange(u.createExpressionStatement(a),n);return e.setOriginalNode(p,n),e.setCommentRange(p,o),e.setEmitFlags(p,48),p}function V(t,r,n){var i=u.createExpressionStatement(q(t,r,n,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(r.firstAccessor)),i}function q(t,r,n,i){var a=r.firstAccessor,o=r.getAccessor,s=r.setAccessor,c=e.setParent(e.setTextRange(u.cloneNode(t),t),t.parent);e.setEmitFlags(c,1568),e.setSourceMapRange(c,a.name);var l=e.visitNode(a.name,E,e.isPropertyName);if(e.isPrivateIdentifier(l))return e.Debug.failBadSyntaxKind(l,"Encountered unhandled private identifier while transforming ES2015.");var d=e.createExpressionForPropertyName(u,l);e.setEmitFlags(d,1552),e.setSourceMapRange(d,a.name);var _=[];if(o){var p=W(o,void 0,void 0,n);e.setSourceMapRange(p,e.getSourceMapRange(o)),e.setEmitFlags(p,512);var f=u.createPropertyAssignment("get",p);e.setCommentRange(f,e.getCommentRange(o)),_.push(f)}if(s){var g=W(s,void 0,void 0,n);e.setSourceMapRange(g,e.getSourceMapRange(s)),e.setEmitFlags(g,512);var m=u.createPropertyAssignment("set",g);e.setCommentRange(m,e.getCommentRange(s)),_.push(m)}_.push(u.createPropertyAssignment("enumerable",o||s?u.createFalse():u.createTrue()),u.createPropertyAssignment("configurable",u.createTrue()));var y=u.createCallExpression(u.createPropertyAccessExpression(u.createIdentifier("Object"),"defineProperty"),void 0,[c,d,u.createObjectLiteralExpression(_,!0)]);return i&&e.startOnNewLine(y),y}function W(t,n,i,o){var c=s;s=void 0;var l=o&&e.isClassLike(o)&&!e.hasSyntacticModifier(t,32)?D(16286,73):D(16286,65),d=e.visitParameterList(t.parameters,E,r),_=H(t);return 16384&a&&!i&&(252===t.kind||209===t.kind)&&(i=u.getGeneratedNameForNode(t)),x(l,49152,0),s=c,e.setOriginalNode(e.setTextRange(u.createFunctionExpression(void 0,t.asteriskToken,i,void 0,d,void 0,_),n),t)}function H(t){var r,i,a,o=!1,s=!1,c=[],l=[],d=t.body;if(_(),e.isBlock(d)&&(a=u.copyStandardPrologue(d.statements,c,!1),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedFunction),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedVariableStatement)),o=M(l,t)||o,o=B(l,t,!1)||o,e.isBlock(d))a=u.copyCustomPrologue(d.statements,l,a,E),r=d.statements,e.addRange(l,e.visitNodes(d.statements,E,e.isStatement,a)),!o&&d.multiLine&&(o=!0);else{e.Debug.assert(210===t.kind),r=e.moveRangeEnd(d,-1);var f=t.equalsGreaterThanToken;e.nodeIsSynthesized(f)||e.nodeIsSynthesized(d)||(e.rangeEndIsOnSameLineAsRangeStart(f,d,n)?s=!0:o=!0);var g=e.visitNode(d,E,e.isExpression),m=u.createReturnStatement(g);e.setTextRange(m,d),e.moveSyntheticComments(m,d),e.setEmitFlags(m,1440),l.push(m),i=d}if(u.mergeLexicalEnvironment(c,p()),K(c,t,!1),j(c,t),e.some(c)&&(o=!0),l.unshift.apply(l,c),e.isBlock(d)&&e.arrayIsEqualTo(l,d.statements))return d;var y=u.createBlock(e.setTextRange(u.createNodeArray(l),r),o);return e.setTextRange(y,t.body),!o&&s&&e.setEmitFlags(y,1),i&&e.setTokenSourceMapRange(y,19,i),e.setOriginalNode(y,t.body),y}function G(t,n){return e.isDestructuringAssignment(t)?e.flattenDestructuringAssignment(t,E,r,0,!n):27===t.operatorToken.kind?u.updateBinaryExpression(t,e.visitNode(t.left,T,e.isExpression),t.operatorToken,e.visitNode(t.right,n?T:E,e.isExpression)):e.visitEachChild(t,E,r)}function Y(t){var n=t.name;return e.isBindingPattern(n)?X(t):!t.initializer&&function(e){var t=m.getNodeCheckFlags(e),r=262144&t,n=524288&t;return!(0!=(64&a)||r&&n&&0!=(512&a))&&0==(4096&a)&&(!m.isDeclarationWithCollidingName(e)||n&&!r&&0==(6144&a))}(t)?u.updateVariableDeclaration(t,t.name,void 0,void 0,u.createVoidZero()):e.visitEachChild(t,E,r)}function X(t){var n,i=D(32,0);return n=e.isBindingPattern(t.name)?e.flattenDestructuringBinding(t,E,r,0,void 0,0!=(32&i)):e.visitEachChild(t,E,r),x(i,0,0),n}function $(t){s.labels.set(e.idText(t.label),!0)}function Q(t){s.labels.set(e.idText(t.label),!1)}function Z(t,n,i,o,c){var l=D(t,n),_=function(t,n,i,o){if(!de(t)){var c=void 0;s&&(c=s.allowedNonLabeledJumps,s.allowedNonLabeledJumps=6);var l=o?o(t,n,void 0,i):u.restoreEnclosingLabel(e.isForStatement(t)?function(t){return u.updateForStatement(t,e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.condition,E,e.isExpression),e.visitNode(t.incrementor,T,e.isExpression),e.visitNode(t.statement,E,e.isStatement,u.liftToBlock))}(t):e.visitEachChild(t,E,r),n,s&&Q);return s&&(s.allowedNonLabeledJumps=c),l}var _=function(t){var r;switch(t.kind){case 238:case 239:case 240:var n=t.initializer;n&&251===n.kind&&(r=n)}var i=[],a=[];if(r&&3&e.getCombinedNodeFlags(r))for(var o=ue(t),c=0,u=r.declarations;c=80&&r<=115)return e.setTextRange(i.createStringLiteralFromNode(t),t)}}}(s||(s={})),function(e){var r,n,i,a,o;!function(e){e[e.Nop=0]="Nop",e[e.Statement=1]="Statement",e[e.Assign=2]="Assign",e[e.Break=3]="Break",e[e.BreakWhenTrue=4]="BreakWhenTrue",e[e.BreakWhenFalse=5]="BreakWhenFalse",e[e.Yield=6]="Yield",e[e.YieldStar=7]="YieldStar",e[e.Return=8]="Return",e[e.Throw=9]="Throw",e[e.Endfinally=10]="Endfinally"}(r||(r={})),function(e){e[e.Open=0]="Open",e[e.Close=1]="Close"}(n||(n={})),function(e){e[e.Exception=0]="Exception",e[e.With=1]="With",e[e.Switch=2]="Switch",e[e.Loop=3]="Loop",e[e.Labeled=4]="Labeled"}(i||(i={})),function(e){e[e.Try=0]="Try",e[e.Catch=1]="Catch",e[e.Finally=2]="Finally",e[e.Done=3]="Done"}(a||(a={})),function(e){e[e.Next=0]="Next",e[e.Throw=1]="Throw",e[e.Return=2]="Return",e[e.Break=3]="Break",e[e.Yield=4]="Yield",e[e.YieldStar=5]="YieldStar",e[e.Catch=6]="Catch",e[e.Endfinally=7]="Endfinally"}(o||(o={})),e.transformGenerators=function(r){var n,i,a,o,s,c,u,l,d,_,p=r.factory,f=r.getEmitHelperFactory,g=r.resumeLexicalEnvironment,m=r.endLexicalEnvironment,y=r.hoistFunctionDeclaration,v=r.hoistVariableDeclaration,h=r.getCompilerOptions(),D=e.getEmitScriptTarget(h),x=r.getEmitResolver(),b=r.onSubstituteNode;r.onSubstituteNode=function(t,r){if(r=b(t,r),1===t)return function(t){if(e.isIdentifier(t))return function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var r=e.getOriginalNode(t);if(e.isIdentifier(r)&&r.parent){var a=x.getReferencedValueDeclaration(r);if(a){var o=i[e.getOriginalNodeId(a)];if(o){var s=e.setParent(e.setTextRange(p.cloneNode(o),o),o.parent);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t);return t}(r);return r};var S,E,T,C,k,A,F,N,P,w,I,O,M=1,L=0,R=0;return e.chainBundle(r,(function(t){if(t.isDeclarationFile||0==(1024&t.transformFlags))return t;var n=e.visitEachChild(t,B,r);return e.addEmitHelpers(n,r.readEmitHelpers()),n}));function B(t){var n=t.transformFlags;return o?function(t){switch(t.kind){case 236:case 237:return function(t){return o?(oe(),t=e.visitEachChild(t,B,r),ce(),t):e.visitEachChild(t,B,r)}(t);case 245:return function(t){o&&re({kind:2,isScript:!0,breakLabel:-1});t=e.visitEachChild(t,B,r),o&&ue();return t}(t);case 246:return function(t){o&&re({kind:4,isScript:!0,labelText:e.idText(t.label),breakLabel:-1});t=e.visitEachChild(t,B,r),o&&le();return t}(t);default:return j(t)}}(t):a?j(t):e.isFunctionLikeDeclaration(t)&&t.asteriskToken?function(t){switch(t.kind){case 252:return J(t);case 209:return K(t);default:return e.Debug.failBadSyntaxKind(t)}}(t):1024&n?e.visitEachChild(t,B,r):t}function j(t){switch(t.kind){case 252:return J(t);case 209:return K(t);case 168:case 169:return function(t){var n=a,i=o;return a=!1,o=!1,t=e.visitEachChild(t,B,r),a=n,o=i,t}(t);case 233:return function(t){if(524288&t.transformFlags)return void G(t.declarationList);if(1048576&e.getEmitFlags(t))return t;for(var r=0,n=t.declarationList.declarations;r0?p.inlineExpressions(e.map(c,Y)):void 0,e.visitNode(t.condition,B,e.isExpression),e.visitNode(t.incrementor,B,e.isExpression),e.visitIterationBody(t.statement,B,r))}else t=e.visitEachChild(t,B,r);o&&ce();return t}(t);case 239:return function(t){o&&oe();var n=t.initializer;if(e.isVariableDeclarationList(n)){for(var i=0,a=n.declarations;i0)return he(n,t)}return e.visitEachChild(t,B,r)}(t);case 241:return function(t){if(o){var n=me(t.label&&e.idText(t.label));if(n>0)return he(n,t)}return e.visitEachChild(t,B,r)}(t);case 243:return function(t){return r=e.visitNode(t.expression,B,e.isExpression),n=t,e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression(r?[ve(2),r]:[ve(2)])),n);var r,n}(t);default:return 524288&t.transformFlags?function(t){switch(t.kind){case 217:return function(t){var n=e.getExpressionAssociativity(t);switch(n){case 0:return function(t){if(X(t.right))return e.isLogicalOperator(t.operatorToken.kind)?function(t){var r=ee(),n=Z();be(n,e.visitNode(t.left,B,e.isExpression),t.left),55===t.operatorToken.kind?Te(r,n,t.left):Ee(r,n,t.left);return be(n,e.visitNode(t.right,B,e.isExpression),t.right),te(r),n}(t):27===t.operatorToken.kind?U(t):p.updateBinaryExpression(t,Q(e.visitNode(t.left,B,e.isExpression)),t.operatorToken,e.visitNode(t.right,B,e.isExpression));return e.visitEachChild(t,B,r)}(t);case 1:return function(t){var n=t.left,i=t.right;if(X(i)){var a=void 0;switch(n.kind){case 202:a=p.updatePropertyAccessExpression(n,Q(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),n.name);break;case 203:a=p.updateElementAccessExpression(n,Q(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),Q(e.visitNode(n.argumentExpression,B,e.isExpression)));break;default:a=e.visitNode(n,B,e.isExpression)}var o=t.operatorToken.kind;return e.isCompoundAssignment(o)?e.setTextRange(p.createAssignment(a,e.setTextRange(p.createBinaryExpression(Q(a),e.getNonAssignmentOperatorForCompoundAssignment(o),e.visitNode(i,B,e.isExpression)),t)),t):p.updateBinaryExpression(t,a,t.operatorToken,e.visitNode(i,B,e.isExpression))}return e.visitEachChild(t,B,r)}(t);default:return e.Debug.assertNever(n)}}(t);case 341:return function(t){for(var r=[],n=0,i=t.elements;n0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(a,B,e.isExpression)))}return p.inlineExpressions(r)}(t);case 218:return function(t){if(X(t.whenTrue)||X(t.whenFalse)){var n=ee(),i=ee(),a=Z();return Te(n,e.visitNode(t.condition,B,e.isExpression),t.condition),be(a,e.visitNode(t.whenTrue,B,e.isExpression),t.whenTrue),Se(i),te(n),be(a,e.visitNode(t.whenFalse,B,e.isExpression),t.whenFalse),te(i),a}return e.visitEachChild(t,B,r)}(t);case 220:return function(t){var r=ee(),n=e.visitNode(t.expression,B,e.isExpression);if(t.asteriskToken){!function(e,t){Ce(7,[e],t)}(0==(8388608&e.getEmitFlags(t.expression))?e.setTextRange(f().createValuesHelper(n),t):n,t)}else!function(e,t){Ce(6,[e],t)}(n,t);return te(r),function(t){return e.setTextRange(p.createCallExpression(p.createPropertyAccessExpression(C,"sent"),void 0,[]),t)}(t)}(t);case 200:return function(e){return V(e.elements,void 0,void 0,e.multiLine)}(t);case 201:return function(t){var r=t.properties,n=t.multiLine,i=$(r),a=Z();be(a,p.createObjectLiteralExpression(e.visitNodes(r,B,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,s,[],i);return o.push(n?e.startOnNewLine(e.setParent(e.setTextRange(p.cloneNode(a),a),a.parent)):a),p.inlineExpressions(o);function s(r,i){X(i)&&r.length>0&&(xe(p.createExpressionStatement(p.inlineExpressions(r))),r=[]);var o=e.createExpressionForObjectLiteralElementLike(p,t,i,a),s=e.visitNode(o,B,e.isExpression);return s&&(n&&e.startOnNewLine(s),r.push(s)),r}}(t);case 203:return function(t){if(X(t.argumentExpression))return p.updateElementAccessExpression(t,Q(e.visitNode(t.expression,B,e.isLeftHandSideExpression)),e.visitNode(t.argumentExpression,B,e.isExpression));return e.visitEachChild(t,B,r)}(t);case 204:return function(t){if(!e.isImportCall(t)&&e.forEach(t.arguments,X)){var n=p.createCallBinding(t.expression,v,D,!0),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createFunctionApplyCall(Q(e.visitNode(i,B,e.isLeftHandSideExpression)),a,V(t.arguments)),t),t)}return e.visitEachChild(t,B,r)}(t);case 205:return function(t){if(e.forEach(t.arguments,X)){var n=p.createCallBinding(p.createPropertyAccessExpression(t.expression,"bind"),v),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createNewExpression(p.createFunctionApplyCall(Q(e.visitNode(i,B,e.isExpression)),a,V(t.arguments,p.createVoidZero())),void 0,[]),t),t)}return e.visitEachChild(t,B,r)}(t);default:return e.visitEachChild(t,B,r)}}(t):2098176&t.transformFlags?e.visitEachChild(t,B,r):t}}function J(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(p.createFunctionDeclaration(void 0,t.modifiers,void 0,t.name,void 0,e.visitParameterList(t.parameters,B,r),void 0,z(t.body)),t),t);else{var n=a,i=o;a=!1,o=!1,t=e.visitEachChild(t,B,r),a=n,o=i}return a?void y(t):t}function K(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(p.createFunctionExpression(void 0,void 0,t.name,void 0,e.visitParameterList(t.parameters,B,r),void 0,z(t.body)),t),t);else{var n=a,i=o;a=!1,o=!1,t=e.visitEachChild(t,B,r),a=n,o=i}return t}function z(t){var r=[],n=a,i=o,f=s,y=c,v=u,h=l,D=d,x=_,b=M,k=S,A=E,F=T,N=C;a=!0,o=!1,s=void 0,c=void 0,u=void 0,l=void 0,d=void 0,_=void 0,M=1,S=void 0,E=void 0,T=void 0,C=p.createTempVariable(void 0),g();var P=p.copyPrologue(t.statements,r,!1,B);q(t.statements,P);var w=ke();return e.insertStatementsAfterStandardPrologue(r,m()),r.push(p.createReturnStatement(w)),a=n,o=i,s=f,c=y,u=v,l=h,d=D,_=x,M=b,S=k,E=A,T=F,C=N,e.setTextRange(p.createBlock(r,t.multiLine),t)}function U(t){var r=[];return n(t.left),n(t.right),p.inlineExpressions(r);function n(t){e.isBinaryExpression(t)&&27===t.operatorToken.kind?(n(t.left),n(t.right)):(X(t)&&r.length>0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,B,e.isExpression)))}}function V(r,n,i,a){var o,s=$(r);if(s>0){o=Z();var c=e.visitNodes(r,B,e.isExpression,0,s);be(o,p.createArrayLiteralExpression(n?t([n],c):c)),n=void 0}var u=e.reduceLeft(r,(function(r,i){if(X(i)&&r.length>0){var s=void 0!==o;o||(o=Z()),be(o,s?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(r,a)]):p.createArrayLiteralExpression(n?t([n],r):r,a)),n=void 0,r=[]}return r.push(e.visitNode(i,B,e.isExpression)),r}),[],s);return o?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(u,a)]):e.setTextRange(p.createArrayLiteralExpression(n?t([n],u):u,a),i)}function q(e,t){void 0===t&&(t=0);for(var r=e.length,n=t;n0?Se(r,t):xe(t)}(t);case 242:return function(t){var r=ge(t.label?e.idText(t.label):void 0);r>0?Se(r,t):xe(t)}(t);case 243:return function(t){r=e.visitNode(t.expression,B,e.isExpression),n=t,Ce(8,[r],n);var r,n}(t);case 244:return function(t){X(t)?(r=Q(e.visitNode(t.expression,B,e.isExpression)),n=ee(),i=ee(),te(n),re({kind:1,expression:r,startLabel:n,endLabel:i}),W(t.statement),e.Debug.assert(1===ae()),te(ne().endLabel)):xe(e.visitNode(t,B,e.isStatement));var r,n,i}(t);case 245:return function(t){if(X(t.caseBlock)){for(var r=t.caseBlock,n=r.clauses.length,i=(re({kind:2,isScript:!1,breakLabel:f=ee()}),f),a=Q(e.visitNode(t.expression,B,e.isExpression)),o=[],s=-1,c=0;c0)break;d.push(p.createCaseClause(e.visitNode(u.expression,B,e.isExpression),[he(o[c],u.expression)]))}else _++}d.length&&(xe(p.createSwitchStatement(a,p.createCaseBlock(d))),l+=d.length,d=[]),_>0&&(l+=_,_=0)}Se(s>=0?o[s]:i);for(c=0;c0)break;u.push(Y(i))}u.length&&(xe(p.createExpressionStatement(p.inlineExpressions(u))),c+=u.length,u=[])}}function Y(t){return e.setSourceMapRange(p.createAssignment(e.setSourceMapRange(p.cloneNode(t.name),t.name),e.visitNode(t.initializer,B,e.isExpression)),t)}function X(e){return!!e&&0!=(524288&e.transformFlags)}function $(e){for(var t=e.length,r=0;r=0;r--){var n=l[r];if(!_e(n))break;if(n.labelText===e)return!0}return!1}function ge(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(_e(r=l[t])&&r.labelText===e)return r.breakLabel;if(de(r)&&fe(e,t-1))return r.breakLabel}else for(t=l.length-1;t>=0;t--){var r;if(de(r=l[t]))return r.breakLabel}return 0}function me(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(pe(r=l[t])&&fe(e,t-1))return r.continueLabel}else for(t=l.length-1;t>=0;t--){var r;if(pe(r=l[t]))return r.continueLabel}return 0}function ye(e){if(void 0!==e&&e>0){void 0===_&&(_=[]);var t=p.createNumericLiteral(-1);return void 0===_[e]?_[e]=[t]:_[e].push(t),t}return p.createOmittedExpression()}function ve(t){var r=p.createNumericLiteral(t);return e.addSyntheticTrailingComment(r,3,function(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}(t)),r}function he(t,r){return e.Debug.assertLessThan(0,t,"Invalid label"),e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression([ve(3),ye(t)])),r)}function De(){Ce(0)}function xe(e){e?Ce(1,[e]):De()}function be(e,t,r){Ce(2,[e,t],r)}function Se(e,t){Ce(3,[e],t)}function Ee(e,t,r){Ce(4,[e,t],r)}function Te(e,t,r){Ce(5,[e,t],r)}function Ce(e,t,r){void 0===S&&(S=[],E=[],T=[]),void 0===d&&te(ee());var n=S.length;S[n]=e,E[n]=t,T[n]=r}function ke(){L=0,R=0,k=void 0,A=!1,F=!1,N=void 0,P=void 0,w=void 0,I=void 0,O=void 0;var t=function(){if(S){for(var t=0;t0)),524288))}function Ae(e){(function(e){if(!F)return!0;if(!d||!_)return!1;for(var t=0;t=0;t--){var r=O[t];P=[p.createWithStatement(r.expression,p.createBlock(P))]}if(I){var n=I.startLabel,i=I.catchLabel,a=I.finallyLabel,o=I.endLabel;P.unshift(p.createExpressionStatement(p.createCallExpression(p.createPropertyAccessExpression(p.createPropertyAccessExpression(C,"trys"),"push"),void 0,[p.createArrayLiteralExpression([ye(n),ye(i),ye(a),ye(o)])]))),I=void 0}e&&P.push(p.createExpressionStatement(p.createAssignment(p.createPropertyAccessExpression(C,"label"),p.createNumericLiteral(R+1))))}N.push(p.createCaseClause(p.createNumericLiteral(R),P||[])),P=void 0}function Ne(e){if(d)for(var t=0;t=2?2:0)),t),t))}else n&&e.isDefaultImport(t)&&(r=e.append(r,i.createVariableStatement(void 0,i.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(i.createVariableDeclaration(i.cloneNode(n.name),void 0,void 0,i.getGeneratedNameForNode(t)),t),t)],_>=2?2:0))));if(j(t)){var o=e.getOriginalNodeId(t);x[o]=J(x[o],t)}else r=J(r,t);return e.singleOrMany(r)}(t);case 261:return function(t){var r;e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer."),p!==e.ModuleKind.AMD?r=e.hasSyntacticModifier(t,1)?e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(t.name,L(t))),t),t)):e.append(r,e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(i.cloneNode(t.name),void 0,void 0,L(t))],_>=2?2:0)),t),t)):e.hasSyntacticModifier(t,1)&&(r=e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(i.getExportName(t),i.getLocalName(t))),t),t)));if(j(t)){var n=e.getOriginalNodeId(t);x[n]=K(x[n],t)}else r=K(r,t);return e.singleOrMany(r)}(t);case 268:return function(t){if(!t.moduleSpecifier)return;var r=i.getGeneratedNameForNode(t);if(t.exportClause&&e.isNamedExports(t.exportClause)){var n=[];p!==e.ModuleKind.AMD&&n.push(e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(r,void 0,void 0,L(t))])),t),t));for(var o=0,s=t.exportClause.elements;o(e.isExportName(t)?1:0);return!1}function I(t,r){var n,o=i.createUniqueName("resolve"),s=i.createUniqueName("reject"),c=[i.createParameterDeclaration(void 0,void 0,void 0,o),i.createParameterDeclaration(void 0,void 0,void 0,s)],l=i.createBlock([i.createExpressionStatement(i.createCallExpression(i.createIdentifier("require"),void 0,[i.createArrayLiteralExpression([t||i.createOmittedExpression()]),o,s]))]);_>=2?n=i.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),r&&e.setEmitFlags(n,8));var d=i.createNewExpression(i.createIdentifier("Promise"),void 0,[n]);return u.esModuleInterop?i.createCallExpression(i.createPropertyAccessExpression(d,i.createIdentifier("then")),void 0,[a().createImportStarCallbackHelper()]):d}function O(t,r){var n,o=i.createCallExpression(i.createPropertyAccessExpression(i.createIdentifier("Promise"),"resolve"),void 0,[]),s=i.createCallExpression(i.createIdentifier("require"),void 0,t?[t]:[]);return u.esModuleInterop&&(s=a().createImportStarHelper(s)),_>=2?n=i.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,i.createBlock([i.createReturnStatement(s)])),r&&e.setEmitFlags(n,8)),i.createCallExpression(i.createPropertyAccessExpression(o,"then"),void 0,[n])}function M(t,r){return!u.esModuleInterop||67108864&e.getEmitFlags(t)?r:e.getImportNeedsImportStarHelper(t)?a().createImportStarHelper(r):e.getImportNeedsImportDefaultHelper(t)?a().createImportDefaultHelper(r):r}function L(t){var r=e.getExternalModuleNameLiteral(i,t,m,d,l,u),n=[];return r&&n.push(r),i.createCallExpression(i.createIdentifier("require"),void 0,n)}function R(t,r,n){var a=$(t);if(a){for(var o=e.isExportName(t)?r:i.createAssignment(t,r),s=0,c=a;se.ModuleKind.ES2015)return t;if(!t.exportClause||!e.isNamespaceExport(t.exportClause)||!t.moduleSpecifier)return t;var r=t.exportClause.name,n=i.getGeneratedNameForNode(r),a=i.createImportDeclaration(void 0,void 0,i.createImportClause(!1,void 0,i.createNamespaceImport(n)),t.moduleSpecifier);e.setOriginalNode(a,t.exportClause);var s=e.isExportNamespaceAsDefaultDeclaration(t)?i.createExportDefault(n):i.createExportDeclaration(void 0,void 0,!1,i.createNamedExports([i.createExportSpecifier(n,r)]));return e.setOriginalNode(s,t),[a,s]}(t)}return t}}}(s||(s={})),function(e){function t(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isPropertyAccessExpression(t)||e.isBindingElement(t)||e.isConstructorDeclaration(t)?r:e.isSetAccessor(t)||e.isGetAccessor(t)?function(r){var n;n=169===t.kind?e.hasSyntacticModifier(t,32)?r.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:t.name,typeName:t.name}}:e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isIndexSignatureDeclaration(t)?function(r){var n;switch(t.kind){case 171:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 170:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 172:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 166:case 165:n=e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:253===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 252:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}:e.isParameter(t)?e.isParameterPropertyDeclaration(t,t.parent)&&e.hasSyntacticModifier(t.parent,8)?r:function(r){var n=function(r){switch(t.parent.kind){case 167:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 171:case 176:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 170:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 172:return r.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 166:case 165:return e.hasSyntacticModifier(t.parent,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:253===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 252:case 175:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 169:case 168:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail("Unknown parent for parameter: "+e.SyntaxKind[t.parent.kind])}}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}:e.isTypeParameterDeclaration(t)?function(){var r;switch(t.parent.kind){case 253:r=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 254:r=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 191:r=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 176:case 171:r=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 170:r=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 166:case 165:r=e.hasSyntacticModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:253===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 175:case 252:r=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 255:r=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:r,errorNode:t,typeName:t.name}}:e.isExpressionWithTypeArguments(t)?function(){var r;r=e.isClassDeclaration(t.parent.parent)?e.isHeritageClause(t.parent)&&116===t.parent.token?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}:e.isImportEqualsDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}:e.isTypeAliasDeclaration(t)||e.isJSDocTypeAlias(t)?function(r){return{diagnosticMessage:r.errorModuleName?e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:e.isJSDocTypeAlias(t)?e.Debug.checkDefined(t.typeExpression):t.type,typeName:e.isJSDocTypeAlias(t)?e.getNameOfDeclaration(t):t.name}}:e.Debug.assertNever(t,"Attempted to set a declaration diagnostic context for unhandled node kind: "+e.SyntaxKind[t.kind]);function r(r){var n=function(r){return 250===t.kind||199===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:164===t.kind||202===t.kind||163===t.kind||161===t.kind&&e.hasSyntacticModifier(t.parent,8)?e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:253===t.parent.kind||161===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}}e.canProduceDiagnostics=function(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isBindingElement(t)||e.isSetAccessor(t)||e.isGetAccessor(t)||e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isParameter(t)||e.isTypeParameterDeclaration(t)||e.isExpressionWithTypeArguments(t)||e.isImportEqualsDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isConstructorDeclaration(t)||e.isIndexSignatureDeclaration(t)||e.isPropertyAccessExpression(t)||e.isJSDocTypeAlias(t)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return e.isSetAccessor(r)||e.isGetAccessor(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:253===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:e.isMethodSignature(r)||e.isMethodDeclaration(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:253===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:t(r)},e.createGetSymbolAccessibilityDiagnosticForNode=t}(s||(s={})),function(e){function r(t,r){var n=r.text.substring(t.pos,t.end);return e.stringContains(n,"@internal")}function n(t,n){var i=e.getParseTreeNode(t);if(i&&161===i.kind){var a=i.parent.parameters.indexOf(i),o=a>0?i.parent.parameters[a-1]:void 0,s=n.text,c=o?e.concatenate(e.getTrailingCommentRanges(s,e.skipTrivia(s,o.end+1,!1,!0)),e.getLeadingCommentRanges(s,t.pos)):e.getTrailingCommentRanges(s,e.skipTrivia(s,t.pos,!1,!0));return c&&c.length&&r(e.last(c),n)}var u=i&&e.getLeadingCommentRangesOfNode(i,n);return!!e.forEach(u,(function(e){return r(e,n)}))}e.getDeclarationDiagnostics=function(t,r,n){var i=t.getCompilerOptions();return e.transformNodes(r,t,e.factory,i,n?[n]:e.filter(t.getSourceFiles(),e.isSourceFileNotJson),[a],!1).diagnostics},e.isInternalDeclaration=n;var i=531469;function a(r){var a,c,u,l,d,_,p,f,g,m,y,v,h=function(){return e.Debug.fail("Diagnostic emitted without context")},D=h,x=!0,b=!1,S=!1,E=!1,T=!1,C=r.factory,k=r.getEmitHost(),A={trackSymbol:function(e,t,r){if(262144&e.flags)return;O(F.isSymbolAccessible(e,t,r,!0)),I(F.getTypeReferenceDirectivesForSymbol(e,r))},reportInaccessibleThisError:function(){p&&r.addDiagnostic(e.createDiagnosticForNode(p,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(p),"this"))},reportInaccessibleUniqueSymbolError:function(){p&&r.addDiagnostic(e.createDiagnosticForNode(p,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(p),"unique symbol"))},reportCyclicStructureError:function(){p&&r.addDiagnostic(e.createDiagnosticForNode(p,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,e.declarationNameToString(p)))},reportPrivateInBaseOfClassExpression:function(t){(p||f)&&r.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,t))},reportLikelyUnsafeImportRequiredError:function(t){p&&r.addDiagnostic(e.createDiagnosticForNode(p,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,e.declarationNameToString(p),t))},reportTruncationError:function(){(p||f)&&r.addDiagnostic(e.createDiagnosticForNode(p||f,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:k,trackReferencedAmbientModule:function(t,r){var n=F.getTypeReferenceDirectivesForSymbol(r,67108863);if(e.length(n))return I(n);var i=e.getSourceFileOfNode(t);m.set(e.getOriginalNodeId(i),i)},trackExternalModuleSymbolOfImportTypeNode:function(e){b||(_||(_=[])).push(e)},reportNonlocalAugmentation:function(t,n,i){var a,o=null===(a=n.declarations)||void 0===a?void 0:a.find((function(r){return e.getSourceFileOfNode(r)===t})),s=e.filter(i.declarations,(function(r){return e.getSourceFileOfNode(r)!==t}));if(s)for(var c=0,u=s;c0?e.parameters[0].type:void 0}e.transformDeclarations=a}(s||(s={})),function(e){var r,n;function i(t,r,n){if(n)return e.emptyArray;var i=e.getEmitScriptTarget(t),a=e.getEmitModuleKind(t),o=[];return e.addRange(o,r&&e.map(r.before,s)),o.push(e.transformTypeScript),o.push(e.transformClassFields),e.getJSXTransformEnabled(t)&&o.push(e.transformJsx),i<99&&o.push(e.transformESNext),i<8&&o.push(e.transformES2021),i<7&&o.push(e.transformES2020),i<6&&o.push(e.transformES2019),i<5&&o.push(e.transformES2018),i<4&&o.push(e.transformES2017),i<3&&o.push(e.transformES2016),i<2&&(o.push(e.transformES2015),o.push(e.transformGenerators)),o.push(function(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}(a)),i<1&&o.push(e.transformES5),e.addRange(o,r&&e.map(r.after,s)),o}function a(t){var r=[];return r.push(e.transformDeclarations),e.addRange(r,t&&e.map(t.afterDeclarations,c)),r}function o(t,r){return function(n){var i=t(n);return"function"==typeof i?r(n,i):function(t){return function(r){return e.isBundle(r)?t.transformBundle(r):t.transformSourceFile(r)}}(i)}}function s(t){return o(t,e.chainBundle)}function c(e){return o(e,(function(e,t){return t}))}function u(e,t){return t}function l(e,t,r){r(e,t)}!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initialized=1]="Initialized",e[e.Completed=2]="Completed",e[e.Disposed=3]="Disposed"}(r||(r={})),function(e){e[e.Substitution=1]="Substitution",e[e.EmitNotifications=2]="EmitNotifications"}(n||(n={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(e,t,r){return{scriptTransformers:i(e,t,r),declarationTransformers:a(t)}},e.noEmitSubstitution=u,e.noEmitNotification=l,e.transformNodes=function(r,n,i,a,o,s,c){for(var d,_,p,f,g,m=new Array(345),y=0,v=[],h=[],D=[],x=[],b=0,S=!1,E=[],T=0,C=u,k=l,A=0,F=[],N={factory:i,getCompilerOptions:function(){return a},getEmitResolver:function(){return r},getEmitHost:function(){return n},getEmitHelperFactory:e.memoize((function(){return e.createEmitHelperFactory(N)})),startLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is suspended."),v[b]=d,h[b]=_,D[b]=p,x[b]=y,b++,d=void 0,_=void 0,p=void 0,y=0},suspendLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is already suspended."),S=!0},resumeLexicalEnvironment:function(){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(S,"Lexical environment is not suspended."),S=!1},endLexicalEnvironment:function(){var r;if(e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!S,"Lexical environment is suspended."),d||_||p){if(_&&(r=t([],_)),d){var n=i.createVariableStatement(void 0,i.createVariableDeclarationList(d));e.setEmitFlags(n,1048576),r?r.push(n):r=[n]}p&&(r=t(r?t([],r):[],p))}b--,d=v[b],_=h[b],p=D[b],y=x[b],0===b&&(v=[],h=[],D=[],x=[]);return r},setLexicalEnvironmentFlags:function(e,t){y=t?y|e:y&~e},getLexicalEnvironmentFlags:function(){return y},hoistVariableDeclaration:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed.");var r=e.setEmitFlags(i.createVariableDeclaration(t),64);d?d.push(r):d=[r];1&y&&(y|=2)},hoistFunctionDeclaration:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),_?_.push(t):_=[t]},addInitializationStatement:function(t){e.Debug.assert(A>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(A<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),p?p.push(t):p=[t]},startBlockScope:function(){e.Debug.assert(A>0,"Cannot start a block scope during initialization."),e.Debug.assert(A<2,"Cannot start a block scope after transformation has completed."),E[T]=f,T++,f=void 0},endBlockScope:function(){e.Debug.assert(A>0,"Cannot end a block scope during initialization."),e.Debug.assert(A<2,"Cannot end a block scope after transformation has completed.");var t=e.some(f)?[i.createVariableStatement(void 0,i.createVariableDeclarationList(f.map((function(e){return i.createVariableDeclaration(e)})),1))]:void 0;T--,f=E[T],0===T&&(E=[]);return t},addBlockScopedVariable:function(t){e.Debug.assert(T>0,"Cannot add a block scoped variable outside of an iteration body."),(f||(f=[])).push(t)},requestEmitHelper:function t(r){if(e.Debug.assert(A>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!r.scoped,"Cannot request a scoped emit helper."),r.dependencies)for(var n=0,i=r.dependencies;n0,"Cannot modify the transformation context during initialization."),e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed.");var t=g;return g=void 0,t},enableSubstitution:function(t){e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),m[t]|=1},enableEmitNotification:function(t){e.Debug.assert(A<2,"Cannot modify the transformation context after transformation has completed."),m[t]|=2},isSubstitutionEnabled:J,isEmitNotificationEnabled:K,get onSubstituteNode(){return C},set onSubstituteNode(t){e.Debug.assert(A<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),C=t},get onEmitNode(){return k},set onEmitNode(t){e.Debug.assert(A<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),k=t},addDiagnostic:function(e){F.push(e)}},P=0,w=o;P"],e[8192]=["[","]"],e}();function a(t,r,n,i,a,s){void 0===i&&(i=!1);var u=e.isArray(n)?n:e.getSourceFilesToEmit(t,n,i),l=t.getCompilerOptions();if(e.outFile(l)){var d=t.getPrependNodes();if(u.length||d.length){var _=e.factory.createBundle(u,d);if(g=r(c(_,t,i),_))return g}}else{if(!a)for(var p=0,f=u;p0){var i=t.preserveSourceNewlinesStack[t.stackIndex],a=t.containerPosStack[t.stackIndex],o=t.containerEndStack[t.stackIndex],s=t.declarationListContainerEndStack[t.stackIndex],c=t.shouldEmitCommentsStack[t.stackIndex],u=t.shouldEmitSourceMapsStack[t.stackIndex];Ae(i),u&&Wr(e),c&&Tr(e,a,o,s),null==N||N(e),t.stackIndex--}}),void 0);function t(t,r,n){var i="left"===n?ne.getParenthesizeLeftSideOfBinaryForOperator(r.operatorToken.kind):ne.getParenthesizeRightSideOfBinaryForOperator(r.operatorToken.kind),a=we(0,1,t);if(a===Re&&(e.Debug.assertIsDefined(x),a=Ie(1,1,t=i(e.cast(x,e.isExpression))),x=void 0),(a===Sr||a===Vr||a===Me)&&e.isBinaryExpression(t))return t;b=i,a(1,t)}}();return xe(),{printNode:function(t,r,n){switch(t){case 0:e.Debug.assert(e.isSourceFile(r),"Expected a SourceFile node.");break;case 2:e.Debug.assert(e.isIdentifier(r),"Expected an Identifier node.");break;case 1:e.Debug.assert(e.isExpression(r),"Expected an Expression node.")}switch(r.kind){case 298:return oe(r);case 299:return ae(r);case 300:return function(e,t){var r=p;De(t,void 0),ve(4,e,void 0),xe(),p=r}(r,me()),ye()}return se(t,r,n,me()),ye()},printList:function(e,t,r){return ce(e,t,r,me()),ye()},printFile:oe,printBundle:ae,writeNode:se,writeList:ce,writeFile:ge,writeBundle:fe,bundleFileInfo:K};function ae(e){return fe(e,me(),void 0),ye()}function oe(e){return ge(e,me(),void 0),ye()}function se(e,t,r,n){var i=p;De(n,void 0),ve(e,t,r),xe(),p=i}function ce(e,t,r,n){var i=p;De(n,void 0),r&&he(r),Nt(void 0,t,e),xe(),p=i}function ue(){return p.getTextPosWithWriteLine?p.getTextPosWithWriteLine():p.getTextPos()}function le(t,r,n){var i=e.lastOrUndefined(K.sections);i&&i.kind===n?i.end=r:K.sections.push({pos:t,end:r,kind:n})}function de(t){if(U&&K&&n&&(e.isDeclaration(t)||e.isVariableStatement(t))&&e.isInternalDeclaration(t,n)&&"internal"!==q){var r=q;return pe(p.getTextPos()),V=ue(),q="internal",r}}function _e(e){e&&(pe(p.getTextPos()),V=ue(),q=e)}function pe(e){return V"),Jt(),Se(e.type),dr(e)}(r);case 176:return function(e){lr(e),vt(e,e.modifiers),Lt("new"),Jt(),Ct(e,e.typeParameters),kt(e,e.parameters),Jt(),Ot("=>"),Jt(),Se(e.type),dr(e)}(r);case 177:return function(e){Lt("typeof"),Jt(),Se(e.exprName)}(r);case 178:return function(t){Ot("{");var r=1&e.getEmitFlags(t)?768:32897;Nt(t,t.members,524288|r),Ot("}")}(r);case 179:return function(e){Se(e.elementType,ne.parenthesizeElementTypeOfArrayType),Ot("["),Ot("]")}(r);case 180:return function(t){Ge(22,t.pos,Ot,t);var r=1&e.getEmitFlags(t)?528:657;Nt(t,t.elements,524288|r),Ge(23,t.elements.end,Ot,t)}(r);case 181:return function(e){Se(e.type,ne.parenthesizeElementTypeOfArrayType),Ot("?")}(r);case 183:return function(e){Nt(e,e.types,516,ne.parenthesizeMemberOfElementType)}(r);case 184:return function(e){Nt(e,e.types,520,ne.parenthesizeMemberOfElementType)}(r);case 185:return function(e){Se(e.checkType,ne.parenthesizeMemberOfConditionalType),Jt(),Lt("extends"),Jt(),Se(e.extendsType,ne.parenthesizeMemberOfConditionalType),Jt(),Ot("?"),Jt(),Se(e.trueType),Jt(),Ot(":"),Jt(),Se(e.falseType)}(r);case 186:return function(e){Lt("infer"),Jt(),Se(e.typeParameter)}(r);case 187:return function(e){Ot("("),Se(e.type),Ot(")")}(r);case 224:return function(e){Te(e.expression,ne.parenthesizeLeftSideOfAccess),Tt(e,e.typeArguments)}(r);case 188:return void Lt("this");case 189:return function(e){Ht(e.operator,Lt),Jt(),Se(e.type,ne.parenthesizeMemberOfElementType)}(r);case 190:return function(e){Se(e.objectType,ne.parenthesizeMemberOfElementType),Ot("["),Se(e.indexType),Ot("]")}(r);case 191:return function(t){var r=e.getEmitFlags(t);Ot("{"),1&r?Jt():(zt(),Ut());t.readonlyToken&&(Se(t.readonlyToken),142!==t.readonlyToken.kind&&Lt("readonly"),Jt());Ot("["),Fe(3,t.typeParameter),t.nameType&&(Jt(),Lt("as"),Jt(),Se(t.nameType));Ot("]"),t.questionToken&&(Se(t.questionToken),57!==t.questionToken.kind&&Ot("?"));Ot(":"),Jt(),Se(t.type),Mt(),1&r?Jt():(zt(),Vt());Ot("}")}(r);case 192:return function(e){Te(e.literal)}(r);case 193:return function(e){Se(e.dotDotDotToken),Se(e.name),Se(e.questionToken),Ge(58,e.name.end,Ot,e),Jt(),Se(e.type)}(r);case 194:return function(e){Se(e.head),Nt(e,e.templateSpans,262144)}(r);case 195:return function(e){Se(e.type),Se(e.literal)}(r);case 196:return function(e){e.isTypeOf&&(Lt("typeof"),Jt());Lt("import"),Ot("("),Se(e.argument),Ot(")"),e.qualifier&&(Ot("."),Se(e.qualifier));Tt(e,e.typeArguments)}(r);case 197:return function(e){Ot("{"),Nt(e,e.elements,525136),Ot("}")}(r);case 198:return function(e){Ot("["),Nt(e,e.elements,524880),Ot("]")}(r);case 199:return function(e){Se(e.dotDotDotToken),e.propertyName&&(Se(e.propertyName),Ot(":"),Jt());Se(e.name),Dt(e.initializer,e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 229:return function(e){Te(e.expression),Se(e.literal)}(r);case 230:return void Mt();case 231:return function(e){Ve(e,!e.multiLine&&or(e))}(r);case 233:return function(e){vt(e,e.modifiers),Se(e.declarationList),Mt()}(r);case 232:return qe(!1);case 234:return function(t){Te(t.expression,ne.parenthesizeExpressionOfExpressionStatement),(!e.isJsonSourceFile(n)||e.nodeIsSynthesized(t.expression))&&Mt()}(r);case 235:return function(e){var t=Ge(98,e.pos,Lt,e);Jt(),Ge(20,t,Ot,e),Te(e.expression),Ge(21,e.expression.end,Ot,e),St(e,e.thenStatement),e.elseStatement&&(Gt(e,e.thenStatement,e.elseStatement),Ge(90,e.thenStatement.end,Lt,e),235===e.elseStatement.kind?(Jt(),Se(e.elseStatement)):St(e,e.elseStatement))}(r);case 236:return function(t){Ge(89,t.pos,Lt,t),St(t,t.statement),e.isBlock(t.statement)&&!j?Jt():Gt(t,t.statement,t.expression);We(t,t.statement.end),Mt()}(r);case 237:return function(e){We(e,e.pos),St(e,e.statement)}(r);case 238:return function(e){var t=Ge(96,e.pos,Lt,e);Jt();var r=Ge(20,t,Ot,e);He(e.initializer),r=Ge(26,e.initializer?e.initializer.end:r,Ot,e),bt(e.condition),r=Ge(26,e.condition?e.condition.end:r,Ot,e),bt(e.incrementor),Ge(21,e.incrementor?e.incrementor.end:r,Ot,e),St(e,e.statement)}(r);case 239:return function(e){var t=Ge(96,e.pos,Lt,e);Jt(),Ge(20,t,Ot,e),He(e.initializer),Jt(),Ge(100,e.initializer.end,Lt,e),Jt(),Te(e.expression),Ge(21,e.expression.end,Ot,e),St(e,e.statement)}(r);case 240:return function(e){var t=Ge(96,e.pos,Lt,e);Jt(),function(e){e&&(Se(e),Jt())}(e.awaitModifier),Ge(20,t,Ot,e),He(e.initializer),Jt(),Ge(157,e.initializer.end,Lt,e),Jt(),Te(e.expression),Ge(21,e.expression.end,Ot,e),St(e,e.statement)}(r);case 241:return function(e){Ge(85,e.pos,Lt,e),xt(e.label),Mt()}(r);case 242:return function(e){Ge(80,e.pos,Lt,e),xt(e.label),Mt()}(r);case 243:return function(e){Ge(104,e.pos,Lt,e),bt(e.expression),Mt()}(r);case 244:return function(e){var t=Ge(115,e.pos,Lt,e);Jt(),Ge(20,t,Ot,e),Te(e.expression),Ge(21,e.expression.end,Ot,e),St(e,e.statement)}(r);case 245:return function(e){var t=Ge(106,e.pos,Lt,e);Jt(),Ge(20,t,Ot,e),Te(e.expression),Ge(21,e.expression.end,Ot,e),Jt(),Se(e.caseBlock)}(r);case 246:return function(e){Se(e.label),Ge(58,e.label.end,Ot,e),Jt(),Se(e.statement)}(r);case 247:return function(e){Ge(108,e.pos,Lt,e),bt(e.expression),Mt()}(r);case 248:return function(e){Ge(110,e.pos,Lt,e),Jt(),Se(e.tryBlock),e.catchClause&&(Gt(e,e.tryBlock,e.catchClause),Se(e.catchClause));e.finallyBlock&&(Gt(e,e.catchClause||e.tryBlock,e.finallyBlock),Ge(95,(e.catchClause||e.tryBlock).end,Lt,e),Jt(),Se(e.finallyBlock))}(r);case 249:return function(e){qt(86,e.pos,Lt),Mt()}(r);case 250:return function(e){Se(e.name),Se(e.exclamationToken),ht(e.type),Dt(e.initializer,e.type?e.type.end:e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 251:return function(t){Lt(e.isLet(t)?"let":e.isVarConst(t)?"const":"var"),Jt(),Nt(t,t.declarations,528)}(r);case 252:return function(e){Ye(e)}(r);case 253:return function(e){et(e)}(r);case 254:return function(e){Et(e,e.decorators),vt(e,e.modifiers),Lt("interface"),Jt(),Se(e.name),Ct(e,e.typeParameters),Nt(e,e.heritageClauses,512),Jt(),Ot("{"),Nt(e,e.members,129),Ot("}")}(r);case 255:return function(e){Et(e,e.decorators),vt(e,e.modifiers),Lt("type"),Jt(),Se(e.name),Ct(e,e.typeParameters),Jt(),Ot("="),Jt(),Se(e.type),Mt()}(r);case 256:return function(e){vt(e,e.modifiers),Lt("enum"),Jt(),Se(e.name),Jt(),Ot("{"),Nt(e,e.members,145),Ot("}")}(r);case 257:return function(t){vt(t,t.modifiers),1024&~t.flags&&(Lt(16&t.flags?"namespace":"module"),Jt());Se(t.name);var r=t.body;if(!r)return Mt();for(;r&&e.isModuleDeclaration(r);)Ot("."),Se(r.name),r=r.body;Jt(),Se(r)}(r);case 258:return function(t){lr(t),e.forEach(t.statements,pr),Ve(t,or(t)),dr(t)}(r);case 259:return function(e){Ge(18,e.pos,Ot,e),Nt(e,e.clauses,129),Ge(19,e.clauses.end,Ot,e,!0)}(r);case 260:return function(e){var t=Ge(92,e.pos,Lt,e);Jt(),t=Ge(126,t,Lt,e),Jt(),t=Ge(140,t,Lt,e),Jt(),Se(e.name),Mt()}(r);case 261:return function(e){vt(e,e.modifiers),Ge(99,e.modifiers?e.modifiers.end:e.pos,Lt,e),Jt(),e.isTypeOnly&&(Ge(149,e.pos,Lt,e),Jt());Se(e.name),Jt(),Ge(62,e.name.end,Ot,e),Jt(),function(e){78===e.kind?Te(e):Se(e)}(e.moduleReference),Mt()}(r);case 262:return function(e){vt(e,e.modifiers),Ge(99,e.modifiers?e.modifiers.end:e.pos,Lt,e),Jt(),e.importClause&&(Se(e.importClause),Jt(),Ge(153,e.importClause.end,Lt,e),Jt());Te(e.moduleSpecifier),Mt()}(r);case 263:return function(e){e.isTypeOnly&&(Ge(149,e.pos,Lt,e),Jt());Se(e.name),e.name&&e.namedBindings&&(Ge(27,e.name.end,Ot,e),Jt());Se(e.namedBindings)}(r);case 264:return function(e){var t=Ge(41,e.pos,Ot,e);Jt(),Ge(126,t,Lt,e),Jt(),Se(e.name)}(r);case 270:return function(e){var t=Ge(41,e.pos,Ot,e);Jt(),Ge(126,t,Lt,e),Jt(),Se(e.name)}(r);case 265:return function(e){tt(e)}(r);case 266:return function(e){rt(e)}(r);case 267:return function(e){var t=Ge(92,e.pos,Lt,e);Jt(),e.isExportEquals?Ge(62,t,Rt,e):Ge(87,t,Lt,e);Jt(),Te(e.expression,e.isExportEquals?ne.getParenthesizeRightSideOfBinaryForOperator(62):ne.parenthesizeExpressionOfExportDefault),Mt()}(r);case 268:return function(e){var t=Ge(92,e.pos,Lt,e);Jt(),e.isTypeOnly&&(t=Ge(149,t,Lt,e),Jt());e.exportClause?Se(e.exportClause):t=Ge(41,t,Ot,e);if(e.moduleSpecifier){Jt(),Ge(153,e.exportClause?e.exportClause.end:t,Lt,e),Jt(),Te(e.moduleSpecifier)}Mt()}(r);case 269:return function(e){tt(e)}(r);case 271:return function(e){rt(e)}(r);case 272:return;case 273:return function(e){Lt("require"),Ot("("),Te(e.expression),Ot(")")}(r);case 11:return function(e){p.writeLiteral(e.text)}(r);case 276:case 279:return function(t){if(Ot("<"),e.isJsxOpeningElement(t)){var r=rr(t.tagName,t);nt(t.tagName),Tt(t,t.typeArguments),t.attributes.properties&&t.attributes.properties.length>0&&Jt(),Se(t.attributes),nr(t.attributes,t),$t(r)}Ot(">")}(r);case 277:case 280:return function(t){Ot("")}(r);case 281:return function(e){Se(e.name),function(e,t,r,n){r&&(t(e),n(r))}("=",Ot,e.initializer,Ce)}(r);case 282:return function(e){Nt(e,e.properties,262656)}(r);case 283:return function(e){Ot("{..."),Te(e.expression),Ot("}")}(r);case 284:return function(t){var r;if(t.expression||!Z&&!e.nodeIsSynthesized(t)&&(o=t.pos,function(t){var r=!1;return e.forEachTrailingCommentRange((null==n?void 0:n.text)||"",t+1,(function(){return r=!0})),r}(o)||function(t){var r=!1;return e.forEachLeadingCommentRange((null==n?void 0:n.text)||"",t+1,(function(){return r=!0})),r}(o))){var i=n&&!e.nodeIsSynthesized(t)&&e.getLineAndCharacterOfPosition(n,t.pos).line!==e.getLineAndCharacterOfPosition(n,t.end).line;i&&p.increaseIndent();var a=Ge(18,t.pos,Ot,t);Se(t.dotDotDotToken),Te(t.expression),Ge(19,(null===(r=t.expression)||void 0===r?void 0:r.end)||a,Ot,t),i&&p.decreaseIndent()}var o}(r);case 285:return function(e){Ge(81,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeExpressionForDisallowedComma),it(e,e.statements,e.expression.end)}(r);case 286:return function(e){var t=Ge(87,e.pos,Lt,e);it(e,e.statements,t)}(r);case 287:return function(e){Jt(),Ht(e.token,Lt),Jt(),Nt(e,e.types,528)}(r);case 288:return function(e){var t=Ge(82,e.pos,Lt,e);Jt(),e.variableDeclaration&&(Ge(20,t,Ot,e),Se(e.variableDeclaration),Ge(21,e.variableDeclaration.end,Ot,e),Jt());Se(e.block)}(r);case 289:return function(t){Se(t.name),Ot(":"),Jt();var r=t.initializer;if(0==(512&e.getEmitFlags(r))){Rr(e.getCommentRange(r).pos)}Te(r,ne.parenthesizeExpressionForDisallowedComma)}(r);case 290:return function(e){Se(e.name),e.objectAssignmentInitializer&&(Jt(),Ot("="),Jt(),Te(e.objectAssignmentInitializer,ne.parenthesizeExpressionForDisallowedComma))}(r);case 291:return function(e){e.expression&&(Ge(25,e.pos,Ot,e),Te(e.expression,ne.parenthesizeExpressionForDisallowedComma))}(r);case 292:return function(e){Se(e.name),Dt(e.initializer,e.name.end,e,ne.parenthesizeExpressionForDisallowedComma)}(r);case 293:return Ke(r);case 300:case 294:return function(e){for(var t=0,r=e.texts;t=1&&!e.isJsonSourceFile(n)?64:0;Nt(t,t.properties,526226|a|i),r&&Vt()}(r);case 202:return function(t){Te(t.expression,ne.parenthesizeLeftSideOfAccess);var r=t.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),t.expression.end,t.name.pos),n=ar(t,t.expression,r),i=ar(t,r,t.name);Xt(n,!1),28===r.kind||!function(t){if(t=e.skipPartiallyEmittedExpressions(t),e.isNumericLiteral(t)){var r=ur(t,!0,!1);return!t.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(24))}if(e.isAccessExpression(t)){var n=e.getConstantValue(t);return"number"==typeof n&&isFinite(n)&&Math.floor(n)===n}}(t.expression)||p.hasTrailingComment()||p.hasTrailingWhitespace()||Ot(".");t.questionDotToken?Se(r):Ge(r.kind,t.expression.end,Ot,t);Xt(i,!1),Se(t.name),$t(n,i)}(r);case 203:return function(e){Te(e.expression,ne.parenthesizeLeftSideOfAccess),Se(e.questionDotToken),Ge(22,e.expression.end,Ot,e),Te(e.argumentExpression),Ge(23,e.argumentExpression.end,Ot,e)}(r);case 204:return function(e){Te(e.expression,ne.parenthesizeLeftSideOfAccess),Se(e.questionDotToken),Tt(e,e.typeArguments),Pt(e,e.arguments,2576,ne.parenthesizeExpressionForDisallowedComma)}(r);case 205:return function(e){Ge(102,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeExpressionOfNew),Tt(e,e.typeArguments),Pt(e,e.arguments,18960,ne.parenthesizeExpressionForDisallowedComma)}(r);case 206:return function(e){Te(e.tag,ne.parenthesizeLeftSideOfAccess),Tt(e,e.typeArguments),Jt(),Te(e.template)}(r);case 207:return function(e){Ot("<"),Se(e.type),Ot(">"),Te(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 208:return function(e){var t=Ge(20,e.pos,Ot,e),r=rr(e.expression,e);Te(e.expression,void 0),nr(e.expression,e),$t(r),Ge(21,e.expression?e.expression.end:t,Ot,e)}(r);case 209:return function(e){gr(e.name),Ye(e)}(r);case 210:return function(e){Et(e,e.decorators),vt(e,e.modifiers),Xe(e,Ue)}(r);case 211:return function(e){Ge(88,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 212:return function(e){Ge(111,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 213:return function(e){Ge(113,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 214:return function(e){Ge(130,e.pos,Lt,e),Jt(),Te(e.expression,ne.parenthesizeOperandOfPrefixUnary)}(r);case 215:return function(e){Ht(e.operator,Rt),function(e){var t=e.operand;return 215===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&Jt();Te(e.operand,ne.parenthesizeOperandOfPrefixUnary)}(r);case 216:return function(e){Te(e.operand,ne.parenthesizeOperandOfPostfixUnary),Ht(e.operator,Rt)}(r);case 217:return ie(r);case 218:return function(e){var t=ar(e,e.condition,e.questionToken),r=ar(e,e.questionToken,e.whenTrue),n=ar(e,e.whenTrue,e.colonToken),i=ar(e,e.colonToken,e.whenFalse);Te(e.condition,ne.parenthesizeConditionOfConditionalExpression),Xt(t,!0),Se(e.questionToken),Xt(r,!0),Te(e.whenTrue,ne.parenthesizeBranchOfConditionalExpression),$t(t,r),Xt(n,!0),Se(e.colonToken),Xt(i,!0),Te(e.whenFalse,ne.parenthesizeBranchOfConditionalExpression),$t(n,i)}(r);case 219:return function(e){Se(e.head),Nt(e,e.templateSpans,262144)}(r);case 220:return function(e){Ge(124,e.pos,Lt,e),Se(e.asteriskToken),bt(e.expression,ne.parenthesizeExpressionForDisallowedComma)}(r);case 221:return function(e){Ge(25,e.pos,Ot,e),Te(e.expression,ne.parenthesizeExpressionForDisallowedComma)}(r);case 222:return function(e){gr(e.name),et(e)}(r);case 223:return;case 225:return function(e){Te(e.expression,void 0),e.type&&(Jt(),Lt("as"),Jt(),Se(e.type))}(r);case 226:return function(e){Te(e.expression,ne.parenthesizeLeftSideOfAccess),Rt("!")}(r);case 227:return function(e){qt(e.keywordToken,e.pos,Ot),Ot("."),Se(e.name)}(r);case 228:return e.Debug.fail("SyntheticExpression should never be printed.");case 274:return function(e){Se(e.openingElement),Nt(e,e.children,262144),Se(e.closingElement)}(r);case 275:return function(e){Ot("<"),nt(e.tagName),Tt(e,e.typeArguments),Jt(),Se(e.attributes),Ot("/>")}(r);case 278:return function(e){Se(e.openingFragment),Nt(e,e.children,262144),Se(e.closingFragment)}(r);case 338:return e.Debug.fail("SyntaxList should not be printed");case 339:return;case 340:return function(e){Te(e.expression)}(r);case 341:return function(e){Pt(e,e.elements,528,void 0)}(r);case 342:case 343:return;case 344:return e.Debug.fail("SyntheticReferenceExpression should not be printed")}return e.isKeyword(r.kind)?Wt(r,Lt):e.isTokenKind(r.kind)?Wt(r,Ot):void e.Debug.fail("Unhandled SyntaxKind: "+e.Debug.formatSyntaxKind(r.kind)+".")}function Re(t,r){var n=Ie(1,t,r);e.Debug.assertIsDefined(x),r=x,x=void 0,n(t,r)}function Be(r){var i=!1,a=299===r.kind?r:void 0;if(!a||R!==e.ModuleKind.None){for(var o=a?a.prepends.length:0,s=a?a.sourceFiles.length+o:1,c=0;c0)return!1;r=o}return!0}(t)?Qe:Ze;Fr?Fr(t,t.statements,r):r(t);Vt(),qt(19,t.statements.end,Ot,t),null==N||N(t)}(i),dr(t),a&&Vt()}else r(t),Jt(),Te(i,ne.parenthesizeConciseBodyOfArrowFunction);else r(t),Mt()}function $e(e){Ct(e,e.typeParameters),kt(e,e.parameters),ht(e.type)}function Qe(e){Ze(e,!0)}function Ze(e,t){var r=pt(e.statements),n=p.getTextPos();Be(e),0===r&&n===p.getTextPos()&&t?(Vt(),Nt(e,e.statements,768),Ut()):Nt(e,e.statements,1,void 0,r)}function et(t){e.forEach(t.members,fr),Et(t,t.decorators),vt(t,t.modifiers),Lt("class"),t.name&&(Jt(),Ee(t.name));var r=65536&e.getEmitFlags(t);r&&Ut(),Ct(t,t.typeParameters),Nt(t,t.heritageClauses,0),Jt(),Ot("{"),Nt(t,t.members,129),Ot("}"),r&&Vt()}function tt(e){Ot("{"),Nt(e,e.elements,525136),Ot("}")}function rt(e){e.propertyName&&(Se(e.propertyName),Jt(),Ge(126,e.propertyName.end,Lt,e),Jt()),Se(e.name)}function nt(e){78===e.kind?Te(e):Se(e)}function it(t,r,i){var a=163969;1===r.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],n))?(qt(58,i,Ot,t),Jt(),a&=-130):Ge(58,i,Ot,t),Nt(t,r,a)}function at(t){Nt(t,e.factory.createNodeArray(t.jsDocPropertyTags),33)}function ot(t){t.typeParameters&&Nt(t,e.factory.createNodeArray(t.typeParameters),33),t.parameters&&Nt(t,e.factory.createNodeArray(t.parameters),33),t.type&&(zt(),Jt(),Ot("*"),Jt(),Se(t.type))}function st(e){Ot("@"),Se(e)}function ct(t){var r=e.getTextOfJSDocComment(t);r&&(Jt(),J(r))}function ut(e){e&&(Jt(),Ot("{"),Se(e.type),Ot("}"))}function lt(t){zt();var r=t.statements;if(Fr&&(0===r.length||!e.isPrologueDirective(r[0])||e.nodeIsSynthesized(r[0])))return void Fr(t,r,_t);_t(t)}function dt(e,t,r,i){if(e){var a=p.getTextPos();jt('/// '),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"no-default-lib"}),zt()}if(n&&n.moduleName&&(jt('/// '),zt()),n&&n.amdDependencies)for(var o=0,s=n.amdDependencies;o'):jt('/// '),zt()}for(var u=0,l=t;u'),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"reference",data:d.fileName}),zt()}for(var _=0,f=r;_'),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"type",data:d.fileName}),zt()}for(var g=0,m=i;g'),K&&K.sections.push({pos:a,end:p.getTextPos(),kind:"lib",data:d.fileName}),zt()}}function _t(t){var r=t.statements;lr(t),e.forEach(t.statements,pr),Be(t);var n=e.findIndex(r,(function(t){return!e.isPrologueDirective(t)}));!function(e){e.isDeclarationFile&&dt(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(t),Nt(t,r,1,void 0,-1===n?r.length:n),dr(t)}function pt(t,r,n,i){for(var a=!!r,o=0;o=a.length||0===u;if(l&&32768&o)return P&&P(a),void(w&&w(a));if(15360&o&&(Ot(function(e){return i[15360&e][0]}(o)),l&&a&&Rr(a.pos,!0)),P&&P(a),l)1&o&&(!j||r&&!e.rangeIsOnSingleLine(r,n))?zt():256&o&&!(524288&o)&&Jt();else{e.Debug.type(a);var d=0==(262144&o),p=d,f=Qt(r,a,o);f?(zt(f),p=!1):256&o&&Jt(),128&o&&Ut();for(var g=void 0,m=void 0,y=!1,v=0;v0?(0==(131&o)&&(Ut(),y=!0),zt(D),p=!1):g&&512&o&&Jt()}if(m=de(h),p){if(Rr)Rr(e.getCommentRange(h).pos)}else p=d;_=h.pos,1===t.length?t(h):t(h,s),y&&(Vt(),y=!1),g=h}var x=g?e.getEmitFlags(g):0,b=Z||!!(1024&x),S=(null==a?void 0:a.hasTrailingComma)&&64&o&&16&o;S&&(g&&!b?Ge(27,g.end,Ot,g):Ot(",")),g&&(r?r.end:-1)!==g.end&&60&o&&!b&&Mr(S&&(null==a?void 0:a.end)?a.end:g.end),128&o&&Vt(),_e(m);var E=er(r,a,o);E?zt(E):2097408&o&&Jt()}w&&w(a),15360&o&&(l&&a&&Mr(a.end),Ot(function(e){return i[15360&e][1]}(o)))}}function It(e,t){p.writeSymbol(e,t)}function Ot(e){p.writePunctuation(e)}function Mt(){p.writeTrailingSemicolon(";")}function Lt(e){p.writeKeyword(e)}function Rt(e){p.writeOperator(e)}function Bt(e){p.writeParameter(e)}function jt(e){p.writeComment(e)}function Jt(){p.writeSpace(" ")}function Kt(e){p.writeProperty(e)}function zt(e){void 0===e&&(e=1);for(var t=0;t0)}function Ut(){p.increaseIndent()}function Vt(){p.decreaseIndent()}function qt(t,r,n,i){return W?Ht(t,n,r):function(t,r,n,i,a){if(W||t&&e.isInJsonFile(t))return a(r,n,i);var o=t&&t.emitNode,s=o&&o.flags||0,c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r],u=c&&c.source||y;i=Hr(u,c?c.pos:i),0==(128&s)&&i>=0&&Yr(u,i);i=a(r,n,i),c&&(i=c.end);0==(256&s)&&i>=0&&Yr(u,i);return i}(i,t,n,r,Ht)}function Wt(t,r){I&&I(t),r(e.tokenToString(t.kind)),O&&O(t)}function Ht(t,r,n){var i=e.tokenToString(t);return r(i),n<0?n:n+i.length}function Gt(t,r,n){if(1&e.getEmitFlags(t))Jt();else if(j){var i=ar(t,r,n);i?zt(i):Jt()}else zt()}function Yt(t){for(var r=t.split(/\r\n?|\n/g),n=e.guessIndentation(r),i=0,a=r;i-1&&i.indexOf(r)===a+1}(t,r)?tr((function(i){return e.getLinesBetweenRangeEndAndRangeStart(t,r,n,i)})):!j&&(a=t,o=r,(a=e.getOriginalNode(a)).parent&&a.parent===e.getOriginalNode(o).parent)?e.rangeEndIsOnSameLineAsRangeStart(t,r,n)?0:1:65536&i?1:0;if(ir(t,i)||ir(r,i))return 1}else if(e.getStartsOnNewLine(r))return 1;var a,o;return 1&i?1:0}function er(t,r,i){if(2&i||j){if(65536&i)return 1;var a=e.lastOrUndefined(r);if(void 0===a)return!t||e.rangeIsOnSingleLine(t,n)?0:1;if(t&&!e.positionIsSynthesized(t.pos)&&!e.nodeIsSynthesized(a)&&(!a.parent||a.parent===t)){if(j){var o=e.isNodeArray(r)&&!e.positionIsSynthesized(r.end)?r.end:a.end;return tr((function(r){return e.getLinesBetweenPositionAndNextNonWhitespaceCharacter(o,t.end,n,r)}))}return e.rangeEndPositionsAreOnSameLine(t,a,n)?0:1}if(ir(a,i))return 1}return 1&i&&!(131072&i)?1:0}function tr(t){e.Debug.assert(!!j);var r=t(!0);return 0===r?t(!1):r}function rr(e,t){var r=j&&Qt(t,[e],0);return r&&Xt(r,!1),!!r}function nr(e,t){var r=j&&er(t,[e],0);r&&zt(r)}function ir(t,r){if(e.nodeIsSynthesized(t)){var n=e.getStartsOnNewLine(t);return void 0===n?0!=(65536&r):n}return 0!=(65536&r)}function ar(t,r,i){return 131072&e.getEmitFlags(t)?0:(t=sr(t),r=sr(r),i=sr(i),e.getStartsOnNewLine(i)?1:e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r)||e.nodeIsSynthesized(i)?0:j?tr((function(t){return e.getLinesBetweenRangeEndAndRangeStart(r,i,n,t)})):e.rangeEndIsOnSameLineAsRangeStart(r,i,n)?0:1)}function or(t){return 0===t.statements.length&&e.rangeEndIsOnSameLineAsRangeStart(t,t,n)}function sr(t){for(;208===t.kind&&e.nodeIsSynthesized(t);)t=t.expression;return t}function cr(t,r){return e.isGeneratedIdentifier(t)?mr(t):(e.isIdentifier(t)||e.isPrivateIdentifier(t))&&(e.nodeIsSynthesized(t)||!t.parent||!n||t.parent&&n&&e.getSourceFileOfNode(t)!==e.getOriginalNode(n))?e.idText(t):10===t.kind&&t.textSourceNode?cr(t.textSourceNode,r):!e.isLiteralExpression(t)||!e.nodeIsSynthesized(t)&&t.parent?e.getSourceTextOfNodeFromSourceFile(n,t,r):t.text}function ur(r,i,a){if(10===r.kind&&r.textSourceNode){var o=r.textSourceNode;if(e.isIdentifier(o)||e.isNumericLiteral(o)){var s=e.isNumericLiteral(o)?o.text:cr(o);return a?'"'+e.escapeJsxAttributeString(s)+'"':i||16777216&e.getEmitFlags(r)?'"'+e.escapeString(s)+'"':'"'+e.escapeNonAsciiString(s)+'"'}return ur(o,i,a)}var c=(i?1:0)|(a?2:0)|(t.terminateUnterminatedLiterals?4:0)|(t.target&&99===t.target?8:0);return e.getLiteralText(r,n,c)}function lr(t){t&&524288&e.getEmitFlags(t)||(c.push(u),u=0,l.push(d))}function dr(t){t&&524288&e.getEmitFlags(t)||(u=c.pop(),d=l.pop())}function _r(t){d&&d!==e.lastOrUndefined(l)||(d=new e.Set),d.add(t)}function pr(t){if(t)switch(t.kind){case 231:e.forEach(t.statements,pr);break;case 246:case 244:case 236:case 237:pr(t.statement);break;case 235:pr(t.thenStatement),pr(t.elseStatement);break;case 238:case 240:case 239:pr(t.initializer),pr(t.statement);break;case 245:pr(t.caseBlock);break;case 259:e.forEach(t.clauses,pr);break;case 285:case 286:e.forEach(t.statements,pr);break;case 248:pr(t.tryBlock),pr(t.catchClause),pr(t.finallyBlock);break;case 288:pr(t.variableDeclaration),pr(t.block);break;case 233:pr(t.declarationList);break;case 251:e.forEach(t.declarations,pr);break;case 250:case 161:case 199:case 253:gr(t.name);break;case 252:gr(t.name),524288&e.getEmitFlags(t)&&(e.forEach(t.parameters,pr),pr(t.body));break;case 197:case 198:e.forEach(t.elements,pr);break;case 262:pr(t.importClause);break;case 263:gr(t.name),pr(t.namedBindings);break;case 264:case 270:gr(t.name);break;case 265:e.forEach(t.elements,pr);break;case 266:gr(t.propertyName||t.name)}}function fr(e){if(e)switch(e.kind){case 289:case 290:case 164:case 166:case 168:case 169:gr(e.name)}}function gr(t){t&&(e.isGeneratedIdentifier(t)?mr(t):e.isBindingPattern(t)&&pr(t))}function mr(t){if(4==(7&t.autoGenerateFlags))return yr(function(t){var r=t.autoGenerateId,n=t,i=n.original;for(;i&&(n=i,!(e.isIdentifier(n)&&4&n.autoGenerateFlags&&n.autoGenerateId!==r));)i=n.original;return n}(t),t.autoGenerateFlags);var r=t.autoGenerateId;return o[r]||(o[r]=function(t){switch(7&t.autoGenerateFlags){case 1:return Dr(0,!!(8&t.autoGenerateFlags));case 2:return Dr(268435456,!!(8&t.autoGenerateFlags));case 3:return xr(e.idText(t),32&t.autoGenerateFlags?hr:vr,!!(16&t.autoGenerateFlags),!!(8&t.autoGenerateFlags))}return e.Debug.fail("Unsupported GeneratedIdentifierKind.")}(t))}function yr(t,r){var n=e.getNodeId(t);return a[n]||(a[n]=function(t,r){switch(t.kind){case 78:return xr(cr(t),vr,!!(16&r),!!(8&r));case 257:case 256:return function(t){var r=cr(t.name);return function(t,r){for(var n=r;e.isNodeDescendantOf(n,r);n=n.nextContainer)if(n.locals){var i=n.locals.get(e.escapeLeadingUnderscores(t));if(i&&3257279&i.flags)return!1}return!0}(r,t)?r:xr(r)}(t);case 262:case 268:return function(t){var r=e.getExternalModuleName(t);return xr(e.isStringLiteral(r)?e.makeIdentifierFromModuleName(r.text):"module")}(t);case 252:case 253:case 267:return xr("default");case 222:return xr("class");case 166:case 168:case 169:return function(t){if(e.isIdentifier(t.name))return yr(t.name);return Dr(0)}(t);case 159:return Dr(0,!0);default:return Dr(0)}}(t,r))}function vr(e){return hr(e)&&!s.has(e)&&!(d&&d.has(e))}function hr(t){return!n||e.isFileLevelUniqueName(n,t,S)}function Dr(e,t){if(e&&!(u&e)&&vr(r=268435456===e?"_i":"_n"))return u|=e,t&&_r(r),r;for(;;){var r,n=268435455&u;if(u++,8!==n&&13!==n)if(vr(r=n<26?"_"+String.fromCharCode(97+n):"_"+(n-26)))return t&&_r(r),r}}function xr(e,t,r,n){if(void 0===t&&(t=vr),r&&t(e))return n?_r(e):s.add(e),e;95!==e.charCodeAt(e.length-1)&&(e+="_");for(var i=1;;){var a=e+i;if(t(a))return n?_r(a):s.add(a),a;i++}}function br(e){return xr(e,hr,!0)}function Sr(e,t){var r=Ie(2,e,t),n=Y,i=X,a=$;Er(t),r(e,t),Tr(t,n,i,a)}function Er(t){var r=e.getEmitFlags(t),n=e.getCommentRange(t);!function(t,r,n,i){te(),Q=!1;var a=n<0||0!=(512&r)||11===t.kind,o=i<0||0!=(1024&r)||11===t.kind;(n>0||i>0)&&n!==i&&(a||Nr(n,339!==t.kind),(!a||n>=0&&0!=(512&r))&&(Y=n),(!o||i>=0&&0!=(1024&r))&&(X=i,251===t.kind&&($=i)));e.forEach(e.getSyntheticLeadingComments(t),Cr),re()}(t,r,n.pos,n.end),2048&r&&(Z=!0)}function Tr(t,r,n,i){var a=e.getEmitFlags(t),o=e.getCommentRange(t);2048&a&&(Z=!1),function(t,r,n,i,a,o,s){te();var c=i<0||0!=(1024&r)||11===t.kind;e.forEach(e.getSyntheticTrailingComments(t),kr),(n>0||i>0)&&n!==i&&(Y=a,X=o,$=s,c||339===t.kind||function(e){Kr(e,Lr)}(i));re()}(t,a,o.pos,o.end,r,n,i)}function Cr(e){(e.hasLeadingNewline||2===e.kind)&&p.writeLine(),Ar(e),e.hasTrailingNewLine||2===e.kind?p.writeLine():p.writeSpace(" ")}function kr(e){p.isAtStartOfLine()||p.writeSpace(" "),Ar(e),e.hasTrailingNewLine&&p.writeLine()}function Ar(t){var r=function(e){return 3===e.kind?"/*"+e.text+"*/":"//"+e.text}(t),n=3===t.kind?e.computeLineStarts(r):void 0;e.writeCommentRange(r,n,p,0,r.length,L)}function Fr(t,r,i){te();var a=r.pos,o=r.end,s=e.getEmitFlags(t),c=Z||o<0||0!=(1024&s);a<0||0!=(512&s)||function(t){var r=e.emitDetachedComments(n.text,be(),p,zr,t,L,Z);r&&(D?D.push(r):D=[r])}(r),re(),2048&s&&!Z?(Z=!0,i(t),Z=!1):i(t),te(),c||(Nr(r.end,!0),Q&&!p.isAtStartOfLine()&&p.writeLine()),re()}function Nr(e,t){Q=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?Jr(e,wr):Jr(e,Or):0===e&&Jr(e,Pr)}function Pr(e,t,r,n,i){Ur(e,t)&&Or(e,t,r,n,i)}function wr(e,t,r,n,i){Ur(e,t)||Or(e,t,r,n,i)}function Ir(r,n){return!t.onlyPrintJsDocStyle||(e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n))}function Or(t,r,i,a,o){Ir(n.text,t)&&(Q||(e.emitNewLineBeforeLeadingCommentOfPosition(be(),p,o,t),Q=!0),Gr(t),e.writeCommentRange(n.text,be(),p,t,r,L),Gr(r),a?p.writeLine():3===i&&p.writeSpace(" "))}function Mr(e){Z||-1===e||Nr(e,!0)}function Lr(t,r,i,a){Ir(n.text,t)&&(p.isAtStartOfLine()||p.writeSpace(" "),Gr(t),e.writeCommentRange(n.text,be(),p,t,r,L),Gr(r),a&&p.writeLine())}function Rr(e,t,r){Z||(te(),Kr(e,t?Lr:r?Br:jr),re())}function Br(t,r,i){Gr(t),e.writeCommentRange(n.text,be(),p,t,r,L),Gr(r),2===i&&p.writeLine()}function jr(t,r,i,a){Gr(t),e.writeCommentRange(n.text,be(),p,t,r,L),Gr(r),a?p.writeLine():p.writeSpace(" ")}function Jr(t,r){!n||-1!==Y&&t===Y||(function(t){return void 0!==D&&e.last(D).nodePos===t}(t)?function(t){var r=e.last(D).detachedCommentEndPos;D.length-1?D.pop():D=void 0;e.forEachLeadingCommentRange(n.text,r,t,r)}(r):e.forEachLeadingCommentRange(n.text,t,r,t))}function Kr(t,r){n&&(-1===X||t!==X&&t!==$)&&e.forEachTrailingCommentRange(n.text,t,r)}function zr(t,r,i,a,o,s){Ir(n.text,a)&&(Gr(a),e.writeCommentRange(t,r,i,a,o,s),Gr(o))}function Ur(t,r){return e.isRecognizedTripleSlashComment(n.text,t,r)}function Vr(e,t){var r=Ie(3,e,t);qr(t),r(e,t),Wr(t)}function qr(t){var r=e.getEmitFlags(t),n=e.getSourceMapRange(t);if(e.isUnparsedNode(t)){e.Debug.assertIsDefined(t.parent,"UnparsedNodes must have parent pointers");var i=function(t){return void 0===t.parsedSourceMap&&void 0!==t.sourceMapText&&(t.parsedSourceMap=e.tryParseRawSourceMap(t.sourceMapText)||!1),t.parsedSourceMap||void 0}(t.parent);i&&m&&m.appendSourceMap(p.getLine(),p.getColumn(),i,t.parent.sourceMapPath,t.parent.getLineAndCharacterOfPosition(t.pos),t.parent.getLineAndCharacterOfPosition(t.end))}else{var a=n.source||y;339!==t.kind&&0==(16&r)&&n.pos>=0&&Yr(n.source||y,Hr(a,n.pos)),64&r&&(W=!0)}}function Wr(t){var r=e.getEmitFlags(t),n=e.getSourceMapRange(t);e.isUnparsedNode(t)||(64&r&&(W=!1),339!==t.kind&&0==(32&r)&&n.end>=0&&Yr(n.source||y,n.end))}function Hr(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(t.text,r)}function Gr(t){if(!(W||e.positionIsSynthesized(t)||$r(y))){var r=e.getLineAndCharacterOfPosition(y,t),n=r.line,i=r.character;m.addMapping(p.getLine(),p.getColumn(),H,n,i,void 0)}}function Yr(e,t){if(e!==y){var r=y,n=H;Xr(e),Gr(t),function(e,t){y=e,H=t}(r,n)}else Gr(t)}function Xr(e){W||(y=e,e!==v?$r(e)||(H=m.addSource(e.fileName),t.inlineSources&&m.setSourceContent(H,e.text),v=e,G=H):H=G)}function $r(t){return e.fileExtensionIs(t.fileName,".json")}}e.isBuildInfoFile=function(t){return e.fileExtensionIs(t,".tsbuildinfo")},e.forEachEmittedFile=a,e.getTsBuildInfoEmitOutputFilePath=o,e.getOutputPathsForBundle=s,e.getOutputPathsFor=c,e.getOutputExtension=l,e.getOutputDeclarationFileName=_,e.getCommonSourceDirectory=y,e.getCommonSourceDirectoryOfConfig=v,e.getAllProjectOutputs=function(t,r){var n=f(),i=n.addOutput,a=n.getOutputs;if(e.outFile(t.options))g(t,i);else{for(var s=e.memoize((function(){return v(t,r)})),c=0,u=t.fileNames;c=4,v=(f+1+"").length;y&&(v=Math.max("...".length,v));for(var h="",D=l;D<=f;D++){h+=o.getNewLine(),y&&l+11}))&&Yt(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}M.useDefineForClassFields&&0===d&&Yt(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,"useDefineForClassFields");M.checkJs&&!e.getAllowJSCompilerOption(M)&&ie.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs"));M.emitDeclarationOnly&&(e.getEmitDeclarations(M)||Yt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"),M.noEmit&&Yt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit"));M.emitDecoratorMetadata&&!M.experimentalDecorators&&Yt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators");M.jsxFactory?(M.reactNamespace&&Yt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),4!==M.jsx&&5!==M.jsx||Yt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",e.inverseJsxOptionMap.get(""+M.jsx)),e.parseIsolatedEntityName(M.jsxFactory,d)||Xt("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,M.jsxFactory)):M.reactNamespace&&!e.isIdentifierText(M.reactNamespace,d)&&Xt("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,M.reactNamespace);M.jsxFragmentFactory&&(M.jsxFactory||Yt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),4!==M.jsx&&5!==M.jsx||Yt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",e.inverseJsxOptionMap.get(""+M.jsx)),e.parseIsolatedEntityName(M.jsxFragmentFactory,d)||Xt("jsxFragmentFactory",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,M.jsxFragmentFactory));M.reactNamespace&&(4!==M.jsx&&5!==M.jsx||Yt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",e.inverseJsxOptionMap.get(""+M.jsx)));M.jsxImportSource&&2===M.jsx&&Yt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",e.inverseJsxOptionMap.get(""+M.jsx));if(!M.noEmit&&!M.suppressOutputPathCheck){var v=He(),h=new e.Set;e.forEachEmittedFile(v,(function(e){M.emitDeclarationOnly||D(e.jsFilePath,h),D(e.declarationFilePath,h)}))}function D(t,r){if(t){var n=Ve(t);if(De.has(n)){var i=void 0;M.configFilePath||(i=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t),tr(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=Z.useCaseSensitiveFileNames()?n:e.toFileNameLowerCase(n);r.has(a)?tr(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t)):r.add(a)}}}(),e.performance.mark("afterProgram"),e.performance.measure("Program","beforeProgram","afterProgram"),null===e.tracing||void 0===e.tracing||e.tracing.pop(),Be;function je(t,r,n){if(!t.length)return e.emptyArray;var i=e.getNormalizedAbsolutePath(r.originalFileName,ae),a=Ke(r);null===e.tracing||void 0===e.tracing||e.tracing.push("program","resolveModuleNamesWorker",{containingFileName:i}),e.performance.mark("beforeResolveModule");var o=$(t,i,n,a);return e.performance.mark("afterResolveModule"),e.performance.measure("ResolveModule","beforeResolveModule","afterResolveModule"),null===e.tracing||void 0===e.tracing||e.tracing.pop(),o}function Je(t,r){if(!t.length)return[];var n=e.isString(r)?r:e.getNormalizedAbsolutePath(r.originalFileName,ae),i=e.isString(r)?void 0:Ke(r);null===e.tracing||void 0===e.tracing||e.tracing.push("program","resolveTypeReferenceDirectiveNamesWorker",{containingFileName:n}),e.performance.mark("beforeResolveTypeReference");var a=Q(t,n,i);return e.performance.mark("afterResolveTypeReference"),e.performance.measure("ResolveTypeReference","beforeResolveTypeReference","afterResolveTypeReference"),null===e.tracing||void 0===e.tracing||e.tracing.pop(),a}function Ke(t){var r=Ft(t.originalFileName);if(r||!e.fileExtensionIs(t.originalFileName,".d.ts"))return r;var n=ze(t.originalFileName,t.path);if(n)return n;if(Z.realpath&&M.preserveSymlinks&&e.stringContains(t.originalFileName,e.nodeModulesPathPart)){var i=Z.realpath(t.originalFileName),a=Ve(i);return a===t.path?void 0:ze(i,a)}}function ze(t,r){var n=Pt(t);return e.isString(n)?Ft(n):n?Nt((function(t){var n=e.outFile(t.commandLine.options);if(n)return Ve(n)===r?t:void 0})):void 0}function Ue(t){if(e.containsPath(ne,t.fileName,!1)){var r=e.getBaseFileName(t.fileName);if("lib.d.ts"===r||"lib.es6.d.ts"===r)return 0;var n=e.removeSuffix(e.removePrefix(r,"lib."),".d.ts"),i=e.libs.indexOf(n);if(-1!==i)return i+1}return e.libs.length+2}function Ve(t){return e.toPath(t,ae,Bt)}function qe(){if(void 0===A){var t=e.filter(f,(function(t){return e.sourceFileMayBeEmitted(t,Be)}));A=e.getCommonSourceDirectory(M,(function(){return e.mapDefined(t,(function(e){return e.isDeclarationFile?void 0:e.fileName}))}),ae,Bt,(function(r){return function(t,r){for(var n=!0,i=Z.getCanonicalFileName(e.getNormalizedAbsolutePath(r,ae)),a=0,o=t;a=0;){if(r.markUsed(o))return o;var s=n.text.slice(a[o],a[o+1]).trim();if(""!==s&&!/^(\s*)\/\/(.*)$/.test(s))return-1;o--}return-1}(t,i)})),directives:i}}function lt(e,t){return _t(e,t,z,dt)}function dt(t,r){return at((function(){var n=$e().getEmitResolver(t,r);return e.getDeclarationDiagnostics(He(e.noop),n,t)||e.emptyArray}))}function _t(t,r,n,i){var a,o=t?null===(a=n.perFile)||void 0===a?void 0:a.get(t.path):n.allDiagnostics;if(o)return o;var s=i(t,r);return t?(n.perFile||(n.perFile=new e.Map)).set(t.path,s):n.allDiagnostics=s,s}function pt(e,t){return e.isDeclarationFile?[]:lt(e,t)}function ft(t,r,n,i){Dt(e.normalizePath(t),r,n,void 0,i)}function gt(e,t){return e.fileName===t.fileName}function mt(e,t){return 78===e.kind?78===t.kind&&e.escapedText===t.escapedText:10===t.kind&&e.text===t.text}function yt(t,r){var n=e.factory.createStringLiteral(t),i=e.factory.createImportDeclaration(void 0,void 0,void 0,n);return e.addEmitFlags(i,67108864),e.setParent(n,i),e.setParent(i,r),n.flags&=-9,i.flags&=-9,n}function vt(t){if(!t.imports){var r,n,i,a=e.isSourceFileJS(t),o=e.isExternalModule(t);if((M.isolatedModules||o)&&!t.isDeclarationFile){M.importHelpers&&(r=[yt(e.externalHelpersModuleNameText,t)]);var s=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(M,t),M);s&&(r||(r=[])).push(yt(s,t))}for(var c=0,u=t.statements;c0),Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}}),o}(x,h,t,r,Ve(t),d);return he.add(x.path,t),Tt(b,r,l),Et(b,a),ve.set(r,o.name),p.push(b),b}h&&(ye.set(D,h),ve.set(r,o.name))}if(Tt(h,r,l),h){if(H.set(r,q>0),h.fileName=t,h.path=r,h.resolvedPath=Ve(t),h.originalFileName=d,Et(h,a),Z.useCaseSensitiveFileNames()){var S=e.toFileNameLowerCase(r),E=xe.get(S);E?bt(t,E,a):xe.set(S,h)}te=te||h.hasNoDefaultLib&&!i,M.noResolve||(Ot(h,n),Mt(h)),M.noLib||Rt(h),jt(h),n?_.push(h):p.push(h)}return h}(t,r,n,i,a,o);return null===e.tracing||void 0===e.tracing||e.tracing.pop(),s}function Et(e,t){e&&J.add(e.path,t)}function Tt(e,t,r){r?(De.set(r,e),De.set(t,e||!1)):De.set(t,e)}function Ct(e){var t=kt(e);return t&&At(t,e)}function kt(t){if(pe&&pe.length&&!e.fileExtensionIs(t,".d.ts")&&!e.fileExtensionIs(t,".json"))return Ft(t)}function At(t,r){var n=e.outFile(t.commandLine.options);return n?e.changeExtension(n,".d.ts"):e.getOutputDeclarationFileName(r,t.commandLine,!Z.useCaseSensitiveFileNames())}function Ft(t){void 0===ge&&(ge=new e.Map,Nt((function(e){Ve(M.configFilePath)!==e.sourceFile.path&&e.commandLine.fileNames.forEach((function(t){return ge.set(Ve(t),e.sourceFile.path)}))})));var r=ge.get(Ve(t));return r&&It(r)}function Nt(t){return e.forEachResolvedProjectReference(pe,t)}function Pt(t){if(e.isDeclarationFileName(t))return void 0===me&&(me=new e.Map,Nt((function(t){var r=e.outFile(t.commandLine.options);if(r){var n=e.changeExtension(r,".d.ts");me.set(Ve(n),!0)}else{var i=e.memoize((function(){return e.getCommonSourceDirectoryOfConfig(t.commandLine,!Z.useCaseSensitiveFileNames())}));e.forEach(t.commandLine.fileNames,(function(r){if(!e.fileExtensionIs(r,".d.ts")&&!e.fileExtensionIs(r,".json")){var n=e.getOutputDeclarationFileName(r,t.commandLine,!Z.useCaseSensitiveFileNames(),i);me.set(Ve(n),r)}}))}}))),me.get(Ve(t))}function wt(e){return be&&!!Ft(e)}function It(e){if(fe)return fe.get(e)||void 0}function Ot(t,n){e.forEach(t.referencedFiles,(function(i,a){Dt(r(i.fileName,t.fileName),n,!1,void 0,{kind:e.FileIncludeKind.ReferenceFile,file:t.path,index:a})}))}function Mt(t){var r=e.map(t.typeReferenceDirectives,(function(t){return e.toFileNameLowerCase(t.fileName)}));if(r)for(var n=Je(r,t),i=0;iV,p=d&&!T(a,s)&&!a.noResolve&&o_?e.createDiagnosticForNodeInSourceFile(d,p.elements[_],t.kind===e.FileIncludeKind.OutputFromProjectReference?e.Diagnostics.File_is_output_from_referenced_project_specified_here:e.Diagnostics.File_is_source_from_referenced_project_specified_here):void 0;case e.FileIncludeKind.AutomaticTypeDirectiveFile:if(!M.types)return;i=Gt("types",t.typeReference),a=e.Diagnostics.File_is_entry_point_of_type_library_specified_here;break;case e.FileIncludeKind.LibFile:if(void 0!==t.index){i=Gt("lib",M.lib[t.index]),a=e.Diagnostics.File_is_library_specified_here;break}var f=e.forEachEntry(e.targetOptionDeclaration.type,(function(e,t){return e===M.target?t:void 0}));i=f?function(t,r){var n=Wt(t);return n&&e.firstDefined(n,(function(t){return e.isStringLiteral(t.initializer)&&t.initializer.text===r?t.initializer:void 0}))}("target",f):void 0,a=e.Diagnostics.File_is_default_library_for_target_specified_here;break;default:e.Debug.assertNever(t)}return i&&e.createDiagnosticForNodeInSourceFile(M.configFile,i,a)}(t))),t===n&&(n=void 0)}}function zt(e,t,r,n){(w||(w=[])).push({kind:1,file:e&&e.path,fileProcessingReason:t,diagnostic:r,args:n})}function Ut(e,t,r){ie.add(Kt(e,void 0,t,r))}function Vt(t,r,n,i,a,o){for(var s=!0,c=0,u=Ht();cr&&(ie.add(e.createDiagnosticForNodeInSourceFile(M.configFile,p.elements[r],n,i,a,o)),s=!1)}}s&&ie.add(e.createCompilerDiagnostic(n,i,a,o))}function qt(t,r,n,i){for(var a=!0,o=0,s=Ht();or?ie.add(e.createDiagnosticForNodeInSourceFile(t||M.configFile,o.elements[r],n,i,a)):ie.add(e.createCompilerDiagnostic(n,i,a))}function Qt(t,r,n,i,a,o,s){var c=Zt();(!c||!er(c,t,r,n,i,a,o,s))&&ie.add(e.createCompilerDiagnostic(i,a,o,s))}function Zt(){if(void 0===G){G=!1;var t=e.getTsConfigObjectLiteralExpression(M.configFile);if(t)for(var r=0,n=e.getPropertyAssignment(t,"compilerOptions");r0)for(var s=t.getTypeChecker(),c=0,u=r.imports;c0)for(var _=0,p=r.referencedFiles;_1&&b(x)}return o;function b(t){if(t.declarations)for(var n=0,i=t.declarations;n0;){var g=d.pop();if(!u.has(g)){var m=r.getSourceFileByPath(g);u.set(g,m),m&&l(t,r,m,i,a,o,s)&&d.push.apply(d,_(t,m.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(u.values(),(function(e){return e})))}r.canReuseOldState=s,r.create=function(t,r,n,i){var a=new e.Map,c=t.getCompilerOptions().module!==e.ModuleKind.None?new e.Map:void 0,u=c?new e.Map:void 0,l=new e.Set,d=s(c,n);t.getTypeChecker();for(var _=0,f=t.getSourceFiles();_0;){var o=a.pop();if(!i.has(o))if(i.set(o,!0),n(t,o)&&l(t,o)){var s=e.Debug.checkDefined(t.program).getSourceFileByPath(o);a.push.apply(a,e.BuilderState.getReferencedByPaths(t,s.resolvedPath))}}}e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap);var c=new e.Set;if(e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,i){return e&&e.has(r.resolvedPath)&&d(t,i,c,n)})))return;e.forEachEntry(t.exportedModulesMap,(function(e,i){return!t.currentAffectedFilesExportedModulesMap.has(i)&&e.has(r.resolvedPath)&&d(t,i,c,n)}))}(t,r,(function(t,r){return function(t,r,n,i){if(u(t,r),!t.changedFilesSet.has(r)){var a=e.Debug.checkDefined(t.program),o=a.getSourceFileByPath(r);o&&(e.BuilderState.updateShapeSignature(t,a,o,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap),e.getEmitDeclarations(t.compilerOptions)&&x(t,r,0))}return!1}(t,r,n,i)}));else{if(!t.cleanedDiagnosticsOfLibFiles){t.cleanedDiagnosticsOfLibFiles=!0;var o=e.Debug.checkDefined(t.program),s=o.getCompilerOptions();e.forEach(o.getSourceFiles(),(function(r){return o.isSourceFileDefaultLibrary(r)&&!e.skipTypeChecking(r,s,o)&&u(t,r.resolvedPath)}))}e.BuilderState.updateShapeSignature(t,e.Debug.checkDefined(t.program),r,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap)}}function u(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function l(t,r){return e.Debug.checkDefined(t.currentAffectedFilesSignatures).get(r)!==e.Debug.checkDefined(t.fileInfos.get(r)).signature}function d(t,r,n,i){return e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&_(t,a,n,i)}))}function _(t,r,n,i){return!!e.tryAddToSet(n,r)&&(!!i(t,r)||(e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap),!!e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,a){return e&&e.has(r)&&_(t,a,n,i)}))||(!!e.forEachEntry(t.exportedModulesMap,(function(e,a){return!t.currentAffectedFilesExportedModulesMap.has(a)&&e.has(r)&&_(t,a,n,i)}))||!!e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&!n.has(a)&&i(t,a)})))))}function p(t,r,n,i,a){a?t.buildInfoEmitPending=!1:r===t.program?(t.changedFilesSet.clear(),t.programEmitComplete=!0):(t.seenAffectedFiles.add(r.resolvedPath),void 0!==n&&(t.seenEmittedFiles||(t.seenEmittedFiles=new e.Map)).set(r.resolvedPath,n),i?(t.affectedFilesPendingEmitIndex++,t.buildInfoEmitPending=!0):t.affectedFilesIndex++)}function f(e,t,r){return p(e,r),{result:t,affected:r}}function g(e,t,r,n,i,a){return p(e,r,n,i,a),{result:t,affected:r}}function m(t,r,n){return e.concatenate(function(t,r,n){var i=r.resolvedPath;if(t.semanticDiagnosticsPerFile){var a=t.semanticDiagnosticsPerFile.get(i);if(a)return e.filterSemanticDiagnotics(a,t.compilerOptions)}var o=e.Debug.checkDefined(t.program).getBindAndCheckDiagnostics(r,n);t.semanticDiagnosticsPerFile&&t.semanticDiagnosticsPerFile.set(i,o);return e.filterSemanticDiagnotics(o,t.compilerOptions)}(t,r,n),e.Debug.checkDefined(t.program).getProgramDiagnostics(r))}function y(t,r){for(var n,i=e.getOptionsNameMap().optionsNameMap,a=0,o=e.getOwnKeys(t).sort(e.compareStringsCaseSensitive);a1||47!==t.charCodeAt(0);if(a&&0!==t.search(/[a-zA-Z]:/)&&0===i.search(/[a-zA-z]\$\//)){if(-1===(n=t.indexOf(e.directorySeparator,n+1)))return!1;i=t.substring(r+i.length,n+1)}if(a&&0!==i.search(/users\//i))return!0;for(var o=n+1,s=2;s>0;s--)if(0===(o=t.indexOf(e.directorySeparator,o)+1))return!1;return!0}e.removeIgnoredPath=t,e.canWatchDirectory=r,e.createResolutionCache=function(n,i,a){var o,s,c,u,l,d,_=e.createMultiMap(),p=[],f=e.createMultiMap(),g=!1,m=e.memoize((function(){return n.getCurrentDirectory()})),y=n.getCachedDirectoryStructureHost(),v=new e.Map,h=e.createCacheWithRedirects(),D=e.createCacheWithRedirects(),x=e.createModuleResolutionCache(m(),n.getCanonicalFileName,void 0,h,D),b=new e.Map,S=e.createCacheWithRedirects(),E=e.createTypeReferenceDirectiveResolutionCache(m(),n.getCanonicalFileName,void 0,x.getPackageJsonInfoCache(),S),T=[".ts",".tsx",".js",".jsx",".json"],C=new e.Map,k=new e.Map,A=i&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(i,m())),F=A&&n.toPath(A),N=void 0!==F?F.split(e.directorySeparator).length:0,P=new e.Map;return{startRecordingFilesWithChangedResolutions:function(){o=[]},finishRecordingFilesWithChangedResolutions:function(){var e=o;return o=void 0,e},startCachingPerDirectoryResolution:L,finishCachingPerDirectoryResolution:function(){c=void 0,L(),k.forEach((function(e,t){0===e.refCount&&(k.delete(t),e.watcher.close())})),g=!1},resolveModuleNames:function(t,r,n,i){return j({names:t,containingFile:r,redirectedReference:i,cache:v,perDirectoryCacheWithRedirects:h,loader:R,getResolutionWithResolvedFileName:w,shouldRetryResolution:function(t){return!t.resolvedModule||!e.resolutionExtensionIsTSOrJson(t.resolvedModule.extension)},reusedNames:n,logChanges:a})},getResolvedModuleWithFailedLookupLocationsFromCache:function(e,t){var r=v.get(n.toPath(t));return r&&r.get(e)},resolveTypeReferenceDirectives:function(e,t,r){return j({names:e,containingFile:t,redirectedReference:r,cache:b,perDirectoryCacheWithRedirects:S,loader:B,getResolutionWithResolvedFileName:I,shouldRetryResolution:function(e){return void 0===e.resolvedTypeReferenceDirective}})},removeResolutionsFromProjectReferenceRedirects:function(t){if(!e.fileExtensionIs(t,".json"))return;var r=n.getCurrentProgram();if(!r)return;var i=r.getResolvedProjectReferenceByPath(t);if(!i)return;i.commandLine.fileNames.forEach((function(e){return Q(n.toPath(e))}))},removeResolutionsOfFile:Q,hasChangedAutomaticTypeDirectiveNames:function(){return g},invalidateResolutionOfFile:function(t){Q(t);var r=g;Z(f.get(t),e.returnTrue)&&g&&!r&&n.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:te,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(t){e.Debug.assert(c===t||void 0===c),c=t},createHasInvalidatedResolution:function(t){if(te(),t)return s=void 0,e.returnTrue;var r=s;return s=void 0,function(e){return!!r&&r.has(e)||M(e)}},isFileWithInvalidatedNonRelativeUnresolvedImports:M,updateTypeRootsWatch:function(){var t=n.getCompilationSettings();if(t.types)return void ne();var r=e.getEffectiveTypeRoots(t,{directoryExists:ae,getCurrentDirectory:m});r?e.mutateMap(P,e.arrayToMap(r,(function(e){return n.toPath(e)})),{createNewValue:ie,onDeleteValue:e.closeFileWatcher}):ne()},closeTypeRootsWatch:ne,clear:function(){e.clearMap(k,e.closeFileWatcherOf),C.clear(),_.clear(),ne(),v.clear(),b.clear(),f.clear(),p.length=0,u=void 0,l=void 0,d=void 0,L(),g=!1}};function w(e){return e.resolvedModule}function I(e){return e.resolvedTypeReferenceDirective}function O(t,r){return!(void 0===t||r.length<=t.length)&&(e.startsWith(r,t)&&r[t.length]===e.directorySeparator)}function M(e){if(!c)return!1;var t=c.get(e);return!!t&&!!t.length}function L(){x.clear(),E.clear(),_.forEach(W),_.clear()}function R(t,r,i,a,o){var s,c=e.resolveModuleName(t,r,i,a,x,o);if(!n.getGlobalCache)return c;var u=n.getGlobalCache();if(!(void 0===u||e.isExternalModuleNameRelative(t)||c.resolvedModule&&e.extensionIsTS(c.resolvedModule.extension))){var l=e.loadModuleFromGlobalCache(e.Debug.checkDefined(n.globalCacheResolutionModuleName)(t),n.projectName,i,a,u,x),d=l.resolvedModule,_=l.failedLookupLocations;if(d)return c.resolvedModule=d,(s=c.failedLookupLocations).push.apply(s,_),c}return c}function B(t,r,n,i,a){return e.resolveTypeReferenceDirective(t,r,n,i,a,E)}function j(t){var r,i=t.names,a=t.containingFile,s=t.redirectedReference,c=t.cache,u=t.perDirectoryCacheWithRedirects,l=t.loader,d=t.getResolutionWithResolvedFileName,_=t.shouldRetryResolution,p=t.reusedNames,f=t.logChanges,g=n.toPath(a),m=c.get(g)||c.set(g,new e.Map).get(g),y=e.getDirectoryPath(g),v=u.getOrCreateMapOfCacheRedirects(s),h=v.get(y);h||(h=new e.Map,v.set(y,h));for(var D=[],x=n.getCompilationSettings(),b=f&&M(g),S=n.getCurrentProgram(),E=S&&S.getResolvedProjectReferenceToRedirect(a),T=E?!s||s.sourceFile.path!==E.sourceFile.path:!!s,C=new e.Map,k=0,A=i;kN+1?{dir:i.slice(0,N+1).join(e.directorySeparator),dirPath:n.slice(0,N+1).join(e.directorySeparator)}:{dir:A,dirPath:F,nonRecursive:!1}}return z(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,m())),e.getDirectoryPath(r))}function z(t,n){for(;e.pathContainsNodeModules(n);)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(e.isNodeModulesDirectory(n))return r(e.getDirectoryPath(n))?{dir:t,dirPath:n}:void 0;var i,a,o=!0;if(void 0!==F)for(;!O(n,F);){var s=e.getDirectoryPath(n);if(s===n)break;o=!1,i=n,a=t,n=s,t=e.getDirectoryPath(t)}return r(n)?{dir:a||t,dirPath:i||n,nonRecursive:o}:void 0}function U(t){return e.fileExtensionIsOneOf(t,T)}function V(t,r,i,a){if(r.refCount)r.refCount++,e.Debug.assertDefined(r.files);else{r.refCount=1,e.Debug.assert(0===e.length(r.files)),e.isExternalModuleNameRelative(t)?q(r):_.add(t,r);var o=a(r);o&&o.resolvedFileName&&f.add(n.toPath(o.resolvedFileName),r)}(r.files||(r.files=[])).push(i)}function q(t){e.Debug.assert(!!t.refCount);var r=t.failedLookupLocations;if(r.length){p.push(t);for(var i=!1,a=0,o=r;a1),C.set(l,g-1))),_===F?o=!0:Y(_)}}o&&Y(F)}}}function Y(e){k.get(e).refCount--}function X(e,t,r){return n.watchDirectoryOfFailedLookupLocation(e,(function(e){var r=n.toPath(e);y&&y.addOrDeleteFileOrDirectory(e,r),ee(r,t===r)}),r?0:1)}function $(e,t,r){var n=e.get(t);n&&(n.forEach((function(e){return G(e,t,r)})),e.delete(t))}function Q(e){$(v,e,w),$(b,e,I)}function Z(t,r){if(!t)return!1;for(var n=!1,i=0,a=t;i1&&r.sort(l),d.push.apply(d,r));var i=e.getDirectoryPath(t);if(i===t)return u=t,"break";u=t=i},f=e.getDirectoryPath(t);0!==c.size;){var g=p(f);if(f=u,"break"===g)break}if(c.size){var m=e.arrayFrom(c.values());m.length>1&&m.sort(l),d.push.apply(d,m)}return a&&a.set(t,e.toPath(r,n.getCurrentDirectory(),o),d),d}function f(t,r,n){for(var i in n)for(var a=0,o=n[i];a=l.length+d.length&&e.startsWith(r,l)&&e.endsWith(r,d)||!d&&r===e.removeTrailingDirectorySeparator(l)){var _=r.substr(l.length,r.length-d.length-l.length);return i.replace("*",_)}}else if(c===r||c===t)return i}}function g(t,r,n,i,a){var o=t.path,s=t.isRedirect,c=r.getCanonicalFileName,u=r.sourceDirectory;if(n.fileExists&&n.readFile){var l=function(t){var r,n=0,i=0,a=0,o=0;!function(e){e[e.BeforeNodeModules=0]="BeforeNodeModules",e[e.NodeModules=1]="NodeModules",e[e.Scope=2]="Scope",e[e.PackageContent=3]="PackageContent"}(r||(r={}));var s=0,c=0,u=0;for(;c>=0;)switch(s=c,c=t.indexOf("/",s+1),u){case 0:t.indexOf(e.nodeModulesPathPart,s)===s&&(n=s,i=c,u=1);break;case 1:case 2:1===u&&"@"===t.charAt(s+1)?u=2:(a=c,u=3);break;case 3:u=t.indexOf(e.nodeModulesPathPart,s)===s?1:3}return o=s,u>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:i,packageRootIndex:a,fileNameIndex:o}:void 0}(o);if(l){var d=o,_=!1;if(!a)for(var p=l.packageRootIndex,g=void 0;;){var m=E(p),v=m.moduleFileToTry,h=m.packageRootPath;if(h){d=h,_=!0;break}if(g||(g=v),-1===(p=o.indexOf(e.directorySeparator,p+1))){d=T(g);break}}if(!s||_){var D=n.getGlobalTypingsCacheLocation&&n.getGlobalTypingsCacheLocation(),x=c(d.substring(0,l.topLevelNodeModulesIndex));if(e.startsWith(u,x)||D&&e.startsWith(c(D),x)){var b=d.substring(l.topLevelPackageNameIndex+1),S=e.getPackageNameFromTypesPackageName(b);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&S===b?void 0:S}}}}function E(t){var r=o.substring(0,t),a=e.combinePaths(r,"package.json"),s=o;if(n.fileExists(a)){var u=JSON.parse(n.readFile(a)),l=u.typesVersions?e.getPackageJsonTypesVersionsPaths(u.typesVersions):void 0;if(l){var d=o.slice(r.length+1),_=f(e.removeFileExtension(d),y(d,0,i),l.paths);void 0!==_&&(s=e.combinePaths(r,_))}var p=u.typings||u.types||u.main;if(e.isString(p)){var g=e.toPath(p,r,c);if(e.removeFileExtension(g)===e.removeFileExtension(c(s)))return{packageRootPath:r,moduleFileToTry:s}}}return{moduleFileToTry:s}}function T(t){var r=e.removeFileExtension(t);return"/index"!==c(r.substring(l.fileNameIndex))||function(t,r){if(!t.fileExists)return;for(var n=e.getSupportedExtensions({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}]),i=0,a=n;i0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:d.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function D(t,r){return void 0===t&&(t=e.sys),{onWatchStatusChange:r||o(t),watchFile:e.maybeBind(t,t.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(t,t.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(t,t.setTimeout)||e.noop,clearTimeout:e.maybeBind(t,t.clearTimeout)||e.noop}}function x(t,r){var n=e.memoize((function(){return e.getDirectoryPath(e.normalizePath(t.getExecutingFilePath()))}));return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),getDefaultLibLocation:n,getDefaultLibFileName:function(t){return e.combinePaths(n(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,r){return t.readFile(e,r)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,r,n,i,a){return t.readDirectory(e,r,n,i,a)},realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable),trace:function(e){return t.write(e+t.newLine)},createDirectory:function(e){return t.createDirectory(e)},writeFile:function(e,r,n){return t.writeFile(e,r,n)},createHash:e.maybeBind(t,t.createHash),createProgram:r||e.createEmitAndSemanticDiagnosticsBuilderProgram,disableUseFileVersionAsSignature:t.disableUseFileVersionAsSignature}}function b(t,r,n,i){void 0===t&&(t=e.sys);var a=function(e){return t.write(e+t.newLine)},o=x(t,r);return e.copyProperties(o,D(t,i)),o.afterProgramCreate=function(r){var i=r.getCompilerOptions(),s=e.getNewLineCharacter(i,(function(){return t.newLine}));v(r,n,a,(function(t){return o.onWatchStatusChange(e.createCompilerDiagnostic(c(t),t),s,i,t)}))},o}function S(t,r,n){r(n),t.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=n,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=a,e.createWatchStatusReporter=o,e.parseConfigFileWithSystem=function(t,r,n,i,a,o){var s=a;s.onUnRecoverableConfigFileDiagnostic=function(e){return S(a,o,e)};var c=e.getParsedCommandLineOfConfigFile(t,r,s,n,i);return s.onUnRecoverableConfigFileDiagnostic=void 0,c},e.getErrorCountForSummary=s,e.getWatchErrorSummaryDiagnosticMessage=c,e.getErrorSummaryText=u,e.isBuilderProgram=l,e.listFiles=d,e.explainFiles=_,e.explainIfFileIsRedirect=p,e.getMatchedFileSpec=f,e.getMatchedIncludeSpec=g,e.fileIncludeReasonToDiagnostics=m,e.emitFilesAndReportErrors=v,e.emitFilesAndReportErrorsAndGetExitStatus=h,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=D,e.WatchType={ConfigFile:"Config file",ExtendedConfigFile:"Extended config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",TypeRoots:"Type roots",ConfigFileOfReferencedProject:"Config file of referened project",ExtendedConfigOfReferencedProject:"Extended config file of referenced project",WildcardDirectoryOfReferencedProject:"Wild card directory of referenced project"},e.createWatchFactory=function(t,r){var n=t.trace?r.extendedDiagnostics?e.WatchLogLevel.Verbose:r.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,i=n!==e.WatchLogLevel.None?function(e){return t.trace(e)}:e.noop,a=e.getWatchFactory(t,n,i);return a.writeLog=i,a},e.createCompilerHostFromProgramHost=function(t,r,n){void 0===n&&(n=t);var i=t.useCaseSensitiveFileNames(),a=e.memoize((function(){return t.getNewLine()}));return{getSourceFile:function(n,i,a){var o;try{e.performance.mark("beforeIORead"),o=t.readFile(n,r().charset),e.performance.mark("afterIORead"),e.performance.measure("I/O Read","beforeIORead","afterIORead")}catch(e){a&&a(e.message),o=""}return void 0!==o?e.createSourceFile(n,o,i):void 0},getDefaultLibLocation:e.maybeBind(t,t.getDefaultLibLocation),getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:function(r,n,i,a){try{e.performance.mark("beforeIOWrite"),e.writeFileEnsuringDirectories(r,n,i,(function(e,r,n){return t.writeFile(e,r,n)}),(function(e){return t.createDirectory(e)}),(function(e){return t.directoryExists(e)})),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){a&&a(e.message)}},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return i},getCanonicalFileName:e.createGetCanonicalFileName(i),getNewLine:function(){return e.getNewLineCharacter(r(),a)},fileExists:function(e){return t.fileExists(e)},readFile:function(e){return t.readFile(e)},trace:e.maybeBind(t,t.trace),directoryExists:e.maybeBind(n,n.directoryExists),getDirectories:e.maybeBind(n,n.getDirectories),realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable)||function(){return""},createHash:e.maybeBind(t,t.createHash),readDirectory:e.maybeBind(t,t.readDirectory),disableUseFileVersionAsSignature:t.disableUseFileVersionAsSignature}},e.setGetSourceFileAsHashVersioned=function(r,n){var i=r.getSourceFile,a=e.maybeBind(n,n.createHash)||e.generateDjb2Hash;r.getSourceFile=function(){for(var e=[],n=0;ne?t:e}function u(t){return e.fileExtensionIs(t,".d.ts")}function l(e){return!!e&&!!e.buildOrder}function d(e){return l(e)?e.buildOrder:e}function _(t,r){return function(n){var i=r?"["+e.formatColorAndReset(e.getLocaleTimeString(t),e.ForegroundColorEscapeSequences.Grey)+"] ":e.getLocaleTimeString(t)+" - ";i+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine),t.write(i)}}function p(t,r,n,i){var a=e.createProgramHost(t,r);return a.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:e.returnUndefined,a.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop,a.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop,a.reportDiagnostic=n||e.createDiagnosticReporter(t),a.reportSolutionBuilderStatus=i||_(t),a.now=e.maybeBind(t,t.now),a}function f(t,r,n,i,a){var o,s,c=r,u=r,l=c.getCurrentDirectory(),d=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),_=(o=i,s={},e.commonOptionsWithBuild.forEach((function(t){e.hasProperty(o,t.name)&&(s[t.name]=o[t.name])})),s),p=e.createCompilerHostFromProgramHost(c,(function(){return E.projectCompilerOptions}));e.setGetSourceFileAsHashVersioned(p,c),p.getParsedCommandLine=function(e){return h(E,e,m(E,e))},p.resolveModuleNames=e.maybeBind(c,c.resolveModuleNames),p.resolveTypeReferenceDirectives=e.maybeBind(c,c.resolveTypeReferenceDirectives);var f=p.resolveModuleNames?void 0:e.createModuleResolutionCache(l,d),g=p.resolveTypeReferenceDirectives?void 0:e.createTypeReferenceDirectiveResolutionCache(l,d,void 0,null==f?void 0:f.getPackageJsonInfoCache());if(!p.resolveModuleNames){var y=function(t,r,n){return e.resolveModuleName(t,r,E.projectCompilerOptions,p,f,n).resolvedModule};p.resolveModuleNames=function(t,r,n,i){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,i,y)}}if(!p.resolveTypeReferenceDirectives){var v=function(t,r,n){return e.resolveTypeReferenceDirective(t,r,E.projectCompilerOptions,p,n,E.typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective};p.resolveTypeReferenceDirectives=function(t,r,n){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,n,v)}}var D=e.createWatchFactory(u,i),x=D.watchFile,b=D.watchDirectory,S=D.writeLog,E={host:c,hostWithWatch:u,currentDirectory:l,getCanonicalFileName:d,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(c),write:e.maybeBind(c,c.trace),options:i,baseCompilerOptions:_,rootNames:n,baseWatchOptions:a,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:p,moduleResolutionCache:f,typeReferenceDirectiveResolutionCache:g,buildOrder:void 0,readFileWithCache:function(e){return c.readFile(e)},projectCompilerOptions:_,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:t,currentInvalidatedProject:void 0,watch:t,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,allWatchedExtendedConfigFiles:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:x,watchDirectory:b,writeLog:S};return E}function g(t,r){return e.toPath(r,t.currentDirectory,t.getCanonicalFileName)}function m(e,t){var r=e.resolvedConfigFilePaths,n=r.get(t);if(void 0!==n)return n;var i=g(e,t);return r.set(t,i),i}function y(e){return!!e.options}function v(e,t){var r=e.configFileCache.get(t);return r&&y(r)?r:void 0}function h(t,r,n){var i,a=t.configFileCache,o=a.get(n);if(o)return y(o)?o:void 0;var s,c=t.parseConfigFileHost,u=t.baseCompilerOptions,l=t.baseWatchOptions,d=t.extendedConfigCache,_=t.host;return _.getParsedCommandLine?(s=_.getParsedCommandLine(r))||(i=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,r)):(c.onUnRecoverableConfigFileDiagnostic=function(e){return i=e},s=e.getParsedCommandLineOfConfigFile(r,u,c,d,l),c.onUnRecoverableConfigFileDiagnostic=e.noop),a.set(n,s||i),s}function D(t,r){return e.resolveConfigFileProjectName(e.resolvePath(t.currentDirectory,r))}function x(t,r){for(var n,i,a=new e.Map,o=new e.Map,s=[],c=0,u=r;co)}}}function w(t,r,n){var i=t.options;return!(r.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!i.force)||(0===n.fileNames.length||!!e.getConfigFileParsingDiagnostics(n).length||!e.isIncrementalCompilation(n.options))}function I(t,r,i){if(t.projectPendingBuild.size&&!l(r)){if(t.currentInvalidatedProject)return e.arrayIsEqualTo(t.currentInvalidatedProject.buildOrder,r)?t.currentInvalidatedProject:void 0;for(var a=t.options,o=t.projectPendingBuild,s=0;sl&&(s=f,l=g)}}if(!r.fileNames.length&&!e.canJsonReportNoInputFiles(r.raw))return{type:e.UpToDateStatusType.ContainerOnly};var y,v=e.getAllProjectOutputs(r,!d.useCaseSensitiveFileNames()),D="(none)",x=o,b="(none)",S=a,E=a,T=!1;if(!i)for(var C=0,k=v;CS&&(S=F,b=A),u(A)&&(E=c(E,e.getModifiedTime(d,A)))}var N,P=!1,w=!1;if(r.projectReferences){t.projectStatus.set(n,{type:e.UpToDateStatusType.ComputingUpstream});for(var I=0,O=r.projectReferences;I=0},t.findArgument=function(t){var r=e.sys.args.indexOf(t);return r>=0&&r214)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){var r=/^@([^/]+)\/([^/]+)$/.exec(e);if(r){var n=a(r[1],!1);if(0!==n)return{name:r[1],isScopeName:!0,result:n};var i=a(r[2],!1);return 0!==i?{name:r[2],isScopeName:!1,result:i}:0}}return encodeURIComponent(e)!==e?5:0}function o(t,r,n,i){var a=i?"Scope":"Package";switch(r){case 1:return"'"+t+"':: "+a+" name '"+n+"' cannot be empty";case 2:return"'"+t+"':: "+a+" name '"+n+"' should be less than 214 characters";case 3:return"'"+t+"':: "+a+" name '"+n+"' cannot start with '.'";case 4:return"'"+t+"':: "+a+" name '"+n+"' cannot start with '_'";case 5:return"'"+t+"':: "+a+" name '"+n+"' contains non URI safe characters";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(r)}}t.validatePackageName=function(e){return a(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return"object"==typeof e?o(t,e.result,e.name,e.isScopeName):o(t,e,t,!1)}}(e.JsTyping||(e.JsTyping={}))}(s||(s={})),function(e){var t,r,n,i,a,o,s,c,u,l,d,_,p,f,g,m,y,v;function h(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:!0,indentStyle:c.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:u.Ignore,trimTrailingWhitespace:!0}}t=e.ScriptSnapshot||(e.ScriptSnapshot={}),r=function(){function e(e){this.text=e}return e.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},e.prototype.getLength=function(){return this.text.length},e.prototype.getChangeRange=function(){},e}(),t.fromString=function(e){return new r(e)},(n=e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={}))[n.Dependencies=1]="Dependencies",n[n.DevDependencies=2]="DevDependencies",n[n.PeerDependencies=4]="PeerDependencies",n[n.OptionalDependencies=8]="OptionalDependencies",n[n.All=15]="All",(i=e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={}))[i.Off=0]="Off",i[i.On=1]="On",i[i.Auto=2]="Auto",(a=e.LanguageServiceMode||(e.LanguageServiceMode={}))[a.Semantic=0]="Semantic",a[a.PartialSemantic=1]="PartialSemantic",a[a.Syntactic=2]="Syntactic",e.emptyOptions={},(o=e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})).Original="original",o.TwentyTwenty="2020",(s=e.HighlightSpanKind||(e.HighlightSpanKind={})).none="none",s.definition="definition",s.reference="reference",s.writtenReference="writtenReference",function(e){e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart"}(c=e.IndentStyle||(e.IndentStyle={})),function(e){e.Ignore="ignore",e.Insert="insert",e.Remove="remove"}(u=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=h,e.testFormatSettings=h("\n"),(l=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}))[l.aliasName=0]="aliasName",l[l.className=1]="className",l[l.enumName=2]="enumName",l[l.fieldName=3]="fieldName",l[l.interfaceName=4]="interfaceName",l[l.keyword=5]="keyword",l[l.lineBreak=6]="lineBreak",l[l.numericLiteral=7]="numericLiteral",l[l.stringLiteral=8]="stringLiteral",l[l.localName=9]="localName",l[l.methodName=10]="methodName",l[l.moduleName=11]="moduleName",l[l.operator=12]="operator",l[l.parameterName=13]="parameterName",l[l.propertyName=14]="propertyName",l[l.punctuation=15]="punctuation",l[l.space=16]="space",l[l.text=17]="text",l[l.typeParameterName=18]="typeParameterName",l[l.enumMemberName=19]="enumMemberName",l[l.functionName=20]="functionName",l[l.regularExpressionLiteral=21]="regularExpressionLiteral",l[l.link=22]="link",l[l.linkName=23]="linkName",l[l.linkText=24]="linkText",(d=e.OutliningSpanKind||(e.OutliningSpanKind={})).Comment="comment",d.Region="region",d.Code="code",d.Imports="imports",(_=e.OutputFileType||(e.OutputFileType={}))[_.JavaScript=0]="JavaScript",_[_.SourceMap=1]="SourceMap",_[_.Declaration=2]="Declaration",(p=e.EndOfLineState||(e.EndOfLineState={}))[p.None=0]="None",p[p.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",p[p.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",p[p.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",p[p.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",p[p.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",p[p.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition",(f=e.TokenClass||(e.TokenClass={}))[f.Punctuation=0]="Punctuation",f[f.Keyword=1]="Keyword",f[f.Operator=2]="Operator",f[f.Comment=3]="Comment",f[f.Whitespace=4]="Whitespace",f[f.Identifier=5]="Identifier",f[f.NumberLiteral=6]="NumberLiteral",f[f.BigIntLiteral=7]="BigIntLiteral",f[f.StringLiteral=8]="StringLiteral",f[f.RegExpLiteral=9]="RegExpLiteral",(g=e.ScriptElementKind||(e.ScriptElementKind={})).unknown="",g.warning="warning",g.keyword="keyword",g.scriptElement="script",g.moduleElement="module",g.classElement="class",g.localClassElement="local class",g.interfaceElement="interface",g.typeElement="type",g.enumElement="enum",g.enumMemberElement="enum member",g.variableElement="var",g.localVariableElement="local var",g.functionElement="function",g.localFunctionElement="local function",g.memberFunctionElement="method",g.memberGetAccessorElement="getter",g.memberSetAccessorElement="setter",g.memberVariableElement="property",g.constructorImplementationElement="constructor",g.callSignatureElement="call",g.indexSignatureElement="index",g.constructSignatureElement="construct",g.parameterElement="parameter",g.typeParameterElement="type parameter",g.primitiveType="primitive type",g.label="label",g.alias="alias",g.constElement="const",g.letElement="let",g.directory="directory",g.externalModuleName="external module name",g.jsxAttribute="JSX attribute",g.string="string",g.link="link",g.linkName="link name",g.linkText="link text",(m=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})).none="",m.publicMemberModifier="public",m.privateMemberModifier="private",m.protectedMemberModifier="protected",m.exportedModifier="export",m.ambientModifier="declare",m.staticModifier="static",m.abstractModifier="abstract",m.optionalModifier="optional",m.deprecatedModifier="deprecated",m.dtsModifier=".d.ts",m.tsModifier=".ts",m.tsxModifier=".tsx",m.jsModifier=".js",m.jsxModifier=".jsx",m.jsonModifier=".json",(y=e.ClassificationTypeNames||(e.ClassificationTypeNames={})).comment="comment",y.identifier="identifier",y.keyword="keyword",y.numericLiteral="number",y.bigintLiteral="bigint",y.operator="operator",y.stringLiteral="string",y.whiteSpace="whitespace",y.text="text",y.punctuation="punctuation",y.className="class name",y.enumName="enum name",y.interfaceName="interface name",y.moduleName="module name",y.typeParameterName="type parameter name",y.typeAliasName="type alias name",y.parameterName="parameter name",y.docCommentTagName="doc comment tag name",y.jsxOpenTagName="jsx open tag name",y.jsxCloseTagName="jsx close tag name",y.jsxSelfClosingTagName="jsx self closing tag name",y.jsxAttribute="jsx attribute",y.jsxText="jsx text",y.jsxAttributeStringLiteralValue="jsx attribute string literal value",(v=e.ClassificationType||(e.ClassificationType={}))[v.comment=1]="comment",v[v.identifier=2]="identifier",v[v.keyword=3]="keyword",v[v.numericLiteral=4]="numericLiteral",v[v.operator=5]="operator",v[v.stringLiteral=6]="stringLiteral",v[v.regularExpressionLiteral=7]="regularExpressionLiteral",v[v.whiteSpace=8]="whiteSpace",v[v.text=9]="text",v[v.punctuation=10]="punctuation",v[v.className=11]="className",v[v.enumName=12]="enumName",v[v.interfaceName=13]="interfaceName",v[v.moduleName=14]="moduleName",v[v.typeParameterName=15]="typeParameterName",v[v.typeAliasName=16]="typeAliasName",v[v.parameterName=17]="parameterName",v[v.docCommentTagName=18]="docCommentTagName",v[v.jsxOpenTagName=19]="jsxOpenTagName",v[v.jsxCloseTagName=20]="jsxCloseTagName",v[v.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",v[v.jsxAttribute=22]="jsxAttribute",v[v.jsxText=23]="jsxText",v[v.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",v[v.bigintLiteral=25]="bigintLiteral"}(s||(s={})),function(e){var t;function n(t){switch(t.kind){case 250:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 161:case 199:case 164:case 163:case 289:case 290:case 166:case 165:case 167:case 168:case 169:case 252:case 209:case 210:case 288:case 281:return 1;case 160:case 254:case 255:case 178:return 2;case 335:return void 0===t.name?3:2;case 292:case 253:return 3;case 257:return e.isAmbientModule(t)||1===e.getModuleInstanceState(t)?5:4;case 256:case 265:case 266:case 261:case 262:case 267:case 268:return 7;case 298:return 5}return 7}function i(t){for(;158===t.parent.kind;)t=t.parent;return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}function a(e){return e.expression}function o(e){return e.tag}function s(e){return e.tagName}function c(t,r,n,i,a){var o=i?l(t):u(t);return a&&(o=e.skipOuterExpressions(o)),!!o&&!!o.parent&&r(o.parent)&&n(o.parent)===o}function u(e){return p(e)?e.parent:e}function l(e){return p(e)||f(e)?e.parent:e}function d(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isBreakOrContinueStatement))||void 0===r?void 0:r.label)===t}function _(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isLabeledStatement))||void 0===r?void 0:r.label)===t}function p(t){var r;return(null===(r=e.tryCast(t.parent,e.isPropertyAccessExpression))||void 0===r?void 0:r.name)===t}function f(t){var r;return(null===(r=e.tryCast(t.parent,e.isElementAccessExpression))||void 0===r?void 0:r.argumentExpression)===t}e.scanner=e.createScanner(99,!0),(t=e.SemanticMeaning||(e.SemanticMeaning={}))[t.None=0]="None",t[t.Value=1]="Value",t[t.Type=2]="Type",t[t.Namespace=4]="Namespace",t[t.All=7]="All",e.getMeaningFromDeclaration=n,e.getMeaningFromLocation=function(t){return 298===(t=I(t)).kind?1:267===t.parent.kind||273===t.parent.kind||266===t.parent.kind||263===t.parent.kind||e.isImportEqualsDeclaration(t.parent)&&t===t.parent.name?7:i(t)?function(t){var r=158===t.kind?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:void 0;return r&&261===r.parent.kind?7:4}(t):e.isDeclarationName(t)?n(t.parent):e.isEntityName(t)&&(e.isJSDocNameReference(t.parent)||e.isJSDocLink(t.parent))?7:function(t){e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);switch(t.kind){case 107:return!e.isExpressionNode(t);case 188:return!0}switch(t.parent.kind){case 174:return!0;case 196:return!t.parent.isTypeOf;case 224:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return!1}(t)?2:function(e){return function(e){var t=e,r=!0;if(158===t.parent.kind){for(;t.parent&&158===t.parent.kind;)t=t.parent;r=t.right===e}return 174===t.parent.kind&&!r}(e)||function(e){var t=e,r=!0;if(202===t.parent.kind){for(;t.parent&&202===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&224===t.parent.kind&&287===t.parent.parent.kind){var n=t.parent.parent.parent;return 253===n.kind&&116===t.parent.parent.token||254===n.kind&&93===t.parent.parent.token}return!1}(e)}(t)?4:e.isTypeParameterDeclaration(t.parent)?(e.Debug.assert(e.isJSDocTemplateTag(t.parent.parent)),2):e.isLiteralTypeNode(t.parent)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=i,e.isCallExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isCallExpression,a,r,n)},e.isNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isNewExpression,a,r,n)},e.isCallOrNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isCallOrNewExpression,a,r,n)},e.isTaggedTemplateTag=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isTaggedTemplateExpression,o,r,n)},e.isDecoratorTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isDecorator,a,r,n)},e.isJsxOpeningLikeElementTagName=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),c(t,e.isJsxOpeningLikeElement,s,r,n)},e.climbPastPropertyAccess=u,e.climbPastPropertyOrElementAccess=l,e.getTargetLabel=function(e,t){for(;e;){if(246===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},e.hasPropertyAccessExpressionWithName=function(t,r){return!!e.isPropertyAccessExpression(t.expression)&&t.expression.name.text===r},e.isJumpStatementTarget=d,e.isLabelOfLabeledStatement=_,e.isLabelName=function(e){return _(e)||d(e)},e.isTagName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isJSDocTag))||void 0===r?void 0:r.tagName)===t},e.isRightSideOfQualifiedName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isQualifiedName))||void 0===r?void 0:r.right)===t},e.isRightSideOfPropertyAccess=p,e.isArgumentExpressionOfElementAccess=f,e.isNameOfModuleDeclaration=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isModuleDeclaration))||void 0===r?void 0:r.name)===t},e.isNameOfFunctionDeclaration=function(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isFunctionLike))||void 0===r?void 0:r.name)===t},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(t){switch(t.parent.kind){case 164:case 163:case 289:case 292:case 166:case 165:case 168:case 169:case 257:return e.getNameOfDeclaration(t.parent)===t;case 203:return t.parent.argumentExpression===t;case 159:return!0;case 192:return 190===t.parent.parent.kind;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t},e.getContainerNode=function(t){for(e.isJSDocTypeAlias(t)&&(t=t.parent.parent);;){if(!(t=t.parent))return;switch(t.kind){case 298:case 166:case 165:case 252:case 209:case 168:case 169:case 253:case 254:case 256:case 257:return t}}},e.getNodeKind=function t(r){switch(r.kind){case 298:return e.isExternalModule(r)?"module":"script";case 257:return"module";case 253:case 222:return"class";case 254:return"interface";case 255:case 328:case 335:return"type";case 256:return"enum";case 250:return c(r);case 199:return c(e.getRootDeclaration(r));case 210:case 252:case 209:return"function";case 168:return"getter";case 169:return"setter";case 166:case 165:return"method";case 289:var n=r.initializer;return e.isFunctionLike(n)?"method":"property";case 164:case 163:case 290:case 291:return"property";case 172:return"index";case 171:return"construct";case 170:return"call";case 167:return"constructor";case 160:return"type parameter";case 292:return"enum member";case 161:return e.hasSyntacticModifier(r,16476)?"property":"parameter";case 261:case 266:case 271:case 264:case 270:return"alias";case 217:var i=e.getAssignmentDeclarationKind(r),a=r.right;switch(i){case 7:case 8:case 9:case 0:return"";case 1:case 2:var o=t(a);return""===o?"const":o;case 3:return e.isFunctionExpression(a)?"method":"property";case 4:return"property";case 5:return e.isFunctionExpression(a)?"method":"property";case 6:return"local class";default:return e.assertType(i),""}case 78:return e.isImportClause(r.parent)?"alias":"";case 267:var s=t(r.expression);return""===s?"const":s;default:return""}function c(t){return e.isVarConst(t)?"const":e.isLet(t)?"let":"var"}},e.isThis=function(t){switch(t.kind){case 107:return!0;case 78:return e.identifierIsThisKeyword(t)&&161===t.parent.kind;default:return!1}};var g,m=/^\/\/\/\s*=r.end}function D(e,t,r,n){return Math.max(e,r)t)break;var u=c.getEnd();if(tt.end||e.pos===t.end)&&G(e,n)?r(e):void 0}))}(r)}function B(t,r,n,i){var a=function a(o){if(j(o)&&1!==o.kind)return o;var s=o.getChildren(r),c=e.binarySearchKey(s,t,(function(e,t){return t}),(function(e,r){return t=s[e-1].end?0:1:-1}));if(c>=0&&s[c]){var u=s[c];if(t=t||!G(u,r)||z(u)){var l=K(s,c,r);return l&&J(l,r)}return a(u)}}e.Debug.assert(void 0!==n||298===o.kind||1===o.kind||e.isJSDocCommentContainingNode(o));var d=K(s,s.length,r);return d&&J(d,r)}(n||r);return e.Debug.assert(!(a&&z(a))),a}function j(t){return e.isToken(t)&&!z(t)}function J(e,t){if(j(e))return e;var r=e.getChildren(t);if(0===r.length)return e;var n=K(r,r.length,t);return n&&J(n,t)}function K(t,r,n){for(var i=r-1;i>=0;i--){if(z(t[i]))e.Debug.assert(i>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(G(t[i],n))return t[i]}}function z(t){return e.isJsxText(t)&&t.containsOnlyTriviaWhiteSpaces}function U(t,r,n){var i=e.tokenToString(t.kind),a=e.tokenToString(r),o=t.getFullStart(),s=n.text.lastIndexOf(a,o);if(-1!==s){if(n.text.lastIndexOf(i,o-1)=r}))}function W(t,r){if(-1!==r.text.lastIndexOf("<",t?t.pos:r.text.length))for(var n=t,i=0,a=0;n;){switch(n.kind){case 29:if((n=B(n.getFullStart(),r))&&28===n.kind&&(n=B(n.getFullStart(),r)),!n||!e.isIdentifier(n))return;if(!i)return e.isDeclarationName(n)?void 0:{called:n,nTypeArguments:a};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(!(n=U(n,18,r)))return;break;case 21:if(!(n=U(n,20,r)))return;break;case 23:if(!(n=U(n,22,r)))return;break;case 27:a++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 138:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(n))break;return}n=B(n.getFullStart(),r)}}function H(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,void 0,n)}function G(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function Y(e,t,r){var n=H(e,t,void 0);return!!n&&r===m.test(e.text.substring(n.pos,n.end))}function X(t,r,n){return e.createTextSpanFromBounds(t.getStart(r),(n||t).getEnd())}function $(t){if(!t.isUnterminated)return e.createTextSpanFromBounds(t.getStart()+1,t.getEnd()-1)}function Q(e,t){return{span:e,newText:t}}function Z(e){return 149===e.kind}function ee(t,r){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return r.getCurrentDirectory()},readFile:e.maybeBind(r,r.readFile),useCaseSensitiveFileNames:e.maybeBind(r,r.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(r,r.getSymlinkCache)||t.getSymlinkCache,getModuleSpecifierCache:e.maybeBind(r,r.getModuleSpecifierCache),getGlobalTypingsCacheLocation:e.maybeBind(r,r.getGlobalTypingsCacheLocation),getSourceFiles:function(){return t.getSourceFiles()},redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},getNearestAncestorDirectoryWithPackageJson:e.maybeBind(r,r.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:function(){return t.getFileIncludeReasons()}}}function te(e,t){return r(r({},ee(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function re(t,r,n,i,a){return e.factory.createImportDeclaration(void 0,void 0,t||r?e.factory.createImportClause(!!a,t,r&&r.length?e.factory.createNamedImports(r):void 0):void 0,"string"==typeof n?ne(n,i):n)}function ne(t,r){return e.factory.createStringLiteral(t,0===r)}function ie(t,r){return e.isStringDoubleQuoted(t,r)?1:0}function ae(t,r){if(r.quotePreference&&"auto"!==r.quotePreference)return"single"===r.quotePreference?0:1;var n=t.imports&&e.find(t.imports,(function(t){return e.isStringLiteral(t)&&!e.nodeIsSynthesized(t.parent)}));return n?ie(n,t):1}function oe(t){return"default"!==t.escapedName?t.escapedName:e.firstDefined(t.declarations,(function(t){var r=e.getNameOfDeclaration(t);return r&&78===r.kind?r.escapedText:void 0}))}function se(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function ce(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function ue(e){return e.declarations&&e.declarations.length>0&&161===e.declarations[0].kind}e.getLineStartPositionForPosition=function(t,r){return e.getLineStarts(r)[r.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=y,e.rangeContainsRangeExclusive=function(e,t){return v(e,t.pos)&&v(e,t.end)},e.rangeContainsPosition=function(e,t){return e.pos<=t&&t<=e.end},e.rangeContainsPositionExclusive=v,e.startEndContainsRange=h,e.rangeContainsStartEnd=function(e,t,r){return e.pos<=t&&e.end>=r},e.rangeOverlapsWithStartEnd=function(e,t,r){return D(e.pos,e.end,t,r)},e.nodeOverlapsWithStartEnd=function(e,t,r,n){return D(e.getStart(t),e.end,r,n)},e.startEndOverlapsWithStartEnd=D,e.positionBelongsToNode=function(t,r,n){return e.Debug.assert(t.pos<=r),rn.getStart(t)&&rn.getStart(t)},e.isInJSXText=function(t,r){var n=M(t,r);return!!e.isJsxText(n)||(!(18!==n.kind||!e.isJsxExpression(n.parent)||!e.isJsxElement(n.parent.parent))||!(29!==n.kind||!e.isJsxOpeningLikeElement(n.parent)||!e.isJsxElement(n.parent.parent)))},e.isInsideJsxElement=function(e,t){return function(r){for(;r;)if(r.kind>=275&&r.kind<=284||11===r.kind||29===r.kind||31===r.kind||78===r.kind||19===r.kind||18===r.kind||43===r.kind)r=r.parent;else{if(274!==r.kind)return!1;if(t>r.getStart(e))return!0;r=r.parent}return!1}(M(e,t))},e.findPrecedingMatchingToken=U,e.removeOptionality=V,e.isPossiblyTypeArgumentPosition=function t(r,n,i){var a=W(r,n);return void 0!==a&&(e.isPartOfTypeNode(a.called)||0!==q(a.called,a.nTypeArguments,i).length||t(a.called,n,i))},e.getPossibleGenericSignatures=q,e.getPossibleTypeArgumentsInfo=W,e.isInComment=H,e.hasDocComment=function(t,r){var n=M(t,r);return!!e.findAncestor(n,e.isJSDoc)},e.getNodeModifiers=function(t,r){void 0===r&&(r=0);var n=[],i=e.isDeclaration(t)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(t)&~r:0;return 8&i&&n.push("private"),16&i&&n.push("protected"),4&i&&n.push("public"),32&i&&n.push("static"),128&i&&n.push("abstract"),1&i&&n.push("export"),8192&i&&n.push("deprecated"),8388608&t.flags&&n.push("declare"),267===t.kind&&n.push("export"),n.length>0?n.join(","):""},e.getTypeArgumentOrTypeParameterList=function(t){return 174===t.kind||204===t.kind?t.typeArguments:e.isFunctionLike(t)||253===t.kind||254===t.kind?t.typeParameters:void 0},e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(10!==t&&13!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 18<=e&&e<=77},e.isInsideTemplateLiteral=function(t,r,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart(n)=2||!!e.noEmit},e.createModuleSpecifierResolutionHost=ee,e.getModuleSpecifierResolverHost=te,e.makeImportIfNecessary=function(e,t,r,n){return e||t&&t.length?re(e,t,r,n):void 0},e.makeImport=re,e.makeStringLiteral=ne,(g=e.QuotePreference||(e.QuotePreference={}))[g.Single=0]="Single",g[g.Double=1]="Double",e.quotePreferenceFromString=ie,e.getQuotePreference=ae,e.getQuoteFromPreference=function(t){switch(t){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(t)}},e.symbolNameNoDefault=function(t){var r=oe(t);return void 0===r?void 0:e.unescapeLeadingUnderscores(r)},e.symbolEscapedNameNoDefault=oe,e.isModuleSpecifierLike=function(t){return e.isStringLiteralLike(t)&&(e.isExternalModuleReference(t.parent)||e.isImportDeclaration(t.parent)||e.isRequireCall(t.parent,!1)&&t.parent.arguments[0]===t||e.isImportCall(t.parent)&&t.parent.arguments[0]===t)},e.isObjectBindingElementWithoutPropertyName=function(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName},e.getPropertySymbolFromBindingElement=function(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)},e.getParentNodeInSpan=function(t,r,n){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!se(n,t.parent,r))return t;t=t.parent}},e.findModifier=function(t,r){return t.modifiers&&e.find(t.modifiers,(function(e){return e.kind===r}))},e.insertImports=function(t,r,n,i){var a=233===(e.isArray(n)?n[0]:n).kind?e.isRequireVariableStatement:e.isAnyImportSyntax,o=e.filter(r.statements,a),s=e.isArray(n)?e.stableSort(n,e.OrganizeImports.compareImportsOrRequireStatements):[n];if(o.length)if(o&&e.OrganizeImports.importsAreSorted(o))for(var c=0,u=s;ca&&r&&"..."!==r&&(e.isWhiteSpaceLike(r.charCodeAt(r.length-1))||t.push(_e(" ",e.SymbolDisplayPartKind.space)),t.push(_e("...",e.SymbolDisplayPartKind.punctuation))),t},writeKeyword:function(t){return c(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return c(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return c(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return c(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return c(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,r){if(i>a)return;s(),i+=e.length,t.push(de(e,r))},writeLine:function(){if(i>a)return;i+=1,t.push(De()),r=!0},write:o,writeComment:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return n},increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:u,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function s(){if(!(i>a)&&r){var o=e.getIndentString(n);o&&(i+=o.length,t.push(_e(o,e.SymbolDisplayPartKind.space))),r=!1}}function c(e,r){i>a||(s(),i+=e.length,t.push(_e(e,r)))}function u(){t=[],r=!0,n=0,i=0}}();function de(t,r){return _e(t,function(t){var r=t.flags;if(3&r)return ue(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName;if(4&r)return e.SymbolDisplayPartKind.propertyName;if(32768&r)return e.SymbolDisplayPartKind.propertyName;if(65536&r)return e.SymbolDisplayPartKind.propertyName;if(8&r)return e.SymbolDisplayPartKind.enumMemberName;if(16&r)return e.SymbolDisplayPartKind.functionName;if(32&r)return e.SymbolDisplayPartKind.className;if(64&r)return e.SymbolDisplayPartKind.interfaceName;if(384&r)return e.SymbolDisplayPartKind.enumName;if(1536&r)return e.SymbolDisplayPartKind.moduleName;if(8192&r)return e.SymbolDisplayPartKind.methodName;if(262144&r)return e.SymbolDisplayPartKind.typeParameterName;if(524288&r)return e.SymbolDisplayPartKind.aliasName;if(2097152&r)return e.SymbolDisplayPartKind.aliasName;return e.SymbolDisplayPartKind.text}(r))}function _e(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}function pe(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function fe(t){return _e(t,e.SymbolDisplayPartKind.text)}function ge(t){return _e(t,e.SymbolDisplayPartKind.linkText)}function me(t,r){return{text:e.getTextOfNode(t),kind:e.SymbolDisplayPartKind[e.SymbolDisplayPartKind.linkName],target:{fileName:e.getSourceFileOfNode(r).fileName,textSpan:X(r)}}}function ye(t){return _e(t,e.SymbolDisplayPartKind.link)}e.symbolPart=de,e.displayPart=_e,e.spacePart=function(){return _e(" ",e.SymbolDisplayPartKind.space)},e.keywordPart=pe,e.punctuationPart=function(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return _e(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.parameterNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.parameterName)},e.propertyNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.propertyName)},e.textOrKeywordPart=function(t){var r=e.stringToToken(t);return void 0===r?fe(t):pe(r)},e.textPart=fe,e.typeAliasNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.aliasName)},e.typeParameterNamePart=function(t){return _e(t,e.SymbolDisplayPartKind.typeParameterName)},e.linkTextPart=ge,e.linkNamePart=me,e.linkPart=ye,e.buildLinkParts=function(t,r){var n,i=[ye("{@link ")];if(t.name){var a=null==r?void 0:r.getSymbolAtLocation(t.name),o=(null==a?void 0:a.valueDeclaration)||(null===(n=null==a?void 0:a.declarations)||void 0===n?void 0:n[0]);o?(i.push(me(t.name,o)),t.text&&i.push(ge(t.text))):i.push(ge(e.getTextOfNode(t.name)+t.text))}else t.text&&i.push(ge(t.text));return i.push(ye("}")),i};var ve,he;function De(){return _e("\n",e.SymbolDisplayPartKind.lineBreak)}function xe(e){try{return e(le),le.displayParts()}finally{le.clear()}}function be(e){return 0!=(33554432&e.flags)}function Se(e){return 0!=(2097152&e.flags)}function Ee(e,t){void 0===t&&(t=!0);var r=e&&Ce(e);return r&&!t&&ke(r),r}function Te(t,r,n){var i=n(t);return i?e.setOriginalNode(i,t):i=Ce(t,n),i&&!r&&ke(i),i}function Ce(t,r){var n=r?e.visitEachChild(t,(function(e){return Te(e,!0,r)}),e.nullTransformationContext):e.visitEachChild(t,Ee,e.nullTransformationContext);if(n===t){var i=e.isStringLiteral(t)?e.setOriginalNode(e.factory.createStringLiteralFromNode(t),t):e.isNumericLiteral(t)?e.setOriginalNode(e.factory.createNumericLiteral(t.text,t.numericLiteralFlags),t):e.factory.cloneNode(t);return e.setTextRange(i,t)}return n.parent=void 0,n}function ke(e){Ae(e),Fe(e)}function Ae(e){Ne(e,512,Pe)}function Fe(t){Ne(t,1024,e.getLastChild)}function Ne(t,r,n){e.addEmitFlags(t,r);var i=n(t);i&&Ne(i,r,n)}function Pe(e){return e.forEachChild((function(e){return e}))}function we(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,Me(r,n,i,a,e.addSyntheticLeadingComment))}function Ie(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.end,Me(r,n,i,a,e.addSyntheticTrailingComment))}function Oe(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.pos,Me(r,n,i,a,e.addSyntheticLeadingComment))}function Me(e,t,r,n,i){return function(a,o,s,c){3===s?(a+=2,o-=2):a+=2,i(e,r||s,t.text.slice(a,o),void 0!==n?n:c)}}function Le(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(" "+r);return-1===n&&(n=t.indexOf("."+r)),-1===n&&(n=t.indexOf('"'+r)),-1===n?-1:n+1}function Re(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function Be(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function je(e){return 170===e||171===e||172===e||163===e||165===e}function Je(e){return 252===e||167===e||166===e||168===e||169===e}function Ke(e){return 257===e}function ze(e){return 233===e||234===e||236===e||241===e||242===e||243===e||247===e||249===e||164===e||255===e||262===e||261===e||268===e||260===e||267===e}function Ue(e,t){return qe(e,e.fileExists,t)}function Ve(e){try{return e()}catch(e){return}}function qe(e,t){for(var r=[],n=2;n-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r));)r-=1;return r+1},e.getSynthesizedDeepClone=Ee,e.getSynthesizedDeepCloneWithReplacements=Te,e.getSynthesizedDeepClones=function(t,r){return void 0===r&&(r=!0),t&&e.factory.createNodeArray(t.map((function(e){return Ee(e,r)})),t.hasTrailingComma)},e.getSynthesizedDeepClonesWithReplacements=function(t,r,n){return e.factory.createNodeArray(t.map((function(e){return Te(e,r,n)})),t.hasTrailingComma)},e.suppressLeadingAndTrailingTrivia=ke,e.suppressLeadingTrivia=Ae,e.suppressTrailingTrivia=Fe,e.copyComments=function(e,t){var r=e.getSourceFile();!function(e,t){for(var r=e.getFullStart(),n=e.getStart(),i=r;i=0),o},e.copyLeadingComments=we,e.copyTrailingComments=Ie,e.copyTrailingAsLeadingComments=Oe,e.needsParentheses=function(t){return e.isBinaryExpression(t)&&27===t.operatorToken.kind||e.isObjectLiteralExpression(t)||e.isAsExpression(t)&&e.isObjectLiteralExpression(t.expression)},e.getContextualTypeFromParent=function(e,t){var r=e.parent;switch(r.kind){case 205:return t.getContextualType(r);case 217:var n=r,i=n.left,a=n.operatorToken,o=n.right;return Re(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e);case 285:return r.expression===e?Be(r,t):void 0;default:return t.getContextualType(e)}},e.quote=function(t,r,n){var i=ae(t,r),a=JSON.stringify(n);return 0===i?"'"+e.stripQuotes(a).replace(/'/g,"\\'").replace(/\\"/g,'"')+"'":a},e.isEqualityOperatorKind=Re,e.isStringLiteralOrTemplate=function(e){switch(e.kind){case 10:case 14:case 219:case 206:return!0;default:return!1}},e.hasIndexSignature=function(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()},e.getSwitchedType=Be,e.ANONYMOUS="anonymous function",e.getTypeNodeIfAccessible=function(e,t,r,n){var i=r.getTypeChecker(),a=!0,o=function(){a=!1},s=i.typeToTypeNode(e,t,1,{trackSymbol:function(e,t,r){a=a&&0===i.isSymbolAccessible(e,t,r,!1).accessibility},reportInaccessibleThisError:o,reportPrivateInBaseOfClassExpression:o,reportInaccessibleUniqueSymbolError:o,moduleResolverHost:te(r,n)});return a?s:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=je,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=Je,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=Ke,e.syntaxRequiresTrailingSemicolonOrASI=ze,e.syntaxMayBeASICandidate=e.or(je,Je,Ke,ze),e.positionIsASICandidate=function(t,r,n){var i=e.findAncestor(r,(function(r){return r.end!==t?"quit":e.syntaxMayBeASICandidate(r.kind)}));return!!i&&function(t,r){var n=t.getLastToken(r);if(n&&26===n.kind)return!1;if(je(t.kind)){if(n&&27===n.kind)return!1}else if(Ke(t.kind)){if((i=e.last(t.getChildren(r)))&&e.isModuleBlock(i))return!1}else if(Je(t.kind)){var i;if((i=e.last(t.getChildren(r)))&&e.isFunctionBlock(i))return!1}else if(!ze(t.kind))return!1;if(236===t.kind)return!0;var a=R(t,e.findAncestor(t,(function(e){return!e.parent})),r);return!a||19===a.kind||r.getLineAndCharacterOfPosition(t.getEnd()).line!==r.getLineAndCharacterOfPosition(a.getStart(r)).line}(i,n)},e.probablyUsesSemicolons=function(t){var r=0,n=0;return e.forEachChild(t,(function i(a){if(ze(a.kind)){var o=a.getLastToken(t);o&&26===o.kind?r++:n++}return r+n>=5||e.forEachChild(a,i)})),0===r&&n<=1||r/n>.2},e.tryGetDirectories=function(e,t){return qe(e,e.getDirectories,t)||[]},e.tryReadDirectory=function(t,r,n,i,a){return qe(t,t.readDirectory,r,n,i,a)||e.emptyArray},e.tryFileExists=Ue,e.tryDirectoryExists=function(t,r){return Ve((function(){return e.directoryProbablyExists(r,t)}))||!1},e.tryAndIgnoreErrors=Ve,e.tryIOAndConsumeErrors=qe,e.findPackageJsons=function(t,r,n){var i=[];return e.forEachAncestorDirectory(t,(function(t){if(t===n)return!0;var a=e.combinePaths(t,"package.json");Ue(r,a)&&i.push(a)})),i},e.findPackageJson=function(t,r){var n;return e.forEachAncestorDirectory(t,(function(t){return"node_modules"===t||(!!(n=e.findConfigFile(t,(function(e){return Ue(r,e)}),"package.json"))||void 0)})),n},e.getPackageJsonsVisibleToFile=We,e.createPackageJsonInfo=He,e.createPackageJsonImportFilter=function(t,r){var n,i=(r.getPackageJsonsVisibleToFile&&r.getPackageJsonsVisibleToFile(t.fileName)||We(t.fileName,r)).filter((function(e){return e.parseable}));return{allowsImportingAmbientModule:function(t,r){if(!i.length||!t.valueDeclaration)return!0;var n=s(t.valueDeclaration.getSourceFile().fileName,r);if(void 0===n)return!0;var c=e.stripQuotes(t.getName());if(o(c))return!0;return a(n)||a(c)},allowsImportingSourceFile:function(e,t){if(!i.length)return!0;var r=s(e.fileName,t);if(!r)return!0;return a(r)},allowsImportingSpecifier:function(t){if(!i.length||o(t))return!0;if(e.pathIsRelative(t)||e.isRootedDiskPath(t))return!0;return a(t)}};function a(t){for(var r=c(t),n=0,a=i;n=0){var a=r[i];return e.Debug.assertEqual(a.file,t.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),e.cast(a,Ye)}},e.getDiagnosticsWithinSpan=function(t,r){var n,i=e.binarySearchKey(r,t.start,(function(e){return e.start}),e.compareValues);for(i<0&&(i=~i);(null===(n=r[i-1])||void 0===n?void 0:n.start)===t.start;)i--;for(var a=[],o=e.textSpanEnd(t);;){var s=e.tryCast(r[i],Ye);if(!s||s.start>o)break;e.textSpanContainsTextSpan(t,s)&&a.push(s),i++}return a},e.getRefactorContextSpan=function(t){var r=t.startPosition,n=t.endPosition;return e.createTextSpanFromBounds(r,void 0===n?r:n)},e.mapOneOrMany=function(t,r,n){return void 0===n&&(n=e.identity),t?e.isArray(t)?n(e.map(t,r)):r(t,0):void 0},e.firstOrOnly=function(t){return e.isArray(t)?e.first(t):t},e.getNameForExportedSymbol=function(t,r){return 33554432&t.flags||"export="!==t.escapedName&&"default"!==t.escapedName?t.name:e.firstDefined(t.declarations,(function(t){var r;return e.isExportAssignment(t)?null===(r=e.tryCast(e.skipOuterExpressions(t.expression),e.isIdentifier))||void 0===r?void 0:r.text:void 0}))||e.codefix.moduleSymbolToValidIdentifier(function(t){var r;return e.Debug.checkDefined(t.parent,"Symbol parent was undefined. Flags: "+e.Debug.formatSymbolFlags(t.flags)+". Declarations: "+(null===(r=t.declarations)||void 0===r?void 0:r.map((function(t){var r=e.Debug.formatSyntaxKind(t.kind),n=e.isInJSFile(t),i=t.expression;return(n?"[JS]":"")+r+(i?" (expression: "+e.Debug.formatSyntaxKind(i.kind)+")":"")})).join(", "))+".")}(t),r)},e.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=i.length){var D=r(o,u,e.lastOrUndefined(d));void 0!==D&&(m=D)}}while(1!==u);function x(){switch(u){case 43:case 67:t[l]||13!==o.reScanSlashToken()||(u=13);break;case 29:78===l&&v++;break;case 31:v>0&&v--;break;case 128:case 147:case 144:case 131:case 148:v>0&&!c&&(u=78);break;case 15:d.push(u);break;case 18:d.length>0&&d.push(u);break;case 19:if(d.length>0){var r=e.lastOrUndefined(d);15===r?17===(u=o.reScanTemplateToken(!1))?d.pop():e.Debug.assertEqual(u,16,"Should have been a template middle."):(e.Debug.assertEqual(r,18,"Should have been an open brace"),d.pop())}break;default:if(!e.isKeyword(u))break;(24===l||e.isKeyword(l)&&e.isKeyword(u)&&!function(t,r){if(!e.isAccessibilityModifier(t))return!0;switch(r){case 134:case 146:case 132:case 123:return!0;default:return!1}}(l,u))&&(u=78)}}return{endOfLineState:m,spans:y}}return{getClassificationsForLine:function(t,r,n){return function(t,r){for(var n=[],a=t.spans,o=0,s=0;s=0){var d=c-o;d>0&&n.push({length:d,classification:e.TokenClass.Whitespace})}n.push({length:u,classification:i(l)}),o=c+u}var _=r.length-o;_>0&&n.push({length:_,classification:e.TokenClass.Whitespace});return{entries:n,finalLexState:t.endOfLineState}}(s(t,r,n),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([78,10,8,9,13,107,45,46,21,23,19,109,94],(function(e){return e}),(function(){return!0}));function r(t,r,n){switch(r){case 10:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated())return;switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+r)}}return 15===n?6:void 0}}function n(e,t,r,n,i){if(8!==n){0===e&&r>0&&(e+=r);var a=t-e;a>0&&i.push(e-r,a,n)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 101:case 100:case 126:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 73:case 72:case 77:case 69:case 70:case 71:case 63:case 64:case 65:case 67:case 68:case 62:case 27:case 60:case 74:case 75:case 76:return!0;default:return!1}}(t)||function(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(t))return 5;if(t>=18&&t<=77)return 10;switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 78:default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 257:case 253:case 254:case 252:case 222:case 209:case 210:e.throwIfCancellationRequested()}}function s(t,r,n,i,a){var s=[];return n.forEachChild((function u(l){if(l&&e.textSpanIntersectsWith(a,l.pos,l.getFullWidth())){if(o(r,l.kind),e.isIdentifier(l)&&!e.nodeIsMissing(l)&&i.has(l.escapedText)){var d=t.getSymbolAtLocation(l),_=d&&c(d,e.getMeaningFromLocation(l),t);_&&function(t,r,n){var i=r-t;e.Debug.assert(i>0,"Classification had non-positive length of "+i),s.push(t),s.push(i),s.push(n)}(l.getStart(n),l.getEnd(),_)}l.forEachChild(u)}})),{spans:s,endOfLineState:0}}function c(t,r,n){var i=t.getFlags();return 0==(2885600&i)?void 0:32&i?11:384&i?12:524288&i?16:1536&i?4&r||1&r&&function(t){return e.some(t.declarations,(function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)}))}(t)?14:void 0:2097152&i?c(n.getAliasedSymbol(t),r,n):2&r?64&i?13:262144&i?15:void 0:void 0}function u(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function l(t){e.Debug.assert(t.spans.length%3==0);for(var r=t.spans,n=[],i=0;i])*)(\/>)?)?/im,a=/(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/gim,o=r.text.substr(t,n),s=i.exec(o);if(!s)return!1;if(!s[3]||!(s[3]in e.commentPragmas))return!1;var c=t;_(c,s[1].length),l(c+=s[1].length,s[2].length,10),l(c+=s[2].length,s[3].length,21),c+=s[3].length;var u=s[4],d=c;for(;;){var p=a.exec(u);if(!p)break;var f=c+p.index;f>d&&(_(d,f-d),d=f),l(d,p[1].length,22),d+=p[1].length,p[2].length&&(_(d,p[2].length),d+=p[2].length),l(d,p[3].length,5),d+=p[3].length,p[4].length&&(_(d,p[4].length),d+=p[4].length),l(d,p[5].length,24),d+=p[5].length}(c+=s[4].length)>d&&_(d,c-d);s[5]&&(l(c,s[5].length,10),c+=s[5].length);var g=t+n;c=0),a>0){var o=n||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,r){if(e.isKeyword(t))return 3;if((29===t||31===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){var n=r.parent;if(62===t&&(250===n.kind||164===n.kind||161===n.kind||281===n.kind))return 5;if(217===n.kind||215===n.kind||216===n.kind||218===n.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 25;if(10===t)return r&&281===r.parent.kind?24:6;if(13===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(11===t)return 23;if(78===t){if(r)switch(r.parent.kind){case 253:return r.parent.name===r?11:void 0;case 160:return r.parent.name===r?15:void 0;case 254:return r.parent.name===r?13:void 0;case 256:return r.parent.name===r?12:void 0;case 257:return r.parent.name===r?14:void 0;case 161:return r.parent.name===r?e.isThisIdentifier(r)?3:17:void 0}return 2}}function v(n){if(n&&e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){o(t,n.kind);for(var s=0,c=n.getChildren(r);s0})))return 0;if(a((function(e){return e.getCallSignatures().length>0}))&&!a((function(e){return e.getProperties().length>0}))||function(t){for(;c(t);)t=t.parent;return e.isCallExpression(t.parent)&&t.parent.expression===t}(r))return 9===n?11:10}}return n}(o,_,g);var y=f.valueDeclaration;if(y){var v=e.getCombinedModifierFlags(y),h=e.getCombinedNodeFlags(y);32&v&&(m|=2),256&v&&(m|=4),0!==g&&2!==g&&(64&v||2&h||8&f.getFlags())&&(m|=8),7!==g&&10!==g||!function(t,r){return e.isBindingElement(t)&&(t=s(t)),e.isVariableDeclaration(t)?(!e.isSourceFile(t.parent.parent.parent)||e.isCatchClause(t.parent))&&t.getSourceFile()===r:!!e.isFunctionDeclaration(t)&&(!e.isSourceFile(t.parent)&&t.getSourceFile()===r)}(y,r)||(m|=32),t.isSourceFileDefaultLibrary(y.getSourceFile())&&(m|=16)}else f.declarations&&f.declarations.some((function(e){return t.isSourceFileDefaultLibrary(e.getSourceFile())}))&&(m|=16);i(_,g,m)}}}e.forEachChild(_,d),l=p}}d(r)}(t,r,n,(function(e,t,n){a.push(e.getStart(r),e.getWidth(r),(t+1<<8)+n)}),i),a}function s(t){for(;;){if(!e.isBindingElement(t.parent.parent))return t.parent.parent;t=t.parent.parent}}function c(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t}(r=t.TokenEncodingConsts||(t.TokenEncodingConsts={}))[r.typeOffset=8]="typeOffset",r[r.modifierMask=255]="modifierMask",(n=t.TokenType||(t.TokenType={}))[n.class=0]="class",n[n.enum=1]="enum",n[n.interface=2]="interface",n[n.namespace=3]="namespace",n[n.typeParameter=4]="typeParameter",n[n.type=5]="type",n[n.parameter=6]="parameter",n[n.variable=7]="variable",n[n.enumMember=8]="enumMember",n[n.property=9]="property",n[n.function=10]="function",n[n.member=11]="member",(i=t.TokenModifier||(t.TokenModifier={}))[i.declaration=0]="declaration",i[i.static=1]="static",i[i.async=2]="async",i[i.readonly=3]="readonly",i[i.defaultLibrary=4]="defaultLibrary",i[i.local=5]="local",t.getSemanticClassifications=function(t,r,n,i){var o=a(t,r,n,i);e.Debug.assert(o.spans.length%3==0);for(var s=o.spans,c=[],u=0;ua.parameters.length)){var o=r.getParameterType(a,t.argumentIndex);return n=n||!!(4&o.flags),l(o,i)}})),isNewIdentifier:n}}(C,a):k()}case 262:case 268:case 273:return{kind:0,paths:f(t,n,o,s,a,d)};default:return k()}function k(){return{kind:2,types:l(e.getContextualTypeFromParent(n,a)),isNewIdentifier:!1}}}function c(t){switch(t.kind){case 187:return e.walkUpParenthesizedTypes(t);case 208:return e.walkUpParenthesizedExpressions(t);default:return t}}function u(t){return t&&{kind:1,symbols:e.filter(t.getApparentProperties(),(function(t){return!(t.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(t.valueDeclaration))})),hasIndexSignature:e.hasIndexSignature(t)}}function l(t,r){return void 0===r&&(r=new e.Map),t?(t=e.skipConstraint(t)).isUnion()?e.flatMap(t.types,(function(e){return l(e,r)})):!t.isStringLiteral()||1024&t.flags||!e.addToSeen(r,t.value)?e.emptyArray:[t]:e.emptyArray}function d(e,t,r){return{name:e,kind:t,extension:r}}function _(e){return d(e,"directory",void 0)}function p(t,r,n){var i=function(t,r){var n=Math.max(t.lastIndexOf(e.directorySeparator),t.lastIndexOf(e.altDirectorySeparator)),i=-1!==n?n+1:0,a=t.length-i;return 0===a||e.isIdentifierText(t.substr(i,a),99)?void 0:e.createTextSpan(r+i,a)}(t,r),a=0===t.length?void 0:e.createTextSpan(r,t.length);return n.map((function(t){var r=t.name,n=t.kind,o=t.extension;return-1!==Math.max(r.indexOf(e.directorySeparator),r.indexOf(e.altDirectorySeparator))?{name:r,kind:n,extension:o,span:a}:{name:r,kind:n,extension:o,span:i}}))}function f(r,n,i,a,o,s){return p(n.text,n.getStart(r)+1,function(r,n,i,a,o,s){var c=e.normalizeSlashes(n.text),u=r.path,l=e.getDirectoryPath(u);return function(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}return!1}(c)||!i.baseUrl&&(e.isRootedDiskPath(c)||e.isUrl(c))?function(r,n,i,a,o,s){var c=g(i,"js"===s.importModuleSpecifierEnding);return i.rootDirs?function(r,n,i,a,o,s,c){var u=o.project||s.getCurrentDirectory(),l=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),d=function(r,n,i,a){r=r.map((function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))}));var o=e.firstDefined(r,(function(t){return e.containsPath(t,i,n,a)?i.substr(t.length):void 0}));return e.deduplicate(t(t([],r.map((function(t){return e.combinePaths(t,o)}))),[i]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(r,u,i,l);return e.flatMap(d,(function(e){return y(n,e,a,s,c)}))}(i.rootDirs,r,n,c,i,a,o):y(r,n,c,a,o)}(c,l,i,a,u,s):function(t,r,n,i,a){var o=n.baseUrl,s=n.paths,c=[],u=g(n);if(o){var l=n.project||i.getCurrentDirectory(),_=e.normalizePath(e.combinePaths(l,o));y(t,_,u,i,void 0,c),s&&v(c,t,_,u.extensions,s,i)}for(var p=h(t),f=0,m=function(t,r,n){var i=n.getAmbientModules().map((function(t){return e.stripQuotes(t.name)})).filter((function(r){return e.startsWith(r,t)}));if(void 0!==r){var a=e.ensureTrailingDirectorySeparator(r);return i.map((function(t){return e.removePrefix(t,a)}))}return i}(t,p,a);f=e.pos&&r<=e.end}));if(s){var c=t.text.slice(s.pos,r),u=b.exec(c);if(u){var l=u[1],d=u[2],_=u[3],f=e.getDirectoryPath(t.path),m="path"===d?y(_,f,g(n,!0),i,t.path):"types"===d?x(i,n,f,h(_),g(n)):e.Debug.fail();return p(_,s.pos+l.length,m)}}}(t,n,c,u))&&i(_);if(e.isInString(t,n,a)){if(!a||!e.isStringLiteralLike(a))return;var _;return function(t,n,a,o,s,c,u){if(void 0!==t){var l=e.createTextSpanFromStringLiteralLikeContent(n);switch(t.kind){case 0:return i(t.paths);case 1:var d=[];return r.getCompletionEntriesFromSymbols(t.symbols,d,n,a,a,o,99,s,4,u,c),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:t.hasIndexSignature,optionalReplacementSpan:l,entries:d};case 2:return d=t.types.map((function(t){return{name:t.value,kindModifiers:"",kind:"string",sortText:r.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(n)}})),{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:t.isNewIdentifier,optionalReplacementSpan:l,entries:d};default:return e.Debug.assertNever(t)}}}(_=s(t,a,n,o,c,u,d),a,t,o,l,c,d)}},n.getStringLiteralCompletionDetails=function(t,n,i,o,c,u,l,d,_){if(o&&e.isStringLiteralLike(o)){var p=s(n,o,i,c,u,l,_);return p&&function(t,n,i,o,s,c){switch(i.kind){case 0:return(u=e.find(i.paths,(function(e){return e.name===t})))&&r.createCompletionDetails(t,a(u.extension),u.kind,[e.textPart(t)]);case 1:var u;return(u=e.find(i.symbols,(function(e){return e.name===t})))&&r.createCompletionDetailsForSymbol(u,s,o,n,c);case 2:return e.find(i.types,(function(e){return e.value===t}))?r.createCompletionDetails(t,"","type",[e.textPart(t)]):void 0;default:return e.Debug.assertNever(i)}}(t,o,p,n,c,d)}},function(e){e[e.Paths=0]="Paths",e[e.Properties=1]="Properties",e[e.Types=2]="Types"}(o||(o={}));var b=/^(\/\/\/\s*=t.pos;case 24:return 198===n;case 58:return 199===n;case 22:return 198===n;case 20:return 288===n||ge(n);case 18:return 256===n;case 29:return 253===n||222===n||254===n||255===n||e.isFunctionLikeKind(n);case 123:return 164===n&&!e.isClassLike(r.parent);case 25:return 161===n||!!r.parent&&198===r.parent.kind;case 122:case 120:case 121:return 161===n&&!e.isConstructorDeclaration(r.parent);case 126:return 266===n||271===n||264===n;case 134:case 146:return!J(t);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 135:case 149:return!0;case 41:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(O(L(t))&&J(t))return!1;if(pe(t)&&(!e.isIdentifier(t)||e.isParameterPropertyModifier(L(t))||he(t)))return!1;switch(L(t)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return e.isPropertyDeclaration(t.parent)}if(e.findAncestor(t.parent,e.isClassLike)&&t===v&&fe(t,o))return!1;var a=e.getAncestor(t.parent,164);if(a&&t!==v&&e.isClassLike(v.parent.parent)&&o<=v.end){if(fe(t,v.end))return!1;if(62!==t.kind&&(e.isInitializedProperty(a)||e.hasType(a)))return!0}return e.isDeclarationName(t)&&!e.isShorthandPropertyAssignment(t.parent)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==v||o>v.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}(t)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(276===e.parent.kind)return 276!==P.parent.kind;if(277===e.parent.kind||275===e.parent.kind)return!!e.parent.parent&&274===e.parent.parent.kind}return!1}(t);return n("getCompletionsAtPosition: isCompletionListBlocker: "+(e.timestamp()-r)),a}(h))return void n("Returning an empty list because completion was requested in an invalid position.");var M=h.parent;if(24===h.kind||28===h.kind)switch(E=24===h.kind,T=28===h.kind,M.kind){case 202:if(S=(x=M).expression,(e.isCallExpression(S)||e.isFunctionLike(S))&&S.end===h.pos&&S.getChildCount(i)&&21!==e.last(S.getChildren(i)).kind)return;break;case 158:S=M.left;break;case 257:S=M.name;break;case 196:case 227:S=M;break;default:return}else if(!b&&1===i.languageVariant){if(M&&202===M.kind&&(h=M,M=M.parent),_.parent===P)switch(_.kind){case 31:274!==_.parent.kind&&276!==_.parent.kind||(P=_);break;case 43:275===_.parent.kind&&(P=_)}switch(M.kind){case 277:43===h.kind&&(A=!0,P=h);break;case 217:if(!K(M))break;case 275:case 274:case 276:N=!0,29===h.kind&&(C=!0,P=h);break;case 284:19===v.kind&&31===_.kind&&(N=!0);break;case 281:if(M.initializer===v&&v.end0&&(Y=function(t,r){if(0===r.length)return t;for(var n=new e.Set,i=new e.Set,a=0,o=r;a");return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:e.createTextSpanFromNode(i.tagName),entries:[{name:o,kind:"class",kindModifiers:void 0,sortText:r.LocationPriority}]}}return}(_,t);if(F)return F}var P=[];if(f(t,i)){var I=b(c,P,void 0,_,t,n,i.target,a,u,s,i,E,m,T,S,C,x,D,A);!function(t,n,i,a,o){e.getNameTable(t).forEach((function(t,s){if(t!==n){var c=e.unescapeLeadingUnderscores(s);!i.has(c)&&e.isIdentifierText(c,a)&&(i.add(c),o.push({name:c,kind:"warning",kindModifiers:"",sortText:r.JavascriptIdentifiers,isFromUncheckedFile:!0}))}}))}(t,_.pos,I,i.target,P)}else{if(!(d||c&&0!==c.length||0!==v))return;b(c,P,void 0,_,t,n,i.target,a,u,s,i,E,m,T,S,C,x,D,A)}if(0!==v)for(var O=new e.Set(P.map((function(e){return e.name}))),M=0,L=function(t,r){if(!r)return w(t);var n=t+7+1;return N[n]||(N[n]=w(t).filter((function(t){return!function(e){switch(e){case 125:case 128:case 155:case 131:case 133:case 91:case 154:case 116:case 135:case 117:case 137:case 138:case 139:case 140:case 141:case 144:case 145:case 156:case 120:case 121:case 122:case 142:case 147:case 148:case 149:case 151:case 152:return!0;default:return!1}}(e.stringToToken(t.name))})))}(v,!k&&e.isSourceFileJS(t));M-1?E(f,"keyword",e.SymbolDisplayPartKind.keyword):void 0;default:return e.Debug.assertNever(v)}case"symbol":var h=y.symbol,D=y.location,x=function(t,r,n,i,a,o,s,c,l,d,_,p){if(null==p?void 0:p.moduleSpecifier)return{codeActions:void 0,sourceDisplay:[e.textPart(p.moduleSpecifier)]};if(!t||!u(t))return{codeActions:void 0,sourceDisplay:void 0};var f=t.moduleSymbol,g=i.getMergedSymbol(e.skipAlias(r.exportSymbol||r,i)),m=e.codefix.getImportCompletionAction(g,f,s,e.getNameForExportedSymbol(r,o.target),a,n,d,l&&e.isIdentifier(l)?l.getStart(s):c,_),y=m.moduleSpecifier,v=m.codeAction;return{sourceDisplay:[e.textPart(y)],codeActions:[v]}}(y.origin,h,r,_,s,p,i,a,y.previousToken,c,l,o.data);return T(h,_,i,D,d,x.codeActions,x.sourceDisplay);case"literal":var b=y.literal;return E(m(i,l,b),"string","string"==typeof b?e.SymbolDisplayPartKind.stringLiteral:e.SymbolDisplayPartKind.numericLiteral);case"none":return P().some((function(e){return e.name===f}))?E(f,"keyword",e.SymbolDisplayPartKind.keyword):void 0;default:e.Debug.assertNever(y)}},t.createCompletionDetailsForSymbol=T,t.createCompletionDetails=C,t.getCompletionEntrySymbol=function(e,t,r,n,i,a,o){var s=S(e,t,r,n,i,a,o);return"symbol"===s.type?s.symbol:void 0},function(e){e[e.Data=0]="Data",e[e.JsDocTagName=1]="JsDocTagName",e[e.JsDocTag=2]="JsDocTag",e[e.JsDocParameterName=3]="JsDocParameterName",e[e.Keywords=4]="Keywords"}(s||(s={})),(c=t.CompletionKind||(t.CompletionKind={}))[c.ObjectPropertyDeclaration=0]="ObjectPropertyDeclaration",c[c.Global=1]="Global",c[c.PropertyAccess=2]="PropertyAccess",c[c.MemberLike=3]="MemberLike",c[c.String=4]="String",c[c.None=5]="None";var N=[],P=e.memoize((function(){for(var t=[],n=80;n<=157;n++)t.push({name:e.tokenToString(n),kind:"keyword",kindModifiers:"",sortText:r.GlobalsOrKeywords});return t}));function w(t){return N[t]||(N[t]=P().filter((function(r){var n=e.stringToToken(r.name);switch(t){case 0:return!1;case 1:return M(n)||133===n||139===n||149===n||140===n||e.isTypeKeyword(n)&&150!==n;case 5:return M(n);case 2:return O(n);case 3:return I(n);case 4:return e.isParameterPropertyModifier(n);case 6:return e.isTypeKeyword(n)||84===n;case 7:return e.isTypeKeyword(n);default:return e.Debug.assertNever(t)}})))}function I(e){return 142===e}function O(t){switch(t){case 125:case 132:case 134:case 146:case 129:case 133:case 156:return!0;default:return e.isClassMemberModifier(t)}}function M(t){return 129===t||130===t||126===t||!e.isContextualKeyword(t)&&!O(t)}function L(t){return e.isIdentifier(t)?t.originalKeywordKind||0:t.kind}function R(t,r,n,i){var a=r&&r!==t,o=!a||3&r.flags?t:i.getUnionType([t,r]),s=o.isUnion()?i.getAllPossiblePropertiesOfTypes(o.types.filter((function(t){return!(131068&t.flags||i.isArrayLikeType(t)||e.typeHasCallOrConstructSignatures(t,i)||i.isTypeInvalidDueToUnionDiscriminant(t,n))}))):o.getApparentProperties();return a?s.filter((function(t){return e.some(t.declarations,(function(e){return e.parent!==n}))})):s}function B(t,r){return t.isUnion()?e.Debug.checkEachDefined(r.getAllPossiblePropertiesOfTypes(t.types),"getAllPossiblePropertiesOfTypes() should all be defined"):e.Debug.checkEachDefined(t.getApparentProperties(),"getApparentProperties() should all be defined")}function j(t,r){if(t){if(e.isTypeNode(t)&&e.isTypeReferenceType(t.parent))return r.getTypeArgumentConstraint(t);var n=j(t.parent,r);if(n)switch(t.kind){case 163:return r.getTypeOfPropertyOfContextualType(n,t.symbol.escapedName);case 184:case 178:case 183:return n}}}function J(t){return t.parent&&e.isClassOrTypeElement(t.parent)&&e.isObjectTypeDeclaration(t.parent.parent)}function K(t){var r=t.left;return e.nodeIsMissing(r)}function z(t){var r;return!!e.nodeIsMissing(t)||!(null===(r=e.tryCast(e.isExternalModuleReference(t)?t.expression:t,e.isStringLiteralLike))||void 0===r?void 0:r.text)}function U(t,r,n){void 0===n&&(n=new e.Map);var i=e.skipAlias(t.exportSymbol||t,r);return!!(788968&i.flags)||!!(1536&i.flags)&&e.addToSeen(n,e.getSymbolId(i))&&r.getExportsOfModule(i).some((function(e){return U(e,r,n)}))}t.getPropertiesForObjectExpression=R}(e.Completions||(e.Completions={}))}(s||(s={})),function(e){!function(r){function n(t,r){return{fileName:r.fileName,textSpan:e.createTextSpanFromNode(t,r),kind:"none"}}function i(t){return e.isThrowStatement(t)?[t]:e.isTryStatement(t)?e.concatenate(t.catchClause?i(t.catchClause):t.tryBlock&&i(t.tryBlock),t.finallyBlock&&i(t.finallyBlock)):e.isFunctionLike(t)?void 0:o(t,i)}function a(t){return e.isBreakOrContinueStatement(t)?[t]:e.isFunctionLike(t)?void 0:o(t,a)}function o(t,r){var n=[];return t.forEachChild((function(t){var i=r(t);void 0!==i&&n.push.apply(n,e.toArray(i))})),n}function s(e,t){var r=c(t);return!!r&&r===e}function c(t){return e.findAncestor(t,(function(r){switch(r.kind){case 245:if(241===t.kind)return!1;case 238:case 239:case 240:case 237:case 236:return!t.label||function(t,r){return!!e.findAncestor(t.parent,(function(t){return e.isLabeledStatement(t)?t.label.escapedText===r:"quit"}))}(r,t.label.escapedText);default:return e.isFunctionLike(r)&&"quit"}}))}function u(t,r){for(var n=[],i=2;i=0&&!u(r,n[i],114);i--);return e.forEach(a(t.statement),(function(e){s(t,e)&&u(r,e.getFirstToken(),80,85)})),r}function d(e){var t=c(e);if(t)switch(t.kind){case 238:case 239:case 240:case 236:case 237:return l(t);case 245:return _(t)}}function _(t){var r=[];return u(r,t.getFirstToken(),106),e.forEach(t.caseBlock.clauses,(function(n){u(r,n.getFirstToken(),81,87),e.forEach(a(n),(function(e){s(t,e)&&u(r,e.getFirstToken(),80)}))})),r}function p(t,r){var n=[];(u(n,t.getFirstToken(),110),t.catchClause&&u(n,t.catchClause.getFirstToken(),82),t.finallyBlock)&&u(n,e.findChildOfKind(t,95,r),95);return n}function f(t,r){var n=function(t){for(var r=t;r.parent;){var n=r.parent;if(e.isFunctionBlock(n)||298===n.kind)return n;if(e.isTryStatement(n)&&n.tryBlock===r&&n.catchClause)return r;r=n}}(t);if(n){var a=[];return e.forEach(i(n),(function(t){a.push(e.findChildOfKind(t,108,r))})),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,(function(t){a.push(e.findChildOfKind(t,104,r))})),a}}function g(t,r){var n=e.getContainingFunction(t);if(n){var a=[];return e.forEachReturnStatement(e.cast(n.body,e.isBlock),(function(t){a.push(e.findChildOfKind(t,104,r))})),e.forEach(i(n.body),(function(t){a.push(e.findChildOfKind(t,108,r))})),a}}function m(t){var r=e.getContainingFunction(t);if(r){var n=[];return r.modifiers&&r.modifiers.forEach((function(e){u(n,e,129)})),e.forEachChild(r,(function(t){y(t,(function(t){e.isAwaitExpression(t)&&u(n,t.getFirstToken(),130)}))})),n}}function y(t,r){r(t),e.isFunctionLike(t)||e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isModuleDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isTypeNode(t)||e.forEachChild(t,(function(e){return y(e,r)}))}r.getDocumentHighlights=function(r,i,a,o,s){var c=e.getTouchingPropertyName(a,o);if(c.parent&&(e.isJsxOpeningElement(c.parent)&&c.parent.tagName===c||e.isJsxClosingElement(c.parent))){var v=c.parent.parent,h=[v.openingElement,v.closingElement].map((function(e){return n(e.tagName,a)}));return[{fileName:a.fileName,highlightSpans:h}]}return function(t,r,n,i,a){var o=new e.Set(a.map((function(e){return e.fileName}))),s=e.FindAllReferences.getReferenceEntriesForNode(t,r,n,a,i,void 0,o);if(!s)return;var c=e.arrayToMultiMap(s.map(e.FindAllReferences.toHighlightSpan),(function(e){return e.fileName}),(function(e){return e.span}));return e.mapDefined(e.arrayFrom(c.entries()),(function(t){var r=t[0],i=t[1];if(!o.has(r)){if(!n.redirectTargetsMap.has(r))return;var s=n.getSourceFile(r);r=e.find(a,(function(e){return!!e.redirectInfo&&e.redirectInfo.redirectTarget===s})).fileName,e.Debug.assert(o.has(r))}return{fileName:r,highlightSpans:i}}))}(o,c,r,i,s)||function(r,i){var a=function(r,i){switch(r.kind){case 98:case 90:return e.isIfStatement(r.parent)?function(t,r){for(var i=function(t,r){var n=[];for(;e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(r);u(n,i[0],98);for(var a=i.length-1;a>=0&&!u(n,i[a],90);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return n}(t,r),a=[],o=0;o=s.end;d--)if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))){l=!1;break}if(l){a.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(s.getStart(),c.end),kind:"reference"}),o++;continue}}a.push(n(i[o],r))}return a}(r.parent,i):void 0;case 104:return c(r.parent,e.isReturnStatement,g);case 108:return c(r.parent,e.isThrowStatement,f);case 110:case 82:case 95:return c(82===r.kind?r.parent.parent:r.parent,e.isTryStatement,p);case 106:return c(r.parent,e.isSwitchStatement,_);case 81:case 87:return e.isDefaultClause(r.parent)||e.isCaseClause(r.parent)?c(r.parent.parent.parent,e.isSwitchStatement,_):void 0;case 80:case 85:return c(r.parent,e.isBreakOrContinueStatement,d);case 96:case 114:case 89:return c(r.parent,(function(t){return e.isIterationStatement(t,!0)}),l);case 132:return s(e.isConstructorDeclaration,[132]);case 134:case 146:return s(e.isAccessor,[134,146]);case 130:return c(r.parent,e.isAwaitExpression,m);case 129:return v(m(r));case 124:return v(function(t){var r=e.getContainingFunction(t);if(!r)return;var n=[];return e.forEachChild(r,(function(t){y(t,(function(t){e.isYieldExpression(t)&&u(n,t.getFirstToken(),124)}))})),n}(r));default:return e.isModifierKind(r.kind)&&(e.isDeclaration(r.parent)||e.isVariableStatement(r.parent))?v((a=r.kind,o=r.parent,e.mapDefined(function(r,n){var i=r.parent;switch(i.kind){case 258:case 298:case 231:case 285:case 286:return 128&n&&e.isClassDeclaration(r)?t(t([],r.members),[r]):i.statements;case 167:case 166:case 252:return t(t([],i.parameters),e.isClassLike(i.parent)?i.parent.members:[]);case 253:case 222:case 254:case 178:var a=i.members;if(92&n){var o=e.find(i.members,e.isConstructorDeclaration);if(o)return t(t([],a),o.parameters)}else if(128&n)return t(t([],a),[i]);return a;case 201:return;default:e.Debug.assertNever(i,"Invalid container kind.")}}(o,e.modifierToFlag(a)),(function(t){return e.findModifier(t,a)})))):void 0}var a,o;function s(t,n){return c(r.parent,t,(function(r){return e.mapDefined(r.symbol.declarations,(function(r){return t(r)?e.find(r.getChildren(i),(function(t){return e.contains(n,t.kind)})):void 0}))}))}function c(e,t,r){return t(e)?v(r(e,i)):void 0}function v(e){return e&&e.map((function(e){return n(e,i)}))}}(r,i);return a&&[{fileName:i.fileName,highlightSpans:a}]}(c,a)}}(e.DocumentHighlights||(e.DocumentHighlights={}))}(s||(s={})),function(e){function t(e){return!!e.sourceFile}function r(r,i,a){void 0===i&&(i="");var o=new e.Map,s=e.createGetCanonicalFileName(!!r);function c(e,t,r,n,i,a,o){return d(e,t,r,n,i,a,!0,o)}function u(e,t,r,n,i,a,o){return d(e,t,r,n,i,a,!1,o)}function l(r,n){var i=t(r)?r:r.get(e.Debug.checkDefined(n,"If there are more than one scriptKind's for same document the scriptKind should be provided"));return e.Debug.assert(void 0===n||!i||i.sourceFile.scriptKind===n,"Script kind should match provided ScriptKind:"+n+" and sourceFile.scriptKind: "+(null==i?void 0:i.sourceFile.scriptKind)+", !entry: "+!i),i}function d(r,n,i,s,c,u,d,_){var p=6===(_=e.ensureScriptKind(r,_))?100:i.target||1,f=e.getOrUpdate(o,s,(function(){return new e.Map})),g=f.get(n),m=g&&l(g,_);!m&&a&&((y=a.getDocument(s,n))&&(e.Debug.assert(d),m={sourceFile:y,languageServiceRefCount:0},v()));if(m)m.sourceFile.version!==u&&(m.sourceFile=e.updateLanguageServiceSourceFile(m.sourceFile,c,u,c.getChangeRange(m.sourceFile.scriptSnapshot)),a&&a.setDocument(s,n,m.sourceFile)),d&&m.languageServiceRefCount++;else{var y=e.createLanguageServiceSourceFile(r,c,p,u,!1,_);a&&a.setDocument(s,n,y),m={sourceFile:y,languageServiceRefCount:1},v()}return e.Debug.assert(0!==m.languageServiceRefCount),m.sourceFile;function v(){if(g)if(t(g)){var r=new e.Map;r.set(g.sourceFile.scriptKind,g),r.set(_,m),f.set(n,r)}else g.set(_,m);else f.set(n,m)}}function _(r,n,i){var a=e.Debug.checkDefined(o.get(n)),s=a.get(r),c=l(s,i);c.languageServiceRefCount--,e.Debug.assert(c.languageServiceRefCount>=0),0===c.languageServiceRefCount&&(t(s)?a.delete(r):(s.delete(i),1===s.size&&a.set(r,e.firstDefinedIterator(s.values(),e.identity))))}return{acquireDocument:function(t,r,a,o,u){return c(t,e.toPath(t,i,s),r,n(r),a,o,u)},acquireDocumentWithKey:c,updateDocument:function(t,r,a,o,c){return u(t,e.toPath(t,i,s),r,n(r),a,o,c)},updateDocumentWithKey:u,releaseDocument:function(t,r,a){return _(e.toPath(t,i,s),n(r),a)},releaseDocumentWithKey:_,getLanguageServiceRefCounts:function(t,r){return e.arrayFrom(o.entries(),(function(e){var n=e[0],i=e[1].get(t),a=i&&l(i,r);return[n,a&&a.languageServiceRefCount]}))},reportStats:function(){var r=e.arrayFrom(o.keys()).filter((function(e){return e&&"_"===e.charAt(0)})).map((function(e){var r=o.get(e),n=[];return r.forEach((function(e,r){t(e)?n.push({name:r,scriptKind:e.sourceFile.scriptKind,refCount:e.languageServiceRefCount}):e.forEach((function(e,t){return n.push({name:r,scriptKind:t,refCount:e.languageServiceRefCount})}))})),n.sort((function(e,t){return t.refCount-e.refCount})),{bucket:e,sourceFiles:n}}));return JSON.stringify(r,void 0,2)},getKeyForCompilationSettings:n}}function n(t){return e.sourceFileAffectingCompilerOptions.map((function(r){return e.getCompilerOptionValue(t,r)})).join("|")}e.createDocumentRegistry=function(e,t){return r(e,t)},e.createDocumentRegistryInternal=r}(s||(s={})),function(e){!function(t){var n,i;function a(t,r){return e.forEach(298===t.kind?t.statements:t.body.statements,(function(t){return r(t)||l(t)&&e.forEach(t.body&&t.body.statements,r)}))}function o(t,r){if(t.externalModuleIndicator||void 0!==t.imports)for(var n=0,i=t.imports;n=0&&!(c>n.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),99)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),99)||i.push(c),c=a.indexOf(r,c+s+1)}return i}function S(t,r){var n=t.getSourceFile(),i=r.text,a=e.mapDefined(D(n,i,t),(function(t){return t===r||e.isJumpStatementTarget(t)&&e.getTargetLabel(t,i)===r?c(t):void 0}));return[{definition:{type:1,node:r},references:a}]}function E(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),T(e,e,t,r,n)}function T(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=b(t,r.text,e);a0;o--){b(t,i=n[o])}return[n.length-1,n[0]]}function b(e,t){var r=v(e,t);g(o,r),u.push(o),l.push(s),s=void 0,o=r}function S(){o.children&&(A(o.children,o),O(o.children)),o=u.pop(),s=l.pop()}function E(e,t,r){b(e,r),k(t),S()}function T(t){t.initializer&&function(e){switch(e.kind){case 210:case 209:case 222:return!0;default:return!1}}(t.initializer)?(b(t),e.forEachChild(t.initializer,k),S()):E(t,t.initializer)}function C(t){return!e.hasDynamicName(t)||217!==t.kind&&e.isPropertyAccessExpression(t.name.expression)&&e.isIdentifier(t.name.expression.expression)&&"Symbol"===e.idText(t.name.expression.expression)}function k(t){var r;if(i.throwIfCancellationRequested(),t&&!e.isToken(t))switch(t.kind){case 167:var n=t;E(n,n.body);for(var a=0,o=n.parameters;a0&&(b(J,L),e.forEachChild(J.right,k),S()):e.isFunctionExpression(J.right)||e.isArrowFunction(J.right)?E(t,J.right,L):(b(J,L),E(t,J.right,I.name),S()),void D(M);case 7:case 9:var R=t,B=(L=7===w?R.arguments[0]:R.arguments[0].expression,R.arguments[1]),j=x(t,L);M=j[0];return b(t,j[1]),b(t,e.setTextRange(e.factory.createIdentifier(B.text),B)),k(t.arguments[2]),S(),S(),void D(M);case 5:var J,K=(I=(J=t).left).expression;if(e.isIdentifier(K)&&"prototype"!==e.getElementOrPropertyAccessName(I)&&s&&s.has(K.text))return void(e.isFunctionExpression(J.right)||e.isArrowFunction(J.right)?E(t,J.right,K):e.isBindableStaticAccessExpression(I)&&(b(J,K),E(J.left,J.right,e.getNameOrArgument(I)),S()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(w)}default:e.hasJSDocNodes(t)&&e.forEach(t.jsDoc,(function(t){e.forEach(t.tags,(function(t){e.isJSDocTypeAlias(t)&&y(t)}))})),e.forEachChild(t,k)}}function A(t,r){var n=new e.Map;e.filterMutate(t,(function(t,i){var a=t.name||e.getNameOfDeclaration(t.node),o=a&&p(a);if(!o)return!0;var s=n.get(o);if(!s)return n.set(o,t),!0;if(s instanceof Array){for(var c=0,u=s;c0)return Y(n)}switch(t.kind){case 298:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 267:return e.isExportAssignment(t)&&t.isExportEquals?"export=":"default";case 210:case 252:case 209:case 253:case 222:return 512&e.getSyntacticModifierFlags(t)?"default":H(t);case 167:return"constructor";case 171:return"new()";case 170:return"()";case 172:return"[]";default:return""}}function B(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:W(t.node),spans:J(t),nameSpan:t.name&&q(t.name),childItems:e.map(t.children,B)}}function j(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:W(t.node),spans:J(t),childItems:e.map(t.children,(function(t){return{text:R(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:J(t),childItems:d,indent:0,bolded:!1,grayed:!1}}))||d,indent:t.indent,bolded:!1,grayed:!1}}function J(e){var t=[q(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r0)return Y(e.declarationNameToString(t.name));if(e.isVariableDeclaration(r))return Y(e.declarationNameToString(r.name));if(e.isBinaryExpression(r)&&62===r.operatorToken.kind)return p(r.left).replace(c,"");if(e.isPropertyAssignment(r))return p(r.name);if(512&e.getSyntacticModifierFlags(t))return"default";if(e.isClassLike(t))return"";if(e.isCallExpression(r)){var n=G(r.expression);if(void 0!==n)return(n=Y(n)).length>150?n+" callback":n+"("+Y(e.mapDefined(r.arguments,(function(t){return e.isStringLiteralLike(t)?t.getText(a):void 0})).join(", "))+") callback"}return""}function G(t){if(e.isIdentifier(t))return t.text;if(e.isPropertyAccessExpression(t)){var r=G(t.expression),n=t.name.text;return void 0===r?n:r+"."+n}}function Y(e){return(e=e.length>150?e.substring(0,150)+"...":e).replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}}(e.NavigationBar||(e.NavigationBar={}))}(s||(s={})),function(e){!function(t){function r(t,r){var n=e.isStringLiteral(r)&&r.text;return e.isString(n)&&e.some(t.moduleAugmentations,(function(t){return e.isStringLiteral(t)&&t.text===n}))}function n(t){return void 0!==t&&e.isStringLiteralLike(t)?t.text:void 0}function i(t){var r;if(0===t.length)return t;var n=function(t){for(var r,n={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]},a=0,o=t;a0?g[0]:y[0],k=0===T.length?x?void 0:e.factory.createNamedImports(e.emptyArray):0===y.length?e.factory.createNamedImports(T):e.factory.updateNamedImports(y[0].importClause.namedBindings,T);f&&x&&k?(u.push(o(C,x,void 0)),u.push(o(null!==(r=y[0])&&void 0!==r?r:C,void 0,k))):u.push(o(C,x,k))}}else{var A=g[0];u.push(o(A,A.importClause.name,m[0].importClause.namedBindings))}}return u}function a(t){if(0===t.length)return t;var r=function(e){for(var t,r=[],n=[],i=0,a=e;i...")}function d(t){var n=e.createTextSpanFromBounds(t.openingFragment.getStart(r),t.closingFragment.getEnd());return c(n,"code",n,!1,"<>...")}function _(e){if(0!==e.properties.length)return o(e.getStart(r),e.getEnd(),"code")}function p(e){if(14!==e.kind||0!==e.text.length)return o(e.getStart(r),e.getEnd(),"code")}function f(t,r){return void 0===r&&(r=18),g(t,!1,!e.isArrayLiteralExpression(t.parent)&&!e.isCallExpression(t.parent),r)}function g(n,i,a,o,c){void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===o&&(o=18),void 0===c&&(c=18===o?19:23);var u=e.findChildOfKind(t,o,r),l=e.findChildOfKind(t,c,r);return u&&l&&s(u,l,n,r,i,a)}function m(t){return t.length?c(e.createTextSpanFromRange(t),"code"):void 0}}(t,r);d&&i.push(d),u--,e.isCallExpression(t)?(u++,g(t.expression),u--,t.arguments.forEach(g),null===(l=t.typeArguments)||void 0===l||l.forEach(g)):e.isIfStatement(t)&&t.elseStatement&&e.isIfStatement(t.elseStatement)?(g(t.expression),g(t.thenStatement),u++,g(t.elseStatement),u--):t.forEachChild(g),u++}}}(r,n,u),function(t,r){for(var n=[],a=t.getLineStarts(),o=0,s=a;o1&&a.push(o(c,u,"comment"))}}function o(t,r,n){return c(e.createTextSpanFromBounds(t,r),n)}function s(t,r,n,i,a,o){return void 0===a&&(a=!1),void 0===o&&(o=!0),c(e.createTextSpanFromBounds(o?t.getFullStart():t.getStart(i),r.getEnd()),"code",e.createTextSpanFromNode(n,i),a)}function c(e,t,r,n,i){return void 0===r&&(r=e),void 0===n&&(n=!1),void 0===i&&(i="..."),{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(s||(s={})),function(e){var t;function r(e,t){return{kind:e,isCaseSensitive:t}}function n(e,t){var r=t.get(e);return r||t.set(e,r=v(e)),r}function i(i,a,o){var s=function(e,t){for(var r=e.length-t.length,n=function(r){if(T(t,(function(t,n){return _(e.charCodeAt(n+r))===t})))return{value:r}},i=0;i<=r;i++){var a=n(i);if("object"==typeof a)return a.value}return-1}(i,a.textLowerCase);if(0===s)return r(a.text.length===i.length?t.exact:t.prefix,e.startsWith(i,a.text));if(a.isLowerCase){if(-1===s)return;for(var d=0,p=n(i,o);d0)return r(t.substring,!0);if(a.characterSpans.length>0){var g=n(i,o),m=!!u(i,g,a,!1)||!u(i,g,a,!0)&&void 0;if(void 0!==m)return r(t.camelCase,m)}}}function a(e,t,r){if(T(t.totalTextChunk.text,(function(e){return 32!==e&&42!==e}))){var n=i(e,t.totalTextChunk,r);if(n)return n}for(var a,s=0,c=t.subWordTextChunks;s=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toUpperCase()}function d(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toLowerCase()}function _(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function p(e){return e>=48&&e<=57}function f(e){return l(e)||d(e)||p(e)||95===e||36===e}function g(e){for(var t=[],r=0,n=0,i=0;i0&&(t.push(m(e.substr(r,n))),n=0)}return n>0&&t.push(m(e.substr(r,n))),t}function m(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:y(e)}}function y(e){return h(e,!1)}function v(e){return h(e,!0)}function h(t,r){for(var n=[],i=0,a=1;at.length)return;for(var c=n.length-2,u=t.length-1;c>=0;c-=1,u-=1)s=o(s,a(t[u],n[c],i));return s}(t,i,n,r)},getMatchForLastSegmentOfPattern:function(t){return a(t,e.last(n),r)},patternContainsDots:n.length>1}},e.breakIntoCharacterSpans=y,e.breakIntoWordSpans=v}(s||(s={})),function(e){e.preProcessFile=function(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var i,a,o,s={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},c=[],u=0,l=!1;function d(){return a=o,18===(o=e.scanner.scan())?u++:19===o&&u--,o}function _(){var t=e.scanner.getTokenValue(),r=e.scanner.getTokenPos();return{fileName:t,pos:r,end:r+t.length}}function p(){c.push(_()),f()}function f(){0===u&&(l=!0)}function g(){var t=e.scanner.getToken();return 133===t&&(139===(t=d())&&10===(t=d())&&(i||(i=[]),i.push({ref:_(),depth:u})),!0)}function m(){if(24===a)return!1;var t=e.scanner.getToken();if(99===t){if(20===(t=d())){if(10===(t=d())||14===t)return p(),!0}else{if(10===t)return p(),!0;149===t&&e.scanner.lookAhead((function(){var t=e.scanner.scan();return 153!==t&&(41===t||18===t||78===t||e.isKeyword(t))}))&&(t=d());if(78===t||e.isKeyword(t))if(153===(t=d())){if(10===(t=d()))return p(),!0}else if(62===t){if(v(!0))return!0}else{if(27!==t)return!0;t=d()}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else 41===t&&126===(t=d())&&(78===(t=d())||e.isKeyword(t))&&153===(t=d())&&10===(t=d())&&p()}return!0}return!1}function y(){var t=e.scanner.getToken();if(92===t){if(f(),149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 41===t||18===t}))&&(t=d());if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else if(41===t)153===(t=d())&&10===(t=d())&&p();else if(99===t){if(149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 78===t||e.isKeyword(t)}))&&(t=d());if((78===t||e.isKeyword(t))&&62===(t=d())&&v(!0))return!0}return!0}return!1}function v(t,r){void 0===r&&(r=!1);var n=t?d():e.scanner.getToken();return 143===n&&(20===(n=d())&&(10===(n=d())||r&&14===n)&&p(),!0)}function h(){var t=e.scanner.getToken();if(78===t&&"define"===e.scanner.getTokenValue()){if(20!==(t=d()))return!0;if(10===(t=d())||14===t){if(27!==(t=d()))return!0;t=d()}if(22!==t)return!0;for(t=d();23!==t&&1!==t;)10!==t&&14!==t||p(),t=d();return!0}return!1}if(r&&function(){for(e.scanner.setText(t),d();1!==e.scanner.getToken();)g()||m()||y()||n&&(v(!1,!0)||h())||d();e.scanner.setText(void 0)}(),e.processCommentPragmas(s,t),e.processPragmasIntoFields(s,e.noop),l){if(i)for(var D=0,x=i;Dt)break e;var v=e.singleOrUndefined(e.getTrailingCommentRanges(i.text,m.end));if(v&&2===v.kind&&S(v.pos,v.end),n(i,t,m)){if(e.isBlock(m)||e.isTemplateSpan(m)||e.isTemplateHead(m)||e.isTemplateTail(m)||g&&e.isTemplateHead(g)||e.isVariableDeclarationList(m)&&e.isVariableStatement(_)||e.isSyntaxList(m)&&e.isVariableDeclarationList(_)||e.isVariableDeclaration(m)&&e.isSyntaxList(_)&&1===p.length||e.isJSDocTypeExpression(m)||e.isJSDocSignature(m)||e.isJSDocTypeLiteral(m)){_=m;break}if(e.isTemplateSpan(_)&&y&&e.isTemplateMiddleOrTemplateTail(y))b(m.getFullStart()-"${".length,y.getStart()+"}".length);var h=e.isSyntaxList(m)&&(c=void 0,18===(c=(s=g)&&s.kind)||22===c||20===c||276===c)&&u(y)&&!e.positionsAreOnSameLine(g.getStart(),y.getStart(),i),D=h?g.getEnd():m.getStart(),x=h?y.getStart():l(i,m);e.hasJSDocNodes(m)&&(null===(o=m.jsDoc)||void 0===o?void 0:o.length)&&b(e.first(m.jsDoc).getStart(),x),b(D,x),(e.isStringLiteral(m)||e.isTemplateLiteral(m))&&b(D+1,x-1),_=m;break}if(f===p.length-1)break e}}return d;function b(n,i){if(n!==i){var a=e.createTextSpanFromBounds(n,i);(!d||!e.textSpansEqual(a,d.textSpan)&&e.textSpanIntersectsWithPosition(a,t))&&(d=r({textSpan:a},d&&{parent:d}))}}function S(e,t){b(e,t);for(var r=e;47===i.text.charCodeAt(r);)r++;b(r,t)}};var i=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function a(t){if(e.isSourceFile(t))return o(t.getChildAt(0).getChildren(),i);if(e.isMappedTypeNode(t)){var r=t.getChildren(),n=r[0],a=r.slice(1),u=e.Debug.checkDefined(a.pop());e.Debug.assertEqual(n.kind,18),e.Debug.assertEqual(u.kind,19);var l=o(a,(function(e){return e===t.readonlyToken||142===e.kind||e===t.questionToken||57===e.kind}));return[n,c(s(o(l,(function(e){var t=e.kind;return 22===t||160===t||23===t})),(function(e){return 58===e.kind}))),u]}if(e.isPropertySignature(t))return s(a=o(t.getChildren(),(function(r){return r===t.name||e.contains(t.modifiers,r)})),(function(e){return 58===e.kind}));if(e.isParameter(t)){var d=o(t.getChildren(),(function(e){return e===t.dotDotDotToken||e===t.name}));return s(o(d,(function(e){return e===d[0]||e===t.questionToken})),(function(e){return 62===e.kind}))}return e.isBindingElement(t)?s(t.getChildren(),(function(e){return 62===e.kind})):t.getChildren()}function o(e,t){for(var r,n=[],i=0,a=e;i0&&27===e.last(r).kind&&n++;return n}(i);return 0!==a&&e.Debug.assertLessThan(a,o),{list:i,argumentIndex:a,argumentCount:o,argumentsSpan:function(t,r){var n=t.getFullStart(),i=e.skipTrivia(r.text,t.getEnd(),!1);return e.createTextSpan(n,i-n)}(i,r)}}}function s(t,r,n){var i=t.parent;if(e.isCallOrNewExpression(i)){var a=i,s=o(t,n);if(!s)return;var c=s.list,u=s.argumentIndex,l=s.argumentCount,d=s.argumentsSpan;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===c.pos,invocation:{kind:0,node:a},argumentsSpan:d,argumentIndex:u,argumentCount:l}}if(e.isNoSubstitutionTemplateLiteral(t)&&e.isTaggedTemplateExpression(i))return e.isInsideTemplateLiteral(t,r,n)?_(i,0,n):void 0;if(e.isTemplateHead(t)&&206===i.parent.kind){var p=i,f=p.parent;return e.Debug.assert(219===p.kind),_(f,u=e.isInsideTemplateLiteral(t,r,n)?0:1,n)}if(e.isTemplateSpan(i)&&e.isTaggedTemplateExpression(i.parent.parent)){var g=i;f=i.parent.parent;if(e.isTemplateTail(t)&&!e.isInsideTemplateLiteral(t,r,n))return;return _(f,u=function(t,r,n,i){if(e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralToken(r))return e.isInsideTemplateLiteral(r,n,i)?0:t+2;return t+1}(g.parent.templateSpans.indexOf(g),t,r,n),n)}if(e.isJsxOpeningLikeElement(i)){var m=i.attributes.pos,y=e.skipTrivia(n.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:e.createTextSpan(m,y-m),argumentIndex:0,argumentCount:1}}var v=e.getPossibleTypeArgumentsInfo(t,n);if(v){var h=v.called,D=v.nTypeArguments;return{isTypeParameterList:!0,invocation:a={kind:1,called:h},argumentsSpan:d=e.createTextSpanFromBounds(h.getStart(n),t.end),argumentIndex:D,argumentCount:D+1}}}function c(t){return e.isBinaryExpression(t.parent)?c(t.parent):t}function u(t){return e.isBinaryExpression(t.left)?u(t.left)+1:2}function l(t){return"__type"===t.name&&e.firstDefined(t.declarations,(function(t){return e.isFunctionTypeNode(t)?t.parent.symbol:void 0}))||t}function d(e,t){for(var r=0,n=0,i=e.getChildren();n=0&&i.length>a+1),i[a+1]}function g(t){return 0===t.kind?e.getInvokedExpression(t.node):t.called}function m(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}!function(e){e[e.Call=0]="Call",e[e.TypeArgs=1]="TypeArgs",e[e.Contextual=2]="Contextual"}(n||(n={})),r.getSignatureHelpItems=function(t,r,n,i,d){var _=t.getTypeChecker(),p=e.findTokenOnLeftOfPosition(r,n);if(p){var f=!!i&&"characterTyped"===i.kind;if(!f||!e.isInString(r,n,p)&&!e.isInComment(r,n)){var y=!!i&&"invoked"===i.kind,D=function(t,r,n,i,a){for(var d=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),"Not a subspan",(function(){return"Child: "+e.Debug.formatSyntaxKind(t.kind)+", parent: "+e.Debug.formatSyntaxKind(t.parent.kind)}));var a=function(t,r,n,i){return function(t,r,n,i){var a=function(t,r,n){if(20!==t.kind&&27!==t.kind)return;var i=t.parent;switch(i.kind){case 208:case 166:case 209:case 210:var a=o(t,r);if(!a)return;var s=a.argumentIndex,l=a.argumentCount,d=a.argumentsSpan,_=e.isMethodDeclaration(i)?n.getContextualTypeForObjectLiteralElement(i):n.getContextualType(i);return _&&{contextualType:_,argumentIndex:s,argumentCount:l,argumentsSpan:d};case 217:var p=c(i),f=n.getContextualType(p),g=20===t.kind?0:u(i)-1,m=u(p);return f&&{contextualType:f,argumentIndex:g,argumentCount:m,argumentsSpan:e.createTextSpanFromNode(i)};default:return}}(t,n,i);if(!a)return;var s=a.contextualType,d=a.argumentIndex,_=a.argumentCount,p=a.argumentsSpan,f=s.getNonNullableType(),g=f.getCallSignatures();return 1!==g.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(g),node:t,symbol:l(f.symbol)},argumentsSpan:p,argumentIndex:d,argumentCount:_}}(t,0,n,i)||s(t,r,n)}(t,r,n,i);if(a)return{value:a}},_=t;!e.isSourceFile(_)&&(a||!e.isBlock(_));_=_.parent){var p=d(_);if("object"==typeof p)return p.value}return}(p,n,r,_,y);if(D){d.throwIfCancellationRequested();var x=function(t,r,n,i,o){var s=t.invocation,c=t.argumentCount;switch(s.kind){case 0:if(o&&!function(t,r,n){if(!e.isCallOrNewExpression(r))return!1;var i=r.getChildren(n);switch(t.kind){case 20:return e.contains(i,t);case 27:var o=e.findContainingList(t);return!!o&&e.contains(i,o);case 29:return a(t,n,r.expression);default:return!1}}(i,s.node,n))return;var u=[],l=r.getResolvedSignatureForSignatureHelp(s.node,u,c);return 0===u.length?void 0:{kind:0,candidates:u,resolvedSignature:l};case 1:var d=s.called;if(o&&!a(i,n,e.isIdentifier(d)?d.parent:d))return;if(0!==(u=e.getPossibleGenericSignatures(d,c,r)).length)return{kind:0,candidates:u,resolvedSignature:e.first(u)};var _=r.getSymbolAtLocation(d);return _&&{kind:1,symbol:_};case 2:return{kind:0,candidates:[s.signature],resolvedSignature:s.signature};default:return e.Debug.assertNever(s)}}(D,_,r,p,f);return d.throwIfCancellationRequested(),x?_.runWithCancellationToken(d,(function(e){return 0===x.kind?v(x.candidates,x.resolvedSignature,D,r,e):function(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex,c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return c?{items:[h(e,c,n,m(o),r)],applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}:void 0}(x.symbol,D,r,e)})):e.isSourceFileJS(r)?function(t,r,n){if(2===t.invocation.kind)return;var i=g(t.invocation),a=e.isPropertyAccessExpression(i)?i.name.text:void 0,o=r.getTypeChecker();return void 0===a?void 0:e.firstDefined(r.getSourceFiles(),(function(r){return e.firstDefined(r.getNamedDeclarations().get(a),(function(e){var i=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,(function(e){return v(a,a[0],t,r,e,!0)}))}))}))}(D,t,d):void 0}}}},function(e){e[e.Candidate=0]="Candidate",e[e.Type=1]="Type"}(i||(i={})),r.getArgumentInfoForCompletions=function(e,t,r){var n=s(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var y=70246400;function v(r,n,i,a,o,s){var c,u=i.isTypeParameterList,l=i.argumentCount,d=i.argumentsSpan,_=i.invocation,p=i.argumentIndex,f=m(_),y=2===_.kind?_.symbol:o.getSymbolAtLocation(g(_))||s&&(null===(c=n.declaration)||void 0===c?void 0:c.symbol),v=y?e.symbolToDisplayParts(o,y,s?a:void 0,void 0):e.emptyArray,h=e.map(r,(function(r){return function(r,n,i,a,o,s){var c=(i?x:b)(r,a,o,s);return e.map(c,(function(i){var s=i.isVariadic,c=i.parameters,u=i.prefix,l=i.suffix,d=t(t([],n),u),_=t(t([],l),function(t,r,n){return e.mapToDisplayParts((function(e){e.writePunctuation(":"),e.writeSpace(" ");var i=n.getTypePredicateOfSignature(t);i?n.writeTypePredicate(i,r,void 0,e):n.writeType(n.getReturnTypeOfSignature(t),r,void 0,e)}))}(r,o,a)),p=r.getDocumentationComment(a),f=r.getJsDocTags();return{isVariadic:s,prefixDisplayParts:d,suffixDisplayParts:_,separatorDisplayParts:D,parameters:c,documentation:p,tags:f}}))}(r,v,u,o,f,a)}));0!==p&&e.Debug.assertLessThan(p,l);for(var S=0,E=0,T=0;T1))for(var k=0,A=0,F=C;A=l){S=E+k;break}k++}E+=C.length}e.Debug.assert(-1!==S);var P={items:e.flatMapToMutable(h,e.identity),applicableSpan:d,selectedItemIndex:S,argumentIndex:p,argumentCount:l},w=P.items[S];if(w.isVariadic){var I=e.findIndex(w.parameters,(function(e){return!!e.isRest}));-12)&&(t.arguments.length<2||e.some(t.arguments,(function(t){return 103===t.kind||e.isIdentifier(t)&&"undefined"===t.text})))}(t)||e.hasPropertyAccessExpressionWithName(t,"catch"))}function c(r,n){switch(r.kind){case 252:case 209:case 210:t.set(u(r),!0);case 103:return!0;case 78:case 202:var i=n.getSymbolAtLocation(r);return!!i&&(n.isUndefinedSymbol(i)||e.some(e.skipAlias(i,n).declarations,(function(t){return e.isFunctionLike(t)||e.hasInitializer(t)&&!!t.initializer&&e.isFunctionLike(t.initializer)})));default:return!1}}function u(e){return e.pos.toString()+":"+e.end.toString()}function l(e){switch(e.kind){case 252:case 166:case 209:case 210:return!0;default:return!1}}e.computeSuggestionDiagnostics=function(o,s,c){s.getSemanticDiagnostics(o,c);var d,_=[],p=s.getTypeChecker();o.commonJsModuleIndicator&&(e.programContainsEs6Modules(s)||e.compilerOptionsIndicateEs6Modules(s.getCompilerOptions()))&&function(t){return t.statements.some((function(t){switch(t.kind){case 233:return t.declarationList.declarations.some((function(t){return!!t.initializer&&e.isRequireCall(r(t.initializer),!0)}));case 234:var n=t.expression;if(!e.isBinaryExpression(n))return e.isRequireCall(n,!0);var i=e.getAssignmentDeclarationKind(n);return 1===i||2===i;default:return!1}}))}(o)&&_.push(e.createDiagnosticForNode((d=o.commonJsModuleIndicator,e.isBinaryExpression(d)?d.left:d),e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var f=e.isSourceFileJS(o);if(t.clear(),function r(n){if(f)(function(t,r){var n,i,a,o;if(209===t.kind){if(e.isVariableDeclaration(t.parent)&&(null===(n=t.symbol.members)||void 0===n?void 0:n.size))return!0;var s=r.getSymbolOfExpando(t,!1);return!(!s||!(null===(i=s.exports)||void 0===i?void 0:i.size)&&!(null===(a=s.members)||void 0===a?void 0:a.size))}if(252===t.kind)return!!(null===(o=t.symbol.members)||void 0===o?void 0:o.size);return!1})(n,p)&&_.push(e.createDiagnosticForNode(e.isVariableDeclaration(n.parent)?n.parent.name:n,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(e.isVariableStatement(n)&&n.parent===o&&2&n.declarationList.flags&&1===n.declarationList.declarations.length){var s=n.declarationList.declarations[0].initializer;s&&e.isRequireCall(s,!0)&&_.push(e.createDiagnosticForNode(s,e.Diagnostics.require_call_may_be_converted_to_an_import))}e.codefix.parameterShouldGetTypeFromJSDoc(n)&&_.push(e.createDiagnosticForNode(n.name||n,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}l(n)&&function(r,n,o){(function(t,r){return!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&function(t,r){return!!e.forEachReturnStatement(t,(function(e){return a(e,r)}))}(t.body,r)&&i(t,r)})(r,n)&&!t.has(u(r))&&o.push(e.createDiagnosticForNode(!r.name&&e.isVariableDeclaration(r.parent)&&e.isIdentifier(r.parent.name)?r.parent.name:r,e.Diagnostics.This_may_be_converted_to_an_async_function))}(n,p,_);n.forEachChild(r)}(o),e.getAllowSyntheticDefaultImports(s.getCompilerOptions()))for(var g=0,m=o.imports;g0?e.arrayFrom(n.values()).join(","):""},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(a,o,s,c,u,l,d){var _;void 0===l&&(l=e.getMeaningFromLocation(u));var p,f,g,m,y=[],v=[],h=[],D=e.getCombinedLocalAndExportSymbolFlags(o),x=1&l?i(a,o,u):"",b=!1,S=107===u.kind&&e.isInExpressionContext(u),E=!1;if(107===u.kind&&!S)return{displayParts:[e.keywordPart(107)],documentation:[],symbolKind:"primitive type",tags:void 0};if(""!==x||32&D||2097152&D){"getter"!==x&&"setter"!==x||(x="property");var T=void 0;if(p=S?a.getTypeAtLocation(u):a.getTypeOfSymbolAtLocation(o,u),u.parent&&202===u.parent.kind){var C=u.parent.name;(C===u||C&&0===C.getFullWidth())&&(u=u.parent)}var k=void 0;if(e.isCallOrNewExpression(u)?k=u:(e.isCallExpressionTarget(u)||e.isNewExpressionTarget(u)||u.parent&&(e.isJsxOpeningLikeElement(u.parent)||e.isTaggedTemplateExpression(u.parent))&&e.isFunctionLike(o.valueDeclaration))&&(k=u.parent),k){T=a.getResolvedSignature(k);var A=205===k.kind||e.isCallExpression(k)&&105===k.expression.kind,F=A?p.getConstructSignatures():p.getCallSignatures();if(!T||e.contains(F,T.target)||e.contains(F,T)||(T=F.length?F[0]:void 0),T){switch(A&&32&D?(x="constructor",$(p.symbol,x)):2097152&D?(Q(x="alias"),y.push(e.spacePart()),A&&(4&T.flags&&(y.push(e.keywordPart(125)),y.push(e.spacePart())),y.push(e.keywordPart(102)),y.push(e.spacePart())),X(o)):$(o,x),x){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":y.push(e.punctuationPart(58)),y.push(e.spacePart()),16&e.getObjectFlags(p)||!p.symbol||(e.addRange(y,e.symbolToDisplayParts(a,p.symbol,c,void 0,5)),y.push(e.lineBreakPart())),A&&(4&T.flags&&(y.push(e.keywordPart(125)),y.push(e.spacePart())),y.push(e.keywordPart(102)),y.push(e.spacePart())),Z(T,F,262144);break;default:Z(T,F)}b=!0,E=F.length>1}}else if(e.isNameOfFunctionDeclaration(u)&&!(98304&D)||132===u.kind&&167===u.parent.kind){var N=u.parent;if(o.declarations&&e.find(o.declarations,(function(e){return e===(132===u.kind?N.parent:N)}))){F=167===N.kind?p.getNonNullableType().getConstructSignatures():p.getNonNullableType().getCallSignatures();T=a.isImplementationOfOverload(N)?F[0]:a.getSignatureFromDeclaration(N),167===N.kind?(x="constructor",$(p.symbol,x)):$(170!==N.kind||2048&p.symbol.flags||4096&p.symbol.flags?o:p.symbol,x),T&&Z(T,F),b=!0,E=F.length>1}}}if(32&D&&!b&&!S&&(G(),e.getDeclarationOfKind(o,222)?Q("local class"):y.push(e.keywordPart(83)),y.push(e.spacePart()),X(o),ee(o,s)),64&D&&2&l&&(H(),y.push(e.keywordPart(117)),y.push(e.spacePart()),X(o),ee(o,s)),524288&D&&2&l&&(H(),y.push(e.keywordPart(149)),y.push(e.spacePart()),X(o),ee(o,s),y.push(e.spacePart()),y.push(e.operatorPart(62)),y.push(e.spacePart()),e.addRange(y,e.typeToDisplayParts(a,a.getDeclaredTypeOfSymbol(o),c,8388608))),384&D&&(H(),e.some(o.declarations,(function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)}))&&(y.push(e.keywordPart(84)),y.push(e.spacePart())),y.push(e.keywordPart(91)),y.push(e.spacePart()),X(o)),1536&D&&!S){H();var P=(V=e.getDeclarationOfKind(o,257))&&V.name&&78===V.name.kind;y.push(e.keywordPart(P?140:139)),y.push(e.spacePart()),X(o)}if(262144&D&&2&l)if(H(),y.push(e.punctuationPart(20)),y.push(e.textPart("type parameter")),y.push(e.punctuationPart(21)),y.push(e.spacePart()),X(o),o.parent)Y(),X(o.parent,c),ee(o.parent,c);else{var w=e.getDeclarationOfKind(o,160);if(void 0===w)return e.Debug.fail();if(V=w.parent)if(e.isFunctionLikeKind(V.kind)){Y();T=a.getSignatureFromDeclaration(V);171===V.kind?(y.push(e.keywordPart(102)),y.push(e.spacePart())):170!==V.kind&&V.name&&X(V.symbol),e.addRange(y,e.signatureToDisplayParts(a,T,s,32))}else 255===V.kind&&(Y(),y.push(e.keywordPart(149)),y.push(e.spacePart()),X(V.symbol),ee(V.symbol,s))}if(8&D&&(x="enum member",$(o,"enum member"),292===(null==(V=null===(_=o.declarations)||void 0===_?void 0:_[0])?void 0:V.kind))){var I=a.getConstantValue(V);void 0!==I&&(y.push(e.spacePart()),y.push(e.operatorPart(62)),y.push(e.spacePart()),y.push(e.displayPart(e.getTextOfConstantValue(I),"number"==typeof I?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&o.flags){if(H(),!b){var O=a.getAliasedSymbol(o);if(O!==o&&O.declarations&&O.declarations.length>0){var M=O.declarations[0],L=e.getNameOfDeclaration(M);if(L){var R=e.isModuleWithStringLiteralName(M)&&e.hasSyntacticModifier(M,2),B="default"!==o.name&&!R,j=t(a,O,e.getSourceFileOfNode(M),M,L,l,B?o:O);y.push.apply(y,j.displayParts),y.push(e.lineBreakPart()),g=j.documentation,m=j.tags}else g=O.getContextualDocumentationComment(M,a),m=O.getJsDocTags(a)}}if(o.declarations)switch(o.declarations[0].kind){case 260:y.push(e.keywordPart(92)),y.push(e.spacePart()),y.push(e.keywordPart(140));break;case 267:y.push(e.keywordPart(92)),y.push(e.spacePart()),y.push(e.keywordPart(o.declarations[0].isExportEquals?62:87));break;case 271:y.push(e.keywordPart(92));break;default:y.push(e.keywordPart(99))}y.push(e.spacePart()),X(o),e.forEach(o.declarations,(function(t){if(261===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r))y.push(e.spacePart()),y.push(e.operatorPart(62)),y.push(e.spacePart()),y.push(e.keywordPart(143)),y.push(e.punctuationPart(20)),y.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),y.push(e.punctuationPart(21));else{var n=a.getSymbolAtLocation(r.moduleReference);n&&(y.push(e.spacePart()),y.push(e.operatorPart(62)),y.push(e.spacePart()),X(n,c))}return!0}}))}if(!b)if(""!==x){if(p)if(S?(H(),y.push(e.keywordPart(107))):$(o,x),"property"===x||"JSX attribute"===x||3&D||"local var"===x||S){if(y.push(e.punctuationPart(58)),y.push(e.spacePart()),p.symbol&&262144&p.symbol.flags){var J=e.mapToDisplayParts((function(t){var n=a.typeParameterToDeclaration(p,c,r);W().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(c)),t)}));e.addRange(y,J)}else e.addRange(y,e.typeToDisplayParts(a,p,c));if(o.target&&o.target.tupleLabelDeclaration){var K=o.target.tupleLabelDeclaration;e.Debug.assertNode(K.name,e.isIdentifier),y.push(e.spacePart()),y.push(e.punctuationPart(20)),y.push(e.textPart(e.idText(K.name))),y.push(e.punctuationPart(21))}}else if(16&D||8192&D||16384&D||131072&D||98304&D||"method"===x){(F=p.getNonNullableType().getCallSignatures()).length&&(Z(F[0],F),E=F.length>1)}}else x=n(a,o,u);if(0!==v.length||E||(v=o.getContextualDocumentationComment(c,a)),0===v.length&&4&D&&o.parent&&o.declarations&&e.forEach(o.parent.declarations,(function(e){return 298===e.kind})))for(var z=0,U=o.declarations;z0))break}}return 0!==h.length||E||(h=o.getJsDocTags(a)),0===v.length&&g&&(v=g),0===h.length&&m&&(h=m),{displayParts:y,documentation:v,symbolKind:x,tags:0===h.length?void 0:h};function W(){return f||(f=e.createPrinter({removeComments:!0})),f}function H(){y.length&&y.push(e.lineBreakPart()),G()}function G(){d&&(Q("alias"),y.push(e.spacePart()))}function Y(){y.push(e.spacePart()),y.push(e.keywordPart(100)),y.push(e.spacePart())}function X(t,r){d&&t===o&&(t=d);var n=e.symbolToDisplayParts(a,t,r||s,void 0,7);e.addRange(y,n),16777216&o.flags&&y.push(e.punctuationPart(57))}function $(t,r){H(),r&&(Q(r),t&&!e.some(t.declarations,(function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name}))&&(y.push(e.spacePart()),X(t)))}function Q(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":return void y.push(e.textOrKeywordPart(t));default:return y.push(e.punctuationPart(20)),y.push(e.textOrKeywordPart(t)),void y.push(e.punctuationPart(21))}}function Z(t,r,n){void 0===n&&(n=0),e.addRange(y,e.signatureToDisplayParts(a,t,c,32|n)),r.length>1&&(y.push(e.spacePart()),y.push(e.punctuationPart(20)),y.push(e.operatorPart(39)),y.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),y.push(e.spacePart()),y.push(e.textPart(2===r.length?"overload":"overloads")),y.push(e.punctuationPart(21))),v=t.getDocumentationComment(a),h=t.getJsDocTags(),r.length>1&&0===v.length&&0===h.length&&(v=r[0].getDocumentationComment(a),h=r[0].getJsDocTags())}function ee(t,n){var i=e.mapToDisplayParts((function(i){var o=a.symbolToTypeParameterDeclarations(t,n,r);W().writeList(53776,o,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)}));e.addRange(y,i)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(s||(s={})),function(e){function t(t,r){var i=[],a=r.compilerOptions?n(r.compilerOptions,i):{},o=e.getDefaultCompilerOptions();for(var s in o)e.hasProperty(o,s)&&void 0===a[s]&&(a[s]=o[s]);for(var c=0,u=e.transpileOptionValueCompilerOptions;c>=5;return r}(p,_),0,n),a[c]=(d=1+((u=p)>>(l=_)&s),e.Debug.assert((d&s)===d,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),u&~(s<=r.pos?t.pos:a.end:t.pos}(o,r,n),r.end,(function(s){return _(r,o,t.SmartIndenter.getIndentationForNode(o,r,n,i.options),function(e,r,n){for(var i,a=-1;e;){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(r,e,i,n))return r.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,n),s,i,a,function(t,r){if(!t.length)return a;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return a;var i=0;return function(t){for(;;){if(i>=n.length)return!1;var r=n[i];if(t.end<=r.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return!0;i++}};function a(){return!1}}(n.parseDiagnostics,r),n)}))}function _(r,n,i,a,o,s,c,u,l){var d,_,f,g,m=s.options,y=s.getRules,v=s.host,h=new t.FormattingContext(l,c,m),D=-1,x=[];if(o.advance(),o.isOnToken()){var b=l.getLineAndCharacterOfPosition(n.getStart(l)).line,S=b;n.decorators&&(S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line),function n(i,a,s,c,p,y){if(!e.rangeOverlapsWithStartEnd(r,i.getStart(l),i.getEnd()))return;var v=C(i,s,p,y),h=a;e.forEachChild(i,(function(e){S(e,-1,i,v,s,c,!1)}),(function(e){E(e,i,s,v)}));for(;o.isOnToken();){var x=o.readTokenInfo(i);if(x.token.end>i.end)break;T(x,i,v,i)}if(!i.parent&&o.isOnEOF()){var b=o.readEOFTokenRange();b.end<=i.end&&d&&N(b,l.getLineAndCharacterOfPosition(b.pos).line,i,d,f,_,a,v)}function S(a,s,c,u,d,_,p,f){var y=a.getStart(l),v=l.getLineAndCharacterOfPosition(y).line,x=v;a.decorators&&(x=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(r,c)&&-1!==(b=function(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(r).line,c=e.getLineStartPositionForPosition(r,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,m);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(m);return d>u?d:u}}return-1}(y,a.end,d,r,s))&&(s=b),!e.rangeOverlapsWithStartEnd(r,a.pos,a.end))return a.endy){S.token.pos>y&&o.skipToStartOf(a);break}T(S,i,u,i)}if(!o.isOnToken())return s;if(e.isToken(a)){var S=o.readTokenInfo(a);if(11!==a.kind)return e.Debug.assert(S.token.end===a.end,"Token end is child end"),T(S,i,u,a),s}var E=162===a.kind?v:_,C=function(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(m,e)?m.indentSize:0;return o===r?{indentation:r===g?D:a.getIndentation(),delta:Math.min(m.indentSize,a.getDelta(e)+s)}:-1===n?20===e.kind&&r===g?{indentation:D,delta:a.getDelta(e)}:t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)||t.SmartIndenter.childIsUnindentedBranchOfConditionalExpression(i,e,r,l)||t.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(i,e,r,l)?{indentation:a.getIndentation(),delta:s}:{indentation:a.getIndentation()+a.getDelta(e),delta:s}:{indentation:n,delta:s}}(a,v,b,i,u,E);return n(a,h,v,x,C.indentation,C.delta),h=i,f&&200===c.kind&&-1===s&&(s=C.indentation),s}function E(r,n,a,s){e.Debug.assert(e.isNodeArray(r));var c=function(e,t){switch(e.kind){case 167:case 252:case 209:case 166:case 165:case 210:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 204:case 205:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 174:if(e.typeArguments===t)return 29;break;case 178:return 18}return 0}(n,r),u=s,d=a;if(0!==c)for(;o.isOnToken();){if((v=o.readTokenInfo(n)).token.end>r.pos)break;if(v.token.kind===c){d=l.getLineAndCharacterOfPosition(v.token.pos).line,T(v,n,s,n);var _=void 0;if(-1!==D)_=D;else{var p=e.getLineStartPositionForPosition(v.token.pos,l);_=t.SmartIndenter.findFirstNonWhitespaceColumn(p,v.token.pos,l,m)}u=C(n,a,_,m.indentSize)}else T(v,n,s,n)}for(var f=-1,g=0;g0){var S=p(b,m);L(D,x.character,S)}else M(D,x.character)}}}else i||P(r.pos,n,!1)}function I(t,r,n){for(var i=t;io)){var s=O(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),M(s,o+1-s))}}}function O(t,r){for(var n=r;n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));)n--;return n!==r?n+1:-1}function M(t,r){r&&x.push(e.createTextChangeFromStartLength(t,r,""))}function L(t,r,n){(r||n)&&x.push(e.createTextChangeFromStartLength(t,r,n))}}function p(t,r){if((!i||i.tabSize!==r.tabSize||i.indentSize!==r.indentSize)&&(i={tabSize:r.tabSize,indentSize:r.indentSize},a=o=void 0),r.convertTabsToSpaces){var n=void 0,s=Math.floor(t/r.indentSize),c=t%r.indentSize;return o||(o=[]),void 0===o[s]?(n=e.repeatString(" ",r.indentSize*s),o[s]=n):n=o[s],c?n+e.repeatString(" ",c):n}var u=Math.floor(t/r.tabSize),l=t-u*r.tabSize,d=void 0;return a||(a=[]),void 0===a[u]?a[u]=d=e.repeatString("\t",u):d=a[u],l?d+e.repeatString(" ",l):d}t.createTextRangeWithKind=function(t,r,n){var i={pos:t,end:r,kind:n};return e.Debug.isDebugging&&Object.defineProperty(i,"__debugKind",{get:function(){return e.Debug.formatSyntaxKind(n)}}),i},function(e){e[e.Unknown=-1]="Unknown"}(r||(r={})),t.formatOnEnter=function(t,r,n){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,r);e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return e.isLineBreak(r.text.charCodeAt(a))&&a--,d({pos:e.getStartPositionOfLine(i-1,r),end:a+1},r,n,2)},t.formatOnSemicolon=function(e,t,r){return l(c(s(e,26,t)),t,r,3)},t.formatOnOpeningCurly=function(t,r,n){var i=s(t,18,r);if(!i)return[];var a=c(i.parent);return d({pos:e.getLineStartPositionForPosition(a.getStart(r),r),end:t},r,n,4)},t.formatOnClosingCurly=function(e,t,r){return l(c(s(e,19,t)),t,r,5)},t.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,r,n,i){return d({pos:e.getLineStartPositionForPosition(t,n),end:r},n,i,1)},t.formatNodeGivenIndentation=function(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,(function(t){return _(s,e,i,a,t,o,1,(function(e){return!1}),r)}))},function(e){e[e.None=0]="None",e[e.LineAdded=1]="LineAdded",e[e.LineRemoved=2]="LineRemoved"}(n||(n={})),t.getRangeOfEnclosingComment=function(t,r,n,i){void 0===i&&(i=e.getTokenAtPosition(t,r));var a=e.findAncestor(i,e.isJSDoc);if(a&&(i=a.parent),!(i.getStart(t)<=r&&rr.end}var h=s(g,e,i),D=h.line===t.line||_(g,e,t.line,i);if(y){var x=null===(f=p(e,i))||void 0===f?void 0:f[0],S=m(e,i,u,!!x&&l(x,i).line>h.line);if(-1!==S)return S+n;if(-1!==(S=c(e,g,t,D,i,u)))return S+n}b(u,g,e,i,o)&&!D&&(n+=u.indentSize);var E=d(g,e,t.line,i);g=(e=g).parent,t=E?i.getLineAndCharacterOfPosition(e.getStart(i)):h}return n+a(u)}function s(e,t,r){var n=p(t,r),i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function c(t,r,n,i,a,o){return!e.isDeclaration(t)&&!e.isStatementButNotDeclaration(t)||298!==r.kind&&i?-1:v(n,a,o)}function u(t,r,n,i){var a=e.findNextToken(t,r,i);return a?18===a.kind?1:19===a.kind&&n===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function d(t,r,n,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,r))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===n}function _(t,r,n,i){if(235===t.kind&&t.elseStatement===r){var a=e.findChildOfKind(t,90,i);return e.Debug.assert(void 0!==a),l(a,i).line===n}return!1}function p(e,t){return e.parent&&f(e.getStart(t),e.getEnd(),e.parent,t)}function f(t,r,n,i){switch(n.kind){case 174:return a(n.typeArguments);case 201:return a(n.properties);case 200:return a(n.elements);case 178:return a(n.members);case 252:case 209:case 210:case 166:case 165:case 170:case 167:case 176:case 171:return a(n.typeParameters)||a(n.parameters);case 253:case 222:case 254:case 255:case 334:return a(n.typeParameters);case 205:case 204:return a(n.typeArguments)||a(n.arguments);case 251:return a(n.declarations);case 265:case 269:return a(n.elements);case 197:case 198:return a(n.elements)}function a(a){return a&&e.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;i=0&&r=0;o--)if(27!==t[o].kind){if(n.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return v(a,n,i);a=l(t[o],n)}return-1}function v(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return D(n,n+e.character,t,r)}function h(t,r,n,i){for(var a=0,o=0,s=t;sn.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(r,n,void 0,!0),d=t.getRangeOfEnclosingComment(n,r,c||null);if(d&&3===d.kind)return function(t,r,n,i){var a=e.getLineAndCharacterOfPosition(t,r).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return D(e.getStartPositionOfLine(o,t),r,t,n);var s=e.getStartPositionOfLine(a,t),c=h(s,r,t,n),u=c.column,l=c.character;return 0===u?u:42===t.text.charCodeAt(s+l)?u-1:u}(n,r,i,d);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(n)<=r&&r0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return D(e.getLineStartPositionForPosition(i,t),i,t,n)}(n,r,i);if(27===c.kind&&217!==c.parent.kind){var p=function(t,r,n){var i=e.findListItemInfo(t);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,r,n):-1}(c,n,i);if(-1!==p)return p}var v=function(e,t,r){return t&&f(e,e,t,r)}(r,c.parent,n);return v&&!e.rangeContainsRange(v,c)?g(v,n,i)+i.indentSize:function(t,r,n,i,s,c){for(var d,_=n;_;){if(e.positionBelongsToNode(_,r,t)&&b(c,_,d,t,!0)){var p=l(_,t),f=u(n,_,i,t);return o(_,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var g=m(_,t,c,!0);if(-1!==g)return g;d=_,_=_.parent}return a(c)}(n,r,c,_,s,i)},r.getIndentationForNode=function(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return o(e,i,t,0,r,!1,n)},r.getBaseIndentation=a,function(e){e[e.Unknown=0]="Unknown",e[e.OpenBrace=1]="OpenBrace",e[e.CloseBrace=2]="CloseBrace"}(i||(i={})),r.isArgumentAndStartLineOverlapsExpressionBeingCalled=d,r.childStartsOnTheSameLineWithElseInIfStatement=_,r.childIsUnindentedBranchOfConditionalExpression=function(t,r,n,i){if(e.isConditionalExpression(t)&&(r===t.whenTrue||r===t.whenFalse)){var a=e.getLineAndCharacterOfPosition(i,t.condition.end).line;if(r===t.whenTrue)return n===a;var o=l(t.whenTrue,i).line,s=e.getLineAndCharacterOfPosition(i,t.whenTrue.end).line;return a===o&&s===n}return!1},r.argumentStartsOnSameLineAsPreviousArgument=function(t,r,n,i){if(e.isCallOrNewExpression(t)){if(!t.arguments)return!1;var a=e.find(t.arguments,(function(e){return e.pos===r.pos}));if(!a)return!1;var o=t.arguments.indexOf(a);if(0===o)return!1;var s=t.arguments[o-1];if(n===e.getLineAndCharacterOfPosition(i,s.getEnd()).line)return!0}return!1},r.getContainingList=p,r.findFirstNonWhitespaceCharacterAndColumn=h,r.findFirstNonWhitespaceColumn=D,r.nodeWillIndentChild=x,r.shouldIndentChildNode=b})((t=e.formatting||(e.formatting={})).SmartIndenter||(t.SmartIndenter={}))}(s||(s={})),function(e){!function(n){function i(t){var r=t.__pos;return e.Debug.assert("number"==typeof r),r}function a(t,r){e.Debug.assert("number"==typeof r),t.__pos=r}function o(t){var r=t.__end;return e.Debug.assert("number"==typeof r),r}function s(t,r){e.Debug.assert("number"==typeof r),t.__end=r}var c,u;function l(t,r){return e.skipTrivia(t,r,!1,!0)}!function(e){e[e.Exclude=0]="Exclude",e[e.IncludeAll=1]="IncludeAll",e[e.JSDoc=2]="JSDoc",e[e.StartLine=3]="StartLine"}(c=n.LeadingTriviaOption||(n.LeadingTriviaOption={})),function(e){e[e.Exclude=0]="Exclude",e[e.ExcludeWhitespace=1]="ExcludeWhitespace",e[e.Include=2]="Include"}(u=n.TrailingTriviaOption||(n.TrailingTriviaOption={}));var d,_={leadingTriviaOption:c.Exclude,trailingTriviaOption:u.Exclude};function p(e,t,r,n){return{pos:f(e,t,n),end:m(e,r,n)}}function f(t,r,n,i){var a,o;void 0===i&&(i=!1);var s=n.leadingTriviaOption;if(s===c.Exclude)return r.getStart(t);if(s===c.StartLine)return e.getLineStartPositionForPosition(r.getStart(t),t);if(s===c.JSDoc){var u=e.getJSDocCommentRanges(r,t.text);if(null==u?void 0:u.length)return e.getLineStartPositionForPosition(u[0].pos,t)}var d=r.getFullStart(),_=r.getStart(t);if(d===_)return _;var p=e.getLineStartPositionForPosition(d,t);if(e.getLineStartPositionForPosition(_,t)===p)return s===c.IncludeAll?d:_;if(i){var f=(null===(a=e.getLeadingCommentRanges(t.text,d))||void 0===a?void 0:a[0])||(null===(o=e.getTrailingCommentRanges(t.text,d))||void 0===o?void 0:o[0]);if(f)return e.skipTrivia(t.text,f.end,!0,!0)}var g=d>0?1:0,m=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,p)+g,t);return m=l(t.text,m),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,m),t)}function g(t,r,n){var i=r.end;if(n.trailingTriviaOption===u.Include){var a=e.getTrailingCommentRanges(t.text,i);if(a)for(var o=e.getLineOfLocalPosition(t,r.end),s=0,c=a;so)break;if(e.getLineOfLocalPosition(t,l.end)>o)return e.skipTrivia(t.text,l.end,!0,!0)}}}function m(t,r,n){var i,a=r.end,o=n.trailingTriviaOption;if(o===u.Exclude)return a;if(o===u.ExcludeWhitespace){var s=e.concatenate(e.getTrailingCommentRanges(t.text,a),e.getLeadingCommentRanges(t.text,a)),c=null===(i=null==s?void 0:s[s.length-1])||void 0===i?void 0:i.end;return c||a}var l=g(t,r,n);if(l)return l;var d=e.skipTrivia(t.text,a,!0);return d===a||o!==u.Include&&!e.isLineBreak(t.text.charCodeAt(d-1))?a:d}function y(e,t){return!!t&&!!e.parent&&(27===t.kind||26===t.kind&&201===e.parent.kind)}!function(e){e[e.Remove=0]="Remove",e[e.ReplaceWithSingleNode=1]="ReplaceWithSingleNode",e[e.ReplaceWithMultipleNodes=2]="ReplaceWithMultipleNodes",e[e.Text=3]="Text"}(d||(d={})),n.isThisTypeAnnotatable=function(t){return e.isFunctionExpression(t)||e.isFunctionDeclaration(t)};var v,h,D=function(){function n(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return n.fromContext=function(t){return new n(e.getNewLineOrDefaultFromHost(t.host,t.formatContext.options),t.formatContext)},n.with=function(e,t){var r=n.fromContext(e);return t(r),r.getChanges()},n.prototype.pushRaw=function(t,r){e.Debug.assertEqual(t.fileName,r.fileName);for(var n=0,i=r.textChanges;n=t.getLineAndCharacterOfPosition(u.range.end).line+2)break}if(t.statements.length)if(void 0===l&&(l=t.getLineAndCharacterOfPosition(t.statements[0].getStart()).line),l",joiner:", "})},n.prototype.getOptionsForInsertNodeBefore=function(t,r,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:", "}:e.isParameter(t)?e.isParameter(r)?{suffix:", "}:{}:e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)?{suffix:", "}:e.isImportSpecifier(t)?{suffix:","+(n?this.newLineCharacter:" ")}:e.Debug.failBadSyntaxKind(t)},n.prototype.insertNodeAtConstructorStart=function(r,n,i){var a=e.firstOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeBefore(r,a,i):this.replaceConstructorBody(r,n,t([i],n.body.statements))},n.prototype.insertNodeAtConstructorStartAfterSuperCall=function(r,n,i){var a=e.find(n.body.statements,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}));a&&n.body.multiLine?this.insertNodeAfter(r,a,i):this.replaceConstructorBody(r,n,t(t([],n.body.statements),[i]))},n.prototype.insertNodeAtConstructorEnd=function(r,n,i){var a=e.lastOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeAfter(r,a,i):this.replaceConstructorBody(r,n,t(t([],n.body.statements),[i]))},n.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.factory.createBlock(n,!0))},n.prototype.insertNodeAtEndOfScope=function(t,r,n){var i=f(t,r.getLastToken(),{});this.insertNodeAt(t,i,n,{prefix:e.isLineBreak(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},n.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},n.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},n.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,b(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},n.prototype.guessIndentationFromExistingMembers=function(t,r){for(var n,i=r,a=0,o=b(r);a=0;n--){var i=r[n],a=i.span,o=i.newText;t=""+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}function E(t){var r=e.visitEachChild(t,E,e.nullTransformationContext,T,E),n=e.nodeIsSynthesized(r)?r:Object.create(r);return e.setTextRangePosEnd(n,i(t),o(t)),n}function T(t,r,n,a,s){var c=e.visitNodes(t,r,n,a,s);if(!c)return c;var u=c===t?e.factory.createNodeArray(c.slice(0)):c;return e.setTextRangePosEnd(u,i(t),o(t)),u}function C(t,r){return!(e.isInComment(t,r)||e.isInString(t,r)||e.isInTemplateString(t,r)||e.isInJSXText(t,r))}function k(e,t,r,n){void 0===n&&(n={leadingTriviaOption:c.IncludeAll});var i=f(t,r,n),a=m(t,r,n);e.deleteRange(t,{pos:i,end:a})}function A(t,r,n,i){var a=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(i,n)),o=e.indexOfNode(a,i);e.Debug.assert(-1!==o),1!==a.length?(e.Debug.assert(!r.has(i),"Deleting a node twice"),r.add(i),t.deleteRange(n,{pos:x(n,i),end:o===a.length-1?m(n,i,{}):x(n,a[o+1])})):k(t,n,i)}n.ChangeTracker=D,n.getNewFileText=function(e,t,r,n){return v.newFileChangesWorker(void 0,t,e,r,n)},function(t){function n(t,r,n,a,o){var s=n.map((function(e){return 4===e?"":i(e,t,a).text})).join(a),c=e.createSourceFile("any file name",s,99,!0,r);return S(s,e.formatting.formatDocument(c,o))+a}function i(t,r,n){var i=function(t){var r=0,n=e.createTextWriter(t);function i(t,i){if(i||!function(t){return e.skipTrivia(t,0)===t.length}(t)){r=n.getTextPos();for(var a=0;e.isWhiteSpaceLike(t.charCodeAt(t.length-a-1));)a++;r-=a}}function o(e){n.write(e),i(e,!1)}function c(e){n.writeComment(e)}function u(e){n.writeKeyword(e),i(e,!1)}function l(e){n.writeOperator(e),i(e,!1)}function d(e){n.writePunctuation(e),i(e,!1)}function _(e){n.writeTrailingSemicolon(e),i(e,!1)}function p(e){n.writeParameter(e),i(e,!1)}function f(e){n.writeProperty(e),i(e,!1)}function g(e){n.writeSpace(e),i(e,!1)}function m(e){n.writeStringLiteral(e),i(e,!1)}function y(e,t){n.writeSymbol(e,t),i(e,!1)}function v(e){n.writeLine(e)}function h(){n.increaseIndent()}function D(){n.decreaseIndent()}function x(){return n.getText()}function b(e){n.rawWrite(e),i(e,!1)}function S(e){n.writeLiteral(e),i(e,!0)}function E(){return n.getTextPos()}function T(){return n.getLine()}function C(){return n.getColumn()}function k(){return n.getIndent()}function A(){return n.isAtStartOfLine()}function F(){n.clear(),r=0}return{onBeforeEmitNode:function(e){e&&a(e,r)},onAfterEmitNode:function(e){e&&s(e,r)},onBeforeEmitNodeArray:function(e){e&&a(e,r)},onAfterEmitNodeArray:function(e){e&&s(e,r)},onBeforeEmitToken:function(e){e&&a(e,r)},onAfterEmitToken:function(e){e&&s(e,r)},write:o,writeComment:c,writeKeyword:u,writeOperator:l,writePunctuation:d,writeTrailingSemicolon:_,writeParameter:p,writeProperty:f,writeSpace:g,writeStringLiteral:m,writeSymbol:y,writeLine:v,increaseIndent:h,decreaseIndent:D,getText:x,rawWrite:b,writeLiteral:S,getTextPos:E,getLine:T,getColumn:C,getIndent:k,isAtStartOfLine:A,hasTrailingComment:function(){return n.hasTrailingComment()},hasTrailingWhitespace:function(){return n.hasTrailingWhitespace()},clear:F}}(n),o="\n"===n?1:0;return e.createPrinter({newLine:o,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},i).writeNode(4,t,r,i),{text:i.getText(),node:E(t)}}t.getTextChangesFromChanges=function(t,n,a,o){return e.mapDefined(e.group(t,(function(e){return e.sourceFile.path})),(function(t){for(var s=t[0].sourceFile,c=e.stableSort(t,(function(e,t){return e.range.pos-t.range.pos||e.range.end-t.range.end})),u=function(t){e.Debug.assert(c[t].range.end<=c[t+1].range.pos,"Changes overlap",(function(){return JSON.stringify(c[t].range)+" and "+JSON.stringify(c[t+1].range)}))},l=0;l0?{fileName:s.fileName,textChanges:_}:void 0}))},t.newFileChanges=function(t,r,i,a,o){var s=n(t,e.getScriptKindFromFileName(r),i,a,o);return{fileName:r,textChanges:[e.createTextChange(e.createTextSpan(0,0),s)],isNewFile:!0}},t.newFileChangesWorker=n,t.getNonformattedText=i}(v||(v={})),n.applyChanges=S,n.isValidLocationToAddComment=C,function(t){function r(t,r,n){if(n.parent.name){var i=e.Debug.checkDefined(e.getTokenAtPosition(r,n.pos-1));t.deleteRange(r,{pos:i.getStart(r),end:n.end})}else{k(t,r,e.getAncestor(n,262))}}t.deleteDeclaration=function(t,n,i,a){switch(a.kind){case 161:var o=a.parent;e.isArrowFunction(o)&&1===o.parameters.length&&!e.findChildOfKind(o,20,i)?t.replaceNodeWithText(i,a,"()"):A(t,n,i,a);break;case 262:case 261:k(t,i,a,{leadingTriviaOption:i.imports.length&&a===e.first(i.imports).parent||a===e.find(i.statements,e.isAnyImportSyntax)?c.Exclude:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;case 199:var s=a.parent;198===s.kind&&a!==e.last(s.elements)?k(t,i,a):A(t,n,i,a);break;case 250:!function(t,r,n,i){var a=i.parent;if(288===a.kind)return void t.deleteNodeRange(n,e.findChildOfKind(a,20,n),e.findChildOfKind(a,21,n));if(1!==a.declarations.length)return void A(t,r,n,i);var o=a.parent;switch(o.kind){case 240:case 239:t.replaceNode(n,i,e.factory.createObjectLiteralExpression());break;case 238:k(t,n,a);break;case 233:k(t,n,o,{leadingTriviaOption:e.hasJSDocNodes(o)?c.JSDoc:c.StartLine});break;default:e.Debug.assertNever(o)}}(t,n,i,a);break;case 160:A(t,n,i,a);break;case 266:var l=a.parent;1===l.elements.length?r(t,i,l):A(t,n,i,a);break;case 264:r(t,i,a);break;case 26:k(t,i,a,{trailingTriviaOption:u.Exclude});break;case 97:k(t,i,a,{leadingTriviaOption:c.Exclude});break;case 253:case 252:k(t,i,a,{leadingTriviaOption:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;default:a.parent?e.isImportClause(a.parent)&&a.parent.name===a?function(t,r,n){if(n.namedBindings){var i=n.name.getStart(r),a=e.getTokenAtPosition(r,n.name.end);if(a&&27===a.kind){var o=e.skipTrivia(r.text,a.end,!1,!0);t.deleteRange(r,{pos:i,end:o})}else k(t,r,n.name)}else k(t,r,n.parent)}(t,i,a.parent):e.isCallExpression(a.parent)&&e.contains(a.parent.arguments,a)?A(t,n,i,a):k(t,i,a):k(t,i,a)}}}(h||(h={})),n.deleteNode=k}(e.textChanges||(e.textChanges={}))}(s||(s={})),function(e){!function(n){var i=e.createMultiMap(),o=new e.Map;function s(t){return e.isArray(t)?e.formatStringFromArgs(e.getLocaleSpecificMessage(t[0]),t.slice(1)):e.getLocaleSpecificMessage(t)}function c(e,t,r,n,i,a){return{fixName:e,description:t,changes:r,fixId:n,fixAllDescription:i,commands:a?[a]:void 0}}function u(e,t){return{changes:e,commands:t}}function l(t,r,n){for(var i=0,a=d(t);i1)break}var l=o<2;return function(e){var t=e.fixId,n=e.fixAllDescription,i=a(e,["fixId","fixAllDescription"]);return l?i:r(r({},i),{fixId:t,fixAllDescription:n})}}(i,n))}))},n.getAllFixes=function(t){return o.get(e.cast(t.fixId,e.isString)).getAllCodeActions(t)},n.createCombinedCodeActions=u,n.createFileTextChanges=function(e,t){return{fileName:e,textChanges:t}},n.codeFixAll=function(t,r,n){var i=[];return u(e.textChanges.ChangeTracker.with(t,(function(e){return l(t,r,(function(t){return n(e,t,i)}))})),0===i.length?void 0:i)},n.eachDiagnostic=l}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){var t,r;t=e.refactor||(e.refactor={}),r=new e.Map,t.registerRefactor=function(e,t){r.set(e,t)},t.getApplicableRefactors=function(n){return e.arrayFrom(e.flatMapIterator(r.values(),(function(e){var r;return n.cancellationToken&&n.cancellationToken.isCancellationRequested()||!(null===(r=e.kinds)||void 0===r?void 0:r.some((function(e){return t.refactorKindBeginsWith(e,n.kind)})))?void 0:e.getAvailableActions(n)})))},t.getEditsForRefactor=function(e,t,n){var i=r.get(t);return i&&i.getEditsForAction(e,n)}}(s||(s={})),function(e){!function(t){var r="addConvertToUnknownForNonOverlappingTypes",n=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.Debug.checkDefined(e.findAncestor(i,(function(t){return e.isAsExpression(t)||e.isTypeAssertionExpression(t)})),"Expected to find an assertion expression"),o=e.isAsExpression(a)?e.factory.createAsExpression(a.expression,e.factory.createKeywordTypeNode(152)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(152),a.expression);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,r,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){var t;(t=e.codefix||(e.codefix={})).registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,e.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(r){var n=r.sourceFile,i=e.textChanges.ChangeTracker.with(r,(function(t){var r=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);t.insertNodeAtEndOfScope(n,n,r)}));return[t.createCodeFixActionWithoutFixAll("addEmptyExportDeclaration",i,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(s||(s={})),function(e){!function(t){var r="addMissingAsync",n=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function i(n,i,a,o){var s=a((function(t){return function(t,r,n,i){if(i&&i.has(e.getNodeId(n)))return;null==i||i.add(e.getNodeId(n));var a=e.factory.updateModifiers(e.getSynthesizedDeepClone(n,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(n))));t.replaceNode(r,n,a)}(t,n.sourceFile,i,o)}));return t.createCodeFixAction(r,s,e.Diagnostics.Add_async_modifier_to_containing_function,r,e.Diagnostics.Add_all_missing_async_modifiers)}function a(t,r){if(r){var n=e.getTokenAtPosition(t,r.start);return e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?"quit":(e.isArrowFunction(n)||e.isMethodDeclaration(n)||e.isFunctionExpression(n)||e.isFunctionDeclaration(n))&&e.textSpansEqual(r,e.createTextSpanFromNode(n,t))}))}}t.registerCodeFix({fixIds:[r],errorCodes:n,getCodeActions:function(t){var r=t.sourceFile,n=t.errorCode,o=t.cancellationToken,s=t.program,c=t.span,u=e.find(s.getDiagnosticsProducingTypeChecker().getDiagnostics(r,o),function(t,r){return function(n){var i=n.start,a=n.length,o=n.relatedInformation,s=n.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},t)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}))}}(c,n)),l=a(r,u&&u.relatedInformation&&e.find(u.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})));if(l){return[i(t,l,(function(r){return e.textChanges.ChangeTracker.with(t,r)}))]}},getAllCodeActions:function(r){var o=r.sourceFile,s=new e.Set;return t.codeFixAll(r,n,(function(t,n){var c=n.relatedInformation&&e.find(n.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})),u=a(o,c);if(u){return i(r,u,(function(e){return e(t),[]}),s)}}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(r){var n="addMissingAwait",i=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,a=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],o=t([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,i],a);function s(t,n,i,a,s,c){var u=t.sourceFile,_=t.program,p=t.cancellationToken,f=function(t,r,n,i,a){var s=function(t,r){if(e.isPropertyAccessExpression(t.parent)&&e.isIdentifier(t.parent.expression))return{identifiers:[t.parent.expression],isCompleteFix:!0};if(e.isIdentifier(t))return{identifiers:[t],isCompleteFix:!0};if(e.isBinaryExpression(t)){for(var n=void 0,i=!0,a=0,o=[t.left,t.right];ae.textSpanEnd(n)?"quit":e.isExpression(r)&&e.textSpansEqual(n,e.createTextSpanFromNode(r,t))}));return s&&function(t,r,n,i,a){var o=a.getDiagnosticsProducingTypeChecker().getDiagnostics(t,i);return e.some(o,(function(t){var i=t.start,a=t.length,o=t.relatedInformation,s=t.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},n)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_forget_to_use_await.code}))}))}(t,r,n,i,a)&&l(s)?s:void 0}function l(t){return 32768&t.kind||!!e.findAncestor(t,(function(t){return t.parent&&e.isArrowFunction(t.parent)&&t.parent.body===t||e.isBlock(t)&&(252===t.parent.kind||209===t.parent.kind||210===t.parent.kind||166===t.parent.kind)}))}function d(t,r,n,o,s,c){if(e.isBinaryExpression(s))for(var u=0,l=[s.left,s.right];u0)return[t.createCodeFixAction(r,a,e.Diagnostics.Add_const_to_unresolved_variable,r,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,r.program,a)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="addMissingDeclareProperty",n=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function i(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(e.isIdentifier(a)){var o=a.parent;164!==o.kind||i&&!e.tryAddToSet(i,o)||t.insertModifierBefore(r,133,o)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Prefix_with_declare,r,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,a)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="addMissingInvocationForDecorator",n=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.findAncestor(i,e.isDecorator);e.Debug.assert(!!a,"Expected position to be owned by a decorator.");var o=e.factory.createCallExpression(a.expression,void 0,void 0);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Call_decorator_expression,r,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="addNameToNamelessParameter",n=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n);if(!e.isIdentifier(i))return e.Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a "+e.Debug.formatSyntaxKind(i.kind));var a=i.parent;if(!e.isParameter(a))return e.Debug.fail("Tried to add a parameter name to a non-parameter: "+e.Debug.formatSyntaxKind(i.kind));var o=a.parent.parameters.indexOf(a);e.Debug.assert(!a.type,"Tried to add a parameter name to a parameter that already had one."),e.Debug.assert(o>-1,"Parameter not found in parent parameter list.");var s=e.factory.createParameterDeclaration(void 0,a.modifiers,a.dotDotDotToken,"arg"+o,a.questionToken,e.factory.createTypeReferenceNode(i,void 0),a.initializer);t.replaceNode(r,i,s)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_parameter_name,r,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="annotateWithTypeFromJSDoc",n=[e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.tryCast(e.isParameter(n.parent)?n.parent.parent:n.parent,a)}function a(t){return function(t){return e.isFunctionLikeDeclaration(t)||250===t.kind||163===t.kind||164===t.kind}(t)&&o(t)}function o(t){return e.isFunctionLikeDeclaration(t)?t.parameters.some(o)||!t.type&&!!e.getJSDocReturnType(t):!t.type&&!!e.getJSDocType(t)}function s(t,r,n){if(e.isFunctionLikeDeclaration(n)&&(e.getJSDocReturnType(n)||n.parameters.some((function(t){return!!e.getJSDocType(t)})))){if(!n.typeParameters){var i=e.getJSDocTypeParameterDeclarations(n);i.length&&t.insertTypeParameters(r,n,i)}var a=e.isArrowFunction(n)&&!e.findChildOfKind(n,20,r);a&&t.insertNodeBefore(r,e.first(n.parameters),e.factory.createToken(20));for(var o=0,s=n.parameters;o1?(t.delete(r,l),t.insertNodeAfter(r,_,d)):t.replaceNode(r,_,d)}}function p(n){var i=[];return n.members&&n.members.forEach((function(e,n){if("constructor"===n&&e.valueDeclaration)t.delete(r,e.valueDeclaration.parent);else{var a=u(e,void 0);a&&i.push.apply(i,a)}})),n.exports&&n.exports.forEach((function(t){if("prototype"===t.name&&t.declarations){var r=t.declarations[0];if(1===t.declarations.length&&e.isPropertyAccessExpression(r)&&e.isBinaryExpression(r.parent)&&62===r.parent.operatorToken.kind&&e.isObjectLiteralExpression(r.parent.right))(n=u(r.parent.right.symbol,void 0))&&i.push.apply(i,n)}else{var n;(n=u(t,[e.factory.createToken(123)]))&&i.push.apply(i,n)}})),i;function u(n,i){var u=[];if(!(8192&n.flags||4096&n.flags))return u;var l,d,_=n.valueDeclaration,p=_.parent,f=p.right;if(l=_,d=f,!(e.isAccessExpression(l)?e.isPropertyAccessExpression(l)&&o(l)||e.isFunctionLike(d):e.every(l.properties,(function(t){return!!(e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)||e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)&&t.name||o(t))}))))return u;var g=p.parent&&234===p.parent.kind?p.parent:p;if(t.delete(r,g),!f)return u.push(e.factory.createPropertyDeclaration([],i,n.name,void 0,void 0,void 0)),u;if(e.isAccessExpression(_)&&(e.isFunctionExpression(f)||e.isArrowFunction(f))){var m=e.getQuotePreference(r,s),y=function(t,r,n){if(e.isPropertyAccessExpression(t))return t.name;var i=t.argumentExpression;if(e.isNumericLiteral(i))return i;if(e.isStringLiteralLike(i))return e.isIdentifierText(i.text,r.target)?e.factory.createIdentifier(i.text):e.isNoSubstitutionTemplateLiteral(i)?e.factory.createStringLiteral(i.text,0===n):i;return}(_,c,m);return y?h(u,f,y):u}if(e.isObjectLiteralExpression(f))return e.flatMap(f.properties,(function(t){return e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)?u.concat(t):e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)?h(u,t.initializer,t.name):o(t)?u:[]}));if(e.isSourceFileJS(r))return u;if(!e.isPropertyAccessExpression(_))return u;var v=e.factory.createPropertyDeclaration(void 0,i,_.name,void 0,void 0,f);return e.copyLeadingComments(p.parent,v,r),u.push(v),u;function h(t,n,o){return e.isFunctionExpression(n)?function(t,n,o){var s=e.concatenate(i,a(n,129)),c=e.factory.createMethodDeclaration(void 0,s,void 0,o,void 0,void 0,n.parameters,void 0,n.body);return e.copyLeadingComments(p,c,r),t.concat(c)}(t,n,o):function(t,n,o){var s,c=n.body;s=231===c.kind?c:e.factory.createBlock([e.factory.createReturnStatement(c)]);var u=e.concatenate(i,a(n,129)),l=e.factory.createMethodDeclaration(void 0,u,void 0,o,void 0,void 0,n.parameters,void 0,s);return e.copyLeadingComments(p,l,r),t.concat(l)}(t,n,o)}}}}function a(t,r){return e.filter(t.modifiers,(function(e){return e.kind===r}))}function o(t){return!!t.name&&!(!e.isIdentifier(t.name)||"constructor"!==t.name.text)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start,n.program.getTypeChecker(),n.preferences,n.program.getCompilerOptions())}));return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_function_to_an_ES2015_class,r,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return i(t,r.file,r.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions())}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(r){var n,i="convertToAsyncFunction",a=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],o=!0;function s(t,r,n,i){var a,o=e.getTokenAtPosition(r,n);if(a=e.isIdentifier(o)&&e.isVariableDeclaration(o.parent)&&o.parent.initializer&&e.isFunctionLikeDeclaration(o.parent.initializer)?o.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(r,n)),e.canBeConvertedToAsync)){var s=new e.Map,d=e.isInJSFile(a),p=function(t,r){if(!t.body)return new e.Set;var n=new e.Set;return e.forEachChild(t.body,(function t(i){c(i,r,"then")?(n.add(e.getNodeId(i)),e.forEach(i.arguments,t)):c(i,r,"catch")?(n.add(e.getNodeId(i)),e.forEachChild(i,t)):u(i,r)?n.add(e.getNodeId(i)):e.forEachChild(i,t)})),n}(a,i),f=function(t,r,n){var i=new e.Map,a=e.createMultiMap();return e.forEachChild(t,(function t(o){if(e.isIdentifier(o)){var s=r.getSymbolAtLocation(o);if(s){var c=y(r.getTypeAtLocation(o),r),u=e.getSymbolId(s).toString();if(!c||e.isParameter(o.parent)||e.isFunctionLikeDeclaration(o.parent)||n.has(u)){if(o.parent&&(e.isParameter(o.parent)||e.isVariableDeclaration(o.parent)||e.isBindingElement(o.parent))){var d=o.text,_=a.get(d);if(_&&_.some((function(e){return e!==s}))){var p=l(o,a);i.set(u,p.identifier),n.set(u,p),a.add(d,s)}else{var f=e.getSynthesizedDeepClone(o);n.set(u,b(f)),a.add(d,s)}}}else{var g=e.firstOrUndefined(c.parameters),m=(null==g?void 0:g.valueDeclaration)&&e.isParameter(g.valueDeclaration)&&e.tryCast(g.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName("result",16),v=l(m,a);n.set(u,v),a.add(m.text,s)}}}else e.forEachChild(o,t)})),e.getSynthesizedDeepCloneWithReplacements(t,!0,(function(t){if(e.isBindingElement(t)&&e.isIdentifier(t.name)&&e.isObjectBindingPattern(t.parent)){if((a=(n=r.getSymbolAtLocation(t.name))&&i.get(String(e.getSymbolId(n))))&&a.text!==(t.name||t.propertyName).getText())return e.factory.createBindingElement(t.dotDotDotToken,t.propertyName||t.name,a,t.initializer)}else if(e.isIdentifier(t)){var n,a;if(a=(n=r.getSymbolAtLocation(t))&&i.get(String(e.getSymbolId(n))))return e.factory.createIdentifier(a.text)}}))}(a,i,s);if(e.returnsPromise(f,i)){var g=f.body&&e.isBlock(f.body)?function(t,r){var n=[];return e.forEachReturnStatement(t,(function(t){e.isReturnStatementWithFixablePromiseHandler(t,r)&&n.push(t)})),n}(f.body,i):e.emptyArray,m={checker:i,synthNamesMap:s,setOfExpressionsToReturn:p,isInJSFile:d};if(g.length){var v=a.modifiers?a.modifiers.end:a.decorators?e.skipTrivia(r.text,a.decorators.end):a.getStart(r),h=a.modifiers?{prefix:" "}:{suffix:" "};t.insertModifierAt(r,v,129,h);for(var D=function(n){e.forEachChild(n,(function i(a){if(e.isCallExpression(a)){var o=_(a,m);t.replaceNodeWithNodes(r,n,o)}else e.isFunctionLike(a)||e.forEachChild(a,i)}))},x=0,S=g;x0)return O;if(k){I=m(a.checker,k,C);if(E(i,a))return f(I,null===(_=i.typeArguments)||void 0===_?void 0:_[0]);var M=p(r,I,void 0);return r&&r.types.push(k),M}return d();default:return d()}return e.emptyArray}function m(t,r,n){var i=e.getSynthesizedDeepClone(n);return t.getPromisedTypeOfPromise(r)?e.factory.createAwaitExpression(i):i}function y(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function v(t,r,n){for(var i=[],a=0,o=r;a0)return}else e.isFunctionLike(a)||e.forEachChild(a,r)}))}return i}function h(t,r){var n,i=[];e.isFunctionLikeDeclaration(t)?t.parameters.length>0&&(n=function t(r){if(e.isIdentifier(r))return a(r);var n=e.flatMap(r.elements,(function(r){return e.isOmittedExpression(r)?[]:[t(r.name)]}));return function(t,r,n){void 0===r&&(r=e.emptyArray);void 0===n&&(n=[]);return{kind:1,bindingPattern:t,elements:r,types:n}}(r,n)}(t.parameters[0].name)):e.isIdentifier(t)?n=a(t):e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&(n=a(t.name));if(n&&(!("identifier"in n)||"undefined"!==n.identifier.text))return n;function a(t){var n=function(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}(function(e){return e.original?e.original:e}(t));return n&&r.synthNamesMap.get(e.getSymbolId(n).toString())||b(t,i)}}function D(t){return!t||(S(t)?!t.identifier.text:e.every(t.elements,D))}function x(e){return S(e)?e.identifier:e.bindingPattern}function b(e,t){return void 0===t&&(t=[]),{kind:0,identifier:e,types:t,hasBeenDeclared:!1}}function S(e){return 0===e.kind}function E(t,r){return!!t.original&&r.setOfExpressionsToReturn.has(e.getNodeId(t.original))}r.registerCodeFix({errorCodes:a,getCodeActions:function(t){o=!0;var n=e.textChanges.ChangeTracker.with(t,(function(e){return s(e,t.sourceFile,t.span.start,t.program.getTypeChecker())}));return o?[r.createCodeFixAction(i,n,e.Diagnostics.Convert_to_async_function,i,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[i],getAllCodeActions:function(e){return r.codeFixAll(e,a,(function(t,r){return s(t,r.file,r.start,e.program.getTypeChecker())}))}}),function(e){e[e.Identifier=0]="Identifier",e[e.BindingPattern=1]="BindingPattern"}(n||(n={}))}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){function r(t,r,n,i){for(var a=0,o=t.imports;a1?[[o(n),s(n)],!0]:[[s(n)],!0]:[[o(n)],!1]}(d.arguments[0],r):void 0;return p?(i.replaceNodeWithNodes(t,n.parent,p[0]),p[1]):(i.replaceRangeWithText(t,e.createRange(l.getStart(t),d.pos),"export default"),!0)}i.delete(t,n.parent)}else e.isExportsOrModuleExportsOrAlias(t,l.expression)&&function(t,r,n,i){var a=r.left.name.text,o=i.get(a);if(void 0!==o){var s=[g(void 0,o,r.right),m([e.factory.createExportSpecifier(o,a)])];n.replaceNodeWithNodes(t,r.parent,s)}else!function(t,r,n){var i=t.left,a=t.right,o=t.parent,s=i.name.text;if(!(e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))||a.name&&a.name.text!==s)n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.factory.createToken(92),e.factory.createToken(84)],{joiner:" ",suffix:" "});else{n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.factory.createToken(92),{suffix:" "}),a.name||n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);c&&n.delete(r,c)}}(r,t,n)}(t,n,i,a);return!1}(t,n,y,i,d,p)}default:return!1}}function a(r,n,i,a,o,s,c){var l,d=n.declarationList,_=!1,m=e.map(d.declarations,(function(n){var i=n.name,l=n.initializer;if(l){if(e.isExportsOrModuleExportsOrAlias(r,l))return _=!0,y([]);if(e.isRequireCall(l,!0))return _=!0,function(r,n,i,a,o,s){switch(r.kind){case 197:var c=e.mapAllOrFail(r.elements,(function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?void 0:f(t.propertyName&&t.propertyName.text,t.name.text)}));if(c)return y([e.makeImport(void 0,c,n,s)]);case 198:var l=u(t.moduleSpecifierToValidIdentifier(n.text,o),a);return y([e.makeImport(e.factory.createIdentifier(l),void 0,n,s),g(void 0,e.getSynthesizedDeepClone(r),e.factory.createIdentifier(l))]);case 78:return function(t,r,n,i,a){for(var o,s=n.getSymbolAtLocation(t),c=new e.Map,l=!1,d=0,_=i.original.get(t.text);d<_.length;d++){var p=_[d];if(n.getSymbolAtLocation(p)===s&&p!==t){var f=p.parent;if(e.isPropertyAccessExpression(f)){var g=f.name.text;if("default"===g){l=!0;var m=p.getText();(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(m))}else{e.Debug.assert(f.expression===p,"Didn't expect expression === use");var v=c.get(g);void 0===v&&(v=u(g,i),c.set(g,v)),(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(v))}}else l=!0}}var h=0===c.size?void 0:e.arrayFrom(e.mapIterator(c.entries(),(function(t){var r=t[0],n=t[1];return e.factory.createImportSpecifier(r===n?void 0:e.factory.createIdentifier(r),e.factory.createIdentifier(n))})));h||(l=!0);return y([e.makeImport(l?e.getSynthesizedDeepClone(t):void 0,h,r,a)],o)}(r,n,i,a,s);default:return e.Debug.assertNever(r,"Convert to ES6 module got invalid name kind "+r.kind)}}(i,l.arguments[0],a,o,s,c);if(e.isPropertyAccessExpression(l)&&e.isRequireCall(l.expression,!0))return _=!0,function(t,r,n,i,a){switch(t.kind){case 197:case 198:var o=u(r,i);return y([p(o,r,n,a),g(void 0,t,e.factory.createIdentifier(o))]);case 78:return y([p(t.text,r,n,a)]);default:return e.Debug.assertNever(t,"Convert to ES6 module got invalid syntax form "+t.kind)}}(i,l.name.text,l.expression.arguments[0],o,c)}return y([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([n],d.flags))])}));if(_)return i.replaceNodeWithNodes(r,n,e.flatMap(m,(function(e){return e.newImports}))),e.forEach(m,(function(t){t.useSitesToUnqualify&&e.copyEntries(t.useSitesToUnqualify,null!=l?l:l=new e.Map)})),l}function o(e){return m(void 0,e)}function s(t){return m([e.factory.createExportSpecifier(void 0,"default")],t)}function c(t,r){return r&&e.some(e.arrayFrom(r.keys()),(function(r){return e.rangeContainsRange(t,r)}))?e.isArray(t)?e.getSynthesizedDeepClonesWithReplacements(t,!0,n):e.getSynthesizedDeepCloneWithReplacements(t,!0,n):t;function n(e){if(202===e.kind){var t=r.get(e);return r.delete(e),t}}}function u(e,t){for(;t.original.has(e)||t.additional.has(e);)e="_"+e;return t.additional.add(e),e}function l(t){var r=e.createMultiMap();return d(t,(function(e){return r.add(e.text,e)})),r}function d(t,r){e.isIdentifier(t)&&function(e){var t=e.parent;switch(t.kind){case 202:return t.name!==e;case 199:case 266:return t.propertyName!==e;default:return!0}}(t)&&r(t),t.forEachChild((function(e){return d(e,r)}))}function _(t,r,n,i){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(n.decorators),e.concatenate(r,e.getSynthesizedDeepClones(n.modifiers)),e.getSynthesizedDeepClone(n.asteriskToken),t,e.getSynthesizedDeepClones(n.typeParameters),e.getSynthesizedDeepClones(n.parameters),e.getSynthesizedDeepClone(n.type),e.factory.converters.convertToFunctionBlock(c(n.body,i)))}function p(t,r,n,i){return"default"===r?e.makeImport(e.factory.createIdentifier(t),void 0,n,i):e.makeImport(void 0,[f(r,t)],n,i)}function f(t,r){return e.factory.createImportSpecifier(void 0!==t&&t!==r?e.factory.createIdentifier(t):void 0,e.factory.createIdentifier(r))}function g(t,r,n){return e.factory.createVariableStatement(t,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(r,void 0,void 0,n)],2))}function m(t,r){return e.factory.createExportDeclaration(void 0,void 0,!1,t&&e.factory.createNamedExports(t),void 0===r?void 0:e.factory.createStringLiteral(r))}function y(e,t){return{newImports:e,useSitesToUnqualify:t}}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(o){var s=o.sourceFile,c=o.program,d=o.preferences,_=e.textChanges.ChangeTracker.with(o,(function(t){if(function(t,r,o,s,c){var d={original:l(t),additional:new e.Set},_=function(t,r,i){var a=new e.Map;return n(t,(function(t){var n=t.name,o=n.text,s=n.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||r.resolveName(o,t,111551,!0))&&a.set(o,u("_"+o,i))})),a}(t,r,d);!function(t,r,i){n(t,(function(n,a){if(!a){var o=n.name.text;i.replaceNode(t,n,e.factory.createIdentifier(r.get(o)||o))}}))}(t,_,o);for(var p,f=!1,g=0,m=e.filter(t.statements,e.isVariableStatement);g=e.ModuleKind.ES2015)return n?1:2;if(e.isInJSFile(t))return e.isExternalModule(t)?1:3;for(var i=0,a=t.statements;i"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,c?c.text:e.ANONYMOUS]}return t.replaceNode(r,s,e.factory.createToken(84)),t.insertText(r,c.end," = "),t.insertText(r,u.pos," =>"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,c.text]}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a,o=n.sourceFile,s=n.program,c=n.span,u=e.textChanges.ChangeTracker.with(n,(function(e){a=i(e,o,c.start,s.getTypeChecker())}));return a?[t.createCodeFixAction(r,u,a,r,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="fixIncorrectNamedTupleSyntax",n=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=function(t,r){var n=e.getTokenAtPosition(t,r);return e.findAncestor(n,(function(e){return 193===e.kind}))}(i,a.start),s=e.textChanges.ChangeTracker.with(n,(function(t){return function(t,r,n){if(n){for(var i=n.type,a=!1,o=!1;181===i.kind||182===i.kind||187===i.kind;)181===i.kind?a=!0:182===i.kind&&(o=!0),i=i.type;var s=e.factory.updateNamedTupleMember(n,n.dotDotDotToken||(o?e.factory.createToken(25):void 0),n.name,n.questionToken||(a?e.factory.createToken(57):void 0),i);s!==n&&t.replaceNode(r,n,s)}}(t,i,o)}));return[t.createCodeFixAction(r,s,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,r,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r]})}(s||(s={})),function(e){!function(t){var r="fixSpelling",n=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function i(t,r,n,i){var a=e.getTokenAtPosition(t,r),o=a.parent;if(i!==e.Diagnostics.No_overload_matches_this_call.code&&i!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(o)){var s,c=n.program.getTypeChecker();if(e.isPropertyAccessExpression(o)&&o.name===a){e.Debug.assert(e.isMemberName(a),"Expected an identifier for spelling (property access)");var u=c.getTypeAtLocation(o.expression);32&o.flags&&(u=c.getNonNullableType(u)),s=c.getSuggestedSymbolForNonexistentProperty(a,u)}else if(e.isQualifiedName(o)&&o.right===a){var l=c.getSymbolAtLocation(o.left);l&&1536&l.flags&&(s=c.getSuggestedSymbolForNonexistentModule(o.right,l))}else if(e.isImportSpecifier(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for spelling (import)");var d=function(t,r,n){if(!n||!e.isStringLiteralLike(n.moduleSpecifier))return;var i=e.getResolvedModule(t,n.moduleSpecifier.text);return i?r.program.getSourceFile(i.resolvedFileName):void 0}(t,n,e.findAncestor(a,e.isImportDeclaration));d&&d.symbol&&(s=c.getSuggestedSymbolForNonexistentModule(a,d.symbol))}else if(e.isJsxAttribute(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for JSX attribute");var _=e.findAncestor(a,e.isJsxOpeningLikeElement),p=c.getContextualTypeForArgumentAtIndex(_,0);s=c.getSuggestedSymbolForNonexistentJSXAttribute(a,p)}else{var f=e.getMeaningFromLocation(a),g=e.getTextOfNode(a);e.Debug.assert(void 0!==g,"name should be defined"),s=c.getSuggestedSymbolForNonexistentSymbol(a,g,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(f))}return void 0===s?void 0:{node:a,suggestedSymbol:s}}}function a(t,r,n,i,a){var o=e.symbolName(i);if(!e.isIdentifierText(o,a)&&e.isPropertyAccessExpression(n.parent)){var s=i.valueDeclaration;s&&e.isNamedDeclaration(s)&&e.isPrivateIdentifier(s.name)?t.replaceNode(r,n,e.factory.createIdentifier(o)):t.replaceNode(r,n.parent,e.factory.createElementAccessExpression(n.parent.expression,e.factory.createStringLiteral(o)))}else t.replaceNode(r,n,e.factory.createIdentifier(o))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.errorCode,c=i(o,n.span.start,n,s);if(c){var u=c.node,l=c.suggestedSymbol,d=n.host.getCompilationSettings().target,_=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,u,l,d)}));return[t.createCodeFixAction("spelling",_,[e.Diagnostics.Change_spelling_to_0,e.symbolName(l)],r,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,e,r.code),o=e.host.getCompilationSettings().target;n&&a(t,e.sourceFile,n.node,n.suggestedSymbol,o)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r,n="returnValueCorrect",i="fixAddReturnStatement",a="fixRemoveBracesFromArrowFunctionBody",o="fixWrapTheBlockWithParen",s=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function c(t,r,n){var i=t.createSymbol(4,r.escapedText);i.type=t.getTypeAtLocation(n);var a=e.createSymbolTable([i]);return t.createAnonymousType(void 0,a,[],[],void 0,void 0)}function u(t,n,i,a){if(n.body&&e.isBlock(n.body)&&1===e.length(n.body.statements)){var o=e.first(n.body.statements);if(e.isExpressionStatement(o)&&l(t,n,t.getTypeAtLocation(o.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:o.expression,statement:o,commentSource:o.expression};if(e.isLabeledStatement(o)&&e.isExpressionStatement(o.statement)){var s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(l(t,n,c(t,o.label,o.statement.expression),i,a))return e.isArrowFunction(n)?{declaration:n,kind:r.MissingParentheses,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:o.statement.expression}}else if(e.isBlock(o)&&1===e.length(o.statements)){var u=e.first(o.statements);if(e.isLabeledStatement(u)&&e.isExpressionStatement(u.statement)){s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(u.label,u.statement.expression)]);if(l(t,n,c(t,u.label,u.statement.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:u}}}}}function l(t,r,n,i,a){if(a){var o=t.getSignatureFromDeclaration(r);if(o){e.hasSyntacticModifier(r,256)&&(n=t.createPromiseType(n));var s=t.createSignature(r,o.typeParameters,o.thisParameter,o.parameters,n,void 0,o.minArgumentCount,o.flags);n=t.createAnonymousType(void 0,e.createSymbolTable(),[s],[],void 0,void 0)}else n=t.getAnyType()}return t.isTypeAssignableTo(n,i)}function d(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(a.parent){var o=e.findAncestor(a.parent,e.isFunctionLikeDeclaration);switch(i){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&e.rangeContainsRange(o.type,a)))return;return u(t,o,t.getTypeFromTypeNode(o.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!e.isCallExpression(o.parent)||!o.body)return;var s=o.parent.arguments.indexOf(o),c=t.getContextualTypeForArgumentAtIndex(o.parent,s);if(!c)return;return u(t,o,c,!0);case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(a)||!e.isVariableLike(a.parent)&&!e.isJsxAttribute(a.parent))return;var l=function(t){switch(t.kind){case 250:case 161:case 199:case 164:case 289:return t.initializer;case 281:return t.initializer&&(e.isJsxExpression(t.initializer)?t.initializer.expression:void 0);case 290:case 163:case 292:case 337:case 330:return}}(a.parent);if(!l||!e.isFunctionLikeDeclaration(l)||!l.body)return;return u(t,l,t.getTypeAtLocation(a.parent),!0)}}}function _(t,r,n,i){e.suppressLeadingAndTrailingTrivia(n);var a=e.probablyUsesSemicolons(r);t.replaceNode(r,i,e.factory.createReturnStatement(n),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:a?";":void 0})}function p(t,r,n,i,a,o){var s=o||e.needsParentheses(i)?e.factory.createParenthesizedExpression(i):i;e.suppressLeadingAndTrailingTrivia(a),e.copyComments(a,s),t.replaceNode(r,n.body,s)}function f(t,r,n,i){t.replaceNode(r,n.body,e.factory.createParenthesizedExpression(i))}function g(r,a,o){var s=e.textChanges.ChangeTracker.with(r,(function(e){return _(e,r.sourceFile,a,o)}));return t.createCodeFixAction(n,s,e.Diagnostics.Add_a_return_statement,i,e.Diagnostics.Add_all_missing_return_statement)}function m(r,i,a){var s=e.textChanges.ChangeTracker.with(r,(function(e){return f(e,r.sourceFile,i,a)}));return t.createCodeFixAction(n,s,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,o,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}!function(e){e[e.MissingReturnStatement=0]="MissingReturnStatement",e[e.MissingParentheses=1]="MissingParentheses"}(r||(r={})),t.registerCodeFix({errorCodes:s,fixIds:[i,a,o],getCodeActions:function(i){var o=i.program,s=i.sourceFile,c=i.span.start,u=i.errorCode,l=d(o.getTypeChecker(),s,c,u);if(l)return l.kind===r.MissingReturnStatement?e.append([g(i,l.expression,l.statement)],e.isArrowFunction(l.declaration)?function(r,i,o,s){var c=e.textChanges.ChangeTracker.with(r,(function(e){return p(e,r.sourceFile,i,o,s,!1)}));return t.createCodeFixAction(n,c,e.Diagnostics.Remove_braces_from_arrow_function_body,a,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(i,l.declaration,l.expression,l.commentSource):void 0):[m(i,l.declaration,l.expression)]},getAllCodeActions:function(r){return t.codeFixAll(r,s,(function(t,n){var s=d(r.program.getTypeChecker(),n.file,n.start,n.code);if(s)switch(r.fixId){case i:_(t,n.file,s.expression,s.statement);break;case a:if(!e.isArrowFunction(s.declaration))return;p(t,n.file,s.declaration,s.expression,s.commentSource,!1);break;case o:if(!e.isArrowFunction(s.declaration))return;f(t,n.file,s.declaration,s.expression);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r,n="fixMissingMember",i="fixMissingFunctionDeclaration",a=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,e.Diagnostics.Cannot_find_name_0.code];function o(t,r,n,i){var a=e.getTokenAtPosition(t,r);if(e.isIdentifier(a)||e.isPrivateIdentifier(a)){var o=a.parent;if(e.isIdentifier(a)&&e.isCallExpression(o))return{kind:2,token:a,call:o,sourceFile:t,modifierFlags:0,parentDeclaration:t};if(e.isPropertyAccessExpression(o)){var s=e.skipConstraint(n.getTypeAtLocation(o.expression)),c=s.symbol;if(c&&c.declarations){if(e.isIdentifier(a)&&e.isCallExpression(o.parent)){var u=e.find(c.declarations,e.isModuleDeclaration),l=null==u?void 0:u.getSourceFile();if(u&&l&&!i.isSourceFileFromExternalLibrary(l))return{kind:2,token:a,call:o.parent,sourceFile:t,modifierFlags:1,parentDeclaration:u};var d=e.find(c.declarations,e.isSourceFile);if(t.commonJsModuleIndicator)return;if(d&&!i.isSourceFileFromExternalLibrary(d))return{kind:2,token:a,call:o.parent,sourceFile:d,modifierFlags:1,parentDeclaration:d}}var _=e.find(c.declarations,e.isClassLike);if(_||!e.isPrivateIdentifier(a)){var p=_||e.find(c.declarations,e.isInterfaceDeclaration);if(p&&!i.isSourceFileFromExternalLibrary(p.getSourceFile())){var f=(s.target||s)!==n.getDeclaredTypeOfSymbol(c);if(f&&(e.isPrivateIdentifier(a)||e.isInterfaceDeclaration(p)))return;var g=p.getSourceFile(),m=(f?32:0)|(e.startsWithUnderscore(a.text)?8:0),y=e.isSourceFileJS(g);return{kind:1,token:a,call:e.tryCast(o.parent,e.isCallExpression),modifierFlags:m,parentDeclaration:p,declSourceFile:g,isJSFile:y}}var v=e.find(c.declarations,e.isEnumDeclaration);return!v||e.isPrivateIdentifier(a)||i.isSourceFileFromExternalLibrary(v.getSourceFile())?void 0:{kind:0,token:a,parentDeclaration:v}}}}}}function s(t,r,n,i,a){var o=i.text;if(a){if(222===n.kind)return;var s=n.name.getText(),u=c(e.factory.createIdentifier(s),o);t.insertNodeAfter(r,n,u)}else if(e.isPrivateIdentifier(i)){var l=e.factory.createPropertyDeclaration(void 0,void 0,o,void 0,void 0,void 0),_=d(n);_?t.insertNodeAfter(r,_,l):t.insertNodeAtClassStart(r,n,l)}else{var p=e.getFirstConstructorWithBody(n);if(!p)return;var f=c(e.factory.createThis(),o);t.insertNodeAtConstructorEnd(r,p,f)}}function c(t,r){return e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createPropertyAccessExpression(t,r),e.factory.createIdentifier("undefined")))}function u(t,r,n){var i;if(217===n.parent.parent.kind){var a=n.parent.parent,o=n.parent===a.left?a.right:a.left,s=t.getWidenedType(t.getBaseTypeOfLiteralType(t.getTypeAtLocation(o)));i=t.typeToTypeNode(s,r,1)}else{var c=t.getContextualType(n.parent);i=c?t.typeToTypeNode(c,void 0,1):void 0}return i||e.factory.createKeywordTypeNode(128)}function l(t,r,n,i,a,o){var s=e.factory.createPropertyDeclaration(void 0,o?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(o)):void 0,i,void 0,a,void 0),c=d(n);c?t.insertNodeAfter(r,c,s):t.insertNodeAtClassStart(r,n,s)}function d(t){for(var r,n=0,i=t.members;n=e.ModuleKind.ES2015&&o99)&&(s=e.textChanges.ChangeTracker.with(r,(function(r){if(e.getTsConfigObjectLiteralExpression(i)){var n=[["target",e.factory.createStringLiteral("es2017")]];o===e.ModuleKind.CommonJS&&n.push(["module",e.factory.createStringLiteral("commonjs")]),t.setJsonCompilerOptionValues(r,i,n)}})),a.push(t.createCodeFixActionWithoutFixAll("fixTargetOption",s,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))),a.length?a:void 0}}})}(s||(s={})),function(e){!function(t){var r="fixPropertyAssignment",n=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function i(t,r,n){t.replaceNode(r,n,e.factory.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function a(t,r){return e.cast(e.getTokenAtPosition(t,r).parent,e.isShorthandPropertyAssignment)}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var o=a(n.sourceFile,n.span.start),s=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,o)}));return[t.createCodeFixAction(r,s,[e.Diagnostics.Change_0_to_1,"=",":"],r,[e.Diagnostics.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,a(t.file,t.start))}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="extendsInterfaceBecomesImplements",n=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function i(t,r){var n=e.getTokenAtPosition(t,r),i=e.getContainingClass(n).heritageClauses,a=i[0].getFirstToken();return 93===a.kind?{extendsToken:a,heritageClauses:i}:void 0}function a(t,r,n,i){if(t.replaceNode(r,n,e.factory.createToken(116)),2===i.length&&93===i[0].token&&116===i[1].token){var a=i[1].getFirstToken(),o=a.getFullStart();t.replaceRange(r,{pos:o,end:o},e.factory.createToken(27));for(var s=r.text,c=a.end;c":">","}":"}"};function o(t,r,n,i,o){var s=n.getText()[i];if(function(t){return e.hasProperty(a,t)}(s)){var c=o?a[s]:"{"+e.quote(n,r,s)+"}";t.replaceRangeWithText(n,{pos:i,end:i+1},c)}}}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="unusedIdentifier",n="unusedIdentifier_prefix",i="unusedIdentifier_delete",a="unusedIdentifier_deleteImports",o="unusedIdentifier_infer",s=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function c(t,r,n){t.replaceNode(r,n.parent,e.factory.createKeywordTypeNode(152))}function u(n,a){return t.createCodeFixAction(r,n,a,i,e.Diagnostics.Delete_all_unused_declarations)}function l(t,r,n){t.delete(r,e.Debug.checkDefined(e.cast(n.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function d(e){return 99===e.kind||78===e.kind&&(266===e.parent.kind||263===e.parent.kind)}function _(t){return 99===t.kind?e.tryCast(t.parent,e.isImportDeclaration):void 0}function p(t,r){return e.isVariableDeclarationList(r.parent)&&e.first(r.parent.getChildren(t))===r}function f(e,t,r){e.delete(t,233===r.parent.kind?r.parent:r)}function g(t,r,n,i){r!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(135===i.kind&&(i=e.cast(i.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(i)&&function(e){switch(e.parent.kind){case 161:case 160:return!0;case 250:switch(e.parent.parent.parent.kind){case 240:case 239:return!0}}return!1}(i)&&(t.replaceNode(n,i,e.factory.createIdentifier("_"+i.text)),e.isParameter(i.parent)&&e.getJSDocParameterTags(i.parent).forEach((function(r){e.isIdentifier(r.name)&&t.replaceNode(n,r.name,e.factory.createIdentifier("_"+r.name.text))}))))}function m(t,r,n,i,a,o,s,c){!function(t,r,n,i,a,o,s,c){var u=t.parent;if(e.isParameter(u))!function(t,r,n,i,a,o,s,c){void 0===c&&(c=!1);(function(t,r,n,i,a,o,s){var c=n.parent;switch(c.kind){case 166:case 167:var u=c.parameters.indexOf(n),l=e.isMethodDeclaration(c)?c.name:c,d=e.FindAllReferences.Core.getReferencedSymbolsForNode(c.pos,l,a,i,o);if(d)for(var _=0,p=d;_u,h=e.isPropertyAccessExpression(m.node.parent)&&e.isSuperKeyword(m.node.parent.expression)&&e.isCallExpression(m.node.parent.parent)&&m.node.parent.parent.arguments.length>u,D=(e.isMethodDeclaration(m.node.parent)||e.isMethodSignature(m.node.parent))&&m.node.parent!==n.parent&&m.node.parent.parameters.length>u;if(y||h||D)return!1}}return!0;case 252:return!c.name||!function(t,r,n){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(n,t,r,(function(t){return e.isIdentifier(t)&&e.isCallExpression(t.parent)&&t.parent.arguments.indexOf(t)>=0}))}(t,r,c.name)||v(c,n,s);case 209:case 210:return v(c,n,s);case 169:return!1;default:return e.Debug.failBadSyntaxKind(c)}})(i,r,n,a,o,s,c)&&(n.modifiers&&n.modifiers.length>0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))?n.modifiers.forEach((function(e){return t.deleteModifier(r,e)})):!n.initializer&&y(n,i,a)&&t.delete(r,n))}(r,n,u,i,a,o,s,c);else if(!(c&&e.isIdentifier(t)&&e.FindAllReferences.Core.isSymbolReferencedInFile(t,i,n))){var l=e.isImportClause(u)?t:e.isComputedPropertyName(u)?u.parent:u;e.Debug.assert(l!==n,"should not delete whole source file"),r.delete(n,l)}}(r,n,t,i,a,o,s,c),e.isIdentifier(r)&&e.FindAllReferences.Core.eachSymbolReferenceInFile(r,i,t,(function(r){e.isPropertyAccessExpression(r.parent)&&r.parent.name===r&&(r=r.parent),!c&&function(t){return(e.isBinaryExpression(t.parent)&&t.parent.left===t||(e.isPostfixUnaryExpression(t.parent)||e.isPrefixUnaryExpression(t.parent))&&t.parent.operand===t)&&e.isExpressionStatement(t.parent.parent)}(r)&&n.delete(t,r.parent.parent)}))}function y(t,r,n){var i=t.parent.parameters.indexOf(t);return!e.FindAllReferences.Core.someSignatureUsage(t.parent,n,r,(function(e,t){return!t||t.arguments.length>i}))}function v(t,r,n){var i=t.parameters,a=i.indexOf(r);return e.Debug.assert(-1!==a,"The parameter should already be in the list"),n?i.slice(a+1).every((function(t){return e.isIdentifier(t.name)&&!t.symbol.isReferenced})):a===i.length-1}t.registerCodeFix({errorCodes:s,getCodeActions:function(i){var s=i.errorCode,y=i.sourceFile,v=i.program,h=i.cancellationToken,D=v.getTypeChecker(),x=v.getSourceFiles(),b=e.getTokenAtPosition(y,i.span.start);if(e.isJSDocTemplateTag(b))return[u(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,b)})),e.Diagnostics.Remove_template_tag)];if(29===b.kind)return[u(E=e.textChanges.ChangeTracker.with(i,(function(e){return l(e,y,b)})),e.Diagnostics.Remove_type_parameters)];var S=_(b);if(S){var E=e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,S)}));return[t.createCodeFixAction(r,E,[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(S)],a,e.Diagnostics.Delete_all_unused_imports)]}if(d(b)&&(F=e.textChanges.ChangeTracker.with(i,(function(e){return m(y,b,e,D,x,v,h,!1)}))).length)return[t.createCodeFixAction(r,F,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,b.getText(y)],a,e.Diagnostics.Delete_all_unused_imports)];if(e.isObjectBindingPattern(b.parent)||e.isArrayBindingPattern(b.parent)){if(e.isParameter(b.parent.parent)){var T=b.parent.elements,C=[T.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(T,(function(e){return e.getText(y)})).join(", ")];return[u(e.textChanges.ChangeTracker.with(i,(function(t){return function(t,r,n){e.forEach(n.elements,(function(e){return t.delete(r,e)}))}(t,y,b.parent)})),C)]}return[u(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(y,b.parent.parent)})),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(p(y,b))return[u(e.textChanges.ChangeTracker.with(i,(function(e){return f(e,y,b.parent)})),e.Diagnostics.Remove_variable_statement)];var k=[];if(135===b.kind){E=e.textChanges.ChangeTracker.with(i,(function(e){return c(e,y,b)}));var A=e.cast(b.parent,e.isInferTypeNode).typeParameter.name.text;k.push(t.createCodeFixAction(r,E,[e.Diagnostics.Replace_infer_0_with_unknown,A],o,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var F;if((F=e.textChanges.ChangeTracker.with(i,(function(e){return m(y,b,e,D,x,v,h,!1)}))).length){A=e.isComputedPropertyName(b.parent)?b.parent:b;k.push(u(F,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,A.getText(y)]))}}var N=e.textChanges.ChangeTracker.with(i,(function(e){return g(e,s,y,b)}));return N.length&&k.push(t.createCodeFixAction(r,N,[e.Diagnostics.Prefix_0_with_an_underscore,b.getText(y)],n,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),k},fixIds:[n,i,a,o],getAllCodeActions:function(r){var u=r.sourceFile,v=r.program,h=r.cancellationToken,D=v.getTypeChecker(),x=v.getSourceFiles();return t.codeFixAll(r,s,(function(t,s){var b=e.getTokenAtPosition(u,s.start);switch(r.fixId){case n:g(t,s.code,u,b);break;case a:var S=_(b);S?t.delete(u,S):d(b)&&m(u,b,t,D,x,v,h,!0);break;case i:if(135===b.kind||d(b))break;if(e.isJSDocTemplateTag(b))t.delete(u,b);else if(29===b.kind)l(t,u,b);else if(e.isObjectBindingPattern(b.parent)){if(b.parent.parent.initializer)break;e.isParameter(b.parent.parent)&&!y(b.parent.parent,D,x)||t.delete(u,b.parent.parent)}else{if(e.isArrayBindingPattern(b.parent.parent)&&b.parent.parent.parent.initializer)break;p(u,b)?f(t,u,b.parent):m(u,b,t,D,x,v,h,!0)}break;case o:135===b.kind&&c(t,u,b);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="fixUnreachableCode",n=[e.Diagnostics.Unreachable_code_detected.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n),s=e.findAncestor(o,e.isStatement);if(s.getStart(r)!==o.getStart(r)){var c=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(s.kind),tokenKind:e.Debug.formatSyntaxKind(o.kind),errorCode:a,start:n,length:i});e.Debug.fail("Token and statement should start at the same point. "+c)}var u=(e.isBlock(s.parent)?s.parent:s).parent;if(!e.isBlock(s.parent)||s===e.first(s.parent.statements))switch(u.kind){case 235:if(u.elseStatement){if(e.isBlock(s.parent))break;return void t.replaceNode(r,s,e.factory.createBlock(e.emptyArray))}case 237:case 238:return void t.delete(r,u)}if(e.isBlock(s.parent)){var l=n+i,d=e.Debug.checkDefined(function(e,t){for(var r,n=0,i=e;nM.length)B(S,f.getSignatureFromDeclaration(_[_.length-1]),h,y,o(S));else e.Debug.assert(_.length===M.length,"Declarations and signatures should match count"),l(function(t,n,i,s,c,u,l,d){for(var _=s[0],p=s[0].minArgumentCount,f=!1,g=0,m=s;g=_.parameters.length&&(!e.signatureHasRestParameter(y)||e.signatureHasRestParameter(_))&&(_=y)}var v=_.parameters.length-(e.signatureHasRestParameter(_)?1:0),h=_.parameters.map((function(e){return e.name})),D=a(v,h,void 0,p,!1);if(f){var x=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(128)),b=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),h[v]||"rest",v>=p?e.factory.createToken(57):void 0,x,void 0);D.push(b)}return function(t,r,n,i,a,s,c){return e.factory.createMethodDeclaration(void 0,t,void 0,r,n?e.factory.createToken(57):void 0,i,a,s,o(c))}(l,c,u,void 0,D,function(t,n,i,a){if(e.length(t)){var o=n.getUnionType(e.map(t,n.getReturnTypeOfSignature));return n.typeToTypeNode(o,a,void 0,r(i))}}(s,t,n,i),d)}(f,s,n,M,y,x,h,S))}}function B(t,i,a,o,c){var _=function(t,n,i,a,o,s,c,u,l){var _=t.program,f=_.getTypeChecker(),g=e.getEmitScriptTarget(_.getCompilerOptions()),m=1073742081|(0===n?268435456:0),y=f.signatureToSignatureDeclaration(i,166,a,m,r(t));if(!y)return;var v=y.typeParameters,h=y.parameters,D=y.type;if(l){if(v){var x=e.sameMap(v,(function(t){var r,n=t.constraint,i=t.default;n&&((r=d(n,g))&&(n=r.typeNode,p(l,r.symbols)));i&&((r=d(i,g))&&(i=r.typeNode,p(l,r.symbols)));return e.factory.updateTypeParameterDeclaration(t,t.name,n,i)}));v!==x&&(v=e.setTextRange(e.factory.createNodeArray(x,v.hasTrailingComma),v))}var b=e.sameMap(h,(function(t){var r=d(t.type,g),n=t.type;return r&&(n=r.typeNode,p(l,r.symbols)),e.factory.updateParameterDeclaration(t,t.decorators,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,n,t.initializer)}));if(h!==b&&(h=e.setTextRange(e.factory.createNodeArray(b,h.hasTrailingComma),h)),D){var S=d(D,g);S&&(D=S.typeNode,p(l,S.symbols))}}return e.factory.updateMethodDeclaration(y,void 0,o,y.asteriskToken,s,c?e.factory.createToken(57):void 0,v,h,D,u)}(s,t,i,n,a,o,x,c,u);_&&l(_)}}function i(t,r,n,i,a,o,s){var c=t.typeToTypeNode(n,i,o,s);if(c&&e.isImportTypeNode(c)){var u=d(c,a);if(u)return p(r,u.symbols),u.typeNode}return c}function a(t,r,n,i,a){for(var o=[],s=0;s=i?e.factory.createToken(57):void 0,a?void 0:n&&n[s]||e.factory.createKeywordTypeNode(128),void 0);o.push(c)}return o}function o(t){return s(e.Diagnostics.Method_not_implemented.message,t)}function s(t,r){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier("Error"),void 0,[e.factory.createStringLiteral(t,0===r)]))],!0)}function c(t,r,n){var i=e.getTsConfigObjectLiteralExpression(r);if(i){var a=l(i,"compilerOptions");if(void 0!==a){var o=a.initializer;if(e.isObjectLiteralExpression(o))for(var s=0,c=n;s0)return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_to_a_bigint_numeric_literal,r,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="fixAddModuleReferTypeMissingTypeof",n=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.Debug.assert(99===n.kind,"This token should be an ImportKeyword"),e.Debug.assert(196===n.parent.kind,"Token parent should be an ImportType"),n.parent}function a(t,r,n){var i=e.factory.updateImportTypeNode(n,n.argument,n.qualifier,n.typeArguments,!0);t.replaceNode(r,n,i)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start),u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Add_missing_typeof,r,e.Diagnostics.Add_missing_typeof)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return a(t,e.sourceFile,i(r.file,r.start))}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="wrapJsxInFragment",n=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function i(t,r){var n=e.getTokenAtPosition(t,r).parent.parent;if((e.isBinaryExpression(n)||(n=n.parent,e.isBinaryExpression(n)))&&e.nodeIsMissing(n.operatorToken))return n}function a(t,r,n){var i=function(t){var r=[],n=t;for(;;){if(e.isBinaryExpression(n)&&e.nodeIsMissing(n.operatorToken)&&27===n.operatorToken.kind){if(r.push(n.left),e.isJsxChild(n.right))return r.push(n.right),r;if(e.isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);i&&t.replaceNode(r,n,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),i,e.factory.createJsxJsxClosingFragment()))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.program.getCompilerOptions().jsx;if(2===o||3===o){var s=n.sourceFile,c=n.span,u=i(s,c.start);if(u){var l=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,s,u)}));return[t.createCodeFixAction(r,l,e.Diagnostics.Wrap_in_JSX_fragment,r,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(e.sourceFile,r.start);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(r){var n="fixConvertToMappedObjectType",i=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code];function a(t,r){var n=e.getTokenAtPosition(t,r),i=e.cast(n.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(i.parent))return{indexSignature:i,container:e.isInterfaceDeclaration(i.parent)?i.parent:e.cast(i.parent.parent,e.isTypeAliasDeclaration)}}function o(r,n,i){var a=i.indexSignature,o=i.container,s=(e.isInterfaceDeclaration(o)?o.members:o.type.members).filter((function(t){return!e.isIndexSignatureDeclaration(t)})),c=e.first(a.parameters),u=e.factory.createTypeParameterDeclaration(e.cast(c.name,e.isIdentifier),c.type),l=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(a)?e.factory.createModifier(142):void 0,u,void 0,a.questionToken,a.type),d=e.factory.createIntersectionTypeNode(t(t(t([],e.getAllSuperTypeNodes(o)),[l]),s.length?[e.factory.createTypeLiteralNode(s)]:e.emptyArray));r.replaceNode(n,o,function(t,r){return e.factory.createTypeAliasDeclaration(t.decorators,t.modifiers,t.name,t.typeParameters,r)}(o,d))}r.registerCodeFix({errorCodes:i,getCodeActions:function(t){var i=t.sourceFile,s=t.span,c=a(i,s.start);if(c){var u=e.textChanges.ChangeTracker.with(t,(function(e){return o(e,i,c)})),l=e.idText(c.container.name);return[r.createCodeFixAction(n,u,[e.Diagnostics.Convert_0_to_mapped_object_type,l],n,[e.Diagnostics.Convert_0_to_mapped_object_type,l])]}},fixIds:[n],getAllCodeActions:function(e){return r.codeFixAll(e,i,(function(e,t){var r=a(t.file,t.start);r&&o(e,t.file,r)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="removeAccidentalCallParentheses",n=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.findAncestor(e.getTokenAtPosition(n.sourceFile,n.span.start),e.isCallExpression);if(i){var a=e.textChanges.ChangeTracker.with(n,(function(e){e.deleteRange(n.sourceFile,{pos:i.expression.end,end:i.end})}));return[t.createCodeFixActionWithoutFixAll(r,a,e.Diagnostics.Remove_parentheses)]}},fixIds:[r]})}(s||(s={})),function(e){!function(t){var r="removeUnnecessaryAwait",n=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function i(t,r,n){var i=e.tryCast(e.getTokenAtPosition(r,n.start),(function(e){return 130===e.kind})),a=i&&e.tryCast(i.parent,e.isAwaitExpression);if(a){var o=a;if(e.isParenthesizedExpression(a.parent)){var s=e.getLeftmostExpression(a.expression,!1);if(e.isIdentifier(s)){var c=e.findPrecedingToken(a.parent.pos,r);c&&102!==c.kind&&(o=a.parent)}}t.replaceNode(r,o,a.expression)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Remove_unnecessary_await,r,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],n="splitTypeOnlyImport";function i(t,r){return e.findAncestor(e.getTokenAtPosition(t,r.start),e.isImportDeclaration)}function a(t,r,n){if(r){var i=e.Debug.checkDefined(r.importClause);t.replaceNode(n.sourceFile,r,e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,e.factory.updateImportClause(i,i.isTypeOnly,i.name,void 0),r.moduleSpecifier)),t.insertNodeAfter(n.sourceFile,r,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),r.moduleSpecifier))}}t.registerCodeFix({errorCodes:r,fixIds:[n],getCodeActions:function(r){var o=e.textChanges.ChangeTracker.with(r,(function(e){return a(e,i(r.sourceFile,r.span),r)}));if(o.length)return[t.createCodeFixAction(n,o,e.Diagnostics.Split_into_two_separate_import_declarations,n,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(e){return t.codeFixAll(e,r,(function(t,r){a(t,i(e.sourceFile,r),e)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){var t,r,n;t=e.codefix||(e.codefix={}),r="fixConvertConstToLet",n=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code],t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=n.program,s=function(t,r,n){var i=e.getTokenAtPosition(t,r),a=n.getTypeChecker().getSymbolAtLocation(i);if(null==a?void 0:a.valueDeclaration)return a.valueDeclaration.parent.parent}(i,a.start,o),c=e.textChanges.ChangeTracker.with(n,(function(e){return function(e,t,r){if(r){var n=r.getStart();e.replaceRangeWithText(t,{pos:n,end:n+5},"let")}}(e,i,s)}));return[t.createCodeFixAction(r,c,e.Diagnostics.Convert_const_to_let,r,e.Diagnostics.Convert_const_to_let)]},fixIds:[r]})}(s||(s={})),function(e){!function(t){var r="fixExpectedComma",n=[e.Diagnostics._0_expected.code];function i(t,r,n){var i=e.getTokenAtPosition(t,r);return 26===i.kind&&i.parent&&(e.isObjectLiteralExpression(i.parent)||e.isArrayLiteralExpression(i.parent))?{node:i}:void 0}function a(t,r,n){var i=n.node,a=e.factory.createToken(27);t.replaceNode(r,i,a)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=i(o,n.span.start,n.errorCode);if(s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,s)}));return[t.createCodeFixAction(r,c,[e.Diagnostics.Change_0_to_1,";",","],r,[e.Diagnostics.Change_0_to_1,";",","])]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,r.code);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var r="addVoidToPromise",n=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n.start);if(e.isIdentifier(o)&&e.isCallExpression(o.parent)&&o.parent.expression===o&&0===o.parent.arguments.length){var s=i.getTypeChecker(),c=s.getSymbolAtLocation(o),u=null==c?void 0:c.valueDeclaration;if(u&&e.isParameter(u)&&e.isNewExpression(u.parent.parent)&&!(null==a?void 0:a.has(u))){null==a||a.add(u);var l=function(t){var r;if(!e.isInJSFile(t))return t.typeArguments;if(e.isParenthesizedExpression(t.parent)){var n=null===(r=e.getJSDocTypeTag(t.parent))||void 0===r?void 0:r.typeExpression.type;if(n&&e.isTypeReferenceNode(n)&&e.isIdentifier(n.typeName)&&"Promise"===e.idText(n.typeName))return n.typeArguments}}(u.parent.parent);if(e.some(l)){var d=l[0],_=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(113)]).types[0]);_&&t.insertText(r,d.pos,"("),t.insertText(r,d.end,_?") | void":" | void")}else{var p=s.getResolvedSignature(o.parent),f=null==p?void 0:p.parameters[0],g=f&&s.getTypeOfSymbolAtLocation(f,u.parent.parent);e.isInJSFile(u)?(!g||3&g.flags)&&(t.insertText(r,u.parent.parent.end,")"),t.insertText(r,e.skipTrivia(r.text,u.parent.parent.pos),"/** @type {Promise} */(")):(!g||2&g.flags)&&t.insertText(r,u.parent.parent.expression.end,"")}}}}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span,n.program)}));if(a.length>0)return[t.createCodeFixAction("addVoidToPromise",a,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,r,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){return i(t,n.file,n,r.program,new e.Set)}))}})}(e.codefix||(e.codefix={}))}(s||(s={})),function(e){!function(t){var n="Convert export",i={name:"Convert default export to named export",description:e.Diagnostics.Convert_default_export_to_named_export.message,kind:"refactor.rewrite.export.named"},a={name:"Convert named export to default export",description:e.Diagnostics.Convert_named_export_to_default_export.message,kind:"refactor.rewrite.export.default"};function o(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=a.parent&&1&e.getSyntacticModifierFlags(a.parent)&&r?a.parent:e.getParentNodeInSpan(a,n,i);if(!(o&&(e.isSourceFile(o.parent)||e.isModuleBlock(o.parent)&&e.isAmbientModule(o.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var s=e.isSourceFile(o.parent)?o.parent.symbol:o.parent.parent.symbol,c=e.getSyntacticModifierFlags(o)||(e.isExportAssignment(o)&&!o.isExportEquals?513:0),u=!!(512&c);if(!(1&c)||!u&&s.exports.has("default"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};switch(o.kind){case 252:case 253:case 254:case 256:case 255:case 257:return(_=o).name&&e.isIdentifier(_.name)?{exportNode:_,exportName:_.name,wasDefault:u,exportingModuleSymbol:s}:void 0;case 233:var l=o;if(!(2&l.declarationList.flags)||1!==l.declarationList.declarations.length)return;var d=e.first(l.declarationList.declarations);if(!d.initializer)return;return e.Debug.assert(!u,"Can't have a default flag here"),e.isIdentifier(d.name)?{exportNode:l,exportName:d.name,wasDefault:u,exportingModuleSymbol:s}:void 0;case 267:var _,p=(_=o).expression;return _.isExportEquals?void 0:{exportNode:_,exportName:p,wasDefault:u,exportingModuleSymbol:s};default:return}}function s(t,r){return e.factory.createImportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}function c(t,r){return e.factory.createExportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}t.registerRefactor(n,{kinds:[i.kind,a.kind],getAvailableActions:function(s){var c=o(s,"invoked"===s.triggerReason);if(!c)return e.emptyArray;if(!t.isRefactorErrorInfo(c)){var u=c.wasDefault?i:a;return[{name:n,description:u.description,actions:[u]}]}return s.preferences.provideRefactorNotApplicableReason?[{name:n,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[r(r({},i),{notApplicableReason:c.error}),r(r({},a),{notApplicableReason:c.error})]}]:e.emptyArray},getEditsForAction:function(r,n){e.Debug.assert(n===i.name||n===a.name,"Unexpected action name");var u=o(r);return e.Debug.assert(u&&!t.isRefactorErrorInfo(u),"Expected applicable refactor info"),{edits:e.textChanges.ChangeTracker.with(r,(function(t){return function(t,r,n,i,a){(function(t,r,n,i){var a=r.wasDefault,o=r.exportNode,s=r.exportName;if(a)if(e.isExportAssignment(o)&&!o.isExportEquals){var u=o.expression,l=c(u.text,u.text);n.replaceNode(t,o,e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([l])))}else n.delete(t,e.Debug.checkDefined(e.findModifier(o,87),"Should find a default keyword in modifier list"));else{var d=e.Debug.checkDefined(e.findModifier(o,92),"Should find an export keyword in modifier list");switch(o.kind){case 252:case 253:case 254:n.insertNodeAfter(t,d,e.factory.createToken(87));break;case 233:var _=e.first(o.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(s,i,t)&&!_.type){n.replaceNode(t,o,e.factory.createExportDefault(e.Debug.checkDefined(_.initializer,"Initializer was previously known to be present")));break}case 256:case 255:case 257:n.deleteModifier(t,d),n.insertNodeAfter(t,o,e.factory.createExportDefault(e.factory.createIdentifier(s.text)));break;default:e.Debug.fail("Unexpected exportNode kind "+o.kind)}}})(t,n,i,r.getTypeChecker()),function(t,r,n,i){var a=r.wasDefault,o=r.exportName,u=r.exportingModuleSymbol,l=t.getTypeChecker(),d=e.Debug.checkDefined(l.getSymbolAtLocation(o),"Export name should resolve to a symbol");e.FindAllReferences.Core.eachExportReference(t.getSourceFiles(),l,i,d,u,o.text,a,(function(t){var r=t.getSourceFile();a?function(t,r,n,i){var a=r.parent;switch(a.kind){case 202:n.replaceNode(t,r,e.factory.createIdentifier(i));break;case 266:case 271:var o=a;n.replaceNode(t,o,s(i,o.name.text));break;case 263:var c=a;e.Debug.assert(c.name===r,"Import clause name should match provided ref");o=s(i,r.text);var u=c.namedBindings;if(u)if(264===u.kind){n.deleteRange(t,{pos:r.getStart(t),end:u.getStart(t)});var l=e.isStringLiteral(c.parent.moduleSpecifier)?e.quotePreferenceFromString(c.parent.moduleSpecifier,t):1,d=e.makeImport(void 0,[s(i,r.text)],c.parent.moduleSpecifier,l);n.insertNodeAfter(t,c.parent,d)}else n.delete(t,r),n.insertNodeAtEndOfList(t,u.elements,o);else n.replaceNode(t,r,e.factory.createNamedImports([o]));break;default:e.Debug.failBadSyntaxKind(a)}}(r,t,n,o.text):function(t,r,n){var i=r.parent;switch(i.kind){case 202:n.replaceNode(t,r,e.factory.createIdentifier("default"));break;case 266:var a=e.factory.createIdentifier(i.name.text);1===i.parent.elements.length?n.replaceNode(t,i.parent,a):(n.delete(t,i),n.insertNodeBefore(t,i.parent,a));break;case 271:n.replaceNode(t,i,c("default",i.name.text));break;default:e.Debug.assertNever(i,"Unexpected parent kind "+i.kind)}}(r,t,n)}))}(r,n,i,a)}(r.file,r.program,u,t,r.cancellationToken)})),renameFilename:void 0,renameLocation:void 0}}})}(e.refactor||(e.refactor={}))}(s||(s={})),function(e){!function(t){var n="Convert import",i={name:"Convert namespace import to named imports",description:e.Diagnostics.Convert_namespace_import_to_named_imports.message,kind:"refactor.rewrite.import.named"},a={name:"Convert named imports to namespace import",description:e.Diagnostics.Convert_named_imports_to_namespace_import.message,kind:"refactor.rewrite.import.namespace"};function o(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=r?e.findAncestor(a,e.isImportDeclaration):e.getParentNodeInSpan(a,n,i);if(!o||!e.isImportDeclaration(o))return{error:"Selection is not an import declaration."};if(!(o.getEnd()=u.pos?_.getEnd():u.getEnd()),g=o?function(e){for(;e.parent;){if(c(e)&&!c(e.parent))return e;e=e.parent}}(u):function(e,t){for(;e.parent;){if(c(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}}(u,f),m=g&&c(g)?function(t){if(s(t))return t;if(e.isVariableStatement(t)){var r=e.getSingleVariableOfVariableStatement(t),n=null==r?void 0:r.initializer;return n&&s(n)?n:void 0}return t.expression&&s(t.expression)?t.expression:void 0}(g):void 0;if(!m)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var y=i.getTypeChecker();return e.isConditionalExpression(m)?function(t,r){var n=t.condition,i=p(t.whenTrue);if(!i||r.isNullableType(r.getTypeAtLocation(i)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(n)||e.isIdentifier(n))&&d(n,i.expression))return{finalExpression:i,occurrences:[n],expression:t};if(e.isBinaryExpression(n)){var a=l(i.expression,n);return a?{finalExpression:i,occurrences:a,expression:t}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(m,y):function(t){if(55!==t.operatorToken.kind)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var r=p(t.right);if(!r)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var n=l(r.expression,t.left);return n?{finalExpression:r,occurrences:n,expression:t}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(m)}}function l(t,r){for(var n=[];e.isBinaryExpression(r)&&55===r.operatorToken.kind;){var i=d(e.skipParentheses(t),e.skipParentheses(r.right));if(!i)break;n.push(i),t=i,r=r.left}var a=d(t,r);return a&&n.push(a),n.length>0?n:void 0}function d(t,r){if(e.isIdentifier(r)||e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r))return function(t,r){for(;(e.isCallExpression(t)||e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t))&&_(t)!==_(r);)t=t.expression;for(;e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)||e.isElementAccessExpression(t)&&e.isElementAccessExpression(r);){if(_(t)!==_(r))return!1;t=t.expression,r=r.expression}return e.isIdentifier(t)&&e.isIdentifier(r)&&t.getText()===r.getText()}(t,r)?r:void 0}function _(t){return e.isIdentifier(t)||e.isStringOrNumericLiteralLike(t)?t.getText():e.isPropertyAccessExpression(t)?_(t.name):e.isElementAccessExpression(t)?_(t.argumentExpression):void 0}function p(t){return t=e.skipParentheses(t),e.isBinaryExpression(t)?p(t.left):(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)||e.isCallExpression(t))&&!e.isOptionalChain(t)?t:void 0}function f(t,r,n){if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)||e.isCallExpression(r)){var i=f(t,r.expression,n),a=n.length>0?n[n.length-1]:void 0,o=(null==a?void 0:a.getText())===r.expression.getText();if(o&&n.pop(),e.isCallExpression(r))return o?e.factory.createCallChain(i,e.factory.createToken(28),r.typeArguments,r.arguments):e.factory.createCallChain(i,r.questionDotToken,r.typeArguments,r.arguments);if(e.isPropertyAccessExpression(r))return o?e.factory.createPropertyAccessChain(i,e.factory.createToken(28),r.name):e.factory.createPropertyAccessChain(i,r.questionDotToken,r.name);if(e.isElementAccessExpression(r))return o?e.factory.createElementAccessChain(i,e.factory.createToken(28),r.argumentExpression):e.factory.createElementAccessChain(i,r.questionDotToken,r.argumentExpression)}return r}t.registerRefactor(i,{kinds:[o.kind],getAvailableActions:function(n){var s=u(n,"invoked"===n.triggerReason);return s?t.isRefactorErrorInfo(s)?n.preferences.provideRefactorNotApplicableReason?[{name:i,description:a,actions:[r(r({},o),{notApplicableReason:s.error})]}]:e.emptyArray:[{name:i,description:a,actions:[o]}]:e.emptyArray},getEditsForAction:function(r,n){var i=u(r);return e.Debug.assert(i&&!t.isRefactorErrorInfo(i),"Expected applicable refactor info"),{edits:e.textChanges.ChangeTracker.with(r,(function(t){return function(t,r,n,i,a){var o=i.finalExpression,s=i.occurrences,c=i.expression,u=s[s.length-1],l=f(r,o,s);l&&(e.isPropertyAccessExpression(l)||e.isElementAccessExpression(l)||e.isCallExpression(l))&&(e.isBinaryExpression(c)?n.replaceNodeRange(t,u,o,l):e.isConditionalExpression(c)&&n.replaceNode(t,c,e.factory.createBinaryExpression(l,e.factory.createToken(60),c.whenFalse)))}(r.file,r.program.getTypeChecker(),t,i)})),renameFilename:void 0,renameLocation:void 0}}})})((t=e.refactor||(e.refactor={})).convertToOptionalChainExpression||(t.convertToOptionalChainExpression={}))}(s||(s={})),function(e){var t;(function(r){var n="Convert overload list to single signature",i=e.Diagnostics.Convert_overload_list_to_single_signature.message,a={name:n,description:i,kind:"refactor.rewrite.function.overloadList"};function o(e){switch(e.kind){case 165:case 166:case 170:case 167:case 171:case 252:return!0}return!1}function s(t,r,n){var i=e.getTokenAtPosition(t,r),a=e.findAncestor(i,o);if(a){var s=n.getTypeChecker(),c=a.symbol;if(c){var u=c.declarations;if(!(e.length(u)<=1)&&e.every(u,(function(r){return e.getSourceFileOfNode(r)===t}))&&o(u[0])){var l=u[0].kind;if(e.every(u,(function(e){return e.kind===l}))){var d=u;if(!e.some(d,(function(t){return!!t.typeParameters||e.some(t.parameters,(function(t){return!!t.decorators||!!t.modifiers||!e.isIdentifier(t.name)}))}))){var _=e.mapDefined(d,(function(e){return s.getSignatureFromDeclaration(e)}));if(e.length(_)===e.length(u)){var p=s.getReturnTypeOfSignature(_[0]);if(e.every(_,(function(e){return s.getReturnTypeOfSignature(e)===p})))return d}}}}}}}t.registerRefactor(n,{kinds:[a.kind],getEditsForAction:function(t){var r=t.file,n=t.startPosition,i=t.program,a=s(r,n,i);if(a){var o=i.getTypeChecker(),c=a[a.length-1],u=c;switch(c.kind){case 165:u=e.factory.updateMethodSignature(c,c.modifiers,c.name,c.questionToken,c.typeParameters,d(a),c.type);break;case 166:u=e.factory.updateMethodDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.questionToken,c.typeParameters,d(a),c.type,c.body);break;case 170:u=e.factory.updateCallSignature(c,c.typeParameters,d(a),c.type);break;case 167:u=e.factory.updateConstructorDeclaration(c,c.decorators,c.modifiers,d(a),c.body);break;case 171:u=e.factory.updateConstructSignature(c,c.typeParameters,d(a),c.type);break;case 252:u=e.factory.updateFunctionDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.typeParameters,d(a),c.type,c.body);break;default:return e.Debug.failBadSyntaxKind(c,"Unhandled signature kind in overload list conversion refactoring")}if(u!==c){var l=e.textChanges.ChangeTracker.with(t,(function(e){e.replaceNodeRange(r,a[0],a[a.length-1],u)}));return{renameFilename:void 0,renameLocation:void 0,edits:l}}}function d(t){var r=t[t.length-1];return e.isFunctionLikeDeclaration(r)&&r.body&&(t=t.slice(0,t.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),"args",void 0,e.factory.createUnionTypeNode(e.map(t,_)))])}function _(t){var r=e.map(t.parameters,p);return e.setEmitFlags(e.factory.createTupleTypeNode(r),e.some(r,(function(t){return!!e.length(e.getSyntheticLeadingComments(t))}))?0:1)}function p(t){e.Debug.assert(e.isIdentifier(t.name));var r=e.setTextRange(e.factory.createNamedTupleMember(t.dotDotDotToken,t.name,t.questionToken,t.type||e.factory.createKeywordTypeNode(128)),t),n=t.symbol&&t.symbol.getDocumentationComment(o);if(n){var i=e.displayPartsToString(n);i.length&&e.setSyntheticLeadingComments(r,[{text:"*\n"+i.split("\n").map((function(e){return" * "+e})).join("\n")+"\n ",kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return r}},getAvailableActions:function(t){var r=t.file,o=t.startPosition,c=t.program;return s(r,o,c)?[{name:n,description:i,actions:[a]}]:e.emptyArray}})})((t=e.refactor||(e.refactor={})).addOrRemoveBracesToArrowFunction||(t.addOrRemoveBracesToArrowFunction={}))}(s||(s={})),function(e){var t;(function(n){var i,a,o,s,c="Extract Symbol",u={name:"Extract Constant",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),kind:"refactor.extract.constant"},l={name:"Extract Function",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),kind:"refactor.extract.function"};function d(n){var i=n.kind,a=p(n.file,e.getRefactorContextSpan(n),"invoked"===n.triggerReason),o=a.targetRange;if(void 0===o){if(!a.errors||0===a.errors.length||!n.preferences.provideRefactorNotApplicableReason)return e.emptyArray;var s=[];return t.refactorKindBeginsWith(l.kind,i)&&s.push({name:c,description:l.description,actions:[r(r({},l),{notApplicableReason:F(a.errors)})]}),t.refactorKindBeginsWith(u.kind,i)&&s.push({name:c,description:u.description,actions:[r(r({},u),{notApplicableReason:F(a.errors)})]}),s}var d=function(t,r){var n=m(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;return i.map((function(t,r){var n,i,a=function(t){return e.isFunctionLikeDeclaration(t)?"inner function":e.isClassLike(t)?"method":"function"}(t),c=function(t){return e.isClassLike(t)?"readonly field":"constant"}(t),u=e.isFunctionLikeDeclaration(t)?function(t){switch(t.kind){case 167:return"constructor";case 209:case 252:return t.name?"function '"+t.name.text+"'":e.ANONYMOUS;case 210:return"arrow function";case 166:return"method '"+t.name.getText()+"'";case 168:return"'get "+t.name.getText()+"'";case 169:return"'set "+t.name.getText()+"'";default:throw e.Debug.assertNever(t,"Unexpected scope kind "+t.kind)}}(t):e.isClassLike(t)?function(e){return 253===e.kind?e.name?"class '"+e.name.text+"'":"anonymous class declaration":e.name?"class expression '"+e.name.text+"'":"anonymous class expression"}(t):function(e){return 258===e.kind?"namespace '"+e.parent.name.getText()+"'":e.externalModuleIndicator?0:1}(t);return 1===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"global"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"global"])):0===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"module"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"module"])):(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[a,u]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[c,u])),0!==r||e.isClassLike(t)||(i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[c])),{functionExtraction:{description:n,errors:o[r]},constantExtraction:{description:i,errors:s[r]}}}))}(o,n);if(void 0===d)return e.emptyArray;for(var _,f,g=[],y=new e.Map,v=[],h=new e.Map,D=0,x=0,b=d;x0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.factory.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.factory.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.factory.createReturnStatement(t)]);if(s||i.size){var l=e.visitNodes(u,_).slice();if(s&&!a&&e.isStatement(t)){var d=h(r,n);1===d.length?l.push(e.factory.createReturnStatement(d[0].name)):l.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(d)))}return{body:e.factory.createBlock(l,!0),returnValueProperty:o}}return{body:e.factory.createBlock(u,!0),returnValueProperty:void 0};function _(t){if(!c&&e.isReturnStatement(t)&&s){var a=h(r,n);return t.expression&&(o||(o="__return"),a.unshift(e.factory.createPropertyAssignment(o,e.visitNode(t.expression,_)))),1===a.length?e.factory.createReturnStatement(a[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(a))}var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString()),d=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,_,e.nullTransformationContext);return c=u,d}}(t,i,u,_,!!(o.facts&a.HasReturn)),I=w.body,O=w.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(I),e.isClassLike(r)){var M=b?[]:[e.factory.createModifier(120)];o.facts&a.InStaticRegion&&M.push(e.factory.createModifier(123)),o.facts&a.IsAsyncFunction&&M.push(e.factory.createModifier(129)),P=e.factory.createMethodDeclaration(void 0,M.length?M:void 0,o.facts&a.IsGenerator?e.factory.createToken(41):void 0,E,void 0,A,T,c,I)}else P=e.factory.createFunctionDeclaration(void 0,o.facts&a.IsAsyncFunction?[e.factory.createToken(129)]:void 0,o.facts&a.IsGenerator?e.factory.createToken(41):void 0,E,A,T,c,I);var L=e.textChanges.ChangeTracker.fromContext(s),R=function(t,r){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r))return r.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertType(t)}return e.emptyArray}(r),(function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)}))}((D(o.range)?e.last(o.range):o.range).end,r);R?L.insertNodeBefore(s.file,R,P,!0):L.insertNodeAtEndOfScope(s.file,r,P),g.writeFixes(L);var B=[],j=function(t,r,n){var i=e.factory.createIdentifier(n);if(e.isClassLike(t)){var o=r.facts&a.InStaticRegion?e.factory.createIdentifier(t.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(o,i)}return i}(r,o,x),J=e.factory.createCallExpression(j,F,C);if(o.facts&a.IsGenerator&&(J=e.factory.createYieldExpression(e.factory.createToken(41),J)),o.facts&a.IsAsyncFunction&&(J=e.factory.createAwaitExpression(J)),S(t)&&(J=e.factory.createJsxExpression(void 0,J)),i.length&&!u)if(e.Debug.assert(!O,"Expected no returnValueProperty"),e.Debug.assert(!(o.facts&a.HasReturn),"Expected RangeFacts.HasReturn flag to be unset"),1===i.length){var K=i[0];B.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(K.name),void 0,e.getSynthesizedDeepClone(K.type),J)],K.parent.flags)))}else{for(var z=[],U=[],V=i[0].parent.flags,q=!1,W=0,H=i;W0,"Found no members");for(var a=!0,o=0,s=i;ot)return n||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==n)return c;a=!1}n=c}return void 0===n?e.Debug.fail():n}(t.pos,r);m.insertNodeBefore(o.file,D,v,!0),m.replaceNode(o.file,t,h)}else{var x=e.factory.createVariableDeclaration(d,void 0,p,f),E=function(t,r){for(var n;void 0!==t&&t!==r;){if(e.isVariableDeclaration(t)&&t.initializer===n&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;n=t,t=t.parent}}(t,r);if(E)m.insertNodeBefore(o.file,E,x),h=e.factory.createIdentifier(d),m.replaceNode(o.file,t,h);else if(234===t.parent.kind&&r===e.findAncestor(t,g)){var T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([x],2));m.replaceNode(o.file,t.parent,T)}else T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([x],2)),0===(D=function(t,r){var n;e.Debug.assert(!e.isClassLike(r));for(var i=t;i!==r;i=i.parent)g(i)&&(n=i);for(i=(n||t).parent;;i=i.parent){if(b(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent),"Grandparent isn't a switch statement"),i.parent.parent):e.Debug.checkDefined(a,"prevStatement failed to get set")}e.Debug.assert(i!==r,"Didn't encounter a block-like before encountering scope")}}(t,r)).pos?m.insertNodeAtTopOfFile(o.file,T,!1):m.insertNodeBefore(o.file,D,T,!1),234===t.parent.kind?m.delete(o.file,t.parent):(h=e.factory.createIdentifier(d),S(t)&&(h=e.factory.createJsxExpression(void 0,h)),m.replaceNode(o.file,t,h))}var C=m.getChanges(),k=t.getSourceFile().fileName,A=e.getRenameLocation(C,k,d,!0);return{renameFilename:k,renameLocation:A,edits:C};function F(n,i){if(void 0===n)return{variableType:n,initializer:i};if(!e.isFunctionExpression(i)&&!e.isArrowFunction(i)||i.typeParameters)return{variableType:n,initializer:i};var a=u.getTypeAtLocation(t),o=e.singleOrUndefined(u.getSignaturesOfType(a,0));if(!o)return{variableType:n,initializer:i};if(o.getTypeParameters())return{variableType:n,initializer:i};for(var s=[],c=!1,l=0,d=i.parameters;l=r.start+r.length)return(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractSuper)),!0}else g|=a.UsesThis;break;case 210:e.forEachChild(n,(function t(r){if(e.isThis(r))g|=a.UsesThis;else{if(e.isClassLike(r)||e.isFunctionLike(r)&&!e.isArrowFunction(r))return!1;e.forEachChild(r,t)}}));case 253:case 252:e.isSourceFile(n.parent)&&void 0===n.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(n,i.functionWillNotBeVisibleInTheNewScope));case 222:case 209:case 166:case 167:case 168:case 169:return!1}var d=u;switch(n.kind){case 235:case 248:u=0;break;case 231:n.parent&&248===n.parent.kind&&n.parent.finallyBlock===n&&(u=4);break;case 286:case 285:u|=1;break;default:e.isIterationStatement(n,!1)&&(u|=3)}switch(n.kind){case 188:case 107:g|=a.UsesThis;break;case 246:var _=n.label;(c||(c=[])).push(_.escapedText),e.forEachChild(n,t),c.pop();break;case 242:case 241:(_=n.label)?e.contains(c,_.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):u&(242===n.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 214:g|=a.IsAsyncFunction;break;case 220:g|=a.IsGenerator;break;case 243:4&u?g|=a.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(n,i.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(n,t)}u=d}(t),o}}function f(t){return e.isStatement(t)?[t]:e.isExpressionNode(t)?e.isExpressionStatement(t.parent)?[t.parent]:t:void 0}function g(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function m(t,r){var n=r.file,o=function(t){var r=D(t.range)?e.first(t.range):t.range;if(t.facts&a.UsesThis){var n=e.getContainingClass(r);if(n){var i=e.findAncestor(r,e.isFunctionLikeDeclaration);return i?[i,n]:[n]}}for(var o=[];;)if(161===(r=r.parent).kind&&(r=e.findAncestor(r,(function(t){return e.isFunctionLikeDeclaration(t)})).parent),g(r)&&(o.push(r),298===r.kind))return o}(t);return{scopes:o,readsAndWrites:function(t,r,n,o,s,c){var u,l,d=new e.Map,_=[],p=[],f=[],g=[],m=[],y=new e.Map,v=[],h=D(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===h){var x=t.range,b=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,b,S-b,i.expressionExpected)}else 147456&s.getTypeAtLocation(h).flags&&(l=e.createDiagnosticForNode(h,i.uselessConstantType));for(var E=0,T=r;E0){for(var w=new e.Map,I=0,O=N;void 0!==O&&I0&&(n.usages.size>0||n.typeParameterUsages.size>0)){var a=D(t.range)?t.range[0]:t.range;g[r].push(e.createDiagnosticForNode(a,i.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(_[r].usages.forEach((function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasEffectiveModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))})),e.Debug.assert(D(t.range)||0===v.length,"No variable declarations expected if something was extracted"),s&&!D(t.range)){var c=e.createDiagnosticForNode(t.range,i.cannotWriteInExpression);f[r].push(c),g[r].push(c)}else o&&r>0?(c=e.createDiagnosticForNode(o,i.cannotExtractReadonlyPropertyInitializerOutsideConstructor),f[r].push(c),g[r].push(c)):u&&(c=e.createDiagnosticForNode(u,i.cannotExtractExportedEntity),f[r].push(c),g[r].push(c))},K=0;K=u)return m;if(A.set(m,u),y){for(var v=0,h=_;v=0)){var n=e.isIdentifier(r)?G(r):s.getSymbolAtLocation(r);if(n){var i=e.find(m,(function(e){return e.symbol===n}));if(i)if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();y.has(a)||(v.push(i),y.set(a,!0))}else u=u||i}e.forEachChild(r,H)}}function G(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function Y(t,r,n){if(t){var i=t.getDeclarations();if(i&&i.some((function(e){return e.parent===r})))return e.factory.createIdentifier(t.name);var a=Y(t.parent,r,n);if(void 0!==a)return n?e.factory.createQualifiedName(a,e.factory.createIdentifier(t.name)):e.factory.createPropertyAccessExpression(a,t.name)}}}(t,o,function(t,r){return D(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}(t,n),n,r.program.getTypeChecker(),r.cancellationToken)}}function y(e){var t,r=e.symbol;if(r&&r.declarations)for(var n=0,i=r.declarations;nn.pos}));if(-1!==a){var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n))return{toMove:[i[a]],afterLast:i[a+1]};if(!(n.pos>o.getStart(r))){var s=e.findIndex(i,(function(e){return e.end>n.end}),a);if(-1===s||!(0===s||i[s].getStart(r)=2&&e.every(t,(function(t){return function(t,r){if(e.isRestParameter(t)){var n=r.getTypeAtLocation(t);if(!r.isArrayType(n)&&!r.isTupleType(n))return!1}return!t.modifiers&&!t.decorators&&e.isIdentifier(t.name)}(t,r)}))}(t.parameters,r))return!1;switch(t.kind){case 252:return m(t)&&g(t,r);case 166:if(e.isObjectLiteralExpression(t.parent)){var i=s(t.name,r);return 1===(null===(n=null==i?void 0:i.declarations)||void 0===n?void 0:n.length)&&g(t,r)}return g(t,r);case 167:return e.isClassDeclaration(t.parent)?m(t.parent)&&g(t,r):y(t.parent.parent)&&g(t,r);case 209:case 210:return y(t.parent)}return!1}(a,n)&&e.rangeContainsRange(a,i))||a.body&&e.rangeContainsRange(a.body,i)?void 0:a}function f(t){return e.isMethodSignature(t)&&(e.isInterfaceDeclaration(t.parent)||e.isTypeLiteralNode(t.parent))}function g(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function m(t){return!!t.name||!!e.findModifier(t,87)}function y(t){return e.isVariableDeclaration(t)&&e.isVarConst(t)&&e.isIdentifier(t.name)&&!t.type}function v(t){return t.length>0&&e.isThis(t[0].name)}function h(t){return v(t)&&(t=e.factory.createNodeArray(t.slice(1),t.hasTrailingComma)),t}function D(t,r){var n=h(t.parameters),i=e.isRestParameter(e.last(n)),a=i?r.slice(0,n.length-1):r,o=e.map(a,(function(t,r){var i=function(t,r){return e.isIdentifier(r)&&e.getTextOfIdentifierOrLiteral(r)===t?e.factory.createShorthandPropertyAssignment(t):e.factory.createPropertyAssignment(t,r)}(b(n[r]),t);return e.suppressLeadingAndTrailingTrivia(i.name),e.isPropertyAssignment(i)&&e.suppressLeadingAndTrailingTrivia(i.initializer),e.copyComments(t,i),i}));if(i&&r.length>=n.length){var s=r.slice(n.length-1),c=e.factory.createPropertyAssignment(b(e.last(n)),e.factory.createArrayLiteralExpression(s));o.push(c)}return e.factory.createObjectLiteralExpression(o,!1)}function x(t,r,n){var i,a,o,s=r.getTypeChecker(),c=h(t.parameters),u=e.map(c,(function(t){var r=e.factory.createBindingElement(void 0,void 0,b(t),e.isRestParameter(t)&&m(t)?e.factory.createArrayLiteralExpression():t.initializer);return e.suppressLeadingAndTrailingTrivia(r),t.initializer&&r.initializer&&e.copyComments(t.initializer,r.initializer),r})),l=e.factory.createObjectBindingPattern(u),d=(i=c,a=e.map(i,g),e.addEmitFlags(e.factory.createTypeLiteralNode(a),1));e.every(c,m)&&(o=e.factory.createObjectLiteralExpression());var _=e.factory.createParameterDeclaration(void 0,void 0,void 0,l,void 0,d,o);if(v(t.parameters)){var p=t.parameters[0],f=e.factory.createParameterDeclaration(void 0,void 0,void 0,p.name,void 0,p.type);return e.suppressLeadingAndTrailingTrivia(f.name),e.copyComments(p.name,f.name),p.type&&(e.suppressLeadingAndTrailingTrivia(f.type),e.copyComments(p.type,f.type)),e.factory.createNodeArray([f,_])}return e.factory.createNodeArray([_]);function g(t){var i=t.type;i||!t.initializer&&!e.isRestParameter(t)||(i=function(t){var i=s.getTypeAtLocation(t);return e.getTypeNodeIfAccessible(i,t,r,n)}(t));var a=e.factory.createPropertySignature(void 0,b(t),m(t)?e.factory.createToken(57):t.questionToken,i);return e.suppressLeadingAndTrailingTrivia(a),e.copyComments(t.name,a.name),t.type&&a.type&&e.copyComments(t.type,a.type),a}function m(t){if(e.isRestParameter(t)){var r=s.getTypeAtLocation(t);return!s.isTupleType(r)}return s.isOptionalParameter(t)}}function b(t){return e.getTextOfIdentifierOrLiteral(t.name)}r.registerRefactor(i,{kinds:[o.kind],getEditsForAction:function(r,n){e.Debug.assert(n===i,"Unexpected action name");var a=r.file,o=r.startPosition,g=r.program,m=r.cancellationToken,y=r.host,v=p(a,o,g.getTypeChecker());if(v&&m){var h=function(r,n,i){var a=function(t){switch(t.kind){case 252:return t.name?[t.name]:[e.Debug.checkDefined(e.findModifier(t,87),"Nameless function declaration should be a default export")];case 166:return[t.name];case 167:var r=e.Debug.checkDefined(e.findChildOfKind(t,132,t.getSourceFile()),"Constructor declaration should have constructor keyword");return 222===t.parent.kind?[t.parent.parent.name,r]:[r];case 210:return[t.parent.name];case 209:return t.name?[t.name,t.parent.name]:[t.parent.name];default:return e.Debug.assertNever(t,"Unexpected function declaration kind "+t.kind)}}(r),o=e.isConstructorDeclaration(r)?function(t){switch(t.parent.kind){case 253:var r=t.parent;return r.name?[r.name]:[e.Debug.checkDefined(e.findModifier(r,87),"Nameless class declaration should be a default export")];case 222:var n=t.parent,i=t.parent.parent,a=n.name;return a?[a,i.name]:[i.name]}}(r):[],p=e.deduplicate(t(t([],a),o),e.equateValues),g=n.getTypeChecker(),m=y(e.flatMap(p,(function(t){return e.FindAllReferences.getReferenceEntriesForNode(-1,t,n,n.getSourceFiles(),i)})));return e.every(m.declarations,(function(t){return e.contains(p,t)}))||(m.valid=!1),m;function y(t){for(var n={accessExpressions:[],typeUsages:[]},i={functionCalls:[],declarations:[],classReferences:n,valid:!0},p=e.map(a,v),m=e.map(o,v),y=e.isConstructorDeclaration(r),h=e.map(a,(function(e){return s(e,g)})),D=0,x=t;D0;){var o=i.shift();e.copyTrailingComments(t[o],a,r,3,!1),n(o,a)}}}(n,r,a),s=_(0,n),c=s[0],u=s[1],l=s[2];if(c===n.length){var d=e.factory.createNoSubstitutionTemplateLiteral(u);return o(l,d),d}var f=[],g=e.factory.createTemplateHead(u);o(l,g);for(var m,y=function(t){var r=function(t){return e.isParenthesizedExpression(t)&&(p(t),t=t.expression),t}(n[t]);a(t,r);var i=_(t+1,n),s=i[0],c=i[1],u=i[2],l=(t=s-1)==n.length-1;if(e.isTemplateExpression(r)){var d=e.map(r.templateSpans,(function(t,n){p(t);var i=r.templateSpans[n+1],a=t.literal.text+(i?"":c);return e.factory.createTemplateSpan(t.expression,l?e.factory.createTemplateTail(a):e.factory.createTemplateMiddle(a))}));f.push.apply(f,d)}else{var g=l?e.factory.createTemplateTail(c):e.factory.createTemplateMiddle(c);o(u,g),f.push(e.factory.createTemplateSpan(r,g))}m=t},v=c;v1)return t.getUnionType(e.mapDefined(n,(function(e){return e.getReturnType()})))}var i=t.getSignatureFromDeclaration(r);if(i)return t.getReturnTypeOfSignature(i)}(a,i);if(!s)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_determine_function_return_type)};var c=a.typeToTypeNode(s,i,1);return c?{declaration:i,returnTypeNode:c}:void 0}}t.registerRefactor(i,{kinds:[o.kind],getEditsForAction:function(r){var n=s(r);if(n&&!t.isRefactorErrorInfo(n))return{renameFilename:void 0,renameLocation:void 0,edits:e.textChanges.ChangeTracker.with(r,(function(t){return i=r.file,a=t,o=n.declaration,s=n.returnTypeNode,c=e.findChildOfKind(o,21,i),u=e.isArrowFunction(o)&&void 0===c,void((l=u?e.first(o.parameters):c)&&(u&&(a.insertNodeBefore(i,l,e.factory.createToken(20)),a.insertNodeAfter(i,l,e.factory.createToken(21))),a.insertNodeAt(i,l.end,s,{prefix:": "})));var i,a,o,s,c,u,l}))}},getAvailableActions:function(n){var c=s(n);return c?t.isRefactorErrorInfo(c)?n.preferences.provideRefactorNotApplicableReason?[{name:i,description:a,actions:[r(r({},o),{notApplicableReason:c.error})]}]:e.emptyArray:[{name:i,description:a,actions:[o]}]:e.emptyArray}})})((t=e.refactor||(e.refactor={})).inferFunctionReturnType||(t.inferFunctionReturnType={}))}(s||(s={})),function(e){function n(t,r,n,a){var o=e.isNodeKind(t)?new i(t,r,n):78===t?new l(78,r,n):79===t?new d(79,r,n):new u(t,r,n);return o.parent=a,o.flags=25358336&a.flags,o}e.servicesVersion="0.8";var i=function(){function t(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}return t.prototype.assertHasRealPosition=function(t){e.Debug.assert(!e.positionIsSynthesized(this.pos)&&!e.positionIsSynthesized(this.end),t||"Node must have a real position for this operation")},t.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t.prototype.getStart=function(t,r){return this.assertHasRealPosition(),e.getTokenPosOfNode(this,t,r)},t.prototype.getFullStart=function(){return this.assertHasRealPosition(),this.pos},t.prototype.getEnd=function(){return this.assertHasRealPosition(),this.end},t.prototype.getWidth=function(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)},t.prototype.getFullWidth=function(){return this.assertHasRealPosition(),this.end-this.pos},t.prototype.getLeadingTriviaWidth=function(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos},t.prototype.getFullText=function(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)},t.prototype.getText=function(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())},t.prototype.getChildCount=function(e){return this.getChildren(e).length},t.prototype.getChildAt=function(e,t){return this.getChildren(t)[e]},t.prototype.getChildren=function(t){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=function(t,r){if(!e.isNodeKind(t.kind))return e.emptyArray;var i=[];if(e.isJSDocCommentContainingNode(t))return t.forEachChild((function(e){i.push(e)})),i;e.scanner.setText((r||t.getSourceFile()).text);var o=t.pos,s=function(e){a(i,o,e.pos,t),i.push(e),o=e.end},c=function(e){a(i,o,e.pos,t),i.push(function(e,t){var r=n(338,e.pos,e.end,t);r._children=[];for(var i=e.pos,o=0,s=e;o337}));return n.kind<158?n:n.getFirstToken(t)}},t.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t),n=e.lastOrUndefined(r);if(n)return n.kind<158?n:n.getLastToken(t)},t.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)},t}();function a(t,r,i,a){for(e.scanner.setTextPos(r);r=n.length&&(t=this.getEnd()),t||(t=n[r+1]-1);var i=this.getFullText();return"\n"===i[t]&&"\r"===i[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return this.forEachChild((function i(a){switch(a.kind){case 252:case 209:case 166:case 165:var o=a,s=n(o);if(s){var c=function(e){var r=t.get(e);r||t.set(e,r=[]);return r}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 253:case 222:case 254:case 255:case 256:case 257:case 261:case 271:case 266:case 263:case 264:case 168:case 169:case 178:r(a),e.forEachChild(a,i);break;case 161:if(!e.hasSyntacticModifier(a,16476))break;case 250:case 199:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 292:case 164:case 163:r(a);break;case 268:var d=a;d.exportClause&&(e.isNamedExports(d.exportClause)?e.forEach(d.exportClause.elements,i):i(d.exportClause.name));break;case 262:var _=a.importClause;_&&(_.name&&r(_.name),_.namedBindings&&(264===_.namedBindings.kind?r(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 217:0!==e.getAssignmentDeclarationKind(a)&&r(a);default:e.forEachChild(a,i)}})),t;function r(e){var r=n(e);r&&t.add(r,e)}function n(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):void 0)}},r}(i),v=function(){function t(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function h(t){var r=!0;for(var n in t)if(e.hasProperty(t,n)&&!D(n)){r=!1;break}if(r)return t;var i={};for(var n in t){if(e.hasProperty(t,n))i[D(n)?n:n.charAt(0).toLowerCase()+n.substr(1)]=t[n]}return i}function D(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function x(){return{target:1,jsx:1}}e.toEditorSettings=h,e.displayPartsToString=function(t){return t?e.map(t,(function(e){return e.text})).join(""):""},e.getDefaultCompilerOptions=x,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var b=function(){function t(t,r){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var n=0,i=t.getScriptFileNames();n=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw null===e.tracing||void 0===e.tracing||e.tracing.instant("session","cancellationThrown",{kind:"ThrottledCancellationToken"}),new e.OperationCanceledException},t}();e.ThrottledCancellationToken=F;var N=["getSyntacticDiagnostics","getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls"],P=t(t([],N),["getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"]);function w(t){var r=function(t){switch(t.kind){case 10:case 14:case 8:if(159===t.parent.kind)return e.isObjectLiteralElement(t.parent.parent)?t.parent.parent:void 0;case 78:return!e.isObjectLiteralElement(t.parent)||201!==t.parent.parent.kind&&282!==t.parent.parent.kind||t.parent.name!==t?void 0:t.parent}return}(t);return r&&(e.isObjectLiteralExpression(r.parent)||e.isJsxAttributes(r.parent))?r:void 0}function I(t,r,n,i){var a=e.getNameFromPropertyName(t.name);if(!a)return e.emptyArray;if(!n.isUnion())return(o=n.getProperty(a))?[o]:e.emptyArray;var o,s=e.mapDefined(n.types,(function(n){return(e.isObjectLiteralExpression(t.parent)||e.isJsxAttributes(t.parent))&&r.isTypeInvalidDueToUnionDiscriminant(n,t.parent)?void 0:n.getProperty(a)}));if(i&&(0===s.length||s.length===n.types.length)&&(o=n.getProperty(a)))return[o];return 0===s.length?e.mapDefined(n.types,(function(e){return e.getProperty(a)})):s}e.createLanguageService=function(n,i,a){var o,s;void 0===i&&(i=e.createDocumentRegistry(n.useCaseSensitiveFileNames&&n.useCaseSensitiveFileNames(),n.getCurrentDirectory())),s=void 0===a?e.LanguageServiceMode.Semantic:"boolean"==typeof a?a?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:a;var c,u,l=new S(n),d=0,_=n.getCancellationToken?new A(n.getCancellationToken()):k,p=n.getCurrentDirectory();function f(e){n.log&&n.log(e)}!e.localizedDiagnosticMessages&&n.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(n.getLocalizedDiagnosticMessages());var g=e.hostUsesCaseSensitiveFileNames(n),m=e.createGetCanonicalFileName(g),y=e.getSourceMapper({useCaseSensitiveFileNames:function(){return g},getCurrentDirectory:function(){return p},getProgram:x,fileExists:e.maybeBind(n,n.fileExists),readFile:e.maybeBind(n,n.readFile),getDocumentPositionMapper:e.maybeBind(n,n.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(n,n.getSourceFileLike),log:f});function v(e){var t=c.getSourceFile(e);if(!t){var r=new Error("Could not find source file: '"+e+"'.");throw r.ProgramFiles=c.getSourceFiles().map((function(e){return e.fileName})),r}return t}function D(){var t,r,a;if(e.Debug.assert(s!==e.LanguageServiceMode.Syntactic),n.getProjectVersion){var o=n.getProjectVersion();if(o){if(u===o&&!(null===(t=n.hasChangedAutomaticTypeDirectiveNames)||void 0===t?void 0:t.call(n)))return;u=o}}var l=n.getTypeRootsVersion?n.getTypeRootsVersion():0;d!==l&&(f("TypeRoots version has changed; provide new program"),c=void 0,d=l);var v,h=new b(n,m),D=h.getRootFileNames(),x=n.getCompilationSettings()||{target:1,jsx:1},S=n.hasInvalidatedResolution||e.returnFalse,E=e.maybeBind(n,n.hasChangedAutomaticTypeDirectiveNames),T=null===(r=n.getProjectReferences)||void 0===r?void 0:r.call(n),C={useCaseSensitiveFileNames:g,fileExists:P,readFile:w,readDirectory:I,trace:e.maybeBind(n,n.trace),getCurrentDirectory:function(){return p},onUnRecoverableConfigFileDiagnostic:e.noop};if(!e.isProgramUptoDate(c,D,x,(function(e,t){return n.getScriptVersion(t)}),P,S,E,N,T)){var k={getSourceFile:M,getSourceFileByPath:L,getCancellationToken:function(){return _},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return g},getNewLine:function(){return e.getNewLineCharacter(x,(function(){return e.getNewLineOrDefaultFromHost(n)}))},getDefaultLibFileName:function(e){return n.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return p},fileExists:P,readFile:w,getSymlinkCache:e.maybeBind(n,n.getSymlinkCache),realpath:e.maybeBind(n,n.realpath),directoryExists:function(t){return e.directoryProbablyExists(t,n)},getDirectories:function(e){return n.getDirectories?n.getDirectories(e):[]},readDirectory:I,onReleaseOldSourceFile:O,onReleaseParsedCommandLine:function(e,t,r){var i;n.getParsedCommandLine?null===(i=n.onReleaseParsedCommandLine)||void 0===i||i.call(n,e,t,r):t&&O(t.sourceFile,r)},hasInvalidatedResolution:S,hasChangedAutomaticTypeDirectiveNames:E,trace:C.trace,resolveModuleNames:e.maybeBind(n,n.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(n,n.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(n,n.useSourceOfProjectReferenceRedirect),getParsedCommandLine:N};null===(a=n.setCompilerHost)||void 0===a||a.call(n,k);var A=i.getKeyForCompilationSettings(x),F={rootNames:D,options:x,host:k,oldProgram:c,projectReferences:T};return c=e.createProgram(F),h=void 0,v=void 0,y.clearCache(),void c.getTypeChecker()}function N(t){var r=e.toPath(t,p,m),i=null==v?void 0:v.get(r);if(void 0!==i)return i||void 0;var a=n.getParsedCommandLine?n.getParsedCommandLine(t):function(t){var r=M(t,100);return r?(r.path=e.toPath(t,p,m),r.resolvedPath=r.path,r.originalFileName=r.fileName,e.parseJsonSourceFileConfigFileContent(r,C,e.getNormalizedAbsolutePath(e.getDirectoryPath(t),p),void 0,e.getNormalizedAbsolutePath(t,p))):void 0}(t);return(v||(v=new e.Map)).set(r,a||!1),a}function P(t){var r=e.toPath(t,p,m),i=h&&h.getEntryByPath(r);return i?!e.isString(i):!!n.fileExists&&n.fileExists(t)}function w(t){var r=e.toPath(t,p,m),i=h&&h.getEntryByPath(r);return i?e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot):n.readFile&&n.readFile(t)}function I(t,r,i,a,o){return e.Debug.checkDefined(n.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),n.readDirectory(t,r,i,a,o)}function O(e,t){var r=i.getKeyForCompilationSettings(t);i.releaseDocumentWithKey(e.resolvedPath,r,e.scriptKind)}function M(t,r,n,i){return L(t,e.toPath(t,p,m),r,n,i)}function L(t,r,n,a,o){e.Debug.assert(void 0!==h,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var s=h&&h.getOrCreateEntryByPath(t,r);if(s){if(!o){var u=c&&c.getSourceFileByPath(r);if(u){if(s.scriptKind===u.scriptKind)return i.updateDocumentWithKey(t,r,x,A,s.scriptSnapshot,s.version,s.scriptKind);i.releaseDocumentWithKey(u.resolvedPath,i.getKeyForCompilationSettings(c.getCompilerOptions()),u.scriptKind)}}return i.acquireDocumentWithKey(t,r,x,A,s.scriptSnapshot,s.version,s.scriptKind)}}}function x(){if(s!==e.LanguageServiceMode.Syntactic)return D(),c;e.Debug.assert(void 0===c)}function E(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some((function(t){return e.normalizePath(t)===i}))),D();var a=e.mapDefined(n,(function(e){return c.getSourceFile(e)})),o=v(t);return e.DocumentHighlights.getDocumentHighlights(c,_,o,r,a)}function T(t,r,n,i){D();var a=n&&2===n.use?c.getSourceFiles().filter((function(e){return!c.isSourceFileDefaultLibrary(e)})):c.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(c,_,a,t,r,n,i)}var C=new e.Map(e.getEntries(((o={})[18]=19,o[20]=21,o[22]=23,o[31]=29,o)));function F(t){return e.Debug.assertEqual(t.type,"install package"),n.installPackage?n.installPackage({fileName:function(t){return e.toPath(t,p,m)}(t.file),packageName:t.packageName}):Promise.reject("Host does not implement `installPackage`")}function O(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function M(t,r,n){for(var i=l.getCurrentSourceFile(t),a=[],o=O(i,r),s=o.lineStarts,c=o.firstLine,u=o.lastLine,d=n||!1,_=Number.MAX_VALUE,p=new e.Map,f=new RegExp(/\S/),g=e.isInsideJsxElement(i,s[c]),m=g?"{/*":"//",y=c;y<=u;y++){var v=i.text.substring(s[y],i.getLineEndOfPosition(s[y])),h=f.exec(v);h&&(_=Math.min(_,h.index),p.set(y.toString(),h.index),v.substr(h.index,m.length)!==m&&(d=void 0===n||n))}for(y=c;y<=u;y++)if(c===u||s[y]!==r.end){var D=p.get(y.toString());void 0!==D&&(g?a.push.apply(a,L(t,{pos:s[y]+_,end:i.getLineEndOfPosition(s[y])},d,g)):d?a.push({newText:m,span:{length:0,start:s[y]+_}}):i.text.substr(s[y]+D,m.length)===m&&a.push({newText:"",span:{length:m.length,start:s[y]+D}}))}return a}function L(t,r,n,i){for(var a,o=l.getCurrentSourceFile(t),s=[],c=o.text,u=!1,d=n||!1,_=[],p=r.pos,f=void 0!==i?i:e.isInsideJsxElement(o,p),g=f?"{/*":"/*",m=f?"*/}":"*/",y=f?"\\{\\/\\*":"\\/\\*",v=f?"\\*\\/\\}":"\\*\\/";p<=r.end;){var h=c.substr(p,g.length)===g?g.length:0,D=e.isInComment(o,p+h);if(D)f&&(D.pos--,D.end++),_.push(D.pos),3===D.kind&&_.push(D.end),u=!0,p=D.end+1;else{var x=c.substring(p,r.end).search("("+y+")|("+v+")");d=void 0!==n?n:d||!e.isTextWhiteSpaceLike(c,p,-1===x?r.end:p+x),p=-1===x?r.end+1:p+x+m.length}}if(d||!u){2!==(null===(a=e.isInComment(o,r.pos))||void 0===a?void 0:a.kind)&&e.insertSorted(_,r.pos,e.compareValues),e.insertSorted(_,r.end,e.compareValues);var b=_[0];c.substr(b,g.length)!==g&&s.push({newText:g,span:{length:0,start:b}});for(var S=1;S<_.length-1;S++)c.substr(_[S]-m.length,m.length)!==m&&s.push({newText:m,span:{length:0,start:_[S]}}),c.substr(_[S],g.length)!==g&&s.push({newText:g,span:{length:0,start:_[S]}});s.length%2!=0&&s.push({newText:m,span:{length:0,start:_[_.length-1]}})}else for(var E=0,T=_;E0?C-m.length:0;h=c.substr(k,m.length)===m?m.length:0;s.push({newText:"",span:{length:g.length,start:C-h}})}return s}function R(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&R(i)}function B(t,r,i,a,o,s){var c="number"==typeof r?[r,void 0]:[r.pos,r.end];return{file:t,startPosition:c[0],endPosition:c[1],program:x(),host:n,formatContext:e.formatting.getFormatContext(a,n),cancellationToken:_,preferences:i,triggerReason:o,kind:s}}C.forEach((function(e,t){return C.set(e.toString(),Number(t))}));var j={dispose:function(){if(c){var t=i.getKeyForCompilationSettings(c.getCompilerOptions());e.forEach(c.getSourceFiles(),(function(e){return i.releaseDocumentWithKey(e.resolvedPath,t,e.scriptKind)})),c=void 0}n=void 0},cleanupSemanticCache:function(){c=void 0},getSyntacticDiagnostics:function(e){return D(),c.getSyntacticDiagnostics(v(e),_).slice()},getSemanticDiagnostics:function(r){D();var n=v(r),i=c.getSemanticDiagnostics(n,_);if(!e.getEmitDeclarations(c.getCompilerOptions()))return i.slice();var a=c.getDeclarationDiagnostics(n,_);return t(t([],i),a)},getSuggestionDiagnostics:function(t){return D(),e.computeSuggestionDiagnostics(v(t),c,_)},getCompilerOptionsDiagnostics:function(){return D(),t(t([],c.getOptionsDiagnostics(_)),c.getGlobalDiagnostics(_))},getSyntacticClassifications:function(t,r){return e.getSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getSemanticClassifications:function(t,r,n){return D(),"2020"===(n||"original")?e.classifier.v2020.getSemanticClassifications(c,_,v(t),r):e.getSemanticClassifications(c.getTypeChecker(),_,v(t),c.getClassifiableNames(),r)},getEncodedSyntacticClassifications:function(t,r){return e.getEncodedSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getEncodedSemanticClassifications:function(t,r,n){return D(),"original"===(n||"original")?e.getEncodedSemanticClassifications(c.getTypeChecker(),_,v(t),c.getClassifiableNames(),r):e.classifier.v2020.getEncodedSemanticClassifications(c,_,v(t),r)},getCompletionsAtPosition:function(t,i,a){void 0===a&&(a=e.emptyOptions);var o=r(r({},e.identity(a)),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});return D(),e.Completions.getCompletionsAtPosition(n,c,f,v(t),i,o,a.triggerCharacter)},getCompletionEntryDetails:function(t,r,i,a,o,s,u){return void 0===s&&(s=e.emptyOptions),D(),e.Completions.getCompletionEntryDetails(c,f,v(t),r,{name:i,source:o,data:u},n,a&&e.formatting.getFormatContext(a,n),s,_)},getCompletionEntrySymbol:function(t,r,i,a,o){return void 0===o&&(o=e.emptyOptions),D(),e.Completions.getCompletionEntrySymbol(c,f,v(t),r,{name:i,source:a},n,o)},getSignatureHelpItems:function(t,r,n){var i=(void 0===n?e.emptyOptions:n).triggerReason;D();var a=v(t);return e.SignatureHelp.getSignatureHelpItems(c,a,r,i,_)},getQuickInfoAtPosition:function(t,r){D();var n=v(t),i=e.getTouchingPropertyName(n,r);if(i!==n){var a=c.getTypeChecker(),o=function(t){if(e.isNewExpression(t.parent)&&t.pos===t.parent.pos)return t.parent.expression;if(e.isNamedTupleMember(t.parent)&&t.pos===t.parent.pos)return t.parent;return t}(i),s=function(t,r){var n=w(t);if(n){var i=r.getContextualType(n.parent),a=i&&I(n,r,i,!1);if(a&&1===a.length)return e.first(a)}return r.getSymbolAtLocation(t)}(o,a);if(!s||a.isUnknownSymbol(s)){var u=function(t,r,n){switch(r.kind){case 78:return!e.isLabelName(r)&&!e.isTagName(r)&&!e.isConstTypeReference(r.parent);case 202:case 158:return!e.isInComment(t,n);case 107:case 188:case 105:case 193:return!0;default:return!1}}(n,o,r)?a.getTypeAtLocation(o):void 0;return u&&{kind:"",kindModifiers:"",textSpan:e.createTextSpanFromNode(o,n),displayParts:a.runWithCancellationToken(_,(function(t){return e.typeToDisplayParts(t,u,e.getContainerNode(o))})),documentation:u.symbol?u.symbol.getDocumentationComment(a):void 0,tags:u.symbol?u.symbol.getJsDocTags(a):void 0}}var l=a.runWithCancellationToken(_,(function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,s,n,e.getContainerNode(o),o)})),d=l.symbolKind,p=l.displayParts,f=l.documentation,g=l.tags;return{kind:d,kindModifiers:e.SymbolDisplay.getSymbolModifiers(a,s),textSpan:e.createTextSpanFromNode(o,n),displayParts:p,documentation:f,tags:g}}},getDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getDefinitionAtPosition(c,v(t),r)},getDefinitionAndBoundSpan:function(t,r){return D(),e.GoToDefinition.getDefinitionAndBoundSpan(c,v(t),r)},getImplementationAtPosition:function(t,r){return D(),e.FindAllReferences.getImplementationsAtPosition(c,_,c.getSourceFiles(),v(t),r)},getTypeDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getTypeDefinitionAtPosition(c.getTypeChecker(),v(t),r)},getReferencesAtPosition:function(t,r){return D(),T(e.getTouchingPropertyName(v(t),r),r,{use:1},e.FindAllReferences.toReferenceEntry)},findReferences:function(t,r){return D(),e.FindAllReferences.findReferencedSymbols(c,_,c.getSourceFiles(),v(t),r)},getFileReferences:function(t){return D(),e.FindAllReferences.Core.getReferencesForFileName(t,c,c.getSourceFiles()).map(e.FindAllReferences.toReferenceEntry)},getOccurrencesAtPosition:function(t,n){return e.flatMap(E(t,n,[t]),(function(e){return e.highlightSpans.map((function(t){return r(r({fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:"writtenReference"===t.kind,isDefinition:!1},t.isInString&&{isInString:!0}),t.contextSpan&&{contextSpan:t.contextSpan})}))}))},getDocumentHighlights:E,getNameOrDottedNameSpan:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.getTouchingPropertyName(i,r);if(a!==i){switch(a.kind){case 202:case 158:case 10:case 94:case 109:case 103:case 105:case 107:case 188:case 78:break;default:return}for(var o=a;;)if(e.isRightSideOfPropertyAccess(o)||e.isRightSideOfQualifiedName(o))o=o.parent;else{if(!e.isNameOfModuleDeclaration(o))break;if(257!==o.parent.parent.kind||o.parent.parent.body!==o.parent)break;o=o.parent.parent.name}return e.createTextSpanFromBounds(o.getStart(),a.getEnd())}},getBreakpointStatementAtPosition:function(t,r){var n=l.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)},getNavigateToItems:function(t,r,n,i){void 0===i&&(i=!1),D();var a=n?[v(n)]:c.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,c.getTypeChecker(),_,t,r,i)},getRenameInfo:function(t,r,n){return D(),e.Rename.getRenameInfo(c,v(t),r,n)},getSmartSelectionRange:function(t,r){return e.SmartSelectionRange.getSmartSelectionRange(r,l.getCurrentSourceFile(t))},findRenameLocations:function(t,n,i,a,o){D();var s=v(t),c=e.getAdjustedRenameLocation(e.getTouchingPropertyName(s,n));if(e.isIdentifier(c)&&(e.isJsxOpeningElement(c.parent)||e.isJsxClosingElement(c.parent))&&e.isIntrinsicJsxName(c.escapedText)){var u=c.parent.parent;return[u.openingElement,u.closingElement].map((function(t){var n=e.createTextSpanFromNode(t.tagName,s);return r({fileName:s.fileName,textSpan:n},e.FindAllReferences.toContextSpan(n,s,t.parent))}))}return T(c,n,{findInStrings:i,findInComments:a,providePrefixAndSuffixTextForRename:o,use:2},(function(t,r,n){return e.FindAllReferences.toRenameLocation(t,r,n,o||!1)}))},getNavigationBarItems:function(t){return e.NavigationBar.getNavigationBarItems(l.getCurrentSourceFile(t),_)},getNavigationTree:function(t){return e.NavigationBar.getNavigationTree(l.getCurrentSourceFile(t),_)},getOutliningSpans:function(t){var r=l.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,_)},getTodoComments:function(t,r){D();var n=v(t);_.throwIfCancellationRequested();var i,a=n.text,o=[];if(r.length>0&&!function(t){return e.stringContains(t,"/node_modules/")}(n.fileName))for(var s=function(){var t="("+/(?:^(?:\s|\*)*)/.source+"|"+/(?:\/\/+\s*)/.source+"|"+/(?:\/\*+\s*)/.source+")",n="(?:"+e.map(r,(function(e){return"("+(e.text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+")")})).join("|")+")";return new RegExp(t+"("+n+/(?:.*?)/.source+")"+/(?:$|\*\/)/.source,"gim")}(),c=void 0;c=s.exec(a);){_.throwIfCancellationRequested();e.Debug.assert(c.length===r.length+3);var u=c[1],l=c.index+u.length;if(e.isInComment(n,l)){for(var d=void 0,p=0;p=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57)){var f=c[2];o.push({descriptor:d,message:f,position:l})}}}return o},getBraceMatchingAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.getTouchingToken(n,r),a=i.getStart(n)===r?C.get(i.kind.toString()):void 0,o=a&&e.findChildOfKind(i.parent,a,n);return o?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(o,n)].sort((function(e,t){return e.start-t.start})):e.emptyArray},getIndentationAtPosition:function(t,r,n){var i=e.timestamp(),a=h(n),o=l.getCurrentSourceFile(t);f("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i)),i=e.timestamp();var s=e.formatting.SmartIndenter.getIndentation(r,o,a);return f("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i)),s},getFormattingEditsForRange:function(t,r,i,a){var o=l.getCurrentSourceFile(t);return e.formatting.formatSelection(r,i,o,e.formatting.getFormatContext(h(a),n))},getFormattingEditsForDocument:function(t,r){return e.formatting.formatDocument(l.getCurrentSourceFile(t),e.formatting.getFormatContext(h(r),n))},getFormattingEditsAfterKeystroke:function(t,r,i,a){var o=l.getCurrentSourceFile(t),s=e.formatting.getFormatContext(h(a),n);if(!e.isInComment(o,r))switch(i){case"{":return e.formatting.formatOnOpeningCurly(r,o,s);case"}":return e.formatting.formatOnClosingCurly(r,o,s);case";":return e.formatting.formatOnSemicolon(r,o,s);case"\n":return e.formatting.formatOnEnter(r,o,s)}return[]},getDocCommentTemplateAtPosition:function(t,r,i){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(n),l.getCurrentSourceFile(t),r,i)},isValidBraceCompletionAtPosition:function(t,r,n){if(60===n)return!1;var i=l.getCurrentSourceFile(t);if(e.isInString(i,r))return!1;if(e.isInsideJsxElementOrAttribute(i,r))return 123===n;if(e.isInTemplateString(i,r))return!1;switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return!0},getJsxClosingTagAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.findPrecedingToken(r,n);if(i){var a=31===i.kind&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:void 0;return a&&R(a)?{newText:""}:void 0}},getSpanOfEnclosingComment:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.formatting.getRangeOfEnclosingComment(i,r);return!a||n&&3!==a.kind?void 0:e.createTextSpanFromRange(a)},getCodeFixesAtPosition:function(t,r,i,a,o,s){void 0===s&&(s=e.emptyOptions),D();var u=v(t),l=e.createTextSpanFromBounds(r,i),d=e.formatting.getFormatContext(o,n);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),(function(t){return _.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:t,sourceFile:u,span:l,program:c,host:n,cancellationToken:_,formatContext:d,preferences:s})}))},getCombinedCodeFix:function(t,r,i,a){void 0===a&&(a=e.emptyOptions),D(),e.Debug.assert("file"===t.type);var o=v(t.fileName),s=e.formatting.getFormatContext(i,n);return e.codefix.getAllFixes({fixId:r,sourceFile:o,program:c,host:n,cancellationToken:_,formatContext:s,preferences:a})},applyCodeActionCommand:function(t,r){var n="string"==typeof t?r:t;return e.isArray(n)?Promise.all(n.map((function(e){return F(e)}))):F(n)},organizeImports:function(t,r,i){void 0===i&&(i=e.emptyOptions),D(),e.Debug.assert("file"===t.type);var a=v(t.fileName),o=e.formatting.getFormatContext(r,n);return e.OrganizeImports.organizeImports(a,o,n,c,i,t.skipDestructiveCodeActions)},getEditsForFileRename:function(t,r,i,a){return void 0===a&&(a=e.emptyOptions),e.getEditsForFileRename(x(),t,r,n,e.formatting.getFormatContext(i,n),a,y)},getEmitOutput:function(t,r,i){D();var a=v(t),o=n.getCustomTransformers&&n.getCustomTransformers();return e.getFileEmitOutput(c,a,!!r,_,o,i)},getNonBoundSourceFile:function(e){return l.getCurrentSourceFile(e)},getProgram:x,getAutoImportProvider:function(){var e;return null===(e=n.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(n)},getApplicableRefactors:function(t,r,n,i,a){void 0===n&&(n=e.emptyOptions),D();var o=v(t);return e.refactor.getApplicableRefactors(B(o,r,n,e.emptyOptions,i,a))},getEditsForRefactor:function(t,r,n,i,a,o){void 0===o&&(o=e.emptyOptions),D();var s=v(t);return e.refactor.getEditsForRefactor(B(s,n,o,r),i,a)},toLineColumnOffset:function(e,t){return 0===t?{line:0,character:0}:y.toLineColumnOffset(e,t)},getSourceMapper:function(){return y},clearSourceMapperCache:function(){return y.clearCache()},prepareCallHierarchy:function(t,r){D();var n=e.CallHierarchy.resolveCallHierarchyDeclaration(c,e.getTouchingPropertyName(v(t),r));return n&&e.mapOneOrMany(n,(function(t){return e.CallHierarchy.createCallHierarchyItem(c,t)}))},provideCallHierarchyIncomingCalls:function(t,r){D();var n=v(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getIncomingCalls(c,i,_):[]},provideCallHierarchyOutgoingCalls:function(t,r){D();var n=v(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getOutgoingCalls(c,i):[]},toggleLineComment:M,toggleMultilineComment:L,commentSelection:function(e,t){var r=O(l.getCurrentSourceFile(e),t);return r.firstLine===r.lastLine&&t.pos!==t.end?L(e,t,!0):M(e,t,!0)},uncommentSelection:function(t,r){var n=l.getCurrentSourceFile(t),i=[],a=r.pos,o=r.end;a===o&&(o+=e.isInsideJsxElement(n,a)?2:1);for(var s=a;s<=o;s++){var c=e.isInComment(n,s);if(c){switch(c.kind){case 2:i.push.apply(i,M(t,{end:c.end,pos:c.pos+1},!1));break;case 3:i.push.apply(i,L(t,{end:c.end,pos:c.pos+1},!1))}s=c.end+1}}return i}};switch(s){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:N.forEach((function(e){return j[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.PartialSemantic")}}));break;case e.LanguageServiceMode.Syntactic:P.forEach((function(e){return j[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.Syntactic")}}));break;default:e.Debug.assertNever(s)}return j},e.getNameTable=function(t){return t.nameTable||function(t){var r=t.nameTable=new e.Map;t.forEachChild((function t(n){if(e.isIdentifier(n)&&!e.isTagName(n)&&n.escapedText||e.isStringOrNumericLiteralLike(n)&&function(t){return e.isDeclarationName(t)||273===t.parent.kind||function(e){return e&&e.parent&&203===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(n)){var i=e.getEscapedTextOfIdentifierOrLiteral(n);r.set(i,void 0===r.get(i)?n.pos:-1)}else if(e.isPrivateIdentifier(n)){i=n.escapedText;r.set(i,void 0===r.get(i)?n.pos:-1)}if(e.forEachChild(n,t),e.hasJSDocNodes(n))for(var a=0,o=n.jsDoc;ai){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i)return;n=a}if(!(8388608&n.flags))return d(n)}function o(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function s(r,n){return o(r,e.findNextToken(n,n.parent,t))}function c(e,r){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?d(e):d(r)}function u(r){return d(e.findPrecedingToken(r.pos,t))}function l(r){return d(e.findNextToken(r,r.parent,t))}function d(r){if(r){var n=r.parent;switch(r.kind){case 233:return x(r.declarationList.declarations[0]);case 250:case 164:case 163:return x(r);case 161:return function t(r){if(e.isBindingPattern(r.name))return T(r.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasSyntacticModifier(t,12)}(r))return o(r);var n=r.parent,i=n.parameters.indexOf(r);return e.Debug.assert(-1!==i),0!==i?t(n.parameters[i-1]):d(n.body)}(r);case 252:case 166:case 165:case 168:case 169:case 167:case 209:case 210:return function(e){if(e.body)return b(e)?o(e):d(e.body)}(r);case 231:if(e.isFunctionBlock(r))return v=(y=r).statements.length?y.statements[0]:y.getLastToken(),b(y.parent)?c(y.parent,v):d(v);case 258:return S(r);case 288:return S(r.block);case 234:return o(r.expression);case 243:return o(r.getChildAt(0),r.expression);case 237:return s(r,r.expression);case 236:return d(r.statement);case 249:return o(r.getChildAt(0));case 235:return s(r,r.expression);case 246:return d(r.statement);case 242:case 241:return o(r.getChildAt(0),r.label);case 238:return(m=r).initializer?E(m):m.condition?o(m.condition):m.incrementor?o(m.incrementor):void 0;case 239:return s(r,r.expression);case 240:return E(r);case 245:return s(r,r.expression);case 285:case 286:return d(r.statements[0]);case 248:return S(r.tryBlock);case 247:case 267:return o(r,r.expression);case 261:return o(r,r.moduleReference);case 262:case 268:return o(r,r.moduleSpecifier);case 257:if(1!==e.getModuleInstanceState(r))return;case 253:case 256:case 292:case 199:return o(r);case 244:return d(r.statement);case 162:return h=n.decorators,e.createTextSpanFromBounds(e.skipTrivia(t.text,h.pos),h.end);case 197:case 198:return T(r);case 254:case 255:return;case 26:case 1:return c(e.findPrecedingToken(r.pos,t));case 27:return u(r);case 18:return function(r){switch(r.parent.kind){case 256:var n=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 253:var i=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 259:return c(r.parent.parent,r.parent.clauses[0])}return d(r.parent)}(r);case 19:return function(t){switch(t.parent.kind){case 258:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 256:case 253:return o(t);case 231:if(e.isFunctionBlock(t.parent))return o(t);case 288:return d(e.lastOrUndefined(t.parent.statements));case 259:var r=t.parent,n=e.lastOrUndefined(r.clauses);return n?d(e.lastOrUndefined(n.statements)):void 0;case 197:var i=t.parent;return d(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return o(e.lastOrUndefined(a.properties)||a)}return d(t.parent)}}(r);case 23:return function(t){switch(t.parent.kind){case 198:var r=t.parent;return o(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return o(e.lastOrUndefined(n.elements)||n)}return d(t.parent)}}(r);case 20:return function(e){return 236===e.parent.kind||204===e.parent.kind||205===e.parent.kind?u(e):208===e.parent.kind?l(e):d(e.parent)}(r);case 21:return function(e){switch(e.parent.kind){case 209:case 252:case 210:case 166:case 165:case 168:case 169:case 167:case 237:case 236:case 238:case 240:case 204:case 205:case 208:return u(e);default:return d(e.parent)}}(r);case 58:return function(t){return e.isFunctionLike(t.parent)||289===t.parent.kind||161===t.parent.kind?u(t):d(t.parent)}(r);case 31:case 29:return function(e){return 207===e.parent.kind?l(e):d(e.parent)}(r);case 114:return function(e){return 236===e.parent.kind?s(e,e.parent.expression):d(e.parent)}(r);case 90:case 82:case 95:return l(r);case 157:return function(e){return 240===e.parent.kind?l(e):d(e.parent)}(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return C(r);if((78===r.kind||221===r.kind||289===r.kind||290===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return o(r);if(217===r.kind){var i=r,a=i.left,_=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a))return C(a);if(62===_.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return o(r);if(27===_.kind)return d(a)}if(e.isExpressionNode(r))switch(n.kind){case 236:return u(r);case 162:return d(r.parent);case 238:case 240:return o(r);case 217:if(27===r.parent.operatorToken.kind)return o(r);break;case 210:if(r.parent.body===r)return o(r)}switch(r.parent.kind){case 289:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return d(r.parent.initializer);break;case 207:if(r.parent.type===r)return l(r.parent.type);break;case 250:case 161:var p=r.parent,f=p.initializer,g=p.type;if(f===r||g===r||e.isAssignmentOperator(r.kind))return u(r);break;case 217:if(a=r.parent.left,e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a)return u(r);break;default:if(e.isFunctionLike(r.parent)&&r.parent.type===r)return u(r)}return d(r.parent)}}var m,y,v,h;function D(r){return e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r?o(e.findPrecedingToken(r.pos,t,r.parent),r):o(r)}function x(r){if(239===r.parent.parent.kind)return d(r.parent.parent);var n=r.parent;return e.isBindingPattern(r.name)?T(r.name):r.initializer||e.hasSyntacticModifier(r,1)||240===n.parent.kind?D(r):e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r?d(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function b(t){return e.hasSyntacticModifier(t,1)||253===t.parent.kind&&167!==t.kind}function S(r){switch(r.parent.kind){case 257:if(1!==e.getModuleInstanceState(r.parent))return;case 237:case 235:case 239:return c(r.parent,r.statements[0]);case 238:case 240:return c(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return d(r.statements[0])}function E(e){if(251!==e.initializer.kind)return d(e.initializer);var t=e.initializer;return t.declarations.length>0?d(t.declarations[0]):void 0}function T(t){var r=e.forEach(t.elements,(function(e){return 223!==e.kind?e:void 0}));return r?d(r):199===t.parent.kind?o(t.parent):D(t.parent)}function C(t){e.Debug.assert(198!==t.kind&&197!==t.kind);var r=200===t.kind?t.elements:t.properties,n=e.forEach(r,(function(e){return 223!==e.kind?e:void 0}));return n?d(n):o(217===t.parent.kind?t.parent:t)}}}}(s||(s={})),function(e){e.transform=function(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,e.factory,n,a,r,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(s||(s={}));var s,c=function(){return this}();!function(e){function n(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var i=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var r=t,n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null===n)return null;var i=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(i.span.start,i.span.length),i.newLength)},t.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),s=function(){function t(t){var r=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(t,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.getProperty(i,t);return r?{resolvedFileName:r,extension:e.extensionFromPath(r),isExternalLibraryImport:!1}:void 0}))}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return r.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.getProperty(i,t)}))})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new i(t)},t.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=s;var u=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost?this.directoryExists=function(e){return t.shimHost.directoryExists(e)}:this.directoryExists=void 0,"realpath"in this.shimHost?this.realpath=function(e){return t.shimHost.realpath(e)}:this.realpath=void 0}return t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function l(e,t,r,n){return d(e,t,!0,r,n)}function d(t,r,i,a,o){try{var s=function(t,r,n,i){var a;i&&(t.log(r),a=e.timestamp());var o=n();if(i){var s=e.timestamp();if(t.log(r+" completed in "+(s-a)+" msec"),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),t.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}(t,r,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(n(t,i),i.description=r,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=u;var _=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function p(t,r){return t.map((function(t){return function(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code,reportsUnnecessary:t.reportsUnnecessary,reportsDeprecated:t.reportsDeprecated}}(t,r)}))}e.realizeDiagnostics=p;var f=function(t){function n(e,r,n){var i=t.call(this,e)||this;return i.host=r,i.languageService=n,i.logPerformance=!1,i.logger=i.host,i}return o(n,t),n.prototype.forwardJSONCall=function(e,t){return l(this.logger,e,t,this.logPerformance)},n.prototype.dispose=function(e){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,c&&c.CollectGarbage&&(c.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,t.prototype.dispose.call(this,e)},n.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",(function(){return null}))},n.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",(function(){return e.languageService.cleanupSemanticCache(),null}))},n.prototype.realizeDiagnostics=function(t){return p(t,e.getNewLineOrDefaultFromHost(this.host))},n.prototype.getSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))},n.prototype.getSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))},n.prototype.getEncodedSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return g(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))},n.prototype.getEncodedSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return g(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))},n.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))},n.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))},n.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('"+e+"')",(function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))}))},n.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))},n.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))},n.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))},n.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))},n.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",(function(){return n.languageService.getSignatureHelpItems(e,t,r)}))},n.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))},n.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAndBoundSpan(e,t)}))},n.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))},n.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getImplementationAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getImplementationAtPosition(e,t)}))},n.prototype.getRenameInfo=function(e,t,r){var n=this;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",(function(){return n.languageService.getRenameInfo(e,t,r)}))},n.prototype.getSmartSelectionRange=function(e,t){var r=this;return this.forwardJSONCall("getSmartSelectionRange('"+e+"', "+t+")",(function(){return r.languageService.getSmartSelectionRange(e,t)}))},n.prototype.findRenameLocations=function(e,t,r,n,i){var a=this;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+", "+i+")",(function(){return a.languageService.findRenameLocations(e,t,r,n,i)}))},n.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))},n.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))},n.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall("getSpanOfEnclosingComment('"+e+"', "+t+")",(function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)}))},n.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",(function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)}))},n.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getReferencesAtPosition(e,t)}))},n.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",(function(){return r.languageService.findReferences(e,t)}))},n.prototype.getFileReferences=function(e){var t=this;return this.forwardJSONCall("getFileReferences('"+e+")",(function(){return t.languageService.getFileReferences(e)}))},n.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))},n.prototype.getDocumentHighlights=function(t,r,n){var i=this;return this.forwardJSONCall("getDocumentHighlights('"+t+"', "+r+")",(function(){var a=i.languageService.getDocumentHighlights(t,r,JSON.parse(n)),o=e.toFileNameLowerCase(e.normalizeSlashes(t));return e.filter(a,(function(t){return e.toFileNameLowerCase(e.normalizeSlashes(t.fileName))===o}))}))},n.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getCompletionsAtPosition(e,t,r)}))},n.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a,o){var s=this;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",(function(){var c=void 0===n?void 0:JSON.parse(n);return s.languageService.getCompletionEntryDetails(e,t,r,c,i,a,o)}))},n.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)}))},n.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))},n.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)}))},n.prototype.getDocCommentTemplateAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",(function(){return n.languageService.getDocCommentTemplateAtPosition(e,t,r)}))},n.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNavigateToItems(e,t,r)}))},n.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",(function(){return t.languageService.getNavigationBarItems(e)}))},n.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('"+e+"')",(function(){return t.languageService.getNavigationTree(e)}))},n.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('"+e+"')",(function(){return t.languageService.getOutliningSpans(e)}))},n.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall("getTodoComments('"+e+"')",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))},n.prototype.prepareCallHierarchy=function(e,t){var r=this;return this.forwardJSONCall("prepareCallHierarchy('"+e+"', "+t+")",(function(){return r.languageService.prepareCallHierarchy(e,t)}))},n.prototype.provideCallHierarchyIncomingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyIncomingCalls('"+e+"', "+t+")",(function(){return r.languageService.provideCallHierarchyIncomingCalls(e,t)}))},n.prototype.provideCallHierarchyOutgoingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('"+e+"', "+t+")",(function(){return r.languageService.provideCallHierarchyOutgoingCalls(e,t)}))},n.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('"+e+"')",(function(){var n=t.languageService.getEmitOutput(e),i=n.diagnostics,o=a(n,["diagnostics"]);return r(r({},o),{diagnostics:t.realizeDiagnostics(i)})}))},n.prototype.getEmitOutputObject=function(e){var t=this;return d(this.logger,"getEmitOutput('"+e+"')",!1,(function(){return t.languageService.getEmitOutput(e)}),this.logPerformance)},n.prototype.toggleLineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleLineComment('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.toggleLineComment(e,t)}))},n.prototype.toggleMultilineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleMultilineComment('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.toggleMultilineComment(e,t)}))},n.prototype.commentSelection=function(e,t){var r=this;return this.forwardJSONCall("commentSelection('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.commentSelection(e,t)}))},n.prototype.uncommentSelection=function(e,t){var r=this;return this.forwardJSONCall("uncommentSelection('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.uncommentSelection(e,t)}))},n}(_);function g(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var m=function(t){function r(r,n){var i=t.call(this,r)||this;return i.logger=n,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return o(r,t),r.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;return void 0===r&&(r=!1),l(this.logger,"getEncodedLexicalClassifications",(function(){return g(n.classifier.getEncodedLexicalClassifications(e,t,r))}),this.logPerformance)},r.prototype.getClassificationsForLine=function(e,t,r){void 0===r&&(r=!1);for(var n=this.classifier.getClassificationsForLine(e,t,r),i="",a=0,o=n.entries;a=1&&arguments.length<=3?e.factory.createVariableDeclaration(t,void 0,r,n):e.Debug.fail("Argument count mismatch")}),t),e.updateVariableDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return 5===arguments.length?e.factory.updateVariableDeclaration(t,r,n,i,a):4===arguments.length?e.factory.updateVariableDeclaration(t,r,t.exclamationToken,n,i):e.Debug.fail("Argument count mismatch")}),t),e.createImportClause=e.Debug.deprecate((function(t,r,n){return void 0===n&&(n=!1),e.factory.createImportClause(n,t,r)}),t),e.updateImportClause=e.Debug.deprecate((function(t,r,n,i){return e.factory.updateImportClause(t,i,r,n)}),t),e.createExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return void 0===a&&(a=!1),e.factory.createExportDeclaration(t,r,a,n,i)}),t),e.updateExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a,o){return e.factory.updateExportDeclaration(t,r,n,o,i,a)}),t),e.createJSDocParamTag=e.Debug.deprecate((function(t,r,n,i){return e.factory.createJSDocParameterTag(void 0,t,r,n,!1,i?e.factory.createNodeArray([e.factory.createJSDocText(i)]):void 0)}),t),e.createComma=e.Debug.deprecate((function(t,r){return e.factory.createComma(t,r)}),t),e.createLessThan=e.Debug.deprecate((function(t,r){return e.factory.createLessThan(t,r)}),t),e.createAssignment=e.Debug.deprecate((function(t,r){return e.factory.createAssignment(t,r)}),t),e.createStrictEquality=e.Debug.deprecate((function(t,r){return e.factory.createStrictEquality(t,r)}),t),e.createStrictInequality=e.Debug.deprecate((function(t,r){return e.factory.createStrictInequality(t,r)}),t),e.createAdd=e.Debug.deprecate((function(t,r){return e.factory.createAdd(t,r)}),t),e.createSubtract=e.Debug.deprecate((function(t,r){return e.factory.createSubtract(t,r)}),t),e.createLogicalAnd=e.Debug.deprecate((function(t,r){return e.factory.createLogicalAnd(t,r)}),t),e.createLogicalOr=e.Debug.deprecate((function(t,r){return e.factory.createLogicalOr(t,r)}),t),e.createPostfixIncrement=e.Debug.deprecate((function(t){return e.factory.createPostfixIncrement(t)}),t),e.createLogicalNot=e.Debug.deprecate((function(t){return e.factory.createLogicalNot(t)}),t),e.createNode=e.Debug.deprecate((function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=0),e.setTextRangePosEnd(298===t?e.parseBaseNodeFactory.createBaseSourceFileNode(t):78===t?e.parseBaseNodeFactory.createBaseIdentifierNode(t):79===t?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(t):e.isNodeKind(t)?e.parseBaseNodeFactory.createBaseNode(t):e.parseBaseNodeFactory.createBaseTokenNode(t),r,n)}),{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory` method instead."}),e.getMutableClone=e.Debug.deprecate((function(t){var r=e.factory.cloneNode(t);return e.setTextRange(r,t),e.setParent(r,t.parent),r}),{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`."}),e.isTypeAssertion=e.Debug.deprecate((function(e){return 207===e.kind}),{since:"4.0",warnAfter:"4.1",message:"Use `isTypeAssertionExpression` instead."}),e.isIdentifierOrPrivateIdentifier=e.Debug.deprecate((function(t){return e.isMemberName(t)}),{since:"4.2",warnAfter:"4.3",message:"Use `isMemberName` instead."})}(s||(s={}))})),gd=f((function(e,t){var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.AST_TOKEN_TYPES=t.AST_NODE_TYPES=void 0,(r=t.AST_NODE_TYPES||(t.AST_NODE_TYPES={})).ArrayExpression="ArrayExpression",r.ArrayPattern="ArrayPattern",r.ArrowFunctionExpression="ArrowFunctionExpression",r.AssignmentExpression="AssignmentExpression",r.AssignmentPattern="AssignmentPattern",r.AwaitExpression="AwaitExpression",r.BinaryExpression="BinaryExpression",r.BlockStatement="BlockStatement",r.BreakStatement="BreakStatement",r.CallExpression="CallExpression",r.CatchClause="CatchClause",r.ChainExpression="ChainExpression",r.ClassBody="ClassBody",r.ClassDeclaration="ClassDeclaration",r.ClassExpression="ClassExpression",r.ClassProperty="ClassProperty",r.ConditionalExpression="ConditionalExpression",r.ContinueStatement="ContinueStatement",r.DebuggerStatement="DebuggerStatement",r.Decorator="Decorator",r.DoWhileStatement="DoWhileStatement",r.EmptyStatement="EmptyStatement",r.ExportAllDeclaration="ExportAllDeclaration",r.ExportDefaultDeclaration="ExportDefaultDeclaration",r.ExportNamedDeclaration="ExportNamedDeclaration",r.ExportSpecifier="ExportSpecifier",r.ExpressionStatement="ExpressionStatement",r.ForInStatement="ForInStatement",r.ForOfStatement="ForOfStatement",r.ForStatement="ForStatement",r.FunctionDeclaration="FunctionDeclaration",r.FunctionExpression="FunctionExpression",r.Identifier="Identifier",r.IfStatement="IfStatement",r.ImportDeclaration="ImportDeclaration",r.ImportDefaultSpecifier="ImportDefaultSpecifier",r.ImportExpression="ImportExpression",r.ImportNamespaceSpecifier="ImportNamespaceSpecifier",r.ImportSpecifier="ImportSpecifier",r.JSXAttribute="JSXAttribute",r.JSXClosingElement="JSXClosingElement",r.JSXClosingFragment="JSXClosingFragment",r.JSXElement="JSXElement",r.JSXEmptyExpression="JSXEmptyExpression",r.JSXExpressionContainer="JSXExpressionContainer",r.JSXFragment="JSXFragment",r.JSXIdentifier="JSXIdentifier",r.JSXMemberExpression="JSXMemberExpression",r.JSXNamespacedName="JSXNamespacedName",r.JSXOpeningElement="JSXOpeningElement",r.JSXOpeningFragment="JSXOpeningFragment",r.JSXSpreadAttribute="JSXSpreadAttribute",r.JSXSpreadChild="JSXSpreadChild",r.JSXText="JSXText",r.LabeledStatement="LabeledStatement",r.Literal="Literal",r.LogicalExpression="LogicalExpression",r.MemberExpression="MemberExpression",r.MetaProperty="MetaProperty",r.MethodDefinition="MethodDefinition",r.NewExpression="NewExpression",r.ObjectExpression="ObjectExpression",r.ObjectPattern="ObjectPattern",r.Program="Program",r.Property="Property",r.RestElement="RestElement",r.ReturnStatement="ReturnStatement",r.SequenceExpression="SequenceExpression",r.SpreadElement="SpreadElement",r.Super="Super",r.SwitchCase="SwitchCase",r.SwitchStatement="SwitchStatement",r.TaggedTemplateExpression="TaggedTemplateExpression",r.TemplateElement="TemplateElement",r.TemplateLiteral="TemplateLiteral",r.ThisExpression="ThisExpression",r.ThrowStatement="ThrowStatement",r.TryStatement="TryStatement",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.VariableDeclaration="VariableDeclaration",r.VariableDeclarator="VariableDeclarator",r.WhileStatement="WhileStatement",r.WithStatement="WithStatement",r.YieldExpression="YieldExpression",r.TSAbstractClassProperty="TSAbstractClassProperty",r.TSAbstractKeyword="TSAbstractKeyword",r.TSAbstractMethodDefinition="TSAbstractMethodDefinition",r.TSAnyKeyword="TSAnyKeyword",r.TSArrayType="TSArrayType",r.TSAsExpression="TSAsExpression",r.TSAsyncKeyword="TSAsyncKeyword",r.TSBigIntKeyword="TSBigIntKeyword",r.TSBooleanKeyword="TSBooleanKeyword",r.TSCallSignatureDeclaration="TSCallSignatureDeclaration",r.TSClassImplements="TSClassImplements",r.TSConditionalType="TSConditionalType",r.TSConstructorType="TSConstructorType",r.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",r.TSDeclareFunction="TSDeclareFunction",r.TSDeclareKeyword="TSDeclareKeyword",r.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",r.TSEnumDeclaration="TSEnumDeclaration",r.TSEnumMember="TSEnumMember",r.TSExportAssignment="TSExportAssignment",r.TSExportKeyword="TSExportKeyword",r.TSExternalModuleReference="TSExternalModuleReference",r.TSFunctionType="TSFunctionType",r.TSImportEqualsDeclaration="TSImportEqualsDeclaration",r.TSImportType="TSImportType",r.TSIndexedAccessType="TSIndexedAccessType",r.TSIndexSignature="TSIndexSignature",r.TSInferType="TSInferType",r.TSInterfaceBody="TSInterfaceBody",r.TSInterfaceDeclaration="TSInterfaceDeclaration",r.TSInterfaceHeritage="TSInterfaceHeritage",r.TSIntersectionType="TSIntersectionType",r.TSIntrinsicKeyword="TSIntrinsicKeyword",r.TSLiteralType="TSLiteralType",r.TSMappedType="TSMappedType",r.TSMethodSignature="TSMethodSignature",r.TSModuleBlock="TSModuleBlock",r.TSModuleDeclaration="TSModuleDeclaration",r.TSNamedTupleMember="TSNamedTupleMember",r.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",r.TSNeverKeyword="TSNeverKeyword",r.TSNonNullExpression="TSNonNullExpression",r.TSNullKeyword="TSNullKeyword",r.TSNumberKeyword="TSNumberKeyword",r.TSObjectKeyword="TSObjectKeyword",r.TSOptionalType="TSOptionalType",r.TSParameterProperty="TSParameterProperty",r.TSParenthesizedType="TSParenthesizedType",r.TSPrivateKeyword="TSPrivateKeyword",r.TSPropertySignature="TSPropertySignature",r.TSProtectedKeyword="TSProtectedKeyword",r.TSPublicKeyword="TSPublicKeyword",r.TSQualifiedName="TSQualifiedName",r.TSReadonlyKeyword="TSReadonlyKeyword",r.TSRestType="TSRestType",r.TSStaticKeyword="TSStaticKeyword",r.TSStringKeyword="TSStringKeyword",r.TSSymbolKeyword="TSSymbolKeyword",r.TSTemplateLiteralType="TSTemplateLiteralType",r.TSThisType="TSThisType",r.TSTupleType="TSTupleType",r.TSTypeAliasDeclaration="TSTypeAliasDeclaration",r.TSTypeAnnotation="TSTypeAnnotation",r.TSTypeAssertion="TSTypeAssertion",r.TSTypeLiteral="TSTypeLiteral",r.TSTypeOperator="TSTypeOperator",r.TSTypeParameter="TSTypeParameter",r.TSTypeParameterDeclaration="TSTypeParameterDeclaration",r.TSTypeParameterInstantiation="TSTypeParameterInstantiation",r.TSTypePredicate="TSTypePredicate",r.TSTypeQuery="TSTypeQuery",r.TSTypeReference="TSTypeReference",r.TSUndefinedKeyword="TSUndefinedKeyword",r.TSUnionType="TSUnionType",r.TSUnknownKeyword="TSUnknownKeyword",r.TSVoidKeyword="TSVoidKeyword",(n=t.AST_TOKEN_TYPES||(t.AST_TOKEN_TYPES={})).Boolean="Boolean",n.Identifier="Identifier",n.JSXIdentifier="JSXIdentifier",n.JSXText="JSXText",n.Keyword="Keyword",n.Null="Null",n.Numeric="Numeric",n.Punctuator="Punctuator",n.RegularExpression="RegularExpression",n.String="String",n.Template="Template",n.Block="Block",n.Line="Line"})),md=Object.defineProperty({},"__esModule",{value:!0}),yd=Object.defineProperty({},"__esModule",{value:!0}),vd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.TSESTree=void 0,t.TSESTree=i(gd)})),hd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.AST_TOKEN_TYPES=t.AST_NODE_TYPES=void 0,Object.defineProperty(t,"AST_NODE_TYPES",{enumerable:!0,get:function(){return gd.AST_NODE_TYPES}});var i=gd;Object.defineProperty(t,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return i.AST_TOKEN_TYPES}}),n(md,t),n(yd,t),n(vd,t)})),Dd=Object.defineProperty({},"__esModule",{value:!0}),xd=Object.defineProperty({},"__esModule",{value:!0}),bd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.TSESTree=t.AST_TOKEN_TYPES=t.AST_NODE_TYPES=void 0,Object.defineProperty(t,"AST_NODE_TYPES",{enumerable:!0,get:function(){return hd.AST_NODE_TYPES}}),Object.defineProperty(t,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return hd.AST_TOKEN_TYPES}}),Object.defineProperty(t,"TSESTree",{enumerable:!0,get:function(){return hd.TSESTree}}),n(Dd,t),n(xd,t)})),Sd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.xhtmlEntities=void 0,t.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}})),Ed=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.firstDefined=t.nodeHasTokens=t.createError=t.TSError=t.convertTokens=t.convertToken=t.getTokenType=t.isChildUnwrappableOptionalChain=t.isChainExpression=t.isOptional=t.isComputedProperty=t.unescapeStringLiteralText=t.hasJSXAncestor=t.findFirstMatchingAncestor=t.findNextToken=t.getTSNodeAccessibility=t.getDeclarationKind=t.isJSXToken=t.isToken=t.getRange=t.canContainDirective=t.getLocFor=t.getLineAndCharacterFor=t.getBinaryExpressionType=t.isJSDocComment=t.isComment=t.isComma=t.getLastModifier=t.hasModifier=t.isESTreeClassMember=t.getTextForTokenKind=t.isLogicalOperator=t.isAssignmentOperator=void 0;const a=i(fd),o=a.SyntaxKind,s=[o.BarBarToken,o.AmpersandAmpersandToken,o.QuestionQuestionToken];function c(e){return e.kind>=o.FirstAssignment&&e.kind<=o.LastAssignment}function u(e){return s.includes(e.kind)}function l(e){return e.kind===o.SingleLineCommentTrivia||e.kind===o.MultiLineCommentTrivia}function d(e){return e.kind===o.JSDocComment}function p(e,t){const r=t.getLineAndCharacterOfPosition(e);return{line:r.line+1,column:r.character}}function f(e,t,r){return{start:p(e,r),end:p(t,r)}}function g(e){return e.kind>=o.FirstToken&&e.kind<=o.LastToken}function m(e){return e.kind>=o.JsxElement&&e.kind<=o.JsxAttribute}function y(e,t){for(;e;){if(t(e))return e;e=e.parent}}function v(e){return!!y(e,m)}function h(e){return e.type===bd.AST_NODE_TYPES.ChainExpression}function D(e){if("originalKeywordKind"in e&&e.originalKeywordKind)return e.originalKeywordKind===o.NullKeyword?bd.AST_TOKEN_TYPES.Null:e.originalKeywordKind>=o.FirstFutureReservedWord&&e.originalKeywordKind<=o.LastKeyword?bd.AST_TOKEN_TYPES.Identifier:bd.AST_TOKEN_TYPES.Keyword;if(e.kind>=o.FirstKeyword&&e.kind<=o.LastFutureReservedWord)return e.kind===o.FalseKeyword||e.kind===o.TrueKeyword?bd.AST_TOKEN_TYPES.Boolean:bd.AST_TOKEN_TYPES.Keyword;if(e.kind>=o.FirstPunctuation&&e.kind<=o.LastPunctuation)return bd.AST_TOKEN_TYPES.Punctuator;if(e.kind>=o.NoSubstitutionTemplateLiteral&&e.kind<=o.TemplateTail)return bd.AST_TOKEN_TYPES.Template;switch(e.kind){case o.NumericLiteral:return bd.AST_TOKEN_TYPES.Numeric;case o.JsxText:return bd.AST_TOKEN_TYPES.JSXText;case o.StringLiteral:return!e.parent||e.parent.kind!==o.JsxAttribute&&e.parent.kind!==o.JsxElement?bd.AST_TOKEN_TYPES.String:bd.AST_TOKEN_TYPES.JSXText;case o.RegularExpressionLiteral:return bd.AST_TOKEN_TYPES.RegularExpression;case o.Identifier:case o.ConstructorKeyword:case o.GetKeyword:case o.SetKeyword:}if(e.parent&&e.kind===o.Identifier){if(m(e.parent))return bd.AST_TOKEN_TYPES.JSXIdentifier;if(e.parent.kind===o.PropertyAccessExpression&&v(e))return bd.AST_TOKEN_TYPES.JSXIdentifier}return bd.AST_TOKEN_TYPES.Identifier}function x(e,t){const r=e.kind===o.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),a=D(e);return a===bd.AST_TOKEN_TYPES.RegularExpression?{type:a,value:i,range:[r,n],loc:f(r,n,t),regex:{pattern:i.slice(1,i.lastIndexOf("/")),flags:i.slice(i.lastIndexOf("/")+1)}}:{type:a,value:i,range:[r,n],loc:f(r,n,t)}}t.isAssignmentOperator=c,t.isLogicalOperator=u,t.getTextForTokenKind=function(e){return a.tokenToString(e)},t.isESTreeClassMember=function(e){return e.kind!==o.SemicolonClassElement},t.hasModifier=function(e,t){return!!t.modifiers&&!!t.modifiers.length&&t.modifiers.some((t=>t.kind===e))},t.getLastModifier=function(e){return!!e.modifiers&&!!e.modifiers.length&&e.modifiers[e.modifiers.length-1]||null},t.isComma=function(e){return e.kind===o.CommaToken},t.isComment=l,t.isJSDocComment=d,t.getBinaryExpressionType=function(e){return c(e)?bd.AST_NODE_TYPES.AssignmentExpression:u(e)?bd.AST_NODE_TYPES.LogicalExpression:bd.AST_NODE_TYPES.BinaryExpression},t.getLineAndCharacterFor=p,t.getLocFor=f,t.canContainDirective=function(e){if(e.kind===a.SyntaxKind.Block)switch(e.parent.kind){case a.SyntaxKind.Constructor:case a.SyntaxKind.GetAccessor:case a.SyntaxKind.SetAccessor:case a.SyntaxKind.ArrowFunction:case a.SyntaxKind.FunctionExpression:case a.SyntaxKind.FunctionDeclaration:case a.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},t.getRange=function(e,t){return[e.getStart(t),e.getEnd()]},t.isToken=g,t.isJSXToken=m,t.getDeclarationKind=function(e){return e.flags&a.NodeFlags.Let?"let":e.flags&a.NodeFlags.Const?"const":"var"},t.getTSNodeAccessibility=function(e){const t=e.modifiers;if(!t)return null;for(let e=0;e(n.pos<=e.pos&&n.end>e.end||n.pos===e.end)&&S(n,r)?t(n):void 0))}(t)},t.findFirstMatchingAncestor=y,t.hasJSXAncestor=v,t.unescapeStringLiteralText=function(e){return e.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,(e=>{const t=e.slice(1,-1);if("#"===t[0]){const r="x"===t[1]?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return r>1114111?e:String.fromCodePoint(r)}return Sd.xhtmlEntities[t]||e}))},t.isComputedProperty=function(e){return e.kind===o.ComputedPropertyName},t.isOptional=function(e){return!!e.questionToken&&e.questionToken.kind===o.QuestionToken},t.isChainExpression=h,t.isChildUnwrappableOptionalChain=function(e,t){return h(t)&&e.expression.kind!==a.SyntaxKind.ParenthesizedExpression},t.getTokenType=D,t.convertToken=x,t.convertTokens=function(e){const t=[];return function r(n){if(!l(n)&&!d(n))if(g(n)&&n.kind!==o.EndOfFileToken){const r=x(n,e);r&&t.push(r)}else n.getChildren(e).forEach(r)}(e),t};class b extends Error{constructor(e,t,r,n,i){super(e),this.fileName=t,this.index=r,this.lineNumber=n,this.column=i,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}}function S(e,t){return e.kind===o.EndOfFileToken?!!e.jsDoc:0!==e.getWidth(t)}function E(e,t){if(void 0!==e)for(let r=0;r= ${e}.0 || >= ${e}.1-rc || >= ${e}.0-beta`,{includePrerelease:!0})}const c=["3.7","3.8","3.9","4.0"],u={};t.typescriptVersionIsAtLeast=u;for(const e of c)u[e]=s(e)})),Cd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Converter=t.convertError=void 0;const a=i(fd),o=a.SyntaxKind;t.convertError=function(e){return Ed.createError(e.file,e.start,e.message||e.messageText)};t.Converter=class{constructor(e,t){this.esTreeNodeToTSNodeMap=new WeakMap,this.tsNodeToESTreeNodeMap=new WeakMap,this.allowPattern=!1,this.inTypeMode=!1,this.ast=e,this.options=Object.assign({},t)}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}convertProgram(){return this.converter(this.ast)}converter(e,t,r,n){if(!e)return null;const i=this.inTypeMode,a=this.allowPattern;void 0!==r&&(this.inTypeMode=r),void 0!==n&&(this.allowPattern=n);const o=this.convertNode(e,null!=t?t:e.parent);return this.registerTSNodeInNodeMap(e,o),this.inTypeMode=i,this.allowPattern=a,o}fixExports(e,t){if(e.modifiers&&e.modifiers[0].kind===o.ExportKeyword){this.registerTSNodeInNodeMap(e,t);const r=e.modifiers[0],n=e.modifiers[1],i=n&&n.kind===o.DefaultKeyword,a=i?Ed.findNextToken(n,this.ast,this.ast):Ed.findNextToken(r,this.ast,this.ast);if(t.range[0]=a.getStart(this.ast),t.loc=Ed.getLocFor(t.range[0],t.range[1],this.ast),i)return this.createNode(e,{type:bd.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:t,range:[r.getStart(this.ast),t.range[1]],exportKind:"value"});{const n=t.type===bd.AST_NODE_TYPES.TSInterfaceDeclaration||t.type===bd.AST_NODE_TYPES.TSTypeAliasDeclaration,i=!0===t.declare;return this.createNode(e,{type:bd.AST_NODE_TYPES.ExportNamedDeclaration,declaration:t,specifiers:[],source:null,exportKind:n||i?"type":"value",range:[r.getStart(this.ast),t.range[1]]})}}return t}registerTSNodeInNodeMap(e,t){t&&this.options.shouldPreserveNodeMaps&&(this.tsNodeToESTreeNodeMap.has(e)||this.tsNodeToESTreeNodeMap.set(e,t))}convertPattern(e,t){return this.converter(e,t,this.inTypeMode,!0)}convertChild(e,t){return this.converter(e,t,this.inTypeMode,!1)}convertType(e,t){return this.converter(e,t,!0,!1)}createNode(e,t){const r=t;return r.range||(r.range=Ed.getRange(e,this.ast)),r.loc||(r.loc=Ed.getLocFor(r.range[0],r.range[1],this.ast)),r&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(r,e),r}convertBindingNameWithTypeAnnotation(e,t,r){const n=this.convertPattern(e);return t&&(n.typeAnnotation=this.convertTypeAnnotation(t,r),this.fixParentLocation(n,n.typeAnnotation.range)),n}convertTypeAnnotation(e,t){const r=(null==t?void 0:t.kind)===o.FunctionType||(null==t?void 0:t.kind)===o.ConstructorType?2:1,n=e.getFullStart()-r,i=Ed.getLocFor(n,e.end,this.ast);return{type:bd.AST_NODE_TYPES.TSTypeAnnotation,loc:i,range:[n,e.end],typeAnnotation:this.convertType(e)}}convertBodyExpressions(e,t){let r=Ed.canContainDirective(t);return e.map((e=>{const t=this.convertChild(e);if(r){if((null==t?void 0:t.expression)&&a.isExpressionStatement(e)&&a.isStringLiteral(e.expression)){const e=t.expression.raw;return t.directive=e.slice(1,-1),t}r=!1}return t})).filter((e=>e))}convertTypeArgumentsToTypeParameters(e,t){const r=Ed.findNextToken(e,this.ast,this.ast);return this.createNode(t,{type:bd.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map((e=>this.convertType(e)))})}convertTSTypeParametersToTypeParametersDeclaration(e){const t=Ed.findNextToken(e,this.ast,this.ast);return{type:bd.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[e.pos-1,t.end],loc:Ed.getLocFor(e.pos-1,t.end,this.ast),params:e.map((e=>this.convertType(e)))}}convertParameters(e){return e&&e.length?e.map((e=>{var t;const r=this.convertChild(e);return(null===(t=e.decorators)||void 0===t?void 0:t.length)&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),r})):[]}convertChainExpression(e,t){const{child:r,isOptional:n}=e.type===bd.AST_NODE_TYPES.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===bd.AST_NODE_TYPES.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=Ed.isChildUnwrappableOptionalChain(t,r);if(!i&&!n)return e;if(i&&Ed.isChainExpression(r)){const t=r.expression;e.type===bd.AST_NODE_TYPES.MemberExpression?e.object=t:e.type===bd.AST_NODE_TYPES.CallExpression?e.callee=t:e.expression=t}return this.createNode(t,{type:bd.AST_NODE_TYPES.ChainExpression,expression:e})}deeplyCopy(e){if(e.kind===a.SyntaxKind.JSDocFunctionType)throw Ed.createError(this.ast,e.pos,"JSDoc types can only be used inside documentation comments.");const t=`TS${o[e.kind]}`;if(this.options.errorOnUnknownASTType&&!bd.AST_NODE_TYPES[t])throw new Error(`Unknown AST_NODE_TYPE: "${t}"`);const r=this.createNode(e,{type:t});return"type"in e&&(r.typeAnnotation=e.type&&"kind"in e.type&&a.isTypeNode(e.type)?this.convertTypeAnnotation(e.type,e):null),"typeArguments"in e&&(r.typeParameters=e.typeArguments&&"pos"in e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null),"typeParameters"in e&&(r.typeParameters=e.typeParameters&&"pos"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null),"decorators"in e&&e.decorators&&e.decorators.length&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),Object.entries(e).filter((([e])=>!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators|transformFlags)$/.test(e))).forEach((([e,t])=>{Array.isArray(t)?r[e]=t.map((e=>this.convertChild(e))):t&&"object"==typeof t&&t.kind?r[e]=this.convertChild(t):r[e]=t})),r}convertJSXIdentifier(e){const t=this.createNode(e,{type:bd.AST_NODE_TYPES.JSXIdentifier,name:e.getText()});return this.registerTSNodeInNodeMap(e,t),t}convertJSXNamespaceOrIdentifier(e){const t=e.getText(),r=t.indexOf(":");if(r>0){const n=Ed.getRange(e,this.ast),i=this.createNode(e,{type:bd.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(e,{type:bd.AST_NODE_TYPES.JSXIdentifier,name:t.slice(0,r),range:[n[0],n[0]+r]}),name:this.createNode(e,{type:bd.AST_NODE_TYPES.JSXIdentifier,name:t.slice(r+1),range:[n[0]+r+1,n[1]]}),range:n});return this.registerTSNodeInNodeMap(e,i),i}return this.convertJSXIdentifier(e)}convertJSXTagName(e,t){let r;switch(e.kind){case o.PropertyAccessExpression:if(e.name.kind===o.PrivateIdentifier)throw new Error("Non-private identifier expected.");r=this.createNode(e,{type:bd.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXIdentifier(e.name)});break;case o.ThisKeyword:case o.Identifier:default:return this.convertJSXNamespaceOrIdentifier(e)}return this.registerTSNodeInNodeMap(e,r),r}convertMethodSignature(e){const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSMethodSignature,computed:Ed.isComputedProperty(e.name),key:this.convertChild(e.name),params:this.convertParameters(e.parameters),kind:(()=>{switch(e.kind){case o.GetAccessor:return"get";case o.SetAccessor:return"set";case o.MethodSignature:return"method"}})()});Ed.isOptional(e)&&(t.optional=!0),e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),Ed.hasModifier(o.ReadonlyKeyword,e)&&(t.readonly=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters));const r=Ed.getTSNodeAccessibility(e);return r&&(t.accessibility=r),Ed.hasModifier(o.ExportKeyword,e)&&(t.export=!0),Ed.hasModifier(o.StaticKeyword,e)&&(t.static=!0),t}applyModifiersToResult(e,t){if(!t||!t.length)return;const r=[];for(let n=0;ne.range[1]&&(e.range[1]=t[1],e.loc.end=Ed.getLineAndCharacterFor(e.range[1],this.ast))}convertNode(e,t){var r,n,i,s,c,u,l,d,_,p;switch(e.kind){case o.SourceFile:return this.createNode(e,{type:bd.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(e.statements,e),sourceType:e.externalModuleIndicator?"module":"script",range:[e.getStart(this.ast),e.endOfFileToken.end]});case o.Block:return this.createNode(e,{type:bd.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case o.Identifier:return this.createNode(e,{type:bd.AST_NODE_TYPES.Identifier,name:e.text});case o.WithStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.WithStatement,object:this.convertChild(e.expression),body:this.convertChild(e.statement)});case o.ReturnStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(e.expression)});case o.LabeledStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(e.label),body:this.convertChild(e.statement)});case o.ContinueStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(e.label)});case o.BreakStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.BreakStatement,label:this.convertChild(e.label)});case o.IfStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.IfStatement,test:this.convertChild(e.expression),consequent:this.convertChild(e.thenStatement),alternate:this.convertChild(e.elseStatement)});case o.SwitchStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(e.expression),cases:e.caseBlock.clauses.map((e=>this.convertChild(e)))});case o.CaseClause:case o.DefaultClause:return this.createNode(e,{type:bd.AST_NODE_TYPES.SwitchCase,test:e.kind===o.CaseClause?this.convertChild(e.expression):null,consequent:e.statements.map((e=>this.convertChild(e)))});case o.ThrowStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(e.expression)});case o.TryStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.TryStatement,block:this.convertChild(e.tryBlock),handler:this.convertChild(e.catchClause),finalizer:this.convertChild(e.finallyBlock)});case o.CatchClause:return this.createNode(e,{type:bd.AST_NODE_TYPES.CatchClause,param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null,body:this.convertChild(e.block)});case o.WhileStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.WhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case o.DoStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case o.ForStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ForStatement,init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor),body:this.convertChild(e.statement)});case o.ForInStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement)});case o.ForOfStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement),await:Boolean(e.awaitModifier&&e.awaitModifier.kind===o.AwaitKeyword)});case o.FunctionDeclaration:{const t=Ed.hasModifier(o.DeclareKeyword,e),r=this.createNode(e,{type:t||!e.body?bd.AST_NODE_TYPES.TSDeclareFunction:bd.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(e.name),generator:!!e.asteriskToken,expression:!1,async:Ed.hasModifier(o.AsyncKeyword,e),params:this.convertParameters(e.parameters),body:this.convertChild(e.body)||void 0});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),t&&(r.declare=!0),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,r)}case o.VariableDeclaration:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(e.name,e.type,e),init:this.convertChild(e.initializer)});return e.exclamationToken&&(t.definite=!0),t}case o.VariableStatement:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarationList.declarations.map((e=>this.convertChild(e))),kind:Ed.getDeclarationKind(e.declarationList)});return e.decorators&&(t.decorators=e.decorators.map((e=>this.convertChild(e)))),Ed.hasModifier(o.DeclareKeyword,e)&&(t.declare=!0),this.fixExports(e,t)}case o.VariableDeclarationList:return this.createNode(e,{type:bd.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarations.map((e=>this.convertChild(e))),kind:Ed.getDeclarationKind(e)});case o.ExpressionStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(e.expression)});case o.ThisKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES.ThisExpression});case o.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:bd.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:bd.AST_NODE_TYPES.ArrayExpression,elements:e.elements.map((e=>this.convertChild(e)))});case o.ObjectLiteralExpression:return this.allowPattern?this.createNode(e,{type:bd.AST_NODE_TYPES.ObjectPattern,properties:e.properties.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:bd.AST_NODE_TYPES.ObjectExpression,properties:e.properties.map((e=>this.convertChild(e)))});case o.PropertyAssignment:return this.createNode(e,{type:bd.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.converter(e.initializer,e,this.inTypeMode,this.allowPattern),computed:Ed.isComputedProperty(e.name),method:!1,shorthand:!1,kind:"init"});case o.ShorthandPropertyAssignment:return e.objectAssignmentInitializer?this.createNode(e,{type:bd.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.createNode(e,{type:bd.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.name),right:this.convertChild(e.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(e,{type:bd.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.convertChild(e.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case o.ComputedPropertyName:return this.convertChild(e.expression);case o.PropertyDeclaration:{const t=Ed.hasModifier(o.AbstractKeyword,e),r=this.createNode(e,{type:t?bd.AST_NODE_TYPES.TSAbstractClassProperty:bd.AST_NODE_TYPES.ClassProperty,key:this.convertChild(e.name),value:this.convertChild(e.initializer),computed:Ed.isComputedProperty(e.name),static:Ed.hasModifier(o.StaticKeyword,e),readonly:Ed.hasModifier(o.ReadonlyKeyword,e)||void 0,declare:Ed.hasModifier(o.DeclareKeyword,e),override:Ed.hasModifier(o.OverrideKeyword,e)});e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e)),e.decorators&&(r.decorators=e.decorators.map((e=>this.convertChild(e))));const n=Ed.getTSNodeAccessibility(e);return n&&(r.accessibility=n),e.name.kind!==o.Identifier&&e.name.kind!==o.ComputedPropertyName||!e.questionToken||(r.optional=!0),e.exclamationToken&&(r.definite=!0),r.key.type===bd.AST_NODE_TYPES.Literal&&e.questionToken&&(r.optional=!0),r}case o.GetAccessor:case o.SetAccessor:if(e.parent.kind===o.InterfaceDeclaration||e.parent.kind===o.TypeLiteral)return this.convertMethodSignature(e);case o.MethodDeclaration:{const r=this.createNode(e,{type:e.body?bd.AST_NODE_TYPES.FunctionExpression:bd.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!e.asteriskToken,expression:!1,async:Ed.hasModifier(o.AsyncKeyword,e),body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end],params:[]});let n;if(e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(r,r.typeParameters.range)),t.kind===o.ObjectLiteralExpression)r.params=e.parameters.map((e=>this.convertChild(e))),n=this.createNode(e,{type:bd.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:r,computed:Ed.isComputedProperty(e.name),method:e.kind===o.MethodDeclaration,shorthand:!1,kind:"init"});else{r.params=this.convertParameters(e.parameters);const t=Ed.hasModifier(o.AbstractKeyword,e)?bd.AST_NODE_TYPES.TSAbstractMethodDefinition:bd.AST_NODE_TYPES.MethodDefinition;n=this.createNode(e,{type:t,key:this.convertChild(e.name),value:r,computed:Ed.isComputedProperty(e.name),static:Ed.hasModifier(o.StaticKeyword,e),kind:"method",override:Ed.hasModifier(o.OverrideKeyword,e)}),e.decorators&&(n.decorators=e.decorators.map((e=>this.convertChild(e))));const i=Ed.getTSNodeAccessibility(e);i&&(n.accessibility=i)}return e.questionToken&&(n.optional=!0),e.kind===o.GetAccessor?n.kind="get":e.kind===o.SetAccessor?n.kind="set":n.static||e.name.kind!==o.StringLiteral||"constructor"!==e.name.text||n.type===bd.AST_NODE_TYPES.Property||(n.kind="constructor"),n}case o.Constructor:{const t=Ed.getLastModifier(e),r=t&&Ed.findNextToken(t,e,this.ast)||e.getFirstToken(),n=this.createNode(e,{type:e.body?bd.AST_NODE_TYPES.FunctionExpression:bd.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(e.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end]});e.typeParameters&&(n.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(n,n.typeParameters.range)),e.type&&(n.returnType=this.convertTypeAnnotation(e.type,e));const i=this.createNode(e,{type:bd.AST_NODE_TYPES.Identifier,name:"constructor",range:[r.getStart(this.ast),r.end]}),a=Ed.hasModifier(o.StaticKeyword,e),s=this.createNode(e,{type:Ed.hasModifier(o.AbstractKeyword,e)?bd.AST_NODE_TYPES.TSAbstractMethodDefinition:bd.AST_NODE_TYPES.MethodDefinition,key:i,value:n,computed:!1,static:a,kind:a?"method":"constructor",override:!1}),c=Ed.getTSNodeAccessibility(e);return c&&(s.accessibility=c),s}case o.FunctionExpression:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(e.name),generator:!!e.asteriskToken,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:Ed.hasModifier(o.AsyncKeyword,e),expression:!1});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case o.SuperKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES.Super});case o.ArrayBindingPattern:return this.createNode(e,{type:bd.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))});case o.OmittedExpression:return null;case o.ObjectBindingPattern:return this.createNode(e,{type:bd.AST_NODE_TYPES.ObjectPattern,properties:e.elements.map((e=>this.convertPattern(e)))});case o.BindingElement:if(t.kind===o.ArrayBindingPattern){const r=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:bd.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}):e.dotDotDotToken?this.createNode(e,{type:bd.AST_NODE_TYPES.RestElement,argument:r}):r}{let t;return t=e.dotDotDotToken?this.createNode(e,{type:bd.AST_NODE_TYPES.RestElement,argument:this.convertChild(null!==(r=e.propertyName)&&void 0!==r?r:e.name)}):this.createNode(e,{type:bd.AST_NODE_TYPES.Property,key:this.convertChild(null!==(n=e.propertyName)&&void 0!==n?n:e.name),value:this.convertChild(e.name),computed:Boolean(e.propertyName&&e.propertyName.kind===o.ComputedPropertyName),method:!1,shorthand:!e.propertyName,kind:"init"}),e.initializer&&(t.value=this.createNode(e,{type:bd.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(e.name),right:this.convertChild(e.initializer),range:[e.name.getStart(this.ast),e.initializer.end]})),t}case o.ArrowFunction:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:Ed.hasModifier(o.AsyncKeyword,e),expression:e.body.kind!==o.Block});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case o.YieldExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.YieldExpression,delegate:!!e.asteriskToken,argument:this.convertChild(e.expression)});case o.AwaitExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(e.expression)});case o.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:bd.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(e,{type:bd.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1),cooked:e.text},tail:!0})],expressions:[]});case o.TemplateExpression:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(e.head)],expressions:[]});return e.templateSpans.forEach((e=>{t.expressions.push(this.convertChild(e.expression)),t.quasis.push(this.convertChild(e.literal))})),t}case o.TaggedTemplateExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,tag:this.convertChild(e.tag),quasi:this.convertChild(e.template)});case o.TemplateHead:case o.TemplateMiddle:case o.TemplateTail:{const t=e.kind===o.TemplateTail;return this.createNode(e,{type:bd.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(t?1:2)),cooked:e.text},tail:t})}case o.SpreadAssignment:case o.SpreadElement:return this.allowPattern?this.createNode(e,{type:bd.AST_NODE_TYPES.RestElement,argument:this.convertPattern(e.expression)}):this.createNode(e,{type:bd.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(e.expression)});case o.Parameter:{let r,n;return e.dotDotDotToken?r=n=this.createNode(e,{type:bd.AST_NODE_TYPES.RestElement,argument:this.convertChild(e.name)}):e.initializer?(r=this.convertChild(e.name),n=this.createNode(e,{type:bd.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}),e.modifiers&&(n.range[0]=r.range[0],n.loc=Ed.getLocFor(n.range[0],n.range[1],this.ast))):r=n=this.convertChild(e.name,t),e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(r,r.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>r.range[1]&&(r.range[1]=e.questionToken.end,r.loc.end=Ed.getLineAndCharacterFor(r.range[1],this.ast)),r.optional=!0),e.modifiers?this.createNode(e,{type:bd.AST_NODE_TYPES.TSParameterProperty,accessibility:null!==(i=Ed.getTSNodeAccessibility(e))&&void 0!==i?i:void 0,readonly:Ed.hasModifier(o.ReadonlyKeyword,e)||void 0,static:Ed.hasModifier(o.StaticKeyword,e)||void 0,export:Ed.hasModifier(o.ExportKeyword,e)||void 0,override:Ed.hasModifier(o.OverrideKeyword,e)||void 0,parameter:n}):n}case o.ClassDeclaration:case o.ClassExpression:{const t=null!==(s=e.heritageClauses)&&void 0!==s?s:[],r=e.kind===o.ClassDeclaration?bd.AST_NODE_TYPES.ClassDeclaration:bd.AST_NODE_TYPES.ClassExpression,n=t.find((e=>e.token===o.ExtendsKeyword)),i=t.find((e=>e.token===o.ImplementsKeyword)),a=this.createNode(e,{type:r,id:this.convertChild(e.name),body:this.createNode(e,{type:bd.AST_NODE_TYPES.ClassBody,body:[],range:[e.members.pos-1,e.end]}),superClass:(null==n?void 0:n.types[0])?this.convertChild(n.types[0].expression):null});if(n){if(n.types.length>1)throw Ed.createError(this.ast,n.types[1].pos,"Classes can only extend a single class.");(null===(c=n.types[0])||void 0===c?void 0:c.typeArguments)&&(a.superTypeParameters=this.convertTypeArgumentsToTypeParameters(n.types[0].typeArguments,n.types[0]))}e.typeParameters&&(a.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),i&&(a.implements=i.types.map((e=>this.convertChild(e)))),Ed.hasModifier(o.AbstractKeyword,e)&&(a.abstract=!0),Ed.hasModifier(o.DeclareKeyword,e)&&(a.declare=!0),e.decorators&&(a.decorators=e.decorators.map((e=>this.convertChild(e))));const u=e.members.filter(Ed.isESTreeClassMember);return u.length&&(a.body.body=u.map((e=>this.convertChild(e)))),this.fixExports(e,a)}case o.ModuleBlock:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case o.ImportDeclaration:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:[],importKind:"value"});if(e.importClause&&(e.importClause.isTypeOnly&&(t.importKind="type"),e.importClause.name&&t.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case o.NamespaceImport:t.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case o.NamedImports:t.specifiers=t.specifiers.concat(e.importClause.namedBindings.elements.map((e=>this.convertChild(e))))}return t}case o.NamespaceImport:return this.createNode(e,{type:bd.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case o.ImportSpecifier:return this.createNode(e,{type:bd.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(e.name),imported:this.convertChild(null!==(u=e.propertyName)&&void 0!==u?u:e.name)});case o.ImportClause:{const t=this.convertChild(e.name);return this.createNode(e,{type:bd.AST_NODE_TYPES.ImportDefaultSpecifier,local:t,range:t.range})}case o.ExportDeclaration:return(null===(l=e.exportClause)||void 0===l?void 0:l.kind)===o.NamedExports?this.createNode(e,{type:bd.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map((e=>this.convertChild(e))),exportKind:e.isTypeOnly?"type":"value",declaration:null}):this.createNode(e,{type:bd.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(e.moduleSpecifier),exportKind:e.isTypeOnly?"type":"value",exported:e.exportClause&&e.exportClause.kind===o.NamespaceExport?this.convertChild(e.exportClause.name):null});case o.ExportSpecifier:return this.createNode(e,{type:bd.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild(null!==(d=e.propertyName)&&void 0!==d?d:e.name),exported:this.convertChild(e.name)});case o.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:bd.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:bd.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:"value"});case o.PrefixUnaryExpression:case o.PostfixUnaryExpression:{const t=Ed.getTextForTokenKind(e.operator);return"++"===t||"--"===t?this.createNode(e,{type:bd.AST_NODE_TYPES.UpdateExpression,operator:t,prefix:e.kind===o.PrefixUnaryExpression,argument:this.convertChild(e.operand)}):this.createNode(e,{type:bd.AST_NODE_TYPES.UnaryExpression,operator:t,prefix:e.kind===o.PrefixUnaryExpression,argument:this.convertChild(e.operand)})}case o.DeleteExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(e.expression)});case o.VoidExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(e.expression)});case o.TypeOfExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(e.expression)});case o.TypeOperator:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeOperator,operator:Ed.getTextForTokenKind(e.operator),typeAnnotation:this.convertChild(e.type)});case o.BinaryExpression:if(Ed.isComma(e.operatorToken)){const t=this.createNode(e,{type:bd.AST_NODE_TYPES.SequenceExpression,expressions:[]}),r=this.convertChild(e.left);return r.type===bd.AST_NODE_TYPES.SequenceExpression&&e.left.kind!==o.ParenthesizedExpression?t.expressions=t.expressions.concat(r.expressions):t.expressions.push(r),t.expressions.push(this.convertChild(e.right)),t}{const t=Ed.getBinaryExpressionType(e.operatorToken);return this.allowPattern&&t===bd.AST_NODE_TYPES.AssignmentExpression?this.createNode(e,{type:bd.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.left,e),right:this.convertChild(e.right)}):this.createNode(e,{type:t,operator:Ed.getTextForTokenKind(e.operatorToken.kind),left:this.converter(e.left,e,this.inTypeMode,t===bd.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(e.right)})}case o.PropertyAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.name),n=!1,i=this.createNode(e,{type:bd.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case o.ElementAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.argumentExpression),n=!0,i=this.createNode(e,{type:bd.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case o.CallExpression:{if(e.expression.kind===o.ImportKeyword){if(1!==e.arguments.length)throw Ed.createError(this.ast,e.arguments.pos,"Dynamic import must have one specifier as an argument.");return this.createNode(e,{type:bd.AST_NODE_TYPES.ImportExpression,source:this.convertChild(e.arguments[0])})}const t=this.convertChild(e.expression),r=e.arguments.map((e=>this.convertChild(e))),n=this.createNode(e,{type:bd.AST_NODE_TYPES.CallExpression,callee:t,arguments:r,optional:void 0!==e.questionDotToken});return e.typeArguments&&(n.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),this.convertChainExpression(n,e)}case o.NewExpression:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.NewExpression,callee:this.convertChild(e.expression),arguments:e.arguments?e.arguments.map((e=>this.convertChild(e))):[]});return e.typeArguments&&(t.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),t}case o.ConditionalExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(e.condition),consequent:this.convertChild(e.whenTrue),alternate:this.convertChild(e.whenFalse)});case o.MetaProperty:return this.createNode(e,{type:bd.AST_NODE_TYPES.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:bd.AST_NODE_TYPES.Identifier,name:Ed.getTextForTokenKind(e.keywordToken)}),property:this.convertChild(e.name)});case o.Decorator:return this.createNode(e,{type:bd.AST_NODE_TYPES.Decorator,expression:this.convertChild(e.expression)});case o.StringLiteral:return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:t.kind===o.JsxAttribute?Ed.unescapeStringLiteralText(e.text):e.text,raw:e.getText()});case o.NumericLiteral:return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:Number(e.text),raw:e.getText()});case o.BigIntLiteral:{const t=Ed.getRange(e,this.ast),r=this.ast.text.slice(t[0],t[1]),n=r.slice(0,-1).replace(/_/g,""),i="undefined"!=typeof BigInt?BigInt(n):null;return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,raw:r,value:i,bigint:null===i?n:String(i),range:t})}case o.RegularExpressionLiteral:{const t=e.text.slice(1,e.text.lastIndexOf("/")),r=e.text.slice(e.text.lastIndexOf("/")+1);let n=null;try{n=new RegExp(t,r)}catch(e){n=null}return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:n,raw:e.text,regex:{pattern:t,flags:r}})}case o.TrueKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case o.FalseKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case o.NullKeyword:return!Td.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(e,{type:bd.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:null,raw:"null"});case o.EmptyStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.EmptyStatement});case o.DebuggerStatement:return this.createNode(e,{type:bd.AST_NODE_TYPES.DebuggerStatement});case o.JsxElement:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(e.openingElement),closingElement:this.convertChild(e.closingElement),children:e.children.map((e=>this.convertChild(e)))});case o.JsxFragment:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(e.openingFragment),closingFragment:this.convertChild(e.closingFragment),children:e.children.map((e=>this.convertChild(e)))});case o.JsxSelfClosingElement:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(e,{type:bd.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!0,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e))),range:Ed.getRange(e,this.ast)}),closingElement:null,children:[]});case o.JsxOpeningElement:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!1,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e)))});case o.JsxClosingElement:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case o.JsxOpeningFragment:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXOpeningFragment});case o.JsxClosingFragment:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXClosingFragment});case o.JsxExpression:{const t=e.expression?this.convertChild(e.expression):this.createNode(e,{type:bd.AST_NODE_TYPES.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:bd.AST_NODE_TYPES.JSXSpreadChild,expression:t}):this.createNode(e,{type:bd.AST_NODE_TYPES.JSXExpressionContainer,expression:t})}case o.JsxAttribute:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(e.name),value:this.convertChild(e.initializer)});case o.JsxText:{const t=e.getFullStart(),r=e.getEnd(),n=this.ast.text.slice(t,r);return this.options.useJSXTextNode?this.createNode(e,{type:bd.AST_NODE_TYPES.JSXText,value:Ed.unescapeStringLiteralText(n),raw:n,range:[t,r]}):this.createNode(e,{type:bd.AST_NODE_TYPES.Literal,value:Ed.unescapeStringLiteralText(n),raw:n,range:[t,r]})}case o.JsxSpreadAttribute:return this.createNode(e,{type:bd.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case o.QualifiedName:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case o.TypeReference:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(e.typeName),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0});case o.TypeParameter:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(e.name),constraint:e.constraint?this.convertType(e.constraint):void 0,default:e.default?this.convertType(e.default):void 0});case o.ThisType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSThisType});case o.AnyKeyword:case o.BigIntKeyword:case o.BooleanKeyword:case o.NeverKeyword:case o.NumberKeyword:case o.ObjectKeyword:case o.StringKeyword:case o.SymbolKeyword:case o.UnknownKeyword:case o.VoidKeyword:case o.UndefinedKeyword:case o.IntrinsicKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES[`TS${o[e.kind]}`]});case o.NonNullExpression:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(t,e)}case o.TypeLiteral:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeLiteral,members:e.members.map((e=>this.convertChild(e)))});case o.ArrayType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(e.elementType)});case o.IndexedAccessType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(e.objectType),indexType:this.convertType(e.indexType)});case o.ConditionalType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(e.checkType),extendsType:this.convertType(e.extendsType),trueType:this.convertType(e.trueType),falseType:this.convertType(e.falseType)});case o.TypeQuery:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(e.exprName)});case o.MappedType:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(e.typeParameter),nameType:null!==(_=this.convertType(e.nameType))&&void 0!==_?_:null});return e.readonlyToken&&(e.readonlyToken.kind===o.ReadonlyKeyword?t.readonly=!0:t.readonly=Ed.getTextForTokenKind(e.readonlyToken.kind)),e.questionToken&&(e.questionToken.kind===o.QuestionToken?t.optional=!0:t.optional=Ed.getTextForTokenKind(e.questionToken.kind)),e.type&&(t.typeAnnotation=this.convertType(e.type)),t}case o.ParenthesizedExpression:return this.convertChild(e.expression,t);case o.TypeAliasDeclaration:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(e.name),typeAnnotation:this.convertType(e.type)});return Ed.hasModifier(o.DeclareKeyword,e)&&(t.declare=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,t)}case o.MethodSignature:return this.convertMethodSignature(e);case o.PropertySignature:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSPropertySignature,optional:Ed.isOptional(e)||void 0,computed:Ed.isComputedProperty(e.name),key:this.convertChild(e.name),typeAnnotation:e.type?this.convertTypeAnnotation(e.type,e):void 0,initializer:this.convertChild(e.initializer)||void 0,readonly:Ed.hasModifier(o.ReadonlyKeyword,e)||void 0,static:Ed.hasModifier(o.StaticKeyword,e)||void 0,export:Ed.hasModifier(o.ExportKeyword,e)||void 0}),r=Ed.getTSNodeAccessibility(e);return r&&(t.accessibility=r),t}case o.IndexSignature:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSIndexSignature,parameters:e.parameters.map((e=>this.convertChild(e)))});e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e)),Ed.hasModifier(o.ReadonlyKeyword,e)&&(t.readonly=!0);const r=Ed.getTSNodeAccessibility(e);return r&&(t.accessibility=r),Ed.hasModifier(o.ExportKeyword,e)&&(t.export=!0),Ed.hasModifier(o.StaticKeyword,e)&&(t.static=!0),t}case o.ConstructorType:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(e.parameters),abstract:Ed.hasModifier(o.AbstractKeyword,e)});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case o.FunctionType:case o.ConstructSignature:case o.CallSignature:{const t=e.kind===o.ConstructSignature?bd.AST_NODE_TYPES.TSConstructSignatureDeclaration:e.kind===o.CallSignature?bd.AST_NODE_TYPES.TSCallSignatureDeclaration:bd.AST_NODE_TYPES.TSFunctionType,r=this.createNode(e,{type:t,params:this.convertParameters(e.parameters)});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),r}case o.ExpressionWithTypeArguments:{const r=this.createNode(e,{type:t&&t.kind===o.InterfaceDeclaration?bd.AST_NODE_TYPES.TSInterfaceHeritage:bd.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(e.expression)});return e.typeArguments&&(r.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),r}case o.InterfaceDeclaration:{const t=null!==(p=e.heritageClauses)&&void 0!==p?p:[],r=this.createNode(e,{type:bd.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(e,{type:bd.AST_NODE_TYPES.TSInterfaceBody,body:e.members.map((e=>this.convertChild(e))),range:[e.members.pos-1,e.end]}),id:this.convertChild(e.name)});if(e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t.length>0){const n=[],i=[];for(const r of t)if(r.token===o.ExtendsKeyword)for(const t of r.types)n.push(this.convertChild(t,e));else for(const t of r.types)i.push(this.convertChild(t,e));n.length&&(r.extends=n),i.length&&(r.implements=i)}return Ed.hasModifier(o.AbstractKeyword,e)&&(r.abstract=!0),Ed.hasModifier(o.DeclareKeyword,e)&&(r.declare=!0),this.fixExports(e,r)}case o.TypePredicate:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypePredicate,asserts:void 0!==e.assertsModifier,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e),t.typeAnnotation.loc=t.typeAnnotation.typeAnnotation.loc,t.typeAnnotation.range=t.typeAnnotation.typeAnnotation.range),t}case o.ImportType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSImportType,isTypeOf:!!e.isTypeOf,parameter:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null});case o.EnumDeclaration:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(e.name),members:e.members.map((e=>this.convertChild(e)))});return this.applyModifiersToResult(t,e.modifiers),this.fixExports(e,t)}case o.EnumMember:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(e.name)});return e.initializer&&(t.initializer=this.convertChild(e.initializer)),e.name.kind===a.SyntaxKind.ComputedPropertyName&&(t.computed=!0),t}case o.ModuleDeclaration:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(e.name)});return e.body&&(t.body=this.convertChild(e.body)),this.applyModifiersToResult(t,e.modifiers),e.flags&a.NodeFlags.GlobalAugmentation&&(t.global=!0),this.fixExports(e,t)}case o.ParenthesizedType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSParenthesizedType,typeAnnotation:this.convertType(e.type)});case o.UnionType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSUnionType,types:e.types.map((e=>this.convertType(e)))});case o.IntersectionType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSIntersectionType,types:e.types.map((e=>this.convertType(e)))});case o.AsExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertType(e.type)});case o.InferType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(e.typeParameter)});case o.LiteralType:return Td.typescriptVersionIsAtLeast["4.0"]&&e.literal.kind===o.NullKeyword?this.createNode(e.literal,{type:bd.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:bd.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(e.literal)});case o.TypeAssertionExpression:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(e.type),expression:this.convertChild(e.expression)});case o.ImportEqualsDeclaration:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(e.name),moduleReference:this.convertChild(e.moduleReference),importKind:e.isTypeOnly?"type":"value",isExport:Ed.hasModifier(o.ExportKeyword,e)});case o.ExternalModuleReference:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(e.expression)});case o.NamespaceExportDeclaration:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case o.AbstractKeyword:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSAbstractKeyword});case o.TupleType:{const t="elementTypes"in e?e.elementTypes.map((e=>this.convertType(e))):e.elements.map((e=>this.convertType(e)));return this.createNode(e,{type:bd.AST_NODE_TYPES.TSTupleType,elementTypes:t})}case o.NamedTupleMember:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(e.type,e),label:this.convertChild(e.name,e),optional:null!=e.questionToken});return e.dotDotDotToken?(t.range[0]=t.label.range[0],t.loc.start=t.label.loc.start,this.createNode(e,{type:bd.AST_NODE_TYPES.TSRestType,typeAnnotation:t})):t}case o.OptionalType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(e.type)});case o.RestType:return this.createNode(e,{type:bd.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(e.type)});case o.TemplateLiteralType:{const t=this.createNode(e,{type:bd.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach((e=>{t.types.push(this.convertChild(e.type)),t.quasis.push(this.convertChild(e.literal))})),t}default:return this.deeplyCopy(e)}}}})),kd=function(e,t){return(kd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var Ad=function(){return(Ad=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Nd(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function Pd(e){return this instanceof Pd?(this.v=e,this):new Pd(e)}var wd=Object.freeze({__proto__:null,__extends:function(e,t){function r(){this.constructor=e}kd(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return Ad},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof Pd?Promise.resolve(r.value.v).then(c,u):l(a[0][2],r)}catch(e){l(a[0][3],e)}var r}function c(e){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:Pd(e[n](t)),done:"return"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=Fd(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}}),Id=f((function(e,t){function r(e){return e.kind===fd.SyntaxKind.ModuleDeclaration}function n(e){return e.kind===fd.SyntaxKind.PropertyAccessExpression}function i(e){return e.kind===fd.SyntaxKind.QualifiedName}Object.defineProperty(t,"__esModule",{value:!0}),t.isExpressionStatement=t.isExpression=t.isExportSpecifier=t.isExportDeclaration=t.isExportAssignment=t.isEnumMember=t.isEnumDeclaration=t.isEntityNameExpression=t.isEntityName=t.isEmptyStatement=t.isElementAccessExpression=t.isDoStatement=t.isDeleteExpression=t.isDefaultClause=t.isDecorator=t.isDebuggerStatement=t.isComputedPropertyName=t.isContinueStatement=t.isConstructSignatureDeclaration=t.isConstructorTypeNode=t.isConstructorDeclaration=t.isConditionalTypeNode=t.isConditionalExpression=t.isCommaListExpression=t.isClassLikeDeclaration=t.isClassExpression=t.isClassDeclaration=t.isCatchClause=t.isCaseOrDefaultClause=t.isCaseClause=t.isCaseBlock=t.isCallSignatureDeclaration=t.isCallLikeExpression=t.isCallExpression=t.isBreakStatement=t.isBreakOrContinueStatement=t.isBooleanLiteral=t.isBlockLike=t.isBlock=t.isBindingPattern=t.isBindingElement=t.isBinaryExpression=t.isAwaitExpression=t.isAssertionExpression=t.isAsExpression=t.isArrowFunction=t.isArrayTypeNode=t.isArrayLiteralExpression=t.isArrayBindingPattern=t.isAccessorDeclaration=void 0,t.isNamespaceImport=t.isNamespaceDeclaration=t.isNamedImports=t.isNamedExports=t.isModuleDeclaration=t.isModuleBlock=t.isMethodSignature=t.isMethodDeclaration=t.isMetaProperty=t.isMappedTypeNode=t.isLiteralTypeNode=t.isLiteralExpression=t.isLabeledStatement=t.isJsxText=t.isJsxSpreadAttribute=t.isJsxSelfClosingElement=t.isJsxOpeningLikeElement=t.isJsxOpeningFragment=t.isJsxOpeningElement=t.isJsxFragment=t.isJsxExpression=t.isJsxElement=t.isJsxClosingFragment=t.isJsxClosingElement=t.isJsxAttributes=t.isJsxAttributeLike=t.isJsxAttribute=t.isJsDoc=t.isIterationStatement=t.isIntersectionTypeNode=t.isInterfaceDeclaration=t.isInferTypeNode=t.isIndexSignatureDeclaration=t.isIndexedAccessTypeNode=t.isImportSpecifier=t.isImportEqualsDeclaration=t.isImportDeclaration=t.isImportClause=t.isIfStatement=t.isIdentifier=t.isGetAccessorDeclaration=t.isFunctionTypeNode=t.isFunctionExpression=t.isFunctionDeclaration=t.isForStatement=t.isForOfStatement=t.isForInOrOfStatement=t.isForInStatement=t.isExternalModuleReference=t.isExpressionWithTypeArguments=void 0,t.isVariableStatement=t.isVariableDeclaration=t.isUnionTypeNode=t.isTypeQueryNode=t.isTypeReferenceNode=t.isTypePredicateNode=t.isTypeParameterDeclaration=t.isTypeOperatorNode=t.isTypeOfExpression=t.isTypeLiteralNode=t.isTypeAssertion=t.isTypeAliasDeclaration=t.isTupleTypeNode=t.isTryStatement=t.isThrowStatement=t.isTextualLiteral=t.isTemplateLiteral=t.isTemplateExpression=t.isTaggedTemplateExpression=t.isSyntaxList=t.isSwitchStatement=t.isStringLiteral=t.isSpreadElement=t.isSpreadAssignment=t.isSourceFile=t.isSignatureDeclaration=t.isShorthandPropertyAssignment=t.isSetAccessorDeclaration=t.isReturnStatement=t.isRegularExpressionLiteral=t.isQualifiedName=t.isPropertySignature=t.isPropertyDeclaration=t.isPropertyAssignment=t.isPropertyAccessExpression=t.isPrefixUnaryExpression=t.isPostfixUnaryExpression=t.isParenthesizedTypeNode=t.isParenthesizedExpression=t.isParameterDeclaration=t.isOmittedExpression=t.isObjectLiteralExpression=t.isObjectBindingPattern=t.isNumericOrStringLikeLiteral=t.isNumericLiteral=t.isNullLiteral=t.isNoSubstitutionTemplateLiteral=t.isNonNullExpression=t.isNewExpression=t.isNamespaceExportDeclaration=void 0,t.isWithStatement=t.isWhileStatement=t.isVoidExpression=t.isVariableDeclarationList=void 0,t.isAccessorDeclaration=function(e){return e.kind===fd.SyntaxKind.GetAccessor||e.kind===fd.SyntaxKind.SetAccessor},t.isArrayBindingPattern=function(e){return e.kind===fd.SyntaxKind.ArrayBindingPattern},t.isArrayLiteralExpression=function(e){return e.kind===fd.SyntaxKind.ArrayLiteralExpression},t.isArrayTypeNode=function(e){return e.kind===fd.SyntaxKind.ArrayType},t.isArrowFunction=function(e){return e.kind===fd.SyntaxKind.ArrowFunction},t.isAsExpression=function(e){return e.kind===fd.SyntaxKind.AsExpression},t.isAssertionExpression=function(e){return e.kind===fd.SyntaxKind.AsExpression||e.kind===fd.SyntaxKind.TypeAssertionExpression},t.isAwaitExpression=function(e){return e.kind===fd.SyntaxKind.AwaitExpression},t.isBinaryExpression=function(e){return e.kind===fd.SyntaxKind.BinaryExpression},t.isBindingElement=function(e){return e.kind===fd.SyntaxKind.BindingElement},t.isBindingPattern=function(e){return e.kind===fd.SyntaxKind.ArrayBindingPattern||e.kind===fd.SyntaxKind.ObjectBindingPattern},t.isBlock=function(e){return e.kind===fd.SyntaxKind.Block},t.isBlockLike=function(e){return void 0!==e.statements},t.isBooleanLiteral=function(e){return e.kind===fd.SyntaxKind.TrueKeyword||e.kind===fd.SyntaxKind.FalseKeyword},t.isBreakOrContinueStatement=function(e){return e.kind===fd.SyntaxKind.BreakStatement||e.kind===fd.SyntaxKind.ContinueStatement},t.isBreakStatement=function(e){return e.kind===fd.SyntaxKind.BreakStatement},t.isCallExpression=function(e){return e.kind===fd.SyntaxKind.CallExpression},t.isCallLikeExpression=function(e){switch(e.kind){case fd.SyntaxKind.CallExpression:case fd.SyntaxKind.Decorator:case fd.SyntaxKind.JsxOpeningElement:case fd.SyntaxKind.JsxSelfClosingElement:case fd.SyntaxKind.NewExpression:case fd.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},t.isCallSignatureDeclaration=function(e){return e.kind===fd.SyntaxKind.CallSignature},t.isCaseBlock=function(e){return e.kind===fd.SyntaxKind.CaseBlock},t.isCaseClause=function(e){return e.kind===fd.SyntaxKind.CaseClause},t.isCaseOrDefaultClause=function(e){return e.kind===fd.SyntaxKind.CaseClause||e.kind===fd.SyntaxKind.DefaultClause},t.isCatchClause=function(e){return e.kind===fd.SyntaxKind.CatchClause},t.isClassDeclaration=function(e){return e.kind===fd.SyntaxKind.ClassDeclaration},t.isClassExpression=function(e){return e.kind===fd.SyntaxKind.ClassExpression},t.isClassLikeDeclaration=function(e){return e.kind===fd.SyntaxKind.ClassDeclaration||e.kind===fd.SyntaxKind.ClassExpression},t.isCommaListExpression=function(e){return e.kind===fd.SyntaxKind.CommaListExpression},t.isConditionalExpression=function(e){return e.kind===fd.SyntaxKind.ConditionalExpression},t.isConditionalTypeNode=function(e){return e.kind===fd.SyntaxKind.ConditionalType},t.isConstructorDeclaration=function(e){return e.kind===fd.SyntaxKind.Constructor},t.isConstructorTypeNode=function(e){return e.kind===fd.SyntaxKind.ConstructorType},t.isConstructSignatureDeclaration=function(e){return e.kind===fd.SyntaxKind.ConstructSignature},t.isContinueStatement=function(e){return e.kind===fd.SyntaxKind.ContinueStatement},t.isComputedPropertyName=function(e){return e.kind===fd.SyntaxKind.ComputedPropertyName},t.isDebuggerStatement=function(e){return e.kind===fd.SyntaxKind.DebuggerStatement},t.isDecorator=function(e){return e.kind===fd.SyntaxKind.Decorator},t.isDefaultClause=function(e){return e.kind===fd.SyntaxKind.DefaultClause},t.isDeleteExpression=function(e){return e.kind===fd.SyntaxKind.DeleteExpression},t.isDoStatement=function(e){return e.kind===fd.SyntaxKind.DoStatement},t.isElementAccessExpression=function(e){return e.kind===fd.SyntaxKind.ElementAccessExpression},t.isEmptyStatement=function(e){return e.kind===fd.SyntaxKind.EmptyStatement},t.isEntityName=function(e){return e.kind===fd.SyntaxKind.Identifier||i(e)},t.isEntityNameExpression=function e(t){return t.kind===fd.SyntaxKind.Identifier||n(t)&&e(t.expression)},t.isEnumDeclaration=function(e){return e.kind===fd.SyntaxKind.EnumDeclaration},t.isEnumMember=function(e){return e.kind===fd.SyntaxKind.EnumMember},t.isExportAssignment=function(e){return e.kind===fd.SyntaxKind.ExportAssignment},t.isExportDeclaration=function(e){return e.kind===fd.SyntaxKind.ExportDeclaration},t.isExportSpecifier=function(e){return e.kind===fd.SyntaxKind.ExportSpecifier},t.isExpression=function(e){switch(e.kind){case fd.SyntaxKind.ArrayLiteralExpression:case fd.SyntaxKind.ArrowFunction:case fd.SyntaxKind.AsExpression:case fd.SyntaxKind.AwaitExpression:case fd.SyntaxKind.BinaryExpression:case fd.SyntaxKind.CallExpression:case fd.SyntaxKind.ClassExpression:case fd.SyntaxKind.CommaListExpression:case fd.SyntaxKind.ConditionalExpression:case fd.SyntaxKind.DeleteExpression:case fd.SyntaxKind.ElementAccessExpression:case fd.SyntaxKind.FalseKeyword:case fd.SyntaxKind.FunctionExpression:case fd.SyntaxKind.Identifier:case fd.SyntaxKind.JsxElement:case fd.SyntaxKind.JsxFragment:case fd.SyntaxKind.JsxExpression:case fd.SyntaxKind.JsxOpeningElement:case fd.SyntaxKind.JsxOpeningFragment:case fd.SyntaxKind.JsxSelfClosingElement:case fd.SyntaxKind.MetaProperty:case fd.SyntaxKind.NewExpression:case fd.SyntaxKind.NonNullExpression:case fd.SyntaxKind.NoSubstitutionTemplateLiteral:case fd.SyntaxKind.NullKeyword:case fd.SyntaxKind.NumericLiteral:case fd.SyntaxKind.ObjectLiteralExpression:case fd.SyntaxKind.OmittedExpression:case fd.SyntaxKind.ParenthesizedExpression:case fd.SyntaxKind.PostfixUnaryExpression:case fd.SyntaxKind.PrefixUnaryExpression:case fd.SyntaxKind.PropertyAccessExpression:case fd.SyntaxKind.RegularExpressionLiteral:case fd.SyntaxKind.SpreadElement:case fd.SyntaxKind.StringLiteral:case fd.SyntaxKind.SuperKeyword:case fd.SyntaxKind.TaggedTemplateExpression:case fd.SyntaxKind.TemplateExpression:case fd.SyntaxKind.ThisKeyword:case fd.SyntaxKind.TrueKeyword:case fd.SyntaxKind.TypeAssertionExpression:case fd.SyntaxKind.TypeOfExpression:case fd.SyntaxKind.VoidExpression:case fd.SyntaxKind.YieldExpression:return!0;default:return!1}},t.isExpressionStatement=function(e){return e.kind===fd.SyntaxKind.ExpressionStatement},t.isExpressionWithTypeArguments=function(e){return e.kind===fd.SyntaxKind.ExpressionWithTypeArguments},t.isExternalModuleReference=function(e){return e.kind===fd.SyntaxKind.ExternalModuleReference},t.isForInStatement=function(e){return e.kind===fd.SyntaxKind.ForInStatement},t.isForInOrOfStatement=function(e){return e.kind===fd.SyntaxKind.ForOfStatement||e.kind===fd.SyntaxKind.ForInStatement},t.isForOfStatement=function(e){return e.kind===fd.SyntaxKind.ForOfStatement},t.isForStatement=function(e){return e.kind===fd.SyntaxKind.ForStatement},t.isFunctionDeclaration=function(e){return e.kind===fd.SyntaxKind.FunctionDeclaration},t.isFunctionExpression=function(e){return e.kind===fd.SyntaxKind.FunctionExpression},t.isFunctionTypeNode=function(e){return e.kind===fd.SyntaxKind.FunctionType},t.isGetAccessorDeclaration=function(e){return e.kind===fd.SyntaxKind.GetAccessor},t.isIdentifier=function(e){return e.kind===fd.SyntaxKind.Identifier},t.isIfStatement=function(e){return e.kind===fd.SyntaxKind.IfStatement},t.isImportClause=function(e){return e.kind===fd.SyntaxKind.ImportClause},t.isImportDeclaration=function(e){return e.kind===fd.SyntaxKind.ImportDeclaration},t.isImportEqualsDeclaration=function(e){return e.kind===fd.SyntaxKind.ImportEqualsDeclaration},t.isImportSpecifier=function(e){return e.kind===fd.SyntaxKind.ImportSpecifier},t.isIndexedAccessTypeNode=function(e){return e.kind===fd.SyntaxKind.IndexedAccessType},t.isIndexSignatureDeclaration=function(e){return e.kind===fd.SyntaxKind.IndexSignature},t.isInferTypeNode=function(e){return e.kind===fd.SyntaxKind.InferType},t.isInterfaceDeclaration=function(e){return e.kind===fd.SyntaxKind.InterfaceDeclaration},t.isIntersectionTypeNode=function(e){return e.kind===fd.SyntaxKind.IntersectionType},t.isIterationStatement=function(e){switch(e.kind){case fd.SyntaxKind.ForStatement:case fd.SyntaxKind.ForOfStatement:case fd.SyntaxKind.ForInStatement:case fd.SyntaxKind.WhileStatement:case fd.SyntaxKind.DoStatement:return!0;default:return!1}},t.isJsDoc=function(e){return e.kind===fd.SyntaxKind.JSDocComment},t.isJsxAttribute=function(e){return e.kind===fd.SyntaxKind.JsxAttribute},t.isJsxAttributeLike=function(e){return e.kind===fd.SyntaxKind.JsxAttribute||e.kind===fd.SyntaxKind.JsxSpreadAttribute},t.isJsxAttributes=function(e){return e.kind===fd.SyntaxKind.JsxAttributes},t.isJsxClosingElement=function(e){return e.kind===fd.SyntaxKind.JsxClosingElement},t.isJsxClosingFragment=function(e){return e.kind===fd.SyntaxKind.JsxClosingFragment},t.isJsxElement=function(e){return e.kind===fd.SyntaxKind.JsxElement},t.isJsxExpression=function(e){return e.kind===fd.SyntaxKind.JsxExpression},t.isJsxFragment=function(e){return e.kind===fd.SyntaxKind.JsxFragment},t.isJsxOpeningElement=function(e){return e.kind===fd.SyntaxKind.JsxOpeningElement},t.isJsxOpeningFragment=function(e){return e.kind===fd.SyntaxKind.JsxOpeningFragment},t.isJsxOpeningLikeElement=function(e){return e.kind===fd.SyntaxKind.JsxOpeningElement||e.kind===fd.SyntaxKind.JsxSelfClosingElement},t.isJsxSelfClosingElement=function(e){return e.kind===fd.SyntaxKind.JsxSelfClosingElement},t.isJsxSpreadAttribute=function(e){return e.kind===fd.SyntaxKind.JsxSpreadAttribute},t.isJsxText=function(e){return e.kind===fd.SyntaxKind.JsxText},t.isLabeledStatement=function(e){return e.kind===fd.SyntaxKind.LabeledStatement},t.isLiteralExpression=function(e){return e.kind>=fd.SyntaxKind.FirstLiteralToken&&e.kind<=fd.SyntaxKind.LastLiteralToken},t.isLiteralTypeNode=function(e){return e.kind===fd.SyntaxKind.LiteralType},t.isMappedTypeNode=function(e){return e.kind===fd.SyntaxKind.MappedType},t.isMetaProperty=function(e){return e.kind===fd.SyntaxKind.MetaProperty},t.isMethodDeclaration=function(e){return e.kind===fd.SyntaxKind.MethodDeclaration},t.isMethodSignature=function(e){return e.kind===fd.SyntaxKind.MethodSignature},t.isModuleBlock=function(e){return e.kind===fd.SyntaxKind.ModuleBlock},t.isModuleDeclaration=r,t.isNamedExports=function(e){return e.kind===fd.SyntaxKind.NamedExports},t.isNamedImports=function(e){return e.kind===fd.SyntaxKind.NamedImports},t.isNamespaceDeclaration=function e(t){return r(t)&&t.name.kind===fd.SyntaxKind.Identifier&&void 0!==t.body&&(t.body.kind===fd.SyntaxKind.ModuleBlock||e(t.body))},t.isNamespaceImport=function(e){return e.kind===fd.SyntaxKind.NamespaceImport},t.isNamespaceExportDeclaration=function(e){return e.kind===fd.SyntaxKind.NamespaceExportDeclaration},t.isNewExpression=function(e){return e.kind===fd.SyntaxKind.NewExpression},t.isNonNullExpression=function(e){return e.kind===fd.SyntaxKind.NonNullExpression},t.isNoSubstitutionTemplateLiteral=function(e){return e.kind===fd.SyntaxKind.NoSubstitutionTemplateLiteral},t.isNullLiteral=function(e){return e.kind===fd.SyntaxKind.NullKeyword},t.isNumericLiteral=function(e){return e.kind===fd.SyntaxKind.NumericLiteral},t.isNumericOrStringLikeLiteral=function(e){switch(e.kind){case fd.SyntaxKind.StringLiteral:case fd.SyntaxKind.NumericLiteral:case fd.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},t.isObjectBindingPattern=function(e){return e.kind===fd.SyntaxKind.ObjectBindingPattern},t.isObjectLiteralExpression=function(e){return e.kind===fd.SyntaxKind.ObjectLiteralExpression},t.isOmittedExpression=function(e){return e.kind===fd.SyntaxKind.OmittedExpression},t.isParameterDeclaration=function(e){return e.kind===fd.SyntaxKind.Parameter},t.isParenthesizedExpression=function(e){return e.kind===fd.SyntaxKind.ParenthesizedExpression},t.isParenthesizedTypeNode=function(e){return e.kind===fd.SyntaxKind.ParenthesizedType},t.isPostfixUnaryExpression=function(e){return e.kind===fd.SyntaxKind.PostfixUnaryExpression},t.isPrefixUnaryExpression=function(e){return e.kind===fd.SyntaxKind.PrefixUnaryExpression},t.isPropertyAccessExpression=n,t.isPropertyAssignment=function(e){return e.kind===fd.SyntaxKind.PropertyAssignment},t.isPropertyDeclaration=function(e){return e.kind===fd.SyntaxKind.PropertyDeclaration},t.isPropertySignature=function(e){return e.kind===fd.SyntaxKind.PropertySignature},t.isQualifiedName=i,t.isRegularExpressionLiteral=function(e){return e.kind===fd.SyntaxKind.RegularExpressionLiteral},t.isReturnStatement=function(e){return e.kind===fd.SyntaxKind.ReturnStatement},t.isSetAccessorDeclaration=function(e){return e.kind===fd.SyntaxKind.SetAccessor},t.isShorthandPropertyAssignment=function(e){return e.kind===fd.SyntaxKind.ShorthandPropertyAssignment},t.isSignatureDeclaration=function(e){return void 0!==e.parameters},t.isSourceFile=function(e){return e.kind===fd.SyntaxKind.SourceFile},t.isSpreadAssignment=function(e){return e.kind===fd.SyntaxKind.SpreadAssignment},t.isSpreadElement=function(e){return e.kind===fd.SyntaxKind.SpreadElement},t.isStringLiteral=function(e){return e.kind===fd.SyntaxKind.StringLiteral},t.isSwitchStatement=function(e){return e.kind===fd.SyntaxKind.SwitchStatement},t.isSyntaxList=function(e){return e.kind===fd.SyntaxKind.SyntaxList},t.isTaggedTemplateExpression=function(e){return e.kind===fd.SyntaxKind.TaggedTemplateExpression},t.isTemplateExpression=function(e){return e.kind===fd.SyntaxKind.TemplateExpression},t.isTemplateLiteral=function(e){return e.kind===fd.SyntaxKind.TemplateExpression||e.kind===fd.SyntaxKind.NoSubstitutionTemplateLiteral},t.isTextualLiteral=function(e){return e.kind===fd.SyntaxKind.StringLiteral||e.kind===fd.SyntaxKind.NoSubstitutionTemplateLiteral},t.isThrowStatement=function(e){return e.kind===fd.SyntaxKind.ThrowStatement},t.isTryStatement=function(e){return e.kind===fd.SyntaxKind.TryStatement},t.isTupleTypeNode=function(e){return e.kind===fd.SyntaxKind.TupleType},t.isTypeAliasDeclaration=function(e){return e.kind===fd.SyntaxKind.TypeAliasDeclaration},t.isTypeAssertion=function(e){return e.kind===fd.SyntaxKind.TypeAssertionExpression},t.isTypeLiteralNode=function(e){return e.kind===fd.SyntaxKind.TypeLiteral},t.isTypeOfExpression=function(e){return e.kind===fd.SyntaxKind.TypeOfExpression},t.isTypeOperatorNode=function(e){return e.kind===fd.SyntaxKind.TypeOperator},t.isTypeParameterDeclaration=function(e){return e.kind===fd.SyntaxKind.TypeParameter},t.isTypePredicateNode=function(e){return e.kind===fd.SyntaxKind.TypePredicate},t.isTypeReferenceNode=function(e){return e.kind===fd.SyntaxKind.TypeReference},t.isTypeQueryNode=function(e){return e.kind===fd.SyntaxKind.TypeQuery},t.isUnionTypeNode=function(e){return e.kind===fd.SyntaxKind.UnionType},t.isVariableDeclaration=function(e){return e.kind===fd.SyntaxKind.VariableDeclaration},t.isVariableStatement=function(e){return e.kind===fd.SyntaxKind.VariableStatement},t.isVariableDeclarationList=function(e){return e.kind===fd.SyntaxKind.VariableDeclarationList},t.isVoidExpression=function(e){return e.kind===fd.SyntaxKind.VoidExpression},t.isWhileStatement=function(e){return e.kind===fd.SyntaxKind.WhileStatement},t.isWithStatement=function(e){return e.kind===fd.SyntaxKind.WithStatement}})),Od=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isImportTypeNode=void 0,wd.__exportStar(Id,t),t.isImportTypeNode=function(e){return e.kind===fd.SyntaxKind.ImportType}})),Md=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isSyntheticExpression=t.isRestTypeNode=t.isOptionalTypeNode=void 0,wd.__exportStar(Od,t),t.isOptionalTypeNode=function(e){return e.kind===fd.SyntaxKind.OptionalType},t.isRestTypeNode=function(e){return e.kind===fd.SyntaxKind.RestType},t.isSyntheticExpression=function(e){return e.kind===fd.SyntaxKind.SyntheticExpression}})),Ld=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isBigIntLiteral=void 0,wd.__exportStar(Md,t),t.isBigIntLiteral=function(e){return e.kind===fd.SyntaxKind.BigIntLiteral}})),Rd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),wd.__exportStar(Ld,t)})),Bd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isUniqueESSymbolType=t.isUnionType=t.isUnionOrIntersectionType=t.isTypeVariable=t.isTypeReference=t.isTypeParameter=t.isSubstitutionType=t.isObjectType=t.isLiteralType=t.isIntersectionType=t.isInterfaceType=t.isInstantiableType=t.isIndexedAccessype=t.isIndexedAccessType=t.isGenericType=t.isEnumType=t.isConditionalType=void 0,t.isConditionalType=function(e){return 0!=(e.flags&fd.TypeFlags.Conditional)},t.isEnumType=function(e){return 0!=(e.flags&fd.TypeFlags.Enum)},t.isGenericType=function(e){return 0!=(e.flags&fd.TypeFlags.Object)&&0!=(e.objectFlags&fd.ObjectFlags.ClassOrInterface)&&0!=(e.objectFlags&fd.ObjectFlags.Reference)},t.isIndexedAccessType=function(e){return 0!=(e.flags&fd.TypeFlags.IndexedAccess)},t.isIndexedAccessype=function(e){return 0!=(e.flags&fd.TypeFlags.Index)},t.isInstantiableType=function(e){return 0!=(e.flags&fd.TypeFlags.Instantiable)},t.isInterfaceType=function(e){return 0!=(e.flags&fd.TypeFlags.Object)&&0!=(e.objectFlags&fd.ObjectFlags.ClassOrInterface)},t.isIntersectionType=function(e){return 0!=(e.flags&fd.TypeFlags.Intersection)},t.isLiteralType=function(e){return 0!=(e.flags&(fd.TypeFlags.StringOrNumberLiteral|fd.TypeFlags.BigIntLiteral))},t.isObjectType=function(e){return 0!=(e.flags&fd.TypeFlags.Object)},t.isSubstitutionType=function(e){return 0!=(e.flags&fd.TypeFlags.Substitution)},t.isTypeParameter=function(e){return 0!=(e.flags&fd.TypeFlags.TypeParameter)},t.isTypeReference=function(e){return 0!=(e.flags&fd.TypeFlags.Object)&&0!=(e.objectFlags&fd.ObjectFlags.Reference)},t.isTypeVariable=function(e){return 0!=(e.flags&fd.TypeFlags.TypeVariable)},t.isUnionOrIntersectionType=function(e){return 0!=(e.flags&fd.TypeFlags.UnionOrIntersection)},t.isUnionType=function(e){return 0!=(e.flags&fd.TypeFlags.Union)},t.isUniqueESSymbolType=function(e){return 0!=(e.flags&fd.TypeFlags.UniqueESSymbol)}})),jd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),wd.__exportStar(Bd,t)})),Jd=f((function(e,t){function r(e){return 0!==(e.flags&fd.TypeFlags.Object&&e.objectFlags&fd.ObjectFlags.Tuple)}Object.defineProperty(t,"__esModule",{value:!0}),t.isTupleTypeReference=t.isTupleType=void 0,wd.__exportStar(jd,t),t.isTupleType=r,t.isTupleTypeReference=function(e){return jd.isTypeReference(e)&&r(e.target)}})),Kd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),wd.__exportStar(Jd,t)})),zd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),wd.__exportStar(Ld,t),wd.__exportStar(Kd,t)})),Ud=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),wd.__exportStar(Kd,t)})),Vd=f((function(e,t){function r(e,t){if(!n(t,fd.TypeFlags.Undefined))return t;const r=n(t,fd.TypeFlags.Null);return t=e.getNonNullableType(t),r?e.getNullableType(t,fd.TypeFlags.Null):t}function n(e,t){for(const r of o(e))if(qd.isTypeFlagSet(r,t))return!0;return!1}function i(e,t){return qd.isTypeFlagSet(t,fd.TypeFlags.Undefined)&&e.getNullableType(t.getNonNullableType(),fd.TypeFlags.Undefined)!==t}function a(e,t,r){let n;return r|=fd.TypeFlags.Any,function t(i){if(Ud.isTypeParameter(i)&&void 0!==i.symbol&&void 0!==i.symbol.declarations){if(void 0===n)n=new Set([i]);else{if(n.has(i))return!1;n.add(i)}const r=i.symbol.declarations[0];return void 0===r.constraint||t(e.getTypeFromTypeNode(r.constraint))}return Ud.isUnionType(i)?i.types.every(t):Ud.isIntersectionType(i)?i.types.some(t):qd.isTypeFlagSet(i,r)}(t)}function o(e){return Ud.isUnionType(e)?e.types:[e]}function s(e,t,r){return t(e)?e.types.some(r):r(e)}function c(e,t,r){let n=e.getApparentType(e.getTypeOfSymbolAtLocation(t,r));if(t.valueDeclaration.dotDotDotToken&&(n=n.getNumberIndexType(),void 0===n))return!1;for(const e of o(n))if(0!==e.getCallSignatures().length)return!0;return!1}function u(e,t){return qd.isTypeFlagSet(e,fd.TypeFlags.BooleanLiteral)&&e.intrinsicName===(t?"true":"false")}function l(e,t){return t.startsWith("__")?e.getProperties().find((e=>e.escapedName===t)):e.getProperty(t)}function d(e,t,r){const n=t&&e.getTypeOfSymbolAtLocation(t,t.valueDeclaration).getProperty(r),i=n&&e.getTypeOfSymbolAtLocation(n,n.valueDeclaration);return i&&Ud.isUniqueESSymbolType(i)?i.escapedName:"__@"+r}function _(e,t,r){let n=!1,i=!1;for(const a of o(e))if(void 0===l(a,t)){const e=(qd.isNumericPropertyName(t)?r.getIndexInfoOfType(a,fd.IndexKind.Number):void 0)||r.getIndexInfoOfType(a,fd.IndexKind.String);if(void 0!==e&&e.isReadonly){if(n)return!0;i=!0}}else{if(i||p(a,t,r))return!0;n=!0}return!1}function p(e,t,r){return s(e,Ud.isIntersectionType,(e=>{const n=l(e,t);if(void 0===n)return!1;if(n.flags&fd.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(t)&&Ud.isTupleTypeReference(e))return e.target.readonly;switch(function(e,t,r){if(!Ud.isObjectType(e)||!qd.isObjectFlagSet(e,fd.ObjectFlags.Mapped))return;const n=e.symbol.declarations[0];return void 0===n.readonlyToken||/^__@[^@]+$/.test(t)?_(e.modifiersType,t,r):n.readonlyToken.kind!==fd.SyntaxKind.MinusToken}(e,t,r)){case!0:return!0;case!1:return!1}}return qd.isSymbolFlagSet(n,fd.SymbolFlags.ValueModule)||f(n,r)}))}function f(e,t){return(e.flags&fd.SymbolFlags.Accessor)===fd.SymbolFlags.GetAccessor||void 0!==e.declarations&&e.declarations.some((e=>qd.isModifierFlagSet(e,fd.ModifierFlags.Readonly)||Rd.isVariableDeclaration(e)&&qd.isNodeFlagSet(e.parent,fd.NodeFlags.Const)||Rd.isCallExpression(e)&&qd.isReadonlyAssignmentDeclaration(e,t)||Rd.isEnumMember(e)||(Rd.isPropertyAssignment(e)||Rd.isShorthandPropertyAssignment(e))&&qd.isInConstContext(e.parent)))}function g(e){return qd.isNodeFlagSet(e.parent,fd.NodeFlags.GlobalAugmentation)||Rd.isSourceFile(e.parent)&&!fd.isExternalModule(e.parent)}function m(e,t){var r;return t.getSymbolAtLocation(null!==(r=e.name)&&void 0!==r?r:qd.getChildOfKind(e,fd.SyntaxKind.ClassKeyword))}Object.defineProperty(t,"__esModule",{value:!0}),t.getBaseClassMemberOfClassElement=t.getIteratorYieldResultFromIteratorResult=t.getInstanceTypeOfClassLikeDeclaration=t.getConstructorTypeOfClassLikeDeclaration=t.getSymbolOfClassLikeDeclaration=t.getPropertyNameFromType=t.symbolHasReadonlyDeclaration=t.isPropertyReadonlyInType=t.getWellKnownSymbolPropertyOfType=t.getPropertyOfType=t.isBooleanLiteralType=t.isFalsyType=t.isThenableType=t.someTypePart=t.intersectionTypeParts=t.unionTypeParts=t.getCallSignaturesOfType=t.isTypeAssignableToString=t.isTypeAssignableToNumber=t.isOptionalChainingUndefinedMarkerType=t.removeOptionalChainingUndefinedMarkerType=t.removeOptionalityFromType=t.isEmptyObjectType=void 0,t.isEmptyObjectType=function e(t){if(Ud.isObjectType(t)&&t.objectFlags&fd.ObjectFlags.Anonymous&&0===t.getProperties().length&&0===t.getCallSignatures().length&&0===t.getConstructSignatures().length&&void 0===t.getStringIndexType()&&void 0===t.getNumberIndexType()){const r=t.getBaseTypes();return void 0===r||r.every(e)}return!1},t.removeOptionalityFromType=r,t.removeOptionalChainingUndefinedMarkerType=function(e,t){if(!Ud.isUnionType(t))return i(e,t)?t.getNonNullableType():t;let r=0,n=!1;for(const a of t.types)i(e,a)?n=!0:r|=a.flags;return n?e.getNullableType(t.getNonNullableType(),r):t},t.isOptionalChainingUndefinedMarkerType=i,t.isTypeAssignableToNumber=function(e,t){return a(e,t,fd.TypeFlags.NumberLike)},t.isTypeAssignableToString=function(e,t){return a(e,t,fd.TypeFlags.StringLike)},t.getCallSignaturesOfType=function e(t){if(Ud.isUnionType(t)){const r=[];for(const n of t.types)r.push(...e(n));return r}if(Ud.isIntersectionType(t)){let r;for(const n of t.types){const t=e(n);if(0!==t.length){if(void 0!==r)return[];r=t}}return void 0===r?[]:r}return t.getCallSignatures()},t.unionTypeParts=o,t.intersectionTypeParts=function(e){return Ud.isIntersectionType(e)?e.types:[e]},t.someTypePart=s,t.isThenableType=function(e,t,r=e.getTypeAtLocation(t)){for(const n of o(e.getApparentType(r))){const r=n.getProperty("then");if(void 0===r)continue;const i=e.getTypeOfSymbolAtLocation(r,t);for(const r of o(i))for(const n of r.getCallSignatures())if(0!==n.parameters.length&&c(e,n.parameters[0],t))return!0}return!1},t.isFalsyType=function(e){return!!(e.flags&(fd.TypeFlags.Undefined|fd.TypeFlags.Null|fd.TypeFlags.Void))||(Ud.isLiteralType(e)?!e.value:u(e,!1))},t.isBooleanLiteralType=u,t.getPropertyOfType=l,t.getWellKnownSymbolPropertyOfType=function(e,t,r){const n="__@"+t;for(const i of e.getProperties()){if(!i.name.startsWith(n))continue;const e=r.getApparentType(r.getTypeAtLocation(i.valueDeclaration.name.expression)).symbol;if(i.escapedName===d(r,e,t))return i}},t.isPropertyReadonlyInType=_,t.symbolHasReadonlyDeclaration=f,t.getPropertyNameFromType=function(e){if(e.flags&(fd.TypeFlags.StringLiteral|fd.TypeFlags.NumberLiteral)){const t=String(e.value);return{displayName:t,symbolName:fd.escapeLeadingUnderscores(t)}}if(Ud.isUniqueESSymbolType(e))return{displayName:`[${e.symbol?`${t=e.symbol,qd.isSymbolFlagSet(t,fd.SymbolFlags.Property)&&void 0!==t.valueDeclaration&&Rd.isInterfaceDeclaration(t.valueDeclaration.parent)&&"SymbolConstructor"===t.valueDeclaration.parent.name.text&&g(t.valueDeclaration.parent)?"Symbol.":""}${e.symbol.name}`:e.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:e.escapedName};var t},t.getSymbolOfClassLikeDeclaration=m,t.getConstructorTypeOfClassLikeDeclaration=function(e,t){return e.kind===fd.SyntaxKind.ClassExpression?t.getTypeAtLocation(e):t.getTypeOfSymbolAtLocation(m(e,t),e)},t.getInstanceTypeOfClassLikeDeclaration=function(e,t){return e.kind===fd.SyntaxKind.ClassDeclaration?t.getTypeAtLocation(e):t.getDeclaredTypeOfSymbol(m(e,t))},t.getIteratorYieldResultFromIteratorResult=function(e,t,n){return Ud.isUnionType(e)&&e.types.find((e=>{const i=e.getProperty("done");return void 0!==i&&u(r(n,n.getTypeOfSymbolAtLocation(i,t)),!1)}))||e},t.getBaseClassMemberOfClassElement=function(e,t){if(!Rd.isClassLikeDeclaration(e.parent))return;const r=qd.getBaseOfClassLikeExpression(e.parent);if(void 0===r)return;const n=qd.getSingleLateBoundPropertyNameOfPropertyName(e.name,t);if(void 0===n)return;return l(t.getTypeAtLocation(qd.hasModifier(e.modifiers,fd.SyntaxKind.StaticKeyword)?r.expression:r),n.symbolName)}})),qd=f((function(e,t){function r(e){return e>=fd.SyntaxKind.FirstToken&&e<=fd.SyntaxKind.LastToken}function n(e){return e>=fd.SyntaxKind.FirstNode}function i(e){return e>=fd.SyntaxKind.FirstAssignment&&e<=fd.SyntaxKind.LastAssignment}function a(e,...t){if(void 0===e)return!1;for(const r of e)if(t.includes(r.kind))return!0;return!1}function o(e,t){return 0!=(e.flags&t)}function s(e,t){return 0!=(fd.getCombinedModifierFlags(e)&t)}function c(e,t,n,i){if(!(t=e.end))return r(e.kind)?e:u(e,t,null!=n?n:e.getSourceFile(),!0===i)}function u(e,t,n,i){if(!i&&r((e=_(e,t)).kind))return e;e:for(;;){for(const a of e.getChildren(n))if(a.end>t&&(i||a.kind!==fd.SyntaxKind.JSDocComment)){if(r(a.kind))return a;e=a;continue e}return}}function l(e,t,r=e){const n=c(r,t,e);if(void 0===n||n.kind===fd.SyntaxKind.JsxText||t>=n.end-(fd.tokenToString(n.kind)||"").length)return;const i=0===n.pos?(fd.getShebang(e.text)||"").length:n.pos;return 0!==i&&fd.forEachTrailingCommentRange(e.text,i,d,t)||fd.forEachLeadingCommentRange(e.text,i,d,t)}function d(e,t,r,n,i){return i>=e&&it||e.end<=t)){for(;n(e.kind);){const r=fd.forEachChild(e,(e=>e.pos<=t&&e.end>t?e:void 0));if(void 0===r)break;e=r}return e}}function p(e){if(e.kind===fd.SyntaxKind.ComputedPropertyName){const t=H(e.expression);if(Rd.isPrefixUnaryExpression(t)){let e=!1;switch(t.operator){case fd.SyntaxKind.MinusToken:e=!0;case fd.SyntaxKind.PlusToken:return Rd.isNumericLiteral(t.operand)?`${e?"-":""}${t.operand.text}`:zd.isBigIntLiteral(t.operand)?`${e?"-":""}${t.operand.text.slice(0,-1)}`:void 0;default:return}}return zd.isBigIntLiteral(t)?t.text.slice(0,-1):Rd.isNumericOrStringLikeLiteral(t)?t.text:void 0}return e.kind===fd.SyntaxKind.PrivateIdentifier?void 0:e.text}function f(e,t){for(const r of e.elements){if(r.kind!==fd.SyntaxKind.BindingElement)continue;let e;if(e=r.name.kind===fd.SyntaxKind.Identifier?t(r):f(r.name,t),e)return e}}var g,m,y;function v(e){return 0!=(e.flags&fd.NodeFlags.BlockScoped)}function h(e){switch(e.kind){case fd.SyntaxKind.InterfaceDeclaration:case fd.SyntaxKind.TypeAliasDeclaration:case fd.SyntaxKind.MappedType:return 4;case fd.SyntaxKind.ConditionalType:return 8;default:return 0}}function D(e){switch(e.kind){case fd.SyntaxKind.FunctionExpression:case fd.SyntaxKind.ArrowFunction:case fd.SyntaxKind.Constructor:case fd.SyntaxKind.ModuleDeclaration:case fd.SyntaxKind.ClassDeclaration:case fd.SyntaxKind.ClassExpression:case fd.SyntaxKind.EnumDeclaration:case fd.SyntaxKind.MethodDeclaration:case fd.SyntaxKind.FunctionDeclaration:case fd.SyntaxKind.GetAccessor:case fd.SyntaxKind.SetAccessor:case fd.SyntaxKind.MethodSignature:case fd.SyntaxKind.CallSignature:case fd.SyntaxKind.ConstructSignature:case fd.SyntaxKind.ConstructorType:case fd.SyntaxKind.FunctionType:return 1;case fd.SyntaxKind.SourceFile:return fd.isExternalModule(e)?1:0;default:return 0}}function x(e){switch(e.kind){case fd.SyntaxKind.Block:const t=e.parent;return t.kind===fd.SyntaxKind.CatchClause||t.kind!==fd.SyntaxKind.SourceFile&&D(t)?0:2;case fd.SyntaxKind.ForStatement:case fd.SyntaxKind.ForInStatement:case fd.SyntaxKind.ForOfStatement:case fd.SyntaxKind.CaseBlock:case fd.SyntaxKind.CatchClause:case fd.SyntaxKind.WithStatement:return 2;default:return 0}}function b(e,t,n=e.getSourceFile()){const i=[];for(;;){if(r(e.kind))t(e);else if(e.kind!==fd.SyntaxKind.JSDocComment){const t=e.getChildren(n);if(1===t.length){e=t[0];continue}for(let e=t.length-1;e>=0;--e)i.push(t[e])}if(0===i.length)break;e=i.pop()}}function S(e){return e.kind===fd.SyntaxKind.JsxElement||e.kind===fd.SyntaxKind.JsxFragment}let E;function T(e,t){return void 0===E?E=fd.createScanner(t,!1,void 0,e):(E.setScriptTarget(t),E.setText(e)),E.scan(),E}function C(e){return e>=65536?2:1}function k(e,t=fd.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!fd.isIdentifierStart(r,t))return!1;for(let n=C(r);n=fd.SyntaxKind.FirstTypeNode&&e<=fd.SyntaxKind.LastTypeNode},t.isJsDocKind=function(e){return e>=fd.SyntaxKind.FirstJSDocNode&&e<=fd.SyntaxKind.LastJSDocNode},t.isKeywordKind=function(e){return e>=fd.SyntaxKind.FirstKeyword&&e<=fd.SyntaxKind.LastKeyword},t.isThisParameter=function(e){return e.name.kind===fd.SyntaxKind.Identifier&&e.name.originalKeywordKind===fd.SyntaxKind.ThisKeyword},t.getModifier=function(e,t){if(void 0!==e.modifiers)for(const r of e.modifiers)if(r.kind===t)return r},t.hasModifier=a,t.isParameterProperty=function(e){return a(e.modifiers,fd.SyntaxKind.PublicKeyword,fd.SyntaxKind.ProtectedKeyword,fd.SyntaxKind.PrivateKeyword,fd.SyntaxKind.ReadonlyKeyword)},t.hasAccessModifier=function(e){return s(e,fd.ModifierFlags.AccessibilityModifier)},t.isNodeFlagSet=o,t.isTypeFlagSet=o,t.isSymbolFlagSet=o,t.isObjectFlagSet=function(e,t){return 0!=(e.objectFlags&t)},t.isModifierFlagSet=s,t.getPreviousStatement=function(e){const t=e.parent;if(Rd.isBlockLike(t)){const r=t.statements.indexOf(e);if(r>0)return t.statements[r-1]}},t.getNextStatement=function(e){const t=e.parent;if(Rd.isBlockLike(t)){const r=t.statements.indexOf(e);if(rt||e.node.end<=t))e:for(;;){for(const r of e.children){if(r.node.pos>t)return e;if(r.node.end>t){e=r;continue e}}return e}},t.getPropertyName=p,t.forEachDestructuringIdentifier=f,t.forEachDeclaredVariable=function(e,t){for(const r of e.declarations){let e;if(e=r.name.kind===fd.SyntaxKind.Identifier?t(r):f(r.name,t),e)return e}},(g=t.VariableDeclarationKind||(t.VariableDeclarationKind={}))[g.Var=0]="Var",g[g.Let=1]="Let",g[g.Const=2]="Const",t.getVariableDeclarationKind=function(e){return e.flags&fd.NodeFlags.Let?1:e.flags&fd.NodeFlags.Const?2:0},t.isBlockScopedVariableDeclarationList=v,t.isBlockScopedVariableDeclaration=function(e){const t=e.parent;return t.kind===fd.SyntaxKind.CatchClause||v(t)},t.isBlockScopedDeclarationStatement=function(e){switch(e.kind){case fd.SyntaxKind.VariableStatement:return v(e.declarationList);case fd.SyntaxKind.ClassDeclaration:case fd.SyntaxKind.EnumDeclaration:case fd.SyntaxKind.InterfaceDeclaration:case fd.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},t.isInSingleStatementContext=function(e){switch(e.parent.kind){case fd.SyntaxKind.ForStatement:case fd.SyntaxKind.ForInStatement:case fd.SyntaxKind.ForOfStatement:case fd.SyntaxKind.WhileStatement:case fd.SyntaxKind.DoStatement:case fd.SyntaxKind.IfStatement:case fd.SyntaxKind.WithStatement:case fd.SyntaxKind.LabeledStatement:return!0;default:return!1}},(m=t.ScopeBoundary||(t.ScopeBoundary={}))[m.None=0]="None",m[m.Function=1]="Function",m[m.Block=2]="Block",m[m.Type=4]="Type",m[m.ConditionalType=8]="ConditionalType",(y=t.ScopeBoundarySelector||(t.ScopeBoundarySelector={}))[y.Function=1]="Function",y[y.Block=3]="Block",y[y.Type=7]="Type",y[y.InferType=8]="InferType",t.isScopeBoundary=function(e){return D(e)||x(e)||h(e)},t.isTypeScopeBoundary=h,t.isFunctionScopeBoundary=D,t.isBlockScopeBoundary=x,t.hasOwnThisReference=function(e){switch(e.kind){case fd.SyntaxKind.ClassDeclaration:case fd.SyntaxKind.ClassExpression:case fd.SyntaxKind.FunctionExpression:return!0;case fd.SyntaxKind.FunctionDeclaration:return void 0!==e.body;case fd.SyntaxKind.MethodDeclaration:case fd.SyntaxKind.GetAccessor:case fd.SyntaxKind.SetAccessor:return e.parent.kind===fd.SyntaxKind.ObjectLiteralExpression;default:return!1}},t.isFunctionWithBody=function(e){switch(e.kind){case fd.SyntaxKind.GetAccessor:case fd.SyntaxKind.SetAccessor:case fd.SyntaxKind.FunctionDeclaration:case fd.SyntaxKind.MethodDeclaration:case fd.SyntaxKind.Constructor:return void 0!==e.body;case fd.SyntaxKind.FunctionExpression:case fd.SyntaxKind.ArrowFunction:return!0;default:return!1}},t.forEachToken=b,t.forEachTokenWithTrivia=function(e,t,r=e.getSourceFile()){const n=r.text,i=fd.createScanner(r.languageVersion,!1,r.languageVariant,n);return b(e,(e=>{const a=e.kind===fd.SyntaxKind.JsxText||e.pos===e.end?e.pos:e.getStart(r);if(a!==e.pos){i.setTextPos(e.pos);let r=i.scan(),o=i.getTokenPos();for(;o{if(e.pos!==e.end)return e.kind!==fd.SyntaxKind.JsxText&&fd.forEachLeadingCommentRange(n,0===e.pos?(fd.getShebang(n)||"").length:e.pos,a),i||function(e){switch(e.kind){case fd.SyntaxKind.CloseBraceToken:return e.parent.kind!==fd.SyntaxKind.JsxExpression||!S(e.parent.parent);case fd.SyntaxKind.GreaterThanToken:switch(e.parent.kind){case fd.SyntaxKind.JsxOpeningElement:return e.end!==e.parent.end;case fd.SyntaxKind.JsxOpeningFragment:return!1;case fd.SyntaxKind.JsxSelfClosingElement:return e.end!==e.parent.end||!S(e.parent.parent);case fd.SyntaxKind.JsxClosingElement:case fd.SyntaxKind.JsxClosingFragment:return!S(e.parent.parent.parent)}}return!0}(e)?fd.forEachTrailingCommentRange(n,e.end,a):void 0}),r);function a(e,r,i){t(n,{pos:e,end:r,kind:i})}},t.getLineRanges=function(e){const t=e.getLineStarts(),r=[],n=t.length,i=e.text;let a=0;for(let e=1;ea&&fd.isLineBreak(i.charCodeAt(o-1));--o);r.push({pos:a,end:n,contentLength:o-a}),a=n}return r.push({pos:a,end:e.end,contentLength:e.end-a}),r},t.getLineBreakStyle=function(e){const t=e.getLineStarts();return 1===t.length||t[1]<2||"\r"!==e.text[t[1]-2]?"\n":"\r\n"},t.isValidIdentifier=function(e,t=fd.ScriptTarget.Latest){const r=T(e,t);return r.isIdentifier()&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidPropertyAccess=k,t.isValidPropertyName=function(e,t=fd.ScriptTarget.Latest){if(k(e,t))return!0;const r=T(e,t);return r.getTextPos()===e.length&&r.getToken()===fd.SyntaxKind.NumericLiteral&&r.getTokenValue()===e},t.isValidNumericLiteral=function(e,t=fd.ScriptTarget.Latest){const r=T(e,t);return r.getToken()===fd.SyntaxKind.NumericLiteral&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidJsxIdentifier=function(e,t=fd.ScriptTarget.Latest){if(0===e.length)return!1;let r=!1,n=e.codePointAt(0);if(!fd.isIdentifierStart(n,t))return!1;for(let i=C(n);in===fd.SyntaxKind.MultiLineCommentTrivia&&"*"===r.text[e+2]?{pos:e}:void 0));if(void 0===i)return[];const a=i.pos,o=r.text.slice(a,t),s=fd.createSourceFile("jsdoc.ts",`${o}var a;`,r.languageVersion),c=M(s.statements[0],s);for(const t of c)u(t,e);return c;function u(e,t){return e.pos+=a,e.end+=a,e.parent=t,fd.forEachChild(e,(t=>u(t,e)),(t=>{t.pos+=a,t.end+=a;for(const r of t)u(r,e)}))}}(e,e.getStart(r),r,t)},(P=t.ImportKind||(t.ImportKind={}))[P.ImportDeclaration=1]="ImportDeclaration",P[P.ImportEquals=2]="ImportEquals",P[P.ExportFrom=4]="ExportFrom",P[P.DynamicImport=8]="DynamicImport",P[P.Require=16]="Require",P[P.ImportType=32]="ImportType",P[P.All=63]="All",P[P.AllImports=59]="AllImports",P[P.AllStaticImports=3]="AllStaticImports",P[P.AllImportExpressions=24]="AllImportExpressions",P[P.AllRequireLike=18]="AllRequireLike",P[P.AllNestedImports=56]="AllNestedImports",P[P.AllTopLevelImports=7]="AllTopLevelImports",t.findImports=function(e,t,r=!0){const n=[];for(const n of L(e,t,r))switch(n.kind){case fd.SyntaxKind.ImportDeclaration:i(n.moduleSpecifier);break;case fd.SyntaxKind.ImportEqualsDeclaration:i(n.moduleReference.expression);break;case fd.SyntaxKind.ExportDeclaration:i(n.moduleSpecifier);break;case fd.SyntaxKind.CallExpression:i(n.arguments[0]);break;case fd.SyntaxKind.ImportType:Rd.isLiteralTypeNode(n.argument)&&i(n.argument.literal);break;default:throw new Error("unexpected node")}return n;function i(e){Rd.isTextualLiteral(e)&&n.push(e)}},t.findImportLikeNodes=L;class R{constructor(e,t,r){this._sourceFile=e,this._options=t,this._ignoreFileName=r,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),7&this._options&&this._findImports(this._sourceFile.statements),56&this._options&&this._findNestedImports(),this._result}_findImports(e){for(const t of e)Rd.isImportDeclaration(t)?1&this._options&&this._result.push(t):Rd.isImportEqualsDeclaration(t)?2&this._options&&t.moduleReference.kind===fd.SyntaxKind.ExternalModuleReference&&this._result.push(t):Rd.isExportDeclaration(t)?void 0!==t.moduleSpecifier&&4&this._options&&this._result.push(t):Rd.isModuleDeclaration(t)&&this._findImportsInModule(t)}_findImportsInModule(e){if(void 0!==e.body)return e.body.kind===fd.SyntaxKind.ModuleDeclaration?this._findImportsInModule(e.body):void this._findImports(e.body.statements)}_findNestedImports(){const e=this._ignoreFileName||0!=(this._sourceFile.flags&fd.NodeFlags.JavaScriptFile);let t,r;if(16==(56&this._options)){if(!e)return;t=/\brequire\s*[1&&this._result.push(t.parent)}}else t.kind===fd.SyntaxKind.Identifier&&t.end-"require".length===e.index&&t.parent.kind===fd.SyntaxKind.CallExpression&&t.parent.expression===t&&1===t.parent.arguments.length&&this._result.push(t.parent)}}}function B(e){for(;e.kind===fd.SyntaxKind.ModuleBlock;){do{e=e.parent}while(e.flags&fd.NodeFlags.NestedNamespace);if(a(e.modifiers,fd.SyntaxKind.DeclareKeyword))return!0;e=e.parent}return!1}function j(e,t){return(e.strict?!1!==e[t]:!0===e[t])&&("strictPropertyInitialization"!==t||j(e,"strictNullChecks"))}function J(e){let t;return fd.forEachLeadingCommentRange(e,(fd.getShebang(e)||"").length,((r,n,i)=>{if(i===fd.SyntaxKind.SingleLineCommentTrivia){const i=e.slice(r,n),a=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(i);null!==a&&(t={pos:r,end:n,enabled:void 0===a[1]})}})),t}function K(e){return Rd.isTypeReferenceNode(e.type)&&e.type.typeName.kind===fd.SyntaxKind.Identifier&&"const"===e.type.typeName.escapedText}function z(e){return 3===e.arguments.length&&Rd.isEntityNameExpression(e.arguments[0])&&Rd.isNumericOrStringLikeLiteral(e.arguments[1])&&Rd.isPropertyAccessExpression(e.expression)&&"defineProperty"===e.expression.name.escapedText&&Rd.isIdentifier(e.expression.expression)&&"Object"===e.expression.expression.escapedText}function U(e){return fd.isPropertyAccessExpression(e)&&fd.isIdentifier(e.expression)&&"Symbol"===e.expression.escapedText}function V(e){return{displayName:`[Symbol.${e.name.text}]`,symbolName:"__@"+e.name.text}}t.isStatementInAmbientContext=function(e){for(;e.flags&fd.NodeFlags.NestedNamespace;)e=e.parent;return a(e.modifiers,fd.SyntaxKind.DeclareKeyword)||B(e.parent)},t.isAmbientModuleBlock=B,t.getIIFE=function(e){let t=e.parent;for(;t.kind===fd.SyntaxKind.ParenthesizedExpression;)t=t.parent;return Rd.isCallExpression(t)&&e.end<=t.expression.end?t:void 0},t.isStrictCompilerOptionEnabled=j,t.isCompilerOptionEnabled=function e(t,r){switch(r){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return!0===t[r]&&e(t,"declaration");case"declaration":return t.declaration||e(t,"composite");case"incremental":return void 0===t.incremental?e(t,"composite"):t.incremental;case"skipDefaultLibCheck":return t.skipDefaultLibCheck||e(t,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return!0===t.suppressImplicitAnyIndexErrors&&e(t,"noImplicitAny");case"allowSyntheticDefaultImports":return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:e(t,"esModuleInterop")||t.module===fd.ModuleKind.System;case"noUncheckedIndexedAccess":return!0===t.noUncheckedIndexedAccess&&e(t,"strictNullChecks");case"allowJs":return void 0===t.allowJs?e(t,"checkJs"):t.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return j(t,r)}return!0===t[r]},t.isAmbientModule=function(e){return e.name.kind===fd.SyntaxKind.StringLiteral||0!=(e.flags&fd.NodeFlags.GlobalAugmentation)},t.getCheckJsDirective=function(e){return J(e)},t.getTsCheckDirective=J,t.isConstAssertion=K,t.isInConstContext=function(e){let t=e;for(;;){const e=t.parent;e:switch(e.kind){case fd.SyntaxKind.TypeAssertionExpression:case fd.SyntaxKind.AsExpression:return K(e);case fd.SyntaxKind.PrefixUnaryExpression:if(t.kind!==fd.SyntaxKind.NumericLiteral)return!1;switch(e.operator){case fd.SyntaxKind.PlusToken:case fd.SyntaxKind.MinusToken:t=e;break e;default:return!1}case fd.SyntaxKind.PropertyAssignment:if(e.initializer!==t)return!1;t=e.parent;break;case fd.SyntaxKind.ShorthandPropertyAssignment:t=e.parent;break;case fd.SyntaxKind.ParenthesizedExpression:case fd.SyntaxKind.ArrayLiteralExpression:case fd.SyntaxKind.ObjectLiteralExpression:case fd.SyntaxKind.TemplateExpression:t=e;break;default:return!1}}},t.isReadonlyAssignmentDeclaration=function(e,t){if(!z(e))return!1;const r=t.getTypeAtLocation(e.arguments[2]);if(void 0===r.getProperty("value"))return void 0===r.getProperty("set");const n=r.getProperty("writable");if(void 0===n)return!1;const i=void 0!==n.valueDeclaration&&Rd.isPropertyAssignment(n.valueDeclaration)?t.getTypeAtLocation(n.valueDeclaration.initializer):t.getTypeOfSymbolAtLocation(n,e.arguments[2]);return Vd.isBooleanLiteralType(i,!1)},t.isBindableObjectDefinePropertyCall=z,t.isWellKnownSymbolLiterally=U,t.getPropertyNameOfWellKnownSymbol=V;const q=(([e,t])=>e<"4"||"4"===e&&t<"3")(fd.versionMajorMinor.split("."));function W(e,t){const r={known:!0,names:[]};if(e=H(e),q&&U(e))r.names.push(V(e));else{const n=t.getTypeAtLocation(e);for(const e of Vd.unionTypeParts(t.getBaseConstraintOfType(n)||n)){const t=Vd.getPropertyNameFromType(e);t?r.names.push(t):r.known=!1}}return r}function H(e){for(;e.kind===fd.SyntaxKind.ParenthesizedExpression;)e=e.expression;return e}function G(e){return`${e.negative?"-":""}${e.base10Value}n`}function Y(e){return t.isTypeFlagSet(e,fd.TypeFlags.Null)?"null":t.isTypeFlagSet(e,fd.TypeFlags.Undefined)?"undefined":t.isTypeFlagSet(e,fd.TypeFlags.NumberLiteral)?`${t.isTypeFlagSet(e,fd.TypeFlags.EnumLiteral)?"enum:":""}${e.value}`:t.isTypeFlagSet(e,fd.TypeFlags.StringLiteral)?`${t.isTypeFlagSet(e,fd.TypeFlags.EnumLiteral)?"enum:":""}string:${e.value}`:t.isTypeFlagSet(e,fd.TypeFlags.BigIntLiteral)?G(e.value):zd.isUniqueESSymbolType(e)?e.escapedName:Vd.isBooleanLiteralType(e,!0)?"true":Vd.isBooleanLiteralType(e,!1)?"false":void 0}function X(e){var t;if((null===(t=e.heritageClauses)||void 0===t?void 0:t[0].token)===fd.SyntaxKind.ExtendsKeyword)return e.heritageClauses[0].types[0]}t.getLateBoundPropertyNames=W,t.getLateBoundPropertyNamesOfPropertyName=function(e,t){const r=p(e);return void 0!==r?{known:!0,names:[{displayName:r,symbolName:fd.escapeLeadingUnderscores(r)}]}:e.kind===fd.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:e.text,symbolName:t.getSymbolAtLocation(e).escapedName}]}:W(e.expression,t)},t.getSingleLateBoundPropertyNameOfPropertyName=function(e,t){const r=p(e);if(void 0!==r)return{displayName:r,symbolName:fd.escapeLeadingUnderscores(r)};if(e.kind===fd.SyntaxKind.PrivateIdentifier)return{displayName:e.text,symbolName:t.getSymbolAtLocation(e).escapedName};const{expression:n}=e;return q&&U(n)?V(n):Vd.getPropertyNameFromType(t.getTypeAtLocation(n))},t.unwrapParentheses=H,t.formatPseudoBigInt=G,t.hasExhaustiveCaseClauses=function(e,r){const n=e.caseBlock.clauses.filter(Rd.isCaseClause);if(0===n.length)return!1;const i=Vd.unionTypeParts(r.getTypeAtLocation(e.expression));if(i.length>n.length)return!1;const a=new Set(i.map(Y));if(a.has(void 0))return!1;const o=new Set;for(const e of n){const n=r.getTypeAtLocation(e.expression);if(t.isTypeFlagSet(n,fd.TypeFlags.Never))continue;const i=Y(n);if(a.has(i))o.add(i);else if("null"!==i&&"undefined"!==i)return!1}return a.size===o.size},t.getBaseOfClassLikeExpression=X})),Wd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.convertComments=void 0;const a=i(fd);t.convertComments=function(e,t){const r=[];return qd.forEachComment(e,((n,i)=>{const o=i.kind==a.SyntaxKind.SingleLineCommentTrivia?bd.AST_TOKEN_TYPES.Line:bd.AST_TOKEN_TYPES.Block,s=[i.pos,i.end],c=Ed.getLocFor(s[0],s[1],e),u=s[0]+2,l=i.kind===a.SyntaxKind.SingleLineCommentTrivia?s[1]-u:s[1]-u-2;r.push({type:o,value:t.substr(u,l),range:s,loc:c})}),e),r}})),Hd={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};const Gd=Object.freeze(Object.keys(Hd));for(const e of Gd)Object.freeze(Hd[e]);Object.freeze(Hd);const Yd=new Set(["parent","leadingComments","trailingComments"]);function Xd(e){return!Yd.has(e)&&"_"!==e[0]}var $d=Object.freeze({KEYS:Hd,getKeys:e=>Object.keys(e).filter(Xd),unionWith(e){const t=Object.assign({},Hd);for(const r of Object.keys(e))if(t.hasOwnProperty(r)){const n=new Set(e[r]);for(const e of t[r])n.add(e);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)}}),Qd=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getKeys=void 0;const r=$d.getKeys;t.getKeys=r})),Zd=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.visitorKeys=void 0;const a=i($d).unionWith({ImportExpression:["source"],ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:["typeParameters","params","returnType","body"],AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["decorators","typeAnnotation"],MethodDefinition:["decorators","key","value"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],RestElement:["decorators","argument","typeAnnotation"],TaggedTemplateExpression:["tag","typeParameters","quasi"],JSXOpeningElement:["name","typeParameters","attributes"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:["expression"],ClassProperty:["decorators","key","typeAnnotation","value"],Decorator:["expression"],TSAbstractClassProperty:["decorators","key","typeAnnotation","value"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:["expression","typeAnnotation"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:["typeParameters","params","returnType"],TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:["typeParameters","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","params","returnType"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:["typeParameters","params","returnType"],TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSParenthesizedType:["typeAnnotation"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]});t.visitorKeys=a})),e_=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.visitorKeys=t.getKeys=void 0,Object.defineProperty(t,"getKeys",{enumerable:!0,get:function(){return Qd.getKeys}}),Object.defineProperty(t,"visitorKeys",{enumerable:!0,get:function(){return Zd.visitorKeys}})})),t_=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.simpleTraverse=void 0;class r{constructor(e,t=!1){this.allVisitorKeys=e_.visitorKeys,this.selectors=e,this.setParentPointers=t}traverse(e,t){if(null===(r=e)||"object"!=typeof r||"string"!=typeof r.type)return;var r;this.setParentPointers&&(e.parent=t),"enter"in this.selectors?this.selectors.enter(e,t):e.type in this.selectors&&this.selectors[e.type](e,t);const n=function(e,t){const r=e[t.type];return null!=r?r:[]}(this.allVisitorKeys,e);if(!(n.length<1))for(const t of n){const r=e[t];if(Array.isArray(r))for(const t of r)this.traverse(t,e);else this.traverse(r,e)}}}t.simpleTraverse=function(e,t,n=!1){new r(t,n).traverse(e,void 0)}})),r_=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.astConverter=void 0,t.astConverter=function(e,t,r){const{parseDiagnostics:n}=e;if(n.length)throw Cd.convertError(n[0]);const i=new Cd.Converter(e,{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1,shouldPreserveNodeMaps:r}),a=i.convertProgram();return t.range&&t.loc||t_.simpleTraverse(a,{enter:e=>{t.range||delete e.range,t.loc||delete e.loc}}),t.tokens&&(a.tokens=Ed.convertTokens(e)),t.comment&&(a.comments=Wd.convertComments(e,t.code)),{estree:a,astMaps:i.getASTMaps()}}})),n_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getAstFromProgram=t.getScriptKind=t.getCanonicalFileName=t.ensureAbsolutePath=t.createDefaultCompilerOptionsFromExtra=t.canonicalDirname=t.CORE_COMPILER_OPTIONS=void 0;const o=a(ud),s=i(fd),c={noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};t.CORE_COMPILER_OPTIONS=c;const u=Object.assign(Object.assign({},c),{allowNonTsExtensions:!0,allowJs:!0,checkJs:!0});t.createDefaultCompilerOptionsFromExtra=function(e){return e.debugLevel.has("typescript")?Object.assign(Object.assign({},u),{extendedDiagnostics:!0}):u};const l=void 0===s.sys||s.sys.useCaseSensitiveFileNames?e=>e:e=>e.toLowerCase();function d(e){return e?e.endsWith(".d.ts")?".d.ts":o.default.extname(e):null}t.getCanonicalFileName=function(e){let t=o.default.normalize(e);return t.endsWith(o.default.sep)&&(t=t.substr(0,t.length-1)),l(t)},t.ensureAbsolutePath=function(e,t){return o.default.isAbsolute(e)?e:o.default.join(t.tsconfigRootDir||ar.cwd(),e)},t.canonicalDirname=function(e){return o.default.dirname(e)},t.getScriptKind=function(e,t=e.filePath){switch(o.default.extname(t).toLowerCase()){case".ts":return s.ScriptKind.TS;case".tsx":return s.ScriptKind.TSX;case".js":return s.ScriptKind.JS;case".jsx":return s.ScriptKind.JSX;case".json":return s.ScriptKind.JSON;default:return e.jsx?s.ScriptKind.TSX:s.ScriptKind.TS}},t.getAstFromProgram=function(e,t){const r=e.getSourceFile(t.filePath);if(d(t.filePath)===d(null==r?void 0:r.fileName))return r&&{ast:r,program:e}}})),i_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createDefaultProgram=void 0;const o=a(Dc),s=a(ud),c=i(fd),u=o.default("typescript-eslint:typescript-estree:createDefaultProgram");t.createDefaultProgram=function(e,t){if(u("Getting default program for: %s",t.filePath||"unnamed file"),!t.projects||1!==t.projects.length)return;const r=t.projects[0],n=c.getParsedCommandLineOfConfigFile(r,n_.createDefaultCompilerOptionsFromExtra(t),Object.assign(Object.assign({},c.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!n)return;const i=c.createCompilerHost(n.options,!0),a=i.readFile;i.readFile=r=>s.default.normalize(r)===s.default.normalize(t.filePath)?e:a(r);const o=c.createProgram([t.filePath],n.options,i),l=o.getSourceFile(t.filePath);return l&&{ast:l,program:o}}})),a_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createIsolatedProgram=void 0;const o=a(Dc),s=i(fd),c=o.default("typescript-eslint:typescript-estree:createIsolatedProgram");t.createIsolatedProgram=function(e,t){c("Getting isolated program in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath);const r={fileExists:()=>!0,getCanonicalFileName:()=>t.filePath,getCurrentDirectory:()=>"",getDirectories:()=>[],getDefaultLibFileName:()=>"lib.d.ts",getNewLine:()=>"\n",getSourceFile:r=>s.createSourceFile(r,e,s.ScriptTarget.Latest,!0,n_.getScriptKind(t,r)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},n=s.createProgram([t.filePath],Object.assign({noResolve:!0,target:s.ScriptTarget.Latest,jsx:t.jsx?s.JsxEmit.Preserve:void 0},n_.createDefaultCompilerOptionsFromExtra(t)),r),i=n.getSourceFile(t.filePath);if(!i)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:i,program:n}}})),o_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getProgramsForProjects=t.createWatchProgram=t.clearWatchCaches=void 0;const o=a(Dc),s=a(ld),c=a(ll),u=i(fd),l=o.default("typescript-eslint:typescript-estree:createWatchProgram"),d=new Map,p=new Map,f=new Map,g=new Map,m=new Map,y=new Map;function v(e){return(t,r)=>{const n=n_.getCanonicalFileName(t),i=(()=>{let t=e.get(n);return t||(t=new Set,e.set(n,t)),t})();return i.add(r),{close:()=>{i.delete(r)}}}}t.clearWatchCaches=function(){d.clear(),p.clear(),f.clear(),y.clear(),g.clear(),m.clear()};const h={code:"",filePath:""};function D(e){throw new Error(u.flattenDiagnosticMessageText(e.messageText,u.sys.newLine))}function x(e){var t;return(null===(t=u.sys)||void 0===t?void 0:t.createHash)?u.sys.createHash(e):e}function b(e,t,r){const n=r.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(t.getSourceFiles().map((e=>n_.getCanonicalFileName(e.fileName)))):new Set(t.getRootFileNames().map((e=>n_.getCanonicalFileName(e))));return g.set(e,n),n}t.getProgramsForProjects=function(e,t,r){const n=n_.getCanonicalFileName(t),i=[];h.code=e,h.filePath=n;const a=p.get(n),o=x(e);y.get(n)!==o&&a&&a.size>0&&a.forEach((e=>e(n,u.FileWatcherEventKind.Changed)));for(const[e,t]of d.entries()){let i=g.get(e),a=null;if(i||(a=t.getProgram().getProgram(),i=b(e,a,r)),i.has(n))return l("Found existing program for file. %s",n),a=null!=a?a:t.getProgram().getProgram(),a.getTypeChecker(),[a]}l("File did not belong to any existing programs, moving to create/update. %s",n);for(const e of r.projects){const t=d.get(e);if(t){const a=T(t,n,e);if(!a)continue;a.getTypeChecker();if(b(e,a,r).has(n))return l("Found updated program for file. %s",n),[a];i.push(a);continue}const a=E(e,r);d.set(e,a);const o=a.getProgram().getProgram();o.getTypeChecker();if(b(e,o,r).has(n))return l("Found program for file. %s",n),[o];i.push(o)}return i};const S=c.default.satisfies(u.version,">=3.9.0-beta",{includePrerelease:!0});function E(e,t){l("Creating watch program for %s.",e);const r=u.createWatchCompilerHost(e,n_.createDefaultCompilerOptionsFromExtra(t),u.sys,u.createAbstractBuilder,D,(()=>{})),n=r.readFile;r.readFile=(e,t)=>{const r=n_.getCanonicalFileName(e),i=r===h.filePath?h.code:n(r,t);return void 0!==i&&y.set(r,x(i)),i},r.onUnRecoverableConfigFileDiagnostic=D,r.afterProgramCreate=e=>{const t=e.getConfigFileParsingDiagnostics().filter((e=>e.category===u.DiagnosticCategory.Error&&18003!==e.code));t.length>0&&D(t[0])},r.watchFile=v(p),r.watchDirectory=v(f);const i=r.onCachedDirectoryStructureHostCreate;let a;r.onCachedDirectoryStructureHostCreate=e=>{const r=e.readDirectory;e.readDirectory=(e,n,i,a,o)=>r(e,n?n.concat(t.extraFileExtensions):void 0,i,a,o),i(e)},r.extraFileExtensions=t.extraFileExtensions.map((e=>({extension:e,isMixedContent:!0,scriptKind:u.ScriptKind.Deferred}))),r.trace=l,r.useSourceOfProjectReferenceRedirect=()=>t.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,S?(r.setTimeout=void 0,r.clearTimeout=void 0):(l("Running without timeout fix"),r.setTimeout=(e,t,...r)=>(a=e.bind(void 0,...r),a),r.clearTimeout=()=>{a=void 0});const o=u.createWatchProgram(r);if(!S){const e=o.getProgram;o.getProgram=()=>(a&&a(),a=void 0,e.call(o))}return o}function T(e,t,r){let n=e.getProgram().getProgram();if("true"===ar.env.TSESTREE_NO_INVALIDATION)return n;(function(e){const t=s.default.statSync(e).mtimeMs,r=m.get(e);return m.set(e,t),void 0!==r&&Math.abs(r-t)>Number.EPSILON})(r)&&(l("tsconfig has changed - triggering program update. %s",r),p.get(r).forEach((e=>e(r,u.FileWatcherEventKind.Changed))),g.delete(r));let i=n.getSourceFile(t);if(i)return n;l("File was not found in program - triggering folder update. %s",t);const a=n_.canonicalDirname(t);let o=null,c=a,d=!1;for(;o!==c;){o=c;const e=f.get(o);e&&(e.forEach((e=>{a!==o&&e(a,u.FileWatcherEventKind.Changed),e(o,u.FileWatcherEventKind.Changed)})),d=!0),c=n_.canonicalDirname(o)}if(!d)return l("No callback found for file, not part of this program. %s",t),null;if(g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i)return n;l("File was still not found in program after directory update - checking file deletions. %s",t);const _=n.getRootFileNames().find((e=>!s.default.existsSync(e)));if(!_)return null;const y=p.get(n_.getCanonicalFileName(_));return y?(l("Marking file as deleted. %s",_),y.forEach((e=>e(_,u.FileWatcherEventKind.Deleted))),g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i?n:(l("File was still not found in program after deletion check, assuming it is not part of this program. %s",t),null)):(l("Could not find watch callbacks for root file. %s",_),n)}t.createWatchProgram=E})),s_=f((function(e,t){var r=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createProjectProgram=void 0;const n=r(Dc),i=r(ud),a=n.default("typescript-eslint:typescript-estree:createProjectProgram"),o=[".ts",".tsx",".js",".jsx"];t.createProjectProgram=function(e,t,r){a("Creating project program for: %s",r.filePath);const n=Ed.firstDefined(o_.getProgramsForProjects(e,r.filePath,r),(e=>n_.getAstFromProgram(e,r)));if(!n&&!t){const e=['"parserOptions.project" has been set for @typescript-eslint/parser.',`The file does not match your project config: ${i.default.relative(r.tsconfigRootDir||ar.cwd(),r.filePath)}.`];let t=!1;const n=r.extraFileExtensions||[];n.forEach((t=>{t.startsWith(".")||e.push(`Found unexpected extension "${t}" specified with the "extraFileExtensions" option. Did you mean ".${t}"?`),o.includes(t)&&e.push(`You unnecessarily included the extension "${t}" with the "extraFileExtensions" option. This extension is already handled by the parser by default.`)}));const a=i.default.extname(r.filePath);if(!o.includes(a)){const r=`The extension for the file (${a}) is non-standard`;n.length>0?n.includes(a)||(e.push(`${r}. It should be added to your existing "parserOptions.extraFileExtensions".`),t=!0):(e.push(`${r}. You should add "parserOptions.extraFileExtensions" to your config.`),t=!0)}throw t||e.push("The file must be included in at least one of the projects provided."),new Error(e.join("\n"))}return n}})),c_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceFile=void 0;const o=a(Dc),s=i(fd),c=o.default("typescript-eslint:typescript-estree:createSourceFile");t.createSourceFile=function(e,t){return c("Getting AST without type information in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath),s.createSourceFile(t.filePath,e,s.ScriptTarget.Latest,!0,n_.getScriptKind(t))}})),u_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getFirstSemanticOrSyntacticError=void 0;const a=i(fd);function o(e){return e.filter((e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function s(e){return Object.assign(Object.assign({},e),{message:a.flattenDiagnosticMessageText(e.messageText,a.sys.newLine)})}t.getFirstSemanticOrSyntacticError=function(e,t){try{const r=o(e.getSyntacticDiagnostics(t));if(r.length)return s(r[0]);const n=o(e.getSemanticDiagnostics(t));return n.length?s(n[0]):void 0}catch(e){return void console.warn(`Warning From TSC: "${e.message}`)}}})),l_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createProgramFromConfigFile=t.useProvidedPrograms=void 0;const o=a(Dc),s=i(ld),c=i(ud),u=i(fd),l=o.default("typescript-eslint:typescript-estree:useProvidedProgram");function d(e){return u.formatDiagnostics(e,{getCanonicalFileName:e=>e,getCurrentDirectory:ar.cwd,getNewLine:()=>"\n"})}t.useProvidedPrograms=function(e,t){let r;l("Retrieving ast for %s from provided program instance(s)",t.filePath);for(const n of e)if(r=n_.getAstFromProgram(n,t),r)break;if(!r){const e=c.relative(t.tsconfigRootDir||ar.cwd(),t.filePath);throw new Error(['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${e}`].join("\n"))}return r.program.getTypeChecker(),r},t.createProgramFromConfigFile=function(e,t){if(void 0===u.sys)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");const r=u.getParsedCommandLineOfConfigFile(e,n_.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:e=>{throw new Error(d([e]))},fileExists:s.existsSync,getCurrentDirectory:()=>t&&c.resolve(t)||ar.cwd(),readDirectory:u.sys.readDirectory,readFile:e=>s.readFileSync(e,"utf-8"),useCaseSensitiveFileNames:u.sys.useCaseSensitiveFileNames});if(r.errors.length)throw new Error(d(r.errors));const n=u.createCompilerHost(r.options,!0);return u.createProgram(r.fileNames,r.options,n)}})),d_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=_&&_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},a=_&&_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.clearProgramCache=t.parseWithNodeMaps=t.parseAndGenerateServices=t.parse=void 0;const o=a(Dc),s={},c=a(Ec),u=a(ll),l=i(fd),d=o.default("typescript-eslint:typescript-estree:parser"),p=">=3.3.1 <4.4.0",f=l.version,g=u.default.satisfies(f,[p].concat(["4.3.0-beta","4.3.1-rc"]).join(" || "));let m,y=!1;const v=new Map;function h(e){return"string"!=typeof e?String(e):e}function D({jsx:e}={}){return e?"estree.tsx":"estree.ts"}function x(){m={code:"",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:D(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,programs:null,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:ar.cwd(),useJSXTextNode:!1,singleRun:!1}}function b(e,t){const r=[];if("string"==typeof e)r.push(e);else if(Array.isArray(e))for(const t of e)"string"==typeof t&&r.push(t);if(0===r.length)return[];const n=r.filter((e=>!c.default(e))),i=r.filter((e=>c.default(e))),a=new Set(n.concat(s.sync([...i,...t],{cwd:m.tsconfigRootDir})).map((e=>function(e,t){return n_.getCanonicalFileName(n_.ensureAbsolutePath(e,t))}(e,m))));return d("parserOptions.project (excluding ignored) matched projects: %s",a),Array.from(a)}function S(e){var t;if(!0===e.debugLevel?m.debugLevel=new Set(["typescript-eslint"]):Array.isArray(e.debugLevel)&&(m.debugLevel=new Set(e.debugLevel)),m.debugLevel.size>0){const e=[];m.debugLevel.has("typescript-eslint")&&e.push("typescript-eslint:*"),(m.debugLevel.has("eslint")||o.default.enabled("eslint:*,-eslint:code-path"))&&e.push("eslint:*,-eslint:code-path"),o.default.enable(e.join(","))}if(m.range="boolean"==typeof e.range&&e.range,m.loc="boolean"==typeof e.loc&&e.loc,"boolean"==typeof e.tokens&&e.tokens&&(m.tokens=[]),"boolean"==typeof e.comment&&e.comment&&(m.comment=!0,m.comments=[]),"boolean"==typeof e.jsx&&e.jsx&&(m.jsx=!0),"string"==typeof e.filePath&&""!==e.filePath?m.filePath=e.filePath:m.filePath=D(m),"boolean"==typeof e.useJSXTextNode&&e.useJSXTextNode&&(m.useJSXTextNode=!0),"boolean"==typeof e.errorOnUnknownASTType&&e.errorOnUnknownASTType&&(m.errorOnUnknownASTType=!0),"function"==typeof e.loggerFn?m.log=e.loggerFn:!1===e.loggerFn&&(m.log=()=>{}),"string"==typeof e.tsconfigRootDir&&(m.tsconfigRootDir=e.tsconfigRootDir),m.filePath=n_.ensureAbsolutePath(m.filePath,m),Array.isArray(e.programs)){if(!e.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");m.programs=e.programs,d("parserOptions.programs was provided, so parserOptions.project will be ignored.")}if(!m.programs){const r=(null!==(t=e.projectFolderIgnoreList)&&void 0!==t?t:["**/node_modules/**"]).reduce(((e,t)=>("string"==typeof t&&e.push(t),e)),[]).map((e=>e.startsWith("!")?e:`!${e}`));m.projects=[]||b(e.project,r)}Array.isArray(e.extraFileExtensions)&&e.extraFileExtensions.every((e=>"string"==typeof e))&&(m.extraFileExtensions=e.extraFileExtensions),"boolean"==typeof e.preserveNodeMaps&&(m.preserveNodeMaps=e.preserveNodeMaps),m.createDefaultProgram="boolean"==typeof e.createDefaultProgram&&e.createDefaultProgram,m.EXPERIMENTAL_useSourceOfProjectReferenceRedirect="boolean"==typeof e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect&&e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect}function E(){var e;if(!g&&!y){if(void 0!==typeof ar&&(null===(e=ar.stdout)||void 0===e?void 0:e.isTTY)){const e="=============",t=[e,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${p}`,`YOUR TYPESCRIPT VERSION: ${f}`,"Please only submit bug reports when using the officially supported version.",e];m.log(t.join("\n\n"))}y=!0}}function T(e){"false"!==ar.env.TSESTREE_SINGLE_RUN?"true"!==ar.env.TSESTREE_SINGLE_RUN&&(!(null==e?void 0:e.allowAutomaticSingleRunInference)||"true"!==ar.env.CI&&!ar.argv[1].endsWith(ud.normalize("node_modules/.bin/eslint")))?m.singleRun=!1:m.singleRun=!0:m.singleRun=!1}function C(e,t,r){if(x(),null==t?void 0:t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');e=h(e),m.code=e,void 0!==t&&S(t),E(),T(t);const n=c_.createSourceFile(e,m),{estree:i,astMaps:a}=r_.astConverter(n,m,r);return{ast:i,esTreeNodeToTSNodeMap:a.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:a.tsNodeToESTreeNodeMap}}t.clearProgramCache=function(){v.clear()},t.parse=function(e,t){const{ast:r}=C(e,t,!1);return r},t.parseWithNodeMaps=function(e,t){return C(e,t,!0)},t.parseAndGenerateServices=function(e,t){var r;x(),e=h(e),m.code=e,void 0!==t&&(S(t),"boolean"==typeof t.errorOnTypeScriptSyntacticAndSemanticIssues&&t.errorOnTypeScriptSyntacticAndSemanticIssues&&(m.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),E(),T(t),m.singleRun&&!m.programs&&(null===(r=m.projects)||void 0===r?void 0:r.length)>0&&(m.programs={*[Symbol.iterator](){for(const e of m.projects){const t=v.get(e);if(t)yield t;else{d("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",e);const t=l_.createProgramFromConfigFile(e);v.set(e,t),yield t}}}});const n=null!=m.programs||m.projects&&m.projects.length>0,{ast:i,program:a}=function(e,t,r,n){return t&&l_.useProvidedPrograms(t,m)||r&&s_.createProjectProgram(e,n,m)||r&&n&&i_.createDefaultProgram(e,m)||a_.createIsolatedProgram(e,m)}(e,m.programs,n,m.createDefaultProgram),o="boolean"!=typeof m.preserveNodeMaps||m.preserveNodeMaps,{estree:s,astMaps:c}=r_.astConverter(i,m,o);if(a&&m.errorOnTypeScriptSyntacticAndSemanticIssues){const e=u_.getFirstSemanticOrSyntacticError(a,i);if(e)throw Cd.convertError(e)}return{ast:s,services:{hasFullTypeInformation:n,program:a,esTreeNodeToTSNodeMap:c.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:c.tsNodeToESTreeNodeMap}}}})),__="4.27.0",p_=f((function(e,t){var r=_&&_.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=_&&_.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.visitorKeys=t.createProgram=t.clearCaches=t.simpleTraverse=void 0,n(d_,t),Object.defineProperty(t,"simpleTraverse",{enumerable:!0,get:function(){return t_.simpleTraverse}}),n(bd,t),Object.defineProperty(t,"clearCaches",{enumerable:!0,get:function(){return o_.clearWatchCaches}}),Object.defineProperty(t,"createProgram",{enumerable:!0,get:function(){return l_.createProgramFromConfigFile}}),Object.defineProperty(t,"visitorKeys",{enumerable:!0,get:function(){return e_.visitorKeys}}),t.version=__}));const f_={loc:!0,range:!0,comment:!0,useJSXTextNode:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};var g_={parsers:{typescript:_o((function(r,n,i){const a=po(r),o=function(e){return new RegExp(["(^[^\"'`]*)"].join(""),"m").test(e)}(r),{parseWithNodeMaps:s}=p_,{result:c,error:u}=t((()=>s(a,Object.assign(Object.assign({},f_),{},{jsx:o}))),(()=>s(a,Object.assign(Object.assign({},f_),{},{jsx:!o}))));if(!c)throw function(t){const{message:r,lineNumber:n,column:i}=t;return"number"!=typeof n?t:e(r,{start:{line:n,column:i+1}})}(u);return pa(c.ast,Object.assign(Object.assign({},i),{},{originalText:r,tsParseResult:c}))}))}};export default g_; diff --git a/node_modules/prettier/esm/parser-yaml.mjs b/node_modules/prettier/esm/parser-yaml.mjs new file mode 100644 index 000000000..bf8a33f80 --- /dev/null +++ b/node_modules/prettier/esm/parser-yaml.mjs @@ -0,0 +1,15 @@ +var e=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n};var t={isPragma:function(e){return/^\s*@(prettier|format)\s*$/.test(e)},hasPragma:function(e){return/^\s*#[^\S\n]*@(prettier|format)\s*?(\n|$)/.test(e)},insertPragma:function(e){return`# @format\n\n${e}`}};var n={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}},r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){var t={exports:{}};return e(t,t.exports),t.exports +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */}var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function u(e){return this instanceof u?(this.v=e,this):new u(e)}var l=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return s},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof u?Promise.resolve(n.value.v).then(c,l):f(i[0][2],n)}catch(e){f(i[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function f(e,t){e(t),i.shift(),i.length&&a(i[0][0],i[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:u(e[r](t)),done:"return"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=a(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),f=o((function(e,t){var n="\n",r=function(){function e(e){this.string=e;for(var t=[0],r=0;rthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=r})),h=function(e){return e&&e.Math==Math&&e},p=h("object"==typeof globalThis&&globalThis)||h("object"==typeof window&&window)||h("object"==typeof self&&self)||h("object"==typeof r&&r)||function(){return this}()||Function("return this")(),d=function(e){try{return!!e()}catch(e){return!0}},g=!d((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),m={}.propertyIsEnumerable,y=Object.getOwnPropertyDescriptor,v={f:y&&!m.call({1:2},1)?function(e){var t=y(this,e);return!!t&&t.enumerable}:m},w=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},b={}.toString,_="".split,E=d((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==function(e){return b.call(e).slice(8,-1)}(e)?_.call(e,""):Object(e)}:Object,O=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},S=function(e){return E(O(e))},A=function(e){return"object"==typeof e?null!==e:"function"==typeof e},M=function(e,t){if(!A(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!A(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!A(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!A(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},L=function(e){return Object(O(e))},N={}.hasOwnProperty,T=Object.hasOwn||function(e,t){return N.call(L(e),t)},P=p.document,C=A(P)&&A(P.createElement),x=!g&&!d((function(){return 7!=Object.defineProperty((e="div",C?P.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),R=Object.getOwnPropertyDescriptor,I={f:g?R:function(e,t){if(e=S(e),t=M(t,!0),x)try{return R(e,t)}catch(e){}if(T(e,t))return w(!v.f.call(e,t),e[t])}},k=function(e){if(!A(e))throw TypeError(String(e)+" is not an object");return e},B=Object.defineProperty,Y={f:g?B:function(e,t,n){if(k(e),t=M(t,!0),k(n),x)try{return B(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},j=g?function(e,t,n){return Y.f(e,t,w(1,n))}:function(e,t,n){return e[t]=n,e},$=function(e,t){try{j(p,e,t)}catch(n){p[e]=t}return t},D=p["__core-js_shared__"]||$("__core-js_shared__",{}),F=Function.toString;"function"!=typeof D.inspectSource&&(D.inspectSource=function(e){return F.call(e)});var U,W,K,V,Q=D.inspectSource,q=p.WeakMap,J="function"==typeof q&&/native code/.test(Q(q)),G=o((function(e){(e.exports=function(e,t){return D[e]||(D[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.14.0",mode:"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})})),H=0,z=Math.random(),Z=G("keys"),X={},ee=p.WeakMap;if(J||D.state){var te=D.state||(D.state=new ee),ne=te.get,re=te.has,oe=te.set;U=function(e,t){if(re.call(te,e))throw new TypeError("Object already initialized");return t.facade=e,oe.call(te,e,t),t},W=function(e){return ne.call(te,e)||{}},K=function(e){return re.call(te,e)}}else{var ie=Z[V="state"]||(Z[V]=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++H+z).toString(36)}(V));X[ie]=!0,U=function(e,t){if(T(e,ie))throw new TypeError("Object already initialized");return t.facade=e,j(e,ie,t),t},W=function(e){return T(e,ie)?e[ie]:{}},K=function(e){return T(e,ie)}}var se,ae,ce={set:U,get:W,has:K,enforce:function(e){return K(e)?W(e):U(e,{})},getterFor:function(e){return function(t){var n;if(!A(t)||(n=W(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}},ue=o((function(e){var t=ce.get,n=ce.enforce,r=String(String).split("String");(e.exports=function(e,t,o,i){var s,a=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,u=!!i&&!!i.noTargetGet;"function"==typeof o&&("string"!=typeof t||T(o,"name")||j(o,"name",t),(s=n(o)).source||(s.source=r.join("string"==typeof t?t:""))),e!==p?(a?!u&&e[t]&&(c=!0):delete e[t],c?e[t]=o:j(e,t,o)):c?e[t]=o:$(t,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||Q(this)}))})),le=p,fe=function(e){return"function"==typeof e?e:void 0},he=function(e,t){return arguments.length<2?fe(le[e])||fe(p[e]):le[e]&&le[e][t]||p[e]&&p[e][t]},pe=Math.ceil,de=Math.floor,ge=function(e){return isNaN(e=+e)?0:(e>0?de:pe)(e)},me=Math.min,ye=function(e){return e>0?me(ge(e),9007199254740991):0},ve=Math.max,we=Math.min,be=function(e){return function(t,n,r){var o,i=S(t),s=ye(i.length),a=function(e,t){var n=ge(e);return n<0?ve(n+t,0):we(n,t)}(r,s);if(e&&n!=n){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((e||a in i)&&i[a]===n)return e||a||0;return!e&&-1}},_e={includes:be(!0),indexOf:be(!1)}.indexOf,Ee=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Oe={f:Object.getOwnPropertyNames||function(e){return function(e,t){var n,r=S(e),o=0,i=[];for(n in r)!T(X,n)&&T(r,n)&&i.push(n);for(;t.length>o;)T(r,n=t[o++])&&(~_e(i,n)||i.push(n));return i}(e,Ee)}},Se={f:Object.getOwnPropertySymbols},Ae=he("Reflect","ownKeys")||function(e){var t=Oe.f(k(e)),n=Se.f;return n?t.concat(n(e)):t},Me=function(e,t){for(var n=Ae(t),r=Y.f,o=I.f,i=0;i0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},je=function(e,t,n){for(var r=e.length,o=t.length,i=0,s=0,a=[];i=74)&&(se=De.match(/Chrome\/(\d+)/))&&(ae=se[1]);var qe,Je,Ge=ae&&+ae,He=De.match(/AppleWebKit\/(\d+)\./),ze=!!He&&+He[1],Ze=[],Xe=Ze.sort,et=d((function(){Ze.sort(void 0)})),tt=d((function(){Ze.sort(null)})),nt=!!(Je=[]["sort"])&&d((function(){Je.call(null,qe||function(){throw 1},1)})),rt=!d((function(){if(Ge)return Ge<70;if(!(Ue&&Ue>3)){if(We)return!0;if(ze)return ze<603;var e,t,n,r,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)Ze.push({k:t+r,v:n})}for(Ze.sort((function(e,t){return t.v-e.v})),r=0;rString(n)?1:-1}}(e))).length,r=0;r1&&e.position.start.line>n[0].position.end.line;)n.shift();!function(e,t,n){var r=e.position.start.line,o=t[r-1].trailingAttachableNode;if(o){if(o.trailingComment)throw new Error("Unexpected multiple trailing comment at "+at.getPointText(e.position.start));return it.defineParents(e,o),void(o.trailingComment=e)}for(var i=r;i>=n.position.start.line;i--){var s=t[i-1].trailingNode,a=void 0;if(s)a=s;else{if(i===r||!t[i-1].comment)continue;a=t[i-1].comment._parent}if("sequence"!==a.type&&"mapping"!==a.type||(a=a.children[0]),"mappingItem"===a.type){var c=a.children,u=c[0],l=c[1];a=ft(u)?u:l}for(;;){if(lt(a,e))return it.defineParents(e,a),void a.endComments.push(e);if(!a._parent)break;a=a._parent}break}for(i=r+1;i<=n.position.end.line;i++){var f=t[i-1].leadingAttachableNode;if(f)return it.defineParents(e,f),void f.leadingComments.push(e)}var h=n.children[1];it.defineParents(e,h),h.endComments.push(e)}(e,t,n[0])}))};function ut(e,t){if(t.position.start.offset!==t.position.end.offset){if("leadingComments"in t){var n=t.position.start,r=e[n.line-1].leadingAttachableNode;(!r||n.column1&&"document"!==t.type&&"documentHead"!==t.type){var o=t.position.end,i=e[o.line-1].trailingAttachableNode;(!i||o.column>=i.position.end.column)&&(e[o.line-1].trailingAttachableNode=t)}if("root"!==t.type&&"document"!==t.type&&"documentHead"!==t.type&&"documentBody"!==t.type)for(var s=t.position,a=(n=s.start,0),c=[(o=s.end).line].concat(n.line===o.line?[]:n.line);a=l.position.end.column)&&(e[u-1].trailingNode=t)}"children"in t&&t.children.forEach((function(t){ut(e,t)}))}}function lt(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case"flowMapping":case"flowSequence":return 0===e.children.length||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case"mappingKey":case"mappingValue":return t.position.start.column>e._parent.position.start.column&&(0===e.children.length||1===e.children.length&&"blockFolded"!==e.children[0].type&&"blockLiteral"!==e.children[0].type)&&("mappingValue"===e.type||ft(e));default:return!1}}function ft(e){return e.position.start!==e.position.end&&(0===e.children.length||e.position.start.offset!==e.children[0].position.start.offset)}var ht=Object.defineProperty({attachComments:ct},"__esModule",{value:!0});var pt=function(e,t){return{type:e,position:t}},dt=Object.defineProperty({createNode:pt},"__esModule",{value:!0});var gt=function(e,t,n){return l.__assign(l.__assign({},dt.createNode("root",e)),{children:t,comments:n})},mt=Object.defineProperty({createRoot:gt},"__esModule",{value:!0});var yt=function e(t){switch(t.type){case"DOCUMENT":for(var n=t.contents.length-1;n>=0;n--)"BLANK_LINE"===t.contents[n].type?t.contents.splice(n,1):e(t.contents[n]);for(n=t.directives.length-1;n>=0;n--)"BLANK_LINE"===t.directives[n].type&&t.directives.splice(n,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(n=t.items.length-1;n>=0;n--){var r=t.items[n];"char"in r||("BLANK_LINE"===r.type?t.items.splice(n,1):e(r))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":t.node&&e(t.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(t.type))}},vt=Object.defineProperty({removeCstBlankLine:yt},"__esModule",{value:!0});var wt=function(){return{leadingComments:[]}},bt=Object.defineProperty({createLeadingCommentAttachable:wt},"__esModule",{value:!0});var _t=function(e){return void 0===e&&(e=null),{trailingComment:e}},Et=Object.defineProperty({createTrailingCommentAttachable:_t},"__esModule",{value:!0});var Ot=function(){return l.__assign(l.__assign({},bt.createLeadingCommentAttachable()),Et.createTrailingCommentAttachable())},St=Object.defineProperty({createCommentAttachable:Ot},"__esModule",{value:!0});var At=function(e,t,n){return l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("alias",e)),St.createCommentAttachable()),t),{value:n})},Mt=Object.defineProperty({createAlias:At},"__esModule",{value:!0});var Lt=function(e,t){var n=e.cstNode;return Mt.createAlias(t.transformRange({origStart:n.valueRange.origStart-1,origEnd:n.valueRange.origEnd}),t.transformContent(e),n.rawValue)},Nt=Object.defineProperty({transformAlias:Lt},"__esModule",{value:!0});var Tt=function(e){return l.__assign(l.__assign({},e),{type:"blockFolded"})},Pt=Object.defineProperty({createBlockFolded:Tt},"__esModule",{value:!0});var Ct=function(e,t,n,r,o,i){return l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("blockValue",e)),bt.createLeadingCommentAttachable()),t),{chomping:n,indent:r,value:o,indicatorComment:i})},xt=Object.defineProperty({createBlockValue:Ct},"__esModule",{value:!0}),Rt=o((function(e,t){var n;t.__esModule=!0,(n=t.PropLeadingCharacter||(t.PropLeadingCharacter={})).Tag="!",n.Anchor="&",n.Comment="#"}));var It=function(e,t){return l.__assign(l.__assign({},dt.createNode("anchor",e)),{value:t})},kt=Object.defineProperty({createAnchor:It},"__esModule",{value:!0});var Bt=function(e,t){return l.__assign(l.__assign({},dt.createNode("comment",e)),{value:t})},Yt=Object.defineProperty({createComment:Bt},"__esModule",{value:!0});var jt=function(e,t,n){return{anchor:t,tag:e,middleComments:n}},$t=Object.defineProperty({createContent:jt},"__esModule",{value:!0});var Dt=function(e,t){return l.__assign(l.__assign({},dt.createNode("tag",e)),{value:t})},Ft=Object.defineProperty({createTag:Dt},"__esModule",{value:!0});var Ut,Wt=function(e,t,n){void 0===n&&(n=function(){return!1});for(var r=e.cstNode,o=[],i=null,s=null,a=null,c=0,u=r.props;c=0;c--){var u=e.contents[c];if("COMMENT"===u.type){var l=t.transformNode(u);n&&n.line===l.position.start.line?s.unshift(l):a?r.unshift(l):l.position.start.offset>=e.valueRange.origEnd?i.unshift(l):r.unshift(l)}else a=!0}if(i.length>1)throw new Error("Unexpected multiple document trailing comments at "+at.getPointText(i[1].position.start));if(s.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+at.getPointText(s[1].position.start));return{comments:r,endComments:o,documentTrailingComment:vn.getLast(i)||null,documentHeadTrailingComment:vn.getLast(s)||null}}(o,t,n),s=i.comments,a=i.endComments,c=i.documentTrailingComment,u=i.documentHeadTrailingComment,f=t.transformNode(e.contents),h=function(e,t,n){var r=bn.getMatchIndex(n.text.slice(e.valueRange.origEnd),/^\.\.\./),o=-1===r?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);"\r"===n.text[o-1]&&o--;var i=n.transformRange({origStart:null!==t?t.position.start.offset:o,origEnd:o}),s=-1===r?i.end:n.transformOffset(e.valueRange.origEnd+3);return{position:i,documentEndPoint:s}}(o,f,t),p=h.position,d=h.documentEndPoint;return(r=t.comments).push.apply(r,l.__spreadArrays(s,a)),{documentBody:mn.createDocumentBody(p,f,a),documentEndPoint:d,documentTrailingComment:c,documentHeadTrailingComment:u}};var En=Object.defineProperty({transformDocumentBody:_n},"__esModule",{value:!0});var On=function(e,t,n,r){return l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("documentHead",e)),dn.createEndCommentAttachable(n)),Et.createTrailingCommentAttachable(r)),{children:t})},Sn=Object.defineProperty({createDocumentHead:On},"__esModule",{value:!0});var An=function(e,t){var n,r=e.cstNode,o=function(e,t){for(var n=[],r=[],o=[],i=!1,s=e.directives.length-1;s>=0;s--){var a=t.transformNode(e.directives[s]);"comment"===a.type?i?r.unshift(a):o.unshift(a):(i=!0,n.unshift(a))}return{directives:n,comments:r,endComments:o}}(r,t),i=o.directives,s=o.comments,a=o.endComments,c=function(e,t,n){var r=bn.getMatchIndex(n.text.slice(0,e.valueRange.origStart),/---\s*$/);r>0&&!/[\r\n]/.test(n.text[r-1])&&(r=-1);var o=-1===r?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:r,origEnd:r+3};0!==t.length&&(o.origStart=t[0].position.start.offset);return{position:n.transformRange(o),endMarkerPoint:-1===r?null:n.transformOffset(r)}}(r,i,t),u=c.position,f=c.endMarkerPoint;return(n=t.comments).push.apply(n,l.__spreadArrays(s,a)),{createDocumentHeadWithTrailingComment:function(e){return e&&t.comments.push(e),Sn.createDocumentHead(u,i,a,e)},documentHeadEndMarkerPoint:f}};var Mn=Object.defineProperty({transformDocumentHead:An},"__esModule",{value:!0});var Ln=function(e,t){var n=Mn.transformDocumentHead(e,t),r=n.createDocumentHeadWithTrailingComment,o=n.documentHeadEndMarkerPoint,i=En.transformDocumentBody(e,t,o),s=i.documentBody,a=i.documentEndPoint,c=i.documentTrailingComment,u=r(i.documentHeadTrailingComment);return c&&t.comments.push(c),un.createDocument(hn.createPosition(u.position.start,a),u,s,c)},Nn=Object.defineProperty({transformDocument:Ln},"__esModule",{value:!0});var Tn=function(e,t,n){return l.__assign(l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("flowCollection",e)),St.createCommentAttachable()),dn.createEndCommentAttachable()),t),{children:n})},Pn=Object.defineProperty({createFlowCollection:Tn},"__esModule",{value:!0});var Cn=function(e,t,n){return l.__assign(l.__assign({},Pn.createFlowCollection(e,t,n)),{type:"flowMapping"})},xn=Object.defineProperty({createFlowMapping:Cn},"__esModule",{value:!0});var Rn=function(e,t,n){return l.__assign(l.__assign(l.__assign({},dt.createNode("flowMappingItem",e)),bt.createLeadingCommentAttachable()),{children:[t,n]})},In=Object.defineProperty({createFlowMappingItem:Rn},"__esModule",{value:!0});var kn=function(e,t){for(var n=[],r=0,o=e;r=0;r--)if(n.test(e[r]))return r;return-1},hr=Object.defineProperty({findLastCharIndex:fr},"__esModule",{value:!0});var pr=function(e,t){var n=e.cstNode;return lr.createPlain(t.transformRange({origStart:n.valueRange.origStart,origEnd:hr.findLastCharIndex(t.text,n.valueRange.origEnd-1,/\S/)+1}),t.transformContent(e),n.strValue)},dr=Object.defineProperty({transformPlain:pr},"__esModule",{value:!0});var gr=function(e){return l.__assign(l.__assign({},e),{type:"quoteDouble"})},mr=Object.defineProperty({createQuoteDouble:gr},"__esModule",{value:!0});var yr=function(e,t,n){return l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("quoteValue",e)),t),St.createCommentAttachable()),{value:n})},vr=Object.defineProperty({createQuoteValue:yr},"__esModule",{value:!0});var wr=function(e,t){var n=e.cstNode;return vr.createQuoteValue(t.transformRange(n.valueRange),t.transformContent(e),n.strValue)},br=Object.defineProperty({transformAstQuoteValue:wr},"__esModule",{value:!0});var _r=function(e,t){return mr.createQuoteDouble(br.transformAstQuoteValue(e,t))},Er=Object.defineProperty({transformQuoteDouble:_r},"__esModule",{value:!0});var Or=function(e){return l.__assign(l.__assign({},e),{type:"quoteSingle"})},Sr=Object.defineProperty({createQuoteSingle:Or},"__esModule",{value:!0});var Ar=function(e,t){return Sr.createQuoteSingle(br.transformAstQuoteValue(e,t))},Mr=Object.defineProperty({transformQuoteSingle:Ar},"__esModule",{value:!0});var Lr=function(e,t,n){return l.__assign(l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("sequence",e)),bt.createLeadingCommentAttachable()),dn.createEndCommentAttachable()),t),{children:n})},Nr=Object.defineProperty({createSequence:Lr},"__esModule",{value:!0});var Tr=function(e,t){return l.__assign(l.__assign(l.__assign(l.__assign({},dt.createNode("sequenceItem",e)),St.createCommentAttachable()),dn.createEndCommentAttachable()),{children:t?[t]:[]})},Pr=Object.defineProperty({createSequenceItem:Tr},"__esModule",{value:!0});var Cr=function(e,t){var n=Bn.extractComments(e.cstNode.items,t).map((function(n,r){on.extractPropComments(n,t);var o=t.transformNode(e.items[r]);return Pr.createSequenceItem(hn.createPosition(t.transformOffset(n.valueRange.origStart),null===o?t.transformOffset(n.valueRange.origStart+1):o.position.end),o)}));return Nr.createSequence(hn.createPosition(n[0].position.start,vn.getLast(n).position.end),t.transformContent(e),n)},xr=Object.defineProperty({transformSeq:Cr},"__esModule",{value:!0});var Rr=function(e,t){if(null===e||void 0===e.type&&null===e.value)return null;switch(e.type){case"ALIAS":return Nt.transformAlias(e,t);case"BLOCK_FOLDED":return Jt.transformBlockFolded(e,t);case"BLOCK_LITERAL":return Zt.transformBlockLiteral(e,t);case"COMMENT":return en.transformComment(e,t);case"DIRECTIVE":return an.transformDirective(e,t);case"DOCUMENT":return Nn.transformDocument(e,t);case"FLOW_MAP":return Hn.transformFlowMap(e,t);case"FLOW_SEQ":return nr.transformFlowSeq(e,t);case"MAP":return cr.transformMap(e,t);case"PLAIN":return dr.transformPlain(e,t);case"QUOTE_DOUBLE":return Er.transformQuoteDouble(e,t);case"QUOTE_SINGLE":return Mr.transformQuoteSingle(e,t);case"SEQ":return xr.transformSeq(e,t);default:throw new Error("Unexpected node type "+e.type)}},Ir=Object.defineProperty({transformNode:Rr},"__esModule",{value:!0});var kr=function(e,t,n){var r=new SyntaxError(e);return r.name="YAMLSyntaxError",r.source=t,r.position=n,r},Br=Object.defineProperty({createError:kr},"__esModule",{value:!0});var Yr=function(e,t){var n=e.source.range||e.source.valueRange;return Br.createError(e.message,t.text,t.transformRange(n))},jr=Object.defineProperty({transformError:Yr},"__esModule",{value:!0});var $r=function(e,t,n){return{offset:e,line:t,column:n}},Dr=Object.defineProperty({createPoint:$r},"__esModule",{value:!0});var Fr=function(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);var n=t.locator.locationForIndex(e);return Dr.createPoint(e,n.line+1,n.column+1)},Ur=Object.defineProperty({transformOffset:Fr},"__esModule",{value:!0});var Wr=function(e,t){return hn.createPosition(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))},Kr=Object.defineProperty({transformRange:Wr},"__esModule",{value:!0});var Vr=function(e){if(!e.setOrigRanges()){var t=function(e){return function(e){return"number"==typeof e.start}(e)?(e.origStart=e.start,e.origEnd=e.end,true):function(e){return"number"==typeof e.offset}(e)?(e.origOffset=e.offset,true):void 0};e.forEach((function(e){return Qr(e,t)}))}};function Qr(e,t){if(e&&"object"==typeof e&&true!==t(e))for(var n=0,r=Object.keys(e);ne.offset}var io=Object.defineProperty({updatePositions:Zr},"__esModule",{value:!0});const so={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},ao={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};function co(e){const t=[0];let n=e.indexOf("\n");for(;-1!==n;)n+=1,t.push(n),n=e.indexOf("\n",n);return t}function uo(e){let t,n;return"string"==typeof e?(t=co(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=co(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function lo(e,t){if("number"!=typeof e||e<0)return null;const{lineStarts:n,src:r}=uo(t);if(!n||!r||e>r.length)return null;for(let t=0;t=1)||e>n.length)return null;const o=n[e-1];let i=n[e];for(;i&&i>o&&"\n"===r[i-1];)--i;return r.slice(o,i)}(e.line,n);if(!o)return null;let{col:i}=e;if(o.length>r)if(i<=r-10)o=o.substr(0,r-1)+"\u2026";else{const e=Math.round(r/2);o.length>i+e&&(o=o.substr(0,i+e-1)+"\u2026"),i-=o.length-r,o="\u2026"+o.substr(1-r)}let s=1,a="";t&&(t.line===e.line&&i+(t.col-e.col)<=r+1?s=t.col-e.col:(s=Math.min(o.length+1,r)-i,a="\u2026"));return`${o}\n${i>1?" ".repeat(i-1):""}${"^".repeat(s)}${a}`}class ho{static copy(e){return new ho(e.start,e.end)}constructor(e,t){this.start=e,this.end=t||e}isEmpty(){return"number"!=typeof this.start||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(0===e.length||r<=e[0])return this.origStart=n,this.origEnd=r,t;let o=t;for(;on);)++o;this.origStart=n+o;const i=o;for(;o=r);)++o;return this.origEnd=r+o,i}}class po{static addStringTerminator(e,t,n){if("\n"===n[n.length-1])return n;const r=po.endOfWhiteSpace(e,t);return r>=e.length||"\n"===e[r]?n+"\n":n}static atDocumentBoundary(e,t,n){const r=e[t];if(!r)return!0;const o=e[t-1];if(o&&"\n"!==o)return!1;if(n){if(r!==n)return!1}else if(r!==so.DIRECTIVES_END&&r!==so.DOCUMENT_END)return!1;const i=e[t+1],s=e[t+2];if(i!==r||s!==r)return!1;const a=e[t+3];return!a||"\n"===a||"\t"===a||" "===a}static endOfIdentifier(e,t){let n=e[t];const r="<"===n,o=r?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];for(;n&&-1===o.indexOf(n);)n=e[t+=1];return r&&">"===n&&(t+=1),t}static endOfIndent(e,t){let n=e[t];for(;" "===n;)n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];for(;n&&"\n"!==n;)n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];for(;"\t"===n||" "===n;)n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if("\n"===n)return t;for(;n&&"\n"!==n;)n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=po.endOfIndent(e,n);if(r>n+t)return r;{const t=po.endOfWhiteSpace(e,r),n=e[t];if(!n||"\n"===n)return t}return null}static atBlank(e,t,n){const r=e[t];return"\n"===r||"\t"===r||" "===r||n&&!r}static nextNodeIsIndented(e,t,n){return!(!e||t<0)&&(t>0||n&&"-"===e)}static normalizeOffset(e,t){const n=e[t];return n?"\n"!==n&&"\n"===e[t-1]?t-1:po.endOfWhiteSpace(e,t):t}static foldNewline(e,t,n){let r=0,o=!1,i="",s=e[t+1];for(;" "===s||"\t"===s||"\n"===s;){switch(s){case"\n":r=0,t+=1,i+="\n";break;case"\t":r<=n&&(o=!0),t=po.endOfWhiteSpace(e,t+2)-1;break;case" ":r+=1,t+=1}s=e[t+1]}return i||(i=" "),s&&r<=n&&(o=!0),{fold:i,offset:t,error:o}}constructor(e,t,n){Object.defineProperty(this,"context",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context,o=this.props[e];return o&&r[o.start]===t?r.slice(o.start+(n?1:0),o.end):null}get anchor(){for(let e=0;e0?e.join("\n"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return!1;if(!this.valueRange)return!1;const{end:n}=this.valueRange;return e!==n||po.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;tn.setOrigRange(e,t))),t}toString(){const{context:{src:e},range:t,value:n}=this;if(null!=n)return n;const r=e.slice(t.start,t.end);return po.addStringTerminator(e,t.end,r)}}class go extends Error{constructor(e,t,n){if(!(n&&t instanceof po))throw new Error(`Invalid arguments for new ${e}`);super(),this.name=e,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if("number"==typeof this.offset){this.range=new ho(this.offset,this.offset+1);const t=e&&lo(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=` at line ${t}, column ${n}`;const r=e&&fo(this.linePos,e);r&&(this.message+=`:\n\n${r}\n`)}delete this.source}}class mo extends go{constructor(e,t){super("YAMLSemanticError",e,t)}}class yo extends po{static endOfLine(e,t,n){let r=e[t],o=t;for(;r&&"\n"!==r&&(!n||"["!==r&&"]"!==r&&"{"!==r&&"}"!==r&&","!==r);){const t=e[o+1];if(":"===r&&(!t||"\n"===t||"\t"===t||" "===t||n&&","===t))break;if((" "===r||"\t"===r)&&"#"===t)break;o+=1,r=t}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];for(;ei?n.slice(i,r+1):e)}else o+=e}const i=n[e];switch(i){case"\t":return{errors:[new mo(this,"Plain value cannot start with a tab character")],str:o};case"@":case"`":return{errors:[new mo(this,`Plain value cannot start with reserved character ${i}`)],str:o};default:return o}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let o=e,i=e;for(let e=r[o];"\n"===e&&!po.atDocumentBoundary(r,o+1);e=r[o]){const e=po.endOfBlockIndent(r,t,o+1);if(null===e||"#"===r[e])break;"\n"===r[e]?o=e:(i=yo.endOfLine(r,e,n),o=i)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=i,i}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let o=t;const i=r[o];return i&&"#"!==i&&"\n"!==i&&(o=yo.endOfLine(r,t,n)),this.valueRange=new ho(t,o),o=po.endOfWhiteSpace(r,o),o=this.parseComment(o),this.hasComment&&!this.valueRange.isEmpty()||(o=this.parseBlockValue(o)),o}}var vo={Char:so,Node:po,PlainValue:yo,Range:ho,Type:ao,YAMLError:go,YAMLReferenceError:class extends go{constructor(e,t){super("YAMLReferenceError",e,t)}},YAMLSemanticError:mo,YAMLSyntaxError:class extends go{constructor(e,t){super("YAMLSyntaxError",e,t)}},YAMLWarning:class extends go{constructor(e,t){super("YAMLWarning",e,t)}},_defineProperty:function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},defaultTagPrefix:"tag:yaml.org,2002:",defaultTags:{MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"}};class wo extends vo.Node{constructor(){super(vo.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,t){return this.context=e,this.range=new vo.Range(t,t+1),t+1}}class bo extends vo.Node{constructor(e,t){super(e,t),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{atLineStart:o,lineStart:i}=e;o||this.type!==vo.Type.SEQ_ITEM||(this.error=new vo.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));const s=o?t-i:e.indent;let a=vo.Node.endOfWhiteSpace(r,t+1),c=r[a];const u="#"===c,l=[];let f=null;for(;"\n"===c||"#"===c;){if("#"===c){const e=vo.Node.endOfLine(r,a+1);l.push(new vo.Range(a,e)),a=e}else{o=!0,i=a+1;"\n"===r[vo.Node.endOfWhiteSpace(r,i)]&&0===l.length&&(f=new wo,i=f.parse({src:r},i)),a=vo.Node.endOfIndent(r,i)}c=r[a]}if(vo.Node.nextNodeIsIndented(c,a-(i+s),this.type!==vo.Type.SEQ_ITEM)?this.node=n({atLineStart:o,inCollection:!1,indent:s,lineStart:i,parent:this},a):c&&i>t+1&&(a=i-1),this.node){if(f){const t=e.parent.items||e.parent.contents;t&&t.push(f)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(u){const e=l[0];this.props.push(e),a=e.end}else a=vo.Node.endOfLine(r,t+1);const h=this.node?this.node.valueRange.end:a;return this.valueRange=new vo.Range(t,h),a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:r}=this;if(null!=r)return r;const o=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return vo.Node.addStringTerminator(e,n.end,o)}}class _o extends vo.Node{constructor(){super(vo.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);return this.range=new vo.Range(t,n),n}}function Eo(e){let t=e;for(;t instanceof bo;)t=t.node;if(!(t instanceof Oo))return null;const n=t.items.length;let r=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===vo.Type.COMMENT){const{indent:t,lineStart:o}=n.context;if(t>0&&n.range.start>=o+t)break;r=e}else{if(n.type!==vo.Type.BLANK_LINE)break;r=e}}if(-1===r)return null;const o=t.items.splice(r,n-r),i=o[0].range.start;for(;t.range.end=i,t.valueRange&&t.valueRange.end>i&&(t.valueRange.end=i),t!==e;)t=t.context.parent;return o}class Oo extends vo.Node{static nextContentHasIndent(e,t,n){const r=vo.Node.endOfLine(e,t)+1,o=e[t=vo.Node.endOfWhiteSpace(e,r)];return!!o&&(t>=r+n||("#"===o||"\n"===o)&&Oo.nextContentHasIndent(e,t,n))}constructor(e){super(e.type===vo.Type.SEQ_ITEM?vo.Type.SEQ:vo.Type.MAP);for(let t=e.props.length-1;t>=0;--t)if(e.props[t].start0}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let o=vo.Node.startOfLine(r,t);const i=this.items[0];i.context.parent=this,this.valueRange=vo.Range.copy(i.valueRange);const s=i.range.start-i.context.lineStart;let a=t;a=vo.Node.normalizeOffset(r,a);let c=r[a],u=vo.Node.endOfWhiteSpace(r,o)===a,l=!1;for(;c;){for(;"\n"===c||"#"===c;){if(u&&"\n"===c&&!l){const e=new wo;if(a=e.parse({src:r},a),this.valueRange.end=a,a>=r.length){c=null;break}this.items.push(e),a-=1}else if("#"===c){if(a=r.length){c=null;break}}if(o=a+1,a=vo.Node.endOfIndent(r,o),vo.Node.atBlank(r,a)){const e=vo.Node.endOfWhiteSpace(r,a),t=r[e];t&&"\n"!==t&&"#"!==t||(a=e)}c=r[a],u=!0}if(!c)break;if(a!==o+s&&(u||":"!==c)){if(at&&(a=o);break}if(!this.error){const e="All collection items must start at the same column";this.error=new vo.YAMLSyntaxError(this,e)}}if(i.type===vo.Type.SEQ_ITEM){if("-"!==c){o>t&&(a=o);break}}else if("-"===c&&!this.error){const e=r[a+1];if(!e||"\n"===e||"\t"===e||" "===e){const e="A collection cannot be both a mapping and a sequence";this.error=new vo.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:!0,indent:s,lineStart:o,parent:this},a);if(!e)return a;if(this.items.push(e),this.valueRange.end=e.valueRange.end,a=vo.Node.normalizeOffset(r,e.range.end),c=r[a],u=!1,l=e.includesTrailingLines,c){let e=a-1,t=r[e];for(;" "===t||"\t"===t;)t=r[--e];"\n"===t&&(o=e+1,u=!0)}const f=Eo(e);f&&Array.prototype.push.apply(this.items,f)}return a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.items.forEach((n=>{t=n.setOrigRanges(e,t)})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;let o=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e0&&(this.contents=this.directives,this.directives=[]),o}return t[o]?(this.directivesEndMarker=new vo.Range(o,o+3),o+3):(r?this.error=new vo.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:t,src:n}=this.context;this.contents||(this.contents=[]);let r=e;for(;"-"===n[r-1];)r-=1;let o=vo.Node.endOfWhiteSpace(n,e),i=r===e;for(this.valueRange=new vo.Range(o);!vo.Node.atDocumentBoundary(n,o,vo.Char.DOCUMENT_END);){switch(n[o]){case"\n":if(i){const e=new wo;o=e.parse({src:n},o),o{t=n.setOrigRanges(e,t)})),this.directivesEndMarker&&(t=this.directivesEndMarker.setOrigRange(e,t)),this.contents.forEach((n=>{t=n.setOrigRanges(e,t)})),this.documentEndMarker&&(t=this.documentEndMarker.setOrigRange(e,t)),t}toString(){const{contents:e,directives:t,value:n}=this;if(null!=n)return n;let r=t.join("");return e.length>0&&((t.length>0||e[0].type===vo.Type.COMMENT)&&(r+="---\n"),r+=e.join("")),"\n"!==r[r.length-1]&&(r+="\n"),r}}class Mo extends vo.Node{parse(e,t){this.context=e;const{src:n}=e;let r=vo.Node.endOfIdentifier(n,t+1);return this.valueRange=new vo.Range(t+1,r),r=vo.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}const Lo="CLIP",No="KEEP",To="STRIP";class Po extends vo.Node{constructor(e,t){super(e,t),this.blockIndent=null,this.chomping=Lo,this.header=null}get includesTrailingLines(){return this.chomping===No}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:r}=this.context;if(this.valueRange.isEmpty())return"";let o=null,i=r[t-1];for(;"\n"===i||"\t"===i||" "===i;){if(t-=1,t<=e){if(this.chomping===No)break;return""}"\n"===i&&(o=t),i=r[t-1]}let s=t+1;o&&(this.chomping===No?(s=o,t=this.valueRange.end):t=o);const a=n+this.blockIndent,c=this.type===vo.Type.BLOCK_FOLDED;let u=!0,l="",f="",h=!1;for(let n=e;ns&&(s=c);o="\n"===n[e]?e:i=vo.Node.endOfLine(n,e)}return this.chomping!==No&&(o=n[i]?i+1:i),this.valueRange=new vo.Range(e+1,o),o}parse(e,t){this.context=e;const{src:n}=e;let r=this.parseBlockHeader(t);return r=vo.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r=this.parseBlockValue(r),r}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.header?this.header.setOrigRange(e,t):t}}class Co extends vo.Node{constructor(e,t){super(e,t),this.items=null}prevNodeIsJsonLike(e=this.items.length){const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===vo.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{indent:o,lineStart:i}=e,s=r[t];this.items=[{char:s,offset:t}];let a=vo.Node.endOfWhiteSpace(r,t+1);for(s=r[a];s&&"]"!==s&&"}"!==s;){switch(s){case"\n":i=a+1;if("\n"===r[vo.Node.endOfWhiteSpace(r,i)]){const e=new wo;i=e.parse({src:r},i),this.items.push(e)}if(a=vo.Node.endOfIndent(r,i),a<=i+o&&(s=r[a],a{if(n instanceof vo.Node)t=n.setOrigRanges(e,t);else if(0===e.length)n.origOffset=n.offset;else{let r=t;for(;rn.offset);)++r;n.origOffset=n.offset+r,t=r}})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;const o=t.filter((e=>e instanceof vo.Node));let i="",s=n.start;return o.forEach((t=>{const n=e.slice(s,t.range.start);s=t.range.end,i+=n+String(t),"\n"===i[i.length-1]&&"\n"!==e[s-1]&&"\n"===e[s]&&(s+=1)})),i+=e.slice(s,n.end),vo.Node.addStringTerminator(e,n.end,i)}}class xo extends vo.Node{static endOfQuote(e,t){let n=e[t];for(;n&&'"'!==n;)n=e[t+="\\"===n?2:1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;'"'!==o[n-1]&&e.push(new vo.YAMLSyntaxError(this,'Missing closing "quote'));let i="";for(let s=t+1;se?o.slice(e,s+1):t)}else i+=t}return e.length>0?{errors:e,str:i}:i}parseCharCode(e,t,n){const{src:r}=this.context,o=r.substr(e,t),i=o.length===t&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(i)?(n.push(new vo.YAMLSyntaxError(this,`Invalid escape sequence ${r.substr(e-2,t+2)}`)),r.substr(e-2,t+2)):String.fromCodePoint(i)}parse(e,t){this.context=e;const{src:n}=e;let r=xo.endOfQuote(n,t+1);return this.valueRange=new vo.Range(t,r),r=vo.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class Ro extends vo.Node{static endOfQuote(e,t){let n=e[t];for(;n;)if("'"===n){if("'"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;"'"!==o[n-1]&&e.push(new vo.YAMLSyntaxError(this,"Missing closing 'quote"));let i="";for(let s=t+1;se?o.slice(e,s+1):t)}else i+=t}return e.length>0?{errors:e,str:i}:i}parse(e,t){this.context=e;const{src:n}=e;let r=Ro.endOfQuote(n,t+1);return this.valueRange=new vo.Range(t,r),r=vo.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class Io{static parseType(e,t,n){switch(e[t]){case"*":return vo.Type.ALIAS;case">":return vo.Type.BLOCK_FOLDED;case"|":return vo.Type.BLOCK_LITERAL;case"{":return vo.Type.FLOW_MAP;case"[":return vo.Type.FLOW_SEQ;case"?":return!n&&vo.Node.atBlank(e,t+1,!0)?vo.Type.MAP_KEY:vo.Type.PLAIN;case":":return!n&&vo.Node.atBlank(e,t+1,!0)?vo.Type.MAP_VALUE:vo.Type.PLAIN;case"-":return!n&&vo.Node.atBlank(e,t+1,!0)?vo.Type.SEQ_ITEM:vo.Type.PLAIN;case'"':return vo.Type.QUOTE_DOUBLE;case"'":return vo.Type.QUOTE_SINGLE;default:return vo.Type.PLAIN}}constructor(e={},{atLineStart:t,inCollection:n,inFlow:r,indent:o,lineStart:i,parent:s}={}){vo._defineProperty(this,"parseNode",((e,t)=>{if(vo.Node.atDocumentBoundary(this.src,t))return null;const n=new Io(this,e),{props:r,type:o,valueStart:i}=n.parseProps(t),s=function(e,t){switch(e){case vo.Type.ALIAS:return new Mo(e,t);case vo.Type.BLOCK_FOLDED:case vo.Type.BLOCK_LITERAL:return new Po(e,t);case vo.Type.FLOW_MAP:case vo.Type.FLOW_SEQ:return new Co(e,t);case vo.Type.MAP_KEY:case vo.Type.MAP_VALUE:case vo.Type.SEQ_ITEM:return new bo(e,t);case vo.Type.COMMENT:case vo.Type.PLAIN:return new vo.PlainValue(e,t);case vo.Type.QUOTE_DOUBLE:return new xo(e,t);case vo.Type.QUOTE_SINGLE:return new Ro(e,t);default:return null}}(o,r);let a=s.parse(n,i);if(s.range=new vo.Range(t,a),a<=t&&(s.error=new Error("Node#parse consumed no characters"),s.error.parseEnd=a,s.error.source=s,s.range.end=t+1),n.nodeStartsCollection(s)){s.error||n.atLineStart||n.parent.type!==vo.Type.DOCUMENT||(s.error=new vo.YAMLSyntaxError(s,"Block collection must not have preceding content here (e.g. directives-end indicator)"));const e=new Oo(s);return a=e.parse(new Io(n),a),e.range=new vo.Range(t,a),e}return s})),this.atLineStart=null!=t?t:e.atLineStart||!1,this.inCollection=null!=n?n:e.inCollection||!1,this.inFlow=null!=r?r:e.inFlow||!1,this.indent=null!=o?o:e.indent,this.lineStart=null!=i?i:e.lineStart,this.parent=null!=s?s:e.parent||{},this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:r}=this;if(t||n)return!1;if(e instanceof bo)return!0;let o=e.range.end;return"\n"!==r[o]&&"\n"!==r[o-1]&&(o=vo.Node.endOfWhiteSpace(r,o),":"===r[o])}parseProps(e){const{inFlow:t,parent:n,src:r}=this,o=[];let i=!1,s=r[e=this.atLineStart?vo.Node.endOfIndent(r,e):vo.Node.endOfWhiteSpace(r,e)];for(;s===vo.Char.ANCHOR||s===vo.Char.COMMENT||s===vo.Char.TAG||"\n"===s;){if("\n"===s){let t,o=e;do{t=o+1,o=vo.Node.endOfIndent(r,t)}while("\n"===r[o]);const s=o-(t+this.indent),a=n.type===vo.Type.SEQ_ITEM&&n.context.atLineStart;if("#"!==r[o]&&!vo.Node.nextNodeIsIndented(r[o],s,!a))break;this.atLineStart=!0,this.lineStart=t,i=!1,e=o}else if(s===vo.Char.COMMENT){const t=vo.Node.endOfLine(r,e+1);o.push(new vo.Range(e,t)),e=t}else{let t=vo.Node.endOfIdentifier(r,e+1);s===vo.Char.TAG&&","===r[t]&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(r.slice(e+1,t+13))&&(t=vo.Node.endOfIdentifier(r,t+5)),o.push(new vo.Range(e,t)),i=!0,e=vo.Node.endOfWhiteSpace(r,t)}s=r[e]}i&&":"===s&&vo.Node.atBlank(r,e+1,!0)&&(e-=1);return{props:o,type:Io.parseType(r,e,t),valueStart:e}}}var ko={parse:function(e){const t=[];-1!==e.indexOf("\r")&&(e=e.replace(/\r\n?/g,((e,n)=>(e.length>1&&t.push(n),"\n"))));const n=[];let r=0;do{const t=new Ao,o=new Io({src:e});r=t.parse(o,r),n.push(t)}while(r{if(0===t.length)return!1;for(let e=1;en.join("...\n"),n}};function Bo(e,t,n){return n?-1===n.indexOf("\n")?`${e} #${n}`:`${e}\n`+n.replace(/^/gm,`${t||""}#`):e}class Yo{}function jo(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>jo(e,String(t),n)));if(e&&"function"==typeof e.toJSON){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=e=>{r.res=e,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return n&&n.keep||"bigint"!=typeof e?e:Number(e)}class $o extends Yo{constructor(e){super(),this.value=e}toJSON(e,t){return t&&t.keep?this.value:jo(this.value,e,t)}toString(){return String(this.value)}}function Do(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e];if(Number.isInteger(n)&&n>=0){const e=[];e[n]=r,r=e}else{const e={};Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),r=e}}return e.createNode(r,!1)}const Fo=e=>null==e||"object"==typeof e&&e[Symbol.iterator]().next().done;class Uo extends Yo{constructor(e){super(),vo._defineProperty(this,"items",[]),this.schema=e}addIn(e,t){if(Fo(e))this.add(t);else{const[n,...r]=e,o=this.get(n,!0);if(o instanceof Uo)o.addIn(r,t);else{if(void 0!==o||!this.schema)throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`);this.set(n,Do(this.schema,r,t))}}}deleteIn([e,...t]){if(0===t.length)return this.delete(e);const n=this.get(e,!0);if(n instanceof Uo)return n.deleteIn(t);throw new Error(`Expected YAML collection at ${e}. Remaining path: ${t}`)}getIn([e,...t],n){const r=this.get(e,!0);return 0===t.length?!n&&r instanceof $o?r.value:r:r instanceof Uo?r.getIn(t,n):void 0}hasAllNullValues(){return this.items.every((e=>{if(!e||"PAIR"!==e.type)return!1;const t=e.value;return null==t||t instanceof $o&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn([e,...t]){if(0===t.length)return this.has(e);const n=this.get(e,!0);return n instanceof Uo&&n.hasIn(t)}setIn([e,...t],n){if(0===t.length)this.set(e,n);else{const r=this.get(e,!0);if(r instanceof Uo)r.setIn(t,n);else{if(void 0!==r||!this.schema)throw new Error(`Expected YAML collection at ${e}. Remaining path: ${t}`);this.set(e,Do(this.schema,t,n))}}}toJSON(){return null}toString(e,{blockItem:t,flowChars:n,isMap:r,itemIndent:o},i,s){const{indent:a,indentStep:c,stringify:u}=e,l=this.type===vo.Type.FLOW_MAP||this.type===vo.Type.FLOW_SEQ||e.inFlow;l&&(o+=c);const f=r&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:o,inFlow:l,type:null});let h=!1,p=!1;const d=this.items.reduce(((t,n,r)=>{let i;n&&(!h&&n.spaceBefore&&t.push({type:"comment",str:""}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:"comment",str:`#${e}`})})),n.comment&&(i=n.comment),l&&(!h&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(p=!0)),h=!1;let s=u(n,e,(()=>i=null),(()=>h=!0));return l&&!p&&s.includes("\n")&&(p=!0),l&&re.str));if(p||r.reduce(((e,t)=>e+t.length+2),2)>Uo.maxFlowStringSingleLineLength){g=e;for(const e of r)g+=e?`\n${c}${a}${e}`:"\n";g+=`\n${a}${t}`}else g=`${e} ${r.join(" ")} ${t}`}else{const e=d.map(t);g=e.shift();for(const t of e)g+=t?`\n${a}${t}`:"\n"}return this.comment?(g+="\n"+this.comment.replace(/^/gm,`${a}#`),i&&i()):h&&s&&s(),g}}function Wo(e){let t=e instanceof $o?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}vo._defineProperty(Uo,"maxFlowStringSingleLineLength",60);class Ko extends Uo{add(e){this.items.push(e)}delete(e){const t=Wo(e);if("number"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=Wo(e);if("number"!=typeof n)return;const r=this.items[n];return!t&&r instanceof $o?r.value:r}has(e){const t=Wo(e);return"number"==typeof t&&t"comment"===e.type?e.str:`- ${e.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(e.indent||"")+" "},t,n):JSON.stringify(this)}}class Vo extends Yo{constructor(e,t=null){super(),this.key=e,this.value=t,this.type=Vo.Type.PAIR}get commentBefore(){return this.key instanceof Yo?this.key.commentBefore:void 0}set commentBefore(e){if(null==this.key&&(this.key=new $o(null)),!(this.key instanceof Yo)){throw new Error("Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.")}this.key.commentBefore=e}addToJSMap(e,t){const n=jo(this.key,"",e);if(t instanceof Map){const r=jo(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{const r=((e,t,n)=>null===t?"":"object"!=typeof t?String(t):e instanceof Yo&&n&&n.doc?e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t))(this.key,n,e),o=jo(this.value,r,e);r in t?Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[r]=o}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:r,indentSeq:o,simpleKeys:i}=e.doc.options;let{key:s,value:a}=this,c=s instanceof Yo&&s.comment;if(i){if(c)throw new Error("With simple keys, key nodes cannot have comments");if(s instanceof Uo){throw new Error("With simple keys, collection cannot be used as a key value")}}let u=!i&&(!s||c||(s instanceof Yo?s instanceof Uo||s.type===vo.Type.BLOCK_FOLDED||s.type===vo.Type.BLOCK_LITERAL:"object"==typeof s));const{doc:l,indent:f,indentStep:h,stringify:p}=e;e=Object.assign({},e,{implicitKey:!u,indent:f+h});let d=!1,g=p(s,e,(()=>c=null),(()=>d=!0));if(g=Bo(g,e.indent,c),!u&&g.length>1024){if(i)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");u=!0}if(e.allNullValues&&!i)return this.comment?(g=Bo(g,e.indent,this.comment),t&&t()):d&&!c&&n&&n(),e.inFlow&&!u?g:`? ${g}`;g=u?`? ${g}\n${f}:`:`${g}:`,this.comment&&(g=Bo(g,e.indent,this.comment),t&&t());let m="",y=null;if(a instanceof Yo){if(a.spaceBefore&&(m="\n"),a.commentBefore){m+=`\n${a.commentBefore.replace(/^/gm,`${e.indent}#`)}`}y=a.comment}else a&&"object"==typeof a&&(a=l.schema.createNode(a,!0));e.implicitKey=!1,!u&&!this.comment&&a instanceof $o&&(e.indentAtStart=g.length+1),d=!1,!o&&r>=2&&!e.inFlow&&!u&&a instanceof Ko&&a.type!==vo.Type.FLOW_SEQ&&!a.tag&&!l.anchors.getName(a)&&(e.indent=e.indent.substr(2));const v=p(a,e,(()=>y=null),(()=>d=!0));let w=" ";if(m||this.comment)w=`${m}\n${e.indent}`;else if(!u&&a instanceof Uo){("["===v[0]||"{"===v[0])&&!v.includes("\n")||(w=`\n${e.indent}`)}else"\n"===v[0]&&(w="");return d&&!y&&n&&n(),Bo(g+w+v,e.indent,y)}}vo._defineProperty(Vo,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const Qo=(e,t)=>{if(e instanceof qo){const n=t.get(e.source);return n.count*n.aliasCount}if(e instanceof Uo){let n=0;for(const r of e.items){const e=Qo(r,t);e>n&&(n=e)}return n}if(e instanceof Vo){const n=Qo(e.key,t),r=Qo(e.value,t);return Math.max(n,r)}return 1};class qo extends Yo{static stringify({range:e,source:t},{anchors:n,doc:r,implicitKey:o,inStringifyKey:i}){let s=Object.keys(n).find((e=>n[e]===t));if(!s&&i&&(s=r.anchors.getName(t)||r.anchors.newName()),s)return`*${s}${o?" ":""}`;const a=r.anchors.getName(t)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${a} [${e}]`)}constructor(e){super(),this.source=e,this.type=vo.Type.ALIAS}set tag(e){throw new Error("Alias nodes cannot have tags")}toJSON(e,t){if(!t)return jo(this.source,e,t);const{anchors:n,maxAliasCount:r}=t,o=n.get(this.source);if(!o||void 0===o.res){const e="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new vo.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}if(r>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=Qo(this.source,n)),o.count*o.aliasCount>r)){const e="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new vo.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}return o.res}toString(e){return qo.stringify(this,e)}}function Jo(e,t){const n=t instanceof $o?t.value:t;for(const r of e)if(r instanceof Vo){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}vo._defineProperty(qo,"default",!0);class Go extends Uo{add(e,t){e?e instanceof Vo||(e=new Vo(e.key||e,e.value)):e=new Vo(e);const n=Jo(this.items,e.key),r=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error(`Key ${e.key} already set`);n.value=e.value}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));-1===t?this.items.push(e):this.items.splice(t,0,e)}else this.items.push(e)}delete(e){const t=Jo(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=Jo(this.items,e),r=n&&n.value;return!t&&r instanceof $o?r.value:r}has(e){return!!Jo(this.items,e)}set(e,t){this.add(new Vo(e,t),!0)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!(e instanceof Vo))throw new Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return super.toString(e,{blockItem:e=>e.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},t,n)}}class Ho extends Vo{constructor(e){if(e instanceof Vo){let t=e.value;t instanceof Ko||(t=new Ko,t.items.push(e.value),t.range=e.value.range),super(e.key,t),this.range=e.range}else super(new $o("<<"),new Ko);this.type=Vo.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof Go))throw new Error("Merge sources must be maps");const r=n.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0})}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);return this.value=n,r}}const zo={defaultType:vo.Type.BLOCK_LITERAL,lineWidth:76},Zo={defaultType:vo.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function Xo(e,t,n){for(const{format:n,test:r,resolve:o}of t)if(r){const t=e.match(r);if(t){let e=o.apply(null,t);return e instanceof $o||(e=new $o(e)),n&&(e.format=n),e}}return n&&(e=n(e)),new $o(e)}const ei=(e,t)=>{let n=e[t+1];for(;" "===n||"\t"===n;){do{n=e[t+=1]}while(n&&"\n"!==n);n=e[t+1]}return t};function ti(e,t,n,{indentAtStart:r,lineWidth:o=80,minContentWidth:i=20,onFold:s,onOverflow:a}){if(!o||o<0)return e;const c=Math.max(1+i,1+o-t.length);if(e.length<=c)return e;const u=[],l={};let f,h,p=o-t.length;"number"==typeof r&&(r>o-Math.max(2,i)?u.push(0):p=o-r);let d,g=!1,m=-1,y=-1,v=-1;for("block"===n&&(m=ei(e,m),-1!==m&&(p=m+c));d=e[m+=1];){if("quoted"===n&&"\\"===d){switch(y=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}v=m}if("\n"===d)"block"===n&&(m=ei(e,m)),p=m+c,f=void 0;else{if(" "===d&&h&&" "!==h&&"\n"!==h&&"\t"!==h){const t=e[m+1];t&&" "!==t&&"\n"!==t&&"\t"!==t&&(f=m)}if(m>=p)if(f)u.push(f),p=f+c,f=void 0;else if("quoted"===n){for(;" "===h||"\t"===h;)h=d,d=e[m+=1],g=!0;const t=m>v+1?m-2:y-1;if(l[t])return e;u.push(t),l[t]=!0,p=t+c,f=void 0}else g=!0}h=d}if(g&&a&&a(),0===u.length)return e;s&&s();let w=e.slice(0,u[0]);for(let r=0;re?Object.assign({indentAtStart:e},Zo.fold):Zo.fold,ri=e=>/^(%|---|\.\.\.)/m.test(e);function oi(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=Zo.doubleQuoted,i=JSON.stringify(e);if(r)return i;const s=t.indent||(ri(e)?" ":"");let a="",c=0;for(let e=0,t=i[e];t;t=i[++e])if(" "===t&&"\\"===i[e+1]&&"n"===i[e+2]&&(a+=i.slice(c,e)+"\\ ",e+=1,c=e,t="\\"),"\\"===t)switch(i[e+1]){case"u":{a+=i.slice(c,e);const t=i.substr(e+2,4);switch(t){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:"00"===t.substr(0,2)?a+="\\x"+t.substr(2):a+=i.substr(e,6)}e+=5,c=e+1}break;case"n":if(n||'"'===i[e+2]||i.lengthr)return!0;if(n=t+1,o-n<=r)return!1}return!0}(n,Zo.fold.lineWidth,s.length));let u=c?"|":">";if(!n)return u+"\n";let l="",f="";if(n=n.replace(/[\n\t ]*$/,(e=>{const t=e.indexOf("\n");return-1===t?u+="-":n!==e&&t===e.length-1||(u+="+",i&&i()),f=e.replace(/\n$/,""),""})).replace(/^[\n ]*/,(e=>{-1!==e.indexOf(" ")&&(u+=a);const t=e.match(/ +$/);return t?(l=e.slice(0,-t[0].length),t[0]):(l=e,"")})),f&&(f=f.replace(/\n+(?!\n|$)/g,`$&${s}`)),l&&(l=l.replace(/\n+/g,`$&${s}`)),e&&(u+=" #"+e.replace(/ ?[\r\n]+/g," "),o&&o()),!n)return`${u}${a}\n${s}${f}`;if(c)return n=n.replace(/\n+/g,`$&${s}`),`${u}\n${s}${l}${n}${f}`;n=n.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${s}`);const h=ti(`${l}${n}${f}`,s,"block",Zo.fold);return`${u}\n${s}${h}`}function ai(e,t){let n,r,o;switch(t.type){case vo.Type.FLOW_MAP:n="}",r="flow map";break;case vo.Type.FLOW_SEQ:n="]",r="flow sequence";break;default:return void e.push(new vo.YAMLSemanticError(t,"Not a flow collection!?"))}for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==vo.Type.COMMENT){o=n;break}}if(o&&o.char!==n){const i=`Expected ${r} to end with ${n}`;let s;"number"==typeof o.offset?(s=new vo.YAMLSemanticError(t,i),s.offset=o.offset+1):(s=new vo.YAMLSemanticError(o,i),o.range&&o.range.end&&(s.offset=o.range.end-o.range.start)),e.push(s)}}function ci(e,t){const n=t.context.src[t.range.start-1];if("\n"!==n&&"\t"!==n&&" "!==n){const n="Comments must be separated from other tokens by white space characters";e.push(new vo.YAMLSemanticError(t,n))}}function ui(e,t){const n=String(t),r=n.substr(0,8)+"..."+n.substr(-8);return new vo.YAMLSemanticError(e,`The "${r}" key is too long`)}function li(e,t){for(const{afterKey:n,before:r,comment:o}of t){let t=e.items[r];t?(n&&t.value&&(t=t.value),void 0===o?!n&&t.commentBefore||(t.spaceBefore=!0):t.commentBefore?t.commentBefore+="\n"+o:t.commentBefore=o):void 0!==o&&(e.comment?e.comment+="\n"+o:e.comment=o)}}function fi(e,t){const n=t.strValue;return n?"string"==typeof n?n:(n.errors.forEach((n=>{n.source||(n.source=t),e.errors.push(n)})),n.str):""}function hi(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:r,suffix:i,verbatim:s}=n;if(s){if("!"!==s&&"!!"!==s)return s;const n=`Verbatim tags aren't resolved, so ${s} is invalid.`;e.errors.push(new vo.YAMLSemanticError(t,n))}else if("!"!==r||i)try{return function(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find((e=>e.handle===n));if(!o){const r=e.getDefaults().tagPrefixes;if(r&&(o=r.find((e=>e.handle===n))),!o)throw new vo.YAMLSemanticError(t,`The ${n} tag handle is non-default and was not declared.`)}if(!r)throw new vo.YAMLSemanticError(t,`The ${n} tag has no suffix.`);if("!"===n&&"1.0"===(e.version||e.options.version)){if("^"===r[0])return e.warnings.push(new vo.YAMLWarning(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){const e=r.match(/^([a-z0-9-]+)\/(.*)/i);return e?`tag:${e[1]}.yaml.org,2002:${e[2]}`:`tag:${r}`}}return o.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else o=!0}switch(r){case vo.Type.BLOCK_FOLDED:case vo.Type.BLOCK_LITERAL:case vo.Type.QUOTE_DOUBLE:case vo.Type.QUOTE_SINGLE:return vo.defaultTags.STR;case vo.Type.FLOW_MAP:case vo.Type.MAP:return vo.defaultTags.MAP;case vo.Type.FLOW_SEQ:case vo.Type.SEQ:return vo.defaultTags.SEQ;case vo.Type.PLAIN:return o?vo.defaultTags.STR:null;default:return null}}function pi(e,t,n){const{tags:r}=e.schema,o=[];for(const i of r)if(i.tag===n){if(!i.test){const n=i.resolve(e,t);return n instanceof Uo?n:new $o(n)}o.push(i)}const i=fi(e,t);return"string"==typeof i&&o.length>0?Xo(i,o,r.scalarFallback):null}function di(e,t,n){try{const r=pi(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{const r=function({type:e}){switch(e){case vo.Type.FLOW_MAP:case vo.Type.MAP:return vo.defaultTags.MAP;case vo.Type.FLOW_SEQ:case vo.Type.SEQ:return vo.defaultTags.SEQ;default:return vo.defaultTags.STR}}(t);if(!r)throw new Error(`The tag ${n} is unavailable`);const o=`The tag ${n} is unavailable, falling back to ${r}`;e.warnings.push(new vo.YAMLWarning(t,o));const i=pi(e,t,r);return i.tag=n,i}catch(n){const r=new vo.YAMLReferenceError(t,n.message);return r.stack=n.stack,e.errors.push(r),null}}function gi(e,t){const n={before:[],after:[]};let r=!1,o=!1;const i=(e=>{if(!e)return!1;const{type:t}=e;return t===vo.Type.MAP_KEY||t===vo.Type.MAP_VALUE||t===vo.Type.SEQ_ITEM})(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:s,end:a}of i)switch(t.context.src[s]){case vo.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(s)){const n="Comments must be separated from other tokens by white space characters";e.push(new vo.YAMLSemanticError(t,n))}const{header:r,valueRange:o}=t;(o&&(s>o.start||r&&s>r.start)?n.after:n.before).push(t.context.src.slice(s+1,a));break}case vo.Char.ANCHOR:if(r){const n="A node can have at most one anchor";e.push(new vo.YAMLSemanticError(t,n))}r=!0;break;case vo.Char.TAG:if(o){const n="A node can have at most one tag";e.push(new vo.YAMLSemanticError(t,n))}o=!0}return{comments:n,hasAnchor:r,hasTag:o}}function mi(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=gi(e.errors,t);if(r){const{anchors:n}=e,r=t.anchor,o=n.getNode(r);o&&(n.map[n.newName(r)]=o),n.map[r]=t}if(t.type===vo.Type.ALIAS&&(r||o)){const n="An alias node must not specify any properties";e.errors.push(new vo.YAMLSemanticError(t,n))}const i=function(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===vo.Type.ALIAS){const e=t.rawValue,o=n.getNode(e);if(!o){const n=`Aliased anchor not found: ${e}`;return r.push(new vo.YAMLReferenceError(t,n)),null}const i=new qo(o);return n._cstAliases.push(i),i}const i=hi(e,t);if(i)return di(e,t,i);if(t.type!==vo.Type.PLAIN){const e=`Failed to resolve ${t.type} node here`;return r.push(new vo.YAMLSyntaxError(t,e)),null}try{return Xo(fi(e,t),o.tags,o.tags.scalarFallback)}catch(e){return e.source||(e.source=t),r.push(e),null}}(e,t);if(i){i.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(i.cstNode=t),e.options.keepNodeTypes&&(i.type=t.type);const r=n.before.join("\n");r&&(i.commentBefore=i.commentBefore?`${i.commentBefore}\n${r}`:r);const o=n.after.join("\n");o&&(i.comment=i.comment?`${i.comment}\n${o}`:o)}return t.resolved=i}function yi(e,t){if(!(({context:{lineStart:e,node:t,src:n},props:r})=>{if(0===r.length)return!1;const{start:o}=r[0];if(t&&o>t.valueRange.start)return!1;if(n[o]!==vo.Char.COMMENT)return!1;for(let t=e;t0){n=new vo.PlainValue(vo.Type.PLAIN,[]),n.context={parent:a,src:a.context.src};const e=a.range.start+1;if(n.range={start:e,end:e},n.valueRange={start:e,end:e},"number"==typeof a.range.origStart){const e=a.range.origStart+1;n.range.origStart=n.range.origEnd=e,n.valueRange.origStart=n.valueRange.origEnd=e}}const s=new Vo(o,mi(e,n));yi(a,s),r.push(s),o&&"number"==typeof i&&a.range.start>i+1024&&e.errors.push(ui(t,o)),o=void 0,i=null}break;default:void 0!==o&&r.push(new Vo(o)),o=mi(e,a),i=a.range.start,a.error&&e.errors.push(a.error);e:for(let n=s+1;;++n){const r=t.items[n];switch(r&&r.type){case vo.Type.BLANK_LINE:case vo.Type.COMMENT:continue e;case vo.Type.MAP_VALUE:break e;default:{const t="Implicit map keys need to be followed by map values";e.errors.push(new vo.YAMLSemanticError(a,t));break e}}}if(a.valueRangeContainsNewline){const t="Implicit map keys need to be on a single line";e.errors.push(new vo.YAMLSemanticError(a,t))}}}void 0!==o&&r.push(new Vo(o));return{comments:n,items:r}}(e,t),o=new Go;o.items=r,li(o,n);let i=!1;for(let n=0;n{if(e instanceof qo){const{type:t}=e.source;return t!==vo.Type.MAP&&t!==vo.Type.FLOW_MAP&&(i="Merge nodes aliases can only point to maps")}return i="Merge nodes can only have Alias nodes as values"})),i&&e.errors.push(new vo.YAMLSemanticError(t,i))}else for(let i=n+1;is+1024&&e.errors.push(ui(t,o));const{src:r}=c.context;for(let t=s;te instanceof Vo&&e.key instanceof Uo))){const n="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new vo.YAMLWarning(t,n))}return t.resolved=o,o},resolveString:fi,strOptions:Zo,stringifyNumber:function({format:e,minFractionDigits:t,tag:n,value:r}){if("bigint"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let o=JSON.stringify(r);if(!e&&t&&(!n||"tag:yaml.org,2002:float"===n)&&/^\d/.test(o)){let e=o.indexOf(".");e<0&&(e=o.length,o+=".");let n=t-(o.length-e-1);for(;n-- >0;)o+="0"}return o},stringifyString:function(e,t,n,r){const{defaultType:o}=Zo,{implicitKey:i,inFlow:s}=t;let{type:a,value:c}=e;"string"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));const u=o=>{switch(o){case vo.Type.BLOCK_FOLDED:case vo.Type.BLOCK_LITERAL:return si(e,t,n,r);case vo.Type.QUOTE_DOUBLE:return oi(c,t);case vo.Type.QUOTE_SINGLE:return ii(c,t);case vo.Type.PLAIN:return function(e,t,n,r){const{comment:o,type:i,value:s}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\n[\]{},]/.test(s)||l&&/[[\]{},]/.test(s))return oi(s,t);if(!s||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return c||l||-1===s.indexOf("\n")?-1!==s.indexOf('"')&&-1===s.indexOf("'")?ii(s,t):oi(s,t):si(e,t,n,r);if(!c&&!l&&i!==vo.Type.PLAIN&&-1!==s.indexOf("\n"))return si(e,t,n,r);if(""===u&&ri(s))return t.forceBlockIndent=!0,si(e,t,n,r);const f=s.replace(/\n+/g,`$&\n${u}`);if(a){const{tags:e}=t.doc.schema;if("string"!=typeof Xo(f,e,e.scalarFallback).value)return oi(s,t)}const h=c?f:ti(f,u,"flow",ni(t));return!o||l||-1===h.indexOf("\n")&&-1===o.indexOf("\n")?h:(n&&n(),function(e,t,n){return n?`#${n.replace(/[\s\S]^/gm,`$&${t}#`)}\n${t}${e}`:e}(h,u,o))}(e,t,n,r);default:return null}};a!==vo.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)?a=vo.Type.QUOTE_DOUBLE:!i&&!s||a!==vo.Type.BLOCK_FOLDED&&a!==vo.Type.BLOCK_LITERAL||(a=vo.Type.QUOTE_DOUBLE);let l=u(a);if(null===l&&(l=u(o),null===l))throw new Error(`Unsupported default string type ${o}`);return l},toJSON:jo},wi=void 0!==wi?wi:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},bi=[],_i=[],Ei="undefined"!=typeof Uint8Array?Uint8Array:Array,Oi=!1;function Si(){Oi=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t>18&63]+bi[o>>12&63]+bi[o>>6&63]+bi[63&o]);return i.join("")}function Mi(e){var t;Oi||Si();for(var n=e.length,r=n%3,o="",i=[],s=16383,a=0,c=n-r;ac?c:a+s));return 1===r?(t=e[n-1],o+=bi[t>>2],o+=bi[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=bi[t>>10],o+=bi[t>>4&63],o+=bi[t<<2&63],o+="="),i.push(o),i.join("")}function Li(e,t,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+e[t+f],f+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),i-=u}return(p?-1:1)*s*Math.pow(2,i-r)}function Ni(e,t,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*c-1)*Math.pow(2,o),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;e[n+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;e[n+p]=255&s,p+=d,s/=256,u-=8);e[n+p-d]|=128*g}var Ti={}.toString,Pi=Array.isArray||function(e){return"[object Array]"==Ti.call(e)};function Ci(){return Ri.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function xi(e,t){if(Ci()=Ci())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ci().toString(16)+" bytes");return 0|e}function $i(e){return!(null==e||!e._isBuffer)}function Di(e,t){if($i(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return hs(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return ps(e).length;default:if(r)return hs(e).length;t=(""+t).toLowerCase(),r=!0}}function Fi(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ts(this,t,n);case"utf8":case"utf-8":return Zi(this,t,n);case"ascii":return Xi(this,t,n);case"latin1":case"binary":return es(this,t,n);case"base64":return zi(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ns(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Ui(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Wi(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Ri.from(t,r)),$i(t))return 0===t.length?-1:Ki(e,t,n,r,o);if("number"==typeof t)return t&=255,Ri.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Ki(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function Ki(e,t,n,r,o){var i,s=1,a=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var l=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){for(var f=!0,h=0;ho&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function zi(e,t,n){return 0===t&&n===e.length?Mi(e):Mi(e.slice(t,n))}function Zi(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(i=e[o+1]))&&(c=(31&u)<<6|63&i)>127&&(l=c);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(c=(15&u)<<12|(63&i)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:i=e[o+1],s=e[o+2],a=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Ri.prototype.compare=function(e,t,n,r,o){if(!$i(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(i,s),c=this.slice(r,o),u=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return Vi(this,e,t,n);case"utf8":case"utf-8":return Qi(this,e,t,n);case"ascii":return qi(this,e,t,n);case"latin1":case"binary":return Ji(this,e,t,n);case"base64":return Gi(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Hi(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Ri.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Xi(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function os(e,t,n,r,o,i){if(!$i(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function is(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function ss(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function as(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function cs(e,t,n,r,o){return o||as(e,0,n,4),Ni(e,t,n,r,23,4),n+4}function us(e,t,n,r,o){return o||as(e,0,n,8),Ni(e,t,n,r,52,8),n+8}Ri.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},Ri.prototype.readUInt8=function(e,t){return t||rs(e,1,this.length),this[e]},Ri.prototype.readUInt16LE=function(e,t){return t||rs(e,2,this.length),this[e]|this[e+1]<<8},Ri.prototype.readUInt16BE=function(e,t){return t||rs(e,2,this.length),this[e]<<8|this[e+1]},Ri.prototype.readUInt32LE=function(e,t){return t||rs(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ri.prototype.readUInt32BE=function(e,t){return t||rs(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ri.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||rs(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},Ri.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||rs(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Ri.prototype.readInt8=function(e,t){return t||rs(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ri.prototype.readInt16LE=function(e,t){t||rs(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Ri.prototype.readInt16BE=function(e,t){t||rs(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Ri.prototype.readInt32LE=function(e,t){return t||rs(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ri.prototype.readInt32BE=function(e,t){return t||rs(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ri.prototype.readFloatLE=function(e,t){return t||rs(e,4,this.length),Li(this,e,!0,23,4)},Ri.prototype.readFloatBE=function(e,t){return t||rs(e,4,this.length),Li(this,e,!1,23,4)},Ri.prototype.readDoubleLE=function(e,t){return t||rs(e,8,this.length),Li(this,e,!0,52,8)},Ri.prototype.readDoubleBE=function(e,t){return t||rs(e,8,this.length),Li(this,e,!1,52,8)},Ri.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||os(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Ri.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,1,255,0),Ri.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ri.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,2,65535,0),Ri.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):is(this,e,t,!0),t+2},Ri.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,2,65535,0),Ri.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):is(this,e,t,!1),t+2},Ri.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,4,4294967295,0),Ri.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ss(this,e,t,!0),t+4},Ri.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,4,4294967295,0),Ri.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ss(this,e,t,!1),t+4},Ri.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);os(this,e,t,n,o-1,-o)}var i=0,s=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+n},Ri.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);os(this,e,t,n,o-1,-o)}var i=n-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},Ri.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,1,127,-128),Ri.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ri.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,2,32767,-32768),Ri.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):is(this,e,t,!0),t+2},Ri.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,2,32767,-32768),Ri.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):is(this,e,t,!1),t+2},Ri.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,4,2147483647,-2147483648),Ri.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ss(this,e,t,!0),t+4},Ri.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||os(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ri.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ss(this,e,t,!1),t+4},Ri.prototype.writeFloatLE=function(e,t,n){return cs(this,e,t,!0,n)},Ri.prototype.writeFloatBE=function(e,t,n){return cs(this,e,t,!1,n)},Ri.prototype.writeDoubleLE=function(e,t,n){return us(this,e,t,!0,n)},Ri.prototype.writeDoubleBE=function(e,t,n){return us(this,e,t,!1,n)},Ri.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Ri.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function ps(e){return function(e){var t,n,r,o,i,s;Oi||Si();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[a-2]?2:"="===e[a-1]?1:0,s=new Ei(3*a/4-i),r=i>0?a-4:a;var c=0;for(t=0,n=0;t>16&255,s[c++]=o>>8&255,s[c++]=255&o;return 2===i?(o=_i[e.charCodeAt(t)]<<2|_i[e.charCodeAt(t+1)]>>4,s[c++]=255&o):1===i&&(o=_i[e.charCodeAt(t)]<<10|_i[e.charCodeAt(t+1)]<<4|_i[e.charCodeAt(t+2)]>>2,s[c++]=o>>8&255,s[c++]=255&o),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(ls,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function ds(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function gs(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ms(){throw new Error("setTimeout has not been defined")}function ys(){throw new Error("clearTimeout has not been defined")}var vs=ms,ws=ys;function bs(e){if(vs===setTimeout)return setTimeout(e,0);if((vs===ms||!vs)&&setTimeout)return vs=setTimeout,setTimeout(e,0);try{return vs(e,0)}catch(t){try{return vs.call(null,e,0)}catch(t){return vs.call(this,e,0)}}}"function"==typeof wi.setTimeout&&(vs=setTimeout),"function"==typeof wi.clearTimeout&&(ws=clearTimeout);var _s,Es=[],Os=!1,Ss=-1;function As(){Os&&_s&&(Os=!1,_s.length?Es=_s.concat(Es):Ss=-1,Es.length&&Ms())}function Ms(){if(!Os){var e=bs(As);Os=!0;for(var t=Es.length;t;){for(_s=Es,Es=[];++Ss1)for(var n=1;ne instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(e,t)=>{const n=vi.resolveString(e,t);return Ri.from(n,"base64")},options:vi.binaryOptions,stringify:({comment:e,type:t,value:n},r,o,i)=>{let s;if(s=n instanceof Ri?n.toString("base64"):Ri.from(n.buffer).toString("base64"),t||(t=vi.binaryOptions.defaultType),t===vo.Type.QUOTE_DOUBLE)n=s;else{const{lineWidth:e}=vi.binaryOptions,r=Math.ceil(s.length/e),o=new Array(r);for(let t=0,n=0;t1){const e="Each pair must have its own sequence indicator";throw new vo.YAMLSemanticError(t,e)}const e=r.items[0]||new vi.Pair;r.commentBefore&&(e.commentBefore=e.commentBefore?`${r.commentBefore}\n${e.commentBefore}`:r.commentBefore),r.comment&&(e.comment=e.comment?`${r.comment}\n${e.comment}`:r.comment),r=e}n.items[e]=r instanceof vi.Pair?r:new vi.Pair(r)}}return n}function Us(e,t,n){const r=new vi.YAMLSeq(e);r.tag="tag:yaml.org,2002:pairs";for(const o of t){let t,i;if(Array.isArray(o)){if(2!==o.length)throw new TypeError(`Expected [key, value] tuple: ${o}`);t=o[0],i=o[1]}else if(o&&o instanceof Object){const e=Object.keys(o);if(1!==e.length)throw new TypeError(`Expected { key: value } tuple: ${o}`);t=e[0],i=o[t]}else t=o;const s=e.createPair(t,i,n);r.items.push(s)}return r}const Ws={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Fs,createNode:Us};class Ks extends vi.YAMLSeq{constructor(){super(),vo._defineProperty(this,"add",vi.YAMLMap.prototype.add.bind(this)),vo._defineProperty(this,"delete",vi.YAMLMap.prototype.delete.bind(this)),vo._defineProperty(this,"get",vi.YAMLMap.prototype.get.bind(this)),vo._defineProperty(this,"has",vi.YAMLMap.prototype.has.bind(this)),vo._defineProperty(this,"set",vi.YAMLMap.prototype.set.bind(this)),this.tag=Ks.tag}toJSON(e,t){const n=new Map;t&&t.onCreate&&t.onCreate(n);for(const e of this.items){let r,o;if(e instanceof vi.Pair?(r=vi.toJSON(e.key,"",t),o=vi.toJSON(e.value,r,t)):r=vi.toJSON(e,"",t),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}}vo._defineProperty(Ks,"tag","tag:yaml.org,2002:omap");const Vs={identify:e=>e instanceof Map,nodeClass:Ks,default:!1,tag:"tag:yaml.org,2002:omap",resolve:function(e,t){const n=Fs(e,t),r=[];for(const{key:e}of n.items)if(e instanceof vi.Scalar){if(r.includes(e.value)){const e="Ordered maps must not include duplicate keys";throw new vo.YAMLSemanticError(t,e)}r.push(e.value)}return Object.assign(new Ks,n)},createNode:function(e,t,n){const r=Us(e,t,n),o=new Ks;return o.items=r.items,o}};class Qs extends vi.YAMLMap{constructor(){super(),this.tag=Qs.tag}add(e){const t=e instanceof vi.Pair?e:new vi.Pair(e);vi.findPair(this.items,t.key)||this.items.push(t)}get(e,t){const n=vi.findPair(this.items,e);return!t&&n instanceof vi.Pair?n.key instanceof vi.Scalar?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not "+typeof t);const n=vi.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new vi.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);throw new Error("Set items must all have null values")}}vo._defineProperty(Qs,"tag","tag:yaml.org,2002:set");const qs={identify:e=>e instanceof Set,nodeClass:Qs,default:!1,tag:"tag:yaml.org,2002:set",resolve:function(e,t){const n=vi.resolveMap(e,t);if(!n.hasAllNullValues())throw new vo.YAMLSemanticError(t,"Set items must all have null values");return Object.assign(new Qs,n)},createNode:function(e,t,n){const r=new Qs;for(const o of t)r.items.push(e.createPair(o,null,n));return r}},Js=(e,t)=>{const n=t.split(":").reduce(((e,t)=>60*e+Number(t)),0);return"-"===e?-n:n},Gs=({value:e})=>{if(isNaN(e)||!isFinite(e))return vi.stringifyNumber(e);let t="";e<0&&(t="-",e=Math.abs(e));const n=[e%60];return e<60?n.unshift(0):(e=Math.round((e-n[0])/60),n.unshift(e%60),e>=60&&(e=Math.round((e-n[0])/60),n.unshift(e))),t+n.map((e=>e<10?"0"+String(e):String(e))).join(":").replace(/000000\d*$/,"")},Hs={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>Js(t,n.replace(/_/g,"")),stringify:Gs},zs={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(e,t,n)=>Js(t,n.replace(/_/g,"")),stringify:Gs},Zs={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(e,t,n,r,o,i,s,a,c)=>{a&&(a=(a+"00").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,i||0,s||0,a||0);if(c&&"Z"!==c){let e=Js(c[0],c.slice(1));Math.abs(e)<30&&(e*=60),u-=6e4*e}return new Date(u)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function Xs(e){const t=void 0!==$s&&$s.env||{};return e?"undefined"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:"undefined"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function ea(e,t){if(Xs(!1)){const n=void 0!==$s&&$s.emitWarning;n?n(e,t):console.warn(t?`${t}: ${e}`:e)}}const ta={};var na={binary:Ds,floatTime:zs,intTime:Hs,omap:Vs,pairs:Ws,set:qs,timestamp:Zs,warn:ea,warnFileDeprecation:function(e){if(Xs(!0)){ea(`The endpoint 'yaml/${e.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/")}' will be removed in a future release.`,"DeprecationWarning")}},warnOptionDeprecation:function(e,t){if(!ta[e]&&Xs(!0)){ta[e]=!0;let n=`The option '${e}' will be removed in a future release`;n+=t?`, use '${t}' instead.`:".",ea(n,"DeprecationWarning")}}};const ra={createNode:function(e,t,n){const r=new vi.YAMLMap(e);if(t instanceof Map)for(const[o,i]of t)r.items.push(e.createPair(o,i,n));else if(t&&"object"==typeof t)for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return"function"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r},default:!0,nodeClass:vi.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:vi.resolveMap};const oa={createNode:function(e,t,n){const r=new vi.YAMLSeq(e);if(t&&t[Symbol.iterator])for(const o of t){const t=e.createNode(o,n.wrapScalars,null,n);r.items.push(t)}return r},default:!0,nodeClass:vi.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:vi.resolveSeq},ia={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:vi.resolveString,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),vi.stringifyString(e,t,n,r)),options:vi.strOptions},sa=[ra,oa,ia],aa=e=>"bigint"==typeof e||Number.isInteger(e),ca=(e,t,n)=>vi.intOptions.asBigInt?BigInt(e):parseInt(t,n);function ua(e,t,n){const{value:r}=e;return aa(r)&&r>=0?n+r.toString(t):vi.stringifyNumber(e)}const la={identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new vi.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:vi.nullOptions,stringify:()=>vi.nullOptions.nullStr},fa={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>"t"===e[0]||"T"===e[0],options:vi.boolOptions,stringify:({value:e})=>e?vi.boolOptions.trueStr:vi.boolOptions.falseStr},ha={identify:e=>aa(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(e,t)=>ca(e,t,8),options:vi.intOptions,stringify:e=>ua(e,8,"0o")},pa={identify:aa,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:e=>ca(e,e,10),options:vi.intOptions,stringify:vi.stringifyNumber},da={identify:e=>aa(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>ca(e,t,16),options:vi.intOptions,stringify:e=>ua(e,16,"0x")},ga={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:vi.stringifyNumber},ma={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()},ya={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new vi.Scalar(parseFloat(e));return r&&"0"===r[r.length-1]&&(o.minFractionDigits=r.length),o},stringify:vi.stringifyNumber},va=sa.concat([la,fa,ha,pa,da,ga,ma,ya]),wa=e=>"bigint"==typeof e||Number.isInteger(e),ba=({value:e})=>JSON.stringify(e),_a=[ra,oa,{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:vi.resolveString,stringify:ba},{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new vi.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ba},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>"true"===e,stringify:ba},{identify:wa,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>vi.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>wa(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:ba}];_a.scalarFallback=e=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(e)}`)};const Ea=({value:e})=>e?vi.boolOptions.trueStr:vi.boolOptions.falseStr,Oa=e=>"bigint"==typeof e||Number.isInteger(e);function Sa(e,t,n){let r=t.replace(/_/g,"");if(vi.intOptions.asBigInt){switch(n){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`}const t=BigInt(r);return"-"===e?BigInt(-1)*t:t}const o=parseInt(r,n);return"-"===e?-1*o:o}function Aa(e,t,n){const{value:r}=e;if(Oa(r)){const e=r.toString(t);return r<0?"-"+n+e.substr(1):n+e}return vi.stringifyNumber(e)}const Ma=sa.concat([{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new vi.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:vi.nullOptions,stringify:()=>vi.nullOptions.nullStr},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:vi.boolOptions,stringify:Ea},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:vi.boolOptions,stringify:Ea},{identify:Oa,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>Sa(t,n,2),stringify:e=>Aa(e,2,"0b")},{identify:Oa,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>Sa(t,n,8),stringify:e=>Aa(e,8,"0")},{identify:Oa,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>Sa(t,n,10),stringify:vi.stringifyNumber},{identify:Oa,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>Sa(t,n,16),stringify:e=>Aa(e,16,"0x")},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:vi.stringifyNumber},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(e,t){const n=new vi.Scalar(parseFloat(e.replace(/_/g,"")));if(t){const e=t.replace(/_/g,"");"0"===e[e.length-1]&&(n.minFractionDigits=e.length)}return n},stringify:vi.stringifyNumber}],na.binary,na.omap,na.pairs,na.set,na.intTime,na.floatTime,na.timestamp),La={core:va,failsafe:sa,json:_a,yaml11:Ma},Na={binary:na.binary,bool:fa,float:ya,floatExp:ma,floatNaN:ga,floatTime:na.floatTime,int:pa,intHex:da,intOct:ha,intTime:na.intTime,map:ra,null:la,omap:na.omap,pairs:na.pairs,seq:oa,set:na.set,timestamp:na.timestamp};function Ta(e,t,n){if(e instanceof vi.Node)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:i,schema:s,wrapScalars:a}=n;t&&t.startsWith("!!")&&(t=r+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))||e[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}(e,t,s.tags);if(!c){if("function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e)return a?new vi.Scalar(e):e;c=e instanceof Map?ra:e[Symbol.iterator]?oa:ra}o&&(o(c),delete n.onTagObj);const u={value:void 0,node:void 0};if(e&&"object"==typeof e&&i){const t=i.get(e);if(t){const e=new vi.Alias(t);return n.aliasNodes.push(e),e}u.value=e,i.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new vi.Scalar(e):e,t&&u.node instanceof vi.Node&&(u.node.tag=t),u.node}const Pa=(e,t)=>e.keyt.key?1:0;class Ca{constructor({customTags:e,merge:t,schema:n,sortMapEntries:r,tags:o}){this.merge=!!t,this.name=n,this.sortMapEntries=!0===r?Pa:r||null,!e&&o&&na.warnOptionDeprecation("tags","customTags"),this.tags=function(e,t,n,r){let o=e[r.replace(/\W/g,"")];if(!o){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown schema "${r}"; use one of ${t}`)}if(Array.isArray(n))for(const e of n)o=o.concat(e);else"function"==typeof n&&(o=n(o.slice()));for(let e=0;eJSON.stringify(e))).join(", ");throw new Error(`Unknown custom tag "${n}"; use one of ${e}`)}o[e]=r}}return o}(La,Na,e||o,n)}createNode(e,t,n,r){const o={defaultPrefix:Ca.defaultPrefix,schema:this,wrapScalars:t};return Ta(e,n,r?Object.assign(r,o):o)}createPair(e,t,n){n||(n={wrapScalars:!0});const r=this.createNode(e,n.wrapScalars,null,n),o=this.createNode(t,n.wrapScalars,null,n);return new vi.Pair(r,o)}}vo._defineProperty(Ca,"defaultPrefix",vo.defaultTagPrefix),vo._defineProperty(Ca,"defaultTags",vo.defaultTags);var xa={Schema:Ca};const Ra={get binary(){return vi.binaryOptions},set binary(e){Object.assign(vi.binaryOptions,e)},get bool(){return vi.boolOptions},set bool(e){Object.assign(vi.boolOptions,e)},get int(){return vi.intOptions},set int(e){Object.assign(vi.intOptions,e)},get null(){return vi.nullOptions},set null(e){Object.assign(vi.nullOptions,e)},get str(){return vi.strOptions},set str(e){Object.assign(vi.strOptions,e)}},Ia={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:vo.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:vo.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:vo.defaultTagPrefix}]}};function ka(e,t){if("1.0"===(e.version||e.options.version)){const e=t.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(e)return"!"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return n?`!${n[1]}/${n[2]}`:`!${t.replace(/^tag:/,"")}`}let n=e.tagPrefixes.find((e=>0===t.indexOf(e.prefix)));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>0===t.indexOf(e.prefix)))}if(!n)return"!"===t[0]?t:`!<${t}>`;const r=t.substr(n.prefix.length).replace(/[!,[\]{}]/g,(e=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e])));return n.handle+r}function Ba(e,t,n,r){const{anchors:o,schema:i}=t.doc;let s;if(!(e instanceof vi.Node)){const t={aliasNodes:[],onTagObj:e=>s=e,prevObjects:new Map};e=i.createNode(e,!0,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=o.getName(e.source);t||(t=o.newName(),o.map[t]=e.source)}}if(e instanceof vi.Pair)return e.toString(t,n,r);s||(s=function(e,t){if(t instanceof vi.Alias)return vi.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof vi.Scalar){r=t.value;const o=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=o.find((e=>e.format===t.format))||o.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error(`Tag not resolved for ${e} value`)}return n}(i.tags,e));const a=function(e,t,{anchors:n,doc:r}){const o=[],i=r.anchors.getName(e);return i&&(n[i]=e,o.push(`&${i}`)),e.tag?o.push(ka(r,e.tag)):t.default||o.push(ka(r,t.tag)),o.join(" ")}(e,s,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c="function"==typeof s.stringify?s.stringify(e,t,n,r):e instanceof vi.Scalar?vi.stringifyString(e,t,n,r):e.toString(t,n,r);return a?e instanceof vi.Scalar||"{"===c[0]||"["===c[0]?`${a} ${c}`:`${a}\n${t.indent}${c}`:c}class Ya{static validAnchorNode(e){return e instanceof vi.Scalar||e instanceof vi.YAMLSeq||e instanceof vi.YAMLMap}constructor(e){vo._defineProperty(this,"map",Object.create(null)),this.prefix=e}createAlias(e,t){return this.setAnchor(e,t),new vi.Alias(e)}createMergePair(...e){const t=new vi.Merge;return t.value.items=e.map((e=>{if(e instanceof vi.Alias){if(e.source instanceof vi.YAMLMap)return e}else if(e instanceof vi.YAMLMap)return this.createAlias(e);throw new Error("Merge sources must be Map nodes or their Aliases")})),t}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const t=Object.keys(this.map);for(let n=1;;++n){const r=`${e}${n}`;if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved})),t.forEach((e=>{e.source=e.source.resolved})),delete this._cstAliases}setAnchor(e,t){if(null!=e&&!Ya.validAnchorNode(e))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(t&&/[\x00-\x19\s,[\]{}]/.test(t))throw new Error("Anchor names must not contain whitespace or control characters");const{map:n}=this,r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t)return r;r!==t&&(delete n[r],n[t]=e)}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const ja=(e,t)=>{if(e&&"object"==typeof e){const{tag:n}=e;e instanceof vi.Collection?(n&&(t[n]=!0),e.items.forEach((e=>ja(e,t)))):e instanceof vi.Pair?(ja(e.key,t),ja(e.value,t)):e instanceof vi.Scalar&&n&&(t[n]=!0)}return t};function $a({tagPrefixes:e},t){const[n,r]=t.parameters;if(!n||!r){const e="Insufficient parameters given for %TAG directive";throw new vo.YAMLSemanticError(t,e)}if(e.some((e=>e.handle===n))){const e="The %TAG directive must only be given at most once per handle in the same document.";throw new vo.YAMLSemanticError(t,e)}return{handle:n,prefix:r}}function Da(e,t){let[n]=t.parameters;if("YAML:1.0"===t.name&&(n="1.0"),!n){const e="Insufficient parameters given for %YAML directive";throw new vo.YAMLSemanticError(t,e)}if(!Ia[n]){const r=`Document will be parsed as YAML ${e.version||e.options.version} rather than YAML ${n}`;e.warnings.push(new vo.YAMLWarning(t,r))}return n}function Fa(e){if(e instanceof vi.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}class Ua{constructor(e){this.anchors=new Ya(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return Fa(this.contents),this.contents.add(e)}addIn(e,t){Fa(this.contents),this.contents.addIn(e,t)}delete(e){return Fa(this.contents),this.contents.delete(e)}deleteIn(e){return vi.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):(Fa(this.contents),this.contents.deleteIn(e))}getDefaults(){return Ua.defaults[this.version]||Ua.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof vi.Collection?this.contents.get(e,t):void 0}getIn(e,t){return vi.isEmptyPath(e)?!t&&this.contents instanceof vi.Scalar?this.contents.value:this.contents:this.contents instanceof vi.Collection?this.contents.getIn(e,t):void 0}has(e){return this.contents instanceof vi.Collection&&this.contents.has(e)}hasIn(e){return vi.isEmptyPath(e)?void 0!==this.contents:this.contents instanceof vi.Collection&&this.contents.hasIn(e)}set(e,t){Fa(this.contents),this.contents.set(e,t)}setIn(e,t){vi.isEmptyPath(e)?this.contents=t:(Fa(this.contents),this.contents.setIn(e,t))}setSchema(e,t){if(!e&&!t&&this.schema)return;"number"==typeof e&&(e=e.toFixed(1)),"1.0"===e||"1.1"===e||"1.2"===e?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&"string"==typeof e&&(this.options.schema=e),Array.isArray(t)&&(this.options.customTags=t);const n=Object.assign({},this.getDefaults(),this.options);this.schema=new xa.Schema(n)}parse(e,t){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type="DOCUMENT");const{directives:n=[],contents:r=[],directivesEndMarker:o,error:i,valueRange:s}=e;if(i&&(i.source||(i.source=this),this.errors.push(i)),function(e,t,n){const r=[];let o=!1;for(const n of t){const{comment:t,name:i}=n;switch(i){case"TAG":try{e.tagPrefixes.push($a(e,n))}catch(t){e.errors.push(t)}o=!0;break;case"YAML":case"YAML:1.0":if(e.version){const t="The %YAML directive must only be given at most once per document.";e.errors.push(new vo.YAMLSemanticError(n,t))}try{e.version=Da(e,n)}catch(t){e.errors.push(t)}o=!0;break;default:if(i){const t=`YAML only supports %TAG and %YAML directives, and not %${i}`;e.warnings.push(new vo.YAMLWarning(n,t))}}t&&r.push(t)}if(n&&!o&&"1.1"===(e.version||n.version||e.options.version)){const t=({handle:e,prefix:t})=>({handle:e,prefix:t});e.tagPrefixes=n.tagPrefixes.map(t),e.version=n.version}e.commentBefore=r.join("\n")||null}(this,n,t),o&&(this.directivesEndMarker=!0),this.range=s?[s.start,s.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(e,t){const n={before:[],after:[]};let r,o=!1;for(const i of t)if(i.valueRange){if(void 0!==r){const t="Document contains trailing content not separated by a ... or --- line";e.errors.push(new vo.YAMLSyntaxError(i,t));break}const t=vi.resolveNode(e,i);o&&(t.spaceBefore=!0,o=!1),r=t}else null!==i.comment?(void 0===r?n.before:n.after).push(i.comment):i.type===vo.Type.BLANK_LINE&&(o=!0,void 0===r&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join("\n"),n.before=[]));if(e.contents=r||null,r){const t=n.before.join("\n");if(t){const e=r instanceof vi.Collection&&r.items[0]?r.items[0]:r;e.commentBefore=e.commentBefore?`${t}\n${e.commentBefore}`:t}e.comment=n.after.join("\n")||null}else e.comment=n.before.concat(n.after).join("\n")||null}(this,r),this.anchors.resolveNodes(),this.options.prettyErrors){for(const e of this.errors)e instanceof vo.YAMLError&&e.makePretty();for(const e of this.warnings)e instanceof vo.YAMLError&&e.makePretty()}return this}listNonDefaultTags(){return(e=>Object.keys(ja(e,{})))(this.contents).filter((e=>0!==e.indexOf(xa.Schema.defaultPrefix)))}setTagPrefix(e,t){if("!"!==e[0]||"!"!==e[e.length-1])throw new Error("Handle must start and end with !");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:o}=this.options,i=n&&("string"!=typeof e||!(this.contents instanceof vi.Scalar)),s={doc:this,indentStep:" ",keep:i,mapAsMap:i&&!!r,maxAliasCount:o,stringify:Ba},a=Object.keys(this.anchors.map);a.length>0&&(s.anchors=new Map(a.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}]))));const c=vi.toJSON(this.contents,e,s);if("function"==typeof t&&s.anchors)for(const{count:e,res:n}of s.anchors.values())t(n,e);return c}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error(`"indent" option must be a positive integer, not ${t}`)}this.setSchema();const t=[];let n=!1;if(this.version){let e="%YAML 1.2";"yaml-1.1"===this.schema.name&&("1.0"===this.version?e="%YAML:1.0":"1.1"===this.version&&(e="%YAML 1.1")),t.push(e),n=!0}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:e,prefix:o})=>{r.some((e=>0===e.indexOf(o)))&&(t.push(`%TAG ${e} ${o}`),n=!0)})),(n||this.directivesEndMarker)&&t.push("---"),this.commentBefore&&(!n&&this.directivesEndMarker||t.unshift(""),t.unshift(this.commentBefore.replace(/^/gm,"#")));const o={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:Ba};let i=!1,s=null;if(this.contents){this.contents instanceof vi.Node&&(this.contents.spaceBefore&&(n||this.directivesEndMarker)&&t.push(""),this.contents.commentBefore&&t.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,s=this.contents.comment);const e=s?null:()=>i=!0,r=Ba(this.contents,o,(()=>s=null),e);t.push(vi.addComment(r,"",s))}else void 0!==this.contents&&t.push(Ba(this.contents,o));return this.comment&&(i&&!s||""===t[t.length-1]||t.push(""),t.push(this.comment.replace(/^/gm,"#"))),t.join("\n")+"\n"}}vo._defineProperty(Ua,"defaults",Ia);var Wa={Document:Ua,defaultOptions:{anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},scalarOptions:Ra};class Ka extends Wa.Document{constructor(e){super(Object.assign({},Wa.defaultOptions,e))}}function Va(e,t){const n=ko.parse(e),r=new Ka(t).parse(n[0]);if(n.length>1){const e="Source contains multiple documents; please use YAML.parseAllDocuments()";r.errors.unshift(new vo.YAMLSemanticError(n[1],e))}return r}var Qa={YAML:{createNode:function(e,t=!0,n){void 0===n&&"string"==typeof t&&(n=t,t=!0);const r=Object.assign({},Wa.Document.defaults[Wa.defaultOptions.version],Wa.defaultOptions);return new xa.Schema(r).createNode(e,t,n)},defaultOptions:Wa.defaultOptions,Document:Ka,parse:function(e,t){const n=Va(e,t);if(n.warnings.forEach((e=>na.warn(e))),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){const n=[];let r;for(const o of ko.parse(e)){const e=new Ka(t);e.parse(o,r),n.push(e),r=e}return n},parseCST:ko.parse,parseDocument:Va,scalarOptions:Wa.scalarOptions,stringify:function(e,t){const n=new Ka(t);return n.contents=e,String(n)}}}.YAML,qa={findPair:vi.findPair,parseMap:vi.resolveMap,parseSeq:vi.resolveSeq,stringifyNumber:vi.stringifyNumber,stringifyString:vi.stringifyString,toJSON:vi.toJSON,Type:vo.Type,YAMLError:vo.YAMLError,YAMLReferenceError:vo.YAMLReferenceError,YAMLSemanticError:vo.YAMLSemanticError,YAMLSyntaxError:vo.YAMLSyntaxError,YAMLWarning:vo.YAMLWarning},Ja={findPair:qa.findPair,toJSON:qa.toJSON,parseMap:qa.parseMap,parseSeq:qa.parseSeq,stringifyNumber:qa.stringifyNumber,stringifyString:qa.stringifyString,Type:qa.Type,YAMLError:qa.YAMLError,YAMLReferenceError:qa.YAMLReferenceError,YAMLSemanticError:qa.YAMLSemanticError,YAMLSyntaxError:qa.YAMLSyntaxError,YAMLWarning:qa.YAMLWarning},Ga=Qa.Document,Ha=Qa.parseCST,za=Ja.YAMLError,Za=Ja.YAMLSyntaxError,Xa=Ja.YAMLSemanticError,ec=Object.defineProperty({Document:Ga,parseCST:Ha,YAMLError:za,YAMLSyntaxError:Za,YAMLSemanticError:Xa},"__esModule",{value:!0});var tc=function(e){var t=ec.parseCST(e);qr.addOrigRange(t);for(var n=t.map((function(e){return new ec.Document({merge:!1,keepCstNodes:!0}).parse(e)})),r=[],o={text:e,locator:new f.default(e),comments:r,transformOffset:function(e){return Ur.transformOffset(e,o)},transformRange:function(e){return Kr.transformRange(e,o)},transformNode:function(e){return Ir.transformNode(e,o)},transformContent:function(e){return Kt.transformContent(e,o)}},i=0,s=n;i=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var t={name:"prettier",version:"2.3.2",description:"Prettier is an opinionated code formatter",bin:"./bin/prettier.js",repository:"prettier/prettier",homepage:"https://prettier.io",author:"James Long",license:"MIT",main:"./index.js",browser:"./standalone.js",unpkg:"./standalone.js",engines:{node:">=12.17.0"},files:["index.js","standalone.js","src","bin"],dependencies:{"@angular/compiler":"12.0.5","@babel/code-frame":"7.14.5","@babel/parser":"7.14.6","@glimmer/syntax":"0.79.3","@iarna/toml":"2.2.5","@typescript-eslint/typescript-estree":"4.27.0","angular-estree-parser":"2.4.0","angular-html-parser":"1.8.0",camelcase:"6.2.0",chalk:"4.1.1","ci-info":"3.2.0","cjk-regex":"2.0.1",cosmiconfig:"7.0.0",dashify:"2.0.0",diff:"5.0.0",editorconfig:"0.15.3","editorconfig-to-prettier":"0.2.0","escape-string-regexp":"4.0.0",espree:"7.3.1",esutils:"2.0.3","fast-glob":"3.2.5","fast-json-stable-stringify":"2.1.0","find-parent-dir":"0.3.1","flow-parser":"0.153.0","get-stdin":"8.0.0",globby:"11.0.4",graphql:"15.5.0","html-element-attributes":"2.3.0","html-styles":"1.0.0","html-tag-names":"1.1.5","html-void-elements":"1.0.5",ignore:"4.0.6","jest-docblock":"27.0.1",json5:"2.2.0",leven:"3.1.0","lines-and-columns":"1.1.6","linguist-languages":"7.15.0",lodash:"4.17.21",mem:"8.1.1",meriyah:"4.1.5",minimatch:"3.0.4",minimist:"1.2.5","n-readlines":"1.0.1",outdent:"0.8.0","parse-srcset":"ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee","please-upgrade-node":"3.2.0","postcss-less":"3.1.4","postcss-media-query-parser":"0.2.3","postcss-scss":"2.1.1","postcss-selector-parser":"2.2.3","postcss-values-parser":"2.0.1","regexp-util":"1.2.2","remark-footnotes":"2.0.0","remark-math":"3.0.1","remark-parse":"8.0.3",resolve:"1.20.0",semver:"7.3.5","string-width":"4.2.2","strip-ansi":"6.0.0",typescript:"4.3.4","unicode-regex":"3.0.0",unified:"9.2.1",vnopts:"1.0.2",wcwidth:"1.0.1","yaml-unist-parser":"1.3.1"},devDependencies:{"@babel/core":"7.14.6","@babel/preset-env":"7.14.5","@babel/types":"7.14.5","@glimmer/reference":"0.79.3","@rollup/plugin-alias":"3.1.2","@rollup/plugin-babel":"5.3.0","@rollup/plugin-commonjs":"18.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.0.0","@rollup/plugin-replace":"2.4.2","@types/estree":"0.0.48","babel-jest":"27.0.2","babel-loader":"8.2.2",benchmark:"2.1.4","builtin-modules":"3.2.0","core-js":"3.14.0","cross-env":"7.0.3",cspell:"4.2.8",eslint:"7.29.0","eslint-config-prettier":"8.3.0","eslint-formatter-friendly":"7.0.0","eslint-plugin-import":"2.23.4","eslint-plugin-jest":"24.3.6","eslint-plugin-prettier-internal-rules":"link:scripts/tools/eslint-plugin-prettier-internal-rules","eslint-plugin-react":"7.24.0","eslint-plugin-regexp":"0.12.1","eslint-plugin-unicorn":"33.0.1","esm-utils":"1.1.0",execa:"5.1.1",jest:"27.0.4","jest-snapshot-serializer-ansi":"1.0.0","jest-snapshot-serializer-raw":"1.2.0","jest-watch-typeahead":"0.6.4","npm-run-all":"4.1.5","path-browserify":"1.0.1",prettier:"2.3.1","pretty-bytes":"5.6.0",rimraf:"3.0.2",rollup:"2.52.1","rollup-plugin-polyfill-node":"0.6.2","rollup-plugin-terser":"7.0.2",shelljs:"0.8.4","snapshot-diff":"0.9.0",tempy:"1.0.1","terser-webpack-plugin":"5.1.3",webpack:"5.39.1"},scripts:{prepublishOnly:'echo "Error: must publish from dist/" && exit 1',"prepare-release":"yarn && yarn build && yarn test:dist",test:"jest","test:dev-package":"cross-env INSTALL_PACKAGE=1 jest","test:dist":"cross-env NODE_ENV=production jest","test:dist-standalone":"cross-env NODE_ENV=production TEST_STANDALONE=1 jest","test:integration":"jest tests/integration","perf:repeat":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:repeat-inspect":"yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:benchmark":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null",lint:"run-p lint:*","lint:typecheck":"tsc","lint:eslint":"cross-env EFF_NO_LINK_RULES=true eslint . --format friendly","lint:changelog":"node ./scripts/lint-changelog.mjs","lint:prettier":'prettier . "!test*" --check',"lint:dist":'eslint --no-eslintrc --no-ignore --no-inline-config --env=es6,browser --parser-options=ecmaVersion:2019 "dist/!(bin-prettier|index|third-party).js"',"lint:spellcheck":'cspell "**/*" ".github/**/*"',"lint:deps":"node ./scripts/check-deps.mjs",fix:"run-s fix:eslint fix:prettier","fix:eslint":"yarn lint:eslint --fix","fix:prettier":"yarn lint:prettier --write",build:"node --max-old-space-size=3072 ./scripts/build/build.mjs","build-docs":"node ./scripts/build-docs.mjs"}},n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e){var t={exports:{}};return e(t,t.exports),t.exports}var u=i((function(e,t){function n(){}function r(e,t,n,r,i){for(var u=0,o=t.length,s=0,a=0;ue.length?n:e})),l.value=e.join(p)}else l.value=e.join(n.slice(s,s+l.count));s+=l.count,l.added||(a+=l.count)}}var f=t[o-1];return o>1&&"string"==typeof f.value&&(f.added||f.removed)&&e.equals("",f.value)&&(t[o-2].value+=f.value,t.pop()),t}function i(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,n.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=n.callback;"function"==typeof n&&(u=n,n={}),this.options=n;var o=this;function s(e){return u?(setTimeout((function(){u(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,l=e.length,c=1,p=a+l,f=[{newPos:-1,components:[]}],d=this.extractCommon(f[0],t,e,0);if(f[0].newPos+1>=a&&d+1>=l)return s([{value:this.join(t),count:t.length}]);function h(){for(var n=-1*c;n<=c;n+=2){var u=void 0,p=f[n-1],d=f[n+1],h=(d?d.newPos:0)-n;p&&(f[n-1]=void 0);var g=p&&p.newPos+1=a&&h+1>=l)return s(r(o,u.components,t,e,o.useLongestToken));f[n]=u}else f[n]=void 0}c++}if(u)!function e(){setTimeout((function(){if(c>p)return u();h()||e()}),0)}();else for(;c<=p;){var g=h();if(g)return g}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var i=t.length,u=n.length,o=e.newPos,s=o-r,a=0;o+10?ye:me)(e)},Ee=Math.min,be=function(e){return e>0?Ee(De(e),9007199254740991):0},Ce=Math.max,ve=Math.min,Ae=function(e){return function(t,n,r){var i,u=S(t),o=be(u.length),s=function(e,t){var n=De(e);return n<0?Ce(n+t,0):ve(n,t)}(r,o);if(e&&n!=n){for(;o>s;)if((i=u[s++])!=i)return!0}else for(;o>s;s++)if((e||s in u)&&u[s]===n)return e||s||0;return!e&&-1}},Fe={includes:Ae(!0),indexOf:Ae(!1)}.indexOf,xe=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),Se={f:Object.getOwnPropertyNames||function(e){return function(e,t){var n,r=S(e),i=0,u=[];for(n in r)!N(ne,n)&&N(r,n)&&u.push(n);for(;t.length>i;)N(r,n=t[i++])&&(~Fe(u,n)||u.push(n));return u}(e,xe)}},we={f:Object.getOwnPropertySymbols},Te=ge("Reflect","ownKeys")||function(e){var t=Se.f(_(e)),n=we.f;return n?t.concat(n(e)):t},Be=function(e,t){for(var n=Te(t),r=R.f,i=L.f,u=0;u0;)e[r]=e[--r];r!==u++&&(e[r]=n)}return e},We=function(e,t,n){for(var r=e.length,i=t.length,u=0,o=0,s=[];u=74)&&(le=ze.match(/Chrome\/(\d+)/))&&(ce=le[1]);var Qe,Ze,et=ce&&+ce,tt=ze.match(/AppleWebKit\/(\d+)\./),nt=!!tt&&+tt[1],rt=[],it=rt.sort,ut=g((function(){rt.sort(void 0)})),ot=g((function(){rt.sort(null)})),st=!!(Ze=[]["sort"])&&g((function(){Ze.call(null,Qe||function(){throw 1},1)})),at=!g((function(){if(et)return et<70;if(!(He&&He>3)){if(Je)return!0;if(nt)return nt<603;var e,t,n,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)rt.push({k:t+r,v:n})}for(rt.sort((function(e,t){return t.v-e.v})),r=0;rString(n)?1:-1}}(e))).length,r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],i=[],u=0;function o(){var e={};for(i.push(e);u2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t&&(t=(0,dt.parsePatch)(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,i,u=e.split(/\r\n|[\n\v\f\r\x85]/),o=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=t.hunks,a=n.compareLine||function(e,t,n,r){return t===r},l=0,c=n.fuzzFactor||0,p=0,f=0;function d(e,t){for(var n=0;n0?r[0]:" ",o=r.length>0?r.substr(1):r;if(" "===i||"-"===i){if(!a(t+1,u[t],i,o)&&++l>c)return!1;t++}}return!0}for(var h=0;h0?x[0]:" ",w=x.length>0?x.substr(1):x,T=v.linedelimiters[F];if(" "===S)A++;else if("-"===S)u.splice(A,1),o.splice(A,1);else if("+"===S)u.splice(A,0,w),o.splice(A,0,T),A++;else if("\\"===S){var B=v.lines[F-1]?v.lines[F-1][0]:null;"+"===B?r=!0:"-"===B&&(i=!0)}}}if(r)for(;!u[u.length-1];)u.pop(),o.pop();else i&&(u.push(""),o.push("\n"));for(var k=0;ke.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a(c.lines.slice(-o.context)):[],p-=d.length,f-=d.length)}(u=d).push.apply(u,Ft(i.map((function(e){return(t.added?"+":"-")+e})))),t.added?g+=i.length:h+=i.length}else{if(p)if(i.length<=2*o.context&&e=s.length-2&&i.length<=o.context){var b=/\n$/.test(n),C=/\n$/.test(r),v=0==i.length&&d.length>E.oldLines;!b&&v&&n.length>0&&d.splice(E.oldLines,0,"\\ No newline at end of file"),(b||v)&&C||d.push("\\ No newline at end of file")}l.push(E),p=0,f=0,d=[]}h+=i.length,g+=i.length}},y=0;ye.length)return!1;for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n"):r.removed&&t.push(""),t.push(un(r.value)),r.added?t.push(""):r.removed&&t.push("")}return t.join("")};function un(e){var t=e;return t=(t=(t=(t=t.replace(/&/g,"&")).replace(//g,">")).replace(/"/g,""")}var on=Object.defineProperty({convertChangesToXML:rn},"__esModule",{value:!0}),sn=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Diff",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"diffChars",{enumerable:!0,get:function(){return o.diffChars}}),Object.defineProperty(t,"diffWords",{enumerable:!0,get:function(){return l.diffWords}}),Object.defineProperty(t,"diffWordsWithSpace",{enumerable:!0,get:function(){return l.diffWordsWithSpace}}),Object.defineProperty(t,"diffLines",{enumerable:!0,get:function(){return c.diffLines}}),Object.defineProperty(t,"diffTrimmedLines",{enumerable:!0,get:function(){return c.diffTrimmedLines}}),Object.defineProperty(t,"diffSentences",{enumerable:!0,get:function(){return p.diffSentences}}),Object.defineProperty(t,"diffCss",{enumerable:!0,get:function(){return f.diffCss}}),Object.defineProperty(t,"diffJson",{enumerable:!0,get:function(){return lt.diffJson}}),Object.defineProperty(t,"canonicalize",{enumerable:!0,get:function(){return lt.canonicalize}}),Object.defineProperty(t,"diffArrays",{enumerable:!0,get:function(){return ct.diffArrays}}),Object.defineProperty(t,"applyPatch",{enumerable:!0,get:function(){return Et.applyPatch}}),Object.defineProperty(t,"applyPatches",{enumerable:!0,get:function(){return Et.applyPatches}}),Object.defineProperty(t,"parsePatch",{enumerable:!0,get:function(){return dt.parsePatch}}),Object.defineProperty(t,"merge",{enumerable:!0,get:function(){return en.merge}}),Object.defineProperty(t,"structuredPatch",{enumerable:!0,get:function(){return Bt.structuredPatch}}),Object.defineProperty(t,"createTwoFilesPatch",{enumerable:!0,get:function(){return Bt.createTwoFilesPatch}}),Object.defineProperty(t,"createPatch",{enumerable:!0,get:function(){return Bt.createPatch}}),Object.defineProperty(t,"convertChangesToDMP",{enumerable:!0,get:function(){return nn.convertChangesToDMP}}),Object.defineProperty(t,"convertChangesToXML",{enumerable:!0,get:function(){return on.convertChangesToXML}});var n=function(e){return e&&e.__esModule?e:{default:e}}(u)}));function an(e){return{type:"concat",parts:e}}function ln(e){return{type:"indent",contents:e}}function cn(e,t){return{type:"align",contents:t,n:e}}function pn(e,t={}){return{type:"group",id:t.id,contents:e,break:Boolean(t.shouldBreak),expandedStates:t.expandedStates}}const fn={type:"break-parent"},dn={type:"line",hard:!0},hn={type:"line",hard:!0,literal:!0},gn=an([dn,fn]),mn=an([hn,fn]);var yn={concat:an,join:function(e,t){const n=[];for(let r=0;r0){for(let e=0;e"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const En=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var bn=En,Cn=En;bn.default=Cn;const vn=e=>{if("string"!=typeof e||0===e.length)return 0;if(0===(e=Dn(e)).length)return 0;e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," ");let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=bn(r)?2:1))}return t};var An=vn,Fn=vn;An.default=Fn;var xn=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};var Sn=e=>e[e.length-1],wn=Array.isArray||function(e){return"Array"==v(e)},Tn=function(e,t,n){if(Re(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}},Bn=function(e,t,n,r,i,u,o,s){for(var a,l=i,c=0,p=!!o&&Tn(o,s,3);c0&&wn(a))l=Bn(e,t,a,be(a.length),l,u-1)-1;else{if(l>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[l]=a}l++}c++}return l},kn=Bn,Nn=!!Object.getOwnPropertySymbols&&!g((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&et&&et<41})),Pn=Nn&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,On=K("wks"),In=h.Symbol,jn=Pn?In:In&&In.withoutSetter||ee,Ln=function(e){return N(On,e)&&(Nn||"string"==typeof On[e])||(Nn&&N(In,e)?On[e]=In[e]:On[e]=jn("Symbol."+e)),On[e]},_n=Ln("species"),Mn=function(e,t){var n;return wn(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!wn(n.prototype)?w(n)&&null===(n=n[_n])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)};Me({target:"Array",proto:!0},{flatMap:function(e){var t,n=B(this),r=be(n.length);return Re(e),(t=Mn(n,0)).length=kn(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:void 0),t}});var Rn={},$n=Ln("iterator"),Vn=Array.prototype,qn={};qn[Ln("toStringTag")]="z";var Wn="[object z]"===String(qn),Un=Ln("toStringTag"),zn="Arguments"==v(function(){return arguments}()),Gn=Wn?v:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),Un))?n:zn?v(t):"Object"==(r=v(t))&&"function"==typeof t.callee?"Arguments":r},Hn=Ln("iterator"),Jn=function(e){var t=e.return;if(void 0!==t)return _(t.call(e)).value},Xn=function(e,t){this.stopped=e,this.result=t},Yn=function(e,t,n){var r,i,u,o,s,a,l,c,p=n&&n.that,f=!(!n||!n.AS_ENTRIES),d=!(!n||!n.IS_ITERATOR),h=!(!n||!n.INTERRUPTED),g=Tn(t,p,1+f+h),m=function(e){return r&&Jn(r),new Xn(!0,e)},y=function(e){return f?(_(e),h?g(e[0],e[1],m):g(e[0],e[1])):h?g(e,m):g(e)};if(d)r=e;else{if("function"!=typeof(i=function(e){if(null!=e)return e[Hn]||e["@@iterator"]||Rn[Gn(e)]}(e)))throw TypeError("Target is not iterable");if(void 0!==(c=i)&&(Rn.Array===c||Vn[$n]===c)){for(u=0,o=be(e.length);o>u;u++)if((s=y(e[u]))&&s instanceof Xn)return s;return new Xn(!1)}r=i.call(e)}for(a=r.next;!(l=a.call(r)).done;){try{s=y(l.value)}catch(e){throw Jn(r),e}if("object"==typeof s&&s&&s instanceof Xn)return s}return new Xn(!1)};Me({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Yn(e,(function(e,n){!function(e,t,n){var r=T(t);r in e?R.f(e,r,b(0,n)):e[r]=n}(t,e,n)}),{AS_ENTRIES:!0}),t}});var Kn=void 0!==Kn?Kn:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Qn(){throw new Error("setTimeout has not been defined")}function Zn(){throw new Error("clearTimeout has not been defined")}var er=Qn,tr=Zn;function nr(e){if(er===setTimeout)return setTimeout(e,0);if((er===Qn||!er)&&setTimeout)return er=setTimeout,setTimeout(e,0);try{return er(e,0)}catch(t){try{return er.call(null,e,0)}catch(t){return er.call(this,e,0)}}}"function"==typeof Kn.setTimeout&&(er=setTimeout),"function"==typeof Kn.clearTimeout&&(tr=clearTimeout);var rr,ir=[],ur=!1,or=-1;function sr(){ur&&rr&&(ur=!1,rr.length?ir=rr.concat(ir):or=-1,ir.length&&ar())}function ar(){if(!ur){var e=nr(sr);ur=!0;for(var t=ir.length;t;){for(rr=ir,ir=[];++or1)for(var n=1;nconsole.error("SEMVER",...e):()=>{};var Ar={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Fr=i((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Ar,r=(t=e.exports={}).re=[],i=t.src=[],u=t.t={};let o=0;const s=(e,t,n)=>{const s=o++;vr(s,t),u[e]=s,i[s]=t,r[s]=new RegExp(t,n?"g":void 0)};s("NUMERICIDENTIFIER","0|[1-9]\\d*"),s("NUMERICIDENTIFIERLOOSE","[0-9]+"),s("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),s("MAINVERSION",`(${i[u.NUMERICIDENTIFIER]})\\.(${i[u.NUMERICIDENTIFIER]})\\.(${i[u.NUMERICIDENTIFIER]})`),s("MAINVERSIONLOOSE",`(${i[u.NUMERICIDENTIFIERLOOSE]})\\.(${i[u.NUMERICIDENTIFIERLOOSE]})\\.(${i[u.NUMERICIDENTIFIERLOOSE]})`),s("PRERELEASEIDENTIFIER",`(?:${i[u.NUMERICIDENTIFIER]}|${i[u.NONNUMERICIDENTIFIER]})`),s("PRERELEASEIDENTIFIERLOOSE",`(?:${i[u.NUMERICIDENTIFIERLOOSE]}|${i[u.NONNUMERICIDENTIFIER]})`),s("PRERELEASE",`(?:-(${i[u.PRERELEASEIDENTIFIER]}(?:\\.${i[u.PRERELEASEIDENTIFIER]})*))`),s("PRERELEASELOOSE",`(?:-?(${i[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[u.PRERELEASEIDENTIFIERLOOSE]})*))`),s("BUILDIDENTIFIER","[0-9A-Za-z-]+"),s("BUILD",`(?:\\+(${i[u.BUILDIDENTIFIER]}(?:\\.${i[u.BUILDIDENTIFIER]})*))`),s("FULLPLAIN",`v?${i[u.MAINVERSION]}${i[u.PRERELEASE]}?${i[u.BUILD]}?`),s("FULL",`^${i[u.FULLPLAIN]}$`),s("LOOSEPLAIN",`[v=\\s]*${i[u.MAINVERSIONLOOSE]}${i[u.PRERELEASELOOSE]}?${i[u.BUILD]}?`),s("LOOSE",`^${i[u.LOOSEPLAIN]}$`),s("GTLT","((?:<|>)?=?)"),s("XRANGEIDENTIFIERLOOSE",`${i[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),s("XRANGEIDENTIFIER",`${i[u.NUMERICIDENTIFIER]}|x|X|\\*`),s("XRANGEPLAIN",`[v=\\s]*(${i[u.XRANGEIDENTIFIER]})(?:\\.(${i[u.XRANGEIDENTIFIER]})(?:\\.(${i[u.XRANGEIDENTIFIER]})(?:${i[u.PRERELEASE]})?${i[u.BUILD]}?)?)?`),s("XRANGEPLAINLOOSE",`[v=\\s]*(${i[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[u.XRANGEIDENTIFIERLOOSE]})(?:${i[u.PRERELEASELOOSE]})?${i[u.BUILD]}?)?)?`),s("XRANGE",`^${i[u.GTLT]}\\s*${i[u.XRANGEPLAIN]}$`),s("XRANGELOOSE",`^${i[u.GTLT]}\\s*${i[u.XRANGEPLAINLOOSE]}$`),s("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),s("COERCERTL",i[u.COERCE],!0),s("LONETILDE","(?:~>?)"),s("TILDETRIM",`(\\s*)${i[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",s("TILDE",`^${i[u.LONETILDE]}${i[u.XRANGEPLAIN]}$`),s("TILDELOOSE",`^${i[u.LONETILDE]}${i[u.XRANGEPLAINLOOSE]}$`),s("LONECARET","(?:\\^)"),s("CARETTRIM",`(\\s*)${i[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",s("CARET",`^${i[u.LONECARET]}${i[u.XRANGEPLAIN]}$`),s("CARETLOOSE",`^${i[u.LONECARET]}${i[u.XRANGEPLAINLOOSE]}$`),s("COMPARATORLOOSE",`^${i[u.GTLT]}\\s*(${i[u.LOOSEPLAIN]})$|^$`),s("COMPARATOR",`^${i[u.GTLT]}\\s*(${i[u.FULLPLAIN]})$|^$`),s("COMPARATORTRIM",`(\\s*)${i[u.GTLT]}\\s*(${i[u.LOOSEPLAIN]}|${i[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",s("HYPHENRANGE",`^\\s*(${i[u.XRANGEPLAIN]})\\s+-\\s+(${i[u.XRANGEPLAIN]})\\s*$`),s("HYPHENRANGELOOSE",`^\\s*(${i[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[u.XRANGEPLAINLOOSE]})\\s*$`),s("STAR","(<|>)?=?\\s*\\*"),s("GTE0","^\\s*>=\\s*0.0.0\\s*$"),s("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const xr=["includePrerelease","loose","rtl"];var Sr=e=>e?"object"!=typeof e?{loose:!0}:xr.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const wr=/^[0-9]+$/,Tr=(e,t)=>{const n=wr.test(e),r=wr.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eTr(t,e)};const{MAX_LENGTH:kr,MAX_SAFE_INTEGER:Nr}=Ar,{re:Pr,t:Or}=Fr,{compareIdentifiers:Ir}=Br;class jr{constructor(e,t){if(t=Sr(t),e instanceof jr){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>kr)throw new TypeError(`version is longer than ${kr} characters`);vr("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?Pr[Or.LOOSE]:Pr[Or.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Nr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Nr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Nr||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}var Lr=jr;var _r=(e,t,n)=>new Lr(e,n).compare(new Lr(t,n));var Mr=(e,t,n)=>_r(e,t,n)<0;var Rr=(e,t,n)=>_r(e,t,n)>=0,$r=i((function(e,t){function n(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Vr` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Vr` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:Vr` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Vr` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Wr=["cliName","cliCategory","cliDescription"],Ur={compare:_r,lt:Mr,gte:Rr},zr=t.version,Gr={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:qr}.options;var Hr={getSupportInfo:function({plugins:t=[],showUnreleased:n=!1,showDeprecated:r=!1,showInternal:i=!1}={}){const u=zr.split("-",1)[0],o=t.flatMap((e=>e.languages||[])).filter(a),s=((e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n))))(Object.assign({},...t.map((({options:e})=>e)),Gr),"name").filter((e=>a(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(a).sort(((e,t)=>Ur.compare(t.since,e.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((e=>a(e)&&l(e))),"parser"===e.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!r.has(t)){r.add(t);const u=n.find((e=>e.parsers&&e.parsers[t]));let o=i.name;u&&u.name&&(o+=` (plugin: ${u.name})`),e.choices.push({value:t,description:o})}}(e,o,t));const n=Object.fromEntries(t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).map((t=>[t.name,t.defaultOptions[e.name]])));return Object.assign(Object.assign({},e),{},{pluginDefaults:n})}));return{languages:o,options:s};function a(e){return n||!("since"in e)||e.since&&Ur.gte(u,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&Ur.lt(u,e.deprecated)}}};const{getSupportInfo:Jr}=Hr,Xr=/[^\x20-\x7F]/;function Yr(e){return(t,n,r)=>{const i=r&&r.backwards;if(!1===n)return!1;const{length:u}=t;let o=n;for(;o>=0&&o(n.match(o.regex)||[]).length?o.quote:u.quote}return s}function ci(e,t,n){const r='"'===t?"'":'"',i=e.replace(/\\(.)|(["'])/gs,((e,i,u)=>i===r?i:u===t?"\\"+u:u||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function pi(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){const t=e.type||e.kind||"(unknown type)";let n=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");n.length>20&&(n=n.slice(0,19)+"\u2026");return t+(n?" "+n:"")}(e)}var fi={inferParserByLanguage:function(e,t){const{languages:n}=Jr({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(`.${e}`)));return r&&r.parsers[0]},getStringWidth:function(e){return e?Xr.test(e)?An(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp(`(${xn(t)})+`,"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp(`(${xn(t)})+`,"g"));if(null===n)return 0;const r=new Map;let i=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>i&&(i=n)}for(let e=1;ee[e.length-2],getLast:Sn,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:oi,getNextNonSpaceNonCommentCharacterIndex:si,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(si(e,t,n))},skip:Yr,skipWhitespace:Kr,skipSpaces:Qr,skipToLineEnd:Zr,skipEverythingButNewLine:ei,skipInlineComment:ti,skipTrailingComment:ni,skipNewline:ri,isNextLineEmptyAfterIndex:ui,isNextLineEmpty:function(e,t,n){return ui(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=Qr(e,r,{backwards:!0}),r=ri(e,r,{backwards:!0}),r=Qr(e,r,{backwards:!0}),r!==ri(e,r,{backwards:!0})},hasNewline:ii,hasNewlineInRange:function(e,t,n){for(let r=t;r0},createGroupIdMapper:function(e){const t=new WeakMap;return function(n){return t.has(n)||t.set(n,Symbol(e)),t.get(n)}}};var di={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let n;if("\n"===t)n=/\n/g;else if("\r"===t)n=/\r/g;else{if("\r\n"!==t)throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`);n=/\r\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{literalline:hi,join:gi}=yn,mi=e=>Array.isArray(e)||e&&"concat"===e.type,yi=e=>{if(Array.isArray(e))return e;if("concat"!==e.type&&"fill"!==e.type)throw new Error("Expect doc type to be `concat` or `fill`.");return e.parts},Di={};function Ei(e,t,n,r){const i=[e];for(;i.length>0;){const e=i.pop();if(e!==Di){if(n&&i.push(e,Di),!t||!1!==t(e))if(mi(e)||"fill"===e.type){const t=yi(e);for(let e=t.length-1;e>=0;--e)i.push(t[e])}else if("if-break"===e.type)e.flatContents&&i.push(e.flatContents),e.breakContents&&i.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)i.push(e.expandedStates[t]);else i.push(e.contents);else e.contents&&i.push(e.contents)}else n(i.pop())}}function bi(e,t){const n=new Map;return r(e);function r(e){if(n.has(e))return n.get(e);const i=function(e){if(Array.isArray(e))return t(e.map(r));if("concat"===e.type||"fill"===e.type){const n=e.parts.map(r);return t(Object.assign(Object.assign({},e),{},{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&r(e.breakContents),i=e.flatContents&&r(e.flatContents);return t(Object.assign(Object.assign({},e),{},{breakContents:n,flatContents:i}))}if("group"===e.type&&e.expandedStates){const n=e.expandedStates.map(r),i=n[0];return t(Object.assign(Object.assign({},e),{},{contents:i,expandedStates:n}))}if(e.contents){const n=r(e.contents);return t(Object.assign(Object.assign({},e),{},{contents:n}))}return t(e)}(e);return n.set(e,i),i}}function Ci(e,t,n){let r=n,i=!1;return Ei(e,(function(e){const n=t(e);if(void 0!==n&&(i=!0,r=n),i)return!1})),r}function vi(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function Ai(e){if(e.length>0){const t=Sn(e);t.expandedStates||t.break||(t.break="propagated")}return null}function Fi(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}const xi=(e,t)=>e&&"line"===e.type&&e.hard&&t&&"break-parent"===t.type;function Si(e){if(!e)return e;if(mi(e)||"fill"===e.type){const t=yi(e);for(;t.length>1&&xi(...t.slice(-2));)t.length-=2;if(t.length>0){const e=Si(Sn(t));t[t.length-1]=e}return Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}switch(e.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{const t=Si(e.contents);return Object.assign(Object.assign({},e),{},{contents:t})}case"if-break":{const t=Si(e.breakContents),n=Si(e.flatContents);return Object.assign(Object.assign({},e),{},{breakContents:t,flatContents:n})}}return e}function wi(e){return bi(e,(e=>function(e){switch(e.type){case"fill":if(0===e.parts.length||e.parts.every((e=>""===e)))return"";break;case"group":if(!(e.contents||e.id||e.break||e.expandedStates))return"";if("group"===e.contents.type&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!e.contents)return"";break;case"if-break":if(!e.flatContents&&!e.breakContents)return""}if(!mi(e))return e;const t=[];for(const n of yi(e)){if(!n)continue;const[e,...r]=mi(n)?yi(n):[n];"string"==typeof e&&"string"==typeof Sn(t)?t[t.length-1]+=e:t.push(e),t.push(...r)}return 0===t.length?"":1===t.length?t[0]:Array.isArray(e)?t:Object.assign(Object.assign({},e),{},{parts:t})}(e)))}function Ti(e){const t=[],n=e.filter(Boolean);for(;n.length>0;){const e=n.shift();e&&(mi(e)?n.unshift(...yi(e)):t.length>0&&"string"==typeof Sn(t)&&"string"==typeof e?t[t.length-1]+=e:t.push(e))}return t}var Bi={isConcat:mi,getDocParts:yi,willBreak:function(e){return Ci(e,vi,!1)},traverseDoc:Ei,findInDoc:Ci,mapDoc:bi,propagateBreaks:function(e){const t=new Set,n=[];Ei(e,(function(e){if("break-parent"===e.type&&Ai(n),"group"===e.type){if(n.push(e),t.has(e))return!1;t.add(e)}}),(function(e){if("group"===e.type){n.pop().break&&Ai(n)}}),!0)},removeLines:function(e){return bi(e,Fi)},stripTrailingHardline:function(e){return Si(wi(e))},normalizeParts:Ti,normalizeDoc:function(e){return bi(e,(e=>Array.isArray(e)?Ti(e):e.parts?Object.assign(Object.assign({},e),{},{parts:Ti(e.parts)}):e))},cleanDoc:wi,replaceEndOfLineWith:function(e,t){return gi(t,e.split("\n")).parts},replaceNewlinesWithLiterallines:function(e){return bi(e,(e=>"string"==typeof e&&e.includes("\n")?gi(hi,e.split("\n")):e))}};const{getStringWidth:ki,getLast:Ni}=fi,{convertEndOfLineToChars:Pi}=di,{fill:Oi,cursor:Ii,indent:ji}=yn,{isConcat:Li,getDocParts:_i}=Bi;let Mi;function Ri(e,t){return Vi(e,{type:"indent"},t)}function $i(e,t,n){if(t===Number.NEGATIVE_INFINITY)return e.root||{value:"",length:0,queue:[]};if(t<0)return Vi(e,{type:"dedent"},n);if(!t)return e;if("root"===t.type)return Object.assign(Object.assign({},e),{},{root:e});return Vi(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},n)}function Vi(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):[...e.queue,t];let i="",u=0,o=0,s=0;for(const e of r)switch(e.type){case"indent":c(),n.useTabs?a(1):l(n.tabWidth);break;case"stringAlign":c(),i+=e.n,u+=e.n.length;break;case"numberAlign":o+=1,s+=e.n;break;default:throw new Error(`Unexpected type '${e.type}'`)}return p(),Object.assign(Object.assign({},e),{},{value:i,length:u,queue:r});function a(e){i+="\t".repeat(e),u+=n.tabWidth*e}function l(e){i+=" ".repeat(e),u+=e}function c(){n.useTabs?function(){o>0&&a(o);f()}():p()}function p(){s>0&&l(s),f()}function f(){o=0,s=0}}function qi(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof Ni(e)&&/^[\t ]*$/.test(Ni(e));)t+=e.pop().length;if(e.length>0&&"string"==typeof Ni(e)){const n=Ni(e).replace(/[\t ]*$/,"");t+=Ni(e).length-n.length,e[e.length-1]=n}return t}function Wi(e,t,n,r,i,u){let o=t.length;const s=[e],a=[];for(;n>=0;){if(0===s.length){if(0===o)return!0;s.push(t[o-1]),o--;continue}const[e,l,c]=s.pop();if("string"==typeof c)a.push(c),n-=ki(c);else if(Li(c)){const t=_i(c);for(let n=t.length-1;n>=0;n--)s.push([e,l,t[n]])}else switch(c.type){case"indent":s.push([Ri(e,r),l,c.contents]);break;case"align":s.push([$i(e,c.n,r),l,c.contents]);break;case"trim":n+=qi(a);break;case"group":{if(u&&c.break)return!1;const t=c.break?1:l;s.push([e,t,c.expandedStates&&1===t?Ni(c.expandedStates):c.contents]),c.id&&(Mi[c.id]=t);break}case"fill":for(let t=c.parts.length-1;t>=0;t--)s.push([e,l,c.parts[t]]);break;case"if-break":case"indent-if-break":{const t=c.groupId?Mi[c.groupId]:l;if(1===t){const t="if-break"===c.type?c.breakContents:c.negate?c.contents:ji(c.contents);t&&s.push([e,l,t])}if(2===t){const t="if-break"===c.type?c.flatContents:c.negate?ji(c.contents):c.contents;t&&s.push([e,l,t])}break}case"line":switch(l){case 2:if(!c.hard){c.soft||(a.push(" "),n-=1);break}return!0;case 1:return!0}break;case"line-suffix":i=!0;break;case"line-suffix-boundary":if(i)return!1;break;case"label":s.push([e,l,c.contents])}}return!1}var Ui={printDocToString:function(e,t){Mi={};const n=t.printWidth,r=Pi(t.endOfLine);let i=0;const u=[[{value:"",length:0,queue:[]},1,e]],o=[];let s=!1,a=[];for(;u.length>0;){const[e,l,c]=u.pop();if("string"==typeof c){const e="\n"!==r?c.replace(/\n/g,r):c;o.push(e),i+=ki(e)}else if(Li(c)){const t=_i(c);for(let n=t.length-1;n>=0;n--)u.push([e,l,t[n]])}else switch(c.type){case"cursor":o.push(Ii.placeholder);break;case"indent":u.push([Ri(e,t),l,c.contents]);break;case"align":u.push([$i(e,c.n,t),l,c.contents]);break;case"trim":i-=qi(o);break;case"group":switch(l){case 2:if(!s){u.push([e,c.break?1:2,c.contents]);break}case 1:{s=!1;const r=[e,2,c.contents],o=n-i,l=a.length>0;if(!c.break&&Wi(r,u,o,t,l))u.push(r);else if(c.expandedStates){const n=Ni(c.expandedStates);if(c.break){u.push([e,1,n]);break}for(let r=1;r=c.expandedStates.length){u.push([e,1,n]);break}{const n=[e,2,c.expandedStates[r]];if(Wi(n,u,o,t,l)){u.push(n);break}}}}else u.push([e,1,c.contents]);break}}c.id&&(Mi[c.id]=Ni(u)[1]);break;case"fill":{const r=n-i,{parts:o}=c;if(0===o.length)break;const[s,p]=o,f=[e,2,s],d=[e,1,s],h=Wi(f,[],r,t,a.length>0,!0);if(1===o.length){h?u.push(f):u.push(d);break}const g=[e,2,p],m=[e,1,p];if(2===o.length){h?u.push(g,f):u.push(m,d);break}o.splice(0,2);const y=[e,l,Oi(o)];Wi([e,2,[s,p,o[0]]],[],r,t,a.length>0,!0)?u.push(y,g,f):h?u.push(y,m,f):u.push(y,m,d);break}case"if-break":case"indent-if-break":{const t=c.groupId?Mi[c.groupId]:l;if(1===t){const t="if-break"===c.type?c.breakContents:c.negate?c.contents:ji(c.contents);t&&u.push([e,l,t])}if(2===t){const t="if-break"===c.type?c.flatContents:c.negate?ji(c.contents):c.contents;t&&u.push([e,l,t])}break}case"line-suffix":a.push([e,l,c.contents]);break;case"line-suffix-boundary":a.length>0&&u.push([e,l,{type:"line",hard:!0}]);break;case"line":switch(l){case 2:if(!c.hard){c.soft||(o.push(" "),i+=1);break}s=!0;case 1:if(a.length>0){u.push([e,l,c],...a.reverse()),a=[];break}c.literal?e.root?(o.push(r,e.root.value),i=e.root.length):(o.push(r),i=0):(i-=qi(o),o.push(r+e.value),i=e.length)}break;case"label":u.push([e,l,c.contents])}0===u.length&&a.length>0&&(u.push(...a.reverse()),a=[])}const l=o.indexOf(Ii.placeholder);if(-1!==l){const e=o.indexOf(Ii.placeholder,l+1),t=o.slice(0,l).join(""),n=o.slice(l+1,e).join("");return{formatted:t+n+o.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:o.join("")}}};const{isConcat:zi,getDocParts:Gi}=Bi;function Hi(e){if(!e)return"";if(zi(e)){const t=[];for(const n of Gi(e))if(zi(n))t.push(...Hi(n).parts);else{const e=Hi(n);""!==e&&t.push(e)}return{type:"concat",parts:t}}return"if-break"===e.type?Object.assign(Object.assign({},e),{},{breakContents:Hi(e.breakContents),flatContents:Hi(e.flatContents)}):"group"===e.type?Object.assign(Object.assign({},e),{},{contents:Hi(e.contents),expandedStates:e.expandedStates&&e.expandedStates.map(Hi)}):"fill"===e.type?{type:"fill",parts:e.parts.map(Hi)}:e.contents?Object.assign(Object.assign({},e),{},{contents:Hi(e.contents)}):e}var Ji={builders:yn,printer:Ui,utils:Bi,debug:{printDocToDebug:function(e){const t=Object.create(null),n=new Set;return function e(t,n,i){if("string"==typeof t)return JSON.stringify(t);if(zi(t)){const n=Gi(t).map(e).filter(Boolean);return 1===n.length?n[0]:`[${n.join(", ")}]`}if("line"===t.type){const e=Array.isArray(i)&&i[n+1]&&"break-parent"===i[n+1].type;return t.literal?e?"literalline":"literallineWithoutBreakParent":t.hard?e?"hardline":"hardlineWithoutBreakParent":t.soft?"softline":"line"}if("break-parent"===t.type){return Array.isArray(i)&&i[n-1]&&"line"===i[n-1].type&&i[n-1].hard?void 0:"breakParent"}if("trim"===t.type)return"trim";if("indent"===t.type)return"indent("+e(t.contents)+")";if("align"===t.type)return t.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+e(t.contents)+")":t.n<0?"dedent("+e(t.contents)+")":"root"===t.n.type?"markAsRoot("+e(t.contents)+")":"align("+JSON.stringify(t.n)+", "+e(t.contents)+")";if("if-break"===t.type)return"ifBreak("+e(t.breakContents)+(t.flatContents?", "+e(t.flatContents):"")+(t.groupId?(t.flatContents?"":', ""')+`, { groupId: ${r(t.groupId)} }`:"")+")";if("indent-if-break"===t.type){const n=[];t.negate&&n.push("negate: true"),t.groupId&&n.push(`groupId: ${r(t.groupId)}`);const i=n.length>0?`, { ${n.join(", ")} }`:"";return`indentIfBreak(${e(t.contents)}${i})`}if("group"===t.type){const n=[];t.break&&"propagated"!==t.break&&n.push("shouldBreak: true"),t.id&&n.push(`id: ${r(t.id)}`);const i=n.length>0?`, { ${n.join(", ")} }`:"";return t.expandedStates?`conditionalGroup([${t.expandedStates.map((t=>e(t))).join(",")}]${i})`:`group(${e(t.contents)}${i})`}if("fill"===t.type)return`fill([${t.parts.map((t=>e(t))).join(", ")}])`;if("line-suffix"===t.type)return"lineSuffix("+e(t.contents)+")";if("line-suffix-boundary"===t.type)return"lineSuffixBoundary";if("label"===t.type)return`label(${JSON.stringify(t.label)}, ${e(t.contents)})`;throw new Error("Unknown doc type "+t.type)}(Hi(e));function r(e){if("symbol"!=typeof e)return JSON.stringify(String(e));if(e in t)return t[e];const r=String(e).slice(7,-1)||"symbol";for(let i=0;;i++){const u=r+(i>0?` #${i}`:"");if(!n.has(u))return n.add(u),t[e]=`Symbol.for(${JSON.stringify(u)})`}}}}},Xi=Object.freeze({__proto__:null,default:{}});function Yi(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var Ki=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Qi=function(e){return Ki.exec(e).slice(1)};function Zi(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=Yi(au(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function eu(e){var t=tu(e),n="/"===lu(e,-1);return(e=Yi(au(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function tu(e){return"/"===e.charAt(0)}function nu(){var e=Array.prototype.slice.call(arguments,0);return eu(au(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function ru(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Zi(e).substr(1),t=Zi(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),u=Math.min(r.length,i.length),o=u,s=0;s>18&63]+pu[i>>12&63]+pu[i>>6&63]+pu[63&i]);return u.join("")}function yu(e){var t;hu||gu();for(var n=e.length,r=n%3,i="",u=[],o=16383,s=0,a=n-r;sa?a:s+o));return 1===r?(t=e[n-1],i+=pu[t>>2],i+=pu[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=pu[t>>10],i+=pu[t>>4&63],i+=pu[t<<2&63],i+="="),u.push(i),u.join("")}function Du(e,t,n,r,i){var u,o,s=8*i-r-1,a=(1<>1,c=-7,p=n?i-1:0,f=n?-1:1,d=e[t+p];for(p+=f,u=d&(1<<-c)-1,d>>=-c,c+=s;c>0;u=256*u+e[t+p],p+=f,c-=8);for(o=u&(1<<-c)-1,u>>=-c,c+=r;c>0;o=256*o+e[t+p],p+=f,c-=8);if(0===u)u=1-l;else{if(u===a)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),u-=l}return(d?-1:1)*o*Math.pow(2,u-r)}function Eu(e,t,n,r,i,u){var o,s,a,l=8*u-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:u-1,h=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-o))<1&&(o--,a*=2),(t+=o+p>=1?f/a:f*Math.pow(2,1-p))*a>=2&&(o++,a/=2),o+p>=c?(s=0,o=c):o+p>=1?(s=(t*a-1)*Math.pow(2,i),o+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[n+d]=255&s,d+=h,s/=256,i-=8);for(o=o<0;e[n+d]=255&o,d+=h,o/=256,l-=8);e[n+d-h]|=128*g}var bu={}.toString,Cu=Array.isArray||function(e){return"[object Array]"==bu.call(e)};function vu(){return Fu.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Au(e,t){if(vu()=vu())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+vu().toString(16)+" bytes");return 0|e}function ku(e){return!(null==e||!e._isBuffer)}function Nu(e,t){if(ku(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return ro(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return io(e).length;default:if(r)return ro(e).length;t=(""+t).toLowerCase(),r=!0}}function Pu(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Gu(this,t,n);case"utf8":case"utf-8":return Wu(this,t,n);case"ascii":return Uu(this,t,n);case"latin1":case"binary":return zu(this,t,n);case"base64":return qu(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Hu(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Ou(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Iu(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=Fu.from(t,r)),ku(t))return 0===t.length?-1:ju(e,t,n,r,i);if("number"==typeof t)return t&=255,Fu.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ju(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function ju(e,t,n,r,i){var u,o=1,s=e.length,a=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,n/=2}function l(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(u=n;us&&(n=s-a),u=n;u>=0;u--){for(var p=!0,f=0;fi&&(r=i):r=i;var u=t.length;if(u%2!=0)throw new TypeError("Invalid hex string");r>u/2&&(r=u/2);for(var o=0;o>8,i=n%256,u.push(i),u.push(r);return u}(t,e.length-n),e,n,r)}function qu(e,t,n){return 0===t&&n===e.length?yu(e):yu(e.slice(t,n))}function Wu(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+p<=n)switch(p){case 1:l<128&&(c=l);break;case 2:128==(192&(u=e[i+1]))&&(a=(31&l)<<6|63&u)>127&&(c=a);break;case 3:u=e[i+1],o=e[i+2],128==(192&u)&&128==(192&o)&&(a=(15&l)<<12|(63&u)<<6|63&o)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:u=e[i+1],o=e[i+2],s=e[i+3],128==(192&u)&&128==(192&o)&&128==(192&s)&&(a=(15&l)<<18|(63&u)<<12|(63&o)<<6|63&s)>65535&&a<1114112&&(c=a)}null===c?(c=65533,p=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Fu.prototype.compare=function(e,t,n,r,i){if(!ku(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var u=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(u,o),a=this.slice(r,i),l=e.slice(t,n),c=0;ci)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var u=!1;;)switch(r){case"hex":return Lu(this,e,t,n);case"utf8":case"utf-8":return _u(this,e,t,n);case"ascii":return Mu(this,e,t,n);case"latin1":case"binary":return Ru(this,e,t,n);case"base64":return $u(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Vu(this,e,t,n);default:if(u)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),u=!0}},Fu.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Uu(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",u=t;un)throw new RangeError("Trying to access beyond buffer length")}function Xu(e,t,n,r,i,u){if(!ku(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Yu(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,u=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function Ku(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,u=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function Qu(e,t,n,r,i,u){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Zu(e,t,n,r,i){return i||Qu(e,0,n,4),Eu(e,t,n,r,23,4),n+4}function eo(e,t,n,r,i){return i||Qu(e,0,n,8),Eu(e,t,n,r,52,8),n+8}Fu.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},Fu.prototype.readUInt8=function(e,t){return t||Ju(e,1,this.length),this[e]},Fu.prototype.readUInt16LE=function(e,t){return t||Ju(e,2,this.length),this[e]|this[e+1]<<8},Fu.prototype.readUInt16BE=function(e,t){return t||Ju(e,2,this.length),this[e]<<8|this[e+1]},Fu.prototype.readUInt32LE=function(e,t){return t||Ju(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Fu.prototype.readUInt32BE=function(e,t){return t||Ju(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Fu.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Ju(e,t,this.length);for(var r=this[e],i=1,u=0;++u=(i*=128)&&(r-=Math.pow(2,8*t)),r},Fu.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Ju(e,t,this.length);for(var r=t,i=1,u=this[e+--r];r>0&&(i*=256);)u+=this[e+--r]*i;return u>=(i*=128)&&(u-=Math.pow(2,8*t)),u},Fu.prototype.readInt8=function(e,t){return t||Ju(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Fu.prototype.readInt16LE=function(e,t){t||Ju(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Fu.prototype.readInt16BE=function(e,t){t||Ju(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Fu.prototype.readInt32LE=function(e,t){return t||Ju(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Fu.prototype.readInt32BE=function(e,t){return t||Ju(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Fu.prototype.readFloatLE=function(e,t){return t||Ju(e,4,this.length),Du(this,e,!0,23,4)},Fu.prototype.readFloatBE=function(e,t){return t||Ju(e,4,this.length),Du(this,e,!1,23,4)},Fu.prototype.readDoubleLE=function(e,t){return t||Ju(e,8,this.length),Du(this,e,!0,52,8)},Fu.prototype.readDoubleBE=function(e,t){return t||Ju(e,8,this.length),Du(this,e,!1,52,8)},Fu.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Xu(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,u=0;for(this[t]=255&e;++u=0&&(u*=256);)this[t+i]=e/u&255;return t+n},Fu.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,1,255,0),Fu.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Fu.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,2,65535,0),Fu.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Yu(this,e,t,!0),t+2},Fu.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,2,65535,0),Fu.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Yu(this,e,t,!1),t+2},Fu.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,4,4294967295,0),Fu.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Ku(this,e,t,!0),t+4},Fu.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,4,4294967295,0),Fu.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ku(this,e,t,!1),t+4},Fu.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Xu(this,e,t,n,i-1,-i)}var u=0,o=1,s=0;for(this[t]=255&e;++u>0)-s&255;return t+n},Fu.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Xu(this,e,t,n,i-1,-i)}var u=n-1,o=1,s=0;for(this[t+u]=255&e;--u>=0&&(o*=256);)e<0&&0===s&&0!==this[t+u+1]&&(s=1),this[t+u]=(e/o>>0)-s&255;return t+n},Fu.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,1,127,-128),Fu.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Fu.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,2,32767,-32768),Fu.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Yu(this,e,t,!0),t+2},Fu.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,2,32767,-32768),Fu.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Yu(this,e,t,!1),t+2},Fu.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,4,2147483647,-2147483648),Fu.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Ku(this,e,t,!0),t+4},Fu.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Xu(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Fu.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ku(this,e,t,!1),t+4},Fu.prototype.writeFloatLE=function(e,t,n){return Zu(this,e,t,!0,n)},Fu.prototype.writeFloatBE=function(e,t,n){return Zu(this,e,t,!1,n)},Fu.prototype.writeDoubleLE=function(e,t,n){return eo(this,e,t,!0,n)},Fu.prototype.writeDoubleBE=function(e,t,n){return eo(this,e,t,!1,n)},Fu.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(u<1e3||!Fu.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(u=t;u55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&u.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&u.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&u.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&u.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;u.push(n)}else if(n<2048){if((t-=2)<0)break;u.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;u.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;u.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return u}function io(e){return function(e){var t,n,r,i,u,o;hu||gu();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");u="="===e[s-2]?2:"="===e[s-1]?1:0,o=new du(3*s/4-u),r=u>0?s-4:s;var a=0;for(t=0,n=0;t>16&255,o[a++]=i>>8&255,o[a++]=255&i;return 2===u?(i=fu[e.charCodeAt(t)]<<2|fu[e.charCodeAt(t+1)]>>4,o[a++]=255&i):1===u&&(i=fu[e.charCodeAt(t)]<<10|fu[e.charCodeAt(t+1)]<<4|fu[e.charCodeAt(t+2)]>>2,o[a++]=i>>8&255,o[a++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(to,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function uo(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function oo(e){return null!=e&&(!!e._isBuffer||so(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&so(e.slice(0,0))}(e))}function so(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var ao=r(Xi);var lo=class{constructor(e,t){(t=t||{}).readChunk||(t.readChunk=1024),t.newLineCharacter?t.newLineCharacter=t.newLineCharacter.charCodeAt(0):t.newLineCharacter=10,this.fd="number"==typeof e?e:ao.openSync(e,"r"),this.options=t,this.newLineCharacter=t.newLineCharacter,this.reset()}_searchInBuffer(e,t){let n=-1;for(let r=0;r<=e.length;r++){if(e[r]===t){n=r;break}}return n}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){ao.closeSync(this.fd),this.fd=null}_extractLines(e){let t;const n=[];let r=0,i=0;for(;;){let u=e[r++];if(u===this.newLineCharacter)t=e.slice(i,r),n.push(t),i=r;else if(void 0===u)break}let u=e.slice(i,r);return u.length&&n.push(u),n}_readChunk(e){let t,n=0;const r=[];do{const e=new Fu(this.options.readChunk);t=ao.readSync(this.fd,e,0,this.options.readChunk,this.fdPosition),n+=t,this.fdPosition=this.fdPosition+t,r.push(e)}while(t&&-1===this._searchInBuffer(r[r.length-1],this.options.newLineCharacter));let i=Fu.concat(r);return t=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Eo(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,u=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=u.next()).done;)o.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=u.return)&&n.call(u)}finally{if(i)throw i.error}}return o}function bo(e){return this instanceof bo?(this.v=e,this):new bo(e)}var Co=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}mo(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return yo},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(u<3?i(o):u>3?i(t,n,o):i(t,n))||o);return u>3&&o&&Object.defineProperty(t,n,o),o},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(i,u){function o(e){try{a(r.next(e))}catch(e){u(e)}}function s(e){try{a(r.throw(e))}catch(e){u(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}a((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,i,u,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return u={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(u){return function(s){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]1||s(e,t)}))})}function s(e,t){try{(n=i[e](t)).value instanceof bo?Promise.resolve(n.value.v).then(a,l):c(u[0][2],n)}catch(e){c(u[0][3],e)}var n}function a(e){s("next",e)}function l(e){s("throw",e)}function c(e,t){e(t),u.shift(),u.length&&s(u[0][0],u[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:bo(e[r](t)),done:"return"===r}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Do(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),vo=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.apiDescriptor={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map((e=>t.apiDescriptor.value(e))).join(", ")}]`;const n=Object.keys(e);return 0===n.length?"{}":`{ ${n.map((n=>`${t.apiDescriptor.key(n)}: ${t.apiDescriptor.value(e[n])}`)).join(", ")} }`},pair:({key:e,value:n})=>t.apiDescriptor.value({[e]:n})}})),Ao=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(vo,t)})),Fo=/[|\\{}()[\]^$+*?.]/g,xo=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(Fo,"\\$&")},So={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},wo=i((function(e){var t={};for(var n in So)So.hasOwnProperty(n)&&(t[So[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!("channels"in r[i]))throw new Error("missing channels property: "+i);if(!("labels"in r[i]))throw new Error("missing channel labels property: "+i);if(r[i].labels.length!==r[i].channels)throw new Error("channel and label counts mismatch: "+i);var u=r[i].channels,o=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],"channels",{value:u}),Object.defineProperty(r[i],"labels",{value:o})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,u=e[2]/255,o=Math.min(r,i,u),s=Math.max(r,i,u),a=s-o;return s===o?t=0:r===s?t=(i-u)/a:i===s?t=2+(u-r)/a:u===s&&(t=4+(r-i)/a),(t=Math.min(60*t,360))<0&&(t+=360),n=(o+s)/2,[t,100*(s===o?0:n<=.5?a/(s+o):a/(2-s-o)),100*n]},r.rgb.hsv=function(e){var t,n,r,i,u,o=e[0]/255,s=e[1]/255,a=e[2]/255,l=Math.max(o,s,a),c=l-Math.min(o,s,a),p=function(e){return(l-e)/6/c+.5};return 0===c?i=u=0:(u=c/l,t=p(o),n=p(s),r=p(a),o===l?i=r-n:s===l?i=1/3+t-r:a===l&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*u,100*l]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,i))),100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i,u,o=1/0;for(var s in So)if(So.hasOwnProperty(s)){var a=So[s],l=(i=e,u=a,Math.pow(i[0]-u[0],2)+Math.pow(i[1]-u[1],2)+Math.pow(i[2]-u[2],2));l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],i=t[1],u=t[2];return i/=100,u/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(u=u>.008856?Math.pow(u,1/3):7.787*u+16/116))]},r.hsl.rgb=function(e){var t,n,r,i,u,o=e[0]/360,s=e[1]/100,a=e[2]/100;if(0===s)return[u=255*a,u,u];t=2*a-(n=a<.5?a*(1+s):a+s-a*s),i=[0,0,0];for(var l=0;l<3;l++)(r=o+1/3*-(l-1))<0&&r++,r>1&&r--,u=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[l]=255*u;return i},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,u=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=u<=1?u:2-u,[t,100*(0===r?2*i/(u+i):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,u=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*u),a=255*r*(1-n*(1-u));switch(r*=255,i){case 0:return[r,a,o];case 1:return[s,r,o];case 2:return[o,r,a];case 3:return[o,s,r];case 4:return[a,o,r];case 5:return[r,o,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],u=e[1]/100,o=e[2]/100,s=Math.max(o,.01);return r=(2-u)*o,n=u*s,[i,100*(n=(n/=(t=(2-u)*s)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,i,u,o,s,a=e[0]/360,l=e[1]/100,c=e[2]/100,p=l+c;switch(p>1&&(l/=p,c/=p),r=6*a-(t=Math.floor(6*a)),0!=(1&t)&&(r=1-r),i=l+r*((n=1-c)-l),t){default:case 6:case 0:u=n,o=i,s=l;break;case 1:u=i,o=n,s=l;break;case 2:u=l,o=n,s=i;break;case 3:u=l,o=i,s=n;break;case 4:u=i,o=l,s=n;break;case 5:u=n,o=l,s=i}return[255*u,255*o,255*s]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,u=e[1]/100,o=e[2]/100;return n=-.9689*i+1.8758*u+.0415*o,r=.0557*i+-.204*u+1.057*o,t=(t=3.2406*i+-1.5372*u+-.4986*o)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var u=Math.pow(n,3),o=Math.pow(t,3),s=Math.pow(r,3);return n=u>.008856?u:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],u=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(u=Math.round(u/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===u&&(o+=60),o},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,u=Math.max(Math.max(n,r),i),o=Math.min(Math.min(n,r),i),s=u-o;return t=s<=0?0:u===n?(r-i)/s%6:u===r?2+(i-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?o/(1-s):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,u=[0,0,0],o=t%1*6,s=o%1,a=1-s;switch(Math.floor(o)){case 0:u[0]=1,u[1]=s,u[2]=0;break;case 1:u[0]=a,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=s;break;case 3:u[0]=0,u[1]=a,u[2]=1;break;case 4:u[0]=s,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=a}return i=(1-n)*r,[255*(n*u[0]+i),255*(n*u[1]+i),255*(n*u[2]+i)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function To(e){var t=function(){for(var e={},t=Object.keys(wo),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,i=0;i1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var Po,Oo=No,Io=i((function(e){const t=(e,t)=>function(){const n=e.apply(Oo,arguments);return`\x1b[${n+t}m`},n=(e,t)=>function(){const n=e.apply(Oo,arguments);return`\x1b[${38+t};5;${n}m`},r=(e,t)=>function(){const n=e.apply(Oo,arguments);return`\x1b[${38+t};2;${n[0]};${n[1]};${n[2]}m`};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:`\x1b[${r[0]}m`,close:`\x1b[${r[1]}m`},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,"codes",{value:e,enumerable:!1})}const u=e=>e,o=(e,t,n)=>[e,t,n];i.color.close="\x1b[39m",i.bgColor.close="\x1b[49m",i.color.ansi={ansi:t(u,0)},i.color.ansi256={ansi256:n(u,0)},i.color.ansi16m={rgb:r(o,0)},i.bgColor.ansi={ansi:t(u,10)},i.bgColor.ansi256={ansi256:n(u,10)},i.bgColor.ansi16m={rgb:r(o,10)};for(let e of Object.keys(Oo)){if("object"!=typeof Oo[e])continue;const u=Oo[e];"ansi16"===e&&(e="ansi"),"ansi16"in u&&(i.color.ansi[e]=t(u.ansi16,0),i.bgColor.ansi[e]=t(u.ansi16,10)),"ansi256"in u&&(i.color.ansi256[e]=n(u.ansi256,0),i.bgColor.ansi256[e]=n(u.ansi256,10)),"rgb"in u&&(i.color.ansi16m[e]=r(u.rgb,0),i.bgColor.ansi16m[e]=r(u.rgb,10))}return i}})}));function jo(){if(void 0===Po){var e=new ArrayBuffer(2),t=new Uint8Array(e),n=new Uint16Array(e);if(t[0]=1,t[1]=2,258===n[0])Po="BE";else{if(513!==n[0])throw new Error("unable to figure out endianess");Po="LE"}}return Po}function Lo(){return void 0!==Kn.location?Kn.location.hostname:""}function _o(){return[]}function Mo(){return 0}function Ro(){return Number.MAX_VALUE}function $o(){return Number.MAX_VALUE}function Vo(){return[]}function qo(){return"Browser"}function Wo(){return void 0!==Kn.navigator?Kn.navigator.appVersion:""}function Uo(){}function zo(){}function Go(){return"javascript"}function Ho(){return"browser"}function Jo(){return"/tmp"}var Xo=Jo,Yo={EOL:"\n",arch:Go,platform:Ho,tmpdir:Xo,tmpDir:Jo,networkInterfaces:Uo,getNetworkInterfaces:zo,release:Wo,type:qo,cpus:Vo,totalmem:$o,freemem:Ro,uptime:Mo,loadavg:_o,hostname:Lo,endianness:jo},Ko=(e,t)=>{t=t||Cr.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r=2,has16m:e>=3}}(function(e){if(!1===es)return 0;if(Ko("color=16m")||Ko("color=full")||Ko("color=truecolor"))return 3;if(Ko("color=256"))return 2;if(e&&!e.isTTY&&!0!==es)return 0;const t=es?1:0;if("CI"in Zo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in Zo))||"codeship"===Zo.CI_NAME?1:t;if("TEAMCITY_VERSION"in Zo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Zo.TEAMCITY_VERSION)?1:0;if("truecolor"===Zo.COLORTERM)return 3;if("TERM_PROGRAM"in Zo){const e=parseInt((Zo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Zo.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Zo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Zo.TERM)||"COLORTERM"in Zo?1:(Zo.TERM,t)}(e))}Ko("no-color")||Ko("no-colors")||Ko("color=false")?es=!1:(Ko("color")||Ko("colors")||Ko("color=true")||Ko("color=always"))&&(es=!0),"FORCE_COLOR"in Zo&&(es=0===Zo.FORCE_COLOR.length||0!==parseInt(Zo.FORCE_COLOR,10));var ns={supportsColor:ts,stdout:ts(Cr.stdout),stderr:ts(Cr.stderr)};const rs=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,is=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,us=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,os=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,ss=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function as(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):ss.get(e)||e}function ls(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const t of r)if(isNaN(t)){if(!(i=t.match(us)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(i[2].replace(os,((e,t,n)=>t?as(t):n)))}else n.push(Number(t));return n}function cs(e){is.lastIndex=0;const t=[];let n;for(;null!==(n=is.exec(e));){const e=n[1];if(n[2]){const r=ls(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function ps(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var fs=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(rs,((t,u,o,s,a,l)=>{if(u)i.push(as(u));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:ps(e,n)(t)),n.push({inverse:o,styles:cs(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(ps(e,n)(i.join(""))),i=[],n.pop()}else i.push(l)})),r.push(i.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return r.join("")},ds=i((function(e){const t=ns.stdout,n=["ansi","ansi","ansi256","ansi16m"],r=new Set(["gray"]),i=Object.create(null);function u(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function o(e){if(!this||!(this instanceof o)||this.template){const t={};return u(t,e),t.template=function(){const e=[].slice.call(arguments);return c.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,o.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=o,t.template}u(this,e)}for(const e of Object.keys(Io))Io[e].closeRe=new RegExp(xo(Io[e].close),"g"),i[e]={get(){const t=Io[e];return a.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};i.visible={get(){return a.call(this,this._styles||[],!0,"visible")}},Io.color.closeRe=new RegExp(xo(Io.color.close),"g");for(const e of Object.keys(Io.color.ansi))r.has(e)||(i[e]={get(){const t=this.level;return function(){const r=Io.color[n[t]][e].apply(null,arguments),i={open:r,close:Io.color.close,closeRe:Io.color.closeRe};return a.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});Io.bgColor.closeRe=new RegExp(xo(Io.bgColor.close),"g");for(const e of Object.keys(Io.bgColor.ansi)){if(r.has(e))continue;i["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const r=Io.bgColor[n[t]][e].apply(null,arguments),i={open:r,close:Io.bgColor.close,closeRe:Io.bgColor.closeRe};return a.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}}}const s=Object.defineProperties((()=>{}),i);function a(e,t,n){const r=function(){return l.apply(r,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=s,r}function l(){const e=arguments,t=e.length;let n=String(arguments[0]);if(0===t)return"";if(t>1)for(let r=1;r{const r=[`${ds.default.yellow("string"==typeof e?n.key(e):n.pair(e))} is deprecated`];return t&&r.push(`we now treat it as ${ds.default.blue("string"==typeof t?n.key(t):n.pair(t))}`),r.join("; ")+"."}},"__esModule",{value:!0}),gs=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(hs,t)})),ms=Object.defineProperty({commonInvalidHandler:(e,t,n)=>[`Invalid ${ds.default.red(n.descriptor.key(e))} value.`,`Expected ${ds.default.blue(n.schemas[e].expected(n))},`,`but received ${ds.default.red(n.descriptor.value(t))}.`].join(" ")},"__esModule",{value:!0}),ys=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(ms,t)})),Ds=[],Es=[],bs=Object.defineProperty({levenUnknownHandler:(e,t,{descriptor:n,logger:r,schemas:i})=>{const u=[`Ignored unknown option ${ds.default.yellow(n.pair({key:e,value:t}))}.`],o=Object.keys(i).sort().find((t=>function(e,t){if(e===t)return 0;var n=e;e.length>t.length&&(e=t,t=n);var r=e.length,i=t.length;if(0===r)return i;if(0===i)return r;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i);)r--,i--;if(0===r)return i;for(var u,o,s,a,l=0;lo?a>o?o+1:a:a>s?s+1:a;return o}(e,t)<3));o&&u.push(`Did you mean ${ds.default.blue(n.key(o))}?`),r.warn(u.join(" "))}},"__esModule",{value:!0}),Cs=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(bs,t)})),vs=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(gs,t),Co.__exportStar(ys,t),Co.__exportStar(Cs,t)}));const As=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function Fs(e,t){const n=new e(t),r=Object.create(n);for(const e of As)e in t&&(r[e]=Ts(t[e],n,Ss.prototype[e].length));return r}var xs=Fs;class Ss{constructor(e){this.name=e.name}static create(e){return Fs(this,e)}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,n){return e}preprocess(e,t){return e}postprocess(e,t){return e}}var ws=Ss;function Ts(e,t,n){return"function"==typeof e?(...r)=>e(...r.slice(0,n-1),t,...r.slice(n-1)):()=>e}var Bs=Object.defineProperty({createSchema:xs,Schema:ws},"__esModule",{value:!0});class ks extends Bs.Schema{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}}var Ns=ks,Ps=Object.defineProperty({AliasSchema:Ns},"__esModule",{value:!0});class Os extends Bs.Schema{expected(){return"anything"}validate(){return!0}}var Is=Os,js=Object.defineProperty({AnySchema:Is},"__esModule",{value:!0});class Ls extends Bs.Schema{constructor(e){var{valueSchema:t,name:n=t.name}=e,r=Co.__rest(e,["valueSchema","name"]);super(Object.assign({},r,{name:n})),this._valueSchema=t}expected(e){return`an array of ${this._valueSchema.expected(e)}`}validate(e,t){if(!Array.isArray(e))return!1;const n=[];for(const r of e){const e=t.normalizeValidateResult(this._valueSchema.validate(r,t),r);!0!==e&&n.push(e.value)}return 0===n.length||{value:n}}deprecated(e,t){const n=[];for(const r of e){const e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(r,t),r);!1!==e&&n.push(...e.map((({value:e})=>({value:[e]}))))}return n}forward(e,t){const n=[];for(const r of e){const e=t.normalizeForwardResult(this._valueSchema.forward(r,t),r);n.push(...e.map(Ms))}return n}redirect(e,t){const n=[],r=[];for(const i of e){const e=t.normalizeRedirectResult(this._valueSchema.redirect(i,t),i);"remain"in e&&n.push(e.remain),r.push(...e.redirect.map(Ms))}return 0===n.length?{redirect:r}:{redirect:r,remain:n}}overlap(e,t){return e.concat(t)}}var _s=Ls;function Ms({from:e,to:t}){return{from:[e],to:t}}var Rs=Object.defineProperty({ArraySchema:_s},"__esModule",{value:!0});class $s extends Bs.Schema{expected(){return"true or false"}validate(e){return"boolean"==typeof e}}var Vs=$s,qs=Object.defineProperty({BooleanSchema:Vs},"__esModule",{value:!0});var Ws=function(e,t){const n=Object.create(null);for(const r of e){const e=r[t];if(n[e])throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);n[e]=r}return n};var Us=function(e,t){const n=new Map;for(const r of e){const e=r[t];if(n.has(e))throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);n.set(e,r)}return n};var zs=function(){const e=Object.create(null);return t=>{const n=JSON.stringify(t);return!!e[n]||(e[n]=!0,!1)}};var Gs=function(e,t){const n=[],r=[];for(const i of e)t(i)?n.push(i):r.push(i);return[n,r]};var Hs=function(e){return e===Math.floor(e)};var Js=function(e,t){if(e===t)return 0;const n=typeof e,r=typeof t,i=["undefined","object","boolean","number","string"];return n!==r?i.indexOf(n)-i.indexOf(r):"string"!==n?Number(e)-Number(t):e.localeCompare(t)};var Xs=function(e){return void 0===e?{}:e};var Ys=function(e,t){return!0===e||(!1===e?{value:t}:e)};var Ks=function(e,t,n=!1){return!1!==e&&(!0===e?!!n||[{value:t}]:"value"in e?[e]:0!==e.length&&e)};function Qs(e,t){return"string"==typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}var Zs=Qs;function ea(e,t){return void 0===e?[]:Array.isArray(e)?e.map((e=>Qs(e,t))):[Qs(e,t)]}var ta=ea;var na=function(e,t){const n=ea("object"==typeof e&&"redirect"in e?e.redirect:e,t);return 0===n.length?{remain:t,redirect:n}:"object"==typeof e&&"remain"in e?{remain:e.remain,redirect:n}:{redirect:n}},ra=Object.defineProperty({recordFromArray:Ws,mapFromArray:Us,createAutoChecklist:zs,partition:Gs,isInt:Hs,comparePrimitive:Js,normalizeDefaultResult:Xs,normalizeValidateResult:Ys,normalizeDeprecatedResult:Ks,normalizeTransferResult:Zs,normalizeForwardResult:ta,normalizeRedirectResult:na},"__esModule",{value:!0});class ia extends Bs.Schema{constructor(e){super(e),this._choices=ra.mapFromArray(e.choices.map((e=>e&&"object"==typeof e?e:{value:e})),"value")}expected({descriptor:e}){const t=Array.from(this._choices.keys()).map((e=>this._choices.get(e))).filter((e=>!e.deprecated)).map((e=>e.value)).sort(ra.comparePrimitive).map(e.value),n=t.slice(0,-2),r=t.slice(-2);return n.concat(r.join(" or ")).join(", ")}validate(e){return this._choices.has(e)}deprecated(e){const t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){const t=this._choices.get(e);return t?t.forward:void 0}redirect(e){const t=this._choices.get(e);return t?t.redirect:void 0}}var ua=ia,oa=Object.defineProperty({ChoiceSchema:ua},"__esModule",{value:!0});class sa extends Bs.Schema{expected(){return"a number"}validate(e,t){return"number"==typeof e}}var aa=sa,la=Object.defineProperty({NumberSchema:aa},"__esModule",{value:!0});class ca extends la.NumberSchema{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&ra.isInt(e)}}var pa=ca,fa=Object.defineProperty({IntegerSchema:pa},"__esModule",{value:!0});class da extends Bs.Schema{expected(){return"a string"}validate(e){return"string"==typeof e}}var ha=da,ga=Object.defineProperty({StringSchema:ha},"__esModule",{value:!0}),ma=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(Ps,t),Co.__exportStar(js,t),Co.__exportStar(Rs,t),Co.__exportStar(qs,t),Co.__exportStar(oa,t),Co.__exportStar(fa,t),Co.__exportStar(la,t),Co.__exportStar(ga,t)})),ya=vo.apiDescriptor,Da=bs.levenUnknownHandler,Ea=ys.commonInvalidHandler,ba=hs.commonDeprecatedHandler,Ca=Object.defineProperty({defaultDescriptor:ya,defaultUnknownHandler:Da,defaultInvalidHandler:Ea,defaultDeprecatedHandler:ba},"__esModule",{value:!0});class va{constructor(e,t){const{logger:n=console,descriptor:r=Ca.defaultDescriptor,unknown:i=Ca.defaultUnknownHandler,invalid:u=Ca.defaultInvalidHandler,deprecated:o=Ca.defaultDeprecatedHandler}=t||{};this._utils={descriptor:r,logger:n||{warn:()=>{}},schemas:ra.recordFromArray(e,"name"),normalizeDefaultResult:ra.normalizeDefaultResult,normalizeDeprecatedResult:ra.normalizeDeprecatedResult,normalizeForwardResult:ra.normalizeForwardResult,normalizeRedirectResult:ra.normalizeRedirectResult,normalizeValidateResult:ra.normalizeValidateResult},this._unknownHandler=i,this._invalidHandler=u,this._deprecatedHandler=o,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=ra.createAutoChecklist()}normalize(e){const t={},n=[e],r=()=>{for(;0!==n.length;){const e=n.shift(),r=this._applyNormalization(e,t);n.push(...r)}};r();for(const e of Object.keys(this._utils.schemas)){const r=this._utils.schemas[e];if(!(e in t)){const t=ra.normalizeDefaultResult(r.default(this._utils));"value"in t&&n.push({[e]:t.value})}}r();for(const e of Object.keys(this._utils.schemas)){const n=this._utils.schemas[e];e in t&&(t[e]=n.postprocess(t[e],this._utils))}return t}_applyNormalization(e,t){const n=[],[r,i]=ra.partition(Object.keys(e),(e=>e in this._utils.schemas));for(const i of r){const r=this._utils.schemas[i],u=r.preprocess(e[i],this._utils),o=ra.normalizeValidateResult(r.validate(u,this._utils),u);if(!0!==o){const{value:e}=o,t=this._invalidHandler(i,e,this._utils);throw"string"==typeof t?new Error(t):t}const s=({from:e,to:t})=>{n.push("string"==typeof t?{[t]:e}:{[t.key]:t.value})},a=({value:e,redirectTo:t})=>{const n=ra.normalizeDeprecatedResult(r.deprecated(e,this._utils),u,!0);if(!1!==n)if(!0===n)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,t,this._utils));else for(const{value:e}of n){const n={key:i,value:e};if(!this._hasDeprecationWarned(n)){const r="string"==typeof t?{key:t,value:e}:t;this._utils.logger.warn(this._deprecatedHandler(n,r,this._utils))}}};ra.normalizeForwardResult(r.forward(u,this._utils),u).forEach(s);const l=ra.normalizeRedirectResult(r.redirect(u,this._utils),u);if(l.redirect.forEach(s),"remain"in l){const e=l.remain;t[i]=i in t?r.overlap(t[i],e,this._utils):e,a({value:e})}for(const{from:e,to:t}of l.redirect)a({value:e,redirectTo:t})}for(const r of i){const i=e[r],u=this._unknownHandler(r,i,this._utils);if(u)for(const e of Object.keys(u)){const r={[e]:u[e]};e in this._utils.schemas?n.push(r):Object.assign(t,r)}}return n}}var Aa=va,Fa=Object.defineProperty({normalize:(e,t,n)=>new va(t,n).normalize(e),Normalizer:Aa},"__esModule",{value:!0}),xa=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Co.__exportStar(Ao,t),Co.__exportStar(vs,t),Co.__exportStar(ma,t),Co.__exportStar(Fa,t),Co.__exportStar(Bs,t)}));const Sa=[],wa=[],Ta=(e,t)=>{if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let r=e.length,i=t.length;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i);)r--,i--;let u,o,s,a,l=0;for(;lo?a>o?o+1:a:a>s?s+1:a;return o};var Ba=Ta,ka=Ta;Ba.default=ka;var Na={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const Pa={};for(const e of Object.keys(Na))Pa[Na[e]]=e;const Oa={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var Ia=Oa;for(const e of Object.keys(Oa)){if(!("channels"in Oa[e]))throw new Error("missing channels property: "+e);if(!("labels"in Oa[e]))throw new Error("missing channel labels property: "+e);if(Oa[e].labels.length!==Oa[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=Oa[e];delete Oa[e].channels,delete Oa[e].labels,Object.defineProperty(Oa[e],"channels",{value:t}),Object.defineProperty(Oa[e],"labels",{value:n})}function ja(e){const t=function(){const e={},t=Object.keys(Ia);for(let n=t.length,r=0;r1&&(i-=1)),[360*i,100*u,100*l]},Oa.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const i=Oa.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,100*u,100*r]},Oa.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r);return[100*((1-t-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-r-i)/(1-i)||0),100*i]},Oa.rgb.keyword=function(e){const t=Pa[e];if(t)return t;let n,r=1/0;for(const t of Object.keys(Na)){const o=(u=Na[t],((i=e)[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2);o.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;return[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},Oa.rgb.lab=function(e){const t=Oa.rgb.xyz(e);let n=t[0],r=t[1],i=t[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*r-16,500*(n-r),200*(r-i)]},Oa.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let i,u,o;if(0===n)return o=255*r,[o,o,o];i=r<.5?r*(1+n):r+n-r*n;const s=2*r-i,a=[0,0,0];for(let e=0;e<3;e++)u=t+1/3*-(e-1),u<0&&u++,u>1&&u--,o=6*u<1?s+6*(i-s)*u:2*u<1?i:3*u<2?s+(i-s)*(2/3-u)*6:s,a[e]=255*o;return a},Oa.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,i=n;const u=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=u<=1?u:2-u;return[t,100*(0===r?2*i/(u+i):2*n/(r+n)),100*((r+n)/2)]},Oa.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const i=Math.floor(t)%6,u=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*u),a=255*r*(1-n*(1-u));switch(r*=255,i){case 0:return[r,a,o];case 1:return[s,r,o];case 2:return[o,r,a];case 3:return[o,s,r];case 4:return[a,o,r];case 5:return[r,o,s]}},Oa.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01);let u,o;o=(2-n)*r;const s=(2-n)*i;return u=n*i,u/=s<=1?s:2-s,u=u||0,o/=2,[t,100*u,100*o]},Oa.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const i=n+r;let u;i>1&&(n/=i,r/=i);const o=Math.floor(6*t),s=1-r;u=6*t-o,0!=(1&o)&&(u=1-u);const a=n+u*(s-n);let l,c,p;switch(o){default:case 6:case 0:l=s,c=a,p=n;break;case 1:l=a,c=s,p=n;break;case 2:l=n,c=s,p=a;break;case 3:l=n,c=a,p=s;break;case 4:l=a,c=n,p=s;break;case 5:l=s,c=n,p=a}return[255*l,255*c,255*p]},Oa.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},Oa.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let i,u,o;return i=3.2406*t+-1.5372*n+-.4986*r,u=-.9689*t+1.8758*n+.0415*r,o=.0557*t+-.204*n+1.057*r,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,i=Math.min(Math.max(0,i),1),u=Math.min(Math.max(0,u),1),o=Math.min(Math.max(0,o),1),[255*i,255*u,255*o]},Oa.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;return[116*n-16,500*(t-n),200*(n-r)]},Oa.lab.xyz=function(e){let t,n,r;n=(e[0]+16)/116,t=e[1]/500+n,r=n-e[2]/200;const i=n**3,u=t**3,o=r**3;return n=i>.008856?i:(n-16/116)/7.787,t=u>.008856?u:(t-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},Oa.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let i;i=360*Math.atan2(r,n)/2/Math.PI,i<0&&(i+=360);return[t,Math.sqrt(n*n+r*r),i]},Oa.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},Oa.rgb.ansi16=function(e,t=null){const[n,r,i]=e;let u=null===t?Oa.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),0===u)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===u&&(o+=60),o},Oa.hsv.ansi16=function(e){return Oa.rgb.ansi16(Oa.hsv.rgb(e),e[2])},Oa.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},Oa.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},Oa.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},Oa.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},Oa.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map((e=>e+e)).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},Oa.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),u=Math.min(Math.min(t,n),r),o=i-u;let s,a;return s=o<1?u/(1-o):0,a=o<=0?0:i===t?(n-r)/o%6:i===n?2+(r-t)/o:4+(t-n)/o,a/=6,a%=1,[360*a,100*o,100*s]},Oa.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},Oa.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},Oa.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const i=[0,0,0],u=t%1*6,o=u%1,s=1-o;let a=0;switch(Math.floor(u)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return a=(1-n)*r,[255*(n*i[0]+a),255*(n*i[1]+a),255*(n*i[2]+a)]},Oa.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},Oa.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},Oa.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},Oa.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},Oa.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},Oa.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},Oa.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},Oa.gray.hsl=function(e){return[0,0,e[0]]},Oa.gray.hsv=Oa.gray.hsl,Oa.gray.hwb=function(e){return[0,100,e[0]]},Oa.gray.cmyk=function(e){return[0,0,0,e[0]]},Oa.gray.lab=function(e){return[e[0],0,0]},Oa.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},Oa.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const Ma={};Object.keys(Ia).forEach((e=>{Ma[e]={},Object.defineProperty(Ma[e],"channels",{value:Ia[e].channels}),Object.defineProperty(Ma[e],"labels",{value:Ia[e].labels});const t=function(e){const t=ja(e),n={},r=Object.keys(t);for(let e=r.length,i=0;i{const r=t[n];Ma[e][n]=function(e){const t=function(...t){const n=t[0];if(null==n)return n;n.length>1&&(t=n);const r=e(t);if("object"==typeof r)for(let e=r.length,t=0;t1&&(t=n),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var Ra=Ma,$a=i((function(e){const t=(e,t)=>(...n)=>`\x1b[${e(...n)+t}m`,n=(e,t)=>(...n)=>{const r=e(...n);return`\x1b[${38+t};5;${r}m`},r=(e,t)=>(...n)=>{const r=e(...n);return`\x1b[${38+t};2;${r[0]};${r[1]};${r[2]}m`},i=e=>e,u=(e,t,n)=>[e,t,n],o=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let s;const a=(e,t,n,r)=>{void 0===s&&(s=Ra);const i=r?10:0,u={};for(const[r,o]of Object.entries(s)){const s="ansi16"===r?"ansi":r;r===t?u[s]=e(n,i):"object"==typeof o&&(u[s]=e(o[t],i))}return u};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,s={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};s.color.gray=s.color.blackBright,s.bgColor.bgGray=s.bgColor.bgBlackBright,s.color.grey=s.color.blackBright,s.bgColor.bgGrey=s.bgColor.bgBlackBright;for(const[t,n]of Object.entries(s)){for(const[t,r]of Object.entries(n))s[t]={open:`\x1b[${r[0]}m`,close:`\x1b[${r[1]}m`},n[t]=s[t],e.set(r[0],r[1]);Object.defineProperty(s,t,{value:n,enumerable:!1})}return Object.defineProperty(s,"codes",{value:e,enumerable:!1}),s.color.close="\x1b[39m",s.bgColor.close="\x1b[49m",o(s.color,"ansi",(()=>a(t,"ansi16",i,!1))),o(s.color,"ansi256",(()=>a(n,"ansi256",i,!1))),o(s.color,"ansi16m",(()=>a(r,"rgb",u,!1))),o(s.bgColor,"ansi",(()=>a(t,"ansi16",i,!0))),o(s.bgColor,"ansi256",(()=>a(n,"ansi256",i,!0))),o(s.bgColor,"ansi16m",(()=>a(r,"rgb",u,!0))),s}})}));function Va(){return!1}function qa(){throw new Error("tty.ReadStream is not implemented")}function Wa(){throw new Error("tty.ReadStream is not implemented")}var Ua={isatty:Va,ReadStream:qa,WriteStream:Wa},za=(e,t=Cr.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r=2,has16m:e>=3}}function Ya(e,t){if(0===Ja)return 0;if(za("color=16m")||za("color=full")||za("color=truecolor"))return 3;if(za("color=256"))return 2;if(e&&!t&&void 0===Ja)return 0;const n=Ja||0;if("dumb"===Ha.TERM)return n;if("CI"in Ha)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in Ha))||"codeship"===Ha.CI_NAME?1:n;if("TEAMCITY_VERSION"in Ha)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ha.TEAMCITY_VERSION)?1:0;if("truecolor"===Ha.COLORTERM)return 3;if("TERM_PROGRAM"in Ha){const e=parseInt((Ha.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ha.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ha.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ha.TERM)||"COLORTERM"in Ha?1:n}za("no-color")||za("no-colors")||za("color=false")||za("color=never")?Ja=0:(za("color")||za("colors")||za("color=true")||za("color=always"))&&(Ja=1),"FORCE_COLOR"in Ha&&(Ja="true"===Ha.FORCE_COLOR?1:"false"===Ha.FORCE_COLOR?0:0===Ha.FORCE_COLOR.length?1:Math.min(parseInt(Ha.FORCE_COLOR,10),3));var Ka={supportsColor:function(e){return Xa(Ya(e,e&&e.isTTY))},stdout:Xa(Ya(!0,Ga.isatty(1))),stderr:Xa(Ya(!0,Ga.isatty(2)))};var Qa={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let u=0,o="";do{o+=e.substr(u,r-u)+t+n,u=r+i,r=e.indexOf(t,u)}while(-1!==r);return o+=e.substr(u),o},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let i=0,u="";do{const o="\r"===e[r-1];u+=e.substr(i,(o?r-1:r)-i)+t+(o?"\r\n":"\n")+n,i=r+1,r=e.indexOf("\n",i)}while(-1!==r);return u+=e.substr(i),u}};const Za=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,el=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,tl=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,nl=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,rl=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function il(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):rl.get(e)||e}function ul(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const t of r){const r=Number(t);if(Number.isNaN(r)){if(!(i=t.match(tl)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(i[2].replace(nl,((e,t,n)=>t?il(t):n)))}else n.push(r)}return n}function ol(e){el.lastIndex=0;const t=[];let n;for(;null!==(n=el.exec(e));){const e=n[1];if(n[2]){const r=ul(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function sl(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=t.length>0?r[e](...t):r[e]}return r}var al=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(Za,((t,u,o,s,a,l)=>{if(u)i.push(il(u));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:sl(e,n)(t)),n.push({inverse:o,styles:ol(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(sl(e,n)(i.join(""))),i=[],n.pop()}else i.push(l)})),r.push(i.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return r.join("")};const{stdout:ll,stderr:cl}=Ka,{stringReplaceAll:pl,stringEncaseCRLFWithFirstIndex:fl}=Qa,{isArray:dl}=Array,hl=["ansi","ansi","ansi256","ansi16m"],gl=Object.create(null);class ml{constructor(e){return yl(e)}}const yl=e=>{const t={};return((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=ll?ll.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>xl(t.template,...e),Object.setPrototypeOf(t,Dl.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=ml,t.template};function Dl(e){return yl(e)}for(const[e,t]of Object.entries($a))gl[e]={get(){const n=vl(this,Cl(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};gl.visible={get(){const e=vl(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const El=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of El)gl[e]={get(){const{level:t}=this;return function(...n){const r=Cl($a.color[hl[t]][e](...n),$a.color.close,this._styler);return vl(this,r,this._isEmpty)}}};for(const e of El){gl["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const r=Cl($a.bgColor[hl[t]][e](...n),$a.bgColor.close,this._styler);return vl(this,r,this._isEmpty)}}}}const bl=Object.defineProperties((()=>{}),Object.assign(Object.assign({},gl),{},{level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}})),Cl=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},vl=(e,t,n)=>{const r=(...e)=>dl(e[0])&&dl(e[0].raw)?Al(r,xl(r,...e)):Al(r,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(r,bl),r._generator=e,r._styler=t,r._isEmpty=n,r},Al=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(-1!==t.indexOf("\x1b"))for(;void 0!==n;)t=pl(t,n.close,n.open),n=n.parent;const u=t.indexOf("\n");return-1!==u&&(t=fl(t,i,r,u)),r+t+i};let Fl;const xl=(e,...t)=>{const[n]=t;if(!dl(n)||!dl(n.raw))return t.join(" ");const r=t.slice(1),i=[n.raw[0]];for(let e=1;e1===e.length?`-${e}`:`--${e}`,value:e=>xa.apiDescriptor.value(e),pair:({key:e,value:t})=>!1===t?`--no-${e}`:!0===t?Bl.key(e):""===t?`${Bl.key(e)} without an argument`:`${Bl.key(e)}=${t}`};class kl extends xa.ChoiceSchema{constructor({name:e,flags:t}){super({name:e,choices:t}),this._flags=[...t].sort()}preprocess(e,t){if("string"==typeof e&&e.length>0&&!this._flags.includes(e)){const n=this._flags.find((t=>Ba(t,e)<3));if(n)return t.logger.warn([`Unknown flag ${wl.yellow(t.descriptor.value(e))},`,`did you mean ${wl.blue(t.descriptor.value(n))}?`].join(" ")),n}return e}expected(){return"a flag"}}let Nl;function Pl(t,n,{logger:r,isCLI:i=!1,passThrough:u=!1}={}){const o=u?Array.isArray(u)?(e,t)=>u.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):(t,n,r)=>{const i=e(r.schemas,Tl);return xa.levenUnknownHandler(t,n,Object.assign(Object.assign({},r),{},{schemas:i}))},s=i?Bl:xa.apiDescriptor,a=function(e,{isCLI:t}){const n=[];t&&n.push(xa.AnySchema.create({name:"_"}));for(const r of e)n.push(Ol(r,{isCLI:t,optionInfos:e})),r.alias&&t&&n.push(xa.AliasSchema.create({name:r.alias,sourceName:r.name}));return n}(n,{isCLI:i}),l=new xa.Normalizer(a,{logger:r,unknown:o,descriptor:s}),c=!1!==r;c&&Nl&&(l._hasDeprecationWarned=Nl);const p=l.normalize(t);return c&&(Nl=l._hasDeprecationWarned),p}function Ol(e,{isCLI:t,optionInfos:n}){let r;const i={name:e.name},u={};switch(e.type){case"int":r=xa.IntegerSchema,t&&(i.preprocess=e=>Number(e));break;case"string":r=xa.StringSchema;break;case"choice":r=xa.ChoiceSchema,i.choices=e.choices.map((t=>"object"==typeof t&&t.redirect?Object.assign(Object.assign({},t),{},{redirect:{to:{key:e.name,value:t.redirect}}}):t));break;case"boolean":r=xa.BooleanSchema;break;case"flag":r=kl,i.flags=n.flatMap((e=>[e.alias,e.description&&e.name,e.oppositeDescription&&`no-${e.name}`].filter(Boolean)));break;case"path":r=xa.StringSchema;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(t,n,r)=>e.exception(t)||n.validate(t,r):i.validate=(e,t,n)=>void 0===e||t.validate(e,n),e.redirect&&(u.redirect=t=>t?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(u.deprecated=!0),t&&!e.array){const e=i.preprocess||(e=>e);i.preprocess=(t,n,r)=>n.preprocess(e(Array.isArray(t)?Sn(t):t),r)}return e.array?xa.ArraySchema.create(Object.assign(Object.assign(Object.assign({},t?{preprocess:e=>Array.isArray(e)?e:[e]}:{}),u),{},{valueSchema:r.create(i)})):r.create(Object.assign(Object.assign({},i),u))}var Il={normalizeApiOptions:function(e,t,n){return Pl(e,t,n)},normalizeCliOptions:function(e,t,n){return Pl(e,t,Object.assign({isCLI:!0},n))}};const{isNonEmptyArray:jl}=fi;function Ll(e,t){const{ignoreDecorators:n}=t||{};if(!n){const t=e.declaration&&e.declaration.decorators||e.decorators;if(jl(t))return Ll(t[0])}return e.range?e.range[0]:e.start}function _l(e){return e.range?e.range[1]:e.end}function Ml(e,t){return Ll(e)===Ll(t)}var Rl={locStart:Ll,locEnd:_l,hasSameLocStart:Ml,hasSameLoc:function(e,t){return Ml(e,t)&&function(e,t){return _l(e)===_l(t)}(e,t)}},$l=Object.defineProperty({default:/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,matchToToken:function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},"__esModule",{value:!0}),Vl=Kl,ql=Ql,Wl=function(e){let t=!0;for(let n=0;ne)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Kl(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Gl.test(String.fromCharCode(e)):Yl(e,Jl)))}function Ql(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Hl.test(String.fromCharCode(e)):Yl(e,Jl)||Yl(e,Xl))))}var Zl=Object.defineProperty({isIdentifierStart:Vl,isIdentifierChar:ql,isIdentifierName:Wl},"__esModule",{value:!0}),ec=cc,tc=pc,nc=fc,rc=function(e,t){return pc(e,t)||fc(e)},ic=function(e){return sc.has(e)};const uc=["implements","interface","let","package","private","protected","public","static","yield"],oc=["eval","arguments"],sc=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),ac=new Set(uc),lc=new Set(oc);function cc(e,t){return t&&"await"===e||"enum"===e}function pc(e,t){return cc(e,t)||ac.has(e)}function fc(e){return lc.has(e)}var dc=Object.defineProperty({isReservedWord:ec,isStrictReservedWord:tc,isStrictBindOnlyReservedWord:nc,isStrictBindReservedWord:rc,isKeyword:ic},"__esModule",{value:!0}),hc=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return Zl.isIdentifierName}}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return Zl.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return Zl.isIdentifierStart}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return dc.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return dc.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return dc.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return dc.isStrictReservedWord}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return dc.isKeyword}})})),gc=/[|\\{}()[\]^$+*?.]/g,mc=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(gc,"\\$&")},yc={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Dc=i((function(e){var t={};for(var n in yc)yc.hasOwnProperty(n)&&(t[yc[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!("channels"in r[i]))throw new Error("missing channels property: "+i);if(!("labels"in r[i]))throw new Error("missing channel labels property: "+i);if(r[i].labels.length!==r[i].channels)throw new Error("channel and label counts mismatch: "+i);var u=r[i].channels,o=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],"channels",{value:u}),Object.defineProperty(r[i],"labels",{value:o})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,u=e[2]/255,o=Math.min(r,i,u),s=Math.max(r,i,u),a=s-o;return s===o?t=0:r===s?t=(i-u)/a:i===s?t=2+(u-r)/a:u===s&&(t=4+(r-i)/a),(t=Math.min(60*t,360))<0&&(t+=360),n=(o+s)/2,[t,100*(s===o?0:n<=.5?a/(s+o):a/(2-s-o)),100*n]},r.rgb.hsv=function(e){var t,n,r,i,u,o=e[0]/255,s=e[1]/255,a=e[2]/255,l=Math.max(o,s,a),c=l-Math.min(o,s,a),p=function(e){return(l-e)/6/c+.5};return 0===c?i=u=0:(u=c/l,t=p(o),n=p(s),r=p(a),o===l?i=r-n:s===l?i=1/3+t-r:a===l&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*u,100*l]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,i))),100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i,u,o=1/0;for(var s in yc)if(yc.hasOwnProperty(s)){var a=yc[s],l=(i=e,u=a,Math.pow(i[0]-u[0],2)+Math.pow(i[1]-u[1],2)+Math.pow(i[2]-u[2],2));l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],i=t[1],u=t[2];return i/=100,u/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(u=u>.008856?Math.pow(u,1/3):7.787*u+16/116))]},r.hsl.rgb=function(e){var t,n,r,i,u,o=e[0]/360,s=e[1]/100,a=e[2]/100;if(0===s)return[u=255*a,u,u];t=2*a-(n=a<.5?a*(1+s):a+s-a*s),i=[0,0,0];for(var l=0;l<3;l++)(r=o+1/3*-(l-1))<0&&r++,r>1&&r--,u=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[l]=255*u;return i},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,u=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=u<=1?u:2-u,[t,100*(0===r?2*i/(u+i):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,u=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*u),a=255*r*(1-n*(1-u));switch(r*=255,i){case 0:return[r,a,o];case 1:return[s,r,o];case 2:return[o,r,a];case 3:return[o,s,r];case 4:return[a,o,r];case 5:return[r,o,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],u=e[1]/100,o=e[2]/100,s=Math.max(o,.01);return r=(2-u)*o,n=u*s,[i,100*(n=(n/=(t=(2-u)*s)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,i,u,o,s,a=e[0]/360,l=e[1]/100,c=e[2]/100,p=l+c;switch(p>1&&(l/=p,c/=p),r=6*a-(t=Math.floor(6*a)),0!=(1&t)&&(r=1-r),i=l+r*((n=1-c)-l),t){default:case 6:case 0:u=n,o=i,s=l;break;case 1:u=i,o=n,s=l;break;case 2:u=l,o=n,s=i;break;case 3:u=l,o=i,s=n;break;case 4:u=i,o=l,s=n;break;case 5:u=n,o=l,s=i}return[255*u,255*o,255*s]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,u=e[1]/100,o=e[2]/100;return n=-.9689*i+1.8758*u+.0415*o,r=.0557*i+-.204*u+1.057*o,t=(t=3.2406*i+-1.5372*u+-.4986*o)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var u=Math.pow(n,3),o=Math.pow(t,3),s=Math.pow(r,3);return n=u>.008856?u:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],u=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(u=Math.round(u/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===u&&(o+=60),o},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,u=Math.max(Math.max(n,r),i),o=Math.min(Math.min(n,r),i),s=u-o;return t=s<=0?0:u===n?(r-i)/s%6:u===r?2+(i-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?o/(1-s):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,u=[0,0,0],o=t%1*6,s=o%1,a=1-s;switch(Math.floor(o)){case 0:u[0]=1,u[1]=s,u[2]=0;break;case 1:u[0]=a,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=s;break;case 3:u[0]=0,u[1]=a,u[2]=1;break;case 4:u[0]=s,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=a}return i=(1-n)*r,[255*(n*u[0]+i),255*(n*u[1]+i),255*(n*u[2]+i)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function Ec(e){var t=function(){for(var e={},t=Object.keys(Dc),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,i=0;i1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var Ac=vc,Fc=i((function(e){const t=(e,t)=>function(){const n=e.apply(Ac,arguments);return`\x1b[${n+t}m`},n=(e,t)=>function(){const n=e.apply(Ac,arguments);return`\x1b[${38+t};5;${n}m`},r=(e,t)=>function(){const n=e.apply(Ac,arguments);return`\x1b[${38+t};2;${n[0]};${n[1]};${n[2]}m`};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:`\x1b[${r[0]}m`,close:`\x1b[${r[1]}m`},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,"codes",{value:e,enumerable:!1})}const u=e=>e,o=(e,t,n)=>[e,t,n];i.color.close="\x1b[39m",i.bgColor.close="\x1b[49m",i.color.ansi={ansi:t(u,0)},i.color.ansi256={ansi256:n(u,0)},i.color.ansi16m={rgb:r(o,0)},i.bgColor.ansi={ansi:t(u,10)},i.bgColor.ansi256={ansi256:n(u,10)},i.bgColor.ansi16m={rgb:r(o,10)};for(let e of Object.keys(Ac)){if("object"!=typeof Ac[e])continue;const u=Ac[e];"ansi16"===e&&(e="ansi"),"ansi16"in u&&(i.color.ansi[e]=t(u.ansi16,0),i.bgColor.ansi[e]=t(u.ansi16,10)),"ansi256"in u&&(i.color.ansi256[e]=n(u.ansi256,0),i.bgColor.ansi256[e]=n(u.ansi256,10)),"rgb"in u&&(i.color.ansi16m[e]=r(u.rgb,0),i.bgColor.ansi16m[e]=r(u.rgb,10))}return i}})})),xc=(e,t)=>{t=t||Cr.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r=2,has16m:e>=3}}(function(e){if(!1===wc)return 0;if(xc("color=16m")||xc("color=full")||xc("color=truecolor"))return 3;if(xc("color=256"))return 2;if(e&&!e.isTTY&&!0!==wc)return 0;const t=wc?1:0;if("CI"in Sc)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in Sc))||"codeship"===Sc.CI_NAME?1:t;if("TEAMCITY_VERSION"in Sc)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Sc.TEAMCITY_VERSION)?1:0;if("truecolor"===Sc.COLORTERM)return 3;if("TERM_PROGRAM"in Sc){const e=parseInt((Sc.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Sc.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Sc.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Sc.TERM)||"COLORTERM"in Sc?1:(Sc.TERM,t)}(e))}xc("no-color")||xc("no-colors")||xc("color=false")?wc=!1:(xc("color")||xc("colors")||xc("color=true")||xc("color=always"))&&(wc=!0),"FORCE_COLOR"in Sc&&(wc=0===Sc.FORCE_COLOR.length||0!==parseInt(Sc.FORCE_COLOR,10));var Bc={supportsColor:Tc,stdout:Tc(Cr.stdout),stderr:Tc(Cr.stderr)};const kc=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Nc=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Pc=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Oc=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,Ic=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function jc(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Ic.get(e)||e}function Lc(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const t of r)if(isNaN(t)){if(!(i=t.match(Pc)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(i[2].replace(Oc,((e,t,n)=>t?jc(t):n)))}else n.push(Number(t));return n}function _c(e){Nc.lastIndex=0;const t=[];let n;for(;null!==(n=Nc.exec(e));){const e=n[1];if(n[2]){const r=Lc(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function Mc(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Rc=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(kc,((t,u,o,s,a,l)=>{if(u)i.push(jc(u));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:Mc(e,n)(t)),n.push({inverse:o,styles:_c(s)})}else if(a){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(Mc(e,n)(i.join(""))),i=[],n.pop()}else i.push(l)})),r.push(i.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return r.join("")},$c=i((function(e){const t=Bc.stdout,n=["ansi","ansi","ansi256","ansi16m"],r=new Set(["gray"]),i=Object.create(null);function u(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function o(e){if(!this||!(this instanceof o)||this.template){const t={};return u(t,e),t.template=function(){const e=[].slice.call(arguments);return c.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,o.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=o,t.template}u(this,e)}for(const e of Object.keys(Fc))Fc[e].closeRe=new RegExp(mc(Fc[e].close),"g"),i[e]={get(){const t=Fc[e];return a.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};i.visible={get(){return a.call(this,this._styles||[],!0,"visible")}},Fc.color.closeRe=new RegExp(mc(Fc.color.close),"g");for(const e of Object.keys(Fc.color.ansi))r.has(e)||(i[e]={get(){const t=this.level;return function(){const r=Fc.color[n[t]][e].apply(null,arguments),i={open:r,close:Fc.color.close,closeRe:Fc.color.closeRe};return a.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});Fc.bgColor.closeRe=new RegExp(mc(Fc.bgColor.close),"g");for(const e of Object.keys(Fc.bgColor.ansi)){if(r.has(e))continue;i["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const r=Fc.bgColor[n[t]][e].apply(null,arguments),i={open:r,close:Fc.bgColor.close,closeRe:Fc.bgColor.closeRe};return a.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}}}const s=Object.defineProperties((()=>{}),i);function a(e,t,n){const r=function(){return l.apply(r,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=s,r}function l(){const e=arguments,t=e.length;let n=String(arguments[0]);if(0===t)return"";if(t>1)for(let r=1;rt(e))).join("\n"):i}return n}(function(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}(n),e)}return e};const Uc=new Set(["as","async","from","get","of","set"]);const zc=/\r\n|[\n\r\u2028\u2029]/,Gc=/^[()[\]{}]$/;let Hc;{const e=/^[a-z][\w-]*$/i,t=function(t,n,r){if("name"===t.type){if((0,hc.isKeyword)(t.value)||(0,hc.isStrictReservedWord)(t.value,!0)||Uc.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[n-1]||"r?e(t):t,s=e.split(ep),{start:a,end:l,markerLines:c}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,e.end),{linesAbove:u=2,linesBelow:o=3}=n||{},s=r.line,a=r.column,l=i.line,c=i.column;let p=Math.max(s-(u+1),0),f=Math.min(t.length,l+o);-1===s&&(p=0),-1===l&&(f=t.length);const d=l-s,h={};if(d)for(let e=0;e<=d;e++){const n=e+s;if(a)if(0===e){const e=t[n-1].length;h[n]=[a,e-a+1]}else if(e===d)h[n]=[0,c];else{const r=t[n-e].length;h[n]=[0,r]}else h[n]=!0}else h[s]=a===c?!a||[a,0]:[a,c-a];return{start:p,end:f,markerLines:h}}(t,s,n),p=t.start&&"number"==typeof t.start.column,f=String(l).length;let d=(r?(0,Yc.default)(e,n):e).split(ep).slice(a,l).map(((e,t)=>{const r=a+1+t,i=` ${` ${r}`.slice(-f)} |`,s=c[r],l=!c[r+1];if(s){let t="";if(Array.isArray(s)){const r=e.slice(0,Math.max(s[0]-1,0)).replace(/[^\t]/g," "),a=s[1]||1;t=["\n ",o(u.gutter,i.replace(/\d/g," "))," ",r,o(u.marker,"^").repeat(a)].join(""),l&&n.message&&(t+=" "+o(u.message,n.message))}return[o(u.marker,">"),o(u.gutter,i),e.length>0?` ${e}`:"",t].join("")}return` ${o(u.gutter,i)}${e.length>0?` ${e}`:""}`})).join("\n");return n.message&&!p&&(d=`${" ".repeat(f+1)}${n.message}\n${d}`),r?i.reset(d):d}var np=Object.defineProperty({codeFrameColumns:Kc,default:Qc},"__esModule",{value:!0}),rp=r(cu);const{ConfigError:ip}=go,{locStart:up,locEnd:op}=Rl,sp=Object.getOwnPropertyNames,ap=Object.getOwnPropertyDescriptor;function lp(e){const t={};for(const n of e.plugins)if(n.parsers)for(const e of sp(n.parsers))Object.defineProperty(t,e,ap(n.parsers,e));return t}function cp(e,t=lp(e)){if("function"==typeof e.parser)return{parse:e.parser,astFormat:"estree",locStart:up,locEnd:op};if("string"==typeof e.parser){if(Object.prototype.hasOwnProperty.call(t,e.parser))return t[e.parser];throw new ip(`Couldn't resolve parser "${e.parser}". Parsers must be explicitly added to the standalone bundle.`)}}var pp={parse:function(e,t){const n=lp(t),r=Object.defineProperties({},Object.fromEntries(Object.keys(n).map((e=>[e,{enumerable:!0,get:()=>n[e].parse}])))),i=cp(t,n);try{return i.preprocess&&(e=i.preprocess(e,t)),{text:e,ast:i.parse(e,r,t)}}catch(t){const{loc:n}=t;if(n){const{codeFrameColumns:r}=np;throw t.codeFrame=r(e,n,{highlightCode:!0}),t.message+="\n"+t.codeFrame,t}throw t.stack}},resolveParser:cp};const{UndefinedParserError:fp}=go,{getSupportInfo:dp}=Hr,{resolveParser:hp}=pp,gp={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function mp(e,t){const n=rp.basename(e).toLowerCase(),r=dp({plugins:t}).languages.filter((e=>null!==e.since));let i=r.find((e=>e.extensions&&e.extensions.some((e=>n.endsWith(e)))||e.filenames&&e.filenames.some((e=>e.toLowerCase()===n))));if(!i&&!n.includes(".")){const t=function(e){if("string"!=typeof e)return"";let t;try{t=ao.openSync(e,"r")}catch{return""}try{const e=new lo(t).next().toString("utf8"),n=e.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/);if(n)return n[1];const r=e.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/);return r?r[1]:""}catch{return""}finally{try{ao.closeSync(t)}catch{}}}(e);i=r.find((e=>e.interpreters&&e.interpreters.includes(t)))}return i&&i.parsers[0]}var yp={normalize:function(e,t={}){const n=Object.assign({},e),r=dp({plugins:e.plugins,showUnreleased:!0,showDeprecated:!0}).options,i=Object.assign(Object.assign({},gp),Object.fromEntries(r.filter((e=>void 0!==e.default)).map((e=>[e.name,e.default]))));if(!n.parser)if(n.filepath){if(n.parser=mp(n.filepath,n.plugins),!n.parser)throw new fp(`No parser could be inferred for file: ${n.filepath}`)}else{(t.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),n.parser="babel"}const u=hp(Il.normalizeApiOptions(n,[r.find((e=>"parser"===e.name))],{passThrough:!0,logger:!1}));n.astFormat=u.astFormat,n.locEnd=u.locEnd,n.locStart=u.locStart;const o=function(e){const{astFormat:t}=e;if(!t)throw new Error("getPlugin() requires astFormat to be set");const n=e.plugins.find((e=>e.printers&&e.printers[t]));if(!n)throw new Error(`Couldn't find plugin for AST format "${t}"`);return n}(n);n.printer=o.printers[n.astFormat];const s=Object.fromEntries(r.filter((e=>e.pluginDefaults&&void 0!==e.pluginDefaults[o.name])).map((e=>[e.name,e.pluginDefaults[o.name]]))),a=Object.assign(Object.assign({},i),s);for(const[e,t]of Object.entries(a))null!==n[e]&&void 0!==n[e]||(n[e]=t);return"json"===n.parser&&(n.trailingComma="none"),Il.normalizeApiOptions(n,r,Object.assign({passThrough:Object.keys(gp)},t))},hiddenDefaults:gp,inferParser:mp};var Dp=function e(t,n,r){if(Array.isArray(t))return t.map((t=>e(t,n,r))).filter(Boolean);if(!t||"object"!=typeof t)return t;const i=n.printer.massageAstNode;let u;u=i&&i.ignoredProperties?i.ignoredProperties:new Set;const o={};for(const[r,i]of Object.entries(t))u.has(r)||"function"==typeof i||(o[r]=e(i,n,t));if(i){const e=i(t,o,r);if(null===e)return;if(e)return e}return o},Ep="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};function bp(e,t){var n={seen:[],stylize:vp};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Sp(t)?n.showHidden=t:t&&_p(n,t),Bp(n.showHidden)&&(n.showHidden=!1),Bp(n.depth)&&(n.depth=2),Bp(n.colors)&&(n.colors=!1),Bp(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Cp),Ap(n,e,n.depth)}function Cp(e,t){var n=bp.styles[t];return n?"\x1b["+bp.colors[n][0]+"m"+e+"\x1b["+bp.colors[n][1]+"m":e}function vp(e,t){return e}function Ap(e,t,n){if(e.customInspect&&t&&Ip(t.inspect)&&t.inspect!==bp&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Tp(r)||(r=Ap(e,r,n)),r}var i=function(e,t){if(Bp(t))return e.stylize("undefined","undefined");if(Tp(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(r=t,"number"==typeof r)return e.stylize(""+t,"number");var r;if(Sp(t))return e.stylize(""+t,"boolean");if(wp(t))return e.stylize("null","null")}(e,t);if(i)return i;var u=Object.keys(t),o=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(t)),Op(t)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return Fp(t);if(0===u.length){if(Ip(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(kp(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Pp(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Op(t))return Fp(t)}var a,l,c="",p=!1,f=["{","}"];(a=t,Array.isArray(a)&&(p=!0,f=["[","]"]),Ip(t))&&(c=" [Function"+(t.name?": "+t.name:"")+"]");return kp(t)&&(c=" "+RegExp.prototype.toString.call(t)),Pp(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Op(t)&&(c=" "+Fp(t)),0!==u.length||p&&0!=t.length?n<0?kp(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=p?function(e,t,n,r,i){for(var u=[],o=0,s=t.length;o60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(l,c,f)):f[0]+c+f[1]}function Fp(e){return"["+Error.prototype.toString.call(e)+"]"}function xp(e,t,n,r,i,u){var o,s,a;if((a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(s=e.stylize("[Setter]","special")),Mp(r,i)||(o="["+i+"]"),s||(e.seen.indexOf(a.value)<0?(s=wp(n)?Ap(e,a.value,null):Ap(e,a.value,n-1)).indexOf("\n")>-1&&(s=u?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Bp(o)){if(u&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function Sp(e){return"boolean"==typeof e}function wp(e){return null===e}function Tp(e){return"string"==typeof e}function Bp(e){return void 0===e}function kp(e){return Np(e)&&"[object RegExp]"===Lp(e)}function Np(e){return"object"==typeof e&&null!==e}function Pp(e){return Np(e)&&"[object Date]"===Lp(e)}function Op(e){return Np(e)&&("[object Error]"===Lp(e)||e instanceof Error)}function Ip(e){return"function"==typeof e}function jp(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function Lp(e){return Object.prototype.toString.call(e)}function _p(e,t){if(!t||!Np(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function Mp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Rp(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,u=Math.min(n,r);i=0){var o=r.indexOf("\n",u+1);r=r.substring(o+1)}this.stack=r}}}function Kp(e,t){return"string"==typeof e?e.length=0;s--)if(a[s]!==l[s])return!1;for(s=a.length-1;s>=0;s--)if(!of(e[o=a[s]],t[o],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function sf(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function af(e,t,n){of(e,t,!1)&&Zp(e,t,n,"notDeepEqual",af)}function lf(e,t,n){of(e,t,!0)&&Zp(e,t,n,"notDeepStrictEqual",lf)}function cf(e,t,n){e!==t&&Zp(e,t,n,"===",cf)}function pf(e,t,n){e===t&&Zp(e,t,n,"!==",pf)}function ff(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function df(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&Zp(i,n,"Missing expected exception"+r);var u="string"==typeof r,o=!e&&i&&!n;if((!e&&Op(i)&&u&&ff(i,n)||o)&&Zp(i,n,"Got unwanted exception"+r),e&&i&&n&&!ff(i,n)||!e&&i)throw i}function hf(e,t,n){df(!0,e,t,n)}function gf(e,t,n){df(!1,e,t,n)}function mf(e){if(e)throw e}Hp.AssertionError=Yp,Ep(Yp,Error),Hp.fail=Zp,Hp.ok=ef,Hp.equal=tf,Hp.notEqual=nf,Hp.deepEqual=rf,Hp.deepStrictEqual=uf,Hp.notDeepEqual=af,Hp.notDeepStrictEqual=lf,Hp.strictEqual=cf,Hp.notStrictEqual=pf,Hp.throws=hf,Hp.doesNotThrow=gf,Hp.ifError=mf;var yf=r(Object.freeze({__proto__:null,default:Hp,AssertionError:Yp,fail:Zp,ok:ef,assert:ef,equal:tf,notEqual:nf,deepEqual:rf,deepStrictEqual:uf,notDeepEqual:af,notDeepStrictEqual:lf,strictEqual:cf,notStrictEqual:pf,throws:hf,doesNotThrow:gf,ifError:mf}));const{builders:{line:Df,hardline:Ef,breakParent:bf,indent:Cf,lineSuffix:vf,join:Af,cursor:Ff}}=Ji,{hasNewline:xf,skipNewline:Sf,skipSpaces:wf,isPreviousLineEmpty:Tf,addLeadingComment:Bf,addDanglingComment:kf,addTrailingComment:Nf}=fi,Pf=new WeakMap;function Of(e,t,n){if(!e)return;const{printer:r,locStart:i,locEnd:u}=t;if(n){if(r.canAttachComment&&r.canAttachComment(e)){let t;for(t=n.length-1;t>=0&&!(i(n[t])<=i(e)&&u(n[t])<=u(e));--t);return void n.splice(t+1,0,e)}}else if(Pf.has(e))return Pf.get(e);const o=r.getCommentChildNodes&&r.getCommentChildNodes(e,t)||"object"==typeof e&&Object.entries(e).filter((([e])=>"enclosingNode"!==e&&"precedingNode"!==e&&"followingNode"!==e&&"tokens"!==e&&"comments"!==e)).map((([,e])=>e));if(o){n||(n=[],Pf.set(e,n));for(const e of o)Of(e,t,n);return n}}function If(e,t,n,r){const{locStart:i,locEnd:u}=n,o=i(t),s=u(t),a=Of(e,n);let l,c,p=0,f=a.length;for(;p>1,r=a[e],d=i(r),h=u(r);if(d<=o&&s<=h)return If(r,t,n,r);if(h<=o)l=r,p=e+1;else{if(!(s<=d))throw new Error("Comment location overlaps with node location");c=r,f=e}}if(r&&"TemplateLiteral"===r.type){const{quasis:e}=r,i=Vf(e,t,n);l&&Vf(e,l,n)!==i&&(l=null),c&&Vf(e,c,n)!==i&&(c=null)}return{enclosingNode:r,precedingNode:l,followingNode:c}}const jf=()=>!1;const Lf=e=>!/[\S\n\u2028\u2029]/.test(e);function _f(e,t,n,r){const{comment:i,precedingNode:u}=n[r],{locStart:o,locEnd:s}=t;let a=o(i);if(u)for(let t=r-1;t>=0;t--){const{comment:r,precedingNode:i}=n[t];if(i!==u||!Lf(e.slice(s(r),a)))break;a=o(r)}return xf(e,a,{backwards:!0})}function Mf(e,t,n,r){const{comment:i,followingNode:u}=n[r],{locStart:o,locEnd:s}=t;let a=s(i);if(u)for(let t=r+1;t0;--a){const{comment:r,precedingNode:o,followingNode:c}=e[a-1];yf.strictEqual(o,i),yf.strictEqual(c,u);const p=t.slice(n.locEnd(r),l);if(!s.test(p))break;l=n.locStart(r)}for(const[t,{comment:n}]of e.entries())t1&&e.comments.sort(((e,t)=>n.locStart(e)-n.locStart(t)));e.length=0}function $f(e,t){return e.getValue().printed=!0,t.printer.printComment(e,t)}function Vf(e,t,n){const r=n.locStart(t)-1;for(let t=1;t!n.has(e))));const u=r===t.cursorNode;if(0===i.length){const e=u?Ff:"";return{leading:e,trailing:e}}const o=[],s=[];return e.each((()=>{const r=e.getValue();if(n&&n.has(r))return;const{leading:i,trailing:u}=r;i?o.push(function(e,t){const n=e.getValue(),r=[$f(e,t)],{printer:i,originalText:u,locStart:o,locEnd:s}=t;if(i.isBlockComment&&i.isBlockComment(n)){const e=xf(u,s(n))?xf(u,o(n),{backwards:!0})?Ef:Df:" ";r.push(e)}else r.push(Ef);const a=Sf(u,wf(u,s(n)));return!1!==a&&xf(u,a)&&r.push(Ef),r}(e,t)):u&&s.push(function(e,t){const n=e.getValue(),r=$f(e,t),{printer:i,originalText:u,locStart:o}=t,s=i.isBlockComment&&i.isBlockComment(n);if(xf(u,o(n),{backwards:!0})){const e=Tf(u,n,o);return vf([Ef,e?Ef:"",r])}let a=[" ",r];return s||(a=[vf(a),bf]),a}(e,t))}),"comments"),u&&(o.unshift(Ff),s.push(Ff)),{leading:o,trailing:s}}var Wf={attach:function(e,t,n,r){if(!Array.isArray(e))return;const i=[],{locStart:u,locEnd:o,printer:{handleComments:s={}}}=r,{avoidAstMutation:a,ownLine:l=jf,endOfLine:c=jf,remaining:p=jf}=s,f=e.map(((i,u)=>Object.assign(Object.assign({},If(t,i,r)),{},{comment:i,text:n,options:r,ast:t,isLastComment:e.length-1===u})));for(const[e,t]of f.entries()){const{comment:n,precedingNode:r,enclosingNode:s,followingNode:d,text:h,options:g,ast:m,isLastComment:y}=t;if("json"===g.parser||"json5"===g.parser||"__js_expression"===g.parser||"__vue_expression"===g.parser){if(u(n)-u(m)<=0){Bf(m,n);continue}if(o(n)-o(m)>=0){Nf(m,n);continue}}let D;if(a?D=[t]:(n.enclosingNode=s,n.precedingNode=r,n.followingNode=d,D=[n,h,g,m,y]),_f(h,g,f,e))n.placement="ownLine",l(...D)||(d?Bf(d,n):r?Nf(r,n):kf(s||m,n));else if(Mf(h,g,f,e))n.placement="endOfLine",c(...D)||(r?Nf(r,n):d?Bf(d,n):kf(s||m,n));else if(n.placement="remaining",p(...D));else if(r&&d){const e=i.length;if(e>0){i[e-1].followingNode!==d&&Rf(i,h,g)}i.push(t)}else r?Nf(r,n):d?Bf(d,n):kf(s||m,n)}if(Rf(i,n,r),!a)for(const t of e)delete t.precedingNode,delete t.enclosingNode,delete t.followingNode},printComments:function(e,t,n,r){const{leading:i,trailing:u}=qf(e,n,r);return i||u?[i,t,u]:t},printCommentsSeparately:qf,printDanglingComments:function(e,t,n,r){const i=[],u=e.getValue();return u&&u.comments?(e.each((()=>{const n=e.getValue();n.leading||n.trailing||r&&!r(n)||i.push($f(e,t))}),"comments"),0===i.length?"":n?Af(Ef,i):Cf([Ef,Af(Ef,i)])):""},getSortedChildNodes:Of,ensureAllCommentsPrinted:function(e){if(e)for(const t of e){if(!t.printed)throw new Error('Comment "'+t.value.trim()+'" was not printed. Please report this error!');delete t.printed}}};function Uf(e,t){const n=zf(e.stack,t);return-1===n?null:e.stack[n]}function zf(e,t){for(let n=e.length-1;n>=0;n-=2){const r=e[n];if(r&&!Array.isArray(r)&&--t<0)return n}return-1}var Gf=class{constructor(e){this.stack=[e]}getName(){const{stack:e}=this,{length:t}=e;return t>1?e[t-2]:null}getValue(){return Sn(this.stack)}getNode(e=0){return Uf(this,e)}getParentNode(e=0){return Uf(this,e+1)}call(e,...t){const{stack:n}=this,{length:r}=n;let i=Sn(n);for(const e of t)i=i[e],n.push(e,i);const u=e(this);return n.length=r,u}callParent(e,t=0){const n=zf(this.stack,t+1),r=this.stack.splice(n+1),i=e(this);return this.stack.push(...r),i}each(e,...t){const{stack:n}=this,{length:r}=n;let i=Sn(n);for(const e of t)i=i[e],n.push(e,i);for(let t=0;t{n[r]=e(t,r,i)}),...t),n}try(e){const{stack:t}=this,n=[...t];try{return e()}finally{t.length=0,t.push(...n)}}match(...e){let t=this.stack.length-1,n=null,r=this.stack[t--];for(const i of e){if(void 0===r)return!1;let e=null;if("number"==typeof n&&(e=n,n=this.stack[t--],r=this.stack[t--]),i&&!i(r,n,e))return!1;n=this.stack[t--],r=this.stack[t--]}return!0}findAncestor(e){let t=this.stack.length-1,n=null,r=this.stack[t--];for(;r;){let i=null;if("number"==typeof n&&(i=n,n=this.stack[t--],r=this.stack[t--]),null!==n&&e(r,n,i))return r;n=this.stack[t--],r=this.stack[t--]}}};const{utils:{stripTrailingHardline:Hf}}=Ji,{normalize:Jf}=yp;var Xf={printSubtree:function(e,t,n,r){if(n.printer.embed&&"auto"===n.embeddedLanguageFormatting)return n.printer.embed(e,t,((e,t,i)=>function(e,t,n,r,{stripTrailingHardline:i=!1}={}){const u=Jf(Object.assign(Object.assign(Object.assign({},n),t),{},{parentParser:n.parser,originalText:e}),{passThrough:!0}),o=pp.parse(e,u),{ast:s}=o;e=o.text;const a=s.comments;delete s.comments,Wf.attach(a,s,e,u),u[Symbol.for("comments")]=a||[],u[Symbol.for("tokens")]=s.tokens||[];const l=r(s,u);if(Wf.ensureAllCommentsPrinted(a),i)return"string"==typeof l?l.replace(/(?:\r?\n)*$/,""):Hf(l);return l}(e,t,n,r,i)),n)}};const{builders:{hardline:Yf,addAlignmentToDoc:Kf},utils:{propagateBreaks:Qf}}=Ji,{printComments:Zf}=Wf;function ed(e,t,r=0){const{printer:i}=t;i.preprocess&&(e=i.preprocess(e,t));const u=new Map,o=new Gf(e);let s=a();return r>0&&(s=Kf([Yf,s],r,t.tabWidth)),Qf(s),s;function a(e,t){return void 0===e||e===o?l(t):Array.isArray(e)?o.call((()=>l(t)),...e):o.call((()=>l(t)),e)}function l(e){const r=o.getValue(),i=r&&"object"==typeof r&&void 0===e;if(i&&u.has(r))return u.get(r);const s=function(e,t,r,i){const u=e.getValue(),{printer:o}=t;let s,a;if(o.hasPrettierIgnore&&o.hasPrettierIgnore(e))({doc:s,printedComments:a}=function(e,t){const{originalText:n,[Symbol.for("comments")]:r,locStart:i,locEnd:u}=t,o=i(e),s=u(e),a=new Set;for(const e of r)i(e)>=o&&u(e)<=s&&(e.printed=!0,a.add(e));return{doc:n.slice(o,s),printedComments:a}}(u,t));else{if(u)try{s=Xf.printSubtree(e,r,t,ed)}catch(e){if(n.PRETTIER_DEBUG)throw e}s||(s=o.print(e,t,r,i))}o.willPrintOwnComments&&o.willPrintOwnComments(e,t)||(s=Zf(e,s,t,a));return s}(o,t,a,e);return i&&u.set(r,s),s}}var td=ed;function nd(e){let t=e.length-1;for(;;){const n=e[t];if(!n||"Program"!==n.type&&"File"!==n.type)break;t--}return e.slice(0,t+1)}function rd(e,t,n,r,i=[],u){const{locStart:o,locEnd:s}=n,a=o(e),l=s(e);if(!(t>l||tr);const s=e.slice(r,i).search(/\S/),a=-1===s;if(!a)for(r+=s;i>r&&!/\S/.test(e[i-1]);--i);const l=rd(n,r,t,((e,n)=>od(t,e,n)),[],"rangeStart"),c=a?l:rd(n,i,t,(e=>od(t,e)),[],"rangeEnd");if(!l||!c)return{rangeStart:0,rangeEnd:0};let p,f;if((({parser:e})=>"json"===e||"json5"===e||"json-stringify"===e)(t)){const e=function(e,t){const n=[e.node,...e.parentNodes],r=new Set([t.node,...t.parentNodes]);return n.find((e=>id.has(e.type)&&r.has(e)))}(l,c);p=e,f=e}else({startNode:p,endNode:f}=function(e,t,{locStart:n,locEnd:r}){let i=e.node,u=t.node;if(i===u)return{startNode:i,endNode:u};const o=n(e.node);for(const e of nd(t.parentNodes)){if(!(n(e)>=o))break;u=e}const s=r(t.node);for(const t of nd(e.parentNodes)){if(!(r(t)<=s))break;i=t}return{startNode:i,endNode:u}}(l,c,t));return{rangeStart:Math.min(u(p),u(f)),rangeEnd:Math.max(o(p),o(f))}},findNodeAtOffset:rd};const{printer:{printDocToString:ad},debug:{printDocToDebug:ld}}=Ji,{getAlignmentSize:cd}=fi,{guessEndOfLine:pd,convertEndOfLineToChars:fd,countEndOfLineChars:dd,normalizeEndOfLine:hd}=di,gd=yp.normalize,md=Symbol("cursor");function yd(e,t,n){const r=t.comments;return r&&(delete t.comments,Wf.attach(r,t,e,n)),n[Symbol.for("comments")]=r||[],n[Symbol.for("tokens")]=t.tokens||[],n.originalText=e,r}function Dd(e,t,n=0){if(!e||0===e.trim().length)return{formatted:"",cursorOffset:-1,comments:[]};const{ast:r,text:i}=pp.parse(e,t);if(t.cursorOffset>=0){const e=sd.findNodeAtOffset(r,t.cursorOffset,t);e&&e.node&&(t.cursorNode=e.node)}const u=yd(i,r,t),o=td(r,t,n),s=ad(o,t);if(Wf.ensureAllCommentsPrinted(u),n>0){const e=s.formatted.trim();void 0!==s.cursorNodeStart&&(s.cursorNodeStart-=s.formatted.indexOf(e)),s.formatted=e+fd(t.endOfLine)}if(t.cursorOffset>=0){let e,n,r,o,a;if(t.cursorNode&&s.cursorNodeText?(e=t.locStart(t.cursorNode),n=i.slice(e,t.locEnd(t.cursorNode)),r=t.cursorOffset-e,o=s.cursorNodeStart,a=s.cursorNodeText):(e=0,n=i,r=t.cursorOffset,o=0,a=s.formatted),n===a)return{formatted:s.formatted,cursorOffset:o+r,comments:u};const l=n.split("");l.splice(r,0,md);const c=a.split(""),p=sn.diffArrays(l,c);let f=o;for(const e of p)if(e.removed){if(e.value.includes(md))break}else f+=e.count;return{formatted:s.formatted,cursorOffset:f,comments:u}}return{formatted:s.formatted,cursorOffset:-1,comments:u}}function Ed(e,t,n){return"number"!=typeof t||Number.isNaN(t)||t<0||t>e.length?n:t}function bd(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:i}=t;return n=Ed(e,n,-1),r=Ed(e,r,0),i=Ed(e,i,e.length),Object.assign(Object.assign({},t),{},{cursorOffset:n,rangeStart:r,rangeEnd:i})}function Cd(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:i,endOfLine:u}=bd(e,t);const o="\ufeff"===e.charAt(0);if(o&&(e=e.slice(1),n--,r--,i--),"auto"===u&&(u=pd(e)),e.includes("\r")){const t=t=>dd(e.slice(0,Math.max(t,0)),"\r\n");n-=t(n),r-=t(r),i-=t(i),e=hd(e)}return{hasBOM:o,text:e,options:bd(e,Object.assign(Object.assign({},t),{},{cursorOffset:n,rangeStart:r,rangeEnd:i,endOfLine:u}))}}function vd(e,t){const n=pp.resolveParser(t);return!n.hasPragma||n.hasPragma(e)}function Ad(e,t){let n,{hasBOM:r,text:i,options:u}=Cd(e,gd(t));return u.rangeStart>=u.rangeEnd&&""!==i||u.requirePragma&&!vd(i,u)?{formatted:e,cursorOffset:t.cursorOffset,comments:[]}:(u.rangeStart>0||u.rangeEndi&&t.cursorOffset<=u?t.cursorOffset-i:-1,endOfLine:"lf"}),l),p=c.formatted.trimEnd();let{cursorOffset:f}=t;f>u?f+=p.length-o.length:c.cursorOffset>=0&&(f=c.cursorOffset+i);let d=r.slice(0,i)+p+r.slice(u);if("lf"!==t.endOfLine){const e=fd(t.endOfLine);f>=0&&"\r\n"===e&&(f+=dd(d.slice(0,f),"\n")),d=d.replace(/\n/g,e)}return{formatted:d,cursorOffset:f,comments:c.comments}}(i,u):(!u.requirePragma&&u.insertPragma&&u.printer.insertPragma&&!vd(i,u)&&(i=u.printer.insertPragma(i)),n=Dd(i,u)),r&&(n.formatted="\ufeff"+n.formatted,n.cursorOffset>=0&&n.cursorOffset++),n)}var Fd={formatWithCursor:Ad,parse(e,t,n){const{text:r,options:i}=Cd(e,gd(t)),u=pp.parse(r,i);return n&&(u.ast=Dp(u.ast,i)),u},formatAST(e,t){t=gd(t);const n=td(e,t);return ad(n,t)},formatDoc:(e,t)=>Ad(ld(e),Object.assign(Object.assign({},t),{},{parser:"__js_expression"})).formatted,printToDoc(e,t){t=gd(t);const{ast:n,text:r}=pp.parse(e,t);return yd(r,n,t),td(n,t)},printDocToString:(e,t)=>ad(e,gd(t))};const{getMaxContinuousCount:xd,getStringWidth:Sd,getAlignmentSize:wd,getIndentSize:Td,skip:Bd,skipWhitespace:kd,skipSpaces:Nd,skipNewline:Pd,skipToLineEnd:Od,skipEverythingButNewLine:Id,skipInlineComment:jd,skipTrailingComment:Ld,hasNewline:_d,hasNewlineInRange:Md,hasSpaces:Rd,isNextLineEmpty:$d,isNextLineEmptyAfterIndex:Vd,isPreviousLineEmpty:qd,getNextNonSpaceNonCommentCharacterIndex:Wd,makeString:Ud,addLeadingComment:zd,addDanglingComment:Gd,addTrailingComment:Hd}=fi;var Jd={getMaxContinuousCount:xd,getStringWidth:Sd,getAlignmentSize:wd,getIndentSize:Td,skip:Bd,skipWhitespace:kd,skipSpaces:Nd,skipNewline:Pd,skipToLineEnd:Od,skipEverythingButNewLine:Id,skipInlineComment:jd,skipTrailingComment:Ld,hasNewline:_d,hasNewlineInRange:Md,hasSpaces:Rd,isNextLineEmpty:$d,isNextLineEmptyAfterIndex:Vd,isPreviousLineEmpty:qd,getNextNonSpaceNonCommentCharacterIndex:Wd,makeString:Ud,addLeadingComment:zd,addDanglingComment:Gd,addTrailingComment:Hd};const Xd=["languageId"];var Yd=function(t,n){const{languageId:r}=t,i=e(t,Xd);return Object.assign(Object.assign({linguistLanguageId:r},i),n(t))},Kd=i((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()})),Qd=i((function(e){!function(){var t,n,r,i,u,o;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),o=0;o<128;++o)i[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(u=new Array(128),o=0;o<128;++o)u[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?u[e]:n.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?u[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()})),Zd=i((function(e){!function(){var t=Qd;function n(e,t){return!(!t&&"yield"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function u(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function o(e){var n,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(n=1,r=e.length;n=r)return!1;if(!(56320<=(u=e.charCodeAt(n))&&u<=57343))return!1;i=1024*(i-55296)+(u-56320)+65536}if(!o(i))return!1;o=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:n,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:u,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:o,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return o(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!u(e,t)}}}()}));const eh=i((function(e,t){t.ast=Kd,t.code=Qd,t.keyword=Zd})).keyword.isIdentifierNameES5,{getLast:th,hasNewline:nh,skipWhitespace:rh,isNonEmptyArray:ih,isNextLineEmptyAfterIndex:uh}=fi,{locStart:oh,locEnd:sh,hasSameLocStart:ah}=Rl,lh=new RegExp("^(?:(?=.)\\s)*:"),ch=new RegExp("^(?:(?=.)\\s)*::");function ph(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}function fh(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type}const dh=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function hh(e){return e&&dh.has(e.type)}function gh(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function mh(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function yh(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Dh(e){return xh(e)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function Eh(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function bh(e){return"get"===e.kind||"set"===e.kind}function Ch(e){return bh(e)||ah(e,e.value)}const vh=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Ah=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Fh=/^(skip|[fx]?(it|describe|test))$/;function xh(e){return e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)}function Sh(e){return e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)}function wh(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Th(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Bh(e){return e.extra?e.extra.raw:e.raw}const kh={"==":!0,"!=":!0,"===":!0,"!==":!0},Nh={"*":!0,"/":!0,"%":!0},Ph={">>":!0,">>>":!0,"<<":!0};const Oh={};for(const[e,t]of[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].entries())for(const n of t)Oh[n]=e;function Ih(e){return Oh[e]}const jh=new WeakMap;function Lh(e){if(jh.has(e))return jh.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),jh.set(e,t),t}const _h=new WeakMap;function Mh(e){if(_h.has(e))return _h.get(e);let t=e.arguments;return"ImportExpression"===e.type&&(t=[e.source],e.attributes&&t.push(e.attributes)),_h.set(e,t),t}function Rh(e){return"prettier-ignore"===e.value.trim()&&!e.unignore}function $h(e){return e&&(e.prettierIgnore||Wh(e,Vh.PrettierIgnore))}const Vh={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},qh=(e,t)=>{if("function"==typeof e&&(t=e,e=0),e||t)return(n,r,i)=>!(e&Vh.Leading&&!n.leading||e&Vh.Trailing&&!n.trailing||e&Vh.Dangling&&(n.leading||n.trailing)||e&Vh.Block&&!ph(n)||e&Vh.Line&&!fh(n)||e&Vh.First&&0!==r||e&Vh.Last&&r!==i.length-1||e&Vh.PrettierIgnore&&!Rh(n)||t&&!t(n))};function Wh(e,t,n){if(!e||!ih(e.comments))return!1;const r=qh(t,n);return!r||e.comments.some(r)}function Uh(e,t,n){if(!e||!Array.isArray(e.comments))return[];const r=qh(t,n);return r?e.comments.filter(r):e.comments}function zh(e){return xh(e)||"NewExpression"===e.type||"ImportExpression"===e.type}var Gh={getFunctionParameters:Lh,iterateFunctionParametersPath:function(e,t){const n=e.getValue();let r=0;const i=e=>t(e,r++);n.this&&e.call(i,"this"),Array.isArray(n.parameters)?e.each(i,"parameters"):Array.isArray(n.params)&&e.each(i,"params"),n.rest&&e.call(i,"rest")},getCallArguments:Mh,iterateCallArgumentsPath:function(e,t){const n=e.getValue();"ImportExpression"===n.type?(e.call((e=>t(e,0)),"source"),n.attributes&&e.call((e=>t(e,1)),"attributes")):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=Lh(e);return t.length>0&&"RestElement"===th(t).type},getLeftSide:function(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&hh(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasFlowAnnotationComment:function(e){return e&&ph(e[0])&&ch.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&ih(e.trailingComments)&&ph(e.trailingComments[0])&&lh.test(e.trailingComments[0].value)},hasLeadingOwnLineComment:function(e,t){return Eh(t)?$h(t):Wh(t,Vh.Leading,(t=>nh(e,sh(t))))},hasNakedLeftSide:function(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||xh(e)||Sh(e)||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type},hasNode:function e(t,n){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>e(t,n)));const r=n(t);return"boolean"==typeof r?r:Object.values(t).some((t=>e(t,n)))},hasIgnoreComment:function(e){return $h(e.getValue())},hasNodeIgnoreComment:$h,identity:function(e){return e},isBinaryish:function(e){return vh.has(e.type)},isBlockComment:ph,isCallLikeExpression:zh,isLineComment:fh,isPrettierIgnoreComment:Rh,isCallExpression:xh,isMemberExpression:Sh,isExportDeclaration:hh,isFlowAnnotationComment:function(e,t){const n=oh(t),r=rh(e,sh(t));return!1!==r&&"/*"===e.slice(n,n+2)&&"*/"===e.slice(r,r+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const n of e)if(yh(n)){if(t+=1,t>1)return!0}else if(xh(n))for(const e of n.arguments)if(yh(e))return!0;return!1},isFunctionNotation:Ch,isFunctionOrArrowExpression:yh,isGetterOrSetter:bh,isJestEachTemplateLiteral:function(e,t){const n=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&n.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&n.test(t.tag.object.object.name))},isJsxNode:Eh,isLiteral:function(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type},isLongCurriedCallExpression:function(e){const t=e.getValue(),n=e.getParentNode();return xh(t)&&xh(n)&&n.callee===t&&t.arguments.length>n.arguments.length&&n.arguments.length>0},isSimpleCallArgument:function e(t,n){if(n>=2)return!1;const r=t=>e(t,n+1),i="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(i&&i.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"PrivateIdentifier"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.quasis.every((e=>!e.value.raw.includes("\n")))&&t.expressions.every(r):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&r(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||r(e))):zh(t)?("ImportExpression"===t.type||e(t.callee,n))&&Mh(t).every(r):Sh(t)?e(t.object,n)&&e(t.property,n):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,n):e(t.argument,n)))},isMemberish:function(e){return Sh(e)||"BindExpression"===e.type&&Boolean(e.object)},isNumericLiteral:gh,isSignedNumericLiteral:function(e){return"UnaryExpression"===e.type&&("+"===e.operator||"-"===e.operator)&&gh(e.argument)},isObjectProperty:function(e){return e&&("ObjectProperty"===e.type||"Property"===e.type&&!e.method&&"init"===e.kind)},isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Ch(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Ah.has(e.type))},isSimpleNumber:wh,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const n=e[t];return 0!==n.length&&n.every((e=>{if(Wh(e))return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if(Sh(e)){let t=e;for(;Sh(t);){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,Wh(t))return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:mh,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&mh(e.key)&&Bh(e.key).slice(1,-1)===e.key.value&&(eh(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||wh(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&Th(e)||"TaggedTemplateExpression"===e.type&&Th(e.quasi))&&!nh(t,oh(e),{backwards:!0})},isTestCall:function e(t,n){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(Dh(t)&&n&&e(n))return yh(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return Dh(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&Fh.test(t.callee.name)||function(e){return Sh(e.callee)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&Fh.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||mh(t.arguments[0])))return!(t.arguments[2]&&!gh(t.arguments[2]))&&((2===t.arguments.length?yh(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&Lh(t.arguments[1]).length<=1)||Dh(t.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const n=t.getNode();if(!n.expression||!Eh(n.expression))return!1;const r=t.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||ah(e,e.typeAnnotation))},isNextLineEmpty:(e,{originalText:t})=>uh(t,sh(e)),needsHardlineAfterDanglingComment:function(e){if(!Wh(e))return!1;const t=th(Uh(e,Vh.Dangling));return t&&!ph(t)},rawText:Bh,shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return Boolean(Ph[e])||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Ih(t)===Ih(e)&&("**"!==e&&((!kh[e]||!kh[t])&&(!("%"===t&&Nh[e]||"%"===e&&Nh[t])&&((t===e||!Nh[t]||!Nh[e])&&(!Ph[e]||!Ph[t])))))},startsWithNoLookaheadToken:function e(t,n){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return n;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,n);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,n);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,n);case"ConditionalExpression":return e(t.test,n);case"UpdateExpression":return!t.prefix&&e(t.argument,n);case"BindExpression":return t.object&&e(t.object,n);case"SequenceExpression":return e(t.expressions[0],n);case"TSAsExpression":case"TSNonNullExpression":return e(t.expression,n);default:return!1}},getPrecedence:Ih,hasComment:Wh,getComments:Uh,CommentCheckFlags:Vh};const{getStringWidth:Hh,getIndentSize:Jh}=fi,{builders:{join:Xh,hardline:Yh,softline:Kh,group:Qh,indent:Zh,align:eg,lineSuffixBoundary:tg,addAlignmentToDoc:ng},printer:{printDocToString:rg},utils:{mapDoc:ig}}=Ji,{isBinaryish:ug,isJestEachTemplateLiteral:og,isSimpleTemplateLiteral:sg,hasComment:ag,isMemberExpression:lg}=Gh;function cg(e){return e.replace(/([\\`]|\${)/g,"\\$1")}var pg={printTemplateLiteral:function(e,t,n){const r=e.getValue();if("TemplateLiteral"===r.type&&og(r,e.getParentNode())){const r=function(e,t,n){const r=e.getNode(),i=r.quasis[0].value.raw.trim().split(/\s*\|\s*/);if(i.length>1||i.some((e=>e.length>0))){t.__inJestEach=!0;const u=e.map(n,"expressions");t.__inJestEach=!1;const o=[],s=u.map((e=>"${"+rg(e,Object.assign(Object.assign({},t),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"})).formatted+"}")),a=[{hasLineBreak:!1,cells:[]}];for(let e=1;ee.cells.length))),c=Array.from({length:l}).fill(0),p=[{cells:i},...a.filter((e=>e.cells.length>0))];for(const{cells:e}of p.filter((e=>!e.hasLineBreak)))for(const[t,n]of e.entries())c[t]=Math.max(c[t],Hh(n));return o.push(tg,"`",Zh([Yh,Xh(Yh,p.map((e=>Xh(" | ",e.cells.map(((t,n)=>e.hasLineBreak?t:t+" ".repeat(c[n]-Hh(t))))))))]),Yh,"`"),o}}(e,n,t);if(r)return r}let i="expressions";"TSTemplateLiteralType"===r.type&&(i="types");const u=[];let o=e.map(t,i);const s=sg(r);return s&&(o=o.map((e=>rg(e,Object.assign(Object.assign({},n),{},{printWidth:Number.POSITIVE_INFINITY})).formatted))),u.push(tg,"`"),e.each((e=>{const a=e.getName();if(u.push(t()),afunction(e,t){const n=e.getValue();let r=t();return ag(n)&&(r=Qh([Zh([Kh,r]),Kh])),["${",r,tg,"}"]}(e,t)),"expressions")},escapeTemplateCharacters:function(e,t){return ig(e,(e=>"string"==typeof e?t?e.replace(/(\\*)`/g,"$1$1\\`"):cg(e):e))},uncookTemplateElementValue:cg};const{builders:{indent:fg,softline:dg,literalline:hg,dedentToRoot:gg}}=Ji,{escapeTemplateCharacters:mg}=pg;var yg=function(e,t,n){let r=e.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,((e,t)=>"\\".repeat(t.length/2)+"`"));const i=function(e){const t=e.match(/^([^\S\n]*)\S/m);return null===t?"":t[1]}(r),u=""!==i;u&&(r=r.replace(new RegExp(`^${i}`,"gm"),""));const o=mg(n(r,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return["`",u?fg([dg,o]):[hg,gg(o)],dg,"`"]};const{isNonEmptyArray:Dg}=fi,{builders:{indent:Eg,hardline:bg,softline:Cg},utils:{mapDoc:vg,replaceNewlinesWithLiterallines:Ag,cleanDoc:Fg}}=Ji,{printTemplateExpressions:xg}=pg;var Sg=function(e,t,n){const r=e.getValue(),i=r.quasis.map((e=>e.value.raw));let u=0;return function(e,t,n){if(1===t.quasis.length&&!t.quasis[0].value.raw.trim())return"``";const r=function(e,t){if(!Dg(t))return e;let n=0;const r=vg(Fg(e),(e=>"string"==typeof e&&e.includes("@prettier-placeholder")?e.split(/@prettier-placeholder-(\d+)-id/).map(((e,r)=>r%2==0?Ag(e):(n++,t[e]))):e));return t.length===n?r:null}(e,n);if(!r)throw new Error("Couldn't insert all the expressions");return["`",Eg([bg,r]),Cg,"`"]}(n(i.reduce(((e,t,n)=>0===n?t:e+"@prettier-placeholder-"+u+++"-id"+t),""),{parser:"scss"},{stripTrailingHardline:!0}),r,xg(e,t))};const{builders:{indent:wg,join:Tg,hardline:Bg}}=Ji,{escapeTemplateCharacters:kg,printTemplateExpressions:Ng}=pg;function Pg(e){const t=[];let n=!1;const r=e.map((e=>e.trim()));for(const[e,i]of r.entries())""!==i&&(""===r[e-1]&&n?t.push([Bg,i]):t.push(i),n=!0);return 0===t.length?null:Tg(Bg,t)}var Og=function(e,t,n){const r=e.getValue(),i=r.quasis.length;if(1===i&&""===r.quasis[0].value.raw.trim())return"``";const u=Ng(e,t),o=[];for(let e=0;e2&&""===l[0].trim()&&""===l[1].trim(),d=c>2&&""===l[c-1].trim()&&""===l[c-2].trim(),h=l.every((e=>/^\s*(?:#[^\n\r]*)?$/.test(e)));if(!s&&/#[^\n\r]*$/.test(l[c-1]))return null;let g=null;g=h?Pg(l):n(a,{parser:"graphql"},{stripTrailingHardline:!0}),g?(g=kg(g,!1),!t&&f&&o.push(""),o.push(g),!s&&d&&o.push("")):t||s||!f||o.push(""),p&&o.push(p)}return["`",wg([Bg,Tg(Bg,o)]),Bg,"`"]};const{builders:{indent:Ig,line:jg,hardline:Lg,group:_g},utils:{mapDoc:Mg}}=Ji,{printTemplateExpressions:Rg,uncookTemplateElementValue:$g}=pg;let Vg=0;var qg=function(e,t,n,r,{parser:i}){const u=e.getValue(),o=Vg;Vg=Vg+1>>>0;const s=e=>`PRETTIER_HTML_PLACEHOLDER_${e}_${o}_IN_JS`,a=u.quasis.map(((e,t,n)=>t===n.length-1?e.value.cooked:e.value.cooked+s(t))).join(""),l=Rg(e,t);if(0===l.length&&0===a.trim().length)return"``";const c=new RegExp(s("(\\d+)"),"g");let p=0;const f=n(a,{parser:i,__onHtmlRoot(e){p=e.children.length}},{stripTrailingHardline:!0}),d=Mg(f,(e=>{if("string"!=typeof e)return e;const t=[],n=e.split(c);for(let e=0;e1?Ig(_g(d)):_g(d),g,"`"])};const{hasComment:Wg,CommentCheckFlags:Ug,isObjectProperty:zg}=Gh;function Gg(e){return function(e){const t=e.getValue(),n=e.getParentNode(),r=e.getParentNode(1);return r&&t.quasis&&"JSXExpressionContainer"===n.type&&"JSXElement"===r.type&&"style"===r.openingElement.name.name&&r.openingElement.attributes.some((e=>"jsx"===e.name.name))||n&&"TaggedTemplateExpression"===n.type&&"Identifier"===n.tag.type&&"css"===n.tag.name||n&&"TaggedTemplateExpression"===n.type&&"MemberExpression"===n.tag.type&&"css"===n.tag.object.name&&("global"===n.tag.property.name||"resolve"===n.tag.property.name)}(e)||function(e){const t=e.getParentNode();if(!t||"TaggedTemplateExpression"!==t.type)return!1;const{tag:n}=t;switch(n.type){case"MemberExpression":return Jg(n.object)||Xg(n);case"CallExpression":return Jg(n.callee)||"MemberExpression"===n.callee.type&&("MemberExpression"===n.callee.object.type&&(Jg(n.callee.object.object)||Xg(n.callee.object))||"CallExpression"===n.callee.object.type&&Jg(n.callee.object.callee));case"Identifier":return"css"===n.name;default:return!1}}(e)||function(e){const t=e.getParentNode(),n=e.getParentNode(1);return n&&"JSXExpressionContainer"===t.type&&"JSXAttribute"===n.type&&"JSXIdentifier"===n.name.type&&"css"===n.name.name}(e)||function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"ArrayExpression"===e.type&&"elements"===t),((e,t)=>zg(e)&&"Identifier"===e.key.type&&"styles"===e.key.name&&"value"===t),...Hg)}(e)?"css":function(e){const t=e.getValue(),n=e.getParentNode();return Yg(t,"GraphQL")||n&&("TaggedTemplateExpression"===n.type&&("MemberExpression"===n.tag.type&&"graphql"===n.tag.object.name&&"experimental"===n.tag.property.name||"Identifier"===n.tag.type&&("gql"===n.tag.name||"graphql"===n.tag.name))||"CallExpression"===n.type&&"Identifier"===n.callee.type&&"graphql"===n.callee.name)}(e)?"graphql":function(e){return Yg(e.getValue(),"HTML")||e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"TaggedTemplateExpression"===e.type&&"Identifier"===e.tag.type&&"html"===e.tag.name&&"quasi"===t))}(e)?"html":function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>zg(e)&&"Identifier"===e.key.type&&"template"===e.key.name&&"value"===t),...Hg)}(e)?"angular":function(e){const t=e.getValue(),n=e.getParentNode();return n&&"TaggedTemplateExpression"===n.type&&1===t.quasis.length&&"Identifier"===n.tag.type&&("md"===n.tag.name||"markdown"===n.tag.name)}(e)?"markdown":void 0}const Hg=[(e,t)=>"ObjectExpression"===e.type&&"properties"===t,(e,t)=>"CallExpression"===e.type&&"Identifier"===e.callee.type&&"Component"===e.callee.name&&"arguments"===t,(e,t)=>"Decorator"===e.type&&"expression"===t];function Jg(e){return"Identifier"===e.type&&"styled"===e.name}function Xg(e){return/^[A-Z]/.test(e.object.name)&&"extend"===e.property.name}function Yg(e,t){return Wg(e,Ug.Block|Ug.Leading,(({value:e})=>e===` ${t} `))}var Kg=function(e,t,n,r){const i=e.getValue();if("TemplateLiteral"!==i.type||function({quasis:e}){return e.some((({value:{cooked:e}})=>null===e))}(i))return;const u=Gg(e);return u?"markdown"===u?yg(e,t,n):"css"===u?Sg(e,t,n):"graphql"===u?Og(e,t,n):"html"===u||"angular"===u?qg(e,t,n,r,{parser:u}):void 0:void 0};const{isBlockComment:Qg}=Gh,Zg=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),em=e=>{for(const t of e.quasis)delete t.value};function tm(e,t,n){if("Program"===e.type&&delete t.sourceType,"BigIntLiteral"!==e.type&&"BigIntLiteralTypeAnnotation"!==e.type||t.value&&(t.value=t.value.toLowerCase()),"BigIntLiteral"!==e.type&&"Literal"!==e.type||t.bigint&&(t.bigint=t.bigint.toLowerCase()),"DecimalLiteral"===e.type&&(t.value=Number(t.value)),"Literal"===e.type&&t.decimal&&(t.decimal=Number(t.decimal)),"EmptyStatement"===e.type)return null;if("JSXText"===e.type)return null;if("JSXExpressionContainer"===e.type&&("Literal"===e.expression.type||"StringLiteral"===e.expression.type)&&" "===e.expression.value)return null;if("Property"!==e.type&&"ObjectProperty"!==e.type&&"MethodDefinition"!==e.type&&"ClassProperty"!==e.type&&"ClassMethod"!==e.type&&"PropertyDefinition"!==e.type&&"TSDeclareMethod"!==e.type&&"TSPropertySignature"!==e.type&&"ObjectTypeProperty"!==e.type||"object"!=typeof e.key||!e.key||"Literal"!==e.key.type&&"NumericLiteral"!==e.key.type&&"StringLiteral"!==e.key.type&&"Identifier"!==e.key.type||delete t.key,"JSXElement"===e.type&&"style"===e.openingElement.name.name&&e.openingElement.attributes.some((e=>"jsx"===e.name.name)))for(const{type:e,expression:n}of t.children)"JSXExpressionContainer"===e&&"TemplateLiteral"===n.type&&em(n);"JSXAttribute"===e.type&&"css"===e.name.name&&"JSXExpressionContainer"===e.value.type&&"TemplateLiteral"===e.value.expression.type&&em(t.value.expression),"JSXAttribute"===e.type&&e.value&&"Literal"===e.value.type&&/["']|"|'/.test(e.value.value)&&(t.value.value=t.value.value.replace(/["']|"|'/g,'"'));const r=e.expression||e.callee;if("Decorator"===e.type&&"CallExpression"===r.type&&"Component"===r.callee.name&&1===r.arguments.length){const n=e.expression.arguments[0].properties;for(const[e,r]of t.expression.arguments[0].properties.entries())switch(n[e].key.name){case"styles":"ArrayExpression"===r.value.type&&em(r.value.elements[0]);break;case"template":"TemplateLiteral"===r.value.type&&em(r.value)}}if("TaggedTemplateExpression"!==e.type||"MemberExpression"!==e.tag.type&&("Identifier"!==e.tag.type||"gql"!==e.tag.name&&"graphql"!==e.tag.name&&"css"!==e.tag.name&&"md"!==e.tag.name&&"markdown"!==e.tag.name&&"html"!==e.tag.name)&&"CallExpression"!==e.tag.type||em(t.quasi),"TemplateLiteral"===e.type){(e.leadingComments&&e.leadingComments.some((e=>Qg(e)&&["GraphQL","HTML"].some((t=>e.value===` ${t} `))))||"CallExpression"===n.type&&"graphql"===n.callee.name||!e.leadingComments)&&em(t)}return"InterpreterDirective"===e.type&&(t.value=t.value.trimEnd()),"TSIntersectionType"!==e.type&&"TSUnionType"!==e.type||1!==e.types.length?void 0:t.types[0]}tm.ignoredProperties=Zg;var nm=tm;const rm=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const n=t.filter((e=>"\r\n"===e)).length;return n>t.length-n?"\r\n":"\n"};var im=rm;im.graceful=e=>"string"==typeof e&&rm(e)||"\n";var um=function(e){const t=e.match(hm);return t?t[0].trimLeft():""},om=function(e){const t=e.match(hm);return t&&t[0]?e.substring(t[0].length):e},sm=function(e){return Cm(e).pragmas},am=Cm,lm=function({comments:e="",pragmas:t={}}){const n=(0,pm().default)(e)||cm().EOL,r=" *",i=Object.keys(t),u=i.map((e=>vm(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+n)).join("");if(!e){if(0===i.length)return"";if(1===i.length&&!Array.isArray(t[i[0]])){const e=t[i[0]];return`/** ${vm(i[0],e)[0]} */`}}const o=e.split(n).map((e=>` * ${e}`)).join(n)+n;return"/**"+n+(e?o:"")+(e&&i.length?r+n:"")+u+" */"};function cm(){const e=Qo;return cm=function(){return e},e}function pm(){const e=function(e){return e&&e.__esModule?e:{default:e}}(im);return pm=function(){return e},e}const fm=/\*\/$/,dm=/^\/\*\*/,hm=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,gm=/(^|\s+)\/\/([^\r\n]*)/g,mm=/^(\r?\n)+/,ym=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Dm=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Em=/(\r?\n|^) *\* ?/g,bm=[];function Cm(e){const t=(0,pm().default)(e)||cm().EOL;e=e.replace(dm,"").replace(fm,"").replace(Em,"$1");let n="";for(;n!==e;)n=e,e=e.replace(ym,`${t}$1 $2${t}`);e=e.replace(mm,"").trimRight();const r=Object.create(null),i=e.replace(Dm,"").replace(mm,"").trimRight();let u;for(;u=Dm.exec(e);){const e=u[2].replace(gm,"");"string"==typeof r[u[1]]||Array.isArray(r[u[1]])?r[u[1]]=bm.concat(r[u[1]],e):r[u[1]]=e}return{comments:i,pragmas:r}}function vm(e,t){return bm.concat(t).map((t=>`@${e} ${t}`.trim()))}var Am=Object.defineProperty({extract:um,strip:om,parse:sm,parseWithComments:am,print:lm},"__esModule",{value:!0});const{parseWithComments:Fm,strip:xm,extract:Sm,print:wm}=Am,{getShebang:Tm}=fi,{normalizeEndOfLine:Bm}=di;function km(e){const t=Tm(e);t&&(e=e.slice(t.length+1));const n=Sm(e),{pragmas:r,comments:i}=Fm(n);return{shebang:t,text:e,pragmas:r,comments:i}}var Nm={hasPragma:function(e){const t=Object.keys(km(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:n,pragmas:r,comments:i}=km(e),u=xm(n),o=wm({pragmas:Object.assign({format:""},r),comments:i.trimStart()});return(t?`${t}\n`:"")+Bm(o)+(u.startsWith("\n")?"\n":"\n\n")+u}};const{getLast:Pm,hasNewline:Om,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Im,getNextNonSpaceNonCommentCharacter:jm,hasNewlineInRange:Lm,addLeadingComment:_m,addTrailingComment:Mm,addDanglingComment:Rm,getNextNonSpaceNonCommentCharacterIndex:$m,isNonEmptyArray:Vm}=fi,{isBlockComment:qm,getFunctionParameters:Wm,isPrettierIgnoreComment:Um,isJsxNode:zm,hasFlowShorthandAnnotationComment:Gm,hasFlowAnnotationComment:Hm,hasIgnoreComment:Jm,isCallLikeExpression:Xm,getCallArguments:Ym,isCallExpression:Km,isMemberExpression:Qm,isObjectProperty:Zm}=Gh,{locStart:ey,locEnd:ty}=Rl;function ny(e,t){const n=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));n?_m(n,t):Rm(e,t)}function ry(e,t){"BlockStatement"===e.type?ny(e,t):_m(e,t)}function iy({comment:e,followingNode:t}){return!(!t||!Oy(e))&&(_m(t,e),!0)}function uy({comment:e,precedingNode:t,enclosingNode:n,followingNode:r,text:i}){if(!n||"IfStatement"!==n.type||!r)return!1;return")"===jm(i,e,ty)?(Mm(t,e),!0):t===n.consequent&&r===n.alternate?("BlockStatement"===t.type?Mm(t,e):Rm(n,e),!0):"BlockStatement"===r.type?(ny(r,e),!0):"IfStatement"===r.type?(ry(r.consequent,e),!0):n.consequent===r&&(_m(r,e),!0)}function oy({comment:e,precedingNode:t,enclosingNode:n,followingNode:r,text:i}){if(!n||"WhileStatement"!==n.type||!r)return!1;return")"===jm(i,e,ty)?(Mm(t,e),!0):"BlockStatement"===r.type?(ny(r,e),!0):n.body===r&&(_m(r,e),!0)}function sy({comment:e,precedingNode:t,enclosingNode:n,followingNode:r}){return!(!n||"TryStatement"!==n.type&&"CatchClause"!==n.type||!r)&&("CatchClause"===n.type&&t?(Mm(t,e),!0):"BlockStatement"===r.type?(ny(r,e),!0):"TryStatement"===r.type?(ry(r.finalizer,e),!0):"CatchClause"===r.type&&(ry(r.body,e),!0))}function ay({comment:e,enclosingNode:t,followingNode:n}){return!(!Qm(t)||!n||"Identifier"!==n.type)&&(_m(t,e),!0)}function ly({comment:e,precedingNode:t,enclosingNode:n,followingNode:r,text:i}){const u=t&&!Lm(i,ty(t),ey(e));return!(t&&u||!n||"ConditionalExpression"!==n.type&&"TSConditionalType"!==n.type||!r)&&(_m(r,e),!0)}function cy({comment:e,precedingNode:t,enclosingNode:n}){return!(!Zm(n)||!n.shorthand||n.key!==t||"AssignmentPattern"!==n.value.type)&&(Mm(n.value.left,e),!0)}function py({comment:e,precedingNode:t,enclosingNode:n,followingNode:r}){if(n&&("ClassDeclaration"===n.type||"ClassExpression"===n.type||"DeclareClass"===n.type||"DeclareInterface"===n.type||"InterfaceDeclaration"===n.type||"TSInterfaceDeclaration"===n.type)){if(Vm(n.decorators)&&(!r||"Decorator"!==r.type))return Mm(Pm(n.decorators),e),!0;if(n.body&&r===n.body)return ny(n.body,e),!0;if(r)for(const i of["implements","extends","mixins"])if(n[i]&&r===n[i][0])return!t||t!==n.id&&t!==n.typeParameters&&t!==n.superClass?Rm(n,e,i):Mm(t,e),!0}return!1}function fy({comment:e,precedingNode:t,enclosingNode:n,text:r}){return(n&&t&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===t.type&&n.key===t&&":"!==jm(r,t,ty)||!(!t||!n||"Decorator"!==t.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"PropertyDefinition"!==n.type&&"TSAbstractClassProperty"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(Mm(t,e),!0)}function dy({comment:e,precedingNode:t,enclosingNode:n,text:r}){return"("===jm(r,e,ty)&&(!(!t||!n||"FunctionDeclaration"!==n.type&&"FunctionExpression"!==n.type&&"ClassMethod"!==n.type&&"MethodDefinition"!==n.type&&"ObjectMethod"!==n.type)&&(Mm(t,e),!0))}function hy({comment:e,enclosingNode:t,text:n}){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const r=$m(n,e,ty);return!1!==r&&"=>"===n.slice(r,r+2)&&(Rm(t,e),!0)}function gy({comment:e,enclosingNode:t,text:n}){return")"===jm(n,e,ty)&&(t&&(Py(t)&&0===Wm(t).length||Xm(t)&&0===Ym(t).length)?(Rm(t,e),!0):!(!t||"MethodDefinition"!==t.type&&"TSAbstractMethodDefinition"!==t.type||0!==Wm(t.value).length)&&(Rm(t.value,e),!0))}function my({comment:e,precedingNode:t,enclosingNode:n,followingNode:r,text:i}){if(t&&"FunctionTypeParam"===t.type&&n&&"FunctionTypeAnnotation"===n.type&&r&&"FunctionTypeParam"!==r.type)return Mm(t,e),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&n&&Py(n)&&")"===jm(i,e,ty))return Mm(t,e),!0;if(n&&"FunctionDeclaration"===n.type&&r&&"BlockStatement"===r.type){const t=(()=>{const e=Wm(n);if(e.length>0)return Im(i,ty(Pm(e)));const t=Im(i,ty(n.id));return!1!==t&&Im(i,t+1)})();if(ey(e)>t)return ny(r,e),!0}return!1}function yy({comment:e,enclosingNode:t}){return!(!t||"ImportSpecifier"!==t.type)&&(_m(t,e),!0)}function Dy({comment:e,enclosingNode:t}){return!(!t||"LabeledStatement"!==t.type)&&(_m(t,e),!0)}function Ey({comment:e,enclosingNode:t}){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(Mm(t,e),!0)}function by({comment:e,precedingNode:t,enclosingNode:n}){return!!(Km(n)&&t&&n.callee===t&&n.arguments.length>0)&&(_m(n.arguments[0],e),!0)}function Cy({comment:e,precedingNode:t,enclosingNode:n,followingNode:r}){return!n||"UnionTypeAnnotation"!==n.type&&"TSUnionType"!==n.type?(r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&Um(e)&&(r.types[0].prettierIgnore=!0,e.unignore=!0),!1):(Um(e)&&(r.prettierIgnore=!0,e.unignore=!0),!!t&&(Mm(t,e),!0))}function vy({comment:e,enclosingNode:t}){return!!Zm(t)&&(_m(t,e),!0)}function Ay({comment:e,enclosingNode:t,followingNode:n,ast:r,isLastComment:i}){return r&&r.body&&0===r.body.length?(i?Rm(r,e):_m(r,e),!0):t&&"Program"===t.type&&0===t.body.length&&!Vm(t.directives)?(i?Rm(t,e):_m(t,e),!0):!(!n||"Program"!==n.type||0!==n.body.length||!t||"ModuleExpression"!==t.type)&&(Rm(n,e),!0)}function Fy({comment:e,enclosingNode:t}){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(_m(t,e),!0)}function xy({comment:e,precedingNode:t,enclosingNode:n,text:r}){return!!(t&&"ImportSpecifier"===t.type&&n&&"ImportDeclaration"===n.type&&Om(r,ty(e)))&&(Mm(t,e),!0)}function Sy({comment:e,enclosingNode:t}){return!(!t||"AssignmentPattern"!==t.type)&&(_m(t,e),!0)}function wy({comment:e,enclosingNode:t}){return!(!t||"TypeAlias"!==t.type)&&(_m(t,e),!0)}function Ty({comment:e,enclosingNode:t,followingNode:n}){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&"TemplateLiteral"!==n.type&&"TaggedTemplateExpression"!==n.type&&!qm(e))&&(_m(n,e),!0)}function By({comment:e,enclosingNode:t,followingNode:n,text:r}){return!(n||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==jm(r,e,ty))&&(Mm(t,e),!0)}function ky({comment:e,enclosingNode:t,followingNode:n}){if(Um(e)&&t&&"TSMappedType"===t.type&&n&&"TSTypeParameter"===n.type&&n.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Ny({comment:e,precedingNode:t,enclosingNode:n,followingNode:r}){return!(!n||"TSMappedType"!==n.type)&&(r&&"TSTypeParameter"===r.type&&r.name?(_m(r.name,e),!0):!(!t||"TSTypeParameter"!==t.type||!t.constraint)&&(Mm(t.constraint,e),!0))}function Py(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Oy(e){return qm(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var Iy={handleOwnLineComment:function(e){return[ky,my,ay,uy,oy,sy,py,yy,Fy,Cy,Ay,xy,Sy,fy,Dy].some((t=>t(e)))},handleEndOfLineComment:function(e){return[iy,my,ly,yy,uy,oy,sy,py,Dy,by,vy,Ay,wy,Ty].some((t=>t(e)))},handleRemainingComment:function(e){return[ky,uy,oy,cy,gy,fy,Ay,hy,dy,Ny,Ey,By].some((t=>t(e)))},isTypeCastComment:Oy,getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser||"__babel_estree"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===Wm(e.value).length&&!e.value.returnType&&!Vm(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),n=e.getParentNode();return(t&&(zm(t)||Gm(t)||Km(n)&&(Hm(t.leadingComments)||Hm(t.trailingComments)))||n&&("JSXSpreadAttribute"===n.type||"JSXSpreadChild"===n.type||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type||("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===t))&&(!Jm(e)||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)}};const{getFunctionParameters:jy,getLeftSidePathName:Ly,hasFlowShorthandAnnotationComment:_y,hasNakedLeftSide:My,hasNode:Ry,isBitwiseOperator:$y,startsWithNoLookaheadToken:Vy,shouldFlatten:qy,getPrecedence:Wy,isCallExpression:Uy,isMemberExpression:zy,isObjectProperty:Gy}=Gh;function Hy(e,t){const n=e.getParentNode();if(!n)return!1;const r=e.getName(),i=e.getNode();if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&function(e){switch(e.type){case"ObjectExpression":return!0;default:return!1}}(i)&&Jy(e))return!0;if(function(e){return"BlockStatement"===e.type||"BreakStatement"===e.type||"ClassBody"===e.type||"ClassDeclaration"===e.type||"ClassMethod"===e.type||"ClassProperty"===e.type||"PropertyDefinition"===e.type||"ClassPrivateProperty"===e.type||"ContinueStatement"===e.type||"DebuggerStatement"===e.type||"DeclareClass"===e.type||"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type||"DeclareFunction"===e.type||"DeclareInterface"===e.type||"DeclareModule"===e.type||"DeclareModuleExports"===e.type||"DeclareVariable"===e.type||"DoWhileStatement"===e.type||"EnumDeclaration"===e.type||"ExportAllDeclaration"===e.type||"ExportDefaultDeclaration"===e.type||"ExportNamedDeclaration"===e.type||"ExpressionStatement"===e.type||"ForInStatement"===e.type||"ForOfStatement"===e.type||"ForStatement"===e.type||"FunctionDeclaration"===e.type||"IfStatement"===e.type||"ImportDeclaration"===e.type||"InterfaceDeclaration"===e.type||"LabeledStatement"===e.type||"MethodDefinition"===e.type||"ReturnStatement"===e.type||"SwitchStatement"===e.type||"ThrowStatement"===e.type||"TryStatement"===e.type||"TSDeclareFunction"===e.type||"TSEnumDeclaration"===e.type||"TSImportEqualsDeclaration"===e.type||"TSInterfaceDeclaration"===e.type||"TSModuleDeclaration"===e.type||"TSNamespaceExportDeclaration"===e.type||"TypeAlias"===e.type||"VariableDeclaration"===e.type||"WhileStatement"===e.type||"WithStatement"===e.type}(i))return!1;if("flow"!==t.parser&&_y(e.getValue()))return!0;if("Identifier"===i.type)return!!(i.extra&&i.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(i.name))||"left"===r&&"async"===i.name&&"ForOfStatement"===n.type&&!n.await;switch(n.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if("superClass"===r&&("ArrowFunctionExpression"===i.type||"AssignmentExpression"===i.type||"AwaitExpression"===i.type||"BinaryExpression"===i.type||"ConditionalExpression"===i.type||"LogicalExpression"===i.type||"NewExpression"===i.type||"ObjectExpression"===i.type||"ParenthesizedExpression"===i.type||"SequenceExpression"===i.type||"TaggedTemplateExpression"===i.type||"UnaryExpression"===i.type||"UpdateExpression"===i.type||"YieldExpression"===i.type||"TSNonNullExpression"===i.type))return!0;break;case"ExportDefaultDeclaration":return Xy(e,t)||"SequenceExpression"===i.type;case"Decorator":if("expression"===r){let e=!1,t=!1,n=i;for(;n;)switch(n.type){case"MemberExpression":t=!0,n=n.object;break;case"CallExpression":if(t||e)return!0;e=!0,n=n.callee;break;case"Identifier":return!1;default:return!0}return!0}break;case"ExpressionStatement":if(Vy(i,!0))return!0;break;case"ArrowFunctionExpression":if("body"===r&&"SequenceExpression"!==i.type&&Vy(i,!1))return!0}switch(i.type){case"UpdateExpression":if("UnaryExpression"===n.type)return i.prefix&&("++"===i.operator&&"+"===n.operator||"--"===i.operator&&"-"===n.operator);case"UnaryExpression":switch(n.type){case"UnaryExpression":return i.operator===n.operator&&("+"===i.operator||"-"===i.operator);case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"BinaryExpression":return"left"===r&&"**"===n.operator;case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":if("UpdateExpression"===n.type||"PipelineTopicExpression"===n.type&&"|>"===i.operator)return!0;if("in"===i.operator&&function(e){let t=0,n=e.getValue();for(;n;){const r=e.getParentNode(t++);if(r&&"ForStatement"===r.type&&r.init===n)return!0;n=r}return!1}(e))return!0;if("|>"===i.operator&&i.extra&&i.extra.parenthesized){const t=e.getParentNode(1);if("BinaryExpression"===t.type&&"|>"===t.operator)return!0}case"TSTypeAssertion":case"TSAsExpression":case"LogicalExpression":switch(n.type){case"TSAsExpression":return"TSAsExpression"!==i.type;case"ConditionalExpression":return"TSAsExpression"===i.type;case"CallExpression":case"NewExpression":case"OptionalCallExpression":return"callee"===r;case"ClassExpression":case"ClassDeclaration":return"superClass"===r;case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"AssignmentExpression":case"AssignmentPattern":return"left"===r&&("TSTypeAssertion"===i.type||"TSAsExpression"===i.type);case"LogicalExpression":if("LogicalExpression"===i.type)return n.operator!==i.operator;case"BinaryExpression":{const{operator:e,type:t}=i;if(!e&&"TSTypeAssertion"!==t)return!0;const u=Wy(e),o=n.operator,s=Wy(o);return s>u||("right"===r&&s===u||(s===u&&!qy(o,e)||(s"===n.operator);default:return!1}case"TSConditionalType":if("extendsType"===r&&"TSConditionalType"===n.type)return!0;case"TSFunctionType":case"TSConstructorType":if("checkType"===r&&"TSConditionalType"===n.type)return!0;case"TSUnionType":case"TSIntersectionType":if(("TSUnionType"===n.type||"TSIntersectionType"===n.type)&&n.types.length>1&&(!i.types||i.types.length>1))return!0;case"TSInferType":if("TSInferType"===i.type&&"TSRestType"===n.type)return!1;case"TSTypeOperator":return"TSArrayType"===n.type||"TSOptionalType"===n.type||"TSRestType"===n.type||"objectType"===r&&"TSIndexedAccessType"===n.type||"TSTypeOperator"===n.type||"TSTypeAnnotation"===n.type&&/^TSJSDoc/.test(e.getParentNode(1).type);case"ArrayTypeAnnotation":return"NullableTypeAnnotation"===n.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"ArrayTypeAnnotation"===n.type||"NullableTypeAnnotation"===n.type||"IntersectionTypeAnnotation"===n.type||"UnionTypeAnnotation"===n.type||"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"NullableTypeAnnotation":return"ArrayTypeAnnotation"===n.type||"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"FunctionTypeAnnotation":{const t="NullableTypeAnnotation"===n.type?e.getParentNode(1):n;return"UnionTypeAnnotation"===t.type||"IntersectionTypeAnnotation"===t.type||"ArrayTypeAnnotation"===t.type||"objectType"===r&&("IndexedAccessType"===t.type||"OptionalIndexedAccessType"===t.type)||"NullableTypeAnnotation"===t.type||"FunctionTypeParam"===n.type&&null===n.name&&jy(i).some((e=>e.typeAnnotation&&"NullableTypeAnnotation"===e.typeAnnotation.type))}case"OptionalIndexedAccessType":return"objectType"===r&&"IndexedAccessType"===n.type;case"TypeofTypeAnnotation":return"objectType"===r&&("IndexedAccessType"===n.type||"OptionalIndexedAccessType"===n.type);case"StringLiteral":case"NumericLiteral":case"Literal":if("string"==typeof i.value&&"ExpressionStatement"===n.type&&!n.directive){const t=e.getParentNode(1);return"Program"===t.type||"BlockStatement"===t.type}return"object"===r&&"MemberExpression"===n.type&&"number"==typeof i.value;case"AssignmentExpression":{const t=e.getParentNode(1);return"body"===r&&"ArrowFunctionExpression"===n.type||("key"!==r||"ClassProperty"!==n.type&&"PropertyDefinition"!==n.type||!n.computed)&&(("init"!==r&&"update"!==r||"ForStatement"!==n.type)&&("ExpressionStatement"===n.type?"ObjectPattern"===i.left.type:("key"!==r||"TSPropertySignature"!==n.type)&&("AssignmentExpression"!==n.type&&(("SequenceExpression"!==n.type||!t||"ForStatement"!==t.type||t.init!==n&&t.update!==n)&&(("value"!==r||"Property"!==n.type||!t||"ObjectPattern"!==t.type||!t.properties.includes(n))&&"NGChainedExpression"!==n.type)))))}case"ConditionalExpression":switch(n.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"ConditionalExpression":return"test"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;default:return!1}case"FunctionExpression":switch(n.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(n.type){case"PipelineTopicExpression":return Boolean(i.extra&&i.extra.parenthesized);case"BinaryExpression":return"|>"!==n.operator||i.extra&&i.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TSAsExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return"test"===r;default:return!1}case"ClassExpression":switch(n.type){case"NewExpression":return"callee"===r;default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":{const t=e.getParentNode(1);if("object"===r&&"MemberExpression"===n.type||"callee"===r&&("CallExpression"===n.type||"NewExpression"===n.type)||"TSNonNullExpression"===n.type&&"MemberExpression"===t.type&&t.object===n)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if("callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)){let e=i;for(;e;)switch(e.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":e=e.object;break;case"TaggedTemplateExpression":e=e.tag;break;case"TSNonNullExpression":e=e.expression;break;default:return!1}}return!1;case"BindExpression":return"callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)||"object"===r&&zy(n);case"NGPipeExpression":return!("NGRoot"===n.type||"NGMicrosyntaxExpression"===n.type||"ObjectProperty"===n.type&&(!i.extra||!i.extra.parenthesized)||"ArrayExpression"===n.type||Uy(n)&&n.arguments[r]===i||"right"===r&&"NGPipeExpression"===n.type||"property"===r&&"MemberExpression"===n.type||"AssignmentExpression"===n.type);case"JSXFragment":case"JSXElement":return"callee"===r||"left"===r&&"BinaryExpression"===n.type&&"<"===n.operator||"ArrayExpression"!==n.type&&"ArrowFunctionExpression"!==n.type&&"AssignmentExpression"!==n.type&&"AssignmentPattern"!==n.type&&"BinaryExpression"!==n.type&&"NewExpression"!==n.type&&"ConditionalExpression"!==n.type&&"ExpressionStatement"!==n.type&&"JsExpressionRoot"!==n.type&&"JSXAttribute"!==n.type&&"JSXElement"!==n.type&&"JSXExpressionContainer"!==n.type&&"JSXFragment"!==n.type&&"LogicalExpression"!==n.type&&!Uy(n)&&!Gy(n)&&"ReturnStatement"!==n.type&&"ThrowStatement"!==n.type&&"TypeCastExpression"!==n.type&&"VariableDeclarator"!==n.type&&"YieldExpression"!==n.type;case"TypeAnnotation":return"returnType"===r&&"ArrowFunctionExpression"===n.type&&function(e){return Ry(e,(e=>"ObjectTypeAnnotation"===e.type&&Ry(e,(e=>"FunctionTypeAnnotation"===e.type||void 0))||void 0))}(i)}return!1}function Jy(e){const t=e.getValue(),n=e.getParentNode(),r=e.getName();switch(n.type){case"NGPipeExpression":if("number"==typeof r&&n.arguments[r]===t&&n.arguments.length-1===r)return e.callParent(Jy);break;case"ObjectProperty":if("value"===r){const t=e.getParentNode(1);return Sn(t.properties)===n}break;case"BinaryExpression":case"LogicalExpression":if("right"===r)return e.callParent(Jy);break;case"ConditionalExpression":if("alternate"===r)return e.callParent(Jy);break;case"UnaryExpression":if(n.prefix)return e.callParent(Jy)}return!1}function Xy(e,t){const n=e.getValue(),r=e.getParentNode();return"FunctionExpression"===n.type||"ClassExpression"===n.type?"ExportDefaultDeclaration"===r.type||!Hy(e,t):!(!My(n)||"ExportDefaultDeclaration"!==r.type&&Hy(e,t))&&e.call((e=>Xy(e,t)),...Ly(e,n))}var Yy=Hy;var Ky=function(e,t){switch(t.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":return Object.assign(Object.assign({},e),{},{type:t.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:e,comments:[],rootMarker:t.rootMarker});default:return e}};const{builders:{join:Qy,line:Zy,group:eD,softline:tD,indent:nD}}=Ji;var rD={isVueEventBindingExpression:function e(t){switch(t.type){case"MemberExpression":switch(t.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return e(t.object)}return!1;case"Identifier":return!0;default:return!1}},printHtmlBinding:function(e,t,n){const r=e.getValue();if(t.__onHtmlBindingRoot&&null===e.getName()&&t.__onHtmlBindingRoot(r,t),"File"===r.type)return t.__isVueForBindingLeft?e.call((e=>{const t=Qy([",",Zy],e.map(n,"params")),{params:r}=e.getValue();return 1===r.length?t:["(",nD([tD,eD(t)]),tD,")"]}),"program","body",0):t.__isVueBindings?e.call((e=>Qy([",",Zy],e.map(n,"params"))),"program","body",0):void 0}};const{printComments:iD}=Wf,{getLast:uD}=fi,{builders:{join:oD,line:sD,softline:aD,group:lD,indent:cD,align:pD,ifBreak:fD,indentIfBreak:dD},utils:{cleanDoc:hD,getDocParts:gD,isConcat:mD}}=Ji,{hasLeadingOwnLineComment:yD,isBinaryish:DD,isJsxNode:ED,shouldFlatten:bD,hasComment:CD,CommentCheckFlags:vD,isCallExpression:AD,isMemberExpression:FD,isObjectProperty:xD}=Gh;let SD=0;function wD(e,t,n,r,i){let u=[];const o=e.getValue();if(DD(o)){bD(o.operator,o.left.operator)?u=[...u,...e.call((e=>wD(e,t,n,!0,i)),"left")]:u.push(lD(t("left")));const s=TD(o),a=("|>"===o.operator||"NGPipeExpression"===o.type||"|"===o.operator&&"__vue_expression"===n.parser)&&!yD(n.originalText,o.right),l="NGPipeExpression"===o.type?"|":o.operator,c="NGPipeExpression"===o.type&&o.arguments.length>0?lD(cD([aD,": ",oD([aD,":",fD(" ")],e.map(t,"arguments").map((e=>pD(2,lD(e)))))])):"",p=s?[l," ",t("right"),c]:[a?sD:"",l,a?" ":sD,t("right"),c],f=e.getParentNode(),d=CD(o.left,vD.Trailing|vD.Line),h=d||!(i&&"LogicalExpression"===o.type)&&f.type!==o.type&&o.left.type!==o.type&&o.right.type!==o.type;if(u.push(a?"":" ",h?lD(p,{shouldBreak:d}):p),r&&CD(o)){const t=hD(iD(e,u,n));u=mD(t)||"fill"===t.type?gD(t):[t]}}else u.push(lD(t()));return u}function TD(e){return"LogicalExpression"===e.type&&("ObjectExpression"===e.right.type&&e.right.properties.length>0||("ArrayExpression"===e.right.type&&e.right.elements.length>0||!!ED(e.right)))}var BD={printBinaryishExpression:function(e,t,n){const r=e.getValue(),i=e.getParentNode(),u=e.getParentNode(1),o=r!==i.body&&("IfStatement"===i.type||"WhileStatement"===i.type||"SwitchStatement"===i.type||"DoWhileStatement"===i.type),s=wD(e,n,t,!1,o);if(o)return s;if(AD(i)&&i.callee===r||"UnaryExpression"===i.type||FD(i)&&!i.computed)return lD([cD([aD,...s]),aD]);const a="ReturnStatement"===i.type||"ThrowStatement"===i.type||"JSXExpressionContainer"===i.type&&"JSXAttribute"===u.type||"|"!==r.operator&&"JsExpressionRoot"===i.type||"NGPipeExpression"!==r.type&&("NGRoot"===i.type&&"__ng_binding"===t.parser||"NGMicrosyntaxExpression"===i.type&&"NGMicrosyntax"===u.type&&1===u.body.length)||r===i.body&&"ArrowFunctionExpression"===i.type||r!==i.body&&"ForStatement"===i.type||"ConditionalExpression"===i.type&&"ReturnStatement"!==u.type&&"ThrowStatement"!==u.type&&!AD(u)||"TemplateLiteral"===i.type,l="AssignmentExpression"===i.type||"VariableDeclarator"===i.type||"ClassProperty"===i.type||"PropertyDefinition"===i.type||"TSAbstractClassProperty"===i.type||"ClassPrivateProperty"===i.type||xD(i),c=DD(r.left)&&bD(r.operator,r.left.operator);if(a||TD(r)&&!c||!TD(r)&&l)return lD(s);if(0===s.length)return"";const p=ED(r.right),f=s.findIndex((e=>"string"!=typeof e&&!Array.isArray(e)&&"group"===e.type)),d=s.slice(0,-1===f?1:f+1),h=s.slice(d.length,p?-1:void 0),g=Symbol("logicalChain-"+ ++SD),m=lD([...d,cD(h)],{id:g});if(!p)return m;const y=uD(s);return lD([m,dD(y,{groupId:g})])},shouldInlineLogicalExpression:TD};const{builders:{join:kD,line:ND,group:PD}}=Ji,{hasNode:OD,hasComment:ID,getComments:jD}=Gh,{printBinaryishExpression:LD}=BD;function _D(e,t,n){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===n.body[0].type&&null===n.body[0].value}var MD={printAngular:function(e,t,n){const r=e.getValue();if(r.type.startsWith("NG"))switch(r.type){case"NGRoot":return[n("node"),ID(r.node)?" //"+jD(r.node)[0].value.trimEnd():""];case"NGPipeExpression":return LD(e,t,n);case"NGChainedExpression":return PD(kD([";",ND],e.map((e=>function(e){return OD(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))}(e)?n():["(",n(),")"]),"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return[r.prefix,": ",r.value.trim()];case"NGMicrosyntax":return e.map(((e,t)=>[0===t?"":_D(e.getValue(),t,r)?" ":[";",ND],n()]),"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(r.name)?r.name:JSON.stringify(r.name);case"NGMicrosyntaxExpression":return[n("expression"),null===r.alias?"":[" as ",n("alias")]];case"NGMicrosyntaxKeyedExpression":{const t=e.getName(),i=e.getParentNode(),u=_D(r,t,i)||(1===t&&("then"===r.key.name||"else"===r.key.name)||2===t&&"else"===r.key.name&&"NGMicrosyntaxKeyedExpression"===i.body[t-1].type&&"then"===i.body[t-1].key.name)&&"NGMicrosyntaxExpression"===i.body[0].type;return[n("key"),u?" ":": ",n("expression")]}case"NGMicrosyntaxLet":return["let ",n("key"),null===r.value?"":[" = ",n("value")]];case"NGMicrosyntaxAs":return[n("key")," as ",n("alias")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(r.type)}.`)}}};const{printComments:RD,printDanglingComments:$D}=Wf,{builders:{line:VD,hardline:qD,softline:WD,group:UD,indent:zD,conditionalGroup:GD,fill:HD,ifBreak:JD,lineSuffixBoundary:XD,join:YD},utils:{willBreak:KD}}=Ji,{getLast:QD,getPreferredQuote:ZD}=fi,{isJsxNode:eE,rawText:tE,isLiteral:nE,isCallExpression:rE,isStringLiteral:iE,isBinaryish:uE,hasComment:oE,CommentCheckFlags:sE,hasNodeIgnoreComment:aE}=Gh,{willPrintOwnComments:lE}=Iy,cE=e=>""===e||e===VD||e===qD||e===WD;function pE(e,t,n){const r=e.getValue();if("JSXElement"===r.type&&function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return nE(t)&&!EE(t)}(r))return[n("openingElement"),n("closingElement")];const i="JSXElement"===r.type?n("openingElement"):n("openingFragment"),u="JSXElement"===r.type?n("closingElement"):n("closingFragment");if(1===r.children.length&&"JSXExpressionContainer"===r.children[0].type&&("TemplateLiteral"===r.children[0].expression.type||"TaggedTemplateExpression"===r.children[0].expression.type))return[i,...e.map(n,"children"),u];r.children=r.children.map((e=>function(e){return"JSXExpressionContainer"===e.type&&nE(e.expression)&&" "===e.expression.value&&!oE(e.expression)}(e)?{type:"JSXText",value:" ",raw:" "}:e));const o=r.children.filter(eE).length>0,s=r.children.filter((e=>"JSXExpressionContainer"===e.type)).length>1,a="JSXElement"===r.type&&r.openingElement.attributes.length>1;let l=KD(i)||o||a||s;const c="mdx"===e.getParentNode().rootMarker,p=t.singleQuote?"{' '}":'{" "}',f=c?" ":JD([p,WD]," "),d=function(e,t,n,r,i){const u=[];return e.each(((e,t,o)=>{const s=e.getValue();if(nE(s)){const e=tE(s);if(EE(s)){const n=e.split(mE);if(""===n[0]){if(u.push(""),n.shift(),/\n/.test(n[0])){const e=o[t+1];u.push(dE(i,n[1],s,e))}else u.push(r);n.shift()}let a;if(""===QD(n)&&(n.pop(),a=n.pop()),0===n.length)return;for(const[e,t]of n.entries())e%2==1?u.push(VD):u.push(t);if(void 0!==a)if(/\n/.test(a)){const e=o[t+1];u.push(dE(i,QD(u),s,e))}else u.push(r);else{const e=o[t+1];u.push(fE(i,QD(u),s,e))}}else/\n/.test(e)?e.match(/\n/g).length>1&&u.push("",qD):u.push("",r)}else{const e=n();u.push(e);const r=o[t+1];if(r&&EE(r)){const e=DE(tE(r)).split(mE)[0];u.push(fE(i,e,s,r))}else u.push(qD)}}),"children"),u}(e,0,n,f,r.openingElement&&r.openingElement.name&&"fbt"===r.openingElement.name.name),h=r.children.some((e=>EE(e)));for(let e=d.length-2;e>=0;e--){const t=""===d[e]&&""===d[e+1],n=d[e]===qD&&""===d[e+1]&&d[e+2]===qD,r=(d[e]===WD||d[e]===qD)&&""===d[e+1]&&d[e+2]===f,i=d[e]===f&&""===d[e+1]&&(d[e+2]===WD||d[e+2]===qD),u=d[e]===f&&""===d[e+1]&&d[e+2]===f,o=d[e]===WD&&""===d[e+1]&&d[e+2]===qD||d[e]===qD&&""===d[e+1]&&d[e+2]===WD;n&&h||t||r||u||o?d.splice(e,2):i&&d.splice(e+1,2)}for(;d.length>0&&cE(QD(d));)d.pop();for(;d.length>1&&cE(d[0])&&cE(d[1]);)d.shift(),d.shift();const g=[];for(const[e,t]of d.entries()){if(t===f){if(1===e&&""===d[e-1]){if(2===d.length){g.push(p);continue}g.push([p,qD]);continue}if(e===d.length-1){g.push(p);continue}if(""===d[e-1]&&d[e-2]===qD){g.push(p);continue}}g.push(t),KD(t)&&(l=!0)}const m=h?HD(g):UD(g,{shouldBreak:!0});if(c)return m;const y=UD([i,zD([qD,m]),qD,u]);return l?y:GD([UD([i,...d,u]),y])}function fE(e,t,n,r){return e?"":"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?1===t.length?WD:qD:WD}function dE(e,t,n,r){return e?qD:1===t.length?"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?qD:WD:qD}function hE(e,t,n){return function(e,t,n){const r=e.getParentNode();if(!r)return t;if({ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[r.type])return t;const i=e.match(void 0,(e=>"ArrowFunctionExpression"===e.type),rE,(e=>"JSXExpressionContainer"===e.type)),u=Yy(e,n);return UD([u?"":JD("("),zD([WD,t]),WD,u?"":JD(")")],{shouldBreak:i})}(e,RD(e,pE(e,t,n),t),t)}function gE(e,t,n){const r=e.getValue();return["{",e.call((e=>{const r=["...",n()],i=e.getValue();return oE(i)&&lE(e)?[zD([WD,RD(e,r,t)]),WD]:r}),"JSXSpreadAttribute"===r.type?"argument":"expression"),"}"]}const mE=new RegExp("([ \n\r\t]+)"),yE=new RegExp("[^ \n\r\t]"),DE=e=>e.replace(new RegExp("(?:^"+mE.source+"|"+mE.source+"$)"),"");function EE(e){return nE(e)&&(yE.test(tE(e))||!/\n/.test(tE(e)))}var bE={hasJsxIgnoreComment:function(e){const t=e.getValue(),n=e.getParentNode();if(!(n&&t&&eE(t)&&eE(n)))return!1;let r=null;for(let e=n.children.indexOf(t);e>0;e--){const t=n.children[e-1];if("JSXText"!==t.type||EE(t)){r=t;break}}return r&&"JSXExpressionContainer"===r.type&&"JSXEmptyExpression"===r.expression.type&&aE(r.expression)},printJsx:function(e,t,n){const r=e.getValue();if(r.type.startsWith("JSX"))switch(r.type){case"JSXAttribute":return function(e,t,n){const r=e.getValue(),i=[];if(i.push(n("name")),r.value){let e;if(iE(r.value)){let n=tE(r.value).replace(/'/g,"'").replace(/"/g,'"');const i=ZD(n,t.jsxSingleQuote?"'":'"'),u="'"===i?"'":""";n=n.slice(1,-1).replace(new RegExp(i,"g"),u),e=[i,n,i]}else e=n("value");i.push("=",e)}return i}(e,t,n);case"JSXIdentifier":return String(r.name);case"JSXNamespacedName":return YD(":",[n("namespace"),n("name")]);case"JSXMemberExpression":return YD(".",[n("object"),n("property")]);case"JSXSpreadAttribute":return gE(e,t,n);case"JSXSpreadChild":return gE(e,t,n);case"JSXExpressionContainer":return function(e,t,n){const r=e.getValue(),i=e.getParentNode(0),u="JSXEmptyExpression"===r.expression.type||!oE(r.expression)&&("ArrayExpression"===r.expression.type||"ObjectExpression"===r.expression.type||"ArrowFunctionExpression"===r.expression.type||rE(r.expression)||"FunctionExpression"===r.expression.type||"TemplateLiteral"===r.expression.type||"TaggedTemplateExpression"===r.expression.type||"DoExpression"===r.expression.type||eE(i)&&("ConditionalExpression"===r.expression.type||uE(r.expression)));return UD(u?["{",n("expression"),XD,"}"]:["{",zD([WD,n("expression")]),WD,XD,"}"])}(e,0,n);case"JSXFragment":case"JSXElement":return hE(e,t,n);case"JSXOpeningElement":return function(e,t,n){const r=e.getValue(),i=r.name&&oE(r.name)||r.typeParameters&&oE(r.typeParameters);if(r.selfClosing&&0===r.attributes.length&&!i)return["<",n("name"),n("typeParameters")," />"];if(r.attributes&&1===r.attributes.length&&r.attributes[0].value&&iE(r.attributes[0].value)&&!r.attributes[0].value.value.includes("\n")&&!i&&!oE(r.attributes[0]))return UD(["<",n("name"),n("typeParameters")," ",...e.map(n,"attributes"),r.selfClosing?" />":">"]);const u=r.attributes.length>0&&oE(QD(r.attributes),sE.Trailing),o=0===r.attributes.length&&!i||t.jsxBracketSameLine&&(!i||r.attributes.length>0)&&!u,s=r.attributes&&r.attributes.some((e=>e.value&&iE(e.value)&&e.value.value.includes("\n")));return UD(["<",n("name"),n("typeParameters"),zD(e.map((()=>[VD,n()]),"attributes")),r.selfClosing?VD:o?">":WD,r.selfClosing?"/>":o?"":">"],{shouldBreak:s})}(e,t,n);case"JSXClosingElement":return function(e,t,n){const r=e.getValue(),i=[];i.push(""),i}(e,0,n);case"JSXOpeningFragment":case"JSXClosingFragment":return function(e,t){const n=e.getValue(),r=oE(n),i=oE(n,sE.Line),u="JSXOpeningFragment"===n.type;return[u?"<":""]}(e,t);case"JSXEmptyExpression":return function(e,t){const n=e.getValue(),r=oE(n,sE.Line);return[$D(e,t,!r),r?qD:""]}(e,t);case"JSXText":throw new Error("JSXTest should be handled by JSXElement");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(r.type)}.`)}}};Me({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=B(this),n=be(t.length),r=Mn(t,0);return r.length=kn(r,t,t,n,0,void 0===e?1:De(e)),r}});const{isNonEmptyArray:CE}=fi,{builders:{indent:vE,join:AE,line:FE}}=Ji,{isFlowAnnotationComment:xE}=Gh;function SE(e,t,n){const r=e.getValue();if(!r.typeAnnotation)return"";const i=e.getParentNode(),u=r.definite||i&&"VariableDeclarator"===i.type&&i.definite,o="DeclareFunction"===i.type&&i.id===r;return xE(t.originalText,r.typeAnnotation)?[" /*: ",n("typeAnnotation")," */"]:[o?"":u?"!: ":": ",n("typeAnnotation")]}var wE={printOptionalToken:function(e){const t=e.getValue();return!t.optional||"Identifier"===t.type&&t===e.getParentNode().key?"":"OptionalCallExpression"===t.type||"OptionalMemberExpression"===t.type&&t.computed?"?.":"?"},printFunctionTypeParameters:function(e,t,n){const r=e.getValue();return r.typeArguments?n("typeArguments"):r.typeParameters?n("typeParameters"):""},printBindExpressionCallee:function(e,t,n){return["::",n("callee")]},printTypeScriptModifiers:function(e,t,n){const r=e.getValue();return CE(r.modifiers)?[AE(" ",e.map(n,"modifiers"))," "]:""},printTypeAnnotation:SE,printRestSpread:function(e,t,n){return["...",n("argument"),SE(e,t,n)]},adjustClause:function(e,t,n){return"EmptyStatement"===e.type?";":"BlockStatement"===e.type||n?[" ",t]:vE([FE,t])}};const{printDanglingComments:TE}=Wf,{builders:{line:BE,softline:kE,hardline:NE,group:PE,indent:OE,ifBreak:IE,fill:jE}}=Ji,{getLast:LE,hasNewline:_E}=fi,{shouldPrintComma:ME,hasComment:RE,CommentCheckFlags:$E,isNextLineEmpty:VE,isNumericLiteral:qE,isSignedNumericLiteral:WE}=Gh,{locStart:UE}=Rl,{printOptionalToken:zE,printTypeAnnotation:GE}=wE;function HE(e,t){return e.elements.length>1&&e.elements.every((e=>e&&(qE(e)||WE(e)&&!RE(e.argument))&&!RE(e,$E.Trailing|$E.Line,(e=>!_E(t.originalText,UE(e),{backwards:!0})))))}function JE(e,t,n,r){const i=[];let u=[];return e.each((e=>{i.push(u,PE(r())),u=[",",BE],e.getValue()&&VE(e.getValue(),t)&&u.push(kE)}),n),i}function XE(e,t,n,r){const i=[];return e.each(((e,u,o)=>{const s=u===o.length-1;i.push([n(),s?r:","]),s||i.push(VE(e.getValue(),t)?[NE,NE]:RE(o[u+1],$E.Leading|$E.Line)?NE:BE)}),"elements"),jE(i)}var YE={printArray:function(e,t,n){const r=e.getValue(),i=[],u="TupleExpression"===r.type?"#[":"[";if(0===r.elements.length)RE(r,$E.Dangling)?i.push(PE([u,TE(e,t),kE,"]"])):i.push(u,"]");else{const o=LE(r.elements),s=!(o&&"RestElement"===o.type),a=null===o,l=Symbol("array"),c=!t.__inJestEach&&r.elements.length>1&&r.elements.every(((e,t,n)=>{const r=e&&e.type;if("ArrayExpression"!==r&&"ObjectExpression"!==r)return!1;const i=n[t+1];if(i&&r!==i.type)return!1;const u="ArrayExpression"===r?"elements":"properties";return e[u]&&e[u].length>1})),p=HE(r,t),f=s?a?",":ME(t)?p?IE(",","",{groupId:l}):IE(","):"":"";i.push(PE([u,OE([kE,p?XE(e,t,n,f):[JE(e,t,"elements",n),f],TE(e,t,!0)]),kE,"]"],{shouldBreak:c,id:l}))}return i.push(zE(e),GE(e,t,n)),i},printArrayItems:JE,isConciselyPrintedArray:HE};const{printDanglingComments:KE}=Wf,{getLast:QE,getPenultimate:ZE}=fi,{getFunctionParameters:eb,hasComment:tb,CommentCheckFlags:nb,isFunctionCompositionArgs:rb,isJsxNode:ib,isLongCurriedCallExpression:ub,shouldPrintComma:ob,getCallArguments:sb,iterateCallArgumentsPath:ab,isNextLineEmpty:lb,isCallExpression:cb,isStringLiteral:pb,isObjectProperty:fb}=Gh,{builders:{line:db,hardline:hb,softline:gb,group:mb,indent:yb,conditionalGroup:Db,ifBreak:Eb,breakParent:bb},utils:{willBreak:Cb}}=Ji,{ArgExpansionBailout:vb}=go,{isConciselyPrintedArray:Ab}=YE;function Fb(e,t=!1){return"ObjectExpression"===e.type&&(e.properties.length>0||tb(e))||"ArrayExpression"===e.type&&(e.elements.length>0||tb(e))||"TSTypeAssertion"===e.type&&Fb(e.expression)||"TSAsExpression"===e.type&&Fb(e.expression)||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&(!e.returnType||!e.returnType.typeAnnotation||"TSTypeReference"!==e.returnType.typeAnnotation.type||"BlockStatement"===(n=e.body).type&&(n.body.some((e=>"EmptyStatement"!==e.type))||tb(n,nb.Dangling)))&&("BlockStatement"===e.body.type||"ArrowFunctionExpression"===e.body.type&&Fb(e.body,!0)||"ObjectExpression"===e.body.type||"ArrayExpression"===e.body.type||!t&&(cb(e.body)||"ConditionalExpression"===e.body.type)||ib(e.body))||"DoExpression"===e.type||"ModuleExpression"===e.type;var n}var xb=function(e,t,n){const r=e.getValue(),i="ImportExpression"===r.type,u=sb(r);if(0===u.length)return["(",KE(e,t,!0),")"];if(function(e){return 2===e.length&&"ArrowFunctionExpression"===e[0].type&&0===eb(e[0]).length&&"BlockStatement"===e[0].body.type&&"ArrayExpression"===e[1].type&&!e.some((e=>tb(e)))}(u))return["(",n(["arguments",0]),", ",n(["arguments",1]),")"];let o=!1,s=!1;const a=u.length-1,l=[];ab(e,((e,r)=>{const i=e.getNode(),u=[n()];r===a||(lb(i,t)?(0===r&&(s=!0),o=!0,u.push(",",hb,hb)):u.push(",",db)),l.push(u)}));const c=i||r.callee&&"Import"===r.callee.type||!ob(t,"all")?"":",";function p(){return mb(["(",yb([db,...l]),c,db,")"],{shouldBreak:!0})}if(o||"Decorator"!==e.getParentNode().type&&rb(u))return p();const f=function(e){if(2!==e.length)return!1;const[t,n]=e;if("ModuleExpression"===t.type&&function(e){return"ObjectExpression"===e.type&&1===e.properties.length&&fb(e.properties[0])&&"Identifier"===e.properties[0].key.type&&"type"===e.properties[0].key.name&&pb(e.properties[0].value)&&"module"===e.properties[0].value.value}(n))return!0;return!tb(t)&&("FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"===t.body.type)&&"FunctionExpression"!==n.type&&"ArrowFunctionExpression"!==n.type&&"ConditionalExpression"!==n.type&&!Fb(n)}(u),d=function(e,t){const n=QE(e),r=ZE(e);return!tb(n,nb.Leading)&&!tb(n,nb.Trailing)&&Fb(n)&&(!r||r.type!==n.type)&&(2!==e.length||"ArrowFunctionExpression"!==r.type||"ArrayExpression"!==n.type)&&!(e.length>1&&"ArrayExpression"===n.type&&Ab(n,t))}(u,t);if(f||d){if(f?l.slice(1).some(Cb):l.slice(0,-1).some(Cb))return p();let t=[];try{e.try((()=>{ab(e,((e,r)=>{f&&0===r&&(t=[[n([],{expandFirstArg:!0}),l.length>1?",":"",s?hb:db,s?hb:""],...l.slice(1)]),d&&r===a&&(t=[...l.slice(0,-1),n([],{expandLastArg:!0})])}))}))}catch(e){if(e instanceof vb)return p();throw e}return[l.some(Cb)?bb:"",Db([["(",...t,")"],f?["(",mb(t[0],{shouldBreak:!0}),...t.slice(1),")"]:["(",...l.slice(0,-1),mb(QE(t),{shouldBreak:!0}),")"],p()])]}const h=["(",yb([gb,...l]),Eb(c),gb,")"];return ub(e)?h:mb(h,{shouldBreak:l.some(Cb)||o})};const{builders:{softline:Sb,group:wb,indent:Tb,label:Bb}}=Ji,{isNumericLiteral:kb,isMemberExpression:Nb,isCallExpression:Pb}=Gh,{printOptionalToken:Ob}=wE;function Ib(e,t,n){const r=n("property"),i=e.getValue(),u=Ob(e);return i.computed?!i.property||kb(i.property)?[u,"[",r,"]"]:wb([u,"[",Tb([Sb,r]),Sb,"]"]):[u,".",r]}var jb={printMemberExpression:function(e,t,n){const r=e.getValue(),i=e.getParentNode();let u,o=0;do{u=e.getParentNode(o),o++}while(u&&(Nb(u)||"TSNonNullExpression"===u.type));const s=n("object"),a=Ib(e,t,n),l=u&&("NewExpression"===u.type||"BindExpression"===u.type||"AssignmentExpression"===u.type&&"Identifier"!==u.left.type)||r.computed||"Identifier"===r.object.type&&"Identifier"===r.property.type&&!Nb(i)||("AssignmentExpression"===i.type||"VariableDeclarator"===i.type)&&(Pb(r.object)&&r.object.arguments.length>0||"TSNonNullExpression"===r.object.type&&Pb(r.object.expression)&&r.object.expression.arguments.length>0||"member-chain"===s.label);return Bb("member-chain"===s.label?"member-chain":"member",[s,l?a:wb(Tb([Sb,a]))])},printMemberLookup:Ib};const{printComments:Lb}=Wf,{getLast:_b,isNextLineEmptyAfterIndex:Mb,getNextNonSpaceNonCommentCharacterIndex:Rb}=fi,{isCallExpression:$b,isMemberExpression:Vb,isFunctionOrArrowExpression:qb,isLongCurriedCallExpression:Wb,isMemberish:Ub,isNumericLiteral:zb,isSimpleCallArgument:Gb,hasComment:Hb,CommentCheckFlags:Jb,isNextLineEmpty:Xb}=Gh,{locEnd:Yb}=Rl,{builders:{join:Kb,hardline:Qb,group:Zb,indent:eC,conditionalGroup:tC,breakParent:nC,label:rC},utils:{willBreak:iC}}=Ji,{printMemberLookup:uC}=jb,{printOptionalToken:oC,printFunctionTypeParameters:sC,printBindExpressionCallee:aC}=wE;var lC=function(e,t,n){const r=e.getParentNode(),i=!r||"ExpressionStatement"===r.type,u=[];function o(e){const{originalText:n}=t,r=Rb(n,e,Yb);return")"===n.charAt(r)?!1!==r&&Mb(n,r+1):Xb(e,t)}function s(e){const r=e.getValue();$b(r)&&(Ub(r.callee)||$b(r.callee))?(u.unshift({node:r,printed:[Lb(e,[oC(e),sC(e,t,n),xb(e,t,n)],t),o(r)?Qb:""]}),e.call((e=>s(e)),"callee")):Ub(r)?(u.unshift({node:r,needsParens:Yy(e,t),printed:Lb(e,Vb(r)?uC(e,t,n):aC(e,t,n),t)}),e.call((e=>s(e)),"object")):"TSNonNullExpression"===r.type?(u.unshift({node:r,printed:Lb(e,"!",t)}),e.call((e=>s(e)),"expression")):u.unshift({node:r,printed:n()})}const a=e.getValue();u.unshift({node:a,printed:[oC(e),sC(e,t,n),xb(e,t,n)]}),a.callee&&e.call((e=>s(e)),"callee");const l=[];let c=[u[0]],p=1;for(;p0&&l.push(c);const h=l.length>=2&&!Hb(l[1][0].node)&&function(e){const n=e[1].length>0&&e[1][0].node.computed;if(1===e[0].length){const r=e[0][0].node;return"ThisExpression"===r.type||"Identifier"===r.type&&(d(r.name)||i&&function(e){return e.length<=t.tabWidth}(r.name)||n)}const r=_b(e[0]).node;return Vb(r)&&"Identifier"===r.property.type&&(d(r.property.name)||n)}(l);function g(e){const t=e.map((e=>e.printed));return e.length>0&&_b(e).needsParens?["(",...t,")"]:t}const m=l.map(g),y=m,D=h?3:2,E=l.flat(),b=E.slice(1,-1).some((e=>Hb(e.node,Jb.Leading)))||E.slice(0,-1).some((e=>Hb(e.node,Jb.Trailing)))||l[D]&&Hb(l[D][0].node,Jb.Leading);if(l.length<=D&&!b)return Wb(e)?y:Zb(y);const C=_b(l[h?1:0]).node,v=!$b(C)&&o(C),A=[g(l[0]),h?l.slice(1,2).map(g):"",v?Qb:"",function(e){return 0===e.length?"":eC(Zb([Qb,Kb(Qb,e.map(g))]))}(l.slice(h?2:1))],F=u.map((({node:e})=>e)).filter($b);let x;return x=b||F.length>2&&F.some((e=>!e.arguments.every((e=>Gb(e,0)))))||m.slice(0,-1).some(iC)||function(){const e=_b(_b(l)).node,t=_b(m);return $b(e)&&iC(t)&&F.slice(0,-1).some((e=>e.arguments.some(qb)))}()?Zb(A):[iC(y)||v?nC:"",tC([y,A])],rC("member-chain",x)};const{builders:{join:cC,group:pC}}=Ji,{getCallArguments:fC,hasFlowAnnotationComment:dC,isCallExpression:hC,isMemberish:gC,isStringLiteral:mC,isTemplateOnItsOwnLine:yC,isTestCall:DC,iterateCallArgumentsPath:EC}=Gh,{printOptionalToken:bC,printFunctionTypeParameters:CC}=wE;var vC={printCallExpression:function(e,t,n){const r=e.getValue(),i=e.getParentNode(),u="NewExpression"===r.type,o="ImportExpression"===r.type,s=bC(e),a=fC(r);if(a.length>0&&(!o&&!u&&function(e,t){if("Identifier"!==e.callee.type)return!1;if("require"===e.callee.name)return!0;if("define"===e.callee.name){const n=fC(e);return"ExpressionStatement"===t.type&&(1===n.length||2===n.length&&"ArrayExpression"===n[0].type||3===n.length&&mC(n[0])&&"ArrayExpression"===n[1].type)}return!1}(r,i)||1===a.length&&yC(a[0],t.originalText)||!u&&DC(r,i))){const r=[];return EC(e,(()=>{r.push(n())})),[u?"new ":"",n("callee"),s,CC(e,t,n),"(",cC(", ",r),")"]}const l=("babel"===t.parser||"babel-flow"===t.parser)&&r.callee&&"Identifier"===r.callee.type&&dC(r.callee.trailingComments);if(l&&(r.callee.trailingComments[0].printed=!0),!o&&!u&&gC(r.callee)&&!e.call((e=>Yy(e,t)),"callee"))return lC(e,t,n);const c=[u?"new ":"",o?"import":n("callee"),s,l?`/*:: ${r.callee.trailingComments[0].value.slice(2).trim()} */`:"",CC(e,t,n),xb(e,t,n)];return o||hC(r.callee)?pC(c):c}};const{isNonEmptyArray:AC,getStringWidth:FC}=fi,{builders:{line:xC,group:SC,indent:wC,indentIfBreak:TC},utils:{cleanDoc:BC,willBreak:kC}}=Ji,{hasLeadingOwnLineComment:NC,isBinaryish:PC,isStringLiteral:OC,isLiteral:IC,isNumericLiteral:jC,isCallExpression:LC,isMemberExpression:_C,getCallArguments:MC,rawText:RC,hasComment:$C,isSignedNumericLiteral:VC,isObjectProperty:qC}=Gh,{shouldInlineLogicalExpression:WC}=BD,{printCallExpression:UC}=vC;function zC(e,t,n,r,i,u){const o=function(e,t,n,r,i){const u=e.getValue(),o=u[i];if(!o)return"only-left";const s=!GC(o);if(e.match(GC,HC,(e=>!s||"ExpressionStatement"!==e.type&&"VariableDeclaration"!==e.type)))return s?"ArrowFunctionExpression"===o.type&&"ArrowFunctionExpression"===o.body.type?"chain-tail-arrow-chain":"chain-tail":"chain";if(!s&&GC(o.right)||NC(t.originalText,o))return"break-after-operator";if("CallExpression"===o.type&&"require"===o.callee.name||"json5"===t.parser||"json"===t.parser)return"never-break-after-operator";if(function(e){if(HC(e)){const t=e.left||e.id;return"ObjectPattern"===t.type&&t.properties.length>2&&t.properties.some((e=>qC(e)&&(!e.shorthand||e.value&&"AssignmentPattern"===e.value.type)))}return!1}(u)||function(e){const t=function(e){if(function(e){return"TSTypeAliasDeclaration"===e.type||"TypeAlias"===e.type}(e)&&e.typeParameters&&e.typeParameters.params)return e.typeParameters.params;return null}(e);if(AC(t)){const n="TSTypeAliasDeclaration"===e.type?"constraint":"bound";if(t.length>1&&t.some((e=>e[n]||e.default)))return!0}return!1}(u)||function(e){if("VariableDeclarator"!==e.type)return!1;const{typeAnnotation:t}=e.id;if(!t||!t.typeAnnotation)return!1;const n=JC(t.typeAnnotation);return AC(n)&&n.length>1&&n.some((e=>AC(JC(e))||"TSConditionalType"===e.type))}(u))return"break-lhs";const a=function(e,t,n){if(!qC(e))return!1;t=BC(t);const r=3;return"string"==typeof t&&FC(t)function(e,t,n,r){const i=e.getValue();if(PC(i)&&!WC(i))return!0;switch(i.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"ConditionalExpression":{const{test:e}=i;return PC(e)&&!WC(e)}case"ClassExpression":return AC(i.decorators)}if(r)return!1;let u=i;const o=[];for(;;)if("UnaryExpression"===u.type)u=u.argument,o.push("argument");else{if("TSNonNullExpression"!==u.type)break;u=u.expression,o.push("expression")}if(OC(u)||e.call((()=>XC(e,t,n)),...o))return!0;return!1}(e,t,n,a)),i))return"break-after-operator";if(a||"TemplateLiteral"===o.type||"TaggedTemplateExpression"===o.type||"BooleanLiteral"===o.type||jC(o)||"ClassExpression"===o.type)return"never-break-after-operator";return"fluid"}(e,t,n,r,u),s=n(u,{assignmentLayout:o});switch(o){case"break-after-operator":return SC([SC(r),i,SC(wC([xC,s]))]);case"never-break-after-operator":return SC([SC(r),i," ",s]);case"fluid":{const e=Symbol("assignment");return SC([SC(r),i,SC(wC(xC),{id:e}),TC(s,{groupId:e})])}case"break-lhs":return SC([r,i," ",SC(s)]);case"chain":return[SC(r),i,xC,s];case"chain-tail":return[SC(r),i,wC([xC,s])];case"chain-tail-arrow-chain":return[SC(r),i,s];case"only-left":return r}}function GC(e){return"AssignmentExpression"===e.type}function HC(e){return GC(e)||"VariableDeclarator"===e.type}function JC(e){return function(e){return"TSTypeReference"===e.type||"GenericTypeAnnotation"===e.type}(e)&&e.typeParameters&&e.typeParameters.params?e.typeParameters.params:null}function XC(e,t,n,r=!1){const i=e.getValue(),u=()=>XC(e,t,n,!0);if("TSNonNullExpression"===i.type)return e.call(u,"expression");if(LC(i)){if("member-chain"===UC(e,t,n).label)return!1;const r=MC(i);return!!(0===r.length||1===r.length&&function(e,{printWidth:t}){if($C(e))return!1;const n=.25*t;if("ThisExpression"===e.type||"Identifier"===e.type&&e.name.length<=n||VC(e)&&!$C(e.argument))return!0;const r="Literal"===e.type&&"regex"in e&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;if(r)return r.length<=n;if(OC(e))return RC(e).length<=n;if("TemplateLiteral"===e.type)return 0===e.expressions.length&&e.quasis[0].value.raw.length<=n&&!e.quasis[0].value.raw.includes("\n");return IC(e)}(r[0],t))&&(!function(e,t){const n=function(e){return e.typeParameters&&e.typeParameters.params||e.typeArguments&&e.typeArguments.params}(e);if(AC(n)){if(n.length>1)return!0;if(1===n.length){const e=n[0];if("TSUnionType"===e.type||"UnionTypeAnnotation"===e.type||"TSIntersectionType"===e.type||"IntersectionTypeAnnotation"===e.type)return!0}const r=e.typeParameters?"typeParameters":"typeArguments";if(kC(t(r)))return!0}return!1}(i,n)&&e.call(u,"callee"))}return _C(i)?e.call(u,"object"):r&&("Identifier"===i.type||"ThisExpression"===i.type)}var YC={printVariableDeclarator:function(e,t,n){return zC(e,t,n,n("id")," =","init")},printAssignmentExpression:function(e,t,n){const r=e.getValue();return zC(e,t,n,n("left"),[" ",r.operator],"right")},printAssignment:zC};const{getNextNonSpaceNonCommentCharacter:KC}=fi,{printDanglingComments:QC}=Wf,{builders:{line:ZC,hardline:ev,softline:tv,group:nv,indent:rv,ifBreak:iv},utils:{removeLines:uv,willBreak:ov}}=Ji,{getFunctionParameters:sv,iterateFunctionParametersPath:av,isSimpleType:lv,isTestCall:cv,isTypeAnnotationAFunction:pv,isObjectType:fv,isObjectTypePropertyAFunction:dv,hasRestParameter:hv,shouldPrintComma:gv,hasComment:mv,isNextLineEmpty:yv}=Gh,{locEnd:Dv}=Rl,{ArgExpansionBailout:Ev}=go,{printFunctionTypeParameters:bv}=wE;function Cv(e){if(!e)return!1;const t=sv(e);if(1!==t.length)return!1;const[n]=t;return!mv(n)&&("ObjectPattern"===n.type||"ArrayPattern"===n.type||"Identifier"===n.type&&n.typeAnnotation&&("TypeAnnotation"===n.typeAnnotation.type||"TSTypeAnnotation"===n.typeAnnotation.type)&&fv(n.typeAnnotation.typeAnnotation)||"FunctionTypeParam"===n.type&&fv(n.typeAnnotation)||"AssignmentPattern"===n.type&&("ObjectPattern"===n.left.type||"ArrayPattern"===n.left.type)&&("Identifier"===n.right.type||"ObjectExpression"===n.right.type&&0===n.right.properties.length||"ArrayExpression"===n.right.type&&0===n.right.elements.length))}var vv={printFunctionParameters:function(e,t,n,r,i){const u=e.getValue(),o=sv(u),s=i?bv(e,n,t):"";if(0===o.length)return[s,"(",QC(e,n,!0,(e=>")"===KC(n.originalText,e,Dv))),")"];const a=e.getParentNode(),l=cv(a),c=Cv(u),p=[];if(av(e,((e,r)=>{const i=r===o.length-1;i&&u.rest&&p.push("..."),p.push(t()),i||(p.push(","),l||c?p.push(" "):yv(o[r],n)?p.push(ev,ev):p.push(ZC))})),r){if(ov(s)||ov(p))throw new Ev;return nv([uv(s),"(",uv(p),")"])}const f=o.every((e=>!e.decorators));return c&&f||l?[s,"(",...p,")"]:(dv(a)||pv(a)||"TypeAlias"===a.type||"UnionTypeAnnotation"===a.type||"TSUnionType"===a.type||"IntersectionTypeAnnotation"===a.type||"FunctionTypeAnnotation"===a.type&&a.returnType===u)&&1===o.length&&null===o[0].name&&u.this!==o[0]&&o[0].typeAnnotation&&null===u.typeParameters&&lv(o[0].typeAnnotation)&&!u.rest?"always"===n.arrowParens?["(",...p,")"]:p:[s,"(",rv([tv,...p]),iv(!hv(u)&&gv(n,"all")?",":""),tv,")"]},shouldHugFunctionParameters:Cv,shouldGroupFunctionParameters:function(e,t){const n=function(e){let t;return e.returnType?(t=e.returnType,t.typeAnnotation&&(t=t.typeAnnotation)):e.typeAnnotation&&(t=e.typeAnnotation),t}(e);if(!n)return!1;const r=e.typeParameters&&e.typeParameters.params;if(r){if(r.length>1)return!1;if(1===r.length){const e=r[0];if(e.constraint||e.default)return!1}}return 1===sv(e).length&&(fv(n)||ov(t))}};const{printComments:Av,printDanglingComments:Fv}=Wf,{getLast:xv}=fi,{builders:{group:Sv,join:wv,line:Tv,softline:Bv,indent:kv,align:Nv,ifBreak:Pv}}=Ji,{locStart:Ov}=Rl,{isSimpleType:Iv,isObjectType:jv,hasLeadingOwnLineComment:Lv,isObjectTypePropertyAFunction:_v,shouldPrintComma:Mv}=Gh,{printAssignment:Rv}=YC,{printFunctionParameters:$v,shouldGroupFunctionParameters:Vv}=vv,{printArrayItems:qv}=YE;function Wv(e){if(Iv(e)||jv(e))return!0;if("UnionTypeAnnotation"===e.type||"TSUnionType"===e.type){const t=e.types.filter((e=>"VoidTypeAnnotation"===e.type||"TSVoidKeyword"===e.type||"NullLiteralTypeAnnotation"===e.type||"TSNullKeyword"===e.type)).length,n=e.types.some((e=>"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"GenericTypeAnnotation"===e.type||"TSTypeReference"===e.type));if(e.types.length-1===t&&n)return!0}return!1}var Uv={printOpaqueType:function(e,t,n){const r=t.semi?";":"",i=e.getValue(),u=[];return u.push("opaque type ",n("id"),n("typeParameters")),i.supertype&&u.push(": ",n("supertype")),i.impltype&&u.push(" = ",n("impltype")),u.push(r),u},printTypeAlias:function(e,t,n){const r=t.semi?";":"",i=e.getValue(),u=[];i.declare&&u.push("declare "),u.push("type ",n("id"),n("typeParameters"));const o="TSTypeAliasDeclaration"===i.type?"typeAnnotation":"right";return[Rv(e,t,n,u," =",o),r]},printIntersectionType:function(e,t,n){const r=e.getValue(),i=e.map(n,"types"),u=[];let o=!1;for(let e=0;e1&&(o=!0),u.push(" & ",e>1?kv(i[e]):i[e])):u.push(kv([" &",Tv,i[e]]));return Sv(u)},printUnionType:function(e,t,n){const r=e.getValue(),i=e.getParentNode(),u=!("TypeParameterInstantiation"===i.type||"TSTypeParameterInstantiation"===i.type||"GenericTypeAnnotation"===i.type||"TSTypeReference"===i.type||"TSTypeAssertion"===i.type||"TupleTypeAnnotation"===i.type||"TSTupleType"===i.type||"FunctionTypeParam"===i.type&&!i.name&&e.getParentNode(1).this!==i||("TypeAlias"===i.type||"VariableDeclarator"===i.type||"TSTypeAliasDeclaration"===i.type)&&Lv(t.originalText,r)),o=Wv(r),s=e.map((e=>{let r=n();return o||(r=Nv(2,r)),Av(e,r,t)}),"types");if(o)return wv(" | ",s);const a=u&&!Lv(t.originalText,r),l=[Pv([a?Tv:"","| "]),wv([Tv,"| "],s)];return Yy(e,t)?Sv([kv(l),Bv]):"TupleTypeAnnotation"===i.type&&i.types.length>1||"TSTupleType"===i.type&&i.elementTypes.length>1?Sv([kv([Pv(["(",Bv]),l]),Bv,Pv(")")]):Sv(u?kv(l):l)},printFunctionType:function(e,t,n){const r=e.getValue(),i=[],u=e.getParentNode(0),o=e.getParentNode(1),s=e.getParentNode(2);let a="TSFunctionType"===r.type||!(("ObjectTypeProperty"===u.type||"ObjectTypeInternalSlot"===u.type)&&!u.variance&&!u.optional&&Ov(u)===Ov(r)||"ObjectTypeCallProperty"===u.type||s&&"DeclareFunction"===s.type),l=a&&("TypeAnnotation"===u.type||"TSTypeAnnotation"===u.type);const c=l&&a&&("TypeAnnotation"===u.type||"TSTypeAnnotation"===u.type)&&"ArrowFunctionExpression"===o.type;_v(u)&&(a=!0,l=!0),c&&i.push("(");const p=$v(e,n,t,!1,!0),f=r.returnType||r.predicate||r.typeAnnotation?[a?" => ":": ",n("returnType"),n("predicate"),n("typeAnnotation")]:"",d=Vv(r,f);return i.push(d?Sv(p):p),f&&i.push(f),c&&i.push(")"),Sv(i)},printTupleType:function(e,t,n){const r=e.getValue(),i="TSTupleType"===r.type?"elementTypes":"types",u=r[i].length>0&&"TSRestType"===xv(r[i]).type;return Sv(["[",kv([Bv,qv(e,t,i,n)]),Pv(Mv(t,"all")&&!u?",":""),Fv(e,t,!0),Bv,"]"])},printIndexedAccessType:function(e,t,n){const r=e.getValue(),i="OptionalIndexedAccessType"===r.type&&r.optional?"?.[":"[";return[n("objectType"),i,n("indexType"),"]"]},shouldHugType:Wv};const{printDanglingComments:zv}=Wf,{builders:{join:Gv,line:Hv,hardline:Jv,softline:Xv,group:Yv,indent:Kv,ifBreak:Qv}}=Ji,{isTestCall:Zv,hasComment:eA,CommentCheckFlags:tA,isTSXFile:nA,shouldPrintComma:rA,getFunctionParameters:iA}=Gh,{createGroupIdMapper:uA}=fi,{shouldHugType:oA}=Uv,sA=uA("typeParameters");function aA(e,t){const n=e.getValue();if(!eA(n,tA.Dangling))return"";const r=!eA(n,tA.Line),i=zv(e,t,r);return r?i:[i,Jv]}var lA={printTypeParameter:function(e,t,n){const r=e.getValue(),i=[],u=e.getParentNode();return"TSMappedType"===u.type?(i.push("[",n("name")),r.constraint&&i.push(" in ",n("constraint")),u.nameType&&i.push(" as ",e.callParent((()=>n("nameType")))),i.push("]"),i):(r.variance&&i.push(n("variance")),i.push(n("name")),r.bound&&i.push(": ",n("bound")),r.constraint&&i.push(" extends ",n("constraint")),r.default&&i.push(" = ",n("default")),i)},printTypeParameters:function(e,t,n,r){const i=e.getValue();if(!i[r])return"";if(!Array.isArray(i[r]))return n(r);const u=e.getNode(2);if(u&&Zv(u)||0===i[r].length||1===i[r].length&&(oA(i[r][0])||"NullableTypeAnnotation"===i[r][0].type))return["<",Gv(", ",e.map(n,r)),aA(e,t),">"];const o="TSTypeParameterInstantiation"===i.type?"":1===iA(i).length&&nA(t)&&!i[r][0].constraint&&"ArrowFunctionExpression"===e.getParentNode().type?",":rA(t,"all")?Qv(","):"";return Yv(["<",Kv([Xv,Gv([",",Hv],e.map(n,r))]),o,Xv,">"],{id:sA(i)})},getTypeParametersGroupId:sA};const{printComments:cA}=Wf,{printString:pA,printNumber:fA}=fi,{isNumericLiteral:dA,isSimpleNumber:hA,isStringLiteral:gA,isStringPropSafeToUnquote:mA,rawText:yA}=Gh,{printAssignment:DA}=YC,EA=new WeakMap;function bA(e,t,n){const r=e.getNode();if(r.computed)return["[",n("key"),"]"];const i=e.getParentNode(),{key:u}=r;if("ClassPrivateProperty"===r.type&&"Identifier"===u.type)return["#",n("key")];if("consistent"===t.quoteProps&&!EA.has(i)){const e=(i.properties||i.body||i.members).some((e=>!e.computed&&e.key&&gA(e.key)&&!mA(e,t)));EA.set(i,e)}if(("Identifier"===u.type||dA(u)&&hA(fA(yA(u)))&&String(u.value)===fA(yA(u))&&"typescript"!==t.parser&&"babel-ts"!==t.parser)&&("json"===t.parser||"consistent"===t.quoteProps&&EA.get(i))){const n=pA(JSON.stringify("Identifier"===u.type?u.name:u.value.toString()),t);return e.call((e=>cA(e,n,t)),"key")}return mA(r,t)&&("as-needed"===t.quoteProps||"consistent"===t.quoteProps&&!EA.get(i))?e.call((e=>cA(e,/^\d/.test(u.value)?fA(u.value):u.value,t)),"key"):n("key")}var CA={printProperty:function(e,t,n){return e.getValue().shorthand?n("value"):DA(e,t,n,bA(e,t,n),":","value")},printPropertyKey:bA};const{printDanglingComments:vA,printCommentsSeparately:AA}=Wf,{getNextNonSpaceNonCommentCharacterIndex:FA}=fi,{builders:{line:xA,softline:SA,group:wA,indent:TA,ifBreak:BA,hardline:kA,join:NA,indentIfBreak:PA},utils:{removeLines:OA,willBreak:IA}}=Ji,{ArgExpansionBailout:jA}=go,{getFunctionParameters:LA,hasLeadingOwnLineComment:_A,isFlowAnnotationComment:MA,isJsxNode:RA,isTemplateOnItsOwnLine:$A,shouldPrintComma:VA,startsWithNoLookaheadToken:qA,isBinaryish:WA,isLineComment:UA,hasComment:zA,getComments:GA,CommentCheckFlags:HA,isCallLikeExpression:JA,isCallExpression:XA,getCallArguments:YA,hasNakedLeftSide:KA,getLeftSide:QA}=Gh,{locEnd:ZA}=Rl,{printFunctionParameters:eF,shouldGroupFunctionParameters:tF}=vv,{printPropertyKey:nF}=CA,{printFunctionTypeParameters:rF}=wE;function iF(e,t,n){const r=e.getNode(),i=eF(e,n,t),u=oF(e,n,t),o=tF(r,u),s=[rF(e,t,n),wA([o?wA(i):i,u])];return r.body?s.push(" ",n("body")):s.push(t.semi?";":""),s}function uF(e,t){if("always"===t.arrowParens)return!1;if("avoid"===t.arrowParens){return function(e){const t=LA(e);return!(1!==t.length||e.typeParameters||zA(e,HA.Dangling)||"Identifier"!==t[0].type||t[0].typeAnnotation||zA(t[0])||t[0].optional||e.predicate||e.returnType)}(e.getValue())}return!1}function oF(e,t,n){const r=e.getValue(),i=t("returnType");if(r.returnType&&MA(n.originalText,r.returnType))return[" /*: ",i," */"];const u=[i];return r.returnType&&r.returnType.typeAnnotation&&u.unshift(": "),r.predicate&&u.push(r.returnType?" ":": ",t("predicate")),u}function sF(e,t,n){const r=e.getValue(),i=t.semi?";":"",u=[];r.argument&&(!function(e,t){if(_A(e.originalText,t))return!0;if(KA(t)){let n,r=t;for(;n=QA(r);)if(r=n,_A(e.originalText,r))return!0}return!1}(t,r.argument)?WA(r.argument)||"SequenceExpression"===r.argument.type?u.push(wA([BA(" ("," "),TA([SA,n("argument")]),SA,BA(")")])):u.push(" ",n("argument")):u.push([" (",TA([kA,n("argument")]),kA,")"]));const o=GA(r),s=Sn(o),a=s&&UA(s);return a&&u.push(i),zA(r,HA.Dangling)&&u.push(" ",vA(e,t,!0)),a||u.push(i),u}var aF={printFunction:function(e,t,n,r){const i=e.getValue();let u=!1;if(("FunctionDeclaration"===i.type||"FunctionExpression"===i.type)&&r&&r.expandLastArg){const t=e.getParentNode();XA(t)&&YA(t).length>1&&(u=!0)}const o=[];"TSDeclareFunction"===i.type&&i.declare&&o.push("declare "),i.async&&o.push("async "),i.generator?o.push("function* "):o.push("function "),i.id&&o.push(t("id"));const s=eF(e,t,n,u),a=oF(e,t,n),l=tF(i,a);return o.push(rF(e,n,t),wA([l?wA(s):s,a]),i.body?" ":"",t("body")),!n.semi||!i.declare&&i.body||o.push(";"),o},printArrowFunction:function(e,t,n,r){let i=e.getValue();const u=[],o=[];let s=!1;if(function a(){const l=function(e,t,n,r){const i=[];if(e.getValue().async&&i.push("async "),uF(e,t))i.push(n(["params",0]));else{const u=r&&(r.expandLastArg||r.expandFirstArg);let o=oF(e,n,t);if(u){if(IA(o))throw new jA;o=wA(OA(o))}i.push(wA([eF(e,n,t,u,!0),o]))}const u=vA(e,t,!0,(e=>{const n=FA(t.originalText,e,ZA);return!1!==n&&"=>"===t.originalText.slice(n,n+2)}));return u&&i.push(" ",u),i}(e,t,n,r);if(0===u.length)u.push(l);else{const{leading:n,trailing:r}=AA(e,t);u.push([n,l]),o.unshift(r)}s=s||i.returnType&&LA(i).length>0||i.typeParameters||LA(i).some((e=>"Identifier"!==e.type)),"ArrowFunctionExpression"!==i.body.type||r&&r.expandLastArg?o.unshift(n("body",r)):(i=i.body,e.call(a,"body"))}(),u.length>1)return function(e,t,n,r,i,u){const o=e.getName(),s=e.getParentNode(),a=JA(s)&&"callee"===o,l=Boolean(t&&t.assignmentLayout),c="BlockStatement"!==u.body.type&&"ObjectExpression"!==u.body.type,p=a&&c||t&&"chain-tail-arrow-chain"===t.assignmentLayout,f=Symbol("arrow-chain");return wA([wA(TA([a||l?SA:"",wA(NA([" =>",xA],n),{shouldBreak:r})]),{id:f,shouldBreak:p})," =>",PA(c?TA([xA,i]):[" ",i],{groupId:f}),a?BA(SA,"",{groupId:f}):""])}(e,r,u,s,o,i);const a=u;if(a.push(" =>"),!_A(t.originalText,i.body)&&("ArrayExpression"===i.body.type||"ObjectExpression"===i.body.type||"BlockStatement"===i.body.type||RA(i.body)||$A(i.body,t.originalText)||"ArrowFunctionExpression"===i.body.type||"DoExpression"===i.body.type))return wA([...a," ",o]);if("SequenceExpression"===i.body.type)return wA([...a,wA([" (",TA([SA,o]),SA,")"])]);const l=(r&&r.expandLastArg||"JSXExpressionContainer"===e.getParentNode().type)&&!zA(i),c=r&&r.expandLastArg&&VA(t,"all"),p="ConditionalExpression"===i.body.type&&!qA(i.body,!1);return wA([...a,wA([TA([xA,p?BA("","("):"",o,p?BA("",")"):""]),l?[BA(c?",":""),SA]:""])])},printMethod:function(e,t,n){const r=e.getNode(),{kind:i}=r,u=r.value||r,o=[];return i&&"init"!==i&&"method"!==i&&"constructor"!==i?(yf.ok("get"===i||"set"===i),o.push(i," ")):u.async&&o.push("async "),u.generator&&o.push("*"),o.push(nF(e,t,n),r.optional||r.key.optional?"?":""),r===u?o.push(iF(e,t,n)):"FunctionExpression"===u.type?o.push(e.call((e=>iF(e,t,n)),"value")):o.push(n("value")),o},printReturnStatement:function(e,t,n){return["return",sF(e,t,n)]},printThrowStatement:function(e,t,n){return["throw",sF(e,t,n)]},printMethodInternal:iF,shouldPrintParamsWithoutParens:uF};const{isNonEmptyArray:lF,hasNewline:cF}=fi,{builders:{line:pF,hardline:fF,join:dF,breakParent:hF,group:gF}}=Ji,{locStart:mF,locEnd:yF}=Rl,{getParentExportDeclaration:DF}=Gh;function EF(e,t){return e.decorators.some((e=>cF(t.originalText,yF(e))))}function bF(e){if("ExportDefaultDeclaration"!==e.type&&"ExportNamedDeclaration"!==e.type&&"DeclareExportDeclaration"!==e.type)return!1;const t=e.declaration&&e.declaration.decorators;return lF(t)&&mF(e,{ignoreDecorators:!0})>mF(t[0])}var CF={printDecorators:function(e,t,n){const r=e.getValue(),{decorators:i}=r;if(!lF(i)||bF(e.getParentNode()))return;const u="ClassExpression"===r.type||"ClassDeclaration"===r.type||EF(r,t);return[DF(e)?fF:u?hF:"",dF(pF,e.map(n,"decorators")),pF]},printClassMemberDecorators:function(e,t,n){const r=e.getValue();return gF([dF(pF,e.map(n,"decorators")),EF(r,t)?fF:pF])},printDecoratorsBeforeExport:function(e,t,n){return[dF(fF,e.map(n,"declaration","decorators")),fF]},hasDecoratorsBeforeExport:bF};const{isNonEmptyArray:vF,createGroupIdMapper:AF}=fi,{printComments:FF,printDanglingComments:xF}=Wf,{builders:{join:SF,line:wF,hardline:TF,softline:BF,group:kF,indent:NF,ifBreak:PF}}=Ji,{hasComment:OF,CommentCheckFlags:IF}=Gh,{getTypeParametersGroupId:jF}=lA,{printMethod:LF}=aF,{printOptionalToken:_F,printTypeAnnotation:MF}=wE,{printPropertyKey:RF}=CA,{printAssignment:$F}=YC,{printClassMemberDecorators:VF}=CF;const qF=AF("heritageGroup");function WF(e){return e.typeParameters&&!OF(e.typeParameters,IF.Trailing|IF.Line)&&!function(e){return["superClass","extends","mixins","implements"].filter((t=>Boolean(e[t]))).length>1}(e)}function UF(e,t,n,r){const i=e.getValue();if(!vF(i[r]))return"";const u=xF(e,t,!0,(({marker:e})=>e===r));return[WF(i)?PF(" ",wF,{groupId:jF(i.typeParameters)}):wF,u,u&&TF,r,kF(NF([wF,SF([",",wF],e.map(n,r))]))]}function zF(e,t,n){const r=n("superClass");return"AssignmentExpression"===e.getParentNode().type?kF(PF(["(",NF([BF,r]),BF,")"],r)):r}var GF={printClass:function(e,t,n){const r=e.getValue(),i=[];r.declare&&i.push("declare "),r.abstract&&i.push("abstract "),i.push("class");const u=r.id&&OF(r.id,IF.Trailing)||r.superClass&&OF(r.superClass)||vF(r.extends)||vF(r.mixins)||vF(r.implements),o=[],s=[];if(r.id&&o.push(" ",n("id")),o.push(n("typeParameters")),r.superClass){const r=["extends ",zF(e,t,n),n("superTypeParameters")],i=e.call((e=>FF(e,r,t)),"superClass");u?s.push(wF,kF(i)):s.push(" ",i)}else s.push(UF(e,t,n,"extends"));if(s.push(UF(e,t,n,"mixins"),UF(e,t,n,"implements")),u){let e;e=WF(r)?[...o,NF(s)]:NF([...o,s]),i.push(kF(e,{id:qF(r)}))}else i.push(...o,...s);return i.push(" ",n("body")),i},printClassMethod:function(e,t,n){const r=e.getValue(),i=[];return vF(r.decorators)&&i.push(VF(e,t,n)),r.accessibility&&i.push(r.accessibility+" "),r.readonly&&i.push("readonly "),r.declare&&i.push("declare "),r.static&&i.push("static "),("TSAbstractMethodDefinition"===r.type||r.abstract)&&i.push("abstract "),r.override&&i.push("override "),i.push(LF(e,t,n)),i},printClassProperty:function(e,t,n){const r=e.getValue(),i=[],u=t.semi?";":"";return vF(r.decorators)&&i.push(VF(e,t,n)),r.accessibility&&i.push(r.accessibility+" "),r.declare&&i.push("declare "),r.static&&i.push("static "),("TSAbstractClassProperty"===r.type||r.abstract)&&i.push("abstract "),r.override&&i.push("override "),r.readonly&&i.push("readonly "),r.variance&&i.push(n("variance")),i.push(RF(e,t,n),_F(e),MF(e,t,n)),[$F(e,t,n,i," =","value"),u]},printHardlineAfterHeritage:function(e){return PF(TF,"",{groupId:qF(e)})}};const{isNonEmptyArray:HF}=fi,{builders:{join:JF,line:XF,group:YF,indent:KF,ifBreak:QF}}=Ji,{hasComment:ZF,identity:ex,CommentCheckFlags:tx}=Gh,{getTypeParametersGroupId:nx}=lA,{printTypeScriptModifiers:rx}=wE;var ix={printInterface:function(e,t,n){const r=e.getValue(),i=[];r.declare&&i.push("declare "),"TSInterfaceDeclaration"===r.type&&i.push(r.abstract?"abstract ":"",rx(e,t,n)),i.push("interface");const u=[],o=[];"InterfaceTypeAnnotation"!==r.type&&u.push(" ",n("id"),n("typeParameters"));const s=r.typeParameters&&!ZF(r.typeParameters,tx.Trailing|tx.Line);return HF(r.extends)&&o.push(s?QF(" ",XF,{groupId:nx(r.typeParameters)}):XF,"extends ",(1===r.extends.length?ex:KF)(JF([",",XF],e.map(n,"extends")))),r.id&&ZF(r.id,tx.Trailing)||HF(r.extends)?s?i.push(YF([...u,KF(o)])):i.push(YF(KF([...u,...o]))):i.push(...u,...o),i.push(" ",n("body")),YF(i)}};const{isNonEmptyArray:ux}=fi,{builders:{softline:ox,group:sx,indent:ax,join:lx,line:cx,ifBreak:px,hardline:fx}}=Ji,{printDanglingComments:dx}=Wf,{hasComment:hx,CommentCheckFlags:gx,shouldPrintComma:mx,needsHardlineAfterDanglingComment:yx}=Gh,{locStart:Dx,hasSameLoc:Ex}=Rl,{hasDecoratorsBeforeExport:bx,printDecoratorsBeforeExport:Cx}=CF;function vx(e,t,n){const r=e.getValue();if(!r.source)return"";const i=[];return Fx(r,t)||i.push(" from"),i.push(" ",n("source")),i}function Ax(e,t,n){const r=e.getValue();if(Fx(r,t))return"";const i=[" "];if(ux(r.specifiers)){const u=[],o=[];if(e.each((()=>{const t=e.getValue().type;if("ExportNamespaceSpecifier"===t||"ExportDefaultSpecifier"===t||"ImportNamespaceSpecifier"===t||"ImportDefaultSpecifier"===t)u.push(n());else{if("ExportSpecifier"!==t&&"ImportSpecifier"!==t)throw new Error(`Unknown specifier type ${JSON.stringify(t)}`);o.push(n())}}),"specifiers"),i.push(lx(", ",u)),o.length>0){u.length>0&&i.push(", ");o.length>1||u.length>0||r.specifiers.some((e=>hx(e)))?i.push(sx(["{",ax([t.bracketSpacing?cx:ox,lx([",",cx],o)]),px(mx(t)?",":""),t.bracketSpacing?cx:ox,"}"])):i.push(["{",t.bracketSpacing?" ":"",...o,t.bracketSpacing?" ":"","}"])}}else i.push("{}");return i}function Fx(e,t){const{type:n,importKind:r,source:i,specifiers:u}=e;return"ImportDeclaration"===n&&!ux(u)&&"type"!==r&&!/{\s*}/.test(t.originalText.slice(Dx(e),Dx(i)))}function xx(e,t,n){const r=e.getNode();return ux(r.assertions)?[" assert {",t.bracketSpacing?" ":"",lx(", ",e.map(n,"assertions")),t.bracketSpacing?" ":"","}"]:""}var Sx={printImportDeclaration:function(e,t,n){const r=e.getValue(),i=t.semi?";":"",u=[],{importKind:o}=r;return u.push("import"),o&&"value"!==o&&u.push(" ",o),u.push(Ax(e,t,n),vx(e,t,n),xx(e,t,n),i),u},printExportDeclaration:function(e,t,n){const r=e.getValue(),i=[];bx(r)&&i.push(Cx(e,t,n));const{type:u,exportKind:o,declaration:s}=r;return i.push("export"),(r.default||"ExportDefaultDeclaration"===u)&&i.push(" default"),hx(r,gx.Dangling)&&(i.push(" ",dx(e,t,!0)),yx(r)&&i.push(fx)),s?i.push(" ",n("declaration")):i.push("type"===o?" type":"",Ax(e,t,n),vx(e,t,n),xx(e,t,n)),function(e,t){if(!t.semi)return!1;const{type:n,declaration:r}=e,i=e.default||"ExportDefaultDeclaration"===n;if(!r)return!0;const{type:u}=r;if(i&&"ClassDeclaration"!==u&&"FunctionDeclaration"!==u&&"TSInterfaceDeclaration"!==u&&"DeclareClass"!==u&&"DeclareFunction"!==u&&"TSDeclareFunction"!==u&&"EnumDeclaration"!==u)return!0;return!1}(r,t)&&i.push(";"),i},printExportAllDeclaration:function(e,t,n){const r=e.getValue(),i=t.semi?";":"",u=[],{exportKind:o,exported:s}=r;return u.push("export"),"type"===o&&u.push(" type"),u.push(" *"),s&&u.push(" as ",n("exported")),u.push(vx(e,t,n),xx(e,t,n),i),u},printModuleSpecifier:function(e,t,n){const r=e.getNode(),{type:i,importKind:u}=r,o=[];"ImportSpecifier"===i&&u&&o.push(u," ");const s=i.startsWith("Import"),a=s?"imported":"local",l=s?"local":"exported";let c="",p="";return"ExportNamespaceSpecifier"===i||"ImportNamespaceSpecifier"===i?c="*":r[a]&&(c=n(a)),!r[l]||r[a]&&Ex(r[a],r[l])||(p=n(l)),o.push(c,c&&p?" as ":"",p),o}};const{printDanglingComments:wx}=Wf,{builders:{line:Tx,softline:Bx,group:kx,indent:Nx,ifBreak:Px,hardline:Ox}}=Ji,{getLast:Ix,hasNewlineInRange:jx,hasNewline:Lx,isNonEmptyArray:_x}=fi,{shouldPrintComma:Mx,hasComment:Rx,getComments:$x,CommentCheckFlags:Vx,isNextLineEmpty:qx}=Gh,{locStart:Wx,locEnd:Ux}=Rl,{printOptionalToken:zx,printTypeAnnotation:Gx}=wE,{shouldHugFunctionParameters:Hx}=vv,{shouldHugType:Jx}=Uv,{printHardlineAfterHeritage:Xx}=GF;var Yx={printObject:function(e,t,n){const r=t.semi?";":"",i=e.getValue();let u;u="TSTypeLiteral"===i.type?"members":"TSInterfaceBody"===i.type?"body":"properties";const o="ObjectTypeAnnotation"===i.type,s=[u];o&&s.push("indexers","callProperties","internalSlots");const a=s.map((e=>i[e][0])).sort(((e,t)=>Wx(e)-Wx(t)))[0],l=e.getParentNode(0),c=o&&l&&("InterfaceDeclaration"===l.type||"DeclareInterface"===l.type||"DeclareClass"===l.type)&&"body"===e.getName(),p="TSInterfaceBody"===i.type||c||"ObjectPattern"===i.type&&"FunctionDeclaration"!==l.type&&"FunctionExpression"!==l.type&&"ArrowFunctionExpression"!==l.type&&"ObjectMethod"!==l.type&&"ClassMethod"!==l.type&&"ClassPrivateMethod"!==l.type&&"AssignmentPattern"!==l.type&&"CatchClause"!==l.type&&i.properties.some((e=>e.value&&("ObjectPattern"===e.value.type||"ArrayPattern"===e.value.type)))||"ObjectPattern"!==i.type&&a&&jx(t.originalText,Wx(i),Wx(a)),f=c?";":"TSInterfaceBody"===i.type||"TSTypeLiteral"===i.type?Px(r,";"):",",d="RecordExpression"===i.type?"#{":i.exact?"{|":"{",h=i.exact?"|}":"}",g=[];for(const t of s)e.each((e=>{const t=e.getValue();g.push({node:t,printed:n(),loc:Wx(t)})}),t);s.length>1&&g.sort(((e,t)=>e.loc-t.loc));let m=[];const y=g.map((e=>{const n=[...m,kx(e.printed)];return m=[f,Tx],"TSPropertySignature"!==e.node.type&&"TSMethodSignature"!==e.node.type&&"TSConstructSignatureDeclaration"!==e.node.type||!Rx(e.node,Vx.PrettierIgnore)||m.shift(),qx(e.node,t)&&m.push(Ox),n}));if(i.inexact){let n;if(Rx(i,Vx.Dangling)){const r=Rx(i,Vx.Line);n=[wx(e,t,!0),r||Lx(t.originalText,Ux(Ix($x(i))))?Ox:Tx,"..."]}else n=["..."];y.push([...m,...n])}const D=Ix(i[u]),E=!(i.inexact||D&&"RestElement"===D.type||D&&("TSPropertySignature"===D.type||"TSCallSignatureDeclaration"===D.type||"TSMethodSignature"===D.type||"TSConstructSignatureDeclaration"===D.type)&&Rx(D,Vx.PrettierIgnore));let b;if(0===y.length){if(!Rx(i,Vx.Dangling))return[d,h,Gx(e,t,n)];b=kx([d,wx(e,t),Bx,h,zx(e),Gx(e,t,n)])}else b=[c&&_x(i.properties)?Xx(l):"",d,Nx([t.bracketSpacing?Tx:Bx,...y]),Px(E&&(","!==f||Mx(t))?f:""),t.bracketSpacing?Tx:Bx,h,zx(e),Gx(e,t,n)];return e.match((e=>"ObjectPattern"===e.type&&!e.decorators),((e,t,n)=>Hx(e)&&("params"===t||"parameters"===t||"this"===t||"rest"===t)&&0===n))||e.match(Jx,((e,t)=>"typeAnnotation"===t),((e,t)=>"typeAnnotation"===t),((e,t,n)=>Hx(e)&&("params"===t||"parameters"===t||"this"===t||"rest"===t)&&0===n))||!p&&e.match((e=>"ObjectPattern"===e.type),(e=>"AssignmentExpression"===e.type||"VariableDeclarator"===e.type))?b:kx(b,{shouldBreak:p})}};const{printDanglingComments:Kx}=Wf,{printString:Qx,printNumber:Zx}=fi,{builders:{hardline:eS,softline:tS,group:nS,indent:rS}}=Ji,{getParentExportDeclaration:iS,isFunctionNotation:uS,isGetterOrSetter:oS,rawText:sS,shouldPrintComma:aS}=Gh,{locStart:lS,locEnd:cS}=Rl,{printClass:pS}=GF,{printOpaqueType:fS,printTypeAlias:dS,printIntersectionType:hS,printUnionType:gS,printFunctionType:mS,printTupleType:yS,printIndexedAccessType:DS}=Uv,{printInterface:ES}=ix,{printTypeParameter:bS,printTypeParameters:CS}=lA,{printExportDeclaration:vS,printExportAllDeclaration:AS}=Sx,{printArrayItems:FS}=YE,{printObject:xS}=Yx,{printPropertyKey:SS}=CA,{printOptionalToken:wS,printTypeAnnotation:TS,printRestSpread:BS}=wE;function kS(e,t){const n=iS(e);return n?(yf.strictEqual(n.type,"DeclareExportDeclaration"),t):["declare ",t]}var NS={printFlow:function(e,t,n){const r=e.getValue(),i=t.semi?";":"",u=[];switch(r.type){case"DeclareClass":return kS(e,pS(e,t,n));case"DeclareFunction":return kS(e,["function ",n("id"),r.predicate?" ":"",n("predicate"),i]);case"DeclareModule":return kS(e,["module ",n("id")," ",n("body")]);case"DeclareModuleExports":return kS(e,["module.exports",": ",n("typeAnnotation"),i]);case"DeclareVariable":return kS(e,["var ",n("id"),i]);case"DeclareOpaqueType":return kS(e,fS(e,t,n));case"DeclareInterface":return kS(e,ES(e,t,n));case"DeclareTypeAlias":return kS(e,dS(e,t,n));case"DeclareExportDeclaration":return kS(e,vS(e,t,n));case"DeclareExportAllDeclaration":return kS(e,AS(e,t,n));case"OpaqueType":return fS(e,t,n);case"TypeAlias":return dS(e,t,n);case"IntersectionTypeAnnotation":return hS(e,t,n);case"UnionTypeAnnotation":return gS(e,t,n);case"FunctionTypeAnnotation":return mS(e,t,n);case"TupleTypeAnnotation":return yS(e,t,n);case"GenericTypeAnnotation":return[n("id"),CS(e,t,n,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return DS(e,t,n);case"TypeAnnotation":return n("typeAnnotation");case"TypeParameter":return bS(e,t,n);case"TypeofTypeAnnotation":return["typeof ",n("argument")];case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return[n("elementType"),"[]"];case"BooleanLiteralTypeAnnotation":return String(r.value);case"EnumDeclaration":return["enum ",n("id")," ",n("body")];case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":if("EnumSymbolBody"===r.type||r.explicitType){let e=null;switch(r.type){case"EnumBooleanBody":e="boolean";break;case"EnumNumberBody":e="number";break;case"EnumStringBody":e="string";break;case"EnumSymbolBody":e="symbol"}u.push("of ",e," ")}if(0!==r.members.length||r.hasUnknownMembers){const i=r.members.length>0?[eS,FS(e,t,"members",n),r.hasUnknownMembers||aS(t)?",":""]:[];u.push(nS(["{",rS([...i,...r.hasUnknownMembers?[eS,"..."]:[]]),Kx(e,t,!0),eS,"}"]))}else u.push(nS(["{",Kx(e,t),tS,"}"]));return u;case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return[n("id")," = ","object"==typeof r.init?n("init"):String(r.init)];case"EnumDefaultedMember":return n("id");case"FunctionTypeParam":{const t=r.name?n("name"):e.getParentNode().this===r?"this":"";return[t,wS(e),t?": ":"",n("typeAnnotation")]}case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return ES(e,t,n);case"ClassImplements":case"InterfaceExtends":return[n("id"),n("typeParameters")];case"NullableTypeAnnotation":return["?",n("typeAnnotation")];case"Variance":{const{kind:e}=r;return yf.ok("plus"===e||"minus"===e),"plus"===e?"+":"-"}case"ObjectTypeCallProperty":return r.static&&u.push("static "),u.push(n("value")),u;case"ObjectTypeIndexer":return[r.variance?n("variance"):"","[",n("id"),r.id?": ":"",n("key"),"]: ",n("value")];case"ObjectTypeProperty":{let i="";return r.proto?i="proto ":r.static&&(i="static "),[i,oS(r)?r.kind+" ":"",r.variance?n("variance"):"",SS(e,t,n),wS(e),uS(r)?"":": ",n("value")]}case"ObjectTypeAnnotation":return xS(e,t,n);case"ObjectTypeInternalSlot":return[r.static?"static ":"","[[",n("id"),"]]",wS(e),r.method?"":": ",n("value")];case"ObjectTypeSpreadProperty":return BS(e,t,n);case"QualifiedTypeIdentifier":return[n("qualification"),".",n("id")];case"StringLiteralTypeAnnotation":return Qx(sS(r),t);case"NumberLiteralTypeAnnotation":yf.strictEqual(typeof r.value,"number");case"BigIntLiteralTypeAnnotation":return r.extra?Zx(r.extra.raw):Zx(r.raw);case"TypeCastExpression":return["(",n("expression"),TS(e,t,n),")"];case"TypeParameterDeclaration":case"TypeParameterInstantiation":{const i=CS(e,t,n,"params");if("flow"===t.parser){const e=lS(r),n=cS(r),u=t.originalText.lastIndexOf("/*",e),o=t.originalText.indexOf("*/",n);if(-1!==u&&-1!==o){const e=t.originalText.slice(u+2,o).trim();if(e.startsWith("::")&&!e.includes("/*")&&!e.includes("*/"))return["/*:: ",i," */"]}}return i}case"InferredPredicate":return"%checks";case"DeclaredPredicate":return["%checks(",n("value"),")"];case"AnyTypeAnnotation":return"any";case"BooleanTypeAnnotation":return"boolean";case"BigIntTypeAnnotation":return"bigint";case"NullLiteralTypeAnnotation":return"null";case"NumberTypeAnnotation":return"number";case"SymbolTypeAnnotation":return"symbol";case"StringTypeAnnotation":return"string";case"VoidTypeAnnotation":return"void";case"ThisTypeAnnotation":return"this";case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"MemberTypeAnnotation":case"Type":throw new Error("unprintable type: "+JSON.stringify(r.type))}}};const{hasNewlineInRange:PS}=fi,{isJsxNode:OS,isBlockComment:IS,getComments:jS,isCallExpression:LS,isMemberExpression:_S}=Gh,{locStart:MS,locEnd:RS}=Rl,{builders:{line:$S,softline:VS,group:qS,indent:WS,align:US,ifBreak:zS,dedent:GS,breakParent:HS}}=Ji;function JS(e,t,n){const r=e.getValue(),i="ConditionalExpression"===r.type,u=i?"alternate":"falseType",o=e.getParentNode(),s=i?n("test"):[n("checkType")," ","extends"," ",n("extendsType")];return o.type===r.type&&o[u]===r?US(2,s):s}const XS=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"]]);var YS={printTernary:function(e,t,n){const r=e.getValue(),i="ConditionalExpression"===r.type,u=i?"consequent":"trueType",o=i?"alternate":"falseType",s=i?["test"]:["checkType","extendsType"],a=r[u],l=r[o],c=[];let p=!1;const f=e.getParentNode(),d=f.type===r.type&&s.some((e=>f[e]===r));let h,g,m=f.type===r.type&&!d,y=0;do{g=h||r,h=e.getParentNode(y),y++}while(h&&h.type===r.type&&s.every((e=>h[e]!==g)));const D=h||f,E=g;if(i&&(OS(r[s[0]])||OS(a)||OS(l)||function(e){const t=[e];for(let e=0;e[zS("("),WS([VS,e]),VS,zS(")")],t=e=>"NullLiteral"===e.type||"Literal"===e.type&&null===e.value||"Identifier"===e.type&&"undefined"===e.name;c.push(" ? ",t(a)?n(u):e(n(u))," : ",l.type===r.type||t(l)?n(o):e(n(o)))}else{const e=[$S,"? ",a.type===r.type?zS("","("):"",US(2,n(u)),a.type===r.type?zS("",")"):"",$S,": ",l.type===r.type?n(o):US(2,n(o))];c.push(f.type!==r.type||f[o]===r||d?e:t.useTabs?GS(WS(e)):US(Math.max(0,t.tabWidth-2),e))}const b=[...s.map((e=>jS(r[e]))),jS(a),jS(l)].flat().some((e=>IS(e)&&PS(t.originalText,MS(e),RS(e)))),C=!p&&(_S(f)||"NGPipeExpression"===f.type&&f.left===r)&&!f.computed,v=function(e){const t=e.getValue();if("ConditionalExpression"!==t.type)return!1;let n,r=t;for(let t=0;!n;t++){const i=e.getParentNode(t);LS(i)&&i.callee===r||_S(i)&&i.object===r||"TSNonNullExpression"===i.type&&i.expression===r?r=i:"NewExpression"===i.type&&i.callee===r||"TSAsExpression"===i.type&&i.expression===r?(n=e.getParentNode(t+1),r=i):n=i}return r!==t&&n[XS.get(n.type)]===r}(e),A=(F=[JS(e,0,n),m?c:WS(c),i&&C&&!v?VS:""],f===D?qS(F,{shouldBreak:b}):b?[F,HS]:F);var F;return d||v?qS([WS([VS,A]),VS]):A}};const{builders:{hardline:KS}}=Ji,{getLeftSidePathName:QS,hasNakedLeftSide:ZS,isJsxNode:ew,isTheOnlyJsxElementInMarkdown:tw,hasComment:nw,CommentCheckFlags:rw,isNextLineEmpty:iw}=Gh,{shouldPrintParamsWithoutParens:uw}=aF;function ow(e,t,n,r){const i=e.getValue(),u=[],o="ClassBody"===i.type,s=function(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if("EmptyStatement"!==n.type)return n}}(i[r]);return e.each(((e,r,i)=>{const a=e.getValue();if("EmptyStatement"===a.type)return;const l=n();t.semi||o||tw(t,e)||!function(e,t){if("ExpressionStatement"!==e.getNode().type)return!1;return e.call((e=>sw(e,t)),"expression")}(e,t)?u.push(l):nw(a,rw.Leading)?u.push(n([],{needsSemi:!0})):u.push(";",l),!t.semi&&o&&aw(a)&&function(e,t){const n=e.key&&e.key.name;if(!("static"!==n&&"get"!==n&&"set"!==n||e.value||e.typeAnnotation))return!0;if(!t)return!1;if(t.static||t.accessibility)return!1;if(!t.computed){const e=t.key&&t.key.name;if("in"===e||"instanceof"===e)return!0}switch(t.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractClassProperty":return t.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((t.value?t.value.async:t.async)||"get"===t.kind||"set"===t.kind)return!1;const e=t.value?t.value.generator:t.generator;return!(!t.computed&&!e)}case"TSIndexSignature":return!0}return!1}(a,i[r+1])&&u.push(";"),a!==s&&(u.push(KS),iw(a,t)&&u.push(KS))}),r),u}function sw(e,t){const n=e.getValue();switch(n.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":if(!uw(e,t))return!0;break;case"UnaryExpression":{const{prefix:e,operator:t}=n;if(e&&("+"===t||"-"===t))return!0;break}case"BindExpression":if(!n.object)return!0;break;case"Literal":if(n.regex)return!0;break;default:if(ew(n))return!0}return!!Yy(e,t)||!!ZS(n)&&e.call((e=>sw(e,t)),...QS(e,n))}const aw=({type:e})=>"ClassProperty"===e||"PropertyDefinition"===e||"ClassPrivateProperty"===e;var lw={printBody:function(e,t,n){return ow(e,t,n,"body")},printSwitchCaseConsequent:function(e,t,n){return ow(e,t,n,"consequent")}};const{printDanglingComments:cw}=Wf,{isNonEmptyArray:pw}=fi,{builders:{hardline:fw,indent:dw}}=Ji,{hasComment:hw,CommentCheckFlags:gw,isNextLineEmpty:mw}=Gh,{printHardlineAfterHeritage:yw}=GF,{printBody:Dw}=lw;function Ew(e,t,n){const r=e.getValue(),i=pw(r.directives),u=r.body.some((e=>"EmptyStatement"!==e.type)),o=hw(r,gw.Dangling);if(!i&&!u&&!o)return"";const s=[];if(i&&e.each(((e,r,i)=>{s.push(n()),(r"]),i=[kw("("),Tw([Sw,n("expression")]),Sw,kw(")")];return e?Bw([[t,n("expression")],[t,ww(i,{shouldBreak:!0})],[t,n("expression")]]):ww([t,n("expression")])}case"TSDeclareFunction":return Kw(e,n,t);case"TSExportAssignment":return["export = ",n("expression"),i];case"TSModuleBlock":return eT(e,t,n);case"TSInterfaceBody":case"TSTypeLiteral":return zw(e,t,n);case"TSTypeAliasDeclaration":return tT(e,t,n);case"TSQualifiedName":return Aw(".",[n("left"),n("right")]);case"TSAbstractMethodDefinition":case"TSDeclareMethod":return Hw(e,t,n);case"TSAbstractClassProperty":return Gw(e,t,n);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return u.push(n("expression")),r.typeParameters&&u.push(n("typeParameters")),u;case"TSTemplateLiteralType":return Ww(e,n,t);case"TSNamedTupleMember":return[n("label"),r.optional?"?":"",": ",n("elementType")];case"TSRestType":return["...",n("typeAnnotation")];case"TSOptionalType":return[n("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return Zw(e,t,n);case"TSClassImplements":return[n("expression"),n("typeParameters")];case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return Xw(e,t,n,"params");case"TSTypeParameter":return Jw(e,t,n);case"TSAsExpression":{u.push(n("expression")," as ",n("typeAnnotation"));const t=e.getParentNode();return Iw(t)&&t.callee===r||jw(t)&&t.object===r?ww([Tw([Sw,...u]),Sw]):u}case"TSArrayType":return[n("elementType"),"[]"];case"TSPropertySignature":return r.readonly&&u.push("readonly "),u.push(Yw(e,t,n),Mw(e)),r.typeAnnotation&&u.push(": ",n("typeAnnotation")),r.initializer&&u.push(" = ",n("initializer")),u;case"TSParameterProperty":return r.accessibility&&u.push(r.accessibility+" "),r.export&&u.push("export "),r.static&&u.push("static "),r.override&&u.push("override "),r.readonly&&u.push("readonly "),u.push(n("parameter")),u;case"TSTypeQuery":return["typeof ",n("exprName")];case"TSIndexSignature":{const u=e.getParentNode(),o=r.parameters.length>1?kw(Ow(t)?",":""):"",s=ww([Tw([Sw,Aw([", ",Sw],e.map(n,"parameters"))]),o,Sw]);return[r.export?"export ":"",r.accessibility?[r.accessibility," "]:"",r.static?"static ":"",r.readonly?"readonly ":"",r.declare?"declare ":"","[",r.parameters?s:"",r.typeAnnotation?"]: ":"]",r.typeAnnotation?n("typeAnnotation"):"","ClassBody"===u.type?i:""]}case"TSTypePredicate":return[r.asserts?"asserts ":"",n("parameterName"),r.typeAnnotation?[" is ",n("typeAnnotation")]:""];case"TSNonNullExpression":return[n("expression"),"!"];case"TSImportType":return[r.isTypeOf?"typeof ":"","import(",n(r.parameter?"parameter":"argument"),")",r.qualifier?[".",n("qualifier")]:"",Xw(e,t,n,"typeParameters")];case"TSLiteralType":return n("literal");case"TSIndexedAccessType":return oT(e,t,n);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":if("TSConstructorType"===r.type&&r.abstract&&u.push("abstract "),"TSCallSignatureDeclaration"!==r.type&&u.push("new "),u.push(ww(Vw(e,n,t,!1,!0))),r.returnType||r.typeAnnotation){const e="TSConstructorType"===r.type;u.push(e?" => ":": ",n("returnType"),n("typeAnnotation"))}return u;case"TSTypeOperator":return[r.operator," ",n("typeAnnotation")];case"TSMappedType":{const u=vw(t.originalText,Lw(r),_w(r));return ww(["{",Tw([t.bracketSpacing?Fw:Sw,r.readonly?[Pw(r.readonly,"readonly")," "]:"",Rw(e,t,n),n("typeParameter"),r.optional?Pw(r.optional,"?"):"",r.typeAnnotation?": ":"",n("typeAnnotation"),kw(i)]),Cw(e,t,!0),t.bracketSpacing?Fw:Sw,"}"],{shouldBreak:u})}case"TSMethodSignature":{const i=r.kind&&"method"!==r.kind?`${r.kind} `:"";u.push(r.accessibility?[r.accessibility," "]:"",i,r.export?"export ":"",r.static?"static ":"",r.readonly?"readonly ":"",r.abstract?"abstract ":"",r.declare?"declare ":"",r.computed?"[":"",n("key"),r.computed?"]":"",Mw(e));const o=Vw(e,n,t,!1,!0),s=r.returnType?"returnType":"typeAnnotation",a=r[s],l=a?n(s):"",c=qw(r,l);return u.push(c?ww(o):o),a&&u.push(": ",ww(l)),ww(u)}case"TSNamespaceExportDeclaration":return u.push("export as namespace ",n("id")),t.semi&&u.push(";"),ww(u);case"TSEnumDeclaration":return r.declare&&u.push("declare "),r.modifiers&&u.push(Rw(e,t,n)),r.const&&u.push("const "),u.push("enum ",n("id")," "),0===r.members.length?u.push(ww(["{",Cw(e,t),Sw,"}"])):u.push(ww(["{",Tw([xw,Uw(e,t,"members",n),Ow(t,"es5")?",":""]),Cw(e,t,!0),xw,"}"])),u;case"TSEnumMember":return u.push(n("id")),r.initializer&&u.push(" = ",n("initializer")),u;case"TSImportEqualsDeclaration":return r.isExport&&u.push("export "),u.push("import "),r.importKind&&"value"!==r.importKind&&u.push(r.importKind," "),u.push(n("id")," = ",n("moduleReference")),t.semi&&u.push(";"),ww(u);case"TSExternalModuleReference":return["require(",n("expression"),")"];case"TSModuleDeclaration":{const o=e.getParentNode(),s=Nw(r.id),a="TSModuleDeclaration"===o.type,l=r.body&&"TSModuleDeclaration"===r.body.type;if(a)u.push(".");else{r.declare&&u.push("declare "),u.push(Rw(e,t,n));const i=t.originalText.slice(Lw(r),Lw(r.id));"Identifier"===r.id.type&&"global"===r.id.name&&!/namespace|module/.test(i)||u.push(s||/(^|\s)module(\s|$)/.test(i)?"module ":"namespace ")}return u.push(n("id")),l?u.push(n("body")):r.body?u.push(" ",ww(n("body"))):u.push(i),u}case"TSPrivateIdentifier":return r.escapedText;case"TSConditionalType":return $w(e,t,n);case"TSInferType":return["infer"," ",n("typeParameter")];case"TSIntersectionType":return nT(e,t,n);case"TSUnionType":return rT(e,t,n);case"TSFunctionType":return iT(e,t,n);case"TSTupleType":return uT(e,t,n);case"TSTypeReference":return[n("typeName"),Xw(e,t,n,"typeParameters")];case"TSTypeAnnotation":return n("typeAnnotation");case"TSEmptyBodyFunctionExpression":return Qw(e,t,n);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return["?",n("typeAnnotation")];case"TSJSDocNonNullableType":return["!",n("typeAnnotation")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(r.type)}.`)}}};const{hasNewline:aT}=fi,{builders:{join:lT,hardline:cT},utils:{replaceNewlinesWithLiterallines:pT}}=Ji,{isLineComment:fT,isBlockComment:dT}=Gh,{locStart:hT,locEnd:gT}=Rl;var mT={printComment:function(e,t){const n=e.getValue();if(fT(n))return t.originalText.slice(hT(n),gT(n)).trimEnd();if(dT(n)){if(function(e){const t=`*${e.value}*`.split("\n");return t.length>1&&t.every((e=>"*"===e.trim()[0]))}(n)){const e=function(e){const t=e.value.split("\n");return["/*",lT(cT,t.map(((e,n)=>0===n?e.trimEnd():" "+(n"AwaitExpression"===e.type||"BlockStatement"===e.type));if(!t||"AwaitExpression"!==t.type)return TT(o)}}return o;case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return uB(e,t,n);case"ExportAllDeclaration":return oB(e,t,n);case"ImportDeclaration":return iB(e,t,n);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return sB(e,t,n);case"ImportAttribute":return[n("key"),": ",n("value")];case"Import":return"import";case"BlockStatement":case"StaticBlock":case"ClassBody":return wB(e,t,n);case"ThrowStatement":return bB(e,t,n);case"ReturnStatement":return EB(e,t,n);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return CB(e,t,n);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return pB(e,t,n);case"ObjectProperty":case"Property":return i.method||"get"===i.kind||"set"===i.kind?DB(e,t,n):gB(e,t,n);case"ObjectMethod":return DB(e,t,n);case"Decorator":return["@",n("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return cB(e,t,n);case"SequenceExpression":{const t=e.getParentNode(0);if("ExpressionStatement"===t.type||"ForStatement"===t.type){const t=[];return e.each(((e,r)=>{0===r?t.push(n()):t.push(",",BT([xT,n()]))}),"expressions"),TT(t)}return TT(FT([",",xT],e.map(n,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[n("value"),u];case"DirectiveLiteral":return PB(i,t);case"UnaryExpression":return o.push(i.operator),/[a-z]$/.test(i.operator)&&o.push(" "),OT(i.argument)?o.push(TT(["(",BT([wT,n("argument")]),wT,")"])):o.push(n("argument")),o;case"UpdateExpression":return o.push(n("argument"),i.operator),i.prefix&&o.reverse(),o;case"ConditionalExpression":return aB(e,t,n);case"VariableDeclaration":{const t=e.map(n,"declarations"),r=e.getParentNode(),s="ForStatement"===r.type||"ForInStatement"===r.type||"ForOfStatement"===r.type,a=i.declarations.some((e=>e.init));let l;return 1!==t.length||OT(i.declarations[0])?t.length>0&&(l=BT(t[0])):l=t[0],o=[i.declare?"declare ":"",i.kind,l?[" ",l]:"",BT(t.slice(1).map((e=>[",",a&&!s?ST:xT,e])))],s&&r.body!==i||o.push(u),TT(o)}case"WithStatement":return TT(["with (",n("object"),")",nB(i.body,n("body"))]);case"IfStatement":{const r=nB(i.consequent,n("consequent")),u=TT(["if (",TT([BT([wT,n("test")]),wT]),")",r]);if(o.push(u),i.alternate){const r=OT(i.consequent,IT.Trailing|IT.Line)||RT(i),u="BlockStatement"===i.consequent.type&&!r;o.push(u?" ":ST),OT(i,IT.Dangling)&&o.push(vT(e,t,!0),r?ST:" "),o.push("else",TT(nB(i.alternate,n("alternate"),"IfStatement"===i.alternate.type)))}return o}case"ForStatement":{const r=nB(i.body,n("body")),u=vT(e,t,!0),o=u?[u,wT]:"";return i.init||i.test||i.update?[o,TT(["for (",TT([BT([wT,n("init"),";",xT,n("test"),";",xT,n("update")]),wT]),")",r])]:[o,TT(["for (;;)",r])]}case"WhileStatement":return TT(["while (",TT([BT([wT,n("test")]),wT]),")",nB(i.body,n("body"))]);case"ForInStatement":return TT(["for (",n("left")," in ",n("right"),")",nB(i.body,n("body"))]);case"ForOfStatement":return TT(["for",i.await?" await":""," (",n("left")," of ",n("right"),")",nB(i.body,n("body"))]);case"DoWhileStatement":{const e=nB(i.body,n("body"));return o=[TT(["do",e])],"BlockStatement"===i.body.type?o.push(" "):o.push(ST),o.push("while (",TT([BT([wT,n("test")]),wT]),")",u),o}case"DoExpression":return[i.async?"async ":"","do ",n("body")];case"BreakStatement":return o.push("break"),i.label&&o.push(" ",n("label")),o.push(u),o;case"ContinueStatement":return o.push("continue"),i.label&&o.push(" ",n("label")),o.push(u),o;case"LabeledStatement":return"EmptyStatement"===i.body.type?[n("label"),":;"]:[n("label"),": ",n("body")];case"TryStatement":return["try ",n("block"),i.handler?[" ",n("handler")]:"",i.finalizer?[" finally ",n("finalizer")]:""];case"CatchClause":if(i.param){const e=OT(i.param,(e=>!LT(e)||e.leading&&AT(t.originalText,zT(e))||e.trailing&&AT(t.originalText,UT(e),{backwards:!0}))),r=n("param");return["catch ",e?["(",BT([wT,r]),wT,") "]:["(",r,") "],n("body")]}return["catch ",n("body")];case"SwitchStatement":return[TT(["switch (",BT([wT,n("discriminant")]),wT,")"])," {",i.cases.length>0?BT([ST,FT(ST,e.map(((e,r,i)=>{const u=e.getValue();return[n(),r!==i.length-1&&MT(u,t)?ST:""]}),"cases"))]):"",ST,"}"];case"SwitchCase":{i.test?o.push("case ",n("test"),":"):o.push("default:");const r=i.consequent.filter((e=>"EmptyStatement"!==e.type));if(r.length>0){const i=xB(e,t,n);o.push(1===r.length&&"BlockStatement"===r[0].type?[" ",i]:BT([ST,i]))}return o}case"DebuggerStatement":return["debugger",u];case"ClassDeclaration":case"ClassExpression":return fB(e,t,n);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return dB(e,t,n);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":return hB(e,t,n);case"TemplateElement":return kT(i.value.raw);case"TemplateLiteral":return lB(e,n,t);case"TaggedTemplateExpression":return[n("tag"),n("typeParameters"),n("quasi")];case"PrivateIdentifier":return["#",n("name")];case"PrivateName":return["#",n("id")];case"InterpreterDirective":return o.push("#!",i.value,ST),MT(i,t)&&o.push(ST),o;case"PipelineBareFunction":return n("callee");case"PipelineTopicExpression":return n("expression");case"PipelinePrimaryTopicReference":return"#";case"ArgumentPlaceholder":return"?";case"ModuleExpression":{o.push("module {");const e=n("body");return e&&o.push(BT([ST,e]),ST),o.push("}"),o}default:throw new Error("unknown type: "+JSON.stringify(i.type))}}(e,t,n,r);if(!i)return"";const u=e.getValue(),{type:o}=u;if("ClassMethod"===o||"ClassPrivateMethod"===o||"ClassProperty"===o||"PropertyDefinition"===o||"TSAbstractClassProperty"===o||"ClassPrivateProperty"===o||"MethodDefinition"===o||"TSAbstractMethodDefinition"===o||"TSDeclareMethod"===o)return i;const s=NB(e,t,n);if(s)return TT([...s,i]);if(!Yy(e,t))return r&&r.needsSemi?[";",i]:i;const a=[r&&r.needsSemi?";(":"(",i];if(PT(u)){const[e]=u.trailingComments;a.push(" /*",e.value.trimStart(),"*/"),e.printed=!0}return a.push(")"),a},embed:Kg,insertPragma:NT,massageAstNode:nm,hasPrettierIgnore:e=>VT(e)||YT(e),willPrintOwnComments:Iy.willPrintOwnComments,canAttachComment:function(e){return e.type&&!LT(e)&&!_T(e)&&"EmptyStatement"!==e.type&&"TemplateElement"!==e.type&&"Import"!==e.type&&"TSEmptyBodyFunctionExpression"!==e.type},printComment:BB,isBlockComment:LT,handleComments:{avoidAstMutation:!0,ownLine:Iy.handleOwnLineComment,endOfLine:Iy.handleEndOfLineComment,remaining:Iy.handleRemainingComment},getCommentChildNodes:Iy.getCommentChildNodes};const{builders:{hardline:IB,indent:jB,join:LB}}=Ji;const _B=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function MB(e,t){const{type:n}=e;if("ObjectProperty"!==n||"Identifier"!==e.key.type){if("UnaryExpression"===n&&"+"===e.operator)return t.argument;if("ArrayExpression"!==n)return"TemplateLiteral"===n?{type:"StringLiteral",value:e.quasis[0].value.cooked}:void 0;for(const[n,r]of e.elements.entries())null===r&&t.elements.splice(n,0,{type:"NullLiteral"})}else t.key={type:"StringLiteral",value:e.key.name}}MB.ignoredProperties=_B;var RB={preprocess:Ky,print:function(e,t,n){const r=e.getValue();switch(r.type){case"JsonRoot":return[n("node"),IB];case"ArrayExpression":{if(0===r.elements.length)return"[]";const t=e.map((()=>null===e.getValue()?"null":n()),"elements");return["[",jB([IB,LB([",",IB],t)]),IB,"]"]}case"ObjectExpression":return 0===r.properties.length?"{}":["{",jB([IB,LB([",",IB],e.map(n,"properties"))]),IB,"}"];case"ObjectProperty":return[n("key"),": ",n("value")];case"UnaryExpression":return["+"===r.operator?"":r.operator,n("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return r.value?"true":"false";case"StringLiteral":case"NumericLiteral":return JSON.stringify(r.value);case"Identifier":{const t=e.getParentNode();return t&&"ObjectProperty"===t.type&&t.key===r?JSON.stringify(r.name):r.name}case"TemplateLiteral":return n(["quasis",0]);case"TemplateElement":return JSON.stringify(r.value.cooked);default:throw new Error("unknown type: "+JSON.stringify(r.type))}},massageAstNode:MB};var $B={bracketSpacing:{since:"0.0.0",category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:"Common",type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]}};var VB={arrowParens:{since:"1.9.0",category:"JavaScript",type:"choice",default:[{since:"1.9.0",value:"avoid"},{since:"2.0.0",value:"always"}],description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSpacing:$B.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:"JavaScript",type:"boolean",default:!1,description:"Put > on the last line instead of at a new line."},semi:{since:"1.0.0",category:"JavaScript",type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:$B.singleQuote,jsxSingleQuote:{since:"1.15.0",category:"JavaScript",type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:"JavaScript",type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:"JavaScript",type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]}},qB={name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".jsb",".jscad",".jsfl",".jsm",".jss",".jsx",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],languageId:183},WB={name:"TypeScript",type:"programming",color:"#2b7489",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",languageId:378},UB={name:"TSX",type:"programming",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:94901924},zB={name:"JSON",type:"data",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",extensions:[".json",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".arcconfig",".htmlhintrc",".imgbotconfig",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","mcmod.info"],languageId:174},GB={name:"JSON with Comments",type:"data",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","api-extractor.json","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json"],languageId:423},HB={name:"JSON5",type:"data",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",languageId:175};var JB={languages:[Yd(qB,(e=>({since:"0.0.0",parsers:["babel","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"],extensions:[...e.extensions.filter((e=>".jsx"!==e)),".wxs"]}))),Yd(qB,(()=>({name:"Flow",since:"0.0.0",parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]}))),Yd(qB,(()=>({name:"JSX",since:"0.0.0",parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],aliases:void 0,filenames:void 0,extensions:[".jsx"],group:"JavaScript",interpreters:void 0,tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0}))),Yd(WB,(()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]}))),Yd(UB,(()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]}))),Yd(zB,(()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[],filenames:["package.json","package-lock.json","composer.json"]}))),Yd(zB,(e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],extensions:e.extensions.filter((e=>".jsonl"!==e))}))),Yd(GB,(e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:[...e.filenames,".eslintrc"]}))),Yd(HB,(()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]})))],options:VB,printers:{estree:OB,"estree-json":RB},parsers:{get babel(){return require("./parser-babel").parsers.babel},get"babel-flow"(){return require("./parser-babel").parsers["babel-flow"]},get"babel-ts"(){return require("./parser-babel").parsers["babel-ts"]},get json(){return require("./parser-babel").parsers.json},get json5(){return require("./parser-babel").parsers.json5},get"json-stringify"(){return require("./parser-babel").parsers["json-stringify"]},get __js_expression(){return require("./parser-babel").parsers.__js_expression},get __vue_expression(){return require("./parser-babel").parsers.__vue_expression},get __vue_event_binding(){return require("./parser-babel").parsers.__vue_event_binding},get flow(){return require("./parser-flow").parsers.flow},get typescript(){return require("./parser-typescript").parsers.typescript},get __ng_action(){return require("./parser-angular").parsers.__ng_action},get __ng_binding(){return require("./parser-angular").parsers.__ng_binding},get __ng_interpolation(){return require("./parser-angular").parsers.__ng_interpolation},get __ng_directive(){return require("./parser-angular").parsers.__ng_directive},get espree(){return require("./parser-espree").parsers.espree},get meriyah(){return require("./parser-meriyah").parsers.meriyah},get __babel_estree(){return require("./parser-babel").parsers.__babel_estree}}};const{isFrontMatterNode:XB}=fi,YB=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma"]);function KB(e,t,n){if(XB(e)&&"yaml"===e.lang&&delete t.value,"css-comment"===e.type&&"css-root"===n.type&&n.nodes.length>0){if((n.nodes[0]===e||XB(n.nodes[0])&&n.nodes[1]===e)&&(delete t.text,/^\*\s*@(format|prettier)\s*$/.test(e.text)))return null;if("css-root"===n.type&&Sn(n.nodes)===e)return null}if("value-root"===e.type&&delete t.text,"media-query"!==e.type&&"media-query-list"!==e.type&&"media-feature-expression"!==e.type||delete t.value,"css-rule"===e.type&&delete t.params,"selector-combinator"===e.type&&(t.value=t.value.replace(/\s+/g," ")),"media-feature"===e.type&&(t.value=t.value.replace(/ /g,"")),("value-word"===e.type&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(t.value.replace().toLowerCase()))||"media-feature"===e.type||"selector-root-invalid"===e.type||"selector-pseudo"===e.type)&&(t.value=t.value.toLowerCase()),"css-decl"===e.type&&(t.prop=t.prop.toLowerCase()),"css-atrule"!==e.type&&"css-import"!==e.type||(t.name=t.name.toLowerCase()),"value-number"===e.type&&(t.unit=t.unit.toLowerCase()),"media-feature"!==e.type&&"media-keyword"!==e.type&&"media-type"!==e.type&&"media-unknown"!==e.type&&"media-url"!==e.type&&"media-value"!==e.type&&"selector-attribute"!==e.type&&"selector-string"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"value-string"!==e.type||!t.value||(t.value=t.value.replace(/'/g,'"').replace(/\\([^\dA-Fa-f])/g,"$1")),"selector-attribute"===e.type&&(t.attribute=t.attribute.trim(),t.namespace&&"string"==typeof t.namespace&&(t.namespace=t.namespace.trim(),0===t.namespace.length&&(t.namespace=!0)),t.value&&(t.value=t.value.trim().replace(/^["']|["']$/g,""),delete t.quoted)),"media-value"!==e.type&&"media-type"!==e.type&&"value-number"!==e.type&&"selector-root-invalid"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"selector-tag"!==e.type||!t.value||(t.value=t.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g,((e,t,n)=>{const r=Number(t);return Number.isNaN(r)?e:r+n.toLowerCase()}))),"selector-tag"===e.type){const n=e.value.toLowerCase();["from","to"].includes(n)&&(t.value=n)}"css-atrule"===e.type&&"supports"===e.name.toLowerCase()&&delete t.value,"selector-unknown"===e.type&&delete t.value}KB.ignoredProperties=YB;var QB=KB;const{builders:{hardline:ZB,markAsRoot:ek}}=Ji;var tk=function(e,t){if("yaml"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:"yaml"},{stripTrailingHardline:!0}):"";return ek([e.startDelimiter,ZB,r,r?ZB:"",e.endDelimiter])}};const{builders:{hardline:nk}}=Ji;var rk=function(e,t,n){const r=e.getValue();if("front-matter"===r.type){const e=tk(r,n);return e?[e,nk]:""}};const ik=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");var uk=function(e){const t=e.match(ik);if(!t)return{content:e};const{startDelimiter:n,language:r,value:i="",endDelimiter:u}=t.groups;let o=r.trim()||"yaml";if("+++"===n&&(o="toml"),"yaml"!==o&&n!==u)return{content:e};const[s]=t;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:n,endDelimiter:u,raw:s.replace(/\n$/,"")},content:s.replace(/[^\n]/g," ")+e.slice(s.length)}};var ok={hasPragma:function(e){return Nm.hasPragma(uk(e).content)},insertPragma:function(e){const{frontMatter:t,content:n}=uk(e);return(t?t.raw+"\n\n":"")+Nm.insertPragma(n)}};const{isNonEmptyArray:sk}=fi,ak=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function lk(e,t){const n=Array.isArray(t)?t:[t];let r,i=-1;for(;r=e.getParentNode(++i);)if(n.includes(r.type))return i;return-1}function ck(e,t){const n=lk(e,t);return-1===n?null:e.getParentNode(n)}function pk(e){return"value-operator"===e.type&&"*"===e.value}function fk(e){return"value-operator"===e.type&&"/"===e.value}function dk(e){return"value-operator"===e.type&&"+"===e.value}function hk(e){return"value-operator"===e.type&&"-"===e.value}function gk(e){return"value-operator"===e.type&&"%"===e.value}function mk(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function yk(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&mk(e.groups[0])}function Dk(e){return e&&"value-colon"===e.type}var Ek={getAncestorCounter:lk,getAncestorNode:ck,getPropOfDeclNode:function(e){const t=ck(e,"css-decl");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(sk(e))for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1},hasStringOrFunction:function(e){if(sk(e))for(let t=0;t","<=",">="].includes(e.value)},isEqualityOperatorNode:function(e){return"value-word"===e.type&&["==","!="].includes(e.value)},isMultiplicationNode:pk,isDivisionNode:fk,isAdditionNode:dk,isSubtractionNode:hk,isModuloNode:gk,isMathOperatorNode:function(e){return pk(e)||fk(e)||dk(e)||hk(e)||gk(e)},isEachKeywordNode:function(e){return"value-word"===e.type&&"in"===e.value},isForKeywordNode:function(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)},isURLFunctionNode:function(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)},hasComposesNode:function(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&""===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith("prettier-placeholder")},isTemplatePropNode:function(e){return e.prop.startsWith("@prettier-placeholder")},isPostcssSimpleVarNode:function(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before},isKeyValuePairNode:mk,isKeyValuePairInParenGroupNode:yk,isKeyInValuePairNode:function(e,t){if(!mk(t))return!1;const{groups:n}=t,r=n.indexOf(e);return-1!==r&&Dk(n[r+1])},isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const n=e.getParentNode(1);if(!(yk(t)||n&&yk(n)))return!1;const r=ck(e,"css-decl");return!!(r&&r.prop&&r.prop.startsWith("$"))||(!!yk(n)||"value-func"===n.type)},isInlineValueCommentNode:function(e){return"value-comment"===e.type&&e.inline},isHashNode:function(e){return"value-word"===e.type&&"#"===e.value},isLeftCurlyBraceNode:function(e){return"value-word"===e.type&&"{"===e.value},isRightCurlyBraceNode:function(e){return"value-word"===e.type&&"}"===e.value},isWordNode:function(e){return["value-word","value-atword"].includes(e.type)},isColonNode:Dk,isMediaAndSupportsKeywords:function(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return"value-func"===e.type&&ak.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\/\//.test(e.split(/[\n\r]/).pop())},stringifyNode:function e(t){if(t.groups){return(t.open&&t.open.value?t.open.value:"")+t.groups.reduce(((n,r,i)=>n+e(r)+("comma_group"===t.groups[0].type&&i!==t.groups.length-1?",":"")),"")+(t.close&&t.close.value?t.close.value:"")}const n=t.raws&&t.raws.before?t.raws.before:"",r=t.raws&&t.raws.quote?t.raws.quote:"";return n+r+("atword"===t.type?"@":"")+(t.value?t.value:"")+r+(t.unit?t.unit:"")+(t.group?e(t.group):"")+(t.raws&&t.raws.after?t.raws.after:"")},isAtWordPlaceholderNode:function(e){return e&&"value-atword"===e.type&&e.value.startsWith("prettier-placeholder-")}},bk=function(e,t){let n=0;for(let r=0;r{const o=u[i-1];if(o&&"css-comment"===o.type&&"prettier-ignore"===o.text.trim()){const n=e.getValue();r.push(t.originalText.slice(MN(n),RN(n)))}else r.push(n());i!==u.length-1&&("css-comment"===u[i+1].type&&!kk(t.originalText,MN(u[i+1]),{backwards:!0})&&!Nk(u[i])||"css-atrule"===u[i+1].type&&"else"===u[i+1].name&&"css-comment"!==u[i].type?r.push(" "):(r.push(t.__isHTMLStyleAttribute?jk:Lk),Pk(t.originalText,e.getValue(),RN)&&!Nk(u[i])&&r.push(Lk)))}),"nodes"),r}const qN=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gs,WN=new RegExp(qN.source+"|"+`(${/[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g.source})?`+`(${/(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g.source})`+`(${/[A-Za-z]+/g.source})?`,"g");function UN(e,t){return e.replace(qN,(e=>Bk(e,t)))}function zN(e,t){const n=t.singleQuote?"'":'"';return e.includes('"')||e.includes("'")?e:n+e+n}function GN(e){return e.replace(WN,((e,t,n,r,i)=>!n&&r?HN(r)+Xk(i||""):e))}function HN(e){return Tk(e).replace(/\.0(?=$|e)/,"")}var JN={print:function(e,t,n){const r=e.getValue();if(!r)return"";if("string"==typeof r)return r;switch(r.type){case"front-matter":return[r.raw,Lk];case"css-root":{const i=VN(e,t,n),u=r.raws.after.trim();return[i,u?` ${u}`:"",zk(i).length>0?Lk:""]}case"css-comment":{const e=r.inline||r.raws.inline,n=t.originalText.slice(MN(r),RN(r));return e?n.trimEnd():n}case"css-rule":return[n("selector"),r.important?" !important":"",r.nodes?[r.selector&&"selector-unknown"===r.selector.type&&LN(r.selector.value)?jk:" ","{",r.nodes.length>0?$k([Lk,VN(e,t,n)]):"",Lk,"}",oN(r)?";":""]:";"];case"css-decl":{const i=e.getParentNode(),{between:u}=r.raws,o=u.trim(),s=":"===o;let a=DN(r)?Uk(n("value")):n("value");return!s&&LN(o)&&(a=$k([Lk,Vk(a)])),[r.raws.before.replace(/[\s;]/g,""),Kk(e)?r.prop:Xk(r.prop),o.startsWith("//")?" ":"",o,r.extend?"":" ",iN(t)&&r.extend&&r.selector?["extend(",n("selector"),")"]:"",a,r.raws.important?r.raws.important.replace(/\s*!\s*important/i," !important"):r.important?" !important":"",r.raws.scssDefault?r.raws.scssDefault.replace(/\s*!default/i," !default"):r.scssDefault?" !default":"",r.raws.scssGlobal?r.raws.scssGlobal.replace(/\s*!global/i," !global"):r.scssGlobal?" !global":"",r.nodes?[" {",$k([_k,VN(e,t,n)]),_k,"}"]:xN(r)&&!i.raws.semicolon&&";"!==t.originalText[RN(r)-1]?"":t.__isHTMLStyleAttribute&&rN(e,r)?qk(";"):";"]}case"css-atrule":{const i=e.getParentNode(),u=FN(r)&&!i.raws.semicolon&&";"!==t.originalText[RN(r)-1];if(iN(t)){if(r.mixin)return[n("selector"),r.important?" !important":"",u?"":";"];if(r.function)return[r.name,n("params"),u?"":";"];if(r.variable)return["@",r.name,": ",r.value?n("value"):"",r.raws.between.trim()?r.raws.between.trim()+" ":"",r.nodes?["{",$k([r.nodes.length>0?_k:"",VN(e,t,n)]),_k,"}"]:"",u?"":";"]}return["@",AN(r)||r.name.endsWith(":")?r.name:Xk(r.name),r.params?[AN(r)?"":FN(r)?""===r.raws.afterName?"":r.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(r.raws.afterName)?[Lk,Lk]:/^\s*\n/.test(r.raws.afterName)?Lk:" ":" ",n("params")]:"",r.selector?$k([" ",n("selector")]):"",r.value?Mk([" ",n("value"),uN(r)?EN(r)?" ":jk:""]):"else"===r.name?" ":"",r.nodes?[uN(r)?"":r.selector&&!r.selector.nodes&&"string"==typeof r.selector.value&&LN(r.selector.value)||!r.selector&&"string"==typeof r.params&&LN(r.params)?jk:" ","{",$k([r.nodes.length>0?_k:"",VN(e,t,n)]),_k,"}"]:u?"":";"]}case"media-query-list":{const t=[];return e.each((e=>{const r=e.getValue();"media-query"===r.type&&""===r.value||t.push(n())}),"nodes"),Mk($k(Ik(jk,t)))}case"media-query":return[Ik(" ",e.map(n,"nodes")),rN(e,r)?"":","];case"media-type":return GN(UN(r.value,t));case"media-feature-expression":return r.nodes?["(",...e.map(n,"nodes"),")"]:r.value;case"media-feature":return Xk(UN(r.value.replace(/ +/g," "),t));case"media-colon":return[r.value," "];case"media-value":return GN(UN(r.value,t));case"media-keyword":return UN(r.value,t);case"media-url":return UN(r.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/g,")"),t);case"media-unknown":return r.value;case"selector-root":return Mk([Qk(e,"custom-selector")?[Hk(e,"css-atrule").customSelector,jk]:"",Ik([",",Qk(e,["extend","custom-selector","nest"])?jk:Lk],e.map(n,"nodes"))]);case"selector-selector":return Mk($k(e.map(n,"nodes")));case"selector-comment":return r.value;case"selector-string":return UN(r.value,t);case"selector-tag":{const t=e.getParentNode(),n=t&&t.nodes.indexOf(r),i=n&&t.nodes[n-1];return[r.namespace?[!0===r.namespace?"":r.namespace.trim(),"|"]:"","selector-nesting"===i.type?r.value:GN(eN(e,r.value)?r.value.toLowerCase():r.value)]}case"selector-id":return["#",r.value];case"selector-class":return[".",GN(UN(r.value,t))];case"selector-attribute":return["[",r.namespace?[!0===r.namespace?"":r.namespace.trim(),"|"]:"",r.attribute.trim(),r.operator?r.operator:"",r.value?zN(UN(r.value.trim(),t),t):"",r.insensitive?" i":"","]"];case"selector-combinator":if("+"===r.value||">"===r.value||"~"===r.value||">>>"===r.value){const t=e.getParentNode();return["selector-selector"===t.type&&t.nodes[0]===r?"":jk,r.value,rN(e,r)?"":" "]}return[r.value.trim().startsWith("(")?jk:"",GN(UN(r.value.trim(),t))||jk];case"selector-universal":return[r.namespace?[!0===r.namespace?"":r.namespace.trim(),"|"]:"",r.value];case"selector-pseudo":return[Xk(r.value),Ok(r.nodes)?["(",Ik(", ",e.map(n,"nodes")),")"]:""];case"selector-nesting":return r.value;case"selector-unknown":{const n=Hk(e,"css-rule");if(n&&n.isSCSSNesterProperty)return GN(UN(Xk(r.value),t));const i=e.getParentNode();if(i.raws&&i.raws.selector){const e=MN(i),n=e+i.raws.selector.length;return t.originalText.slice(e,n).trim()}const u=e.getParentNode(1);if("value-paren_group"===i.type&&u&&"value-func"===u.type&&"selector"===u.value){const e=MN(i.open)+1,n=RN(i.close)-1,r=t.originalText.slice(e,n).trim();return LN(r)?[Wk,r]:r}return r.value}case"value-value":case"value-root":return n("group");case"value-comment":return t.originalText.slice(MN(r),RN(r));case"value-comma_group":{const t=e.getParentNode(),i=e.getParentNode(1),u=Jk(e),o=u&&"value-value"===t.type&&("grid"===u||u.startsWith("grid-template")),s=Hk(e,"css-atrule"),a=s&&uN(s),l=r.groups.some((e=>TN(e))),c=e.map(n,"groups"),p=[],f=Yk(e,"url");let d=!1,h=!1;for(let n=0;n0&&"value-comma_group"===r.groups[0].type&&r.groups[0].groups.length>0&&"value-word"===r.groups[0].groups[0].type&&r.groups[0].groups[0].value.startsWith("data:")))return[r.open?n("open"):"",Ik(",",e.map(n,"groups")),r.close?n("close"):""];if(!r.open){const t=e.map(n,"groups"),r=[];for(let e=0;e{const t=e.getValue(),r=n();if(CN(t)&&"value-comma_group"===t.type&&t.groups&&"value-paren_group"!==t.groups[0].type&&t.groups[2]&&"value-paren_group"===t.groups[2].type){const e=zk(r.contents.contents);return e[1]=Mk(e[1]),Mk(Vk(r))}return r}),"groups"))]),qk(!s&&nN(t.parser,t.originalText)&&u&&$N(t)?",":""),_k,r.close?n("close"):""],{shouldBreak:u&&!a});return a?Vk(l):l}case"value-func":return[r.value,Qk(e,"supports")&&IN(r)?" ":"",n("group")];case"value-paren":return r.value;case"value-number":return[HN(r.value),Xk(r.unit)];case"value-operator":return r.value;case"value-word":return r.isColor&&r.isHex||tN(r.value)?r.value.toLowerCase():r.value;case"value-colon":{const t=e.getParentNode(),n=t&&t.groups.indexOf(r),i=n&&t.groups[n-1];return[r.value,i&&"string"==typeof i.value&&"\\"===Sn(i.value)||Yk(e,"url")?"":jk]}case"value-comma":return[r.value," "];case"value-string":return Bk(r.raws.quote+r.value+r.raws.quote,t);case"value-atword":return["@",r.value];case"value-unicode-range":case"value-unknown":return r.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(r.type)}`)}},embed:rk,insertPragma:Gk,massageAstNode:QB},XN={singleQuote:$B.singleQuote},YN={name:"PostCSS",type:"markup",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",languageId:262764437},KN={name:"Less",type:"markup",color:"#1d365d",extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",languageId:198},QN={name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],languageId:329};var ZN={languages:[Yd({name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css"],languageId:50},(e=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"],extensions:[...e.extensions,".wxss"]}))),Yd(YN,(()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]}))),Yd(KN,(()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]}))),Yd(QN,(()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]})))],options:XN,printers:{postcss:JN},parsers:{get css(){return require("./parser-postcss").parsers.css},get less(){return require("./parser-postcss").parsers.less},get scss(){return require("./parser-postcss").parsers.scss}}};var eP={locStart:function(e){return e.loc.start.offset},locEnd:function(e){return e.loc.end.offset}};function tP(e,t){if("TextNode"===e.type){const n=e.chars.trim();if(!n)return null;t.chars=n.replace(/[\t\n\f\r ]+/g," ")}"AttrNode"===e.type&&"class"===e.name.toLowerCase()&&delete t.value}tP.ignoredProperties=new Set(["loc","selfClosing"]);var nP=tP;const rP=new Set(["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]);function iP(e){return uP(e,["TextNode"])&&!/\S/.test(e.chars)}function uP(e,t){return e&&t.includes(e.type)}function oP(e,t){return uP(e.getParentNode(0),t)}function sP(e,t){const n=e.getValue(),r=e.getParentNode(0)||{},i=r.children||r.body||r.parts||[],u=i.indexOf(n);return-1!==u&&i[u+t]}function aP(e,t=1){return sP(e,-t)}function lP(e){return sP(e,1)}function cP(e){return uP(e,["MustacheCommentStatement"])&&"string"==typeof e.value&&"prettier-ignore"===e.value.trim()}var pP={getNextNode:lP,getPreviousNode:aP,hasPrettierIgnore:function(e){const t=e.getValue(),n=aP(e,2);return cP(t)||cP(n)},isLastNodeOfSiblings:function(e){const t=e.getValue(),n=e.getParentNode(0);return!(!oP(e,["ElementNode"])||Sn(n.children)!==t)||!(!oP(e,["Block"])||Sn(n.body)!==t)},isNextNodeOfSomeType:function(e,t){return uP(lP(e),t)},isNodeOfSomeType:uP,isParentOfSomeType:oP,isPreviousNodeOfSomeType:function(e,t){return uP(aP(e),t)},isVoid:function(e){return function(e){return uP(e,["ElementNode"])&&"string"==typeof e.tag&&(function(e){return e.toUpperCase()===e}(e.tag[0])||e.tag.includes("."))}(e)&&e.children.every((e=>iP(e)))||rP.has(e.tag)},isWhitespaceNode:iP};const{builders:{dedent:fP,fill:dP,group:hP,hardline:gP,ifBreak:mP,indent:yP,join:DP,line:EP,softline:bP,literalline:CP},utils:{getDocParts:vP,replaceEndOfLineWith:AP}}=Ji,{isNonEmptyArray:FP}=fi,{locStart:xP,locEnd:SP}=eP,{getNextNode:wP,getPreviousNode:TP,hasPrettierIgnore:BP,isLastNodeOfSiblings:kP,isNextNodeOfSomeType:NP,isNodeOfSomeType:PP,isParentOfSomeType:OP,isPreviousNodeOfSomeType:IP,isVoid:jP,isWhitespaceNode:LP}=pP;function _P(e,t){return xP(e)-xP(t)}function MP(e,t,n){const r=e.getValue().children.every((e=>LP(e)));return"ignore"===t.htmlWhitespaceSensitivity&&r?"":e.map(((e,r)=>{const i=n();return 0===r&&"ignore"===t.htmlWhitespaceSensitivity?[bP,i]:i}),"children")}function RP(e){return jP(e)?mP([bP,"/>"],[" />",bP]):mP([bP,">"],">")}function $P(e){return[!1===e.escaped?"{{{":"{{",e.strip&&e.strip.open?"~":""]}function VP(e){const t=!1===e.escaped?"}}}":"}}";return[e.strip&&e.strip.close?"~":"",t]}function qP(e){return[$P(e),e.closeStrip.open?"~":"","/"]}function WP(e){const t=VP(e);return[e.closeStrip.close?"~":"",t]}function UP(e){return[$P(e),e.inverseStrip.open?"~":""]}function zP(e){const t=VP(e);return[e.inverseStrip.close?"~":"",t]}function GP(e,t){const n=e.getValue(),r=function(e){return[$P(e),e.openStrip.open?"~":"","#"]}(n),i=function(e){const t=VP(e);return[e.openStrip.close?"~":"",t]}(n),u=[oO(e,t)],o=sO(e,t);if(o&&u.push(EP,o),FP(n.program.blockParams)){const e=aO(n.program);u.push(EP,e)}return hP([r,yP(u),bP,i])}function HP(e,t){return["ignore"===t.htmlWhitespaceSensitivity?gP:"",UP(e),"else",zP(e)]}function JP(e,t){const n=e.getParentNode(1);return[UP(n),"else if ",sO(e,t),zP(n)]}function XP(e,t,n){const r=e.getValue();if("ignore"===n.htmlWhitespaceSensitivity){return[YP(r)?bP:gP,qP(r),t("path"),WP(r)]}return[qP(r),t("path"),WP(r)]}function YP(e){return PP(e,["BlockStatement"])&&e.program.body.every((e=>LP(e)))}function KP(e){return PP(e,["BlockStatement"])&&e.inverse}function QP(e,t,n){if(YP(e.getValue()))return"";const r=t("program");return"ignore"===n.htmlWhitespaceSensitivity?yP([gP,r]):yP(r)}function ZP(e,t,n){const r=e.getValue(),i=t("inverse"),u="ignore"===n.htmlWhitespaceSensitivity?[gP,i]:i;return function(e){return KP(e)&&1===e.inverse.body.length&&PP(e.inverse.body[0],["BlockStatement"])&&"if"===e.inverse.body[0].path.parts[0]}(r)?u:KP(r)?[HP(r,n),yP(u)]:""}function eO(e){return vP(DP(EP,function(e){return e.split(/[\t\n\f\r ]+/)}(e)))}function tO(e){return(e="string"==typeof e?e:"").split("\n").length-1}function nO(e=0){return new Array(Math.min(e,2)).fill(gP)}function rO(e,t){const n={quote:'"',regex:/"/g},r={quote:"'",regex:/'/g},i=e.singleQuote?r:n,u=i===r?n:r;let o=!1;if(t.includes(i.quote)||t.includes(u.quote)){o=(t.match(i.regex)||[]).length>(t.match(u.regex)||[]).length}return o?u:i}function iO(e,t){const n=oO(e,t),r=sO(e,t);return r?yP([n,EP,hP(r)]):n}function uO(e,t){const n=oO(e,t),r=sO(e,t);return r?[yP([n,EP,r]),bP]:n}function oO(e,t){return t("path")}function sO(e,t){const n=e.getValue(),r=[];if(n.params.length>0){const n=e.map(t,"params");r.push(...n)}if(n.hash&&n.hash.pairs.length>0){const e=t("hash");r.push(e)}return 0===r.length?"":DP(EP,r)}function aO(e){return["as |",e.blockParams.join(" "),"|"]}var lO={print:function(e,t,n){const r=e.getValue();if(!r)return"";if(BP(e))return t.originalText.slice(xP(r),SP(r));switch(r.type){case"Block":case"Program":case"Template":return hP(e.map(n,"body"));case"ElementNode":{const i=hP(function(e,t){const n=e.getValue(),r=["attributes","modifiers","comments"].filter((e=>FP(n[e]))),i=r.flatMap((e=>n[e])).sort(_P);for(const n of r)e.each((e=>{const n=i.indexOf(e.getValue());i.splice(n,1,[EP,t()])}),n);FP(n.blockParams)&&i.push(EP,aO(n));return["<",n.tag,yP(i),RP(n)]}(e,n)),u="ignore"===t.htmlWhitespaceSensitivity&&NP(e,["ElementNode"])?bP:"";if(jP(r))return[i,u];const o=[""];return 0===r.children.length?[i,yP(o),u]:"ignore"===t.htmlWhitespaceSensitivity?[i,yP(MP(e,t,n)),gP,yP(o),u]:[i,yP(hP(MP(e,t,n))),yP(o),u]}case"BlockStatement":{const i=e.getParentNode(1);return i&&i.inverse&&1===i.inverse.body.length&&i.inverse.body[0]===r&&"if"===i.inverse.body[0].path.parts[0]?[JP(e,n),QP(e,n,t),ZP(e,n,t)]:[GP(e,n),hP([QP(e,n,t),ZP(e,n,t),XP(e,n,t)])]}case"ElementModifierStatement":return hP(["{{",uO(e,n),"}}"]);case"MustacheStatement":return hP([$P(r),uO(e,n),VP(r)]);case"SubExpression":return hP(["(",iO(e,n),bP,")"]);case"AttrNode":{const e="TextNode"===r.value.type;if(e&&""===r.value.chars&&xP(r.value)===SP(r.value))return r.name;const i=e?rO(t,r.value.chars).quote:"ConcatStatement"===r.value.type?rO(t,r.value.parts.filter((e=>"TextNode"===e.type)).map((e=>e.chars)).join("")).quote:"",u=n("value");return[r.name,"=",i,"class"===r.name&&i?hP(yP(u)):u,i]}case"ConcatStatement":return e.map(n,"parts");case"Hash":return DP(EP,e.map(n,"pairs"));case"HashPair":return[r.key,"=",n("value")];case"TextNode":{let n=r.chars.replace(/{{/g,"\\{{");const i=function(e){for(let t=0;t<2;t++){const n=e.getParentNode(t);if(n&&"AttrNode"===n.type)return n.name.toLowerCase()}}(e);if(i){if("class"===i){const t=n.trim().split(/\s+/).join(" ");let r=!1,i=!1;return OP(e,["ConcatStatement"])&&(IP(e,["MustacheStatement"])&&/^\s/.test(n)&&(r=!0),NP(e,["MustacheStatement"])&&/\s$/.test(n)&&""!==t&&(i=!0)),[r?EP:"",t,i?EP:""]}return AP(n,CP)}const u=/^[\t\n\f\r ]*$/.test(n),o=!TP(e),s=!wP(e);if("ignore"!==t.htmlWhitespaceSensitivity){const t=/^[\t\n\f\r ]*/,r=/[\t\n\f\r ]*$/,i=s&&OP(e,["Template"]),a=o&&OP(e,["Template"]);if(u){if(a||i)return"";let t=[EP];const r=tO(n);return r&&(t=nO(r)),kP(e)&&(t=t.map((e=>fP(e)))),t}const[l]=n.match(t),[c]=n.match(r);let p=[];if(l){p=[EP];const e=tO(l);e&&(p=nO(e)),n=n.replace(t,"")}let f=[];if(c){if(!i){f=[EP];const t=tO(c);t&&(f=nO(t)),kP(e)&&(f=f.map((e=>fP(e))))}n=n.replace(r,"")}return[...p,dP(eO(n)),...f]}const a=tO(n);let l=function(e){return tO(((e="string"==typeof e?e:"").match(/^([^\S\n\r]*[\n\r])+/g)||[])[0]||"")}(n),c=function(e){return tO(((e="string"==typeof e?e:"").match(/([\n\r][^\S\n\r]*)+$/g)||[])[0]||"")}(n);if((o||s)&&u&&OP(e,["Block","ElementNode","Template"]))return"";u&&a?(l=Math.min(a,2),c=0):(NP(e,["BlockStatement","ElementNode"])&&(c=Math.max(c,1)),IP(e,["BlockStatement","ElementNode"])&&(l=Math.max(l,1)));let p="",f="";return 0===c&&NP(e,["MustacheStatement"])&&(f=" "),0===l&&IP(e,["MustacheStatement"])&&(p=" "),o&&(l=0,p=""),s&&(c=0,f=""),n=n.replace(/^[\t\n\f\r ]+/g,p).replace(/[\t\n\f\r ]+$/,f),[...nO(l),dP(eO(n)),...nO(c)]}case"MustacheCommentStatement":{const e=xP(r),n=SP(r),i="~"===t.originalText.charAt(e+2),u="~"===t.originalText.charAt(n-3),o=r.value.includes("}}")?"--":"";return["{{",i?"~":"","!",o,r.value,o,u?"~":"","}}"]}case"PathExpression":return r.original;case"BooleanLiteral":return String(r.value);case"CommentStatement":return["\x3c!--",r.value,"--\x3e"];case"StringLiteral":return function(e,t){const{quote:n,regex:r}=rO(t,e);return[n,e.replace(r,`\\${n}`),n]}(r.value,t);case"NumberLiteral":return String(r.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";default:throw new Error("unknown glimmer type: "+JSON.stringify(r.type))}},massageAstNode:nP};var cO={languages:[Yd({name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",languageId:155},(()=>({since:"2.3.0",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]})))],printers:{glimmer:lO},parsers:{get glimmer(){return require("./parser-glimmer").parsers.glimmer}}};var pO={hasPragma:function(e){return/^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n"+e}};var fO={locStart:function(e){return"number"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return"number"==typeof e.end?e.end:e.loc&&e.loc.end}};const{builders:{join:dO,hardline:hO,line:gO,softline:mO,group:yO,indent:DO,ifBreak:EO}}=Ji,{isNextLineEmpty:bO,isNonEmptyArray:CO}=fi,{insertPragma:vO}=pO,{locStart:AO,locEnd:FO}=fO;function xO(e,t,n){if(0===n.directives.length)return"";const r=dO(gO,e.map(t,"directives"));return"FragmentDefinition"===n.kind||"OperationDefinition"===n.kind?yO([gO,r]):[" ",yO(DO([mO,r]))]}function SO(e,t,n){const r=e.getValue().length;return e.map(((e,i)=>{const u=n();return bO(t.originalText,e.getValue(),FO)&&in(e)),"interfaces");for(let e=0;e{r.push(n()),i!==u.length-1&&(r.push(hO),bO(t.originalText,e.getValue(),FO)&&r.push(hO))}),"definitions"),[...r,hO]}case"OperationDefinition":{const i="{"!==t.originalText[AO(r)],u=Boolean(r.name);return[i?r.operation:"",i&&u?[" ",n("name")]:"",i&&!u&&CO(r.variableDefinitions)?" ":"",CO(r.variableDefinitions)?yO(["(",DO([mO,dO([EO("",", "),mO],e.map(n,"variableDefinitions"))]),mO,")"]):"",xO(e,n,r),r.selectionSet&&(i||u)?" ":"",n("selectionSet")]}case"FragmentDefinition":return["fragment ",n("name"),CO(r.variableDefinitions)?yO(["(",DO([mO,dO([EO("",", "),mO],e.map(n,"variableDefinitions"))]),mO,")"]):""," on ",n("typeCondition"),xO(e,n,r)," ",n("selectionSet")];case"SelectionSet":return["{",DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"selections"))]),hO,"}"];case"Field":return yO([r.alias?[n("alias"),": "]:"",n("name"),r.arguments.length>0?yO(["(",DO([mO,dO([EO("",", "),mO],e.call((e=>SO(e,t,n)),"arguments"))]),mO,")"]):"",xO(e,n,r),r.selectionSet?" ":"",n("selectionSet")]);case"Name":return r.value;case"StringValue":return r.block?['"""',hO,dO(hO,r.value.replace(/"""/g,"\\$&").split("\n")),hO,'"""']:['"',r.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"'];case"IntValue":case"FloatValue":case"EnumValue":return r.value;case"BooleanValue":return r.value?"true":"false";case"NullValue":return"null";case"Variable":return["$",n("name")];case"ListValue":return yO(["[",DO([mO,dO([EO("",", "),mO],e.map(n,"values"))]),mO,"]"]);case"ObjectValue":return yO(["{",t.bracketSpacing&&r.fields.length>0?" ":"",DO([mO,dO([EO("",", "),mO],e.map(n,"fields"))]),mO,EO("",t.bracketSpacing&&r.fields.length>0?" ":""),"}"]);case"ObjectField":case"Argument":return[n("name"),": ",n("value")];case"Directive":return["@",n("name"),r.arguments.length>0?yO(["(",DO([mO,dO([EO("",", "),mO],e.call((e=>SO(e,t,n)),"arguments"))]),mO,")"]):""];case"NamedType":return n("name");case"VariableDefinition":return[n("variable"),": ",n("type"),r.defaultValue?[" = ",n("defaultValue")]:"",xO(e,n,r)];case"ObjectTypeExtension":case"ObjectTypeDefinition":return[n("description"),r.description?hO:"","ObjectTypeExtension"===r.kind?"extend ":"","type ",n("name"),r.interfaces.length>0?[" implements ",...wO(e,t,n)]:"",xO(e,n,r),r.fields.length>0?[" {",DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"fields"))]),hO,"}"]:""];case"FieldDefinition":return[n("description"),r.description?hO:"",n("name"),r.arguments.length>0?yO(["(",DO([mO,dO([EO("",", "),mO],e.call((e=>SO(e,t,n)),"arguments"))]),mO,")"]):"",": ",n("type"),xO(e,n,r)];case"DirectiveDefinition":return[n("description"),r.description?hO:"","directive ","@",n("name"),r.arguments.length>0?yO(["(",DO([mO,dO([EO("",", "),mO],e.call((e=>SO(e,t,n)),"arguments"))]),mO,")"]):"",r.repeatable?" repeatable":""," on ",dO(" | ",e.map(n,"locations"))];case"EnumTypeExtension":case"EnumTypeDefinition":return[n("description"),r.description?hO:"","EnumTypeExtension"===r.kind?"extend ":"","enum ",n("name"),xO(e,n,r),r.values.length>0?[" {",DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"values"))]),hO,"}"]:""];case"EnumValueDefinition":return[n("description"),r.description?hO:"",n("name"),xO(e,n,r)];case"InputValueDefinition":return[n("description"),r.description?r.description.block?hO:gO:"",n("name"),": ",n("type"),r.defaultValue?[" = ",n("defaultValue")]:"",xO(e,n,r)];case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return[n("description"),r.description?hO:"","InputObjectTypeExtension"===r.kind?"extend ":"","input ",n("name"),xO(e,n,r),r.fields.length>0?[" {",DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"fields"))]),hO,"}"]:""];case"SchemaDefinition":return["schema",xO(e,n,r)," {",r.operationTypes.length>0?DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"operationTypes"))]):"",hO,"}"];case"OperationTypeDefinition":return[n("operation"),": ",n("type")];case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return[n("description"),r.description?hO:"","InterfaceTypeExtension"===r.kind?"extend ":"","interface ",n("name"),r.interfaces.length>0?[" implements ",...wO(e,t,n)]:"",xO(e,n,r),r.fields.length>0?[" {",DO([hO,dO(hO,e.call((e=>SO(e,t,n)),"fields"))]),hO,"}"]:""];case"FragmentSpread":return["...",n("name"),xO(e,n,r)];case"InlineFragment":return["...",r.typeCondition?[" on ",n("typeCondition")]:"",xO(e,n,r)," ",n("selectionSet")];case"UnionTypeExtension":case"UnionTypeDefinition":return yO([n("description"),r.description?hO:"",yO(["UnionTypeExtension"===r.kind?"extend ":"","union ",n("name"),xO(e,n,r),r.types.length>0?[" =",EO(""," "),DO([EO([gO," "]),dO([gO,"| "],e.map(n,"types"))])]:""])]);case"ScalarTypeExtension":case"ScalarTypeDefinition":return[n("description"),r.description?hO:"","ScalarTypeExtension"===r.kind?"extend ":"","scalar ",n("name"),xO(e,n,r)];case"NonNullType":return[n("type"),"!"];case"ListType":return["[",n("type"),"]"];default:throw new Error("unknown graphql type: "+JSON.stringify(r.kind))}},massageAstNode:TO,hasPrettierIgnore:function(e){const t=e.getValue();return t&&Array.isArray(t.comments)&&t.comments.some((e=>"prettier-ignore"===e.value.trim()))},insertPragma:vO,printComment:function(e){const t=e.getValue();if("Comment"===t.kind)return"#"+t.value.trimEnd();throw new Error("Not a comment: "+JSON.stringify(t))},canAttachComment:function(e){return e.kind&&"Comment"!==e.kind}},kO={bracketSpacing:$B.bracketSpacing};var NO={languages:[Yd({name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",languageId:139},(()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]})))],options:kO,printers:{graphql:BO},parsers:{get graphql(){return require("./parser-graphql").parsers.graphql}}};var PO={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:OO}=fi,{locStart:IO,locEnd:jO}=PO,{cjkPattern:LO,kPattern:_O,punctuationPattern:MO}={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"},RO=["liquidNode","inlineCode","emphasis","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],$O=[...RO,"tableCell","paragraph","heading"],VO=new RegExp(_O),qO=new RegExp(MO);function WO(e,t){const[,n,r,i]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:n,marker:r,leadingSpaces:i}}var UO={mapAst:function(e,t){return function e(n,r,i){const u=Object.assign({},t(n,r,i));return u.children&&(u.children=u.children.map(((t,n)=>e(t,n,[u,...i])))),u}(e,null,[])},splitText:function(e,t){const n="non-cjk",r="cj-letter",i="cjk-punctuation",u=[],o=("preserve"===t.proseWrap?e:e.replace(new RegExp(`(${LO})\n(${LO})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(const[e,t]of o.entries()){if(e%2==1){u.push({type:"whitespace",value:/\n/.test(t)?"\n":" "});continue}if((0===e||e===o.length-1)&&""===t)continue;const a=t.split(new RegExp(`(${LO})`));for(const[e,t]of a.entries())(0!==e&&e!==a.length-1||""!==t)&&(e%2!=0?s(qO.test(t)?{type:"word",value:t,kind:i,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:t,kind:VO.test(t)?"k-letter":r,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==t&&s({type:"word",value:t,kind:n,hasLeadingPunctuation:qO.test(t[0]),hasTrailingPunctuation:qO.test(OO(t))}))}return u;function s(e){const t=OO(u);var o,s;t&&"word"===t.type&&(t.kind===n&&e.kind===r&&!t.hasTrailingPunctuation||t.kind===r&&e.kind===n&&!e.hasLeadingPunctuation?u.push({type:"whitespace",value:" "}):(o=n,s=i,t.kind===o&&e.kind===s||t.kind===s&&e.kind===o||[t.value,e.value].some((e=>/\u3000/.test(e)))||u.push({type:"whitespace",value:""}))),u.push(e)}},punctuationPattern:MO,getFencedCodeBlockValue:function(e,t){const{value:n}=e;return e.position.end.offset===t.length&&n.endsWith("\n")&&t.endsWith("\n")?n.slice(0,-1):n},getOrderedListItemInfo:WO,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const n=Number(WO(e.children[0],t.originalText).numberText),r=Number(WO(e.children[1],t.originalText).numberText);if(0===n&&e.children.length>2){const n=Number(WO(e.children[2],t.originalText).numberText);return 1===r&&1===n}return 1===r},INLINE_NODE_TYPES:RO,INLINE_NODE_WRAPPER_TYPES:$O,isAutolink:function(e){if(!e||"link"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&IO(e)===IO(t)&&jO(e)===jO(t)}};const{inferParserByLanguage:zO,getMaxContinuousCount:GO}=fi,{builders:{hardline:HO,markAsRoot:JO},utils:{replaceNewlinesWithLiterallines:XO}}=Ji,{getFencedCodeBlockValue:YO}=UO;var KO=function(e,t,n,r){const i=e.getValue();if("code"===i.type&&null!==i.lang){const e=zO(i.lang,r);if(e){const t=r.__inJsTemplate?"~":"`",u=t.repeat(Math.max(3,GO(i.value,t)+1)),o=n(YO(i,r.originalText),{parser:e},{stripTrailingHardline:!0});return JO([u,i.lang,i.meta?" "+i.meta:"",HO,XO(o),HO,u])}}switch(i.type){case"front-matter":return tk(i,n);case"importExport":return[n(i.value,{parser:"babel"},{stripTrailingHardline:!0}),HO];case"jsx":return n(`<$>${i.value}`,{parser:"__js_expression",rootMarker:"mdx"},{stripTrailingHardline:!0})}return null};const QO=["format","prettier"];function ZO(e){const t=`@(${QO.join("|")})`,n=new RegExp([`\x3c!--\\s*${t}\\s*--\x3e`,`\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*${t}[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e`].join("|"),"m"),r=e.match(n);return r&&0===r.index}var eI={startWithPragma:ZO,hasPragma:e=>ZO(uk(e).content.trimStart()),insertPragma:e=>{const t=uk(e),n=`\x3c!-- @${QO[0]} --\x3e`;return t.frontMatter?`${t.frontMatter.raw}\n\n${n}\n\n${t.content}`:`${n}\n\n${t.content}`}};const{getOrderedListItemInfo:tI,mapAst:nI,splitText:rI}=UO,iI=/^.$/us;function uI(e,t,n){return nI(e,(e=>{if(!e.children)return e;const r=e.children.reduce(((e,r)=>{const i=Sn(e);return i&&t(i,r)?e.splice(-1,1,n(i,r)):e.push(r),e}),[]);return Object.assign(Object.assign({},e),{},{children:r})}))}var oI=function(e,t){return e=function(e){return uI(e,((e,t)=>"importExport"===e.type&&"importExport"===t.type),((e,t)=>({type:"importExport",value:e.value+"\n\n"+t.value,position:{start:e.position.start,end:t.position.end}})))}(e=function(e){return nI(e,(e=>"import"!==e.type&&"export"!==e.type?e:Object.assign(Object.assign({},e),{},{type:"importExport"})))}(e=function(e,t){return nI(e,((e,n,[r])=>{if("text"!==e.type)return e;let{value:i}=e;return"paragraph"===r.type&&(0===n&&(i=i.trimStart()),n===r.children.length-1&&(i=i.trimEnd())),{type:"sentence",position:e.position,children:rI(i,t)}}))}(e=function(e,t){return nI(e,((e,t,n)=>{if("list"===e.type&&e.children.length>0){for(let t=0;t1)return!0;const u=n(r);if(-1===u)return!1;if(1===e.children.length)return u%t.tabWidth==0;if(u!==n(i))return!1;if(u%t.tabWidth==0)return!0;return tI(i,t.originalText).leadingSpaces.length>1}}(e=function(e,t){return nI(e,((e,n,r)=>{if("code"===e.type){const n=/^\n?( {4,}|\t)/.test(t.originalText.slice(e.position.start.offset,e.position.end.offset));if(e.isIndented=n,n)for(let e=0;e"inlineCode"!==e.type?e:Object.assign(Object.assign({},e),{},{value:e.value.replace(/\s+/g," ")})))}(e=function(e){return uI(e,((e,t)=>"text"===e.type&&"text"===t.type),((e,t)=>({type:"text",value:e.value+t.value,position:{start:e.position.start,end:t.position.end}})))}(e=function(e,t){return nI(e,(e=>"text"===e.type&&"*"!==e.value&&"_"!==e.value&&iI.test(e.value)&&e.position.end.offset-e.position.start.offset!==e.value.length?Object.assign(Object.assign({},e),{},{value:t.originalText.slice(e.position.start.offset,e.position.end.offset)}):e))}(e,t))),t),t),t)))};const{isFrontMatterNode:sI}=fi,{startWithPragma:aI}=eI,lI=new Set(["position","raw"]);function cI(e,t,n){return"front-matter"!==e.type&&"code"!==e.type&&"yaml"!==e.type&&"import"!==e.type&&"export"!==e.type&&"jsx"!==e.type||delete t.value,"list"===e.type&&delete t.isAligned,"list"!==e.type&&"listItem"!==e.type||(delete t.spread,delete t.loose),"text"===e.type?null:("inlineCode"===e.type&&(t.value=e.value.replace(/[\t\n ]+/g," ")),"wikiLink"===e.type&&(t.value=e.value.trim().replace(/[\t\n]+/g," ")),"definition"!==e.type&&"linkReference"!==e.type||(t.label=e.label.trim().replace(/[\t\n ]+/g," ").toLowerCase()),"definition"!==e.type&&"link"!==e.type&&"image"!==e.type||!e.title||(t.title=e.title.replace(/\\(["')])/g,"$1")),n&&"root"===n.type&&n.children.length>0&&(n.children[0]===e||sI(n.children[0])&&n.children[1]===e)&&"html"===e.type&&aI(e.value)?null:void 0)}cI.ignoredProperties=lI;var pI=cI;const{getLast:fI,getMinNotPresentContinuousCount:dI,getMaxContinuousCount:hI,getStringWidth:gI,isNonEmptyArray:mI}=fi,{builders:{breakParent:yI,join:DI,line:EI,literalline:bI,markAsRoot:CI,hardline:vI,softline:AI,ifBreak:FI,fill:xI,align:SI,indent:wI,group:TI,hardlineWithoutBreakParent:BI},utils:{normalizeDoc:kI,replaceEndOfLineWith:NI},printer:{printDocToString:PI}}=Ji,{insertPragma:OI}=eI,{locStart:II,locEnd:jI}=PO,{getFencedCodeBlockValue:LI,hasGitDiffFriendlyOrderedList:_I,splitText:MI,punctuationPattern:RI,INLINE_NODE_TYPES:$I,INLINE_NODE_WRAPPER_TYPES:VI,isAutolink:qI}=UO,WI=new Set(["importExport"]),UI=["heading","tableCell","link","wikiLink"],zI=new Set(["listItem","definition","footnoteDefinition"]);function GI(e,t,n,r){const i=e.getValue(),u=null===i.checked?"":i.checked?"[x] ":"[ ] ";return[u,QI(e,t,n,{processor:(e,i)=>{if(0===i&&"list"!==e.getValue().type)return SI(" ".repeat(u.length),n());const o=" ".repeat(function(e,t,n){return en?n:e}(t.tabWidth-r.length,0,3));return[o,SI(o,n())]}})]}function HI(e,t){return function(e,t,n){let r=-1;for(const i of t.children)if(i.type===e.type&&n(i)?r++:r=-1,i===e)return r}(e,t,(t=>t.ordered===e.ordered))}function JI(e,t){const n=Array.isArray(t)?t:[t];let r,i=-1;for(;r=e.getParentNode(++i);)if(n.includes(r.type))return i;return-1}function XI(e,t){const n=JI(e,t);return-1===n?null:e.getParentNode(n)}function YI(e,t,n){if("preserve"===n.proseWrap&&"\n"===t)return vI;const r="always"===n.proseWrap&&!XI(e,UI);return""!==t?r?EI:" ":r?AI:""}function KI(e,t,n){const r=[];let i=null;const{children:u}=e.getValue();for(const[e,t]of u.entries())switch(ej(t)){case"start":null===i&&(i={index:e,offset:t.position.end.offset});break;case"end":null!==i&&(r.push({start:i,end:{index:e,offset:t.position.start.offset}}),i=null)}return QI(e,t,n,{processor:(e,i)=>{if(r.length>0){const e=r[0];if(i===e.start.index)return[u[e.start.index].value,t.originalText.slice(e.start.offset,e.end.offset),u[e.end.index].value];if(e.start.indexn()),o=e.getValue(),s=[];let a;return e.each(((e,n)=>{const r=e.getValue(),i=u(e,n);if(!1!==i){const e={parts:s,prevNode:a,parentNode:o,options:t};(function(e,t){const n=0===t.parts.length,r=$I.includes(e.type),i="html"===e.type&&VI.includes(t.parentNode.type);return!n&&!r&&!i})(r,e)&&(s.push(vI),a&&WI.has(a.type)||(function(e,t){const n=(t.prevNode&&t.prevNode.type)===e.type&&zI.has(e.type),r="listItem"===t.parentNode.type&&!t.parentNode.loose,i=t.prevNode&&"listItem"===t.prevNode.type&&t.prevNode.loose,u="next"===ej(t.prevNode),o="html"===e.type&&t.prevNode&&"html"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line,s="html"===e.type&&"listItem"===t.parentNode.type&&t.prevNode&&"paragraph"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line;return i||!(n||r||u||o||s)}(r,e)||tj(r,e))&&s.push(vI),tj(r,e)&&s.push(vI)),s.push(i),a=r}}),"children"),i?i(s):s}function ZI(e){let t=e;for(;mI(t.children);)t=fI(t.children);return t}function ej(e){if("html"!==e.type)return!1;const t=e.value.match(/^$/);return null!==t&&(t[1]?t[1]:"next")}function tj(e,t){const n=t.prevNode&&"list"===t.prevNode.type,r="code"===e.type&&e.isIndented;return n&&r}function nj(e,t=[]){const n=[" ",...Array.isArray(t)?t:[t]];return new RegExp(n.map((e=>`\\${e}`)).join("|")).test(e)?`<${e}>`:e}function rj(e,t,n=!0){if(!e)return"";if(n)return" "+rj(e,t,!1);if((e=e.replace(/\\(["')])/g,"$1")).includes('"')&&e.includes("'")&&!e.includes(")"))return`(${e})`;const r=e.split("'").length-1,i=e.split('"').length-1,u=r>i?'"':i>r||t.singleQuote?"'":'"';return`${u}${e=(e=e.replace(/\\/,"\\\\")).replace(new RegExp(`(${u})`,"g"),"\\$1")}${u}`}var ij={preprocess:oI,print:function(e,t,n){const r=e.getValue();if(function(e){const t=XI(e,["linkReference","imageReference"]);return t&&("linkReference"!==t.type||"full"!==t.referenceType)}(e))return MI(t.originalText.slice(r.position.start.offset,r.position.end.offset),t).map((n=>"word"===n.type?n.value:""===n.value?"":YI(e,n.value,t)));switch(r.type){case"front-matter":return t.originalText.slice(r.position.start.offset,r.position.end.offset);case"root":return 0===r.children.length?"":[kI(KI(e,t,n)),WI.has(ZI(r).type)?"":vI];case"paragraph":return QI(e,t,n,{postprocessor:xI});case"sentence":return QI(e,t,n);case"word":{let t=r.value.replace(/\*/g,"\\$&").replace(new RegExp([`(^|${RI})(_+)`,`(_+)(${RI}|$)`].join("|"),"g"),((e,t,n,r,i)=>(n?`${t}${n}`:`${r}${i}`).replace(/_/g,"\\_")));const n=(e,t,n)=>"sentence"===e.type&&0===n,i=(e,t,n)=>qI(e.children[n-1]);return t!==r.value&&(e.match(void 0,n,i)||e.match(void 0,n,((e,t,n)=>"emphasis"===e.type&&0===n),i))&&(t=t.replace(/^(\\?[*_])+/,(e=>e.replace(/\\/g,"")))),t}case"whitespace":{const n=e.getParentNode(),i=n.children.indexOf(r),u=n.children[i+1],o=u&&/^>|^([*+-]|#{1,6}|\d+[).])$/.test(u.value)?"never":t.proseWrap;return YI(e,r.value,{proseWrap:o})}case"emphasis":{let i;if(qI(r.children[0]))i=t.originalText[r.position.start.offset];else{const t=e.getParentNode(),n=t.children.indexOf(r),u=t.children[n-1],o=t.children[n+1];i=u&&"sentence"===u.type&&u.children.length>0&&"word"===fI(u.children).type&&!fI(u.children).hasTrailingPunctuation||o&&"sentence"===o.type&&o.children.length>0&&"word"===o.children[0].type&&!o.children[0].hasLeadingPunctuation||XI(e,"emphasis")?"*":"_"}return[i,QI(e,t,n),i]}case"strong":return["**",QI(e,t,n),"**"];case"delete":return["~~",QI(e,t,n),"~~"];case"inlineCode":{const e=dI(r.value,"`"),t="`".repeat(e||1),n=e&&!/^\s/.test(r.value)?" ":"";return[t,n,r.value,n,t]}case"wikiLink":{let e="";return e="preserve"===t.proseWrap?r.value:r.value.replace(/[\t\n]+/g," "),["[[",e,"]]"]}case"link":switch(t.originalText[r.position.start.offset]){case"<":{const e="mailto:";return["<",r.url.startsWith(e)&&t.originalText.slice(r.position.start.offset+1,r.position.start.offset+1+e.length)!==e?r.url.slice(e.length):r.url,">"]}case"[":return["[",QI(e,t,n),"](",nj(r.url,")"),rj(r.title,t),")"];default:return t.originalText.slice(r.position.start.offset,r.position.end.offset)}case"image":return["![",r.alt||"","](",nj(r.url,")"),rj(r.title,t),")"];case"blockquote":return["> ",SI("> ",QI(e,t,n))];case"heading":return["#".repeat(r.depth)+" ",QI(e,t,n)];case"code":{if(r.isIndented){const e=" ".repeat(4);return SI(e,[e,...NI(r.value,vI)])}const e=t.__inJsTemplate?"~":"`",n=e.repeat(Math.max(3,hI(r.value,e)+1));return[n,r.lang||"",r.meta?" "+r.meta:"",vI,...NI(LI(r,t.originalText),vI),vI,n]}case"html":{const t=e.getParentNode(),n="root"===t.type&&fI(t.children)===r?r.value.trimEnd():r.value,i=/^$/s.test(n);return NI(n,i?vI:CI(bI))}case"list":{const i=HI(r,e.getParentNode()),u=_I(r,t);return QI(e,t,n,{processor:(e,o)=>{const s=function(){const e=r.ordered?(0===o?r.start:u?1:r.start+o)+(i%2==0?". ":") "):i%2==0?"- ":"* ";return r.isAligned||r.hasIndentedCodeblock?function(e,t){const n=r();return e+" ".repeat(n>=4?0:n);function r(){const n=e.length%t.tabWidth;return 0===n?0:t.tabWidth-n}}(e,t):e}(),a=e.getValue();return 2===a.children.length&&"html"===a.children[1].type&&a.children[0].position.start.column!==a.children[1].position.start.column?[s,GI(e,t,n,s)]:[s,SI(" ".repeat(s.length),GI(e,t,n,s))]}})}case"thematicBreak":{const t=JI(e,"list");if(-1===t)return"---";return HI(e.getParentNode(t),e.getParentNode(t+1))%2==0?"***":"---"}case"linkReference":return["[",QI(e,t,n),"]","full"===r.referenceType?["[",r.identifier,"]"]:"collapsed"===r.referenceType?"[]":""];case"imageReference":switch(r.referenceType){case"full":return["![",r.alt||"","][",r.identifier,"]"];default:return["![",r.alt,"]","collapsed"===r.referenceType?"[]":""]}case"definition":{const e="always"===t.proseWrap?EI:" ";return TI(["[",r.identifier,"]:",wI([e,nj(r.url),null===r.title?"":[e,rj(r.title,t,!1)]])])}case"footnote":return["[^",QI(e,t,n),"]"];case"footnoteReference":return["[^",r.identifier,"]"];case"footnoteDefinition":{const i=e.getParentNode().children[e.getName()+1],u=1===r.children.length&&"paragraph"===r.children[0].type&&("never"===t.proseWrap||"preserve"===t.proseWrap&&r.children[0].position.start.line===r.children[0].position.end.line);return["[^",r.identifier,"]: ",u?QI(e,t,n):TI([SI(" ".repeat(4),QI(e,t,n,{processor:(e,t)=>0===t?TI([AI,n()]):n()})),i&&"footnoteDefinition"===i.type?AI:""])]}case"table":return function(e,t,n){const r=e.getValue(),i=[],u=e.map((e=>e.map(((e,r)=>{const u=PI(n(),t).formatted,o=gI(u);return i[r]=Math.max(i[r]||3,o),{text:u,width:o}}),"children")),"children"),o=a(!1);if("never"!==t.proseWrap)return[yI,o];const s=a(!0);return[yI,TI(FI(s,o))];function a(e){const t=[c(u[0],e),l(e)];return u.length>1&&t.push(DI(BI,u.slice(1).map((t=>c(t,e))))),DI(BI,t)}function l(e){return`| ${i.map(((t,n)=>{const i=r.align[n],u="center"===i||"right"===i?":":"-";return`${"center"===i||"left"===i?":":"-"}${e?"-":"-".repeat(t-2)}${u}`})).join(" | ")} |`}function c(e,t){return`| ${e.map((({text:e,width:n},u)=>{if(t)return e;const o=i[u]-n,s=r.align[u];let a=0;"right"===s?a=o:"center"===s&&(a=Math.floor(o/2));const l=o-a;return`${" ".repeat(a)}${e}${" ".repeat(l)}`})).join(" | ")} |`}}(e,t,n);case"tableCell":return QI(e,t,n);case"break":return/\s/.test(t.originalText[r.position.start.offset])?[" ",CI(bI)]:["\\",vI];case"liquidNode":return NI(r.value,vI);case"importExport":return[r.value,vI];case"jsx":return r.value;case"math":return["$$",vI,r.value?[...NI(r.value,vI),vI]:"","$$"];case"inlineMath":return t.originalText.slice(II(r),jI(r));case"tableRow":case"listItem":default:throw new Error(`Unknown markdown type ${JSON.stringify(r.type)}`)}},embed:KO,massageAstNode:pI,hasPrettierIgnore:function(e){const t=Number(e.getName());return 0!==t&&"next"===ej(e.getParentNode().children[t-1])},insertPragma:OI},uj={proseWrap:$B.proseWrap,singleQuote:$B.singleQuote},oj={name:"Markdown",type:"prose",color:"#083fa1",aliases:["pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr"],tmScope:"source.gfm",languageId:222};var sj={languages:[Yd(oj,(e=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:[...e.filenames,"README"],extensions:e.extensions.filter((e=>".mdx"!==e))}))),Yd(oj,(()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]})))],options:uj,printers:{mdast:ij},parsers:{get remark(){return require("./parser-markdown").parsers.remark},get markdown(){return require("./parser-markdown").parsers.remark},get mdx(){return require("./parser-markdown").parsers.mdx}}};const{isFrontMatterNode:aj}=fi,lj=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan"]);function cj(e,t){return"text"===e.type||"comment"===e.type||aj(e)||"yaml"===e.type||"toml"===e.type?null:("attribute"===e.type&&delete t.value,void("docType"===e.type&&delete t.value))}cj.ignoredProperties=lj;var pj=cj,fj={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],abbr:["title"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],bdo:["dir"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dfn:["title"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["accesskey","for","form"],legend:["accesskey","align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],select:["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],slot:["name"],source:["media","sizes","src","srcset","type"],style:["media","nonce","title","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]};const{inferParserByLanguage:dj,isFrontMatterNode:hj}=fi,{CSS_DISPLAY_TAGS:gj,CSS_DISPLAY_DEFAULT:mj,CSS_WHITE_SPACE_TAGS:yj,CSS_WHITE_SPACE_DEFAULT:Dj}={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},Ej=Fj(["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]),bj=function(e,t){const n=Object.create(null);for(const[r,i]of Object.entries(e))n[r]=t(i,r);return n}(fj,Fj),Cj=new Set(["\t","\n","\f","\r"," "]),vj=e=>e.replace(/[\t\n\f\r ]+$/,""),Aj=e=>e.match(/^[\t\n\f\r ]*/)[0];function Fj(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function xj(e,t){return!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||(!(!_j(e)||!e.children.some((e=>"text"!==e.type&&"interpolation"!==e.type)))||!(!Wj(e,t)||wj(e)||"interpolation"===e.type)))}function Sj(e){if("attribute"===e.type)return!1;if(!e.parent)return!1;if("number"!=typeof e.index||0===e.index)return!1;return function(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}(e.parent.children[e.index-1])}function wj(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||Mj(e)&&("script"===e.name||"style"===e.name))}function Tj(e){return Rj(e).startsWith("pre")}function Bj(e){return"element"===e.type&&e.children.length>0&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function kj(e){return Ij(e)||"element"===e.type&&"br"===e.fullName||Nj(e)}function Nj(e){return Pj(e)&&Oj(e)}function Pj(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function Ij(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function jj(e){const{type:t,lang:n}=e.attrMap;return"module"===t||"text/javascript"===t||"text/babel"===t||"application/javascript"===t||"jsx"===n?"babel":"application/x-typescript"===t||"ts"===n||"tsx"===n?"typescript":"text/markdown"===t?"markdown":"text/html"===t?"html":t&&(t.endsWith("json")||t.endsWith("importmap"))?"json":"text/x-handlebars-template"===t?"glimmer":void 0}function Lj(e){return"block"===e||"list-item"===e||e.startsWith("table")}function _j(e){return Rj(e).startsWith("pre")}function Mj(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function Rj(e){return"element"===e.type&&(!e.namespace||Mj(e))&&yj[e.name]||Dj}const $j=new Set(["template","style","script"]);function Vj(e,t){return qj(e,t)&&!$j.has(e.fullName)}function qj(e,t){return"vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&"html"!==e.fullName.toLowerCase()}function Wj(e,t){return qj(e,t)&&(Vj(e,t)||e.attrMap.lang&&"html"!==e.attrMap.lang)}var Uj={HTML_ELEMENT_ATTRIBUTES:bj,HTML_TAGS:Ej,htmlTrim:e=>(e=>e.replace(/^[\t\n\f\r ]+/,""))(vj(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\t\f\r ]*?\n/g,""))(vj(e)),splitByHtmlWhitespace:e=>e.split(/[\t\n\f\r ]+/),hasHtmlWhitespace:e=>/[\t\n\f\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,n,r]=e.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:t,trailingWhitespace:r,text:n}},canHaveInterpolation:function(e){return e.children&&!wj(e)},countChars:function(e,t){let n=0;for(let r=0;r=0;r--){const i=e.stack[r];i&&"object"==typeof i&&!Array.isArray(i)&&t(i)&&n++}return n},dedentString:function(e,t=function(e){let t=Number.POSITIVE_INFINITY;for(const n of e.split("\n")){if(0===n.length)continue;if(!Cj.has(n[0]))return 0;const e=Aj(n).length;n.length!==e&&ee.slice(t))).join("\n")},forceBreakChildren:Bj,forceBreakContent:function(e){return Bj(e)||"element"===e.type&&e.children.length>0&&(["body","script","style"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>"text"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&"text"!==e.firstChild.type&&Pj(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||Oj(e.lastChild))},forceNextEmptyLine:function(e){return hj(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1"svg:foreignObject"===e.fullName)))return"svg"===e.name?"inline-block":"block";n=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"vue"===t.parser&&e.parent&&"root"===e.parent.type?"block":"element"===e.type&&(!e.namespace||n||Mj(e))&&gj[e.name]||mj}},getNodeCssStyleWhiteSpace:Rj,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);return!!t&&(!t[1]||t[1].split(/\s+/))},hasPrettierIgnore:Sj,inferScriptParser:function(e,t){return"script"!==e.name||e.attrMap.src?"style"===e.name?function(e){const{lang:t}=e.attrMap;return t&&"postcss"!==t&&"css"!==t?"scss"===t?"scss":"less"===t?"less":void 0:"css"}(e):t&&Wj(e,t)?jj(e)||!("src"in e.attrMap)&&dj(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?jj(e):"babel"},isVueCustomBlock:Vj,isVueNonHtmlBlock:Wj,isVueSlotAttribute:function(e){const t=e.fullName;return"#"===t.charAt(0)||"slot-scope"===t||"v-slot"===t||t.startsWith("v-slot:")},isVueSfcBindingsAttribute:function(e,t){const n=e.parent;if(!qj(n,t))return!1;const r=n.fullName,i=e.fullName;return"script"===r&&"setup"===i||"style"===r&&"vars"===i},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,Lj(t)||"inline-block"===t||wj(e));var t},isIndentationSensitiveNode:Tj,isLeadingSpaceSensitiveNode:function(e,t){const n=function(){if(hj(e))return!1;if(("text"===e.type||"interpolation"===e.type)&&e.prev&&("text"===e.prev.type||"interpolation"===e.prev.type))return!0;if(!e.parent||"none"===e.parent.cssDisplay)return!1;if(_j(e.parent))return!0;if(!e.prev&&("root"===e.parent.type||_j(e)&&e.parent||wj(e.parent)||Vj(e.parent,t)||(n=e.parent.cssDisplay,Lj(n)||"inline-block"===n)))return!1;var n;if(e.prev&&!function(e){return!Lj(e)}(e.prev.cssDisplay))return!1;return!0}();return n&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:n},isPreLikeNode:_j,isScriptLikeTag:wj,isTextLikeNode:function(e){return"text"===e.type||"comment"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!hj(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!_j(e.parent)||!(!e.next&&("root"===e.parent.type||_j(e)&&e.parent||wj(e.parent)||Vj(e.parent,t)||(n=e.parent.cssDisplay,Lj(n)||"inline-block"===n)))&&!(e.next&&!function(e){return!Lj(e)}(e.next.cssDisplay))));var n},isWhitespaceSensitiveNode:function(e){return wj(e)||"interpolation"===e.type||Tj(e)},isUnknownNamespace:Mj,preferHardlineAsLeadingSpaces:function(e){return Ij(e)||e.prev&&kj(e.prev)||Nj(e)},preferHardlineAsTrailingSpaces:kj,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Sj(e)||xj(e.parent,t))},shouldPreserveContent:xj,unescapeQuoteEntities:function(e){return e.replace(/'/g,"'").replace(/"/g,'"')}},zj=i((function(e,t){function n(e){return t.$0<=e&&e<=t.$9} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=n,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||n(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class Gj{constructor(e,t,n){this.filePath=e,this.name=t,this.members=n}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}}var Hj=Gj;var Jj=class{constructor(){this.cache=new Map}get(e,t,n){const r=`"${e}".${t}${(n=n||[]).length?`.${n.join(".")}`:""}`;let i=this.cache.get(r);return i||(i=new Gj(e,t,n),this.cache.set(r,i)),i}},Xj=Object.defineProperty({StaticSymbol:Hj,StaticSymbolCache:Jj},"__esModule",{value:!0}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +const Yj=/-+([a-z0-9])/g;var Kj=function(e){return e.replace(Yj,((...e)=>e[1].toUpperCase()))};var Qj=function(e,t){return eL(e,":",t)};var Zj=function(e,t){return eL(e,".",t)};function eL(e,t,n){const r=e.indexOf(t);return-1==r?n:[e.slice(0,r).trim(),e.slice(r+1).trim()]}function tL(e,t,n){return Array.isArray(e)?t.visitArray(e,n):function(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===hL}(e)?t.visitStringMap(e,n):null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?t.visitPrimitive(e,n):t.visitOther(e,n)}var nL=tL;var rL=function(e){return null!=e};var iL=function(e){return void 0===e?null:e};var uL=class{visitArray(e,t){return e.map((e=>tL(e,this,t)))}visitStringMap(e,t){const n={};return Object.keys(e).forEach((r=>{n[r]=tL(e[r],this,t)})),n}visitPrimitive(e,t){return e}visitOther(e,t){return e}},oL={assertSync:e=>{if(DL(e))throw new Error("Illegal state: value cannot be a promise");return e},then:(e,t)=>DL(e)?e.then(t):t(e),all:e=>e.some(DL)?Promise.all(e):e};var sL=function(e){throw new Error(`Internal Error: ${e}`)};var aL=function(e,t){const n=Error(e);return n[lL]=!0,t&&(n[cL]=t),n};const lL="ngSyntaxError",cL="ngParseErrors";var pL=function(e){return e[lL]};var fL=function(e){return e[cL]||[]};var dL=function(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};const hL=Object.getPrototypeOf({});var gL=function(e){let t="";for(let n=0;n=55296&&r<=56319&&e.length>n+1){const t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n++,r=(r-55296<<10)+t-56320+65536)}r<=127?t+=String.fromCharCode(r):r<=2047?t+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?t+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(t+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return t};var mL=function e(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(e).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;if(!t.toString)return"object";const n=t.toString();if(null==n)return""+n;const r=n.indexOf("\n");return-1===r?n:n.substring(0,r)};var yL=function(e){return"function"==typeof e&&e.hasOwnProperty("__forward_ref__")?e():e};function DL(e){return!!e&&"function"==typeof e.then}var EL=DL;var bL=class{constructor(e){this.full=e;const t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};const CL="undefined"!=typeof window&&window,vL="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self;var AL=void 0!==n&&n||CL||vL,FL=Object.defineProperty({dashCaseToCamelCase:Kj,splitAtColon:Qj,splitAtPeriod:Zj,visitValue:nL,isDefined:rL,noUndefined:iL,ValueTransformer:uL,SyncAsync:oL,error:sL,syntaxError:aL,isSyntaxError:pL,getParseErrors:fL,escapeRegExp:dL,utf8Encode:gL,stringify:mL,resolveForwardRef:yL,isPromise:EL,Version:bL,global:AL},"__esModule",{value:!0}),xL=i((function(e,t){ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +Object.defineProperty(t,"__esModule",{value:!0});const n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function r(e){return e.replace(/\W/g,"_")}t.sanitizeIdentifier=r;let i=0;function u(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof Xj.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let n=FL.stringify(t);return n.indexOf("(")>=0?(n="anonymous_"+i++,t.__anonymousType=n):n=r(n),n}var o;t.identifierName=u,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof Xj.StaticSymbol?t.filePath:`./${FL.stringify(t)}`},t.viewClassName=function(e,t){return`View_${u({reference:e})}_${t}`},t.rendererTypeName=function(e){return`RenderType_${u({reference:e})}`},t.hostViewClassName=function(e){return`HostView_${u({reference:e})}`},t.componentFactoryName=function(e){return`${u({reference:e})}NgFactory`},function(e){e[e.Pipe=0]="Pipe",e[e.Directive=1]="Directive",e[e.NgModule=2]="NgModule",e[e.Injectable=3]="Injectable"}(o=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?r(e.value):u(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:n}={}){this.moduleUrl=e||null,this.styles=a(t),this.styleUrls=a(n)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:n,htmlAst:r,styles:i,styleUrls:u,externalStylesheets:o,animations:s,ngContentSelectors:c,interpolation:p,isInline:f,preserveWhitespaces:d}){if(this.encapsulation=e,this.template=t,this.templateUrl=n,this.htmlAst=r,this.styles=a(i),this.styleUrls=a(u),this.externalStylesheets=a(o),this.animations=s?l(s):[],this.ngContentSelectors=c||[],p&&2!=p.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=p,this.isInline=f,this.preserveWhitespaces=d}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class s{static create({isHost:e,type:t,isComponent:r,selector:i,exportAs:u,changeDetection:o,inputs:a,outputs:l,host:c,providers:p,viewProviders:f,queries:d,guards:h,viewQueries:g,entryComponents:m,template:y,componentViewType:D,rendererType:E,componentFactory:b}){const C={},v={},A={};null!=c&&Object.keys(c).forEach((e=>{const t=c[e],r=e.match(n);null===r?A[e]=t:null!=r[1]?v[r[1]]=t:null!=r[2]&&(C[r[2]]=t)}));const F={};null!=a&&a.forEach((e=>{const t=FL.splitAtColon(e,[e,e]);F[t[0]]=t[1]}));const x={};return null!=l&&l.forEach((e=>{const t=FL.splitAtColon(e,[e,e]);x[t[0]]=t[1]})),new s({isHost:e,type:t,isComponent:!!r,selector:i,exportAs:u,changeDetection:o,inputs:F,outputs:x,hostListeners:C,hostProperties:v,hostAttributes:A,providers:p,viewProviders:f,queries:d,guards:h,viewQueries:g,entryComponents:m,template:y,componentViewType:D,rendererType:E,componentFactory:b})}constructor({isHost:e,type:t,isComponent:n,selector:r,exportAs:i,changeDetection:u,inputs:o,outputs:s,hostListeners:l,hostProperties:c,hostAttributes:p,providers:f,viewProviders:d,queries:h,guards:g,viewQueries:m,entryComponents:y,template:D,componentViewType:E,rendererType:b,componentFactory:C}){this.isHost=!!e,this.type=t,this.isComponent=n,this.selector=r,this.exportAs=i,this.changeDetection=u,this.inputs=o,this.outputs=s,this.hostListeners=l,this.hostProperties=c,this.hostAttributes=p,this.providers=a(f),this.viewProviders=a(d),this.queries=a(h),this.guards=g,this.viewQueries=a(m),this.entryComponents=a(y),this.template=D,this.componentViewType=E,this.rendererType=b,this.componentFactory=C}toSummary(){return{summaryKind:o.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=s;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:n}){this.type=e,this.name=t,this.pure=!!n}toSummary(){return{summaryKind:o.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:n,exportedDirectives:r,declaredPipes:i,exportedPipes:u,entryComponents:o,bootstrapComponents:s,importedModules:l,exportedModules:c,schemas:p,transitiveModule:f,id:d}){this.type=e||null,this.declaredDirectives=a(n),this.exportedDirectives=a(r),this.declaredPipes=a(i),this.exportedPipes=a(u),this.providers=a(t),this.entryComponents=a(o),this.bootstrapComponents=a(s),this.importedModules=a(l),this.exportedModules=a(c),this.schemas=a(p),this.id=d||null,this.transitiveModule=f||null}toSummary(){const e=this.transitiveModule;return{summaryKind:o.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function a(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function l(e){return e.reduce(((e,t)=>{const n=Array.isArray(t)?l(t):t;return e.concat(n)}),[])}function c(e){return e.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:n,useExisting:r,useFactory:i,deps:u,multi:o}){this.token=e,this.useClass=t||null,this.useValue=n,this.useExisting=r,this.useFactory=i||null,this.dependencies=u||null,this.multi=!!o}},t.flatten=l,t.templateSourceUrl=function(e,t,n){let r;return r=n.isInline?t.type.reference instanceof Xj.StaticSymbol?`${t.type.reference.filePath}.${t.type.reference.name}.html`:`${u(e)}/${u(t.type)}.html`:n.templateUrl,t.type.reference instanceof Xj.StaticSymbol?r:c(r)},t.sharedStylesheetJitUrl=function(e,t){const n=e.moduleUrl.split(/\/\\/g);return c(`css/${t}${n[n.length-1]}.ngstyle.js`)},t.ngModuleJitUrl=function(e){return c(`${u(e.type)}/module.ngfactory.js`)},t.templateJitUrl=function(e,t){return c(`${u(e)}/${u(t.type)}.ngfactory.js`)}})),SL=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +class n{constructor(e,t,n,r){this.file=e,this.offset=t,this.line=n,this.col=r}toString(){return null!=this.offset?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(e){const t=this.file.content,r=t.length;let i=this.offset,u=this.line,o=this.col;for(;i>0&&e<0;){i--,e++;if(t.charCodeAt(i)==zj.$LF){u--;const e=t.substr(0,i-1).lastIndexOf(String.fromCharCode(zj.$LF));o=e>0?i-e:i}else o--}for(;i0;){const n=t.charCodeAt(i);i++,e--,n==zj.$LF?(u++,o=0):o++}return new n(this.file,i,u,o)}getContext(e,t){const n=this.file.content;let r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);let i=r,u=0,o=0;for(;u0&&(r--,u++,"\n"!=n[r]||++o!=t););for(u=0,o=0;u]${e.after}")`:this.msg}toString(){const e=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${e}`}},t.typeSourceSpan=function(e,t){const u=xL.identifierModuleUrl(t),o=null!=u?`in ${e} ${xL.identifierName(t)} in ${u}`:`in ${e} ${xL.identifierName(t)}`,s=new r("",o);return new i(new n(s,-1,-1,-1),new n(s,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,u){const o=new r("",`in ${e} ${t} in ${u}`);return new i(new n(o,-1,-1,-1),new n(o,-1,-1,-1))}}));const{ParseSourceSpan:wL}=SL,{htmlTrim:TL,getLeadingAndTrailingHtmlWhitespace:BL,hasHtmlWhitespace:kL,canHaveInterpolation:NL,getNodeCssStyleDisplay:PL,isDanglingSpaceSensitiveNode:OL,isIndentationSensitiveNode:IL,isLeadingSpaceSensitiveNode:jL,isTrailingSpaceSensitiveNode:LL,isWhitespaceSensitiveNode:_L}=Uj,ML=[function(e){return e.map((e=>{if("element"===e.type&&e.tagDefinition.ignoreFirstLf&&e.children.length>0&&"text"===e.children[0].type&&"\n"===e.children[0].value[0]){const[t,...n]=e.children;return e.clone({children:1===t.value.length?n:[t.clone({value:t.value.slice(1)}),...n]})}return e}))},function(e){const t=e=>"element"===e.type&&e.prev&&"ieConditionalStartComment"===e.prev.type&&e.prev.sourceSpan.end.offset===e.startSourceSpan.start.offset&&e.firstChild&&"ieConditionalEndComment"===e.firstChild.type&&e.firstChild.sourceSpan.start.offset===e.startSourceSpan.end.offset;return e.map((e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r{if(e.children){const r=e.children.map(t);if(r.some(Boolean)){const t=[];for(let i=0;i"cdata"===e.type),(e=>``))},function(e,t){if("html"===t.parser)return e;const n=/{{(.+?)}}/gs;return e.map((e=>{if(!NL(e))return e;const t=[];for(const r of e.children){if("text"!==r.type){t.push(r);continue}let e=r.sourceSpan.start,i=null;const u=r.value.split(n);for(let n=0;n0&&t.push({type:"text",value:r,sourceSpan:new wL(e,i)}))}}return e.clone({children:t})}))},function(e){return e.map((e=>{if(!e.children)return e;if(0===e.children.length||1===e.children.length&&"text"===e.children[0].type&&0===TL(e.children[0].value).length)return e.clone({children:[],hasDanglingSpaces:e.children.length>0});const t=_L(e),n=IL(e);return e.clone({isWhitespaceSensitive:t,isIndentationSensitive:n,children:e.children.flatMap((e=>{if("text"!==e.type||t)return e;const n=[],{leadingWhitespace:r,text:i,trailingWhitespace:u}=BL(e.value);return r&&n.push(RL),i&&n.push({type:"text",value:i,sourceSpan:new wL(e.sourceSpan.start.moveBy(r.length),e.sourceSpan.end.moveBy(-u.length))}),u&&n.push(RL),n})).map(((e,t,n)=>{if(e!==RL)return Object.assign(Object.assign({},e),{},{hasLeadingSpaces:n[t-1]===RL,hasTrailingSpaces:n[t+1]===RL})})).filter(Boolean)})}))},function(e,t){return e.map((e=>Object.assign(e,{cssDisplay:PL(e,t)})))},function(e){return e.map((e=>Object.assign(e,{isSelfClosing:!e.children||"element"===e.type&&(e.tagDefinition.isVoid||e.startSourceSpan===e.endSourceSpan)})))},function(e,t){return e.map((e=>"element"!==e.type?e:Object.assign(e,{hasHtmComponentClosingTag:e.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(t.originalText.slice(e.endSourceSpan.start.offset,e.endSourceSpan.end.offset))})))},function(e,t){return e.map((e=>e.children?0===e.children.length?e.clone({isDanglingSpaceSensitive:OL(e)}):e.clone({children:e.children.map((e=>Object.assign(Object.assign({},e),{},{isLeadingSpaceSensitive:jL(e,t),isTrailingSpaceSensitive:LL(e,t)}))).map(((e,t,n)=>Object.assign(Object.assign({},e),{},{isLeadingSpaceSensitive:(0===t||n[t-1].isTrailingSpaceSensitive)&&e.isLeadingSpaceSensitive,isTrailingSpaceSensitive:(t===n.length-1||n[t+1].isLeadingSpaceSensitive)&&e.isTrailingSpaceSensitive})))}):e))},function(e){const t=e=>"element"===e.type&&0===e.attrs.length&&1===e.children.length&&"text"===e.firstChild.type&&!kL(e.children[0].value)&&!e.firstChild.hasLeadingSpaces&&!e.firstChild.hasTrailingSpaces&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces&&e.prev&&"text"===e.prev.type&&e.next&&"text"===e.next.type;return e.map((e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r`+i.firstChild.value+``+u.value,sourceSpan:new wL(n.sourceSpan.start,u.sourceSpan.end),isTrailingSpaceSensitive:o,hasTrailingSpaces:s}))}else t.push(i)}return e.clone({children:t})}}return e}))}];const RL={type:"whitespace"};var $L=function(e,t){for(const n of ML)e=n(e,t);return e};var VL={hasPragma:function(e){return/^\s*/.test(e)},insertPragma:function(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}};var qL={locStart:function(e){return e.sourceSpan.start.offset},locEnd:function(e){return e.sourceSpan.end.offset}};const{builders:{group:WL}}=Ji;var UL={isVueEventBindingExpression:function(e){const t=e.trim();return/^([\w$]+|\([^)]*?\))\s*=>|^function\s*\(/.test(t)||/^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/.test(t)},printVueFor:function(e,t){const{left:n,operator:r,right:i}=function(e){const t=/(.*?)\s+(in|of)\s+(.*)/s,n=/,([^,\]}]*)(?:,([^,\]}]*))?$/,r=/^\(|\)$/g,i=e.match(t);if(!i)return;const u={};u.for=i[3].trim();const o=i[1].trim().replace(r,""),s=o.match(n);s?(u.alias=o.replace(n,""),u.iterator1=s[1].trim(),s[2]&&(u.iterator2=s[2].trim())):u.alias=o;return{left:`${[u.alias,u.iterator1,u.iterator2].filter(Boolean).join(",")}`,operator:i[2],right:u.for}}(e);return[WL(t(`function _(${n}) {}`,{parser:"babel",__isVueForBindingLeft:!0}))," ",r," ",t(i,{parser:"__js_expression"},{stripTrailingHardline:!0})]},printVueBindings:function(e,t){return t(`function _(${e}) {}`,{parser:"babel",__isVueBindings:!0})}},zL=i((function(e){var t,r;t=n,r=function(){return function(e,t){var n=t&&t.logger||console;function r(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function i(t){var n,r=t.exec(e.substring(y));if(r)return n=r[0],y+=n.length,n}for(var u,o,s,a,l,c=e.length,p=/^[ \t\n\r\u000c]+/,f=/^[, \t\n\r\u000c]+/,d=/^[^ \t\n\r\u000c]+/,h=/[,]+$/,g=/^\d+$/,m=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,y=0,D=[];;){if(i(f),y>=c)return D;u=i(d),o=[],","===u.slice(-1)?(u=u.replace(h,""),b()):E()}function E(){for(i(p),s="",a="in descriptor";;){if(l=e.charAt(y),"in descriptor"===a)if(r(l))s&&(o.push(s),s="",a="after descriptor");else{if(","===l)return y+=1,s&&o.push(s),void b();if("("===l)s+=l,a="in parens";else{if(""===l)return s&&o.push(s),void b();s+=l}}else if("in parens"===a)if(")"===l)s+=l,a="in descriptor";else{if(""===l)return o.push(s),void b();s+=l}else if("after descriptor"===a)if(r(l));else{if(""===l)return void b();a="in descriptor",y-=1}y+=1}}function b(){var t,r,i,s,a,l,c,p,f,d=!1,h={};for(s=0;se)),r=t.some((({h:e})=>e));if(n+r+t.some((({d:e})=>e))>1)throw new Error("Mixed descriptor in srcset is not supported");const i=n?"w":r?"h":"d",u=n?"w":r?"h":"x",o=e=>Math.max(...e),s=t.map((e=>e.url)),a=o(s.map((e=>e.length))),l=t.map((e=>e[i])).map((e=>e?e.toString():"")),c=l.map((e=>{const t=e.indexOf(".");return-1===t?e.length:t})),p=o(c);return XL([",",YL],s.map(((e,t)=>{const n=[e],r=l[t];if(r){const i=a-e.length+1,o=p-c[t],s=" ".repeat(i+o);n.push(HL(s," "),r+u)}return n})))},printClassNames:function(e){const t=e.trim().split(/\s+/),n=[];let r;for(let e=0;eGL(XL(YL,e)))))]),KL]}};const{builders:{breakParent:t_,dedentToRoot:n_,fill:r_,group:i_,hardline:u_,ifBreak:o_,indentIfBreak:s_,indent:a_,join:l_,line:c_,literalline:p_,softline:f_},utils:{mapDoc:d_,cleanDoc:h_,getDocParts:g_,isConcat:m_,replaceEndOfLineWith:y_}}=Ji,{isNonEmptyArray:D_}=fi,{htmlTrimPreserveIndentation:E_,splitByHtmlWhitespace:b_,countChars:C_,countParents:v_,dedentString:A_,forceBreakChildren:F_,forceBreakContent:x_,forceNextEmptyLine:S_,getLastDescendant:w_,getPrettierIgnoreAttributeCommentData:T_,hasPrettierIgnore:B_,inferScriptParser:k_,isVueCustomBlock:N_,isVueNonHtmlBlock:P_,isVueSlotAttribute:O_,isVueSfcBindingsAttribute:I_,isScriptLikeTag:j_,isTextLikeNode:L_,preferHardlineAsLeadingSpaces:__,shouldNotPrintClosingTag:M_,shouldPreserveContent:R_,unescapeQuoteEntities:$_,isPreLikeNode:V_}=Uj,{insertPragma:q_}=VL,{locStart:W_,locEnd:U_}=qL,{printVueFor:z_,printVueBindings:G_,isVueEventBindingExpression:H_}=UL,{printImgSrcset:J_,printClassNames:X_}=e_;function Y_(e,t,n){const r=e.getValue();if(F_(r))return[t_,...e.map((e=>{const t=e.getValue(),n=t.prev?o(t.prev,t):"";return[n?[n,S_(t.prev)?u_:""]:"",u(e)]}),"children")];const i=r.children.map((()=>Symbol("")));return e.map(((e,t)=>{const n=e.getValue();if(L_(n)){if(n.prev&&L_(n.prev)){const t=o(n.prev,n);if(t)return S_(n.prev)?[u_,u_,u(e)]:[t,u(e)]}return u(e)}const r=[],s=[],a=[],l=[],c=n.prev?o(n.prev,n):"",p=n.next?o(n,n.next):"";return c&&(S_(n.prev)?r.push(u_,u_):c===u_?r.push(u_):L_(n.prev)?s.push(c):s.push(o_("",f_,{groupId:i[t-1]}))),p&&(S_(n)?L_(n.next)&&l.push(u_,u_):p===u_?L_(n.next)&&l.push(u_):a.push(p)),[...r,i_([...s,i_([u(e),...a],{id:i[t]})]),...l]}),"children");function u(e){const r=e.getValue();return B_(r)?[cM(r,t),...y_(t.originalText.slice(W_(r)+(r.prev&&uM(r.prev)?dM(r).length:0),U_(r)-(r.next&&sM(r.next)?mM(r,t).length:0)),p_),fM(r,t)]:n()}function o(e,t){return L_(e)&&L_(t)?e.isTrailingSpaceSensitive?e.hasTrailingSpaces?__(t)?u_:c_:"":__(t)?u_:f_:uM(e)&&(B_(t)||t.firstChild||t.isSelfClosing||"element"===t.type&&t.attrs.length>0)||"element"===e.type&&e.isSelfClosing&&sM(t)?"":!t.isLeadingSpaceSensitive||__(t)||sM(t)&&e.lastChild&&lM(e.lastChild)&&e.lastChild.lastChild&&lM(e.lastChild.lastChild)?u_:t.hasLeadingSpaces?c_:f_}}function K_(e,t){let n=e.startSourceSpan.end.offset;e.firstChild&&oM(e.firstChild)&&(n-=hM(e).length);let r=e.endSourceSpan.start.offset;return e.lastChild&&lM(e.lastChild)?r+=gM(e,t).length:aM(e)&&(r-=mM(e.lastChild,t).length),t.originalText.slice(n,r)}function Q_(e,t,n){const r=e.getValue();if(!D_(r.attrs))return r.isSelfClosing?" ":"";const i=r.prev&&"comment"===r.prev.type&&T_(r.prev.value),u="boolean"==typeof i?()=>i:Array.isArray(i)?e=>i.includes(e.rawName):()=>!1,o=e.map((e=>{const r=e.getValue();return u(r)?y_(t.originalText.slice(W_(r),U_(r)),p_):n()}),"attrs"),s="element"===r.type&&"script"===r.fullName&&1===r.attrs.length&&"src"===r.attrs[0].fullName&&0===r.children.length,a=[a_([s?" ":c_,l_(c_,o)])];return r.firstChild&&oM(r.firstChild)||r.isSelfClosing&&aM(r.parent)||s?a.push(r.isSelfClosing?" ":""):a.push(r.isSelfClosing?c_:f_),a}function Z_(e,t,n){const r=e.getValue();return[eM(r,t),Q_(e,t,n),r.isSelfClosing?"":tM(r)]}function eM(e,t){return e.prev&&uM(e.prev)?"":[cM(e,t),dM(e)]}function tM(e){return e.firstChild&&oM(e.firstChild)?"":hM(e)}function nM(e,t){return[e.isSelfClosing?"":rM(e,t),iM(e,t)]}function rM(e,t){return e.lastChild&&lM(e.lastChild)?"":[pM(e,t),gM(e,t)]}function iM(e,t){return(e.next?sM(e.next):aM(e.parent))?"":[mM(e,t),fM(e,t)]}function uM(e){return e.next&&!L_(e.next)&&L_(e)&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces}function oM(e){return!e.prev&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function sM(e){return e.prev&&"docType"!==e.prev.type&&!L_(e.prev)&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function aM(e){return e.lastChild&&e.lastChild.isTrailingSpaceSensitive&&!e.lastChild.hasTrailingSpaces&&!L_(w_(e.lastChild))&&!V_(e)}function lM(e){return!e.next&&!e.hasTrailingSpaces&&e.isTrailingSpaceSensitive&&L_(w_(e))}function cM(e,t){return oM(e)?hM(e.parent):sM(e)?mM(e.prev,t):""}function pM(e,t){return aM(e)?mM(e.lastChild,t):""}function fM(e,t){return lM(e)?gM(e.parent,t):uM(e)?dM(e.next):""}function dM(e){switch(e.type){case"ieConditionalComment":case"ieConditionalStartComment":return`\x3c!--[if ${e.condition}`;case"ieConditionalEndComment":return"\x3c!--\x3c!--\x3e<${e.rawName}`;default:return`<${e.rawName}`}}function hM(e){switch(yf(!e.isSelfClosing),e.type){case"ieConditionalComment":return"]>";case"element":if(e.condition)return">\x3c!--"}}function gM(e,t){if(yf(!e.isSelfClosing),M_(e,t))return"";switch(e.type){case"ieConditionalComment":return"\x3c!--\x3e";case"interpolation":return"}}";case"element":if(e.isSelfClosing)return"/>";default:return">"}}function yM(e,t=e.value){return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?y_(t,p_):y_(A_(E_(t)),u_):g_(l_(c_,b_(t)))}var DM={preprocess:$L,print:function(e,t,n){const r=e.getValue();switch(r.type){case"front-matter":return y_(r.raw,p_);case"root":return t.__onHtmlRoot&&t.__onHtmlRoot(r),[i_(Y_(e,t,n)),u_];case"element":case"ieConditionalComment":{if(R_(r,t))return[cM(r,t),i_(Z_(e,t,n)),...y_(K_(r,t),p_),...nM(r,t),fM(r,t)];const u=1===r.children.length&&"interpolation"===r.firstChild.type&&r.firstChild.isLeadingSpaceSensitive&&!r.firstChild.hasLeadingSpaces&&r.lastChild.isTrailingSpaceSensitive&&!r.lastChild.hasTrailingSpaces,o=Symbol("element-attr-group-id");return[i_([i_(Z_(e,t,n),{id:o}),0===r.children.length?r.hasDanglingSpaces&&r.isDanglingSpaceSensitive?c_:"":[x_(r)?t_:"",(i=[u?o_(f_,"",{groupId:o}):r.firstChild.hasLeadingSpaces&&r.firstChild.isLeadingSpaceSensitive?c_:"text"===r.firstChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive?n_(f_):f_,Y_(e,t,n)],u?s_(i,{groupId:o}):!j_(r)&&!N_(r,t)||"root"!==r.parent.type||"vue"!==t.parser||t.vueIndentScriptAndStyle?a_(i):i),(r.next?sM(r.next):aM(r.parent))?r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?" ":"":u?o_(f_,"",{groupId:o}):r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?c_:("comment"===r.lastChild.type||"text"===r.lastChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive)&&new RegExp(`\\n[\\t ]{${t.tabWidth*v_(e,(e=>e.parent&&"root"!==e.parent.type))}}$`).test(r.lastChild.value)?"":f_]]),nM(r,t)]}case"ieConditionalStartComment":case"ieConditionalEndComment":return[eM(r),iM(r)];case"interpolation":return[eM(r,t),...e.map(n,"children"),iM(r,t)];case"text":{if("interpolation"===r.parent.type){const e=/\n[^\S\n]*?$/,t=e.test(r.value),n=t?r.value.replace(e,""):r.value;return[...y_(n,p_),t?u_:""]}const e=h_([cM(r,t),...yM(r),fM(r,t)]);return m_(e)||"fill"===e.type?r_(g_(e)):e}case"docType":return[i_([eM(r,t)," ",r.value.replace(/^html\b/i,"html").replace(/\s+/g," ")]),iM(r,t)];case"comment":return[cM(r,t),...y_(t.originalText.slice(W_(r),U_(r)),p_),fM(r,t)];case"attribute":{if(null===r.value)return r.rawName;const e=$_(r.value),t=C_(e,"'")new RegExp(t.join("|")).test(e.fullName),i=()=>$_(e.value);let u=!1;const o=(e,t)=>{const n="NGRoot"===e.type?"NGMicrosyntax"===e.node.type&&1===e.node.body.length&&"NGMicrosyntaxExpression"===e.node.body[0].type?e.node.body[0].expression:e.node:"JsExpressionRoot"===e.type?e.node:e;!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&("__vue_expression"!==t.parser||"TemplateLiteral"!==n.type&&"StringLiteral"!==n.type)||(u=!0)},s=e=>i_(e),a=(e,t=!0)=>i_([a_([f_,e]),t?f_:""]),l=e=>u?s(e):a(e),c=(e,n)=>t(e,Object.assign({__onHtmlBindingRoot:o,__embeddedInHtml:!0},n),{stripTrailingHardline:!0});if("srcset"===e.fullName&&("img"===e.parent.fullName||"source"===e.parent.fullName))return a(J_(i()));if("class"===e.fullName&&!n.parentParser){const e=i();if(!e.includes("{{"))return X_(e)}if("style"===e.fullName&&!n.parentParser){const e=i();if(!e.includes("{{"))return a(c(e,{parser:"css",__isHTMLStyleAttribute:!0}))}if("vue"===n.parser){if("v-for"===e.fullName)return z_(i(),c);if(O_(e)||I_(e,n))return G_(i(),c);const t=["^:","^v-bind:"],u=["^v-"];if(r(["^@","^v-on:"])){const e=i();return l(c(e,{parser:H_(e)?"__js_expression":"__vue_event_binding"}))}if(r(t))return l(c(i(),{parser:"__vue_expression"}));if(r(u))return l(c(i(),{parser:"__js_expression"}))}if("angular"===n.parser){const t=(e,t)=>c(e,Object.assign(Object.assign({},t),{},{trailingComma:"none"})),n=["^\\*"],u=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],o=["^i18n(-.+)?$"];if(r(["^\\(.+\\)$","^on-"]))return l(t(i(),{parser:"__ng_action"}));if(r(u))return l(t(i(),{parser:"__ng_binding"}));if(r(o)){const t=i().trim();return a(r_(yM(e,t)),!t.includes("@@"))}if(r(n))return l(t(i(),{parser:"__ng_directive"}));const s=/{{(.+?)}}/gs,p=i();if(s.test(p)){const e=[];for(const[n,r]of p.split(s).entries())if(n%2==0)e.push(y_(r,p_));else try{e.push(i_(["{{",a_([c_,t(r,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})]),c_,"}}"]))}catch{e.push("{{",y_(r,p_),"}}")}return i_(e)}}return null}(i,((e,t)=>n(e,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},t),{stripTrailingHardline:!0})),r);if(e)return[i.rawName,'="',i_(d_(e,(e=>"string"==typeof e?e.replace(/"/g,"""):e))),'"'];break}case"front-matter":return tk(i,n)}}};var EM={htmlWhitespaceSensitivity:{since:"1.15.0",category:"HTML",type:"choice",default:"css",description:"How to handle whitespaces in HTML.",choices:[{value:"css",description:"Respect the default value of CSS display property."},{value:"strict",description:"Whitespaces are considered sensitive."},{value:"ignore",description:"Whitespaces are considered insensitive."}]},vueIndentScriptAndStyle:{since:"1.19.0",category:"HTML",type:"boolean",default:!1,description:"Indent script and style tags in Vue files."}},bM={name:"HTML",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".html",".htm",".html.hl",".inc",".xht",".xhtml"],languageId:146},CM={name:"Vue",type:"markup",color:"#41b883",extensions:[".vue"],tmScope:"text.html.vue",aceMode:"html",languageId:391};var vM={languages:[Yd(bM,(()=>({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]}))),Yd(bM,(e=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:[...e.extensions,".mjml"]}))),Yd(bM,(()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]}))),Yd(CM,(()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]})))],printers:{html:DM},options:EM,parsers:{get html(){return require("./parser-html").parsers.html},get vue(){return require("./parser-html").parsers.vue},get angular(){return require("./parser-html").parsers.angular},get lwc(){return require("./parser-html").parsers.lwc}}};var AM={isPragma:function(e){return/^\s*@(prettier|format)\s*$/.test(e)},hasPragma:function(e){return/^\s*#[^\S\n]*@(prettier|format)\s*?(\n|$)/.test(e)},insertPragma:function(e){return`# @format\n\n${e}`}};var FM={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};var xM=function(e,t,n,r){if("root"===e.getValue().type&&r.filepath&&/(?:[/\\]|^)\.prettierrc$/.test(r.filepath))return n(r.originalText,Object.assign(Object.assign({},r),{},{parser:"json"}))};const{getLast:SM,isNonEmptyArray:wM}=fi;function TM(e,t){return e&&"string"==typeof e.type&&(!t||t.includes(e.type))}function BM(e){return"prettier-ignore"===e.value.trim()}function kM(e){return e&&wM(e.leadingComments)}function NM(e){return e&&wM(e.middleComments)}function PM(e){return e&&e.indicatorComment}function OM(e){return e&&e.trailingComment}function IM(e){return e&&wM(e.endComments)}function jM(e){const t=[];let n;for(const r of e.split(/( +)/))" "!==r?" "===n?t.push(r):t.push((t.pop()||"")+r):void 0===n&&t.unshift(""),n=r;return" "===n&&t.push((t.pop()||"")+" "),""===t[0]&&(t.shift(),t.unshift(" "+(t.shift()||""))),t}var LM={getLast:SM,getAncestorCount:function(e,t){let n=0;const r=e.stack.length-1;for(let i=0;ie(r,n,t)))}):t,r)},defineShortcut:function(e,t,n){Object.defineProperty(e,t,{get:n,enumerable:!1})},isNextLineEmpty:function(e,t){let n=0;const r=t.length;for(let i=e.position.end.offset-1;ie?e[1].length:Number.POSITIVE_INFINITY)(i.match(/^( *)\S/m)):e.indent-1+t,o=i.split("\n").map((e=>e.slice(u)));return"preserve"===r.proseWrap||"blockLiteral"===e.type?s(o.map((e=>0===e.length?[]:[e]))):s(o.map((e=>0===e.length?[]:jM(e))).reduce(((e,t,n)=>0!==n&&o[n-1].length>0&&t.length>0&&!/^\s/.test(t[0])&&!/^\s|\s$/.test(SM(e))?[...e.slice(0,-1),[...SM(e),...t]]:[...e,t]),[]).map((e=>e.reduce(((e,t)=>e.length>0&&/\s$/.test(SM(e))?[...e.slice(0,-1),SM(e)+" "+t]:[...e,t]),[]))).map((e=>"never"===r.proseWrap?[e.join(" ")]:e)));function s(t){if("keep"===e.chomping)return 0===SM(t).length?t.slice(0,-1):t;let r=0;for(let e=t.length-1;e>=0&&0===t[e].length;e--)r++;return 0===r?t:r>=2&&!n?t.slice(0,-(r-1)):t.slice(0,-r)}},getFlowScalarLineContents:function(e,t,n){const r=t.split("\n").map(((e,t,n)=>0===t&&t===n.length-1?e:0!==t&&t!==n.length-1?e.trim():0===t?e.trimEnd():e.trimStart()));return"preserve"===n.proseWrap?r.map((e=>0===e.length?[]:[e])):r.map((e=>0===e.length?[]:jM(e))).reduce(((t,n,i)=>0!==i&&r[i-1].length>0&&n.length>0&&("quoteDouble"!==e||!SM(SM(t)).endsWith("\\"))?[...t.slice(0,-1),[...SM(t),...n]]:[...t,n]),[]).map((e=>"never"===n.proseWrap?[e.join(" ")]:e))},getLastDescendantNode:function e(t){return wM(t.children)?e(SM(t.children)):t},hasPrettierIgnore:function(e){const t=e.getValue();if("documentBody"===t.type){const t=e.getParentNode();return IM(t.head)&&BM(SM(t.head.endComments))}return kM(t)&&BM(SM(t.leadingComments))},hasLeadingComments:kM,hasMiddleComments:NM,hasIndicatorComment:PM,hasTrailingComment:OM,hasEndComments:IM};const{defineShortcut:_M,mapNode:MM}=LM;function RM(e){switch(e.type){case"document":_M(e,"head",(()=>e.children[0])),_M(e,"body",(()=>e.children[1]));break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":_M(e,"content",(()=>e.children[0]));break;case"mappingItem":case"flowMappingItem":_M(e,"key",(()=>e.children[0])),_M(e,"value",(()=>e.children[1]))}return e}var $M=function(e){return MM(e,RM)};const{builders:{softline:VM,align:qM}}=Ji,{hasEndComments:WM,isNextLineEmpty:UM,isNode:zM}=LM,GM=new WeakMap;function HM(e){return WM(e)&&!zM(e,["documentHead","documentBody","flowMapping","flowSequence"])}var JM={alignWithSpaces:function(e,t){return qM(" ".repeat(e),t)},shouldPrintEndComments:HM,printNextEmptyLine:function(e,t){const n=e.getValue(),r=e.stack[0];let i;return GM.has(r)?i=GM.get(r):(i=new Set,GM.set(r,i)),i.has(n.position.end.line)||(i.add(n.position.end.line),!UM(n,t)||HM(e.getParentNode()))?"":VM}};const{builders:{ifBreak:XM,line:YM,softline:KM,hardline:QM,join:ZM}}=Ji,{isEmptyNode:eR,getLast:tR,hasEndComments:nR}=LM,{printNextEmptyLine:rR,alignWithSpaces:iR}=JM;function uR(e,t,n){const r=e.getValue(),i="flowMapping"===r.type,u=i?"{":"[",o=i?"}":"]";let s=KM;i&&r.children.length>0&&n.bracketSpacing&&(s=YM);const a=tR(r.children),l=a&&"flowMappingItem"===a.type&&eR(a.key)&&eR(a.value);return[u,iR(n.tabWidth,[s,oR(e,t,n),"none"===n.trailingComma?"":XM(","),nR(r)?[QM,ZM(QM,e.map(t,"endComments"))]:""]),l?"":s,o]}function oR(e,t,n){const r=e.getValue();return e.map(((e,i)=>[t(),i===r.children.length-1?"":[",",YM,r.children[i].position.start.line!==r.children[i+1].position.start.line?rR(e,n.originalText):""]]),"children")}var sR={printFlowMapping:uR,printFlowSequence:uR};const{builders:{conditionalGroup:aR,group:lR,hardline:cR,ifBreak:pR,join:fR,line:dR}}=Ji,{hasLeadingComments:hR,hasMiddleComments:gR,hasTrailingComment:mR,hasEndComments:yR,isNode:DR,isEmptyNode:ER,isInlineNode:bR}=LM,{alignWithSpaces:CR}=JM;function vR(e,t){if(!e)return!0;switch(e.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if("preserve"===t.proseWrap)return e.position.start.line===e.position.end.line;if(/\\$/m.test(t.originalText.slice(e.position.start.offset,e.position.end.offset)))return!1;switch(t.proseWrap){case"never":return!e.value.includes("\n");case"always":return!/[\n ]/.test(e.value);default:return!1}}var AR=function(e,t,n,r,i){const{key:u,value:o}=e,s=ER(u),a=ER(o);if(s&&a)return": ";const l=r("key"),c=function(e){return e.key.content&&"alias"===e.key.content.type}(e)?" ":"";if(a)return"flowMappingItem"===e.type&&"flowMapping"===t.type?l:"mappingItem"!==e.type||!vR(u.content,i)||mR(u.content)||t.tag&&"tag:yaml.org,2002:set"===t.tag.value?["? ",CR(2,l)]:[l,c,":"];const p=r("value");if(s)return[": ",CR(2,p)];if(hR(o)||!bR(u.content))return["? ",CR(2,l),cR,fR("",n.map(r,"value","leadingComments").map((e=>[e,cR]))),": ",CR(2,p)];if(function(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":return e.position.start.line===e.position.end.line;case"alias":return!0;default:return!1}}(u.content)&&!hR(u.content)&&!gR(u.content)&&!mR(u.content)&&!yR(u)&&!hR(o.content)&&!gR(o.content)&&!yR(o)&&vR(o.content,i))return[l,c,": ",p];const f=Symbol("mappingKey"),d=lR([pR("? "),lR(CR(2,l),{id:f})]),h=[cR,": ",CR(2,p)],g=[c,":"];hR(o.content)||yR(o)&&o.content&&!DR(o.content,["mapping","sequence"])||"mapping"===t.type&&mR(u.content)&&bR(o.content)||DR(o.content,["mapping","sequence"])&&null===o.content.tag&&null===o.content.anchor?g.push(cR):o.content&&g.push(dR),g.push(p);const m=CR(i.tabWidth,g);return!vR(u.content,i)||hR(u.content)||gR(u.content)||yR(u)?aR([[d,pR(h,m,{groupId:f})]]):aR([[l,m]])};const{builders:{dedent:FR,dedentToRoot:xR,fill:SR,hardline:wR,join:TR,line:BR,literalline:kR,markAsRoot:NR},utils:{getDocParts:PR}}=Ji,{getAncestorCount:OR,getBlockValueLineContents:IR,hasIndicatorComment:jR,isLastDescendantNode:LR,isNode:_R}=LM,{alignWithSpaces:MR}=JM;var RR=function(e,t,n){const r=e.getValue(),i=OR(e,(e=>_R(e,["sequence","mapping"]))),u=LR(e),o=["blockFolded"===r.type?">":"|"];null!==r.indent&&o.push(r.indent.toString()),"clip"!==r.chomping&&o.push("keep"===r.chomping?"+":"-"),jR(r)&&o.push(" ",t("indicatorComment"));const s=IR(r,{parentIndent:i,isLastDescendant:u,options:n}),a=[];for(const[e,t]of s.entries())0===e&&a.push(wR),a.push(SR(PR(TR(BR,t)))),e!==s.length-1?a.push(0===t.length?wR:NR(kR)):"keep"===r.chomping&&u&&a.push(xR(0===t.length?wR:kR));return null===r.indent?o.push(FR(MR(n.tabWidth,a))):o.push(xR(MR(r.indent-1+i,a))),o};const{builders:{breakParent:$R,fill:VR,group:qR,hardline:WR,join:UR,line:zR,lineSuffix:GR,literalline:HR},utils:{getDocParts:JR,replaceEndOfLineWith:XR}}=Ji,{isPreviousLineEmpty:YR}=fi,{insertPragma:KR,isPragma:QR}=AM,{locStart:ZR}=FM,{getFlowScalarLineContents:e$,getLastDescendantNode:t$,hasLeadingComments:n$,hasMiddleComments:r$,hasTrailingComment:i$,hasEndComments:u$,hasPrettierIgnore:o$,isLastDescendantNode:s$,isNode:a$,isInlineNode:l$}=LM,{alignWithSpaces:c$,printNextEmptyLine:p$,shouldPrintEndComments:f$}=JM,{printFlowMapping:d$,printFlowSequence:h$}=sR;function g$(e,t){return i$(e)||t&&(t.head.children.length>0||u$(t.head))}function m$(e,t,n){const r=e$(e,t,n);return UR(WR,r.map((e=>VR(JR(UR(zR,e))))))}var y$={preprocess:$M,embed:xM,print:function(e,t,n){const r=e.getValue(),i=[];"mappingValue"!==r.type&&n$(r)&&i.push([UR(WR,e.map(n,"leadingComments")),WR]);const{tag:u,anchor:o}=r;u&&i.push(n("tag")),u&&o&&i.push(" "),o&&i.push(n("anchor"));let s="";a$(r,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!s$(e)&&(s=p$(e,t.originalText)),(u||o)&&(a$(r,["sequence","mapping"])&&!r$(r)?i.push(WR):i.push(" ")),r$(r)&&i.push([1===r.middleComments.length?"":WR,UR(WR,e.map(n,"middleComments")),WR]);const a=e.getParentNode();return o$(e)?i.push(XR(t.originalText.slice(r.position.start.offset,r.position.end.offset).trimEnd(),HR)):i.push(qR(function(e,t,n,r,i){switch(e.type){case"root":{const{children:t}=e,r=[];n.each(((e,n)=>{const u=t[n],o=t[n+1];0!==n&&r.push(WR),r.push(i()),g$(u,o)?(r.push(WR,"..."),i$(u)&&r.push(" ",i("trailingComment"))):o&&!i$(o.head)&&r.push(WR,"---")}),"children");const u=t$(e);return a$(u,["blockLiteral","blockFolded"])&&"keep"===u.chomping||r.push(WR),r}case"document":{const u=[];return"head"===function(e,t,n,r){if(n.children[0]===e&&/---(\s|$)/.test(r.originalText.slice(ZR(e),ZR(e)+4))||e.head.children.length>0||u$(e.head)||i$(e.head))return"head";if(g$(e,t))return!1;return!!t&&"root"}(e,t.children[n.getName()+1],t,r)&&((e.head.children.length>0||e.head.endComments.length>0)&&u.push(i("head")),i$(e.head)?u.push(["---"," ",i(["head","trailingComment"])]):u.push("---")),function(e){return e.body.children.length>0||u$(e.body)}(e)&&u.push(i("body")),UR(WR,u)}case"documentHead":return UR(WR,[...n.map(i,"children"),...n.map(i,"endComments")]);case"documentBody":{const{children:t,endComments:r}=e;let u="";if(t.length>0&&r.length>0){const t=t$(e);a$(t,["blockFolded","blockLiteral"])?"keep"!==t.chomping&&(u=[WR,WR]):u=WR}return[UR(WR,n.map(i,"children")),u,UR(WR,n.map(i,"endComments"))]}case"directive":return["%",UR(" ",[e.name,...e.parameters])];case"comment":return["#",e.value];case"alias":return["*",e.value];case"tag":return r.originalText.slice(e.position.start.offset,e.position.end.offset);case"anchor":return["&",e.value];case"plain":return m$(e.type,r.originalText.slice(e.position.start.offset,e.position.end.offset),r);case"quoteDouble":case"quoteSingle":{const t="'",n='"',i=r.originalText.slice(e.position.start.offset+1,e.position.end.offset-1);if("quoteSingle"===e.type&&i.includes("\\")||"quoteDouble"===e.type&&/\\[^"]/.test(i)){const u="quoteDouble"===e.type?n:t;return[u,m$(e.type,i,r),u]}if(i.includes(n))return[t,m$(e.type,"quoteDouble"===e.type?i.replace(/\\"/g,n).replace(/'/g,t.repeat(2)):i,r),t];if(i.includes(t))return[n,m$(e.type,"quoteSingle"===e.type?i.replace(/''/g,t):i,r),n];const u=r.singleQuote?t:n;return[u,m$(e.type,i,r),u]}case"blockFolded":case"blockLiteral":return RR(n,i,r);case"mapping":case"sequence":return UR(WR,n.map(i,"children"));case"sequenceItem":return["- ",c$(2,e.content?i("content"):"")];case"mappingKey":case"mappingValue":return e.content?i("content"):"";case"mappingItem":case"flowMappingItem":return AR(e,t,n,i,r);case"flowMapping":return d$(n,i,r);case"flowSequence":return h$(n,i,r);case"flowSequenceItem":return i("content");default:throw new Error(`Unexpected node type ${e.type}`)}}(r,a,e,t,n))),i$(r)&&!a$(r,["document","documentHead"])&&i.push(GR(["mappingValue"!==r.type||r.content?" ":"","mappingKey"===a.type&&"mapping"===e.getParentNode(2).type&&l$(r)?"":$R,n("trailingComment")])),f$(r)&&i.push(c$("sequenceItem"===r.type?2:0,[WR,UR(WR,e.map((e=>[YR(t.originalText,e.getValue(),ZR)?WR:"",n()]),"endComments"))])),i.push(s),i},massageAstNode:function(e,t){if(a$(t))switch(delete t.position,t.type){case"comment":if(QR(t.value))return null;break;case"quoteDouble":case"quoteSingle":t.type="quote"}},insertPragma:KR},D$={bracketSpacing:$B.bracketSpacing,singleQuote:$B.singleQuote,proseWrap:$B.proseWrap};var E$=[JB,ZN,cO,NO,sj,vM,{languages:[Yd({name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","glide.lock","yarn.lock"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",languageId:407},(e=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"],filenames:[...e.filenames.filter((e=>"yarn.lock"!==e)),".prettierrc"]})))],printers:{yaml:y$},options:D$,parsers:{get yaml(){return require("./parser-yaml").parsers.yaml}}}];const b$=["parsers"],{version:C$}=t,{getSupportInfo:v$}=Hr,A$=E$.map((t=>e(t,b$)));function F$(e,t=1){return(...n)=>{const r=n[t]||{},i=r.plugins||[];return n[t]=Object.assign(Object.assign({},r),{},{plugins:[...A$,...Array.isArray(i)?i:Object.values(i)]}),e(...n)}}const x$=F$(Fd.formatWithCursor);var S$={formatWithCursor:x$,format:(e,t)=>x$(e,t).formatted,check(e,t){const{formatted:n}=x$(e,t);return n===e},doc:Ji,getSupportInfo:F$(v$,0),version:C$,util:Jd,__debug:{parse:F$(Fd.parse),formatAST:F$(Fd.formatAST),formatDoc:F$(Fd.formatDoc),printToDoc:F$(Fd.printToDoc),printDocToString:F$(Fd.printDocToString)}};export default S$; diff --git a/node_modules/prettier/index.js b/node_modules/prettier/index.js index 759d94c63..3c45d0ad5 100644 --- a/node_modules/prettier/index.js +++ b/node_modules/prettier/index.js @@ -1,481 +1,390 @@ 'use strict'; -var fs$3 = require('fs'); -var path$2 = require('path'); -var os$1 = require('os'); -var tty$1 = require('tty'); -var assert$1 = require('assert'); -var util$4 = require('util'); -var stream$6 = require('stream'); -var events$1 = require('events'); +var fs$6 = require('fs'); +var path$5 = require('path'); +var os$2 = require('os'); +var tty$2 = require('tty'); +var assert$2 = require('assert'); +var util$6 = require('util'); +var stream_1 = require('stream'); +var events_1 = require('events'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } -var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$3); -var path__default = /*#__PURE__*/_interopDefaultLegacy(path$2); -var os__default = /*#__PURE__*/_interopDefaultLegacy(os$1); -var tty__default = /*#__PURE__*/_interopDefaultLegacy(tty$1); -var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert$1); -var util__default = /*#__PURE__*/_interopDefaultLegacy(util$4); -var stream__default = /*#__PURE__*/_interopDefaultLegacy(stream$6); -var events__default = /*#__PURE__*/_interopDefaultLegacy(events$1); +var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$6); +var path__default = /*#__PURE__*/_interopDefaultLegacy(path$5); +var os__default = /*#__PURE__*/_interopDefaultLegacy(os$2); +var tty__default = /*#__PURE__*/_interopDefaultLegacy(tty$2); +var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert$2); +var util__default = /*#__PURE__*/_interopDefaultLegacy(util$6); +var stream_1__default = /*#__PURE__*/_interopDefaultLegacy(stream_1); +var events_1__default = /*#__PURE__*/_interopDefaultLegacy(events_1); -var name = "prettier"; -var version = "2.1.1"; -var description = "Prettier is an opinionated code formatter"; -var bin = "./bin/prettier.js"; -var repository = "prettier/prettier"; -var homepage = "https://prettier.io"; -var author = "James Long"; -var license = "MIT"; -var main = "./index.js"; -var browser = "./standalone.js"; -var unpkg = "./standalone.js"; -var engines = { - node: ">=10.13.0" -}; -var files = [ - "index.js", - "standalone.js", - "src", - "bin" -]; -var dependencies = { - "@angular/compiler": "10.0.12", - "@babel/code-frame": "7.10.4", - "@babel/parser": "7.11.2", - "@glimmer/syntax": "0.59.0", - "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "3.10.0", - "angular-estree-parser": "2.2.0", - "angular-html-parser": "1.7.1", - camelcase: "6.0.0", - chalk: "4.1.0", - "ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540", - "cjk-regex": "2.0.0", - cosmiconfig: "7.0.0", - dashify: "2.0.0", - diff: "4.0.2", - editorconfig: "0.15.3", - "editorconfig-to-prettier": "0.1.1", - "escape-string-regexp": "4.0.0", - esutils: "2.0.3", - "fast-glob": "3.2.4", - "fast-json-stable-stringify": "2.1.0", - "find-parent-dir": "0.3.0", - "flow-parser": "0.132.0", - "get-stream": "6.0.0", - globby: "11.0.1", - graphql: "15.3.0", - "html-element-attributes": "2.2.1", - "html-styles": "1.0.0", - "html-tag-names": "1.1.5", - "html-void-elements": "1.0.5", - ignore: "4.0.6", - "jest-docblock": "26.0.0", - json5: "2.1.3", - leven: "3.1.0", - "lines-and-columns": "1.1.6", - "linguist-languages": "7.10.0", - lodash: "4.17.20", - mem: "6.1.0", - minimatch: "3.0.4", - minimist: "1.2.5", - "n-readlines": "1.0.0", - outdent: "0.7.1", - "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", - "please-upgrade-node": "3.2.0", - "postcss-less": "3.1.4", - "postcss-media-query-parser": "0.2.3", - "postcss-scss": "2.1.1", - "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "2.0.1", - "regexp-util": "1.2.2", - "remark-footnotes": "2.0.0", - "remark-math": "1.0.6", - "remark-parse": "8.0.3", - resolve: "1.17.0", - semver: "7.3.2", - "string-width": "4.2.0", - typescript: "4.0.2", - "unicode-regex": "3.0.0", - unified: "9.2.0", - vnopts: "1.0.2", - "yaml-unist-parser": "1.3.0" -}; -var devDependencies = { - "@babel/core": "7.11.4", - "@babel/preset-env": "7.11.0", - "@babel/types": "7.11.0", - "@glimmer/reference": "0.59.0", - "@rollup/plugin-alias": "3.1.1", - "@rollup/plugin-babel": "5.2.0", - "@rollup/plugin-commonjs": "14.0.0", - "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "9.0.0", - "@rollup/plugin-replace": "2.3.3", - "@types/estree": "0.0.45", - "@types/node": "14.6.0", - "@typescript-eslint/types": "3.10.0", - "babel-loader": "8.1.0", - benchmark: "2.1.4", - "builtin-modules": "3.1.0", - "cross-env": "7.0.2", - cspell: "4.1.0", - eslint: "7.7.0", - "eslint-config-prettier": "6.11.0", - "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-import": "2.22.0", - "eslint-plugin-jest": "23.20.0", - "eslint-plugin-prettier-internal-rules": "file:scripts/tools/eslint-plugin-prettier-internal-rules", - "eslint-plugin-react": "7.20.6", - "eslint-plugin-unicorn": "21.0.0", - execa: "4.0.3", - jest: "26.4.2", - "jest-snapshot-serializer-ansi": "1.0.0", - "jest-snapshot-serializer-raw": "1.1.0", - "jest-watch-typeahead": "0.6.0", - "npm-run-all": "4.1.5", - prettier: "2.1.0", - rimraf: "3.0.2", - rollup: "2.26.5", - "rollup-plugin-node-globals": "1.4.0", - "rollup-plugin-terser": "7.0.0", - shelljs: "0.8.4", - "snapshot-diff": "0.8.1", - "strip-ansi": "6.0.0", - "synchronous-promise": "2.0.13", - tempy: "0.6.0", - "terser-webpack-plugin": "4.1.0", - webpack: "4.44.1" -}; -var scripts = { - prepublishOnly: "echo \"Error: must publish from dist/\" && exit 1", - "prepare-release": "yarn && yarn build && yarn test:dist", - test: "jest", - "test:dev-package": "cross-env INSTALL_PACKAGE=1 jest", - "test:dist": "cross-env NODE_ENV=production jest", - "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", - "test:integration": "jest tests_integration", - "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - lint: "run-p lint:*", - "lint:typecheck": "tsc", - "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", - "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2016 \"dist/!(bin-prettier|index|third-party).js\"", - "lint:spellcheck": "cspell \"**/*\" \".github/**/*\"", - "lint:deps": "node ./scripts/check-deps.js", - fix: "run-s fix:eslint fix:prettier", - "fix:eslint": "yarn lint:eslint --fix", - "fix:prettier": "yarn lint:prettier --write", - build: "node ./scripts/build/build.js", - "build-docs": "node ./scripts/build-docs.js" -}; -var _package = { - name: name, - version: version, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts -}; +var require$$0$8 = require("./package.json"); -var _package$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name, - version: version, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts, - 'default': _package +function getDefaultExportFromNamespaceIfPresent (n) { + return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n; +} + +function createCommonjsModule(fn) { + var module = { exports: {} }; + return fn(module, module.exports), module.exports; +} + +/*istanbul ignore start*/ +var base$1 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = Diff; + /*istanbul ignore end*/ + + function Diff() {} + + Diff.prototype = { + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + diff: function diff(oldString, newString) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ + newPos: -1, + components: [] + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Main worker method. checks all permutations of a given edit length for acceptance. + + + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = + /*istanbul ignore start*/ + void 0 + /*istanbul ignore end*/ + ; + + var addPath = bestPath[diagonalPath - 1], + removePath = bestPath[diagonalPath + 1], + _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + + if (addPath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = addPath && addPath.newPos + 1 < newLen, + canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the new string is the farthest from the origin + // and does not pass the bounds of the diff graph + + + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, undefined, true); + } else { + basePath = addPath; // No need to clone, we've pulled it from the list + + basePath.newPos++; + self.pushComponent(basePath.components, true, undefined); + } + + _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done + + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); + } else { + // Otherwise track this path as a potential candidate and continue. + bestPath[diagonalPath] = basePath; + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced. + + + if (callback) { + (function exec() { + setTimeout(function () { + // This should not happen, but we want to be safe. + + /* istanbul ignore next */ + if (editLength > maxEditLength) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + + if (ret) { + return ret; + } + } + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + pushComponent: function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + + if (last && last.added === added && last.removed === removed) { + // We need to clone here as the component clone operation is just + // as shallow array clone + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed + }; + } else { + components.push({ + count: 1, + added: added, + removed: removed + }); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + newPos = basePath.newPos, + oldPos = newPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + + basePath.newPos = newPos; + return oldPos; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + + return ret; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + castInput: function castInput(value) { + return value; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + tokenize: function tokenize(value) { + return value.split(''); + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + join: function join(chars) { + return chars.join(''); + } + }; + + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. + + + var lastComponent = components[componentLen - 1]; + + if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + + return components; + } + + function clonePath(path) { + return { + newPos: path.newPos, + components: path.components.slice(0) + }; + } }); -function Diff() {} +/*istanbul ignore start*/ +var character = createCommonjsModule(function (module, exports) { -Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var callback = options.callback; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffChars = diffChars; + exports.characterDiff = void 0; + /*istanbul ignore end*/ - if (typeof options === 'function') { - callback = options; - options = {}; - } - - this.options = options; - var self = this; - - function done(value) { - if (callback) { - setTimeout(function () { - callback(undefined, value); - }, 0); - return true; - } else { - return value; - } - } // Allow subclasses to massage the input prior to running + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, - oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - var bestPath = [{ - newPos: -1, - components: [] - }]; // Seed editLength = 0, i.e. the content starts with the same values - - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - // Identity per the equality and tokenizer - return done([{ - value: this.join(newString), - count: newString.length - }]); - } // Main worker method. checks all permutations of a given edit length for acceptance. - - - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - - var addPath = bestPath[diagonalPath - 1], - removePath = bestPath[diagonalPath + 1], - _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - - if (addPath) { - // No one else is going to attempt to use this value, clear it - bestPath[diagonalPath - 1] = undefined; - } - - var canAdd = addPath && addPath.newPos + 1 < newLen, - canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - - if (!canAdd && !canRemove) { - // If this path is a terminal then prune - bestPath[diagonalPath] = undefined; - continue; - } // Select the diagonal that we want to branch from. We select the prior - // path whose position in the new string is the farthest from the origin - // and does not pass the bounds of the diff graph - - - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self.pushComponent(basePath.components, undefined, true); - } else { - basePath = addPath; // No need to clone, we've pulled it from the list - - basePath.newPos++; - self.pushComponent(basePath.components, true, undefined); - } - - _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done - - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); - } else { - // Otherwise track this path as a potential candidate and continue. - bestPath[diagonalPath] = basePath; - } - } - - editLength++; - } // Performs the length of edit iteration. Is a bit fugly as this has to support the - // sync and async mode which is never fun. Loops over execEditLength until a value - // is produced. - - - if (callback) { - (function exec() { - setTimeout(function () { - // This should not happen, but we want to be safe. - - /* istanbul ignore next */ - if (editLength > maxEditLength) { - return callback(); - } - - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - - if (ret) { - return ret; - } - } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; - - if (last && last.added === added && last.removed === removed) { - // We need to clone here as the component clone operation is just - // as shallow array clone - components[components.length - 1] = { - count: last.count + 1, - added: added, - removed: removed - }; - } else { - components.push({ - count: 1, - added: added, - removed: removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, - oldLen = oldString.length, - newPos = basePath.newPos, - oldPos = newPos - diagonalPath, - commonCount = 0; - - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array) { - var ret = []; - - for (var i = 0; i < array.length; i++) { - if (array[i]) { - ret.push(array[i]); - } - } - - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(''); - }, - join: function join(chars) { - return chars.join(''); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; } -}; - -function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, - componentLen = components.length, - newPos = 0, - oldPos = 0; - - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function (value, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value.length ? oldValue : value; - }); - component.value = diff.join(value); - } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); - } - - newPos += component.count; // Common case - - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; // Reverse add and remove so removes are output first to match common convention - // The diffing algorithm is tied to add then remove output and this is the simplest - // route to get the desired output with minimal overhead. - - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } // Special case handle for when one terminal is ignored (i.e. whitespace). - // For this case we merge the terminal into the prior string and drop the change. - // This is only available for string mode. + /*istanbul ignore end*/ - var lastComponent = components[componentLen - 1]; + var characterDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ - if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); + exports.characterDiff = characterDiff; + /*istanbul ignore end*/ + + function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); } +}); - return components; -} +/*istanbul ignore start*/ -function clonePath(path) { - return { - newPos: path.newPos, - components: path.components.slice(0) - }; -} - -var characterDiff = new Diff(); - -function diffChars(oldStr, newStr, options) { - return characterDiff.diff(oldStr, newStr, options); -} +var generateOptions_1 = generateOptions; +/*istanbul ignore end*/ function generateOptions(options, defaults) { if (typeof options === 'function') { @@ -490,267 +399,1271 @@ function generateOptions(options, defaults) { } return defaults; -} // -// Ranges and exceptions: -// Latin-1 Supplement, 0080–00FF -// - U+00D7 × Multiplication sign -// - U+00F7 ÷ Division sign -// Latin Extended-A, 0100–017F -// Latin Extended-B, 0180–024F -// IPA Extensions, 0250–02AF -// Spacing Modifier Letters, 02B0–02FF -// - U+02C7 ˇ ˇ Caron -// - U+02D8 ˘ ˘ Breve -// - U+02D9 ˙ ˙ Dot Above -// - U+02DA ˚ ˚ Ring Above -// - U+02DB ˛ ˛ Ogonek -// - U+02DC ˜ ˜ Small Tilde -// - U+02DD ˝ ˝ Double Acute Accent -// Latin Extended Additional, 1E00–1EFF +} + +var params = /*#__PURE__*/Object.defineProperty({ + generateOptions: generateOptions_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ +var word = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffWords = diffWords; + exports.diffWordsWithSpace = diffWordsWithSpace; + exports.wordDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ -var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; -var reWhitespace = /\S/; -var wordDiff = new Diff(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + // Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode + // + // Ranges and exceptions: + // Latin-1 Supplement, 0080–00FF + // - U+00D7 × Multiplication sign + // - U+00F7 ÷ Division sign + // Latin Extended-A, 0100–017F + // Latin Extended-B, 0180–024F + // IPA Extensions, 0250–02AF + // Spacing Modifier Letters, 02B0–02FF + // - U+02C7 ˇ ˇ Caron + // - U+02D8 ˘ ˘ Breve + // - U+02D9 ˙ ˙ Dot Above + // - U+02DA ˚ ˚ Ring Above + // - U+02DB ˛ ˛ Ogonek + // - U+02DC ˜ ˜ Small Tilde + // - U+02DD ˝ ˝ Double Acute Accent + // Latin Extended Additional, 1E00–1EFF -wordDiff.equals = function (left, right) { - if (this.options.ignoreCase) { - left = left.toLowerCase(); - right = right.toLowerCase(); + + var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; + var reWhitespace = /\S/; + var wordDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.wordDiff = wordDiff; + /*istanbul ignore end*/ + + wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + }; + + wordDiff.tokenize = function (value) { + // All whitespace symbols except newline group into one token, each newline - in separate token + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; + }; + + function diffWords(oldStr, newStr, options) { + options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); } - return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); + } +}); + +/*istanbul ignore start*/ +var line$x = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffLines = diffLines; + exports.diffTrimmedLines = diffTrimmedLines; + exports.lineDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var lineDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.lineDiff = lineDiff; + /*istanbul ignore end*/ + + lineDiff.tokenize = function (value) { + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; + }; + + function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); + } + + function diffTrimmedLines(oldStr, newStr, callback) { + var options = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions + /*istanbul ignore end*/ + )(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); + } +}); + +/*istanbul ignore start*/ +var sentence = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffSentences = diffSentences; + exports.sentenceDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var sentenceDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.sentenceDiff = sentenceDiff; + /*istanbul ignore end*/ + + sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); + }; + + function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); + } +}); + +/*istanbul ignore start*/ +var css$1 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffCss = diffCss; + exports.cssDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + /*istanbul ignore end*/ + + + var cssDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ + + exports.cssDiff = cssDiff; + /*istanbul ignore end*/ + + cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); + }; + + function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); + } +}); + +var check = function (it) { + return it && it.Math == Math && it; }; -wordDiff.tokenize = function (value) { - var tokens = value.split(/(\s+|[()[\]{}'"]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global$2 = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global$2 == 'object' && global$2) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); - for (var i = 0; i < tokens.length - 1; i++) { - // If we have an empty string in the next field and we have only word chars before and after, merge - if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { - tokens[i] += tokens[i + 2]; - tokens.splice(i + 1, 2); - i--; +var fails = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +// Detect IE8's incomplete defineProperty implementation +var descriptors$1 = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$1(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +var objectPropertyIsEnumerable = { + f: f$4 +}; + +var createPropertyDescriptor = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +var toString$1 = {}.toString; + +var classofRaw = function (it) { + return toString$1.call(it).slice(8, -1); +}; + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var indexedObject = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classofRaw(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +var requireObjectCoercible = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +// toObject with fallback for non-array-like ES3 strings + + + +var toIndexedObject = function (it) { + return indexedObject(requireObjectCoercible(it)); +}; + +var isObject$3 = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +var toPrimitive = function (input, PREFERRED_STRING) { + if (!isObject$3(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$3(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject$3(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$3(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +var toObject = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +var hasOwnProperty$b = {}.hasOwnProperty; + +var has$1 = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty$b.call(toObject(it), key); +}; + +var document = global$2.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject$3(document) && isObject$3(document.createElement); + +var documentCreateElement = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +// Thank's IE8 for his funny defineProperty +var ie8DomDefine = !descriptors$1 && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(documentCreateElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +var f$3 = descriptors$1 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (ie8DomDefine) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); +}; + +var objectGetOwnPropertyDescriptor = { + f: f$3 +}; + +var anObject = function (it) { + if (!isObject$3(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +var f$2 = descriptors$1 ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (ie8DomDefine) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +var objectDefineProperty = { + f: f$2 +}; + +var createNonEnumerableProperty = descriptors$1 ? function (object, key, value) { + return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +var setGlobal = function (key, value) { + try { + createNonEnumerableProperty(global$2, key, value); + } catch (error) { + global$2[key] = value; + } return value; +}; + +var SHARED = '__core-js_shared__'; +var store$1 = global$2[SHARED] || setGlobal(SHARED, {}); + +var sharedStore = store$1; + +var functionToString = Function.toString; + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (typeof sharedStore.inspectSource != 'function') { + sharedStore.inspectSource = function (it) { + return functionToString.call(it); + }; +} + +var inspectSource = sharedStore.inspectSource; + +var WeakMap$3 = global$2.WeakMap; + +var nativeWeakMap = typeof WeakMap$3 === 'function' && /native code/.test(inspectSource(WeakMap$3)); + +var shared = createCommonjsModule(function (module) { +(module.exports = function (key, value) { + return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.14.0', + mode: 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); +}); + +var id = 0; +var postfix = Math.random(); + +var uid$1 = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + +var keys$1 = shared('keys'); + +var sharedKey = function (key) { + return keys$1[key] || (keys$1[key] = uid$1(key)); +}; + +var hiddenKeys$1 = {}; + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var WeakMap$2 = global$2.WeakMap; +var set$1, get$2, has; + +var enforce = function (it) { + return has(it) ? get$2(it) : set$1(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject$3(it) || (state = get$2(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (nativeWeakMap || sharedStore.state) { + var store = sharedStore.state || (sharedStore.state = new WeakMap$2()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set$1 = function (it, metadata) { + if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset.call(store, it, metadata); + return metadata; + }; + get$2 = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys$1[STATE] = true; + set$1 = function (it, metadata) { + if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get$2 = function (it) { + return has$1(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return has$1(it, STATE); + }; +} + +var internalState = { + set: set$1, + get: get$2, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +var redefine = createCommonjsModule(function (module) { +var getInternalState = internalState.get; +var enforceInternalState = internalState.enforce; +var TEMPLATE = String(String).split('String'); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var state; + if (typeof value == 'function') { + if (typeof key == 'string' && !has$1(value, 'name')) { + createNonEnumerableProperty(value, 'name', key); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + } + if (O === global$2) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); +}); +}); + +var path$4 = global$2; + +var aFunction$1 = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +var getBuiltIn = function (namespace, method) { + return arguments.length < 2 ? aFunction$1(path$4[namespace]) || aFunction$1(global$2[namespace]) + : path$4[namespace] && path$4[namespace][method] || global$2[namespace] && global$2[namespace][method]; +}; + +var ceil = Math.ceil; +var floor$1 = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.es/ecma262/#sec-tointeger +var toInteger = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument); +}; + +var min$1 = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +var toLength = function (argument) { + return argument > 0 ? min$1(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +var toAbsoluteIndex = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +var arrayIncludes$1 = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +var indexOf = arrayIncludes$1.indexOf; + + +var objectKeysInternal = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has$1(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + +// IE8- don't enum bug keys +var enumBugKeys = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return objectKeysInternal(O, hiddenKeys); +}; + +var objectGetOwnPropertyNames = { + f: f$1 +}; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +var f = Object.getOwnPropertySymbols; + +var objectGetOwnPropertySymbols = { + f: f +}; + +// all object keys, includes non-enumerable and symbols +var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = objectGetOwnPropertyNames.f(anObject(it)); + var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + +var copyConstructorProperties = function (target, source) { + var keys = ownKeys(source); + var defineProperty = objectDefineProperty.f; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data$3[normalize$3(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize$3 = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data$3 = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +var isForced_1 = isForced; + +var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + + + + + + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +var _export = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global$2; + } else if (STATIC) { + target = global$2[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global$2[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + +var aFunction = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + +// TODO: use something more complex like timsort? +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge$1( + mergeSort(array.slice(0, middle), comparefn), + mergeSort(array.slice(middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge$1 = function (left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + var result = []; + + while (lindex < llength || rindex < rlength) { + if (lindex < llength && rindex < rlength) { + result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]); + } else { + result.push(lindex < llength ? left[lindex++] : right[rindex++]); + } + } return result; +}; + +var arraySort = mergeSort; + +var arrayMethodIsStrict = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; + +var firefox = engineUserAgent.match(/firefox\/(\d+)/i); + +var engineFfVersion = !!firefox && +firefox[1]; + +var engineIsIeOrEdge = /MSIE|Trident/.test(engineUserAgent); + +var process$3 = global$2.process; +var versions = process$3 && process$3.versions; +var v8$2 = versions && versions.v8; +var match$1, version$2; + +if (v8$2) { + match$1 = v8$2.split('.'); + version$2 = match$1[0] < 4 ? 1 : match$1[0] + match$1[1]; +} else if (engineUserAgent) { + match$1 = engineUserAgent.match(/Edge\/(\d+)/); + if (!match$1 || match$1[1] >= 74) { + match$1 = engineUserAgent.match(/Chrome\/(\d+)/); + if (match$1) version$2 = match$1[1]; + } +} + +var engineV8Version = version$2 && +version$2; + +var webkit = engineUserAgent.match(/AppleWebKit\/(\d+)\./); + +var engineWebkitVersion = !!webkit && +webkit[1]; + +var test$1 = []; +var nativeSort = test$1.sort; + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test$1.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test$1.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (engineV8Version) return engineV8Version < 70; + if (engineFfVersion && engineFfVersion > 3) return; + if (engineIsIeOrEdge) return true; + if (engineWebkitVersion) return engineWebkitVersion < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test$1.push({ k: chr + index, v: value }); } } - return tokens; + test$1.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test$1.length; index++) { + chr = test$1[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return String(x) > String(y) ? 1 : -1; + }; }; -function diffWords(oldStr, newStr, options) { - options = generateOptions(options, { - ignoreWhitespace: true +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +_export({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aFunction(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn); + + var items = []; + var arrayLength = toLength(array.length); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) items.push(array[index]); + } + + items = arraySort(items, getSortCompare(comparefn)); + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } +}); + +var json = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true }); - return wordDiff.diff(oldStr, newStr, options); -} + exports.diffJson = diffJson; + exports.canonicalize = canonicalize; + exports.jsonDiff = void 0; + /*istanbul ignore end*/ -function diffWordsWithSpace(oldStr, newStr, options) { - return wordDiff.diff(oldStr, newStr, options); -} - -var lineDiff = new Diff(); - -lineDiff.tokenize = function (value) { - var retLines = [], - linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line - - if (!linesAndNewlines[linesAndNewlines.length - 1]) { - linesAndNewlines.pop(); - } // Merge the content and line separators into single tokens + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ - for (var i = 0; i < linesAndNewlines.length; i++) { - var line = linesAndNewlines[i]; + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } - if (i % 2 && !this.options.newlineIsToken) { - retLines[retLines.length - 1] += line; + function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; } else { - if (this.options.ignoreWhitespace) { - line = line.trim(); + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); + } + /*istanbul ignore end*/ + + + var objectPrototypeToString = Object.prototype.toString; + var jsonDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a + // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + + /*istanbul ignore start*/ + + exports.jsonDiff = jsonDiff; + /*istanbul ignore end*/ + + jsonDiff.useLongestToken = true; + jsonDiff.tokenize = + /*istanbul ignore start*/ + line$x + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + lineDiff + /*istanbul ignore end*/ + .tokenize; + + jsonDiff.castInput = function (value) { + /*istanbul ignore start*/ + var _this$options = + /*istanbul ignore end*/ + this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + typeof v === 'undefined' ? undefinedReplacement : v + ); + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); + }; + + jsonDiff.equals = function (left, right) { + return ( + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')) + ); + }; + + function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); + } // This function handles the presence of circular references by bailing out when encountering an + // object that is already on the "stack" of items being processed. Accepts an optional replacer + + + function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); } - retLines.push(line); - } - } - - return retLines; -}; - -function diffLines(oldStr, newStr, callback) { - return lineDiff.diff(oldStr, newStr, callback); -} - -function diffTrimmedLines(oldStr, newStr, callback) { - var options = generateOptions(callback, { - ignoreWhitespace: true - }); - return lineDiff.diff(oldStr, newStr, options); -} - -var sentenceDiff = new Diff(); - -sentenceDiff.tokenize = function (value) { - return value.split(/(\S.+?[.!?])(?=\s+|$)/); -}; - -function diffSentences(oldStr, newStr, callback) { - return sentenceDiff.diff(oldStr, newStr, callback); -} - -var cssDiff = new Diff(); - -cssDiff.tokenize = function (value) { - return value.split(/([{}:;,]|\s+)/); -}; - -function diffCss(oldStr, newStr, callback) { - return cssDiff.diff(oldStr, newStr, callback); -} - -function _typeof(obj) { - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { - return typeof obj; - }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); -} - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - - return arr2; - } -} - -function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); -} - -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); -} - -var objectPrototypeToString = Object.prototype.toString; -var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a -// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: - -jsonDiff.useLongestToken = true; -jsonDiff.tokenize = lineDiff.tokenize; - -jsonDiff.castInput = function (value) { - var _this$options = this.options, - undefinedReplacement = _this$options.undefinedReplacement, - _this$options$stringi = _this$options.stringifyReplacer, - stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) { - return typeof v === 'undefined' ? undefinedReplacement : v; - } : _this$options$stringi; - return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); -}; - -jsonDiff.equals = function (left, right) { - return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); -}; - -function diffJson(oldObj, newObj, options) { - return jsonDiff.diff(oldObj, newObj, options); -} // This function handles the presence of circular references by bailing out when encountering an -// object that is already on the "stack" of items being processed. Accepts an optional replacer - - -function canonicalize(obj, stack, replacementStack, replacer, key) { - stack = stack || []; - replacementStack = replacementStack || []; - - if (replacer) { - obj = replacer(key, obj); - } - - var i; - - for (i = 0; i < stack.length; i += 1) { - if (stack[i] === obj) { - return replacementStack[i]; - } - } - - var canonicalizedObj; - - if ('[object Array]' === objectPrototypeToString.call(obj)) { - stack.push(obj); - canonicalizedObj = new Array(obj.length); - replacementStack.push(canonicalizedObj); - - for (i = 0; i < obj.length; i += 1) { - canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if ( + /*istanbul ignore start*/ + _typeof( + /*istanbul ignore end*/ + obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; } - stack.pop(); - replacementStack.pop(); return canonicalizedObj; } +}); - if (obj && obj.toJSON) { - obj = obj.toJSON(); +/*istanbul ignore start*/ +var array$5 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffArrays = diffArrays; + exports.arrayDiff = void 0; + /*istanbul ignore end*/ + + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; } + /*istanbul ignore end*/ - if (_typeof(obj) === 'object' && obj !== null) { - stack.push(obj); - canonicalizedObj = {}; - replacementStack.push(canonicalizedObj); - var sortedKeys = [], - _key; + var arrayDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + /*istanbul ignore start*/ - for (_key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(_key)) { - sortedKeys.push(_key); - } - } + exports.arrayDiff = arrayDiff; + /*istanbul ignore end*/ - sortedKeys.sort(); + arrayDiff.tokenize = function (value) { + return value.slice(); + }; - for (i = 0; i < sortedKeys.length; i += 1) { - _key = sortedKeys[i]; - canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); - } + arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; + }; - stack.pop(); - replacementStack.pop(); - } else { - canonicalizedObj = obj; + function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); } +}); - return canonicalizedObj; -} +/*istanbul ignore start*/ -var arrayDiff = new Diff(); - -arrayDiff.tokenize = function (value) { - return value.slice(); -}; - -arrayDiff.join = arrayDiff.removeEmpty = function (value) { - return value; -}; - -function diffArrays(oldArr, newArr, callback) { - return arrayDiff.diff(oldArr, newArr, callback); -} +var parsePatch_1 = parsePatch; +/*istanbul ignore end*/ function parsePatch(uniDiff) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], list = [], @@ -828,12 +1741,23 @@ function parsePatch(uniDiff) { chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); var hunk = { oldStart: +chunkHeader[1], - oldLines: +chunkHeader[2] || 1, + oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], newStart: +chunkHeader[3], - newLines: +chunkHeader[4] || 1, + newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], lines: [], linedelimiters: [] - }; + }; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + var addCount = 0, removeCount = 0; @@ -891,57 +1815,113 @@ function parsePatch(uniDiff) { } return list; -} // Iterator that traverses in the range of [min, max], stepping -// by distance from a given start position. I.e. for [0, 4], with -// start of 2, this will iterate 2, 3, 1, 4, 0. - - -function distanceIterator(start, minLine, maxLine) { - var wantForward = true, - backwardExhausted = false, - forwardExhausted = false, - localOffset = 1; - return function iterator() { - if (wantForward && !forwardExhausted) { - if (backwardExhausted) { - localOffset++; - } else { - wantForward = false; - } // Check if trying to fit beyond text length, and if not, check it fits - // after offset location (or desired location on first iteration) - - - if (start + localOffset <= maxLine) { - return localOffset; - } - - forwardExhausted = true; - } - - if (!backwardExhausted) { - if (!forwardExhausted) { - wantForward = true; - } // Check if trying to fit before text beginning, and if not, check it fits - // before offset location - - - if (minLine <= start - localOffset) { - return -localOffset++; - } - - backwardExhausted = true; - return iterator(); - } // We tried to fit hunk before text beginning and beyond text length, then - // hunk can't fit on the text. Return undefined - - }; } +var parse$b = /*#__PURE__*/Object.defineProperty({ + parsePatch: parsePatch_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ +var distanceIterator = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = _default; + /*istanbul ignore end*/ + // Iterator that traverses in the range of [min, max], stepping + // by distance from a given start position. I.e. for [0, 4], with + // start of 2, this will iterate 2, 3, 1, 4, 0. + + function + /*istanbul ignore start*/ + _default + /*istanbul ignore end*/ + (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; + } +}); + +/*istanbul ignore start*/ + +var applyPatch_1 = applyPatch; +var applyPatches_1 = applyPatches; +/*istanbul ignore end*/ + +var +/*istanbul ignore start*/ +_distanceIterator = _interopRequireDefault$1(distanceIterator) +/*istanbul ignore end*/ +; +/*istanbul ignore start*/ + + +function _interopRequireDefault$1(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +/*istanbul ignore end*/ + + function applyPatch(source, uniDiff) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse$b + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); } if (Array.isArray(uniDiff)) { @@ -956,8 +1936,13 @@ function applyPatch(source, uniDiff) { var lines = source.split(/\r\n|[\n\v\f\r\x85]/), delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], hunks = uniDiff.hunks, - compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) { - return line === patchContent; + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + line === patchContent + ); }, errorCount = 0, fuzzFactor = options.fuzzFactor || 0, @@ -999,7 +1984,18 @@ function applyPatch(source, uniDiff) { maxLine = lines.length - hunk.oldLines, localOffset = 0, toPos = offset + hunk.oldStart - 1; - var iterator = distanceIterator(toPos, minLine, maxLine); + var iterator = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, _distanceIterator + /*istanbul ignore end*/ + [ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ])(toPos, minLine, maxLine); for (; localOffset !== undefined; localOffset = iterator()) { if (hunkFits(hunk, toPos + localOffset)) { @@ -1026,11 +2022,6 @@ function applyPatch(source, uniDiff) { diffOffset += _hunk.newLines - _hunk.oldLines; - if (_toPos < 0) { - // Creating a new file - _toPos = 0; - } - for (var j = 0; j < _hunk.lines.length; j++) { var line = _hunk.lines[j], operation = line.length > 0 ? line[0] : ' ', @@ -1080,7 +2071,18 @@ function applyPatch(source, uniDiff) { function applyPatches(uniDiff, options) { if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); + uniDiff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse$b + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(uniDiff); } var currentIndex = 0; @@ -1111,6 +2113,60 @@ function applyPatches(uniDiff, options) { processIndex(); } +var apply = /*#__PURE__*/Object.defineProperty({ + applyPatch: applyPatch_1, + applyPatches: applyPatches_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var structuredPatch_1 = structuredPatch; +var formatPatch_1 = formatPatch; +var createTwoFilesPatch_1 = createTwoFilesPatch; +var createPatch_1 = createPatch; +/*istanbul ignore end*/ + +/*istanbul ignore start*/ + +function _toConsumableArray$1(arr) { + return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); +} + +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray$1(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); +} + +function _iterableToArray$1(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles$1(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); +} + +function _arrayLikeToArray$1(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { if (!options) { options = {}; @@ -1120,7 +2176,18 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne options.context = 4; } - var diff = diffLines(oldStr, newStr, options); + var diff = + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, line$x + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + diffLines + /*istanbul ignore end*/ + )(oldStr, newStr, options); diff.push({ value: '', lines: [] @@ -1138,14 +2205,20 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne curRange = [], oldLine = 1, newLine = 1; + /*istanbul ignore start*/ - var _loop = function _loop(i) { + var _loop = function _loop( + /*istanbul ignore end*/ + i) { var current = diff[i], lines = current.lines || current.value.replace(/\n$/, '').split('\n'); current.lines = lines; if (current.added || current.removed) { - var _curRange; // If we have previous context, start with that + /*istanbul ignore start*/ + var _curRange; + /*istanbul ignore end*/ + // If we have previous context, start with that if (!oldRangeStart) { @@ -1160,8 +2233,24 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne } } // Output our changes + /*istanbul ignore start*/ - (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) { + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_curRange = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + lines.map(function (entry) { return (current.added ? '+' : '-') + entry; }))); // Track the updated file position @@ -1176,17 +2265,54 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne if (oldRangeStart) { // Close out any changes that have been output (or join overlapping) if (lines.length <= options.context * 2 && i < diff.length - 2) { - var _curRange2; // Overlapping + /*istanbul ignore start*/ + var _curRange2; + /*istanbul ignore end*/ + // Overlapping + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + (_curRange2 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines))); } else { - var _curRange3; // end the range and output + /*istanbul ignore start*/ + var _curRange3; + /*istanbul ignore end*/ + // end the range and output var contextSize = Math.min(lines.length, options.context); + /*istanbul ignore start*/ - (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + (_curRange3 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray$1( + /*istanbul ignore end*/ + contextLines(lines.slice(0, contextSize)))); var hunk = { oldStart: oldRangeStart, @@ -1202,8 +2328,9 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne var newEOFNewline = /\n$/.test(newStr); var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; - if (!oldEOFNewline && noNlBeforeAdds) { + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); } @@ -1225,7 +2352,10 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne }; for (var i = 0; i < diff.length; i++) { - _loop(i); + /*istanbul ignore start*/ + _loop( + /*istanbul ignore end*/ + i); } return { @@ -1237,12 +2367,11 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne }; } -function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - var diff = structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options); +function formatPatch(diff) { var ret = []; - if (oldFileName == newFileName) { - ret.push('Index: ' + oldFileName); + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); } ret.push('==================================================================='); @@ -1250,7 +2379,18 @@ function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); for (var i = 0; i < diff.hunks.length; i++) { - var hunk = diff.hunks[i]; + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); ret.push.apply(ret, hunk.lines); } @@ -1258,10 +2398,29 @@ function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader return ret.join('\n') + '\n'; } +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} + function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); } +var create = /*#__PURE__*/Object.defineProperty({ + structuredPatch: structuredPatch_1, + formatPatch: formatPatch_1, + createTwoFilesPatch: createTwoFilesPatch_1, + createPatch: createPatch_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var arrayEqual_1 = arrayEqual; +var arrayStartsWith_1 = arrayStartsWith; +/*istanbul ignore end*/ + function arrayEqual(a, b) { if (a.length !== b.length) { return false; @@ -1284,8 +2443,63 @@ function arrayStartsWith(array, start) { return true; } +var array$4 = /*#__PURE__*/Object.defineProperty({ + arrayEqual: arrayEqual_1, + arrayStartsWith: arrayStartsWith_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var calcLineCount_1 = calcLineCount; +var merge_2 = merge; +/*istanbul ignore end*/ + +/*istanbul ignore start*/ + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +/*istanbul ignore end*/ + + function calcLineCount(hunk) { - var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), + /*istanbul ignore start*/ + var _calcOldNewLineCount = + /*istanbul ignore end*/ + calcOldNewLineCount(hunk.lines), oldLines = _calcOldNewLineCount.oldLines, newLines = _calcOldNewLineCount.newLines; @@ -1381,14 +2595,38 @@ function merge(mine, theirs, base) { function loadPatch(param, base) { if (typeof param === 'string') { if (/^@@/m.test(param) || /^Index:/m.test(param)) { - return parsePatch(param)[0]; + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, parse$b + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch + /*istanbul ignore end*/ + )(param)[0] + ); } if (!base) { throw new Error('Must provide a base reference or pass in a patch'); } - return structuredPatch(undefined, undefined, base, param); + return ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ + + /*istanbul ignore start*/ + 0, create + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + structuredPatch + /*istanbul ignore end*/ + )(undefined, undefined, base, param) + ); } return param; @@ -1449,15 +2687,53 @@ function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { // Both modified ... mutualChange(hunk, mine, their); } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { - var _hunk$lines; // Mine inserted + /*istanbul ignore start*/ + var _hunk$lines; + /*istanbul ignore end*/ + // Mine inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); + (_hunk$lines = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(mine))); } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { - var _hunk$lines2; // Theirs inserted + /*istanbul ignore start*/ + var _hunk$lines2; + /*istanbul ignore end*/ + // Theirs inserted + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ - (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); + (_hunk$lines2 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(their))); } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { // Mine removed or edited removal(hunk, mine, their); @@ -1487,23 +2763,113 @@ function mutualChange(hunk, mine, their) { if (allRemoves(myChanges) && allRemoves(theirChanges)) { // Special case for remove changes that are supersets of one another - if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { - var _hunk$lines3; + if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); + /*istanbul ignore start*/ + 0, array$4 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines3; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines3 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); return; - } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { - var _hunk$lines4; + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); + /*istanbul ignore start*/ + 0, array$4 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith + /*istanbul ignore end*/ + )(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines4; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines4 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines4 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges)); return; } - } else if (arrayEqual(myChanges, theirChanges)) { - var _hunk$lines5; + } else if ( + /*istanbul ignore start*/ + (/*istanbul ignore end*/ - (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); + /*istanbul ignore start*/ + 0, array$4 + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayEqual + /*istanbul ignore end*/ + )(myChanges, theirChanges)) { + /*istanbul ignore start*/ + var _hunk$lines5; + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines5 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines5 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); return; } @@ -1516,9 +2882,28 @@ function removal(hunk, mine, their, swap) { theirChanges = collectContext(their, myChanges); if (theirChanges.merged) { + /*istanbul ignore start*/ var _hunk$lines6; + /*istanbul ignore end*/ - (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + + + (_hunk$lines6 = + /*istanbul ignore end*/ + hunk.lines).push.apply( + /*istanbul ignore start*/ + _hunk$lines6 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges.merged)); } else { conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); } @@ -1681,8 +3066,20 @@ function calcOldNewLineCount(lines) { oldLines: oldLines, newLines: newLines }; -} // See: http://code.google.com/p/google-diff-match-patch/wiki/API +} +var merge_1 = /*#__PURE__*/Object.defineProperty({ + calcLineCount: calcLineCount_1, + merge: merge_2 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var convertChangesToDMP_1 = convertChangesToDMP; +/*istanbul ignore end*/ +// See: http://code.google.com/p/google-diff-match-patch/wiki/API function convertChangesToDMP(changes) { var ret = [], @@ -1706,6 +3103,17 @@ function convertChangesToDMP(changes) { return ret; } +var dmp = /*#__PURE__*/Object.defineProperty({ + convertChangesToDMP: convertChangesToDMP_1 +}, '__esModule', { + value: true +}); + +/*istanbul ignore start*/ + +var convertChangesToXML_1 = convertChangesToXML; +/*istanbul ignore end*/ + function convertChangesToXML(changes) { var ret = []; @@ -1739,279 +3147,158 @@ function escapeHTML(s) { return n; } -var index_es6 = /*#__PURE__*/Object.freeze({ - __proto__: null, - Diff: Diff, - diffChars: diffChars, - diffWords: diffWords, - diffWordsWithSpace: diffWordsWithSpace, - diffLines: diffLines, - diffTrimmedLines: diffTrimmedLines, - diffSentences: diffSentences, - diffCss: diffCss, - diffJson: diffJson, - diffArrays: diffArrays, - structuredPatch: structuredPatch, - createTwoFilesPatch: createTwoFilesPatch, - createPatch: createPatch, - applyPatch: applyPatch, - applyPatches: applyPatches, - parsePatch: parsePatch, - merge: merge, - convertChangesToDMP: convertChangesToDMP, - convertChangesToXML: convertChangesToXML, - canonicalize: canonicalize +var xml = /*#__PURE__*/Object.defineProperty({ + convertChangesToXML: convertChangesToXML_1 +}, '__esModule', { + value: true }); -/** - * @param {Doc[]} parts - * @returns Doc - */ +/*istanbul ignore start*/ +var lib$6 = createCommonjsModule(function (module, exports) { - -function concat(parts) { - // access the internals of a document directly. - // if(parts.length === 1) { - // // If it's a single document, no need to concat it. - // return parts[0]; - // } - - - return { - type: "concat", - parts - }; -} -/** - * @param {Doc} contents - * @returns Doc - */ - - -function indent(contents) { - - return { - type: "indent", - contents - }; -} -/** - * @param {number | string} n - * @param {Doc} contents - * @returns Doc - */ - - -function align(n, contents) { - - return { - type: "align", - contents, - n - }; -} -/** - * @param {Doc} contents - * @param {object} [opts] - TBD ??? - * @returns Doc - */ - - -function group(contents, opts) { - opts = opts || {}; - - return { - type: "group", - id: opts.id, - contents, - break: !!opts.shouldBreak, - expandedStates: opts.expandedStates - }; -} -/** - * @param {Doc} contents - * @returns Doc - */ - - -function dedentToRoot(contents) { - return align(-Infinity, contents); -} -/** - * @param {Doc} contents - * @returns Doc - */ - - -function markAsRoot(contents) { - // @ts-ignore - TBD ???: - return align({ - type: "root" - }, contents); -} -/** - * @param {Doc} contents - * @returns Doc - */ - - -function dedent(contents) { - return align(-1, contents); -} -/** - * @param {Doc[]} states - * @param {object} [opts] - TBD ??? - * @returns Doc - */ - - -function conditionalGroup(states, opts) { - return group(states[0], Object.assign({}, opts, { - expandedStates: states - })); -} -/** - * @param {Doc[]} parts - * @returns Doc - */ - - -function fill(parts) { - - return { - type: "fill", - parts - }; -} -/** - * @param {Doc} [breakContents] - * @param {Doc} [flatContents] - * @param {object} [opts] - TBD ??? - * @returns Doc - */ - - -function ifBreak(breakContents, flatContents, opts) { - opts = opts || {}; - - return { - type: "if-break", - breakContents, - flatContents, - groupId: opts.groupId - }; -} -/** - * @param {Doc} contents - * @returns Doc - */ - - -function lineSuffix(contents) { - - return { - type: "line-suffix", - contents - }; -} - -const lineSuffixBoundary = { - type: "line-suffix-boundary" -}; -const breakParent = { - type: "break-parent" -}; -const trim = { - type: "trim" -}; -const line = { - type: "line" -}; -const softline = { - type: "line", - soft: true -}; -const hardline = concat([{ - type: "line", - hard: true -}, breakParent]); -const literalline = concat([{ - type: "line", - hard: true, - literal: true -}, breakParent]); -const cursor = { - type: "cursor", - placeholder: Symbol("cursor") -}; -/** - * @param {Doc} sep - * @param {Doc[]} arr - * @returns Doc - */ - -function join(sep, arr) { - const res = []; - - for (let i = 0; i < arr.length; i++) { - if (i !== 0) { - res.push(sep); + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "Diff", { + enumerable: true, + get: function get() { + return _base["default"]; } + }); + Object.defineProperty(exports, "diffChars", { + enumerable: true, + get: function get() { + return character.diffChars; + } + }); + Object.defineProperty(exports, "diffWords", { + enumerable: true, + get: function get() { + return word.diffWords; + } + }); + Object.defineProperty(exports, "diffWordsWithSpace", { + enumerable: true, + get: function get() { + return word.diffWordsWithSpace; + } + }); + Object.defineProperty(exports, "diffLines", { + enumerable: true, + get: function get() { + return line$x.diffLines; + } + }); + Object.defineProperty(exports, "diffTrimmedLines", { + enumerable: true, + get: function get() { + return line$x.diffTrimmedLines; + } + }); + Object.defineProperty(exports, "diffSentences", { + enumerable: true, + get: function get() { + return sentence.diffSentences; + } + }); + Object.defineProperty(exports, "diffCss", { + enumerable: true, + get: function get() { + return css$1.diffCss; + } + }); + Object.defineProperty(exports, "diffJson", { + enumerable: true, + get: function get() { + return json.diffJson; + } + }); + Object.defineProperty(exports, "canonicalize", { + enumerable: true, + get: function get() { + return json.canonicalize; + } + }); + Object.defineProperty(exports, "diffArrays", { + enumerable: true, + get: function get() { + return array$5.diffArrays; + } + }); + Object.defineProperty(exports, "applyPatch", { + enumerable: true, + get: function get() { + return apply.applyPatch; + } + }); + Object.defineProperty(exports, "applyPatches", { + enumerable: true, + get: function get() { + return apply.applyPatches; + } + }); + Object.defineProperty(exports, "parsePatch", { + enumerable: true, + get: function get() { + return parse$b.parsePatch; + } + }); + Object.defineProperty(exports, "merge", { + enumerable: true, + get: function get() { + return merge_1.merge; + } + }); + Object.defineProperty(exports, "structuredPatch", { + enumerable: true, + get: function get() { + return create.structuredPatch; + } + }); + Object.defineProperty(exports, "createTwoFilesPatch", { + enumerable: true, + get: function get() { + return create.createTwoFilesPatch; + } + }); + Object.defineProperty(exports, "createPatch", { + enumerable: true, + get: function get() { + return create.createPatch; + } + }); + Object.defineProperty(exports, "convertChangesToDMP", { + enumerable: true, + get: function get() { + return dmp.convertChangesToDMP; + } + }); + Object.defineProperty(exports, "convertChangesToXML", { + enumerable: true, + get: function get() { + return xml.convertChangesToXML; + } + }); + /*istanbul ignore end*/ - res.push(arr[i]); + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(base$1) + /*istanbul ignore end*/ + ; + /*istanbul ignore start*/ + + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; } + /*istanbul ignore end*/ - return concat(res); -} -/** - * @param {Doc} doc - * @param {number} size - * @param {number} tabWidth - */ +}); - -function addAlignmentToDoc(doc, size, tabWidth) { - let aligned = doc; - - if (size > 0) { - // Use indent to add tabs for all the levels of tabs we need - for (let i = 0; i < Math.floor(size / tabWidth); ++i) { - aligned = indent(aligned); - } // Use align for all the spaces that are needed - - - aligned = align(size % tabWidth, aligned); // size is absolute from 0 and not relative to the current - // indentation, so we use -Infinity to reset the indentation to 0 - - aligned = align(-Infinity, aligned); - } - - return aligned; -} - -var docBuilders = { - concat, - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, - breakParent, - ifBreak, - trim, - indent, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent -}; +var doc = require("./doc.js"); var ansiRegex = ({ onlyFirst = false @@ -2054,8 +3341,8 @@ const isFullwidthCodePoint = codePoint => { }; var isFullwidthCodePoint_1 = isFullwidthCodePoint; -var _default = isFullwidthCodePoint; -isFullwidthCodePoint_1.default = _default; +var _default$r = isFullwidthCodePoint; +isFullwidthCodePoint_1.default = _default$r; var emojiRegex = function () { // https://mths.be/emoji @@ -2063,13 +3350,17 @@ var emojiRegex = function () { }; const stringWidth = string => { - string = string.replace(emojiRegex(), ' '); - if (typeof string !== 'string' || string.length === 0) { return 0; } string = stripAnsi(string); + + if (string.length === 0) { + return 0; + } + + string = string.replace(emojiRegex(), ' '); let width = 0; for (let i = 0; i < string.length; i++) { @@ -2097,10 +3388,10 @@ const stringWidth = string => { var stringWidth_1 = stringWidth; // TODO: remove this in the next major version -var _default$1 = stringWidth; -stringWidth_1.default = _default$1; +var _default$q = stringWidth; +stringWidth_1.default = _default$q; -var escapeStringRegexp = string => { +var escapeStringRegexp$2 = string => { if (typeof string !== 'string') { throw new TypeError('Expected a string'); } // Escape characters with special meaning either inside or outside character sets. @@ -2110,7 +3401,9 @@ var escapeStringRegexp = string => { return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'); }; -var getLast = arr => arr[arr.length - 1]; +const getLast$e = arr => arr[arr.length - 1]; + +var getLast_1 = getLast$e; function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; @@ -2127,47 +3420,296 @@ function _objectWithoutPropertiesLoose(source, excluded) { return target; } +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray$3 = Array.isArray || function isArray(arg) { + return classofRaw(arg) == 'Array'; +}; + +// optional / simple context binding +var functionBindContext = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false; + var element; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray$3(element)) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +var flattenIntoArray_1 = flattenIntoArray; + +/* eslint-disable es/no-symbol -- required for testing */ + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && engineV8Version && engineV8Version < 41; +}); + +/* eslint-disable es/no-symbol -- required for testing */ + +var useSymbolAsUid = nativeSymbol + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + +var WellKnownSymbolsStore = shared('wks'); +var Symbol$2 = global$2.Symbol; +var createWellKnownSymbol = useSymbolAsUid ? Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid$1; + +var wellKnownSymbol = function (name) { + if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) { + if (nativeSymbol && has$1(Symbol$2, name)) { + WellKnownSymbolsStore[name] = Symbol$2[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } return WellKnownSymbolsStore[name]; +}; + +var SPECIES = wellKnownSymbol('species'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +var arraySpeciesCreate = function (originalArray, length) { + var C; + if (isArray$3(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray$3(C.prototype))) C = undefined; + else if (isObject$3(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); +}; + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +_export({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = toLength(O.length); + var A; + aFunction(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + +var iterators = {}; + +var ITERATOR$1 = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +var isArrayIteratorMethod = function (it) { + return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$1] === it); +}; + +var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG$1] = 'z'; + +var toStringTagSupport = String(test) === '[object z]'; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +var classof = toStringTagSupport ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + +var ITERATOR = wellKnownSymbol('iterator'); + +var getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || iterators[classof(it)]; +}; + +var iteratorClose = function (iterator) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return anObject(returnMethod.call(iterator)).value; + } +}; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var iterate = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = callFn(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); + } + iterator = iterFn.call(iterable); + } + + next = iterator.next; + while (!(step = next.call(iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator); + throw error; + } + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); +}; + +var createProperty = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +_export({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + const debug = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error('SEMVER', ...args) : () => {}; var debug_1 = debug; // Note: this is the semver.org version of the spec that it implements // Not necessarily the package version of this code. const SEMVER_SPEC_VERSION = '2.0.0'; -const MAX_LENGTH = 256; -const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +const MAX_LENGTH$3 = 256; +const MAX_SAFE_INTEGER$3 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ 9007199254740991; // Max safe segment length for coercion. const MAX_SAFE_COMPONENT_LENGTH = 16; -var constants = { +var constants$5 = { SEMVER_SPEC_VERSION, - MAX_LENGTH, - MAX_SAFE_INTEGER, + MAX_LENGTH: MAX_LENGTH$3, + MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$3, MAX_SAFE_COMPONENT_LENGTH }; -function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); - } - }, fn(module, module.exports), module.exports; -} - -function getCjsExportFromNamespace (n) { - return n && n['default'] || n; -} - -function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); -} - var re_1 = createCommonjsModule(function (module, exports) { const { MAX_SAFE_COMPONENT_LENGTH - } = constants; + } = constants$5; exports = module.exports = {}; // The actual regexps go on exports.re const re = exports.re = []; @@ -2275,11 +3817,24 @@ var re_1 = createCommonjsModule(function (module, exports) { createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$'); }); -const numeric = /^[0-9]+$/; +// parse out just the options we care about so we always get a consistent +// obj with keys in a consistent order. +const opts$1 = ['includePrerelease', 'loose', 'rtl']; -const compareIdentifiers = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); +const parseOptions = options => !options ? {} : typeof options !== 'object' ? { + loose: true +} : opts$1.filter(k => options[k]).reduce((options, k) => { + options[k] = true; + return options; +}, {}); + +var parseOptions_1 = parseOptions; + +const numeric$1 = /^[0-9]+$/; + +const compareIdentifiers$1 = (a, b) => { + const anum = numeric$1.test(a); + const bnum = numeric$1.test(b); if (anum && bnum) { a = +a; @@ -2289,33 +3844,28 @@ const compareIdentifiers = (a, b) => { return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; }; -const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); +const rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); var identifiers = { - compareIdentifiers, + compareIdentifiers: compareIdentifiers$1, rcompareIdentifiers }; const { - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1 -} = constants; + MAX_LENGTH: MAX_LENGTH$2, + MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2 +} = constants$5; const { re, t } = re_1; const { - compareIdentifiers: compareIdentifiers$1 + compareIdentifiers } = identifiers; class SemVer { constructor(version, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } + options = parseOptions_1(options); if (version instanceof SemVer) { if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { @@ -2327,8 +3877,8 @@ class SemVer { throw new TypeError(`Invalid Version: ${version}`); } - if (version.length > MAX_LENGTH$1) { - throw new TypeError(`version is longer than ${MAX_LENGTH$1} characters`); + if (version.length > MAX_LENGTH$2) { + throw new TypeError(`version is longer than ${MAX_LENGTH$2} characters`); } debug_1('SemVer', version, options); @@ -2349,15 +3899,15 @@ class SemVer { this.minor = +m[2]; this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER$1 || this.major < 0) { + if (this.major > MAX_SAFE_INTEGER$2 || this.major < 0) { throw new TypeError('Invalid major version'); } - if (this.minor > MAX_SAFE_INTEGER$1 || this.minor < 0) { + if (this.minor > MAX_SAFE_INTEGER$2 || this.minor < 0) { throw new TypeError('Invalid minor version'); } - if (this.patch > MAX_SAFE_INTEGER$1 || this.patch < 0) { + if (this.patch > MAX_SAFE_INTEGER$2 || this.patch < 0) { throw new TypeError('Invalid patch version'); } // numberify any prerelease numeric ids @@ -2369,7 +3919,7 @@ class SemVer { if (/^[0-9]+$/.test(id)) { const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER$1) { + if (num >= 0 && num < MAX_SAFE_INTEGER$2) { return num; } } @@ -2419,7 +3969,7 @@ class SemVer { other = new SemVer(other, this.options); } - return compareIdentifiers$1(this.major, other.major) || compareIdentifiers$1(this.minor, other.minor) || compareIdentifiers$1(this.patch, other.patch); + return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); } comparePre(other) { @@ -2452,7 +4002,7 @@ class SemVer { } else if (a === b) { continue; } else { - return compareIdentifiers$1(a, b); + return compareIdentifiers(a, b); } } while (++i); } @@ -2478,7 +4028,7 @@ class SemVer { } else if (a === b) { continue; } else { - return compareIdentifiers$1(a, b); + return compareIdentifiers(a, b); } } while (++i); } // preminor will bump the version up to the next minor release, and immediately @@ -2606,29 +4156,30 @@ class SemVer { } -var semver = SemVer; +var semver$3 = SemVer; -const compare = (a, b, loose) => new semver(a, loose).compare(new semver(b, loose)); +const compare$1 = (a, b, loose) => new semver$3(a, loose).compare(new semver$3(b, loose)); -var compare_1 = compare; +var compare_1 = compare$1; const lt = (a, b, loose) => compare_1(a, b, loose) < 0; var lt_1 = lt; -const gte = (a, b, loose) => compare_1(a, b, loose) >= 0; +const gte$1 = (a, b, loose) => compare_1(a, b, loose) >= 0; -var gte_1 = gte; +var gte_1 = gte$1; var arrayify = (object, keyName) => Object.entries(object).map(([key, value]) => Object.assign({ [keyName]: key }, value)); -var lib = createCommonjsModule(function (module, exports) { +var lib$5 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true - }); // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. + }); + exports.outdent = void 0; // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. function noop() { var args = []; @@ -2639,7 +4190,7 @@ var lib = createCommonjsModule(function (module, exports) { } function createWeakMap() { - if (typeof WeakMap !== 'undefined') { + if (typeof WeakMap !== "undefined") { return new WeakMap(); } else { return fakeSetOrMap(); @@ -2697,7 +4248,7 @@ var lib = createCommonjsModule(function (module, exports) { } var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, 'g'); + var reMatchIndent = new RegExp(reSource, "g"); if (firstInterpolatedValueSetsIndentationLevel) { strings = strings.slice(1); @@ -2706,19 +4257,19 @@ var lib = createCommonjsModule(function (module, exports) { var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === 'string'; + var normalizeNewlines = typeof newline === "string"; var l = strings.length; var outdentedStrings = strings.map(function (v, i) { // Remove leading indentation from all lines - v = v.replace(reMatchIndent, '$1'); // Trim a leading newline from the first string + v = v.replace(reMatchIndent, "$1"); // Trim a leading newline from the first string if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ''); + v = v.replace(reLeadingNewline, ""); } // Trim a trailing newline from the last string if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ''); + v = v.replace(reTrailingNewline, ""); } // Normalize newlines @@ -2734,7 +4285,7 @@ var lib = createCommonjsModule(function (module, exports) { } function concatStringsAndValues(strings, values) { - var ret = ''; + var ret = ""; for (var i = 0, l = strings.length; i < l; i++) { ret += strings[i]; @@ -2748,7 +4299,7 @@ var lib = createCommonjsModule(function (module, exports) { } function isTemplateStringsArray(v) { - return has(v, 'raw') && has(v, 'length'); + return has(v, "raw") && has(v, "length"); } /** * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to @@ -2762,9 +4313,9 @@ var lib = createCommonjsModule(function (module, exports) { /** Cache of pre-processed template literal arrays */ var arrayAutoIndentCache = createWeakMap(); /** - * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, - * before interpolated values are injected. - */ + * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, + * before interpolated values are injected. + */ var arrayFirstInterpSetsIndentCache = createWeakMap(); @@ -2828,7 +4379,7 @@ var lib = createCommonjsModule(function (module, exports) { // so we fail gracefully. try { module.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, '__esModule', { + Object.defineProperty(defaultOutdent, "__esModule", { value: true }); defaultOutdent.default = defaultOutdent; @@ -2839,7 +4390,7 @@ var lib = createCommonjsModule(function (module, exports) { const { outdent -} = lib; +} = lib$5; const CATEGORY_CONFIG = "Config"; const CATEGORY_EDITOR = "Editor"; const CATEGORY_FORMAT = "Format"; @@ -2886,7 +4437,7 @@ const CATEGORY_SPECIAL = "Special"; /** @type {{ [name: string]: OptionInfo }} */ -const options = { +const options$7 = { cursorOffset: { since: "1.4.0", category: CATEGORY_SPECIAL, @@ -2894,7 +4445,7 @@ const options = { default: -1, range: { start: -1, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, description: outdent` @@ -2981,6 +4532,14 @@ const options = { value: "typescript", since: "1.4.0", description: "TypeScript" + }, { + value: "espree", + since: "2.2.0", + description: "JavaScript" + }, { + value: "meriyah", + since: "2.2.0", + description: "JavaScript" }, { value: "css", since: "1.7.1", @@ -3027,8 +4586,8 @@ const options = { description: "YAML" }, { value: "glimmer", - since: null, - description: "Handlebars" + since: "2.3.0", + description: "Ember / Handlebars" }, { value: "html", since: "1.15.0", @@ -3081,7 +4640,7 @@ const options = { description: "The line length where Prettier will try wrap.", range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 } }, @@ -3089,10 +4648,10 @@ const options = { since: "1.4.0", category: CATEGORY_SPECIAL, type: "int", - default: Infinity, + default: Number.POSITIVE_INFINITY, range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, description: outdent` @@ -3109,7 +4668,7 @@ const options = { default: 0, range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 }, description: outdent` @@ -3137,7 +4696,7 @@ const options = { description: "Number of spaces per indentation level.", range: { start: 0, - end: Infinity, + end: Number.POSITIVE_INFINITY, step: 1 } }, @@ -3166,7 +4725,7 @@ const options = { }] } }; -var coreOptions = { +var coreOptions$1 = { CATEGORY_CONFIG, CATEGORY_EDITOR, CATEGORY_FORMAT, @@ -3174,18 +4733,18 @@ var coreOptions = { CATEGORY_OUTPUT, CATEGORY_GLOBAL, CATEGORY_SPECIAL, - options + options: options$7 }; -var require$$0 = getCjsExportFromNamespace(_package$1); +const _excluded$3 = ["cliName", "cliCategory", "cliDescription"]; -const semver$1 = { +const semver$2 = { compare: compare_1, lt: lt_1, gte: gte_1 }; -const currentVersion = require$$0.version; -const coreOptions$1 = coreOptions.options; +const currentVersion = require$$0$8.version; +const coreOptions = coreOptions$1.options; /** * Strings in `plugins` and `pluginSearchDirs` are handled by a wrapped version * of this function created by `withPlugins`. Don't pass them here directly. @@ -3197,7 +4756,7 @@ const coreOptions$1 = coreOptions.options; * @param {boolean=} param0.showInternal */ -function getSupportInfo({ +function getSupportInfo$3({ plugins = [], showUnreleased = false, showDeprecated = false, @@ -3206,14 +4765,14 @@ function getSupportInfo({ // pre-release version is smaller than the normal version in semver, // we need to treat it as the normal one so as to test new features. const version = currentVersion.split("-", 1)[0]; - const languages = plugins.reduce((all, plugin) => all.concat(plugin.languages || []), []).filter(filterSince); + const languages = plugins.flatMap(plugin => plugin.languages || []).filter(filterSince); const options = arrayify(Object.assign({}, ...plugins.map(({ options - }) => options), coreOptions$1), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { + }) => options), coreOptions), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { option = Object.assign({}, option); if (Array.isArray(option.default)) { - option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver$1.compare(info2.since, info1.since))[0].value; + option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver$2.compare(info2.since, info1.since))[0].value; } if (Array.isArray(option.choices)) { @@ -3224,11 +4783,8 @@ function getSupportInfo({ } } - const pluginDefaults = plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).reduce((reduced, plugin) => { - reduced[plugin.name] = plugin.defaultOptions[option.name]; - return reduced; - }, {}); - return Object.assign({}, option, { + const pluginDefaults = Object.fromEntries(plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).map(plugin => [plugin.name, plugin.defaultOptions[option.name]])); + return Object.assign(Object.assign({}, option), {}, { pluginDefaults }); }); @@ -3238,11 +4794,11 @@ function getSupportInfo({ }; function filterSince(object) { - return showUnreleased || !("since" in object) || object.since && semver$1.gte(version, object.since); + return showUnreleased || !("since" in object) || object.since && semver$2.gte(version, object.since); } function filterDeprecated(object) { - return showDeprecated || !("deprecated" in object) || object.deprecated && semver$1.lt(version, object.deprecated); + return showDeprecated || !("deprecated" in object) || object.deprecated && semver$2.lt(version, object.deprecated); } function mapInternal(object) { @@ -3250,7 +4806,7 @@ function getSupportInfo({ return object; } - const newObject = _objectWithoutPropertiesLoose(object, ["cliName", "cliCategory", "cliDescription"]); + const newObject = _objectWithoutProperties(object, _excluded$3); return newObject; } @@ -3282,12 +4838,15 @@ function collectParsersFromLanguages(option, languages, plugins) { } var support = { - getSupportInfo + getSupportInfo: getSupportInfo$3 }; +const { + getSupportInfo: getSupportInfo$2 +} = support; const notAsciiRegex = /[^\x20-\x7F]/; -const getPenultimate = arr => arr[arr.length - 2]; +const getPenultimate$1 = arr => arr[arr.length - 2]; /** * @typedef {{backwards?: boolean}} SkipOptions */ @@ -3298,7 +4857,7 @@ const getPenultimate = arr => arr[arr.length - 2]; */ -function skip(chars) { +function skip$1(chars) { return (text, index, opts) => { const backwards = opts && opts.backwards; // Allow `skip` functions to be threaded together without having // to check for failures (did someone say monads?). @@ -3344,29 +4903,29 @@ function skip(chars) { */ -const skipWhitespace = skip(/\s/); +const skipWhitespace$2 = skip$1(/\s/); /** * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} */ -const skipSpaces = skip(" \t"); +const skipSpaces$2 = skip$1(" \t"); /** * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} */ -const skipToLineEnd = skip(",; \t"); +const skipToLineEnd$1 = skip$1(",; \t"); /** * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} */ -const skipEverythingButNewLine = skip(/[^\n\r]/); +const skipEverythingButNewLine$2 = skip$1(/[^\n\r]/); /** * @param {string} text * @param {number | false} index * @returns {number | false} */ -function skipInlineComment(text, index) { +function skipInlineComment$1(text, index) { /* istanbul ignore next */ if (index === false) { return false; @@ -3389,14 +4948,14 @@ function skipInlineComment(text, index) { */ -function skipTrailingComment(text, index) { +function skipTrailingComment$1(text, index) { /* istanbul ignore next */ if (index === false) { return false; } if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { - return skipEverythingButNewLine(text, index); + return skipEverythingButNewLine$2(text, index); } return index; @@ -3412,7 +4971,7 @@ function skipTrailingComment(text, index) { */ -function skipNewline(text, index, opts) { +function skipNewline$2(text, index, opts) { const backwards = opts && opts.backwards; if (index === false) { @@ -3455,10 +5014,9 @@ function skipNewline(text, index, opts) { */ -function hasNewline(text, index, opts) { - opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - const idx2 = skipNewline(text, idx, opts); +function hasNewline$a(text, index, opts = {}) { + const idx = skipSpaces$2(text, opts.backwards ? index - 1 : index, opts); + const idx2 = skipNewline$2(text, idx, opts); return idx !== idx2; } /** @@ -3469,7 +5027,7 @@ function hasNewline(text, index, opts) { */ -function hasNewlineInRange(text, start, end) { +function hasNewlineInRange$5(text, start, end) { for (let i = start; i < end; ++i) { if (text.charAt(i) === "\n") { return true; @@ -3487,19 +5045,19 @@ function hasNewlineInRange(text, start, end) { */ -function isPreviousLineEmpty(text, node, locStart) { +function isPreviousLineEmpty$3(text, node, locStart) { /** @type {number | false} */ let idx = locStart(node) - 1; - idx = skipSpaces(text, idx, { + idx = skipSpaces$2(text, idx, { backwards: true }); - idx = skipNewline(text, idx, { + idx = skipNewline$2(text, idx, { backwards: true }); - idx = skipSpaces(text, idx, { + idx = skipSpaces$2(text, idx, { backwards: true }); - const idx2 = skipNewline(text, idx, { + const idx2 = skipNewline$2(text, idx, { backwards: true }); return idx !== idx2; @@ -3511,7 +5069,7 @@ function isPreviousLineEmpty(text, node, locStart) { */ -function isNextLineEmptyAfterIndex(text, index) { +function isNextLineEmptyAfterIndex$3(text, index) { /** @type {number | false} */ let oldIdx = null; /** @type {number | false} */ @@ -3521,14 +5079,14 @@ function isNextLineEmptyAfterIndex(text, index) { while (idx !== oldIdx) { // We need to skip all the potential trailing inline comments oldIdx = idx; - idx = skipToLineEnd(text, idx); - idx = skipInlineComment(text, idx); - idx = skipSpaces(text, idx); + idx = skipToLineEnd$1(text, idx); + idx = skipInlineComment$1(text, idx); + idx = skipSpaces$2(text, idx); } - idx = skipTrailingComment(text, idx); - idx = skipNewline(text, idx); - return idx !== false && hasNewline(text, idx); + idx = skipTrailingComment$1(text, idx); + idx = skipNewline$2(text, idx); + return idx !== false && hasNewline$a(text, idx); } /** * @template N @@ -3539,8 +5097,8 @@ function isNextLineEmptyAfterIndex(text, index) { */ -function isNextLineEmpty(text, node, locEnd) { - return isNextLineEmptyAfterIndex(text, locEnd(node)); +function isNextLineEmpty$e(text, node, locEnd) { + return isNextLineEmptyAfterIndex$3(text, locEnd(node)); } /** * @param {string} text @@ -3549,7 +5107,7 @@ function isNextLineEmpty(text, node, locEnd) { */ -function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { +function getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1(text, idx) { /** @type {number | false} */ let oldIdx = null; /** @type {number | false} */ @@ -3558,10 +5116,10 @@ function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { while (nextIdx !== oldIdx) { oldIdx = nextIdx; - nextIdx = skipSpaces(text, nextIdx); - nextIdx = skipInlineComment(text, nextIdx); - nextIdx = skipTrailingComment(text, nextIdx); - nextIdx = skipNewline(text, nextIdx); + nextIdx = skipSpaces$2(text, nextIdx); + nextIdx = skipInlineComment$1(text, nextIdx); + nextIdx = skipTrailingComment$1(text, nextIdx); + nextIdx = skipNewline$2(text, nextIdx); } return nextIdx; @@ -3575,8 +5133,8 @@ function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { */ -function getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { - return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(node)); +function getNextNonSpaceNonCommentCharacterIndex$4(text, node, locEnd) { + return getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1(text, locEnd(node)); } /** * @template N @@ -3587,9 +5145,9 @@ function getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { */ -function getNextNonSpaceNonCommentCharacter(text, node, locEnd) { +function getNextNonSpaceNonCommentCharacter$2(text, node, locEnd) { return text.charAt( // @ts-ignore => TBD: can return false, should we define a fallback? - getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd)); + getNextNonSpaceNonCommentCharacterIndex$4(text, node, locEnd)); } // Not using, but it's public utils /* istanbul ignore next */ @@ -3602,9 +5160,8 @@ function getNextNonSpaceNonCommentCharacter(text, node, locEnd) { */ -function hasSpaces(text, index, opts) { - opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); +function hasSpaces$1(text, index, opts = {}) { + const idx = skipSpaces$2(text, opts.backwards ? index - 1 : index, opts); return idx !== index; } /** @@ -3615,8 +5172,7 @@ function hasSpaces(text, index, opts) { */ -function getAlignmentSize(value, tabWidth, startIndex) { - startIndex = startIndex || 0; +function getAlignmentSize$2(value, tabWidth, startIndex = 0) { let size = 0; for (let i = startIndex; i < value.length; ++i) { @@ -3640,14 +5196,14 @@ function getAlignmentSize(value, tabWidth, startIndex) { */ -function getIndentSize(value, tabWidth) { +function getIndentSize$2(value, tabWidth) { const lastNewlineIndex = value.lastIndexOf("\n"); if (lastNewlineIndex === -1) { return 0; } - return getAlignmentSize( // All the leading whitespaces + return getAlignmentSize$2( // All the leading whitespaces value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], tabWidth); } /** @@ -3662,7 +5218,7 @@ function getIndentSize(value, tabWidth) { */ -function getPreferredQuote(raw, preferredQuote) { +function getPreferredQuote$1(raw, preferredQuote) { // `rawContent` is the string exactly like it appeared in the input source // code, without its enclosing quotes. const rawContent = raw.slice(1, -1); @@ -3693,33 +5249,18 @@ function getPreferredQuote(raw, preferredQuote) { return result; } -function printString(raw, options, isDirectiveLiteral) { +function printString$4(raw, options) { // `rawContent` is the string exactly like it appeared in the input source // code, without its enclosing quotes. - const rawContent = raw.slice(1, -1); // Check for the alternate quote, to determine if we're allowed to swap - // the quotes on a DirectiveLiteral. - - const canChangeDirectiveQuotes = !rawContent.includes('"') && !rawContent.includes("'"); + const rawContent = raw.slice(1, -1); /** @type {Quote} */ - const enclosingQuote = options.parser === "json" ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(raw, options.singleQuote ? "'" : '"'); // Directives are exact code unit sequences, which means that you can't - // change the escape sequences they use. - // See https://github.com/prettier/prettier/issues/1555 - // and https://tc39.github.io/ecma262/#directive-prologue - - if (isDirectiveLiteral) { - if (canChangeDirectiveQuotes) { - return enclosingQuote + rawContent + enclosingQuote; - } - - return raw; - } // It might sound unnecessary to use `makeString` even if the string already + const enclosingQuote = options.parser === "json" || options.parser === "json5" && options.quoteProps === "preserve" && !options.singleQuote ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote$1(raw, options.singleQuote ? "'" : '"'); // It might sound unnecessary to use `makeString` even if the string already // is enclosed with `enclosingQuote`, but it isn't. The string could contain // unnecessary escapes (such as in `"\'"`). Always using `makeString` makes // sure that we consistently output the minimum amount of escaped quotes. - - return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.embeddedInHtml)); + return makeString$1(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.__embeddedInHtml)); } /** * @param {string} rawContent @@ -3729,10 +5270,10 @@ function printString(raw, options, isDirectiveLiteral) { */ -function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { +function makeString$1(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { const otherQuote = enclosingQuote === '"' ? "'" : '"'; // Matches _any_ escape and unescaped quotes (both single and double). - const regex = /\\([\S\s])|(["'])/g; // Escape and unescape single and double quotes as needed to be able to + const regex = /\\(.)|(["'])/gs; // Escape and unescape single and double quotes as needed to be able to // enclose `rawContent` with `enclosingQuote`. const newContent = rawContent.replace(regex, (match, escaped, quote) => { @@ -3761,7 +5302,7 @@ function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { return enclosingQuote + newContent + enclosingQuote; } -function printNumber(rawNumber) { +function printNumber$4(rawNumber) { return rawNumber.toLowerCase() // Remove unnecessary plus and zeroes from scientific notation. .replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3") // Remove unnecessary scientific notation (1e0). .replace(/^([+-]?[\d.]+)e[+-]?0+$/, "$1") // Make sure numbers always start with a digit. @@ -3776,8 +5317,8 @@ function printNumber(rawNumber) { */ -function getMaxContinuousCount(str, target) { - const results = str.match(new RegExp(`(${escapeStringRegexp(target)})+`, "g")); +function getMaxContinuousCount$3(str, target) { + const results = str.match(new RegExp(`(${escapeStringRegexp$2(target)})+`, "g")); if (results === null) { return 0; @@ -3786,8 +5327,8 @@ function getMaxContinuousCount(str, target) { return results.reduce((maxCount, result) => Math.max(maxCount, result.length / target.length), 0); } -function getMinNotPresentContinuousCount(str, target) { - const matches = str.match(new RegExp(`(${escapeStringRegexp(target)})+`, "g")); +function getMinNotPresentContinuousCount$1(str, target) { + const matches = str.match(new RegExp(`(${escapeStringRegexp$2(target)})+`, "g")); if (matches === null) { return 0; @@ -3819,7 +5360,7 @@ function getMinNotPresentContinuousCount(str, target) { */ -function getStringWidth(text) { +function getStringWidth$4(text) { if (!text) { return 0; } // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` @@ -3832,40 +5373,20 @@ function getStringWidth(text) { return stringWidth_1(text); } -function hasIgnoreComment(path) { - const node = path.getValue(); - return hasNodeIgnoreComment(node); -} - -function hasNodeIgnoreComment(node) { - return node && (node.comments && node.comments.length > 0 && node.comments.some(comment => isNodeIgnoreComment(comment) && !comment.unignore) || node.prettierIgnore); -} - -function isNodeIgnoreComment(comment) { - return comment.value.trim() === "prettier-ignore"; -} - function addCommentHelper(node, comment) { const comments = node.comments || (node.comments = []); comments.push(comment); - comment.printed = false; // For some reason, TypeScript parses `// x` inside of JSXText as a comment - // We already "print" it via the raw text, we don't need to re-print it as a - // comment - - /* istanbul ignore next */ - - if (node.type === "JSXText") { - comment.printed = true; - } + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); } -function addLeadingComment(node, comment) { +function addLeadingComment$3(node, comment) { comment.leading = true; comment.trailing = false; addCommentHelper(node, comment); } -function addDanglingComment(node, comment, marker) { +function addDanglingComment$3(node, comment, marker) { comment.leading = false; comment.trailing = false; @@ -3876,63 +5397,33 @@ function addDanglingComment(node, comment, marker) { addCommentHelper(node, comment); } -function addTrailingComment(node, comment) { +function addTrailingComment$3(node, comment) { comment.leading = false; comment.trailing = true; addCommentHelper(node, comment); -} // Not using - -/* istanbul ignore next */ - - -function isWithinParentArrayProperty(path, propertyName) { - const node = path.getValue(); - const parent = path.getParentNode(); - - if (parent == null) { - return false; - } - - if (!Array.isArray(parent[propertyName])) { - return false; - } - - const key = path.getName(); - return parent[propertyName][key] === node; } -function replaceEndOfLineWith(text, replacement) { - const parts = []; - - for (const part of text.split("\n")) { - if (parts.length !== 0) { - parts.push(replacement); - } - - parts.push(part); - } - - return parts; -} - -function getParserName(lang, options) { - const supportInfo = support.getSupportInfo({ +function inferParserByLanguage$2(language, options) { + const { + languages + } = getSupportInfo$2({ plugins: options.plugins }); - const language = supportInfo.languages.find(language => language.name.toLowerCase() === lang || language.aliases && language.aliases.includes(lang) || language.extensions && language.extensions.some(ext => ext === `.${lang}`)); - - if (language) { - return language.parsers[0]; - } - - return null; + const matched = languages.find(({ + name + }) => name.toLowerCase() === language) || languages.find(({ + aliases + }) => Array.isArray(aliases) && aliases.includes(language)) || languages.find(({ + extensions + }) => Array.isArray(extensions) && extensions.includes(`.${language}`)); + return matched && matched.parsers[0]; } -function isFrontMatterNode(node) { +function isFrontMatterNode$5(node) { return node && node.type === "front-matter"; } -function getShebang(text) { +function getShebang$1(text) { if (!text.startsWith("#!")) { return ""; } @@ -3945,50 +5436,83 @@ function getShebang(text) { return text.slice(0, index); } +/** + * @param {any} object + * @returns {object is Array} + */ -var util = { - replaceEndOfLineWith, - getStringWidth, - getMaxContinuousCount, - getMinNotPresentContinuousCount, - getParserName, - getPenultimate, - getLast, - getNextNonSpaceNonCommentCharacterIndexWithStartIndex, - getNextNonSpaceNonCommentCharacterIndex, - getNextNonSpaceNonCommentCharacter, - skip, - skipWhitespace, - skipSpaces, - skipToLineEnd, - skipEverythingButNewLine, - skipInlineComment, - skipTrailingComment, - skipNewline, - isNextLineEmptyAfterIndex, - isNextLineEmpty, - isPreviousLineEmpty, - hasNewline, - hasNewlineInRange, - hasSpaces, - getAlignmentSize, - getIndentSize, - getPreferredQuote, - printString, - printNumber, - hasIgnoreComment, - hasNodeIgnoreComment, - isNodeIgnoreComment, - makeString, - addLeadingComment, - addDanglingComment, - addTrailingComment, - isWithinParentArrayProperty, - isFrontMatterNode, - getShebang + +function isNonEmptyArray$j(object) { + return Array.isArray(object) && object.length > 0; +} +/** + * @param {string} description + * @returns {(node: any) => symbol} + */ + + +function createGroupIdMapper$2(description) { + const groupIds = new WeakMap(); + return function (node) { + if (!groupIds.has(node)) { + groupIds.set(node, Symbol(description)); + } + + return groupIds.get(node); + }; +} + +function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String(node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || ""); + + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "…"; + } + + return nodeType + (nodeName ? " " + nodeName : ""); +} + +var util$5 = { + inferParserByLanguage: inferParserByLanguage$2, + getStringWidth: getStringWidth$4, + getMaxContinuousCount: getMaxContinuousCount$3, + getMinNotPresentContinuousCount: getMinNotPresentContinuousCount$1, + getPenultimate: getPenultimate$1, + getLast: getLast_1, + getNextNonSpaceNonCommentCharacterIndexWithStartIndex: getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$4, + getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$2, + skip: skip$1, + skipWhitespace: skipWhitespace$2, + skipSpaces: skipSpaces$2, + skipToLineEnd: skipToLineEnd$1, + skipEverythingButNewLine: skipEverythingButNewLine$2, + skipInlineComment: skipInlineComment$1, + skipTrailingComment: skipTrailingComment$1, + skipNewline: skipNewline$2, + isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$3, + isNextLineEmpty: isNextLineEmpty$e, + isPreviousLineEmpty: isPreviousLineEmpty$3, + hasNewline: hasNewline$a, + hasNewlineInRange: hasNewlineInRange$5, + hasSpaces: hasSpaces$1, + getAlignmentSize: getAlignmentSize$2, + getIndentSize: getIndentSize$2, + getPreferredQuote: getPreferredQuote$1, + printString: printString$4, + printNumber: printNumber$4, + makeString: makeString$1, + addLeadingComment: addLeadingComment$3, + addDanglingComment: addDanglingComment$3, + addTrailingComment: addTrailingComment$3, + isFrontMatterNode: isFrontMatterNode$5, + getShebang: getShebang$1, + isNonEmptyArray: isNonEmptyArray$j, + createGroupIdMapper: createGroupIdMapper$2 }; -function guessEndOfLine(text) { +function guessEndOfLine$1(text) { const index = text.indexOf("\r"); if (index >= 0) { @@ -3998,7 +5522,7 @@ function guessEndOfLine(text) { return "lf"; } -function convertEndOfLineToChars(value) { +function convertEndOfLineToChars$1(value) { switch (value) { case "cr": return "\r"; @@ -4011,7 +5535,7 @@ function convertEndOfLineToChars(value) { } } -function countEndOfLineChars(text, eol) { +function countEndOfLineChars$1(text, eol) { let regex; /* istanbul ignore else */ @@ -4029,1011 +5553,15 @@ function countEndOfLineChars(text, eol) { return endOfLines ? endOfLines.length : 0; } -function normalizeEndOfLine(text) { +function normalizeEndOfLine$2(text) { return text.replace(/\r\n?/g, "\n"); } var endOfLine = { - guessEndOfLine, - convertEndOfLineToChars, - countEndOfLineChars, - normalizeEndOfLine -}; - -const { - getStringWidth: getStringWidth$1 -} = util; -const { - convertEndOfLineToChars: convertEndOfLineToChars$1 -} = endOfLine; -const { - concat: concat$1, - fill: fill$1, - cursor: cursor$1 -} = docBuilders; -/** @type {Record} */ - -let groupModeMap; -const MODE_BREAK = 1; -const MODE_FLAT = 2; - -function rootIndent() { - return { - value: "", - length: 0, - queue: [] - }; -} - -function makeIndent(ind, options) { - return generateInd(ind, { - type: "indent" - }, options); -} - -function makeAlign(indent, n, options) { - if (n === -Infinity) { - return indent.root || rootIndent(); - } - - if (n < 0) { - return generateInd(indent, { - type: "dedent" - }, options); - } - - if (!n) { - return indent; - } - - if (n.type === "root") { - return Object.assign({}, indent, { - root: indent - }); - } - - const alignType = typeof n === "string" ? "stringAlign" : "numberAlign"; - return generateInd(indent, { - type: alignType, - n - }, options); -} - -function generateInd(ind, newPart, options) { - const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : ind.queue.concat(newPart); - let value = ""; - let length = 0; - let lastTabs = 0; - let lastSpaces = 0; - - for (const part of queue) { - switch (part.type) { - case "indent": - flush(); - - if (options.useTabs) { - addTabs(1); - } else { - addSpaces(options.tabWidth); - } - - break; - - case "stringAlign": - flush(); - value += part.n; - length += part.n.length; - break; - - case "numberAlign": - lastTabs += 1; - lastSpaces += part.n; - break; - - /* istanbul ignore next */ - - default: - throw new Error(`Unexpected type '${part.type}'`); - } - } - - flushSpaces(); - return Object.assign({}, ind, { - value, - length, - queue - }); - - function addTabs(count) { - value += "\t".repeat(count); - length += options.tabWidth * count; - } - - function addSpaces(count) { - value += " ".repeat(count); - length += count; - } - - function flush() { - if (options.useTabs) { - flushTabs(); - } else { - flushSpaces(); - } - } - - function flushTabs() { - if (lastTabs > 0) { - addTabs(lastTabs); - } - - resetLast(); - } - - function flushSpaces() { - if (lastSpaces > 0) { - addSpaces(lastSpaces); - } - - resetLast(); - } - - function resetLast() { - lastTabs = 0; - lastSpaces = 0; - } -} - -function trim$1(out) { - if (out.length === 0) { - return 0; - } - - let trimCount = 0; // Trim whitespace at the end of line - - while (out.length > 0 && typeof out[out.length - 1] === "string" && out[out.length - 1].match(/^[\t ]*$/)) { - trimCount += out.pop().length; - } - - if (out.length && typeof out[out.length - 1] === "string") { - const trimmed = out[out.length - 1].replace(/[\t ]*$/, ""); - trimCount += out[out.length - 1].length - trimmed.length; - out[out.length - 1] = trimmed; - } - - return trimCount; -} - -function fits(next, restCommands, width, options, mustBeFlat) { - let restIdx = restCommands.length; - const cmds = [next]; // `out` is only used for width counting because `trim` requires to look - // backwards for space characters. - - const out = []; - - while (width >= 0) { - if (cmds.length === 0) { - if (restIdx === 0) { - return true; - } - - cmds.push(restCommands[restIdx - 1]); - restIdx--; - continue; - } - - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - out.push(doc); - width -= getStringWidth$1(doc); - } else { - switch (doc.type) { - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - width += trim$1(out); - break; - - case "group": - if (mustBeFlat && doc.break) { - return false; - } - - cmds.push([ind, doc.break ? MODE_BREAK : mode, doc.contents]); - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - - case "fill": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; - } - - case "line": - switch (mode) { - // fallthrough - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - width -= 1; - } - - break; - } - - return true; - - case MODE_BREAK: - return true; - } - - break; - } - } - } - - return false; -} - -function printDocToString(doc, options) { - groupModeMap = {}; - const width = options.printWidth; - const newLine = convertEndOfLineToChars$1(options.endOfLine); - let pos = 0; // cmds is basically a stack. We've turned a recursive call into a - // while loop which is much faster. The while loop below adds new - // cmds to the array instead of recursively calling `print`. - - const cmds = [[rootIndent(), MODE_BREAK, doc]]; - const out = []; - let shouldRemeasure = false; - let lineSuffix = []; - - while (cmds.length !== 0) { - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - const formatted = newLine !== "\n" && doc.includes("\n") ? doc.replace(/\n/g, newLine) : doc; - out.push(formatted); - pos += getStringWidth$1(formatted); - } else { - switch (doc.type) { - case "cursor": - out.push(cursor$1.placeholder); - break; - - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - pos -= trim$1(out); - break; - - case "group": - switch (mode) { - case MODE_FLAT: - if (!shouldRemeasure) { - cmds.push([ind, doc.break ? MODE_BREAK : MODE_FLAT, doc.contents]); - break; - } - - // fallthrough - - case MODE_BREAK: - { - shouldRemeasure = false; - const next = [ind, MODE_FLAT, doc.contents]; - const rem = width - pos; - - if (!doc.break && fits(next, cmds, rem, options)) { - cmds.push(next); - } else { - // Expanded states are a rare case where a document - // can manually provide multiple representations of - // itself. It provides an array of documents - // going from the least expanded (most flattened) - // representation first to the most expanded. If a - // group has these, we need to manually go through - // these states and find the first one that fits. - if (doc.expandedStates) { - const mostExpanded = doc.expandedStates[doc.expandedStates.length - 1]; - - if (doc.break) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - for (let i = 1; i < doc.expandedStates.length + 1; i++) { - if (i >= doc.expandedStates.length) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - const state = doc.expandedStates[i]; - const cmd = [ind, MODE_FLAT, state]; - - if (fits(cmd, cmds, rem, options)) { - cmds.push(cmd); - break; - } - } - } - } - } else { - cmds.push([ind, MODE_BREAK, doc.contents]); - } - } - - break; - } - } - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - // Fills each line with as much code as possible before moving to a new - // line with the same indentation. - // - // Expects doc.parts to be an array of alternating content and - // whitespace. The whitespace contains the linebreaks. - // - // For example: - // ["I", line, "love", line, "monkeys"] - // or - // [{ type: group, ... }, softline, { type: group, ... }] - // - // It uses this parts structure to handle three main layout cases: - // * The first two content items fit on the same line without - // breaking - // -> output the first content item and the whitespace "flat". - // * Only the first content item fits on the line without breaking - // -> output the first content item "flat" and the whitespace with - // "break". - // * Neither content item fits on the line without breaking - // -> output the first content item and the whitespace with "break". - - case "fill": - { - const rem = width - pos; - const { - parts - } = doc; - - if (parts.length === 0) { - break; - } - - const [content, whitespace] = parts; - const contentFlatCmd = [ind, MODE_FLAT, content]; - const contentBreakCmd = [ind, MODE_BREAK, content]; - const contentFits = fits(contentFlatCmd, [], rem, options, true); - - if (parts.length === 1) { - if (contentFits) { - cmds.push(contentFlatCmd); - } else { - cmds.push(contentBreakCmd); - } - - break; - } - - const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; - const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; - - if (parts.length === 2) { - if (contentFits) { - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); - } - - break; - } // At this point we've handled the first pair (context, separator) - // and will create a new fill doc for the rest of the content. - // Ideally we wouldn't mutate the array here but copying all the - // elements to a new array would make this algorithm quadratic, - // which is unusable for large arrays (e.g. large texts in JSX). - - - parts.splice(0, 2); - const remainingCmd = [ind, mode, fill$1(parts)]; - const secondContent = parts[0]; - const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, concat$1([content, whitespace, secondContent])]; - const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, true); - - if (firstAndSecondContentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else if (contentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); - } - - break; - } - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; - } - - case "line-suffix": - lineSuffix.push([ind, mode, doc.contents]); - break; - - case "line-suffix-boundary": - if (lineSuffix.length > 0) { - cmds.push([ind, mode, { - type: "line", - hard: true - }]); - } - - break; - - case "line": - switch (mode) { - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - pos += 1; - } - - break; - } else { - // This line was forced into the output even if we - // were in flattened mode, so we need to tell the next - // group that no matter what, it needs to remeasure - // because the previous measurement didn't accurately - // capture the entire expression (this is necessary - // for nested groups) - shouldRemeasure = true; - } - - // fallthrough - - case MODE_BREAK: - if (lineSuffix.length) { - cmds.push([ind, mode, doc]); - cmds.push(...lineSuffix.reverse()); - lineSuffix = []; - break; - } - - if (doc.literal) { - if (ind.root) { - out.push(newLine, ind.root.value); - pos = ind.root.length; - } else { - out.push(newLine); - pos = 0; - } - } else { - pos -= trim$1(out); - out.push(newLine + ind.value); - pos = ind.length; - } - - break; - } - - break; - } - } - } - - const cursorPlaceholderIndex = out.indexOf(cursor$1.placeholder); - - if (cursorPlaceholderIndex !== -1) { - const otherCursorPlaceholderIndex = out.indexOf(cursor$1.placeholder, cursorPlaceholderIndex + 1); - const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); - const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); - const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); - return { - formatted: beforeCursor + aroundCursor + afterCursor, - cursorNodeStart: beforeCursor.length, - cursorNodeText: aroundCursor - }; - } - - return { - formatted: out.join("") - }; -} - -var docPrinter = { - printDocToString -}; - -const traverseDocOnExitStackMarker = {}; - -function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { - const docsStack = [doc]; - - while (docsStack.length !== 0) { - const doc = docsStack.pop(); - - if (doc === traverseDocOnExitStackMarker) { - onExit(docsStack.pop()); - continue; - } - - if (onExit) { - docsStack.push(doc, traverseDocOnExitStackMarker); - } - - if ( // Should Recurse - !onEnter || onEnter(doc) !== false) { - // When there are multiple parts to process, - // the parts need to be pushed onto the stack in reverse order, - // so that they are processed in the original order - // when the stack is popped. - if (doc.type === "concat" || doc.type === "fill") { - for (let ic = doc.parts.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc.parts[i]); - } - } else if (doc.type === "if-break") { - if (doc.flatContents) { - docsStack.push(doc.flatContents); - } - - if (doc.breakContents) { - docsStack.push(doc.breakContents); - } - } else if (doc.type === "group" && doc.expandedStates) { - if (shouldTraverseConditionalGroups) { - for (let ic = doc.expandedStates.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc.expandedStates[i]); - } - } else { - docsStack.push(doc.contents); - } - } else if (doc.contents) { - docsStack.push(doc.contents); - } - } - } -} - -function mapDoc(doc, cb) { - if (doc.type === "concat" || doc.type === "fill") { - const parts = doc.parts.map(part => mapDoc(part, cb)); - return cb(Object.assign({}, doc, { - parts - })); - } else if (doc.type === "if-break") { - const breakContents = doc.breakContents && mapDoc(doc.breakContents, cb); - const flatContents = doc.flatContents && mapDoc(doc.flatContents, cb); - return cb(Object.assign({}, doc, { - breakContents, - flatContents - })); - } else if (doc.contents) { - const contents = mapDoc(doc.contents, cb); - return cb(Object.assign({}, doc, { - contents - })); - } - - return cb(doc); -} - -function findInDoc(doc, fn, defaultValue) { - let result = defaultValue; - let hasStopped = false; - - function findInDocOnEnterFn(doc) { - const maybeResult = fn(doc); - - if (maybeResult !== undefined) { - hasStopped = true; - result = maybeResult; - } - - if (hasStopped) { - return false; - } - } - - traverseDoc(doc, findInDocOnEnterFn); - return result; -} - -function isEmpty(n) { - return typeof n === "string" && n.length === 0; -} - -function isLineNextFn(doc) { - if (typeof doc === "string") { - return false; - } - - if (doc.type === "line") { - return true; - } -} - -function isLineNext(doc) { - return findInDoc(doc, isLineNextFn, false); -} - -function willBreakFn(doc) { - if (doc.type === "group" && doc.break) { - return true; - } - - if (doc.type === "line" && doc.hard) { - return true; - } - - if (doc.type === "break-parent") { - return true; - } -} - -function willBreak(doc) { - return findInDoc(doc, willBreakFn, false); -} - -function breakParentGroup(groupStack) { - if (groupStack.length > 0) { - const parentGroup = groupStack[groupStack.length - 1]; // Breaks are not propagated through conditional groups because - // the user is expected to manually handle what breaks. - - if (!parentGroup.expandedStates) { - parentGroup.break = true; - } - } - - return null; -} - -function propagateBreaks(doc) { - const alreadyVisitedSet = new Set(); - const groupStack = []; - - function propagateBreaksOnEnterFn(doc) { - if (doc.type === "break-parent") { - breakParentGroup(groupStack); - } - - if (doc.type === "group") { - groupStack.push(doc); - - if (alreadyVisitedSet.has(doc)) { - return false; - } - - alreadyVisitedSet.add(doc); - } - } - - function propagateBreaksOnExitFn(doc) { - if (doc.type === "group") { - const group = groupStack.pop(); - - if (group.break) { - breakParentGroup(groupStack); - } - } - } - - traverseDoc(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, - /* shouldTraverseConditionalGroups */ - true); -} - -function removeLinesFn(doc) { - // Force this doc into flat mode by statically converting all - // lines into spaces (or soft lines into nothing). Hard lines - // should still output because there's too great of a chance - // of breaking existing assumptions otherwise. - if (doc.type === "line" && !doc.hard) { - return doc.soft ? "" : " "; - } else if (doc.type === "if-break") { - return doc.flatContents || ""; - } - - return doc; -} - -function removeLines(doc) { - return mapDoc(doc, removeLinesFn); -} - -function getInnerParts(doc) { - let { - parts - } = doc; - let lastPart; // Avoid a falsy element like "" - - for (let i = doc.parts.length; i > 0 && !lastPart; i--) { - lastPart = parts[i - 1]; - } - - if (lastPart.type === "group") { - parts = lastPart.contents.parts; - } - - return parts; -} - -function stripTrailingHardline(doc, withInnerParts = false) { - // HACK remove ending hardline, original PR: #1984 - if (doc.type === "concat" && doc.parts.length !== 0) { - const parts = withInnerParts ? getInnerParts(doc) : doc.parts; - const lastPart = parts[parts.length - 1]; - - if (lastPart.type === "concat") { - if (lastPart.parts.length === 2 && lastPart.parts[0].hard && lastPart.parts[1].type === "break-parent") { - return { - type: "concat", - parts: parts.slice(0, -1) - }; - } - - return { - type: "concat", - parts: doc.parts.slice(0, -1).concat(stripTrailingHardline(lastPart)) - }; - } - } - - return doc; -} - -function normalizeParts(parts) { - const newParts = []; - const restParts = parts.filter(Boolean); - - while (restParts.length !== 0) { - const part = restParts.shift(); - - if (!part) { - continue; - } - - if (part.type === "concat") { - restParts.unshift(...part.parts); - continue; - } - - if (newParts.length !== 0 && typeof newParts[newParts.length - 1] === "string" && typeof part === "string") { - newParts[newParts.length - 1] += part; - continue; - } - - newParts.push(part); - } - - return newParts; -} - -function normalizeDoc(doc) { - return mapDoc(doc, currentDoc => { - if (!currentDoc.parts) { - return currentDoc; - } - - return Object.assign({}, currentDoc, { - parts: normalizeParts(currentDoc.parts) - }); - }); -} - -var docUtils = { - isEmpty, - willBreak, - isLineNext, - traverseDoc, - findInDoc, - mapDoc, - propagateBreaks, - removeLines, - stripTrailingHardline, - normalizeParts, - normalizeDoc -}; - -function flattenDoc(doc) { - if (doc.type === "concat") { - const res = []; - - for (let i = 0; i < doc.parts.length; ++i) { - const doc2 = doc.parts[i]; - - if (typeof doc2 !== "string" && doc2.type === "concat") { - res.push(...flattenDoc(doc2).parts); - } else { - const flattened = flattenDoc(doc2); - - if (flattened !== "") { - res.push(flattened); - } - } - } - - return Object.assign({}, doc, { - parts: res - }); - } else if (doc.type === "if-break") { - return Object.assign({}, doc, { - breakContents: doc.breakContents != null ? flattenDoc(doc.breakContents) : null, - flatContents: doc.flatContents != null ? flattenDoc(doc.flatContents) : null - }); - } else if (doc.type === "group") { - return Object.assign({}, doc, { - contents: flattenDoc(doc.contents), - expandedStates: doc.expandedStates ? doc.expandedStates.map(flattenDoc) : doc.expandedStates - }); - } else if (doc.contents) { - return Object.assign({}, doc, { - contents: flattenDoc(doc.contents) - }); - } - - return doc; -} - -function printDoc(doc) { - if (typeof doc === "string") { - return JSON.stringify(doc); - } - - if (doc.type === "line") { - if (doc.literal) { - return "literalline"; - } - - if (doc.hard) { - return "hardline"; - } - - if (doc.soft) { - return "softline"; - } - - return "line"; - } - - if (doc.type === "break-parent") { - return "breakParent"; - } - - if (doc.type === "trim") { - return "trim"; - } - - if (doc.type === "concat") { - return "[" + doc.parts.map(printDoc).join(", ") + "]"; - } - - if (doc.type === "indent") { - return "indent(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "align") { - return doc.n === -Infinity ? "dedentToRoot(" + printDoc(doc.contents) + ")" : doc.n < 0 ? "dedent(" + printDoc(doc.contents) + ")" : doc.n.type === "root" ? "markAsRoot(" + printDoc(doc.contents) + ")" : "align(" + JSON.stringify(doc.n) + ", " + printDoc(doc.contents) + ")"; - } - - if (doc.type === "if-break") { - return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + ")"; - } - - if (doc.type === "group") { - if (doc.expandedStates) { - return "conditionalGroup(" + "[" + doc.expandedStates.map(printDoc).join(",") + "])"; - } - - return (doc.break ? "wrappedGroup" : "group") + "(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "fill") { - return "fill" + "(" + doc.parts.map(printDoc).join(", ") + ")"; - } - - if (doc.type === "line-suffix") { - return "lineSuffix(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "line-suffix-boundary") { - return "lineSuffixBoundary"; - } - - throw new Error("Unknown doc type " + doc.type); -} - -var docDebug = { - printDocToDebug(doc) { - return printDoc(flattenDoc(doc)); - } - -}; - -/** - * @typedef {import("./doc-builders").Doc} Doc - */ - - -var document = { - builders: docBuilders, - printer: docPrinter, - utils: docUtils, - debug: docDebug + guessEndOfLine: guessEndOfLine$1, + convertEndOfLineToChars: convertEndOfLineToChars$1, + countEndOfLineChars: countEndOfLineChars$1, + normalizeEndOfLine: normalizeEndOfLine$2 }; /** @@ -5102,7 +5630,7 @@ class LineByLine { line = buffer.slice(lastNewLineBufferPosition, bufferPosition); lines.push(line); lastNewLineBufferPosition = bufferPosition; - } else if (!bufferPositionValue) { + } else if (bufferPositionValue === undefined) { break; } } @@ -5165,7 +5693,7 @@ class LineByLine { line = this.linesCache.shift(); const lastLineCharacter = line[line.length - 1]; - if (lastLineCharacter !== 0x0a) { + if (lastLineCharacter !== this.newLineCharacter) { bytesRead = this._readChunk(line); if (bytesRead) { @@ -5189,46 +5717,19 @@ class LineByLine { var readlines = LineByLine; -/** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ -function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - - return result; -} - -var fromPairs_1 = fromPairs; - -class ConfigError extends Error {} +class ConfigError$1 extends Error {} class DebugError extends Error {} -class UndefinedParserError extends Error {} +class UndefinedParserError$1 extends Error {} + +class ArgExpansionBailout$3 extends Error {} var errors = { - ConfigError, + ConfigError: ConfigError$1, DebugError, - UndefinedParserError + UndefinedParserError: UndefinedParserError$1, + ArgExpansionBailout: ArgExpansionBailout$3 }; /*! ***************************************************************************** @@ -5306,7 +5807,7 @@ function __param(paramIndex, decorator) { function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } -function __awaiter(thisArg, _arguments, P, generator) { +function __awaiter$2(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); @@ -5337,7 +5838,7 @@ function __awaiter(thisArg, _arguments, P, generator) { step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } -function __generator(thisArg, body) { +function __generator$2(thisArg, body) { var _ = { label: 0, sent: function () { @@ -5601,14 +6102,14 @@ function __makeTemplateObject(cooked, raw) { return cooked; } -function __importStar(mod) { +function __importStar$2(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result.default = mod; return result; } -function __importDefault(mod) { +function __importDefault$1(mod) { return mod && mod.__esModule ? mod : { default: mod }; @@ -5630,30 +6131,30 @@ function __classPrivateFieldSet(receiver, privateMap, value) { } var tslib_es6 = /*#__PURE__*/Object.freeze({ - __proto__: null, - __extends: __extends, - get __assign () { return __assign; }, - __rest: __rest, - __decorate: __decorate, - __param: __param, - __metadata: __metadata, - __awaiter: __awaiter, - __generator: __generator, - __createBinding: __createBinding, - __exportStar: __exportStar, - __values: __values, - __read: __read, - __spread: __spread, - __spreadArrays: __spreadArrays, - __await: __await, - __asyncGenerator: __asyncGenerator, - __asyncDelegator: __asyncDelegator, - __asyncValues: __asyncValues, - __makeTemplateObject: __makeTemplateObject, - __importStar: __importStar, - __importDefault: __importDefault, - __classPrivateFieldGet: __classPrivateFieldGet, - __classPrivateFieldSet: __classPrivateFieldSet + __proto__: null, + __extends: __extends, + get __assign () { return __assign; }, + __rest: __rest, + __decorate: __decorate, + __param: __param, + __metadata: __metadata, + __awaiter: __awaiter$2, + __generator: __generator$2, + __createBinding: __createBinding, + __exportStar: __exportStar, + __values: __values, + __read: __read, + __spread: __spread, + __spreadArrays: __spreadArrays, + __await: __await, + __asyncGenerator: __asyncGenerator, + __asyncDelegator: __asyncDelegator, + __asyncValues: __asyncValues, + __makeTemplateObject: __makeTemplateObject, + __importStar: __importStar$2, + __importDefault: __importDefault$1, + __classPrivateFieldGet: __classPrivateFieldGet, + __classPrivateFieldSet: __classPrivateFieldSet }); var api = createCommonjsModule(function (module, exports) { @@ -5695,5571 +6196,9 @@ var descriptors = createCommonjsModule(function (module, exports) { tslib_es6.__exportStar(api, exports); }); -var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - -var escapeStringRegexp$1 = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - - return str.replace(matchOperatorsRe, '\\$&'); -}; - -var colorName = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - -var conversions = createCommonjsModule(function (module) { - /* MIT license */ - // NOTE: conversions should only return primitive values (i.e. arrays, or - // values that give correct `typeof` results). - // do not use box values types (i.e. Number(), String(), etc.) - var reverseKeywords = {}; - - for (var key in colorName) { - if (colorName.hasOwnProperty(key)) { - reverseKeywords[colorName[key]] = key; - } - } - - var convert = module.exports = { - rgb: { - channels: 3, - labels: 'rgb' - }, - hsl: { - channels: 3, - labels: 'hsl' - }, - hsv: { - channels: 3, - labels: 'hsv' - }, - hwb: { - channels: 3, - labels: 'hwb' - }, - cmyk: { - channels: 4, - labels: 'cmyk' - }, - xyz: { - channels: 3, - labels: 'xyz' - }, - lab: { - channels: 3, - labels: 'lab' - }, - lch: { - channels: 3, - labels: 'lch' - }, - hex: { - channels: 1, - labels: ['hex'] - }, - keyword: { - channels: 1, - labels: ['keyword'] - }, - ansi16: { - channels: 1, - labels: ['ansi16'] - }, - ansi256: { - channels: 1, - labels: ['ansi256'] - }, - hcg: { - channels: 3, - labels: ['h', 'c', 'g'] - }, - apple: { - channels: 3, - labels: ['r16', 'g16', 'b16'] - }, - gray: { - channels: 1, - labels: ['gray'] - } - }; // hide .channels and .labels properties - - for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', { - value: channels - }); - Object.defineProperty(convert[model], 'labels', { - value: labels - }); - } - } - - convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; - }; - - convert.rgb.hsv = function (rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - - var diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [h * 360, s * 100, v * 100]; - }; - - convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; - }; - - convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; - }; - /** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ - - - function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); - } - - convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; - - if (reversed) { - return reversed; - } - - var currentClosestDistance = Infinity; - var currentClosestKeyword; - - for (var keyword in colorName) { - if (colorName.hasOwnProperty(keyword)) { - var value = colorName[keyword]; // Compute comparative distance - - var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest - - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - - return currentClosestKeyword; - }; - - convert.keyword.rgb = function (keyword) { - return colorName[keyword]; - }; - - convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; // assume sRGB - - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; - }; - - convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - - convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; - }; - - convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; - }; - - convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - - case 1: - return [q, v, p]; - - case 2: - return [p, v, t]; - - case 3: - return [p, q, v]; - - case 4: - return [t, p, v]; - - case 5: - return [v, p, q]; - } - }; - - convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; - }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb - - - convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; // wh + bl cant be > 1 - - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - n = wh + f * (v - wh); // linear interpolation - - var r; - var g; - var b; - - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - - case 1: - r = n; - g = v; - b = wh; - break; - - case 2: - r = wh; - g = v; - b = n; - break; - - case 3: - r = wh; - g = n; - b = v; - break; - - case 4: - r = n; - g = wh; - b = v; - break; - - case 5: - r = v; - g = wh; - b = n; - break; - } - - return [r * 255, g * 255, b * 255]; - }; - - convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; - }; - - convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB - - r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; - g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; - b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; - }; - - convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - - convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; - }; - - convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - c = Math.sqrt(a * a + b * b); - return [l, c, h]; - }; - - convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; - }; - - convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; - }; - - convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); - }; - - convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; // we use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round((r - 8) / 247 * 24) + 232; - } - - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; - }; - - convert.ansi16.rgb = function (args) { - var color = args % 10; // handle greyscale - - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - return [color, color, color]; - } - - var mult = (~~(args > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; - }; - - convert.ansi256.rgb = function (args) { - // handle greyscale - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; - }; - - convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; - }; - - convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - - if (!match) { - return [0, 0, 0]; - } - - var colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { - return char + char; - }).join(''); - } - - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 0xFF; - var g = integer >> 8 & 0xFF; - var b = integer & 0xFF; - return [r, g, b]; - }; - - convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; - }; - - convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; - }; - - convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; - }; - - convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - - mg = (1.0 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; - }; - - convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - var f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; - }; - - convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; - }; - - convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; - }; - - convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; - }; - - convert.apple.rgb = function (apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; - }; - - convert.rgb.apple = function (rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; - }; - - convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; - }; - - convert.gray.hsl = convert.gray.hsv = function (args) { - return [0, 0, args[0]]; - }; - - convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; - }; - - convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; - }; - - convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; - }; - - convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; - }; - - convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; - }; -}); - -/* - this function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - - var models = Object.keys(conversions); - - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} // https://en.wikipedia.org/wiki/Breadth-first_search - - -function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -var route = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - - if (node.parent === null) { - // no possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - -var convert = {}; -var models = Object.keys(conversions); - -function wrapRaw(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - return fn(args); - }; // preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - var result = fn(args); // we're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - - if (typeof result === 'object') { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; // preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(function (fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], 'channels', { - value: conversions[fromModel].channels - }); - Object.defineProperty(convert[fromModel], 'labels', { - value: conversions[fromModel].labels - }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); -var colorConvert = convert; - -var ansiStyles = createCommonjsModule(function (module) { - - const wrapAnsi16 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${code + offset}m`; - }; - - const wrapAnsi256 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};5;${code}m`; - }; - - const wrapAnsi16m = (fn, offset) => function () { - const rgb = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - - function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - // Bright color - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; // Fix humans - - styles.color.grey = styles.color.gray; - - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; - - for (const styleName of Object.keys(group)) { - const style = group[styleName]; - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - } - - const ansi2ansi = n => n; - - const rgb2rgb = (r, g, b) => [r, g, b]; - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== 'object') { - continue; - } - - const suite = colorConvert[key]; - - if (key === 'ansi16') { - key = 'ansi'; - } - - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } - - return styles; - } // Make the export immutable - - - Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles - }); -}); - -var hasFlag = (flag, argv) => { - argv = argv || process.argv; - const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf('--'); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); -}; - -const env = process.env; -let forceColor; - -if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) { - forceColor = false; -} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { - forceColor = true; -} - -if ('FORCE_COLOR' in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; -} - -function translateLevel(level) { - if (level === 0) { - return false; - } - - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} - -function supportsColor(stream) { - if (forceColor === false) { - return 0; - } - - if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) { - return 3; - } - - if (hasFlag('color=256')) { - return 2; - } - - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - - const min = forceColor ? 1 : 0; - - if (process.platform === 'win32') { - // Node.js 7.5.0 is the first version of Node.js to include a patch to - // libuv that enables 256 color output on Windows. Anything earlier and it - // won't work. However, here we target Node.js 8 at minimum as it is an LTS - // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows - // release that supports 256 colors. Windows 10 build 14931 is the first release - // that supports 16m/TrueColor. - const osRelease = os__default['default'].release().split('.'); - - if (Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - - return 1; - } - - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { - return 1; - } - - return min; - } - - if ('TEAMCITY_VERSION' in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - - if (env.COLORTERM === 'truecolor') { - return 3; - } - - if ('TERM_PROGRAM' in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - - case 'Apple_Terminal': - return 2; - // No default - } - } - - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - - if ('COLORTERM' in env) { - return 1; - } - - if (env.TERM === 'dumb') { - return min; - } - - return min; -} - -function getSupportLevel(stream) { - const level = supportsColor(stream); - return translateLevel(level); -} - -var supportsColor_1 = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) -}; - -const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; -const ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); - -function unescape(c) { - if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - - return ESCAPES.get(c) || c; -} - -function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - - return results; -} - -function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - - return results; -} - -function buildStyle(chalk, styles) { - const enabled = {}; - - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - - let current = chalk; - - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - - return current; -} - -var templates = (chalk, tmp) => { - const styles = []; - const chunks = []; - let chunk = []; // eslint-disable-next-line max-params - - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({ - inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } - - chunks.push(buildStyle(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join('')); - - if (styles.length > 0) { - const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; - throw new Error(errMsg); - } - - return chunks.join(''); -}; - -var chalk = createCommonjsModule(function (module) { - - const stdoutColor = supportsColor_1.stdout; - const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping - - const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such - - const skipModels = new Set(['gray']); - const styles = Object.create(null); - - function applyOptions(obj, options) { - options = options || {}; // Detect level if not set manually - - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; - } - - function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = function () { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - chalk.template.constructor = Chalk; - return chalk.template; - } - - applyOptions(this, options); - } // Use bright blue on Windows as the normal blue color is illegible - - - if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001B[94m'; - } - - for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp$1(ansiStyles[key].close), 'g'); - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - - }; - } - - styles.visible = { - get() { - return build.call(this, this._styles || [], true, 'visible'); - } - - }; - ansiStyles.color.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles.color.close), 'g'); - - for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - - styles[model] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - - }; - } - - ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles.bgColor.close), 'g'); - - for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - - }; - } - - const proto = Object.defineProperties(() => {}, styles); - - function build(_styles, _empty, key) { - const builder = function () { - return applyStyle.apply(builder, arguments); - }; - - builder._styles = _styles; - builder._empty = _empty; - const self = this; - Object.defineProperty(builder, 'level', { - enumerable: true, - - get() { - return self.level; - }, - - set(level) { - self.level = level; - } - - }); - Object.defineProperty(builder, 'enabled', { - enumerable: true, - - get() { - return self.enabled; - }, - - set(enabled) { - self.enabled = enabled; - } - - }); // See below for fix regarding invisible grey/dim combination on Windows - - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - - builder.__proto__ = proto; // eslint-disable-line no-proto - - return builder; - } - - function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - - if (argsLen === 0) { - return ''; - } - - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (let a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; - } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - - - const originalDim = ansiStyles.dim.open; - - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } - - for (const code of this._styles.slice().reverse()) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - - - ansiStyles.dim.open = originalDim; - return str; - } - - function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } - - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); - } - - return templates(chalk, parts.join('')); - } - - Object.defineProperties(Chalk.prototype, styles); - module.exports = Chalk(); // eslint-disable-line new-cap - - module.exports.supportsColor = stdoutColor; - module.exports.default = module.exports; // For TypeScript -}); - -var common = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - exports.commonDeprecatedHandler = (keyOrPair, redirectTo, { - descriptor - }) => { - const messages = [`${chalk.default.yellow(typeof keyOrPair === 'string' ? descriptor.key(keyOrPair) : descriptor.pair(keyOrPair))} is deprecated`]; - - if (redirectTo) { - messages.push(`we now treat it as ${chalk.default.blue(typeof redirectTo === 'string' ? descriptor.key(redirectTo) : descriptor.pair(redirectTo))}`); - } - - return messages.join('; ') + '.'; - }; -}); - -var deprecated = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(common, exports); -}); - -var common$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - exports.commonInvalidHandler = (key, value, utils) => [`Invalid ${chalk.default.red(utils.descriptor.key(key))} value.`, `Expected ${chalk.default.blue(utils.schemas[key].expected(utils))},`, `but received ${chalk.default.red(utils.descriptor.value(value))}.`].join(' '); -}); - -var invalid = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(common$1, exports); -}); - -/* eslint-disable no-nested-ternary */ - -var arr = []; -var charCodeCache = []; - -var leven = function (a, b) { - if (a === b) { - return 0; - } - - var swap = a; // Swapping the strings if `a` is longer than `b` so we know which one is the - // shortest & which one is the longest - - if (a.length > b.length) { - a = b; - b = swap; - } - - var aLen = a.length; - var bLen = b.length; - - if (aLen === 0) { - return bLen; - } - - if (bLen === 0) { - return aLen; - } // Performing suffix trimming: - // We can linearly drop suffix common to both strings since they - // don't increase distance at all - // Note: `~-` is the bitwise way to perform a `- 1` operation - - - while (aLen > 0 && a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen)) { - aLen--; - bLen--; - } - - if (aLen === 0) { - return bLen; - } // Performing prefix trimming - // We can linearly drop prefix common to both strings since they - // don't increase distance at all - - - var start = 0; - - while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) { - start++; - } - - aLen -= start; - bLen -= start; - - if (aLen === 0) { - return bLen; - } - - var bCharCode; - var ret; - var tmp; - var tmp2; - var i = 0; - var j = 0; - - while (i < aLen) { - charCodeCache[start + i] = a.charCodeAt(start + i); - arr[i] = ++i; - } - - while (j < bLen) { - bCharCode = b.charCodeAt(start + j); - tmp = j++; - ret = j; - - for (i = 0; i < aLen; i++) { - tmp2 = bCharCode === charCodeCache[start + i] ? tmp : tmp + 1; - tmp = arr[i]; - ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2; - } - } - - return ret; -}; - -var leven_1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - exports.levenUnknownHandler = (key, value, { - descriptor, - logger, - schemas - }) => { - const messages = [`Ignored unknown option ${chalk.default.yellow(descriptor.pair({ - key, - value - }))}.`]; - const suggestion = Object.keys(schemas).sort().find(knownKey => leven(key, knownKey) < 3); - - if (suggestion) { - messages.push(`Did you mean ${chalk.default.blue(descriptor.key(suggestion))}?`); - } - - logger.warn(messages.join(' ')); - }; -}); - -var unknown = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(leven_1, exports); -}); - -var handlers = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(deprecated, exports); - - tslib_es6.__exportStar(invalid, exports); - - tslib_es6.__exportStar(unknown, exports); -}); - -var schema = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - const HANDLER_KEYS = ['default', 'expected', 'validate', 'deprecated', 'forward', 'redirect', 'overlap', 'preprocess', 'postprocess']; - - function createSchema(SchemaConstructor, parameters) { - const schema = new SchemaConstructor(parameters); - const subSchema = Object.create(schema); - - for (const handlerKey of HANDLER_KEYS) { - if (handlerKey in parameters) { - subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length); - } - } - - return subSchema; - } - - exports.createSchema = createSchema; - - class Schema { - constructor(parameters) { - this.name = parameters.name; - } - - static create(parameters) { - // @ts-ignore: https://github.com/Microsoft/TypeScript/issues/5863 - return createSchema(this, parameters); - } - - default(_utils) { - return undefined; - } // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length` - - - expected(_utils) { - return 'nothing'; - } // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length` - - - validate(_value, _utils) { - return false; - } - - deprecated(_value, _utils) { - return false; - } - - forward(_value, _utils) { - return undefined; - } - - redirect(_value, _utils) { - return undefined; - } - - overlap(currentValue, _newValue, _utils) { - return currentValue; - } - - preprocess(value, _utils) { - return value; - } - - postprocess(value, _utils) { - return value; - } - - } - - exports.Schema = Schema; - - function normalizeHandler(handler, superSchema, handlerArgumentsLength) { - return typeof handler === 'function' ? (...args) => handler(...args.slice(0, handlerArgumentsLength - 1), superSchema, ...args.slice(handlerArgumentsLength - 1)) : () => handler; - } -}); - -var alias = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AliasSchema extends schema.Schema { - constructor(parameters) { - super(parameters); - this._sourceName = parameters.sourceName; - } - - expected(utils) { - return utils.schemas[this._sourceName].expected(utils); - } - - validate(value, utils) { - return utils.schemas[this._sourceName].validate(value, utils); - } - - redirect(_value, _utils) { - return this._sourceName; - } - - } - - exports.AliasSchema = AliasSchema; -}); - -var any = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AnySchema extends schema.Schema { - expected() { - return 'anything'; - } - - validate() { - return true; - } - - } - - exports.AnySchema = AnySchema; -}); - -var array = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ArraySchema extends schema.Schema { - constructor(_a) { - var { - valueSchema, - name = valueSchema.name - } = _a, - handlers = tslib_es6.__rest(_a, ["valueSchema", "name"]); - - super(Object.assign({}, handlers, { - name - })); - this._valueSchema = valueSchema; - } - - expected(utils) { - return `an array of ${this._valueSchema.expected(utils)}`; - } - - validate(value, utils) { - if (!Array.isArray(value)) { - return false; - } - - const invalidValues = []; - - for (const subValue of value) { - const subValidateResult = utils.normalizeValidateResult(this._valueSchema.validate(subValue, utils), subValue); - - if (subValidateResult !== true) { - invalidValues.push(subValidateResult.value); - } - } - - return invalidValues.length === 0 ? true : { - value: invalidValues - }; - } - - deprecated(value, utils) { - const deprecatedResult = []; - - for (const subValue of value) { - const subDeprecatedResult = utils.normalizeDeprecatedResult(this._valueSchema.deprecated(subValue, utils), subValue); - - if (subDeprecatedResult !== false) { - deprecatedResult.push(...subDeprecatedResult.map(({ - value: deprecatedValue - }) => ({ - value: [deprecatedValue] - }))); - } - } - - return deprecatedResult; - } - - forward(value, utils) { - const forwardResult = []; - - for (const subValue of value) { - const subForwardResult = utils.normalizeForwardResult(this._valueSchema.forward(subValue, utils), subValue); - forwardResult.push(...subForwardResult.map(wrapTransferResult)); - } - - return forwardResult; - } - - redirect(value, utils) { - const remain = []; - const redirect = []; - - for (const subValue of value) { - const subRedirectResult = utils.normalizeRedirectResult(this._valueSchema.redirect(subValue, utils), subValue); - - if ('remain' in subRedirectResult) { - remain.push(subRedirectResult.remain); - } - - redirect.push(...subRedirectResult.redirect.map(wrapTransferResult)); - } - - return remain.length === 0 ? { - redirect - } : { - redirect, - remain - }; - } - - overlap(currentValue, newValue) { - return currentValue.concat(newValue); - } - - } - - exports.ArraySchema = ArraySchema; - - function wrapTransferResult({ - from, - to - }) { - return { - from: [from], - to - }; - } -}); - -var boolean_1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class BooleanSchema extends schema.Schema { - expected() { - return 'true or false'; - } - - validate(value) { - return typeof value === 'boolean'; - } - - } - - exports.BooleanSchema = BooleanSchema; -}); - -var utils = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function recordFromArray(array, mainKey) { - const record = Object.create(null); - - for (const value of array) { - const key = value[mainKey]; // istanbul ignore next - - if (record[key]) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); - } // @ts-ignore - - - record[key] = value; - } - - return record; - } - - exports.recordFromArray = recordFromArray; - - function mapFromArray(array, mainKey) { - const map = new Map(); - - for (const value of array) { - const key = value[mainKey]; // istanbul ignore next - - if (map.has(key)) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); - } - - map.set(key, value); - } - - return map; - } - - exports.mapFromArray = mapFromArray; - - function createAutoChecklist() { - const map = Object.create(null); - return id => { - const idString = JSON.stringify(id); - - if (map[idString]) { - return true; - } - - map[idString] = true; - return false; - }; - } - - exports.createAutoChecklist = createAutoChecklist; - - function partition(array, predicate) { - const trueArray = []; - const falseArray = []; - - for (const value of array) { - if (predicate(value)) { - trueArray.push(value); - } else { - falseArray.push(value); - } - } - - return [trueArray, falseArray]; - } - - exports.partition = partition; - - function isInt(value) { - return value === Math.floor(value); - } - - exports.isInt = isInt; - - function comparePrimitive(a, b) { - if (a === b) { - return 0; - } - - const typeofA = typeof a; - const typeofB = typeof b; - const orders = ['undefined', 'object', 'boolean', 'number', 'string']; - - if (typeofA !== typeofB) { - return orders.indexOf(typeofA) - orders.indexOf(typeofB); - } - - if (typeofA !== 'string') { - return Number(a) - Number(b); - } - - return a.localeCompare(b); - } - - exports.comparePrimitive = comparePrimitive; - - function normalizeDefaultResult(result) { - return result === undefined ? {} : result; - } - - exports.normalizeDefaultResult = normalizeDefaultResult; - - function normalizeValidateResult(result, value) { - return result === true ? true : result === false ? { - value - } : result; - } - - exports.normalizeValidateResult = normalizeValidateResult; - - function normalizeDeprecatedResult(result, value, doNotNormalizeTrue = false) { - return result === false ? false : result === true ? doNotNormalizeTrue ? true : [{ - value - }] : 'value' in result ? [result] : result.length === 0 ? false : result; - } - - exports.normalizeDeprecatedResult = normalizeDeprecatedResult; - - function normalizeTransferResult(result, value) { - return typeof result === 'string' || 'key' in result ? { - from: value, - to: result - } : 'from' in result ? { - from: result.from, - to: result.to - } : { - from: value, - to: result.to - }; - } - - exports.normalizeTransferResult = normalizeTransferResult; - - function normalizeForwardResult(result, value) { - return result === undefined ? [] : Array.isArray(result) ? result.map(transferResult => normalizeTransferResult(transferResult, value)) : [normalizeTransferResult(result, value)]; - } - - exports.normalizeForwardResult = normalizeForwardResult; - - function normalizeRedirectResult(result, value) { - const redirect = normalizeForwardResult(typeof result === 'object' && 'redirect' in result ? result.redirect : result, value); - return redirect.length === 0 ? { - remain: value, - redirect - } : typeof result === 'object' && 'remain' in result ? { - remain: result.remain, - redirect - } : { - redirect - }; - } - - exports.normalizeRedirectResult = normalizeRedirectResult; -}); - -var choice = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ChoiceSchema extends schema.Schema { - constructor(parameters) { - super(parameters); - this._choices = utils.mapFromArray(parameters.choices.map(choice => choice && typeof choice === 'object' ? choice : { - value: choice - }), 'value'); - } - - expected({ - descriptor - }) { - const choiceValues = Array.from(this._choices.keys()).map(value => this._choices.get(value)).filter(choiceInfo => !choiceInfo.deprecated).map(choiceInfo => choiceInfo.value).sort(utils.comparePrimitive).map(descriptor.value); - const head = choiceValues.slice(0, -2); - const tail = choiceValues.slice(-2); - return head.concat(tail.join(' or ')).join(', '); - } - - validate(value) { - return this._choices.has(value); - } - - deprecated(value) { - const choiceInfo = this._choices.get(value); - - return choiceInfo && choiceInfo.deprecated ? { - value - } : false; - } - - forward(value) { - const choiceInfo = this._choices.get(value); - - return choiceInfo ? choiceInfo.forward : undefined; - } - - redirect(value) { - const choiceInfo = this._choices.get(value); - - return choiceInfo ? choiceInfo.redirect : undefined; - } - - } - - exports.ChoiceSchema = ChoiceSchema; -}); - -var number = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class NumberSchema extends schema.Schema { - expected() { - return 'a number'; - } - - validate(value, _utils) { - return typeof value === 'number'; - } - - } - - exports.NumberSchema = NumberSchema; -}); - -var integer = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class IntegerSchema extends number.NumberSchema { - expected() { - return 'an integer'; - } - - validate(value, utils$1) { - return utils$1.normalizeValidateResult(super.validate(value, utils$1), value) === true && utils.isInt(value); - } - - } - - exports.IntegerSchema = IntegerSchema; -}); - -var string = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class StringSchema extends schema.Schema { - expected() { - return 'a string'; - } - - validate(value) { - return typeof value === 'string'; - } - - } - - exports.StringSchema = StringSchema; -}); - -var schemas = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(alias, exports); - - tslib_es6.__exportStar(any, exports); - - tslib_es6.__exportStar(array, exports); - - tslib_es6.__exportStar(boolean_1, exports); - - tslib_es6.__exportStar(choice, exports); - - tslib_es6.__exportStar(integer, exports); - - tslib_es6.__exportStar(number, exports); - - tslib_es6.__exportStar(string, exports); -}); - -var defaults = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.defaultDescriptor = api.apiDescriptor; - exports.defaultUnknownHandler = leven_1.levenUnknownHandler; - exports.defaultInvalidHandler = invalid.commonInvalidHandler; - exports.defaultDeprecatedHandler = common.commonDeprecatedHandler; -}); - -var normalize = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - exports.normalize = (options, schemas, opts) => new Normalizer(schemas, opts).normalize(options); - - class Normalizer { - constructor(schemas, opts) { - // istanbul ignore next - const { - logger = console, - descriptor = defaults.defaultDescriptor, - unknown = defaults.defaultUnknownHandler, - invalid = defaults.defaultInvalidHandler, - deprecated = defaults.defaultDeprecatedHandler - } = opts || {}; - this._utils = { - descriptor, - logger: - /* istanbul ignore next */ - logger || { - warn: () => {} - }, - schemas: utils.recordFromArray(schemas, 'name'), - normalizeDefaultResult: utils.normalizeDefaultResult, - normalizeDeprecatedResult: utils.normalizeDeprecatedResult, - normalizeForwardResult: utils.normalizeForwardResult, - normalizeRedirectResult: utils.normalizeRedirectResult, - normalizeValidateResult: utils.normalizeValidateResult - }; - this._unknownHandler = unknown; - this._invalidHandler = invalid; - this._deprecatedHandler = deprecated; - this.cleanHistory(); - } - - cleanHistory() { - this._hasDeprecationWarned = utils.createAutoChecklist(); - } - - normalize(options) { - const normalized = {}; - const restOptionsArray = [options]; - - const applyNormalization = () => { - while (restOptionsArray.length !== 0) { - const currentOptions = restOptionsArray.shift(); - - const transferredOptionsArray = this._applyNormalization(currentOptions, normalized); - - restOptionsArray.push(...transferredOptionsArray); - } - }; - - applyNormalization(); - - for (const key of Object.keys(this._utils.schemas)) { - const schema = this._utils.schemas[key]; - - if (!(key in normalized)) { - const defaultResult = utils.normalizeDefaultResult(schema.default(this._utils)); - - if ('value' in defaultResult) { - restOptionsArray.push({ - [key]: defaultResult.value - }); - } - } - } - - applyNormalization(); - - for (const key of Object.keys(this._utils.schemas)) { - const schema = this._utils.schemas[key]; - - if (key in normalized) { - normalized[key] = schema.postprocess(normalized[key], this._utils); - } - } - - return normalized; - } - - _applyNormalization(options, normalized) { - const transferredOptionsArray = []; - const [knownOptionNames, unknownOptionNames] = utils.partition(Object.keys(options), key => key in this._utils.schemas); - - for (const key of knownOptionNames) { - const schema = this._utils.schemas[key]; - const value = schema.preprocess(options[key], this._utils); - const validateResult = utils.normalizeValidateResult(schema.validate(value, this._utils), value); - - if (validateResult !== true) { - const { - value: invalidValue - } = validateResult; - - const errorMessageOrError = this._invalidHandler(key, invalidValue, this._utils); - - throw typeof errorMessageOrError === 'string' ? new Error(errorMessageOrError) : - /* istanbul ignore next*/ - errorMessageOrError; - } - - const appendTransferredOptions = ({ - from, - to - }) => { - transferredOptionsArray.push(typeof to === 'string' ? { - [to]: from - } : { - [to.key]: to.value - }); - }; - - const warnDeprecated = ({ - value: currentValue, - redirectTo - }) => { - const deprecatedResult = utils.normalizeDeprecatedResult(schema.deprecated(currentValue, this._utils), value, - /* doNotNormalizeTrue */ - true); - - if (deprecatedResult === false) { - return; - } - - if (deprecatedResult === true) { - if (!this._hasDeprecationWarned(key)) { - this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils)); - } - } else { - for (const { - value: deprecatedValue - } of deprecatedResult) { - const pair = { - key, - value: deprecatedValue - }; - - if (!this._hasDeprecationWarned(pair)) { - const redirectToPair = typeof redirectTo === 'string' ? { - key: redirectTo, - value: deprecatedValue - } : redirectTo; - - this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils)); - } - } - } - }; - - const forwardResult = utils.normalizeForwardResult(schema.forward(value, this._utils), value); - forwardResult.forEach(appendTransferredOptions); - const redirectResult = utils.normalizeRedirectResult(schema.redirect(value, this._utils), value); - redirectResult.redirect.forEach(appendTransferredOptions); - - if ('remain' in redirectResult) { - const remainingValue = redirectResult.remain; - normalized[key] = key in normalized ? schema.overlap(normalized[key], remainingValue, this._utils) : remainingValue; - warnDeprecated({ - value: remainingValue - }); - } - - for (const { - from, - to - } of redirectResult.redirect) { - warnDeprecated({ - value: from, - redirectTo: to - }); - } - } - - for (const key of unknownOptionNames) { - const value = options[key]; - - const unknownResult = this._unknownHandler(key, value, this._utils); - - if (unknownResult) { - for (const unknownKey of Object.keys(unknownResult)) { - const unknownOption = { - [unknownKey]: unknownResult[unknownKey] - }; - - if (unknownKey in this._utils.schemas) { - transferredOptionsArray.push(unknownOption); - } else { - Object.assign(normalized, unknownOption); - } - } - } - } - - return transferredOptionsArray; - } - - } - - exports.Normalizer = Normalizer; -}); - -var lib$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - tslib_es6.__exportStar(descriptors, exports); - - tslib_es6.__exportStar(handlers, exports); - - tslib_es6.__exportStar(schemas, exports); - - tslib_es6.__exportStar(normalize, exports); - - tslib_es6.__exportStar(schema, exports); -}); - -const array$1 = []; -const charCodeCache$1 = []; - -const leven$1 = (left, right) => { - if (left === right) { - return 0; - } - - const swap = left; // Swapping the strings if `a` is longer than `b` so we know which one is the - // shortest & which one is the longest - - if (left.length > right.length) { - left = right; - right = swap; - } - - let leftLength = left.length; - let rightLength = right.length; // Performing suffix trimming: - // We can linearly drop suffix common to both strings since they - // don't increase distance at all - // Note: `~-` is the bitwise way to perform a `- 1` operation - - while (leftLength > 0 && left.charCodeAt(~-leftLength) === right.charCodeAt(~-rightLength)) { - leftLength--; - rightLength--; - } // Performing prefix trimming - // We can linearly drop prefix common to both strings since they - // don't increase distance at all - - - let start = 0; - - while (start < leftLength && left.charCodeAt(start) === right.charCodeAt(start)) { - start++; - } - - leftLength -= start; - rightLength -= start; - - if (leftLength === 0) { - return rightLength; - } - - let bCharCode; - let result; - let temp; - let temp2; - let i = 0; - let j = 0; - - while (i < leftLength) { - charCodeCache$1[i] = left.charCodeAt(start + i); - array$1[i] = ++i; - } - - while (j < rightLength) { - bCharCode = right.charCodeAt(start + j); - temp = j++; - result = j; - - for (i = 0; i < leftLength; i++) { - temp2 = bCharCode === charCodeCache$1[i] ? temp : temp + 1; - temp = array$1[i]; // eslint-disable-next-line no-multi-assign - - result = array$1[i] = temp > result ? temp2 > result ? result + 1 : temp2 : temp2 > temp ? temp + 1 : temp2; - } - } - - return result; -}; - -var leven_1$1 = leven$1; // TODO: Remove this for the next major release - -var _default$2 = leven$1; -leven_1$1.default = _default$2; - -var colorName$1 = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - -/* MIT license */ - -/* eslint-disable no-mixed-operators */ -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -const reverseKeywords = {}; - -for (const key of Object.keys(colorName$1)) { - reverseKeywords[colorName$1[key]] = key; -} - -const convert$1 = { - rgb: { - channels: 3, - labels: 'rgb' - }, - hsl: { - channels: 3, - labels: 'hsl' - }, - hsv: { - channels: 3, - labels: 'hsv' - }, - hwb: { - channels: 3, - labels: 'hwb' - }, - cmyk: { - channels: 4, - labels: 'cmyk' - }, - xyz: { - channels: 3, - labels: 'xyz' - }, - lab: { - channels: 3, - labels: 'lab' - }, - lch: { - channels: 3, - labels: 'lch' - }, - hex: { - channels: 1, - labels: ['hex'] - }, - keyword: { - channels: 1, - labels: ['keyword'] - }, - ansi16: { - channels: 1, - labels: ['ansi16'] - }, - ansi256: { - channels: 1, - labels: ['ansi256'] - }, - hcg: { - channels: 3, - labels: ['h', 'c', 'g'] - }, - apple: { - channels: 3, - labels: ['r16', 'g16', 'b16'] - }, - gray: { - channels: 1, - labels: ['gray'] - } -}; -var conversions$1 = convert$1; // Hide .channels and .labels properties - -for (const model of Object.keys(convert$1)) { - if (!('channels' in convert$1[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert$1[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert$1[model].labels.length !== convert$1[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - const { - channels, - labels - } = convert$1[model]; - delete convert$1[model].channels; - delete convert$1[model].labels; - Object.defineProperty(convert$1[model], 'channels', { - value: channels - }); - Object.defineProperty(convert$1[model], 'labels', { - value: labels - }); -} - -convert$1.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - const l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert$1.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [h * 360, s * 100, v * 100]; -}; - -convert$1.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert$1.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; -}; - -convert$1.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; -}; - -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; -} - -convert$1.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - - if (reversed) { - return reversed; - } - - let currentClosestDistance = Infinity; - let currentClosestKeyword; - - for (const keyword of Object.keys(colorName$1)) { - const value = colorName$1[keyword]; // Compute comparative distance - - const distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest - - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - - return currentClosestKeyword; -}; - -convert$1.keyword.rgb = function (keyword) { - return colorName$1[keyword]; -}; - -convert$1.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; // Assume sRGB - - r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92; - g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92; - b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92; - const x = r * 0.4124 + g * 0.3576 + b * 0.1805; - const y = r * 0.2126 + g * 0.7152 + b * 0.0722; - const z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; -}; - -convert$1.rgb.lab = function (rgb) { - const xyz = convert$1.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; - const l = 116 * y - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - return [l, a, b]; -}; - -convert$1.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - const t1 = 2 * l - t2; - const rgb = [0, 0, 0]; - - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert$1.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; -}; - -convert$1.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - s * f); - const t = 255 * v * (1 - s * (1 - f)); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - - case 1: - return [q, v, p]; - - case 2: - return [p, v, t]; - - case 3: - return [p, q, v]; - - case 4: - return [t, p, v]; - - case 5: - return [v, p, q]; - } -}; - -convert$1.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; -}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb - - -convert$1.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; // Wh + bl cant be > 1 - - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - const n = wh + f * (v - wh); // Linear interpolation - - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - - case 1: - r = n; - g = v; - b = wh; - break; - - case 2: - r = wh; - g = v; - b = n; - break; - - case 3: - r = wh; - g = n; - b = v; - break; - - case 4: - r = n; - g = wh; - b = v; - break; - - case 5: - r = v; - g = wh; - b = n; - break; - } - /* eslint-enable max-statements-per-line,no-multi-spaces */ - - - return [r * 255, g * 255, b * 255]; -}; - -convert$1.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; -}; - -convert$1.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB - - r = r > 0.0031308 ? 1.055 * r ** (1.0 / 2.4) - 0.055 : r * 12.92; - g = g > 0.0031308 ? 1.055 * g ** (1.0 / 2.4) - 0.055 : g * 12.92; - b = b > 0.0031308 ? 1.055 * b ** (1.0 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; -}; - -convert$1.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; - const l = 116 * y - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - return [l, a, b]; -}; - -convert$1.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; -}; - -convert$1.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - const c = Math.sqrt(a * a + b * b); - return [l, c, h]; -}; - -convert$1.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); - return [l, a, b]; -}; - -convert$1.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert$1.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert$1.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]); -}; - -convert$1.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round((r - 8) / 247 * 24) + 232; - } - - const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; -}; - -convert$1.ansi16.rgb = function (args) { - let color = args % 10; // Handle greyscale - - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - return [color, color, color]; - } - - const mult = (~~(args > 50) + 1) * 0.5; - const r = (color & 1) * mult * 255; - const g = (color >> 1 & 1) * mult * 255; - const b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; -}; - -convert$1.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = rem % 6 / 5 * 255; - return [r, g, b]; -}; - -convert$1.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert$1.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - - if (!match) { - return [0, 0, 0]; - } - - let colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } - - const integer = parseInt(colorString, 16); - const r = integer >> 16 & 0xFF; - const g = integer >> 8 & 0xFF; - const b = integer & 0xFF; - return [r, g, b]; -}; - -convert$1.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = max - min; - let grayscale; - let hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } - - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert$1.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; - const c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l); - let f = 0; - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert$1.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const c = s * v; - let f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert$1.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - const pure = [0, 0, 0]; - const hi = h % 1 * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; - /* eslint-disable max-statements-per-line */ - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - /* eslint-enable max-statements-per-line */ - - - mg = (1.0 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; -}; - -convert$1.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - let f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert$1.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert$1.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert$1.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert$1.apple.rgb = function (apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; -}; - -convert$1.rgb.apple = function (rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; -}; - -convert$1.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert$1.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; - -convert$1.gray.hsv = convert$1.gray.hsl; - -convert$1.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert$1.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert$1.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert$1.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert$1.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; - -/* - This function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph$1() { - const graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - - const models = Object.keys(conversions$1); - - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} // https://en.wikipedia.org/wiki/Breadth-first_search - - -function deriveBFS$1(fromModel) { - const graph = buildGraph$1(); - const queue = [fromModel]; // Unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions$1[current]); - - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link$1(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion$1(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions$1[graph[toModel].parent][toModel]; - let cur = graph[toModel].parent; - - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link$1(conversions$1[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -var route$1 = function (fromModel) { - const graph = deriveBFS$1(fromModel); - const conversion = {}; - const models = Object.keys(graph); - - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; - - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion$1(toModel, graph); - } - - return conversion; -}; - -const convert$2 = {}; -const models$1 = Object.keys(conversions$1); - -function wrapRaw$1(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - return fn(args); - }; // Preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded$1(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - const result = fn(args); // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; // Preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models$1.forEach(fromModel => { - convert$2[fromModel] = {}; - Object.defineProperty(convert$2[fromModel], 'channels', { - value: conversions$1[fromModel].channels - }); - Object.defineProperty(convert$2[fromModel], 'labels', { - value: conversions$1[fromModel].labels - }); - const routes = route$1(fromModel); - const routeModels = Object.keys(routes); - routeModels.forEach(toModel => { - const fn = routes[toModel]; - convert$2[fromModel][toModel] = wrapRounded$1(fn); - convert$2[fromModel][toModel].raw = wrapRaw$1(fn); - }); -}); -var colorConvert$1 = convert$2; - -var ansiStyles$1 = createCommonjsModule(function (module) { - - const wrapAnsi16 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${code + offset}m`; - }; - - const wrapAnsi256 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${38 + offset};5;${code}m`; - }; - - const wrapAnsi16m = (fn, offset) => (...args) => { - const rgb = fn(...args); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - - const ansi2ansi = n => n; - - const rgb2rgb = (r, g, b) => [r, g, b]; - - const setLazyProperty = (object, property, get) => { - Object.defineProperty(object, property, { - get: () => { - const value = get(); - Object.defineProperty(object, property, { - value, - enumerable: true, - configurable: true - }); - return value; - }, - enumerable: true, - configurable: true - }); - }; - /** @type {typeof import('color-convert')} */ - - - let colorConvert; - - const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { - if (colorConvert === undefined) { - colorConvert = colorConvert$1; - } - - const offset = isBackground ? 10 : 0; - const styles = {}; - - for (const [sourceSpace, suite] of Object.entries(colorConvert)) { - const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; - - if (sourceSpace === targetSpace) { - styles[name] = wrap(identity, offset); - } else if (typeof suite === 'object') { - styles[name] = wrap(suite[targetSpace], offset); - } - } - - return styles; - }; - - function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - // Bright color - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; // Alias bright black as gray (and grey) - - styles.color.gray = styles.color.blackBright; - styles.bgColor.bgGray = styles.bgColor.bgBlackBright; - styles.color.grey = styles.color.blackBright; - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; - - for (const [groupName, group] of Object.entries(styles)) { - for (const [styleName, style] of Object.entries(group)) { - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - } - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); - setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); - return styles; - } // Make the export immutable - - - Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles - }); -}); - -var hasFlag$1 = (flag, argv = process.argv) => { - const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf('--'); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -}; - -const { - env: env$1 -} = process; -let forceColor$1; - -if (hasFlag$1('no-color') || hasFlag$1('no-colors') || hasFlag$1('color=false') || hasFlag$1('color=never')) { - forceColor$1 = 0; -} else if (hasFlag$1('color') || hasFlag$1('colors') || hasFlag$1('color=true') || hasFlag$1('color=always')) { - forceColor$1 = 1; -} - -if ('FORCE_COLOR' in env$1) { - if (env$1.FORCE_COLOR === 'true') { - forceColor$1 = 1; - } else if (env$1.FORCE_COLOR === 'false') { - forceColor$1 = 0; - } else { - forceColor$1 = env$1.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env$1.FORCE_COLOR, 10), 3); - } -} - -function translateLevel$1(level) { - if (level === 0) { - return false; - } - - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} - -function supportsColor$1(haveStream, streamIsTTY) { - if (forceColor$1 === 0) { - return 0; - } - - if (hasFlag$1('color=16m') || hasFlag$1('color=full') || hasFlag$1('color=truecolor')) { - return 3; - } - - if (hasFlag$1('color=256')) { - return 2; - } - - if (haveStream && !streamIsTTY && forceColor$1 === undefined) { - return 0; - } - - const min = forceColor$1 || 0; - - if (env$1.TERM === 'dumb') { - return min; - } - - if (process.platform === 'win32') { - // Windows 10 build 10586 is the first Windows release that supports 256 colors. - // Windows 10 build 14931 is the first release that supports 16m/TrueColor. - const osRelease = os__default['default'].release().split('.'); - - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - - return 1; - } - - if ('CI' in env$1) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env$1) || env$1.CI_NAME === 'codeship') { - return 1; - } - - return min; - } - - if ('TEAMCITY_VERSION' in env$1) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$1.TEAMCITY_VERSION) ? 1 : 0; - } - - if ('GITHUB_ACTIONS' in env$1) { - return 1; - } - - if (env$1.COLORTERM === 'truecolor') { - return 3; - } - - if ('TERM_PROGRAM' in env$1) { - const version = parseInt((env$1.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - - switch (env$1.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - - case 'Apple_Terminal': - return 2; - // No default - } - } - - if (/-256(color)?$/i.test(env$1.TERM)) { - return 2; - } - - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$1.TERM)) { - return 1; - } - - if ('COLORTERM' in env$1) { - return 1; - } - - return min; -} - -function getSupportLevel$1(stream) { - const level = supportsColor$1(stream, stream && stream.isTTY); - return translateLevel$1(level); -} - -var supportsColor_1$1 = { - supportsColor: getSupportLevel$1, - stdout: translateLevel$1(supportsColor$1(true, tty__default['default'].isatty(1))), - stderr: translateLevel$1(supportsColor$1(true, tty__default['default'].isatty(2))) -}; - -const stringReplaceAll = (string, substring, replacer) => { - let index = string.indexOf(substring); - - if (index === -1) { - return string; - } - - const substringLength = substring.length; - let endIndex = 0; - let returnValue = ''; - - do { - returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; - endIndex = index + substringLength; - index = string.indexOf(substring, endIndex); - } while (index !== -1); - - returnValue += string.substr(endIndex); - return returnValue; -}; - -const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { - let endIndex = 0; - let returnValue = ''; - - do { - const gotCR = string[index - 1] === '\r'; - returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; - endIndex = index + 1; - index = string.indexOf('\n', endIndex); - } while (index !== -1); - - returnValue += string.substr(endIndex); - return returnValue; -}; - -var util$1 = { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex -}; - -const TEMPLATE_REGEX$1 = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -const STYLE_REGEX$1 = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX$1 = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -const ESCAPE_REGEX$1 = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; -const ESCAPES$1 = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); - -function unescape$1(c) { - const u = c[0] === 'u'; - const bracket = c[1] === '{'; - - if (u && !bracket && c.length === 5 || c[0] === 'x' && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - - if (u && bracket) { - return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); - } - - return ESCAPES$1.get(c) || c; -} - -function parseArguments$1(name, arguments_) { - const results = []; - const chunks = arguments_.trim().split(/\s*,\s*/g); - let matches; - - for (const chunk of chunks) { - const number = Number(chunk); - - if (!Number.isNaN(number)) { - results.push(number); - } else if (matches = chunk.match(STRING_REGEX$1)) { - results.push(matches[2].replace(ESCAPE_REGEX$1, (m, escape, character) => escape ? unescape$1(escape) : character)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - - return results; -} - -function parseStyle$1(style) { - STYLE_REGEX$1.lastIndex = 0; - const results = []; - let matches; - - while ((matches = STYLE_REGEX$1.exec(style)) !== null) { - const name = matches[1]; - - if (matches[2]) { - const args = parseArguments$1(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - - return results; -} - -function buildStyle$1(chalk, styles) { - const enabled = {}; - - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - - let current = chalk; - - for (const [styleName, styles] of Object.entries(enabled)) { - if (!Array.isArray(styles)) { - continue; - } - - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - - current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; - } - - return current; -} - -var templates$1 = (chalk, temporary) => { - const styles = []; - const chunks = []; - let chunk = []; // eslint-disable-next-line max-params - - temporary.replace(TEMPLATE_REGEX$1, (m, escapeCharacter, inverse, style, close, character) => { - if (escapeCharacter) { - chunk.push(unescape$1(escapeCharacter)); - } else if (style) { - const string = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? string : buildStyle$1(chalk, styles)(string)); - styles.push({ - inverse, - styles: parseStyle$1(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } - - chunks.push(buildStyle$1(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(character); - } - }); - chunks.push(chunk.join('')); - - if (styles.length > 0) { - const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; - throw new Error(errMessage); - } - - return chunks.join(''); -}; - -const { - stdout: stdoutColor, - stderr: stderrColor -} = supportsColor_1$1; -const { - stringReplaceAll: stringReplaceAll$1, - stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 -} = util$1; -const { - isArray -} = Array; // `supportsColor.level` → `ansiStyles.color[name]` mapping - -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; -const styles = Object.create(null); - -const applyOptions = (object, options = {}) => { - if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { - throw new Error('The `level` option should be an integer from 0 to 3'); - } // Detect level if not set manually - - - const colorLevel = stdoutColor ? stdoutColor.level : 0; - object.level = options.level === undefined ? colorLevel : options.level; -}; - -class ChalkClass { - constructor(options) { - // eslint-disable-next-line no-constructor-return - return chalkFactory(options); - } - -} - -const chalkFactory = options => { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = () => { - throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); - }; - - chalk.template.Instance = ChalkClass; - return chalk.template; -}; - -function Chalk(options) { - return chalkFactory(options); -} - -for (const [styleName, style] of Object.entries(ansiStyles$1)) { - styles[styleName] = { - get() { - const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); - Object.defineProperty(this, styleName, { - value: builder - }); - return builder; - } - - }; -} - -styles.visible = { - get() { - const builder = createBuilder(this, this._styler, true); - Object.defineProperty(this, 'visible', { - value: builder - }); - return builder; - } - -}; -const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; - -for (const model of usedModels) { - styles[model] = { - get() { - const { - level - } = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles$1.color[levelMapping[level]][model](...arguments_), ansiStyles$1.color.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - - }; -} - -for (const model of usedModels) { - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const { - level - } = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles$1.bgColor[levelMapping[level]][model](...arguments_), ansiStyles$1.bgColor.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - - }; -} - -const proto = Object.defineProperties(() => {}, Object.assign({}, styles, { - level: { - enumerable: true, - - get() { - return this._generator.level; - }, - - set(level) { - this._generator.level = level; - } - - } -})); - -const createStyler = (open, close, parent) => { - let openAll; - let closeAll; - - if (parent === undefined) { - openAll = open; - closeAll = close; - } else { - openAll = parent.openAll + open; - closeAll = close + parent.closeAll; - } - - return { - open, - close, - openAll, - closeAll, - parent - }; -}; - -const createBuilder = (self, _styler, _isEmpty) => { - const builder = (...arguments_) => { - if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { - // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` - return applyStyle(builder, chalkTag(builder, ...arguments_)); - } // Single argument is hot path, implicit coercion is faster than anything - // eslint-disable-next-line no-implicit-coercion - - - return applyStyle(builder, arguments_.length === 1 ? '' + arguments_[0] : arguments_.join(' ')); - }; // We alter the prototype because we must return a function, but there is - // no way to create a function with a different prototype - - - Object.setPrototypeOf(builder, proto); - builder._generator = self; - builder._styler = _styler; - builder._isEmpty = _isEmpty; - return builder; -}; - -const applyStyle = (self, string) => { - if (self.level <= 0 || !string) { - return self._isEmpty ? '' : string; - } - - let styler = self._styler; - - if (styler === undefined) { - return string; - } - - const { - openAll, - closeAll - } = styler; - - if (string.indexOf('\u001B') !== -1) { - while (styler !== undefined) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - string = stringReplaceAll$1(string, styler.close, styler.open); - styler = styler.parent; - } - } // We can move both next actions out of loop, because remaining actions in loop won't have - // any/visible effect on parts we add here. Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 - - - const lfIndex = string.indexOf('\n'); - - if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex$1(string, closeAll, openAll, lfIndex); - } - - return openAll + string + closeAll; -}; - -let template; - -const chalkTag = (chalk, ...strings) => { - const [firstString] = strings; - - if (!isArray(firstString) || !isArray(firstString.raw)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return strings.join(' '); - } - - const arguments_ = strings.slice(1); - const parts = [firstString.raw[0]]; - - for (let i = 1; i < firstString.length; i++) { - parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), String(firstString.raw[i])); - } - - if (template === undefined) { - template = templates$1; - } - - return template(chalk, parts.join('')); -}; - -Object.defineProperties(Chalk.prototype, styles); -const chalk$1 = Chalk(); // eslint-disable-line new-cap - -chalk$1.supportsColor = stdoutColor; -chalk$1.stderr = Chalk({ - level: stderrColor ? stderrColor.level : 0 -}); // eslint-disable-line new-cap - -chalk$1.stderr.supportsColor = stderrColor; -var source = chalk$1; - -/** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ -function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - - return array; -} - -var _arrayPush = arrayPush; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; -var _freeGlobal = freeGlobal; - -/** Detect free variable `self`. */ - -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; -/** Used as a reference to the global object. */ - -var root = _freeGlobal || freeSelf || Function('return this')(); -var _root = root; - -/** Built-in value references. */ - -var Symbol$1 = _root.Symbol; -var _Symbol = Symbol$1; - -/** Used for built-in method references. */ - -var objectProto = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString = objectProto.toString; -/** Built-in value references. */ - -var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - - return result; -} - -var _getRawTag = getRawTag; - -/** Used for built-in method references. */ -var objectProto$1 = Object.prototype; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString$1 = objectProto$1.toString; -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - -function objectToString(value) { - return nativeObjectToString$1.call(value); -} - -var _objectToString = objectToString; - -/** `Object#toString` result references. */ - -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; -/** Built-in value references. */ - -var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined; -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - - return symToStringTag$1 && symToStringTag$1 in Object(value) ? _getRawTag(value) : _objectToString(value); -} - -var _baseGetTag = baseGetTag; - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -var isObjectLike_1 = isObjectLike; - -/** `Object#toString` result references. */ - -var argsTag = '[object Arguments]'; -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - -function baseIsArguments(value) { - return isObjectLike_1(value) && _baseGetTag(value) == argsTag; -} - -var _baseIsArguments = baseIsArguments; - -/** Used for built-in method references. */ - -var objectProto$2 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$1 = objectProto$2.hasOwnProperty; -/** Built-in value references. */ - -var propertyIsEnumerable = objectProto$2.propertyIsEnumerable; -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - -var isArguments = _baseIsArguments(function () { - return arguments; -}()) ? _baseIsArguments : function (value) { - return isObjectLike_1(value) && hasOwnProperty$1.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); -}; -var isArguments_1 = isArguments; - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray$1 = Array.isArray; -var isArray_1 = isArray$1; - -/** Built-in value references. */ - -var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : undefined; -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - -function isFlattenable(value) { - return isArray_1(value) || isArguments_1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); -} - -var _isFlattenable = isFlattenable; - -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - -function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - predicate || (predicate = _isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - _arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - - return result; -} - -var _baseFlatten = baseFlatten; - -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - -function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? _baseFlatten(array, 1) : []; -} - -var flatten_1 = flatten; - -const cliDescriptor = { - key: key => key.length === 1 ? `-${key}` : `--${key}`, - value: value => lib$1.apiDescriptor.value(value), - pair: ({ - key, - value - }) => value === false ? `--no-${key}` : value === true ? cliDescriptor.key(key) : value === "" ? `${cliDescriptor.key(key)} without an argument` : `${cliDescriptor.key(key)}=${value}` -}; - -class FlagSchema extends lib$1.ChoiceSchema { - constructor({ - name, - flags - }) { - super({ - name, - choices: flags - }); - this._flags = flags.slice().sort(); - } - - preprocess(value, utils) { - if (typeof value === "string" && value.length !== 0 && !this._flags.includes(value)) { - const suggestion = this._flags.find(flag => leven_1$1(flag, value) < 3); - - if (suggestion) { - utils.logger.warn([`Unknown flag ${source.yellow(utils.descriptor.value(value))},`, `did you mean ${source.blue(utils.descriptor.value(suggestion))}?`].join(" ")); - return suggestion; - } - } - - return value; - } - - expected() { - return "a flag"; - } - -} - -let hasDeprecationWarned; - -function normalizeOptions(options, optionInfos, { - logger, - isCLI = false, - passThrough = false -} = {}) { - const unknown = !passThrough ? (key, value, options) => { - // Don't suggest `_` for unknown flags - const _options$schemas = options.schemas, - schemas = _objectWithoutPropertiesLoose(_options$schemas, ["_"]); - - return lib$1.levenUnknownHandler(key, value, Object.assign({}, options, { - schemas - })); - } : Array.isArray(passThrough) ? (key, value) => !passThrough.includes(key) ? undefined : { - [key]: value - } : (key, value) => ({ - [key]: value - }); - const descriptor = isCLI ? cliDescriptor : lib$1.apiDescriptor; - const schemas = optionInfosToSchemas(optionInfos, { - isCLI - }); - const normalizer = new lib$1.Normalizer(schemas, { - logger, - unknown, - descriptor - }); - const shouldSuppressDuplicateDeprecationWarnings = logger !== false; - - if (shouldSuppressDuplicateDeprecationWarnings && hasDeprecationWarned) { - normalizer._hasDeprecationWarned = hasDeprecationWarned; - } - - const normalized = normalizer.normalize(options); - - if (shouldSuppressDuplicateDeprecationWarnings) { - hasDeprecationWarned = normalizer._hasDeprecationWarned; - } - - return normalized; -} - -function optionInfosToSchemas(optionInfos, { - isCLI -}) { - const schemas = []; - - if (isCLI) { - schemas.push(lib$1.AnySchema.create({ - name: "_" - })); - } - - for (const optionInfo of optionInfos) { - schemas.push(optionInfoToSchema(optionInfo, { - isCLI, - optionInfos - })); - - if (optionInfo.alias && isCLI) { - schemas.push(lib$1.AliasSchema.create({ - name: optionInfo.alias, - sourceName: optionInfo.name - })); - } - } - - return schemas; -} - -function optionInfoToSchema(optionInfo, { - isCLI, - optionInfos -}) { - let SchemaConstructor; - const parameters = { - name: optionInfo.name - }; - const handlers = {}; - - switch (optionInfo.type) { - case "int": - SchemaConstructor = lib$1.IntegerSchema; - - if (isCLI) { - parameters.preprocess = value => Number(value); - } - - break; - - case "string": - SchemaConstructor = lib$1.StringSchema; - break; - - case "choice": - SchemaConstructor = lib$1.ChoiceSchema; - parameters.choices = optionInfo.choices.map(choiceInfo => typeof choiceInfo === "object" && choiceInfo.redirect ? Object.assign({}, choiceInfo, { - redirect: { - to: { - key: optionInfo.name, - value: choiceInfo.redirect - } - } - }) : choiceInfo); - break; - - case "boolean": - SchemaConstructor = lib$1.BooleanSchema; - break; - - case "flag": - SchemaConstructor = FlagSchema; - parameters.flags = flatten_1(optionInfos.map(optionInfo => [optionInfo.alias, optionInfo.description && optionInfo.name, optionInfo.oppositeDescription && `no-${optionInfo.name}`].filter(Boolean))); - break; - - case "path": - SchemaConstructor = lib$1.StringSchema; - break; - - default: - /* istanbul ignore next */ - throw new Error(`Unexpected type ${optionInfo.type}`); - } - - if (optionInfo.exception) { - parameters.validate = (value, schema, utils) => { - return optionInfo.exception(value) || schema.validate(value, utils); - }; - } else { - parameters.validate = (value, schema, utils) => { - return value === undefined || schema.validate(value, utils); - }; - } - /* istanbul ignore next */ - - - if (optionInfo.redirect) { - handlers.redirect = value => !value ? undefined : { - to: { - key: optionInfo.redirect.option, - value: optionInfo.redirect.value - } - }; - } - /* istanbul ignore next */ - - - if (optionInfo.deprecated) { - handlers.deprecated = true; - } // allow CLI overriding, e.g., prettier package.json --tab-width 1 --tab-width 2 - - - if (isCLI && !optionInfo.array) { - const originalPreprocess = parameters.preprocess || (x => x); - - parameters.preprocess = (value, schema, utils) => schema.preprocess(originalPreprocess(Array.isArray(value) ? value[value.length - 1] : value), utils); - } - - return optionInfo.array ? lib$1.ArraySchema.create(Object.assign({}, isCLI ? { - preprocess: v => [].concat(v) - } : {}, handlers, { - valueSchema: SchemaConstructor.create(parameters) - })) : SchemaConstructor.create(Object.assign({}, parameters, handlers)); -} - -function normalizeApiOptions(options, optionInfos, opts) { - return normalizeOptions(options, optionInfos, opts); -} - -function normalizeCliOptions(options, optionInfos, opts) { - return normalizeOptions(options, optionInfos, Object.assign({ - isCLI: true - }, opts)); -} - -var optionsNormalizer = { - normalizeApiOptions, - normalizeCliOptions -}; - -function locStart(node, opts) { - const { - ignoreDecorators - } = opts || {}; // Handle nodes with decorators. They should start at the first decorator - - if (!ignoreDecorators) { - const decorators = node.declaration && node.declaration.decorators || node.decorators; - - if (decorators && decorators.length > 0) { - return locStart(decorators[0]); - } - } - - return node.range ? node.range[0] : node.start; -} - -function locEnd(node) { - const end = node.range ? node.range[1] : node.end; - return node.typeAnnotation ? Math.max(end, locEnd(node.typeAnnotation)) : end; -} - -function composeLoc(startNode, endNodeOrLength = startNode) { - const start = locStart(startNode); - const end = typeof endNodeOrLength === "number" ? start + endNodeOrLength : locEnd(endNodeOrLength); - return [start, end]; -} - -var loc = { - locStart, - locEnd, - composeLoc -}; - -var jsTokens = createCommonjsModule(function (module, exports) { - // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell - // License: MIT. (See LICENSE.) - Object.defineProperty(exports, "__esModule", { - value: true - }); // This regex comes from regex.coffee, and is inserted here by generate-index.js - // (run `npm run build`). - - exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; - - exports.matchToToken = function (match) { - var token = { - type: "invalid", - value: match[0], - closed: undefined - }; - if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace"; - return token; - }; -}); - -var identifier = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isIdentifierStart = isIdentifierStart; - exports.isIdentifierChar = isIdentifierChar; - exports.isIdentifierName = isIdentifierName; - let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; - let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; - const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; - const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; - const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; - - function isInAstralSet(code, set) { - let pos = 0x10000; - - for (let i = 0, length = set.length; i < length; i += 2) { - pos += set[i]; - if (pos > code) return false; - pos += set[i + 1]; - if (pos >= code) return true; - } - - return false; - } - - function isIdentifierStart(code) { - if (code < 65) return code === 36; - if (code <= 90) return true; - if (code < 97) return code === 95; - if (code <= 122) return true; - - if (code <= 0xffff) { - return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); - } - - return isInAstralSet(code, astralIdentifierStartCodes); - } - - function isIdentifierChar(code) { - if (code < 48) return code === 36; - if (code < 58) return true; - if (code < 65) return false; - if (code <= 90) return true; - if (code < 97) return code === 95; - if (code <= 122) return true; - - if (code <= 0xffff) { - return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); - } - - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); - } - - function isIdentifierName(name) { - let isFirst = true; - - for (let _i = 0, _Array$from = Array.from(name); _i < _Array$from.length; _i++) { - const char = _Array$from[_i]; - const cp = char.codePointAt(0); - - if (isFirst) { - if (!isIdentifierStart(cp)) { - return false; - } - - isFirst = false; - } else if (!isIdentifierChar(cp)) { - return false; - } - } - - return !isFirst; - } -}); - -var keyword = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isReservedWord = isReservedWord; - exports.isStrictReservedWord = isStrictReservedWord; - exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; - exports.isStrictBindReservedWord = isStrictBindReservedWord; - exports.isKeyword = isKeyword; - const reservedWords = { - keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], - strictBind: ["eval", "arguments"] - }; - const keywords = new Set(reservedWords.keyword); - const reservedWordsStrictSet = new Set(reservedWords.strict); - const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); - - function isReservedWord(word, inModule) { - return inModule && word === "await" || word === "enum"; - } - - function isStrictReservedWord(word, inModule) { - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); - } - - function isStrictBindOnlyReservedWord(word) { - return reservedWordsStrictBindSet.has(word); - } - - function isStrictBindReservedWord(word, inModule) { - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); - } - - function isKeyword(word) { - return keywords.has(word); - } -}); - -var lib$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - Object.defineProperty(exports, "isIdentifierName", { - enumerable: true, - get: function () { - return identifier.isIdentifierName; - } - }); - Object.defineProperty(exports, "isIdentifierChar", { - enumerable: true, - get: function () { - return identifier.isIdentifierChar; - } - }); - Object.defineProperty(exports, "isIdentifierStart", { - enumerable: true, - get: function () { - return identifier.isIdentifierStart; - } - }); - Object.defineProperty(exports, "isReservedWord", { - enumerable: true, - get: function () { - return keyword.isReservedWord; - } - }); - Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { - enumerable: true, - get: function () { - return keyword.isStrictBindOnlyReservedWord; - } - }); - Object.defineProperty(exports, "isStrictBindReservedWord", { - enumerable: true, - get: function () { - return keyword.isStrictBindReservedWord; - } - }); - Object.defineProperty(exports, "isStrictReservedWord", { - enumerable: true, - get: function () { - return keyword.isStrictReservedWord; - } - }); - Object.defineProperty(exports, "isKeyword", { - enumerable: true, - get: function () { - return keyword.isKeyword; - } - }); -}); - var matchOperatorsRe$1 = /[|\\{}()[\]^$+*?.]/g; -var escapeStringRegexp$2 = function (str) { +var escapeStringRegexp$1 = function (str) { if (typeof str !== 'string') { throw new TypeError('Expected a string'); } @@ -11418,8 +6357,8 @@ var colorName$2 = { "yellowgreen": [154, 205, 50] }; +/* MIT license */ var conversions$2 = createCommonjsModule(function (module) { - /* MIT license */ // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). // do not use box values types (i.e. Number(), String(), etc.) @@ -12369,7 +7308,7 @@ function deriveBFS$2(fromModel) { return graph; } -function link$2(from, to) { +function link$3(from, to) { return function (args) { return to(from(args)); }; @@ -12382,7 +7321,7 @@ function wrapConversion$2(toModel, graph) { while (graph[cur].parent) { path.unshift(graph[cur].parent); - fn = link$2(conversions$2[graph[cur].parent][cur], fn); + fn = link$3(conversions$2[graph[cur].parent][cur], fn); cur = graph[cur].parent; } @@ -12641,12 +7580,20 @@ var ansiStyles$2 = createCommonjsModule(function (module) { }); }); +var hasFlag$2 = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + const env$2 = process.env; let forceColor$2; -if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) { +if (hasFlag$2('no-color') || hasFlag$2('no-colors') || hasFlag$2('color=false')) { forceColor$2 = false; -} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { +} else if (hasFlag$2('color') || hasFlag$2('colors') || hasFlag$2('color=true') || hasFlag$2('color=always')) { forceColor$2 = true; } @@ -12672,11 +7619,11 @@ function supportsColor$2(stream) { return 0; } - if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) { + if (hasFlag$2('color=16m') || hasFlag$2('color=full') || hasFlag$2('color=truecolor')) { return 3; } - if (hasFlag('color=256')) { + if (hasFlag$2('color=256')) { return 2; } @@ -12763,7 +7710,7 @@ var supportsColor_1$2 = { const TEMPLATE_REGEX$2 = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; const STYLE_REGEX$2 = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX$2 = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const STRING_REGEX$3 = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; const ESCAPE_REGEX$2 = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; const ESCAPES$2 = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); @@ -12783,7 +7730,7 @@ function parseArguments$2(name, args) { for (const chunk of chunks) { if (!isNaN(chunk)) { results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX$2)) { + } else if (matches = chunk.match(STRING_REGEX$3)) { results.push(matches[2].replace(ESCAPE_REGEX$2, (m, escape, chr) => escape ? unescape$2(escape) : chr)); } else { throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); @@ -12923,7 +7870,7 @@ var chalk$2 = createCommonjsModule(function (module) { } for (const key of Object.keys(ansiStyles$2)) { - ansiStyles$2[key].closeRe = new RegExp(escapeStringRegexp$2(ansiStyles$2[key].close), 'g'); + ansiStyles$2[key].closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$2[key].close), 'g'); styles[key] = { get() { const codes = ansiStyles$2[key]; @@ -12939,7 +7886,7 @@ var chalk$2 = createCommonjsModule(function (module) { } }; - ansiStyles$2.color.closeRe = new RegExp(escapeStringRegexp$2(ansiStyles$2.color.close), 'g'); + ansiStyles$2.color.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$2.color.close), 'g'); for (const model of Object.keys(ansiStyles$2.color.ansi)) { if (skipModels.has(model)) { @@ -12963,7 +7910,7 @@ var chalk$2 = createCommonjsModule(function (module) { }; } - ansiStyles$2.bgColor.closeRe = new RegExp(escapeStringRegexp$2(ansiStyles$2.bgColor.close), 'g'); + ansiStyles$2.bgColor.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$2.bgColor.close), 'g'); for (const model of Object.keys(ansiStyles$2.bgColor.ansi)) { if (skipModels.has(model)) { @@ -13102,106 +8049,5313 @@ var chalk$2 = createCommonjsModule(function (module) { module.exports.default = module.exports; // For TypeScript }); +var commonDeprecatedHandler = (keyOrPair, redirectTo, { + descriptor +}) => { + const messages = [`${chalk$2.default.yellow(typeof keyOrPair === 'string' ? descriptor.key(keyOrPair) : descriptor.pair(keyOrPair))} is deprecated`]; + + if (redirectTo) { + messages.push(`we now treat it as ${chalk$2.default.blue(typeof redirectTo === 'string' ? descriptor.key(redirectTo) : descriptor.pair(redirectTo))}`); + } + + return messages.join('; ') + '.'; +}; + +var common$3 = /*#__PURE__*/Object.defineProperty({ + commonDeprecatedHandler: commonDeprecatedHandler +}, '__esModule', { + value: true +}); + +var deprecated = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(common$3, exports); +}); + +var commonInvalidHandler = (key, value, utils) => [`Invalid ${chalk$2.default.red(utils.descriptor.key(key))} value.`, `Expected ${chalk$2.default.blue(utils.schemas[key].expected(utils))},`, `but received ${chalk$2.default.red(utils.descriptor.value(value))}.`].join(' '); + +var common$2 = /*#__PURE__*/Object.defineProperty({ + commonInvalidHandler: commonInvalidHandler +}, '__esModule', { + value: true +}); + +var invalid = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(common$2, exports); +}); + +/* eslint-disable no-nested-ternary */ + +var arr = []; +var charCodeCache$1 = []; + +var leven$1 = function (a, b) { + if (a === b) { + return 0; + } + + var swap = a; // Swapping the strings if `a` is longer than `b` so we know which one is the + // shortest & which one is the longest + + if (a.length > b.length) { + a = b; + b = swap; + } + + var aLen = a.length; + var bLen = b.length; + + if (aLen === 0) { + return bLen; + } + + if (bLen === 0) { + return aLen; + } // Performing suffix trimming: + // We can linearly drop suffix common to both strings since they + // don't increase distance at all + // Note: `~-` is the bitwise way to perform a `- 1` operation + + + while (aLen > 0 && a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen)) { + aLen--; + bLen--; + } + + if (aLen === 0) { + return bLen; + } // Performing prefix trimming + // We can linearly drop prefix common to both strings since they + // don't increase distance at all + + + var start = 0; + + while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) { + start++; + } + + aLen -= start; + bLen -= start; + + if (aLen === 0) { + return bLen; + } + + var bCharCode; + var ret; + var tmp; + var tmp2; + var i = 0; + var j = 0; + + while (i < aLen) { + charCodeCache$1[start + i] = a.charCodeAt(start + i); + arr[i] = ++i; + } + + while (j < bLen) { + bCharCode = b.charCodeAt(start + j); + tmp = j++; + ret = j; + + for (i = 0; i < aLen; i++) { + tmp2 = bCharCode === charCodeCache$1[start + i] ? tmp : tmp + 1; + tmp = arr[i]; + ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2; + } + } + + return ret; +}; + +var levenUnknownHandler = (key, value, { + descriptor, + logger, + schemas +}) => { + const messages = [`Ignored unknown option ${chalk$2.default.yellow(descriptor.pair({ + key, + value + }))}.`]; + const suggestion = Object.keys(schemas).sort().find(knownKey => leven$1(key, knownKey) < 3); + + if (suggestion) { + messages.push(`Did you mean ${chalk$2.default.blue(descriptor.key(suggestion))}?`); + } + + logger.warn(messages.join(' ')); +}; + +var leven_1$1 = /*#__PURE__*/Object.defineProperty({ + levenUnknownHandler: levenUnknownHandler +}, '__esModule', { + value: true +}); + +var unknown = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(leven_1$1, exports); +}); + +var handlers = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(deprecated, exports); + + tslib_es6.__exportStar(invalid, exports); + + tslib_es6.__exportStar(unknown, exports); +}); + +const HANDLER_KEYS = ['default', 'expected', 'validate', 'deprecated', 'forward', 'redirect', 'overlap', 'preprocess', 'postprocess']; + +function createSchema(SchemaConstructor, parameters) { + const schema = new SchemaConstructor(parameters); + const subSchema = Object.create(schema); + + for (const handlerKey of HANDLER_KEYS) { + if (handlerKey in parameters) { + subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length); + } + } + + return subSchema; +} + +var createSchema_1 = createSchema; + +class Schema { + constructor(parameters) { + this.name = parameters.name; + } + + static create(parameters) { + // @ts-ignore: https://github.com/Microsoft/TypeScript/issues/5863 + return createSchema(this, parameters); + } + + default(_utils) { + return undefined; + } // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length` + + + expected(_utils) { + return 'nothing'; + } // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length` + + + validate(_value, _utils) { + return false; + } + + deprecated(_value, _utils) { + return false; + } + + forward(_value, _utils) { + return undefined; + } + + redirect(_value, _utils) { + return undefined; + } + + overlap(currentValue, _newValue, _utils) { + return currentValue; + } + + preprocess(value, _utils) { + return value; + } + + postprocess(value, _utils) { + return value; + } + +} + +var Schema_1 = Schema; + +function normalizeHandler(handler, superSchema, handlerArgumentsLength) { + return typeof handler === 'function' ? (...args) => handler(...args.slice(0, handlerArgumentsLength - 1), superSchema, ...args.slice(handlerArgumentsLength - 1)) : () => handler; +} + +var schema = /*#__PURE__*/Object.defineProperty({ + createSchema: createSchema_1, + Schema: Schema_1 +}, '__esModule', { + value: true +}); + +class AliasSchema extends schema.Schema { + constructor(parameters) { + super(parameters); + this._sourceName = parameters.sourceName; + } + + expected(utils) { + return utils.schemas[this._sourceName].expected(utils); + } + + validate(value, utils) { + return utils.schemas[this._sourceName].validate(value, utils); + } + + redirect(_value, _utils) { + return this._sourceName; + } + +} + +var AliasSchema_1 = AliasSchema; +var alias = /*#__PURE__*/Object.defineProperty({ + AliasSchema: AliasSchema_1 +}, '__esModule', { + value: true +}); + +class AnySchema extends schema.Schema { + expected() { + return 'anything'; + } + + validate() { + return true; + } + +} + +var AnySchema_1 = AnySchema; +var any = /*#__PURE__*/Object.defineProperty({ + AnySchema: AnySchema_1 +}, '__esModule', { + value: true +}); + +class ArraySchema extends schema.Schema { + constructor(_a) { + var { + valueSchema, + name = valueSchema.name + } = _a, + handlers = tslib_es6.__rest(_a, ["valueSchema", "name"]); + + super(Object.assign({}, handlers, { + name + })); + this._valueSchema = valueSchema; + } + + expected(utils) { + return `an array of ${this._valueSchema.expected(utils)}`; + } + + validate(value, utils) { + if (!Array.isArray(value)) { + return false; + } + + const invalidValues = []; + + for (const subValue of value) { + const subValidateResult = utils.normalizeValidateResult(this._valueSchema.validate(subValue, utils), subValue); + + if (subValidateResult !== true) { + invalidValues.push(subValidateResult.value); + } + } + + return invalidValues.length === 0 ? true : { + value: invalidValues + }; + } + + deprecated(value, utils) { + const deprecatedResult = []; + + for (const subValue of value) { + const subDeprecatedResult = utils.normalizeDeprecatedResult(this._valueSchema.deprecated(subValue, utils), subValue); + + if (subDeprecatedResult !== false) { + deprecatedResult.push(...subDeprecatedResult.map(({ + value: deprecatedValue + }) => ({ + value: [deprecatedValue] + }))); + } + } + + return deprecatedResult; + } + + forward(value, utils) { + const forwardResult = []; + + for (const subValue of value) { + const subForwardResult = utils.normalizeForwardResult(this._valueSchema.forward(subValue, utils), subValue); + forwardResult.push(...subForwardResult.map(wrapTransferResult)); + } + + return forwardResult; + } + + redirect(value, utils) { + const remain = []; + const redirect = []; + + for (const subValue of value) { + const subRedirectResult = utils.normalizeRedirectResult(this._valueSchema.redirect(subValue, utils), subValue); + + if ('remain' in subRedirectResult) { + remain.push(subRedirectResult.remain); + } + + redirect.push(...subRedirectResult.redirect.map(wrapTransferResult)); + } + + return remain.length === 0 ? { + redirect + } : { + redirect, + remain + }; + } + + overlap(currentValue, newValue) { + return currentValue.concat(newValue); + } + +} + +var ArraySchema_1 = ArraySchema; + +function wrapTransferResult({ + from, + to +}) { + return { + from: [from], + to + }; +} + +var array$3 = /*#__PURE__*/Object.defineProperty({ + ArraySchema: ArraySchema_1 +}, '__esModule', { + value: true +}); + +class BooleanSchema extends schema.Schema { + expected() { + return 'true or false'; + } + + validate(value) { + return typeof value === 'boolean'; + } + +} + +var BooleanSchema_1 = BooleanSchema; +var boolean = /*#__PURE__*/Object.defineProperty({ + BooleanSchema: BooleanSchema_1 +}, '__esModule', { + value: true +}); + +function recordFromArray(array, mainKey) { + const record = Object.create(null); + + for (const value of array) { + const key = value[mainKey]; // istanbul ignore next + + if (record[key]) { + throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); + } // @ts-ignore + + + record[key] = value; + } + + return record; +} + +var recordFromArray_1 = recordFromArray; + +function mapFromArray(array, mainKey) { + const map = new Map(); + + for (const value of array) { + const key = value[mainKey]; // istanbul ignore next + + if (map.has(key)) { + throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); + } + + map.set(key, value); + } + + return map; +} + +var mapFromArray_1 = mapFromArray; + +function createAutoChecklist() { + const map = Object.create(null); + return id => { + const idString = JSON.stringify(id); + + if (map[idString]) { + return true; + } + + map[idString] = true; + return false; + }; +} + +var createAutoChecklist_1 = createAutoChecklist; + +function partition$1(array, predicate) { + const trueArray = []; + const falseArray = []; + + for (const value of array) { + if (predicate(value)) { + trueArray.push(value); + } else { + falseArray.push(value); + } + } + + return [trueArray, falseArray]; +} + +var partition_1$1 = partition$1; + +function isInt(value) { + return value === Math.floor(value); +} + +var isInt_1 = isInt; + +function comparePrimitive(a, b) { + if (a === b) { + return 0; + } + + const typeofA = typeof a; + const typeofB = typeof b; + const orders = ['undefined', 'object', 'boolean', 'number', 'string']; + + if (typeofA !== typeofB) { + return orders.indexOf(typeofA) - orders.indexOf(typeofB); + } + + if (typeofA !== 'string') { + return Number(a) - Number(b); + } + + return a.localeCompare(b); +} + +var comparePrimitive_1 = comparePrimitive; + +function normalizeDefaultResult(result) { + return result === undefined ? {} : result; +} + +var normalizeDefaultResult_1 = normalizeDefaultResult; + +function normalizeValidateResult(result, value) { + return result === true ? true : result === false ? { + value + } : result; +} + +var normalizeValidateResult_1 = normalizeValidateResult; + +function normalizeDeprecatedResult(result, value, doNotNormalizeTrue = false) { + return result === false ? false : result === true ? doNotNormalizeTrue ? true : [{ + value + }] : 'value' in result ? [result] : result.length === 0 ? false : result; +} + +var normalizeDeprecatedResult_1 = normalizeDeprecatedResult; + +function normalizeTransferResult(result, value) { + return typeof result === 'string' || 'key' in result ? { + from: value, + to: result + } : 'from' in result ? { + from: result.from, + to: result.to + } : { + from: value, + to: result.to + }; +} + +var normalizeTransferResult_1 = normalizeTransferResult; + +function normalizeForwardResult(result, value) { + return result === undefined ? [] : Array.isArray(result) ? result.map(transferResult => normalizeTransferResult(transferResult, value)) : [normalizeTransferResult(result, value)]; +} + +var normalizeForwardResult_1 = normalizeForwardResult; + +function normalizeRedirectResult(result, value) { + const redirect = normalizeForwardResult(typeof result === 'object' && 'redirect' in result ? result.redirect : result, value); + return redirect.length === 0 ? { + remain: value, + redirect + } : typeof result === 'object' && 'remain' in result ? { + remain: result.remain, + redirect + } : { + redirect + }; +} + +var normalizeRedirectResult_1 = normalizeRedirectResult; +var utils$b = /*#__PURE__*/Object.defineProperty({ + recordFromArray: recordFromArray_1, + mapFromArray: mapFromArray_1, + createAutoChecklist: createAutoChecklist_1, + partition: partition_1$1, + isInt: isInt_1, + comparePrimitive: comparePrimitive_1, + normalizeDefaultResult: normalizeDefaultResult_1, + normalizeValidateResult: normalizeValidateResult_1, + normalizeDeprecatedResult: normalizeDeprecatedResult_1, + normalizeTransferResult: normalizeTransferResult_1, + normalizeForwardResult: normalizeForwardResult_1, + normalizeRedirectResult: normalizeRedirectResult_1 +}, '__esModule', { + value: true +}); + +class ChoiceSchema extends schema.Schema { + constructor(parameters) { + super(parameters); + this._choices = utils$b.mapFromArray(parameters.choices.map(choice => choice && typeof choice === 'object' ? choice : { + value: choice + }), 'value'); + } + + expected({ + descriptor + }) { + const choiceValues = Array.from(this._choices.keys()).map(value => this._choices.get(value)).filter(choiceInfo => !choiceInfo.deprecated).map(choiceInfo => choiceInfo.value).sort(utils$b.comparePrimitive).map(descriptor.value); + const head = choiceValues.slice(0, -2); + const tail = choiceValues.slice(-2); + return head.concat(tail.join(' or ')).join(', '); + } + + validate(value) { + return this._choices.has(value); + } + + deprecated(value) { + const choiceInfo = this._choices.get(value); + + return choiceInfo && choiceInfo.deprecated ? { + value + } : false; + } + + forward(value) { + const choiceInfo = this._choices.get(value); + + return choiceInfo ? choiceInfo.forward : undefined; + } + + redirect(value) { + const choiceInfo = this._choices.get(value); + + return choiceInfo ? choiceInfo.redirect : undefined; + } + +} + +var ChoiceSchema_1 = ChoiceSchema; +var choice = /*#__PURE__*/Object.defineProperty({ + ChoiceSchema: ChoiceSchema_1 +}, '__esModule', { + value: true +}); + +class NumberSchema extends schema.Schema { + expected() { + return 'a number'; + } + + validate(value, _utils) { + return typeof value === 'number'; + } + +} + +var NumberSchema_1 = NumberSchema; +var number = /*#__PURE__*/Object.defineProperty({ + NumberSchema: NumberSchema_1 +}, '__esModule', { + value: true +}); + +class IntegerSchema extends number.NumberSchema { + expected() { + return 'an integer'; + } + + validate(value, utils) { + return utils.normalizeValidateResult(super.validate(value, utils), value) === true && utils$b.isInt(value); + } + +} + +var IntegerSchema_1 = IntegerSchema; +var integer = /*#__PURE__*/Object.defineProperty({ + IntegerSchema: IntegerSchema_1 +}, '__esModule', { + value: true +}); + +class StringSchema extends schema.Schema { + expected() { + return 'a string'; + } + + validate(value) { + return typeof value === 'string'; + } + +} + +var StringSchema_1 = StringSchema; +var string$1 = /*#__PURE__*/Object.defineProperty({ + StringSchema: StringSchema_1 +}, '__esModule', { + value: true +}); + +var schemas = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(alias, exports); + + tslib_es6.__exportStar(any, exports); + + tslib_es6.__exportStar(array$3, exports); + + tslib_es6.__exportStar(boolean, exports); + + tslib_es6.__exportStar(choice, exports); + + tslib_es6.__exportStar(integer, exports); + + tslib_es6.__exportStar(number, exports); + + tslib_es6.__exportStar(string$1, exports); +}); + +var defaultDescriptor = api.apiDescriptor; +var defaultUnknownHandler = leven_1$1.levenUnknownHandler; +var defaultInvalidHandler = invalid.commonInvalidHandler; +var defaultDeprecatedHandler = common$3.commonDeprecatedHandler; +var defaults = /*#__PURE__*/Object.defineProperty({ + defaultDescriptor: defaultDescriptor, + defaultUnknownHandler: defaultUnknownHandler, + defaultInvalidHandler: defaultInvalidHandler, + defaultDeprecatedHandler: defaultDeprecatedHandler +}, '__esModule', { + value: true +}); + +var normalize_1 = (options, schemas, opts) => new Normalizer(schemas, opts).normalize(options); + +class Normalizer { + constructor(schemas, opts) { + // istanbul ignore next + const { + logger = console, + descriptor = defaults.defaultDescriptor, + unknown = defaults.defaultUnknownHandler, + invalid = defaults.defaultInvalidHandler, + deprecated = defaults.defaultDeprecatedHandler + } = opts || {}; + this._utils = { + descriptor, + logger: + /* istanbul ignore next */ + logger || { + warn: () => {} + }, + schemas: utils$b.recordFromArray(schemas, 'name'), + normalizeDefaultResult: utils$b.normalizeDefaultResult, + normalizeDeprecatedResult: utils$b.normalizeDeprecatedResult, + normalizeForwardResult: utils$b.normalizeForwardResult, + normalizeRedirectResult: utils$b.normalizeRedirectResult, + normalizeValidateResult: utils$b.normalizeValidateResult + }; + this._unknownHandler = unknown; + this._invalidHandler = invalid; + this._deprecatedHandler = deprecated; + this.cleanHistory(); + } + + cleanHistory() { + this._hasDeprecationWarned = utils$b.createAutoChecklist(); + } + + normalize(options) { + const normalized = {}; + const restOptionsArray = [options]; + + const applyNormalization = () => { + while (restOptionsArray.length !== 0) { + const currentOptions = restOptionsArray.shift(); + + const transferredOptionsArray = this._applyNormalization(currentOptions, normalized); + + restOptionsArray.push(...transferredOptionsArray); + } + }; + + applyNormalization(); + + for (const key of Object.keys(this._utils.schemas)) { + const schema = this._utils.schemas[key]; + + if (!(key in normalized)) { + const defaultResult = utils$b.normalizeDefaultResult(schema.default(this._utils)); + + if ('value' in defaultResult) { + restOptionsArray.push({ + [key]: defaultResult.value + }); + } + } + } + + applyNormalization(); + + for (const key of Object.keys(this._utils.schemas)) { + const schema = this._utils.schemas[key]; + + if (key in normalized) { + normalized[key] = schema.postprocess(normalized[key], this._utils); + } + } + + return normalized; + } + + _applyNormalization(options, normalized) { + const transferredOptionsArray = []; + const [knownOptionNames, unknownOptionNames] = utils$b.partition(Object.keys(options), key => key in this._utils.schemas); + + for (const key of knownOptionNames) { + const schema = this._utils.schemas[key]; + const value = schema.preprocess(options[key], this._utils); + const validateResult = utils$b.normalizeValidateResult(schema.validate(value, this._utils), value); + + if (validateResult !== true) { + const { + value: invalidValue + } = validateResult; + + const errorMessageOrError = this._invalidHandler(key, invalidValue, this._utils); + + throw typeof errorMessageOrError === 'string' ? new Error(errorMessageOrError) : + /* istanbul ignore next*/ + errorMessageOrError; + } + + const appendTransferredOptions = ({ + from, + to + }) => { + transferredOptionsArray.push(typeof to === 'string' ? { + [to]: from + } : { + [to.key]: to.value + }); + }; + + const warnDeprecated = ({ + value: currentValue, + redirectTo + }) => { + const deprecatedResult = utils$b.normalizeDeprecatedResult(schema.deprecated(currentValue, this._utils), value, + /* doNotNormalizeTrue */ + true); + + if (deprecatedResult === false) { + return; + } + + if (deprecatedResult === true) { + if (!this._hasDeprecationWarned(key)) { + this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils)); + } + } else { + for (const { + value: deprecatedValue + } of deprecatedResult) { + const pair = { + key, + value: deprecatedValue + }; + + if (!this._hasDeprecationWarned(pair)) { + const redirectToPair = typeof redirectTo === 'string' ? { + key: redirectTo, + value: deprecatedValue + } : redirectTo; + + this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils)); + } + } + } + }; + + const forwardResult = utils$b.normalizeForwardResult(schema.forward(value, this._utils), value); + forwardResult.forEach(appendTransferredOptions); + const redirectResult = utils$b.normalizeRedirectResult(schema.redirect(value, this._utils), value); + redirectResult.redirect.forEach(appendTransferredOptions); + + if ('remain' in redirectResult) { + const remainingValue = redirectResult.remain; + normalized[key] = key in normalized ? schema.overlap(normalized[key], remainingValue, this._utils) : remainingValue; + warnDeprecated({ + value: remainingValue + }); + } + + for (const { + from, + to + } of redirectResult.redirect) { + warnDeprecated({ + value: from, + redirectTo: to + }); + } + } + + for (const key of unknownOptionNames) { + const value = options[key]; + + const unknownResult = this._unknownHandler(key, value, this._utils); + + if (unknownResult) { + for (const unknownKey of Object.keys(unknownResult)) { + const unknownOption = { + [unknownKey]: unknownResult[unknownKey] + }; + + if (unknownKey in this._utils.schemas) { + transferredOptionsArray.push(unknownOption); + } else { + Object.assign(normalized, unknownOption); + } + } + } + } + + return transferredOptionsArray; + } + +} + +var Normalizer_1 = Normalizer; +var normalize$2 = /*#__PURE__*/Object.defineProperty({ + normalize: normalize_1, + Normalizer: Normalizer_1 +}, '__esModule', { + value: true +}); + +var lib$4 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + tslib_es6.__exportStar(descriptors, exports); + + tslib_es6.__exportStar(handlers, exports); + + tslib_es6.__exportStar(schemas, exports); + + tslib_es6.__exportStar(normalize$2, exports); + + tslib_es6.__exportStar(schema, exports); +}); + +const array$2 = []; +const charCodeCache = []; + +const leven = (left, right) => { + if (left === right) { + return 0; + } + + const swap = left; // Swapping the strings if `a` is longer than `b` so we know which one is the + // shortest & which one is the longest + + if (left.length > right.length) { + left = right; + right = swap; + } + + let leftLength = left.length; + let rightLength = right.length; // Performing suffix trimming: + // We can linearly drop suffix common to both strings since they + // don't increase distance at all + // Note: `~-` is the bitwise way to perform a `- 1` operation + + while (leftLength > 0 && left.charCodeAt(~-leftLength) === right.charCodeAt(~-rightLength)) { + leftLength--; + rightLength--; + } // Performing prefix trimming + // We can linearly drop prefix common to both strings since they + // don't increase distance at all + + + let start = 0; + + while (start < leftLength && left.charCodeAt(start) === right.charCodeAt(start)) { + start++; + } + + leftLength -= start; + rightLength -= start; + + if (leftLength === 0) { + return rightLength; + } + + let bCharCode; + let result; + let temp; + let temp2; + let i = 0; + let j = 0; + + while (i < leftLength) { + charCodeCache[i] = left.charCodeAt(start + i); + array$2[i] = ++i; + } + + while (j < rightLength) { + bCharCode = right.charCodeAt(start + j); + temp = j++; + result = j; + + for (i = 0; i < leftLength; i++) { + temp2 = bCharCode === charCodeCache[i] ? temp : temp + 1; + temp = array$2[i]; // eslint-disable-next-line no-multi-assign + + result = array$2[i] = temp > result ? temp2 > result ? result + 1 : temp2 : temp2 > temp ? temp + 1 : temp2; + } + } + + return result; +}; + +var leven_1 = leven; // TODO: Remove this for the next major release + +var _default$p = leven; +leven_1.default = _default$p; + +var colorName$1 = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +/* MIT license */ +/* eslint-disable no-mixed-operators */ +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +const reverseKeywords = {}; + +for (const key of Object.keys(colorName$1)) { + reverseKeywords[colorName$1[key]] = key; +} + +const convert$2 = { + rgb: { + channels: 3, + labels: 'rgb' + }, + hsl: { + channels: 3, + labels: 'hsl' + }, + hsv: { + channels: 3, + labels: 'hsv' + }, + hwb: { + channels: 3, + labels: 'hwb' + }, + cmyk: { + channels: 4, + labels: 'cmyk' + }, + xyz: { + channels: 3, + labels: 'xyz' + }, + lab: { + channels: 3, + labels: 'lab' + }, + lch: { + channels: 3, + labels: 'lch' + }, + hex: { + channels: 1, + labels: ['hex'] + }, + keyword: { + channels: 1, + labels: ['keyword'] + }, + ansi16: { + channels: 1, + labels: ['ansi16'] + }, + ansi256: { + channels: 1, + labels: ['ansi256'] + }, + hcg: { + channels: 3, + labels: ['h', 'c', 'g'] + }, + apple: { + channels: 3, + labels: ['r16', 'g16', 'b16'] + }, + gray: { + channels: 1, + labels: ['gray'] + } +}; +var conversions$1 = convert$2; // Hide .channels and .labels properties + +for (const model of Object.keys(convert$2)) { + if (!('channels' in convert$2[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert$2[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert$2[model].labels.length !== convert$2[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + const { + channels, + labels + } = convert$2[model]; + delete convert$2[model].channels; + delete convert$2[model].labels; + Object.defineProperty(convert$2[model], 'channels', { + value: channels + }); + Object.defineProperty(convert$2[model], 'labels', { + value: labels + }); +} + +convert$2.rgb.hsl = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + const l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert$2.rgb.hsv = function (rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + + const diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [h * 360, s * 100, v * 100]; +}; + +convert$2.rgb.hwb = function (rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert$2.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; +}; + +convert$2.rgb.cmyk = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; +}; + +function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ + return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; +} + +convert$2.rgb.keyword = function (rgb) { + const reversed = reverseKeywords[rgb]; + + if (reversed) { + return reversed; + } + + let currentClosestDistance = Infinity; + let currentClosestKeyword; + + for (const keyword of Object.keys(colorName$1)) { + const value = colorName$1[keyword]; // Compute comparative distance + + const distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest + + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + + return currentClosestKeyword; +}; + +convert$2.keyword.rgb = function (keyword) { + return colorName$1[keyword]; +}; + +convert$2.rgb.xyz = function (rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; // Assume sRGB + + r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92; + g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92; + b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92; + const x = r * 0.4124 + g * 0.3576 + b * 0.1805; + const y = r * 0.2126 + g * 0.7152 + b * 0.0722; + const z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; +}; + +convert$2.rgb.lab = function (rgb) { + const xyz = convert$2.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; + +convert$2.hsl.rgb = function (hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + const t1 = 2 * l - t2; + const rgb = [0, 0, 0]; + + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert$2.hsl.hsv = function (hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; +}; + +convert$2.hsv.rgb = function (hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - s * f); + const t = 255 * v * (1 - s * (1 - f)); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + + case 1: + return [q, v, p]; + + case 2: + return [p, v, t]; + + case 3: + return [p, q, v]; + + case 4: + return [t, p, v]; + + case 5: + return [v, p, q]; + } +}; + +convert$2.hsv.hsl = function (hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; +}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + + +convert$2.hwb.rgb = function (hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; // Wh + bl cant be > 1 + + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + const n = wh + f * (v - wh); // Linear interpolation + + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ + + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + + case 1: + r = n; + g = v; + b = wh; + break; + + case 2: + r = wh; + g = v; + b = n; + break; + + case 3: + r = wh; + g = n; + b = v; + break; + + case 4: + r = n; + g = wh; + b = v; + break; + + case 5: + r = v; + g = wh; + b = n; + break; + } + /* eslint-enable max-statements-per-line,no-multi-spaces */ + + + return [r * 255, g * 255, b * 255]; +}; + +convert$2.cmyk.rgb = function (cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; +}; + +convert$2.xyz.rgb = function (xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB + + r = r > 0.0031308 ? 1.055 * r ** (1.0 / 2.4) - 0.055 : r * 12.92; + g = g > 0.0031308 ? 1.055 * g ** (1.0 / 2.4) - 0.055 : g * 12.92; + b = b > 0.0031308 ? 1.055 * b ** (1.0 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; +}; + +convert$2.xyz.lab = function (xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; + +convert$2.lab.xyz = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; +}; + +convert$2.lab.lch = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + const c = Math.sqrt(a * a + b * b); + return [l, c, h]; +}; + +convert$2.lch.lab = function (lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + return [l, a, b]; +}; + +convert$2.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert$2.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert$2.hsv.ansi16 = function (args) { + // Optimization here; we already know the value and don't need to get + // it converted for us. + return convert$2.rgb.ansi16(convert$2.hsv.rgb(args), args[2]); +}; + +convert$2.rgb.ansi256 = function (args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; // We use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round((r - 8) / 247 * 24) + 232; + } + + const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; +}; + +convert$2.ansi16.rgb = function (args) { + let color = args % 10; // Handle greyscale + + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + return [color, color, color]; + } + + const mult = (~~(args > 50) + 1) * 0.5; + const r = (color & 1) * mult * 255; + const g = (color >> 1 & 1) * mult * 255; + const b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; +}; + +convert$2.ansi256.rgb = function (args) { + // Handle greyscale + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = rem % 6 / 5 * 255; + return [r, g, b]; +}; + +convert$2.rgb.hex = function (args) { + const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert$2.hex.rgb = function (args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + + if (!match) { + return [0, 0, 0]; + } + + let colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(char => { + return char + char; + }).join(''); + } + + const integer = parseInt(colorString, 16); + const r = integer >> 16 & 0xFF; + const g = integer >> 8 & 0xFF; + const b = integer & 0xFF; + return [r, g, b]; +}; + +convert$2.rgb.hcg = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = max - min; + let grayscale; + let hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } + + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert$2.hsl.hcg = function (hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; + const c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l); + let f = 0; + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert$2.hsv.hcg = function (hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const c = s * v; + let f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert$2.hcg.rgb = function (hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + const pure = [0, 0, 0]; + const hi = h % 1 * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + /* eslint-disable max-statements-per-line */ + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + /* eslint-enable max-statements-per-line */ + + + mg = (1.0 - c) * g; + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; +}; + +convert$2.hcg.hsv = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + let f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert$2.hcg.hsl = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert$2.hcg.hwb = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert$2.hwb.hcg = function (hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert$2.apple.rgb = function (apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; +}; + +convert$2.rgb.apple = function (rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; +}; + +convert$2.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert$2.gray.hsl = function (args) { + return [0, 0, args[0]]; +}; + +convert$2.gray.hsv = convert$2.gray.hsl; + +convert$2.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert$2.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert$2.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert$2.gray.hex = function (gray) { + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert$2.rgb.gray = function (rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; + +/* + This function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph$1() { + const graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + + const models = Object.keys(conversions$1); + + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} // https://en.wikipedia.org/wiki/Breadth-first_search + + +function deriveBFS$1(fromModel) { + const graph = buildGraph$1(); + const queue = [fromModel]; // Unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions$1[current]); + + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link$2(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion$1(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions$1[graph[toModel].parent][toModel]; + let cur = graph[toModel].parent; + + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link$2(conversions$1[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +var route$1 = function (fromModel) { + const graph = deriveBFS$1(fromModel); + const conversion = {}; + const models = Object.keys(graph); + + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; + + if (node.parent === null) { + // No possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion$1(toModel, graph); + } + + return conversion; +}; + +const convert$1 = {}; +const models$1 = Object.keys(conversions$1); + +function wrapRaw$1(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + return fn(args); + }; // Preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded$1(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + const result = fn(args); // We're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + + if (typeof result === 'object') { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; // Preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models$1.forEach(fromModel => { + convert$1[fromModel] = {}; + Object.defineProperty(convert$1[fromModel], 'channels', { + value: conversions$1[fromModel].channels + }); + Object.defineProperty(convert$1[fromModel], 'labels', { + value: conversions$1[fromModel].labels + }); + const routes = route$1(fromModel); + const routeModels = Object.keys(routes); + routeModels.forEach(toModel => { + const fn = routes[toModel]; + convert$1[fromModel][toModel] = wrapRounded$1(fn); + convert$1[fromModel][toModel].raw = wrapRaw$1(fn); + }); +}); +var colorConvert$1 = convert$1; + +var ansiStyles$1 = createCommonjsModule(function (module) { + + const wrapAnsi16 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${code + offset}m`; + }; + + const wrapAnsi256 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${38 + offset};5;${code}m`; + }; + + const wrapAnsi16m = (fn, offset) => (...args) => { + const rgb = fn(...args); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + + const ansi2ansi = n => n; + + const rgb2rgb = (r, g, b) => [r, g, b]; + + const setLazyProperty = (object, property, get) => { + Object.defineProperty(object, property, { + get: () => { + const value = get(); + Object.defineProperty(object, property, { + value, + enumerable: true, + configurable: true + }); + return value; + }, + enumerable: true, + configurable: true + }); + }; + /** @type {typeof import('color-convert')} */ + + + let colorConvert; + + const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { + if (colorConvert === undefined) { + colorConvert = colorConvert$1; + } + + const offset = isBackground ? 10 : 0; + const styles = {}; + + for (const [sourceSpace, suite] of Object.entries(colorConvert)) { + const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; + + if (sourceSpace === targetSpace) { + styles[name] = wrap(identity, offset); + } else if (typeof suite === 'object') { + styles[name] = wrap(suite[targetSpace], offset); + } + } + + return styles; + }; + + function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + // Bright color + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; // Alias bright black as gray (and grey) + + styles.color.gray = styles.color.blackBright; + styles.bgColor.bgGray = styles.bgColor.bgBlackBright; + styles.color.grey = styles.color.blackBright; + styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; + + for (const [groupName, group] of Object.entries(styles)) { + for (const [styleName, style] of Object.entries(group)) { + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + } + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); + setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); + return styles; + } // Make the export immutable + + + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); +}); + +var hasFlag$1 = (flag, argv = process.argv) => { + const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +}; + +const { + env: env$1 +} = process; +let forceColor$1; + +if (hasFlag$1('no-color') || hasFlag$1('no-colors') || hasFlag$1('color=false') || hasFlag$1('color=never')) { + forceColor$1 = 0; +} else if (hasFlag$1('color') || hasFlag$1('colors') || hasFlag$1('color=true') || hasFlag$1('color=always')) { + forceColor$1 = 1; +} + +if ('FORCE_COLOR' in env$1) { + if (env$1.FORCE_COLOR === 'true') { + forceColor$1 = 1; + } else if (env$1.FORCE_COLOR === 'false') { + forceColor$1 = 0; + } else { + forceColor$1 = env$1.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env$1.FORCE_COLOR, 10), 3); + } +} + +function translateLevel$1(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor$1(haveStream, streamIsTTY) { + if (forceColor$1 === 0) { + return 0; + } + + if (hasFlag$1('color=16m') || hasFlag$1('color=full') || hasFlag$1('color=truecolor')) { + return 3; + } + + if (hasFlag$1('color=256')) { + return 2; + } + + if (haveStream && !streamIsTTY && forceColor$1 === undefined) { + return 0; + } + + const min = forceColor$1 || 0; + + if (env$1.TERM === 'dumb') { + return min; + } + + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os__default['default'].release().split('.'); + + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env$1) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env$1) || env$1.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env$1) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$1.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env$1.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env$1) { + const version = parseInt((env$1.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env$1.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env$1.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$1.TERM)) { + return 1; + } + + if ('COLORTERM' in env$1) { + return 1; + } + + return min; +} + +function getSupportLevel$1(stream) { + const level = supportsColor$1(stream, stream && stream.isTTY); + return translateLevel$1(level); +} + +var supportsColor_1$1 = { + supportsColor: getSupportLevel$1, + stdout: translateLevel$1(supportsColor$1(true, tty__default['default'].isatty(1))), + stderr: translateLevel$1(supportsColor$1(true, tty__default['default'].isatty(2))) +}; + +const stringReplaceAll$1 = (string, substring, replacer) => { + let index = string.indexOf(substring); + + if (index === -1) { + return string; + } + + const substringLength = substring.length; + let endIndex = 0; + let returnValue = ''; + + do { + returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; + endIndex = index + substringLength; + index = string.indexOf(substring, endIndex); + } while (index !== -1); + + returnValue += string.substr(endIndex); + return returnValue; +}; + +const stringEncaseCRLFWithFirstIndex$1 = (string, prefix, postfix, index) => { + let endIndex = 0; + let returnValue = ''; + + do { + const gotCR = string[index - 1] === '\r'; + returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; + endIndex = index + 1; + index = string.indexOf('\n', endIndex); + } while (index !== -1); + + returnValue += string.substr(endIndex); + return returnValue; +}; + +var util$4 = { + stringReplaceAll: stringReplaceAll$1, + stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 +}; + +const TEMPLATE_REGEX$1 = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +const STYLE_REGEX$1 = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +const STRING_REGEX$2 = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const ESCAPE_REGEX$1 = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; +const ESCAPES$1 = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); + +function unescape$1(c) { + const u = c[0] === 'u'; + const bracket = c[1] === '{'; + + if (u && !bracket && c.length === 5 || c[0] === 'x' && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + if (u && bracket) { + return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); + } + + return ESCAPES$1.get(c) || c; +} + +function parseArguments$1(name, arguments_) { + const results = []; + const chunks = arguments_.trim().split(/\s*,\s*/g); + let matches; + + for (const chunk of chunks) { + const number = Number(chunk); + + if (!Number.isNaN(number)) { + results.push(number); + } else if (matches = chunk.match(STRING_REGEX$2)) { + results.push(matches[2].replace(ESCAPE_REGEX$1, (m, escape, character) => escape ? unescape$1(escape) : character)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + + return results; +} + +function parseStyle$1(style) { + STYLE_REGEX$1.lastIndex = 0; + const results = []; + let matches; + + while ((matches = STYLE_REGEX$1.exec(style)) !== null) { + const name = matches[1]; + + if (matches[2]) { + const args = parseArguments$1(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; +} + +function buildStyle$1(chalk, styles) { + const enabled = {}; + + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + + let current = chalk; + + for (const [styleName, styles] of Object.entries(enabled)) { + if (!Array.isArray(styles)) { + continue; + } + + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + + current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; + } + + return current; +} + +var templates$1 = (chalk, temporary) => { + const styles = []; + const chunks = []; + let chunk = []; // eslint-disable-next-line max-params + + temporary.replace(TEMPLATE_REGEX$1, (m, escapeCharacter, inverse, style, close, character) => { + if (escapeCharacter) { + chunk.push(unescape$1(escapeCharacter)); + } else if (style) { + const string = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? string : buildStyle$1(chalk, styles)(string)); + styles.push({ + inverse, + styles: parseStyle$1(style) + }); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle$1(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(character); + } + }); + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMessage); + } + + return chunks.join(''); +}; + +const { + stdout: stdoutColor, + stderr: stderrColor +} = supportsColor_1$1; +const { + stringReplaceAll, + stringEncaseCRLFWithFirstIndex +} = util$4; +const { + isArray: isArray$2 +} = Array; // `supportsColor.level` → `ansiStyles.color[name]` mapping + +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; +const styles = Object.create(null); + +const applyOptions = (object, options = {}) => { + if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { + throw new Error('The `level` option should be an integer from 0 to 3'); + } // Detect level if not set manually + + + const colorLevel = stdoutColor ? stdoutColor.level : 0; + object.level = options.level === undefined ? colorLevel : options.level; +}; + +class ChalkClass { + constructor(options) { + // eslint-disable-next-line no-constructor-return + return chalkFactory(options); + } + +} + +const chalkFactory = options => { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = () => { + throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); + }; + + chalk.template.Instance = ChalkClass; + return chalk.template; +}; + +function Chalk(options) { + return chalkFactory(options); +} + +for (const [styleName, style] of Object.entries(ansiStyles$1)) { + styles[styleName] = { + get() { + const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); + Object.defineProperty(this, styleName, { + value: builder + }); + return builder; + } + + }; +} + +styles.visible = { + get() { + const builder = createBuilder(this, this._styler, true); + Object.defineProperty(this, 'visible', { + value: builder + }); + return builder; + } + +}; +const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; + +for (const model of usedModels) { + styles[model] = { + get() { + const { + level + } = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles$1.color[levelMapping[level]][model](...arguments_), ansiStyles$1.color.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + + }; +} + +for (const model of usedModels) { + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const { + level + } = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles$1.bgColor[levelMapping[level]][model](...arguments_), ansiStyles$1.bgColor.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + + }; +} + +const proto = Object.defineProperties(() => {}, Object.assign(Object.assign({}, styles), {}, { + level: { + enumerable: true, + + get() { + return this._generator.level; + }, + + set(level) { + this._generator.level = level; + } + + } +})); + +const createStyler = (open, close, parent) => { + let openAll; + let closeAll; + + if (parent === undefined) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } + + return { + open, + close, + openAll, + closeAll, + parent + }; +}; + +const createBuilder = (self, _styler, _isEmpty) => { + const builder = (...arguments_) => { + if (isArray$2(arguments_[0]) && isArray$2(arguments_[0].raw)) { + // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` + return applyStyle(builder, chalkTag(builder, ...arguments_)); + } // Single argument is hot path, implicit coercion is faster than anything + // eslint-disable-next-line no-implicit-coercion + + + return applyStyle(builder, arguments_.length === 1 ? '' + arguments_[0] : arguments_.join(' ')); + }; // We alter the prototype because we must return a function, but there is + // no way to create a function with a different prototype + + + Object.setPrototypeOf(builder, proto); + builder._generator = self; + builder._styler = _styler; + builder._isEmpty = _isEmpty; + return builder; +}; + +const applyStyle = (self, string) => { + if (self.level <= 0 || !string) { + return self._isEmpty ? '' : string; + } + + let styler = self._styler; + + if (styler === undefined) { + return string; + } + + const { + openAll, + closeAll + } = styler; + + if (string.indexOf('\u001B') !== -1) { + while (styler !== undefined) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + string = stringReplaceAll(string, styler.close, styler.open); + styler = styler.parent; + } + } // We can move both next actions out of loop, because remaining actions in loop won't have + // any/visible effect on parts we add here. Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 + + + const lfIndex = string.indexOf('\n'); + + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); + } + + return openAll + string + closeAll; +}; + +let template; + +const chalkTag = (chalk, ...strings) => { + const [firstString] = strings; + + if (!isArray$2(firstString) || !isArray$2(firstString.raw)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return strings.join(' '); + } + + const arguments_ = strings.slice(1); + const parts = [firstString.raw[0]]; + + for (let i = 1; i < firstString.length; i++) { + parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), String(firstString.raw[i])); + } + + if (template === undefined) { + template = templates$1; + } + + return template(chalk, parts.join('')); +}; + +Object.defineProperties(Chalk.prototype, styles); +const chalk$1 = Chalk(); // eslint-disable-line new-cap + +chalk$1.supportsColor = stdoutColor; +chalk$1.stderr = Chalk({ + level: stderrColor ? stderrColor.level : 0 +}); // eslint-disable-line new-cap + +chalk$1.stderr.supportsColor = stderrColor; +var source$2 = chalk$1; + +const _excluded$2 = ["_"]; + +const cliDescriptor = { + key: key => key.length === 1 ? `-${key}` : `--${key}`, + value: value => lib$4.apiDescriptor.value(value), + pair: ({ + key, + value + }) => value === false ? `--no-${key}` : value === true ? cliDescriptor.key(key) : value === "" ? `${cliDescriptor.key(key)} without an argument` : `${cliDescriptor.key(key)}=${value}` +}; + +class FlagSchema extends lib$4.ChoiceSchema { + constructor({ + name, + flags + }) { + super({ + name, + choices: flags + }); + this._flags = [...flags].sort(); + } + + preprocess(value, utils) { + if (typeof value === "string" && value.length > 0 && !this._flags.includes(value)) { + const suggestion = this._flags.find(flag => leven_1(flag, value) < 3); + + if (suggestion) { + utils.logger.warn([`Unknown flag ${source$2.yellow(utils.descriptor.value(value))},`, `did you mean ${source$2.blue(utils.descriptor.value(suggestion))}?`].join(" ")); + return suggestion; + } + } + + return value; + } + + expected() { + return "a flag"; + } + +} + +let hasDeprecationWarned; + +function normalizeOptions$3(options, optionInfos, { + logger, + isCLI = false, + passThrough = false +} = {}) { + const unknown = !passThrough ? (key, value, options) => { + // Don't suggest `_` for unknown flags + const _options$schemas = options.schemas, + schemas = _objectWithoutProperties(_options$schemas, _excluded$2); + + return lib$4.levenUnknownHandler(key, value, Object.assign(Object.assign({}, options), {}, { + schemas + })); + } : Array.isArray(passThrough) ? (key, value) => !passThrough.includes(key) ? undefined : { + [key]: value + } : (key, value) => ({ + [key]: value + }); + const descriptor = isCLI ? cliDescriptor : lib$4.apiDescriptor; + const schemas = optionInfosToSchemas(optionInfos, { + isCLI + }); + const normalizer = new lib$4.Normalizer(schemas, { + logger, + unknown, + descriptor + }); + const shouldSuppressDuplicateDeprecationWarnings = logger !== false; + + if (shouldSuppressDuplicateDeprecationWarnings && hasDeprecationWarned) { + normalizer._hasDeprecationWarned = hasDeprecationWarned; + } + + const normalized = normalizer.normalize(options); + + if (shouldSuppressDuplicateDeprecationWarnings) { + hasDeprecationWarned = normalizer._hasDeprecationWarned; + } + + return normalized; +} + +function optionInfosToSchemas(optionInfos, { + isCLI +}) { + const schemas = []; + + if (isCLI) { + schemas.push(lib$4.AnySchema.create({ + name: "_" + })); + } + + for (const optionInfo of optionInfos) { + schemas.push(optionInfoToSchema(optionInfo, { + isCLI, + optionInfos + })); + + if (optionInfo.alias && isCLI) { + schemas.push(lib$4.AliasSchema.create({ + name: optionInfo.alias, + sourceName: optionInfo.name + })); + } + } + + return schemas; +} + +function optionInfoToSchema(optionInfo, { + isCLI, + optionInfos +}) { + let SchemaConstructor; + const parameters = { + name: optionInfo.name + }; + const handlers = {}; + + switch (optionInfo.type) { + case "int": + SchemaConstructor = lib$4.IntegerSchema; + + if (isCLI) { + parameters.preprocess = value => Number(value); + } + + break; + + case "string": + SchemaConstructor = lib$4.StringSchema; + break; + + case "choice": + SchemaConstructor = lib$4.ChoiceSchema; + parameters.choices = optionInfo.choices.map(choiceInfo => typeof choiceInfo === "object" && choiceInfo.redirect ? Object.assign(Object.assign({}, choiceInfo), {}, { + redirect: { + to: { + key: optionInfo.name, + value: choiceInfo.redirect + } + } + }) : choiceInfo); + break; + + case "boolean": + SchemaConstructor = lib$4.BooleanSchema; + break; + + case "flag": + SchemaConstructor = FlagSchema; + parameters.flags = optionInfos.flatMap(optionInfo => [optionInfo.alias, optionInfo.description && optionInfo.name, optionInfo.oppositeDescription && `no-${optionInfo.name}`].filter(Boolean)); + break; + + case "path": + SchemaConstructor = lib$4.StringSchema; + break; + + default: + /* istanbul ignore next */ + throw new Error(`Unexpected type ${optionInfo.type}`); + } + + if (optionInfo.exception) { + parameters.validate = (value, schema, utils) => optionInfo.exception(value) || schema.validate(value, utils); + } else { + parameters.validate = (value, schema, utils) => value === undefined || schema.validate(value, utils); + } + /* istanbul ignore next */ + + + if (optionInfo.redirect) { + handlers.redirect = value => !value ? undefined : { + to: { + key: optionInfo.redirect.option, + value: optionInfo.redirect.value + } + }; + } + /* istanbul ignore next */ + + + if (optionInfo.deprecated) { + handlers.deprecated = true; + } // allow CLI overriding, e.g., prettier package.json --tab-width 1 --tab-width 2 + + + if (isCLI && !optionInfo.array) { + const originalPreprocess = parameters.preprocess || (x => x); + + parameters.preprocess = (value, schema, utils) => schema.preprocess(originalPreprocess(Array.isArray(value) ? getLast_1(value) : value), utils); + } + + return optionInfo.array ? lib$4.ArraySchema.create(Object.assign(Object.assign(Object.assign({}, isCLI ? { + preprocess: v => Array.isArray(v) ? v : [v] + } : {}), handlers), {}, { + valueSchema: SchemaConstructor.create(parameters) + })) : SchemaConstructor.create(Object.assign(Object.assign({}, parameters), handlers)); +} + +function normalizeApiOptions(options, optionInfos, opts) { + return normalizeOptions$3(options, optionInfos, opts); +} + +function normalizeCliOptions(options, optionInfos, opts) { + return normalizeOptions$3(options, optionInfos, Object.assign({ + isCLI: true + }, opts)); +} + +var optionsNormalizer = { + normalizeApiOptions, + normalizeCliOptions +}; + +const { + isNonEmptyArray: isNonEmptyArray$i +} = util$5; +/** + * @typedef {import("./types/estree").Node} Node + */ + +function locStart$q(node, opts) { + const { + ignoreDecorators + } = opts || {}; // Handle nodes with decorators. They should start at the first decorator + + if (!ignoreDecorators) { + const decorators = node.declaration && node.declaration.decorators || node.decorators; + + if (isNonEmptyArray$i(decorators)) { + return locStart$q(decorators[0]); + } + } + + return node.range ? node.range[0] : node.start; +} + +function locEnd$p(node) { + return node.range ? node.range[1] : node.end; +} +/** + * @param {Node} nodeA + * @param {Node} nodeB + * @returns {boolean} + */ + + +function hasSameLocStart$1(nodeA, nodeB) { + return locStart$q(nodeA) === locStart$q(nodeB); +} +/** + * @param {Node} nodeA + * @param {Node} nodeB + * @returns {boolean} + */ + + +function hasSameLocEnd(nodeA, nodeB) { + return locEnd$p(nodeA) === locEnd$p(nodeB); +} +/** + * @param {Node} nodeA + * @param {Node} nodeB + * @returns {boolean} + */ + + +function hasSameLoc$1(nodeA, nodeB) { + return hasSameLocStart$1(nodeA, nodeB) && hasSameLocEnd(nodeA, nodeB); +} + +var loc$6 = { + locStart: locStart$q, + locEnd: locEnd$p, + hasSameLocStart: hasSameLocStart$1, + hasSameLoc: hasSameLoc$1 +}; + +// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell +// License: MIT. (See LICENSE.) +// This regex comes from regex.coffee, and is inserted here by generate-index.js +// (run `npm run build`). +var _default$o = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + +var matchToToken = function (match) { + var token = { + type: "invalid", + value: match[0], + closed: undefined + }; + if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace"; + return token; +}; + +var jsTokens = /*#__PURE__*/Object.defineProperty({ + default: _default$o, + matchToToken: matchToToken +}, '__esModule', { + value: true +}); + +var isIdentifierStart_1 = isIdentifierStart; +var isIdentifierChar_1 = isIdentifierChar; +var isIdentifierName_1 = isIdentifierName$1; +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + +function isInAstralSet(code, set) { + let pos = 0x10000; + + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} + +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +function isIdentifierName$1(name) { + let isFirst = true; + + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + + if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + if (isFirst) { + isFirst = false; + + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + + return !isFirst; +} + +var identifier = /*#__PURE__*/Object.defineProperty({ + isIdentifierStart: isIdentifierStart_1, + isIdentifierChar: isIdentifierChar_1, + isIdentifierName: isIdentifierName_1 +}, '__esModule', { + value: true +}); + +var isReservedWord_1 = isReservedWord; +var isStrictReservedWord_1 = isStrictReservedWord; +var isStrictBindOnlyReservedWord_1 = isStrictBindOnlyReservedWord; +var isStrictBindReservedWord_1 = isStrictBindReservedWord; +var isKeyword_1 = isKeyword; +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords$1 = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} + +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} + +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} + +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} + +function isKeyword(word) { + return keywords$1.has(word); +} + +var keyword$1 = /*#__PURE__*/Object.defineProperty({ + isReservedWord: isReservedWord_1, + isStrictReservedWord: isStrictReservedWord_1, + isStrictBindOnlyReservedWord: isStrictBindOnlyReservedWord_1, + isStrictBindReservedWord: isStrictBindReservedWord_1, + isKeyword: isKeyword_1 +}, '__esModule', { + value: true +}); + var lib$3 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.shouldHighlight = shouldHighlight; - exports.getChalk = getChalk; - exports.default = highlight; + Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function () { + return identifier.isIdentifierName; + } + }); + Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function () { + return identifier.isIdentifierChar; + } + }); + Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function () { + return identifier.isIdentifierStart; + } + }); + Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function () { + return keyword$1.isReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function () { + return keyword$1.isStrictBindOnlyReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function () { + return keyword$1.isStrictBindReservedWord; + } + }); + Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function () { + return keyword$1.isStrictReservedWord; + } + }); + Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function () { + return keyword$1.isKeyword; + } + }); +}); - var _jsTokens = _interopRequireWildcard(jsTokens); +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - var _chalk = _interopRequireDefault(chalk$2); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; +var escapeStringRegexp = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); } - function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); + return str.replace(matchOperatorsRe, '\\$&'); +}; - _getRequireWildcardCache = function () { - return cache; - }; +var colorName = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; - return cache; +/* MIT license */ +var conversions = createCommonjsModule(function (module) { + // NOTE: conversions should only return primitive values (i.e. arrays, or + // values that give correct `typeof` results). + // do not use box values types (i.e. Number(), String(), etc.) + var reverseKeywords = {}; + + for (var key in colorName) { + if (colorName.hasOwnProperty(key)) { + reverseKeywords[colorName[key]] = key; + } } - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; + var convert = module.exports = { + rgb: { + channels: 3, + labels: 'rgb' + }, + hsl: { + channels: 3, + labels: 'hsl' + }, + hsv: { + channels: 3, + labels: 'hsv' + }, + hwb: { + channels: 3, + labels: 'hwb' + }, + cmyk: { + channels: 4, + labels: 'cmyk' + }, + xyz: { + channels: 3, + labels: 'xyz' + }, + lab: { + channels: 3, + labels: 'lab' + }, + lch: { + channels: 3, + labels: 'lch' + }, + hex: { + channels: 1, + labels: ['hex'] + }, + keyword: { + channels: 1, + labels: ['keyword'] + }, + ansi16: { + channels: 1, + labels: ['ansi16'] + }, + ansi256: { + channels: 1, + labels: ['ansi256'] + }, + hcg: { + channels: 3, + labels: ['h', 'c', 'g'] + }, + apple: { + channels: 3, + labels: ['r16', 'g16', 'b16'] + }, + gray: { + channels: 1, + labels: ['gray'] + } + }; // hide .channels and .labels properties + + for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', { + value: channels + }); + Object.defineProperty(convert[model], 'labels', { + value: labels + }); + } + } + + convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; } - if (obj === null || typeof obj !== "object" && typeof obj !== "function") { - return { - default: obj - }; + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; } - var cache = _getRequireWildcardCache(); + l = (min + max) / 2; - if (cache && cache.has(obj)) { - return cache.get(obj); + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); } - var newObj = {}; - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + return [h, s * 100, l * 100]; + }; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [h * 360, s * 100, v * 100]; + }; + + convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; + }; + + convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; + }; + /** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ + + + function comparativeDistance(x, y) { + return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); + } + + convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in colorName) { + if (colorName.hasOwnProperty(keyword)) { + var value = colorName[keyword]; // Compute comparative distance + + var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest + + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; } } } - newObj.default = obj; + return currentClosestKeyword; + }; - if (cache) { - cache.set(obj, newObj); + convert.keyword.rgb = function (keyword) { + return colorName[keyword]; + }; + + convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; // assume sRGB + + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + var x = r * 0.4124 + g * 0.3576 + b * 0.1805; + var y = r * 0.2126 + g * 0.7152 + b * 0.0722; + var z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; + }; + + convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + + convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; } - return newObj; - } + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } - function getDefs(chalk) { - return { - keyword: chalk.cyan, - capitalized: chalk.yellow, - jsx_tag: chalk.yellow, - punctuator: chalk.yellow, - number: chalk.magenta, - string: chalk.green, - regex: chalk.magenta, - comment: chalk.grey, - invalid: chalk.white.bgRed.bold + t1 = 2 * l - t2; + rgb = [0, 0, 0]; + + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; + }; + + convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; + }; + + convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - s * f); + var t = 255 * v * (1 - s * (1 - f)); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + + case 1: + return [q, v, p]; + + case 2: + return [p, v, t]; + + case 3: + return [p, q, v]; + + case 4: + return [t, p, v]; + + case 5: + return [v, p, q]; + } + }; + + convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; + }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + + + convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; // wh + bl cant be > 1 + + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + + case 1: + r = n; + g = v; + b = wh; + break; + + case 2: + r = wh; + g = v; + b = n; + break; + + case 3: + r = wh; + g = n; + b = v; + break; + + case 4: + r = n; + g = wh; + b = v; + break; + + case 5: + r = v; + g = wh; + b = n; + break; + } + + return [r * 255, g * 255, b * 255]; + }; + + convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB + + r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; + g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; + b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + + convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; + }; + + convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + return [l, c, h]; + }; + + convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + return [l, a, b]; + }; + + convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; + }; + + convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + + convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round((r - 8) / 247 * 24) + 232; + } + + var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; + }; + + convert.ansi16.rgb = function (args) { + var color = args % 10; // handle greyscale + + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = (color & 1) * mult * 255; + var g = (color >> 1 & 1) * mult * 255; + var b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; + }; + + convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = rem % 6 / 5 * 255; + return [r, g, b]; + }; + + convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = integer >> 16 & 0xFF; + var g = integer >> 8 & 0xFF; + var b = integer & 0xFF; + return [r, g, b]; + }; + + convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = max - min; + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; + }; + + convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; + }; + + convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; + }; + + convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = h % 1 * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + + mg = (1.0 - c) * g; + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; + }; + + convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; + }; + + convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; + }; + + convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; + }; + + convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; + }; + + convert.apple.rgb = function (apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; + }; + + convert.rgb.apple = function (rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; + }; + + convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + + convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; + }; + + convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; + }; + + convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; + }; + + convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; + }; + + convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; +}); + +/* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null }; } - const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + return graph; +} // https://en.wikipedia.org/wiki/Breadth-first_search + + +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link$1(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + var cur = graph[toModel].parent; + + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link$1(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +var route = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + var models = Object.keys(graph); + + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + +var convert = {}; +var models = Object.keys(conversions); + +function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; // preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; // preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(function (fromModel) { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], 'channels', { + value: conversions[fromModel].channels + }); + Object.defineProperty(convert[fromModel], 'labels', { + value: conversions[fromModel].labels + }); + var routes = route(fromModel); + var routeModels = Object.keys(routes); + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); +var colorConvert = convert; + +var ansiStyles = createCommonjsModule(function (module) { + + const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; + }; + + const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; + }; + + const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + + function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; // Fix humans + + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; + } // Make the export immutable + + + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); +}); + +var hasFlag = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + +const env = process.env; +let forceColor; + +if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { + forceColor = true; +} + +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os__default['default'].release().split('.'); + + if (Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +var supportsColor_1 = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; + +const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +const STRING_REGEX$1 = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; +const ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); + +function unescape(c) { + if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + return ESCAPES.get(c) || c; +} + +function parseArguments(name, args) { + const results = []; + const chunks = args.trim().split(/\s*,\s*/g); + let matches; + + for (const chunk of chunks) { + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if (matches = chunk.match(STRING_REGEX$1)) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + + return results; +} + +function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + const results = []; + let matches; + + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; +} + +function buildStyle(chalk, styles) { + const enabled = {}; + + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + + let current = chalk; + + for (const styleName of Object.keys(enabled)) { + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; + } + } + } + + return current; +} + +var templates = (chalk, tmp) => { + const styles = []; + const chunks = []; + let chunk = []; // eslint-disable-next-line max-params + + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + const str = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); + styles.push({ + inverse, + styles: parseStyle(style) + }); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(chr); + } + }); + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMsg); + } + + return chunks.join(''); +}; + +var chalk = createCommonjsModule(function (module) { + + const stdoutColor = supportsColor_1.stdout; + const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping + + const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such + + const skipModels = new Set(['gray']); + const styles = Object.create(null); + + function applyOptions(obj, options) { + options = options || {}; // Detect level if not set manually + + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; + } + + function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + chalk.template.constructor = Chalk; + return chalk.template; + } + + applyOptions(this, options); + } // Use bright blue on Windows as the normal blue color is illegible + + + if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; + } + + for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + + }; + } + + styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } + + }; + ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); + + for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + + }; + } + + ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); + + for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + + }; + } + + const proto = Object.defineProperties(() => {}, styles); + + function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + const self = this; + Object.defineProperty(builder, 'level', { + enumerable: true, + + get() { + return self.level; + }, + + set(level) { + self.level = level; + } + + }); + Object.defineProperty(builder, 'enabled', { + enumerable: true, + + get() { + return self.enabled; + }, + + set(enabled) { + self.enabled = enabled; + } + + }); // See below for fix regarding invisible grey/dim combination on Windows + + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; + } + + function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + + + const originalDim = ansiStyles.dim.open; + + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + + + ansiStyles.dim.open = originalDim; + return str; + } + + function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return templates(chalk, parts.join('')); + } + + Object.defineProperties(Chalk.prototype, styles); + module.exports = Chalk(); // eslint-disable-line new-cap + + module.exports.supportsColor = stdoutColor; + module.exports.default = module.exports; // For TypeScript +}); + +var shouldHighlight_1 = shouldHighlight; +var getChalk_1 = getChalk; +var _default$n = highlight; +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); + +function getDefs$1(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsxIdentifier: chalk.yellow, + punctuator: chalk.yellow, + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold + }; +} + +const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/; +const BRACKET = /^[()[\]{}]$/; +let tokenize; +{ const JSX_TAG = /^[a-z][\w-]*$/i; - const BRACKET = /^[()[\]{}]$/; - - function getTokenType(match) { - const [offset, text] = match.slice(-2); - const token = (0, _jsTokens.matchToToken)(match); + const getTokenType = function (token, offset, text) { if (token.type === "name") { - if ((0, lib$2.isKeyword)(token.value) || (0, lib$2.isReservedWord)(token.value)) { + if ((0, lib$3.isKeyword)(token.value) || (0, lib$3.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { return "keyword"; } if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " colorize(str)).join("\n"); - } else { - return args[0]; - } - }); - } + while (match = jsTokens.default.exec(text)) { + const token = jsTokens.matchToToken(match); - function shouldHighlight(options) { - return _chalk.default.supportsColor || options.forceColor; - } - - function getChalk(options) { - let chalk = _chalk.default; - - if (options.forceColor) { - chalk = new _chalk.default.constructor({ - enabled: true, - level: 1 - }); - } - - return chalk; - } - - function highlight(code, options = {}) { - if (shouldHighlight(options)) { - const chalk = getChalk(options); - const defs = getDefs(chalk); - return highlightTokens(defs, code); - } else { - return code; - } - } -}); - -var lib$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.codeFrameColumns = codeFrameColumns; - exports.default = _default; - - var _highlight = _interopRequireWildcard(lib$3); - - function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function () { - return cache; - }; - - return cache; - } - - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - if (obj === null || typeof obj !== "object" && typeof obj !== "function") { - return { - default: obj + yield { + type: getTokenType(token, match.index, text), + value: token.value }; } + }; +} - var cache = _getRequireWildcardCache(); +function highlightTokens(defs, text) { + let highlighted = ""; - if (cache && cache.has(obj)) { - return cache.get(obj); + for (const { + type, + value + } of tokenize(text)) { + const colorize = defs[type]; + + if (colorize) { + highlighted += value.split(NEWLINE$1).map(str => colorize(str)).join("\n"); + } else { + highlighted += value; } + } - var newObj = {}; - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + return highlighted; +} - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; +function shouldHighlight(options) { + return !!chalk.supportsColor || options.forceColor; +} - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } +function getChalk(options) { + return options.forceColor ? new chalk.constructor({ + enabled: true, + level: 1 + }) : chalk; +} + +function highlight(code, options = {}) { + if (shouldHighlight(options)) { + const chalk = getChalk(options); + const defs = getDefs$1(chalk); + return highlightTokens(defs, code); + } else { + return code; + } +} + +var lib$2 = /*#__PURE__*/Object.defineProperty({ + shouldHighlight: shouldHighlight_1, + getChalk: getChalk_1, + default: _default$n +}, '__esModule', { + value: true +}); + +var codeFrameColumns_1 = codeFrameColumns; +var default_1 = _default$m; +let deprecationWarningShown = false; + +function getDefs(chalk) { + return { + gutter: chalk.grey, + marker: chalk.red.bold, + message: chalk.red.bold + }; +} + +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + +function getMarkerLines(loc, source, opts) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line; + const startColumn = startLoc.column; + const endLine = endLoc.line; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source.length, endLine + linesBelow); + + if (startLine === -1) { + start = 0; + } + + if (endLine === -1) { + end = source.length; + } + + const lineDiff = endLine - startLine; + const markerLines = {}; + + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; } } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; - } - - let deprecationWarningShown = false; - - function getDefs(chalk) { - return { - gutter: chalk.grey, - marker: chalk.red.bold, - message: chalk.red.bold - }; - } - - const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - - function getMarkerLines(loc, source, opts) { - const startLoc = Object.assign({ - column: 0, - line: -1 - }, loc.start); - const endLoc = Object.assign({}, startLoc, loc.end); - const { - linesAbove = 2, - linesBelow = 3 - } = opts || {}; - const startLine = startLoc.line; - const startColumn = startLoc.column; - const endLine = endLoc.line; - const endColumn = endLoc.column; - let start = Math.max(startLine - (linesAbove + 1), 0); - let end = Math.min(source.length, endLine + linesBelow); - - if (startLine === -1) { - start = 0; - } - - if (endLine === -1) { - end = source.length; - } - - const lineDiff = endLine - startLine; - const markerLines = {}; - - if (lineDiff) { - for (let i = 0; i <= lineDiff; i++) { - const lineNumber = i + startLine; - - if (!startColumn) { - markerLines[lineNumber] = true; - } else if (i === 0) { - const sourceLength = source[lineNumber - 1].length; - markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; - } else if (i === lineDiff) { - markerLines[lineNumber] = [0, endColumn]; - } else { - const sourceLength = source[lineNumber - i].length; - markerLines[lineNumber] = [0, sourceLength]; - } + } else { + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; } } else { - if (startColumn === endColumn) { - if (startColumn) { - markerLines[startLine] = [startColumn, 0]; - } else { - markerLines[startLine] = true; - } - } else { - markerLines[startLine] = [startColumn, endColumn - startColumn]; - } + markerLines[startLine] = [startColumn, endColumn - startColumn]; } - - return { - start, - end, - markerLines - }; } - function codeFrameColumns(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); - const chalk = (0, _highlight.getChalk)(opts); - const defs = getDefs(chalk); + return { + start, + end, + markerLines + }; +} - const maybeHighlight = (chalkFn, string) => { - return highlighted ? chalkFn(string) : string; - }; +function codeFrameColumns(rawLines, loc, opts = {}) { + const highlighted = (opts.highlightCode || opts.forceColor) && (0, lib$2.shouldHighlight)(opts); + const chalk = (0, lib$2.getChalk)(opts); + const defs = getDefs(chalk); - const lines = rawLines.split(NEWLINE); - const { - start, - end, - markerLines - } = getMarkerLines(loc, lines, opts); - const hasColumns = loc.start && typeof loc.start.column === "number"; - const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; - let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => { - const number = start + 1 + index; - const paddedNumber = ` ${number}`.slice(-numberMaxWidth); - const gutter = ` ${paddedNumber} | `; - const hasMarker = markerLines[number]; - const lastMarkerLine = !markerLines[number + 1]; + const maybeHighlight = (chalkFn, string) => { + return highlighted ? chalkFn(string) : string; + }; - if (hasMarker) { - let markerLine = ""; + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end).length; + const highlightedLines = highlighted ? (0, lib$2.default)(rawLines, opts) : rawLines; + let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => { + const number = start + 1 + index; + const paddedNumber = ` ${number}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; - if (Array.isArray(hasMarker)) { - const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + if (hasMarker) { + let markerLine = ""; - if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); - } + if (Array.isArray(hasMarker)) { + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + + if (lastMarkerLine && opts.message) { + markerLine += " " + maybeHighlight(defs.message, opts.message); } - - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); - } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line}`; } - }).join("\n"); - if (opts.message && !hasColumns) { - frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`; - } - - if (highlighted) { - return chalk.reset(frame); + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); } else { - return frame; + return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; + } + }).join("\n"); + + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`; + } + + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } +} + +function _default$m(rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); } } - function _default(rawLines, lineNumber, colNumber, opts = {}) { - if (!deprecationWarningShown) { - deprecationWarningShown = true; - const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; - - if (process.emitWarning) { - process.emitWarning(message, "DeprecationWarning"); - } else { - const deprecationError = new Error(message); - deprecationError.name = "DeprecationWarning"; - console.warn(new Error(message)); - } + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber } + }; + return codeFrameColumns(rawLines, location, opts); +} - colNumber = Math.max(colNumber, 0); - const location = { - start: { - column: colNumber, - line: lineNumber - } - }; - return codeFrameColumns(rawLines, location, opts); - } +var lib$1 = /*#__PURE__*/Object.defineProperty({ + codeFrameColumns: codeFrameColumns_1, + default: default_1 +}, '__esModule', { + value: true }); const { - ConfigError: ConfigError$1 + ConfigError } = errors; const { - locStart: locStart$1, - locEnd: locEnd$1 -} = loc; // Use defineProperties()/getOwnPropertyDescriptor() to prevent + locStart: locStart$p, + locEnd: locEnd$o +} = loc$6; // Use defineProperties()/getOwnPropertyDescriptor() to prevent // triggering the parsers getters. const ownNames = Object.getOwnPropertyNames; @@ -13509,16 +13630,14 @@ function getParsers(options) { return parsers; } -function resolveParser(opts, parsers) { - parsers = parsers || getParsers(opts); - +function resolveParser$1(opts, parsers = getParsers(opts)) { if (typeof opts.parser === "function") { // Custom parser API always works with JavaScript. return { parse: opts.parser, astFormat: "estree", - locStart: locStart$1, - locEnd: locEnd$1 + locStart: locStart$p, + locEnd: locEnd$o }; } @@ -13531,29 +13650,29 @@ function resolveParser(opts, parsers) { return { parse: require(path__default['default'].resolve(process.cwd(), opts.parser)), astFormat: "estree", - locStart: locStart$1, - locEnd: locEnd$1 + locStart: locStart$p, + locEnd: locEnd$o }; - } catch (err) { + } catch { /* istanbul ignore next */ - throw new ConfigError$1(`Couldn't resolve parser "${opts.parser}"`); + throw new ConfigError(`Couldn't resolve parser "${opts.parser}"`); } } } -function parse(text, opts) { +function parse$a(text, opts) { const parsers = getParsers(opts); // Create a new object {parserName: parseFn}. Uses defineProperty() to only call // the parsers getters when actually calling the parser `parse` function. - const parsersForCustomParserApi = Object.keys(parsers).reduce((object, parserName) => Object.defineProperty(object, parserName, { + const parsersForCustomParserApi = Object.defineProperties({}, Object.fromEntries(Object.keys(parsers).map(parserName => [parserName, { enumerable: true, get() { return parsers[parserName].parse; } - }), {}); - const parser = resolveParser(opts, parsers); + }]))); + const parser = resolveParser$1(opts, parsers); try { if (parser.preprocess) { @@ -13570,8 +13689,10 @@ function parse(text, opts) { } = error; if (loc) { - const codeFrame = lib$4; - error.codeFrame = codeFrame.codeFrameColumns(text, loc, { + const { + codeFrameColumns + } = lib$1; + error.codeFrame = codeFrameColumns(text, loc, { highlightCode: true }); error.message += "\n" + error.codeFrame; @@ -13584,20 +13705,20 @@ function parse(text, opts) { } } -var parser = { - parse, - resolveParser +var parser$1 = { + parse: parse$a, + resolveParser: resolveParser$1 }; const { - UndefinedParserError: UndefinedParserError$1 + UndefinedParserError } = errors; const { getSupportInfo: getSupportInfo$1 } = support; const { - resolveParser: resolveParser$1 -} = parser; + resolveParser +} = parser$1; const hiddenDefaults = { astFormat: "estree", printer: {}, @@ -13606,15 +13727,14 @@ const hiddenDefaults = { locEnd: null }; // Copy options and fill in default values. -function normalize$1(options, opts) { - opts = opts || {}; +function normalize$1(options, opts = {}) { const rawOptions = Object.assign({}, options); const supportOptions = getSupportInfo$1({ plugins: options.plugins, showUnreleased: true, showDeprecated: true }).options; - const defaults = Object.assign({}, hiddenDefaults, fromPairs_1(supportOptions.filter(optionInfo => optionInfo.default !== undefined).map(option => [option.name, option.default]))); + const defaults = Object.assign(Object.assign({}, hiddenDefaults), Object.fromEntries(supportOptions.filter(optionInfo => optionInfo.default !== undefined).map(option => [option.name, option.default]))); if (!rawOptions.parser) { if (!rawOptions.filepath) { @@ -13625,12 +13745,12 @@ function normalize$1(options, opts) { rawOptions.parser = inferParser(rawOptions.filepath, rawOptions.plugins); if (!rawOptions.parser) { - throw new UndefinedParserError$1(`No parser could be inferred for file: ${rawOptions.filepath}`); + throw new UndefinedParserError(`No parser could be inferred for file: ${rawOptions.filepath}`); } } } - const parser = resolveParser$1(optionsNormalizer.normalizeApiOptions(rawOptions, [supportOptions.find(x => x.name === "parser")], { + const parser = resolveParser(optionsNormalizer.normalizeApiOptions(rawOptions, [supportOptions.find(x => x.name === "parser")], { passThrough: true, logger: false })); @@ -13639,15 +13759,14 @@ function normalize$1(options, opts) { rawOptions.locStart = parser.locStart; const plugin = getPlugin(rawOptions); rawOptions.printer = plugin.printers[rawOptions.astFormat]; - const pluginDefaults = supportOptions.filter(optionInfo => optionInfo.pluginDefaults && optionInfo.pluginDefaults[plugin.name] !== undefined).reduce((reduced, optionInfo) => Object.assign(reduced, { - [optionInfo.name]: optionInfo.pluginDefaults[plugin.name] - }), {}); - const mixedDefaults = Object.assign({}, defaults, pluginDefaults); - Object.keys(mixedDefaults).forEach(k => { - if (rawOptions[k] == null) { - rawOptions[k] = mixedDefaults[k]; + const pluginDefaults = Object.fromEntries(supportOptions.filter(optionInfo => optionInfo.pluginDefaults && optionInfo.pluginDefaults[plugin.name] !== undefined).map(optionInfo => [optionInfo.name, optionInfo.pluginDefaults[plugin.name]])); + const mixedDefaults = Object.assign(Object.assign({}, defaults), pluginDefaults); + + for (const [k, value] of Object.entries(mixedDefaults)) { + if (rawOptions[k] === null || rawOptions[k] === undefined) { + rawOptions[k] = value; } - }); + } if (rawOptions.parser === "json") { rawOptions.trailingComma = "none"; @@ -13690,7 +13809,7 @@ function getInterpreter(filepath) { try { fd = fs__default['default'].openSync(filepath, "r"); - } catch (err) { + } catch { // istanbul ignore next return ""; } @@ -13713,7 +13832,7 @@ function getInterpreter(filepath) { } return ""; - } catch (err) { + } catch { // There are some weird cases where paths are missing, causing Jest // failures. It's unclear what these correspond to in the real world. @@ -13724,7 +13843,7 @@ function getInterpreter(filepath) { // There are some weird cases where paths are missing, causing Jest // failures. It's unclear what these correspond to in the real world. fs__default['default'].closeSync(fd); - } catch (err) {// nop + } catch {// nop } } } @@ -13747,7 +13866,7 @@ function inferParser(filepath, plugins) { return language && language.parsers[0]; } -var options$1 = { +var options$6 = { normalize: normalize$1, hiddenDefaults, inferParser @@ -13762,16 +13881,25 @@ function massageAST(ast, options, parent) { return ast; } + const cleanFunction = options.printer.massageAstNode; + let ignoredProperties; + + if (cleanFunction && cleanFunction.ignoredProperties) { + ignoredProperties = cleanFunction.ignoredProperties; + } else { + ignoredProperties = new Set(); + } + const newObj = {}; - for (const key of Object.keys(ast)) { - if (typeof ast[key] !== "function") { - newObj[key] = massageAST(ast[key], options, ast); + for (const [key, value] of Object.entries(ast)) { + if (!ignoredProperties.has(key) && typeof value !== "function") { + newObj[key] = massageAST(value, options, ast); } } - if (options.printer.massageAstNode) { - const result = options.printer.massageAstNode(ast, newObj, parent); + if (cleanFunction) { + const result = cleanFunction(ast, newObj, parent); if (result === null) { return; @@ -13787,29 +13915,27 @@ function massageAST(ast, options, parent) { var massageAst = massageAST; -/** @type {import("assert")} */ - - const { - concat: concat$2, - line: line$1, - hardline: hardline$1, - breakParent: breakParent$1, - indent: indent$1, - lineSuffix: lineSuffix$1, - join: join$1, - cursor: cursor$2 -} = document.builders; + builders: { + line: line$w, + hardline: hardline$z, + breakParent: breakParent$8, + indent: indent$y, + lineSuffix: lineSuffix$1, + join: join$u, + cursor + } +} = doc; const { - hasNewline: hasNewline$1, + hasNewline: hasNewline$9, skipNewline: skipNewline$1, skipSpaces: skipSpaces$1, - isPreviousLineEmpty: isPreviousLineEmpty$1, - addLeadingComment: addLeadingComment$1, - addDanglingComment: addDanglingComment$1, - addTrailingComment: addTrailingComment$1 -} = util; -const childNodesCacheKey = Symbol("child-nodes"); + isPreviousLineEmpty: isPreviousLineEmpty$2, + addLeadingComment: addLeadingComment$2, + addDanglingComment: addDanglingComment$2, + addTrailingComment: addTrailingComment$2 +} = util$5; +const childNodesCache = new WeakMap(); function getSortedChildNodes(node, options, resultArray) { if (!node) { @@ -13838,37 +13964,38 @@ function getSortedChildNodes(node, options, resultArray) { resultArray.splice(i + 1, 0, node); return; } - } else if (node[childNodesCacheKey]) { - return node[childNodesCacheKey]; + } else if (childNodesCache.has(node)) { + return childNodesCache.get(node); } - const childNodes = printer.getCommentChildNodes && printer.getCommentChildNodes(node, options) || typeof node === "object" && Object.keys(node).filter(n => n !== "enclosingNode" && n !== "precedingNode" && n !== "followingNode" && n !== "tokens" && n !== "comments").map(n => node[n]); + const childNodes = printer.getCommentChildNodes && printer.getCommentChildNodes(node, options) || typeof node === "object" && Object.entries(node).filter(([key]) => key !== "enclosingNode" && key !== "precedingNode" && key !== "followingNode" && key !== "tokens" && key !== "comments").map(([, value]) => value); if (!childNodes) { return; } if (!resultArray) { - Object.defineProperty(node, childNodesCacheKey, { - value: resultArray = [], - enumerable: false - }); + resultArray = []; + childNodesCache.set(node, resultArray); } - childNodes.forEach(childNode => { + for (const childNode of childNodes) { getSortedChildNodes(childNode, options, resultArray); - }); + } + return resultArray; } // As efficiently as possible, decorate the comment object with // .precedingNode, .enclosingNode, and/or .followingNode properties, at // least one of which is guaranteed to be defined. -function decorateComment(node, comment, options) { +function decorateComment(node, comment, options, enclosingNode) { const { locStart, locEnd } = options; + const commentStart = locStart(comment); + const commentEnd = locEnd(comment); const childNodes = getSortedChildNodes(node, options); let precedingNode; let followingNode; // Time to dust off the old binary search robes and wizard hat. @@ -13879,15 +14006,15 @@ function decorateComment(node, comment, options) { while (left < right) { const middle = left + right >> 1; const child = childNodes[middle]; + const start = locStart(child); + const end = locEnd(child); // The comment is completely contained by this child node. - if (locStart(child) - locStart(comment) <= 0 && locEnd(comment) - locEnd(child) <= 0) { - // The comment is completely contained by this child node. - comment.enclosingNode = child; - decorateComment(child, comment, options); - return; // Abandon the binary search at this level. + if (start <= commentStart && commentEnd <= end) { + // Abandon the binary search at this level. + return decorateComment(child, comment, options, child); } - if (locEnd(child) - locStart(comment) <= 0) { + if (end <= commentStart) { // This child node falls completely before the comment. // Because we will never consider this node or any nodes // before it again, this node must be the closest preceding @@ -13897,7 +14024,7 @@ function decorateComment(node, comment, options) { continue; } - if (locEnd(comment) - locStart(child) <= 0) { + if (commentEnd <= start) { // This child node falls completely after the comment. // Because we will never consider this node or any nodes after // it again, this node must be the closest following node we @@ -13914,10 +14041,10 @@ function decorateComment(node, comment, options) { // template literal to move to another expression. - if (comment.enclosingNode && comment.enclosingNode.type === "TemplateLiteral") { + if (enclosingNode && enclosingNode.type === "TemplateLiteral") { const { quasis - } = comment.enclosingNode; + } = enclosingNode; const commentIndex = findExpressionIndexForComment(quasis, comment, options); if (precedingNode && findExpressionIndexForComment(quasis, precedingNode, options) !== commentIndex) { @@ -13929,15 +14056,15 @@ function decorateComment(node, comment, options) { } } - if (precedingNode) { - comment.precedingNode = precedingNode; - } - - if (followingNode) { - comment.followingNode = followingNode; - } + return { + enclosingNode, + precedingNode, + followingNode + }; } +const returnFalse$1 = () => false; + function attach(comments, ast, text, options) { if (!Array.isArray(comments)) { return; @@ -13946,67 +14073,99 @@ function attach(comments, ast, text, options) { const tiesToBreak = []; const { locStart, - locEnd - } = options; - comments.forEach((comment, i) => { + locEnd, + printer: { + handleComments = {} + } + } = options; // TODO: Make this as default behavior + + const { + avoidAstMutation, + ownLine: handleOwnLineComment = returnFalse$1, + endOfLine: handleEndOfLineComment = returnFalse$1, + remaining: handleRemainingComment = returnFalse$1 + } = handleComments; + const decoratedComments = comments.map((comment, index) => Object.assign(Object.assign({}, decorateComment(ast, comment, options)), {}, { + comment, + text, + options, + ast, + isLastComment: comments.length - 1 === index + })); + + for (const [index, context] of decoratedComments.entries()) { + const { + comment, + precedingNode, + enclosingNode, + followingNode, + text, + options, + ast, + isLastComment + } = context; + if (options.parser === "json" || options.parser === "json5" || options.parser === "__js_expression" || options.parser === "__vue_expression") { if (locStart(comment) - locStart(ast) <= 0) { - addLeadingComment$1(ast, comment); - return; + addLeadingComment$2(ast, comment); + continue; } if (locEnd(comment) - locEnd(ast) >= 0) { - addTrailingComment$1(ast, comment); - return; + addTrailingComment$2(ast, comment); + continue; } } - decorateComment(ast, comment, options); - const { - precedingNode, - enclosingNode, - followingNode - } = comment; - const pluginHandleOwnLineComment = options.printer.handleComments && options.printer.handleComments.ownLine ? options.printer.handleComments.ownLine : () => false; - const pluginHandleEndOfLineComment = options.printer.handleComments && options.printer.handleComments.endOfLine ? options.printer.handleComments.endOfLine : () => false; - const pluginHandleRemainingComment = options.printer.handleComments && options.printer.handleComments.remaining ? options.printer.handleComments.remaining : () => false; - const isLastComment = comments.length - 1 === i; + let args; - if (hasNewline$1(text, locStart(comment), { - backwards: true - })) { - // If a comment exists on its own line, prefer a leading comment. + if (avoidAstMutation) { + args = [context]; + } else { + comment.enclosingNode = enclosingNode; + comment.precedingNode = precedingNode; + comment.followingNode = followingNode; + args = [comment, text, options, ast, isLastComment]; + } + + if (isOwnLineComment(text, options, decoratedComments, index)) { + comment.placement = "ownLine"; // If a comment exists on its own line, prefer a leading comment. // We also need to check if it's the first line of the file. - if (pluginHandleOwnLineComment(comment, text, options, ast, isLastComment)) ; else if (followingNode) { + + if (handleOwnLineComment(...args)) ; else if (followingNode) { // Always a leading comment. - addLeadingComment$1(followingNode, comment); + addLeadingComment$2(followingNode, comment); } else if (precedingNode) { - addTrailingComment$1(precedingNode, comment); + addTrailingComment$2(precedingNode, comment); } else if (enclosingNode) { - addDanglingComment$1(enclosingNode, comment); + addDanglingComment$2(enclosingNode, comment); } else { // There are no nodes, let's attach it to the root of the ast /* istanbul ignore next */ - addDanglingComment$1(ast, comment); + addDanglingComment$2(ast, comment); } - } else if (hasNewline$1(text, locEnd(comment))) { - if (pluginHandleEndOfLineComment(comment, text, options, ast, isLastComment)) ; else if (precedingNode) { + } else if (isEndOfLineComment(text, options, decoratedComments, index)) { + comment.placement = "endOfLine"; + + if (handleEndOfLineComment(...args)) ; else if (precedingNode) { // There is content before this comment on the same line, but // none after it, so prefer a trailing comment of the previous node. - addTrailingComment$1(precedingNode, comment); + addTrailingComment$2(precedingNode, comment); } else if (followingNode) { - addLeadingComment$1(followingNode, comment); + addLeadingComment$2(followingNode, comment); } else if (enclosingNode) { - addDanglingComment$1(enclosingNode, comment); + addDanglingComment$2(enclosingNode, comment); } else { // There are no nodes, let's attach it to the root of the ast /* istanbul ignore next */ - addDanglingComment$1(ast, comment); + addDanglingComment$2(ast, comment); } } else { - if (pluginHandleRemainingComment(comment, text, options, ast, isLastComment)) ; else if (precedingNode && followingNode) { + comment.placement = "remaining"; + + if (handleRemainingComment(...args)) ; else if (precedingNode && followingNode) { // Otherwise, text exists both before and after the comment on // the same line. If there is both a preceding and following // node, use a tie-breaking algorithm to determine if it should @@ -14017,37 +14176,105 @@ function attach(comments, ast, text, options) { if (tieCount > 0) { const lastTie = tiesToBreak[tieCount - 1]; - if (lastTie.followingNode !== comment.followingNode) { + if (lastTie.followingNode !== followingNode) { breakTies(tiesToBreak, text, options); } } - tiesToBreak.push(comment); + tiesToBreak.push(context); } else if (precedingNode) { - addTrailingComment$1(precedingNode, comment); + addTrailingComment$2(precedingNode, comment); } else if (followingNode) { - addLeadingComment$1(followingNode, comment); + addLeadingComment$2(followingNode, comment); } else if (enclosingNode) { - addDanglingComment$1(enclosingNode, comment); + addDanglingComment$2(enclosingNode, comment); } else { // There are no nodes, let's attach it to the root of the ast /* istanbul ignore next */ - addDanglingComment$1(ast, comment); + addDanglingComment$2(ast, comment); } } - }); + } + breakTies(tiesToBreak, text, options); - comments.forEach(comment => { - // These node references were useful for breaking ties, but we - // don't need them anymore, and they create cycles in the AST that - // may lead to infinite recursion if we don't delete them here. - delete comment.precedingNode; - delete comment.enclosingNode; - delete comment.followingNode; + + if (!avoidAstMutation) { + for (const comment of comments) { + // These node references were useful for breaking ties, but we + // don't need them anymore, and they create cycles in the AST that + // may lead to infinite recursion if we don't delete them here. + delete comment.precedingNode; + delete comment.enclosingNode; + delete comment.followingNode; + } + } +} + +const isAllEmptyAndNoLineBreak = text => !/[\S\n\u2028\u2029]/.test(text); + +function isOwnLineComment(text, options, decoratedComments, commentIndex) { + const { + comment, + precedingNode + } = decoratedComments[commentIndex]; + const { + locStart, + locEnd + } = options; + let start = locStart(comment); + + if (precedingNode) { + // Find first comment on the same line + for (let index = commentIndex - 1; index >= 0; index--) { + const { + comment, + precedingNode: currentCommentPrecedingNode + } = decoratedComments[index]; + + if (currentCommentPrecedingNode !== precedingNode || !isAllEmptyAndNoLineBreak(text.slice(locEnd(comment), start))) { + break; + } + + start = locStart(comment); + } + } + + return hasNewline$9(text, start, { + backwards: true }); } +function isEndOfLineComment(text, options, decoratedComments, commentIndex) { + const { + comment, + followingNode + } = decoratedComments[commentIndex]; + const { + locStart, + locEnd + } = options; + let end = locEnd(comment); + + if (followingNode) { + // Find last comment on the same line + for (let index = commentIndex + 1; index < decoratedComments.length; index++) { + const { + comment, + followingNode: currentCommentFollowingNode + } = decoratedComments[index]; + + if (currentCommentFollowingNode !== followingNode || !isAllEmptyAndNoLineBreak(text.slice(end, locStart(comment)))) { + break; + } + + end = locEnd(comment); + } + } + + return hasNewline$9(text, end); +} + function breakTies(tiesToBreak, text, options) { const tieCount = tiesToBreak.length; @@ -14070,9 +14297,13 @@ function breakTies(tiesToBreak, text, options) { let indexOfFirstLeadingComment; for (indexOfFirstLeadingComment = tieCount; indexOfFirstLeadingComment > 0; --indexOfFirstLeadingComment) { - const comment = tiesToBreak[indexOfFirstLeadingComment - 1]; - assert__default['default'].strictEqual(comment.precedingNode, precedingNode); - assert__default['default'].strictEqual(comment.followingNode, followingNode); + const { + comment, + precedingNode: currentCommentPrecedingNode, + followingNode: currentCommentFollowingNode + } = tiesToBreak[indexOfFirstLeadingComment - 1]; + assert__default['default'].strictEqual(currentCommentPrecedingNode, precedingNode); + assert__default['default'].strictEqual(currentCommentFollowingNode, followingNode); const gap = text.slice(options.locEnd(comment), gapEndPos); if (gapRegExp.test(gap)) { @@ -14084,13 +14315,15 @@ function breakTies(tiesToBreak, text, options) { } } - tiesToBreak.forEach((comment, i) => { + for (const [i, { + comment + }] of tiesToBreak.entries()) { if (i < indexOfFirstLeadingComment) { - addTrailingComment$1(precedingNode, comment); + addTrailingComment$2(precedingNode, comment); } else { - addLeadingComment$1(followingNode, comment); + addLeadingComment$2(followingNode, comment); } - }); + } for (const node of [precedingNode, followingNode]) { if (node.comments && node.comments.length > 1) { @@ -14101,10 +14334,10 @@ function breakTies(tiesToBreak, text, options) { tiesToBreak.length = 0; } -function printComment(commentPath, options) { - const comment = commentPath.getValue(); +function printComment$3(path, options) { + const comment = path.getValue(); comment.printed = true; - return options.printer.printComment(commentPath, options); + return options.printer.printComment(path, options); } function findExpressionIndexForComment(quasis, comment, options) { @@ -14123,37 +14356,39 @@ function findExpressionIndexForComment(quasis, comment, options) { return 0; } -function printLeadingComment(commentPath, options) { - const comment = commentPath.getValue(); - const contents = printComment(commentPath, options); - /* istanbul ignore next */ - - if (!contents) { - return ""; - } - - const isBlock = options.printer.isBlockComment && options.printer.isBlockComment(comment); // Leading block comments should see if they need to stay on the +function printLeadingComment(path, options) { + const comment = path.getValue(); + const parts = [printComment$3(path, options)]; + const { + printer, + originalText, + locStart, + locEnd + } = options; + const isBlock = printer.isBlockComment && printer.isBlockComment(comment); // Leading block comments should see if they need to stay on the // same line or not. if (isBlock) { - const lineBreak = hasNewline$1(options.originalText, options.locEnd(comment)) ? hasNewline$1(options.originalText, options.locStart(comment), { + const lineBreak = hasNewline$9(originalText, locEnd(comment)) ? hasNewline$9(originalText, locStart(comment), { backwards: true - }) ? hardline$1 : line$1 : " "; - return concat$2([contents, lineBreak]); + }) ? hardline$z : line$w : " "; + parts.push(lineBreak); + } else { + parts.push(hardline$z); } - return concat$2([contents, hardline$1]); + const index = skipNewline$1(originalText, skipSpaces$1(originalText, locEnd(comment))); + + if (index !== false && hasNewline$9(originalText, index)) { + parts.push(hardline$z); + } + + return parts; } -function printTrailingComment(commentPath, options) { - const comment = commentPath.getValue(); - const contents = printComment(commentPath, options); - /* istanbul ignore next */ - - if (!contents) { - return ""; - } - +function printTrailingComment(path, options) { + const comment = path.getValue(); + const printed = printComment$3(path, options); const { printer, originalText, @@ -14161,7 +14396,7 @@ function printTrailingComment(commentPath, options) { } = options; const isBlock = printer.isBlockComment && printer.isBlockComment(comment); - if (hasNewline$1(originalText, locStart(comment), { + if (hasNewline$9(originalText, locStart(comment), { backwards: true })) { // This allows comments at the end of nested structures: @@ -14175,20 +14410,20 @@ function printTrailingComment(commentPath, options) { // trailing comment for `2`. We can simulate the above by checking // if this a comment on its own line; normal trailing comments are // always at the end of another expression. - const isLineBeforeEmpty = isPreviousLineEmpty$1(originalText, comment, locStart); - return lineSuffix$1(concat$2([hardline$1, isLineBeforeEmpty ? hardline$1 : "", contents])); + const isLineBeforeEmpty = isPreviousLineEmpty$2(originalText, comment, locStart); + return lineSuffix$1([hardline$z, isLineBeforeEmpty ? hardline$z : "", printed]); } - let printed = concat$2([" ", contents]); // Trailing block comments never need a newline + let parts = [" ", printed]; // Trailing block comments never need a newline if (!isBlock) { - printed = concat$2([lineSuffix$1(printed), breakParent$1]); + parts = [lineSuffix$1(parts), breakParent$8]; } - return printed; + return parts; } -function printDanglingComments(path, options, sameIndent, filter) { +function printDanglingComments$e(path, options, sameIndent, filter) { const parts = []; const node = path.getValue(); @@ -14196,11 +14431,11 @@ function printDanglingComments(path, options, sameIndent, filter) { return ""; } - path.each(commentPath => { - const comment = commentPath.getValue(); + path.each(() => { + const comment = path.getValue(); - if (comment && !comment.leading && !comment.trailing && (!filter || filter(comment))) { - parts.push(printComment(commentPath, options)); + if (!comment.leading && !comment.trailing && (!filter || filter(comment))) { + parts.push(printComment$3(path, options)); } }, "comments"); @@ -14209,58 +14444,78 @@ function printDanglingComments(path, options, sameIndent, filter) { } if (sameIndent) { - return join$1(hardline$1, parts); + return join$u(hardline$z, parts); } - return indent$1(concat$2([hardline$1, join$1(hardline$1, parts)])); + return indent$y([hardline$z, join$u(hardline$z, parts)]); } -function prependCursorPlaceholder(path, options, printed) { - if (path.getNode() === options.cursorNode && path.getValue()) { - return concat$2([cursor$2, printed, cursor$2]); - } - - return printed; -} - -function printComments(path, print, options, needsSemi) { +function printCommentsSeparately$1(path, options, ignored) { const value = path.getValue(); - const printed = print(path); - const comments = value && value.comments; - if (!comments || comments.length === 0) { - return prependCursorPlaceholder(path, options, printed); + if (!value) { + return {}; + } + + let comments = value.comments || []; + + if (ignored) { + comments = comments.filter(comment => !ignored.has(comment)); + } + + const isCursorNode = value === options.cursorNode; + + if (comments.length === 0) { + const maybeCursor = isCursorNode ? cursor : ""; + return { + leading: maybeCursor, + trailing: maybeCursor + }; } const leadingParts = []; - const trailingParts = [needsSemi ? ";" : "", printed]; - path.each(commentPath => { - const comment = commentPath.getValue(); + const trailingParts = []; + path.each(() => { + const comment = path.getValue(); + + if (ignored && ignored.has(comment)) { + return; + } + const { leading, trailing } = comment; if (leading) { - const contents = printLeadingComment(commentPath, options); - /* istanbul ignore next */ - - if (!contents) { - return; - } - - leadingParts.push(contents); - const text = options.originalText; - const index = skipNewline$1(text, skipSpaces$1(text, options.locEnd(comment))); - - if (index !== false && hasNewline$1(text, index)) { - leadingParts.push(hardline$1); - } + leadingParts.push(printLeadingComment(path, options)); } else if (trailing) { - trailingParts.push(printTrailingComment(commentPath, options)); + trailingParts.push(printTrailingComment(path, options)); } }, "comments"); - return prependCursorPlaceholder(path, options, concat$2(leadingParts.concat(trailingParts))); + + if (isCursorNode) { + leadingParts.unshift(cursor); + trailingParts.push(cursor); + } + + return { + leading: leadingParts, + trailing: trailingParts + }; +} + +function printComments$7(path, doc, options, ignored) { + const { + leading, + trailing + } = printCommentsSeparately$1(path, options, ignored); + + if (!leading && !trailing) { + return doc; + } + + return [leading, doc, trailing]; } function ensureAllCommentsPrinted(astComments) { @@ -14268,19 +14523,20 @@ function ensureAllCommentsPrinted(astComments) { return; } - astComments.forEach(comment => { + for (const comment of astComments) { if (!comment.printed) { throw new Error('Comment "' + comment.value.trim() + '" was not printed. Please report this error!'); } delete comment.printed; - }); + } } -var comments = { +var comments$1 = { attach, - printComments, - printDanglingComments, + printComments: printComments$7, + printCommentsSeparately: printCommentsSeparately$1, + printDanglingComments: printDanglingComments$e, getSortedChildNodes, ensureAllCommentsPrinted }; @@ -14302,7 +14558,7 @@ function getNodeStackIndexHelper(stack, count) { return -1; } -class FastPath { +class AstPath { constructor(value) { this.stack = [value]; } // The name of the current property is always the penultimate element of @@ -14331,7 +14587,7 @@ class FastPath { getValue() { - return getLast(this.stack); + return getLast_1(this.stack); } getNode(count = 0) { @@ -14342,7 +14598,7 @@ class FastPath { return getNodeHelper(this, count + 1); } // Temporarily push properties named by string arguments given after the // callback function onto this.stack, then call the callback with a - // reference to this (modified) FastPath object. Note that the stack will + // reference to this (modified) AstPath object. Note that the stack will // be restored to its original state after the callback is finished, so it // is probably a mistake to retain a reference to the path. @@ -14354,7 +14610,7 @@ class FastPath { const { length } = stack; - let value = getLast(stack); + let value = getLast_1(stack); for (const name of names) { value = value[name]; @@ -14372,8 +14628,8 @@ class FastPath { const result = callback(this); this.stack.push(...parentValues); return result; - } // Similar to FastPath.prototype.call, except that the value obtained by - // accessing this.getValue()[name1][name2]... should be array-like. The + } // Similar to AstPath.prototype.call, except that the value obtained by + // accessing this.getValue()[name1][name2]... should be array. The // callback will be called with a reference to this path object for each // element of the array. @@ -14385,7 +14641,7 @@ class FastPath { const { length } = stack; - let value = getLast(stack); + let value = getLast_1(stack); for (const name of names) { value = value[name]; @@ -14393,47 +14649,42 @@ class FastPath { } for (let i = 0; i < value.length; ++i) { - if (i in value) { - stack.push(i, value[i]); // If the callback needs to know the value of i, call - // path.getName(), assuming path is the parameter name. - - callback(this); - stack.length -= 2; - } + stack.push(i, value[i]); + callback(this, i, value); + stack.length -= 2; } stack.length = length; - } // Similar to FastPath.prototype.each, except that the results of the + } // Similar to AstPath.prototype.each, except that the results of the // callback function invocations are stored in an array and returned at // the end of the iteration. map(callback, ...names) { + const result = []; + this.each((path, index, value) => { + result[index] = callback(path, index, value); + }, ...names); + return result; + } + /** + * @param {() => void} callback + * @internal Unstable API. Don't use in plugins for now. + */ + + + try(callback) { const { stack } = this; - const { - length - } = stack; - let value = getLast(stack); + const stackBackup = [...stack]; - for (const name of names) { - value = value[name]; - stack.push(name, value); + try { + return callback(); + } finally { + stack.length = 0; + stack.push(...stackBackup); } - - const result = new Array(value.length); - - for (let i = 0; i < value.length; ++i) { - if (i in value) { - stack.push(i, value[i]); - result[i] = callback(this, i); - stack.length -= 2; - } - } - - stack.length = length; - return result; } /** * @param {...( @@ -14473,19 +14724,51 @@ class FastPath { return true; } + /** + * Traverses the ancestors of the current node heading toward the tree root + * until it finds a node that matches the provided predicate function. Will + * return the first matching ancestor. If no such node exists, returns undefined. + * @param {(node: any, name: string, number: number | null) => boolean} predicate + * @internal Unstable API. Don't use in plugins for now. + */ + + + findAncestor(predicate) { + let stackPointer = this.stack.length - 1; + let name = null; + let node = this.stack[stackPointer--]; + + while (node) { + // skip index/array + let number = null; + + if (typeof name === "number") { + number = name; + name = this.stack[stackPointer--]; + node = this.stack[stackPointer--]; + } + + if (name !== null && predicate(node, name, number)) { + return node; + } + + name = this.stack[stackPointer--]; + node = this.stack[stackPointer--]; + } + } } -var fastPath = FastPath; +var astPath = AstPath; const { utils: { - stripTrailingHardline: stripTrailingHardline$1 + stripTrailingHardline } -} = document; +} = doc; const { - normalize: normalize$2 -} = options$1; + normalize +} = options$6; function printSubtree(path, print, options, printAstToDoc) { if (options.printer.embed && options.embeddedLanguageFormatting === "auto") { @@ -14497,25 +14780,24 @@ function textToDoc(text, partialNextOptions, parentOptions, printAstToDoc, // TO { stripTrailingHardline: shouldStripTrailingHardline = false } = {}) { - const nextOptions = normalize$2(Object.assign({}, parentOptions, partialNextOptions, { + const nextOptions = normalize(Object.assign(Object.assign(Object.assign({}, parentOptions), partialNextOptions), {}, { parentParser: parentOptions.parser, - embeddedInHtml: !!(parentOptions.embeddedInHtml || parentOptions.parser === "html" || parentOptions.parser === "vue" || parentOptions.parser === "angular" || parentOptions.parser === "lwc"), originalText: text }), { passThrough: true }); - const result = parser.parse(text, nextOptions); + const result = parser$1.parse(text, nextOptions); const { ast } = result; text = result.text; const astComments = ast.comments; delete ast.comments; - comments.attach(astComments, ast, text, nextOptions); + comments$1.attach(astComments, ast, text, nextOptions); nextOptions[Symbol.for("comments")] = astComments || []; nextOptions[Symbol.for("tokens")] = ast.tokens || []; const doc = printAstToDoc(ast, nextOptions); - comments.ensureAllCommentsPrinted(astComments); + comments$1.ensureAllCommentsPrinted(astComments); if (shouldStripTrailingHardline) { // TODO: move this to `stripTrailingHardline` function in `/src/document/doc-utils.js` @@ -14523,7 +14805,7 @@ function textToDoc(text, partialNextOptions, parentOptions, printAstToDoc, // TO return doc.replace(/(?:\r?\n)*$/, ""); } - return stripTrailingHardline$1(doc, true); + return stripTrailingHardline(doc); } /* istanbul ignore next */ @@ -14535,14 +14817,18 @@ var multiparser = { printSubtree }; -const doc = document; -const docBuilders$1 = doc.builders; const { - concat: concat$3, - hardline: hardline$2, - addAlignmentToDoc: addAlignmentToDoc$1 -} = docBuilders$1; -const docUtils$1 = doc.utils; + builders: { + hardline: hardline$y, + addAlignmentToDoc: addAlignmentToDoc$1 + }, + utils: { + propagateBreaks + } +} = doc; +const { + printComments: printComments$6 +} = comments$1; /** * Takes an abstract syntax tree (AST) and recursively converts it to a * document (series of printing primitives). @@ -14550,17 +14836,17 @@ const docUtils$1 = doc.utils; * This is done by descending down the AST recursively. The recursion * involves two functions that call each other: * - * 1. printGenerically(), which is defined as an inner function here. + * 1. mainPrint(), which is defined as an inner function here. * It basically takes care of node caching. * 2. callPluginPrintFunction(), which checks for some options, and * ultimately calls the print() function provided by the plugin. * - * The plugin function will call printGenerically() again for child nodes - * of the current node, which will do its housekeeping, then call the - * plugin function again, and so on. + * The plugin function will call mainPrint() again for child nodes + * of the current node. mainPrint() will do its housekeeping, then call + * the plugin function again, and so on. * * All the while, these functions pass a "path" variable around, which - * is a stack-like data structure (FastPath) that maintains the current + * is a stack-like data structure (AstPath) that maintains the current * state of the recursion. It is called "path", because it represents * the path to the current node through the Abstract Syntax Tree. */ @@ -14575,44 +14861,46 @@ function printAstToDoc(ast, options, alignmentSize = 0) { } const cache = new Map(); - - function printGenerically(path, args) { - const node = path.getValue(); - const shouldCache = node && typeof node === "object" && args === undefined; - - if (shouldCache && cache.has(node)) { - return cache.get(node); - } // We let JSXElement print its comments itself because it adds () around - // UnionTypeAnnotation has to align the child without the comments - - - let res; - - if (printer.willPrintOwnComments && printer.willPrintOwnComments(path, options)) { - res = callPluginPrintFunction(path, options, printGenerically, args); - } else { - // printComments will call the plugin print function and check for - // comments to print - res = comments.printComments(path, p => callPluginPrintFunction(p, options, printGenerically, args), options, args && args.needsSemi); - } - - if (shouldCache) { - cache.set(node, res); - } - - return res; - } - - let doc = printGenerically(new fastPath(ast)); + const path = new astPath(ast); + let doc = mainPrint(); if (alignmentSize > 0) { // Add a hardline to make the indents take effect // It should be removed in index.js format() - doc = addAlignmentToDoc$1(concat$3([hardline$2, doc]), alignmentSize, options.tabWidth); + doc = addAlignmentToDoc$1([hardline$y, doc], alignmentSize, options.tabWidth); } - docUtils$1.propagateBreaks(doc); + propagateBreaks(doc); return doc; + + function mainPrint(selector, args) { + if (selector === undefined || selector === path) { + return mainPrintInternal(args); + } + + if (Array.isArray(selector)) { + return path.call(() => mainPrintInternal(args), ...selector); + } + + return path.call(() => mainPrintInternal(args), selector); + } + + function mainPrintInternal(args) { + const value = path.getValue(); + const shouldCache = value && typeof value === "object" && args === undefined; + + if (shouldCache && cache.has(value)) { + return cache.get(value); + } + + const doc = callPluginPrintFunction(path, options, mainPrint, args); + + if (shouldCache) { + cache.set(value, doc); + } + + return doc; + } } function printPrettierIgnoredNode(node, options) { @@ -14624,50 +14912,96 @@ function printPrettierIgnoredNode(node, options) { } = options; const start = locStart(node); const end = locEnd(node); + const printedComments = new Set(); for (const comment of comments) { if (locStart(comment) >= start && locEnd(comment) <= end) { comment.printed = true; + printedComments.add(comment); } } - return originalText.slice(start, end); + return { + doc: originalText.slice(start, end), + printedComments + }; } function callPluginPrintFunction(path, options, printPath, args) { - assert__default['default'].ok(path instanceof fastPath); const node = path.getValue(); const { printer - } = options; // Escape hatch + } = options; + let doc; + let printedComments; // Escape hatch if (printer.hasPrettierIgnore && printer.hasPrettierIgnore(path)) { - return printPrettierIgnoredNode(node, options); - } + ({ + doc, + printedComments + } = printPrettierIgnoredNode(node, options)); + } else { + if (node) { + try { + // Potentially switch to a different parser + doc = multiparser.printSubtree(path, printPath, options, printAstToDoc); + } catch (error) { + /* istanbul ignore if */ + if (process.env.PRETTIER_DEBUG) { + throw error; + } // Continue with current parser - if (node) { - try { - // Potentially switch to a different parser - const sub = multiparser.printSubtree(path, printPath, options, printAstToDoc); - - if (sub) { - return sub; } - } catch (error) { - /* istanbul ignore if */ - if (process.env.PRETTIER_DEBUG) { - throw error; - } // Continue with current parser - } + + if (!doc) { + doc = printer.print(path, options, printPath, args); + } + } // We let JSXElement print its comments itself because it adds () around + // UnionTypeAnnotation has to align the child without the comments + + + if (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path, options)) { + // printComments will call the plugin print function and check for + // comments to print + doc = printComments$6(path, doc, options, printedComments); } - return printer.print(path, options, printPath, args); + return doc; } var astToDoc = printAstToDoc; -function findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts) { +const isJsonParser = ({ + parser +}) => parser === "json" || parser === "json5" || parser === "json-stringify"; + +function findCommonAncestor(startNodeAndParents, endNodeAndParents) { + const startNodeAndAncestors = [startNodeAndParents.node, ...startNodeAndParents.parentNodes]; + const endNodeAndAncestors = new Set([endNodeAndParents.node, ...endNodeAndParents.parentNodes]); + return startNodeAndAncestors.find(node => jsonSourceElements.has(node.type) && endNodeAndAncestors.has(node)); +} + +function dropRootParents(parents) { + let lastParentIndex = parents.length - 1; + + for (;;) { + const parent = parents[lastParentIndex]; + + if (parent && (parent.type === "Program" || parent.type === "File")) { + lastParentIndex--; + } else { + break; + } + } + + return parents.slice(0, lastParentIndex + 1); +} + +function findSiblingAncestors(startNodeAndParents, endNodeAndParents, { + locStart, + locEnd +}) { let resultStartNode = startNodeAndParents.node; let resultEndNode = endNodeAndParents.node; @@ -14678,16 +15012,20 @@ function findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts) { }; } - for (const endParent of endNodeAndParents.parentNodes) { - if (endParent.type !== "Program" && endParent.type !== "File" && opts.locStart(endParent) >= opts.locStart(startNodeAndParents.node)) { + const startNodeStart = locStart(startNodeAndParents.node); + + for (const endParent of dropRootParents(endNodeAndParents.parentNodes)) { + if (locStart(endParent) >= startNodeStart) { resultEndNode = endParent; } else { break; } } - for (const startParent of startNodeAndParents.parentNodes) { - if (startParent.type !== "Program" && startParent.type !== "File" && opts.locEnd(startParent) <= opts.locEnd(endNodeAndParents.node)) { + const endNodeEnd = locEnd(endNodeAndParents.node); + + for (const startParent of dropRootParents(startNodeAndParents.parentNodes)) { + if (locEnd(startParent) <= endNodeEnd) { resultStartNode = startParent; } else { break; @@ -14700,20 +15038,27 @@ function findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts) { }; } -function findNodeAtOffset(node, offset, options, predicate, parentNodes = []) { - if (offset < options.locStart(node) || offset > options.locEnd(node)) { +function findNodeAtOffset(node, offset, options, predicate, parentNodes = [], type) { + const { + locStart, + locEnd + } = options; + const start = locStart(node); + const end = locEnd(node); + + if (offset > end || offset < start || type === "rangeEnd" && offset === start || type === "rangeStart" && offset === end) { return; } - for (const childNode of comments.getSortedChildNodes(node, options)) { - const childResult = findNodeAtOffset(childNode, offset, options, predicate, [node, ...parentNodes]); + for (const childNode of comments$1.getSortedChildNodes(node, options)) { + const childResult = findNodeAtOffset(childNode, offset, options, predicate, [node, ...parentNodes], type); if (childResult) { return childResult; } } - if (!predicate || predicate(node)) { + if (!predicate || predicate(node, parentNodes[0])) { return { node, parentNodes @@ -14722,16 +15067,16 @@ function findNodeAtOffset(node, offset, options, predicate, parentNodes = []) { } // See https://www.ecma-international.org/ecma-262/5.1/#sec-A.5 -function isJsSourceElement(type) { - return type === "Directive" || type === "TypeAlias" || type === "TSExportAssignment" || type.startsWith("Declare") || type.startsWith("TSDeclare") || type.endsWith("Statement") || type.endsWith("Declaration"); +function isJsSourceElement(type, parentType) { + return parentType !== "DeclareExportDeclaration" && type !== "TypeParameterDeclaration" && (type === "Directive" || type === "TypeAlias" || type === "TSExportAssignment" || type.startsWith("Declare") || type.startsWith("TSDeclare") || type.endsWith("Statement") || type.endsWith("Declaration")); } -const jsonSourceElements = new Set(["ObjectExpression", "ArrayExpression", "StringLiteral", "NumericLiteral", "BooleanLiteral", "NullLiteral"]); +const jsonSourceElements = new Set(["ObjectExpression", "ArrayExpression", "StringLiteral", "NumericLiteral", "BooleanLiteral", "NullLiteral", "UnaryExpression", "TemplateLiteral"]); const graphqlSourceElements = new Set(["OperationDefinition", "FragmentDefinition", "VariableDefinition", "TypeExtensionDefinition", "ObjectTypeDefinition", "FieldDefinition", "DirectiveDefinition", "EnumTypeDefinition", "EnumValueDefinition", "InputValueDefinition", "InputObjectTypeDefinition", "SchemaDefinition", "OperationTypeDefinition", "InterfaceTypeDefinition", "UnionTypeDefinition", "ScalarTypeDefinition"]); -function isSourceElement(opts, node) { +function isSourceElement(opts, node, parentNode) { /* istanbul ignore next */ - if (node == null) { + if (!node) { return false; } @@ -14741,9 +15086,14 @@ function isSourceElement(opts, node) { case "babel-flow": case "babel-ts": case "typescript": - return isJsSourceElement(node.type); + case "espree": + case "meriyah": + case "__babel_estree": + return isJsSourceElement(node.type, parentNode && parentNode.type); case "json": + case "json5": + case "json-stringify": return jsonSourceElements.has(node.type); case "graphql": @@ -14757,20 +15107,31 @@ function isSourceElement(opts, node) { } function calculateRange(text, opts, ast) { - // Contract the range so that it has non-whitespace characters at its endpoints. + let { + rangeStart: start, + rangeEnd: end, + locStart, + locEnd + } = opts; + assert__default['default'].ok(end > start); // Contract the range so that it has non-whitespace characters at its endpoints. // This ensures we can format a range that doesn't end on a node. - const rangeStringOrig = text.slice(opts.rangeStart, opts.rangeEnd); - const startNonWhitespace = Math.max(opts.rangeStart + rangeStringOrig.search(/\S/), opts.rangeStart); - let endNonWhitespace; - for (endNonWhitespace = opts.rangeEnd; endNonWhitespace > opts.rangeStart; --endNonWhitespace) { - if (/\S/.test(text[endNonWhitespace - 1])) { - break; + const firstNonWhitespaceCharacterIndex = text.slice(start, end).search(/\S/); + const isAllWhitespace = firstNonWhitespaceCharacterIndex === -1; + + if (!isAllWhitespace) { + start += firstNonWhitespaceCharacterIndex; + + for (; end > start; --end) { + if (/\S/.test(text[end - 1])) { + break; + } } } - const startNodeAndParents = findNodeAtOffset(ast, startNonWhitespace, opts, node => isSourceElement(opts, node)); - const endNodeAndParents = findNodeAtOffset(ast, endNonWhitespace, opts, node => isSourceElement(opts, node)); + const startNodeAndParents = findNodeAtOffset(ast, start, opts, (node, parentNode) => isSourceElement(opts, node, parentNode), [], "rangeStart"); + const endNodeAndParents = // No need find Node at `end`, it will be the same as `startNodeAndParents` + isAllWhitespace ? startNodeAndParents : findNodeAtOffset(ast, end, opts, node => isSourceElement(opts, node), [], "rangeEnd"); if (!startNodeAndParents || !endNodeAndParents) { return { @@ -14779,13 +15140,23 @@ function calculateRange(text, opts, ast) { }; } - const { - startNode, - endNode - } = findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts); + let startNode; + let endNode; + + if (isJsonParser(opts)) { + const commonAncestor = findCommonAncestor(startNodeAndParents, endNodeAndParents); + startNode = commonAncestor; + endNode = commonAncestor; + } else { + ({ + startNode, + endNode + } = findSiblingAncestors(startNodeAndParents, endNodeAndParents, opts)); + } + return { - rangeStart: Math.min(opts.locStart(startNode), opts.locStart(endNode)), - rangeEnd: Math.max(opts.locEnd(startNode), opts.locEnd(endNode)) + rangeStart: Math.min(locStart(startNode), locStart(endNode)), + rangeEnd: Math.max(locEnd(startNode), locEnd(endNode)) }; } @@ -14796,22 +15167,22 @@ var rangeUtil = { const { printer: { - printDocToString: printDocToString$1 + printDocToString: printDocToString$2 }, debug: { printDocToDebug } -} = document; +} = doc; const { getAlignmentSize: getAlignmentSize$1 -} = util; +} = util$5; const { - guessEndOfLine: guessEndOfLine$1, - convertEndOfLineToChars: convertEndOfLineToChars$2, - countEndOfLineChars: countEndOfLineChars$1, + guessEndOfLine, + convertEndOfLineToChars, + countEndOfLineChars, normalizeEndOfLine: normalizeEndOfLine$1 } = endOfLine; -const normalizeOptions$1 = options$1.normalize; +const normalizeOptions$2 = options$6.normalize; const BOM = "\uFEFF"; const CURSOR = Symbol("cursor"); @@ -14820,7 +15191,7 @@ function attachComments(text, ast, opts) { if (astComments) { delete ast.comments; - comments.attach(astComments, ast, text, opts); + comments$1.attach(astComments, ast, text, opts); } opts[Symbol.for("comments")] = astComments || []; @@ -14829,20 +15200,19 @@ function attachComments(text, ast, opts) { return astComments; } -function coreFormat(text, opts, addAlignmentSize) { - if (!text || !text.trim().length) { +function coreFormat(originalText, opts, addAlignmentSize = 0) { + if (!originalText || originalText.trim().length === 0) { return { formatted: "", - cursorOffset: -1 + cursorOffset: -1, + comments: [] }; } - addAlignmentSize = addAlignmentSize || 0; - const parsed = parser.parse(text, opts); const { - ast - } = parsed; - text = parsed.text; + ast, + text + } = parser$1.parse(originalText, opts); if (opts.cursorOffset >= 0) { const nodeResult = rangeUtil.findNodeAtOffset(ast, opts.cursorOffset, opts); @@ -14854,8 +15224,8 @@ function coreFormat(text, opts, addAlignmentSize) { const astComments = attachComments(text, ast, opts); const doc = astToDoc(ast, opts, addAlignmentSize); - const result = printDocToString$1(doc, opts); - comments.ensureAllCommentsPrinted(astComments); // Remove extra leading indentation as well as the added indentation after last newline + const result = printDocToString$2(doc, opts); + comments$1.ensureAllCommentsPrinted(astComments); // Remove extra leading indentation as well as the added indentation after last newline if (addAlignmentSize > 0) { const trimmed = result.formatted.trim(); @@ -14864,7 +15234,7 @@ function coreFormat(text, opts, addAlignmentSize) { result.cursorNodeStart -= result.formatted.indexOf(trimmed); } - result.formatted = trimmed + convertEndOfLineToChars$2(opts.endOfLine); + result.formatted = trimmed + convertEndOfLineToChars(opts.endOfLine); } if (opts.cursorOffset >= 0) { @@ -14891,7 +15261,8 @@ function coreFormat(text, opts, addAlignmentSize) { if (oldCursorNodeText === newCursorNodeText) { return { formatted: result.formatted, - cursorOffset: newCursorNodeStart + cursorOffsetRelativeToOldCursorNode + cursorOffset: newCursorNodeStart + cursorOffsetRelativeToOldCursorNode, + comments: astComments }; } // diff old and new cursor node texts, with a special cursor // symbol inserted to find out where it moves to @@ -14900,7 +15271,7 @@ function coreFormat(text, opts, addAlignmentSize) { const oldCursorNodeCharArray = oldCursorNodeText.split(""); oldCursorNodeCharArray.splice(cursorOffsetRelativeToOldCursorNode, 0, CURSOR); const newCursorNodeCharArray = newCursorNodeText.split(""); - const cursorNodeDiff = index_es6.diffArrays(oldCursorNodeCharArray, newCursorNodeCharArray); + const cursorNodeDiff = lib$6.diffArrays(oldCursorNodeCharArray, newCursorNodeCharArray); let cursorOffset = newCursorNodeStart; for (const entry of cursorNodeDiff) { @@ -14915,22 +15286,23 @@ function coreFormat(text, opts, addAlignmentSize) { return { formatted: result.formatted, - cursorOffset + cursorOffset, + comments: astComments }; } return { formatted: result.formatted, - cursorOffset: -1 + cursorOffset: -1, + comments: astComments }; } -function formatRange(text, opts) { - const parsed = parser.parse(text, opts); +function formatRange(originalText, opts) { const { - ast - } = parsed; - text = parsed.text; + ast, + text + } = parser$1.parse(originalText, opts); const { rangeStart, rangeEnd @@ -14942,11 +15314,11 @@ function formatRange(text, opts) { const rangeStart2 = Math.min(rangeStart, text.lastIndexOf("\n", rangeStart) + 1); const indentString = text.slice(rangeStart2, rangeStart).match(/^\s*/)[0]; const alignmentSize = getAlignmentSize$1(indentString, opts.tabWidth); - const rangeResult = coreFormat(rangeString, Object.assign({}, opts, { + const rangeResult = coreFormat(rangeString, Object.assign(Object.assign({}, opts), {}, { rangeStart: 0, - rangeEnd: Infinity, + rangeEnd: Number.POSITIVE_INFINITY, // Track the cursor offset only if it's within our range - cursorOffset: opts.cursorOffset > rangeStart && opts.cursorOffset < rangeEnd ? opts.cursorOffset - rangeStart : -1, + cursorOffset: opts.cursorOffset > rangeStart && opts.cursorOffset <= rangeEnd ? opts.cursorOffset - rangeStart : -1, // Always use `lf` to format, we'll replace it later endOfLine: "lf" }), alignmentSize); // Since the range contracts to avoid trailing whitespace, @@ -14957,9 +15329,9 @@ function formatRange(text, opts) { cursorOffset } = opts; - if (cursorOffset >= rangeEnd) { + if (cursorOffset > rangeEnd) { // handle the case where the cursor was past the end of the range - cursorOffset = opts.cursorOffset + (rangeTrimmed.length - rangeString.length); + cursorOffset += rangeTrimmed.length - rangeString.length; } else if (rangeResult.cursorOffset >= 0) { // handle the case where the cursor was in the range cursorOffset = rangeResult.cursorOffset + rangeStart; @@ -14969,10 +15341,10 @@ function formatRange(text, opts) { let formatted = text.slice(0, rangeStart) + rangeTrimmed + text.slice(rangeEnd); if (opts.endOfLine !== "lf") { - const eol = convertEndOfLineToChars$2(opts.endOfLine); + const eol = convertEndOfLineToChars(opts.endOfLine); if (cursorOffset >= 0 && eol === "\r\n") { - cursorOffset += countEndOfLineChars$1(formatted.slice(0, cursorOffset), "\n"); + cursorOffset += countEndOfLineChars(formatted.slice(0, cursorOffset), "\n"); } formatted = formatted.replace(/\n/g, eol); @@ -14980,93 +15352,113 @@ function formatRange(text, opts) { return { formatted, - cursorOffset + cursorOffset, + comments: rangeResult.comments }; } -function format(originalText, opts) { - const selectedParser = parser.resolveParser(opts); - const hasBOM = originalText.charAt(0) === BOM; - let text = hasBOM ? originalText.slice(1) : originalText; - const hasCursor = opts.cursorOffset >= 0; - - if (!hasCursor) { - opts.cursorOffset = -1; +function ensureIndexInText(text, index, defaultValue) { + if (typeof index !== "number" || Number.isNaN(index) || index < 0 || index > text.length) { + return defaultValue; } - const hasPragma = !selectedParser.hasPragma || selectedParser.hasPragma(text); + return index; +} - if (opts.requirePragma && !hasPragma) { - return { - formatted: originalText, - cursorOffset: opts.cursorOffset - }; - } +function normalizeIndexes(text, options) { + let { + cursorOffset, + rangeStart, + rangeEnd + } = options; + cursorOffset = ensureIndexInText(text, cursorOffset, -1); + rangeStart = ensureIndexInText(text, rangeStart, 0); + rangeEnd = ensureIndexInText(text, rangeEnd, text.length); + return Object.assign(Object.assign({}, options), {}, { + cursorOffset, + rangeStart, + rangeEnd + }); +} - if (opts.endOfLine === "auto") { - opts.endOfLine = guessEndOfLine$1(text); - } - - const hasRangeStart = opts.rangeStart > 0; - const hasRangeEnd = opts.rangeEnd < text.length; +function normalizeInputAndOptions(text, options) { + let { + cursorOffset, + rangeStart, + rangeEnd, + endOfLine + } = normalizeIndexes(text, options); + const hasBOM = text.charAt(0) === BOM; if (hasBOM) { - if (hasCursor) { - opts.cursorOffset--; - } + text = text.slice(1); + cursorOffset--; + rangeStart--; + rangeEnd--; + } - if (hasRangeStart) { - opts.rangeStart--; - } - - if (hasRangeEnd) { - opts.rangeEnd--; - } + if (endOfLine === "auto") { + endOfLine = guessEndOfLine(text); } // get rid of CR/CRLF parsing if (text.includes("\r")) { - const countCrlfBefore = position => countEndOfLineChars$1(text.slice(0, position), "\r\n"); - - if (hasCursor) { - opts.cursorOffset -= countCrlfBefore(opts.cursorOffset); - } - - if (hasRangeStart) { - opts.rangeStart -= countCrlfBefore(opts.rangeStart); - } - - if (hasRangeEnd) { - opts.rangeEnd -= countCrlfBefore(opts.rangeEnd); - } + const countCrlfBefore = index => countEndOfLineChars(text.slice(0, Math.max(index, 0)), "\r\n"); + cursorOffset -= countCrlfBefore(cursorOffset); + rangeStart -= countCrlfBefore(rangeStart); + rangeEnd -= countCrlfBefore(rangeEnd); text = normalizeEndOfLine$1(text); } - if (opts.rangeStart < 0) { - opts.rangeStart = 0; - } + return { + hasBOM, + text, + options: normalizeIndexes(text, Object.assign(Object.assign({}, options), {}, { + cursorOffset, + rangeStart, + rangeEnd, + endOfLine + })) + }; +} - if (opts.rangeEnd > text.length) { - opts.rangeEnd = text.length; +function hasPragma$5(text, options) { + const selectedParser = parser$1.resolveParser(options); + return !selectedParser.hasPragma || selectedParser.hasPragma(text); +} + +function formatWithCursor$1(originalText, originalOptions) { + let { + hasBOM, + text, + options + } = normalizeInputAndOptions(originalText, normalizeOptions$2(originalOptions)); + + if (options.rangeStart >= options.rangeEnd && text !== "" || options.requirePragma && !hasPragma$5(text, options)) { + return { + formatted: originalText, + cursorOffset: originalOptions.cursorOffset, + comments: [] + }; } let result; - if (hasRangeStart || hasRangeEnd) { - result = formatRange(text, opts); + if (options.rangeStart > 0 || options.rangeEnd < text.length) { + result = formatRange(text, options); } else { - if (!hasPragma && opts.insertPragma && opts.printer.insertPragma) { - text = opts.printer.insertPragma(text); + if (!options.requirePragma && options.insertPragma && options.printer.insertPragma && !hasPragma$5(text, options)) { + text = options.printer.insertPragma(text); } - result = coreFormat(text, opts); + result = coreFormat(text, options); } if (hasBOM) { result.formatted = BOM + result.formatted; - if (hasCursor && result.cursorOffset >= 0) { + if (result.cursorOffset >= 0) { result.cursorOffset++; } } @@ -15074,52 +15466,48 @@ function format(originalText, opts) { return result; } -var core = { - formatWithCursor(text, opts) { - opts = normalizeOptions$1(opts); - return format(text, opts); - }, +var core$1 = { + formatWithCursor: formatWithCursor$1, - parse(text, opts, massage) { - opts = normalizeOptions$1(opts); - text = normalizeEndOfLine$1(text.charAt(0) === BOM ? text.slice(1) : text); - const parsed = parser.parse(text, opts); + parse(originalText, originalOptions, massage) { + const { + text, + options + } = normalizeInputAndOptions(originalText, normalizeOptions$2(originalOptions)); + const parsed = parser$1.parse(text, options); if (massage) { - parsed.ast = massageAst(parsed.ast, opts); + parsed.ast = massageAst(parsed.ast, options); } return parsed; }, - formatAST(ast, opts) { - opts = normalizeOptions$1(opts); - const doc = astToDoc(ast, opts); - return printDocToString$1(doc, opts); + formatAST(ast, options) { + options = normalizeOptions$2(options); + const doc = astToDoc(ast, options); + return printDocToString$2(doc, options); }, // Doesn't handle shebang for now - formatDoc(doc, opts) { - opts = normalizeOptions$1(Object.assign({}, opts, { - parser: "babel" - })); - const debug = printDocToDebug(doc); - return format(debug, opts).formatted; + formatDoc(doc, options) { + return formatWithCursor$1(printDocToDebug(doc), Object.assign(Object.assign({}, options), {}, { + parser: "__js_expression" + })).formatted; }, - printToDoc(originalText, opts) { - opts = normalizeOptions$1(opts); - const parsed = parser.parse(originalText, opts); + printToDoc(originalText, options) { + options = normalizeOptions$2(options); const { ast, text - } = parsed; - attachComments(text, ast, opts); - return astToDoc(ast, opts); + } = parser$1.parse(originalText, options); + attachComments(text, ast, options); + return astToDoc(ast, options); }, - printDocToString(doc, opts) { - return printDocToString$1(doc, normalizeOptions$1(opts)); + printDocToString(doc, options) { + return printDocToString$2(doc, normalizeOptions$2(options)); } }; @@ -15129,13 +15517,13 @@ var concatMap = function (xs, fn) { for (var i = 0; i < xs.length; i++) { var x = fn(xs[i], i); - if (isArray$2(x)) res.push.apply(res, x);else res.push(x); + if (isArray$1(x)) res.push.apply(res, x);else res.push(x); } return res; }; -var isArray$2 = Array.isArray || function (xs) { +var isArray$1 = Array.isArray || function (xs) { return Object.prototype.toString.call(xs) === '[object Array]'; }; @@ -15168,6 +15556,10 @@ function range(a, b, str) { var i = ai; if (ai >= 0 && bi > 0) { + if (a === b) { + return [ai, bi]; + } + begs = []; left = str.length; @@ -15206,7 +15598,7 @@ var escClose = '\0CLOSE' + Math.random() + '\0'; var escComma = '\0COMMA' + Math.random() + '\0'; var escPeriod = '\0PERIOD' + Math.random() + '\0'; -function numeric$1(str) { +function numeric(str) { return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0); } @@ -15254,7 +15646,7 @@ function expandTop(str) { str = '\\{\\}' + str.substr(2); } - return expand(escapeBraces(str), true).map(unescapeBraces); + return expand$1(escapeBraces(str), true).map(unescapeBraces); } function embrace(str) { @@ -15269,11 +15661,11 @@ function lte(i, y) { return i <= y; } -function gte$1(i, y) { +function gte(i, y) { return i >= y; } -function expand(str, isTop) { +function expand$1(str, isTop) { var expansions = []; var m = balancedMatch('{', '}', str); if (!m || /\$$/.test(m.pre)) return [str]; @@ -15286,7 +15678,7 @@ function expand(str, isTop) { // {a},b} if (m.post.match(/,.*\}/)) { str = m.pre + '{' + m.body + escClose + m.post; - return expand(str); + return expand$1(str); } return [str]; @@ -15301,10 +15693,10 @@ function expand(str, isTop) { if (n.length === 1) { // x{{a,b}}y ==> x{a}y x{b}y - n = expand(n[0], false).map(embrace); + n = expand$1(n[0], false).map(embrace); if (n.length === 1) { - var post = m.post.length ? expand(m.post, false) : ['']; + var post = m.post.length ? expand$1(m.post, false) : ['']; return post.map(function (p) { return m.pre + n[0] + p; }); @@ -15316,20 +15708,20 @@ function expand(str, isTop) { var pre = m.pre; - var post = m.post.length ? expand(m.post, false) : ['']; + var post = m.post.length ? expand$1(m.post, false) : ['']; var N; if (isSequence) { - var x = numeric$1(n[0]); - var y = numeric$1(n[1]); + var x = numeric(n[0]); + var y = numeric(n[1]); var width = Math.max(n[0].length, n[1].length); - var incr = n.length == 3 ? Math.abs(numeric$1(n[2])) : 1; + var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1; var test = lte; var reverse = y < x; if (reverse) { incr *= -1; - test = gte$1; + test = gte; } var pad = n.some(isPadded); @@ -15358,7 +15750,7 @@ function expand(str, isTop) { } } else { N = concatMap(n, function (el) { - return expand(el, false); + return expand$1(el, false); }); } @@ -15374,12 +15766,12 @@ function expand(str, isTop) { var minimatch_1 = minimatch; minimatch.Minimatch = Minimatch; -var path = { +var path$3 = { sep: '/' }; try { - path = path__default['default']; + path$3 = require('path'); } catch (er) {} var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; @@ -15499,8 +15891,8 @@ function Minimatch(pattern, options) { if (!options) options = {}; pattern = pattern.trim(); // windows support: need to use /, not \ - if (path.sep !== '/') { - pattern = pattern.split(path.sep).join('/'); + if (path$3.sep !== '/') { + pattern = pattern.split(path$3.sep).join('/'); } this.options = options; @@ -15630,10 +16022,10 @@ function braceExpand(pattern, options) { // default, and can be disabled by setting options.noglobstar. -Minimatch.prototype.parse = parse$1; +Minimatch.prototype.parse = parse$9; var SUBPARSE = {}; -function parse$1(pattern, isSub) { +function parse$9(pattern, isSub) { if (pattern.length > 1024 * 64) { throw new TypeError('pattern is too long'); } @@ -16066,8 +16458,8 @@ function match(f, partial) { if (f === '/' && partial) return true; var options = this.options; // windows: need to use /, not \ - if (path.sep !== '/') { - f = f.split(path.sep).join('/'); + if (path$3.sep !== '/') { + f = f.split(path$3.sep).join('/'); } // treat the test path as a set of pathparts. @@ -16278,6 +16670,11 @@ const copyProperty = (to, from, property, ignoreNonConfigurable) => { // `Function#prototype` is non-writable and non-configurable so can never be modified. if (property === 'length' || property === 'prototype') { return; + } // `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here. + + + if (property === 'arguments' || property === 'caller') { + return; } const toDescriptor = Object.getOwnPropertyDescriptor(to, property); @@ -16319,7 +16716,7 @@ const changeToString = (to, from, name) => { const newToString = wrappedToString.bind(null, withName, from.toString()); // Ensure `to.toString.toString` is non-enumerable and has the same `same` Object.defineProperty(newToString, 'name', toStringName); - Object.defineProperty(to, 'toString', Object.assign({}, toStringDescriptor, { + Object.defineProperty(to, 'toString', Object.assign(Object.assign({}, toStringDescriptor), {}, { value: newToString })); }; @@ -16351,7 +16748,7 @@ var pDefer = () => { return ret; }; -var dist = createCommonjsModule(function (module, exports) { +var dist$2 = createCommonjsModule(function (module, exports) { var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { @@ -16491,64 +16888,142 @@ var dist = createCommonjsModule(function (module, exports) { module.exports.default = mapAgeCleaner; }); +const decoratorInstanceMap = new WeakMap(); const cacheStore = new WeakMap(); +/** +[Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input. -const mem = (fn, options = {}) => { - // Automatically use WeakMap unless the user provided their own cache - const weakCache = options.cache || new WeakMap(); - const { - cacheKey = ([firstArgument]) => firstArgument, - cache = new Map(), - maxAge - } = options; +@param fn - Function to be memoized. +@example +``` +import mem = require('mem'); + +let i = 0; +const counter = () => ++i; +const memoized = mem(counter); + +memoized('foo'); +//=> 1 + +// Cached as it's the same arguments +memoized('foo'); +//=> 1 + +// Not cached anymore as the arguments changed +memoized('bar'); +//=> 2 + +memoized('bar'); +//=> 2 +``` +*/ + +const mem = (fn, { + cacheKey, + cache = new Map(), + maxAge +} = {}) => { if (typeof maxAge === 'number') { - dist(cache); + // TODO: Drop after https://github.com/SamVerschueren/map-age-cleaner/issues/5 + // @ts-expect-error + dist$2(cache); } const memoized = function (...arguments_) { - const key = cacheKey(arguments_); // Prefer WeakMap if the key allows it + const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; + const cacheItem = cache.get(key); - const bestCache = key && (typeof key === 'object' || typeof key === 'function') ? weakCache : cache; - - if (bestCache.has(key)) { - return bestCache.get(key).data; + if (cacheItem) { + return cacheItem.data; } - const cacheItem = fn.apply(this, arguments_); - bestCache.set(key, { - data: cacheItem, - maxAge: maxAge ? Date.now() + maxAge : Infinity + const result = fn.apply(this, arguments_); + cache.set(key, { + data: result, + maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY }); - return cacheItem; + return result; }; - try { - // The below call will throw in some host environments - // See https://github.com/sindresorhus/mimic-fn/issues/10 - mimicFn_1(memoized, fn); - } catch (_) {} - + mimicFn_1(memoized, fn, { + ignoreNonConfigurable: true + }); cacheStore.set(memoized, cache); return memoized; }; +/** +@returns A [decorator](https://github.com/tc39/proposal-decorators) to memoize class methods or static class methods. -var mem_1 = mem; +@example +``` +import mem = require('mem'); -var clear = fn => { - if (!cacheStore.has(fn)) { - throw new Error('Can\'t clear a function that was not memoized!'); +class Example { + index = 0 + + @mem.decorator() + counter() { + return ++this.index; + } +} + +class ExampleWithOptions { + index = 0 + + @mem.decorator({maxAge: 1000}) + counter() { + return ++this.index; + } +} +``` +*/ + + +mem.decorator = (options = {}) => (target, propertyKey, descriptor) => { + const input = target[propertyKey]; + + if (typeof input !== 'function') { + throw new TypeError('The decorated value must be a function'); } + delete descriptor.value; + delete descriptor.writable; + + descriptor.get = function () { + if (!decoratorInstanceMap.has(this)) { + const value = mem(input, options); + decoratorInstanceMap.set(this, value); + return value; + } + + return decoratorInstanceMap.get(this); + }; +}; +/** +Clear all cached data of a memoized function. + +@param fn - Memoized function. +*/ + + +mem.clear = fn => { const cache = cacheStore.get(fn); - if (typeof cache.clear === 'function') { - cache.clear(); + if (!cache) { + throw new TypeError('Can\'t clear a function that was not memoized!'); } -}; -mem_1.clear = clear; -var thirdParty = require("./third-party"); + if (typeof cache.clear !== 'function') { + throw new TypeError('The cache Map can\'t be cleared!'); + } + + cache.clear(); +}; + +var dist$1 = mem; + +var thirdParty = require("./third-party.js"); const ParserEND = 0x110000; @@ -16698,7 +17173,7 @@ class Parser { Parser.END = ParserEND; Parser.Error = ParserError; -var parser$1 = Parser; +var parser = Parser; var createDatetime = value => { const date = new Date(value); @@ -16795,7 +17270,7 @@ var createTime = value => { /* eslint-disable no-new-wrappers, no-eval, camelcase, operator-linebreak */ -var tomlParser = makeParserClass(parser$1); +var tomlParser = makeParserClass(parser); var makeParserClass_1 = makeParserClass; class TomlError extends Error { @@ -16828,8 +17303,8 @@ const CHAR_SP = 0x20; const CHAR_QUOT = 0x22; const CHAR_NUM = 0x23; const CHAR_APOS = 0x27; -const CHAR_PLUS = 0x2B; -const CHAR_COMMA = 0x2C; +const CHAR_PLUS$1 = 0x2B; +const CHAR_COMMA$2 = 0x2C; const CHAR_HYPHEN = 0x2D; const CHAR_PERIOD = 0x2E; const CHAR_0 = 0x30; @@ -16905,7 +17380,7 @@ const _type = Symbol('type'); const _declared = Symbol('declared'); -const hasOwnProperty$2 = Object.prototype.hasOwnProperty; +const hasOwnProperty$a = Object.prototype.hasOwnProperty; const defineProperty = Object.defineProperty; const descriptor = { configurable: true, @@ -16915,7 +17390,7 @@ const descriptor = { }; function hasKey(obj, key) { - if (hasOwnProperty$2.call(obj, key)) return true; + if (hasOwnProperty$a.call(obj, key)) return true; if (key === '__proto__') defineProperty(obj, '__proto__', descriptor); return false; } @@ -16993,7 +17468,8 @@ function isList(obj) { let _custom; try { - const utilInspect = util__default['default'].inspect; + const utilInspect = require('util').inspect; + _custom = utilInspect.custom; } catch (_) { /* eval require not available in transpiled bundle */ @@ -17400,7 +17876,7 @@ function makeParserClass(Parser) { if (this.char === CHAR_APOS) { return this.next(this.parseSingleString); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { + } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS$1) { return this.goto(this.parseNumberSign); } else if (this.char === CHAR_i) { return this.next(this.parseInf); @@ -17830,7 +18306,7 @@ function makeParserClass(Parser) { parseNumberExponentSign() { if (isDigit(this.char)) { return this.goto(this.parseNumberExponent); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { + } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS$1) { this.consume(); this.call(this.parseNoUnder, this.parseNumberExponent); } else { @@ -18131,7 +18607,7 @@ function makeParserClass(Parser) { if (this.char === CHAR_PERIOD) { this.consume(); this.next(this.parseDateTimeFraction); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { + } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS$1) { this.consume(); this.next(this.parseTimeZoneHour); } else if (this.char === CHAR_Z) { @@ -18149,7 +18625,7 @@ function makeParserClass(Parser) { this.consume(); } else if (this.state.buf.length === 1) { throw this.error(new TomlError('Expected digit in milliseconds')); - } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) { + } else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS$1) { this.consume(); this.next(this.parseTimeZoneHour); } else if (this.char === CHAR_Z) { @@ -18307,7 +18783,7 @@ function makeParserClass(Parser) { return null; } else if (this.char === CHAR_NUM) { return this.call(this.parseComment); - } else if (this.char === CHAR_COMMA) { + } else if (this.char === CHAR_COMMA$2) { return this.next(this.parseInlineList); } else if (this.char === CHAR_RSQB) { return this.goto(this.parseInlineList); @@ -18361,7 +18837,7 @@ function makeParserClass(Parser) { return null; } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { throw this.error(new TomlError('Unterminated inline array')); - } else if (this.char === CHAR_COMMA) { + } else if (this.char === CHAR_COMMA$2) { return this.next(this.parseInlineTable); } else if (this.char === CHAR_RCUB) { return this.goto(this.parseInlineTable); @@ -18416,9 +18892,9 @@ function prettyError(err, buf) { return err; } -var parseString_1 = parseString; +var parseString_1$1 = parseString$2; -function parseString(str) { +function parseString$2(str) { if (global.Buffer && global.Buffer.isBuffer(str)) { str = str.toString('utf8'); } @@ -18435,7 +18911,7 @@ function parseString(str) { var loadToml = function (filePath, content) { try { - return parseString_1(content); + return parseString_1$1(content); } catch (error) { error.message = `TOML Error in ${filePath}:\n${error.message}`; throw error; @@ -18451,7 +18927,7 @@ var unicode = { ID_Start: ID_Start, ID_Continue: ID_Continue }; -var util$2 = { +var util$3 = { isSpaceSeparator(c) { return typeof c === 'string' && unicode.Space_Separator.test(c); }, @@ -18477,18 +18953,18 @@ let source$1; let parseState; let stack; let pos; -let line$2; +let line$v; let column; let token; let key; let root$1; -var parse$2 = function parse(text, reviver) { +var parse$8 = function parse(text, reviver) { source$1 = String(text); parseState = 'start'; stack = []; pos = 0; - line$2 = 1; + line$v = 1; column = 0; token = undefined; key = undefined; @@ -18531,14 +19007,14 @@ function internalize(holder, name, reviver) { } let lexState; -let buffer; +let buffer$2; let doubleQuote; let sign; let c; function lex() { lexState = 'default'; - buffer = ''; + buffer$2 = ''; doubleQuote = false; sign = 1; @@ -18566,7 +19042,7 @@ function read() { const c = peek(); if (c === '\n') { - line$2++; + line$v++; column = 0; } else if (c) { column += c.length; @@ -18607,7 +19083,7 @@ const lexStates = { return newToken('eof'); } - if (util$2.isSpaceSeparator(c)) { + if (util$3.isSpaceSeparator(c)) { read(); return; } // This code is unreachable. @@ -18694,17 +19170,17 @@ const lexStates = { case 'n': read(); - literal('ull'); + literal$1('ull'); return newToken('null', null); case 't': read(); - literal('rue'); + literal$1('rue'); return newToken('boolean', true); case 'f': read(); - literal('alse'); + literal$1('alse'); return newToken('boolean', false); case '-': @@ -18717,12 +19193,12 @@ const lexStates = { return; case '.': - buffer = read(); + buffer$2 = read(); lexState = 'decimalPointLeading'; return; case '0': - buffer = read(); + buffer$2 = read(); lexState = 'zero'; return; @@ -18735,24 +19211,24 @@ const lexStates = { case '7': case '8': case '9': - buffer = read(); + buffer$2 = read(); lexState = 'decimalInteger'; return; case 'I': read(); - literal('nfinity'); + literal$1('nfinity'); return newToken('numeric', Infinity); case 'N': read(); - literal('aN'); + literal$1('aN'); return newToken('numeric', NaN); case '"': case "'": doubleQuote = read() === '"'; - buffer = ''; + buffer$2 = ''; lexState = 'string'; return; } @@ -18774,14 +19250,14 @@ const lexStates = { break; default: - if (!util$2.isIdStartChar(u)) { + if (!util$3.isIdStartChar(u)) { throw invalidIdentifier(); } break; } - buffer += u; + buffer$2 += u; lexState = 'identifierName'; }, @@ -18791,7 +19267,7 @@ const lexStates = { case '_': case '\u200C': case '\u200D': - buffer += read(); + buffer$2 += read(); return; case '\\': @@ -18800,12 +19276,12 @@ const lexStates = { return; } - if (util$2.isIdContinueChar(c)) { - buffer += read(); + if (util$3.isIdContinueChar(c)) { + buffer$2 += read(); return; } - return newToken('identifier', buffer); + return newToken('identifier', buffer$2); }, identifierNameEscape() { @@ -18824,26 +19300,26 @@ const lexStates = { break; default: - if (!util$2.isIdContinueChar(u)) { + if (!util$3.isIdContinueChar(u)) { throw invalidIdentifier(); } break; } - buffer += u; + buffer$2 += u; lexState = 'identifierName'; }, sign() { switch (c) { case '.': - buffer = read(); + buffer$2 = read(); lexState = 'decimalPointLeading'; return; case '0': - buffer = read(); + buffer$2 = read(); lexState = 'zero'; return; @@ -18856,18 +19332,18 @@ const lexStates = { case '7': case '8': case '9': - buffer = read(); + buffer$2 = read(); lexState = 'decimalInteger'; return; case 'I': read(); - literal('nfinity'); + literal$1('nfinity'); return newToken('numeric', sign * Infinity); case 'N': read(); - literal('aN'); + literal$1('aN'); return newToken('numeric', NaN); } @@ -18877,19 +19353,19 @@ const lexStates = { zero() { switch (c) { case '.': - buffer += read(); + buffer$2 += read(); lexState = 'decimalPoint'; return; case 'e': case 'E': - buffer += read(); + buffer$2 += read(); lexState = 'decimalExponent'; return; case 'x': case 'X': - buffer += read(); + buffer$2 += read(); lexState = 'hexadecimal'; return; } @@ -18900,28 +19376,28 @@ const lexStates = { decimalInteger() { switch (c) { case '.': - buffer += read(); + buffer$2 += read(); lexState = 'decimalPoint'; return; case 'e': case 'E': - buffer += read(); + buffer$2 += read(); lexState = 'decimalExponent'; return; } - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); return; } - return newToken('numeric', sign * Number(buffer)); + return newToken('numeric', sign * Number(buffer$2)); }, decimalPointLeading() { - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); lexState = 'decimalFraction'; return; } @@ -18933,48 +19409,48 @@ const lexStates = { switch (c) { case 'e': case 'E': - buffer += read(); + buffer$2 += read(); lexState = 'decimalExponent'; return; } - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); lexState = 'decimalFraction'; return; } - return newToken('numeric', sign * Number(buffer)); + return newToken('numeric', sign * Number(buffer$2)); }, decimalFraction() { switch (c) { case 'e': case 'E': - buffer += read(); + buffer$2 += read(); lexState = 'decimalExponent'; return; } - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); return; } - return newToken('numeric', sign * Number(buffer)); + return newToken('numeric', sign * Number(buffer$2)); }, decimalExponent() { switch (c) { case '+': case '-': - buffer += read(); + buffer$2 += read(); lexState = 'decimalExponentSign'; return; } - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); lexState = 'decimalExponentInteger'; return; } @@ -18983,8 +19459,8 @@ const lexStates = { }, decimalExponentSign() { - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); lexState = 'decimalExponentInteger'; return; } @@ -18993,17 +19469,17 @@ const lexStates = { }, decimalExponentInteger() { - if (util$2.isDigit(c)) { - buffer += read(); + if (util$3.isDigit(c)) { + buffer$2 += read(); return; } - return newToken('numeric', sign * Number(buffer)); + return newToken('numeric', sign * Number(buffer$2)); }, hexadecimal() { - if (util$2.isHexDigit(c)) { - buffer += read(); + if (util$3.isHexDigit(c)) { + buffer$2 += read(); lexState = 'hexadecimalInteger'; return; } @@ -19012,37 +19488,37 @@ const lexStates = { }, hexadecimalInteger() { - if (util$2.isHexDigit(c)) { - buffer += read(); + if (util$3.isHexDigit(c)) { + buffer$2 += read(); return; } - return newToken('numeric', sign * Number(buffer)); + return newToken('numeric', sign * Number(buffer$2)); }, string() { switch (c) { case '\\': read(); - buffer += escape(); + buffer$2 += escape(); return; case '"': if (doubleQuote) { read(); - return newToken('string', buffer); + return newToken('string', buffer$2); } - buffer += read(); + buffer$2 += read(); return; case "'": if (!doubleQuote) { read(); - return newToken('string', buffer); + return newToken('string', buffer$2); } - buffer += read(); + buffer$2 += read(); return; case '\n': @@ -19058,7 +19534,7 @@ const lexStates = { throw invalidChar(read()); } - buffer += read(); + buffer$2 += read(); }, start() { @@ -19078,7 +19554,7 @@ const lexStates = { switch (c) { case '$': case '_': - buffer = read(); + buffer$2 = read(); lexState = 'identifierName'; return; @@ -19097,8 +19573,8 @@ const lexStates = { return; } - if (util$2.isIdStartChar(c)) { - buffer += read(); + if (util$3.isIdStartChar(c)) { + buffer$2 += read(); lexState = 'identifierName'; return; } @@ -19161,12 +19637,12 @@ function newToken(type, value) { return { type, value, - line: line$2, + line: line$v, column }; } -function literal(s) { +function literal$1(s) { for (const c of s) { const p = peek(); @@ -19209,7 +19685,7 @@ function escape() { case '0': read(); - if (util$2.isDigit(peek())) { + if (util$3.isDigit(peek())) { throw invalidChar(read()); } @@ -19260,14 +19736,14 @@ function hexEscape() { let buffer = ''; let c = peek(); - if (!util$2.isHexDigit(c)) { + if (!util$3.isHexDigit(c)) { throw invalidChar(read()); } buffer += read(); c = peek(); - if (!util$2.isHexDigit(c)) { + if (!util$3.isHexDigit(c)) { throw invalidChar(read()); } @@ -19282,7 +19758,7 @@ function unicodeEscape() { while (count-- > 0) { const c = peek(); - if (!util$2.isHexDigit(c)) { + if (!util$3.isHexDigit(c)) { throw invalidChar(read()); } @@ -19298,7 +19774,7 @@ const parseStates = { throw invalidEOF(); } - push(); + push$1(); }, beforePropertyName() { @@ -19341,7 +19817,7 @@ const parseStates = { throw invalidEOF(); } - push(); + push$1(); }, beforeArrayValue() { @@ -19354,7 +19830,7 @@ const parseStates = { return; } - push(); + push$1(); }, afterPropertyValue() { @@ -19407,7 +19883,7 @@ const parseStates = { }; -function push() { +function push$1() { let value; switch (token.type) { @@ -19491,14 +19967,14 @@ function pop() { function invalidChar(c) { if (c === undefined) { - return syntaxError(`JSON5: invalid end of input at ${line$2}:${column}`); + return syntaxError$2(`JSON5: invalid end of input at ${line$v}:${column}`); } - return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line$2}:${column}`); + return syntaxError$2(`JSON5: invalid character '${formatChar(c)}' at ${line$v}:${column}`); } function invalidEOF() { - return syntaxError(`JSON5: invalid end of input at ${line$2}:${column}`); + return syntaxError$2(`JSON5: invalid end of input at ${line$v}:${column}`); } // This code is unreachable. // function invalidToken () { // if (token.type === 'eof') { @@ -19511,7 +19987,7 @@ function invalidEOF() { function invalidIdentifier() { column -= 5; - return syntaxError(`JSON5: invalid identifier character at ${line$2}:${column}`); + return syntaxError$2(`JSON5: invalid identifier character at ${line$v}:${column}`); } function separatorChar(c) { @@ -19546,14 +20022,14 @@ function formatChar(c) { return c; } -function syntaxError(message) { +function syntaxError$2(message) { const err = new SyntaxError(message); - err.lineNumber = line$2; + err.lineNumber = line$v; err.columnNumber = column; return err; } -var stringify = function stringify(value, replacer, space) { +var stringify$3 = function stringify(value, replacer, space) { const stack = []; let indent = ''; let propertyList; @@ -19687,7 +20163,7 @@ var stringify = function stringify(value, replacer, space) { continue; case '\0': - if (util$2.isDigit(value[i + 1])) { + if (util$3.isDigit(value[i + 1])) { product += '\\x00'; continue; } @@ -19768,12 +20244,12 @@ var stringify = function stringify(value, replacer, space) { const firstChar = String.fromCodePoint(key.codePointAt(0)); - if (!util$2.isIdStartChar(firstChar)) { + if (!util$3.isIdStartChar(firstChar)) { return quoteString(key); } for (let i = firstChar.length; i < key.length; i++) { - if (!util$2.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + if (!util$3.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { return quoteString(key); } } @@ -19818,25 +20294,25 @@ var stringify = function stringify(value, replacer, space) { }; const JSON5 = { - parse: parse$2, - stringify + parse: parse$8, + stringify: stringify$3 }; -var lib$5 = JSON5; +var lib = JSON5; -var dist$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': lib$5 +var dist = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': lib }); -var require$$0$1 = getCjsExportFromNamespace(dist$1); +var require$$0$7 = /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(dist); const { - parse: parse$3 -} = require$$0$1; + parse: parse$7 +} = require$$0$7; var loadJson5 = function (filePath, content) { try { - return parse$3(content); + return parse$7(content); } catch (error) { error.message = `JSON5 Error in ${filePath}:\n${error.message}`; throw error; @@ -19858,25 +20334,13 @@ var caller = function () { var pathParse = createCommonjsModule(function (module) { - var isWindows = process.platform === 'win32'; // Regex to split a windows path into three parts: [*, device, slash, - // tail] windows-only + var isWindows = process.platform === 'win32'; // Regex to split a windows path into into [dir, root, basename, name, ext] - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; // Regex to split the tail part of the above into [*, dir, basename, ext] - - var splitTailRe = /^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/; - var win32 = {}; // Function to split a filename into [root, dir, basename, ext] + var splitWindowsRe = /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/; + var win32 = {}; function win32SplitPath(filename) { - // Separate device+slash from tail - var result = splitDeviceRe.exec(filename), - device = (result[1] || '') + (result[2] || ''), - tail = result[3] || ''; // Split the tail into dir, basename and extension - - var result2 = splitTailRe.exec(tail), - dir = result2[1], - basename = result2[2], - ext = result2[3]; - return [device, dir, basename, ext]; + return splitWindowsRe.exec(filename).slice(1); } win32.parse = function (pathString) { @@ -19886,22 +20350,22 @@ var pathParse = createCommonjsModule(function (module) { var allParts = win32SplitPath(pathString); - if (!allParts || allParts.length !== 4) { + if (!allParts || allParts.length !== 5) { throw new TypeError("Invalid path '" + pathString + "'"); } return { - root: allParts[0], - dir: allParts[0] + allParts[1].slice(0, -1), + root: allParts[1], + dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1), base: allParts[2], - ext: allParts[3], - name: allParts[2].slice(0, allParts[2].length - allParts[3].length) + ext: allParts[4], + name: allParts[3] }; - }; // Split a filename into [root, dir, basename, ext], unix version + }; // Split a filename into [dir, root, basename, name, ext], unix version // 'root' is just a slash, or nothing. - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + var splitPathRe = /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/; var posix = {}; function posixSplitPath(filename) { @@ -19915,19 +20379,16 @@ var pathParse = createCommonjsModule(function (module) { var allParts = posixSplitPath(pathString); - if (!allParts || allParts.length !== 4) { + if (!allParts || allParts.length !== 5) { throw new TypeError("Invalid path '" + pathString + "'"); } - allParts[1] = allParts[1] || ''; - allParts[2] = allParts[2] || ''; - allParts[3] = allParts[3] || ''; return { - root: allParts[0], - dir: allParts[0] + allParts[1].slice(0, -1), + root: allParts[1], + dir: allParts[0].slice(0, -1), base: allParts[2], - ext: allParts[3], - name: allParts[2].slice(0, allParts[2].length - allParts[3].length) + ext: allParts[4], + name: allParts[3] }; }; @@ -19938,7 +20399,7 @@ var pathParse = createCommonjsModule(function (module) { module.exports.win32 = win32.parse; }); -var parse$4 = path__default['default'].parse || pathParse; +var parse$6 = path__default['default'].parse || pathParse; var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { var prefix = '/'; @@ -19950,11 +20411,11 @@ var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { } var paths = [absoluteStart]; - var parsed = parse$4(absoluteStart); + var parsed = parse$6(absoluteStart); while (parsed.dir !== paths[paths.length - 1]) { paths.push(parsed.dir); - parsed = parse$4(parsed.dir); + parsed = parse$6(parsed.dir); } return paths.reduce(function (dirs, aPath) { @@ -19977,7 +20438,7 @@ var nodeModulesPaths = function nodeModulesPaths(start, opts, request) { return opts && opts.paths ? dirs.concat(opts.paths) : dirs; }; -var normalizeOptions$2 = function (x, opts) { +var normalizeOptions$1 = function (x, opts) { /** * This file is purposefully a passthrough. It's expected that third-party * environments will override it at runtime in order to inject special logic @@ -19987,244 +20448,307 @@ var normalizeOptions$2 = function (x, opts) { return opts || {}; }; -var assert = true; -var async_hooks = ">= 8"; -var buffer_ieee754 = "< 0.9.7"; +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var slice$1 = Array.prototype.slice; +var toStr = Object.prototype.toString; +var funcType = '[object Function]'; + +var implementation = function bind(that) { + var target = this; + + if (typeof target !== 'function' || toStr.call(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + + var args = slice$1.call(arguments, 1); + var bound; + + var binder = function () { + if (this instanceof bound) { + var result = target.apply(this, args.concat(slice$1.call(arguments))); + + if (Object(result) === result) { + return result; + } + + return this; + } else { + return target.apply(that, args.concat(slice$1.call(arguments))); + } + }; + + var boundLength = Math.max(0, target.length - args.length); + var boundArgs = []; + + for (var i = 0; i < boundLength; i++) { + boundArgs.push('$' + i); + } + + bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; + +var functionBind = Function.prototype.bind || implementation; + +var src$2 = functionBind.call(Function.call, Object.prototype.hasOwnProperty); + +var assert$1 = true; +var async_hooks$1 = ">= 8"; +var buffer_ieee754$1 = "< 0.9.7"; var buffer$1 = true; -var child_process = true; -var cluster = true; -var console$1 = true; -var constants$1 = true; -var crypto = true; -var _debug_agent = ">= 1 && < 8"; -var _debugger = "< 8"; -var dgram = true; -var dns = true; -var domain = true; -var events = true; -var freelist = "< 6"; -var fs = true; -var _http_agent = ">= 0.11.1"; -var _http_client = ">= 0.11.1"; -var _http_common = ">= 0.11.1"; -var _http_incoming = ">= 0.11.1"; -var _http_outgoing = ">= 0.11.1"; -var _http_server = ">= 0.11.1"; -var http = true; -var http2 = ">= 8.8"; -var https = true; -var inspector = ">= 8.0.0"; -var _linklist = "< 8"; -var module$1 = true; -var net = true; -var os = true; -var path$1 = true; -var perf_hooks = ">= 8.5"; -var process$1 = ">= 1"; -var punycode = true; -var querystring = true; -var readline = true; -var repl = true; -var smalloc = ">= 0.11.5 && < 3"; -var _stream_duplex = ">= 0.9.4"; -var _stream_transform = ">= 0.9.4"; -var _stream_wrap = ">= 1.4.1"; -var _stream_passthrough = ">= 0.9.4"; -var _stream_readable = ">= 0.9.4"; -var _stream_writable = ">= 0.9.4"; -var stream = true; -var string_decoder = true; -var sys = true; -var timers = true; -var _tls_common = ">= 0.11.13"; -var _tls_legacy = ">= 0.11.3 && < 10"; -var _tls_wrap = ">= 0.11.3"; -var tls = true; -var trace_events = ">= 10"; -var tty = true; -var url = true; -var util$3 = true; -var v8 = ">= 1"; -var vm = true; -var wasi = ">= 13.4 && < 13.5"; -var worker_threads = ">= 11.7"; -var zlib = true; -var core$1 = { - assert: assert, - async_hooks: async_hooks, - buffer_ieee754: buffer_ieee754, +var child_process$1 = true; +var cluster$1 = true; +var console$2 = true; +var constants$4 = true; +var crypto$1 = true; +var _debug_agent$1 = ">= 1 && < 8"; +var _debugger$1 = "< 8"; +var dgram$1 = true; +var diagnostics_channel$1 = [ + ">= 14.17 && < 15", + ">= 15.1" +]; +var dns$1 = true; +var domain$1 = ">= 0.7.12"; +var events$1 = true; +var freelist$1 = "< 6"; +var fs$5 = true; +var _http_agent$1 = ">= 0.11.1"; +var _http_client$1 = ">= 0.11.1"; +var _http_common$1 = ">= 0.11.1"; +var _http_incoming$1 = ">= 0.11.1"; +var _http_outgoing$1 = ">= 0.11.1"; +var _http_server$1 = ">= 0.11.1"; +var http$1 = true; +var http2$1 = ">= 8.8"; +var https$1 = true; +var inspector$1 = ">= 8"; +var _linklist$1 = "< 8"; +var module$3 = true; +var net$1 = true; +var os$1 = true; +var path$2 = true; +var perf_hooks$1 = ">= 8.5"; +var process$2 = ">= 1"; +var punycode$1 = true; +var querystring$1 = true; +var readline$1 = true; +var repl$1 = true; +var smalloc$1 = ">= 0.11.5 && < 3"; +var _stream_duplex$1 = ">= 0.9.4"; +var _stream_transform$1 = ">= 0.9.4"; +var _stream_wrap$1 = ">= 1.4.1"; +var _stream_passthrough$1 = ">= 0.9.4"; +var _stream_readable$1 = ">= 0.9.4"; +var _stream_writable$1 = ">= 0.9.4"; +var stream$6 = true; +var string_decoder$1 = true; +var sys$1 = [ + ">= 0.6 && < 0.7", + ">= 0.8" +]; +var timers$1 = true; +var _tls_common$1 = ">= 0.11.13"; +var _tls_legacy$1 = ">= 0.11.3 && < 10"; +var _tls_wrap$1 = ">= 0.11.3"; +var tls$1 = true; +var trace_events$1 = ">= 10"; +var tty$1 = true; +var url$1 = true; +var util$2 = true; +var v8$1 = ">= 1"; +var vm$1 = true; +var wasi$1 = ">= 13.4 && < 13.5"; +var worker_threads$1 = ">= 11.7"; +var zlib$1 = true; +var data$2 = { + assert: assert$1, + "node:assert": ">= 16", + "assert/strict": ">= 15", + "node:assert/strict": ">= 16", + async_hooks: async_hooks$1, + "node:async_hooks": ">= 16", + buffer_ieee754: buffer_ieee754$1, buffer: buffer$1, - child_process: child_process, - cluster: cluster, - console: console$1, - constants: constants$1, - crypto: crypto, - _debug_agent: _debug_agent, - _debugger: _debugger, - dgram: dgram, - dns: dns, - domain: domain, - events: events, - freelist: freelist, - fs: fs, + "node:buffer": ">= 16", + child_process: child_process$1, + "node:child_process": ">= 16", + cluster: cluster$1, + "node:cluster": ">= 16", + console: console$2, + "node:console": ">= 16", + constants: constants$4, + "node:constants": ">= 16", + crypto: crypto$1, + "node:crypto": ">= 16", + _debug_agent: _debug_agent$1, + _debugger: _debugger$1, + dgram: dgram$1, + "node:dgram": ">= 16", + diagnostics_channel: diagnostics_channel$1, + "node:diagnostics_channel": ">= 16", + dns: dns$1, + "node:dns": ">= 16", + "dns/promises": ">= 15", + "node:dns/promises": ">= 16", + domain: domain$1, + "node:domain": ">= 16", + events: events$1, + "node:events": ">= 16", + freelist: freelist$1, + fs: fs$5, + "node:fs": ">= 16", "fs/promises": [ ">= 10 && < 10.1", ">= 14" ], - _http_agent: _http_agent, - _http_client: _http_client, - _http_common: _http_common, - _http_incoming: _http_incoming, - _http_outgoing: _http_outgoing, - _http_server: _http_server, - http: http, - http2: http2, - https: https, - inspector: inspector, - _linklist: _linklist, - module: module$1, - net: net, - "node-inspect/lib/_inspect": ">= 7.6.0 && < 12", - "node-inspect/lib/internal/inspect_client": ">= 7.6.0 && < 12", - "node-inspect/lib/internal/inspect_repl": ">= 7.6.0 && < 12", - os: os, - path: path$1, - perf_hooks: perf_hooks, - process: process$1, - punycode: punycode, - querystring: querystring, - readline: readline, - repl: repl, - smalloc: smalloc, - _stream_duplex: _stream_duplex, - _stream_transform: _stream_transform, - _stream_wrap: _stream_wrap, - _stream_passthrough: _stream_passthrough, - _stream_readable: _stream_readable, - _stream_writable: _stream_writable, - stream: stream, - string_decoder: string_decoder, - sys: sys, - timers: timers, - _tls_common: _tls_common, - _tls_legacy: _tls_legacy, - _tls_wrap: _tls_wrap, - tls: tls, - trace_events: trace_events, - tty: tty, - url: url, - util: util$3, + "node:fs/promises": ">= 16", + _http_agent: _http_agent$1, + "node:_http_agent": ">= 16", + _http_client: _http_client$1, + "node:_http_client": ">= 16", + _http_common: _http_common$1, + "node:_http_common": ">= 16", + _http_incoming: _http_incoming$1, + "node:_http_incoming": ">= 16", + _http_outgoing: _http_outgoing$1, + "node:_http_outgoing": ">= 16", + _http_server: _http_server$1, + "node:_http_server": ">= 16", + http: http$1, + "node:http": ">= 16", + http2: http2$1, + "node:http2": ">= 16", + https: https$1, + "node:https": ">= 16", + inspector: inspector$1, + "node:inspector": ">= 16", + _linklist: _linklist$1, + module: module$3, + "node:module": ">= 16", + net: net$1, + "node:net": ">= 16", + "node-inspect/lib/_inspect": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", + os: os$1, + "node:os": ">= 16", + path: path$2, + "node:path": ">= 16", + "path/posix": ">= 15.3", + "node:path/posix": ">= 16", + "path/win32": ">= 15.3", + "node:path/win32": ">= 16", + perf_hooks: perf_hooks$1, + "node:perf_hooks": ">= 16", + process: process$2, + "node:process": ">= 16", + punycode: punycode$1, + "node:punycode": ">= 16", + querystring: querystring$1, + "node:querystring": ">= 16", + readline: readline$1, + "node:readline": ">= 16", + repl: repl$1, + "node:repl": ">= 16", + smalloc: smalloc$1, + _stream_duplex: _stream_duplex$1, + "node:_stream_duplex": ">= 16", + _stream_transform: _stream_transform$1, + "node:_stream_transform": ">= 16", + _stream_wrap: _stream_wrap$1, + "node:_stream_wrap": ">= 16", + _stream_passthrough: _stream_passthrough$1, + "node:_stream_passthrough": ">= 16", + _stream_readable: _stream_readable$1, + "node:_stream_readable": ">= 16", + _stream_writable: _stream_writable$1, + "node:_stream_writable": ">= 16", + stream: stream$6, + "node:stream": ">= 16", + "stream/promises": ">= 15", + "node:stream/promises": ">= 16", + string_decoder: string_decoder$1, + "node:string_decoder": ">= 16", + sys: sys$1, + "node:sys": ">= 16", + timers: timers$1, + "node:timers": ">= 16", + "timers/promises": ">= 15", + "node:timers/promises": ">= 16", + _tls_common: _tls_common$1, + "node:_tls_common": ">= 16", + _tls_legacy: _tls_legacy$1, + _tls_wrap: _tls_wrap$1, + "node:_tls_wrap": ">= 16", + tls: tls$1, + "node:tls": ">= 16", + trace_events: trace_events$1, + "node:trace_events": ">= 16", + tty: tty$1, + "node:tty": ">= 16", + url: url$1, + "node:url": ">= 16", + util: util$2, + "node:util": ">= 16", + "util/types": ">= 15.3", + "node:util/types": ">= 16", "v8/tools/arguments": ">= 10 && < 12", "v8/tools/codemap": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], "v8/tools/consarray": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], "v8/tools/csvparser": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], "v8/tools/logreader": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], "v8/tools/profile_view": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], "v8/tools/splaytree": [ - ">= 4.4.0 && < 5", - ">= 5.2.0 && < 12" + ">= 4.4 && < 5", + ">= 5.2 && < 12" ], - v8: v8, - vm: vm, - wasi: wasi, - worker_threads: worker_threads, - zlib: zlib + v8: v8$1, + "node:v8": ">= 16", + vm: vm$1, + "node:vm": ">= 16", + wasi: wasi$1, + worker_threads: worker_threads$1, + "node:worker_threads": ">= 16", + zlib: zlib$1, + "node:zlib": ">= 16" }; -var core$2 = /*#__PURE__*/Object.freeze({ - __proto__: null, - assert: assert, - async_hooks: async_hooks, - buffer_ieee754: buffer_ieee754, - buffer: buffer$1, - child_process: child_process, - cluster: cluster, - console: console$1, - constants: constants$1, - crypto: crypto, - _debug_agent: _debug_agent, - _debugger: _debugger, - dgram: dgram, - dns: dns, - domain: domain, - events: events, - freelist: freelist, - fs: fs, - _http_agent: _http_agent, - _http_client: _http_client, - _http_common: _http_common, - _http_incoming: _http_incoming, - _http_outgoing: _http_outgoing, - _http_server: _http_server, - http: http, - http2: http2, - https: https, - inspector: inspector, - _linklist: _linklist, - module: module$1, - net: net, - os: os, - path: path$1, - perf_hooks: perf_hooks, - process: process$1, - punycode: punycode, - querystring: querystring, - readline: readline, - repl: repl, - smalloc: smalloc, - _stream_duplex: _stream_duplex, - _stream_transform: _stream_transform, - _stream_wrap: _stream_wrap, - _stream_passthrough: _stream_passthrough, - _stream_readable: _stream_readable, - _stream_writable: _stream_writable, - stream: stream, - string_decoder: string_decoder, - sys: sys, - timers: timers, - _tls_common: _tls_common, - _tls_legacy: _tls_legacy, - _tls_wrap: _tls_wrap, - tls: tls, - trace_events: trace_events, - tty: tty, - url: url, - util: util$3, - v8: v8, - vm: vm, - wasi: wasi, - worker_threads: worker_threads, - zlib: zlib, - 'default': core$1 -}); - -var data = getCjsExportFromNamespace(core$2); - -var current = process.versions && process.versions.node && process.versions.node.split('.') || []; - -function specifierIncluded(specifier) { +function specifierIncluded$1(current, specifier) { + var nodeParts = current.split('.'); var parts = specifier.split(' '); var op = parts.length > 1 ? parts[0] : '='; var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.'); for (var i = 0; i < 3; ++i) { - var cur = Number(current[i] || 0); - var ver = Number(versionParts[i] || 0); + var cur = parseInt(nodeParts[i] || 0, 10); + var ver = parseInt(versionParts[i] || 0, 10); if (cur === ver) { continue; // eslint-disable-line no-restricted-syntax, no-continue @@ -20232,17 +20756,19 @@ function specifierIncluded(specifier) { if (op === '<') { return cur < ver; - } else if (op === '>=') { - return cur >= ver; - } else { - return false; } + + if (op === '>=') { + return cur >= ver; + } + + return false; } return op === '>='; } -function matchesRange(range) { +function matchesRange$1(current, range) { var specifiers = range.split(/ ?&& ?/); if (specifiers.length === 0) { @@ -20250,7 +20776,7 @@ function matchesRange(range) { } for (var i = 0; i < specifiers.length; ++i) { - if (!specifierIncluded(specifiers[i])) { + if (!specifierIncluded$1(current, specifiers[i])) { return false; } } @@ -20258,14 +20784,20 @@ function matchesRange(range) { return true; } -function versionIncluded(specifierValue) { +function versionIncluded$1(nodeVersion, specifierValue) { if (typeof specifierValue === 'boolean') { return specifierValue; } + var current = typeof nodeVersion === 'undefined' ? process.versions && process.versions.node && process.versions.node : nodeVersion; + + if (typeof current !== 'string') { + throw new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required'); + } + if (specifierValue && typeof specifierValue === 'object') { for (var i = 0; i < specifierValue.length; ++i) { - if (matchesRange(specifierValue[i])) { + if (matchesRange$1(current, specifierValue[i])) { return true; } } @@ -20273,27 +20805,16 @@ function versionIncluded(specifierValue) { return false; } - return matchesRange(specifierValue); + return matchesRange$1(current, specifierValue); } -var core$3 = {}; - -for (var mod in data) { - // eslint-disable-line no-restricted-syntax - if (Object.prototype.hasOwnProperty.call(data, mod)) { - core$3[mod] = versionIncluded(data[mod]); - } -} - -var core_1 = core$3; - -var isCore = function isCore(x) { - return Object.prototype.hasOwnProperty.call(core_1, x); +var isCoreModule = function isCore(x, nodeVersion) { + return src$2(data$2, x) && versionIncluded$1(nodeVersion, data$2[x]); }; -var realpathFS = fs__default['default'].realpath && typeof fs__default['default'].realpath.native === 'function' ? fs__default['default'].realpath.native : fs__default['default'].realpath; +var realpathFS$1 = fs__default['default'].realpath && typeof fs__default['default'].realpath.native === 'function' ? fs__default['default'].realpath.native : fs__default['default'].realpath; -var defaultIsFile = function isFile(file, cb) { +var defaultIsFile$1 = function isFile(file, cb) { fs__default['default'].stat(file, function (err, stat) { if (!err) { return cb(null, stat.isFile() || stat.isFIFO()); @@ -20304,7 +20825,7 @@ var defaultIsFile = function isFile(file, cb) { }); }; -var defaultIsDir = function isDirectory(dir, cb) { +var defaultIsDir$1 = function isDirectory(dir, cb) { fs__default['default'].stat(dir, function (err, stat) { if (!err) { return cb(null, stat.isDirectory()); @@ -20316,7 +20837,7 @@ var defaultIsDir = function isDirectory(dir, cb) { }; var defaultRealpath = function realpath(x, cb) { - realpathFS(x, function (realpathErr, realPath) { + realpathFS$1(x, function (realpathErr, realPath) { if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr);else cb(null, realpathErr ? x : realPath); }); }; @@ -20329,7 +20850,20 @@ var maybeRealpath = function maybeRealpath(realpath, x, opts, cb) { } }; -var getPackageCandidates = function getPackageCandidates(x, start, opts) { +var defaultReadPackage = function defaultReadPackage(readFile, pkgfile, cb) { + readFile(pkgfile, function (readFileErr, body) { + if (readFileErr) cb(readFileErr);else { + try { + var pkg = JSON.parse(body); + cb(null, pkg); + } catch (jsonErr) { + cb(null); + } + } + }); +}; + +var getPackageCandidates$1 = function getPackageCandidates(x, start, opts) { var dirs = nodeModulesPaths(start, opts, x); for (var i = 0; i < dirs.length; i++) { @@ -20339,7 +20873,7 @@ var getPackageCandidates = function getPackageCandidates(x, start, opts) { return dirs; }; -var async = function resolve(x, options, callback) { +var async$5 = function resolve(x, options, callback) { var cb = callback; var opts = options; @@ -20355,13 +20889,23 @@ var async = function resolve(x, options, callback) { }); } - opts = normalizeOptions$2(x, opts); - var isFile = opts.isFile || defaultIsFile; - var isDirectory = opts.isDirectory || defaultIsDir; + opts = normalizeOptions$1(x, opts); + var isFile = opts.isFile || defaultIsFile$1; + var isDirectory = opts.isDirectory || defaultIsDir$1; var readFile = opts.readFile || fs__default['default'].readFile; var realpath = opts.realpath || defaultRealpath; + var readPackage = opts.readPackage || defaultReadPackage; + + if (opts.readFile && opts.readPackage) { + var conflictErr = new TypeError('`readFile` and `readPackage` are mutually exclusive.'); + return process.nextTick(function () { + cb(conflictErr); + }); + } + var packageIterator = opts.packageIterator; var extensions = opts.extensions || ['.js']; + var includeCoreModules = opts.includeCoreModules !== false; var basedir = opts.basedir || path__default['default'].dirname(caller()); var parent = opts.filename || basedir; opts.paths = opts.paths || []; // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory @@ -20380,7 +20924,7 @@ var async = function resolve(x, options, callback) { if (/\/$/.test(x) && res === basedir) { loadAsDirectory(res, opts.package, onfile); } else loadAsFile(res, opts.package, onfile); - } else if (isCore(x)) { + } else if (includeCoreModules && isCoreModule(x)) { return cb(null, x); } else loadNodeModules(x, basedir, function (err, n, pkg) { if (err) cb(err);else if (n) { @@ -20471,12 +21015,9 @@ var async = function resolve(x, options, callback) { isFile(pkgfile, function (err, ex) { // on err, ex is false if (!ex) return loadpkg(path__default['default'].dirname(dir), cb); - readFile(pkgfile, function (err, body) { + readPackage(readFile, pkgfile, function (err, pkgParam) { if (err) cb(err); - - try { - var pkg = JSON.parse(body); - } catch (jsonErr) {} + var pkg = pkgParam; if (pkg && opts.packageFilter) { pkg = opts.packageFilter(pkg, pkgfile); @@ -20503,12 +21044,9 @@ var async = function resolve(x, options, callback) { isFile(pkgfile, function (err, ex) { if (err) return cb(err); if (!ex) return loadAsFile(path__default['default'].join(x, 'index'), fpkg, cb); - readFile(pkgfile, function (err, body) { + readPackage(readFile, pkgfile, function (err, pkgParam) { if (err) return cb(err); - - try { - var pkg = JSON.parse(body); - } catch (jsonErr) {} + var pkg = pkgParam; if (pkg && opts.packageFilter) { pkg = opts.packageFilter(pkg, pkgfile); @@ -20571,16 +21109,263 @@ var async = function resolve(x, options, callback) { function loadNodeModules(x, start, cb) { var thunk = function () { - return getPackageCandidates(x, start, opts); + return getPackageCandidates$1(x, start, opts); }; processDirs(cb, packageIterator ? packageIterator(x, start, thunk, opts) : thunk()); } }; -var realpathFS$1 = fs__default['default'].realpathSync && typeof fs__default['default'].realpathSync.native === 'function' ? fs__default['default'].realpathSync.native : fs__default['default'].realpathSync; +var assert = true; +var async_hooks = ">= 8"; +var buffer_ieee754 = "< 0.9.7"; +var buffer = true; +var child_process = true; +var cluster = true; +var console$1 = true; +var constants$3 = true; +var crypto = true; +var _debug_agent = ">= 1 && < 8"; +var _debugger = "< 8"; +var dgram = true; +var diagnostics_channel = ">= 15.1"; +var dns = true; +var domain = ">= 0.7.12"; +var events = true; +var freelist = "< 6"; +var fs$4 = true; +var _http_agent = ">= 0.11.1"; +var _http_client = ">= 0.11.1"; +var _http_common = ">= 0.11.1"; +var _http_incoming = ">= 0.11.1"; +var _http_outgoing = ">= 0.11.1"; +var _http_server = ">= 0.11.1"; +var http = true; +var http2 = ">= 8.8"; +var https = true; +var inspector = ">= 8.0.0"; +var _linklist = "< 8"; +var module$2 = true; +var net = true; +var os = true; +var path$1 = true; +var perf_hooks = ">= 8.5"; +var process$1 = ">= 1"; +var punycode = true; +var querystring = true; +var readline = true; +var repl = true; +var smalloc = ">= 0.11.5 && < 3"; +var _stream_duplex = ">= 0.9.4"; +var _stream_transform = ">= 0.9.4"; +var _stream_wrap = ">= 1.4.1"; +var _stream_passthrough = ">= 0.9.4"; +var _stream_readable = ">= 0.9.4"; +var _stream_writable = ">= 0.9.4"; +var stream$5 = true; +var string_decoder = true; +var sys = [ + ">= 0.6 && < 0.7", + ">= 0.8" +]; +var timers = true; +var _tls_common = ">= 0.11.13"; +var _tls_legacy = ">= 0.11.3 && < 10"; +var _tls_wrap = ">= 0.11.3"; +var tls = true; +var trace_events = ">= 10"; +var tty = true; +var url = true; +var util$1 = true; +var v8 = ">= 1"; +var vm = true; +var wasi = ">= 13.4 && < 13.5"; +var worker_threads = ">= 11.7"; +var zlib = true; +var data$1 = { + assert: assert, + "assert/strict": ">= 15", + async_hooks: async_hooks, + buffer_ieee754: buffer_ieee754, + buffer: buffer, + child_process: child_process, + cluster: cluster, + console: console$1, + constants: constants$3, + crypto: crypto, + _debug_agent: _debug_agent, + _debugger: _debugger, + dgram: dgram, + diagnostics_channel: diagnostics_channel, + dns: dns, + "dns/promises": ">= 15", + domain: domain, + events: events, + freelist: freelist, + fs: fs$4, + "fs/promises": [ + ">= 10 && < 10.1", + ">= 14" +], + _http_agent: _http_agent, + _http_client: _http_client, + _http_common: _http_common, + _http_incoming: _http_incoming, + _http_outgoing: _http_outgoing, + _http_server: _http_server, + http: http, + http2: http2, + https: https, + inspector: inspector, + _linklist: _linklist, + module: module$2, + net: net, + "node-inspect/lib/_inspect": ">= 7.6.0 && < 12", + "node-inspect/lib/internal/inspect_client": ">= 7.6.0 && < 12", + "node-inspect/lib/internal/inspect_repl": ">= 7.6.0 && < 12", + os: os, + path: path$1, + "path/posix": ">= 15.3", + "path/win32": ">= 15.3", + perf_hooks: perf_hooks, + process: process$1, + punycode: punycode, + querystring: querystring, + readline: readline, + repl: repl, + smalloc: smalloc, + _stream_duplex: _stream_duplex, + _stream_transform: _stream_transform, + _stream_wrap: _stream_wrap, + _stream_passthrough: _stream_passthrough, + _stream_readable: _stream_readable, + _stream_writable: _stream_writable, + stream: stream$5, + "stream/promises": ">= 15", + string_decoder: string_decoder, + sys: sys, + timers: timers, + "timers/promises": ">= 15", + _tls_common: _tls_common, + _tls_legacy: _tls_legacy, + _tls_wrap: _tls_wrap, + tls: tls, + trace_events: trace_events, + tty: tty, + url: url, + util: util$1, + "util/types": ">= 15.3", + "v8/tools/arguments": ">= 10 && < 12", + "v8/tools/codemap": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + "v8/tools/consarray": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + "v8/tools/csvparser": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + "v8/tools/logreader": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + "v8/tools/profile_view": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + "v8/tools/splaytree": [ + ">= 4.4.0 && < 5", + ">= 5.2.0 && < 12" +], + v8: v8, + vm: vm, + wasi: wasi, + worker_threads: worker_threads, + zlib: zlib +}; -var defaultIsFile$1 = function isFile(file) { +var current = process.versions && process.versions.node && process.versions.node.split('.') || []; + +function specifierIncluded(specifier) { + var parts = specifier.split(' '); + var op = parts.length > 1 ? parts[0] : '='; + var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.'); + + for (var i = 0; i < 3; ++i) { + var cur = parseInt(current[i] || 0, 10); + var ver = parseInt(versionParts[i] || 0, 10); + + if (cur === ver) { + continue; // eslint-disable-line no-restricted-syntax, no-continue + } + + if (op === '<') { + return cur < ver; + } else if (op === '>=') { + return cur >= ver; + } else { + return false; + } + } + + return op === '>='; +} + +function matchesRange(range) { + var specifiers = range.split(/ ?&& ?/); + + if (specifiers.length === 0) { + return false; + } + + for (var i = 0; i < specifiers.length; ++i) { + if (!specifierIncluded(specifiers[i])) { + return false; + } + } + + return true; +} + +function versionIncluded(specifierValue) { + if (typeof specifierValue === 'boolean') { + return specifierValue; + } + + if (specifierValue && typeof specifierValue === 'object') { + for (var i = 0; i < specifierValue.length; ++i) { + if (matchesRange(specifierValue[i])) { + return true; + } + } + + return false; + } + + return matchesRange(specifierValue); +} + +var core = {}; + +for (var mod in data$1) { + // eslint-disable-line no-restricted-syntax + if (Object.prototype.hasOwnProperty.call(data$1, mod)) { + core[mod] = versionIncluded(data$1[mod]); + } +} + +var core_1 = core; + +var isCore = function isCore(x) { + return isCoreModule(x); +}; + +var realpathFS = fs__default['default'].realpathSync && typeof fs__default['default'].realpathSync.native === 'function' ? fs__default['default'].realpathSync.native : fs__default['default'].realpathSync; + +var defaultIsFile = function isFile(file) { try { var stat = fs__default['default'].statSync(file); } catch (e) { @@ -20591,7 +21376,7 @@ var defaultIsFile$1 = function isFile(file) { return stat.isFile() || stat.isFIFO(); }; -var defaultIsDir$1 = function isDirectory(dir) { +var defaultIsDir = function isDirectory(dir) { try { var stat = fs__default['default'].statSync(dir); } catch (e) { @@ -20604,7 +21389,7 @@ var defaultIsDir$1 = function isDirectory(dir) { var defaultRealpathSync = function realpathSync(x) { try { - return realpathFS$1(x); + return realpathFS(x); } catch (realpathErr) { if (realpathErr.code !== 'ENOENT') { throw realpathErr; @@ -20622,7 +21407,16 @@ var maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) { return x; }; -var getPackageCandidates$1 = function getPackageCandidates(x, start, opts) { +var defaultReadPackageSync = function defaultReadPackageSync(readFileSync, pkgfile) { + var body = readFileSync(pkgfile); + + try { + var pkg = JSON.parse(body); + return pkg; + } catch (jsonErr) {} +}; + +var getPackageCandidates = function getPackageCandidates(x, start, opts) { var dirs = nodeModulesPaths(start, opts, x); for (var i = 0; i < dirs.length; i++) { @@ -20632,18 +21426,25 @@ var getPackageCandidates$1 = function getPackageCandidates(x, start, opts) { return dirs; }; -var sync = function resolveSync(x, options) { +var sync$9 = function resolveSync(x, options) { if (typeof x !== 'string') { throw new TypeError('Path must be a string.'); } - var opts = normalizeOptions$2(x, options); - var isFile = opts.isFile || defaultIsFile$1; + var opts = normalizeOptions$1(x, options); + var isFile = opts.isFile || defaultIsFile; var readFileSync = opts.readFileSync || fs__default['default'].readFileSync; - var isDirectory = opts.isDirectory || defaultIsDir$1; + var isDirectory = opts.isDirectory || defaultIsDir; var realpathSync = opts.realpathSync || defaultRealpathSync; + var readPackageSync = opts.readPackageSync || defaultReadPackageSync; + + if (opts.readFileSync && opts.readPackageSync) { + throw new TypeError('`readFileSync` and `readPackageSync` are mutually exclusive.'); + } + var packageIterator = opts.packageIterator; var extensions = opts.extensions || ['.js']; + var includeCoreModules = opts.includeCoreModules !== false; var basedir = opts.basedir || path__default['default'].dirname(caller()); var parent = opts.filename || basedir; opts.paths = opts.paths || []; // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory @@ -20655,7 +21456,7 @@ var sync = function resolveSync(x, options) { if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/'; var m = loadAsFileSync(res) || loadAsDirectorySync(res); if (m) return maybeRealpathSync(realpathSync, m, opts); - } else if (isCore(x)) { + } else if (includeCoreModules && isCoreModule(x)) { return x; } else { var n = loadNodeModulesSync(x, absoluteStart); @@ -20705,11 +21506,7 @@ var sync = function resolveSync(x, options) { return loadpkg(path__default['default'].dirname(dir)); } - var body = readFileSync(pkgfile); - - try { - var pkg = JSON.parse(body); - } catch (jsonErr) {} + var pkg = readPackageSync(readFileSync, pkgfile); if (pkg && opts.packageFilter) { // v2 will pass pkgfile @@ -20729,8 +21526,7 @@ var sync = function resolveSync(x, options) { if (isFile(pkgfile)) { try { - var body = readFileSync(pkgfile, 'UTF8'); - var pkg = JSON.parse(body); + var pkg = readPackageSync(readFileSync, pkgfile); } catch (e) {} if (pkg && opts.packageFilter) { @@ -20765,7 +21561,7 @@ var sync = function resolveSync(x, options) { function loadNodeModulesSync(x, start) { var thunk = function () { - return getPackageCandidates$1(x, start, opts); + return getPackageCandidates(x, start, opts); }; var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk(); @@ -20783,32 +21579,33 @@ var sync = function resolveSync(x, options) { } }; -async.core = core_1; -async.isCore = isCore; -async.sync = sync; -var resolve = async; +async$5.core = core_1; +async$5.isCore = isCore; +async$5.sync = sync$9; +var resolve$1 = async$5; let { - resolve: resolve$1 + resolve } = require; // In the VS Code and Atom extensions `require` is overridden and `require.resolve` doesn't support the 2nd argument. -if (resolve$1.length === 1 || process.env.PRETTIER_FALLBACK_RESOLVE) { - resolve$1 = (id, options) => { +if (resolve.length === 1 || process.env.PRETTIER_FALLBACK_RESOLVE) { + // @ts-ignore + resolve = (id, options) => { let basedir; if (options && options.paths && options.paths.length === 1) { basedir = options.paths[0]; } - return resolve.sync(id, { + return resolve$1.sync(id, { basedir }); }; } -var resolve_1 = resolve$1; +var resolve_1 = resolve; -var semver$2 = createCommonjsModule(function (module, exports) { +var semver$1 = createCommonjsModule(function (module, exports) { exports = module.exports = SemVer; var debug; /* istanbul ignore next */ @@ -22249,7 +23046,7 @@ var semver$2 = createCommonjsModule(function (module, exports) { } }); -var hasOwnProperty$3 = Object.prototype.hasOwnProperty; +var hasOwnProperty$9 = Object.prototype.hasOwnProperty; var pseudomap = PseudoMap; function PseudoMap(set) { @@ -22324,20 +23121,20 @@ function same(a, b) { return a === b || a !== a && b !== b; } -function Entry(k, v, i) { +function Entry$1(k, v, i) { this.key = k; this.value = v; this._index = i; } function find(data, k) { - for (var i = 0, s = '_' + k, key = s; hasOwnProperty$3.call(data, key); key = s + i++) { + for (var i = 0, s = '_' + k, key = s; hasOwnProperty$9.call(data, key); key = s + i++) { if (same(data[key].key, k)) return data[key]; } } function set(data, k, v) { - for (var i = 0, s = '_' + k, key = s; hasOwnProperty$3.call(data, key); key = s + i++) { + for (var i = 0, s = '_' + k, key = s; hasOwnProperty$9.call(data, key); key = s + i++) { if (same(data[key].key, k)) { data[key].value = v; return; @@ -22345,10 +23142,10 @@ function set(data, k, v) { } data.size++; - data[key] = new Entry(k, v, key); + data[key] = new Entry$1(k, v, key); } -var map = createCommonjsModule(function (module) { +var map$1 = createCommonjsModule(function (module) { if (process.env.npm_package_name === 'pseudomap' && process.env.npm_lifecycle_script === 'test') process.env.TEST_PSEUDOMAP = 'true'; if (typeof Map === 'function' && !process.env.TEST_PSEUDOMAP) { @@ -22470,7 +23267,7 @@ Yallist.prototype.pushNode = function (node) { Yallist.prototype.push = function () { for (var i = 0, l = arguments.length; i < l; i++) { - push$1(this, arguments[i]); + push(this, arguments[i]); } return this.length; @@ -22739,7 +23536,7 @@ Yallist.prototype.reverse = function () { return this; }; -function push$1(self, item) { +function push(self, item) { self.tail = new Node(item, self.tail, null, self); if (!self.head) { @@ -22865,7 +23662,7 @@ Object.defineProperty(LRUCache.prototype, 'max', { } this[MAX] = mL; - trim$2(this); + trim(this); }, get: function () { return this[MAX]; @@ -22888,7 +23685,7 @@ Object.defineProperty(LRUCache.prototype, 'maxAge', { } this[MAX_AGE] = mA; - trim$2(this); + trim(this); }, get: function () { return this[MAX_AGE]; @@ -22911,7 +23708,7 @@ Object.defineProperty(LRUCache.prototype, 'lengthCalculator', { }, this); } - trim$2(this); + trim(this); }, get: function () { return this[LENGTH_CALCULATOR]; @@ -22945,7 +23742,7 @@ function forEachStep(self, fn, node, thisp) { var hit = node.value; if (isStale(self, hit)) { - del(self, node); + del$1(self, node); if (!self[ALLOW_STALE]) { hit = undefined; @@ -22986,7 +23783,7 @@ LRUCache.prototype.reset = function () { }, this); } - this[CACHE] = new map(); // hash of items by key + this[CACHE] = new map$1(); // hash of items by key this[LRU_LIST] = new yallist(); // list of items in order of use recency @@ -23105,7 +23902,7 @@ LRUCache.prototype.set = function (key, value, maxAge) { if (this[CACHE].has(key)) { if (len > this[MAX]) { - del(this, this[CACHE].get(key)); + del$1(this, this[CACHE].get(key)); return false; } @@ -23125,11 +23922,11 @@ LRUCache.prototype.set = function (key, value, maxAge) { this[LENGTH] += len - item.length; item.length = len; this.get(key); - trim$2(this); + trim(this); return true; } - var hit = new Entry$1(key, value, len, now, maxAge); // oversized objects fall out of cache automatically. + var hit = new Entry(key, value, len, now, maxAge); // oversized objects fall out of cache automatically. if (hit.length > this[MAX]) { if (this[DISPOSE]) { @@ -23142,7 +23939,7 @@ LRUCache.prototype.set = function (key, value, maxAge) { this[LENGTH] += hit.length; this[LRU_LIST].unshift(hit); this[CACHE].set(key, this[LRU_LIST].head); - trim$2(this); + trim(this); return true; }; @@ -23158,22 +23955,22 @@ LRUCache.prototype.has = function (key) { }; LRUCache.prototype.get = function (key) { - return get(this, key, true); + return get$1(this, key, true); }; LRUCache.prototype.peek = function (key) { - return get(this, key, false); + return get$1(this, key, false); }; LRUCache.prototype.pop = function () { var node = this[LRU_LIST].tail; if (!node) return null; - del(this, node); + del$1(this, node); return node.value; }; LRUCache.prototype.del = function (key) { - del(this, this[CACHE].get(key)); + del$1(this, this[CACHE].get(key)); }; LRUCache.prototype.load = function (arr) { @@ -23201,18 +23998,18 @@ LRUCache.prototype.load = function (arr) { LRUCache.prototype.prune = function () { var self = this; this[CACHE].forEach(function (value, key) { - get(self, key, false); + get$1(self, key, false); }); }; -function get(self, key, doUse) { +function get$1(self, key, doUse) { var node = self[CACHE].get(key); if (node) { var hit = node.value; if (isStale(self, hit)) { - del(self, node); + del$1(self, node); if (!self[ALLOW_STALE]) hit = undefined; } else { if (doUse) { @@ -23243,20 +24040,20 @@ function isStale(self, hit) { return stale; } -function trim$2(self) { +function trim(self) { if (self[LENGTH] > self[MAX]) { for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) { // We know that we're about to delete this one, and also // what the next least recently used key will be, so just // go ahead and set it now. var prev = walker.prev; - del(self, walker); + del$1(self, walker); walker = prev; } } } -function del(self, node) { +function del$1(self, node) { if (node) { var hit = node.value; @@ -23271,7 +24068,7 @@ function del(self, node) { } // classy, since V8 prefers predictable objects. -function Entry$1(key, value, length, now, maxAge) { +function Entry(key, value, length, now, maxAge) { this.key = key; this.value = value; this.length = length; @@ -23316,7 +24113,7 @@ function sigmund(subject, maxSessions) { return analysis; } // vim: set softtabstop=4 shiftwidth=4: -var fnmatch = createCommonjsModule(function (module, exports) { +var fnmatch$1 = createCommonjsModule(function (module, exports) { // Based on minimatch.js by isaacs var platform = typeof process === "object" ? process.platform : "win32"; if (module) module.exports = minimatch;else exports.minimatch = minimatch; @@ -23798,7 +24595,7 @@ var fnmatch = createCommonjsModule(function (module, exports) { continue; } - switch (c) { + switch (c) { case "/": // completely not allowed, even escaped. // Should already be path-split by now. @@ -24318,239 +25115,239 @@ var fnmatch = createCommonjsModule(function (module, exports) { } }); -var ini = createCommonjsModule(function (module, exports) { - - var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } +var __awaiter$1 = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - - function step(result) { - result.done ? resolve(result.value) : new P(function (resolve) { - resolve(result.value); - }).then(fulfilled, rejected); - } - - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - - var __generator = this && this.__generator || function (thisArg, body) { - var _ = { - label: 0, - sent: function () { - if (t[0] & 1) throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, - f, - y, - t, - g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { - return this; - }), g; - - function verb(n) { - return function (v) { - return step([n, v]); - }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } - switch (op[0]) { - case 0: - case 1: + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + +var __generator$1 = undefined && undefined.__generator || function (thisArg, body) { + var _ = { + label: 0, + sent: function () { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [] + }, + f, + y, + t, + g; + return g = { + next: verb(0), + "throw": verb(1), + "return": verb(2) + }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { + return this; + }), g; + + function verb(n) { + return function (v) { + return step([n, v]); + }; + } + + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + + switch (op[0]) { + case 0: + case 1: + t = op; + break; + + case 4: + _.label++; + return { + value: op[1], + done: false + }; + + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + + case 7: + op = _.ops.pop(); + + _.trys.pop(); + + continue; + + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; t = op; break; + } - case 4: - _.label++; - return { - value: op[1], - done: false - }; + if (t && _.label < t[2]) { + _.label = t[2]; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; + _.ops.push(op); - case 7: - op = _.ops.pop(); + break; + } - _.trys.pop(); + if (t[2]) _.ops.pop(); - continue; + _.trys.pop(); - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - - if (t && _.label < t[2]) { - _.label = t[2]; - - _.ops.push(op); - - break; - } - - if (t[2]) _.ops.pop(); - - _.trys.pop(); - - continue; - } - - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; + continue; } - if (op[0] & 5) throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; } - }; - var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; - }; + if (op[0] & 5) throw op[1]; + return { + value: op[0] ? op[1] : void 0, + done: true + }; + } +}; - Object.defineProperty(exports, "__esModule", { - value: true +var __importStar$1 = undefined && undefined.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; + +var fs$3 = __importStar$1(fs__default['default']); +/** + * define the possible values: + * section: [section] + * param: key=value + * comment: ;this is a comment + */ + + +var regex = { + section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, + param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, + comment: /^\s*[#;].*$/ +}; +/** + * Parses an .ini file + * @param file The location of the .ini file + */ + +function parse$5(file) { + return __awaiter$1(this, void 0, void 0, function () { + return __generator$1(this, function (_a) { + return [2 + /*return*/ + , new Promise(function (resolve, reject) { + fs$3.readFile(file, 'utf8', function (err, data) { + if (err) { + reject(err); + return; + } + + resolve(parseString$1(data)); + }); + })]; + }); }); +} - var fs = __importStar(fs__default['default']); - /** - * define the possible values: - * section: [section] - * param: key=value - * comment: ;this is a comment - */ +var parse_1$5 = parse$5; +function parseSync$1(file) { + return parseString$1(fs$3.readFileSync(file, 'utf8')); +} - var regex = { - section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, - param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, - comment: /^\s*[#;].*$/ - }; - /** - * Parses an .ini file - * @param file The location of the .ini file - */ +var parseSync_1$1 = parseSync$1; - function parse(file) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 - /*return*/ - , new Promise(function (resolve, reject) { - fs.readFile(file, 'utf8', function (err, data) { - if (err) { - reject(err); - return; - } +function parseString$1(data) { + var sectionBody = {}; + var sectionName = null; + var value = [[sectionName, sectionBody]]; + var lines = data.split(/\r\n|\r|\n/); + lines.forEach(function (line) { + var match; - resolve(parseString(data)); - }); - })]; - }); - }); - } + if (regex.comment.test(line)) { + return; + } - exports.parse = parse; + if (regex.param.test(line)) { + match = line.match(regex.param); + sectionBody[match[1]] = match[2]; + } else if (regex.section.test(line)) { + match = line.match(regex.section); + sectionName = match[1]; + sectionBody = {}; + value.push([sectionName, sectionBody]); + } + }); + return value; +} - function parseSync(file) { - return parseString(fs.readFileSync(file, 'utf8')); - } - - exports.parseSync = parseSync; - - function parseString(data) { - var sectionBody = {}; - var sectionName = null; - var value = [[sectionName, sectionBody]]; - var lines = data.split(/\r\n|\r|\n/); - lines.forEach(function (line) { - var match; - - if (regex.comment.test(line)) { - return; - } - - if (regex.param.test(line)) { - match = line.match(regex.param); - sectionBody[match[1]] = match[2]; - } else if (regex.section.test(line)) { - match = line.match(regex.section); - sectionName = match[1]; - sectionBody = {}; - value.push([sectionName, sectionBody]); - } - }); - return value; - } - - exports.parseString = parseString; +var parseString_1 = parseString$1; +var ini = /*#__PURE__*/Object.defineProperty({ + parse: parse_1$5, + parseSync: parseSync_1$1, + parseString: parseString_1 +}, '__esModule', { + value: true }); -var name$1 = "editorconfig"; +var name$g = "editorconfig"; var version$1 = "0.15.3"; -var description$1 = "EditorConfig File Locator and Interpreter for Node.js"; +var description = "EditorConfig File Locator and Interpreter for Node.js"; var keywords = [ "editorconfig", "core" ]; -var main$1 = "src/index.js"; +var main = "src/index.js"; var contributors = [ "Hong Xu (topbug.net)", "Jed Mao (https://github.com/jedmao/)", @@ -24560,7 +25357,7 @@ var directories = { bin: "./bin", lib: "./lib" }; -var scripts$1 = { +var scripts = { clean: "rimraf dist", prebuild: "npm run clean", build: "tsc", @@ -24575,20 +25372,20 @@ var scripts$1 = { prepub: "npm run lint && npm run build && npm run copy", pub: "npm publish ./dist" }; -var repository$1 = { +var repository = { type: "git", url: "git://github.com/editorconfig/editorconfig-core-js.git" }; var bugs = "https://github.com/editorconfig/editorconfig-core-js/issues"; -var author$1 = "EditorConfig Team"; -var license$1 = "MIT"; -var dependencies$1 = { +var author = "EditorConfig Team"; +var license = "MIT"; +var dependencies = { commander: "^2.19.0", "lru-cache": "^4.1.5", semver: "^5.6.0", sigmund: "^1.0.1" }; -var devDependencies$1 = { +var devDependencies = { "@types/mocha": "^5.2.6", "@types/node": "^10.12.29", "@types/semver": "^5.5.0", @@ -24600,488 +25397,469 @@ var devDependencies$1 = { tslint: "^5.13.1", typescript: "^3.3.3333" }; -var _package$2 = { - name: name$1, +var require$$4$1 = { + name: name$g, version: version$1, - description: description$1, + description: description, keywords: keywords, - main: main$1, + main: main, contributors: contributors, directories: directories, - scripts: scripts$1, - repository: repository$1, + scripts: scripts, + repository: repository, bugs: bugs, - author: author$1, - license: license$1, - dependencies: dependencies$1, - devDependencies: devDependencies$1 + author: author, + license: license, + dependencies: dependencies, + devDependencies: devDependencies }; -var _package$3 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$1, - version: version$1, - description: description$1, - keywords: keywords, - main: main$1, - contributors: contributors, - directories: directories, - scripts: scripts$1, - repository: repository$1, - bugs: bugs, - author: author$1, - license: license$1, - dependencies: dependencies$1, - devDependencies: devDependencies$1, - 'default': _package$2 -}); - -var require$$4 = getCjsExportFromNamespace(_package$3); - -var src = createCommonjsModule(function (module, exports) { - - var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } +var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - - function step(result) { - result.done ? resolve(result.value) : new P(function (resolve) { - resolve(result.value); - }).then(fulfilled, rejected); - } - - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - - var __generator = this && this.__generator || function (thisArg, body) { - var _ = { - label: 0, - sent: function () { - if (t[0] & 1) throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, - f, - y, - t, - g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { - return this; - }), g; - - function verb(n) { - return function (v) { - return step([n, v]); - }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } - switch (op[0]) { - case 0: - case 1: + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + +var __generator = undefined && undefined.__generator || function (thisArg, body) { + var _ = { + label: 0, + sent: function () { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [] + }, + f, + y, + t, + g; + return g = { + next: verb(0), + "throw": verb(1), + "return": verb(2) + }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { + return this; + }), g; + + function verb(n) { + return function (v) { + return step([n, v]); + }; + } + + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + + switch (op[0]) { + case 0: + case 1: + t = op; + break; + + case 4: + _.label++; + return { + value: op[1], + done: false + }; + + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + + case 7: + op = _.ops.pop(); + + _.trys.pop(); + + continue; + + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; t = op; break; + } - case 4: - _.label++; - return { - value: op[1], - done: false - }; + if (t && _.label < t[2]) { + _.label = t[2]; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; + _.ops.push(op); - case 7: - op = _.ops.pop(); + break; + } - _.trys.pop(); + if (t[2]) _.ops.pop(); - continue; + _.trys.pop(); - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - - if (t && _.label < t[2]) { - _.label = t[2]; - - _.ops.push(op); - - break; - } - - if (t[2]) _.ops.pop(); - - _.trys.pop(); - - continue; - } - - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; + continue; } - if (op[0] & 5) throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } - }; - - var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; - }; - - var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; - }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var fs = __importStar(fs__default['default']); - - var path = __importStar(path__default['default']); - - var semver = __importStar(semver$2); - - var fnmatch_1 = __importDefault(fnmatch); - - exports.parseString = ini.parseString; - - var package_json_1 = __importDefault(require$$4); - - var knownProps = { - end_of_line: true, - indent_style: true, - indent_size: true, - insert_final_newline: true, - trim_trailing_whitespace: true, - charset: true - }; - - function fnmatch$1(filepath, glob) { - var matchOptions = { - matchBase: true, - dot: true, - noext: true - }; - glob = glob.replace(/\*\*/g, '{*,**/**/**}'); - return fnmatch_1.default(filepath, glob, matchOptions); - } - - function getConfigFileNames(filepath, options) { - var paths = []; - - do { - filepath = path.dirname(filepath); - paths.push(path.join(filepath, options.config)); - } while (filepath !== options.root); - - return paths; - } - - function processMatches(matches, version) { - // Set indent_size to 'tab' if indent_size is unspecified and - // indent_style is set to 'tab'. - if ('indent_style' in matches && matches.indent_style === 'tab' && !('indent_size' in matches) && semver.gte(version, '0.10.0')) { - matches.indent_size = 'tab'; - } // Set tab_width to indent_size if indent_size is specified and - // tab_width is unspecified - - - if ('indent_size' in matches && !('tab_width' in matches) && matches.indent_size !== 'tab') { - matches.tab_width = matches.indent_size; - } // Set indent_size to tab_width if indent_size is 'tab' - - - if ('indent_size' in matches && 'tab_width' in matches && matches.indent_size === 'tab') { - matches.indent_size = matches.tab_width; - } - - return matches; - } - - function processOptions(options, filepath) { - if (options === void 0) { - options = {}; + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; } + if (op[0] & 5) throw op[1]; return { - config: options.config || '.editorconfig', - version: options.version || package_json_1.default.version, - root: path.resolve(options.root || path.parse(filepath).root) + value: op[0] ? op[1] : void 0, + done: true }; } +}; - function buildFullGlob(pathPrefix, glob) { - switch (glob.indexOf('/')) { - case -1: - glob = '**/' + glob; - break; +var __importStar = undefined && undefined.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; - case 0: - glob = glob.substring(1); - break; - } +var __importDefault = undefined && undefined.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; - return path.join(pathPrefix, glob); +var fs$2 = __importStar(fs__default['default']); + +var path = __importStar(path__default['default']); + +var semver = __importStar(semver$1); + +var fnmatch_1 = __importDefault(fnmatch$1); + +var parseString = ini.parseString; + +var package_json_1 = __importDefault(require$$4$1); + +var knownProps = { + end_of_line: true, + indent_style: true, + indent_size: true, + insert_final_newline: true, + trim_trailing_whitespace: true, + charset: true +}; + +function fnmatch(filepath, glob) { + var matchOptions = { + matchBase: true, + dot: true, + noext: true + }; + glob = glob.replace(/\*\*/g, '{*,**/**/**}'); + return fnmatch_1.default(filepath, glob, matchOptions); +} + +function getConfigFileNames(filepath, options) { + var paths = []; + + do { + filepath = path.dirname(filepath); + paths.push(path.join(filepath, options.config)); + } while (filepath !== options.root); + + return paths; +} + +function processMatches(matches, version) { + // Set indent_size to 'tab' if indent_size is unspecified and + // indent_style is set to 'tab'. + if ('indent_style' in matches && matches.indent_style === 'tab' && !('indent_size' in matches) && semver.gte(version, '0.10.0')) { + matches.indent_size = 'tab'; + } // Set tab_width to indent_size if indent_size is specified and + // tab_width is unspecified + + + if ('indent_size' in matches && !('tab_width' in matches) && matches.indent_size !== 'tab') { + matches.tab_width = matches.indent_size; + } // Set indent_size to tab_width if indent_size is 'tab' + + + if ('indent_size' in matches && 'tab_width' in matches && matches.indent_size === 'tab') { + matches.indent_size = matches.tab_width; } - function extendProps(props, options) { - if (props === void 0) { - props = {}; - } + return matches; +} - if (options === void 0) { - options = {}; - } +function processOptions(options, filepath) { + if (options === void 0) { + options = {}; + } - for (var key in options) { - if (options.hasOwnProperty(key)) { - var value = options[key]; - var key2 = key.toLowerCase(); - var value2 = value; + return { + config: options.config || '.editorconfig', + version: options.version || package_json_1.default.version, + root: path.resolve(options.root || path.parse(filepath).root) + }; +} - if (knownProps[key2]) { - value2 = value.toLowerCase(); - } +function buildFullGlob(pathPrefix, glob) { + switch (glob.indexOf('/')) { + case -1: + glob = '**/' + glob; + break; - try { - value2 = JSON.parse(value); - } catch (e) {} + case 0: + glob = glob.substring(1); + break; + } - if (typeof value === 'undefined' || value === null) { - // null and undefined are values specific to JSON (no special meaning - // in editorconfig) & should just be returned as regular strings. - value2 = String(value); - } + return path.join(pathPrefix, glob); +} - props[key2] = value2; +function extendProps(props, options) { + if (props === void 0) { + props = {}; + } + + if (options === void 0) { + options = {}; + } + + for (var key in options) { + if (options.hasOwnProperty(key)) { + var value = options[key]; + var key2 = key.toLowerCase(); + var value2 = value; + + if (knownProps[key2]) { + value2 = value.toLowerCase(); } - } - return props; + try { + value2 = JSON.parse(value); + } catch (e) {} + + if (typeof value === 'undefined' || value === null) { + // null and undefined are values specific to JSON (no special meaning + // in editorconfig) & should just be returned as regular strings. + value2 = String(value); + } + + props[key2] = value2; + } } - function parseFromConfigs(configs, filepath, options) { - return processMatches(configs.reverse().reduce(function (matches, file) { - var pathPrefix = path.dirname(file.name); - file.contents.forEach(function (section) { - var glob = section[0]; - var options2 = section[1]; + return props; +} - if (!glob) { - return; - } +function parseFromConfigs(configs, filepath, options) { + return processMatches(configs.reverse().reduce(function (matches, file) { + var pathPrefix = path.dirname(file.name); + file.contents.forEach(function (section) { + var glob = section[0]; + var options2 = section[1]; - var fullGlob = buildFullGlob(pathPrefix, glob); + if (!glob) { + return; + } - if (!fnmatch$1(filepath, fullGlob)) { - return; - } + var fullGlob = buildFullGlob(pathPrefix, glob); - matches = extendProps(matches, options2); + if (!fnmatch(filepath, fullGlob)) { + return; + } + + matches = extendProps(matches, options2); + }); + return matches; + }, {}), options.version); +} + +function getConfigsForFiles(files) { + var configs = []; + + for (var i in files) { + if (files.hasOwnProperty(i)) { + var file = files[i]; + var contents = ini.parseString(file.contents); + configs.push({ + name: file.name, + contents: contents }); - return matches; - }, {}), options.version); - } - function getConfigsForFiles(files) { - var configs = []; - - for (var i in files) { - if (files.hasOwnProperty(i)) { - var file = files[i]; - var contents = ini.parseString(file.contents); - configs.push({ - name: file.name, - contents: contents - }); - - if ((contents[0][1].root || '').toLowerCase() === 'true') { - break; - } + if ((contents[0][1].root || '').toLowerCase() === 'true') { + break; } } - - return configs; } - function readConfigFiles(filepaths) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 - /*return*/ - , Promise.all(filepaths.map(function (name) { - return new Promise(function (resolve) { - fs.readFile(name, 'utf8', function (err, data) { - resolve({ - name: name, - contents: err ? '' : data - }); + return configs; +} + +function readConfigFiles(filepaths) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 + /*return*/ + , Promise.all(filepaths.map(function (name) { + return new Promise(function (resolve) { + fs$2.readFile(name, 'utf8', function (err, data) { + resolve({ + name: name, + contents: err ? '' : data }); }); - }))]; - }); + }); + }))]; }); - } + }); +} - function readConfigFilesSync(filepaths) { - var files = []; - var file; - filepaths.forEach(function (filepath) { - try { - file = fs.readFileSync(filepath, 'utf8'); - } catch (e) { - file = ''; - } +function readConfigFilesSync(filepaths) { + var files = []; + var file; + filepaths.forEach(function (filepath) { + try { + file = fs$2.readFileSync(filepath, 'utf8'); + } catch (e) { + file = ''; + } - files.push({ - name: filepath, - contents: file - }); + files.push({ + name: filepath, + contents: file }); - return files; + }); + return files; +} + +function opts(filepath, options) { + if (options === void 0) { + options = {}; } - function opts(filepath, options) { - if (options === void 0) { - options = {}; - } + var resolvedFilePath = path.resolve(filepath); + return [resolvedFilePath, processOptions(options, resolvedFilePath)]; +} - var resolvedFilePath = path.resolve(filepath); - return [resolvedFilePath, processOptions(options, resolvedFilePath)]; +function parseFromFiles(filepath, files, options) { + if (options === void 0) { + options = {}; } - function parseFromFiles(filepath, files, options) { - if (options === void 0) { - options = {}; - } + return __awaiter(this, void 0, void 0, function () { + var _a, resolvedFilePath, processedOptions; - return __awaiter(this, void 0, void 0, function () { - var _a, resolvedFilePath, processedOptions; - - return __generator(this, function (_b) { - _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; - return [2 - /*return*/ - , files.then(getConfigsForFiles).then(function (configs) { - return parseFromConfigs(configs, resolvedFilePath, processedOptions); - })]; - }); + return __generator(this, function (_b) { + _a = opts(filepath, options), resolvedFilePath = _a[0], processedOptions = _a[1]; + return [2 + /*return*/ + , files.then(getConfigsForFiles).then(function (configs) { + return parseFromConfigs(configs, resolvedFilePath, processedOptions); + })]; }); + }); +} + +var parseFromFiles_1 = parseFromFiles; + +function parseFromFilesSync(filepath, files, options) { + if (options === void 0) { + options = {}; } - exports.parseFromFiles = parseFromFiles; + var _a = opts(filepath, options), + resolvedFilePath = _a[0], + processedOptions = _a[1]; - function parseFromFilesSync(filepath, files, options) { - if (options === void 0) { - options = {}; - } + return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); +} - var _a = opts(filepath, options), - resolvedFilePath = _a[0], - processedOptions = _a[1]; +var parseFromFilesSync_1 = parseFromFilesSync; - return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); +function parse$4(_filepath, _options) { + if (_options === void 0) { + _options = {}; } - exports.parseFromFilesSync = parseFromFilesSync; + return __awaiter(this, void 0, void 0, function () { + var _a, resolvedFilePath, processedOptions, filepaths; - function parse(_filepath, _options) { - if (_options === void 0) { - _options = {}; - } - - return __awaiter(this, void 0, void 0, function () { - var _a, resolvedFilePath, processedOptions, filepaths; - - return __generator(this, function (_b) { - _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; - filepaths = getConfigFileNames(resolvedFilePath, processedOptions); - return [2 - /*return*/ - , readConfigFiles(filepaths).then(getConfigsForFiles).then(function (configs) { - return parseFromConfigs(configs, resolvedFilePath, processedOptions); - })]; - }); + return __generator(this, function (_b) { + _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; + filepaths = getConfigFileNames(resolvedFilePath, processedOptions); + return [2 + /*return*/ + , readConfigFiles(filepaths).then(getConfigsForFiles).then(function (configs) { + return parseFromConfigs(configs, resolvedFilePath, processedOptions); + })]; }); + }); +} + +var parse_1$4 = parse$4; + +function parseSync(_filepath, _options) { + if (_options === void 0) { + _options = {}; } - exports.parse = parse; + var _a = opts(_filepath, _options), + resolvedFilePath = _a[0], + processedOptions = _a[1]; - function parseSync(_filepath, _options) { - if (_options === void 0) { - _options = {}; - } + var filepaths = getConfigFileNames(resolvedFilePath, processedOptions); + var files = readConfigFilesSync(filepaths); + return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); +} - var _a = opts(_filepath, _options), - resolvedFilePath = _a[0], - processedOptions = _a[1]; - - var filepaths = getConfigFileNames(resolvedFilePath, processedOptions); - var files = readConfigFilesSync(filepaths); - return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); - } - - exports.parseSync = parseSync; +var parseSync_1 = parseSync; +var src$1 = /*#__PURE__*/Object.defineProperty({ + parseString: parseString, + parseFromFiles: parseFromFiles_1, + parseFromFilesSync: parseFromFilesSync_1, + parse: parse_1$4, + parseSync: parseSync_1 +}, '__esModule', { + value: true }); var editorconfigToPrettier = editorConfigToPrettier; @@ -25146,6 +25924,10 @@ function editorConfigToPrettier(editorConfig) { result.endOfLine = editorConfig.end_of_line; } + if (editorConfig.insert_final_newline === false || editorConfig.insert_final_newline === true) { + result.insertFinalNewline = editorConfig.insert_final_newline; + } + return result; } @@ -25172,7 +25954,7 @@ function findProjectRoot(directory) { var findProjectRoot_1 = findProjectRoot; -const jsonStringifyMem = fn => mem_1(fn, { +const jsonStringifyMem = fn => dist$1(fn, { cacheKey: JSON.stringify }); @@ -25180,11 +25962,11 @@ const maybeParse = (filePath, parse) => filePath && parse(filePath, { root: findProjectRoot_1(path__default['default'].dirname(path__default['default'].resolve(filePath))) }); -const editorconfigAsyncNoCache = async (filePath) => editorconfigToPrettier(await maybeParse(filePath, src.parse)); +const editorconfigAsyncNoCache = async filePath => editorconfigToPrettier(await maybeParse(filePath, src$1.parse)); const editorconfigAsyncWithCache = jsonStringifyMem(editorconfigAsyncNoCache); -const editorconfigSyncNoCache = filePath => editorconfigToPrettier(maybeParse(filePath, src.parseSync)); +const editorconfigSyncNoCache = filePath => editorconfigToPrettier(maybeParse(filePath, src$1.parseSync)); const editorconfigSyncWithCache = jsonStringifyMem(editorconfigSyncNoCache); @@ -25200,17 +25982,19 @@ function getLoadFunction(opts) { return opts.cache ? editorconfigAsyncWithCache : editorconfigAsyncNoCache; } -function clearCache() { - mem_1.clear(editorconfigSyncWithCache); - mem_1.clear(editorconfigAsyncWithCache); +function clearCache$2() { + dist$1.clear(editorconfigSyncWithCache); + dist$1.clear(editorconfigAsyncWithCache); } var resolveConfigEditorconfig = { getLoadFunction, - clearCache + clearCache: clearCache$2 }; -const getExplorerMemoized = mem_1(opts => { +const _excluded$1 = ["overrides"]; + +const getExplorerMemoized = dist$1(opts => { const cosmiconfig = thirdParty["cosmiconfig" + (opts.sync ? "Sync" : "")]; const explorer = cosmiconfig("prettier", { cache: opts.cache, @@ -25259,9 +26043,9 @@ function _resolveConfig(filePath, opts, sync) { useCache: true }, opts); const loadOpts = { - cache: !!opts.useCache, - sync: !!sync, - editorconfig: !!opts.editorconfig + cache: Boolean(opts.useCache), + sync: Boolean(sync), + editorconfig: Boolean(opts.editorconfig) }; const { load, @@ -25271,18 +26055,21 @@ function _resolveConfig(filePath, opts, sync) { const arr = [opts.config ? load(opts.config) : search(filePath), loadEditorConfig(filePath)]; const unwrapAndMerge = ([result, editorConfigured]) => { - const merged = Object.assign({}, editorConfigured, mergeOverrides(result, filePath)); - ["plugins", "pluginSearchDirs"].forEach(optionName => { + const merged = Object.assign(Object.assign({}, editorConfigured), mergeOverrides(result, filePath)); + + for (const optionName of ["plugins", "pluginSearchDirs"]) { if (Array.isArray(merged[optionName])) { merged[optionName] = merged[optionName].map(value => typeof value === "string" && value.startsWith(".") // relative path ? path__default['default'].resolve(path__default['default'].dirname(result.filepath), value) : value); } - }); + } if (!result && !editorConfigured) { return null; - } + } // We are not using this option + + delete merged.insertFinalNewline; return merged; }; @@ -25298,7 +26085,7 @@ const resolveConfig = (filePath, opts) => _resolveConfig(filePath, opts, false); resolveConfig.sync = (filePath, opts) => _resolveConfig(filePath, opts, true); function clearCache$1() { - mem_1.clear(getExplorerMemoized); + dist$1.clear(getExplorerMemoized); resolveConfigEditorconfig.clearCache(); } @@ -25332,7 +26119,7 @@ function mergeOverrides(configResult, filePath) { { overrides } = _ref, - options = _objectWithoutPropertiesLoose(_ref, ["overrides"]); + options = _objectWithoutProperties(_ref, _excluded$1); if (filePath && overrides) { const relativeFilePath = path__default['default'].relative(path__default['default'].dirname(configPath), filePath); @@ -25348,9 +26135,9 @@ function mergeOverrides(configResult, filePath) { } // Based on eslint: https://github.com/eslint/eslint/blob/master/lib/config/config-ops.js -function pathMatchesGlobs(filePath, patterns, excludedPatterns) { - const patternList = [].concat(patterns); - const excludedPatternList = [].concat(excludedPatterns || []); +function pathMatchesGlobs(filePath, patterns, excludedPatterns = []) { + const patternList = Array.isArray(patterns) ? patterns : [patterns]; + const excludedPatternList = Array.isArray(excludedPatterns) ? excludedPatterns : [excludedPatterns]; const opts = { matchBase: true, dot: true @@ -25372,19 +26159,19 @@ function make_array(subject) { const REGEX_BLANK_LINE = /^\s+$/; const REGEX_LEADING_EXCAPED_EXCLAMATION = /^\\!/; const REGEX_LEADING_EXCAPED_HASH = /^\\#/; -const SLASH = '/'; -const KEY_IGNORE = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore') +const SLASH$1 = '/'; +const KEY_IGNORE$1 = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore') /* istanbul ignore next */ : 'node-ignore'; -const define = (object, key, value) => Object.defineProperty(object, key, { +const define$1 = (object, key, value) => Object.defineProperty(object, key, { value }); -const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; // Sanitize the range of a regular expression +const REGEX_REGEXP_RANGE$1 = /([0-z])-([0-z])/g; // Sanitize the range of a regular expression // The cases are complicated, see test cases for details -const sanitizeRange = range => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match // Invalid range (out of order) which is ok for gitignore rules but +const sanitizeRange$1 = range => range.replace(REGEX_REGEXP_RANGE$1, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match // Invalid range (out of order) which is ok for gitignore rules but // fatal for JavaScript regular expression, so eliminate it. : ''); // > If the pattern ends with a slash, // > it is removed for the purpose of the following description, @@ -25421,7 +26208,7 @@ const DEFAULT_REPLACER_PREFIX = [// > Trailing spaces are ignored unless they ar // > These special characters are often called "metacharacters". [/[\\^$.|*+(){]/g, match => `\\${match}`], [// > [abc] matches any character inside the brackets // > (in this case a, b, or c); -/\[([^\]/]*)($|\])/g, (match, p1, p2) => p2 === ']' ? `[${sanitizeRange(p1)}]` : `\\${match}`], [// > a question mark (?) matches a single character +/\[([^\]/]*)($|\])/g, (match, p1, p2) => p2 === ']' ? `[${sanitizeRange$1(p1)}]` : `\\${match}`], [// > a question mark (?) matches a single character /(?!\\)\?/g, () => '[^/]'], // leading slash [// > A leading slash matches the beginning of the pathname. // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". @@ -25522,10 +26309,10 @@ const make_regex = (pattern, negative, ignorecase) => { }; // > A blank line matches no files, so it can serve as a separator for readability. -const checkPattern = pattern => pattern && typeof pattern === 'string' && !REGEX_BLANK_LINE.test(pattern) // > A line starting with # serves as a comment. +const checkPattern$1 = pattern => pattern && typeof pattern === 'string' && !REGEX_BLANK_LINE.test(pattern) // > A line starting with # serves as a comment. && pattern.indexOf('#') !== 0; -const createRule = (pattern, ignorecase) => { +const createRule$1 = (pattern, ignorecase) => { const origin = pattern; let negative = false; // > An optional prefix "!" which negates the pattern; @@ -25554,7 +26341,7 @@ class IgnoreBase { } = {}) { this._rules = []; this._ignorecase = ignorecase; - define(this, KEY_IGNORE, true); + define$1(this, KEY_IGNORE$1, true); this._initCache(); } @@ -25588,14 +26375,14 @@ class IgnoreBase { _addPattern(pattern) { // #32 - if (pattern && pattern[KEY_IGNORE]) { + if (pattern && pattern[KEY_IGNORE$1]) { this._rules = this._rules.concat(pattern._rules); this._added = true; return; } - if (checkPattern(pattern)) { - const rule = createRule(pattern, this._ignorecase); + if (checkPattern$1(pattern)) { + const rule = createRule$1(pattern, this._ignorecase); this._added = true; this._rules.push(rule); @@ -25627,14 +26414,14 @@ class IgnoreBase { if (!slices) { // path/to/a.js // ['path', 'to', 'a.js'] - slices = path.split(SLASH); + slices = path.split(SLASH$1); } slices.pop(); return this._cache[path] = slices.length // > It is not possible to re-include a file if a parent directory of // > that file is excluded. // If the path contains a parent directory, check the parent first - ? this._filter(slices.join(SLASH) + SLASH, slices) && this._test(path) // Or only test the path + ? this._filter(slices.join(SLASH$1) + SLASH$1, slices) && this._test(path) // Or only test the path : this._test(path); } // @returns {Boolean} true if a file is NOT ignored @@ -25673,24 +26460,20 @@ typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 }; } -var ignore = options => new IgnoreBase(options); +var ignore$1 = options => new IgnoreBase(options); +const fsAsync = fs__default['default'].promises; /** * @param {string} filename * @returns {Promise} */ - -function getFileContentOrNull(filename) { - return new Promise((resolve, reject) => { - fs__default['default'].readFile(filename, "utf8", (error, data) => { - if (error && error.code !== "ENOENT") { - reject(createError(filename, error)); - } else { - resolve(error ? null : data); - } - }); - }); +async function getFileContentOrNull(filename) { + try { + return await fsAsync.readFile(filename, "utf8"); + } catch (error) { + return handleError(filename, error); + } } /** * @param {string} filename @@ -25702,16 +26485,16 @@ getFileContentOrNull.sync = function (filename) { try { return fs__default['default'].readFileSync(filename, "utf8"); } catch (error) { - if (error && error.code === "ENOENT") { - return null; - } - - throw createError(filename, error); + return handleError(filename, error); } }; -function createError(filename, error) { - return new Error(`Unable to read ${filename}: ${error.message}`); +function handleError(filename, error) { + if (error && error.code === "ENOENT") { + return null; + } + + throw new Error(`Unable to read ${filename}: ${error.message}`); } var getFileContentOrNull_1 = getFileContentOrNull; @@ -25743,7 +26526,7 @@ createIgnorer.sync = function (ignorePath, withNodeModules) { function _createIgnorer(ignoreContent, withNodeModules) { - const ignorer = ignore().add(ignoreContent || ""); + const ignorer = ignore$1().add(ignoreContent || ""); if (!withNodeModules) { ignorer.add("node_modules"); @@ -25813,7 +26596,7 @@ function getFileParser(resolvedConfig, filePath, plugins) { return resolvedConfig.parser; } - const inferredParser = options$1.inferParser(filePath, plugins); + const inferredParser = options$6.inferParser(filePath, plugins); if (inferredParser) { return inferredParser; @@ -25864,54 +26647,54 @@ function normalizeFilePath(filePath, ignorePath) { var getFileInfo_1 = getFileInfo; const { - getMaxContinuousCount: getMaxContinuousCount$1, - getStringWidth: getStringWidth$2, - getAlignmentSize: getAlignmentSize$2, + getMaxContinuousCount: getMaxContinuousCount$2, + getStringWidth: getStringWidth$3, + getAlignmentSize, getIndentSize: getIndentSize$1, - skip: skip$1, + skip, skipWhitespace: skipWhitespace$1, - skipSpaces: skipSpaces$2, - skipNewline: skipNewline$2, - skipToLineEnd: skipToLineEnd$1, + skipSpaces, + skipNewline, + skipToLineEnd, skipEverythingButNewLine: skipEverythingButNewLine$1, - skipInlineComment: skipInlineComment$1, - skipTrailingComment: skipTrailingComment$1, - hasNewline: hasNewline$2, - hasNewlineInRange: hasNewlineInRange$1, - hasSpaces: hasSpaces$1, - isNextLineEmpty: isNextLineEmpty$1, - isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$1, - isPreviousLineEmpty: isPreviousLineEmpty$2, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$1, - makeString: makeString$1, - addLeadingComment: addLeadingComment$2, - addDanglingComment: addDanglingComment$2, - addTrailingComment: addTrailingComment$2 -} = util; + skipInlineComment, + skipTrailingComment, + hasNewline: hasNewline$8, + hasNewlineInRange: hasNewlineInRange$4, + hasSpaces, + isNextLineEmpty: isNextLineEmpty$d, + isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2, + isPreviousLineEmpty: isPreviousLineEmpty$1, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3, + makeString, + addLeadingComment: addLeadingComment$1, + addDanglingComment: addDanglingComment$1, + addTrailingComment: addTrailingComment$1 +} = util$5; var utilShared = { - getMaxContinuousCount: getMaxContinuousCount$1, - getStringWidth: getStringWidth$2, - getAlignmentSize: getAlignmentSize$2, + getMaxContinuousCount: getMaxContinuousCount$2, + getStringWidth: getStringWidth$3, + getAlignmentSize, getIndentSize: getIndentSize$1, - skip: skip$1, + skip, skipWhitespace: skipWhitespace$1, - skipSpaces: skipSpaces$2, - skipNewline: skipNewline$2, - skipToLineEnd: skipToLineEnd$1, + skipSpaces, + skipNewline, + skipToLineEnd, skipEverythingButNewLine: skipEverythingButNewLine$1, - skipInlineComment: skipInlineComment$1, - skipTrailingComment: skipTrailingComment$1, - hasNewline: hasNewline$2, - hasNewlineInRange: hasNewlineInRange$1, - hasSpaces: hasSpaces$1, - isNextLineEmpty: isNextLineEmpty$1, - isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$1, - isPreviousLineEmpty: isPreviousLineEmpty$2, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$1, - makeString: makeString$1, - addLeadingComment: addLeadingComment$2, - addDanglingComment: addDanglingComment$2, - addTrailingComment: addTrailingComment$2 + skipInlineComment, + skipTrailingComment, + hasNewline: hasNewline$8, + hasNewlineInRange: hasNewlineInRange$4, + hasSpaces, + isNextLineEmpty: isNextLineEmpty$d, + isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2, + isPreviousLineEmpty: isPreviousLineEmpty$1, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3, + makeString, + addLeadingComment: addLeadingComment$1, + addDanglingComment: addDanglingComment$1, + addTrailingComment: addTrailingComment$1 }; /** @@ -26178,6 +26961,119 @@ function stackHas(key) { var _stackHas = stackHas; +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; +var _freeGlobal = freeGlobal; + +/** Detect free variable `self`. */ + +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; +/** Used as a reference to the global object. */ + +var root = _freeGlobal || freeSelf || Function('return this')(); +var _root = root; + +/** Built-in value references. */ + +var Symbol$1 = _root.Symbol; +var _Symbol = Symbol$1; + +/** Used for built-in method references. */ + +var objectProto$b = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$8 = objectProto$b.hasOwnProperty; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString$1 = objectProto$b.toString; +/** Built-in value references. */ + +var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined; +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + +function getRawTag(value) { + var isOwn = hasOwnProperty$8.call(value, symToStringTag$1), + tag = value[symToStringTag$1]; + + try { + value[symToStringTag$1] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString$1.call(value); + + if (unmasked) { + if (isOwn) { + value[symToStringTag$1] = tag; + } else { + delete value[symToStringTag$1]; + } + } + + return result; +} + +var _getRawTag = getRawTag; + +/** Used for built-in method references. */ +var objectProto$a = Object.prototype; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + +var nativeObjectToString = objectProto$a.toString; +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + +function objectToString(value) { + return nativeObjectToString.call(value); +} + +var _objectToString = objectToString; + +/** `Object#toString` result references. */ + +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; +/** Built-in value references. */ + +var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + + return symToStringTag && symToStringTag in Object(value) ? _getRawTag(value) : _objectToString(value); +} + +var _baseGetTag = baseGetTag; + /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) @@ -26203,17 +27099,17 @@ var _stackHas = stackHas; * _.isObject(null); * // => false */ -function isObject(value) { +function isObject$2(value) { var type = typeof value; return value != null && (type == 'object' || type == 'function'); } -var isObject_1 = isObject; +var isObject_1 = isObject$2; /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', + funcTag$1 = '[object Function]', genTag = '[object GeneratorFunction]', proxyTag = '[object Proxy]'; /** @@ -26242,7 +27138,7 @@ function isFunction(value) { var tag = _baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag; } var isFunction_1 = isFunction; @@ -26274,10 +27170,10 @@ function isMasked(func) { var _isMasked = isMasked; /** Used for built-in method references. */ -var funcProto = Function.prototype; +var funcProto$1 = Function.prototype; /** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; +var funcToString$1 = funcProto$1.toString; /** * Converts `func` to its source code. * @@ -26289,7 +27185,7 @@ var funcToString = funcProto.toString; function toSource(func) { if (func != null) { try { - return funcToString.call(func); + return funcToString$1.call(func); } catch (e) {} try { @@ -26313,17 +27209,17 @@ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used for built-in method references. */ -var funcProto$1 = Function.prototype, - objectProto$3 = Object.prototype; +var funcProto = Function.prototype, + objectProto$9 = Object.prototype; /** Used to resolve the decompiled source of functions. */ -var funcToString$1 = funcProto$1.toString; +var funcToString = funcProto.toString; /** Used to check objects for own properties. */ -var hasOwnProperty$4 = objectProto$3.hasOwnProperty; +var hasOwnProperty$7 = objectProto$9.hasOwnProperty; /** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + funcToString$1.call(hasOwnProperty$4).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); +var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty$7).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); /** * The base implementation of `_.isNative` without bad shim checks. * @@ -26419,13 +27315,13 @@ var _hashDelete = hashDelete; /** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; +var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; /** Used for built-in method references. */ -var objectProto$4 = Object.prototype; +var objectProto$8 = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$5 = objectProto$4.hasOwnProperty; +var hasOwnProperty$6 = objectProto$8.hasOwnProperty; /** * Gets the hash value for `key`. * @@ -26441,20 +27337,20 @@ function hashGet(key) { if (_nativeCreate) { var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; + return result === HASH_UNDEFINED$2 ? undefined : result; } - return hasOwnProperty$5.call(data, key) ? data[key] : undefined; + return hasOwnProperty$6.call(data, key) ? data[key] : undefined; } var _hashGet = hashGet; /** Used for built-in method references. */ -var objectProto$5 = Object.prototype; +var objectProto$7 = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$6 = objectProto$5.hasOwnProperty; +var hasOwnProperty$5 = objectProto$7.hasOwnProperty; /** * Checks if a hash value for `key` exists. * @@ -26467,7 +27363,7 @@ var hasOwnProperty$6 = objectProto$5.hasOwnProperty; function hashHas(key) { var data = this.__data__; - return _nativeCreate ? data[key] !== undefined : hasOwnProperty$6.call(data, key); + return _nativeCreate ? data[key] !== undefined : hasOwnProperty$5.call(data, key); } var _hashHas = hashHas; @@ -26671,7 +27567,7 @@ var _MapCache = MapCache; /** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; +var LARGE_ARRAY_SIZE$1 = 200; /** * Sets the stack `key` to `value`. * @@ -26689,7 +27585,7 @@ function stackSet(key, value) { if (data instanceof _ListCache) { var pairs = data.__data__; - if (!_Map || pairs.length < LARGE_ARRAY_SIZE - 1) { + if (!_Map || pairs.length < LARGE_ARRAY_SIZE$1 - 1) { pairs.push([key, value]); this.size = ++data.size; return this; @@ -26727,7 +27623,7 @@ Stack.prototype.set = _stackSet; var _Stack = Stack; /** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; +var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** * Adds `value` to the array cache. * @@ -26740,7 +27636,7 @@ var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; */ function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED$2); + this.__data__.set(value, HASH_UNDEFINED); return this; } @@ -26827,8 +27723,8 @@ var _cacheHas = cacheHas; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; +var COMPARE_PARTIAL_FLAG$5 = 1, + COMPARE_UNORDERED_FLAG$3 = 2; /** * A specialized version of `baseIsEqualDeep` for arrays with support for * partial deep comparisons. @@ -26844,7 +27740,7 @@ var COMPARE_PARTIAL_FLAG = 1, */ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length; @@ -26862,7 +27758,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { var index = -1, result = true, - seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache() : undefined; + seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new _SetCache() : undefined; stack.set(array, other); stack.set(other, array); // Ignore non-index properties. @@ -26949,25 +27845,25 @@ var _setToArray = setToArray; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG$1 = 1, - COMPARE_UNORDERED_FLAG$1 = 2; +var COMPARE_PARTIAL_FLAG$4 = 1, + COMPARE_UNORDERED_FLAG$2 = 2; /** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]'; +var boolTag$1 = '[object Boolean]', + dateTag$1 = '[object Date]', + errorTag$1 = '[object Error]', + mapTag$2 = '[object Map]', + numberTag$1 = '[object Number]', + regexpTag$1 = '[object RegExp]', + setTag$2 = '[object Set]', + stringTag$1 = '[object String]', + symbolTag$1 = '[object Symbol]'; +var arrayBufferTag$1 = '[object ArrayBuffer]', + dataViewTag$2 = '[object DataView]'; /** Used to convert symbols to primitives and strings. */ -var symbolProto = _Symbol ? _Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; +var symbolProto$1 = _Symbol ? _Symbol.prototype : undefined, + symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; /** * A specialized version of `baseIsEqualDeep` for comparing objects of * the same `toStringTag`. @@ -26988,7 +27884,7 @@ var symbolProto = _Symbol ? _Symbol.prototype : undefined, function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { - case dataViewTag: + case dataViewTag$2: if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false; } @@ -26996,35 +27892,35 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { object = object.buffer; other = other.buffer; - case arrayBufferTag: + case arrayBufferTag$1: if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) { return false; } return true; - case boolTag: - case dateTag: - case numberTag: + case boolTag$1: + case dateTag$1: + case numberTag$1: // Coerce booleans to `1` or `0` and dates to milliseconds. // Invalid dates are coerced to `NaN`. return eq_1(+object, +other); - case errorTag: + case errorTag$1: return object.name == other.name && object.message == other.message; - case regexpTag: - case stringTag: + case regexpTag$1: + case stringTag$1: // Coerce regexes to strings and treat strings, primitives and objects, // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring // for more details. return object == other + ''; - case mapTag: + case mapTag$2: var convert = _mapToArray; - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1; + case setTag$2: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; convert || (convert = _setToArray); if (object.size != other.size && !isPartial) { @@ -27038,14 +27934,14 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { return stacked == other; } - bitmask |= COMPARE_UNORDERED_FLAG$1; // Recursively compare objects (susceptible to call stack limits). + bitmask |= COMPARE_UNORDERED_FLAG$2; // Recursively compare objects (susceptible to call stack limits). stack.set(object, other); var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack['delete'](object); return result; - case symbolTag: + case symbolTag$1: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } @@ -27057,6 +27953,54 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { var _equalByTag = equalByTag; +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + + return array; +} + +var _arrayPush = arrayPush; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; +var isArray_1 = isArray; + /** * The base implementation of `getAllKeys` and `getAllKeysIn` which uses * `keysFunc` and `symbolsFunc` to get the enumerable property names and @@ -27179,6 +28123,88 @@ function baseTimes(n, iteratee) { var _baseTimes = baseTimes; +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +var isObjectLike_1 = isObjectLike; + +/** `Object#toString` result references. */ + +var argsTag$2 = '[object Arguments]'; +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + +function baseIsArguments(value) { + return isObjectLike_1(value) && _baseGetTag(value) == argsTag$2; +} + +var _baseIsArguments = baseIsArguments; + +/** Used for built-in method references. */ + +var objectProto$5 = Object.prototype; +/** Used to check objects for own properties. */ + +var hasOwnProperty$4 = objectProto$5.hasOwnProperty; +/** Built-in value references. */ + +var propertyIsEnumerable = objectProto$5.propertyIsEnumerable; +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + +var isArguments = _baseIsArguments(function () { + return arguments; +}()) ? _baseIsArguments : function (value) { + return isObjectLike_1(value) && hasOwnProperty$4.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); +}; +var isArguments_1 = isArguments; + /** * This method returns `false`. * @@ -27200,7 +28226,7 @@ var stubFalse_1 = stubFalse; var isBuffer_1 = createCommonjsModule(function (module, exports) { /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; + var freeExports = exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; @@ -27236,7 +28262,7 @@ var isBuffer_1 = createCommonjsModule(function (module, exports) { }); /** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER$2 = 9007199254740991; +var MAX_SAFE_INTEGER$1 = 9007199254740991; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; @@ -27251,14 +28277,14 @@ var reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(value, length) { var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER$2 : length; + length = length == null ? MAX_SAFE_INTEGER$1 : length; return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; } var _isIndex = isIndex; /** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER$3 = 9007199254740991; +var MAX_SAFE_INTEGER = 9007199254740991; /** * Checks if `value` is a valid array-like length. * @@ -27287,7 +28313,7 @@ var MAX_SAFE_INTEGER$3 = 9007199254740991; */ function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$3; + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } var isLength_1 = isLength; @@ -27295,19 +28321,19 @@ var isLength_1 = isLength; /** `Object#toString` result references. */ var argsTag$1 = '[object Arguments]', - arrayTag = '[object Array]', - boolTag$1 = '[object Boolean]', - dateTag$1 = '[object Date]', - errorTag$1 = '[object Error]', - funcTag$1 = '[object Function]', + arrayTag$1 = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', mapTag$1 = '[object Map]', - numberTag$1 = '[object Number]', - objectTag = '[object Object]', - regexpTag$1 = '[object RegExp]', + numberTag = '[object Number]', + objectTag$2 = '[object Object]', + regexpTag = '[object RegExp]', setTag$1 = '[object Set]', - stringTag$1 = '[object String]', - weakMapTag = '[object WeakMap]'; -var arrayBufferTag$1 = '[object ArrayBuffer]', + stringTag = '[object String]', + weakMapTag$1 = '[object WeakMap]'; +var arrayBufferTag = '[object ArrayBuffer]', dataViewTag$1 = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', @@ -27322,7 +28348,7 @@ var arrayBufferTag$1 = '[object ArrayBuffer]', var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$1] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$1] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag] = false; +typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag$1] = typedArrayTags[numberTag] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag] = typedArrayTags[setTag$1] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag$1] = false; /** * The base implementation of `_.isTypedArray` without Node.js optimizations. * @@ -27354,7 +28380,7 @@ var _baseUnary = baseUnary; var _nodeUtil = createCommonjsModule(function (module, exports) { /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; + var freeExports = exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; @@ -27409,10 +28435,10 @@ var isTypedArray_1 = isTypedArray; /** Used for built-in method references. */ -var objectProto$7 = Object.prototype; +var objectProto$4 = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$7 = objectProto$7.hasOwnProperty; +var hasOwnProperty$3 = objectProto$4.hasOwnProperty; /** * Creates an array of the enumerable property names of the array-like `value`. * @@ -27432,7 +28458,7 @@ function arrayLikeKeys(value, inherited) { length = result.length; for (var key in value) { - if ((inherited || hasOwnProperty$7.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. + if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays. isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties. @@ -27447,7 +28473,7 @@ function arrayLikeKeys(value, inherited) { var _arrayLikeKeys = arrayLikeKeys; /** Used for built-in method references. */ -var objectProto$8 = Object.prototype; +var objectProto$3 = Object.prototype; /** * Checks if `value` is likely a prototype object. * @@ -27458,7 +28484,7 @@ var objectProto$8 = Object.prototype; function isPrototype(value) { var Ctor = value && value.constructor, - proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$8; + proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$3; return value === proto; } @@ -27487,10 +28513,10 @@ var _nativeKeys = nativeKeys; /** Used for built-in method references. */ -var objectProto$9 = Object.prototype; +var objectProto$2 = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$8 = objectProto$9.hasOwnProperty; +var hasOwnProperty$2 = objectProto$2.hasOwnProperty; /** * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. * @@ -27507,7 +28533,7 @@ function baseKeys(object) { var result = []; for (var key in Object(object)) { - if (hasOwnProperty$8.call(object, key) && key != 'constructor') { + if (hasOwnProperty$2.call(object, key) && key != 'constructor') { result.push(key); } } @@ -27600,13 +28626,13 @@ var _getAllKeys = getAllKeys; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG$2 = 1; +var COMPARE_PARTIAL_FLAG$3 = 1; /** Used for built-in method references. */ -var objectProto$a = Object.prototype; +var objectProto$1 = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$9 = objectProto$a.hasOwnProperty; +var hasOwnProperty$1 = objectProto$1.hasOwnProperty; /** * A specialized version of `baseIsEqualDeep` for objects with support for * partial deep comparisons. @@ -27622,7 +28648,7 @@ var hasOwnProperty$9 = objectProto$a.hasOwnProperty; */ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2, + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = _getAllKeys(object), objLength = objProps.length, othProps = _getAllKeys(other), @@ -27637,7 +28663,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { while (index--) { var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty$9.call(other, key))) { + if (!(isPartial ? key in other : hasOwnProperty$1.call(other, key))) { return false; } } // Check that cyclic values are equal. @@ -27711,12 +28737,12 @@ var _WeakMap = WeakMap$1; /** `Object#toString` result references. */ -var mapTag$2 = '[object Map]', +var mapTag = '[object Map]', objectTag$1 = '[object Object]', promiseTag = '[object Promise]', - setTag$2 = '[object Set]', - weakMapTag$1 = '[object WeakMap]'; -var dataViewTag$2 = '[object DataView]'; + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; +var dataViewTag = '[object DataView]'; /** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = _toSource(_DataView), @@ -27734,7 +28760,7 @@ var dataViewCtorString = _toSource(_DataView), var getTag = _baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. -if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2 || _Map && getTag(new _Map()) != mapTag$2 || _Promise && getTag(_Promise.resolve()) != promiseTag || _Set && getTag(new _Set()) != setTag$2 || _WeakMap && getTag(new _WeakMap()) != weakMapTag$1) { +if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag || _Map && getTag(new _Map()) != mapTag || _Promise && getTag(_Promise.resolve()) != promiseTag || _Set && getTag(new _Set()) != setTag || _WeakMap && getTag(new _WeakMap()) != weakMapTag) { getTag = function (value) { var result = _baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : undefined, @@ -27743,19 +28769,19 @@ if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2 || _ if (ctorString) { switch (ctorString) { case dataViewCtorString: - return dataViewTag$2; + return dataViewTag; case mapCtorString: - return mapTag$2; + return mapTag; case promiseCtorString: return promiseTag; case setCtorString: - return setTag$2; + return setTag; case weakMapCtorString: - return weakMapTag$1; + return weakMapTag; } } @@ -27767,18 +28793,18 @@ var _getTag = getTag; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG$3 = 1; +var COMPARE_PARTIAL_FLAG$2 = 1; /** `Object#toString` result references. */ -var argsTag$2 = '[object Arguments]', - arrayTag$1 = '[object Array]', - objectTag$2 = '[object Object]'; +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; /** Used for built-in method references. */ -var objectProto$b = Object.prototype; +var objectProto = Object.prototype; /** Used to check objects for own properties. */ -var hasOwnProperty$a = objectProto$b.hasOwnProperty; +var hasOwnProperty = objectProto.hasOwnProperty; /** * A specialized version of `baseIsEqual` for arrays and objects which performs * deep comparisons and tracks traversed objects enabling objects with circular @@ -27797,12 +28823,12 @@ var hasOwnProperty$a = objectProto$b.hasOwnProperty; function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray_1(object), othIsArr = isArray_1(other), - objTag = objIsArr ? arrayTag$1 : _getTag(object), - othTag = othIsArr ? arrayTag$1 : _getTag(other); - objTag = objTag == argsTag$2 ? objectTag$2 : objTag; - othTag = othTag == argsTag$2 ? objectTag$2 : othTag; - var objIsObj = objTag == objectTag$2, - othIsObj = othTag == objectTag$2, + objTag = objIsArr ? arrayTag : _getTag(object), + othTag = othIsArr ? arrayTag : _getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer_1(object)) { @@ -27819,9 +28845,9 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { return objIsArr || isTypedArray_1(object) ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } - if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) { - var objIsWrapped = objIsObj && hasOwnProperty$a.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty$a.call(other, '__wrapped__'); + if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, @@ -27872,8 +28898,8 @@ var _baseIsEqual = baseIsEqual; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG$4 = 1, - COMPARE_UNORDERED_FLAG$2 = 2; +var COMPARE_PARTIAL_FLAG$1 = 1, + COMPARE_UNORDERED_FLAG$1 = 2; /** * The base implementation of `_.isMatch` without support for iteratee shorthands. * @@ -27921,7 +28947,7 @@ function baseIsMatch(object, source, matchData, customizer) { var result = customizer(objValue, srcValue, key, object, source, stack); } - if (!(result === undefined ? _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$4 | COMPARE_UNORDERED_FLAG$2, customizer, stack) : result)) { + if (!(result === undefined ? _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { return false; } } @@ -28015,7 +29041,7 @@ var _baseMatches = baseMatches; /** `Object#toString` result references. */ -var symbolTag$1 = '[object Symbol]'; +var symbolTag = '[object Symbol]'; /** * Checks if `value` is classified as a `Symbol` primitive or object. * @@ -28035,7 +29061,7 @@ var symbolTag$1 = '[object Symbol]'; */ function isSymbol(value) { - return typeof value == 'symbol' || isObjectLike_1(value) && _baseGetTag(value) == symbolTag$1; + return typeof value == 'symbol' || isObjectLike_1(value) && _baseGetTag(value) == symbolTag; } var isSymbol_1 = isSymbol; @@ -28225,11 +29251,11 @@ var _arrayMap = arrayMap; /** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; +var INFINITY$2 = 1 / 0; /** Used to convert symbols to primitives and strings. */ -var symbolProto$1 = _Symbol ? _Symbol.prototype : undefined, - symbolToString = symbolProto$1 ? symbolProto$1.toString : undefined; +var symbolProto = _Symbol ? _Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; /** * The base implementation of `_.toString` which doesn't convert nullish * values to empty strings. @@ -28255,7 +29281,7 @@ function baseToString(value) { } var result = value + ''; - return result == '0' && 1 / value == -INFINITY ? '-0' : result; + return result == '0' && 1 / value == -INFINITY$2 ? '-0' : result; } var _baseToString = baseToString; @@ -28378,12 +29404,12 @@ var _baseGet = baseGet; * // => 'default' */ -function get$1(object, path, defaultValue) { +function get(object, path, defaultValue) { var result = object == null ? undefined : _baseGet(object, path); return result === undefined ? defaultValue : result; } -var get_1 = get$1; +var get_1 = get; /** * The base implementation of `_.hasIn` without support for deep paths. @@ -28470,8 +29496,8 @@ var hasIn_1 = hasIn; /** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG$5 = 1, - COMPARE_UNORDERED_FLAG$3 = 2; +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; /** * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. * @@ -28488,7 +29514,7 @@ function baseMatchesProperty(path, srcValue) { return function (object) { var objValue = get_1(object, path); - return objValue === undefined && objValue === srcValue ? hasIn_1(object, path) : _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$5 | COMPARE_UNORDERED_FLAG$3); + return objValue === undefined && objValue === srcValue ? hasIn_1(object, path) : _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); }; } @@ -28510,11 +29536,11 @@ var _baseMatchesProperty = baseMatchesProperty; * console.log(_.identity(object) === object); * // => true */ -function identity(value) { +function identity$2(value) { return value; } -var identity_1 = identity; +var identity_1 = identity$2; /** * The base implementation of `_.property` without support for deep paths. @@ -28570,11 +29596,11 @@ var _basePropertyDeep = basePropertyDeep; * // => [1, 2] */ -function property(path) { +function property$1(path) { return _isKey(path) ? _baseProperty(_toKey(path)) : _basePropertyDeep(path); } -var property_1 = property; +var property_1 = property$1; /** * The base implementation of `_.iteratee`. @@ -28737,14 +29763,14 @@ var _arrayIncludesWith = arrayIncludesWith; * _.times(2, _.noop); * // => [undefined, undefined] */ -function noop() {// No operation performed. +function noop$1() {// No operation performed. } -var noop_1 = noop; +var noop_1 = noop$1; /** Used as references for various `Number` constants. */ -var INFINITY$2 = 1 / 0; +var INFINITY = 1 / 0; /** * Creates a set object of `values`. * @@ -28753,14 +29779,14 @@ var INFINITY$2 = 1 / 0; * @returns {Object} Returns the new set. */ -var createSet = !(_Set && 1 / _setToArray(new _Set([, -0]))[1] == INFINITY$2) ? noop_1 : function (values) { +var createSet = !(_Set && 1 / _setToArray(new _Set([, -0]))[1] == INFINITY) ? noop_1 : function (values) { return new _Set(values); }; var _createSet = createSet; /** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE$1 = 200; +var LARGE_ARRAY_SIZE = 200; /** * The base implementation of `_.uniqBy` without support for iteratee shorthands. * @@ -28782,7 +29808,7 @@ function baseUniq(array, iteratee, comparator) { if (comparator) { isCommon = false; includes = _arrayIncludesWith; - } else if (length >= LARGE_ARRAY_SIZE$1) { + } else if (length >= LARGE_ARRAY_SIZE) { var set = iteratee ? null : _createSet(array); if (set) { @@ -29085,7 +30111,7 @@ var arrayUnion = (...arguments_) => { */ -const PassThrough = stream__default['default'].PassThrough; +const PassThrough = stream_1__default['default'].PassThrough; const slice = Array.prototype.slice; var merge2_1 = merge2; @@ -29238,7 +30264,7 @@ function pauseStreams(streams, options) { return streams; } -var array$2 = createCommonjsModule(function (module, exports) { +var array$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -29387,8 +30413,7 @@ var isExtglob = function isExtglob(str) { * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ - -var chars = { +var chars$1 = { '{': '}', '(': ')', '[': ']' @@ -29418,7 +30443,7 @@ var isGlob = function isGlob(str, options) { // set the index to the next closing character var open = match[1]; - var close = open ? chars[open] : null; + var close = open ? chars$1[open] : null; if (open && close) { var n = str.indexOf(close, idx); @@ -29436,15 +30461,16 @@ var isGlob = function isGlob(str, options) { var pathPosixDirname = path__default['default'].posix.dirname; var isWin32 = os__default['default'].platform() === 'win32'; -var slash = '/'; +var slash$1 = '/'; var backslash = /\\/g; -var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; -var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var enclosure = /[\{\[].*[\}\]]$/; +var globby$1 = /(^|[^\\])([\{\[]|\([^\)]+$)/; var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; /** * @param {string} str * @param {Object} opts * @param {boolean} [opts.flipBackslashes=true] + * @returns {string} */ var globParent = function globParent(str, opts) { @@ -29452,13 +30478,13 @@ var globParent = function globParent(str, opts) { flipBackslashes: true }, opts); // flip windows path separators - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); + if (options.flipBackslashes && isWin32 && str.indexOf(slash$1) < 0) { + str = str.replace(backslash, slash$1); } // special case for strings ending in enclosure containing path separator if (enclosure.test(str)) { - str += slash; + str += slash$1; } // preserves full path in case of trailing path separator @@ -29466,13 +30492,13 @@ var globParent = function globParent(str, opts) { do { str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); // remove escape chars and return result + } while (isGlob(str) || globby$1.test(str)); // remove escape chars and return result return str.replace(escaped, '$1'); }; -var utils$1 = createCommonjsModule(function (module, exports) { +var utils$a = createCommonjsModule(function (module, exports) { exports.isInteger = num => { if (typeof num === 'number') { @@ -29597,14 +30623,14 @@ var utils$1 = createCommonjsModule(function (module, exports) { }; }); -var stringify$1 = (ast, options = {}) => { +var stringify$2 = (ast, options = {}) => { let stringify = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils$1.isInvalidBrace(parent); + let invalidBlock = options.escapeInvalid && utils$a.isInvalidBrace(parent); let invalidNode = node.invalid === true && options.escapeInvalid === true; let output = ''; if (node.value) { - if ((invalidBlock || invalidNode) && utils$1.isOpenOrClose(node)) { + if ((invalidBlock || invalidNode) && utils$a.isOpenOrClose(node)) { return '\\' + node.value; } @@ -29634,7 +30660,7 @@ var stringify$1 = (ast, options = {}) => { * Released under the MIT License. */ -var isNumber = function (num) { +var isNumber$1 = function (num) { if (typeof num === 'number') { return num - num === 0; } @@ -29647,7 +30673,7 @@ var isNumber = function (num) { }; const toRegexRange = (min, max, options) => { - if (isNumber(min) === false) { + if (isNumber$1(min) === false) { throw new TypeError('toRegexRange: expected the first argument to be a number'); } @@ -29655,7 +30681,7 @@ const toRegexRange = (min, max, options) => { return String(min); } - if (isNumber(max) === false) { + if (isNumber$1(max) === false) { throw new TypeError('toRegexRange: expected the second argument to be a number.'); } @@ -29762,7 +30788,7 @@ function splitToRanges(min, max) { } stops = [...stops]; - stops.sort(compare$1); + stops.sort(compare); return stops; } /** @@ -29878,7 +30904,7 @@ function zip(a, b) { return arr; } -function compare$1(a, b) { +function compare(a, b) { return a > b ? 1 : b > a ? -1 : 0; } @@ -29961,7 +30987,7 @@ const isValidValue = value => { return typeof value === 'number' || typeof value === 'string' && value !== ''; }; -const isNumber$1 = num => Number.isInteger(+num); +const isNumber = num => Number.isInteger(+num); const zeros = input => { let value = `${input}`; @@ -29974,7 +31000,7 @@ const zeros = input => { return index > 0; }; -const stringify$2 = (start, end, options) => { +const stringify$1 = (start, end, options) => { if (typeof start === 'string' || typeof end === 'string') { return true; } @@ -30097,7 +31123,7 @@ const fillNumbers = (start, end, step = 1, options = {}) => { step = Math.max(Math.abs(step), 1); let padded = zeros(startString) || zeros(endString) || zeros(stepString); let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify$2(start, end, options) === false; + let toNumber = padded === false && stringify$1(start, end, options) === false; let format = options.transform || transform(toNumber); if (options.toRegex && step === 1) { @@ -30135,7 +31161,7 @@ const fillNumbers = (start, end, step = 1, options = {}) => { }; const fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber$1(start) && start.length > 1 || !isNumber$1(end) && end.length > 1) { + if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) { return invalidRange(start, end, options); } @@ -30170,7 +31196,7 @@ const fillLetters = (start, end, step = 1, options = {}) => { return range; }; -const fill$2 = (start, end, step, options = {}) => { +const fill$8 = (start, end, step, options = {}) => { if (end == null && isValidValue(start)) { return [start]; } @@ -30180,36 +31206,36 @@ const fill$2 = (start, end, step, options = {}) => { } if (typeof step === 'function') { - return fill$2(start, end, 1, { + return fill$8(start, end, 1, { transform: step }); } if (isObject$1(step)) { - return fill$2(start, end, 0, step); + return fill$8(start, end, 0, step); } let opts = Object.assign({}, options); if (opts.capture === true) opts.wrap = true; step = step || opts.step || 1; - if (!isNumber$1(step)) { + if (!isNumber(step)) { if (step != null && !isObject$1(step)) return invalidStep(step, opts); - return fill$2(start, end, 1, step); + return fill$8(start, end, 1, step); } - if (isNumber$1(start) && isNumber$1(end)) { + if (isNumber(start) && isNumber(end)) { return fillNumbers(start, end, step, opts); } return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); }; -var fillRange = fill$2; +var fillRange = fill$8; const compile = (ast, options = {}) => { let walk = (node, parent = {}) => { - let invalidBlock = utils$1.isInvalidBrace(parent); + let invalidBlock = utils$a.isInvalidBrace(parent); let invalidNode = node.invalid === true && options.escapeInvalid === true; let invalid = invalidBlock === true || invalidNode === true; let prefix = options.escapeInvalid === true ? '\\' : ''; @@ -30240,8 +31266,8 @@ const compile = (ast, options = {}) => { } if (node.nodes && node.ranges > 0) { - let args = utils$1.reduce(node.nodes); - let range = fillRange(...args, Object.assign({}, options, { + let args = utils$a.reduce(node.nodes); + let range = fillRange(...args, Object.assign(Object.assign({}, options), {}, { wrap: false, toRegex: true })); @@ -30272,7 +31298,7 @@ const append = (queue = '', stash = '', enclose = false) => { if (!stash.length) return queue; if (!queue.length) { - return enclose ? utils$1.flatten(stash).map(ele => `{${ele}}`) : stash; + return enclose ? utils$a.flatten(stash).map(ele => `{${ele}}`) : stash; } for (let item of queue) { @@ -30288,10 +31314,10 @@ const append = (queue = '', stash = '', enclose = false) => { } } - return utils$1.flatten(result); + return utils$a.flatten(result); }; -const expand$1 = (ast, options = {}) => { +const expand = (ast, options = {}) => { let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; let walk = (node, parent = {}) => { @@ -30305,7 +31331,7 @@ const expand$1 = (ast, options = {}) => { } if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify$1(node, options))); + q.push(append(q.pop(), stringify$2(node, options))); return; } @@ -30315,16 +31341,16 @@ const expand$1 = (ast, options = {}) => { } if (node.nodes && node.ranges > 0) { - let args = utils$1.reduce(node.nodes); + let args = utils$a.reduce(node.nodes); - if (utils$1.exceedsLimit(...args, options.step, rangeLimit)) { + if (utils$a.exceedsLimit(...args, options.step, rangeLimit)) { throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); } let range = fillRange(...args, options); if (range.length === 0) { - range = stringify$1(node, options); + range = stringify$2(node, options); } q.push(append(q.pop(), range)); @@ -30332,7 +31358,7 @@ const expand$1 = (ast, options = {}) => { return; } - let enclose = utils$1.encloseBrace(node); + let enclose = utils$a.encloseBrace(node); let queue = node.queue; let block = node; @@ -30368,10 +31394,10 @@ const expand$1 = (ast, options = {}) => { return queue; }; - return utils$1.flatten(walk(ast)); + return utils$a.flatten(walk(ast)); }; -var expand_1 = expand$1; +var expand_1 = expand; var constants$2 = { MAX_LENGTH: 1024 * 64, @@ -30518,7 +31544,7 @@ var constants$2 = { const { - MAX_LENGTH: MAX_LENGTH$2, + MAX_LENGTH: MAX_LENGTH$1, CHAR_BACKSLASH, /* \ */ @@ -30528,25 +31554,25 @@ const { CHAR_COMMA: CHAR_COMMA$1, /* , */ - CHAR_DOT, + CHAR_DOT: CHAR_DOT$1, /* . */ - CHAR_LEFT_PARENTHESES, + CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, /* ( */ - CHAR_RIGHT_PARENTHESES, + CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, /* ) */ - CHAR_LEFT_CURLY_BRACE, + CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, /* { */ - CHAR_RIGHT_CURLY_BRACE, + CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, /* } */ - CHAR_LEFT_SQUARE_BRACKET, + CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, /* [ */ - CHAR_RIGHT_SQUARE_BRACKET, + CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1, /* ] */ CHAR_DOUBLE_QUOTE, @@ -30562,13 +31588,13 @@ const { * parse */ -const parse$5 = (input, options = {}) => { +const parse$3 = (input, options = {}) => { if (typeof input !== 'string') { throw new TypeError('Expected a string'); } let opts = options || {}; - let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$2, opts.maxLength) : MAX_LENGTH$2; + let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; if (input.length > max) { throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); @@ -30641,7 +31667,7 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_RIGHT_SQUARE_BRACKET) { + if (value === CHAR_RIGHT_SQUARE_BRACKET$1) { push({ type: 'text', value: '\\' + value @@ -30653,14 +31679,14 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_LEFT_SQUARE_BRACKET) { + if (value === CHAR_LEFT_SQUARE_BRACKET$1) { brackets++; let next; while (index < length && (next = advance())) { value += next; - if (next === CHAR_LEFT_SQUARE_BRACKET) { + if (next === CHAR_LEFT_SQUARE_BRACKET$1) { brackets++; continue; } @@ -30670,7 +31696,7 @@ const parse$5 = (input, options = {}) => { continue; } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { + if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { brackets--; if (brackets === 0) { @@ -30690,7 +31716,7 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_LEFT_PARENTHESES) { + if (value === CHAR_LEFT_PARENTHESES$1) { block = push({ type: 'paren', nodes: [] @@ -30703,7 +31729,7 @@ const parse$5 = (input, options = {}) => { continue; } - if (value === CHAR_RIGHT_PARENTHESES) { + if (value === CHAR_RIGHT_PARENTHESES$1) { if (block.type !== 'paren') { push({ type: 'text', @@ -30758,7 +31784,7 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_LEFT_CURLY_BRACE) { + if (value === CHAR_LEFT_CURLY_BRACE$1) { depth++; let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; let brace = { @@ -30784,7 +31810,7 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_RIGHT_CURLY_BRACE) { + if (value === CHAR_RIGHT_CURLY_BRACE$1) { if (block.type !== 'brace') { push({ type: 'text', @@ -30815,7 +31841,7 @@ const parse$5 = (input, options = {}) => { let open = block.nodes.shift(); block.nodes = [open, { type: 'text', - value: stringify$1(block) + value: stringify$2(block) }]; } @@ -30831,7 +31857,7 @@ const parse$5 = (input, options = {}) => { */ - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { + if (value === CHAR_DOT$1 && depth > 0 && block.commas === 0) { let siblings = block.nodes; if (depth === 0 || siblings.length === 0) { @@ -30912,7 +31938,7 @@ const parse$5 = (input, options = {}) => { return ast; }; -var parse_1 = parse$5; +var parse_1$3 = parse$3; /** * Expand the given pattern or create a regex-compatible string. @@ -30967,7 +31993,7 @@ const braces = (input, options = {}) => { */ -braces.parse = (input, options = {}) => parse_1(input, options); +braces.parse = (input, options = {}) => parse_1$3(input, options); /** * Creates a braces string from an AST, or an AST node. * @@ -30985,10 +32011,10 @@ braces.parse = (input, options = {}) => parse_1(input, options); braces.stringify = (input, options = {}) => { if (typeof input === 'string') { - return stringify$1(braces.parse(input, options), options); + return stringify$2(braces.parse(input, options), options); } - return stringify$1(input, options); + return stringify$2(input, options); }; /** * Compiles a brace pattern into a regex-compatible, optimized string. @@ -31122,7 +32148,7 @@ const POSIX_CHARS = { * Windows glob regex */ -const WINDOWS_CHARS = Object.assign({}, POSIX_CHARS, { +const WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, { SLASH_LITERAL: `[${WIN_SLASH}]`, QMARK: WIN_NO_SLASH, STAR: `${WIN_NO_SLASH}*?`, @@ -31139,7 +32165,7 @@ const WINDOWS_CHARS = Object.assign({}, POSIX_CHARS, { * POSIX Bracket Regex */ -const POSIX_REGEX_SOURCE = { +const POSIX_REGEX_SOURCE$1 = { alnum: 'a-zA-Z0-9', alpha: 'a-zA-Z', ascii: '\\x00-\\x7F', @@ -31155,9 +32181,9 @@ const POSIX_REGEX_SOURCE = { word: 'A-Za-z0-9_', xdigit: 'A-Fa-f0-9' }; -var constants$3 = { +var constants$1 = { MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, + POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, // regular expressions REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, @@ -31347,7 +32373,7 @@ var constants$3 = { }; -var utils$2 = createCommonjsModule(function (module, exports) { +var utils$9 = createCommonjsModule(function (module, exports) { const win32 = process.platform === 'win32'; const { @@ -31355,7 +32381,7 @@ var utils$2 = createCommonjsModule(function (module, exports) { REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL - } = constants$3; + } = constants$1; exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); @@ -31432,10 +32458,10 @@ const { CHAR_BACKWARD_SLASH, /* \ */ - CHAR_COMMA: CHAR_COMMA$2, + CHAR_COMMA, /* , */ - CHAR_DOT: CHAR_DOT$1, + CHAR_DOT, /* . */ CHAR_EXCLAMATION_MARK, @@ -31444,31 +32470,31 @@ const { CHAR_FORWARD_SLASH, /* / */ - CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, + CHAR_LEFT_CURLY_BRACE, /* { */ - CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, + CHAR_LEFT_PARENTHESES, /* ( */ - CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, + CHAR_LEFT_SQUARE_BRACKET, /* [ */ - CHAR_PLUS: CHAR_PLUS$1, + CHAR_PLUS, /* + */ CHAR_QUESTION_MARK, /* ? */ - CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, + CHAR_RIGHT_CURLY_BRACE, /* } */ - CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, + CHAR_RIGHT_PARENTHESES, /* ) */ - CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1 + CHAR_RIGHT_SQUARE_BRACKET /* ] */ -} = constants$3; +} = constants$1; const isPathSeparator = code => { return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; @@ -31482,7 +32508,8 @@ const depth = token => { /** * Quickly scans a glob pattern and returns an object with a handful of * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), - * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). + * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not + * with `!(`) and `negatedExtglob` (true if the path starts with `!(`). * * ```js * const pm = require('picomatch'); @@ -31515,6 +32542,7 @@ const scan = (input, options) => { let braceEscaped = false; let backslashes = false; let negated = false; + let negatedExtglob = false; let finished = false; let braces = 0; let prev; @@ -31542,14 +32570,14 @@ const scan = (input, options) => { backslashes = token.backslashes = true; code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE$1) { + if (code === CHAR_LEFT_CURLY_BRACE) { braceEscaped = true; } continue; } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE$1) { + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { braces++; while (eos() !== true && (code = advance())) { @@ -31559,12 +32587,12 @@ const scan = (input, options) => { continue; } - if (code === CHAR_LEFT_CURLY_BRACE$1) { + if (code === CHAR_LEFT_CURLY_BRACE) { braces++; continue; } - if (braceEscaped !== true && code === CHAR_DOT$1 && (code = advance()) === CHAR_DOT$1) { + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; @@ -31576,7 +32604,7 @@ const scan = (input, options) => { break; } - if (braceEscaped !== true && code === CHAR_COMMA$2) { + if (braceEscaped !== true && code === CHAR_COMMA) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; @@ -31588,7 +32616,7 @@ const scan = (input, options) => { break; } - if (code === CHAR_RIGHT_CURLY_BRACE$1) { + if (code === CHAR_RIGHT_CURLY_BRACE) { braces--; if (braces === 0) { @@ -31617,7 +32645,7 @@ const scan = (input, options) => { }; if (finished === true) continue; - if (prev === CHAR_DOT$1 && index === start + 1) { + if (prev === CHAR_DOT && index === start + 1) { start += 2; continue; } @@ -31627,13 +32655,17 @@ const scan = (input, options) => { } if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS$1 || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; + const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES$1) { + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; isExtglob = token.isExtglob = true; finished = true; + if (code === CHAR_EXCLAMATION_MARK && index === start) { + negatedExtglob = true; + } + if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { @@ -31642,7 +32674,7 @@ const scan = (input, options) => { continue; } - if (code === CHAR_RIGHT_PARENTHESES$1) { + if (code === CHAR_RIGHT_PARENTHESES) { isGlob = token.isGlob = true; finished = true; break; @@ -31679,7 +32711,7 @@ const scan = (input, options) => { break; } - if (code === CHAR_LEFT_SQUARE_BRACKET$1) { + if (code === CHAR_LEFT_SQUARE_BRACKET) { while (eos() !== true && (next = advance())) { if (next === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; @@ -31687,18 +32719,19 @@ const scan = (input, options) => { continue; } - if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { + if (next === CHAR_RIGHT_SQUARE_BRACKET) { isBracket = token.isBracket = true; isGlob = token.isGlob = true; finished = true; - - if (scanToEnd === true) { - continue; - } - break; } } + + if (scanToEnd === true) { + continue; + } + + break; } if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { @@ -31707,18 +32740,18 @@ const scan = (input, options) => { continue; } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES$1) { + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; if (scanToEnd === true) { while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES$1) { + if (code === CHAR_LEFT_PARENTHESES) { backslashes = token.backslashes = true; code = advance(); continue; } - if (code === CHAR_RIGHT_PARENTHESES$1) { + if (code === CHAR_RIGHT_PARENTHESES) { finished = true; break; } @@ -31773,10 +32806,10 @@ const scan = (input, options) => { } if (opts.unescape === true) { - if (glob) glob = utils$2.removeBackslashes(glob); + if (glob) glob = utils$9.removeBackslashes(glob); if (base && backslashes === true) { - base = utils$2.removeBackslashes(base); + base = utils$9.removeBackslashes(base); } } @@ -31791,7 +32824,8 @@ const scan = (input, options) => { isGlob, isExtglob, isGlobstar, - negated + negated, + negatedExtglob }; if (opts.tokens === true) { @@ -31857,12 +32891,12 @@ var scan_1 = scan; const { - MAX_LENGTH: MAX_LENGTH$3, - POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, + MAX_LENGTH, + POSIX_REGEX_SOURCE, REGEX_NON_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_BACKREF, REPLACEMENTS -} = constants$3; +} = constants$1; /** * Helpers */ @@ -31879,7 +32913,7 @@ const expandRange = (args, options) => { /* eslint-disable-next-line no-new */ new RegExp(value); } catch (ex) { - return args.map(v => utils$2.escapeRegex(v)).join('..'); + return args.map(v => utils$9.escapeRegex(v)).join('..'); } return value; @@ -31900,14 +32934,14 @@ const syntaxError$1 = (type, char) => { */ -const parse$6 = (input, options) => { +const parse$2 = (input, options) => { if (typeof input !== 'string') { throw new TypeError('Expected a string'); } input = REPLACEMENTS[input] || input; const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$3, opts.maxLength) : MAX_LENGTH$3; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; let len = input.length; if (len > max) { @@ -31921,10 +32955,10 @@ const parse$6 = (input, options) => { }; const tokens = [bos]; const capture = opts.capture ? '' : '?:'; - const win32 = utils$2.isWindows(options); // create constants based on platform, for windows or posix + const win32 = utils$9.isWindows(options); // create constants based on platform, for windows or posix - const PLATFORM_CHARS = constants$3.globChars(win32); - const EXTGLOB_CHARS = constants$3.extglobChars(PLATFORM_CHARS); + const PLATFORM_CHARS = constants$1.globChars(win32); + const EXTGLOB_CHARS = constants$1.extglobChars(PLATFORM_CHARS); const { DOT_LITERAL, PLUS_LITERAL, @@ -31974,7 +33008,7 @@ const parse$6 = (input, options) => { globstar: false, tokens }; - input = utils$2.removePrefix(input, state); + input = utils$9.removePrefix(input, state); len = input.length; const extglobs = []; const braces = []; @@ -31989,7 +33023,7 @@ const parse$6 = (input, options) => { const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index]; + const advance = state.advance = () => input[++state.index] || ''; const remaining = () => input.slice(state.index + 1); @@ -32053,7 +33087,7 @@ const parse$6 = (input, options) => { } } - if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { + if (extglobs.length && tok.type !== 'paren') { extglobs[extglobs.length - 1].inner += tok.value; } @@ -32071,7 +33105,7 @@ const parse$6 = (input, options) => { }; const extglobOpen = (type, value) => { - const token = Object.assign({}, EXTGLOB_CHARS[value], { + const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value]), {}, { conditions: 1, inner: '' }); @@ -32096,6 +33130,7 @@ const parse$6 = (input, options) => { const extglobClose = token => { let output = token.close + (opts.capture ? ')' : ''); + let rest; if (token.type === 'negate') { let extglobStar = star; @@ -32108,7 +33143,11 @@ const parse$6 = (input, options) => { output = token.close = `)$))${extglobStar}`; } - if (token.prev.type === 'bos' && eos()) { + if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { + output = token.close = `)${rest})${extglobStar})`; + } + + if (token.prev.type === 'bos') { state.negatedExtglob = true; } } @@ -32176,7 +33215,7 @@ const parse$6 = (input, options) => { return state; } - state.output = utils$2.wrapOutput(output, state, options); + state.output = utils$9.wrapOutput(output, state, options); return state; } /** @@ -32229,9 +33268,9 @@ const parse$6 = (input, options) => { } if (opts.unescape === true) { - value = advance() || ''; + value = advance(); } else { - value += advance() || ''; + value += advance(); } if (state.brackets === 0) { @@ -32259,7 +33298,7 @@ const parse$6 = (input, options) => { const idx = prev.value.lastIndexOf('['); const pre = prev.value.slice(0, idx); const rest = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE$1[rest]; + const posix = POSIX_REGEX_SOURCE[rest]; if (posix) { prev.value = pre + posix; @@ -32301,7 +33340,7 @@ const parse$6 = (input, options) => { if (state.quotes === 1 && value !== '"') { - value = utils$2.escapeRegex(value); + value = utils$9.escapeRegex(value); prev.value += value; append({ value @@ -32418,11 +33457,11 @@ const parse$6 = (input, options) => { }); // when literal brackets are explicitly disabled // assume we should match with a regex character class - if (opts.literalBrackets === false || utils$2.hasRegexChars(prevValue)) { + if (opts.literalBrackets === false || utils$9.hasRegexChars(prevValue)) { continue; } - const escaped = utils$2.escapeRegex(prev.value); + const escaped = utils$9.escapeRegex(prev.value); state.output = state.output.slice(0, -prev.value.length); // when literal brackets are explicitly enabled // assume we should escape the brackets to match literal characters @@ -32624,7 +33663,7 @@ const parse$6 = (input, options) => { const next = peek(); let output = value; - if (next === '<' && !utils$2.supportsLookbehinds()) { + if (next === '<' && !utils$9.supportsLookbehinds()) { throw new Error('Node.js v10 or higher is required for regex lookbehinds'); } @@ -32934,19 +33973,19 @@ const parse$6 = (input, options) => { while (state.brackets > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError$1('closing', ']')); - state.output = utils$2.escapeLast(state.output, '['); + state.output = utils$9.escapeLast(state.output, '['); decrement('brackets'); } while (state.parens > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError$1('closing', ')')); - state.output = utils$2.escapeLast(state.output, '('); + state.output = utils$9.escapeLast(state.output, '('); decrement('parens'); } while (state.braces > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError$1('closing', '}')); - state.output = utils$2.escapeLast(state.output, '{'); + state.output = utils$9.escapeLast(state.output, '{'); decrement('braces'); } @@ -32980,9 +34019,9 @@ const parse$6 = (input, options) => { */ -parse$6.fastpaths = (input, options) => { +parse$2.fastpaths = (input, options) => { const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$3, opts.maxLength) : MAX_LENGTH$3; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; const len = input.length; if (len > max) { @@ -32990,7 +34029,7 @@ parse$6.fastpaths = (input, options) => { } input = REPLACEMENTS[input] || input; - const win32 = utils$2.isWindows(options); // create constants based on platform, for windows or posix + const win32 = utils$9.isWindows(options); // create constants based on platform, for windows or posix const { DOT_LITERAL, @@ -33002,7 +34041,7 @@ parse$6.fastpaths = (input, options) => { NO_DOTS_SLASH, STAR, START_ANCHOR - } = constants$3.globChars(win32); + } = constants$1.globChars(win32); const nodot = opts.dot ? NO_DOTS : NO_DOT; const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; const capture = opts.capture ? '' : '?:'; @@ -33058,7 +34097,7 @@ parse$6.fastpaths = (input, options) => { } }; - const output = utils$2.removePrefix(input, state); + const output = utils$9.removePrefix(input, state); let source = create(output); if (source && opts.strictSlashes !== true) { @@ -33068,9 +34107,9 @@ parse$6.fastpaths = (input, options) => { return source; }; -var parse_1$1 = parse$6; +var parse_1$2 = parse$2; -const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); +const isObject = val => val && typeof val === 'object' && !Array.isArray(val); /** * Creates a matcher function from one or more glob patterns. The * returned function takes a string to match as its first argument, @@ -33094,9 +34133,9 @@ const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); */ -const picomatch = (glob, options, returnState = false) => { +const picomatch$1 = (glob, options, returnState = false) => { if (Array.isArray(glob)) { - const fns = glob.map(input => picomatch(input, options, returnState)); + const fns = glob.map(input => picomatch$1(input, options, returnState)); const arrayMatcher = str => { for (const isMatch of fns) { @@ -33110,27 +34149,27 @@ const picomatch = (glob, options, returnState = false) => { return arrayMatcher; } - const isState = isObject$2(glob) && glob.tokens && glob.input; + const isState = isObject(glob) && glob.tokens && glob.input; if (glob === '' || typeof glob !== 'string' && !isState) { throw new TypeError('Expected pattern to be a non-empty string'); } const opts = options || {}; - const posix = utils$2.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); + const posix = utils$9.isWindows(options); + const regex = isState ? picomatch$1.compileRe(glob, options) : picomatch$1.makeRe(glob, options, false, true); const state = regex.state; delete regex.state; let isIgnored = () => false; if (opts.ignore) { - const ignoreOpts = Object.assign({}, options, { + const ignoreOpts = Object.assign(Object.assign({}, options), {}, { ignore: null, onMatch: null, onResult: null }); - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); + isIgnored = picomatch$1(opts.ignore, ignoreOpts, returnState); } const matcher = (input, returnObject = false) => { @@ -33138,7 +34177,7 @@ const picomatch = (glob, options, returnState = false) => { isMatch, match, output - } = picomatch.test(input, regex, options, { + } = picomatch$1.test(input, regex, options, { glob, posix }); @@ -33202,7 +34241,7 @@ const picomatch = (glob, options, returnState = false) => { */ -picomatch.test = (input, regex, options, { +picomatch$1.test = (input, regex, options, { glob, posix } = {}) => { @@ -33218,7 +34257,7 @@ picomatch.test = (input, regex, options, { } const opts = options || {}; - const format = opts.format || (posix ? utils$2.toPosixSlashes : null); + const format = opts.format || (posix ? utils$9.toPosixSlashes : null); let match = input === glob; let output = match && format ? format(input) : input; @@ -33229,7 +34268,7 @@ picomatch.test = (input, regex, options, { if (match === false || opts.capture === true) { if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); + match = picomatch$1.matchBase(input, regex, options, posix); } else { match = regex.exec(output); } @@ -33256,8 +34295,8 @@ picomatch.test = (input, regex, options, { */ -picomatch.matchBase = (input, glob, options, posix = utils$2.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); +picomatch$1.matchBase = (input, glob, options, posix = utils$9.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options); return regex.test(path__default['default'].basename(input)); }; /** @@ -33278,7 +34317,7 @@ picomatch.matchBase = (input, glob, options, posix = utils$2.isWindows(options)) */ -picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); +picomatch$1.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); /** * Parse a glob pattern to create the source string for a regular * expression. @@ -33294,9 +34333,9 @@ picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str */ -picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); - return parse_1$1(pattern, Object.assign({}, options, { +picomatch$1.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch$1.parse(p, options)); + return parse_1$2(pattern, Object.assign(Object.assign({}, options), {}, { fastpaths: false })); }; @@ -33328,7 +34367,42 @@ picomatch.parse = (pattern, options) => { */ -picomatch.scan = (input, options) => scan_1(input, options); +picomatch$1.scan = (input, options) => scan_1(input, options); +/** + * Compile a regular expression from the `state` object returned by the + * [parse()](#parse) method. + * + * @param {Object} `state` + * @param {Object} `options` + * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser. + * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging. + * @return {RegExp} + * @api public + */ + + +picomatch$1.compileRe = (state, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return state.output; + } + + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; + let source = `${prepend}(?:${state.output})${append}`; + + if (state && state.negated === true) { + source = `^(?!${source}).*$`; + } + + const regex = picomatch$1.toRegex(source, options); + + if (returnState === true) { + regex.state = state; + } + + return regex; +}; /** * Create a regular expression from a parsed glob pattern. * @@ -33342,64 +34416,32 @@ picomatch.scan = (input, options) => scan_1(input, options); * ``` * @param {String} `state` The object returned from the `.parse` method. * @param {Object} `options` + * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result. + * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression. * @return {RegExp} Returns a regex created from the given pattern. * @api public */ -picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return parsed.output; - } - - const opts = options || {}; - const prepend = opts.contains ? '' : '^'; - const append = opts.contains ? '' : '$'; - let source = `${prepend}(?:${parsed.output})${append}`; - - if (parsed && parsed.negated === true) { - source = `^(?!${source}).*$`; - } - - const regex = picomatch.toRegex(source, options); - - if (returnState === true) { - regex.state = parsed; - } - - return regex; -}; - -picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { +picomatch$1.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { if (!input || typeof input !== 'string') { throw new TypeError('Expected a non-empty string'); } - const opts = options || {}; let parsed = { negated: false, fastpaths: true }; - let prefix = ''; - let output; - if (input.startsWith('./')) { - input = input.slice(2); - prefix = parsed.prefix = './'; + if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + parsed.output = parse_1$2.fastpaths(input, options); } - if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { - output = parse_1$1.fastpaths(input, options); + if (!parsed.output) { + parsed = parse_1$2(input, options); } - if (output === undefined) { - parsed = parse_1$1(input, options); - parsed.prefix = prefix + (parsed.prefix || ''); - } else { - parsed.output = output; - } - - return picomatch.compileRe(parsed, options, returnOutput, returnState); + return picomatch$1.compileRe(parsed, options, returnOutput, returnState); }; /** * Create a regular expression from the given regex source string. @@ -33419,7 +34461,7 @@ picomatch.makeRe = (input, options, returnOutput = false, returnState = false) = */ -picomatch.toRegex = (source, options) => { +picomatch$1.toRegex = (source, options) => { try { const opts = options || {}; return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); @@ -33434,16 +34476,16 @@ picomatch.toRegex = (source, options) => { */ -picomatch.constants = constants$3; +picomatch$1.constants = constants$1; /** * Expose "picomatch" */ -var picomatch_1 = picomatch; +var picomatch_1 = picomatch$1; -var picomatch$1 = picomatch_1; +var picomatch = picomatch_1; -const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); +const isEmptyString = val => val === '' || val === './'; /** * Returns an array of strings that match one or more glob patterns. * @@ -33454,9 +34496,9 @@ const isEmptyString = val => typeof val === 'string' && (val === '' || val === ' * console.log(mm(['a.js', 'a.txt'], ['*.js'])); * //=> [ 'a.js' ] * ``` - * @param {String|Array} list List of strings to match. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} options See available [options](#options) + * @param {String|Array} `list` List of strings to match. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) * @return {Array} Returns an array of matches * @summary false * @api public @@ -33480,7 +34522,7 @@ const micromatch = (list, patterns, options) => { }; for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch$1(String(patterns[i]), Object.assign({}, options, { + let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, { onResult }), true); let negated = isMatch.state.negated || isMatch.state.negatedExtglob; @@ -33540,7 +34582,7 @@ micromatch.match = micromatch; * @api public */ -micromatch.matcher = (pattern, options) => picomatch$1(pattern, options); +micromatch.matcher = (pattern, options) => picomatch(pattern, options); /** * Returns true if **any** of the given glob `patterns` match the specified `string`. * @@ -33551,15 +34593,15 @@ micromatch.matcher = (pattern, options) => picomatch$1(pattern, options); * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true * console.log(mm.isMatch('a.a', 'b.*')); //=> false * ``` - * @param {String} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). + * @param {String} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `[options]` See available [options](#options). * @return {Boolean} Returns true if any patterns match `str` * @api public */ -micromatch.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); +micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); /** * Backwards compatibility */ @@ -33593,7 +34635,7 @@ micromatch.not = (list, patterns, options = {}) => { items.push(state.output); }; - let matches = micromatch(list, patterns, Object.assign({}, options, { + let matches = micromatch(list, patterns, Object.assign(Object.assign({}, options), {}, { onResult })); @@ -33621,7 +34663,7 @@ micromatch.not = (list, patterns, options = {}) => { * @param {String} `str` The string to match. * @param {String|Array} `patterns` Glob pattern to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if the patter matches any part of `str`. + * @return {Boolean} Returns true if any of the patterns matches any part of `str`. * @api public */ @@ -33645,7 +34687,7 @@ micromatch.contains = (str, pattern, options) => { } } - return micromatch.isMatch(str, pattern, Object.assign({}, options, { + return micromatch.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, { contains: true })); }; @@ -33671,7 +34713,7 @@ micromatch.contains = (str, pattern, options) => { micromatch.matchKeys = (obj, patterns, options) => { - if (!utils$2.isObject(obj)) { + if (!utils$9.isObject(obj)) { throw new TypeError('Expected the first argument to be an object'); } @@ -33697,7 +34739,7 @@ micromatch.matchKeys = (obj, patterns, options) => { * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. * @param {String|Array} `patterns` One or more glob patterns to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` + * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list` * @api public */ @@ -33706,7 +34748,7 @@ micromatch.some = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); + let isMatch = picomatch(String(pattern), options); if (items.some(item => isMatch(item))) { return true; @@ -33735,7 +34777,7 @@ micromatch.some = (list, patterns, options) => { * @param {String|Array} `list` The string or array of strings to test. * @param {String|Array} `patterns` One or more glob patterns to use for matching. * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` + * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list` * @api public */ @@ -33744,7 +34786,7 @@ micromatch.every = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); + let isMatch = picomatch(String(pattern), options); if (!items.every(item => isMatch(item))) { return false; @@ -33786,7 +34828,7 @@ micromatch.all = (str, patterns, options) => { throw new TypeError(`Expected a string: "${util__default['default'].inspect(str)}"`); } - return [].concat(patterns).every(p => picomatch$1(p, options)(str)); + return [].concat(patterns).every(p => picomatch(p, options)(str)); }; /** * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. @@ -33803,17 +34845,17 @@ micromatch.all = (str, patterns, options) => { * @param {String} `glob` Glob pattern to use for matching. * @param {String} `input` String to match * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns an array of captures if the input matches the glob pattern, otherwise `null`. + * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`. * @api public */ micromatch.capture = (glob, input, options) => { - let posix = utils$2.isWindows(options); - let regex = picomatch$1.makeRe(String(glob), Object.assign({}, options, { + let posix = utils$9.isWindows(options); + let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, { capture: true })); - let match = regex.exec(posix ? utils$2.toPosixSlashes(input) : input); + let match = regex.exec(posix ? utils$9.toPosixSlashes(input) : input); if (match) { return match.slice(1).map(v => v === void 0 ? '' : v); @@ -33836,7 +34878,7 @@ micromatch.capture = (glob, input, options) => { */ -micromatch.makeRe = (...args) => picomatch$1.makeRe(...args); +micromatch.makeRe = (...args) => picomatch.makeRe(...args); /** * Scan a glob pattern to separate the pattern into segments. Used * by the [split](#split) method. @@ -33852,7 +34894,7 @@ micromatch.makeRe = (...args) => picomatch$1.makeRe(...args); */ -micromatch.scan = (...args) => picomatch$1.scan(...args); +micromatch.scan = (...args) => picomatch.scan(...args); /** * Parse a glob pattern to create the source string for a regular * expression. @@ -33873,7 +34915,7 @@ micromatch.parse = (patterns, options) => { for (let pattern of [].concat(patterns || [])) { for (let str of braces_1(String(pattern), options)) { - res.push(picomatch$1.parse(str, options)); + res.push(picomatch.parse(str, options)); } } @@ -33913,7 +34955,7 @@ micromatch.braces = (pattern, options) => { micromatch.braceExpand = (pattern, options) => { if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - return micromatch.braces(pattern, Object.assign({}, options, { + return micromatch.braces(pattern, Object.assign(Object.assign({}, options), {}, { expand: true })); }; @@ -34063,7 +35105,7 @@ var pattern = createCommonjsModule(function (module, exports) { function getPatternParts(pattern, options) { let { parts - } = picomatch$1.scan(pattern, Object.assign(Object.assign({}, options), { + } = picomatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); /** @@ -34109,7 +35151,7 @@ var pattern = createCommonjsModule(function (module, exports) { exports.matchAny = matchAny; }); -var stream$1 = createCommonjsModule(function (module, exports) { +var stream$4 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -34133,7 +35175,7 @@ var stream$1 = createCommonjsModule(function (module, exports) { } }); -var string$1 = createCommonjsModule(function (module, exports) { +var string = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true @@ -34153,19 +35195,19 @@ var string$1 = createCommonjsModule(function (module, exports) { exports.isEmpty = isEmpty; }); -var utils$3 = createCommonjsModule(function (module, exports) { +var utils$8 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; - exports.array = array$2; + exports.array = array$1; exports.errno = errno; exports.fs = fs$1; exports.path = path_1; exports.pattern = pattern; - exports.stream = stream$1; - exports.string = string$1; + exports.stream = stream$4; + exports.string = string; }); var tasks = createCommonjsModule(function (module, exports) { @@ -34178,8 +35220,8 @@ var tasks = createCommonjsModule(function (module, exports) { function generate(patterns, settings) { const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter(pattern => utils$3.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter(pattern => utils$3.pattern.isDynamicPattern(pattern, settings)); + const staticPatterns = positivePatterns.filter(pattern => utils$8.pattern.isStaticPattern(pattern, settings)); + const dynamicPatterns = positivePatterns.filter(pattern => utils$8.pattern.isDynamicPattern(pattern, settings)); const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false); @@ -34206,14 +35248,14 @@ var tasks = createCommonjsModule(function (module, exports) { exports.convertPatternsToTasks = convertPatternsToTasks; function getPositivePatterns(patterns) { - return utils$3.pattern.getPositivePatterns(patterns); + return utils$8.pattern.getPositivePatterns(patterns); } exports.getPositivePatterns = getPositivePatterns; function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils$3.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils$3.pattern.convertToPositivePattern); + const negative = utils$8.pattern.getNegativePatterns(patterns).concat(ignore); + const positive = negative.map(utils$8.pattern.convertToPositivePattern); return positive; } @@ -34222,7 +35264,7 @@ var tasks = createCommonjsModule(function (module, exports) { function groupPatternsByBaseDirectory(patterns) { const group = {}; return patterns.reduce((collection, pattern) => { - const base = utils$3.pattern.getBaseDirectory(pattern); + const base = utils$8.pattern.getBaseDirectory(pattern); if (base in collection) { collection[base].push(pattern); @@ -34250,36 +35292,41 @@ var tasks = createCommonjsModule(function (module, exports) { positive, negative, base, - patterns: [].concat(positive, negative.map(utils$3.pattern.convertToNegativePattern)) + patterns: [].concat(positive, negative.map(utils$8.pattern.convertToNegativePattern)) }; } exports.convertPatternGroupToTask = convertPatternGroupToTask; }); -var async$1 = createCommonjsModule(function (module, exports) { +var async$4 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.read = void 0; function read(path, settings, callback) { settings.fs.lstat(path, (lstatError, lstat) => { if (lstatError !== null) { - return callFailureCallback(callback, lstatError); + callFailureCallback(callback, lstatError); + return; } if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return callSuccessCallback(callback, lstat); + callSuccessCallback(callback, lstat); + return; } settings.fs.stat(path, (statError, stat) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { - return callFailureCallback(callback, statError); + callFailureCallback(callback, statError); + return; } - return callSuccessCallback(callback, lstat); + callSuccessCallback(callback, lstat); + return; } if (settings.markSymbolicLink) { @@ -34302,11 +35349,12 @@ var async$1 = createCommonjsModule(function (module, exports) { } }); -var sync$1 = createCommonjsModule(function (module, exports) { +var sync$8 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.read = void 0; function read(path, settings) { const lstat = settings.fs.lstatSync(path); @@ -34335,11 +35383,12 @@ var sync$1 = createCommonjsModule(function (module, exports) { exports.read = read; }); -var fs_1 = createCommonjsModule(function (module, exports) { +var fs_1$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; exports.FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, stat: fs__default['default'].stat, @@ -34358,68 +35407,76 @@ var fs_1 = createCommonjsModule(function (module, exports) { exports.createFileSystemAdapter = createFileSystemAdapter; }); -var settings = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs_1.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - +class Settings$2 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); + this.fs = fs_1$1.createFileSystemAdapter(this._options.fs); + this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); } - exports.default = Settings; + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$l = Settings$2; +var settings$3 = /*#__PURE__*/Object.defineProperty({ + default: _default$l +}, '__esModule', { + value: true }); -var out = createCommonjsModule(function (module, exports) { +var out$3 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = settings.default; + exports.statSync = exports.stat = exports.Settings = void 0; + exports.Settings = settings$3.default; function stat(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return async$1.read(path, getSettings(), optionsOrSettingsOrCallback); + async$4.read(path, getSettings(), optionsOrSettingsOrCallback); + return; } - async$1.read(path, getSettings(optionsOrSettingsOrCallback), callback); + async$4.read(path, getSettings(optionsOrSettingsOrCallback), callback); } exports.stat = stat; function statSync(path, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync$1.read(path, settings); + return sync$8.read(path, settings); } exports.statSync = statSync; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings.default) { + if (settingsOrOptions instanceof settings$3.default) { return settingsOrOptions; } - return new settings.default(settingsOrOptions); + return new settings$3.default(settingsOrOptions); } }); +/*! queue-microtask. MIT License. Feross Aboukhadijeh */ +let promise$1; +var queueMicrotask_1 = typeof queueMicrotask === 'function' ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global) // reuse resolved promise, and allocate it lazily +: cb => (promise$1 || (promise$1 = Promise.resolve())).then(cb).catch(err => setTimeout(() => { + throw err; +}, 0)); + +/*! run-parallel. MIT License. Feross Aboukhadijeh */ var runParallel_1 = runParallel; function runParallel(tasks, cb) { - var results, pending, keys; - var isSync = true; + let results, pending, keys; + let isSync = true; if (Array.isArray(tasks)) { results = []; @@ -34436,7 +35493,7 @@ function runParallel(tasks, cb) { cb = null; } - if (isSync) process.nextTick(end);else end(); + if (isSync) queueMicrotask_1(end);else end(); } function each(i, err, result) { @@ -34469,30 +35526,37 @@ function runParallel(tasks, cb) { isSync = false; } -var constants$4 = createCommonjsModule(function (module, exports) { +var constants = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); - const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); + + if (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) { + throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); + } + + const MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); + const MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); const SUPPORTED_MAJOR_VERSION = 10; const SUPPORTED_MINOR_VERSION = 10; const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - /** - * IS `true` for Node.js 10.10 and greater. + /** + * IS `true` for Node.js 10.10 and greater. */ exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; }); -var fs$2 = createCommonjsModule(function (module, exports) { +var fs = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createDirentFromStats = void 0; class DirentFromStats { constructor(name, stats) { @@ -34515,26 +35579,50 @@ var fs$2 = createCommonjsModule(function (module, exports) { exports.createDirentFromStats = createDirentFromStats; }); -var utils$4 = createCommonjsModule(function (module, exports) { +var utils$7 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.fs = fs$2; + exports.fs = void 0; + exports.fs = fs; }); -var async$2 = createCommonjsModule(function (module, exports) { +var common$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.joinPathSegments = void 0; - function read(directory, settings, callback) { - if (!settings.stats && constants$4.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings, callback); + function joinPathSegments(a, b, separator) { + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + if (a.endsWith(separator)) { + return a + b; } - return readdir(directory, settings, callback); + return a + separator + b; + } + + exports.joinPathSegments = joinPathSegments; +}); + +var async$3 = createCommonjsModule(function (module, exports) { + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; + + function read(directory, settings, callback) { + if (!settings.stats && constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + readdirWithFileTypes(directory, settings, callback); + return; + } + + readdir(directory, settings, callback); } exports.read = read; @@ -34544,23 +35632,26 @@ var async$2 = createCommonjsModule(function (module, exports) { withFileTypes: true }, (readdirError, dirents) => { if (readdirError !== null) { - return callFailureCallback(callback, readdirError); + callFailureCallback(callback, readdirError); + return; } const entries = dirents.map(dirent => ({ dirent, name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + path: common$1.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) })); if (!settings.followSymbolicLinks) { - return callSuccessCallback(callback, entries); + callSuccessCallback(callback, entries); + return; } const tasks = entries.map(entry => makeRplTaskEntry(entry, settings)); runParallel_1(tasks, (rplError, rplEntries) => { if (rplError !== null) { - return callFailureCallback(callback, rplError); + callFailureCallback(callback, rplError); + return; } callSuccessCallback(callback, rplEntries); @@ -34573,20 +35664,23 @@ var async$2 = createCommonjsModule(function (module, exports) { function makeRplTaskEntry(entry, settings) { return done => { if (!entry.dirent.isSymbolicLink()) { - return done(null, entry); + done(null, entry); + return; } settings.fs.stat(entry.path, (statError, stats) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { - return done(statError); + done(statError); + return; } - return done(null, entry); + done(null, entry); + return; } - entry.dirent = utils$4.fs.createDirentFromStats(entry.name, stats); - return done(null, entry); + entry.dirent = utils$7.fs.createDirentFromStats(entry.name, stats); + done(null, entry); }); }; } @@ -34594,33 +35688,39 @@ var async$2 = createCommonjsModule(function (module, exports) { function readdir(directory, settings, callback) { settings.fs.readdir(directory, (readdirError, names) => { if (readdirError !== null) { - return callFailureCallback(callback, readdirError); + callFailureCallback(callback, readdirError); + return; } - const filepaths = names.map(name => `${directory}${settings.pathSegmentSeparator}${name}`); - const tasks = filepaths.map(filepath => { - return done => out.stat(filepath, settings.fsStatSettings, done); + const tasks = names.map(name => { + const path = common$1.joinPathSegments(directory, name, settings.pathSegmentSeparator); + return done => { + out$3.stat(path, settings.fsStatSettings, (error, stats) => { + if (error !== null) { + done(error); + return; + } + + const entry = { + name, + path, + dirent: utils$7.fs.createDirentFromStats(name, stats) + }; + + if (settings.stats) { + entry.stats = stats; + } + + done(null, entry); + }); + }; }); - runParallel_1(tasks, (rplError, results) => { + runParallel_1(tasks, (rplError, entries) => { if (rplError !== null) { - return callFailureCallback(callback, rplError); + callFailureCallback(callback, rplError); + return; } - const entries = []; - names.forEach((name, index) => { - const stats = results[index]; - const entry = { - name, - path: filepaths[index], - dirent: utils$4.fs.createDirentFromStats(name, stats) - }; - - if (settings.stats) { - entry.stats = stats; - } - - entries.push(entry); - }); callSuccessCallback(callback, entries); }); }); @@ -34637,14 +35737,15 @@ var async$2 = createCommonjsModule(function (module, exports) { } }); -var sync$2 = createCommonjsModule(function (module, exports) { +var sync$7 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; function read(directory, settings) { - if (!settings.stats && constants$4.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + if (!settings.stats && constants.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings); } @@ -34661,13 +35762,13 @@ var sync$2 = createCommonjsModule(function (module, exports) { const entry = { dirent, name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + path: common$1.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) }; if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { try { const stats = settings.fs.statSync(entry.path); - entry.dirent = utils$4.fs.createDirentFromStats(entry.name, stats); + entry.dirent = utils$7.fs.createDirentFromStats(entry.name, stats); } catch (error) { if (settings.throwErrorOnBrokenSymbolicLink) { throw error; @@ -34684,12 +35785,12 @@ var sync$2 = createCommonjsModule(function (module, exports) { function readdir(directory, settings) { const names = settings.fs.readdirSync(directory); return names.map(name => { - const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`; - const stats = out.statSync(entryPath, settings.fsStatSettings); + const entryPath = common$1.joinPathSegments(directory, name, settings.pathSegmentSeparator); + const stats = out$3.statSync(entryPath, settings.fsStatSettings); const entry = { name, path: entryPath, - dirent: utils$4.fs.createDirentFromStats(name, stats) + dirent: utils$7.fs.createDirentFromStats(name, stats) }; if (settings.stats) { @@ -34703,11 +35804,12 @@ var sync$2 = createCommonjsModule(function (module, exports) { exports.readdir = readdir; }); -var fs_1$1 = createCommonjsModule(function (module, exports) { +var fs_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; exports.FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, stat: fs__default['default'].stat, @@ -34728,66 +35830,66 @@ var fs_1$1 = createCommonjsModule(function (module, exports) { exports.createFileSystemAdapter = createFileSystemAdapter; }); -var settings$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs_1$1.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new out.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - +class Settings$1 { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); + this.fs = fs_1.createFileSystemAdapter(this._options.fs); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); + this.stats = this._getValue(this._options.stats, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + this.fsStatSettings = new out$3.Settings({ + followSymbolicLink: this.followSymbolicLinks, + fs: this.fs, + throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink + }); } - exports.default = Settings; + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$k = Settings$1; +var settings$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$k +}, '__esModule', { + value: true }); -var out$1 = createCommonjsModule(function (module, exports) { +var out$2 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = settings$1.default; + exports.Settings = exports.scandirSync = exports.scandir = void 0; + exports.Settings = settings$2.default; function scandir(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return async$2.read(path, getSettings(), optionsOrSettingsOrCallback); + async$3.read(path, getSettings(), optionsOrSettingsOrCallback); + return; } - async$2.read(path, getSettings(optionsOrSettingsOrCallback), callback); + async$3.read(path, getSettings(optionsOrSettingsOrCallback), callback); } exports.scandir = scandir; function scandirSync(path, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync$2.read(path, settings); + return sync$7.read(path, settings); } exports.scandirSync = scandirSync; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$1.default) { + if (settingsOrOptions instanceof settings$2.default) { return settingsOrOptions; } - return new settings$1.default(settingsOrOptions); + return new settings$2.default(settingsOrOptions); } }); @@ -34829,14 +35931,19 @@ function fastqueue(context, worker, concurrency) { context = null; } + if (concurrency < 1) { + throw new Error('fastqueue concurrency must be greater than 1'); + } + var cache = reusify_1(Task); var queueHead = null; var queueTail = null; var _running = 0; + var errorHandler = null; var self = { push: push, - drain: noop$1, - saturated: noop$1, + drain: noop, + saturated: noop, pause: pause, paused: false, concurrency: concurrency, @@ -34846,9 +35953,10 @@ function fastqueue(context, worker, concurrency) { length: length, getQueue: getQueue, unshift: unshift, - empty: noop$1, + empty: noop, kill: kill, - killAndDrain: killAndDrain + killAndDrain: killAndDrain, + error: error }; return self; @@ -34903,7 +36011,8 @@ function fastqueue(context, worker, concurrency) { current.context = context; current.release = release; current.value = value; - current.callback = done || noop$1; + current.callback = done || noop; + current.errorHandler = errorHandler; if (_running === self.concurrency || self.paused) { if (queueTail) { @@ -34925,7 +36034,7 @@ function fastqueue(context, worker, concurrency) { current.context = context; current.release = release; current.value = value; - current.callback = done || noop$1; + current.callback = done || noop; if (_running === self.concurrency || self.paused) { if (queueHead) { @@ -34973,43 +36082,105 @@ function fastqueue(context, worker, concurrency) { function kill() { queueHead = null; queueTail = null; - self.drain = noop$1; + self.drain = noop; } function killAndDrain() { queueHead = null; queueTail = null; self.drain(); - self.drain = noop$1; + self.drain = noop; + } + + function error(handler) { + errorHandler = handler; } } -function noop$1() {} +function noop() {} function Task() { this.value = null; - this.callback = noop$1; + this.callback = noop; this.next = null; - this.release = noop$1; + this.release = noop; this.context = null; + this.errorHandler = null; var self = this; this.worked = function worked(err, result) { var callback = self.callback; + var errorHandler = self.errorHandler; + var val = self.value; self.value = null; - self.callback = noop$1; + self.callback = noop; + + if (self.errorHandler) { + errorHandler(err, val); + } + callback.call(self.context, err, result); self.release(self); }; } -var queue = fastqueue; +function queueAsPromised(context, worker, concurrency) { + if (typeof context === 'function') { + concurrency = worker; + worker = context; + context = null; + } -var common$2 = createCommonjsModule(function (module, exports) { + function asyncWrapper(arg, cb) { + worker.call(this, arg).then(function (res) { + cb(null, res); + }, cb); + } + + var queue = fastqueue(context, asyncWrapper, concurrency); + var pushCb = queue.push; + var unshiftCb = queue.unshift; + queue.push = push; + queue.unshift = unshift; + return queue; + + function push(value) { + return new Promise(function (resolve, reject) { + pushCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); + } + + function unshift(value) { + return new Promise(function (resolve, reject) { + unshiftCb(value, function (err, result) { + if (err) { + reject(err); + return; + } + + resolve(result); + }); + }); + } +} + +var queue = fastqueue; +var promise = queueAsPromised; +queue.promise = promise; + +var common = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0; function isFatalError(settings, error) { if (settings.errorFilter === null) { @@ -35028,7 +36199,7 @@ var common$2 = createCommonjsModule(function (module, exports) { exports.isAppliedFilter = isAppliedFilter; function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[\\/]/).join(separator); + return filepath.split(/[/\\]/).join(separator); } exports.replacePathSegmentSeparator = replacePathSegmentSeparator; @@ -35037,6 +36208,14 @@ var common$2 = createCommonjsModule(function (module, exports) { if (a === '') { return b; } + /** + * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`). + */ + + + if (a.endsWith(separator)) { + return a + b; + } return a + separator + b; } @@ -35044,384 +36223,382 @@ var common$2 = createCommonjsModule(function (module, exports) { exports.joinPathSegments = joinPathSegments; }); -var reader = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common$2.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - +class Reader$1 { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); } - exports.default = Reader; +} + +var _default$j = Reader$1; +var reader$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$j +}, '__esModule', { + value: true }); -var async$3 = createCommonjsModule(function (module, exports) { +class AsyncReader extends reader$1.default { + constructor(_root, _settings) { + super(_root, _settings); + this._settings = _settings; + this._scandir = out$2.scandir; + this._emitter = new events_1__default['default'].EventEmitter(); + this._queue = queue(this._worker.bind(this), this._settings.concurrency); + this._isFatalError = false; + this._isDestroyed = false; - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncReader extends reader.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = out$1.scandir; - this._emitter = new events__default['default'].EventEmitter(); - this._queue = queue(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit('end'); - } - }; - } - - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - - destroy() { - if (this._isDestroyed) { - throw new Error('The reader is already destroyed'); + this._queue.drain = () => { + if (!this._isFatalError) { + this._emitter.emit('end'); } - - this._isDestroyed = true; - - this._queue.killAndDrain(); - } - - onEntry(callback) { - this._emitter.on('entry', callback); - } - - onError(callback) { - this._emitter.once('error', callback); - } - - onEnd(callback) { - this._emitter.once('end', callback); - } - - _pushToQueue(directory, base) { - const queueItem = { - directory, - base - }; - - this._queue.push(queueItem, error => { - if (error !== null) { - this._handleError(error); - } - }); - } - - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - return done(error, undefined); - } - - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - - done(null, undefined); - }); - } - - _handleError(error) { - if (!common$2.isFatalError(this._settings, error)) { - return; - } - - this._isFatalError = true; - this._isDestroyed = true; - - this._emitter.emit('error', error); - } - - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - - const fullpath = entry.path; - - if (base !== undefined) { - entry.path = common$2.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - - if (common$2.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - - if (entry.dirent.isDirectory() && common$2.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } - } - - _emitEntry(entry) { - this._emitter.emit('entry', entry); - } - + }; } - exports.default = AsyncReader; -}); - -var async$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$3.default(this._root, this._settings); - this._storage = new Set(); - } - - read(callback) { - this._reader.onError(error => { - callFailureCallback(callback, error); - }); - - this._reader.onEntry(entry => { - this._storage.add(entry); - }); - - this._reader.onEnd(() => { - callSuccessCallback(callback, [...this._storage]); - }); - - this._reader.read(); - } - - } - - exports.default = AsyncProvider; - - function callFailureCallback(callback, error) { - callback(error); - } - - function callSuccessCallback(callback, entries) { - callback(null, entries); - } -}); - -var stream$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class StreamProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$3.default(this._root, this._settings); - this._stream = new stream__default['default'].Readable({ - objectMode: true, - read: () => {}, - destroy: this._reader.destroy.bind(this._reader) - }); - } - - read() { - this._reader.onError(error => { - this._stream.emit('error', error); - }); - - this._reader.onEntry(entry => { - this._stream.push(entry); - }); - - this._reader.onEnd(() => { - this._stream.push(null); - }); - - this._reader.read(); - - return this._stream; - } - - } - - exports.default = StreamProvider; -}); - -var sync$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class SyncReader extends reader.default { - constructor() { - super(...arguments); - this._scandir = out$1.scandirSync; - this._storage = new Set(); - this._queue = new Set(); - } - - read() { + read() { + this._isFatalError = false; + this._isDestroyed = false; + setImmediate(() => { this._pushToQueue(this._root, this._settings.basePath); + }); + return this._emitter; + } - this._handleQueue(); + get isDestroyed() { + return this._isDestroyed; + } - return [...this._storage]; + destroy() { + if (this._isDestroyed) { + throw new Error('The reader is already destroyed'); } - _pushToQueue(directory, base) { - this._queue.add({ - directory, - base - }); - } + this._isDestroyed = true; - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } + this._queue.killAndDrain(); + } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); + onEntry(callback) { + this._emitter.on('entry', callback); + } - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { + onError(callback) { + this._emitter.once('error', callback); + } + + onEnd(callback) { + this._emitter.once('end', callback); + } + + _pushToQueue(directory, base) { + const queueItem = { + directory, + base + }; + + this._queue.push(queueItem, error => { + if (error !== null) { this._handleError(error); } - } + }); + } - _handleError(error) { - if (!common$2.isFatalError(this._settings, error)) { + _worker(item, done) { + this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { + if (error !== null) { + done(error, undefined); return; } - throw error; + for (const entry of entries) { + this._handleEntry(entry, item.base); + } + + done(null, undefined); + }); + } + + _handleError(error) { + if (this._isDestroyed || !common.isFatalError(this._settings, error)) { + return; } - _handleEntry(entry, base) { - const fullpath = entry.path; + this._isFatalError = true; + this._isDestroyed = true; - if (base !== undefined) { - entry.path = common$2.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } + this._emitter.emit('error', error); + } - if (common$2.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - - if (entry.dirent.isDirectory() && common$2.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } + _handleEntry(entry, base) { + if (this._isDestroyed || this._isFatalError) { + return; } - _pushToStorage(entry) { + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._emitEntry(entry); + } + + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + + _emitEntry(entry) { + this._emitter.emit('entry', entry); + } + +} + +var _default$i = AsyncReader; +var async$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$i +}, '__esModule', { + value: true +}); + +class AsyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async$2.default(this._root, this._settings); + this._storage = new Set(); + } + + read(callback) { + this._reader.onError(error => { + callFailureCallback(callback, error); + }); + + this._reader.onEntry(entry => { this._storage.add(entry); - } + }); + this._reader.onEnd(() => { + callSuccessCallback(callback, [...this._storage]); + }); + + this._reader.read(); } - exports.default = SyncReader; +} + +var _default$h = AsyncProvider; + +function callFailureCallback(callback, error) { + callback(error); +} + +function callSuccessCallback(callback, entries) { + callback(null, entries); +} + +var async$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$h +}, '__esModule', { + value: true }); -var sync$4 = createCommonjsModule(function (module, exports) { +class StreamProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async$2.default(this._root, this._settings); + this._stream = new stream_1__default['default'].Readable({ + objectMode: true, + read: () => {}, + destroy: () => { + if (!this._reader.isDestroyed) { + this._reader.destroy(); + } + } + }); + } + + read() { + this._reader.onError(error => { + this._stream.emit('error', error); + }); + + this._reader.onEntry(entry => { + this._stream.push(entry); + }); + + this._reader.onEnd(() => { + this._stream.push(null); + }); + + this._reader.read(); + + return this._stream; + } + +} + +var _default$g = StreamProvider; +var stream$3 = /*#__PURE__*/Object.defineProperty({ + default: _default$g +}, '__esModule', { + value: true +}); + +class SyncReader extends reader$1.default { + constructor() { + super(...arguments); + this._scandir = out$2.scandirSync; + this._storage = new Set(); + this._queue = new Set(); + } + + read() { + this._pushToQueue(this._root, this._settings.basePath); + + this._handleQueue(); + + return [...this._storage]; + } + + _pushToQueue(directory, base) { + this._queue.add({ + directory, + base + }); + } + + _handleQueue() { + for (const item of this._queue.values()) { + this._handleDirectory(item.directory, item.base); + } + } + + _handleDirectory(directory, base) { + try { + const entries = this._scandir(directory, this._settings.fsScandirSettings); + + for (const entry of entries) { + this._handleEntry(entry, base); + } + } catch (error) { + this._handleError(error); + } + } + + _handleError(error) { + if (!common.isFatalError(this._settings, error)) { + return; + } + + throw error; + } + + _handleEntry(entry, base) { + const fullpath = entry.path; + + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._pushToStorage(entry); + } + + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + + _pushToStorage(entry) { + this._storage.add(entry); + } + +} + +var _default$f = SyncReader; +var sync$6 = /*#__PURE__*/Object.defineProperty({ + default: _default$f +}, '__esModule', { + value: true +}); + +class SyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new sync$6.default(this._root, this._settings); + } + + read() { + return this._reader.read(); + } + +} + +var _default$e = SyncProvider; +var sync$5 = /*#__PURE__*/Object.defineProperty({ + default: _default$e +}, '__esModule', { + value: true +}); + +class Settings { + constructor(_options = {}) { + this._options = _options; + this.basePath = this._getValue(this._options.basePath, undefined); + this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); + this.deepFilter = this._getValue(this._options.deepFilter, null); + this.entryFilter = this._getValue(this._options.entryFilter, null); + this.errorFilter = this._getValue(this._options.errorFilter, null); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); + this.fsScandirSettings = new out$2.Settings({ + followSymbolicLinks: this._options.followSymbolicLinks, + fs: this._options.fs, + pathSegmentSeparator: this._options.pathSegmentSeparator, + stats: this._options.stats, + throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink + }); + } + + _getValue(option, value) { + return option !== null && option !== void 0 ? option : value; + } + +} + +var _default$d = Settings; +var settings$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$d +}, '__esModule', { + value: true +}); + +var out$1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); - - class SyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync$3.default(this._root, this._settings); - } - - read() { - return this._reader.read(); - } - - } - - exports.default = SyncProvider; -}); - -var settings$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, undefined); - this.concurrency = this._getValue(this._options.concurrency, Infinity); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.fsScandirSettings = new out$1.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - } - - exports.default = Settings; -}); - -var out$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Settings = settings$2.default; + exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0; + exports.Settings = settings$1.default; function walk(directory, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { - return new async$4.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + new async$1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + return; } - new async$4.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); + new async$1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); } exports.walk = walk; function walkSync(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - const provider = new sync$4.default(directory, settings); + const provider = new sync$5.default(directory, settings); return provider.read(); } @@ -35429,711 +36606,690 @@ var out$2 = createCommonjsModule(function (module, exports) { function walkStream(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - const provider = new stream$2.default(directory, settings); + const provider = new stream$3.default(directory, settings); return provider.read(); } exports.walkStream = walkStream; function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$2.default) { + if (settingsOrOptions instanceof settings$1.default) { return settingsOrOptions; } - return new settings$2.default(settingsOrOptions); + return new settings$1.default(settingsOrOptions); } }); -var reader$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new out.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - - _getFullEntryPath(filepath) { - return path__default['default'].resolve(this._settings.cwd, filepath); - } - - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils$3.fs.createDirentFromStats(pattern, stats) - }; - - if (this._settings.stats) { - entry.stats = stats; - } - - return entry; - } - - _isFatalError(error) { - return !utils$3.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - +class Reader { + constructor(_settings) { + this._settings = _settings; + this._fsStatSettings = new out$3.Settings({ + followSymbolicLink: this._settings.followSymbolicLinks, + fs: this._settings.fs, + throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks + }); } - exports.default = Reader; + _getFullEntryPath(filepath) { + return path__default['default'].resolve(this._settings.cwd, filepath); + } + + _makeEntry(stats, pattern) { + const entry = { + name: pattern, + path: pattern, + dirent: utils$8.fs.createDirentFromStats(pattern, stats) + }; + + if (this._settings.stats) { + entry.stats = stats; + } + + return entry; + } + + _isFatalError(error) { + return !utils$8.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; + } + +} + +var _default$c = Reader; +var reader = /*#__PURE__*/Object.defineProperty({ + default: _default$c +}, '__esModule', { + value: true }); -var stream$3 = createCommonjsModule(function (module, exports) { +class ReaderStream extends reader.default { + constructor() { + super(...arguments); + this._walkStream = out$1.walkStream; + this._stat = out$3.stat; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + dynamic(root, options) { + return this._walkStream(root, options); + } - class ReaderStream extends reader$1.default { - constructor() { - super(...arguments); - this._walkStream = out$2.walkStream; - this._stat = out.stat; - } + static(patterns, options) { + const filepaths = patterns.map(this._getFullEntryPath, this); + const stream = new stream_1__default['default'].PassThrough({ + objectMode: true + }); - dynamic(root, options) { - return this._walkStream(root, options); - } - - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream__default['default'].PassThrough({ - objectMode: true - }); - - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then(entry => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - - if (index === filepaths.length - 1) { - stream.end(); - } - - done(); - }).catch(done); - }; - - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - - return stream; - } - - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { - if (options.errorFilter(error)) { - return null; + stream._write = (index, _enc, done) => { + return this._getEntry(filepaths[index], patterns[index], options).then(entry => { + if (entry !== null && options.entryFilter(entry)) { + stream.push(entry); } - throw error; - }); - } - - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - - } - - exports.default = ReaderStream; -}); - -var matcher = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Matcher { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - - this._fillStorage(); - } - - _fillStorage() { - /** - * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). - * So, before expand patterns with brace expansion into separated patterns. - */ - const patterns = utils$3.pattern.expandPatternsWithBraceExpansion(this._patterns); - - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - - const sections = this._splitSegmentsIntoSections(segments); - - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - - _getPatternSegments(pattern) { - const parts = utils$3.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map(part => { - const dynamic = utils$3.pattern.isDynamicPattern(part, this._settings); - - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; + if (index === filepaths.length - 1) { + stream.end(); } + done(); + }).catch(done); + }; + + for (let i = 0; i < filepaths.length; i++) { + stream.write(i); + } + + return stream; + } + + _getEntry(filepath, pattern, options) { + return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { + if (options.errorFilter(error)) { + return null; + } + + throw error; + }); + } + + _getStat(filepath) { + return new Promise((resolve, reject) => { + this._stat(filepath, this._fsStatSettings, (error, stats) => { + return error === null ? resolve(stats) : reject(error); + }); + }); + } + +} + +var _default$b = ReaderStream; +var stream$2 = /*#__PURE__*/Object.defineProperty({ + default: _default$b +}, '__esModule', { + value: true +}); + +class Matcher { + constructor(_patterns, _settings, _micromatchOptions) { + this._patterns = _patterns; + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this._storage = []; + + this._fillStorage(); + } + + _fillStorage() { + /** + * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). + * So, before expand patterns with brace expansion into separated patterns. + */ + const patterns = utils$8.pattern.expandPatternsWithBraceExpansion(this._patterns); + + for (const pattern of patterns) { + const segments = this._getPatternSegments(pattern); + + const sections = this._splitSegmentsIntoSections(segments); + + this._storage.push({ + complete: sections.length <= 1, + pattern, + segments, + sections + }); + } + } + + _getPatternSegments(pattern) { + const parts = utils$8.pattern.getPatternParts(pattern, this._micromatchOptions); + return parts.map(part => { + const dynamic = utils$8.pattern.isDynamicPattern(part, this._settings); + + if (!dynamic) { return { - dynamic: true, - pattern: part, - patternRe: utils$3.pattern.makeRe(part, this._micromatchOptions) + dynamic: false, + pattern: part }; - }); - } - - _splitSegmentsIntoSections(segments) { - return utils$3.array.splitWhen(segments, segment => segment.dynamic && utils$3.pattern.hasGlobStar(segment.pattern)); - } - - } - - exports.default = Matcher; -}); - -var partial = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class PartialMatcher extends matcher.default { - match(filepath) { - const parts = filepath.split('/'); - const levels = parts.length; - - const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); - - for (const pattern of patterns) { - const section = pattern.sections[0]; - /** - * In this case, the pattern has a globstar and we must read all directories unconditionally, - * but only if the level has reached the end of the first group. - * - * fixtures/{a,b}/** - * ^ true/false ^ always true - */ - - if (!pattern.complete && levels > section.length) { - return true; - } - - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - - if (!segment.dynamic && segment.pattern === part) { - return true; - } - - return false; - }); - - if (match) { - return true; - } } + return { + dynamic: true, + pattern: part, + patternRe: utils$8.pattern.makeRe(part, this._micromatchOptions) + }; + }); + } + + _splitSegmentsIntoSections(segments) { + return utils$8.array.splitWhen(segments, segment => segment.dynamic && utils$8.pattern.hasGlobStar(segment.pattern)); + } + +} + +var _default$a = Matcher; +var matcher = /*#__PURE__*/Object.defineProperty({ + default: _default$a +}, '__esModule', { + value: true +}); + +class PartialMatcher extends matcher.default { + match(filepath) { + const parts = filepath.split('/'); + const levels = parts.length; + + const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); + + for (const pattern of patterns) { + const section = pattern.sections[0]; + /** + * In this case, the pattern has a globstar and we must read all directories unconditionally, + * but only if the level has reached the end of the first group. + * + * fixtures/{a,b}/** + * ^ true/false ^ always true + */ + + if (!pattern.complete && levels > section.length) { + return true; + } + + const match = parts.every((part, index) => { + const segment = pattern.segments[index]; + + if (segment.dynamic && segment.patternRe.test(part)) { + return true; + } + + if (!segment.dynamic && segment.pattern === part) { + return true; + } + + return false; + }); + + if (match) { + return true; + } + } + + return false; + } + +} + +var _default$9 = PartialMatcher; +var partial = /*#__PURE__*/Object.defineProperty({ + default: _default$9 +}, '__esModule', { + value: true +}); + +class DeepFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + } + + getFilter(basePath, positive, negative) { + const matcher = this._getMatcher(positive); + + const negativeRe = this._getNegativePatternsRe(negative); + + return entry => this._filter(basePath, entry, matcher, negativeRe); + } + + _getMatcher(patterns) { + return new partial.default(patterns, this._settings, this._micromatchOptions); + } + + _getNegativePatternsRe(patterns) { + const affectDepthOfReadingPatterns = patterns.filter(utils$8.pattern.isAffectDepthOfReadingPattern); + return utils$8.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); + } + + _filter(basePath, entry, matcher, negativeRe) { + if (this._isSkippedByDeep(basePath, entry.path)) { return false; } + if (this._isSkippedSymbolicLink(entry)) { + return false; + } + + const filepath = utils$8.path.removeLeadingDotSegment(entry.path); + + if (this._isSkippedByPositivePatterns(filepath, matcher)) { + return false; + } + + return this._isSkippedByNegativePatterns(filepath, negativeRe); } - exports.default = PartialMatcher; -}); - -var deep = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class DeepFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - - const negativeRe = this._getNegativePatternsRe(negative); - - return entry => this._filter(basePath, entry, matcher, negativeRe); - } - - _getMatcher(patterns) { - return new partial.default(patterns, this._settings, this._micromatchOptions); - } - - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils$3.pattern.isAffectDepthOfReadingPattern); - return utils$3.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - - const filepath = utils$3.path.removeLeadingDotSegment(entry.path); - - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - - _isSkippedByDeep(basePath, entryPath) { - /** - * Avoid unnecessary depth calculations when it doesn't matter. - */ - if (this._settings.deep === Infinity) { - return false; - } - - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split('/').length; - - if (basePath === '') { - return entryPathDepth; - } - - const basePathDepth = basePath.split('/').length; - return entryPathDepth - basePathDepth; - } - - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils$3.pattern.matchAny(entryPath, patternsRe); + _isSkippedByDeep(basePath, entryPath) { + /** + * Avoid unnecessary depth calculations when it doesn't matter. + */ + if (this._settings.deep === Infinity) { + return false; } + return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; } - exports.default = DeepFilter; -}); + _getEntryLevel(basePath, entryPath) { + const entryPathDepth = entryPath.split('/').length; -var entry = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = new Map(); - } - - getFilter(positive, negative) { - const positiveRe = utils$3.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils$3.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return entry => this._filter(entry, positiveRe, negativeRe); - } - - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique && this._isDuplicateEntry(entry)) { - return false; - } - - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - - if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { - return false; - } - - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - - if (this._settings.unique && isMatched) { - this._createIndexRecord(entry); - } - - return isMatched; - } - - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - - _createIndexRecord(entry) { - this.index.set(entry.path, undefined); - } - - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - - _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { - if (!this._settings.absolute) { - return false; - } - - const fullpath = utils$3.path.makeAbsolute(this._settings.cwd, entryPath); - return utils$3.pattern.matchAny(fullpath, patternsRe); - } - - _isMatchToPatterns(entryPath, patternsRe) { - const filepath = utils$3.path.removeLeadingDotSegment(entryPath); - return utils$3.pattern.matchAny(filepath, patternsRe); + if (basePath === '') { + return entryPathDepth; } + const basePathDepth = basePath.split('/').length; + return entryPathDepth - basePathDepth; } - exports.default = EntryFilter; -}); - -var error = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ErrorFilter { - constructor(_settings) { - this._settings = _settings; - } - - getFilter() { - return error => this._isNonFatalError(error); - } - - _isNonFatalError(error) { - return utils$3.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - + _isSkippedSymbolicLink(entry) { + return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); } - exports.default = ErrorFilter; -}); - -var entry$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryTransformer { - constructor(_settings) { - this._settings = _settings; - } - - getTransformer() { - return entry => this._transform(entry); - } - - _transform(entry) { - let filepath = entry.path; - - if (this._settings.absolute) { - filepath = utils$3.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils$3.path.unixify(filepath); - } - - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += '/'; - } - - if (!this._settings.objectMode) { - return filepath; - } - - return Object.assign(Object.assign({}, entry), { - path: filepath - }); - } - + _isSkippedByPositivePatterns(entryPath, matcher) { + return !this._settings.baseNameMatch && !matcher.match(entryPath); } - exports.default = EntryTransformer; -}); - -var provider = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Provider { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error.default(this._settings); - this.entryFilter = new entry.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry$1.default(this._settings); - } - - _getRootDirectory(task) { - return path__default['default'].resolve(this._settings.cwd, task.base); - } - - _getReaderOptions(task) { - const basePath = task.base === '.' ? '' : task.base; - return { - basePath, - pathSegmentSeparator: '/', - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - + _isSkippedByNegativePatterns(entryPath, patternsRe) { + return !utils$8.pattern.matchAny(entryPath, patternsRe); } - exports.default = Provider; +} + +var _default$8 = DeepFilter; +var deep = /*#__PURE__*/Object.defineProperty({ + default: _default$8 +}, '__esModule', { + value: true }); -var async$5 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderAsync extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$3.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = []; - return new Promise((resolve, reject) => { - const stream = this.api(root, task, options); - stream.once('error', reject); - stream.on('data', entry => entries.push(options.transform(entry))); - stream.once('end', () => resolve(entries)); - }); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - +class EntryFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this.index = new Map(); } - exports.default = ProviderAsync; -}); - -var stream$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderStream extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$3.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const source = this.api(root, task, options); - const destination = new stream__default['default'].Readable({ - objectMode: true, - read: () => {} - }); - source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); - destination.once('close', () => source.destroy()); - return destination; - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - + getFilter(positive, negative) { + const positiveRe = utils$8.pattern.convertPatternsToRe(positive, this._micromatchOptions); + const negativeRe = utils$8.pattern.convertPatternsToRe(negative, this._micromatchOptions); + return entry => this._filter(entry, positiveRe, negativeRe); } - exports.default = ProviderStream; -}); - -var sync$5 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ReaderSync extends reader$1.default { - constructor() { - super(...arguments); - this._walkSync = out$2.walkSync; - this._statSync = out.statSync; + _filter(entry, positiveRe, negativeRe) { + if (this._settings.unique && this._isDuplicateEntry(entry)) { + return false; } - dynamic(root, options) { - return this._walkSync(root, options); + if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { + return false; } - static(patterns, options) { - const entries = []; - - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - - const entry = this._getEntry(filepath, pattern, options); - - if (entry === null || !options.entryFilter(entry)) { - continue; - } - - entries.push(entry); - } - - return entries; + if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { + return false; } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); + const filepath = this._settings.baseNameMatch ? entry.name : entry.path; + const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - - throw error; - } - } - - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); + if (this._settings.unique && isMatched) { + this._createIndexRecord(entry); } + return isMatched; } - exports.default = ReaderSync; -}); - -var sync$6 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderSync extends provider.default { - constructor() { - super(...arguments); - this._reader = new sync$5.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - + _isDuplicateEntry(entry) { + return this.index.has(entry.path); } - exports.default = ProviderSync; + _createIndexRecord(entry) { + this.index.set(entry.path, undefined); + } + + _onlyFileFilter(entry) { + return this._settings.onlyFiles && !entry.dirent.isFile(); + } + + _onlyDirectoryFilter(entry) { + return this._settings.onlyDirectories && !entry.dirent.isDirectory(); + } + + _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { + if (!this._settings.absolute) { + return false; + } + + const fullpath = utils$8.path.makeAbsolute(this._settings.cwd, entryPath); + return utils$8.pattern.matchAny(fullpath, patternsRe); + } + + _isMatchToPatterns(entryPath, patternsRe) { + const filepath = utils$8.path.removeLeadingDotSegment(entryPath); + return utils$8.pattern.matchAny(filepath, patternsRe); + } + +} + +var _default$7 = EntryFilter; +var entry$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$7 +}, '__esModule', { + value: true }); -var settings$3 = createCommonjsModule(function (module, exports) { +class ErrorFilter { + constructor(_settings) { + this._settings = _settings; + } + + getFilter() { + return error => this._isNonFatalError(error); + } + + _isNonFatalError(error) { + return utils$8.errno.isEnoentCodeError(error) || this._settings.suppressErrors; + } + +} + +var _default$6 = ErrorFilter; +var error$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$6 +}, '__esModule', { + value: true +}); + +class EntryTransformer { + constructor(_settings) { + this._settings = _settings; + } + + getTransformer() { + return entry => this._transform(entry); + } + + _transform(entry) { + let filepath = entry.path; + + if (this._settings.absolute) { + filepath = utils$8.path.makeAbsolute(this._settings.cwd, filepath); + filepath = utils$8.path.unixify(filepath); + } + + if (this._settings.markDirectories && entry.dirent.isDirectory()) { + filepath += '/'; + } + + if (!this._settings.objectMode) { + return filepath; + } + + return Object.assign(Object.assign({}, entry), { + path: filepath + }); + } + +} + +var _default$5 = EntryTransformer; +var entry = /*#__PURE__*/Object.defineProperty({ + default: _default$5 +}, '__esModule', { + value: true +}); + +class Provider { + constructor(_settings) { + this._settings = _settings; + this.errorFilter = new error$1.default(this._settings); + this.entryFilter = new entry$1.default(this._settings, this._getMicromatchOptions()); + this.deepFilter = new deep.default(this._settings, this._getMicromatchOptions()); + this.entryTransformer = new entry.default(this._settings); + } + + _getRootDirectory(task) { + return path__default['default'].resolve(this._settings.cwd, task.base); + } + + _getReaderOptions(task) { + const basePath = task.base === '.' ? '' : task.base; + return { + basePath, + pathSegmentSeparator: '/', + concurrency: this._settings.concurrency, + deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), + entryFilter: this.entryFilter.getFilter(task.positive, task.negative), + errorFilter: this.errorFilter.getFilter(), + followSymbolicLinks: this._settings.followSymbolicLinks, + fs: this._settings.fs, + stats: this._settings.stats, + throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, + transform: this.entryTransformer.getTransformer() + }; + } + + _getMicromatchOptions() { + return { + dot: this._settings.dot, + matchBase: this._settings.baseNameMatch, + nobrace: !this._settings.braceExpansion, + nocase: !this._settings.caseSensitiveMatch, + noext: !this._settings.extglob, + noglobstar: !this._settings.globstar, + posix: true, + strictSlashes: false + }; + } + +} + +var _default$4 = Provider; +var provider = /*#__PURE__*/Object.defineProperty({ + default: _default$4 +}, '__esModule', { + value: true +}); + +class ProviderAsync extends provider.default { + constructor() { + super(...arguments); + this._reader = new stream$2.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = []; + return new Promise((resolve, reject) => { + const stream = this.api(root, task, options); + stream.once('error', reject); + stream.on('data', entry => entries.push(options.transform(entry))); + stream.once('end', () => resolve(entries)); + }); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default$3 = ProviderAsync; +var async = /*#__PURE__*/Object.defineProperty({ + default: _default$3 +}, '__esModule', { + value: true +}); + +class ProviderStream extends provider.default { + constructor() { + super(...arguments); + this._reader = new stream$2.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const source = this.api(root, task, options); + const destination = new stream_1__default['default'].Readable({ + objectMode: true, + read: () => {} + }); + source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); + destination.once('close', () => source.destroy()); + return destination; + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default$2 = ProviderStream; +var stream$1 = /*#__PURE__*/Object.defineProperty({ + default: _default$2 +}, '__esModule', { + value: true +}); + +class ReaderSync extends reader.default { + constructor() { + super(...arguments); + this._walkSync = out$1.walkSync; + this._statSync = out$3.statSync; + } + + dynamic(root, options) { + return this._walkSync(root, options); + } + + static(patterns, options) { + const entries = []; + + for (const pattern of patterns) { + const filepath = this._getFullEntryPath(pattern); + + const entry = this._getEntry(filepath, pattern, options); + + if (entry === null || !options.entryFilter(entry)) { + continue; + } + + entries.push(entry); + } + + return entries; + } + + _getEntry(filepath, pattern, options) { + try { + const stats = this._getStat(filepath); + + return this._makeEntry(stats, pattern); + } catch (error) { + if (options.errorFilter(error)) { + return null; + } + + throw error; + } + } + + _getStat(filepath) { + return this._statSync(filepath, this._fsStatSettings); + } + +} + +var _default$1 = ReaderSync; +var sync$4 = /*#__PURE__*/Object.defineProperty({ + default: _default$1 +}, '__esModule', { + value: true +}); + +class ProviderSync extends provider.default { + constructor() { + super(...arguments); + this._reader = new sync$4.default(this._settings); + } + + read(task) { + const root = this._getRootDirectory(task); + + const options = this._getReaderOptions(task); + + const entries = this.api(root, task, options); + return entries.map(options.transform); + } + + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + + return this._reader.static(task.patterns, options); + } + +} + +var _default = ProviderSync; +var sync$3 = /*#__PURE__*/Object.defineProperty({ + default: _default +}, '__esModule', { + value: true +}); + +var settings = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - const CPU_COUNT = os__default['default'].cpus().length; + /** + * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. + * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 + */ + + const CPU_COUNT = Math.max(os__default['default'].cpus().length, 1); exports.DEFAULT_FILE_SYSTEM_ADAPTER = { lstat: fs__default['default'].lstat, lstatSync: fs__default['default'].lstatSync, @@ -36191,57 +37347,57 @@ var settings$3 = createCommonjsModule(function (module, exports) { }); async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async$5.default, options); + assertPatternsInput$1(source); + const works = getWorks(source, async.default, options); const result = await Promise.all(works); - return utils$3.array.flatten(result); + return utils$8.array.flatten(result); } // https://github.com/typescript-eslint/typescript-eslint/issues/60 // eslint-disable-next-line no-redeclare (function (FastGlob) { function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync$6.default, options); - return utils$3.array.flatten(works); + assertPatternsInput$1(source); + const works = getWorks(source, sync$3.default, options); + return utils$8.array.flatten(works); } FastGlob.sync = sync; function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream$4.default, options); + assertPatternsInput$1(source); + const works = getWorks(source, stream$1.default, options); /** * The stream returned by the provider cannot work with an asynchronous iterator. * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. * This affects performance (+25%). I don't see best solution right now. */ - return utils$3.stream.merge(works); + return utils$8.stream.merge(works); } FastGlob.stream = stream; function generateTasks(source, options) { - assertPatternsInput(source); + assertPatternsInput$1(source); const patterns = [].concat(source); - const settings = new settings$3.default(options); - return tasks.generate(patterns, settings); + const settings$1 = new settings.default(options); + return tasks.generate(patterns, settings$1); } FastGlob.generateTasks = generateTasks; function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings$3.default(options); - return utils$3.pattern.isDynamicPattern(source, settings); + assertPatternsInput$1(source); + const settings$1 = new settings.default(options); + return utils$8.pattern.isDynamicPattern(source, settings$1); } FastGlob.isDynamicPattern = isDynamicPattern; function escapePath(source) { - assertPatternsInput(source); - return utils$3.path.escape(source); + assertPatternsInput$1(source); + return utils$8.path.escape(source); } FastGlob.escapePath = escapePath; @@ -36249,25 +37405,25 @@ async function FastGlob(source, options) { function getWorks(source, _Provider, options) { const patterns = [].concat(source); - const settings = new settings$3.default(options); - const tasks$1 = tasks.generate(patterns, settings); - const provider = new _Provider(settings); + const settings$1 = new settings.default(options); + const tasks$1 = tasks.generate(patterns, settings$1); + const provider = new _Provider(settings$1); return tasks$1.map(provider.read, provider); } -function assertPatternsInput(input) { +function assertPatternsInput$1(input) { const source = [].concat(input); - const isValidSource = source.every(item => utils$3.string.isString(item) && !utils$3.string.isEmpty(item)); + const isValidSource = source.every(item => utils$8.string.isString(item) && !utils$8.string.isEmpty(item)); if (!isValidSource) { throw new TypeError('Patterns must be a string (non empty) or an array of strings'); } } -var out$3 = FastGlob; +var out = FastGlob; const { - promisify + promisify: promisify$1 } = util__default['default']; async function isType(fsStatType, statsMethodName, filePath) { @@ -36276,7 +37432,7 @@ async function isType(fsStatType, statsMethodName, filePath) { } try { - const stats = await promisify(fs__default['default'][fsStatType])(filePath); + const stats = await promisify$1(fs__default['default'][fsStatType])(filePath); return stats[statsMethodName](); } catch (error) { if (error.code === 'ENOENT') { @@ -36304,14 +37460,14 @@ function isTypeSync(fsStatType, statsMethodName, filePath) { } var isFile = isType.bind(null, 'stat', 'isFile'); -var isDirectory = isType.bind(null, 'stat', 'isDirectory'); +var isDirectory$1 = isType.bind(null, 'stat', 'isDirectory'); var isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink'); var isFileSync = isTypeSync.bind(null, 'statSync', 'isFile'); var isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory'); var isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink'); var pathType = { isFile: isFile, - isDirectory: isDirectory, + isDirectory: isDirectory$1, isSymlink: isSymlink, isFileSync: isFileSync, isDirectorySync: isDirectorySync, @@ -36373,7 +37529,7 @@ var dirGlob = async (input, options) => { return [].concat.apply([], globs); // eslint-disable-line prefer-spread }; -var sync$7 = (input, options) => { +var sync$2 = (input, options) => { options = Object.assign({ cwd: process.cwd() }, options); @@ -36385,7 +37541,7 @@ var sync$7 = (input, options) => { const globs = [].concat(input).map(x => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x); return [].concat.apply([], globs); // eslint-disable-line prefer-spread }; -dirGlob.sync = sync$7; +dirGlob.sync = sync$2; // A simple implementation of make-array function makeArray(subject) { @@ -36405,19 +37561,19 @@ const REGEX_SPLITALL_CRLF = /\r?\n/g; // /foo, // .. const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; -const SLASH$1 = '/'; -const KEY_IGNORE$1 = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore') +const SLASH = '/'; +const KEY_IGNORE = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore') /* istanbul ignore next */ : 'node-ignore'; -const define$1 = (object, key, value) => Object.defineProperty(object, key, { +const define = (object, key, value) => Object.defineProperty(object, key, { value }); -const REGEX_REGEXP_RANGE$1 = /([0-z])-([0-z])/g; // Sanitize the range of a regular expression +const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; // Sanitize the range of a regular expression // The cases are complicated, see test cases for details -const sanitizeRange$1 = range => range.replace(REGEX_REGEXP_RANGE$1, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match // Invalid range (out of order) which is ok for gitignore rules but +const sanitizeRange = range => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match // Invalid range (out of order) which is ok for gitignore rules but // fatal for JavaScript regular expression, so eliminate it. : EMPTY); // See fixtures #59 @@ -36524,7 +37680,7 @@ const REPLACERS = [// > Trailing spaces are ignored unless they are quoted with ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === ']' ? endEscape.length % 2 === 0 // A normal case, and it is a range notation // '[bar]' // '[bar\\\\]' -? `[${sanitizeRange$1(range)}${endEscape}]` // Invalid range notaton +? `[${sanitizeRange(range)}${endEscape}]` // Invalid range notaton // '[bar\\]' -> '[bar\\\\]' : '[]' : '[]'], // ending [// 'js' will not match 'js.' @@ -36573,7 +37729,7 @@ const makeRegex = (pattern, negative, ignorecase) => { const isString = subject => typeof subject === 'string'; // > A blank line matches no files, so it can serve as a separator for readability. -const checkPattern$1 = pattern => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) // > A line starting with # serves as a comment. +const checkPattern = pattern => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) // > A line starting with # serves as a comment. && pattern.indexOf('#') !== 0; const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF); @@ -36588,7 +37744,7 @@ class IgnoreRule { } -const createRule$1 = (pattern, ignorecase) => { +const createRule = (pattern, ignorecase) => { const origin = pattern; let negative = false; // > An optional prefix "!" which negates the pattern; @@ -36641,7 +37797,7 @@ class Ignore { } = {}) { this._rules = []; this._ignorecase = ignorecase; - define$1(this, KEY_IGNORE$1, true); + define(this, KEY_IGNORE, true); this._initCache(); } @@ -36653,14 +37809,14 @@ class Ignore { _addPattern(pattern) { // #32 - if (pattern && pattern[KEY_IGNORE$1]) { + if (pattern && pattern[KEY_IGNORE]) { this._rules = this._rules.concat(pattern._rules); this._added = true; return; } - if (checkPattern$1(pattern)) { - const rule = createRule$1(pattern, this._ignorecase); + if (checkPattern(pattern)) { + const rule = createRule(pattern, this._ignorecase); this._added = true; this._rules.push(rule); @@ -36741,7 +37897,7 @@ class Ignore { if (!slices) { // path/to/a.js // ['path', 'to', 'a.js'] - slices = path.split(SLASH$1); + slices = path.split(SLASH); } slices.pop(); // If the path has no parent directory, just test it @@ -36750,7 +37906,7 @@ class Ignore { return cache[path] = this._testOne(path, checkUnignored); } - const parent = this._t(slices.join(SLASH$1) + SLASH$1, cache, checkUnignored, slices); // If the path contains a parent directory, check the parent first + const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices); // If the path contains a parent directory, check the parent first return cache[path] = parent.ignored // > It is not possible to re-include a file if a parent directory of @@ -36786,7 +37942,7 @@ const isPathValid = path => checkPath(path && checkPath.convert(path), path, ret factory.isPathValid = isPathValid; // Fixes typescript factory.default = factory; -var ignore$1 = factory; // Windows +var ignore = factory; // Windows // -------------------------------------------------------------- /* istanbul ignore if */ @@ -36804,7 +37960,7 @@ typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 checkPath.isNotRelative = path => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path); } -var slash$1 = path => { +var slash = path => { const isExtendedLengthPath = /^\\\\\?\\/.test(path); const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex @@ -36816,10 +37972,10 @@ var slash$1 = path => { }; const { - promisify: promisify$1 + promisify } = util__default['default']; const DEFAULT_IGNORE = ['**/node_modules/**', '**/flow-typed/**', '**/coverage/**', '**/.git']; -const readFileP = promisify$1(fs__default['default'].readFile); +const readFileP = promisify(fs__default['default'].readFile); const mapGitIgnorePatternTo = base => ignore => { if (ignore.startsWith('!')) { @@ -36830,25 +37986,28 @@ const mapGitIgnorePatternTo = base => ignore => { }; const parseGitIgnore = (content, options) => { - const base = slash$1(path__default['default'].relative(options.cwd, path__default['default'].dirname(options.fileName))); + const base = slash(path__default['default'].relative(options.cwd, path__default['default'].dirname(options.fileName))); return content.split(/\r?\n/).filter(Boolean).filter(line => !line.startsWith('#')).map(mapGitIgnorePatternTo(base)); }; const reduceIgnore = files => { - return files.reduce((ignores, file) => { + const ignores = ignore(); + + for (const file of files) { ignores.add(parseGitIgnore(file.content, { cwd: file.cwd, fileName: file.filePath })); - return ignores; - }, ignore$1()); + } + + return ignores; }; const ensureAbsolutePathForCwd = (cwd, p) => { - cwd = slash$1(cwd); + cwd = slash(cwd); if (path__default['default'].isAbsolute(p)) { - if (p.startsWith(cwd)) { + if (slash(p).startsWith(cwd)) { return p; } @@ -36859,7 +38018,7 @@ const ensureAbsolutePathForCwd = (cwd, p) => { }; const getIsIgnoredPredecate = (ignores, cwd) => { - return p => ignores.ignores(slash$1(path__default['default'].relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); + return p => ignores.ignores(slash(path__default['default'].relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p)))); }; const getFile = async (file, cwd) => { @@ -36882,9 +38041,9 @@ const getFileSync = (file, cwd) => { }; }; -const normalizeOptions$3 = ({ +const normalizeOptions = ({ ignore = [], - cwd = slash$1(process.cwd()) + cwd = slash(process.cwd()) } = {}) => { return { ignore, @@ -36893,8 +38052,8 @@ const normalizeOptions$3 = ({ }; var gitignore = async options => { - options = normalizeOptions$3(options); - const paths = await out$3('**/.gitignore', { + options = normalizeOptions(options); + const paths = await out('**/.gitignore', { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); @@ -36903,9 +38062,9 @@ var gitignore = async options => { return getIsIgnoredPredecate(ignores, options.cwd); }; -var sync$8 = options => { - options = normalizeOptions$3(options); - const paths = out$3.sync('**/.gitignore', { +var sync$1 = options => { + options = normalizeOptions(options); + const paths = out.sync('**/.gitignore', { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); @@ -36913,11 +38072,11 @@ var sync$8 = options => { const ignores = reduceIgnore(files); return getIsIgnoredPredecate(ignores, options.cwd); }; -gitignore.sync = sync$8; +gitignore.sync = sync$1; const { Transform -} = stream__default['default']; +} = stream_1__default['default']; class ObjectTransform extends Transform { constructor() { @@ -36928,7 +38087,7 @@ class ObjectTransform extends Transform { } -class FilterStream extends ObjectTransform { +class FilterStream$1 extends ObjectTransform { constructor(filter) { super(); this._filter = filter; @@ -36944,7 +38103,7 @@ class FilterStream extends ObjectTransform { } -class UniqueStream extends ObjectTransform { +class UniqueStream$1 extends ObjectTransform { constructor() { super(); this._pushed = new Set(); @@ -36963,20 +38122,20 @@ class UniqueStream extends ObjectTransform { } var streamUtils = { - FilterStream, - UniqueStream + FilterStream: FilterStream$1, + UniqueStream: UniqueStream$1 }; const { - FilterStream: FilterStream$1, - UniqueStream: UniqueStream$1 + FilterStream, + UniqueStream } = streamUtils; const DEFAULT_FILTER = () => false; const isNegative = pattern => pattern[0] === '!'; -const assertPatternsInput$1 = patterns => { +const assertPatternsInput = patterns => { if (!patterns.every(pattern => typeof pattern === 'string')) { throw new TypeError('Patterns must be a string or an array of strings'); } @@ -36991,7 +38150,7 @@ const checkCwdOption = (options = {}) => { try { stat = fs__default['default'].statSync(options.cwd); - } catch (_) { + } catch { return; } @@ -37004,7 +38163,7 @@ const getPathString = p => p.stats instanceof fs__default['default'].Stats ? p.p const generateGlobTasks = (patterns, taskOptions) => { patterns = arrayUnion([].concat(patterns)); - assertPatternsInput$1(patterns); + assertPatternsInput(patterns); checkCwdOption(taskOptions); const globTasks = []; taskOptions = Object.assign({ @@ -37017,8 +38176,8 @@ const generateGlobTasks = (patterns, taskOptions) => { continue; } - const ignore = patterns.slice(index).filter(isNegative).map(pattern => pattern.slice(1)); - const options = Object.assign({}, taskOptions, { + const ignore = patterns.slice(index).filter(pattern => isNegative(pattern)).map(pattern => pattern.slice(1)); + const options = Object.assign(Object.assign({}, taskOptions), {}, { ignore: taskOptions.ignore.concat(ignore) }); globTasks.push({ @@ -37038,11 +38197,11 @@ const globDirs = (task, fn) => { } if (Array.isArray(task.options.expandDirectories)) { - options = Object.assign({}, options, { + options = Object.assign(Object.assign({}, options), {}, { files: task.options.expandDirectories }); } else if (typeof task.options.expandDirectories === 'object') { - options = Object.assign({}, options, task.options.expandDirectories); + options = Object.assign(Object.assign({}, options), task.options.expandDirectories); } return fn(task.pattern, options); @@ -37072,7 +38231,7 @@ const globToTask = task => glob => { }; }; -var globby$1 = async (patterns, options) => { +var globby = async (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); const getFilter = async () => { @@ -37091,1505 +38250,92 @@ var globby$1 = async (patterns, options) => { }; const [filter, tasks] = await Promise.all([getFilter(), getTasks()]); - const paths = await Promise.all(tasks.map(task => out$3(task.pattern, task.options))); + const paths = await Promise.all(tasks.map(task => out(task.pattern, task.options))); return arrayUnion(...paths).filter(path_ => !filter(getPathString(path_))); }; -var sync$9 = (patterns, options) => { +var sync = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); - const tasks = globTasks.reduce((tasks, task) => { + const tasks = []; + + for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); + tasks.push(...newTask); + } + const filter = getFilterSync(options); - return tasks.reduce((matches, task) => arrayUnion(matches, out$3.sync(task.pattern, task.options)), []).filter(path_ => !filter(path_)); + let matches = []; + + for (const task of tasks) { + matches = arrayUnion(matches, out.sync(task.pattern, task.options)); + } + + return matches.filter(path_ => !filter(path_)); }; -var stream$5 = (patterns, options) => { +var stream = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); - const tasks = globTasks.reduce((tasks, task) => { + const tasks = []; + + for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); + tasks.push(...newTask); + } + const filter = getFilterSync(options); - const filterStream = new FilterStream$1(p => !filter(p)); - const uniqueStream = new UniqueStream$1(); - return merge2_1(tasks.map(task => out$3.stream(task.pattern, task.options))).pipe(filterStream).pipe(uniqueStream); + const filterStream = new FilterStream(p => !filter(p)); + const uniqueStream = new UniqueStream(); + return merge2_1(tasks.map(task => out.stream(task.pattern, task.options))).pipe(filterStream).pipe(uniqueStream); }; var generateGlobTasks_1 = generateGlobTasks; -var hasMagic = (patterns, options) => [].concat(patterns).some(pattern => out$3.isDynamicPattern(pattern, options)); +var hasMagic = (patterns, options) => [].concat(patterns).some(pattern => out.isDynamicPattern(pattern, options)); var gitignore_1 = gitignore; -globby$1.sync = sync$9; -globby$1.stream = stream$5; -globby$1.generateGlobTasks = generateGlobTasks_1; -globby$1.hasMagic = hasMagic; -globby$1.gitignore = gitignore_1; +globby.sync = sync; +globby.stream = stream; +globby.generateGlobTasks = generateGlobTasks_1; +globby.hasMagic = hasMagic; +globby.gitignore = gitignore_1; + +const _excluded = ["languageId"]; var createLanguage = function (linguistData, override) { const { languageId } = linguistData, - rest = _objectWithoutPropertiesLoose(linguistData, ["languageId"]); + rest = _objectWithoutProperties(linguistData, _excluded); - return Object.assign({ + return Object.assign(Object.assign({ linguistLanguageId: languageId - }, rest, override(linguistData)); + }, rest), override(linguistData)); }; -const { - getLast: getLast$1, - hasNewline: hasNewline$3, - getNextNonSpaceNonCommentCharacterIndexWithStartIndex: getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1, - getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$1, - hasNewlineInRange: hasNewlineInRange$2, - isNodeIgnoreComment: isNodeIgnoreComment$1, - addLeadingComment: addLeadingComment$3, - addTrailingComment: addTrailingComment$3, - addDanglingComment: addDanglingComment$3, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$2 -} = util; - -function handleOwnLineComment(comment, text, options, ast, isLastComment) { - const { - precedingNode, - enclosingNode, - followingNode - } = comment; - return handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleMemberExpressionComments(enclosingNode, followingNode, comment) || handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleWhileComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleTryStatementComments(enclosingNode, precedingNode, followingNode, comment) || handleClassComments(enclosingNode, precedingNode, followingNode, comment) || handleImportSpecifierComments(enclosingNode, comment) || handleForComments(enclosingNode, precedingNode, comment) || handleUnionTypeComments(precedingNode, enclosingNode, followingNode, comment) || handleOnlyComments(enclosingNode, ast, comment, isLastComment) || handleImportDeclarationComments(text, enclosingNode, precedingNode, comment, options) || handleAssignmentPatternComments(enclosingNode, comment) || handleMethodNameComments(text, enclosingNode, precedingNode, comment, options) || handleLabeledStatementComments(enclosingNode, comment); -} - -function handleEndOfLineComment(comment, text, options, ast, isLastComment) { - const { - precedingNode, - enclosingNode, - followingNode - } = comment; - return handleClosureTypeCastComments(followingNode, comment) || handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleConditionalExpressionComments(enclosingNode, precedingNode, followingNode, comment, text, options) || handleImportSpecifierComments(enclosingNode, comment) || handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleWhileComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleTryStatementComments(enclosingNode, precedingNode, followingNode, comment) || handleClassComments(enclosingNode, precedingNode, followingNode, comment) || handleLabeledStatementComments(enclosingNode, comment) || handleCallExpressionComments(precedingNode, enclosingNode, comment) || handlePropertyComments(enclosingNode, comment) || handleOnlyComments(enclosingNode, ast, comment, isLastComment) || handleTypeAliasComments(enclosingNode, followingNode, comment) || handleVariableDeclaratorComments(enclosingNode, followingNode, comment); -} - -function handleRemainingComment(comment, text, options, ast, isLastComment) { - const { - precedingNode, - enclosingNode, - followingNode - } = comment; - - if (handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleWhileComments(text, precedingNode, enclosingNode, followingNode, comment, options) || handleObjectPropertyAssignment(enclosingNode, precedingNode, comment) || handleCommentInEmptyParens(text, enclosingNode, comment, options) || handleMethodNameComments(text, enclosingNode, precedingNode, comment, options) || handleOnlyComments(enclosingNode, ast, comment, isLastComment) || handleCommentAfterArrowParams(text, enclosingNode, comment, options) || handleFunctionNameComments(text, enclosingNode, precedingNode, comment, options) || handleTSMappedTypeComments(text, enclosingNode, precedingNode, followingNode, comment) || handleBreakAndContinueStatementComments(enclosingNode, comment) || handleTSFunctionTrailingComments(text, enclosingNode, followingNode, comment, options)) { - return true; - } - - return false; -} - -function addBlockStatementFirstComment(node, comment) { - const body = (node.body || node.properties).filter(n => n.type !== "EmptyStatement"); - - if (body.length === 0) { - addDanglingComment$3(node, comment); - } else { - addLeadingComment$3(body[0], comment); - } -} - -function addBlockOrNotComment(node, comment) { - if (node.type === "BlockStatement") { - addBlockStatementFirstComment(node, comment); - } else { - addLeadingComment$3(node, comment); - } -} - -function handleClosureTypeCastComments(followingNode, comment) { - if (followingNode && isTypeCastComment(comment)) { - addLeadingComment$3(followingNode, comment); - return true; - } - - return false; -} // There are often comments before the else clause of if statements like -// -// if (1) { ... } -// // comment -// else { ... } -// -// They are being attached as leading comments of the BlockExpression which -// is not well printed. What we want is to instead move the comment inside -// of the block and make it leadingComment of the first element of the block -// or dangling comment of the block if there is nothing inside -// -// if (1) { ... } -// else { -// // comment -// ... -// } - - -function handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment, options) { - if (!enclosingNode || enclosingNode.type !== "IfStatement" || !followingNode) { - return false; - } // We unfortunately have no way using the AST or location of nodes to know - // if the comment is positioned before the condition parenthesis: - // if (a /* comment */) {} - // The only workaround I found is to look at the next character to see if - // it is a ). - - - const nextCharacter = getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd); - - if (nextCharacter === ")") { - addTrailingComment$3(precedingNode, comment); - return true; - } // Comments before `else`: - // - treat as trailing comments of the consequent, if it's a BlockStatement - // - treat as a dangling comment otherwise - - - if (precedingNode === enclosingNode.consequent && followingNode === enclosingNode.alternate) { - if (precedingNode.type === "BlockStatement") { - addTrailingComment$3(precedingNode, comment); - } else { - addDanglingComment$3(enclosingNode, comment); - } - - return true; - } - - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - - if (followingNode.type === "IfStatement") { - addBlockOrNotComment(followingNode.consequent, comment); - return true; - } // For comments positioned after the condition parenthesis in an if statement - // before the consequent without brackets on, such as - // if (a) /* comment */ true, - // we look at the next character to see if the following node - // is the consequent for the if statement - - - if (enclosingNode.consequent === followingNode) { - addLeadingComment$3(followingNode, comment); - return true; - } - - return false; -} - -function handleWhileComments(text, precedingNode, enclosingNode, followingNode, comment, options) { - if (!enclosingNode || enclosingNode.type !== "WhileStatement" || !followingNode) { - return false; - } // We unfortunately have no way using the AST or location of nodes to know - // if the comment is positioned before the condition parenthesis: - // while (a /* comment */) {} - // The only workaround I found is to look at the next character to see if - // it is a ). - - - const nextCharacter = getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd); - - if (nextCharacter === ")") { - addTrailingComment$3(precedingNode, comment); - return true; - } - - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - - return false; -} // Same as IfStatement but for TryStatement - - -function handleTryStatementComments(enclosingNode, precedingNode, followingNode, comment) { - if (!enclosingNode || enclosingNode.type !== "TryStatement" && enclosingNode.type !== "CatchClause" || !followingNode) { - return false; - } - - if (enclosingNode.type === "CatchClause" && precedingNode) { - addTrailingComment$3(precedingNode, comment); - return true; - } - - if (followingNode.type === "BlockStatement") { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - - if (followingNode.type === "TryStatement") { - addBlockOrNotComment(followingNode.finalizer, comment); - return true; - } - - if (followingNode.type === "CatchClause") { - addBlockOrNotComment(followingNode.body, comment); - return true; - } - - return false; -} - -function handleMemberExpressionComments(enclosingNode, followingNode, comment) { - if (enclosingNode && (enclosingNode.type === "MemberExpression" || enclosingNode.type === "OptionalMemberExpression") && followingNode && followingNode.type === "Identifier") { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleConditionalExpressionComments(enclosingNode, precedingNode, followingNode, comment, text, options) { - const isSameLineAsPrecedingNode = precedingNode && !hasNewlineInRange$2(text, options.locEnd(precedingNode), options.locStart(comment)); - - if ((!precedingNode || !isSameLineAsPrecedingNode) && enclosingNode && (enclosingNode.type === "ConditionalExpression" || enclosingNode.type === "TSConditionalType") && followingNode) { - addLeadingComment$3(followingNode, comment); - return true; - } - - return false; -} - -function handleObjectPropertyAssignment(enclosingNode, precedingNode, comment) { - if (enclosingNode && (enclosingNode.type === "ObjectProperty" || enclosingNode.type === "Property") && enclosingNode.shorthand && enclosingNode.key === precedingNode && enclosingNode.value.type === "AssignmentPattern") { - addTrailingComment$3(enclosingNode.value.left, comment); - return true; - } - - return false; -} - -function handleClassComments(enclosingNode, precedingNode, followingNode, comment) { - if (enclosingNode && (enclosingNode.type === "ClassDeclaration" || enclosingNode.type === "ClassExpression" || enclosingNode.type === "DeclareClass" || enclosingNode.type === "DeclareInterface" || enclosingNode.type === "InterfaceDeclaration" || enclosingNode.type === "TSInterfaceDeclaration")) { - if (enclosingNode.decorators && enclosingNode.decorators.length > 0 && !(followingNode && followingNode.type === "Decorator")) { - addTrailingComment$3(enclosingNode.decorators[enclosingNode.decorators.length - 1], comment); - return true; - } - - if (enclosingNode.body && followingNode === enclosingNode.body) { - addBlockStatementFirstComment(enclosingNode.body, comment); - return true; - } // Don't add leading comments to `implements`, `extends`, `mixins` to - // avoid printing the comment after the keyword. - - - if (followingNode) { - for (const prop of ["implements", "extends", "mixins"]) { - if (enclosingNode[prop] && followingNode === enclosingNode[prop][0]) { - if (precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters || precedingNode === enclosingNode.superClass)) { - addTrailingComment$3(precedingNode, comment); - } else { - addDanglingComment$3(enclosingNode, comment, prop); - } - - return true; - } - } - } - } - - return false; -} - -function handleMethodNameComments(text, enclosingNode, precedingNode, comment, options) { - // This is only needed for estree parsers (flow, typescript) to attach - // after a method name: - // obj = { fn /*comment*/() {} }; - if (enclosingNode && precedingNode && ( // "MethodDefinition" is handled in getCommentChildNodes - enclosingNode.type === "Property" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "TSAbstractMethodDefinition") && precedingNode.type === "Identifier" && enclosingNode.key === precedingNode && // special Property case: { key: /*comment*/(value) }; - // comment should be attached to value instead of key - getNextNonSpaceNonCommentCharacter$1(text, precedingNode, options.locEnd) !== ":") { - addTrailingComment$3(precedingNode, comment); - return true; - } // Print comments between decorators and class methods as a trailing comment - // on the decorator node instead of the method node - - - if (precedingNode && enclosingNode && precedingNode.type === "Decorator" && (enclosingNode.type === "ClassMethod" || enclosingNode.type === "ClassProperty" || enclosingNode.type === "TSAbstractClassProperty" || enclosingNode.type === "TSAbstractMethodDefinition" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "MethodDefinition")) { - addTrailingComment$3(precedingNode, comment); - return true; - } - - return false; -} - -function handleFunctionNameComments(text, enclosingNode, precedingNode, comment, options) { - if (getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd) !== "(") { - return false; - } - - if (precedingNode && enclosingNode && (enclosingNode.type === "FunctionDeclaration" || enclosingNode.type === "FunctionExpression" || enclosingNode.type === "ClassMethod" || enclosingNode.type === "MethodDefinition" || enclosingNode.type === "ObjectMethod")) { - addTrailingComment$3(precedingNode, comment); - return true; - } - - return false; -} - -function handleCommentAfterArrowParams(text, enclosingNode, comment, options) { - if (!(enclosingNode && enclosingNode.type === "ArrowFunctionExpression")) { - return false; - } - - const index = getNextNonSpaceNonCommentCharacterIndex$2(text, comment, options.locEnd); - - if (index !== false && text.slice(index, index + 2) === "=>") { - addDanglingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleCommentInEmptyParens(text, enclosingNode, comment, options) { - if (getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd) !== ")") { - return false; - } // Only add dangling comments to fix the case when no params are present, - // i.e. a function without any argument. - - - if (enclosingNode && (isRealFunctionLikeNode(enclosingNode) && // `params` vs `parameters` - see https://github.com/babel/babel/issues/9231 - (enclosingNode.params || enclosingNode.parameters).length === 0 || (enclosingNode.type === "CallExpression" || enclosingNode.type === "OptionalCallExpression" || enclosingNode.type === "NewExpression") && enclosingNode.arguments.length === 0)) { - addDanglingComment$3(enclosingNode, comment); - return true; - } - - if (enclosingNode && enclosingNode.type === "MethodDefinition" && enclosingNode.value.params.length === 0) { - addDanglingComment$3(enclosingNode.value, comment); - return true; - } - - return false; -} - -function handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment, options) { - // Flow function type definitions - if (precedingNode && precedingNode.type === "FunctionTypeParam" && enclosingNode && enclosingNode.type === "FunctionTypeAnnotation" && followingNode && followingNode.type !== "FunctionTypeParam") { - addTrailingComment$3(precedingNode, comment); - return true; - } // Real functions and TypeScript function type definitions - - - if (precedingNode && (precedingNode.type === "Identifier" || precedingNode.type === "AssignmentPattern") && enclosingNode && isRealFunctionLikeNode(enclosingNode) && getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd) === ")") { - addTrailingComment$3(precedingNode, comment); - return true; - } - - if (enclosingNode && enclosingNode.type === "FunctionDeclaration" && followingNode && followingNode.type === "BlockStatement") { - const functionParamRightParenIndex = (() => { - if ((enclosingNode.params || enclosingNode.parameters).length !== 0) { - return getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1(text, options.locEnd(getLast$1(enclosingNode.params || enclosingNode.parameters))); - } - - const functionParamLeftParenIndex = getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1(text, options.locEnd(enclosingNode.id)); - return functionParamLeftParenIndex !== false && getNextNonSpaceNonCommentCharacterIndexWithStartIndex$1(text, functionParamLeftParenIndex + 1); - })(); - - if (options.locStart(comment) > functionParamRightParenIndex) { - addBlockStatementFirstComment(followingNode, comment); - return true; - } - } - - return false; -} - -function handleImportSpecifierComments(enclosingNode, comment) { - if (enclosingNode && enclosingNode.type === "ImportSpecifier") { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleLabeledStatementComments(enclosingNode, comment) { - if (enclosingNode && enclosingNode.type === "LabeledStatement") { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleBreakAndContinueStatementComments(enclosingNode, comment) { - if (enclosingNode && (enclosingNode.type === "ContinueStatement" || enclosingNode.type === "BreakStatement") && !enclosingNode.label) { - addTrailingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleCallExpressionComments(precedingNode, enclosingNode, comment) { - if (enclosingNode && (enclosingNode.type === "CallExpression" || enclosingNode.type === "OptionalCallExpression") && precedingNode && enclosingNode.callee === precedingNode && enclosingNode.arguments.length > 0) { - addLeadingComment$3(enclosingNode.arguments[0], comment); - return true; - } - - return false; -} - -function handleUnionTypeComments(precedingNode, enclosingNode, followingNode, comment) { - if (enclosingNode && (enclosingNode.type === "UnionTypeAnnotation" || enclosingNode.type === "TSUnionType")) { - if (isNodeIgnoreComment$1(comment)) { - followingNode.prettierIgnore = true; - comment.unignore = true; - } - - if (precedingNode) { - addTrailingComment$3(precedingNode, comment); - return true; - } - - return false; - } - - if (followingNode && (followingNode.type === "UnionTypeAnnotation" || followingNode.type === "TSUnionType") && isNodeIgnoreComment$1(comment)) { - followingNode.types[0].prettierIgnore = true; - comment.unignore = true; - } - - return false; -} - -function handlePropertyComments(enclosingNode, comment) { - if (enclosingNode && (enclosingNode.type === "Property" || enclosingNode.type === "ObjectProperty")) { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleOnlyComments(enclosingNode, ast, comment, isLastComment) { - // With Flow the enclosingNode is undefined so use the AST instead. - if (ast && ast.body && ast.body.length === 0) { - if (isLastComment) { - addDanglingComment$3(ast, comment); - } else { - addLeadingComment$3(ast, comment); - } - - return true; - } else if (enclosingNode && enclosingNode.type === "Program" && enclosingNode.body.length === 0 && enclosingNode.directives && enclosingNode.directives.length === 0) { - if (isLastComment) { - addDanglingComment$3(enclosingNode, comment); - } else { - addLeadingComment$3(enclosingNode, comment); - } - - return true; - } - - return false; -} - -function handleForComments(enclosingNode, precedingNode, comment) { - if (enclosingNode && (enclosingNode.type === "ForInStatement" || enclosingNode.type === "ForOfStatement")) { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleImportDeclarationComments(text, enclosingNode, precedingNode, comment, options) { - if (precedingNode && precedingNode.type === "ImportSpecifier" && enclosingNode && enclosingNode.type === "ImportDeclaration" && hasNewline$3(text, options.locEnd(comment))) { - addTrailingComment$3(precedingNode, comment); - return true; - } - - return false; -} - -function handleAssignmentPatternComments(enclosingNode, comment) { - if (enclosingNode && enclosingNode.type === "AssignmentPattern") { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleTypeAliasComments(enclosingNode, followingNode, comment) { - if (enclosingNode && enclosingNode.type === "TypeAlias") { - addLeadingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleVariableDeclaratorComments(enclosingNode, followingNode, comment) { - if (enclosingNode && (enclosingNode.type === "VariableDeclarator" || enclosingNode.type === "AssignmentExpression") && followingNode && (followingNode.type === "ObjectExpression" || followingNode.type === "ArrayExpression" || followingNode.type === "TemplateLiteral" || followingNode.type === "TaggedTemplateExpression" || isBlockComment(comment))) { - addLeadingComment$3(followingNode, comment); - return true; - } - - return false; -} - -function handleTSFunctionTrailingComments(text, enclosingNode, followingNode, comment, options) { - if (!followingNode && enclosingNode && (enclosingNode.type === "TSMethodSignature" || enclosingNode.type === "TSDeclareFunction" || enclosingNode.type === "TSAbstractMethodDefinition") && getNextNonSpaceNonCommentCharacter$1(text, comment, options.locEnd) === ";") { - addTrailingComment$3(enclosingNode, comment); - return true; - } - - return false; -} - -function handleTSMappedTypeComments(text, enclosingNode, precedingNode, followingNode, comment) { - if (!enclosingNode || enclosingNode.type !== "TSMappedType") { - return false; - } - - if (followingNode && followingNode.type === "TSTypeParameter" && followingNode.name) { - addLeadingComment$3(followingNode.name, comment); - return true; - } - - if (precedingNode && precedingNode.type === "TSTypeParameter" && precedingNode.constraint) { - addTrailingComment$3(precedingNode.constraint, comment); - return true; - } - - return false; -} - -function isBlockComment(comment) { - return comment.type === "Block" || comment.type === "CommentBlock"; -} -/** - * @param {any} node - * @param {(comment: any) => boolean} fn - * @returns boolean - */ - - -function hasLeadingComment(node, fn = () => true) { - if (node.leadingComments) { - return node.leadingComments.some(fn); - } - - if (node.comments) { - return node.comments.some(comment => comment.leading && fn(comment)); - } - - return false; -} - -function isRealFunctionLikeNode(node) { - return node.type === "ArrowFunctionExpression" || node.type === "FunctionExpression" || node.type === "FunctionDeclaration" || node.type === "ObjectMethod" || node.type === "ClassMethod" || node.type === "TSDeclareFunction" || node.type === "TSCallSignatureDeclaration" || node.type === "TSConstructSignatureDeclaration" || node.type === "TSConstructSignatureDeclaration" || node.type === "TSMethodSignature" || node.type === "TSConstructorType" || node.type === "TSFunctionType" || node.type === "TSDeclareMethod"; -} - -function getGapRegex(enclosingNode) { - if (enclosingNode && enclosingNode.type !== "BinaryExpression" && enclosingNode.type !== "LogicalExpression") { - // Support degenerate single-element unions and intersections. - // E.g.: `type A = /* 1 */ & B` - return /^[\s&(|]*$/; - } -} - -function getCommentChildNodes(node, options) { - // Prevent attaching comments to FunctionExpression in this case: - // class Foo { - // bar() // comment - // { - // baz(); - // } - // } - if ((options.parser === "typescript" || options.parser === "flow") && node.type === "MethodDefinition" && node.value && node.value.type === "FunctionExpression" && node.value.params.length === 0 && !node.value.returnType && (!node.value.typeParameters || node.value.typeParameters.length === 0) && node.value.body) { - return [...(node.decorators || []), node.key, node.value.body]; - } -} - -function isTypeCastComment(comment) { - return isBlockComment(comment) && comment.value[0] === "*" && // TypeScript expects the type to be enclosed in curly brackets, however - // Closure Compiler accepts types in parens and even without any delimiters at all. - // That's why we just search for "@type". - /@type\b/.test(comment.value); -} - -var comments$1 = { - handleOwnLineComment, - handleEndOfLineComment, - handleRemainingComment, - hasLeadingComment, - isBlockComment, - isTypeCastComment, - getGapRegex, - getCommentChildNodes -}; - -const { - builders: { - indent: indent$2, - join: join$2, - line: line$3, - hardline: hardline$3, - softline: softline$1, - literalline: literalline$1, - concat: concat$4, - group: group$1, - dedentToRoot: dedentToRoot$1 - }, - utils: { - mapDoc: mapDoc$1 - } -} = document; -const { - isBlockComment: isBlockComment$1, - hasLeadingComment: hasLeadingComment$1 -} = comments$1; - -function embed(path, print, textToDoc, options) { - const node = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - - switch (node.type) { - case "TemplateLiteral": - { - const isCss = [isStyledJsx, isStyledComponents, isCssProp, isAngularComponentStyles].some(isIt => isIt(path)); - - if (isCss) { - // Get full template literal with expressions replaced by placeholders - const rawQuasis = node.quasis.map(q => q.value.raw); - let placeholderID = 0; - const text = rawQuasis.reduce((prevVal, currVal, idx) => { - return idx === 0 ? currVal : prevVal + "@prettier-placeholder-" + placeholderID++ + "-id" + currVal; - }, ""); - const doc = textToDoc(text, { - parser: "scss" - }, { - stripTrailingHardline: true - }); - return transformCssDoc(doc, path, print); - } - /* - * react-relay and graphql-tag - * graphql`...` - * graphql.experimental`...` - * gql`...` - * - * This intentionally excludes Relay Classic tags, as Prettier does not - * support Relay Classic formatting. - */ - - - if (isGraphQL(path)) { - const expressionDocs = node.expressions ? path.map(print, "expressions") : []; - const numQuasis = node.quasis.length; - - if (numQuasis === 1 && node.quasis[0].value.raw.trim() === "") { - return "``"; - } - - const parts = []; - - for (let i = 0; i < numQuasis; i++) { - const templateElement = node.quasis[i]; - const isFirst = i === 0; - const isLast = i === numQuasis - 1; - const text = templateElement.value.cooked; // Bail out if any of the quasis have an invalid escape sequence - // (which would make the `cooked` value be `null` or `undefined`) - - if (typeof text !== "string") { - return null; - } - - const lines = text.split("\n"); - const numLines = lines.length; - const expressionDoc = expressionDocs[i]; - const startsWithBlankLine = numLines > 2 && lines[0].trim() === "" && lines[1].trim() === ""; - const endsWithBlankLine = numLines > 2 && lines[numLines - 1].trim() === "" && lines[numLines - 2].trim() === ""; - const commentsAndWhitespaceOnly = lines.every(line => /^\s*(?:#[^\n\r]*)?$/.test(line)); // Bail out if an interpolation occurs within a comment. - - if (!isLast && /#[^\n\r]*$/.test(lines[numLines - 1])) { - return null; - } - - let doc = null; - - if (commentsAndWhitespaceOnly) { - doc = printGraphqlComments(lines); - } else { - doc = textToDoc(text, { - parser: "graphql" - }, { - stripTrailingHardline: true - }); - } - - if (doc) { - doc = escapeTemplateCharacters(doc, false); - - if (!isFirst && startsWithBlankLine) { - parts.push(""); - } - - parts.push(doc); - - if (!isLast && endsWithBlankLine) { - parts.push(""); - } - } else if (!isFirst && !isLast && startsWithBlankLine) { - parts.push(""); - } - - if (expressionDoc) { - parts.push(concat$4(["${", expressionDoc, "}"])); - } - } - - return concat$4(["`", indent$2(concat$4([hardline$3, join$2(hardline$3, parts)])), hardline$3, "`"]); - } - - const htmlParser = isHtml(path) ? "html" : isAngularComponentTemplate(path) ? "angular" : undefined; - - if (htmlParser) { - return printHtmlTemplateLiteral(path, print, textToDoc, htmlParser, options); - } - - break; - } - - case "TemplateElement": - { - /** - * md`...` - * markdown`...` - */ - if (parentParent && parentParent.type === "TaggedTemplateExpression" && parent.quasis.length === 1 && parentParent.tag.type === "Identifier" && (parentParent.tag.name === "md" || parentParent.tag.name === "markdown")) { - const text = parent.quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g, (_, backslashes) => "\\".repeat(backslashes.length / 2) + "`"); - const indentation = getIndentation(text); - const hasIndent = indentation !== ""; - return concat$4([hasIndent ? indent$2(concat$4([softline$1, printMarkdown(text.replace(new RegExp(`^${indentation}`, "gm"), ""))])) : concat$4([literalline$1, dedentToRoot$1(printMarkdown(text))]), softline$1]); - } - - break; - } - } - - function printMarkdown(text) { - const doc = textToDoc(text, { - parser: "markdown", - __inJsTemplate: true - }, { - stripTrailingHardline: true - }); - return escapeTemplateCharacters(doc, true); - } -} - -function getIndentation(str) { - const firstMatchedIndent = str.match(/^([^\S\n]*)\S/m); - return firstMatchedIndent === null ? "" : firstMatchedIndent[1]; -} - -function uncook(cookedValue) { - return cookedValue.replace(/([\\`]|\${)/g, "\\$1"); -} - -function escapeTemplateCharacters(doc, raw) { - return mapDoc$1(doc, currentDoc => { - if (!currentDoc.parts) { - return currentDoc; - } - - const parts = currentDoc.parts.map(part => { - if (typeof part === "string") { - return raw ? part.replace(/(\\*)`/g, "$1$1\\`") : uncook(part); - } - - return part; - }); - return Object.assign({}, currentDoc, { - parts - }); - }); -} - -function transformCssDoc(quasisDoc, path, print) { - const parentNode = path.getValue(); - const isEmpty = parentNode.quasis.length === 1 && !parentNode.quasis[0].value.raw.trim(); - - if (isEmpty) { - return "``"; - } - - const expressionDocs = parentNode.expressions ? path.map(print, "expressions") : []; - const newDoc = replacePlaceholders(quasisDoc, expressionDocs); - /* istanbul ignore if */ - - if (!newDoc) { - throw new Error("Couldn't insert all the expressions"); - } - - return concat$4(["`", indent$2(concat$4([hardline$3, newDoc])), softline$1, "`"]); -} // Search all the placeholders in the quasisDoc tree -// and replace them with the expression docs one by one -// returns a new doc with all the placeholders replaced, -// or null if it couldn't replace any expression - - -function replacePlaceholders(quasisDoc, expressionDocs) { - if (!expressionDocs || !expressionDocs.length) { - return quasisDoc; - } - - let replaceCounter = 0; - const newDoc = mapDoc$1(quasisDoc, doc => { - if (!doc || !doc.parts || !doc.parts.length) { - return doc; - } - - let { - parts - } = doc; - const atIndex = parts.indexOf("@"); - const placeholderIndex = atIndex + 1; - - if (atIndex > -1 && typeof parts[placeholderIndex] === "string" && parts[placeholderIndex].startsWith("prettier-placeholder")) { - // If placeholder is split, join it - const at = parts[atIndex]; - const placeholder = parts[placeholderIndex]; - const rest = parts.slice(placeholderIndex + 1); - parts = parts.slice(0, atIndex).concat([at + placeholder]).concat(rest); - } - - const replacedParts = []; - parts.forEach(part => { - if (typeof part !== "string" || !part.includes("@prettier-placeholder")) { - replacedParts.push(part); - return; - } // When we have multiple placeholders in one line, like: - // ${Child}${Child2}:not(:first-child) - - - part.split(/@prettier-placeholder-(\d+)-id/).forEach((component, idx) => { - // The placeholder is always at odd indices - if (idx % 2 === 0) { - replacedParts.push(component); - return; - } // The component will always be a number at odd index - - - replacedParts.push("${", expressionDocs[component], "}"); - replaceCounter++; - }); - }); - return Object.assign({}, doc, { - parts: replacedParts - }); - }); - return expressionDocs.length === replaceCounter ? newDoc : null; -} - -function printGraphqlComments(lines) { - const parts = []; - let seenComment = false; - lines.map(textLine => textLine.trim()).forEach((textLine, i, array) => { - // Lines are either whitespace only, or a comment (with potential whitespace - // around it). Drop whitespace-only lines. - if (textLine === "") { - return; - } - - if (array[i - 1] === "" && seenComment) { - // If a non-first comment is preceded by a blank (whitespace only) line, - // add in a blank line. - parts.push(concat$4([hardline$3, textLine])); - } else { - parts.push(textLine); - } - - seenComment = true; - }); // If `lines` was whitespace only, return `null`. - - return parts.length === 0 ? null : join$2(hardline$3, parts); -} -/** - * Template literal in these contexts: - * - * css`` - * css.global`` - * css.resolve`` - */ - - -function isStyledJsx(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - return parentParent && node.quasis && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXElement" && parentParent.openingElement.name.name === "style" && parentParent.openingElement.attributes.some(attribute => attribute.name.name === "jsx") || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "Identifier" && parent.tag.name === "css" || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "MemberExpression" && parent.tag.object.name === "css" && (parent.tag.property.name === "global" || parent.tag.property.name === "resolve"); -} -/** - * Angular Components can have: - * - Inline HTML template - * - Inline CSS styles - * - * ...which are both within template literals somewhere - * inside of the Component decorator factory. - * - * E.g. - * @Component({ - * template: `

...
`, - * styles: [`h1 { color: blue; }`] - * }) - */ - - -function isAngularComponentStyles(path) { - return path.match(node => node.type === "TemplateLiteral", (node, name) => node.type === "ArrayExpression" && name === "elements", (node, name) => (node.type === "Property" || node.type === "ObjectProperty") && node.key.type === "Identifier" && node.key.name === "styles" && name === "value", ...angularComponentObjectExpressionPredicates); -} - -function isAngularComponentTemplate(path) { - return path.match(node => node.type === "TemplateLiteral", (node, name) => (node.type === "Property" || node.type === "ObjectProperty") && node.key.type === "Identifier" && node.key.name === "template" && name === "value", ...angularComponentObjectExpressionPredicates); -} - -const angularComponentObjectExpressionPredicates = [(node, name) => node.type === "ObjectExpression" && name === "properties", (node, name) => node.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === "Component" && name === "arguments", (node, name) => node.type === "Decorator" && name === "expression"]; -/** - * styled-components template literals - */ - -function isStyledComponents(path) { - const parent = path.getParentNode(); - - if (!parent || parent.type !== "TaggedTemplateExpression") { - return false; - } - - const { - tag - } = parent; - - switch (tag.type) { - case "MemberExpression": - return (// styled.foo`` - isStyledIdentifier(tag.object) || // Component.extend`` - isStyledExtend(tag) - ); - - case "CallExpression": - return (// styled(Component)`` - isStyledIdentifier(tag.callee) || tag.callee.type === "MemberExpression" && (tag.callee.object.type === "MemberExpression" && ( // styled.foo.attrs({})`` - isStyledIdentifier(tag.callee.object.object) || // Component.extend.attrs({})`` - isStyledExtend(tag.callee.object)) || // styled(Component).attrs({})`` - tag.callee.object.type === "CallExpression" && isStyledIdentifier(tag.callee.object.callee)) - ); - - case "Identifier": - // css`` - return tag.name === "css"; - - default: - return false; - } -} -/** - * JSX element with CSS prop - */ - - -function isCssProp(path) { - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - return parentParent && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" && parentParent.name.type === "JSXIdentifier" && parentParent.name.name === "css"; -} - -function isStyledIdentifier(node) { - return node.type === "Identifier" && node.name === "styled"; -} - -function isStyledExtend(node) { - return /^[A-Z]/.test(node.object.name) && node.property.name === "extend"; -} /* - * react-relay and graphql-tag - * graphql`...` - * graphql.experimental`...` - * gql`...` - * GraphQL comment block - * - * This intentionally excludes Relay Classic tags, as Prettier does not - * support Relay Classic formatting. - */ - - -function isGraphQL(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - return hasLanguageComment(node, "GraphQL") || parent && (parent.type === "TaggedTemplateExpression" && (parent.tag.type === "MemberExpression" && parent.tag.object.name === "graphql" && parent.tag.property.name === "experimental" || parent.tag.type === "Identifier" && (parent.tag.name === "gql" || parent.tag.name === "graphql")) || parent.type === "CallExpression" && parent.callee.type === "Identifier" && parent.callee.name === "graphql"); -} - -function hasLanguageComment(node, languageName) { - // This checks for a leading comment that is exactly `/* GraphQL */` - // In order to be in line with other implementations of this comment tag - // we will not trim the comment value and we will expect exactly one space on - // either side of the GraphQL string - // Also see ./clean.js - return hasLeadingComment$1(node, comment => isBlockComment$1(comment) && comment.value === ` ${languageName} `); -} -/** - * - html`...` - * - HTML comment block - */ - - -function isHtml(path) { - return hasLanguageComment(path.getValue(), "HTML") || path.match(node => node.type === "TemplateLiteral", (node, name) => node.type === "TaggedTemplateExpression" && node.tag.type === "Identifier" && node.tag.name === "html" && name === "quasi"); -} // The counter is needed to distinguish nested embeds. - - -let htmlTemplateLiteralCounter = 0; - -function printHtmlTemplateLiteral(path, print, textToDoc, parser, options) { - const node = path.getValue(); - const counter = htmlTemplateLiteralCounter; - htmlTemplateLiteralCounter = htmlTemplateLiteralCounter + 1 >>> 0; - - const composePlaceholder = index => `PRETTIER_HTML_PLACEHOLDER_${index}_${counter}_IN_JS`; - - const text = node.quasis.map((quasi, index, quasis) => index === quasis.length - 1 ? quasi.value.cooked : quasi.value.cooked + composePlaceholder(index)).join(""); - const expressionDocs = path.map(print, "expressions"); - - if (expressionDocs.length === 0 && text.trim().length === 0) { - return "``"; - } - - const placeholderRegex = new RegExp(composePlaceholder("(\\d+)"), "g"); - let topLevelCount = 0; - const contentDoc = mapDoc$1(textToDoc(text, { - parser, - - __onHtmlRoot(root) { - topLevelCount = root.children.length; - } - - }, { - stripTrailingHardline: true - }), doc => { - if (typeof doc !== "string") { - return doc; - } - - const parts = []; - const components = doc.split(placeholderRegex); - - for (let i = 0; i < components.length; i++) { - let component = components[i]; - - if (i % 2 === 0) { - if (component) { - component = uncook(component); - - if (options.embeddedInHtml) { - component = component.replace(/<\/(script)\b/gi, "<\\/$1"); - } - - parts.push(component); - } - - continue; - } - - const placeholderIndex = +component; - parts.push(concat$4(["${", group$1(expressionDocs[placeholderIndex]), "}"])); - } - - return concat$4(parts); - }); - const leadingWhitespace = /^\s/.test(text) ? " " : ""; - const trailingWhitespace = /\s$/.test(text) ? " " : ""; - const linebreak = options.htmlWhitespaceSensitivity === "ignore" ? hardline$3 : leadingWhitespace && trailingWhitespace ? line$3 : null; - - if (linebreak) { - return group$1(concat$4(["`", indent$2(concat$4([linebreak, group$1(contentDoc)])), linebreak, "`"])); - } - - return group$1(concat$4(["`", leadingWhitespace, topLevelCount > 1 ? indent$2(group$1(contentDoc)) : group$1(contentDoc), trailingWhitespace, "`"])); -} - -var embed_1 = embed; - -function clean(ast, newObj, parent) { - ["range", "raw", "comments", "leadingComments", "trailingComments", "innerComments", "extra", "start", "end", "loc", "flags", "errors", "tokens"].forEach(name => { - delete newObj[name]; - }); - - if (ast.type === "Program") { - delete newObj.sourceType; - } - - if (ast.type === "BigIntLiteral") { - if (newObj.value) { - newObj.value = newObj.value.toLowerCase(); - } - - if (newObj.bigint) { - newObj.bigint = newObj.bigint.toLowerCase(); - } - } - - if (ast.type === "DecimalLiteral") { - newObj.value = Number(newObj.value); - } // We remove extra `;` and add them when needed - - - if (ast.type === "EmptyStatement") { - return null; - } // We move text around, including whitespaces and add {" "} - - - if (ast.type === "JSXText") { - return null; - } - - if (ast.type === "JSXExpressionContainer" && (ast.expression.type === "Literal" || ast.expression.type === "StringLiteral") && ast.expression.value === " ") { - return null; - } // We change {'key': value} into {key: value}. - // And {key: value} into {'key': value}. - // Also for (some) number keys. - - - if ((ast.type === "Property" || ast.type === "ObjectProperty" || ast.type === "MethodDefinition" || ast.type === "ClassProperty" || ast.type === "ClassMethod" || ast.type === "TSDeclareMethod" || ast.type === "TSPropertySignature" || ast.type === "ObjectTypeProperty") && typeof ast.key === "object" && ast.key && (ast.key.type === "Literal" || ast.key.type === "NumericLiteral" || ast.key.type === "StringLiteral" || ast.key.type === "Identifier")) { - delete newObj.key; - } - - if (ast.type === "OptionalMemberExpression" && ast.optional === false) { - newObj.type = "MemberExpression"; - delete newObj.optional; - } // Remove raw and cooked values from TemplateElement when it's CSS - // styled-jsx - - - if (ast.type === "JSXElement" && ast.openingElement.name.name === "style" && ast.openingElement.attributes.some(attr => attr.name.name === "jsx")) { - const templateLiterals = newObj.children.filter(child => child.type === "JSXExpressionContainer" && child.expression.type === "TemplateLiteral").map(container => container.expression); - const quasis = templateLiterals.reduce((quasis, templateLiteral) => quasis.concat(templateLiteral.quasis), []); - quasis.forEach(q => delete q.value); - } // CSS template literals in css prop - - - if (ast.type === "JSXAttribute" && ast.name.name === "css" && ast.value.type === "JSXExpressionContainer" && ast.value.expression.type === "TemplateLiteral") { - newObj.value.expression.quasis.forEach(q => delete q.value); - } // We change quotes - - - if (ast.type === "JSXAttribute" && ast.value && ast.value.type === "Literal" && /["']|"|'/.test(ast.value.value)) { - newObj.value.value = newObj.value.value.replace(/["']|"|'/g, '"'); - } // Angular Components: Inline HTML template and Inline CSS styles - - - const expression = ast.expression || ast.callee; - - if (ast.type === "Decorator" && expression.type === "CallExpression" && expression.callee.name === "Component" && expression.arguments.length === 1) { - const astProps = ast.expression.arguments[0].properties; - newObj.expression.arguments[0].properties.forEach((prop, index) => { - let templateLiteral = null; - - switch (astProps[index].key.name) { - case "styles": - if (prop.value.type === "ArrayExpression") { - templateLiteral = prop.value.elements[0]; - } - - break; - - case "template": - if (prop.value.type === "TemplateLiteral") { - templateLiteral = prop.value; - } - - break; - } - - if (templateLiteral) { - templateLiteral.quasis.forEach(q => delete q.value); - } - }); - } // styled-components, graphql, markdown - - - if (ast.type === "TaggedTemplateExpression" && (ast.tag.type === "MemberExpression" || ast.tag.type === "Identifier" && (ast.tag.name === "gql" || ast.tag.name === "graphql" || ast.tag.name === "css" || ast.tag.name === "md" || ast.tag.name === "markdown" || ast.tag.name === "html") || ast.tag.type === "CallExpression")) { - newObj.quasi.quasis.forEach(quasi => delete quasi.value); - } - - if (ast.type === "TemplateLiteral") { - // This checks for a leading comment that is exactly `/* GraphQL */` - // In order to be in line with other implementations of this comment tag - // we will not trim the comment value and we will expect exactly one space on - // either side of the GraphQL string - // Also see ./embed.js - const hasLanguageComment = ast.leadingComments && ast.leadingComments.some(comment => comment.type === "CommentBlock" && ["GraphQL", "HTML"].some(languageName => comment.value === ` ${languageName} `)); - - if (hasLanguageComment || parent.type === "CallExpression" && parent.callee.name === "graphql") { - newObj.quasis.forEach(quasi => delete quasi.value); - } // TODO: check parser - // `flow` and `typescript` don't have `leadingComments` - - - if (!ast.leadingComments) { - newObj.quasis.forEach(quasi => { - if (quasi.value) { - delete quasi.value.cooked; - } - }); - } - } - - if (ast.type === "InterpreterDirective") { - newObj.value = newObj.value.trimEnd(); - } -} - -var clean_1 = clean; - -const detectNewline = string => { - if (typeof string !== 'string') { - throw new TypeError('Expected a string'); - } - - const newlines = string.match(/(?:\r?\n)/g) || []; - - if (newlines.length === 0) { - return; - } - - const crlf = newlines.filter(newline => newline === '\r\n').length; - const lf = newlines.length - crlf; - return crlf > lf ? '\r\n' : '\n'; -}; - -var detectNewline_1 = detectNewline; - -var graceful = string => typeof string === 'string' && detectNewline(string) || '\n'; -detectNewline_1.graceful = graceful; - -var build = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, '__esModule', { - value: true - }); - exports.extract = extract; - exports.strip = strip; - exports.parse = parse; - exports.parseWithComments = parseWithComments; - exports.print = print; - - function _os() { - const data = os__default['default']; - - _os = function () { - return data; - }; - - return data; - } - - function _detectNewline() { - const data = _interopRequireDefault(detectNewline_1); - - _detectNewline = function () { - return data; - }; - - return data; - } - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - /** - * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - const commentEndRe = /\*\/$/; - const commentStartRe = /^\/\*\*/; - const docblockRe = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/; - const lineCommentRe = /(^|\s+)\/\/([^\r\n]*)/g; - const ltrimNewlineRe = /^(\r?\n)+/; - const multilineRe = /(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g; - const propertyRe = /(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g; - const stringStartRe = /(\r?\n|^) *\* ?/g; - const STRING_ARRAY = []; - - function extract(contents) { - const match = contents.match(docblockRe); - return match ? match[0].trimLeft() : ''; - } - - function strip(contents) { - const match = contents.match(docblockRe); - return match && match[0] ? contents.substring(match[0].length) : contents; - } - - function parse(docblock) { - return parseWithComments(docblock).pragmas; - } - - function parseWithComments(docblock) { - const line = (0, _detectNewline().default)(docblock) || _os().EOL; - - docblock = docblock.replace(commentStartRe, '').replace(commentEndRe, '').replace(stringStartRe, '$1'); // Normalize multi-line directives - - let prev = ''; - - while (prev !== docblock) { - prev = docblock; - docblock = docblock.replace(multilineRe, `${line}$1 $2${line}`); - } - - docblock = docblock.replace(ltrimNewlineRe, '').trimRight(); - const result = Object.create(null); - const comments = docblock.replace(propertyRe, '').replace(ltrimNewlineRe, '').trimRight(); - let match; - - while (match = propertyRe.exec(docblock)) { - // strip linecomments from pragmas - const nextPragma = match[2].replace(lineCommentRe, ''); - - if (typeof result[match[1]] === 'string' || Array.isArray(result[match[1]])) { - result[match[1]] = STRING_ARRAY.concat(result[match[1]], nextPragma); - } else { - result[match[1]] = nextPragma; - } - } - - return { - comments, - pragmas: result - }; - } - - function print({ - comments = '', - pragmas = {} - }) { - const line = (0, _detectNewline().default)(comments) || _os().EOL; - - const head = '/**'; - const start = ' *'; - const tail = ' */'; - const keys = Object.keys(pragmas); - const printedObject = keys.map(key => printKeyValues(key, pragmas[key])).reduce((arr, next) => arr.concat(next), []).map(keyValue => start + ' ' + keyValue + line).join(''); - - if (!comments) { - if (keys.length === 0) { - return ''; - } - - if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) { - const value = pragmas[keys[0]]; - return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`; - } - } - - const printedComments = comments.split(line).map(textLine => `${start} ${textLine}`).join(line) + line; - return head + line + (comments ? printedComments : '') + (comments && keys.length ? start + line : '') + printedObject + tail; - } - - function printKeyValues(key, valueOrArray) { - return STRING_ARRAY.concat(valueOrArray).map(value => `@${key} ${value}`.trim()); - } -}); - -const { - parseWithComments, - strip, - extract, - print -} = build; -const { - getShebang: getShebang$1 -} = util; -const { - normalizeEndOfLine: normalizeEndOfLine$2 -} = endOfLine; - -function parseDocBlock(text) { - const shebang = getShebang$1(text); - - if (shebang) { - text = text.slice(shebang.length + 1); - } - - const docBlock = extract(text); - const { - pragmas, - comments - } = parseWithComments(docBlock); - return { - shebang, - text, - pragmas, - comments - }; -} - -function hasPragma(text) { - const pragmas = Object.keys(parseDocBlock(text).pragmas); - return pragmas.includes("prettier") || pragmas.includes("format"); -} - -function insertPragma(originalText) { - const { - shebang, - text, - pragmas, - comments - } = parseDocBlock(originalText); - const strippedText = strip(text); - const docBlock = print({ - pragmas: Object.assign({ - format: "" - }, pragmas), - comments: comments.trimStart() - }); - return (shebang ? `${shebang}\n` : "") + // normalise newlines (mitigate use of os.EOL by jest-docblock) - normalizeEndOfLine$2(docBlock) + (strippedText.startsWith("\n") ? "\n" : "\n\n") + strippedText; -} - -var pragma = { - hasPragma, - insertPragma -}; - + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ var ast = createCommonjsModule(function (module) { - /* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ (function () { function isExpression(node) { @@ -38729,31 +38475,31 @@ var ast = createCommonjsModule(function (module) { }); +/* + Copyright (C) 2013-2014 Yusuke Suzuki + Copyright (C) 2014 Ivan Nikulin + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ var code = createCommonjsModule(function (module) { - /* - Copyright (C) 2013-2014 Yusuke Suzuki - Copyright (C) 2014 Ivan Nikulin - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ (function () { var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; // See `tools/generate-identifier-regex.js`. @@ -38857,30 +38603,30 @@ var code = createCommonjsModule(function (module) { }); -var keyword$1 = createCommonjsModule(function (module) { - /* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +/* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +var keyword = createCommonjsModule(function (module) { (function () { var code$1 = code; @@ -39048,49 +38794,53 @@ var keyword$1 = createCommonjsModule(function (module) { }); -var utils$5 = createCommonjsModule(function (module, exports) { - /* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +/* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +var utils$6 = createCommonjsModule(function (module, exports) { (function () { exports.ast = ast; exports.code = code; - exports.keyword = keyword$1; + exports.keyword = keyword; })(); /* vim: set sw=4 ts=4 et tw=80 : */ }); -const isIdentifierName = utils$5.keyword.isIdentifierNameES5; +const isIdentifierName = utils$6.keyword.isIdentifierNameES5; const { - getLast: getLast$2, - hasNewline: hasNewline$4, - hasNewlineInRange: hasNewlineInRange$3, - hasIgnoreComment: hasIgnoreComment$1, - hasNodeIgnoreComment: hasNodeIgnoreComment$1, - skipWhitespace: skipWhitespace$2 -} = util; + getLast: getLast$d, + hasNewline: hasNewline$7, + skipWhitespace, + isNonEmptyArray: isNonEmptyArray$h, + isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$1 +} = util$5; +const { + locStart: locStart$o, + locEnd: locEnd$n, + hasSameLocStart +} = loc$6; /** * @typedef {import("./types/estree").Node} Node * @typedef {import("./types/estree").TemplateLiteral} TemplateLiteral @@ -39102,11 +38852,10 @@ const { * @typedef {import("./types/estree").Expression} Expression * @typedef {import("./types/estree").Property} Property * @typedef {import("./types/estree").ObjectTypeProperty} ObjectTypeProperty - * @typedef {import("./types/estree").JSXElement} JSXElement * @typedef {import("./types/estree").TaggedTemplateExpression} TaggedTemplateExpression * @typedef {import("./types/estree").Literal} Literal * - * @typedef {import("../common/fast-path")} FastPath + * @typedef {import("../common/ast-path")} AstPath */ // We match any whitespace except line terminators because // Flow annotation comments cannot be split across lines. For example: @@ -39126,10 +38875,10 @@ const FLOW_ANNOTATION = new RegExp(`^${NON_LINE_TERMINATING_WHITE_SPACE}*::`); * @returns {boolean} */ -function hasFlowShorthandAnnotationComment(node) { +function hasFlowShorthandAnnotationComment$3(node) { // https://flow.org/en/docs/types/comments/ // Syntax example: const r = new (window.Request /*: Class */)(""); - return node.extra && node.extra.parenthesized && node.trailingComments && FLOW_SHORTHAND_ANNOTATION.test(node.trailingComments[0].value); + return node.extra && node.extra.parenthesized && isNonEmptyArray$h(node.trailingComments) && isBlockComment$5(node.trailingComments[0]) && FLOW_SHORTHAND_ANNOTATION.test(node.trailingComments[0].value); } /** * @param {Comment[]} comments @@ -39137,8 +38886,8 @@ function hasFlowShorthandAnnotationComment(node) { */ -function hasFlowAnnotationComment(comments) { - return comments && FLOW_ANNOTATION.test(comments[0].value); +function hasFlowAnnotationComment$2(comments) { + return comments && isBlockComment$5(comments[0]) && FLOW_ANNOTATION.test(comments[0].value); } /** * @param {Node} node @@ -39147,17 +38896,17 @@ function hasFlowAnnotationComment(comments) { */ -function hasNode(node, fn) { +function hasNode$2(node, fn) { if (!node || typeof node !== "object") { return false; } if (Array.isArray(node)) { - return node.some(value => hasNode(value, fn)); + return node.some(value => hasNode$2(value, fn)); } const result = fn(node); - return typeof result === "boolean" ? result : Object.keys(node).some(key => hasNode(node[key], fn)); + return typeof result === "boolean" ? result : Object.values(node).some(value => hasNode$2(value, fn)); } /** * @param {Node} node @@ -39165,11 +38914,11 @@ function hasNode(node, fn) { */ -function hasNakedLeftSide(node) { - return node.type === "AssignmentExpression" || node.type === "BinaryExpression" || node.type === "LogicalExpression" || node.type === "NGPipeExpression" || node.type === "ConditionalExpression" || node.type === "CallExpression" || node.type === "OptionalCallExpression" || node.type === "MemberExpression" || node.type === "OptionalMemberExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "BindExpression" || node.type === "UpdateExpression" && !node.prefix || node.type === "TSAsExpression" || node.type === "TSNonNullExpression"; +function hasNakedLeftSide$3(node) { + return node.type === "AssignmentExpression" || node.type === "BinaryExpression" || node.type === "LogicalExpression" || node.type === "NGPipeExpression" || node.type === "ConditionalExpression" || isCallExpression$d(node) || isMemberExpression$a(node) || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "BindExpression" || node.type === "UpdateExpression" && !node.prefix || node.type === "TSAsExpression" || node.type === "TSNonNullExpression"; } -function getLeftSide(node) { +function getLeftSide$1(node) { if (node.expressions) { return node.expressions[0]; } @@ -39177,7 +38926,7 @@ function getLeftSide(node) { return node.left || node.test || node.callee || node.object || node.tag || node.argument || node.expression; } -function getLeftSidePathName(path, node) { +function getLeftSidePathName$2(path, node) { if (node.expressions) { return ["expressions", 0]; } @@ -39212,6 +38961,26 @@ function getLeftSidePathName(path, node) { throw new Error("Unexpected node has no left side."); } +/** + * @param {Comment} comment + * @returns {boolean} + */ + + +function isBlockComment$5(comment) { + return comment.type === "Block" || comment.type === "CommentBlock" || // `meriyah` + comment.type === "MultiLine"; +} +/** + * @param {Comment} comment + * @returns {boolean} + */ + + +function isLineComment$3(comment) { + return comment.type === "Line" || comment.type === "CommentLine" || // `meriyah` has `SingleLine`, `HashbangComment`, `HTMLOpen`, and `HTMLClose` + comment.type === "SingleLine" || comment.type === "HashbangComment" || comment.type === "HTMLOpen" || comment.type === "HTMLClose"; +} const exportDeclarationTypes = new Set(["ExportDefaultDeclaration", "ExportDefaultSpecifier", "DeclareExportDeclaration", "ExportNamedDeclaration", "ExportAllDeclaration"]); /** @@ -39223,12 +38992,12 @@ function isExportDeclaration(node) { return node && exportDeclarationTypes.has(node.type); } /** - * @param {FastPath} path + * @param {AstPath} path * @returns {Node | null} */ -function getParentExportDeclaration(path) { +function getParentExportDeclaration$2(path) { const parentNode = path.getParentNode(); if (path.getName() === "declaration" && isExportDeclaration(parentNode)) { @@ -39243,7 +39012,7 @@ function getParentExportDeclaration(path) { */ -function isLiteral(node) { +function isLiteral$3(node) { return node.type === "BooleanLiteral" || node.type === "DirectiveLiteral" || node.type === "Literal" || node.type === "NullLiteral" || node.type === "NumericLiteral" || node.type === "BigIntLiteral" || node.type === "DecimalLiteral" || node.type === "RegExpLiteral" || node.type === "StringLiteral" || node.type === "TemplateLiteral" || node.type === "TSTypeLiteral" || node.type === "JSXText"; } /** @@ -39252,16 +39021,20 @@ function isLiteral(node) { */ -function isNumericLiteral(node) { +function isNumericLiteral$5(node) { return node.type === "NumericLiteral" || node.type === "Literal" && typeof node.value === "number"; } + +function isSignedNumericLiteral$2(node) { + return node.type === "UnaryExpression" && (node.operator === "+" || node.operator === "-") && isNumericLiteral$5(node.argument); +} /** * @param {Node} node * @returns {boolean} */ -function isStringLiteral(node) { +function isStringLiteral$5(node) { return node.type === "StringLiteral" || node.type === "Literal" && typeof node.value === "string"; } /** @@ -39270,7 +39043,7 @@ function isStringLiteral(node) { */ -function isObjectType(node) { +function isObjectType$2(node) { return node.type === "ObjectTypeAnnotation" || node.type === "TSTypeLiteral"; } /** @@ -39279,7 +39052,7 @@ function isObjectType(node) { */ -function isFunctionOrArrowExpression(node) { +function isFunctionOrArrowExpression$1(node) { return node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression"; } /** @@ -39304,13 +39077,13 @@ function isTemplateLiteral(node) { * Note: `inject` is used in AngularJS 1.x, `async` in Angular 2+ * example: https://docs.angularjs.org/guide/unit-testing#using-beforeall- * - * @param {Node} node + * @param {CallExpression} node * @returns {boolean} */ function isAngularTestWrapper(node) { - return (node.type === "CallExpression" || node.type === "OptionalCallExpression") && node.callee.type === "Identifier" && (node.callee.name === "async" || node.callee.name === "inject" || node.callee.name === "fakeAsync"); + return isCallExpression$d(node) && node.callee.type === "Identifier" && (node.callee.name === "async" || node.callee.name === "inject" || node.callee.name === "fakeAsync"); } /** * @param {Node} node @@ -39318,65 +39091,33 @@ function isAngularTestWrapper(node) { */ -function isJSXNode(node) { +function isJsxNode$7(node) { return node.type === "JSXElement" || node.type === "JSXFragment"; } -function isTheOnlyJSXElementInMarkdown(options, path) { +function isTheOnlyJsxElementInMarkdown$2(options, path) { if (options.parentParser !== "markdown" && options.parentParser !== "mdx") { return false; } const node = path.getNode(); - if (!node.expression || !isJSXNode(node.expression)) { + if (!node.expression || !isJsxNode$7(node.expression)) { return false; } const parent = path.getParentNode(); return parent.type === "Program" && parent.body.length === 1; -} // Detect an expression node representing `{" "}` - - -function isJSXWhitespaceExpression(node) { - return node.type === "JSXExpressionContainer" && isLiteral(node.expression) && node.expression.value === " " && !node.expression.comments; -} -/** - * @param {Node} node - * @returns {boolean} - */ - - -function isMemberExpressionChain(node) { - if (node.type !== "MemberExpression" && node.type !== "OptionalMemberExpression") { - return false; - } - - if (node.object.type === "Identifier") { - return true; - } - - return isMemberExpressionChain(node.object); } -function isGetterOrSetter(node) { +function isGetterOrSetter$1(node) { return node.kind === "get" || node.kind === "set"; -} -/** - * @param {Node} nodeA - * @param {Node} nodeB - * @returns {boolean} - */ - - -function sameLocStart(nodeA, nodeB, options) { - return options.locStart(nodeA) === options.locStart(nodeB); } // TODO: This is a bad hack and we need a better way to distinguish between // arrow functions and otherwise -function isFunctionNotation(node, options) { - return isGetterOrSetter(node) || sameLocStart(node, node.value, options); +function isFunctionNotation$1(node) { + return isGetterOrSetter$1(node) || hasSameLocStart(node, node.value); } // Hack to differentiate between the following two which have the same ast // type T = { method: () => void }; // type T = { method(): void }; @@ -39387,15 +39128,15 @@ function isFunctionNotation(node, options) { */ -function isObjectTypePropertyAFunction(node, options) { - return (node.type === "ObjectTypeProperty" || node.type === "ObjectTypeInternalSlot") && node.value.type === "FunctionTypeAnnotation" && !node.static && !isFunctionNotation(node, options); +function isObjectTypePropertyAFunction$2(node) { + return (node.type === "ObjectTypeProperty" || node.type === "ObjectTypeInternalSlot") && node.value.type === "FunctionTypeAnnotation" && !node.static && !isFunctionNotation$1(node); } // Hack to differentiate between the following two which have the same ast // declare function f(a): void; // var f: (a) => void; -function isTypeAnnotationAFunction(node, options) { - return (node.type === "TypeAnnotation" || node.type === "TSTypeAnnotation") && node.typeAnnotation.type === "FunctionTypeAnnotation" && !node.static && !sameLocStart(node, node.typeAnnotation, options); +function isTypeAnnotationAFunction$1(node) { + return (node.type === "TypeAnnotation" || node.type === "TSTypeAnnotation") && node.typeAnnotation.type === "FunctionTypeAnnotation" && !node.static && !hasSameLocStart(node, node.typeAnnotation); } const binaryishNodeTypes = new Set(["BinaryExpression", "LogicalExpression", "NGPipeExpression"]); @@ -39404,7 +39145,7 @@ const binaryishNodeTypes = new Set(["BinaryExpression", "LogicalExpression", "NG * @returns {boolean} */ -function isBinaryish(node) { +function isBinaryish$5(node) { return binaryishNodeTypes.has(node.type); } /** @@ -39413,28 +39154,52 @@ function isBinaryish(node) { */ -function isMemberish(node) { - return node.type === "MemberExpression" || node.type === "OptionalMemberExpression" || node.type === "BindExpression" && Boolean(node.object); +function isMemberish$2(node) { + return isMemberExpression$a(node) || node.type === "BindExpression" && Boolean(node.object); } -const flowTypeAnnotations = new Set(["AnyTypeAnnotation", "NullLiteralTypeAnnotation", "GenericTypeAnnotation", "ThisTypeAnnotation", "NumberTypeAnnotation", "VoidTypeAnnotation", "EmptyTypeAnnotation", "MixedTypeAnnotation", "BooleanTypeAnnotation", "BooleanLiteralTypeAnnotation", "StringTypeAnnotation"]); +const simpleTypeAnnotations = new Set([// `any` +"AnyTypeAnnotation", "TSAnyKeyword", // `null` +"NullLiteralTypeAnnotation", "TSNullKeyword", // `this` +"ThisTypeAnnotation", "TSThisType", // `number` +"NumberTypeAnnotation", "TSNumberKeyword", // `void` +"VoidTypeAnnotation", "TSVoidKeyword", // `boolean` +"BooleanTypeAnnotation", "TSBooleanKeyword", // `bigint` +"BigIntTypeAnnotation", "TSBigIntKeyword", // `symbol` +"SymbolTypeAnnotation", "TSSymbolKeyword", // `string` +"StringTypeAnnotation", "TSStringKeyword", // literals +"BooleanLiteralTypeAnnotation", "StringLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "TSLiteralType", "TSTemplateLiteralType", // flow only, `empty`, `mixed` +"EmptyTypeAnnotation", "MixedTypeAnnotation", // typescript only, `never`, `object`, `undefined`, `unknown` +"TSNeverKeyword", "TSObjectKeyword", "TSUndefinedKeyword", "TSUnknownKeyword"]); /** * @param {Node} node * @returns {boolean} */ -function isSimpleFlowType(node) { - return node && flowTypeAnnotations.has(node.type) && !(node.type === "GenericTypeAnnotation" && node.typeParameters); +function isSimpleType$2(node) { + if (!node) { + return false; + } + + if ((node.type === "GenericTypeAnnotation" || node.type === "TSTypeReference") && !node.typeParameters) { + return true; + } + + if (simpleTypeAnnotations.has(node.type)) { + return true; + } + + return false; } const unitTestRe = /^(skip|[fx]?(it|describe|test))$/; /** - * @param {CallExpression} node + * @param {{callee: MemberExpression | OptionalMemberExpression}} node * @returns {boolean} */ function isSkipOrOnlyBlock(node) { - return (node.callee.type === "MemberExpression" || node.callee.type === "OptionalMemberExpression") && node.callee.object.type === "Identifier" && node.callee.property.type === "Identifier" && unitTestRe.test(node.callee.object.name) && (node.callee.property.name === "only" || node.callee.property.name === "skip"); + return isMemberExpression$a(node.callee) && node.callee.object.type === "Identifier" && node.callee.property.type === "Identifier" && unitTestRe.test(node.callee.object.name) && (node.callee.property.name === "only" || node.callee.property.name === "skip"); } /** * @param {CallExpression} node @@ -39448,27 +39213,27 @@ function isUnitTestSetUp(node) { } // eg; `describe("some string", (done) => {})` -function isTestCall(n, parent) { - if (n.type !== "CallExpression") { +function isTestCall$3(node, parent) { + if (node.type !== "CallExpression") { return false; } - if (n.arguments.length === 1) { - if (isAngularTestWrapper(n) && parent && isTestCall(parent)) { - return isFunctionOrArrowExpression(n.arguments[0]); + if (node.arguments.length === 1) { + if (isAngularTestWrapper(node) && parent && isTestCall$3(parent)) { + return isFunctionOrArrowExpression$1(node.arguments[0]); } - if (isUnitTestSetUp(n)) { - return isAngularTestWrapper(n.arguments[0]); + if (isUnitTestSetUp(node)) { + return isAngularTestWrapper(node.arguments[0]); } - } else if (n.arguments.length === 2 || n.arguments.length === 3) { - if ((n.callee.type === "Identifier" && unitTestRe.test(n.callee.name) || isSkipOrOnlyBlock(n)) && (isTemplateLiteral(n.arguments[0]) || isStringLiteral(n.arguments[0]))) { + } else if (node.arguments.length === 2 || node.arguments.length === 3) { + if ((node.callee.type === "Identifier" && unitTestRe.test(node.callee.name) || isSkipOrOnlyBlock(node)) && (isTemplateLiteral(node.arguments[0]) || isStringLiteral$5(node.arguments[0]))) { // it("name", () => { ... }, 2500) - if (n.arguments[2] && !isNumericLiteral(n.arguments[2])) { + if (node.arguments[2] && !isNumericLiteral$5(node.arguments[2])) { return false; } - return (n.arguments.length === 2 ? isFunctionOrArrowExpression(n.arguments[1]) : isFunctionOrArrowExpressionWithBody(n.arguments[1]) && n.arguments[1].params.length <= 1) || isAngularTestWrapper(n.arguments[1]); + return (node.arguments.length === 2 ? isFunctionOrArrowExpression$1(node.arguments[1]) : isFunctionOrArrowExpressionWithBody(node.arguments[1]) && getFunctionParameters$6(node.arguments[1]).length <= 1) || isAngularTestWrapper(node.arguments[1]); } } @@ -39480,8 +39245,8 @@ function isTestCall(n, parent) { */ -function hasLeadingComment$2(node) { - return node.comments && node.comments.some(comment => comment.leading); +function isCallExpression$d(node) { + return node && (node.type === "CallExpression" || node.type === "OptionalCallExpression"); } /** * @param {Node} node @@ -39489,60 +39254,8 @@ function hasLeadingComment$2(node) { */ -function hasTrailingComment(node) { - return node.comments && node.comments.some(comment => comment.trailing); -} -/** - * @param {Node} node - * @returns {boolean} - */ - - -function hasTrailingLineComment(node) { - return node.comments && node.comments.some(comment => comment.trailing && !comments$1.isBlockComment(comment)); -} -/** - * @param {CallExpression | OptionalCallExpression} node - * @returns {boolean} - */ - - -function isCallOrOptionalCallExpression(node) { - return node.type === "CallExpression" || node.type === "OptionalCallExpression"; -} -/** - * @param {Node} node - * @returns {boolean} - */ - - -function hasDanglingComments(node) { - return node.comments && node.comments.some(comment => !comment.leading && !comment.trailing); -} -/** identify if an angular expression seems to have side effects */ - -/** - * @param {FastPath} path - * @returns {boolean} - */ - - -function hasNgSideEffect(path) { - return hasNode(path.getValue(), node => { - switch (node.type) { - case undefined: - return false; - - case "CallExpression": - case "OptionalCallExpression": - case "AssignmentExpression": - return true; - } - }); -} - -function isNgForOf(node, index, parentNode) { - return node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "of" && index === 1 && parentNode.body[0].type === "NGMicrosyntaxLet" && parentNode.body[0].value === null; +function isMemberExpression$a(node) { + return node && (node.type === "MemberExpression" || node.type === "OptionalMemberExpression"); } /** * @@ -39551,14 +39264,22 @@ function isNgForOf(node, index, parentNode) { */ -function isSimpleTemplateLiteral(node) { - if (node.expressions.length === 0) { +function isSimpleTemplateLiteral$1(node) { + let expressionsKey = "expressions"; + + if (node.type === "TSTemplateLiteralType") { + expressionsKey = "types"; + } + + const expressions = node[expressionsKey]; + + if (expressions.length === 0) { return false; } - return node.expressions.every(expr => { + return expressions.every(expr => { // Disallow comments since printDocToString can't print them here - if (expr.comments) { + if (hasComment$j(expr)) { return false; } // Allow `x` and `this` @@ -39568,17 +39289,17 @@ function isSimpleTemplateLiteral(node) { } // Allow `a.b.c`, `a.b[c]`, and `this.x.y` - if (expr.type === "MemberExpression" || expr.type === "OptionalMemberExpression") { + if (isMemberExpression$a(expr)) { let head = expr; - while (head.type === "MemberExpression" || head.type === "OptionalMemberExpression") { + while (isMemberExpression$a(head)) { if (head.property.type !== "Identifier" && head.property.type !== "Literal" && head.property.type !== "StringLiteral" && head.property.type !== "NumericLiteral") { return false; } head = head.object; - if (head.comments) { + if (hasComment$j(head)) { return false; } } @@ -39593,107 +39314,6 @@ function isSimpleTemplateLiteral(node) { return false; }); } -/** - * @param {ObjectTypeProperty} node - */ - - -function getFlowVariance(node) { - if (!node.variance) { - return null; - } // Babel 7.0 currently uses variance node type, and flow should - // follow suit soon: - // https://github.com/babel/babel/issues/4722 - - - const variance = node.variance.kind || node.variance; - - switch (variance) { - case "plus": - return "+"; - - case "minus": - return "-"; - - default: - /* istanbul ignore next */ - return variance; - } -} -/** - * @param {FastPath} path - * @returns {boolean} - */ - - -function classPropMayCauseASIProblems(path) { - const node = path.getNode(); - - if (node.type !== "ClassProperty") { - return false; - } - - const name = node.key && node.key.name; // this isn't actually possible yet with most parsers available today - // so isn't properly tested yet. - - if ((name === "static" || name === "get" || name === "set") && !node.value && !node.typeAnnotation) { - return true; - } -} - -function classChildNeedsASIProtection(node) { - if (!node) { - return; - } - - if (node.static || node.accessibility // TypeScript - ) { - return false; - } - - if (!node.computed) { - const name = node.key && node.key.name; - - if (name === "in" || name === "instanceof") { - return true; - } - } - - switch (node.type) { - case "ClassProperty": - case "TSAbstractClassProperty": - return node.computed; - - case "MethodDefinition": // Flow - - case "TSAbstractMethodDefinition": // TypeScript - - case "ClassMethod": - case "ClassPrivateMethod": - { - // Babel - const isAsync = node.value ? node.value.async : node.async; - const isGenerator = node.value ? node.value.generator : node.generator; - - if (isAsync || node.kind === "get" || node.kind === "set") { - return false; - } - - if (node.computed || isGenerator) { - return true; - } - - return false; - } - - case "TSIndexSignature": - return true; - - default: - /* istanbul ignore next */ - return false; - } -} /** * @param {string} tokenNode * @param {string} keyword @@ -39701,112 +39321,17 @@ function classChildNeedsASIProtection(node) { */ -function getTypeScriptMappedTypeModifier(tokenNode, keyword) { +function getTypeScriptMappedTypeModifier$1(tokenNode, keyword) { if (tokenNode === "+") { return "+" + keyword; - } else if (tokenNode === "-") { + } + + if (tokenNode === "-") { return "-" + keyword; } return keyword; } - -function hasNewlineBetweenOrAfterDecorators(node, options) { - return hasNewlineInRange$3(options.originalText, options.locStart(node.decorators[0]), options.locEnd(getLast$2(node.decorators))) || hasNewline$4(options.originalText, options.locEnd(getLast$2(node.decorators))); -} // Only space, newline, carriage return, and tab are treated as whitespace -// inside JSX. - - -const jsxWhitespaceChars = " \n\r\t"; -const matchJsxWhitespaceRegex = new RegExp("([" + jsxWhitespaceChars + "]+)"); -const containsNonJsxWhitespaceRegex = new RegExp("[^" + jsxWhitespaceChars + "]"); // Meaningful if it contains non-whitespace characters, -// or it contains whitespace without a new line. - -/** - * @param {Node} node - * @returns {boolean} - */ - -function isMeaningfulJSXText(node) { - return isLiteral(node) && (containsNonJsxWhitespaceRegex.test(rawText(node)) || !/\n/.test(rawText(node))); -} -/** - * @param {FastPath} path - * @returns {boolean} - */ - - -function hasJsxIgnoreComment(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - - if (!parent || !node || !isJSXNode(node) || !isJSXNode(parent)) { - return false; - } // Lookup the previous sibling, ignoring any empty JSXText elements - - - const index = parent.children.indexOf(node); - let prevSibling = null; - - for (let i = index; i > 0; i--) { - const candidate = parent.children[i - 1]; - - if (candidate.type === "JSXText" && !isMeaningfulJSXText(candidate)) { - continue; - } - - prevSibling = candidate; - break; - } - - return prevSibling && prevSibling.type === "JSXExpressionContainer" && prevSibling.expression.type === "JSXEmptyExpression" && prevSibling.expression.comments && prevSibling.expression.comments.some(comment => comment.value.trim() === "prettier-ignore"); -} -/** - * @param {JSXElement} node - * @returns {boolean} - */ - - -function isEmptyJSXElement(node) { - if (node.children.length === 0) { - return true; - } - - if (node.children.length > 1) { - return false; - } // if there is one text child and does not contain any meaningful text - // we can treat the element as empty. - - - const child = node.children[0]; - return isLiteral(child) && !isMeaningfulJSXText(child); -} -/** - * @param {FastPath} path - * @returns {boolean} - */ - - -function hasPrettierIgnore(path) { - return hasIgnoreComment$1(path) || hasJsxIgnoreComment(path); -} -/** - * @param {FastPath} path - * @returns {boolean} - */ - - -function isLastStatement(path) { - const parent = path.getParentNode(); - - if (!parent) { - return true; - } - - const node = path.getValue(); - const body = (parent.body || parent.consequent).filter(stmt => stmt.type !== "EmptyStatement"); - return body[body.length - 1] === node; -} /** * @param {string} text * @param {Node} typeAnnotation @@ -39814,9 +39339,9 @@ function isLastStatement(path) { */ -function isFlowAnnotationComment(text, typeAnnotation, options) { - const start = options.locStart(typeAnnotation); - const end = skipWhitespace$2(text, options.locEnd(typeAnnotation)); +function isFlowAnnotationComment$2(text, typeAnnotation) { + const start = locStart$o(typeAnnotation); + const end = skipWhitespace(text, locEnd$n(typeAnnotation)); return end !== false && text.slice(start, start + 2) === "/*" && text.slice(end, end + 2) === "*/"; } /** @@ -39826,37 +39351,12 @@ function isFlowAnnotationComment(text, typeAnnotation, options) { */ -function hasLeadingOwnLineComment(text, node, options) { - if (isJSXNode(node)) { +function hasLeadingOwnLineComment$4(text, node) { + if (isJsxNode$7(node)) { return hasNodeIgnoreComment$1(node); } - const res = node.comments && node.comments.some(comment => comment.leading && hasNewline$4(text, options.locEnd(comment))); - return res; -} // This recurses the return argument, looking for the first token -// (the leftmost leaf node) and, if it (or its parents) has any -// leadingComments, returns true (so it can be wrapped in parens). - - -function returnArgumentHasLeadingComment(options, argument) { - if (hasLeadingOwnLineComment(options.originalText, argument, options)) { - return true; - } - - if (hasNakedLeftSide(argument)) { - let leftMost = argument; - let newLeftMost; - - while (newLeftMost = getLeftSide(leftMost)) { - leftMost = newLeftMost; - - if (hasLeadingOwnLineComment(options.originalText, leftMost, options)) { - return true; - } - } - } - - return false; + return hasComment$j(node, CommentCheckFlags$f.Leading, comment => hasNewline$7(text, locEnd$n(comment))); } // Note: Quoting/unquoting numbers in TypeScript is not safe. // // let a = { 1: 1, 2: 2 } @@ -39879,20 +39379,20 @@ function returnArgumentHasLeadingComment(options, argument) { // // Angular does not support unquoted numbers in expressions. // -// So we play it safe and only unquote numbers for the "babel" parser. +// So we play it safe and only unquote numbers for the JavaScript parsers. // (Vue supports unquoted numbers in expressions, but let’s keep it simple.) // // Identifiers can be unquoted in more circumstances, though. -function isStringPropSafeToUnquote(node, options) { - return options.parser !== "json" && isStringLiteral(node.key) && rawText(node.key).slice(1, -1) === node.key.value && (isIdentifierName(node.key.value) && // With `--strictPropertyInitialization`, TS treats properties with quoted names differently than unquoted ones. +function isStringPropSafeToUnquote$1(node, options) { + return options.parser !== "json" && isStringLiteral$5(node.key) && rawText$5(node.key).slice(1, -1) === node.key.value && (isIdentifierName(node.key.value) && // With `--strictPropertyInitialization`, TS treats properties with quoted names differently than unquoted ones. // See https://github.com/microsoft/TypeScript/pull/20075 - !((options.parser === "typescript" || options.parser === "babel-ts") && node.type === "ClassProperty") || isSimpleNumber(node.key.value) && String(Number(node.key.value)) === node.key.value && options.parser === "babel"); + !((options.parser === "typescript" || options.parser === "babel-ts") && node.type === "ClassProperty") || isSimpleNumber$1(node.key.value) && String(Number(node.key.value)) === node.key.value && (options.parser === "babel" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree")); } // Matches “simple” numbers like `123` and `2.5` but not `1_000`, `1e+100` or `0b10`. -function isSimpleNumber(numberString) { +function isSimpleNumber$1(numberString) { return /^(\d+|\d+\.\d+)$/.test(numberString); } /** @@ -39902,7 +39402,7 @@ function isSimpleNumber(numberString) { */ -function isJestEachTemplateLiteral(node, parentNode) { +function isJestEachTemplateLiteral$1(node, parentNode) { /** * describe.each`table`(name, fn) * describe.only.each`table`(name, fn) @@ -39926,14 +39426,14 @@ function templateLiteralHasNewLines(template) { return template.quasis.some(quasi => quasi.value.raw.includes("\n")); } /** - * @param {TemplateLiteral | TaggedTemplateExpression} n + * @param {TemplateLiteral | TaggedTemplateExpression} node * @param {string} text * @returns {boolean} */ -function isTemplateOnItsOwnLine(n, text, options) { - return (n.type === "TemplateLiteral" && templateLiteralHasNewLines(n) || n.type === "TaggedTemplateExpression" && templateLiteralHasNewLines(n.quasi)) && !hasNewline$4(text, options.locStart(n), { +function isTemplateOnItsOwnLine$2(node, text) { + return (node.type === "TemplateLiteral" && templateLiteralHasNewLines(node) || node.type === "TaggedTemplateExpression" && templateLiteralHasNewLines(node.quasi)) && !hasNewline$7(text, locStart$o(node), { backwards: true }); } @@ -39943,19 +39443,19 @@ function isTemplateOnItsOwnLine(n, text, options) { */ -function needsHardlineAfterDanglingComment(node) { - if (!node.comments) { +function needsHardlineAfterDanglingComment$2(node) { + if (!hasComment$j(node)) { return false; } - const lastDanglingComment = getLast$2(node.comments.filter(comment => !comment.leading && !comment.trailing)); - return lastDanglingComment && !comments$1.isBlockComment(lastDanglingComment); + const lastDanglingComment = getLast$d(getComments$4(node, CommentCheckFlags$f.Dangling)); + return lastDanglingComment && !isBlockComment$5(lastDanglingComment); } // Logic to check for args with multiple anonymous functions. For instance, // the following call should be split on multiple lines for readability: // source.pipe(map((x) => x + x), filter((x) => x % 2 === 0)) -function isFunctionCompositionArgs(args) { +function isFunctionCompositionArgs$1(args) { if (args.length <= 1) { return false; } @@ -39963,15 +39463,15 @@ function isFunctionCompositionArgs(args) { let count = 0; for (const arg of args) { - if (isFunctionOrArrowExpression(arg)) { + if (isFunctionOrArrowExpression$1(arg)) { count += 1; if (count > 1) { return true; } - } else if (isCallOrOptionalCallExpression(arg)) { + } else if (isCallExpression$d(arg)) { for (const childArg of arg.arguments) { - if (isFunctionOrArrowExpression(childArg)) { + if (isFunctionOrArrowExpression$1(childArg)) { return true; } } @@ -39987,15 +39487,15 @@ function isFunctionCompositionArgs(args) { // first call is the current node. /** - * @param {FastPath} path + * @param {AstPath} path * @returns {boolean} */ -function isLongCurriedCallExpression(path) { +function isLongCurriedCallExpression$2(path) { const node = path.getValue(); const parent = path.getParentNode(); - return isCallOrOptionalCallExpression(node) && isCallOrOptionalCallExpression(parent) && parent.callee === node && node.arguments.length > parent.arguments.length && parent.arguments.length > 0; + return isCallExpression$d(node) && isCallExpression$d(parent) && parent.callee === node && node.arguments.length > parent.arguments.length && parent.arguments.length > 0; } /** * @param {any} node @@ -40004,12 +39504,12 @@ function isLongCurriedCallExpression(path) { */ -function isSimpleCallArgument(node, depth) { +function isSimpleCallArgument$1(node, depth) { if (depth >= 2) { return false; } - const isChildSimple = child => isSimpleCallArgument(child, depth + 1); + const isChildSimple = child => isSimpleCallArgument$1(child, depth + 1); const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; @@ -40017,12 +39517,12 @@ function isSimpleCallArgument(node, depth) { return false; } - if (node.type === "Literal" || node.type === "BigIntLiteral" || node.type === "DecimalLiteral" || node.type === "BooleanLiteral" || node.type === "NullLiteral" || node.type === "NumericLiteral" || node.type === "RegExpLiteral" || node.type === "StringLiteral" || node.type === "Identifier" || node.type === "ThisExpression" || node.type === "Super" || node.type === "PrivateName" || node.type === "ArgumentPlaceholder" || node.type === "Import") { + if (node.type === "Literal" || node.type === "BigIntLiteral" || node.type === "DecimalLiteral" || node.type === "BooleanLiteral" || node.type === "NullLiteral" || node.type === "NumericLiteral" || node.type === "RegExpLiteral" || node.type === "StringLiteral" || node.type === "Identifier" || node.type === "ThisExpression" || node.type === "Super" || node.type === "PrivateName" || node.type === "PrivateIdentifier" || node.type === "ArgumentPlaceholder" || node.type === "Import") { return true; } if (node.type === "TemplateLiteral") { - return node.expressions.every(isChildSimple); + return node.quasis.every(element => !element.value.raw.includes("\n")) && node.expressions.every(isChildSimple); } if (node.type === "ObjectExpression") { @@ -40033,30 +39533,26 @@ function isSimpleCallArgument(node, depth) { return node.elements.every(x => x === null || isChildSimple(x)); } - if (node.type === "ImportExpression") { - return isChildSimple(node.source); + if (isCallLikeExpression$2(node)) { + return (node.type === "ImportExpression" || isSimpleCallArgument$1(node.callee, depth)) && getCallArguments$5(node).every(isChildSimple); } - if (node.type === "CallExpression" || node.type === "OptionalCallExpression" || node.type === "NewExpression") { - return isSimpleCallArgument(node.callee, depth) && node.arguments.every(isChildSimple); - } - - if (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") { - return isSimpleCallArgument(node.object, depth) && isSimpleCallArgument(node.property, depth); + if (isMemberExpression$a(node)) { + return isSimpleCallArgument$1(node.object, depth) && isSimpleCallArgument$1(node.property, depth); } if (node.type === "UnaryExpression" && (node.operator === "!" || node.operator === "-")) { - return isSimpleCallArgument(node.argument, depth); + return isSimpleCallArgument$1(node.argument, depth); } if (node.type === "TSNonNullExpression") { - return isSimpleCallArgument(node.expression, depth); + return isSimpleCallArgument$1(node.expression, depth); } return false; } -function rawText(node) { +function rawText$5(node) { return node.extra ? node.extra.raw : node.raw; } @@ -40064,7 +39560,7 @@ function identity$1(x) { return x; } -function isTSXFile(options) { +function isTSXFile$1(options) { return options.filepath && /\.tsx$/i.test(options.filepath); } /** @@ -40074,7 +39570,7 @@ function isTSXFile(options) { */ -function shouldPrintComma(options, level = "es5") { +function shouldPrintComma$b(options, level = "es5") { return options.trailingComma === "es5" && level === "es5" || options.trailingComma === "all" && (level === "all" || level === "es5"); } /** @@ -40088,7 +39584,7 @@ function shouldPrintComma(options, level = "es5") { */ -function startsWithNoLookaheadToken(node, forbidFunctionClassAndDoExpr) { +function startsWithNoLookaheadToken$2(node, forbidFunctionClassAndDoExpr) { node = getLeftMost(node); switch (node.type) { @@ -40102,7 +39598,7 @@ function startsWithNoLookaheadToken(node, forbidFunctionClassAndDoExpr) { case "MemberExpression": case "OptionalMemberExpression": - return startsWithNoLookaheadToken(node.object, forbidFunctionClassAndDoExpr); + return startsWithNoLookaheadToken$2(node.object, forbidFunctionClassAndDoExpr); case "TaggedTemplateExpression": if (node.tag.type === "FunctionExpression") { @@ -40110,7 +39606,7 @@ function startsWithNoLookaheadToken(node, forbidFunctionClassAndDoExpr) { return false; } - return startsWithNoLookaheadToken(node.tag, forbidFunctionClassAndDoExpr); + return startsWithNoLookaheadToken$2(node.tag, forbidFunctionClassAndDoExpr); case "CallExpression": case "OptionalCallExpression": @@ -40119,22 +39615,23 @@ function startsWithNoLookaheadToken(node, forbidFunctionClassAndDoExpr) { return false; } - return startsWithNoLookaheadToken(node.callee, forbidFunctionClassAndDoExpr); + return startsWithNoLookaheadToken$2(node.callee, forbidFunctionClassAndDoExpr); case "ConditionalExpression": - return startsWithNoLookaheadToken(node.test, forbidFunctionClassAndDoExpr); + return startsWithNoLookaheadToken$2(node.test, forbidFunctionClassAndDoExpr); case "UpdateExpression": - return !node.prefix && startsWithNoLookaheadToken(node.argument, forbidFunctionClassAndDoExpr); + return !node.prefix && startsWithNoLookaheadToken$2(node.argument, forbidFunctionClassAndDoExpr); case "BindExpression": - return node.object && startsWithNoLookaheadToken(node.object, forbidFunctionClassAndDoExpr); + return node.object && startsWithNoLookaheadToken$2(node.object, forbidFunctionClassAndDoExpr); case "SequenceExpression": - return startsWithNoLookaheadToken(node.expressions[0], forbidFunctionClassAndDoExpr); + return startsWithNoLookaheadToken$2(node.expressions[0], forbidFunctionClassAndDoExpr); case "TSAsExpression": - return startsWithNoLookaheadToken(node.expression, forbidFunctionClassAndDoExpr); + case "TSNonNullExpression": + return startsWithNoLookaheadToken$2(node.expression, forbidFunctionClassAndDoExpr); default: return false; @@ -40158,8 +39655,8 @@ const bitshiftOperators = { "<<": true }; -function shouldFlatten(parentOp, nodeOp) { - if (getPrecedence(nodeOp) !== getPrecedence(parentOp)) { +function shouldFlatten$2(parentOp, nodeOp) { + if (getPrecedence$1(nodeOp) !== getPrecedence$1(parentOp)) { return false; } // ** is right-associative // x ** y ** z --> x ** (y ** z) @@ -40194,13 +39691,14 @@ function shouldFlatten(parentOp, nodeOp) { } const PRECEDENCE = {}; -[["|>"], ["??"], ["||"], ["&&"], ["|"], ["^"], ["&"], ["==", "===", "!=", "!=="], ["<", ">", "<=", ">=", "in", "instanceof"], [">>", "<<", ">>>"], ["+", "-"], ["*", "/", "%"], ["**"]].forEach((tier, i) => { - tier.forEach(op => { - PRECEDENCE[op] = i; - }); -}); -function getPrecedence(op) { +for (const [i, tier] of [["|>"], ["??"], ["||"], ["&&"], ["|"], ["^"], ["&"], ["==", "===", "!=", "!=="], ["<", ">", "<=", ">=", "in", "instanceof"], [">>", "<<", ">>>"], ["+", "-"], ["*", "/", "%"], ["**"]].entries()) { + for (const op of tier) { + PRECEDENCE[op] = i; + } +} + +function getPrecedence$1(op) { return PRECEDENCE[op]; } @@ -40212,87 +39710,2137 @@ function getLeftMost(node) { return node; } -function isBitwiseOperator(operator) { - return !!bitshiftOperators[operator] || operator === "|" || operator === "^" || operator === "&"; +function isBitwiseOperator$1(operator) { + return Boolean(bitshiftOperators[operator]) || operator === "|" || operator === "^" || operator === "&"; } -var utils$6 = { - classChildNeedsASIProtection, - classPropMayCauseASIProblems, - getFlowVariance, - getLeftSidePathName, - getParentExportDeclaration, - getTypeScriptMappedTypeModifier, - hasDanglingComments, - hasFlowAnnotationComment, - hasFlowShorthandAnnotationComment, - hasLeadingComment: hasLeadingComment$2, - hasLeadingOwnLineComment, - hasNakedLeftSide, - hasNewlineBetweenOrAfterDecorators, - hasNgSideEffect, - hasNode, - hasPrettierIgnore, - hasTrailingComment, - hasTrailingLineComment, - identity: identity$1, - isBinaryish, - isCallOrOptionalCallExpression, - isEmptyJSXElement, - isExportDeclaration, - isFlowAnnotationComment, - isFunctionCompositionArgs, - isFunctionNotation, - isFunctionOrArrowExpression, - isGetterOrSetter, - isJestEachTemplateLiteral, - isJSXNode, - isJSXWhitespaceExpression, - isLastStatement, - isLiteral, - isLongCurriedCallExpression, - isSimpleCallArgument, - isMeaningfulJSXText, - isMemberExpressionChain, - isMemberish, - isNgForOf, - isNumericLiteral, - isObjectType, - isObjectTypePropertyAFunction, - isSimpleFlowType, - isSimpleNumber, - isSimpleTemplateLiteral, - isStringLiteral, - isStringPropSafeToUnquote, - isTemplateOnItsOwnLine, - isTestCall, - isTheOnlyJSXElementInMarkdown, - isTSXFile, - isTypeAnnotationAFunction, - matchJsxWhitespaceRegex, - needsHardlineAfterDanglingComment, - rawText, - returnArgumentHasLeadingComment, - shouldPrintComma, - isBitwiseOperator, - shouldFlatten, - startsWithNoLookaheadToken, - getPrecedence +function hasRestParameter$1(node) { + if (node.rest) { + return true; + } + + const parameters = getFunctionParameters$6(node); + return parameters.length > 0 && getLast$d(parameters).type === "RestElement"; +} + +const functionParametersCache = new WeakMap(); + +function getFunctionParameters$6(node) { + if (functionParametersCache.has(node)) { + return functionParametersCache.get(node); + } + + const parameters = []; + + if (node.this) { + parameters.push(node.this); + } // `params` vs `parameters` - see https://github.com/babel/babel/issues/9231 + + + if (Array.isArray(node.parameters)) { + parameters.push(...node.parameters); + } else if (Array.isArray(node.params)) { + parameters.push(...node.params); + } + + if (node.rest) { + parameters.push(node.rest); + } + + functionParametersCache.set(node, parameters); + return parameters; +} + +function iterateFunctionParametersPath$1(path, iteratee) { + const node = path.getValue(); + let index = 0; + + const callback = childPath => iteratee(childPath, index++); + + if (node.this) { + path.call(callback, "this"); + } + + if (Array.isArray(node.parameters)) { + path.each(callback, "parameters"); + } else if (Array.isArray(node.params)) { + path.each(callback, "params"); + } + + if (node.rest) { + path.call(callback, "rest"); + } +} + +const callArgumentsCache = new WeakMap(); + +function getCallArguments$5(node) { + if (callArgumentsCache.has(node)) { + return callArgumentsCache.get(node); + } + + let args = node.arguments; + + if (node.type === "ImportExpression") { + args = [node.source]; + + if (node.attributes) { + args.push(node.attributes); + } + } + + callArgumentsCache.set(node, args); + return args; +} + +function iterateCallArgumentsPath$2(path, iteratee) { + const node = path.getValue(); + + if (node.type === "ImportExpression") { + path.call(sourcePath => iteratee(sourcePath, 0), "source"); + + if (node.attributes) { + path.call(sourcePath => iteratee(sourcePath, 1), "attributes"); + } + } else { + path.each(iteratee, "arguments"); + } +} + +function isPrettierIgnoreComment$1(comment) { + return comment.value.trim() === "prettier-ignore" && !comment.unignore; +} + +function hasNodeIgnoreComment$1(node) { + return node && (node.prettierIgnore || hasComment$j(node, CommentCheckFlags$f.PrettierIgnore)); +} + +function hasIgnoreComment$2(path) { + const node = path.getValue(); + return hasNodeIgnoreComment$1(node); +} + +const CommentCheckFlags$f = { + /** Check comment is a leading comment */ + Leading: 1 << 1, + + /** Check comment is a trailing comment */ + Trailing: 1 << 2, + + /** Check comment is a dangling comment */ + Dangling: 1 << 3, + + /** Check comment is a block comment */ + Block: 1 << 4, + + /** Check comment is a line comment */ + Line: 1 << 5, + + /** Check comment is a `prettier-ignore` comment */ + PrettierIgnore: 1 << 6, + + /** Check comment is the first attached comment */ + First: 1 << 7, + + /** Check comment is the last attached comment */ + Last: 1 << 8 }; -/** @type {import("assert")} */ +const getCommentTestFunction = (flags, fn) => { + if (typeof flags === "function") { + fn = flags; + flags = 0; + } + if (flags || fn) { + return (comment, index, comments) => !(flags & CommentCheckFlags$f.Leading && !comment.leading || flags & CommentCheckFlags$f.Trailing && !comment.trailing || flags & CommentCheckFlags$f.Dangling && (comment.leading || comment.trailing) || flags & CommentCheckFlags$f.Block && !isBlockComment$5(comment) || flags & CommentCheckFlags$f.Line && !isLineComment$3(comment) || flags & CommentCheckFlags$f.First && index !== 0 || flags & CommentCheckFlags$f.Last && index !== comments.length - 1 || flags & CommentCheckFlags$f.PrettierIgnore && !isPrettierIgnoreComment$1(comment) || fn && !fn(comment)); + } +}; +/** + * @param {Node} node + * @param {number | function} [flags] + * @param {function} [fn] + * @returns {boolean} + */ + + +function hasComment$j(node, flags, fn) { + if (!node || !isNonEmptyArray$h(node.comments)) { + return false; + } + + const test = getCommentTestFunction(flags, fn); + return test ? node.comments.some(test) : true; +} +/** + * @param {Node} node + * @param {number | function} [flags] + * @param {function} [fn] + * @returns {Comment[]} + */ + + +function getComments$4(node, flags, fn) { + if (!node || !Array.isArray(node.comments)) { + return []; + } + + const test = getCommentTestFunction(flags, fn); + return test ? node.comments.filter(test) : node.comments; +} +/** + * @param {Node} node + * @returns {boolean} + */ + + +const isNextLineEmpty$c = (node, { + originalText +}) => isNextLineEmptyAfterIndex$1(originalText, locEnd$n(node)); + +function isCallLikeExpression$2(node) { + return isCallExpression$d(node) || node.type === "NewExpression" || node.type === "ImportExpression"; +} + +function isObjectProperty$6(node) { + return node && (node.type === "ObjectProperty" || node.type === "Property" && !node.method && node.kind === "init"); +} + +var utils$5 = { + getFunctionParameters: getFunctionParameters$6, + iterateFunctionParametersPath: iterateFunctionParametersPath$1, + getCallArguments: getCallArguments$5, + iterateCallArgumentsPath: iterateCallArgumentsPath$2, + hasRestParameter: hasRestParameter$1, + getLeftSide: getLeftSide$1, + getLeftSidePathName: getLeftSidePathName$2, + getParentExportDeclaration: getParentExportDeclaration$2, + getTypeScriptMappedTypeModifier: getTypeScriptMappedTypeModifier$1, + hasFlowAnnotationComment: hasFlowAnnotationComment$2, + hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$3, + hasLeadingOwnLineComment: hasLeadingOwnLineComment$4, + hasNakedLeftSide: hasNakedLeftSide$3, + hasNode: hasNode$2, + hasIgnoreComment: hasIgnoreComment$2, + hasNodeIgnoreComment: hasNodeIgnoreComment$1, + identity: identity$1, + isBinaryish: isBinaryish$5, + isBlockComment: isBlockComment$5, + isCallLikeExpression: isCallLikeExpression$2, + isLineComment: isLineComment$3, + isPrettierIgnoreComment: isPrettierIgnoreComment$1, + isCallExpression: isCallExpression$d, + isMemberExpression: isMemberExpression$a, + isExportDeclaration, + isFlowAnnotationComment: isFlowAnnotationComment$2, + isFunctionCompositionArgs: isFunctionCompositionArgs$1, + isFunctionNotation: isFunctionNotation$1, + isFunctionOrArrowExpression: isFunctionOrArrowExpression$1, + isGetterOrSetter: isGetterOrSetter$1, + isJestEachTemplateLiteral: isJestEachTemplateLiteral$1, + isJsxNode: isJsxNode$7, + isLiteral: isLiteral$3, + isLongCurriedCallExpression: isLongCurriedCallExpression$2, + isSimpleCallArgument: isSimpleCallArgument$1, + isMemberish: isMemberish$2, + isNumericLiteral: isNumericLiteral$5, + isSignedNumericLiteral: isSignedNumericLiteral$2, + isObjectProperty: isObjectProperty$6, + isObjectType: isObjectType$2, + isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$2, + isSimpleType: isSimpleType$2, + isSimpleNumber: isSimpleNumber$1, + isSimpleTemplateLiteral: isSimpleTemplateLiteral$1, + isStringLiteral: isStringLiteral$5, + isStringPropSafeToUnquote: isStringPropSafeToUnquote$1, + isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$2, + isTestCall: isTestCall$3, + isTheOnlyJsxElementInMarkdown: isTheOnlyJsxElementInMarkdown$2, + isTSXFile: isTSXFile$1, + isTypeAnnotationAFunction: isTypeAnnotationAFunction$1, + isNextLineEmpty: isNextLineEmpty$c, + needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$2, + rawText: rawText$5, + shouldPrintComma: shouldPrintComma$b, + isBitwiseOperator: isBitwiseOperator$1, + shouldFlatten: shouldFlatten$2, + startsWithNoLookaheadToken: startsWithNoLookaheadToken$2, + getPrecedence: getPrecedence$1, + hasComment: hasComment$j, + getComments: getComments$4, + CommentCheckFlags: CommentCheckFlags$f +}; const { + getStringWidth: getStringWidth$2, + getIndentSize +} = util$5; +const { + builders: { + join: join$t, + hardline: hardline$x, + softline: softline$r, + group: group$A, + indent: indent$x, + align: align$5, + lineSuffixBoundary: lineSuffixBoundary$1, + addAlignmentToDoc + }, + printer: { + printDocToString: printDocToString$1 + }, + utils: { + mapDoc: mapDoc$3 + } +} = doc; +const { + isBinaryish: isBinaryish$4, + isJestEachTemplateLiteral, + isSimpleTemplateLiteral, + hasComment: hasComment$i, + isMemberExpression: isMemberExpression$9 +} = utils$5; + +function printTemplateLiteral$2(path, print, options) { + const node = path.getValue(); + const isTemplateLiteral = node.type === "TemplateLiteral"; + + if (isTemplateLiteral && isJestEachTemplateLiteral(node, path.getParentNode())) { + const printed = printJestEachTemplateLiteral(path, options, print); + + if (printed) { + return printed; + } + } + + let expressionsKey = "expressions"; + + if (node.type === "TSTemplateLiteralType") { + expressionsKey = "types"; + } + + const parts = []; + let expressions = path.map(print, expressionsKey); + const isSimple = isSimpleTemplateLiteral(node); + + if (isSimple) { + expressions = expressions.map(doc => printDocToString$1(doc, Object.assign(Object.assign({}, options), {}, { + printWidth: Number.POSITIVE_INFINITY + })).formatted); + } + + parts.push(lineSuffixBoundary$1, "`"); + path.each(childPath => { + const i = childPath.getName(); + parts.push(print()); + + if (i < expressions.length) { + // For a template literal of the following form: + // `someQuery { + // ${call({ + // a, + // b, + // })} + // }` + // the expression is on its own line (there is a \n in the previous + // quasi literal), therefore we want to indent the JavaScript + // expression inside at the beginning of ${ instead of the beginning + // of the `. + const { + tabWidth + } = options; + const quasi = childPath.getValue(); + const indentSize = getIndentSize(quasi.value.raw, tabWidth); + let printed = expressions[i]; + + if (!isSimple) { + const expression = node[expressionsKey][i]; // Breaks at the template element boundaries (${ and }) are preferred to breaking + // in the middle of a MemberExpression + + if (hasComment$i(expression) || isMemberExpression$9(expression) || expression.type === "ConditionalExpression" || expression.type === "SequenceExpression" || expression.type === "TSAsExpression" || isBinaryish$4(expression)) { + printed = [indent$x([softline$r, printed]), softline$r]; + } + } + + const aligned = indentSize === 0 && quasi.value.raw.endsWith("\n") ? align$5(Number.NEGATIVE_INFINITY, printed) : addAlignmentToDoc(printed, indentSize, tabWidth); + parts.push(group$A(["${", aligned, lineSuffixBoundary$1, "}"])); + } + }, "quasis"); + parts.push("`"); + return parts; +} + +function printJestEachTemplateLiteral(path, options, print) { + /** + * a | b | expected + * ${1} | ${1} | ${2} + * ${1} | ${2} | ${3} + * ${2} | ${1} | ${3} + */ + const node = path.getNode(); + const headerNames = node.quasis[0].value.raw.trim().split(/\s*\|\s*/); + + if (headerNames.length > 1 || headerNames.some(headerName => headerName.length > 0)) { + options.__inJestEach = true; + const expressions = path.map(print, "expressions"); + options.__inJestEach = false; + const parts = []; + const stringifiedExpressions = expressions.map(doc => "${" + printDocToString$1(doc, Object.assign(Object.assign({}, options), {}, { + printWidth: Number.POSITIVE_INFINITY, + endOfLine: "lf" + })).formatted + "}"); + const tableBody = [{ + hasLineBreak: false, + cells: [] + }]; + + for (let i = 1; i < node.quasis.length; i++) { + const row = getLast_1(tableBody); + const correspondingExpression = stringifiedExpressions[i - 1]; + row.cells.push(correspondingExpression); + + if (correspondingExpression.includes("\n")) { + row.hasLineBreak = true; + } + + if (node.quasis[i].value.raw.includes("\n")) { + tableBody.push({ + hasLineBreak: false, + cells: [] + }); + } + } + + const maxColumnCount = Math.max(headerNames.length, ...tableBody.map(row => row.cells.length)); + const maxColumnWidths = Array.from({ + length: maxColumnCount + }).fill(0); + const table = [{ + cells: headerNames + }, ...tableBody.filter(row => row.cells.length > 0)]; + + for (const { + cells + } of table.filter(row => !row.hasLineBreak)) { + for (const [index, cell] of cells.entries()) { + maxColumnWidths[index] = Math.max(maxColumnWidths[index], getStringWidth$2(cell)); + } + } + + parts.push(lineSuffixBoundary$1, "`", indent$x([hardline$x, join$t(hardline$x, table.map(row => join$t(" | ", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - getStringWidth$2(cell))))))]), hardline$x, "`"); + return parts; + } +} + +function printTemplateExpression(path, print) { + const node = path.getValue(); + let printed = print(); + + if (hasComment$i(node)) { + printed = group$A([indent$x([softline$r, printed]), softline$r]); + } + + return ["${", printed, lineSuffixBoundary$1, "}"]; +} + +function printTemplateExpressions$3(path, print) { + return path.map(path => printTemplateExpression(path, print), "expressions"); +} + +function escapeTemplateCharacters$2(doc, raw) { + return mapDoc$3(doc, currentDoc => { + if (typeof currentDoc === "string") { + return raw ? currentDoc.replace(/(\\*)`/g, "$1$1\\`") : uncookTemplateElementValue$1(currentDoc); + } + + return currentDoc; + }); +} + +function uncookTemplateElementValue$1(cookedValue) { + return cookedValue.replace(/([\\`]|\${)/g, "\\$1"); +} + +var templateLiteral = { + printTemplateLiteral: printTemplateLiteral$2, + printTemplateExpressions: printTemplateExpressions$3, + escapeTemplateCharacters: escapeTemplateCharacters$2, + uncookTemplateElementValue: uncookTemplateElementValue$1 +}; + +const { + builders: { + indent: indent$w, + softline: softline$q, + literalline: literalline$5, + dedentToRoot: dedentToRoot$2 + } +} = doc; +const { + escapeTemplateCharacters: escapeTemplateCharacters$1 +} = templateLiteral; + +function format$3(path, print, textToDoc) { + const node = path.getValue(); + let text = node.quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g, (_, backslashes) => "\\".repeat(backslashes.length / 2) + "`"); + const indentation = getIndentation(text); + const hasIndent = indentation !== ""; + + if (hasIndent) { + text = text.replace(new RegExp(`^${indentation}`, "gm"), ""); + } + + const doc = escapeTemplateCharacters$1(textToDoc(text, { + parser: "markdown", + __inJsTemplate: true + }, { + stripTrailingHardline: true + }), true); + return ["`", hasIndent ? indent$w([softline$q, doc]) : [literalline$5, dedentToRoot$2(doc)], softline$q, "`"]; +} + +function getIndentation(str) { + const firstMatchedIndent = str.match(/^([^\S\n]*)\S/m); + return firstMatchedIndent === null ? "" : firstMatchedIndent[1]; +} + +var markdown = format$3; + +const { + isNonEmptyArray: isNonEmptyArray$g +} = util$5; +const { + builders: { + indent: indent$v, + hardline: hardline$w, + softline: softline$p + }, + utils: { + mapDoc: mapDoc$2, + replaceNewlinesWithLiterallines: replaceNewlinesWithLiterallines$3, + cleanDoc: cleanDoc$3 + } +} = doc; +const { + printTemplateExpressions: printTemplateExpressions$2 +} = templateLiteral; + +function format$2(path, print, textToDoc) { + const node = path.getValue(); // Get full template literal with expressions replaced by placeholders + + const rawQuasis = node.quasis.map(q => q.value.raw); + let placeholderID = 0; + const text = rawQuasis.reduce((prevVal, currVal, idx) => idx === 0 ? currVal : prevVal + "@prettier-placeholder-" + placeholderID++ + "-id" + currVal, ""); + const doc = textToDoc(text, { + parser: "scss" + }, { + stripTrailingHardline: true + }); + const expressionDocs = printTemplateExpressions$2(path, print); + return transformCssDoc(doc, node, expressionDocs); +} + +function transformCssDoc(quasisDoc, parentNode, expressionDocs) { + const isEmpty = parentNode.quasis.length === 1 && !parentNode.quasis[0].value.raw.trim(); + + if (isEmpty) { + return "``"; + } + + const newDoc = replacePlaceholders(quasisDoc, expressionDocs); + /* istanbul ignore if */ + + if (!newDoc) { + throw new Error("Couldn't insert all the expressions"); + } + + return ["`", indent$v([hardline$w, newDoc]), softline$p, "`"]; +} // Search all the placeholders in the quasisDoc tree +// and replace them with the expression docs one by one +// returns a new doc with all the placeholders replaced, +// or null if it couldn't replace any expression + + +function replacePlaceholders(quasisDoc, expressionDocs) { + if (!isNonEmptyArray$g(expressionDocs)) { + return quasisDoc; + } + + let replaceCounter = 0; + const newDoc = mapDoc$2(cleanDoc$3(quasisDoc), doc => { + if (typeof doc !== "string" || !doc.includes("@prettier-placeholder")) { + return doc; + } // When we have multiple placeholders in one line, like: + // ${Child}${Child2}:not(:first-child) + + + return doc.split(/@prettier-placeholder-(\d+)-id/).map((component, idx) => { + // The placeholder is always at odd indices + if (idx % 2 === 0) { + return replaceNewlinesWithLiterallines$3(component); + } // The component will always be a number at odd index + + + replaceCounter++; + return expressionDocs[component]; + }); + }); + return expressionDocs.length === replaceCounter ? newDoc : null; +} + +var css = format$2; + +const { + builders: { + indent: indent$u, + join: join$s, + hardline: hardline$v + } +} = doc; +const { + escapeTemplateCharacters, + printTemplateExpressions: printTemplateExpressions$1 +} = templateLiteral; + +function format$1(path, print, textToDoc) { + const node = path.getValue(); + const numQuasis = node.quasis.length; + + if (numQuasis === 1 && node.quasis[0].value.raw.trim() === "") { + return "``"; + } + + const expressionDocs = printTemplateExpressions$1(path, print); + const parts = []; + + for (let i = 0; i < numQuasis; i++) { + const templateElement = node.quasis[i]; + const isFirst = i === 0; + const isLast = i === numQuasis - 1; + const text = templateElement.value.cooked; + const lines = text.split("\n"); + const numLines = lines.length; + const expressionDoc = expressionDocs[i]; + const startsWithBlankLine = numLines > 2 && lines[0].trim() === "" && lines[1].trim() === ""; + const endsWithBlankLine = numLines > 2 && lines[numLines - 1].trim() === "" && lines[numLines - 2].trim() === ""; + const commentsAndWhitespaceOnly = lines.every(line => /^\s*(?:#[^\n\r]*)?$/.test(line)); // Bail out if an interpolation occurs within a comment. + + if (!isLast && /#[^\n\r]*$/.test(lines[numLines - 1])) { + return null; + } + + let doc = null; + + if (commentsAndWhitespaceOnly) { + doc = printGraphqlComments(lines); + } else { + doc = textToDoc(text, { + parser: "graphql" + }, { + stripTrailingHardline: true + }); + } + + if (doc) { + doc = escapeTemplateCharacters(doc, false); + + if (!isFirst && startsWithBlankLine) { + parts.push(""); + } + + parts.push(doc); + + if (!isLast && endsWithBlankLine) { + parts.push(""); + } + } else if (!isFirst && !isLast && startsWithBlankLine) { + parts.push(""); + } + + if (expressionDoc) { + parts.push(expressionDoc); + } + } + + return ["`", indent$u([hardline$v, join$s(hardline$v, parts)]), hardline$v, "`"]; +} + +function printGraphqlComments(lines) { + const parts = []; + let seenComment = false; + const array = lines.map(textLine => textLine.trim()); + + for (const [i, textLine] of array.entries()) { + // Lines are either whitespace only, or a comment (with potential whitespace + // around it). Drop whitespace-only lines. + if (textLine === "") { + continue; + } + + if (array[i - 1] === "" && seenComment) { + // If a non-first comment is preceded by a blank (whitespace only) line, + // add in a blank line. + parts.push([hardline$v, textLine]); + } else { + parts.push(textLine); + } + + seenComment = true; + } // If `lines` was whitespace only, return `null`. + + + return parts.length === 0 ? null : join$s(hardline$v, parts); +} + +var graphql = format$1; + +const { + builders: { + indent: indent$t, + line: line$u, + hardline: hardline$u, + group: group$z + }, + utils: { + mapDoc: mapDoc$1 + } +} = doc; +const { + printTemplateExpressions, + uncookTemplateElementValue +} = templateLiteral; // The counter is needed to distinguish nested embeds. + +let htmlTemplateLiteralCounter = 0; + +function format(path, print, textToDoc, options, { + parser +}) { + const node = path.getValue(); + const counter = htmlTemplateLiteralCounter; + htmlTemplateLiteralCounter = htmlTemplateLiteralCounter + 1 >>> 0; + + const composePlaceholder = index => `PRETTIER_HTML_PLACEHOLDER_${index}_${counter}_IN_JS`; + + const text = node.quasis.map((quasi, index, quasis) => index === quasis.length - 1 ? quasi.value.cooked : quasi.value.cooked + composePlaceholder(index)).join(""); + const expressionDocs = printTemplateExpressions(path, print); + + if (expressionDocs.length === 0 && text.trim().length === 0) { + return "``"; + } + + const placeholderRegex = new RegExp(composePlaceholder("(\\d+)"), "g"); + let topLevelCount = 0; + const doc = textToDoc(text, { + parser, + + __onHtmlRoot(root) { + topLevelCount = root.children.length; + } + + }, { + stripTrailingHardline: true + }); + const contentDoc = mapDoc$1(doc, doc => { + if (typeof doc !== "string") { + return doc; + } + + const parts = []; + const components = doc.split(placeholderRegex); + + for (let i = 0; i < components.length; i++) { + let component = components[i]; + + if (i % 2 === 0) { + if (component) { + component = uncookTemplateElementValue(component); + + if (options.__embeddedInHtml) { + component = component.replace(/<\/(script)\b/gi, "<\\/$1"); + } + + parts.push(component); + } + + continue; + } + + const placeholderIndex = Number(component); + parts.push(expressionDocs[placeholderIndex]); + } + + return parts; + }); + const leadingWhitespace = /^\s/.test(text) ? " " : ""; + const trailingWhitespace = /\s$/.test(text) ? " " : ""; + const linebreak = options.htmlWhitespaceSensitivity === "ignore" ? hardline$u : leadingWhitespace && trailingWhitespace ? line$u : null; + + if (linebreak) { + return group$z(["`", indent$t([linebreak, group$z(contentDoc)]), linebreak, "`"]); + } + + return group$z(["`", leadingWhitespace, topLevelCount > 1 ? indent$t(group$z(contentDoc)) : group$z(contentDoc), trailingWhitespace, "`"]); +} + +var html$1 = format; + +const { + hasComment: hasComment$h, + CommentCheckFlags: CommentCheckFlags$e, + isObjectProperty: isObjectProperty$5 +} = utils$5; + +function getLanguage(path) { + if (isStyledJsx(path) || isStyledComponents(path) || isCssProp(path) || isAngularComponentStyles(path)) { + return "css"; + } + + if (isGraphQL(path)) { + return "graphql"; + } + + if (isHtml(path)) { + return "html"; + } + + if (isAngularComponentTemplate(path)) { + return "angular"; + } + + if (isMarkdown(path)) { + return "markdown"; + } +} + +function embed$5(path, print, textToDoc, options) { + const node = path.getValue(); + + if (node.type !== "TemplateLiteral" || // Bail out if any of the quasis have an invalid escape sequence + // (which would make the `cooked` value be `null`) + hasInvalidCookedValue(node)) { + return; + } + + const language = getLanguage(path); + + if (!language) { + return; + } + + if (language === "markdown") { + return markdown(path, print, textToDoc); + } + + if (language === "css") { + return css(path, print, textToDoc); + } + + if (language === "graphql") { + return graphql(path, print, textToDoc); + } + + if (language === "html" || language === "angular") { + return html$1(path, print, textToDoc, options, { + parser: language + }); + } +} +/** + * md`...` + * markdown`...` + */ + + +function isMarkdown(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + return parent && parent.type === "TaggedTemplateExpression" && node.quasis.length === 1 && parent.tag.type === "Identifier" && (parent.tag.name === "md" || parent.tag.name === "markdown"); +} +/** + * Template literal in these contexts: + * + * css`` + * css.global`` + * css.resolve`` + */ + + +function isStyledJsx(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + return parentParent && node.quasis && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXElement" && parentParent.openingElement.name.name === "style" && parentParent.openingElement.attributes.some(attribute => attribute.name.name === "jsx") || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "Identifier" && parent.tag.name === "css" || parent && parent.type === "TaggedTemplateExpression" && parent.tag.type === "MemberExpression" && parent.tag.object.name === "css" && (parent.tag.property.name === "global" || parent.tag.property.name === "resolve"); +} +/** + * Angular Components can have: + * - Inline HTML template + * - Inline CSS styles + * + * ...which are both within template literals somewhere + * inside of the Component decorator factory. + * + * E.g. + * @Component({ + * template: `
...
`, + * styles: [`h1 { color: blue; }`] + * }) + */ + + +function isAngularComponentStyles(path) { + return path.match(node => node.type === "TemplateLiteral", (node, name) => node.type === "ArrayExpression" && name === "elements", (node, name) => isObjectProperty$5(node) && node.key.type === "Identifier" && node.key.name === "styles" && name === "value", ...angularComponentObjectExpressionPredicates); +} + +function isAngularComponentTemplate(path) { + return path.match(node => node.type === "TemplateLiteral", (node, name) => isObjectProperty$5(node) && node.key.type === "Identifier" && node.key.name === "template" && name === "value", ...angularComponentObjectExpressionPredicates); +} + +const angularComponentObjectExpressionPredicates = [(node, name) => node.type === "ObjectExpression" && name === "properties", (node, name) => node.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === "Component" && name === "arguments", (node, name) => node.type === "Decorator" && name === "expression"]; +/** + * styled-components template literals + */ + +function isStyledComponents(path) { + const parent = path.getParentNode(); + + if (!parent || parent.type !== "TaggedTemplateExpression") { + return false; + } + + const { + tag + } = parent; + + switch (tag.type) { + case "MemberExpression": + return (// styled.foo`` + isStyledIdentifier(tag.object) || // Component.extend`` + isStyledExtend(tag) + ); + + case "CallExpression": + return (// styled(Component)`` + isStyledIdentifier(tag.callee) || tag.callee.type === "MemberExpression" && (tag.callee.object.type === "MemberExpression" && ( // styled.foo.attrs({})`` + isStyledIdentifier(tag.callee.object.object) || // Component.extend.attrs({})`` + isStyledExtend(tag.callee.object)) || // styled(Component).attrs({})`` + tag.callee.object.type === "CallExpression" && isStyledIdentifier(tag.callee.object.callee)) + ); + + case "Identifier": + // css`` + return tag.name === "css"; + + default: + return false; + } +} +/** + * JSX element with CSS prop + */ + + +function isCssProp(path) { + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + return parentParent && parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" && parentParent.name.type === "JSXIdentifier" && parentParent.name.name === "css"; +} + +function isStyledIdentifier(node) { + return node.type === "Identifier" && node.name === "styled"; +} + +function isStyledExtend(node) { + return /^[A-Z]/.test(node.object.name) && node.property.name === "extend"; +} +/* + * react-relay and graphql-tag + * graphql`...` + * graphql.experimental`...` + * gql`...` + * GraphQL comment block + * + * This intentionally excludes Relay Classic tags, as Prettier does not + * support Relay Classic formatting. + */ + + +function isGraphQL(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + return hasLanguageComment(node, "GraphQL") || parent && (parent.type === "TaggedTemplateExpression" && (parent.tag.type === "MemberExpression" && parent.tag.object.name === "graphql" && parent.tag.property.name === "experimental" || parent.tag.type === "Identifier" && (parent.tag.name === "gql" || parent.tag.name === "graphql")) || parent.type === "CallExpression" && parent.callee.type === "Identifier" && parent.callee.name === "graphql"); +} + +function hasLanguageComment(node, languageName) { + // This checks for a leading comment that is exactly `/* GraphQL */` + // In order to be in line with other implementations of this comment tag + // we will not trim the comment value and we will expect exactly one space on + // either side of the GraphQL string + // Also see ./clean.js + return hasComment$h(node, CommentCheckFlags$e.Block | CommentCheckFlags$e.Leading, ({ + value + }) => value === ` ${languageName} `); +} +/** + * - html`...` + * - HTML comment block + */ + + +function isHtml(path) { + return hasLanguageComment(path.getValue(), "HTML") || path.match(node => node.type === "TemplateLiteral", (node, name) => node.type === "TaggedTemplateExpression" && node.tag.type === "Identifier" && node.tag.name === "html" && name === "quasi"); +} + +function hasInvalidCookedValue({ + quasis +}) { + return quasis.some(({ + value: { + cooked + } + }) => cooked === null); +} + +var embed_1$3 = embed$5; + +const { + isBlockComment: isBlockComment$4 +} = utils$5; +const ignoredProperties$4 = new Set(["range", "raw", "comments", "leadingComments", "trailingComments", "innerComments", "extra", "start", "end", "loc", "flags", "errors", "tokens"]); + +const removeTemplateElementsValue = node => { + for (const templateElement of node.quasis) { + delete templateElement.value; + } +}; + +function clean$7(ast, newObj, parent) { + if (ast.type === "Program") { + delete newObj.sourceType; + } + + if (ast.type === "BigIntLiteral" || ast.type === "BigIntLiteralTypeAnnotation") { + if (newObj.value) { + newObj.value = newObj.value.toLowerCase(); + } + } + + if (ast.type === "BigIntLiteral" || ast.type === "Literal") { + if (newObj.bigint) { + newObj.bigint = newObj.bigint.toLowerCase(); + } + } + + if (ast.type === "DecimalLiteral") { + newObj.value = Number(newObj.value); + } + + if (ast.type === "Literal" && newObj.decimal) { + newObj.decimal = Number(newObj.decimal); + } // We remove extra `;` and add them when needed + + + if (ast.type === "EmptyStatement") { + return null; + } // We move text around, including whitespaces and add {" "} + + + if (ast.type === "JSXText") { + return null; + } + + if (ast.type === "JSXExpressionContainer" && (ast.expression.type === "Literal" || ast.expression.type === "StringLiteral") && ast.expression.value === " ") { + return null; + } // We change {'key': value} into {key: value}. + // And {key: value} into {'key': value}. + // Also for (some) number keys. + + + if ((ast.type === "Property" || ast.type === "ObjectProperty" || ast.type === "MethodDefinition" || ast.type === "ClassProperty" || ast.type === "ClassMethod" || ast.type === "PropertyDefinition" || ast.type === "TSDeclareMethod" || ast.type === "TSPropertySignature" || ast.type === "ObjectTypeProperty") && typeof ast.key === "object" && ast.key && (ast.key.type === "Literal" || ast.key.type === "NumericLiteral" || ast.key.type === "StringLiteral" || ast.key.type === "Identifier")) { + delete newObj.key; + } // Remove raw and cooked values from TemplateElement when it's CSS + // styled-jsx + + + if (ast.type === "JSXElement" && ast.openingElement.name.name === "style" && ast.openingElement.attributes.some(attr => attr.name.name === "jsx")) { + for (const { + type, + expression + } of newObj.children) { + if (type === "JSXExpressionContainer" && expression.type === "TemplateLiteral") { + removeTemplateElementsValue(expression); + } + } + } // CSS template literals in css prop + + + if (ast.type === "JSXAttribute" && ast.name.name === "css" && ast.value.type === "JSXExpressionContainer" && ast.value.expression.type === "TemplateLiteral") { + removeTemplateElementsValue(newObj.value.expression); + } // We change quotes + + + if (ast.type === "JSXAttribute" && ast.value && ast.value.type === "Literal" && /["']|"|'/.test(ast.value.value)) { + newObj.value.value = newObj.value.value.replace(/["']|"|'/g, '"'); + } // Angular Components: Inline HTML template and Inline CSS styles + + + const expression = ast.expression || ast.callee; + + if (ast.type === "Decorator" && expression.type === "CallExpression" && expression.callee.name === "Component" && expression.arguments.length === 1) { + const astProps = ast.expression.arguments[0].properties; + + for (const [index, prop] of newObj.expression.arguments[0].properties.entries()) { + switch (astProps[index].key.name) { + case "styles": + if (prop.value.type === "ArrayExpression") { + removeTemplateElementsValue(prop.value.elements[0]); + } + + break; + + case "template": + if (prop.value.type === "TemplateLiteral") { + removeTemplateElementsValue(prop.value); + } + + break; + } + } + } // styled-components, graphql, markdown + + + if (ast.type === "TaggedTemplateExpression" && (ast.tag.type === "MemberExpression" || ast.tag.type === "Identifier" && (ast.tag.name === "gql" || ast.tag.name === "graphql" || ast.tag.name === "css" || ast.tag.name === "md" || ast.tag.name === "markdown" || ast.tag.name === "html") || ast.tag.type === "CallExpression")) { + removeTemplateElementsValue(newObj.quasi); + } + + if (ast.type === "TemplateLiteral") { + // This checks for a leading comment that is exactly `/* GraphQL */` + // In order to be in line with other implementations of this comment tag + // we will not trim the comment value and we will expect exactly one space on + // either side of the GraphQL string + // Also see ./embed.js + const hasLanguageComment = ast.leadingComments && ast.leadingComments.some(comment => isBlockComment$4(comment) && ["GraphQL", "HTML"].some(languageName => comment.value === ` ${languageName} `)); + + if (hasLanguageComment || parent.type === "CallExpression" && parent.callee.name === "graphql" || // TODO: check parser + // `flow` and `typescript` don't have `leadingComments` + !ast.leadingComments) { + removeTemplateElementsValue(newObj); + } + } + + if (ast.type === "InterpreterDirective") { + newObj.value = newObj.value.trimEnd(); + } // Prettier removes degenerate union and intersection types with only one member. + + + if ((ast.type === "TSIntersectionType" || ast.type === "TSUnionType") && ast.types.length === 1) { + return newObj.types[0]; + } +} + +clean$7.ignoredProperties = ignoredProperties$4; +var clean_1$4 = clean$7; + +const detectNewline = string => { + if (typeof string !== 'string') { + throw new TypeError('Expected a string'); + } + + const newlines = string.match(/(?:\r?\n)/g) || []; + + if (newlines.length === 0) { + return; + } + + const crlf = newlines.filter(newline => newline === '\r\n').length; + const lf = newlines.length - crlf; + return crlf > lf ? '\r\n' : '\n'; +}; + +var detectNewline_1 = detectNewline; + +var graceful = string => typeof string === 'string' && detectNewline(string) || '\n'; +detectNewline_1.graceful = graceful; + +var extract_1 = extract$1; +var strip_1 = strip$1; +var parse_1$1 = parse$1; +var parseWithComments_1 = parseWithComments$1; +var print_1$1 = print$3; + +function _os() { + const data = os__default['default']; + + _os = function () { + return data; + }; + + return data; +} + +function _detectNewline() { + const data = _interopRequireDefault(detectNewline_1); + + _detectNewline = function () { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + +const commentEndRe = /\*\/$/; +const commentStartRe = /^\/\*\*/; +const docblockRe = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/; +const lineCommentRe = /(^|\s+)\/\/([^\r\n]*)/g; +const ltrimNewlineRe = /^(\r?\n)+/; +const multilineRe = /(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g; +const propertyRe = /(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g; +const stringStartRe = /(\r?\n|^) *\* ?/g; +const STRING_ARRAY = []; + +function extract$1(contents) { + const match = contents.match(docblockRe); + return match ? match[0].trimLeft() : ''; +} + +function strip$1(contents) { + const match = contents.match(docblockRe); + return match && match[0] ? contents.substring(match[0].length) : contents; +} + +function parse$1(docblock) { + return parseWithComments$1(docblock).pragmas; +} + +function parseWithComments$1(docblock) { + const line = (0, _detectNewline().default)(docblock) || _os().EOL; + + docblock = docblock.replace(commentStartRe, '').replace(commentEndRe, '').replace(stringStartRe, '$1'); // Normalize multi-line directives + + let prev = ''; + + while (prev !== docblock) { + prev = docblock; + docblock = docblock.replace(multilineRe, `${line}$1 $2${line}`); + } + + docblock = docblock.replace(ltrimNewlineRe, '').trimRight(); + const result = Object.create(null); + const comments = docblock.replace(propertyRe, '').replace(ltrimNewlineRe, '').trimRight(); + let match; + + while (match = propertyRe.exec(docblock)) { + // strip linecomments from pragmas + const nextPragma = match[2].replace(lineCommentRe, ''); + + if (typeof result[match[1]] === 'string' || Array.isArray(result[match[1]])) { + result[match[1]] = STRING_ARRAY.concat(result[match[1]], nextPragma); + } else { + result[match[1]] = nextPragma; + } + } + + return { + comments, + pragmas: result + }; +} + +function print$3({ + comments = '', + pragmas = {} +}) { + const line = (0, _detectNewline().default)(comments) || _os().EOL; + + const head = '/**'; + const start = ' *'; + const tail = ' */'; + const keys = Object.keys(pragmas); + const printedObject = keys.map(key => printKeyValues(key, pragmas[key])).reduce((arr, next) => arr.concat(next), []).map(keyValue => start + ' ' + keyValue + line).join(''); + + if (!comments) { + if (keys.length === 0) { + return ''; + } + + if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) { + const value = pragmas[keys[0]]; + return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`; + } + } + + const printedComments = comments.split(line).map(textLine => `${start} ${textLine}`).join(line) + line; + return head + line + (comments ? printedComments : '') + (comments && keys.length ? start + line : '') + printedObject + tail; +} + +function printKeyValues(key, valueOrArray) { + return STRING_ARRAY.concat(valueOrArray).map(value => `@${key} ${value}`.trim()); +} + +var build = /*#__PURE__*/Object.defineProperty({ + extract: extract_1, + strip: strip_1, + parse: parse_1$1, + parseWithComments: parseWithComments_1, + print: print_1$1 +}, '__esModule', { + value: true +}); + +const { + parseWithComments, + strip, + extract, + print: print$2 +} = build; +const { + getShebang +} = util$5; +const { + normalizeEndOfLine +} = endOfLine; + +function parseDocBlock(text) { + const shebang = getShebang(text); + + if (shebang) { + text = text.slice(shebang.length + 1); + } + + const docBlock = extract(text); + const { + pragmas, + comments + } = parseWithComments(docBlock); + return { + shebang, + text, + pragmas, + comments + }; +} + +function hasPragma$4(text) { + const pragmas = Object.keys(parseDocBlock(text).pragmas); + return pragmas.includes("prettier") || pragmas.includes("format"); +} + +function insertPragma$a(originalText) { + const { + shebang, + text, + pragmas, + comments + } = parseDocBlock(originalText); + const strippedText = strip(text); + const docBlock = print$2({ + pragmas: Object.assign({ + format: "" + }, pragmas), + comments: comments.trimStart() + }); + return (shebang ? `${shebang}\n` : "") + // normalise newlines (mitigate use of os.EOL by jest-docblock) + normalizeEndOfLine(docBlock) + (strippedText.startsWith("\n") ? "\n" : "\n\n") + strippedText; +} + +var pragma$5 = { + hasPragma: hasPragma$4, + insertPragma: insertPragma$a +}; + +const { + getLast: getLast$c, + hasNewline: hasNewline$6, + getNextNonSpaceNonCommentCharacterIndexWithStartIndex, + getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$1, + hasNewlineInRange: hasNewlineInRange$3, + addLeadingComment, + addTrailingComment, + addDanglingComment, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$2, + isNonEmptyArray: isNonEmptyArray$f +} = util$5; +const { + isBlockComment: isBlockComment$3, + getFunctionParameters: getFunctionParameters$5, + isPrettierIgnoreComment, + isJsxNode: isJsxNode$6, + hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$2, + hasFlowAnnotationComment: hasFlowAnnotationComment$1, + hasIgnoreComment: hasIgnoreComment$1, + isCallLikeExpression: isCallLikeExpression$1, + getCallArguments: getCallArguments$4, + isCallExpression: isCallExpression$c, + isMemberExpression: isMemberExpression$8, + isObjectProperty: isObjectProperty$4 +} = utils$5; +const { + locStart: locStart$n, + locEnd: locEnd$m +} = loc$6; +/** + * @typedef {import("./types/estree").Node} Node + * @typedef {import("./types/estree").Comment} Comment + * @typedef {import("../common/ast-path")} AstPath + * + * @typedef {Object} CommentContext + * @property {Comment} comment + * @property {Node} precedingNode + * @property {Node} enclosingNode + * @property {Node} followingNode + * @property {string} text + * @property {any} options + * @property {Node} ast + * @property {boolean} isLastComment + */ + +/** + * @param {CommentContext} context + * @returns {boolean} + */ + +function handleOwnLineComment(context) { + return [handleIgnoreComments, handleLastFunctionArgComments, handleMemberExpressionComments, handleIfStatementComments, handleWhileComments, handleTryStatementComments, handleClassComments, handleImportSpecifierComments, handleForComments, handleUnionTypeComments, handleOnlyComments, handleImportDeclarationComments, handleAssignmentPatternComments, handleMethodNameComments, handleLabeledStatementComments].some(fn => fn(context)); +} +/** + * @param {CommentContext} context + * @returns {boolean} + */ + + +function handleEndOfLineComment(context) { + return [handleClosureTypeCastComments, handleLastFunctionArgComments, handleConditionalExpressionComments, handleImportSpecifierComments, handleIfStatementComments, handleWhileComments, handleTryStatementComments, handleClassComments, handleLabeledStatementComments, handleCallExpressionComments, handlePropertyComments, handleOnlyComments, handleTypeAliasComments, handleVariableDeclaratorComments].some(fn => fn(context)); +} +/** + * @param {CommentContext} context + * @returns {boolean} + */ + + +function handleRemainingComment(context) { + return [handleIgnoreComments, handleIfStatementComments, handleWhileComments, handleObjectPropertyAssignment, handleCommentInEmptyParens, handleMethodNameComments, handleOnlyComments, handleCommentAfterArrowParams, handleFunctionNameComments, handleTSMappedTypeComments, handleBreakAndContinueStatementComments, handleTSFunctionTrailingComments].some(fn => fn(context)); +} +/** + * @param {Node} node + * @returns {void} + */ + + +function addBlockStatementFirstComment(node, comment) { + // @ts-ignore + const firstNonEmptyNode = (node.body || node.properties).find(({ + type + }) => type !== "EmptyStatement"); + + if (firstNonEmptyNode) { + addLeadingComment(firstNonEmptyNode, comment); + } else { + addDanglingComment(node, comment); + } +} +/** + * @param {Node} node + * @returns {void} + */ + + +function addBlockOrNotComment(node, comment) { + if (node.type === "BlockStatement") { + addBlockStatementFirstComment(node, comment); + } else { + addLeadingComment(node, comment); + } +} + +function handleClosureTypeCastComments({ + comment, + followingNode +}) { + if (followingNode && isTypeCastComment(comment)) { + addLeadingComment(followingNode, comment); + return true; + } + + return false; +} // There are often comments before the else clause of if statements like +// +// if (1) { ... } +// // comment +// else { ... } +// +// They are being attached as leading comments of the BlockExpression which +// is not well printed. What we want is to instead move the comment inside +// of the block and make it leadingComment of the first element of the block +// or dangling comment of the block if there is nothing inside +// +// if (1) { ... } +// else { +// // comment +// ... +// } + + +function handleIfStatementComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (!enclosingNode || enclosingNode.type !== "IfStatement" || !followingNode) { + return false; + } // We unfortunately have no way using the AST or location of nodes to know + // if the comment is positioned before the condition parenthesis: + // if (a /* comment */) {} + // The only workaround I found is to look at the next character to see if + // it is a ). + + + const nextCharacter = getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m); + + if (nextCharacter === ")") { + addTrailingComment(precedingNode, comment); + return true; + } // Comments before `else`: + // - treat as trailing comments of the consequent, if it's a BlockStatement + // - treat as a dangling comment otherwise + + + if (precedingNode === enclosingNode.consequent && followingNode === enclosingNode.alternate) { + if (precedingNode.type === "BlockStatement") { + addTrailingComment(precedingNode, comment); + } else { + addDanglingComment(enclosingNode, comment); + } + + return true; + } + + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + + if (followingNode.type === "IfStatement") { + addBlockOrNotComment(followingNode.consequent, comment); + return true; + } // For comments positioned after the condition parenthesis in an if statement + // before the consequent without brackets on, such as + // if (a) /* comment */ true, + // we look at the next character to see if the following node + // is the consequent for the if statement + + + if (enclosingNode.consequent === followingNode) { + addLeadingComment(followingNode, comment); + return true; + } + + return false; +} + +function handleWhileComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + if (!enclosingNode || enclosingNode.type !== "WhileStatement" || !followingNode) { + return false; + } // We unfortunately have no way using the AST or location of nodes to know + // if the comment is positioned before the condition parenthesis: + // while (a /* comment */) {} + // The only workaround I found is to look at the next character to see if + // it is a ). + + + const nextCharacter = getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m); + + if (nextCharacter === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + + if (enclosingNode.body === followingNode) { + addLeadingComment(followingNode, comment); + return true; + } + + return false; +} // Same as IfStatement but for TryStatement + + +function handleTryStatementComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (!enclosingNode || enclosingNode.type !== "TryStatement" && enclosingNode.type !== "CatchClause" || !followingNode) { + return false; + } + + if (enclosingNode.type === "CatchClause" && precedingNode) { + addTrailingComment(precedingNode, comment); + return true; + } + + if (followingNode.type === "BlockStatement") { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + + if (followingNode.type === "TryStatement") { + addBlockOrNotComment(followingNode.finalizer, comment); + return true; + } + + if (followingNode.type === "CatchClause") { + addBlockOrNotComment(followingNode.body, comment); + return true; + } + + return false; +} + +function handleMemberExpressionComments({ + comment, + enclosingNode, + followingNode +}) { + if (isMemberExpression$8(enclosingNode) && followingNode && followingNode.type === "Identifier") { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleConditionalExpressionComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + const isSameLineAsPrecedingNode = precedingNode && !hasNewlineInRange$3(text, locEnd$m(precedingNode), locStart$n(comment)); + + if ((!precedingNode || !isSameLineAsPrecedingNode) && enclosingNode && (enclosingNode.type === "ConditionalExpression" || enclosingNode.type === "TSConditionalType") && followingNode) { + addLeadingComment(followingNode, comment); + return true; + } + + return false; +} + +function handleObjectPropertyAssignment({ + comment, + precedingNode, + enclosingNode +}) { + if (isObjectProperty$4(enclosingNode) && enclosingNode.shorthand && enclosingNode.key === precedingNode && enclosingNode.value.type === "AssignmentPattern") { + addTrailingComment(enclosingNode.value.left, comment); + return true; + } + + return false; +} + +function handleClassComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (enclosingNode && (enclosingNode.type === "ClassDeclaration" || enclosingNode.type === "ClassExpression" || enclosingNode.type === "DeclareClass" || enclosingNode.type === "DeclareInterface" || enclosingNode.type === "InterfaceDeclaration" || enclosingNode.type === "TSInterfaceDeclaration")) { + if (isNonEmptyArray$f(enclosingNode.decorators) && !(followingNode && followingNode.type === "Decorator")) { + addTrailingComment(getLast$c(enclosingNode.decorators), comment); + return true; + } + + if (enclosingNode.body && followingNode === enclosingNode.body) { + addBlockStatementFirstComment(enclosingNode.body, comment); + return true; + } // Don't add leading comments to `implements`, `extends`, `mixins` to + // avoid printing the comment after the keyword. + + + if (followingNode) { + for (const prop of ["implements", "extends", "mixins"]) { + if (enclosingNode[prop] && followingNode === enclosingNode[prop][0]) { + if (precedingNode && (precedingNode === enclosingNode.id || precedingNode === enclosingNode.typeParameters || precedingNode === enclosingNode.superClass)) { + addTrailingComment(precedingNode, comment); + } else { + addDanglingComment(enclosingNode, comment, prop); + } + + return true; + } + } + } + } + + return false; +} + +function handleMethodNameComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + // This is only needed for estree parsers (flow, typescript) to attach + // after a method name: + // obj = { fn /*comment*/() {} }; + if (enclosingNode && precedingNode && ( // "MethodDefinition" is handled in getCommentChildNodes + enclosingNode.type === "Property" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "TSAbstractMethodDefinition") && precedingNode.type === "Identifier" && enclosingNode.key === precedingNode && // special Property case: { key: /*comment*/(value) }; + // comment should be attached to value instead of key + getNextNonSpaceNonCommentCharacter$1(text, precedingNode, locEnd$m) !== ":") { + addTrailingComment(precedingNode, comment); + return true; + } // Print comments between decorators and class methods as a trailing comment + // on the decorator node instead of the method node + + + if (precedingNode && enclosingNode && precedingNode.type === "Decorator" && (enclosingNode.type === "ClassMethod" || enclosingNode.type === "ClassProperty" || enclosingNode.type === "PropertyDefinition" || enclosingNode.type === "TSAbstractClassProperty" || enclosingNode.type === "TSAbstractMethodDefinition" || enclosingNode.type === "TSDeclareMethod" || enclosingNode.type === "MethodDefinition")) { + addTrailingComment(precedingNode, comment); + return true; + } + + return false; +} + +function handleFunctionNameComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + if (getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m) !== "(") { + return false; + } + + if (precedingNode && enclosingNode && (enclosingNode.type === "FunctionDeclaration" || enclosingNode.type === "FunctionExpression" || enclosingNode.type === "ClassMethod" || enclosingNode.type === "MethodDefinition" || enclosingNode.type === "ObjectMethod")) { + addTrailingComment(precedingNode, comment); + return true; + } + + return false; +} + +function handleCommentAfterArrowParams({ + comment, + enclosingNode, + text +}) { + if (!(enclosingNode && enclosingNode.type === "ArrowFunctionExpression")) { + return false; + } + + const index = getNextNonSpaceNonCommentCharacterIndex$2(text, comment, locEnd$m); + + if (index !== false && text.slice(index, index + 2) === "=>") { + addDanglingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleCommentInEmptyParens({ + comment, + enclosingNode, + text +}) { + if (getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m) !== ")") { + return false; + } // Only add dangling comments to fix the case when no params are present, + // i.e. a function without any argument. + + + if (enclosingNode && (isRealFunctionLikeNode(enclosingNode) && getFunctionParameters$5(enclosingNode).length === 0 || isCallLikeExpression$1(enclosingNode) && getCallArguments$4(enclosingNode).length === 0)) { + addDanglingComment(enclosingNode, comment); + return true; + } + + if (enclosingNode && (enclosingNode.type === "MethodDefinition" || enclosingNode.type === "TSAbstractMethodDefinition") && getFunctionParameters$5(enclosingNode.value).length === 0) { + addDanglingComment(enclosingNode.value, comment); + return true; + } + + return false; +} + +function handleLastFunctionArgComments({ + comment, + precedingNode, + enclosingNode, + followingNode, + text +}) { + // Flow function type definitions + if (precedingNode && precedingNode.type === "FunctionTypeParam" && enclosingNode && enclosingNode.type === "FunctionTypeAnnotation" && followingNode && followingNode.type !== "FunctionTypeParam") { + addTrailingComment(precedingNode, comment); + return true; + } // Real functions and TypeScript function type definitions + + + if (precedingNode && (precedingNode.type === "Identifier" || precedingNode.type === "AssignmentPattern") && enclosingNode && isRealFunctionLikeNode(enclosingNode) && getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m) === ")") { + addTrailingComment(precedingNode, comment); + return true; + } + + if (enclosingNode && enclosingNode.type === "FunctionDeclaration" && followingNode && followingNode.type === "BlockStatement") { + const functionParamRightParenIndex = (() => { + const parameters = getFunctionParameters$5(enclosingNode); + + if (parameters.length > 0) { + return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd$m(getLast$c(parameters))); + } + + const functionParamLeftParenIndex = getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd$m(enclosingNode.id)); + return functionParamLeftParenIndex !== false && getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, functionParamLeftParenIndex + 1); + })(); + + if (locStart$n(comment) > functionParamRightParenIndex) { + addBlockStatementFirstComment(followingNode, comment); + return true; + } + } + + return false; +} + +function handleImportSpecifierComments({ + comment, + enclosingNode +}) { + if (enclosingNode && enclosingNode.type === "ImportSpecifier") { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleLabeledStatementComments({ + comment, + enclosingNode +}) { + if (enclosingNode && enclosingNode.type === "LabeledStatement") { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleBreakAndContinueStatementComments({ + comment, + enclosingNode +}) { + if (enclosingNode && (enclosingNode.type === "ContinueStatement" || enclosingNode.type === "BreakStatement") && !enclosingNode.label) { + addTrailingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleCallExpressionComments({ + comment, + precedingNode, + enclosingNode +}) { + if (isCallExpression$c(enclosingNode) && precedingNode && enclosingNode.callee === precedingNode && enclosingNode.arguments.length > 0) { + addLeadingComment(enclosingNode.arguments[0], comment); + return true; + } + + return false; +} + +function handleUnionTypeComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (enclosingNode && (enclosingNode.type === "UnionTypeAnnotation" || enclosingNode.type === "TSUnionType")) { + if (isPrettierIgnoreComment(comment)) { + followingNode.prettierIgnore = true; + comment.unignore = true; + } + + if (precedingNode) { + addTrailingComment(precedingNode, comment); + return true; + } + + return false; + } + + if (followingNode && (followingNode.type === "UnionTypeAnnotation" || followingNode.type === "TSUnionType") && isPrettierIgnoreComment(comment)) { + followingNode.types[0].prettierIgnore = true; + comment.unignore = true; + } + + return false; +} + +function handlePropertyComments({ + comment, + enclosingNode +}) { + if (isObjectProperty$4(enclosingNode)) { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleOnlyComments({ + comment, + enclosingNode, + followingNode, + ast, + isLastComment +}) { + // With Flow the enclosingNode is undefined so use the AST instead. + if (ast && ast.body && ast.body.length === 0) { + if (isLastComment) { + addDanglingComment(ast, comment); + } else { + addLeadingComment(ast, comment); + } + + return true; + } + + if (enclosingNode && enclosingNode.type === "Program" && enclosingNode.body.length === 0 && !isNonEmptyArray$f(enclosingNode.directives)) { + if (isLastComment) { + addDanglingComment(enclosingNode, comment); + } else { + addLeadingComment(enclosingNode, comment); + } + + return true; + } + + if (followingNode && followingNode.type === "Program" && followingNode.body.length === 0 && enclosingNode && enclosingNode.type === "ModuleExpression") { + addDanglingComment(followingNode, comment); + return true; + } + + return false; +} + +function handleForComments({ + comment, + enclosingNode +}) { + if (enclosingNode && (enclosingNode.type === "ForInStatement" || enclosingNode.type === "ForOfStatement")) { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleImportDeclarationComments({ + comment, + precedingNode, + enclosingNode, + text +}) { + if (precedingNode && precedingNode.type === "ImportSpecifier" && enclosingNode && enclosingNode.type === "ImportDeclaration" && hasNewline$6(text, locEnd$m(comment))) { + addTrailingComment(precedingNode, comment); + return true; + } + + return false; +} + +function handleAssignmentPatternComments({ + comment, + enclosingNode +}) { + if (enclosingNode && enclosingNode.type === "AssignmentPattern") { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleTypeAliasComments({ + comment, + enclosingNode +}) { + if (enclosingNode && enclosingNode.type === "TypeAlias") { + addLeadingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleVariableDeclaratorComments({ + comment, + enclosingNode, + followingNode +}) { + if (enclosingNode && (enclosingNode.type === "VariableDeclarator" || enclosingNode.type === "AssignmentExpression") && followingNode && (followingNode.type === "ObjectExpression" || followingNode.type === "ArrayExpression" || followingNode.type === "TemplateLiteral" || followingNode.type === "TaggedTemplateExpression" || isBlockComment$3(comment))) { + addLeadingComment(followingNode, comment); + return true; + } + + return false; +} + +function handleTSFunctionTrailingComments({ + comment, + enclosingNode, + followingNode, + text +}) { + if (!followingNode && enclosingNode && (enclosingNode.type === "TSMethodSignature" || enclosingNode.type === "TSDeclareFunction" || enclosingNode.type === "TSAbstractMethodDefinition") && getNextNonSpaceNonCommentCharacter$1(text, comment, locEnd$m) === ";") { + addTrailingComment(enclosingNode, comment); + return true; + } + + return false; +} + +function handleIgnoreComments({ + comment, + enclosingNode, + followingNode +}) { + if (isPrettierIgnoreComment(comment) && enclosingNode && enclosingNode.type === "TSMappedType" && followingNode && followingNode.type === "TSTypeParameter" && followingNode.constraint) { + enclosingNode.prettierIgnore = true; + comment.unignore = true; + return true; + } +} + +function handleTSMappedTypeComments({ + comment, + precedingNode, + enclosingNode, + followingNode +}) { + if (!enclosingNode || enclosingNode.type !== "TSMappedType") { + return false; + } + + if (followingNode && followingNode.type === "TSTypeParameter" && followingNode.name) { + addLeadingComment(followingNode.name, comment); + return true; + } + + if (precedingNode && precedingNode.type === "TSTypeParameter" && precedingNode.constraint) { + addTrailingComment(precedingNode.constraint, comment); + return true; + } + + return false; +} +/** + * @param {Node} node + * @returns {boolean} + */ + + +function isRealFunctionLikeNode(node) { + return node.type === "ArrowFunctionExpression" || node.type === "FunctionExpression" || node.type === "FunctionDeclaration" || node.type === "ObjectMethod" || node.type === "ClassMethod" || node.type === "TSDeclareFunction" || node.type === "TSCallSignatureDeclaration" || node.type === "TSConstructSignatureDeclaration" || node.type === "TSMethodSignature" || node.type === "TSConstructorType" || node.type === "TSFunctionType" || node.type === "TSDeclareMethod"; +} +/** + * @param {any} node + * @returns {Node[] | void} + */ + + +function getCommentChildNodes(node, options) { + // Prevent attaching comments to FunctionExpression in this case: + // class Foo { + // bar() // comment + // { + // baz(); + // } + // } + if ((options.parser === "typescript" || options.parser === "flow" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree") && node.type === "MethodDefinition" && node.value && node.value.type === "FunctionExpression" && getFunctionParameters$5(node.value).length === 0 && !node.value.returnType && !isNonEmptyArray$f(node.value.typeParameters) && node.value.body) { + return [...(node.decorators || []), node.key, node.value.body]; + } +} +/** + * @param {Comment} comment + * @returns {boolean} + */ + + +function isTypeCastComment(comment) { + return isBlockComment$3(comment) && comment.value[0] === "*" && // TypeScript expects the type to be enclosed in curly brackets, however + // Closure Compiler accepts types in parens and even without any delimiters at all. + // That's why we just search for "@type". + /@type\b/.test(comment.value); +} +/** + * @param {AstPath} path + * @returns {boolean} + */ + + +function willPrintOwnComments$1(path +/*, options */ +) { + const node = path.getValue(); + const parent = path.getParentNode(); + return (node && (isJsxNode$6(node) || hasFlowShorthandAnnotationComment$2(node) || isCallExpression$c(parent) && (hasFlowAnnotationComment$1(node.leadingComments) || hasFlowAnnotationComment$1(node.trailingComments))) || parent && (parent.type === "JSXSpreadAttribute" || parent.type === "JSXSpreadChild" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || (parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node)) && (!hasIgnoreComment$1(path) || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType"); +} + +var comments = { + handleOwnLineComment, + handleEndOfLineComment, + handleRemainingComment, + isTypeCastComment, + getCommentChildNodes, + willPrintOwnComments: willPrintOwnComments$1 +}; + +const { + getFunctionParameters: getFunctionParameters$4, getLeftSidePathName: getLeftSidePathName$1, hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$1, - hasNakedLeftSide: hasNakedLeftSide$1, + hasNakedLeftSide: hasNakedLeftSide$2, hasNode: hasNode$1, - isBitwiseOperator: isBitwiseOperator$1, + isBitwiseOperator, startsWithNoLookaheadToken: startsWithNoLookaheadToken$1, shouldFlatten: shouldFlatten$1, - getPrecedence: getPrecedence$1 -} = utils$6; + getPrecedence, + isCallExpression: isCallExpression$b, + isMemberExpression: isMemberExpression$7, + isObjectProperty: isObjectProperty$3 +} = utils$5; function needsParens(path, options) { const parent = path.getParentNode(); @@ -40302,14 +41850,7 @@ function needsParens(path, options) { } const name = path.getName(); - const node = path.getNode(); // If the value of this path is some child of a Node and not a Node - // itself, then it doesn't need parentheses. Only Node objects (in - // fact, only Expression nodes) need parentheses. - - if (path.getValue() !== node) { - return false; - } // to avoid unexpected `}}` in HTML interpolations - + const node = path.getNode(); // to avoid unexpected `}}` in HTML interpolations if (options.__isInHtmlInterpolation && !options.bracketSpacing && endsWithRightBracket(node) && isFollowedByRightBracket(path)) { return true; @@ -40336,80 +41877,108 @@ function needsParens(path, options) { // f((a + b) / 2) vs f(a + b / 2) if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(node.name)) { return true; + } // `for (async of []);` is invalid + + + if (name === "left" && node.name === "async" && parent.type === "ForOfStatement" && !parent.await) { + return true; } return false; } - if (parent.type === "ParenthesizedExpression") { - return false; - } // Add parens around the extends clause of a class. It is needed for almost - // all expressions. + switch (parent.type) { + case "ParenthesizedExpression": + return false; + case "ClassDeclaration": + case "ClassExpression": + { + // Add parens around the extends clause of a class. It is needed for almost + // all expressions. + if (name === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression" || node.type === "TSNonNullExpression")) { + return true; + } - if ((parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression")) { - return true; - } + break; + } - if (parent.type === "ExportDefaultDeclaration") { - return (// `export default function` or `export default class` can't be followed by - // anything after. So an expression like `export default (function(){}).toString()` - // needs to be followed by a parentheses - shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses - node.type === "SequenceExpression" - ); - } + case "ExportDefaultDeclaration": + { + return (// `export default function` or `export default class` can't be followed by + // anything after. So an expression like `export default (function(){}).toString()` + // needs to be followed by a parentheses + shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses + node.type === "SequenceExpression" + ); + } - if (parent.type === "Decorator" && parent.expression === node) { - let hasCallExpression = false; - let hasMemberExpression = false; - let current = node; + case "Decorator": + { + if (name === "expression") { + let hasCallExpression = false; + let hasMemberExpression = false; + let current = node; - while (current) { - switch (current.type) { - case "MemberExpression": - hasMemberExpression = true; - current = current.object; - break; + while (current) { + switch (current.type) { + case "MemberExpression": + hasMemberExpression = true; + current = current.object; + break; - case "CallExpression": - if ( - /** @(x().y) */ - hasMemberExpression || - /** @(x().y()) */ - hasCallExpression) { - return true; + case "CallExpression": + if ( + /** @(x().y) */ + hasMemberExpression || + /** @(x().y()) */ + hasCallExpression) { + return true; + } + + hasCallExpression = true; + current = current.callee; + break; + + case "Identifier": + return false; + + default: + return true; + } } - hasCallExpression = true; - current = current.callee; - break; - - case "Identifier": - return false; - - default: return true; + } + + break; } - } - return true; - } + case "ExpressionStatement": + { + if (startsWithNoLookaheadToken$1(node, + /* forbidFunctionClassAndDoExpr */ + true)) { + return true; + } - if (parent.type === "ArrowFunctionExpression" && parent.body === node && node.type !== "SequenceExpression" && // these have parens added anyway - startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - false) || parent.type === "ExpressionStatement" && startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - true)) { - return true; + break; + } + + case "ArrowFunctionExpression": + { + if (name === "body" && node.type !== "SequenceExpression" && // these have parens added anyway + startsWithNoLookaheadToken$1(node, + /* forbidFunctionClassAndDoExpr */ + false)) { + return true; + } + + break; + } } switch (node.type) { - case "SpreadElement": - case "SpreadProperty": - return parent.type === "MemberExpression" && name === "object" && parent.object === node; - case "UpdateExpression": if (parent.type === "UnaryExpression") { return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); @@ -40438,7 +42007,7 @@ function needsParens(path, options) { return name === "callee"; case "BinaryExpression": - return parent.operator === "**" && name === "left"; + return name === "left" && parent.operator === "**"; case "TSNonNullExpression": return true; @@ -40451,29 +42020,11 @@ function needsParens(path, options) { { if (parent.type === "UpdateExpression" || parent.type === "PipelineTopicExpression" && node.operator === "|>") { return true; - } + } // We add parentheses to any `a in b` inside `ForStatement` initializer + // https://github.com/prettier/prettier/issues/907#issuecomment-284304321 - const isLeftOfAForStatement = node => { - let i = 0; - while (node) { - const parent = path.getParentNode(i++); - - if (!parent) { - return false; - } - - if (parent.type === "ForStatement" && parent.init === node) { - return true; - } - - node = parent; - } - - return false; - }; - - if (node.operator === "in" && isLeftOfAForStatement(node)) { + if (node.operator === "in" && isPathInForStatementInitializer(path)) { return true; } @@ -40491,6 +42042,10 @@ function needsParens(path, options) { case "TSAsExpression": case "LogicalExpression": switch (parent.type) { + case "TSAsExpression": + // example: foo as unknown as Bar + return node.type !== "TSAsExpression"; + case "ConditionalExpression": return node.type === "TSAsExpression"; @@ -40501,7 +42056,7 @@ function needsParens(path, options) { case "ClassExpression": case "ClassDeclaration": - return name === "superClass" && parent.superClass === node; + return name === "superClass"; case "TSTypeAssertion": case "TaggedTemplateExpression": @@ -40511,7 +42066,6 @@ function needsParens(path, options) { case "SpreadProperty": case "BindExpression": case "AwaitExpression": - case "TSAsExpression": case "TSNonNullExpression": case "UpdateExpression": return true; @@ -40521,7 +42075,8 @@ function needsParens(path, options) { return name === "object"; case "AssignmentExpression": - return parent.left === node && (node.type === "TSTypeAssertion" || node.type === "TSAsExpression"); + case "AssignmentPattern": + return name === "left" && (node.type === "TSTypeAssertion" || node.type === "TSAsExpression"); case "LogicalExpression": if (node.type === "LogicalExpression") { @@ -40532,35 +42087,38 @@ function needsParens(path, options) { case "BinaryExpression": { - if (!node.operator && node.type !== "TSTypeAssertion") { + const { + operator, + type + } = node; + + if (!operator && type !== "TSTypeAssertion") { return true; } - const po = parent.operator; - const pp = getPrecedence$1(po); - const no = node.operator; - const np = getPrecedence$1(no); + const precedence = getPrecedence(operator); + const parentOperator = parent.operator; + const parentPrecedence = getPrecedence(parentOperator); - if (pp > np) { + if (parentPrecedence > precedence) { return true; } - if (pp === np && name === "right") { - assert__default['default'].strictEqual(parent.right, node); + if (name === "right" && parentPrecedence === precedence) { return true; } - if (pp === np && !shouldFlatten$1(po, no)) { + if (parentPrecedence === precedence && !shouldFlatten$1(parentOperator, operator)) { return true; } - if (pp < np && no === "%") { - return po === "+" || po === "-"; + if (parentPrecedence < precedence && operator === "%") { + return parentOperator === "+" || parentOperator === "-"; } // Add parenthesis when working with bitwise operators // It's not strictly needed but helps with code understanding - if (isBitwiseOperator$1(po)) { + if (isBitwiseOperator(parentOperator)) { return true; } @@ -40602,6 +42160,10 @@ function needsParens(path, options) { return true; } + if (name === "expression" && node.argument && node.argument.type === "PipelinePrimaryTopicReference" && parent.type === "PipelineTopicExpression") { + return true; + } + // else fallthrough case "AwaitExpression": @@ -40626,7 +42188,7 @@ function needsParens(path, options) { return name === "callee"; case "ConditionalExpression": - return parent.test === node; + return name === "test"; case "BinaryExpression": { @@ -40641,9 +42203,8 @@ function needsParens(path, options) { return false; } - case "TSJSDocFunctionType": case "TSConditionalType": - if (parent.type === "TSConditionalType" && node === parent.extendsType) { + if (name === "extendsType" && parent.type === "TSConditionalType") { return true; } @@ -40651,7 +42212,7 @@ function needsParens(path, options) { case "TSFunctionType": case "TSConstructorType": - if (parent.type === "TSConditionalType" && node === parent.checkType) { + if (name === "checkType" && parent.type === "TSConditionalType") { return true; } @@ -40659,7 +42220,7 @@ function needsParens(path, options) { case "TSUnionType": case "TSIntersectionType": - if (parent.type === "TSUnionType" || parent.type === "TSIntersectionType") { + if ((parent.type === "TSUnionType" || parent.type === "TSIntersectionType") && parent.types.length > 1 && (!node.types || node.types.length > 1)) { return true; } @@ -40673,28 +42234,34 @@ function needsParens(path, options) { // fallthrough case "TSTypeOperator": - return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || parent.type === "TSIndexedAccessType" && node === parent.objectType || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && /^TSJSDoc/.test(path.getParentNode(1).type); + return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || name === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && /^TSJSDoc/.test(path.getParentNode(1).type); case "ArrayTypeAnnotation": return parent.type === "NullableTypeAnnotation"; case "IntersectionTypeAnnotation": case "UnionTypeAnnotation": - return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation"; + return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); case "NullableTypeAnnotation": - return parent.type === "ArrayTypeAnnotation"; + return parent.type === "ArrayTypeAnnotation" || name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); case "FunctionTypeAnnotation": { const ancestor = parent.type === "NullableTypeAnnotation" ? path.getParentNode(1) : parent; - return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || // We should check ancestor's parent to know whether the parentheses + return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || name === "objectType" && (ancestor.type === "IndexedAccessType" || ancestor.type === "OptionalIndexedAccessType") || // We should check ancestor's parent to know whether the parentheses // are really needed, but since ??T doesn't make sense this check // will almost never be true. ancestor.type === "NullableTypeAnnotation" || // See #5283 - parent.type === "FunctionTypeParam" && parent.name === null && node.params && node.params.some(param => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); + parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters$4(node).some(param => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); } + case "OptionalIndexedAccessType": + return name === "objectType" && parent.type === "IndexedAccessType"; + + case "TypeofTypeAnnotation": + return name === "objectType" && (parent.type === "IndexedAccessType" || parent.type === "OptionalIndexedAccessType"); + case "StringLiteral": case "NumericLiteral": case "Literal": @@ -40704,31 +42271,45 @@ function needsParens(path, options) { return grandParent.type === "Program" || grandParent.type === "BlockStatement"; } - return parent.type === "MemberExpression" && typeof node.value === "number" && name === "object" && parent.object === node; + return name === "object" && parent.type === "MemberExpression" && typeof node.value === "number"; case "AssignmentExpression": { const grandParent = path.getParentNode(1); - if (parent.type === "ArrowFunctionExpression" && parent.body === node) { + if (name === "body" && parent.type === "ArrowFunctionExpression") { return true; - } else if (parent.type === "ClassProperty" && parent.key === node && parent.computed) { + } + + if (name === "key" && (parent.type === "ClassProperty" || parent.type === "PropertyDefinition") && parent.computed) { return false; - } else if (parent.type === "TSPropertySignature" && parent.name === node) { + } + + if ((name === "init" || name === "update") && parent.type === "ForStatement") { return false; - } else if (parent.type === "ForStatement" && (parent.init === node || parent.update === node)) { - return false; - } else if (parent.type === "ExpressionStatement") { + } + + if (parent.type === "ExpressionStatement") { return node.left.type === "ObjectPattern"; - } else if (parent.type === "TSPropertySignature" && parent.key === node) { + } + + if (name === "key" && parent.type === "TSPropertySignature") { return false; - } else if (parent.type === "AssignmentExpression") { + } + + if (parent.type === "AssignmentExpression") { return false; - } else if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { + } + + if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { return false; - } else if (parent.type === "Property" && parent.value === node) { + } + + if (name === "value" && parent.type === "Property" && grandParent && grandParent.type === "ObjectPattern" && grandParent.properties.includes(parent)) { return false; - } else if (parent.type === "NGChainedExpression") { + } + + if (parent.type === "NGChainedExpression") { return false; } @@ -40759,7 +42340,7 @@ function needsParens(path, options) { return name === "callee"; case "ConditionalExpression": - return name === "test" && parent.test === node; + return name === "test"; case "MemberExpression": case "OptionalMemberExpression": @@ -40789,7 +42370,7 @@ function needsParens(path, options) { case "ArrowFunctionExpression": switch (parent.type) { case "PipelineTopicExpression": - return !!(node.extra && node.extra.parenthesized); + return Boolean(node.extra && node.extra.parenthesized); case "BinaryExpression": return parent.operator !== "|>" || node.extra && node.extra.parenthesized; @@ -40804,6 +42385,7 @@ function needsParens(path, options) { return name === "object"; case "TSAsExpression": + case "TSNonNullExpression": case "BindExpression": case "TaggedTemplateExpression": case "UnaryExpression": @@ -40822,7 +42404,7 @@ function needsParens(path, options) { case "ClassExpression": switch (parent.type) { case "NewExpression": - return name === "callee" && parent.callee === node; + return name === "callee"; default: return false; @@ -40833,7 +42415,7 @@ function needsParens(path, options) { { const parentParent = path.getParentNode(1); - if (parent.type === "MemberExpression" && name === "object" || (parent.type === "CallExpression" || parent.type === "NewExpression") && name === "callee" || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { + if (name === "object" && parent.type === "MemberExpression" || name === "callee" && (parent.type === "CallExpression" || parent.type === "NewExpression") || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { return true; } } @@ -40843,7 +42425,7 @@ function needsParens(path, options) { case "MemberExpression": case "TaggedTemplateExpression": case "TSNonNullExpression": - if ((parent.type === "BindExpression" || parent.type === "NewExpression") && name === "callee") { + if (name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { let object = node; while (object) { @@ -40877,11 +42459,11 @@ function needsParens(path, options) { return false; case "BindExpression": - return (parent.type === "BindExpression" || parent.type === "NewExpression") && name === "callee" || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && name === "object"; + return name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || name === "object" && isMemberExpression$7(parent); case "NGPipeExpression": if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && // Preserve parens for compatibility with AngularJS expressions - !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || (parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.arguments[name] === node || parent.type === "NGPipeExpression" && name === "right" || parent.type === "MemberExpression" && name === "property" || parent.type === "AssignmentExpression") { + !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || isCallExpression$b(parent) && parent.arguments[name] === node || name === "right" && parent.type === "NGPipeExpression" || name === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { return false; } @@ -40889,7 +42471,7 @@ function needsParens(path, options) { case "JSXFragment": case "JSXElement": - return name === "callee" || parent.type === "BinaryExpression" && parent.operator === "<" && name === "left" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && parent.type !== "ObjectProperty" && parent.type !== "OptionalCallExpression" && parent.type !== "Property" && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator"; + return name === "callee" || name === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && !isCallExpression$b(parent) && !isObjectProperty$3(parent) && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression"; case "TypeAnnotation": return name === "returnType" && parent.type === "ArrowFunctionExpression" && includesFunctionTypeInObjectType(node); @@ -40899,7 +42481,24 @@ function needsParens(path, options) { } function isStatement(node) { - return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; + return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "PropertyDefinition" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; +} + +function isPathInForStatementInitializer(path) { + let i = 0; + let node = path.getValue(); + + while (node) { + const parent = path.getParentNode(i++); + + if (parent && parent.type === "ForStatement" && parent.init === node) { + return true; + } + + node = parent; + } + + return false; } function includesFunctionTypeInObjectType(node) { @@ -40932,7 +42531,7 @@ function isFollowedByRightBracket(path) { case "ObjectProperty": if (name === "value") { const parentParent = path.getParentNode(1); - return parentParent.properties[parentParent.properties.length - 1] === parent; + return getLast_1(parentParent.properties) === parent; } break; @@ -40974,7 +42573,7 @@ function shouldWrapFunctionForExportDefault(path, options) { !needsParens(path, options); } - if (!hasNakedLeftSide$1(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { + if (!hasNakedLeftSide$2(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { return false; } @@ -40983,15 +42582,38 @@ function shouldWrapFunctionForExportDefault(path, options) { var needsParens_1 = needsParens; +function preprocess$3(ast, options) { + switch (options.parser) { + case "json": + case "json5": + case "json-stringify": + case "__js_expression": + case "__vue_expression": + return Object.assign(Object.assign({}, ast), {}, { + type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", + node: ast, + comments: [], + rootMarker: options.rootMarker + }); + + default: + return ast; + } +} + +var printPreprocess$3 = preprocess$3; + const { builders: { - concat: concat$5, - join: join$3, - line: line$4 + join: join$r, + line: line$t, + group: group$y, + softline: softline$o, + indent: indent$s } -} = document; +} = doc; -function printHtmlBinding(path, options, print) { +function printHtmlBinding$1(path, options, print) { const node = path.getValue(); if (options.__onHtmlBindingRoot && path.getName() === null) { @@ -41004,27 +42626,33 @@ function printHtmlBinding(path, options, print) { if (options.__isVueForBindingLeft) { return path.call(functionDeclarationPath => { + const printed = join$r([",", line$t], functionDeclarationPath.map(print, "params")); const { params } = functionDeclarationPath.getValue(); - return concat$5([params.length > 1 ? "(" : "", join$3(concat$5([",", line$4]), functionDeclarationPath.map(print, "params")), params.length > 1 ? ")" : ""]); + + if (params.length === 1) { + return printed; + } + + return ["(", indent$s([softline$o, group$y(printed)]), softline$o, ")"]; }, "program", "body", 0); } - if (options.__isVueSlotScope) { - return path.call(functionDeclarationPath => join$3(concat$5([",", line$4]), functionDeclarationPath.map(print, "params")), "program", "body", 0); + if (options.__isVueBindings) { + return path.call(functionDeclarationPath => join$r([",", line$t], functionDeclarationPath.map(print, "params")), "program", "body", 0); } -} // based on https://github.com/prettier/prettier/blob/master/src/language-html/syntax-vue.js isVueEventBindingExpression() +} // based on https://github.com/prettier/prettier/blob/main/src/language-html/syntax-vue.js isVueEventBindingExpression() -function isVueEventBindingExpression(node) { +function isVueEventBindingExpression$3(node) { switch (node.type) { case "MemberExpression": switch (node.property.type) { case "Identifier": case "NumericLiteral": case "StringLiteral": - return isVueEventBindingExpression(node.object); + return isVueEventBindingExpression$3(node.object); } return false; @@ -41038,237 +42666,963 @@ function isVueEventBindingExpression(node) { } var htmlBinding = { - isVueEventBindingExpression, - printHtmlBinding + isVueEventBindingExpression: isVueEventBindingExpression$3, + printHtmlBinding: printHtmlBinding$1 }; -function preprocess(ast, options) { - switch (options.parser) { - case "json": - case "json5": - case "json-stringify": - case "__js_expression": - case "__vue_expression": - return Object.assign({}, ast, { - type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", - node: ast, - comments: [], - rootMarker: options.rootMarker - }); - - default: - return ast; - } -} - -var preprocess_1 = preprocess; - const { - getLast: getLast$3, - getPenultimate: getPenultimate$1, - isNextLineEmpty: isNextLineEmpty$2 -} = util; + printComments: printComments$5 +} = comments$1; const { - hasLeadingComment: hasLeadingComment$3, - hasTrailingComment: hasTrailingComment$1, - isFunctionCompositionArgs: isFunctionCompositionArgs$1, - isJSXNode: isJSXNode$1, - isLongCurriedCallExpression: isLongCurriedCallExpression$1, - shouldPrintComma: shouldPrintComma$1 -} = utils$6; + getLast: getLast$b +} = util$5; const { builders: { - concat: concat$6, - line: line$5, - hardline: hardline$4, - softline: softline$2, - group: group$2, - indent: indent$3, - conditionalGroup: conditionalGroup$1, - ifBreak: ifBreak$1, - breakParent: breakParent$2 + join: join$q, + line: line$s, + softline: softline$n, + group: group$x, + indent: indent$r, + align: align$4, + ifBreak: ifBreak$l, + indentIfBreak: indentIfBreak$3 }, utils: { - willBreak: willBreak$1 + cleanDoc: cleanDoc$2, + getDocParts: getDocParts$5, + isConcat: isConcat$1 } -} = document; +} = doc; +const { + hasLeadingOwnLineComment: hasLeadingOwnLineComment$3, + isBinaryish: isBinaryish$3, + isJsxNode: isJsxNode$5, + shouldFlatten, + hasComment: hasComment$g, + CommentCheckFlags: CommentCheckFlags$d, + isCallExpression: isCallExpression$a, + isMemberExpression: isMemberExpression$6, + isObjectProperty: isObjectProperty$2 +} = utils$5; +/** @typedef {import("../../document").Doc} Doc */ -function printCallArguments(path, options, print) { +let uid = 0; + +function printBinaryishExpression$2(path, options, print) { const node = path.getValue(); - const isDynamicImport = node.type === "ImportExpression"; - const args = isDynamicImport ? [node.source] : node.arguments; - - if (args.length === 0) { - return concat$6(["(", comments.printDanglingComments(path, options, - /* sameIndent */ - true), ")"]); - } // useEffect(() => { ... }, [foo, bar, baz]) - - - if (args.length === 2 && args[0].type === "ArrowFunctionExpression" && args[0].params.length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some(arg => arg.comments)) { - return concat$6(["(", path.call(print, "arguments", 0), ", ", path.call(print, "arguments", 1), ")"]); - } // func( - // ({ - // a, + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + const isInsideParenthesis = node !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); + const parts = printBinaryishExpressions(path, print, options, + /* isNested */ + false, isInsideParenthesis); // if ( + // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft + // ) { // - // b - // }) => {} - // ); + // looks super weird, we want to break the children if the parent breaks + // + // if ( + // this.hasPlugin("dynamicImports") && + // this.lookahead().type === tt.parenLeft + // ) { + + if (isInsideParenthesis) { + return parts; + } // Break between the parens in + // unaries or in a member or specific call expression, i.e. + // + // ( + // a && + // b && + // c + // ).call() - function shouldBreakForArrowFunctionInArguments(arg, argPath) { - if (!arg || arg.type !== "ArrowFunctionExpression" || !arg.body || arg.body.type !== "BlockStatement" || !arg.params || arg.params.length < 1) { - return false; - } + if (isCallExpression$a(parent) && parent.callee === node || parent.type === "UnaryExpression" || isMemberExpression$6(parent) && !parent.computed) { + return group$x([indent$r([softline$n, ...parts]), softline$n]); + } // Avoid indenting sub-expressions in some cases where the first sub-expression is already + // indented accordingly. We should indent sub-expressions where the first case isn't indented. - let shouldBreak = false; - argPath.each(paramPath => { - const printed = concat$6([print(paramPath)]); - shouldBreak = shouldBreak || willBreak$1(printed); - }, "params"); - return shouldBreak; + + const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || node.operator !== "|" && parent.type === "JsExpressionRoot" || node.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || node === parent.body && parent.type === "ArrowFunctionExpression" || node !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && !isCallExpression$a(parentParent) || parent.type === "TemplateLiteral"; + const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "PropertyDefinition" || parent.type === "TSAbstractClassProperty" || parent.type === "ClassPrivateProperty" || isObjectProperty$2(parent); + const samePrecedenceSubExpression = isBinaryish$3(node.left) && shouldFlatten(node.operator, node.left.operator); + + if (shouldNotIndent || shouldInlineLogicalExpression$1(node) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression$1(node) && shouldIndentIfInlining) { + return group$x(parts); } - let anyArgEmptyLine = false; - let shouldBreakForArrowFunction = false; - let hasEmptyLineFollowingFirstArg = false; - const lastArgIndex = args.length - 1; + if (parts.length === 0) { + return ""; + } // If the right part is a JSX node, we include it in a separate group to + // prevent it breaking the whole chain, so we can print the expression like: + // + // foo && bar && ( + // + // + // + // ) - const printArgument = (argPath, index) => { - const arg = argPath.getNode(); - const parts = [print(argPath)]; - if (index === lastArgIndex) ; else if (isNextLineEmpty$2(options.originalText, arg, options.locEnd)) { - if (index === 0) { - hasEmptyLineFollowingFirstArg = true; - } + const hasJsx = isJsxNode$5(node.right); + const firstGroupIndex = parts.findIndex(part => typeof part !== "string" && !Array.isArray(part) && part.type === "group"); // Separate the leftmost expression, possibly with its leading comments. - anyArgEmptyLine = true; - parts.push(",", hardline$4, hardline$4); - } else { - parts.push(",", line$5); - } - - shouldBreakForArrowFunction = shouldBreakForArrowFunctionInArguments(arg, argPath); - return concat$6(parts); - }; - - const printedArguments = isDynamicImport ? [path.call(path => printArgument(path, 0), "source")] : path.map(printArgument, "arguments"); - const maybeTrailingComma = // Dynamic imports cannot have trailing commas - !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma$1(options, "all") ? "," : ""; - - function allArgsBrokenOut() { - return group$2(concat$6(["(", indent$3(concat$6([line$5, concat$6(printedArguments)])), maybeTrailingComma, line$5, ")"]), { - shouldBreak: true - }); - } - - if (path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs$1(args)) { - return allArgsBrokenOut(); - } - - const shouldGroupFirst = shouldGroupFirstArg(args); - const shouldGroupLast = shouldGroupLastArg(args); - - if (shouldGroupFirst || shouldGroupLast) { - const shouldBreak = (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$1) : printedArguments.slice(0, -1).some(willBreak$1)) || anyArgEmptyLine || shouldBreakForArrowFunction; // We want to print the last argument with a special flag - - let printedExpanded = []; - let i = 0; - - const printArgument = argPath => { - if (shouldGroupFirst && i === 0) { - printedExpanded = [concat$6([argPath.call(p => print(p, { - expandFirstArg: true - })), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline$4 : line$5, hasEmptyLineFollowingFirstArg ? hardline$4 : ""])].concat(printedArguments.slice(1)); - } - - if (shouldGroupLast && i === args.length - 1) { - printedExpanded = printedArguments.slice(0, -1).concat(argPath.call(p => print(p, { - expandLastArg: true - }))); - } - - i++; - }; - - if (isDynamicImport) { - path.call(printArgument, "source"); - } else { - path.each(printArgument, "arguments"); - } - - const somePrintedArgumentsWillBreak = printedArguments.some(willBreak$1); - const simpleConcat = concat$6(["(", concat$6(printedExpanded), ")"]); - return concat$6([somePrintedArgumentsWillBreak ? breakParent$2 : "", conditionalGroup$1([!somePrintedArgumentsWillBreak && !node.typeArguments && !node.typeParameters ? simpleConcat : ifBreak$1(allArgsBrokenOut(), simpleConcat), shouldGroupFirst ? concat$6(["(", group$2(printedExpanded[0], { - shouldBreak: true - }), concat$6(printedExpanded.slice(1)), ")"]) : concat$6(["(", concat$6(printedArguments.slice(0, -1)), group$2(getLast$3(printedExpanded), { - shouldBreak: true - }), ")"]), allArgsBrokenOut()], { - shouldBreak - })]); - } - - const contents = concat$6(["(", indent$3(concat$6([softline$2, concat$6(printedArguments)])), ifBreak$1(maybeTrailingComma), softline$2, ")"]); - - if (isLongCurriedCallExpression$1(path)) { - // By not wrapping the arguments in a group, the printer prioritizes - // breaking up these arguments rather than the args of the parent call. - return contents; - } - - return group$2(contents, { - shouldBreak: printedArguments.some(willBreak$1) || anyArgEmptyLine + const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); + const rest = parts.slice(headParts.length, hasJsx ? -1 : undefined); + const groupId = Symbol("logicalChain-" + ++uid); + const chain = group$x([// Don't include the initial expression in the indentation + // level. The first item is guaranteed to be the first + // left-most expression. + ...headParts, indent$r(rest)], { + id: groupId }); + + if (!hasJsx) { + return chain; + } + + const jsxPart = getLast$b(parts); + return group$x([chain, indentIfBreak$3(jsxPart, { + groupId + })]); +} // For binary expressions to be consistent, we need to group +// subsequent operators with the same precedence level under a single +// group. Otherwise they will be nested such that some of them break +// onto new lines but not all. Operators with the same precedence +// level should either all break or not. Because we group them by +// precedence level and the AST is structured based on precedence +// level, things are naturally broken up correctly, i.e. `&&` is +// broken before `+`. + + +function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { + /** @type{Doc[]} */ + let parts = []; + const node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same. + + if (isBinaryish$3(node)) { + // Put all operators with the same precedence level in the same + // group. The reason we only need to do this with the `left` + // expression is because given an expression like `1 + 2 - 3`, it + // is always parsed like `((1 + 2) - 3)`, meaning the `left` side + // is where the rest of the expression will exist. Binary + // expressions on the right side mean they have a difference + // precedence level and should be treated as a separate group, so + // print them normally. (This doesn't hold for the `**` operator, + // which is unique in that it is right-associative.) + if (shouldFlatten(node.operator, node.left.operator)) { + // Flatten them out by recursively calling this function. + parts = [...parts, ...path.call(left => printBinaryishExpressions(left, print, options, + /* isNested */ + true, isInsideParenthesis), "left")]; + } else { + parts.push(group$x(print("left"))); + } + + const shouldInline = shouldInlineLogicalExpression$1(node); + const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment$3(options.originalText, node.right); + const operator = node.type === "NGPipeExpression" ? "|" : node.operator; + const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group$x(indent$r([softline$n, ": ", join$q([softline$n, ":", ifBreak$l(" ")], path.map(print, "arguments").map(arg => align$4(2, group$x(arg))))])) : ""; + const right = shouldInline ? [operator, " ", print("right"), rightSuffix] : [lineBeforeOperator ? line$s : "", operator, lineBeforeOperator ? " " : line$s, print("right"), rightSuffix]; // If there's only a single binary expression, we want to create a group + // in order to avoid having a small right part like -1 be on its own line. + + const parent = path.getParentNode(); + const shouldBreak = hasComment$g(node.left, CommentCheckFlags$d.Trailing | CommentCheckFlags$d.Line); + const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; + parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group$x(right, { + shouldBreak + }) : right); // The root comments are already printed, but we need to manually print + // the other ones since we don't call the normal print on BinaryExpression, + // only for the left and right parts + + if (isNested && hasComment$g(node)) { + const printed = cleanDoc$2(printComments$5(path, parts, options)); + /* istanbul ignore else */ + + if (isConcat$1(printed) || printed.type === "fill") { + parts = getDocParts$5(printed); + } else { + parts = [printed]; + } + } + } else { + // Our stopping case. Simply print the node normally. + parts.push(group$x(print())); + } + + return parts; } -function couldGroupArg(arg) { - return arg.type === "ObjectExpression" && (arg.properties.length > 0 || arg.comments) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || arg.comments) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || arg.type === "TSAsExpression" && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && ( // we want to avoid breaking inside composite return types but not simple keywords - // https://github.com/prettier/prettier/issues/4070 - // export class Thing implements OtherThing { - // do: (type: Type) => Provider = memoize( - // (type: ObjectType): Provider => {} - // ); - // } - // https://github.com/prettier/prettier/issues/6099 - // app.get("/", (req, res): void => { - // res.send("Hello World!"); - // }); - !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference") && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || arg.body.type === "CallExpression" || arg.body.type === "OptionalCallExpression" || arg.body.type === "ConditionalExpression" || isJSXNode$1(arg.body)); -} - -function shouldGroupLastArg(args) { - const lastArg = getLast$3(args); - const penultimateArg = getPenultimate$1(args); - return !hasLeadingComment$3(lastArg) && !hasTrailingComment$1(lastArg) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type, - // disable last element expansion. - !penultimateArg || penultimateArg.type !== lastArg.type); -} - -function shouldGroupFirstArg(args) { - if (args.length !== 2) { +function shouldInlineLogicalExpression$1(node) { + if (node.type !== "LogicalExpression") { return false; } - const [firstArg, secondArg] = args; - return (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); + if (node.right.type === "ObjectExpression" && node.right.properties.length > 0) { + return true; + } + + if (node.right.type === "ArrayExpression" && node.right.elements.length > 0) { + return true; + } + + if (isJsxNode$5(node.right)) { + return true; + } + + return false; } -var callArguments = printCallArguments; +var binaryish = { + printBinaryishExpression: printBinaryishExpression$2, + shouldInlineLogicalExpression: shouldInlineLogicalExpression$1 +}; -const { - isNumericLiteral: isNumericLiteral$1 -} = utils$6; const { builders: { - concat: concat$7, - softline: softline$3, - group: group$3, - indent: indent$4 + join: join$p, + line: line$r, + group: group$w } -} = document; +} = doc; +const { + hasNode, + hasComment: hasComment$f, + getComments: getComments$3 +} = utils$5; +const { + printBinaryishExpression: printBinaryishExpression$1 +} = binaryish; +/** @typedef {import("../../common/ast-path")} AstPath */ -function printOptionalToken(path) { +function printAngular$1(path, options, print) { + const node = path.getValue(); // Angular nodes always starts with `NG` + + if (!node.type.startsWith("NG")) { + return; + } + + switch (node.type) { + case "NGRoot": + return [print("node"), !hasComment$f(node.node) ? "" : " //" + getComments$3(node.node)[0].value.trimEnd()]; + + case "NGPipeExpression": + return printBinaryishExpression$1(path, options, print); + + case "NGChainedExpression": + return group$w(join$p([";", line$r], path.map(childPath => hasNgSideEffect(childPath) ? print() : ["(", print(), ")"], "expressions"))); + + case "NGEmptyExpression": + return ""; + + case "NGQuotedExpression": + return [node.prefix, ": ", node.value.trim()]; + + case "NGMicrosyntax": + return path.map((childPath, index) => [index === 0 ? "" : isNgForOf(childPath.getValue(), index, node) ? " " : [";", line$r], print()], "body"); + + case "NGMicrosyntaxKey": + return /^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(node.name) ? node.name : JSON.stringify(node.name); + + case "NGMicrosyntaxExpression": + return [print("expression"), node.alias === null ? "" : [" as ", print("alias")]]; + + case "NGMicrosyntaxKeyedExpression": + { + const index = path.getName(); + const parentNode = path.getParentNode(); + const shouldNotPrintColon = isNgForOf(node, index, parentNode) || (index === 1 && (node.key.name === "then" || node.key.name === "else") || index === 2 && node.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; + return [print("key"), shouldNotPrintColon ? " " : ": ", print("expression")]; + } + + case "NGMicrosyntaxLet": + return ["let ", print("key"), node.value === null ? "" : [" = ", print("value")]]; + + case "NGMicrosyntaxAs": + return [print("key"), " as ", print("alias")]; + + default: + /* istanbul ignore next */ + throw new Error(`Unknown Angular node type: ${JSON.stringify(node.type)}.`); + } +} + +function isNgForOf(node, index, parentNode) { + return node.type === "NGMicrosyntaxKeyedExpression" && node.key.name === "of" && index === 1 && parentNode.body[0].type === "NGMicrosyntaxLet" && parentNode.body[0].value === null; +} +/** identify if an angular expression seems to have side effects */ + +/** + * @param {AstPath} path + * @returns {boolean} + */ + + +function hasNgSideEffect(path) { + return hasNode(path.getValue(), node => { + switch (node.type) { + case undefined: + return false; + + case "CallExpression": + case "OptionalCallExpression": + case "AssignmentExpression": + return true; + } + }); +} + +var angular = { + printAngular: printAngular$1 +}; + +const { + printComments: printComments$4, + printDanglingComments: printDanglingComments$d +} = comments$1; +const { + builders: { + line: line$q, + hardline: hardline$t, + softline: softline$m, + group: group$v, + indent: indent$q, + conditionalGroup: conditionalGroup$4, + fill: fill$7, + ifBreak: ifBreak$k, + lineSuffixBoundary, + join: join$o + }, + utils: { + willBreak: willBreak$5 + } +} = doc; +const { + getLast: getLast$a, + getPreferredQuote +} = util$5; +const { + isJsxNode: isJsxNode$4, + rawText: rawText$4, + isLiteral: isLiteral$2, + isCallExpression: isCallExpression$9, + isStringLiteral: isStringLiteral$4, + isBinaryish: isBinaryish$2, + hasComment: hasComment$e, + CommentCheckFlags: CommentCheckFlags$c, + hasNodeIgnoreComment +} = utils$5; +const { + willPrintOwnComments +} = comments; + +const isEmptyStringOrAnyLine = doc => doc === "" || doc === line$q || doc === hardline$t || doc === softline$m; +/** + * @typedef {import("../../common/ast-path")} AstPath + * @typedef {import("../types/estree").Node} Node + * @typedef {import("../types/estree").JSXElement} JSXElement + */ +// JSX expands children from the inside-out, instead of the outside-in. +// This is both to break children before attributes, +// and to ensure that when children break, their parents do as well. +// +// Any element that is written without any newlines and fits on a single line +// is left that way. +// Not only that, any user-written-line containing multiple JSX siblings +// should also be kept on one line if possible, +// so each user-written-line is wrapped in its own group. +// +// Elements that contain newlines or don't fit on a single line (recursively) +// are fully-split, using hardline and shouldBreak: true. +// +// To support that case properly, all leading and trailing spaces +// are stripped from the list of children, and replaced with a single hardline. + + +function printJsxElementInternal(path, options, print) { + const node = path.getValue(); + + if (node.type === "JSXElement" && isEmptyJsxElement(node)) { + return [print("openingElement"), print("closingElement")]; + } + + const openingLines = node.type === "JSXElement" ? print("openingElement") : print("openingFragment"); + const closingLines = node.type === "JSXElement" ? print("closingElement") : print("closingFragment"); + + if (node.children.length === 1 && node.children[0].type === "JSXExpressionContainer" && (node.children[0].expression.type === "TemplateLiteral" || node.children[0].expression.type === "TaggedTemplateExpression")) { + return [openingLines, ...path.map(print, "children"), closingLines]; + } // Convert `{" "}` to text nodes containing a space. + // This makes it easy to turn them into `jsxWhitespace` which + // can then print as either a space or `{" "}` when breaking. + + + node.children = node.children.map(child => { + if (isJsxWhitespaceExpression(child)) { + return { + type: "JSXText", + value: " ", + raw: " " + }; + } + + return child; + }); + const containsTag = node.children.filter(isJsxNode$4).length > 0; + const containsMultipleExpressions = node.children.filter(child => child.type === "JSXExpressionContainer").length > 1; + const containsMultipleAttributes = node.type === "JSXElement" && node.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true. + + let forcedBreak = willBreak$5(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; + const isMdxBlock = path.getParentNode().rootMarker === "mdx"; + const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; + const jsxWhitespace = isMdxBlock ? " " : ifBreak$k([rawJsxWhitespace, softline$m], " "); + const isFacebookTranslationTag = node.openingElement && node.openingElement.name && node.openingElement.name.name === "fbt"; + const children = printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); + const containsText = node.children.some(child => isMeaningfulJsxText(child)); // We can end up we multiple whitespace elements with empty string + // content between them. + // We need to remove empty whitespace and softlines before JSX whitespace + // to get the correct output. + + for (let i = children.length - 2; i >= 0; i--) { + const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; + const isPairOfHardlines = children[i] === hardline$t && children[i + 1] === "" && children[i + 2] === hardline$t; + const isLineFollowedByJsxWhitespace = (children[i] === softline$m || children[i] === hardline$t) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isJsxWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline$m || children[i + 2] === hardline$t); + const isDoubleJsxWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; + const isPairOfHardOrSoftLines = children[i] === softline$m && children[i + 1] === "" && children[i + 2] === hardline$t || children[i] === hardline$t && children[i + 1] === "" && children[i + 2] === softline$m; + + if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJsxWhitespace || isDoubleJsxWhitespace || isPairOfHardOrSoftLines) { + children.splice(i, 2); + } else if (isJsxWhitespaceFollowedByLine) { + children.splice(i + 1, 2); + } + } // Trim trailing lines (or empty strings) + + + while (children.length > 0 && isEmptyStringOrAnyLine(getLast$a(children))) { + children.pop(); + } // Trim leading lines (or empty strings) + + + while (children.length > 1 && isEmptyStringOrAnyLine(children[0]) && isEmptyStringOrAnyLine(children[1])) { + children.shift(); + children.shift(); + } // Tweak how we format children if outputting this element over multiple lines. + // Also detect whether we will force this element to output over multiple lines. + + + const multilineChildren = []; + + for (const [i, child] of children.entries()) { + // There are a number of situations where we need to ensure we display + // whitespace as `{" "}` when outputting this element over multiple lines. + if (child === jsxWhitespace) { + if (i === 1 && children[i - 1] === "") { + if (children.length === 2) { + // Solitary whitespace + multilineChildren.push(rawJsxWhitespace); + continue; + } // Leading whitespace + + + multilineChildren.push([rawJsxWhitespace, hardline$t]); + continue; + } else if (i === children.length - 1) { + // Trailing whitespace + multilineChildren.push(rawJsxWhitespace); + continue; + } else if (children[i - 1] === "" && children[i - 2] === hardline$t) { + // Whitespace after line break + multilineChildren.push(rawJsxWhitespace); + continue; + } + } + + multilineChildren.push(child); + + if (willBreak$5(child)) { + forcedBreak = true; + } + } // If there is text we use `fill` to fit as much onto each line as possible. + // When there is no text (just tags and expressions) we use `group` + // to output each on a separate line. + + + const content = containsText ? fill$7(multilineChildren) : group$v(multilineChildren, { + shouldBreak: true + }); + + if (isMdxBlock) { + return content; + } + + const multiLineElem = group$v([openingLines, indent$q([hardline$t, content]), hardline$t, closingLines]); + + if (forcedBreak) { + return multiLineElem; + } + + return conditionalGroup$4([group$v([openingLines, ...children, closingLines]), multiLineElem]); +} // JSX Children are strange, mostly for two reasons: +// 1. JSX reads newlines into string values, instead of skipping them like JS +// 2. up to one whitespace between elements within a line is significant, +// but not between lines. +// +// Leading, trailing, and lone whitespace all need to +// turn themselves into the rather ugly `{' '}` when breaking. +// +// We print JSX using the `fill` doc primitive. +// This requires that we give it an array of alternating +// content and whitespace elements. +// To ensure this we add dummy `""` content elements as needed. + + +function printJsxChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { + const parts = []; + path.each((childPath, i, children) => { + const child = childPath.getValue(); + + if (isLiteral$2(child)) { + const text = rawText$4(child); // Contains a non-whitespace character + + if (isMeaningfulJsxText(child)) { + const words = text.split(matchJsxWhitespaceRegex); // Starts with whitespace + + if (words[0] === "") { + parts.push(""); + words.shift(); + + if (/\n/.test(words[0])) { + const next = children[i + 1]; + parts.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); + } else { + parts.push(jsxWhitespace); + } + + words.shift(); + } + + let endWhitespace; // Ends with whitespace + + if (getLast$a(words) === "") { + words.pop(); + endWhitespace = words.pop(); + } // This was whitespace only without a new line. + + + if (words.length === 0) { + return; + } + + for (const [i, word] of words.entries()) { + if (i % 2 === 1) { + parts.push(line$q); + } else { + parts.push(word); + } + } + + if (endWhitespace !== undefined) { + if (/\n/.test(endWhitespace)) { + const next = children[i + 1]; + parts.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$a(parts), child, next)); + } else { + parts.push(jsxWhitespace); + } + } else { + const next = children[i + 1]; + parts.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$a(parts), child, next)); + } + } else if (/\n/.test(text)) { + // Keep (up to one) blank line between tags/expressions/text. + // Note: We don't keep blank lines between text elements. + if (text.match(/\n/g).length > 1) { + parts.push("", hardline$t); + } + } else { + parts.push("", jsxWhitespace); + } + } else { + const printedChild = print(); + parts.push(printedChild); + const next = children[i + 1]; + const directlyFollowedByMeaningfulText = next && isMeaningfulJsxText(next); + + if (directlyFollowedByMeaningfulText) { + const firstWord = trimJsxWhitespace(rawText$4(next)).split(matchJsxWhitespaceRegex)[0]; + parts.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); + } else { + parts.push(hardline$t); + } + } + }, "children"); + return parts; +} + +function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return ""; + } + + if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { + return child.length === 1 ? softline$m : hardline$t; + } + + return softline$m; +} + +function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { + if (isFacebookTranslationTag) { + return hardline$t; + } + + if (child.length === 1) { + return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline$t : softline$m; + } + + return hardline$t; +} + +function maybeWrapJsxElementInParens(path, elem, options) { + const parent = path.getParentNode(); + /* istanbul ignore next */ + + if (!parent) { + return elem; + } + + const NO_WRAP_PARENTS = { + ArrayExpression: true, + JSXAttribute: true, + JSXElement: true, + JSXExpressionContainer: true, + JSXFragment: true, + ExpressionStatement: true, + CallExpression: true, + OptionalCallExpression: true, + ConditionalExpression: true, + JsExpressionRoot: true + }; + + if (NO_WRAP_PARENTS[parent.type]) { + return elem; + } + + const shouldBreak = path.match(undefined, node => node.type === "ArrowFunctionExpression", isCallExpression$9, node => node.type === "JSXExpressionContainer"); + const needsParens = needsParens_1(path, options); + return group$v([needsParens ? "" : ifBreak$k("("), indent$q([softline$m, elem]), softline$m, needsParens ? "" : ifBreak$k(")")], { + shouldBreak + }); +} + +function printJsxAttribute(path, options, print) { + const node = path.getValue(); + const parts = []; + parts.push(print("name")); + + if (node.value) { + let res; + + if (isStringLiteral$4(node.value)) { + const raw = rawText$4(node.value); // Unescape all quotes so we get an accurate preferred quote + + let final = raw.replace(/'/g, "'").replace(/"/g, '"'); + const quote = getPreferredQuote(final, options.jsxSingleQuote ? "'" : '"'); + const escape = quote === "'" ? "'" : """; + final = final.slice(1, -1).replace(new RegExp(quote, "g"), escape); + res = [quote, final, quote]; + } else { + res = print("value"); + } + + parts.push("=", res); + } + + return parts; +} + +function printJsxExpressionContainer(path, options, print) { + const node = path.getValue(); + const parent = path.getParentNode(0); + const shouldInline = node.expression.type === "JSXEmptyExpression" || !hasComment$e(node.expression) && (node.expression.type === "ArrayExpression" || node.expression.type === "ObjectExpression" || node.expression.type === "ArrowFunctionExpression" || isCallExpression$9(node.expression) || node.expression.type === "FunctionExpression" || node.expression.type === "TemplateLiteral" || node.expression.type === "TaggedTemplateExpression" || node.expression.type === "DoExpression" || isJsxNode$4(parent) && (node.expression.type === "ConditionalExpression" || isBinaryish$2(node.expression))); + + if (shouldInline) { + return group$v(["{", print("expression"), lineSuffixBoundary, "}"]); + } + + return group$v(["{", indent$q([softline$m, print("expression")]), softline$m, lineSuffixBoundary, "}"]); +} + +function printJsxOpeningElement(path, options, print) { + const node = path.getValue(); + const nameHasComments = node.name && hasComment$e(node.name) || node.typeParameters && hasComment$e(node.typeParameters); // Don't break self-closing elements with no attributes and no comments + + if (node.selfClosing && node.attributes.length === 0 && !nameHasComments) { + return ["<", print("name"), print("typeParameters"), " />"]; + } // don't break up opening elements with a single long text attribute + + + if (node.attributes && node.attributes.length === 1 && node.attributes[0].value && isStringLiteral$4(node.attributes[0].value) && !node.attributes[0].value.value.includes("\n") && // We should break for the following cases: + //
+ //
+ !nameHasComments && !hasComment$e(node.attributes[0])) { + return group$v(["<", print("name"), print("typeParameters"), " ", ...path.map(print, "attributes"), node.selfClosing ? " />" : ">"]); + } + + const lastAttrHasTrailingComments = node.attributes.length > 0 && hasComment$e(getLast$a(node.attributes), CommentCheckFlags$c.Trailing); + const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be + // kept unbroken regardless of `jsxBracketSameLine` + node.attributes.length === 0 && !nameHasComments || options.jsxBracketSameLine && ( // We should print the bracket in a new line for the following cases: + //
+ //
+ !nameHasComments || node.attributes.length > 0) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a + // string literal with newlines + + const shouldBreak = node.attributes && node.attributes.some(attr => attr.value && isStringLiteral$4(attr.value) && attr.value.value.includes("\n")); + return group$v(["<", print("name"), print("typeParameters"), indent$q(path.map(() => [line$q, print()], "attributes")), node.selfClosing ? line$q : bracketSameLine ? ">" : softline$m, node.selfClosing ? "/>" : bracketSameLine ? "" : ">"], { + shouldBreak + }); +} + +function printJsxClosingElement(path, options, print) { + const node = path.getValue(); + const parts = []; + parts.push(""); + return parts; +} + +function printJsxOpeningClosingFragment(path, options +/*, print*/ +) { + const node = path.getValue(); + const nodeHasComment = hasComment$e(node); + const hasOwnLineComment = hasComment$e(node, CommentCheckFlags$c.Line); + const isOpeningFragment = node.type === "JSXOpeningFragment"; + return [isOpeningFragment ? "<" : ""]; +} + +function printJsxElement(path, options, print) { + const elem = printComments$4(path, printJsxElementInternal(path, options, print), options); + return maybeWrapJsxElementInParens(path, elem, options); +} + +function printJsxEmptyExpression(path, options +/*, print*/ +) { + const node = path.getValue(); + const requiresHardline = hasComment$e(node, CommentCheckFlags$c.Line); + return [printDanglingComments$d(path, options, + /* sameIndent */ + !requiresHardline), requiresHardline ? hardline$t : ""]; +} // `JSXSpreadAttribute` and `JSXSpreadChild` + + +function printJsxSpreadAttribute(path, options, print) { + const node = path.getValue(); + return ["{", path.call(p => { + const printed = ["...", print()]; + const node = p.getValue(); + + if (!hasComment$e(node) || !willPrintOwnComments(p)) { + return printed; + } + + return [indent$q([softline$m, printComments$4(p, printed, options)]), softline$m]; + }, node.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]; +} + +function printJsx$1(path, options, print) { + const node = path.getValue(); // JSX nodes always starts with `JSX` + + if (!node.type.startsWith("JSX")) { + return; + } + + switch (node.type) { + case "JSXAttribute": + return printJsxAttribute(path, options, print); + + case "JSXIdentifier": + return String(node.name); + + case "JSXNamespacedName": + return join$o(":", [print("namespace"), print("name")]); + + case "JSXMemberExpression": + return join$o(".", [print("object"), print("property")]); + + case "JSXSpreadAttribute": + return printJsxSpreadAttribute(path, options, print); + + case "JSXSpreadChild": + { + // Same as `printJsxSpreadAttribute` + const printJsxSpreadChild = printJsxSpreadAttribute; + return printJsxSpreadChild(path, options, print); + } + + case "JSXExpressionContainer": + return printJsxExpressionContainer(path, options, print); + + case "JSXFragment": + case "JSXElement": + return printJsxElement(path, options, print); + + case "JSXOpeningElement": + return printJsxOpeningElement(path, options, print); + + case "JSXClosingElement": + return printJsxClosingElement(path, options, print); + + case "JSXOpeningFragment": + case "JSXClosingFragment": + return printJsxOpeningClosingFragment(path, options + /*, print*/ + ); + + case "JSXEmptyExpression": + return printJsxEmptyExpression(path, options + /*, print*/ + ); + + case "JSXText": + /* istanbul ignore next */ + throw new Error("JSXTest should be handled by JSXElement"); + + default: + /* istanbul ignore next */ + throw new Error(`Unknown JSX node type: ${JSON.stringify(node.type)}.`); + } +} // Only space, newline, carriage return, and tab are treated as whitespace +// inside JSX. + + +const jsxWhitespaceChars = " \n\r\t"; +const matchJsxWhitespaceRegex = new RegExp("([" + jsxWhitespaceChars + "]+)"); +const containsNonJsxWhitespaceRegex = new RegExp("[^" + jsxWhitespaceChars + "]"); + +const trimJsxWhitespace = text => text.replace(new RegExp("(?:^" + matchJsxWhitespaceRegex.source + "|" + matchJsxWhitespaceRegex.source + "$)"), ""); +/** + * @param {JSXElement} node + * @returns {boolean} + */ + + +function isEmptyJsxElement(node) { + if (node.children.length === 0) { + return true; + } + + if (node.children.length > 1) { + return false; + } // if there is one text child and does not contain any meaningful text + // we can treat the element as empty. + + + const child = node.children[0]; + return isLiteral$2(child) && !isMeaningfulJsxText(child); +} // Meaningful if it contains non-whitespace characters, +// or it contains whitespace without a new line. + +/** + * @param {Node} node + * @returns {boolean} + */ + + +function isMeaningfulJsxText(node) { + return isLiteral$2(node) && (containsNonJsxWhitespaceRegex.test(rawText$4(node)) || !/\n/.test(rawText$4(node))); +} // Detect an expression node representing `{" "}` + + +function isJsxWhitespaceExpression(node) { + return node.type === "JSXExpressionContainer" && isLiteral$2(node.expression) && node.expression.value === " " && !hasComment$e(node.expression); +} +/** + * @param {AstPath} path + * @returns {boolean} + */ + + +function hasJsxIgnoreComment$1(path) { + const node = path.getValue(); + const parent = path.getParentNode(); + + if (!parent || !node || !isJsxNode$4(node) || !isJsxNode$4(parent)) { + return false; + } // Lookup the previous sibling, ignoring any empty JSXText elements + + + const index = parent.children.indexOf(node); + let prevSibling = null; + + for (let i = index; i > 0; i--) { + const candidate = parent.children[i - 1]; + + if (candidate.type === "JSXText" && !isMeaningfulJsxText(candidate)) { + continue; + } + + prevSibling = candidate; + break; + } + + return prevSibling && prevSibling.type === "JSXExpressionContainer" && prevSibling.expression.type === "JSXEmptyExpression" && hasNodeIgnoreComment(prevSibling.expression); +} + +var jsx = { + hasJsxIgnoreComment: hasJsxIgnoreComment$1, + printJsx: printJsx$1 +}; + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +_export({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +const { + isNonEmptyArray: isNonEmptyArray$e +} = util$5; +const { + builders: { + indent: indent$p, + join: join$n, + line: line$p + } +} = doc; +const { + isFlowAnnotationComment: isFlowAnnotationComment$1 +} = utils$5; + +function printOptionalToken$9(path) { const node = path.getValue(); if (!node.optional || // It's an optional computed method parsed by typescript-estree. @@ -41284,83 +43638,518 @@ function printOptionalToken(path) { return "?"; } -function printFunctionTypeParameters(path, options, print) { +function printFunctionTypeParameters$4(path, options, print) { const fun = path.getValue(); if (fun.typeArguments) { - return path.call(print, "typeArguments"); + return print("typeArguments"); } if (fun.typeParameters) { - return path.call(print, "typeParameters"); + return print("typeParameters"); } return ""; } -function printMemberLookup(path, options, print) { - const property = path.call(print, "property"); - const n = path.getValue(); - const optional = printOptionalToken(path); +function printTypeAnnotation$5(path, options, print) { + const node = path.getValue(); - if (!n.computed) { - return concat$7([optional, ".", property]); + if (!node.typeAnnotation) { + return ""; } - if (!n.property || isNumericLiteral$1(n.property)) { - return concat$7([optional, "[", property, "]"]); + const parentNode = path.getParentNode(); + const isDefinite = node.definite || parentNode && parentNode.type === "VariableDeclarator" && parentNode.definite; + const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; + + if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation)) { + return [" /*: ", print("typeAnnotation"), " */"]; } - return group$3(concat$7([optional, "[", indent$4(concat$7([softline$3, property])), softline$3, "]"])); + return [isFunctionDeclarationIdentifier ? "" : isDefinite ? "!: " : ": ", print("typeAnnotation")]; } -function printBindExpressionCallee(path, options, print) { - return concat$7(["::", path.call(print, "callee")]); +function printBindExpressionCallee$2(path, options, print) { + return ["::", print("callee")]; } -var misc = { - printOptionalToken, - printFunctionTypeParameters, - printMemberLookup, - printBindExpressionCallee +function printTypeScriptModifiers$2(path, options, print) { + const node = path.getValue(); + + if (!isNonEmptyArray$e(node.modifiers)) { + return ""; + } + + return [join$n(" ", path.map(print, "modifiers")), " "]; +} + +function adjustClause$1(node, clause, forceSpace) { + if (node.type === "EmptyStatement") { + return ";"; + } + + if (node.type === "BlockStatement" || forceSpace) { + return [" ", clause]; + } + + return indent$p([line$p, clause]); +} + +function printRestSpread$2(path, options, print) { + return ["...", print("argument"), printTypeAnnotation$5(path, options, print)]; +} + +var misc$1 = { + printOptionalToken: printOptionalToken$9, + printFunctionTypeParameters: printFunctionTypeParameters$4, + printBindExpressionCallee: printBindExpressionCallee$2, + printTypeScriptModifiers: printTypeScriptModifiers$2, + printTypeAnnotation: printTypeAnnotation$5, + printRestSpread: printRestSpread$2, + adjustClause: adjustClause$1 }; const { - getLast: getLast$4, - isNextLineEmpty: isNextLineEmpty$3, - isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3 -} = util; -const { - hasLeadingComment: hasLeadingComment$4, - hasTrailingComment: hasTrailingComment$2, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$1, - isFunctionOrArrowExpression: isFunctionOrArrowExpression$1, - isLongCurriedCallExpression: isLongCurriedCallExpression$2, - isMemberish: isMemberish$1, - isNumericLiteral: isNumericLiteral$2, - isSimpleCallArgument: isSimpleCallArgument$1 -} = utils$6; + printDanglingComments: printDanglingComments$c +} = comments$1; const { builders: { - concat: concat$8, - join: join$4, - hardline: hardline$5, - group: group$4, - indent: indent$5, - conditionalGroup: conditionalGroup$2, - breakParent: breakParent$3 + line: line$o, + softline: softline$l, + hardline: hardline$s, + group: group$u, + indent: indent$o, + ifBreak: ifBreak$j, + fill: fill$6 + } +} = doc; +const { + getLast: getLast$9, + hasNewline: hasNewline$5 +} = util$5; +const { + shouldPrintComma: shouldPrintComma$a, + hasComment: hasComment$d, + CommentCheckFlags: CommentCheckFlags$b, + isNextLineEmpty: isNextLineEmpty$b, + isNumericLiteral: isNumericLiteral$4, + isSignedNumericLiteral: isSignedNumericLiteral$1 +} = utils$5; +const { + locStart: locStart$m +} = loc$6; +const { + printOptionalToken: printOptionalToken$8, + printTypeAnnotation: printTypeAnnotation$4 +} = misc$1; +/** @typedef {import("../../document").Doc} Doc */ + +function printArray$1(path, options, print) { + const node = path.getValue(); + /** @type{Doc[]} */ + + const parts = []; + const openBracket = node.type === "TupleExpression" ? "#[" : "["; + const closeBracket = "]"; + + if (node.elements.length === 0) { + if (!hasComment$d(node, CommentCheckFlags$b.Dangling)) { + parts.push(openBracket, closeBracket); + } else { + parts.push(group$u([openBracket, printDanglingComments$c(path, options), softline$l, closeBracket])); + } + } else { + const lastElem = getLast$9(node.elements); + const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which + // changes its length based on the number of commas. The algorithm + // is that if the last argument is null, we need to force insert + // a comma to ensure JavaScript recognizes it. + // [,].length === 1 + // [1,].length === 1 + // [1,,].length === 2 + // + // Note that getLast returns null if the array is empty, but + // we already check for an empty array just above so we are safe + + const needsForcedTrailingComma = lastElem === null; + const groupId = Symbol("array"); + const shouldBreak = !options.__inJestEach && node.elements.length > 1 && node.elements.every((element, i, elements) => { + const elementType = element && element.type; + + if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { + return false; + } + + const nextElement = elements[i + 1]; + + if (nextElement && elementType !== nextElement.type) { + return false; + } + + const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; + return element[itemsKey] && element[itemsKey].length > 1; + }); + const shouldUseConciseFormatting = isConciselyPrintedArray$1(node, options); + const trailingComma = !canHaveTrailingComma ? "" : needsForcedTrailingComma ? "," : !shouldPrintComma$a(options) ? "" : shouldUseConciseFormatting ? ifBreak$j(",", "", { + groupId + }) : ifBreak$j(","); + parts.push(group$u([openBracket, indent$o([softline$l, shouldUseConciseFormatting ? printArrayItemsConcisely(path, options, print, trailingComma) : [printArrayItems$3(path, options, "elements", print), trailingComma], printDanglingComments$c(path, options, + /* sameIndent */ + true)]), softline$l, closeBracket], { + shouldBreak, + id: groupId + })); + } + + parts.push(printOptionalToken$8(path), printTypeAnnotation$4(path, options, print)); + return parts; +} + +function isConciselyPrintedArray$1(node, options) { + return node.elements.length > 1 && node.elements.every(element => element && (isNumericLiteral$4(element) || isSignedNumericLiteral$1(element) && !hasComment$d(element.argument)) && !hasComment$d(element, CommentCheckFlags$b.Trailing | CommentCheckFlags$b.Line, comment => !hasNewline$5(options.originalText, locStart$m(comment), { + backwards: true + }))); +} + +function printArrayItems$3(path, options, printPath, print) { + const printedElements = []; + let separatorParts = []; + path.each(childPath => { + printedElements.push(separatorParts, group$u(print())); + separatorParts = [",", line$o]; + + if (childPath.getValue() && isNextLineEmpty$b(childPath.getValue(), options)) { + separatorParts.push(softline$l); + } + }, printPath); + return printedElements; +} + +function printArrayItemsConcisely(path, options, print, trailingComma) { + const parts = []; + path.each((childPath, i, elements) => { + const isLast = i === elements.length - 1; + parts.push([print(), isLast ? trailingComma : ","]); + + if (!isLast) { + parts.push(isNextLineEmpty$b(childPath.getValue(), options) ? [hardline$s, hardline$s] : hasComment$d(elements[i + 1], CommentCheckFlags$b.Leading | CommentCheckFlags$b.Line) ? hardline$s : line$o); + } + }, "elements"); + return fill$6(parts); +} + +var array = { + printArray: printArray$1, + printArrayItems: printArrayItems$3, + isConciselyPrintedArray: isConciselyPrintedArray$1 +}; + +const { + printDanglingComments: printDanglingComments$b +} = comments$1; +const { + getLast: getLast$8, + getPenultimate +} = util$5; +const { + getFunctionParameters: getFunctionParameters$3, + hasComment: hasComment$c, + CommentCheckFlags: CommentCheckFlags$a, + isFunctionCompositionArgs, + isJsxNode: isJsxNode$3, + isLongCurriedCallExpression: isLongCurriedCallExpression$1, + shouldPrintComma: shouldPrintComma$9, + getCallArguments: getCallArguments$3, + iterateCallArgumentsPath: iterateCallArgumentsPath$1, + isNextLineEmpty: isNextLineEmpty$a, + isCallExpression: isCallExpression$8, + isStringLiteral: isStringLiteral$3, + isObjectProperty: isObjectProperty$1 +} = utils$5; +const { + builders: { + line: line$n, + hardline: hardline$r, + softline: softline$k, + group: group$t, + indent: indent$n, + conditionalGroup: conditionalGroup$3, + ifBreak: ifBreak$i, + breakParent: breakParent$7 }, utils: { - willBreak: willBreak$2 + willBreak: willBreak$4 } -} = document; +} = doc; const { - printOptionalToken: printOptionalToken$1, - printFunctionTypeParameters: printFunctionTypeParameters$1, - printMemberLookup: printMemberLookup$1, + ArgExpansionBailout: ArgExpansionBailout$2 +} = errors; +const { + isConciselyPrintedArray +} = array; + +function printCallArguments(path, options, print) { + const node = path.getValue(); + const isDynamicImport = node.type === "ImportExpression"; + const args = getCallArguments$3(node); + + if (args.length === 0) { + return ["(", printDanglingComments$b(path, options, + /* sameIndent */ + true), ")"]; + } // useEffect(() => { ... }, [foo, bar, baz]) + + + if (isReactHookCallWithDepsArray(args)) { + return ["(", print(["arguments", 0]), ", ", print(["arguments", 1]), ")"]; + } + + let anyArgEmptyLine = false; + let hasEmptyLineFollowingFirstArg = false; + const lastArgIndex = args.length - 1; + const printedArguments = []; + iterateCallArgumentsPath$1(path, (argPath, index) => { + const arg = argPath.getNode(); + const parts = [print()]; + + if (index === lastArgIndex) ; else if (isNextLineEmpty$a(arg, options)) { + if (index === 0) { + hasEmptyLineFollowingFirstArg = true; + } + + anyArgEmptyLine = true; + parts.push(",", hardline$r, hardline$r); + } else { + parts.push(",", line$n); + } + + printedArguments.push(parts); + }); + const maybeTrailingComma = // Dynamic imports cannot have trailing commas + !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma$9(options, "all") ? "," : ""; + + function allArgsBrokenOut() { + return group$t(["(", indent$n([line$n, ...printedArguments]), maybeTrailingComma, line$n, ")"], { + shouldBreak: true + }); + } + + if (anyArgEmptyLine || path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs(args)) { + return allArgsBrokenOut(); + } + + const shouldGroupFirst = shouldGroupFirstArg(args); + const shouldGroupLast = shouldGroupLastArg(args, options); + + if (shouldGroupFirst || shouldGroupLast) { + if (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$4) : printedArguments.slice(0, -1).some(willBreak$4)) { + return allArgsBrokenOut(); + } // We want to print the last argument with a special flag + + + let printedExpanded = []; + + try { + path.try(() => { + iterateCallArgumentsPath$1(path, (argPath, i) => { + if (shouldGroupFirst && i === 0) { + printedExpanded = [[print([], { + expandFirstArg: true + }), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline$r : line$n, hasEmptyLineFollowingFirstArg ? hardline$r : ""], ...printedArguments.slice(1)]; + } + + if (shouldGroupLast && i === lastArgIndex) { + printedExpanded = [...printedArguments.slice(0, -1), print([], { + expandLastArg: true + })]; + } + }); + }); + } catch (caught) { + if (caught instanceof ArgExpansionBailout$2) { + return allArgsBrokenOut(); + } + /* istanbul ignore next */ + + + throw caught; + } + + return [printedArguments.some(willBreak$4) ? breakParent$7 : "", conditionalGroup$3([["(", ...printedExpanded, ")"], shouldGroupFirst ? ["(", group$t(printedExpanded[0], { + shouldBreak: true + }), ...printedExpanded.slice(1), ")"] : ["(", ...printedArguments.slice(0, -1), group$t(getLast$8(printedExpanded), { + shouldBreak: true + }), ")"], allArgsBrokenOut()])]; + } + + const contents = ["(", indent$n([softline$k, ...printedArguments]), ifBreak$i(maybeTrailingComma), softline$k, ")"]; + + if (isLongCurriedCallExpression$1(path)) { + // By not wrapping the arguments in a group, the printer prioritizes + // breaking up these arguments rather than the args of the parent call. + return contents; + } + + return group$t(contents, { + shouldBreak: printedArguments.some(willBreak$4) || anyArgEmptyLine + }); +} + +function couldGroupArg(arg, arrowChainRecursion = false) { + return arg.type === "ObjectExpression" && (arg.properties.length > 0 || hasComment$c(arg)) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || hasComment$c(arg)) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || arg.type === "TSAsExpression" && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && ( // we want to avoid breaking inside composite return types but not simple keywords + // https://github.com/prettier/prettier/issues/4070 + // export class Thing implements OtherThing { + // do: (type: Type) => Provider = memoize( + // (type: ObjectType): Provider => {} + // ); + // } + // https://github.com/prettier/prettier/issues/6099 + // app.get("/", (req, res): void => { + // res.send("Hello World!"); + // }); + !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference" || // https://github.com/prettier/prettier/issues/7542 + isNonEmptyBlockStatement(arg.body)) && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" && couldGroupArg(arg.body, true) || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || !arrowChainRecursion && (isCallExpression$8(arg.body) || arg.body.type === "ConditionalExpression") || isJsxNode$3(arg.body)) || arg.type === "DoExpression" || arg.type === "ModuleExpression"; +} + +function shouldGroupLastArg(args, options) { + const lastArg = getLast$8(args); + const penultimateArg = getPenultimate(args); + return !hasComment$c(lastArg, CommentCheckFlags$a.Leading) && !hasComment$c(lastArg, CommentCheckFlags$a.Trailing) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type, + // disable last element expansion. + !penultimateArg || penultimateArg.type !== lastArg.type) && ( // useMemo(() => func(), [foo, bar, baz]) + args.length !== 2 || penultimateArg.type !== "ArrowFunctionExpression" || lastArg.type !== "ArrayExpression") && !(args.length > 1 && lastArg.type === "ArrayExpression" && isConciselyPrintedArray(lastArg, options)); +} + +function shouldGroupFirstArg(args) { + if (args.length !== 2) { + return false; + } + + const [firstArg, secondArg] = args; + + if (firstArg.type === "ModuleExpression" && isTypeModuleObjectExpression(secondArg)) { + return true; + } + + return !hasComment$c(firstArg) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); +} + +function isReactHookCallWithDepsArray(args) { + return args.length === 2 && args[0].type === "ArrowFunctionExpression" && getFunctionParameters$3(args[0]).length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some(arg => hasComment$c(arg)); +} + +function isNonEmptyBlockStatement(node) { + return node.type === "BlockStatement" && (node.body.some(node => node.type !== "EmptyStatement") || hasComment$c(node, CommentCheckFlags$a.Dangling)); +} // { type: "module" } + + +function isTypeModuleObjectExpression(node) { + return node.type === "ObjectExpression" && node.properties.length === 1 && isObjectProperty$1(node.properties[0]) && node.properties[0].key.type === "Identifier" && node.properties[0].key.name === "type" && isStringLiteral$3(node.properties[0].value) && node.properties[0].value.value === "module"; +} + +var callArguments = printCallArguments; + +const { + builders: { + softline: softline$j, + group: group$s, + indent: indent$m, + label: label$2 + } +} = doc; +const { + isNumericLiteral: isNumericLiteral$3, + isMemberExpression: isMemberExpression$5, + isCallExpression: isCallExpression$7 +} = utils$5; +const { + printOptionalToken: printOptionalToken$7 +} = misc$1; + +function printMemberExpression$1(path, options, print) { + const node = path.getValue(); + const parent = path.getParentNode(); + let firstNonMemberParent; + let i = 0; + + do { + firstNonMemberParent = path.getParentNode(i); + i++; + } while (firstNonMemberParent && (isMemberExpression$5(firstNonMemberParent) || firstNonMemberParent.type === "TSNonNullExpression")); + + const objectDoc = print("object"); + const lookupDoc = printMemberLookup$1(path, options, print); + const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || node.computed || node.object.type === "Identifier" && node.property.type === "Identifier" && !isMemberExpression$5(parent) || (parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator") && (isCallExpression$7(node.object) && node.object.arguments.length > 0 || node.object.type === "TSNonNullExpression" && isCallExpression$7(node.object.expression) && node.object.expression.arguments.length > 0 || objectDoc.label === "member-chain"); + return label$2(objectDoc.label === "member-chain" ? "member-chain" : "member", [objectDoc, shouldInline ? lookupDoc : group$s(indent$m([softline$j, lookupDoc]))]); +} + +function printMemberLookup$1(path, options, print) { + const property = print("property"); + const node = path.getValue(); + const optional = printOptionalToken$7(path); + + if (!node.computed) { + return [optional, ".", property]; + } + + if (!node.property || isNumericLiteral$3(node.property)) { + return [optional, "[", property, "]"]; + } + + return group$s([optional, "[", indent$m([softline$j, property]), softline$j, "]"]); +} + +var member = { + printMemberExpression: printMemberExpression$1, + printMemberLookup: printMemberLookup$1 +}; + +const { + printComments: printComments$3 +} = comments$1; +const { + getLast: getLast$7, + isNextLineEmptyAfterIndex, + getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$1 +} = util$5; +const { + isCallExpression: isCallExpression$6, + isMemberExpression: isMemberExpression$4, + isFunctionOrArrowExpression, + isLongCurriedCallExpression, + isMemberish: isMemberish$1, + isNumericLiteral: isNumericLiteral$2, + isSimpleCallArgument, + hasComment: hasComment$b, + CommentCheckFlags: CommentCheckFlags$9, + isNextLineEmpty: isNextLineEmpty$9 +} = utils$5; +const { + locEnd: locEnd$l +} = loc$6; +const { + builders: { + join: join$m, + hardline: hardline$q, + group: group$r, + indent: indent$l, + conditionalGroup: conditionalGroup$2, + breakParent: breakParent$6, + label: label$1 + }, + utils: { + willBreak: willBreak$3 + } +} = doc; +const { + printMemberLookup +} = member; +const { + printOptionalToken: printOptionalToken$6, + printFunctionTypeParameters: printFunctionTypeParameters$3, printBindExpressionCallee: printBindExpressionCallee$1 -} = misc; // We detect calls on member expressions specially to format a +} = misc$1; // We detect calls on member expressions specially to format a // common pattern better. The pattern we are looking for is this: // // arr @@ -41389,43 +44178,43 @@ function printMemberChain(path, options, print) { const { originalText } = options; - const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$3(originalText, node, options.locEnd); + const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$1(originalText, node, locEnd$l); const nextChar = originalText.charAt(nextCharIndex); // if it is cut off by a parenthesis, we only account for one typed empty // line after that parenthesis if (nextChar === ")") { - return nextCharIndex !== false && isNextLineEmptyAfterIndex$2(originalText, nextCharIndex + 1); + return nextCharIndex !== false && isNextLineEmptyAfterIndex(originalText, nextCharIndex + 1); } - return isNextLineEmpty$3(originalText, node, options.locEnd); + return isNextLineEmpty$9(node, options); } function rec(path) { const node = path.getValue(); - if (isCallOrOptionalCallExpression$1(node) && (isMemberish$1(node.callee) || isCallOrOptionalCallExpression$1(node.callee))) { + if (isCallExpression$6(node) && (isMemberish$1(node.callee) || isCallExpression$6(node.callee))) { printedNodes.unshift({ node, - printed: concat$8([comments.printComments(path, () => concat$8([printOptionalToken$1(path), printFunctionTypeParameters$1(path, options, print), callArguments(path, options, print)]), options), shouldInsertEmptyLineAfter(node) ? hardline$5 : ""]) + printed: [printComments$3(path, [printOptionalToken$6(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)], options), shouldInsertEmptyLineAfter(node) ? hardline$q : ""] }); path.call(callee => rec(callee), "callee"); } else if (isMemberish$1(node)) { printedNodes.unshift({ node, needsParens: needsParens_1(path, options), - printed: comments.printComments(path, () => node.type === "OptionalMemberExpression" || node.type === "MemberExpression" ? printMemberLookup$1(path, options, print) : printBindExpressionCallee$1(path, options, print), options) + printed: printComments$3(path, isMemberExpression$4(node) ? printMemberLookup(path, options, print) : printBindExpressionCallee$1(path, options, print), options) }); path.call(object => rec(object), "object"); } else if (node.type === "TSNonNullExpression") { printedNodes.unshift({ node, - printed: comments.printComments(path, () => "!", options) + printed: printComments$3(path, "!", options) }); path.call(expression => rec(expression), "expression"); } else { printedNodes.unshift({ node, - printed: path.call(print) + printed: print() }); } } // Note: the comments of the root node have already been printed, so we @@ -41436,7 +44225,7 @@ function printMemberChain(path, options, print) { const node = path.getValue(); printedNodes.unshift({ node, - printed: concat$8([printOptionalToken$1(path), printFunctionTypeParameters$1(path, options, print), callArguments(path, options, print)]) + printed: [printOptionalToken$6(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)] }); if (node.callee) { @@ -41471,14 +44260,14 @@ function printMemberChain(path, options, print) { let i = 1; for (; i < printedNodes.length; ++i) { - if (printedNodes[i].node.type === "TSNonNullExpression" || isCallOrOptionalCallExpression$1(printedNodes[i].node) || (printedNodes[i].node.type === "MemberExpression" || printedNodes[i].node.type === "OptionalMemberExpression") && printedNodes[i].node.computed && isNumericLiteral$2(printedNodes[i].node.property)) { + if (printedNodes[i].node.type === "TSNonNullExpression" || isCallExpression$6(printedNodes[i].node) || isMemberExpression$4(printedNodes[i].node) && printedNodes[i].node.computed && isNumericLiteral$2(printedNodes[i].node.property)) { currentGroup.push(printedNodes[i]); } else { break; } } - if (!isCallOrOptionalCallExpression$1(printedNodes[0].node)) { + if (!isCallExpression$6(printedNodes[0].node)) { for (; i + 1 < printedNodes.length; ++i) { if (isMemberish$1(printedNodes[i].node) && isMemberish$1(printedNodes[i + 1].node)) { currentGroup.push(printedNodes[i]); @@ -41510,13 +44299,13 @@ function printMemberChain(path, options, print) { hasSeenCallExpression = false; } - if (isCallOrOptionalCallExpression$1(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { + if (isCallExpression$6(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { hasSeenCallExpression = true; } currentGroup.push(printedNodes[i]); - if (printedNodes[i].node.comments && printedNodes[i].node.comments.some(comment => comment.trailing)) { + if (hasComment$b(printedNodes[i].node, CommentCheckFlags$9.Trailing)) { groups.push(currentGroup); currentGroup = []; hasSeenCallExpression = false; @@ -41555,28 +44344,28 @@ function printMemberChain(path, options, print) { } function shouldNotWrap(groups) { - const hasComputed = groups[1].length && groups[1][0].node.computed; + const hasComputed = groups[1].length > 0 && groups[1][0].node.computed; if (groups[0].length === 1) { const firstNode = groups[0][0].node; return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (isFactory(firstNode.name) || isExpressionStatement && isShort(firstNode.name) || hasComputed); } - const lastNode = getLast$4(groups[0]).node; - return (lastNode.type === "MemberExpression" || lastNode.type === "OptionalMemberExpression") && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); + const lastNode = getLast$7(groups[0]).node; + return isMemberExpression$4(lastNode) && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); } - const shouldMerge = groups.length >= 2 && !groups[1][0].node.comments && shouldNotWrap(groups); + const shouldMerge = groups.length >= 2 && !hasComment$b(groups[1][0].node) && shouldNotWrap(groups); function printGroup(printedGroup) { const printed = printedGroup.map(tuple => tuple.printed); // Checks if the last node (i.e. the parent node) needs parens and print // accordingly - if (printedGroup.length > 0 && printedGroup[printedGroup.length - 1].needsParens) { - return concat$8(["(", ...printed, ")"]); + if (printedGroup.length > 0 && getLast$7(printedGroup).needsParens) { + return ["(", ...printed, ")"]; } - return concat$8(printed); + return printed; } function printIndentedGroup(groups) { @@ -41585,161 +44374,2837 @@ function printMemberChain(path, options, print) { return ""; } - return indent$5(group$4(concat$8([hardline$5, join$4(hardline$5, groups.map(printGroup))]))); + return indent$l(group$r([hardline$q, join$m(hardline$q, groups.map(printGroup))])); } const printedGroups = groups.map(printGroup); - const oneLine = concat$8(printedGroups); + const oneLine = printedGroups; const cutoff = shouldMerge ? 3 : 2; - const flatGroups = flatten_1(groups); - const hasComment = flatGroups.slice(1, -1).some(node => hasLeadingComment$4(node.node)) || flatGroups.slice(0, -1).some(node => hasTrailingComment$2(node.node)) || groups[cutoff] && hasLeadingComment$4(groups[cutoff][0].node); // If we only have a single `.`, we shouldn't do anything fancy and just + const flatGroups = groups.flat(); + const nodeHasComment = flatGroups.slice(1, -1).some(node => hasComment$b(node.node, CommentCheckFlags$9.Leading)) || flatGroups.slice(0, -1).some(node => hasComment$b(node.node, CommentCheckFlags$9.Trailing)) || groups[cutoff] && hasComment$b(groups[cutoff][0].node, CommentCheckFlags$9.Leading); // If we only have a single `.`, we shouldn't do anything fancy and just // render everything concatenated together. - if (groups.length <= cutoff && !hasComment) { - if (isLongCurriedCallExpression$2(path)) { + if (groups.length <= cutoff && !nodeHasComment) { + if (isLongCurriedCallExpression(path)) { return oneLine; } - return group$4(oneLine); + return group$r(oneLine); } // Find out the last node in the first group and check if it has an // empty line after - const lastNodeBeforeIndent = getLast$4(groups[shouldMerge ? 1 : 0]).node; - const shouldHaveEmptyLineBeforeIndent = !isCallOrOptionalCallExpression$1(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); - const expanded = concat$8([printGroup(groups[0]), shouldMerge ? concat$8(groups.slice(1, 2).map(printGroup)) : "", shouldHaveEmptyLineBeforeIndent ? hardline$5 : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]); + const lastNodeBeforeIndent = getLast$7(groups[shouldMerge ? 1 : 0]).node; + const shouldHaveEmptyLineBeforeIndent = !isCallExpression$6(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); + const expanded = [printGroup(groups[0]), shouldMerge ? groups.slice(1, 2).map(printGroup) : "", shouldHaveEmptyLineBeforeIndent ? hardline$q : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]; const callExpressions = printedNodes.map(({ node - }) => node).filter(isCallOrOptionalCallExpression$1); + }) => node).filter(isCallExpression$6); function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { - const lastGroupNode = getLast$4(getLast$4(groups)).node; - const lastGroupDoc = getLast$4(printedGroups); - return isCallOrOptionalCallExpression$1(lastGroupNode) && willBreak$2(lastGroupDoc) && callExpressions.slice(0, -1).some(n => n.arguments.some(isFunctionOrArrowExpression$1)); - } // We don't want to print in one line if at least one of these conditions occurs: + const lastGroupNode = getLast$7(getLast$7(groups)).node; + const lastGroupDoc = getLast$7(printedGroups); + return isCallExpression$6(lastGroupNode) && willBreak$3(lastGroupDoc) && callExpressions.slice(0, -1).some(node => node.arguments.some(isFunctionOrArrowExpression)); + } + + let result; // We don't want to print in one line if at least one of these conditions occurs: // * the chain has comments, // * the chain is an expression statement and all the arguments are literal-like ("fluent configuration" pattern), // * the chain is longer than 2 calls and has non-trivial arguments or more than 2 arguments in any call but the first one, // * any group but the last one has a hard line, // * the last call's arguments have a hard line and other calls have non-trivial arguments. - - if (hasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument$1(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$2) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { - return group$4(expanded); + if (nodeHasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$3) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { + result = group$r(expanded); + } else { + result = [// We only need to check `oneLine` because if `expanded` is chosen + // that means that the parent group has already been broken + // naturally + willBreak$3(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$6 : "", conditionalGroup$2([oneLine, expanded])]; } - return concat$8([// We only need to check `oneLine` because if `expanded` is chosen - // that means that the parent group has already been broken - // naturally - willBreak$2(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$3 : "", conditionalGroup$2([oneLine, expanded])]); + return label$1("member-chain", result); } var memberChain = printMemberChain; const { builders: { - concat: concat$9, - softline: softline$4, - group: group$5, - indent: indent$6, - join: join$5, - line: line$6, - ifBreak: ifBreak$2 + join: join$l, + group: group$q } -} = document; +} = doc; const { - shouldPrintComma: shouldPrintComma$2 -} = utils$6; + getCallArguments: getCallArguments$2, + hasFlowAnnotationComment, + isCallExpression: isCallExpression$5, + isMemberish, + isStringLiteral: isStringLiteral$2, + isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1, + isTestCall: isTestCall$2, + iterateCallArgumentsPath +} = utils$5; +const { + printOptionalToken: printOptionalToken$5, + printFunctionTypeParameters: printFunctionTypeParameters$2 +} = misc$1; + +function printCallExpression$2(path, options, print) { + const node = path.getValue(); + const parentNode = path.getParentNode(); + const isNew = node.type === "NewExpression"; + const isDynamicImport = node.type === "ImportExpression"; + const optional = printOptionalToken$5(path); + const args = getCallArguments$2(node); + + if ( // Dangling comments are not handled, all these special cases should have arguments #9668 + args.length > 0 && ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style + // define calls, as a unit. + // e.g. `define(["some/lib"], (lib) => {` + !isDynamicImport && !isNew && isCommonsJsOrAmdCall(node, parentNode) || // Template literals as single arguments + args.length === 1 && isTemplateOnItsOwnLine$1(args[0], options.originalText) || // Keep test declarations on a single line + // e.g. `it('long name', () => {` + !isNew && isTestCall$2(node, parentNode))) { + const printed = []; + iterateCallArgumentsPath(path, () => { + printed.push(print()); + }); + return [isNew ? "new " : "", print("callee"), optional, printFunctionTypeParameters$2(path, options, print), "(", join$l(", ", printed), ")"]; + } // Inline Flow annotation comments following Identifiers in Call nodes need to + // stay with the Identifier. For example: + // + // foo /*:: */(bar); + // + // Here, we ensure that such comments stay between the Identifier and the Callee. + + + const isIdentifierWithFlowAnnotation = (options.parser === "babel" || options.parser === "babel-flow") && node.callee && node.callee.type === "Identifier" && hasFlowAnnotationComment(node.callee.trailingComments); + + if (isIdentifierWithFlowAnnotation) { + node.callee.trailingComments[0].printed = true; + } // We detect calls on member lookups and possibly print them in a + // special chain format. See `printMemberChain` for more info. + + + if (!isDynamicImport && !isNew && isMemberish(node.callee) && !path.call(path => needsParens_1(path, options), "callee")) { + return memberChain(path, options, print); + } + + const contents = [isNew ? "new " : "", isDynamicImport ? "import" : print("callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${node.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters$2(path, options, print), callArguments(path, options, print)]; // We group here when the callee is itself a call expression. + // See `isLongCurriedCallExpression` for more info. + + if (isDynamicImport || isCallExpression$5(node.callee)) { + return group$q(contents); + } + + return contents; +} + +function isCommonsJsOrAmdCall(node, parentNode) { + if (node.callee.type !== "Identifier") { + return false; + } + + if (node.callee.name === "require") { + return true; + } + + if (node.callee.name === "define") { + const args = getCallArguments$2(node); + return parentNode.type === "ExpressionStatement" && (args.length === 1 || args.length === 2 && args[0].type === "ArrayExpression" || args.length === 3 && isStringLiteral$2(args[0]) && args[1].type === "ArrayExpression"); + } + + return false; +} + +var callExpression = { + printCallExpression: printCallExpression$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$d, + getStringWidth: getStringWidth$1 +} = util$5; +const { + builders: { + line: line$m, + group: group$p, + indent: indent$k, + indentIfBreak: indentIfBreak$2 + }, + utils: { + cleanDoc: cleanDoc$1, + willBreak: willBreak$2 + } +} = doc; +const { + hasLeadingOwnLineComment: hasLeadingOwnLineComment$2, + isBinaryish: isBinaryish$1, + isStringLiteral: isStringLiteral$1, + isLiteral: isLiteral$1, + isNumericLiteral: isNumericLiteral$1, + isCallExpression: isCallExpression$4, + isMemberExpression: isMemberExpression$3, + getCallArguments: getCallArguments$1, + rawText: rawText$3, + hasComment: hasComment$a, + isSignedNumericLiteral, + isObjectProperty +} = utils$5; +const { + shouldInlineLogicalExpression +} = binaryish; +const { + printCallExpression: printCallExpression$1 +} = callExpression; + +function printAssignment$3(path, options, print, leftDoc, operator, rightPropertyName) { + const layout = chooseLayout(path, options, print, leftDoc, rightPropertyName); + const rightDoc = print(rightPropertyName, { + assignmentLayout: layout + }); + + switch (layout) { + // First break after operator, then the sides are broken independently on their own lines + case "break-after-operator": + return group$p([group$p(leftDoc), operator, group$p(indent$k([line$m, rightDoc]))]); + // First break right-hand side, then left-hand side + + case "never-break-after-operator": + return group$p([group$p(leftDoc), operator, " ", rightDoc]); + // First break right-hand side, then after operator + + case "fluid": + { + const groupId = Symbol("assignment"); + return group$p([group$p(leftDoc), operator, group$p(indent$k(line$m), { + id: groupId + }), indentIfBreak$2(rightDoc, { + groupId + })]); + } + + case "break-lhs": + return group$p([leftDoc, operator, " ", group$p(rightDoc)]); + // Parts of assignment chains aren't wrapped in groups. + // Once one of them breaks, the chain breaks too. + + case "chain": + return [group$p(leftDoc), operator, line$m, rightDoc]; + + case "chain-tail": + return [group$p(leftDoc), operator, indent$k([line$m, rightDoc])]; + + case "chain-tail-arrow-chain": + return [group$p(leftDoc), operator, rightDoc]; + + case "only-left": + return leftDoc; + } +} + +function printAssignmentExpression$1(path, options, print) { + const node = path.getValue(); + return printAssignment$3(path, options, print, print("left"), [" ", node.operator], "right"); +} + +function printVariableDeclarator$1(path, options, print) { + return printAssignment$3(path, options, print, print("id"), " =", "init"); +} + +function chooseLayout(path, options, print, leftDoc, rightPropertyName) { + const node = path.getValue(); + const rightNode = node[rightPropertyName]; + + if (!rightNode) { + return "only-left"; + } // Short assignment chains (only 2 segments) are NOT formatted as chains. + // 1) a = b = c; (expression statements) + // 2) var/let/const a = b = c; + + + const isTail = !isAssignment(rightNode); + const shouldUseChainFormatting = path.match(isAssignment, isAssignmentOrVariableDeclarator, node => !isTail || node.type !== "ExpressionStatement" && node.type !== "VariableDeclaration"); + + if (shouldUseChainFormatting) { + return !isTail ? "chain" : rightNode.type === "ArrowFunctionExpression" && rightNode.body.type === "ArrowFunctionExpression" ? "chain-tail-arrow-chain" : "chain-tail"; + } + + const isHeadOfLongChain = !isTail && isAssignment(rightNode.right); + + if (isHeadOfLongChain || hasLeadingOwnLineComment$2(options.originalText, rightNode)) { + return "break-after-operator"; + } + + if (rightNode.type === "CallExpression" && rightNode.callee.name === "require" || // do not put values on a separate line from the key in json + options.parser === "json5" || options.parser === "json") { + return "never-break-after-operator"; + } + + if (isComplexDestructuring(node) || isComplexTypeAliasParams(node) || hasComplexTypeAnnotation(node)) { + return "break-lhs"; + } // wrapping object properties with very short keys usually doesn't add much value + + + const hasShortKey = isObjectPropertyWithShortKey(node, leftDoc, options); + + if (path.call(() => shouldBreakAfterOperator(path, options, print, hasShortKey), rightPropertyName)) { + return "break-after-operator"; + } + + if (hasShortKey || rightNode.type === "TemplateLiteral" || rightNode.type === "TaggedTemplateExpression" || rightNode.type === "BooleanLiteral" || isNumericLiteral$1(rightNode) || rightNode.type === "ClassExpression") { + return "never-break-after-operator"; + } + + return "fluid"; +} + +function shouldBreakAfterOperator(path, options, print, hasShortKey) { + const rightNode = path.getValue(); + + if (isBinaryish$1(rightNode) && !shouldInlineLogicalExpression(rightNode)) { + return true; + } + + switch (rightNode.type) { + case "StringLiteralTypeAnnotation": + case "SequenceExpression": + return true; + + case "ConditionalExpression": + { + const { + test + } = rightNode; + return isBinaryish$1(test) && !shouldInlineLogicalExpression(test); + } + + case "ClassExpression": + return isNonEmptyArray$d(rightNode.decorators); + } + + if (hasShortKey) { + return false; + } + + let node = rightNode; + const propertiesForPath = []; + + for (;;) { + if (node.type === "UnaryExpression") { + node = node.argument; + propertiesForPath.push("argument"); + } else if (node.type === "TSNonNullExpression") { + node = node.expression; + propertiesForPath.push("expression"); + } else { + break; + } + } + + if (isStringLiteral$1(node) || path.call(() => isPoorlyBreakableMemberOrCallChain(path, options, print), ...propertiesForPath)) { + return true; + } + + return false; +} // prefer to break destructuring assignment +// if it includes default values or non-shorthand properties + + +function isComplexDestructuring(node) { + if (isAssignmentOrVariableDeclarator(node)) { + const leftNode = node.left || node.id; + return leftNode.type === "ObjectPattern" && leftNode.properties.length > 2 && leftNode.properties.some(property => isObjectProperty(property) && (!property.shorthand || property.value && property.value.type === "AssignmentPattern")); + } + + return false; +} + +function isAssignment(node) { + return node.type === "AssignmentExpression"; +} + +function isAssignmentOrVariableDeclarator(node) { + return isAssignment(node) || node.type === "VariableDeclarator"; +} + +function isComplexTypeAliasParams(node) { + const typeParams = getTypeParametersFromTypeAlias(node); + + if (isNonEmptyArray$d(typeParams)) { + const constraintPropertyName = node.type === "TSTypeAliasDeclaration" ? "constraint" : "bound"; + + if (typeParams.length > 1 && typeParams.some(param => param[constraintPropertyName] || param.default)) { + return true; + } + } + + return false; +} + +function getTypeParametersFromTypeAlias(node) { + if (isTypeAlias(node) && node.typeParameters && node.typeParameters.params) { + return node.typeParameters.params; + } + + return null; +} + +function isTypeAlias(node) { + return node.type === "TSTypeAliasDeclaration" || node.type === "TypeAlias"; +} + +function hasComplexTypeAnnotation(node) { + if (node.type !== "VariableDeclarator") { + return false; + } + + const { + typeAnnotation + } = node.id; + + if (!typeAnnotation || !typeAnnotation.typeAnnotation) { + return false; + } + + const typeParams = getTypeParametersFromTypeReference(typeAnnotation.typeAnnotation); + return isNonEmptyArray$d(typeParams) && typeParams.length > 1 && typeParams.some(param => isNonEmptyArray$d(getTypeParametersFromTypeReference(param)) || param.type === "TSConditionalType"); +} + +function getTypeParametersFromTypeReference(node) { + if (isTypeReference(node) && node.typeParameters && node.typeParameters.params) { + return node.typeParameters.params; + } + + return null; +} + +function isTypeReference(node) { + return node.type === "TSTypeReference" || node.type === "GenericTypeAnnotation"; +} +/** + * A chain with no calls at all or whose calls are all without arguments or with lone short arguments, + * excluding chains printed by `printMemberChain` + */ + + +function isPoorlyBreakableMemberOrCallChain(path, options, print, deep = false) { + const node = path.getValue(); + + const goDeeper = () => isPoorlyBreakableMemberOrCallChain(path, options, print, true); + + if (node.type === "TSNonNullExpression") { + return path.call(goDeeper, "expression"); + } + + if (isCallExpression$4(node)) { + /** @type {any} TODO */ + const doc = printCallExpression$1(path, options, print); + + if (doc.label === "member-chain") { + return false; + } + + const args = getCallArguments$1(node); + const isPoorlyBreakableCall = args.length === 0 || args.length === 1 && isLoneShortArgument(args[0], options); + + if (!isPoorlyBreakableCall) { + return false; + } + + if (isCallExpressionWithComplexTypeArguments(node, print)) { + return false; + } + + return path.call(goDeeper, "callee"); + } + + if (isMemberExpression$3(node)) { + return path.call(goDeeper, "object"); + } + + return deep && (node.type === "Identifier" || node.type === "ThisExpression"); +} + +const LONE_SHORT_ARGUMENT_THRESHOLD_RATE = 0.25; + +function isLoneShortArgument(node, { + printWidth +}) { + if (hasComment$a(node)) { + return false; + } + + const threshold = printWidth * LONE_SHORT_ARGUMENT_THRESHOLD_RATE; + + if (node.type === "ThisExpression" || node.type === "Identifier" && node.name.length <= threshold || isSignedNumericLiteral(node) && !hasComment$a(node.argument)) { + return true; + } + + const regexpPattern = node.type === "Literal" && "regex" in node && node.regex.pattern || node.type === "RegExpLiteral" && node.pattern; + + if (regexpPattern) { + return regexpPattern.length <= threshold; + } + + if (isStringLiteral$1(node)) { + return rawText$3(node).length <= threshold; + } + + if (node.type === "TemplateLiteral") { + return node.expressions.length === 0 && node.quasis[0].value.raw.length <= threshold && !node.quasis[0].value.raw.includes("\n"); + } + + return isLiteral$1(node); +} + +function isObjectPropertyWithShortKey(node, keyDoc, options) { + if (!isObjectProperty(node)) { + return false; + } // TODO: for performance, it might make sense to use a more lightweight + // version of cleanDoc, such that it would stop once it detects that + // the doc can't be reduced to a string. + + + keyDoc = cleanDoc$1(keyDoc); + const MIN_OVERLAP_FOR_BREAK = 3; // ↓↓ - insufficient overlap for a line break + // key1: longValue1, + // ↓↓↓↓↓↓ - overlap is long enough to break + // key2abcd: + // longValue2 + + return typeof keyDoc === "string" && getStringWidth$1(keyDoc) < options.tabWidth + MIN_OVERLAP_FOR_BREAK; +} + +function isCallExpressionWithComplexTypeArguments(node, print) { + const typeArgs = getTypeArgumentsFromCallExpression(node); + + if (isNonEmptyArray$d(typeArgs)) { + if (typeArgs.length > 1) { + return true; + } + + if (typeArgs.length === 1) { + const firstArg = typeArgs[0]; + + if (firstArg.type === "TSUnionType" || firstArg.type === "UnionTypeAnnotation" || firstArg.type === "TSIntersectionType" || firstArg.type === "IntersectionTypeAnnotation") { + return true; + } + } + + const typeArgsKeyName = node.typeParameters ? "typeParameters" : "typeArguments"; + + if (willBreak$2(print(typeArgsKeyName))) { + return true; + } + } + + return false; +} + +function getTypeArgumentsFromCallExpression(node) { + return node.typeParameters && node.typeParameters.params || node.typeArguments && node.typeArguments.params; +} + +var assignment = { + printVariableDeclarator: printVariableDeclarator$1, + printAssignmentExpression: printAssignmentExpression$1, + printAssignment: printAssignment$3 +}; + +const { + getNextNonSpaceNonCommentCharacter +} = util$5; +const { + printDanglingComments: printDanglingComments$a +} = comments$1; +const { + builders: { + line: line$l, + hardline: hardline$p, + softline: softline$i, + group: group$o, + indent: indent$j, + ifBreak: ifBreak$h + }, + utils: { + removeLines: removeLines$2, + willBreak: willBreak$1 + } +} = doc; +const { + getFunctionParameters: getFunctionParameters$2, + iterateFunctionParametersPath, + isSimpleType: isSimpleType$1, + isTestCall: isTestCall$1, + isTypeAnnotationAFunction, + isObjectType: isObjectType$1, + isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1, + hasRestParameter, + shouldPrintComma: shouldPrintComma$8, + hasComment: hasComment$9, + isNextLineEmpty: isNextLineEmpty$8 +} = utils$5; +const { + locEnd: locEnd$k +} = loc$6; +const { + ArgExpansionBailout: ArgExpansionBailout$1 +} = errors; +const { + printFunctionTypeParameters: printFunctionTypeParameters$1 +} = misc$1; + +function printFunctionParameters$3(path, print, options, expandArg, printTypeParams) { + const functionNode = path.getValue(); + const parameters = getFunctionParameters$2(functionNode); + const typeParams = printTypeParams ? printFunctionTypeParameters$1(path, options, print) : ""; + + if (parameters.length === 0) { + return [typeParams, "(", printDanglingComments$a(path, options, + /* sameIndent */ + true, comment => getNextNonSpaceNonCommentCharacter(options.originalText, comment, locEnd$k) === ")"), ")"]; + } + + const parent = path.getParentNode(); + const isParametersInTestCall = isTestCall$1(parent); + const shouldHugParameters = shouldHugFunctionParameters$1(functionNode); + const printed = []; + iterateFunctionParametersPath(path, (parameterPath, index) => { + const isLastParameter = index === parameters.length - 1; + + if (isLastParameter && functionNode.rest) { + printed.push("..."); + } + + printed.push(print()); + + if (isLastParameter) { + return; + } + + printed.push(","); + + if (isParametersInTestCall || shouldHugParameters) { + printed.push(" "); + } else if (isNextLineEmpty$8(parameters[index], options)) { + printed.push(hardline$p, hardline$p); + } else { + printed.push(line$l); + } + }); // If the parent is a call with the first/last argument expansion and this is the + // params of the first/last argument, we don't want the arguments to break and instead + // want the whole expression to be on a new line. + // + // Good: Bad: + // verylongcall( verylongcall(( + // (a, b) => { a, + // } b, + // ) ) => { + // }) + + if (expandArg) { + if (willBreak$1(typeParams) || willBreak$1(printed)) { + // Removing lines in this case leads to broken or ugly output + throw new ArgExpansionBailout$1(); + } + + return group$o([removeLines$2(typeParams), "(", removeLines$2(printed), ")"]); + } // Single object destructuring should hug + // + // function({ + // a, + // b, + // c + // }) {} + + + const hasNotParameterDecorator = parameters.every(node => !node.decorators); + + if (shouldHugParameters && hasNotParameterDecorator) { + return [typeParams, "(", ...printed, ")"]; + } // don't break in specs, eg; `it("should maintain parens around done even when long", (done) => {})` + + + if (isParametersInTestCall) { + return [typeParams, "(", ...printed, ")"]; + } + + const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent) || isTypeAnnotationAFunction(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && // `type q = (this: string) => void;` + functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType$1(parameters[0].typeAnnotation) && !functionNode.rest; + + if (isFlowShorthandWithOneArg) { + if (options.arrowParens === "always") { + return ["(", ...printed, ")"]; + } + + return printed; + } + + return [typeParams, "(", indent$j([softline$i, ...printed]), ifBreak$h(!hasRestParameter(functionNode) && shouldPrintComma$8(options, "all") ? "," : ""), softline$i, ")"]; +} + +function shouldHugFunctionParameters$1(node) { + if (!node) { + return false; + } + + const parameters = getFunctionParameters$2(node); + + if (parameters.length !== 1) { + return false; + } + + const [parameter] = parameters; + return !hasComment$9(parameter) && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType$1(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType$1(parameter.typeAnnotation) || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || parameter.right.type === "ObjectExpression" && parameter.right.properties.length === 0 || parameter.right.type === "ArrayExpression" && parameter.right.elements.length === 0)); +} + +function getReturnTypeNode(functionNode) { + let returnTypeNode; + + if (functionNode.returnType) { + returnTypeNode = functionNode.returnType; + + if (returnTypeNode.typeAnnotation) { + returnTypeNode = returnTypeNode.typeAnnotation; + } + } else if (functionNode.typeAnnotation) { + returnTypeNode = functionNode.typeAnnotation; + } + + return returnTypeNode; +} // When parameters are grouped, the return type annotation breaks first. + + +function shouldGroupFunctionParameters$3(functionNode, returnTypeDoc) { + const returnTypeNode = getReturnTypeNode(functionNode); + + if (!returnTypeNode) { + return false; + } + + const typeParameters = functionNode.typeParameters && functionNode.typeParameters.params; + + if (typeParameters) { + if (typeParameters.length > 1) { + return false; + } + + if (typeParameters.length === 1) { + const typeParameter = typeParameters[0]; + + if (typeParameter.constraint || typeParameter.default) { + return false; + } + } + } + + return getFunctionParameters$2(functionNode).length === 1 && (isObjectType$1(returnTypeNode) || willBreak$1(returnTypeDoc)); +} + +var functionParameters = { + printFunctionParameters: printFunctionParameters$3, + shouldHugFunctionParameters: shouldHugFunctionParameters$1, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$3 +}; + +const { + printComments: printComments$2, + printDanglingComments: printDanglingComments$9 +} = comments$1; +const { + getLast: getLast$6 +} = util$5; +const { + builders: { + group: group$n, + join: join$k, + line: line$k, + softline: softline$h, + indent: indent$i, + align: align$3, + ifBreak: ifBreak$g + } +} = doc; +const { + locStart: locStart$l +} = loc$6; +const { + isSimpleType, + isObjectType, + hasLeadingOwnLineComment: hasLeadingOwnLineComment$1, + isObjectTypePropertyAFunction, + shouldPrintComma: shouldPrintComma$7 +} = utils$5; +const { + printAssignment: printAssignment$2 +} = assignment; +const { + printFunctionParameters: printFunctionParameters$2, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$2 +} = functionParameters; +const { + printArrayItems: printArrayItems$2 +} = array; + +function shouldHugType$2(node) { + if (isSimpleType(node) || isObjectType(node)) { + return true; + } + + if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { + const voidCount = node.types.filter(node => node.type === "VoidTypeAnnotation" || node.type === "TSVoidKeyword" || node.type === "NullLiteralTypeAnnotation" || node.type === "TSNullKeyword").length; + const hasObject = node.types.some(node => node.type === "ObjectTypeAnnotation" || node.type === "TSTypeLiteral" || // This is a bit aggressive but captures Array<{x}> + node.type === "GenericTypeAnnotation" || node.type === "TSTypeReference"); + + if (node.types.length - 1 === voidCount && hasObject) { + return true; + } + } + + return false; +} + +function printOpaqueType$1(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + const parts = []; + parts.push("opaque type ", print("id"), print("typeParameters")); + + if (node.supertype) { + parts.push(": ", print("supertype")); + } + + if (node.impltype) { + parts.push(" = ", print("impltype")); + } + + parts.push(semi); + return parts; +} + +function printTypeAlias$2(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + parts.push("type ", print("id"), print("typeParameters")); + const rightPropertyName = node.type === "TSTypeAliasDeclaration" ? "typeAnnotation" : "right"; + return [printAssignment$2(path, options, print, parts, " =", rightPropertyName), semi]; +} // `TSIntersectionType` and `IntersectionTypeAnnotation` + + +function printIntersectionType$2(path, options, print) { + const node = path.getValue(); + const types = path.map(print, "types"); + const result = []; + let wasIndented = false; + + for (let i = 0; i < types.length; ++i) { + if (i === 0) { + result.push(types[i]); + } else if (isObjectType(node.types[i - 1]) && isObjectType(node.types[i])) { + // If both are objects, don't indent + result.push([" & ", wasIndented ? indent$i(types[i]) : types[i]]); + } else if (!isObjectType(node.types[i - 1]) && !isObjectType(node.types[i])) { + // If no object is involved, go to the next line if it breaks + result.push(indent$i([" &", line$k, types[i]])); + } else { + // If you go from object to non-object or vis-versa, then inline it + if (i > 1) { + wasIndented = true; + } + + result.push(" & ", i > 1 ? indent$i(types[i]) : types[i]); + } + } + + return group$n(result); +} // `TSUnionType` and `UnionTypeAnnotation` + + +function printUnionType$2(path, options, print) { + const node = path.getValue(); // single-line variation + // A | B | C + // multi-line variation + // | A + // | B + // | C + + const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation + + const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.getParentNode(1).this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment$1(options.originalText, node)); // { + // a: string + // } | null | void + // should be inlined and not be printed in the multi-line variant + + const shouldHug = shouldHugType$2(node); // We want to align the children but without its comment, so it looks like + // | child1 + // // comment + // | child2 + + const printed = path.map(typePath => { + let printedType = print(); + + if (!shouldHug) { + printedType = align$3(2, printedType); + } + + return printComments$2(typePath, printedType, options); + }, "types"); + + if (shouldHug) { + return join$k(" | ", printed); + } + + const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$1(options.originalText, node); + const code = [ifBreak$g([shouldAddStartLine ? line$k : "", "| "]), join$k([line$k, "| "], printed)]; + + if (needsParens_1(path, options)) { + return group$n([indent$i(code), softline$h]); + } + + if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { + return group$n([indent$i([ifBreak$g(["(", softline$h]), code]), softline$h, ifBreak$g(")")]); + } + + return group$n(shouldIndent ? indent$i(code) : code); +} // `TSFunctionType` and `FunctionTypeAnnotation` + + +function printFunctionType$2(path, options, print) { + const node = path.getValue(); + const parts = []; // FunctionTypeAnnotation is ambiguous: + // declare function foo(a: B): void; OR + // var A: (a: B) => void; + + const parent = path.getParentNode(0); + const parentParent = path.getParentNode(1); + const parentParentParent = path.getParentNode(2); + let isArrowFunctionTypeAnnotation = node.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && locStart$l(parent) === locStart$l(node) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); + let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); // Sadly we can't put it inside of AstPath::needsColon because we are + // printing ":" as part of the expression and it would put parenthesis + // around :( + + const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; + + if (isObjectTypePropertyAFunction(parent)) { + isArrowFunctionTypeAnnotation = true; + needsColon = true; + } + + if (needsParens) { + parts.push("("); + } + + const parametersDoc = printFunctionParameters$2(path, print, options, + /* expandArg */ + false, + /* printTypeParams */ + true); // The returnType is not wrapped in a TypeAnnotation, so the colon + // needs to be added separately. + + const returnTypeDoc = node.returnType || node.predicate || node.typeAnnotation ? [isArrowFunctionTypeAnnotation ? " => " : ": ", print("returnType"), print("predicate"), print("typeAnnotation")] : ""; + const shouldGroupParameters = shouldGroupFunctionParameters$2(node, returnTypeDoc); + parts.push(shouldGroupParameters ? group$n(parametersDoc) : parametersDoc); + + if (returnTypeDoc) { + parts.push(returnTypeDoc); + } + + if (needsParens) { + parts.push(")"); + } + + return group$n(parts); +} // `TSTupleType` and `TupleTypeAnnotation` + + +function printTupleType$2(path, options, print) { + const node = path.getValue(); + const typesField = node.type === "TSTupleType" ? "elementTypes" : "types"; + const hasRest = node[typesField].length > 0 && getLast$6(node[typesField]).type === "TSRestType"; + return group$n(["[", indent$i([softline$h, printArrayItems$2(path, options, typesField, print)]), ifBreak$g(shouldPrintComma$7(options, "all") && !hasRest ? "," : ""), printDanglingComments$9(path, options, + /* sameIndent */ + true), softline$h, "]"]); +} // `TSIndexedAccessType`, `IndexedAccessType`, and `OptionalIndexedAccessType` + + +function printIndexedAccessType$2(path, options, print) { + const node = path.getValue(); + const leftDelimiter = node.type === "OptionalIndexedAccessType" && node.optional ? "?.[" : "["; + return [print("objectType"), leftDelimiter, print("indexType"), "]"]; +} + +var typeAnnotation = { + printOpaqueType: printOpaqueType$1, + printTypeAlias: printTypeAlias$2, + printIntersectionType: printIntersectionType$2, + printUnionType: printUnionType$2, + printFunctionType: printFunctionType$2, + printTupleType: printTupleType$2, + printIndexedAccessType: printIndexedAccessType$2, + shouldHugType: shouldHugType$2 +}; + +const { + printDanglingComments: printDanglingComments$8 +} = comments$1; +const { + builders: { + join: join$j, + line: line$j, + hardline: hardline$o, + softline: softline$g, + group: group$m, + indent: indent$h, + ifBreak: ifBreak$f + } +} = doc; +const { + isTestCall, + hasComment: hasComment$8, + CommentCheckFlags: CommentCheckFlags$8, + isTSXFile, + shouldPrintComma: shouldPrintComma$6, + getFunctionParameters: getFunctionParameters$1 +} = utils$5; +const { + createGroupIdMapper: createGroupIdMapper$1 +} = util$5; +const { + shouldHugType: shouldHugType$1 +} = typeAnnotation; +const getTypeParametersGroupId$2 = createGroupIdMapper$1("typeParameters"); + +function printTypeParameters$2(path, options, print, paramsKey) { + const node = path.getValue(); + + if (!node[paramsKey]) { + return ""; + } // for TypeParameterDeclaration typeParameters is a single node + + + if (!Array.isArray(node[paramsKey])) { + return print(paramsKey); + } + + const grandparent = path.getNode(2); + const isParameterInTestCall = grandparent && isTestCall(grandparent); + const shouldInline = isParameterInTestCall || node[paramsKey].length === 0 || node[paramsKey].length === 1 && (shouldHugType$1(node[paramsKey][0]) || node[paramsKey][0].type === "NullableTypeAnnotation"); + + if (shouldInline) { + return ["<", join$j(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(path, options), ">"]; + } // Keep comma if the file extension is .tsx and + // has one type parameter that isn't extend with any types. + // Because, otherwise formatted result will be invalid as tsx. + + + const trailingComma = node.type === "TSTypeParameterInstantiation" // https://github.com/microsoft/TypeScript/issues/21984 + ? "" : getFunctionParameters$1(node).length === 1 && isTSXFile(options) && !node[paramsKey][0].constraint && path.getParentNode().type === "ArrowFunctionExpression" ? "," : shouldPrintComma$6(options, "all") ? ifBreak$f(",") : ""; + return group$m(["<", indent$h([softline$g, join$j([",", line$j], path.map(print, paramsKey))]), trailingComma, softline$g, ">"], { + id: getTypeParametersGroupId$2(node) + }); +} + +function printDanglingCommentsForInline(path, options) { + const node = path.getValue(); + + if (!hasComment$8(node, CommentCheckFlags$8.Dangling)) { + return ""; + } + + const hasOnlyBlockComments = !hasComment$8(node, CommentCheckFlags$8.Line); + const printed = printDanglingComments$8(path, options, + /* sameIndent */ + hasOnlyBlockComments); + + if (hasOnlyBlockComments) { + return printed; + } + + return [printed, hardline$o]; +} + +function printTypeParameter$2(path, options, print) { + const node = path.getValue(); + const parts = []; + const parent = path.getParentNode(); + + if (parent.type === "TSMappedType") { + parts.push("[", print("name")); + + if (node.constraint) { + parts.push(" in ", print("constraint")); + } + + if (parent.nameType) { + parts.push(" as ", path.callParent(() => print("nameType"))); + } + + parts.push("]"); + return parts; + } + + if (node.variance) { + parts.push(print("variance")); + } + + parts.push(print("name")); + + if (node.bound) { + parts.push(": ", print("bound")); + } + + if (node.constraint) { + parts.push(" extends ", print("constraint")); + } + + if (node.default) { + parts.push(" = ", print("default")); + } + + return parts; +} + +var typeParameters = { + printTypeParameter: printTypeParameter$2, + printTypeParameters: printTypeParameters$2, + getTypeParametersGroupId: getTypeParametersGroupId$2 +}; + +const { + printComments: printComments$1 +} = comments$1; +const { + printString: printString$3, + printNumber: printNumber$3 +} = util$5; +const { + isNumericLiteral, + isSimpleNumber, + isStringLiteral, + isStringPropSafeToUnquote, + rawText: rawText$2 +} = utils$5; +const { + printAssignment: printAssignment$1 +} = assignment; +const needsQuoteProps = new WeakMap(); + +function printPropertyKey$4(path, options, print) { + const node = path.getNode(); + + if (node.computed) { + return ["[", print("key"), "]"]; + } + + const parent = path.getParentNode(); + const { + key + } = node; // flow has `Identifier` key, other parsers use `PrivateIdentifier` (ESTree) or `PrivateName` + + if (node.type === "ClassPrivateProperty" && key.type === "Identifier") { + return ["#", print("key")]; + } + + if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { + const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral(prop.key) && !isStringPropSafeToUnquote(prop, options)); + needsQuoteProps.set(parent, objectHasStringProp); + } + + if ((key.type === "Identifier" || isNumericLiteral(key) && isSimpleNumber(printNumber$3(rawText$2(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. + String(key.value) === printNumber$3(rawText$2(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as + // mentioned in `isStringPropSafeToUnquote`). + !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { + // a -> "a" + // 1 -> "1" + // 1.5 -> "1.5" + const prop = printString$3(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); + return path.call(keyPath => printComments$1(keyPath, prop, options), "key"); + } + + if (isStringPropSafeToUnquote(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { + // 'a' -> a + // '1' -> 1 + // '1.5' -> 1.5 + return path.call(keyPath => printComments$1(keyPath, /^\d/.test(key.value) ? printNumber$3(key.value) : key.value, options), "key"); + } + + return print("key"); +} + +function printProperty$1(path, options, print) { + const node = path.getValue(); + + if (node.shorthand) { + return print("value"); + } + + return printAssignment$1(path, options, print, printPropertyKey$4(path, options, print), ":", "value"); +} + +var property = { + printProperty: printProperty$1, + printPropertyKey: printPropertyKey$4 +}; + +/** @typedef {import("../../document/doc-builders").Doc} Doc */ + + +const { + printDanglingComments: printDanglingComments$7, + printCommentsSeparately +} = comments$1; +const { + getNextNonSpaceNonCommentCharacterIndex +} = util$5; +const { + builders: { + line: line$i, + softline: softline$f, + group: group$l, + indent: indent$g, + ifBreak: ifBreak$e, + hardline: hardline$n, + join: join$i, + indentIfBreak: indentIfBreak$1 + }, + utils: { + removeLines: removeLines$1, + willBreak + } +} = doc; +const { + ArgExpansionBailout +} = errors; +const { + getFunctionParameters, + hasLeadingOwnLineComment, + isFlowAnnotationComment, + isJsxNode: isJsxNode$2, + isTemplateOnItsOwnLine, + shouldPrintComma: shouldPrintComma$5, + startsWithNoLookaheadToken, + isBinaryish, + isLineComment: isLineComment$2, + hasComment: hasComment$7, + getComments: getComments$2, + CommentCheckFlags: CommentCheckFlags$7, + isCallLikeExpression, + isCallExpression: isCallExpression$3, + getCallArguments, + hasNakedLeftSide: hasNakedLeftSide$1, + getLeftSide +} = utils$5; +const { + locEnd: locEnd$j +} = loc$6; +const { + printFunctionParameters: printFunctionParameters$1, + shouldGroupFunctionParameters: shouldGroupFunctionParameters$1 +} = functionParameters; +const { + printPropertyKey: printPropertyKey$3 +} = property; +const { + printFunctionTypeParameters +} = misc$1; + +function printFunction$2(path, print, options, args) { + const node = path.getValue(); + let expandArg = false; + + if ((node.type === "FunctionDeclaration" || node.type === "FunctionExpression") && args && args.expandLastArg) { + const parent = path.getParentNode(); + + if (isCallExpression$3(parent) && getCallArguments(parent).length > 1) { + expandArg = true; + } + } + + const parts = []; // For TypeScript the TSDeclareFunction node shares the AST + // structure with FunctionDeclaration + + if (node.type === "TSDeclareFunction" && node.declare) { + parts.push("declare "); + } + + if (node.async) { + parts.push("async "); + } + + if (node.generator) { + parts.push("function* "); + } else { + parts.push("function "); + } + + if (node.id) { + parts.push(print("id")); + } + + const parametersDoc = printFunctionParameters$1(path, print, options, expandArg); + const returnTypeDoc = printReturnType(path, print, options); + const shouldGroupParameters = shouldGroupFunctionParameters$1(node, returnTypeDoc); + parts.push(printFunctionTypeParameters(path, options, print), group$l([shouldGroupParameters ? group$l(parametersDoc) : parametersDoc, returnTypeDoc]), node.body ? " " : "", print("body")); + + if (options.semi && (node.declare || !node.body)) { + parts.push(";"); + } + + return parts; +} + +function printMethod$2(path, options, print) { + const node = path.getNode(); + const { + kind + } = node; + const value = node.value || node; + const parts = []; + + if (!kind || kind === "init" || kind === "method" || kind === "constructor") { + if (value.async) { + parts.push("async "); + } + } else { + assert__default['default'].ok(kind === "get" || kind === "set"); + parts.push(kind, " "); + } // A `getter`/`setter` can't be a generator, but it's recoverable + + + if (value.generator) { + parts.push("*"); + } + + parts.push(printPropertyKey$3(path, options, print), node.optional || node.key.optional ? "?" : ""); + + if (node === value) { + parts.push(printMethodInternal$1(path, options, print)); + } else if (value.type === "FunctionExpression") { + parts.push(path.call(path => printMethodInternal$1(path, options, print), "value")); + } else { + parts.push(print("value")); + } + + return parts; +} + +function printMethodInternal$1(path, options, print) { + const node = path.getNode(); + const parametersDoc = printFunctionParameters$1(path, print, options); + const returnTypeDoc = printReturnType(path, print, options); + const shouldGroupParameters = shouldGroupFunctionParameters$1(node, returnTypeDoc); + const parts = [printFunctionTypeParameters(path, options, print), group$l([shouldGroupParameters ? group$l(parametersDoc) : parametersDoc, returnTypeDoc])]; + + if (node.body) { + parts.push(" ", print("body")); + } else { + parts.push(options.semi ? ";" : ""); + } + + return parts; +} + +function printArrowFunctionSignature(path, options, print, args) { + const node = path.getValue(); + const parts = []; + + if (node.async) { + parts.push("async "); + } + + if (shouldPrintParamsWithoutParens$1(path, options)) { + parts.push(print(["params", 0])); + } else { + const expandArg = args && (args.expandLastArg || args.expandFirstArg); + let returnTypeDoc = printReturnType(path, print, options); + + if (expandArg) { + if (willBreak(returnTypeDoc)) { + throw new ArgExpansionBailout(); + } + + returnTypeDoc = group$l(removeLines$1(returnTypeDoc)); + } + + parts.push(group$l([printFunctionParameters$1(path, print, options, expandArg, + /* printTypeParams */ + true), returnTypeDoc])); + } + + const dangling = printDanglingComments$7(path, options, + /* sameIndent */ + true, comment => { + const nextCharacter = getNextNonSpaceNonCommentCharacterIndex(options.originalText, comment, locEnd$j); + return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; + }); + + if (dangling) { + parts.push(" ", dangling); + } + + return parts; +} + +function printArrowChain(path, args, signatures, shouldBreak, bodyDoc, tailNode) { + const name = path.getName(); + const parent = path.getParentNode(); + const isCallee = isCallLikeExpression(parent) && name === "callee"; + const isAssignmentRhs = Boolean(args && args.assignmentLayout); + const shouldPutBodyOnSeparateLine = tailNode.body.type !== "BlockStatement" && tailNode.body.type !== "ObjectExpression"; + const shouldBreakBeforeChain = isCallee && shouldPutBodyOnSeparateLine || args && args.assignmentLayout === "chain-tail-arrow-chain"; + const groupId = Symbol("arrow-chain"); + return group$l([group$l(indent$g([isCallee || isAssignmentRhs ? softline$f : "", group$l(join$i([" =>", line$i], signatures), { + shouldBreak + })]), { + id: groupId, + shouldBreak: shouldBreakBeforeChain + }), " =>", indentIfBreak$1(shouldPutBodyOnSeparateLine ? indent$g([line$i, bodyDoc]) : [" ", bodyDoc], { + groupId + }), isCallee ? ifBreak$e(softline$f, "", { + groupId + }) : ""]); +} + +function printArrowFunction$1(path, options, print, args) { + let node = path.getValue(); + /** @type {Doc[]} */ + + const signatures = []; + const body = []; + let chainShouldBreak = false; + + (function rec() { + const doc = printArrowFunctionSignature(path, options, print, args); + + if (signatures.length === 0) { + signatures.push(doc); + } else { + const { + leading, + trailing + } = printCommentsSeparately(path, options); + signatures.push([leading, doc]); + body.unshift(trailing); + } + + chainShouldBreak = chainShouldBreak || // Always break the chain if: + node.returnType && getFunctionParameters(node).length > 0 || node.typeParameters || getFunctionParameters(node).some(param => param.type !== "Identifier"); + + if (node.body.type !== "ArrowFunctionExpression" || args && args.expandLastArg) { + body.unshift(print("body", args)); + } else { + node = node.body; + path.call(rec, "body"); + } + })(); + + if (signatures.length > 1) { + return printArrowChain(path, args, signatures, chainShouldBreak, body, node); + } + + const parts = signatures; + parts.push(" =>"); // We want to always keep these types of nodes on the same line + // as the arrow. + + if (!hasLeadingOwnLineComment(options.originalText, node.body) && (node.body.type === "ArrayExpression" || node.body.type === "ObjectExpression" || node.body.type === "BlockStatement" || isJsxNode$2(node.body) || isTemplateOnItsOwnLine(node.body, options.originalText) || node.body.type === "ArrowFunctionExpression" || node.body.type === "DoExpression")) { + return group$l([...parts, " ", body]); + } // We handle sequence expressions as the body of arrows specially, + // so that the required parentheses end up on their own lines. + + + if (node.body.type === "SequenceExpression") { + return group$l([...parts, group$l([" (", indent$g([softline$f, body]), softline$f, ")"])]); + } // if the arrow function is expanded as last argument, we are adding a + // level of indentation and need to add a softline to align the closing ) + // with the opening (, or if it's inside a JSXExpression (e.g. an attribute) + // we should align the expression's closing } with the line with the opening {. + + + const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !hasComment$7(node); + const printTrailingComma = args && args.expandLastArg && shouldPrintComma$5(options, "all"); // In order to avoid confusion between + // a => a ? a : a + // a <= a ? a : a + + const shouldAddParens = node.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken(node.body, + /* forbidFunctionAndClass */ + false); + return group$l([...parts, group$l([indent$g([line$i, shouldAddParens ? ifBreak$e("", "(") : "", body, shouldAddParens ? ifBreak$e("", ")") : ""]), shouldAddSoftLine ? [ifBreak$e(printTrailingComma ? "," : ""), softline$f] : ""])]); +} + +function canPrintParamsWithoutParens(node) { + const parameters = getFunctionParameters(node); + return parameters.length === 1 && !node.typeParameters && !hasComment$7(node, CommentCheckFlags$7.Dangling) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !hasComment$7(parameters[0]) && !parameters[0].optional && !node.predicate && !node.returnType; +} + +function shouldPrintParamsWithoutParens$1(path, options) { + if (options.arrowParens === "always") { + return false; + } + + if (options.arrowParens === "avoid") { + const node = path.getValue(); + return canPrintParamsWithoutParens(node); + } // Fallback default; should be unreachable + + /* istanbul ignore next */ + + + return false; +} +/** @returns {Doc} */ + + +function printReturnType(path, print, options) { + const node = path.getValue(); + const returnType = print("returnType"); + + if (node.returnType && isFlowAnnotationComment(options.originalText, node.returnType)) { + return [" /*: ", returnType, " */"]; + } + + const parts = [returnType]; // prepend colon to TypeScript type annotation + + if (node.returnType && node.returnType.typeAnnotation) { + parts.unshift(": "); + } + + if (node.predicate) { + // The return type will already add the colon, but otherwise we + // need to do it ourselves + parts.push(node.returnType ? " " : ": ", print("predicate")); + } + + return parts; +} // `ReturnStatement` and `ThrowStatement` + + +function printReturnOrThrowArgument(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + const parts = []; + + if (node.argument) { + if (returnArgumentHasLeadingComment(options, node.argument)) { + parts.push([" (", indent$g([hardline$n, print("argument")]), hardline$n, ")"]); + } else if (isBinaryish(node.argument) || node.argument.type === "SequenceExpression") { + parts.push(group$l([ifBreak$e(" (", " "), indent$g([softline$f, print("argument")]), softline$f, ifBreak$e(")")])); + } else { + parts.push(" ", print("argument")); + } + } + + const comments = getComments$2(node); + const lastComment = getLast_1(comments); + const isLastCommentLine = lastComment && isLineComment$2(lastComment); + + if (isLastCommentLine) { + parts.push(semi); + } + + if (hasComment$7(node, CommentCheckFlags$7.Dangling)) { + parts.push(" ", printDanglingComments$7(path, options, + /* sameIndent */ + true)); + } + + if (!isLastCommentLine) { + parts.push(semi); + } + + return parts; +} + +function printReturnStatement$1(path, options, print) { + return ["return", printReturnOrThrowArgument(path, options, print)]; +} + +function printThrowStatement$1(path, options, print) { + return ["throw", printReturnOrThrowArgument(path, options, print)]; +} // This recurses the return argument, looking for the first token +// (the leftmost leaf node) and, if it (or its parents) has any +// leadingComments, returns true (so it can be wrapped in parens). + + +function returnArgumentHasLeadingComment(options, argument) { + if (hasLeadingOwnLineComment(options.originalText, argument)) { + return true; + } + + if (hasNakedLeftSide$1(argument)) { + let leftMost = argument; + let newLeftMost; + + while (newLeftMost = getLeftSide(leftMost)) { + leftMost = newLeftMost; + + if (hasLeadingOwnLineComment(options.originalText, leftMost)) { + return true; + } + } + } + + return false; +} + +var _function = { + printFunction: printFunction$2, + printArrowFunction: printArrowFunction$1, + printMethod: printMethod$2, + printReturnStatement: printReturnStatement$1, + printThrowStatement: printThrowStatement$1, + printMethodInternal: printMethodInternal$1, + shouldPrintParamsWithoutParens: shouldPrintParamsWithoutParens$1 +}; + +const { + isNonEmptyArray: isNonEmptyArray$c, + hasNewline: hasNewline$4 +} = util$5; +const { + builders: { + line: line$h, + hardline: hardline$m, + join: join$h, + breakParent: breakParent$5, + group: group$k + } +} = doc; +const { + locStart: locStart$k, + locEnd: locEnd$i +} = loc$6; +const { + getParentExportDeclaration: getParentExportDeclaration$1 +} = utils$5; + +function printClassMemberDecorators$1(path, options, print) { + const node = path.getValue(); + return group$k([join$h(line$h, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators(node, options) ? hardline$m : line$h]); +} + +function printDecoratorsBeforeExport$1(path, options, print) { + // Export declarations are responsible for printing any decorators + // that logically apply to node.declaration. + return [join$h(hardline$m, path.map(print, "declaration", "decorators")), hardline$m]; +} + +function printDecorators$1(path, options, print) { + const node = path.getValue(); + const { + decorators + } = node; + + if (!isNonEmptyArray$c(decorators) || // If the parent node is an export declaration and the decorator + // was written before the export, the export will be responsible + // for printing the decorators. + hasDecoratorsBeforeExport$1(path.getParentNode())) { + return; + } + + const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators(node, options); + return [getParentExportDeclaration$1(path) ? hardline$m : shouldBreak ? breakParent$5 : "", join$h(line$h, path.map(print, "decorators")), line$h]; +} + +function hasNewlineBetweenOrAfterDecorators(node, options) { + return node.decorators.some(decorator => hasNewline$4(options.originalText, locEnd$i(decorator))); +} + +function hasDecoratorsBeforeExport$1(node) { + if (node.type !== "ExportDefaultDeclaration" && node.type !== "ExportNamedDeclaration" && node.type !== "DeclareExportDeclaration") { + return false; + } + + const decorators = node.declaration && node.declaration.decorators; + return isNonEmptyArray$c(decorators) && locStart$k(node, { + ignoreDecorators: true + }) > locStart$k(decorators[0]); +} + +var decorators = { + printDecorators: printDecorators$1, + printClassMemberDecorators: printClassMemberDecorators$1, + printDecoratorsBeforeExport: printDecoratorsBeforeExport$1, + hasDecoratorsBeforeExport: hasDecoratorsBeforeExport$1 +}; + +const { + isNonEmptyArray: isNonEmptyArray$b, + createGroupIdMapper +} = util$5; +const { + printComments, + printDanglingComments: printDanglingComments$6 +} = comments$1; +const { + builders: { + join: join$g, + line: line$g, + hardline: hardline$l, + softline: softline$e, + group: group$j, + indent: indent$f, + ifBreak: ifBreak$d + } +} = doc; +const { + hasComment: hasComment$6, + CommentCheckFlags: CommentCheckFlags$6 +} = utils$5; +const { + getTypeParametersGroupId: getTypeParametersGroupId$1 +} = typeParameters; +const { + printMethod: printMethod$1 +} = _function; +const { + printOptionalToken: printOptionalToken$4, + printTypeAnnotation: printTypeAnnotation$3 +} = misc$1; +const { + printPropertyKey: printPropertyKey$2 +} = property; +const { + printAssignment +} = assignment; +const { + printClassMemberDecorators +} = decorators; + +function printClass$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + if (node.abstract) { + parts.push("abstract "); + } + + parts.push("class"); // Keep old behaviour of extends in same line + // If there is only on extends and there are not comments + + const groupMode = node.id && hasComment$6(node.id, CommentCheckFlags$6.Trailing) || node.superClass && hasComment$6(node.superClass) || isNonEmptyArray$b(node.extends) || // DeclareClass + isNonEmptyArray$b(node.mixins) || isNonEmptyArray$b(node.implements); + const partsGroup = []; + const extendsParts = []; + + if (node.id) { + partsGroup.push(" ", print("id")); + } + + partsGroup.push(print("typeParameters")); + + if (node.superClass) { + const printed = ["extends ", printSuperClass(path, options, print), print("superTypeParameters")]; + const printedWithComments = path.call(superClass => printComments(superClass, printed, options), "superClass"); + + if (groupMode) { + extendsParts.push(line$g, group$j(printedWithComments)); + } else { + extendsParts.push(" ", printedWithComments); + } + } else { + extendsParts.push(printList(path, options, print, "extends")); + } + + extendsParts.push(printList(path, options, print, "mixins"), printList(path, options, print, "implements")); + + if (groupMode) { + let printedPartsGroup; + + if (shouldIndentOnlyHeritageClauses(node)) { + printedPartsGroup = [...partsGroup, indent$f(extendsParts)]; + } else { + printedPartsGroup = indent$f([...partsGroup, extendsParts]); + } + + parts.push(group$j(printedPartsGroup, { + id: getHeritageGroupId(node) + })); + } else { + parts.push(...partsGroup, ...extendsParts); + } + + parts.push(" ", print("body")); + return parts; +} + +const getHeritageGroupId = createGroupIdMapper("heritageGroup"); + +function printHardlineAfterHeritage$2(node) { + return ifBreak$d(hardline$l, "", { + groupId: getHeritageGroupId(node) + }); +} + +function hasMultipleHeritage(node) { + return ["superClass", "extends", "mixins", "implements"].filter(key => Boolean(node[key])).length > 1; +} + +function shouldIndentOnlyHeritageClauses(node) { + return node.typeParameters && !hasComment$6(node.typeParameters, CommentCheckFlags$6.Trailing | CommentCheckFlags$6.Line) && !hasMultipleHeritage(node); +} + +function printList(path, options, print, listName) { + const node = path.getValue(); + + if (!isNonEmptyArray$b(node[listName])) { + return ""; + } + + const printedLeadingComments = printDanglingComments$6(path, options, + /* sameIndent */ + true, ({ + marker + }) => marker === listName); + return [shouldIndentOnlyHeritageClauses(node) ? ifBreak$d(" ", line$g, { + groupId: getTypeParametersGroupId$1(node.typeParameters) + }) : line$g, printedLeadingComments, printedLeadingComments && hardline$l, listName, group$j(indent$f([line$g, join$g([",", line$g], path.map(print, listName))]))]; +} + +function printSuperClass(path, options, print) { + const printed = print("superClass"); + const parent = path.getParentNode(); + + if (parent.type === "AssignmentExpression") { + return group$j(ifBreak$d(["(", indent$f([softline$e, printed]), softline$e, ")"], printed)); + } + + return printed; +} + +function printClassMethod$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (isNonEmptyArray$b(node.decorators)) { + parts.push(printClassMemberDecorators(path, options, print)); + } + + if (node.accessibility) { + parts.push(node.accessibility + " "); + } // "readonly" and "declare" are supported by only "babel-ts" + // https://github.com/prettier/prettier/issues/9760 + + + if (node.readonly) { + parts.push("readonly "); + } + + if (node.declare) { + parts.push("declare "); + } + + if (node.static) { + parts.push("static "); + } + + if (node.type === "TSAbstractMethodDefinition" || node.abstract) { + parts.push("abstract "); + } + + if (node.override) { + parts.push("override "); + } + + parts.push(printMethod$1(path, options, print)); + return parts; +} + +function printClassProperty$2(path, options, print) { + const node = path.getValue(); + const parts = []; + const semi = options.semi ? ";" : ""; + + if (isNonEmptyArray$b(node.decorators)) { + parts.push(printClassMemberDecorators(path, options, print)); + } + + if (node.accessibility) { + parts.push(node.accessibility + " "); + } + + if (node.declare) { + parts.push("declare "); + } + + if (node.static) { + parts.push("static "); + } + + if (node.type === "TSAbstractClassProperty" || node.abstract) { + parts.push("abstract "); + } + + if (node.override) { + parts.push("override "); + } + + if (node.readonly) { + parts.push("readonly "); + } + + if (node.variance) { + parts.push(print("variance")); + } + + parts.push(printPropertyKey$2(path, options, print), printOptionalToken$4(path), printTypeAnnotation$3(path, options, print)); + return [printAssignment(path, options, print, parts, " =", "value"), semi]; +} + +var _class = { + printClass: printClass$2, + printClassMethod: printClassMethod$2, + printClassProperty: printClassProperty$2, + printHardlineAfterHeritage: printHardlineAfterHeritage$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$a +} = util$5; +const { + builders: { + join: join$f, + line: line$f, + group: group$i, + indent: indent$e, + ifBreak: ifBreak$c + } +} = doc; +const { + hasComment: hasComment$5, + identity, + CommentCheckFlags: CommentCheckFlags$5 +} = utils$5; +const { + getTypeParametersGroupId +} = typeParameters; +const { + printTypeScriptModifiers: printTypeScriptModifiers$1 +} = misc$1; + +function printInterface$2(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.declare) { + parts.push("declare "); + } + + if (node.type === "TSInterfaceDeclaration") { + parts.push(node.abstract ? "abstract " : "", printTypeScriptModifiers$1(path, options, print)); + } + + parts.push("interface"); + const partsGroup = []; + const extendsParts = []; + + if (node.type !== "InterfaceTypeAnnotation") { + partsGroup.push(" ", print("id"), print("typeParameters")); + } + + const shouldIndentOnlyHeritageClauses = node.typeParameters && !hasComment$5(node.typeParameters, CommentCheckFlags$5.Trailing | CommentCheckFlags$5.Line); + + if (isNonEmptyArray$a(node.extends)) { + extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$c(" ", line$f, { + groupId: getTypeParametersGroupId(node.typeParameters) + }) : line$f, "extends ", (node.extends.length === 1 ? identity : indent$e)(join$f([",", line$f], path.map(print, "extends")))); + } + + if (node.id && hasComment$5(node.id, CommentCheckFlags$5.Trailing) || isNonEmptyArray$a(node.extends)) { + if (shouldIndentOnlyHeritageClauses) { + parts.push(group$i([...partsGroup, indent$e(extendsParts)])); + } else { + parts.push(group$i(indent$e([...partsGroup, ...extendsParts]))); + } + } else { + parts.push(...partsGroup, ...extendsParts); + } + + parts.push(" ", print("body")); + return group$i(parts); +} + +var _interface = { + printInterface: printInterface$2 +}; + +const { + isNonEmptyArray: isNonEmptyArray$9 +} = util$5; +const { + builders: { + softline: softline$d, + group: group$h, + indent: indent$d, + join: join$e, + line: line$e, + ifBreak: ifBreak$b, + hardline: hardline$k + } +} = doc; +const { + printDanglingComments: printDanglingComments$5 +} = comments$1; +const { + hasComment: hasComment$4, + CommentCheckFlags: CommentCheckFlags$4, + shouldPrintComma: shouldPrintComma$4, + needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1 +} = utils$5; +const { + locStart: locStart$j, + hasSameLoc +} = loc$6; +const { + hasDecoratorsBeforeExport, + printDecoratorsBeforeExport +} = decorators; /** * @typedef {import("../../document").Doc} Doc */ +function printImportDeclaration$1(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + const { + importKind + } = node; + parts.push("import"); + + if (importKind && importKind !== "value") { + parts.push(" ", importKind); + } + + parts.push(printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); + return parts; +} + +function printExportDeclaration$2(path, options, print) { + const node = path.getValue(); + /** @type{Doc[]} */ + + const parts = []; // Only print decorators here if they were written before the export, + // otherwise they are printed by the node.declaration + + if (hasDecoratorsBeforeExport(node)) { + parts.push(printDecoratorsBeforeExport(path, options, print)); + } + + const { + type, + exportKind, + declaration + } = node; + parts.push("export"); + const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; + + if (isDefaultExport) { + parts.push(" default"); + } + + if (hasComment$4(node, CommentCheckFlags$4.Dangling)) { + parts.push(" ", printDanglingComments$5(path, options, + /* sameIndent */ + true)); + + if (needsHardlineAfterDanglingComment$1(node)) { + parts.push(hardline$k); + } + } + + if (declaration) { + parts.push(" ", print("declaration")); + } else { + parts.push(exportKind === "type" ? " type" : "", printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); + } + + if (shouldExportDeclarationPrintSemi(node, options)) { + parts.push(";"); + } + + return parts; +} + +function printExportAllDeclaration$2(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + const { + exportKind, + exported + } = node; + parts.push("export"); + + if (exportKind === "type") { + parts.push(" type"); + } + + parts.push(" *"); + + if (exported) { + parts.push(" as ", print("exported")); + } + + parts.push(printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); + return parts; +} + +function shouldExportDeclarationPrintSemi(node, options) { + if (!options.semi) { + return false; + } + + const { + type, + declaration + } = node; + const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; + + if (!declaration) { + return true; + } + + const { + type: declarationType + } = declaration; + + if (isDefaultExport && declarationType !== "ClassDeclaration" && declarationType !== "FunctionDeclaration" && declarationType !== "TSInterfaceDeclaration" && declarationType !== "DeclareClass" && declarationType !== "DeclareFunction" && declarationType !== "TSDeclareFunction" && declarationType !== "EnumDeclaration") { + return true; + } + + return false; +} + function printModuleSource(path, options, print) { const node = path.getValue(); - return node.source ? concat$9([" from ", path.call(print, "source")]) : ""; + + if (!node.source) { + return ""; + } + /** @type{Doc[]} */ + + + const parts = []; + + if (!shouldNotPrintSpecifiers(node, options)) { + parts.push(" from"); + } + + parts.push(" ", print("source")); + return parts; } function printModuleSpecifiers(path, options, print) { const node = path.getValue(); + + if (shouldNotPrintSpecifiers(node, options)) { + return ""; + } /** @type{Doc[]} */ - const parts = [node.type === "ImportDeclaration" ? " " : ""]; - if (node.specifiers && node.specifiers.length > 0) { - const standalonesSpecifiers = []; + const parts = [" "]; + + if (isNonEmptyArray$9(node.specifiers)) { + const standaloneSpecifiers = []; const groupedSpecifiers = []; - path.each(specifierPath => { + path.each(() => { const specifierType = path.getValue().type; if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { - standalonesSpecifiers.push(print(specifierPath)); + standaloneSpecifiers.push(print()); } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { - groupedSpecifiers.push(print(specifierPath)); + groupedSpecifiers.push(print()); } else { /* istanbul ignore next */ throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`); } }, "specifiers"); - parts.push(join$5(", ", standalonesSpecifiers)); + parts.push(join$e(", ", standaloneSpecifiers)); - if (groupedSpecifiers.length !== 0) { - if (standalonesSpecifiers.length !== 0) { + if (groupedSpecifiers.length > 0) { + if (standaloneSpecifiers.length > 0) { parts.push(", "); } - const canBreak = groupedSpecifiers.length > 1 || standalonesSpecifiers.length > 0 || node.specifiers.some(node => node.comments); + const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some(node => hasComment$4(node)); if (canBreak) { - parts.push(group$5(concat$9(["{", indent$6(concat$9([options.bracketSpacing ? line$6 : softline$4, join$5(concat$9([",", line$6]), groupedSpecifiers)])), ifBreak$2(shouldPrintComma$2(options) ? "," : ""), options.bracketSpacing ? line$6 : softline$4, "}"]))); + parts.push(group$h(["{", indent$d([options.bracketSpacing ? line$e : softline$d, join$e([",", line$e], groupedSpecifiers)]), ifBreak$b(shouldPrintComma$4(options) ? "," : ""), options.bracketSpacing ? line$e : softline$d, "}"])); } else { - parts.push(concat$9(["{", options.bracketSpacing ? " " : "", concat$9(groupedSpecifiers), options.bracketSpacing ? " " : "", "}"])); + parts.push(["{", options.bracketSpacing ? " " : "", ...groupedSpecifiers, options.bracketSpacing ? " " : "", "}"]); } } } else { parts.push("{}"); } - return concat$9(parts); + return parts; } -var module$2 = { - printModuleSource, - printModuleSpecifiers +function shouldNotPrintSpecifiers(node, options) { + const { + type, + importKind, + source, + specifiers + } = node; + + if (type !== "ImportDeclaration" || isNonEmptyArray$9(specifiers) || importKind === "type") { + return false; + } // TODO: check tokens + + + return !/{\s*}/.test(options.originalText.slice(locStart$j(node), locStart$j(source))); +} + +function printImportAssertions(path, options, print) { + const node = path.getNode(); + + if (isNonEmptyArray$9(node.assertions)) { + return [" assert {", options.bracketSpacing ? " " : "", join$e(", ", path.map(print, "assertions")), options.bracketSpacing ? " " : "", "}"]; + } + + return ""; +} + +function printModuleSpecifier$1(path, options, print) { + const node = path.getNode(); + const { + type, + importKind + } = node; + /** @type{Doc[]} */ + + const parts = []; + + if (type === "ImportSpecifier" && importKind) { + parts.push(importKind, " "); + } + + const isImport = type.startsWith("Import"); + const leftSideProperty = isImport ? "imported" : "local"; + const rightSideProperty = isImport ? "local" : "exported"; + let left = ""; + let right = ""; + + if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { + left = "*"; + } else if (node[leftSideProperty]) { + left = print(leftSideProperty); + } + + if (node[rightSideProperty] && (!node[leftSideProperty] || // import {a as a} from '.' + !hasSameLoc(node[leftSideProperty], node[rightSideProperty]))) { + right = print(rightSideProperty); + } + + parts.push(left, left && right ? " as " : "", right); + return parts; +} + +var module$1 = { + printImportDeclaration: printImportDeclaration$1, + printExportDeclaration: printExportDeclaration$2, + printExportAllDeclaration: printExportAllDeclaration$2, + printModuleSpecifier: printModuleSpecifier$1 }; const { - isJSXNode: isJSXNode$2 -} = utils$6; -const { - hasNewlineInRange: hasNewlineInRange$4 -} = util; + printDanglingComments: printDanglingComments$4 +} = comments$1; const { builders: { - concat: concat$a, - line: line$7, - softline: softline$5, - group: group$6, - indent: indent$7, - align: align$1, - ifBreak: ifBreak$3, - dedent: dedent$1, + line: line$d, + softline: softline$c, + group: group$g, + indent: indent$c, + ifBreak: ifBreak$a, + hardline: hardline$j + } +} = doc; +const { + getLast: getLast$5, + hasNewlineInRange: hasNewlineInRange$2, + hasNewline: hasNewline$3, + isNonEmptyArray: isNonEmptyArray$8 +} = util$5; +const { + shouldPrintComma: shouldPrintComma$3, + hasComment: hasComment$3, + getComments: getComments$1, + CommentCheckFlags: CommentCheckFlags$3, + isNextLineEmpty: isNextLineEmpty$7 +} = utils$5; +const { + locStart: locStart$i, + locEnd: locEnd$h +} = loc$6; +const { + printOptionalToken: printOptionalToken$3, + printTypeAnnotation: printTypeAnnotation$2 +} = misc$1; +const { + shouldHugFunctionParameters +} = functionParameters; +const { + shouldHugType +} = typeAnnotation; +const { + printHardlineAfterHeritage: printHardlineAfterHeritage$1 +} = _class; +/** @typedef {import("../../document").Doc} Doc */ + +function printObject$3(path, options, print) { + const semi = options.semi ? ";" : ""; + const node = path.getValue(); + let propertiesField; + + if (node.type === "TSTypeLiteral") { + propertiesField = "members"; + } else if (node.type === "TSInterfaceBody") { + propertiesField = "body"; + } else { + propertiesField = "properties"; + } + + const isTypeAnnotation = node.type === "ObjectTypeAnnotation"; + const fields = [propertiesField]; + + if (isTypeAnnotation) { + fields.push("indexers", "callProperties", "internalSlots"); + } + + const firstProperty = fields.map(field => node[field][0]).sort((a, b) => locStart$i(a) - locStart$i(b))[0]; + const parent = path.getParentNode(0); + const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; + const shouldBreak = node.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || node.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && node.properties.some(property => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || node.type !== "ObjectPattern" && firstProperty && hasNewlineInRange$2(options.originalText, locStart$i(node), locStart$i(firstProperty)); + const separator = isFlowInterfaceLikeBody ? ";" : node.type === "TSInterfaceBody" || node.type === "TSTypeLiteral" ? ifBreak$a(semi, ";") : ","; + const leftBrace = node.type === "RecordExpression" ? "#{" : node.exact ? "{|" : "{"; + const rightBrace = node.exact ? "|}" : "}"; // Unfortunately, things are grouped together in the ast can be + // interleaved in the source code. So we need to reorder them before + // printing them. + + const propsAndLoc = []; + + for (const field of fields) { + path.each(childPath => { + const node = childPath.getValue(); + propsAndLoc.push({ + node, + printed: print(), + loc: locStart$i(node) + }); + }, field); + } + + if (fields.length > 1) { + propsAndLoc.sort((a, b) => a.loc - b.loc); + } + /** @type {Doc[]} */ + + + let separatorParts = []; + const props = propsAndLoc.map(prop => { + const result = [...separatorParts, group$g(prop.printed)]; + separatorParts = [separator, line$d]; + + if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasComment$3(prop.node, CommentCheckFlags$3.PrettierIgnore)) { + separatorParts.shift(); + } + + if (isNextLineEmpty$7(prop.node, options)) { + separatorParts.push(hardline$j); + } + + return result; + }); + + if (node.inexact) { + let printed; + + if (hasComment$3(node, CommentCheckFlags$3.Dangling)) { + const hasLineComments = hasComment$3(node, CommentCheckFlags$3.Line); + const printedDanglingComments = printDanglingComments$4(path, options, + /* sameIndent */ + true); + printed = [printedDanglingComments, hasLineComments || hasNewline$3(options.originalText, locEnd$h(getLast$5(getComments$1(node)))) ? hardline$j : line$d, "..."]; + } else { + printed = ["..."]; + } + + props.push([...separatorParts, ...printed]); + } + + const lastElem = getLast$5(node[propertiesField]); + const canHaveTrailingSeparator = !(node.inexact || lastElem && lastElem.type === "RestElement" || lastElem && (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration") && hasComment$3(lastElem, CommentCheckFlags$3.PrettierIgnore)); + let content; + + if (props.length === 0) { + if (!hasComment$3(node, CommentCheckFlags$3.Dangling)) { + return [leftBrace, rightBrace, printTypeAnnotation$2(path, options, print)]; + } + + content = group$g([leftBrace, printDanglingComments$4(path, options), softline$c, rightBrace, printOptionalToken$3(path), printTypeAnnotation$2(path, options, print)]); + } else { + content = [isFlowInterfaceLikeBody && isNonEmptyArray$8(node.properties) ? printHardlineAfterHeritage$1(parent) : "", leftBrace, indent$c([options.bracketSpacing ? line$d : softline$c, ...props]), ifBreak$a(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma$3(options)) ? separator : ""), options.bracketSpacing ? line$d : softline$c, rightBrace, printOptionalToken$3(path), printTypeAnnotation$2(path, options, print)]; + } // If we inline the object as first argument of the parent, we don't want + // to create another group so that the object breaks before the return + // type + + + if (path.match(node => node.type === "ObjectPattern" && !node.decorators, (node, name, number) => shouldHugFunctionParameters(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || path.match(shouldHugType, (node, name) => name === "typeAnnotation", (node, name) => name === "typeAnnotation", (node, name, number) => shouldHugFunctionParameters(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || // Assignment printing logic (printAssignment) is responsible + // for adding a group if needed + !shouldBreak && path.match(node => node.type === "ObjectPattern", node => node.type === "AssignmentExpression" || node.type === "VariableDeclarator")) { + return content; + } + + return group$g(content, { + shouldBreak + }); +} + +var object$1 = { + printObject: printObject$3 +}; + +/** @typedef {import("../../document").Doc} Doc */ + + +const { + printDanglingComments: printDanglingComments$3 +} = comments$1; +const { + printString: printString$2, + printNumber: printNumber$2 +} = util$5; +const { + builders: { + hardline: hardline$i, + softline: softline$b, + group: group$f, + indent: indent$b + } +} = doc; +const { + getParentExportDeclaration, + isFunctionNotation, + isGetterOrSetter, + rawText: rawText$1, + shouldPrintComma: shouldPrintComma$2 +} = utils$5; +const { + locStart: locStart$h, + locEnd: locEnd$g +} = loc$6; +const { + printClass: printClass$1 +} = _class; +const { + printOpaqueType, + printTypeAlias: printTypeAlias$1, + printIntersectionType: printIntersectionType$1, + printUnionType: printUnionType$1, + printFunctionType: printFunctionType$1, + printTupleType: printTupleType$1, + printIndexedAccessType: printIndexedAccessType$1 +} = typeAnnotation; +const { + printInterface: printInterface$1 +} = _interface; +const { + printTypeParameter: printTypeParameter$1, + printTypeParameters: printTypeParameters$1 +} = typeParameters; +const { + printExportDeclaration: printExportDeclaration$1, + printExportAllDeclaration: printExportAllDeclaration$1 +} = module$1; +const { + printArrayItems: printArrayItems$1 +} = array; +const { + printObject: printObject$2 +} = object$1; +const { + printPropertyKey: printPropertyKey$1 +} = property; +const { + printOptionalToken: printOptionalToken$2, + printTypeAnnotation: printTypeAnnotation$1, + printRestSpread: printRestSpread$1 +} = misc$1; + +function printFlow$1(path, options, print) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + /** @type{Doc[]} */ + + const parts = []; + + switch (node.type) { + case "DeclareClass": + return printFlowDeclaration(path, printClass$1(path, options, print)); + + case "DeclareFunction": + return printFlowDeclaration(path, ["function ", print("id"), node.predicate ? " " : "", print("predicate"), semi]); + + case "DeclareModule": + return printFlowDeclaration(path, ["module ", print("id"), " ", print("body")]); + + case "DeclareModuleExports": + return printFlowDeclaration(path, ["module.exports", ": ", print("typeAnnotation"), semi]); + + case "DeclareVariable": + return printFlowDeclaration(path, ["var ", print("id"), semi]); + + case "DeclareOpaqueType": + return printFlowDeclaration(path, printOpaqueType(path, options, print)); + + case "DeclareInterface": + return printFlowDeclaration(path, printInterface$1(path, options, print)); + + case "DeclareTypeAlias": + return printFlowDeclaration(path, printTypeAlias$1(path, options, print)); + + case "DeclareExportDeclaration": + return printFlowDeclaration(path, printExportDeclaration$1(path, options, print)); + + case "DeclareExportAllDeclaration": + return printFlowDeclaration(path, printExportAllDeclaration$1(path, options, print)); + + case "OpaqueType": + return printOpaqueType(path, options, print); + + case "TypeAlias": + return printTypeAlias$1(path, options, print); + + case "IntersectionTypeAnnotation": + return printIntersectionType$1(path, options, print); + + case "UnionTypeAnnotation": + return printUnionType$1(path, options, print); + + case "FunctionTypeAnnotation": + return printFunctionType$1(path, options, print); + + case "TupleTypeAnnotation": + return printTupleType$1(path, options, print); + + case "GenericTypeAnnotation": + return [print("id"), printTypeParameters$1(path, options, print, "typeParameters")]; + + case "IndexedAccessType": + case "OptionalIndexedAccessType": + return printIndexedAccessType$1(path, options, print); + // Type Annotations for Facebook Flow, typically stripped out or + // transformed away before printing. + + case "TypeAnnotation": + return print("typeAnnotation"); + + case "TypeParameter": + return printTypeParameter$1(path, options, print); + + case "TypeofTypeAnnotation": + return ["typeof ", print("argument")]; + + case "ExistsTypeAnnotation": + return "*"; + + case "EmptyTypeAnnotation": + return "empty"; + + case "MixedTypeAnnotation": + return "mixed"; + + case "ArrayTypeAnnotation": + return [print("elementType"), "[]"]; + + case "BooleanLiteralTypeAnnotation": + return String(node.value); + + case "EnumDeclaration": + return ["enum ", print("id"), " ", print("body")]; + + case "EnumBooleanBody": + case "EnumNumberBody": + case "EnumStringBody": + case "EnumSymbolBody": + { + if (node.type === "EnumSymbolBody" || node.explicitType) { + let type = null; + + switch (node.type) { + case "EnumBooleanBody": + type = "boolean"; + break; + + case "EnumNumberBody": + type = "number"; + break; + + case "EnumStringBody": + type = "string"; + break; + + case "EnumSymbolBody": + type = "symbol"; + break; + } + + parts.push("of ", type, " "); + } + + if (node.members.length === 0 && !node.hasUnknownMembers) { + parts.push(group$f(["{", printDanglingComments$3(path, options), softline$b, "}"])); + } else { + const members = node.members.length > 0 ? [hardline$i, printArrayItems$1(path, options, "members", print), node.hasUnknownMembers || shouldPrintComma$2(options) ? "," : ""] : []; + parts.push(group$f(["{", indent$b([...members, ...(node.hasUnknownMembers ? [hardline$i, "..."] : [])]), printDanglingComments$3(path, options, + /* sameIndent */ + true), hardline$i, "}"])); + } + + return parts; + } + + case "EnumBooleanMember": + case "EnumNumberMember": + case "EnumStringMember": + return [print("id"), " = ", typeof node.init === "object" ? print("init") : String(node.init)]; + + case "EnumDefaultedMember": + return print("id"); + + case "FunctionTypeParam": + { + const name = node.name ? print("name") : path.getParentNode().this === node ? "this" : ""; + return [name, printOptionalToken$2(path), name ? ": " : "", print("typeAnnotation")]; + } + + case "InterfaceDeclaration": + case "InterfaceTypeAnnotation": + return printInterface$1(path, options, print); + + case "ClassImplements": + case "InterfaceExtends": + return [print("id"), print("typeParameters")]; + + case "NullableTypeAnnotation": + return ["?", print("typeAnnotation")]; + + case "Variance": + { + const { + kind + } = node; + assert__default['default'].ok(kind === "plus" || kind === "minus"); + return kind === "plus" ? "+" : "-"; + } + + case "ObjectTypeCallProperty": + if (node.static) { + parts.push("static "); + } + + parts.push(print("value")); + return parts; + + case "ObjectTypeIndexer": + { + return [node.variance ? print("variance") : "", "[", print("id"), node.id ? ": " : "", print("key"), "]: ", print("value")]; + } + + case "ObjectTypeProperty": + { + let modifier = ""; + + if (node.proto) { + modifier = "proto "; + } else if (node.static) { + modifier = "static "; + } + + return [modifier, isGetterOrSetter(node) ? node.kind + " " : "", node.variance ? print("variance") : "", printPropertyKey$1(path, options, print), printOptionalToken$2(path), isFunctionNotation(node) ? "" : ": ", print("value")]; + } + + case "ObjectTypeAnnotation": + return printObject$2(path, options, print); + + case "ObjectTypeInternalSlot": + return [node.static ? "static " : "", "[[", print("id"), "]]", printOptionalToken$2(path), node.method ? "" : ": ", print("value")]; + // Same as `RestElement` + + case "ObjectTypeSpreadProperty": + return printRestSpread$1(path, options, print); + + case "QualifiedTypeIdentifier": + return [print("qualification"), ".", print("id")]; + + case "StringLiteralTypeAnnotation": + return printString$2(rawText$1(node), options); + + case "NumberLiteralTypeAnnotation": + assert__default['default'].strictEqual(typeof node.value, "number"); + // fall through + + case "BigIntLiteralTypeAnnotation": + if (node.extra) { + return printNumber$2(node.extra.raw); + } + + return printNumber$2(node.raw); + + case "TypeCastExpression": + { + return ["(", print("expression"), printTypeAnnotation$1(path, options, print), ")"]; + } + + case "TypeParameterDeclaration": + case "TypeParameterInstantiation": + { + const printed = printTypeParameters$1(path, options, print, "params"); + + if (options.parser === "flow") { + const start = locStart$h(node); + const end = locEnd$g(node); + const commentStartIndex = options.originalText.lastIndexOf("/*", start); + const commentEndIndex = options.originalText.indexOf("*/", end); + + if (commentStartIndex !== -1 && commentEndIndex !== -1) { + const comment = options.originalText.slice(commentStartIndex + 2, commentEndIndex).trim(); + + if (comment.startsWith("::") && !comment.includes("/*") && !comment.includes("*/")) { + return ["/*:: ", printed, " */"]; + } + } + } + + return printed; + } + + case "InferredPredicate": + return "%checks"; + // Unhandled types below. If encountered, nodes of these types should + // be either left alone or desugared into AST types that are fully + // supported by the pretty-printer. + + case "DeclaredPredicate": + return ["%checks(", print("value"), ")"]; + + case "AnyTypeAnnotation": + return "any"; + + case "BooleanTypeAnnotation": + return "boolean"; + + case "BigIntTypeAnnotation": + return "bigint"; + + case "NullLiteralTypeAnnotation": + return "null"; + + case "NumberTypeAnnotation": + return "number"; + + case "SymbolTypeAnnotation": + return "symbol"; + + case "StringTypeAnnotation": + return "string"; + + case "VoidTypeAnnotation": + return "void"; + + case "ThisTypeAnnotation": + return "this"; + // These types are unprintable because they serve as abstract + // supertypes for other (printable) types. + + case "Node": + case "Printable": + case "SourceLocation": + case "Position": + case "Statement": + case "Function": + case "Pattern": + case "Expression": + case "Declaration": + case "Specifier": + case "NamedSpecifier": + case "Comment": + case "MemberTypeAnnotation": // Flow + + case "Type": + /* istanbul ignore next */ + throw new Error("unprintable type: " + JSON.stringify(node.type)); + } +} + +function printFlowDeclaration(path, printed) { + const parentExportDecl = getParentExportDeclaration(path); + + if (parentExportDecl) { + assert__default['default'].strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); + return printed; + } // If the parent node has type DeclareExportDeclaration, then it + // will be responsible for printing the "declare" token. Otherwise + // it needs to be printed with this non-exported declaration node. + + + return ["declare ", printed]; +} + +var flow = { + printFlow: printFlow$1 +}; + +const { + hasNewlineInRange: hasNewlineInRange$1 +} = util$5; +const { + isJsxNode: isJsxNode$1, + isBlockComment: isBlockComment$2, + getComments, + isCallExpression: isCallExpression$2, + isMemberExpression: isMemberExpression$2 +} = utils$5; +const { + locStart: locStart$g, + locEnd: locEnd$f +} = loc$6; +const { + builders: { + line: line$c, + softline: softline$a, + group: group$e, + indent: indent$a, + align: align$2, + ifBreak: ifBreak$9, + dedent: dedent$3, breakParent: breakParent$4 } -} = document; +} = doc; /** * @typedef {import("../../document").Doc} Doc - * @typedef {import("../../common/fast-path")} FastPath + * @typedef {import("../../common/ast-path")} AstPath * * @typedef {any} Options - Prettier options (TBD ...) - * - * @typedef {Object} OperatorOptions - * @property {() => Array} beforeParts - Parts to print before the `?`. - * @property {(breakClosingParen: boolean) => Array} afterParts - Parts to print after the conditional expression. - * @property {boolean} shouldCheckJsx - Whether to check for and print in JSX mode. - * @property {string} conditionalNodeType - The type of the conditional expression node, ie "ConditionalExpression" or "TSConditionalType". - * @property {string} consequentNodePropertyName - The property at which the consequent node can be found on the main node, eg "consequent". - * @property {string} alternateNodePropertyName - The property at which the alternate node can be found on the main node, eg "alternate". - * @property {string[]} testNodePropertyNames - The properties at which the test nodes can be found on the main node, eg "test". */ // If we have nested conditional expressions, we want to print them in JSX mode // if there's at least one JSXElement somewhere in the tree. @@ -41769,11 +47234,8 @@ const { // } // } // } -// -// We want to traverse over that shape and convert it into a flat structure so -// that we can find if there's a JSXElement somewhere inside. -function getConditionalChainContents(node) { +function conditionalExpressionChainContainsJsx(node) { // Given this code: // // // Using a ConditionalExpression as the consequent is uncommon, but should @@ -41800,65 +47262,115 @@ function getConditionalChainContents(node) { // } // } // - // we should return this Array: - // - // [ - // Identifier(A), - // Identifier(B), - // Identifier(C), - // Identifier(D), - // Identifier(E), - // Identifier(F), - // Identifier(G), - // Identifier(H), - // Identifier(I) - // ]; - // - // This loses the information about whether each node was the test, - // consequent, or alternate, but we don't care about that here- we are only - // flattening this structure to find if there's any JSXElements inside. - const nonConditionalExpressions = []; + // We don't care about whether each node was the test, consequent, or alternate + // We are only checking if there's any JSXElements inside. + const conditionalExpressions = [node]; - function recurse(node) { - if (node.type === "ConditionalExpression") { - recurse(node.test); - recurse(node.consequent); - recurse(node.alternate); - } else { - nonConditionalExpressions.push(node); + for (let index = 0; index < conditionalExpressions.length; index++) { + const conditionalExpression = conditionalExpressions[index]; + + for (const property of ["test", "consequent", "alternate"]) { + const node = conditionalExpression[property]; + + if (isJsxNode$1(node)) { + return true; + } + + if (node.type === "ConditionalExpression") { + conditionalExpressions.push(node); + } } } - recurse(node); - return nonConditionalExpressions; + return false; } -function conditionalExpressionChainContainsJSX(node) { - return getConditionalChainContents(node).some(isJSXNode$2); +function printTernaryTest(path, options, print) { + const node = path.getValue(); + const isConditionalExpression = node.type === "ConditionalExpression"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const parent = path.getParentNode(); + const printed = isConditionalExpression ? print("test") : [print("checkType"), " ", "extends", " ", print("extendsType")]; + /** + * a + * ? b + * : multiline + * test + * node + * ^^ align(2) + * ? d + * : e + */ + + if (parent.type === node.type && parent[alternateNodePropertyName] === node) { + return align$2(2, printed); + } + + return printed; +} + +const ancestorNameMap = new Map([["AssignmentExpression", "right"], ["VariableDeclarator", "init"], ["ReturnStatement", "argument"], ["ThrowStatement", "argument"], ["UnaryExpression", "argument"], ["YieldExpression", "argument"]]); + +function shouldExtraIndentForConditionalExpression(path) { + const node = path.getValue(); + + if (node.type !== "ConditionalExpression") { + return false; + } + + let parent; + let child = node; + + for (let ancestorCount = 0; !parent; ancestorCount++) { + const node = path.getParentNode(ancestorCount); + + if (isCallExpression$2(node) && node.callee === child || isMemberExpression$2(node) && node.object === child || node.type === "TSNonNullExpression" && node.expression === child) { + child = node; + continue; + } // Reached chain root + + + if (node.type === "NewExpression" && node.callee === child || node.type === "TSAsExpression" && node.expression === child) { + parent = path.getParentNode(ancestorCount + 1); + child = node; + } else { + parent = node; + } + } // Do not add indent to direct `ConditionalExpression` + + + if (child === node) { + return false; + } + + return parent[ancestorNameMap.get(parent.type)] === child; } /** * The following is the shared logic for * ternary operators, namely ConditionalExpression * and TSConditionalType - * @param {FastPath} path - The path to the ConditionalExpression/TSConditionalType node. + * @param {AstPath} path - The path to the ConditionalExpression/TSConditionalType node. * @param {Options} options - Prettier options * @param {Function} print - Print function to call recursively - * @param {OperatorOptions} operatorOptions * @returns {Doc} */ -function printTernaryOperator(path, options, print, operatorOptions) { +function printTernary$2(path, options, print) { const node = path.getValue(); - const consequentNode = node[operatorOptions.consequentNodePropertyName]; - const alternateNode = node[operatorOptions.alternateNodePropertyName]; + const isConditionalExpression = node.type === "ConditionalExpression"; + const consequentNodePropertyName = isConditionalExpression ? "consequent" : "trueType"; + const alternateNodePropertyName = isConditionalExpression ? "alternate" : "falseType"; + const testNodePropertyNames = isConditionalExpression ? ["test"] : ["checkType", "extendsType"]; + const consequentNode = node[consequentNodePropertyName]; + const alternateNode = node[alternateNodePropertyName]; const parts = []; // We print a ConditionalExpression in either "JSX mode" or "normal mode". // See tests/jsx/conditional-expression.js for more info. let jsxMode = false; const parent = path.getParentNode(); - const isParentTest = parent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.some(prop => parent[prop] === node); - let forceNoIndent = parent.type === operatorOptions.conditionalNodeType && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost + const isParentTest = parent.type === node.type && testNodePropertyNames.some(prop => parent[prop] === node); + let forceNoIndent = parent.type === node.type && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost // ConditionalExpression parent. We'll use these to determine if we should // print in JSX mode. @@ -41870,18 +47382,18 @@ function printTernaryOperator(path, options, print, operatorOptions) { previousParent = currentParent || node; currentParent = path.getParentNode(i); i++; - } while (currentParent && currentParent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.every(prop => currentParent[prop] !== previousParent)); + } while (currentParent && currentParent.type === node.type && testNodePropertyNames.every(prop => currentParent[prop] !== previousParent)); const firstNonConditionalParent = currentParent || parent; const lastConditionalParent = previousParent; - if (operatorOptions.shouldCheckJsx && (isJSXNode$2(node[operatorOptions.testNodePropertyNames[0]]) || isJSXNode$2(consequentNode) || isJSXNode$2(alternateNode) || conditionalExpressionChainContainsJSX(lastConditionalParent))) { + if (isConditionalExpression && (isJsxNode$1(node[testNodePropertyNames[0]]) || isJsxNode$1(consequentNode) || isJsxNode$1(alternateNode) || conditionalExpressionChainContainsJsx(lastConditionalParent))) { jsxMode = true; forceNoIndent = true; // Even though they don't need parens, we wrap (almost) everything in // parens when using ?: within JSX, because the parens are analogous to // curly braces in an if statement. - const wrap = doc => concat$a([ifBreak$3("(", ""), indent$7(concat$a([softline$5, doc])), softline$5, ifBreak$3(")", "")]); // The only things we don't wrap are: + const wrap = doc => [ifBreak$9("("), indent$a([softline$a, doc]), softline$a, ifBreak$9(")")]; // The only things we don't wrap are: // * Nested conditional expressions in alternates // * null // * undefined @@ -41889,2206 +47401,625 @@ function printTernaryOperator(path, options, print, operatorOptions) { const isNil = node => node.type === "NullLiteral" || node.type === "Literal" && node.value === null || node.type === "Identifier" && node.name === "undefined"; - parts.push(" ? ", isNil(consequentNode) ? path.call(print, operatorOptions.consequentNodePropertyName) : wrap(path.call(print, operatorOptions.consequentNodePropertyName)), " : ", alternateNode.type === operatorOptions.conditionalNodeType || isNil(alternateNode) ? path.call(print, operatorOptions.alternateNodePropertyName) : wrap(path.call(print, operatorOptions.alternateNodePropertyName))); + parts.push(" ? ", isNil(consequentNode) ? print(consequentNodePropertyName) : wrap(print(consequentNodePropertyName)), " : ", alternateNode.type === node.type || isNil(alternateNode) ? print(alternateNodePropertyName) : wrap(print(alternateNodePropertyName))); } else { // normal mode - const part = concat$a([line$7, "? ", consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$3("", "(") : "", align$1(2, path.call(print, operatorOptions.consequentNodePropertyName)), consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$3("", ")") : "", line$7, ": ", alternateNode.type === operatorOptions.conditionalNodeType ? path.call(print, operatorOptions.alternateNodePropertyName) : align$1(2, path.call(print, operatorOptions.alternateNodePropertyName))]); - parts.push(parent.type !== operatorOptions.conditionalNodeType || parent[operatorOptions.alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$1(indent$7(part)) : align$1(Math.max(0, options.tabWidth - 2), part)); + const part = [line$c, "? ", consequentNode.type === node.type ? ifBreak$9("", "(") : "", align$2(2, print(consequentNodePropertyName)), consequentNode.type === node.type ? ifBreak$9("", ")") : "", line$c, ": ", alternateNode.type === node.type ? print(alternateNodePropertyName) : align$2(2, print(alternateNodePropertyName))]; + parts.push(parent.type !== node.type || parent[alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$3(indent$a(part)) : align$2(Math.max(0, options.tabWidth - 2), part)); } // We want a whole chain of ConditionalExpressions to all // break if any of them break. That means we should only group around the // outer-most ConditionalExpression. - const comments = flatten_1([...operatorOptions.testNodePropertyNames.map(propertyName => node[propertyName].comments), consequentNode.comments, alternateNode.comments]).filter(Boolean); - const shouldBreak = comments.some(comment => comments$1.isBlockComment(comment) && hasNewlineInRange$4(options.originalText, options.locStart(comment), options.locEnd(comment))); + const comments = [...testNodePropertyNames.map(propertyName => getComments(node[propertyName])), getComments(consequentNode), getComments(alternateNode)].flat(); + const shouldBreak = comments.some(comment => isBlockComment$2(comment) && hasNewlineInRange$1(options.originalText, locStart$g(comment), locEnd$f(comment))); - const maybeGroup = doc => parent === firstNonConditionalParent ? group$6(doc, { + const maybeGroup = doc => parent === firstNonConditionalParent ? group$e(doc, { shouldBreak - }) : shouldBreak ? concat$a([doc, breakParent$4]) : doc; // Break the closing paren to keep the chain right after it: + }) : shouldBreak ? [doc, breakParent$4] : doc; // Break the closing paren to keep the chain right after it: // (a // ? b // : c // ).call() - const breakClosingParen = !jsxMode && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression" || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; - const result = maybeGroup(concat$a([].concat((testDoc => - /** - * a - * ? b - * : multiline - * test - * node - * ^^ align(2) - * ? d - * : e - */ - parent.type === operatorOptions.conditionalNodeType && parent[operatorOptions.alternateNodePropertyName] === node ? align$1(2, testDoc) : testDoc)(concat$a(operatorOptions.beforeParts())), forceNoIndent ? concat$a(parts) : indent$7(concat$a(parts)), operatorOptions.afterParts(breakClosingParen)))); - return isParentTest ? group$6(concat$a([indent$7(concat$a([softline$5, result])), softline$5])) : result; + const breakClosingParen = !jsxMode && (isMemberExpression$2(parent) || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; + const shouldExtraIndent = shouldExtraIndentForConditionalExpression(path); + const result = maybeGroup([printTernaryTest(path, options, print), forceNoIndent ? parts : indent$a(parts), isConditionalExpression && breakClosingParen && !shouldExtraIndent ? softline$a : ""]); + return isParentTest || shouldExtraIndent ? group$e([indent$a([softline$a, result]), softline$a]) : result; } -var ternary = printTernaryOperator; +var ternary = { + printTernary: printTernary$2 +}; -/** @typedef {import("../document").Doc} Doc */ - -/** @type {import("assert")} */ -// TODO(azz): anything that imports from main shouldn't be in a `language-*` dir. - - -const { - getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$2, - hasNewline: hasNewline$5, - hasNewlineInRange: hasNewlineInRange$5, - getLast: getLast$5, - getStringWidth: getStringWidth$3, - printString: printString$1, - printNumber: printNumber$1, - hasIgnoreComment: hasIgnoreComment$2, - hasNodeIgnoreComment: hasNodeIgnoreComment$2, - getIndentSize: getIndentSize$2, - getPreferredQuote: getPreferredQuote$1 -} = util; -const { - isNextLineEmpty: isNextLineEmpty$4, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$4 -} = utilShared; const { builders: { - concat: concat$b, - join: join$6, - line: line$8, - hardline: hardline$6, - softline: softline$6, - literalline: literalline$2, - group: group$7, - indent: indent$8, - align: align$2, - conditionalGroup: conditionalGroup$3, - fill: fill$3, - ifBreak: ifBreak$4, - lineSuffixBoundary: lineSuffixBoundary$1, - addAlignmentToDoc: addAlignmentToDoc$2 - }, - utils: { - willBreak: willBreak$3, - isLineNext: isLineNext$1, - isEmpty: isEmpty$1, - removeLines: removeLines$1, - normalizeParts: normalizeParts$1 - }, - printer: { - printDocToString: printDocToString$2 + hardline: hardline$h } -} = document; +} = doc; const { - insertPragma: insertPragma$1 -} = pragma; + getLeftSidePathName, + hasNakedLeftSide, + isJsxNode, + isTheOnlyJsxElementInMarkdown: isTheOnlyJsxElementInMarkdown$1, + hasComment: hasComment$2, + CommentCheckFlags: CommentCheckFlags$2, + isNextLineEmpty: isNextLineEmpty$6 +} = utils$5; const { - printHtmlBinding: printHtmlBinding$1, - isVueEventBindingExpression: isVueEventBindingExpression$1 -} = htmlBinding; -const { - classChildNeedsASIProtection: classChildNeedsASIProtection$1, - classPropMayCauseASIProblems: classPropMayCauseASIProblems$1, - getFlowVariance: getFlowVariance$1, - getLeftSidePathName: getLeftSidePathName$2, - getParentExportDeclaration: getParentExportDeclaration$1, - getTypeScriptMappedTypeModifier: getTypeScriptMappedTypeModifier$1, - hasDanglingComments: hasDanglingComments$1, - hasFlowAnnotationComment: hasFlowAnnotationComment$1, - hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$2, - hasLeadingOwnLineComment: hasLeadingOwnLineComment$1, - hasNakedLeftSide: hasNakedLeftSide$2, - hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$1, - hasNgSideEffect: hasNgSideEffect$1, - hasPrettierIgnore: hasPrettierIgnore$1, - hasTrailingComment: hasTrailingComment$3, - hasTrailingLineComment: hasTrailingLineComment$1, - identity: identity$2, - isBinaryish: isBinaryish$1, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$2, - isEmptyJSXElement: isEmptyJSXElement$1, - isExportDeclaration: isExportDeclaration$1, - isFlowAnnotationComment: isFlowAnnotationComment$1, - isFunctionNotation: isFunctionNotation$1, - isGetterOrSetter: isGetterOrSetter$1, - isJestEachTemplateLiteral: isJestEachTemplateLiteral$1, - isJSXNode: isJSXNode$3, - isJSXWhitespaceExpression: isJSXWhitespaceExpression$1, - isLastStatement: isLastStatement$1, - isLiteral: isLiteral$1, - isMeaningfulJSXText: isMeaningfulJSXText$1, - isMemberExpressionChain: isMemberExpressionChain$1, - isMemberish: isMemberish$2, - isNgForOf: isNgForOf$1, - isNumericLiteral: isNumericLiteral$3, - isObjectType: isObjectType$1, - isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1, - isSimpleFlowType: isSimpleFlowType$1, - isSimpleNumber: isSimpleNumber$1, - isSimpleTemplateLiteral: isSimpleTemplateLiteral$1, - isStringLiteral: isStringLiteral$1, - isStringPropSafeToUnquote: isStringPropSafeToUnquote$1, - isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1, - isTestCall: isTestCall$1, - isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$1, - isTSXFile: isTSXFile$1, - isTypeAnnotationAFunction: isTypeAnnotationAFunction$1, - matchJsxWhitespaceRegex: matchJsxWhitespaceRegex$1, - needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1, - rawText: rawText$1, - returnArgumentHasLeadingComment: returnArgumentHasLeadingComment$1, - shouldPrintComma: shouldPrintComma$3, - shouldFlatten: shouldFlatten$2, - startsWithNoLookaheadToken: startsWithNoLookaheadToken$2 -} = utils$6; -const { - printOptionalToken: printOptionalToken$2, - printFunctionTypeParameters: printFunctionTypeParameters$2, - printMemberLookup: printMemberLookup$2, - printBindExpressionCallee: printBindExpressionCallee$2 -} = misc; -const { - printModuleSource: printModuleSource$1, - printModuleSpecifiers: printModuleSpecifiers$1 -} = module$2; -const needsQuoteProps = new WeakMap(); -let uid = 0; + shouldPrintParamsWithoutParens +} = _function; +/** + * @typedef {import("../../document").Doc} Doc + * @typedef {import("../../common/ast-path")} AstPath + */ -function genericPrint(path, options, printPath, args) { +function printStatementSequence(path, options, print, property) { const node = path.getValue(); - let needsParens = false; - const linesWithoutParens = printPathNoParens(path, options, printPath, args); - - if (!node || isEmpty$1(linesWithoutParens)) { - return linesWithoutParens; - } - - const parentExportDecl = getParentExportDeclaration$1(path); - const decorators = []; - - if (node.type === "ClassMethod" || node.type === "ClassPrivateMethod" || node.type === "ClassProperty" || node.type === "TSAbstractClassProperty" || node.type === "ClassPrivateProperty" || node.type === "MethodDefinition" || node.type === "TSAbstractMethodDefinition" || node.type === "TSDeclareMethod") ; else if (node.decorators && node.decorators.length > 0 && // If the parent node is an export declaration and the decorator - // was written before the export, the export will be responsible - // for printing the decorators. - !(parentExportDecl && options.locStart(parentExportDecl, { - ignoreDecorators: true - }) > options.locStart(node.decorators[0]))) { - const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators$1(node, options); - const separator = shouldBreak ? hardline$6 : line$8; - path.each(decoratorPath => { - let decorator = decoratorPath.getValue(); - - if (decorator.expression) { - decorator = decorator.expression; - } else { - decorator = decorator.callee; - } - - decorators.push(printPath(decoratorPath), separator); - }, "decorators"); - - if (parentExportDecl) { - decorators.unshift(hardline$6); - } - } else if (isExportDeclaration$1(node) && node.declaration && node.declaration.decorators && node.declaration.decorators.length > 0 && // Only print decorators here if they were written before the export, - // otherwise they are printed by the node.declaration - options.locStart(node, { - ignoreDecorators: true - }) > options.locStart(node.declaration.decorators[0])) { - // Export declarations are responsible for printing any decorators - // that logically apply to node.declaration. - path.each(decoratorPath => { - const decorator = decoratorPath.getValue(); - const prefix = decorator.type === "Decorator" ? "" : "@"; - decorators.push(prefix, printPath(decoratorPath), hardline$6); - }, "declaration", "decorators"); - } else { - // Nodes with decorators can't have parentheses, so we can avoid - // computing pathNeedsParens() except in this case. - needsParens = needsParens_1(path, options); - } - const parts = []; + const isClassBody = node.type === "ClassBody"; + const lastStatement = getLastStatement(node[property]); + path.each((path, index, statements) => { + const node = path.getValue(); // Skip printing EmptyStatement nodes to avoid leaving stray + // semicolons lying around. - if (needsParens) { - parts.unshift("("); - } - - parts.push(linesWithoutParens); - - if (needsParens) { - const node = path.getValue(); - - if (hasFlowShorthandAnnotationComment$2(node)) { - parts.push(" /*"); - parts.push(node.trailingComments[0].value.trimStart()); - parts.push("*/"); - node.trailingComments[0].printed = true; + if (node.type === "EmptyStatement") { + return; } - parts.push(")"); - } + const printed = print(); // in no-semi mode, prepend statement with semicolon if it might break ASI + // don't prepend the only JSX element in a program with semicolon - if (decorators.length > 0) { - return group$7(concat$b(decorators.concat(parts))); - } + if (!options.semi && !isClassBody && !isTheOnlyJsxElementInMarkdown$1(options, path) && statementNeedsASIProtection(path, options)) { + if (hasComment$2(node, CommentCheckFlags$2.Leading)) { + parts.push(print([], { + needsSemi: true + })); + } else { + parts.push(";", printed); + } + } else { + parts.push(printed); + } - return concat$b(parts); + if (!options.semi && isClassBody && isClassProperty(node) && // `ClassBody` don't allow `EmptyStatement`, + // so we can use `statements` to get next node + shouldPrintSemicolonAfterClassProperty(node, statements[index + 1])) { + parts.push(";"); + } + + if (node !== lastStatement) { + parts.push(hardline$h); + + if (isNextLineEmpty$6(node, options)) { + parts.push(hardline$h); + } + } + }, property); + return parts; } -function printDecorators(path, options, print) { +function getLastStatement(statements) { + for (let i = statements.length - 1; i >= 0; i--) { + const statement = statements[i]; + + if (statement.type !== "EmptyStatement") { + return statement; + } + } +} + +function statementNeedsASIProtection(path, options) { + const node = path.getNode(); + + if (node.type !== "ExpressionStatement") { + return false; + } + + return path.call(childPath => expressionNeedsASIProtection(childPath, options), "expression"); +} + +function expressionNeedsASIProtection(path, options) { const node = path.getValue(); - return group$7(concat$b([join$6(line$8, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators$1(node, options) ? hardline$6 : line$8])); -} - -function printPathNoParens(path, options, print, args) { - const n = path.getValue(); - const semi = options.semi ? ";" : ""; - - if (!n) { - return ""; - } - - if (typeof n === "string") { - return n; - } - - const htmlBinding = printHtmlBinding$1(path, options, print); - - if (htmlBinding) { - return htmlBinding; - } - /** @type{Doc[]} */ - - - let parts = []; - - switch (n.type) { - case "JsExpressionRoot": - return path.call(print, "node"); - - case "JsonRoot": - return concat$b([path.call(print, "node"), hardline$6]); - - case "File": - // Print @babel/parser's InterpreterDirective here so that - // leading comments on the `Program` node get printed after the hashbang. - if (n.program && n.program.interpreter) { - parts.push(path.call(programPath => programPath.call(print, "interpreter"), "program")); - } - - parts.push(path.call(print, "program")); - return concat$b(parts); - - case "Program": - { - const hasContents = !n.body.every(({ - type - }) => type === "EmptyStatement") || n.comments; // Babel 6 - - if (n.directives) { - const directivesCount = n.directives.length; - path.map((childPath, index) => { - parts.push(print(childPath), semi, hardline$6); - - if ((index < directivesCount - 1 || hasContents) && isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) { - parts.push(hardline$6); - } - }, "directives"); - } - - parts.push(path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body")); - parts.push(comments.printDanglingComments(path, options, - /* sameIndent */ - true)); // Only force a trailing newline if there were any contents. - - if (hasContents) { - parts.push(hardline$6); - } - - return concat$b(parts); - } - // Babel extension. - - case "EmptyStatement": - return ""; - - case "ExpressionStatement": - // Detect Flow and TypeScript directives - if (n.directive) { - return concat$b([nodeStr(n.expression, options, true), semi]); - } - - if (options.parser === "__vue_event_binding") { - const parent = path.getParentNode(); - - if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === n) { - return concat$b([path.call(print, "expression"), isVueEventBindingExpression$1(n.expression) ? ";" : ""]); - } - } // Do not append semicolon after the only JSX element in a program - - - return concat$b([path.call(print, "expression"), isTheOnlyJSXElementInMarkdown$1(options, path) ? "" : semi]); - // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. + switch (node.type) { case "ParenthesizedExpression": - { - const shouldHug = !n.expression.comments; - - if (shouldHug) { - return concat$b(["(", path.call(print, "expression"), ")"]); - } - - return group$7(concat$b(["(", indent$8(concat$b([softline$6, path.call(print, "expression")])), softline$6, ")"])); - } - - case "AssignmentExpression": - return printAssignment(n.left, path.call(print, "left"), concat$b([" ", n.operator]), n.right, path.call(print, "right"), options); - - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - { - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - const isInsideParenthesis = n !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); - const parts = printBinaryishExpressions(path, print, options, - /* isNested */ - false, isInsideParenthesis); // if ( - // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft - // ) { - // - // looks super weird, we want to break the children if the parent breaks - // - // if ( - // this.hasPlugin("dynamicImports") && - // this.lookahead().type === tt.parenLeft - // ) { - - if (isInsideParenthesis) { - return concat$b(parts); - } // Break between the parens in - // unaries or in a member or specific call expression, i.e. - // - // ( - // a && - // b && - // c - // ).call() - - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || parent.type === "UnaryExpression" || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && !parent.computed) { - return group$7(concat$b([indent$8(concat$b([softline$6, concat$b(parts)])), softline$6])); - } // Avoid indenting sub-expressions in some cases where the first sub-expression is already - // indented accordingly. We should indent sub-expressions where the first case isn't indented. - - - const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || n.operator !== "|" && parent.type === "JsExpressionRoot" || n.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || n === parent.body && parent.type === "ArrowFunctionExpression" || n !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && parentParent.type !== "CallExpression" && parentParent.type !== "OptionalCallExpression" || parent.type === "TemplateLiteral"; - const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "TSAbstractClassProperty" || parent.type === "ClassPrivateProperty" || parent.type === "ObjectProperty" || parent.type === "Property"; - const samePrecedenceSubExpression = isBinaryish$1(n.left) && shouldFlatten$2(n.operator, n.left.operator); - - if (shouldNotIndent || shouldInlineLogicalExpression(n) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(n) && shouldIndentIfInlining) { - return group$7(concat$b(parts)); - } - - if (parts.length === 0) { - return ""; - } // If the right part is a JSX node, we include it in a separate group to - // prevent it breaking the whole chain, so we can print the expression like: - // - // foo && bar && ( - // - // - // - // ) - - - const hasJSX = isJSXNode$3(n.right); - const firstGroupIndex = parts.findIndex(part => typeof part !== "string" && part.type === "group"); // Separate the leftmost expression, possibly with its leading comments. - - const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); - const rest = concat$b(parts.slice(headParts.length, hasJSX ? -1 : undefined)); - const groupId = Symbol("logicalChain-" + ++uid); - const chain = group$7(concat$b([// Don't include the initial expression in the indentation - // level. The first item is guaranteed to be the first - // left-most expression. - ...headParts, indent$8(rest)]), { - id: groupId - }); - - if (!hasJSX) { - return chain; - } - - const jsxPart = getLast$5(parts); - return group$7(concat$b([chain, ifBreak$4(indent$8(jsxPart), jsxPart, { - groupId - })])); - } - - case "AssignmentPattern": - return concat$b([path.call(print, "left"), " = ", path.call(print, "right")]); - - case "TSTypeAssertion": - { - const shouldBreakAfterCast = !(n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression"); - const castGroup = group$7(concat$b(["<", indent$8(concat$b([softline$6, path.call(print, "typeAnnotation")])), softline$6, ">"])); - const exprContents = concat$b([ifBreak$4("("), indent$8(concat$b([softline$6, path.call(print, "expression")])), softline$6, ifBreak$4(")")]); - - if (shouldBreakAfterCast) { - return conditionalGroup$3([concat$b([castGroup, path.call(print, "expression")]), concat$b([castGroup, group$7(exprContents, { - shouldBreak: true - })]), concat$b([castGroup, path.call(print, "expression")])]); - } - - return group$7(concat$b([castGroup, path.call(print, "expression")])); - } - - case "OptionalMemberExpression": - case "MemberExpression": - { - const parent = path.getParentNode(); - let firstNonMemberParent; - let i = 0; - - do { - firstNonMemberParent = path.getParentNode(i); - i++; - } while (firstNonMemberParent && (firstNonMemberParent.type === "MemberExpression" || firstNonMemberParent.type === "OptionalMemberExpression" || firstNonMemberParent.type === "TSNonNullExpression")); - - const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "VariableDeclarator" && firstNonMemberParent.id.type !== "Identifier" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || n.computed || n.object.type === "Identifier" && n.property.type === "Identifier" && parent.type !== "MemberExpression" && parent.type !== "OptionalMemberExpression"; - return concat$b([path.call(print, "object"), shouldInline ? printMemberLookup$2(path, options, print) : group$7(indent$8(concat$b([softline$6, printMemberLookup$2(path, options, print)])))]); - } - - case "MetaProperty": - return concat$b([path.call(print, "meta"), ".", path.call(print, "property")]); - - case "BindExpression": - if (n.object) { - parts.push(path.call(print, "object")); - } - - parts.push(group$7(indent$8(concat$b([softline$6, printBindExpressionCallee$2(path, options, print)])))); - return concat$b(parts); - - case "Identifier": - { - return concat$b([n.name, printOptionalToken$2(path), printTypeAnnotation(path, options, print)]); - } - - case "V8IntrinsicIdentifier": - return concat$b(["%", n.name]); - - case "SpreadElement": - case "SpreadElementPattern": - case "SpreadProperty": - case "SpreadPropertyPattern": - case "RestElement": - case "ObjectTypeSpreadProperty": - return concat$b(["...", path.call(print, "argument"), printTypeAnnotation(path, options, print)]); - - case "FunctionDeclaration": - case "FunctionExpression": - parts.push(printFunctionDeclaration(path, print, options)); - - if (!n.body) { - parts.push(semi); - } - - return concat$b(parts); + case "TypeCastExpression": + case "ArrayExpression": + case "ArrayPattern": + case "TemplateLiteral": + case "TemplateElement": + case "RegExpLiteral": + return true; case "ArrowFunctionExpression": { - if (n.async) { - parts.push("async "); + if (!shouldPrintParamsWithoutParens(path, options)) { + return true; } - if (shouldPrintParamsWithoutParens(path, options)) { - parts.push(path.call(print, "params", 0)); - } else { - parts.push(group$7(concat$b([printFunctionParams(path, print, options, - /* expandLast */ - args && (args.expandLastArg || args.expandFirstArg), - /* printTypeParams */ - true), printReturnType(path, print, options)]))); - } - - const dangling = comments.printDanglingComments(path, options, - /* sameIndent */ - true, comment => { - const nextCharacter = getNextNonSpaceNonCommentCharacterIndex$4(options.originalText, comment, options.locEnd); - return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; - }); - - if (dangling) { - parts.push(" ", dangling); - } - - parts.push(" =>"); - const body = path.call(bodyPath => print(bodyPath, args), "body"); // We want to always keep these types of nodes on the same line - // as the arrow. - - if (!hasLeadingOwnLineComment$1(options.originalText, n.body, options) && (n.body.type === "ArrayExpression" || n.body.type === "ObjectExpression" || n.body.type === "BlockStatement" || isJSXNode$3(n.body) || isTemplateOnItsOwnLine$1(n.body, options.originalText, options) || n.body.type === "ArrowFunctionExpression" || n.body.type === "DoExpression")) { - return group$7(concat$b([concat$b(parts), " ", body])); - } // We handle sequence expressions as the body of arrows specially, - // so that the required parentheses end up on their own lines. - - - if (n.body.type === "SequenceExpression") { - return group$7(concat$b([concat$b(parts), group$7(concat$b([" (", indent$8(concat$b([softline$6, body])), softline$6, ")"]))])); - } // if the arrow function is expanded as last argument, we are adding a - // level of indentation and need to add a softline to align the closing ) - // with the opening (, or if it's inside a JSXExpression (e.g. an attribute) - // we should align the expression's closing } with the line with the opening {. - - - const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !(n.comments && n.comments.length); - const printTrailingComma = args && args.expandLastArg && shouldPrintComma$3(options, "all"); // In order to avoid confusion between - // a => a ? a : a - // a <= a ? a : a - - const shouldAddParens = n.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken$2(n.body, - /* forbidFunctionAndClass */ - false); - return group$7(concat$b([concat$b(parts), group$7(concat$b([indent$8(concat$b([line$8, shouldAddParens ? ifBreak$4("", "(") : "", body, shouldAddParens ? ifBreak$4("", ")") : ""])), shouldAddSoftLine ? concat$b([ifBreak$4(printTrailingComma ? "," : ""), softline$6]) : ""]))])); + break; } - case "YieldExpression": - parts.push("yield"); - - if (n.delegate) { - parts.push("*"); - } - - if (n.argument) { - parts.push(" ", path.call(print, "argument")); - } - - return concat$b(parts); - - case "AwaitExpression": + case "UnaryExpression": { - parts.push("await"); + const { + prefix, + operator + } = node; - if (n.argument) { - parts.push(" ", path.call(print, "argument")); + if (prefix && (operator === "+" || operator === "-")) { + return true; } - const parent = path.getParentNode(); - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && parent.object === n) { - return group$7(concat$b([indent$8(concat$b([softline$6, concat$b(parts)])), softline$6])); - } - - return concat$b(parts); + break; } - case "ImportSpecifier": - if (n.importKind) { - parts.push(path.call(print, "importKind"), " "); - } - - parts.push(path.call(print, "imported")); - - if (n.local && n.local.name !== n.imported.name) { - parts.push(" as ", path.call(print, "local")); - } - - return concat$b(parts); - - case "ExportSpecifier": - parts.push(path.call(print, "local")); - - if (n.exported && n.exported.name !== n.local.name) { - parts.push(" as ", path.call(print, "exported")); - } - - return concat$b(parts); - - case "ImportNamespaceSpecifier": - parts.push("* as "); - parts.push(path.call(print, "local")); - return concat$b(parts); - - case "ImportDefaultSpecifier": - return path.call(print, "local"); - - case "TSExportAssignment": - return concat$b(["export = ", path.call(print, "expression"), semi]); - - case "ExportDefaultDeclaration": - case "ExportNamedDeclaration": - return printExportDeclaration(path, options, print); - - case "DeclareExportDeclaration": - return concat$b(["declare ", printExportDeclaration(path, options, print)]); - - case "ExportAllDeclaration": - parts.push("export"); - - if (n.exportKind === "type") { - parts.push(" type"); - } - - parts.push(" *"); - - if (n.exported) { - parts.push(" as ", path.call(print, "exported")); - } - - parts.push(printModuleSource$1(path, options, print), semi); - return concat$b(parts); - - case "ExportNamespaceSpecifier": - return concat$b(["* as ", path.call(print, "exported")]); - - case "ExportDefaultSpecifier": - return path.call(print, "exported"); - - case "ImportDeclaration": + case "BindExpression": { - parts.push("import"); - - if (n.importKind && n.importKind !== "value") { - parts.push(" ", n.importKind); + if (!node.object) { + return true; } - if (n.specifiers && n.specifiers.length > 0) { - parts.push(printModuleSpecifiers$1(path, options, print)); - parts.push(printModuleSource$1(path, options, print)); - } else if (n.importKind && n.importKind === "type" || // import {} from 'x' - /{\s*}/.test(options.originalText.slice(options.locStart(n), options.locStart(n.source)))) { - parts.push(" {}", printModuleSource$1(path, options, print)); - } else { - parts.push(" ", path.call(print, "source")); - } - - if (Array.isArray(n.attributes) && n.attributes.length !== 0) { - parts.push(" with ", concat$b(path.map(print, "attributes"))); - } - - parts.push(semi); - return concat$b(parts); + break; } - case "ImportAttribute": - return concat$b([path.call(print, "key"), ": ", path.call(print, "value")]); - - case "Import": - return "import"; - - case "TSModuleBlock": - case "BlockStatement": + case "Literal": { - const naked = path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body"); - const hasContent = n.body.some(node => node.type !== "EmptyStatement"); - const hasDirectives = n.directives && n.directives.length > 0; - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - - if (!hasContent && !hasDirectives && !hasDanglingComments$1(n) && (parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration")) { - return "{}"; + if (node.regex) { + return true; } - parts.push("{"); // Babel 6 - - if (hasDirectives) { - path.each(childPath => { - parts.push(indent$8(concat$b([hardline$6, print(childPath), semi]))); - - if (isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) { - parts.push(hardline$6); - } - }, "directives"); - } - - if (hasContent) { - parts.push(indent$8(concat$b([hardline$6, naked]))); - } - - parts.push(comments.printDanglingComments(path, options)); - parts.push(hardline$6, "}"); - return concat$b(parts); + break; } - case "ReturnStatement": - return concat$b(["return", printReturnAndThrowArgument(path, options, print)]); - - case "NewExpression": - case "ImportExpression": - case "OptionalCallExpression": - case "CallExpression": + default: { - const isNew = n.type === "NewExpression"; - const isDynamicImport = n.type === "ImportExpression"; - const optional = printOptionalToken$2(path); - const args = isDynamicImport ? [n.source] : n.arguments; - - if ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style - // define calls, as a unit. - // e.g. `define(["some/lib", (lib) => {` - !isDynamicImport && !isNew && n.callee.type === "Identifier" && (n.callee.name === "require" || n.callee.name === "define") || // Template literals as single arguments - args.length === 1 && isTemplateOnItsOwnLine$1(args[0], options.originalText, options) || // Keep test declarations on a single line - // e.g. `it('long name', () => {` - !isNew && isTestCall$1(n, path.getParentNode())) { - return concat$b([isNew ? "new " : "", path.call(print, "callee"), optional, printFunctionTypeParameters$2(path, options, print), concat$b(["(", isDynamicImport ? path.call(print, "source") : join$6(", ", path.map(print, "arguments")), ")"])]); - } // Inline Flow annotation comments following Identifiers in Call nodes need to - // stay with the Identifier. For example: - // - // foo /*:: */(bar); - // - // Here, we ensure that such comments stay between the Identifier and the Callee. - - - const isIdentifierWithFlowAnnotation = n.callee && n.callee.type === "Identifier" && hasFlowAnnotationComment$1(n.callee.trailingComments); - - if (isIdentifierWithFlowAnnotation) { - n.callee.trailingComments[0].printed = true; - } // We detect calls on member lookups and possibly print them in a - // special chain format. See `printMemberChain` for more info. - - - if (!isDynamicImport && !isNew && isMemberish$2(n.callee) && !path.call(path => needsParens_1(path, options), "callee")) { - return memberChain(path, options, print); + if (isJsxNode(node)) { + return true; } - - const contents = concat$b([isNew ? "new " : "", isDynamicImport ? "import" : path.call(print, "callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${n.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters$2(path, options, print), callArguments(path, options, print)]); // We group here when the callee is itself a call expression. - // See `isLongCurriedCallExpression` for more info. - - if (isDynamicImport || isCallOrOptionalCallExpression$2(n.callee)) { - return group$7(contents); - } - - return contents; } + } - case "ObjectTypeInternalSlot": - return concat$b([n.static ? "static " : "", "[[", path.call(print, "id"), "]]", printOptionalToken$2(path), n.method ? "" : ": ", path.call(print, "value")]); + if (needsParens_1(path, options)) { + return true; + } - case "ObjectExpression": - case "ObjectPattern": - case "ObjectTypeAnnotation": - case "TSInterfaceBody": - case "TSTypeLiteral": - case "RecordExpression": - { - let propertiesField; + if (!hasNakedLeftSide(node)) { + return false; + } - if (n.type === "TSTypeLiteral") { - propertiesField = "members"; - } else if (n.type === "TSInterfaceBody") { - propertiesField = "body"; - } else { - propertiesField = "properties"; - } + return path.call(childPath => expressionNeedsASIProtection(childPath, options), ...getLeftSidePathName(path, node)); +} - const isTypeAnnotation = n.type === "ObjectTypeAnnotation"; - const fields = []; +function printBody$1(path, options, print) { + return printStatementSequence(path, options, print, "body"); +} - if (isTypeAnnotation) { - fields.push("indexers", "callProperties", "internalSlots"); - } +function printSwitchCaseConsequent$1(path, options, print) { + return printStatementSequence(path, options, print, "consequent"); +} - fields.push(propertiesField); - const firstProperty = fields.map(field => n[field][0]).sort((a, b) => options.locStart(a) - options.locStart(b))[0]; - const parent = path.getParentNode(0); - const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; - const shouldBreak = n.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || n.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && n.properties.some(property => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || n.type !== "ObjectPattern" && firstProperty && hasNewlineInRange$5(options.originalText, options.locStart(n), options.locStart(firstProperty)); - const separator = isFlowInterfaceLikeBody ? ";" : n.type === "TSInterfaceBody" || n.type === "TSTypeLiteral" ? ifBreak$4(semi, ";") : ","; - const leftBrace = n.type === "RecordExpression" ? "#{" : n.exact ? "{|" : "{"; - const rightBrace = n.exact ? "|}" : "}"; // Unfortunately, things are grouped together in the ast can be - // interleaved in the source code. So we need to reorder them before - // printing them. - - const propsAndLoc = []; - fields.forEach(field => { - path.each(childPath => { - const node = childPath.getValue(); - propsAndLoc.push({ - node, - printed: print(childPath), - loc: options.locStart(node) - }); - }, field); - }); - let separatorParts = []; - const props = propsAndLoc.sort((a, b) => a.loc - b.loc).map(prop => { - const result = concat$b(separatorParts.concat(group$7(prop.printed))); - separatorParts = [separator, line$8]; - - if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasNodeIgnoreComment$2(prop.node)) { - separatorParts.shift(); - } - - if (isNextLineEmpty$4(options.originalText, prop.node, options.locEnd)) { - separatorParts.push(hardline$6); - } - - return result; - }); - - if (n.inexact) { - let printed; - - if (hasDanglingComments$1(n)) { - const hasLineComments = !n.comments.every(comments$1.isBlockComment); - const printedDanglingComments = comments.printDanglingComments(path, options, - /* sameIndent */ - true); - printed = concat$b([printedDanglingComments, hasLineComments || hasNewline$5(options.originalText, options.locEnd(n.comments[n.comments.length - 1])) ? hardline$6 : line$8, "..."]); - } else { - printed = "..."; - } - - props.push(concat$b(separatorParts.concat(printed))); - } - - const lastElem = getLast$5(n[propertiesField]); - const canHaveTrailingSeparator = !(n.inexact || lastElem && lastElem.type === "RestElement"); - let content; - - if (props.length === 0) { - if (!hasDanglingComments$1(n)) { - return concat$b([leftBrace, rightBrace, printTypeAnnotation(path, options, print)]); - } - - content = group$7(concat$b([leftBrace, comments.printDanglingComments(path, options), softline$6, rightBrace, printOptionalToken$2(path), printTypeAnnotation(path, options, print)])); - } else { - content = concat$b([leftBrace, indent$8(concat$b([options.bracketSpacing ? line$8 : softline$6, concat$b(props)])), ifBreak$4(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma$3(options)) ? separator : ""), concat$b([options.bracketSpacing ? line$8 : softline$6, rightBrace]), printOptionalToken$2(path), printTypeAnnotation(path, options, print)]); - } // If we inline the object as first argument of the parent, we don't want - // to create another group so that the object breaks before the return - // type +const isClassProperty = ({ + type +}) => type === "ClassProperty" || type === "PropertyDefinition" || type === "ClassPrivateProperty"; +/** + * @returns {boolean} + */ - if (path.match(node => node.type === "ObjectPattern" && !node.decorators, (node, name, number) => shouldHugArguments(node) && (name === "params" || name === "parameters") && number === 0) || path.match(shouldHugType, (node, name) => name === "typeAnnotation", (node, name) => name === "typeAnnotation", (node, name, number) => shouldHugArguments(node) && (name === "params" || name === "parameters") && number === 0)) { - return content; - } +function shouldPrintSemicolonAfterClassProperty(node, nextNode) { + const name = node.key && node.key.name; // this isn't actually possible yet with most parsers available today + // so isn't properly tested yet. - return group$7(content, { - shouldBreak - }); - } - // Babel 6 + if ((name === "static" || name === "get" || name === "set") && !node.value && !node.typeAnnotation) { + return true; + } - case "ObjectProperty": // Non-standard AST node type. + if (!nextNode) { + return false; + } - case "Property": - if (n.method || n.kind === "get" || n.kind === "set") { - return printMethod(path, options, print); - } + if (nextNode.static || nextNode.accessibility // TypeScript + ) { + return false; + } - if (n.shorthand) { - parts.push(path.call(print, "value")); - } else { - parts.push(printAssignment(n.key, printPropertyKey(path, options, print), ":", n.value, path.call(print, "value"), options)); - } + if (!nextNode.computed) { + const name = nextNode.key && nextNode.key.name; - return concat$b(parts); - // Babel 6 + if (name === "in" || name === "instanceof") { + return true; + } + } + + switch (nextNode.type) { + case "ClassProperty": + case "PropertyDefinition": + case "TSAbstractClassProperty": + return nextNode.computed; + + case "MethodDefinition": // Flow + + case "TSAbstractMethodDefinition": // TypeScript case "ClassMethod": case "ClassPrivateMethod": - case "MethodDefinition": - case "TSAbstractMethodDefinition": - case "TSDeclareMethod": - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractMethodDefinition" || n.abstract) { - parts.push("abstract "); - } - - parts.push(printMethod(path, options, print)); - return concat$b(parts); - - case "ObjectMethod": - return printMethod(path, options, print); - - case "Decorator": - return concat$b(["@", path.call(print, "expression"), path.call(print, "callee")]); - - case "ArrayExpression": - case "ArrayPattern": - case "TupleExpression": { - const openBracket = n.type === "TupleExpression" ? "#[" : "["; - const closeBracket = "]"; + // Babel + const isAsync = nextNode.value ? nextNode.value.async : nextNode.async; - if (n.elements.length === 0) { - if (!hasDanglingComments$1(n)) { - parts.push(openBracket, closeBracket); - } else { - parts.push(group$7(concat$b([openBracket, comments.printDanglingComments(path, options), softline$6, closeBracket]))); - } - } else { - const lastElem = getLast$5(n.elements); - const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which - // changes its length based on the number of commas. The algorithm - // is that if the last argument is null, we need to force insert - // a comma to ensure JavaScript recognizes it. - // [,].length === 1 - // [1,].length === 1 - // [1,,].length === 2 - // - // Note that getLast returns null if the array is empty, but - // we already check for an empty array just above so we are safe - - const needsForcedTrailingComma = canHaveTrailingComma && lastElem === null; - const shouldBreak = !options.__inJestEach && n.elements.length > 1 && n.elements.every((element, i, elements) => { - const elementType = element && element.type; - - if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { - return false; - } - - const nextElement = elements[i + 1]; - - if (nextElement && elementType !== nextElement.type) { - return false; - } - - const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; - return element[itemsKey] && element[itemsKey].length > 1; - }); - parts.push(group$7(concat$b([openBracket, indent$8(concat$b([softline$6, printArrayItems(path, options, "elements", print)])), needsForcedTrailingComma ? "," : "", ifBreak$4(canHaveTrailingComma && !needsForcedTrailingComma && shouldPrintComma$3(options) ? "," : ""), comments.printDanglingComments(path, options, - /* sameIndent */ - true), softline$6, closeBracket]), { - shouldBreak - })); + if (isAsync || nextNode.kind === "get" || nextNode.kind === "set") { + return false; } - parts.push(printOptionalToken$2(path), printTypeAnnotation(path, options, print)); - return concat$b(parts); - } + const isGenerator = nextNode.value ? nextNode.value.generator : nextNode.generator; - case "SequenceExpression": - { - const parent = path.getParentNode(0); - - if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { - // For ExpressionStatements and for-loop heads, which are among - // the few places a SequenceExpression appears unparenthesized, we want - // to indent expressions after the first. - const parts = []; - path.each(p => { - if (p.getName() === 0) { - parts.push(print(p)); - } else { - parts.push(",", indent$8(concat$b([line$8, print(p)]))); - } - }, "expressions"); - return group$7(concat$b(parts)); + if (nextNode.computed || isGenerator) { + return true; } - return group$7(concat$b([join$6(concat$b([",", line$8]), path.map(print, "expressions"))])); + return false; } - case "ThisExpression": + case "TSIndexSignature": + return true; + } + /* istanbul ignore next */ + + + return false; +} + +var statement = { + printBody: printBody$1, + printSwitchCaseConsequent: printSwitchCaseConsequent$1 +}; + +const { + printDanglingComments: printDanglingComments$2 +} = comments$1; +const { + isNonEmptyArray: isNonEmptyArray$7 +} = util$5; +const { + builders: { + hardline: hardline$g, + indent: indent$9 + } +} = doc; +const { + hasComment: hasComment$1, + CommentCheckFlags: CommentCheckFlags$1, + isNextLineEmpty: isNextLineEmpty$5 +} = utils$5; +const { + printHardlineAfterHeritage +} = _class; +const { + printBody +} = statement; +/** @typedef {import("../../document").Doc} Doc */ + +function printBlock$3(path, options, print) { + const node = path.getValue(); + const parts = []; + + if (node.type === "StaticBlock") { + parts.push("static "); + } + + if (node.type === "ClassBody" && isNonEmptyArray$7(node.body)) { + const parent = path.getParentNode(); + parts.push(printHardlineAfterHeritage(parent)); + } + + parts.push("{"); + const printed = printBlockBody$1(path, options, print); + + if (printed) { + parts.push(indent$9([hardline$g, printed]), hardline$g); + } else { + const parent = path.getParentNode(); + const parentParent = path.getParentNode(1); + + if (!(parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "TSDeclareFunction" || node.type === "StaticBlock" || node.type === "ClassBody")) { + parts.push(hardline$g); + } + } + + parts.push("}"); + return parts; +} + +function printBlockBody$1(path, options, print) { + const node = path.getValue(); + const nodeHasDirectives = isNonEmptyArray$7(node.directives); + const nodeHasBody = node.body.some(node => node.type !== "EmptyStatement"); + const nodeHasComment = hasComment$1(node, CommentCheckFlags$1.Dangling); + + if (!nodeHasDirectives && !nodeHasBody && !nodeHasComment) { + return ""; + } + + const parts = []; // Babel 6 + + if (nodeHasDirectives) { + path.each((childPath, index, directives) => { + parts.push(print()); + + if (index < directives.length - 1 || nodeHasBody || nodeHasComment) { + parts.push(hardline$g); + + if (isNextLineEmpty$5(childPath.getValue(), options)) { + parts.push(hardline$g); + } + } + }, "directives"); + } + + if (nodeHasBody) { + parts.push(printBody(path, options, print)); + } + + if (nodeHasComment) { + parts.push(printDanglingComments$2(path, options, + /* sameIndent */ + true)); + } + + if (node.type === "Program") { + const parent = path.getParentNode(); + + if (!parent || parent.type !== "ModuleExpression") { + parts.push(hardline$g); + } + } + + return parts; +} + +var block$1 = { + printBlock: printBlock$3, + printBlockBody: printBlockBody$1 +}; + +const { + printDanglingComments: printDanglingComments$1 +} = comments$1; +const { + hasNewlineInRange +} = util$5; +const { + builders: { + join: join$d, + line: line$b, + hardline: hardline$f, + softline: softline$9, + group: group$d, + indent: indent$8, + conditionalGroup: conditionalGroup$1, + ifBreak: ifBreak$8 + } +} = doc; +const { + isLiteral, + getTypeScriptMappedTypeModifier, + shouldPrintComma: shouldPrintComma$1, + isCallExpression: isCallExpression$1, + isMemberExpression: isMemberExpression$1 +} = utils$5; +const { + locStart: locStart$f, + locEnd: locEnd$e +} = loc$6; +const { + printOptionalToken: printOptionalToken$1, + printTypeScriptModifiers +} = misc$1; +const { + printTernary: printTernary$1 +} = ternary; +const { + printFunctionParameters, + shouldGroupFunctionParameters +} = functionParameters; +const { + printTemplateLiteral: printTemplateLiteral$1 +} = templateLiteral; +const { + printArrayItems +} = array; +const { + printObject: printObject$1 +} = object$1; +const { + printClassProperty: printClassProperty$1, + printClassMethod: printClassMethod$1 +} = _class; +const { + printTypeParameter, + printTypeParameters +} = typeParameters; +const { + printPropertyKey +} = property; +const { + printFunction: printFunction$1, + printMethodInternal +} = _function; +const { + printInterface +} = _interface; +const { + printBlock: printBlock$2 +} = block$1; +const { + printTypeAlias, + printIntersectionType, + printUnionType, + printFunctionType, + printTupleType, + printIndexedAccessType +} = typeAnnotation; + +function printTypescript$1(path, options, print) { + const node = path.getValue(); // TypeScript nodes always starts with `TS` + + if (!node.type.startsWith("TS")) { + return; + } + + if (node.type.endsWith("Keyword")) { + return node.type.slice(2, -7).toLowerCase(); + } + + const semi = options.semi ? ";" : ""; + const parts = []; + + switch (node.type) { + case "TSThisType": return "this"; - case "Super": - return "super"; - - case "NullLiteral": - // Babel 6 Literal split - return "null"; - - case "RegExpLiteral": - // Babel 6 Literal split - return printRegex(n); - - case "NumericLiteral": - // Babel 6 Literal split - return printNumber$1(n.extra.raw); - - case "DecimalLiteral": - return printNumber$1(n.value) + "m"; - - case "BigIntLiteral": - // babel: n.extra.raw, flow: n.bigint - return (n.bigint || n.extra.raw).toLowerCase(); - - case "BooleanLiteral": // Babel 6 Literal split - - case "StringLiteral": // Babel 6 Literal split - - case "Literal": - if (n.regex) { - return printRegex(n.regex); - } // typescript - - - if (n.bigint) { - return n.raw.toLowerCase(); - } - - if (typeof n.value === "number") { - return printNumber$1(n.raw); - } - - if (typeof n.value !== "string") { - return "" + n.value; - } - - return nodeStr(n, options); - - case "Directive": - return path.call(print, "value"); - // Babel 6 - - case "DirectiveLiteral": - return nodeStr(n, options); - - case "UnaryExpression": - parts.push(n.operator); - - if (/[a-z]$/.test(n.operator)) { - parts.push(" "); - } - - if (n.argument.comments && n.argument.comments.length > 0) { - parts.push(group$7(concat$b(["(", indent$8(concat$b([softline$6, path.call(print, "argument")])), softline$6, ")"]))); - } else { - parts.push(path.call(print, "argument")); - } - - return concat$b(parts); - - case "UpdateExpression": - parts.push(path.call(print, "argument"), n.operator); - - if (n.prefix) { - parts.reverse(); - } - - return concat$b(parts); - - case "ConditionalExpression": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "test")], - afterParts: breakClosingParen => [breakClosingParen ? softline$6 : ""], - shouldCheckJsx: true, - conditionalNodeType: "ConditionalExpression", - consequentNodePropertyName: "consequent", - alternateNodePropertyName: "alternate", - testNodePropertyNames: ["test"] - }); - - case "VariableDeclaration": + case "TSTypeAssertion": { - const printed = path.map(childPath => { - return print(childPath); - }, "declarations"); // We generally want to terminate all variable declarations with a - // semicolon, except when they in the () part of for loops. + const shouldBreakAfterCast = !(node.expression.type === "ArrayExpression" || node.expression.type === "ObjectExpression"); + const castGroup = group$d(["<", indent$8([softline$9, print("typeAnnotation")]), softline$9, ">"]); + const exprContents = [ifBreak$8("("), indent$8([softline$9, print("expression")]), softline$9, ifBreak$8(")")]; - const parentNode = path.getParentNode(); - const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; - const hasValue = n.declarations.some(decl => decl.init); - let firstVariable; - - if (printed.length === 1 && !n.declarations[0].comments) { - firstVariable = printed[0]; - } else if (printed.length > 0) { - // Indent first var to comply with eslint one-var rule - firstVariable = indent$8(printed[0]); + if (shouldBreakAfterCast) { + return conditionalGroup$1([[castGroup, print("expression")], [castGroup, group$d(exprContents, { + shouldBreak: true + })], [castGroup, print("expression")]]); } - parts = [n.declare ? "declare " : "", n.kind, firstVariable ? concat$b([" ", firstVariable]) : "", indent$8(concat$b(printed.slice(1).map(p => concat$b([",", hasValue && !isParentForLoop ? hardline$6 : line$8, p]))))]; - - if (!(isParentForLoop && parentNode.body !== n)) { - parts.push(semi); - } - - return group$7(concat$b(parts)); + return group$d([castGroup, print("expression")]); } + case "TSDeclareFunction": + return printFunction$1(path, print, options); + + case "TSExportAssignment": + return ["export = ", print("expression"), semi]; + + case "TSModuleBlock": + return printBlock$2(path, options, print); + + case "TSInterfaceBody": + case "TSTypeLiteral": + return printObject$1(path, options, print); + case "TSTypeAliasDeclaration": - { - if (n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight(n.id, n.typeAnnotation, n.typeAnnotation && path.call(print, "typeAnnotation"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$7(concat$b(parts)); - } - - case "VariableDeclarator": - return printAssignment(n.id, path.call(print, "id"), " =", n.init, n.init && path.call(print, "init"), options); - - case "WithStatement": - return group$7(concat$b(["with (", path.call(print, "object"), ")", adjustClause(n.body, path.call(print, "body"))])); - - case "IfStatement": - { - const con = adjustClause(n.consequent, path.call(print, "consequent")); - const opening = group$7(concat$b(["if (", group$7(concat$b([indent$8(concat$b([softline$6, path.call(print, "test")])), softline$6])), ")", con])); - parts.push(opening); - - if (n.alternate) { - const commentOnOwnLine = hasTrailingComment$3(n.consequent) && n.consequent.comments.some(comment => comment.trailing && !comments$1.isBlockComment(comment)) || needsHardlineAfterDanglingComment$1(n); - const elseOnSameLine = n.consequent.type === "BlockStatement" && !commentOnOwnLine; - parts.push(elseOnSameLine ? " " : hardline$6); - - if (hasDanglingComments$1(n)) { - parts.push(comments.printDanglingComments(path, options, true), commentOnOwnLine ? hardline$6 : " "); - } - - parts.push("else", group$7(adjustClause(n.alternate, path.call(print, "alternate"), n.alternate.type === "IfStatement"))); - } - - return concat$b(parts); - } - - case "ForStatement": - { - const body = adjustClause(n.body, path.call(print, "body")); // We want to keep dangling comments above the loop to stay consistent. - // Any comment positioned between the for statement and the parentheses - // is going to be printed before the statement. - - const dangling = comments.printDanglingComments(path, options, - /* sameLine */ - true); - const printedComments = dangling ? concat$b([dangling, softline$6]) : ""; - - if (!n.init && !n.test && !n.update) { - return concat$b([printedComments, group$7(concat$b(["for (;;)", body]))]); - } - - return concat$b([printedComments, group$7(concat$b(["for (", group$7(concat$b([indent$8(concat$b([softline$6, path.call(print, "init"), ";", line$8, path.call(print, "test"), ";", line$8, path.call(print, "update")])), softline$6])), ")", body]))]); - } - - case "WhileStatement": - return group$7(concat$b(["while (", group$7(concat$b([indent$8(concat$b([softline$6, path.call(print, "test")])), softline$6])), ")", adjustClause(n.body, path.call(print, "body"))])); - - case "ForInStatement": - // Note: esprima can't actually parse "for each (". - return group$7(concat$b([n.each ? "for each (" : "for (", path.call(print, "left"), " in ", path.call(print, "right"), ")", adjustClause(n.body, path.call(print, "body"))])); - - case "ForOfStatement": - return group$7(concat$b(["for", n.await ? " await" : "", " (", path.call(print, "left"), " of ", path.call(print, "right"), ")", adjustClause(n.body, path.call(print, "body"))])); - - case "DoWhileStatement": - { - const clause = adjustClause(n.body, path.call(print, "body")); - const doBody = group$7(concat$b(["do", clause])); - parts = [doBody]; - - if (n.body.type === "BlockStatement") { - parts.push(" "); - } else { - parts.push(hardline$6); - } - - parts.push("while ("); - parts.push(group$7(concat$b([indent$8(concat$b([softline$6, path.call(print, "test")])), softline$6])), ")", semi); - return concat$b(parts); - } - - case "DoExpression": - return concat$b(["do ", path.call(print, "body")]); - - case "BreakStatement": - parts.push("break"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$b(parts); - - case "ContinueStatement": - parts.push("continue"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$b(parts); - - case "LabeledStatement": - if (n.body.type === "EmptyStatement") { - return concat$b([path.call(print, "label"), ":;"]); - } - - return concat$b([path.call(print, "label"), ": ", path.call(print, "body")]); - - case "TryStatement": - return concat$b(["try ", path.call(print, "block"), n.handler ? concat$b([" ", path.call(print, "handler")]) : "", n.finalizer ? concat$b([" finally ", path.call(print, "finalizer")]) : ""]); - - case "CatchClause": - if (n.param) { - const hasComments = n.param.comments && n.param.comments.some(comment => !comments$1.isBlockComment(comment) || comment.leading && hasNewline$5(options.originalText, options.locEnd(comment)) || comment.trailing && hasNewline$5(options.originalText, options.locStart(comment), { - backwards: true - })); - const param = path.call(print, "param"); - return concat$b(["catch ", hasComments ? concat$b(["(", indent$8(concat$b([softline$6, param])), softline$6, ") "]) : concat$b(["(", param, ") "]), path.call(print, "body")]); - } - - return concat$b(["catch ", path.call(print, "body")]); - - case "ThrowStatement": - return concat$b(["throw", printReturnAndThrowArgument(path, options, print)]); - // Note: ignoring n.lexical because it has no printing consequences. - - case "SwitchStatement": - return concat$b([group$7(concat$b(["switch (", indent$8(concat$b([softline$6, path.call(print, "discriminant")])), softline$6, ")"])), " {", n.cases.length > 0 ? indent$8(concat$b([hardline$6, join$6(hardline$6, path.map(casePath => { - const caseNode = casePath.getValue(); - return concat$b([casePath.call(print), n.cases.indexOf(caseNode) !== n.cases.length - 1 && isNextLineEmpty$4(options.originalText, caseNode, options.locEnd) ? hardline$6 : ""]); - }, "cases"))])) : "", hardline$6, "}"]); - - case "SwitchCase": - { - if (n.test) { - parts.push("case ", path.call(print, "test"), ":"); - } else { - parts.push("default:"); - } - - const consequent = n.consequent.filter(node => node.type !== "EmptyStatement"); - - if (consequent.length > 0) { - const cons = path.call(consequentPath => { - return printStatementSequence(consequentPath, options, print); - }, "consequent"); - parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? concat$b([" ", cons]) : indent$8(concat$b([hardline$6, cons]))); - } - - return concat$b(parts); - } - // JSX extensions below. - - case "DebuggerStatement": - return concat$b(["debugger", semi]); - - case "JSXAttribute": - parts.push(path.call(print, "name")); - - if (n.value) { - let res; - - if (isStringLiteral$1(n.value)) { - const raw = rawText$1(n.value); // Unescape all quotes so we get an accurate preferred quote - - let final = raw.replace(/'/g, "'").replace(/"/g, '"'); - const quote = getPreferredQuote$1(final, options.jsxSingleQuote ? "'" : '"'); - const escape = quote === "'" ? "'" : """; - final = final.slice(1, -1).replace(new RegExp(quote, "g"), escape); - res = concat$b([quote, final, quote]); - } else { - res = path.call(print, "value"); - } - - parts.push("=", res); - } - - return concat$b(parts); - - case "JSXIdentifier": - return "" + n.name; - - case "JSXNamespacedName": - return join$6(":", [path.call(print, "namespace"), path.call(print, "name")]); - - case "JSXMemberExpression": - return join$6(".", [path.call(print, "object"), path.call(print, "property")]); + return printTypeAlias(path, options, print); case "TSQualifiedName": - return join$6(".", [path.call(print, "left"), path.call(print, "right")]); + return join$d(".", [print("left"), print("right")]); - case "JSXSpreadAttribute": - case "JSXSpreadChild": - { - return concat$b(["{", path.call(p => { - const printed = concat$b(["...", print(p)]); - const n = p.getValue(); + case "TSAbstractMethodDefinition": + case "TSDeclareMethod": + return printClassMethod$1(path, options, print); - if (!n.comments || !n.comments.length || !willPrintOwnComments(p)) { - return printed; - } - - return concat$b([indent$8(concat$b([softline$6, comments.printComments(p, () => printed, options)])), softline$6]); - }, n.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]); - } - - case "JSXExpressionContainer": - { - const parent = path.getParentNode(0); - const hasComments = n.expression.comments && n.expression.comments.length > 0; - const shouldInline = n.expression.type === "JSXEmptyExpression" || !hasComments && (n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression" || n.expression.type === "ArrowFunctionExpression" || n.expression.type === "CallExpression" || n.expression.type === "OptionalCallExpression" || n.expression.type === "FunctionExpression" || n.expression.type === "TemplateLiteral" || n.expression.type === "TaggedTemplateExpression" || n.expression.type === "DoExpression" || isJSXNode$3(parent) && (n.expression.type === "ConditionalExpression" || isBinaryish$1(n.expression))); - - if (shouldInline) { - return group$7(concat$b(["{", path.call(print, "expression"), lineSuffixBoundary$1, "}"])); - } - - return group$7(concat$b(["{", indent$8(concat$b([softline$6, path.call(print, "expression")])), softline$6, lineSuffixBoundary$1, "}"])); - } - - case "JSXFragment": - case "JSXElement": - { - const elem = comments.printComments(path, () => printJSXElement(path, options, print), options); - return maybeWrapJSXElementInParens(path, elem, options); - } - - case "JSXOpeningElement": - { - const n = path.getValue(); - const nameHasComments = n.name && n.name.comments && n.name.comments.length > 0 || n.typeParameters && n.typeParameters.comments && n.typeParameters.comments.length > 0; // Don't break self-closing elements with no attributes and no comments - - if (n.selfClosing && !n.attributes.length && !nameHasComments) { - return concat$b(["<", path.call(print, "name"), path.call(print, "typeParameters"), " />"]); - } // don't break up opening elements with a single long text attribute - - - if (n.attributes && n.attributes.length === 1 && n.attributes[0].value && isStringLiteral$1(n.attributes[0].value) && !n.attributes[0].value.value.includes("\n") && // We should break for the following cases: - //
- //
- !nameHasComments && (!n.attributes[0].comments || !n.attributes[0].comments.length)) { - return group$7(concat$b(["<", path.call(print, "name"), path.call(print, "typeParameters"), " ", concat$b(path.map(print, "attributes")), n.selfClosing ? " />" : ">"])); - } - - const lastAttrHasTrailingComments = n.attributes.length && hasTrailingComment$3(getLast$5(n.attributes)); - const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be - // kept unbroken regardless of `jsxBracketSameLine` - !n.attributes.length && !nameHasComments || options.jsxBracketSameLine && ( // We should print the bracket in a new line for the following cases: - //
- //
- !nameHasComments || n.attributes.length) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a - // string literal with newlines - - const shouldBreak = n.attributes && n.attributes.some(attr => attr.value && isStringLiteral$1(attr.value) && attr.value.value.includes("\n")); - return group$7(concat$b(["<", path.call(print, "name"), path.call(print, "typeParameters"), concat$b([indent$8(concat$b(path.map(attr => concat$b([line$8, print(attr)]), "attributes"))), n.selfClosing ? line$8 : bracketSameLine ? ">" : softline$6]), n.selfClosing ? "/>" : bracketSameLine ? "" : ">"]), { - shouldBreak - }); - } - - case "JSXClosingElement": - return concat$b([""]); - - case "JSXOpeningFragment": - case "JSXClosingFragment": - { - const hasComment = n.comments && n.comments.length; - const hasOwnLineComment = hasComment && !n.comments.every(comments$1.isBlockComment); - const isOpeningFragment = n.type === "JSXOpeningFragment"; - return concat$b([isOpeningFragment ? "<" : ""]); - } - - case "JSXText": - /* istanbul ignore next */ - throw new Error("JSXTest should be handled by JSXElement"); - - case "JSXEmptyExpression": - { - const requiresHardline = n.comments && !n.comments.every(comments$1.isBlockComment); - return concat$b([comments.printDanglingComments(path, options, - /* sameIndent */ - !requiresHardline), requiresHardline ? hardline$6 : ""]); - } - - case "ClassBody": - if (!n.comments && n.body.length === 0) { - return "{}"; - } - - return concat$b(["{", n.body.length > 0 ? indent$8(concat$b([hardline$6, path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body")])) : comments.printDanglingComments(path, options), hardline$6, "}"]); - - case "ClassProperty": case "TSAbstractClassProperty": - case "ClassPrivateProperty": - { - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.declare) { - parts.push("declare "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractClassProperty" || n.abstract) { - parts.push("abstract "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - const variance = getFlowVariance$1(n); - - if (variance) { - parts.push(variance); - } - - parts.push(printPropertyKey(path, options, print), printOptionalToken$2(path), printTypeAnnotation(path, options, print)); - - if (n.value) { - parts.push(" =", printAssignmentRight(n.key, n.value, path.call(print, "value"), options)); - } - - parts.push(semi); - return group$7(concat$b(parts)); - } - - case "ClassDeclaration": - case "ClassExpression": - if (n.declare) { - parts.push("declare "); - } - - parts.push(concat$b(printClass(path, options, print))); - return concat$b(parts); + return printClassProperty$1(path, options, print); case "TSInterfaceHeritage": case "TSExpressionWithTypeArguments": // Babel AST - parts.push(path.call(print, "expression")); + parts.push(print("expression")); - if (n.typeParameters) { - parts.push(path.call(print, "typeParameters")); + if (node.typeParameters) { + parts.push(print("typeParameters")); } - return concat$b(parts); + return parts; - case "TemplateElement": - return join$6(literalline$2, n.value.raw.split(/\r?\n/g)); - - case "TemplateLiteral": - { - const parentNode = path.getParentNode(); - - if (isJestEachTemplateLiteral$1(n, parentNode)) { - const printed = printJestEachTemplateLiteral(path, options, print); - - if (printed) { - return printed; - } - } - - let expressions = path.map(print, "expressions"); - const isSimple = isSimpleTemplateLiteral$1(n); - - if (isSimple) { - expressions = expressions.map(doc => printDocToString$2(doc, Object.assign({}, options, { - printWidth: Infinity - })).formatted); - } - - parts.push(lineSuffixBoundary$1, "`"); - path.each(childPath => { - const i = childPath.getName(); - parts.push(print(childPath)); - - if (i < expressions.length) { - // For a template literal of the following form: - // `someQuery { - // ${call({ - // a, - // b, - // })} - // }` - // the expression is on its own line (there is a \n in the previous - // quasi literal), therefore we want to indent the JavaScript - // expression inside at the beginning of ${ instead of the beginning - // of the `. - const { - tabWidth - } = options; - const quasi = childPath.getValue(); - const indentSize = getIndentSize$2(quasi.value.raw, tabWidth); - let printed = expressions[i]; - - if (!isSimple) { - // Breaks at the template element boundaries (${ and }) are preferred to breaking - // in the middle of a MemberExpression - if (n.expressions[i].comments && n.expressions[i].comments.length || n.expressions[i].type === "MemberExpression" || n.expressions[i].type === "OptionalMemberExpression" || n.expressions[i].type === "ConditionalExpression" || n.expressions[i].type === "SequenceExpression" || n.expressions[i].type === "TSAsExpression" || isBinaryish$1(n.expressions[i])) { - printed = concat$b([indent$8(concat$b([softline$6, printed])), softline$6]); - } - } - - const aligned = indentSize === 0 && quasi.value.raw.endsWith("\n") ? align$2(-Infinity, printed) : addAlignmentToDoc$2(printed, indentSize, tabWidth); - parts.push(group$7(concat$b(["${", aligned, lineSuffixBoundary$1, "}"]))); - } - }, "quasis"); - parts.push("`"); - return concat$b(parts); - } - - case "TaggedTemplateExpression": - return concat$b([path.call(print, "tag"), path.call(print, "typeParameters"), path.call(print, "quasi")]); - // These types are unprintable because they serve as abstract - // supertypes for other (printable) types. - - case "Node": - case "Printable": - case "SourceLocation": - case "Position": - case "Statement": - case "Function": - case "Pattern": - case "Expression": - case "Declaration": - case "Specifier": - case "NamedSpecifier": - case "Comment": - case "MemberTypeAnnotation": // Flow - - case "Type": - /* istanbul ignore next */ - throw new Error("unprintable type: " + JSON.stringify(n.type)); - // Type Annotations for Facebook Flow, typically stripped out or - // transformed away before printing. - - case "TypeAnnotation": - case "TSTypeAnnotation": - if (n.typeAnnotation) { - return path.call(print, "typeAnnotation"); - } - /* istanbul ignore next */ - - - return ""; + case "TSTemplateLiteralType": + return printTemplateLiteral$1(path, print, options); case "TSNamedTupleMember": - return concat$b([path.call(print, "label"), n.optional ? "?" : "", ": ", path.call(print, "elementType")]); - - case "TSTupleType": - case "TupleTypeAnnotation": - { - const typesField = n.type === "TSTupleType" ? "elementTypes" : "types"; - const hasRest = n[typesField].length > 0 && getLast$5(n[typesField]).type === "TSRestType"; - return group$7(concat$b(["[", indent$8(concat$b([softline$6, printArrayItems(path, options, typesField, print)])), ifBreak$4(shouldPrintComma$3(options, "all") && !hasRest ? "," : ""), comments.printDanglingComments(path, options, - /* sameIndent */ - true), softline$6, "]"])); - } - - case "ExistsTypeAnnotation": - return "*"; - - case "EmptyTypeAnnotation": - return "empty"; - - case "AnyTypeAnnotation": - return "any"; - - case "MixedTypeAnnotation": - return "mixed"; - - case "ArrayTypeAnnotation": - return concat$b([path.call(print, "elementType"), "[]"]); - - case "BooleanTypeAnnotation": - return "boolean"; - - case "BooleanLiteralTypeAnnotation": - return "" + n.value; - - case "DeclareClass": - return printFlowDeclaration(path, printClass(path, options, print)); - - case "TSDeclareFunction": - // For TypeScript the TSDeclareFunction node shares the AST - // structure with FunctionDeclaration - return concat$b([n.declare ? "declare " : "", printFunctionDeclaration(path, print, options), semi]); - - case "DeclareFunction": - return printFlowDeclaration(path, ["function ", path.call(print, "id"), n.predicate ? " " : "", path.call(print, "predicate"), semi]); - - case "DeclareModule": - return printFlowDeclaration(path, ["module ", path.call(print, "id"), " ", path.call(print, "body")]); - - case "DeclareModuleExports": - return printFlowDeclaration(path, ["module.exports", ": ", path.call(print, "typeAnnotation"), semi]); - - case "DeclareVariable": - return printFlowDeclaration(path, ["var ", path.call(print, "id"), semi]); - - case "DeclareExportAllDeclaration": - return concat$b(["declare export *", printModuleSource$1(path, options, print)]); - - case "DeclareOpaqueType": - case "OpaqueType": - { - parts.push("opaque type ", path.call(print, "id"), path.call(print, "typeParameters")); - - if (n.supertype) { - parts.push(": ", path.call(print, "supertype")); - } - - if (n.impltype) { - parts.push(" = ", path.call(print, "impltype")); - } - - parts.push(semi); - - if (n.type === "DeclareOpaqueType") { - return printFlowDeclaration(path, parts); - } - - return concat$b(parts); - } - - case "EnumDeclaration": - return concat$b(["enum ", path.call(print, "id"), " ", path.call(print, "body")]); - - case "EnumBooleanBody": - case "EnumNumberBody": - case "EnumStringBody": - case "EnumSymbolBody": - { - if (n.type === "EnumSymbolBody" || n.explicitType) { - let type = null; - - switch (n.type) { - case "EnumBooleanBody": - type = "boolean"; - break; - - case "EnumNumberBody": - type = "number"; - break; - - case "EnumStringBody": - type = "string"; - break; - - case "EnumSymbolBody": - type = "symbol"; - break; - } - - parts.push("of ", type, " "); - } - - if (n.members.length === 0) { - parts.push(group$7(concat$b(["{", comments.printDanglingComments(path, options), softline$6, "}"]))); - } else { - parts.push(group$7(concat$b(["{", indent$8(concat$b([hardline$6, printArrayItems(path, options, "members", print), shouldPrintComma$3(options) ? "," : ""])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), hardline$6, "}"]))); - } - - return concat$b(parts); - } - - case "EnumBooleanMember": - case "EnumNumberMember": - case "EnumStringMember": - return concat$b([path.call(print, "id"), " = ", typeof n.init === "object" ? path.call(print, "init") : String(n.init)]); - - case "EnumDefaultedMember": - return path.call(print, "id"); - - case "FunctionTypeAnnotation": - case "TSFunctionType": - { - // FunctionTypeAnnotation is ambiguous: - // declare function foo(a: B): void; OR - // var A: (a: B) => void; - const parent = path.getParentNode(0); - const parentParent = path.getParentNode(1); - const parentParentParent = path.getParentNode(2); - let isArrowFunctionTypeAnnotation = n.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !getFlowVariance$1(parent) && !parent.optional && options.locStart(parent) === options.locStart(n) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); - let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); // Sadly we can't put it inside of FastPath::needsColon because we are - // printing ":" as part of the expression and it would put parenthesis - // around :( - - const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; - - if (isObjectTypePropertyAFunction$1(parent, options)) { - isArrowFunctionTypeAnnotation = true; - needsColon = true; - } - - if (needsParens) { - parts.push("("); - } - - parts.push(printFunctionParams(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); // The returnType is not wrapped in a TypeAnnotation, so the colon - // needs to be added separately. - - if (n.returnType || n.predicate || n.typeAnnotation) { - parts.push(isArrowFunctionTypeAnnotation ? " => " : ": ", path.call(print, "returnType"), path.call(print, "predicate"), path.call(print, "typeAnnotation")); - } - - if (needsParens) { - parts.push(")"); - } - - return group$7(concat$b(parts)); - } + return [print("label"), node.optional ? "?" : "", ": ", print("elementType")]; case "TSRestType": - return concat$b(["...", path.call(print, "typeAnnotation")]); + return ["...", print("typeAnnotation")]; case "TSOptionalType": - return concat$b([path.call(print, "typeAnnotation"), "?"]); + return [print("typeAnnotation"), "?"]; - case "FunctionTypeParam": - return concat$b([path.call(print, "name"), printOptionalToken$2(path), n.name ? ": " : "", path.call(print, "typeAnnotation")]); - - case "GenericTypeAnnotation": - return concat$b([path.call(print, "id"), path.call(print, "typeParameters")]); - - case "DeclareInterface": - case "InterfaceDeclaration": - case "InterfaceTypeAnnotation": case "TSInterfaceDeclaration": - { - if (n.type === "DeclareInterface" || n.declare) { - parts.push("declare "); - } - - if (n.type === "TSInterfaceDeclaration") { - parts.push(n.abstract ? "abstract " : "", printTypeScriptModifiers(path, options, print)); - } - - parts.push("interface"); - const partsGroup = []; - const extendsParts = []; - - if (n.type !== "InterfaceTypeAnnotation") { - partsGroup.push(" ", path.call(print, "id"), path.call(print, "typeParameters")); - } - - const shouldIndentOnlyHeritageClauses = n.typeParameters && !hasTrailingLineComment$1(n.typeParameters); - - if (n.extends && n.extends.length !== 0) { - extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$4(" ", line$8, { - groupId: getTypeParametersGroupId(n.typeParameters) - }) : line$8, "extends ", (n.extends.length === 1 ? identity$2 : indent$8)(join$6(concat$b([",", line$8]), path.map(print, "extends")))); - } - - if (n.id && hasTrailingComment$3(n.id) || n.extends && n.extends.length !== 0) { - const printedExtends = concat$b(extendsParts); - - if (shouldIndentOnlyHeritageClauses) { - parts.push(group$7(concat$b(partsGroup.concat(ifBreak$4(indent$8(printedExtends), printedExtends))))); - } else { - parts.push(group$7(indent$8(concat$b(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return group$7(concat$b(parts)); - } - - case "ClassImplements": - case "InterfaceExtends": - return concat$b([path.call(print, "id"), path.call(print, "typeParameters")]); + return printInterface(path, options, print); case "TSClassImplements": - return concat$b([path.call(print, "expression"), path.call(print, "typeParameters")]); - - case "TSIntersectionType": - case "IntersectionTypeAnnotation": - { - const types = path.map(print, "types"); - const result = []; - let wasIndented = false; - - for (let i = 0; i < types.length; ++i) { - if (i === 0) { - result.push(types[i]); - } else if (isObjectType$1(n.types[i - 1]) && isObjectType$1(n.types[i])) { - // If both are objects, don't indent - result.push(concat$b([" & ", wasIndented ? indent$8(types[i]) : types[i]])); - } else if (!isObjectType$1(n.types[i - 1]) && !isObjectType$1(n.types[i])) { - // If no object is involved, go to the next line if it breaks - result.push(indent$8(concat$b([" &", line$8, types[i]]))); - } else { - // If you go from object to non-object or vis-versa, then inline it - if (i > 1) { - wasIndented = true; - } - - result.push(" & ", i > 1 ? indent$8(types[i]) : types[i]); - } - } - - return group$7(concat$b(result)); - } - - case "TSUnionType": - case "UnionTypeAnnotation": - { - // single-line variation - // A | B | C - // multi-line variation - // | A - // | B - // | C - const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation - - const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment$1(options.originalText, n, options)); // { - // a: string - // } | null | void - // should be inlined and not be printed in the multi-line variant - - const shouldHug = shouldHugType(n); // We want to align the children but without its comment, so it looks like - // | child1 - // // comment - // | child2 - - const printed = path.map(typePath => { - let printedType = typePath.call(print); - - if (!shouldHug) { - printedType = align$2(2, printedType); - } - - return comments.printComments(typePath, () => printedType, options); - }, "types"); - - if (shouldHug) { - return join$6(" | ", printed); - } - - const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$1(options.originalText, n, options); - const code = concat$b([ifBreak$4(concat$b([shouldAddStartLine ? line$8 : "", "| "])), join$6(concat$b([line$8, "| "]), printed)]); - - if (needsParens_1(path, options)) { - return group$7(concat$b([indent$8(code), softline$6])); - } - - if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { - return group$7(concat$b([indent$8(concat$b([ifBreak$4(concat$b(["(", softline$6])), code])), softline$6, ifBreak$4(")")])); - } - - return group$7(shouldIndent ? indent$8(code) : code); - } - - case "NullableTypeAnnotation": - return concat$b(["?", path.call(print, "typeAnnotation")]); - - case "TSNullKeyword": - case "NullLiteralTypeAnnotation": - return "null"; - - case "ThisTypeAnnotation": - return "this"; - - case "NumberTypeAnnotation": - return "number"; - - case "SymbolTypeAnnotation": - return "symbol"; - - case "ObjectTypeCallProperty": - if (n.static) { - parts.push("static "); - } - - parts.push(path.call(print, "value")); - return concat$b(parts); - - case "ObjectTypeIndexer": - { - const variance = getFlowVariance$1(n); - return concat$b([variance || "", "[", path.call(print, "id"), n.id ? ": " : "", path.call(print, "key"), "]: ", path.call(print, "value")]); - } - - case "ObjectTypeProperty": - { - const variance = getFlowVariance$1(n); - let modifier = ""; - - if (n.proto) { - modifier = "proto "; - } else if (n.static) { - modifier = "static "; - } - - return concat$b([modifier, isGetterOrSetter$1(n) ? n.kind + " " : "", variance || "", printPropertyKey(path, options, print), printOptionalToken$2(path), isFunctionNotation$1(n, options) ? "" : ": ", path.call(print, "value")]); - } - - case "QualifiedTypeIdentifier": - return concat$b([path.call(print, "qualification"), ".", path.call(print, "id")]); - - case "StringLiteralTypeAnnotation": - return nodeStr(n, options); - - case "NumberLiteralTypeAnnotation": - assert__default['default'].strictEqual(typeof n.value, "number"); - - if (n.extra != null) { - return printNumber$1(n.extra.raw); - } - - return printNumber$1(n.raw); - - case "StringTypeAnnotation": - return "string"; - - case "DeclareTypeAlias": - case "TypeAlias": - { - if (n.type === "DeclareTypeAlias" || n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight(n.id, n.right, path.call(print, "right"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$7(concat$b(parts)); - } - - case "TypeCastExpression": - { - return concat$b(["(", path.call(print, "expression"), printTypeAnnotation(path, options, print), ")"]); - } - - case "TypeParameterDeclaration": - case "TypeParameterInstantiation": - { - const value = path.getValue(); - const commentStart = options.originalText.slice(0, options.locStart(value)).lastIndexOf("/*"); // As noted in the TypeCastExpression comments above, we're able to use a normal whitespace regex here - // because we know for sure that this is a type definition. - - const commentSyntax = commentStart >= 0 && options.originalText.slice(commentStart).match(/^\/\*\s*::/); - - if (commentSyntax) { - return concat$b(["/*:: ", printTypeParameters(path, options, print, "params"), " */"]); - } - - return printTypeParameters(path, options, print, "params"); - } + return [print("expression"), print("typeParameters")]; case "TSTypeParameterDeclaration": case "TSTypeParameterInstantiation": return printTypeParameters(path, options, print, "params"); case "TSTypeParameter": - case "TypeParameter": - { - const parent = path.getParentNode(); - - if (parent.type === "TSMappedType") { - parts.push("[", path.call(print, "name")); - - if (n.constraint) { - parts.push(" in ", path.call(print, "constraint")); - } - - parts.push("]"); - return concat$b(parts); - } - - const variance = getFlowVariance$1(n); - - if (variance) { - parts.push(variance); - } - - parts.push(path.call(print, "name")); - - if (n.bound) { - parts.push(": "); - parts.push(path.call(print, "bound")); - } - - if (n.constraint) { - parts.push(" extends ", path.call(print, "constraint")); - } - - if (n.default) { - parts.push(" = ", path.call(print, "default")); - } // Keep comma if the file extension is .tsx and - // has one type parameter that isn't extend with any types. - // Because, otherwise formatted result will be invalid as tsx. - - - const grandParent = path.getNode(2); - - if (parent.params && parent.params.length === 1 && isTSXFile$1(options) && !n.constraint && grandParent.type === "ArrowFunctionExpression") { - parts.push(","); - } - - return concat$b(parts); - } - - case "TypeofTypeAnnotation": - return concat$b(["typeof ", path.call(print, "argument")]); - - case "VoidTypeAnnotation": - return "void"; - - case "InferredPredicate": - return "%checks"; - // Unhandled types below. If encountered, nodes of these types should - // be either left alone or desugared into AST types that are fully - // supported by the pretty-printer. - - case "DeclaredPredicate": - return concat$b(["%checks(", path.call(print, "value"), ")"]); - - case "TSAbstractKeyword": - return "abstract"; - - case "TSAnyKeyword": - return "any"; - - case "TSAsyncKeyword": - return "async"; - - case "TSBooleanKeyword": - return "boolean"; - - case "TSBigIntKeyword": - return "bigint"; - - case "TSConstKeyword": - return "const"; - - case "TSDeclareKeyword": - return "declare"; - - case "TSExportKeyword": - return "export"; - - case "TSNeverKeyword": - return "never"; - - case "TSNumberKeyword": - return "number"; - - case "TSObjectKeyword": - return "object"; - - case "TSProtectedKeyword": - return "protected"; - - case "TSPrivateKeyword": - return "private"; - - case "TSPublicKeyword": - return "public"; - - case "TSReadonlyKeyword": - return "readonly"; - - case "TSSymbolKeyword": - return "symbol"; - - case "TSStaticKeyword": - return "static"; - - case "TSStringKeyword": - return "string"; - - case "TSUndefinedKeyword": - return "undefined"; - - case "TSUnknownKeyword": - return "unknown"; - - case "TSVoidKeyword": - return "void"; + return printTypeParameter(path, options, print); case "TSAsExpression": - return concat$b([path.call(print, "expression"), " as ", path.call(print, "typeAnnotation")]); + { + parts.push(print("expression"), " as ", print("typeAnnotation")); + const parent = path.getParentNode(); + + if (isCallExpression$1(parent) && parent.callee === node || isMemberExpression$1(parent) && parent.object === node) { + return group$d([indent$8([softline$9, ...parts]), softline$9]); + } + + return parts; + } case "TSArrayType": - return concat$b([path.call(print, "elementType"), "[]"]); + return [print("elementType"), "[]"]; case "TSPropertySignature": { - if (n.export) { - parts.push("export "); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.readonly) { + if (node.readonly) { parts.push("readonly "); } - parts.push(printPropertyKey(path, options, print), printOptionalToken$2(path)); + parts.push(printPropertyKey(path, options, print), printOptionalToken$1(path)); - if (n.typeAnnotation) { - parts.push(": "); - parts.push(path.call(print, "typeAnnotation")); + if (node.typeAnnotation) { + parts.push(": ", print("typeAnnotation")); } // This isn't valid semantically, but it's in the AST so we can print it. - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); + if (node.initializer) { + parts.push(" = ", print("initializer")); } - return concat$b(parts); + return parts; } case "TSParameterProperty": - if (n.accessibility) { - parts.push(n.accessibility + " "); + if (node.accessibility) { + parts.push(node.accessibility + " "); } - if (n.export) { + if (node.export) { parts.push("export "); } - if (n.static) { + if (node.static) { parts.push("static "); } - if (n.readonly) { + if (node.override) { + parts.push("override "); + } + + if (node.readonly) { parts.push("readonly "); } - parts.push(path.call(print, "parameter")); - return concat$b(parts); - - case "TSTypeReference": - return concat$b([path.call(print, "typeName"), printTypeParameters(path, options, print, "typeParameters")]); + parts.push(print("parameter")); + return parts; case "TSTypeQuery": - return concat$b(["typeof ", path.call(print, "exprName")]); + return ["typeof ", print("exprName")]; case "TSIndexSignature": { @@ -44097,253 +48028,222 @@ function printPathNoParens(path, options, print, args) { // aren't, this is more like a computed property name than an array. // So we leave off the trailing comma when there's just one parameter. - const trailingComma = n.parameters.length > 1 ? ifBreak$4(shouldPrintComma$3(options) ? "," : "") : ""; - const parametersGroup = group$7(concat$b([indent$8(concat$b([softline$6, join$6(concat$b([", ", softline$6]), path.map(print, "parameters"))])), trailingComma, softline$6])); - return concat$b([n.export ? "export " : "", n.accessibility ? concat$b([n.accessibility, " "]) : "", n.static ? "static " : "", n.readonly ? "readonly " : "", "[", n.parameters ? parametersGroup : "", n.typeAnnotation ? "]: " : "]", n.typeAnnotation ? path.call(print, "typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]); + const trailingComma = node.parameters.length > 1 ? ifBreak$8(shouldPrintComma$1(options) ? "," : "") : ""; + const parametersGroup = group$d([indent$8([softline$9, join$d([", ", softline$9], path.map(print, "parameters"))]), trailingComma, softline$9]); + return [node.export ? "export " : "", node.accessibility ? [node.accessibility, " "] : "", node.static ? "static " : "", node.readonly ? "readonly " : "", node.declare ? "declare " : "", "[", node.parameters ? parametersGroup : "", node.typeAnnotation ? "]: " : "]", node.typeAnnotation ? print("typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]; } case "TSTypePredicate": - return concat$b([n.asserts ? "asserts " : "", path.call(print, "parameterName"), n.typeAnnotation ? concat$b([" is ", path.call(print, "typeAnnotation")]) : ""]); + return [node.asserts ? "asserts " : "", print("parameterName"), node.typeAnnotation ? [" is ", print("typeAnnotation")] : ""]; case "TSNonNullExpression": - return concat$b([path.call(print, "expression"), "!"]); - - case "TSThisType": - return "this"; + return [print("expression"), "!"]; case "TSImportType": - return concat$b([!n.isTypeOf ? "" : "typeof ", "import(", path.call(print, n.parameter ? "parameter" : "argument"), ")", !n.qualifier ? "" : concat$b([".", path.call(print, "qualifier")]), printTypeParameters(path, options, print, "typeParameters")]); + return [!node.isTypeOf ? "" : "typeof ", "import(", print(node.parameter ? "parameter" : "argument"), ")", !node.qualifier ? "" : [".", print("qualifier")], printTypeParameters(path, options, print, "typeParameters")]; case "TSLiteralType": - return path.call(print, "literal"); + return print("literal"); case "TSIndexedAccessType": - return concat$b([path.call(print, "objectType"), "[", path.call(print, "indexType"), "]"]); + return printIndexedAccessType(path, options, print); case "TSConstructSignatureDeclaration": case "TSCallSignatureDeclaration": case "TSConstructorType": { - if (n.type !== "TSCallSignatureDeclaration") { + if (node.type === "TSConstructorType" && node.abstract) { + parts.push("abstract "); + } + + if (node.type !== "TSCallSignatureDeclaration") { parts.push("new "); } - parts.push(group$7(printFunctionParams(path, print, options, + parts.push(group$d(printFunctionParameters(path, print, options, /* expandArg */ false, /* printTypeParams */ true))); - if (n.returnType || n.typeAnnotation) { - const isType = n.type === "TSConstructorType"; - parts.push(isType ? " => " : ": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); + if (node.returnType || node.typeAnnotation) { + const isType = node.type === "TSConstructorType"; + parts.push(isType ? " => " : ": ", print("returnType"), print("typeAnnotation")); } - return concat$b(parts); + return parts; } case "TSTypeOperator": - return concat$b([n.operator, " ", path.call(print, "typeAnnotation")]); + return [node.operator, " ", print("typeAnnotation")]; case "TSMappedType": { - const shouldBreak = hasNewlineInRange$5(options.originalText, options.locStart(n), options.locEnd(n)); - return group$7(concat$b(["{", indent$8(concat$b([options.bracketSpacing ? line$8 : softline$6, n.readonly ? concat$b([getTypeScriptMappedTypeModifier$1(n.readonly, "readonly"), " "]) : "", printTypeScriptModifiers(path, options, print), path.call(print, "typeParameter"), n.optional ? getTypeScriptMappedTypeModifier$1(n.optional, "?") : "", n.typeAnnotation ? ": " : "", path.call(print, "typeAnnotation"), ifBreak$4(semi, "")])), comments.printDanglingComments(path, options, + const shouldBreak = hasNewlineInRange(options.originalText, locStart$f(node), locEnd$e(node)); + return group$d(["{", indent$8([options.bracketSpacing ? line$b : softline$9, node.readonly ? [getTypeScriptMappedTypeModifier(node.readonly, "readonly"), " "] : "", printTypeScriptModifiers(path, options, print), print("typeParameter"), node.optional ? getTypeScriptMappedTypeModifier(node.optional, "?") : "", node.typeAnnotation ? ": " : "", print("typeAnnotation"), ifBreak$8(semi)]), printDanglingComments$1(path, options, /* sameIndent */ - true), options.bracketSpacing ? line$8 : softline$6, "}"]), { + true), options.bracketSpacing ? line$b : softline$9, "}"], { shouldBreak }); } case "TSMethodSignature": - parts.push(n.accessibility ? concat$b([n.accessibility, " "]) : "", n.export ? "export " : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.computed ? "[" : "", path.call(print, "key"), n.computed ? "]" : "", printOptionalToken$2(path), printFunctionParams(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); + { + const kind = node.kind && node.kind !== "method" ? `${node.kind} ` : ""; + parts.push(node.accessibility ? [node.accessibility, " "] : "", kind, node.export ? "export " : "", node.static ? "static " : "", node.readonly ? "readonly " : "", // "abstract" and "declare" are supported by only "babel-ts" + // https://github.com/prettier/prettier/issues/9760 + node.abstract ? "abstract " : "", node.declare ? "declare " : "", node.computed ? "[" : "", print("key"), node.computed ? "]" : "", printOptionalToken$1(path)); + const parametersDoc = printFunctionParameters(path, print, options, + /* expandArg */ + false, + /* printTypeParams */ + true); + const returnTypePropertyName = node.returnType ? "returnType" : "typeAnnotation"; + const returnTypeNode = node[returnTypePropertyName]; + const returnTypeDoc = returnTypeNode ? print(returnTypePropertyName) : ""; + const shouldGroupParameters = shouldGroupFunctionParameters(node, returnTypeDoc); + parts.push(shouldGroupParameters ? group$d(parametersDoc) : parametersDoc); - if (n.returnType || n.typeAnnotation) { - parts.push(": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); + if (returnTypeNode) { + parts.push(": ", group$d(returnTypeDoc)); + } + + return group$d(parts); } - return group$7(concat$b(parts)); - case "TSNamespaceExportDeclaration": - parts.push("export as namespace ", path.call(print, "id")); + parts.push("export as namespace ", print("id")); if (options.semi) { parts.push(";"); } - return group$7(concat$b(parts)); + return group$d(parts); case "TSEnumDeclaration": - if (n.declare) { + if (node.declare) { parts.push("declare "); } - if (n.modifiers) { + if (node.modifiers) { parts.push(printTypeScriptModifiers(path, options, print)); } - if (n.const) { + if (node.const) { parts.push("const "); } - parts.push("enum ", path.call(print, "id"), " "); + parts.push("enum ", print("id"), " "); - if (n.members.length === 0) { - parts.push(group$7(concat$b(["{", comments.printDanglingComments(path, options), softline$6, "}"]))); + if (node.members.length === 0) { + parts.push(group$d(["{", printDanglingComments$1(path, options), softline$9, "}"])); } else { - parts.push(group$7(concat$b(["{", indent$8(concat$b([hardline$6, printArrayItems(path, options, "members", print), shouldPrintComma$3(options, "es5") ? "," : ""])), comments.printDanglingComments(path, options, + parts.push(group$d(["{", indent$8([hardline$f, printArrayItems(path, options, "members", print), shouldPrintComma$1(options, "es5") ? "," : ""]), printDanglingComments$1(path, options, /* sameIndent */ - true), hardline$6, "}"]))); + true), hardline$f, "}"])); } - return concat$b(parts); + return parts; case "TSEnumMember": - parts.push(path.call(print, "id")); + parts.push(print("id")); - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); + if (node.initializer) { + parts.push(" = ", print("initializer")); } - return concat$b(parts); + return parts; case "TSImportEqualsDeclaration": - if (n.isExport) { + if (node.isExport) { parts.push("export "); } - parts.push("import ", path.call(print, "id"), " = ", path.call(print, "moduleReference")); + parts.push("import "); + + if (node.importKind && node.importKind !== "value") { + parts.push(node.importKind, " "); + } + + parts.push(print("id"), " = ", print("moduleReference")); if (options.semi) { parts.push(";"); } - return group$7(concat$b(parts)); + return group$d(parts); case "TSExternalModuleReference": - return concat$b(["require(", path.call(print, "expression"), ")"]); + return ["require(", print("expression"), ")"]; case "TSModuleDeclaration": { const parent = path.getParentNode(); - const isExternalModule = isLiteral$1(n.id); + const isExternalModule = isLiteral(node.id); const parentIsDeclaration = parent.type === "TSModuleDeclaration"; - const bodyIsDeclaration = n.body && n.body.type === "TSModuleDeclaration"; + const bodyIsDeclaration = node.body && node.body.type === "TSModuleDeclaration"; if (parentIsDeclaration) { parts.push("."); } else { - if (n.declare) { + if (node.declare) { parts.push("declare "); } parts.push(printTypeScriptModifiers(path, options, print)); - const textBetweenNodeAndItsId = options.originalText.slice(options.locStart(n), options.locStart(n.id)); // Global declaration looks like this: + const textBetweenNodeAndItsId = options.originalText.slice(locStart$f(node), locStart$f(node.id)); // Global declaration looks like this: // (declare)? global { ... } - const isGlobalDeclaration = n.id.type === "Identifier" && n.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); + const isGlobalDeclaration = node.id.type === "Identifier" && node.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); if (!isGlobalDeclaration) { parts.push(isExternalModule || /(^|\s)module(\s|$)/.test(textBetweenNodeAndItsId) ? "module " : "namespace "); } } - parts.push(path.call(print, "id")); + parts.push(print("id")); if (bodyIsDeclaration) { - parts.push(path.call(print, "body")); - } else if (n.body) { - parts.push(" ", group$7(path.call(print, "body"))); + parts.push(print("body")); + } else if (node.body) { + parts.push(" ", group$d(print("body"))); } else { parts.push(semi); } - return concat$b(parts); + return parts; } - - case "PrivateName": - return concat$b(["#", path.call(print, "id")]); // TODO: Temporary auto-generated node type. To remove when typescript-estree has proper support for private fields. case "TSPrivateIdentifier": - return n.escapedText; + return node.escapedText; case "TSConditionalType": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "checkType"), " ", "extends", " ", path.call(print, "extendsType")], - afterParts: () => [], - shouldCheckJsx: false, - conditionalNodeType: "TSConditionalType", - consequentNodePropertyName: "trueType", - alternateNodePropertyName: "falseType", - testNodePropertyNames: ["checkType", "extendsType"] - }); + return printTernary$1(path, options, print); case "TSInferType": - return concat$b(["infer", " ", path.call(print, "typeParameter")]); + return ["infer", " ", print("typeParameter")]; - case "InterpreterDirective": - parts.push("#!", n.value, hardline$6); + case "TSIntersectionType": + return printIntersectionType(path, options, print); - if (isNextLineEmpty$4(options.originalText, n, options.locEnd)) { - parts.push(hardline$6); - } + case "TSUnionType": + return printUnionType(path, options, print); - return concat$b(parts); + case "TSFunctionType": + return printFunctionType(path, options, print); - case "NGRoot": - return concat$b([].concat(path.call(print, "node"), !n.node.comments || n.node.comments.length === 0 ? [] : concat$b([" //", n.node.comments[0].value.trimEnd()]))); + case "TSTupleType": + return printTupleType(path, options, print); - case "NGChainedExpression": - return group$7(join$6(concat$b([";", line$8]), path.map(childPath => hasNgSideEffect$1(childPath) ? print(childPath) : concat$b(["(", print(childPath), ")"]), "expressions"))); + case "TSTypeReference": + return [print("typeName"), printTypeParameters(path, options, print, "typeParameters")]; - case "NGEmptyExpression": - return ""; + case "TSTypeAnnotation": + return print("typeAnnotation"); - case "NGQuotedExpression": - return concat$b([n.prefix, ": ", n.value.trim()]); - - case "NGMicrosyntax": - return concat$b(path.map((childPath, index) => concat$b([index === 0 ? "" : isNgForOf$1(childPath.getValue(), index, n) ? " " : concat$b([";", line$8]), print(childPath)]), "body")); - - case "NGMicrosyntaxKey": - return /^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(n.name) ? n.name : JSON.stringify(n.name); - - case "NGMicrosyntaxExpression": - return concat$b([path.call(print, "expression"), n.alias === null ? "" : concat$b([" as ", path.call(print, "alias")])]); - - case "NGMicrosyntaxKeyedExpression": - { - const index = path.getName(); - const parentNode = path.getParentNode(); - const shouldNotPrintColon = isNgForOf$1(n, index, parentNode) || (index === 1 && (n.key.name === "then" || n.key.name === "else") || index === 2 && n.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; - return concat$b([path.call(print, "key"), shouldNotPrintColon ? " " : ": ", path.call(print, "expression")]); - } - - case "NGMicrosyntaxLet": - return concat$b(["let ", path.call(print, "key"), n.value === null ? "" : concat$b([" = ", path.call(print, "value")])]); - - case "NGMicrosyntaxAs": - return concat$b([path.call(print, "key"), " as ", path.call(print, "alias")]); - - case "PipelineBareFunction": - return path.call(print, "callee"); - - case "PipelineTopicExpression": - return path.call(print, "expression"); - - case "PipelinePrimaryTopicReference": - { - parts.push("#"); - return concat$b(parts); - } - - case "ArgumentPlaceholder": - return "?"; + case "TSEmptyBodyFunctionExpression": + return printMethodInternal(path, options, print); // These are not valid TypeScript. Printing them just for the sake of error recovery. case "TSJSDocAllType": @@ -44353,1152 +48253,73 @@ function printPathNoParens(path, options, print, args) { return "?"; case "TSJSDocNullableType": - return concat$b(["?", path.call(print, "typeAnnotation")]); + return ["?", print("typeAnnotation")]; case "TSJSDocNonNullableType": - return concat$b(["!", path.call(print, "typeAnnotation")]); - - case "TSJSDocFunctionType": - return concat$b(["function(", // The parameters could be here, but typescript-estree doesn't convert them anyway (throws an error). - "): ", path.call(print, "typeAnnotation")]); + return ["!", print("typeAnnotation")]; default: /* istanbul ignore next */ - throw new Error("unknown type: " + JSON.stringify(n.type)); + throw new Error(`Unknown TypeScript node type: ${JSON.stringify(node.type)}.`); } } -function printStatementSequence(path, options, print) { - const printed = []; - const bodyNode = path.getNode(); - const isClass = bodyNode.type === "ClassBody"; - path.map((stmtPath, i) => { - const stmt = stmtPath.getValue(); // Just in case the AST has been modified to contain falsy - // "statements," it's safer simply to skip them. +var typescript = { + printTypescript: printTypescript$1 +}; - /* istanbul ignore if */ +const { + hasNewline: hasNewline$2 +} = util$5; +const { + builders: { + join: join$c, + hardline: hardline$e + }, + utils: { + replaceNewlinesWithLiterallines: replaceNewlinesWithLiterallines$2 + } +} = doc; +const { + isLineComment: isLineComment$1, + isBlockComment: isBlockComment$1 +} = utils$5; +const { + locStart: locStart$e, + locEnd: locEnd$d +} = loc$6; - if (!stmt) { - return; - } // Skip printing EmptyStatement nodes to avoid leaving stray - // semicolons lying around. +function printComment$2(commentPath, options) { + const comment = commentPath.getValue(); - - if (stmt.type === "EmptyStatement") { - return; - } - - const stmtPrinted = print(stmtPath); - const text = options.originalText; - const parts = []; // in no-semi mode, prepend statement with semicolon if it might break ASI - // don't prepend the only JSX element in a program with semicolon - - if (!options.semi && !isClass && !isTheOnlyJSXElementInMarkdown$1(options, stmtPath) && stmtNeedsASIProtection(stmtPath, options)) { - if (stmt.comments && stmt.comments.some(comment => comment.leading)) { - parts.push(print(stmtPath, { - needsSemi: true - })); - } else { - parts.push(";", stmtPrinted); - } - } else { - parts.push(stmtPrinted); - } - - if (!options.semi && isClass) { - if (classPropMayCauseASIProblems$1(stmtPath)) { - parts.push(";"); - } else if (stmt.type === "ClassProperty") { - const nextChild = bodyNode.body[i + 1]; - - if (classChildNeedsASIProtection$1(nextChild)) { - parts.push(";"); - } - } - } - - if (isNextLineEmpty$4(text, stmt, options.locEnd) && !isLastStatement$1(stmtPath)) { - parts.push(hardline$6); - } - - printed.push(concat$b(parts)); - }); - return join$6(hardline$6, printed); -} - -function printPropertyKey(path, options, print) { - const node = path.getNode(); - - if (node.computed) { - return concat$b(["[", path.call(print, "key"), "]"]); + if (isLineComment$1(comment)) { + // Supports `//`, `#!`, `` + return options.originalText.slice(locStart$e(comment), locEnd$d(comment)).trimEnd(); } - const parent = path.getParentNode(); - const { - key - } = node; + if (isBlockComment$1(comment)) { + if (isIndentableBlockComment(comment)) { + const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment + // printed as a `lineSuffix` which causes the comments to be + // interleaved. See https://github.com/prettier/prettier/issues/4412 - if (node.type === "ClassPrivateProperty" && // flow has `Identifier` key, and babel has `PrivateName` key - key.type === "Identifier") { - return concat$b(["#", path.call(print, "key")]); - } - - if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { - const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral$1(prop.key) && !isStringPropSafeToUnquote$1(prop, options)); - needsQuoteProps.set(parent, objectHasStringProp); - } - - if ((key.type === "Identifier" || isNumericLiteral$3(key) && isSimpleNumber$1(printNumber$1(rawText$1(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. - String(key.value) === printNumber$1(rawText$1(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as - // mentioned in `isStringPropSafeToUnquote`). - !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { - // a -> "a" - // 1 -> "1" - // 1.5 -> "1.5" - const prop = printString$1(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); - return path.call(keyPath => comments.printComments(keyPath, () => prop, options), "key"); - } - - if (isStringPropSafeToUnquote$1(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { - // 'a' -> a - // '1' -> 1 - // '1.5' -> 1.5 - return path.call(keyPath => comments.printComments(keyPath, () => /^\d/.test(key.value) ? printNumber$1(key.value) : key.value, options), "key"); - } - - return path.call(print, "key"); -} - -function printMethod(path, options, print) { - const node = path.getNode(); - const { - kind - } = node; - const value = node.value || node; - const parts = []; - - if (!kind || kind === "init" || kind === "method" || kind === "constructor") { - if (value.async) { - parts.push("async "); - } - - if (value.generator) { - parts.push("*"); - } - } else { - assert__default['default'].ok(kind === "get" || kind === "set"); - parts.push(kind, " "); - } - - parts.push(printPropertyKey(path, options, print), node.optional || node.key.optional ? "?" : "", node === value ? printMethodInternal(path, options, print) : path.call(path => printMethodInternal(path, options, print), "value")); - return concat$b(parts); -} - -function printMethodInternal(path, options, print) { - const parts = [printFunctionTypeParameters$2(path, options, print), group$7(concat$b([printFunctionParams(path, print, options), printReturnType(path, print, options)]))]; - - if (path.getNode().body) { - parts.push(" ", path.call(print, "body")); - } else { - parts.push(options.semi ? ";" : ""); - } - - return concat$b(parts); -} - -function printJestEachTemplateLiteral(path, options, print) { - /** - * a | b | expected - * ${1} | ${1} | ${2} - * ${1} | ${2} | ${3} - * ${2} | ${1} | ${3} - */ - const node = path.getNode(); - const headerNames = node.quasis[0].value.raw.trim().split(/\s*\|\s*/); - - if (headerNames.length > 1 || headerNames.some(headerName => headerName.length !== 0)) { - options.__inJestEach = true; - const expressions = path.map(print, "expressions"); - options.__inJestEach = false; - const parts = []; - const stringifiedExpressions = expressions.map(doc => "${" + printDocToString$2(doc, Object.assign({}, options, { - printWidth: Infinity, - endOfLine: "lf" - })).formatted + "}"); - const tableBody = [{ - hasLineBreak: false, - cells: [] - }]; - - for (let i = 1; i < node.quasis.length; i++) { - const row = tableBody[tableBody.length - 1]; - const correspondingExpression = stringifiedExpressions[i - 1]; - row.cells.push(correspondingExpression); - - if (correspondingExpression.includes("\n")) { - row.hasLineBreak = true; + if (comment.trailing && !hasNewline$2(options.originalText, locStart$e(comment), { + backwards: true + })) { + return [hardline$e, printed]; } - if (node.quasis[i].value.raw.includes("\n")) { - tableBody.push({ - hasLineBreak: false, - cells: [] - }); - } - } - - const maxColumnCount = Math.max(headerNames.length, ...tableBody.map(row => row.cells.length)); - const maxColumnWidths = Array.from({ - length: maxColumnCount - }).fill(0); - const table = [{ - cells: headerNames - }, ...tableBody.filter(row => row.cells.length !== 0)]; - - for (const { - cells - } of table.filter(row => !row.hasLineBreak)) { - cells.forEach((cell, index) => { - maxColumnWidths[index] = Math.max(maxColumnWidths[index], getStringWidth$3(cell)); - }); - } - - parts.push(lineSuffixBoundary$1, "`", indent$8(concat$b([hardline$6, join$6(hardline$6, table.map(row => join$6(" | ", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - getStringWidth$3(cell))))))])), hardline$6, "`"); - return concat$b(parts); - } -} - -function printTypeAnnotation(path, options, print) { - const node = path.getValue(); - - if (!node.typeAnnotation) { - return ""; - } - - const parentNode = path.getParentNode(); - const isDefinite = node.definite || parentNode && parentNode.type === "VariableDeclarator" && parentNode.definite; - const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; - - if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation, options)) { - return concat$b([" /*: ", path.call(print, "typeAnnotation"), " */"]); - } - - return concat$b([isFunctionDeclarationIdentifier ? "" : isDefinite ? "!: " : ": ", path.call(print, "typeAnnotation")]); -} - -function printFunctionParams(path, print, options, expandArg, printTypeParams) { - const fun = path.getValue(); - const parent = path.getParentNode(); - const paramsField = fun.parameters ? "parameters" : "params"; - const isParametersInTestCall = isTestCall$1(parent); - const shouldHugParameters = shouldHugArguments(fun); - const shouldExpandParameters = expandArg && !(fun[paramsField] && fun[paramsField].some(n => n.comments)); - const typeParams = printTypeParams ? printFunctionTypeParameters$2(path, options, print) : ""; - let printed = []; - - if (fun[paramsField]) { - const lastArgIndex = fun[paramsField].length - 1; - printed = path.map((childPath, index) => { - const parts = []; - const param = childPath.getValue(); - parts.push(print(childPath)); - - if (index === lastArgIndex) { - if (fun.rest) { - parts.push(",", line$8); - } - } else if (isParametersInTestCall || shouldHugParameters || shouldExpandParameters) { - parts.push(", "); - } else if (isNextLineEmpty$4(options.originalText, param, options.locEnd)) { - parts.push(",", hardline$6, hardline$6); - } else { - parts.push(",", line$8); - } - - return concat$b(parts); - }, paramsField); - } - - if (fun.rest) { - printed.push(concat$b(["...", path.call(print, "rest")])); - } - - if (printed.length === 0) { - return concat$b([typeParams, "(", comments.printDanglingComments(path, options, - /* sameIndent */ - true, comment => getNextNonSpaceNonCommentCharacter$2(options.originalText, comment, options.locEnd) === ")"), ")"]); - } - - const lastParam = getLast$5(fun[paramsField]); // If the parent is a call with the first/last argument expansion and this is the - // params of the first/last argument, we don't want the arguments to break and instead - // want the whole expression to be on a new line. - // - // Good: Bad: - // verylongcall( verylongcall(( - // (a, b) => { a, - // } b, - // }) ) => { - // }) - - if (shouldExpandParameters) { - return group$7(concat$b([removeLines$1(typeParams), "(", concat$b(printed.map(removeLines$1)), ")"])); - } // Single object destructuring should hug - // - // function({ - // a, - // b, - // c - // }) {} - - - const hasNotParameterDecorator = fun[paramsField].every(param => !param.decorators); - - if (shouldHugParameters && hasNotParameterDecorator) { - return concat$b([typeParams, "(", concat$b(printed), ")"]); - } // don't break in specs, eg; `it("should maintain parens around done even when long", (done) => {})` - - - if (isParametersInTestCall) { - return concat$b([typeParams, "(", concat$b(printed), ")"]); - } - - const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent, options) || isTypeAnnotationAFunction$1(parent, options) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === fun) && fun[paramsField].length === 1 && fun[paramsField][0].name === null && fun[paramsField][0].typeAnnotation && fun.typeParameters === null && isSimpleFlowType$1(fun[paramsField][0].typeAnnotation) && !fun.rest; - - if (isFlowShorthandWithOneArg) { - if (options.arrowParens === "always") { - return concat$b(["(", concat$b(printed), ")"]); - } - - return concat$b(printed); - } - - const canHaveTrailingComma = !(lastParam && lastParam.type === "RestElement") && !fun.rest; - return concat$b([typeParams, "(", indent$8(concat$b([softline$6, concat$b(printed)])), ifBreak$4(canHaveTrailingComma && shouldPrintComma$3(options, "all") ? "," : ""), softline$6, ")"]); -} - -function shouldPrintParamsWithoutParens(path, options) { - if (options.arrowParens === "always") { - return false; - } - - if (options.arrowParens === "avoid") { - const node = path.getValue(); - return canPrintParamsWithoutParens(node); - } // Fallback default; should be unreachable - - /* istanbul ignore next */ - - - return false; -} - -function canPrintParamsWithoutParens(node) { - return node.params.length === 1 && !node.rest && !node.typeParameters && !hasDanglingComments$1(node) && node.params[0].type === "Identifier" && !node.params[0].typeAnnotation && !node.params[0].comments && !node.params[0].optional && !node.predicate && !node.returnType; -} - -function printFunctionDeclaration(path, print, options) { - const n = path.getValue(); - const parts = []; - - if (n.async) { - parts.push("async "); - } - - if (n.generator) { - parts.push("function* "); - } else { - parts.push("function "); - } - - if (n.id) { - parts.push(path.call(print, "id")); - } - - parts.push(printFunctionTypeParameters$2(path, options, print), group$7(concat$b([printFunctionParams(path, print, options), printReturnType(path, print, options)])), n.body ? " " : "", path.call(print, "body")); - return concat$b(parts); -} - -function printReturnType(path, print, options) { - const n = path.getValue(); - const returnType = path.call(print, "returnType"); - - if (n.returnType && isFlowAnnotationComment$1(options.originalText, n.returnType, options)) { - return concat$b([" /*: ", returnType, " */"]); - } - - const parts = [returnType]; // prepend colon to TypeScript type annotation - - if (n.returnType && n.returnType.typeAnnotation) { - parts.unshift(": "); - } - - if (n.predicate) { - // The return type will already add the colon, but otherwise we - // need to do it ourselves - parts.push(n.returnType ? " " : ": ", path.call(print, "predicate")); - } - - return concat$b(parts); -} - -function printExportDeclaration(path, options, print) { - const decl = path.getValue(); - const semi = options.semi ? ";" : ""; - /** @type{Doc[]} */ - - const parts = ["export "]; - const isDefault = decl.default || decl.type === "ExportDefaultDeclaration"; - - if (isDefault) { - parts.push("default "); - } - - parts.push(comments.printDanglingComments(path, options, - /* sameIndent */ - true)); - - if (needsHardlineAfterDanglingComment$1(decl)) { - parts.push(hardline$6); - } - - if (decl.declaration) { - parts.push(path.call(print, "declaration")); - - if (isDefault && decl.declaration.type !== "ClassDeclaration" && decl.declaration.type !== "FunctionDeclaration" && decl.declaration.type !== "TSInterfaceDeclaration" && decl.declaration.type !== "DeclareClass" && decl.declaration.type !== "DeclareFunction" && decl.declaration.type !== "TSDeclareFunction" && decl.declaration.type !== "EnumDeclaration") { - parts.push(semi); - } - } else { - parts.push(decl.exportKind === "type" ? "type " : ""); - parts.push(printModuleSpecifiers$1(path, options, print)); - parts.push(printModuleSource$1(path, options, print)); - parts.push(semi); - } - - return concat$b(parts); -} - -function printFlowDeclaration(path, parts) { - const parentExportDecl = getParentExportDeclaration$1(path); - - if (parentExportDecl) { - assert__default['default'].strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); - } else { - // If the parent node has type DeclareExportDeclaration, then it - // will be responsible for printing the "declare" token. Otherwise - // it needs to be printed with this non-exported declaration node. - parts.unshift("declare "); - } - - return concat$b(parts); -} - -function printTypeScriptModifiers(path, options, print) { - const n = path.getValue(); - - if (!n.modifiers || !n.modifiers.length) { - return ""; - } - - return concat$b([join$6(" ", path.map(print, "modifiers")), " "]); -} - -const typeParametersGroupIds = new WeakMap(); - -function getTypeParametersGroupId(node) { - if (!typeParametersGroupIds.has(node)) { - typeParametersGroupIds.set(node, Symbol("typeParameters")); - } - - return typeParametersGroupIds.get(node); -} - -function printTypeParameters(path, options, print, paramsKey) { - const n = path.getValue(); - - if (!n[paramsKey]) { - return ""; - } // for TypeParameterDeclaration typeParameters is a single node - - - if (!Array.isArray(n[paramsKey])) { - return path.call(print, paramsKey); - } - - const grandparent = path.getNode(2); - const greatGrandParent = path.getNode(3); - const greatGreatGrandParent = path.getNode(4); - const isParameterInTestCall = grandparent != null && isTestCall$1(grandparent); - const shouldInline = isParameterInTestCall || n[paramsKey].length === 0 || n[paramsKey].length === 1 && (shouldHugType(n[paramsKey][0]) || n[paramsKey][0].type === "GenericTypeAnnotation" && shouldHugType(n[paramsKey][0].id) || n[paramsKey][0].type === "TSTypeReference" && shouldHugType(n[paramsKey][0].typeName) || n[paramsKey][0].type === "NullableTypeAnnotation" || // See https://github.com/prettier/prettier/pull/6467 for the context. - greatGreatGrandParent && greatGreatGrandParent.type === "VariableDeclarator" && grandparent.type === "TSTypeAnnotation" && greatGrandParent.type !== "ArrowFunctionExpression" && n[paramsKey][0].type !== "TSUnionType" && n[paramsKey][0].type !== "UnionTypeAnnotation" && n[paramsKey][0].type !== "TSIntersectionType" && n[paramsKey][0].type !== "IntersectionTypeAnnotation" && n[paramsKey][0].type !== "TSConditionalType" && n[paramsKey][0].type !== "TSMappedType" && n[paramsKey][0].type !== "TSTypeOperator" && n[paramsKey][0].type !== "TSIndexedAccessType" && n[paramsKey][0].type !== "TSArrayType"); - - function printDanglingCommentsForInline(n) { - if (!hasDanglingComments$1(n)) { - return ""; - } - - const hasOnlyBlockComments = n.comments.every(comments$1.isBlockComment); - const printed = comments.printDanglingComments(path, options, - /* sameIndent */ - hasOnlyBlockComments); - - if (hasOnlyBlockComments) { return printed; } - return concat$b([printed, hardline$6]); + const commentEnd = locEnd$d(comment); + const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; + return ["/*", replaceNewlinesWithLiterallines$2(comment.value), isInsideFlowComment ? "*-/" : "*/"]; } - - if (shouldInline) { - return concat$b(["<", join$6(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(n), ">"]); - } - - return group$7(concat$b(["<", indent$8(concat$b([softline$6, join$6(concat$b([",", line$8]), path.map(print, paramsKey))])), ifBreak$4(options.parser !== "typescript" && options.parser !== "babel-ts" && shouldPrintComma$3(options, "all") ? "," : ""), softline$6, ">"]), { - id: getTypeParametersGroupId(n) - }); -} - -function printClass(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.abstract) { - parts.push("abstract "); - } - - parts.push("class"); // Keep old behaviour of extends in same line - // If there is only on extends and there are not comments - - const groupMode = n.id && hasTrailingComment$3(n.id) || n.superClass && n.superClass.comments && n.superClass.comments.length !== 0 || n.extends && n.extends.length !== 0 || // DeclareClass - n.mixins && n.mixins.length !== 0 || n.implements && n.implements.length !== 0; - const partsGroup = []; - const extendsParts = []; - - if (n.id) { - partsGroup.push(" ", path.call(print, "id")); - } - - partsGroup.push(path.call(print, "typeParameters")); - const hasMultipleHeritage = ["superClass", "extends", "mixins", "implements"].filter(key => !!n[key]).length > 1; - const shouldIndentOnlyHeritageClauses = n.typeParameters && !hasTrailingLineComment$1(n.typeParameters) && !hasMultipleHeritage; - - function printList(listName) { - if (n[listName] && n[listName].length !== 0) { - const printedLeadingComments = comments.printDanglingComments(path, options, - /* sameIndent */ - true, ({ - marker - }) => marker === listName); - extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$4(" ", line$8, { - groupId: getTypeParametersGroupId(n.typeParameters) - }) : line$8, printedLeadingComments, printedLeadingComments && hardline$6, listName, group$7(indent$8(concat$b([line$8, join$6(concat$b([",", line$8]), path.map(print, listName))])))); - } - } - - if (n.superClass) { - const printed = concat$b(["extends ", path.call(print, "superClass"), path.call(print, "superTypeParameters")]); - const printedWithComments = path.call(superClass => comments.printComments(superClass, () => printed, options), "superClass"); - - if (groupMode) { - extendsParts.push(line$8, group$7(printedWithComments)); - } else { - extendsParts.push(" ", printedWithComments); - } - } else { - printList("extends"); - } - - printList("mixins"); - printList("implements"); - - if (groupMode) { - const printedExtends = concat$b(extendsParts); - - if (shouldIndentOnlyHeritageClauses) { - parts.push(group$7(concat$b(partsGroup.concat(ifBreak$4(indent$8(printedExtends), printedExtends))))); - } else { - parts.push(group$7(indent$8(concat$b(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return parts; -} - -function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return ""; - } - - if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { - return child.length === 1 ? softline$6 : hardline$6; - } - - return softline$6; -} - -function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return hardline$6; - } - - if (child.length === 1) { - return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline$6 : softline$6; - } - - return hardline$6; -} // JSX Children are strange, mostly for two reasons: -// 1. JSX reads newlines into string values, instead of skipping them like JS -// 2. up to one whitespace between elements within a line is significant, -// but not between lines. -// -// Leading, trailing, and lone whitespace all need to -// turn themselves into the rather ugly `{' '}` when breaking. -// -// We print JSX using the `fill` doc primitive. -// This requires that we give it an array of alternating -// content and whitespace elements. -// To ensure this we add dummy `""` content elements as needed. - - -function printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { - const n = path.getValue(); - const children = []; // using `map` instead of `each` because it provides `i` - - path.map((childPath, i) => { - const child = childPath.getValue(); - - if (isLiteral$1(child)) { - const text = rawText$1(child); // Contains a non-whitespace character - - if (isMeaningfulJSXText$1(child)) { - const words = text.split(matchJsxWhitespaceRegex$1); // Starts with whitespace - - if (words[0] === "") { - children.push(""); - words.shift(); - - if (/\n/.test(words[0])) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); - } else { - children.push(jsxWhitespace); - } - - words.shift(); - } - - let endWhitespace; // Ends with whitespace - - if (getLast$5(words) === "") { - words.pop(); - endWhitespace = words.pop(); - } // This was whitespace only without a new line. - - - if (words.length === 0) { - return; - } - - words.forEach((word, i) => { - if (i % 2 === 1) { - children.push(line$8); - } else { - children.push(word); - } - }); - - if (endWhitespace !== undefined) { - if (/\n/.test(endWhitespace)) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } else { - children.push(jsxWhitespace); - } - } else { - const next = n.children[i + 1]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } - } else if (/\n/.test(text)) { - // Keep (up to one) blank line between tags/expressions/text. - // Note: We don't keep blank lines between text elements. - if (text.match(/\n/g).length > 1) { - children.push(""); - children.push(hardline$6); - } - } else { - children.push(""); - children.push(jsxWhitespace); - } - } else { - const printedChild = print(childPath); - children.push(printedChild); - const next = n.children[i + 1]; - const directlyFollowedByMeaningfulText = next && isMeaningfulJSXText$1(next); - - if (directlyFollowedByMeaningfulText) { - const firstWord = rawText$1(next).trim().split(matchJsxWhitespaceRegex$1)[0]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); - } else { - children.push(hardline$6); - } - } - }, "children"); - return children; -} // JSX expands children from the inside-out, instead of the outside-in. -// This is both to break children before attributes, -// and to ensure that when children break, their parents do as well. -// -// Any element that is written without any newlines and fits on a single line -// is left that way. -// Not only that, any user-written-line containing multiple JSX siblings -// should also be kept on one line if possible, -// so each user-written-line is wrapped in its own group. -// -// Elements that contain newlines or don't fit on a single line (recursively) -// are fully-split, using hardline and shouldBreak: true. -// -// To support that case properly, all leading and trailing spaces -// are stripped from the list of children, and replaced with a single hardline. - - -function printJSXElement(path, options, print) { - const n = path.getValue(); - - if (n.type === "JSXElement" && isEmptyJSXElement$1(n)) { - return concat$b([path.call(print, "openingElement"), path.call(print, "closingElement")]); - } - - const openingLines = n.type === "JSXElement" ? path.call(print, "openingElement") : path.call(print, "openingFragment"); - const closingLines = n.type === "JSXElement" ? path.call(print, "closingElement") : path.call(print, "closingFragment"); - - if (n.children.length === 1 && n.children[0].type === "JSXExpressionContainer" && (n.children[0].expression.type === "TemplateLiteral" || n.children[0].expression.type === "TaggedTemplateExpression")) { - return concat$b([openingLines, concat$b(path.map(print, "children")), closingLines]); - } // Convert `{" "}` to text nodes containing a space. - // This makes it easy to turn them into `jsxWhitespace` which - // can then print as either a space or `{" "}` when breaking. - - - n.children = n.children.map(child => { - if (isJSXWhitespaceExpression$1(child)) { - return { - type: "JSXText", - value: " ", - raw: " " - }; - } - - return child; - }); - const containsTag = n.children.filter(isJSXNode$3).length > 0; - const containsMultipleExpressions = n.children.filter(child => child.type === "JSXExpressionContainer").length > 1; - const containsMultipleAttributes = n.type === "JSXElement" && n.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true. - - let forcedBreak = willBreak$3(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; - const isMdxBlock = path.getParentNode().rootMarker === "mdx"; - const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; - const jsxWhitespace = isMdxBlock ? concat$b([" "]) : ifBreak$4(concat$b([rawJsxWhitespace, softline$6]), " "); - const isFacebookTranslationTag = n.openingElement && n.openingElement.name && n.openingElement.name.name === "fbt"; - const children = printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); - const containsText = n.children.some(child => isMeaningfulJSXText$1(child)); // We can end up we multiple whitespace elements with empty string - // content between them. - // We need to remove empty whitespace and softlines before JSX whitespace - // to get the correct output. - - for (let i = children.length - 2; i >= 0; i--) { - const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; - const isPairOfHardlines = children[i] === hardline$6 && children[i + 1] === "" && children[i + 2] === hardline$6; - const isLineFollowedByJSXWhitespace = (children[i] === softline$6 || children[i] === hardline$6) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isJSXWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline$6 || children[i + 2] === hardline$6); - const isDoubleJSXWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isPairOfHardOrSoftLines = children[i] === softline$6 && children[i + 1] === "" && children[i + 2] === hardline$6 || children[i] === hardline$6 && children[i + 1] === "" && children[i + 2] === softline$6; - - if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJSXWhitespace || isDoubleJSXWhitespace || isPairOfHardOrSoftLines) { - children.splice(i, 2); - } else if (isJSXWhitespaceFollowedByLine) { - children.splice(i + 1, 2); - } - } // Trim trailing lines (or empty strings) - - - while (children.length && (isLineNext$1(getLast$5(children)) || isEmpty$1(getLast$5(children)))) { - children.pop(); - } // Trim leading lines (or empty strings) - - - while (children.length && (isLineNext$1(children[0]) || isEmpty$1(children[0])) && (isLineNext$1(children[1]) || isEmpty$1(children[1]))) { - children.shift(); - children.shift(); - } // Tweak how we format children if outputting this element over multiple lines. - // Also detect whether we will force this element to output over multiple lines. - - - const multilineChildren = []; - children.forEach((child, i) => { - // There are a number of situations where we need to ensure we display - // whitespace as `{" "}` when outputting this element over multiple lines. - if (child === jsxWhitespace) { - if (i === 1 && children[i - 1] === "") { - if (children.length === 2) { - // Solitary whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } // Leading whitespace - - - multilineChildren.push(concat$b([rawJsxWhitespace, hardline$6])); - return; - } else if (i === children.length - 1) { - // Trailing whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } else if (children[i - 1] === "" && children[i - 2] === hardline$6) { - // Whitespace after line break - multilineChildren.push(rawJsxWhitespace); - return; - } - } - - multilineChildren.push(child); - - if (willBreak$3(child)) { - forcedBreak = true; - } - }); // If there is text we use `fill` to fit as much onto each line as possible. - // When there is no text (just tags and expressions) we use `group` - // to output each on a separate line. - - const content = containsText ? fill$3(multilineChildren) : group$7(concat$b(multilineChildren), { - shouldBreak: true - }); - - if (isMdxBlock) { - return content; - } - - const multiLineElem = group$7(concat$b([openingLines, indent$8(concat$b([hardline$6, content])), hardline$6, closingLines])); - - if (forcedBreak) { - return multiLineElem; - } - - return conditionalGroup$3([group$7(concat$b([openingLines, concat$b(children), closingLines])), multiLineElem]); -} - -function maybeWrapJSXElementInParens(path, elem, options) { - const parent = path.getParentNode(); /* istanbul ignore next */ - if (!parent) { - return elem; - } - const NO_WRAP_PARENTS = { - ArrayExpression: true, - JSXAttribute: true, - JSXElement: true, - JSXExpressionContainer: true, - JSXFragment: true, - ExpressionStatement: true, - CallExpression: true, - OptionalCallExpression: true, - ConditionalExpression: true, - JsExpressionRoot: true - }; - - if (NO_WRAP_PARENTS[parent.type]) { - return elem; - } - - const shouldBreak = path.match(undefined, node => node.type === "ArrowFunctionExpression", isCallOrOptionalCallExpression$2, node => node.type === "JSXExpressionContainer"); - const needsParens = needsParens_1(path, options); - return group$7(concat$b([needsParens ? "" : ifBreak$4("("), indent$8(concat$b([softline$6, elem])), softline$6, needsParens ? "" : ifBreak$4(")")]), { - shouldBreak - }); -} - -function shouldInlineLogicalExpression(node) { - if (node.type !== "LogicalExpression") { - return false; - } - - if (node.right.type === "ObjectExpression" && node.right.properties.length !== 0) { - return true; - } - - if (node.right.type === "ArrayExpression" && node.right.elements.length !== 0) { - return true; - } - - if (isJSXNode$3(node.right)) { - return true; - } - - return false; -} // For binary expressions to be consistent, we need to group -// subsequent operators with the same precedence level under a single -// group. Otherwise they will be nested such that some of them break -// onto new lines but not all. Operators with the same precedence -// level should either all break or not. Because we group them by -// precedence level and the AST is structured based on precedence -// level, things are naturally broken up correctly, i.e. `&&` is -// broken before `+`. - - -function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { - /** @type{Doc[]} */ - let parts = []; - const node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same. - - if (isBinaryish$1(node)) { - // Put all operators with the same precedence level in the same - // group. The reason we only need to do this with the `left` - // expression is because given an expression like `1 + 2 - 3`, it - // is always parsed like `((1 + 2) - 3)`, meaning the `left` side - // is where the rest of the expression will exist. Binary - // expressions on the right side mean they have a difference - // precedence level and should be treated as a separate group, so - // print them normally. (This doesn't hold for the `**` operator, - // which is unique in that it is right-associative.) - if (shouldFlatten$2(node.operator, node.left.operator)) { - // Flatten them out by recursively calling this function. - parts = parts.concat(path.call(left => printBinaryishExpressions(left, print, options, - /* isNested */ - true, isInsideParenthesis), "left")); - } else { - parts.push(group$7(path.call(print, "left"))); - } - - const shouldInline = shouldInlineLogicalExpression(node); - const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment$1(options.originalText, node.right, options); - const operator = node.type === "NGPipeExpression" ? "|" : node.operator; - const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length !== 0 ? group$7(indent$8(concat$b([softline$6, ": ", join$6(concat$b([softline$6, ":", ifBreak$4(" ")]), path.map(print, "arguments").map(arg => align$2(2, group$7(arg))))]))) : ""; - const right = shouldInline ? concat$b([operator, " ", path.call(print, "right"), rightSuffix]) : concat$b([lineBeforeOperator ? line$8 : "", operator, lineBeforeOperator ? " " : line$8, path.call(print, "right"), rightSuffix]); // If there's only a single binary expression, we want to create a group - // in order to avoid having a small right part like -1 be on its own line. - - const parent = path.getParentNode(); - const shouldBreak = hasTrailingLineComment$1(node.left); - const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; - parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group$7(right, { - shouldBreak - }) : right); // The root comments are already printed, but we need to manually print - // the other ones since we don't call the normal print on BinaryExpression, - // only for the left and right parts - - if (isNested && node.comments) { - parts = normalizeParts$1(comments.printComments(path, () => concat$b(parts), options).parts); - } - } else { - // Our stopping case. Simply print the node normally. - parts.push(group$7(path.call(print))); - } - - return parts; -} - -function printAssignmentRight(leftNode, rightNode, printedRight, options) { - if (hasLeadingOwnLineComment$1(options.originalText, rightNode, options)) { - return indent$8(concat$b([line$8, printedRight])); - } - - const canBreak = isBinaryish$1(rightNode) && !shouldInlineLogicalExpression(rightNode) || rightNode.type === "ConditionalExpression" && isBinaryish$1(rightNode.test) && !shouldInlineLogicalExpression(rightNode.test) || rightNode.type === "StringLiteralTypeAnnotation" || rightNode.type === "ClassExpression" && rightNode.decorators && rightNode.decorators.length || (leftNode.type === "Identifier" || isStringLiteral$1(leftNode) || leftNode.type === "MemberExpression") && (isStringLiteral$1(rightNode) || isMemberExpressionChain$1(rightNode)) && // do not put values on a separate line from the key in json - options.parser !== "json" && options.parser !== "json5" || rightNode.type === "SequenceExpression"; - - if (canBreak) { - return group$7(indent$8(concat$b([line$8, printedRight]))); - } - - return concat$b([" ", printedRight]); -} - -function printAssignment(leftNode, printedLeft, operator, rightNode, printedRight, options) { - if (!rightNode) { - return printedLeft; - } - - const printed = printAssignmentRight(leftNode, rightNode, printedRight, options); - return group$7(concat$b([printedLeft, operator, printed])); -} - -function adjustClause(node, clause, forceSpace) { - if (node.type === "EmptyStatement") { - return ";"; - } - - if (node.type === "BlockStatement" || forceSpace) { - return concat$b([" ", clause]); - } - - return indent$8(concat$b([line$8, clause])); -} - -function nodeStr(node, options, isFlowOrTypeScriptDirectiveLiteral) { - const raw = rawText$1(node); - const isDirectiveLiteral = isFlowOrTypeScriptDirectiveLiteral || node.type === "DirectiveLiteral"; - return printString$1(raw, options, isDirectiveLiteral); -} - -function printRegex(node) { - const flags = node.flags.split("").sort().join(""); - return `/${node.pattern}/${flags}`; -} - -function exprNeedsASIProtection(path, options) { - const node = path.getValue(); - const maybeASIProblem = needsParens_1(path, options) || node.type === "ParenthesizedExpression" || node.type === "TypeCastExpression" || node.type === "ArrowFunctionExpression" && !shouldPrintParamsWithoutParens(path, options) || node.type === "ArrayExpression" || node.type === "ArrayPattern" || node.type === "UnaryExpression" && node.prefix && (node.operator === "+" || node.operator === "-") || node.type === "TemplateLiteral" || node.type === "TemplateElement" || isJSXNode$3(node) || node.type === "BindExpression" && !node.object || node.type === "RegExpLiteral" || node.type === "Literal" && node.pattern || node.type === "Literal" && node.regex; - - if (maybeASIProblem) { - return true; - } - - if (!hasNakedLeftSide$2(node)) { - return false; - } - - return path.call(childPath => exprNeedsASIProtection(childPath, options), ...getLeftSidePathName$2(path, node)); -} - -function stmtNeedsASIProtection(path, options) { - const node = path.getNode(); - - if (node.type !== "ExpressionStatement") { - return false; - } - - return path.call(childPath => exprNeedsASIProtection(childPath, options), "expression"); -} - -function shouldHugType(node) { - if (isSimpleFlowType$1(node) || isObjectType$1(node)) { - return true; - } - - if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { - const voidCount = node.types.filter(n => n.type === "VoidTypeAnnotation" || n.type === "TSVoidKeyword" || n.type === "NullLiteralTypeAnnotation" || n.type === "TSNullKeyword").length; - const hasObject = node.types.some(n => n.type === "ObjectTypeAnnotation" || n.type === "TSTypeLiteral" || // This is a bit aggressive but captures Array<{x}> - n.type === "GenericTypeAnnotation" || n.type === "TSTypeReference"); - - if (node.types.length - 1 === voidCount && hasObject) { - return true; - } - } - - return false; -} - -function shouldHugArguments(fun) { - if (!fun || fun.rest) { - return false; - } - - const params = fun.params || fun.parameters; - - if (!params || params.length !== 1) { - return false; - } - - const param = params[0]; - return !param.comments && (param.type === "ObjectPattern" || param.type === "ArrayPattern" || param.type === "Identifier" && param.typeAnnotation && (param.typeAnnotation.type === "TypeAnnotation" || param.typeAnnotation.type === "TSTypeAnnotation") && isObjectType$1(param.typeAnnotation.typeAnnotation) || param.type === "FunctionTypeParam" && isObjectType$1(param.typeAnnotation) || param.type === "AssignmentPattern" && (param.left.type === "ObjectPattern" || param.left.type === "ArrayPattern") && (param.right.type === "Identifier" || param.right.type === "ObjectExpression" && param.right.properties.length === 0 || param.right.type === "ArrayExpression" && param.right.elements.length === 0)); -} - -function printArrayItems(path, options, printPath, print) { - const printedElements = []; - let separatorParts = []; - path.each(childPath => { - printedElements.push(concat$b(separatorParts)); - printedElements.push(group$7(print(childPath))); - separatorParts = [",", line$8]; - - if (childPath.getValue() && isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) { - separatorParts.push(softline$6); - } - }, printPath); - return concat$b(printedElements); -} - -function printReturnAndThrowArgument(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - - if (node.argument) { - if (returnArgumentHasLeadingComment$1(options, node.argument)) { - parts.push(concat$b([" (", indent$8(concat$b([hardline$6, path.call(print, "argument")])), hardline$6, ")"])); - } else if (isBinaryish$1(node.argument) || node.argument.type === "SequenceExpression") { - parts.push(group$7(concat$b([ifBreak$4(" (", " "), indent$8(concat$b([softline$6, path.call(print, "argument")])), softline$6, ifBreak$4(")")]))); - } else { - parts.push(" ", path.call(print, "argument")); - } - } - - const lastComment = Array.isArray(node.comments) && node.comments[node.comments.length - 1]; - const isLastCommentLine = lastComment && (lastComment.type === "CommentLine" || lastComment.type === "Line"); - - if (isLastCommentLine) { - parts.push(semi); - } - - if (hasDanglingComments$1(node)) { - parts.push(" ", comments.printDanglingComments(path, options, - /* sameIndent */ - true)); - } - - if (!isLastCommentLine) { - parts.push(semi); - } - - return concat$b(parts); -} - -function willPrintOwnComments(path -/*, options */ -) { - const node = path.getValue(); - const parent = path.getParentNode(); - return (node && (isJSXNode$3(node) || hasFlowShorthandAnnotationComment$2(node) || parent && (parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && (hasFlowAnnotationComment$1(node.leadingComments) || hasFlowAnnotationComment$1(node.trailingComments))) || parent && (parent.type === "JSXSpreadAttribute" || parent.type === "JSXSpreadChild" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || (parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node)) && (!hasIgnoreComment$2(path) || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType"); -} - -function canAttachComment(node) { - return node.type && node.type !== "CommentBlock" && node.type !== "CommentLine" && node.type !== "Line" && node.type !== "Block" && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import"; -} - -function printComment$1(commentPath, options) { - const comment = commentPath.getValue(); - - switch (comment.type) { - case "CommentBlock": - case "Block": - { - if (isIndentableBlockComment(comment)) { - const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment - // printed as a `lineSuffix` which causes the comments to be - // interleaved. See https://github.com/prettier/prettier/issues/4412 - - if (comment.trailing && !hasNewline$5(options.originalText, options.locStart(comment), { - backwards: true - })) { - return concat$b([hardline$6, printed]); - } - - return printed; - } - - const commentEnd = options.locEnd(comment); - const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; - return "/*" + comment.value + (isInsideFlowComment ? "*-/" : "*/"); - } - - case "CommentLine": - case "Line": - // Supports `//`, `#!`, `` - return options.originalText.slice(options.locStart(comment), options.locEnd(comment)).trimEnd(); - - default: - /* istanbul ignore next */ - throw new Error("Not a comment: " + JSON.stringify(comment)); - } + throw new Error("Not a comment: " + JSON.stringify(comment)); } function isIndentableBlockComment(comment) { @@ -45512,54 +48333,876 @@ function isIndentableBlockComment(comment) { function printIndentableBlockComment(comment) { const lines = comment.value.split("\n"); - return concat$b(["/*", join$6(hardline$6, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]); + return ["/*", join$c(hardline$e, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]; } -var printerEstree = { - preprocess: preprocess_1, - print: genericPrint, - embed: embed_1, - insertPragma: insertPragma$1, - massageAstNode: clean_1, - hasPrettierIgnore: hasPrettierIgnore$1, - willPrintOwnComments, - canAttachComment, - printComment: printComment$1, - isBlockComment: comments$1.isBlockComment, - handleComments: { - ownLine: comments$1.handleOwnLineComment, - endOfLine: comments$1.handleEndOfLineComment, - remaining: comments$1.handleRemainingComment - }, - getGapRegex: comments$1.getGapRegex, - getCommentChildNodes: comments$1.getCommentChildNodes +var comment = { + printComment: printComment$2 }; const { - concat: concat$c, - hardline: hardline$7, - indent: indent$9, - join: join$7 -} = document.builders; + printString: printString$1, + printNumber: printNumber$1 +} = util$5; -function genericPrint$1(path, options, print) { +function printLiteral$1(path, options +/*, print*/ +) { + const node = path.getNode(); + + switch (node.type) { + case "RegExpLiteral": + // Babel 6 Literal split + return printRegex(node); + + case "BigIntLiteral": + // babel: node.extra.raw, flow: node.bigint + return printBigInt(node.bigint || node.extra.raw); + + case "NumericLiteral": + // Babel 6 Literal split + return printNumber$1(node.extra.raw); + + case "StringLiteral": + // Babel 6 Literal split + return printString$1(node.extra.raw, options); + + case "NullLiteral": + // Babel 6 Literal split + return "null"; + + case "BooleanLiteral": + // Babel 6 Literal split + return String(node.value); + + case "DecimalLiteral": + return printNumber$1(node.value) + "m"; + + case "Literal": + { + if (node.regex) { + return printRegex(node.regex); + } + + if (node.bigint) { + return printBigInt(node.raw); + } + + if (node.decimal) { + return printNumber$1(node.decimal) + "m"; + } + + const { + value + } = node; + + if (typeof value === "number") { + return printNumber$1(node.raw); + } + + if (typeof value === "string") { + return printString$1(node.raw, options); + } + + return String(value); + } + } +} + +function printBigInt(raw) { + return raw.toLowerCase(); +} + +function printRegex({ + pattern, + flags +}) { + flags = flags.split("").sort().join(""); + return `/${pattern}/${flags}`; +} + +var literal = { + printLiteral: printLiteral$1 +}; + +/** @typedef {import("../document").Doc} Doc */ +// TODO(azz): anything that imports from main shouldn't be in a `language-*` dir. + + +const { + printDanglingComments +} = comments$1; +const { + hasNewline: hasNewline$1 +} = util$5; +const { + builders: { + join: join$b, + line: line$a, + hardline: hardline$d, + softline: softline$8, + group: group$c, + indent: indent$7 + }, + utils: { + replaceNewlinesWithLiterallines: replaceNewlinesWithLiterallines$1 + } +} = doc; +const { + insertPragma: insertPragma$9 +} = pragma$5; +const { + hasFlowShorthandAnnotationComment, + hasComment, + CommentCheckFlags, + isTheOnlyJsxElementInMarkdown, + isBlockComment, + isLineComment, + isNextLineEmpty: isNextLineEmpty$4, + needsHardlineAfterDanglingComment, + rawText, + hasIgnoreComment, + isCallExpression, + isMemberExpression +} = utils$5; +const { + locStart: locStart$d, + locEnd: locEnd$c +} = loc$6; +const { + printHtmlBinding, + isVueEventBindingExpression: isVueEventBindingExpression$2 +} = htmlBinding; +const { + printAngular +} = angular; +const { + printJsx, + hasJsxIgnoreComment +} = jsx; +const { + printFlow +} = flow; +const { + printTypescript +} = typescript; +const { + printOptionalToken, + printBindExpressionCallee, + printTypeAnnotation, + adjustClause, + printRestSpread +} = misc$1; +const { + printImportDeclaration, + printExportDeclaration, + printExportAllDeclaration, + printModuleSpecifier +} = module$1; +const { + printTernary +} = ternary; +const { + printTemplateLiteral +} = templateLiteral; +const { + printArray +} = array; +const { + printObject +} = object$1; +const { + printClass, + printClassMethod, + printClassProperty +} = _class; +const { + printProperty +} = property; +const { + printFunction, + printArrowFunction, + printMethod, + printReturnStatement, + printThrowStatement +} = _function; +const { + printCallExpression +} = callExpression; +const { + printVariableDeclarator, + printAssignmentExpression +} = assignment; +const { + printBinaryishExpression +} = binaryish; +const { + printSwitchCaseConsequent +} = statement; +const { + printMemberExpression +} = member; +const { + printBlock: printBlock$1, + printBlockBody +} = block$1; +const { + printComment: printComment$1 +} = comment; +const { + printLiteral +} = literal; +const { + printDecorators +} = decorators; + +function genericPrint$6(path, options, print, args) { + const printed = printPathNoParens(path, options, print, args); + + if (!printed) { + return ""; + } + + const node = path.getValue(); + const { + type + } = node; // Their decorators are handled themselves, and they can't have parentheses + + if (type === "ClassMethod" || type === "ClassPrivateMethod" || type === "ClassProperty" || type === "PropertyDefinition" || type === "TSAbstractClassProperty" || type === "ClassPrivateProperty" || type === "MethodDefinition" || type === "TSAbstractMethodDefinition" || type === "TSDeclareMethod") { + return printed; + } + + const printedDecorators = printDecorators(path, options, print); // Nodes with decorators can't have parentheses and don't need leading semicolons + + if (printedDecorators) { + return group$c([...printedDecorators, printed]); + } + + const needsParens = needsParens_1(path, options); + + if (!needsParens) { + return args && args.needsSemi ? [";", printed] : printed; + } + + const parts = [args && args.needsSemi ? ";(" : "(", printed]; + + if (hasFlowShorthandAnnotationComment(node)) { + const [comment] = node.trailingComments; + parts.push(" /*", comment.value.trimStart(), "*/"); + comment.printed = true; + } + + parts.push(")"); + return parts; +} + +function printPathNoParens(path, options, print, args) { + const node = path.getValue(); + const semi = options.semi ? ";" : ""; + + if (!node) { + return ""; + } + + if (typeof node === "string") { + return node; + } + + for (const printer of [printLiteral, printHtmlBinding, printAngular, printJsx, printFlow, printTypescript]) { + const printed = printer(path, options, print); + + if (typeof printed !== "undefined") { + return printed; + } + } + /** @type{Doc[]} */ + + + let parts = []; + + switch (node.type) { + case "JsExpressionRoot": + return print("node"); + + case "JsonRoot": + return [print("node"), hardline$d]; + + case "File": + // Print @babel/parser's InterpreterDirective here so that + // leading comments on the `Program` node get printed after the hashbang. + if (node.program && node.program.interpreter) { + parts.push(print(["program", "interpreter"])); + } + + parts.push(print("program")); + return parts; + + case "Program": + return printBlockBody(path, options, print); + // Babel extension. + + case "EmptyStatement": + return ""; + + case "ExpressionStatement": + // Detect Flow and TypeScript directives + if (node.directive) { + return [printDirective(node.expression, options), semi]; + } + + if (options.parser === "__vue_event_binding") { + const parent = path.getParentNode(); + + if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === node) { + return [print("expression"), isVueEventBindingExpression$2(node.expression) ? ";" : ""]; + } + } // Do not append semicolon after the only JSX element in a program + + + return [print("expression"), isTheOnlyJsxElementInMarkdown(options, path) ? "" : semi]; + // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. + + case "ParenthesizedExpression": + { + const shouldHug = !hasComment(node.expression) && (node.expression.type === "ObjectExpression" || node.expression.type === "ArrayExpression"); + + if (shouldHug) { + return ["(", print("expression"), ")"]; + } + + return group$c(["(", indent$7([softline$8, print("expression")]), softline$8, ")"]); + } + + case "AssignmentExpression": + return printAssignmentExpression(path, options, print); + + case "VariableDeclarator": + return printVariableDeclarator(path, options, print); + + case "BinaryExpression": + case "LogicalExpression": + return printBinaryishExpression(path, options, print); + + case "AssignmentPattern": + return [print("left"), " = ", print("right")]; + + case "OptionalMemberExpression": + case "MemberExpression": + { + return printMemberExpression(path, options, print); + } + + case "MetaProperty": + return [print("meta"), ".", print("property")]; + + case "BindExpression": + if (node.object) { + parts.push(print("object")); + } + + parts.push(group$c(indent$7([softline$8, printBindExpressionCallee(path, options, print)]))); + return parts; + + case "Identifier": + { + return [node.name, printOptionalToken(path), printTypeAnnotation(path, options, print)]; + } + + case "V8IntrinsicIdentifier": + return ["%", node.name]; + + case "SpreadElement": + case "SpreadElementPattern": + case "SpreadProperty": + case "SpreadPropertyPattern": + case "RestElement": + return printRestSpread(path, options, print); + + case "FunctionDeclaration": + case "FunctionExpression": + return printFunction(path, print, options, args); + + case "ArrowFunctionExpression": + return printArrowFunction(path, options, print, args); + + case "YieldExpression": + parts.push("yield"); + + if (node.delegate) { + parts.push("*"); + } + + if (node.argument) { + parts.push(" ", print("argument")); + } + + return parts; + + case "AwaitExpression": + { + parts.push("await"); + + if (node.argument) { + parts.push(" ", print("argument")); + const parent = path.getParentNode(); + + if (isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node) { + parts = [indent$7([softline$8, ...parts]), softline$8]; + const parentAwaitOrBlock = path.findAncestor(node => node.type === "AwaitExpression" || node.type === "BlockStatement"); + + if (!parentAwaitOrBlock || parentAwaitOrBlock.type !== "AwaitExpression") { + return group$c(parts); + } + } + } + + return parts; + } + + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + return printExportDeclaration(path, options, print); + + case "ExportAllDeclaration": + return printExportAllDeclaration(path, options, print); + + case "ImportDeclaration": + return printImportDeclaration(path, options, print); + + case "ImportSpecifier": + case "ExportSpecifier": + case "ImportNamespaceSpecifier": + case "ExportNamespaceSpecifier": + case "ImportDefaultSpecifier": + case "ExportDefaultSpecifier": + return printModuleSpecifier(path, options, print); + + case "ImportAttribute": + return [print("key"), ": ", print("value")]; + + case "Import": + return "import"; + + case "BlockStatement": + case "StaticBlock": + case "ClassBody": + return printBlock$1(path, options, print); + + case "ThrowStatement": + return printThrowStatement(path, options, print); + + case "ReturnStatement": + return printReturnStatement(path, options, print); + + case "NewExpression": + case "ImportExpression": + case "OptionalCallExpression": + case "CallExpression": + return printCallExpression(path, options, print); + + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + return printObject(path, options, print); + // Babel 6 + + case "ObjectProperty": // Non-standard AST node type. + + case "Property": + if (node.method || node.kind === "get" || node.kind === "set") { + return printMethod(path, options, print); + } + + return printProperty(path, options, print); + + case "ObjectMethod": + return printMethod(path, options, print); + + case "Decorator": + return ["@", print("expression")]; + + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + return printArray(path, options, print); + + case "SequenceExpression": + { + const parent = path.getParentNode(0); + + if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { + // For ExpressionStatements and for-loop heads, which are among + // the few places a SequenceExpression appears unparenthesized, we want + // to indent expressions after the first. + const parts = []; + path.each((expressionPath, index) => { + if (index === 0) { + parts.push(print()); + } else { + parts.push(",", indent$7([line$a, print()])); + } + }, "expressions"); + return group$c(parts); + } + + return group$c(join$b([",", line$a], path.map(print, "expressions"))); + } + + case "ThisExpression": + return "this"; + + case "Super": + return "super"; + + case "Directive": + return [print("value"), semi]; + // Babel 6 + + case "DirectiveLiteral": + return printDirective(node, options); + + case "UnaryExpression": + parts.push(node.operator); + + if (/[a-z]$/.test(node.operator)) { + parts.push(" "); + } + + if (hasComment(node.argument)) { + parts.push(group$c(["(", indent$7([softline$8, print("argument")]), softline$8, ")"])); + } else { + parts.push(print("argument")); + } + + return parts; + + case "UpdateExpression": + parts.push(print("argument"), node.operator); + + if (node.prefix) { + parts.reverse(); + } + + return parts; + + case "ConditionalExpression": + return printTernary(path, options, print); + + case "VariableDeclaration": + { + const printed = path.map(print, "declarations"); // We generally want to terminate all variable declarations with a + // semicolon, except when they in the () part of for loops. + + const parentNode = path.getParentNode(); + const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; + const hasValue = node.declarations.some(decl => decl.init); + let firstVariable; + + if (printed.length === 1 && !hasComment(node.declarations[0])) { + firstVariable = printed[0]; + } else if (printed.length > 0) { + // Indent first var to comply with eslint one-var rule + firstVariable = indent$7(printed[0]); + } + + parts = [node.declare ? "declare " : "", node.kind, firstVariable ? [" ", firstVariable] : "", indent$7(printed.slice(1).map(p => [",", hasValue && !isParentForLoop ? hardline$d : line$a, p]))]; + + if (!(isParentForLoop && parentNode.body !== node)) { + parts.push(semi); + } + + return group$c(parts); + } + + case "WithStatement": + return group$c(["with (", print("object"), ")", adjustClause(node.body, print("body"))]); + + case "IfStatement": + { + const con = adjustClause(node.consequent, print("consequent")); + const opening = group$c(["if (", group$c([indent$7([softline$8, print("test")]), softline$8]), ")", con]); + parts.push(opening); + + if (node.alternate) { + const commentOnOwnLine = hasComment(node.consequent, CommentCheckFlags.Trailing | CommentCheckFlags.Line) || needsHardlineAfterDanglingComment(node); + const elseOnSameLine = node.consequent.type === "BlockStatement" && !commentOnOwnLine; + parts.push(elseOnSameLine ? " " : hardline$d); + + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(printDanglingComments(path, options, true), commentOnOwnLine ? hardline$d : " "); + } + + parts.push("else", group$c(adjustClause(node.alternate, print("alternate"), node.alternate.type === "IfStatement"))); + } + + return parts; + } + + case "ForStatement": + { + const body = adjustClause(node.body, print("body")); // We want to keep dangling comments above the loop to stay consistent. + // Any comment positioned between the for statement and the parentheses + // is going to be printed before the statement. + + const dangling = printDanglingComments(path, options, + /* sameLine */ + true); + const printedComments = dangling ? [dangling, softline$8] : ""; + + if (!node.init && !node.test && !node.update) { + return [printedComments, group$c(["for (;;)", body])]; + } + + return [printedComments, group$c(["for (", group$c([indent$7([softline$8, print("init"), ";", line$a, print("test"), ";", line$a, print("update")]), softline$8]), ")", body])]; + } + + case "WhileStatement": + return group$c(["while (", group$c([indent$7([softline$8, print("test")]), softline$8]), ")", adjustClause(node.body, print("body"))]); + + case "ForInStatement": + return group$c(["for (", print("left"), " in ", print("right"), ")", adjustClause(node.body, print("body"))]); + + case "ForOfStatement": + return group$c(["for", node.await ? " await" : "", " (", print("left"), " of ", print("right"), ")", adjustClause(node.body, print("body"))]); + + case "DoWhileStatement": + { + const clause = adjustClause(node.body, print("body")); + const doBody = group$c(["do", clause]); + parts = [doBody]; + + if (node.body.type === "BlockStatement") { + parts.push(" "); + } else { + parts.push(hardline$d); + } + + parts.push("while (", group$c([indent$7([softline$8, print("test")]), softline$8]), ")", semi); + return parts; + } + + case "DoExpression": + return [node.async ? "async " : "", "do ", print("body")]; + + case "BreakStatement": + parts.push("break"); + + if (node.label) { + parts.push(" ", print("label")); + } + + parts.push(semi); + return parts; + + case "ContinueStatement": + parts.push("continue"); + + if (node.label) { + parts.push(" ", print("label")); + } + + parts.push(semi); + return parts; + + case "LabeledStatement": + if (node.body.type === "EmptyStatement") { + return [print("label"), ":;"]; + } + + return [print("label"), ": ", print("body")]; + + case "TryStatement": + return ["try ", print("block"), node.handler ? [" ", print("handler")] : "", node.finalizer ? [" finally ", print("finalizer")] : ""]; + + case "CatchClause": + if (node.param) { + const parameterHasComments = hasComment(node.param, comment => !isBlockComment(comment) || comment.leading && hasNewline$1(options.originalText, locEnd$c(comment)) || comment.trailing && hasNewline$1(options.originalText, locStart$d(comment), { + backwards: true + })); + const param = print("param"); + return ["catch ", parameterHasComments ? ["(", indent$7([softline$8, param]), softline$8, ") "] : ["(", param, ") "], print("body")]; + } + + return ["catch ", print("body")]; + // Note: ignoring n.lexical because it has no printing consequences. + + case "SwitchStatement": + return [group$c(["switch (", indent$7([softline$8, print("discriminant")]), softline$8, ")"]), " {", node.cases.length > 0 ? indent$7([hardline$d, join$b(hardline$d, path.map((casePath, index, cases) => { + const caseNode = casePath.getValue(); + return [print(), index !== cases.length - 1 && isNextLineEmpty$4(caseNode, options) ? hardline$d : ""]; + }, "cases"))]) : "", hardline$d, "}"]; + + case "SwitchCase": + { + if (node.test) { + parts.push("case ", print("test"), ":"); + } else { + parts.push("default:"); + } + + const consequent = node.consequent.filter(node => node.type !== "EmptyStatement"); + + if (consequent.length > 0) { + const cons = printSwitchCaseConsequent(path, options, print); + parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? [" ", cons] : indent$7([hardline$d, cons])); + } + + return parts; + } + // JSX extensions below. + + case "DebuggerStatement": + return ["debugger", semi]; + + case "ClassDeclaration": + case "ClassExpression": + return printClass(path, options, print); + + case "ClassMethod": + case "ClassPrivateMethod": + case "MethodDefinition": + return printClassMethod(path, options, print); + + case "ClassProperty": + case "PropertyDefinition": + case "ClassPrivateProperty": + return printClassProperty(path, options, print); + + case "TemplateElement": + return replaceNewlinesWithLiterallines$1(node.value.raw); + + case "TemplateLiteral": + return printTemplateLiteral(path, print, options); + + case "TaggedTemplateExpression": + return [print("tag"), print("typeParameters"), print("quasi")]; + + case "PrivateIdentifier": + return ["#", print("name")]; + + case "PrivateName": + return ["#", print("id")]; + + case "InterpreterDirective": + parts.push("#!", node.value, hardline$d); + + if (isNextLineEmpty$4(node, options)) { + parts.push(hardline$d); + } + + return parts; + + case "PipelineBareFunction": + return print("callee"); + + case "PipelineTopicExpression": + return print("expression"); + + case "PipelinePrimaryTopicReference": + return "#"; + + case "ArgumentPlaceholder": + return "?"; + + case "ModuleExpression": + { + parts.push("module {"); + const printed = print("body"); + + if (printed) { + parts.push(indent$7([hardline$d, printed]), hardline$d); + } + + parts.push("}"); + return parts; + } + + default: + /* istanbul ignore next */ + throw new Error("unknown type: " + JSON.stringify(node.type)); + } +} + +function printDirective(node, options) { + const raw = rawText(node); + const rawContent = raw.slice(1, -1); // Check for the alternate quote, to determine if we're allowed to swap + // the quotes on a DirectiveLiteral. + + if (rawContent.includes('"') || rawContent.includes("'")) { + return raw; + } + + const enclosingQuote = options.singleQuote ? "'" : '"'; // Directives are exact code unit sequences, which means that you can't + // change the escape sequences they use. + // See https://github.com/prettier/prettier/issues/1555 + // and https://tc39.github.io/ecma262/#directive-prologue + + return enclosingQuote + rawContent + enclosingQuote; +} + +function canAttachComment$1(node) { + return node.type && !isBlockComment(node) && !isLineComment(node) && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import" && // `babel-ts` don't have similar node for `class Foo { bar() /* bat */; }` + node.type !== "TSEmptyBodyFunctionExpression"; +} + +var printerEstree = { + preprocess: printPreprocess$3, + print: genericPrint$6, + embed: embed_1$3, + insertPragma: insertPragma$9, + massageAstNode: clean_1$4, + + hasPrettierIgnore(path) { + return hasIgnoreComment(path) || hasJsxIgnoreComment(path); + }, + + willPrintOwnComments: comments.willPrintOwnComments, + canAttachComment: canAttachComment$1, + printComment: printComment$1, + isBlockComment, + handleComments: { + // TODO: Make this as default behavior + avoidAstMutation: true, + ownLine: comments.handleOwnLineComment, + endOfLine: comments.handleEndOfLineComment, + remaining: comments.handleRemainingComment + }, + getCommentChildNodes: comments.getCommentChildNodes +}; + +const { + builders: { + hardline: hardline$c, + indent: indent$6, + join: join$a + } +} = doc; + +function genericPrint$5(path, options, print) { const node = path.getValue(); switch (node.type) { case "JsonRoot": - return concat$c([path.call(print, "node"), hardline$7]); + return [print("node"), hardline$c]; case "ArrayExpression": - return node.elements.length === 0 ? "[]" : concat$c(["[", indent$9(concat$c([hardline$7, join$7(concat$c([",", hardline$7]), path.map(print, "elements"))])), hardline$7, "]"]); + { + if (node.elements.length === 0) { + return "[]"; + } + + const printed = path.map(() => path.getValue() === null ? "null" : print(), "elements"); + return ["[", indent$6([hardline$c, join$a([",", hardline$c], printed)]), hardline$c, "]"]; + } case "ObjectExpression": - return node.properties.length === 0 ? "{}" : concat$c(["{", indent$9(concat$c([hardline$7, join$7(concat$c([",", hardline$7]), path.map(print, "properties"))])), hardline$7, "}"]); + return node.properties.length === 0 ? "{}" : ["{", indent$6([hardline$c, join$a([",", hardline$c], path.map(print, "properties"))]), hardline$c, "}"]; case "ObjectProperty": - return concat$c([path.call(print, "key"), ": ", path.call(print, "value")]); + return [print("key"), ": ", print("value")]; case "UnaryExpression": - return concat$c([node.operator === "+" ? "" : node.operator, path.call(print, "argument")]); + return [node.operator === "+" ? "" : node.operator, print("argument")]; case "NullLiteral": return "null"; @@ -45572,7 +49215,22 @@ function genericPrint$1(path, options, print) { return JSON.stringify(node.value); case "Identifier": - return JSON.stringify(node.name); + { + const parent = path.getParentNode(); + + if (parent && parent.type === "ObjectProperty" && parent.key === node) { + return JSON.stringify(node.name); + } + + return node.name; + } + + case "TemplateLiteral": + // There is only one `TemplateElement` + return print(["quasis", 0]); + + case "TemplateElement": + return JSON.stringify(node.value.cooked); default: /* istanbul ignore next */ @@ -45580,36 +49238,57 @@ function genericPrint$1(path, options, print) { } } -function clean$1(node, newNode +const ignoredProperties$3 = new Set(["start", "end", "extra", "loc", "comments", "leadingComments", "trailingComments", "innerComments", "errors", "range", "tokens"]); + +function clean$6(node, newNode /*, parent*/ ) { - delete newNode.start; - delete newNode.end; - delete newNode.extra; - delete newNode.loc; - delete newNode.comments; - delete newNode.errors; - delete newNode.range; + const { + type + } = node; // We print quoted key - if (node.type === "Identifier") { - return { + if (type === "ObjectProperty" && node.key.type === "Identifier") { + newNode.key = { type: "StringLiteral", - value: node.name + value: node.key.name }; + return; } - if (node.type === "UnaryExpression" && node.operator === "+") { + if (type === "UnaryExpression" && node.operator === "+") { return newNode.argument; + } // We print holes in array as `null` + + + if (type === "ArrayExpression") { + for (const [index, element] of node.elements.entries()) { + if (element === null) { + newNode.elements.splice(index, 0, { + type: "NullLiteral" + }); + } + } + + return; + } // We print `TemplateLiteral` as string + + + if (type === "TemplateLiteral") { + return { + type: "StringLiteral", + value: node.quasis[0].value.cooked + }; } } +clean$6.ignoredProperties = ignoredProperties$3; var printerEstreeJson = { - preprocess: preprocess_1, - print: genericPrint$1, - massageAstNode: clean$1 + preprocess: printPreprocess$3, + print: genericPrint$5, + massageAstNode: clean$6 }; -const CATEGORY_COMMON = "Common"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js +const CATEGORY_COMMON = "Common"; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js var commonOptions = { bracketSpacing: { @@ -45655,9 +49334,9 @@ var commonOptions = { } }; -const CATEGORY_JAVASCRIPT = "JavaScript"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js +const CATEGORY_JAVASCRIPT = "JavaScript"; // format based on https://github.com/prettier/prettier/blob/main/src/main/core-options.js -var options$2 = { +var options$5 = { arrowParens: { since: "1.9.0", category: CATEGORY_JAVASCRIPT, @@ -45747,18 +49426,18 @@ var options$2 = { } }; -var name$2 = "JavaScript"; -var type = "programming"; -var tmScope = "source.js"; -var aceMode = "javascript"; -var codemirrorMode = "javascript"; -var codemirrorMimeType = "text/javascript"; -var color = "#f1e05a"; -var aliases = [ +var name$f = "JavaScript"; +var type$f = "programming"; +var tmScope$f = "source.js"; +var aceMode$f = "javascript"; +var codemirrorMode$b = "javascript"; +var codemirrorMimeType$b = "text/javascript"; +var color$a = "#f1e05a"; +var aliases$6 = [ "js", "node" ]; -var extensions = [ +var extensions$f = [ ".js", "._js", ".bones", @@ -45773,6 +49452,7 @@ var extensions = [ ".jsfl", ".jsm", ".jss", + ".jsx", ".mjs", ".njs", ".pac", @@ -45781,183 +49461,99 @@ var extensions = [ ".xsjs", ".xsjslib" ]; -var filenames = [ +var filenames$4 = [ "Jakefile" ]; -var interpreters = [ +var interpreters$1 = [ "chakra", "d8", "gjs", "js", "node", + "nodejs", "qjs", "rhino", "v8", "v8-shell" ]; -var languageId = 183; -var JavaScript = { - name: name$2, - type: type, - tmScope: tmScope, - aceMode: aceMode, - codemirrorMode: codemirrorMode, - codemirrorMimeType: codemirrorMimeType, - color: color, - aliases: aliases, - extensions: extensions, - filenames: filenames, - interpreters: interpreters, - languageId: languageId +var languageId$f = 183; +var require$$0$6 = { + name: name$f, + type: type$f, + tmScope: tmScope$f, + aceMode: aceMode$f, + codemirrorMode: codemirrorMode$b, + codemirrorMimeType: codemirrorMimeType$b, + color: color$a, + aliases: aliases$6, + extensions: extensions$f, + filenames: filenames$4, + interpreters: interpreters$1, + languageId: languageId$f }; -var JavaScript$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$2, - type: type, - tmScope: tmScope, - aceMode: aceMode, - codemirrorMode: codemirrorMode, - codemirrorMimeType: codemirrorMimeType, - color: color, - aliases: aliases, - extensions: extensions, - filenames: filenames, - interpreters: interpreters, - languageId: languageId, - 'default': JavaScript -}); - -var name$3 = "JSX"; -var type$1 = "programming"; -var group$8 = "JavaScript"; -var extensions$1 = [ - ".jsx" -]; -var tmScope$1 = "source.js.jsx"; -var aceMode$1 = "javascript"; -var codemirrorMode$1 = "jsx"; -var codemirrorMimeType$1 = "text/jsx"; -var languageId$1 = 178; -var JSX = { - name: name$3, - type: type$1, - group: group$8, - extensions: extensions$1, - tmScope: tmScope$1, - aceMode: aceMode$1, - codemirrorMode: codemirrorMode$1, - codemirrorMimeType: codemirrorMimeType$1, - languageId: languageId$1 -}; - -var JSX$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$3, - type: type$1, - group: group$8, - extensions: extensions$1, - tmScope: tmScope$1, - aceMode: aceMode$1, - codemirrorMode: codemirrorMode$1, - codemirrorMimeType: codemirrorMimeType$1, - languageId: languageId$1, - 'default': JSX -}); - -var name$4 = "TypeScript"; -var type$2 = "programming"; -var color$1 = "#2b7489"; -var aliases$1 = [ +var name$e = "TypeScript"; +var type$e = "programming"; +var color$9 = "#2b7489"; +var aliases$5 = [ "ts" ]; -var interpreters$1 = [ +var interpreters = [ "deno", "ts-node" ]; -var extensions$2 = [ +var extensions$e = [ ".ts" ]; -var tmScope$2 = "source.ts"; -var aceMode$2 = "typescript"; -var codemirrorMode$2 = "javascript"; -var codemirrorMimeType$2 = "application/typescript"; -var languageId$2 = 378; -var TypeScript = { - name: name$4, - type: type$2, - color: color$1, - aliases: aliases$1, - interpreters: interpreters$1, - extensions: extensions$2, - tmScope: tmScope$2, - aceMode: aceMode$2, - codemirrorMode: codemirrorMode$2, - codemirrorMimeType: codemirrorMimeType$2, - languageId: languageId$2 +var tmScope$e = "source.ts"; +var aceMode$e = "typescript"; +var codemirrorMode$a = "javascript"; +var codemirrorMimeType$a = "application/typescript"; +var languageId$e = 378; +var require$$1$3 = { + name: name$e, + type: type$e, + color: color$9, + aliases: aliases$5, + interpreters: interpreters, + extensions: extensions$e, + tmScope: tmScope$e, + aceMode: aceMode$e, + codemirrorMode: codemirrorMode$a, + codemirrorMimeType: codemirrorMimeType$a, + languageId: languageId$e }; -var TypeScript$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$4, - type: type$2, - color: color$1, - aliases: aliases$1, - interpreters: interpreters$1, - extensions: extensions$2, - tmScope: tmScope$2, - aceMode: aceMode$2, - codemirrorMode: codemirrorMode$2, - codemirrorMimeType: codemirrorMimeType$2, - languageId: languageId$2, - 'default': TypeScript -}); - -var name$5 = "TSX"; -var type$3 = "programming"; -var group$9 = "TypeScript"; -var extensions$3 = [ +var name$d = "TSX"; +var type$d = "programming"; +var group$b = "TypeScript"; +var extensions$d = [ ".tsx" ]; -var tmScope$3 = "source.tsx"; -var aceMode$3 = "javascript"; -var codemirrorMode$3 = "jsx"; -var codemirrorMimeType$3 = "text/jsx"; -var languageId$3 = 94901924; -var TSX = { - name: name$5, - type: type$3, - group: group$9, - extensions: extensions$3, - tmScope: tmScope$3, - aceMode: aceMode$3, - codemirrorMode: codemirrorMode$3, - codemirrorMimeType: codemirrorMimeType$3, - languageId: languageId$3 +var tmScope$d = "source.tsx"; +var aceMode$d = "javascript"; +var codemirrorMode$9 = "jsx"; +var codemirrorMimeType$9 = "text/jsx"; +var languageId$d = 94901924; +var require$$2$2 = { + name: name$d, + type: type$d, + group: group$b, + extensions: extensions$d, + tmScope: tmScope$d, + aceMode: aceMode$d, + codemirrorMode: codemirrorMode$9, + codemirrorMimeType: codemirrorMimeType$9, + languageId: languageId$d }; -var TSX$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$5, - type: type$3, - group: group$9, - extensions: extensions$3, - tmScope: tmScope$3, - aceMode: aceMode$3, - codemirrorMode: codemirrorMode$3, - codemirrorMimeType: codemirrorMimeType$3, - languageId: languageId$3, - 'default': TSX -}); - -var name$6 = "JSON"; -var type$4 = "data"; -var tmScope$4 = "source.json"; -var aceMode$4 = "json"; -var codemirrorMode$4 = "javascript"; -var codemirrorMimeType$4 = "application/json"; -var searchable = false; -var extensions$4 = [ +var name$c = "JSON"; +var type$c = "data"; +var tmScope$c = "source.json"; +var aceMode$c = "json"; +var codemirrorMode$8 = "javascript"; +var codemirrorMimeType$8 = "application/json"; +var extensions$c = [ ".json", ".avsc", ".geojson", @@ -45975,55 +49571,41 @@ var extensions$4 = [ ".yy", ".yyp" ]; -var filenames$1 = [ +var filenames$3 = [ ".arcconfig", ".htmlhintrc", + ".imgbotconfig", ".tern-config", ".tern-project", ".watchmanconfig", + "Pipfile.lock", "composer.lock", "mcmod.info" ]; -var languageId$4 = 174; -var _JSON = { - name: name$6, - type: type$4, - tmScope: tmScope$4, - aceMode: aceMode$4, - codemirrorMode: codemirrorMode$4, - codemirrorMimeType: codemirrorMimeType$4, - searchable: searchable, - extensions: extensions$4, - filenames: filenames$1, - languageId: languageId$4 +var languageId$c = 174; +var require$$3$1 = { + name: name$c, + type: type$c, + tmScope: tmScope$c, + aceMode: aceMode$c, + codemirrorMode: codemirrorMode$8, + codemirrorMimeType: codemirrorMimeType$8, + extensions: extensions$c, + filenames: filenames$3, + languageId: languageId$c }; -var _JSON$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$6, - type: type$4, - tmScope: tmScope$4, - aceMode: aceMode$4, - codemirrorMode: codemirrorMode$4, - codemirrorMimeType: codemirrorMimeType$4, - searchable: searchable, - extensions: extensions$4, - filenames: filenames$1, - languageId: languageId$4, - 'default': _JSON -}); - -var name$7 = "JSON with Comments"; -var type$5 = "data"; +var name$b = "JSON with Comments"; +var type$b = "data"; var group$a = "JSON"; -var tmScope$5 = "source.js"; -var aceMode$5 = "javascript"; -var codemirrorMode$5 = "javascript"; -var codemirrorMimeType$5 = "text/javascript"; -var aliases$2 = [ +var tmScope$b = "source.js"; +var aceMode$b = "javascript"; +var codemirrorMode$7 = "javascript"; +var codemirrorMimeType$7 = "text/javascript"; +var aliases$4 = [ "jsonc" ]; -var extensions$5 = [ +var extensions$b = [ ".jsonc", ".sublime-build", ".sublime-commands", @@ -46045,115 +49627,88 @@ var filenames$2 = [ ".jscsrc", ".jshintrc", ".jslintrc", + "api-extractor.json", + "devcontainer.json", "jsconfig.json", "language-configuration.json", - "tsconfig.json" + "tsconfig.json", + "tslint.json" ]; -var languageId$5 = 423; -var JSON_with_Comments = { - name: name$7, - type: type$5, +var languageId$b = 423; +var require$$4 = { + name: name$b, + type: type$b, group: group$a, - tmScope: tmScope$5, - aceMode: aceMode$5, - codemirrorMode: codemirrorMode$5, - codemirrorMimeType: codemirrorMimeType$5, - aliases: aliases$2, - extensions: extensions$5, + tmScope: tmScope$b, + aceMode: aceMode$b, + codemirrorMode: codemirrorMode$7, + codemirrorMimeType: codemirrorMimeType$7, + aliases: aliases$4, + extensions: extensions$b, filenames: filenames$2, - languageId: languageId$5 + languageId: languageId$b }; -var JSON_with_Comments$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$7, - type: type$5, - group: group$a, - tmScope: tmScope$5, - aceMode: aceMode$5, - codemirrorMode: codemirrorMode$5, - codemirrorMimeType: codemirrorMimeType$5, - aliases: aliases$2, - extensions: extensions$5, - filenames: filenames$2, - languageId: languageId$5, - 'default': JSON_with_Comments -}); - -var name$8 = "JSON5"; -var type$6 = "data"; -var extensions$6 = [ +var name$a = "JSON5"; +var type$a = "data"; +var extensions$a = [ ".json5" ]; -var tmScope$6 = "source.js"; -var aceMode$6 = "javascript"; +var tmScope$a = "source.js"; +var aceMode$a = "javascript"; var codemirrorMode$6 = "javascript"; var codemirrorMimeType$6 = "application/json"; -var languageId$6 = 175; -var JSON5$1 = { - name: name$8, - type: type$6, - extensions: extensions$6, - tmScope: tmScope$6, - aceMode: aceMode$6, +var languageId$a = 175; +var require$$5 = { + name: name$a, + type: type$a, + extensions: extensions$a, + tmScope: tmScope$a, + aceMode: aceMode$a, codemirrorMode: codemirrorMode$6, codemirrorMimeType: codemirrorMimeType$6, - languageId: languageId$6 + languageId: languageId$a }; -var JSON5$2 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$8, - type: type$6, - extensions: extensions$6, - tmScope: tmScope$6, - aceMode: aceMode$6, - codemirrorMode: codemirrorMode$6, - codemirrorMimeType: codemirrorMimeType$6, - languageId: languageId$6, - 'default': JSON5$1 -}); - -var require$$0$2 = getCjsExportFromNamespace(JavaScript$1); - -var require$$1 = getCjsExportFromNamespace(JSX$1); - -var require$$2 = getCjsExportFromNamespace(TypeScript$1); - -var require$$3 = getCjsExportFromNamespace(TSX$1); - -var require$$4$1 = getCjsExportFromNamespace(_JSON$1); - -var require$$5 = getCjsExportFromNamespace(JSON_with_Comments$1); - -var require$$6 = getCjsExportFromNamespace(JSON5$2); - -const languages = [createLanguage(require$$0$2, data => ({ +const languages$7 = [createLanguage(require$$0$6, data => ({ since: "0.0.0", - parsers: ["babel", "flow"], + parsers: ["babel", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], vscodeLanguageIds: ["javascript", "mongo"], - interpreters: data.interpreters.concat(["nodejs"]) -})), createLanguage(require$$0$2, () => ({ + extensions: [...data.extensions.filter(extension => extension !== ".jsx"), // WeiXin Script (Weixin Mini Programs) + // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ + ".wxs"] +})), createLanguage(require$$0$6, () => ({ name: "Flow", since: "0.0.0", - parsers: ["babel", "flow"], + parsers: ["flow", "babel-flow"], vscodeLanguageIds: ["javascript"], aliases: [], filenames: [], extensions: [".js.flow"] -})), createLanguage(require$$1, () => ({ +})), createLanguage(require$$0$6, () => ({ + name: "JSX", since: "0.0.0", - parsers: ["babel", "flow"], - vscodeLanguageIds: ["javascriptreact"] -})), createLanguage(require$$2, () => ({ + parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], + vscodeLanguageIds: ["javascriptreact"], + aliases: undefined, + filenames: undefined, + extensions: [".jsx"], + group: "JavaScript", + interpreters: undefined, + tmScope: "source.js.jsx", + aceMode: "javascript", + codemirrorMode: "jsx", + codemirrorMimeType: "text/jsx", + color: undefined +})), createLanguage(require$$1$3, () => ({ since: "1.4.0", parsers: ["typescript", "babel-ts"], vscodeLanguageIds: ["typescript"] -})), createLanguage(require$$3, () => ({ +})), createLanguage(require$$2$2, () => ({ since: "1.4.0", parsers: ["typescript", "babel-ts"], vscodeLanguageIds: ["typescriptreact"] -})), createLanguage(require$$4$1, () => ({ +})), createLanguage(require$$3$1, () => ({ name: "JSON.stringify", since: "1.13.0", parsers: ["json-stringify"], @@ -46161,26 +49716,26 @@ const languages = [createLanguage(require$$0$2, data => ({ extensions: [], // .json file defaults to json instead of json-stringify filenames: ["package.json", "package-lock.json", "composer.json"] -})), createLanguage(require$$4$1, data => ({ +})), createLanguage(require$$3$1, data => ({ since: "1.5.0", parsers: ["json"], vscodeLanguageIds: ["json"], - filenames: data.filenames.concat([".prettierrc"]) -})), createLanguage(require$$5, data => ({ + extensions: data.extensions.filter(extension => extension !== ".jsonl") +})), createLanguage(require$$4, data => ({ since: "1.5.0", parsers: ["json"], vscodeLanguageIds: ["jsonc"], - filenames: data.filenames.concat([".eslintrc"]) -})), createLanguage(require$$6, () => ({ + filenames: [...data.filenames, ".eslintrc"] +})), createLanguage(require$$5, () => ({ since: "1.13.0", parsers: ["json5"], vscodeLanguageIds: ["json5"] }))]; -const printers = { +const printers$5 = { estree: printerEstree, "estree-json": printerEstreeJson }; -const parsers = { +const parsers$6 = { // JS - Babel get babel() { return require("./parser-babel").parsers.babel; @@ -46246,34 +49801,46 @@ const parsers = { // JS - Angular Directive get __ng_directive() { return require("./parser-angular").parsers.__ng_directive; + }, + + // JS - espree + get espree() { + return require("./parser-espree").parsers.espree; + }, + + // JS - meriyah + get meriyah() { + return require("./parser-meriyah").parsers.meriyah; + }, + + // JS - Babel Estree + get __babel_estree() { + return require("./parser-babel").parsers.__babel_estree; } }; var languageJs = { - languages, - options: options$2, - printers, - parsers + languages: languages$7, + options: options$5, + printers: printers$5, + parsers: parsers$6 }; const { - isFrontMatterNode: isFrontMatterNode$1 -} = util; + isFrontMatterNode: isFrontMatterNode$4 +} = util$5; +const ignoredProperties$2 = new Set(["raw", // front-matter +"raws", "sourceIndex", "source", "before", "after", "trailingComma"]); -function clean$2(ast, newObj, parent) { - ["raw", // front-matter - "raws", "sourceIndex", "source", "before", "after", "trailingComma"].forEach(name => { - delete newObj[name]; - }); - - if (isFrontMatterNode$1(ast) && ast.lang === "yaml") { +function clean$5(ast, newObj, parent) { + if (isFrontMatterNode$4(ast) && ast.lang === "yaml") { delete newObj.value; } - if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length !== 0) { + if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length > 0) { // --insert-pragma // first non-front-matter comment - if (parent.nodes[0] === ast || isFrontMatterNode$1(parent.nodes[0]) && parent.nodes[1] === ast) { + if (parent.nodes[0] === ast || isFrontMatterNode$4(parent.nodes[0]) && parent.nodes[1] === ast) { /** * something * @@ -46287,7 +49854,7 @@ function clean$2(ast, newObj, parent) { } // Last comment is not parsed, when omitting semicolon, #8675 - if (parent.type === "css-root" && getLast(parent.nodes) === ast) { + if (parent.type === "css-root" && getLast_1(parent.nodes) === ast) { return null; } } @@ -46354,7 +49921,7 @@ function clean$2(ast, newObj, parent) { if ((ast.type === "media-value" || ast.type === "media-type" || ast.type === "value-number" || ast.type === "selector-root-invalid" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "selector-tag") && newObj.value) { newObj.value = newObj.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g, (match, numStr, unit) => { const num = Number(numStr); - return isNaN(num) ? match : num + unit.toLowerCase(); + return Number.isNaN(num) ? match : num + unit.toLowerCase(); }); } @@ -46377,53 +49944,20 @@ function clean$2(ast, newObj, parent) { } } +clean$5.ignoredProperties = ignoredProperties$2; + function cleanCSSStrings(value) { return value.replace(/'/g, '"').replace(/\\([^\dA-Fa-f])/g, "$1"); } -var clean_1$1 = clean$2; +var clean_1$3 = clean$5; const { builders: { - hardline: hardline$8, - concat: concat$d, - markAsRoot: markAsRoot$1 + hardline: hardline$b, + markAsRoot: markAsRoot$3 } -} = document; -const DELIMITER_MAP = { - "---": "yaml", - "+++": "toml" -}; - -function parse$7(text) { - const delimiterRegex = Object.keys(DELIMITER_MAP).map(escapeStringRegexp).join("|"); - const match = text.match( // trailing spaces after delimiters are allowed - new RegExp(`^(${delimiterRegex})([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)`)); - - if (match === null) { - return { - frontMatter: null, - content: text - }; - } - - const [raw, delimiter, language, value] = match; - let lang = DELIMITER_MAP[delimiter]; - - if (lang !== "toml" && language && language.trim()) { - lang = language.trim(); - } - - return { - frontMatter: { - type: "front-matter", - lang, - value, - raw: raw.replace(/\n$/, "") - }, - content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) - }; -} +} = doc; function print$1(node, textToDoc) { if (node.lang === "yaml") { @@ -46433,63 +49967,106 @@ function print$1(node, textToDoc) { }, { stripTrailingHardline: true }) : ""; - return markAsRoot$1(concat$d(["---", hardline$8, doc, doc ? hardline$8 : "", "---"])); + return markAsRoot$3([node.startDelimiter, hardline$b, doc, doc ? hardline$b : "", node.endDelimiter]); } } -var frontMatter = { - parse: parse$7, - print: print$1 -}; +var print_1 = print$1; const { builders: { - hardline: hardline$9, - concat: concat$e + hardline: hardline$a } -} = document; -const { - print: printFrontMatter -} = frontMatter; +} = doc; -function embed$1(path, print, textToDoc +function embed$4(path, print, textToDoc /*, options */ ) { const node = path.getValue(); if (node.type === "front-matter") { - const doc = printFrontMatter(node, textToDoc); - return doc ? concat$e([doc, hardline$9]) : ""; + const doc = print_1(node, textToDoc); + return doc ? [doc, hardline$a] : ""; } } -var embed_1$1 = embed$1; +var embed_1$2 = embed$4; -const { - parse: parseFrontMatter -} = frontMatter; +const frontMatterRegex = new RegExp("^(?-{3}|\\+{3})" + // trailing spaces after delimiters are allowed +"(?[^\\n]*)" + "\\n(?:|(?.*?)\\n)" + // In some markdown processors such as pandoc, +// "..." can be used as the end delimiter for YAML front-matter. +// Adding `\.{3}` make the regex matches `+++\n...`, but we'll exclude it later +"(?\\k|\\.{3})" + "[^\\S\\n]*(?:\\n|$)", "s"); -function hasPragma$1(text) { - return pragma.hasPragma(parseFrontMatter(text).content); +function parse(text) { + const match = text.match(frontMatterRegex); + + if (!match) { + return { + content: text + }; + } + + const { + startDelimiter, + language, + value = "", + endDelimiter + } = match.groups; + let lang = language.trim() || "yaml"; + + if (startDelimiter === "+++") { + lang = "toml"; + } // Only allow yaml to parse with a different end delimiter + + + if (lang !== "yaml" && startDelimiter !== endDelimiter) { + return { + content: text + }; + } + + const [raw] = match; + const frontMatter = { + type: "front-matter", + lang, + value, + startDelimiter, + endDelimiter, + raw: raw.replace(/\n$/, "") + }; + return { + frontMatter, + content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) + }; } -function insertPragma$2(text) { +var parse_1 = parse; + +function hasPragma$3(text) { + return pragma$5.hasPragma(parse_1(text).content); +} + +function insertPragma$8(text) { const { frontMatter, content - } = parseFrontMatter(text); - return (frontMatter ? frontMatter.raw + "\n\n" : "") + pragma.insertPragma(content); + } = parse_1(text); + return (frontMatter ? frontMatter.raw + "\n\n" : "") + pragma$5.insertPragma(content); } -var pragma$1 = { - hasPragma: hasPragma$1, - insertPragma: insertPragma$2 +var pragma$4 = { + hasPragma: hasPragma$3, + insertPragma: insertPragma$8 }; +const { + isNonEmptyArray: isNonEmptyArray$6 +} = util$5; const colorAdjusterFunctions = new Set(["red", "green", "blue", "alpha", "a", "rgb", "hue", "h", "saturation", "s", "lightness", "l", "whiteness", "w", "blackness", "b", "tint", "shade", "blend", "blenda", "contrast", "hsl", "hsla", "hwb", "hwba"]); -function getAncestorCounter(path, typeOrTypes) { - const types = [].concat(typeOrTypes); +function getAncestorCounter$1(path, typeOrTypes) { + const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; let counter = -1; let ancestorNode; @@ -46502,18 +50079,18 @@ function getAncestorCounter(path, typeOrTypes) { return -1; } -function getAncestorNode(path, typeOrTypes) { - const counter = getAncestorCounter(path, typeOrTypes); +function getAncestorNode$2(path, typeOrTypes) { + const counter = getAncestorCounter$1(path, typeOrTypes); return counter === -1 ? null : path.getParentNode(counter); } -function getPropOfDeclNode(path) { - const declAncestorNode = getAncestorNode(path, "css-decl"); +function getPropOfDeclNode$1(path) { + const declAncestorNode = getAncestorNode$2(path, "css-decl"); return declAncestorNode && declAncestorNode.prop && declAncestorNode.prop.toLowerCase(); } function hasSCSSInterpolation(groupList) { - if (groupList && groupList.length) { + if (isNonEmptyArray$6(groupList)) { for (let i = groupList.length - 1; i > 0; i--) { // If we find `#{`, return true. if (groupList[i].type === "word" && groupList[i].value === "{" && groupList[i - 1].type === "word" && groupList[i - 1].value.endsWith("#")) { @@ -46526,7 +50103,7 @@ function hasSCSSInterpolation(groupList) { } function hasStringOrFunction(groupList) { - if (groupList && groupList.length) { + if (isNonEmptyArray$6(groupList)) { for (let i = 0; i < groupList.length; i++) { if (groupList[i].type === "string" || groupList[i].type === "func") { return true; @@ -46537,56 +50114,56 @@ function hasStringOrFunction(groupList) { return false; } -function isSCSS(parser, text) { +function isSCSS$1(parser, text) { const hasExplicitParserChoice = parser === "less" || parser === "scss"; const IS_POSSIBLY_SCSS = /(\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; return hasExplicitParserChoice ? parser === "scss" : IS_POSSIBLY_SCSS.test(text); } function isSCSSVariable(node) { - return !!(node && node.type === "word" && node.value.startsWith("$")); + return Boolean(node && node.type === "word" && node.value.startsWith("$")); } -function isWideKeywords(value) { +function isWideKeywords$1(value) { return ["initial", "inherit", "unset", "revert"].includes(value.toLowerCase()); } -function isKeyframeAtRuleKeywords(path, value) { - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); +function isKeyframeAtRuleKeywords$1(path, value) { + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); return atRuleAncestorNode && atRuleAncestorNode.name && atRuleAncestorNode.name.toLowerCase().endsWith("keyframes") && ["from", "to"].includes(value.toLowerCase()); } -function maybeToLowerCase(value) { +function maybeToLowerCase$1(value) { return value.includes("$") || value.includes("@") || value.includes("#") || value.startsWith("%") || value.startsWith("--") || value.startsWith(":--") || value.includes("(") && value.includes(")") ? value : value.toLowerCase(); } -function insideValueFunctionNode(path, functionName) { - const funcAncestorNode = getAncestorNode(path, "value-func"); +function insideValueFunctionNode$1(path, functionName) { + const funcAncestorNode = getAncestorNode$2(path, "value-func"); return funcAncestorNode && funcAncestorNode.value && funcAncestorNode.value.toLowerCase() === functionName; } -function insideICSSRuleNode(path) { - const ruleAncestorNode = getAncestorNode(path, "css-rule"); +function insideICSSRuleNode$1(path) { + const ruleAncestorNode = getAncestorNode$2(path, "css-rule"); return ruleAncestorNode && ruleAncestorNode.raws && ruleAncestorNode.raws.selector && (ruleAncestorNode.raws.selector.startsWith(":import") || ruleAncestorNode.raws.selector.startsWith(":export")); } -function insideAtRuleNode(path, atRuleNameOrAtRuleNames) { - const atRuleNames = [].concat(atRuleNameOrAtRuleNames); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); +function insideAtRuleNode$1(path, atRuleNameOrAtRuleNames) { + const atRuleNames = Array.isArray(atRuleNameOrAtRuleNames) ? atRuleNameOrAtRuleNames : [atRuleNameOrAtRuleNames]; + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); return atRuleAncestorNode && atRuleNames.includes(atRuleAncestorNode.name.toLowerCase()); } -function insideURLFunctionInImportAtRuleNode(path) { +function insideURLFunctionInImportAtRuleNode$1(path) { const node = path.getValue(); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); + const atRuleAncestorNode = getAncestorNode$2(path, "css-atrule"); return atRuleAncestorNode && atRuleAncestorNode.name === "import" && node.groups[0].value === "url" && node.groups.length === 2; } -function isURLFunctionNode(node) { +function isURLFunctionNode$1(node) { return node.type === "value-func" && node.value.toLowerCase() === "url"; } -function isLastNode(path, node) { +function isLastNode$1(path, node) { const parentNode = path.getParentNode(); /* istanbul ignore next */ @@ -46600,7 +50177,7 @@ function isLastNode(path, node) { return nodes && nodes.indexOf(node) === nodes.length - 1; } -function isDetachedRulesetDeclarationNode(node) { +function isDetachedRulesetDeclarationNode$1(node) { // If a Less file ends up being parsed with the SCSS parser, Less // variable declarations will be parsed as atrules with names ending // with a colon, so keep the original case then. @@ -46613,31 +50190,31 @@ function isDetachedRulesetDeclarationNode(node) { return typeof node.selector === "string" && /^@.+:.*$/.test(node.selector) || node.selector.value && /^@.+:.*$/.test(node.selector.value); } -function isForKeywordNode(node) { +function isForKeywordNode$1(node) { return node.type === "value-word" && ["from", "through", "end"].includes(node.value); } -function isIfElseKeywordNode(node) { +function isIfElseKeywordNode$1(node) { return node.type === "value-word" && ["and", "or", "not"].includes(node.value); } -function isEachKeywordNode(node) { +function isEachKeywordNode$1(node) { return node.type === "value-word" && node.value === "in"; } -function isMultiplicationNode(node) { +function isMultiplicationNode$1(node) { return node.type === "value-operator" && node.value === "*"; } -function isDivisionNode(node) { +function isDivisionNode$1(node) { return node.type === "value-operator" && node.value === "/"; } -function isAdditionNode(node) { +function isAdditionNode$1(node) { return node.type === "value-operator" && node.value === "+"; } -function isSubtractionNode(node) { +function isSubtractionNode$1(node) { return node.type === "value-operator" && node.value === "-"; } @@ -46645,19 +50222,19 @@ function isModuloNode(node) { return node.type === "value-operator" && node.value === "%"; } -function isMathOperatorNode(node) { - return isMultiplicationNode(node) || isDivisionNode(node) || isAdditionNode(node) || isSubtractionNode(node) || isModuloNode(node); +function isMathOperatorNode$1(node) { + return isMultiplicationNode$1(node) || isDivisionNode$1(node) || isAdditionNode$1(node) || isSubtractionNode$1(node) || isModuloNode(node); } -function isEqualityOperatorNode(node) { +function isEqualityOperatorNode$1(node) { return node.type === "value-word" && ["==", "!="].includes(node.value); } -function isRelationalOperatorNode(node) { +function isRelationalOperatorNode$1(node) { return node.type === "value-word" && ["<", ">", "<=", ">="].includes(node.value); } -function isSCSSControlDirectiveNode(node) { +function isSCSSControlDirectiveNode$1(node) { return node.type === "css-atrule" && ["if", "else", "for", "each", "while"].includes(node.name); } @@ -46670,43 +50247,43 @@ function isSCSSNestedPropertyNode(node) { return node.selector.replace(/\/\*.*?\*\//, "").replace(/\/\/.*?\n/, "").trim().endsWith(":"); } -function isDetachedRulesetCallNode(node) { +function isDetachedRulesetCallNode$1(node) { return node.raws && node.raws.params && /^\(\s*\)$/.test(node.raws.params); } -function isTemplatePlaceholderNode(node) { +function isTemplatePlaceholderNode$1(node) { return node.name.startsWith("prettier-placeholder"); } -function isTemplatePropNode(node) { +function isTemplatePropNode$1(node) { return node.prop.startsWith("@prettier-placeholder"); } -function isPostcssSimpleVarNode(currentNode, nextNode) { +function isPostcssSimpleVarNode$1(currentNode, nextNode) { return currentNode.value === "$$" && currentNode.type === "value-func" && nextNode && nextNode.type === "value-word" && !nextNode.raws.before; } -function hasComposesNode(node) { +function hasComposesNode$1(node) { return node.value && node.value.type === "value-root" && node.value.group && node.value.group.type === "value-value" && node.prop.toLowerCase() === "composes"; } -function hasParensAroundNode(node) { +function hasParensAroundNode$1(node) { return node.value && node.value.group && node.value.group.group && node.value.group.group.type === "value-paren_group" && node.value.group.group.open !== null && node.value.group.group.close !== null; } -function hasEmptyRawBefore(node) { +function hasEmptyRawBefore$1(node) { return node.raws && node.raws.before === ""; } -function isKeyValuePairNode(node) { +function isKeyValuePairNode$1(node) { return node.type === "value-comma_group" && node.groups && node.groups[1] && node.groups[1].type === "value-colon"; } function isKeyValuePairInParenGroupNode(node) { - return node.type === "value-paren_group" && node.groups && node.groups[0] && isKeyValuePairNode(node.groups[0]); + return node.type === "value-paren_group" && node.groups && node.groups[0] && isKeyValuePairNode$1(node.groups[0]); } -function isSCSSMapItemNode(path) { +function isSCSSMapItemNode$1(path) { const node = path.getValue(); // Ignore empty item (i.e. `$key: ()`) if (node.groups.length === 0) { @@ -46719,7 +50296,7 @@ function isSCSSMapItemNode(path) { return false; } - const declNode = getAncestorNode(path, "css-decl"); // SCSS map declaration (i.e. `$map: (key: value, other-key: other-value)`) + const declNode = getAncestorNode$2(path, "css-decl"); // SCSS map declaration (i.e. `$map: (key: value, other-key: other-value)`) if (declNode && declNode.prop && declNode.prop.startsWith("$")) { return true; @@ -46738,35 +50315,52 @@ function isSCSSMapItemNode(path) { return false; } -function isInlineValueCommentNode(node) { +function isInlineValueCommentNode$1(node) { return node.type === "value-comment" && node.inline; } -function isHashNode(node) { +function isHashNode$1(node) { return node.type === "value-word" && node.value === "#"; } -function isLeftCurlyBraceNode(node) { +function isLeftCurlyBraceNode$1(node) { return node.type === "value-word" && node.value === "{"; } -function isRightCurlyBraceNode(node) { +function isRightCurlyBraceNode$1(node) { return node.type === "value-word" && node.value === "}"; } -function isWordNode(node) { +function isWordNode$1(node) { return ["value-word", "value-atword"].includes(node.type); } -function isColonNode(node) { - return node.type === "value-colon"; +function isColonNode$1(node) { + return node && node.type === "value-colon"; } -function isMediaAndSupportsKeywords(node) { +function isKeyInValuePairNode$1(node, parentNode) { + if (!isKeyValuePairNode$1(parentNode)) { + return false; + } + + const { + groups + } = parentNode; + const index = groups.indexOf(node); + + if (index === -1) { + return false; + } + + return isColonNode$1(groups[index + 1]); +} + +function isMediaAndSupportsKeywords$1(node) { return node.value && ["not", "and", "or"].includes(node.value.toLowerCase()); } -function isColorAdjusterFuncNode(node) { +function isColorAdjusterFuncNode$1(node) { if (node.type !== "value-func") { return false; } @@ -46775,20 +50369,18 @@ function isColorAdjusterFuncNode(node) { } // TODO: only check `less` when we don't use `less` to parse `css` -function isLessParser(options) { +function isLessParser$1(options) { return options.parser === "css" || options.parser === "less"; } -function lastLineHasInlineComment(text) { +function lastLineHasInlineComment$1(text) { return /\/\//.test(text.split(/[\n\r]/).pop()); } function stringifyNode(node) { if (node.groups) { const open = node.open && node.open.value ? node.open.value : ""; - const groups = node.groups.reduce((previousValue, currentValue, index) => { - return previousValue + stringifyNode(currentValue) + (node.groups[0].type === "comma_group" && index !== node.groups.length - 1 ? "," : ""); - }, ""); + const groups = node.groups.reduce((previousValue, currentValue, index) => previousValue + stringifyNode(currentValue) + (node.groups[0].type === "comma_group" && index !== node.groups.length - 1 ? "," : ""), ""); const close = node.close && node.close.value ? node.close.value : ""; return open + groups + close; } @@ -46803,92 +50395,16 @@ function stringifyNode(node) { return before + quote + atword + value + quote + unit + group + after; } -var utils$7 = { - getAncestorCounter, - getAncestorNode, - getPropOfDeclNode, +function isAtWordPlaceholderNode$1(node) { + return node && node.type === "value-atword" && node.value.startsWith("prettier-placeholder-"); +} + +var utils$4 = { + getAncestorCounter: getAncestorCounter$1, + getAncestorNode: getAncestorNode$2, + getPropOfDeclNode: getPropOfDeclNode$1, hasSCSSInterpolation, hasStringOrFunction, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isSCSS, - isSCSSVariable, - isLastNode, - isLessParser, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isModuloNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, - hasComposesNode, - hasParensAroundNode, - hasEmptyRawBefore, - isSCSSNestedPropertyNode, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isPostcssSimpleVarNode, - isKeyValuePairNode, - isKeyValuePairInParenGroupNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - stringifyNode -}; - -const { - printNumber: printNumber$2, - printString: printString$2, - hasIgnoreComment: hasIgnoreComment$3, - hasNewline: hasNewline$6, - isFrontMatterNode: isFrontMatterNode$2, - isNextLineEmpty: isNextLineEmpty$5 -} = util; -const { - builders: { - concat: concat$f, - join: join$8, - line: line$9, - hardline: hardline$a, - softline: softline$7, - group: group$b, - fill: fill$4, - indent: indent$a, - dedent: dedent$2, - ifBreak: ifBreak$5, - breakParent: breakParent$5 - }, - utils: { - removeLines: removeLines$2 - } -} = document; -const { - insertPragma: insertPragma$3 -} = pragma$1; -const { - getAncestorNode: getAncestorNode$1, - getPropOfDeclNode: getPropOfDeclNode$1, maybeToLowerCase: maybeToLowerCase$1, insideValueFunctionNode: insideValueFunctionNode$1, insideICSSRuleNode: insideICSSRuleNode$1, @@ -46897,6 +50413,7 @@ const { isKeyframeAtRuleKeywords: isKeyframeAtRuleKeywords$1, isWideKeywords: isWideKeywords$1, isSCSS: isSCSS$1, + isSCSSVariable, isLastNode: isLastNode$1, isLessParser: isLessParser$1, isSCSSControlDirectiveNode: isSCSSControlDirectiveNode$1, @@ -46907,6 +50424,7 @@ const { isDivisionNode: isDivisionNode$1, isAdditionNode: isAdditionNode$1, isSubtractionNode: isSubtractionNode$1, + isModuloNode, isMathOperatorNode: isMathOperatorNode$1, isEachKeywordNode: isEachKeywordNode$1, isForKeywordNode: isForKeywordNode$1, @@ -46915,11 +50433,14 @@ const { hasComposesNode: hasComposesNode$1, hasParensAroundNode: hasParensAroundNode$1, hasEmptyRawBefore: hasEmptyRawBefore$1, - isKeyValuePairNode: isKeyValuePairNode$1, + isSCSSNestedPropertyNode, isDetachedRulesetCallNode: isDetachedRulesetCallNode$1, isTemplatePlaceholderNode: isTemplatePlaceholderNode$1, isTemplatePropNode: isTemplatePropNode$1, isPostcssSimpleVarNode: isPostcssSimpleVarNode$1, + isKeyValuePairNode: isKeyValuePairNode$1, + isKeyValuePairInParenGroupNode, + isKeyInValuePairNode: isKeyInValuePairNode$1, isSCSSMapItemNode: isSCSSMapItemNode$1, isInlineValueCommentNode: isInlineValueCommentNode$1, isHashNode: isHashNode$1, @@ -46929,14 +50450,345 @@ const { isColonNode: isColonNode$1, isMediaAndSupportsKeywords: isMediaAndSupportsKeywords$1, isColorAdjusterFuncNode: isColorAdjusterFuncNode$1, - lastLineHasInlineComment: lastLineHasInlineComment$1 -} = utils$7; + lastLineHasInlineComment: lastLineHasInlineComment$1, + stringifyNode, + isAtWordPlaceholderNode: isAtWordPlaceholderNode$1 +}; -function shouldPrintComma$4(options) { +var lineColumnToIndex = function (lineColumn, text) { + let index = 0; + + for (let i = 0; i < lineColumn.line - 1; ++i) { + index = text.indexOf("\n", index) + 1; + } + + return index + lineColumn.column; +}; + +const { + getLast: getLast$4, + skipEverythingButNewLine +} = util$5; + +function calculateLocStart(node, text) { + // value-* nodes have this + if (typeof node.sourceIndex === "number") { + return node.sourceIndex; + } + + return node.source ? lineColumnToIndex(node.source.start, text) - 1 : null; +} + +function calculateLocEnd(node, text) { + if (node.type === "css-comment" && node.inline) { + return skipEverythingButNewLine(text, node.source.startOffset); + } + + const endNode = node.nodes && getLast$4(node.nodes); + + if (endNode && node.source && !node.source.end) { + node = endNode; + } + + if (node.source && node.source.end) { + return lineColumnToIndex(node.source.end, text); + } + + return null; +} + +function calculateLoc(node, text) { + if (node.source) { + node.source.startOffset = calculateLocStart(node, text); + node.source.endOffset = calculateLocEnd(node, text); + } + + for (const key in node) { + const child = node[key]; + + if (key === "source" || !child || typeof child !== "object") { + continue; + } + + if (child.type === "value-root" || child.type === "value-unknown") { + calculateValueNodeLoc(child, getValueRootOffset(node), child.text || child.value); + } else { + calculateLoc(child, text); + } + } +} + +function calculateValueNodeLoc(node, rootOffset, text) { + if (node.source) { + node.source.startOffset = calculateLocStart(node, text) + rootOffset; + node.source.endOffset = calculateLocEnd(node, text) + rootOffset; + } + + for (const key in node) { + const child = node[key]; + + if (key === "source" || !child || typeof child !== "object") { + continue; + } + + calculateValueNodeLoc(child, rootOffset, text); + } +} + +function getValueRootOffset(node) { + let result = node.source.startOffset; + + if (typeof node.prop === "string") { + result += node.prop.length; + } + + if (node.type === "css-atrule" && typeof node.name === "string") { + result += 1 + node.name.length + node.raws.afterName.match(/^\s*:?\s*/)[0].length; + } + + if (node.type !== "css-atrule" && node.raws && typeof node.raws.between === "string") { + result += node.raws.between.length; + } + + return result; +} +/** + * Workaround for a bug: quotes and asterisks in inline comments corrupt loc data of subsequent nodes. + * This function replaces the quotes and asterisks with spaces. Later, when the comments are printed, + * their content is extracted from the original text. + * - https://github.com/prettier/prettier/issues/7780 + * - https://github.com/shellscape/postcss-less/issues/145 + * - https://github.com/prettier/prettier/issues/8130 + * @param text {string} + */ + + +function replaceQuotesInInlineComments(text) { + /** @typedef { 'initial' | 'single-quotes' | 'double-quotes' | 'url' | 'comment-block' | 'comment-inline' } State */ + + /** @type {State} */ + let state = "initial"; + /** @type {State} */ + + let stateToReturnFromQuotes = "initial"; + let inlineCommentStartIndex; + let inlineCommentContainsQuotes = false; + const inlineCommentsToReplace = []; + + for (let i = 0; i < text.length; i++) { + const c = text[i]; + + switch (state) { + case "initial": + if (c === "'") { + state = "single-quotes"; + continue; + } + + if (c === '"') { + state = "double-quotes"; + continue; + } + + if ((c === "u" || c === "U") && text.slice(i, i + 4).toLowerCase() === "url(") { + state = "url"; + i += 3; + continue; + } + + if (c === "*" && text[i - 1] === "/") { + state = "comment-block"; + continue; + } + + if (c === "/" && text[i - 1] === "/") { + state = "comment-inline"; + inlineCommentStartIndex = i - 1; + continue; + } + + continue; + + case "single-quotes": + if (c === "'" && text[i - 1] !== "\\") { + state = stateToReturnFromQuotes; + stateToReturnFromQuotes = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + continue; + + case "double-quotes": + if (c === '"' && text[i - 1] !== "\\") { + state = stateToReturnFromQuotes; + stateToReturnFromQuotes = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + continue; + + case "url": + if (c === ")") { + state = "initial"; + } + + if (c === "\n" || c === "\r") { + return text; // invalid input + } + + if (c === "'") { + state = "single-quotes"; + stateToReturnFromQuotes = "url"; + continue; + } + + if (c === '"') { + state = "double-quotes"; + stateToReturnFromQuotes = "url"; + continue; + } + + continue; + + case "comment-block": + if (c === "/" && text[i - 1] === "*") { + state = "initial"; + } + + continue; + + case "comment-inline": + if (c === '"' || c === "'" || c === "*") { + inlineCommentContainsQuotes = true; + } + + if (c === "\n" || c === "\r") { + if (inlineCommentContainsQuotes) { + inlineCommentsToReplace.push([inlineCommentStartIndex, i]); + } + + state = "initial"; + inlineCommentContainsQuotes = false; + } + + continue; + } + } + + for (const [start, end] of inlineCommentsToReplace) { + text = text.slice(0, start) + text.slice(start, end).replace(/["'*]/g, " ") + text.slice(end); + } + + return text; +} + +function locStart$c(node) { + return node.source.startOffset; +} + +function locEnd$b(node) { + return node.source.endOffset; +} + +var loc$5 = { + locStart: locStart$c, + locEnd: locEnd$b, + calculateLoc, + replaceQuotesInInlineComments +}; + +const { + printNumber, + printString, + hasNewline, + isFrontMatterNode: isFrontMatterNode$3, + isNextLineEmpty: isNextLineEmpty$3, + isNonEmptyArray: isNonEmptyArray$5 +} = util$5; +const { + builders: { + join: join$9, + line: line$9, + hardline: hardline$9, + softline: softline$7, + group: group$9, + fill: fill$5, + indent: indent$5, + dedent: dedent$2, + ifBreak: ifBreak$7, + breakParent: breakParent$3 + }, + utils: { + removeLines, + getDocParts: getDocParts$4 + } +} = doc; +const { + insertPragma: insertPragma$7 +} = pragma$4; +const { + getAncestorNode: getAncestorNode$1, + getPropOfDeclNode, + maybeToLowerCase, + insideValueFunctionNode, + insideICSSRuleNode, + insideAtRuleNode, + insideURLFunctionInImportAtRuleNode, + isKeyframeAtRuleKeywords, + isWideKeywords, + isSCSS, + isLastNode, + isLessParser, + isSCSSControlDirectiveNode, + isDetachedRulesetDeclarationNode, + isRelationalOperatorNode, + isEqualityOperatorNode, + isMultiplicationNode, + isDivisionNode, + isAdditionNode, + isSubtractionNode, + isMathOperatorNode, + isEachKeywordNode, + isForKeywordNode, + isURLFunctionNode, + isIfElseKeywordNode, + hasComposesNode, + hasParensAroundNode, + hasEmptyRawBefore, + isKeyValuePairNode, + isKeyInValuePairNode, + isDetachedRulesetCallNode, + isTemplatePlaceholderNode, + isTemplatePropNode, + isPostcssSimpleVarNode, + isSCSSMapItemNode, + isInlineValueCommentNode, + isHashNode, + isLeftCurlyBraceNode, + isRightCurlyBraceNode, + isWordNode, + isColonNode, + isMediaAndSupportsKeywords, + isColorAdjusterFuncNode, + lastLineHasInlineComment, + isAtWordPlaceholderNode +} = utils$4; +const { + locStart: locStart$b, + locEnd: locEnd$a +} = loc$5; + +function shouldPrintComma(options) { return options.trailingComma === "es5" || options.trailingComma === "all"; } -function genericPrint$2(path, options, print) { +function genericPrint$4(path, options, print) { const node = path.getValue(); /* istanbul ignore if */ @@ -46950,25 +50802,25 @@ function genericPrint$2(path, options, print) { switch (node.type) { case "front-matter": - return concat$f([node.raw, hardline$a]); + return [node.raw, hardline$9]; case "css-root": { const nodes = printNodeSequence(path, options, print); const after = node.raws.after.trim(); - return concat$f([nodes, after ? ` ${after}` : "", nodes.parts.length && !options.__isHTMLStyleAttribute ? hardline$a : ""]); + return [nodes, after ? ` ${after}` : "", getDocParts$4(nodes).length > 0 ? hardline$9 : ""]; } case "css-comment": { const isInlineComment = node.inline || node.raws.inline; - const text = options.originalText.slice(options.locStart(node), options.locEnd(node)); + const text = options.originalText.slice(locStart$b(node), locEnd$a(node)); return isInlineComment ? text.trimEnd() : text; } case "css-rule": { - return concat$f([path.call(print, "selector"), node.important ? " !important" : "", node.nodes ? concat$f([node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment$1(node.selector.value) ? line$9 : " ", "{", node.nodes.length > 0 ? indent$a(concat$f([hardline$a, printNodeSequence(path, options, print)])) : "", hardline$a, "}", isDetachedRulesetDeclarationNode$1(node) ? ";" : ""]) : ";"]); + return [print("selector"), node.important ? " !important" : "", node.nodes ? [node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment(node.selector.value) ? line$9 : " ", "{", node.nodes.length > 0 ? indent$5([hardline$9, printNodeSequence(path, options, print)]) : "", hardline$9, "}", isDetachedRulesetDeclarationNode(node) ? ";" : ""] : ";"]; } case "css-decl": @@ -46979,38 +50831,38 @@ function genericPrint$2(path, options, print) { } = node.raws; const trimmedBetween = rawBetween.trim(); const isColon = trimmedBetween === ":"; - let value = hasComposesNode$1(node) ? removeLines$2(path.call(print, "value")) : path.call(print, "value"); + let value = hasComposesNode(node) ? removeLines(print("value")) : print("value"); - if (!isColon && lastLineHasInlineComment$1(trimmedBetween)) { - value = indent$a(concat$f([hardline$a, dedent$2(value)])); + if (!isColon && lastLineHasInlineComment(trimmedBetween)) { + value = indent$5([hardline$9, dedent$2(value)]); } - return concat$f([node.raws.before.replace(/[\s;]/g, ""), insideICSSRuleNode$1(path) ? node.prop : maybeToLowerCase$1(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser$1(options) && node.extend && node.selector ? concat$f(["extend(", path.call(print, "selector"), ")"]) : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? concat$f([" {", indent$a(concat$f([softline$7, printNodeSequence(path, options, print)])), softline$7, "}"]) : isTemplatePropNode$1(node) && !parentNode.raws.semicolon && options.originalText[options.locEnd(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode$1(path, node) ? ifBreak$5(";", "") : ";"]); + return [node.raws.before.replace(/[\s;]/g, ""), insideICSSRuleNode(path) ? node.prop : maybeToLowerCase(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser(options) && node.extend && node.selector ? ["extend(", print("selector"), ")"] : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? [" {", indent$5([softline$7, printNodeSequence(path, options, print)]), softline$7, "}"] : isTemplatePropNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd$a(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode(path, node) ? ifBreak$7(";") : ";"]; } case "css-atrule": { const parentNode = path.getParentNode(); - const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode$1(node) && !parentNode.raws.semicolon && options.originalText[options.locEnd(node) - 1] !== ";"; + const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode(node) && !parentNode.raws.semicolon && options.originalText[locEnd$a(node) - 1] !== ";"; - if (isLessParser$1(options)) { + if (isLessParser(options)) { if (node.mixin) { - return concat$f([path.call(print, "selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); + return [print("selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; } if (node.function) { - return concat$f([node.name, concat$f([path.call(print, "params")]), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); + return [node.name, print("params"), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; } if (node.variable) { - return concat$f(["@", node.name, ": ", node.value ? concat$f([path.call(print, "value")]) : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? concat$f(["{", indent$a(concat$f([node.nodes.length > 0 ? softline$7 : "", printNodeSequence(path, options, print)])), softline$7, "}"]) : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); + return ["@", node.name, ": ", node.value ? print("value") : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? ["{", indent$5([node.nodes.length > 0 ? softline$7 : "", printNodeSequence(path, options, print)]), softline$7, "}"] : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; } } - return concat$f(["@", // If a Less file ends up being parsed with the SCSS parser, Less + return ["@", // If a Less file ends up being parsed with the SCSS parser, Less // variable declarations will be parsed as at-rules with names ending // with a colon, so keep the original case then. - isDetachedRulesetCallNode$1(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase$1(node.name), node.params ? concat$f([isDetachedRulesetCallNode$1(node) ? "" : isTemplatePlaceholderNode$1(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? concat$f([hardline$a, hardline$a]) : /^\s*\n/.test(node.raws.afterName) ? hardline$a : " " : " ", path.call(print, "params")]) : "", node.selector ? indent$a(concat$f([" ", path.call(print, "selector")])) : "", node.value ? group$b(concat$f([" ", path.call(print, "value"), isSCSSControlDirectiveNode$1(node) ? hasParensAroundNode$1(node) ? " " : line$9 : ""])) : node.name === "else" ? " " : "", node.nodes ? concat$f([isSCSSControlDirectiveNode$1(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment$1(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment$1(node.params) ? line$9 : " ", "{", indent$a(concat$f([node.nodes.length > 0 ? softline$7 : "", printNodeSequence(path, options, print)])), softline$7, "}"]) : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); + isDetachedRulesetCallNode(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase(node.name), node.params ? [isDetachedRulesetCallNode(node) ? "" : isTemplatePlaceholderNode(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? [hardline$9, hardline$9] : /^\s*\n/.test(node.raws.afterName) ? hardline$9 : " " : " ", print("params")] : "", node.selector ? indent$5([" ", print("selector")]) : "", node.value ? group$9([" ", print("value"), isSCSSControlDirectiveNode(node) ? hasParensAroundNode(node) ? " " : line$9 : ""]) : node.name === "else" ? " " : "", node.nodes ? [isSCSSControlDirectiveNode(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment(node.params) ? line$9 : " ", "{", indent$5([node.nodes.length > 0 ? softline$7 : "", printNodeSequence(path, options, print)]), softline$7, "}"] : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]; } // postcss-media-query-parser @@ -47024,14 +50876,14 @@ function genericPrint$2(path, options, print) { return; } - parts.push(childPath.call(print)); + parts.push(print()); }, "nodes"); - return group$b(indent$a(join$8(line$9, parts))); + return group$9(indent$5(join$9(line$9, parts))); } case "media-query": { - return concat$f([join$8(" ", path.map(print, "nodes")), isLastNode$1(path, node) ? "" : ","]); + return [join$9(" ", path.map(print, "nodes")), isLastNode(path, node) ? "" : ","]; } case "media-type": @@ -47045,17 +50897,17 @@ function genericPrint$2(path, options, print) { return node.value; } - return concat$f(["(", concat$f(path.map(print, "nodes")), ")"]); + return ["(", ...path.map(print, "nodes"), ")"]; } case "media-feature": { - return maybeToLowerCase$1(adjustStrings(node.value.replace(/ +/g, " "), options)); + return maybeToLowerCase(adjustStrings(node.value.replace(/ +/g, " "), options)); } case "media-colon": { - return concat$f([node.value, " "]); + return [node.value, " "]; } case "media-value": @@ -47070,7 +50922,7 @@ function genericPrint$2(path, options, print) { case "media-url": { - return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/gi, ")"), options); + return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/g, ")"), options); } case "media-unknown": @@ -47081,12 +50933,12 @@ function genericPrint$2(path, options, print) { case "selector-root": { - return group$b(concat$f([insideAtRuleNode$1(path, "custom-selector") ? concat$f([getAncestorNode$1(path, "css-atrule").customSelector, line$9]) : "", join$8(concat$f([",", insideAtRuleNode$1(path, ["extend", "custom-selector", "nest"]) ? line$9 : hardline$a]), path.map(print, "nodes"))])); + return group$9([insideAtRuleNode(path, "custom-selector") ? [getAncestorNode$1(path, "css-atrule").customSelector, line$9] : "", join$9([",", insideAtRuleNode(path, ["extend", "custom-selector", "nest"]) ? line$9 : hardline$9], path.map(print, "nodes"))]); } case "selector-selector": { - return group$b(indent$a(concat$f(path.map(print, "nodes")))); + return group$9(indent$5(path.map(print, "nodes"))); } case "selector-comment": @@ -47104,22 +50956,22 @@ function genericPrint$2(path, options, print) { const parentNode = path.getParentNode(); const index = parentNode && parentNode.nodes.indexOf(node); const prevNode = index && parentNode.nodes[index - 1]; - return concat$f([node.namespace ? concat$f([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords$1(path, node.value) ? node.value.toLowerCase() : node.value)]); + return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords(path, node.value) ? node.value.toLowerCase() : node.value)]; } case "selector-id": { - return concat$f(["#", node.value]); + return ["#", node.value]; } case "selector-class": { - return concat$f([".", adjustNumbers(adjustStrings(node.value, options))]); + return [".", adjustNumbers(adjustStrings(node.value, options))]; } case "selector-attribute": { - return concat$f(["[", node.namespace ? concat$f([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.attribute.trim(), node.operator ? node.operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]); + return ["[", node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.attribute.trim(), node.operator ? node.operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]; } case "selector-combinator": @@ -47127,22 +50979,22 @@ function genericPrint$2(path, options, print) { if (node.value === "+" || node.value === ">" || node.value === "~" || node.value === ">>>") { const parentNode = path.getParentNode(); const leading = parentNode.type === "selector-selector" && parentNode.nodes[0] === node ? "" : line$9; - return concat$f([leading, node.value, isLastNode$1(path, node) ? "" : " "]); + return [leading, node.value, isLastNode(path, node) ? "" : " "]; } const leading = node.value.trim().startsWith("(") ? line$9 : ""; const value = adjustNumbers(adjustStrings(node.value.trim(), options)) || line$9; - return concat$f([leading, value]); + return [leading, value]; } case "selector-universal": { - return concat$f([node.namespace ? concat$f([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.value]); + return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.value]; } case "selector-pseudo": { - return concat$f([maybeToLowerCase$1(node.value), node.nodes && node.nodes.length > 0 ? concat$f(["(", join$8(", ", path.map(print, "nodes")), ")"]) : ""]); + return [maybeToLowerCase(node.value), isNonEmptyArray$5(node.nodes) ? ["(", join$9(", ", path.map(print, "nodes")), ")"] : ""]; } case "selector-nesting": @@ -47155,14 +51007,14 @@ function genericPrint$2(path, options, print) { const ruleAncestorNode = getAncestorNode$1(path, "css-rule"); // Nested SCSS property if (ruleAncestorNode && ruleAncestorNode.isSCSSNesterProperty) { - return adjustNumbers(adjustStrings(maybeToLowerCase$1(node.value), options)); + return adjustNumbers(adjustStrings(maybeToLowerCase(node.value), options)); } // originalText has to be used for Less, see replaceQuotesInInlineComments in loc.js const parentNode = path.getParentNode(); if (parentNode.raws && parentNode.raws.selector) { - const start = options.locStart(parentNode); + const start = locStart$b(parentNode); const end = start + parentNode.raws.selector.length; return options.originalText.slice(start, end).trim(); } // Same reason above @@ -47171,10 +51023,10 @@ function genericPrint$2(path, options, print) { const grandParent = path.getParentNode(1); if (parentNode.type === "value-paren_group" && grandParent && grandParent.type === "value-func" && grandParent.value === "selector") { - const start = options.locStart(parentNode.open) + 1; - const end = options.locEnd(parentNode.close) - 1; + const start = locStart$b(parentNode.open) + 1; + const end = locEnd$a(parentNode.close) - 1; const selector = options.originalText.slice(start, end).trim(); - return lastLineHasInlineComment$1(selector) ? concat$f([breakParent$5, selector]) : selector; + return lastLineHasInlineComment(selector) ? [breakParent$3, selector] : selector; } return node.value; @@ -47184,25 +51036,26 @@ function genericPrint$2(path, options, print) { case "value-value": case "value-root": { - return path.call(print, "group"); + return print("group"); } case "value-comment": { - return options.originalText.slice(options.locStart(node), options.locEnd(node)); + return options.originalText.slice(locStart$b(node), locEnd$a(node)); } case "value-comma_group": { const parentNode = path.getParentNode(); const parentParentNode = path.getParentNode(1); - const declAncestorProp = getPropOfDeclNode$1(path); + const declAncestorProp = getPropOfDeclNode(path); const isGridValue = declAncestorProp && parentNode.type === "value-value" && (declAncestorProp === "grid" || declAncestorProp.startsWith("grid-template")); const atRuleAncestorNode = getAncestorNode$1(path, "css-atrule"); - const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode$1(atRuleAncestorNode); + const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode(atRuleAncestorNode); + const hasInlineComment = node.groups.some(node => isInlineValueCommentNode(node)); const printed = path.map(print, "groups"); const parts = []; - const insideURLFunction = insideValueFunctionNode$1(path, "url"); + const insideURLFunction = insideValueFunctionNode(path, "url"); let insideSCSSInterpolationInString = false; let didBreak = false; @@ -47214,7 +51067,7 @@ function genericPrint$2(path, options, print) { const iNextNextNode = node.groups[i + 2]; if (insideURLFunction) { - if (iNextNode && isAdditionNode$1(iNextNode) || isAdditionNode$1(iNode)) { + if (iNextNode && isAdditionNode(iNextNode) || isAdditionNode(iNode)) { parts.push(" "); } @@ -47227,7 +51080,7 @@ function genericPrint$2(path, options, print) { } // styled.div` background: var(--${one}); ` - if (iNode.type === "value-word" && iNode.value.endsWith("-") && iNextNode.type === "value-atword" && iNextNode.value.startsWith("prettier-placeholder-")) { + if (iNode.type === "value-word" && iNode.value.endsWith("-") && isAtWordPlaceholderNode(iNextNode)) { continue; } // Ignore spaces before/after string interpolation (i.e. `"#{my-fn("_")}"`) @@ -47245,7 +51098,7 @@ function genericPrint$2(path, options, print) { } // Ignore colon (i.e. `:`) - if (isColonNode$1(iNode) || isColonNode$1(iNextNode)) { + if (isColonNode(iNode) || isColonNode(iNextNode)) { continue; } // Ignore `@` in Less (i.e. `@@var;`) @@ -47275,60 +51128,67 @@ function genericPrint$2(path, options, print) { } // Ignore `$$` (i.e. `background-color: $$(style)Color;`) - if (isPostcssSimpleVarNode$1(iNode, iNextNode)) { + if (isPostcssSimpleVarNode(iNode, iNextNode)) { continue; } // Ignore spaces after `#` and after `{` and before `}` in SCSS interpolation (i.e. `#{variable}`) - if (isHashNode$1(iNode) || isLeftCurlyBraceNode$1(iNode) || isRightCurlyBraceNode$1(iNextNode) || isLeftCurlyBraceNode$1(iNextNode) && hasEmptyRawBefore$1(iNextNode) || isRightCurlyBraceNode$1(iNode) && hasEmptyRawBefore$1(iNextNode)) { + if (isHashNode(iNode) || isLeftCurlyBraceNode(iNode) || isRightCurlyBraceNode(iNextNode) || isLeftCurlyBraceNode(iNextNode) && hasEmptyRawBefore(iNextNode) || isRightCurlyBraceNode(iNode) && hasEmptyRawBefore(iNextNode)) { continue; } // Ignore css variables and interpolation in SCSS (i.e. `--#{$var}`) - if (iNode.value === "--" && isHashNode$1(iNextNode)) { + if (iNode.value === "--" && isHashNode(iNextNode)) { continue; } // Formatting math operations - const isMathOperator = isMathOperatorNode$1(iNode); - const isNextMathOperator = isMathOperatorNode$1(iNextNode); // Print spaces before and after math operators beside SCSS interpolation as is + const isMathOperator = isMathOperatorNode(iNode); + const isNextMathOperator = isMathOperatorNode(iNextNode); // Print spaces before and after math operators beside SCSS interpolation as is // (i.e. `#{$var}+5`, `#{$var} +5`, `#{$var}+ 5`, `#{$var} + 5`) // (i.e. `5+#{$var}`, `5 +#{$var}`, `5+ #{$var}`, `5 + #{$var}`) - if ((isMathOperator && isHashNode$1(iNextNode) || isNextMathOperator && isRightCurlyBraceNode$1(iNode)) && hasEmptyRawBefore$1(iNextNode)) { + if ((isMathOperator && isHashNode(iNextNode) || isNextMathOperator && isRightCurlyBraceNode(iNode)) && hasEmptyRawBefore(iNextNode)) { + continue; + } // absolute paths are only parsed as one token if they are part of url(/abs/path) call + // but if you have custom -fb-url(/abs/path/) then it is parsed as "division /" and rest + // of the path. We don't want to put a space after that first division in this case. + + + if (!iPrevNode && isDivisionNode(iNode)) { continue; } // Print spaces before and after addition and subtraction math operators as is in `calc` function // due to the fact that it is not valid syntax // (i.e. `calc(1px+1px)`, `calc(1px+ 1px)`, `calc(1px +1px)`, `calc(1px + 1px)`) - if (insideValueFunctionNode$1(path, "calc") && (isAdditionNode$1(iNode) || isAdditionNode$1(iNextNode) || isSubtractionNode$1(iNode) || isSubtractionNode$1(iNextNode)) && hasEmptyRawBefore$1(iNextNode)) { + if (insideValueFunctionNode(path, "calc") && (isAdditionNode(iNode) || isAdditionNode(iNextNode) || isSubtractionNode(iNode) || isSubtractionNode(iNextNode)) && hasEmptyRawBefore(iNextNode)) { continue; } // Print spaces after `+` and `-` in color adjuster functions as is (e.g. `color(red l(+ 20%))`) // Adjusters with signed numbers (e.g. `color(red l(+20%))`) output as-is. - const isColorAdjusterNode = (isAdditionNode$1(iNode) || isSubtractionNode$1(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode$1(parentParentNode) && !hasEmptyRawBefore$1(iNextNode); - const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode$1(iNextNextNode) || iNode.type === "value-func" || isWordNode$1(iNode); - const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode$1(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode$1(iPrevNode); // Formatting `/`, `+`, `-` sign + const isColorAdjusterNode = (isAdditionNode(iNode) || isSubtractionNode(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode(parentParentNode) && !hasEmptyRawBefore(iNextNode); + const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode(iNextNextNode) || iNode.type === "value-func" || isWordNode(iNode); + const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode(iPrevNode); // Formatting `/`, `+`, `-` sign - if (!(isMultiplicationNode$1(iNextNode) || isMultiplicationNode$1(iNode)) && !insideValueFunctionNode$1(path, "calc") && !isColorAdjusterNode && (isDivisionNode$1(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode$1(iNode) && !requireSpaceAfterOperator || isAdditionNode$1(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode$1(iNode) && !requireSpaceAfterOperator || isSubtractionNode$1(iNextNode) || isSubtractionNode$1(iNode)) && (hasEmptyRawBefore$1(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode$1(iPrevNode)))) { + if (!(isMultiplicationNode(iNextNode) || isMultiplicationNode(iNode)) && !insideValueFunctionNode(path, "calc") && !isColorAdjusterNode && (isDivisionNode(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode(iNode) && !requireSpaceAfterOperator || isAdditionNode(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode(iNode) && !requireSpaceAfterOperator || isSubtractionNode(iNextNode) || isSubtractionNode(iNode)) && (hasEmptyRawBefore(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode(iPrevNode)))) { continue; } // Add `hardline` after inline comment (i.e. `// comment\n foo: bar;`) - if (isInlineValueCommentNode$1(iNode)) { + if (isInlineValueCommentNode(iNode)) { if (parentNode.type === "value-paren_group") { - parts.push(dedent$2(hardline$a)); + parts.push(dedent$2(hardline$9)); continue; } - parts.push(hardline$a); + parts.push(hardline$9); continue; } // Handle keywords in SCSS control directive - if (isControlDirective && (isEqualityOperatorNode$1(iNextNode) || isRelationalOperatorNode$1(iNextNode) || isIfElseKeywordNode$1(iNextNode) || isEachKeywordNode$1(iNode) || isForKeywordNode$1(iNode))) { + if (isControlDirective && (isEqualityOperatorNode(iNextNode) || isRelationalOperatorNode(iNextNode) || isIfElseKeywordNode(iNextNode) || isEachKeywordNode(iNode) || isForKeywordNode(iNode))) { parts.push(" "); continue; } // At-rule `namespace` should be in one line @@ -47342,7 +51202,7 @@ function genericPrint$2(path, options, print) { if (isGridValue) { if (iNode.source && iNextNode.source && iNode.source.start.line !== iNextNode.source.start.line) { - parts.push(hardline$a); + parts.push(hardline$9); didBreak = true; } else { parts.push(" "); @@ -47362,37 +51222,45 @@ function genericPrint$2(path, options, print) { if (iNextNode && iNextNode.value === "...") { continue; + } + + if (isAtWordPlaceholderNode(iNode) && isAtWordPlaceholderNode(iNextNode) && locEnd$a(iNode) === locStart$b(iNextNode)) { + continue; } // Be default all values go through `line` parts.push(line$9); } + if (hasInlineComment) { + parts.push(breakParent$3); + } + if (didBreak) { - parts.unshift(hardline$a); + parts.unshift(hardline$9); } if (isControlDirective) { - return group$b(indent$a(concat$f(parts))); + return group$9(indent$5(parts)); } // Indent is not needed for import url when url is very long // and node has two groups // when type is value-comma_group // example @import url("verylongurl") projection,tv - if (insideURLFunctionInImportAtRuleNode$1(path)) { - return group$b(fill$4(parts)); + if (insideURLFunctionInImportAtRuleNode(path)) { + return group$9(fill$5(parts)); } - return group$b(indent$a(fill$4(parts))); + return group$9(indent$5(fill$5(parts))); } case "value-paren_group": { const parentNode = path.getParentNode(); - if (parentNode && isURLFunctionNode$1(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { - return concat$f([node.open ? path.call(print, "open") : "", join$8(",", path.map(print, "groups")), node.close ? path.call(print, "close") : ""]); + if (parentNode && isURLFunctionNode(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { + return [node.open ? print("open") : "", join$9(",", path.map(print, "groups")), node.close ? print("close") : ""]; } if (!node.open) { @@ -47401,36 +51269,39 @@ function genericPrint$2(path, options, print) { for (let i = 0; i < printed.length; i++) { if (i !== 0) { - res.push(concat$f([",", line$9])); + res.push([",", line$9]); } res.push(printed[i]); } - return group$b(indent$a(fill$4(res))); + return group$9(indent$5(fill$5(res))); } - const isSCSSMapItem = isSCSSMapItemNode$1(path); - const lastItem = node.groups[node.groups.length - 1]; + const isSCSSMapItem = isSCSSMapItemNode(path); + const lastItem = getLast_1(node.groups); const isLastItemComment = lastItem && lastItem.type === "value-comment"; - return group$b(concat$f([node.open ? path.call(print, "open") : "", indent$a(concat$f([softline$7, join$8(concat$f([",", line$9]), path.map(childPath => { + const isKey = isKeyInValuePairNode(node, parentNode); + const printed = group$9([node.open ? print("open") : "", indent$5([softline$7, join$9([",", line$9], path.map(childPath => { const node = childPath.getValue(); - const printed = print(childPath); // Key/Value pair in open paren already indented + const printed = print(); // Key/Value pair in open paren already indented - if (isKeyValuePairNode$1(node) && node.type === "value-comma_group" && node.groups && node.groups[2] && node.groups[2].type === "value-paren_group") { - printed.contents.contents.parts[1] = group$b(printed.contents.contents.parts[1]); - return group$b(dedent$2(printed)); + if (isKeyValuePairNode(node) && node.type === "value-comma_group" && node.groups && node.groups[0].type !== "value-paren_group" && node.groups[2] && node.groups[2].type === "value-paren_group") { + const parts = getDocParts$4(printed.contents.contents); + parts[1] = group$9(parts[1]); + return group$9(dedent$2(printed)); } return printed; - }, "groups"))])), ifBreak$5(!isLastItemComment && isSCSS$1(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma$4(options) ? "," : ""), softline$7, node.close ? path.call(print, "close") : ""]), { - shouldBreak: isSCSSMapItem + }, "groups"))]), ifBreak$7(!isLastItemComment && isSCSS(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma(options) ? "," : ""), softline$7, node.close ? print("close") : ""], { + shouldBreak: isSCSSMapItem && !isKey }); + return isKey ? dedent$2(printed) : printed; } case "value-func": { - return concat$f([node.value, insideAtRuleNode$1(path, "supports") && isMediaAndSupportsKeywords$1(node) ? " " : "", path.call(print, "group")]); + return [node.value, insideAtRuleNode(path, "supports") && isMediaAndSupportsKeywords(node) ? " " : "", print("group")]; } case "value-paren": @@ -47440,7 +51311,7 @@ function genericPrint$2(path, options, print) { case "value-number": { - return concat$f([printCssNumber(node.value), maybeToLowerCase$1(node.unit)]); + return [printCssNumber(node.value), maybeToLowerCase(node.unit)]; } case "value-operator": @@ -47450,7 +51321,7 @@ function genericPrint$2(path, options, print) { case "value-word": { - if (node.isColor && node.isHex || isWideKeywords$1(node.value)) { + if (node.isColor && node.isHex || isWideKeywords(node.value)) { return node.value.toLowerCase(); } @@ -47462,9 +51333,9 @@ function genericPrint$2(path, options, print) { const parentNode = path.getParentNode(); const index = parentNode && parentNode.groups.indexOf(node); const prevNode = index && parentNode.groups[index - 1]; - return concat$f([node.value, // Don't add spaces on escaped colon `:`, e.g: grid-template-rows: [row-1-00\:00] auto; - prevNode && prevNode.value[prevNode.value.length - 1] === "\\" || // Don't add spaces on `:` in `url` function (i.e. `url(fbglyph: cross-outline, fig-white)`) - insideValueFunctionNode$1(path, "url") ? "" : line$9]); + return [node.value, // Don't add spaces on escaped colon `:`, e.g: grid-template-rows: [row-1-00\:00] auto; + prevNode && typeof prevNode.value === "string" && getLast_1(prevNode.value) === "\\" || // Don't add spaces on `:` in `url` function (i.e. `url(fbglyph: cross-outline, fig-white)`) + insideValueFunctionNode(path, "url") ? "" : line$9]; } // TODO: confirm this code is dead @@ -47472,17 +51343,17 @@ function genericPrint$2(path, options, print) { case "value-comma": { - return concat$f([node.value, " "]); + return [node.value, " "]; } case "value-string": { - return printString$2(node.raws.quote + node.value + node.raws.quote, options); + return printString(node.raws.quote + node.value + node.raws.quote, options); } case "value-atword": { - return concat$f(["@", node.value]); + return ["@", node.value]; } case "value-unicode-range": @@ -47502,46 +51373,42 @@ function genericPrint$2(path, options, print) { } function printNodeSequence(path, options, print) { - const node = path.getValue(); const parts = []; - let i = 0; - path.map(pathChild => { - const prevNode = node.nodes[i - 1]; + path.each((pathChild, i, nodes) => { + const prevNode = nodes[i - 1]; if (prevNode && prevNode.type === "css-comment" && prevNode.text.trim() === "prettier-ignore") { const childNode = pathChild.getValue(); - parts.push(options.originalText.slice(options.locStart(childNode), options.locEnd(childNode))); + parts.push(options.originalText.slice(locStart$b(childNode), locEnd$a(childNode))); } else { - parts.push(pathChild.call(print)); + parts.push(print()); } - if (i !== node.nodes.length - 1) { - if (node.nodes[i + 1].type === "css-comment" && !hasNewline$6(options.originalText, options.locStart(node.nodes[i + 1]), { + if (i !== nodes.length - 1) { + if (nodes[i + 1].type === "css-comment" && !hasNewline(options.originalText, locStart$b(nodes[i + 1]), { backwards: true - }) && !isFrontMatterNode$2(node.nodes[i]) || node.nodes[i + 1].type === "css-atrule" && node.nodes[i + 1].name === "else" && node.nodes[i].type !== "css-comment") { + }) && !isFrontMatterNode$3(nodes[i]) || nodes[i + 1].type === "css-atrule" && nodes[i + 1].name === "else" && nodes[i].type !== "css-comment") { parts.push(" "); } else { - parts.push(options.__isHTMLStyleAttribute ? line$9 : hardline$a); + parts.push(options.__isHTMLStyleAttribute ? line$9 : hardline$9); - if (isNextLineEmpty$5(options.originalText, pathChild.getValue(), options.locEnd) && !isFrontMatterNode$2(node.nodes[i])) { - parts.push(hardline$a); + if (isNextLineEmpty$3(options.originalText, pathChild.getValue(), locEnd$a) && !isFrontMatterNode$3(nodes[i])) { + parts.push(hardline$9); } } } - - i++; }, "nodes"); - return concat$f(parts); + return parts; } -const STRING_REGEX$3 = /(["'])(?:(?!\1)[^\\]|\\[\S\s])*\1/g; +const STRING_REGEX = /(["'])(?:(?!\1)[^\\]|\\.)*\1/gs; const NUMBER_REGEX = /(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g; const STANDARD_UNIT_REGEX = /[A-Za-z]+/g; const WORD_PART_REGEX = /[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g; -const ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX$3.source + "|" + `(${WORD_PART_REGEX.source})?` + `(${NUMBER_REGEX.source})` + `(${STANDARD_UNIT_REGEX.source})?`, "g"); +const ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX.source + "|" + `(${WORD_PART_REGEX.source})?` + `(${NUMBER_REGEX.source})` + `(${STANDARD_UNIT_REGEX.source})?`, "g"); function adjustStrings(value, options) { - return value.replace(STRING_REGEX$3, match => printString$2(match, options)); + return value.replace(STRING_REGEX, match => printString(match, options)); } function quoteAttributeValue(value, options) { @@ -47550,182 +51417,122 @@ function quoteAttributeValue(value, options) { } function adjustNumbers(value) { - return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase$1(unit || "") : match); + return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase(unit || "") : match); } function printCssNumber(rawNumber) { - return printNumber$2(rawNumber) // Remove trailing `.0`. + return printNumber(rawNumber) // Remove trailing `.0`. .replace(/\.0(?=$|e)/, ""); } var printerPostcss = { - print: genericPrint$2, - embed: embed_1$1, - insertPragma: insertPragma$3, - hasPrettierIgnore: hasIgnoreComment$3, - massageAstNode: clean_1$1 + print: genericPrint$4, + embed: embed_1$2, + insertPragma: insertPragma$7, + massageAstNode: clean_1$3 }; -var options$3 = { +var options$4 = { singleQuote: commonOptions.singleQuote }; var name$9 = "CSS"; -var type$7 = "markup"; -var tmScope$7 = "source.css"; -var aceMode$7 = "css"; -var codemirrorMode$7 = "css"; -var codemirrorMimeType$7 = "text/css"; -var color$2 = "#563d7c"; -var extensions$7 = [ +var type$9 = "markup"; +var tmScope$9 = "source.css"; +var aceMode$9 = "css"; +var codemirrorMode$5 = "css"; +var codemirrorMimeType$5 = "text/css"; +var color$8 = "#563d7c"; +var extensions$9 = [ ".css" ]; -var languageId$7 = 50; -var CSS = { +var languageId$9 = 50; +var require$$0$5 = { name: name$9, - type: type$7, - tmScope: tmScope$7, - aceMode: aceMode$7, - codemirrorMode: codemirrorMode$7, - codemirrorMimeType: codemirrorMimeType$7, - color: color$2, - extensions: extensions$7, - languageId: languageId$7 + type: type$9, + tmScope: tmScope$9, + aceMode: aceMode$9, + codemirrorMode: codemirrorMode$5, + codemirrorMimeType: codemirrorMimeType$5, + color: color$8, + extensions: extensions$9, + languageId: languageId$9 }; -var CSS$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$9, - type: type$7, - tmScope: tmScope$7, - aceMode: aceMode$7, - codemirrorMode: codemirrorMode$7, - codemirrorMimeType: codemirrorMimeType$7, - color: color$2, - extensions: extensions$7, - languageId: languageId$7, - 'default': CSS -}); - -var name$a = "PostCSS"; +var name$8 = "PostCSS"; var type$8 = "markup"; var tmScope$8 = "source.postcss"; -var group$c = "CSS"; +var group$8 = "CSS"; var extensions$8 = [ ".pcss", ".postcss" ]; var aceMode$8 = "text"; var languageId$8 = 262764437; -var PostCSS = { - name: name$a, +var require$$1$2 = { + name: name$8, type: type$8, tmScope: tmScope$8, - group: group$c, + group: group$8, extensions: extensions$8, aceMode: aceMode$8, languageId: languageId$8 }; -var PostCSS$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$a, - type: type$8, - tmScope: tmScope$8, - group: group$c, - extensions: extensions$8, - aceMode: aceMode$8, - languageId: languageId$8, - 'default': PostCSS -}); - -var name$b = "Less"; -var type$9 = "markup"; -var group$d = "CSS"; -var extensions$9 = [ +var name$7 = "Less"; +var type$7 = "markup"; +var color$7 = "#1d365d"; +var extensions$7 = [ ".less" ]; -var tmScope$9 = "source.css.less"; -var aceMode$9 = "less"; -var codemirrorMode$8 = "css"; -var codemirrorMimeType$8 = "text/css"; -var languageId$9 = 198; -var Less = { - name: name$b, - type: type$9, - group: group$d, - extensions: extensions$9, - tmScope: tmScope$9, - aceMode: aceMode$9, - codemirrorMode: codemirrorMode$8, - codemirrorMimeType: codemirrorMimeType$8, - languageId: languageId$9 +var tmScope$7 = "source.css.less"; +var aceMode$7 = "less"; +var codemirrorMode$4 = "css"; +var codemirrorMimeType$4 = "text/css"; +var languageId$7 = 198; +var require$$2$1 = { + name: name$7, + type: type$7, + color: color$7, + extensions: extensions$7, + tmScope: tmScope$7, + aceMode: aceMode$7, + codemirrorMode: codemirrorMode$4, + codemirrorMimeType: codemirrorMimeType$4, + languageId: languageId$7 }; -var Less$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$b, - type: type$9, - group: group$d, - extensions: extensions$9, - tmScope: tmScope$9, - aceMode: aceMode$9, - codemirrorMode: codemirrorMode$8, - codemirrorMimeType: codemirrorMimeType$8, - languageId: languageId$9, - 'default': Less -}); - -var name$c = "SCSS"; -var type$a = "markup"; -var tmScope$a = "source.css.scss"; -var group$e = "CSS"; -var aceMode$a = "scss"; -var codemirrorMode$9 = "css"; -var codemirrorMimeType$9 = "text/x-scss"; -var extensions$a = [ +var name$6 = "SCSS"; +var type$6 = "markup"; +var color$6 = "#c6538c"; +var tmScope$6 = "source.css.scss"; +var aceMode$6 = "scss"; +var codemirrorMode$3 = "css"; +var codemirrorMimeType$3 = "text/x-scss"; +var extensions$6 = [ ".scss" ]; -var languageId$a = 329; -var SCSS = { - name: name$c, - type: type$a, - tmScope: tmScope$a, - group: group$e, - aceMode: aceMode$a, - codemirrorMode: codemirrorMode$9, - codemirrorMimeType: codemirrorMimeType$9, - extensions: extensions$a, - languageId: languageId$a +var languageId$6 = 329; +var require$$3 = { + name: name$6, + type: type$6, + color: color$6, + tmScope: tmScope$6, + aceMode: aceMode$6, + codemirrorMode: codemirrorMode$3, + codemirrorMimeType: codemirrorMimeType$3, + extensions: extensions$6, + languageId: languageId$6 }; -var SCSS$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$c, - type: type$a, - tmScope: tmScope$a, - group: group$e, - aceMode: aceMode$a, - codemirrorMode: codemirrorMode$9, - codemirrorMimeType: codemirrorMimeType$9, - extensions: extensions$a, - languageId: languageId$a, - 'default': SCSS -}); - -var require$$0$3 = getCjsExportFromNamespace(CSS$1); - -var require$$1$1 = getCjsExportFromNamespace(PostCSS$1); - -var require$$2$1 = getCjsExportFromNamespace(Less$1); - -var require$$3$1 = getCjsExportFromNamespace(SCSS$1); - -const languages$1 = [createLanguage(require$$0$3, () => ({ +const languages$6 = [createLanguage(require$$0$5, data => ({ since: "1.4.0", parsers: ["css"], - vscodeLanguageIds: ["css"] -})), createLanguage(require$$1$1, () => ({ + vscodeLanguageIds: ["css"], + extensions: [...data.extensions, // `WeiXin Style Sheets`(Weixin Mini Programs) + // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ + ".wxss"] +})), createLanguage(require$$1$2, () => ({ since: "1.4.0", parsers: ["css"], vscodeLanguageIds: ["postcss"] @@ -47733,15 +51540,15 @@ const languages$1 = [createLanguage(require$$0$3, () => ({ since: "1.4.0", parsers: ["less"], vscodeLanguageIds: ["less"] -})), createLanguage(require$$3$1, () => ({ +})), createLanguage(require$$3, () => ({ since: "1.4.0", parsers: ["scss"], vscodeLanguageIds: ["scss"] }))]; -const printers$1 = { +const printers$4 = { postcss: printerPostcss }; -const parsers$1 = { +const parsers$5 = { // TODO: switch these to just `postcss` and use `language` instead. get css() { return require("./parser-postcss").parsers.css; @@ -47757,16 +51564,29 @@ const parsers$1 = { }; var languageCss = { - languages: languages$1, - options: options$3, - printers: printers$1, - parsers: parsers$1 + languages: languages$6, + options: options$4, + printers: printers$4, + parsers: parsers$5 }; -var clean$3 = function (ast, newNode) { - delete newNode.loc; - delete newNode.selfClosing; // (Glimmer/HTML) ignore TextNode whitespace +function locStart$a(node) { + return node.loc.start.offset; +} +function locEnd$9(node) { + return node.loc.end.offset; +} + +var loc$4 = { + locStart: locStart$a, + locEnd: locEnd$9 +}; + +function clean$4(ast, newNode +/*, parent*/ +) { + // (Glimmer/HTML) ignore TextNode if (ast.type === "TextNode") { const trimmed = ast.chars.trim(); @@ -47774,11 +51594,19 @@ var clean$3 = function (ast, newNode) { return null; } - newNode.chars = trimmed; - } -}; + newNode.chars = trimmed.replace(/[\t\n\f\r ]+/g, " "); + } // `class` is reformatted -var index = [ + + if (ast.type === "AttrNode" && ast.name.toLowerCase() === "class") { + delete newNode.value; + } +} + +clean$4.ignoredProperties = new Set(["loc", "selfClosing"]); +var clean_1$2 = clean$4; + +var htmlVoidElements = [ "area", "base", "basefont", @@ -47804,48 +51632,56 @@ var index = [ "wbr" ]; -var htmlVoidElements = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': index -}); +function isLastNodeOfSiblings$1(path) { + const node = path.getValue(); + const parentNode = path.getParentNode(0); -var htmlVoidElements$1 = getCjsExportFromNamespace(htmlVoidElements); + if (isParentOfSomeType$1(path, ["ElementNode"]) && getLast_1(parentNode.children) === node) { + return true; + } + + if (isParentOfSomeType$1(path, ["Block"]) && getLast_1(parentNode.body) === node) { + return true; + } + + return false; +} function isUppercase(string) { return string.toUpperCase() === string; } function isGlimmerComponent(node) { - return isNodeOfSomeType(node, ["ElementNode"]) && typeof node.tag === "string" && (isUppercase(node.tag[0]) || node.tag.includes(".")); + return isNodeOfSomeType$1(node, ["ElementNode"]) && typeof node.tag === "string" && (isUppercase(node.tag[0]) || node.tag.includes(".")); } -const voidTags = new Set(htmlVoidElements$1); +const voidTags = new Set(htmlVoidElements); -function isVoid(node) { - return isGlimmerComponent(node) && (node.children === 0 || node.children.every(n => isWhitespaceNode(n))) || voidTags.has(node.tag); +function isVoid$1(node) { + return isGlimmerComponent(node) && node.children.every(node => isWhitespaceNode$1(node)) || voidTags.has(node.tag); } -function isWhitespaceNode(node) { - return isNodeOfSomeType(node, ["TextNode"]) && !/\S/.test(node.chars); +function isWhitespaceNode$1(node) { + return isNodeOfSomeType$1(node, ["TextNode"]) && !/\S/.test(node.chars); } -function isNodeOfSomeType(node, types) { - return node && types.some(type => node.type === type); +function isNodeOfSomeType$1(node, types) { + return node && types.includes(node.type); } -function isParentOfSomeType(path, types) { +function isParentOfSomeType$1(path, types) { const parentNode = path.getParentNode(0); - return isNodeOfSomeType(parentNode, types); + return isNodeOfSomeType$1(parentNode, types); } -function isPreviousNodeOfSomeType(path, types) { - const previousNode = getPreviousNode(path); - return isNodeOfSomeType(previousNode, types); +function isPreviousNodeOfSomeType$1(path, types) { + const previousNode = getPreviousNode$1(path); + return isNodeOfSomeType$1(previousNode, types); } -function isNextNodeOfSomeType(path, types) { - const nextNode = getNextNode(path); - return isNodeOfSomeType(nextNode, types); +function isNextNodeOfSomeType$1(path, types) { + const nextNode = getNextNode$1(path); + return isNodeOfSomeType$1(nextNode, types); } function getSiblingNode(path, offset) { @@ -47856,219 +51692,309 @@ function getSiblingNode(path, offset) { return index !== -1 && children[index + offset]; } -function getPreviousNode(path, lookBack = 1) { +function getPreviousNode$1(path, lookBack = 1) { return getSiblingNode(path, -lookBack); } -function getNextNode(path) { +function getNextNode$1(path) { return getSiblingNode(path, 1); } function isPrettierIgnoreNode(node) { - return isNodeOfSomeType(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; + return isNodeOfSomeType$1(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; } -function hasPrettierIgnore$2(path) { +function hasPrettierIgnore$7(path) { const node = path.getValue(); - const previousPreviousNode = getPreviousNode(path, 2); + const previousPreviousNode = getPreviousNode$1(path, 2); return isPrettierIgnoreNode(node) || isPrettierIgnoreNode(previousPreviousNode); } -var utils$8 = { - getNextNode, - getPreviousNode, - hasPrettierIgnore: hasPrettierIgnore$2, - isNextNodeOfSomeType, - isNodeOfSomeType, - isParentOfSomeType, - isPreviousNodeOfSomeType, - isVoid, - isWhitespaceNode -}; - -const { - concat: concat$g, - group: group$f, - hardline: hardline$b, - ifBreak: ifBreak$6, - indent: indent$b, - join: join$9, - line: line$a, - softline: softline$8 -} = document.builders; -const { +var utils$3 = { getNextNode: getNextNode$1, getPreviousNode: getPreviousNode$1, - hasPrettierIgnore: hasPrettierIgnore$3, + hasPrettierIgnore: hasPrettierIgnore$7, + isLastNodeOfSiblings: isLastNodeOfSiblings$1, isNextNodeOfSomeType: isNextNodeOfSomeType$1, isNodeOfSomeType: isNodeOfSomeType$1, isParentOfSomeType: isParentOfSomeType$1, isPreviousNodeOfSomeType: isPreviousNodeOfSomeType$1, isVoid: isVoid$1, isWhitespaceNode: isWhitespaceNode$1 -} = utils$8; // Formatter based on @glimmerjs/syntax's built-in test formatter: +}; + +const { + builders: { + dedent: dedent$1, + fill: fill$4, + group: group$7, + hardline: hardline$8, + ifBreak: ifBreak$6, + indent: indent$4, + join: join$8, + line: line$8, + softline: softline$6, + literalline: literalline$4 + }, + utils: { + getDocParts: getDocParts$3, + replaceEndOfLineWith: replaceEndOfLineWith$3 + } +} = doc; +const { + isNonEmptyArray: isNonEmptyArray$4 +} = util$5; +const { + locStart: locStart$9, + locEnd: locEnd$8 +} = loc$4; +const { + getNextNode, + getPreviousNode, + hasPrettierIgnore: hasPrettierIgnore$6, + isLastNodeOfSiblings, + isNextNodeOfSomeType, + isNodeOfSomeType, + isParentOfSomeType, + isPreviousNodeOfSomeType, + isVoid, + isWhitespaceNode +} = utils$3; +const NEWLINES_TO_PRESERVE_MAX = 2; // Formatter based on @glimmerjs/syntax's built-in test formatter: // https://github.com/glimmerjs/glimmer-vm/blob/master/packages/%40glimmer/syntax/lib/generation/print.ts -function print$2(path, options, print) { - const n = path.getValue(); +function print(path, options, print) { + const node = path.getValue(); /* istanbul ignore if*/ - if (!n) { + if (!node) { return ""; } - if (hasPrettierIgnore$3(path)) { - const startOffset = locationToOffset(options.originalText, n.loc.start.line - 1, n.loc.start.column); - const endOffset = locationToOffset(options.originalText, n.loc.end.line - 1, n.loc.end.column); - const ignoredText = options.originalText.slice(startOffset, endOffset); - return ignoredText; + if (hasPrettierIgnore$6(path)) { + return options.originalText.slice(locStart$9(node), locEnd$8(node)); } - switch (n.type) { + switch (node.type) { case "Block": case "Program": case "Template": { - return group$f(concat$g(path.map(print, "body"))); + return group$7(path.map(print, "body")); } case "ElementNode": { - // TODO: make it whitespace sensitive - const bim = isNextNodeOfSomeType$1(path, ["ElementNode"]) ? hardline$b : ""; + const startingTag = group$7(printStartingTag(path, print)); + const escapeNextElementNode = options.htmlWhitespaceSensitivity === "ignore" && isNextNodeOfSomeType(path, ["ElementNode"]) ? softline$6 : ""; - if (isVoid$1(n)) { - return concat$g([group$f(printStartingTag(path, print)), bim]); + if (isVoid(node)) { + return [startingTag, escapeNextElementNode]; } - const isWhitespaceOnly = n.children.every(n => isWhitespaceNode$1(n)); - return concat$g([group$f(printStartingTag(path, print)), group$f(concat$g([isWhitespaceOnly ? "" : indent$b(printChildren(path, options, print)), n.children.length ? hardline$b : "", concat$g([""])])), bim]); + const endingTag = [""]; + + if (node.children.length === 0) { + return [startingTag, indent$4(endingTag), escapeNextElementNode]; + } + + if (options.htmlWhitespaceSensitivity === "ignore") { + return [startingTag, indent$4(printChildren$3(path, options, print)), hardline$8, indent$4(endingTag), escapeNextElementNode]; + } + + return [startingTag, indent$4(group$7(printChildren$3(path, options, print))), indent$4(endingTag), escapeNextElementNode]; } case "BlockStatement": { const pp = path.getParentNode(1); - const isElseIf = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === n && pp.inverse.body[0].path.parts[0] === "if"; + const isElseIf = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === node && pp.inverse.body[0].path.parts[0] === "if"; if (isElseIf) { - return concat$g([printElseIfBlock(path, print), printProgram(path, print), printInverse(path, print)]); + return [printElseIfBlock(path, print), printProgram(path, print, options), printInverse(path, print, options)]; } - return concat$g([printOpenBlock(path, print), group$f(concat$g([printProgram(path, print), printInverse(path, print), printCloseBlock(path, print)]))]); + return [printOpenBlock(path, print), group$7([printProgram(path, print, options), printInverse(path, print, options), printCloseBlock(path, print, options)])]; } case "ElementModifierStatement": { - return group$f(concat$g(["{{", printPathAndParams(path, print), softline$8, "}}"])); + return group$7(["{{", printPathAndParams(path, print), "}}"]); } case "MustacheStatement": { - const isParentOfSpecifiedTypes = isParentOfSomeType$1(path, ["AttrNode", "ConcatStatement"]); - const isChildOfElementNodeAndDoesNotHaveParams = isParentOfSomeType$1(path, ["ElementNode"]) && doesNotHaveHashParams(n) && doesNotHavePositionalParams(n); - const shouldBreakOpeningMustache = isParentOfSpecifiedTypes || isChildOfElementNodeAndDoesNotHaveParams; - return group$f(concat$g([printOpeningMustache(n), shouldBreakOpeningMustache ? indent$b(softline$8) : "", printPathAndParams(path, print), softline$8, printClosingMustache(n)])); + return group$7([printOpeningMustache(node), printPathAndParams(path, print), printClosingMustache(node)]); } case "SubExpression": { - return group$f(concat$g(["(", printSubExpressionPathAndParams(path, print), softline$8, ")"])); + return group$7(["(", printSubExpressionPathAndParams(path, print), softline$6, ")"]); } case "AttrNode": { - const isText = n.value.type === "TextNode"; - const isEmptyText = isText && n.value.chars === ""; // If the text is empty and the value's loc start and end columns are the + const isText = node.value.type === "TextNode"; + const isEmptyText = isText && node.value.chars === ""; // If the text is empty and the value's loc start and end offsets are the // same, there is no value for this AttrNode and it should be printed // without the `=""`. Example: `` -> `` - const isEmptyValue = isEmptyText && n.value.loc.start.column === n.value.loc.end.column; + if (isEmptyText && locStart$9(node.value) === locEnd$8(node.value)) { + return node.name; + } // Let's assume quotes inside the content of text nodes are already + // properly escaped with entities, otherwise the parse wouldn't have parsed them. - if (isEmptyValue) { - return concat$g([n.name]); - } - const value = path.call(print, "value"); - const quotedValue = isText ? printStringLiteral(value.parts.join(), options) : value; - return concat$g([n.name, "=", quotedValue]); + const quote = isText ? chooseEnclosingQuote(options, node.value.chars).quote : node.value.type === "ConcatStatement" ? chooseEnclosingQuote(options, node.value.parts.filter(part => part.type === "TextNode").map(part => part.chars).join("")).quote : ""; + const valueDoc = print("value"); + return [node.name, "=", quote, node.name === "class" && quote ? group$7(indent$4(valueDoc)) : valueDoc, quote]; } case "ConcatStatement": { - const quote = options.singleQuote ? "'" : '"'; - return concat$g([quote, ...path.map(partPath => print(partPath), "parts"), quote]); + return path.map(print, "parts"); } case "Hash": { - return concat$g([join$9(line$a, path.map(print, "pairs"))]); + return join$8(line$8, path.map(print, "pairs")); } case "HashPair": { - return concat$g([n.key, "=", path.call(print, "value")]); + return [node.key, "=", print("value")]; } case "TextNode": { - const maxLineBreaksToPreserve = 2; - const isFirstElement = !getPreviousNode$1(path); - const isLastElement = !getNextNode$1(path); - const isWhitespaceOnly = !/\S/.test(n.chars); - const lineBreaksCount = countNewLines(n.chars); - let leadingLineBreaksCount = countLeadingNewLines(n.chars); - let trailingLineBreaksCount = countTrailingNewLines(n.chars); + /* if `{{my-component}}` (or any text containing "{{") + * makes it to the TextNode, it means it was escaped, + * so let's print it escaped, ie.; `\{{my-component}}` */ + let text = node.chars.replace(/{{/g, "\\{{"); + const attrName = getCurrentAttributeName(path); - if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType$1(path, ["Block", "ElementNode", "Template"])) { + if (attrName) { + // TODO: format style and srcset attributes + if (attrName === "class") { + const formattedClasses = text.trim().split(/\s+/).join(" "); + let leadingSpace = false; + let trailingSpace = false; + + if (isParentOfSomeType(path, ["ConcatStatement"])) { + if (isPreviousNodeOfSomeType(path, ["MustacheStatement"]) && /^\s/.test(text)) { + leadingSpace = true; + } + + if (isNextNodeOfSomeType(path, ["MustacheStatement"]) && /\s$/.test(text) && formattedClasses !== "") { + trailingSpace = true; + } + } + + return [leadingSpace ? line$8 : "", formattedClasses, trailingSpace ? line$8 : ""]; + } + + return replaceEndOfLineWith$3(text, literalline$4); + } + + const whitespacesOnlyRE = /^[\t\n\f\r ]*$/; + const isWhitespaceOnly = whitespacesOnlyRE.test(text); + const isFirstElement = !getPreviousNode(path); + const isLastElement = !getNextNode(path); + + if (options.htmlWhitespaceSensitivity !== "ignore") { + // https://infra.spec.whatwg.org/#ascii-whitespace + const leadingWhitespacesRE = /^[\t\n\f\r ]*/; + const trailingWhitespacesRE = /[\t\n\f\r ]*$/; // let's remove the file's final newline + // https://github.com/ember-cli/ember-new-output/blob/1a04c67ddd02ccb35e0ff41bb5cbce34b31173ef/.editorconfig#L16 + + const shouldTrimTrailingNewlines = isLastElement && isParentOfSomeType(path, ["Template"]); + const shouldTrimLeadingNewlines = isFirstElement && isParentOfSomeType(path, ["Template"]); + + if (isWhitespaceOnly) { + if (shouldTrimLeadingNewlines || shouldTrimTrailingNewlines) { + return ""; + } + + let breaks = [line$8]; + const newlines = countNewLines(text); + + if (newlines) { + breaks = generateHardlines(newlines); + } + + if (isLastNodeOfSiblings(path)) { + breaks = breaks.map(newline => dedent$1(newline)); + } + + return breaks; + } + + const [lead] = text.match(leadingWhitespacesRE); + const [tail] = text.match(trailingWhitespacesRE); + let leadBreaks = []; + + if (lead) { + leadBreaks = [line$8]; + const leadingNewlines = countNewLines(lead); + + if (leadingNewlines) { + leadBreaks = generateHardlines(leadingNewlines); + } + + text = text.replace(leadingWhitespacesRE, ""); + } + + let trailBreaks = []; + + if (tail) { + if (!shouldTrimTrailingNewlines) { + trailBreaks = [line$8]; + const trailingNewlines = countNewLines(tail); + + if (trailingNewlines) { + trailBreaks = generateHardlines(trailingNewlines); + } + + if (isLastNodeOfSiblings(path)) { + trailBreaks = trailBreaks.map(hardline => dedent$1(hardline)); + } + } + + text = text.replace(trailingWhitespacesRE, ""); + } + + return [...leadBreaks, fill$4(getTextValueParts$1(text)), ...trailBreaks]; + } + + const lineBreaksCount = countNewLines(text); + let leadingLineBreaksCount = countLeadingNewLines(text); + let trailingLineBreaksCount = countTrailingNewLines(text); + + if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType(path, ["Block", "ElementNode", "Template"])) { return ""; } if (isWhitespaceOnly && lineBreaksCount) { - leadingLineBreaksCount = Math.min(lineBreaksCount, maxLineBreaksToPreserve); + leadingLineBreaksCount = Math.min(lineBreaksCount, NEWLINES_TO_PRESERVE_MAX); trailingLineBreaksCount = 0; } else { - if (isNextNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { + if (isNextNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { trailingLineBreaksCount = Math.max(trailingLineBreaksCount, 1); } - if (isPreviousNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { + if (isPreviousNodeOfSomeType(path, ["BlockStatement", "ElementNode"])) { leadingLineBreaksCount = Math.max(leadingLineBreaksCount, 1); } } - const inAttrNode = path.stack.includes("attributes"); - - if (inAttrNode) { - // TODO: format style and srcset attributes - // and cleanup concat that is not necessary - if (!isInAttributeOfName(path, "class")) { - return concat$g([n.chars]); - } - - let leadingSpace = ""; - let trailingSpace = ""; - - if (isParentOfSomeType$1(path, ["ConcatStatement"])) { - if (isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - - if (isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - } - - return concat$g([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), n.chars.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); - } - let leadingSpace = ""; let trailingSpace = ""; - if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { + if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType(path, ["MustacheStatement"])) { trailingSpace = " "; } - if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { + if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType(path, ["MustacheStatement"])) { leadingSpace = " "; } @@ -48082,48 +52008,45 @@ function print$2(path, options, print) { trailingSpace = ""; } - let text = n.chars; - /* if `{{my-component}}` (or any text starting with a mustache) - * makes it to the TextNode, - * it means it was escaped, - * so let's print it escaped, ie.; `\{{my-component}}` */ - - if (text.startsWith("{{") && text.includes("}}")) { - text = "\\" + text; - } - - return concat$g([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), text.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); + text = text.replace(/^[\t\n\f\r ]+/g, leadingSpace).replace(/[\t\n\f\r ]+$/, trailingSpace); + return [...generateHardlines(leadingLineBreaksCount), fill$4(getTextValueParts$1(text)), ...generateHardlines(trailingLineBreaksCount)]; } case "MustacheCommentStatement": { - const dashes = n.value.includes("}}") ? "--" : ""; - return concat$g(["{{!", dashes, n.value, dashes, "}}"]); + const start = locStart$9(node); + const end = locEnd$8(node); // Starts with `{{~` + + const isLeftWhiteSpaceSensitive = options.originalText.charAt(start + 2) === "~"; // Ends with `{{~` + + const isRightWhitespaceSensitive = options.originalText.charAt(end - 3) === "~"; + const dashes = node.value.includes("}}") ? "--" : ""; + return ["{{", isLeftWhiteSpaceSensitive ? "~" : "", "!", dashes, node.value, dashes, isRightWhitespaceSensitive ? "~" : "", "}}"]; } case "PathExpression": { - return n.original; + return node.original; } case "BooleanLiteral": { - return String(n.value); + return String(node.value); } case "CommentStatement": { - return concat$g([""]); + return [""]; } case "StringLiteral": { - return printStringLiteral(n.value, options); + return printStringLiteral(node.value, options); } case "NumberLiteral": { - return String(n.value); + return String(node.value); } case "UndefinedLiteral": @@ -48139,38 +52062,60 @@ function print$2(path, options, print) { /* istanbul ignore next */ default: - throw new Error("unknown glimmer type: " + JSON.stringify(n.type)); + throw new Error("unknown glimmer type: " + JSON.stringify(node.type)); } } /* ElementNode print helpers */ +function sortByLoc(a, b) { + return locStart$9(a) - locStart$9(b); +} + function printStartingTag(path, print) { const node = path.getValue(); - return concat$g(["<", node.tag, printAttributesLike(path, print), printBlockParams(node), printStartingTagEndMarker(node)]); + const types = ["attributes", "modifiers", "comments"].filter(property => isNonEmptyArray$4(node[property])); + const attributes = types.flatMap(type => node[type]).sort(sortByLoc); + + for (const attributeType of types) { + path.each(attributePath => { + const index = attributes.indexOf(attributePath.getValue()); + attributes.splice(index, 1, [line$8, print()]); + }, attributeType); + } + + if (isNonEmptyArray$4(node.blockParams)) { + attributes.push(line$8, printBlockParams(node)); + } + + return ["<", node.tag, indent$4(attributes), printStartingTagEndMarker(node)]; } -function printAttributesLike(path, print) { +function printChildren$3(path, options, print) { const node = path.getValue(); - return indent$b(concat$g([node.attributes.length ? line$a : "", join$9(line$a, path.map(print, "attributes")), node.modifiers.length ? line$a : "", join$9(line$a, path.map(print, "modifiers")), node.comments.length ? line$a : "", join$9(line$a, path.map(print, "comments"))])); -} + const isEmpty = node.children.every(node => isWhitespaceNode(node)); -function printChildren(path, options, print) { - return concat$g(path.map((childPath, childIndex) => { - if (childIndex === 0) { - return concat$g([softline$8, print(childPath, options, print)]); + if (options.htmlWhitespaceSensitivity === "ignore" && isEmpty) { + return ""; + } + + return path.map((childPath, childIndex) => { + const printedChild = print(); + + if (childIndex === 0 && options.htmlWhitespaceSensitivity === "ignore") { + return [softline$6, printedChild]; } - return print(childPath, options, print); - }, "children")); + return printedChild; + }, "children"); } function printStartingTagEndMarker(node) { - if (isVoid$1(node)) { - return ifBreak$6(concat$g([softline$8, "/>"]), concat$g([" />", softline$8])); + if (isVoid(node)) { + return ifBreak$6([softline$6, "/>"], [" />", softline$6]); } - return ifBreak$6(concat$g([softline$8, ">"]), ">"); + return ifBreak$6([softline$6, ">"], ">"); } /* MustacheStatement print helpers */ @@ -48178,13 +52123,13 @@ function printStartingTagEndMarker(node) { function printOpeningMustache(node) { const mustache = node.escaped === false ? "{{{" : "{{"; const strip = node.strip && node.strip.open ? "~" : ""; - return concat$g([mustache, strip]); + return [mustache, strip]; } function printClosingMustache(node) { const mustache = node.escaped === false ? "}}}" : "}}"; const strip = node.strip && node.strip.close ? "~" : ""; - return concat$g([strip, mustache]); + return [strip, mustache]; } /* BlockStatement print helpers */ @@ -48192,92 +52137,117 @@ function printClosingMustache(node) { function printOpeningBlockOpeningMustache(node) { const opening = printOpeningMustache(node); const strip = node.openStrip.open ? "~" : ""; - return concat$g([opening, strip, "#"]); + return [opening, strip, "#"]; } function printOpeningBlockClosingMustache(node) { const closing = printClosingMustache(node); const strip = node.openStrip.close ? "~" : ""; - return concat$g([strip, closing]); + return [strip, closing]; } function printClosingBlockOpeningMustache(node) { const opening = printOpeningMustache(node); const strip = node.closeStrip.open ? "~" : ""; - return concat$g([opening, strip, "/"]); + return [opening, strip, "/"]; } function printClosingBlockClosingMustache(node) { const closing = printClosingMustache(node); const strip = node.closeStrip.close ? "~" : ""; - return concat$g([strip, closing]); + return [strip, closing]; } function printInverseBlockOpeningMustache(node) { const opening = printOpeningMustache(node); const strip = node.inverseStrip.open ? "~" : ""; - return concat$g([opening, strip]); + return [opening, strip]; } function printInverseBlockClosingMustache(node) { const closing = printClosingMustache(node); const strip = node.inverseStrip.close ? "~" : ""; - return concat$g([strip, closing]); + return [strip, closing]; } function printOpenBlock(path, print) { const node = path.getValue(); - return group$f(concat$g([printOpeningBlockOpeningMustache(node), printPathAndParams(path, print), printBlockParams(node.program), softline$8, printOpeningBlockClosingMustache(node)])); + const openingMustache = printOpeningBlockOpeningMustache(node); + const closingMustache = printOpeningBlockClosingMustache(node); + const attributes = [printPath(path, print)]; + const params = printParams(path, print); + + if (params) { + attributes.push(line$8, params); + } + + if (isNonEmptyArray$4(node.program.blockParams)) { + const block = printBlockParams(node.program); + attributes.push(line$8, block); + } + + return group$7([openingMustache, indent$4(attributes), softline$6, closingMustache]); } -function printElseBlock(node) { - return concat$g([hardline$b, printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]); +function printElseBlock(node, options) { + return [options.htmlWhitespaceSensitivity === "ignore" ? hardline$8 : "", printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]; } function printElseIfBlock(path, print) { const parentNode = path.getParentNode(1); - return concat$g([printInverseBlockOpeningMustache(parentNode), "else ", printPathAndParams(path, print), printInverseBlockClosingMustache(parentNode)]); + return [printInverseBlockOpeningMustache(parentNode), "else if ", printParams(path, print), printInverseBlockClosingMustache(parentNode)]; } -function printCloseBlock(path, print) { +function printCloseBlock(path, print, options) { const node = path.getValue(); - return concat$g([blockStatementHasOnlyWhitespaceInProgram(node) ? softline$8 : hardline$b, printClosingBlockOpeningMustache(node), path.call(print, "path"), printClosingBlockClosingMustache(node)]); + + if (options.htmlWhitespaceSensitivity === "ignore") { + const escape = blockStatementHasOnlyWhitespaceInProgram(node) ? softline$6 : hardline$8; + return [escape, printClosingBlockOpeningMustache(node), print("path"), printClosingBlockClosingMustache(node)]; + } + + return [printClosingBlockOpeningMustache(node), print("path"), printClosingBlockClosingMustache(node)]; } function blockStatementHasOnlyWhitespaceInProgram(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.program.body.every(n => isWhitespaceNode$1(n)); + return isNodeOfSomeType(node, ["BlockStatement"]) && node.program.body.every(node => isWhitespaceNode(node)); } function blockStatementHasElseIf(node) { - return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType$1(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === "if"; + return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === "if"; } function blockStatementHasElse(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.inverse; + return isNodeOfSomeType(node, ["BlockStatement"]) && node.inverse; } -function printProgram(path, print) { +function printProgram(path, print, options) { const node = path.getValue(); if (blockStatementHasOnlyWhitespaceInProgram(node)) { return ""; } - const program = path.call(print, "program"); - return indent$b(concat$g([hardline$b, program])); + const program = print("program"); + + if (options.htmlWhitespaceSensitivity === "ignore") { + return indent$4([hardline$8, program]); + } + + return indent$4(program); } -function printInverse(path, print) { +function printInverse(path, print, options) { const node = path.getValue(); - const inverse = path.call(print, "inverse"); - const parts = concat$g([hardline$b, inverse]); + const inverse = print("inverse"); + const printed = options.htmlWhitespaceSensitivity === "ignore" ? [hardline$8, inverse] : inverse; if (blockStatementHasElseIf(node)) { - return parts; + return printed; } if (blockStatementHasElse(node)) { - return concat$g([printElseBlock(node), indent$b(parts)]); + return [printElseBlock(node, options), indent$4(printed)]; } return ""; @@ -48285,8 +52255,22 @@ function printInverse(path, print) { /* TextNode print helpers */ -function isInAttributeOfName(path, type) { - return isParentOfSomeType$1(path, ["AttrNode"]) && path.getParentNode().name.toLowerCase() === type || isParentOfSomeType$1(path, ["ConcatStatement"]) && path.getParentNode(1).name.toLowerCase() === type; +function getTextValueParts$1(value) { + return getDocParts$3(join$8(line$8, splitByHtmlWhitespace$2(value))); +} + +function splitByHtmlWhitespace$2(string) { + return string.split(/[\t\n\f\r ]+/); +} + +function getCurrentAttributeName(path) { + for (let depth = 0; depth < 2; depth++) { + const parentNode = path.getParentNode(depth); + + if (parentNode && parentNode.type === "AttrNode") { + return parentNode.name.toLowerCase(); + } + } } function countNewLines(string) { @@ -48309,8 +52293,8 @@ function countTrailingNewLines(string) { return countNewLines(newLines); } -function generateHardlines(number = 0, max = 0) { - return new Array(Math.min(number, max)).fill(hardline$b); +function generateHardlines(number = 0) { + return new Array(Math.min(number, NEWLINES_TO_PRESERVE_MAX)).fill(hardline$8); } /* StringLiteral print helpers */ @@ -48326,6 +52310,14 @@ function generateHardlines(number = 0, max = 0) { function printStringLiteral(stringLiteral, options) { + const { + quote, + regex + } = chooseEnclosingQuote(options, stringLiteral); + return [quote, stringLiteral.replace(regex, `\\${quote}`), quote]; +} + +function chooseEnclosingQuote(options, stringLiteral) { const double = { quote: '"', regex: /"/g @@ -48346,9 +52338,7 @@ function printStringLiteral(stringLiteral, options) { shouldUseAlternateQuote = numPreferredQuotes > numAlternateQuotes; } - const enclosingQuote = shouldUseAlternateQuote ? alternate : preferred; - const escapedStringLiteral = stringLiteral.replace(enclosingQuote.regex, `\\${enclosingQuote.quote}`); - return concat$g([enclosingQuote.quote, escapedStringLiteral, enclosingQuote.quote]); + return shouldUseAlternateQuote ? alternate : preferred; } /* SubExpression print helpers */ @@ -48361,7 +52351,7 @@ function printSubExpressionPathAndParams(path, print) { return p; } - return indent$b(concat$g([p, line$a, group$f(params)])); + return indent$4([p, line$8, group$7(params)]); } /* misc. print helpers */ @@ -48374,256 +52364,220 @@ function printPathAndParams(path, print) { return p; } - return indent$b(group$f(concat$g([p, line$a, params]))); + return [indent$4([p, line$8, params]), softline$6]; } function printPath(path, print) { - return path.call(print, "path"); + return print("path"); } function printParams(path, print) { const node = path.getValue(); const parts = []; - if (node.params.length) { + if (node.params.length > 0) { const params = path.map(print, "params"); parts.push(...params); } if (node.hash && node.hash.pairs.length > 0) { - const hash = path.call(print, "hash"); + const hash = print("hash"); parts.push(hash); } - if (!parts.length) { + if (parts.length === 0) { return ""; } - return join$9(line$a, parts); + return join$8(line$8, parts); } function printBlockParams(node) { - if (!node || !node.blockParams.length) { - return ""; - } - - return concat$g([" as |", node.blockParams.join(" "), "|"]); -} -/* istanbul ignore next - https://github.com/glimmerjs/glimmer-vm/blob/master/packages/%40glimmer/compiler/lib/location.ts#L5-L29 -*/ - - -function locationToOffset(source, line, column) { - let seenLines = 0; - let seenChars = 0; // eslint-disable-next-line no-constant-condition - - while (true) { - if (seenChars === source.length) { - return null; - } - - let nextLine = source.indexOf("\n", seenChars); - - if (nextLine === -1) { - nextLine = source.length; - } - - if (seenLines === line) { - if (seenChars + column > nextLine) { - return null; - } - - return seenChars + column; - } else if (nextLine === -1) { - return null; - } - - seenLines += 1; - seenChars = nextLine + 1; - } -} - -function doesNotHaveHashParams(node) { - return node.hash.pairs.length === 0; -} - -function doesNotHavePositionalParams(node) { - return node.params.length === 0; + return ["as |", node.blockParams.join(" "), "|"]; } var printerGlimmer = { - print: print$2, - massageAstNode: clean$3 + print, + massageAstNode: clean_1$2 }; -var name$d = "Handlebars"; -var type$b = "markup"; -var group$g = "HTML"; +var name$5 = "Handlebars"; +var type$5 = "markup"; +var color$5 = "#f7931e"; var aliases$3 = [ "hbs", "htmlbars" ]; -var extensions$b = [ +var extensions$5 = [ ".handlebars", ".hbs" ]; -var tmScope$b = "text.html.handlebars"; -var aceMode$b = "handlebars"; -var languageId$b = 155; -var Handlebars = { - name: name$d, - type: type$b, - group: group$g, +var tmScope$5 = "text.html.handlebars"; +var aceMode$5 = "handlebars"; +var languageId$5 = 155; +var require$$0$4 = { + name: name$5, + type: type$5, + color: color$5, aliases: aliases$3, - extensions: extensions$b, - tmScope: tmScope$b, - aceMode: aceMode$b, - languageId: languageId$b + extensions: extensions$5, + tmScope: tmScope$5, + aceMode: aceMode$5, + languageId: languageId$5 }; -var Handlebars$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$d, - type: type$b, - group: group$g, - aliases: aliases$3, - extensions: extensions$b, - tmScope: tmScope$b, - aceMode: aceMode$b, - languageId: languageId$b, - 'default': Handlebars -}); - -var require$$0$4 = getCjsExportFromNamespace(Handlebars$1); - -const languages$2 = [createLanguage(require$$0$4, () => ({ - since: null, - // unreleased +const languages$5 = [createLanguage(require$$0$4, () => ({ + since: "2.3.0", parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"] }))]; -const printers$2 = { +const printers$3 = { glimmer: printerGlimmer }; -const parsers$2 = { +const parsers$4 = { get glimmer() { return require("./parser-glimmer").parsers.glimmer; } }; var languageHandlebars = { - languages: languages$2, - printers: printers$2, - parsers: parsers$2 + languages: languages$5, + printers: printers$3, + parsers: parsers$4 }; function hasPragma$2(text) { return /^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(text); } -function insertPragma$4(text) { +function insertPragma$6(text) { return "# @format\n\n" + text; } -var pragma$2 = { +var pragma$3 = { hasPragma: hasPragma$2, - insertPragma: insertPragma$4 + insertPragma: insertPragma$6 +}; + +function locStart$8(node) { + if (typeof node.start === "number") { + return node.start; + } + + return node.loc && node.loc.start; +} + +function locEnd$7(node) { + if (typeof node.end === "number") { + return node.end; + } + + return node.loc && node.loc.end; +} + +var loc$3 = { + locStart: locStart$8, + locEnd: locEnd$7 }; const { - concat: concat$h, - join: join$a, - hardline: hardline$c, - line: line$b, - softline: softline$9, - group: group$h, - indent: indent$c, - ifBreak: ifBreak$7 -} = document.builders; + builders: { + join: join$7, + hardline: hardline$7, + line: line$7, + softline: softline$5, + group: group$6, + indent: indent$3, + ifBreak: ifBreak$5 + } +} = doc; const { - hasIgnoreComment: hasIgnoreComment$4, - isNextLineEmpty: isNextLineEmpty$6 -} = util; + isNextLineEmpty: isNextLineEmpty$2, + isNonEmptyArray: isNonEmptyArray$3 +} = util$5; const { insertPragma: insertPragma$5 -} = pragma$2; +} = pragma$3; +const { + locStart: locStart$7, + locEnd: locEnd$6 +} = loc$3; function genericPrint$3(path, options, print) { - const n = path.getValue(); + const node = path.getValue(); - if (!n) { + if (!node) { return ""; } - if (typeof n === "string") { - return n; + if (typeof node === "string") { + return node; } - switch (n.kind) { + switch (node.kind) { case "Document": { const parts = []; - path.map((pathChild, index) => { - parts.push(concat$h([pathChild.call(print)])); + path.each((pathChild, index, definitions) => { + parts.push(print()); - if (index !== n.definitions.length - 1) { - parts.push(hardline$c); + if (index !== definitions.length - 1) { + parts.push(hardline$7); - if (isNextLineEmpty$6(options.originalText, pathChild.getValue(), options.locEnd)) { - parts.push(hardline$c); + if (isNextLineEmpty$2(options.originalText, pathChild.getValue(), locEnd$6)) { + parts.push(hardline$7); } } }, "definitions"); - return concat$h([concat$h(parts), hardline$c]); + return [...parts, hardline$7]; } case "OperationDefinition": { - const hasOperation = options.originalText[options.locStart(n)] !== "{"; - const hasName = !!n.name; - return concat$h([hasOperation ? n.operation : "", hasOperation && hasName ? concat$h([" ", path.call(print, "name")]) : "", n.variableDefinitions && n.variableDefinitions.length ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.map(print, "variableDefinitions"))])), softline$9, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? !hasOperation && !hasName ? "" : " " : "", path.call(print, "selectionSet")]); + const hasOperation = options.originalText[locStart$7(node)] !== "{"; + const hasName = Boolean(node.name); + return [hasOperation ? node.operation : "", hasOperation && hasName ? [" ", print("name")] : "", hasOperation && !hasName && isNonEmptyArray$3(node.variableDefinitions) ? " " : "", isNonEmptyArray$3(node.variableDefinitions) ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.map(print, "variableDefinitions"))]), softline$5, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? !hasOperation && !hasName ? "" : " " : "", print("selectionSet")]; } case "FragmentDefinition": { - return concat$h(["fragment ", path.call(print, "name"), n.variableDefinitions && n.variableDefinitions.length ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.map(print, "variableDefinitions"))])), softline$9, ")"])) : "", " on ", path.call(print, "typeCondition"), printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); + return ["fragment ", print("name"), isNonEmptyArray$3(node.variableDefinitions) ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.map(print, "variableDefinitions"))]), softline$5, ")"]) : "", " on ", print("typeCondition"), printDirectives(path, print, node), " ", print("selectionSet")]; } case "SelectionSet": { - return concat$h(["{", indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(selectionsPath => printSequence(selectionsPath, options, print), "selections"))])), hardline$c, "}"]); + return ["{", indent$3([hardline$7, join$7(hardline$7, path.call(selectionsPath => printSequence(selectionsPath, options, print), "selections"))]), hardline$7, "}"]; } case "Field": { - return group$h(concat$h([n.alias ? concat$h([path.call(print, "alias"), ": "]) : "", path.call(print, "name"), n.arguments.length > 0 ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$9, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? " " : "", path.call(print, "selectionSet")])); + return group$6([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$5, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? " " : "", print("selectionSet")]); } case "Name": { - return n.value; + return node.value; } case "StringValue": { - if (n.block) { - return concat$h(['"""', hardline$c, join$a(hardline$c, n.value.replace(/"""/g, "\\$&").split("\n")), hardline$c, '"""']); + if (node.block) { + return ['"""', hardline$7, join$7(hardline$7, node.value.replace(/"""/g, "\\$&").split("\n")), hardline$7, '"""']; } - return concat$h(['"', n.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']); + return ['"', node.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']; } case "IntValue": case "FloatValue": case "EnumValue": { - return n.value; + return node.value; } case "BooleanValue": { - return n.value ? "true" : "false"; + return node.value ? "true" : "false"; } case "NullValue": @@ -48633,158 +52587,164 @@ function genericPrint$3(path, options, print) { case "Variable": { - return concat$h(["$", path.call(print, "name")]); + return ["$", print("name")]; } case "ListValue": { - return group$h(concat$h(["[", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.map(print, "values"))])), softline$9, "]"])); + return group$6(["[", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.map(print, "values"))]), softline$5, "]"]); } case "ObjectValue": { - return group$h(concat$h(["{", options.bracketSpacing && n.fields.length > 0 ? " " : "", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.map(print, "fields"))])), softline$9, ifBreak$7("", options.bracketSpacing && n.fields.length > 0 ? " " : ""), "}"])); + return group$6(["{", options.bracketSpacing && node.fields.length > 0 ? " " : "", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.map(print, "fields"))]), softline$5, ifBreak$5("", options.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]); } case "ObjectField": case "Argument": { - return concat$h([path.call(print, "name"), ": ", path.call(print, "value")]); + return [print("name"), ": ", print("value")]; } case "Directive": { - return concat$h(["@", path.call(print, "name"), n.arguments.length > 0 ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$9, ")"])) : ""]); + return ["@", print("name"), node.arguments.length > 0 ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$5, ")"]) : ""]; } case "NamedType": { - return path.call(print, "name"); + return print("name"); } case "VariableDefinition": { - return concat$h([path.call(print, "variable"), ": ", path.call(print, "type"), n.defaultValue ? concat$h([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); + return [print("variable"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; } case "ObjectTypeExtension": case "ObjectTypeDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", n.kind === "ObjectTypeExtension" ? "extend " : "", "type ", path.call(print, "name"), n.interfaces.length > 0 ? concat$h([" implements ", concat$h(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$h([" {", indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$c, "}"]) : ""]); + return [print("description"), node.description ? hardline$7 : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$3([hardline$7, join$7(hardline$7, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$7, "}"] : ""]; } case "FieldDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", path.call(print, "name"), n.arguments.length > 0 ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$9, ")"])) : "", ": ", path.call(print, "type"), printDirectives(path, print, n)]); + return [print("description"), node.description ? hardline$7 : "", print("name"), node.arguments.length > 0 ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$5, ")"]) : "", ": ", print("type"), printDirectives(path, print, node)]; } case "DirectiveDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", "directive ", "@", path.call(print, "name"), n.arguments.length > 0 ? group$h(concat$h(["(", indent$c(concat$h([softline$9, join$a(concat$h([ifBreak$7("", ", "), softline$9]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$9, ")"])) : "", n.repeatable ? " repeatable" : "", concat$h([" on ", join$a(" | ", path.map(print, "locations"))])]); + return [print("description"), node.description ? hardline$7 : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group$6(["(", indent$3([softline$5, join$7([ifBreak$5("", ", "), softline$5], path.call(argsPath => printSequence(argsPath, options, print), "arguments"))]), softline$5, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join$7(" | ", path.map(print, "locations"))]; } case "EnumTypeExtension": case "EnumTypeDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", n.kind === "EnumTypeExtension" ? "extend " : "", "enum ", path.call(print, "name"), printDirectives(path, print, n), n.values.length > 0 ? concat$h([" {", indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(valuesPath => printSequence(valuesPath, options, print), "values"))])), hardline$c, "}"]) : ""]); + return [print("description"), node.description ? hardline$7 : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path, print, node), node.values.length > 0 ? [" {", indent$3([hardline$7, join$7(hardline$7, path.call(valuesPath => printSequence(valuesPath, options, print), "values"))]), hardline$7, "}"] : ""]; } case "EnumValueDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", path.call(print, "name"), printDirectives(path, print, n)]); + return [print("description"), node.description ? hardline$7 : "", print("name"), printDirectives(path, print, node)]; } case "InputValueDefinition": { - return concat$h([path.call(print, "description"), n.description ? n.description.block ? hardline$c : line$b : "", path.call(print, "name"), ": ", path.call(print, "type"), n.defaultValue ? concat$h([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); + return [print("description"), node.description ? node.description.block ? hardline$7 : line$7 : "", print("name"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; } case "InputObjectTypeExtension": case "InputObjectTypeDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", n.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", path.call(print, "name"), printDirectives(path, print, n), n.fields.length > 0 ? concat$h([" {", indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$c, "}"]) : ""]); + return [print("description"), node.description ? hardline$7 : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$3([hardline$7, join$7(hardline$7, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$7, "}"] : ""]; } case "SchemaDefinition": { - return concat$h(["schema", printDirectives(path, print, n), " {", n.operationTypes.length > 0 ? indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(opsPath => printSequence(opsPath, options, print), "operationTypes"))])) : "", hardline$c, "}"]); + return ["schema", printDirectives(path, print, node), " {", node.operationTypes.length > 0 ? indent$3([hardline$7, join$7(hardline$7, path.call(opsPath => printSequence(opsPath, options, print), "operationTypes"))]) : "", hardline$7, "}"]; } case "OperationTypeDefinition": { - return concat$h([path.call(print, "operation"), ": ", path.call(print, "type")]); + return [print("operation"), ": ", print("type")]; } case "InterfaceTypeExtension": case "InterfaceTypeDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", n.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", path.call(print, "name"), n.interfaces.length > 0 ? concat$h([" implements ", concat$h(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$h([" {", indent$c(concat$h([hardline$c, join$a(hardline$c, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$c, "}"]) : ""]); + return [print("description"), node.description ? hardline$7 : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent$3([hardline$7, join$7(hardline$7, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))]), hardline$7, "}"] : ""]; } case "FragmentSpread": { - return concat$h(["...", path.call(print, "name"), printDirectives(path, print, n)]); + return ["...", print("name"), printDirectives(path, print, node)]; } case "InlineFragment": { - return concat$h(["...", n.typeCondition ? concat$h([" on ", path.call(print, "typeCondition")]) : "", printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); + return ["...", node.typeCondition ? [" on ", print("typeCondition")] : "", printDirectives(path, print, node), " ", print("selectionSet")]; } case "UnionTypeExtension": case "UnionTypeDefinition": { - return group$h(concat$h([path.call(print, "description"), n.description ? hardline$c : "", group$h(concat$h([n.kind === "UnionTypeExtension" ? "extend " : "", "union ", path.call(print, "name"), printDirectives(path, print, n), n.types.length > 0 ? concat$h([" =", ifBreak$7("", " "), indent$c(concat$h([ifBreak$7(concat$h([line$b, " "])), join$a(concat$h([line$b, "| "]), path.map(print, "types"))]))]) : ""]))])); + return group$6([print("description"), node.description ? hardline$7 : "", group$6([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path, print, node), node.types.length > 0 ? [" =", ifBreak$5("", " "), indent$3([ifBreak$5([line$7, " "]), join$7([line$7, "| "], path.map(print, "types"))])] : ""])]); } case "ScalarTypeExtension": case "ScalarTypeDefinition": { - return concat$h([path.call(print, "description"), n.description ? hardline$c : "", n.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", path.call(print, "name"), printDirectives(path, print, n)]); + return [print("description"), node.description ? hardline$7 : "", node.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", print("name"), printDirectives(path, print, node)]; } case "NonNullType": { - return concat$h([path.call(print, "type"), "!"]); + return [print("type"), "!"]; } case "ListType": { - return concat$h(["[", path.call(print, "type"), "]"]); + return ["[", print("type"), "]"]; } default: /* istanbul ignore next */ - throw new Error("unknown graphql type: " + JSON.stringify(n.kind)); + throw new Error("unknown graphql type: " + JSON.stringify(node.kind)); } } -function printDirectives(path, print, n) { - if (n.directives.length === 0) { +function printDirectives(path, print, node) { + if (node.directives.length === 0) { return ""; } - return group$h(concat$h([line$b, join$a(line$b, path.map(print, "directives"))])); + const printed = join$7(line$7, path.map(print, "directives")); + + if (node.kind === "FragmentDefinition" || node.kind === "OperationDefinition") { + return group$6([line$7, printed]); + } + + return [" ", group$6(indent$3([softline$5, printed]))]; } function printSequence(sequencePath, options, print) { const count = sequencePath.getValue().length; return sequencePath.map((path, i) => { - const printed = print(path); + const printed = print(); - if (isNextLineEmpty$6(options.originalText, path.getValue(), options.locEnd) && i < count - 1) { - return concat$h([printed, hardline$c]); + if (isNextLineEmpty$2(options.originalText, path.getValue(), locEnd$6) && i < count - 1) { + return [printed, hardline$7]; } return printed; }); } -function canAttachComment$1(node) { +function canAttachComment(node) { return node.kind && node.kind !== "Comment"; } -function printComment$2(commentPath) { +function printComment(commentPath) { const comment = commentPath.getValue(); if (comment.kind === "Comment") { @@ -48813,72 +52773,64 @@ function printInterfaces(path, options, print) { const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); const hasComment = textBetween.includes("#"); const separator = textBetween.replace(/#.*/g, "").trim(); - parts.push(separator === "," ? "," : " &"); - parts.push(hasComment ? line$b : " "); + parts.push(separator === "," ? "," : " &", hasComment ? line$7 : " "); } } return parts; } -function clean$4(node, newNode -/*, parent*/ -) { - delete newNode.loc; - delete newNode.comments; +function clean$3() +/*node, newNode , parent*/ +{} + +clean$3.ignoredProperties = new Set(["loc", "comments"]); + +function hasPrettierIgnore$5(path) { + const node = path.getValue(); + return node && Array.isArray(node.comments) && node.comments.some(comment => comment.value.trim() === "prettier-ignore"); } var printerGraphql = { print: genericPrint$3, - massageAstNode: clean$4, - hasPrettierIgnore: hasIgnoreComment$4, + massageAstNode: clean$3, + hasPrettierIgnore: hasPrettierIgnore$5, insertPragma: insertPragma$5, - printComment: printComment$2, - canAttachComment: canAttachComment$1 + printComment, + canAttachComment }; -var options$4 = { +var options$3 = { bracketSpacing: commonOptions.bracketSpacing }; -var name$e = "GraphQL"; -var type$c = "data"; -var extensions$c = [ +var name$4 = "GraphQL"; +var type$4 = "data"; +var color$4 = "#e10098"; +var extensions$4 = [ ".graphql", ".gql", ".graphqls" ]; -var tmScope$c = "source.graphql"; -var aceMode$c = "text"; -var languageId$c = 139; -var GraphQL = { - name: name$e, - type: type$c, - extensions: extensions$c, - tmScope: tmScope$c, - aceMode: aceMode$c, - languageId: languageId$c +var tmScope$4 = "source.graphql"; +var aceMode$4 = "text"; +var languageId$4 = 139; +var require$$0$3 = { + name: name$4, + type: type$4, + color: color$4, + extensions: extensions$4, + tmScope: tmScope$4, + aceMode: aceMode$4, + languageId: languageId$4 }; -var GraphQL$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$e, - type: type$c, - extensions: extensions$c, - tmScope: tmScope$c, - aceMode: aceMode$c, - languageId: languageId$c, - 'default': GraphQL -}); - -var require$$0$5 = getCjsExportFromNamespace(GraphQL$1); - -const languages$3 = [createLanguage(require$$0$5, () => ({ +const languages$4 = [createLanguage(require$$0$3, () => ({ since: "1.5.0", parsers: ["graphql"], vscodeLanguageIds: ["graphql"] }))]; -const printers$3 = { +const printers$2 = { graphql: printerGraphql }; const parsers$3 = { @@ -48888,60 +52840,82 @@ const parsers$3 = { }; var languageGraphql = { - languages: languages$3, - options: options$4, - printers: printers$3, + languages: languages$4, + options: options$3, + printers: printers$2, parsers: parsers$3 }; -var json = { - "cjkPattern": "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", +function locStart$6(node) { + return node.position.start.offset; +} + +function locEnd$5(node) { + return node.position.end.offset; +} + +var loc$2 = { + locStart: locStart$6, + locEnd: locEnd$5 +}; + +var require$$2 = { + "cjkPattern": "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", "kPattern": "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", "punctuationPattern": "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" }; const { - getLast: getLast$6 -} = util; + getLast: getLast$3 +} = util$5; +const { + locStart: locStart$5, + locEnd: locEnd$4 +} = loc$2; const { cjkPattern, kPattern, - punctuationPattern -} = json; -const INLINE_NODE_TYPES = ["liquidNode", "inlineCode", "emphasis", "strong", "delete", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; -const INLINE_NODE_WRAPPER_TYPES = INLINE_NODE_TYPES.concat(["tableCell", "paragraph", "heading"]); + punctuationPattern: punctuationPattern$1 +} = require$$2; +const INLINE_NODE_TYPES$1 = ["liquidNode", "inlineCode", "emphasis", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; +const INLINE_NODE_WRAPPER_TYPES$1 = [...INLINE_NODE_TYPES$1, "tableCell", "paragraph", "heading"]; const kRegex = new RegExp(kPattern); -const punctuationRegex = new RegExp(punctuationPattern); +const punctuationRegex = new RegExp(punctuationPattern$1); /** * split text into whitespaces and words * @param {string} text - * @return {Array<{ type: "whitespace", value: " " | "\n" | "" } | { type: "word", value: string }>} */ -function splitText(text, options) { +function splitText$2(text, options) { const KIND_NON_CJK = "non-cjk"; const KIND_CJ_LETTER = "cj-letter"; const KIND_K_LETTER = "k-letter"; const KIND_CJK_PUNCTUATION = "cjk-punctuation"; + /** @type {Array<{ type: "whitespace", value: " " | "\n" | "" } | { type: "word", value: string }>} */ + const nodes = []; - (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern})\n(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/).forEach((token, index, tokens) => { + const tokens = (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern})\n(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/); + + for (const [index, token] of tokens.entries()) { // whitespace if (index % 2 === 1) { nodes.push({ type: "whitespace", value: /\n/.test(token) ? "\n" : " " }); - return; + continue; } // word separated by whitespace if ((index === 0 || index === tokens.length - 1) && token === "") { - return; + continue; } - token.split(new RegExp(`(${cjkPattern})`)).forEach((innerToken, innerIndex, innerTokens) => { + const innerTokens = token.split(new RegExp(`(${cjkPattern})`)); + + for (const [innerIndex, innerToken] of innerTokens.entries()) { if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { - return; + continue; } // non-CJK word @@ -48952,11 +52926,11 @@ function splitText(text, options) { value: innerToken, kind: KIND_NON_CJK, hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), - hasTrailingPunctuation: punctuationRegex.test(getLast$6(innerToken)) + hasTrailingPunctuation: punctuationRegex.test(getLast$3(innerToken)) }); } - return; + continue; } // CJK character @@ -48973,12 +52947,13 @@ function splitText(text, options) { hasLeadingPunctuation: false, hasTrailingPunctuation: false }); - }); - }); + } + } + return nodes; function appendNode(node) { - const lastNode = getLast$6(nodes); + const lastNode = getLast$3(nodes); if (lastNode && lastNode.type === "word") { if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { @@ -49003,7 +52978,7 @@ function splitText(text, options) { } } -function getOrderedListItemInfo(orderListItem, originalText) { +function getOrderedListItemInfo$1(orderListItem, originalText) { const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); return { numberText, @@ -49012,7 +52987,7 @@ function getOrderedListItemInfo(orderListItem, originalText) { }; } -function hasGitDiffFriendlyOrderedList(node, options) { +function hasGitDiffFriendlyOrderedList$1(node, options) { if (!node.ordered) { return false; } @@ -49021,127 +52996,111 @@ function hasGitDiffFriendlyOrderedList(node, options) { return false; } - const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText); - const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText); + const firstNumber = Number(getOrderedListItemInfo$1(node.children[0], options.originalText).numberText); + const secondNumber = Number(getOrderedListItemInfo$1(node.children[1], options.originalText).numberText); if (firstNumber === 0 && node.children.length > 2) { - const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText); + const thirdNumber = Number(getOrderedListItemInfo$1(node.children[2], options.originalText).numberText); return secondNumber === 1 && thirdNumber === 1; } return secondNumber === 1; -} // workaround for https://github.com/remarkjs/remark/issues/351 -// leading and trailing newlines are stripped by remark +} // The final new line should not include in value +// https://github.com/remarkjs/remark/issues/512 -function getFencedCodeBlockValue(node, originalText) { - const text = originalText.trimEnd().slice(node.position.start.offset, node.position.end.offset); - const leadingSpaceCount = text.match(/^\s*/)[0].length; - const replaceRegex = new RegExp(`^\\s{0,${leadingSpaceCount}}`); - const lineContents = text.split("\n"); - const markerStyle = text[leadingSpaceCount]; // ` or ~ +function getFencedCodeBlockValue$2(node, originalText) { + const { + value + } = node; - const marker = text.slice(leadingSpaceCount).match(new RegExp(`^[${markerStyle}]+`))[0]; // https://spec.commonmark.org/0.28/#example-104: Closing fences may be indented by 0-3 spaces - // https://spec.commonmark.org/0.28/#example-93: The closing code fence must be at least as long as the opening fence - - const hasEndMarker = new RegExp(`^\\s{0,3}${marker}`).test(lineContents[lineContents.length - 1].slice(getIndent(lineContents.length - 1))); - return lineContents.slice(1, hasEndMarker ? -1 : undefined).map((x, i) => x.slice(getIndent(i + 1)).replace(replaceRegex, "")).join("\n"); - - function getIndent(lineIndex) { - return node.position.indent[lineIndex - 1] - 1; + if (node.position.end.offset === originalText.length && value.endsWith("\n") && // Code block has no end mark + originalText.endsWith("\n")) { + return value.slice(0, -1); } + + return value; } -function mapAst(ast, handler) { +function mapAst$1(ast, handler) { return function preorder(node, index, parentStack) { - parentStack = parentStack || []; const newNode = Object.assign({}, handler(node, index, parentStack)); if (newNode.children) { - newNode.children = newNode.children.map((child, index) => { - return preorder(child, index, [newNode].concat(parentStack)); - }); + newNode.children = newNode.children.map((child, index) => preorder(child, index, [newNode, ...parentStack])); } return newNode; - }(ast, null, null); + }(ast, null, []); } -function isAutolink(node, options) { +function isAutolink$1(node) { if (!node || node.type !== "link" || node.children.length !== 1) { return false; } const child = node.children[0]; - return child && options.locStart(node) === options.locStart(child) && options.locEnd(node) === options.locEnd(child); + return child && locStart$5(node) === locStart$5(child) && locEnd$4(node) === locEnd$4(child); } -var utils$9 = { - mapAst, - splitText, - punctuationPattern, - getFencedCodeBlockValue, - getOrderedListItemInfo, - hasGitDiffFriendlyOrderedList, - INLINE_NODE_TYPES, - INLINE_NODE_WRAPPER_TYPES, - isAutolink +var utils$2 = { + mapAst: mapAst$1, + splitText: splitText$2, + punctuationPattern: punctuationPattern$1, + getFencedCodeBlockValue: getFencedCodeBlockValue$2, + getOrderedListItemInfo: getOrderedListItemInfo$1, + hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1, + INLINE_NODE_TYPES: INLINE_NODE_TYPES$1, + INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1, + isAutolink: isAutolink$1 }; const { - getParserName: getParserName$1, - getMaxContinuousCount: getMaxContinuousCount$2 -} = util; + inferParserByLanguage: inferParserByLanguage$1, + getMaxContinuousCount: getMaxContinuousCount$1 +} = util$5; const { builders: { - hardline: hardline$d, - literalline: literalline$3, - concat: concat$i, + hardline: hardline$6, markAsRoot: markAsRoot$2 }, utils: { - mapDoc: mapDoc$2 + replaceNewlinesWithLiterallines } -} = document; -const { - print: printFrontMatter$1 -} = frontMatter; +} = doc; const { getFencedCodeBlockValue: getFencedCodeBlockValue$1 -} = utils$9; +} = utils$2; -function embed$2(path, print, textToDoc, options) { +function embed$3(path, print, textToDoc, options) { const node = path.getValue(); if (node.type === "code" && node.lang !== null) { - // only look for the first string so as to support [markdown-preview-enhanced](https://shd101wyy.github.io/markdown-preview-enhanced/#/code-chunk) - const langMatch = node.lang.match(/^[\w-]+/); - const lang = langMatch ? langMatch[0] : ""; - const parser = getParserName$1(lang, options); + const parser = inferParserByLanguage$1(node.lang, options); if (parser) { const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$2(node.value, styleUnit) + 1)); + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$1(node.value, styleUnit) + 1)); const doc = textToDoc(getFencedCodeBlockValue$1(node, options.originalText), { parser }, { stripTrailingHardline: true }); - return markAsRoot$2(concat$i([style, node.lang, node.meta ? " " + node.meta : "", hardline$d, replaceNewlinesWithLiterallines(doc), hardline$d, style])); + return markAsRoot$2([style, node.lang, node.meta ? " " + node.meta : "", hardline$6, replaceNewlinesWithLiterallines(doc), hardline$6, style]); } } switch (node.type) { case "front-matter": - return printFrontMatter$1(node, textToDoc); + return print_1(node, textToDoc); // MDX case "importExport": - return concat$i([textToDoc(node.value, { + return [textToDoc(node.value, { parser: "babel" }, { stripTrailingHardline: true - }), hardline$d]); + }), hardline$6]; case "jsx": return textToDoc(`<$>${node.value}`, { @@ -49153,46 +53112,38 @@ function embed$2(path, print, textToDoc, options) { } return null; - - function replaceNewlinesWithLiterallines(doc) { - return mapDoc$2(doc, currentDoc => typeof currentDoc === "string" && currentDoc.includes("\n") ? concat$i(currentDoc.split(/(\n)/g).map((v, i) => i % 2 === 0 ? v : literalline$3)) : currentDoc); - } } -var embed_1$2 = embed$2; +var embed_1$1 = embed$3; -const { - parse: parseFrontMatter$1 -} = frontMatter; const pragmas = ["format", "prettier"]; -function startWithPragma(text) { +function startWithPragma$1(text) { const pragma = `@(${pragmas.join("|")})`; const regex = new RegExp([``, ``].join("|"), "m"); const matched = text.match(regex); return matched && matched.index === 0; } -var pragma$3 = { - startWithPragma, - hasPragma: text => startWithPragma(parseFrontMatter$1(text).content.trimStart()), +var pragma$2 = { + startWithPragma: startWithPragma$1, + hasPragma: text => startWithPragma$1(parse_1(text).content.trimStart()), insertPragma: text => { - const extracted = parseFrontMatter$1(text); + const extracted = parse_1(text); const pragma = ``; return extracted.frontMatter ? `${extracted.frontMatter.raw}\n\n${pragma}\n\n${extracted.content}` : `${pragma}\n\n${extracted.content}`; } }; const { - getOrderedListItemInfo: getOrderedListItemInfo$1, - mapAst: mapAst$1, + getOrderedListItemInfo, + mapAst, splitText: splitText$1 -} = utils$9; // 0x0 ~ 0x10ffff -// eslint-disable-next-line no-control-regex +} = utils$2; // 0x0 ~ 0x10ffff -const isSingleCharRegex = /^([\u0000-\uffff]|[\ud800-\udbff][\udc00-\udfff])$/; +const isSingleCharRegex = /^.$/su; -function preprocess$1(ast, options) { +function preprocess$2(ast, options) { ast = restoreUnescapedCharacter(ast, options); ast = mergeContinuousTexts(ast); ast = transformInlineCode(ast); @@ -49205,36 +53156,34 @@ function preprocess$1(ast, options) { } function transformImportExport(ast) { - return mapAst$1(ast, node => { + return mapAst(ast, node => { if (node.type !== "import" && node.type !== "export") { return node; } - return Object.assign({}, node, { + return Object.assign(Object.assign({}, node), {}, { type: "importExport" }); }); } function transformInlineCode(ast) { - return mapAst$1(ast, node => { + return mapAst(ast, node => { if (node.type !== "inlineCode") { return node; } - return Object.assign({}, node, { + return Object.assign(Object.assign({}, node), {}, { value: node.value.replace(/\s+/g, " ") }); }); } function restoreUnescapedCharacter(ast, options) { - return mapAst$1(ast, node => { - return node.type !== "text" ? node : Object.assign({}, node, { - value: node.value !== "*" && node.value !== "_" && node.value !== "$" && // handle these cases in printer - isSingleCharRegex.test(node.value) && node.position.end.offset - node.position.start.offset !== node.value.length ? options.originalText.slice(node.position.start.offset, node.position.end.offset) : node.value - }); - }); + return mapAst(ast, node => node.type !== "text" || node.value === "*" || node.value === "_" || // handle these cases in printer + !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign(Object.assign({}, node), {}, { + value: options.originalText.slice(node.position.start.offset, node.position.end.offset) + })); } function mergeContinuousImportExport(ast) { @@ -49249,13 +53198,13 @@ function mergeContinuousImportExport(ast) { } function mergeChildren(ast, shouldMerge, mergeNode) { - return mapAst$1(ast, node => { + return mapAst(ast, node => { if (!node.children) { return node; } const children = node.children.reduce((current, child) => { - const lastChild = current[current.length - 1]; + const lastChild = getLast_1(current); if (lastChild && shouldMerge(lastChild, child)) { current.splice(-1, 1, mergeNode(lastChild, child)); @@ -49265,7 +53214,7 @@ function mergeChildren(ast, shouldMerge, mergeNode) { return current; }, []); - return Object.assign({}, node, { + return Object.assign(Object.assign({}, node), {}, { children }); }); @@ -49283,7 +53232,7 @@ function mergeContinuousTexts(ast) { } function splitTextIntoSentences(ast, options) { - return mapAst$1(ast, (node, index, [parentNode]) => { + return mapAst(ast, (node, index, [parentNode]) => { if (node.type !== "text") { return node; } @@ -49311,7 +53260,7 @@ function splitTextIntoSentences(ast, options) { } function transformIndentedCodeblockAndMarkItsParentList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { + return mapAst(ast, (node, index, parentStack) => { if (node.type === "code") { // the first char may point to `\n`, e.g. `\n\t\tbar`, just ignore it const isIndented = /^\n?( {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); @@ -49337,8 +53286,8 @@ function transformIndentedCodeblockAndMarkItsParentList(ast, options) { } function markAlignedList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { - if (node.type === "list" && node.children.length !== 0) { + return mapAst(ast, (node, index, parentStack) => { + if (node.type === "list" && node.children.length > 0) { // if one of its parents is not aligned, it's not possible to be aligned in sub-lists for (let i = 0; i < parentStack.length; i++) { const parent = parentStack[i]; @@ -49369,7 +53318,7 @@ function markAlignedList(ast, options) { } const [firstItem, secondItem] = list.children; - const firstInfo = getOrderedListItemInfo$1(firstItem, options.originalText); + const firstInfo = getOrderedListItemInfo(firstItem, options.originalText); if (firstInfo.leadingSpaces.length > 1) { /** @@ -49439,64 +53388,127 @@ function markAlignedList(ast, options) { */ - const secondInfo = getOrderedListItemInfo$1(secondItem, options.originalText); + const secondInfo = getOrderedListItemInfo(secondItem, options.originalText); return secondInfo.leadingSpaces.length > 1; } } -var preprocess_1$1 = preprocess$1; +var printPreprocess$2 = preprocess$2; const { - getLast: getLast$7, - getMinNotPresentContinuousCount: getMinNotPresentContinuousCount$1, - getMaxContinuousCount: getMaxContinuousCount$3, - getStringWidth: getStringWidth$4 -} = util; + isFrontMatterNode: isFrontMatterNode$2 +} = util$5; +const { + startWithPragma +} = pragma$2; +const ignoredProperties$1 = new Set(["position", "raw" // front-matter +]); + +function clean$2(ast, newObj, parent) { + // for codeblock + if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { + delete newObj.value; + } + + if (ast.type === "list") { + delete newObj.isAligned; + } + + if (ast.type === "list" || ast.type === "listItem") { + delete newObj.spread; + delete newObj.loose; + } // texts can be splitted or merged + + + if (ast.type === "text") { + return null; + } + + if (ast.type === "inlineCode") { + newObj.value = ast.value.replace(/[\t\n ]+/g, " "); + } + + if (ast.type === "wikiLink") { + newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); + } + + if (ast.type === "definition" || ast.type === "linkReference") { + newObj.label = ast.label.trim().replace(/[\t\n ]+/g, " ").toLowerCase(); + } + + if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { + newObj.title = ast.title.replace(/\\(["')])/g, "$1"); + } // for insert pragma + + + if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode$2(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma(ast.value)) { + return null; + } +} + +clean$2.ignoredProperties = ignoredProperties$1; +var clean_1$1 = clean$2; + +const { + getLast: getLast$2, + getMinNotPresentContinuousCount, + getMaxContinuousCount, + getStringWidth, + isNonEmptyArray: isNonEmptyArray$2 +} = util$5; const { builders: { - breakParent: breakParent$6, - concat: concat$j, - join: join$b, - line: line$c, - literalline: literalline$4, - markAsRoot: markAsRoot$3, - hardline: hardline$e, - softline: softline$a, - ifBreak: ifBreak$8, - fill: fill$5, - align: align$3, - indent: indent$d, - group: group$i + breakParent: breakParent$2, + join: join$6, + line: line$6, + literalline: literalline$3, + markAsRoot: markAsRoot$1, + hardline: hardline$5, + softline: softline$4, + ifBreak: ifBreak$4, + fill: fill$3, + align: align$1, + indent: indent$2, + group: group$5, + hardlineWithoutBreakParent }, utils: { - normalizeDoc: normalizeDoc$1 + normalizeDoc, + replaceEndOfLineWith: replaceEndOfLineWith$2 }, printer: { - printDocToString: printDocToString$3 + printDocToString } -} = document; +} = doc; const { - replaceEndOfLineWith: replaceEndOfLineWith$1, - isFrontMatterNode: isFrontMatterNode$3 -} = util; + insertPragma: insertPragma$4 +} = pragma$2; const { - getFencedCodeBlockValue: getFencedCodeBlockValue$2, - hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1, - splitText: splitText$2, - punctuationPattern: punctuationPattern$1, - INLINE_NODE_TYPES: INLINE_NODE_TYPES$1, - INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1, - isAutolink: isAutolink$1 -} = utils$9; + locStart: locStart$4, + locEnd: locEnd$3 +} = loc$2; +const { + getFencedCodeBlockValue, + hasGitDiffFriendlyOrderedList, + splitText, + punctuationPattern, + INLINE_NODE_TYPES, + INLINE_NODE_WRAPPER_TYPES, + isAutolink +} = utils$2; +/** + * @typedef {import("../document").Doc} Doc + */ + const TRAILING_HARDLINE_NODES = new Set(["importExport"]); -const SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link"]; +const SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; const SIBLING_NODE_TYPES = new Set(["listItem", "definition", "footnoteDefinition"]); -function genericPrint$4(path, options, print) { +function genericPrint$2(path, options, print) { const node = path.getValue(); if (shouldRemainTheSameContent(path)) { - return concat$j(splitText$2(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === "word" ? node.value : node.value === "" ? "" : printLine(path, node.value, options))); + return splitText(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === "word" ? node.value : node.value === "" ? "" : printLine(path, node.value, options)); } switch (node.type) { @@ -49508,24 +53520,24 @@ function genericPrint$4(path, options, print) { return ""; } - return concat$j([normalizeDoc$1(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode(node).type) ? hardline$e : ""]); + return [normalizeDoc(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode$2(node).type) ? hardline$5 : ""]; case "paragraph": - return printChildren$1(path, options, print, { - postprocessor: fill$5 + return printChildren$2(path, options, print, { + postprocessor: fill$3 }); case "sentence": - return printChildren$1(path, options, print); + return printChildren$2(path, options, print); case "word": { - let escapedValue = node.value.replace(/[$*]/g, "\\$&") // escape all `*` and `$` (math) - .replace(new RegExp([`(^|${punctuationPattern$1})(_+)`, `(_+)(${punctuationPattern$1}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis + let escapedValue = node.value.replace(/\*/g, "\\$&") // escape all `*` + .replace(new RegExp([`(^|${punctuationPattern})(_+)`, `(_+)(${punctuationPattern}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis const isFirstSentence = (node, name, index) => node.type === "sentence" && index === 0; - const isLastChildAutolink = (node, name, index) => isAutolink$1(node.children[index - 1], options); + const isLastChildAutolink = (node, name, index) => isAutolink(node.children[index - 1]); if (escapedValue !== node.value && (path.match(undefined, isFirstSentence, isLastChildAutolink) || path.match(undefined, isFirstSentence, (node, name, index) => node.type === "emphasis" && index === 0, isLastChildAutolink))) { // backslash is parsed as part of autolinks, so we need to remove it @@ -49551,7 +53563,7 @@ function genericPrint$4(path, options, print) { { let style; - if (isAutolink$1(node.children[0], options)) { + if (isAutolink(node.children[0])) { style = options.originalText[node.position.start.offset]; } else { const parentNode = path.getParentNode(); @@ -49559,25 +53571,38 @@ function genericPrint$4(path, options, print) { const prevNode = parentNode.children[index - 1]; const nextNode = parentNode.children[index + 1]; const hasPrevOrNextWord = // `1*2*3` is considered emphasis but `1_2_3` is not - prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast$7(prevNode.children).type === "word" && !getLast$7(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; - style = hasPrevOrNextWord || getAncestorNode$2(path, "emphasis") ? "*" : "_"; + prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast$2(prevNode.children).type === "word" && !getLast$2(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; + style = hasPrevOrNextWord || getAncestorNode(path, "emphasis") ? "*" : "_"; } - return concat$j([style, printChildren$1(path, options, print), style]); + return [style, printChildren$2(path, options, print), style]; } case "strong": - return concat$j(["**", printChildren$1(path, options, print), "**"]); + return ["**", printChildren$2(path, options, print), "**"]; case "delete": - return concat$j(["~~", printChildren$1(path, options, print), "~~"]); + return ["~~", printChildren$2(path, options, print), "~~"]; case "inlineCode": { - const backtickCount = getMinNotPresentContinuousCount$1(node.value, "`"); + const backtickCount = getMinNotPresentContinuousCount(node.value, "`"); const style = "`".repeat(backtickCount || 1); const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; - return concat$j([style, gap, node.value, gap, style]); + return [style, gap, node.value, gap, style]; + } + + case "wikiLink": + { + let contents = ""; + + if (options.proseWrap === "preserve") { + contents = node.value; + } else { + contents = node.value.replace(/[\t\n]+/g, " "); + } + + return ["[[", contents, "]]"]; } case "link": @@ -49587,61 +53612,61 @@ function genericPrint$4(path, options, print) { const mailto = "mailto:"; const url = // is parsed as { url: "mailto:hello@example.com" } node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; - return concat$j(["<", url, ">"]); + return ["<", url, ">"]; } case "[": - return concat$j(["[", printChildren$1(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); + return ["[", printChildren$2(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; default: return options.originalText.slice(node.position.start.offset, node.position.end.offset); } case "image": - return concat$j(["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); + return ["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; case "blockquote": - return concat$j(["> ", align$3("> ", printChildren$1(path, options, print))]); + return ["> ", align$1("> ", printChildren$2(path, options, print))]; case "heading": - return concat$j(["#".repeat(node.depth) + " ", printChildren$1(path, options, print)]); + return ["#".repeat(node.depth) + " ", printChildren$2(path, options, print)]; case "code": { if (node.isIndented) { // indented code block const alignment = " ".repeat(4); - return align$3(alignment, concat$j([alignment, concat$j(replaceEndOfLineWith$1(node.value, hardline$e))])); + return align$1(alignment, [alignment, ...replaceEndOfLineWith$2(node.value, hardline$5)]); } // fenced code block const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$3(node.value, styleUnit) + 1)); - return concat$j([style, node.lang || "", node.meta ? " " + node.meta : "", hardline$e, concat$j(replaceEndOfLineWith$1(getFencedCodeBlockValue$2(node, options.originalText), hardline$e)), hardline$e, style]); + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); + return [style, node.lang || "", node.meta ? " " + node.meta : "", hardline$5, ...replaceEndOfLineWith$2(getFencedCodeBlockValue(node, options.originalText), hardline$5), hardline$5, style]; } case "html": { const parentNode = path.getParentNode(); - const value = parentNode.type === "root" && getLast$7(parentNode.children) === node ? node.value.trimEnd() : node.value; - const isHtmlComment = /^$/.test(value); - return concat$j(replaceEndOfLineWith$1(value, isHtmlComment ? hardline$e : markAsRoot$3(literalline$4))); + const value = parentNode.type === "root" && getLast$2(parentNode.children) === node ? node.value.trimEnd() : node.value; + const isHtmlComment = /^$/s.test(value); + return replaceEndOfLineWith$2(value, isHtmlComment ? hardline$5 : markAsRoot$1(literalline$3)); } case "list": { const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); - const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList$1(node, options); - return printChildren$1(path, options, print, { + const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList(node, options); + return printChildren$2(path, options, print, { processor: (childPath, index) => { const prefix = getPrefix(); const childNode = childPath.getValue(); if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { - return concat$j([prefix, printListItem(childPath, options, print, prefix)]); + return [prefix, printListItem(childPath, options, print, prefix)]; } - return concat$j([prefix, align$3(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]); + return [prefix, align$1(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]; function getPrefix() { const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; @@ -49655,7 +53680,7 @@ function genericPrint$4(path, options, print) { case "thematicBreak": { - const counter = getAncestorCounter$1(path, "list"); + const counter = getAncestorCounter(path, "list"); if (counter === -1) { return "---"; @@ -49666,21 +53691,21 @@ function genericPrint$4(path, options, print) { } case "linkReference": - return concat$j(["[", printChildren$1(path, options, print), "]", node.referenceType === "full" ? concat$j(["[", node.identifier, "]"]) : node.referenceType === "collapsed" ? "[]" : ""]); + return ["[", printChildren$2(path, options, print), "]", node.referenceType === "full" ? ["[", node.identifier, "]"] : node.referenceType === "collapsed" ? "[]" : ""]; case "imageReference": switch (node.referenceType) { case "full": - return concat$j(["![", node.alt || "", "][", node.identifier, "]"]); + return ["![", node.alt || "", "][", node.identifier, "]"]; default: - return concat$j(["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]); + return ["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]; } case "definition": { - const lineOrSpace = options.proseWrap === "always" ? line$c : " "; - return group$i(concat$j([concat$j(["[", node.identifier, "]:"]), indent$d(concat$j([lineOrSpace, printUrl(node.url), node.title === null ? "" : concat$j([lineOrSpace, printTitle(node.title, options, false)])]))])); + const lineOrSpace = options.proseWrap === "always" ? line$6 : " "; + return group$5(["[", node.identifier, "]:", indent$2([lineOrSpace, printUrl(node.url), node.title === null ? "" : [lineOrSpace, printTitle(node.title, options, false)]])]); } // `footnote` requires `.use(footnotes, {inlineNotes: true})`, we are not using this option // https://github.com/remarkjs/remark-footnotes#optionsinlinenotes @@ -49688,49 +53713,49 @@ function genericPrint$4(path, options, print) { /* istanbul ignore next */ case "footnote": - return concat$j(["[^", printChildren$1(path, options, print), "]"]); + return ["[^", printChildren$2(path, options, print), "]"]; case "footnoteReference": - return concat$j(["[^", node.identifier, "]"]); + return ["[^", node.identifier, "]"]; case "footnoteDefinition": { const nextNode = path.getParentNode().children[path.getName() + 1]; const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); - return concat$j(["[^", node.identifier, "]: ", shouldInlineFootnote ? printChildren$1(path, options, print) : group$i(concat$j([align$3(" ".repeat(4), printChildren$1(path, options, print, { - processor: (childPath, index) => { - return index === 0 ? group$i(concat$j([softline$a, childPath.call(print)])) : childPath.call(print); - } - })), nextNode && nextNode.type === "footnoteDefinition" ? softline$a : ""]))]); + return ["[^", node.identifier, "]: ", shouldInlineFootnote ? printChildren$2(path, options, print) : group$5([align$1(" ".repeat(4), printChildren$2(path, options, print, { + processor: (childPath, index) => index === 0 ? group$5([softline$4, print()]) : print() + })), nextNode && nextNode.type === "footnoteDefinition" ? softline$4 : ""])]; } case "table": return printTable(path, options, print); case "tableCell": - return printChildren$1(path, options, print); + return printChildren$2(path, options, print); case "break": - return /\s/.test(options.originalText[node.position.start.offset]) ? concat$j([" ", markAsRoot$3(literalline$4)]) : concat$j(["\\", hardline$e]); + return /\s/.test(options.originalText[node.position.start.offset]) ? [" ", markAsRoot$1(literalline$3)] : ["\\", hardline$5]; case "liquidNode": - return concat$j(replaceEndOfLineWith$1(node.value, hardline$e)); + return replaceEndOfLineWith$2(node.value, hardline$5); // MDX + // fallback to the original text if multiparser failed + // or `embeddedLanguageFormatting: "off"` case "importExport": + return [node.value, hardline$5]; + case "jsx": - // fallback to the original text if multiparser failed - // or `embeddedLanguageFormatting: "off"` - return concat$j([node.value, hardline$e]); + return node.value; case "math": - return concat$j(["$$", hardline$e, node.value ? concat$j([concat$j(replaceEndOfLineWith$1(node.value, hardline$e)), hardline$e]) : "", "$$"]); + return ["$$", hardline$5, node.value ? [...replaceEndOfLineWith$2(node.value, hardline$5), hardline$5] : "", "$$"]; case "inlineMath": { // remark-math trims content but we don't want to remove whitespaces // since it's very possible that it's recognized as math accidentally - return options.originalText.slice(options.locStart(node), options.locEnd(node)); + return options.originalText.slice(locStart$4(node), locEnd$3(node)); } case "tableRow": // handled in "table" @@ -49746,17 +53771,17 @@ function genericPrint$4(path, options, print) { function printListItem(path, options, print, listPrefix) { const node = path.getValue(); const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; - return concat$j([prefix, printChildren$1(path, options, print, { + return [prefix, printChildren$2(path, options, print, { processor: (childPath, index) => { if (index === 0 && childPath.getValue().type !== "list") { - return align$3(" ".repeat(prefix.length), childPath.call(print)); + return align$1(" ".repeat(prefix.length), print()); } const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3) // 4+ will cause indented code block ); - return concat$j([alignment, align$3(alignment, childPath.call(print))]); + return [alignment, align$1(alignment, print())]; } - })]); + })]; } function alignListPrefix(prefix, options) { @@ -49775,8 +53800,6 @@ function getNthListSiblingIndex(node, parentNode) { } function getNthSiblingIndex(node, parentNode, condition) { - condition = condition || (() => true); - let index = -1; for (const childNode of parentNode.children) { @@ -49792,8 +53815,8 @@ function getNthSiblingIndex(node, parentNode, condition) { } } -function getAncestorCounter$1(path, typeOrTypes) { - const types = [].concat(typeOrTypes); +function getAncestorCounter(path, typeOrTypes) { + const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; let counter = -1; let ancestorNode; @@ -49806,101 +53829,93 @@ function getAncestorCounter$1(path, typeOrTypes) { return -1; } -function getAncestorNode$2(path, typeOrTypes) { - const counter = getAncestorCounter$1(path, typeOrTypes); +function getAncestorNode(path, typeOrTypes) { + const counter = getAncestorCounter(path, typeOrTypes); return counter === -1 ? null : path.getParentNode(counter); } function printLine(path, value, options) { if (options.proseWrap === "preserve" && value === "\n") { - return hardline$e; + return hardline$5; } - const isBreakable = options.proseWrap === "always" && !getAncestorNode$2(path, SINGLE_LINE_NODE_TYPES); - return value !== "" ? isBreakable ? line$c : " " : isBreakable ? softline$a : ""; + const isBreakable = options.proseWrap === "always" && !getAncestorNode(path, SINGLE_LINE_NODE_TYPES); + return value !== "" ? isBreakable ? line$6 : " " : isBreakable ? softline$4 : ""; } function printTable(path, options, print) { - const hardlineWithoutBreakParent = hardline$e.parts[0]; const node = path.getValue(); - const contents = []; // { [rowIndex: number]: { [columnIndex: number]: string } } + const columnMaxWidths = []; // { [rowIndex: number]: { [columnIndex: number]: {text: string, width: number} } } - path.map(rowPath => { - const rowContents = []; - rowPath.map(cellPath => { - rowContents.push(printDocToString$3(cellPath.call(print), options).formatted); - }, "children"); - contents.push(rowContents); - }, "children"); // Get the width of each column - - const columnMaxWidths = contents.reduce((currentWidths, rowContents) => currentWidths.map((width, columnIndex) => Math.max(width, getStringWidth$4(rowContents[columnIndex]))), contents[0].map(() => 3) // minimum width = 3 (---, :--, :-:, --:) - ); - const alignedTable = join$b(hardlineWithoutBreakParent, [printRow(contents[0]), printSeparator(), join$b(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents)))]); + const contents = path.map(rowPath => rowPath.map((cellPath, columnIndex) => { + const text = printDocToString(print(), options).formatted; + const width = getStringWidth(text); + columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, // minimum width = 3 (---, :--, :-:, --:) + width); + return { + text, + width + }; + }, "children"), "children"); + const alignedTable = printTableContents( + /* isCompact */ + false); if (options.proseWrap !== "never") { - return concat$j([breakParent$6, alignedTable]); + return [breakParent$2, alignedTable]; } // Only if the --prose-wrap never is set and it exceeds the print width. - const compactTable = join$b(hardlineWithoutBreakParent, [printRow(contents[0], + const compactTable = printTableContents( /* isCompact */ - true), printSeparator( - /* isCompact */ - true), join$b(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents, - /* isCompact */ - true)))]); - return concat$j([breakParent$6, group$i(ifBreak$8(compactTable, alignedTable))]); + true); + return [breakParent$2, group$5(ifBreak$4(compactTable, alignedTable))]; - function printSeparator(isCompact) { - return concat$j(["| ", join$b(" | ", columnMaxWidths.map((width, index) => { - const spaces = isCompact ? 3 : width; + function printTableContents(isCompact) { + /** @type{Doc[]} */ + const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; - switch (node.align[index]) { - case "left": - return ":" + "-".repeat(spaces - 1); + if (contents.length > 1) { + parts.push(join$6(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents, isCompact)))); + } - case "right": - return "-".repeat(spaces - 1) + ":"; + return join$6(hardlineWithoutBreakParent, parts); + } - case "center": - return ":" + "-".repeat(spaces - 2) + ":"; - - default: - return "-".repeat(spaces); - } - })), " |"]); + function printAlign(isCompact) { + const align = columnMaxWidths.map((width, index) => { + const align = node.align[index]; + const first = align === "center" || align === "left" ? ":" : "-"; + const last = align === "center" || align === "right" ? ":" : "-"; + const middle = isCompact ? "-" : "-".repeat(width - 2); + return `${first}${middle}${last}`; + }); + return `| ${align.join(" | ")} |`; } function printRow(rowContents, isCompact) { - return concat$j(["| ", join$b(" | ", isCompact ? rowContents : rowContents.map((rowContent, columnIndex) => { - switch (node.align[columnIndex]) { - case "right": - return alignRight(rowContent, columnMaxWidths[columnIndex]); - - case "center": - return alignCenter(rowContent, columnMaxWidths[columnIndex]); - - default: - return alignLeft(rowContent, columnMaxWidths[columnIndex]); + const columns = rowContents.map(({ + text, + width + }, columnIndex) => { + if (isCompact) { + return text; } - })), " |"]); - } - function alignLeft(text, width) { - const spaces = width - getStringWidth$4(text); - return concat$j([text, " ".repeat(spaces)]); - } + const spaces = columnMaxWidths[columnIndex] - width; + const align = node.align[columnIndex]; + let before = 0; - function alignRight(text, width) { - const spaces = width - getStringWidth$4(text); - return concat$j([" ".repeat(spaces), text]); - } + if (align === "right") { + before = spaces; + } else if (align === "center") { + before = Math.floor(spaces / 2); + } - function alignCenter(text, width) { - const spaces = width - getStringWidth$4(text); - const left = Math.floor(spaces / 2); - const right = spaces - left; - return concat$j([" ".repeat(left), text, " ".repeat(right)]); + const after = spaces - before; + return `${" ".repeat(before)}${text}${" ".repeat(after)}`; + }); + return `| ${columns.join(" | ")} |`; } } @@ -49915,8 +53930,9 @@ function printRoot(path, options, print) { const { children } = path.getValue(); - children.forEach((childNode, index) => { - switch (isPrettierIgnore(childNode)) { + + for (const [index, childNode] of children.entries()) { + switch (isPrettierIgnore$2(childNode)) { case "start": if (ignoreStart === null) { ignoreStart = { @@ -49941,14 +53957,15 @@ function printRoot(path, options, print) { break; } - }); - return printChildren$1(path, options, print, { + } + + return printChildren$2(path, options, print, { processor: (childPath, index) => { - if (ignoreRanges.length !== 0) { + if (ignoreRanges.length > 0) { const ignoreRange = ignoreRanges[0]; if (index === ignoreRange.start.index) { - return concat$j([children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]); + return [children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]; } if (ignoreRange.start.index < index && index < ignoreRange.end.index) { @@ -49961,21 +53978,22 @@ function printRoot(path, options, print) { } } - return childPath.call(print); + return print(); } }); } -function printChildren$1(path, options, print, events) { - events = events || {}; - const postprocessor = events.postprocessor || concat$j; +function printChildren$2(path, options, print, events = {}) { + const { + postprocessor + } = events; - const processor = events.processor || (childPath => childPath.call(print)); + const processor = events.processor || (() => print()); const node = path.getValue(); const parts = []; let lastChildNode; - path.map((childPath, index) => { + path.each((childPath, index) => { const childNode = childPath.getValue(); const result = processor(childPath, index); @@ -49987,22 +54005,22 @@ function printChildren$1(path, options, print, events) { options }; - if (!shouldNotPrePrintHardline(childNode, data)) { - parts.push(hardline$e); // Can't find a case to pass `shouldPrePrintTripleHardline` + if (shouldPrePrintHardline(childNode, data)) { + parts.push(hardline$5); // Can't find a case to pass `shouldPrePrintTripleHardline` /* istanbul ignore next */ if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$e); + parts.push(hardline$5); } } else { if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$e); + parts.push(hardline$5); } if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$e); + parts.push(hardline$5); } } } @@ -50011,14 +54029,14 @@ function printChildren$1(path, options, print, events) { lastChildNode = childNode; } }, "children"); - return postprocessor(parts); + return postprocessor ? postprocessor(parts) : parts; } -function getLastDescendantNode(node) { +function getLastDescendantNode$2(node) { let current = node; - while (current.children && current.children.length !== 0) { - current = current.children[current.children.length - 1]; + while (isNonEmptyArray$2(current.children)) { + current = getLast$2(current.children); } return current; @@ -50026,7 +54044,7 @@ function getLastDescendantNode(node) { /** @return {false | 'next' | 'start' | 'end'} */ -function isPrettierIgnore(node) { +function isPrettierIgnore$2(node) { if (node.type !== "html") { return false; } @@ -50035,11 +54053,11 @@ function isPrettierIgnore(node) { return match === null ? false : match[1] ? match[1] : "next"; } -function shouldNotPrePrintHardline(node, data) { +function shouldPrePrintHardline(node, data) { const isFirstNode = data.parts.length === 0; - const isInlineNode = INLINE_NODE_TYPES$1.includes(node.type); - const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES$1.includes(data.parentNode.type); - return isFirstNode || isInlineNode || isInlineHTML; + const isInlineNode = INLINE_NODE_TYPES.includes(node.type); + const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES.includes(data.parentNode.type); + return !isFirstNode && !isInlineNode && !isInlineHTML; } function shouldPrePrintDoubleHardline(node, data) { @@ -50047,7 +54065,7 @@ function shouldPrePrintDoubleHardline(node, data) { const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; const isPrevNodeLooseListItem = data.prevNode && data.prevNode.type === "listItem" && data.prevNode.loose; - const isPrevNodePrettierIgnore = isPrettierIgnore(data.prevNode) === "next"; + const isPrevNodePrettierIgnore = isPrettierIgnore$2(data.prevNode) === "next"; const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && data.prevNode && data.prevNode.type === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && data.prevNode && data.prevNode.type === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); @@ -50060,20 +54078,22 @@ function shouldPrePrintTripleHardline(node, data) { } function shouldRemainTheSameContent(path) { - const ancestorNode = getAncestorNode$2(path, ["linkReference", "imageReference"]); + const ancestorNode = getAncestorNode(path, ["linkReference", "imageReference"]); return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); } +/** + * @param {string} url + * @param {string[] | string} [dangerousCharOrChars] + * @returns {string} + */ -function printUrl(url, dangerousCharOrChars) { - const dangerousChars = [" "].concat(dangerousCharOrChars || []); + +function printUrl(url, dangerousCharOrChars = []) { + const dangerousChars = [" ", ...(Array.isArray(dangerousCharOrChars) ? dangerousCharOrChars : [dangerousCharOrChars])]; return new RegExp(dangerousChars.map(x => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; } -function printTitle(title, options, printSpace) { - if (printSpace == null) { - printSpace = true; - } - +function printTitle(title, options, printSpace = true) { if (!title) { return ""; } @@ -50102,82 +54122,42 @@ function clamp(value, min, max) { return value < min ? min : value > max ? max : value; } -function clean$5(ast, newObj, parent) { - delete newObj.position; - delete newObj.raw; // front-matter - // for codeblock - - if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { - delete newObj.value; - } - - if (ast.type === "list") { - delete newObj.isAligned; - } - - if (ast.type === "list" || ast.type === "listItem") { - delete newObj.spread; - delete newObj.loose; - } // texts can be splitted or merged - - - if (ast.type === "text") { - return null; - } - - if (ast.type === "inlineCode") { - newObj.value = ast.value.replace(/[\t\n ]+/g, " "); - } - - if (ast.type === "definition" || ast.type === "linkReference") { - newObj.label = ast.label.trim().replace(/[\t\n ]+/g, " ").toLowerCase(); - } - - if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { - newObj.title = ast.title.replace(/\\(["')])/g, "$1"); - } // for insert pragma - - - if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode$3(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && pragma$3.startWithPragma(ast.value)) { - return null; - } -} - function hasPrettierIgnore$4(path) { - const index = +path.getName(); + const index = Number(path.getName()); if (index === 0) { return false; } const prevNode = path.getParentNode().children[index - 1]; - return isPrettierIgnore(prevNode) === "next"; + return isPrettierIgnore$2(prevNode) === "next"; } var printerMarkdown = { - preprocess: preprocess_1$1, - print: genericPrint$4, - embed: embed_1$2, - massageAstNode: clean$5, + preprocess: printPreprocess$2, + print: genericPrint$2, + embed: embed_1$1, + massageAstNode: clean_1$1, hasPrettierIgnore: hasPrettierIgnore$4, - insertPragma: pragma$3.insertPragma + insertPragma: insertPragma$4 }; -var options$5 = { +var options$2 = { proseWrap: commonOptions.proseWrap, singleQuote: commonOptions.singleQuote }; -var name$f = "Markdown"; -var type$d = "prose"; -var aliases$4 = [ +var name$3 = "Markdown"; +var type$3 = "prose"; +var color$3 = "#083fa1"; +var aliases$2 = [ "pandoc" ]; -var aceMode$d = "markdown"; -var codemirrorMode$a = "gfm"; -var codemirrorMimeType$a = "text/x-gfm"; +var aceMode$3 = "markdown"; +var codemirrorMode$2 = "gfm"; +var codemirrorMimeType$2 = "text/x-gfm"; var wrap = true; -var extensions$d = [ +var extensions$3 = [ ".md", ".markdown", ".mdown", @@ -50187,52 +54167,36 @@ var extensions$d = [ ".mkdn", ".mkdown", ".ronn", + ".scd", ".workbook" ]; -var filenames$3 = [ +var filenames$1 = [ "contents.lr" ]; -var tmScope$d = "source.gfm"; -var languageId$d = 222; -var Markdown = { - name: name$f, - type: type$d, - aliases: aliases$4, - aceMode: aceMode$d, - codemirrorMode: codemirrorMode$a, - codemirrorMimeType: codemirrorMimeType$a, +var tmScope$3 = "source.gfm"; +var languageId$3 = 222; +var require$$0$2 = { + name: name$3, + type: type$3, + color: color$3, + aliases: aliases$2, + aceMode: aceMode$3, + codemirrorMode: codemirrorMode$2, + codemirrorMimeType: codemirrorMimeType$2, wrap: wrap, - extensions: extensions$d, - filenames: filenames$3, - tmScope: tmScope$d, - languageId: languageId$d + extensions: extensions$3, + filenames: filenames$1, + tmScope: tmScope$3, + languageId: languageId$3 }; -var Markdown$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - name: name$f, - type: type$d, - aliases: aliases$4, - aceMode: aceMode$d, - codemirrorMode: codemirrorMode$a, - codemirrorMimeType: codemirrorMimeType$a, - wrap: wrap, - extensions: extensions$d, - filenames: filenames$3, - tmScope: tmScope$d, - languageId: languageId$d, - 'default': Markdown -}); - -var require$$0$6 = getCjsExportFromNamespace(Markdown$1); - -const languages$4 = [createLanguage(require$$0$6, data => ({ +const languages$3 = [createLanguage(require$$0$2, data => ({ since: "1.8.0", parsers: ["markdown"], vscodeLanguageIds: ["markdown"], - filenames: data.filenames.concat(["README"]), + filenames: [...data.filenames, "README"], extensions: data.extensions.filter(extension => extension !== ".mdx") -})), createLanguage(require$$0$6, () => ({ +})), createLanguage(require$$0$2, () => ({ name: "MDX", since: "1.15.0", parsers: ["mdx"], @@ -50240,10 +54204,10 @@ const languages$4 = [createLanguage(require$$0$6, data => ({ filenames: [], extensions: [".mdx"] }))]; -const printers$4 = { +const printers$1 = { mdast: printerMarkdown }; -const parsers$4 = { +const parsers$2 = { /* istanbul ignore next */ get remark() { return require("./parser-markdown").parsers.remark; @@ -50259,29 +54223,24 @@ const parsers$4 = { }; var languageMarkdown = { - languages: languages$4, - options: options$5, - printers: printers$4, - parsers: parsers$4 + languages: languages$3, + options: options$2, + printers: printers$1, + parsers: parsers$2 }; const { - isFrontMatterNode: isFrontMatterNode$4 -} = util; - -var clean$6 = function (ast, newNode) { - delete newNode.sourceSpan; - delete newNode.startSourceSpan; - delete newNode.endSourceSpan; - delete newNode.nameSpan; - delete newNode.valueSpan; + isFrontMatterNode: isFrontMatterNode$1 +} = util$5; +const ignoredProperties = new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); +function clean$1(ast, newNode) { if (ast.type === "text" || ast.type === "comment") { return null; } // may be formatted by multiparser - if (isFrontMatterNode$4(ast) || ast.type === "yaml" || ast.type === "toml") { + if (isFrontMatterNode$1(ast) || ast.type === "yaml" || ast.type === "toml") { return null; } @@ -50292,9 +54251,12 @@ var clean$6 = function (ast, newNode) { if (ast.type === "docType") { delete newNode.value; } -}; +} -var index$1 = [ +clean$1.ignoredProperties = ignoredProperties; +var clean_1 = clean$1; + +var htmlTagNames = [ "a", "abbr", "acronym", @@ -50445,11 +54407,6 @@ var index$1 = [ "xmp" ]; -var htmlTagNames = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': index$1 -}); - var a = [ "accesskey", "charset", @@ -50572,10 +54529,10 @@ var colgroup = [ "valign", "width" ]; -var data$1 = [ +var data = [ "value" ]; -var del$1 = [ +var del = [ "cite", "datetime" ]; @@ -50597,7 +54554,7 @@ var div = [ var dl = [ "compact" ]; -var embed$3 = [ +var embed$2 = [ "height", "src", "type", @@ -50677,6 +54634,7 @@ var iframe = [ "allowusermedia", "frameborder", "height", + "loading", "longdesc", "marginheight", "marginwidth", @@ -50697,6 +54655,7 @@ var img = [ "height", "hspace", "ismap", + "loading", "longdesc", "name", "referrerpolicy", @@ -50766,11 +54725,12 @@ var li = [ "type", "value" ]; -var link$3 = [ +var link = [ "as", "charset", "color", "crossorigin", + "disabled", "href", "hreflang", "imagesizes", @@ -50786,7 +54746,7 @@ var link$3 = [ "title", "type" ]; -var map$1 = [ +var map = [ "name" ]; var menu = [ @@ -50895,7 +54855,7 @@ var select = [ var slot = [ "name" ]; -var source$2 = [ +var source = [ "media", "sizes", "src", @@ -51021,7 +54981,7 @@ var video = [ "src", "width" ]; -var index$2 = { +var htmlElementAttributes = { "*": [ "accesskey", "autocapitalize", @@ -51065,15 +55025,15 @@ var index$2 = { caption: caption, col: col, colgroup: colgroup, - data: data$1, - del: del$1, + data: data, + del: del, details: details, dfn: dfn, dialog: dialog, dir: dir, div: div, dl: dl, - embed: embed$3, + embed: embed$2, fieldset: fieldset, font: font, form: form, @@ -51096,8 +55056,8 @@ var index$2 = { label: label, legend: legend, li: li, - link: link$3, - map: map$1, + link: link, + map: map, menu: menu, meta: meta, meter: meter, @@ -51114,7 +55074,7 @@ var index$2 = { script: script, select: select, slot: slot, - source: source$2, + source: source, style: style, table: table, tbody: tbody, @@ -51130,91 +55090,7 @@ var index$2 = { video: video }; -var htmlElementAttributes = /*#__PURE__*/Object.freeze({ - __proto__: null, - a: a, - abbr: abbr, - applet: applet, - area: area, - audio: audio, - base: base, - basefont: basefont, - bdo: bdo, - blockquote: blockquote, - body: body, - br: br, - button: button, - canvas: canvas, - caption: caption, - col: col, - colgroup: colgroup, - data: data$1, - del: del$1, - details: details, - dfn: dfn, - dialog: dialog, - dir: dir, - div: div, - dl: dl, - embed: embed$3, - fieldset: fieldset, - font: font, - form: form, - frame: frame, - frameset: frameset, - h1: h1, - h2: h2, - h3: h3, - h4: h4, - h5: h5, - h6: h6, - head: head, - hr: hr, - html: html, - iframe: iframe, - img: img, - input: input, - ins: ins, - isindex: isindex, - label: label, - legend: legend, - li: li, - link: link$3, - map: map$1, - menu: menu, - meta: meta, - meter: meter, - object: object, - ol: ol, - optgroup: optgroup, - option: option, - output: output, - p: p, - param: param, - pre: pre, - progress: progress, - q: q, - script: script, - select: select, - slot: slot, - source: source$2, - style: style, - table: table, - tbody: tbody, - td: td, - textarea: textarea, - tfoot: tfoot, - th: th, - thead: thead, - time: time, - tr: tr, - track: track, - ul: ul, - video: video, - 'default': index$2 -}); - -var json$1 = { +var require$$1$1 = { "CSS_DISPLAY_TAGS": { "area": "none", "base": "none", @@ -51310,22 +55186,23 @@ var json$1 = { "CSS_WHITE_SPACE_DEFAULT": "normal" }; -var htmlTagNames$1 = getCjsExportFromNamespace(htmlTagNames); +/** + * @typedef {import("../common/ast-path")} AstPath + */ -var htmlElementAttributes$1 = getCjsExportFromNamespace(htmlElementAttributes); const { - getParserName: getParserName$2, - isFrontMatterNode: isFrontMatterNode$5 -} = util; + inferParserByLanguage, + isFrontMatterNode +} = util$5; const { CSS_DISPLAY_TAGS, CSS_DISPLAY_DEFAULT, CSS_WHITE_SPACE_TAGS, CSS_WHITE_SPACE_DEFAULT -} = json$1; -const HTML_TAGS = arrayToMap(htmlTagNames$1); -const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes$1, arrayToMap); // https://infra.spec.whatwg.org/#ascii-whitespace +} = require$$1$1; +const HTML_TAGS = arrayToMap(htmlTagNames); +const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); // https://infra.spec.whatwg.org/#ascii-whitespace const HTML_WHITESPACE = new Set(["\t", "\n", "\f", "\r", " "]); @@ -51333,18 +55210,18 @@ const htmlTrimStart = string => string.replace(/^[\t\n\f\r ]+/, ""); const htmlTrimEnd = string => string.replace(/[\t\n\f\r ]+$/, ""); -const htmlTrim = string => htmlTrimStart(htmlTrimEnd(string)); +const htmlTrim$1 = string => htmlTrimStart(htmlTrimEnd(string)); const htmlTrimLeadingBlankLines = string => string.replace(/^[\t\f\r ]*?\n/g, ""); -const htmlTrimPreserveIndentation = string => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); +const htmlTrimPreserveIndentation$1 = string => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); -const splitByHtmlWhitespace = string => string.split(/[\t\n\f\r ]+/); +const splitByHtmlWhitespace$1 = string => string.split(/[\t\n\f\r ]+/); const getLeadingHtmlWhitespace = string => string.match(/^[\t\n\f\r ]*/)[0]; -const getLeadingAndTrailingHtmlWhitespace = string => { - const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)([\S\s]*?)([\t\n\f\r ]*)$/); +const getLeadingAndTrailingHtmlWhitespace$1 = string => { + const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s); return { leadingWhitespace, trailingWhitespace, @@ -51352,7 +55229,7 @@ const getLeadingAndTrailingHtmlWhitespace = string => { }; }; -const hasHtmlWhitespace = string => /[\t\n\f\r ]/.test(string); +const hasHtmlWhitespace$1 = string => /[\t\n\f\r ]/.test(string); function arrayToMap(array) { const map = Object.create(null); @@ -51367,14 +55244,14 @@ function arrayToMap(array) { function mapObject(object, fn) { const newObject = Object.create(null); - for (const key of Object.keys(object)) { - newObject[key] = fn(object[key], key); + for (const [key, value] of Object.entries(object)) { + newObject[key] = fn(value, key); } return newObject; } -function shouldPreserveContent(node, options) { +function shouldPreserveContent$1(node, options) { // unterminated node in ie conditional comment // e.g. if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { @@ -51388,18 +55265,18 @@ function shouldPreserveContent(node, options) { } // TODO: handle non-text children in
 
 
-  if (isPreLikeNode(node) && node.children.some(child => child.type !== "text" && child.type !== "interpolation")) {
+  if (isPreLikeNode$1(node) && node.children.some(child => child.type !== "text" && child.type !== "interpolation")) {
     return true;
   }
 
-  if (isVueNonHtmlBlock(node, options) && !isScriptLikeTag(node) && node.type !== "interpolation") {
+  if (isVueNonHtmlBlock$1(node, options) && !isScriptLikeTag$1(node) && node.type !== "interpolation") {
     return true;
   }
 
   return false;
 }
 
-function hasPrettierIgnore$5(node) {
+function hasPrettierIgnore$3(node) {
   /* istanbul ignore next */
   if (node.type === "attribute") {
     return false;
@@ -51423,8 +55300,8 @@ function isPrettierIgnore$1(node) {
   return node.type === "comment" && node.value.trim() === "prettier-ignore";
 }
 
-function getPrettierIgnoreAttributeCommentData(value) {
-  const match = value.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);
+function getPrettierIgnoreAttributeCommentData$1(value) {
+  const match = value.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);
 
   if (!match) {
     return false;
@@ -51439,27 +55316,27 @@ function getPrettierIgnoreAttributeCommentData(value) {
 /** there's no opening/closing tag or it's considered not breakable */
 
 
-function isTextLikeNode(node) {
+function isTextLikeNode$1(node) {
   return node.type === "text" || node.type === "comment";
 }
 
-function isScriptLikeTag(node) {
+function isScriptLikeTag$1(node) {
   return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style"));
 }
 
-function canHaveInterpolation(node) {
-  return node.children && !isScriptLikeTag(node);
+function canHaveInterpolation$1(node) {
+  return node.children && !isScriptLikeTag$1(node);
 }
 
-function isWhitespaceSensitiveNode(node) {
-  return isScriptLikeTag(node) || node.type === "interpolation" || isIndentationSensitiveNode(node);
+function isWhitespaceSensitiveNode$1(node) {
+  return isScriptLikeTag$1(node) || node.type === "interpolation" || isIndentationSensitiveNode$1(node);
 }
 
-function isIndentationSensitiveNode(node) {
+function isIndentationSensitiveNode$1(node) {
   return getNodeCssStyleWhiteSpace(node).startsWith("pre");
 }
 
-function isLeadingSpaceSensitiveNode(node, options) {
+function isLeadingSpaceSensitiveNode$1(node, options) {
   const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode();
 
   if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) {
@@ -51469,7 +55346,7 @@ function isLeadingSpaceSensitiveNode(node, options) {
   return isLeadingSpaceSensitive;
 
   function _isLeadingSpaceSensitiveNode() {
-    if (isFrontMatterNode$5(node)) {
+    if (isFrontMatterNode(node)) {
       return false;
     }
 
@@ -51481,11 +55358,11 @@ function isLeadingSpaceSensitiveNode(node, options) {
       return false;
     }
 
-    if (isPreLikeNode(node.parent)) {
+    if (isPreLikeNode$1(node.parent)) {
       return true;
     }
 
-    if (!node.prev && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
+    if (!node.prev && (node.parent.type === "root" || isPreLikeNode$1(node) && node.parent || isScriptLikeTag$1(node.parent) || isVueCustomBlock$1(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
       return false;
     }
 
@@ -51497,8 +55374,8 @@ function isLeadingSpaceSensitiveNode(node, options) {
   }
 }
 
-function isTrailingSpaceSensitiveNode(node, options) {
-  if (isFrontMatterNode$5(node)) {
+function isTrailingSpaceSensitiveNode$1(node, options) {
+  if (isFrontMatterNode(node)) {
     return false;
   }
 
@@ -51510,11 +55387,11 @@ function isTrailingSpaceSensitiveNode(node, options) {
     return false;
   }
 
-  if (isPreLikeNode(node.parent)) {
+  if (isPreLikeNode$1(node.parent)) {
     return true;
   }
 
-  if (!node.next && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
+  if (!node.next && (node.parent.type === "root" || isPreLikeNode$1(node) && node.parent || isScriptLikeTag$1(node.parent) || isVueCustomBlock$1(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
     return false;
   }
 
@@ -51525,27 +55402,27 @@ function isTrailingSpaceSensitiveNode(node, options) {
   return true;
 }
 
-function isDanglingSpaceSensitiveNode(node) {
-  return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag(node);
+function isDanglingSpaceSensitiveNode$1(node) {
+  return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag$1(node);
 }
 
-function forceNextEmptyLine(node) {
-  return isFrontMatterNode$5(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line;
+function forceNextEmptyLine$1(node) {
+  return isFrontMatterNode(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line;
 }
 /** firstChild leadingSpaces and lastChild trailingSpaces */
 
 
-function forceBreakContent(node) {
-  return forceBreakChildren(node) || node.type === "element" && node.children.length !== 0 && (["body", "script", "style"].includes(node.name) || node.children.some(child => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild));
+function forceBreakContent$1(node) {
+  return forceBreakChildren$1(node) || node.type === "element" && node.children.length > 0 && (["body", "script", "style"].includes(node.name) || node.children.some(child => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild));
 }
 /** spaces between children */
 
 
-function forceBreakChildren(node) {
-  return node.type === "element" && node.children.length !== 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell");
+function forceBreakChildren$1(node) {
+  return node.type === "element" && node.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell");
 }
 
-function preferHardlineAsLeadingSpaces(node) {
+function preferHardlineAsLeadingSpaces$1(node) {
   return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node);
 }
 
@@ -51579,8 +55456,8 @@ function preferHardlineAsSurroundingSpaces(node) {
   return false;
 }
 
-function getLastDescendant(node) {
-  return node.lastChild ? getLastDescendant(node.lastChild) : node;
+function getLastDescendant$1(node) {
+  return node.lastChild ? getLastDescendant$1(node.lastChild) : node;
 }
 
 function hasNonTextChild(node) {
@@ -51636,7 +55513,7 @@ function inferStyleParser(node) {
   }
 }
 
-function inferScriptParser(node, options) {
+function inferScriptParser$1(node, options) {
   if (node.name === "script" && !node.attrMap.src) {
     if (!node.attrMap.lang && !node.attrMap.type) {
       return "babel";
@@ -51649,8 +55526,8 @@ function inferScriptParser(node, options) {
     return inferStyleParser(node);
   }
 
-  if (options && isVueNonHtmlBlock(node, options)) {
-    return _inferScriptParser(node) || !("src" in node.attrMap) && getParserName$2(node.attrMap.lang, options);
+  if (options && isVueNonHtmlBlock$1(node, options)) {
+    return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage(node.attrMap.lang, options);
   }
 }
 
@@ -51678,11 +55555,16 @@ function isDanglingSpaceSensitiveCssDisplay(cssDisplay) {
   return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
 }
 
-function isPreLikeNode(node) {
+function isPreLikeNode$1(node) {
   return getNodeCssStyleWhiteSpace(node).startsWith("pre");
 }
+/**
+ * @param {AstPath} path
+ * @param {(any) => boolean} predicate
+ */
 
-function countParents(path, predicate) {
+
+function countParents$1(path, predicate) {
   let counter = 0;
 
   for (let i = path.stack.length - 1; i >= 0; i--) {
@@ -51710,7 +55592,7 @@ function hasParent(node, fn) {
   return false;
 }
 
-function getNodeCssStyleDisplay(node, options) {
+function getNodeCssStyleDisplay$1(node, options) {
   if (node.prev && node.prev.type === "comment") {
     // 
     const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
@@ -51758,7 +55640,7 @@ function getNodeCssStyleWhiteSpace(node) {
 }
 
 function getMinIndentation(text) {
-  let minIndentation = Infinity;
+  let minIndentation = Number.POSITIVE_INFINITY;
 
   for (const lineText of text.split("\n")) {
     if (lineText.length === 0) {
@@ -51780,18 +55662,18 @@ function getMinIndentation(text) {
     }
   }
 
-  return minIndentation === Infinity ? 0 : minIndentation;
+  return minIndentation === Number.POSITIVE_INFINITY ? 0 : minIndentation;
 }
 
-function dedentString(text, minIndent = getMinIndentation(text)) {
+function dedentString$1(text, minIndent = getMinIndentation(text)) {
   return minIndent === 0 ? text : text.split("\n").map(lineText => lineText.slice(minIndent)).join("\n");
 }
 
-function shouldNotPrintClosingTag(node, options) {
-  return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore$5(node) || shouldPreserveContent(node.parent, options));
+function shouldNotPrintClosingTag$1(node, options) {
+  return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore$3(node) || shouldPreserveContent$1(node.parent, options));
 }
 
-function countChars(text, char) {
+function countChars$1(text, char) {
   let counter = 0;
 
   for (let i = 0; i < text.length; i++) {
@@ -51803,7 +55685,7 @@ function countChars(text, char) {
   return counter;
 }
 
-function unescapeQuoteEntities(text) {
+function unescapeQuoteEntities$1(text) {
   return text.replace(/'/g, "'").replace(/"/g, '"');
 } // top-level elements (excluding